WO2015045736A1 - 画像符号化装置、画像復号装置及びそれらのプログラム - Google Patents

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

Info

Publication number
WO2015045736A1
WO2015045736A1 PCT/JP2014/072791 JP2014072791W WO2015045736A1 WO 2015045736 A1 WO2015045736 A1 WO 2015045736A1 JP 2014072791 W JP2014072791 W JP 2014072791W WO 2015045736 A1 WO2015045736 A1 WO 2015045736A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization
quantization matrix
block
unit
transform
Prior art date
Application number
PCT/JP2014/072791
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
Application filed by 日本放送協会 filed Critical 日本放送協会
Priority to BR112016006686-3A priority Critical patent/BR112016006686B1/pt
Priority to JP2015525679A priority patent/JP6143866B2/ja
Priority to MYPI2016701121A priority patent/MY183347A/en
Priority to CN201480053809.9A priority patent/CN105580368B/zh
Priority to EP14846805.1A priority patent/EP3054683A4/en
Publication of WO2015045736A1 publication Critical patent/WO2015045736A1/ja
Priority to US15/084,073 priority patent/US11223827B2/en
Priority to US17/646,832 priority patent/US11647195B2/en
Priority to US18/193,436 priority patent/US20230239475A1/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/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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to an image encoding device, an image decoding device, and their programs.
  • the predictive encoding method includes a process of predicting a current predicted image from an image encoded in the past, and a process of encoding a difference image that is a difference between the input image input and the predicted image.
  • loss processing such as entropy encoding is performed after transforming the difference image and quantizing the transform coefficient indicated in the transform region (for example, the spatial frequency region). Since human visual characteristics are more sensitive in the frequency band (low frequency) where the spatial frequency is low than in the high frequency, quantization may be performed with a lower quantization frequency and a higher quantization frequency. Data formed with such a coordinate in a block or a quantization width for each frequency is called a quantization matrix. Thereby, since the low frequency component of the difference signal is emphasized, even if the amount of information is compressed, the deterioration of subjective quality is suppressed.
  • HEVC High Efficiency Video Coding
  • ISO / IEC 23008-2 HEVC, ITU-T Recommendation H.265 described in Non-Patent Document 1 is also used.
  • orthogonal transformation which is a type of transformation processing
  • the difference image is quantized and lossless encoded. Is done.
  • the magnitude of the difference is compared, and whether or not the orthogonal transformation is omitted is determined.
  • a processing mode in which the orthogonal transformation is omitted and quantization and coding are performed is referred to as a transform skip (TS) mode.
  • TS transform skip
  • the information amount can be compressed even when the low frequency component of the difference image is not main.
  • Non-Patent Document 1 there is a problem that subjective image quality may be deteriorated when a block subjected to orthogonal transformation and a block not subjected to orthogonal transformation are mixed. There is. For example, if the quantization roughness is set so that the higher the bandwidth is, the coarser the quantization coarseness differs between the pixels in the block where the orthogonal transformation is not performed. Therefore, variation occurs between pixels, and subjective image quality deteriorates.
  • the present invention has been made in view of such circumstances. Even when a block subjected to orthogonal transformation and a block not subjected to orthogonal transformation are mixed, the subjective image quality degradation caused by quantization is reduced.
  • An image encoding device, an image decoding device, and a program thereof that can be suppressed are provided.
  • the present invention performs a transform skip that applies or does not apply orthogonal transform to a transform block obtained by dividing a prediction difference signal that represents a difference between an input image and a prediction image.
  • An image encoding device including a determination unit that determines whether to perform and an orthogonal transform unit that performs a process selected based on the determination, and when the conversion skip is selected based on the determination, the conversion block is When quantization is performed using a first quantization matrix having the same quantization roughness of all elements shared in advance with the decoding side, and orthogonal transform is applied to the transform block based on the determination, the transform It has a quantization part which quantizes using the 2nd quantization matrix which transmits a block to the 1st quantization matrix or the decoding side.
  • orthogonal transform applied to a transform block obtained by dividing a prediction difference signal that represents a difference between an input image and a prediction image, or conversion skip that does not apply is performed. And an orthogonal transform unit that performs processing selected based on the determination, and when the transform skip is selected based on the determination, the transform block is decoded on the decoding side.
  • the first quantization matrix or the second quantization matrix is expressed as follows: Uses a quantization unit to quantize using And wherein the Rukoto.
  • orthogonal transformation applied to a transformation block obtained by dividing a prediction difference signal representing a difference between an input image and a prediction image, or whether or not transformation skip is applied.
  • an orthogonal transform unit that performs processing selected based on the determination, and when the transform skip is selected based on the determination, the transform block is decoded on the decoding side.
  • the first quantization matrix having the same quantization roughness of all elements shared in advance or a single value transmitted to the decoding side, and representing the quantization roughness of all elements
  • the quantization is performed using the first quantization matrix or the second quantization matrix transmitted to the decoding side. It has a quantization part that To.
  • the other aspect of this invention is an image coding apparatus in any one of (1) thru
  • the said quantization part is with respect to the said conversion block based on the said determination.
  • orthogonal transform is applied, the second quantization matrix is quantized using the second quantization matrix when the second quantization matrix is transmitted, and the orthogonal transform is applied.
  • the first quantization matrix is not transmitted, quantization is performed using the first quantization matrix.
  • another aspect of the present invention is the image decoding device according to (1), in which the quantization unit selects the transform skip for the transform block based on the determination And when transmitting the said 2nd quantization matrix, it quantizes using the said 1st quantization matrix, It is characterized by the above-mentioned.
  • the quantized block is included in a case where the quantized block included in the encoded data is a block whose transform is skipped in which orthogonal transform is not applied.
  • the block is inversely quantized using the first quantization matrix having the same quantization roughness for all elements shared in advance with the encoding side, and the quantized block included in the encoded data is subjected to orthogonal transformation.
  • the block includes an inverse quantization unit that performs inverse quantization using the first quantization matrix or the second quantization matrix transmitted from the encoding side.
  • the quantized block is included when the quantized block included in the encoded data is a block whose transform is skipped in which orthogonal transform is not applied.
  • a representative value of the elements constituting the first quantization matrix that shares the block with the encoding side in advance or the second quantization matrix transmitted from the encoding side, and the quantization coarseness of all the elements is
  • the quantized block included in the encoded data and the quantized block included in the encoded data is a block to which orthogonal transform is applied
  • the first quantization matrix or the second quantization An inverse quantization unit that performs inverse quantization using a matrix is provided.
  • the quantized block is included in a case where the quantized block included in the encoded data is a block whose transform is skipped in which orthogonal transform is not applied. Reverse using a first quantization matrix that shares the block with the encoding side in advance or a quantization matrix that represents the quantization roughness of all elements with a single value transmitted from the encoding side When the quantized block included in the encoded data is a block to which orthogonal transform is applied, the first quantization matrix or the second quantization matrix transmitted from the encoding side is used. An inverse quantization unit that performs inverse quantization is provided.
  • the image decoding device according to any one of (6) to (8), wherein the inverse quantization unit includes a quantized signal included in the encoded data When the block is a block to which orthogonal transform is applied, and the second quantization matrix is transmitted from the encoding side, inverse quantization is performed using the second quantization matrix, When the quantized block included in the encoded data is a block to which orthogonal transform is applied, and the second quantization matrix is not transmitted from the encoding side, the first block Inverse quantization is performed using a quantization matrix.
  • the image decoding device according to (6), wherein the inverse quantization unit is configured such that a quantized block included in the encoded data is not orthogonally transformed.
  • the inverse quantization is performed using the first quantization matrix when the block is a transform skipped block that has been applied. It is characterized by.
  • the other aspect of this invention is a program for functioning a computer as an image coding apparatus in any one of (1) to (5).
  • the other aspect of this invention is a program for functioning a computer as an image decoding apparatus in any one of (6) to (10).
  • FIG. 1 is a block diagram illustrating an example of a schematic configuration of an image encoding device 10 according to the present embodiment.
  • the image encoding device 10 encodes the input moving image r to generate encoded data.
  • the image encoding device 10 includes a preprocessing unit 100, a prediction difference signal generation unit 101, an orthogonal transformation unit 102, a transformation skip determination unit 103, a quantization unit 104, a quantization matrix determination unit 105, an entropy.
  • Encoding unit 106 Encoding unit 106, inverse quantization unit 107, inverse orthogonal transform unit 108, decoded image generation unit 109, loop filter unit 110, decoded image storage unit 111, intra prediction unit 112, inter prediction unit 113, motion vector calculation unit 114, The prediction image selection unit 115 is included. An outline of each part will be described below.
  • the pre-processing unit 100 rearranges the pictures according to the picture type for the input moving image r, and sequentially outputs the picture type and the frame image for each frame. Further, the preprocessing unit 100 divides each frame image into block blocks. There are three types of coding block sizes: 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32. For example, refer to the spatial frequency distribution of the area, and increase the size of the coding block as the high-frequency component is smaller. You may decide by.
  • the prediction difference signal generation unit 101 acquires the encoded block divided by the preprocessing unit 100.
  • the prediction difference signal generation unit 101 generates a prediction difference signal based on the encoded block and the block data of the prediction image input from the prediction image selection unit 115. Specifically, the prediction difference signal is generated by subtracting the corresponding pixel value of the block data input from the prediction image selection unit 115 from each pixel value of the encoded block of the prediction image selection unit 115.
  • the prediction difference signal generation unit 101 inputs the generated prediction difference signal to the orthogonal transformation unit 102 and the conversion skip determination unit 103.
  • the orthogonal transform unit 102 divides the input prediction difference signal into transform blocks. There are four types of transform block sizes: 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32. Any of these may be determined as the size of each transform block. For example, the orthogonal transform unit 102 calculates an evaluation value based on a value indicating the difference between the decoding result obtained by decoding the encoded data and the input moving image, and the number of bits of the encoded data at each size. And the size when the evaluation value is the largest. The evaluation value is larger as the number of bits of the encoded data is smaller, and is larger as the difference between the decoding result and the input moving image is smaller.
  • the orthogonal transform unit 102 performs orthogonal transform processing such as discrete cosine transform on the divided transform block to generate a quantized block.
  • orthogonal transform processing such as discrete cosine transform
  • the transform block is directly used as a quantization block.
  • the size of the transform block and the size of the quantization block obtained by orthogonal transform of the transform block are the same.
  • the transform skip determining unit 103 determines whether or not to perform orthogonal transform for each transform block. For example, the conversion skip determination unit 103 calculates the spatial frequency distribution of the conversion block, and determines that the conversion is skipped when the difference between the maximum value and the minimum value of the frequency components is equal to or less than a predetermined threshold value. In addition, you may determine whether orthogonal transformation is performed by another method. Further, in the present embodiment, similarly to HEVC, orthogonal transform can be not applied (transform skip) only when the transform block size is 4 ⁇ 4.
  • the transform skip determining unit 103 uses a transform skip flag (transform_skip_flag) indicating whether or not to apply the orthogonal transform to the transform block as an entropy code.
  • transform_skip_flag a transform skip flag indicating whether or not to apply the orthogonal transform to the transform block as an entropy code.
  • the time when the transform block can prevent the orthogonal transform from being applied is when the size of the transform block is 4 ⁇ 4 in the present embodiment.
  • the conversion skip flag is “1”, it indicates that orthogonal transformation is not applied, and when it is “0”, it indicates that orthogonal transformation is applied.
  • the quantization unit 104 quantizes the quantization block that is an output signal from the orthogonal transform unit 102.
  • the quantization unit 104 reduces the code amount of the output signal by quantization, and inputs the output signal (quantized block) to the entropy encoding unit 106 and the inverse quantization unit 107.
  • the quantization matrix determination unit 105 uses the quantization matrix determined for each quantization block.
  • This quantization matrix is a matrix in which each element (hereinafter referred to as a quantization value) represents the roughness of quantization when the corresponding element of the quantization block is quantized. The larger the quantization value, the larger the quantization step.
  • the quantization matrix determination unit 105 determines a quantization matrix for each quantization block.
  • the quantization matrix determining unit 105 sets the quantization matrix of the quantization block obtained by the conversion skip among the quantization blocks so that the quantization coarseness of all the elements becomes equal, that is, The quantization matrix is determined so that all quantization values are the same. Details of the quantization matrix determination method will be described later.
  • the quantization matrix determination unit 105 inputs, to the entropy encoding unit 106, a transmission quantization matrix application flag (scaling_list_enable_flag) indicating whether or not to use a transmission quantization matrix transmitted to the decoding side as a quantization matrix. Further, when the transmission quantization matrix application flag is “1” indicating that the transmission quantization matrix is used, the quantization matrix determination unit 105 sets each element of the transmission quantization matrix (ScalingFactor) to a predetermined value. Scaling list (ScalingList ) Is input to the entropy encoding unit 106.
  • Scaling_list_enable_flag indicating whether or not to use a transmission quantization matrix transmitted to the decoding side as a quantization matrix. Further, when the transmission quantization matrix application flag is “1” indicating that the transmission quantization matrix is used, the quantization matrix determination unit 105 sets each element of the transmission quantization matrix (ScalingFactor) to a predetermined value. Scaling list (S
  • the entropy encoding unit 106 entropy-encodes information input from each unit such as an output signal from the quantization unit 104, motion vector information output from the motion vector calculation unit 114, and filter coefficients from the loop filter unit 110. And output as encoded data e.
  • the information input from each unit includes a conversion skip flag input from the conversion skip determination unit 103, a scaling list input from the quantization matrix determination unit 105, and a transmission quantization matrix application flag.
  • Entropy coding refers to a method of assigning variable-length codes according to the appearance frequency of symbols.
  • the inverse quantization unit 107 inversely quantizes the quantized block input from the quantization unit 104 to generate a transformed block.
  • the inverse quantization unit 107 inputs the generated transformed block to the inverse orthogonal transform unit 108.
  • the inverse quantization unit 107 uses the quantization matrix determined by the quantization matrix determination unit 105 at the time of inverse quantization. Thereby, inverse quantization according to the roughness of quantization at the time of quantization is performed.
  • the inverse orthogonal transform unit 108 performs an inverse orthogonal transform process on the transformed block input from the inverse quantization unit 107 and then outputs the processed block to the decoded image generation unit 109.
  • decoding processing By performing decoding processing by the inverse quantization unit 107 and the inverse orthogonal transform unit 108, a signal having the same level as the prediction difference signal before encoding is obtained.
  • the decoded image generation unit 109 adds the block data of the prediction image selected by the prediction image selection unit 115 and the prediction difference signal decoded by the inverse quantization unit 107 and the inverse orthogonal transform unit 108.
  • the decoded image generation unit 109 outputs the decoded image block data generated by the addition to the loop filter unit 110.
  • the loop filter unit 110 is, for example, a SAO (Sample Adaptive Filter), ALF (Adaptive Loop Filter), or a deblocking filter, and may include any one or more.
  • SAO Sample Adaptive Filter
  • ALF Adaptive Loop Filter
  • deblocking filter any one or more.
  • the loop filter unit 110 divides the input image into groups each having a predetermined size, and generates an appropriate filter coefficient for each group.
  • the loop filter unit 110 divides the decoded decoded image into groups for each predetermined size, and performs filter processing for each group using the generated filter coefficients.
  • the loop filter unit 110 outputs the filter processing result to the decoded image storage unit 111 and accumulates it as a reference image.
  • the predetermined size is, for example, an orthogonal transformation size.
  • the decoded image storage unit 111 stores the input block data of the decoded image as new reference image data, and outputs the data to the intra prediction unit 112, the inter prediction unit 113, and the motion vector calculation unit 114.
  • the intra prediction unit 112 generates block data of the predicted image from the already-encoded reference pixels for the processing target block of the encoding target image.
  • the intra prediction unit 112 performs prediction using a plurality of prediction directions and determines an optimal prediction direction.
  • the inter prediction unit 113 performs motion compensation on the reference image data acquired from the decoded image storage unit 111 with the motion vector provided from the motion vector calculation unit 114. Thereby, block data as a motion-compensated reference image is generated.
  • the motion vector calculation unit 114 obtains a motion vector using the block data in the encoding target image and the reference image acquired from the decoded image storage unit 111.
  • the motion vector is a value indicating a spatial deviation in units of blocks obtained using a block matching technique or the like that searches for a position most similar to the processing target block from the reference image in units of blocks.
  • the motion vector calculation unit 114 outputs the obtained motion vector to the inter prediction unit 113, and outputs motion vector information including information indicating the motion vector and the reference image to the entropy encoding unit 106.
  • the block data output from the intra prediction unit 112 and the inter prediction unit 113 are input to the predicted image selection unit 115.
  • the predicted image selection unit 115 selects one of the block data acquired from the intra prediction unit 112 and the inter prediction unit 113 as a predicted image.
  • the selected prediction image is output to the prediction difference signal generation unit 101 and the decoded image generation unit 109.
  • FIG. 2 is a schematic diagram illustrating an encoding block and a conversion block in the present embodiment.
  • Each frame is divided into encoded blocks by the preprocessing unit 100.
  • the size of the encoded block is 8 ⁇ 8, 16 ⁇ 16, or 32 ⁇ 32.
  • a 64 ⁇ 64 block in a certain frame is divided into 32 ⁇ 32 encoded blocks CB1, CB2, and CB3 and 16 ⁇ 16 encoded blocks CB4, CB5, CB6, and CB7.
  • the prediction difference signal corresponding to each coding block is divided into transform blocks by the orthogonal transform unit 102.
  • the 32 ⁇ 32 coding block CB2 is converted into 16 ⁇ 16 transform blocks TB1, TB2, TB3, 8 ⁇ 8 transform blocks TB4, TB5, TB6, 4 ⁇ 4 transform blocks TB7, TB8, TB9, It is divided into TB10.
  • 4, and 5 illustrate quantization matrices tb11, tb21, and tb22 each having four quantization values in the horizontal direction (four columns) and four in the vertical direction (four rows), for a total of 16 quantization values. It is a table.
  • the quantization matrices tb11, tb21, and tb22 have 4 ⁇ 4 elements and are therefore used for quantization of a 4 ⁇ 4 quantization block.
  • Squares included in the quantization matrices tb11, tb21, and tb22 indicate elements. The number written in each square indicates the quantized value.
  • the quantization matrix tb11 is an example of a default quantization matrix with a flat initial value, and the quantization value of each element is 16.
  • “flat” means that all elements of the quantization matrix have the same value.
  • quantization is performed with the same accuracy regardless of the elements of the quantization block. Therefore, when orthogonal transformation is not performed, it is possible to avoid deterioration in image quality due to the use of a quantization matrix having a biased quantization value such as the quantization matrix tb21.
  • the quantization matrix tb21 is an example of a transmission quantization matrix having a gradient.
  • the quantization matrix tb21 has a larger quantization value as the orders in the horizontal direction and the vertical direction increase.
  • the quantization values at the upper left end (first row and first column), middle (third row and second column), and lower right end (fourth row and fourth column) of the quantization matrix tb21 are 6, 28, and 42, respectively. .
  • the transform coefficients related to the elements arranged at the lower right that is, the transform coefficients in the higher range are quantized with lower accuracy. For this reason, when orthogonal transformation is performed, the human visual characteristic that the lower the frequency is, the more sensitive to the spatial change in lightness and hue, is utilized. It is permissible to reduce the amount of information.
  • the quantization matrix tb22 is another example of a transmission quantization matrix having a gradient.
  • the quantization matrix tb22 also has a larger quantization value as the degree in the horizontal direction and the vertical direction increases. For this reason, when orthogonal transformation is performed, it is allowed to reduce the amount of information in the high frequency band by quantization without degrading the image quality.
  • the gradient of the quantization value of the quantization matrix tb22 is gentler than the gradient of the quantization value of the quantization matrix tb21.
  • the size of the quantization block is 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32. It is a kind. For this reason, there are four types of quantization matrix sizes of 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32.
  • FIG. 6 is a flowchart for explaining processing of the quantization matrix determination unit 105 and the quantization unit 104.
  • the quantization matrix determination unit 105 and the quantization unit 104 select all the encoded blocks one by one in order, and perform the following steps Sa2 to Sa17 (Sa1).
  • step Sa2 the quantization matrix determination unit 105 determines whether or not to use a transmission quantization matrix for quantization of transform blocks belonging to the coding block (selected coding block). Any method can be used to determine whether or not to use the transmission quantization matrix. For example, the difference between the maximum value and the minimum value of the element values in the quantization block in the coding block is within a predetermined range. It is determined whether there is an external object. If it is out of the predetermined range, it is determined that the transmission quantization matrix is used.
  • the quantization matrix determination unit 105 sets the transmission quantization matrix application flag relating to the coding block to “0” and uses an entropy code.
  • the data is input to the conversion unit 106 (Sa13). If the value of the transmission quantization matrix application flag is “0”, it indicates that the default quantization matrix is used instead of the transmission quantization matrix when quantizing the quantization block in the coding block. .
  • step Sa15 the quantization matrix determination unit 105 sets a default quantization matrix corresponding to the size of the quantization block in the quantization unit 104 and the inverse quantization unit 107.
  • the default quantization matrix is a quantization matrix whose elements are initial values that are shared and stored in advance with the decoding side.
  • the 4 ⁇ 4 default quantization matrix is flat like the quantization matrix tb11 in FIG. 3, and the default quantization matrix of other sizes has a slope. .
  • the quantization unit 104 quantizes each element of the quantization block using the default quantization matrix set in step Sa15 to generate a quantized block.
  • the quantization unit 104 inputs the generated quantized block to the entropy coding unit 106 and the inverse quantization unit 107 (Sa16).
  • the quantization unit 104 performs quantization, for example, the inverse-quantized transformed block d [x] [y] calculated by the inverse quantization unit 107 according to Expression (1) is input from the orthogonal transform unit 102.
  • a transform coefficient level value TransCoeffLevel [xTbY] [yTbY] [cIdx] [x] [y] that most closely approximates the quantized block is selected as a quantized block.
  • m [x] [y] is a quantization matrix.
  • d [x] [y] Clip3 ( ⁇ 32768, 32767, ((TransCoeffLevel [xTbY] [yTbY] [cIdx] [x] [y] * m [x] [y] * levelScale [qP% 6] ⁇ (QP / 6)) + (1 ⁇ (bdShift-1))) >> bdShift) (1)
  • Clip3 (a, b, xx) is defined as a when the real number xx is smaller than the real number a, and is defined as b when the real number xx is larger than the real number b, and the real number xx is a or If it is larger than a and smaller than b or b, it is a function determined as xx as it is.
  • xTbY and yTbY indicate the horizontal and vertical coordinate values of the upper left corner of the quantization block (target block) to be processed.
  • ⁇ 32768 and 32767 indicate the minimum value and the maximum value of the signal value for each element indicated by 16 bits, respectively.
  • LevelScale [0] to levelScale [5] are 40, 45, 51, 57, 64 and 72, respectively.
  • qP is a quantization parameter, that is, an integer indicating the quantization accuracy, and is a parameter that prompts the quantization value to be halved every time it is increased by 6.
  • qP% 6 indicates a remainder obtained by dividing qP by 6.
  • a ⁇ b is a bit shift operator indicating that the value of a is shifted to the left by b digits in binary notation, that is, multiplied by 2 to the power of b.
  • a >> b is a bit shift operator indicating that the value of a is shifted to the right by b digits in binary notation, that is, 2 b is divided.
  • bdShift is a bit shift value determined in advance according to the type of signal value.
  • bdShift is BitDepth Y + Log2 (nTbS) ⁇ 5.
  • Bit Depth Y indicates the bit depth of the luminance signal Y, that is, the number of quantization bits (for example, 16 bits).
  • nTbS indicates the block size of the target block.
  • the bd quantization matrix determination unit 105 is Shift is BitDepth C + Log2 (nTbS) ⁇ 5.
  • Bit Depth C indicates the bit depth of the luminance signals Cb and Cr, that is, the number of quantization bits (for example, 16 bits).
  • qP may be a different value depending on the type of frame.
  • the quantization matrix determination unit 105 determines whether or not the processing of steps Sa15 and Sa16 is performed for all quantization blocks belonging to the coding block (Sa17), and is performed for all quantization blocks. If yes, the process proceeds to step Sa12. When there is a quantized block that has not been subjected to the processes of steps Sa15 and Sa16, the quantization matrix determination unit 105 selects one quantized block that has not been processed, and the process returns to step Sa15.
  • the quantization matrix determination unit 105 determines the transmission quantization matrix (ScalingFactor) of each size. Determine (Sa3).
  • the quantization matrix determination unit 105 stores a plurality of quantization matrices of each size in advance, and selects the one having the smallest quantization error from among them.
  • an evaluation value based on the quantization error and the number of bits after quantization may be calculated and selected based on the evaluation value.
  • the quantization matrix determination unit 105 entropy-encodes a scaling list in which elements of the determined transmission quantization matrix are arranged in a predetermined order and a transmission quantization matrix application flag (scaling_list_enable_flag) set to “1”.
  • the data is input to the unit 106 (Sa4).
  • all the quantization blocks in the coding block are selected one by one in order, and the processing from step Sa6 to Sa10 is performed (Sa5).
  • step Sa6 the quantization matrix determination unit 105 determines whether or not the size of the quantization block is 4 ⁇ 4, that is, whether or not the quantization block can be subjected to conversion skipping.
  • the quantization matrix determination unit 105 determines whether or not the quantization block has been subjected to transform skip (Sa7). ). In this determination, the conversion skip flag input from the conversion skip determination unit 103 is referred to.
  • step Sa7 If it is determined in step Sa7 that the conversion is skipped (Sa7-Yes), the quantization matrix determination unit 105 sets a 4 ⁇ 4 default quantization matrix in the quantization unit 104 and the inverse quantization unit 107. (Sa8), the process proceeds to step Sa10.
  • This 4 ⁇ 4 default quantization matrix is the same as that set in step Sa15, and is a flat quantization matrix.
  • step Sa6-No when it is determined in step Sa6-No) and when it is determined in step Sa7 that it is not conversion skip (Sa7-No), the quantization matrix determination unit 105 proceeds to step Sa3.
  • the transmission quantization matrix having the size of the quantization block is set in the quantization unit 104 and the inverse quantization unit 107 (Sa9), and the process proceeds to step Sa10.
  • a coding block using a transmission quantization matrix when a 4 ⁇ 4 quantization block is quantized, if the conversion is skipped, the default quantization matrix is used, and the conversion is not skipped.
  • a transmission quantization matrix is used. Therefore, a flat quantization matrix can be used for those that have been skipped, and a sloped quantization matrix can be used for those that have not been skipped.
  • step Sa10 the quantization unit 104 quantizes the quantization block using the quantization matrix set in step Sa8 or Sa9 in the same manner as in step Sa16, and generates a quantized block.
  • the quantization unit 104 inputs the generated quantized block to the entropy encoding unit 106 and the inverse quantization unit 107.
  • the quantization matrix determination unit 105 determines whether or not the processing of steps Sa6 to Sa10 is performed for all quantization blocks belonging to the coding block (Sa11), and is performed for all quantization blocks. If yes, the process proceeds to step Sa12. When there is a quantized block that has not been subjected to the processing of steps Sa6 to Sa10, the quantization matrix determination unit 105 selects one quantized block that has not been processed, and returns to step Sa6.
  • step Sa12 the quantization matrix determination unit 105 determines whether or not the processing of steps Sa2 to Sa17 has been performed for all the coding blocks. When there is an encoded block that has not been subjected to the processes of steps Sa2 to Sa17, the quantization matrix determination unit 105 selects one encoded block that has not been processed, and the process returns to step Sa2. When the process is performed for all the encoded blocks, the process ends.
  • FIG. 7 is a schematic block diagram showing the configuration of the image decoding device 30 in the present embodiment.
  • the image decoding device 30 includes an entropy decoding unit 301, a decoding information storage unit 302, an inverse quantization unit 303, a quantization matrix determination unit 304, an inverse orthogonal transform unit 305, a transform skip determination unit 306, a decoding
  • the image generation unit 307, the loop filter unit 308, the frame memory 309, the inter prediction unit 310, the intra prediction unit 311, and the predicted image selection unit 312 are configured. An outline of each part will be described below.
  • the entropy decoding unit 301 When the encoded data e generated by the image encoding device 10 is input, the entropy decoding unit 301 performs entropy decoding corresponding to the entropy encoding performed by the entropy encoding unit 106 of the image encoding device 10.
  • the prediction error signal (quantized block) decoded by the entropy decoding unit 301 is output to the inverse quantization unit 303.
  • the decoded transform skip flag, transmission quantization matrix application flag, scaling list, filter coefficient, decoded motion vector in the case of inter prediction, and the like are input to the decoding information storage unit 302.
  • the entropy decoding unit 301 In the case of intra prediction, the entropy decoding unit 301 notifies the intra prediction unit 311 to that effect. In addition, the entropy decoding unit 301 notifies the prediction image selection unit 312 whether the decoding target image is inter predicted or intra predicted.
  • the decoding information storage unit 302 stores decoding information such as a decoded conversion skip flag, a transmission quantization matrix application flag, a scaling list, a filter coefficient of a loop filter, a motion vector, and a division mode.
  • the inverse quantization unit 303 performs an inverse quantization process represented by Expression (1) on the quantized block input from the entropy decoding unit 301 to generate a transformed block. This transformed block is obtained by restoring the quantized block generated by the orthogonal transform unit 102 in FIG.
  • the inverse quantization unit 303 inputs the transformed block to the inverse orthogonal transform unit 305.
  • the inverse quantization unit 303 uses the quantization matrix set by the quantization matrix determination unit 304 when performing the inverse quantization process.
  • the quantization matrix determination unit 304 reads the conversion skip flag, the transmission quantization matrix application flag, and the scaling list from the decoding information storage unit 302, generates a quantization matrix used when each quantized block is inversely quantized, Set in inverse quantization section 303.
  • the inverse orthogonal transform unit 305 performs an inverse orthogonal transform process on the transformed block input from the inverse quantization unit 303 to restore the prediction difference signal generated by the prediction difference signal generation unit 101 of the image encoding device 10.
  • a prediction difference restoration signal is generated. Note that the inverse orthogonal transform unit 305 does not perform the inverse orthogonal transform process on the transformed block designated by the transform skip determination unit 306 as not to apply the inverse orthogonal transform, and directly uses it as a prediction difference restoration signal.
  • the inverse orthogonal transform unit 305 inputs the prediction difference restoration signal to the decoded image generation unit 307.
  • the intra prediction unit 311 generates a predicted image using a plurality of prediction directions from the peripheral pixels already decoded of the decoding target image acquired from the frame memory 309.
  • the inter prediction unit 310 performs motion compensation on the reference image data acquired from the frame memory 309 using a motion vector or a division mode acquired from the decoded information storage unit 302. As a result, block data of a predicted image including a motion-compensated reference image is generated.
  • the predicted image selection unit 312 selects either the intra predicted image or the inter predicted image according to the notification from the entropy decoding unit 301.
  • the block data of the selected predicted image is input to the decoded image generation unit 307.
  • the decoded image generation unit 307 adds the block data of the prediction image input from the prediction image selection unit 312 and the prediction difference restoration signal input from the inverse orthogonal transform unit 305 to generate a decoded image.
  • the generated decoded image is input to the loop filter unit 308.
  • the loop filter unit 308 applies a filter for reducing block distortion to the decoded image output from the decoded image generation unit 307, and outputs the decoded image after the loop filter processing to the frame memory 309. Note that the decoded image after the loop filter may be output to a display device or the like.
  • the frame memory 309 stores a decoded image that becomes a reference image.
  • the decoded information storage unit 302 and the frame memory 309 are configured separately, they may be the same storage unit.
  • FIG. 8 is a flowchart for explaining the operations of the quantization matrix determination unit 304 and the inverse quantization unit 303.
  • the quantization matrix determination unit 304 and the inverse quantization unit 303 sequentially select all the coding blocks one by one, and perform the following processing from step Sb2 to step Sb14 (Sb1).
  • the quantization matrix determination unit 304 refers to the decoding information storage unit 302 and determines whether or not the transmission quantization matrix application flag of the coding block is “1”.
  • step Sb12 the quantization matrix determination unit 304 determines whether or not the processing of steps Sb12 to Sb13 is performed for all quantization blocks belonging to the coding block (Sb14), and for all quantization blocks. If so, the process proceeds to step Sb15.
  • the quantization matrix determining unit 304 selects one quantized block that has not been processed, and the process returns to step Sb12.
  • the quantization matrix determination unit 304 displays a scaling list of each size of the coding block. Obtained from the decryption information storage unit 302 (Sb3).
  • the quantization matrix determination unit 304 and the inverse quantization unit 303 sequentially select all the quantized blocks one by one, and perform the following processing from step Sb5 to step Sb10 (Sb4).
  • the quantization matrix determination unit 304 determines whether or not the size of the selected quantized block is 4 ⁇ 4 (Sb5). When it is determined that it is 4 ⁇ 4 (Sb45-Yes), the conversion skip flag of the quantized block is further acquired from the decoding information storage unit 302, and whether or not the conversion skip flag is “1” is determined. Determine (Sb6).
  • the quantization matrix determination unit 304 sets a 4 ⁇ 4 default quantization matrix in the inverse quantization unit 303 (Sb7), and the step Proceed to Sb9.
  • the quantization matrix determination unit 304 Sets the transmission quantization matrix generated from the scaling list of the size of the quantized block in the scaling list acquired in step Sb3 to the inverse quantization unit 303 (Sb8), and proceeds to step Sb9.
  • the quantization matrix determination unit 304 generates a transmission quantization matrix by using each value obtained by dividing the scaling list as an element at a predetermined position.
  • step Sb9 the inverse quantization unit 303 generates a transformed block by inversely quantizing the quantized block using the quantization matrix set in step Sb7 or Sb8 in the same manner as in step Sb13. To do.
  • the inverse quantization unit 303 inputs the generated transformed block to the inverse orthogonal transform unit 305.
  • the quantization matrix determination unit 304 determines whether or not the processing of steps Sb5 to Sb9 has been performed for all quantized blocks belonging to the encoded block (Sb10), and all quantized blocks have been processed. When the operation is performed, the process proceeds to step Sb15.
  • the quantization matrix determination unit 304 selects one quantized block that has not been processed, and the process returns to step Sb5.
  • step Sb15 the quantization matrix determination unit 304 determines whether or not the processing of steps Sb2 to Sb14 is performed for all the encoded blocks (Sb15). If there is an encoded block that has not been subjected to the processes in steps Sb2 to Sb14, the quantization matrix determination unit 304 selects one encoded block that has not been processed, and the process returns to step Sb2. When the process is performed for all the encoded blocks, the process ends.
  • the image encoding device 10 includes the transform skip determination unit 103, the orthogonal transform unit 102, the quantization matrix determination unit 105, and the quantization unit 104.
  • the transform skip determination unit 103 determines whether or not to apply orthogonal transform to each transform block obtained by dividing the prediction difference signal that represents the difference between the input image and the prediction image.
  • the orthogonal transform unit 102 generates a quantized block by performing orthogonal transform on a transform block determined to apply the orthogonal transform among the transform blocks, and selects a transform block determined not to apply the orthogonal transform among the transform blocks.
  • the quantization block is used as it is.
  • the quantization matrix determination unit 105 determines, for each quantization block, a quantization matrix that represents the quantization roughness for each element when each element of the quantization block is quantized.
  • the quantization unit 104 quantizes each element of the quantization block using the quantization matrix determined by the quantization matrix determination unit 105. Then, the quantization matrix determination unit 105 sets the quantization matrix for the quantization block left as the transform block by the orthogonal transform unit 102 as a quantization matrix having the same quantization roughness for all elements.
  • the quantization block that remains as the transformation block that is, the quantization block that has not undergone orthogonal transformation
  • the quantization roughness of all the elements is equal, it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation.
  • the quantization matrix determination unit 105 sets the quantization matrix for the quantization block left as a transform block by the orthogonal transform unit 102 as a default quantization matrix shared in advance with the decoding side.
  • a quantization block that is left as a transform block that is, a quantization block that is not subjected to orthogonal transform, uses a default quantization matrix in which the quantization coarseness of all elements is equal.
  • the quantization matrix determination unit 105 is configured by one or a plurality of the quantization blocks, which uses a default quantization matrix or a transmission quantization matrix transmitted to the decoding side as a quantization matrix. A determination is made for each predetermined unit (encoded block).
  • the quantization matrix determination unit 105 includes a quantization matrix for a quantization block that is included in a predetermined unit determined to use the transmission quantization matrix and is left as a transform block by the orthogonal transform unit 102. The default quantization matrix is used.
  • the image decoding device 30 includes the quantization matrix determination unit 304, the inverse quantization unit 303, the transform skip determination unit 306, the inverse orthogonal transform unit 305, and the decoded image generation unit 307.
  • the quantization matrix determination unit 304 calculates, for each quantized block, a quantization matrix that represents the roughness of quantization for each element when each element of the quantized block included in the encoded data e is inversely quantized. decide.
  • the inverse quantization unit 303 uses the quantization matrix determined by the quantization matrix determination unit 304 to inversely quantize each element of the quantized block to generate a transformed block.
  • the transform skip determining unit 306 determines whether to apply inverse orthogonal transform to each transformed block.
  • the inverse orthogonal transform unit 305 generates a prediction difference restoration signal by performing inverse orthogonal transform on the transformed block determined to apply the inverse orthogonal transform among the transformed blocks, and the inverse orthogonal transform among the transformed blocks.
  • the converted block determined not to be applied is directly used as a prediction difference restoration signal.
  • the decoded image generation unit 307 (synthesis unit) generates a decoded image from the prediction difference restoration signal and the prediction image.
  • the quantization matrix determination unit 304 uses the quantization matrix used when the inverse orthogonal transform unit 305 generates a transformed block that uses the transformed block as a prediction difference restoration signal as it is as the roughness of quantization of all elements.
  • the quantization matrices are equal.
  • the transformed block is used as it is as a prediction difference restoration signal, and the quantization corresponding to the transformed block that is not subjected to inverse orthogonal transformation
  • the inverse quantization of a completed block uses a quantization matrix in which the quantization coarseness of all elements is equal, so that it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation. .
  • the quantization matrix determination unit 304 shares in advance the quantization matrix used when the inverse orthogonal transform unit 305 generates a transformed block using the transformed block as a prediction difference restoration signal as it is, with the encoding side.
  • the default quantization matrix is used.
  • the transformed block is used as a prediction difference restoration signal as it is, and the inverse quantization of the quantized block corresponding to the transformed block that is not subjected to inverse orthogonal transformation is the default for which all elements have the same quantization roughness. Since a quantization matrix is used, it is possible to suppress variations between pixels caused by quantization and suppress subjective image quality degradation.
  • the quantization matrix determination unit 304 is configured by using one or a plurality of quantized blocks as to whether a default quantization matrix or a transmission quantization matrix transmitted from the encoding side is used as a quantization matrix. For each predetermined unit (encoded block). In addition, the quantization matrix determination unit 304 generates a transformed block that is included in the encoded block determined to use the transmission quantization matrix, and the inverse orthogonal transform unit 305 uses the transformed block as it is as a prediction difference block. The quantization matrix used in the process is set as a default quantization matrix.
  • the quantized block is included in a predetermined unit (encoded block) that is determined to use the transmission quantization matrix, the quantized block that does not perform inverse orthogonal transformation after inverse quantization Since the default quantization matrix in which the quantization coarseness of all elements is equal is used for the inverse quantization of, variation between pixels caused by quantization can be suppressed, and subjective image quality degradation can be suppressed. .
  • the image encoding device 10 and the image decoding device 30 in the present embodiment have the same configuration as the image encoding device 10 in FIG. 1 and the image decoding device 30 in FIG. However, since the operation of the quantization matrix determination unit 105 in the image encoding device 10 is different from that of the image decoding device 30 in the operation of the quantization matrix determination unit 304, these operations will be described.
  • FIG. 9 is a flowchart for explaining the operation of the quantization unit 104 and the quantization matrix determination unit 105 in the present embodiment. 9, parts corresponding to those in FIG. 6 are given the same reference numerals (Sa1 to Sa7, Sa9 to Sa17), and description thereof is omitted.
  • the flowchart of FIG. 9 differs from the flowchart of FIG. 6 only in that step Sc8 is provided instead of step Sa8.
  • the quantization matrix determination unit 105 acquires one representative value of the transmission quantization matrix having the size of the quantization block among the transmission quantization matrices determined in step Sa3.
  • the quantization matrix determination unit 105 sets a representative value quantization matrix in which all elements have the same value as the representative value in the quantization unit 104 and the inverse quantization unit 107.
  • a representative value an element at a predetermined position of the transmission quantization matrix is used, and a quantization matrix in which all the elements are the representative value is set as a representative value quantization matrix.
  • the representative value quantization matrix m [x] [y] can be expressed as in Expression (2) when the transmission quantization matrix is ScalingFactor [sizeId] [x] [y].
  • m [x] [y] ScalingFactor [sizeId] [ ⁇ ] [ ⁇ ] (2) where ⁇ and ⁇ are integers indicating predetermined positions in the horizontal and vertical directions, respectively.
  • xTbS-1 taking any value from 0 to yTbS-1 (for example, 2).
  • xTbS is the block size in the x direction
  • yTbs is the block size in the y direction, both of which are “4”.
  • SizeId is an index representing the size of the quantization block, and here, a value representing 4 ⁇ 4 is entered.
  • an average value, an intermediate value, a minimum value, a maximum value, a mode value, or the like of elements of the transmission quantum matrix may be used.
  • FIG. 10 is a flowchart for explaining the operation of the inverse quantization unit 303 and the quantization matrix determination unit 304 in the present embodiment. 10, parts corresponding to those in FIG. 8 are given the same reference numerals (Sb1 to Sb6, Sb8 to Sa14), and description thereof is omitted.
  • the flowchart in FIG. 10 differs from the flowchart in FIG. 8 only in that step Sd7 is provided instead of step Sb7.
  • step Sd7 the quantization matrix determination unit 304 generates a transmission quantization matrix from the scaling list of the size of the quantized block in the scaling list acquired in step Sb3, and generates one of the generated transmission quantization matrices. Get two representative values. The method for obtaining the representative value is the same as in step Sc7.
  • the quantization matrix determination unit 304 sets a representative value quantization matrix in which all elements have the same value as the representative value in the inverse quantization unit 303.
  • the quantization matrix determination unit 105 configures a predetermined matrix for the quantization matrix for the quantization block that is left as a transform block by the orthogonal transform unit 102. It is a representative value quantization matrix that represents the representative values of elements and represents the roughness of quantization of all elements.
  • a quantization block that is left as a transform block that is, a quantization block that has not been subjected to orthogonal transform, uses a representative quantization matrix in which the quantization roughness of all elements is equal. Therefore, it is possible to suppress variations between pixels caused by quantization and suppress subjective image quality degradation.
  • the quantization matrix determination unit 105 determines whether to use a default quantization matrix shared in advance with the decoding side or a transmission quantization matrix to be transmitted to the decoding side as the quantization matrix. A determination is made for each predetermined unit (encoded block) composed of quantized blocks. A quantization matrix for a quantization block that is included in a predetermined unit that is determined to use the transmission quantization matrix by the quantization matrix determination unit 105 and that remains as a transform block by the orthogonal transform unit 102 is represented as a representative value. Let it be a quantization matrix. Further, the predetermined matrix described above is a transmission quantization matrix.
  • the quantization matrix determination unit 304 is used when the inverse orthogonal transform unit 305 generates a transformed block that uses the transformed block as a prediction difference restoration signal as it is.
  • the quantization matrix is a representative value quantization matrix that represents representative values of elements constituting a predetermined matrix and represents the quantization roughness of all elements.
  • a representative value quantization matrix having the same quantization roughness for all elements is used for inverse quantization to generate a transformed block that uses the transformed block as it is as a prediction difference restoration signal. It is possible to suppress variation between pixels caused by the conversion, and to suppress subjective image quality degradation.
  • the quantization matrix determination unit 304 determines whether to use a default quantization matrix shared in advance with the decoding side or a transmission quantization matrix transmitted from the encoding side as the quantization matrix, or A determination is made for each predetermined unit (encoded block) composed of a plurality of quantized blocks.
  • the quantization matrix determination unit 304 generates a transformed block that is included in a predetermined unit determined to use the transmission quantization matrix, and the inverse orthogonal transform unit 305 uses the transformed block as it is as a prediction difference restoration signal.
  • the quantization matrix used at this time is a representative value quantization matrix.
  • the predetermined matrix described above is a transmission quantization matrix.
  • the quantized block is included in a predetermined unit (encoded block) that is determined to use the transmission quantization matrix, the quantized block that does not perform inverse orthogonal transformation after inverse quantization
  • a representative value quantization matrix with the same quantization roughness for all elements is used, so it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation. it can.
  • a quantization block that belongs to an encoding block that uses a transmission quantization matrix, and one that has been subjected to conversion skip is transmitted from the encoding side to the decoding side, and generated from the value.
  • An example using a flat single-value transmission quantization matrix will be described.
  • the image encoding device 10 and the image decoding device 30 in the present embodiment have the same configuration as the image encoding device 10 in FIG. 1 and the image decoding device 30 in FIG. However, since the operation of the quantization matrix determination unit 105 in the image encoding device 10 is different from that of the image decoding device 30 in the operation of the quantization matrix determination unit 304, these operations will be described.
  • FIG. 11 is a flowchart for explaining the operation of the quantization unit 104 and the quantization matrix determination unit 105 in the present embodiment.
  • parts corresponding to those in FIG. 6 are assigned the same reference numerals (Sa1 to Sa2, Sa5 to Sa7, Sa9 to Sa17), and description thereof is omitted.
  • the flowchart of FIG. 11 differs from the flowchart of FIG. 6 only in that steps Sa3, Sa4, and Sa8 are provided instead of steps Sa3, Sa4, and Sa8, respectively.
  • the quantization matrix determination unit 105 determines a transmission quantization matrix (ScalingFactor) and a single-value transmission quantization matrix (ScalingFactor_TS) of each size.
  • the single value transmission quantization matrix is a quantization matrix in which all elements have the same value and one value is transmitted to the decoding side.
  • a predetermined value may be used, or it may be obtained from the distribution of the elements of the quantized block skipped for conversion.
  • step Se4 the quantization matrix determination unit 105 arranges each element of the transmission quantization matrix determined in step Se3 and one value indicating the element of the single value transmission quantization matrix in a predetermined order. And the transmission quantization matrix application flag (scaling_list_enable_flag) set to “1” is input to the entropy encoding unit 106.
  • step Se8 the quantization matrix determination unit 105 sets the single value transmission quantization matrix determined in step Se3 in the quantization unit 104 and the inverse quantization unit 107.
  • the single-value transmission quantization matrix m [x] [y] to be set can be expressed as Equation (3), where ScalingFactor_TS [sizeId] is a value indicating an element of the single-value transmission quantization matrix.
  • m [x] [y] ScalingFactor_TS [sizeId] (3)
  • SizeId is an index representing the size of the quantization block, and here, a value representing 4 ⁇ 4 is entered.
  • the single-value transmission quantization matrix is used only when the size is 4 ⁇ 4, and therefore does not need to have sizeId as an argument.
  • the value ScalingFactor_TS indicating the element of the single value transmission quantization matrix may be determined not only for the quantization block size (SizeId) but also for each combination with other parameters.
  • Other parameters include the type of signal value (luminance value Y, color difference Cb, Cr), the prediction mode (intra prediction, inter prediction, etc.) of the encoded block to which the quantized block belongs.
  • step Se3 the determination of the single value transmission quantization matrix in step Se3 and the input of the scaling list of the single value transmission quantization matrix to the entropy coding unit 106 are performed by the quantization block to be converted and skipped to the coding block. It may be only when it is included.
  • FIG. 12 is a flowchart for explaining the operation of the inverse quantization unit 303 and the quantization matrix determination unit 304 in the present embodiment.
  • the same reference numerals (Sb1, Sb2, Sb4 to Sb6, Sb8 to Sa14) are assigned to the parts corresponding to the respective parts in FIG.
  • the flowchart in FIG. 12 differs from the flowchart in FIG. 8 only in that steps Sf3 and Sf7 are provided instead of steps Sb3 and Sb7.
  • step Sf3 the quantization matrix determination unit 304 acquires the scaling list of each size of the coding block and the scaling list of the single-value transmission quantization matrix from the decoding information storage unit 302.
  • step Sf7 the quantization matrix determination unit 304 generates a single value transmission quantization matrix from the scaling list of the single value transmission quantization matrix acquired in step Sf3, and sets it in the inverse quantization unit 303.
  • the quantization matrix determination unit 105 simply transmits the quantization matrix for the quantization block left as the transform block by the orthogonal transform unit 102 to the decoding side.
  • a quantization block that is left as a transform block that is, a quantization block that is not subjected to orthogonal transform, has a single-value transmission quantization matrix in which the quantization roughness of all elements is equal. Therefore, it is possible to suppress variations between pixels caused by quantization, and to suppress subjective image quality degradation.
  • the quantization matrix determination unit 105 determines whether to use a default quantization matrix shared in advance with the decoding side or a transmission quantization matrix to be transmitted to the decoding side as the quantization matrix. A determination is made for each predetermined unit (encoded block) composed of quantized blocks.
  • the quantization matrix determining unit 105 includes a single quantization matrix for a quantization block that is included in a predetermined unit that is determined to use a transmission quantization matrix and that remains as a transform block by the orthogonal transform unit 102. Let it be a value transmission quantization matrix.
  • the quantization matrix determination unit 304 is used when the inverse orthogonal transform unit 305 generates a transformed block that uses the transformed block as a prediction difference restoration signal as it is.
  • the quantization matrix is a single value transmission quantization matrix in which quantization values of all elements are represented by a single value transmitted from the encoding side.
  • the quantized block corresponding to the transformed block corresponding to the transformed block that is not subjected to inverse orthogonal transformation is used as the prediction difference restoration signal as it is, and the quantization roughness of all the elements is the same. Since a single-value transmission quantization matrix is used, it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation.
  • the quantization matrix determination unit 304 determines whether to use a default quantization matrix shared in advance with the decoding side or a transmission quantization matrix transmitted from the encoding side as the quantization matrix, or The determination is made for each predetermined unit (encoded block) composed of a plurality of quantized blocks.
  • the quantization matrix determination unit 304 generates a transformed block that is included in a predetermined unit determined to use the transmission quantization matrix, and the inverse orthogonal transform unit 305 uses the transformed block as it is as a prediction difference restoration signal.
  • the quantization matrix used in this case is a single-value transmission quantization matrix.
  • the quantized block is included in a predetermined unit (encoded block) that is determined to use the transmission quantization matrix, the quantized block that does not perform inverse orthogonal transformation after inverse quantization Since a single-value transmission quantization matrix in which the quantization coarseness of all elements is equal is used for inverse quantization of, pixel-to-pixel variation caused by quantization is suppressed, and subjective image quality degradation is suppressed. be able to.
  • FIG. 13 is a schematic block diagram showing the configuration of the image encoding device 10a in the present embodiment.
  • the same reference numerals (100 to 104, 106 to 115) are assigned to the portions corresponding to the respective portions in FIG.
  • the image encoding device 10a differs from the image encoding device 10 of FIG. 1 only in that it has a quantization matrix determination unit 105a instead of the quantization matrix determination unit 105.
  • the quantization matrix determination unit 105a differs from the quantization matrix determination unit 105 in that it does not refer to the determination result of the conversion skip determination unit 103 when determining the quantization matrix.
  • FIG. 14 is a flowchart for explaining the operation of the quantization unit 104 and the quantization matrix determination unit 105a in the present embodiment.
  • the same reference numerals (Sa1 to Sa17) are given to the portions corresponding to the respective portions in FIG.
  • the flowchart of FIG. 14 differs from the flowchart of FIG. 6 only in that it does not have Step Sa7 and proceeds to Step Sa8 when it is determined in Step Sa6 that the size of the quantization block is 4 ⁇ 4.
  • FIG. 15 is a schematic block diagram showing the configuration of the image decoding device 30a in the present embodiment. 15, parts corresponding to those in FIG. 7 are given the same reference numerals (301 to 303, 305 to 312), and description thereof will be omitted.
  • the image decoding device 30a is different from the image decoding device 30 in FIG. 7 only in that a quantization matrix determination unit 304a is provided instead of the quantization matrix determination unit 304.
  • the quantization matrix determination unit 304a is different from the quantization matrix determination unit 304 in that it does not read the conversion skip flag from the decoded information storage unit 302 when determining the quantization matrix.
  • FIG. 16 is a flowchart for explaining the operation of the inverse quantization unit 303 and the quantization matrix determination unit 304a in the present embodiment.
  • the same reference numerals (Sb1 to Sb5, Sb7 to Sb15) are assigned to portions corresponding to the respective portions in FIG. 8, and description thereof is omitted.
  • the flowchart of FIG. 16 differs from the flowchart of FIG. 8 only in that it does not have step Sb6 and proceeds to step Sb7 when it is determined in step Sb5 that the size of the quantized block is 4 ⁇ 4. .
  • the quantization matrix determination unit 105a determines all quantization matrices for all quantization blocks whose block size is a predetermined block size (4 ⁇ 4). Assume that the quantization roughness of the elements of is equal.
  • the quantization matrix for a quantization block that has a predetermined block size and may not have undergone orthogonal transformation has the same quantization roughness for all elements. It is possible to suppress variations between the images and to suppress subjective image quality degradation.
  • the quantization matrix determination unit 105a sets a quantization matrix for a quantization block whose block size is a predetermined block size (4 ⁇ 4) as a default quantization matrix shared in advance with the decoding side. Further, among the default quantization matrices, those having a predetermined block size have the same quantization roughness for all elements.
  • a quantization block that has a predetermined block size and that may not be subjected to orthogonal transformation uses a default quantization matrix in which the quantization roughness of all elements is equal. It is possible to suppress variation between pixels caused by the above-described problem, and to suppress subjective image quality degradation.
  • the quantization matrix determination unit 105a determines whether to use a default quantization matrix or a transmission quantization matrix to be transmitted to the decoding side as a quantization matrix. For each unit (encoded block).
  • the quantization matrix determination unit 105a has a predetermined block size (4 ⁇ 4) even if the quantization block is a quantization block included in a predetermined unit determined to use the transmission quantization matrix.
  • the quantization matrix of the quantization block is set as a default quantization matrix.
  • a quantization block included in a predetermined unit (encoding block) determined to use a transmission quantization matrix has a predetermined block size and may not be orthogonally transformed.
  • the quantization of the quantization block uses a default quantization matrix in which the quantization coarseness of all elements is equal, so that variation between pixels caused by quantization is suppressed and subjective image quality deterioration is suppressed. Can do.
  • the quantization matrix determination unit 304a uses the quantum used to generate each of all the converted blocks whose block size is a predetermined block size (4 ⁇ 4).
  • the quantization matrix is a quantization matrix in which the quantization coarseness of all elements is equal.
  • the quantization matrix for a quantized block that has a predetermined block size and does not perform orthogonal transformation after inverse quantization has the same quantization roughness for all elements, so quantization It is possible to suppress variation between pixels caused by the above-described problem, and to suppress subjective image quality degradation.
  • the quantization matrix determination unit 304a determines the quantization matrix used when generating a transformed block having a predetermined block size (4 ⁇ 4) as the encoding side.
  • a default quantization matrix shared in advance is used.
  • the quantization matrix for a quantized block that has a predetermined block size and does not perform orthogonal transform after inverse quantization is a default quantization matrix in which the quantization coarseness of all elements is equal.
  • the quantization matrix determination unit 304a determines whether to use a default quantization matrix or a transmission quantization matrix transmitted from the encoding side as a quantization matrix from one or a plurality of the quantized blocks. Determination is made for each predetermined unit (encoded block) to be configured.
  • the quantization matrix determination unit 304a includes a quantization matrix that is included in a predetermined unit determined to use the transmission quantization matrix and is used when generating a converted block having a predetermined block size (4 ⁇ 4). And the default quantization matrix.
  • a transformed block included in a prescribed unit (encoded block) determined to use a transmission quantization matrix has a prescribed block size and is not subjected to orthogonal transformation after inverse quantization.
  • the quantization matrix for a quantized block with a certain one is the default quantization matrix with the same quantization roughness for all elements, so it suppresses pixel-to-pixel variations caused by quantization and degrades subjective image quality. Can be suppressed.
  • the image encoding device 10a and the image decoding device 30a in the present embodiment have the same configuration as the image encoding device 10a in FIG. 13 and the image decoding device 30a in FIG. However, since the operation of the quantization matrix determination unit 105 in the image encoding device 10a is different from that of the image decoding device 30a in the operation of the quantization matrix determination unit 304, these operations will be described.
  • FIG. 17 is a flowchart for explaining the operation of the quantization unit 104 and the quantization matrix determination unit 105a in the present embodiment.
  • the same reference numerals (Sa1 to Sa5, Sa9 to Sa17) are assigned to portions corresponding to the respective portions in FIG.
  • the flowchart of FIG. 17 is different from the flowchart of FIG. 6 only in that it has steps Sg3 and Sg4 between steps Sa3 and Sa4, does not have steps Sa6 to Sa8, and has Sa9 following step Sa5. Different.
  • step Sg3 the quantization matrix determination unit 105a determines whether there is a 4 ⁇ 4 quantization block in the coding block. If it is determined that there is not (Sg3-No), the process proceeds to step Sa4. On the other hand, when it is determined in step Sg3 (Sg3-Yes), the quantization matrix determination unit 105a flattens the 4 ⁇ 4 transmission quantization matrix (Sg4), and proceeds to step Sa4.
  • FIG. 18 is a flowchart for explaining the operation of the inverse quantization unit 303 and the quantization matrix determination unit 304a in the present embodiment. 18, parts corresponding to those in FIG. 8 are given the same reference numerals (Sb1 to Sb4, Sb8 to Sb15), and description thereof will be omitted.
  • the flowchart of FIG. 18 differs from the flowchart of FIG. 8 only in that it does not have steps Sb5 to Sb7 but has Sa8 following step Sb4.
  • the quantization matrix determination unit 105a uses one of the default quantization matrix shared in advance with the decoding side or the transmission quantization matrix transmitted to the decoding side as the quantization matrix, or The determination is made for each predetermined unit (encoded block) composed of a plurality of quantized blocks.
  • the quantization matrix determination unit 105a converts a quantization matrix for a quantization block included in a predetermined unit determined to use a transmission quantization matrix and having a predetermined block size (4 ⁇ 4) to all the elements. Assume that the quantization roughness is equal.
  • the quantization block even if the quantization block is included in a predetermined unit (encoding block) determined to use the transmission quantization matrix, the quantization block has a predetermined size and orthogonal transformation may not be performed. Since the quantization quantization of the quantization block uses a transmission quantization matrix in which the quantization coarseness of all elements is equal, it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation. it can.
  • the size of the conversion block is 4 ⁇ 4.
  • other sizes may be used.
  • each of the above-described embodiments there are three types of encoding block sizes: 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32, and the sizes of the transform block and the quantization block are 4 ⁇ 4 and 8 ⁇ 8.
  • the present invention is not limited to this.
  • Other sizes may be included, one of the sizes may not be included, the number of types may be large, or may be small.
  • the transmission quantization matrix is determined for each quantization block size (SizeId), but may be determined for each combination with other parameters in addition to the size.
  • other parameters include the type of signal value (luminance value Y, color difference Cb, Cr), the prediction mode (intra prediction, inter prediction, etc.) of the encoded block to which the quantized block belongs.
  • the transmission quantization matrix (scaling list) set is determined for each coding block in the same manner as the transmission quantization matrix application flag, but may be determined for each larger unit. For example, it may be every frame or every unit in which a plurality of encoded blocks are collected.
  • the image encoding device 10 and the image decoding device 30 in each of the above-described embodiments may have a lossless mode for lossless encoding of an input moving image.
  • the apparatus may be realized by recording on a recording medium, reading the program recorded on the recording medium into a computer system, and executing the program.
  • the “computer system” includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” means a storage device such as a flexible disk, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included.
  • the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
  • each functional block of the above-described image encoding device 10 in FIG. 1, the image decoding device 30 in FIG. 7, the image encoding device 10a in FIG. 13, or the image decoding device 30a in FIG. may be integrated into a chip.
  • the method of circuit integration is not limited to LSI, and implementation using a dedicated circuit or a general-purpose processor is also possible. Either hybrid or monolithic may be used. Some of the functions may be realized by hardware and some by software.

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

 画像符号化装置は、入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して直交変換が適用された場合、前記変換ブロックを前記第1の量子化行列又は復号側に伝送する第2の量子化行列を用いて量子化する量子化部を有する。

