[go: up one dir, main page]

WO2020003740A1 - 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム - Google Patents

画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム Download PDF

Info

Publication number
WO2020003740A1
WO2020003740A1 PCT/JP2019/018257 JP2019018257W WO2020003740A1 WO 2020003740 A1 WO2020003740 A1 WO 2020003740A1 JP 2019018257 W JP2019018257 W JP 2019018257W WO 2020003740 A1 WO2020003740 A1 WO 2020003740A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
quantization
quantization matrix
unit
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2019/018257
Other languages
English (en)
French (fr)
Inventor
真悟 志摩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of WO2020003740A1 publication Critical patent/WO2020003740A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Definitions

  • the present invention relates to an image encoding device, an image decoding device, a control method thereof, and a program.
  • HEVC High Efficiency Video Coding
  • a basic block having a size larger than that of a conventional macroblock (16 ⁇ 16 pixels) is employed to improve coding efficiency.
  • This large-sized basic block is called a CTU (Coding @ Tree @ Unit), and its size is a maximum of 64 ⁇ 64 pixels.
  • the CTU is further divided into sub-blocks that are units for performing prediction and conversion.
  • Patent Literature 1 discloses a technique for encoding such a quantization matrix.
  • JVET Joint Video Experts Team
  • VVC Versatile Video Coding coding method
  • the present invention has been made to solve the above-described problem, and is to provide a technique for suppressing a code amount when a quantization matrix set according to a shape of an orthogonal transform is coded. It is.
  • an image encoding device of the present invention has the following configuration. That is, An image encoding device that encodes an image, Dividing means for dividing the image to be encoded into any of a plurality of types of rectangular blocks set in advance, Generating means for generating a plurality of types of quantization matrices respectively corresponding to the plurality of types of rectangular blocks; A first encoding unit that encodes each of the quantization matrices generated by the generation unit in accordance with a scanning order according to each shape; Quantizing means for frequency-converting the image of the rectangular block of interest obtained by the dividing means and quantizing the obtained transform coefficient using a quantization matrix according to the shape of the rectangular block of interest, A second encoding unit that encodes the quantized transform coefficient obtained by the quantization unit; An integrating means for integrating the encoded data obtained by the first encoding means and the encoded data obtained by the second encoding means.
  • the present invention it is possible to adaptively suppress the code amount of the quantization matrix itself for a plurality of types of quantization matrices.
  • FIG. 1 is a block diagram of an image encoding device according to an embodiment.
  • FIG. 2 is a block diagram of an image decoding apparatus according to the embodiment.
  • 9 is a flowchart illustrating an encoding process in the image encoding device according to the embodiment.
  • 9 is a flowchart illustrating a decoding process in the image decoding device according to the embodiment.
  • FIG. 2 is a hardware configuration diagram of a computer applicable to the image encoding device and the decoding device according to the embodiment.
  • FIG. 1 is a block diagram of an image encoding device according to an embodiment.
  • FIG. 2 is a block diagram of an image decoding apparatus according to the embodiment.
  • 9 is a flowchart illustrating an encoding process in the image encoding device according to the embodiment.
  • 9 is a flowchart illustrating a decoding process in the image decoding device according to the embodiment.
  • FIG. 2 is a hardware configuration diagram of a computer applicable to the image encoding device and the decoding
  • FIG. 3 is a diagram illustrating an example of a bit stream structure generated by the image encoding device according to the embodiment.
  • FIG. 3 is a diagram illustrating an example of a bit stream structure generated by the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of block division in the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of block division in the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of block division in the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of block division in the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of block division in the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of block division in the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of block division in the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of a quantization matrix used in the embodiment.
  • FIG. 4 is a diagram illustrating an example of a quantization matrix used in the embodiment.
  • FIG. 4 is a diagram illustrating an example of a quantization matrix used in the embodiment.
  • FIG. 4 is a diagram illustrating an example of a quantization matrix used in the embodiment.
  • FIG. 4 is a diagram illustrating an example of a quantization matrix used in the embodiment.
  • FIG. 4 is a diagram illustrating an example of a quantization matrix used in the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of block division in the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of a quantization matrix used in the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 4 is a diagram illustrating a method for scanning elements of a quantization matrix according to the embodiment.
  • FIG. 5 is a diagram illustrating an example of a difference value matrix of a quantization matrix generated in the embodiment.
  • FIG. 5 is a diagram illustrating an example of a difference value matrix of a quantization matrix generated in the embodiment.
  • FIG. 5 is a diagram illustrating an example of a difference value matrix of a quantization matrix generated in the embodiment.
  • FIG. 9 is a diagram illustrating an example of an encoding table used for encoding a difference value of a quantization matrix.
  • FIG. 9 is a diagram illustrating an example of an encoding table used for encoding a difference value of a quantization matrix.
  • FIG. 1 is a block diagram of the image encoding apparatus according to the present embodiment.
  • the image encoding device includes a control unit 150 that controls the entire device.
  • the control unit 150 has a CPU, a ROM for storing programs executed by the CPU, and a RAM used as a work area of the CPU.
  • the image encoding apparatus includes an input terminal 101, a block division unit 102, a quantization matrix holding unit 103, a prediction unit 104, a transformation / quantization unit 105, an inverse quantization / inverse transformation unit 106, an image reproduction unit 107, a frame It includes a memory 108, an in-loop filter unit 109, an encoding unit 110, an integrated encoding unit 111, an output terminal 112, and a quantization matrix encoding unit 113.
  • the input terminal 101 inputs the image data to be encoded generated by the image data generation source on a frame basis.
  • the type of the image data generation source is not limited, such as an imaging device, a file server or a storage medium storing image data to be encoded.
  • the output terminal 112 outputs the encoded data to the output destination device.
  • the output destination device is not particularly limited, such as a storage medium or a file server.
  • the block dividing unit 102 divides the encoding target image data input from the input terminal 101 into a plurality of basic blocks, and sequentially outputs one of the basic blocks to the prediction unit 104 in the subsequent stage as a basic block of interest.
  • the quantization matrix holding unit 103 is a rectangular block (including a positive direction and a rectangle), generates a plurality of types of quantization matrices, and holds them in an internal memory. Although there is no particular limitation on the method of generating the quantization matrix, the user may input the quantization matrix, calculate from the characteristics of the input image, or use a preset value as the initial value. .
  • the quantization matrix holding unit 103 according to the present embodiment generates and holds a two-dimensional quantization matrix corresponding to the orthogonal transformation of 8 ⁇ 8 pixels, 4 ⁇ 8 pixels, and 8 ⁇ 4 pixels shown in FIGS. 8A to 8C. It is assumed that
  • the quantization matrix refers to a matrix having components for weighting the transform coefficients after the orthogonal transform according to the frequency components. Note that the quantization matrix may be called a scaling list.
  • the prediction unit 104 determines the type of block division with respect to the image data in the basic block unit, and refers to the frame memory 108 in the sub-block unit to refer to the frame memory 108 for intra prediction as intra-frame prediction and inter prediction as inter-frame prediction. And the like to generate predicted image data. Further, a prediction error is calculated from the input image data and the predicted image data and output.
  • the prediction unit 104 also outputs information necessary for prediction, such as sub-block division, a prediction mode, and information (motion vector) for specifying the location of prediction data, along with prediction errors.
  • information necessary for this prediction is referred to as prediction information.
  • Transform / quantization section 105 performs orthogonal transformation (frequency transformation) on the prediction error input from prediction section 104 in subblock units to obtain a transformation coefficient. Then, the transform / quantization unit 105 quantizes the obtained transform coefficient using the quantization matrix stored in the quantization matrix holding unit 103, and obtains a quantized coefficient.
  • the inverse quantization / inverse transform unit 106 inversely quantizes the quantized coefficient output from the transform / quantization unit 105 using the quantization matrix stored in the quantization matrix holding unit 103, and transforms the transform coefficient.
  • the prediction error is reproduced, and the prediction error is reproduced by the inverse orthogonal transform.
  • the image reproduction unit 107 generates predicted image data by appropriately referring to the frame memory 108 based on the prediction information output from the prediction unit 104. Then, the image reproducing unit 107 generates reproduced image data by adding the prediction error from the inverse quantization / inverse transforming unit 106 to the predicted image data, and stores the reproduced image data in the frame memory 108.
  • the in-loop filter unit 109 performs an in-loop filter process such as a deblocking filter or a sample adaptive offset on the reproduced image reproduced by the image reproducing unit 107, and stores the filtered image in the frame memory 108 again.
  • an in-loop filter process such as a deblocking filter or a sample adaptive offset on the reproduced image reproduced by the image reproducing unit 107
  • Encoding section 110 encodes the quantized coefficient output from transform / quantization section 105 and the prediction information output from prediction section 104 to generate encoded data, and encodes the encoded data into integrated encoding section 111. Output to
  • the quantization matrix encoding unit 113 encodes the quantization matrix output from the quantization matrix holding unit 103, generates quantization matrix encoded data, and outputs the encoded data to the integrated encoding unit 111. .
  • the integrated encoding unit 111 generates header encoded data for storing encoded data of the quantization matrix output from the quantization matrix encoding unit 113 and the like. Further, integrated coding section 111 forms a bit stream by combining the header code data and the code data output from coding section 110, and outputs the coded data via output terminal 112.
  • moving image data is input in units of frames.
  • still image data for one frame may be used.
  • the process of intra prediction encoding will be described.
  • the present invention is not limited to this and can be applied to the process of inter prediction encoding.
  • the block division unit 101 is described as dividing one frame of image data to be encoded into a plurality of basic blocks of 8 ⁇ 8 pixels, but is not limited thereto.
  • the quantization matrix is encoded.
  • the quantization matrix holding unit 103 holds a quantization matrix generated in advance. Specifically, the quantization matrix is determined according to the size of the sub-block to be encoded. The method of determining each element constituting the quantization matrix is not particularly limited. For example, a predetermined initial value may be used or may be set individually. In addition, it may be generated according to the characteristics of the image.
  • the quantization matrix holding unit 103 holds the quantization matrices shown in FIGS. 8A to 8C.
  • 8A shows a quantization matrix 800 corresponding to an orthogonal transform having an 8 ⁇ 8 pixel size
  • FIG. 8B shows a quantization matrix 801 corresponding to an orthogonal transform having a 4 ⁇ 8 pixel size
  • FIG. 8C shows an orthogonal matrix having an 8 ⁇ 4 pixel size.
  • a quantization matrix 802 corresponding to the transformation is shown.
  • the configuration is 64 ⁇ 8 ⁇ 8 pixels or 32 ⁇ 8 ⁇ 4 or 4 ⁇ 8 pixels, and each square in a thick frame represents each element constituting the quantization matrix.
  • each element in the quantization matrix is not limited to this.
  • another quantization matrix 803 corresponding to the 4 ⁇ 4 pixel size orthogonal transform as shown in FIG. become.
  • a plurality of quantization matrices are held for orthogonal transforms of the same size. It is also possible.
  • the quantization matrix realizes quantization processing according to human visual characteristics
  • the element of the high frequency part corresponding to the lower part has a large value.
  • the quantization matrix encoding unit 113 sequentially reads out the quantization matrices stored in the two-dimensional shape from the quantization matrix holding unit 106, scans each element, calculates a difference, and arranges them in a one-dimensional matrix. After that, it is encoded.
  • each of the quantization matrices shown in FIGS. 8A to 8C uses the scanning method shown in FIGS. 9A, 9B, and 9D, and acquires the difference from the immediately preceding element for each element in the scanning order. Assume that the difference is coded.
  • the quantization matrix encoding unit 113 calculates a difference from a preset initial value. Then, the difference between the subsequent element and the immediately preceding element is obtained. That is, since the second element is “9” located immediately below the first element, “+3” which is the difference from the immediately preceding element (first element) is obtained.
  • the quantization matrix encoding unit 113 obtains this difference operation by scanning in the scanning order shown in FIG. 9A. For elements at the ends of the matrix, the difference between the element in the first row and the second column and the element in the third row and the first column, the difference between the element in the third row and the third column and the fourth row and the first column, etc. In other words, the difference is obtained. It is to be noted that the difference between the respective elements is also obtained by similarly performing the oblique scan as shown in FIG. 9F for the square (square) quantization matrix 803 of 4 ⁇ 4 pixels shown in FIG. 8D. Become.
  • the quantization matrix encoding unit 113 performs a process of scanning vertically (from top to bottom) as shown in FIG. (Low frequency) to the right (high frequency). Specifically, since the first element “6” located at the upper left is the beginning of scanning, the quantization matrix encoding unit 113 acquires a difference from a preset initial value. Then, next, the quantization matrix encoding unit 113 reads the element “9” located immediately below, and acquires “+3” which is a difference from the immediately preceding element (first element).
  • the quantization matrix encoding unit 113 acquires a difference “ ⁇ 24” between the element “13” in the first row and second column and the element “37” in the eighth row and first column.
  • the quantization matrix encoding unit 113 obtains this difference operation by scanning in the scanning order shown in FIG. 9B.
  • the quantization matrix encoding unit 113 performs horizontal (left to right) scanning as shown in FIG. 9D. It moves from the upper side (low frequency) to the lower side (high frequency). Specifically, since the first element “6” located at the upper left is the beginning of scanning, the quantization matrix encoding unit 113 acquires a difference from a preset initial value. Then, next, the quantization matrix encoding unit 113 acquires “+3” which is a difference between the element “9” located on the right of the element and the immediately preceding element (the first element “6”). I do.
  • the quantization matrix encoding unit 113 acquires a difference “ ⁇ 24” between the element “13” in the second row and the first column and the element “37” in the first row and the eighth column.
  • the quantization matrix encoding unit 113 obtains this difference operation by scanning in the scanning order shown in FIG. 9D.
  • the quantization matrix encoding unit 113 sets the initial value to be referred to when calculating the difference of the first element of one quantization matrix to “8”. Value is good. In short, it suffices if the values are common to the encoding side and the decoding side. In particular, when the initial value is “0”, the first element becomes the calculation result as it is.
  • the quantization matrices 800 to 802 in FIGS. 8A to 8C use the scanning methods of FIGS. 9A, 9B, and 9D, respectively, and use the one-dimensional rows 1000 to 1000 of the differences shown in FIGS. 10A to 10C. 1002 is generated.
  • the quantization matrix encoding unit 113 further encodes the difference matrix to generate quantization matrix code data.
  • encoding is performed using the encoding table shown in FIG. 11A.
  • the encoding table is not limited to this.
  • the encoding table shown in FIG. 11B may be used.
  • the quantization matrix code data generated in this way is output to the integrated coding unit 111 at the subsequent stage.
  • the quantization matrix used in the image encoding process generally has an element value that increases from a low-frequency portion located at the upper left to a high-frequency portion located at the lower right. Tend to move.
  • the degree of element increase differs from each other due to the difference in the number of elements in the vertical and horizontal directions. Therefore, in the case of the quantization matrix 801 that is longer in the vertical direction than in the horizontal direction as shown in FIG. 8B, the degree of increase between the elements in the vertical direction is gentle, and the elements are scanned using the vertical scan as shown in FIG. 9B.
  • the difference value between the elements becomes smaller, and as a result, the code amount can be reduced.
  • the quantization matrix 802 that is longer in the horizontal direction than in the vertical direction as shown in FIG. 8C, since the degree of increase between elements in the horizontal direction is gentle, the elements are scanned using a horizontal scan as shown in FIG. 9D. By doing so, the code amount can be reduced as a result.
  • the quantization matrix has been described as having a size of 8 ⁇ 8, 4 ⁇ 8, and 8 ⁇ 4 pixels.
  • N the relationship between the integers N and M
  • N ⁇ N pixels M ⁇ It can be generalized to the size of N pixels and N ⁇ M pixels. Further, other sizes may be included.
  • the quantization matrix holding unit 103 holds the quantization matrix 804 in FIG. 8E.
  • the quantization matrix encoding unit 113 acquires and encodes the difference between the elements of the quantization matrix using the vertical scan illustrated in FIG. 9G.
  • the quantization matrix holding unit 103 holds the quantization matrix 805 in FIG. 8F.
  • the quantization matrix encoding unit 113 acquires and encodes the differences between the elements of the quantization matrix using the horizontal scan shown in FIG. 9H.
  • the integrated encoding unit 111 encodes header information necessary for encoding the image data, and integrates the encoded data of the quantization matrix. At this time, the integrated encoding unit 111 also outputs information indicating the correspondence between the type of the quantization matrix size (for example, 8 ⁇ 8, 4 ⁇ 8, and 8 ⁇ 4) and each piece of quantization matrix encoded data in the header information. Include in. Briefly, if the size type of the quantization matrix is 8 ⁇ 8, 4 ⁇ 8, or 8 ⁇ 4, the quantization matrix encoded data may be stored in the same order. However, the order is not limited to this, and quantization matrix encoded data may be stored in ascending order of 4 ⁇ 8, 8 ⁇ 4, 8 ⁇ 8.
  • the block division unit 102 divides the input image data into a plurality of basic blocks, and outputs an image for each basic block to the prediction unit 104. In the present embodiment, it is assumed that an image of a basic block unit of 8 ⁇ 8 pixels is output.
  • the prediction unit 104 performs a prediction process on the image data in basic block units input from the block division unit 102. Specifically, the type of block division for dividing the basic block into smaller sub-blocks is determined, and intra prediction modes such as horizontal prediction and vertical prediction are determined for each sub-block.
  • FIGS. 7A to 7F show examples of types of block division obtained by dividing a basic block.
  • the bold frames 700 to 705 represent basic blocks, each of which has a configuration of 8 ⁇ 8 pixels for simplicity of description, and each square in the bold frame represents a sub-block.
  • FIG. 7B shows an example of a conventional square sub-block, in which the basic block 701 is divided into four sub-blocks of 4 ⁇ 4 pixel size.
  • 7C to 7F show an example of a rectangular sub-block.
  • FIG. 7C shows an example in which the basic block 702 is divided into two sub-blocks of 4 ⁇ 8 pixel size.
  • FIG. 7A shows an example in which the basic block 702 is divided into two sub-blocks of 4 ⁇ 8 pixel size.
  • FIG. 7D shows an example in which the basic block 702 is divided into two sub-blocks of 8 ⁇ 4 pixel size.
  • FIGS. 7E and 7F show examples in which the basic blocks 704 and 705 are divided into three rectangular sub-blocks at a size ratio of 1: 2: 1, although the division directions are different.
  • the encoding process is performed using not only a square but also a rectangular sub-block.
  • the basic block of 8 ⁇ 8 pixels is not divided into sub-blocks (FIG. 7A), divided along the horizontal direction (FIG. 7C), and divided along the vertical direction (FIG. 7D). Is determined, but the sub-block division method is not limited to this.
  • a quadtree division as shown in FIG. 7B or a ternary tree division as shown in FIGS. 7E and 7F may be used.
  • the prediction unit 104 generates predicted image data of a sub-block from the determined intra prediction mode and the coded pixels, generates a prediction error from the input image data and the predicted image data, and generates a transform / quantization unit 105. Output to Further, the prediction unit 104 outputs information such as the sub-block division and the intra prediction mode to the encoding unit 110 and the image reproduction unit 107 as prediction information.
  • the transform / quantization unit 105 performs orthogonal transformation and further quantization on the input residual indicating the prediction error, and generates a residual coefficient indicating the residual.
  • the transform / quantization unit 105 performs an orthogonal transform process corresponding to the size of the sub-block, and generates an orthogonal transform coefficient.
  • the transform / quantization unit 105 quantizes the orthogonal transform coefficients using the quantization matrix stored in the quantization matrix holding unit 103, and generates a residual coefficient.
  • the quantization matrix 800 in FIG. 8A is used for the sub-block 700 corresponding to FIG. 7A.
  • the quantization matrix 801 shown in FIG. 8B is used for the sub-block 702 in FIG.
  • Transform / quantization section 105 outputs the generated residual coefficient to encoding section 110 and inverse quantization / inverse transform section 106.
  • the inverse quantization / inverse transform unit 106 inversely quantizes the input residual coefficient using the quantization matrix stored in the quantization matrix holding unit 103 to reproduce the transform coefficient. Further, the inverse quantization / inverse transform unit 106 performs an inverse orthogonal transform on the reproduced transform coefficient to reproduce a prediction error. Note that the quantization matrix used by the inverse quantization / inverse transformation unit 106 at the time of the inverse quantization process is a quantization matrix corresponding to the sub-block division used by the transformation / quantization unit 105. The inverse quantization / inverse transform unit 106 outputs the reproduced prediction error to the image reproducing unit 107.
  • the image reproducing unit 107 reproduces a predicted image by appropriately referring to the frame memory 108 based on the prediction information input from the prediction unit 104. Then, the image reproducing unit 107 reproduces image data from the reproduced predicted image and the reproduced prediction error input from the inverse quantization / inverse transform unit 106 and stores the image data in the frame memory 108.
  • the in-loop filter unit 109 reads out the image reproduced by the image reproducing unit 107 from the frame memory 108, and performs an in-loop filter process such as a deblocking filter. Then, the in-loop filter unit 109 stores the filtered image in the frame memory 108 again.
  • the coding unit 110 performs entropy coding of the residual coefficient generated by the transform / quantization unit 105 and the prediction information input from the prediction unit 104 in block units to generate coded data.
  • the method of entropy coding is not particularly specified, but Golomb coding, arithmetic coding, Huffman coding, or the like can be used.
  • encoding section 110 outputs the generated encoded data to integrated encoding section 111.
  • the integrated encoding unit 111 multiplexes the encoded data and the like input from the encoding unit 110 together with the encoded data of the header to form a bit stream. Finally, the bit stream is output from the terminal 112 to the outside.
  • FIG. 6A is an example of a bit stream output in the embodiment.
  • the sequence header contains the code data of the quantization matrix, and is composed of the coding result of each element.
  • the position to be coded is not limited to this, and it goes without saying that a configuration may be adopted in which the coded position is coded in a picture header section or other header sections.
  • the quantization matrix can be updated by newly encoding the quantization matrix.
  • all the quantization matrices may be rewritten, or a part of them may be changed by designating the transform block size of the quantization matrix to be rewritten.
  • FIG. 3 is a flowchart showing an encoding process in the image encoding device according to the embodiment.
  • the control unit 150 controls the quantization matrix holding unit 103 to generate and hold a quantization matrix.
  • the quantization matrix holding unit 103 of this embodiment generates and holds the three types of quantization matrices 800 to 802 shown in FIGS. 8A to 8C.
  • step S302 the control unit 150 controls the quantization matrix encoding unit 113 to scan the quantization matrix generated and held in step S301, calculate the difference between the elements, and generate a difference matrix.
  • the difference matrices shown in FIGS. 10A to 10C are generated by using the scanning methods of FIGS. 9A, 9B, and 9D for the quantization matrices of FIGS. 8A to 8C, respectively.
  • the control unit 150 controls the quantization matrix coding unit 113 to cause the generated difference matrix to be coded and generate quantization matrix coded data.
  • step S303 the control unit 150 controls the integrated encoding unit 111 to encode and output the generated quantization matrix code data and header information necessary for encoding the image data.
  • control unit 150 controls block division unit 102 to divide the input image in frame units into basic block units.
  • control unit 150 controls prediction unit 104, and executes prediction processing on the image data in basic block units generated in S304. Then, the prediction unit 104 generates information on the type of block division obtained by dividing the basic block as shown in FIGS. 7A to 7F, prediction information such as an intra prediction mode, and predicted image data. Note that, as information on the type of block division, the identifier of the type of block division shown in FIGS. 7A to 7F is encoded.
  • an identifier relating to the type of the shape of the sub-block itself (for example, 4 ⁇ 8 pixel size, 8 ⁇ 2 pixel size, etc.) may be encoded. Further, the prediction unit 104 calculates a prediction error from the input image data and the predicted image data.
  • control unit 150 controls transform / quantization unit 105 to perform orthogonal transform on the prediction error calculated in S305, and generate a transform coefficient. Further, the control unit 150 controls the transform / quantization unit 105 to cause the quantization using the quantization matrix generated and held in S301 to generate a residual coefficient.
  • the quantization matrix of FIG. 8A is used for the block division corresponding to FIG. 7A.
  • the quantization matrix of FIG. 8B is used for the block division of FIG. 7C
  • the quantization matrix of FIG. 8C is used for the block division of FIG. 7D.
  • control unit 150 controls inverse quantization / inverse transforming unit 106 to perform inverse quantization on the residual coefficient generated in S305 using the quantization matrix generated and held in S301. And regenerate the transform coefficients.
  • the inverse quantization / inverse transform unit 106 performs inverse orthogonal transform on the transform coefficient and reproduces a prediction error.
  • control unit 150 controls image reproduction unit 107 to reproduce a predicted image based on the prediction information generated in S305. Further, the control unit 150 causes the image reproducing unit 107 to reproduce image data from the reproduced predicted image and the prediction error generated in S307.
  • control unit 159 controls encoding unit 110 to encode the prediction information generated in S305 and the residual coefficient generated in S306, and generate code data.
  • the encoding unit 110 encodes an identifier related to the type of block division shown in FIGS. 7A to 7F.
  • the control unit 150 controls the integrated encoding unit 111 to generate a bit stream including other encoded data.
  • control unit 150 determines whether or not encoding of all basic blocks in the frame has been completed. If it is determined that the processing has been completed, the control unit 150 proceeds to step S311. Otherwise, the control unit 150 returns the processing to step S304 in order to perform target encoding on the next basic block.
  • step S311 the control unit 150 controls the in-loop filter unit 109, performs in-loop filter processing on the image data reproduced in step S308, generates a filtered image, and ends the processing.
  • the quantization matrix and the method of scanning the elements to be used are uniquely determined according to the type of the size of the sub-block.
  • an identifier may be encoded in the header. For example, information indicating whether to use the scanning method shown in FIG. 9B or the scanning method shown in FIG. 9D is encoded in a header portion as a quantization matrix scanning method information code, and the bit stream shown in FIG. It is good also as composition which generates. Thereby, each quantization matrix is scanned in an optimal manner, and a bit stream with a smaller code amount of the quantization matrix can be generated.
  • the vertically long quantization matrix 801 in FIG. 8B is scanned by the vertical scan in FIG. 9B
  • the horizontally long quantization matrix 802 in FIG. 8C is scanned by the horizontal scan in FIG. 9C.
  • the scanning method used is not limited to this.
  • a scanning method as shown in FIG. 9D may be used for the quantization matrix 801 in FIG. 8B, and the elements in the horizontal direction are scanned and encoded before the elements in the horizontal direction. Can be realized.
  • a scanning method as shown in FIG. 9E may be used for the quantization matrix 802 in FIG. 8C.
  • FIG. 2 is a block diagram illustrating a configuration of the image decoding device according to the present embodiment. This image decoding device decodes encoded data generated by the image encoding device of the above-described embodiment.
  • the image decoding device includes a control unit 250 that controls the entire device.
  • the control unit 250 has a CPU, a ROM for storing programs executed by the CPU, and a RAM used as a work area of the CPU.
  • the image decoding apparatus includes an input terminal 201, a separation decoding unit 202, a decoding unit 203, an inverse quantization / inverse conversion unit 204, an image reproduction unit 205, a frame memory 206, an in-loop filter unit 207, an output terminal 208, It has a quantization matrix decoding unit 209.
  • the input terminal 201 is for inputting an encoded bit stream
  • the input source is, for example, a storage medium storing the encoded stream, but may be input from a network, and the type thereof is not limited.
  • the separation / decoding unit 202 separates the input bit stream into information on decoding processing and code data on coefficients. Further, the separation / decoding unit 202 decodes the encoded data existing in the header of the bit stream. The separation / decoding unit 202 of the present embodiment separates the quantization matrix coded data and outputs it to the subsequent stage. The separation / decoding unit 202 also performs the reverse operation of the integrated coding unit 111 in FIG.
  • the quantization matrix decoding unit 209 decodes the quantization matrix code and reproduces the quantization matrix.
  • the decoding unit 203 decodes the encoded data of the image output from the separation decoding unit 202, and reproduces the residual coefficient and the prediction information.
  • the inverse quantization / inverse transform unit 204 performs inverse quantization on the residual coefficient using the reproduced quantization matrix to obtain a transform coefficient, similarly to the inverse quantization / inverse transform unit 106 in FIG. Perform orthogonal transformation to recover the prediction error.
  • the image reproducing unit 205 generates predicted image data by appropriately referring to the frame memory 206 based on the input prediction information. Then, reproduced image data is generated from the predicted image data and the prediction error reproduced by the inverse quantization / inverse transform unit 204, and is stored in the frame memory 206 again.
  • the in-loop filter unit 207 performs an in-loop filter process such as a deblocking filter on the reproduced image stored in the frame memory 206 in the same manner as the in-loop filter unit 109 in FIG. 207 is stored again.
  • the output terminal sequentially outputs the frame images stored in the frame memory 206 to the outside.
  • the output destination is the display device, but may be another device.
  • the image decoding device is configured to input the bit stream generated by the image encoding device according to the embodiment on a frame basis, but may be configured to input a still image bit stream for one frame. Absent. Further, in the present embodiment, only the intra prediction decoding process will be described for ease of description, but the present invention is not limited to this and can be applied to the inter prediction decoding process.
  • the separation / decoding unit 202 separates a bit stream for one frame input via the input terminal 201 into coded data related to decoding processing information and coefficients, and decodes coded data existing in a header part of the bit stream. . More specifically, the separation / decoding unit 202 reproduces the encoded data of the quantization matrix. The separation / decoding section 202 extracts the encoded data of the quantization matrix from the sequence header of the bit stream shown in FIG. 6A and outputs it to the quantization matrix decoding section 209. Subsequently, the separation / decoding unit 202 reproduces the code data of the picture data in basic block units and outputs the code data to the decoding unit 203.
  • the quantization matrix decoding unit 209 first decodes the input quantization matrix code data and reproduces a one-dimensional difference matrix.
  • decoding is performed using the encoding table shown in FIG. 11A.
  • the encoding table is not limited to this, and other encoding tables may be used as long as the same encoding table as in the present embodiment is used. May be.
  • the quantization matrix decoding unit 209 performs reverse scanning on the reproduced one-dimensional difference matrix to reproduce a two-dimensional quantization matrix.
  • scanning similar to that performed by the quantization matrix encoding unit 113 of the present embodiment is performed. That is, the quantization matrix decoding unit 209 of this embodiment uses the scanning methods shown in FIGS. 9A, 9B, and 9D to calculate the difference matrices 1000 to 1002 shown in FIGS. 10A to 10C, respectively.
  • These three types of quantization matrices are reproduced and stored in an internal memory (not shown) of the reproduction matrix.
  • the decoding unit 203 decodes the encoded data of the image and reproduces the quantization coefficient and the prediction information of the block of interest.
  • the decoding unit 203 outputs the reproduced quantization coefficient to the inverse quantization / inverse transformation unit 204, and outputs the reproduced prediction information to the image reproduction unit 205.
  • the inverse quantization / inverse transform unit 204 performs inverse quantization on the input quantized coefficient using the quantization matrix reproduced by the quantization matrix decoding unit 209 to generate an orthogonal transform coefficient. Further, the inverse quantization / inverse transform unit 204 performs an inverse orthogonal transform to reproduce a prediction error. Then, the inverse quantization / inverse transforming unit 204 outputs the reproduced prediction information to the image reproducing unit 205.
  • a quantization matrix to be used is determined according to the type of the size of the sub-block to be decoded. In the present embodiment, the quantization matrix in FIG. 8A is used for the block division corresponding to FIG. 7A. I do. Similarly, the quantization matrix of FIG. 8B is used for the block division of FIG. 7C, and the quantization matrix of FIG. 8C is used for the block division of FIG. 7D.
  • the image reproducing unit 205 refers to the frame memory 206 based on the prediction information input from the decoding unit 203 and reproduces a predicted image.
  • the image reproducing unit 205 reproduces image data by adding the prediction error input from the inverse quantization / inverse transforming unit 204 to the predicted image, and stores the reproduced image data in the frame memory 206. I do.
  • the stored image data is referred to at the time of prediction at the time of decoding the subsequent encoded data.
  • the in-loop filter unit 207 reads a reproduced image from the frame memory 206 and performs in-loop filter processing such as a deblocking filter, similarly to the in-loop filter unit 109 in FIG. Then, the in-loop filter unit 207 stores the filtered image in the frame memory 206 again. The reproduced image stored in the frame memory 206 is finally output from the output terminal 208 to the outside.
  • in-loop filter processing such as a deblocking filter
  • FIG. 4 is a flowchart illustrating a decoding process of the control unit 250 in the image decoding device according to the embodiment.
  • control unit 250 controls the demultiplexing / decoding unit 202 to separate the bit stream from the bit stream into the information on the decoding process and the encoded data on the coefficients, and decode the encoded data in the header part.
  • the separation / decoding section 202 reproduces the quantization matrix code data.
  • the control unit 250 controls the quantization matrix decoding unit 209 to decode the quantization matrix code data reproduced at S401. As a result, a one-dimensional difference matrix as shown in FIGS. 10A to 10C is reproduced. Further, the control unit 250 controls the quantization matrix decoding unit 209, scans the reproduced one-dimensional difference matrix, and reproduces a two-dimensional quantization matrix. That is, the quantization matrix decoding unit 209 converts the difference matrices shown in FIGS. 10A to 10C into the three types of quantization shown in FIGS. 8A to 8C by using the scanning methods shown in FIGS. 9A, 9B, and 9D, respectively. Regenerate the matrix and store it in internal memory.
  • step S403 the control unit 250 controls the decoding unit 203 to decode the encoded data of the image separated in step S401, and reproduce the quantization coefficient and the prediction information.
  • the decoding unit 203 decodes the division information from the bit stream and obtains information on the type of block division as shown in FIGS. 7A to 7F.
  • the identifiers of the types of block division shown in FIGS. 7A to 7F are acquired. It is assumed that the type of block division corresponding to these identifiers is known in the image decoding device. That is, since the control unit 250 can determine the type of block division corresponding to the acquired identifier, it can determine which type of quantization matrix to use. For example, when an identifier related to the type of block division corresponding to FIG. 7C is obtained, the quantization matrix of the sub-block of 4 ⁇ 8 pixels is used twice.
  • identifiers relating to the type of the shape of the sub-block itself for example, 4 ⁇ 8 pixel size, 8 ⁇ 2 pixel size, etc.
  • these identifiers are decoded from the bit stream as information on the type of block division, these identifiers and It is assumed that the type of the corresponding sub-block shape is known.
  • the decoding unit 203 determines a quantization matrix to be used in accordance with the obtained type of block division. For example, when the block division is as shown in FIG. 7C, the quantization matrix of 4 ⁇ 8 pixels shown in FIG. 8B is used twice. When the block division is as shown in FIG. 7E, the 2 ⁇ 8 pixel size quantization matrix of FIG. 8E, the 4 ⁇ 8 pixel size quantization matrix of FIG. 8B, and again the 2 ⁇ 8 pixel size quantization matrix of FIG. 8E are obtained. used.
  • control unit 250 controls the inverse quantization / inverse transformation unit 204 to cause the quantized coefficients to undergo inverse quantization using the quantization matrix reproduced in S402, and , And then perform an inverse orthogonal transform to reproduce the prediction error.
  • control unit 250 controls the image reproduction unit 205 to reproduce the prediction information and the prediction image generated in S403. Further, the control unit 250 controls the image reproducing unit 205 to reproduce the image data from the reproduced predicted image and the prediction error generated in S404.
  • control unit 250 determines whether or not decoding of all basic blocks in the frame has been completed. If the decoding of all the basic blocks has not been completed, the control unit 250 returns the processing to 403, and performs the decoding processing of the next recording block. If decoding of all basic blocks in the frame has been completed, the control unit 250 advances the process to S407. In step S407, the control unit 250 controls the in-loop filter unit 207 to cause the image data reproduced in step S405 to perform in-loop filter processing, and stores the filtered image in the frame memory again. This processing ends.
  • the quantization matrix and the method of scanning the elements to be used are uniquely determined according to the type of the size of the sub-block. May be decoded from the header. For example, a configuration in which information indicating whether to use the scanning method shown in FIG. 9B or the scanning method shown in FIG. 9D is decoded as a quantization matrix scanning method information code from the header portion of the bit stream shown in FIG. 6B. It is good. Thereby, each quantization matrix is scanned in an optimal manner, and a bit stream with a smaller code amount of the quantization matrix can be decoded.
  • the vertical quantization matrix in FIG. 8B is decoded by reverse scanning in the vertical scan in FIG. 9B
  • the horizontal quantization matrix in FIG. 8C is decoded in the horizontal scan in FIG. 9D.
  • the scanning method is not limited to this.
  • a scanning method as shown in FIG. 9C may be used for the vertically long quantization matrix in FIG. 8B.
  • the code amount is similarly reduced.
  • the reduced bit stream can be decoded.
  • a scanning method as shown in FIG. 9E may be used for the horizontally long quantization matrix in FIG. 8C.
  • FIGS. 1 and 2 Each of the processing units shown in FIGS. 1 and 2 has been described in the above embodiment as being configured by hardware. However, an example in which the processing performed by each processing unit illustrated in these drawings is realized by a computer program executed by an information processing device represented by a personal computer will be described as a second embodiment.
  • FIG. 5 is a block diagram showing a configuration example of hardware of a computer according to the second embodiment.
  • the CPU 501 controls the entire computer using computer programs and data stored in the RAM 502 and the ROM 503.
  • the RAM 502 is used to temporarily store computer programs and data loaded from the external storage device 506, data obtained from the outside via an I / F (interface) 507, and the like. Further, the RAM 502 has a work area used when the CPU 501 executes various processes. That is, for example, the RAM 502 can be allocated as a frame memory, or can appropriately provide other various areas.
  • the ROM 503 stores setting data (including BIOS) of the computer, a boot program, and the like.
  • the operation unit 504 includes a keyboard, a mouse, and the like, and can input various instructions to the CPU 501 when operated by a user of the computer.
  • the display unit 505 displays the processing result of the CPU 501. Further, the display unit 505 is configured by, for example, a liquid crystal display.
  • the external storage device 506 is a large-capacity information storage device represented by a hard disk drive.
  • the external storage device 506 stores an OS (Operating System) and a computer program for causing the CPU 501 to realize the functions of each unit illustrated in FIGS. 1 and 2. Further, the external storage device 506 may store image data to be processed.
  • OS Operating System
  • FIGS. 1 and 2 Further, the external storage device 506 may store image data to be processed.
  • the computer programs and data stored in the external storage device 506 are loaded into the RAM 502 as appropriate under the control of the CPU 501, and are processed by the CPU 501.
  • the I / F 507 can be connected to a network such as a LAN and the Internet, and other devices such as a projection device and a display device.
  • the computer acquires and sends various information via the I / F 507. Or you can.
  • a bus 508 connects the above-described units.
  • the CPU 501 executes the boot program in the ROM 503 to load the OS from the external storage device 506 into the RAM 502 and execute the OS.
  • the user interface of the operation unit 504 and the display unit 505 functions.
  • the CPU 501 reads the program from the external storage device 506 to the RAM 502 and executes the program under the OS.
  • the CPU 501 performs processing as each processing unit in FIG. 1 or FIG. 2, and the CPU 501 performs control according to FIG. 3 or FIG. 4 so that the present device functions as an image encoding device or an image decoding device.
  • the frame memory in FIGS. 1 and 2 is replaced by the RAM 502. It is assumed that the image data to be encoded and the encoded image data are stored in the external storage device 506.
  • the present invention supplies a program for realizing one or more functions of the above-described embodiments to a system or an apparatus via a network or a storage medium, and one or more processors in a computer of the system or the apparatus read and execute the program. It can also be realized by the following processing. Further, it can be realized by a circuit (for example, an ASIC) that realizes one or more functions.
  • a circuit for example, an ASIC
  • the present invention is used for an encoding device and a decoding device that encode and decode still images and moving images.
  • the present invention is applicable to an encoding method and a decoding method using a quantization matrix.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本発明は、矩形であって、複数種類の量子化マトリクスを用いた効率の良い符号化を行い、且つ、量子化マトリクス自体の符号量をも抑制することも可能になる。このため、画像を符号化する画像符号化装置は、符号化対象の画像を予め設定された複数種類の矩形ブロックのいずれかに分割する分割部と、複数種類の矩形ブロックそれぞれに対応する複数種類の量子化マトリクスを生成する生成部と、該生成部で生成した、それぞれの量子化マトリクスを、それぞれの形状に応じた走査順に従って符号化する第1の符号化部と、分割部で得た着目の矩形ブロックの画像を周波数変換し、得られた変換係数を着目の矩形ブロックの形状に応じた量子化マトリクスを用いて量子化する量子化部と、該量子化部で得た量子化後の変換係数を符号化する第2の符号化部と、第1の符号化部で得た符号化データと、第2の符号化部で得た符号化データとを統合する統合部とを有する。

