WO2018186349A1 - 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム - Google Patents

画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム Download PDF

Info

Publication number
WO2018186349A1
WO2018186349A1 PCT/JP2018/014113 JP2018014113W WO2018186349A1 WO 2018186349 A1 WO2018186349 A1 WO 2018186349A1 JP 2018014113 W JP2018014113 W JP 2018014113W WO 2018186349 A1 WO2018186349 A1 WO 2018186349A1
Authority
WO
WIPO (PCT)
Prior art keywords
sub
block
information
significant
encoded
Prior art date
Application number
PCT/JP2018/014113
Other languages
English (en)
French (fr)
Inventor
徹 熊倉
福島 茂
Original Assignee
株式会社Jvcケンウッド
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 株式会社Jvcケンウッド filed Critical 株式会社Jvcケンウッド
Priority to CN201880023634.5A priority Critical patent/CN110495172B/zh
Publication of WO2018186349A1 publication Critical patent/WO2018186349A1/ja
Priority to US16/594,117 priority patent/US20200036977A1/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to an image coding technique, and more particularly to a difference signal entropy coding technique.
  • CABAC context-adaptive arithmetic coding
  • HEVC which is an international standard for moving picture coding
  • CABAC context-adaptive arithmetic coding
  • CABAC manages multiple contexts, which are variables for expressing the probability of occurrence of bits to be encoded, and realizes improvement in encoding efficiency by selecting the optimal context based on the surrounding encoding / decoding results is doing.
  • CABAC CABAC derives a context based on surrounding encoding / decoding results
  • the context used for information to be encoded / decoded can be determined until encoding / decoding of the information to be referred to is completed. Can not. Since there is a dependency relationship between the derivation of the context and the encoding / decoding process, it is difficult to perform parallel processing thereof, which is a factor that hinders the speeding up of the process.
  • Patent Document 1 discloses means for deriving a context for encoding / decoding significant coefficient information among elements constituting difference information, based on information belonging to an encoded / decoded sub-block. . According to the disclosed technology, the encoding / decoding result of the information belonging to the encoded / decoded sub-block without referring to the encoding / decoding result of the sub-block to which the significant coefficient information to be encoded / decoded belongs. , A context for encoding / decoding significant coefficient information can be derived.
  • the context for encoding / decoding all significant coefficient information belonging to the subblock to be encoded / decoded depends on It is possible to derive it regardless.
  • Patent Document 1 the scanning order of sub-blocks and significant coefficient information in the sub-blocks is right to left and bottom to top. This scanning order conforms to the HEVC standard. However, the scanning order of sub-blocks should be appropriately determined after comprehensively considering factors such as coding efficiency, complexity, and functions to be provided.
  • the configuration of scanning the sub-blocks and the significant coefficient information in the sub-blocks from left to right and from top to bottom is applied to the configuration of Patent Document 1, the following problems occur.
  • significant sub-block information of sub-blocks adjacent to the left of the sub-block to be encoded / decoded is obtained. If 1 and the significant sub-block information of the sub-block adjacent to the sub-block to be encoded / decoded is 0, the significant coefficient information is encoded according to the vertical position of the sub-block to be encoded / decoded. Determine the context for decoding.
  • the significant subblock information of the subblock adjacent to the left of the subblock to be encoded / decoded is 1, and the significant subblock information of the subblock adjacent to the subblock to be encoded / decoded is 1
  • there is a difference coefficient that is not 0 in the left adjacent sub-block so that the probability that the low-frequency significant coefficient information in the horizontal direction of the sub-block to be encoded / decoded becomes 1 is high, while the horizontal direction It is estimated that the probability that the high-frequency significant coefficient information becomes zero becomes high.
  • Cited Document 1 the context cannot be switched according to the horizontal position of the significant coefficient information.
  • the present invention has been made in view of such a situation, and an object of the present invention is to perform parallel processing and to reduce the amount of calculation even in a configuration in which sub-blocks are scanned from left to right and from top to bottom in differential coefficient encoding / decoding.
  • An object of the present invention is to provide an image coding technique that realizes a small number of context index calculation methods, has a simple circuit configuration, and is suitable for real-time processing.
  • Another object is to provide an image coding technique with high coding efficiency by realizing calculation of a context index with reference to a peripheral difference coefficient appropriate for correlation.
  • an image encoding device divides difference information between an image to be encoded and an image to be predicted into a plurality of sub-blocks, and Significant sub-block information indicating whether or not all of the values of the difference coefficients belonging to the sub-block are image encoding devices that encode sub-blocks in order from left to right and top to bottom.
  • a context deriving unit for deriving a context for encoding the significant coefficient information to be encoded based on the position of the differential coefficient to be encoded in the sub-block to be encoded, and the context deriving unit If the significant sub-block information of the encoded sub-block adjacent to the left is 1 and the significant sub-block information of the encoded sub-block adjacent to the left is 0, Based on the horizontal position of the significant coefficient information in the encoding target sub-block, the context of the significant coefficient information to be encoded is derived, and the significant sub-block of the encode
  • Another aspect of the present invention is an image encoding method.
  • difference information between an image to be encoded and an image to be predicted is divided into a plurality of subblocks, and the divided subblocks are encoded in the order from left to right and from top to bottom.
  • Another aspect of the present invention is an image encoding method.
  • This method is an image encoding method in which a difference coefficient that is a transform coefficient of a difference signal between an image to be encoded and a predicted image is divided into a plurality of subblocks, and the difference coefficients are encoded in units of subblocks.
  • a significant coefficient information encoding step for encoding significant coefficient information indicating that the difference coefficient value is not 0 and is significant
  • the encoding target sub-block A difference coefficient value information encoding step for encoding a difference coefficient value for each pixel in the block when the significant coefficient information is significant.
  • the significant coefficient information encoding step includes information indicating the significance of the difference coefficient in the encoded sub-block adjacent to the encoding target sub-block in the horizontal direction, and the encoding target sub-block in the vertical direction.
  • the context for encoding the significant coefficient information in the sub-block to be encoded is determined based on the information indicating the significance of the difference coefficient in the encoded sub-block adjacent to the sub-block.
  • Another aspect of the present invention is an image decoding device.
  • difference information between an image to be decoded and an image to be predicted is divided into a plurality of sub-blocks, and the divided sub-blocks are encoded in the order from left to right and from top to bottom.
  • Significant sub-block information of an adjacent decoded sub-block, significant sub-block information of an adjacent decoded sub-block above, and a sub-target to be decoded of a difference coefficient to be decoded A context deriving unit for deriving a context for decoding the significant coefficient information to be decoded based on the position in the lock, and the context deriving unit includes a significant sub-block of the decoded sub-block adjacent to the left When the block information is 1 and the significant sub-block information of the decoded sub-block adjacent above is 0, based on the horizontal position of the significant coefficient information to be decoded in the de
  • Another aspect of the present invention is an image decoding method.
  • difference information between an image to be decoded and an image to be predicted is divided into a plurality of sub-blocks, and the divided sub-blocks are encoded in the order from left to right and from top to bottom.
  • Significant sub-block information of adjacent decoded sub-blocks, significant sub-block information of decoded sub-blocks adjacent above, and the difference coefficient to be decoded A context deriving step for deriving a context for decoding the significant coefficient information to be decoded based on the position in the sub-block to be decoded, wherein the context deriving step includes the decoded adjacent to the left When the significant sub-block information of the sub-block is 1 and the significant sub-block information of the decoded sub-block adjacent above is 0, the horizontal direction of the significant coefficient information to be decoded in the decoding-target sub-block The context of the significant coefficient
  • CABAC optimizes code allocation by associating a plurality of contexts with each coding syntax and selecting a context based on the correlation of syntax elements.
  • the quantized orthogonal transform coefficient is referred to as a difference coefficient.
  • the 16 ⁇ 16 difference coefficient to be processed is divided into 4 ⁇ 4 size sub-blocks 401 to 416, and scanning in units of sub-blocks is preferentially performed.
  • the size of the difference coefficient to be processed and the size of the sub-block are not limited to the above-mentioned sizes.
  • the size of the difference coefficient may be increased to 64 ⁇ 64, 32 ⁇ 32, or 8 ⁇ It may be as small as eight.
  • each difference coefficient is encoded / decoded with significant coefficient information and difference coefficient value information.
  • the significant coefficient information is a 1-bit flag indicating whether or not the difference coefficient is 0.
  • the significant coefficient information is 1, it indicates that the target difference coefficient is 0.
  • the difference coefficient value information includes difference coefficient absolute value information and difference coefficient code information.
  • the difference coefficient absolute value information is a value obtained by subtracting 1 from the absolute value of the difference coefficient to be encoded / decoded. .
  • FIG. 2 shows the sub-block scanning order 202. In this procedure, scanning is started from the top left sub-block of the difference coefficient area, scanning is performed according to the rules of left to right and top to bottom, and scanning is finished in the bottom right sub-block. .
  • Reference numeral 201 represents the scan order 202 using arrows.
  • the scanning order according to the rule from left to right and from top to bottom is not limited to the above example, and for example, the scanning order 204 shown in FIG. 2 is also conceivable.
  • Reference numeral 203 is a diagram representing the scanning order 204 using arrows. Even in this case, the scanning of the sub-blocks spatially located on the left side and the upper side is maintained in all the processing target sub-blocks.
  • step S102 the decoding process of all the difference coefficients of the processing target sub-block is performed (S102). After decoding of the sub-block difference coefficient is completed, the process proceeds to step S101.
  • Significant sub-block information is decoded (S301).
  • the significant sub-block information is a 1-bit flag for indicating that a non-zero difference coefficient exists in the processing target sub-block.
  • Significant sub-block information of 1 indicates that there is at least one non-zero difference coefficient in the processing target sub-block.
  • Significant sub-block information of 0 indicates that all difference coefficient values of the processing target sub-block are 0.
  • the value of significant sub-block information is determined (S302).
  • the value of all the difference coefficients of the processing target sub-block is set to 0 (S305), and the sub-block difference coefficient decoding process is terminated.
  • the significant coefficient information is a 1-bit flag for indicating that the value of the difference coefficient at the processing target position is not 0.
  • Significant coefficient information of 1 indicates that the difference coefficient value at the processing target position is not 0, and significant coefficient information of 0 indicates that the difference coefficient value at the processing target position is 0. .
  • the scanning order of the significant coefficient information is assumed to follow the scanning order 202 shown in FIG. 2 similarly to the scanning order of the sub blocks in the difference coefficient area.
  • a context is derived based on a predetermined process that refers to the decoding result. After decoding of all significant coefficient information of the sub-block, the process proceeds to decoding of difference coefficient value information in step S304.
  • Decoding processing of difference coefficient value information is performed (S304). Details of the difference coefficient value information decoding process will be described later. After completing the decoding process of the difference coefficient value information, the process proceeds to step S101, and the next sub-block is scanned.
  • the difference coefficient to be processed is determined according to a predetermined scanning order (S401). It is assumed that the scanning order of the difference coefficients in the sub-block follows the scanning order 202 shown in FIG. 2 as in the scanning order of the significant coefficient information. If all the difference coefficients of the subblock have been scanned, the decoding process of the difference coefficient value information is completed, and the process proceeds to the next subblock determination procedure (S101).
  • the difference coefficient absolute value information of the processing target difference coefficient is decoded (S403).
  • the difference coefficient absolute value information is encoded by subtracting 1 from the absolute value of the difference coefficient. Therefore, a value obtained by adding 1 to the difference coefficient absolute value information is set as the absolute value of the difference coefficient.
  • the difference coefficient code information of the difference coefficient to be processed is decoded (S404).
  • the difference coefficient sign information is 0, the sign of the difference coefficient value is positive, and when the difference coefficient sign information is 1, the sign of the difference coefficient value is negative.
  • the “processing target block” refers to a block to be encoded in the image encoding device, and refers to a block to be decoded in the image decoding device.
  • the “already processed block” is a block that has been encoded in the image encoding device, and a block that has been decoded in the image decoding device.
  • FIG. 5 is a block diagram showing a configuration of the image coding apparatus according to the embodiment.
  • the image coding apparatus according to the embodiment includes a subtracting unit 501, an orthogonal transform / quantization unit 502, an inverse quantization / inverse transform unit 503, an adder 504, a decoded image memory 505, a prediction unit 506, A difference information encoding unit 507, a prediction information encoding unit 508, and a mode determination unit 509 are provided.
  • the mode determination unit 509 attempts to encode all prediction candidates and determines optimal prediction information for each block of the image.
  • the prediction information includes a prediction mode indicating a divided block size and inter-frame prediction / intra-screen prediction. Further, when the prediction mode is inter-screen prediction, motion information such as a motion vector and a reference picture index is included in the prediction mode. In the case of intra prediction, the intra prediction mode is included.
  • the determined prediction information is provided to the prediction unit 506 and the prediction information encoding unit 508.
  • the prediction information coding unit 508 performs variable length coding on the input prediction information and outputs a coded sequence of prediction information.
  • the prediction unit 506 generates a prediction image using the input prediction information and the already decoded image stored in the decoded image memory 505, and gives the generated prediction image to the subtraction unit 501.
  • the subtraction unit 501 generates a difference image by subtracting the predicted image from the original image to be encoded, and gives the generated difference signal to the orthogonal transform / quantization unit 502.
  • the orthogonal transform / quantization unit 502 generates a difference coefficient by performing orthogonal transform / quantization on the difference image, and provides the generated difference coefficient to the inverse quantization / inverse transform unit 503 and the difference information encoding unit 507.
  • the difference information encoding unit 507 entropy-encodes the difference coefficient and outputs an encoded sequence of difference information.
  • the inverse quantization / inverse transform unit 503 generates a decoded differential signal by performing inverse quantization / inverse orthogonal transformation on the difference coefficient received from the orthogonal transform / quantization unit 502, and adds the generated decoded differential signal to the addition unit 504. To give.
  • the addition unit 504 generates a decoded image by adding the predicted image and the decoded differential signal, and stores the generated decoded image in the decoded image memory 505.
  • FIG. 6 is a block diagram showing the configuration of the image decoding apparatus according to the embodiment.
  • the image decoding apparatus according to the embodiment includes a difference information decoding unit 601, an inverse quantization / inverse transformation unit 602, a prediction information decoding unit 603, an addition unit 604, a decoded image memory 605, and a prediction unit 606. .
  • the decoding process of the image decoding apparatus in FIG. 6 corresponds to the decoding process provided in the image encoding apparatus in FIG. 5, and therefore, the inverse quantization / inverse conversion unit 602 and the addition unit 604 in FIG. 6.
  • Each of the configurations of the decoded image memory 605 and the prediction unit 606 is the same as that of each of the inverse quantization / inverse transform unit 503, the addition unit 504, the decoded image memory 505, and the prediction unit 506 of the image encoding device in FIG. Has a corresponding function.
  • the prediction information decoding unit 603 entropy-decodes the input prediction information encoded sequence to generate prediction information, and provides the generated prediction information to the prediction unit 606.
  • the prediction unit 606 generates a prediction image using the input prediction information and the already decoded image stored in the decoded image memory 605, and gives the generated prediction image to the addition unit 604.
  • the difference information decoding unit 601 generates difference information by entropy decoding the difference information.
  • the generated difference information is provided to the inverse quantization / inverse transform unit 602.
  • the inverse quantization / inverse transformation unit 602 performs inverse quantization / inverse orthogonal transformation on the difference information received from the difference information decoding unit 601 to generate a decoded difference signal, and provides the generated decoded difference signal to the addition unit 604. .
  • the addition unit 604 generates a decoded image by adding the predicted image and the decoded differential signal, stores the generated decoded image in the decoded image memory 605, and outputs the decoded image.
  • the difference coefficient encoding and decoding processing according to the embodiment of the present invention is performed in the difference information encoding unit 507 of the image encoding device in FIG. 5 and the difference information decoding unit 601 of the image decoding device in FIG.
  • the details of the difference information encoding and decoding process according to the embodiment will be described below.
  • Encoding block In the embodiment, as shown in FIG. 7, the screen is hierarchically divided into rectangular blocks, and each block is sequentially processed in a predetermined processing order. Each block to be divided is called a coding block.
  • a block 717 in FIG. 7 is a maximum unit of division in the embodiment, and this is called a maximum coding block.
  • a block 716 in FIG. 7 is a minimum unit of division in the embodiment, and this is called a minimum coding block.
  • the minimum encoding block is 4 ⁇ 4 pixels and the maximum encoding block is 16 ⁇ 16 pixels.
  • a unit for performing intra prediction is called a prediction block.
  • the prediction block has a size of not less than the minimum coding block and not more than the maximum coding block.
  • a block 701 in FIG. 7 is a processing target block, and blocks 702 to 711 preceding the block 701 in a predetermined processing order are already processed blocks. These blocks have fixed prediction blocks, blocks 702, 703, and 704 are 16 ⁇ 16 blocks, blocks 705, 710, 711, and 701 are 8 ⁇ 8 blocks, and blocks 706, 707, 708, and 709 are 4 blocks. ⁇ 4 blocks.
  • Blocks 712, 713, 714, and 715 are unprocessed blocks, and the encoding block size is not fixed.
  • an optimal prediction block size is determined, and the prediction block size is encoded.
  • the predicted block size is obtained from the bit stream.
  • the prediction block is described as a processing unit.
  • the unit for performing the quantization / orthogonal transform is the same as the unit of the prediction block. However, in the encoding / decoding process, the difference coefficient region is divided into a plurality of sub-blocks and scanned. The size of the sub-block is 4 ⁇ 4 size. However, the unit for performing the quantization / orthogonal transformation may be determined independently of the unit of the prediction block.
  • FIG. 8 is a block diagram of a detailed configuration of the first embodiment of the difference information encoding unit 507 of FIG.
  • the difference information encoding unit 507 of the first embodiment includes an arithmetic encoding unit 801, a difference coefficient buffer 802, an encoding control unit 803, a context memory 804, and a scanning control unit 805, and the encoding control unit 803 further includes A significant coefficient information encoding control unit 806, a differential coefficient value information encoding control unit 807, and a significant sub-block information encoding control unit 808.
  • the scanning control unit 805 determines a processing target sub-block (S901). If all the sub-blocks have been scanned, the differential coefficient decoding process ends. It is assumed that the scanning order of the sub blocks follows the scanning order 202 in FIG. In this procedure, scanning is started from the top left sub-block of the difference coefficient area, scanning is performed from left to right, and further from top to bottom, and scanning is finished in the bottom right sub-block. . As described above, the context is updated by the encoding process. When the scanning order 202 in FIG. 2 is followed, the scanning of the sub-blocks spatially located on the left side and the upper side with respect to the processing target sub-block is completed. The sub-block encoding process is performed on the processing target sub-block (S902).
  • the significant subblock information encoding control unit 808 acquires the processing target subblock from the difference coefficient buffer 802. When all the difference coefficients of the sub-block are scanned and the values of all the difference coefficients are 0, the significant sub-block information is set to 0. Otherwise (when there is at least one difference coefficient whose value is not 0), the significant sub-block information is set to 1 (S1001).
  • the significant sub-block information encoding control unit 808 refers to the difference coefficient included in the sub-block that is adjacent to the processing target sub-block and has been decoded from the difference coefficient buffer 802, and encodes the significant sub-block information.
  • a context index ctxIdx that is a variable indicating the context is determined.
  • the context corresponding to the context index ctxIdx is read from the context memory 804.
  • Significant sub-block information and context are sent to the arithmetic coding unit 801.
  • the arithmetic encoding unit 801 encodes significant sub-block information using the context (S1002).
  • the significant subblock information encoding control unit 808 determines the value of the significant subblock information (S1003). If the significant sub-block information is 0, the sub-block difference coefficient encoding process is terminated, and the process proceeds to step S901.
  • the difference coefficient value information encoding control unit 807 performs an encoding process on all the difference coefficient value information of the processing target sub-block (S1005). Details of the sub-block difference coefficient value information encoding procedure will be described later. After encoding all the difference coefficient value information of the sub-block, the process proceeds to step S901.
  • the significant coefficient information encoding control unit 806 acquires significant sub-block information of decoded sub-blocks adjacent to the left side and the upper side of the processing target sub-block as peripheral significant sub-block information.
  • Significant sub-block information of the sub-block adjacent on the left side is sigGroupLeft
  • significant sub-block information of the sub-block adjacent on the lower side is sigGroupTop (S1101).
  • the significant coefficient information encoding control unit 806 determines a difference coefficient to be processed (S1102).
  • the scanning order of the difference coefficients in the sub-block follows the scanning order 202 shown in FIG. 2 in the same manner as the scanning order of the sub-blocks in the difference coefficient area. If all the significant coefficient information of the sub-block has been scanned, the encoding process of the significant coefficient information is terminated, and the process proceeds to the difference coefficient value information encoding procedure (S1005).
  • the significant coefficient information encoding control unit 806 evaluates the peripheral significant sub-block information sigGroupLeft and sigGroupTop (S1103).
  • the processing target difference coefficient position in the processing target sub-block is determined (S1104).
  • the horizontal difference coefficient position is posX
  • the vertical difference coefficient position is posY
  • a definition of the context index ctxIdx when both sigGroupLeft and sigGroupTop are 0 is shown by reference numeral 1201 in FIG. However, the method described here is an example.
  • sigGroupLeft is 1 and sigGroupTop is 0 (S1107).
  • the definition of the context index ctxIdx when sigGroupLeft is 1 and sigGroupTop is 0 is indicated by reference numeral 1202 in FIG. However, the method described here is an example, and for example, ctxIdx may be switched based on two or more conditions as indicated by 1302 in FIG.
  • sigGroupLeft 0 and sigGroupTop is 1 (S1111).
  • the definition of the context index ctxIdx when sigGroupLeft is 0 and sigGroupTop is 1 is indicated by reference numeral 1203 in FIG.
  • the context index ctxIdx setting procedure when sigGroupLeft is 0 and sigGroupTop is 1 is a process in which the process in the X direction and the process in the Y direction are switched when sigGroupLeft is 1 and sigGroupTop is 0. .
  • the processing can be easily shared, and the hardware circuit scale and the software code amount can be reduced.
  • the method described here is an example, and for example, ctxIdx may be switched based on two or more conditions as indicated by 1303 in FIG.
  • the context index ctxIdx for decoding significant coefficient information is set to 2 regardless of pos, posX, and posY. (S1115).
  • the definition of the context index ctxIdx when sigGroupLeft is 1 and sigGroupTop is 1 is shown by reference numeral 1204 in FIG. However, the method described here is an example.
  • the context index ctxIdx may be determined based on the processing target difference coefficient position as indicated by reference numeral 1201 in FIG. 12, or two or more conditions for the processing target difference coefficient position may be determined as indicated by reference numeral 1304 in FIG. CtxIdx may be switched based on the above.
  • the significant coefficient information encoding control unit 806 acquires the difference coefficient at the processing target position from the difference coefficient buffer 802. If the value of the difference coefficient is not 0, the significant coefficient information is set to 1. If not, that is, if the value of the difference coefficient is 0, the significant coefficient information is set to 0. Also, the significant coefficient information encoding control unit 806 reads the context corresponding to the determined context index ctxIdx from the context memory 804, and then transmits the significant coefficient information and the context to the arithmetic encoding unit 801. The arithmetic encoding unit 801 encodes significant coefficient information using the context (S1116).
  • the difference coefficient value information encoding control unit 807 determines a difference coefficient to be processed (S1401). It is assumed that the scanning order of the difference coefficients in the sub-block follows the scanning order 202 shown in FIG. If all the difference coefficients of the sub-block have been scanned, the encoding process of the difference coefficient value information is ended, and the process proceeds to the next sub-block determination procedure (S901).
  • the difference coefficient value information encoding control unit 807 determines whether or not the value of the difference coefficient at the processing target difference coefficient position is 0 (S1402). If the value of the difference coefficient at the processing target difference coefficient position is 0, the encoding of the difference coefficient value information at the processing target difference coefficient position is completed, and the process proceeds to step S901.
  • the difference coefficient absolute value information and the difference coefficient code information at the processing target difference coefficient position are calculated (S1403, S1404). Since it is determined that the value of the difference coefficient is not 0 when this procedure is executed, the difference coefficient absolute value information is a value obtained by subtracting 1 from the absolute value of the difference coefficient. When the difference coefficient is positive, the difference coefficient sign information is set to 0, and when the difference coefficient is negative, the difference coefficient sign information is set to 1.
  • the difference coefficient value information encoding control unit 807 reads the context from the context memory 804, and then sends the difference coefficient absolute value information and the context to the arithmetic encoding unit 801.
  • the arithmetic encoding unit 801 encodes the difference coefficient absolute value information using the context (S1405).
  • the difference coefficient value information encoding control unit 807 reads the context from the context memory 804, and then transmits the difference coefficient code information and the context to the arithmetic encoding unit 801.
  • the arithmetic encoding unit 801 encodes the difference coefficient code information using the context (S1406).
  • FIG. 15 is a block diagram of a detailed configuration of the first embodiment of the difference information decoding unit 601 in FIG.
  • the difference information decoding unit 601 of the first embodiment includes an arithmetic decoding unit 1501, a difference coefficient buffer 1502, a decoding control unit 1503, a context memory 1504, and a scanning control unit 1505.
  • the decoding control unit 1503 further includes significant coefficient information.
  • a decoding control unit 1506, a difference coefficient value information decoding control unit 1507, and a significant sub-block information decoding control unit 1508 are provided.
  • the difference coefficient buffer in the difference information encoding unit in FIG. Each configuration of 1502, the context memory 1504, and the scan control unit 1505 has a function corresponding to each configuration of the difference coefficient buffer 802, the context memory 804, and the scan control unit 805 in FIG.
  • Scan control unit 1505 determines a processing target sub-block (S101). If all the sub-blocks have been scanned, the differential coefficient decoding process ends.
  • FIG. 2 shows the sub-block scanning order 202. In this procedure, scanning is started from the top left sub-block of the difference coefficient area, scanning is performed from left to right, and further from top to bottom, and scanning is finished in the bottom right sub-block. . 201 in FIG. 2 represents the scanning order of sub-blocks using arrows. When the scanning order shown in FIG. 2 is followed, the scanning of the sub-blocks spatially located on the left side and the upper side of the processing target sub-block is completed. A sub-block decoding process is performed on the processing target sub-block (S102).
  • the significant sub-block information decoding control unit 1508 refers to the difference coefficient included in the sub-block that is adjacent to the processing target sub-block and has been decoded from the difference coefficient buffer 1502, and determines the context for decoding the significant sub-block information.
  • the determined context is read from the context memory 1504.
  • a decoding instruction is sent together with the context to the arithmetic decoding unit 1501.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant sub-block information (S301).
  • the significant sub-block information decoding control unit 1508 determines the value of significant sub-block information (S302). If the significant sub-block information is 0, the values of all the difference coefficients of the processing target sub-block in the difference coefficient buffer 1502 are set to 0 (S305), and the sub-block difference coefficient value information decoding process is terminated.
  • step S303 When the significant sub-block information is 1, all significant coefficient information of the processing target sub-block is decoded (S303). Details of the decoding procedure of the sub block significant coefficient information will be described later. After decoding of all significant coefficient information of the sub-block, the process proceeds to decoding of the difference coefficient in step S304.
  • Decoding processing of difference coefficient value information of all difference coefficients of the processing target sub-block is performed (S304). Details of the decoding procedure of the sub block difference coefficient value information will be described later. After decoding all the difference coefficient value information of the sub-block, the process proceeds to step S101.
  • the significant coefficient information decoding control unit 1506 acquires significant sub-block information of decoded sub-blocks adjacent to the left side and the upper side of the processing target sub-block as peripheral significant sub-block information.
  • Significant subblock information of the subblock adjacent on the left is sigGroupLeft
  • significant subblock information of the subblock adjacent on the upper side is sigGroupTop (S1601).
  • the significant coefficient information decoding control unit 1506 determines a difference coefficient to be processed (S1602). It is assumed that the scanning order of the difference coefficients in the sub-block follows the scanning order 202 of FIG. 2 in the same manner as the scanning order of the sub-blocks in the difference coefficient area. If all the significant coefficient information of the sub-block has been scanned, the decoding process of the significant coefficient information is completed, and the process proceeds to the differential coefficient value information decoding procedure (S304).
  • the context definition when sigGroupLeft is 0 and sigGroupTop is 0 is shown in the context definition 1201 of FIG.
  • the method described here is an example.
  • ctxIdx can be derived regardless of pos.
  • ctxIdx may be switched based on two or more conditions.
  • a decoding instruction is sent to the arithmetic decoding unit 1501 together with the context.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant coefficient information (S1616).
  • a context definition 1302 in FIG. 13 when sigGroupLeft is 1 and sigGroupTop is 0 is shown. However, the method described here is an example, and for example, the ctxIdx may be switched based on two or more conditions as in the context definition 1302 of FIG.
  • a decoding instruction is sent to the arithmetic decoding unit 1501 together with the context.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant coefficient information (S1616).
  • the method described here is an example, and for example, the ctxIdx may be switched based on two or more conditions as in the context definition 1303 of FIG.
  • a decoding instruction is sent to the arithmetic decoding unit 1501 together with the context.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant coefficient information (S1616).
  • the context index ctxIdx for decoding significant coefficient information is set to 2 regardless of pos (S1615).
  • the context definition when the sigGroupLeft and the sigGroupTop are both 1 is shown in the context definition 1204 of FIG. However, the method described here is an example.
  • the context index ctxIdx may be determined based on the processing target difference coefficient position as indicated by the context definition 1201 in FIG. 12, or two or more of the processing target difference coefficient positions may be determined as indicated by the context definition 1304 in FIG.
  • the ctxIdx may be switched based on the above condition.
  • a decoding instruction is sent to the arithmetic decoding unit 1501 together with the context.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant coefficient information (S1616).
  • the calculation of the context index ctxIdx for significant coefficient information refers to the sum of the number of significant coefficient information of decoded adjacent subblocks and the position in the subblock of the processing target difference coefficient. The reason for adopting such a configuration will be described below.
  • the orthogonal transform coefficients of an image tend to concentrate on low-frequency components, and the significance coefficient information is likely to be 1. Furthermore, since the high frequency component of the orthogonal transform coefficient is not easily affected by visual effects, it is often coarsely quantized. Therefore, the coefficient value of the high frequency component can be 0, and the significant coefficient information of the high frequency component can be 0. High nature. This property is not limited to the entire difference coefficient region, but is the same for each sub-block. The component on the low frequency side of the sub block has significant coefficient information compared to the component on the high frequency side of the same sub block. It can be said that the possibility of becoming 1 becomes high.
  • peripheral significant coefficient subblock information in the high region where the probability that the significant coefficient information is 0 is high, the probability that the peripheral significant subblock information is 0 is high, and in the low region where the probability that the significant coefficient information is 1 is high, the peripheral significant coefficient subblock information is 1 There is a strong tendency for a certain probability to be high, and using peripheral significant coefficient sub-block information as an index of how much significant coefficient information is included in the processing target sub-block leads to an improvement in estimation accuracy of the occurrence probability of significant coefficient information.
  • the significant sub-block information of the processed sub-block and the processing target coefficient position are referred to in calculating the context index.
  • the significant sub-block information of the processed sub-block belongs to the processing target sub-block. Since the difference coefficient is not targeted, there is no dependency in the sub-block for calculating the context index. Since the context index for all significant coefficients can be calculated at the head of the sub-block, it is also possible to calculate the context index in parallel with the decoding process of significant coefficient information. It is possible to reduce a processing delay related to decoding significant coefficient information having a high occurrence frequency in the encoded sequence.
  • significant sub-block information it is also possible to calculate a context by referring to the sum of significant coefficient information that has been processed and belongs to a sub-block adjacent to the processing target sub-block. Compared with a configuration that refers to significant sub-block information, it is possible to consider the frequency of occurrence of significant coefficient information around the processing target sub-block, so that the coding efficiency can be improved.
  • the context index instead of referring to the significant sub-block information, it is also possible to calculate the context index using the absolute value sum of the difference coefficient values that have been processed and belong to the sub-block adjacent to the processing target sub-block.
  • the difference coefficient absolute value of the low-frequency component since the difference coefficient absolute value of the low-frequency component is large, it is possible to improve the encoding efficiency by setting a context in which the occurrence probability of significant coefficient information is high when the peripheral difference coefficient absolute value sum is large.
  • the significant coefficient information decoding control unit 1506 determines a difference coefficient to be processed (S401). Assume that the scanning order of the difference coefficients in the sub-block follows the scanning order 202 shown in FIG. If all the difference coefficients of the subblock have been scanned, the decoding process of the difference coefficient value information is completed, and the process proceeds to the next subblock determination procedure (S101).
  • the significant coefficient information decoding control unit 1506 determines whether the significant coefficient information of the difference coefficient to be processed is 0 (S402). When the significant coefficient information of the difference coefficient to be processed is 0, the decoding of the difference coefficient value information of the difference coefficient to be processed is completed, and the process proceeds to step S401.
  • the difference coefficient absolute value information of the difference coefficient to be processed is decoded (S403).
  • the difference coefficient absolute value information is a value obtained by subtracting 1 from the absolute value of the difference coefficient. Therefore, a value obtained by adding 1 to the difference coefficient absolute value information is set as the absolute value of the difference coefficient.
  • the difference coefficient code information of the difference coefficient to be processed is decoded (S404).
  • the difference coefficient sign information is 0, the sign of the difference coefficient value is positive, and when the difference coefficient sign information is 1, the sign of the difference coefficient value is negative.
  • the orthogonal transform coefficients of an image tend to concentrate on low-frequency components, and the significance coefficient information is likely to be 1. Further, since the high frequency component of the orthogonal transform coefficient is not easily affected by visual effects, it is often coarsely quantized. Therefore, the coefficient value of the high frequency component is 0, and the significant coefficient information of the high frequency component is 0. Probability is high. This property is not limited to the entire difference coefficient region, but is the same for each sub-block. The component on the low frequency side of the sub block has significant coefficient information compared to the component on the high frequency side of the same sub block. It can be said that the possibility of becoming 1 becomes high.
  • the decoded adjacent significant sub-block information also decreases in the high region where the probability that the significant coefficient is 0 is high, and the decoded adjacent significant sub-block information tends to increase in the low region where the probability that the significant coefficient is 1 is high.
  • Using the decoded adjacent significant sub-block information as an index of how much significant coefficient information includes the processing target sub-block leads to improvement in the estimation accuracy of the occurrence probability of significant coefficient information.
  • the probability of being 0 does not change.
  • the context is not based on the vertical position based on the horizontal position of the significant coefficient information to be processed.
  • An appropriate context can be selected by the derived configuration of this embodiment.
  • the context is not based on the horizontal position based on the vertical position of the significant coefficient information to be processed.
  • An appropriate context can be selected by the derived configuration of this embodiment. Therefore, by adopting the configuration of the present embodiment, it is possible to determine a context that appropriately reflects the peripheral processing result and the characteristics of the orthogonal transform coefficient, and to improve the encoding efficiency.
  • a decoded adjacent sub-block a sub-block adjacent to the left side of the decoding target sub-block and a sub-block adjacent to the upper side are referred to.
  • the adjacent sub-blocks are not limited to these.
  • the subblock adjacent to the upper left of the decoding target subblock is close to the decoding target subblock and has high correlation with the decoding target subblock. Therefore, by adding the significant sub-block information sigGroupTopLeft of the sub-block adjacent to the upper left to the determination target for calculating the context index ctxIndex, the accuracy of the occurrence probability of the significant coefficient can be improved.
  • the subblock adjacent to the upper left of the decoding target subblock is farther away from the decoding target subblock than the subblock adjacent to the left side of the decoding target subblock and the subblock adjacent to the upper side.
  • the degree of reflection of the significant coefficient of the sigGroupTopLeft with respect to the context index is preferably lower than the sigGroupTop and sigGloTop.
  • the occurrence probability of significant coefficient information is set low regardless of the value of sigGroupTopLeft.
  • the left significant sub-block information sigGroupLeft, the upper significant sub-block information sigGroupTop, and the processing target coefficient position are referred to, but the left significant sub-block information sigGroupLeft and the upper significant sub-block information sigGroupTop are referred to.
  • a context index for decoding significant coefficient information is calculated from significant sub-block information of a decoded sub-block, but the same procedure is applied to context index calculation of the difference coefficient absolute value.
  • the difference coefficient absolute value has a correlation with the absolute value of the surrounding difference coefficient and the concentration to the low frequency component, so when the marginal significant coefficient sum or the marginal difference coefficient absolute value sum is large, Set a context index indicating that the probability of occurrence of a difference coefficient with a large absolute value is high. If the marginal significant coefficient sum or the marginal difference coefficient absolute value sum is small, it indicates that the probability of occurrence of a difference coefficient with a small absolute value is high.
  • a context for encoding / decoding significant coefficient information is derived based on the encoding / decoding information of adjacent sub-blocks and the position within the sub-block of the significant coefficient information to be encoded / decoded. To do. None of these depend on the encoding / decoding result of the sub-block to which the significant coefficient information to be encoded / decoded belongs. Therefore, the scanning order of the significant coefficient information in the sub-block is not necessarily the same as the scanning order of the significant sub-block information.
  • the scanning order of the significant sub-block information follows FIG. 17 may be the same as HEVC from right to left and from bottom to top as shown in FIG.
  • the image encoding device and image decoding device of the first embodiment described above have the following operational effects (1) to (4).
  • the context index of the processing target difference coefficient can be calculated from the difference coefficient belonging to the decoded sub block adjacent to the sub block to which the processing target difference coefficient belongs.
  • the occurrence probability of significant coefficient information 1 is high, and when all the difference coefficients belonging to the decoded sub-block are 0, the occurrence probability of significant coefficient information 0 is estimated high.
  • a context index is calculated based on the position within the sub-block of the processing target difference coefficient.
  • the difference coefficient in the low band within the sub-block sets a context for estimating the probability that the significant coefficient becomes 1 higher than the difference coefficient in the high band within the sub-block. It is possible to set an appropriate probability model based on the property of the significant coefficient information on the frequency domain, and it is possible to efficiently encode the significant coefficient information.
  • the difference coefficient of the decoded sub-block and the position of the processing target difference coefficient in the sub-block do not depend on the decoding result of the significant coefficient information in the sub-block. Therefore, since it is possible to adopt a configuration in which the calculation of the context index in the sub-block and the decoding of the significant coefficient information can be performed in parallel, it is possible to reduce processing delay related to the decoding process of the significant coefficient information.
  • the difference coefficient has a high ratio of occupying the encoded sequence, and by reducing the processing delay of the significant coefficient information having a large number of processes, a decoding apparatus suitable for real-time processing can be realized. Similarly, the encoding apparatus can reduce the processing delay of significant coefficient information encoding.
  • the context index is calculated based on the combination of the significant sub-block information on the left side and the significant sub-block information on the upper side.
  • a significant coefficient is present above the processing target sub-block, the probability that the significant coefficient information of the low-frequency component in the vertical direction of the processing target sub-block is 1 is estimated to be high, and the significant coefficient information of the high-frequency component in the horizontal direction is It is possible to estimate the probability of being 1 low.
  • the probability that the significant coefficient information of the low-frequency component in the horizontal direction of the processing target sub-block is 1 is highly estimated, and the significant coefficient of the high-frequency component in the vertical direction is estimated.
  • the probability model of the significant coefficient information can be appropriately set in the configuration in which the sub-block is scanned from left to right and from top to bottom, the significant coefficient information can be efficiently encoded. .
  • the difference information encoding unit 507 of the second embodiment is similar to the difference information encoding unit 507 of the first embodiment illustrated in FIG. 8, and includes an arithmetic encoding unit 801, a difference coefficient buffer 802, and an encoding control unit 803. , A context memory 804, and a scanning control unit 805, and an encoding control unit 803 further includes a significant coefficient information encoding control unit 806, a difference coefficient value information encoding control unit 807, and a significant sub-block information encoding control unit 808. Is provided.
  • the difference information encoding procedure in this embodiment is the same as that of the first embodiment except for the significant coefficient information encoding processing procedure (S1004 in FIG. 10), and therefore, referring to the flowchart in FIG. The encoding process procedure of significant coefficient information in the present embodiment will be described.
  • the significant coefficient information encoding control unit 806 calculates a peripheral significant index sigCoeffIndex from significant subblock information of decoded subblocks adjacent to the left side and the upper side of the processing target subblock.
  • Significant sub-block information of the sub-block adjacent on the left side is sigGroupLeft
  • significant sub-block information of the sub-block adjacent on the upper side is sigGroupTop
  • peripheral significance index sigCoeffIndex sigGroupLeft + 2 ⁇ sigGroupTop (S1801).
  • the significant coefficient information encoding control unit 806 determines a difference coefficient to be processed (S1802). It is assumed that the scanning order of the difference coefficients in the sub-block follows the scanning order 202 of FIG. 2 in the same manner as the scanning order of the sub-blocks in the difference coefficient area. If all the significant coefficients of the sub-block have been scanned, the encoding process of the significant coefficients is terminated, and the process proceeds to the difference coefficient value encoding procedure (S1005).
  • the significant coefficient information encoding control unit 806 evaluates the peripheral significant index sigCoeffIndex (S1803).
  • the processing target difference coefficient position in the processing target sub-block is determined (S1804).
  • the marginal significance index sigCoeffIndex being 0 represents that sigGroupLeft is 0 and sigGroupTop is 0.
  • the horizontal difference coefficient position is posX
  • the vertical difference coefficient position is posY
  • the definition of the context index ctxIdx when the marginal significance index sigCoeffIndex is 0 is shown in the context definition 1201 of FIG.
  • the marginal significance index sigCoeffIndex is 1 (S1807).
  • the marginal significance index sigCoeffIndex is 1 indicates that sigGroupLeft is 1 and sigGroupTop is 0.
  • the definition of the context index ctxIdx when the marginal significance index sigCoeffIndex is 1 is shown in the context definition 1202 of FIG.
  • the marginal significance index sigCoeffIndex is 2 (S1811).
  • the context index ctxIdx setting procedure when the peripheral significant index sigCoeffIndex is 2 is a process in which the X-direction processing and the Y-direction processing when the peripheral significant index sigCoeffIndex is 1 are interchanged. For this reason, the processing can be easily shared, and the hardware circuit scale and the software code amount can be reduced.
  • the context index ctxIdx for decoding significant coefficient information is set to 2 regardless of pos (S1815).
  • the definition of the context index ctxIdx when the marginal significance index sigCoeffIndex is 3 is shown in the context definition 1204 of FIG.
  • the significant coefficient information encoding control unit 806 acquires the difference coefficient at the processing target position from the difference coefficient buffer 802. If the difference coefficient value is not 0, the significant coefficient information is set to 1. If not (when the difference coefficient value is 0), the significant coefficient information is set to 0. Also, the significant coefficient information encoding control unit 806 reads the context corresponding to the determined context index ctxIdx from the context memory 804, and then transmits the significant coefficient information and the context to the arithmetic encoding unit 801. The arithmetic encoding unit 801 encodes significant coefficient information using the context (S1816).
  • the difference information decoding unit 601 of the second example is similar to the difference information decoding unit 601 of the first example illustrated in FIG. 15, and includes an arithmetic decoding unit 1501, a difference coefficient buffer 1502, a decoding control unit 1503, and a context memory 1504. And the scanning control unit 1505, and the decoding control unit 1503 further includes a significant coefficient information decoding control unit 1506, a difference coefficient value information decoding control unit 1507, and a significant sub-block information decoding control unit 1508.
  • the difference coefficient buffer in the difference information encoding unit in FIG. Each configuration of 1502, the context memory 1504, and the scan control unit 1505 has a function corresponding to each configuration of the difference coefficient buffer 802, the context memory 804, and the scan control unit 805 in FIG.
  • the difference information decoding procedure in this embodiment is the same as that of the first embodiment except for the significant coefficient information encoding processing procedure (S303 in FIG. 3). A procedure for decoding significant coefficient information in the present embodiment will be described.
  • the significant coefficient information decoding control unit 1506 calculates a peripheral significant index sigCoeffIndex from significant subblock information of decoded subblocks adjacent to the left side and the upper side of the processing target subblock.
  • Significant subblock information of the subblock adjacent on the left side is sigGroupLeft
  • significant subblock information of the subblock adjacent on the upper side is sigGroupTop
  • a peripheral significant index sigCoeffIndex sigGroupLeft + 2 ⁇ sigGroupTop (S1901).
  • the significant coefficient information decoding control unit 1506 determines a difference coefficient to be processed (S1902). It is assumed that the scanning order of the difference coefficients in the sub-block follows the rules shown in FIG. If all the significant coefficients of the sub-block have been scanned, the significant coefficient decoding process is completed, and the process proceeds to the differential coefficient value decoding procedure (S304).
  • the significant coefficient information decoding control unit 1506 evaluates the peripheral significant index sigCoeffIndex (S1903).
  • the processing target difference coefficient position in the processing target sub-block is determined (S1904).
  • the marginal significance index sigCoeffIndex being 0 indicates that both sigGroupLeft and sigGroupTop are 0.
  • the horizontal difference coefficient position is posX
  • the vertical difference coefficient position is posY
  • the context definition when the marginal significance index sigCoeffIndex is 0 is shown in the context definition 1201 of FIG.
  • a decoding instruction is sent to the arithmetic decoding unit 1501 together with the context.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant coefficient information (S1916).
  • the marginal significance index sigCoeffIndex is 1 (S1907).
  • the context definition when the marginal significance index sigCoeffIndex is 1 is shown in the context definition 1202 of FIG.
  • a decoding instruction is sent to the arithmetic decoding unit 1501 together with the context.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant coefficient information (S1916).
  • the marginal significance index sigCoeffIndex is 2 (S1911).
  • a decoding instruction is sent to the arithmetic decoding unit 1501 together with the context.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant coefficient information (S1916).
  • the context index ctxIdx for decoding significant coefficient information is set to 2 regardless of pos (S1915).
  • the context definition when the marginal significance index sigCoeffIndex is 3 is shown in the context definition 1204 of FIG.
  • a decoding instruction is sent to the arithmetic decoding unit 1501 together with the context.
  • the arithmetic decoding unit 1501 performs decoding processing of the encoded sequence using the context, and decodes significant coefficient information (S1916).
  • the second embodiment is different from the first embodiment in that after calculating the marginal significant index sigCoeffIndex based on sigGroupLeft and sigGroupTop, the context index ctxIdx is calculated by referring to the marginal significant index sigCoeffIndex. Therefore, it is possible to reduce the number of times of determination processing related to the peripheral significance index sigCoeffIndex context index.
  • the image encoding device and image decoding device of the second embodiment described above have the following operation effect (5) in addition to the operation effects (1) to (4) of the first embodiment described above. .
  • the context is determined based on the peripheral significant index sigCoeffIndex. Calculate the index. Compared to the method of calculating the context index based on the significant sub-block information sigGroupLeft of the sub-block adjacent on the left side and the significant sub-block information sigGroupTop of the sub-block adjacent on the upper side, the number of determination processes related to the context index calculation is reduced. be able to.
  • the encoded stream of the image output from the image encoding device according to the embodiment described above has a specific data format so that it can be decoded according to the encoding method used in the embodiment.
  • the image decoding device corresponding to the image encoding device can decode the encoded stream of this specific data format.
  • an image transmission apparatus that converts the encoded stream output from the image encoding apparatus into encoded data in a data format suitable for the transmission form of the communication path and transmits the encoded data to the network, and receives the encoded data from the network
  • an image receiving apparatus that restores the encoded stream and supplies the encoded stream to the image decoding apparatus.
  • An image transmission device includes a memory that buffers an encoded stream output from the image encoding device, a packet processing unit that packetizes the encoded stream, and a transmission unit that transmits encoded data packetized via a network.
  • the image receiving device includes a receiving unit that receives encoded data packetized via a network, a memory that buffers received encoded data, a packet process on the encoded data, and generates an encoded stream. And a packet processing unit provided to the image decoding device.
  • the above processing relating to encoding and decoding can be realized as a transmission, storage, and reception device using hardware, and is stored in a ROM (Read Only Memory), a flash memory, or the like. It can also be realized by firmware or software such as a computer.
  • the firmware program and software program can be recorded on a computer-readable recording medium, provided from a server through a wired or wireless network, or provided as a data broadcast of terrestrial or satellite digital broadcasting Is also possible.
  • the present invention can be used for transcoding technology of video encoded data.