Description

画像符号化装置、画像復号装置及びそれらのプログラム
 本発明は、画像符号化装置、画像復号装置及びそれらのプログラムに関する。
 マルチメディア技術の普及により、日常生活でもしばしば動画像が扱われている。画像データは、一般に情報量が多いうえ、動画像は複数の静止画で形成される。そのため、動画像データを伝送・蓄積する際、画像符号化技術を用いて情報量を圧縮するのが通例である。高い能率で情報量を圧縮する符号化方式として、予測符号化方式がある。予測符号化方式は、現時点での予測画像を過去に符号化した画像から予測する処理と、入力された入力画像と予測画像との差分である差分画像を符号化する処理からなる。差分画像の符号化では、差分画像について変換処理や、変換領域(例えば、空間周波数領域)で示される変換係数を量子化したうえでエントロピー符号化等の可逆符号化が行われる。人間の視覚特性は、空間周波数が低い周波数帯域(低域)のほうが高域よりも敏感であるため、量子化において低域ほど小さく、高域ほど大きい量子化幅が用いられることがある。このようなブロック内の座標もしくは周波数毎の量子化幅で形成されるデータは、量子化マトリクスと呼ばれる。これにより差分信号の低域成分が重視されるので、情報量を圧縮しても主観的な品質の低下が抑制される。
 予測符号化方式の代表的な方式として、非特許文献1に記載のHEVC(High Eficiency Video Coding、高能率画像符号化)方式(ISO/IEC 23008-2 HEVC、ITU-T Recommendation H.265とも呼ばれる)がある。HEVC方式では、差分画像の一部であるブロック毎に変換処理の一種である直交変換を省略(スキップ)するか否かを判定し、省略すると判定されたとき差分画像を量子化して可逆符号化が行われる。ここで、直交変換を行うか否かの各々について差分の大きさを比較して、直交変換を省略するか否かが定められる。直交変換を省略して量子化及び符号化を行う処理モードは、変換スキップ(TS:Transform Skip)モードと呼ばれる。TSモードが選択された場合、差分画像の低域成分が主ではない場合でも、情報量を圧縮することができる。