Description

画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
 本発明は画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラムに関するものである。
 動画像の圧縮記録の符号化方式として、High Efficiency Video Coding(以下、HEVCと記す)が知られている。HEVCでは符号化効率向上のため、従来のマクロブロック(16×16画素)より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはCTU(Coding Tree Unit)と呼ばれ、そのサイズは最大64×64画素である。CTUはさらに予測や変換を行う単位となるサブブロックに分割される。
 また、HEVCにおいては、量子化マトリクスと呼ばれる、直交変換を施した後の係数(以下、直交変換係数と記す)を、周波数成分に応じて重み付けをする処理が用いられている。人間の視覚は高周波成分に鈍感であることを利用し、高周波成分のデータを削減することで、画質を維持しながら圧縮効率を高めることが可能となっている。特許文献1では、このような量子化マトリクスを符号化する技術が開示されている。
 近年、HEVCの後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。Joint Video Experts Team(JVET)がISO/IECとITU-Tの間で設立され、Versatile Video Coding符号化方式(以下、VVCと記す)として標準化が進められている。符号化効率向上のため、従来の正方形サブブロックベースのイントラ予測・直交変換方法に加え、長方形サブブロックベースのイントラ予測・直交変換方法が検討されている。
特開2013-38758号公報
 VVCにおいても、HEVCと同様に量子化マトリクスの導入が検討されている。さらにVVCでは、正方形だけでなく長方形のサブブロックおよびそれに対応した直交変換の形状が検討されているが、それぞれの直交変換係数の分布は直交変換の形状によって異なる。そのため、直交変換の形状に応じて最適な量子化マトリクスは異なり、それぞれの量子化マトリクスに適した符号化処理を行わないと、量子化マトリクス自体の符号量が不必要に増大することとなる。
 したがって、本発明は上述した課題を解決するためになされたものであり、直交変換の形状に応じて設定された量子化マトリクスを符号化したときの符号量を抑制する技術を提供しようとするものである。
 この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
 画像を符号化する画像符号化装置であって、
 符号化対象の画像を予め設定された複数種類の矩形ブロックのいずれかに分割する分割手段と、
 前記複数種類の矩形ブロックそれぞれに対応する複数種類の量子化マトリクスを生成する生成手段と、
 該生成手段で生成した、それぞれの量子化マトリクスを、それぞれの形状に応じた走査順に従って符号化する第1の符号化手段と、
 前記分割手段で得た着目の矩形ブロックの画像を周波数変換し、得られた変換係数を前記着目の矩形ブロックの形状に応じた量子化マトリクスを用いて量子化する量子化手段と、
 該量子化手段で得た量子化後の変換係数を符号化する第2の符号化手段と、
 前記第1の符号化手段で得た符号化データと、前記第2の符号化手段で得た符号化データとを統合する統合手段とを有する。
 本発明によれば、複数種類の量子化マトリクスに対して適応的に量子化マトリクス自体の符号量を抑制することが可能になる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