Landscapes

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

Abstract

符号化対象の画像と予測画像との差分信号の変換係数である差分係数を複数のサブブロックに分割し、サブブロック単位で差分係数を符号化する画像符号化装置において、有意係数情報符号化制御部(806)および算出符号化部(801)は、符号化対象のサブブロック内の差分係数毎に、有意係数情報を符号化する。差分係数値情報符号化制御部(807)および算出符号化部(801)は、符号化対象のサブブロック内の各差分係数について、有意係数情報が有意である場合に差分係数値を符号化する。有意係数情報符号化制御部(806)は、符号化対象のサブブロックに水平、垂直方向に隣接する符号化済みのサブブロック内の差分係数の有意性を示す情報に基づいて、符号化対象のサブブロック内の有意係数情報を符号化するためのコンテキストを決定する。

Description

画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
 本発明は、画像符号化技術に関し、特に差分信号のエントロピー符号化技術に関する。
 動画像符号化の国際標準であるHEVCでは、エントロピー符号化方式としてCABACと呼ばれるコンテキスト適応型の算術符号化が採用されている。CABACは、符号化すべきビットの発生確率を表現するための変数であるコンテキストを複数管理しており、周辺の符号化・復号結果に基づき最適なコンテキストを選択することにより符号化効率の向上を実現している。