Recommendation ITU-T H.265,(04/2013)",High efficiency video coding",International Telecommunication Union,April 2013
 しかしながら、非特許文献1に記載の符号化方式においては、直交変換を行ったブロックと、直交変換を行わないブロックとが混在しているときに、主観的な画質が劣化することがあるという問題がある。例えば、直交変換を行ったブロックに合わせて、高帯域であるほど粗くなるように量子化の粗さを設定すると、直交変換を行っていないブロックでは、画素間で、量子化の粗さが異なるために、画素間にばらつきが発生し、主観的な画質が劣化してしまう。
 本発明は、このような事情に鑑みてなされたもので、直交変換を行ったブロックと、直交変換を行わないブロックとが混在していても、量子化によって発生する主観的な画質の劣化を抑えることができる画像符号化装置、画像復号装置およびそれらのプログラムを提供する。
(1)そこで上記課題を解決するため、本発明は、入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して直交変換が適用された場合、前記変換ブロックを前記第1の量子化行列又は復号側に伝送する第2の量子化行列を用いて量子化する量子化部を有することを特徴とする。
(2)また、本発明の他の態様は、入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列又は復号側に伝送する第2の量子化行列を構成する要素の代表値で、全ての要素の量子化の粗さが表される量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して前記直交変換が適用された場合、前記第1の量子化行列又は前記第2の量子化行列を用いて量子化する量子化部を有することを特徴とする。
(3)また、本発明の他の態様は、入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列又は復号側に伝送する単一の値であって、全ての要素の量子化の粗さが表される量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して前記直交変換が適用された場合、前記第1の量子化行列又は復号側に伝送する第2の量子化行列を用いて量子化する量子化部を有することを特徴とする。
(4)また、本発明の他の態様は、(1)乃至(3)のいずれかに記載の画像符号化装置であって、前記量子化部は、前記判定に基づき前記変換ブロックに対して直交変換が適用された場合であって、前記第2の量子化行列を伝送するとき該第2の量子化行列を用いて量子化し、前記直交変換が適用された場合であって、前記第2の量子化行列を伝送しないとき前記第1の量子化行列を用いて量子化することを特徴とする。
(5)また、本発明の他の態様は、(1)に記載の画像復号装置であって、 前記量子化部は、前記判定に基づき前記変換ブロックに対して前記変換スキップが選択された場合であって、前記第2の量子化行列を伝送するとき、前記第1の量子化行列を用いて量子化することを特徴とする。
(6)また、本発明の他の態様における画像復号装置は、符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は符号化側から伝送される第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする。
(7)また、本発明の他の態様における画像復号装置は、符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している第1の量子化行列又は符号化側から伝送される第2の量子化行列を構成する要素の代表値で、全ての要素の量子化の粗さが表される量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は前記第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする。
(8)また、本発明の他の態様における画像復号装置は、符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している第1の量子化行列又は符号化側から伝送される単一の値で全ての要素の量子化の粗さが表される量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は符号化側から伝送される第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする。
(9)また、本発明の他の態様は、(6)乃至(8)のいずれかに記載の画像復号装置であって、前記逆量子化部は、前記符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されているとき、該第2の量子化行列を用いて逆量子化し、前記符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されていないとき、前記第1の量子化行列を用いて逆量子化することを特徴とする。
(10)また、本発明の他の態様は、(6)に記載の画像復号装置であって、前記逆量子化部は、前記符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されているとき、前記第1の量子化行列を用いて逆量子化することを特徴とする。
(11)また、本発明の他の態様は、コンピュータを、(1)から(5)のいずれかに記載の画像符号化装置として機能させるためのプログラムである。
(12)また、本発明の他の態様は、コンピュータを、(6)から(10)のいずれかに記載の画像復号装置として機能させるためのプログラムである。
この発明の第1の実施形態における画像符号化装置10の概略構成の一例を示すブロック図である。 同実施形態における符号化ブロックと、変換ブロックとを説明する模式図である。 同実施形態における量子化行列tb11を示すテーブルである。 同実施形態における量子化行列tb21を示すテーブルである。 同実施形態における量子化行列tb22を示すテーブルである。 同実施形態における量子化行列決定部105と量子化部104の処理を説明するフローチャートである。 同実施形態における画像復号装置30の構成を示す概略ブロック図である。 同実施形態における量子化行列決定部304と、逆量子化部303の動作を説明するフローチャートである。 この発明の第2の実施形態における量子化部104、量子化行列決定部105の動作を説明するフローチャートである。 同実施形態における逆量子化部303、量子化行列決定部304の動作を説明するフローチャートである。 この発明の第3の実施形態における量子化部104、量子化行列決定部105の動作を説明するフローチャートである。 同実施形態における逆量子化部303、量子化行列決定部304の動作を説明するフローチャートである。 この発明の第4の実施形態における画像符号化装置10aの構成を示す概略ブロック図である。 同実施形態における量子化部104、量子化行列決定部105aの動作を説明するフローチャートである。 同本実施形態における画像復号装置30aの構成を示す概略ブロック図である。 同実施形態における逆量子化部303、量子化行列決定部304aの動作を説明するフローチャートである。 この発明の第5の実施形態における量子化部104、量子化行列決定部105aの動作を説明するフローチャートである。 同実施形態における逆量子化部303、量子化行列決定部304aの動作を説明するフローチャートである。
[第1の実施形態]
 以下、図面を参照して、本発明の第1の実施形態について説明する。図1は、本実施形態における画像符号化装置10の概略構成の一例を示すブロック図である。画像符号化装置10は、入力動画像rを符号化して、符号化データを生成する。図1に示す例では、画像符号化装置10は、前処理部100、予測差分信号生成部101、直交変換部102、変換スキップ判定部103、量子化部104、量子化行列決定部105、エントロピー符号化部106、逆量子化部107、逆直交変換部108、復号画像生成部109、ループフィルタ部110、復号画像記憶部111、イントラ予測部112、インター予測部113、動きベクトル計算部114、予測画像選択部115を含んで構成される。各部についての概略を以下に説明する。
 前処理部100は、入力された入力動画像rに対して、ピクチャタイプに合わせたピクチャの並べ替えを行い、ピクチャタイプ及びフレームごとのフレーム画像等を順次出力する。また、前処理部100は、各フレーム画像について、符号化ブロックへのブロック分割を行う。なお、符号化ブロックのサイズには、8×8、16×16、32×32の3種類がある。各符号化ブロックのサイズを、これらのうちのいずれにするかは、例えば、その領域の空間周波数分布を参照し、高周波成分が小さいほど、符号化ブロックのサイズを大きくするなど、どのような方法で決めてもよい。
 予測差分信号生成部101は、前処理部100が分割した符号化ブロックを取得する。予測差分信号生成部101は、その符号化ブロックと、予測画像選択部115から入力される予測画像のブロックデータとにより、予測差分信号を生成する。具体的には、予測画像選択部115の符号化ブロックの画素値各々から、予測画像選択部115から入力されるブロックデータの対応する画素値を差し引くことで、予測差分信号を生成する。予測差分信号生成部101は、生成された予測差分信号を直交変換部102と変換スキップ判定部103とに入力する。
 直交変換部102は、入力された予測差分信号を、変換ブロックに分割する。なお、変換ブロックのサイズには、4×4、8×8、16×16、32×32の4種類がある。各変換ブロックのサイズを、これらのうちのいずれにするかは、どのようにして決定してもよい。例えば、直交変換部102は、該符号化データを復号した復号結果と入力動画像との差分の大きさを表す値と、各サイズのときの符号化データのビット数とに基づく評価値を算出し、該評価値が最も大きいときのサイズとする。なお、評価値は、符号化データのビット数が少ないほど大きく、復号結果と入力動画像との差分の大きさが少ないほど大きい値である。
 直交変換部102は、分割した変換ブロックに対して、離散コサイン変換などの直交変換処理をして、量子化ブロックを生成する。ただし、変換スキップ判定部103によって、直交変換を適用しないと判定された変換ブロックについは、変換ブロックをそのまま量子化ブロックにする。なお、直交変換ではブロックのサイズが変化しないので、変換ブロックのサイズと、それを直交変換した量子化ブロックのサイズは同じである。
 変換スキップ判定部103は、変換ブロック各々について直交変換を行うか否かを判定する。変換スキップ判定部103は、例えば、変換ブロックの空間周波数分布を算出し、周波数成分の最大値と最小値との差が、所定の閾値以下であるときは、変換スキップとする。なお、その他の方法で、直交変換を行うか否かを判定してもよい。また、本実施形態では、HEVCと同様に、変換ブロックのサイズが4×4のときのみ直交変換を適用しない(変換スキップ)ようにすることができる。
 変換スキップ判定部103は、当該変換ブロックが直交変換を適用しないようにすることができるものであるときには、当該変換ブロックに直交変換を適用するか否かを示す変換スキップフラグ(transform_skip_flag)をエントロピー符号化部106と、量子化行列決定部105とに入力する。なお、変換ブロックが直交変換を適用しないようにすることができるものであるときとは、本実施形態であれば、当該変換ブロックのサイズが4×4のときである。また、変換スキップフラグは、「1」であるときは、直交変換を適用しないことを表し、「0」であるときは、直交変換を適用することを表す。
 量子化部104は、直交変換部102からの出力信号である量子化ブロックを量子化する。量子化部104は、量子化することによって出力信号の符号量を低減し、この出力信号(量子化済みブロック)をエントロピー符号化部106及び逆量子化部107に入力する。量子化部104は、量子化ブロックを量子化する際に、量子化行列決定部105が量子化ブロック毎に決定した量子化行列を用いる。この量子化行列は、その各要素(以降、量子化値という)が、量子化ブロックの対応する要素を量子化する際の量子化の粗さを表す行列である。量子化値が大きいほど、量子化ステップが大きくなる。
 量子化行列決定部105は、量子化ブロック毎に、量子化行列を決定する。量子化行列決定部105は、量子化ブロックのうち、変換スキップにより得られた量子化ブロックの量子化行列を、全ての要素の量子化の粗さが等しい量子化行列となるように、すなわち、全ての量子化値が同じ値となるように量子化行列を決定する。量子化行列の決定方法の詳細は後述する。
 量子化行列決定部105は、量子化行列として、復号側に伝送する伝送量子化行列を用いるか否かを表す伝送量子化行列適用フラグ(scaling_list_enable_flag)を、エントロピー符号化部106に入力する。さらに、量子化行列決定部105は、伝送量子化行列適用フラグが「1」であり、伝送量子化行列を用いることを示しているときは、該伝送量子化行列(ScalingFactor)の各要素を所定の順に並べたスケーリングリスト(ScalingList
)を、エントロピー符号化部106に入力する。
 エントロピー符号化部106は、量子化部104からの出力信号や動きベクトル計算部114から出力された動きベクトル情報やループフィルタ部110からのフィルタ係数など、各部から入力された情報を、エントロピー符号化して、符号化データeとして出力する。なお、各部から入力された情報には、変換スキップ判定部103から入力された変換スキップフラグ、量子化行列決定部105から入力されたスケーリングリスト、伝送量子化行列適用フラグを含む。また、エントロピー符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる方式をいう。
 逆量子化部107は、量子化部104から入力された量子化済みブロックを逆量子化して、変換済みブロックを生成する。逆量子化部107は、生成した変換済みブロックを逆直交変換部108に入力する。逆量子化部107は、逆量子化の際に、量子化行列決定部105が決定した量子化行列を用いる。これにより、量子化の際の量子化の粗さに応じた逆量子化を行う。
 逆直交変換部108は、逆量子化部107から入力された変換済みブロックを逆直交変換処理してから復号画像生成部109に出力する。これら逆量子化部107及び逆直交変換部108によって復号処理が行われることにより、符号化前の予測差分信号と同程度の信号が得られる。
 復号画像生成部109は、予測画像選択部115により選択された予測画像のブロックデータと、逆量子化部107及び逆直交変換部108により復号処理された予測差分信号とを加算する。復号画像生成部109は、加算して生成した復号画像のブロックデータを、ループフィルタ部110に出力する。
 ループフィルタ部110は、例えばSAO(Sample Adaptive filter)、ALF(Adaptive Loop Filter)やデブロッキングフィルタであり、いずれか又は複数を備えてもよい。
 例えば、ループフィルタ部110は、入力画像を所定サイズ毎のグループに分け、グループ毎に適切なフィルタ係数を生成する。ループフィルタ部110は、フィルタ処理された復号画像を、所定サイズ毎にグループ分けし、生成したフィルタ係数を用いてグループ毎にフィルタ処理を行う。ループフィルタ部110は、フィルタ処理結果を復号画像記憶部111に出力し、参照画像として蓄積させる。所定サイズは、例えば、直交変換サイズである。
 復号画像記憶部111は、入力した復号画像のブロックデータを新たな参照画像のデータとして記憶し、イントラ予測部112、インター予測部113及び動きベクトル計算部114に出力する。
 イントラ予測部112は、符号化対象画像の処理対象ブロックに対して、すでに符号化された参照画素から予測画像のブロックデータを生成する。イントラ予測部112は、複数の予測方向を用いて予測を行い、最適な予測方向を決定する。
 インター予測部113は、復号画像記憶部111から取得した参照画像のデータを動きベクトル計算部114から提供される動きベクトルで動き補償する。これにより、動き補償された参照画像としてのブロックデータが生成される。
 動きベクトル計算部114は、符号化対象画像におけるブロックデータと、復号画像記憶部111から取得する参照画像とを用いて、動きベクトルを求める。動きベクトルとは、ブロック単位で参照画像内から処理対象ブロックに最も類似している位置を探索するブロックマッチング技術などを用いて求められるブロック単位の空間的なずれを示す値である。
 動きベクトル計算部114は、求めた動きベクトルをインター予測部113に出力し、動きベクトルや参照画像を示す情報を含む動きベクトル情報をエントロピー符号化部106に出力する。
 イントラ予測部112とインター予測部113から出力されたブロックデータは、予測画像選択部115に入力される。
 予測画像選択部115は、イントラ予測部112とインター予測部113から取得したブロックデータのうち、どちらか一方のブロックデータを予測画像として選択する。選択された予測画像は、予測差分信号生成部101および復号画像生成部109に出力される。
 図2は、本実施形態における符号化ブロックと、変換ブロックとを説明する模式図である。前処理部100によって、各フレームは、符号化ブロックに分割される。符号化ブロックのサイズは、8×8、16×16、32×32のいずれかである。図2では、あるフレーム中の64×64のブロックが、32×32の符号化ブロックCB1、CB2、CB3と、16×16の符号化ブロックCB4、CB5、CB6、CB7に分割されている。
 さらに、符号化ブロック各々に対応する予測差分信号は、直交変換部102によって、変換ブロックに分割される。図2では、32×32の符号化ブロックCB2が、16×16の変換ブロックTB1、TB2、TB3、8×8の変換ブロックTB4、TB5、TB6、4×4の変換ブロックTB7、TB8、TB9、TB10に分割されている。
 図3、図4、図5は、それぞれ水平方向に4個(4列)、垂直方向に4個(4行)、計16個の量子化値を有する量子化行列tb11、tb21、tb22を示すテーブルである。量子化行列tb11、tb21、tb22は、要素数が4×4であるので、4×4の量子化ブロックの量子化に用いられる。量子化行列tb11、tb21、tb22にそれぞれ含まれる四角形は要素を示す。四角形のそれぞれに記載された数字は量子化値を示す。
 量子化行列tb11は、平坦(フラット)な初期値によるデフォルト量子化行列の一例であり、各要素の量子化値はいずれも16である。ここで、平坦とは、量子化行列の全ての要素が、同一の値であることをいう。このような平坦な量子化行列が用いられると、量子化ブロックの要素によらず同一な精度で量子化される。そのため、直交変換が行われない場合に、量子化行列tb21等のように量子化値に偏りを有する量子化行列を用いることによる、画質の劣化を回避することができる。
 量子化行列tb21は、傾斜を持つ伝送量子化行列の一例である。量子化行列tb21は、水平方向、垂直方向の次数がそれぞれ大きくなるほど、大きな量子化値を有する。量子化行列tb21の左上端(第1行第1列)、中間(第3行第2列)、右下端(第4行第4列)の量子化値は、それぞれ6、28、42である。このような量子化行列では、より右下に配列された要素に係る変換係数、つまり高域の変換係数ほど低い精度で量子化される。そのため、直交変換が行われる場合には、低域ほど濃淡や色相の空間的変化に鋭敏であるという人間の視覚特性を活用し、主観的な画質を劣化させずに量子化によって高域での情報量を低減することが許容される。
 量子化行列tb22は、傾斜を持つ伝送量子化行列の他の例である。量子化行列tb22も、水平方向、垂直方向の次数がそれぞれ大きくなるほど、大きな量子化値を有する。そのため、直交変換が行われる場合には、画質を劣化させずに量子化によって高域での情報量を低減することが許容される。但し、量子化行列tb22の量子化値の傾斜は、量子化行列tb21の量子化値の傾斜よりも緩やかである。
 なお、図3、図4、図5では、4×4の量子化行列の例を示したが、量子化ブロックのサイズは、4×4、8×8、16×16、32×32の4種類である。このため、量子化行列のサイズも、4×4、8×8、16×16、32×32の4種類である。
 図6は、量子化行列決定部105と量子化部104の処理を説明するフローチャートである。量子化行列決定部105と量子化部104とは、全ての符号化ブロックを順に一つずつ選択して、以下のステップSa2~ステップSa17の処理を行う(Sa1)。ステップSa2では、量子化行列決定部105は、当該符号化ブロック(選択した符号化ブロック)に属する変換ブロックの量子化に、伝送量子化行列を使用するか否かを決定する。伝送量子化行列を使用するか否かの決定方法はどのようなものでもよいが、例えば、当該符号化ブロック内の量子化ブロックに、要素の値の最大値と最小値の差が所定の範囲外のものがあるか否かを判定、所定の範囲外のときは、伝送量子化行列を使用すると判定する。
 ステップSa2にて、伝送量子化行列を使用しないと決定したときは(Sa2-No)、量子化行列決定部105は、当該符号化ブロックに関する伝送量子化行列適用フラグを「0」として、エントロピー符号化部106に入力する(Sa13)。伝送量子化行列適用フラグは、その値が「0」である場合、当該符号化ブロック内の量子化ブロックを量子化する際に伝送量子化行列を用いず、デフォルト量子化行列を用いることを示す。
 次に、当該符号化ブロック内の全ての量子化ブロックを順に一つずつ選択して、ステップSa15、Sa16の処理を行う(Sa14)。ステップSa15では、量子化行列決定部105は、当該量子化ブロックのサイズに応じたデフォルト量子化行列を、量子化部104と逆量子化部107に設定する。デフォルト量子化行列とは、復号側と予め共有し、記憶している初期値を要素とする量子化行列である。なお、本実施形態では、HEVCと同様に、4×4のデフォルト量子化行列は、図3の量子化行列tb11のように平坦であり、それ以外のサイズのデフォルト量子化行列は、傾斜を持つ。
 すなわち、伝送量子化行列を用いない符号化ブロックについては、4×4の量子化ブロックを量子化する際には、変換スキップされているか否かに関わらず、常に平坦なデフォルト量子化行列が用いられる。
 次に、量子化部104は、当該量子化ブロックの各要素を、ステップSa15にて設定されたデフォルト量子化行列を用いて量子化して、量子化済みブロックを生成する。量子化部104は、生成した量子化済みブロックを、エントロピー符号化部106と、逆量子化部107とに入力する(Sa16)。量子化部104は、量子化を行う際、例えば、逆量子化部107が式(1)で算出する逆量子化された変換済みブロックd[x][y]が、直交変換部102から入力された量子化ブロックを最も近似するような変換係数レベル値TransCoeffLevel[xTbY][yTbY][cIdx][x][y]を選択して、量子化済みブロックとする。なお、式(1)において、m[x][y]が、量子化行列である。
 d[x][y]=Clip3(-32768,32767,((TransCoeffLevel[xTbY][yTbY][cIdx][x][y]*m[x][y]*levelScale[qP%6]<<(qP/6))+(1<<(bdShift-1)))>>bdShift) … (1)
 ここで、Clip3(a,b,xx)は、実数xxが実数aよりも小さい場合には、aと定め、実数xxが実数bよりも大きい場合には、bと定め、実数xxがa又はaよりも大きく、かつb又はbよりも小さい場合には、そのままxxと定める関数である。xTbY、yTbYは、それぞれ処理対象となる量子化ブロック(対象ブロック)の左上端の水平方向、垂直方向の座標値を示す。-32768、32767は、それぞれ16ビットで示された要素毎の信号値の最小値、最大値を示す。cIdxは、信号値の種類を示すインデックスである。cIdx=0、1、2とは、それぞれ輝度信号、色差信号Cb、色差信号Crを示す。
 levelScale[0]からlevelScale[5]は、それぞれ、40、45、51、57、64、72である。qPは、量子化パラメータ、つまり量子化精度を示す整数であって6増加する毎に量子化値を半分にすることを促すパラメータである。qP%6は、qPを6で除算して得られる剰余を示す。a<<bは、aの値を二進表示でb桁だけ左側にシフトすること、つまり、2のb乗を乗算することを示すビットシフト演算子である。a>>bは、aの値を二進表示でb桁だけ右側にシフトすること、つまり、2のb乗を除算することを示すビットシフト演算子である。
 bdShiftは、信号値の種類に応じて予め定められたビットシフト値である。例えば、信号値が輝度信号Yである場合、bdShiftは、BitDepth+Log2(nTbS)-5である。BitDepthは、輝度信号Yのビット深度、つまり量子化ビット数(例えば、16ビット)を示す。nTbSは、対象ブロックのブロックサイズを示す。信号値が色差信号Cb、Crである場合、bd量子化行列決定部105は、Shiftは、BitDepth+Log2(nTbS)-5である。BitDepthは、輝度信号Cb、Crのビット深度、つまり量子化ビット数(例えば、16ビット)を示す。ここで、qPは、フレームの種類によって異なる値であってもよい。
 次に、量子化行列決定部105は、当該符号化ブロックに属する全ての量子化ブロックについて、ステップSa15、Sa16の処理を行っているか否かを判定し(Sa17)、全ての量子化ブロックについて行っているときは、ステップSa12に進む。ステップSa15、Sa16の処理を行っていない量子化ブロックがあるときは、量子化行列決定部105は、処理を行っていない量子化ブロックを一つ選択し、ステップSa15に戻る。
 一方、ステップSa2にて、当該符号化ブロックにて、伝送量子化行列を使用すると判定したときは(Sa2-Yes)、量子化行列決定部105は、各サイズの伝送量子化行列(ScalingFactor)を決定する(Sa3)。例えば、量子化行列決定部105は、各サイズの量子化行列を予め複数記憶しておき、それらの中から、量子化誤差が最も小さくなるものを選択する。あるいは、量子化誤差と、量子化後のビット数とに基づく評価値を算出し、該評価値を基準に選択してもよい。
 次に、量子化行列決定部105は、決定した伝送量子化行列の各要素を所定の順に並べたスケーリングリストと、「1」に設定した伝送量子化行列適用フラグ(scaling_list_enable_flag)とをエントロピー符号化部106に入力する(Sa4)。次に、当該符号化ブロック内の全ての量子化ブロックを順に一つずつ選択して、ステップSa6からSa10の処理を行う(Sa5)。
 ステップSa6では、量子化行列決定部105は、当該量子化ブロックのサイズが4×4であるか否か、すなわち変換スキップをすることができる量子化ブロックであるか否かを判定する。ステップSa6にて、4×4であると判定したときは(Sa6-Yes)、量子化行列決定部105は、当該量子化ブロックが、変換スキップされたものであるか否かを判定する(Sa7)。なお、この判定の際には、変換スキップ判定部103から入力された変換スキップフラグを参照する。
 ステップSa7にて、変換スキップであると判定したときは(Sa7-Yes)、量子化行列決定部105は、4×4のデフォルト量子化行列を量子化部104と逆量子化部107に設定し(Sa8)、ステップSa10に進む。この4×4のデフォルト量子化行列は、ステップSa15で設定したものと同一のものであり、平坦な量子化行列である。一方、ステップSa6にて4×4でないと判定したとき(Sa6-No)および、ステップSa7にて変換スキップでないと判定したとき(Sa7-No)は、量子化行列決定部105は、ステップSa3にて決定した伝送量子化行列のうち、当該量子化ブロックのサイズの伝送量子化行列を、量子化部104と逆量子化部107に設定し(Sa9)、ステップSa10に進む。
 すなわち、伝送量子化行列を用いる符号化ブロックについては、4×4の量子化ブロックを量子化する際には、変換スキップされていると、デフォルト量子化行列が用いられ、変換スキップされていないときは、伝送量子化行列が用いられる。よって、変換スキップされているものには、平坦な量子化行列を用い、変換スキップされていないものには、傾斜を持つ量子化行列を用いるようにすることができる。
 ステップSa10では、量子化部104は、ステップSa16と同様にして、ステップSa8またはSa9にて設定された量子化行列を用いて、当該量子化ブロックを量子化して、量子化済みブロックを生成する。量子化部104は、生成した量子化済みブロックを、エントロピー符号化部106と、逆量子化部107とに入力する。次に、量子化行列決定部105は、当該符号化ブロックに属する全ての量子化ブロックについて、ステップSa6~Sa10の処理を行っているか否かを判定し(Sa11)、全ての量子化ブロックについて行っているときは、ステップSa12に進む。ステップSa6~Sa10の処理を行っていない量子化ブロックがあるときは、量子化行列決定部105は、処理を行っていない量子化ブロックを一つ選択し、ステップSa6に戻る。
 ステップSa12では、量子化行列決定部105は、全ての符号化ブロックについて、ステップSa2~Sa17の処理を行っているか否かを判定する。ステップSa2~Sa17の処理を行っていない符号化ブロックがあるときは、量子化行列決定部105は、処理を行っていない符号化ブロックを一つ選択し、ステップSa2に戻る。全ての符号化ブロックについて行っているときは、処理を終了する。
 次に、画像符号化装置10によって生成された符号化データeを復号して復号画像を生成する画像復号装置30について説明する。図7は、本実施形態における画像復号装置30の構成を示す概略ブロック図である。図7に示すように、画像復号装置30は、エントロピー復号部301、復号情報記憶部302、逆量子化部303、量子化行列決定部304、逆直交変換部305、変換スキップ判定部306、復号画像生成部307、ループフィルタ部308、フレームメモリ309、インター予測部310、イントラ予測部311、予測画像選択部312を含んで構成される。各部についての概略を以下に説明する。
 エントロピー復号部301は、画像符号化装置10によって生成された符号化データeが入力されると、画像符号化装置10のエントロピー符号化部106によるエントロピー符号化に対応するエントロピー復号を行う。エントロピー復号部301により復号された予測誤差信号(量子化済みブロック)は逆量子化部303に出力される。また、復号した変換スキップフラグ、伝送量子化行列適用フラグ、スケーリングリスト、フィルタ係数、インター予測されている場合の、復号された動きベクトルなどは復号情報記憶部302に入力される。
 また、エントロピー復号部301は、イントラ予測の場合、イントラ予測部311にその旨通知する。また、エントロピー復号部301は、復号対象画像がインター予測されているか、イントラ予測されているかを予測画像選択部312に通知する。
 復号情報記憶部302は、復号された変換スキップフラグ、伝送量子化行列適用フラグ、スケーリングリスト、ループフィルタのフィルタ係数、動きベクトルや分割モードなどの復号情報を記憶する。
 逆量子化部303は、エントロピー復号部301から入力された量子化済みブロックに対して、式(1)で表される逆量子化処理を行って、変換済みブロックを生成する。この変換済みブロックは、図1の直交変換部102が生成した量子化ブロックを復元したものである。逆量子化部303は、変換済みブロックを、逆直交変換部305に入力する。なお、逆量子化部303は、逆量子化処理を行う際に、量子化行列決定部304から設定された量子化行列を用いる。
 量子化行列決定部304は、復号情報記憶部302から変換スキップフラグ、伝送量子化行列適用フラグ、スケーリングリストを読み出し、量子化済みブロック各々を逆量子化する際に用いる量子化行列を生成し、逆量子化部303に設定する。
 逆直交変換部305は、逆量子化部303から入力された変換済みブロックに対して逆直交変換処理を行い、画像符号化装置10の予測差分信号生成部101が生成した予測差分信号を復元した予測差分復元信号を生成する。なお、逆直交変換部305は、変換スキップ判定部306から逆直交変換を適用しないことを指定された変換済みブロックについては、逆直交変換処理を行わずに、そのまま予測差分復元信号とする。逆直交変換部305は、予測差分復元信号を復号画像生成部307に入力する。
 イントラ予測部311は、フレームメモリ309から取得する復号対象画像のすでに復号化された周辺画素から、複数の予測方向を用いて予測画像を生成する。
 インター予測部310は、フレームメモリ309から取得した参照画像のデータを復号情報記憶部302から取得する動きベクトルや分割モードを用いて動き補償する。これにより、動き補償された参照画像からなる予測画像のブロックデータが生成される。
 予測画像選択部312は、エントロピー復号部301からの通知に従い、イントラ予測画像、又はインター予測画像どちらか一方の予測画像を選択する。選択された予測画像のブロックデータは、復号画像生成部307に入力される。
 復号画像生成部307は、予測画像選択部312から入力される予測画像のブロックデータと、逆直交変換部305から入力される予測差分復元信号とを加算し、復号画像を生成する。生成された復号画像はループフィルタ部308に入力される。
 ループフィルタ部308は、復号画像生成部307から出力された復号画像に対し、ブロック歪を低減するためのフィルタをかけ、ループフィルタ処理後の復号画像をフレームメモリ309に出力する。なお、ループフィルタ後の復号画像は表示装置などに出力されてもよい。
 フレームメモリ309は、参照画像となる復号画像などを記憶する。なお、復号情報記憶部302とフレームメモリ309は、分けた構成にしているが、同じ記憶部であってもよい。
 図8は、量子化行列決定部304と、逆量子化部303の動作を説明するフローチャートである。量子化行列決定部304と逆量子化部303とは、全ての符号化ブロックを順に一つずつ選択して、以下のステップSb2からステップSb14の処理を行う(Sb1)。ステップSb2では、量子化行列決定部304は、復号情報記憶部302を参照して、当該符号化ブロックの伝送量子化行列適用フラグが「1」になっているか否かを判定する。
 「1」になっていないと判定したときは(Sb2-No)、量子化行列決定部304と逆量子化部303とは、当該符号化ブロック内の全ての量子化済みブロックを順に一つずつ選択して、以下のステップSb12からステップSb13の処理を行う。ステップSb12では、量子化行列決定部304は、当該符号化ブロックに属する全ての量子化ブロックについて、ステップSb12~Sb13の処理を行っているか否かを判定し(Sb14)、全ての量子化ブロックについて行っているときは、ステップSb15に進む。ステップSb12~Sb13の処理を行っていない量子化ブロックがあるときは、量子化行列決定部304は、処理を行っていない量子化ブロックを一つ選択し、ステップSb12に戻る。
 一方、ステップSb2にて伝送量子化行列適用フラグが「1」になっていると判定したときは(Sb2-Yes)、量子化行列決定部304は、当該符号化ブロックの各サイズのスケーリングリストを、復号情報記憶部302から取得する(Sb3)。次に、量子化行列決定部304と逆量子化部303とは、全ての量子化済みブロックを順に一つずつ選択して、以下のステップSb5からステップSb10の処理を行う(Sb4)。まず、量子化行列決定部304は、選択した当該量子化済みブロックのサイズが4×4であるか否かを判定する(Sb5)。4×4であると判定したときは(Sb45-Yes)、さらに、当該量子化済みブロックの変換スキップフラグを復号情報記憶部302から取得し、変換スキップフラグが「1」であるか否かを判定する(Sb6)。
 変換スキップフラグが「1」であると判定したときは(Sb6-Yes)、量子化行列決定部304は、4×4のデフォルト量子化行列を逆量子化部303に設定し(Sb7)、ステップSb9に進む。一方、ステップSb5にて4×4でないと判定したとき(Sb5-No)および、ステップSb6にて変換スキップフラグが「1」でないと判定したとき(Sb6-No)は、量子化行列決定部304は、ステップSb3にて取得したスケーリングリストのうち、当該量子化済みブロックのサイズのスケーリングリストから生成した伝送量子化行列を、逆量子化部303に設定し(Sb8)、ステップSb9に進む。なお、量子化行列決定部304は、スケーリングリストを分割した各値を、それぞれ所定の位置の要素とすることで、伝送量子化行列を生成する。
 ステップSb9では、逆量子化部303は、ステップSb13と同様にして、ステップSb7またはSb8にて設定された量子化行列を用いて、当該量子化済みブロックを逆量子化して、変換済みブロックを生成する。逆量子化部303は、生成した変換済みブロックを、逆直交変換部305に入力する。次に、量子化行列決定部304は、当該符号化ブロックに属する全ての量子化済みブロックについて、ステップSb5~Sb9の処理を行っているか否かを判定し(Sb10)、全ての量子化済みブロックについて行っているときは、ステップSb15に進む。ステップSb5~Sb9の処理を行っていない量子化済みブロックがあるときは、量子化行列決定部304は、処理を行っていない量子化済みブロックを一つ選択し、ステップSb5に戻る。
 ステップSb15では、量子化行列決定部304は、全ての符号化ブロックについて、ステップSb2~Sb14の処理を行っているか否かを判定する(Sb15)。ステップSb2~Sb14の処理を行っていない符号化ブロックがあるときは、量子化行列決定部304は、処理を行っていない符号化ブロックを一つ選択し、ステップSb2に戻る。全ての符号化ブロックについて行っているときは、処理を終了する。
 このように、本実施形態の画像符号化装置10は、変換スキップ判定部103と、直交変換部102と、量子化行列決定部105と、量子化部104とを含んで構成される。変換スキップ判定部103は、入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロック各々について、直交変換を適用するか否かを判定する。直交変換部102は、変換ブロックのうち、直交変換を適用すると判定された変換ブロックを直交変換して量子化ブロックを生成し、変換ブロックのうち、直交変換を適用しないと判定された変換ブロックをそのまま量子化ブロックとする。
 また、量子化行列決定部105は、量子化ブロックの各要素を量子化する際の要素毎の量子化の粗さを表す量子化行列を、量子化ブロック毎に決定する。量子化部104は、量子化行列決定部105が決定した量子化行列を用いて、量子化ブロックの各要素を量子化する。そして、量子化行列決定部105は、直交変換部102により変換ブロックのままとされた量子化ブロックに対する量子化行列を、全ての要素の量子化の粗さが等しい量子化行列とする。
 これにより、直交変換を行ったブロックと、直交変換を行わないブロックとが混在していても、変換ブロックのままとされた量子化ブロック、すなわち、直交変換が行われなかった量子化ブロックは、全ての要素の量子化の粗さが等しくなるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができることができる。
 さらに、量子化行列決定部105は、直交変換部102により変換ブロックのままとされた量子化ブロックに対する量子化行列を、復号側と予め共有しているデフォルト量子化行列とする。
 これにより、変換ブロックのままとされた量子化ブロック、すなわち直交変換が行われなかった量子化ブロックの量子化には、全ての要素の量子化の粗さが等しいデフォルト量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 さらに、量子化行列決定部105は、量子化行列として、デフォルト量子化行列を用いるか、復号側に伝送する伝送量子化行列を用いるかを、1つまたは複数の前記量子化ブロックから構成される所定の単位(符号化ブロック)毎に判定する。また、量子化行列決定部105は、伝送量子化行列を用いると判定された所定の単位に含まれ、かつ、直交変換部102により変換ブロックのままとされた量子化ブロックに対する量子化行列を、デフォルト量子化行列とする。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている量子化ブロックであっても、直交変換が行われなかった量子化ブロックの量子化には、全ての要素の量子化の粗さが等しいデフォルト量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 このように、画像復号装置30は、量子化行列決定部304、逆量子化部303、変換スキップ判定部306、逆直交変換部305、復号画像生成部307を含んで構成される。量子化行列決定部304は、符号化データeに含まれる量子化済みブロックの各要素を逆量子化する際の要素毎の量子化の粗さを表す量子化行列を、量子化済みブロック毎に決定する。逆量子化部303は、量子化行列決定部304が決定した量子化行列を用いて、量子化済みブロックの各要素を逆量子化して、変換済みブロックを生成する。変換スキップ判定部306は、変換済みブロック各々について、逆直交変換を適用するか否かを判定する。
 また、逆直交変換部305は、変換済みブロックのうち、逆直交変換を適用すると判定された変換済みブロックを逆直交変換して予測差分復元信号を生成し、変換済みブロックのうち、逆直交変換を適用しないと判定された変換済みブロックをそのまま予測差分復元信号とする。復号画像生成部307(合成部)は、予測差分復元信号と予測画像とから、復号画像を生成する。そして、量子化行列決定部304は、逆直交変換部305が変換済みブロックをそのまま予測差分復元信号とする変換済みブロックを生成する際に用いる量子化行列を、全ての要素の量子化の粗さが等しい量子化行列とする。
 これにより、直交変換を行ったブロックと、直交変換を行わないブロックとが混在していても、変換済みブロックをそのまま予測差分復元信号とし、逆直交変換を行わない変換済みブロックに対応する量子化済みブロックの逆量子化は、全ての要素の量子化の粗さが等しい量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 また、量子化行列決定部304は、逆直交変換部305が変換済みブロックをそのまま予測差分復元信号とする変換済みブロックを生成する際に用いる量子化行列を、符号化側と予め共有しているデフォルト量子化行列とする。
 これにより、変換済みブロックをそのまま予測差分復元信号とし、逆直交変換が行われない変換済みブロックに対応する量子化済みブロックの逆量子化には、全ての要素の量子化の粗さが等しいデフォルト量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 また、量子化行列決定部304は、量子化行列として、デフォルト量子化行列を用いるか、符号化側から伝送される伝送量子化行列を用いるかを、1つまたは複数の量子化済みブロックから構成される所定の単位(符号化ブロック)毎に判定する。また、量子化行列決定部304は、伝送量子化行列を用いると判定された符号化ブロックに含まれ、かつ、逆直交変換部305が変換済みブロックをそのまま予測差分ブロックとする変換済みブロックを生成する際に用いる量子化行列を、デフォルト量子化行列とする。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている量子化済みブロックであっても、逆量子化した後に逆直交変換を行わない量子化済みブロックの逆量子化には、全ての要素の量子化の粗さが等しいデフォルト量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