実施形態における画像符号化装置のブロック構成図。 実施形態における画像復号装置のブロック構成図。 実施形態に係る画像符号化装置における符号化処理を示すフローチャート。 実施形態に係る画像復号装置における復号処理を示すフローチャート。 実施形態における画像符号化装置、復号装置に適用可能なコンピュータのハードウェア構成図。 実施形態の画像符号化装置が生成するビットストリーム構造の例を示す図。 実施形態の画像符号化装置が生成するビットストリーム構造の例を示す図。 実施形態の画像符号化装置におけるブロック分割の例を示す図。 実施形態の画像符号化装置におけるブロック分割の例を示す図。 実施形態の画像符号化装置におけるブロック分割の例を示す図。 実施形態の画像符号化装置におけるブロック分割の例を示す図。 実施形態の画像符号化装置におけるブロック分割の例を示す図。 実施形態の画像符号化装置におけるブロック分割の例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 実施形態における量子化マトリクスの要素の走査方法を示す図。 実施形態における量子化マトリクスの要素の走査方法を示す図。 実施形態における量子化マトリクスの要素の走査方法を示す図。 実施形態における量子化マトリクスの要素の走査方法を示す図。 実施形態における量子化マトリクスの要素の走査方法を示す図。 実施形態における量子化マトリクスの要素の走査方法を示す図。 実施形態における量子化マトリクスの要素の走査方法を示す図。 実施形態における量子化マトリクスの要素の走査方法を示す図。 実施形態で生成される量子化マトリクスの差分値行列の例を示す図。 実施形態で生成される量子化マトリクスの差分値行列の例を示す図。 実施形態で生成される量子化マトリクスの差分値行列の例を示す図。 量子化マトリクスの差分値の符号化に用いられる符号化テーブルの例を示す図。 量子化マトリクスの差分値の符号化に用いられる符号化テーブルの例を示す図。
 以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
 図1は本実施形態の画像符号化装置のブロック構成図である。画像符号化装置は、装置全体の制御を司る制御部150を有する。この制御部150は、CPU、CPUが実行するプログラムを格納するROM、CPUのワークエリアとして利用するRAMを有する。また、画像符号化装置は、入力端子101、ブロック分割部102、量子化マトリクス保持部103、予測部104、変換・量子化部105、逆量子化・逆変換部106、画像再生部107、フレームメモリ108、インループフィルタ部109、符号化部110、統合符号化部111、出力端子112、及び、量子化マトリクス符号化部113を有する。
 入力端子101は、画像データ発生源で発生した符号化対象の画像データをフレーム単位に入力する。画像データ発生源は、撮像装置、符号化対象の画像データを記憶したファイルサーバや記憶媒体等、その種類は問わない。また、出力端子112は、符号化データを出力先装置に出力するが、その出力先装置も記憶媒体、ファイルサーバ等、特に問わない。
 ブロック分割部102は、入力端子101より入力した符号化対象の画像データを、複数の基本ブロックに分割し、その1つを着目基本ブロックとして後段の予測部104に順次出力する。
 量子化マトリクス保持部103は、矩形ブロック(正方向、長方形を含む)であって、複数種類の量子化マトリクスを生成し、内部のメモリに保持する。量子化マトリクスの生成方法については特に限定しないが、ユーザが量子化マトリクスを入力しても良いし、入力画像の特性から算出しても、初期値として予め指定されたものを使用しても良い。本実施形態における量子化マトリクス保持部103は、図8A~8Cに示される8×8画素、4×8画素、8×4画素の直交変換に対応した二次元の量子化マトリクスを生成し、保持しているものとする。
 量子化マトリクスとは、直交変換を施した後の変換係数に対して、周波数成分に応じて重み付けするための成分を有するマトリクスのことを指す。なお、量子化マトリクスは、スケーリングリストと呼ばれることもある。
 予測部104は、基本ブロック単位の画像データに対し、ブロック分割の種類を決定し、サブブロック単位に、フレームメモリ108を参照して、フレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、予測画像データを生成する。さらに、入力された画像データと前記予測画像データから予測誤差を算出し、出力する。また、予測部104は、予測に必要な情報、例えばサブブロック分割、予測モードや、予測データの所在位置を特定する情報(動きベクトル)等も予測誤差と併せて出力される。以下ではこの予測に必要な情報を予測情報と呼称する。
 変換・量子化部105は、予測部104から入力した予測誤差をサブブロック単位で直交変換(周波数変換)して変換係数を得る。そして、変換・量子化部105は、得られた変換係数を、量子化マトリクス保持部103に格納されている量子化マトリクスを用いて量子化を行い、量子化後の係数を得る。
 逆量子化・逆変換部106は、変換・量子化部105から出力された量子化後の係数を量子化マトリクス保持部103に格納されている量子化マトリクスを用いて逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する。
 画像再生部107は、予測部104から出力された予測情報に基づいて、フレームメモリ108を適宜参照して予測画像データを生成する。そして、画像再生部107は、予測画像データに、逆量子化・逆変換部106からの予測誤差を加算することで、再生画像データを生成し、フレームメモリ108に格納する。
 インループフィルタ部109は、画像再生部107が再生した再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理された画像を再びフレームメモリ108に格納する。
 符号化部110は、変換・量子化部105から出力された量子化係数および予測部104から出力された予測情報を符号化して、符号データを生成し、その符号化データを統合符号化部111に出力する。
 量子化マトリクス符号化部113は、量子化マトリクス保持部103から出力された量子化マトリクスを符号化して、量子化マトリクス符号化データを生成し、その符号化データを統合符号化部111に出力する。
 統合符号化部111は、量子化マトリクス符号化部113からの出力である量子化マトリクスの符号化データ等を格納するヘッダ符号データを生成する。さらに統合符号化部111は、ヘッダ符号データと、符号化部110から出力された符号データとを合わせて、ビットストリームを形成して、出力端子112を介して符号化データを出力する。
 ここで、画像符号化装置における画像データの符号化処理をより詳しく説明する。本実施形態では動画像データをフレーム単位に入力する構成とするが、1フレーム分の静止画像データを入力する構成としても構わない。また、本実施形態では、説明を容易にするため、イントラ予測符号化の処理を説明するが、これに限定されずインター予測符号化の処理においても適用可能である。さらに本実施形態では説明のため、ブロック分割部101は、符号化対象の1フレームの画像データを、複数の、8×8画素の基本ブロックに分割するものとして説明するが、これに限定されない。
 画像データの符号化に先立ち、量子化マトリクスの符号化が行われる。
 量子化マトリクス保持部103は、予め生成された量子化マトリクスを保持する。具体的には、符号化されるサブブロックのサイズに応じて、量子化マトリクスが決定される。量子化マトリクスを構成する各要素の決定方法は特に限定しない。例えば、所定の初期値を用いても良いし、個別に設定しても良い。また、画像の特性に応じて生成されても構わない。
 量子化マトリクス保持部103は、図8Aから8Cに示す量子化マトリクスを保持する。図8Aは8×8画素サイズの直交変換に対応する量子化マトリクス800を、図8Bは4×8画素サイズの直交変換に対応する量子化マトリクス801を、図8Cは8×4画素サイズの直交変換に対応する量子化マトリクス802を示している。説明を簡易にするため、それぞれ8×8の64画素分または8×4もしくは4×8の32画素分の構成とし、太枠内の各正方形は量子化マトリクスを構成している各要素を表しているものとする。本実施形態では、図8A~8Cに示された三種の量子化マトリクス800~802が二次元の形状で保持されているものとするが、量子化マトリクス内の各要素はもちろんこれに限定されない。さらに、本実施形態に加えて4×4画素サイズの直交変換も用いる場合は、図8Dに示されたような4×4画素サイズの直交変換に対応する他の量子化マトリクス803も保持することになる。また、後述の予測方法、例えばイントラ予測を用いるかインター予測を用いるかによって、あるいは符号化対象が輝度ブロックか色差ブロックかによって、同じ大きさの直交変換に対して複数の量子化マトリクスを保持することも可能である。一般的に、量子化マトリクスは人間の視覚特性に応じた量子化処理を実現するため、図8A~8Fに示す量子化マトリクス800~805の左上部分に相当する低周波部分の要素は小さく、右下部分に相当する高周波部分の要素は大きな値となる。
 量子化マトリクス符号化部113は、二次元形状で格納されている量子化マトリクスを量子化マトリクス保持部106から順に読み出し、各要素を走査して差分を計算し、一次元の行列に配置し、その後で符号化する。本実施形態では、図8A~8Cに示された各量子化マトリクスはそれぞれ図9A、9B,9Dに示された走査方法を用い、要素ごとに走査順に直前の要素との差分を取得し、この差分が符号化されるものとする。
 例えば、図8Aに示された8×8画素の正方の量子化マトリクス800の場合、最小の周波数(直流)を示す左上隅から最大の周波数を示す右下隅に至る範囲を、図9Aに示すように斜め方向にスキャンしていく。具体的には、量子化マトリクス符号化部113は、左上に位置する最初の要素“6”は、走査の最初であるので予め設定された初期値との差分を計算する。そして、以降の要素は、直前の要素との差を求める。つまり2つ目の要素は、最初の要素のすぐ下に位置する“9”であるので、1つ前の要素(最初の要素)との差分である“+3”が取得される。以下、量子化マトリクス符号化部113は、この差分演算を図9Aに示す走査順に走査して求めていく。また、マトリクスの端部の要素に対しては、1行2列目の要素と3行1列目の要素との差分、1行3列目の要素と4行1列目との差分、といった具合に差分が取得される。なお、図8Dに示された4×4画素の正方の(正方)の量子化マトリクス803に関しても、同様に図9Fに示すような斜めスキャンを行うことによって各要素の差分が取得されることになる。
 また、図8Bで示された4×8画素分の量子化マトリクス801の場合、量子化マトリクス符号化部113は、図9Bで示されるように垂直(上から下)にスキャンする処理を、左(低周波)から右側(高周波)に移して行う。具体的には、量子化マトリクス符号化部113は、左上に位置する最初の要素“6”は、走査の最初であるので予め設定された初期値との差分を取得する。そして、その次に、量子化マトリクス符号化部113は、すぐ下に位置する要素“9”を読み出し、1つ前の要素(最初の要素)との差分である“+3”を取得する。この処理を繰り返し行い、そして量子化マトリクス符号化部113は、1行2列目の要素“13”と8行1列目の要素“37”との差分“-24”を取得する。以下、量子化マトリクス符号化部113は、この差分演算を図9Bに示す走査順に走査して求めていく。
 同様に図8Cで示された8×4画素分の量子化マトリクス802の場合、量子化マトリクス符号化部113は、図9Dで示されるように、水平(左から右)にスキャンする処理を、上側(低周波)から下側(高周波)に移して行う。具体的には、量子化マトリクス符号化部113は、左上に位置する最初の要素“6”は、走査の最初であるので予め設定された初期値との差分を取得する。そして、その次に、量子化マトリクス符号化部113は、その右隣に位置する要素“9”と、1つ前の要素(最初の要素“6”)との差分である“+3”を取得する。この処理を繰り返し行い、そして量子化マトリクス符号化部113は、2行1列目の要素“13”と1行8列目の要素“37”との差分“-24”を取得する。以下、量子化マトリクス符号化部113は、この差分演算を図9Dに示す走査順に走査して求めていく。
 なお、実施形態では、量子化マトリクス符号化部113は、1つの量子化マトリクスの最初の要素の差分を求める際に参照する初期値は“8”とするが、もちろんこれに限定されず、任意の値で良い。要するに、符号化側と復号側との間で共通の値となっていれば良い。特に初期値を“0”とした場合、最初の要素がそのまま計算結果となる。
 このようにして、本実施形態では、図8A~8Cの量子化マトリクス800~802はそれぞれ、図9A、9B,9Dの走査方法を用い、図10A~10Cに示される差分の1次元行1000~1002が生成される。量子化マトリクス符号化部113はさらにこの差分行列を符号化して量子化マトリクス符号データを生成する。本実施形態では図11Aに示される符号化テーブルを用いて符号化するものとするが、符号化テーブルはこれに限定されず、例えば図11Bに示される符号化テーブルを用いても良い。このようにして生成された量子化マトリクス符号データは後段の統合符号化部111に出力される。
 画像符号化処理に用いられる量子化マトリクスは、図8A~8Cの例でも示しているように、一般的に左上に位置する低周波部分から右下に位置する高周波部分にかけて要素の値が増加していく傾向がある。図8B、8Cのような長方形の量子化マトリクスの場合は、垂直と水平方向の要素数の違いから、互いに要素の増加度合いが異なる。そのため、図8Bのような水平方向よりも垂直方向に長い量子化マトリクス801の場合は、垂直方向の要素間の増加の度合いが緩やかなため、図9Bのような垂直スキャンを用いて要素を走査することで、要素間の差分値が小さくなり、結果として符号量を削減することができる。同様に、図8Cのような垂直方向よりも水平方向に長い量子化マトリクス802の場合は、水平方向の要素間の増加度合いが緩やかなため、図9Dのような水平スキャンを用いて要素を走査することで、結果として符号量を削減することができる。
 なお、上記実施形態では、量子化マトリクスを8×8、4×8、8×4画素サイズとして説明したが、整数N,Mの関係がN>Mとしたとき、N×N画素、M×N画素,N×M画素のサイズとして一般化できる。更に、これ以外のサイズを含めるようにしても構わない。
 例えば、2×8画素サイズの直交変換を用いる場合には、図8Eの量子化マトリクス804を量子化マトリクス保持部103が保持することになる。2×8画素サイズの量子化マトリクスを符号化する場合、量子化マトリクス符号化部113は、図9Gに示す垂直スキャンを用いて量子化マトリクスの各要素の差分を取得し、符号化する。また、8x2画素サイズの直交変換を用いる場合には、図8Fの量子化マトリクス805を量子化マトリクス保持部103が保持することになる。この8×2画素サイズの量子化マトリクスを符号化する場合、量子化マトリクス符号化部113は、図9Hに示す水平スキャンを用いて量子化マトリクスの各要素の差分を取得し、符号化する。
 図1に戻り、統合符号化部111では画像データの符号化に必要なヘッダ情報を符号化し、量子化マトリクスの符号データを統合する。この際、統合符号化部111は、量子化マトリクスのサイズの種類(例えば8×8、4×8、8×4)と、各量子化マトリクス符号化データとの対応関係を示す情報もヘッダ情報に含める。簡単には、量子化マトリクスのサイズの種類が8×8、4×8、8×4となっている場合、これと同じ順序で量子化マトリクス符号化データを格納すればよい。ただし、順序はこれに限らず4×8、8×4、8×8と小さい方から順番に量子化マトリクス符号化データを格納しても構わない。
 続いて、画像データの符号化について説明する。端子101から入力された1フレーム分の画像データはブロック分割部102に供給される。ブロック分割部102は、入力された画像データを複数の基本ブロックに分割し、基本ブロック単位の画像を予測部104に出力する。本実施形態では8×8画素の基本ブロック単位の画像を出力するものとする。
 予測部104は、ブロック分割部102から入力された基本ブロック単位の画像データに対し予測処理を実行する。具体的には、基本ブロックをさらに細かいサブブロックに分割するブロック分割の種類を決定し、さらにサブブロック単位で水平予測や垂直予測などのイントラ予測モードを決定する。
 図7A乃至7Fに基本ブロックを分割して得られるブロック分割の種類の一例を示す。太枠の700乃至705は基本ブロックを表しており、説明を簡易にするため、8×8画素の構成とし、太枠内の各四角形はサブブロックを表している。図7Aは基本ブロック700を分割せず、基本ブロック=サブブロックの例を示している。図7Bは、従来の正方形サブブロックの一例を表しており、基本ブロック701が、4×4画素サイズの4つのサブブロックに分割されている例である。一方、図7C~7Fは長方形サブブロックの一例を表している。図7Cでは基本ブロック702が4×8画素サイズの2つのサブロックに分割された例を示している。図7Dは基本ブロック702が、8×4画素サイズの2つのサブブロックに分割された例を示している。また、図7E,7Fでは、分割方向が異なるものの、基本ブロック704、705が1:2:1のサイズ比で、3つの長方形サブブロックに分割された例を示している。このように正方形だけではなく、長方形のサブブロックも用いて符号化処理が行われる。
 上記の如く、本実施形態では、8×8画素の基本ブロックを、サブブロック分割しない(図7A)、水平方向に沿って分割する(図7C)、垂直方向に沿って分割する(図7D)のいずれかが決定されるものとするが、サブブロック分割方法はこれに限定されない。図7Bのような四分木分割や、図7E,7Fのような三分木分割を用いても構わない。
 予測部104は、決定したイントラ予測モードおよび符号化済の画素からサブブロックの予測画像データを生成し、さらに入力された画像データと予測画像データから予測誤差を生成し、変換・量子化部105に出力する。また、予測部104は、サブブロック分割やイントラ予測モードなどの情報を予測情報として、符号化部110、画像再生部107に出力する。
 変換・量子化部105は、入力された予測誤差を示す残差に対して直交変換、さらには、量子化を行い、当該残差を示す残差係数を生成する。まず、変換・量子化部105は、サブブロックのサイズに対応した直交変換処理が施し、直交変換係数を生成する。次に変換・量子化部105は、直交変換係数を量子化マトリクス保持部103に格納されている量子化マトリクスを用いて量子化し、残差係数を生成する。本実施形態では、図7Aに対応したサブブロック700に対しては、図8Aの量子化マトリクス800が用いられるものとする。同様にして、図7Cのサブブロック702に対しては図8Bに示す量子化マトリクス801、図7Dのサブブロック703に対しては図8Cの量子化マトリクス802が用いる。変換・量子化部105は、生成した残差係数を、符号化部110および逆量子化・逆変換部106に出力する。
 逆量子化・逆変換部106は、入力された残差係数を量子化マトリクス保持部103に格納されている量子化マトリクスを用いて逆量子化して変換係数を再生する。更に、逆量子化・逆変換部106は、再生された変換係数を逆直交変換して予測誤差を再生する。なお、逆量子化・逆変換部106が逆量子化処理の際に用いる量子化マトリクスは、変換・量子化部105が用いるサブブロック分割に対応した量子化マトリクスが用いられる。逆量子化・逆変換部106は、再生された予測誤差を画像再生部107に出力する。
 画像再生部107は、予測部104から入力される予測情報に基づいて、フレームメモリ108を適宜参照し、予測画像を再生する。そして、画像再生部107は、再生された予測画像と、逆量子化・逆変換部106から入力された再生された予測誤差とから、画像データを再生し、フレームメモリ108に格納する。
 インループフィルタ部109は、フレームメモリ108から、画像再生部107が再生した画像を読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部109は、フィルタ処理された画像を再びフレームメモリ108に格納する。
 符号化部110は、ブロック単位で、変換・量子化部105で生成された残差係数、予測部104から入力された予測情報をエントロピー符号化し、符号データを生成する。エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。そして、符号化部110は生成された符号データを統合符号化部111に出力する。
 統合符号化部111は、前述のヘッダの符号データとともに符号化部110から入力した符号データなどを多重化してビットストリームを形成する。最終的には、ビットストリームは端子112から外部に出力される。
 図6Aは実施形態で出力されるビットストリームの一例である。シーケンスヘッダに量子化マトリクスの符号データが含まれ、各要素の符号化結果で構成されている。ただし、符号化される位置はこれに限定されず、ピクチャヘッダ部やその他のヘッダ部に符号化される構成をとってももちろん構わない。また、1つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスを新たに符号化することで更新することも可能である。この際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスの変換ブロックサイズを指定することでその一部を変更するようにすることも可能である。
 図3は、実施形態に係る画像符号化装置における符号化処理を示すフローチャートである。
 まず、画像の符号化に先立ち、S301にて、制御部150は、量子化マトリクス保持部103を制御し、量子化マトリクスを生成し、保持させる。本実施形態の量子化マトリクス保持部103は、図8A~8Cに示された3種類の量子化マトリクス800~802を生成し、保持することになる。
 S302にて、制御部150は、量子化マトリクス符号化部113を制御し、S301にて生成・保持された量子化マトリクスを走査して各要素の差分を算出し、差分行列を生成させる。本実施形態では、図8A~8Cの量子化マトリクスはそれぞれ、図9A、9B,9Dの走査方法を用い、図10A~10Cに示される差分行列が生成されることになる。そして、制御部150は、量子化マトリクス符号化部113を制御し、生成された差分行列の符号化を行わせ、量子化マトリクス符号データを生成させる。
 S303にて、制御部150は、統合符号化部111を制御し、生成された量子化マトリクス符号データとともに、画像データの符号化に必要なヘッダ情報を符号化し、出力させる。S304にて、制御部150は、ブロック分割部102を制御し、フレーム単位の入力画像を基本ブロック単位に分割させる。S305にて、制御部150は、予測部104を制御し、S304にて生成された基本ブロック単位の画像データに対して、予測処理を実行する。そして、予測部104によって、図7A~7Fに示すような基本ブロックを分割することによって得られるブロック分割の種類に関する情報、イントラ予測モードなどの予測情報、および予測画像データが生成される。なお、ブロック分割の種類に関する情報として、図7A~7Fのブロック分割の種類に関する識別子が符号化される。なお、ブロック分割の種類に関する情報として、サブブロックの形状の種類そのもの(例えば、4×8画素サイズ、8×2画素サイズなど)に関する識別子を符号化してもよい。また、予測部104は、入力された画像データと前記予測画像データから予測誤差を算出することになる。
 S306にて、制御部150は、変換・量子化部105を制御し、S305で算出された予測誤差に対して直交変換させ、変換係数を生成させる。更に、制御部150は、変換・量子化部105を制御し、S301にて生成・保持された量子化マトリクスを用いて量子化を行わせ、残差係数を生成させる。本実施形態では、図7Aに対応したブロック分割に対しては図8Aの量子化マトリクスが用いられるものとする。同様にして、図7Cのブロック分割に対しては図8B、図7Dのブロック分割に対しては図8Cの量子化マトリクスが用いられるものとする。
 S307にて、制御部150は、逆量子化・逆変換部106を制御し、S305で生成された残差係数を、S301にて生成・保持された量子化マトリクスを用いて逆量子化を行い、変換係数を再生させる。また、逆量子化・逆変換部106は、変換係数に対して逆直交変換し、予測誤差を再生する。
 S308にて、制御部150は画像再生部107を制御し、S305で生成された予測情報に基づいて予測画像を再生させる。更に、制御部150は、画像再生部107に、再生された予測画像とS307で生成された予測誤差から画像データを再生させる。
 S309にて、制御部159は、符号化部110を制御し、S305で生成された予測情報およびS306で生成された残差係数を符号化し、符号データを生成させる。このとき、符号化部110は、図7A~7Fのブロック分割の種類に関する識別子を符号化する。また、制御部150は、統合符号化部111を制御し、他の符号データも含め、ビットストリームを生成させる。
 S310にて、制御部150は、フレーム内の全ての基本ブロックの符号化が終了したか否かの判定を行う。終了した判定した場合、制御部150は処理をS311に進み、そうでなければ次の基本ブロックを対象の符号化を行うため、処理をS304に戻す。
 S311にて、制御部150は、インループフィルタ部109を制御し、S308で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
 以上の構成と動作により、特にS302において、量子化マトリクスの形状に応じた走査方法を用いて量子化マトリクスを符号化することで、量子化マトリクスの符号量を削減することができる。結果として、生成されるビットストリーム全体のデータ量を削減することになるため、圧縮効率を向上させることができる。
 なお、本実施形態では、サブブロックのサイズの種類に応じて、使用される量子化マトリクスや要素の走査方法が一意に決まる構成としたが、量子化マトリクスの要素の走査方法を複数の走査方法の中から選択し、識別子をヘッダ内に符号化する構成としても構わない。例えば、図9Bに示される走査方法を用いるかあるいは図9Dに示される走査方法を用いるかを示す情報を、量子化マトリクス走査方法情報符号としてヘッダ部分に符号化し、図6Bに示されるビットストリームを生成する構成としても良い。これにより、各量子化マトリクスが最適な方法で走査され、量子化マトリクスの符号量がより少ないビットストリームを生成することができる。
 また、本実施形態では、図8Bの垂直方向に長尺の量子化マトリクス801は図9Bの垂直スキャンで、図8Cの水平方向に長尺の量子化マトリクス802は図9Cの水平スキャンで走査して符号化するものとした。しかし、用いられる走査方法はこれに限定されない。例えば、図8Bの量子化マトリクス801に対しては図9Dのような走査方法を用いても良く、水平方向よりも水平方向の要素を先に走査・符号化することで、本実施形態と同様の符号量削減効果を実現することができる。同様にして、図8Cの量子化マトリクス802に対しては、図9Eのような走査方法を用いても良い。
 図2は、本実施形態における画像復号装置の構成を示すブロック図である。この画像復号装置は、上述の実施形態の画像符号化装置で生成された符号化データの復号するものである。
 画像復号装置は、装置全体の制御を司る制御部250を有する。この制御部250は、CPU、CPUが実行するプログラムを格納するROM、CPUのワークエリアとして利用するRAMを有する。また、画像復号装置は、入力端子201、分離復号部202、復号部203、逆量子化・逆変換部204、画像再生部205、フレームメモリ206、インループフィルタ部207、出力端子208、及び、量子化マトリクス復号部209を有する。
 入力端子201は、符号化されたビットストリームを入力するものであり、入力源は例えば符号化ストリームを格納した記憶媒体であるが、ネットワークから入力しても良く、その種類は問わない。
 分離復号部202は、入力したビットストリームから復号処理に関する情報や係数に関する符号データに分離する。また、分離復号部202は、ビットストリームのヘッダ部に存在する符号化データを復号する。本実施形態の分離復号部202は、量子化マトリクス符号化データを分離し、後段に出力する。分離復号部202は、図1の統合符号化部111と逆の動作を行うものでもある。
 量子化マトリクス復号部209は、量子化マトリクス符号を復号して量子化マトリクスを再生する。復号部203は、分離復号部202から出力された画像の符号化データを復号し、残差係数および予測情報を再生する。
 逆量子化・逆変換部204は、図1の逆量子化・逆変換部106と同様、再生された量子化マトリクスを用いて残差係数に逆量子化を行って変換係数を得、さらに逆直交変換を行い、予測誤差を再生する。
 画像再生部205は、入力された予測情報に基づいて、フレームメモリ206を適宜参照して予測画像データを生成する。そして、この予測画像データと逆量子化・逆変換部204で再生された予測誤差から再生画像データを生成し、フレームメモリ206に再格納する。
 インループフィルタ部207は、図1のインループフィルタ部109と同様、フレームメモリ206に格納された再生画像に対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理後の画像をフレームメモリ207に再格納する。
 出力端子は、フレームメモリ206に格納されたフレーム画像を順次、外部に出力する。出力先は、表示装置とするが、他のデバイスであっても構わない。
 次に上記画像復号装置における動作を、より詳しく説明する。本実施形態の画像復号装置は、実施形態の画像符号化装置で生成されたビットストリームをフレーム単位で入力する構成となっているが、1フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本実施形態では説明を容易にするため、イントラ予測復号処理のみを説明するが、これに限定されずインター予測復号処理においても適用可能である。
 分離復号部202は、入力端子201を介して入力した1フレーム分のビットストリームから、復号処理に関する情報や係数に関する符号化データに分離し、ビットストリームのヘッダ部に存在する符号化データを復号する。より具体的には、分離復号部202は、量子化マトリクスの符号化データを再生する。分離復号部202は、図6Aに示されるビットストリームのシーケンスヘッダから量子化マトリクスの符号化データを抽出し、量子化マトリクス復号部209に出力する。続いて、分離復号部202は、ピクチャデータの基本ブロック単位の符号データを再生し、復号部203に出力する。
 量子化マトリクス復号部209は、まず入力された量子化マトリクス符号データを復号し、一次元の差分行列を再生する。本実施形態では、図11Aに示される符号化テーブルを用いて復号するものとするが、符号化テーブルはこれに限定されず、本実施形態と同じものを用いる限りは他の符号化テーブルを用いても良い。さらに量子化マトリクス復号部209は、再生された一次元の差分行列を逆走査し、二次元の量子化マトリクスを再生する。ここでは本実施形態の量子化マトリクス符号化部113と同様の走査を行う。すなわち、本実施形態の量子化マトリクス復号部209は、図10A~10Cに示される差分行列1000~1002はそれぞれ、図9A、9B,9Dに示される走査方法を用いて、図8A~8Cに示される3種の量子化マトリクスを再生し、自身が有する内部メモリ(不図示)に保持する。
 復号部203は、画像の符号化データを復号し、着目ブロックの量子化係数および予測情報を再生する。復号部203は、再生した量子化係数を逆量子化・逆変換部204に出力し、再生された予測情報を画像再生部205に出力する。
 逆量子化・逆変換部204は、入力された量子化係数に対し、量子化マトリクス復号部209で再生された量子化マトリクスを用いて逆量子化を行って直交変換係数を生成する。さらに逆量子化・逆変換部204は、逆直交変換を施して予測誤差を再生する。そして、逆量子化・逆変換部204は、再生された予測情報を画像再生部205に出力する。この際、復号対象のサブブロックのサイズの種類に応じて用いられる量子化マトリクスが定まり、本実施形態では、図7Aに対応したブロック分割に対しては図8Aの量子化マトリクスが用いられるものとする。同様にして、図7Cのブロック分割に対しては図8B、図7Dのブロック分割に対しては図8Cの量子化マトリクスが用いられるものとする。
 画像再生部205は、復号部203から入力された予測情報に基づいて、フレームメモリ206を参照し、予測画像を再生する。そして、画像再生部205は、この予測画像に、逆量子化・逆変換部204から入力された予測誤差を加算することで、画像データを再生し、その再生した画像データをフレームメモリ206に格納する。この格納された画像データは、後続する符号化データの復号時の予測の際に参照されることになる。
 インループフィルタ部207は、図1のインループフィルタ部109と同様、フレームメモリ206から再生画像を読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部207は、フィルタ処理された画像を再びフレームメモリ206に格納する。フレームメモリ206に格納された再生画像は、最終的には出力端子208から外部に出力されることになる。
 図4は、実施形態の画像復号装置における制御部250の復号処理を示すフローチャートである。
 まず、S401にて、制御部250は、分離復号部202を制御し、ビットストリームから復号処理に関する情報や係数に関する符号化データに分離させてヘッダ部分の符号化データを復号する。この結果、分離復号部202は、量子化マトリクス符号データを再生することになる。
 S402にて、制御部250は、量子化マトリクス復号部209を制御し、S401で再生された量子化マトリクス符号データを復号させる。この結果、図10A~10Cで示されたような一次元の差分行列が再生される。さらに制御部250は、量子化マトリクス復号部209を制御し、再生された一次元の差分行列を走査し、二次元の量子化マトリクスを再生する。すなわち、量子化マトリクス復号部209は、図10A~10Cに示される差分行列を、それぞれ、図9A、9B,9Dに示される走査方法を用いて、図8A~8Cに示される3種の量子化マトリクスを再生し、内部のメモリに保持する。
 S403にて、制御部250は復号部203を制御し、S401で分離された画像の符号化データを復号させ、量子化係数および予測情報を再生させる。
 具体的には、復号部203は、ビットストリームから分割情報を復号し、図7A~7Fに示すようなブロック分割の種類に関する情報を取得する。ブロック分割の種類に関する情報として、図7A~7Fのブロック分割の種類に関する識別子を取得する。なお、画像復号装置においてはこれらの識別子に対応するブロック分割の種類は既知であるとする。すなわち、制御部250は、取得した識別子に対応するブロック分割の種類が判別できるので、どの形状の種類の量子化マトリクスを使用するかを判別することができる。例えば、図7Cに対応するブロック分割の種類に関する識別子が取得された場合、4×8画素サイズのサブブロックの量子化マトリクスを2回使用することになる。
 なお、ブロック分割の種類に関する情報として、サブブロックの形状の種類そのもの(例えば、4×8画素サイズ、8×2画素サイズなど)に関する識別子がビットストリームから復号される場合、これらの識別子とそれらに対応するサブブロック形状の種類は既知であるとする。
 さらに、復号部203は、取得されたブロック分割の種類に従って、用いる量子化マトリクスを決定する。例えば、ブロック分割が図7Cの場合、図8Bの4×8画素サイズの量子化マトリクスが2回使用される。またブロック分割が図7Eの場合、図8Eの2×8画素サイズの量子化マトリクス、図8Bの4×8画素サイズの量子化マトリクス、そして再び図8Eの2×8画素サイズの量子化マトリクスが使用される。
 そして、制御部250は、S404にて、逆量子化・逆変換部204を制御し、量子化係数に対して、S402で再生された量子化マトリクスを用いて逆量子化を行わせて変換係数を得、さらに逆直交変換を行わせ、予測誤差を再生させる。
 S405にて、制御部250は、画像再生部205を制御し、S403で生成された予測情報や予測画像を再生させる。さらに制御部250は画像再生部205を制御して、再生された予測画像と、S404で生成された予測誤差から画像データを再生させる。
 S406にて、制御部250は、フレーム内の全ての基本ブロックの復号が終了したか否かの判定を行う。全基本ブロックの復号が完了していない場合、制御部250は処理を403に戻し、次の記録ブロックの復号処理を行う。また、フレーム内の全ての基本ブロックの復号が完了した場合、制御部250は処理をS407に進める。このS407にて、制御部250は、インループフィルタ部207を制御し、S405で再生された画像データに対し、インループフィルタ処理を行わせ、フィルタ処理された画像を再度フレームメモリに格納し、本処理を終了する。
 以上の構成と動作により、本実施形態で生成された、量子化マトリクスの形状に応じた走査方法を用い、量子化マトリクスの符号量を削減したビットストリームを復号することができる。
 なお、本実施形態では、サブブロックのサイズの種類に応じて、使用される量子化マトリクスや要素の走査方法が一意に決まる構成としたが、量子化マトリクスの要素の走査方法を複数の走査方法の中から選択する識別子をヘッダから復号する構成としても構わない。例えば、図9Bに示される走査方法を用いるかあるいは図9Dに示される走査方法を用いるかを示す情報を、図6Bに示されるビットストリームのヘッダ部分から量子化マトリクス走査方法情報符号として復号する構成としても良い。これにより、各量子化マトリクスが最適な方法で走査され、量子化マトリクスの符号量がより少ないビットストリームを復号することができる。
 また、本実施形態では、図8Bの縦長量子化マトリクスは図9Bの垂直スキャンで、図8Cの横長量子化マトリクスは図9Dの水平スキャンで逆走査して復号されるものとしたが、用いられる走査方法はこれに限定されない。例えば、図8Bの縦長量子化マトリクスに対しては図9Cのような走査方法を用いても良く、水平方向よりも水平方向の要素を先に逆走査・復号することで、同様に符号量が削減されたビットストリームを復号することができる。同様にして、図8Cの横長量子化マトリクスに対しては、図9Eのような走査方法を用いても良い。
 [第2の実施形態]
 図1、図2に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理を、パーソナルコンピュータに代表される情報処理装置で実行するコンピュータプログラムによって実現させる例を第2の実施形態として説明する。
 図5は、本第2の実施形態におけるコンピュータのハードウェアの構成例を示すブロック図である。
 CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行う。
 RAM502は、外部記憶装置506からロードされたコンピュータプログラムやデータ、I/F(インターフェース)507を介して外部から取得したデータなどを一時的に記憶するために用いられる。更に、RAM502は、CPU501が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM502は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
 ROM503には、本コンピュータの設定データ(BIOSを含む)や、ブートプログラムなどが格納されている。操作部504は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU501に対して入力することができる。表示部505は、CPU501による処理結果を表示する。また表示部505は例えば液晶ディスプレイで構成される。
 外部記憶装置506は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置506には、OS(オペレーティングシステム)や、図1、図2に示した各部の機能をCPU501に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置506には、処理対象としての各画像データが保存されていても良い。
 外部記憶装置506に保存されているコンピュータプログラムやデータは、CPU501による制御に従って適宜、RAM502にロードされ、CPU501による処理対象となる。I/F507には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F507を介して様々な情報を取得したり、送出したりすることができる。508は上述の各部を繋ぐバスである。
 上述の構成において、本装置の電源がONになると、CPU501はROM503のブートプログラムを実行することで、外部記憶装置506からOSをRAM502にロードし実行する。この結果、操作部504と表示部505によるユーザインターフェースが機能する。そして、CPU501は、ユーザにより画像符号化、復号に係るプログラムを実行指示を受け付けると、そのプログラムを外部記憶装置506からRAM502に読み出し、OSの下で実行する。この結果、CPU501は、図1または図2の各処理部として処理を行い、CPU501が図3又は図4に従って制御を行うことで、本装置が画像符号化装置或いは画像復号装置として機能することになる。なお、図1、図2におけるフレームメモリは、RAM502が代用されるものとする。また、符号化対象の画像データや符号化画像データは外部記憶装置506に格納されるものとする。
 (その他の実施例)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 本発明は静止画・動画の符号化・復号を行う符号化装置・復号装置に用いられる。特に、量子化マトリクスを使用する符号化方式および復号方式に適用が可能である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
 本願は、2018年6月29日提出の日本国特許出願特願2018-125298を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