特開2013-223029号公報
 CABACは、周辺の符号化・復号結果に基づいてコンテキストを導出するものであるため、符号化・復号対象の情報に用いるコンテキストは、参照する情報の符号化・復号を完了するまで確定させることができない。コンテキストの導出と符号化・復号処理に依存関係が生じることから、それらの並列処理が困難であり、処理の高速化を妨げる要因となる。
 特許文献1には、差分情報を構成する要素のうち、有意係数情報について、符号化・復号済のサブブロックに属する情報に基づいて、符号化・復号するコンテキストを導出する手段が開示されている。開示された技術によれば、符号化・復号対象の有意係数情報が属するサブブロックの符号化・復号結果を参照することなく、符号化・復号済のサブブロックに属する情報の符号化・復号結果を参照して、有意係数情報を符号化・復号するためのコンテキストを導出することができる。従って、符号化・復号対象となるサブブロックの符号化・復号処理を開始する時点において、符号化・復号対象となるサブブロックに属するすべての有意係数情報を符号化・復号するためのコンテキストを依存関係なく導出することが可能となる。
 特許文献1において、サブブロック、及びサブブロック内の有意係数情報の走査順は、右から左、及び下から上方向である。この走査順はHEVC規格に従うものである。しかしながらサブブロックの走査順は、符号化効率や複雑性、提供する機能といった要因を総合的に考慮した上で適切に決定すべきである。特許文献1の構成に対して左から右、上から下方向へサブブロック、及びサブブロック内の有意係数情報を走査するという構成を適用した場合、以下の課題が生じる。
 サブブロックの走査順を左から右、上から下とした上で引用文献1に開示された構成に従うと、符号化・復号対象となるサブブロックの左に隣接するサブブロックの有意サブブロック情報が1であり、符号化・復号対象となるサブブロックの上に隣接するサブブロックの有意サブブロック情報が0である場合、符号化・復号対象サブブロックの垂直方向の位置に従って有意係数情報を符号化・復号するためのコンテキストを決定する。
 しかしながら、符号化・復号対象となるサブブロックの左に隣接するサブブロックの有意サブブロック情報が1であり、符号化・復号対象となるサブブロックの上に隣接するサブブロックの有意サブブロック情報が0である場合、左隣のサブブロックに0でない差分係数が存在することから、符号化・復号対象サブブロックの水平方向の低域の有意係数情報が1となる確率が高くなる一方、水平方向の高域の有意係数情報が0となる確率が高くなると推定される。引用文献1の構成では有意係数情報の水平方向の位置に従ってコンテキストを切り替えることができない。
 符号化・復号対象となるサブブロックの左に隣接するサブブロックの有意サブブロック情報が0であり、符号化・復号対象となるサブブロックの上に隣接するサブブロックの有意サブブロック情報が1である場合も同様であり、従って符号化効率が低下するという課題がある。
 本発明はこうした状況に鑑みてなされたものであり、その目的は、差分係数符号化/復号において、左から右、上から下へサブブロックを走査する構成においても、並列処理可能で演算量の少ないコンテキストインデックス算出方法を実現し、回路構成が簡単で、実時間処理に適した画像符号化技術を提供することにある。また、別の目的は、相関上適切な周辺差分係数を参照したコンテキストインデックスの計算を実現することにより、符号化効率の高い画像符号化技術を提供することにある。
 上記課題を解決するために、本発明のある態様の画像符号化装置は、符号化対象となる画像と予測対象となる画像との差分情報を、複数のサブブロックに分割して、分割した前記サブブロックを左から右、及び上から下の順序に従い符号化する画像符号化装置であって、前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を符号化する有意サブブロック情報符号化部と、差分係数の値がゼロであるか否かを示す有意係数情報を符号化する有意係数情報符号化部と、差分係数の値を符号化する差分係数値情報符号化部と、符号化対象となるサブブロックの左に隣接する符号化済みのサブブロックの有意サブブロック情報と上に隣接する符号化済みのサブブロックの有意サブブロック情報と、符号化対象となる差分係数の前記符号化対象となるサブブロックにおける位置に基づいて、前記符号化対象となる有意係数情報を符号化するためのコンテキストを導出するコンテキスト導出部とを備え、前記コンテキスト導出部は、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が0である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける水平方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が1である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける垂直方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出する、ことを特徴とする。
 本発明の別の態様は、画像符号化方法である。この方法は、符号化対象となる画像と予測対象となる画像との差分情報を、複数のサブブロックに分割して、分割した前記サブブロックを左から右、及び上から下の順序に従い符号化する画像符号化方法であって、前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を符号化する有意サブブロック情報符号化ステップと、差分係数の値がゼロであるか否かを示す有意係数情報を符号化する有意係数情報符号化ステップと、差分係数の値を符号化する差分係数値情報符号化ステップと、符号化対象となるサブブロックの左に隣接する符号化済みのサブブロックの有意サブブロック情報と上に隣接する符号化済みのサブブロックの有意サブブロック情報と、符号化対象となる差分係数の前記符号化対象となるサブブロックにおける位置に基づいて、前記符号化対象となる有意係数情報を符号化するためのコンテキストを導出するコンテキスト導出ステップとを備え、前記コンテキスト導出ステップは、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が0である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける水平方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が1である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける垂直方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出する。
 本発明の別の態様は、画像符号化方法である。この方法は、符号化対象の画像と予測画像との差分信号の変換係数である差分係数を複数のサブブロックに分割し、サブブロック単位で前記差分係数を符号化する画像符号化方法であって、符号化対象のサブブロック内の差分係数毎に、差分係数値が0でないことであり有意であることを示す有意係数情報を符号化する有意係数情報符号化ステップと、前記符号化対象のサブブロック内の各画素について、前記有意係数情報が有意である場合に差分係数値を符号化する差分係数値情報符号化ステップとを備える。前記有意係数情報符号化ステップは、前記符号化対象のサブブロックに水平方向に隣接する符号化済みのサブブロック内の差分係数の有意性を示す情報と、前記符号化対象のサブブロックに垂直方向に隣接する符号化済みのサブブロック内の差分係数の有意性を示す情報とにもとづいて、前記符号化対象のサブブロック内の前記有意係数情報を符号化するためのコンテキストを決定する。
 本発明の別の態様は、画像復号装置である。この復号装置は、復号対象となる画像と予測対象となる画像との差分情報が、複数のサブブロックに分割され、分割された前記サブブロックを左から右、及び上から下の順序に従い符号化された符号化ストリームを復号する画像復号装置であって、前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を復号する有意サブブロック情報復号部と、差分係数の値がゼロであるか否かを示す有意係数情報を復号する有意係数情報復号部と、差分係数の値を復号する差分係数値情報復号部と、復号対象となるサブブロックの左に隣接する復号済みのサブブロックの有意サブブロック情報と上に隣接する復号済みのサブブロックの有意サブブロック情報と、復号対象となる差分係数の前記復号対象となるサブブロックにおける位置に基づいて、前記復号対象となる有意係数情報を復号するためのコンテキストを導出するコンテキスト導出部とを備え、前記コンテキスト導出部は、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が0である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける水平方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が1である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける垂直方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出する。
 本発明の別の態様は、画像復号方法である。この復号方法は、復号対象となる画像と予測対象となる画像との差分情報が、複数のサブブロックに分割され、分割された前記サブブロックを左から右、及び上から下の順序に従い符号化された符号化ストリームを復号する画像復号方法であって、前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を復号する有意サブブロック情報復号ステップと、差分係数の値がゼロであるか否かを示す有意係数情報を復号する有意係数情報復号ステップと、差分係数の値を復号する差分係数値情報復号ステップと、復号対象となるサブブロックの左に隣接する復号済みのサブブロックの有意サブブロック情報と上に隣接する復号済みのサブブロックの有意サブブロック情報と、復号対象となる差分係数の前記復号対象となるサブブロックにおける位置に基づいて、前記復号対象となる有意係数情報を復号するためのコンテキストを導出するコンテキスト導出ステップとを備え、前記コンテキスト導出ステップは、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が0である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける水平方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が1である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける垂直方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出する。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、回路構成が簡単で、実時間処理に適した差分信号の符号化を実現することができる。