[第2の実施形態]
 以下、図面を参照して、本発明の第2の実施形態について説明する。第1の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであっても、変換スキップされたものについては、デフォルト量子化行列を用いる例を説明した。第2の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであり、変換スキップされたものについては、伝送量子化行列から生成した平坦な量子化行列である代表値量子化行列を用いる例を説明する。
 本実施形態における画像符号化装置10と、画像復号装置30とは、図1の画像符号化装置10、図7の画像復号装置30と同様の構成である。ただし、画像符号化装置10は、量子化行列決定部105の動作が、画像復号装置30は、量子化行列決定部304の動作が異なるので、これらの動作について説明する。
 図9は、本実施形態における量子化部104、量子化行列決定部105の動作を説明するフローチャートである。図9において、図6の各部に対応する部分には同一の符号(Sa1~Sa7、Sa9~Sa17)を付し、説明を省略する。図9のフローチャートは、図6のフローチャートとは、ステップSa8に変えてステップSc8を有する点のみが異なる。ステップSc8では、量子化行列決定部105は、ステップSa3にて決定した伝送量子化行列のうち、当該量子化ブロックのサイズの伝送量子化行列の一つの代表値を取得する。量子化行列決定部105は、全ての要素を該代表値と同じ値とする代表値量子化行列を、量子化部104と逆量子化部107に設定する。
 例えば、代表値として、伝送量子化行列の予め決められた位置の要素を用い、全ての要素がこの代表値となっている量子化行列を代表値量子化行列とする。この代表値量子化行列m[x][y]は、伝送量子化行列をScalingFactor[sizeId][x][y]としたときに、式(2)のように表せる。m[x][y]=ScalingFactor[sizeId][α][β] … (2)ここで、α、βは、それぞれ水平方向、垂直方向の予め決められた位置を示す整数であり、0からxTbS-1、0からyTbS-1のいずれかの値(例えば、2)をとる。xTbSは、x方向のブロックサイズであり、yTbsは、y方向のブロックサイズであり、どちらも「4」である。SizeIdは、量子化ブロックのサイズを表すインデックスであり、ここでは、4×4を表す値が入る。
 なお、代表値として、特定の要素を用いるのではなく、伝送量子行列の要素の平均値、中間値、最小値、最大値、最頻値などを用いるようにしてもよい。
 図10は、本実施形態における逆量子化部303、量子化行列決定部304の動作を説明するフローチャートである。図10において、図8の各部に対応する部分には同一の符号(Sb1~Sb6、Sb8~Sa14)を付し、説明を省略する。図10のフローチャートは、図8のフローチャートとは、ステップSb7に変えてステップSd7を有する点のみが異なる。
 ステップSd7では、量子化行列決定部304は、ステップSb3にて取得したスケーリングリストのうち、当該量子化済みブロックのサイズのスケーリングリストから伝送量子化行列を生成し、生成した伝送量子化行列の一つの代表値を取得する。代表値の取得方法は、ステップSc7と同様である。量子化行列決定部304は、全ての要素を該代表値と同じ値とする代表値量子化行列を、逆量子化部303に設定する。
 このように、本実施形態の画像符号化装置10において、量子化行列決定部105は、直交変換部102により変換ブロックのままとされた量子化ブロックに対する量子化行列を、所定の行列を構成する要素の代表値で、全ての要素の量子化の粗さが表される代表値量子化行列とする。
 これにより、変換ブロックのままとされた量子化ブロック、すなわち、直交変換が行われなかった量子化ブロックの量子化には、全ての要素の量子化の粗さが等しい代表値量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 さらに、量子化行列決定部105は、量子化行列として、復号側と予め共有しているデフォルト量子化行列を用いるか、復号側に伝送する伝送量子化行列を用いるかを、1つまたは複数の量子化ブロックから構成される所定の単位(符号化ブロック)毎に判定する。量子化行列決定部105が、伝送量子化行列を用いると判定された所定の単位に含まれ、かつ、直交変換部102により変換ブロックのままとされた量子化ブロックに対する量子化行列を、代表値量子化行列とする。また、上述の所定の行列は、伝送量子化行列である。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている量子化ブロックであっても、直交変換が行われなかった量子化ブロックの量子化には、全ての要素の量子化の粗さが等しい代表値量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 また、このように、本実施形態の画像復号装置30において、量子化行列決定部304は、逆直交変換部305が変換済みブロックをそのまま予測差分復元信号とする変換済みブロックを生成する際に用いる量子化行列を、所定の行列を構成する要素の代表値で、全ての要素の量子化の粗さが表される代表値量子化行列とする。
 これにより、変換済みブロックをそのまま予測差分復元信号とする変換済みブロックを生成するための逆量子化には、全ての要素の量子化の粗さが等しい代表値量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 さらに、量子化行列決定部304は、量子化行列として、復号側と予め共有しているデフォルト量子化行列を用いるか、符号化側から伝送される伝送量子化行列を用いるかを、1つまたは複数の前記量子化済みブロックから構成される所定の単位(符号化ブロック)毎に判定する。量子化行列決定部304が、伝送量子化行列を用いると判定された所定の単位に含まれ、かつ、逆直交変換部305が変換済みブロックをそのまま予測差分復元信号とする変換済みブロックを生成する際に用いる量子化行列を、代表値量子化行列とする。また、上述の所定の行列は、伝送量子化行列である。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている量子化済みブロックであっても、逆量子化した後に逆直交変換を行わない量子化済みブロックの逆量子化には、全ての要素の量子化の粗さが等しい代表値量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