Claims (9)

  1.  画像を符号化する画像符号化装置であって、
     符号化対象の画像を予め設定された複数種類の矩形ブロックのいずれかに分割する分割手段と、
     前記複数種類の矩形ブロックそれぞれに対応する複数種類の量子化マトリクスを生成する生成手段と、
     該生成手段で生成した、それぞれの量子化マトリクスを、それぞれの形状に応じた走査順に従って符号化する第1の符号化手段と、
     前記分割手段で得た着目の矩形ブロックの画像を周波数変換し、得られた変換係数を前記着目の矩形ブロックの形状に応じた量子化マトリクスを用いて量子化する量子化手段と、
     該量子化手段で得た量子化後の変換係数を符号化する第2の符号化手段と、
     前記第1の符号化手段で得た符号化データと、前記第2の符号化手段で得た符号化データとを統合する統合手段と
     を有することを特徴とする画像符号化装置。
  2.  前記分割手段は、整数N,MがN>Mの関係にあるとしたとき、符号化対象の画像から、N×N画素のブロック、M×N画素のブロック、N×M画素のブロックのいずれかで着目のブロックを分割し、
     前記第1の符号化手段は、
       N×M画素の量子化マトリクスについては、水平方向に沿った走査を、低周波から高周波に向かって行うことで符号化する
     ことを特徴とする請求項1に記載の画像符号化装置。
  3.  前記第1の符号化手段は、1つの量子化マトリクスを符号化するとき、当該量子化マトリクスにおける最初の量子化ステップ値については、予め設定された初期値との差分を求め、以降の量子化ステップ値については直前の量子化ステップ値との差分を求め、該差分に符号を割り当てることで符号化することを特徴とする請求項2に記載の画像符号化装置。
  4.  前記第1の符号化手段は、差分が0に近いほど短い符号を割り当てたテーブルを用いて符号化することを特徴とする請求項3に記載の画像符号化装置。
  5.  前記第2の符号化手段は、
       符号化済みの画像を格納するフレームメモリを参照して、前記着目の矩形ブロックに対する予測データを生成し、
       前記着目の矩形ブロックが表す画像と、前記予測データとの予測誤差を求め、
       該予測誤差を周波数変換し、
       周波数変換で得られた係数を前記着目の矩形ブロックに対応する量子化マトリクスを用いて量子化し、
       前記予測データを特定するための情報と、前記量子化で得た係数を符号化する
     ことを特徴とする請求項1乃至4のいずれか1項に記載の画像符号化装置。
  6.  請求項1に記載の画像符号化装置により得た符号化データを復号する画像復号装置であって、
     復号対象の符号化データから、量子化マトリクスの符号化データと、画像データの符号化データとを分離する分離手段と、
     該分離手段により得た前記量子化マトリクスの符号化データを、再生しようとする量子化マトリクスの形状に応じた走査順に従って復号し、復号して得られた複数種類の量子化マトリクスを保持する第1の復号手段と、
     前記分離手段により得た着目ブロックの画像データの符号化データを復号することで、前記着目ブロックの量子化後の係数を得る第2の復号手段と、
     該第2の復号手段で得た前記着目ブロックの量子化後の係数を、当該着目ブロックに対応する量子化マトリクスを用いて逆量子化し、当該逆量子化で得た係数を逆直交変換することで前記着目ブロックの画像を再生する再生手段と
     を有することを特徴とする画像復号装置。
  7.  画像を符号化する画像符号化装置の制御方法であって、
     符号化対象の画像を予め設定された複数種類の矩形ブロックのいずれかに分割する分割工程と、
     前記複数種類の矩形ブロックそれぞれに対応する複数種類の量子化マトリクスを生成する生成工程と、
     該生成工程で生成した、それぞれの量子化マトリクスを、それぞれの形状に応じた走査順に従って符号化する第1の符号化工程と、
     前記分割工程で得た着目の矩形ブロックの画像を周波数変換し、得られた変換係数を前記着目の矩形ブロックの形状に応じた量子化マトリクスを用いて量子化する量子化工程と、
     該量子化工程で得た量子化後の変換係数を符号化する第2の符号化工程と、
     前記第1の符号化工程で得た符号化データと、前記第2の符号化工程で得た符号化データとを統合する統合工程と
     を有することを特徴とする画像符号化装置の制御方法。
  8.  請求項1に記載の画像符号化装置により得た符号化データを復号する画像復号装置の制御方法であって、
     復号対象の符号化データから、量子化マトリクスの符号化データと、画像データの符号化データとを分離する分離工程と、
     該分離工程により得た前記量子化マトリクスの符号化データを、再生しようとする量子化マトリクスの形状に応じた走査順に従って復号し、復号して得られた複数種類の量子化マトリクスを保持する第1の復号工程と、
     前記分離工程により得た着目ブロックの画像データの符号化データを復号することで、前記着目ブロックの量子化後の係数を得る第2の復号工程と、
     該第2の復号工程で得た前記着目ブロックの量子化後の係数を、当該着目ブロックに対応する量子化マトリクスを用いて逆量子化し、当該逆量子化で得た係数を逆直交変換することで前記着目ブロックの画像を再生する再生工程と
     を有することを特徴とする画像復号装置の制御方法。
  9.  コンピュータが読み込み実行することで、前記コンピュータに、請求項7又は8に記載の方法の各工程を実行させるためのプログラム。