差分係数の復号手順を説明するためのフローチャートである。 サブブロック、差分係数の走査順を説明するための図である。 サブブロック差分係数の復号手順を説明するためのフローチャートである。 差分係数値情報の復号手順を説明するためのフローチャートである。 実施の形態に係る差分係数の符号化を実行するための画像符号化装置の構成を示すブロック図である。 実施の形態に係る差分係数の復号を実行するための画像復号装置の構成を示すブロック図である。 符号化ブロックサイズを説明するための図である。 図5の画像符号化装置の第1の実施例の詳細な構成を示すブロック図である。 第1の実施例における差分係数の符号化手順を説明するためのフローチャートである。 第1の実施例におけるサブブロック差分係数の符号化手順を説明するためのフローチャートである。 第1の実施例における有意係数情報を符号化する手順を説明するためのフローチャートである。 第1の実施例における有意係数のコンテキスト定義を説明するための図である。 第1の実施例における有意係数のコンテキスト定義の異なる例を説明するための図である。 第1の実施例における差分係数値情報を符号化する手順を説明するためのフローチャートである。 図6の画像復号装置の第1の実施例の詳細な構成を示すブロック図である。 第1の実施例における有意係数情報を復号する手順を説明するためのフローチャートである。 第1の実施例における有意係数の走査順の異なる例を説明するための図である。 第2の実施例における有意係数情報を符号化する手順を説明するためのフローチャートである。 第2の実施例における有意係数情報を復号する手順を説明するためのフローチャートである。
 まず、本発明の実施の形態の前提となる技術について説明する。
 CABACは、各符号化構文に対し複数のコンテキストを対応付け、構文要素の相関性に基づいたコンテキストを選択することにより、符号割り当てを最適化する。
 図1のフローチャートを用いて16×16サイズで符号化される差分信号の量子化直交変換係数のCABACによる復号手順を説明する。以下量子化直交変換係数を差分係数と呼ぶこととする。本手順においては、処理対象の16×16差分係数を4×4サイズのサブブロック401乃至416に分割して、サブブロック単位での走査を優先的に行う。ただし、処理対象の差分係数のサイズ、及びサブブロックのサイズは、上記のサイズに限定するものでなく、例えば差分係数のサイズを64×64、32×32のように大きくとってもよいし、8×8のように小さくとってもよい。
 以下の説明において、各差分係数は有意係数情報と差分係数値情報により符号化・復号されるものとする。有意係数情報は差分係数が0であるか否かを示すための1ビットのフラグであり、有意係数情報が1である場合は対象の差分係数が0であることを示す。有意係数情報が1である差分係数においては、具体的な差分係数の値が差分係数値情報として符号化・復号される。さらに差分係数値情報は、差分係数絶対値情報と差分係数符号情報により構成される。ただし、有意係数情報が1である場合は差分係数が0でないことが確定しているので、差分係数絶対値情報は、符号化・復号対象の差分係数の絶対値から1を減じた値とする。
 後述する走査順に従い、処理対象のサブブロックを決定する(S101)。すべてのサブブロックを走査し終えていれば、差分係数の復号処理を終了する。図2にサブブロックの走査順202を示す。本手順においては、差分係数領域の最も左上のサブブロックから走査を開始し、左から右へ、及び上から下へ、という規則に従った走査を行い、最も右下のサブブロックで走査を終える。符号201は、走査順202を、矢印を用いて表現した図である。走査順202に従う場合、すべての処理対象サブブロックにおいて、空間的に左側および上側に位置するサブブロックの処理は完了した状態となる。左から右へ、及び上から下へという規則に従う走査順については、上記の例に限定されるものでなく、例えば図2で示す走査順204も考えられる。符号203は、走査順204を、矢印を用いて表現した図である。この場合においても、すべての処理対象サブブロックにおいて、空間的に左側および上側に位置するサブブロックの走査は完了した状態は維持される。
 図1のフローチャートに戻り、処理対象サブブロックのすべての差分係数の復号処理を行う(S102)。サブブロック差分係数の復号が完了後、ステップS101に移る。
 サブブロック差分係数の復号処理の詳細を図3のフローチャートを用いて説明する。
 有意サブブロック情報を復号する(S301)。有意サブブロック情報は、処理対象のサブブロックに0でない差分係数が存在することを示すための1ビットのフラグである。有意サブブロック情報が1であることは、処理対象サブブロックに少なくとも1つの0でない差分係数が存在することを示す。有意サブブロック情報が0であることは、処理対象サブブロックのすべての差分係数の値が0であることを示す。
 有意サブブロック情報の値を判定する(S302)。有意サブブロック情報が0であるときは、処理対象サブブロックのすべての差分係数の値を0と設定し(S305)、サブブロック差分係数の復号処理を終了する。
 有意サブブロック情報が1であるときは、処理対象サブブロックのすべての有意係数情報の復号処理を行う(S303)。有意係数情報は、処理対象位置の差分係数の値が0でないことを示すための1ビットのフラグである。有意係数情報が1であることは、処理対象位置の差分係数の値が0でないことを示し、有意係数情報が0であることは、処理対象位置の差分係数の値が0であることを示す。有意係数情報の走査順は、差分係数領域におけるサブブロックの走査順と同様図2で示す走査順202に従うものとする。また、有意係数情報の復号に先立って、復号結果を参照する所定の処理に基づきコンテキストを導出する。サブブロックのすべての有意係数情報の復号が終了後、ステップS304の差分係数値情報の復号に移る。
 差分係数値情報の復号処理を行う(S304)。差分係数値情報復号処理の詳細については後述する。差分係数値情報の復号処理を完了後、ステップS101へ移り、次のサブブロックの走査を行う。
 [差分係数値情報復号処理手順]
 図3のフローチャートのステップS304のサブブロックの差分係数値情報の復号手順を図4のフローチャートを用いて説明する。
 所定の走査順に従い処理対象の差分係数を決定する(S401)。サブブロック内の差分係数の走査順は、有意係数情報の走査順と同様、図2で示す走査順202に従うものとする。サブブロックのすべての差分係数を走査し終えていれば差分係数値情報の復号処理を完了し、次のサブブロックの決定手順(S101)へ移る。
 処理対象の差分係数の有意係数情報が0であるかどうかを判定する(S402)。処理対象の差分係数の有意係数情報が0である場合は、処理対象差分係数位置の差分係数値情報の復号を完了し、ステップS401へ移る。
 処理対象の差分係数の有意係数情報が1である場合は、処理対象差分係数の差分係数絶対値情報を復号する(S403)。本手順を実行する場合は、差分係数の値が0でないことが確定しており、差分係数絶対値情報は、差分係数の絶対値から1を減じた値が符号化される。よって差分係数の絶対値としては差分係数絶対値情報に1を加えた値を設定する。
 処理対象の差分係数の差分係数符号情報を復号する(S404)。差分係数符号情報が0である場合は差分係数の値の符号を正とし、差分係数符号情報が1である場合は差分係数の値の符号を負とする。
 以下の説明において、「処理対象ブロック」とは、画像符号化装置においては、符号化対象となるブロックを指し、画像復号装置においては、復号対象となるブロックを指すこととする。同様に「既処理ブロック」とは、画像符号化装置においては、符号化済みのブロックであり、画像復号装置においては、復号済みのブロックである。以下、断りのない限り、この意味で用いる。
 [符号化装置]
 本発明を実施する好適な画像符号化装置について図面を参照して説明する。図5は実施の形態に係る画像符号化装置の構成を示すブロック図である。実施の形態の画像符号化装置は、減算部501と、直交変換・量子化部502と、逆量子化・逆変換部503と、加算部504と、復号画像メモリ505と、予測部506と、差分情報符号化部507と、予測情報符号化部508と、モード判定部509とを備える。
 モード判定部509は、すべての予測候補の符号化を試み、画像のブロック毎に最適な予測情報を決定する。予測情報としては、分割ブロックサイズ、画面間予測/画面内予測を示す予測モードを含み、さらに予測モードが画面間予測である場合は、動きベクトル、参照ピクチャインデックス等の動き情報を、予測モードが画面内予測である場合は画面内予測モードを含む。決定した予測情報を予測部506と、予測情報符号化部508に与える。
 予測情報符号化部508は、入力された予測情報を可変長符号化して予測情報の符号化系列を出力する。
 予測部506は、入力された予測情報と、復号画像メモリ505に記憶した既復号画像を用いて予測画像を生成し、生成した予測画像を減算部501へ与える。
 減算部501は、符号化対象の原画像から予測画像を減ずることにより差分画像を生成し、生成した差分信号を直交変換・量子化部502に与える。
 直交変換・量子化部502は、差分画像に対し直交変換・量子化をして差分係数を生成し、生成した差分係数を逆量子化・逆変換部503と差分情報符号化部507に与える。
 差分情報符号化部507は、差分係数をエントロピー符号化して差分情報の符号化系列を出力する。
 逆量子化・逆変換部503は、直交変換・量子化部502から受け取った差分係数に対し逆量子化・逆直交変換をして復号差分信号を生成し、生成した復号差分信号を加算部504に与える。
 加算部504は、予測画像と復号差分信号を加算して復号画像を生成し、生成した復号画像を復号画像メモリ505に格納する。
 [復号装置]
 本発明を実施する好適な画像復号装置について図面を参照して説明する。図6は実施の形態に係る画像復号装置の構成を示すブロック図である。実施の形態の画像復号装置は、差分情報復号部601と、逆量子化・逆変換部602と、予測情報復号部603と、加算部604と、復号画像メモリ605と、予測部606とを備える。
 図6の画像復号装置の復号処理は、図5の画像符号化装置の内部に設けられている復号処理に対応するものであるから、図6の逆量子化・逆変換部602、加算部604、復号画像メモリ605、および予測部606の各構成は、図5の画像符号化装置の逆量子化・逆変換部503、加算部504、復号画像メモリ505、および予測部506の各構成とそれぞれ対応する機能を有する。
 予測情報復号部603は、入力された予測情報符号化系列をエントロピー復号して予測情報を生成し、生成した予測情報を予測部606に与える。
 予測部606は、入力された予測情報と、復号画像メモリ605に記憶した既復号画像を用いて予測画像を生成し、生成した予測画像を加算部604へ与える。
 差分情報復号部601は、差分情報をエントロピー復号して差分情報を生成する。生成した差分情報を逆量子化・逆変換部602に与える。
 逆量子化・逆変換部602は、差分情報復号部601から受け取った差分情報に対し逆量子化・逆直交変換をして復号差分信号を生成し、生成した復号差分信号を加算部604に与える。
 加算部604は、予測画像と復号差分信号を加算して復号画像を生成し、生成した復号画像を復号画像メモリ605に格納し、出力する。
 本発明の実施の形態に係る差分係数符号化及び復号処理は、図5の画像符号化装置の差分情報符号化部507及び図6の画像復号装置の差分情報復号部601において実施される。以下、実施の形態に係る差分情報符号化及び復号処理の詳細を説明する。
 [符号化ブロック]
 実施の形態では、図7で示されるように、画面を矩形ブロックにて階層的に分割するとともに、各ブロックに対し所定の処理順による逐次処理を行う。分割する各ブロックを符号化ブロックとよぶ。図7のブロック717は、実施の形態において分割の最大単位であり、これを最大符号化ブロックとよぶ。図7のブロック716は、実施の形態において分割の最小単位であり、これを最小符号化ブロックとよぶ。以下最小符号化ブロックを4×4画素、最大符号化ブロックを16×16画素として説明を行う。
 [予測ブロック]
 符号化ブロックのうち、イントラ予測を行う単位を予測ブロックと呼ぶ。予測ブロックは最小符号化ブロック以上、最大符号化ブロック以下のいずれかの大きさを持つ。図7のブロック701は、処理対象ブロックであり、所定の処理順によりブロック701に先行するブロック702乃至ブロック711は既処理ブロックである。これらのブロックは予測ブロックが確定しており、ブロック702、703、および704が16×16ブロック、ブロック705、710、711、および701が8×8ブロック、ブロック706、707、708、709が4×4ブロックである。ブロック712、713、714、715は未処理ブロックであり、符号化ブロックサイズが確定していない。符号化手順においては最適な予測ブロックサイズを決定し、予測ブロックサイズを符号化する。復号手順においてはビットストリームより予測ブロックサイズを取得する。以下、予測ブロックを処理単位として説明を行う。
 [差分係数の処理単位]
 量子化・直交変換を行う単位は、予測ブロックの単位と同一であるとするが、符号化・復号処理においては、差分係数領域を複数のサブブロックに分割して走査するものとする。サブブロックの大きさは4×4サイズとする。ただし、量子化・直交変換を行う単位を予測ブロックの単位と独立に決定しても良い。
 (第1の実施例)
 [符号化手順]
 本発明の実施の形態に係る差分情報の符号化方法の第1の実施例を説明する。図8は図5の差分情報符号化部507の第1の実施例の詳細な構成のブロック図である。第1の実施例の差分情報符号化部507は、算術符号化部801、差分係数バッファ802、符号化制御部803、コンテキストメモリ804、及び走査制御部805を備え、さらに符号化制御部803は、有意係数情報符号化制御部806、差分係数値情報符号化制御部807、及び有意サブブロック情報符号化制御部808を備える。
 以下、図9、図10、図11、図14のフローチャート、図12、図13のコンテキスト定義も参照しながら、差分係数の符号化手順を説明する。
 走査制御部805は、処理対象サブブロックを決定する(S901)。すべてのサブブロックを走査し終えていれば、差分係数の復号処理を終了する。サブブロックの走査順は図2の走査順202に従うものとする。本手順においては、差分係数領域の最も左上のサブブロックから走査を開始し、左から右へ、さらに上から下へ、という規則に従った走査を行い、最も右下のサブブロックで走査を終える。上述した通りコンテキストは符号化過程による更新が行われる。図2の走査順202に従う場合、処理対象サブブロックに対し空間的に左側および上側に位置するサブブロックの走査は完了した状態となる。処理対象サブブロックに対し、サブブロックの符号化処理を行う(S902)。
 [サブブロック符号化手順(S902)]
 有意サブブロック情報符号化制御部808は、差分係数バッファ802から処理対象サブブロックを取得する。サブブロックのすべての差分係数を走査し、すべての差分係数の値が0であった場合は、有意サブブロック情報を0と設定する。そうでない場合(値が0でない差分係数が少なくとも一つ以上存在する場合)は、有意サブブロック情報を1と設定する(S1001)。
 有意サブブロック情報符号化制御部808は、差分係数バッファ802から処理対象サブブロックに隣接し、かつ復号済みであるサブブロックに含まれる差分係数を参照し、有意サブブロック情報を符号化するためのコンテキストを指し示す変数であるコンテキストインデックスctxIdxを決定する。コンテキストインデックスctxIdxに対応するコンテキストをコンテキストメモリ804から読み出す。算術符号化部801に対し、有意サブブロック情報とコンテキストを送る。算術符号化部801は、コンテキストを用いて有意サブブロック情報の符号化を行う(S1002)。
 有意サブブロック情報符号化制御部808は、有意サブブロック情報の値を判定する(S1003)。有意サブブロック情報が0であるときは、サブブロック差分係数符号化処理を終了し、ステップS901へ移る。
 有意サブブロック情報が1であるときは、処理対象サブブロックのすべての有意係数情報の符号化処理を行う(S1004)。有意係数情報の符号化手順の詳細については後述する。サブブロックのすべての有意係数情報の符号化が終了後、ステップS1005の差分係数値情報の符号化へ移る。
 差分係数値情報符号化制御部807は、処理対象サブブロックのすべての差分係数値情報の符号化処理を行う(S1005)。サブブロックの差分係数値情報の符号化手順の詳細については後述する。サブブロックのすべての差分係数値情報の符号化が終了後、ステップS901へ移る。
 [有意係数情報符号化処理手順(S1004)]
 有意係数情報符号化制御部806は、周辺有意サブブロック情報として処理対象サブブロックの左側、及び上側に隣接する復号済みサブブロックの有意サブブロック情報を取得する。左側に隣接するサブブロックの有意サブブロック情報をsigGroupLeft、下側に隣接するサブブロックの有意サブブロック情報をsigGroupTopとする(S1101)。
 有意係数情報符号化制御部806は、処理対象の差分係数を決定する(S1102)。サブブロック内の差分係数の走査順は、差分係数領域におけるサブブロックの走査順と同様図2で示す走査順202に従う。サブブロックのすべての有意係数情報を走査し終えていれば有意係数情報の符号化処理を終了し、差分係数値情報の符号化手順(S1005)へ移る。
 有意係数情報符号化制御部806は、周辺有意サブブロック情報sigGroupLeft、およびsigGroupTopを評価する(S1103)。
 sigGroupLeft、およびsigGroupTopがともに0である場合は、処理対象サブブロック内の処理対象差分係数位置を判定する(S1104)。水平方向差分係数位置をposX、垂直方向差分係数位置をposYとし、処理対象差分係数位置をpos=posX+posYとする。pos<=2であれば、有意係数情報を符号化するためのコンテキストインデックスctxIdxを1と設定し(S1105)、そうでなければ(pos>2)、コンテキストインデックスctxIdxを0と設定する(S1106)。sigGroupLeft、およびsigGroupTopがともに0である場合の、コンテキストインデックスctxIdxの定義を図12の符号1201に示す。ただしここで説明した方法は一例であり、例えば図13の符号1301で示すように、posによらずctxIdxを導出することも可能である。また、図13の符号1304は、pos<=4、pos<=5の条件でctxIdxを導出する例を示す。図13の1304のように2つ以上の条件に基づきctxIdxを切り替えるように構成してもよい。
 sigGroupLeftが1、かつsigGroupTopが0であるかどうかを判定する(S1107)。sigGroupLeftが1、かつsigGroupTopが0である場合は、処理対象サブブロック内の水平方向差分係数位置を判定する(S1108)。posX<=1であれば、有意係数情報を復号するためのコンテキストインデックスctxIdxを1と設定し(S1109)、そうでなければ(posX>1)、コンテキストインデックスctxIdxを0と設定する(S1110)。sigGroupLeftが1、かつsigGroupTopが0である場合の、コンテキストインデックスctxIdxの定義を図12の符号1202に示す。ただしここで説明した方法は一例であり、例えば図13の1302のように2つ以上の条件に基づきctxIdxを切り替えるように構成してもよい。
 sigGroupLeftが0、かつsigGroupTopが1であるかどうかを判定する(S1111)。sigGroupLeftが0、かつsigGroupTopが1である場合は、処理対象サブブロック内の垂直方向差分係数位置を判定する(S1112)。posY<=1であれば、有意係数情報を復号するためのコンテキストインデックスctxIdxを1と設定し(S1113)、そうでなければ(posY>1)、コンテキストインデックスctxIdxを0と設定する(S1114)。sigGroupLeftが0、かつsigGroupTopが1である場合の、コンテキストインデックスctxIdxの定義を図12の符号1203に示す。つまり、sigGroupLeftが0、かつsigGroupTopが1である場合のコンテキストインデックスctxIdx設定手順は、sigGroupLeftが1、かつsigGroupTopが0である場合のX方向の処理とY方向の処理を入れ替えた処理となっている。そのため、処理の共通化がし易く、ハードウェアの回路規模やソフトウェアのコード量を削減できる。ただしここで説明した方法は一例であり、例えば図13の1303のように2つ以上の条件に基づきctxIdxを切り替えるように構成してもよい。
 sigGroupLeftが0、かつsigGroupTopが1でないとき、すなわちsigGroupLeftが1、かつsigGroupTopが1であるときは、pos、posX、posYによらず、有意係数情報を復号するためのコンテキストインデックスctxIdxを2と設定する(S1115)。sigGroupLeftが1、かつsigGroupTopが1である場合の、コンテキストインデックスctxIdxの定義を図12の符号1204に示す。ただしここで説明した方法は一例である。図12の符号1201で示すように、処理対象差分係数位置に基づいてコンテキストインデックスctxIdxを決定してもよいし、図13の符号1304で示すように、処理対象差分係数位置の2つ以上の条件に基づきctxIdxを切り替えるように構成してもよい。
 有意係数情報符号化制御部806は、差分係数バッファ802から処理対象位置の差分係数を取得する。差分係数の値が0でない場合は、有意係数情報を1と設定し、そうでないとき、すなわち差分係数の値が0である場合は、有意係数情報を0と設定する。また、有意係数情報符号化制御部806は、決定したコンテキストインデックスctxIdxに対応するコンテキストをコンテキストメモリ804から読み出した後、算術符号化部801に対し、有意係数情報とコンテキストを送る。算術符号化部801は、コンテキストを用いて有意係数情報を符号化する(S1116)。
 [差分係数値情報符号化処理手順(S1005)]
 差分係数値情報符号化制御部807は、処理対象の差分係数を決定する(S1401)。サブブロック内の差分係数の走査順は、有意係数情報の走査順と同様、図2で示す走査順202に従うものとする。サブブロックのすべての差分係数を走査し終えていれば差分係数値情報の符号化処理を終了し、次のサブブロックの決定手順(S901)へ移る。
 差分係数値情報符号化制御部807は、処理対象差分係数位置の差分係数の値が0であるかどうかを判定する(S1402)。処理対象差分係数位置の差分係数の値が0である場合は、処理対象差分係数位置の差分係数値情報の符号化を完了し、ステップS901へ移る。
 処理対象差分係数位置の差分係数の値が0でない場合は、処理対象差分係数位置の差分係数絶対値情報、及び差分係数符号情報を計算する(S1403、S1404)。本手順が実行されるときは差分係数の値が0でないことが確定しているため、差分係数絶対値情報は差分係数の絶対値から1を減じた値とする。また差分係数が正である場合は差分係数符号情報を0に設定し、差分係数が負である場合は、差分係数符号情報を1に設定する。
 差分係数値情報符号化制御部807は、コンテキストをコンテキストメモリ804から読み出した後、算術符号化部801に対し、差分係数絶対値情報とコンテキストを送る。算術符号化部801は、コンテキストを用いて差分係数絶対値情報を符号化する(S1405)。
 差分係数値情報符号化制御部807は、コンテキストをコンテキストメモリ804から読み出した後、算術符号化部801に対し、差分係数符号情報とコンテキストを送る。算術符号化部801は、コンテキストを用いて差分係数符号情報を符号化する(S1406)。
 [復号手順]
 本発明の実施の形態に係る差分係数の復号方法の第1の実施例を説明する。図15は図6の差分情報復号部601の第1の実施例の詳細な構成のブロック図である。第1の実施例の差分情報復号部601は、算術復号部1501、差分係数バッファ1502、復号制御部1503、コンテキストメモリ1504、及び走査制御部1505を備え、さらに復号制御部1503は、有意係数情報復号制御部1506、差分係数値情報復号制御部1507、及び有意サブブロック情報復号制御部1508を備える。
 図6の差分情報復号部601における差分情報復号処理は、図5の差分情報符号化部507における差分情報符号化処理に対応するものであるから、図14の差分情報符号化部における差分係数バッファ1502、コンテキストメモリ1504、及び走査制御部1505の各構成は、図8の差分係数バッファ802、コンテキストメモリ804、及び走査制御部805の各構成とそれぞれ対応する機能を有する。
 以下、図1、図3、図4、図16のフローチャート、図12、図13のコンテキスト定義も参照しながら、差分情報の復号手順を説明する。
 走査制御部1505は、処理対象サブブロックを決定する(S101)。すべてのサブブロックを走査し終えていれば、差分係数の復号処理を終了する。図2にサブブロックの走査順202を示す。本手順においては、差分係数領域の最も左上のサブブロックから走査を開始し、左から右へ、さらに上から下へ、という規則に従った走査を行い、最も右下のサブブロックで走査を終える。図2の201は矢印を用いてサブブロックの走査順を表現した図である。図2の走査順に従う場合、処理対象サブブロックに対し空間的に左側および上側に位置するサブブロックの走査は完了した状態となる。処理対象サブブロックに対し、サブブロックの復号処理を行う(S102)。
 [サブブロック復号手順(S102)]
 有意サブブロック情報復号制御部1508は、差分係数バッファ1502から処理対象サブブロックに隣接し、かつ復号済みであるサブブロックに含まれる差分係数を参照し、有意サブブロック情報を復号するためのコンテキストを決定し、決定したコンテキストをコンテキストメモリ1504から読み出す。算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意サブブロック情報を復号する(S301)。
 有意サブブロック情報復号制御部1508は、有意サブブロック情報の値を判定する(S302)。有意サブブロック情報が0であるときは、差分係数バッファ1502の処理対象サブブロックのすべての差分係数の値を0と設定し(S305)、サブブロック差分係数値情報復号処理を終了する。
 有意サブブロック情報が1であるときは、処理対象サブブロックのすべての有意係数情報の復号処理を行う(S303)。サブブロックの有意係数情報の復号手順の詳細については後述する。サブブロックのすべての有意係数情報の復号が終了後、ステップS304の差分係数の復号に移る。
 処理対象サブブロックのすべての差分係数の差分係数値情報の復号処理を行う(S304)。サブブロックの差分係数値情報の復号手順の詳細については後述する。サブブロックのすべての差分係数値情報の復号が終了後、ステップS101へ移る。
 図16のフローチャートを参照しながら、本実施例における有意係数情報の復号処理手順を説明する。
 [有意係数情報復号手順(S303)]
 有意係数情報復号制御部1506は、周辺有意サブブロック情報として処理対象サブブロックの左側、及び上側に隣接する復号済みサブブロックの有意サブブロック情報を取得する。左側に隣接するサブブロックの有意サブブロック情報をsigGroupLeft、上側に隣接するサブブロックの有意サブブロック情報をsigGroupTopとする(S1601)
 有意係数情報復号制御部1506は、処理対象の差分係数を決定する(S1602)。サブブロック内の差分係数の走査順は、差分係数領域におけるサブブロックの走査順と同様図2の走査順202に従うものとする。サブブロックのすべての有意係数情報を走査し終えていれば有意係数情報の復号処理を完了し、差分係数値情報の復号手順(S304)へ移る。
 有意係数情報復号制御部1506は、周辺有意サブブロック情報sigGroupLeft、およびsigGroupTopを評価する(S1603)。sigGroupLeftが0、かつsigGroupTopが0である場合は、処理対象サブブロック内の処理対象差分係数位置を判定する(S1604)。水平方向差分係数位置をposX、垂直方向差分係数位置をposYとし、処理対象差分係数位置をpos=posX+posYとする。pos<=2であれば、有意係数情報を復号するためのコンテキストctxIdxを1と設定し(S1605)、そうでなければ(pos>2)、コンテキストctxIdxを0と設定する(S1606)。sigGroupLeftが0、かつsigGroupTopが0である場合の、コンテキストの定義を図12のコンテキスト定義1201に示す。ただしここで説明した方法は一例であり、例えば図13の符号1301で示すように、posに関わらずctxIdxを導出することも可能である。また、図13のコンテキスト定義1304は、pos<=4、pos<=5の条件でctxIdxを導出する例を示す。図13のコンテキスト定義1304のように2つ以上の条件に基づきctxIdxを切り替えるように構成してもよい。決定したコンテキストをコンテキストメモリ1504から読み出した後、算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意係数情報を復号する(S1616)。
 sigGroupLeftが1、かつsigGroupTopが0であるかどうかを判定する(S1607)。sigGroupLeftが1、かつsigGroupTopが0である場合は、処理対象サブブロック内の水平方向差分係数位置を判定する(S1608)。posX<=1であれば、有意係数情報を復号するためのコンテキストインデックスctxIdxを1と設定し(S1609)、そうでなければ(posX>1)、コンテキストインデックスctxIdxを0と設定する(S1610)。sigGroupLeftが1、かつsigGroupTopが0ある場合の、コンテキストの定義を図13のコンテキスト定義1302に示す。ただしここで説明した方法は一例であり、例えば図13のコンテキスト定義1302のように2つ以上の条件に基づきctxIdxを切り替えるように構成してもよい。決定したコンテキストをコンテキストメモリ1504から読み出した後、算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意係数情報を復号する(S1616)。
 sigGroupLeftが0、かつsigGroupTopが1であるかどうかを判定する(S1611)。sigGroupLeftが0、かつsigGroupTopが1である場合は、処理対象サブブロック内の垂直方向差分係数位置を判定する(S1612)。posY<=1であれば、有意係数情報を復号するためのコンテキストインデックスctxIdxを1と設定し(S1613)、そうでなければ(posY>1)、コンテキストインデックスctxIdxを0と設定する(S1614)。sigGroupLeftが0、かつsigGroupTopが1である場合の、コンテキストの定義を図12のコンテキスト定義1203に示す。ただしここで説明した方法は一例であり、例えば図13のコンテキスト定義1303のように2つ以上の条件に基づきctxIdxを切り替えるように構成してもよい。決定したコンテキストをコンテキストメモリ1504から読み出した後、算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意係数情報を復号する(S1616)。
 sigGroupLeftが0、かつsigGroupTopが1でないときは、すなわち、sigGroupLeftとsigGroupTopがともに1である場合は、posによらず、有意係数情報を復号するためのコンテキストインデックスctxIdxを2と設定する(S1615)。sigGroupLeftとsigGroupTopがともに1である場合の、コンテキストの定義を図12のコンテキスト定義1204に示す。ただしここで説明した方法は一例である。図12のコンテキスト定義1201で示すように、処理対象差分係数位置に基づいてコンテキストインデックスctxIdxを決定してもよいし、図13のコンテキスト定義1304で示すように、処理対象差分係数位置の2つ以上の条件に基づきctxIdxを切り替えるように構成してもよい。決定したコンテキストをコンテキストメモリ1504から読み出した後、算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意係数情報を復号する(S1616)。
 本手順においては、有意係数情報のためのコンテキストインデックスctxIdxの算出に、復号済み隣接サブブロックの有意係数情報の数の和と、処理対象差分係数のサブブロック内位置を参照する。このような構成をとる理由を以下で説明する。
 一般に画像の直交変換係数は低域成分に集中しやすく、有意係数情報が1になる可能性が高い。さらに直交変換係数の高域成分は視覚上の影響を受けにくいことから粗く量子化されることが多いため、高域成分の係数値は0となり、高域成分の有意係数情報は0となる可能性が高い。この性質は差分係数領域全体に限らず、各サブブロックに対しても同様であり、サブブロックの低域側にある成分は、同一サブブロックの高域側にある成分と比べて有意係数情報が1になる可能性が高くなると言える。サブブロック内で低域にある有意係数情報のコンテキストインデックスctxIdxの値を高域にある有意係数情報のコンテキストインデックスctxIdxの値よりも大きく設定することは、有意係数情報の発生確率の推定精度の向上につながる。また、有意係数情報が0となる確率が高い高域では周辺有意サブブロック情報が0である確率が高く、有意係数情報が1となる確率が高い低域では周辺有意係数サブブロック情報が1である確率が高くなる傾向が強く、処理対象サブブロックが有意係数情報をどの程度含むかという指標として周辺有意係数サブブロック情報を用いることは有意係数情報の発生確率の推定精度の向上につながる。
 本実施例では、コンテキストインデックスの算出に処理済みのサブブロックの有意サブブロック情報と処理対象係数位置を参照するものであるが、処理済みのサブブロックの有意サブブロック情報は処理対象サブブロックに属する差分係数を対象としないため、コンテキストインデックスの算出にサブブロック内の依存関係が存在しない。すべての有意係数に対するコンテキストインデックスをサブブロックの先頭で計算することが可能であるため、コンテキストインデックスの算出を有意係数情報の復号処理と並列的に計算することも可能である。符号化系列中の発生頻度が高い有意係数情報の復号に係る処理遅延を削減することができる。
 有意サブブロック情報を参照する代わりに、処理済みであり処理対象サブブロックに隣接するサブブロックに属する有意係数情報の和を参照してコンテキスト計算をすることも可能である。有意サブブロック情報を参照する構成と比べ、処理対象サブブロックの周辺の有意係数情報の発生頻度を考慮することが可能になるため、符号化効率を向上することができる。
 また、有意サブブロック情報を参照する代わりに、処理済みであり処理対象サブブロックに隣接するサブブロックに属する差分係数値の絶対値和を用いてコンテキストインデックスを算出することも可能である。一般に低域成分の差分係数絶対値は大きいため、周辺差分係数絶対値和が大きい場合は有意係数情報の発生確率が高くなるようなコンテキストを設定することにより符号化効率を向上させることができる。
 さらに差分係数を算出する際に用いた予測モードを有意係数のコンテキストインデックス算出手順中の条件判定に加えることによりコンテキスト推定の精度を向上させることも可能である。一般に、復号対象画像の復号済領域のみが参照対象となる画面内予測と比べ、複数の復号画像を参照できる画面間予測は予測精度が高く差分が発生しにくいという特性の違いがあるためである。
 [差分係数値情報復号手順(S304)]
 有意係数情報復号制御部1506は、処理対象の差分係数を決定する(S401)。サブブロック内の差分係数の走査順は、有意係数の走査順と同様、図2で示す走査順202に従うものとする。サブブロックのすべての差分係数を走査し終えていれば差分係数値情報の復号処理を完了し、次のサブブロックの決定手順(S101)へ移る。
 有意係数情報復号制御部1506は、処理対象の差分係数の有意係数情報が0であるかどうかを判定する(S402)。処理対象の差分係数の有意係数情報が0である場合は、処理対象の差分係数の差分係数値情報の復号を完了し、ステップS401へ移る。
 処理対象の差分係数の有意係数情報が1である場合は、処理対象の差分係数の差分係数絶対値情報を復号する(S403)。本手順を実行する場合は、差分係数の値が0でないことが確定しており、差分係数絶対値情報は差分係数の絶対値から1を減じた値である。よって差分係数絶対値情報に1を加えた値を差分係数の絶対値として設定する。
 処理対象の差分係数の差分係数符号情報を復号する(S404)。差分係数符号情報が0である場合は差分係数の値の符号を正とし、差分係数符号情報が1である場合は差分係数の値の符号を負とする。
 本手順においては、有意係数情報のためのコンテキストインデックスctxIdxの算出に、復号済み隣接サブブロックの有意サブブロック情報と、処理対象差分係数のサブブロック内位置を参照し、さらに左側の有意サブブロック情報と上側の有意サブブロック情報を個別に判定するものである。このような構成をとる理由を以下で説明する。
 一般に画像の直交変換係数は低域成分に集中しやすく、有意係数情報が1になる可能性が高い。さらに直交変換係数の高域成分は視覚上の影響を受けにくいことから粗く量子化されることが多いため、高域成分の係数の値は0となり、高域成分の有意係数情報は0となる可能性が高い。この性質は差分係数領域全体に限らず、各サブブロックに対しても同様であり、サブブロックの低域側にある成分は、同一サブブロックの高域側にある成分と比べて有意係数情報が1になる可能性が高くなると言える。サブブロック内で低域にある有意係数情報のコンテキストインデックスctxIdxの値を高域にある有意係数情報のコンテキストインデックスctxIdxの値よりも大きく設定することは、有意係数情報の発生確率の推定精度の向上につながる。また、有意係数が0となる確率が高い高域では復号済み隣接有意サブブロック情報も小さくなり、有意係数が1となる確率が高い低域では復号済み隣接有意サブブロック情報も大きくなる傾向が強く、処理対象サブブロックが有意係数情報をどの程度含むかという指標として復号済み隣接有意サブブロック情報を用いることは有意係数情報の発生確率の推定精度の向上につながる。
 本実施例のコンテキスト算出手順においては、左側の有意サブブロック情報sigGroupLeftが1であり、かつ上側の有意サブブロック情報sigGroupTopが0である場合は、処理対象サブブロックの左側に有意係数情報が存在するため、処理対象サブブロックの水平方向の低域側の有意係数情報が1となる可能性が高い。一方水平方向の高域成分は0である可能性が高いという直交変換係数の一般的特性より、処理対象サブブロックの水平方向の高域側となるに従い、有意係数情報が0となる確率が高くなる。また、このとき処理対象サブブロックの上側に有意係数が存在しないため、垂直方向においては低域においても有意係数情報が0となる確率が高いと推定されることから垂直方向においては有意係数情報が0となる確率は変動しない。左側の有意サブブロック情報sigGroupLeftが1であり、かつ上側の有意サブブロック情報sigGroupTopが0である場合に、処理対象の有意係数情報の水平方向の位置に基づき、垂直方向の位置に基づかずコンテキストを導出する本実施例の構成により、適切なコンテキストの選択が可能となる。
 同様に、左側の有意サブブロック情報sigGroupLeftが0であり、かつ上側の有意サブブロック情報sigGroupTopが1である場合は、処理対象サブブロックの上側に有意係数情報が存在するため、処理対象サブブロックの垂直方向の低域側の有意係数情報が1となる可能性が高い。一方垂直方向の高域成分は0である可能性が高いという直交変換係数の一般的特性より、処理対象サブブロックの垂直方向の高域側となるに従い、有意係数情報が0となる確率が高くなる。また、このとき処理対象サブブロックの左側に有意係数が存在しないため、水平方向においては低域においても有意係数情報が0となる確率が高いと推定されることから水平方向においては有意係数情報が0となる確率は変動しない。左側の有意サブブロック情報sigGroupLeftが0であり、かつ上側の有意サブブロック情報sigGroupTopが1である場合に、処理対象の有意係数情報の垂直方向の位置に基づき、水平方向の位置に基づかずコンテキストを導出する本実施例の構成により、適切なコンテキストの選択が可能となる。従って本実施例の構成をとることにより、周辺の処理結果と直交変換係数の特性を適切に反映したコンテキストを決定することができ、符号化効率を向上させることができる。
 また本実施例は、処理量削減の観点から、復号済み隣接サブブロックとして復号対象サブブロックの左側に隣接するサブブロック、および上側に隣接するサブブロックを参照するものであるが、本発明は復号済み隣接サブブロックをこれらに限定するものではない。特に復号対象サブブロックの左上に隣接するサブブロックは復号対象サブブロックとの距離が近く、復号対象サブブロックとの相関性が高い。よって、左上に隣接するサブブロックの有意サブブロック情報sigGroupTopLeftをコンテキストインテックスctxIndex算出の判定対象に加えることにより、有意係数の発生確率の精度を向上させることができる。ただし、復号対象サブブロックの左上に隣接するサブブロックは、復号対象サブブロックの左側に隣接するサブブロック、および上側に隣接するサブブロックと比較し、復号対象サブブロックとの距離が遠く、相関性が低いため、sigGroupLeft、sigGroupTop、sigGroupTopLeftをもとに有意係数のコンテキストインデックスを算出する構成においては、sigGroupTopLeftの有意係数のコンテキストインデックスに対する反映度合いをsigGroupTop、sigGroupTopLeftよりも低く設定することが好ましい。sigGroupTopLeftの有意係数のコンテキストインデックスに対する反映度合いを低く設定する方法としては、例えば、sigGroupTop、sigGroupTopLeftがともに0の場合は、sigGroupTopLeftの値に関わらず、有意係数情報の発生確率を低く設定する。
 本実施例においては、左側の有意サブブロック情報sigGroupLeftと上側の有意サブブロック情報sigGroupTop、及び処理対象係数位置を参照するものであるが、左側の有意サブブロック情報sigGroupLeftと上側の有意サブブロック情報sigGroupTopは処理対象サブブロックに属する差分係数を対象としないため、コンテキストインデックスの算出にサブブロック内の依存関係が存在しない。すべての有意係数に対するコンテキストインデックスをサブブロックの先頭で計算することが可能であるため、コンテキストインデックスの算出を有意係数情報の復号処理と並列的に計算することも可能である。符号化系列中の発生頻度が高い有意係数情報の復号に係る処理遅延を削減することができる。
 本実施例は、復号済サブブロックの有意サブブロック情報から、有意係数情報を復号するためのコンテキストインデックスを算出するものであるが、同様の手順を差分係数絶対値のコンテキストインデックス算出に適用することも可能である。有意係数情報と同様、差分係数絶対値は周辺の差分係数の絶対値との相関、および低域成分への集中性を持つため、周辺有意係数和または周辺差分係数絶対値和が大きいときは、絶対値の大きな差分係数の発生確率が高いことを示すコンテキストインデックスを設定し、周辺有意係数和または周辺差分係数絶対値和が小さいときは、絶対値の小さな差分係数の発生確率が高いことを示すコンテキストインデックスを設定することにより、差分係数絶対値情報を効率的に符号化できる。
 また、本実施例においては、隣接するサブブロックの符号化・復号情報と符号化・復号対象の有意係数情報のサブブロック内位置に基づき、有意係数情報を符号化・復号するためのコンテキストを導出するものである。これらはいずれも符号化・復号対象の有意係数情報が属するサブブロックの符号化・復号結果によらない。従って、サブブロック内の有意係数情報の走査順については、必ずしも有意サブブロック情報の走査順と同一である必要はなく、有意サブブロック情報の走査順は図2に従う一方、有意係数情報の走査順については図17に示すように右から左、下から上のようにHEVCと同様としてもよい。
 以上述べた第1の実施例の画像符号化装置および画像復号装置は、以下の作用効果(1)から(4)を奏する。
 (1)処理対象差分係数の属するサブブロックに隣接した復号済みサブブロックに属する差分係数から処理対象差分係数のコンテキストインデックスを算出可能である。復号済みサブブロックが0でない差分係数を有するときは、有意係数情報1の発生確率を高く、復号済みサブブロックに属する差分係数がすべて0あるときは、有意係数情報0の発生確率を高く推定するコンテキストを設定することにより、有意係数情報の周辺相関に基づいた適切な確率モデルの設定が可能である。したがって、有意係数情報を効率的に符号化できる。
 (2)処理対象差分係数のサブブロック内の位置に基づきコンテキストインデックスを算出する。サブブロック内で低域にある差分係数は、サブブロック内で高域にある差分係数よりも有意係数が1となる確率を高く推定するコンテキストを設定する。有意係数情報の周波数領域上の性質に基づいた適切な確率モデルの設定が可能であり、有意係数情報を効率的に符号化できる。
 (3)復号済みサブブロックの差分係数およびサブブロック内の処理対象差分係数の位置は、サブブロック内の有意係数情報の復号結果に依存しない。よってサブブロック内のコンテキストインデックスの算出と有意係数情報の復号を並列的に処理する構成をとることができるため、有意係数情報の復号処理に係る処理遅延を削減することができる。差分係数は符号化系列に対して占有する割合が高く、処理回数の多い有意係数情報の処理遅延を削減することにより、実時間処理に適した復号装置を実現できる。また、符号化装置においても同様に有意係数情報符号化の処理遅延を削減することができる。
 (4)左側の有意サブブロック情報と上側の有意サブブロック情報の組み合わせに基づきコンテキストインデックスを算出する。処理対象サブブロックの上側に有意係数が存在するときは処理対象サブブロックの垂直方向の低域成分の有意係数情報が1となる確率を高く推定し、水平方向の高域成分の有意係数情報が1となる確率を低く推定することが可能である。一方、処理対象サブブロックの左側に有意係数が存在するときは処理対象サブブロックの水平方向の低域成分の有意係数情報が1となる確率を高く推定し、垂直方向の高域成分の有意係数情報が1となる確率を低く推定することが可能である。従って、このような構成をとることにより、サブブロックを左から右、上から下へ走査する構成において、有意係数情報の確率モデルを適切に設定できるため、有意係数情報を効率的に符号化できる。
 (第2の実施例)
 本発明の実施の形態に係る差分情報の符号化方法の第2の実施例を説明する。第2の実施例の差分情報符号化部507は、図8に示した第1の実施例の差分情報符号化部507と同様、算術符号化部801、差分係数バッファ802、符号化制御部803、コンテキストメモリ804、及び走査制御部805を備え、さらに符号化制御部803は、有意係数情報符号化制御部806、差分係数値情報符号化制御部807、及び有意サブブロック情報符号化制御部808を備える。
 本実施例における差分情報の符号化手順は有意係数情報の符号化処理手順(図10のS1004)を除いて、第1の実施例と同様であるため、以下、図18のフローチャートを参照しながら、本実施例における有意係数情報の符号化処理手順を説明する。
 [有意係数情報の符号化処理手順(S1004)]
 有意係数情報符号化制御部806は、処理対象サブブロックの左側、及び上側に隣接する復号済みサブブロックの有意サブブロック情報から周辺有意インデックスsigCoeffIndexを計算する。左側に隣接するサブブロックの有意サブブロック情報をsigGroupLeft、上側に隣接するサブブロックの有意サブブロック情報をsigGroupTopとし、周辺有意インデックスsigCoeffIndex=sigGroupLeft+2×sigGroupTopとする(S1801)。
 有意係数情報符号化制御部806は、処理対象の差分係数を決定する(S1802)。サブブロック内の差分係数の走査順は、差分係数領域におけるサブブロックの走査順と同様図2の走査順202に従うものとする。サブブロックのすべての有意係数を走査し終えていれば有意係数の符号化処理を終了し、差分係数値の符号化手順(S1005)へ移る。
 有意係数情報符号化制御部806は、周辺有意インデックスsigCoeffIndexを評価する(S1803)。
 周辺有意インデックスsigCoeffIndexが0である場合は、処理対象サブブロック内の処理対象差分係数位置を判定する(S1804)。周辺有意インデックスsigCoeffIndexが0であることは、sigGroupLeftが0、かつsigGroupTopが0であることを表す。水平方向差分係数位置をposX、垂直方向差分係数位置をposYとし、処理対象差分係数位置をpos=posX+posYとする。pos<=2であれば、有意係数情報を符号化するためのコンテキストインデックスctxIdxを1と設定し(S1805)、そうでなければ(pos>2)、コンテキストインデックスctxIdxを0と設定する(S1806)。周辺有意インデックスsigCoeffIndexが0である場合の、コンテキストインデックスctxIdxの定義を図12のコンテキスト定義1201に示す。
 周辺有意インデックスsigCoeffIndexが1であるかどうかを判定する(S1807)。周辺有意インデックスsigCoeffIndexが1であることはsigGroupLeftが1、かつsigGroupTopが0であることを表す。周辺有意インデックスsigCoeffIndexが1である場合は、処理対象サブブロック内の水平方向差分係数位置を判定する(S1808)。posX<=1であれば、有意係数情報を復号するためのコンテキストインデックスctxIdxを1と設定し(S1809)、そうでなければ(posX>1)、コンテキストインデックスctxIdxを0と設定する(S1810)。周辺有意インデックスsigCoeffIndexが1である場合の、コンテキストインデックスctxIdxの定義を図12のコンテキスト定義1202に示す。
 周辺有意インデックスsigCoeffIndexが2であるかどうかを判定する(S1811)。周辺有意インデックスsigCoeffIndexが2であることはsigGroupLeftが0、かつsigGroupTopが1であることを表す。周辺有意インデックスsigCoeffIndexが2である場合は、処理対象サブブロック内の垂直方向差分係数位置を判定する(S1812)。posY<=1であれば、有意係数情報を復号するためのコンテキストインデックスctxIdxを1と設定し(S1813)、そうでなければ(posY>1)、コンテキストインデックスctxIdxを0と設定する(S1814)。周辺有意インデックスsigCoeffIndexが2である場合の、コンテキストインデックスctxIdxの定義を図12のコンテキスト定義1203に示す。つまり、周辺有意インデックスsigCoeffIndexが2である場合のコンテキストインデックスctxIdx設定手順は、周辺有意インデックスsigCoeffIndexが1である場合のX方向の処理とY方向の処理を入れ替えた処理となっている。そのため、処理の共通化がし易く、ハードウェアの回路規模やソフトウェアのコード量を削減できる。
 周辺有意インデックスsigCoeffIndexが2でないときは、すなわち周辺有意インデックスsigCoeffIndexが3であるときは、posに関わらず、有意係数情報を復号するためのコンテキストインデックスctxIdxを2と設定する(S1815)。周辺有意インデックスsigCoeffIndexが3である場合の、コンテキストインデックスctxIdxの定義を図12のコンテキスト定義1204に示す。
 有意係数情報符号化制御部806は、差分係数バッファ802から処理対象位置の差分係数を取得する。差分係数値が0でない場合は、有意係数情報を1と設定し、そうでないとき(差分係数値が0である場合)は、有意係数情報を0と設定する。また、有意係数情報符号化制御部806は、決定したコンテキストインデックスctxIdxに対応するコンテキストをコンテキストメモリ804から読み出した後、算術符号化部801に対し、有意係数情報とコンテキストを送る。算術符号化部801は、コンテキストを用いて有意係数情報を符号化する(S1816)。
 [復号手順]
 本発明の実施の形態に係る差分係数の復号方法の第2の実施例を説明する。第2の実施例の差分情報復号部601は、図15に示した第1の実施例の差分情報復号部601と同様、算術復号部1501、差分係数バッファ1502、復号制御部1503、コンテキストメモリ1504、及び走査制御部1505を備え、さらに復号制御部1503は、有意係数情報復号制御部1506、差分係数値情報復号制御部1507、及び有意サブブロック情報復号制御部1508を備える。
 図6の差分情報復号部601における差分情報復号処理は、図5の差分情報符号化部507における差分情報符号化処理に対応するものであるから、図15の差分情報符号化部における差分係数バッファ1502、コンテキストメモリ1504、及び走査制御部1505の各構成は、図8の差分係数バッファ802、コンテキストメモリ804、及び走査制御部805の各構成とそれぞれ対応する機能を有する。
 本実施例における差分情報の復号手順は有意係数情報の符号化処理手順(図3のS303)を除いて、第1の実施例と同様であるため、以下、図19のフローチャートを参照しながら、本実施例における有意係数情報の復号処理手順を説明する。
 [有意係数情報の復号手順(S303)]
 有意係数情報復号制御部1506は、処理対象サブブロックの左側、及び上側に隣接する復号済みサブブロックの有意サブブロック情報から周辺有意インデックスsigCoeffIndexを計算する。左側に隣接するサブブロックの有意サブブロック情報をsigGroupLeft、上側に隣接するサブブロックの有意サブブロック情報をsigGroupTopとし、周辺有意インデックスsigCoeffIndex=sigGroupLeft+2×sigGroupTopとする(S1901)。
 有意係数情報復号制御部1506は、処理対象の差分係数を決定する(S1902)。サブブロック内の差分係数の走査順は、差分係数領域におけるサブブロックの走査順と同様図7で示す規則に従うものとする。サブブロックのすべての有意係数を走査し終えていれば有意係数の復号処理を完了し、差分係数値の復号手順(S304)へ移る。
 有意係数情報復号制御部1506は、周辺有意インデックスsigCoeffIndexを評価する(S1903)。
 周辺有意インデックスsigCoeffIndexが0である場合は、処理対象サブブロック内の処理対象差分係数位置を判定する(S1904)。周辺有意インデックスsigCoeffIndexが0であることは、sigGroupLeftとsigGroupTopがともに0であることを表す。水平方向差分係数位置をposX、垂直方向差分係数位置をposYとし、処理対象差分係数位置をpos=posX+posYとする。pos<=2であれば、有意係数情報を復号するためのコンテキストctxIdxを1と設定し(S1905)、そうでなければ(pos>2)、コンテキストctxIdxを0と設定する(S1906)。周辺有意インデックスsigCoeffIndexが0である場合の、コンテキストの定義を図12のコンテキスト定義1201に示す。決定したコンテキストをコンテキストメモリ1504から読み出した後、算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意係数情報を復号する(S1916)。
 周辺有意インデックスsigCoeffIndexが1であるかどうかを判定する(S1907)。周辺有意インデックスsigCoeffIndexが1であることはgGroupLeftが1、かつsigGroupTopが0であることを表す。周辺有意インデックスsigCoeffIndexが1である場合は、処理対象サブブロック内の水平方向差分係数位置を判定する(S1908)。posX<=1であれば、有意係数情報を復号するためのコンテキストインデックスctxIdxを1と設定し(S1909)、そうでなければ(posX>1)、コンテキストインデックスctxIdxを0と設定する(S1910)。周辺有意インデックスsigCoeffIndexが1である場合の、コンテキストの定義を図12のコンテキスト定義1202に示す。決定したコンテキストをコンテキストメモリ1504から読み出した後、算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意係数情報を復号する(S1916)。
 周辺有意インデックスsigCoeffIndexが2であるかどうかを判定する(S1911)。周辺有意インデックスsigCoeffIndexが2であることはsigGroupLeftが0、かつsigGroupTopが1であることを表す。周辺有意インデックスsigCoeffIndexが2である場合は、処理対象サブブロック内の垂直方向差分係数位置を判定する(S1912)。posY<=1であれば、有意係数情報を復号するためのコンテキストインデックスctxIdxを1と設定し(S1913)、そうでなければ(posY>1)、コンテキストインデックスctxIdxを0と設定する(S1914)。周辺有意インデックスsigCoeffIndexが2である場合の、コンテキストの定義を図12のコンテキスト定義1203に示す。決定したコンテキストをコンテキストメモリ1504から読み出した後、算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意係数情報を復号する(S1916)。
 周辺有意インデックスsigCoeffIndexが2でないときは、すなわち、周辺有意インデックスsigCoeffIndexが3である場合は、posに関わらず、有意係数情報を復号するためのコンテキストインデックスctxIdxを2と設定する(S1915)。周辺有意インデックスsigCoeffIndexが3である場合の、コンテキストの定義を図12のコンテキスト定義1204に示す。決定したコンテキストをコンテキストメモリ1504から読み出した後、算術復号部1501に対し、コンテキストとともに復号命令を送る。算術復号部1501は、コンテキストを用いて符号化系列の復号処理を行い、有意係数情報を復号する(S1916)。
 本実施例は、有意係数情報のコンテキストインデックスctxIdxを算出する手順において、左側に隣接するサブブロックの有意サブブロック情報sigGroupLeft、上側に隣接するサブブロックの有意サブブロック情報sigGroupTopを直接参照する代わりに、sigGroupLeft、sigGroupTopをもとに周辺有意インデックスsigCoeffIndexを算出した後に、周辺有意インデックスsigCoeffIndexを参照してコンテキストインデックスctxIdxを算出する点において第1の実施例と異なる。従って、周辺有意インデックスsigCoeffIndexコンテキストインデックスに係る判定処理の回数を削減することができる。
 以上述べた第2の実施例の画像符号化装置および画像復号装置は、上述の第1の実施例の作用効果(1)~(4)に加え、さらに、以下の作用効果(5)を奏する。
 (5)左側に隣接するサブブロックの有意サブブロック情報sigGroupLeft、上側に隣接するサブブロックの有意サブブロック情報sigGroupTopをもとに、周辺有意インデックスsigCoeffIndexを算出した後、周辺有意インデックスsigCoeffIndexにもとづき、コンテキストインデックスを算出する。左側に隣接するサブブロックの有意サブブロック情報sigGroupLeft、上側に隣接するサブブロックの有意サブブロック情報sigGroupTopにもとづきコンテキストインデックスを算出する方法と比較して、コンテキストインデックス算出に係る判定処理の回数を削減することができる。
 以上述べた実施の形態の画像符号化装置が出力する画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、画像符号化装置に対応する画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
 画像符号化装置と画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して画像復号装置に供給する画像受信装置とが設けられる。
 画像送信装置は、画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、ネットワークを介してパケット化された符号化データを送信する送信部とを含む。画像受信装置は、ネットワークを介してパケット化された符号化データを受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、画像復号装置に提供するパケット処理部とを含む。
 以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 501 減算部、 502 直交変換・量子化部、 503 逆量子化・逆変換部、 504 加算部、 505 復号画像メモリ、 506 予測部、 507 差分情報符号化部、 508 予測情報符号化部、 509 モード判定部、 601 差分情報復号部、 602 逆量子化・逆変換部、 603 予測情報復号部、 604 加算部、 605 復号画像メモリ、 606 予測部、 801 算術符号化部、 802 差分係数バッファ、 803 符号化制御部、 804 コンテキストメモリ、 805 走査制御部、 806 有意係数情報符号化制御部、 807 差分係数値情報符号化制御部、 808 有意サブブロック情報符号化制御部、 1501 算術復号部、 1502 差分係数バッファ、 1503 復号制御部、 1504 コンテキストメモリ、 1505 走査制御部、 1506 有意係数情報復号制御部、 1507 差分係数値情報復号制御部、 1508 有意サブブロック情報復号制御部。
 本発明は、映像符号化データのトランスコード技術に利用できる。