[第3の実施形態]
 以下、図面を参照して、本発明の第3の実施形態について説明する。第3の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであり、変換スキップされたものについては、符号化側から復号側に一つの値を伝送し、該値から生成した平坦な単一値伝送量子化行列を用いる例を説明する。
 本実施形態における画像符号化装置10と、画像復号装置30とは、図1の画像符号化装置10、図7の画像復号装置30と同様の構成である。ただし、画像符号化装置10は、量子化行列決定部105の動作が、画像復号装置30は、量子化行列決定部304の動作が異なるので、これらの動作について説明する。
 図11は、本実施形態における量子化部104、量子化行列決定部105の動作を説明するフローチャートである。図11において、図6の各部に対応する部分には同一の符号(Sa1~Sa2、Sa5~Sa7、Sa9~Sa17)を付し、説明を省略する。図11のフローチャートは、図6のフローチャートとは、ステップSa3、Sa4、Sa8に変えて、それぞれステップSe3、Se4、Se8を有する点のみが異なる。
 ステップSe3では、量子化行列決定部105は、各サイズの伝送量子化行列(ScalingFactor)と、単一値伝送量子化行列(ScalingFactor_TS)を決定する。ここで、単一値伝送量子化行列は、全ての要素が同じ値であり、この値を一つ、復号側に伝送する量子化行列である。なお、この値は、予め決められた値を用いるようにしてもよいし、変換スキップされた量子化ブロックの要素の分布から求めるようにしてもよい。
 ステップSe4では、量子化行列決定部105は、ステップSe3にて決定した伝送量子化行列の各要素と、単一値伝送量子化行列の要素を示す値一つとを、所定の順に並べたスケーリングリストを生成し、「1」に設定した伝送量子化行列適用フラグ(scaling_list_enable_flag)とをエントロピー符号化部106に入力する。
 ステップSe8では、量子化行列決定部105は、ステップSe3にて決定した単一値伝送量子化行列を量子化部104と逆量子化部107に設定する。なお、設定する単一値伝送量子化行列m[x][y]は、単一値伝送量子化行列の要素を示す値をScalingFactor_TS[sizeId]とすると、式(3)のように表せる。m[x][y]=ScalingFactor_TS[sizeId] … (3)SizeIdは、量子化ブロックのサイズを表すインデックスであり、ここでは、4×4を表す値が入る。
 なお、本実施形態では、単一値伝送量子化行列は、サイズが4×4のときのみ使用されるので、引数としてsizeIdを持たなくてもよい。
 また、単一値伝送量子化行列の要素を示す値ScalingFactor_TSは、量子化ブロックのサイズ(SizeId)だけでなく、その他のパラメータとの組み合わせ毎に決定してもよい。例えば、その他のパラメータとしては、信号値の種類(輝度値Y、色差Cb、Cr)、量子化ブロックが属する符号化ブロックの予測モード(イントラ予測、インター予測など)などがある。
 また、ステップSe3における単一値伝送量子化行列の決定と、該単一値伝送量子化行列のスケーリングリストのエントロピー符号化部106への入力は、当該符号化ブロックに変換スキップする量子化ブロックが含まれているときのみであってもよい。
 図12は、本実施形態における逆量子化部303、量子化行列決定部304の動作を説明するフローチャートである。図12において、図8の各部に対応する部分には同一の符号(Sb1、Sb2、Sb4~Sb6、Sb8~Sa14)を付し、説明を省略する。図12のフローチャートは、図8のフローチャートとは、ステップSb3、Sb7に変えてステップSf3、Sf7を有する点のみが異なる。
 ステップSf3では、量子化行列決定部304は、当該符号化ブロックの各サイズのスケーリングリストおよび単一値伝送量子化行列のスケーリングリストを、復号情報記憶部302から取得する。
 ステップSf7では、量子化行列決定部304は、ステップSf3にて取得した単一値伝送量子化行列のスケーリングリストから、単一値伝送量子化行列を生成し、逆量子化部303に設定する。
 このように、本実施形態の画像符号化装置10において、量子化行列決定部105は、直交変換部102により変換ブロックのままとされた量子化ブロックに対する量子化行列を、復号側に伝送する単一の値で、全ての要素の量子化の粗さが表される単一値伝送量子化行列とする。
 これにより、変換ブロックのままとされた量子化ブロック、すなわち直交変換が行われなかった量子化ブロックの量子化には、全ての要素の量子化の粗さが等しい単一値伝送量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 また、量子化行列決定部105は、量子化行列として、復号側と予め共有しているデフォルト量子化行列を用いるか、復号側に伝送する伝送量子化行列を用いるかを、1つまたは複数の量子化ブロックから構成される所定の単位(符号化ブロック)毎に判定する。量子化行列決定部105は、伝送量子化行列を用いると判定された所定の単位に含まれ、かつ、直交変換部102により変換ブロックのままとされた量子化ブロックに対する量子化行列を、単一値伝送量子化行列とする。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている量子化ブロックであっても、直交変換を行われなかった量子化ブロックの量子化には、全ての要素の量子化の粗さが等しい単一値伝送量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 また、このように、本実施形態の画像復号装置30において、量子化行列決定部304は、逆直交変換部305が変換済みブロックをそのまま予測差分復元信号とする変換済みブロックを生成する際に用いる量子化行列を、符号化側から伝送される単一の値で、全ての要素の量子化の粗さが表される単一値伝送量子化行列とする。
 これにより、変換済みブロックをそのまま予測差分復元信号とし、逆直交変換が行われない変換済みブロックに対応する量子化済みブロックの逆量子化には、全ての要素の量子化の粗さが等しい単一値伝送量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 さらに、量子化行列決定部304は、量子化行列として、復号側と予め共有しているデフォルト量子化行列を用いるか、符号化側から伝送される伝送量子化行列を用いるかを、1つまたは複数の量子化済みブロックから構成される所定の単位(符号化ブロック)毎に判定する。量子化行列決定部304は、伝送量子化行列を用いると判定された所定の単位に含まれ、かつ、逆直交変換部305が変換済みブロックをそのまま予測差分復元信号とする変換済みブロックを生成する際に用いる量子化行列を、単一値伝送量子化行列とする。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている量子化済みブロックであっても、逆量子化した後に逆直交変換を行わない量子化済みブロックの逆量子化には、全ての要素の量子化の粗さが等しい単一値伝送量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
