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

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

Info

Publication number
WO2020129407A1
WO2020129407A1 PCT/JP2019/041916 JP2019041916W WO2020129407A1 WO 2020129407 A1 WO2020129407 A1 WO 2020129407A1 JP 2019041916 W JP2019041916 W JP 2019041916W WO 2020129407 A1 WO2020129407 A1 WO 2020129407A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
image
quantization matrix
quantization
unit
Prior art date
Application number
PCT/JP2019/041916
Other languages
English (en)
French (fr)
Inventor
真悟 志摩
Original Assignee
キヤノン株式会社
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
Priority to RU2021121029A priority Critical patent/RU2765428C1/ru
Priority to BR112021011586-2A priority patent/BR112021011586A2/pt
Priority to CN201980083165.0A priority patent/CN113196760B/zh
Priority to CN202410242403.0A priority patent/CN118018734A/zh
Priority to EP19899876.7A priority patent/EP3902255A4/en
Priority to KR1020217021398A priority patent/KR20210095947A/ko
Priority to CN202410242415.3A priority patent/CN118018737A/zh
Priority to CN202410242400.7A priority patent/CN118018733A/zh
Application filed by キヤノン株式会社 filed Critical キヤノン株式会社
Priority to CN202410242411.5A priority patent/CN118018736A/zh
Priority to CN202410242408.3A priority patent/CN118018735A/zh
Publication of WO2020129407A1 publication Critical patent/WO2020129407A1/ja
Priority to US17/347,352 priority patent/US11849114B2/en
Priority to US18/512,885 priority patent/US20240089448A1/en
Priority to US18/512,605 priority patent/US20240089445A1/en
Priority to US18/512,861 priority patent/US20240089447A1/en
Priority to US18/512,813 priority patent/US20240089446A1/en
Priority to US18/512,585 priority patent/US20240089444A1/en

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/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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/18Methods 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 a set of transform coefficients
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to an image encoding device, an image decoding device, a control method for them, and a program.
  • HEVC High Efficiency Video Coding
  • HEVC High Efficiency Video Coding
  • a basic block having a size larger than that of a conventional macroblock (16 ⁇ 16 pixels) is adopted in order 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 which are units for prediction and conversion.
  • Patent Document 1 discloses a technique for encoding such a quantization matrix.
  • VVC Very Video Coding
  • the introduction of a quantization matrix is being considered as in HEVC.
  • the quantization matrix in HEVC is based on the conventional prediction methods such as intra prediction and inter prediction, and cannot support weighted intra/inter prediction, which is a new prediction method. Therefore, there is a problem that the weighted intra/inter prediction error cannot be quantized according to the frequency component and the subjective image quality cannot be improved.
  • the present invention has been made in view of such a problem, and an object of the present invention is to provide a technique that enables a quantization process using a quantization matrix corresponding to weighted intra/inter prediction and improves the subjective image quality.
  • the image coding apparatus of the present invention has the following configuration. That is, An image encoding device for encoding an image, For a target block of a predetermined size to be encoded in the image, a predicted image is generated from both the intra-predicted image obtained by the intra-prediction process and the inter-predicted image obtained by the inter-prediction process, and the target block and the prediction are performed. Prediction means for obtaining a prediction error that is a difference from the image, Conversion means for frequency-converting the prediction error obtained by the prediction means, Quantization means for quantizing the transform coefficient obtained by the transform means using a quantization matrix; Encoding means for entropy-encoding the transform coefficient after being quantized by the quantizing means.
  • the present invention it is possible to improve the subjective image quality by performing quantization using a quantization matrix even with respect to an error in a new prediction method that uses both intra prediction pixels and inter prediction pixels.
  • FIG. 16 is a block diagram showing a hardware configuration example of a computer applicable as an image encoding device and a decoding device. The figure which shows an example of the bit stream structure produced
  • FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
  • FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
  • FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
  • FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
  • FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
  • FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
  • FIG. 6 is a diagram showing an example of a quantization matrix used in the embodiment.
  • FIG. 6 is a diagram showing an example of a quantization matrix used in the embodiment.
  • FIG. 6 is a diagram showing an example of a quantization matrix used in the embodiment.
  • the figure which shows the difference value matrix of a quantization matrix. which shows the example of the encoding table for quantization matrices.
  • FIG. 1 is a block diagram showing the image coding apparatus according to the first embodiment.
  • the image coding apparatus has a control unit 150 that controls the components described below and controls the entire apparatus.
  • the control unit 150 includes a CPU, a ROM that stores programs executed by the CPU and various parameters, and a RAM that is used as a work area of the CPU.
  • the OS operating system
  • the program, and the parameters stored in the ROM or another nonvolatile storage device may be loaded into the RAM, and then the program may be executed under the control of the OS.
  • the image coding apparatus includes an input terminal 101, a block division unit 102, a quantization matrix holding unit 103, a prediction unit 104, a conversion/quantization unit 105, an inverse quantization/inverse conversion unit 106, an image reproduction unit 107, a frame.
  • the memory 108, the in-loop filter unit 109, the encoding unit 110, the integrated encoding unit 111, the output terminal 112, and the quantization matrix encoding unit 113 are included.
  • image data (for example, 30 frames/second) is supplied to the input terminal 101 of this device from an image generation source (not shown).
  • image generation source does not matter, but it is simply an image pickup unit or a video camera, or a hard disk or a storage medium for storing image data to be encoded.
  • the block division unit 102 divides one frame of image data input via the input terminal 101 into a plurality of basic blocks, and supplies the image data in units of basic blocks to the prediction unit 104 in the subsequent stage.
  • the quantization matrix holding unit 103 holds a plurality of quantization matrices used for quantization processing.
  • the method of generating the held quantization matrix is not particularly limited, but the user may input the quantization matrix, or even if it is calculated from the characteristics of the input image, the one specified beforehand as the initial value is used. May be.
  • the prediction unit 104 performs sub-block division on the image data in basic block units, performs intra prediction that is intra-frame prediction and inter prediction that is inter-frame prediction in sub-block units, and generates predicted image data. Further, the prediction unit 104 calculates and outputs prediction error data from the image data of the sub-block and the predicted image data. The prediction unit 104 also outputs information necessary for prediction, for example, information about subblock division, prediction mode, motion vector, and the like together with the prediction error. The information necessary for this prediction will be referred to as prediction information below.
  • the transform/quantization unit 105 obtains transform coefficients by performing orthogonal transform (frequency transform) on the prediction error data supplied from the prediction unit 104 in sub-block units. Then, the transform/quantization unit 105 quantizes the transform coefficient of the target sub-block by using the corresponding quantization matrix held by the quantization matrix holding unit 103 (hereinafter, the quantized transform coefficient is simply referred to as “ Quantized coefficient").
  • the inverse quantization/inverse transform unit 106 reproduces the transform coefficient by inversely quantizing the quantized coefficient input from the transform/quantization unit 105 using the corresponding quantization matrix held by the quantization matrix holding unit 103. (Derivation), and the transform coefficient is inversely orthogonally transformed to reproduce the prediction error data.
  • the image reproduction unit 107 appropriately refers to the frame memory 108 based on the prediction information input from the prediction unit 104 to generate predicted image data. Then, the image reproduction unit 107 generates reproduction image data from the generated prediction image data and the prediction error data from the inverse quantization/inverse conversion unit 106, and outputs the reproduction image data to the frame memory 108 again.
  • the in-loop filter unit 109 performs in-loop filter processing such as deblocking filter and sample adaptive offset on the reproduced image data from the image reproducing unit 107 stored in the frame memory 108, and outputs the image data after the filter processing. It is stored in the frame memory 109 again.
  • the encoding unit 110 encodes the quantized coefficient input from the transform/quantization unit 105 and the prediction information input from the prediction unit 104 to generate and output code data.
  • the quantization matrix encoding unit 113 encodes the quantization matrix input from the quantization matrix holding unit 103 to generate and output coded data of the quantization matrix.
  • the integrated coding unit 111 uses the coded data of the quantization matrix output from the quantization matrix coding unit 113 to generate header coded data. Furthermore, the integrated encoding unit 111 forms a bitstream by combining the generated header encoded data with the encoded data of the image input from the encoding unit 110, and outputs the bitstream to the outside via the output terminal 112.
  • the output destination is not particularly limited, but it may be a storage device such as a recording medium or a file server on the network.
  • the quantization matrix holding unit 103 generates a quantization matrix.
  • the quantization matrix is generated according to the size of the sub block to be encoded and the type of prediction method. In this embodiment, it is assumed that a quantization matrix of 8 ⁇ 8 pixel size corresponding to the 8 ⁇ 8 pixel basic block 700 shown in FIG. 7A is generated.
  • the generated quantization matrix is not limited to this, and a quantization matrix corresponding to the shape of the sub block such as 4 ⁇ 8 pixels, 8 ⁇ 4 pixels, or 4 ⁇ 4 pixels may be generated.
  • the method of determining each element that constitutes the quantization matrix is not particularly limited. For example, a predetermined initial value may be used or may be set individually. It may also be generated according to the characteristics of the image.
  • the quantization matrix holding unit 103 holds the quantization matrix generated in this way.
  • reference numerals 800 to 802 indicate the quantization matrices generated and held by the quantization matrix holding unit 103 in the embodiment.
  • the quantization matrix 800 of FIG. 8A shows the quantization matrix used for intra prediction.
  • the quantization matrix 801 of FIG. 8B has shown the quantization matrix used for inter prediction.
  • the quantization matrix 802 in FIG. 8C shows a quantization matrix corresponding to the weighted intra/inter prediction.
  • each of the quantization matrices 800 to 802 is composed of 8 ⁇ 8 elements (quantization step values). In the present embodiment, it is assumed that the three types of quantization matrices 800 to 802 shown in FIGS.
  • each element in the quantization matrix is not limited to this. It is also possible to hold a plurality of quantization matrices for the same prediction method depending on the size of the sub-block or whether the coding target is a luminance block or a chrominance block.
  • the quantization matrix realizes the quantization processing according to the human visual characteristics, the element for the DC component corresponding to the upper left corner of the quantization matrices 800 to 802 is shown in FIGS. 8A to 8C.
  • the element of the AC component which is small and corresponds to the lower right part, is large.
  • the quantization matrix coding unit 113 sequentially reads the quantization matrices 800 to 802 stored in the two-dimensional shape from the quantization matrix holding unit 106, scans each element, calculates the difference, and creates a one-dimensional matrix. Deploy.
  • each of the quantization matrices 800 to 802 shown in FIGS. 8A to 8C uses the scanning method shown in FIG. 9, and the difference between each element and the immediately preceding element is calculated in the scanning order.
  • the quantization matrix 802 for 8 ⁇ 8 pixels shown in FIG. 8C is scanned by the scanning method shown in FIG. 9, but the first element “8” located at the upper left corner is immediately below it.
  • the element "11" located at is scanned and the difference "+3" is calculated.
  • the first element of the quantization matrix 802 (in the present embodiment, for encoding “8”, the difference from a predetermined initial value (for example, “8”) is calculated, but of course, the present invention is not limited to this. Instead, the difference from an arbitrary value or the value of the first element itself may be used.
  • the quantization matrices 800 to 802 of FIGS. 8A to 8C use the scanning method of FIG. 9 to generate the one-dimensional difference matrices 1000 to 1002 shown in FIGS. 10A to 10C. ..
  • the quantization matrix coding unit 113 further codes the difference matrices 1000 to 1002 to generate quantization matrix coded data.
  • the coding is performed using the coding table shown in FIG. 11A, but the coding table is not limited to this, and the coding table shown in FIG. 11B may be used, for example.
  • the quantization matrix code data generated in this way is output to the integrated coding unit 111 in the subsequent stage.
  • the integrated coding unit 111 codes the header information necessary for coding the image data, and integrates the coded data of the quantization matrices 800 to 802. Subsequently, encoding of image data will be described.
  • the block division unit 102 divides one frame of image data input from the input terminal 101 into a plurality of basic blocks, and supplies the image data in basic block units to the prediction unit 104.
  • the size of the basic block is 8 ⁇ 8 pixels.
  • the prediction unit 104 executes a prediction process on the image data in basic block units input from the block division unit 102. Specifically, the prediction unit 104 determines a sub-block division method for dividing a basic block into finer sub-blocks, and further sets prediction modes such as intra prediction, inter prediction, and weighted intra/inter prediction for each sub block. decide.
  • FIG. 7A to 7F show examples of subblock division patterns.
  • Reference numeral 700 which indicates a thick frame on the outer side of the drawing, represents a basic block, and has a size of 8 ⁇ 8 pixels in the embodiment. The rectangle in the thick frame represents the sub block.
  • FIG. 7B shows an example of conventional square sub-block division, in which a basic block 700 of 8 ⁇ 8 pixels is divided into four sub-blocks of 4 ⁇ 4 pixels.
  • FIGS. 7C to 7F show an example of rectangular sub-block division.
  • the basic block 700 shows an example of division into two vertically long sub blocks of 4 ⁇ 8 pixels.
  • FIG. 7C the basic block 700 shows an example of division into two vertically long sub blocks of 4 ⁇ 8 pixels.
  • 7D shows division of the basic block 700 into two sub-blocks each having a horizontally long rectangular shape of 8 ⁇ 4 pixels.
  • 7E and 8F also show division of the basic block 700 into three rectangular sub-blocks with a ratio of 1:2:1. In this way, not only the square but also the rectangular sub-block is used to perform the encoding process.
  • FIG. 7A A quadtree partition as shown in FIG. 7B, a ternary tree partition as shown in FIGS. 7E and 8F, or a binary tree partition as shown in FIGS. 7C and 7D may be used.
  • FIG. 7A the quantization matrix corresponding to the sub-block used in the quantization matrix holding unit 103 is generated.
  • the generated quantization matrix will be encoded by the quantization matrix encoding unit 113.
  • Intra-prediction is an intra-prediction method that indicates an intra-prediction method such as horizontal prediction, vertical prediction, or DC prediction by generating a prediction pixel of a coding target block using coded pixels that are spatially peripheral to the coding target block.
  • a prediction mode is also generated.
  • inter prediction a predicted pixel of a coding target block is generated using coded pixels of a frame temporally different from the coding target block, and motion information indicating a frame to be referenced, a motion vector, and the like is also generated.
  • the pixel value generated by the above-mentioned intra prediction and the pixel value generated by the above-mentioned inter prediction are weighted and averaged to generate a prediction pixel of the encoding target block. is there. For example, it is calculated using an equation such as the following equation (1).
  • p[x][y] ⁇ w ⁇ pinter[x][y]+(8 ⁇ w) ⁇ pintra[x][y] ⁇ >>3...(1) (However, ">>" indicates a bit shift to the right)
  • p[x][y] is a prediction pixel by weighted intra/inter prediction for the coordinates (x, y) in the target block to be encoded.
  • pinter[x][y] indicates a pixel value in the inter prediction image with respect to the coordinates (x, y) in the target block. Further, pintra[x][y] indicates a pixel value in the intra-prediction image with respect to the coordinates (x, y) in the block of interest.
  • the prediction pixel of the current block is generated, and the intra prediction mode and motion information used for generating the prediction pixel are also generated.
  • the prediction unit 104 generates predicted image data of the sub-block to be coded from the determined prediction mode and coded pixels. Then, the prediction unit 104 calculates the difference between the image data of the sub-block to be encoded and the generated prediction image data to generate prediction error data, and the generated prediction error data is sent to the conversion/quantization unit 105. Supply. In addition, the prediction unit 104 transmits prediction information such as sub-block division, prediction mode (information indicating whether intra prediction, inter prediction, or weighted intra/inter prediction) and vector data to the encoding unit 110 and the image. It is supplied to the reproduction unit 107.
  • prediction information such as sub-block division, prediction mode (information indicating whether intra prediction, inter prediction, or weighted intra/inter prediction) and vector data to the encoding unit 110 and the image. It is supplied to the reproduction unit 107.
  • the transform/quantization unit 105 performs orthogonal transform/quantization on the input prediction error data to generate a quantized coefficient. Specifically, the transform/quantization unit 105 performs an orthogonal transform process corresponding to the size of the prediction error data to generate an orthogonal transform coefficient. Next, the transforming/quantizing unit 105 selects the quantization matrix stored in the quantization matrix holding unit 103 for the orthogonal transform coefficient according to the prediction mode, quantizes using the selected quantization matrix, and quantizes Generate a conversion factor.
  • the quantization matrix 800 shown in FIG. 8A is used for the sub-block for which the prediction process has been performed by intra prediction. Further, the quantization matrix 801 shown in FIG.
  • the transform/quantization unit 105 supplies the generated quantized coefficient to the encoding unit 110 and the inverse quantization/inverse transform unit 106.
  • the inverse quantization/inverse transform unit 106 inversely quantizes the input quantized coefficient of the sub-block using the quantization matrix stored in the quantization matrix holding unit 103 to reproduce the transformed coefficient.
  • the inverse quantization/inverse transform unit 106 further performs inverse orthogonal transform on the reproduced transform coefficient to reproduce the prediction error data.
  • a quantization matrix corresponding to the prediction mode of the current block is used, as in the transform/quantization unit 105. Specifically, the same quantization matrix used in the transform/quantization unit 105 is used.
  • the inverse quantization/inverse transformation unit 106 then supplies the reproduced prediction error data to the image reproduction unit 107.
  • the image reproduction unit 107 appropriately refers to the frame memory 108 based on the prediction information input from the prediction unit 104, and reproduces the predicted image data. Then, the image reproducing unit 107 reproduces the image data of the sub block by adding the reproduced predicted image and the prediction error data input from the inverse quantization/inverse transform unit 106, and stores it in the frame memory 108. ..
  • the in-loop filter unit 109 reads the reproduced image data from the frame memory 108 and performs in-loop filter processing such as deblocking filter. Then, the in-loop filter unit 109 stores the filtered image data in the frame memory 108 again.
  • the coding unit 110 entropy-codes the quantized coefficient generated by the transform/quantization unit 105 and the prediction information input from the prediction unit 104 in sub-block units to generate code data.
  • the method of entropy coding is not particularly limited, but Golomb coding, arithmetic coding, Huffman coding, or the like can be used.
  • the generated code data is supplied to the integrated coding unit 111.
  • the integrated coding unit 111 multiplexes the code data of the header and the code data input from the coding unit 110 to form a bitstream. Finally, the bit stream is output from the terminal 112 to the outside.
  • FIG. 6A shows an example of the data structure of the bitstream output in the first embodiment.
  • the sequence header includes the coded data of the quantization matrix, and is composed of the coded data of each element.
  • the encoded position is not limited to this, and it goes without saying that the encoded position may be encoded in the picture header portion or other header portions.
  • the quantization matrix holding unit 103 Prior to image coding, in S301, the quantization matrix holding unit 103 generates and holds a two-dimensional quantization matrix.
  • the quantization matrix holding unit 103 corresponds to the 8 ⁇ 8 pixel sub-blocks shown in FIGS. 8A to 8C, and is applicable to the prediction methods of intra prediction, inter prediction, and weighted intra/inter prediction.
  • the corresponding quantization matrices 800 to 802 are generated and held.
  • the quantization matrix encoding unit 113 scans the quantization matrices 800 to 802 generated and held in step S301 to calculate the difference between each element and generate a one-dimensional difference matrix.
  • the quantization matrix encoding unit 113 of this embodiment generates the difference matrices 1000 to 1002 shown in FIGS. 10A to 10C by using the scanning method of FIG. 9 for the quantization matrices 800 to 802 shown in FIGS. 8A to 8C. Will be done.
  • the quantization matrix encoding unit 113 refers to the encoding table shown in FIG. 11A (or FIG. 11B) to generate a binary code for the generated difference matrices 1000 to 1002, and generates encoded data. Go.
  • the integrated coding unit 111 generates and outputs the header data necessary for coding the image data together with the generated code data of the quantization matrices 800 to 802.
  • the block dividing unit 102 divides the input image in frame units into basic block units.
  • the prediction unit 104 divides the image data in basic block units generated in step S304 into one or more subblocks, performs prediction processing in subblock units, and determines subblock division information and prediction modes. And the prediction information and prediction image data are generated.
  • three types of prediction methods, intra prediction, inter prediction, and weighted intra/inter prediction are used.
  • the prediction unit 104 calculates prediction error data that is a difference between the input image data and the predicted image data.
  • the specific processing example by the prediction unit 104 is as follows.
  • the prediction unit 104 performs intra prediction processing on the image data of the target sub-block to be encoded by referring to the coded area of the same frame to which the target sub-block belongs, and the intra-predicted image data Pintra[x ] [y] is generated.
  • the prediction unit 104 performs inter prediction processing by referring to an already-coded frame (for example, the immediately preceding frame) different from the frame to which the target sub-block to be encoded belongs, and the inter-prediction image data Pinter[x][ y] is generated. Then, the weighted intra/inter prediction image data P[x][y] is generated based on the equation (1) shown above.
  • the prediction unit 104 obtains the sum of squares (or the sum of absolute values) of each of these three pieces of prediction image data and the difference data between the pixel values of the target sub-block, and the sum of squares becomes the minimum.
  • the prediction mode of the predicted image data is determined as the prediction mode of the sub-block of interest.
  • the weight value w is uniquely calculated according to the intra prediction mode, the size of the motion vector, the position of the target sub-block, etc., but the calculation method of the weight value w is not limited to this. ..
  • the transform/quantization unit 105 orthogonally transforms the prediction error data calculated in S305 to generate transform coefficients. Further, the transform/quantization unit 105 selects one of the quantization matrices generated/held in S301 based on the prediction information, performs quantization using the selected quantization matrix, and then the quantization coefficient To generate.
  • the quantization matrix 800 of FIG. 8A is used for the sub-block for which intra prediction is used
  • the quantization matrix 801 and weighted intra/inter prediction of FIG. 8B are used for the sub-block for which inter prediction is used.
  • the quantization matrix 802 of FIG. 8C is used for the sub-blocks.
  • step S307 the inverse quantization/inverse transform unit 106 inversely quantizes the quantized coefficient generated in step S305 using the quantization matrix generated/held in step S301 to reproduce the transformed coefficient.
  • the inverse quantization/inverse transform unit 106 further performs inverse orthogonal transform on the transform coefficient to reproduce the prediction error data.
  • the same quantization matrix used in S306 is used, and the inverse quantization process is performed.
  • the image reproduction unit 107 reproduces the predicted image data based on the prediction information generated at S305.
  • the image reproducing unit 107 further reproduces the image data of the sub block from the reproduced predicted image data and the prediction error data generated in S307.
  • the encoding unit 110 encodes the prediction information generated in S305 and the quantized coefficient generated in S306 to generate coded data. In addition, a bit stream including other code data is generated.
  • control unit 150 determines whether or not the coding of all the basic blocks in the frame is completed, and if so, the process proceeds to S311; otherwise, the next basic block is selected. In order to perform the target encoding, the process returns to S305.
  • step S311 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 process using the dedicated quantization matrix is performed on the sub-block using the weighted intra/inter prediction, thereby performing the quantization for each frequency component. Can be controlled to improve the subjective image quality.
  • a quantization matrix is individually defined for three types of prediction methods of intra prediction, inter prediction, and weighted intra/inter prediction, and all three types of quantization matrices are encoded. However, some of them may be shared.
  • quantization is performed using the quantization matrix 800 of FIG. 8A similarly to the sub-block using intra prediction, and encoding of the quantization matrix 802 of FIG. 8C is performed. Can be omitted. As a result, it is possible to reduce the code amount corresponding to the quantization matrix 802 in FIG. 8C and reduce the image quality deterioration caused by an error due to intra prediction such as block distortion.
  • quantization is performed using the quantization matrix 801 in FIG. 8B as in the subblock using inter prediction, and the code of the quantization matrix 802 in FIG. 8C is coded. It is also possible to omit the conversion. As a result, it is possible to reduce the code amount of the quantization matrix of FIG. 8C and reduce the image quality deterioration caused by an error due to inter prediction such as a jagged motion.
  • the quantization matrix used for the sub-block using the weighted intra/inter prediction according to the value of the weight value w indicating the weight of the intra prediction pixel value and the inter prediction pixel value in the above formula (1). May be adaptively determined. For example, if the value of the weight value w that minimizes the difference is equal to or larger than a predetermined value (for example, the center value of 4), the quantization matrix 801 of FIG. 8B is used. It is also possible to adopt a configuration used for sub-blocks using inter prediction. As a result, it is possible to reduce the amount of code for which the coding of the quantization matrix in FIG. 8C is omitted, while reducing the deterioration in image quality for the prediction method with the larger weight.
  • a predetermined value for example, the center value of 4
  • the quantization matrix used for the sub-block using the weighted intra/inter prediction may be newly generated according to the value of the weight value w.
  • the calculation can be performed using the following equation (2).
  • QM[x][y] ⁇ w ⁇ QMinter[x][y]+(8 ⁇ w) ⁇ QMintra[x][y] ⁇ >>3...(2)
  • QM[x][y] is the element (quantization step value) at the coordinate (x, y) of the quantization matrix used for the sub-block using the calculated weighted intra/inter prediction. ).
  • QMinter[x][y] is an element at the coordinate (x, y) of the quantization matrix used for the sub block for inter prediction.
  • QMintra[x][y] is an element at the coordinate (x, y) of the quantization matrix for intra prediction.
  • the quantization matrix for the sub-block using the weighted intra/inter prediction is uniquely determined, but it may be selectable by introducing an identifier.
  • FIG. 6B selectively introduces the quantization matrix coding method information code to selectively perform the quantization matrix coding for the sub-blocks using the weighted intra/inter prediction.
  • the quantization matrix encoding method information code indicates 0
  • the quantization matrix 801 (FIG. 8B) for the sub block using the inter prediction is used for the sub block using the weighted intra/inter prediction.
  • the quantization matrix 802 (FIG. 8C) which is individually encoded is used for the sub-blocks using the weighted intra/inter prediction.
  • the quantization matrix 802 (FIG. 8C) which is individually encoded is used for the sub-blocks using the weighted intra/inter prediction.
  • FIG. 2 is a block diagram of the image decoding apparatus.
  • the image decoding device has a control unit 250 that controls the components described below and controls the entire device.
  • the control unit 250 includes a CPU, a ROM that stores programs executed by the CPU and various parameters, and a RAM that is used as a work area of the CPU.
  • the OS operating system
  • the program, and the parameters stored in the ROM or another nonvolatile storage device may be loaded into the RAM, and then the program may be executed under the control of the OS.
  • 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, and The quantization matrix decoding unit 209 is included.
  • the image decoding apparatus is configured to input the bitstream generated by the image encoding apparatus described above in frame units.
  • the separating/decoding unit 202 inputs the coded bitstream via the input terminal 201, separates the coded bitstream into coded data related to decoding information and coefficients, and decodes coded data existing in the header part of the bitstream. ..
  • the separation/decoding unit 202 of the present embodiment separates the encoded data of the quantization matrix from the encoded bitstream, and supplies the encoded data to the quantization matrix decoding unit 209. Further, the separation/decoding unit 202 separates the encoded data of the image data from the encoded bitstream, and supplies the encoded data to the decoding unit 203. In short, the demultiplexing/decoding unit 202 performs an operation reverse to that of the integrated coding unit 111 in FIG. 1.
  • the quantization matrix decoding unit 209 decodes the encoded data of the quantization matrix from the separation decoding unit 202 and reproduces and holds the quantization matrices 800 to 802.
  • the decoding unit 203 decodes the encoded data input from the separation decoding unit 202, and reproduces the quantized coefficient and the prediction information.
  • the inverse quantization/inverse transform unit 204 similarly to the inverse quantization/inverse transform unit 106 in FIG. 1, uses the regenerated quantization matrices 800 to 802 to dequantize the quantized coefficient to obtain the transformed coefficient, and Inverse orthogonal transformation is performed to reproduce the prediction error data.
  • the image reproducing unit 205 appropriately refers to the frame memory 206 based on the input prediction information to generate predicted image data. Then, the image reproduction unit 205 adds the prediction error data reproduced by the inverse quantization/inverse conversion unit 204 to this predicted image data to generate image data, and stores it in the frame memory 206.
  • the in-loop filter unit 207 similar to the in-loop filter unit 109 in FIG. 1, performs in-loop filter processing such as deblocking filter on the reproduced image stored in the frame memory 206, and frame the filtered image data. It is stored again in the memory 206. Then, the output terminal 208 outputs the reproduced image data to an external device (for example, a display device).
  • in-loop filter processing such as deblocking filter
  • the output terminal 208 outputs the reproduced image data to an external device (for example, a display device).
  • bitstream generated in the first embodiment is input in frame units.
  • the one-frame bit stream input via the input terminal 201 is supplied to the separation decoding unit 202.
  • the separating/decoding unit 202 separates the bitstream into code data related to the decoding process and code data, and decodes the code data existing in the header of the bitstream. More specifically, the separation decoding unit 202 reproduces the coded data of the quantization matrix.
  • the separation decoding unit 202 of the present embodiment first extracts the coded data of the quantization matrices 800 to 802 of FIGS. 8A to 8C from the sequence header of the bit stream shown in FIG. 6A, and supplies this to the quantization matrix decoding unit 209. .. Subsequently, the separation decoding unit 202 reproduces the code data in sub-block units of the basic block of the picture data, and supplies it to the decoding unit 203.
  • the quantization matrix decoding unit 209 first decodes the input quantization matrix code data, and reproduces the one-dimensional difference matrix 1000 to 1002 shown in FIGS. 10A to 10C. In this embodiment, similar to the first embodiment, decoding is performed using the coding table shown in FIG. 11A (or FIG. 11B), but the coding table is not limited to this, and the first embodiment Other encoding tables may be used as long as the same format is used. Further, the quantization matrix decoding unit 209 reversely scans the reproduced one-dimensional difference matrix and reproduces the two-dimensional quantization matrix. Here, the operation opposite to the operation of the quantization matrix encoding unit 113 of the first embodiment is performed.
  • the quantization matrix decoding unit 209 of the present embodiment uses the scanning method shown in FIG. 9 to convert the difference matrices 1000 to 1002 shown in FIGS. 10A to 10C into three types shown in FIGS. 8A to 8C, respectively.
  • the quantization matrices 800 to 802 will be reproduced and held.
  • the decoding unit 203 decodes the coded data and reproduces the quantized coefficient and the prediction information. Then, the decoding unit 203 supplies the reproduced quantized coefficient to the inverse quantization/inverse transform unit 204, and supplies the reproduced prediction information to the image reproducing unit 205.
  • the inverse quantization/inverse conversion unit 204 selects one of the quantization matrices 800 to 802 reproduced by the quantization matrix decoding unit 209. Then, the inverse quantization/inverse transform unit 204 inversely quantizes the input quantized coefficient using the selected quantization matrix to generate an orthogonal transformed coefficient. The inverse quantization/inverse transform unit 204 further performs inverse orthogonal transform to reproduce the prediction error data, and supplies the reproduced prediction information to the image reproduction unit 205.
  • the inverse quantization/inverse transform unit 204 of the present embodiment determines the quantization matrix used in the inverse quantization process according to the prediction mode of the decoding target block which is determined according to the prediction information reproduced by the decoding unit 203. That is, the quantization matrix 800 of FIG.
  • the quantization matrix 801 of FIG. 8B is used for the sub-blocks using intra prediction
  • the quantization matrix 801 of FIG. 8B is used for the sub-blocks of inter prediction.
  • the quantization matrix 802 shown in FIG. 8C is selected for the sub-block.
  • the quantization matrix used is not limited to this, as long as it is the same as the quantization matrix used in the conversion/quantization unit 105 and the inverse quantization/inverse conversion unit 106 of the first embodiment. good.
  • the image reproducing unit 205 appropriately refers to the frame memory 206 based on the prediction information input from the decoding unit 203 and reproduces the predicted image data.
  • three types of prediction methods of intra prediction, inter prediction, and weighted intra/inter prediction are used, as in the prediction unit 104 of the first embodiment.
  • the specific prediction process is similar to that of the prediction unit 104 according to the first embodiment, and thus the description thereof will be omitted.
  • the image reproduction unit 205 reproduces the image data by adding the prediction error data input from the inverse quantization/inverse conversion unit 204 to the predicted image data, and stores the image data in the frame memory 206.
  • the stored image data becomes a prediction reference candidate when decoding other sub-blocks.
  • the in-loop filter unit 207 reads the reproduced image data from the frame memory 206 and performs in-loop filter processing such as deblocking filter, as in the in-loop filter unit 109 in FIG. Then, the in-loop filter unit 207 stores the filtered image data 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.
  • step S ⁇ b>401 the separation decoding unit 202 separates the information related to the decoding process and the code data related to the coefficient from the bit stream, and decodes the code data of the header part. More specifically, the coded data of the quantization matrix is reproduced.
  • the quantization matrix decoding unit 209 decodes the coded data of the quantization matrix reproduced at S401, and reproduces the one-dimensional difference matrix 1000 to 1002 shown in FIGS. 10A to 10C. Further, the quantization matrix decoding unit 209 reversely scans the reproduced one-dimensional difference matrices 1000 to 1002 and reproduces and holds the two-dimensional quantization matrices 800 to 802.
  • the quantization matrix decoding unit 209 uses the scanning method shown in FIG. 9 to calculate the difference matrices 1000 to 1002 shown in FIGS. 10A to 10C into three types shown in FIGS. 8A to 8C, respectively. Quantization matrices 800 to 802 are reproduced and held.
  • the decoding unit 203 decodes the code data separated in S401 and reproduces the quantization coefficient and the prediction information.
  • step S404 the inverse quantization/inverse transform unit 204 performs inverse quantization on the quantized coefficient using any of the quantization matrices 800 to 802 reproduced in step S402 to obtain a transformed coefficient.
  • the inverse quantization/inverse transform unit 204 further performs inverse orthogonal transform to reproduce the prediction error data.
  • the inverse quantization/inverse transform unit 204 of this embodiment determines the quantization matrix to be used according to the prediction mode determined by the prediction information reproduced in S403. That is, the quantization matrix 800 of FIG. 8A is used for the sub-block in which intra prediction is used. Further, the quantization matrix 801 of FIG. 8B is used for the sub-block in which inter prediction is used. Then, the quantization matrix 802 of FIG. 8C is used for the sub-block in which the weighted intra/inter prediction is used.
  • the quantization matrix used is not limited to this, and may be the same as the quantization matrix used in S306 and S307 of the first embodiment.
  • the image reproduction unit 205 reproduces the predicted image data from the prediction information generated in S403.
  • the image reproducing unit 205 of this embodiment uses three types of prediction methods, which are intra prediction, inter prediction, and weighted intra/inter prediction, as in S305 of the first embodiment. Further, the image reproducing unit 205 adds the prediction error data generated in S404 to the reproduced predicted image data to reproduce the image data.
  • control unit 250 determines whether or not the decoding of all the basic blocks in the frame is completed, and if so, the process proceeds to S407; otherwise, the control unit 250 decodes the next basic block. The process returns to S403 to be the target.
  • step S407 the in-loop filter unit 207 performs in-loop filter processing on the image data reproduced in step S405, generates a filtered image, and ends the processing.
  • the bitstream in which the subjective image quality is improved by controlling the quantization for each frequency component is generated. Can be decrypted.
  • a quantization matrix is individually defined for three types of prediction methods of intra prediction, inter prediction, and weighted intra/inter prediction, and all three types of quantization matrices are decoded. However, some of them may be shared.
  • inverse quantization is performed using the quantization matrix 800 of FIG. 8A, and decoding of the quantization matrix 802 of FIG. 8C is performed. Can be omitted.
  • inverse quantization is performed using the quantization matrix 801 in FIG. 8B, and decoding of the quantization matrix in FIG. 8C is performed. Can be omitted. As a result, it is possible to decode a bitstream in which the image quality deterioration caused by an error due to inter prediction such as jerky motion is reduced while reducing the code amount for the quantization matrix 802 in FIG. 8C.
  • the quantization matrix used for the sub-block using the weighted intra/inter prediction according to the value of the weight value w indicating the weight of the intra prediction pixel value and the inter prediction pixel value in the above formula (1). May be adaptively determined. For example, when the value of w is equal to or larger than a predetermined value (for example, the center value of 4), the quantization matrix 800 of FIG. 8B is used for the sub-block using the weighted intra/inter prediction. It is also possible to adopt a configuration to be used. By this means, it is possible to decode a bitstream in which the amount of code is reduced by the amount that the encoding of the quantization matrix 802 in FIG.
  • Equation (2) a configuration may be used in which a quantization matrix used for a sub-block using weighted intra/inter prediction is newly generated according to the value of the weight value w.
  • appropriate quantization control is performed according to the weight value w, and a bitstream with improved subjective image quality is decoded. be able to.
  • the quantization matrix for the sub-block using the weighted intra/inter prediction is uniquely determined, but it may be selectable by introducing an identifier.
  • FIG. 6B selectively introduces the quantization matrix coding method information code to selectively perform the quantization matrix coding for the sub-blocks using the weighted intra/inter prediction.
  • the quantization matrix encoding method information code indicates 0
  • the quantization matrix 801 (FIG. 8B) for the sub block using the inter prediction is used for the sub block using the weighted intra/inter prediction.
  • the quantization matrix 802 (FIG. 8C) which is individually coded is used for the sub-block using the weighted intra/inter prediction.
  • the quantization matrix 802 (FIG. 8C) which is individually coded is used for the sub-block using the weighted intra/inter prediction.
  • each processing unit shown in FIGS. 1 and 2 is described as being configured by hardware. However, the processing performed by each processing unit shown in these figures may be configured by a computer program.
  • FIG. 5 is a block diagram showing a configuration example of computer hardware applicable to the image display device according to each of the above-described embodiments.
  • the CPU 501 controls the entire computer by using the computer programs and data stored in the RAM 502 and the ROM 503, and also executes the above-described processes as those performed by the image processing apparatus according to each of the above embodiments. That is, the CPU 501 functions as each processing unit shown in FIGS.
  • the RAM 502 has an area for temporarily storing a computer program or data loaded from an external storage device 506, data acquired 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, the RAM 502 can be allocated as, for example, a frame memory or can appropriately provide other various areas.
  • the ROM 503 stores setting data of the computer, a boot program, and the like.
  • the operation unit 504 is composed of a keyboard, a mouse and the like, and can be operated by the user of the computer to input various instructions to the CPU 501.
  • the display unit 505 displays the processing result by the CPU 501.
  • the display unit 505 is composed of, for example, a liquid crystal display.
  • the external storage device 506 is a large-capacity information storage device represented by a hard disk drive device.
  • the external storage device 506 stores an OS (operating system) and a computer program for causing the CPU 501 to realize the functions of the units illustrated in FIGS. 1 and 2. Furthermore, each image data to be processed may be stored in the external storage device 506.
  • the computer programs and data stored in the external storage device 506 are appropriately loaded into the RAM 502 under the control of the CPU 501 and are subject to processing by the CPU 501.
  • the I/F 507 can be connected to a network such as a LAN or the Internet, and other devices such as a projection device and a display device, and the computer acquires and sends various information via the I/F 507.
  • the CPU 501 executes the boot program of the ROM 503, loads the OS stored in the external storage device 506 into the RAM 502, and activates the OS.
  • this device can communicate via the interface 507 and functions as an information processing device.
  • the CPU 501 loads an application related to image encoding (corresponding to FIG. 3) from the external storage device 506 to the RAM 502 and executes it, so that the CPU 501 functions as various processing units shown in FIG. Therefore, the present device functions as an image encoding device.
  • the CPU 501 loads an application related to image decoding (corresponding to FIG. 4) from the external storage device 506 to the RAM 502 and executes it, the CPU 501 functions as various processing units shown in FIG. It will function as an image decoding device.
  • the present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. It can also be realized by the processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
  • a circuit for example, ASIC

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本発明は、イントラ予測とインター予測の両方を用いた新しい予測方法に対する誤差データに対しても、適切な量子化マトリクスを用いて量子化を行い、主観画質を向上させる。このため、この発明の画像を符号化する画像符号化装置は、画像における符号化対象の所定のサイズの着目ブロックに対し、イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像の両方から予測画像を生成し、着目ブロックと予測画像との差分である予測誤差を求める予測部と、予測部で得た予測誤差を周波数変換する変換部と、変換部で得た変換係数を、量子化マトリクスを用いて量子化する量子化部と、量子化部による量子化後の変換係数をエントロピー符号化する符号化部とを有する。

Description

画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
 本発明は、画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラムに関するものである。
 動画像の圧縮記録の符号化方式として、HEVC(High Efficiency Video Coding)符号化方式(以下、HEVCと記す)が知られている。HEVCでは符号化効率向上のため、従来のマクロブロック(16×16画素)より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはCTU(Coding Tree Unit)と呼ばれ、そのサイズは最大64×64画素である。CTUはさらに予測や変換を行う単位となるサブブロックに分割される。
 また、HEVCにおいては、量子化マトリクスと呼ばれる、直交変換を施した後の係数(以下、直交変換係数と記す)を、周波数成分に応じて重み付けをする処理が用いられている。人間の視覚には劣化が目立ちにくい高周波成分のデータをより削減することで、画質を維持しながら圧縮効率を高めることが可能となっている。特許文献1には、このような量子化マトリクスを符号化する技術が開示されている。
 近年、HEVCの後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。JVET(Joint Video Experts Team)がISO/IECとITU-Tの間で設立され、VVC(Versatile Video Coding)符号化方式(以下、VVC)として標準化が進められている。符号化効率向上のため、従来のイントラ予測、インター予測に加え、イントラ予測画素とインター予測画素の両方を用いた新たな予測方法(以下、重み付きイントラ・インター予測と呼称する)が検討されている。
特開2013-38758号公報
 VVCにおいても、HEVCと同様に量子化マトリクスの導入が検討されている。しかしながら、HEVCにおける量子化マトリクスは従来のイントラ予測やインター予測といった予測方法を前提としており、新しい予測方法である重み付きイントラ・インター予測には対応できていない。このため、重み付きイントラ・インター予測の誤差に対しては、周波数成分に応じた量子化制御を行うことができず、主観画質を向上できないという問題がある。
 本発明はかかる問題に鑑みなされたものであり、重み付きイントラ・インター予測に対応した量子化マトリクスを用いた量子化処理を可能とし、主観画質を向上させる技術を提供しようとするものである。
 この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
 画像を符号化する画像符号化装置であって、
 画像における符号化対象の所定のサイズの着目ブロックに対し、イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像の両方から予測画像を生成し、前記着目ブロックと前記予測画像との差分である予測誤差を求める予測手段と、
 該予測手段で得た前記予測誤差を周波数変換する変換手段と、
 該変換手段で得た変換係数を、量子化マトリクスを用いて量子化する量子化手段と、
 該量子化手段による量子化後の変換係数をエントロピー符号化する符号化手段とを有する。
 本発明によれば、イントラ予測画素とインター予測画素の両方を用いた新しい予測方法に対する誤差に対しても量子化マトリクスを用いた量子化を行い、主観画質を向上させることができる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
第1の実施形態における画像符号化装置のブロック構成図。 第2の実施形態における画像復号装置のブロック構成図 第1の実施形態に係る画像符号化装置における画像符号化処理を示すフローチャート。 第2の実施形態に係る画像復号装置における画像復号処理を示すフローチャート。 画像符号化装置、復号装置として適用可能なコンピュータのハードウェア構成例を示すブロック図。 第1の実施形態によって生成されるビットストリーム構造の一例を示す図。 第1の実施形態によって生成されるビットストリーム構造の一例を示す図。 の実施形態で用いられるサブブロック分割の一例を示す図。 の実施形態で用いられるサブブロック分割の一例を示す図。 の実施形態で用いられるサブブロック分割の一例を示す図。 の実施形態で用いられるサブブロック分割の一例を示す図。 の実施形態で用いられるサブブロック分割の一例を示す図。 の実施形態で用いられるサブブロック分割の一例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 実施形態で用いられる量子化マトリクスの例を示す図。 量子化マトリクスの要素の走査方法を示す図。 量子化マトリクスの差分値行列を示す図。 量子化マトリクスの差分値行列を示す図。 量子化マトリクスの差分値行列を示す図。 量子化マトリクス用の符号化テーブルの例を示す図。 量子化マトリクス用の符号化テーブルの例を示す図。
 以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。例えば、以下の説明において、「基本ブロック」や「サブブロック」といった語句を用いるが、各実施形態は画像符号化技術において「ブロック」や「ユニット」等の名称で呼ばれる種々の処理単位に応用可能である。
 [第1の実施形態]
 図1は第1の実施形態の画像符号化装置を示すブロック構成図である。画像符号化装置は、以下に説明する構成要素を制御し、装置全体の制御を司る制御部150を有する。この制御部150は、CPU、CPUが実行するプログラムや各種パラメータ等を記憶しているROM、CPUのワークエリアとして使用されるRAMを含む。なお、ROMや他の不揮発性記憶装置に格納されたOS(オペレーティングシステム)、プログラム、パラメータをRAMにロードした後に、OSの制御下でプログラムを実行するようにしてもよい。
 また、画像符号化装置は、入力端子101、ブロック分割部102、量子化マトリクス保持部103、予測部104、変換・量子化部105、逆量子化・逆変換部106、画像再生部107、フレームメモリ108、インループフィルタ部109、符号化部110、統合符号化部111、出力端子112、及び、量子化マトリクス符号化部113を有する。
 上記構成において、不図示の画像発生源から画像データ(例えば30フレーム/秒)が、本装置の入力端子101に供給される。なお、画像発生源の種類は問わないが、簡単には撮像部もしくはビデオカメラ、或いは、符号化対象の画像データを記憶するハードディスクや記憶媒体である。
 ブロック分割部102は、入力端子101を介して入力した1フレームの画像データを複数の基本ブロックに分割し、基本ブロック単位の画像データを後段の予測部104に供給する。
 量子化マトリクス保持部103は、量子化処理に用いる複数の量子化マトリクスを保持する。保持される量子化マトリクスの生成方法については特に限定しないが、ユーザが量子化マトリクスを入力しても良いし、入力画像の特性から算出しても、初期値として予め指定されたものを使用しても良い。本実施形態では、図8A~8Cに示される3種類の8×8画素の直交変換(周波数変換)に対応した2次元の量子化マトリクス801~803が生成され、保持されるものとする。
 予測部104は、基本ブロック単位の画像データに対し、サブブロック分割を行い、サブブロック単位でフレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、予測画像データを生成する。さらに、予測部104は、サブブロックの画像データと予測画像データから予測誤差データを算出し、出力する。また、予測部104は、予測に必要な情報、例えばサブブロック分割、予測モードや動きベクトル等の情報も予測誤差と併せて出力する。以下ではこの予測に必要な情報を予測情報と呼称する。
 変換・量子化部105は、予測部104から供給された予測誤差データをサブブロック単位で直交変換(周波数変換)して変換係数を得る。そして、変換・量子化部105は、着目サブブロックの変換係数を、量子化マトリクス保持部103が保持する該当量子化マトリクスを用いて量子化を行う(以降、量子化後の変換係数を単に「量子化係数」と呼称する)。
 逆量子化・逆変換部106は、変換・量子化部105から入力した量子化係数を、量子化マトリクス保持部103が保持する該当量子化マトリクスを用いて逆量子化することで変換係数を再生(導出)し、さらにその変換係数を逆直交変換して予測誤差データを再生する。
 画像再生部107は、予測部104から入力した予測情報に基づいて、フレームメモリ108を適宜参照して予測画像データを生成する。そして、画像再生部107は、生成した予測画像データと、逆量子化・逆変換部106からの予測誤差データとから、再生画像データを生成し、再びフレームメモリ108に出力する。
 インループフィルタ部109は、フレームメモリ108に格納された画像再生部107からの再生画像データに対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理後の画像データを、再びフレームメモリ109に格納する。
 符号化部110は、変換・量子化部105から入力した量子化係数および予測部104から入力した予測情報を符号化して、符号データを生成し出力する。
 量子化マトリクス符号化部113は、量子化マトリクス保持部103から入力した量子化マトリクスを符号化して、量子化マトリクスの符号データを生成し出力する。
 統合符号化部111は、量子化マトリクス符号化部113からの出力である量子化マトリクスの符号データを用いて、ヘッダ符号データを生成する。さらに統合符号化部111は、生成したヘッダ符号化データに、符号化部110から入力した画像の符号データを結合することでビットストリームを形成し、出力端子112を介して外部に出力する。
 なお、出力先は特に問わないが、記録媒体などの記憶装置や、ネットワーク上のファイルサーバー等で構わない。
 以下、実施形態の画像符号化装置における画像の符号化動作を更に詳しく説明する。
 最初に、量子化マトリクス保持部103は、量子化マトリクスを生成する。量子化マトリクスは、符号化を行うサブブロックのサイズや予測方法の種類に応じて生成される。本実施形態では、図7Aに示された8×8画素の基本ブロック700に対応する、8×8画素サイズの量子化マトリクスを生成するものとする。ただし、生成される量子化マトリクスはこれに限定されず、4×8画素や8×4画素、4×4画素など、サブブロックの形状に対応した量子化マトリクスが生成されても良い。量子化マトリクスを構成する各要素の決定方法は特に限定しない。例えば、所定の初期値を用いても良いし、個別に設定しても良い。また、画像の特性に応じて生成されても構わない。
 量子化マトリクス保持部103は、このようにして生成された量子化マトリクスを保持する。図8A~8Cにおいて、参照符号800~802が、実施形態における量子化マトリクス保持部103が生成し、保持される量子化マトリクスを示している。図8Aの量子化マトリクス800はイントラ予測に用いる量子化マトリクスを示している。図8Bの量子化マトリクス801はインター予測に用いる量子化マトリクスを示している。そして、図8Cの量子化マトリクス802は、重み付きイントラ・インター予測に対応する量子化マトリクスを示している。量子化マトリクス800~802それぞれは、図示の通り、8×8個の要素(量子化ステップ値)で構成される。本実施形態では、図8A~8Cに示された三種の量子化マトリクス800~802が二次元の形状で保持されているものとするが、量子化マトリクス内の各要素はもちろんこれに限定されない。また、サブブロックのサイズによって、あるいは符号化対象が輝度ブロックか色差ブロックかによって、同じ予測方法に対して複数の量子化マトリクスを保持することも可能である。一般的に、量子化マトリクスは人間の視覚特性に応じた量子化処理を実現するため、図8A~8Cに示すように量子化マトリクス800~802の左上隅部分に相当する直流成分用の要素は小さく、右下部分に相当する交流成分の要素は大きくなっている。
 量子化マトリクス符号化部113は、二次元形状で格納されている量子化マトリクス800~802を量子化マトリクス保持部106から順に読み出し、各要素を走査して差分を計算し、一次元の行列に配置する。本実施形態では、図8A~8Cに示された各量子化マトリクス800~802は図9に示された走査方法を用い、要素ごとに走査順に直前の要素との差分を計算するものとする。例えば図8Cで示された8×8画素分の量子化マトリクス802は図9で示された走査方法によって走査されるが、左上隅に位置する最初の要素“8”の次は、そのすぐ下に位置する要素“11”が走査され、差分である“+3”が計算される。また、量子化マトリクス802の最初の要素(本実施形態では“8”の符号化には、所定の初期値(例えば“8”)との差分を計算するものとするが、もちろんこれに限定されず、任意の値との差分や、最初の要素の値そのものを用いても良い。
 このようにして、本実施形態では、図8A~8Cの量子化マトリクス800~802は、図9の走査方法を用い、図10A~10Cに示される1次元の差分行列1000~1002が生成される。量子化マトリクス符号化部113はさらに差分行列1000~1002を符号化して量子化マトリクス符号データを生成する。本実施形態では図11Aに示される符号化テーブルを用いて符号化するものとするが、符号化テーブルはこれに限定されず、例えば図11Bに示される符号化テーブルを用いても良い。このようにして生成された量子化マトリクス符号データは後段の統合符号化部111に出力される。
 図1に戻り、統合符号化部111は、画像データの符号化に必要なヘッダ情報を符号化し、量子化マトリクス800~802の符号データを統合する。続いて、画像データの符号化を説明する。
 ブロック分割部102は、入力端子101から入力された1フレーム分の画像データを、複数の基本ブロックに分割し、基本ブロック単位の画像データを予測部104に供給する。本実施形態では、先に説明したように、基本ブロックのサイズは8×8画素である。
 予測部104は、ブロック分割部102から入力した基本ブロック単位の画像データに対し予測処理を実行する。具体的には、予測部104は、基本ブロックをさらに細かいサブブロックに分割するサブブロック分割法を決定し、さらにサブブロック単位でイントラ予測やインター予測、重み付きイントラ・インター予測などの予測モードを決定する。
 図7A~7Fは、サブブロック分割パターンの例を示している。同図の外側の太枠を示す参照符号700は基本ブロックを表しており、実施形態では8×8画素のサイズである。そして、太枠内の矩形がサブブロックを表している。図7Aは基本ブロック=サブブロックの例を示している。図7Bは従来の正方形サブブロック分割の一例を表しており、8×8画素の基本ブロック700は4つの4×4画素のサブブロックに分割されている。一方、図7C~7Fは長方形サブブロック分割の一例を表している。図7Cでは基本ブロック700は4×8画素の縦長の2つのサブブロックへの分割例を示している。図7Dは基本ブロック700を、8×4画素の横長の長方形の2つサブブロックへの分割を示している。また、図7E,8Fは、基本ブロック700を、1:2:1の比で3つの長方形サブブロックへの分割を示している。このように正方形だけではなく、長方形のサブブロックも用いて符号化処理を行っている。
 本実施形態では、上記のように、8×8画素の基本ブロックを分割しない(図7A)のみが用いられるものとするが、サブブロック分割方法はこれに限定されない。図7Bのような四分木分割や、図7E,8Fのような三分木分割または図7Cや図7Dのような二分木分割を用いても構わない。図7A以外のサブブロック分割も用いられる場合には、量子化マトリクス保持部103にて使用されるサブブロックに対応する量子化マトリクスが生成される。また、生成された量子化マトリクスは量子化マトリクス符号化部113にて符号化されることとなる。
 また、本実施形態で用いられる予測方法について、改めて説明する。本実施形態ではイントラ予測、インター予測、重み付きイントラ・インター予測の3種類の予測方法が用いられる。イントラ予測は、符号化対象ブロックの空間的に周辺に位置する符号化済画素を用いて符号化対象ブロックの予測画素を生成し、水平予測や垂直予測、DC予測などのイントラ予測方法を示すイントラ予測モードも生成する。インター予測は符号化対象ブロックとは時間的に異なるフレームの符号化済画素を用いて符号化対象ブロックの予測画素を生成し、参照するフレームや動きベクトルなどを示す動き情報も生成する。
 そして、重み付きイントラ・インター予測は、前述のイントラ予測により生成された画素値と前述のインター予測により生成された画素値とを加重平均して、符号化対象ブロックの予測画素を生成するものである。例えば、下記の式(1)のような式を用いて計算される。
p[x][y]={w×pinter[x][y] + (8-w)×pintra[x][y]}>>3…(1)
(ただし、「>>」は右へのビットシフトを示す)
 上記式(1)において、p[x][y]は符号化対象の着目ブロック内の座標(x,y)に対する、重み付きイントラ・インター予測による予測画素である。また、pinter[x][y]は、着目ブロック内の座標(x,y)に対するインター予測画像内の画素値を示している。また、pintra[x][y]は、着目ブロック内の座標(x,y)に対するイントラ予測画像内の画素値を示している。wはインター予測の画素値およびイントラ予測の画素値に対する重み値を表しており、本実施形態ではw=4の時にインター予測の画素値とイントラ予測の画素値に対する重みが同一となる。言い換えれば、w>4であればインター予測の画素値に対する重みが増し、w<4であればイントラ予測の画素値に対する重みが増す。こうして重み付きイントラ・インター予測では、符号化対象ブロックの予測画素を生成し、予測画素の生成に用いられたイントラ予測モードや動き情報も生成する。
 予測部104は、決定した予測モードおよび符号化済の画素から、符号化対象のサブブロックの予測画像データを生成する。そして、予測部104は、符号化対象のサブブロックの画像データと、生成した予測画像データとの差分を演算して予測誤差データを生成し、生成した予測誤差データを変換・量子化部105に供給する。また、予測部104は、サブブロック分割や予測モード(イントラ予測、インター予測、重み付きイントラ・インター予測のいずれであるかを示す情報)やベクトルデータなどの予測情報を、符号化部110、画像再生部107に供給する。
 変換・量子化部105は、入力された予測誤差データに直交変換・量子化を行い、量子化係数を生成する。具体的には、変換・量子化部105は、予測誤差データのサイズに対応した直交変換処理を施し、直交変換係数を生成する。次に変換・量子化部105は、直交変換係数を予測モードに応じて量子化マトリクス保持部103に格納されている量子化マトリクスを選択し、その選択した量子化マトリクスを用いて量子化し、量子化係数を生成する。本実施形態では、イントラ予測で予測処理が行われたサブブロックには図8Aに示す量子化マトリクス800が用いられる。また、インター予測が行われたサブブロックには図8Bに示す量子化マトリクス801が用いられる。そして、重み付きイントラ・インター予測が行われたサブブロックには図8Cの量子化マトリクス802が用いられる。ただし、使用される量子化マトリクスはこれに限定されない。そして、変換・量子化部105は、生成された量子化係数を符号化部110および逆量子化・逆変換部106に供給する。
 逆量子化・逆変換部106は、入力したサブブロックの量子化係数を、量子化マトリクス保持部103に格納されている量子化マトリクスを用いて逆量子化して、変換係数を再生する。逆量子化・逆変換部106は、更に、再生された変換係数を逆直交変換して予測誤差データを再生する。逆量子化処理には、変換・量子化部105同様、符号化対象ブロックの予測モードに対応した量子化マトリクスが用いられる。具体的には、変換・量子化部105で用いられた量子化マトリクスと同一のものが用いられる。逆量子化・逆変換部106は、そして再生された予測誤差データを画像再生部107に供給する。
 画像再生部107は、予測部104から入力される予測情報に基づいて、フレームメモリ108を適宜参照し、予測画像データを再生する。そして画像再生部107は、再生された予測画像と、逆量子化・逆変換部106から入力した予測誤差データとを加算することで、サブブロックの画像データを再生し、フレームメモリ108に格納する。
 インループフィルタ部109は、フレームメモリ108から再生画像データを読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部109は、フィルタ処理された画像データを再びフレームメモリ108に格納する。
 符号化部110は、サブブロック単位に、変換・量子化部105で生成された量子化係数、及び、予測部104から入力された予測情報をエントロピー符号化し、符号データを生成する。エントロピー符号化の方法は特に問わないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。生成された符号データは統合符号化部111に供給される。
 統合符号化部111は、前述のヘッダの符号データとともに符号化部110から入力した符号データなどを多重化してビットストリームを形成する。最終的には、ビットストリームは端子112から外部に出力される。
 図6Aは第1の実施形態で出力されるビットストリームのデータ構造例を示している。シーケンスヘッダには量子化マトリクスの符号データが含まれ、各要素の符号化データで構成されている。ただし、符号化される位置はこれに限定されず、ピクチャヘッダ部やその他のヘッダ部に符号化される構成をとってももちろん構わない。また、1つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスを新たに符号化することで更新することも可能である。この際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスに対応する量子化マトリクスの予測モードを指定することでその一部を変更するようにすることも可能である。
 以下、第1の実施形態に係る画像符号化装置における1フレームの符号化処理の処理手順を図3のフローチャートを参照して説明する。なお、以下の説明における各工程は、その主体が制御部150による制御下にてそれぞれの処理を実行するものとする。
 まず、画像の符号化に先立ち、S301にて、量子化マトリクス保持部103は二次元の量子化マトリクスを生成し、保持する。本実施形態における量子化マトリクス保持部103は、図8A~8Cに示された、8×8画素のサブブロックに対応し、イントラ予測、インター予測および重み付きイントラ・インター予測のそれぞれの予測方法に対応した量子化マトリクス800~802を生成し、保持する。
 S302にて、量子化マトリクス符号化部113は、S301にて生成・保持された量子化マトリクス800~802を走査して各要素の差分を算出し、1次元の差分行列を生成する。本実施形態の量子化マトリクス符号化部113は、図8A~8Cに示された量子化マトリクス800~802は図9の走査方法を用い、図10A~10Cに示される差分行列1000~1002を生成することになる。量子化マトリクス符号化部113は、さらに生成された差分行列1000~1002を、図11A(又は図11B)に示す符号化テーブルを参照して二進符号を生成し、符号化データを生成していく。
 S303にて、統合符号化部111は、生成された量子化マトリクス800~802の符号データとともに、画像データの符号化に必要なヘッダ情報を生成し、出力する。
 S304にて、ブロック分割部102は、フレーム単位の入力画像を基本ブロック単位に分割する。そして、S305にて、予測部104は、S304にて生成された基本ブロック単位の画像データから1以上のサブブロックに分割し、サブブロック単位に予測処理を実行し、サブブロック分割情報や予測モードなどの予測情報および予測画像データを生成する。本実施形態では、イントラ予測、インター予測および重み付きイントラ・インター予測の3種類の予測方法が用いられる。さらに予測部104は、入力された画像データと、予測画像データとの差分である予測誤差データを算出する。
 なお、予測部104による具体例な処理例を示すと次の通りである。予測部104は、符号化しようとする着目サブブロックの画像データに対して、当該着目サブブロックが属する同じフレームの符号化済み領域を参照してイントラ予測処理を行い、イントラ予測画像データPintra[x][y]を生成する。また、予測部104は、符号化しようとする着目サブブロックが属するフレームと異なる既符号化のフレーム(例えば直前のフレーム)を参照してインター予測処理を行い、インター予測画像データPinter[x][y]を生成する。そして、先に示した式(1)に基づき重み付きイントラ・インター予測画像データP[x][y]を生成する。そして、予測部104は、これらの3つの予測画像データそれぞれと、着目サブブロックの画素値どうしの差分データの2乗和(または、絶対値和でも良い)を求め、2乗和が最小となった予測画像データの予測モードを着目サブブロックの予測モードとして決定する。本実施形態では、重み値wはイントラ予測モードや動きベクトルの大きさ、着目サブブロックの位置などに応じて一意に算出されるものとするが、重み値wの算出方法についてはこれに限定されない。例えば、予測部104は、w=0、1、…、8を設定して、それぞれの場合の9個の予測画像データを求める。そして、予測部104は、これら9個の予測画像データそれぞれと、着目サブブロックの画素値どうしの差分データの2乗和(または、絶対値和でも良い)を求め、2乗和が最小となった“w”を判定する構成としても良い。その場合、w=0であった場合、予測部104は、式(1)から、着目サブブロックはイントラ予測符号化するものとして決定する。また、w=8であった場合、予測部104は、式(1)から、着目サブブロックはインター予測符号化するものとして決定する。そして、wが1~7の範囲内にある場合、着目サブブロックは重み付きイントラ・インター予測符号化を行うものとして決定する。その場合、決定したwの値も予測情報として、後段のS309にて符号化する構成としても良い。
 S306にて、変換・量子化部105は、S305で算出された予測誤差データを直交変換して変換係数を生成する。更に、変換・量子化部105は、予測情報に基づき、S301にて生成・保持された量子化マトリクスの1つを選択し、その選択した量子化マトリクスを用いて量子化を行い、量子化係数を生成する。本実施形態では、イントラ予測が用いられたサブブロックには図8Aの量子化マトリクス800、インター予測が用いられたサブブロックには図8Bの量子化マトリクス801、重み付きイントラ・インター予測が用いられたサブブロックには図8Cの量子化マトリクス802が用いられる。
 S307にて、逆量子化・逆変換部106は、S305で生成された量子化係数を、S301にて生成・保持された量子化マトリクスを用いて逆量子化を行い、変換係数を再生する。逆量子化・逆変換部106は、さらに、変換係数に対して逆直交変換し、予測誤差データを再生する。本ステップでは、S306で用いられた量子化マトリクスと同一のものが用いられ、逆量子化処理が行われることになる。
 S308にて、画像再生部107は、S305で生成された予測情報に基づいて予測画像データを再生する。画像再生部107は、さらに、再生された予測画像データと、S307で生成された予測誤差データからサブブロックの画像データを再生する。
 S309にて、符号化部110は、S305で生成された予測情報およびS306で生成された量子化係数を符号化し、符号データを生成する。また、他の符号データも含め、ビットストリームを生成する。
 S310にて、制御部150は、フレーム内の全ての基本ブロックの符号化が終了したか否かの判定を行い、終了していればS311に処理を進め、そうでなければ次の基本ブロックを対象とする符号化を行うため、処理をS305に戻す。
 S311にて、インループフィルタ部109は、S308で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
 上記の処理において、動画像の2つ目以降のフレームの符号化を行う場合には、S304乃至S311を、符号化すべき最後のフレームの入力まで繰り返すことになる。
 以上の構成と動作により、特にS306において、重み付きイントラ・インター予測を用いたサブブロックに対して、それ専用の量子化マトリクスを用いた量子化処理を実行することで、周波数成分ごとに量子化を制御し、主観画質を向上させることができる。
 なお、本実施形態では、イントラ予測、インター予測および重み付きイントラ・インター予測の3種類の予測方法に対して、個別に量子化マトリクスを定義し、3種類の量子化マトリクス全てを符号化する構成としたが、そのうちのいくつかを共通化しても構わない。
 例えば、重み付きイントラ・インター予測を用いたサブブロックに対しても、イントラ予測を用いたサブブロック同様に図8Aの量子化マトリクス800を用いて量子化し、図8Cの量子化マトリクス802の符号化を省略することも可能である。これにより、図8Cの量子化マトリクス802分の符号量を削減しつつ、ブロック歪みなどのイントラ予測による誤差から生じる画質劣化を軽減させることができる。
 同様に、重み付きイントラ・インター予測を用いたサブブロックに対しても、インター予測を用いたサブブロック同様に図8Bの量子化マトリクス801を用いて量子化し、図8Cの量子化マトリクス802の符号化を省略することも可能である。これにより、図8Cの量子化マトリクス分の符号量を削減しつつ、ガクガクした動きなどのインター予測による誤差から生じる画質劣化を低減させることもできる。
 あるいは、前述の式(1)において、イントラ予測画素値とインター予測画素値の重みを示す重み値wの値に応じて、重み付きイントラ・インター予測を用いたサブブロックに対して用いる量子化マトリクスを適応的に決定する構成としても構わない。例えば、差分が最小となる重み値wの値が所定の値(例えば中心値の4)以上であれば図8Bの量子化マトリクス801を、小さければ図8Aの量子化マトリクス800を重み付きイントラ・インター予測を用いたサブブロックに対して用いる構成にすることも可能である。これにより、より重みが大きい方の予測方法に対する画質劣化を低減しつつ、図8Cの量子化マトリクスの符号化を省略した分の符号量を削減することができる。あるいは、重み値wの値に応じて、重み付きイントラ・インター予測を用いたサブブロックに対して用いる量子化マトリクスを新たに生成する構成としても良い。例えば、次式(2)を用いて計算することもできる。
QM[x][y]={w×QMinter[x][y] +(8-w)×QMintra[x][y]}>>3…(2)
上記の式(2)において、QM[x][y]は算出された重み付きイントラ・インター予測を用いたサブブロックに用いられる量子化マトリクスの座標(x,y)における要素(量子化ステップ値)である。QMinter[x][y]はインター予測用のサブブロックに用いられる量子化マトリクスの座標(x,y)における要素である。同様に、QMintra[x][y]はイントラ予測用の量子化マトリクスの座標(x,y)における要素である。これにより、図8Cの量子化マトリクス802の符号化を省略した分の符号量を削減しつつ、重み値wに応じた適切な量子化制御を行い、主観画質を向上させることができる。
 さらには、本実施形態では、重み付きイントラ・インター予測を用いたサブブロックに対する量子化マトリクスが一意に決まる構成としたが、識別子を導入することで選択可能とする構成としても構わない。例えば図6Bは、量子化マトリクス符号化方法情報符号を新たに導入することで、重み付きイントラ・インター予測を用いたサブブロックに対する量子化マトリクス符号化を選択的にしたものである。例えば、量子化マトリクス符号化方法情報符号が0を示している場合には、重み付きイントラ・インター予測を用いたサブブロックに対し、イントラ予測を用いたサブブロックに対する量子化マトリクス800(図8A)が用いられる。また、1を示している場合には、重み付きイントラ・インター予測を用いたサブブロックに対し、インター予測を用いたサブブロックに対する量子化マトリクス801(図8B)が用いられる。一方、2を示している場合には、重み付きイントラ・インター予測を用いたサブブロックに対し、個別に符号化された量子化マトリクス802(図8C)が用いられるといった具合である。これにより、量子化マトリクス符号量削減と重み付きイントラ・インター予測を用いたサブブロックに対する独自の量子化制御とを選択的に実現することが可能となる。
 [第2の実施形態]
 第2の実施形態では、上記第1の実施形態の画像符号化装置で生成された符号化データを復号する画像復号装置を説明する。図2は、その画像復号装置のブロック構成図である。
 画像復号装置は、以下に説明する構成要素を制御し、装置全体の制御を司る制御部250を有する。この制御部250は、CPU、CPUが実行するプログラムや各種パラメータ等を記憶しているROM、CPUのワークエリアとして使用されるRAMを含む。なお、ROMや他の不揮発性記憶装置に格納されたOS(オペレーティングシステム)、プログラム、パラメータをRAMにロードした後に、OSの制御下でプログラムを実行するようにしてもよい。
 また、画像復号装置は、入力端子201、分離復号部202、復号部203、逆量子化・逆変換部204、画像再生部205、フレームメモリ206、インループフィルタ部207、出力端子208、及び、量子化マトリクス復号部209を有する。
 上記画像復号装置の構成における画像復号装置の構成とその動作を以下に説明する。なお、画像復号装置は、先に説明した画像符号化装置が生成したビットストリームをフレーム単位で入力する構成となっている。
 分離復号部202は、入力端子201を介して符号化ビットストリームを入力し、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、またビットストリームのヘッダ部に存在する符号データを復号する。本実施形態の分離復号部202は、符号化ビットストリームから量子化マトリクスの符号化データを分離し、その符号化データを量子化マトリクス復号部209に供給する。また、分離復号部202は、符号化ビットストリームから画像データの符号化データを分離し、復号部203に供給する。要するに分離復号部202は、図1の統合符号化部111と逆の動作を行う。
 量子化マトリクス復号部209は、分離復号部202からの量子化マトリクスの符号化データを復号して量子化マトリクス800~802を再生、保持する。
 復号部203は、分離復号部202から入力した符号化データを復号し、量子化係数および予測情報を再生する。
 逆量子化・逆変換部204は、図1の逆量子化・逆変換部106と同様、再生された量子化マトリクス800~802を用いて量子化係数を逆量子化して変換係数を得、さらに逆直交変換を行い、予測誤差データを再生する。
 画像再生部205は、入力された予測情報に基づいてフレームメモリ206を適宜参照して予測画像データを生成する。そして、画像再生部205は、この予測画像データに、逆量子化・逆変換部204で再生された予測誤差データを加算することで、画像データを生成し、フレームメモリ206に格納する。
 インループフィルタ部207は、図1のインループフィルタ部109と同様、フレームメモリ206に格納された再生画像に対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理された画像データをフレームメモリ206に再格納する。そして、出力端子208は、再生された画像データを外部装置(例えば表示装置)に出力する。
 次に、図2の画像復号装置における各構成要素の動作を更に詳しく説明する。
 本第2の実施形態では、第1の実施形態で生成されたビットストリームをフレーム単位で入力する構成となっている。
 入力端子201を介して入力された1フレーム分のビットストリームは分離復号部202に供給される。分離復号部202は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、ビットストリームのヘッダ部に存在する符号データを復号する。より具体的には、分離復号部202は、量子化マトリクスの符号データを再生する。本実施形態の分離復号部202は、まず、図6Aに示されるビットストリームのシーケンスヘッダから図8A~8Cの量子化マトリクス800~802の符号データを抽出し、量子化マトリクス復号部209に供給する。分離復号部202は、続いて、ピクチャデータの基本ブロックのサブブロック単位の符号データを再生し、復号部203に供給する。
 量子化マトリクス復号部209は、まず入力された量子化マトリクス符号データを復号し、図10A~10Cに示される一次元の差分行列1000~1002を再生する。本実施形態では、第1の実施形態と同様、図11A(又は図11B)に示される符号化テーブルを用いて復号するものとするが、符号化テーブルはこれに限定されず、第1の実施形態と同じものを用いる限りは他の符号化テーブルを用いても良い。さらに量子化マトリクス復号部209は、再生された一次元の差分行列を逆走査し、二次元の量子化マトリクスを再生する。ここでは第1の実施形態の量子化マトリクス符号化部113の動作とは逆の動作を行う。すなわち、本実施形態の量子化マトリクス復号部209は、図10A~10Cに示される差分行列1000~1002を、図9に示される走査方法を用いて、それぞれ図8A~8Cに示される3種の量子化マトリクス800~802を再生し、保持することになる。
 復号部203は、符号データを復号し、量子化係数および予測情報を再生する。そして、復号部203は、再生された量子化係数を逆量子化・逆変換部204に供給し、再生された予測情報を画像再生部205に供給する。
 逆量子化・逆変換部204は、量子化マトリクス復号部209で再生された量子化マトリクス800~802の1つを選択する。そして、逆量子化・逆変換部204は、入力した量子化係数を、選択した量子化マトリクスを用いて逆量子化し、直交変換係数を生成する。逆量子化・逆変換部204は、さらに逆直交変換を施して予測誤差データを再生し、再生された予測情報を画像再生部205に供給する。本実施形態の逆量子化・逆変換部204は、復号部203で再生された予測情報に従って定まる復号対象ブロックの予測モードに応じて、逆量子化処理で用いる量子化マトリクスを決定する。すなわち、イントラ予測が用いられているサブブロックには図8Aの量子化マトリクス800、インター予測が用いられているサブブロックには図8Bの量子化マトリクス801、重み付きイントラ・インター予測が用いられているサブブロックには図8Cの量子化マトリクス802が選択される。ただし、使用される量子化マトリクスはこれに限定されず、第1の実施形態の変換・量子化部105および逆量子化・逆変換部106で用いられた量子化マトリクスと同一のものであれば良い。
 画像再生部205は、復号部203から入力された予測情報に基づいて、フレームメモリ206を適宜参照し、予測画像データを再生する。本実施形態では、第1の実施形態の予測部104と同様、イントラ予測、インター予測および重み付きイントラ・インター予測の3種類の予測方法が用いられる。具体的な予測の処理については、第1の実施形態の予測部104と同様であるため、説明を省略する。画像再生部205は、この予測画像データに、逆量子化・逆変換部204から入力された予測誤差データを加算することで画像データを再生し、フレームメモリ206に格納する。格納された画像データは他のサブブロックの復号する際の予測参照候補となる。
 インループフィルタ部207は、図1のインループフィルタ部109と同様、フレームメモリ206から再生画像データを読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部207は、フィルタ処理された画像データを再びフレームメモリ206に格納する。
 フレームメモリ206に格納された再生画像は、最終的には出力端子208から外部に出力される。
 以下、第2の実施形態に係る画像復号装置における1フレームの復号処理の処理手順を図4のフローチャートを参照して説明する。なお、以下の説明における各工程は、その主体が制御部250による制御下にて、それぞれの処理を実行するものとする。
 まず、S401にて、分離復号部202は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号する。より具体的には、量子化マトリクスの符号データを再生する。
 S402にて、量子化マトリクス復号部209は、S401で再生された量子化マトリクスの符号データを復号し、図10A~10Cで示される一次元の差分行列1000~1002を再生する。さらに、量子化マトリクス復号部209は再生された一次元の差分行列1000~1002を逆走査し、二次元の量子化マトリクス800~802を再生し、保持する。
 すなわち、本実施形態では、量子化マトリクス復号部209は、図10A~10Cに示される差分行列1000~1002は、図9に示される走査方法を用いて、それぞれ図8A~8Cに示される3種の量子化マトリクス800~802が再生し、保持する。
 S403にて、復号部203は、S401で分離された符号データを復号し、量子化係数および予測情報を再生する。
 S404にて、逆量子化・逆変換部204は、量子化係数に対してS402で再生された量子化マトリクス800~802のいずれかを用いて逆量子化を行って変換係数を得る。逆量子化・逆変換部204は、さらに逆直交変換を行い、予測誤差データを再生する。本実施形態の逆量子化・逆変換部204は、S403で再生された予測情報によって定まる予測モードに応じて、利用する量子化マトリクスを決定する。すなわち、イントラ予測が用いられているサブブロックには図8Aの量子化マトリクス800が用いられる。また、インター予測が用いられているサブブロックには図8Bの量子化マトリクス801が用いられる。そして、重み付きイントラ・インター予測が用いられているサブブロックには図8Cの量子化マトリクス802が用いられる。ただし、使用される量子化マトリクスはこれに限定されず、第1の実施形態のS306およびS307で用いられた量子化マトリクスと同一のものであれば良い。
 S405にて、画像再生部205は、S403で生成された予測情報から予測画像データを再生する。本実施形態の画像再生部205は、第1の実施形態のS305同様、イントラ予測、インター予測および重み付きイントラ・インター予測の3種類の予測方法が用いられる。さらに画像再生部205は、再生された予測画像データに、S404で生成された予測誤差データを加算して、画像データを再生する。
 S406にて、制御部250は、フレーム内の全ての基本ブロックの復号が終了したか否かの判定を行い、終了していればS407に処理を進め、そうでなければ次の基本ブロックを復号対象とするため処理をS403に戻す。
 S407にて、インループフィルタ部207は、S405で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
 以上の構成と動作により、第1の実施形態で生成された、重み付きイントラ・インター予測を用いたサブブロックに対しても、周波数成分ごとに量子化を制御し主観画質を向上したビットストリームを復号することができる。
 なお、本実施形態では、イントラ予測、インター予測および重み付きイントラ・インター予測の3種類の予測方法に対して、個別に量子化マトリクスを定義し、3種類の量子化マトリクス全てを復号する構成としたが、そのうちのいくつかを共通化しても構わない。
 例えば、重み付きイントラ・インター予測を用いたサブブロックに対しても、イントラ予測を用いたサブブロック同様に図8Aの量子化マトリクス800を用いて逆量子化し、図8Cの量子化マトリクス802の復号を省略することも可能である。これにより、図8Cの量子化マトリクス分の符号量を削減しつつ、ブロック歪みなどのイントラ予測による誤差から生じる画質劣化を軽減させたビットストリームを復号することができる。
 同様に、重み付きイントラ・インター予測を用いたサブブロックに対しても、インター予測を用いたサブブロック同様に図8Bの量子化マトリクス801を用いて逆量子化し、図8Cの量子化マトリクスの復号を省略することも可能である。これにより、図8Cの量子化マトリクス802分の符号量を削減しつつ、ガクガクした動きなどのインター予測による誤差から生じる画質劣化を低減させたビットストリームを復号することもできる。
 あるいは、前述の式(1)において、イントラ予測画素値とインター予測画素値の重みを示す重み値wの値に応じて、重み付きイントラ・インター予測を用いたサブブロックに対して用いる量子化マトリクスを適応的に決定する構成としても構わない。例えば、wの値が所定の値(例えば中心値の4)以上であれば図8(b)を、小さければ図8Aの量子化マトリクス800を重み付きイントラ・インター予測を用いたサブブロックに対して用いる構成にすることも可能である。これにより、より重みが大きい方の予測方法に対する画質劣化を低減しつつ、図8Cの量子化マトリクス802の符号化を省略した分の符号量を削減したビットストリームを復号することができる。あるいは、前述の式(2)のように、重み値wの値に応じて、重み付きイントラ・インター予測を用いたサブブロックに対して用いる量子化マトリクスを新たに生成する構成としても良い。これにより、図8Cの量子化マトリクス802の符号化を省略した分の符号量を削減しつつ、重み値wに応じた適切な量子化制御を行い、主観画質を向上させたビットストリームを復号することができる。
 さらには、本実施形態では、重み付きイントラ・インター予測を用いたサブブロックに対する量子化マトリクスが一意に決まる構成としたが、識別子を導入することで選択可能とする構成としても構わない。例えば図6Bは、量子化マトリクス符号化方法情報符号を新たに導入することで、重み付きイントラ・インター予測を用いたサブブロックに対する量子化マトリクス符号化を選択的にしたものである。例えば、量子化マトリクス符号化方法情報符号が0を示している場合には、重み付きイントラ・インター予測を用いたサブブロックに対し、イントラ予測を用いたサブブロックに対する量子化マトリクス800(図8A)が用いられる。また、1を示している場合には、重み付きイントラ・インター予測を用いたサブブロックに対し、インター予測を用いたサブブロックに対する量子化マトリクス801(図8B)が用いられる。一方、2を示している場合には、重み付きイントラ・インター予測を用いたサブブロックに対し、個別に符号化された量子化マトリクス802(図8C)が用いられるといった具合である。これにより、量子化マトリクス符号量削減と重み付きイントラ・インター予測を用いたサブブロックに対する独自の量子化制御とを選択的に実現したビットストリームを復号することが可能となる。
 [第3の実施形態]
 図1、図2に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
 図5は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
 CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU501は、図1、図2に示した各処理部として機能することになる。
 RAM502は、外部記憶装置506からロードされたコンピュータプログラムやデータ、I/F(インターフェース)507を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM502は、CPU501が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM502は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
 ROM503には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部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にロードし、OSを起動する。この結果、本装置が、インターフェース507を介した通信が可能となり、情報処理装置として機能する。そして、OSの制御下で、CPU501は画像符号化に係るアプリケーション(図3に相当する)を外部記憶装置506からRAM502にロードして実行することで、CPU501が図1に示す各種処理部として機能することになり、本装置が画像符号化装置として機能することになる。一方、CPU501は画像復号に係るアプリケーション(図4に相当する)を外部記憶装置506からRAM502にロードして実行した場合、CPU501は図2に示す各種処理部として機能することになり、本装置が画像復号装置として機能することになる。
 (その他の実施例)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
 本願は、2018年12月17日提出の日本国特許出願特願2018-235912を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

Claims (12)

  1.  画像を符号化する画像符号化装置であって、
     画像における符号化対象の所定のサイズの着目ブロックに対し、イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像の両方から予測画像を生成し、前記着目ブロックと前記予測画像との差分である予測誤差を求める予測手段と、
     該予測手段で得た前記予測誤差を周波数変換する変換手段と、
     該変換手段で得た変換係数を、量子化マトリクスを用いて量子化する量子化手段と、
     該量子化手段による量子化後の変換係数をエントロピー符号化する符号化手段と
     を有することを特徴とする画像符号化装置。
  2.  前記予測手段は、前記イントラ予測画像と前記インター予測画像との加重平均を、前記着目ブロックに対する予測画像として求める
    ことを特徴とする請求項1に記載の画像符号化装置。
  3.  前記量子化手段は、予め設定されたイントラ予測用の量子化マトリクスとインター予測用の量子化マトリクスのうち少なくとも1つを用いて、前記変換手段で得た変換係数を量子化するための量子化マトリクスを求める
    ことを特徴とする請求項1又は2に記載の画像符号化装置。
  4.  前記量子化手段は、前記イントラ予測用の量子化マトリクスと前記インター予測用の量子化マトリクスの加重平均を、前記変換手段で得た変換係数を量子化する際に用いる量子化マトリクスとする
    ことを特徴とする請求項3に記載の画像符号化装置。
  5.  前記量子化手段が用いる量子化マトリクスを符号化する第2の符号化手段と、
     前記符号化手段で得た符号化データと、前記第2の符号化手段で生成された量子化マトリクスの符号化データとを統合する統合手段と
     を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の画像符号化装置。
  6.  画像を符号化する画像符号化装置の制御方法であって、
     画像における符号化対象の所定のサイズの着目ブロックに対し、イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像の両方から予測画像を生成し、前記着目ブロックと前記予測画像との差分である予測誤差を求める予測工程と、
     該予測工程で得た前記予測誤差を周波数変換する変換工程と、
     該変換工程で得た変換係数を、量子化マトリクスを用いて量子化する量子化工程と、
     該量子化工程による量子化後の変換係数をエントロピー符号化する符号化工程と
     を有することを特徴とする画像符号化装置の制御方法。
  7.  画像データをブロック単位で復号する画像復号装置であって、
     量子化された変換係数である量子化変換係数を復号する復号手段と、
     量子化マトリクスを用いて、前記量子化変換係数から、変換係数を導出する導出処理を行う逆量子化手段と、
     前記変換係数を逆変換して、予測誤差を導出する逆変換手段と、
     イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像との両方から予測画像を生成し、当該予測画像と前記予測誤差とを用いて着目ブロックを復号する予測手段と、
     を有することを特徴とする画像復号装置。
  8.  前記予測手段は、前記イントラ予測画像と前記インター予測画像との加重平均を、前記着目ブロックに対する予測画像として求める
    ことを特徴とする請求項7に記載の画像復号装置。
  9.  前記逆量子化手段は、予め設定されたイントラ予測用の量子化マトリクスとインター予測用の量子化マトリクスのうち少なくとも1つを用いて、前記導出処理において用いる前記量子化マトリクスを求める
    ことを特徴とする請求項7又は8に記載の画像復号装置。
  10.  前記逆量子化手段は、前記イントラ予測用の量子化マトリクスと前記インター予測用の量子化マトリクスの加重平均を、前記導出処理において用いる量子化マトリクスとする
    ことを特徴とする請求項9に記載の画像復号装置。
  11.  画像データをブロック単位で復号する画像復号装置の制御方法であって、
     量子化された変換係数である量子化変換係数を復号する復号工程と、
     量子化マトリクスを用いて、前記量子化変換係数から、変換係数を導出する導出処理を行う逆量子化工程と、
     前記変換係数を逆変換して、予測誤差を導出する逆変換工程と、
     イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像との両方から予測画像を生成し、当該予測画像と前記予測誤差とを用いて着目ブロックを復号する予測工程と、
     を有することを特徴とする画像復号装置の制御方法。
  12.  コンピュータが読み込み実行することで、前記コンピュータに、請求項6又は11に記載の制御方法の各工程を実行させるためのプログラム。
PCT/JP2019/041916 2018-12-17 2019-10-25 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム WO2020129407A1 (ja)

Priority Applications (16)

Application Number Priority Date Filing Date Title
CN202410242411.5A CN118018736A (zh) 2018-12-17 2019-10-25 图像编码设备、图像解码设备和控制方法
BR112021011586-2A BR112021011586A2 (pt) 2018-12-17 2019-10-25 Aparelho de codificação de imagem, aparelho de decodificação de imagem e métodos de controle dos mesmos
CN202410242408.3A CN118018735A (zh) 2018-12-17 2019-10-25 图像编码设备、图像解码设备和控制方法
EP19899876.7A EP3902255A4 (en) 2018-12-17 2019-10-25 PICTURE CODING DEVICE, PICTURE DECODING DEVICE, CONTROL METHOD THEREOF AND PROGRAM
KR1020217021398A KR20210095947A (ko) 2018-12-17 2019-10-25 화상 부호화 장치 및 화상 복호 장치 및 그것들의 제어 방법 및 프로그램
CN202410242415.3A CN118018737A (zh) 2018-12-17 2019-10-25 图像编码设备、图像解码设备和控制方法
CN202410242400.7A CN118018733A (zh) 2018-12-17 2019-10-25 图像编码设备、图像解码设备和控制方法
RU2021121029A RU2765428C1 (ru) 2018-12-17 2019-10-25 Устройство кодирования изображений, устройство декодирования изображений, способы управления ими и программа
CN201980083165.0A CN113196760B (zh) 2018-12-17 2019-10-25 图像编码设备、图像解码设备、控制方法和存储介质
CN202410242403.0A CN118018734A (zh) 2018-12-17 2019-10-25 图像编码设备、图像解码设备和控制方法
US17/347,352 US11849114B2 (en) 2018-12-17 2021-06-14 Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium
US18/512,885 US20240089448A1 (en) 2018-12-17 2023-11-17 Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium
US18/512,605 US20240089445A1 (en) 2018-12-17 2023-11-17 Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium
US18/512,861 US20240089447A1 (en) 2018-12-17 2023-11-17 Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium
US18/512,813 US20240089446A1 (en) 2018-12-17 2023-11-17 Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium
US18/512,585 US20240089444A1 (en) 2018-12-17 2023-11-17 Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018235912A JP2020098986A (ja) 2018-12-17 2018-12-17 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
JP2018-235912 2018-12-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/347,352 Continuation US11849114B2 (en) 2018-12-17 2021-06-14 Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2020129407A1 true WO2020129407A1 (ja) 2020-06-25

Family

ID=71101196

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/041916 WO2020129407A1 (ja) 2018-12-17 2019-10-25 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム

Country Status (9)

Country Link
US (6) US11849114B2 (ja)
EP (1) EP3902255A4 (ja)
JP (2) JP2020098986A (ja)
KR (1) KR20210095947A (ja)
CN (6) CN118018733A (ja)
BR (1) BR112021011586A2 (ja)
RU (2) RU2765428C1 (ja)
TW (1) TWI803709B (ja)
WO (1) WO2020129407A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052217A1 (ja) * 2009-10-30 2011-05-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路
JP2013005298A (ja) * 2011-06-17 2013-01-07 Sony Corp 画像処理装置および方法
JP2013038758A (ja) 2011-07-13 2013-02-21 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085846B2 (en) * 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
KR100708206B1 (ko) * 2006-06-22 2007-04-18 삼성전자주식회사 동영상 복호화 방법과 그 장치
JPWO2009050897A1 (ja) * 2007-10-19 2011-02-24 パナソニック株式会社 符号化レート変換装置、符号化レート変換方法および集積回路
KR101379188B1 (ko) * 2010-05-17 2014-04-18 에스케이 텔레콤주식회사 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
BR122020015657B1 (pt) * 2011-03-09 2023-04-11 Nec Corporation Dispositivo de decodificação de vídeo e método de decodificação de vídeo
US10277915B2 (en) * 2011-11-07 2019-04-30 Qualcomm Incorporated Signaling quantization matrices for video coding
CN103096056B (zh) * 2011-11-08 2015-11-25 华为技术有限公司 矩阵编码方法与装置及解码方法与装置
US9020294B2 (en) * 2012-01-18 2015-04-28 Dolby Laboratories Licensing Corporation Spatiotemporal metrics for rate distortion optimization
CN108924570B (zh) * 2012-01-20 2021-08-24 韩国电子通信研究院 使用量化矩阵的视频编解码方法
KR102074601B1 (ko) * 2012-02-29 2020-02-06 소니 주식회사 화상 처리 장치 및 방법, 및 기록 매체
KR101847365B1 (ko) * 2012-04-13 2018-04-09 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기록 매체
US20130272390A1 (en) * 2012-04-16 2013-10-17 Qualcomm Incorporated Uniform granularity for quantization matrix in video coding
CN104412592B (zh) * 2012-06-26 2017-11-14 三菱电机株式会社 运动图像编码/解码装置以及方法
JP6210368B2 (ja) * 2012-09-18 2017-10-11 サン パテント トラスト 画像復号方法および画像復号装置
US9609343B1 (en) * 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US10666940B2 (en) * 2014-11-06 2020-05-26 Samsung Electronics Co., Ltd. Video encoding method and apparatus, and video decoding method and apparatus
JPWO2016103542A1 (ja) * 2014-12-26 2017-10-19 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置および復号装置
US10218976B2 (en) * 2016-03-02 2019-02-26 MatrixView, Inc. Quantization matrices for compression of video
JP6921870B2 (ja) * 2016-05-24 2021-08-18 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 画像復号方法、画像符号化方法及び記録媒体
CN116708783A (zh) * 2016-07-12 2023-09-05 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
US11368681B2 (en) * 2016-07-18 2022-06-21 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
WO2018026166A1 (ko) * 2016-08-01 2018-02-08 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052217A1 (ja) * 2009-10-30 2011-05-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路
JP2013005298A (ja) * 2011-06-17 2013-01-07 Sony Corp 画像処理装置および方法
JP2013038758A (ja) 2011-07-13 2013-02-21 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BROSS, BENJAMIN ET AL.: "Versatile Video Coding (Draft 3", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING, 14 December 2018 (2018-12-14), Macao, CN, pages 1 - 160, XP030195441 *

Also Published As

Publication number Publication date
CN118018733A (zh) 2024-05-10
TW202025747A (zh) 2020-07-01
US20240089446A1 (en) 2024-03-14
US20210306635A1 (en) 2021-09-30
CN118018734A (zh) 2024-05-10
EP3902255A1 (en) 2021-10-27
CN113196760B (zh) 2024-03-19
CN118018737A (zh) 2024-05-10
US20240089448A1 (en) 2024-03-14
RU2765428C1 (ru) 2022-01-31
TWI803709B (zh) 2023-06-01
US20240089447A1 (en) 2024-03-14
RU2022100848A (ru) 2022-02-21
CN118018735A (zh) 2024-05-10
EP3902255A4 (en) 2022-10-05
CN113196760A (zh) 2021-07-30
US20240089444A1 (en) 2024-03-14
JP2023181542A (ja) 2023-12-21
US20240089445A1 (en) 2024-03-14
US11849114B2 (en) 2023-12-19
KR20210095947A (ko) 2021-08-03
BR112021011586A2 (pt) 2021-08-31
CN118018736A (zh) 2024-05-10
JP2020098986A (ja) 2020-06-25

Similar Documents

Publication Publication Date Title
JP2023105156A (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP2024015184A (ja) 画像復号装置及び方法及びプログラム
JP2023113858A (ja) 画像復号装置、画像復号方法、及びプログラム
WO2020003740A1 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
WO2020129407A1 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
JP7418152B2 (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
WO2020183859A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム
JP7493310B2 (ja) 画像復号装置及び方法及びプログラム
WO2023181546A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
WO2020129489A1 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
WO2020184223A1 (ja) 画像復号装置、画像復号方法、及びプログラム
WO2020129498A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
WO2021187023A1 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP2021150723A (ja) 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム
KR20220055495A (ko) 화상 부호화 장치, 화상 부호화 방법, 화상 복호 장치, 화상 복호 방법, 및 컴퓨터 프로그램

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: 19899876

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 122022021581

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021011586

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 20217021398

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2019899876

Country of ref document: EP

Effective date: 20210719

ENP Entry into the national phase

Ref document number: 112021011586

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210615