Claims (6)

  1.  符号化対象となる画像と予測対象となる画像との差分情報を、複数のサブブロックに分割して、分割した前記サブブロックを左から右、及び上から下の順序に従い符号化する画像符号化装置であって、
     前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を符号化する有意サブブロック情報符号化部と、
     差分係数の値がゼロであるか否かを示す有意係数情報を符号化する有意係数情報符号化部と、
     差分係数の値を符号化する差分係数値情報符号化部と、
     符号化対象となるサブブロックの左に隣接する符号化済みのサブブロックの有意サブブロック情報と上に隣接する符号化済みのサブブロックの有意サブブロック情報と、符号化対象となる差分係数の前記符号化対象となるサブブロックにおける位置に基づいて、前記符号化対象となる有意係数情報を符号化するためのコンテキストを導出するコンテキスト導出部とを備え、
     前記コンテキスト導出部は、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が0である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける水平方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が1である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける垂直方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出する、
    ことを特徴とする画像符号化装置。
  2.  符号化対象となる画像と予測対象となる画像との差分情報を、複数のサブブロックに分割して、分割した前記サブブロックを左から右、及び上から下の順序に従い符号化する画像符号化方法であって、
     前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を符号化する有意サブブロック情報符号化ステップと、
     差分係数の値がゼロであるか否かを示す有意係数情報を符号化する有意係数情報符号化ステップと、
     差分係数の値を符号化する差分係数値情報符号化ステップと、
     符号化対象となるサブブロックの左に隣接する符号化済みのサブブロックの有意サブブロック情報と上に隣接する符号化済みのサブブロックの有意サブブロック情報と、符号化対象となる差分係数の前記符号化対象となるサブブロックにおける位置に基づいて、前記符号化対象となる有意係数情報を符号化するためのコンテキストを導出するコンテキスト導出ステップとを備え、
     前記コンテキスト導出ステップは、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が0である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける水平方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が1である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける垂直方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出する、
    ことを特徴とする画像符号化方法。
  3.  符号化対象となる画像と予測対象となる画像との差分情報を、複数のサブブロックに分割して、分割した前記サブブロックを左から右、及び上から下の順序に従い符号化する画像符号化プログラムであって、
     前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を符号化する有意サブブロック情報符号化ステップと、
     差分係数の値がゼロであるか否かを示す有意係数情報を符号化する有意係数情報符号化ステップと、
     差分係数の値を符号化する差分係数値情報符号化ステップと、
     符号化対象となるサブブロックの左に隣接する符号化済みのサブブロックの有意サブブロック情報と上に隣接する符号化済みのサブブロックの有意サブブロック情報と、符号化対象となる差分係数の前記符号化対象となるサブブロックにおける位置に基づいて、前記符号化対象となる有意係数情報を符号化するためのコンテキストを導出するコンテキスト導出ステップとを備え、
     前記コンテキスト導出ステップは、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が0である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける水平方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する符号化済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する符号化済みのサブブロックの有意サブブロック情報が1である場合、符号化対象となる有意係数情報の前記符号化対象サブブロックにおける垂直方向の位置に基づき、前記符号化対象となる有意係数情報の前記コンテキストを導出する、
    ことを特徴とする画像符号化プログラム。
  4.  復号対象となる画像と予測対象となる画像との差分情報が、複数のサブブロックに分割され、分割された前記サブブロックを左から右、及び上から下の順序に従い符号化された符号化ストリームを復号する画像復号装置であって、
     前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を復号する有意サブブロック情報復号部と、
     差分係数の値がゼロであるか否かを示す有意係数情報を復号する有意係数情報復号部と、
     差分係数の値を復号する差分係数値情報復号部と、
     復号対象となるサブブロックの左に隣接する復号済みのサブブロックの有意サブブロック情報と上に隣接する復号済みのサブブロックの有意サブブロック情報と、復号対象となる差分係数の前記復号対象となるサブブロックにおける位置に基づいて、前記復号対象となる有意係数情報を復号するためのコンテキストを導出するコンテキスト導出部とを備え、
     前記コンテキスト導出部は、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が0である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける水平方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が1である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける垂直方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出する、
    ことを特徴とする画像復号装置。
  5.  復号対象となる画像と予測対象となる画像との差分情報が、複数のサブブロックに分割され、分割された前記サブブロックを左から右、及び上から下の順序に従い符号化された符号化ストリームを復号する画像復号方法であって、
     前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を復号する有意サブブロック情報復号ステップと、
     差分係数の値がゼロであるか否かを示す有意係数情報を復号する有意係数情報復号ステップと、
     差分係数の値を復号する差分係数値情報復号ステップと、
     復号対象となるサブブロックの左に隣接する復号済みのサブブロックの有意サブブロック情報と上に隣接する復号済みのサブブロックの有意サブブロック情報と、復号対象となる差分係数の前記復号対象となるサブブロックにおける位置に基づいて、前記復号対象となる有意係数情報を復号するためのコンテキストを導出するコンテキスト導出ステップとを備え、
     前記コンテキスト導出ステップは、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が0である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける水平方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が1である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける垂直方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出する、
    ことを特徴とする画像復号方法。
  6.  復号対象となる画像と予測対象となる画像との差分情報が、複数のサブブロックに分割され、分割された前記サブブロックを左から右、及び上から下の順序に従い符号化された符号化ストリームを復号する画像復号プログラムであって、
     前記サブブロックに属する差分係数の値の全てがゼロであるか否かを示す有意サブブロック情報を復号する有意サブブロック情報復号ステップと、
     差分係数の値がゼロであるか否かを示す有意係数情報を復号する有意係数情報復号ステップと、
     差分係数の値を復号する差分係数値情報復号ステップと、
     復号対象となるサブブロックの左に隣接する復号済みのサブブロックの有意サブブロック情報と上に隣接する復号済みのサブブロックの有意サブブロック情報と、復号対象となる差分係数の前記復号対象となるサブブロックにおける位置に基づいて、前記復号対象となる有意係数情報を復号するためのコンテキストを導出するコンテキスト導出ステップとを備え、
     前記コンテキスト導出ステップは、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が1であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が0である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける水平方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出し、前記左に隣接する復号済みのサブブロックの有意サブブロック情報が0であり、かつ前記上に隣接する復号済みのサブブロックの有意サブブロック情報が1である場合、復号対象となる有意係数情報の前記復号対象サブブロックにおける垂直方向の位置に基づき、前記復号対象となる有意係数情報の前記コンテキストを導出する、
    ことを特徴とする画像復号プログラム。