[第4の実施形態]
 以下、図面を参照して、本発明の第4の実施形態について説明する。第4の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであり、変換スキップすることができるものについては、平坦なデフォルト量子化行列を用いる例を説明する。
 図13は、本実施形態における画像符号化装置10aの構成を示す概略ブロック図である。図13において、図1の各部に対応する部分には同一の符号(100~104、106~115)を付し、説明を省略する。画像符号化装置10aは、図1の画像符号化装置10とは、量子化行列決定部105に変えて、量子化行列決定部105aを有する点のみが異なる。量子化行列決定部105aは、量子化行列を決定する際に、変換スキップ判定部103の判定結果を参照しない点が、量子化行列決定部105と異なる。
 図14は、本実施形態における量子化部104、量子化行列決定部105aの動作を説明するフローチャートである。図14において、図6の各部に対応する部分には同一の符号(Sa1~Sa17)を付し、説明を省略する。図14のフローチャートは、図6のフローチャートとは、ステップSa7を有せず、ステップSa6において、量子化ブロックのサイズが4×4であると判定したときに、ステップSa8に進む点のみが異なる。
 図15は、本実施形態における画像復号装置30aの構成を示す概略ブロック図である。図15において、図7の各部に対応する部分には同一の符号(301~303、305~312)を付し、説明を省略する。画像復号装置30aは、図7の画像復号装置30とは、量子化行列決定部304に変えて、量子化行列決定部304aを有する点のみが異なる。量子化行列決定部304aは、量子化行列を決定する際に、復号情報記憶部302から変換スキップフラグを読み出さない点が、量子化行列決定部304と異なる。
 図16は、本実施形態における逆量子化部303、量子化行列決定部304aの動作を説明するフローチャートである。図16において、図8の各部に対応する部分には同一の符号(Sb1~Sb5、Sb7~Sb15)を付し、説明を省略する。図16のフローチャートは、図8のフローチャートとは、ステップSb6を有せず、ステップSb5において、量子化済みブロックのサイズが4×4であると判定したときに、ステップSb7に進む点のみが異なる。
 このように、本実施形態の画像符号化装置10aにおいて、量子化行列決定部105aは、そのブロックサイズが所定のブロックサイズ(4×4)である全ての量子化ブロックに対する量子化行列を、全ての要素の量子化の粗さが等しいものとする。
 これにより、所定のブロックサイズであり、直交変換を行っていないことがある量子化ブロックに対する量子化行列は、全ての要素の量子化の粗さが等しいものとなるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 また、量子化行列決定部105aは、そのブロックサイズが所定のブロックサイズ(4×4)である量子化ブロックに対する量子化行列を、復号側と予め共有しているデフォルト量子化行列とする。また、デフォルト量子化行列のうち、所定のブロックサイズのものは、全ての要素の量子化の粗さが等しい。
 これにより、所定のブロックサイズであり、直交変換を行われないことがある量子化ブロックの量子化には、全ての要素の量子化の粗さが等しいデフォルト量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 さらに、量子化行列決定部105aは、量子化行列として、デフォルト量子化行列を用いるか、復号側に伝送する伝送量子化行列を用いるかを、1つまたは複数の量子化ブロックから構成される所定の単位(符号化ブロック)毎に判定する。そして、量子化行列決定部105aは、量子化ブロックが、伝送量子化行列を用いると判定された所定の単位に含まれる量子化ブロックであっても、所定のブロックサイズ(4×4)である量子化ブロックの量子化行列を、デフォルト量子化行列とする。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている量子化ブロックであっても、所定のブロックサイズであり、直交変換を行われないことがある量子化ブロックの量子化には、全ての要素の量子化の粗さが等しいデフォルト量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 このように、本実施形態の画像復号装置30aにおいて、量子化行列決定部304aは、そのブロックサイズが所定のブロックサイズ(4×4)である全ての変換済みブロック各々を生成する際に用いる量子化行列を、全ての要素の量子化の粗さが等しい量子化行列とする。
 これにより、所定のブロックサイズであり、逆量子化後に直交変換を行わないものがある量子化済みブロックに対する量子化行列は、全ての要素の量子化の粗さが等しいものとなるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 このように、本実施形態の画像復号装置30aにおいて、量子化行列決定部304aは、所定のブロックサイズ(4×4)の変換済みブロックを生成する際に用いる量子化行列を、符号化側と予め共有しているデフォルト量子化行列とする。
 これにより、所定のブロックサイズであり、逆量子化後に直交変換を行わないものがある量子化済みブロックに対する量子化行列は、全ての要素の量子化の粗さが等しいデフォルト量子化行列となるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 さらに、量子化行列決定部304aは、量子化行列として、デフォルト量子化行列を用いるか、符号化側から伝送される伝送量子化行列を用いるかを、1つまたは複数の前記量子化済みブロックから構成される所定の単位(符号化ブロック)毎に判定する。量子化行列決定部304aは、伝送量子化行列を用いると判定された所定の単位に含まれ、かつ、所定のブロックサイズ(4×4)の変換済みブロックを生成する際に用いる量子化行列を、デフォルト量子化行列とする。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている変換済みブロックであっても、所定のブロックサイズであり、逆量子化後に直交変換を行わないものがある量子化済みブロックに対する量子化行列は、全ての要素の量子化の粗さが等しいデフォルト量子化行列となるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