PCT/JP2019/018257 2018-06-29 2019-05-07 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム Ceased WO2020003740A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-125298 2018-06-29
JP2018125298 2018-06-29

Publications (1)

Publication Number Publication Date
WO2020003740A1 true WO2020003740A1 (ja) 2020-01-02

Family

ID=68985602

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/018257 Ceased WO2020003740A1 (ja) 2018-06-29 2019-05-07 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム

Country Status (3)

Country Link
JP (1) JP2020010320A (ja)
TW (1) TW202002635A (ja)
WO (1) WO2020003740A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556319A (zh) * 2020-05-14 2020-08-18 电子科技大学 一种基于矩阵分解的视频编码方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005072312A2 (en) * 2004-01-20 2005-08-11 Matsushita Electric Industrial Co., Ltd. Picture coding method, picture decoding method, picture coding apparatus, picture decoding apparatus, and program thereof
WO2012160890A1 (ja) * 2011-05-20 2012-11-29 ソニー株式会社 画像処理装置及び画像処理方法
WO2013005386A1 (en) * 2011-07-01 2013-01-10 Panasonic Corporation Method and apparatus for encoding and decoding video using adaptive quantization matrix for square and rectangular transform units
JP2013038758A (ja) * 2011-07-13 2013-02-21 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2013065259A1 (ja) * 2011-11-01 2013-05-10 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
WO2013157825A1 (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 영상 부호화/복호화 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005072312A2 (en) * 2004-01-20 2005-08-11 Matsushita Electric Industrial Co., Ltd. Picture coding method, picture decoding method, picture coding apparatus, picture decoding apparatus, and program thereof
WO2012160890A1 (ja) * 2011-05-20 2012-11-29 ソニー株式会社 画像処理装置及び画像処理方法
WO2013005386A1 (en) * 2011-07-01 2013-01-10 Panasonic Corporation Method and apparatus for encoding and decoding video using adaptive quantization matrix for square and rectangular transform units
JP2013038758A (ja) * 2011-07-13 2013-02-21 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2013065259A1 (ja) * 2011-11-01 2013-05-10 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
WO2013157825A1 (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 영상 부호화/복호화 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556319A (zh) * 2020-05-14 2020-08-18 电子科技大学 一种基于矩阵分解的视频编码方法

Also Published As

Publication number Publication date
TW202002635A (zh) 2020-01-01
JP2020010320A (ja) 2020-01-16

Similar Documents

Publication Publication Date Title
JP7610690B2 (ja) 画像復号装置及び方法及びプログラム
JP2023105156A (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP2023113858A (ja) 画像復号装置、画像復号方法、及びプログラム
WO2020184223A1 (ja) 画像復号装置、画像復号方法、及びプログラム
JP2024023793A (ja) 画像符号化装置及び画像復号装置及び画像符号化方法及び画像復号方法及びプログラム
JP7685102B2 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
WO2021054012A1 (ja) 画像符号化装置、画像復号装置及びそれらの制御方法及びプログラム
WO2020003740A1 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
WO2020183859A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム
HK40103266A (zh) 图像编码设备、图像解码设备和控制方法
HK40104024A (zh) 图像编码设备、图像解码设备和控制方法
HK40103532A (zh) 图像编码设备、图像解码设备和控制方法
HK40103530A (zh) 图像编码设备、图像解码设备和控制方法
HK40103529A (zh) 图像编码设备、图像解码设备和控制方法
JP2021150723A (ja) 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19825656

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19825656

Country of ref document: EP

Kind code of ref document: A1