PCT/JP2018/014113 2017-04-07 2018-04-02 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム WO2018186349A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880023634.5A CN110495172B (zh) 2017-04-07 2018-04-02 图像编码装置和方法以及存储介质
US16/594,117 US20200036977A1 (en) 2017-04-07 2019-10-07 Picture coding device, picture coding method, picture coding program, picture decoding device, picture decoding method, and picture decoding program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-076559 2017-04-07
JP2017076559A JP2018182444A (ja) 2017-04-07 2017-04-07 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/594,117 Continuation US20200036977A1 (en) 2017-04-07 2019-10-07 Picture coding device, picture coding method, picture coding program, picture decoding device, picture decoding method, and picture decoding program

Publications (1)

Publication Number Publication Date
WO2018186349A1 true WO2018186349A1 (ja) 2018-10-11

Family

ID=63712624

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/014113 WO2018186349A1 (ja) 2017-04-07 2018-04-02 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム

Country Status (4)

Country Link
US (1) US20200036977A1 (ja)
JP (1) JP2018182444A (ja)
CN (1) CN110495172B (ja)
WO (1) WO2018186349A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102595372B1 (ko) * 2018-12-17 2023-10-27 엘지전자 주식회사 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011128303A2 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding of significance maps and transform coefficient blocks
WO2012068021A1 (en) * 2010-11-16 2012-05-24 Qualcomm Incorporated Parallel context calculation in video coding
WO2012122278A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
JP2013223029A (ja) * 2012-04-13 2013-10-28 Jvc Kenwood Corp 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム
WO2013180023A1 (ja) * 2012-06-01 2013-12-05 シャープ株式会社 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8964852B2 (en) * 2011-02-23 2015-02-24 Qualcomm Incorporated Multi-metric filtering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011128303A2 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding of significance maps and transform coefficient blocks
WO2012068021A1 (en) * 2010-11-16 2012-05-24 Qualcomm Incorporated Parallel context calculation in video coding
WO2012122278A1 (en) * 2011-03-08 2012-09-13 Qualcomm Incorporated Coding of transform coefficients for video coding
JP2013223029A (ja) * 2012-04-13 2013-10-28 Jvc Kenwood Corp 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム
WO2013180023A1 (ja) * 2012-06-01 2013-12-05 シャープ株式会社 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KUMAKURA, T.: "Non-CE3: simplified context derivation for significance map", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3, 27 April 2012 (2012-04-27), Geneva, CH, pages 1 - 8 *
SOLE, J. ET AL.: "Non- CEll : diagonal sub-block scan for HE residual coding", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP3, 21 November 2011 (2011-11-21), Geneva, CH, pages 1 - 4 *