[第5の実施形態]
 以下、図面を参照して、本発明の第5の実施形態について説明する。第5の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであり、変換スキップすることができるものについては、平坦な伝送量子化行列を用いる例を説明する。
 本実施形態における画像符号化装置10aと、画像復号装置30aとは、図13の画像符号化装置10a、図15の画像復号装置30aと同様の構成である。ただし、画像符号化装置10aは、量子化行列決定部105の動作が、画像復号装置30aは、量子化行列決定部304の動作が異なるので、これらの動作について説明する。
 図17は、本実施形態における量子化部104、量子化行列決定部105aの動作を説明するフローチャートである。図17において、図6の各部に対応する部分には同一の符号(Sa1~Sa5、Sa9~Sa17)を付し、説明を省略する。図17のフローチャートは、図6のフローチャートとは、ステップSa3とSa4の間に、ステップSg3、Sg4を有する点と、ステップSa6~Sa8を有せず、ステップSa5に続いてSa9を有する点のみが異なる。
 ステップSg3では、量子化行列決定部105aは、当該符号化ブロックに4×4の量子化ブロックがあるか否かを判定する。ないと判定したときは(Sg3-No)、そのままステップSa4に進む。一方、ステップSg3にてあると判定したときは(Sg3-Yes)、量子化行列決定部105aは、4×4の伝送量子化行列を平坦なものにし(Sg4)、ステップSa4に進む。
 図18は、本実施形態における逆量子化部303、量子化行列決定部304aの動作を説明するフローチャートである。図18において、図8の各部に対応する部分には同一の符号(Sb1~Sb4、Sb8~Sb15)を付し、説明を省略する。図18のフローチャートは、図8のフローチャートとは、ステップSb5~Sb7を有せず、ステップSb4に続いてSa8を有する点のみが異なる。
 このように、量子化行列決定部105aは、量子化行列として、復号側と予め共有しているデフォルト量子化行列を用いるか、復号側に伝送する伝送量子化行列を用いるかを、1つまたは複数の量子化ブロックから構成される所定の単位(符号化ブロック)毎に判定する。量子化行列決定部105aは、伝送量子化行列を用いると判定された所定の単位に含まれ、かつ、所定のブロックサイズ(4×4)の量子化ブロックに対する量子化行列を、全ての要素の量子化の粗さが等しいものとする。
 これにより、伝送量子化行列を用いると判定された所定の単位(符号化ブロック)に含まれている量子化ブロックであっても、所定のサイズであり、直交変換を行われないことがある量子化ブロックの量子化には、全ての要素の量子化の粗さが等しい伝送量子化行列が用いられるので、量子化によって発生する画素間のばらつきを抑え、主観的な画質の劣化を抑えることができる。
 なお、上述の各実施形態では、変換ブロックが変換スキップできるものであるときの例として、当該変換ブロックのサイズが4×4であるときを例に挙げたが、その他のサイズあってもよいし、該当するサイズが複数あってもよい。あるいは、当該変換ブロックに対応する領域の予測画像を生成する方法に、特定の方法が含まれているときなど、変換ブロックのサイズ以外の条件が満たされるときであってもよい。
 また、上述の各実施形態では、符号化ブロックのサイズは、8×8、16×16、32×32の3種類であり、変換ブロックおよび量子化ブロックのサイズは、4×4、8×8、16×16、32×32の4種類であるとしたが、これに限らない。他のサイズが含まれていてもよいし、いずれかのサイズが含まれていなくてもよいし、種類の数が多くてもよいし、少なくてもよい。
 また、上述の各実施形態では、伝送量子化行列は、量子化ブロックのサイズ(SizeId)毎に決定するとしたが、サイズだけでなく、その他のパラメータとの組み合わせ毎に決定してもよい。例えば、その他のパラメータとしては、信号値の種類(輝度値Y、色差Cb、Cr)、量子化ブロックが属する符号化ブロックの予測モード(イントラ予測、インター予測など)などがある。
 また、上述の各実施形態では、伝送量子化行列(スケーリングリスト)のセットは、伝送量子化行列適用フラグと同様に符号化ブロック毎に決定したが、より大きな単位毎に決定してもよい。例えば、フレーム毎であってもよいし、符号化ブロックが複数集まった単位毎であってもよい。
 また、上述の各実施形態における画像符号化装置10、画像復号装置30は、入力動画像を可逆符号化するロスレスモードを有していてもよい。
 また、図1における画像符号化装置10、図7における画像復号装置30、図13における画像符号化装置10a、または、図15における画像復号装置30aの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより該装置を実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 また、上述した図1における画像符号化装置10、図7における画像復号装置30、図13における画像符号化装置10a、または、図15における画像復号装置30aの各機能ブロックは個別にチップ化してもよいし、一部、または全部を集積してチップ化してもよい。また、集積回路化の手法はLSIに限らず、専用回路、または汎用プロセッサで実現しても良い。ハイブリッド、モノリシックのいずれでも良い。一部は、ハードウェアにより、一部はソフトウェアにより機能を実現させても良い。
 また、半導体技術の進歩により、LSIに代替する集積回路化等の技術が出現した場合、当該技術による集積回路を用いることも可能である。
 以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
 なお、日本国特許出願第2013-203529(2013年9月30日)の全内容が、参照により、本願明細書に組み込まれている。
 本発明によれば、直交変換を行ったブロックと、直交変換を行わないブロックとが混在していても、量子化によって発生する主観的な画質の劣化を抑えることができる。

Claims (12)

  1.  入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、
     前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して直交変換が適用された場合、前記変換ブロックを前記第1の量子化行列又は復号側に伝送する第2の量子化行列を用いて量子化する量子化部を有することを特徴とする画像符号化装置。
  2.  入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、
     前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列又は復号側に伝送する第2の量子化行列を構成する要素の代表値で、全ての要素の量子化の粗さが表される量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して前記直交変換が適用された場合、前記第1の量子化行列又は前記第2の量子化行列を用いて量子化する量子化部を有することを特徴とする画像符号化装置。
  3.  入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、
     前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列又は復号側に伝送する単一の値であって、全ての要素の量子化の粗さが表される量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して前記直交変換が適用された場合、前記第1の量子化行列又は復号側に伝送する第2の量子化行列を用いて量子化する量子化部を有することを特徴とする画像符号化装置。
  4.  前記量子化部は、前記判定に基づき前記変換ブロックに対して直交変換が適用された場合であって、前記第2の量子化行列を伝送するとき該第2の量子化行列を用いて量子化し、前記直交変換が適用された場合であって、前記第2の量子化行列を伝送しないとき前記第1の量子化行列を用いて量子化することを特徴とする請求項1乃至3のいずれか一項に記載の画像符号化装置。
  5.  前記量子化部は、前記判定に基づき前記変換ブロックに対して前記変換スキップが選択された場合であって、前記第2の量子化行列を伝送するとき、前記第1の量子化行列を用いて量子化することを特徴とする請求項1に記載の画像符号化装置。
  6.  符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は符号化側から伝送される第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする画像復号装置。
  7.  符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している第1の量子化行列又は符号化側から伝送される第2の量子化行列を構成する要素の代表値で、全ての要素の量子化の粗さが表される量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は前記第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする画像復号装置。
  8.  符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している第1の量子化行列又は符号化側から伝送される単一の値で全ての要素の量子化の粗さが表される量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は符号化側から伝送される第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする画像復号装置。
  9.  前記逆量子化部は、前記符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されているとき、該第2の量子化行列を用いて逆量子化し、前記符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されていないとき、前記第1の量子化行列を用いて逆量子化することを特徴とする請求項6乃至8のいずれか一項に記載の画像復号装置。
  10.  前記逆量子化部は、前記符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されているとき、前記第1の量子化行列を用いて逆量子化することを特徴とする請求項6に記載の画像復号装置。
  11.  コンピュータを、請求項1から請求項5のいずれか一項に記載の画像符号化装置として機能させるためのプログラム。
  12.  コンピュータを、請求項6から請求項10のいずれか一項に記載の画像復号装置として機能させるためのプログラム。
PCT/JP2014/072791 2013-09-30 2014-08-29 画像符号化装置、画像復号装置及びそれらのプログラム WO2015045736A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
BR112016006686-3A BR112016006686B1 (pt) 2013-09-30 2014-08-29 Dispositivo de codificação de imagem, dispositivo de decodificação de imagem, programas dos mesmos
JP2015525679A JP6143866B2 (ja) 2013-09-30 2014-08-29 画像符号化装置、画像復号装置及びそれらのプログラム
MYPI2016701121A MY183347A (en) 2013-09-30 2014-08-29 Image encoding device, image decoding device, and the programs thereof
CN201480053809.9A CN105580368B (zh) 2013-09-30 2014-08-29 图像编码装置和方法以及图像解码装置和方法
EP14846805.1A EP3054683A4 (en) 2013-09-30 2014-08-29 Image coding device, image decoding device, and programs therefor
US15/084,073 US11223827B2 (en) 2013-09-30 2016-03-29 Image encoding device, image decoding device, and the programs thereof
US17/646,832 US11647195B2 (en) 2013-09-30 2022-01-03 Image encoding device, image decoding device, and the programs thereof
US18/193,436 US20230239475A1 (en) 2013-09-30 2023-03-30 Image encoding device, image decoding device, and the programs thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013203529 2013-09-30
JP2013-203529 2013-09-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/084,073 Continuation US11223827B2 (en) 2013-09-30 2016-03-29 Image encoding device, image decoding device, and the programs thereof

Publications (1)

Publication Number Publication Date
WO2015045736A1 true WO2015045736A1 (ja) 2015-04-02

Family

ID=52742886

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/072791 WO2015045736A1 (ja) 2013-09-30 2014-08-29 画像符号化装置、画像復号装置及びそれらのプログラム

Country Status (7)

Country Link
US (3) US11223827B2 (ja)
EP (1) EP3054683A4 (ja)
JP (1) JP6143866B2 (ja)
CN (1) CN105580368B (ja)
MY (1) MY183347A (ja)
TW (1) TWI633779B (ja)
WO (1) WO2015045736A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596443A (zh) * 2015-08-20 2021-11-02 日本放送协会 图像编码装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI627857B (zh) * 2012-06-29 2018-06-21 Sony Corp Image processing device and method
JPWO2016103542A1 (ja) 2014-12-26 2017-10-19 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置および復号装置
WO2019003676A1 (ja) * 2017-06-29 2019-01-03 ソニー株式会社 画像処理装置と画像処理方法およびプログラム
EP3484151A1 (en) * 2017-11-13 2019-05-15 Thomson Licensing Method and apparatus for generating quantization matrices in video encoding and decoding
RU2020131045A (ru) * 2018-03-28 2022-03-21 Сони Корпорейшн Устройство обработки изображений и способ обработки изображений
US12034929B2 (en) 2018-12-26 2024-07-09 Electronics And Telecommunications Research Institute Quantization matrix encoding/decoding method and device, and recording medium in which bitstream is stored
JP2021513755A (ja) 2019-01-15 2021-05-27 エルジー エレクトロニクス インコーポレイティド 変換スキップフラグを利用した映像コーディング方法及び装置
WO2020249762A1 (en) * 2019-06-14 2020-12-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder, methods and computer programs with an improved transform based scaling
JP7358135B2 (ja) * 2019-09-17 2023-10-10 キヤノン株式会社 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム
JP7358136B2 (ja) 2019-09-17 2023-10-10 キヤノン株式会社 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2514114B2 (ja) * 1991-01-31 1996-07-10 株式会社グラフィックス・コミュニケーション・テクノロジーズ 動画像符号化装置
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
US6876703B2 (en) * 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
KR100341063B1 (ko) * 2000-06-28 2002-06-20 송문섭 실시간 영상 통신을 위한 율제어 장치 및 그 방법
JP2005184042A (ja) * 2003-12-15 2005-07-07 Sony Corp 画像復号装置及び画像復号方法並びに画像復号プログラム
CN1910594A (zh) * 2004-01-20 2007-02-07 松下电器产业株式会社 图像编码方法和设备、图像解码方法和设备及其程序
JP4146444B2 (ja) * 2005-03-16 2008-09-10 株式会社東芝 動画像符号化の方法及び装置
US7925098B2 (en) * 2006-03-02 2011-04-12 Canon Kabushiki Kaisha Image encoding apparatus and method with both lossy and lossless means
JPWO2008132890A1 (ja) 2007-04-16 2010-07-22 株式会社東芝 画像符号化と画像復号化の方法及び装置
EP2286595A1 (en) * 2008-06-16 2011-02-23 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
JPWO2009157581A1 (ja) * 2008-06-27 2011-12-15 ソニー株式会社 画像処理装置及び画像処理方法
US20100238997A1 (en) * 2009-03-17 2010-09-23 Yang En-Hui Method and system for optimized video coding
EP3174296A1 (en) 2011-10-17 2017-05-31 Kabushiki Kaisha Toshiba Decoding device and decoding method
PL2822276T3 (pl) * 2012-02-29 2019-04-30 Lg Electronics Inc Sposób predykcji międzywarstwowej i stosujące go urządzenie
US9503702B2 (en) * 2012-04-13 2016-11-22 Qualcomm Incorporated View synthesis mode for three-dimensional video coding
JP6168365B2 (ja) * 2012-06-12 2017-07-26 サン パテント トラスト 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
TWI627857B (zh) * 2012-06-29 2018-06-21 Sony Corp Image processing device and method
CN115065823A (zh) * 2012-07-02 2022-09-16 韩国电子通信研究院 视频编码/解码方法和非暂时性计算机可读记录介质
US9602827B2 (en) * 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
US9380289B2 (en) * 2012-07-20 2016-06-28 Qualcomm Incorporated Parameter sets in video coding
US9451256B2 (en) * 2012-07-20 2016-09-20 Qualcomm Incorporated Reusing parameter sets for video coding
AU2013311185B2 (en) * 2012-09-06 2017-06-22 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, image coding and decoding apparatus
JP6210368B2 (ja) * 2012-09-18 2017-10-11 サン パテント トラスト 画像復号方法および画像復号装置
EP2898694B1 (en) * 2012-09-24 2019-06-19 Huawei Technologies Co., Ltd. Video compression with color space scalability
CN104641646A (zh) * 2012-09-28 2015-05-20 索尼公司 图像处理设备和图像处理方法
CN104662901B (zh) * 2012-09-28 2018-06-22 索尼公司 图像处理装置及方法
US20140169452A1 (en) * 2012-12-14 2014-06-19 Electronics And Telecommunications Research Institute Video encoding method and apparatus using the same
EP2941000B1 (en) * 2012-12-27 2020-11-04 NEC Corporation Video coding device, video coding method, and video coding program
US20140286413A1 (en) * 2013-03-25 2014-09-25 Qualcomm Incorporated Disabling sign data hiding in video coding
US10529013B2 (en) * 2013-07-01 2020-01-07 Intuit Inc. Identifying business type using public information
JP6528635B2 (ja) * 2015-10-05 2019-06-12 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
CN110431843A (zh) * 2017-03-23 2019-11-08 索尼公司 图像处理装置及方法
RU2020131045A (ru) * 2018-03-28 2022-03-21 Сони Корпорейшн Устройство обработки изображений и способ обработки изображений

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"High-efficiency video coding", RECOMMENDATION ITU-T H.265, April 2013 (2013-04-01)
See also references of EP3054683A4
YOSHITAKA MORIGAMI ET AL.: "On Transform Skip", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 10TH MEETING, 11 July 2012 (2012-07-11), STOCKHOLM, SE, XP030112546 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596443A (zh) * 2015-08-20 2021-11-02 日本放送协会 图像编码装置

Also Published As

Publication number Publication date
JPWO2015045736A1 (ja) 2017-03-09
JP6143866B2 (ja) 2017-06-07
US20230239475A1 (en) 2023-07-27
MY183347A (en) 2021-02-18
BR112016006686A2 (pt) 2017-08-01
EP3054683A1 (en) 2016-08-10
US20220132127A1 (en) 2022-04-28
EP3054683A4 (en) 2017-06-07
CN105580368A (zh) 2016-05-11
US11647195B2 (en) 2023-05-09
TW201517596A (zh) 2015-05-01
US11223827B2 (en) 2022-01-11
TWI633779B (zh) 2018-08-21
CN105580368B (zh) 2018-10-19
US20160212429A1 (en) 2016-07-21

Similar Documents

Publication Publication Date Title
JP6143866B2 (ja) 画像符号化装置、画像復号装置及びそれらのプログラム
KR101919394B1 (ko) 무손실 인트라 hevc 코딩을 위한 지수-골룸 이진화에 대한 파라미터 결정
KR101493194B1 (ko) Hevc에서의 샘플 적응성 오프셋의 유연성 대역 오프셋 모드
US9826241B2 (en) Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium
JP5215951B2 (ja) 符号化装置及びその制御方法、コンピュータプログラム
EP3080988B1 (en) Parameter derivation for entropy coding of a syntax element
US8903184B2 (en) Image-encoding method, image-encoding device, and computer-readable recording medium storing image-encoding program
JP6172162B2 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
US12034927B2 (en) Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, and non-transitory computer-readable storage medium
JP7357736B2 (ja) 符号化装置、復号装置、及びプログラム
JP2008271371A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法およびプログラム
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
JP7553687B2 (ja) 復号装置、プログラム、及び復号方法
JP6481457B2 (ja) 動画像符号化装置、動画像符号化方法、動画像復号装置、及び動画像復号方法
US20130083858A1 (en) Video image delivery system, video image transmission device, video image delivery method, and video image delivery program
US10448035B2 (en) Information compression device, information compression method, non-volatile recording medium, and video coding device
JP2017183910A (ja) 画像符号化装置及び画像符号化方法
JP6769302B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
JP2021129148A (ja) 予測装置、符号化装置、復号装置、及びプログラム
JP2008289105A (ja) 画像処理装置およびそれを搭載した撮像装置
US12088789B2 (en) Intra prediction device, image encoding device, image decoding device and program
KR20220055495A (ko) 화상 부호화 장치, 화상 부호화 방법, 화상 복호 장치, 화상 복호 방법, 및 컴퓨터 프로그램
JP2019075678A (ja) 画像符号化装置、画像復号装置、画像符号化プログラム、及び画像復号プログラム
JP2012209873A (ja) 動画像符号化装置及び動画像符号化方法
JP2014150307A (ja) 映像圧縮フォーマット変換装置、映像圧縮フォーマット変換方法、およびプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480053809.9

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2015525679

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 14846805

Country of ref document: EP

Kind code of ref document: A1

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

Country of ref document: BR

REEP Request for entry into the european phase

Ref document number: 2014846805

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014846805

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 112016006686

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20160324