Also Published As

Publication number Publication date
US20200036977A1 (en) 2020-01-30
CN110495172B (zh) 2021-12-14
JP2018182444A (ja) 2018-11-15
CN110495172A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
KR101785666B1 (ko) 비디오 신호의 처리 방법 및 장치
CN112823521A (zh) 使用基于历史的运动信息的图像编码方法及其装置
JP2022521913A (ja) Mpmリストに基づくイントラ予測方法及び装置
US20220210430A1 (en) Method and device for coding/decoding image using differential coding of residual coefficient, and method for transmitting bitstream
US20210084323A1 (en) Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program
JPWO2014106878A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
KR20210142009A (ko) 블록 사이즈를 기반으로 bdpcm 을 수행하는 영상 디코딩 방법 및 그 장치
JP2023105163A (ja) クロマ成分の映像デコード方法及びその装置
US11973940B2 (en) Image decoding method and device and image encoding method and device in image coding system
WO2018186349A1 (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
JP5884941B1 (ja) 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム
KR102637085B1 (ko) 영상 디코딩 방법 및 그 장치
KR102644970B1 (ko) 영상 디코딩 방법 및 그 장치
US11910011B2 (en) Intra prediction-based image decoding method and device therefor in image coding system
KR102640264B1 (ko) 크로마 양자화 파라미터 데이터에 대한 영상 디코딩 방법 및 그 장치
JP2023509935A (ja) Ols dpbパラメータインデックスを含む映像情報ベースの映像デコーディング方法及びその装置
JP6098703B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法及び受信プログラム
KR102506469B1 (ko) 영상 부호화/복호화 방법 및 장치
JP2023509934A (ja) Dpbパラメータをコーディングする映像デコーディング方法及びその装置
JP2016027719A (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
JP2016027718A (ja) 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム
JP2013251755A (ja) 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法及び送信プログラム

Legal Events

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

Ref document number: 18781104

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18781104

Country of ref document: EP

Kind code of ref document: A1