WO2013065702A1 - 算術復号装置、画像復号装置、算術符号化装置、画像符号化装置、および、算術復号方法 - Google Patents

算術復号装置、画像復号装置、算術符号化装置、画像符号化装置、および、算術復号方法 Download PDF

Info

Publication number
WO2013065702A1
WO2013065702A1 PCT/JP2012/078086 JP2012078086W WO2013065702A1 WO 2013065702 A1 WO2013065702 A1 WO 2013065702A1 JP 2012078086 W JP2012078086 W JP 2012078086W WO 2013065702 A1 WO2013065702 A1 WO 2013065702A1
Authority
WO
WIPO (PCT)
Prior art keywords
context
decoding
frequency
syntax
unit
Prior art date
Application number
PCT/JP2012/078086
Other languages
English (en)
French (fr)
Inventor
知宏 猪飼
将伸 八杉
山本 智幸
健史 筑波
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to MX2014005246A priority Critical patent/MX338671B/es
Priority to US14/354,946 priority patent/US9525876B2/en
Priority to CN201280053701.0A priority patent/CN103907349B/zh
Priority to IN3598CHN2014 priority patent/IN2014CN03598A/en
Priority to MX2016005051A priority patent/MX346677B/es
Priority to EP12846191.0A priority patent/EP2775713B1/en
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Publication of WO2013065702A1 publication Critical patent/WO2013065702A1/ja
Priority to US15/333,363 priority patent/US20170041635A1/en
Priority to US15/885,856 priority patent/US10158887B2/en
Priority to US16/161,115 priority patent/US10547870B2/en
Priority to US16/705,598 priority patent/US10897632B2/en
Priority to US17/106,234 priority patent/US11310530B2/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Definitions

  • the present invention relates to an arithmetic decoding device that decodes encoded data that has been arithmetically encoded, and an image decoding device that includes such an arithmetic decoding device.
  • the present invention also relates to an arithmetic encoding device that generates encoded data that has been arithmetically encoded, and an image encoding device that includes such an arithmetic encoding device.
  • the present invention also relates to an arithmetic decoding method for decoding arithmetically encoded data.
  • a moving image encoding device (image encoding device) that generates encoded data by encoding the moving image, and decoding the encoded data
  • a video decoding device (image decoding device) that generates a decoded image is used.
  • the moving image encoding method include H.264. H.264 / MPEG-4.
  • KTA software which is a codec for joint development in AVC and VCEG (Video Coding Expert Group), a method adopted in TMuC (Test Model Under Consulation) software, and a successor codec, HEVC (High- The method proposed in (Efficiency Video Coding) (Non-Patent Document 1) and the like can be mentioned.
  • an image (picture) constituting a moving image is a slice obtained by dividing the image, a coding unit obtained by dividing the slice (Coding Unit) And is managed by a hierarchical structure composed of blocks and partitions obtained by dividing an encoding unit, and is normally encoded / decoded block by block.
  • a predicted image is usually generated based on a locally decoded image obtained by encoding and decoding an input image, and a difference image between the predicted image and the input image (“residual”).
  • a transform coefficient obtained by performing frequency transform such as DCT (Discrete Cosine Transform) transform on each block is encoded.
  • CAVLC Context-based Adaptive Variable Length Coding
  • CABAC Context-based Adaptive Binary. Arithmetic Coding
  • each transform coefficient is sequentially scanned to form a one-dimensional vector, and then a syntax indicating the value of each transform coefficient, a syntax indicating a continuous length of 0 (also called a run), and the like are encoded. It becomes.
  • CABAC CABAC
  • binarization processing is performed on various syntaxes representing transform coefficients, and binary data obtained by the binarization processing is arithmetically encoded.
  • the various syntaxes include a flag indicating whether or not the transform coefficient is 0, that is, a flag significant_coeff_flag (also referred to as a transform coefficient presence / absence flag) indicating the presence or absence of a non-zero transform coefficient, and the last in the processing order.
  • last_significant_coeff_x and last_significant_coeff_y indicating the position of the non-zero transform coefficient.
  • CABAC CABAC
  • a context index assigned to a frequency component to be processed is referred to, and a context variable designated by the context index is referred to.
  • the occurrence probability specified by the probability state index is updated every time one symbol is encoded.
  • Non-Patent Document 1 (1) the frequency region for a relatively large block such as 16 ⁇ 16 pixels or 32 ⁇ 32 pixels is divided into a plurality of partial regions, and (2) they are included in the partial region on the low frequency side.
  • a context index also referred to as a position context
  • the frequency component included in the high frequency side partial domain It is described that a context index (also referred to as a peripheral reference context) determined according to the number of non-zero transform coefficients in frequency components around the frequency component is allocated. According to this technique, the total number of contexts to be referred to can be kept small on the high frequency side while reducing the processing amount on the low frequency side.
  • Non-Patent Document 2 encoding of transform coefficients uses arithmetic coding and uses encoding called bypass (that is, arithmetic coding and does not use context) while using arithmetic coding.
  • bypass that is, arithmetic coding and does not use context
  • a technique for improving the throughput without requiring a context update there is known a technique for improving the throughput without requiring a context update.
  • the binarization used in CAVLC is used instead of the binarization conventionally used in CABAC.
  • ⁇ WD4 Working Draft 4 of High-Efficiency Video Coding (JCTVC-F803_d2) '', Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11 6thoret IT, 14-22 July, 2011 (released on October 8, 2011) J. Lainema, K. Ugur and A. Hallapuro “Single entropy coder for HEVC with a high throughput binarization mode”, JCTVC-G569, Geneva, Novemver2011 (released November 2011)
  • Non-Patent Document 1 since the peripheral reference context is used on the high frequency side where the number of components is large, the amount of calculation for context calculation for decoding the flag significant_coeff_flag indicating the presence or absence of the non-zero transform coefficient increases. However, there has been a problem of incurring a delay in the decoding process.
  • Non-Patent Document 2 uses the binarization used in CAVLC, which requires two modes, a run mode and a level mode, and has a problem that the processing becomes complicated. In addition, since no context is used, there is a problem that the encoding efficiency is greatly reduced.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide an arithmetic decoding apparatus and an arithmetic coding capable of reducing the processing amount as compared with the conventional configuration while realizing high coding efficiency. To implement the device.
  • an arithmetic decoding device provides an arithmetic decoding device that arithmetically decodes encoded data of transform coefficients obtained by subjecting a target image to frequency conversion for each unit region.
  • Syntax decoding means for decoding each of at least the first syntax and the second syntax indicating transform coefficients by arithmetic decoding using a context or arithmetic decoding without using a context, the syntax decoding means, Decoding the second syntax by arithmetic decoding without using the context without decoding the first syntax, and decoding the first syntax by arithmetic decoding using the context; And decoding the second syntax by arithmetic decoding without using a context.
  • an arithmetic encoding device is an arithmetic encoding device that generates encoded data of transform coefficients obtained by subjecting a target image to frequency conversion for each unit region.
  • Syntax encoding means for arithmetically encoding each of at least the first syntax and the second syntax indicating the transform coefficient by arithmetic encoding using context or arithmetic encoding not using context.
  • the syntax encoding means encodes the second syntax by arithmetic coding without using the context without encoding the first syntax, and the first syntax. Is encoded by arithmetic encoding using the context, and the second syntax is encoded by arithmetic encoding without context. Characterized in that it comprises at least and.
  • an arithmetic decoding method provides an arithmetic decoding method for performing arithmetic decoding on encoded data of transform coefficients obtained by subjecting a target image to frequency conversion for each unit region.
  • Decoding at least the first syntax and the second syntax indicating the transform coefficient by at least arithmetic decoding using a context or arithmetic decoding without using a context includes: When the second syntax is decoded by arithmetic decoding without using the context without decoding the syntax, the first syntax is decoded by arithmetic decoding using the context, and the second syntax And at least the case of decoding the syntax of the above by arithmetic decoding without using a context. .
  • FIG. 7 is a diagram illustrating a data configuration of encoded data generated by a video encoding device according to an embodiment of the present invention and decoded by a video decoding device, where (a) to (d) are a picture layer, It is a figure which shows a slice layer, a tree block layer, and a CU layer. It is a figure which shows the pattern of PU division
  • (A) to (h) show partition shapes when PU partition types are 2N ⁇ N, 2N ⁇ nU, 2N ⁇ nD, 2N ⁇ N, 2N ⁇ nU, and 2N ⁇ nD, respectively. . It is a figure which shows about the division
  • (A) is a square division
  • (b) is a horizontal rectangular division
  • (c) is a vertical rectangular division
  • (d) is a horizontal division of a horizontal node
  • (e) is a horizontal division
  • (F) shows the vertical division of the vertically long node
  • (g) shows the square division of the vertical node.
  • (C) illustrates a non-zero transform coefficient in the processing frequency domain
  • (d) illustrates the value of the syntax significant_coeff_flag in the target frequency domain
  • (e) Exemplifies values obtained by decoding the syntax coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, and coeff_abs_level_minus3 in the target frequency domain
  • (f) illustrates the value of the syntax coeff_sign_flag in the target frequency domain.
  • (A) is a figure which shows the frequency area
  • FIG. 10 is a diagram illustrating reference regions that are referred to by the peripheral reference context deriving unit in the third configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and (a) to (b) are reference regions having a reference number of four.
  • C) to (f) exemplify a reference region having a reference number of 3
  • (g) to (h) exemplify a reference region having a reference number of 2.
  • (I) shows another example of the reference region having the reference number of three.
  • FIG. 10 is a diagram for explaining a third configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and among the partial regions R0 to R3 constituting the target frequency region, partial contexts in partial regions R2 and R3 The case of sharing is shown. It is a block diagram which shows the 4th structural example of the coefficient presence / absence flag decoding part which concerns on embodiment.
  • FIG. 10 is a diagram for describing a fourth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and among the partial regions R0 to R4 constituting the target frequency region, partial contexts in partial regions R2 and R3 The case of sharing is shown. It is a block diagram which shows the 5th structural example of the coefficient presence / absence flag decoding part which concerns on embodiment.
  • FIG. 10 is a diagram for explaining a fifth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and (a) to (c) exemplify a reference region having a reference number of two. It is a block diagram which shows the 6th structural example of the coefficient presence / absence flag decoding part which concerns on embodiment.
  • (a) is each value of the context index derived
  • (B) shows each value of the context index ctxIdx derived by the coefficient presence / absence flag decoding unit according to the configuration example, and (c) is shown by the coefficient presence / absence flag decoding unit according to the configuration example.
  • An example of the derived ctxIdxH is illustrated, and (d) illustrates an example of the ctxIdxV derived by the coefficient presence / absence flag decoding unit according to the configuration example.
  • FIG. 10 is a diagram for explaining seventh to ninth configuration examples of the coefficient presence / absence flag decoding unit according to the embodiment, and illustrates scanning in units of sub-blocks.
  • 20 is a flowchart showing an example of an operation flow in the seventh to ninth configuration examples of the coefficient presence / absence flag decoding unit according to the embodiment.
  • FIG. 24 is a flowchart showing another example of the operation flow in the seventh to ninth configuration examples of the coefficient presence / absence flag decoding unit according to the embodiment. It is a figure which shows an example of the frequency area
  • FIG. 10 is a diagram for describing seventh to ninth configuration examples of the coefficient presence / absence flag decoding unit according to the embodiment, and reference frequency components c1 to c5 included in a reference region set around the position of the target frequency component x Is shown.
  • FIG. 1 It is a block diagram which shows the 9th structural example of the coefficient presence / absence flag decoding part which concerns on embodiment. It is a figure which shows an example of the frequency area
  • FIG. 10 is a flowchart showing a flow of operations according to seventh to ninth configuration examples of a coefficient presence / absence flag encoding unit according to the embodiment. It is a block diagram which shows the 7th structural example of the coefficient presence / absence flag encoding part which concerns on embodiment. It is a block diagram which shows the 8th structural example of the coefficient presence / absence flag encoding part which concerns on embodiment. It is a block diagram which shows the 9th structural example of the coefficient presence / absence flag encoding part which concerns on embodiment.
  • FIG. 49 is a diagram for describing context index derivation processing according to another configuration example of the third configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, in each of the partial regions R0 to R3 illustrated in FIG. It is a pseudo code which shows the derivation
  • FIG. 49 is a diagram for explaining context index derivation processing by the coefficient presence / absence flag decoding unit according to the embodiment, and derives context indexes to be allocated to frequency regions included in each of the partial regions R0 to R3 shown in FIG. 48 (b). It is a pseudo code which shows derivation processing. It is a figure for demonstrating the other structural example of the 3rd structural example of the coefficient presence / absence flag decoding part which concerns on embodiment, Comprising: The reference frequency component c1 contained in the reference area set around the position of the object frequency component x , C2 and c5. FIG.
  • FIG. 49 is a diagram for describing context index derivation processing according to another configuration example of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and each of the partial regions R0 to R3 illustrated in FIG. It is a pseudo code which shows the derivation
  • FIG. 49 is a diagram for describing context index derivation processing according to another configuration example of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and each of the partial regions R0 to R3 illustrated in FIG. It is a pseudo code which shows the derivation
  • FIG. 49 is a diagram for describing context index derivation processing according to another configuration example of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and each of the partial regions R0 to R3 illustrated in FIG. It is a pseudo code which shows the deriv
  • FIG. 49 is a diagram for describing context index derivation processing according to another configuration example of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and each of the partial regions R0 to R3 illustrated in FIG. It is a pseudo code which shows the derivation
  • FIG. 49 is a diagram for describing context index derivation processing according to another configuration example of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and each of the partial regions R0 to R3 illustrated in FIG. It is a pseudo code which shows the derivation
  • FIG. 49 is a diagram for describing context index derivation processing according to another configuration example of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and each of the partial regions R0 to R3 illustrated in FIG. It is a pseudo code which shows the deriv
  • FIGS. 48 (a) to 48 (b) are diagrams for describing context index derivation processing according to another configuration example of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment, and the partial regions R0 to R0 illustrated in FIGS. 48 (a) to 48 (b); It is a pseudo code which shows the derivation
  • FIG. 48 is a diagram for describing context index derivation processing according to a configuration example in consideration of context update delay removal of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment; This is pseudo code showing a derivation process for deriving a context index to be assigned to a frequency region included in each of the partial regions R0 to R3 shown.
  • FIG. 48 is a diagram for describing context index derivation processing according to a configuration example in consideration of context update delay removal of the eighth configuration example of the coefficient presence / absence flag decoding unit according to the embodiment;
  • This is pseudo code showing a derivation process for deriving a context index to be assigned to a frequency region included in each of the partial regions R0 to R3 shown.
  • It is a block diagram which shows the structure of the quantization residual information decoding part with which the moving image decoding apparatus 3 which concerns on embodiment of this invention is provided. It is a figure which shows the first half part of the syntax table which shows the syntax contained in the quantization residual information of the coding data of a prior art.
  • the decoding apparatus decodes a moving image from encoded data. Therefore, hereinafter, this is referred to as “moving image decoding apparatus”.
  • the encoding device according to the present embodiment generates encoded data by encoding a moving image. Therefore, hereinafter, this is referred to as a “moving image encoding device”.
  • the scope of application of the present invention is not limited to this. That is, as will be apparent from the following description, the features of the present invention can be realized without assuming a plurality of frames. That is, the present invention can be applied to a general decoding apparatus and a general encoding apparatus regardless of whether the target is a moving image or a still image.
  • the encoded data # 1 exemplarily includes a sequence and a plurality of pictures constituting the sequence.
  • the sequence layer a set of data referred to by the video decoding device 1 is defined in order to decode the sequence to be processed.
  • the sequence layer includes a sequence parameter set SPS, a picture parameter set PPS, and a picture PICT.
  • FIG. 2 shows the hierarchical structure below the picture layer in the encoded data # 1.
  • 2A to 2D are included in the picture layer that defines the picture PICT, the slice layer that defines the slice S, the tree block layer that defines the tree block TBLK, and the tree block TBLK, respectively.
  • Picture layer In the picture layer, a set of data referred to by the video decoding device 1 for decoding a picture PICT to be processed (hereinafter also referred to as a target picture) is defined. As shown in FIG. 2A, the picture PICT includes a picture header PH and slices S 1 to S NS (NS is the total number of slices included in the picture PICT).
  • the picture header PH includes a coding parameter group referred to by the video decoding device 1 in order to determine a decoding method of the target picture.
  • the encoding mode information (entropy_coding_mode_flag) indicating the variable length encoding mode used in encoding by the moving image encoding device 2 is an example of an encoding parameter included in the picture header PH.
  • the picture PICT is encoded by CAVLC (Context-based Adaptive Variable Variable Length Coding).
  • CAVLC Context-based Adaptive Variable Variable Length Coding
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • slice layer In the slice layer, a set of data referred to by the video decoding device 1 for decoding the slice S to be processed (also referred to as a target slice) is defined. As shown in FIG. 2B, the slice S includes a slice header SH and tree blocks TBLK 1 to TBLK NC (where NC is the total number of tree blocks included in the slice S).
  • the slice header SH includes a coding parameter group that the moving image decoding apparatus 1 refers to in order to determine a decoding method of the target slice.
  • Slice type designation information (slice_type) for designating a slice type is an example of an encoding parameter included in the slice header SH.
  • the slice types that can be specified by the slice type specification information include (1) I slice that uses only intra prediction at the time of encoding, (2) P slice that uses single prediction or intra prediction at the time of encoding, ( 3) B-slice using single prediction, bi-prediction, or intra prediction at the time of encoding may be used.
  • the slice header SH includes a filter parameter FP that is referred to by a loop filter included in the video decoding device 1.
  • the filter parameter FP includes a filter coefficient group.
  • the filter coefficient group includes (1) tap number designation information for designating the number of taps of the filter, (2) filter coefficients a 0 to a NT-1 (NT is the total number of filter coefficients included in the filter coefficient group), and (3) Offset o is included.
  • Tree block layer In the tree block layer, a set of data referred to by the video decoding device 1 for decoding a processing target tree block TBLK (hereinafter also referred to as a target tree block) is defined.
  • the tree block TBLK includes a tree block header TBLKH and coding unit information CU 1 to CU NL (NL is the total number of coding unit information included in the tree block TBLK).
  • NL is the total number of coding unit information included in the tree block TBLK.
  • the tree block TBLK is divided into units for specifying a block size for each process of intra prediction or inter prediction and conversion.
  • the above unit of the tree block TBLK is divided by recursive quadtree partitioning.
  • the tree structure obtained by this recursive quadtree partitioning is hereinafter referred to as a coding tree.
  • a unit corresponding to a leaf that is a node at the end of the coding tree is referred to as a coding node.
  • the encoding node is a basic unit of the encoding process, hereinafter, the encoding node is also referred to as an encoding unit (CU).
  • CU encoding unit
  • the coding unit information CU 1 to CU NL is information corresponding to each coding node (coding unit) obtained by recursively dividing the tree block TBLK into quadtrees.
  • the root of the coding tree is associated with the tree block TBLK.
  • the tree block TBLK is associated with the highest node of the tree structure of the quadtree partition that recursively includes a plurality of encoding nodes.
  • each coding node is half the size of the coding node to which the coding node directly belongs (that is, the unit of the node one layer higher than the coding node).
  • the size that each coding node can take depends on the size designation information of the coding node and the maximum hierarchy depth (maximum hierarchical depth) included in the sequence parameter set SPS of the coded data # 1. For example, when the size of the tree block TBLK is 64 ⁇ 64 pixels and the maximum hierarchical depth is 3, the encoding nodes in the hierarchy below the tree block TBLK have four sizes, that is, 64 ⁇ 64. It can take any of a pixel, 32 ⁇ 32 pixel, 16 ⁇ 16 pixel, and 8 ⁇ 8 pixel.
  • the tree block header TBLKH includes an encoding parameter referred to by the video decoding device 1 in order to determine a decoding method of the target tree block. Specifically, as shown in FIG. 2C, tree block division information SP_TBLK that designates a division pattern of the target tree block into each CU, and a quantization parameter difference that designates the size of the quantization step. ⁇ qp (qp_delta) is included.
  • the tree block division information SP_TBLK is information representing a coding tree for dividing the tree block. Specifically, the shape and size of each CU included in the target tree block, and the position in the target tree block Is information to specify.
  • the tree block division information SP_TBLK may not explicitly include the shape or size of the CU.
  • the tree block division information SP_TBLK may be a set of flags (split_coding_unit_flag) indicating whether or not the entire target tree block or a partial area of the tree block is divided into four.
  • the shape and size of each CU can be specified by using the shape and size of the tree block together.
  • the quantization parameter difference ⁇ qp is a difference qp ⁇ qp ′ between the quantization parameter qp in the target tree block and the quantization parameter qp ′ in the tree block encoded immediately before the target tree block.
  • CU layer In the CU layer, a set of data referred to by the video decoding device 1 for decoding a CU to be processed (hereinafter also referred to as a target CU) is defined.
  • the encoding node is a node at the root of a prediction tree (PT) and a transformation tree (TT).
  • PT prediction tree
  • TT transformation tree
  • the encoding node is divided into one or a plurality of prediction blocks, and the position and size of each prediction block are defined.
  • the prediction block is one or a plurality of non-overlapping areas constituting the encoding node.
  • the prediction tree includes one or a plurality of prediction blocks obtained by the above division.
  • Prediction processing is performed for each prediction block.
  • a prediction block that is a unit of prediction is also referred to as a prediction unit (PU).
  • intra prediction There are roughly two types of division in the prediction tree: intra prediction and inter prediction.
  • inter prediction there are 2N ⁇ 2N (the same size as the encoding node), 2N ⁇ N, N ⁇ 2N, N ⁇ N, and the like.
  • the encoding node is divided into one or a plurality of transform blocks, and the position and size of each transform block are defined.
  • the transform block is one or a plurality of non-overlapping areas constituting the encoding node.
  • the conversion tree includes one or a plurality of conversion blocks obtained by the above division.
  • transform processing is performed for each conversion block.
  • the transform block which is a unit of transform is also referred to as a transform unit (TU).
  • the coding unit information CU specifically includes a skip mode flag SKIP, CU prediction type information Pred_type, PT information PTI, and TT information TTI.
  • the skip flag SKIP is a flag indicating whether or not the skip mode is applied to the target CU.
  • the value of the skip flag SKIP is 1, that is, when the skip mode is applied to the target CU, the code
  • the PT information PTI in the unit information CU is omitted. Note that the skip flag SKIP is omitted for the I slice.
  • the CU prediction type information Pred_type includes CU prediction method information PredMode and PU partition type information PartMode.
  • the CU prediction type information may be simply referred to as prediction type information.
  • the CU prediction method information PredMode specifies whether to use intra prediction (intra CU) or inter prediction (inter CU) as a predicted image generation method for each PU included in the target CU.
  • intra prediction intra CU
  • inter CU inter prediction
  • the types of skip, intra prediction, and inter prediction in the target CU are referred to as a CU prediction mode.
  • the PU partition type information PartMode specifies a PU partition type that is a pattern of partitioning the target coding unit (CU) into each PU.
  • PU partition type dividing the target coding unit (CU) into each PU according to the PU division type in this way is referred to as PU division.
  • the PU partition type information PartMode may be an index indicating the type of PU partition pattern, and the shape, size, and position of each PU included in the target prediction tree may be It may be specified.
  • selectable PU partition types differ depending on the CU prediction method and the CU size. Furthermore, the PU partition types that can be selected are different in each case of inter prediction and intra prediction. Details of the PU partition type will be described later.
  • the value of the PU partition type information PartMode and the value of the PU partition type information PartMode are indices that specify a combination of a tree block partition (partition), a prediction method, and a CU split (split) method. It may be specified by (cu_split_pred_part_mode).
  • the PT information PTI is information related to the PT included in the target CU.
  • the PT information PTI is a set of information on each of one or more PUs included in the PT.
  • the PT information PTI is referred to when the moving image decoding apparatus 1 generates a predicted image.
  • the PT information PTI includes PU information PUI 1 to PUI NP (NP is the total number of PUs included in the target PT) including prediction information and the like in each PU.
  • the prediction information PUI includes an intra prediction parameter PP_Intra or an inter prediction parameter PP_Inter depending on which prediction method is specified by the prediction type information Pred_mode.
  • a PU to which intra prediction is applied is also referred to as an intra PU
  • a PU to which inter prediction is applied is also referred to as an inter PU.
  • the inter prediction parameter PP_Inter includes an encoding parameter that is referred to when the video decoding device 1 generates an inter prediction image by inter prediction.
  • Examples of the inter prediction parameter PP_Inter include a merge flag (merge_flag), a merge index (merge_idx), an estimated motion vector index (mvp_idx), a reference image index (ref_idx), an inter prediction flag (inter_pred_flag), and a motion vector residual (mvd). ).
  • the intra prediction parameter PP_Intra includes a coding parameter that is referred to when the video decoding device 1 generates an intra predicted image by intra prediction.
  • Examples of the intra prediction parameter PP_Intra include an estimated prediction mode flag, an estimated prediction mode index, and a residual prediction mode index.
  • the intra prediction parameter may include a PCM mode flag indicating whether to use the PCM mode.
  • the prediction process (intra), the conversion process, and the entropy encoding process are omitted. .
  • the TT information TTI is information regarding the TT included in the CU.
  • the TT information TTI is a set of information regarding each of one or a plurality of TUs included in the TT, and is referred to when the moving image decoding apparatus 1 decodes residual data.
  • a TU may be referred to as a block.
  • the TT information TTI includes TT division information SP_TU that designates a division pattern of the target CU into each transform block, and TU information TUI 1 to TUI NT (NT is the target CU). The total number of blocks included).
  • TT division information SP_TU is information for determining the shape and size of each TU included in the target CU and the position in the target CU.
  • the TT division information SP_TU can be realized from information (split_transform_flag) indicating whether or not the target node is to be divided and information (trafoDepth) indicating the depth of the division.
  • each TU obtained by the division can take a size from 32 ⁇ 32 pixels to 4 ⁇ 4 pixels.
  • the TU information TUI 1 to TUI NT are individual information regarding one or more TUs included in the TT.
  • the TU information TUI includes a quantized prediction residual (also referred to as a quantized residual).
  • Each quantized prediction residual is encoded data generated by the video encoding device 2 performing the following processes 1 to 3 on a target block that is a processing target block.
  • Process 1 Frequency conversion (for example, DCT transform (Discrete Cosine Transform)) is performed on the prediction residual obtained by subtracting the prediction image from the encoding target image;
  • Process 2 Quantize the transform coefficient obtained in Process 1;
  • Process 3 Variable length coding is performed on the transform coefficient quantized in Process 2;
  • an area obtained by dividing a symmetric CU is also referred to as a partition.
  • FIG. 3 specifically illustrate the positions of the PU partition boundaries in the CU for each partition type.
  • FIG. 3 shows a 2N ⁇ 2N PU partition type that does not perform CU partitioning.
  • FIGS. 3B, 3C, and 3D show the partition shapes when the PU partition types are 2N ⁇ N, 2N ⁇ nU, and 2N ⁇ nD, respectively.
  • (e), (f), and (g) of FIG. 3 show the shapes of the partitions when the PU partition types are N ⁇ 2N, nL ⁇ 2N, and nR ⁇ 2N, respectively.
  • (h) of FIG. 3 has shown the shape of the partition in case PU partition type is NxN.
  • 3 (a) and 3 (h) are referred to as square division based on the shape of the partition. Further, the PU partition types shown in FIGS. 3B to 3G are also referred to as non-square partitioning.
  • the numbers given to the respective regions indicate the identification numbers of the regions, and the processing is performed on the regions in the order of the identification numbers. That is, the identification number represents the scan order of the area.
  • Partition type for inter prediction In the inter PU, seven types other than N ⁇ N ((h) in FIG. 3) are defined among the above eight division types.
  • the four asymmetric partitions may be called AMP (Asymmetric Motion Partition).
  • a specific value of N is defined by the size of the CU to which the PU belongs, and specific values of nU, nD, nL, and nR are determined according to the value of N.
  • a 128 ⁇ 128 pixel inter-CU includes 128 ⁇ 128 pixels, 128 ⁇ 64 pixels, 64 ⁇ 128 pixels, 64 ⁇ 64 pixels, 128 ⁇ 32 pixels, 128 ⁇ 96 pixels, 32 ⁇ 128 pixels, and 96 ⁇ It is possible to divide into 128-pixel inter PUs.
  • Partition type for intra prediction In the intra PU, the following two types of division patterns are defined. That is, there are a division pattern 2N ⁇ 2N in which the target CU is not divided, that is, the target CU itself is handled as one PU, and a pattern N ⁇ N in which the target CU is symmetrically divided into four PUs.
  • the division patterns (a) and (h) can be taken in the example shown in FIG.
  • an 128 ⁇ 128 pixel intra CU can be divided into 128 ⁇ 128 pixel and 64 ⁇ 64 pixel intra PUs.
  • the TU partition pattern is determined by the CU size, the partition depth (trafoDepth), and the PU partition type of the target PU.
  • TU partition patterns include square quadtree partition and non-square quadtree partition.
  • FIG. 4A shows a division method in which a square node is divided into quadtrees into squares.
  • segmentation system which divides a square node into a horizontally long rectangle by quadtree division.
  • segmentation system which divides a square node into a quadrangle
  • FIG. 4D shows a dividing method in which a horizontally long rectangular node is divided into a horizontally long rectangular quadtree.
  • FIG. 4D shows a dividing method in which horizontally long rectangular nodes are divided into quadtrees into squares.
  • (f) in the figure shows a dividing method in which a vertically long rectangular node is divided into quadrants into vertically long rectangles.
  • (g) of the figure has shown the division
  • FIG. 5 is a table showing each syntax included in the quantization residual information QD (indicated as residual_coding_cabac () in FIG. 5).
  • the quantized residual information QD includes the syntax last_significant_coeff_x, last_significant_coeff_y, significant_coeff_flag, coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, coeff_sign_flag, and coeff_abs_level_minus3.
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • the horizontal axis represents the horizontal frequency xC (0 ⁇ xC ⁇ 7)
  • the vertical axis represents the vertical frequency yC (0 ⁇ yC ⁇ 7).
  • the partial areas specified by the horizontal frequency xC and the vertical frequency yC are also referred to as frequency components (xC, yC).
  • the conversion coefficient for the frequency component (xC, yC) is also expressed as Coeff (xC, yC).
  • the conversion coefficient Coeff (0, 0) indicates a DC component, and the other conversion coefficients indicate components other than the DC component.
  • (xC, yC) may be expressed as (u, v), (uiPosX, uiPosY), or the like.
  • 6 (a) to 6 (b) are diagrams showing an example of the scan order in the frequency region FR composed of 8 ⁇ 8 frequency components.
  • scanning is sequentially performed from the low frequency side (upper left in FIG. 6A) to the high frequency side (lower right in FIG. 6A).
  • scanning is performed along the arrows shown in the frequency domain FR.
  • the scan order shown in FIG. 6A may be referred to as a forward scan.
  • scanning is sequentially performed from the high frequency side (lower right in FIG. 6B) to the low frequency side (upper left in FIG. 6B).
  • scanning is performed along the arrows shown in the frequency domain FR.
  • the scan order shown in FIG. 6B may be called reverse scan.
  • FIG. 6C is a diagram exemplifying a non-zero conversion coefficient (non-zero change coefficient) in the frequency domain composed of 8 ⁇ 8 frequency components.
  • the syntax significant_coeff_flag is a syntax indicating whether or not there is a non-zero transform coefficient for each frequency component along the reverse scan direction starting from the non-zero transform coefficient.
  • FIG. 6D shows the value of syntax significant_coeff_flag when the transform coefficient to be decoded is the one shown in FIG.
  • the syntax significant_coeff_flag is a flag that takes 0 for each xC and yC if the conversion coefficient is 0, and 1 if the conversion coefficient is not 0.
  • the syntax significant_coeff_flag is also referred to as a conversion coefficient presence / absence flag.
  • the syntax coeff_abs_level_greater1_flag is a flag indicating whether or not the absolute value of the transform coefficient exceeds 1, and is encoded for a frequency component having a syntax significant_coeff_flag value of 1. When the absolute value of the transform coefficient exceeds 1, the value of coeff_abs_level_greater1_flag is 1, otherwise, the value of coeff_abs_level_greater1_flag is 0.
  • the syntax coeff_abs_level_greater2_flag is a flag indicating whether or not the absolute value of the transform coefficient exceeds 2, and is encoded when the value of coeff_abs_level_greater1_flag is 1. When the absolute value of the transform coefficient exceeds 2, the value of coeff_abs_level_greater2_flag is 1, otherwise, the value of coeff_abs_level_greater2_flag is 0.
  • the syntax coeff_abs_level_minus3 is a syntax for designating the absolute value of the transform coefficient when the absolute value of the transform coefficient is 3 or more, and is encoded when the value of coeff_abs_level_greater2_flag is 1.
  • FIG. 6 (e) shows the absolute value of each transform coefficient obtained by decoding the syntax coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, and coeff_abs_level_minus3.
  • the syntax coeff_sign_flag is a flag indicating the sign of the transform coefficient (whether it is positive or negative), and is encoded for a frequency component whose value of the syntax significant_coeff_flag is 1.
  • FIG. 6 (f) is a diagram showing the syntax coeff_sign_flag when the transform coefficient to be decoded is the one shown in FIG. 6 (c).
  • the syntax coeff_sign_flag is a flag that takes 1 when the transform coefficient is positive and takes 0 when the transform coefficient is negative.
  • variable-length code decoding unit 11 included in the video decoding device 1 decodes the components of the syntax last_significant_coeff_x, last_significant_coeff_y, significant_coeff_flag, coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, coeff_sign_flag, and coeff_abs_level_minx3 by the Ceff coefficient Can be generated.
  • a set of non-zero transform coefficients in a specific area may be called a significance map.
  • the syntaxes coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, coeff_sign_flag, and coeff_abs_level_minus3 are decoded for each group after grouping the frequency components in the frequency domain into one or more groups.
  • FIG. 6G shows an example of grouping in the frequency domain composed of 8 ⁇ 8 frequency components. Details of the decoding processing of various syntaxes will be described later, and the configuration of the moving image decoding device 1 will be described subsequently.
  • the moving picture decoding apparatus 1 is an H.264 video camera. 264 / MPEG-4 AVC standard technology, VCEG (Video Coding Expert Group) technology used in joint development codec KTA software, TMuC (Test Model under Consideration) software This is a decoding device that implements the technology and the technology proposed in HEVC (High-Efficiency Video Coding), which is the successor codec.
  • VCEG Video Coding Expert Group
  • TMuC Transmission Model under Consideration
  • FIG. 7 is a block diagram showing a configuration of the moving picture decoding apparatus 1.
  • the video decoding device 1 includes a variable length code decoding unit 11, a predicted image generation unit 12, an inverse quantization / inverse conversion unit 13, an adder 14, a frame memory 15, and a loop filter 16. I have.
  • the predicted image generation unit 12 includes a motion vector restoration unit 12a, an inter predicted image generation unit 12b, an intra predicted image generation unit 12c, and a prediction method determination unit 12d.
  • the moving picture decoding apparatus 1 is an apparatus for generating moving picture # 2 by decoding encoded data # 1.
  • FIG. 8 is a block diagram showing a main configuration of the variable length code decoding unit 11. As illustrated in FIG. 8, the variable length code decoding unit 11 includes a quantization residual information decoding unit 111, a prediction parameter decoding unit 112, a prediction type information decoding unit 113, and a filter parameter decoding unit 114.
  • the variable length code decoding unit 11 decodes the prediction parameter PP related to each partition from the encoded data # 1 in the prediction parameter decoding unit 112 and supplies the decoded prediction parameter PP to the predicted image generation unit 12. Specifically, for the inter prediction partition, the prediction parameter decoding unit 112 decodes the inter prediction parameter PP_Inter including the reference image index, the estimated motion vector index, and the motion vector residual from the encoded data # 1, and these Is supplied to the motion vector restoration unit 12a. On the other hand, for the intra prediction partition, the intra prediction parameter PP_Intra including the estimated prediction mode flag, the estimated prediction mode index, and the residual prediction mode index is decoded from the encoded data # 1, and these are supplied to the intra predicted image generation unit 12c. To do.
  • variable length code decoding unit 11 decodes the prediction type information Pred_type for each partition from the encoded data # 1 in the prediction type information decoding unit 113, and supplies this to the prediction method determination unit 12d. Further, the variable length code decoding unit 11 uses the quantization residual information decoding unit 111 to convert the quantization residual information QD related to the block and the quantization parameter difference ⁇ qp related to the TU including the block from the encoded data # 1. These are decoded and supplied to the inverse quantization / inverse transform unit 13. In the variable length code decoding unit 11, the filter parameter decoding unit 114 decodes the filter parameter FP from the encoded data # 1 and supplies this to the loop filter 16. Note that a specific configuration of the quantized residual information decoding unit 111 will be described later, and a description thereof will be omitted here.
  • the predicted image generation unit 12 identifies whether each partition is an inter prediction partition that should perform inter prediction or an intra prediction partition that should perform intra prediction, based on prediction type information Pred_type for each partition. In the former case, the inter prediction image Pred_Inter is generated, and the generated inter prediction image Pred_Inter is supplied to the adder 14 as the prediction image Pred. In the latter case, the intra prediction image Pred_Intra is generated, The generated intra predicted image Pred_Intra is supplied to the adder 14. Note that, when the skip mode is applied to the processing target PU, the predicted image generation unit 12 omits decoding of other parameters belonging to the PU.
  • the motion vector restoration unit 12a restores the motion vector mv for each inter prediction partition from the motion vector residual for the partition and the restored motion vector mv ′ for the other partition. Specifically, (1) an estimated motion vector is derived from the restored motion vector mv ′ according to the estimation method specified by the estimated motion vector index, and (2) the derived estimated motion vector and the motion vector residual are A motion vector mv is obtained by addition. It should be noted that the restored motion vector mv ′ relating to other partitions can be read from the frame memory 15. The motion vector restoration unit 12a supplies the restored motion vector mv to the inter predicted image generation unit 12b together with the corresponding reference image index RI.
  • the inter prediction image generation unit 12b generates a motion compensated image mc related to each inter prediction partition by inter-screen prediction. Specifically, using the motion vector mv supplied from the motion vector restoration unit 12a, the motion compensated image from the adaptive filtered decoded image P_ALF ′ designated by the reference image index RI also supplied from the motion vector restoration unit 12a. Generate mc.
  • the adaptive filtered decoded image P_ALF ′ is an image obtained by performing the filtering process by the loop filter 16 on the decoded image that has already been decoded for the entire frame. 12b can read out the pixel value of each pixel constituting the adaptive filtered decoded image P_ALF ′ from the frame memory 15.
  • the motion compensated image mc generated by the inter predicted image generation unit 12b is supplied to the prediction method determination unit 12d as an inter predicted image Pred_Inter.
  • the intra predicted image generation unit 12c generates a predicted image Pred_Intra related to each intra prediction partition. Specifically, first, a prediction mode is specified based on the intra prediction parameter PP_Intra supplied from the variable length code decoding unit 11, and the specified prediction mode is assigned to the target partition in, for example, raster scan order.
  • the prediction mode based on the intra prediction parameter PP_Intra can be performed as follows. (1) The estimated prediction mode flag is decoded, and the estimated prediction mode flag indicates that the prediction mode for the target partition to be processed is the same as the prediction mode assigned to the peripheral partition of the target partition. If the target partition is indicated, the prediction mode assigned to the partition around the target partition is assigned to the target partition. (2) On the other hand, when the estimated prediction mode flag indicates that the prediction mode for the target partition to be processed is not the same as the prediction mode assigned to the partitions around the target partition, The residual prediction mode index is decoded, and the prediction mode indicated by the residual prediction mode index is assigned to the target partition.
  • the intra predicted image generation unit 12c generates a predicted image Pred_Intra from the (local) decoded image P by intra prediction according to the prediction method indicated by the prediction mode assigned to the target partition.
  • the intra predicted image Pred_Intra generated by the intra predicted image generation unit 12c is supplied to the prediction method determination unit 12d.
  • the intra predicted image generation unit 12c can also be configured to generate the predicted image Pred_Intra from the adaptive filtered decoded image P_ALF by intra prediction.
  • the prediction method determination unit 12d determines whether each partition is an inter prediction partition for performing inter prediction or an intra prediction partition for performing intra prediction based on prediction type information Pred_type for the PU to which each partition belongs. To do. In the former case, the inter prediction image Pred_Inter generated by the inter prediction image generation unit 12b is supplied to the adder 14 as the prediction image Pred. In the latter case, the inter prediction image generation unit 12c generates the inter prediction image Pred_Inter. The intra predicted image Pred_Intra that has been processed is supplied to the adder 14 as the predicted image Pred.
  • the inverse quantization / inverse transform unit 13 (1) inversely quantizes the transform coefficient Coeff decoded from the quantized residual information QD of the encoded data # 1, and (2) transform coefficient Coeff_IQ obtained by the inverse quantization. Are subjected to inverse frequency transformation such as inverse DCT (Discrete Cosine Transform) transformation, and (3) the prediction residual D obtained by the inverse frequency transformation is supplied to the adder 14. Note that when the transform coefficient Coeff decoded from the quantization residual information QD is inversely quantized, the inverse quantization / inverse transform unit 13 performs quantization from the quantization parameter difference ⁇ qp supplied from the variable length code decoding unit 11. Deriving step QP.
  • inverse DCT Discrete Cosine Transform
  • the generation of the prediction residual D by the inverse quantization / inverse transform unit 13 is performed in units of blocks obtained by dividing TUs or TUs.
  • the inverse DCT transform performed by the inverse quantization / inverse transform unit 13 sets the pixel position in the target block to (i, j) (0 ⁇ i ⁇ 7, 0 ⁇ j ⁇ 7), and the value of the prediction residual D at the position (i, j) is represented as D (i, j), and the frequency component (u, v) (0 ⁇ u ⁇ 7,
  • the inverse quantized transform coefficient in 0 ⁇ v ⁇ 7) is expressed as Coeff_IQ (u, v), it is given by, for example, the following formula (1).
  • (u, v) is a variable corresponding to (xC, yC) described above.
  • C (u) and C (v) are given as follows.
  • the adder 14 generates the decoded image P by adding the prediction image Pred supplied from the prediction image generation unit 12 and the prediction residual D supplied from the inverse quantization / inverse conversion unit 13.
  • the generated decoded image P is stored in the frame memory 15.
  • the loop filter 16 includes (1) a function as a deblocking filter (DF) that performs smoothing (deblocking processing) on an image around a block boundary or partition boundary in the decoded image P, and (2) a deblocking filter. It has a function as an adaptive filter (ALF: Adaptive Loop Filter) which performs an adaptive filter process using the filter parameter FP with respect to the image which the blocking filter acted on.
  • ALF Adaptive Loop Filter
  • the quantization residual information decoding unit 111 decodes the quantized transform coefficient Coeff (uiPosX, uiPosY) for each frequency component (uiPosX, uiPosY) from the quantization residual information QD included in the encoded data # 1. It is the structure for doing.
  • uiPosX and uiPosY are indexes representing the position of each frequency component in the frequency domain, and are indexes corresponding to the horizontal frequency u and the vertical frequency v described above, respectively.
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • FIG. 1 is a block diagram showing a configuration of the quantized residual information decoding unit 111.
  • the quantized residual information decoding unit 111 includes a transform coefficient decoding unit 120 and an arithmetic code decoding unit 130.
  • the arithmetic code decoding unit 130 is configured to decode each bit included in the quantized residual information QD with reference to the context. As illustrated in FIG. 1, the arithmetic code decoding unit 130 includes a context recording update unit 131 and a bit decoding unit 132. I have.
  • the context recording / updating unit 131 is configured to record and update the context variable CV managed by each context index ctxIdx.
  • the context variable CV includes (1) a dominant symbol MPS (most probable symbol) having a high occurrence probability and (2) a probability state index pStateIdx for designating the occurrence probability of the dominant symbol MPS.
  • the context recording update unit 131 updates the context variable CV by referring to the context index ctxIdx supplied from each unit of the transform coefficient decoding unit 120 and the Bin value decoded by the bit decoding unit 132, and updated. Record the context variable CV until the next update.
  • the dominant symbol MPS is 0 or 1. Further, the dominant symbol MPS and the probability state index pStateIdx are updated every time the bit decoding unit 132 decodes one Bin.
  • the context index ctxIdx may directly specify the context for each frequency component, or may be an increment value from the context index offset set for each TU to be processed (the same applies hereinafter). ).
  • bypass decoding processing in addition to the above processing, decoding processing called bypass can be used.
  • decoding is performed assuming a probability of 0.5 without using the context variable CV. In this case, it is not necessary to update the state of the context variable CV, and the delay associated with the context update can be reduced.
  • Whether to use the bypass may be operated as bypass when ctxIdx is negative, and as non-bypass when Cv is selected according to ctxIdx when ctxIdx is nonnegative.
  • the code decoded by bypass is also called CABAC arithmetic code that does not use a context. Note that bypass may also be called EP coding (equal probability, Equal-Probability coding).
  • the bit decoding unit 132 refers to the context variable CV recorded in the context recording update unit 131 and decodes each bit (also referred to as Bin) included in the quantization residual information QD. Further, the Bin value obtained by decoding is supplied to each unit included in the transform coefficient decoding unit 120. Further, the value of Bin obtained by decoding is also supplied to the context recording update unit 131 and is referred to in order to update the context variable CV.
  • the normal bit decoding unit performs decoding processing in units of 1 bit according to the state of the context variable CV, but in the case of bypass, a plurality of bits can be decoded simultaneously.
  • a bypass capable of decoding a plurality of bits in one cycle can greatly improve the throughput.
  • the transform coefficient decoding unit 120 includes a last position decoding unit 121, a scan order table storage unit 122, a coefficient decoding control unit 123, a coefficient presence / absence flag decoding unit, a coefficient value decoding unit 125, and a decoding coefficient storage unit 126. It has.
  • the last position decoding unit 121 interprets the decoded bit (Bin) supplied from the bit decoding unit 132 and decodes the syntaxes last_significant_coeff_x and last_significant_coeff_y.
  • the decoded syntax last_significant_coeff_x and last_significant_coeff_y are supplied to the coefficient decoding control unit 123.
  • the context index ctxIdx used for decoding the syntax last_significant_coeff_x and last_significant_coeff_y is supplied to the context recording update unit 131.
  • the scan order table storage unit 122 uses, as arguments, the size of the TU to be processed, the scan index indicating the type of scan direction, and the frequency component identification index assigned along the scan order in the frequency domain of the frequency component to be processed. Stores a table that gives the position.
  • ScanOrder shown in FIG. 5 An example of such a scan order table is ScanOrder shown in FIG.
  • log2TrafoSize-2 represents the size of the TU to be processed
  • scanIdx represents the scan index
  • n represents the frequency component identification index assigned along the scan order.
  • xC and yC represent the positions of the frequency components to be processed in the frequency domain.
  • the coefficient decoding control unit 123 is configured to control the order of decoding processing in each unit included in the quantization residual information decoding unit 111.
  • the coefficient decoding control unit 123 refers to the syntax last_significant_coeff_x and last_significant_coeff_y supplied from the last position decoding unit 121, identifies the position of the last non-zero transform coefficient along the forward scan, and identifies the identified last non-zero transform The position of each frequency component (uniPosX, uniPosY) in the scan order starting from the position of the coefficient and in the reverse scan order of the scan order given by the scan order table stored in the scan order table storage unit 122 Supply to the flag decoding unit.
  • the coefficient decoding control unit 123 supplies sz that is a parameter indicating the size of the TU to be processed, that is, the size of the target frequency region, to each unit included in the transform coefficient decoding unit 120 (not shown).
  • sz is specifically a parameter representing the number of pixels on one side of the processing target TU, that is, the number of frequency components on one side of the target frequency region.
  • the coefficient decoding control unit 123 sets the position of each frequency component (uniPosX, uniPosY) to the coefficient presence / absence flag decoding unit in the order of the scan order given by the scan order table stored in the scan order table storage unit 122. It is good also as a structure to supply.
  • the coefficient value decoding unit 125 interprets each Bin supplied from the bit decoding unit 132, decodes the syntax coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, coeff_sign_flag, and coeff_abs_level_minus3, and based on the result of decoding these syntaxes, A value of a transform coefficient (more specifically, a non-zero transform coefficient) in the frequency component is derived. Also, the context index ctxIdx used for decoding various syntaxes is supplied to the context recording update unit 131. The derived transform coefficient value is stored in the decoded coefficient storage unit 126.
  • the decoding coefficient storage unit 126 is a configuration for storing each value of the transform coefficient decoded by the coefficient value decoding unit 125.
  • each value of the syntax significant_coeff_flag decoded by the coefficient presence / absence flag decoding unit is stored in the decoding coefficient storage unit 126.
  • Each value of the transform coefficient stored in the decoded coefficient storage unit 126 is supplied to the inverse quantization / inverse transform unit 13.
  • the coefficient presence / absence flag decoding unit classifies the frequency region into one or a plurality of partial regions according to the magnitude of the frequency, and derives the context index ctxIdx by a derivation method determined for each partial region. This is a configuration for decoding the syntax significant_coeff_flag indicating the presence or absence of a non-zero transform coefficient using the derived context index ctxIdx.
  • FIG. 1 shows a coefficient presence / absence flag decoding unit 124 as a first configuration example of the coefficient presence / absence flag decoding unit according to the present embodiment.
  • the coefficient presence / absence flag decoding unit 124 includes a frequency classification unit 124a, a low frequency position context deriving unit 124b, a peripheral reference context deriving unit 124c, and a high frequency position context deriving unit 124d. .
  • the frequency classifying unit 124a classifies the frequency component into one of a plurality of partial regions according to the position of the frequency component to be decoded in the frequency domain, and also includes a low frequency position context deriving unit 124b and a peripheral reference context deriving unit 124c. And the context index ctxIdx derived by any of the high frequency position context deriving unit 124d is assigned to the frequency component to be decoded.
  • the frequency classification unit 124a refers to the position (uiPosX, uiPosY) of each frequency component included in the frequency domain, and classifies the frequency component into a plurality of partial regions R0 to R3.
  • uiPosX 0, 1,. . . , Sz ⁇ 1
  • uiPosY 0, 1,. . . Sz ⁇ 1
  • the frequency classification unit 124a performs the following classification process.
  • the frequency component satisfying 2 ⁇ uiPosX + uiPosY ⁇ TH1 is classified into the partial region R1.
  • the frequency component satisfying TH1 ⁇ uiPosX + uiPosY ⁇ TH2 is classified into the partial region R2.
  • FIG. 9 shows an example of a frequency region divided into partial regions R0, R1, R2, and R3 by the classification process by the frequency classification unit 124a according to this configuration example.
  • the frequency classifying unit 124a assigns the context index derived by the low frequency position context deriving unit 124b to the frequency components belonging to the partial region R0, and refers to the peripheral components for the frequency components belonging to the partial regions R1 and R2.
  • the context index derived by the context deriving unit 124c is allocated, and the context index derived by the high frequency position context deriving unit 124d is allocated to the frequency components belonging to the partial region R3.
  • setting the value of TH2 to be equal to or less than sz-2 may omit the determination of whether or not the frequency components around the target frequency component can be referred to in the peripheral reference context deriving unit 124c, as will be described later. This is preferable because it is possible. In other words, it is preferable to use the peripheral reference context for frequency components such that all reference pixels used for deriving the peripheral reference context are within the processing target TU, and use the position context for frequency components that are not.
  • TH2 it is preferable to set the value of TH2 to sz-2 when a peripheral frequency component at a position separated by 2 is used as a target position.
  • the value of TH2 may be set to sz-1.
  • the value of TH2 can be set to sz-2 or less, which is preferable.
  • TH2 can be obtained by a sum of products such as sz ⁇ 7 >> 3 in addition to a method of obtaining TH2 by sz-2.
  • the threshold value can be obtained by referring to a table determined for each sz.
  • the logarithm log2 (sz) of the size is 4 when the frequency domain size is 16 ⁇ 16 and 5 when the size of the frequency domain is 32 ⁇ 32, but the table tableTH2 [] below is the logarithm value of the size.
  • the constant TH2 can be calculated by referring to.
  • the threshold value is calculated from the sz size
  • the table can be reduced.
  • the method of obtaining by product, division, and shift of is desirable.
  • the frequency classification unit 124a refers to (uiPosX, uiPosY) as the position of the target frequency component.
  • the present embodiment is not limited to this.
  • a frequency component identification index for example, “n” in FIG. 5
  • the target frequency component is set to any one of the plurality of partial regions. It is good also as a structure classified.
  • the frequency classification unit 124a calculates a context index ctxIdx for determining a context to be used for decoding the syntax significant_coeff_flag by the arithmetic code decoding unit 130.
  • the context index ctxIdx is calculated for each frequency region size and frequency component to be decoded.
  • the decoded syntax significant_coeff_flag is stored in the decoding coefficient storage unit 126 and is referred to by the coefficient value decoding unit 125.
  • the context index ctxIdx used at the time of decoding is supplied to the context recording update unit 131.
  • the low frequency location context deriving unit 124b derives the context index ctxIdx for the frequency component based on the position of the frequency component in the frequency region. It is the structure for.
  • the context derived or derived based on the position of the target frequency component is also expressed as a “position context”. Since the context of the coefficient presence / absence flag at the position of a certain transform coefficient is determined regardless of the value of the coefficient presence / absence flag already decoded, the position context is derived from the context of the coefficient presence / absence flag and the coefficient presence / absence flag There is an effect that decoding can be performed in parallel.
  • the low frequency position context deriving unit 124b derives the context index ctxIdx using the following formula for the frequency components belonging to the partial region R0, and the derived context index ctxIdx to the frequency classifying unit 124a. Supply.
  • NX N4 + N8.
  • the context index of the position context deriving unit may be a fixed value. That is, one context may be assigned to the positions of all frequency components included in the partial region assigned using the position context. For example, the following allocation method may be performed.
  • ctxIdx NX
  • the fixed value (start point NX) may be selected according to the color component and the size of the frequency domain.
  • a context derivation unit that derives a context index with a fixed value is also referred to as a position context derivation unit.
  • the method of assigning a fixed value to a context index in a certain partial area after classifying the partial area according to the position of the transform coefficient means that the context is assigned according to the position. I can call you.
  • the peripheral reference context deriving unit 124c is configured to derive the context index ctxIdx for the frequency component to be decoded based on the number of non-zero transform coefficients that have been decoded for the frequency component around the frequency component.
  • a context derived or derived with reference to a decoded non-zero transform coefficient for frequency components around the target frequency component is also expressed as a “peripheral reference context”.
  • the peripheral reference context deriving unit 124c derives a context index ctxIdx using the following formula for the frequency components belonging to the partial region R1, and supplies the derived context index ctxIdx to the frequency classifying unit 124a. To do.
  • ctxIdx NX + 3 + min (4, cnt)
  • the many-to-one conversion process is performed by a process of clipping the count number cnt to a fixed value (here, 4).
  • the starting point of the context index of the partial area R1 is NX + 3 for the following reason. Since the range of offset 2 ⁇ uiPosX + uiPosY from the starting point of the partial area R1 is 0, 1, 2 and NX, NX + 1, NX + 2 are used in the partial area R1, the contexts of R1 and R0 overlap. The starting point of R1 is determined so as not to become. Thereafter, unless otherwise specified, the starting point of the partial region RN + 1 is set to the maximum value of the starting point of the partial region RN and the offset threshold value of the partial region RN + 1. Thereby, it is possible to prevent the contexts from overlapping in the two partial areas.
  • the edge reference context deriving unit 124c derives a context index ctxIdx for the frequency components belonging to the partial region R2 using the following formula, and uses the derived context index ctxIdx as the frequency classification unit 124a. To supply.
  • ctxIdx NX + 8 + min (4, cnt)
  • cnt represents the number of non-zero transform coefficients (count number) decoded for frequency components around the target frequency component.
  • FIG. 10A shows the target frequency component x when the processing order is the reverse scan order, and reference frequency components c1 to c5 that are frequency components included in the reference region RR set around the position of the target frequency component x. Represents.
  • FIG. 10 (a) if the transform coefficient values decoded for each of the reference frequency components are expressed as c1 to c5, cnt for the target frequency component x is derived by the following equation, for example. Can do.
  • each term takes 1 when the argument in () is true, and takes 0 when the argument in () is false.
  • FIG. 10B shows the target frequency component x when the processing order is the forward scan order, and reference frequency components c1 to c5 that are frequency components included in the reference region RR set around the position of the target frequency component x.
  • the formula for calculating cnt is the same as above.
  • the position of the reference frequency component in the forward scan is the same as the position of each reference frequency component in the reverse scan with respect to the target frequency component x in the X-axis direction and the Y-axis. It is obtained by reversing in the direction.
  • the high frequency position context deriving unit 124d derives the context index ctxIdx for the frequency component based on the position of the frequency component in the frequency domain when the frequency component to be decoded is included in the partial area on the high frequency side. It is the composition.
  • the high frequency position context deriving unit 124d derives the context index ctxIdx using the following formula for the frequency components belonging to the partial region R3, and supplies the derived context index ctxIdx to the frequency classification unit 124a. To do.
  • ctxIdx NX + 13 + min (maxR3, (uiPosX + uiPosY ⁇ TH2) >> shift)
  • the symbol “>>” represents a right bit shift.
  • the low frequency position context deriving unit 124b, the peripheral reference context deriving unit 124c, and the high frequency position context deriving unit 124d may be any of 16 ⁇ 16 and 32 ⁇ 32 in the target frequency region.
  • the context index ctxIdx may be derived using a common formula, or the context index ctxIdx may be calculated using a different formula depending on whether the size of the target frequency region is 16 ⁇ 16 or 32 ⁇ 32. It is good also as a structure to derive.
  • the low frequency position context deriving unit 124b and the high frequency position context deriving unit 124d are configured to derive the context index ctxIdx using different expressions for each size of the frequency domain, and the peripheral reference context deriving unit 124c has different sizes.
  • the context index ctxIdx may be derived using a common formula for the frequency domain.
  • category part 124a which concerns on this structural example is not limited to what is shown in FIG. 9,
  • the frequency domain may be divided.
  • the context index of the position context deriving unit may be a fixed value. That is, one context may be assigned to all frequency positions in the partial area assigned using the position context.
  • the following allocation method is also called a position context deriving unit.
  • ctxIdx NX
  • the fixed value (start point NX) may be selected according to the color component and the size of the frequency domain.
  • the frequency domain is classified into partial domains R0, R1, and R3.
  • the context index ctxIdx is set by the low frequency position context deriving unit 124b, the peripheral reference context deriving unit 124c, and the high frequency position context deriving unit 124d, respectively. Calculated.
  • the frequency domain is classified into partial domains R1 and R3.
  • the context index ctxIdx is calculated by the peripheral reference context deriving unit 124c and the high frequency position context deriving unit 124d for the frequency components belonging to the partial regions R1 and R3, respectively.
  • the context index to be assigned to each transform coefficient presence / absence flag belonging to the high frequency side partial area among the plurality of partial areas in the target frequency area is the target. Since it is derived based on the position of the transform coefficient presence / absence flag in the frequency domain, the processing amount for context index derivation processing on the high frequency side is reduced compared to the conventional configuration while realizing high coding efficiency. can do.
  • FIG. 12 is a block diagram showing the configuration of the coefficient presence / absence flag decoding unit 124-1 according to this configuration example.
  • FIG. 13 is a diagram for explaining a scan string in which the non-zero conversion coefficient counting unit 124f counts the number of non-zero conversion coefficients.
  • the coefficient presence / absence flag decoding unit 124-1 includes a frequency classification unit 124a, a low frequency position context deriving unit 124b, a peripheral reference context deriving unit 124c, and a previous scan sequence context deriving unit 124e.
  • the previous scan sequence context deriving unit 124e includes a non-zero conversion coefficient counting unit 124f. Note that members having the same functions as those shown in the first configuration example are given the same reference numerals, and descriptions thereof are omitted.
  • This configuration example is different from the first configuration example in the method of deriving the context index ctxIdx for the frequency components belonging to the partial region R3.
  • the context index ctxIdx is derived for the frequency components belonging to the partial region R0 using the following formula, as in the first configuration example.
  • ctxIdx NX + 2 ⁇ uiPosX + uiPosY
  • the context index ctxIdx is derived using the following equation.
  • ctxIdx NX + 3 + min (4, cnt)
  • the context index ctxIdx is derived using the following formula for the frequency components belonging to the partial region R2.
  • ctxIdx NX + 8 + min (4, cnt)
  • the previous scan sequence context deriving unit 124e derives a context index ctxIdx by the following method.
  • the previous scan sequence context deriving unit 124e includes the context index ctxIdx for the frequency component in the non-scan sequence included in the previous scan sequence. This is a configuration for deriving based on the number of zero conversion coefficients.
  • non-zero transform coefficient counting unit 124f included in the previous scan string context deriving unit 124e is configured to count the number of non-zero transform coefficients that appear in the previous scan string.
  • the previous scan sequence context deriving unit 124e derives the context index ctxIdx using the following formula for the frequency components belonging to the partial region R3, and the derived context index ctxIdx is sent to the frequency classifying unit 124a. Supply.
  • ctxIdx NX + 13 + min (maxR3, last_cnt ⁇ linebl [uiPosX + uiPosY] >> shift)
  • last_cnt indicates the number of non-zero transform coefficients that appear in the previous scan string.
  • linebl is a coefficient table for normalizing the number of non-zero transform coefficients because the number of non-zero transform coefficients present differs depending on the scan sequence, and is generated by the following equation.
  • non-zero transform coefficient counting unit 124f is the case where the scan order is reverse scan, and the scan sequence Lx (FIG. 13A) to which the target frequency component belongs is processed, Count the number of non-zero conversion coefficients last_cnt generated in the scan string Lx + 1. In the case of forward scanning, the number of non-zero conversion coefficients generated in the Lx-1 line is counted.
  • the previous scan sequence context deriving unit 124e uses the number of non-zero transform coefficients that appeared before the previous scan sequence, not the number of non-zero transform coefficients that appeared in the previous scan sequence. May be.
  • the last_cnt may be obtained by adding the value last_cnt ′ >> 1 obtained by applying a weight to the last_cnt ′ used in the previous scan sequence to the number of non-zero conversion coefficients curr_cnt of the current scan sequence. .
  • last_cnt (last_cnt ′ >> 1) + curr_cnt It becomes.
  • previous scan sequence context deriving unit 124e may be configured to derive the context index ctxIdx by a different method depending on the position of the frequency component.
  • the context index ctxIdx is derived by the following equation.
  • CtxIdx 13 + min (maxR3, last_cntx ⁇ linebl [uiPosX + uiPosY] >> shift)
  • the context index ctxIdx is derived by the following equation.
  • last_cntx is the number of non-zero transform coefficients that appeared in the previous scan sequence that satisfies uiPosX> uiPosY
  • last_cnty satisfies non-zero that appeared in the previous scan sequence that satisfies uiPosX ⁇ uiPosY. The number of conversion coefficients.
  • the scan column in the upper right direction from the center is the target of the last_cntx count
  • the scan column in the lower left direction from the center is the target of the last_cnty count (FIG. 13B).
  • previous scan sequence context deriving unit 124e may be configured to derive the context index ctxIdx by the following formula.
  • the context index assigned to each transform coefficient presence / absence flag along the current scan sequence in the partial region on the high frequency side among the plurality of partial regions Derived based on the number of non-zero transform coefficients along the previous scan sequence.
  • the number of non-zero transform coefficients along the previous scan sequence is counted, it can be used in common when deriving a context index to be assigned to each transform coefficient presence / absence flag along the current scan sequence. . Therefore, it is possible to reduce the processing amount for the context index derivation process on the high frequency side, compared to the conventional configuration in which the context index must be individually derived for the transform coefficient presence / absence flags at different positions. At the same time, high encoding efficiency can be realized.
  • FIG. 14 is a block diagram showing a configuration of the coefficient presence / absence flag decoding unit 124-2 according to this configuration example.
  • FIGS. 15A to 15I are diagrams showing frequency components to be referred to when the peripheral reference context deriving unit 124g derives a context. As already shown in the relationship between FIG. 10 (a) and FIG. 10 (b), even in the cases of FIGS.
  • the position of the reference frequency component in the corresponding forward scan is Each position of the reference frequency component in the case of the reverse scan is obtained by inverting the target frequency component x in the X axis direction and the Y axis direction. Therefore, the present invention can also be applied when significant_coeff_flag is performed by forward scanning.
  • the coefficient presence / absence flag decoding unit 124-2 includes a frequency classification unit 124a, a low frequency position context deriving unit 124b, and a peripheral reference context deriving unit 124g. Note that members having the same functions as those shown in the first configuration example are given the same reference numerals, and descriptions thereof are omitted.
  • This configuration example is different from the first configuration example in the method of deriving the context index ctxIdx for the frequency components belonging to the partial region R3.
  • the context index ctxIdx is derived for the frequency components belonging to the partial region R0 using the following formula, as in the first configuration example.
  • ctxIdx NX + 2 ⁇ uiPosX + uiPosY
  • the context index ctxIdx is derived using the following equation.
  • ctxIdx NX + 3 + min (4, cnt)
  • the context index ctxIdx is derived using the following formula for the frequency components belonging to the partial region R2.
  • the peripheral reference context deriving unit 124g derives the context index ctxIdx by the following method.
  • the peripheral reference context deriving unit 124g is configured to derive the context index ctxIdx for the frequency component to be decoded based on the number of non-zero transform coefficients that have been decoded for the frequency component around the frequency component.
  • the peripheral reference context deriving unit 124g uses cnt2 (limited reference count) having a smaller number of references than the cnt used in the low-frequency regions R1 and R2, and uses the following formula to determine the context for the frequency component belonging to the partial region R3.
  • the index ctxIdx is derived.
  • the limited reference count means that the reference area is limited to be smaller than the count used in other partial areas.
  • calculation of a normal count cnt such as a 5-point reference is called a normal reference count.
  • c1, c3, and c4 are transform coefficients decoded for frequency components around the target frequency component x shown in (i) of FIG.
  • the context start point of the partial area R3 is NX + 8, which is equal to the context start point of the partial area R2.
  • the count numbers cnt and cnt2 have the same value
  • the partial region R2 and the partial region R3 have the same context index CtxIdx.
  • the partial area R2 and the partial area R3 share the same context.
  • FIG. 16 shows a case where a partial context is shared by partial areas R2 and R3 among the partial areas R0 to R3 constituting the target frequency area. More specifically, the normal reference count used in the partial region R2 and the limited reference count used in the partial region R3 share the context indicated by the same context index (here, NX + 8 to NX + 11). .
  • the peripheral reference context deriving unit 124g adds a predetermined start point (for example, NX) determined for each partial region and a variable (for example, cnt2) determined for each partial region.
  • the context index is derived by setting the start point to the same value for a plurality of partial areas having different derivation methods for the variables, and thus in the plurality of partial areas having different derivation methods for the indexed index. , Using a common context.
  • FIG. 48 (a) and 48 (b) are diagrams showing partial areas divided by the frequency classifying unit 124a in this processing example, and FIG. 48 (a) is suitable for decoding transform coefficients relating to luminance values.
  • FIG. 48 (b) is preferably applied when decoding transform coefficients related to color differences.
  • width indicates the width of the target frequency region expressed in units of frequency components
  • the frequency classifying unit 124a compares the sum of the X coordinate and the Y coordinate and the threshold value TH according to the position (xC, yC) on the frequency component of the target conversion coefficient as shown in the following equation. Is used to classify the partial region R1 and the partial region R2.
  • the frequency classifying unit 124a responds to a value (sub block coordinates) obtained by dividing the position (xC, yC) on the frequency component of the target transform coefficient by a certain sub block size (here, 4).
  • a certain sub block size here, 4
  • the partial area R2 and the partial area R3 having different reference numbers are classified using the comparison of the threshold TH2 with the sum of the X coordinate and the Y coordinate in the sub-block coordinates as in the following expression.
  • sz Max (width, height)
  • TH2 is equal to or less than Max (width, height) >> 2 (>> 2 is a process of dividing by sub-blocks when the sub-block size is 4) in view of the balance between processing amount reduction and encoding efficiency reduction. It is preferable that
  • the thresholds TH and TH2 are less than sz when the sum of the X coordinate and the Y coordinate is used for determination in terms of the balance between processing amount reduction and encoding efficiency reduction.
  • the sum of the X coordinate and the Y coordinate of the sub block it is preferable to have a size equal to or smaller than sz / sub block.
  • the threshold values TH and TH2 are determined by adding the sum of the X coordinate and the Y coordinate to the determination.
  • the threshold value may be determined according to the size of the target frequency region. For example, as shown in the following expression, a value obtained by shifting the maximum value of the width and height of the target frequency region to the right and a value obtained by adding or subtracting a predetermined value after the right shift may be used.
  • TH2 3 ⁇ Max (Width, height) >> 4
  • TH2 (3 ⁇ Max (width, height) >> 4) +4
  • FIG. 49 is a pseudo code showing a derivation process for deriving a context index cxtIdx related to luminance, which is a context index assigned to the frequency regions included in each of the partial regions R0 to R3 shown in FIG.
  • the context derivation of the region R0 is performed by the position context derivation unit 124b
  • the context derivation of the regions R1 to R3 is performed by the peripheral reference context derivation unit 124g.
  • the peripheral reference context deriving unit 124g derives a context index sigCtx for the frequency components belonging to the partial region R1 using the following formula, and supplies the derived result sigCtx to the frequency classification unit 124a.
  • sigCtx sigCtxOffsetR1 + Min (2, ctxCnt);
  • the context index sigCtx is obtained by the sum of the start point sigCtxOffsetR1 and the offset value ctxCnt.
  • the offset value ctxCnt of this configuration is a value obtained according to the count number, and here is a value obtained by shifting right so that the count number is about 1 ⁇ 2.
  • CtxCnt (cnt + 1) >> 1 ... (eq.A4) It depends on.
  • process of many-to-one conversion may be a process of clipping the number of counts to a fixed value (here, 3) as follows, instead of shifting to the right.
  • ctxCnt min (3, cnt)
  • the context index is calculated as follows.
  • the conversion coefficient to be referred to may be changed according to the position (xC, yC) on the frequency component of the target conversion coefficient. For example, in the pseudo code shown in FIG. 49, switching between reference to five of c1, c2, c3, c4, and c5 or reference to four of c1, c2, c4, and c5 is performed depending on the position. .
  • the peripheral reference context deriving unit 124g uses a starting point (here, sigCtxOffsetR2) different from that of the partial region R1 to calculate the context index sigCtx using the following expression Derived, and the derived result sigCtx is supplied to the frequency classifying unit 124a.
  • sigCtx sigCtxOffsetR2 + Min (2, ctxCnt);
  • the method for calculating the offset value ctxCnt is the same as that for the partial region R1.
  • a process of clipping to 2 or less is added, but this is also a many-to-one conversion process.
  • the peripheral reference context deriving unit 124g derives a context index sigCtx for the frequency component belonging to the partial region R3, which is a high frequency component, using the following equation, and the derived result sigCtx is sent to the frequency classification unit 124a. Supply.
  • sigCtx sigCtxOffsetR2 + Min (2, ctxCnt);
  • sigCtxOffsetR2 is used as in the partial region R2.
  • the count number cnt is calculated using two points c1 and c5 shown in FIG.
  • the transform coefficient at the coordinates for example, c3 shown in FIG. 10A located immediately before the process order (lower side of the target transform coefficient position when the process order is the reverse scan order) is used. Since no reference is made, the context derivation process and the decoding process can be performed in parallel.
  • the count value may be calculated using two points c2 and c5 shown in FIG.
  • R2 and the partial region R3 having different reference numbers in the partial region R2 and the partial region R3 having different reference numbers, in the partial region (R2) having the larger reference number, a process of performing a many-to-one conversion of the count number by right shift or the like (also referred to as an aggregation process) is performed.
  • the context index is calculated by obtaining the offset value ctxCnt.
  • the context index is calculated as it is without performing the process of reducing the count number.
  • the processing amount can be reduced because the count number aggregation processing can be deleted compared to the partial region R2.
  • the frequency classifying unit 124a divides the position (xC, yC) on the frequency component of the target transform coefficient by a certain subblock size (here, 4), and the X coordinate of the subblock coordinates. Are compared with the threshold TH2 calculated from the sum of the width and height of the frequency domain, and the partial areas R1 and R3 having different reference numbers are classified. Further, as shown in FIG.
  • the context in the partial region R0, the context is derived from the position context in the position context deriving unit 124b, and in the partial regions R1 and R3, the peripheral reference context is derived in the peripheral reference context deriving unit 124g.
  • the partial area R1 and the partial area R3 share a context while using different reference numbers.
  • the count number is aggregated in the partial area R1 with a large reference number, and the context index is derived without performing the count number aggregation process in the partial area R2 with a small reference number.
  • the processing amount is further reduced.
  • peripheral reference context deriving unit 124g may switch the following conversion coefficients to be referred to according to the bias as shown below.
  • the peripheral reference context deriving unit 124g derives the context index ctxIdx using the following formula for the frequency components belonging to the partial region R3, and the derived context index ctxIdx It is good also as a structure supplied to the frequency classification
  • pref_y_flag is a vertical priority flag pref_y_flag derived in consideration of the bias of the transform coefficient, and determines which of cnty and cntx is to be referred to by this vertical priority flag.
  • the vertical priority flag can be determined by the following three methods.
  • the determination of the vertical priority flag is not limited to the above three methods.
  • the same context can be shared by the normal reference count and the limited reference count. In this case, this can be realized by setting the context start point of the partial region R3 to NX + 8, which is the same as the start point of the partial region R2, as follows.
  • ctxIdx NX + 8 + min (3, pref_y_flag? cnty: cntx)
  • cnty and cntx represent the number of non-zero transform coefficients decoded for the frequency component that is the reference target among the frequency components around the target frequency component.
  • the number of frequency components referred to in order to derive cnty and cntx is 2 to 4, which is smaller than the reference number 5 of cnt described above.
  • cnty and cntx are also referred to as priority reference counts.
  • FIG. 15 shows the transform coefficients (c1 to c5) decoded for the target frequency component x and the surrounding reference frequency components when the processing order is the forward scan order.
  • cnty and cntx may be calculated by the following equations. .
  • the context index to be assigned to each transform coefficient presence / absence flag is included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region.
  • the reference region that is derived based on the number of decoded non-zero transform coefficients and is set in the high frequency side partial region among the plurality of partial regions is the reference that is set in the low frequency side partial region Since the reference region set in the low frequency side partial region and the reference region set in the high frequency side partial region have the same size, it is smaller than the region.
  • the processing amount for the context index derivation process can be reduced, and high coding efficiency can be realized.
  • FIG. 1 A fourth configuration example of the coefficient presence / absence flag decoding unit according to the present embodiment will be described with reference to FIG.
  • This configuration example is a configuration combining the first configuration example and the third configuration example. Note that members having the same functions as those shown in the first to third configuration examples are given the same reference numerals, and descriptions thereof are omitted.
  • FIG. 17 is a block diagram showing the configuration of the coefficient presence / absence flag decoding unit according to this configuration example.
  • the coefficient presence / absence flag decoding unit 124 ′ according to the present configuration example includes a frequency classification unit 124a ′, a low frequency position context deriving unit 124b, a peripheral reference context deriving unit 124g, and a high frequency position context deriving unit 124d. I have.
  • the difference from the third configuration example is that a partial region R4 is newly provided, and the method of deriving the context index ctxIdx for the frequency component belonging to R4 is the position context shown in the first configuration example. It is.
  • the low frequency position context deriving unit 124b derives the context index ctxIdx using the following formula, as in the first configuration example. To do.
  • ctxIdx NX + 2 ⁇ uiPosX + uiPosY
  • the peripheral reference context deriving unit 124g derives the context index ctxIdx using the following equation.
  • ctxIdx NX + 3 + min (4, cnt)
  • the peripheral reference context deriving unit 124g derives a context index ctxIdx for the frequency components belonging to the partial region R2 using the following equation.
  • ctxIdx NX + 8 + min (4, cnt)
  • the peripheral reference context deriving unit 124g uses the following formula for cnt2 (limited reference count) having a smaller number of references than the cnt used in the low frequency regions R1 and R2 for the frequency components belonging to the partial region R3.
  • cnt2 is also referred to as a limited reference count.
  • CtxIdx NX + 8 + cnt2
  • the high frequency position context deriving unit 124d according to this configuration example derives the context index ctxIdx using the following formula for the frequency components belonging to the partial region R4.
  • the high-frequency position context deriving unit 124d derives a context index using a fixed value.
  • FIG. 18 shows a case where partial contexts R2 and R3 share a partial context among the partial areas R0 to R4 constituting the target frequency area. More specifically, the normal reference count used in the partial region R2 and the limited reference count used in the partial region R3 share the context indicated by the same context index (here, NX + 8 to NX + 11). .
  • the frequency classification unit 124a ′ used in the present embodiment classifies into five partial regions R0 to R4. More specifically, the following classification process is performed.
  • the frequency component satisfying 2 ⁇ uiPosX + uiPosY ⁇ TH1 is classified into the partial region R1.
  • the frequency component satisfying TH1 ⁇ uiPosX + uiPosY ⁇ TH2 is classified into the partial region R2.
  • the frequency component satisfying TH2 ⁇ uiPosX + uiPosY ⁇ TH3 is classified into the partial region R3.
  • the above TH1 is set to 5, for example.
  • TH2 and TH3 can be determined based on sz by the following equations.
  • TH2 sz ⁇ 7
  • 3 TH3 sz + 6
  • Thresholds TH2 and TH3 may be set as follows in order to reduce performance degradation at low QP.
  • a2, b2, c2, a3, b3, and c3 are predetermined constants.
  • the division by b2 and b3 can be processed by a shift operation.
  • the larger the threshold value the higher the encoding efficiency, but the effect of reducing the processing amount is reduced because the area of the subspace R3 and the partial space R4 on the high frequency side where the processing amount is reduced becomes smaller.
  • the constant used for the threshold calculation is based on the size sz
  • branching by the size can be omitted by calculating with reference to the table. If the constant does not depend on the size, the process of referring to the table can be omitted.
  • the constant does not depend on the size, it can be obtained as follows.
  • the threshold value can be controlled by the ratio a / b or addition c.
  • the area ratio of the partial space on the high frequency side and the partial space on the low frequency side does not depend on the size sz, but depends on the size when controlled by the addition c. .
  • the area ratio of the partial region R4 may be larger in 32 ⁇ 32 than in 16 ⁇ 16, and therefore it is appropriate to use the addition c in calculating TH3. In such an example, in addition to the formulas already described, the following formulas are also appropriate.
  • TH2 is preferably sz-2 or less in order to obtain a large reduction in processing amount
  • TH3 is preferably sz or more in order to achieve high coding efficiency.
  • the range of values that can be taken by the context index assigned to each transform coefficient presence / absence flag is low in the partial region on the higher frequency side than the predetermined threshold TH2. Since it is smaller than the range of values that can be taken in the reference region set in the partial region on the frequency side, it is possible to reduce the amount of processing for context index derivation processing on the high frequency side. Furthermore, in the partial region on the higher frequency side than another threshold TH3, the context index is derived based on the position, so that the processing amount can be further reduced.
  • the number of contexts does not increase by making the starting points determined for each partial area equal in two partial areas with different count number derivation methods, and high coding is possible. It is possible to reduce the processing amount while realizing the efficiency.
  • the number of contexts when deriving based on the position is set to a small value of one or two.
  • the increase in the number of contexts can be minimized, the processing amount for distinguishing the contexts is small, and the processing amount can be reduced while realizing high coding efficiency.
  • the frequency classification unit 124a ′ classifies the target frequency region into at least three partial regions according to the position of the transform coefficient presence / absence flag to be processed.
  • the peripheral reference context deriving unit 124g refers to N1 (N1 is a natural number) decoded non-zero transform coefficients in the first partial region (partial region R1 or R2), and the second partial region ( In the partial region R3), the context index is derived by referring to N2 decoded non-zero transform coefficients (N2 is a natural number satisfying N2 ⁇ N1).
  • the position context deriving unit 124d derives a context index according to the position of the transform coefficient presence / absence flag.
  • the context is determined based on the partial region in which the number of decoded non-zero transform coefficients referred to refer to the context index is set smaller, and the position of the transform coefficient presence / absence flag in the target frequency domain.
  • FIG. 19 is a block diagram showing the configuration of the coefficient presence / absence flag decoding unit 124-3 according to this configuration example.
  • FIG. 20 is a diagram for explaining a scan string for counting the number of non-zero conversion coefficients.
  • FIGS. 21A to 21C are diagrams for explaining objects to be referred to when a context is derived.
  • the coefficient presence / absence flag decoding unit 124-3 includes a frequency classification unit 124a, a low frequency position context deriving unit 124b, and a high frequency region context deriving unit 124h, and further, a high frequency region context deriving unit.
  • the unit 124h includes a peripheral reference context deriving unit 124i and a previous scan sequence context deriving unit 124e.
  • the previous scan sequence context deriving unit 124e includes a non-zero conversion coefficient counting unit 124f. Note that members having the same functions as those shown in the first to third configuration examples are given the same reference numerals, and descriptions thereof are omitted.
  • This configuration example is different from the first configuration example in the method of deriving the context index ctxIdx for the frequency components belonging to the partial region R3.
  • the context index ctxIdx is derived for the frequency components belonging to the partial region R0 using the following formula, as in the first configuration example.
  • ctxIdx NX + 2 ⁇ uiPosX + uiPosY
  • the context index ctxIdx is derived using the following equation.
  • ctxIdx NX + 3 + min (4, cnt)
  • the context index ctxIdx is derived using the following formula for the frequency components belonging to the partial region R2.
  • the high frequency region context deriving unit 124h derives the context index ctxIdx by the following method.
  • the high frequency region context deriving unit 124h uses the context index ctxIdx for the frequency component to be decoded, the number of non-zero transform coefficients that have been decoded for the frequency components around the frequency component, and the non-zero included in the previous scan sequence. This is a configuration for deriving based on the number of conversion coefficients.
  • the peripheral reference counting unit 124i included in the high frequency region context deriving unit 124h refers to the decoded transform coefficient adjacent to the target frequency component, and derives cnt2 'using the following equation. Note that cnt2 'is also referred to as a limited reference count.
  • c1 and c3 are transform coefficients decoded for the frequency components around the target frequency component x shown in (a) of FIG.
  • the pre-scan string non-zero conversion coefficient counting unit 124j included in the high frequency region context deriving unit 124h derives cnt3 using the following equation.
  • cnt3 (last_cnt> THc)? 1: 0
  • THc 1
  • a threshold depending on uiPosX and uiPosY may be used as THc. More specifically, a threshold having a positive correlation with the number of frequency components along the scan sequence to which the target frequency component belongs may be used.
  • last_cnt indicates the number of non-zero conversion coefficients that appear in the previous scan string as described above.
  • previous scan string non-zero conversion coefficient count unit 124j may be configured to derive cnt3 using the following equation.
  • cnt3 (last_cnt2> THc)? 1: 0
  • last_cnt2 indicates the number of non-zero transform coefficients that appear in the previous scan string.
  • FIG. 20 shows an example of the scan row Lx to be processed, the previous scan row Lx + 1, and the second previous scan row Lx + 2 when the scan order is the reverse scan order.
  • the previous scan string non-zero conversion coefficient counting unit 124j updates last_cnt and last_cnt2 as follows, for example, when performing the process for the next scan string after the process for the current scan string is completed.
  • curr_cnt represents the number of non-zero transform coefficients of the current scan string as described above.
  • the peripheral reference context deriving unit 124h refers to the cnt2 ′ derived by the peripheral reference counting unit 124i and the cnt3 derived by the previous scan sequence non-zero transform coefficient counting unit 124j, and the frequencies belonging to the partial region R3
  • a context index ctxIdx is derived using the following equation, and the derived context index ctxIdx is supplied to the frequency classification unit 124a.
  • the context index assigned to each transform coefficient presence / absence flag along the current scan sequence in the partial region on the high frequency side among the plurality of partial regions Derived based on the number of non-zero transform coefficients along the previous scan sequence and the number of decoded non-zero transform coefficients included in the reference area set around the position of the transform coefficient presence / absence flag in the target frequency domain
  • the reference region set in the high frequency side partial region among the plurality of partial regions is smaller than the reference region set in the low frequency side partial region, and therefore, compared to the conventional configuration.
  • the amount of processing for derivation of the context index on the high frequency side can be reduced more effectively and high coding efficiency can be realized.
  • the peripheral reference counting unit 124i may be configured to derive cnt2 'using the following expression.
  • cnt2 ′ pref_y_flag? cnty ': cntx'
  • the reference frequency component shown in FIG. 21 (c) may be used to derive the reference frequency component, and the transformed transform coefficients c1 and c2 may be used.
  • FIG. 22 is a block diagram showing a configuration of the coefficient presence / absence flag decoding unit 124-4 according to this configuration example.
  • the coefficient presence / absence flag decoding unit 124-4 includes a frequency classification unit 124a, a low-frequency position context deriving unit 124b, and a peripheral reference context deriving unit 124k. Note that members having the same functions as those shown in the first to fourth configuration examples are given the same reference numerals, and descriptions thereof are omitted.
  • This configuration example is different from the first configuration example in the method of deriving the context index ctxIdx for the frequency components belonging to the partial regions R1 to R3.
  • the context index ctxIdx is derived for the frequency components belonging to the partial region R0 using the following formula, as in the first configuration example.
  • the peripheral reference context deriving unit 124k derives the context index ctxIdx by the following method.
  • ctxIdx NX + 3 + min (4, pref_y_flag? cnty: cntx)
  • the peripheral reference context deriving unit 124k derives the context index ctxIdx by the following method.
  • ctxIdx NX + 8 + min (4, pref_y_flag? cnty: cntx)
  • the peripheral reference context deriving unit 124k derives the context index ctxIdx by the following method.
  • ctxIdx NX + 13 + min (4, pref_y_flag? cnty: cntx)
  • pref_y_flag, cnty, and cntx have been described above, description thereof is omitted here.
  • the context index assigned to each transform coefficient presence / absence flag is included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region. This is derived based on the number of decoded non-zero transform coefficients, and since the number of decoded transform coefficients included in the reference region is 4 or less, a smaller number of decoded coefficients than in the conventional configuration. It is sufficient to refer to the conversion coefficient. Therefore, according to the above configuration, it is possible to reduce the processing amount for context index derivation processing on the high frequency side as compared with the conventional configuration, and it is possible to realize high coding efficiency.
  • the transform coefficient decoding unit 120 according to the present embodiment has been described mainly with respect to the configuration example of the coefficient presence / absence flag decoding unit.
  • the configuration of the transform coefficient decoding unit 120 according to the present embodiment is limited to the above example. Is not something
  • the sequence parameter set SPS of the encoded data # 1 may include a flag (restriction flag) high_coeff_restriction_flag that restricts encoding of high frequency components.
  • the configuration is such that only the transform coefficient for the frequency component satisfying the above condition is decoded.
  • the above restriction may be applied only when the TU to be processed has a specific size (for example, 32 ⁇ 32 or 16 ⁇ 16).
  • FIG. 23 is a diagram illustrating a region R0 ′ composed of frequency components satisfying uiPosX + uiPosY ⁇ TH2 and a region R1 ′ other than that in the frequency region to be processed.
  • the transform coefficient is decoded for the frequency component included in the region R0 ', and the transform coefficient is not decoded for the frequency component included in the region R1', and is uniformly set to a predetermined value (for example, 0).
  • the syntax indicating the value of the threshold TH2 for example, the syntax sps_coeff_restriction_value_minus14_div2 indicating the value of (TH2-14) / 2 may be used.
  • the level means a restriction that restricts a range of values used in the syntax. Levels are divided into limits from 0 to a predetermined value, and a level with a smaller value is set to be a stricter limit. The level is used particularly to limit decoding complexity, and the width and height of the image, the frame rate, and the like are included in the syntax to be limited. Profiles are used to limit the tools used. When the syntax differs depending on the tool, the syntax changes depending on the profile. The level is determined for each profile. The profile and level are encoded with, for example, a sequence parameter set, but are not limited thereto.
  • the following formula is used to compare the sum of the X coordinate and Y coordinate of the position in the frequency domain and the threshold other, uiPosX + uiPosY ⁇ TH2 Using the sub-block position obtained by dividing the frequency-domain position by the size of the sub-block (here, 4), the sum of the X- and Y-coordinates of the sub-block coordinates and the threshold value are compared as in the following equation: May be performed.
  • the threshold values TH and TH2 are determined by adding the sum of the X coordinate and the Y coordinate to the determination.
  • the threshold value may be determined according to the size of the target frequency region. For example, as shown in the following expression, a value obtained by shifting the maximum value of the width and height of the target frequency region to the right and a value obtained by adding or subtracting a predetermined value after the right shift may be used.
  • TH2 3 ⁇ Max (width, height) >> 4
  • TH2 (3 ⁇ Max (width, height) >> 4) +4
  • the encoded data # 1 includes a restriction flag indicating whether or not to decode a high-frequency-side transform coefficient in each target frequency region corresponding to each unit region.
  • the restriction flag indicates that the high-frequency side transform coefficient is not decoded, the decoding unit 120 can omit the decoding process of the high-frequency side transform coefficient. The amount of processing to do is reduced.
  • the coefficient presence / absence flag decoding unit included in the transform coefficient decoding unit 120 derives a context index ctxIdx using the following formula, It is good also as a structure allocated to a component.
  • N8 is the starting point of the context index when the frequency domain size is 8 ⁇ 8.
  • the coefficient presence / absence flag decoding unit interprets the Bin supplied from the bit decoding unit 132 and uses the context index ctxIdx assigned to the frequency component to be decoded, to generate a symbol for the frequency component to be decoded. Decode the taxificant_coeff_flag. The decoded syntax significant_coeff_flag is stored in the decoding coefficient storage unit 126 and is referred to by the coefficient value decoding unit 125. Further, the context index ctxIdx used at the time of decoding is supplied to the context recording update unit 131.
  • FIG. 25A shows each value of the context index ctxIdx derived by the coefficient presence / absence flag decoding unit according to the comparative example
  • FIG. 25B is derived by the coefficient presence / absence flag decoding unit according to this configuration example.
  • Each value of the generated context index ctxIdx is shown.
  • the coefficient presence / absence flag decoding unit according to the present configuration example assigns a context index ctxIdx more finely to the low frequency component than the coefficient presence / absence flag decoding unit according to the comparative example. .
  • the coefficient presence / absence flag decoding unit divides the low frequency component side into smaller regions than the high frequency component side, and is different from each other. Assign context index ctxIdx.
  • the coefficient presence / absence flag decoding unit can efficiently decode significant_coeff_flag on the low frequency component side by adopting the above configuration, so that the encoding efficiency is improved.
  • the process of deriving the context index ctxIdx by the coefficient presence / absence flag decoding unit according to the present configuration example is not limited to the above example.
  • CtxIdxH may be calculated using and each value may be set in the context index ctxIdx.
  • FIG. 25C illustrates an example of ctxIdxH derived by the coefficient presence / absence flag decoding unit according to the present configuration example.
  • FIG. 25D illustrates an example of ctxIdxV derived by the coefficient presence / absence flag decoding unit according to this configuration example.
  • the context index ctxIdx may be derived by
  • the coefficient presence / absence flag decoding unit divides the target frequency region corresponding to the unit region to be processed into a plurality of partial regions, and assigns different context indexes to the partial regions.
  • Context index allocation each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0, is designated by the context index assigned to the partial area to which the transform coefficient presence / absence flag belongs.
  • the low frequency side partial region is smaller than the high frequency side partial region among the plurality of partial regions, so the context index is compared with the low frequency side region. Can be assigned finely. Therefore, according to the above configuration, the syntax on the low frequency side can be efficiently decoded, so that the coding efficiency is improved.
  • the coefficient presence / absence flag decoding unit does not decode the coefficient presence / absence flag with the entire frequency domain as one block (transform block), but instead converts one block indicating the entire frequency domain into a 4 ⁇ 4 block, for example. It is good also as a structure which divides
  • FIG. 32 shows a sub-block scan.
  • the sub-block scan refers to a scan in units of sub-blocks.
  • the coefficient presence / absence flag decoding unit for example, divides one block corresponding to the entire frequency domain into a total of 16 sub-blocks of 4 in the uiPosX direction and 4 in the uiPosY direction, The coefficient presence / absence flag is decoded using the sub-block as a processing unit.
  • the coefficient presence / absence flag decoding unit When decoding coefficient presence / absence flags using sub-blocks, as shown in FIG. 32 (a), the coefficient presence / absence flag decoding unit has at least one non-zero transform coefficient in the sub-block for each sub-block. A flag indicating whether or not to perform (subblock coefficient presence / absence flag significant_coeffgroup_flag) is decoded in the subblock reverse scan order (arrow direction shown in the block of FIG. 32). Further, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is non-zero, as shown in FIG. 32 (b), the coefficient presence / absence flag decoding unit sets the presence / absence flag for each transform coefficient in the processing target subblock. In reverse scan order (in the direction of the arrow shown in the sub-block of FIG. 32).
  • the scan order of the sub-block scan shown in FIG. 32A and the scan order of the intra-sub-block scan shown in FIG. 32B are merely examples, and other scan orders may be used. For example, zigzag scanning, horizontal priority scanning, and vertical priority scanning may be used.
  • FIG. 47 (a) is an example of each value of the quantization residual coefficient for a total of 256 frequency components included in the 16 ⁇ 16 transform block.
  • FIG. 47B is a diagram showing an example of subblock numbers for identifying each subblock when a 16 ⁇ 16 transform block is divided into 4 ⁇ 4 subblocks.
  • FIG. 47 (c) shows an example of a sub-block coefficient presence / absence flag for each sub-block when the quantized residual coefficients are those shown in FIG. 47 (a).
  • symbol W1 represents the position of the last coefficient.
  • the zero coefficient represented in light color is a zero coefficient after the last coefficient W1 in the forward scan order.
  • the quantization residual coefficient is All values are zero.
  • the sub-block coefficient presence / absence flag indicating whether or not there is a non-zero coefficient for each sub-block in FIG. 47 (a) is shown in FIG. 47 (c). It is expressed as shown. That is, in the sub-block (sub-block numbers 3, 7, 12, 13, and 15 in FIG. 47B), the number of non-zero coefficients is 0, so the sub-block coefficient presence / absence flag significant_coeffgroup_flag is set to “0”. The coefficient presence / absence flag in each sub-block is not added.
  • the coefficient presence / absence flag significant_coeffgroup_flag is set to “1”, and the coefficient presence / absence flag in each sub-block is added.
  • the number of coefficient presence / absence flags is a total of 64 in the sub-block (sub-block numbers 3, 7, 12, 13 in FIG. 47 (b)).
  • the coefficient presence / absence flags are reduced to 154 in total.
  • 16 subblock coefficient presence / absence flags are required, but the total number of flags is 170, and at least 48 flags are reduced as compared with the conventional one.
  • the coefficient presence / absence flags to be encoded / decoded are greatly reduced. That is, since the context derivation process necessary for encoding / decoding the coefficient presence / absence flag is reduced, the encoding / decoding throughput can be improved.
  • FIG. 31 is a block diagram showing a coefficient presence / absence flag decoder 124-A as a seventh configuration example of the coefficient presence / absence flag decoder according to the present embodiment.
  • FIG. 33 is a flowchart showing the flow of the decoding process in the coefficient presence / absence flag decoding unit 124-A.
  • the coefficient presence / absence flag decoding unit 124-A includes a sub-block coefficient presence / absence flag decoding unit X1, a frequency classification unit 124a, a low frequency position context deriving unit 124b, and a peripheral reference context deriving unit 124c. It has.
  • the sub-block coefficient presence / absence flag decoding unit X1 interprets the Bin supplied from the bit decoding unit 132 and indicates whether or not at least one non-zero transform coefficient exists in each sub-block constituting the frequency domain.
  • the subblock coefficient presence / absence flag (significant_coeffgroup_flag) is decoded (step SY1 in FIG. 33).
  • the scan order of the sub-blocks may be decoded from the sub-block with the last coefficient toward the sub-block with the DC coefficient, as shown in FIG. 32 (a), or vice versa.
  • a method of determining the subblock coefficient presence / absence flag without decoding the data from the encoded data according to the subblock coefficient presence / absence flag of the already decoded subblock may be used. That is, if the sub-block coefficient presence / absence flag of two adjacent sub-blocks is 1, the sub-block coefficient presence / absence flag is set to 1 without decoding the data from the encoded data, otherwise The sub-block coefficient presence / absence flag may be decoded from the encoded data.
  • the coefficient presence / absence flag decoding unit 124-A decodes the coefficient presence / absence flag in the sub-block for each sub-block in the transform block (step SY2 to step SY4 in FIG. 33). That is, in the sub-block coefficient presence / absence flag decoding unit X1, when the sub-block coefficient presence / absence flag is 1 (Y in step SY2 in FIG. 33), the frequency classification unit 124a, the low-frequency position context derivation unit 124b, and the peripheral reference context derivation The coefficient presence / absence flag in the sub-block is decoded using the unit 124c. If the subblock coefficient presence / absence flag is 0 (N in step SY2 in FIG. 33), decoding of the coefficient presence / absence flag in the subblock is skipped, and the process proceeds to the next subblock.
  • the sub block coefficient presence / absence flag of the target sub block may be decoded in the loop of the sub block.
  • the subblock coefficient presence / absence flag decoding unit X1 decodes the subblock coefficient presence / absence flag significant_coeffgroup_flag for the subblock specified by (xCG, yCG).
  • sbkIdx represents the scan order number of the target subblock in the subblock forward scan
  • LastSbkIdx represents the subblock having the last coefficient in the subblock forward scan. Represents the scan order number.
  • the frequency classifying unit 124a included in the coefficient presence / absence flag decoding unit 124-A classifies the frequency component into one of a plurality of partial regions according to the position of the frequency component to be decoded in the frequency domain, and the low frequency position context.
  • the context index ctxIdx derived by either the deriving unit 124b or the peripheral reference context deriving unit 124c is assigned to the frequency component to be decoded (step SY3 in FIG. 33).
  • the frequency region of the sz ⁇ sz block is divided into 4 ⁇ 4 sub-blocks, and the position of the sub-block to which the frequency component (uiPosX, uiPosY) belongs is (xCG, yCG).
  • the sub-block position (xCG, yCG) to which the frequency component belongs is derived from the following equations (eq.A1) to (eq.A2).
  • xCG uiPosX >> 2 (eq.A1)
  • yCG uiPosY >> 2 (eq.A2)
  • xCG 0, 1,. . . , (Sz-1) >> 2
  • yCG 0, 1,. . . , (Sz-1) >> 2.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-A performs the following classification process.
  • different threshold values may be used depending on the size of the frequency domain. Further, the threshold value THZ may be set to 1.
  • FIG. 35 shows an example of a frequency region divided into partial regions R0, R1, and R2 by the classification process by the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-A.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-A assigns the context index derived by the low frequency position context deriving unit 124b to the frequency components belonging to the partial region R0, and belongs to the partial regions R1 and R2.
  • a context index derived by the peripheral reference context deriving unit 124c is assigned to the frequency component.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-A calculates a context index ctxIdx for determining a context used for decoding the syntax significant_coeff_flag by the arithmetic code decoding unit 130.
  • the context index ctxIdx is calculated for each frequency domain size and frequency component to be decoded (step SY4 in FIG. 33).
  • the decoded syntax significant_coeff_flag is stored in the decoding coefficient storage unit 126 and is referred to by the coefficient value decoding unit 125.
  • the context index ctxIdx used at the time of decoding is supplied to the context recording update unit 131.
  • the low frequency position context deriving unit 124b included in the coefficient presence / absence flag decoding unit 124-A determines the context index ctxIdx for the frequency component in the frequency domain. Derived based on the position of the frequency component.
  • the low frequency position context deriving unit 124b included in the coefficient presence / absence flag decoding unit 124-A derives the context index ctxIdx for the frequency components belonging to the partial region R0 using the following equation (eq.A3), The result ctxIdx is supplied to the frequency classification unit 124a.
  • NX is a constant representing the start point of the context index.
  • the peripheral reference context deriving unit 124c included in the coefficient presence / absence flag decoding unit 124-A uses the context index ctxIdx for the frequency component to be decoded based on the number cnt of non-zero transform coefficients that have been decoded for the frequency component around the frequency component. To derive.
  • the peripheral reference context deriving unit 124c included in the coefficient presence / absence flag decoding unit 124-A derives the context index ctxIdx for the frequency components belonging to the partial region R1 using the following equation (eq.A4), and the derivation result ctxIdx is supplied to the frequency classification unit 124a.
  • the peripheral reference context deriving unit 124c included in the coefficient presence / absence flag decoding unit 124-A derives a context index ctxIdx for the frequency components belonging to the partial region R2 using the following equation (eq.A5), The derivation result ctxIdx is supplied to the frequency classification unit 124a.
  • equations (eq.A4) to (eq.A5) the number of contexts can be reduced by shifting the count number cnt of the non-zero conversion coefficient by 1 bit to the right.
  • peripheral reference context deriving unit 124c uses the reference frequency components c1 to c5 shown in FIG. 10 (a) or FIG. 10 (b) to calculate the count number cnt of the non-zero transform coefficient in the partial region R1 as follows. Derived by the equation (eq.A6).
  • each term in (eq.A6) takes 1 when the comparison in () is true, and takes 0 if the comparison in () is false.
  • the number of non-zero transform coefficients cnt is calculated using the reference frequency components (c1, c2, c4, c5) shown in FIG. 36 (a) instead of the equation (eq.6).
  • Formula (eq3) that does not refer to the conversion coefficient of the coordinates (c3) located immediately before the position in the processing order (lower side of the target conversion coefficient when the processing order is the reverse scan order) It may be calculated according to .A7).
  • the context derivation used for decoding the coefficient presence / absence flag at a certain position can be performed without referring to the value of the immediately preceding coefficient presence / absence flag, so the context derivation process and the decoding process are processed in parallel. be able to.
  • the transform coefficient may be derived using either the mathematical expression (eq.A6) or the mathematical expression (eq.A7) according to the position of the target transform coefficient in the sub-block.
  • the reference component used to derive the transform coefficient may be changed according to the position of the target transform coefficient in the sub-block.
  • the reference frequency component of the equation (eq.A7) is used so that it does not depend on the value of the transform coefficient at the immediately preceding position (here, the lower side) in the processing order of the transform coefficient that is the target of, and in other cases, The reference frequency component of the mathematical formula (eq.A6) may be used.
  • the frequency classification unit 124a classifies the frequency components based on the sub-block coordinates, thereby sub-block coordinates (xCG, yCG). ) Satisfies xCG + yCG> 0, the branching process for performing frequency classification in the sub-block can be omitted. Classifications already described, eg Classify frequency components satisfying uiPosX + uiPosY ⁇ 2 into the partial region R0. The frequency component satisfying 2 ⁇ uiPosX + uiPosY ⁇ TH1 is classified into the partial region R1.
  • the frequency component satisfying TH1 ⁇ uiPosX + uiPosY ⁇ TH2 is classified into the partial region R2.
  • a branch process for performing the above classification within the sub-block is required.
  • the coordinates to be referred to in the classification process can be replaced with the sub-block coordinates (xCG, yCG) instead of the coordinates (uiPosX, uiPosY) in the entire block, and thus the above-described reference to (uiPosX, uiPosY) No branching is required. This can reduce the delay in deriving the context index in the sub-block and improve the context deriving throughput.
  • the presence / absence of a non-zero coefficient is decoded by combining the subblock coefficient presence / absence flag for each subblock and the coefficient presence / absence flag in the subblock.
  • the frequency components are classified into three partial areas.
  • a method of classifying the frequency components into two partial areas may be used. in this case, (1) Classify frequency components satisfying uiPosX + uiPosY ⁇ THZ into the partial region R0. (2) Classify frequency components satisfying THZ ⁇ uiPosX + uiPosY into the partial region R1.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-A refers to the position of the target sub-block in the target frequency region on the high frequency side and divides the frequency region into partial regions.
  • peripheral reference context deriving unit 124c derives a context used for decoding the coefficient presence / absence flag belonging to the partial region obtained by such division.
  • the coefficient presence / absence flag decoding unit 124-A when the target sub-block belongs to the high frequency side partial region in the target frequency region, the context index assigned to each transform coefficient presence / absence flag belonging to the target sub-block, It can also be expressed as being derived based on the position of the target sub-block in the target frequency domain.
  • ctxCnt ctxCnt + significant_coeff_flag [xC + 2] [yC]
  • yC is less than (1 ⁇ log2TrafoSize)? 2 and ctxCnt is less than 3, the following applies.
  • ctxCnt ctxCnt + significant_coeff_flag [xC + 2] [yC]
  • ctxCnt ctxCnt + significant_coeff_flag [xC] [yC + 1]
  • yC is less than (1 ⁇ log2TrafoSize)? 2 and ctxCnt is less than 3, the following applies.
  • the frequency region is divided into partial regions R0, R1, and R2, and the low frequency position in R0
  • R1 the five reference frequency components (c1, c2, c3, c4, c5) shown in FIG. 10A are used.
  • R2 the four reference frequency components (c1, c2, c4) shown in FIG. , C5) shows pseudo code when the context index ctxIdx is derived from the peripheral reference context. Note that sigCtx in the pseudo code is synonymous with ctxIdx.
  • sigCtx is derived as follows.
  • ctxCnt ctxCnt + significant_coeff_flag [xC + 2] [yC]
  • yC is less than (1 ⁇ log2TrafoSize)? 2 and ctxCnt is less than 3, the following applies.
  • ctxCnt ctxCnt + significant_coeff_flag [xC + 2] [yC]
  • ctxCnt ctxCnt + significant_coeff_flag [xC] [yC + 2]
  • FIG. 37 is a block diagram showing a coefficient presence / absence flag decoding unit 124-B as an eighth configuration example of the coefficient presence / absence flag decoding unit according to the present embodiment. The flow of the decoding process in the coefficient presence / absence flag decoding unit 124-B according to this configuration example will be described with reference to the flowchart shown in FIG.
  • the coefficient presence / absence flag decoding unit 124-B includes a sub-block coefficient presence / absence flag decoding unit X1, a frequency classification unit 124a, a low frequency position context deriving unit 124b, and a peripheral reference context deriving unit 124c.
  • the high frequency position context deriving unit 124d is provided.
  • the sub block coefficient presence / absence flag decoding unit X1 included in the coefficient presence / absence flag decoding unit 124-B interprets Bin supplied from the bit decoding unit 132, and at least one non-zero is included in each sub block constituting the frequency domain.
  • a sub-block coefficient presence / absence flag (significant_coeffgroup_flag) indicating whether or not a transform coefficient exists is decoded (step SY1 in FIG. 33).
  • the transform coefficient presence / absence flag in the sub-block is decoded for each sub-block in the transform block (step SY2 to step SY4 in FIG. 33). That is, in the sub-block coefficient presence / absence flag decoding unit X1, when the sub-block coefficient presence / absence flag is 1 (Y in step SY2 in FIG. 33), the frequency classification unit 124a, the low-frequency position context derivation unit 124b, and the peripheral reference context derivation The coefficient presence / absence flag in the sub-block is decoded using the unit 124c and the high frequency position context deriving unit 124d. If the subblock coefficient presence / absence flag is 0 (N in step SY2 in FIG. 33), decoding of the coefficient presence / absence flag in the subblock is skipped, and the process proceeds to the next subblock.
  • the frequency classifying unit 124a included in the coefficient presence / absence flag decoding unit 124-B classifies the frequency component into one of a plurality of partial regions according to the position of the frequency component to be decoded in the frequency domain, and the low frequency position context.
  • the context index ctxIdx derived by any of the deriving unit 124b, the peripheral reference context deriving unit 124c, and the high frequency position context deriving unit 124d is assigned to the frequency component to be decoded (step SY3 in FIG. 33).
  • the frequency region of the sz ⁇ sz block is divided into 4 ⁇ 4 sub-blocks, and the position of the sub-block to which the frequency component (uiPosX, uiPosY) belongs is (xCG, yCG).
  • the sub-block position (xCG, yCG) to which the frequency component belongs is derived by the following equations (eq.B1) to (eq.B2).
  • xCG uiPosX >> 2 (eq.B1)
  • yCG uiPosY >> 2 (eq.B2)
  • xCG 0, 1,. . . , (Sz-1) >> 2
  • yCG 0, 1,. . . , (Sz-1) >> 2.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-B performs the following classification process.
  • the frequency component satisfying THB ⁇ xCG + yCG is classified into the partial region R3.
  • the branch process for switching the context derivation method according to the position of the transform coefficient can be a branch process using sub-block coordinates (xCG, yCG).
  • branch processing referring to (uiPosX, uiPosY) performed inside the sub-block can be omitted, and the throughput of context derivation can be improved.
  • FIG. 38 shows an example of a frequency region divided into partial regions R0, R1, R2, and R3 by the classification processing by the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-B.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-B allocates the context index derived by the low frequency position context deriving unit 124b to the frequency components belonging to the partial region R0, and belongs to the partial regions R1 and R2.
  • the context index derived by the peripheral reference context deriving unit 124c is allocated to the frequency component, and the context index derived by the high frequency position context deriving unit 124d is allocated to the frequency component belonging to the partial region R3.
  • the frequency classification unit 124a refers to the position of the target frequency component (uiPosX, uiPosY) and the position of the sub-block to which the target frequency component belongs (xCG, yCG).
  • the embodiment is not limited to this.
  • a frequency component identification index for example, “n” in FIG. 5
  • the target frequency component is set to any one of the plurality of partial regions. It is good also as a structure classified.
  • the frequency classifying unit 124a included in the coefficient presence / absence flag decoding unit 124-B calculates a context index ctxIdx for determining a context to be used by the arithmetic code decoding unit 130 to decode the syntax significant_coeff_flag.
  • the context index ctxIdx is calculated for each frequency domain size and frequency component to be decoded (step SY4 in FIG. 33).
  • the decoded syntax significant_coeff_flag is stored in the decoding coefficient storage unit 126 and is referred to by the coefficient value decoding unit 125.
  • the context index ctxIdx used at the time of decoding is supplied to the context recording update unit 131.
  • the low frequency position context deriving unit 124b included in the coefficient presence / absence flag decoding unit 124-B determines the context index ctxIdx for the frequency component in the frequency domain. Derived based on the position of the frequency component.
  • the low frequency position context deriving unit 124b included in the coefficient presence / absence flag decoding unit 124-B derives and derives a context index ctxIdx using the following equation (eq.B3) for the frequency components belonging to the partial region R0.
  • the context index ctxIdx is supplied to the frequency classification unit 124a.
  • NX is a constant representing the start point of the context index.
  • the peripheral reference context deriving unit 124c included in the coefficient presence / absence flag decoding unit 124-B uses the context index ctxIdx for the frequency component to be decoded based on the number cnt of non-zero transform coefficients that have been decoded for the frequency component around the frequency component. To derive.
  • the peripheral reference context deriving unit 124c included in the coefficient presence / absence flag decoding unit 124-B derives the context index ctxIdx using the following equation (eq.B4) for the frequency components belonging to the partial region R1, and the derivation result ctxIdx is supplied to the frequency classification unit 124a.
  • ctxIdx NX + 3 + min (4, cnt) (eq. B4)
  • the count number cnt of the non-zero conversion coefficient is expressed by the following equation (eq) using (C1, C2, C3, C4, C5) shown in FIG. 10A or FIG. Derived by .B5).
  • the peripheral reference context deriving unit 124c included in the coefficient presence / absence flag decoding unit 124-B derives a context index ctxIdx for the frequency components belonging to the partial region R2 using the following equation (eq.B6), The derived context index ctxIdx is supplied to the frequency classification unit 124a.
  • ctxIdx NX + 8 + min (4, cnt) (eq. B6)
  • the count number cnt of the non-zero transform coefficient is obtained by processing the position of the target transform coefficient using the reference frequency components (c1, c2, c4, c5) shown in FIG.
  • the context derivation used for decoding the coefficient presence / absence flag at a certain position can be performed without referring to the value of the immediately preceding coefficient presence / absence flag, so the context derivation process and the decoding process are processed in parallel. be able to.
  • each term of the equation (eq.B7) takes 1 when the comparison in () is true, and takes 0 when the comparison in () is false.
  • the number cnt of non-zero coefficients may be calculated by the equation (eq.B7) instead of the equation (eq.B6).
  • the number of non-zero coefficients cnt may be calculated using three reference coefficients.
  • High-frequency position context deriving unit 124d included in the coefficient presence / absence flag decoding unit 124-B When the frequency component to be decoded is included in the partial region on the high frequency side, the high frequency position context deriving unit 124d included in the coefficient presence / absence flag decoding unit 124-B obtains the context index ctxIdx for the frequency component in the frequency domain. Derived based on the position of the frequency component and the position of the sub-block to which the frequency component belongs.
  • the high frequency position context deriving unit 124d included in the coefficient presence / absence flag decoding unit 124-B derives the context index ctxIdx using the following equation (eq.B8) for the frequency components belonging to the partial region R3, and the derivation result ctxIdx is supplied to the frequency classification unit 124a.
  • ctxIdx NX + 13 + min (maxR3, (xCG + yCG ⁇ THB) >> shift) (eq. B8)
  • the symbol “>>” represents a right bit shift.
  • the example of the frequency domain divided by the classification process by the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-B is not limited to that illustrated in FIG. 38, and for example, as illustrated in FIG.
  • the frequency domain may be divided. That is, the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-B may be configured to classify the frequency region into partial regions R0, R1, R2, and R3 as follows.
  • the frequency domain is classified into partial domains R0, R1, R2, and R3.
  • the context index is calculated by the low frequency position context deriving unit 124b, the peripheral reference context deriving unit 124c, and the high frequency position context deriving unit 124d, respectively.
  • ctxIdx is calculated.
  • the branch for switching the context derivation method according to the position of the transform coefficient can be a branch using the sub-block coordinates (xCG, yCG).
  • the branch process referring to (uiPosX, uiPosY) is performed, the branch process referring to (uiPosX, uiPosY) performed inside the sub-block can be omitted, and the context derivation throughput can be improved.
  • the coefficient presence / absence flag decoding unit and the sub-block coefficient presence / absence flag decoding unit configured as described above, in the calculation of the position context, the context of the coefficient presence / absence flag at the position of a certain transform coefficient is already decoded. Since the determination is made regardless of the value of the presence / absence flag, there is an effect that the context derivation of the coefficient presence / absence flag and the decoding of the coefficient presence / absence flag can be performed in parallel.
  • the frequency domain is divided into partial areas R0, R1, R2, and R3.
  • R1 to R2 a pseudo reference when the context index ctxIdx is derived from the peripheral reference context by the four reference frequency components (c1, c2, c4, c5) shown in FIG. Indicates the code.
  • sigCtx in the pseudo code is synonymous with ctxIdx.
  • FIGS. 48 (a) and 48 (b) are diagrams showing partial areas divided by the frequency classifying unit 124a in this processing example, and FIG. 48 (a) is suitable for decoding transform coefficients relating to luminance values.
  • FIG. 48 (b) is preferably applied when decoding transform coefficients related to color differences. The method for setting the threshold value TH and the threshold value TH2 in FIGS. 48 (a) and 48 (b) has already been described.
  • the frequency classification unit 124a classifies the partial region R1 and the partial region R2 according to the position (xC, yC) on the frequency component of the target conversion coefficient, as shown in FIG.
  • the frequency classification unit 124a uses the threshold value TH2 in accordance with a value obtained by dividing the position (xC, yC) on the frequency component of the target transform coefficient by a certain sub-block size (here, 4).
  • the partial region R2 and the partial region R3 having different reference numbers are classified.
  • FIG. 52 is a pseudo code showing a derivation process for deriving a context index cxtIdx related to luminance, which is a context index assigned to the frequency regions included in each of the partial regions R0 to R3 shown in FIG. 48 (a).
  • the context derivation of the region R0 is performed by the position context derivation unit 124b
  • the context derivation of the regions R1 to R2 is performed by the peripheral reference context derivation unit 124c
  • the context derivation of the region R3 is performed by the high frequency position context derivation unit 124d. Is done by.
  • the peripheral reference context deriving unit 124c derives a context index sigCtx for the frequency components belonging to the partial region R1 illustrated in FIGS. 48A and 48B by using the following formula, and obtains the derived result sigCtx. This is supplied to the frequency classification unit 124a.
  • ctxcCnt is a value obtained according to the count number.
  • ctxCnt min (3, cnt) Note that the count number cnt of the non-zero conversion coefficient is set to five of c1, c2, c3, c4, and c5 according to the position (xC, yC) on the frequency component of the target conversion coefficient as in the following pseudo code. Calculation is performed by referring to already decoded transform coefficients or by referring to four already decoded transform coefficients c1, c2, c4, and c5.
  • the peripheral reference context deriving unit 124c derives a context index sigCtx using the following formula for the frequency components belonging to the partial region R2 illustrated in FIG. 48A, and classifies the derived result sigCtx as a frequency classification. To the unit 124a.
  • sigCtx sigCtxOffsetR2 + Min (2, ctxCnt); Note that the calculation method of the count number cnt of the non-zero conversion coefficient is the same as that of the partial region R1.
  • the high-frequency position context deriving unit 124d derives a context index sigCtx for the frequency components belonging to the partial region R3 illustrated in FIG. 48 using the following formula and supplies the derived result sigCtx to the frequency classification unit 124a. . That is, a context index is derived using a fixed value.
  • sigCtx sigCtxOffsetR3;
  • the context is derived by the position context, so the processing amount is reduced.
  • the frequency classifying unit 124a refers to each other according to the value obtained by dividing the position (xC, yC) on the frequency component of the target transform coefficient by a certain sub-block size (here, 4). Different partial regions R1 and R3 are classified. Further, as shown in FIG. 53, in the partial region R0, the context is derived by the position context in the position context deriving unit 124b, and in the partial region R1, the context is derived by the peripheral reference context in the peripheral reference context deriving unit 124c. In the partial region R3, the processing amount is reduced by performing context derivation based on the position context.
  • the dividing unit divides the target frequency region into at least two partial regions on the low frequency side and the high frequency side, and the context index deriving unit includes at least one of the partial regions belonging to the low frequency side.
  • a context index is derived by referring to a decoded non-zero transform coefficient, and in a partial region belonging to the high frequency side, a value based on a position in the frequency region or a fixed predetermined value is used as a context. Derived as an index.
  • the context used in the surrounding reference context deriving unit 124c can be used. That is, the context can be shared between the partial region using the surrounding reference context and the partial region of the high frequency region using the position context. A specific example of such a configuration will be described with reference to FIGS.
  • FIG. 54 is also pseudo code showing a derivation process for deriving a context index cxtIdx related to luminance, as in FIG. Only the processing of the high frequency position context deriving unit 124d is different from FIG. In the process shown in FIG. 52, the context index sigCtx is derived by the following equation.
  • a context index may be derived by the following expression.
  • the offset value ctxCnt is obtained from the count value cnt, and in the partial region R3, the offset value ctxCnt is obtained with 0 fixed.
  • FIG. 55 is pseudo code illustrating a context index cxtIdx derivation process regarding color differences when context sharing is performed. Only the processing of the high frequency position context deriving unit 124d is different from FIG. 53 in which no context is shared.
  • the context can be shared between the partial area using the surrounding reference context and the partial area of the high-frequency area using the position context. This is because the value of the context index used in the partial region belonging to the high frequency side derived by the context index deriving means (the high frequency position context deriving unit 124d and the surrounding reference context deriving unit 124c) is the partial region belonging to the low frequency side. It can also be expressed as being within the range of the context index to be used.
  • a context dedicated to the partial region R3 is used, and in the case of color difference, a partial region other than the partial region R3, here, the context of the partial region 1 using the surrounding reference context is used.
  • the above configuration is a context index related to luminance, which is derived by context index deriving means (high-frequency position context deriving unit 124d, surrounding reference context deriving unit 124c), and is a context index value used in a partial region belonging to the high frequency side. Is a value other than the range of the context index used in the partial region belonging to the low frequency side, and is a context index related to color difference derived by the context index deriving means and used in the partial region belonging to the high frequency side Can be expressed as being within the range of the context index used in the partial region belonging to the low frequency side.
  • the context derivation used for decoding the coefficient presence / absence flag at a certain position can be performed without referring to the value of the immediately preceding coefficient presence / absence flag.
  • the decoding process can be performed in parallel.
  • the following shows an example of the configuration of the coefficient presence / absence flag decoding unit that has the effect of reducing the delay associated with the context state update by assigning a different context from the previous context in the position context.
  • FIG. 57 is a diagram showing a method for deriving a context index within a sub-block.
  • FIG. 57A shows the relationship between the scan order of sub-blocks and the context index offset value ctxCnt within the sub-block.
  • the offset value ctxCnt uses different values such as 0, 1, 0, 1 for each scan order. By using such an offset value, it is possible to assign a context different from the immediately preceding context.
  • FIG. 57B shows an example of a table used for the above processing.
  • the table shown in FIG. 57B is a table for obtaining the offset value ctxCnt by inputting the relative position in the sub-block as an address in the raster scan.
  • FIG. 57 (c) shows a usage example.
  • the offset value ctxCnt is obtained by referring to the table shown in FIG.
  • the offset value ctxCnt can be calculated by a normal calculation by using the counter cntInSubBlock in the sub block without using a table.
  • FIG. 57 (d) shows an example of this calculation.
  • the counter cntInSubBlock takes values of 0, 1, 2, 3,..., 15 in the scan order of the sub blocks.
  • the offset value ctxCnt can be calculated from the counter cntInSubBlock and the remainder of 2 (& 1). Note that the value of the count cntInSubBlock may take values of 0, 1, 2, 3,..., 15 in reverse scan order.
  • FIG. 58 shows a configuration in which the degree of parallelism can be further increased from the example of FIG.
  • FIG. 58 (a) is a diagram showing the relationship between the scan order of sub-blocks and the context index offset value ctxCnt within the sub-block.
  • N 3
  • FIG. 58D shows an example of a calculation method by calculation. Since these are all the same processing as FIG. 57, description is abbreviate
  • FIG. 59 is a diagram showing pseudo code for realizing the above-described context assignment method. Specifically, a derivation process for deriving a context index cxtIdx relating to luminance and chrominance, which is a context index assigned to a frequency region included in each of the partial regions R0 to R3 shown in FIG.
  • the context derivation of the region R0 is performed by the position context derivation unit 124b
  • the context derivation of the regions R1 to R2 is performed by the peripheral reference context derivation unit 124c
  • the context derivation of the region R3 is performed by the high frequency position context derivation unit 124d. Is done by.
  • the peripheral reference context deriving unit 124c derives a context index sigCtx for the frequency components belonging to the partial region R1 illustrated in FIGS. 48A and 48B by using the following formula, and obtains the derived result sigCtx. This is supplied to the frequency classification unit 124a.
  • sigCtx sigCtxOffsetR1 + Min (2, ctxCnt);
  • ctxcCnt is obtained by a many-to-one conversion process (aggregation process), here a process of shifting right so that the count number is reduced to about 1 ⁇ 2 as in the following equation.
  • ctxCnt (cnt + 1) >> 1
  • the many-to-one conversion process may be a process of clipping the number of counts to a fixed value (here, 3) as follows.
  • ctxCnt min (3, cnt) Note that the count number cnt of the non-zero conversion coefficient is set to five of c1, c2, c3, c4, and c5 according to the position (xC, yC) on the frequency component of the target conversion coefficient as in the following pseudo code. Calculation is performed by referring to already decoded transform coefficients or by referring to four already decoded transform coefficients c1, c2, c4, and c5.
  • the peripheral reference context deriving unit 124c derives a context index sigCtx using the following formula for the frequency components belonging to the partial region R2 illustrated in FIG. 48A, and classifies the derived result sigCtx as a frequency classification. To the unit 124a.
  • sigCtx sigCtxOffsetR2 + Min (2, ctxCnt); Note that the calculation method of the count number cnt of the non-zero conversion coefficient is the same as that of the partial region R1.
  • the high frequency position context deriving unit 124d calculates an offset value for the frequency component belonging to the partial region R3 illustrated in FIG.
  • ctxCnt tbl [(xC & 3) + (yC & 3) ⁇ 2]
  • the context index sigCtx is derived from the sum of this offset value and the context index start point sigCtxOffsetR3 for the partial region R3, and the derived result sigCtx is supplied to the frequency classification unit 124a.
  • sigCtx sigCtxOffsetR3 + ctxCnt
  • R3 which is a high frequency component
  • ctxIdx can be calculated and used in other configurations for calculating the context index sigCtx from the sum of the offset value ctxIdx and a certain starting point.
  • the high-frequency position context deriving unit 124d can use the context used by the surrounding reference context deriving unit 124c.
  • the context can be shared between the partial region using the surrounding reference context and the partial region of the high-frequency region using the position context.
  • the context index sigCtx is derived by the following expression.
  • sigCtx sigCtxOffsetR2 + ctxCnt
  • context index sigCtx is derived by the following formula.
  • a ninth configuration example of the coefficient presence / absence flag decoding unit according to the present embodiment will be described with reference to FIG.
  • the conditions for classifying the frequency region into partial regions R0 to R5 in the frequency classification unit 124a according to the fourth configuration example are changed.
  • members having the same functions as those shown in the seventh to eighth configuration examples are given the same reference numerals, and descriptions thereof are omitted.
  • FIG. 40 is a block diagram showing a configuration of the coefficient presence / absence flag decoding unit 124-C according to this configuration example.
  • the coefficient presence / absence flag decoding unit 124-C according to this configuration example includes a sub-block coefficient presence / absence flag decoding unit X1, a frequency classification unit 124a, a low frequency position context deriving unit 124b, and a peripheral reference context deriving unit 124c. , And a high frequency position context deriving unit 124d.
  • the flow of the decoding process in the coefficient presence / absence flag decoding unit 124-C will be described with reference to FIG.
  • the sub block coefficient presence / absence flag decoding unit X1 included in the coefficient presence / absence flag decoding unit 124-C interprets Bin supplied from the bit decoding unit 132, and at least one non-zero is included in each sub block constituting the frequency domain.
  • a sub-block coefficient presence / absence flag (siginificant_coeffgroup_flag) indicating whether or not a transform coefficient exists is decoded (step SY1 in FIG. 33).
  • the transform coefficient presence / absence flag in the sub-block is decoded for each sub-block in the transform block (step SY2 to step SY4 in FIG. 33). That is, in the sub-block coefficient presence / absence flag decoding unit X1, when the sub-block coefficient presence / absence flag is 1 (Y in step SY2 in FIG. 33), the frequency classification unit 124a, the low-frequency position context derivation unit 124b, the peripheral reference context The coefficient presence / absence flag in the sub-block is decoded using the deriving unit 124c and the high frequency position context deriving unit 124d. If the subblock coefficient presence / absence flag is 0 (N in step SY2 in FIG. 33), decoding of the coefficient presence / absence flag in the subblock is skipped, and the process proceeds to the next subblock.
  • the frequency classifying unit 124a included in the coefficient presence / absence flag decoding unit 124-C classifies the frequency component into one of a plurality of partial regions according to the position of the frequency component to be decoded in the frequency domain, and also uses the low frequency position context.
  • the context index ctxIdx derived by any one of the deriving unit 124b, the peripheral reference context deriving unit 124c, and the high frequency position context deriving unit 124d is assigned to the frequency component to be decoded (step SY3 in FIG. 33).
  • the frequency region of the sz ⁇ sz block is divided into 4 ⁇ 4 sub-blocks, and the position of the sub-block to which the frequency component (uiPosX, uiPosY) belongs is (xCG, yCG).
  • the sub-block position (xCG, yCG) to which the frequency component belongs is derived from the following equations (eq.C1) to (eq.C2).
  • xCG uiPosX >> 2 (eq.C1)
  • yCG uiPosY >> 2 (eq.C2)
  • xCG 0, 1,. . . , (Sz-1) >> 2
  • yCG 0, 1,. . . , (Sz-1) >> 2.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-C performs the following classification process.
  • a frequency component satisfying THC ⁇ xCG + yCG ⁇ THD is classified into the partial region R3.
  • the pseudo code corresponding to the classification process is as follows.
  • 2 is used as the threshold value THZ.
  • the threshold value TH1 5.
  • specific values of the threshold values THC and THD may be set as follows using the frequency domain size log2TrafoSize, for
  • FIG. 41 shows an example of frequency regions divided into partial regions R0, R1, R2, R3, and R4 by the classification process by the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-C.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-C allocates the context index derived by the low frequency position context deriving unit 124b to the frequency components belonging to the partial region R0, and the partial regions R1, R2, and R3
  • the context index derived by the peripheral reference context deriving unit 124c is allocated to the frequency component belonging to, and the context index derived by the high frequency position context deriving unit 124d is allocated to the frequency component belonging to the partial region R3.
  • the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-C calculates a context index ctxIdx for determining a context to be used by the arithmetic code decoding unit 130 to decode the syntax significant_coeff_flag.
  • the context index ctxIdx is calculated for each frequency domain size and frequency component to be decoded (step SY4 in FIG. 33).
  • the decoded syntax significant_coeff_flag is stored in the decoding coefficient storage unit 126 and is referred to by the coefficient value decoding unit 125.
  • the context index ctxIdx used at the time of decoding is supplied to the context recording update unit 131.
  • Low frequency position context deriving unit 124b included in the coefficient presence / absence flag decoding unit 124-C When the frequency component to be decoded is included in the partial region on the low frequency side, the low frequency position context deriving unit 124b included in the coefficient presence / absence flag decoding unit 124-C obtains the context index ctxIdx for the frequency component in the frequency domain. Derived based on the position of the frequency component.
  • the low frequency position context deriving unit 124b included in the coefficient presence / absence flag decoding unit 124-C derives a context index ctxIdx for the frequency components belonging to the partial region R0 using the following equation (eq.C3), The result ctxIdx is supplied to the frequency classification unit 124a.
  • NX is a constant representing the start point of the context index.
  • the peripheral reference context deriving unit 124c included in the coefficient presence / absence flag decoding unit 124-C uses the context index ctxIdx for the frequency component to be decoded based on the number cnt of non-zero transform coefficients that have been decoded for the frequency component around the frequency component. To derive.
  • the peripheral reference context deriving unit 124c included in the coefficient presence / absence flag decoding unit 124-C uses the equation (eq.C4) for the frequency component belonging to the partial region R1, and uses the equation (eq) for the frequency component belonging to the partial region R2. .C5) is used to derive the context index ctxIdx, and the derivation result ctxIdx is supplied to the frequency classification unit 124a.
  • the count number cnt of the non-zero conversion coefficient is as follows using (C1, C2, C3, C4, C5) shown in FIG. 10A or FIG. Derived by the equation (eq.C6).
  • the position of the target transform coefficient is immediately before the processing order (when the processing order is the reverse scan order).
  • it may be derived by the following equation (eq.C7) in which the conversion coefficient of the coordinate (c3) located below the target conversion coefficient position is not referred to.
  • the context derivation used for decoding the coefficient presence / absence flag at a certain position can be performed without referring to the value of the immediately preceding coefficient presence / absence flag, so the context derivation process and the decoding process are processed in parallel. be able to.
  • the edge reference context deriving unit 124c derives a context index ctxIdx for the frequency components belonging to the partial region R3 using the following equation (eq.C8), and uses the derived result ctxIdx as the frequency This is supplied to the classification unit 124a.
  • the count number cnt of the non-zero transform coefficient is derived by the following equation (eq.C9) using the three reference frequency components (c1, c3, c4) shown in FIG. To do.
  • each term takes 1 when the comparison in () is true, and takes 0 when the comparison in () is false.
  • reference frequency components are not limited to c1, c3, and c4 shown in FIG. 15 (i), and the three reference frequency components shown in FIGS. 15 (c), (d), (e), and (f), respectively. It may be used.
  • ctxIdx NX + 9 + min (2, cnt) (eq. C10)
  • High-frequency position context deriving unit 124d included in the coefficient presence / absence flag decoding unit 124-C When the frequency component to be decoded is included in the partial region on the high frequency side, the high frequency position context deriving unit 124d included in the coefficient presence / absence flag decoding unit 124-C obtains the context index ctxIdx for the frequency component in the frequency domain. Derived based on the position of the frequency component.
  • the high frequency position context deriving unit 124d included in the coefficient presence / absence flag decoding unit 124-C derives a context index ctxIdx using the following equation (eq.C11) for the frequency components belonging to the partial region R4, and the derivation result ctxIdx is supplied to the frequency classification unit 124a.
  • ctxIdx NX + 11 + min (maxR3, (xCG + yCG-THD) >> shift) (eq. C11)
  • MaxR3 3 may be used, but the present embodiment is not limited to this.
  • the example of the frequency domain divided by the classification process by the frequency classification unit 124a included in the coefficient presence / absence flag decoding unit 124-C is not limited to that illustrated in FIG. 41, and for example, as illustrated in FIG.
  • the frequency domain may be divided into two. That is, the frequency classification unit 124a may be configured to classify the frequency region into partial regions R0, R1, R2, R3, and R4 as follows.
  • the frequency component satisfying THE ⁇ xCG + yCG ⁇ THF is classified into the partial region R2.
  • the frequency component satisfying THF ⁇ xCG + yCG ⁇ THG is classified into the partial region R3.
  • the coefficient presence / absence flag decoding unit in the partial region on the higher frequency side than the predetermined threshold THF (for example, the partial region R3 in FIG. 41), the context assigned to each transform coefficient presence / absence flag.
  • the number of decoded non-zero transform coefficients to be referred to is smaller than the number of decoded non-zero transform coefficients referred to in the low frequency side partial area (for example, the partial area R2 in FIG. 41).
  • the processing amount for the context index derivation process on the high frequency side can be reduced.
  • another threshold THG for example, the partial region R4 in FIG.
  • the context index is derived based on the position without depending on the surrounding reference, so that the processing amount can be further reduced.
  • the position reference does not use the value of the coefficient presence / absence flag that has already been decoded for context derivation, parallelism can also be improved.
  • the frequency classification unit 124a performs classification into five partial areas, but a configuration in which the frequency classification unit 124a classifies into three partial areas may be used.
  • a frequency component satisfying uiPosX + uiPosY ⁇ THZ and xCG + yCG ⁇ THG is classified into the partial region R0.
  • Frequency components satisfying THG ⁇ xCG + yCG may be classified into the partial region R4.
  • the peripheral reference context deriving unit 124c In the first partial region (partial region R1 or R2), N1 decoded N0 transform coefficients (N1 is a natural number) are referenced, In the second partial region (partial region R3), a context index is derived by referring to N2 decoded non-zero transform coefficients (N2 is a natural number satisfying N2 ⁇ N1), In the third partial region (partial region R4), the high frequency position context deriving unit 124d derives a context index according to the position of the sub-block to which the transform coefficient presence / absence flag belongs.
  • the partial region in which the number of decoded non-zero transform coefficients referred to derive the context index is set smaller, the position of the transform coefficient presence / absence flag in the target frequency domain, and the transform
  • the high-efficiency context index on the high frequency side is achieved compared to the conventional configuration while realizing high coding efficiency.
  • the amount of processing for derivation processing can be reduced.
  • the moving picture encoding apparatus 2 is an H.264 standard. 264 / MPEG-4 AVC standard technology, VCEG (Video Coding Expert Group) codec for joint development KTA software, TMuC (Test Model under Consideration) software
  • VCEG Video Coding Expert Group
  • TMuC Traffic Model under Consideration
  • FIG. 26 is a block diagram showing a configuration of the moving picture encoding apparatus 2.
  • the moving image encoding apparatus 2 includes a predicted image generation unit 21, a transform / quantization unit 22, an inverse quantization / inverse transform unit 23, an adder 24, a frame memory 25, a loop filter 26, a variable A long code encoding unit 27 and a subtracter 28 are provided.
  • the predicted image generation unit 21 includes an intra predicted image generation unit 21a, a motion vector detection unit 21b, an inter predicted image generation unit 21c, a prediction method control unit 21d, and a motion vector redundancy deletion unit. 21e.
  • the moving image encoding device 2 is a device that generates encoded data # 1 by encoding moving image # 10 (encoding target image).
  • the predicted image generation unit 21 recursively divides the processing target LCU into one or a plurality of lower-order CUs, further divides each leaf CU into one or a plurality of partitions, and uses an inter-screen prediction for each partition.
  • a predicted image Pred_Inter or an intra predicted image Pred_Intra using intra prediction is generated.
  • the generated inter prediction image Pred_Inter and intra prediction image Pred_Intra are supplied to the adder 24 and the subtractor 28 as the prediction image Pred.
  • the prediction image generation unit 21 omits encoding of other parameters belonging to the PU for the PU to which the skip mode is applied. Also, (1) the mode of division into lower CUs and partitions in the target LCU, (2) whether to apply the skip mode, and (3) which of the inter predicted image Pred_Inter and the intra predicted image Pred_Intra for each partition Whether to generate is determined so as to optimize the encoding efficiency.
  • the intra predicted image generation unit 21a generates a predicted image Pred_Intra for each partition by intra prediction. Specifically, (1) a prediction mode used for intra prediction is selected for each partition, and (2) a prediction image Pred_Intra is generated from the decoded image P using the selected prediction mode. The intra predicted image generation unit 21a supplies the generated intra predicted image Pred_Intra to the prediction method control unit 21d.
  • the intra predicted image generation unit 21a determines an estimated prediction mode for the target partition from the prediction modes assigned to the peripheral partitions of the target partition, and the estimated prediction mode and the prediction mode actually selected for the target partition Are supplied to the variable-length code encoding unit 27 via the prediction scheme control unit 21d as a part of the intra-prediction parameter PP_Intra, and the variable-length code encoding unit 27 Is configured to include the flag in the encoded data # 1.
  • the intra predicted image generation unit 21a sets a residual prediction mode index indicating the prediction mode for the target partition, As a part of the intra prediction parameter PP_Intra, the prediction method control unit 21d supplies the variable length code encoding unit 27 to the variable length code encoding unit 27.
  • the variable length code encoding unit 27 includes the residual prediction mode index in the encoded data # 1.
  • the motion vector detection unit 21b detects a motion vector mv regarding each partition. Specifically, (1) by selecting an adaptive filtered decoded image P_ALF ′ used as a reference image, and (2) by searching for a region that best approximates the target partition in the selected adaptive filtered decoded image P_ALF ′, A motion vector mv related to the target partition is detected.
  • the adaptive filtered decoded image P_ALF ′ is an image obtained by performing an adaptive filter process by the loop filter 26 on a decoded image that has already been decoded for the entire frame, and is a motion vector detection unit.
  • the unit 21b can read out the pixel value of each pixel constituting the adaptive filtered decoded image P_ALF ′ from the frame memory 25.
  • the motion vector detection unit 21b sends the detected motion vector mv to the inter-predicted image generation unit 21c and the motion vector redundancy deletion unit 21e together with the reference image index RI designating the adaptive filtered decoded image P_ALF ′ used as a reference image. Supply.
  • the inter prediction image generation unit 21c generates a motion compensated image mc related to each inter prediction partition by inter-screen prediction. Specifically, using the motion vector mv supplied from the motion vector detection unit 21b, the motion compensated image mc from the adaptive filtered decoded image P_ALF ′ designated by the reference image index RI supplied from the motion vector detection unit 21b. Is generated. Similar to the motion vector detection unit 21b, the inter prediction image generation unit 21c can read out the pixel value of each pixel constituting the adaptive filtered decoded image P_ALF ′ from the frame memory 25. The inter prediction image generation unit 21c supplies the generated motion compensated image mc (inter prediction image Pred_Inter) together with the reference image index RI supplied from the motion vector detection unit 21b to the prediction method control unit 21d.
  • inter prediction image Pred_Inter inter prediction image Pred_Inter
  • the prediction scheme control unit 21d compares the intra predicted image Pred_Intra and the inter predicted image Pred_Inter with the encoding target image, and selects whether to perform intra prediction or inter prediction.
  • the prediction scheme control unit 21d supplies the intra prediction image Pred_Intra as the prediction image Pred to the adder 24 and the subtracter 28, and sets the intra prediction parameter PP_Intra supplied from the intra prediction image generation unit 21a. This is supplied to the variable length code encoding unit 27.
  • the prediction scheme control unit 21d supplies the inter prediction image Pred_Inter as the prediction image Pred to the adder 24 and the subtracter 28, and the reference image index RI and motion vector redundancy described later.
  • the estimated motion vector index PMVI and the motion vector residual MVD supplied from the deletion unit 21e are supplied to the variable length code encoding unit 27 as an inter prediction parameter PP_Inter. Further, the prediction scheme control unit 21 d supplies prediction type information Pred_type indicating which prediction image is selected from the intra prediction image Pred_Intra and the inter prediction image Pred_Inter to the variable length code encoding unit 27.
  • the motion vector redundancy deletion unit 21e deletes redundancy in the motion vector mv detected by the motion vector detection unit 21b. Specifically, (1) an estimation method used for estimating the motion vector mv is selected, (2) an estimated motion vector pmv is derived according to the selected estimation method, and (3) the estimated motion vector pmv is subtracted from the motion vector mv. As a result, a motion vector residual MVD is generated. The motion vector redundancy deleting unit 21e supplies the generated motion vector residual MVD to the prediction method control unit 21d together with the estimated motion vector index PMVI indicating the selected estimation method.
  • the transform / quantization unit 22 (1) performs frequency transform such as DCT transform (Discrete Cosine Transform) for each block (transform unit) on the prediction residual D obtained by subtracting the prediction image Pred from the encoding target image, (2) Quantize the transform coefficient Coeff_IQ obtained by frequency transform, and (3) supply the transform coefficient Coeff obtained by quantization to the variable length code encoding unit 27 and the inverse quantization / inverse transform unit 23.
  • the transform / quantization unit 22 (1) selects a quantization step QP to be used for quantization for each TU, and (2) sets a quantization parameter difference ⁇ qp indicating the size of the selected quantization step QP.
  • the variable length code encoding unit 28 is supplied, and (3) the selected quantization step QP is supplied to the inverse quantization / inverse transform unit 23.
  • the difference value obtained by subtracting the value of '.
  • the DCT transform performed by the transform / quantization unit 22 is, for example, when transforming coefficients before quantization for the horizontal frequency u and the vertical frequency v when the size of the target block is 8 ⁇ 8 pixels.
  • Coeff_IQ (u, v) (0 ⁇ u ⁇ 7, 0 ⁇ v ⁇ 7), for example, is given by the following mathematical formula (2).
  • D (i, j) (0 ⁇ i ⁇ 7, 0 ⁇ j ⁇ 7) represents the prediction residual D at the position (i, j) in the target block.
  • the inverse quantization / inverse transform unit 23 (1) inversely quantizes the quantized transform coefficient Coeff, and (2) inverse DCT (Discrete Cosine Transform) transform or the like on the transform coefficient Coeff_IQ obtained by the inverse quantization. (3) The prediction residual D obtained by the inverse frequency conversion is supplied to the adder 24.
  • the quantization step QP supplied from the transform / quantization unit 22 is used.
  • the prediction residual D output from the inverse quantization / inverse transform unit 23 is obtained by adding a quantization error to the prediction residual D input to the transform / quantization unit 22. Common names are used for this purpose.
  • a more specific operation of the inverse quantization / inverse transform unit 23 is substantially the same as that of the inverse quantization / inverse transform unit 13 included in the video decoding device 1.
  • the adder 24 adds the predicted image Pred selected by the prediction scheme control unit 21d to the prediction residual D generated by the inverse quantization / inverse transform unit 23, thereby obtaining the (local) decoded image P. Generate.
  • the (local) decoded image P generated by the adder 24 is supplied to the loop filter 26 and stored in the frame memory 25, and is used as a reference image in intra prediction.
  • variable-length code encoding unit 27 (Variable-length code encoding unit 27) The variable length code encoding unit 27 (1) the quantized transform coefficient Coeff and ⁇ qp supplied from the transform / quantization unit 22, and (2) the quantization parameter PP (interpolation) supplied from the prediction scheme control unit 21d. Prediction parameter PP_Inter and intra prediction parameter PP_Intra), (3) Prediction type information Pred_type, and (4) Variable length coding of filter parameter FP supplied from loop filter 26, thereby encoding encoded data # 1. Generate.
  • FIG. 27 is a block diagram showing a configuration of the variable-length code encoding unit 27.
  • the variable length code encoding unit 27 includes a quantization residual information encoding unit 271 that encodes the quantized transform coefficient Coeff, and a prediction parameter encoding unit 272 that encodes the prediction parameter PP.
  • a prediction type information encoding unit 273 that encodes the prediction type information Pred_type, and a filter parameter encoding unit 274 that encodes the filter parameter FP. Since the specific configuration of the quantization residual information encoding unit 271 will be described later, the description thereof is omitted here.
  • the subtracter 28 generates the prediction residual D by subtracting the prediction image Pred selected by the prediction method control unit 21d from the encoding target image.
  • the prediction residual D generated by the subtracter 28 is frequency-transformed and quantized by the transform / quantization unit 22.
  • the loop filter 26 includes (1) a function as a deblocking filter (DF: Deblocking Filter) that performs smoothing (deblocking processing) on an image around a block boundary or partition boundary in the decoded image P; It has a function as an adaptive filter (ALF: Adaptive Loop Filter) which performs an adaptive filter process using the filter parameter FP with respect to the image which the blocking filter acted on.
  • DF Deblocking Filter
  • ALF Adaptive Loop Filter
  • Quantized residual information encoding unit 271 The quantized residual information encoding unit 271 performs quantization by performing context adaptive binary arithmetic coding (CABAC: Context-based Adaptive Binary Arithmetic Coding) on the quantized transform coefficients Coeff (uiPosX, uiPosY). Generated residual information QD.
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • uiPosX and uiPosY are indexes representing the position of each frequency component in the frequency domain as described above, and are indexes corresponding to the above-described horizontal frequency u and vertical frequency v, respectively.
  • the quantized transform coefficient Coeff may be simply referred to as a transform coefficient Coeff.
  • FIG. 28 is a block diagram illustrating a configuration of the quantization residual information encoding unit 271.
  • the quantization residual information encoding unit 271 includes a transform coefficient encoding unit 220 and an arithmetic code encoding unit 230.
  • the arithmetic code encoder 230 is configured to generate the quantized residual information QD by encoding each Bin supplied from the transform coefficient encoder 220 with reference to the context, and is shown in FIG. As described above, a context recording update unit 231 and a bit encoding unit 232 are provided.
  • the context recording / updating unit 231 is configured to record and update the context variable CV managed by each context index ctxIdx.
  • the context variable CV includes (1) a dominant symbol MPS (most probable symbol) having a high occurrence probability and (2) a probability state index pStateIdx for designating the occurrence probability of the dominant symbol MPS.
  • the context recording update unit 231 updates the context variable CV by referring to the context index ctxIdx supplied from each unit of the transform coefficient encoding unit 220 and the Bin value encoded by the bit encoding unit 232, and The updated context variable CV is recorded until the next update.
  • the dominant symbol MPS is 0 or 1.
  • the dominant symbol MPS and the probability state index pStateIdx are updated every time the bit encoding unit 132 encodes one Bin.
  • the context index ctxIdx may directly specify the context for each frequency component, or may be an increment value from the context index offset set for each TU to be processed (the same applies hereinafter). ).
  • the bit encoding unit 232 refers to the context variable CV recorded in the context recording / updating unit 231, and encodes each Bin supplied from each unit of the transform coefficient encoding unit 220, thereby quantizing residual information. Generate a QD.
  • the encoded Bin value is also supplied to the context recording update unit 231 and is referred to in order to update the context variable CV.
  • the transform coefficient coding unit 220 includes a last position coding unit 221, a scan order table storage unit 222, a coefficient coding control unit 223, a coefficient presence / absence flag coding unit, a coefficient value coding unit 225, An encoding coefficient storage unit 226 and a syntax deriving unit 227 are provided.
  • syntax deriving unit 2227 refers to each value of the transform coefficient Coeff (uiPosX, uiPosY), and syntax for identifying these transform coefficients in the target frequency domain last_significant_coeff_x, last_significant_coeff_y, significant_coeff_flag, coeff_abs_level_coefficient_abs_level_coeff_abs_level_ Each value of coeff_abs_level_minus3 is derived. Each derived syntax is supplied to the coding coefficient storage unit 226.
  • last_significant_coeff_x and last_significant_coeff_y are also supplied to the coefficient coding control unit 223 and the last position coding unit 221. Further, significant_coeff_flag in the derived syntax is also supplied to the coefficient presence / absence flag encoding unit 224.
  • description is abbreviate
  • the last position encoding unit 221 encodes the syntaxes last_significant_coeff_x and last_significant_coeff_y supplied from the syntax deriving unit 227. In addition, each Bin obtained by encoding these syntaxes is supplied to the bit encoding unit 232. Further, the context index ctxIdx used for encoding the syntax last_significant_coeff_x and last_significant_coeff_y is supplied to the context recording update unit 231.
  • the scan order table storage unit 222 uses, as arguments, the size of the TU to be processed, the scan index representing the type of scan direction, and the frequency component identification index given along the scan order in the frequency domain of the frequency component to be processed. Stores a table that gives the position.
  • An example of such a scan order table is ScanOrder shown in FIG.
  • the coefficient encoding control unit 223 is a configuration for controlling the order of encoding processing in each unit included in the quantization residual information encoding unit 271.
  • the coefficient coding control unit 223 refers to the syntax last_significant_coeff_x and last_significant_coeff_y supplied from the syntax deriving unit 227, identifies the position of the last non-zero transform coefficient along the forward scan, and identifies the identified last non-zero
  • the position of each frequency component (uiPosX, uiPosY) is calculated in the scan order starting from the position of the transform coefficient in the reverse scan order of the scan order given by the scan order table stored in the scan order table storage unit 222. This is supplied to the presence / absence flag encoding unit.
  • the coefficient encoding control unit 223 specifies the position of the last non-zero transform coefficient along the forward scan, and uses the first component (DC component) as a starting point, and determines the position of the identified last non-zero transform coefficient.
  • a coefficient presence / absence flag encoding unit that sets the position (uiPosX, uiPosY) of each frequency component in the scan order that is the end and is the forward scan order of the scan order given by the scan order table stored in the scan order table storage unit 222 It is good also as a structure supplied to.
  • the coefficient value encoding unit 225 encodes the syntax coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, coeff_sign_flag, and coeff_abs_level_minus3 supplied from the syntax deriving unit 227.
  • each Bin obtained by encoding these syntaxes is supplied to the bit encoding unit 232.
  • the context index ctxIdx used for encoding these syntaxes is supplied to the context recording update unit 231.
  • the coding coefficient storage unit 226 is configured to store each value of the syntax derived by the syntax deriving unit 227. In particular, each value of the syntax significant_coeff_flag derived by the syntax deriving unit 227 is stored in the coding coefficient storage unit 226.
  • the coefficient presence / absence flag encoding unit classifies the frequency region into one or a plurality of partial regions according to the magnitude of the frequency, and derives the context index ctxIdx by a derivation method determined for each partial region.
  • this is a configuration for encoding the syntax significant_coeff_flag indicating the presence or absence of a non-zero transform coefficient using the derived context index ctxIdx.
  • FIG. 28 shows a coefficient presence / absence flag encoding unit 224 as a first configuration example of the coefficient presence / absence flag encoding unit according to the present embodiment.
  • the coefficient presence / absence flag encoding unit 224 includes a frequency classification unit 224a, a low frequency position context deriving unit 224b, a peripheral reference context deriving unit 224c, and a high frequency position context deriving unit 224d. Yes.
  • the frequency classifying unit 224a classifies the frequency component into any of a plurality of partial regions according to the position of the frequency component to be encoded in the frequency domain, and also includes a low frequency position context deriving unit 224b and a peripheral reference context deriving unit. This is a configuration for allocating the context index ctxIdx derived by either the H.224c or the high frequency position context deriving unit 224d to the frequency component to be encoded.
  • the frequency classification unit 224a calculates a context index ctxIdx for determining a context to be used for encoding the syntax significant_coeff_flag in the arithmetic code encoding unit 230.
  • the context index ctxIdx is calculated for each frequency region size and frequency component to be decoded.
  • frequency classifying unit 224a is the same as that of the frequency classifying unit 124a included in the video decoding device 1, and thus description thereof is omitted here.
  • the low frequency location context deriving unit 224b derives the context index ctxIdx for the frequency component based on the position of the frequency component in the frequency region. It is the structure for doing.
  • the specific processing by the low-frequency position context deriving unit 224b according to this configuration example is the same as that of the low-frequency position context deriving unit 124b included in the video decoding device 1, and thus description thereof is omitted here.
  • the peripheral reference context deriving unit 224c has a configuration for deriving the context index ctxIdx for the frequency component to be encoded based on the number of non-zero transform coefficients that have been encoded for the frequency component around the frequency component.
  • peripheral reference context deriving unit 224c Since the specific processing by the peripheral reference context deriving unit 224c according to this configuration example is the same as that of the peripheral reference context deriving unit 224c included in the video decoding device 1, description thereof is omitted here.
  • the high frequency location context deriving unit 224d derives the context index ctxIdx for the frequency component based on the position of the frequency component in the frequency region. It is the structure for.
  • the coefficient presence / absence flag encoding unit according to the present embodiment may be configured to correspond to the coefficient presence / absence flag decoding unit 124-1 included in the video decoding device 1.
  • the coefficient presence / absence flag encoding unit includes a frequency classifying unit 124a, a low frequency position context deriving unit 124b, a peripheral reference context deriving unit 124c, a previous scan sequence context deriving unit 124e, and a non-zero conversion. It can be configured to include the same units as the coefficient counting unit 124f.
  • the coefficient presence / absence flag encoding unit according to the present embodiment may be configured to correspond to the coefficient presence / absence flag decoding unit 124-2 included in the video decoding device 1.
  • the coefficient presence / absence flag encoding unit may include the same units as the frequency classification unit 124a, the low frequency position context deriving unit 124b, and the peripheral reference context deriving unit 124g.
  • the configuration of the coefficient presence / absence flag decoding unit 124-2 may be a configuration shown in another configuration example of the third configuration example of the coefficient presence / absence flag encoding unit.
  • the coefficient presence / absence flag encoding unit according to the present embodiment may be configured to correspond to the coefficient presence / absence flag decoding unit 124 ′ included in the video decoding device 1.
  • the coefficient presence / absence flag encoding unit includes components similar to the frequency classifying unit 124a ′, the low frequency position context deriving unit 124b, the peripheral reference context deriving unit 124g, and the high frequency position context deriving unit 124d. It can be set as the structure provided with.
  • the coefficient presence / absence flag encoding unit according to the present embodiment may be configured to correspond to the coefficient presence / absence flag decoding unit 124-3 included in the video decoding device 1.
  • the coefficient presence / absence flag encoding unit includes a frequency classifying unit 124a, a low frequency position context deriving unit 124b, a high frequency region context deriving unit 124h, a peripheral reference context deriving unit 124i, and a pre-scan sequence context deriving. It can be configured to include the same units as the unit 124e and the non-zero conversion coefficient count unit 124f.
  • the coefficient presence / absence flag encoding unit according to the present embodiment may be configured to correspond to the coefficient presence / absence flag decoding unit 124-4 included in the video decoding device 1.
  • the coefficient presence / absence flag encoding unit may include the same units as the frequency classifying unit 124a, the low-frequency position context deriving unit 124b, and the peripheral reference context deriving unit 124k. .
  • the seventh to ninth configurations of the coefficient presence / absence flag encoding unit corresponding to the seventh to ninth configurations of the coefficient presence / absence flag decoding unit included in the video decoding device 1 will be described.
  • the coefficient presence / absence flag encoder the coefficient presence / absence flag is not encoded with the entire frequency domain as one transform block, but the transform block is divided into, for example, 4 ⁇ 4 sub-blocks.
  • the coefficient presence / absence flag is encoded in units of sub-blocks.
  • FIG. 32 illustrates sub-block scanning by the coefficient presence / absence flag encoding unit according to the seventh to ninth configurations.
  • a sub-block reverse scan is performed for a flag (sub-block coefficient presence / absence flag) indicating whether at least one non-zero transform coefficient is present in the sub-block. Encode sequentially. Further, when the subblock coefficient presence / absence flag is non-zero, the coefficient presence / absence flag is encoded in the reverse scan order within the subblock for each transform coefficient within the subblock.
  • FIG. 44 is a block diagram showing a configuration of a coefficient presence / absence flag encoding unit 224-A corresponding to the coefficient presence / absence flag decoding unit 124-A.
  • FIG. 43 is a flowchart showing the operation flow of the coefficient presence / absence flag encoding unit 224-A according to this configuration example.
  • the coefficient presence / absence flag encoding unit 224-A includes a sub-block coefficient presence / absence flag encoding unit X2, a frequency classification unit 224a, a low frequency position context deriving unit 224b, and a peripheral reference context.
  • a derivation unit 224c is provided.
  • the sub-block coefficient presence / absence flag encoding unit X2 determines whether or not at least one non-zero transform coefficient exists in each sub-block constituting the frequency domain of the target transform block supplied from the syntax deriving unit 227.
  • the indicated sub-block coefficient presence / absence flag (significant_coeffgroup_flag) is encoded (step SY1 ′ in FIG. 43). Further, each Bin obtained by encoding the sub-block coefficient presence / absence flag is supplied to the bit encoding unit 232.
  • the sub block coefficient presence / absence flag encoding unit X2 encodes the coefficient presence / absence flag in the sub block for each sub block in the transform block (step SY2 'to step SY4' in FIG. 43). That is, in the sub-block coefficient presence / absence flag encoding unit X2, when the sub-block coefficient presence / absence flag is 1 (Y in step SY2 ′ in FIG. 43), the frequency classification unit 224a, the low-frequency position context derivation unit 224b, and peripheral references A coefficient presence / absence flag in the sub-block is encoded using the context deriving unit 224c. If the sub-block coefficient presence / absence flag is 0 (N in step SY2 'in FIG. 43), the encoding of the coefficient presence / absence flag in the sub-block is skipped and the process proceeds to the next sub-block.
  • sbkIdx represents the scan order number of the target sub-block in the sub-block forward scan
  • LastSbkIdx represents the scan order of the sub-block with the last coefficient in the sub-block forward scan. Represents a number.
  • the frequency classifying unit 224a included in the coefficient presence / absence flag encoding unit 224-A classifies the frequency component into one of a plurality of partial regions according to the position of the frequency component to be encoded in the frequency region, and the low frequency
  • the context index ctxIdx derived by either the position context deriving unit 224b or the peripheral reference context deriving unit 224c is assigned to the frequency component to be encoded (step SY3 ′ in FIG. 43).
  • the frequency classification unit 224a included in the coefficient presence / absence flag encoding unit 224-A calculates a context index ctxIdx for determining a context to be used by the arithmetic encoding unit 230 to encode the syntax significant_coeff_flag.
  • the context index ctxIdx is calculated for each frequency component size and frequency component to be encoded (step SY4 'in FIG. 43).
  • the low frequency position context deriving unit 224b included in the coefficient presence / absence flag encoding unit 224-A when the frequency component to be encoded is included in the low frequency side partial region, the context index ctxIdx for the frequency component is Derived based on the position of the frequency component at.
  • the low frequency position context deriving unit 224b performs the context index ctxIdx on the frequency components belonging to the partial region R0 by the same processing as the low frequency position context deriving unit 124b in the coefficient presence / absence flag decoding unit 124-A. And the derivation result ctxIdx is supplied to the frequency classification unit 224a.
  • the peripheral reference context deriving unit 224c included in the coefficient presence / absence flag encoding unit 224-A sets the context index ctxIdx for the frequency component to be encoded, and the number of non-zero transform coefficients that have been encoded for the frequency components around the frequency component. Derived based on
  • the peripheral reference context deriving unit 224c performs a context index on the frequency components belonging to the partial regions R1 and R2 by the same processing as the peripheral reference context deriving unit 124c in the coefficient presence / absence flag decoding unit 124-A. ctxIdx is derived, and the derivation result ctxIdx is supplied to the frequency classification unit 224a.
  • FIG. 45 is a block diagram showing a configuration of a coefficient presence / absence flag encoding unit 224-B corresponding to the coefficient presence / absence flag decoding unit 124-B. The flow of operation of the coefficient presence / absence flag encoding unit 224-B will be described with reference to the flowchart shown in FIG.
  • the coefficient presence / absence flag encoding unit 224-B includes a sub-block coefficient presence / absence flag encoding unit X2, a frequency classification unit 224a, a low frequency position context derivation unit 224b, and a peripheral reference context derivation.
  • the sub block coefficient presence / absence flag encoding unit X2 included in the coefficient presence / absence flag encoding unit 224-B is at least one of the sub blocks constituting the frequency domain of the target transform block supplied from the syntax deriving unit 227.
  • a sub-block coefficient presence / absence flag (significant_coeffgroup_flag) indicating whether or not a transform coefficient of 0 exists is encoded (step SY1 ′ in FIG. 43). Further, each Bin obtained by encoding the sub-block coefficient presence / absence flag is supplied to the bit encoding unit 232.
  • the coefficient presence / absence flag is encoded in the sub-block for each sub-block in the transform block (step SY2 'to step SY4' in FIG. 43). That is, in the sub-block coefficient presence / absence flag encoding unit X2, when the sub-block coefficient presence / absence flag is 1 (Y in step SY2 ′ in FIG. 43), the frequency classification unit 224a, the low-frequency position context derivation unit 224b, and peripheral references The coefficient presence / absence flag in the sub-block is encoded using the context deriving unit 224c and the high frequency position context deriving unit 224d. If the sub block coefficient presence / absence flag is 0 (N in step SY2 'in FIG. 43), the coding of the coefficient presence / absence flag in the sub block is skipped, and the process proceeds to the next sub block.
  • the frequency classification unit 224a included in the coefficient presence / absence flag encoding unit 224-B classifies the frequency component into one of a plurality of partial regions in accordance with the position of the frequency component to be encoded in the frequency region, and the low frequency
  • the context index ctxIdx derived by any of the position context deriving unit 224b, the peripheral reference context deriving unit 224c, and the high frequency position context deriving unit 224d is assigned to the frequency component to be encoded (step SY3 ′ in FIG. 43).
  • the frequency classification unit 224a included in the coefficient presence / absence flag encoding unit 224-B calculates a context index ctxIdx for determining a context to be used by the arithmetic encoding unit 230 to encode the syntax significant_coeff_flag.
  • the context index ctxIdx is calculated for each frequency component size and frequency component to be encoded (step SY4 'in FIG. 43).
  • the low frequency position context deriving unit 224b included in the coefficient presence / absence flag encoding unit 224-B is similar to the low frequency position context deriving unit 124b in the coefficient presence / absence flag decoding unit 124-B for the frequency components belonging to the partial region R0.
  • the context index ctxIdx is derived, and the derivation result ctxIdx is supplied to the frequency classification unit 224a.
  • the peripheral reference context deriving unit 224c included in the coefficient presence / absence flag encoding unit 224-B is similar to the peripheral reference context deriving unit 124c in the coefficient presence / absence flag decoding unit 124-B for the frequency components belonging to the partial regions R1 and R2.
  • the context index ctxIdx is derived, and the derivation result ctxIdx is supplied to the frequency classification unit 224a.
  • the high frequency position context deriving unit 224d included in the coefficient presence / absence flag encoding unit 224-B when the frequency component to be encoded is included in the partial region on the high frequency side, the context index ctxIdx for the frequency is Derived based on the position of the frequency component and the position of the sub-block to which the frequency component belongs.
  • the high frequency position context deriving unit 224d included in the coefficient presence / absence flag encoding unit 224-B performs the same process as the high frequency position context deriving unit 124d in the coefficient presence / absence flag decoding unit 124-C on the frequency components belonging to the partial region R3.
  • the context index ctxIdx is derived, and the derivation result ctxIdx is supplied to the frequency classification unit 224a.
  • the branch process for switching the context derivation method according to the position of the transform coefficient can be a branch process using sub-block coordinates (xCG, yCG).
  • the branch process referring to (uiPosX, uiPosY) is performed, the branch process referring to (uiPosX, uiPosY) performed inside the sub-block can be omitted, and the context derivation throughput can be improved.
  • the position context has already been encoded with the context of the coefficient presence / absence flag at the position of a certain transform coefficient. Therefore, there is an effect that the context derivation of the coefficient presence / absence flag and the coding of the coefficient presence / absence flag can be performed in parallel.
  • FIG. 46 is a block diagram showing a configuration of a coefficient presence / absence flag encoding unit 224-C corresponding to the coefficient presence / absence flag decoding unit 124-C. The flow of operation of the coefficient presence / absence flag encoding unit 224-C will be described with reference to the flowchart shown in FIG.
  • the coefficient presence / absence flag encoding unit 224-C includes a sub-block coefficient presence / absence flag encoding unit X2, a frequency classification unit 224a, a low frequency position context derivation unit 224b, and a peripheral reference context derivation.
  • the sub-block coefficient presence / absence flag encoding unit X2 included in the coefficient presence / absence flag encoding unit 224-C is the same as the coefficient presence / absence flag encoding unit X2 of the coefficient presence / absence flag encoding unit 224-B, and thus description thereof is omitted.
  • the frequency classification unit 224a included in the coefficient presence / absence flag encoding unit 224-C classifies the frequency component into one of a plurality of partial regions according to the position of the frequency component to be encoded in the frequency domain, and
  • the context index ctxIdx derived by any of the position context deriving unit 224b, the peripheral reference context deriving unit 224c, and the high frequency position context deriving unit 224d is assigned to the frequency component to be encoded (step SY3 ′ in FIG. 43).
  • the frequency classification unit 224a included in the coefficient presence / absence flag encoding unit 224-C calculates a context index ctxIdx for determining a context to be used for encoding the syntax significant_coeff_flag in the arithmetic encoding unit 230.
  • the context index ctxIdx is calculated for each frequency component size and frequency component to be encoded (step SY4 'in FIG. 43).
  • the low frequency position context deriving unit 224b included in the coefficient presence / absence flag encoding unit 224-C is similar to the low frequency position context deriving unit 124b in the coefficient presence / absence flag decoding unit 124-C for the frequency components belonging to the partial region R0.
  • the context index ctxIdx is derived, and the derivation result ctxIdx is supplied to the frequency classification unit 224a.
  • the peripheral reference context deriving unit 224c included in the coefficient presence / absence flag encoding unit 224-C performs the peripheral reference context deriving unit 124c of the coefficient presence / absence flag decoding unit 124-C on the frequency components belonging to the partial regions R1, R2, and R3.
  • the context index ctxIdx is derived by the same processing as, and the derivation result ctxIdx is supplied to the frequency classification unit 224a.
  • the high frequency position context deriving unit 224d included in the coefficient presence / absence flag encoding unit 224-C performs the same process as the high frequency position context deriving unit 124d in the coefficient presence / absence flag decoding unit 124-C on the frequency components belonging to the partial region R4.
  • the context index ctxIdx is derived, and the derivation result ctxIdx is supplied to the frequency classification unit 224a.
  • each transform coefficient presence / absence flag encoding unit 224-C is present in a partial region higher than the predetermined threshold THF (for example, the partial region R3 in FIG. 41).
  • the number of encoded non-zero transform coefficients to be referred to is the number of encoded non-zero transform coefficients referred to in the low frequency side partial region (for example, the partial region R2 in FIG. 41). Since it is smaller than the number, it is possible to reduce the processing amount for the context index derivation process on the high frequency side.
  • THG for example, the partial region R4 in FIG.
  • the context index is derived based on the position without depending on the surrounding reference, so that the processing amount can be further reduced.
  • the position reference does not use the already-encoded coefficient presence / absence flag value for context derivation, parallelism can also be improved.
  • the frequency classification unit 224a includes the position of the conversion coefficient presence / absence flag to be processed and the conversion coefficient presence / absence flag belonging to the target frequency region.
  • the peripheral reference context deriving unit 224c In the first partial region (partial region R1 or R2), N1 decoded N0 transform coefficients (N1 is a natural number) are referenced, In the second partial region (partial region R3), a context index is derived by referring to N2 decoded non-zero transform coefficients (N2 is a natural number satisfying N2 ⁇ N1), In the third partial region (partial region R4), the high frequency position context deriving unit 224d derives a context index according to the position of the sub block to which the transform coefficient presence / absence flag belongs.
  • the partial region in which the number of encoded non-zero transform coefficients referred to derive a context index is set smaller, the position of the transform coefficient presence / absence flag in the target frequency domain, Context index on the high frequency side compared to the conventional configuration while realizing high coding efficiency by combining with the partial area from which the context index is derived based on the position of the sub-block to which the transform coefficient presence flag belongs
  • the processing amount for the derivation process can be reduced.
  • the transform coefficient encoding unit 220 according to the present embodiment has been mainly described with respect to the configuration example of the coefficient presence / absence flag encoding unit.
  • the configuration of the transform coefficient encoding unit 220 according to the present embodiment is as described above. It is not limited to examples.
  • the transform coefficient encoding unit 220 performs the following condition uiPosX + uiPosY ⁇ TH2 It is also possible to use a configuration in which only transform coefficients for frequency components satisfying the above are encoded and include a flag high_coeff_restriction_flag indicating whether or not the limitation is applied in the sequence parameter set SPS of the encoded data # 1.
  • the above restriction may be applied only when the TU to be processed has a specific size (for example, 32 ⁇ 32 or 16 ⁇ 16).
  • the coefficient presence / absence flag encoding unit included in the transform coefficient encoding unit 220 derives a context index ctxIdx using the following formula and assigns it to each frequency component It is good.
  • N8 is the starting point of the context index when the frequency domain size is 8 ⁇ 8.
  • Moving picture decoding apparatus 3 As another example of the moving picture decoding apparatus according to the present embodiment will be described with reference to FIGS. 61 to 73.
  • the same parts as those already described are denoted by the same reference numerals, and the description thereof is omitted.
  • the video decoding device 3 includes a quantization residual information decoding unit Y111 instead of the quantization residual information decoding unit 111 in the video decoding device 1 of FIG.
  • FIG. 61 is a block diagram illustrating a configuration of the quantization residual information decoding unit Y111 of the video decoding device 3. As illustrated in FIG. 61, the quantization residual information decoding unit Y111 includes a transform coefficient decoding unit Y120 and an arithmetic code decoding unit 130.
  • the transform coefficient decoding unit Y120 includes a last coefficient position decoding unit 121, a scan order table storage unit 122, a coefficient decoding control unit 123, a coefficient presence / absence flag decoding unit Y124, a coefficient value decoding unit Y125, and a decoded coefficient storage.
  • the scan order table storage unit 122 uses as arguments the size of the TU (block) to be processed, the scan index representing the type of scan direction, and the frequency component identification index given along the scan order. A table for giving a position in the frequency domain is stored.
  • the scan order table storage unit 122 stores a sub-block scan order table for designating the scan order of sub-blocks.
  • the coefficient decoding control unit 123 is configured to control the order of decoding processing in each unit included in the quantization residual information decoding unit Y111.
  • the coefficient decoding control unit 123 refers to the syntax last_significant_coeff_x and last_significant_coeff_y supplied from the last coefficient position decoding unit 121, and positions the last non-zero transform coefficient along the forward scan Each frequency in the reverse scan order of the scan order given by the scan order table stored in the scan order table storage unit 122, starting from the position of the specified last non-zero transform coefficient
  • the component positions (xC, yC) are supplied to the coefficient presence / absence flag decoding unit Y124 and the decoded coefficient storage unit 126.
  • the coefficient decoding control unit 123 supplies sz that is a parameter indicating the size of the TU to be processed, that is, the size of the target frequency region, to each unit included in the transform coefficient decoding unit Y120 (not shown).
  • sz is specifically a parameter representing the number of pixels on one side of the processing target TU, that is, the number of frequency components on one side of the target frequency region.
  • the coefficient decoding control unit 123 sets the position (xC, yC) of each frequency component to the coefficient presence / absence flag decoding unit in the order of the scan order given by the scan order table stored in the scan order table storage unit 122. It is good also as a structure to supply.
  • the coefficient decoding control unit 123 refers to the syntax last_significant_coeff_x and last_significant_coeff_y supplied from the last coefficient position decoding unit 121, and positions the last non-zero transform coefficient along the forward scan. And the scan order starting from the position of the sub-block including the identified last non-zero transform coefficient, the scan order given by the sub-block scan order table stored in the scan order table storage unit 122 The position (xCG, yCG) of each subblock is supplied to the subblock coefficient presence / absence flag decoding unit Y127 in reverse scan order.
  • the coefficient decoding control unit 123 includes the subblocks to be processed in the reverse scan order of the scan order given by the scan order table stored in the scan order table storage unit 122 for the subblocks to be processed.
  • the position (xC, yC) of each frequency component is supplied to the coefficient presence / absence flag decoding unit Y124 and the decoded coefficient storage unit 126.
  • an oblique scan Up-right diagonal scan
  • the subblock coefficient presence / absence flag decoding unit Y127 interprets each Bin supplied from the bit decoding unit 132 and decodes the syntax significant_coeffgroup_flag [xCG] [yCG] specified by each subblock position (xCG, yCG). Also, the subblock coefficient presence / absence flag decoding unit Y127 calculates a context index ctxIdx for determining a context used for decoding Bin of the syntax significant_coeffgroup_flag [xCG] [yCG] in the arithmetic code decoding unit 130. The calculated context index ctxIdx is supplied to the context recording update unit 131.
  • the syntax significant_coeffgroup_flag [xCG] [yCG] takes 1 when the subblock specified by the subblock position (xCG, yCG) includes at least one nonzero transform coefficient, and is nonzero. This is a syntax that takes 0 when no conversion coefficient is included.
  • the decoded syntax significant_coeffgroup_flag [xCG] [yCG] value is stored in the decoded coefficient storage unit 126.
  • the coefficient presence / absence flag decoding unit Y124 decodes syntax significant_coeff_flag [xC] [yC] specified by each coefficient position (xC, yC). The value of the decoded syntax significant_coeff_flag [xC] [yC] is stored in the decoded coefficient storage unit 126. Further, the quantity coefficient presence / absence flag decoding unit Y124 calculates a context index ctxIdx for determining a context used for decoding Bin of the syntax significant_coeff_flag [xC] [yC] in the arithmetic code decoding unit 130. The calculated context index ctxIdx is supplied to the context recording update unit 131.
  • the coefficient value decoding unit Y125 interprets each Bin supplied from the bit decoding unit 132, and derives the value of the transform coefficient (more specifically, the non-zero transform coefficient) in the frequency component to be processed. Also, the context index ctxIdx used for decoding various syntaxes is supplied to the context recording update unit 131. The derived transform coefficient value is stored in the decoded coefficient storage unit 126.
  • the decoding coefficient storage unit 126 is configured to store each value of the transform coefficient decoded by the coefficient value decoding unit Y125. Also, each value of the syntax significant_coeff_flag decoded by the quantity coefficient presence / absence flag decoding unit Y124 is stored in the decoding coefficient storage unit 126. Each value of the transform coefficient stored in the decoded coefficient storage unit 126 is supplied to the inverse quantization / inverse transform unit 13.
  • 62 and 63 show the configuration of the quantization residual information QD of the prior art.
  • 62 and 63 show syntaxes included in the prior art quantization residual information QD (indicated as residual_coding_cabac () in FIG. 62).
  • FIG. 62 is a diagram illustrating a first half portion of a syntax table indicating syntax included in the quantized residual information QD.
  • FIG. 63 is a diagram illustrating the latter half of the syntax table indicating the syntax included in the quantized residual information QD.
  • the quantized residual information QD includes the syntax last_significant_coeff_x, last_significant_coeff_y, significant_coeffgroup_flag, significant_coeff_flag, coeff_abs_level_greater1_flag, coeff_abs_level_great_2_flag, coeff_sign_3
  • CABAC context adaptive binary arithmetic coding
  • bypass in the Descriptor column means that the syntax is encoded by bypass.
  • H. H.264 / MPEG-4 According to the AVC standard, whether or not encoding is performed by bypass is indicated by the fact that the table indicating the assignment of the context index ctxIdx is na, but here it is shown on the syntax table for easy understanding. .
  • coeff_sign_flag and coeff_abs_level_minus3 are encoded by bypass.
  • these two syntaxes encoded by bypass are continuous, a high throughput can be obtained in the decoding process of this portion.
  • Quantization residual information QD of the first configuration of the present embodiment 64 to 66 show syntaxes included in the quantized residual information QD of the first configuration of the present embodiment.
  • FIG. 64 is a diagram illustrating a first half portion of a syntax table indicating syntax included in the quantized residual information QD.
  • the configuration of the encoded data is switched depending on the value of the flag cabac_lowcomp_flag indicating whether or not to simplify the CABAC processing.
  • cabac_lowcomp_flag 0, that is, when simplification processing is not performed
  • residual_coding_cabac2_normal () shown in FIG. 65 is used.
  • FIG. 66 shows. residual_coding_cabac2_comp () is used.
  • FIGS. 65 and 66 are diagrams illustrating the latter half of the syntax table indicating the syntax included in the quantization residual information QD.
  • the quantization residual information QD includes the syntax last_significant_coeff_x, last_significant_coeff_y, significant_coeffgroup_flag, significant_coeff_flag, coeff_abs_level_greater1_flag, and coeff_sign_flag. Further, significant_coeff_flag, coeff_abs_level_greater1_flag, and coeff_sign_flag are bypass encoded.
  • the syntax significant_coeff_flag indicating the value of the transform coefficient is changed from non-bypass to bypass.
  • the syntax indicating the absolute value of the transform coefficient is reduced from four of significant_coeff_flag, coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, and coeff_abs_level_minus3 to two of significant_coeff_flag and coeff_abs_level_minus1.
  • the decoding process basically requires as many cycles as the number of syntaxes required for the expression.
  • the throughput can be improved by two cycles or more. Further, both significant_coeff_flag and coeff_abs_level_minus1 are encoded by bypass, and the throughput can be further improved.
  • An arithmetic decoding apparatus for decoding data wherein the syntax decoding means performs decoding using the context for the M1 syntaxes in the normal mode, and uses the context for the M2 syntaxes in the simplified mode.
  • An example of a configuration characterized by performing decoding is shown.
  • a simplified configuration shown in FIGS. 68 to 70 to be described later includes such a configuration.
  • the mode in which the simplification process is performed is also referred to as a simplified mode, and the mode in which the simplification process is not performed is also referred to as a normal mode.
  • the coefficient presence / absence flag decoding unit Y124 and the coefficient value decoding unit Y125 that decode the encoded data can switch between normal processing and simplification processing according to the value of the simplification flag cabac_lowcomp_flag.
  • the cabac_lowcomp_flag is derived according to the value of the upper level simplification flag xps_cabac_lowcomp_flag included in the SPS, PPS, slice header, and the like and the last position.
  • a method for deriving the simplified flag cabac_lowcomp_flag will be described.
  • FIG. 72 is a flowchart showing simplified flag cabac_lowcomp_flag derivation processing.
  • the coefficient decoding control unit 123 performs the process in FIG. 72 to derive cabac_lowcomp_flag when decoding the transform coefficient in each frequency domain.
  • the coefficient decoding control unit 123 initializes a simplified flag cabac_lowcomp_flag to 0 for each decoding of each frequency domain (SX101).
  • the coefficient decoding control unit 123 determines whether the higher level simplification flag xps_cabac_lowcomp_flag is 1 indicating validity or 0 indicating invalidity, and transitions to SX103 if valid, otherwise Then, the determination process is terminated (SX102).
  • the coefficient decoding control unit 123 determines whether or not the last position indicated by last_significant_coeff_pos_x and last_significant_coeff_pos_y is larger than a predetermined value (SX103). When the last position is larger than a predetermined value, the simplified flag cabac_lowcomp_flag is set to 1 indicating that it is valid (SX104).
  • FIG. 73 is a diagram showing a specific example of determining whether or not the last position shown in S103 of FIG. 72 is larger than a predetermined value, and includes two processes, the process shown in (a) and the process shown in (b). Indicates processing.
  • the coefficient decoding control unit 123 performs a constant multiple of the sum of last_significant_coeff_pos_x and last_significant_coeff_pos_y and the maximum value of the width and height of the frequency domain (here, a value multiplied by a and 2 bits shifted right). The size is compared (SX103A).
  • the coefficient decoding control unit 123 may enable the simplification flag when the sum of the last positions is larger, and disable the simplification flag in the opposite case.
  • a value such as 3, 4, 5 can be used as a.
  • the simplification operation is performed when the last position exceeds approximately half of the positions in the scan order.
  • the coefficient decoding control unit 123 determines whether or not the width width and the height height of the frequency domain are the same (SX103B). Set a1 to a that defines the threshold (SX103C), and if different, set a2 to a2 (here a2 ⁇ a1) (SX103D).
  • the size is compared with the sum of last_significant_coeff_pos_x and last_significant_coeff_pos_y and a constant multiple of the maximum value of the width and height of the frequency domain (here, a value multiplied by a and 2 bits shifted right) (SX103A).
  • a constant multiple of the maximum value of the width and height of the frequency domain here, a value multiplied by a and 2 bits shifted right
  • the coefficient value decoding unit Y125 decodes transform coefficients by double loop processing of an outer loop (LP_Y70) in units of subblocks and an inner loop (LP_Y71 to LP_Y75) that decodes transform coefficients in the subblock.
  • LP_Y70 outer loop
  • LP_Y71 to LP_Y75 inner loop
  • the coefficient presence / absence flag decoding unit Y124 processes the first inner loop (LP_Y71), and decodes significant_coeff_flag. Specifically, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is used, that is, when the maximum value of the frequency domain width and height is 16 or more, the significant_coeffgroup_flag is referred to, the significant_coeffgroup_flag is non-zero, and For cases other than the last position, significant_coeff_flag is decoded using the context (SYN_Y71). Note that the following formula is used to determine whether the position is the last position.
  • the coefficient value decoding unit Y125 processes the second to fifth inner loops.
  • coeff_abs_level_greater1_flag is decoded using a context for a position on a frequency where significant_coeff_flag is other than 0 (SYN_Y73).
  • coeff_abs_level_greater2_flag is decoded using a context for a position on a frequency where coeff_abs_level_greater1_flag is other than 0 (SYN_Y74).
  • the coeff_sign_flag is decoded by bypass for the position on the frequency where the significant_coeff_flag is other than 0 (SYN_Y75).
  • the coeff_abs_level_minus3 is decoded by bypass for the position on the frequency where coeff_abs_level_greater2_flag is other than 0 (SYN_Y76). Further, the value of the transform coefficient is decoded by the following formula for the position on the frequency where significant_coeff_flag is other than 0.
  • the coefficient presence / absence flag decoding unit Y124 processes the first inner loop (LP_Y81) and decodes significant_coeff_flag. Specifically, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is used, that is, when the maximum value of the frequency domain width and height is 16 or more, the significant_coeffgroup_flag is referred to, the significant_coeffgroup_flag is non-zero, and For cases other than the last position, the significant_coeff_flag is decoded by bypass (SYN_Y81). On the other hand, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is not used, significant_coeff_flag is decoded by bypass for a case other than the last position (SYN_Y82).
  • the coefficient value decoding unit Y125 processes the second to third inner loops.
  • coeff_sign_flag is decoded by bypass for positions on the frequency where significant_coeff_flag is other than 0 (SYN_Y83).
  • coeff_abs_level_minus1 is decoded by bypass for positions on the frequency where significant_coeff_flag is other than 0 (SYN_Y84). Further, the value of the transform coefficient is decoded by the following formula for the position on the frequency where significant_coeff_flag is other than 0.
  • the binarization of coeff_abs_level_minus1 may use Golomb code, Huffman code, or the like.
  • the number of inner loops is reduced from 5 to 3 times.
  • the processing required for the loop is reduced as compared to the case where the inner loop is performed a plurality of times, and the throughput is improved.
  • the syntax indicating the absolute value of the transform coefficient has one syntax coeff_abs_level_minus1.
  • High-throughput processing can be performed by encoding / decoding all of the flag significant_coeff_flag indicating the presence / absence of non-zero transform coefficients, the sign flag coeff_sign_flag, and the absolute value ⁇ 1 value coeff_abs_level_minus1.
  • significant_coeffgroup_flag is set to non-bypass and significant_coeff_flag is set to bypass, thereby enabling high throughput processing while maintaining high coding efficiency.
  • Non-Patent Document 2 using binarization of CAVLC two modes of a run mode and a level mode are used, whereas in the configuration of this embodiment, simplification processing is possible with one binarization.
  • the configuration becomes simple.
  • the ratio that the transform coefficient is 0 is relatively reduced, so that there is knowledge that the encoding efficiency similar to the run mode can be realized in the level mode. Since this configuration uses only the mode that directly encodes the value corresponding to the level mode without using the run mode that encodes the number of consecutive 0 coefficients, the complexity of the device configuration is reduced while maintaining the encoding efficiency. Can be made.
  • the present invention can also be applied to the following configurations other than the first configuration.
  • FIG. 67 shows each syntax included in the quantized residual information QD of the second simplified configuration of the present embodiment.
  • the coefficient presence / absence flag decoding unit Y124 processes the first inner loop (LP_Y91) and decodes significant_coeff_flag. Specifically, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is used, that is, when the maximum value of the frequency domain width and height is 16 or more, the significant_coeffgroup_flag is referred to, the significant_coeffgroup_flag is non-zero, and For cases other than the last position, significant_coeff_flag is decoded using the context (SYN_Y91). Conversely, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is not used, significant_coeff_flag is decoded using context for cases other than the last position (SYN_Y92).
  • the syntax indicating the absolute value of the transform coefficient is expressed by one syntax coeff_abs_level_minus1, and non-zero
  • the flag significant_coeff_flag indicating the presence / absence of a transform coefficient
  • the code flag coeff_sign_flag indicating the value of coeff_abs_level_minus1 having an absolute value ⁇ 1 by bypass
  • high throughput processing becomes possible. Further, by making nonsignificant the significant_coeffgroup_flag and the significant_coeff_flag, which are flags indicating the presence or absence of non-zero transform coefficients, high throughput processing can be performed while maintaining high coding efficiency.
  • FIG. 68 shows each syntax included in the quantized residual information QD of the third simplified configuration of the present embodiment.
  • significant_coeff_flag is decoded. Specifically, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is used, that is, when the maximum value of the frequency domain width and height is 16 or more, the significant_coeffgroup_flag is referred to, the significant_coeffgroup_flag is non-zero, and For cases other than the last position, significant_coeff_flag is decoded (SYN_Y101). Conversely, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is not used, significant_coeff_flag is decoded for cases other than the last position (SYN_Y102).
  • coeff_sign_flag is decoded by bypass for a position on the frequency where significant_coeff_flag is other than 0 (SYN_Y103). Further, coeff_abs_level_minus1 is decoded by bypass (SYN_Y104). Further, the value of the transform coefficient is decoded by the following formula for the position on the frequency where significant_coeff_flag is other than 0.
  • the binarization of coeff_abs_level_minus1 may use Golomb code, Huffman code, or the like.
  • the number of inner loops is reduced from 3 times to 2 times compared to the first processing and the second processing.
  • the throughput is improved because the processing required for the loop and the processing for determining whether significant_coeff_flag is other than 0 are reduced. That is, the throughput can be improved by interleaving and encoding the code flag coeff_sign_flag, which is the bypass syntax, and the value coeff_abs_level_minus1 having an absolute value ⁇ 1 so as to be processed in one loop. That is, the throughput can be improved by arranging two syntaxes coeff_sign_flag and coeff_abs_level_minus1 processed in the bypass continuously in one loop.
  • the coefficient presence / absence flag decoding unit Y124 derives a flag significant_coeff_flag_mode indicating whether or not to use a context in significant_coeff_flag, and if the value of this flag is significant_coeff_flag_mode is 0, decodes significant_coeff_flag using the context.
  • significant_coeff_flag_mode is 1, the significant_coeff_flag is decoded by bypass processing without using a context.
  • the configuration in FIG. 67 is as follows.
  • the coefficient presence / absence flag decoding unit Y124 processes the first inner loop (LP_Y91) and decodes significant_coeff_flag. Specifically, when the subblock coefficient presence / absence flag significant_coeffgroup_flag is used, that is, when the maximum value of the frequency domain width and height is 16 or more, the significant_coeffgroup_flag is referred to, the significant_coeffgroup_flag is non-zero, and For cases other than the last position, significant_coeff_flag is decoded (SYN_Y91).
  • significant_coeff_flag is decoded for cases other than the last position (SYN_Y92).
  • the operation is performed by replacing LP_Y91, SYN_Y91, and SYN_Y92 in the above description with LP_Y101, SYN_Y101, and SYN_Y102.
  • significant_coeff_flag_mode is decoded using context when significant_coeff_flag_mode is 0, and significant_coeff_flag is decoded by bypass when significant_coeff_flag_mode is 1.
  • significant_coeff_flag_mode In processing of the first sub-block, significant_coeff_flag_mode is set to 0. In processing other than the first sub-block, the value set in the previous sub-block is used. At the time of decoding significant_coeff_flag of one sub-block, the number of non-zero coefficients generated in the sub-block is counted. If the count (number of significant_coeff_flage) is greater than or equal to a predetermined constant N in a sub-block, significant_coeff_flag_mode is set to 1 and the next sub-block is processed. In other cases, the value of significant_coeff_flag_mode of the previous sub-block is used as it is as significant_coeff_flag_mode of the next sub-block.
  • the syntax significant_coeff_flag indicating the value of the encoded data and the value coeff_abs_level_minus1 having the absolute value ⁇ 1 are two.
  • the fourth and fifth configurations except for the last position, It is characterized by a single syntax of the absolute value coeff_abs_level.
  • significant_coeff_flag processing is not performed. Therefore, in the fourth and fifth configurations, the coefficient presence / absence flag decoding unit Y124 is used only in the normal process, and the coefficient presence / absence flag decoding unit Y124 is not used in the simplification process.
  • the coefficient value decoding unit Y125 performs processing of the first inner loop and the second inner loop.
  • the coefficient value decoding unit Y125 decodes coeff_sign_flag by bypass for the position on the frequency where coeff_abs_level is other than 0 (SYN_Y114). Furthermore, the value of the transform coefficient is decoded by the following formula for the position on the frequency where coeff_abs_level is other than 0. (coeff_abs_level [n]) * (1? 2 * coeff_sign_flag [n])
  • the coeff_abs_level that is the absolute value of the transform coefficient and the coeff_abs_level_minus1 that is the absolute value of the transform coefficient are bypassed.
  • the throughput of the decoding process is improved.
  • significant_coeffgroup_flag is set to non-bypass and significant_coeff_flag is set to bypass, thereby enabling high throughput processing while maintaining high coding efficiency.
  • the coefficient value decoding unit Y125 performs processing of the first inner loop and the second inner loop.
  • the coefficient value decoding unit Y125 performs coeff_abs_level decoding in the first inner loop (LP_Y121).
  • coeff_abs_level and coeff_abs_level_minus1 are decoded by bypass processing.
  • the first bit of coeff_abs_level is decoded using the context, and the bits after the first bit of coeff_abs_level are bypassed. Decrypt by. Note that all coeff_abs_level_minus1 may be decoded by bypass, or the context may be used only for the first bit.
  • FIG. 71 is a diagram for explaining a binary configuration of values in which only the first bit of coeff_abs_level is bypassed.
  • the coefficient value decoding unit Y125 uses the context with the first bit when the value of the transform coefficient is binarized.
  • the first bit of coeff_abs_level corresponds to significant_coeff_flag, various methods described above can be used as the method of deriving the context index.
  • significant_coeff_flag_mode is derived by the processing already described.
  • decoding is performed using a context.
  • bypass is performed. It may be switched so as to be decrypted by.
  • the quantized residual information decoding unit that decodes the encoded data and the main encoded data of the fifth configuration, high throughput and high use of the first bit of coeff_abs_level that is the absolute value of the transform coefficient are high Encoding efficiency can be made compatible.
  • Moving picture coding apparatus 4 which is still another moving picture coding apparatus according to the present embodiment will be described with reference to FIG.
  • the same parts as those already described are denoted by the same reference numerals, and the description thereof is omitted.
  • the video encoding device 4 uses the quantization residual information encoding unit Y271 in the video encoding device 1 instead of the quantization residual information encoding unit 271.
  • FIG. 74 is a block diagram showing the configuration of the quantization residual information encoding unit Y271. As shown in FIG. 74, the quantization residual information encoding unit Y271 includes a transform coefficient encoding unit Y220 and an arithmetic code encoding unit 230.
  • the transform coefficient encoding unit Y220 includes a last position encoding unit 221, a scan order table storage unit 222, a coefficient encoding control unit 223, a coefficient presence / absence flag encoding unit Y224, and a coefficient value encoding unit Y225.
  • syntax derivation unit Y228 refers to each value of the transform coefficient Coeff (xC, yC), and syntax for identifying these transform coefficients in the target frequency domain. Each value of coeff_abs_level_minus3 is derived. Each derived syntax is supplied to the coding coefficient storage unit 226. Of the derived syntax, last_significant_coeff_x and last_significant_coeff_y are also supplied to the coefficient coding control unit 223 and the last position coding unit 221. Further, significant_coeff_flag in the derived syntax is also supplied to the coefficient presence / absence flag encoding unit Y224. In addition, since the content which each syntax shows was mentioned above, description is abbreviate
  • the scan order table storage unit 222 uses the size of the TU (block) to be processed, the scan index indicating the type of scan direction, and the frequency component identification index given along the scan order as arguments.
  • a table for giving a position in the frequency domain is stored.
  • An example of such a scan order table is ScanOrder shown in FIGS. 4 and 5.
  • the scan order table storage unit 222 stores a sub block scan order table for designating the scan order of the sub blocks.
  • the sub-block scan order table is specified by the scan index scanIndex associated with the size of the TU (block) to be processed and the prediction mode index of the intra prediction mode.
  • the coefficient encoding control unit 223 is a configuration for controlling the order of encoding processing in each unit included in the quantization residual information encoding unit Y271.
  • the coefficient encoding control unit 223 refers to the syntax last_significant_coeff_x and last_significant_coeff_y supplied from the syntax deriving unit 228, The position of the last non-zero transform coefficient along the forward scan is specified, and the scan order starting from the identified position of the last non-zero transform coefficient, the scan order stored in the scan order table storage unit 222 The position (xC, yC) of each frequency component is supplied to the coefficient presence / absence flag encoding unit in the reverse scan order of the scan order given by the table.
  • a predetermined size for example, 4 ⁇ 4 component, 8 ⁇ 8 component, etc.
  • the coefficient coding control unit 223 supplies sz that is a parameter indicating the size of the TU to be processed, that is, the size of the target frequency region, to each unit included in the transform coefficient coding unit Y220 (not shown).
  • sz is specifically a parameter representing the number of pixels on one side of the processing target TU, that is, the number of frequency components on one side of the target frequency region.
  • the coefficient encoding control unit 223 encodes the position (xC, yC) of each frequency component with the coefficient presence / absence flag encoding in the forward scan order of the scan order given by the scan order table stored in the scan order table storage unit 222. It is good also as a structure supplied to part Y224.
  • the coefficient coding control unit 223 refers to the syntax last_significant_coeff_x and last_significant_coeff_y supplied from the syntax deriving unit Y228, and positions the last non-zero transform coefficient along the forward scan And the scan order starting from the position of the sub-block including the identified last non-zero transform coefficient, the scan order given by the sub-block scan order table stored in the scan order table storage unit 222 The position (xCG, yCG) of each sub-block is supplied to the sub-block coefficient presence / absence flag encoding unit Y227 in reverse scan order.
  • the coefficient encoding control unit 223 includes the subblocks to be processed in the reverse scan order of the scan order given by the scan order table stored in the scan order table storage unit 222 for the subblocks to be processed.
  • the position (xC, yC) of each frequency component is supplied to the coefficient presence / absence flag encoding unit Y224.
  • an oblique scan Up-right diagonal scan
  • the coefficient encoding control unit 223 is configured to switch the scan order for each intra prediction mode.
  • the intra prediction mode and the bias of the transform coefficient have a correlation with each other, so that the sub block scan suitable for the bias of the sub block coefficient presence / absence flag is performed by switching the scan order according to the intra prediction mode. Can do.
  • the amount of codes of the subblock coefficient presence / absence flags to be encoded and decoded can be reduced, and the encoding efficiency is improved.
  • the processing differs depending on whether the normal processing is performed or the simplification processing is performed.
  • Bin indicating the syntax coeff_abs_level_greater1_flag, coeff_abs_level_greater2_flag, coeff_sign_flag, and coeff_abs_level_minus3 supplied from the syntax deriving unit Y228 is generated.
  • Bin indicating coeff_sign_flag and coeff_abs_level_minus1 is generated.
  • Bin indicating coeff_sign_flag, coeff_abs_level_minus1, and coeff_abs_level is generated.
  • each generated Bin is supplied to the bit encoding unit 232.
  • a context index ctxIdx that specifies a context to be referred to in order to encode Bin of these syntaxes is supplied to the context recording update unit 231. In the case of performing the simplification process, the derivation of the context index is omitted.
  • the coefficient presence / absence flag encoding unit Y224 encodes syntax significant_coeff_flag [xC] [yC] specified by each position (xC, yC). More specifically, Bin indicating the syntax significant_coeff_flag [xC] [yC] specified by each position (xC, yC) is generated. Each generated Bin is supplied to the bit encoding unit 232.
  • the coefficient presence / absence flag encoding unit 224 calculates a context index ctxIdx for determining a context used for encoding the Bin of the syntax significant_coeff_flag [xC] [yC] in the arithmetic code encoding unit 230. .
  • the calculated context index ctxIdx is supplied to the context recording update unit 231.
  • the context index of significant_coeff_flag is derived in the normal process, but when the bypass is used in the simplified process.
  • the context index is not derived.
  • FIG. 75 is a block diagram showing a configuration of the coefficient presence / absence flag encoding unit Y224.
  • the coefficient presence / absence flag encoding unit Y224 includes a frequency classification unit 224a, a position context deriving unit 224b, a peripheral reference context deriving unit 224c, a coefficient presence / absence flag storage unit 224d, and a coefficient presence / absence flag setting unit 224e. I have.
  • the coefficient presence / absence flag setting unit 224e generates Bin indicating the syntax significant_coeff_flag [xC] [yC] supplied from the syntax deriving unit Y228.
  • the generated Bin is supplied to the bit encoding unit 232.
  • the coefficient presence / absence flag setting unit 224e refers to the value of significant_coeff_flag [xC] [yC] included in the target subblock, and when all the significant_coeff_flag [xC] [yC] included in the target subblock is 0, That is, when a non-zero transform coefficient is not included in the target subblock, the value of significant_coeffgroup_flag [xCG] [yCG] related to the target subblock is set to 0, otherwise significant_coeffgroup_flag [ Set the value of xCG] [yCG] to 1.
  • the significant_coeffgroup_flag [xCG] [yCG] to which the value is added in this way is supplied to the sub-block coefficient presence / absence flag encoding unit Y227.
  • Non-Patent Document 2 using binarization of CAVLC two modes of a run mode and a level mode are used, whereas in the configuration of this embodiment, simplification processing is possible with one binarization.
  • the configuration becomes simple.
  • the ratio that the transform coefficient is 0 is relatively reduced, so that there is knowledge that the encoding efficiency similar to the run mode can be realized in the level mode. Since this configuration uses only the mode that directly encodes the value corresponding to the level mode without using the run mode that encodes the number of consecutive 0 coefficients, the complexity of the device configuration is reduced while maintaining the encoding efficiency. Can be made.
  • the above-described moving image encoding device 2 and moving image decoding device 1 can be used by being mounted on various devices that perform transmission, reception, recording, and reproduction of moving images.
  • the moving image may be a natural moving image captured by a camera or the like, or may be an artificial moving image (including CG and GUI) generated by a computer or the like.
  • moving image encoding device 2 and moving image decoding device 1 can be used for transmission and reception of moving images.
  • FIG. 29 is a block diagram illustrating a configuration of a transmission device PROD_A in which the moving image encoding device 2 is mounted.
  • the transmission device PROD_A modulates a carrier wave with an encoding unit PROD_A1 that obtains encoded data by encoding a moving image and the encoded data obtained by the encoding unit PROD_A1.
  • a modulation unit PROD_A2 that obtains a modulation signal and a transmission unit PROD_A3 that transmits the modulation signal obtained by the modulation unit PROD_A2 are provided.
  • the moving image encoding apparatus 2 described above is used as the encoding unit PROD_A1.
  • the transmission device PROD_A is a camera PROD_A4 that captures a moving image, a recording medium PROD_A5 that records the moving image, an input terminal PROD_A6 that inputs the moving image from the outside, as a supply source of the moving image input to the encoding unit PROD_A1.
  • An image processing unit A7 that generates or processes an image may be further provided.
  • FIG. 29A illustrates a configuration in which the transmission apparatus PROD_A includes all of these, but some of them may be omitted.
  • the recording medium PROD_A5 may be a recording of a non-encoded moving image, or a recording of a moving image encoded by a recording encoding scheme different from the transmission encoding scheme. It may be a thing. In the latter case, a decoding unit (not shown) for decoding the encoded data read from the recording medium PROD_A5 according to the recording encoding method may be interposed between the recording medium PROD_A5 and the encoding unit PROD_A1.
  • FIG. 29B is a block diagram illustrating a configuration of the receiving device PROD_B in which the video decoding device 1 is mounted.
  • the reception device PROD_B includes a reception unit PROD_B1 that receives a modulation signal, a demodulation unit PROD_B2 that obtains encoded data by demodulating the modulation signal received by the reception unit PROD_B1, and a demodulation A decoding unit PROD_B3 that obtains a moving image by decoding the encoded data obtained by the unit PROD_B2.
  • the moving picture decoding apparatus 1 described above is used as the decoding unit PROD_B3.
  • the receiving device PROD_B has a display PROD_B4 for displaying a moving image, a recording medium PROD_B5 for recording the moving image, and an output terminal for outputting the moving image to the outside as a supply destination of the moving image output by the decoding unit PROD_B3.
  • PROD_B6 may be further provided.
  • FIG. 29B illustrates a configuration in which the reception device PROD_B includes all of these, but a part of the configuration may be omitted.
  • the recording medium PROD_B5 may be used for recording a non-encoded moving image, or may be encoded using a recording encoding method different from the transmission encoding method. May be. In the latter case, an encoding unit (not shown) for encoding the moving image acquired from the decoding unit PROD_B3 according to the recording encoding method may be interposed between the decoding unit PROD_B3 and the recording medium PROD_B5.
  • the transmission medium for transmitting the modulation signal may be wireless or wired.
  • the transmission mode for transmitting the modulated signal may be broadcasting (here, a transmission mode in which the transmission destination is not specified in advance) or communication (here, transmission in which the transmission destination is specified in advance). Refers to the embodiment). That is, the transmission of the modulation signal may be realized by any of wireless broadcasting, wired broadcasting, wireless communication, and wired communication.
  • a terrestrial digital broadcast broadcasting station (broadcasting equipment or the like) / receiving station (such as a television receiver) is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by wireless broadcasting.
  • a broadcasting station (such as broadcasting equipment) / receiving station (such as a television receiver) of cable television broadcasting is an example of a transmitting device PROD_A / receiving device PROD_B that transmits and receives a modulated signal by cable broadcasting.
  • a server workstation etc.
  • Client television receiver, personal computer, smart phone etc.
  • VOD Video On Demand
  • video sharing service using the Internet is a transmitting device for transmitting and receiving modulated signals by communication.
  • PROD_A / reception device PROD_B usually, either a wireless or wired transmission medium is used in a LAN, and a wired transmission medium is used in a WAN.
  • the personal computer includes a desktop PC, a laptop PC, and a tablet PC.
  • the smartphone also includes a multi-function mobile phone terminal.
  • the video sharing service client has a function of encoding a moving image captured by the camera and uploading it to the server. That is, the client of the video sharing service functions as both the transmission device PROD_A and the reception device PROD_B.
  • moving image encoding device 2 and moving image decoding device 1 can be used for recording and reproduction of moving images.
  • FIG. 30 (a) is a block diagram showing a configuration of a recording apparatus PROD_C in which the above-described moving picture encoding apparatus 2 is mounted.
  • the recording apparatus PROD_C includes an encoding unit PROD_C1 that obtains encoded data by encoding a moving image, and the encoded data obtained by the encoding unit PROD_C1 on the recording medium PROD_M.
  • the moving image encoding apparatus 2 described above is used as the encoding unit PROD_C1.
  • the recording medium PROD_M may be of a type built in the recording device PROD_C, such as (1) HDD (Hard Disk Drive) or SSD (Solid State Drive), or (2) SD memory. It may be of the type connected to the recording device PROD_C, such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) Or a drive device (not shown) built in the recording device PROD_C.
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • SD memory such as a card or USB (Universal Serial Bus) flash memory, or (3) DVD (Digital Versatile Disc) or BD (Blu-ray Disc: registration) Or a drive device (not shown) built in the recording device PROD_C.
  • the recording device PROD_C is a camera PROD_C3 that captures moving images as a supply source of moving images to be input to the encoding unit PROD_C1, an input terminal PROD_C4 for inputting moving images from the outside, and reception for receiving moving images.
  • the unit PROD_C5 and an image processing unit C6 that generates or processes an image may be further provided.
  • FIG. 30A illustrates a configuration in which the recording apparatus PROD_C includes all of these, but a part of the configuration may be omitted.
  • the receiving unit PROD_C5 may receive a non-encoded moving image, or may receive encoded data encoded by a transmission encoding scheme different from the recording encoding scheme. You may do. In the latter case, a transmission decoding unit (not shown) that decodes encoded data encoded by the transmission encoding method may be interposed between the reception unit PROD_C5 and the encoding unit PROD_C1.
  • Examples of such a recording device PROD_C include a DVD recorder, a BD recorder, and an HDD (Hard Disk Drive) recorder (in this case, the input terminal PROD_C4 or the receiving unit PROD_C5 is a main supply source of moving images).
  • a camcorder in this case, the camera PROD_C3 is a main source of moving images
  • a personal computer in this case, the receiving unit PROD_C5 or the image processing unit C6 is a main source of moving images
  • a smartphone is also an example of such a recording device PROD_C.
  • FIG. 30 is a block showing a configuration of a playback device PROD_D in which the above-described video decoding device 1 is mounted.
  • the playback device PROD_D reads a moving image by decoding a read unit PROD_D1 that reads encoded data written to the recording medium PROD_M and a coded data read by the read unit PROD_D1. And a decoding unit PROD_D2 to be obtained.
  • the moving picture decoding apparatus 1 described above is used as the decoding unit PROD_D2.
  • the recording medium PROD_M may be of the type built into the playback device PROD_D, such as (1) HDD or SSD, or (2) such as an SD memory card or USB flash memory, It may be of a type connected to the playback device PROD_D, or (3) may be loaded into a drive device (not shown) built in the playback device PROD_D, such as DVD or BD. Good.
  • the playback device PROD_D has a display PROD_D3 that displays a moving image, an output terminal PROD_D4 that outputs the moving image to the outside, and a transmission unit that transmits the moving image as a supply destination of the moving image output by the decoding unit PROD_D2.
  • PROD_D5 may be further provided.
  • FIG. 30B illustrates a configuration in which the playback apparatus PROD_D includes all of these, but some of them may be omitted.
  • the transmission unit PROD_D5 may transmit an unencoded moving image, or transmits encoded data encoded by a transmission encoding method different from the recording encoding method. You may do. In the latter case, it is preferable to interpose an encoding unit (not shown) that encodes a moving image using an encoding method for transmission between the decoding unit PROD_D2 and the transmission unit PROD_D5.
  • Examples of such a playback device PROD_D include a DVD player, a BD player, and an HDD player (in this case, an output terminal PROD_D4 to which a television receiver or the like is connected is a main supply destination of moving images).
  • a television receiver in this case, the display PROD_D3 is a main supply destination of moving images
  • a digital signage also referred to as an electronic signboard or an electronic bulletin board
  • the display PROD_D3 or the transmission unit PROD_D5 is the main supply of moving images.
  • Desktop PC (in this case, the output terminal PROD_D4 or the transmission unit PROD_D5 is the main video image supply destination), laptop or tablet PC (in this case, the display PROD_D3 or the transmission unit PROD_D5 is a moving image)
  • a smartphone which is a main image supply destination
  • a smartphone in this case, the display PROD_D3 or the transmission unit PROD_D5 is a main moving image supply destination
  • the like are also examples of such a playback device PROD_D.
  • Each block of the moving picture decoding apparatus 1 and the moving picture encoding apparatus 2 described above may be realized in hardware by a logic circuit formed on an integrated circuit (IC chip), or may be a CPU (Central Processing Unit). ) May be implemented in software.
  • IC chip integrated circuit
  • CPU Central Processing Unit
  • each device includes a CPU that executes instructions of a program that realizes each function, a ROM (Read (Memory) that stores the program, a RAM (Random Memory) that expands the program, the program, and various types
  • a storage device such as a memory for storing data is provided.
  • An object of the present invention is to provide a recording medium in which a program code (execution format program, intermediate code program, source program) of a control program for each of the above devices, which is software that realizes the above-described functions, is recorded in a computer-readable manner This can also be achieved by supplying each of the above devices and reading and executing the program code recorded on the recording medium by the computer (or CPU or MPU).
  • Examples of the recording medium include tapes such as magnetic tapes and cassette tapes, magnetic disks such as floppy (registered trademark) disks / hard disks, and disks including optical disks such as CD-ROM / MO / MD / DVD / CD-R.
  • IC cards including memory cards
  • semiconductor memories such as mask ROM / EPROM / EEPROM / flash ROM, PLD (Programmable logic device) and FPGA (Field Programmable Gate Array) Logic circuits can be used.
  • each of the above devices may be configured to be connectable to a communication network, and the program code may be supplied via the communication network.
  • the communication network is not particularly limited as long as it can transmit the program code.
  • the Internet intranet, extranet, LAN, ISDN, VAN, CATV communication network, virtual private network (Virtual Private Network), telephone line network, mobile communication network, satellite communication network, etc. can be used.
  • the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
  • wired lines such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared rays such as IrDA and remote control, Bluetooth (registered trademark), IEEE 802.11 wireless, HDR ( It can also be used by wireless such as High Data Rate, NFC (Near Field Communication), DLNA (Digital Living Network Alliance), mobile phone network, satellite line, terrestrial digital network.
  • wired lines such as IEEE 1394, USB, power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared rays such as IrDA and remote control, Bluetooth (registered trademark), IEEE 802.11 wireless, HDR ( It can also be used by wireless such as High Data Rate, NFC (Near Field Communication), DLNA (Digital Living Network Alliance), mobile phone network, satellite line, terrestrial digital network.
  • An arithmetic decoding device that decodes encoded data obtained by arithmetically encoding various syntaxes representing the transform coefficient for each transform coefficient obtained by frequency-converting a target image for each unit region, A dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions;
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0;
  • Syntax decoding means for arithmetically decoding each transform coefficient presence / absence flag belonging to each partial area based on a probability state specified by a context index assigned to the transform coefficient presence / absence flag;
  • the context index deriving means derives a context index to be assigned to each transform coefficient presence / absence flag belonging to a high frequency side partial area among the plurality of partial areas based on the position of the transform coefficient presence / absence flag in the target frequency area.
  • An arithmetic decoding device that decodes encoded data obtained by arithmetically encoding various syntaxes representing the transform coefficient for each transform coefficient obtained by frequency-converting a target image for each unit region, A dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions; Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0; Syntax decoding means for arithmetically decoding each transform coefficient presence / absence flag belonging to each partial area based on a probability state specified by a context index assigned to the transform coefficient presence / absence flag; With The context index deriving unit determines the context index to be assigned to each transform coefficient presence / absence flag based on the number of decoded non-zero transform coefficients included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region. Is derived from
  • the context index deriving means derives a context index by adding a predetermined starting point determined for each partial area and a variable determined for each partial area, and includes a plurality of different methods for deriving the variable.
  • a common context is used for a plurality of partial areas with different indexed index derivation methods by setting the same starting point for the partial areas.
  • the dividing unit classifies the target frequency region into at least three partial regions according to the position of the transform coefficient presence / absence flag to be processed, and the context index deriving unit includes: By referring to the decoded non-zero transform coefficients N1 (N1 is a natural number), and in the second partial area, refer to the decoded non-zero transform coefficients N2 (N2 is a natural number satisfying N2 ⁇ N1). A context index is derived, and in the third partial area, the context index is derived according to the position of the transform coefficient presence / absence flag. A1. To A3. The arithmetic decoding device according to any one of the above.
  • the context index deriving means includes a number of non-zero transform coefficients along the previous scan sequence, the context index assigned to each transform coefficient presence / absence flag along the current scan sequence in the partial region on the high frequency side among the plurality of partial regions. To derive further based on A2.
  • the arithmetic decoding device according to 1.
  • An arithmetic decoding device that decodes encoded data obtained by arithmetically encoding various syntaxes representing the transform coefficient for each transform coefficient obtained by frequency-converting a target image for each unit region, A dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions;
  • Context index deriving means for sequentially deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0,
  • Syntax decoding means for arithmetically decoding each transform coefficient presence / absence flag belonging to each partial area based on a probability state specified by a context index assigned to the transform coefficient presence / absence flag;
  • the context index deriving means includes a number of non-zero transform coefficients along the previous scan sequence, the context index assigned to each transform coefficient presence / absence flag along the current scan sequence in the partial region on the high frequency side among the plurality of partial regions.
  • An arithmetic decoding device that decodes encoded data obtained by arithmetically encoding various syntaxes representing the transform coefficient for each transform coefficient obtained by frequency-converting a target image for each unit region, A dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions;
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0;
  • Syntax decoding means for arithmetically decoding each transform coefficient presence / absence flag belonging to each partial area based on a probability state specified by a context index assigned to the transform coefficient presence / absence flag;
  • the context index deriving unit determines the context index to be assigned to each transform coefficient presence / absence flag based on the number of decoded non-zero transform coefficients included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region.
  • An arithmetic decoding device that decodes encoded data obtained by arithmetically encoding various syntaxes representing the transform coefficient for each transform coefficient obtained by frequency-converting a target image for each unit region, A dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions; Context index assigning means for assigning different context indexes to each partial area; Each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0, is set to a probability state specified by the context index assigned to the partial area to which the transform coefficient presence / absence flag belongs. Syntax decoding means for performing arithmetic decoding based on; With Of the plurality of partial regions, the partial region on the low frequency side is smaller than the partial region on the high frequency side, An arithmetic decoding device characterized by that.
  • the dividing unit divides the target frequency region into a plurality of partial regions in accordance with a SUM indicating the sum of the X coordinate and the Y coordinate of the transform coefficient presence / absence flag, and the dividing unit includes the SUM and the SUM.
  • the target frequency region is divided into at least a low frequency side partial region and a high frequency side partial region according to the magnitude relationship with the first threshold TH2 determined according to the size sz of the target frequency region,
  • the first threshold TH2 is sz or more.
  • the dividing unit divides the target frequency region into a plurality of partial regions in accordance with a SUM indicating the sum of the X coordinate and the Y coordinate of the transform coefficient presence / absence flag, and the dividing unit includes the SUM and the SUM.
  • the target frequency region is divided into at least the low frequency side partial region and the high frequency side partial region according to the magnitude relationship with the first threshold TH2 determined according to the size sz of the target frequency region.
  • the first threshold value TH2 is sz ⁇ 2 or less.
  • the dividing unit divides the target frequency region into a plurality of partial regions in accordance with a SUM indicating the sum of the X coordinate and the Y coordinate of the transform coefficient presence / absence flag, and the dividing unit includes the SUM and the SUM.
  • the target frequency region is divided into the first partial region and the second partial region according to the magnitude relationship with the first threshold value TH2 determined according to the size sz of the target frequency region, and the SUM And the target frequency region is divided into the second partial region and the third partial region according to the magnitude relationship with the second threshold TH3 determined according to the size sz of the target frequency region,
  • the first threshold TH2 is sz-2 or less
  • the second threshold TH3 is sz or more A4.
  • the arithmetic decoding device according to 1.
  • An arithmetic decoding device for generating a residual image by inverse frequency transforming transform coefficients decoded by the arithmetic decoding device;
  • Decoded image generating means for generating a decoded image by adding the residual image generated by the inverse frequency transform means and the predicted image predicted from the generated decoded image;
  • An image decoding apparatus comprising:
  • An arithmetic encoding device that generates encoded data by arithmetically encoding various syntaxes representing the transform coefficients for each transform coefficient obtained by frequency transforming the target image for each unit region, A dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions;
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0;
  • Syntax encoding means for arithmetically encoding each transform coefficient presence / absence flag belonging to each partial area based on a probability state specified by a context index assigned to the transform coefficient presence / absence flag;
  • the context index deriving means derives a context index to be assigned to each transform coefficient presence / absence flag belonging to a high frequency side partial area among the plurality of partial areas based on the position of the transform coefficient presence / absence flag in the target frequency area.
  • Transform coefficient generating means for generating a transform coefficient by frequency transforming the residual image between the encoding target image and the predicted image for each unit region;
  • An arithmetic encoding device described in With The arithmetic encoding device generates encoded data by arithmetically encoding various syntaxes representing transform coefficients generated by the transform coefficient generating means.
  • An image encoding apparatus characterized by that.
  • the arithmetic decoding device that decodes the encoded data does not decode the high-frequency transform coefficient when the restriction flag indicates that the high-frequency transform coefficient is not decoded.
  • Arithmetic decoding apparatus that decodes encoded data obtained by arithmetically encoding various syntaxes representing transform coefficients for transform coefficients obtained for each frequency component by performing frequency transform on the target image for each unit region Because Sub-block dividing means for dividing a target frequency region corresponding to a unit region to be processed into sub-blocks of a predetermined size; Subblock coefficient presence / absence flag decoding means for decoding a subblock coefficient presence / absence flag indicating whether or not at least one non-zero transform coefficient is included in the subblock for each subblock divided by the subblock division means; A dividing unit that divides the target frequency region into a plurality of partial regions using at least one of each frequency component and each sub-block as a division unit; Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0; Syntax decoding means for arithmetically decoding each transform coefficient presence /
  • the context index deriving means derives a context index to be assigned to each transform coefficient presence / absence flag belonging to the target sub-block based on the position of the target sub-block in the target frequency region. And
  • the subblock coefficient presence / absence flag decoded for the target subblock indicates that the target subblock does not include a non-zero transform coefficient
  • the transform for each of all transform coefficients belonging to the target subblock The coefficient presence / absence flag is decoded to indicate that the transform coefficient is 0.
  • the dividing means determines at least the target frequency region according to the magnitude relationship between the sum of the X coordinate and Y coordinate of the sub-block to which the transform coefficient presence / absence flag belongs and a threshold THA determined according to the size of the target frequency region. It is divided into a partial region on the low frequency side and a partial region on the high frequency side, When the number of frequency components along each side of the target frequency region is expressed as sz, the threshold THA has a value of sz / 16 or more.
  • the arithmetic decoding device according to 1.
  • Arithmetic decoding apparatus that decodes encoded data obtained by arithmetically encoding various syntaxes representing transform coefficients for transform coefficients obtained for each frequency component by performing frequency transform on the target image for each unit region Because Sub-block dividing means for dividing a target frequency region corresponding to a unit region to be processed into sub-blocks of a predetermined size; Subblock coefficient presence / absence flag decoding means for decoding a subblock coefficient presence / absence flag indicating whether or not at least one non-zero transform coefficient is included in the subblock for each subblock divided by the subblock division means; A dividing unit that divides the target frequency region into a plurality of partial regions using at least one of each frequency component and each sub-block as a division unit; Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0; Syntax decoding means for arithmetically decoding each transform coefficient presence /
  • the context index deriving means assigns the context index assigned to each transform coefficient presence / absence flag belonging to the target sub-block to the transform coefficient in the target frequency region.
  • the position of the transform coefficient presence / absence flag in the target frequency region which is one of the reference region for the high frequency side and the reference region for the low frequency side selected based on the position of the sub-block to which the presence / absence flag belongs.
  • Arithmetic decoding apparatus that decodes encoded data obtained by arithmetically encoding various syntaxes representing transform coefficients for transform coefficients obtained for each frequency component by performing frequency transform on the target image for each unit region Because Sub-block dividing means for dividing a target frequency region corresponding to a unit region to be processed into sub-blocks of a predetermined size; Subblock coefficient presence / absence flag decoding means for decoding a subblock coefficient presence / absence flag indicating whether or not at least one non-zero transform coefficient is included in the subblock for each subblock divided by the subblock division means; A dividing unit that divides the target frequency region into a plurality of partial regions using at least one of each frequency component and each sub-block as a division unit; Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0; Syntax decoding means for arithmetically decoding each transform coefficient presence /
  • the context index deriving means sets a context index to be assigned to each transform coefficient presence / absence flag belonging to the target sub-block around the position of the transform coefficient presence / absence flag in the target frequency region. Derived non-zero transform coefficients included in the reference region, and derived based on the number of non-zero transform coefficients excluding the non-zero transform coefficients decoded immediately before the transform coefficient presence / absence flag in the processing order; When the subblock coefficient presence / absence flag decoded for the target subblock indicates that the target subblock does not include a non-zero transform coefficient, the transform for each of all transform coefficients belonging to the target subblock The coefficient presence / absence flag is decoded to indicate that the transform coefficient is 0.
  • An arithmetic decoding device characterized by the above.
  • the dividing unit divides the target frequency region into at least three partial regions, and the context index deriving unit includes N1 decoded non-zero transform coefficients (N1 is a natural number) in the first partial region. )
  • the context index is derived by referring to N2 decoded non-zero transform coefficients (N2 is a natural number satisfying N2 ⁇ N1), and in the third partial area, the transformation is performed.
  • a context index is derived according to the position of the coefficient presence / absence flag B3.
  • B4 The arithmetic decoding device according to 1.
  • the dividing means determines at least the target frequency region according to the magnitude relationship between the sum of the X and Y coordinates of the sub-block to which the transform coefficient presence / absence flag belongs and a threshold THB determined according to the size of the target frequency region. It is divided into a partial region on the low frequency side and a partial region on the high frequency side, When the number of frequency components along each side of the target frequency region is expressed as sz, the threshold value THB has a value of sz / 4 or less.
  • the arithmetic decoding device according to 1.
  • the dividing means determines the target frequency region according to the magnitude relationship between the sum of the X coordinate and the Y coordinate of the sub-block to which the transform coefficient presence / absence flag belongs and a threshold THB determined according to the size of the target frequency region.
  • the threshold value THB has a value of sz / 4 or less
  • the threshold value THC has a value of (sz / 4) +2 or more.
  • An arithmetic decoding device according to any one of Inverse frequency transforming means for generating a residual image by inverse frequency transforming transform coefficients decoded by the arithmetic decoding device; Decoded image generating means for generating a decoded image by adding the residual image generated by the inverse frequency transform means and the predicted image predicted from the generated decoded image;
  • An image decoding apparatus comprising:
  • An arithmetic encoding device that generates encoded data by arithmetically encoding various syntaxes representing transform coefficients for each transform coefficient obtained by performing frequency transform on a target image for each unit region.
  • Sub-block dividing means for dividing a target frequency region corresponding to a unit region to be processed into sub-blocks of a predetermined size; For each subblock divided by the subblock dividing means, a subblock coefficient presence / absence flag encoding means for encoding a subblock coefficient presence / absence flag indicating whether or not the subblock includes at least one non-zero transform coefficient.
  • a dividing unit that divides the target frequency region into a plurality of partial regions using at least one of each frequency component and each sub-block as a division unit;
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0;
  • Syntax encoding means for arithmetically encoding each transform coefficient presence / absence flag belonging to each partial area based on a probability state specified by a context index assigned to the transform coefficient presence / absence flag; With The subblock coefficient presence / absence flag encoded for the target subblock indicates that the target subblock includes at least one non-zero transform coefficient, and the target subblock is in the target frequency domain.
  • the context index deriving means determines the context index to be assigned to each transform coefficient presence / absence flag belonging to the target subblock based on the position of the target subblock in the target frequency region. Derived, When the sub-block coefficient presence / absence flag encoded for the target sub-block indicates that the target sub-block does not include a non-zero transform coefficient, for each of all the transform coefficients belonging to the target sub-block Encoding the transform coefficient presence / absence flag as indicating that the transform coefficient is 0, An arithmetic coding device characterized by the above.
  • Transform coefficient generating means for generating a transform coefficient by frequency transforming the residual image between the encoding target image and the predicted image for each unit region; B9.
  • An arithmetic encoding device described in With The arithmetic encoding device generates encoded data by arithmetically encoding various syntaxes representing transform coefficients generated by the transform coefficient generating means.
  • An image encoding apparatus characterized by that.
  • a decoding device that decodes the encoded data includes: The subblock coefficient presence / absence flag decoded for the target subblock indicates that the target subblock includes at least one non-zero transform coefficient, and the target subblock is high in the target frequency domain.
  • a context index to be assigned to each transform coefficient presence / absence flag belonging to the target sub-block is derived based on the position of the target sub-block in the target frequency area, and Arithmetically decoding each transform coefficient presence / absence flag to which it belongs based on the probability state specified by the context index assigned to the transform coefficient presence / absence flag;
  • the subblock coefficient presence / absence flag decoded for the target subblock indicates that the target subblock does not include a non-zero transform coefficient
  • the transform for each of all transform coefficients belonging to the target subblock The coefficient presence / absence flag is decoded to indicate that the transform coefficient is 0.
  • An arithmetic decoding device arithmetically codes various syntaxes representing transform coefficients for transform coefficients obtained for each frequency component by performing frequency transform on a target image for each unit region.
  • subblock coefficient presence / absence flag decoding means for decoding a subblock coefficient presence / absence flag indicating whether or not at least one non-zero transform coefficient is included in the subblock; Dividing means for dividing the sub-block into a plurality of partial areas with at least one of the sub-blocks as a division unit; and Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether each transform coefficient belonging to a partial area is 0, and each transform coefficient presence / absence flag belonging to each partial area, Syntax decoding means for performing arithmetic decoding based on the probability state specified by the context index assigned to the transform coefficient presence / absence flag, and the subblock coefficient presence / absence flag decoded for the target subblock includes the target subblock Indicates that at least one non-zero transform coefficient is included, and when the target sub-block belongs to a partial region on the high frequency side in the target frequency region, the context index derivation means includes
  • the context index deriving means when the target subblock belongs to a partial region on the high frequency side in the target frequency region, the context index deriving means includes each context block belonging to the target subblock. Since the context index to be assigned to the transform coefficient presence / absence flag is derived based on the position of the target sub-block in the target frequency domain, the context index on the high frequency side compared to the conventional configuration while realizing high coding efficiency The processing amount for the derivation process can be reduced.
  • the subblock coefficient presence / absence flag decoded for the target subblock indicates that the target subblock does not include a non-zero transform coefficient, it belongs to the target subblock. Since the decoding process is performed with the conversion coefficient presence / absence flag for each of all the conversion coefficients indicating that the conversion coefficient is 0, the conversion coefficient is decoded as compared with the configuration in which the subblock coefficient presence / absence flag is not used. The amount of processing is reduced.
  • the dividing unit divides the target frequency region into at least two partial regions on a low frequency side and a high frequency side, and the context index deriving unit includes at least one of the partial regions belonging to the low frequency side,
  • a context index is derived by referring to the decoded non-zero transform coefficient, and a value based on a position in the frequency domain or a fixed predetermined value is derived as a context index in a partial region belonging to the high frequency side. It is preferable.
  • the context index is derived by referring to the decoded non-zero transform coefficient, and in the partial region belonging to the high frequency side, Since a value based on the position of or a fixed predetermined value is derived as the context index, the processing amount can be reduced while maintaining high coding efficiency.
  • the value of the context index used in the partial region belonging to the high frequency side, derived by the context index deriving unit, is within the range of the context index used in the partial region belonging to the low frequency side. Is preferred.
  • the amount of processing for deriving the context index is reduced. Is done.
  • a context index relating to luminance which is derived by the context index deriving unit, and used in a partial region belonging to the high frequency side is used in the partial region belonging to the low frequency side.
  • a context index related to color difference which is a value outside the range of the context index and is derived by the context index deriving means, and the context index value used in the partial area belonging to the high frequency side belongs to the low frequency side It is preferable to be within the range of the context index used in.
  • the context index related to the color difference, and the value of the context index used in the partial region belonging to the high frequency side is within the range of the context index used in the partial region belonging to the low frequency side.
  • the amount of processing for deriving the context index is reduced.
  • the dividing unit divides the target frequency region into at least two partial regions on the low frequency side and the high frequency side, and the context index deriving unit includes at least one of the partial regions belonging to the low frequency side.
  • the context index is derived by referring to N1 (N1 is a natural number) or more decoded non-zero transform coefficients, and N2 (N2 is a natural number satisfying N2 ⁇ N1) in the partial region belonging to the high frequency side.
  • the context index is preferably derived by referring to the decoded non-zero transform coefficients of
  • the number of decoded non-zero transform coefficients referred to in the partial region belonging to the high frequency side is equal to the number of decoded non-zero transform coefficients referenced in at least one of the partial regions belonging to the low frequency side. Since it is smaller than the number, it is possible to reduce the processing amount for the context index derivation process on the high frequency side.
  • the context index deriving unit derives a context index by performing a many-to-one transformation on the number of non-zero transform coefficients that have been decoded in the partial region belonging to the low frequency side, and in the partial region belonging to the high frequency side, It is preferable to derive the number of non-zero transform coefficients as a context index.
  • the dividing means may calculate the sum of the X and Y coordinates of the transform coefficient presence / absence flag, or the sum of the X and Y coordinates of the sub-block to which the transform coefficient presence / absence flag belongs, and the width and height of the target frequency region.
  • the target frequency region is divided into at least a low frequency side partial region and a high frequency side partial region according to the magnitude relationship with the threshold THA determined according to the size obtained by the maximum value,
  • the threshold THA is a value less than or equal to sz when the sum of the X coordinate and the Y coordinate, and sz when the sum is the sum of the X and Y coordinates of the sub-block.
  • the value is equal to or smaller than the size of the sub-block.
  • the sum of the X and Y coordinates of the transform coefficient presence / absence flag, or the sum of the X and Y coordinates of the sub-block to which the transform coefficient presence / absence flag belongs, and the width and height of the target frequency region The target frequency region is divided into at least a low frequency side partial region and a high frequency side partial region according to the magnitude relationship with the threshold THA determined according to the size obtained by the maximum value,
  • the threshold THA is a value less than or equal to sz when the sum of the X coordinate and the Y coordinate, and sz when the sum of the X and Y coordinates of the sub-block / Because the value is equal to or less than the size of the sub-block, the processing amount can be reduced while maintaining high coding efficiency.
  • the dividing unit is responsive to a magnitude relationship between a sum of the X coordinate and the Y coordinate of the sub-block to which the transform coefficient presence / absence flag belongs and a threshold value THA determined according to the size of the target frequency region.
  • the target frequency region is divided into at least a low frequency side partial region and a high frequency side partial region, and when the number of frequency components along each side of the target frequency region is represented as sz,
  • the threshold value THA preferably has a value of sz / 16 or more.
  • the target frequency region can be suitably divided for high coding efficiency and reduction of processing amount.
  • An arithmetic decoding device arithmetically codes various syntaxes representing transform coefficients for transform coefficients obtained for each frequency component by performing frequency transform on a target image for each unit region.
  • subblock coefficient presence / absence flag decoding means for decoding a subblock coefficient presence / absence flag indicating whether or not at least one non-zero transform coefficient is included in the subblock;
  • Dividing means for dividing the sub-block into a plurality of partial areas using at least one of the sub-blocks as a division unit; and
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether each transform coefficient belonging to a partial area is 0, and each transform coefficient presence / absence flag belonging to each partial area
  • Syntax decoding means for performing arithmetic decoding based on the probability state specified by the context index assigned to the transform coefficient presence / absence flag, and the subblock coefficient presence / absence flag decoded for the target subblock includes the target subblock In which at least one non-zero transform coefficient is included, and the target sub-block belongs to a partial region on either the high frequency side or the low frequency side in the target frequency region ,
  • the transform coefficient presence / absence flag indicates that the target sub-block does not include non-zero transform coefficients
  • the transform coefficient presence / absence flag for each of all the transform coefficients belonging to the target sub-block is set. The decoding process is performed on the assumption that the transform coefficient is 0.
  • the context index derivation unit when the target sub-block belongs to any partial region on the high frequency side and the low frequency side in the target frequency region, the context index derivation unit includes:
  • the context index assigned to each transform coefficient presence / absence flag belonging to the target sub-block is based on the number of decoded non-zero transform coefficients included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region.
  • the subblock coefficient presence / absence flag decoded for the target subblock indicates that the target subblock does not include a non-zero transform coefficient, it belongs to the target subblock. Since the decoding process is performed with the conversion coefficient presence / absence flag for each of all the conversion coefficients indicating that the conversion coefficient is 0, the conversion coefficient is decoded as compared with the configuration in which the subblock coefficient presence / absence flag is not used. The amount of processing is reduced.
  • An arithmetic decoding device arithmetically codes various syntaxes representing transform coefficients for transform coefficients obtained for each frequency component by performing frequency transform on a target image for each unit region.
  • subblock coefficient presence / absence flag decoding means for decoding a subblock coefficient presence / absence flag indicating whether or not at least one non-zero transform coefficient is included in the subblock; Dividing means for dividing the sub-block into a plurality of partial areas with at least one of the sub-blocks as a division unit; and Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether each transform coefficient belonging to a partial area is 0, and each transform coefficient presence / absence flag belonging to each partial area, Syntax decoding means for performing arithmetic decoding based on the probability state specified by the context index assigned to the transform coefficient presence / absence flag, and the subblock coefficient presence / absence flag decoded for the target subblock includes the target subblock Indicates that at least one non-zero transform coefficient is included, and when the target sub-block belongs to a partial region on the high frequency side in the target frequency region, the context index derivation means includes
  • the sub-block coefficient presence / absence flag decoded for the target sub-block does not include the non-zero transform coefficient in the target sub-block This indicates that the decoding process is performed with the transform coefficient presence / absence flag for each of all transform coefficients belonging to the target sub-block indicating that the transform coefficient is 0.
  • the context index deriving means includes each context block belonging to the target subblock.
  • a context index to be assigned to the transform coefficient presence / absence flag is a decoded non-zero transform coefficient included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region, and the transform coefficient presence / absence flag Derived based on the number of non-zero transform coefficients excluding the non-zero transform coefficient decoded immediately before, the derivation of the context index on the high frequency side compared to the conventional configuration while realizing high coding efficiency The amount of processing for processing can be reduced.
  • the subblock coefficient presence / absence flag decoded for the target subblock indicates that the target subblock does not include a non-zero transform coefficient, it belongs to the target subblock. Since the decoding process is performed with the conversion coefficient presence / absence flag for each of all the conversion coefficients indicating that the conversion coefficient is 0, the conversion coefficient is decoded as compared with the configuration in which the subblock coefficient presence / absence flag is not used. The amount of processing is reduced.
  • the dividing unit divides the target frequency region into at least three partial regions, and the context index deriving unit performs the decoded non-zero conversion in the first partial region.
  • the context index is derived by referring to N1 coefficients (N1 is a natural number) and referring to N2 decoded non-zero transform coefficients (N2 is a natural number satisfying N2 ⁇ N1) in the second partial region, In the third partial region, it is preferable to derive the context index according to the position of the transform coefficient presence / absence flag.
  • the context is determined based on the partial region in which the number of decoded non-zero transform coefficients referred to refer to the context index is set smaller, and the position of the transform coefficient presence / absence flag in the target frequency domain. Combining with the partial area from which the index is derived can reduce the amount of processing for the context index derivation process, particularly on the high frequency side, compared to the conventional configuration while achieving high coding efficiency. .
  • the dividing means is in accordance with a magnitude relationship between the sum of the X coordinate and the Y coordinate of the sub-block to which the transform coefficient presence / absence flag belongs and a threshold value THB determined according to the size of the target frequency region.
  • the target frequency region is divided into at least a low frequency side partial region and a high frequency side partial region, and when the number of frequency components along each side of the target frequency region is represented as sz,
  • the threshold THB preferably has a value of sz / 4 or less.
  • the target frequency region can be suitably divided for high coding efficiency and reduction of processing amount.
  • the dividing means is in accordance with a magnitude relationship between the sum of the X coordinate and the Y coordinate of the sub-block to which the transform coefficient presence / absence flag belongs and a threshold value THB determined according to the size of the target frequency region.
  • the target frequency region is divided into the first partial region and the second partial region, and the sum of the X and Y coordinates of the sub-block to which the transform coefficient presence / absence flag belongs and the size of the target frequency region
  • the target frequency region is divided into the second partial region and the third partial region according to the magnitude relationship with the threshold value THC determined according to the above, and along each side of the target frequency region.
  • the threshold value THB preferably has a value of sz / 4 or less
  • the threshold value THC preferably has a value of (sz / 4) +2 or more.
  • the target frequency region can be suitably divided for high coding efficiency and reduction of processing amount.
  • An image decoding apparatus includes: the arithmetic decoding apparatus; an inverse frequency converting unit that generates a residual image by performing inverse frequency conversion on a transform coefficient decoded by the arithmetic decoding apparatus; and the inverse frequency
  • the present invention is characterized by comprising decoded image generation means for generating a decoded image by adding a residual image generated by the conversion means and a predicted image predicted from the generated decoded image.
  • the image decoding apparatus it is possible to decode encoded data with high encoding efficiency while reducing the processing amount for syntax derivation.
  • An arithmetic coding apparatus arithmetically codes various syntaxes representing transform coefficients for transform coefficients obtained for each frequency component by subjecting a target image to frequency transform for each unit region.
  • An arithmetic encoding device that generates encoded data by sub-block division means for dividing a target frequency region corresponding to a unit area to be processed into sub-blocks of a predetermined size, and divided by the sub-block division means For each subblock, subblock coefficient presence / absence flag encoding means for encoding a subblock coefficient presence / absence flag indicating whether or not at least one non-zero transform coefficient is included in the subblock;
  • a dividing means for dividing the component and at least one of each of the sub-blocks into a plurality of partial areas as a division unit;
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating whether each transform coefficient belonging to a partial area is 0, and each
  • the context index deriving unit belongs to the target subblock. Since the context index to be assigned to each transform coefficient presence / absence flag is derived based on the position of the target sub-block in the target frequency domain, the context on the higher frequency side is achieved compared to the conventional configuration while achieving high coding efficiency. The processing amount for the index derivation process can be reduced.
  • the subblock coefficient presence / absence flag decoded for the target subblock indicates that the target subblock does not include a non-zero transform coefficient, it belongs to the target subblock. Since the encoding process is performed with the conversion coefficient presence / absence flag for each of all the conversion coefficients indicating that the conversion coefficient is 0, the conversion coefficient is encoded as compared with the configuration in which the sub-block coefficient presence / absence flag is not used. The amount of processing for converting into
  • An image coding apparatus includes a transform coefficient generating unit that generates a transform coefficient by frequency-converting a residual image between a coding target image and a predicted image for each unit region, and the arithmetic coding described above.
  • the arithmetic coding device generates encoded data by arithmetically encoding various syntaxes representing the transform coefficients generated by the transform coefficient generating means. It is characterized by.
  • the data structure of the encoded data according to one aspect of the present invention is such that arithmetic operations are performed on various syntaxes representing transform coefficients for each transform coefficient obtained for each frequency component by performing frequency transform on the target image for each unit region.
  • a decoding device that decodes the encoded data includes a subblock coefficient presence / absence flag indicating whether or not one is included, and the subblock coefficient presence / absence flag decoded for the target subblock is non-zero converted into the target subblock In which at least one coefficient is included, and the target sub-block is If it belongs to a frequency-side partial area, a context index to be assigned to each transform coefficient presence / absence flag belonging to the target sub-block is derived based on the position of the target sub-block in the target frequency area, and Each transform coefficient presence / absence flag to which it belongs is arithmetically decoded based on the probability state specified by the context index assigned to the transform coefficient presence / absence flag, and the sub-block coefficient presence / absence flag decoded for the target sub-block is When
  • the encoded data configured as described above includes at least one non-zero transform coefficient for each sub-block of a predetermined size obtained by dividing the frequency domain corresponding to the unit domain.
  • a decoding apparatus that decodes the encoded data and includes a subblock coefficient presence / absence flag indicating whether or not the target subblock has at least one non-zero transform coefficient.
  • Each transform coefficient presence / absence flag belonging to the partial region is arithmetically decoded based on the probability state specified by the context index assigned to the transform coefficient presence / absence flag, and the sub-block coefficient presence / absence flag decoded for the target sub-block is If the target sub-block indicates that no non-zero conversion coefficient is included, the conversion coefficient presence / absence flag for each of the conversion coefficients belonging to the target sub-block is set to 0. Since the decoding process is performed as shown, the processing amount for decoding can be reduced while maintaining high coding efficiency.
  • the arithmetic decoding apparatus arithmetically encodes various syntaxes representing the transform coefficients for each transform coefficient obtained for each frequency component by performing frequency transform on the target image for each unit region.
  • An arithmetic decoding device that decodes the encoded data obtained in this way, and decodes the syntax of M1 (M1 is a natural number) and decodes the value of each transform coefficient, and M2 (M2 is M2) It is characterized in that the value of each transform coefficient is decoded by selectively using a simplified mode in which the syntax of ⁇ natural number satisfying M1) is decoded and the value of each transform coefficient is decoded.
  • the simplified mode uses less syntax than the normal mode, the throughput of the decoding process can be improved.
  • the arithmetic decoding device performs arithmetic decoding based on a probability state specified by a context assigned to each syntax, and arithmetic decoding based on a fixed probability state without using a context.
  • syntax decoding means for decoding each syntax wherein the syntax decoding means performs decoding using the context for the M1 syntaxes in the normal mode, and the M2 syntaxes in the simplified mode. Decoding is preferably performed using the context.
  • the arithmetic decoding apparatus includes: a sub-block dividing unit that divides a target frequency region corresponding to a unit region to be processed into sub-blocks having a predetermined size; and each sub-block divided by the sub-block dividing unit.
  • Sub-block coefficient presence / absence flag decoding means for decoding a sub-block coefficient presence / absence flag indicating whether or not at least one non-zero transform coefficient is included in a block.
  • the sub-block coefficient presence / absence flag and the transform coefficient are The transform coefficient presence / absence flag indicating whether or not it is 0 is decoded using the context, and in the simplified mode, the sub-block coefficient presence / absence flag is decoded using the context, and the transform coefficient presence / absence flag is not used using the context. Decoding is preferred.
  • the subblock coefficient presence / absence flag significant_coeffgroup_flag which is important to be suppressed to a low code amount, is in the normal mode or the simplified mode.
  • throughput can be improved while maintaining high coding efficiency.
  • the arithmetic decoding apparatus in the normal mode, the transform coefficient presence / absence flag significant_coeff_flag indicating whether or not the transform coefficient is 0, the syntax coeff_abs_greater1_flag indicating whether or not the absolute value of the transform coefficient is greater than 1, and the absolute transform coefficient
  • the syntax coeff_abs_greater2_flag indicating whether or not the value is greater than 2
  • the syntax coeff_abs_minus3 indicating the value obtained by subtracting 3 from the absolute value of the transform coefficient
  • the syntax coeff_sign indicating the sign of the transform coefficient
  • transform coefficient presence / absence flag significant_coeff_flag the syntax coeff_abs_minus1 indicating a value obtained by subtracting 1 from the absolute value of the transform coefficient
  • syntax coeff_sign indicating the sign of the transform coefficient
  • the simplified mode uses less syntax than the normal mode, the throughput of the decoding process can be improved.
  • the arithmetic decoding apparatus also includes the transform coefficient presence / absence flag significant_coeff_flag, the syntax coeff_abs_greater1_flag indicating whether or not the absolute value of the transform coefficient is greater than 1, and whether or not the absolute value of the transform coefficient is greater than 2.
  • syntax coeff_abs_greater2_flag is decoded using context, and in the simplified mode, the transform coefficient presence / absence flag significant_coeff_flag, the syntax coeff_abs_minus1 indicating a value obtained by subtracting 1 from the absolute value of the transform coefficient, and the sign of the transform coefficient It is preferable to decode the syntax coeff_sign indicating the above without using a context.
  • the throughput of the decoding process can be improved.
  • the arithmetic decoding apparatus also includes the transform coefficient presence / absence flag significant_coeff_flag, the syntax coeff_abs_greater1_flag indicating whether or not the absolute value of the transform coefficient is greater than 1, and whether or not the absolute value of the transform coefficient is greater than 2.
  • the syntax coeff_abs_greater2_flag indicating whether or not is decoded using a context
  • the syntax coeff_abs_minus1 indicating a value obtained by subtracting 1 from the absolute value of the transform coefficient
  • the syntax coeff_sign indicating the sign of the transform coefficient It is preferable to decode without using context.
  • the arithmetic decoding device continuously decodes the syntax coeff_abs_minus1 indicating a value obtained by subtracting 1 from the absolute value of the transform coefficient and the syntax coeff_sign indicating the sign of the transform coefficient. Is preferred.
  • the syntax for decoding without using the context is continuously arranged in the simplified mode, the throughput of the decoding process can be improved.
  • the arithmetic decoding apparatus has a transform coefficient presence / absence flag significant_coeff_flag indicating whether or not the transform coefficient is 0, a syntax coeff_abs_greater1_flag indicating whether or not the absolute value of the transform coefficient is greater than 1, and an absolute transform coefficient
  • the syntax coeff_abs_greater2_flag indicating whether or not the value is greater than 2
  • the syntax coeff_abs_minus3 indicating the value obtained by subtracting 3 from the absolute value of the transform coefficient
  • the syntax coeff_sign indicating the sign of the transform coefficient
  • the simplified mode uses less syntax than the normal mode, the throughput of the decoding process can be improved.
  • the arithmetic decoding apparatus also includes the transform coefficient presence / absence flag significant_coeff_flag, the syntax coeff_abs_greater1_flag indicating whether or not the absolute value of the transform coefficient is greater than 1, and whether or not the absolute value of the transform coefficient is greater than 2.
  • the syntax coeff_abs_greater2_flag indicating whether or not is decoded using a context
  • the syntax coeff_abs_minus1 indicating a value obtained by subtracting 1 from the absolute value of the transform coefficient and the syntax coeff_sign indicating the sign of the transform coefficient are context It is preferable to decode without using.
  • the arithmetic decoding apparatus when the sum of the X coordinate and the Y coordinate of the last position of the transform coefficient is larger than the sum of the X coordinate and the Y coordinate of the last position according to a size comparison with a predetermined threshold value.
  • the simplified mode is selected, and otherwise the normal mode is selected.
  • the throughput of the decoding process can be improved while maintaining a high coding efficiency.
  • the arithmetic decoding device preferably reduces the number of syntaxes to be decoded using context when the sum of the X coordinate and the Y coordinate of the last position is larger than in other cases.
  • the simplified mode is used, so that the throughput of decoding processing is improved while maintaining high coding efficiency. Can do.
  • the arithmetic decoding apparatus preferably uses different values as the threshold value when the frequency domain width and height are the same and when the frequency domain width and height are different.
  • the arithmetic decoding device includes a dividing unit that divides the target frequency region into a plurality of partial regions with each frequency component and at least one of each sub-block as a division unit, and each transform coefficient belonging to each partial region.
  • a context index deriving unit for deriving a context index to be assigned to each transform coefficient presence / absence flag which is a syntax indicating whether or not it is 0, and the number of transform coefficient presence / absence flags is greater than or equal to a predetermined number in a certain sub-block For this reason, it is preferable to decode the transform coefficient presence / absence flag without using a contest in a sub-block to be processed next to the certain sub-block.
  • the throughput of the decoding process can be improved while maintaining a high coding efficiency.
  • the arithmetic coding apparatus arithmetically codes various syntaxes representing the transform coefficient for each transform coefficient obtained for each frequency component by performing frequency transform on the target image for each unit region.
  • the simplified mode uses less syntax than the normal mode, the throughput of the encoding and decoding processes can be improved.
  • An arithmetic decoding device provides an encoding obtained by arithmetically encoding various syntaxes representing transform coefficients for transform coefficients obtained by subjecting a target image to frequency conversion for each unit region.
  • An arithmetic decoding device that decodes data, a dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions, and whether or not each transform coefficient belonging to each partial region is 0
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag having the syntax shown, and each transform coefficient presence / absence flag belonging to each partial area is designated by the context index assigned to the transform coefficient presence / absence flag
  • Syntax decoding means for performing arithmetic decoding based on the probability state, and the context index
  • the derivation means derives a context index to be assigned to each transform coefficient presence / absence flag belonging to the high frequency side partial area among the plurality of partial areas based on the position
  • the context index assigned to each transform coefficient presence / absence flag belonging to the high frequency side partial region among the plurality of partial regions in the target frequency region is converted to the transform in the target frequency region. Since the calculation is performed based on the position of the coefficient presence / absence flag, it is possible to reduce the processing amount for the context index derivation process on the high frequency side as compared with the conventional configuration while realizing high coding efficiency.
  • the arithmetic decoding device is obtained by arithmetically encoding various syntaxes representing the transform coefficients for the transform coefficients obtained by subjecting the target image to frequency conversion for each unit region.
  • An arithmetic decoding apparatus that decodes encoded data, a dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions, and whether or not each transform coefficient belonging to each partial region is 0
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, and indicating each transform coefficient presence / absence flag belonging to each partial area by the context index assigned to the transform coefficient presence / absence flag
  • syntax decoding means for performing arithmetic decoding based on a probability state to be performed, and the context
  • the index deriving means derives a context index to be assigned to each transform coefficient presence / absence flag based on the number of decoded non-zero transform coefficients included in
  • the context index to be assigned to each transform coefficient presence / absence flag is a non-decoded non-decoded content included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region.
  • the reference region that is derived based on the number of zero transform coefficients and is set in the partial region on the high frequency side among the plurality of partial regions is smaller than the reference region set in the partial region on the low frequency side.
  • the context index deriving means derives a context index by adding a predetermined starting point determined for each partial area and a variable determined for each partial area, and the method for deriving the variable differs. By setting the starting point to the same value for a plurality of partial areas, it is preferable to use a common context in the plurality of partial areas having different derivation methods for the indexed index.
  • the arithmetic decoding apparatus configured as described above, in a plurality of partial areas with different derivation methods, by making the starting points determined for each partial area equal, the number of contexts does not increase, and a high code It is possible to reduce the processing amount while realizing the efficiency.
  • the dividing unit classifies the target frequency region into at least three partial regions according to the position of the transform coefficient presence / absence flag to be processed, and the context index deriving unit includes the first partial region.
  • N1 N2 is a natural number satisfying N2 ⁇ N1
  • a partial region in which the number of decoded non-zero transform coefficients referred to refer to the context index is set smaller, and whether or not the transform coefficient exists in the target frequency region Combined with a partial area for deriving a context index based on the position of the flag, it achieves high coding efficiency, and the amount of processing for context index derivation processing on the high frequency side compared to the conventional configuration Can be reduced.
  • the context index deriving means assigns a context index assigned to each transform coefficient presence / absence flag along the current scan sequence in the partial region on the high frequency side among the plurality of partial regions to the previous scan sequence. It is preferred to derive further based on the number of non-zero transform coefficients along.
  • the context index deriving unit assigns the context index assigned to each transform coefficient presence / absence flag along the current scan sequence in the high frequency side partial region of the plurality of partial regions along the previous scan sequence. Derived from the number of non-zero transform coefficients and the number of decoded non-zero transform coefficients included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region, Since the reference region set in the partial region on the high frequency side among the plurality of partial regions is smaller than the reference region set in the partial region on the low frequency side, compared with the conventional configuration, on the high frequency side It is possible to reduce the amount of processing for the context index derivation process more effectively and to realize high coding efficiency. That.
  • the arithmetic decoding device is obtained by arithmetically encoding various syntaxes representing the transform coefficients for the transform coefficients obtained by subjecting the target image to frequency conversion for each unit region.
  • An arithmetic decoding apparatus that decodes encoded data, a dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions, and whether or not each transform coefficient belonging to each partial region is 0
  • Context index deriving means for sequentially deriving along the respective scan columns the context index to be assigned to each transform coefficient presence / absence flag, which is a syntax indicating the above, and each transform coefficient presence / absence flag belonging to each partial area as the transform coefficient presence / absence flag.
  • the context index deriving means includes a non-zero transform coefficient along the previous scan sequence, the context index assigned to each transform coefficient presence / absence flag along the current scan sequence in the high frequency side partial region of the plurality of partial regions It is derived based on the number of.
  • the context index assigned to each transform coefficient presence / absence flag along the current scan string in the partial area on the high frequency side among the plurality of partial areas is aligned along the previous scan string. Derived based on the number of non-zero transform coefficients.
  • the number of non-zero transform coefficients along the previous scan sequence is counted, it can be used in common when deriving a context index to be assigned to each transform coefficient presence / absence flag along the current scan sequence. . Therefore, it is possible to reduce the processing amount for the context index derivation process on the high frequency side, compared to the conventional configuration in which the context index must be individually derived for the transform coefficient presence / absence flags at different positions. At the same time, high encoding efficiency can be realized.
  • the arithmetic decoding device is obtained by arithmetically encoding various syntaxes representing the transform coefficients for the transform coefficients obtained by subjecting the target image to frequency conversion for each unit region.
  • An arithmetic decoding apparatus that decodes encoded data, a dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions, and whether or not each transform coefficient belonging to each partial region is 0
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, and indicating each transform coefficient presence / absence flag belonging to each partial area by the context index assigned to the transform coefficient presence / absence flag
  • syntax decoding means for performing arithmetic decoding based on a probability state to be performed, and the context
  • the index deriving means derives a context index to be assigned to each transform coefficient presence / absence flag based on the number of decoded non-zero transform coefficients included in
  • the context index to be assigned to each transform coefficient presence / absence flag is a non-decoded non-decoded content included in the reference region set around the position of the transform coefficient presence / absence flag in the target frequency region. This is derived based on the number of 0 transform coefficients, and the number of decoded transform coefficients included in the reference area is 4 or less, so refer to a smaller number of decoded transform coefficients than in the conventional configuration. All you need is enough. Therefore, according to the above configuration, it is possible to reduce the processing amount for context index derivation processing on the high frequency side as compared with the conventional configuration, and it is possible to realize high coding efficiency.
  • the arithmetic decoding device is obtained by arithmetically encoding various syntaxes representing the transform coefficients for the transform coefficients obtained by subjecting the target image to frequency conversion for each unit region.
  • An arithmetic decoding device that decodes encoded data, a dividing unit that divides a target frequency region corresponding to a unit region to be processed into a plurality of partial regions, and a context that assigns a different context index to each partial region
  • the index assigning means and each transform coefficient presence / absence flag, which is a syntax indicating whether or not each transform coefficient belonging to each partial area is 0, are designated by the context index assigned to the partial area to which the transform coefficient presence / absence flag belongs.
  • Syntax decoding means for performing arithmetic decoding based on a probability state to be performed, and the plurality of units Partial region of the low-frequency side of the region is characterized in that less than a partial region of the high-frequency side.
  • the low frequency side partial region of the plurality of partial regions is smaller than the high frequency side partial region. Indexes can be assigned finely. Therefore, according to the above configuration, the syntax on the low frequency side can be efficiently decoded, so that the coding efficiency is improved.
  • the dividing unit divides the target frequency region into a plurality of partial regions according to a SUM indicating the sum of the X coordinate and the Y coordinate of the transform coefficient presence / absence flag.
  • the target frequency region is divided into at least a low frequency side partial region and a high frequency side partial region according to the magnitude relationship between the SUM and the first threshold value TH2 determined according to the size sz of the target frequency region.
  • the first threshold value TH2 is preferably sz or more.
  • the arithmetic decoding apparatus configured as described above, even when the context index assigned to the transform coefficient presence / absence flag in the target frequency domain is derived based on the position of the transform coefficient presence / absence flag in the target frequency domain, the arithmetic index is high. While realizing encoding efficiency, it is possible to reduce the amount of processing for context index derivation processing on the high frequency side as compared with the conventional configuration.
  • the dividing unit divides the target frequency region into a plurality of partial regions according to a SUM indicating the sum of the X coordinate and the Y coordinate of the transform coefficient presence / absence flag.
  • a SUM indicating the sum of the X coordinate and the Y coordinate of the transform coefficient presence / absence flag.
  • the target frequency region is divided into at least the low frequency side partial region and the high frequency side partial region.
  • the first threshold TH2 is preferably sz ⁇ 2 or less.
  • the arithmetic decoding apparatus configured as described above, even when a partial region in which the number of decoded non-zero transform coefficients referred to refer to a context index is set to be smaller is used, high coding efficiency is achieved. As compared with the conventional configuration, the processing amount for the context index derivation process on the high frequency side can be reduced.
  • the dividing unit divides the target frequency region into a plurality of partial regions according to a SUM indicating the sum of the X coordinate and the Y coordinate of the transform coefficient presence / absence flag.
  • the target frequency region is divided into the first partial region and the second partial region according to the magnitude relationship between the SUM and the first threshold value TH2 determined according to the size sz of the target frequency region,
  • the target frequency region is divided into the second partial region and the third partial region according to the magnitude relationship between the SUM and the second threshold value TH3 determined according to the size sz of the target frequency region.
  • the first threshold value TH2 is preferably sz-2 or less
  • the second threshold value TH3 is preferably sz or more.
  • a partial region in which the number of decoded non-zero transform coefficients referred to refer to the context index is set smaller, and whether or not the transform coefficient exists in the target frequency region Even when combining with a partial region for deriving a context index based on the flag position, a process for deriving a context index on the high frequency side compared to the conventional configuration while achieving high coding efficiency The amount can be reduced.
  • An image decoding apparatus includes the arithmetic decoding apparatus, an inverse frequency transform unit that generates a residual image by performing inverse frequency transform on a transform coefficient decoded by the arithmetic decoding apparatus, and the above And a decoded image generating unit that generates a decoded image by adding a residual image generated by the inverse frequency transform unit and a predicted image predicted from the generated decoded image. .
  • the image decoding apparatus it is possible to decode encoded data with high encoding efficiency while reducing the processing amount for syntax derivation.
  • the arithmetic coding apparatus encodes each transform coefficient obtained by frequency transforming the target image for each unit region by arithmetically coding various syntaxes representing the transform coefficient.
  • Context index deriving means for deriving a context index to be assigned to each transform coefficient presence / absence flag, and each transform coefficient presence / absence flag belonging to each partial area is designated by the context index assigned to the transform coefficient presence / absence flag.
  • Syntax encoding means for performing arithmetic encoding based on the probability state The index deriving means derives a context index to be assigned to each transform coefficient presence / absence flag belonging to the high frequency side partial area among the plurality of partial areas based on the position of the transform coefficient presence / absence flag in the target frequency area. It is a feature.

Landscapes

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

Abstract

 高い符号化効率を維持しつつ、処理量を削減する。変換係数を示す少なくとも第1のシンタックス及び第2のシンタックスのそれぞれを、コンテキストを用いた算術復号又はコンテキストを用いない算術復号により復号するシンタックス復号手段を備え、前記シンタックス復号手段は、前記第1のシンタックスを復号せずに、前記第2のシンタックスを前記コンテキストを用いない算術復号により復号する場合と、前記第1のシンタックスを前記コンテキストを用いた算術復号により復号し、前記第2のシンタックスをコンテキストを用いない算術復号により復号する場合とを少なくとも含むる算術復号装置。

Description

算術復号装置、画像復号装置、算術符号化装置、画像符号化装置、および、算術復号方法
 本発明は、算術符号化された符号化データを復号する算術復号装置、および、そのような算術復号装置を備えている画像復号装置に関する。また、算術符号化された符号化データを生成する算術符号化装置、および、そのような算術符号化装置を備えている画像符号化装置に関する。また、算術符号化された符号化データを復号する算術復号方法に関する。
 動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置(画像符号化装置)、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置(画像復号装置)が用いられている。
 具体的な動画像符号化方式としては、例えば、H.264/MPEG-4.AVC、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている方式、TMuC(Test Model under Consideration)ソフトウェアに採用されている方式や、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている方式(非特許文献1)などが挙げられる。
 このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化単位(コーディングユニット(Coding Unit)と呼ばれることもある)、及び、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、普通、ブロックごとに符号化/復号される。
 また、このような符号化方式においては、通常、入力画像を符号化及び復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分画像(「残差画像」または「予測残差」と呼ぶこともある)をブロック毎にDCT(Discrete Cosine Transform)変換等の周波数変換を施すことによって得られる変換係数が符号化される。
 変換係数の具体的な符号化の方式としては、コンテキスト適応型可変長符号化(CAVLC:Context-based Adaptive Variable Length Coding)、および、コンテキスト適応型2値算術符号化(CABAC:Context-based Adaptive Binary Arithmetic Coding)が知られている。
 CALVCでは、各変換係数を順次スキャンすることによって1次元のベクトルとした後、各変換係数の値を示すシンタックス、および、連続する0の長さ(ランとも呼ぶ)を表すシンタックス等が符号化される。
 CABACでは、変換係数を表す各種のシンタックスに対して2値化処理が施され、この2値化処理によって得られた2値データが算術符号化される。ここで、上記各種のシンタックスとしては、変換係数が0であるか否かを示すフラグ、すなわち非0変換係数の有無を示すフラグsignificant_coeff_flag(変換係数有無フラグとも呼ぶ)、並びに、処理順で最後の非0変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yなどが挙げられる。
 また、CABACでは、シンボル(2値データの1ビット、Binとも呼ぶ)を1つ符号化する際、処理対象の周波数成分に割り付けられたコンテキストインデックスが参照され、当該コンテキストインデックスによって指定されるコンテキスト変数に含まれる確率状態インデックスの指し示す発生確率に応じた算術符号化が行われる。また、確率状態インデックスによって指定される発生確率は、シンボルを1つ符号化する毎に更新される。
 非特許文献1には、(1)16×16画素や32×32画素等の比較的大きなブロックについての周波数領域を複数の部分領域に分割し、(2)低周波数側の部分領域に含まれる周波数成分に対して、周波数領域内での当該周波数成分の位置に応じて定まるコンテキストインデックス(位置コンテキストとも呼ぶ)を割り付け、(3)高周波数側の部分領域に含まれる周波数成分に対して、当該周波数成分の周辺の周波数成分における非0変換係数の数に応じて定まるコンテキストインデックス(周辺参照コンテキストとも呼ぶ)を割り付けることが記載されている。この技術によれば、低周波数側での処理量を低減しつつ、高周波数側において、参照されるコンテキストの総数を小さく保つことができる。
 また、非特許文献2では、変換係数の符号化において、算術符号化を用いつつも、コンテキストを用いないバイパスと呼ばれる符号化(すなわち、算術符号化であってコンテキストを用いない符号化)を用いることにより、コンテキストのアップデートを不要としスループットを向上させる技術が知られている。本技術では、従来CABACで用いられていたバイナリ化を用いず、CAVLCで用いていたバイナリ化を用いる。
「WD4: Working Draft 4 of High-Efficiency Video Coding (JCTVC-F803_d2)」, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011(2011年10月8日公開) J. Lainema, K. Ugur and A. Hallapuro「Single entropy coder for HEVC with a high throughput binarization mode」、JCTVC-G569, Geneva, Novemver2011(2011年11月公開)
 しかしながら、非特許文献1に記載の技術では、成分数の多い高周波数側において、周辺参照コンテキストを用いるため、非0変換係数の有無を示すフラグsignificant_coeff_flagを復号するためのコンテキスト計算の計算量が増大し、復号処理の遅延を招来するという問題を生じていた。
 また、非特許文献2に記載の技術では、CAVLCで用いられるバイナリ化を用いるため、ランモードとレベルモードという2つのモードを必要とし処理が複雑になるという課題がある。また、コンテキストを全く用いないため、符号化効率の低下が大きいという課題がある。
 本発明は、上記の問題に鑑みてなされたものであり、その目的は、高い符号化効率を実現しつつ、従来の構成に比べて処理量を低減させることのできる算術復号装置及び算術符号化装置を実現することにある。
 上記の課題を解決するために、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを算術復号する算術復号装置において、前記変換係数を示す少なくとも第1のシンタックス及び第2のシンタックスのそれぞれを、コンテキストを用いた算術復号又はコンテキストを用いない算術復号により復号するシンタックス復号手段を備え、前記シンタックス復号手段は、前記第1のシンタックスを復号せずに、前記第2のシンタックスを前記コンテキストを用いない算術復号により復号する場合と、前記第1のシンタックスを前記コンテキストを用いた算術復号により復号し、前記第2のシンタックスをコンテキストを用いない算術復号により復号する場合とを少なくとも含むことを特徴とする。
 上記の課題を解決するために、本発明の一態様に係る算術符号化装置は、対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを生成する算術符号化装置であって、前記変換係数を示す少なくとも第1のシンタックス及び第2のシンタックスのそれぞれを、コンテキストを用いた算術符号化又はコンテキストを用いない算術符号化により算術符号化するシンタックス符号化手段を備え、前記シンタックス符号化手段は、前記第1のシンタックスを符号化せずに、前記第2のシンタックスを前記コンテキストを用いない算術符号化により符号化する場合と、前記第1のシンタックスを前記コンテキストを用いた算術符号化により符号化し、前記第2のシンタックスをコンテキストを用いない算術符号化により符号化する場合とを少なくとも含むことを特徴とする。
 上記の課題を解決するために、本発明の一態様に係る算術復号方法は、対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを算術復号する算術復号方法において、前記変換係数を示す少なくとも第1のシンタックス及び第2のシンタックスのそれぞれを、コンテキストを用いた算術復号又はコンテキストを用いない算術復号により復号するステップを少なくとも含み、前記復号するステップは、前記第1のシンタックスを復号せずに、前記第2のシンタックスを前記コンテキストを用いない算術復号により復号する場合と、前記第1のシンタックスを前記コンテキストを用いた算術復号により復号し、前記第2のシンタックスをコンテキストを用いない算術復号により復号する場合とを少なくとも含むことを特徴とする。
 本発明の一態様によれば、高い符号化効率を実現しつつ、処理量を削減することができる。
本発明の実施形態に係る動画像復号装置の備える量子化残差情報復号部の構成を示すブロック図である。 本発明の実施形態に係る動画像符号化装置によって生成され、動画像復号装置によって復号される符号化データのデータ構成を示す図であり、(a)~(d)は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびCUレイヤを示す図である。 PU分割タイプのパターンを示す図である。(a)~(h)は、それぞれ、PU分割タイプが、2N×N、2N×nU、2N×nD、2N×N、2N×nU、および、2N×nDの場合のパーティション形状について示している。 正方形のノードを正方形または非正方形に4分木分割する分割方式について示す図である。(a)は、正方形の分割、(b)は、横長の長方形の分割、(c)は、縦長の長方形の分割、(d)は、横長のノードの横長の分割、(e)は、横長のノードの正方形の分割、(f)は、縦長のノードの縦長の分割、および(g)は、縦長のノードの正方形の分割を示している。 実施形態に係る符号化データの量子化残差情報に含まれる各シンタックスを示す図である。 実施形態に係る量子化残差情報復号部の動作を説明するための図であって、(a)は、順スキャンの場合の処理順を示しており、(b)は、逆スキャンの場合の処理順を示しており、(c)は、処理周波数領域における非0の変換係数を例示しており、(d)は、対象周波数領域におけるシンタックスsignificant_coeff_flagの値を例示しており、(e)は、対象周波数領域におけるシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_minus3を復号して得られた値を例示しており、(f)は、対象周波数領域におけるシンタックスcoeff_sign_flagの値を例示している。 実施形態に係る動画像復号装置の構成を示すブロック図である。 実施形態に係る動画像復号装置の備える可変長符号復号部の構成を示すブロック図である。 実施形態に係る周波数分類部によって4つの部分領域に分割された周波数領域を示す図である。 実施形態に係る周辺参照コンテキスト導出部の動作を示すための図であって、(a)は、処理順序が逆スキャン順である場合の対象周波数成分xと、対象周波数成分xの位置周辺に設定された参照領域に含まれる参照周波数成分c1~c5とを表しており、(b)は、処理順序が順スキャン順である場合の対象周波数成分xと、対象周波数成分xの位置周辺に設定された参照領域に含まれる参照周波数成分c1~c5とを表しており、(c)は、参照領域が対象周波数領域からはみ出している場合を示している。 (a)は、実施形態に係る周波数分類部によって3つの部分領域に分割された周波数領域を示す図であり、(b)は、実施形態に係る周波数分類部によって2つの部分領域に分割された周波数領域を示す図である。 実施形態に係る係数有無フラグ復号部の第2の構成例を示すブロック図である。 実施形態に係る係数有無フラグ復号部の第2の構成例を説明するための図であって、(a)は、スキャン列Lxとスキャン列Lx+1とを示しており、(b)は、スキャン列Lxと、スキャン列Lx+1のうちlast_cntx及びlast_cntyをそれぞれカウントする部分とを示している。 実施形態に係る係数有無フラグ復号部の第3の構成例を示すブロック図である。 実施形態に係る係数有無フラグ復号部の第3の構成例における周辺参照コンテキスト導出部によって参照される参照領域を示す図であり、(a)~(b)は参照数が4である参照領域を例示しており、(c)~(f)は、参照数が3である参照領域を例示しており、(g)~(h)は、参照数が2である参照領域を例示しており、(i)は、参照数が3である参照領域の他の例を示している。 実施形態に係る係数有無フラグ復号部の第3の構成例を説明するための図であって、対象周波数領域を構成する部分領域R0~R3のうち、部分領域R2とR3とで一部のコンテキストを共有する場合を示している。 実施形態に係る係数有無フラグ復号部の第4の構成例を示すブロック図である。 実施形態に係る係数有無フラグ復号部の第4の構成例を説明するための図であって、対象周波数領域を構成する部分領域R0~R4のうち、部分領域R2とR3とで一部のコンテキストを共有する場合を示している。 実施形態に係る係数有無フラグ復号部の第5の構成例を示すブロック図である。 実施形態に係る係数有無フラグ復号部の第5の構成例を説明するための図であって、スキャン列Lx、スキャン列Lx+1、スキャン列Lx+2を示している。 実施形態に係る係数有無フラグ復号部の第5の構成例を説明するための図であって、(a)~(c)は、参照数が2である参照領域を例示している。 実施形態に係る係数有無フラグ復号部の第6の構成例を示すブロック図である。 実施形態に係る量子化残差情報復号部の他の構成例を説明するための図であって、周波数領域を分割して得られる低周波数側の部分領域R0’と高周波数側の部分領域R1’とを示している。 実施形態に係る量子化残差情報復号部の他の構成例を説明するためのものであって、(a)は、レベルの各値とそれに対応した制限設定とを示すものであり、(b)は、レベルの各値とそれに応じた閾値の設定とを示すものである。 実施形態に係る量子化残差情報復号部の他の構成例を説明するためのものであって、(a)は、比較例に係る係数有無フラグ復号部によって導出されたコンテキストインデックスの各値を示しており、(b)は、当該構成例に係る係数有無フラグ復号部によって導出されたコンテキストインデックスctxIdxの各値を示しており、(c)は、当該構成例に係る係数有無フラグ復号部によって導出されたctxIdxHの例を示しており、(d)は、当該構成例に係る係数有無フラグ復号部によって導出されたctxIdxVの例を示している。 実施形態に係る動画像符号化装置の構成を示すブロック図である。 実施形態に係る動画像符号化装置の備える可変長符号符号化部の構成を示すブロック図である。 実施形態に係る可変長符号符号化部の備える量子化残差情報符号化部の構成を示すブロック図である。 上記動画像符号化装置を搭載した送信装置、および、上記動画像復号装置を搭載した受信装置の構成について示した図である。(a)は、動画像符号化装置を搭載した送信装置を示しており、(b)は、動画像復号装置を搭載した受信装置を示している。 上記動画像符号化装置を搭載した記録装置、および、上記動画像復号装置を搭載した再生装置の構成について示した図である。(a)は、動画像符号化装置を搭載した記録装置を示しており、(b)は、動画像復号装置を搭載した再生装置を示している。 実施形態に係る係数有無フラグ復号部の第7の構成例を示すブロック図である。 実施形態に係る係数有無フラグ復号部の第7~第9の構成例を説明するための図であって、サブブロックを単位とするスキャンを示すものである。 実施形態に係る係数有無フラグ復号部の第7~第9の構成例における動作の流れの一例を示すフローチャートである。 実施形態に係る係数有無フラグ復号部の第7~第9の構成例における動作の流れの他の例を示すフローチャートである。 実施形態に係る係数有無フラグ復号部の第7の構成例の備える周波数分類部による分類処理によって、部分領域R0、R1、及びR2に分割された周波数領域の一例を示す図である。 実施形態に係る係数有無フラグ復号部の第7~第9の構成例を説明するための図であって、対象周波数成分xの位置周辺に設定された参照領域に含まれる参照周波数成分c1~c5を示すものである。 実施形態に係る係数有無フラグ復号部の第8の構成例を示すブロック図である。 実施形態に係る係数有無フラグ復号部の第8の構成例の備える周波数分類部による分類処理によって、部分領域R0、R1、R2、及びR3に分割された周波数領域の一例を示す図である。 実施形態に係る係数有無フラグ復号部の第8の構成例の備える周波数分類部による分類処理によって、部分領域R0、R1、R2、及びR3に分割された周波数領域の他の例を示す図である。 実施形態に係る係数有無フラグ復号部の第9の構成例を示すブロック図である。 実施形態に係る係数有無フラグ復号部の第9の構成例の備える周波数分類部による分類処理によって、部分領域R0、R1、R2、R3、及びR4に分割された周波数領域の一例を示す図である。 実施形態に係る係数有無フラグ復号部の第9の構成例の備える周波数分類部による分類処理によって、部分領域R0、R1、R2、R3、及びR4に分割された周波数領域の他の例を示す図である。 実施形態に係る係数有無フラグ符号化部の第7~第9の構成例による動作の流れを示すフローチャートである。 実施形態に係る係数有無フラグ符号化部の第7の構成例を示すブロック図である。 実施形態に係る係数有無フラグ符号化部の第8の構成例を示すブロック図である。 実施形態に係る係数有無フラグ符号化部の第9の構成例を示すブロック図である。 実施形態に係るサブブロック係数有無フラグを説明するための図であって、(a)は、16×16変換ブロックに含まれる合計256個の周波数成分についての量子化残差係数の各値の一例を示しており、(b)は、16×16変換ブロックを4×4サブブロックに分割した場合の各サブブロックを識別するサブブロック番号の一例を示しており、(c)は、量子化残差係数が(a)に示すものであるときの、各サブブロックのサブブロック係数有無フラグの一例を示している。 実施形態に係る係数有無フラグ復号部の備える周波数分類部による分類処理を説明するための図であって、(a)は、輝度値に関する変換係数を復号する際に好適に適用される部分領域分割を示しており、(b)は、色差に関する変換係数を復号する際に好適に適用される部分領域分割を示している。 実施形態に係る係数有無フラグ復号部の第3の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図48(a)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 実施形態に係る係数有無フラグ復号部によるコンテキストインデックス導出処理を説明するための図であって、図48(b)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 実施形態に係る係数有無フラグ復号部の第3の構成例の他の構成例を説明するための図であって、対象周波数成分xの位置周辺に設定された参照領域に含まれる参照周波数成分c1、c2、c5を示すものである。 実施形態に係る係数有無フラグ復号部の第8の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図48(a)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 実施形態に係る係数有無フラグ復号部の第8の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図48(b)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 実施形態に係る係数有無フラグ復号部の第8の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図48(a)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 実施形態に係る係数有無フラグ復号部の第8の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図48(b)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 実施形態に係る係数有無フラグ復号部の第8の構成例の他の構成例によるコンテキストインデックス導出処理を説明するための図であって、図48(a)~(b)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 実施形態に係る係数有無フラグ復号部の第8の構成例のコンテキスト更新遅延除去を考慮した構成例によるコンテキストインデックス導出処理を説明するための図である。 実施形態に係る係数有無フラグ復号部の第8の構成例のコンテキスト更新遅延除去を考慮した構成例によるコンテキストインデックス導出処理を説明するための図である。 実施形態に係る係数有無フラグ復号部の第8の構成例のコンテキスト更新遅延除去を考慮した構成例によるコンテキストインデックス導出処理を説明するための図であって、図48(a)~(b)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 実施形態に係る係数有無フラグ復号部の第8の構成例のコンテキスト更新遅延除去を考慮した構成例によるコンテキストインデックス導出処理を説明するための図であって、図48(a)~(b)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスを導出する導出処理を示す擬似コードである。 本発明の実施形態に係る動画像復号装置3の備える量子化残差情報復号部の構成を示すブロック図である。 従来技術の符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。 従来技術の符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。 実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。 実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の通常構成を示す図である。 実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第1の簡略化構成を示す図である。 実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第2の簡略化構成を示す図である。 実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第3の簡略化構成を示す図である。 実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第4の簡略化構成を示す図である。 実施形態に係る符号化データの量子化残差情報に含まれるシンタックスを示すシンタックステーブルの後半部分の第5の簡略化構成を示す図である。 実施形態に係る符号化データの量子化残差情報に含まれるシンタックスcoeff_abs_minusを示すシンタックスの構成を示す図である。 実施形態に係る簡略化処理フラグcabac_lowcomp_flagの導出処理を示すフローチャートである。 実施形態に係る簡略化処理フラグcabac_lowcomp_flagの導出処理の詳細処理を示すフローチャートである。 本発明の実施形態に係る動画像符号化装置3の備える量子化残差情報符号化部の構成を示すブロック図である。 実施形態に係る係数有無フラグ符号化部Y224の構成を示すブロック図である。
 本発明に係る復号装置および符号化装置の一実施形態について図面に基づいて説明すれば以下のとおりである。なお、本実施形態に係る復号装置は、符号化データから動画像を復号するものである。したがって、以下では、これを「動画像復号装置」と呼称する。また、本実施形態に係る符号化装置は、動画像を符号化することによって符号化データを生成するものである。したがって、以下では、これを「動画像符号化装置」と呼称する。
 ただし、本発明の適用範囲はこれに限定されるものではない。すなわち、以下の説明からも明らかなように、本発明の特徴は複数のフレームを前提としなくとも成立するものである。すなわち、動画像を対象とするか静止画像を対象とするかを問わず、復号装置一般および符号化装置一般に適用できるものである。
 (符号化データ#1の構成)
 図2を用いて、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成例について説明する。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
 シーケンスレイヤでは、処理対象のシーケンスを復号するために、動画像復号装置1が参照するデータの集合が規定されている。シーケンスレイヤにはシーケンスパラメータセットSPS、ピクチャパラメータセットPPS、ピクチャPICTを含んでいる。
 符号化データ#1におけるピクチャレイヤ以下の階層の構造を図2に示す。図2の(a)~(d)は、それぞれ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、ツリーブロック(Tree block)TBLKを規定するツリーブロックレイヤ、ツリーブロックTBLKに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
  (ピクチャレイヤ)
 ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図2の(a)に示すように、ピクチャヘッダPH、及び、スライスS1~SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS1~SNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ#1に含まれるデータであって、添え字を付している他のデータについても同様である。
 ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置2が符号化の際に用いた可変長符号化のモードを示す符号化モード情報(entropy_coding_mode_flag)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
 entropy_coding_mode_flagが0の場合、当該ピクチャPICTは、CAVLC(Context-based Adaptive Variable Length Coding)によって符号化されている。また、entropy_coding_mode_flagが1である場合、当該ピクチャPICTは、CABAC(Context-based Adaptive Binary Arithmetic Coding)によって符号化されている。
  (スライスレイヤ)
 スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図2の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK1~TBLKNC(NCはスライスSに含まれるツリーブロックの総数)を含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単予測、双予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
 また、スライスヘッダSHには、動画像復号装置1の備えるループフィルタによって参照されるフィルタパラメータFPが含まれている。フィルタパラメータFPは、フィルタ係数群を含んでいる。フィルタ係数群には、(1)フィルタのタップ数を指定するタップ数指定情報、(2)フィルタ係数a0~aNT-1(NTは、フィルタ係数群に含まれるフィルタ係数の総数)、および、(3)オフセットoが含まれる。
  (ツリーブロックレイヤ)
 ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
 ツリーブロックTBLKは、ツリーブロックヘッダTBLKHと、符号化単位情報CU~CUNL(NLはツリーブロックTBLKに含まれる符号化単位情報の総数)とを含む。ここで、まず、ツリーブロックTBLKと、符号化単位情報CUとの関係について説明すると次のとおりである。
 ツリーブロックTBLKは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのユニットに分割される。
 ツリーブロックTBLKの上記ユニットは、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
 以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応するユニットを、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
 つまり、符号化単位情報CU~CUNLは、ツリーブロックTBLKを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
 また、符号化ツリーのルート(root)は、ツリーブロックTBLKに対応付けられる。換言すれば、ツリーブロックTBLKは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
 なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード(すなわち、当該符号化ノードの1階層上位のノードのユニット)のサイズの縦横とも半分である。
 また、各符号化ノードの取り得るサイズは、符号化データ#1のシーケンスパラメータセットSPSに含まれる、符号化ノードのサイズ指定情報および最大階層深度(maximum hierarchical depth)に依存する。例えば、ツリーブロックTBLKのサイズが64×64画素であって、最大階層深度が3である場合には、当該ツリーブロックTBLK以下の階層における符号化ノードは、4種類のサイズ、すなわち、64×64画素、32×32画素、16×16画素、および8×8画素の何れかを取り得る。
  (ツリーブロックヘッダ)
 ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
 ツリーブロック分割情報SP_TBLKは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各CUの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
 なお、ツリーブロック分割情報SP_TBLKは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報SP_TBLKは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各CUの形状やサイズを特定できる。
 また、量子化パラメータ差分Δqpは、対象ツリーブロックにおける量子化パラメータqpと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータqp’との差分qp-qp’である。
  (CUレイヤ)
 CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
 ここで、符号化単位情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
 予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
 予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
 予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
 イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
 また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、N×2N、および、N×Nなどがある。
 また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
 変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
  (符号化単位情報のデータ構造)
 続いて、図2の(d)を参照しながら符号化単位情報CUに含まれるデータの具体的な内容について説明する。図2の(d)に示すように、符号化単位情報CUは、具体的には、スキップモードフラグSKIP、CU予測タイプ情報Pred_type、PT情報PTI、および、TT情報TTIを含む。
   [スキップフラグ]
 スキップフラグSKIPは、対象CUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、その符号化単位情報CUにおけるPT情報PTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
   [CU予測タイプ情報]
 CU予測タイプ情報Pred_typeは、CU予測方式情報PredModeおよびPU分割タイプ情報PartModeを含む。CU予測タイプ情報のことを単に予測タイプ情報と呼ぶこともある。
 CU予測方式情報PredModeは、対象CUに含まれる各PUについての予測画像生成方法として、イントラ予測(イントラCU)、および、インター予測(インターCU)のいずれを用いるのかを指定するものである。なお、以下では、対象CUにおける、スキップ、イントラ予測、および、インター予測の種別を、CU予測モードと称する。
 PU分割タイプ情報PartModeは、対象符号化単位(CU)の各PUへの分割のパターンであるPU分割タイプを指定するものである。以下、このように、PU分割タイプに従って、対象符号化単位(CU)を各PUへ分割することをPU分割と称する。
 PU分割タイプ情報PartModeは、例示的には、PU分割パターンの種類を示すインデックスであってもよいし、対象予測ツリーに含まれる各PUの形状、サイズ、および、対象予測ツリー内での位置が指定されていてもよい。
 なお、選択可能なPU分割タイプは、CU予測方式とCUサイズに応じて異なる。また、さらにいえば、選択可能できるPU分割タイプは、インター予測およびイントラ予測それぞれの場合において異なる。また、PU分割タイプの詳細については後述する。
 また、Iスライスでない場合、PU分割タイプ情報PartModeの値およびPU分割タイプ情報PartModeの値は、ツリーブロックの分割(partition)、予測方式、およびCUの分割(split)の方法の組み合わせを指定するインデックス(cu_split_pred_part_mode)によって特定されるようになっていてもよい。
   [PT情報]
 PT情報PTIは、対象CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合である。上述のとおり予測画像の生成は、PUを単位として行われるので、PT情報PTIは、動画像復号装置1によって予測画像が生成される際に参照される。PT情報PTIは、図2の(d)に示すように、各PUにおける予測情報等を含むPU情報PUI~PUINP(NPは、対象PTに含まれるPUの総数)を含む。
 予測情報PUIは、予測タイプ情報Pred_modeが何れの予測方法を指定するのかに応じて、イントラ予測パラメータPP_Intra、または、インター予測パラメータPP_Interを含む。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
 インター予測パラメータPP_Interは、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータを含む。
 インター予測パラメータPP_Interとしては、例えば、マージフラグ(merge_flag)、マージインデックス(merge_idx)、推定動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測フラグ(inter_pred_flag)、および動きベクトル残差(mvd)が挙げられる。
 イントラ予測パラメータPP_Intraは、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータを含む。
 イントラ予測パラメータPP_Intraとしては、例えば、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスが挙げられる。
 なお、イントラ予測パラメータには、PCMモードを用いるか否かを示すPCMモードフラグが含まれていてもよい。PCMモードフラグが符号化されている場合であって、PCMモードフラグがPCMモードを用いることを示しているときには、予測処理(イントラ)、変換処理、および、エントロピー符号化の各処理が省略される。
   [TT情報]
 TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことをブロックと称することもある。
 TT情報TTIは、図2の(d)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TU、および、TU情報TUI1~TUINT(NTは、対象CUに含まれるブロックの総数)を含んでいる。
 TT分割情報SP_TUは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TUは、対象となるノードの分割を行うのか否かを示す情報(split_transform_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
 また、例えば、CUのサイズが、64×64の場合、分割により得られる各TUは、32×32画素から4×4画素までのサイズを取り得る。
 TU情報TUI1~TUINTは、TTに含まれる1または複数のTUそれぞれに関する個別の情報である。例えば、TU情報TUIは、量子化予測残差(量子化残差とも呼ぶ)を含んでいる。
 各量子化予測残差は、動画像符号化装置2が以下の処理1~3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
 処理1:符号化対象画像から予測画像を減算した予測残差を周波数変換(例えばDCT変換(Discrete Cosine Transform))する;
 処理2:処理1にて得られた変換係数を量子化する;
 処理3:処理2にて量子化された変換係数を可変長符号化する;
 なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
  (PU分割タイプ)
 PU分割タイプには、対象CUのサイズを2N×2N画素とすると、次の合計8種類のパターンがある。すなわち、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(asymmetric splittings)である。なお、N=2(mは1以上の任意の整数)を意味している。以下、対称CUを分割して得られる領域のことをパーティションとも称する。
 図3の(a)~(h)に、それぞれの分割タイプについて、CUにおけるPU分割の境界の位置を具体的に図示している。
 図3の(a)は、CUの分割を行わない2N×2NのPU分割タイプを示している。また、図3の(b)、(c)、および(d)は、それぞれ、PU分割タイプが、それぞれ、2N×N、2N×nU、および、2N×nDである場合のパーティションの形状について示している。また、図3の(e)、(f)、および(g)は、それぞれ、PU分割タイプが、N×2N、nL×2N、および、nR×2Nである場合のパーティションの形状について示している。また、図3の(h)は、PU分割タイプが、N×Nである場合のパーティションの形状を示している。
 図3の(a)および(h)のPU分割タイプのことを、そのパーティションの形状に基づいて、正方形分割とも称する。また、図3の(b)~(g)のPU分割タイプのことは、非正方形分割とも称する。
 また、図3の(a)~(h)において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
   [インター予測の場合の分割タイプ]
 インターPUでは、上記8種類の分割タイプのうち、N×N(図3の(h))以外の7種類が定義されている。なお、上記4つの非対称的分割は、AMP(Asymmetric Motion Partition)と呼ばれることもある。
 また、Nの具体的な値は、当該PUが属するCUのサイズによって規定され、nU、nD、nL、および、nRの具体的な値は、Nの値に応じて定められる。例えば、128×128画素のインターCUは、128×128画素、128×64画素、64×128画素、64×64画素、128×32画素、128×96画素、32×128画素、および、96×128画素のインターPUへ分割することが可能である。
   [イントラ予測の場合の分割タイプ]
 イントラPUでは、次の2種類の分割パターンが定義されている。すなわち、対象CUを分割しない、すなわち対象CU自身が1つのPUとして取り扱われる分割パターン2N×2Nと、対象CUを、4つのPUへと対称的に分割するパターンN×Nと、である。
 したがって、イントラPUでは、図3に示した例でいえば、(a)および(h)の分割パターンを取ることができる。
 例えば、128×128画素のイントラCUは、128×128画素、および、64×64画素のイントラPUへ分割することが可能である。
  (TU分割タイプ)
 次に、図4を用いて、TU分割タイプについて説明する。TU分割のパターンは、CUのサイズ、分割の深度(trafoDepth)、および対象PUのPU分割タイプにより定まる。
 また、TU分割のパターンには、正方形の4分木分割と、非正方形の4分木分割とが含まれる。
 図4の(a)~(c)は、正方形のノードを正方形または非正方形に4分木分割する分割方式について示している。より具体的には、図4の(a)は、正方形のノードを正方形に4分木分割する分割方式を示している。また、同図の(b)は、正方形のノードを横長の長方形に4分木分割する分割方式を示している。そして、同図の(c)は、正方形のノードを縦長の長方形に4分木分割する分割方式を示している。
 また、図4の(d)~(g)は、非正方形のノードを正方形または非正方形に4分木分割する分割方式について示している。より具体的には、図4の(d)は、横長の長方形のノードを横長の長方形に4分木分割する分割方式を示している。また、同図の(e)は、横長の長方形のノードを正方形に4分木分割する分割方式を示している。また、同図の(f)は、縦長の長方形のノードを縦長の長方形に4分木分割する分割方式を示している。そして、同図の(g)は、縦長の長方形のノードを正方形に4分木分割する分割方式を示している。
 (量子化残差情報QDの構成)
 図5は、量子化残差情報QD(図5ではresidual_coding_cabac()と表記)に含まれる各シンタックスを示す表である。
 図5に示すように、量子化残差情報QDは、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_minus3を含んでいる。
 量子化残差情報QDに含まれる各シンタックスは、コンテキスト適応型2値算術符号化(CABAC:(Context-based Adaptive Binary Arithmetic Coding))によって符号化されている。
 以下では、図5~図6を参照して、ブロックサイズが8×8画素である場合を例にとり、各シンタックスの復号手順について説明する。図6(a)~(g)の横軸は、水平方向周波数xC(0≦xC≦7)を表しており、縦軸は、垂直方向周波数yC(0≦yC≦7)を表している。以下の説明では、周波数領域に含まれる各部分領域のうち、水平方向周波数xC、および、垂直方向周波数yCによって指定される部分領域を、周波数成分(xC、yC)とも呼称する。また、周波数成分(xC、yC)についての変換係数をCoeff(xC、yC)とも表記する。変換係数Coeff(0、0)は、DC成分を示しており、それ以外の変換係数は、DC成分以外の成分を表している。本明細書において、(xC、yC)を(u、v)や(uiPosX、uiPosY)などと表記することもある。
 図6(a)~(b)は、8×8の周波数成分よりなる周波数領域FRにおけるスキャン順の例を示す図である。
 図6(a)に示す例では、低周波数側(図6(a)において左上)から高周波数側(図6(a)において右下)に向かって順次スキャンが行われる。また、図6(a)に示す例では、周波数領域FR内に示す矢印に沿ってスキャンが行われる。図6(a)に示すスキャン順を、順スキャンと呼ぶこともある。
 一方で、図6(b)に示す例では、高周波数側(図6(b)において右下)から低周波数側(図6(b)において左上)に向かって順次スキャンが行われる。また、図6(b)に示す例では、周波数領域FR内に示す矢印に沿ってスキャンが行われる。図6(b)に示すスキャン順を、逆スキャンと呼ぶこともある。
 図6(c)は、8×8の周波数成分よりなる周波数領域における0でない変換係数(非0変化係数)を例示する図である。
 シンタックスlast_significant_coeff_x及びlast_significant_coeff_yは、順スキャン方向に沿って最後の非0変換係数の位置を示すシンタックスである。図6(c)に示す例の場合、last_significant_coeff_x=6、last_significant_coeff_y=0である。
 シンタックスsignificant_coeff_flagは、非0変換係数を起点として逆スキャン方向に沿った各周波数成分について、非0変換係数の有無を示すシンタックスである。図6(d)は、復号対象の変換係数が、図6(c)に示すものである場合のシンタックスsignificant_coeff_flagの値を示している。図6(d)に示すように、シンタックスsignificant_coeff_flagは、各xC、yCについて、変換係数が0であれば0、変換係数が0でなければ1をとるフラグである。なお、シンタックスsignificant_coeff_flagを変換係数有無フラグとも呼称する。
 シンタックスcoeff_abs_level_greater1_flagは、変換係数の絶対値が1を越えるものであるのか否かを示すフラグであり、シンタックスsignificant_coeff_flagの値が1である周波数成分について符号化される。変換係数の絶対値が1を越えるものであるとき、coeff_abs_level_greater1_flagの値は1であり、そうでないときにcoeff_abs_level_greater1_flagの値は0である。
 シンタックスcoeff_abs_level_greater2_flagは、変換係数の絶対値が2を越えるものであるのか否かを示すフラグであり、coeff_abs_level_greater1_flagの値が1であるときに符号化される。変換係数の絶対値が2を越えるものであるとき、coeff_abs_level_greater2_flagの値は1であり、そうでないときにcoeff_abs_level_greater2_flagの値は0である。
 シンタックスcoeff_abs_level_minus3は、変換係数の絶対値が3以上である場合に、当該変換係数の絶対値を指定するためのシンタックスであり、coeff_abs_level_greater2_flagの値が1であるときに符号化される。シンタックスcoeff_abs_level_minus3の値は、変換係数の絶対値から3を引いたものである。例えば、coeff_abs_level_minus3=1は、変換係数の絶対値が4であることを示している。
 図6(e)は、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_minus3を復号することによって得られた各変換係数の絶対値を示している。
 シンタックスcoeff_sign_flagは、変換係数の符号(正であるのか負であるのか)を示すフラグであり、シンタックスsignificant_coeff_flagの値が1である周波数成分について符号化される。
 図6(f)は、復号対象の変換係数が、図6(c)に示すものである場合のシンタックスcoeff_sign_flagを示す図である。図6(f)に示すように、シンタックスcoeff_sign_flagは、変換係数が正である場合に1をとり、変換係数が負である場合に0をとるフラグである。
 動画像復号装置1の備える可変長符号復号部11は、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_minus3を復号することにより、各周波数成分についての変換係数Coeff(xC、yC)を生成することができる。
 なお、特定の領域(例えばTU)内の非0変換係数の集合をsignificance mapと呼ぶこともある。
 また、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_minus3の復号は、周波数領域における各周波数成分を、1または複数のグループにグループ分けした後、グループ毎に行なわれる。図6(g)は、8×8の周波数成分よりなる周波数領域におけるグループ分けの例を示している。各種シンタックスの復号処理の詳細については、後述することとし、続いて動画像復号装置1の構成について説明を行う。
 (動画像復号装置1)
 以下では、本実施形態に係る動画像復号装置1について図1、図7~図25を参照して説明する。動画像復号装置1は、H.264/MPEG-4 AVC規格に採用されている技術、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、TMuC(Test Model under Consideration)ソフトウェアに採用されている技術、および、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している復号装置である。
 図7は、動画像復号装置1の構成を示すブロック図である。図7に示すように、動画像復号装置1は、可変長符号復号部11、予測画像生成部12、逆量子化・逆変換部13、加算器14、フレームメモリ15、および、ループフィルタ16を備えている。また、図7に示すように、予測画像生成部12は、動きベクトル復元部12a、インター予測画像生成部12b、イントラ予測画像生成部12c、および、予測方式決定部12dを備えている。動画像復号装置1は、符号化データ#1を復号することによって動画像#2を生成するための装置である。
 (可変長符号復号部11)
 図8は、可変長符号復号部11の要部構成を示すブロック図である。図8に示すように、可変長符号復号部11は、量子化残差情報復号部111、予測パラメータ復号部112、予測タイプ情報復号部113、および、フィルタパラメータ復号部114を備えている。
 可変長符号復号部11は、予測パラメータ復号部112にて、各パーティションに関する予測パラメータPPを、符号化データ#1から復号し、予測画像生成部12に供給する。具体的には、予測パラメータ復号部112は、インター予測パーティションに関しては、参照画像インデックス、推定動きベクトルインデックス、及び、動きベクトル残差を含むインター予測パラメータPP_Interを符号化データ#1から復号し、これらを動きベクトル復元部12aに供給する。一方、イントラ予測パーティションに関しては、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスを含むイントラ予測パラメータPP_Intraを符号化データ#1から復号し、これらをイントラ予測画像生成部12cに供給する。
 また、可変長符号復号部11は、予測タイプ情報復号部113にて、各パーティションについての予測タイプ情報Pred_typeを符号化データ#1から復号し、これを予測方式決定部12dに供給する。更に、可変長符号復号部11は、量子化残差情報復号部111にて、ブロックに関する量子化残差情報QD、及び、そのブロックを含むTUに関する量子化パラメータ差分Δqpを符号化データ#1から復号し、これらを逆量子化・逆変換部13に供給する。また、可変長符号復号部11は、フィルタパラメータ復号部114にて、符号化データ#1からフィルタパラメータFPを復号し、これをループフィルタ16に供給する。なお、量子化残差情報復号部111の具体的な構成については後述するためここでは説明を省略する。
 (予測画像生成部12)
 予測画像生成部12は、各パーティションについての予測タイプ情報Pred_typeに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Pred_Interを生成すると共に、生成したインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像Pred_Intraを生成すると共に、生成したイントラ予測画像Pred_Intraを加算器14に供給する。なお、予測画像生成部12は、処理対象PUに対してスキップモードが適用されている場合には、当該PUに属する他のパラメータの復号を省略する。
 (動きベクトル復元部12a)
 動きベクトル復元部12aは、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差と、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルを導出し、(2)導出した推定動きベクトルと動きベクトル残差とを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、フレームメモリ15から読み出すことができる。動きベクトル復元部12aは、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部12bに供給する。
 (インター予測画像生成部12b)
 インター予測画像生成部12bは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部12aから供給された動きベクトルmvを用いて、同じく動きベクトル復元部12aから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ16によるフィルタ処理を施すことによって得られる画像であり、インター予測画像生成部12bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ15から読み出すことができる。インター予測画像生成部12bによって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部12dに供給される。
 (イントラ予測画像生成部12c)
 イントラ予測画像生成部12cは、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、まず、可変長符号復号部11から供給されたイントラ予測パラメータPP_Intraに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。
 ここで、イントラ予測パラメータPP_Intraに基づく予測モードの特定は、以下のように行うことができる。(1)推定予測モードフラグを復号し、当該推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一であることを示している場合には、対象パーティションに対して、当該対象パーティションの周辺のパーティションに割り付けられた予測モードを割り付ける。(2)一方で、推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一でないことを示している場合には、残余予測モードインデックスを復号し、当該残余予測モードインデックスの示す予測モードを対象パーティションに対して割り付ける。
 イントラ予測画像生成部12cは、対象パーティションに割り付けられた予測モードの示す予測方法に従って、画面内予測によって、(局所)復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部12cによって生成されたイントラ予測画像Pred_Intraは、予測方式決定部12dに供給される。なお、イントラ予測画像生成部12cは、画面内予測によって、適応フィルタ済復号画像P_ALFから予測画像Pred_Intraを生成する構成とすることも可能である。
 (予測方式決定部12d)
 予測方式決定部12dは、各パーティションが属するPUについての予測タイプ情報Pred_typeに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部12bにて生成されたインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像生成部12cにて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器14に供給する。
 (逆量子化・逆変換部13)
 逆量子化・逆変換部13は、(1)符号化データ#1の量子化残差情報QDから復号された変換係数Coeffを逆量子化し、(2)逆量子化によって得られた変換係数Coeff_IQに対して逆DCT(Discrete Cosine Transform)変換等の逆周波数変換を施し、(3)逆周波数変換によって得られた予測残差Dを加算器14に供給する。なお、量子化残差情報QDから復号された変換係数Coeffを逆量子化する際に、逆量子化・逆変換部13は、可変長符号復号部11から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化及び逆周波数変換したTUに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化ステップqpから例えばQP=2pq/6によって導出できる。また、逆量子化・逆変換部13による予測残差Dの生成は、TUあるいはTUを分割したブロックを単位として行われる。
 なお、逆量子化・逆変換部13によって行われる逆DCT変換は、例えば、対象ブロックのサイズが8×8画素である場合、当該対象ブロックにおける画素の位置を(i、j)(0≦i≦7、0≦j≦7)とし、位置(i、j)における予測残差Dの値をD(i、j)と表すことにし、周波数成分(u、v)(0≦u≦7、0≦v≦7)における逆量子化された変換係数をCoeff_IQ(u、v)を表すことにすると、例えば、以下の数式(1)によって与えられる。
Figure JPOXMLDOC01-appb-M000001
 
ここで、(u、v)は、上述した(xC、yC)に対応する変数である。C(u)およびC(v)は、以下のように与えられる。
 ・C(u)=1/√2 (u=0)
 ・C(u)=1    (u≠0)
 ・C(v)=1/√2 (v=0)
 ・C(v)=1    (v≠0)
 (加算器14)
 加算器14は、予測画像生成部12から供給された予測画像Predと、逆量子化・逆変換部13から供給された予測残差Dとを加算することによって復号画像Pを生成する。生成された復号画像Pは、フレームメモリ15に格納される。
 (ループフィルタ16)
 ループフィルタ16は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive Loop Filter)としての機能とを有している。
 (量子化残差情報復号部111)
 量子化残差情報復号部111は、符号化データ#1に含まれる量子化残差情報QDから、各周波数成分(uiPosX、uiPosY)についての量子化された変換係数Coeff(uiPosX、uiPosY)を復号するための構成である。ここで、uiPosXおよびuiPosYは、周波数領域における各周波数成分の位置を表すインデックスであり、それぞれ、上述した水平方向周波数uおよび垂直方向周波数vに対応するインデックスである。また、量子化残差情報QDに含まれる各種のシンタックスは、コンテキスト適応型2値算術符号化(CABAC:(Context-based Adaptive Binary Arithmetic Coding))によって符号化されている。なお、以下では、量子化された変換係数Coeffを、単に、変換係数Coeffと呼ぶこともある。
 図1は、量子化残差情報復号部111の構成を示すブロック図である。図1に示すように、量子化残差情報復号部111は、変換係数復号部120及び算術符号復号部130を備えている。
 (算術符号復号部130)
 算術符号復号部130は、量子化残差情報QDに含まれる各ビットをコンテキストを参照して復号するための構成であり、図1に示すように、コンテキスト記録更新部131及びビット復号部132を備えている。
 (コンテキスト記録更新部131)
 コンテキスト記録更新部131は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数CVを記録及び更新するための構成である。ここで、コンテキスト変数CVには、(1)発生確率が高い優勢シンボルMPS(most probable symbol)と、(2)その優勢シンボルMPSの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
 コンテキスト記録更新部131は、変換係数復号部120の備える各部から供給されるコンテキストインデックスctxIdx及びビット復号部132によって復号されたBinの値を参照することによってコンテキスト変数CVを更新すると共に、更新されたコンテキスト変数CVを次回更新されるまで記録する。なお、優勢シンボルMPSは0か1である。また、優勢シンボルMPSと確率状態インデックスpStateIdxは、ビット復号部132がBinを1つ復号する毎に更新される。
 また、コンテキストインデックスctxIdxは、各周波数成分についてのコンテキストを直接指定するものであってもよいし、処理対象のTU毎に設定されるコンテキストインデックスのオフセットからの増分値であってもよい(以下同様)。
 なお、CABACの復号では上記処理の他に、バイパス(Bypass)と呼ばれる復号処理を用いることができる。バイパスの場合には、コンテキスト変数CVを用いず、確率0.5を仮定して復号を行う。この場合、コンテキスト変数CVの備える状態の更新は不要になり、コンテキストのアップデートに伴う遅延を削減することができる。なお、バイパスを使用するか否かは、ctxIdxが負の場合にバイパス、ctxIdxが非負の場合には、ctxIdxに応じてCVを選択する非バイパスとして動作させればよい。なお、バイパスで復号処理された符号を、コンテキストを用いないCABACの算術符号とも呼ぶ。なお、バイパスはEP符号化(等確率、Equal Probability符号化)とも呼ばれることがある。
 (ビット復号部132)
 ビット復号部132は、コンテキスト記録更新部131に記録されているコンテキスト変数CVを参照し、量子化残差情報QDに含まれる各ビット(Binとも呼ぶ)を復号する。また、復号して得られたBinの値を変換係数復号部120の備える各部に供給する。また、復号して得られたBinの値は、コンテキスト記録更新部131にも供給され、コンテキスト変数CVを更新するために参照される。
 なお、通常ビット復号部は、コンテキスト変数CVの状態に応じて1ビット単位で復号処理を行うが、バイパスの場合には、複数ビットを同時に復号することができる。1サイクルで複数ビットを復号可能なバイパスは、スループットを大きく向上させることができる。
 (変換係数復号部120)
 図1に示すように、変換係数復号部120は、ラスト位置復号部121、スキャン順テーブル格納部122、係数復号制御部123、係数有無フラグ復号部、係数値復号部125、復号係数記憶部126を備えている。
 (ラスト位置復号部121)
 ラスト位置復号部121は、ビット復号部132より供給される復号ビット(Bin)を解釈し、シンタックスlast_significant_coeff_x及びlast_significant_coeff_yを復号する。復号したシンタックスlast_significant_coeff_x及びlast_significant_coeff_yは、係数復号制御部123に供給される。また、シンタックスlast_significant_coeff_x及びlast_significant_coeff_yの復号に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
 (スキャン順テーブル格納部122)
 スキャン順テーブル格納部122には、処理対象のTUのサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。
 このようなスキャン順テーブルの一例としては、図5に示したScanOrderが挙げられる。図5に示したScanOrderにおいて、log2TrafoSize-2は、処理対象のTUのサイズを表しており、scanIdxはスキャンインデックスを表しており、nは、スキャン順に沿って付与された周波数成分識別インデックスを表している。また、図5において、xC及びyCは、処理対象の周波数成分の周波数領域における位置を表している。
 (係数復号制御部123)
 係数復号制御部123は、量子化残差情報復号部111の備える各部における復号処理の順序を制御するための構成である。係数復号制御部123は、ラスト位置復号部121から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部122に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置(uniPosX、uniPosY)を、係数有無フラグ復号部に供給する。
 また、係数復号制御部123は、処理対象のTUのサイズ、すなわち、対象周波数領域のサイズを示すパラメータであるszを、変換係数復号部120の備える各部に供給する(図示省略)。ここで、szは、具体的には、処理対象TUの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表すパラメータである。
 なお、係数復号制御部123は、スキャン順テーブル格納部122に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置(uniPosX、uniPosY)を、係数有無フラグ復号部に供給する構成としてもよい。
 (係数値復号部125)
 係数値復号部125は、ビット復号部132から供給される各Binを解釈し、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_minus3を復号すると共に、これらのシンタックスを復号した結果に基づき、処理対象の周波数成分における変換係数(より具体的には非0変換係数)の値を導出する。また、各種シンタックスの復号に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。導出された変換係数の値は、復号係数記憶部126に格納される。
 (復号係数記憶部126)
 復号係数記憶部126は、係数値復号部125によって復号された変換係数の各値を記憶しておくための構成である。また、復号係数記憶部126には、係数有無フラグ復号部によって復号されたシンタックスsignificant_coeff_flagの各値が記憶される。復号係数記憶部126によって記憶されている変換係数の各値は、逆量子化・逆変換部13に供給される。
 (係数有無フラグ復号部)
 本実施形態に係る係数有無フラグ復号部は、周波数領域を、周波数の大きさに応じて1または複数の部分領域に分類し、部分領域毎に定められた導出方法によってコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを用いて非0変換係数の有無を示すシンタックスsignificant_coeff_flagを復号するための構成である。
 <係数有無フラグ復号部の第1の構成例>
 図1には、本実施形態に係る係数有無フラグ復号部の第1の構成例としての係数有無フラグ復号部124が示されている。
 図1に示すように、本構成例に係る係数有無フラグ復号部124は、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、高周波位置コンテキスト導出部124dを備えている。
 (周波数分類部124a)
 周波数分類部124aは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、及び高周波位置コンテキスト導出部124dの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付けるための構成である。
 本構成例に係る周波数分類部124aは、周波数領域に含まれる各周波数成分の当該周波数領域における位置(uiPosX、uiPosY)を参照し、当該周波数成分を複数の部分領域R0~R3に分類する。ここで、uiPosX=0、1、...、sz-1であり、uiPosY=0、1、...、sz-1であるとする(szは、上述のように処理対象TUの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表しており、例えば、sz=16,32等である)。
 周波数分類部124aは、より具体的には、以下の分類処理を行う。
 ・uiPosX+uiPosY<2を満たす周波数成分を部分領域R0に分類する。
 ・2≦uiPosX+uiPosY<TH1を満たす周波数成分を部分領域R1に分類する。
 ・TH1≦uiPosX+uiPosY<TH2を満たす周波数成分を部分領域R2に分類する。
 ・TH2≦uiPosX+uiPosYを満たす周波数成分を部分領域R3に分類する。
 ここで、TH1及びTH2は、TH1<TH2を満たす閾値を表している。具体的な値としては、例えば、周波数領域のサイズ(処理対象TUのサイズ)に関わらず、TH1=5、TH2=14とすればよい。また、周波数領域のサイズが16×16である場合、TH1=5、TH2=14とし、周波数領域のサイズが32×32である場合、TH1=5、TH2=30としてもよい。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
 図9は、本構成例に係る周波数分類部124aによる分類処理によって、部分領域R0、R1、R2、及びR3に分割された周波数領域の一例を示している。
 また、周波数分類部124aは、部分領域R0に属する周波数成分に対して、低周波位置コンテキスト導出部124bによって導出されたコンテキストインデックスを割り付け、部分領域R1及びR2に属する周波数成分に対して、周辺参照コンテキスト導出部124cによって導出されたコンテキストインデックスを割り付け、部分領域R3に属する周波数成分に対して、高周波位置コンテキスト導出部124dによって導出されたコンテキストインデックスを割り付ける。
 なお、TH2の値を、sz-2以下とすることは、周辺参照コンテキスト導出部124cにおいて、後述するように、対象周波数成分の周辺の周波数成分が参照可能か否かの判定を省略することができるため好ましい。換言すれば、周辺参照コンテキストの導出に用いる全ての参照画素が処理対象TUの内部に収まるような周波数成分に関しては周辺参照コンテキストを用い、そうでない周波数成分に関しては位置コンテキストを用いることが好ましい。
 なお、TH2の値をsz-2とするのが好適であるのは、周辺の周波数成分が対象の位置として2だけ離れた位置の成分も用いる場合である。限定参照カウントの算出方法の説明で後述するように、周辺の周波数成分が対象の位置から1だけ離れた位置の成分を用いる場合にはTH2の値をsz-1とすれば良い。
 なお、発明者の実験によると、実施形態1で説明する位置コンテキスト場合には、高い符号化効率を得るためには、TH2の値をsz以上とすることが好ましい。
 また、発明者の実験によると、実施形態3で説明する限定参照カウントを利用した周辺参照コンテキストの場合には、TH2の値をsz-2以下とすることが可能であり好ましい。なお、sz-2とする場合には、TH2を、sz-2で求める方法の他、sz×7>>3のように積和で求めることもできる。
 なお、閾値の値は、sz毎に定まるテーブルを参照することにより求める構成とすることができる。例えば、サイズの対数log2(sz)の値は、周波数領域のサイズが16×16の場合に4、32×32の場合に5となるが、以下のテーブルtableTH2[]を、サイズの対数の値で参照することにより定数TH2を算出できる。
 tableTH2[] = {0, 0, 0, 0, 14, 30}
 TH2= table[log2(sz)]
 閾値をszサイズから計算で求める場合には、テーブルを削減できることが可能である。例えば、TH2=sz-2のように、サイズと所定の定数との差もしくは和で計算する方法や、TH2=sz×7/8、TH2=sz×7>>3のように、サイズと定数の積および除算、シフトにより求める方法が望ましい。
 また、上記の説明においては、周波数分類部124aが、対象周波数成分の位置として(uiPosX、uiPosY)を参照するものとしたが、本実施形態はこれに限定されるものではない。例えば、対象周波数成分の位置として、順スキャン順または逆スキャン順に沿って付与された周波数成分識別インデックス(例えば図5における「n」)を参照し、対象周波数成分を複数の部分領域の何れかに分類する構成としてもよい。
 また、周波数分類部124aは、算術符号復号部130でシンタックスsignificant_coeff_flagを復号するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部126に格納され、係数値復号部125によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
 (低周波位置コンテキスト導出部124b)
 低周波位置コンテキスト導出部124bは、復号対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出するための構成である。本明細書において、対象周波数成分の位置に基づいて導出された、或いは導出するコンテキストを「位置コンテキスト」とも表現する。位置コンテキストは、ある変換係数の位置の係数有無フラグのコンテキストを、既に復号された係数有無フラグの値によらずに決定されるものであるため、係数有無フラグのコンテキスト導出と、係数有無フラグの復号を並列で行うことができるという効果がある。
 本構成例に係る低周波位置コンテキスト導出部124bは、部分領域R0に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+2×uiPosX + uiPosY
 なお、NXはコンテキストインデックスの開始点を表す定数である。周波数領域のサイズが4×4及び8×8で用いるコンテキスト数が各々N4個、N8個の場合には、周波数領域のサイズが16×16および32×32の開始点はNX=N4+N8になる。
 なお、位置コンテキスト導出部のコンテキストインデックスは固定値であっても構わない。すなわち、位置コンテキストを用いて割り当てられる部分領域に含まれる全ての周波数成分の位置に対して一つのコンテキストを割り当てても良い。例えば、以下の割り当て方を行っても良い。
  ctxIdx=NX
 なお、固定値(開始点NX)は、色コンポーネントや周波数領域のサイズに応じて選択しても良い。
 以降に説明する他の構成においても、コンテキストインデックスを固定値で導出するコンテキスト導出部を含めて、位置コンテキスト導出部と呼ぶ。実際、変換係数の位置に応じて、部分領域の分類を行った上で、ある部分領域においてコンテキストインデックスに固定値を割り当てる方法は、位置に応じてコンテキストを割り当てている、という意味で位置コンテキストと呼べる。
 (周辺参照コンテキスト導出部124c)
 周辺参照コンテキスト導出部124cは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非0変換係数の数に基づいて導出するための構成である。本明細書において、対象周波数成分の周辺の周波数成分について復号済みの非0変換係数を参照して導出された、或いは導出するコンテキストを「周辺参照コンテキスト」とも表現する。
 本構成例に係る周辺参照コンテキスト導出部124cは、部分領域R1に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+3+min(4、cnt)
 ここでは、カウント数cntを固定値(ここでは4)にクリップする処理によって多対一変換処理を行っている。
 ここで部分領域R1のコンテキストインデックスの開始点がNX+3であるのは、以下の理由による。部分領域R1の開始点からのオフセット2×uiPosX + uiPosYの値域が0、1、2であることから、NX、NX+1、NX+2が部分領域R1で使用されているため、R1とR0のコンテキストが重ならないように、R1の開始点を定めている。以後、特に断らない限り、部分領域RN+1の開始点は、部分領域RNの開始点と部分領域RNのオフセットの閾値の最大値+1に設定することとする。これにより、2つの部分領域でコンテキストが重ならないようにすることができる。
 また、本構成例に係る辺参照コンテキスト導出部124cは、部分領域R2に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+8+min(4、cnt)
 ここで、min(A、B)は、A及びBのうち最小のものの値をとる関数である。すなわち、A<Bであれば、min(A、B)=Aである。また、cntは、対象周波数成分の周辺の周波数成分について復号された非0変換係数の数(カウント数)を表している。図10(a)は、処理順序が逆スキャン順である場合の対象周波数成分xと、対象周波数成分xの位置周辺に設定された参照領域RRに含まれる周波数成分である参照周波数成分c1~c5とを表している。図10(a)に示すように、参照周波数成分の各々について復号された変換係数の値をc1~c5と表すことにすると、対象周波数成分xについてのcntは、例えば以下の式によって導出することができる。
  cnt=(c1!=0)+(c2!=0)+(c3!=0)+(c4!=0)+(c5!=0)
ここで、各項は、()内の引数が真である場合に1をとり、()内の引数が偽である場合に0をとるものとする。
 図10(b)は、処理順序が順スキャン順である場合の対象周波数成分xと、対象周波数成分xの位置周辺に設定された参照領域RRに含まれる周波数成分である参照周波数成分c1~c5とを表している。cntを算出する式は上記と同様である。図10(b)に示すように、順スキャンの場合の参照周波数成分の位置は、逆スキャンの場合の参照周波数成分の各々の位置を、対象周波数成分xに対して、X軸方向およびY軸方向に反転することにより求められる。
 また、図10(c)に示すように、参照周波数成分の何れかが周波数領域の外部にはみ出した場合、すなわち、参照領域の一部が対象周波数領域の外側にはみ出した場合、当該外部にはみ出した周波数成分を参照不能であると判定し、当該周波数成分についての変換係数の値は0であるとして取り扱う。すなわち、図10(c)に示す例の場合、c2=0であるとして取り扱う。
 (高周波位置コンテキスト導出部124d)
 高周波位置コンテキスト導出部124dは、復号対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出するための構成である。
 本構成例に係る高周波位置コンテキスト導出部124dは、部分領域R3に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+13+min(maxR3、(uiPosX+uiPosY-TH2)>>shift)
 ここで、記号「>>」は、右ビットシフトを表している。また、shift及びmaxR3としては、例えば、shift=4、maxR3=3を用いればよいが本実施形態はこれに限定されるものではない。
 また、本構成例に係る低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、及び高周波位置コンテキスト導出部124dは、対象周波数領域のサイズが16×16及び32×32の何れであっても、共通の式を用いてコンテキストインデックスctxIdxを導出する構成としてもよいし、対象周波数領域のサイズが16×16であるのか32×32であるのかに応じて、異なる式を用いてコンテキストインデックスctxIdxを導出する構成としてもよい。このような構成の一例としては、高周波位置コンテキスト導出部124dが、
 対象周波数領域のサイズが16×16である場合:
  ctxIdx=NX+13+min(maxR3、(uiPosX+uiPosY-TH2)>>shift)
を用い、
 対象周波数領域のサイズが32×32である場合:
  ctxIdx=NX+13+maxR3+1+min(maxR3、(uiPosX+uiPosY-TH2)>>shift)
を用いる構成が挙げられる。
 また、他の例としては、高周波位置コンテキスト導出部124dが、
 対象周波数領域のサイズが16×16である場合:
  ctxIdx=NX+13+min(3、(uiPosX+uiPosY-14)>>4)
を用い、
 対象周波数領域のサイズが32×32である場合:、
  ctxIdx=NX+13+min(3、(uiPosX+uiPosY-30)>>4)
を用いる構成が挙げられる。
 更に他の例としては、高周波位置コンテキスト導出部124dが、
 対象周波数領域のサイズが16×16である場合:
  ctxIdx=NX+13+min(3、(uiPosX+uiPosY-TH2)>>3)
を用い、
 対象周波数領域のサイズが32×32である場合:
  ctxIdx=NX+13+min(3、(uiPosX+uiPosY-TH2)>>4)
を用いる構成が挙げられる。
 更に他の例としては、高周波位置コンテキスト導出部124dが、
 対象周波数領域のサイズが16×16である場合:
  ctxIdx=NX+13+min(R3maz、(uiPosX+uiPosY-TH2)>>3)
を用い、
 対象周波数領域のサイズが32×32である場合:
  ctxIdx=NX+13+R3max+1+min(R3max、(uiPosX+uiPosY-TH2)>>4)
を用いる構成が挙げられる。
 また、低周波位置コンテキスト導出部124b、及び高周波位置コンテキスト導出部124dが、周波数領域のサイズ毎に異なる式を用いてコンテキストインデックスctxIdxを導出する構成とし、周辺参照コンテキスト導出部124cが、異なるサイズの周波数領域に対して共通の式を用いてコンテキストインデックスctxIdxを導出する構成としてもよい。
 なお、本構成例に係る周波数分類部124aによる分類処理によって、分割される周波数領域の例は、図9に示すものに限定されるものではなく、例えば、図11(a)及び(b)に示すように周波数領域を分割してもよい。
 なお、位置コンテキスト導出部のコンテキストインデックスは固定値であっても構わない。すなわち、位置コンテキストを用いて割り当てられる部分領域の全ての周波数上の位置に対して一つのコンテキストを割り当てても良い。例えば、以下の割り当て方についても位置コンテキスト導出部と呼ぶ。
  ctxIdx=NX
 なお、固定値(開始点NX)は、色コンポーネントや周波数領域のサイズに応じて選択しても良い。
 図11(a)に示す例においては、周波数領域は、部分領域R0、R1、及びR3に分類される。部分領域R0、R1、及びR3に属する周波数成分に対しては、上述したように、それぞれ、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c及び高周波位置コンテキスト導出部124dによってコンテキストインデックスctxIdxが算出される。
 また、図11(b)に示す例においては、周波数領域は、部分領域R1及びR3に分類される。部分領域R1及びR3に属する周波数成分に対して、上述したように、それぞれ、周辺参照コンテキスト導出部124c及び高周波位置コンテキスト導出部124dによってコンテキストインデックスctxIdxが算出される。
 以上のように、本構成例に係る係数有無フラグ復号部によれば、対象周波数領域における上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 <係数有無フラグ復号部の第2の構成例>
 本実施形態に係る係数有無フラグ復号部の第2の構成例について、図12、13を参照して説明する。図12は、本構成例に係る係数有無フラグ復号部124-1の構成を示すブロック図である。また、図13は、非0変換係数カウント部124fが非0変換係数の数をカウントするスキャン列を説明するための図である。
 図12に示すように、本構成例に係る係数有無フラグ復号部124-1は、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、前スキャン列コンテキスト導出部124eを備え、さらに前スキャン列コンテキスト導出部124eには非0変換係数カウント部124fが備えられている。なお、上記第1の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
 本構成例において、上記第1の構成例と異なるのは、部分領域R3に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法である。
 したがって、本構成例においても、部分領域R0に属する周波数成分に対しては、上記第1の構成例と同様に、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+2×uiPosX + uiPosY
 また、部分領域R1に属する周波数成分に対しては、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+3+min(4、cnt)
 また、部分領域R2に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+8+min(4、cnt)
 一方、部分領域R3に属する周波数成分に対しては、前スキャン列コンテキスト導出部124eが以下の方法により、コンテキストインデックスctxIdxを導出する。
 (前スキャン列コンテキスト導出部124e)
 前スキャン列コンテキスト導出部124eは、復号対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、スキャン順で1つ前のスキャン列に含まれる非0変換係数の数に基づいて導出するための構成である。
 また前スキャン列コンテキスト導出部124eに含まれる非0変換係数カウント部124fは、1つ前のスキャン列において出現した非0変換係数の数を計数する構成である。
 本構成例に係る前スキャン列コンテキスト導出部124eは、部分領域R3に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+13+min(maxR3、last_cnt×linetbl[uiPosX+uiPosY]>>shift)
 ここで、last_cntは、1つ前のスキャン列において出現した非0変換係数の数を示している。また、linetblは、スキャン列によって存在する非0変換係数の数が異なることから、非0変換係数の数を正規化するための係数テーブルであり、以下の式により生成される。
  linetbl(x)=2shift1/(x+1) (x<sz)
  linetbl(x)=2shift1/(2×sz-x-1) (x≧sz)
 また、shift=shift1+2であり、例えば、shift1=3である(以下同様)。
 また、本構成例に係る非0変換係数カウント部124fは、スキャン順が逆スキャンの場合であって、対象周波数成分が属するスキャン列Lx(図13(a))を処理する場合に、前のスキャン列Lx+1で発生した非0変換係数の数last_cntをカウントする。なお、順スキャンの場合は、Lx-1のラインで発生した非0変換係数の数をカウントすることになる。
 また、前スキャン列コンテキスト導出部124eは、1つ前のスキャン列において出現した非0変換係数の数ではなく、1つ前のスキャン列以前において出現した非0変換係数の数を用いる構成であってもよい。例えば、last_cntを、現スキャン列の非0変換係数の数curr_cntに、1つ前のスキャン列において用いたlast_cnt´に重みをかけた値last_cnt´>>1を加えて求める構成であってもよい。具体的な式としては、
  last_cnt=(last_cnt´>>1)+curr_cnt
となる。
 また、前スキャン列コンテキスト導出部124eは、周波数成分の位置に応じて、異なる方法によりコンテキストインデックスctxIdxを導出する構成であってもよい。
 例えば、周波数成分の位置が、uiPosX>uiPosYを満たす場合は、下記の式によってコンテキストインデックスctxIdxを導出する。
  CtxIdx=13+min(maxR3,last_cntx×linetbl[uiPosX+uiPosY]>>shift)
 一方、周波数成分の位置が、uiPosX≦uiPosYを満たす場合は、下記の式によりコンテキストインデックスctxIdxを導出する。
  CtxIdx=NX+13+maxR3+1+min(maxR3,last_cnty×linetbl[uiPosX+uiPosY]>>shift)
 ここで、last_cntxは、uiPosX>uiPosYを満たす、1つ前のスキャン列で出現した非0変換係数の数であり、last_cntyは、uiPosX≦uiPosYと満たす、1つ前のスキャン列で出現した非0変換係数の数である。すなわち、1つ前のスキャン列のうち、中央より右上方向のスキャン列がlast_cntxのカウントの対象となり、中央より左下方向のスキャン列がlast_cntyのカウントの対象となる(図13(b))。
 また、shift=shift1+1である。
 さらに、前スキャン列コンテキスト導出部124eは、以下の式によりコンテキストインデックスctxIdxを導出する構成であってもよい。
  CtxIdx=13+min(maxR3,last_cnt>>shifttbl[uiPosX+uiPosY+1])
 ここで、
  shifttbl[k]=Int(log(numLineCoeff[k]/maxR3))
であり、numLineCoeff[k]はkの位置のスキャン列における非0変換係数の数である。また、Intは、引数の小数点以下を切り捨てることを示している。
 以上のように、本構成例に係る係数有無フラグ復号部によれば、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非0変換係数の数に基づいて導出する。ここで、前スキャン列に沿った非0変換係数の数は、一度カウントしておけば、現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを導出する際に共通に用いることができる。したがって、位置の異なる変換係数有無フラグに対して個別にコンテキストインデックスを導出する必要のある従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現することができる。
 <係数有無フラグ復号部の第3の構成例>
 本実施形態に係る係数有無フラグ復号部の第3の構成例について、図14、15を参照して説明する。図14は、本構成例に係る係数有無フラグ復号部124-2の構成を示すブロック図である。また、図15(a)~(i)は、周辺参照コンテキスト導出部124gがコンテキストを導出するときに参照する周波数成分を示す図である。なお、図10(a)と図10(b)の関係において既に示したように、図15(a)~(i)の場合においても、対応する順スキャンの場合の参照周波数成分の位置は、逆スキャンの場合の参照周波数成分の各々の位置を、対象周波数成分xに対して、X軸方向およびY軸方向に反転することで求められる。そのため、本発明は、significant_coeff_flagを順スキャンで行う場合にも適用することができる。
 図14に示すように、本構成例に係る係数有無フラグ復号部124-2は、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124gを備えている。なお、上記第1の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
 本構成例において、上記第1の構成例と異なるのは、部分領域R3に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法である。
 したがって、本構成例においても、部分領域R0に属する周波数成分に対しては、上記第1の構成例と同様に、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+2×uiPosX + uiPosY
 また、部分領域R1に属する周波数成分に対しては、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+3+min(4、cnt)
 また、部分領域R2に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+8+min(4、cnt)
 一方、部分領域R3に属する周波数成分に対しては、周辺参照コンテキスト導出部124gが以下の方法により、コンテキストインデックスctxIdxを導出する。
 (周辺参照コンテキスト導出部124g)
 周辺参照コンテキスト導出部124gは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非0変換係数の数に基づいて導出するための構成である。
 周辺参照コンテキスト導出部124gは、低周波数の領域R1、R2で用いるcntよりも参照数の少ないcnt2(限定参照カウント)を用いて、部分領域R3に属する周波数成分に対して、以下の式によりコンテキストインデックスctxIdxを導出する。なお限定参照カウントとは、他の部分領域でも用いられるカウントよりも参照領域が小さく限定されていることを意味する。それに対して5点参照など通常のカウントcntの計算を通常参照カウントと呼ぶ。
  CtxIdx=NX+8+cnt2
また、cnt2は、以下の式により算出する。
  cnt2=(c1!=0)+(c3!=0)+(c4!=0)
ここで、c1、c3、c4は、図15の(i)に示す、対象周波数成分xの周辺の周波数成分について復号された変換係数である。
 なお、限定参照カウントcnt2の参照位置は上記によらず、5点よりも参照数が少ない別の参照位置を用いても良い。例えば、参照数が2の場合の一例は、
  cnt2=(c1!=0)+(c3!=0)
になる。
 さらに、対象周波数領域のサイズが16×16の場合は、周辺参照コンテキスト導出部124gは、
  CtxIdx=NX+8+cnt2
を用いてコンテキストインデックスctxIdxを導出し、対象周波数領域のサイズが32×32の場合は、
  CtxIdx=NX+8+cnt2
を用いて、コンテキストインデックスctxIdxを導出する。
 このように、低周波側に位置する領域の参照数よりも、高周波数側に位置する領域の参照数の方が少ないカウント数を用い、カウント数を領域毎に定まる開始点に加算して、コンテキストインデックスを求めることが好ましい。
 上記の例において、部分領域R3のコンテキストの開始点はNX+8であり、部分領域R2のコンテキストの開始点と等しい。これはカウント数cntとcnt2が同じ値の場合には部分領域R2と部分領域R3とで同じコンテキストインデックスCtxIdxとなることを意味する。換言すれば、部分領域R2と部分領域R3は同じコンテキストを共有する。このように、異なる周波数領域に位置する領域間で同じコンテキストを共有する場合、先にスキャンする領域(significant_coeff_flagの符号化順が逆スキャンであればR3)で得られたコンテキストを、次にスキャンする領域(significant_coeff_flagの符号化順が逆スキャンであればR2)で利用することができるため高い符号化効率を実現できる。また、部分領域に分割した場合においても、コンテスト数を増加させることないため、コンテキストに伴うメモリを低減することができる。
 図16は、対象周波数領域を構成する部分領域R0~R3のうち、部分領域R2とR3とで一部のコンテキストを共有する場合を示している。より具体的には、部分領域R2で用いられる通常参照カウントと、部分領域R3で用いられる限定参照カウントとで同じコンテキストインデックス(ここではNX+8~NX+11)で示されるコンテキストを共有することを示している。
 発明者の実験では、カウント数の小さい領域(部分領域R2)とカウント数の大きい領域(部分領域R3)で同一の開始点を用い、2つの領域でコンテキストを共有する方が、コンテキストを共有しない場合に比べて高い符号化効率を実現可能であることを確認している。なお、これら2つの領域でコンテキストを共有しない方法も実現可能である。この場合、部分領域R3において、
  CtxIdx=NX+13+cnt2
とする。
 以上のように、本構成例に係る周辺参照コンテキスト導出部124gは、部分領域毎に定まる所定の開始点(例えば、上記NX)と、上記部分領域毎に定まる変数(例えば上記cnt2)とを加算することによってコンテキストインデックスを導出するものであり、上記変数の導出方法の異なる複数の部分領域について、開始点を同じ値に設定することにより、コンデキストインデックスの導出方法の異なる当該複数の部分領域において、共通のコンテキストを用いるものである。
 (係数有無フラグ復号部の第3の構成例の他の構成例)
 以下では、係数有無フラグ復号部124-2による他の処理例について図48~図50を参照して説明する。
 図48(a)~(b)は、本処理例において、周波数分類部124aによって分割された部分領域を示す図であり、図48(a)は、輝度値に関する変換係数を復号する際に好適に適用されるものであり、図48(b)は、色差に関する変換係数を復号する際に好適に適用されるものである。図48(a)~(b)において、閾値TH、閾値TH2は、以下の式により、対象周波数領域の幅と高さの最大値に応じて
  TH=Max(width、height)>>2
  TH2=3×Max(width、height)>>4
によって定められる。ここで、widthは、周波数成分を単位として表現された対象周波数領域の幅を示しており、heightは周波数成分を単位として表現された対象周波数領域の高さを示している。例えば16×4変換と呼ばれる対象周波数領域の幅が16成分(16画素に対応)、高さが4成分(4画素に対応)であるとき、width=16、height=4である。
 周波数分類部124aは、図49に示すように、対象変換係数の周波数成分上の位置(xC、yC)に応じて、以下の式のように、X座標とY座標の和と閾値THの比較を用いて、部分領域R1と部分領域R2を分類する。
 xC+yC < TH (or xC+yC >= TH)
 また、周波数分類部124aは、図49に示すように、対象変換係数の周波数成分上の位置(xC、yC)をあるサブブロックサイズ(ここでは4)で割った値(サブブロック座標)に応じて、以下の式のように、サブブロック座標でのX座標とY座標の和と閾値TH2の比較を用いて、互いに参照数の異なる部分領域R2と部分領域R3を分類する。
 (xC>>2)+(yC>>2) < TH2
 ここで2つの部分領域を区別する閾値TH2は、TH2×サブブロックサイズ(=4)が、対象周波数領域のサイズsz(=Max(width、height))よりも小さいことを満たすことが好ましい。この場合、対象周波数成分の周辺の周波数成分が参照可能か否かの判定を省略することができる。例えば、
  3×Max(width、height)>>4
はMax(width、height)×3/4であるため、この上記関係を満たす。
 また、TH2の値は、処理量削減と符号化効率削減のバランス上、Max(width、height)>>2(>>2はサブブロックサイズが4である場合に、サブブロックで割る処理)以下であることが好ましい。
 すなわち、上記対象周波数領域のサイズをszと表すとき、処理量削減と符号化効率削減のバランス上は、上記閾値THおよびTH2は、判定にX座標及びY座標の和を用いる場合にはsz以下の値、サブブロックのX座標及びY座標の和を用いる場合には、sz/サブブロック以下の大きさを有することが好ましい。上記TH、TH2はこの関係を満たす。
 さらに、上記対象周波数領域のサイズをszと表すとき、周辺の周波数成分が参照可能か否かの判定を省略するためには、上記閾値THおよびTH2は、判定にX座標及びY座標の和を用いる場合にはsz未満の値、サブブロックのX座標及びY座標の和を用いる場合には、sz/サブブロック未満の大きさを有することが好ましい。上記TH、TH2はこの関係を満たす。
 また、閾値は、対象周波数領域の大きさに応じて定めても良い。例えば、以下の式のように、対象周波数領域の幅と高さの最大値を右シフトした値、及び、右シフト後に所定の値を加算または減算した値を用いても良い
  TH2=3×Max(width、height)>>4
  TH2=(3×Max(width、height)>>4)+4
 図49は、図48(a)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスであって、輝度に関するコンテキストインデックスcxtIdxを導出する導出処理を示す擬似コードである。図49において、領域R0のコンテキスト導出は、位置コンテキスト導出部124bによって行われ、領域R1~領域R3のコンテキスト導出は、周辺参照コンテキスト導出部124gによって行われる。
 周辺参照コンテキスト導出部124gは、例えば、部分領域R1に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部124aに供給する。
  sigCtx = sigCtxOffsetR1 + Min(2, ctxCnt);
 このように、コンテキストインデックスsigCtxは、開始点sigCtxOffsetR1とオフセット値ctxCntの和により求められる。ここで、本構成のオフセット値ctxCntは、カウント数に応じて得られる値であり、ここでは、カウント数を約1/2にするように右シフトして得られる値であり
  ctxCnt=(cnt+1)>>1 ・・・(eq.A4)
によって定まる。
 なお、多対一変換する処理は、右シフトよらず、以下のようにカウント数を固定値(ここでは3)にクリップする処理でも良い。
  ctxCnt=min(3、cnt)
 この場合には、コンテキストインデックスを以下で算出する。
  sigCtx = sigCtxOffsetR1 + ctxCnt;
 なお、非0変換係数のカウント数cntを算出する際には、対象変換係数の周波数成分上の位置(xC、yC)に応じて参照する変換係数を変更しても良い。例えば、図49に示す擬似コードでは、位置に応じて、c1、c2、c3、c4、c5の5つを参照するか、もしくは、c1、c2、c4、c5の4つを参照するかを切り替える。
    if( ( ( xC & 3 ) || ( yC & 3 ) ) && ( ( (xC+1) & 3 ) || ( (yC+2) & 3 ) )))
    {
     cnt = (c1!=0) + (c2!=0) + (c4!=0) + (c5!=0);
    } else{
     cnt= (c1!=0) + (c2!=0) + (c3!=0) + (c4!=0) + (c5!=0);
    }
 また、周辺参照コンテキスト導出部124gは、例えば、部分領域R2に属する周波数成分に対しては、部分領域R1とは異なる開始点(ここではsigCtxOffsetR2)を用いて以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部124aに供給する。
  sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
なお、オフセット値ctxCntの計算方法は、部分領域R1と同様である。また、上記では、2以下にクリップする処理を加えているが、これも多対一変換処理と言える。
 また、周辺参照コンテキスト導出部124gは、例えば、高周波成分である部分領域R3に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtx を周波数分類部124aに供給する。
  sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
 部分領域R3の開始点は、部分領域R2と同じくsigCtxOffsetR2を用いる。これにより既に説明したようにコンテキスト共有により高い符号化効率と、少ないコンテキスト数を同時に実現することができる。
 ここで、オフセット数ctxCntの計算には、以下の式を用いる。
  cnt = (c1!=0) + (c5!=0); 
  ctxCnt = cnt;
 このように高周波成分の部分領域R3では、低周波数成分の部分領域R1、R2よりも少ない参照数によりカウント数cntを算出するため処理量が削減される。
 上記式では、カウント数cntの計算は、図51(a)に示すc1、c5の2点を用いて算出している。この場合、処理順で直前(処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側)に位置する座標(例えば図10(a)に示すc3)の変換係数を参照しないため、コンテキスト導出処理と復号処理とを並列に処理が可能になる。
 また、さらに並列度を高める場合には、処理順で直前だけでなく直前の直前に位置する座標(例えば図10(a)に示すc1)の変換係数をさらに参照しない方法が望ましい。この場合、以下の式のように、図51(b)に示すc2、c5の2点を用いてカウント値を算出しても良い。
  cnt = (c2!=0) + (c5!=0); 
 ここで、参照数の異なる部分領域R2及び部分領域R3において、参照数が多い方の部分領域(R2)では、右シフト等によりカウント数を多対一変換する処理(集約処理とも呼ぶ)を行ってオフセット値ctxCntを求めてコンテキストインデックスを算出するが、参照数が少ない方の部分領域(R3)では、カウント数を減らす処理を行わずにそのままコンテキストインデックスを算出する。部分領域R3では、部分領域R2に比べカウント数の集約処理を削除することができるため処理量が削減される。なお、2つの部分領域の処理上のデザイン統一を優先して、2つの部分領域で同様に集約処理を行う(部分領域R3で右シフトなどを行う)ことも構わない。なお、カウント数の多対一変換処理は、カウント数の値域を圧縮する処理であると捉えることもできる。
 色差の場合も、図48(b)の部分領域R0、部分領域R1、部分領域R3について、輝度の場合と同様の処理を行う。まず、周波数分類部124aは、図50に示すように、対象変換係数の周波数成分上の位置(xC、yC)をあるサブブロックサイズ(ここでは4)で割って得られるサブブロック座標のX座標とY座標の和と、周波数領域の幅と高さの和から計算される閾値TH2との比較により、互いに参照数の異なる部分領域R1と部分領域R3を分類する。さらに、図50に示す通り、部分領域R0では位置コンテキスト導出部124bにおいて位置コンテキストによりコンテキスト導出を行い、部分領域R1、R3では周辺参照コンテキスト導出部124gにおいて、周辺参照コンテキストによるコンテキスト導出を行う。部分領域R1と部分領域R3では、異なる参照数を用いながら、コンテキストを共有する。また、参照数の多い部分領域R1ではカウント数の集約処理を行い、参照数の少ない部分領域R2ではカウント数の集約処理を行わなずにコンテキストインデックスを導出する。
 上記の例では、高周波領域において少ないカウント数を用いるため、低周波領域における多いカウント数を用いる場合と比べて処理量を削減できる。また、少ないカウント数を用いる部分領域では、コンテキストインデックスの導出においてカウント数を右シフトもしくはクリップするなどの多対一変換処理が不要になる。そのためさらに処理量が削減される。
 上記の構成によれば、導出方法が異なる複数の部分領域において、部分領域毎に定まる開始点を等しくすることにより、コンテキスト数を増加させることがなく、また、高い符号化効率を実現したまま処理量の削減が可能である。
 なお、周辺参照コンテキスト導出部124gは、以下に示すように偏りに応じて参照する変換係数の以下を切り替えても良い。
 より具体的には、本構成例に係る周辺参照コンテキスト導出部124gは、部分領域R3に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する構成としてもよい。
  ctxIdx=NX+13+min(3、pref_y_flag? cnty:cntx)
 ここで、pref_y_flagは、変換係数の偏りを考慮して導出される垂直優先フラグpref_y_flagであり、この垂直優先フラグによりcntyとcntxのいずれを参照するかを決定する。なお、垂直優先フラグは、以下の3つの方法により、判定することができる。
 ・対象位置による判定
  uiPosY>uiPosXのときtrueとする。すなわち、
  pref_y_flag=uiPosY>uiPosX ? true:false
とする。
 ・スキャン順で非0変換係数のラストの位置による判定
  last_significant_coeff_x<last_significant_coeff_yのときtrueとする。すなわち、
  pref_y_flag=last_significant_coeff_x<last_significant_coeff_y ? true:false
とする。
 ・1つ前のスキャン列による判定
  last_cntx<last_cntyのときtrueとする。すなわち、
  pref_y_flag=last_cntx<last_cnty ? true:false
とする。
 なお、垂直優先フラグの判定は、上記3つの方法に限られるものではない。
 また、垂直優先フラグを用いる場合においても、通常参照カウントと限定参照カウントで同じコンテキストを共有することも可能である。この場合、次のように部分領域R3のコンテキストの開始点を部分領域R2の開始点と同じNX+8とすることで実現できる。
  ctxIdx=NX+8+min(3、pref_y_flag? cnty:cntx)
 また、cnty及びcntxは、対象周波数成分の周辺の周波数成分のうち、参照対象となった周波数成分について復号された非0変換係数の数を表している。cnty及びcntxを導出するために参照される周波数成分の数は2~4であり、上述したcntの参照数5よりも少ない。なお、以下では、cnty及びcntxを優先参照カウントとも呼称する。
 次に、cnty及びcntxの算出方法について、図15を参照して説明する。図15には、処理順序が順スキャン順である場合の対象周波数成分xと、その周辺の参照周波数成分について復号された変換係数(c1~c5)を示している。
 まず、参照数が4の場合を、図15の(a)、(b)に示す。参照数が4の場合は、図15の(a)に示すc1、c3、c4、c5、図15の(b)に示すc1、c2、c3、c4を参照し、下記の式によりcnty及びcntxを算出する。
  cnty=(c1!=0)+(c3!=0)+(c4!=0)+(c5!=0)
  cntx=(c1!=0)+(c2!=0)+(c3!=0)+(c4!=0)
ここで、各項は、()内の引数が真である場合に1をとり、()内の引数が偽である場合に0をとるものとする。以下、同様である。
 また、参照数が3の場合は、図15の(c)に示すc1、c3、c5、図15の(d)に示すc1、c2、c3を参照し、以下の式によりcnty及びcntxを算出する。
  cnty=(c1!=0)+(c3!=0)+(c5!=0)
  cntx=(c1!=0)+(c2!=0)+(c3!=0)
 なお、参照数が3の場合は、図15の(e)に示すc3、c4、c5、図15の(f)に示すc1、c2、c4を参照し、以下の式によりcnty及びcntxを算出してもよい。
  cnty=(c3!=0)+(c4!=0)+(c5!=0)
  cntx=(c1!=0)+(c2!=0)+(c4!=0)
 また、参照数が2の場合は、図15の(g)に示すc3、c5、図15の(h)に示すc1、c2を参照し、以下の式によりcnty及びcntxを算出してもよい。
  cnty=(c3!=0)+(c5!=0)
  cntx=(c1!=0)+(c2!=0)
 以上のように、本構成例に係る係数有無フラグ復号部によれば、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数に基づいて導出し、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さいので、低周波数側の部分領域において設定される参照領域と高周波数側の部分領域において設定される参照領域とが同じ大きさを有する従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現することができる。
 <係数有無フラグ復号部の第4の構成例>
 本実施形態に係る係数有無フラグ復号部の第4の構成例について、図17を参照して説明する。本構成例は、第1の構成例と第3の構成例をあわせた構成である。なお、上記第1~第3の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
 図17は、本構成例に係る係数有無フラグ復号部の構成を示すブロック図である。図17に示すように、本構成例に係る係数有無フラグ復号部124’は、周波数分類部124a´、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124g、および高周波位置コンテキスト導出部124dを備えている。
 本構成例において、上記第3の構成例と異なるのは、部分領域R4を新設し、R4に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法を、第1の構成例で示した位置コンテキストとすることである。
 したがって、本構成例においても、部分領域R0に属する周波数成分に対しては、上記第1の構成例と同様に、低周波位置コンテキスト導出部124bが、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+2×uiPosX + uiPosY
 また、部分領域R1に属する周波数成分に対しては、周辺参照コンテキスト導出部124gが、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+3+min(4、cnt)
 また、部分領域R2に属する周波数成分に対して、周辺参照コンテキスト導出部124gが、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+8+min(4、cnt)
 また、周辺参照コンテキスト導出部124gは、部分領域R3に属する周波数成分に対して、低周波数の領域R1、R2で用いるcntよりも参照数の少ないcnt2(限定参照カウント)を用いて、以下の式によりコンテキストインデックスctxIdxを導出する。なお、本例においても、cnt2のことを限定参照カウントとも呼称する。
  CtxIdx=NX+8+cnt2
 本構成例に係る高周波位置コンテキスト導出部124dは、部分領域R4に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+13
 上記の例では、部分領域R4のコンテキスト数は1つであるため、部分領域R4であると判定された場合に、さらにコンテキストインデックスctxIdxを導出する処理は不要である。発明者の実験では、コンテキスト数を1つとした場合にも閾値TH4を適切に定めることにより高い符号化効率を実現したまま処理量の削減が可能であることを確認している。
 上記の例では、部分領域R4のコンテキスト数が1つであるため、高周波位置コンテキスト導出部124dにおいて、固定値を用いてコンテキストインデックスを導出している。
 図18は、対象周波数領域を構成する部分領域R0~R4のうち、部分領域R2とR3とで一部のコンテキストを共有する場合を示している。より具体的には、部分領域R2で用いられる通常参照カウントと、部分領域R3で用いられる限定参照カウントとで同じコンテキストインデックス(ここではNX+8~NX+11)で示されるコンテキストを共有することを示している。図18では部分領域R4に用いるコンテキスト数を1としているが、以下のようにコンテキスト数を2つとする構成も可能である。例えば、周波数領域のサイズにより2つを区別する構成
  ctxIdx=(sz==16)? NX+13:NX+14
や、X座標とY座標の比較により2つを区別する構成
  ctxIdx=(uiPosY>uiPosX)? NX+13:NX+14
などが可能である。
 なお、第1の構成例と同じく一般に以下の形式でコンテキストを導出することも可能である。
  ctxIdx=NX+13+min(maxR3、(uiPosX+uiPosY-TH2)>>shift)
 また、図18に示すように、本実施形態で用いる周波数分類部124a´は、5つの部分領域R0~R4に分類する。より具体的には、以下の分類処理を行う。
 ・uiPosX+uiPosY<2を満たす周波数成分を部分領域R0に分類する。
 ・2≦uiPosX+uiPosY<TH1を満たす周波数成分を部分領域R1に分類する。
 ・TH1≦uiPosX+uiPosY<TH2を満たす周波数成分を部分領域R2に分類する。
 ・TH2≦uiPosX+uiPosY<TH3を満たす周波数成分を部分領域R3に分類する。
 ・TH3≦uiPosX+uiPosYを満たす周波数成分を部分領域R4に分類する。
 また、上記のTH1は例えば5とする。また、TH2とTH3は、以下の式によりszに基づいて定めることができる。
 TH2 = sz×7>>3
 TH3 = sz+6
 この周波数領域のサイズが16×16の場合にはTH2=14、TH3=22、32×32の場合にはTH2=28、TH3=38である。
 また、低QPにおける性能低下を軽減するために、閾値TH2、及びTH3を次のように設定してもよい。
 TH2 = sz
 TH3 = sz+8
 つまり、周波数領域のサイズが16×16の場合にはTH2=16、TH3=24とし、周波数領域のサイズが32×32の場合にはTH2=32、TH3=40と設定してもよい。
 なお、閾値の算出の一般式は、
 TH2 = sz×a2/b2+c2
 TH3 = sz×a3/b3+c3
である。ここで、a2、b2、c2、a3、b3、c3は所定の定数である。b2およびb3での除算はシフト演算で処理が可能である。一般に閾値を大きくする方が符号化効率は高くなるが、処理量が削減される高周波数側の部分空間R3、部分空間R4の面積が小さくなるため処理量削減の効果は減少する。
 なお、閾値の計算に用いる定数がサイズszによる場合はテーブルを参照して計算することによりサイズによる分岐を省略できる。また、定数がサイズに寄らない場合にはテーブルを参照する処理を省略できる。定数がサイズによらない場合は、以下のように求めればよい。
 TH2 = sz×a/b+c
 TH3 = sz×a/b+c
 閾値は比率a/bもしくは加算cで制御できる。閾値をa/bで制御する場合には、高周波数側の部分空間の面積と、低周波数側の部分空間の面積比は、サイズszによらないが、加算cで制御する場合にはサイズによる。発明者の実験では、32×32では16×16に比べ部分領域R4の面積比が大きくなっても良いことから、TH3の算出では加算cを用いることが適当である。このような例は、既に説明した式以外に、以下の式も適当である。
 TH2 = sz×7>>3
 TH3 = sz+12
 なお、発明者の実験によると、大きな処理量低減を得るためには、TH2はsz-2以下とすることが良く、高い符号化効率を実現するにはTH3はsz以上とすることが良い。例えば、以上の式以外に、以下の式が適当である。また、TH2=sz-1とする場合にも、部分領域R1において対象周波数成分の周辺の周波数成分が参照可能か否かの判定を省略することができる。このため、処理量低減効果は若干低減するものの、保守的にするならばTH2=sz-1としても良い。
 TH2 = sz×7>>3
 TH3 = sz×11>>3
 以上のように、本構成例に係る係数有無フラグ復号部によれば、所定の閾値TH2より高周波数側の部分領域では、各変換係数有無フラグに割り付けるコンテキストインデックスの取り得る値の範囲が、低周波数側の部分領域において設定される上記参照領域において取り得る値の範囲よりも小さいため、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。さらに別の閾値TH3より高周波数側の部分領域においては、コンテキストインデックスを位置に基づいて導出するので、さらに処理量を削減することができる。
 また、以上の構成の一形態では、カウント数の導出方法が異なる2つの部分領域において、部分領域毎に定まる開始点を等しくすることにより、コンテキスト数を増加させることがなく、また、高い符号化効率を実現したまま処理量の削減が可能である。
 また、以上の構成の一形態では、位置に基づいて導出する場合のコンテキスト数を1つ、もしくは、2つと少ない値としている。これにより、コンテキスト数の増加を最小限に抑え、さらにコンテキストを区別する処理量が少なく、高い符号化効率を実現したまま処理量の削減が可能である。
 以上のように、本構成例に係る係数有無フラグ復号部において、周波数分類部124a´は、対象周波数領域を、処理対象の変換係数有無フラグの位置に応じて、少なくとも3つの部分領域に分類するものであり、周辺参照コンテキスト導出部124gは、第1の部分領域(部分領域R1またはR2)では、復号済みの非0変換係数をN1個(N1は自然数)参照し、第2の部分領域(部分領域R3)では、復号済みの非0変換係数をN2個(N2はN2<N1を満たす自然数)参照することによって、コンテキストインデックスを導出し、第3の部分領域(部分領域R4)では、高周波位置コンテキスト導出部124dが、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出する。
 上記の構成によれば、コンテキストインデックスを参照するために参照する復号済みの非0変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置に基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 <係数有無フラグ復号部の第5の構成例>
 本実施形態に係る係数有無フラグ復号部の第5の構成例について、図19~図21を参照して説明する。図19は、本構成例に係る係数有無フラグ復号部124-3の構成を示すブロック図である。また、図20は、非0変換係数の数をカウントするスキャン列を説明するための図である。また、図21(a)~(c)は、コンテキストを導出するときに産参照する対象を説明するための図である。
 図19に示すように、本構成例に係る係数有無フラグ復号部124-3は、周波数分類部124a、低周波位置コンテキスト導出部124b、高周波領域コンテキスト導出部124hを備え、さらに、高周波領域コンテキスト導出部124hには、周辺参照コンテキスト導出部124iおよび前スキャン列コンテキスト導出部124eが備えられている。また、前スキャン列コンテキスト導出部124eには、非0変換係数カウント部124fが備えられている。なお、上記第1~第3の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
 本構成例において、上記第1の構成例と異なるのは、部分領域R3に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法である。
 したがって、本構成例においても、部分領域R0に属する周波数成分に対しては、上記第1の構成例と同様に、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+2×uiPosX + uiPosY
 また、部分領域R1に属する周波数成分に対しては、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+3+min(4、cnt)
 また、部分領域R2に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+8+min(4、cnt)
 一方、部分領域R3に属する周波数成分に対しては、高周波領域コンテキスト導出部124hが以下の方法により、コンテキストインデックスctxIdxを導出する。
 (高周波領域コンテキスト導出部124h)
 高周波領域コンテキスト導出部124hは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非0変換係数の数、および1つ前のスキャン列に含まれる非0変換係数の数に基づいて導出するための構成である。
 高周波領域コンテキスト導出部124hの備える周辺参照カウント部124iは、対象周波数成分に隣接する復号済みの変換係数を参照し、以下の式を用いて、cnt2’を導出する。なお、cnt2’のことを限定参照カウントとも呼称する。
  cnt2’=(c1!=0)+(c3!=0)
ここで、c1、c3は、図21の(a)に示す、対象周波数成分xの周辺の周波数成分について復号された変換係数である。
 高周波領域コンテキスト導出部124hの備える前スキャン列非0変換係数カウント部124jは、以下の式を用いて、cnt3を導出する。
  cnt3=(last_cnt>THc)? 1:0
ここで、閾値THcとしては、例えば、THc=1を用いればよいが、これは本実施形態を限定するものではなく、THcとして、uiPosX、uiPosYに依存する閾値を用いてもよい。より具体的には、対象周波数成分が属するスキャン列に沿った周波数成分の数と正の相関を有する閾値を用いてもよい。
 また、last_cntは、上述のように、1つ前のスキャン列において出現した非0変換係数の数を示している。
 また、前スキャン列非0変換係数カウント部124jは、以下の式を用いて、cnt3を導出する構成としてもよい。
  cnt3=(last_cnt2>THc)? 1:0
ここで、last_cnt2は、2つ前のスキャン列において出現した非0変換係数の数を示している。
 図20は、スキャン順が逆スキャン順である場合の、処理対象のスキャン列Lx、1つ前のスキャン列Lx+1及び2つ前のスキャン列Lx+2の例を示している。
 前スキャン列非0変換係数カウント部124jは、現スキャン列に関する処理が終了した後、次のスキャン列に関する処理を行う際に、例えば、以下のように、last_cnt、last_cnt2を更新する。
  last_cnt2=last_cnt
  last_cnt=curr_cnt
ここで、curr_cntは、上述のように、現スキャン列の非0変換係数の数を表している。
 本構成例に係る周辺参照コンテキスト導出部124hは、周辺参照カウント部124iによって導出したcnt2’、及び前スキャン列非0変換係数カウント部124jによって導出されたcnt3を参照し、部分領域R3に属する周波数成分に対して、以下の式を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+13+min(3、cnt2’+cnt3)
 以上のように、本構成例に係る係数有無フラグ復号部によれば、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非0変換係数の数と、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数とに基づいて導出するものであり、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さいので、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量をより効果的に削減できると共に、高い符号化効率を実現することができる。
 なお、周辺参照カウント部124iは、以下の式を用いて、cnt2’を導出する構成としてもよい。
  cnt2’=pref_y_flag? cnty’:cntx’
ここで、優先参照カウントcnty’は、例えば、図21(b)に示す参照周波数成分について復号済みの変換係数c3、c5を用いて、
  cnty’=(c3!=0)+(c5!=0)
によって導出する構成としてもよいし、図21(c)に示す参照周波数成分について復号済みの変換係数c1、c2を用いて、
  cntx’=(c1!=0)+(c2!=0)
によって導出する構成としてもよい。
 <係数有無フラグ復号部の第6の構成例>
 本実施形態に係る係数有無フラグ復号部の第6の構成例について、図22を参照して説明する。図22は、本構成例に係る係数有無フラグ復号部124-4の構成を示すブロック図である。
 図22に示すように、本構成例に係る係数有無フラグ復号部124-4は、周波数分類部124a、低周波位置コンテキスト導出部124b、及び周辺参照コンテキスト導出部124kを備えている。なお、上記第1~第4の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
 本構成例において、上記第1の構成例と異なるのは、部分領域R1~R3に属する周波数成分に対するコンテキストインデックスctxIdxの導出方法である。
 したがって、本構成例においても、部分領域R0に属する周波数成分に対しては、上記第1の構成例と同様に、以下の式を用いてコンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+2×uiPosX + uiPosY
 一方、部分領域R1に属する周波数成分に対しては、周辺参照コンテキスト導出部124kが以下の方法により、コンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+3+min(4、pref_y_flag? cnty:cntx)
 また、部分領域R2に属する周波数成分に対しては、周辺参照コンテキスト導出部124kが以下の方法により、コンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+8+min(4、pref_y_flag? cnty:cntx)
 また、部分領域R3に属する周波数成分に対しては、周辺参照コンテキスト導出部124kが以下の方法により、コンテキストインデックスctxIdxを導出する。
  ctxIdx=NX+13+min(4、pref_y_flag? cnty:cntx)
 ここで、pref_y_flag、cnty、cntxについては上述したためここでは説明を省略する。
 以上のように、本構成例に係る係数有無フラグ復号部によれば各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数に基づいて導出するものであり、上記参照領域に含まれる復号済みの変換係数の数は、4以下であるので、従来の構成よりも少ない数の復号済みの変換係数を参照すれば足りる。したがって、上記の構成によれば、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現できる。
 (変換係数復号部120の他の構成例1)
 以上、本実施形態に係る変換係数復号部120について、主に係数有無フラグ復号部の構成例を中心に説明したが、本実施形態に係る変換係数復号部120の構成は、上記の例に限られるものではない。
 例えば、符号化データ#1のシーケンスパラメータセットSPSに、高周波数成分の符号化を制限するフラグ(制限フラグ)high_coeff_restriction_flagを含める構成としてもよい。このような構成の場合、変換係数復号部120は、当該フラグhigh_coeff_restriction_flagを復号し、high_coeff_restriction_flag=0である場合には、処理対象の周波数領域に含まれる全ての周波数成分についての変換係数を復号し、high_coeff_restriction_flag=1である場合には、下記の条件
  uiPosX+uiPosY<TH2
を満たす周波数成分についての変換係数のみを復号するよう制限する構成とする。
 また、処理対象のTUが特定のサイズ(例えば、32×32や16×16)である場合にのみ、上記の制限を適用する構成としてもよい。
 図23は、処理対象の周波数領域において、uiPosX+uiPosY<TH2を満たす周波数成分よりなる領域R0’と、それ以外の領域R1’とを示す図である。図23において、領域R0’に含まれる周波数成分については変換係数が復号され、領域R1’に含まれる周波数成分については変換係数は復号されず、一律に既定値(例えば0)に設定される。
 また、上記閾値TH2は、例えば、固定値としてTH2=14を用いる構成としてもよいし、閾値TH2の値を示すシンタックスを符号化データ#1に含める構成としてもよい。
 閾値TH2の値を示すシンタックスとしては、例えば、(TH2-14)/2の値を示すシンタックスsps_coeff_restriction_value_minus14_div2を用いればよい。
 また、レベルに応じて、上記の制限を適用するか、しないかを決定する構成としてもよい。ここで、レベルとは、シンタックスで用いられる値の範囲を制限する制限を意味する。レベルは0から所定の値までの制限に区分けされ、小さい値のレベルの方が厳しい制限となるようにする。レベルは、特に復号の複雑さを制限するために用いられ、画像の幅や高さ、フレームレートなどが制限対象のシンタックスに含まる。また、プロファイルは、使用するツールの制限に用いられる。ツールによってシンタックスが異なる場合にはプロファイルによりシンタックスが変化する。レベルはプロファイル毎に定められる。なお、プロファイルおよびレベルは、例えば、シーケンスパラメータセットで符号化するものとするが、これに限られるものではない。
 例えば、図24(a)に示すように、レベルが0~2の場合には、制限ありとし、レベルが3以上の場合には、制限なしとする構成としてもよい。
 さらに、レベルに応じて適応的に閾値を変更する構成としてもよい。例えば、図24(b)に示すように、レベルが0か1である場合には、上記制限でTH2=14としたものを適用し、レベルが2である場合には、上記制限でTH2=22としたものを適用し、レベルが3である場合には、上記制限でTH2=30としたものを適用し、レベルが4である場合には、制限を適用しない構成としてもよい。
 なお、シンタックスで用いられる値の範囲を制限する場合にも、制限する範囲を判定する判定式として、周波数領域の位置のX座標とY座標の和と閾値との比較を行う以下の式の他、
  uiPosX+uiPosY<TH2
 周波数領域の位置をサブブロックの大きさ(ここでは4)で割って得られるサブブロック位置を用いて、以下の式のように、サブブロック座標のX座標とY座標の和と閾値との比較を行っても良い。
  (uiPosX>>2)+(uiPosY>>2)<(TH2>>2)
 すなわち、上記対象周波数領域のサイズをszと表すとき、処理量削減と符号化効率削減のバランス上は、上記閾値THおよびTH2は、判定にX座標及びY座標の和を用いる場合にはsz以下の値、サブブロックのX座標及びY座標の和を用いる場合には、sz/サブブロック以下の大きさを有することが好ましい。上記TH、TH2はこの関係を満たす。
 さらに、上記対象周波数領域のサイズをszと表すとき、周辺の周波数成分が参照可能か否かの判定を省略するためには、上記閾値THおよびTH2は、判定にX座標及びY座標の和を用いる場合にはsz未満の値、サブブロックのX座標及びY座標の和を用いる場合には、sz/サブブロック未満の大きさを有することが好ましい。上記TH、TH2はこの関係を満たす。
 また、閾値は、対象周波数領域の大きさに応じて定めても良い。例えば、以下の式のように、対象周波数領域の幅と高さの最大値を右シフトした値、及び、右シフト後に所定の値を加算または減算した値を用いても良い。
  TH2=3×Max(width、height)>>4
  TH2=(3×Max(width、height)>>4)+4
 上記のように構成された符号化データ#1によれば、各単位領域に対応する各対象周波数領域における高周波数側の変換係数を復号するか否かを示す制限フラグを含んでおり、変換係数復号部120は、上記制限フラグが、高周波数側の変換係数を復号しないことを示している場合には、当該高周波数側の変換係数の復号処理を省略することができるので、変換係数を復号するための処理量が削減される。
 (変換係数復号部120の他の構成例2)
 また、対象TUのサイズが8×8画素等の比較的小さいサイズである場合、変換係数復号部120の備える係数有無フラグ復号部は、以下の式を用いてコンテキストインデックスctxIdxを導出し、各周波数成分に割り付ける構成としてもよい。
  ctxIdx=N8+4×tbl[uiPosY]+tbl[uiPosX]
ここで、
  tbl={0、1、1、2、2、3、3、3}
である。
 ここで、N8は、周波数領域のサイズが8×8の場合のコンテキストインデックスの開始点である。
 本構成例に係る係数有無フラグ復号部は、ビット復号部132から供給されるBinを解釈し、復号対象の周波数成分に割り付けられたコンテキストインデックスctxIdxを用いて、当該復号対象の周波数成分についてのシンタックスsignificant_coeff_flagを復号する。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部126に格納され、係数値復号部125によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
 図25(a)は、比較例に係る係数有無フラグ復号部によって導出されたコンテキストインデックスctxIdxの各値を示しており、図25(b)は、本構成例に係る係数有無フラグ復号部によって導出されたコンテキストインデックスctxIdxの各値を示している。
 ここで、比較例に係る係数有無フラグ復号部は、コンテキストインデックスctxIdxを、
  ctxIdx=N8+4×tbl[uiPosY]+tbl[uiPosX]
  tbl={0、0、1、1、2、2、3、3}
によって導出するものである。
 図25(b)に示すように、本構成例に係る係数有無フラグ復号部は、比較例に係る係数有無フラグ復号部に比べて、低周波数成分に対して、よりきめ細かくコンテキストインデックスctxIdxを付与する。
 また、図25(b)に示すように、本構成例に係る係数有無フラグ復号部は、高周波数成分側よりも、低周波数成分側をより小さな領域に分割し、各領域に対して互いに異なるコンテキストインデックスctxIdxを付与する。
 本構成例に係る係数有無フラグ復号部は、上記の構成をとることによって、低周波数成分側のsignificant_coeff_flagを効率的に復号することができるので、符号化効率が向上する。
 なお、本構成例に係る係数有無フラグ復号部によるコンテキストインデックスctxIdxの導出処理は、上記の例に限られるものではなく、例えば、PosX=0近傍の周波数成分を細かく分割するように、以下の式を用いてctxIdxHを算出し、その各値をコンテキストインデックスctxIdxに設定する構成としてもよい。
  ctxIdxH=N8+4×(uiPosY>>1)+tbl[uiPosX]
  tbl={0、1、1、2、2、3、3、3}
 図25(c)は、本構成例に係る係数有無フラグ復号部によって導出されたctxIdxHの例を示している。
 このような構成をとることによって、PosX=0近傍の周波数成分についてのsignificant_coeff_flagを効率的に復号することができるので、符号化効率が向上する。
 また、PosY=0近傍の周波数成分を細かく分割するように、以下の式を用いてctxIdxVを算出し、その各値をコンテキストインデックスctxIdxに設定する構成としてもよい。
  ctxIdxV=N8+4×tbl[uiPosY]+(uiPosX>>1)
  tbl={0、1、1、2、2、3、3、3}
 図25(d)は、本構成例に係る係数有無フラグ復号部によって導出されたctxIdxVの例を示している。
 このような構成をとることによって、PosY=0近傍の周波数成分についてのsignificant_coeff_flagを効率的に復号することができるので、符号化効率が向上する。
 また、本構成例に係る係数有無フラグ復号部は、上述した垂直優先フラグpref_y_flagの値を参照し、その値に応じて、ctxIdxVを用いるのか、ctxIdxHを用いるのかを切り替える構成としてもよい。より具体的には、
  ctxIdx=pref_y_flag? ctxIdxV:ctxIdxH
によってコンテキストインデックスctxIdxを導出する構成としてもよい。
 このような構成とすることによって、変換係数の偏りに応じて、より適切なコンテキストインデックスctxIdxを用いることができるので、符号化効率が向上する。
 以上のように、本構成例に係る係数有無フラグ復号部は、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割し、各部分領域に対して、互いに異なるコンテキストインデックスを割り付けるコンテキストインデックス割り付け、各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグを、該変換係数有無フラグが属する部分領域に割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するものであり、上記複数の部分領域のうち低周波数側の部分領域は、高周波数側の部分領域よりも小さいので、低周波数側の領域に対して、コンテキストインデックスをきめ細かく割り当てることができる。したがって、上記の構成によれば、低周波数側のシンタックスを効率的に復号することができるので、符号化効率が向上する。
 (サブブロック単位での係数有無フラグの復号処理例)
 本実施形態に係る係数有無フラグ復号部は、周波数領域の全体を1つのブロック(変換ブロック)として係数有無フラグを復号するのではなく、周波数領域の全体を示す1つのブロックをたとえば4×4のサブブロックに分割し、サブブロックの単位で係数有無フラグを復号する構成としてもよい。
 図32はサブブロックスキャンを示す図である。ここで、サブブロックスキャンとは、サブブロックを単位とするスキャンのことを指す。係数有無フラグ復号部は、図32に示すように、例えば、周波数領域全体に対応する1つのブロックを、uiPosX方向に4個、uiPosY方向に4個の合計16個のサブブロックに分割すると共に、サブブロックを処理単位として係数有無フラグを復号する。
 サブブロックを用いて係数有無フラグを復号する場合には、図32(a)に示すように、係数有無フラグ復号部は、サブブロック単位で、サブブロック内に少なくとも1つの非0変換係数が存在するか否かを示すフラグ(サブブロック係数有無フラグsignificant_coeffgroup_flag)をサブブロック逆スキャン順(図32のブロック内に示す矢印方向)に復号する。さらに、サブブロック係数有無フラグsignificant_coeffgroup_flagが非0である場合において、図32(b)に示すように、係数有無フラグ復号部は、処理対象のサブブロック内部の各変換係数について有無フラグをサブブロック内部の逆スキャン順(図32のサブブロック内に示す矢印方向)に復号する。
 なお、図32(a)に示すサブブロックスキャンのスキャン順、および図32(b)に示すサブブロック内スキャンのスキャン順はあくまで一例であり、他のスキャン順を用いてもよい。たとえばジグザグスキャン、水平優先スキャン、垂直優先スキャンを用いてもよい。
 以下では、サブブロック単位でサブブロック非ゼロ係数有無フラグ、非ゼロ係数有無フラグを復号/符号化する場合の例を説明する。
 まず、図47を用いて、変換ブロックのサイズを16×16、サブブロックのサイズを4×4とするときの、サブブロック係数有無フラグの例を説明する。
 図47(a)は、16×16変換ブロックに含まれる合計256個の周波数成分についての量子化残差係数の各値の一例である。また、図47(b)は、16×16変換ブロックを4×4サブブロックに分割した場合の各サブブロックを識別するサブブロック番号の一例を示す図である。図47(c)は、量子化残差係数が図47(a)に示すものであるときの、各サブブロックのサブブロック係数有無フラグの一例を示している。
 図47(a)において、符号W1はラスト係数の位置を表す。また、図47(a)において、淡色にて表されているゼロ係数は、順スキャン順で、ラスト係数W1より後ろのゼロ係数である。また、図47(a)において、符号SBK_A~ABK_Dにて示されるサブブロック(図47(b)においてサブブロック番号3,7,12,13を付したサブブロック)では、量子化残差係数の値がすべてゼロとなっている。
 このような状況において、従来通り、非ゼロ係数の有無を、DC係数からラスト係数までの係数毎に係数有無フラグによって表わす場合、計218個の係数有無フラグが必要である。
 一方、非ゼロ係数の有無を、サブブロック単位で表現する場合、図47(a)のサブブロック毎の非ゼロ係数があるか否かを表すサブブロック係数有無フラグは、図47(c)に示すように表現される。すなわち、サブブロック(図47(b)におけるサブブロック番号3,7,12,13,15)では、非ゼロ係数の個数が0であるため、サブブロック係数有無フラグsignificant_coeffgroup_flagは「0」と設定され、各サブブロック内の係数有無フラグは付加されない。
 また、サブブロック(図47(b)におけるサブブロック番号0,1,2,4,5,6,8,9,10,11)は、非ゼロ係数の個数が1以上であるため、サブブロック係数有無フラグsignificant_coeffgroup_flagは「1」と設定され、各サブブロック内の係数有無フラグが付加される。
 すなわち、非ゼロ係数の有無を、サブブロック単位に表現する場合は、係数有無フラグの個数は、サブブロック(図47(b)におけるサブブロック番号3,7,12,13)内の計64個の係数有無フラグが削減され、計154個となる。追加で16個のサブブロック係数有無フラグが必要となるが、フラグ数は合わせても170個であり、少なくとも従来に比べて、48個のフラグが削減される。このように、サブブロック単位で変換係数の有無を表わすことで、符号化/復号の対象となる係数有無フラグが大幅に削減される。つまり、係数有無フラグの符号化/復号に必要なコンテキスト導出処理が削減されるため、符号化/復号のスループットを向上させることが可能となる。
 続いて、以下では、係数有無フラグをサブブロック単位に復号する場合の実施例について説明する。
 <係数有無フラグ復号部の第7の構成例>
 図31は、本実施形態に係る係数有無フラグ復号部の第7の構成例としての係数有無フラグ復号部124-Aを示すブロック図である。また、図33は、係数有無フラグ復号部124-Aにおける復号処理の流れを示すフローチャートである。
 図31に示すように、本構成例に係る係数有無フラグ復号部124-Aは、サブブロック係数有無フラグ復号部X1、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124cを備えている。
 (サブブロック係数有無フラグ復号部X1)
 サブブロック係数有無フラグ復号部X1は、ビット復号部132より供給されるBinを解釈し、周波数領域を構成する各サブブロックの中に少なくとも1つ非0の変換係数が存在するか否かを示すサブブロック係数有無フラグ(significant_coeffgroup_flag)を復号する(図33のステップSY1)。
 なお、サブブロックのスキャン順は、図32(a)に示すように、ラスト係数のあるサブブロックからDC係数のあるサブブロックに向かって復号してもよいし、その逆でもよい。また、既に復号したサブブロックのサブブロック係数有無フラグに応じて、サブブロック係数有無フラグを符号化データからデータを復号せずに定める方法でもよい。すなわち、隣接する2つのサブブロックのサブブロック係数有無フラグが1であれば、サブブロック係数有無フラグを符号化データからデータを復号せずにサブブロック係数有無フラグを1に定め、それ以外の場合には、サブブロック係数有無フラグを符号化データから復号する構成でもよい。
 続いて、係数有無フラグ復号部124-Aは、変換ブロック内にあるサブブロック毎に、サブブロック内にある係数有無フラグを復号する(図33のステップSY2~ステップSY4)。すなわち、サブブロック係数有無フラグ復号部X1において、サブブロック係数有無フラグが1の場合(図33のステップSY2においてYの場合)、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124cを用いてサブブロック内の係数有無フラグを復号する。また、サブブロック係数有無フラグが0の場合(図33のステップSY2においてNの場合)、サブブロック内の係数有無フラグの復号をスキップし、次のサブブロックの処理へ移行する。
 なお、図34に示すように、サブブロックのループの中で、対象サブブロック(xCG、、yCG)のサブブロック係数有無フラグを復号しても良い。ここで、図34におけるステップSY5では、サブブロック係数有無フラグ復号部X1が、(xCG、yCG)によって指定されるサブブロックについてのサブブロック係数有無フラグsignificant_coeffgroup_flagを復号する。
 なお、図33、図34のサブブロックのループにおいて、sbkIdxは、サブブロックの順スキャンでの対象サブブロックのスキャン順番号を表し、LastSbkIdxは、サブブロックの順スキャンでのラスト係数のあるサブブロックのスキャン順番号を表わす。sz×szの変換ブロックを4×4サブブロックに分割する場合、sbkIdx、およびLastSbkIdxのとる値は、0~(sz>>2)×(sz>>2)-1である。
 (係数有無フラグ復号部124-Aの備える周波数分類部124a)
 係数有無フラグ復号部124-Aの備える周波数分類部124aは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部124b、及び周辺参照コンテキスト導出部124cの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付ける(図33のステップSY3)。
 係数有無フラグ復号部124-Aの備える周波数分類部124aは、周波数領域に含まれる各周波数成分の当該周波数領域における位置(uiPosX、uiPosY)を用いて、当該周波数成分を複数の部分領域R0~R2に分類する。ここで、uiPosX=0、1、...、sz-1であり、uiPosY=0、1、...、sz-1であるとする(szは、上述のように処理対象TUの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表しており、例えば、sz=16,32等である)。
 ここで、sz×szブロックの周波数領域を4×4サブブロックに分割し、当該周波数成分(uiPosX、uiPosY)が属するサブブロックの位置を(xCG,yCG)とする。なお、当該周波数成分が属するサブブロック位置(xCG,yCG)は下記式(eq.A1)~(eq.A2)により導出される。
 xCG=uiPosX>>2 ・・・(eq.A1)
 yCG=uiPosY>>2 ・・・(eq.A2)
 ここで、xCG=0、1、...、(sz-1)>>2であり、yCG=0、1、...、(sz-1)>>2であるとする。
 係数有無フラグ復号部124-Aの備える周波数分類部124aは、より具体的には、以下の分類処理を行う。
 (1)xCG+yCG<THA、かつ、uiPosX+uiPosY<THZを満たす周波数成分を部分領域R0に分類する。
 (2)xCG+yCG<THA、かつ、THZ≦uiPosX+uiPosYを満たす周波数成分を部分領域R1に分類する。
 (3)THA≦xCG+yCGを満たす周波数成分を部分領域R2に分類する。
 上記分類処理に対応する疑似コードは次の通りである。
********************************************************************
if( xCG+yCG<THA){
 if( uiPosX+uiPosY<THZ ) {
  R0へ分類
 } 
 else{// if( uiPosX+uiPosY>=THZ)
  R1へ分類
 }
 else{//if( xCG+yCG>=THA ){
  R2へ分類
 }
}
********************************************************************
 ここで、閾値THZとして2を用いる。THAは、THA≧THZ/4を満たす閾値を表している。具体的な値としては、例えば、周波数領域のサイズ(処理対象TUのサイズ)に関わらず、THA=1とすればよい。また、周波数領域のサイズlog2TrafoSizeを用いて、THA=1<<(log2TrafoSize-2)としてもよい。すなわち、周波数領域のサイズが16×16である場合、THA=1とし、周波数領域のサイズが32×32である場合、THA=2としてもよい。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。また、閾値THZを1としても良い。
 図35は、係数有無フラグ復号部124-Aの備える周波数分類部124aによる分類処理によって、部分領域R0、R1、及びR2に分割された周波数領域の一例を示している。
 係数有無フラグ復号部124-Aの備える周波数分類部124aは、部分領域R0に属する周波数成分に対して、低周波位置コンテキスト導出部124bによって導出されたコンテキストインデックスを割り付け、部分領域R1及びR2に属する周波数成分に対して、周辺参照コンテキスト導出部124cによって導出されたコンテキストインデックスを割り付ける。なお、サブブロックのサイズとして、4×4を例に説明したが、これに限定されず、(sz>>n)×(sz>>n)のサブブロックでもよい。ただし、nは、nは、n=1,…,log2TrafoSize>>1を満たすものとする。
 また、係数有無フラグ復号部124-Aの備える周波数分類部124aは、算術符号復号部130でシンタックスsignificant_coeff_flagを復号するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される(図33のステップSY4)。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部126に格納され、係数値復号部125によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
 以下では、各部分領域R0~R2に対応するコンテキスト導出について具体的に説明する。
 (係数有無フラグ復号部124-Aの備える低周波位置コンテキスト導出部124b)
 係数有無フラグ復号部124-Aの備える低周波位置コンテキスト導出部124bは、復号対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
 係数有無フラグ復号部124-Aの備える低周波位置コンテキスト導出部124bは、部分領域R0に属する周波数成分に対して、以下の式(eq.A3)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+2×uiPosX + uiPosY ・・・(eq.A3)
 なお、NXはコンテキストインデックスの開始点を表す定数である。周波数領域のサイズが4×4及び8×8で用いるコンテキスト数が各々N4個、N8個の場合には、周波数領域のサイズが16×16および32×32の開始点はNX=N4+N8になる。
 (係数有無フラグ復号部124-Aの備える周辺参照コンテキスト導出部124c)
 係数有無フラグ復号部124-Aの備える周辺参照コンテキスト導出部124cは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非0変換係数の数cntに基づいて導出する。
 係数有無フラグ復号部124-Aの備える周辺参照コンテキスト導出部124cは、部分領域R1に属する周波数成分に対して、以下の式(eq.A4)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+3+min(2,temp) ・・・(eq.A4)
ここで、tempは、
  temp=(cnt+1)>>1
によって定まる。
  また、係数有無フラグ復号部124-Aの備える周辺参照コンテキスト導出部124cは、部分領域R2に属する周波数成分に対して、以下の式(eq.A5)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+6+min(2,temp) ・・・(eq.A5)
ここで、tempは、上記の場合と同様に、
  temp=(cnt+1)>>1
によって定まる。
 なお、式(eq.A4)~(eq.A5)において、非0変換係数のカウント数cntを1ビット右シフトすることで、コンテキスト数を削減することが可能である。
 また、周辺参照コンテキスト導出部124cは、部分領域R1において、非0変換係数のカウント数cntを、図10(a)または図10(b)に示す参照周波数成分c1~c5を用いて、以下の式(eq.A6)によって導出する。
  cnt=(c1!=0)+(c2!=0)+(c3!=0)+(c4!=0)+(c5!=0) ・・・(eq.A6)
 ここで、(eq.A6)における各項は、()内の比較が真である場合に1をとり、()内の比較が偽である場合に0をとるものとする。
 また、非0変換係数の数cntを、式(eq.6)の代わりに、図36(a)に示す参照周波数成分(c1、c2、c4、c5)を用いて、対象とする変換係数の位置の、処理順で直前(処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側)に位置する座標(c3)の変換係数を参照しないようにした数式(eq.A7)によって算出してもよい。このような処理は、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
  cnt=(c1!=0)+(c2!=0)+(c4!=0)+(c5!=0)・・・(eq.A7)
 また、対象とする変換係数のサブブロック内の位置に応じて、数式(eq.A6)と数式(eq.A7)との何れかを用いて変換係数を導出する構成としてもよい。すなわち、対象とする変換係数のサブブロック内の位置に応じて、変換係数の導出に用いる参照成分を変更する構成としてもよい。
 より具体的には、対象とする変換係数がサブブロック内の左上に位置する場合と、対象とする変換係数がサブブロック内の右下に位置する場合とのいずれか一方において、サブブロック内での対象とする変換係数の処理順で直前の位置(ここでは下側)の変換係数の値に依存しないように、数式(eq.A7)の参照周波数成分を用い、それ以外の場合には、数式(eq.A6)の参照周波数成分を用いてもよい。
 以上のように、本構成例に係る係数有無フラグ復号部124-Aによれば、周波数分類部124aにおいて、サブブロック座標に基づいて周波数成分の分類を行うことによって、サブブロック座標(xCG、yCG)がxCG+yCG>0を満たす場合において、サブブロック内における周波数分類を行う分岐処理を省略することができる。既に説明した分類、たとえば、
 ・uiPosX+uiPosY<2を満たす周波数成分を部分領域R0に分類する。
 ・2≦uiPosX+uiPosY<TH1を満たす周波数成分を部分領域R1に分類する。
 ・TH1≦uiPosX+uiPosY<TH2を満たす周波数成分を部分領域R2に分類する。
 ・TH2≦uiPosX+uiPosYを満たす周波数成分を部分領域R3に分類する。
 上記のような分類を行う場合には、サブブロック内部で上記分類を行う分岐処理が必要である。しかしながら、本構成例においては、分類処理において参照する座標をブロック全体における座標(uiPosX、uiPosY)ではなくサブブロック座標(xCG、yCG)に置き換えることができるので、(uiPosX、uiPosY)を参照する上記分岐が不要である。これによって、サブブロック内のコンテキストインデックス導出における遅延を削減し、コンテキスト導出のスループットを向上させることができる。
 また、以上の構成では、サブブロックごとのサブブロック係数有無フラグとサブブロック内の係数有無フラグを組み合わせて、非0係数の有無を復号する。この構成では、サブブロック内の係数有無フラグの復号に用いるコンテキスト導出を簡略化することができる。すなわち、図36(a)に示すように参照数を4つに減らすことができる。
 なお、上記の例では、周波数成分を3つの部分領域に分類したが、2つの部分領域に分類する方法でも良い。この場合、
 (1)uiPosX+uiPosY<THZを満たす周波数成分を部分領域R0に分類する。
 (2)THZ≦uiPosX+uiPosYを満たす周波数成分を部分領域R1に分類する。
 部分領域R0の係数有無フラグの復号に用いるコンテキスト導出は、上記のとおりであり、部分領域R1の係数有無フラグの復号に用いるコンテキスト導出は、
  ctxIdx=NX+3+min(2,temp) ・・・(eq.A4)
  temp=(cnt+1)>>1
を用い、さらにcntは4点参照、例えば、数式(eq.A7)を用いる構成でも良い。この構成では、サブブロック内の係数有無フラグの復号に用いるコンテキスト導出を簡略化することができる。
また、次の条件によりR0、R1へ分類してもよい。
 (1)xCG+yCG==0かつuiPosX+uiPosY<THZを満たす周波数成分を部分領域R0に分類する。
 (2)xCG+yCG>0もしくはTHZ≦uiPosX+uiPosYを満たす周波数成分を部分領域R1に分類する。
 上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if ( xCG+yCG==0 ){
 if( uiPosX+uiPosY<THZ ){
  R0へ分類
 }
 else {// if( uiPosX+uiPosY>=THZ)
  R1へ分類
 }
}
else{//if( xCG+yCG>0 )
  R1へ分類
}
*******************************************************************
 上記分類処理によれば、サブブロック位置(xCG、yCG)が(0、0)以外の部分におけるサブブロック内での周波数成分を分類するための分岐処理をなくすことができる。
 以上のように、係数有無フラグ復号部124-Aの備える周波数分類部124aは、高周波数側において、対象周波数領域における当該対象サブブロックの位置を参照して、周波数領域を部分領域に分割する。
 また、周辺参照コンテキスト導出部124cは、このような分割により得られた部分領域に属する係数有無フラグの復号に用いるコンテキストを導出する。
 したがって、係数有無フラグ復号部124-Aは、対象サブブロックが対象周波数領域において高周波数側の部分領域に属するものである場合、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出するものである、と表現することもできる。
 以下では、係数有無フラグ復号部の第7の構成例において、変換ブロックサイズが16×16、32×32のときに、周波数領域を部分領域R0、R1へ分割し、R0では低周波位置コンテキスト、R1では、図36(a)に示す4つの参照周波数成分(c1、c2、c4、c5)による周辺参照コンテキストによりコンテキストインデックスctxIdxを導出する場合の疑似コードを示す。なお、疑似コード中のsigCtxは、ctxIdxと同義である。
*******************************************************************
If log2TrafoSize is less than or equal to 3, sigCtx is derived as follows.
    shift = log2TrafoSize = = 3 ? 1 : 0    sigCtx = ( shift * 15 ) + ( ( yC >> shift ) << 2 ) + ( xC >> shift ) 
If cIdx is equal to 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
  If xC + yC is less than 1, sigCtx is derived as follows.
    sigCtx = 31  
  Otherwise if (xC>>2) + (yC>>2) is less than 1 << (uiLog2BlkSize-4), sigCtx is derived as follows.
    temp = significant_coeff_flag[ xC + 1 ][ yC ] + significant_coeff_flag[ xC + 2 ][ yC ] +  significant_coeff_flag[ xC ][ yC + 1 ] + significant_coeff_flag[ xC + 1 ][ yC + 1 ] +  significant_coeff_flag[ xC ][ yC + 2 ]     temp = ( temp + 1) >>1     sigCtx = 32 + Min( 2, temp )
  Otherwise ((xC>>2) + (yC>>2) is greater than or equal to 1 << (uiLog2BlkSize-4))), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
   The variable ctxCnt is initialized as follows.
    ctxCnt = 0 
   When xC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 1 ][ yC ] 
   When xC and yC are less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 1 ][ yC + 1 ] 
   When xC is less than ( 1 << log2TrafoSize ) ? 2, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 2 ][ yC ] 
   When yC is less than ( 1 << log2TrafoSize ) ? 2 and ctxCnt is less than 3,the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC ][ yC + 2 ]
   ctxCnt =(ctxCnt + 1) >>1    sigCtx = 35 + ctxCnt
If cIdx is greater than 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
  If xC + yC is less than 1, sigCtx is derived as follows.
    sigCtx = 31  
  Otherwise (xC + yC is greater than or equal to 1), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
  The variable ctxCnt is initialized as follows.
    ctxCnt = 0 
  When xC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 1 ][ yC ] 
  When xC and yC are less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 1 ][ yC + 1 ] 
  When xC is less than ( 1 << log2TrafoSize ) ? 2, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 2 ][ yC ] 
  When yC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC ][ yC + 1 ] 
  When yC is less than ( 1 << log2TrafoSize ) ? 2 and ctxCnt is less than 3, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC ][ yC + 2 ]
  ctxCnt =((ctxCnt + 1) >>1  sigCtx = 32 + ctxCnt
*******************************************************************
 以下では、係数有無フラグ復号部の第7の構成例において、変換ブロックサイズが16×16、32×32のときに、周波数領域を部分領域R0、R1、R2へ分割し、R0では低周波位置コンテキスト、R1では図10(a)に示す5つの参照周波数成分(c1、c2、c3、c4、c5)を、R2では、図36(a)に示す4つの参照周波数成分(c1、c2、c4、c5)を用いて周辺参照コンテキストによりコンテキストインデックスctxIdxを導出する場合の疑似コードを示す。なお、疑似コード中のsigCtxは、ctxIdxと同義である。
*******************************************************************
  If log2TrafoSize is less than or equal to 3, sigCtx is derived as follows.
    shift = log2TrafoSize = = 3 ? 1 : 0    sigCtx = ( shift * 15 ) + ( ( yC >> shift ) << 2 ) + ( xC >> shift ) 
If cIdx is equal to 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
  If xC + yC is less than 1, sigCtx is derived as follows.
    sigCtx = 31  
  Otherwise if xC + yC is less than 1 << (uiLog2BlkSize-2), sigCtx is derived as follows.
    temp = significant_coeff_flag[ xC + 1 ][ yC ] + significant_coeff_flag[ xC + 2 ][ yC ] + significant_coeff_flag[ xC ][ yC + 1 ] + significant_coeff_flag[ xC + 1 ][ yC + 1 ] +  significant_coeff_flag[ xC ][ yC + 2 ]     temp = ( temp + 1) >>1     sigCtx = 32 + Min( 2, temp )
  Otherwise (xC + yC is greater than or equal to 1 << (uiLog2BlkSize-2)), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
  The variable ctxCnt is initialized as follows.
    ctxCnt = 0 
  When xC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 1 ][ yC ] 
  When xC and yC are less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 1 ][ yC + 1 ] 
  When xC is less than ( 1 << log2TrafoSize ) ? 2, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 2 ][ yC ] 
  When yC is less than ( 1 << log2TrafoSize ) ? 2 and ctxCnt is less than 3, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC ][ yC + 2 ]
  ctxCnt =(ctxCnt + 1) >>1   sigCtx = 35 + ctxCnt
If cIdx is greater than 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
  If xC + yC is less than 1, sigCtx is derived as follows.
    sigCtx = 31  
  Otherwise if xC + yC is less than 1 << (uiLog2BlkSize-2), sigCtx is derived as follows.
    temp = significant_coeff_flag[ xC + 1 ][ yC ] + significant_coeff_flag[ xC + 2 ][ yC ] +  significant_coeff_flag[ xC ][ yC + 1 ] + significant_coeff_flag[ xC + 1 ][ yC + 1 ] +  significant_coeff_flag[ xC ][ yC + 2 ] 
    temp = ( temp + 1) >>1     sigCtx = 32 + Min( 2, temp ) 
  Otherwise (xC + yC is greater than or equal to 1 << (uiLog2BlkSize-2)), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
  The variable ctxCnt is initialized as follows.
    ctxCnt = 0 
  When xC is less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 1 ][ yC ] 
  When xC and yC are less than ( 1 << log2TrafoSize ) ? 1, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 1 ][ yC + 1 ] 
  When xC is less than ( 1 << log2TrafoSize ) ? 2, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC + 2 ][ yC ] 
  When yC is less than ( 1 << log2TrafoSize ) ? 2 and ctxCnt is less than 3, the following applies.
    ctxCnt = ctxCnt + significant_coeff_flag[ xC ][ yC + 2 ]
  ctxCnt =(ctxCnt + 1) >>1  sigCtx = 32 + ctxCnt
*******************************************************************
 <係数有無フラグ復号部の第8の構成例>
 図37は、本実施形態に係る係数有無フラグ復号部の第8の構成例としての係数有無フラグ復号部124-Bを示すブロック図である。本構成例に係る係数有無フラグ復号部124-Bにおける復号処理の流れは、図33に示したフローチャートを参照して説明される。
 図37に示すように、本構成例に係る係数有無フラグ復号部124-Bは、サブブロック係数有無フラグ復号部X1、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、高周波位置コンテキスト導出部124dを備えている。
 (係数有無フラグ復号部124-Bの備えるサブブロック係数有無フラグ復号部X1)
 係数有無フラグ復号部124-Bの備えるサブブロック係数有無フラグ復号部X1は、ビット復号部132より供給されるBinを解釈し、周波数領域を構成する各サブブロックの中に少なくとも1つ非0の変換係数が存在するか否かを示すサブブロック係数有無フラグ(significant_coeffgroup_flag)を復号する(図33のステップSY1)。
 続いて、変換ブロック内にあるサブブロック毎に、サブブロック内にある変換係数有無フラグを復号する(図33のステップSY2~ステップSY4)。すなわち、サブブロック係数有無フラグ復号部X1において、サブブロック係数有無フラグが1の場合(図33のステップSY2においてYの場合)、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、高周波位置コンテキスト導出部124dを用いてサブブロック内の係数有無フラグを復号する。また、サブブロック係数有無フラグが0の場合(図33のステップSY2においてNの場合)、サブブロック内の係数有無フラグの復号をスキップし、次のサブブロックの処理へ移行する。
 (係数有無フラグ復号部124-Bの備える周波数分類部124a)
 係数有無フラグ復号部124-Bの備える周波数分類部124aは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、及び高周波位置コンテキスト導出部124dの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付ける(図33のステップSY3)。
 係数有無フラグ復号部124-Bの備える周波数分類部124aは、周波数領域に含まれる各周波数成分の当該周波数領域における位置(uiPosX、uiPosY)を参照し、当該周波数成分を複数の部分領域R0~R3に分類する。ここで、uiPosX=0、1、...、sz-1であり、uiPosY=0、1、...、sz-1であるとする(szは、上述のように処理対象TUの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表しており、例えば、sz=16,32等である)。
 ここで、sz×szブロックの周波数領域を4×4サブブロックに分割し、当該周波数成分(uiPosX、uiPosY)が属するサブブロックの位置を(xCG,yCG)とする。なお、当該周波数成分が属するサブブロック位置(xCG,yCG)は下記式(eq.B1)~(eq.B2)により導出される。
 xCG=uiPosX>>2 ・・・(eq.B1)
 yCG=uiPosY>>2 ・・・(eq.B2)
 ここで、xCG=0、1、...、(sz-1)>>2であり、yCG=0、1、...、(sz-1)>>2であるとする。
 係数有無フラグ復号部124-Bの備える周波数分類部124aは、より具体的には、以下の分類処理を行う。
 (1)xCG+yCG<THB、かつ、uiPosX+uiPosY<THZを満たす周波数成分を部分領域R0に分類する。
 (2)xCG+yCG<THB、かつ、THZ≦uiPosX+uiPosY<TH1を満たす周波数成分を部分領域R1に分類する。
 (3)xCG+yCG<THB、かつ、TH1≦uiPosX+uiPosY、かつ、を満たす周波数成分を部分領域R2に分類する。
 (4)THB≦xCG+yCGを満たす周波数成分を部分領域R3に分類する。
 上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if( xCG+yCG<THB ) {
 if( uiPosX+uiPosY<THZ){
  R0へ分類
 } 
 else if( uiPosX+uiPosY<TH1 ){
  R1へ分類
 } else{ //if(uiPosX+uiPosY>=TH1) 
  R2へ分類
  }
else{// if(xCG+yCG>=THB)
  R3へ分類
}
*******************************************************************
 ここで、閾値THZには2を用いる。また、TH1及びTHBの具体的な値としては、例えば、周波数領域のサイズ(処理対象TUのサイズ)log2TrafoSizeを用いて、
TH1=5、
THB=1<<(log2TrafoSize-2)
とすればよい。また、周波数領域のサイズが16×16である場合、TH1=5、THB=4とし、周波数領域のサイズが32×32である場合、TH1=5、THB=8としてもよい。
また、閾値TH1及びTHBは周波数領域のサイズlog2TrafoSizeを用いて、
TH1=5、
THB=1<<(log2TrafoSize-4)
と設定してもよい。すなわち、周波数領域のサイズが16×16である場合、TH1=5、THB=1とし、周波数領域のサイズが32×32である場合、TH1=5、THB=2と設定する。また、他の値に設定することもできる。
 また、閾値TH1、及びTHBを、
TH1=5、
THB=1<<(log2TrafoSize-3)
と設定してもよい。すなわち、周波数領域のサイズが16×16である場合、TH1=5、THB=2とし、周波数領域のサイズが32×32である場合、TH1=5、THB=4と設定する。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
 以上のように構成された周波数分類部124aによれば、変換係数の位置によりコンテキスト導出方法を切り替えるための分岐処理を、サブブロック座標(xCG、yCG)を用いた分岐処理とすることにできる。(uiPosX、uiPosY)を参照する分岐処理を行う場合に比べて、サブブロック内部で行われる(uiPosX、uiPosY)を参照する分岐処理を省略することができ、コンテキスト導出のスループットを向上させることができる。
 図38は、係数有無フラグ復号部124-Bの備える周波数分類部124aによる分類処理によって、部分領域R0、R1、R2、及びR3に分割された周波数領域の一例を示している。
 係数有無フラグ復号部124-Bの備える周波数分類部124aは、部分領域R0に属する周波数成分に対して、低周波位置コンテキスト導出部124bによって導出されたコンテキストインデックスを割り付け、部分領域R1及びR2に属する周波数成分に対して、周辺参照コンテキスト導出部124cによって導出されたコンテキストインデックスを割り付け、部分領域R3に属する周波数成分に対して、高周波位置コンテキスト導出部124dによって導出されたコンテキストインデックスを割り付ける。
 また、上記の説明においては、周波数分類部124aが、対象周波数成分の位置として(uiPosX、uiPosY)、及び対象周波数成分が属するサブブロックの位置(xCG,yCG)を参照するものとしたが、本実施形態はこれに限定されるものではない。例えば、対象周波数成分の位置として、順スキャン順または逆スキャン順に沿って付与された周波数成分識別インデックス(例えば図5における「n」)を参照し、対象周波数成分を複数の部分領域の何れかに分類する構成としてもよい。
 また、係数有無フラグ復号部124-Bの備える周波数分類部124aは、算術符号復号部130でシンタックスsignificant_coeff_flagを復号するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される(図33のステップSY4)。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部126に格納され、係数値復号部125によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
 以下では、各部分領域R0~R3に対応するコンテキスト導出について具体的に説明する。
 (係数有無フラグ復号部124-Bの備える低周波位置コンテキスト導出部124b)
 係数有無フラグ復号部124-Bの備える低周波位置コンテキスト導出部124bは、復号対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
 係数有無フラグ復号部124-Bの備える低周波位置コンテキスト導出部124bは、部分領域R0に属する周波数成分に対して、以下の式(eq.B3)を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+2×uiPosX + uiPosY ・・・(eq.B3)
 なお、NXはコンテキストインデックスの開始点を表す定数である。周波数領域のサイズが4×4及び8×8で用いるコンテキスト数が各々N4個、N8個の場合には、周波数領域のサイズが16×16および32×32の開始点はNX=N4+N8になる。
 (係数有無フラグ復号部124-Bの備える周辺参照コンテキスト導出部124c)
 係数有無フラグ復号部124-Bの備える周辺参照コンテキスト導出部124cは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非0変換係数の数cntに基づいて導出する。
 係数有無フラグ復号部124-Bの備える周辺参照コンテキスト導出部124cは、部分領域R1に属する周波数成分に対して、以下の式(eq.B4)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+3+min(4、cnt) ・・・(eq.B4)
 なお、部分領域R1において、非0変換係数のカウント数cntは、図10(a)または図10(b)に示す(C1、C2、C3、C4、C5)を用いて、以下の式(eq.B5)によって導出する。
  cnt=(c1!=0)+(c2!=0)+(c3!=0)+(c4!=0)+(c5!=0) ・・・(eq.B5)
 また、係数有無フラグ復号部124-Bの備える周辺参照コンテキスト導出部124cは、部分領域R2に属する周波数成分に対して、以下の式(eq.B6)を用いてコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+8+min(4、cnt) ・・・(eq.B6)
 なお、部分領域R2において、非ゼロ変換係数のカウント数cntは、図36(a)に示す参照周波数成分(c1、c2、c4、c5)を用いて、対象とする変換係数の位置の、処理順で直前(処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側)に位置する座標(c3)の変換係数を参照しないようにした以下の式(eq.B7)によって導出する。このような処理は、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
  cnt=(c1!=0)+(c2!=0)+(c4!=0)+(c5!=0)・・・(eq.B7)
 ここで、式(eq.B7)の各項は、()内の比較が真である場合に1をとり、()内の比較が偽である場合に0をとるものとする。
 また、部分領域R1に関して、式(eq.B6)の代わりに、式(eq.B7)によって非ゼロ係数の個数cntを算出してもよい。
 また、部分領域R2に関して、式(eq.B7)の代わりに、図15(c)、(d)、(e)、(f)、または、図36(b)、図36(c)に示す3つの参照係数を用いて非ゼロ係数の個数cntを算出してもよい。
 (係数有無フラグ復号部124-Bの備える高周波位置コンテキスト導出部124d)
 係数有無フラグ復号部124-Bの備える高周波位置コンテキスト導出部124dは、復号対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置と、当該周波数成分の属するサブブロックの位置に基づいて導出する。
 係数有無フラグ復号部124-Bの備える高周波位置コンテキスト導出部124dは、部分領域R3に属する周波数成分に対して、以下の式(eq.B8)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+13+min(maxR3、(xCG+yCG-THB)>>shift) ・・・(eq.B8)
 ここで、記号「>>」は、右ビットシフトを表している。また、shift及びmaxR3としては、例えば、対象周波数領域のサイズが16×16の場合は、shift=0、maxR3=3を用い、対象周波数領域のサイズが32×32の場合は、shift=1、maxR3=3を用いればよいが本実施形態はこれに限定されるものではない。
 なお、係数有無フラグ復号部124-Bの備える周波数分類部124aによる分類処理によって分割される周波数領域の例は、図38に示すものに限定されるものではなく、例えば、図39に示すように周波数領域を分割してもよい。すなわち、係数有無フラグ復号部124-Bの備える周波数分類部124aは、次のように周波数領域を部分領域R0、R1、R2及びR3に分類する構成としてもよい。
 (1)xCG+yCG<THA、かつ、uiPosX+uiPosY<THZを満たす周波数成分を部分領域R0に分類する。
 (2)xCG+yCG<THA、かつ、uiPosX+uiPosY≧THZ、を満たす周波数成分を部分領域R1に分類する。
 (3)THA≦xCG+yCG<THBを満たす周波数成分を部分領域R2に分類する。
 (4)THB≦xCG+yCGを満たす周波数成分を部分領域R3に分類する。
 上記の分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if( xCG+yCG<THA ){
  if( uiPosX+uiPosY<THZ ){
   R0へ分類
  } 
  else {// if(uiPosX+uiPosY>THZ)
   R1へ分類
 } 

else if( xCG+yCG<THB ){ 
  R2へ分類

else{ // if( xCG+yCG>=THB)
  R3へ分類
}
*******************************************************************
 ここで、閾値THZには2を用いる。また、THA及びTHBの具体的な値としては、例えば、周波数領域のサイズ(処理対象TUのサイズ)log2TrafoSizeを用いて、
 THA=1<<(log2TrafoSize-4)、
 THB=1<<(log2TrafoSize-2)
とすればよい。また、周波数領域のサイズが16×16である場合、THA=1、THB=4とし、周波数領域のサイズが32×32である場合、THA=2、THB=8としてもよい。また、閾値THBは、周波数領域のサイズlog2TrafoSizeを用いて、
THB=1<<(log2TrafoSize-3)
と設定してもよい。すなわち、周波数領域のサイズが16×16である場合、THB=2とし、周波数領域のサイズが32×32である場合、THB=4と設定する。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
 図39に示す例においては、周波数領域は、部分領域R0、R1、R2及びR3に分類される。部分領域R0、R1、R2及びR3に属する周波数成分に対しては、上述したように、それぞれ、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、及び高周波位置コンテキスト導出部124dによってコンテキストインデックスctxIdxが算出される。
 以上のように構成された周波数分類部124aによれば、変換係数の位置によりコンテキスト導出方法を切り替えるための分岐を、サブブロック座標(xCG、yCG)を用いた分岐にすることにできる。(uiPosX、uiPosY)を参照する分岐処理を行う場合に比べ、サブブロック内部で行われる(uiPosX、uiPosY)を参照する分岐処理を省略することができ、コンテキスト導出のスループットを向上させることができる。
 さらに、以上のように構成された係数有無フラグ復号部およびサブブロック係数有無フラグ復号部によれば、位置コンテキストの算出において、ある変換係数の位置の係数有無フラグのコンテキストを、既に復号された係数有無フラグの値によらずに決定するため、係数有無フラグのコンテキスト導出と、係数有無フラグの復号を並列で行うことができるという効果がある。
 以下では、係数有無フラグ復号部の第8の構成例において、変換ブロックサイズが16×16、32×32のときに、周波数領域を部分領域R0、R1、R2、R3へ分割し、R0では低周波位置コンテキスト、R1~R2では、図36(a)に示す4つの参照周波数成分(c1、c2、c4、c5)による周辺参照コンテキスト、R3では高周波位置コンテキストによりコンテキストインデックスctxIdxを導出する場合の疑似コードを示す。なお、疑似コード中のsigCtxは、ctxIdxと同義である。
*******************************************************************
If log2TrafoSize is less than or equal to 3, sigCtx is derived as follows.
    shift = log2TrafoSize = = 3 ? 1 : 0
    sigCtx = ( shift * 15 ) + ( ( yC >> shift ) << 2 ) + ( xC >> shift ) 
If cIdx is equal to 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
  If xC + yC is less than 1, sigCtx is derived as follows.
    sigCtx = 31  
  Otherwise if (xC>>2) + (yC>>2) is less than 1 << (uiLog2BlkSize-4), sigCtx is derived as follows.
    temp = significant_coeff_flag[ xC + 1 ][ yC ] + significant_coeff_flag[ xC + 2 ][ yC ] +  significant_coeff_flag[ xC + 1 ][ yC + 1 ] + significant_coeff_flag[ xC ][ yC + 2 ]     temp = ( temp + 1) >>1     sigCtx = 32 + Min( 2, temp )
  Otherwise if (xC>>2) + (yC>>2) is less than 1 << (uiLog2BlkSize-2), sigCtx is derived as follows.
    temp = significant_coeff_flag[ xC + 1 ][ yC ] + significant_coeff_flag[ xC + 2 ][ yC ] +  significant_coeff_flag[ xC ][ yC + 1 ] + significant_coeff_flag[ xC + 1 ][ yC + 1 ] +  significant_coeff_flag[ xC ][ yC + 2 ]   
  temp = ( temp + 1) >>1     sigCtx = 35 + Min( 2, temp )
  Otherwise (xC>>2) + (yC>>2) is greater than or equal to 1 << (uiLog2BlkSize-2), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
    sigCtx = 38
If cIdx is greater than 0 and log2TrafoSize is larger than 3, sigCtx is derived as follows
  If xC + yC is less than 1, sigCtx is derived as follows.
    sigCtx = 31  
  Otherwise if(xC>>2)+(yC>>2)is less than 1 << (uiLog2BlkSize-3), sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flagas follows.
    temp = significant_coeff_flag[ xC + 1 ][ yC ] + significant_coeff_flag[ xC + 2 ][ yC ] +   significant_coeff_flag[ xC + 1 ][ yC + 1 ] + significant_coeff_flag[ xC ][ yC + 2 ]
    temp = ( temp + 1) >>1     sigCtx = 35 + Min( 2, temp )
  Otherwise if((xC>>2)+ (yC>>2) is greater than or equal to 1 << (uiLog2BlkSize-3))) sigCtx is derived using previously decoded bins of the syntax element significant_coeff_flag as follows.
    sigCtx = 38
*******************************************************************
 <係数有無フラグ復号部の第8の構成例の他の構成例>
 以下では、係数有無フラグ復号部124-Bによる他の処理例について図48、図52~図53を参照して説明する。
 図48(a)~(b)は、本処理例において、周波数分類部124aによって分割された部分領域を示す図であり、図48(a)は、輝度値に関する変換係数を復号する際に好適に適用されるものであり、図48(b)は、色差に関する変換係数を復号する際に好適に適用されるものである。図48(a)~(b)における閾値TH、閾値TH2の設定方法は既に説明した通りである。
 閾値THを用いて、周波数分類部124aは、図52に示すように、対象変換係数の周波数成分上の位置(xC、yC)に応じて部分領域R1と部分領域R2を分類する。
 xC+yC < TH
 閾値TH2を用いて、周波数分類部124aは、図52に示すように、対象変換係数の周波数成分上の位置(xC、yC)をあるサブブロックサイズ(ここでは4)で割った値に応じて、互いに参照数の異なる部分領域R2と部分領域R3を分類する。
 (xC>>2)+(yC>>2) < TH2
 ここで2つの部分領域を区別する閾値TH2は、既に説明した通りTH2×サブブロックサイズ(=4)が、対象周波数領域のサイズMax(width、height)よりも小さいことを満たすことが好ましい。
 図52は、図48(a)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスであって、輝度に関するコンテキストインデックスcxtIdxを導出する導出処理を示す擬似コードである。図52において、領域R0のコンテキスト導出は、位置コンテキスト導出部124bによって行われ、領域R1~領域R2のコンテキスト導出は、周辺参照コンテキスト導出部124c、領域R3のコンテキスト導出は、高周波位置コンテキスト導出部124dによって行われる。
 周辺参照コンテキスト導出部124cは、例えば、図48(a)、(b)に示す部分領域R1に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部124aに供給する。
  sigCtx = sigCtxOffsetR1 + Min(2, ctxCnt);
ここで、ctxcCntは、カウント数に応じて得られる値である。ここでは、カウント数を多対一変換する処理(集約処理)により集約して得る。すなわち、以下の式のように、約1/2にするように右シフトして得られる値であり
  ctxCnt=(cnt+1)>>1
によって定まる。また、右シフトによらず、以下のようにカウント数を固定値(ここでは3)にクリップする処理により多対一変換を行っても良い。
  ctxCnt=min(3、cnt)
 なお、非0変換係数のカウント数cntは、次の擬似コードのように、対象変換係数の周波数成分上の位置(xC、yC)に応じて、c1、c2、c3、c4、c5の5つの既に復号済みの変換係数を参照するか、もしくは、c1、c2、c4、c5の4つの既に復号済みの変換係数を参照することで算出する。
    if( ( ( xC & 3 ) || ( yC & 3 ) ) && ( ( (xC+1) & 3 ) || ( (yC+2) & 3 ) )
))
    {
     cnt = (c1!=0) + (c2!=0) + (c4!=0) + (c5!=0);
    } else{
     cnt= (c1!=0) + (c2!=0) + (c3!=0) + (c4!=0) + (c5!=0);
    }
 また、周辺参照コンテキスト導出部124cは、例えば、図48(a)に示す部分領域R2に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部124aに供給する。
  sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
なお、非0変換係数のカウント数cntの計算方法は、部分領域R1と同様である。
 高周波位置コンテキスト導出部124dは、例えば、図48に示す部分領域R3に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtx を周波数分類部124aに供給する。すなわち、固定値を用いてコンテキストインデックスを導出する。
  sigCtx = sigCtxOffsetR3;
高周波数成分である部分領域R3では、低周波数成分の部分領域R1、R2と異なり位置コンテキストによりコンテキストを導出するため、処理量が削減される。
 色差の場合も、図48(b)の部分領域R0、部分領域R1、部分領域R3について、輝度の場合と同様の処理を行う。まず、周波数分類部124aは、図53に示すように、対象変換係数の周波数成分上の位置(xC、yC)をあるサブブロックサイズ(ここでは4)で割った値に応じて、互いに参照数の異なる部分領域R1と部分領域R3を分類する。さら、図53に示す通り、部分領域R0では位置コンテキスト導出部124bにおいて位置コンテキストによりコンテキスト導出を行い、部分領域R1では周辺参照コンテキスト導出部124cにおいて、周辺参照コンテキストによるコンテキスト導出を行う。部分領域R3では、位置コンテキストによりコンテキスト導出を行うことにより、処理量を削減する。
 なお、上記の構成は、以下のように表現することもできる。
 分割手段(周波数分類部124a)は、対象周波数領域を少なくとも低周波数側と高周波数側の2つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、低周波数側に属する部分領域の少なくとも1つでは、復号済みの非0変換係数を参照することによって、コンテキストインデックスを導出し、高周波数側に属する部分領域では、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出する。
 (周囲参照コンテキストと位置コンテキストのコンテキスト共有)
 なお、高周波位置コンテキスト導出部124dにおいて、周囲参照コンテキスト導出部124cで用いるコンテキストを用いることもできる。すなわち、周囲参照コンテキストを用いる部分領域と、位置コンテキストを用いる高周波領域の部分領域とでコンテキストを共有することができる。このような構成について図54~図56を用いて具体例を説明する。
 図54も、図52と同様、輝度に関するコンテキストインデックスcxtIdxを導出する導出処理を示す擬似コードである。図52とは高周波位置コンテキスト導出部124dの処理のみが異なる。図52に示す処理では、以下の式により、コンテキストインデックスsigCtxを導出する。
  sigCtx = sigCtxOffsetR2;
 すなわち、周辺参照コンテキスト導出部124cにおいてオフセット値ctxCnt = 0として求められる部分領域R2で用いるコンテキストを、高周波位置コンテキスト導出部124dの導出する部分領域R3のコンテキストとしても用いる。なお、2つの処理を統一するために、部分領域R3では以下の式で、コンテキストインデックスを導出しても良い。
  ctxCnt = 0;
  sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
 この場合、部分領域R2では、オフセット値ctxCntをカウント値cntから求め、部分領域R3では、オフセット値ctxCntを0固定で求める。
 色差に対しても上記と同様にコンテキスト共有を行うことができる。具体的には、図55は、コンテキスト共有する場合の、色差に関するコンテキストインデックスcxtIdx導出処理を示す擬似コードである。コンテキストを共有しない図53とは高周波位置コンテキスト導出部124dの処理のみが異なる。
 このように、周囲参照コンテキストを用いる部分領域と、位置コンテキストを用いる高周波領域の部分領域とでコンテキストを共有することができる。これは、コンテキストインデックス導出手段(高周波位置コンテキスト導出部124d、周囲参照コンテキスト導出部124c)により導出される、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内であると表現することもできる。
 なお、色差の場合に高周波の位置コンテキストと周囲参照コンテキストの共有を行う構成(図55)を用い、輝度の場合には高周波の位置コンテキストと周囲参照コンテキストの共有を行わない構成(図52)を用いることも可能である。具体的には、図56に示すように輝度の場合には、以下の式により部分領域R3のコンテキストインデックスを求める。
 sigCtx = sigCtxOffsetR3 + ctxCnt;
 但しctxCnt = 0。
 色差の場合には、以下の式により部分領域R3のコンテキストインデックスを求める。
 sigCtx = sigCtxOffsetR1 + ctxCnt;
 但しctxCnt = 0である。
 これにより輝度の場合には、部分領域R3専用のコンテキストが用いられ、色差の場合には、部分領域R3以外の部分領域、ここでは周囲参照コンテキストを用いる部分領域1のコンテキストが用いられる。
 以上の構成のように、2つの異なる導出方法(位置コンテキストと周辺参照コンテキスト)で同じコンテキストの共有を行うことで、コンテキストに伴うメモリを低減することができる。
 また、上記コンテキスト共有において、オフセット値ctxCnt=0の周辺参照コンテキストと位置コンテキストを共有する方法の他、以下の式のようにオフセット値ctxCntが0以外のコンテキストと位置コンテキストを共有しても良い。
 ctxCnt = 1
 sigCtx = sigCtxOffsetR1 + ctxCnt;
 上記の構成は、コンテキストインデックス導出手段(高周波位置コンテキスト導出部124d、周囲参照コンテキスト導出部124c)により導出される、輝度に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲以外の値であり、上記コンテキストインデックス導出手段により導出される、色差に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内である、と表現することもできる。
 <係数有無フラグ復号部の第8の構成例のコンテキスト更新遅延除去を考慮した構成例>
 以下では、係数有無フラグ復号部124-Bによるコンテキスト更新遅延除去を考慮した処理例について図48、図52~図53を参照して説明する。
 位置コンテキストを用いる場合には、これまで説明した通り、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
 しかしながら、復号処理において同一のコンテキストを用いる場合には、直前のコンテキストの復号結果が0であるか1であるかに応じてコンテキストの有する状態のアップデートが必要となるので、このアップデート分の遅延が発生する。以下は、位置コンテキストにおいて、直前のコンテキストとは異なるコンテキストを割り当てることによって、コンテキストの状態アップデートに伴う遅延を削減する効果を奏する係数有無フラグ復号部の構成例を示す。
 図57は、サブブロック内におけるコンテキストインデックスの導出方法を示す図である。図57(a)は、サブブロックのスキャン順と、サブブロック内でのコンテキストインデックスのオフセット値ctxCntとの関係を示す図である。図に示す通り、スキャン順毎にオフセット値ctxCntは0、1、0、1というのように交互に異なる値を用いる。このようなオフセット値を用いることにより、直前のコンテキストと異なるコンテキストを割り当てることが可能になる。図57(b)は、上記処理に用いるテーブルの例を示す。図57(b)に示すテーブルは、サブブロック内の相対位置をラスタスキャンにおけるアドレスとして入力することにより、オフセット値ctxCntを得るテーブルである。
 図57(c)では使用例を示す。当該使用例においては、周波数成分の位置(xC、yC)から、
  (xC & 3) + (yC & 3 << 2)
の演算により、ラスタスキャン上のアドレスを得た後、図57(b)に示すテーブルを参照することによって、オフセット値ctxCntを得る。なお、オフセット値ctxCntの算出は、テーブルを用いることなくサブブロック内のカウンタcntInSubBlockを用いることで通常の演算で算出することができる。図57(d)は、この演算の例である。カウンタcntInSubBlockは、サブブロックのスキャン順に0、1、2、3、・・・、15の値をとるものとする。この場合、カウンタcntInSubBlockと2の剰余(&1)によって、オフセット値ctxCntを算出することができる。なお、カウントcntInSubBlockの値は逆スキャン順に0、1、2、3、・・・、15の値をとっても良い。
 図58は、図57の例よりさらに並列度を増すことのできる構成である。図58(a)は、サブブロックのスキャン順と、サブブロック内でのコンテキストインデックスのオフセット値ctxCntの関係を示す図である。図に示す通り、スキャン順毎にオフセット値ctxCntは0、1、2、0、1、2、・・・というのようにN個単位(N=3)で異なる値を用いる。このようなオフセット値を用いることにより、N個の連続するコンテキストで異なるコンテキストを割り当てることが可能になる。直前だけではなく、直前の直前(もしくはそれ以上)の復号で独立性が保たれるため、並列性をさらに増すことができる。図58(b)は、上記処理に用いるテーブルの例、図58(c)は使用例、図58(d)は演算による算出方法例を示している。これらは全て図57と同様の処理であるので説明を省略する。なお、N=3の場合を示したが、N=4以上のNについても同様の処理が可能である。
 図59は、上記コンテキストの割り当て方法を実現する擬似コードを示す図である。具体的には、図48(a)に示す部分領域R0~R3のそれぞれに含まれる周波数領域に割り付けるコンテキストインデックスであって、輝度および色差に関するコンテキストインデックスcxtIdxを導出する導出処理を示す。図59において、領域R0のコンテキスト導出は、位置コンテキスト導出部124bによって行われ、領域R1~領域R2のコンテキスト導出は、周辺参照コンテキスト導出部124c、領域R3のコンテキスト導出は、高周波位置コンテキスト導出部124dによって行われる。
 周辺参照コンテキスト導出部124cは、例えば、図48(a)、(b)に示す部分領域R1に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部124aに供給する。
  sigCtx = sigCtxOffsetR1 + Min(2, ctxCnt);
ここで、ctxcCntは、多対一変換する処理(集約処理)、ここでは以下の式のようにカウント数を約1/2にするように右シフトする処理によって得る。
  ctxCnt=(cnt+1)>>1
 なお、多対一変換する処理は、以下のようにカウント数を固定値(ここでは3)にクリップする処理でも良い。
  ctxCnt=min(3、cnt)
 なお、非0変換係数のカウント数cntは、次の擬似コードのように、対象変換係数の周波数成分上の位置(xC、yC)に応じて、c1、c2、c3、c4、c5の5つの既に復号済みの変換係数を参照するか、もしくは、c1、c2、c4、c5の4つの既に復号済みの変換係数を参照することで算出する。
    if( ( ( xC & 3 ) || ( yC & 3 ) ) && ( ( (xC+1) & 3 ) || ( (yC+2) & 3 ) )
))
    {
     cnt = (c1!=0) + (c2!=0) + (c4!=0) + (c5!=0);
    } else{
     cnt= (c1!=0) + (c2!=0) + (c3!=0) + (c4!=0) + (c5!=0);
    }
 また、周辺参照コンテキスト導出部124cは、例えば、図48(a)に示す部分領域R2に属する周波数成分に対して、以下の式を用いてコンテキストインデックスsigCtxを導出し、その導出結果sigCtxを周波数分類部124aに供給する。
  sigCtx = sigCtxOffsetR2 + Min(2, ctxCnt);
なお、非0変換係数のカウント数cntの計算方法は、部分領域R1と同様である。
 高周波位置コンテキスト導出部124dは、例えば、図48に示す部分領域R3に属する周波数成分に対して、以下の式を用いてオフセット値を算出する。
 ctxCnt = tbl[(xC & 3) + (yC & 3)<<2] 
 このオフセット値と、部分領域R3用のコンテキストインデックスの開始点sigCtxOffsetR3との和により、以下の式によって、コンテキストインデックスsigCtxを導出し、その導出結果sigCtx を周波数分類部124aに供給する。
 sigCtx = sigCtxOffsetR3 + ctxCnt 
 高周波数成分である部分領域R3では、位置コンテキストによりコンテキストを導出するため処理量を削減と、コンテキスト導出処理と復号処理と、コンテキストの保持する状態のアップデートに伴う遅延削除によるスループット向上効果を得ることができる。
 なお、本構成では、高周波数成分の部分領域R3に対する構成を示すが、コンテキストの保持する状態のアップデートに伴う遅延削除によるスループット向上効果は、ブロックおよびサブブロック内で連続する周波数位置において異なるオフセット値ctxIdxを算出し、このオフセット値ctxIdxとある開始点との和から、コンテキストインデックスsigCtxを算出する他の構成においても利用することができる。
 なお、コンテキスト更新遅延除去を考慮する場合においても、高周波位置コンテキスト導出部124dにおいて、周囲参照コンテキスト導出部124cで用いるコンテキストを用いることもできる。すなわち、周囲参照コンテキストを用いる部分領域と、位置コンテキストを用いる高周波領域の部分領域とでコンテキストを共有する構成とすることができる。このような構成について、図60を用いて具体例を説明する。
 図59と図60の処理では、高周波位置コンテキスト導出部124dの処理のみが異なるオフセット値ctxCntを導出した後において、輝度の場合には、以下の式でコンテキストインデックスsigCtxを導出する。
 sigCtx = sigCtxOffsetR2 + ctxCnt
 色差の場合には以下の式でコンテキストインデックスsigCtxを導出する。
 sigCtx = sigCtxOffsetR1 + ctxCnt
 上記処理によって、コンテキスト共有によりコンテキスト用のメモリを低減しながら、位置コンテキストによりコンテキストを導出するため処理量の削減と、コンテキスト導出処理と復号処理と、コンテキストの保持する状態のアップデートとに伴う遅延削除によるスループット向上効果を得ることができる。
 <係数有無フラグ復号部の第9の構成例>
 本実施形態に係る係数有無フラグ復号部の第9の構成例について、図40を参照して説明する。本構成例は、第4の構成例に係る周波数分類部124aにおいて、周波数領域を部分領域R0~R5へ分類する際の条件を変更したものである。なお、上記第7~第8の構成例で示した部材と同一の機能を有する部材には、同一の符号を付し、その説明を省略する。
 図40は、本構成例に係る係数有無フラグ復号部124-Cの構成を示すブロック図である。図40に示すように、本構成例に係る係数有無フラグ復号部124-Cは、サブブロック係数有無フラグ復号部X1、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、および高周波位置コンテキスト導出部124dを備えている。また、係数有無フラグ復号部124-Cにおける復号処理の流れは、図33を用いて説明される。
 (係数有無フラグ復号部124-Cの備えるサブブロック係数有無フラグ復号部X1)
 係数有無フラグ復号部124-Cの備えるサブブロック係数有無フラグ復号部X1は、ビット復号部132より供給されるBinを解釈し、周波数領域を構成する各サブブロックの中に少なくとも1つ非0の変換係数が存在するか否かを示すサブブロック係数有無フラグ(siginificant_coeffgroup_flag)を復号する(図33のステップSY1)。
 続いて、変換ブロック内にあるサブブロック毎に、サブブロック内にある変換係数有無フラグを復号する(図33のステップSY2~ステップSY4)。すなわち、サブブロック係数有無フラグ復号部X1おいて、サブブロック係数有無フラグが1の場合(図33のステップSY2においてYの場合)、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、及び高周波数位置コンテキスト導出部124dを用いてサブブロック内の係数有無フラグを復号する。また、サブブロック係数有無フラグが0の場合(図33のステップSY2においてNの場合)、サブブロック内の係数有無フラグの復号をスキップし、次のサブブロックの処理へ移行する。
 (係数有無フラグ復号部124-Cの備える周波数分類部124a)
 係数有無フラグ復号部124-Cの備える周波数分類部124aは、周波数領域における復号対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、及び高周波数位置コンテキスト導出部124dの何れかによって導出されたコンテキストインデックスctxIdxを、当該復号対象の周波数成分に割り付ける(図33のステップSY3)。
 係数有無フラグ復号部124-Cの備える周波数分類部124aは、周波数領域に含まれる各周波数成分の当該周波数領域における位置(uiPosX、uiPosY)を参照し、当該周波数成分を5つの部分領域R0~R4に分類する。ここで、uiPosX=0、1、...、sz-1であり、uiPosY=0、1、...、sz-1であるとする(szは、上述のように処理対象TUの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表しており、例えば、sz=16,32等である)。
 ここで、sz×szブロックの周波数領域を4×4サブブロックに分割し、当該周波数成分(uiPosX、uiPosY)が属するサブブロックの位置を(xCG,yCG)とする。なお、当該周波数成分の属するサブブロック位置(xCG,yCG)は下記式(eq.C1)~(eq.C2)により導出される。
 xCG=uiPosX>>2 ・・・(eq.C1)
 yCG=uiPosY>>2 ・・・(eq.C2)
 ここで、xCG=0、1、...、(sz-1)>>2であり、yCG=0、1、...、(sz-1)>>2であるとする。
 係数有無フラグ復号部124-Cの備える周波数分類部124aは、より具体的には、以下の分類処理を行う。
 (1)xCG+yCG<THC、かつ、uiPosX+uiPosY<THZを満たす周波数成分を部分領域R0に分類する
 (2)xCG+yCG<THC、かつ、THZ≦uiPosX+uiPosY<TH1を満たす周波数成分を部分領域R1に分類する。
 (3)xCG+yCG<THC、かつ、TH1≦uiPosX+uiPosYを満たす周波数成分を部分領域R2に分類する。
 (4)THC≦xCG+yCG<THDを満たす周波数成分を部分領域R3に分類する。
 (5)THD≦xCG+yCGを満たす周波数成分を部分領域R4に分類する。
 上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if( xCG+yCG<THC ){
 if( uiPosX+uiPosY<THZ ){
   R0へ分類
  }
  else if( uiPosX+uiPosY<TH1){ 
   R1へ分類
  }
  else { //if(uiPosX+uiPosY>=TH1)
   R2へ分類
  }

else if( xCG+yCG<THD ){
  R3へ分類

else { // if(xCG+yCG>=THD
  R4へ分類
}
*******************************************************************
 ここで、閾値THZは2を用いる。また、閾値TH1=5である。また、閾値THC、及びTHDの具体的な値としては、例えば、周波数領域のサイズlog2TrafoSizeを用いて、次のように設定すればよい。
 THC=1<<(log2TrafoSize-2)、
 THD=1<<(log2TrafoSize-2)+2
 すなわち、周波数領域のサイズが16×16である場合、THC=4、THD=6とし、周波数領域のサイズが32×32である場合、THC=8、THD=10と設定する。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
 図41は、係数有無フラグ復号部124-Cの備える周波数分類部124aによる分類処理によって、部分領域R0、R1、R2、R3、及びR4に分割された周波数領域の一例を示している。
 係数有無フラグ復号部124-Cの備える周波数分類部124aは、部分領域R0に属する周波数成分に対して、低周波位置コンテキスト導出部124bによって導出されたコンテキストインデックスを割り付け、部分領域R1、R2及びR3に属する周波数成分に対して、周辺参照コンテキスト導出部124cによって導出されたコンテキストインデックスを割り付け、部分領域R3に属する周波数成分に対して、高周波数位置コンテキスト導出部124dによって導出されたコンテキストインデックスを割り付ける。
 また、係数有無フラグ復号部124-Cの備える周波数分類部124aは、算術符号復号部130でシンタックスsignificant_coeff_flagを復号するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される(図33のステップSY4)。復号されたシンタックスsignificant_coeff_flagは、復号係数記憶部126に格納され、係数値復号部125によって参照される。また、復号の際に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
 以下では、各部分領域R0~R4に対応するコンテキスト導出について具体的に説明する。
 (係数有無フラグ復号部124-Cの備える低周波位置コンテキスト導出部124b)
 係数有無フラグ復号部124-Cの備える低周波位置コンテキスト導出部124bは、復号対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
 係数有無フラグ復号部124-Cの備える低周波位置コンテキスト導出部124bは、部分領域R0に属する周波数成分に対して、以下の式(eq.C3)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+2×uiPosX + uiPosY ・・・(eq.C3)
 なお、NXはコンテキストインデックスの開始点を表す定数である。周波数領域のサイズが4×4及び8×8で用いるコンテキスト数が各々N4個、N8個の場合には、周波数領域のサイズが16×16および32×32の開始点はNX=N4+N8になる。
 (係数有無フラグ復号部124-Cの備える周辺参照コンテキスト導出部124c)
 係数有無フラグ復号部124-Cの備える周辺参照コンテキスト導出部124cは、復号対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について復号済みの非0変換係数の数cntに基づいて導出する。
 係数有無フラグ復号部124-Cの備える周辺参照コンテキスト導出部124cは、部分領域R1に属する周波数成分に対して式(eq.C4)を用い、部分領域R2に属する周波数成分に対して式(eq.C5)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+3+min(2、temp) ・・・(eq.C4)
  temp=(cnt+1)>>1
  ctxIdx=NX+6+min(2、temp) ・・・(eq.C5)
  temp=(cnt+1)>>1
 なお、部分領域R1、及びR2において、非0変換係数のカウント数cntは、図10(a)または図10(b)に示す(C1、C2、C3、C4、C5)を用いて、以下の式(eq.C6)によって導出する。
  cnt=(c1!=0)+(c2!=0)+(c3!=0)+(c4!=0)+(c5!=0) ・・・(eq.C6)
 あるいは、図36(a)に示す参照周波数成分(c1、c2、c4、c5)を用いて、対象とする変換係数の位置の、処理順で直前(処理順が逆スキャン順である場合には、対象とする変換係数の位置の下側)に位置する座標(c3)の変換係数を参照しないようにした以下の式(eq.C7)によって導出してもよい。このような処理は、ある位置の係数有無フラグの復号に用いるコンテキスト導出を、直前の係数有無フラグの値を参照せずに行うことができるため、コンテキスト導出処理と復号処理とを並列に処理することができる。
  cnt=(c1!=0)+(c2!=0)+(c4!=0)+(c5!=0) ・・・(eq.C7)
 また、本構成例に係る辺参照コンテキスト導出部124cは、部分領域R3に属する周波数成分に対して、以下の式(eq.C8)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+9+min(2、temp) ・・・(eq.C8)
  temp=(cnt+1)>>1
 また、部分領域R3において、非ゼロ変換係数のカウント数cntは、図15(i)に示す3つの参照周波数成分(c1、c3、c4)を用いて、以下の式(eq.C9)によって導出する。
  cnt=(c1!=0)+(c3!=0)+(c4!=0) ・・・(eq.C9)
 ここで、各項は、()内の比較が真である場合に1をとり、()内の比較が偽である場合に0をとるものとする。
 また、参照周波数成分は、図15(i)に示すc1、c3、c4に限定されず、図15(c)、(d)、(e)、(f)にそれぞれ示す3つの参照周波数成分を用いてもよい。
 なお、部分領域R3のコンテキストインデックスctxIdxの導出として、式(eq.C8)に限定されず、式(eq.C10)のようにしてもよい。
  ctxIdx=NX+9+min(2、cnt) ・・・(eq.C10)
 (係数有無フラグ復号部124-Cの備える高周波位置コンテキスト導出部124d)
 係数有無フラグ復号部124-Cの備える高周波位置コンテキスト導出部124dは、復号対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
 係数有無フラグ復号部124-Cの備える高周波位置コンテキスト導出部124dは、部分領域R4に属する周波数成分に対して、以下の式(eq.C11)を用いてコンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部124aに供給する。
  ctxIdx=NX+11+min(maxR3、(xCG+yCG-THD)>>shift) ・・・(eq.C11)
 ここで、shift及びmaxR3としては、例えば、対象周波数領域のサイズが16×16の場合は、shift=0、maxR3=3を用い、対象周波数領域のサイズが32×32の場合は、shift=1、maxR3=3を用いればよいが、本実施形態はこれに限定されるものではない。
 なお、係数有無フラグ復号部124-Cの備える周波数分類部124aによる分類処理によって、分割される周波数領域の例は、図41に示すものに限定されるものではなく、例えば、図42に示すように周波数領域を分割してもよい。すなわち、周波数分類部124aは、次のように周波数領域を部分領域R0、R1、R2、R3、及びR4に分類する構成としてもよい。
 (1)xCG+yCG<THE、かつ、uiPosX+uiPosY<THZを満たす周波数成分を部分領域R0に分類する。
 (2)xCG+yCG<THE、かつ、THZ≦uiPosX+uiPosY、を満たす周波数成分を部分領域R1に分類する。
 (3)THE≦xCG+yCG<THFを満たす周波数成分を部分領域R2に分類する。
 (4)THF≦xCG+yCG<THGを満たす周波数成分を部分領域R3に分類する。
 (5)THG≦xCG+yCGを満たす周波数成分を部分領域R4に分類する。
 上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if( xCG+yCG<THE ){
  if( uiPosX+uiPosY<THZ ){
   R0へ分類
  }
  else{ // if( uiPosX+uiPosY>=THZ )
  R1へ分類
  }
}
else if( xCG+yCG<THF ){
  R2へ分類
}
else if( xCG+yCG<THG ){
  R3へ分類
}
else{ // xCG+yCG>=THG
  R4へ分類
}
*******************************************************************
 ここで、閾値THZは2を用いる。また、閾値THE、THF及びTHGの具体的な値としては、例えば、周波数領域のサイズ(処理対象TUのサイズ)log2TrafoSizeを用いて、
 THE=1
 THF=1<<(log2TrafoSize-2)
 THG=1<<(log2TrafoSize-2)+2
と設定すればよい。すなわち、周波数領域のサイズが16×16である場合、THE=1、THF=2、THG=4とし、周波数領域のサイズが32×32である場合、THE=1、THF=4、THG=10としてもよい。このように、周波数領域のサイズに応じて、異なる閾値を用いる構成としてもよい。
 以上のように、本構成例に係る係数有無フラグ復号部によれば、所定の閾値THFより高周波数側の部分領域(例えば、図41の部分領域R3)では、各変換係数有無フラグに割り付けるコンテキストインデックス導出において、参照する復号済みの非0変換係数の数が、低周波数側の部分領域(例えば、図41の部分領域R2)において参照する復号済みの非0変換係数の数よりも小さいため、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。さらに別の閾値THGより高周波数側の部分領域(例えば、図41の部分領域R4)においては、コンテキストインデックスを周囲参照によらず位置に基づいて導出するので、さらに処理量を削減することができる。また、位置参照は、コンテキストの導出に既に復号した係数有無フラグの値を用いないため、並列性も向上させることができる。
 なお、上記の構成では、周波数分類部124aが5つの部分領域に分類を行っているが、3つの部分領域に分類する構成でも良い。例えば、
 (1)uiPosX+uiPosY<THZ、かつ、xCG+yCG<THGを満たす周波数成分を部分領域R0に分類する。
 (2)・THZ≦uiPosX+uiPosY、かつ、xCG+yCG<THGを満たす周波数成分を部分領域R1に分類する。
 (3)THG≦xCG+yCGを満たす周波数成分を部分領域R4に分類する、としても良い。
 上記分類処理に対応する疑似コードは次の通りである。
*******************************************************************
if ( xCG+yCG<THG ){
  if( uiPosX+uiPosY<THZ ){
   R0へ分類
  }
  else{ //if( uiPosX+uiPosY>=THZ)
   R1へ分類
  }

else {// if( xCG+yCG>=THG)
  R4へ分類}
*******************************************************************
 以上のように、本構成例に係る係数有無フラグ復号部124-Cにおいて、周波数分類部124aは、対象周波数領域を、処理対象の変換係数有無フラグの位置と、その変換係数有無フラグが属するサブブロックの位置に応じて、少なくとも3つの部分領域に分類するものであり、
 周辺参照コンテキスト導出部124cは、
  第1の部分領域(部分領域R1またはR2)では、復号済みの非0変換係数をN1個(N1は自然数)参照し、
  第2の部分領域(部分領域R3)では、復号済みの非0変換係数をN2個(N2はN2<N1を満たす自然数)参照することによって、コンテキストインデックスを導出し、
  第3の部分領域(部分領域R4)では、高周波位置コンテキスト導出部124dが、変換係数有無フラグの属するサブブロックの位置に応じて、コンテキストインデックスを導出する。
 上記の構成によれば、コンテキストインデックスを導出するために参照する復号済みの非0変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置と、該変換係数有無フラグの属するサブブロックの位置とに基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 (動画像符号化装置2)
 本実施形態に係る動画像符号化装置2の構成について図26~図28を参照して説明する。動画像符号化装置2は、H.264/MPEG-4 AVC規格に採用されている技術、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、TMuC(Test Model under Consideration)ソフトウェアに採用されている技術、および、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している符号化装置である。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
 図26は、動画像符号化装置2の構成を示すブロック図である。図26に示すように、動画像符号化装置2は、予測画像生成部21、変換・量子化部22、逆量子化・逆変換部23、加算器24、フレームメモリ25、ループフィルタ26、可変長符号符号化部27、および、減算器28を備えている。また、図26に示すように、予測画像生成部21は、イントラ予測画像生成部21a、動きベクトル検出部21b、インター予測画像生成部21c、予測方式制御部21d、および、動きベクトル冗長性削除部21eを備えている。動画像符号化装置2は、動画像#10(符号化対象画像)を符号化することによって、符号化データ#1を生成する装置である。
 (予測画像生成部21)
 予測画像生成部21は、処理対象LCUを、1または複数の下位CUに再帰的に分割し、各リーフCUをさらに1または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Pred_Inter、または、画面内予測を用いたイントラ予測画像Pred_Intraを生成する。生成されたインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraは、予測画像Predとして、加算器24および減算器28に供給される。
 なお、予測画像生成部21は、スキップモードの適応されたPUについては、当該PUに属する他のパラメータの符号化を省略する。また、(1)対象LCUにおける下位CUおよびパーティションへの分割の態様、(2)スキップモードを適用するか否か、および、(3)パーティション毎にインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraの何れを生成するか、は、符号化効率を最適化するように決定される。
 (イントラ予測画像生成部21a)
 イントラ予測画像生成部21aは、画面内予測によって、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)各パーティションついてイントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部21aは、生成したイントラ予測画像Pred_Intraを、予測方式制御部21dに供給する。
 また、イントラ予測画像生成部21aは、対象パーティションの周辺のパーティションに割り付けられた予測モードから対象パーティションに対する推定予測モードを決定し、当該推定予測モードと、対象パーティションについて実際に選択された予測モードとが同じであるか否かを示す推定予測モードフラグを、イントラ予測パラメータPP_Intraの一部として、予測方式制御部21dを介して可変長符号符号化部27に供給し、可変長符号符号化部27は、当該フラグを、符号化データ#1に含める構成とする。
 また、イントラ予測画像生成部21aは、対象パーティションについての推定予測モードと、対象パーティションについて実際に選択された予測モードとが異なる場合には、対象パーティションについての予測モードを示す残余予測モードインデックスを、イントラ予測パラメータPP_Intraの一部として、予測方式制御部21dを介して可変長符号符号化部27に供給し、可変長符号符号化部27は当該残余予測モードインデックスを符号化データ#1に含める構成とする。
 (動きベクトル検出部21b)
 動きベクトル検出部21bは、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用する適応フィルタ済復号画像P_ALF’を選択し、(2)選択した適応フィルタ済復号画像P_ALF’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルmvを検出する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ26による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部21bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。動きベクトル検出部21bは、検出した動きベクトルmvを、参照画像として利用した適応フィルタ済復号画像P_ALF’を指定する参照画像インデックスRIと共に、インター予測画像生成部21c及び動きベクトル冗長性削除部21eに供給する。
 (インター予測画像生成部21c)
 インター予測画像生成部21cは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部21bから供給された動きベクトルmvを用いて、動きベクトル検出部21bから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。動きベクトル検出部21bと同様に、インター予測画像生成部21cは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。インター予測画像生成部21cは、生成した動き補償画像mc(インター予測画像Pred_Inter)を、動きベクトル検出部21bから供給された参照画像インデックスRIと共に、予測方式制御部21dに供給する。
 (予測方式制御部21d)
 予測方式制御部21dは、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部21dは、イントラ予測画像Pred_Intraを予測画像Predとして加算器24及び減算器28に供給すると共に、イントラ予測画像生成部21aから供給されるイントラ予測パラメータPP_Intraを可変長符号符号化部27に供給する。一方、インター予測を選択した場合、予測方式制御部21dは、インター予測画像Pred_Interを予測画像Predとして加算器24及び減算器28に供給すると共に、参照画像インデックスRI、並びに、後述する動きベクトル冗長性削除部21eから供給された推定動きベクトルインデックスPMVI及び動きベクトル残差MVDをインター予測パラメータPP_Interとして可変長符号符号化部27に供給する。また、予測方式制御部21dは、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interのうち何れの予測画像を選択したのかを示す予測タイプ情報Pred_typeを可変長符号符号化部27に供給する。
 (動きベクトル冗長性削除部21e)
 動きベクトル冗長性削除部21eは、動きベクトル検出部21bによって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部21eは、生成した動きベクトル残差MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、予測方式制御部21dに供給する。
 (変換・量子化部22)
 変換・量子化部22は、(1)符号化対象画像から予測画像Predを減算した予測残差Dに対してブロック(変換単位)毎にDCT変換(Discrete Cosine Transform)等の周波数変換を施し、(2)周波数変換により得られた変換係数Coeff_IQを量子化し、(3)量子化により得られた変換係数Coeffを可変長符号符号化部27及び逆量子化・逆変換部23に供給する。なお、変換・量子化部22は、(1)量子化の際に用いる量子化ステップQPをTU毎に選択し、(2)選択した量子化ステップQPの大きさを示す量子化パラメータ差分Δqpを可変長符号符号化部28に供給し、(3)選択した量子化ステップQPを逆量子化・逆変換部23に供給する。ここで、量子化パラメータ差分Δqpとは、周波数変換及び量子化するTUに関する量子化パラメータqp(例えばQP=2pq/6)の値から、直前に周波数変換及び量子化したTUに関する量子化パラメータqp’の値を減算して得られる差分値のことを指す。
 なお、変換・量子化部22によって行われるDCT変換は、例えば、対象ブロックのサイズが8×8画素である場合、水平方向の周波数uおよび垂直方向の周波数vについての量子化前の変換係数をCoeff_IQ(u、v)(0≦u≦7、0≦v≦7)と表すことにすると、例えば、以下の数式(2)によって与えられる。
Figure JPOXMLDOC01-appb-M000002
 
 ここで、D(i、j)(0≦i≦7、0≦j≦7)は、対象ブロックにおける位置(i、j)での予測残差Dを表している。また、C(u)およびC(v)は、以下のように与えられる。
 ・C(u)=1/√2 (u=0)
 ・C(u)=1    (u≠0)
 ・C(v)=1/√2 (v=0)
 ・C(v)=1    (v≠0)
 (逆量子化・逆変換部23)
 逆量子化・逆変換部23は、(1)量子化された変換係数Coeffを逆量子化し、(2)逆量子化によって得られた変換係数Coeff_IQに対して逆DCT(Discrete Cosine Transform)変換等の逆周波数変換を施し、(3)逆周波数変換によって得られた予測残差Dを加算器24に供給する。量子化された変換係数Coeffを逆量子化する際には、変換・量子化部22から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部22に入力される予測残差Dに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。逆量子化・逆変換部23のより具体的な動作は、動画像復号装置1の備える逆量子化・逆変換部13とほぼ同様である。
 (加算器24)
 加算器24は、予測方式制御部21dにて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、(局所)復号画像Pを生成する。加算器24にて生成された(局所)復号画像Pは、ループフィルタ26に供給されると共にフレームメモリ25に格納され、イントラ予測における参照画像として利用される。
 (可変長符号符号化部27)
 可変長符号符号化部27は、(1)変換・量子化部22から供給された量子化後の変換係数Coeff並びにΔqp、(2)予測方式制御部21dから供給された量子化パラメータPP(インター予測パラメータPP_Inter、および、イントラ予測パラメータPP_Intra)、(3)予測タイプ情報Pred_type、および、(4)ループフィルタ26から供給されたフィルタパラメータFPを可変長符号化することによって、符号化データ#1を生成する。
 図27は、可変長符号符号化部27の構成を示すブロック図である。図27に示すように、可変長符号符号化部27は、量子化後の変換係数Coeffを符号化する量子化残差情報符号化部271、予測パラメータPPを符号化する予測パラメータ符号化部272、予測タイプ情報Pred_typeを符号化する予測タイプ情報符号化部273、および、フィルタパラメータFPを符号化するフィルタパラメータ符号化部274を備えている。量子化残差情報符号化部271の具体的な構成については後述するためここでは説明を省略する。
 (減算器28)
 減算器28は、予測方式制御部21dにて選択された予測画像Predを、符号化対象画像から減算することによって、予測残差Dを生成する。減算器28にて生成された予測残差Dは、変換・量子化部22によって周波数変換及び量子化される。
 (ループフィルタ26)
 ループフィルタ26は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive Loop Filter)としての機能を有している。
 (量子化残差情報符号化部271)
 量子化残差情報符号化部271は、量子化された変換係数Coeff(uiPosX、uiPosY)をコンテキスト適応型2値算術符号化(CABAC:(Context-based Adaptive Binary Arithmetic Coding))することによって、量子化残差情報QDを生成する。生成された量子化残差情報QDに含まれるシンタックスは、図5に示した通りである。
 なお、uiPosXおよびuiPosYは、上述のように、周波数領域における各周波数成分の位置を表すインデックスであり、それぞれ、上述した水平方向周波数uおよび垂直方向周波数vに対応するインデックスである。なお、以下では、量子化された変換係数Coeffを、単に、変換係数Coeffと呼ぶこともある。
 (量子化残差情報符号化部271)
 図28は、量子化残差情報符号化部271の構成を示すブロック図である。図28に示すように、量子化残差情報符号化部271は、変換係数符号化部220及び算術符号符号化部230を備えている。
 (算術符号符号化部230)
 算術符号符号化部230は、変換係数符号化部220から供給される各Binをコンテキストを参照して符号化することによって量子化残差情報QDを生成するための構成であり、図1に示すように、コンテキスト記録更新部231及びビット符号化部232を備えている。
 (コンテキスト記録更新部231)
 コンテキスト記録更新部231は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数CVを記録及び更新するための構成である。ここで、コンテキスト変数CVには、(1)発生確率が高い優勢シンボルMPS(most probable symbol)と、(2)その優勢シンボルMPSの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
 コンテキスト記録更新部231は、変換係数符号化部220の備える各部から供給されるコンテキストインデックスctxIdx及びビット符号化部232によって符号化されたBinの値を参照することによってコンテキスト変数CVを更新すると共に、更新されたコンテキスト変数CVを次回更新されるまで記録する。なお、優勢シンボルMPSは0か1である。また、優勢シンボルMPSと確率状態インデックスpStateIdxは、ビット符号化部132がBinを1つ符号化する毎に更新される。
 また、コンテキストインデックスctxIdxは、各周波数成分についてのコンテキストを直接指定するものであってもよいし、処理対象のTU毎に設定されるコンテキストインデックスのオフセットからの増分値であってもよい(以下同様)。
 (ビット符号化部232)
 ビット符号化部232は、コンテキスト記録更新部231に記録されているコンテキスト変数CVを参照し、変換係数符号化部220の備える各部から供給される各Binを符号化することによって量子化残差情報QDを生成する。また、符号化したBinの値はコンテキスト記録更新部231にも供給され、コンテキスト変数CVを更新するために参照される。
 (変換係数符号化部220)
 図28に示すように、変換係数符号化部220は、ラスト位置符号化部221、スキャン順テーブル格納部222、係数符号化制御部223、係数有無フラグ符号化部、係数値符号化部225、符号化係数記憶部226及びシンタックス導出部227を備えている。
 (シンタックス導出部227)
 シンタックス導出部227は、変換係数Coeff(uiPosX、uiPosY)の各値を参照し、対象周波数領域におけるこれらの変換係数を特定するためのシンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_minus3の各値を導出する。導出された各シンタックスは、符号化係数記憶部226に供給される。また、導出されたシンタックスのうちlast_significant_coeff_x、last_significant_coeff_yは、係数符号化制御部223及びラスト位置符号化部221にも供給される。また、導出されたシンタックスのうちsignificant_coeff_flagは、係数有無フラグ符号化部224もに供給される。なお、各シンタックスが示す内容については上述したためここでは説明を省略する。
 (ラスト位置符号化部221)
 ラスト位置符号化部221は、シンタックス導出部227より供給されるシンタックスlast_significant_coeff_x、last_significant_coeff_yを符号化する。また、これらのシンタックスを符号化して得られた各Binをビット符号化部232に供給する。また、シンタックスlast_significant_coeff_x及びlast_significant_coeff_yの符号化に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部231に供給される。
 (スキャン順テーブル格納部222)
 スキャン順テーブル格納部222には、処理対象のTUのサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。このようなスキャン順テーブルの一例としては、図5に示したScanOrderが挙げられる。
 (係数符号化制御部223)
 係数符号化制御部223は、量子化残差情報符号化部271の備える各部における符号化処理の順序を制御するための構成である。係数符号化制御部223は、シンタックス導出部227より供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部222に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置(uiPosX、uiPosY)を、係数有無フラグ符号化部に供給する。
 なお、係数符号化制御部223は、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、最初の成分(DC成分)を起点とし、特定した最後の非0変換係数の位置を終端とするスキャン順であって、スキャン順テーブル格納部222に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置(uiPosX、uiPosY)を、係数有無フラグ符号化部に供給する構成としてもよい。
 (係数値符号化部225)
 係数値符号化部225は、シンタックス導出部227から供給されるシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_minus3を符号化する。また、これらのシンタックスを符号化して得られた各Binをビット符号化部232に供給する。また、これらのシンタックスの符号化に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部231に供給される。
 (符号化係数記憶部226)
 符号化係数記憶部226は、シンタックス導出部227によって導出されたシンタックスの各値を記憶しておくための構成である。特に、符号化係数記憶部226には、シンタックス導出部227によって導出されたシンタックスsignificant_coeff_flagの各値が記憶される。
 (係数有無フラグ符号化部)
 本実施形態に係る係数有無フラグ符号化部は、周波数領域を、周波数の大きさに応じて1または複数の部分領域に分類し、部分領域毎に定められた導出方法によってコンテキストインデックスctxIdxを導出すると共に、導出したコンテキストインデックスctxIdxを用いて非0変換係数の有無を示すシンタックスsignificant_coeff_flagを符号化するための構成である。
 <係数有無フラグ符号化部の第1の構成例>
 図28には、本実施形態に係る係数有無フラグ符号化部の第1の構成例としての係数有無フラグ符号化部224が示されている。
 図28に示すように、本構成例に係る係数有無フラグ符号化部224は、周波数分類部224a、低周波位置コンテキスト導出部224b、周辺参照コンテキスト導出部224c、高周波位置コンテキスト導出部224dを備えている。
 (周波数分類部224a)
 周波数分類部224aは、周波数領域における符号化対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部224b、周辺参照コンテキスト導出部224c、及び高周波位置コンテキスト導出部224dの何れかによって導出されたコンテキストインデックスctxIdxを、当該符号化対象の周波数成分に割り付けるための構成である。
 周波数分類部224aは、算術符号符号化部230でシンタックスsignificant_coeff_flagを符号化するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズおよび復号対象の周波数成分毎に算出される。
 本構成例に係る周波数分類部224aによる他の具体的は処理は、動画像復号装置1の備える周波数分類部124aと同様であるため、ここでは説明を省略する。
 (低周波位置コンテキスト導出部224b)
 低周波位置コンテキスト導出部224bは、符号化対象の周波数成分が、低周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出するための構成である。
 本構成例に係る低周波位置コンテキスト導出部224bによる具体的な処理は、動画像復号装置1の備える低周波位置コンテキスト導出部124bと同様であるため、ここでは説明を省略する。
 (周辺参照コンテキスト導出部224c)
 周辺参照コンテキスト導出部224cは、符号化対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について符号化済みの非0変換係数の数に基づいて導出するための構成である。
 本構成例に係る周辺参照コンテキスト導出部224cによる具体的な処理は、動画像復号装置1の備える周辺参照コンテキスト導出部224cと同様であるため、ここでは説明を省略する。
 (高周波位置コンテキスト導出部224d)
 高周波位置コンテキスト導出部224dは、符号化対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出するための構成である。
 本構成例に係る高周波位置コンテキスト導出部224dによる具体的な処理は、動画像復号装置1の備える高周波位置コンテキスト導出部124dと同様であるため、ここでは説明を省略する。
 <係数有無フラグ符号化部の第2の構成例>
 本実施形態に係る係数有無フラグ符号化部は、動画像復号装置1の備える係数有無フラグ復号部124-1に対応する構成としてもよい。
 具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124c、前スキャン列コンテキスト導出部124e、及び非0変換係数カウント部124fと同様の各部を備える構成とすることができる。
 これらの各部については、動画像復号装置1の備える係数有無フラグ復号部124-1の説明において述べたためここでは説明を省略する。
 <係数有無フラグ符号化部の第3の構成例>
 本実施形態に係る係数有無フラグ符号化部は、動画像復号装置1の備える係数有無フラグ復号部124-2に対応する構成としてもよい。
 具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部124a、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124gと同様の各部を備える構成とすることができる。
 これらの各部については、動画像復号装置1の備える係数有無フラグ復号部124-2の説明において述べたためここでは説明を省略する。
 また、係数有無フラグ復号部124-2の構成は、係数有無フラグ符号化部の第3の構成例の別の構成例に示す構成としてもよい。
 <係数有無フラグ符号化部の第4の構成例>
 本実施形態に係る係数有無フラグ符号化部は、動画像復号装置1の備える係数有無フラグ復号部124’に対応する構成としてもよい。
 具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部124a´、低周波位置コンテキスト導出部124b、周辺参照コンテキスト導出部124g、および高周波位置コンテキスト導出部124dと同様の各部を備える構成とすることができる。
 これらの各部については、動画像復号装置1の備える係数有無フラグ復号部124’の説明において述べたためここでは説明を省略する。
 <係数有無フラグ符号化部の第5の構成例>
 本実施形態に係る係数有無フラグ符号化部は、動画像復号装置1の備える係数有無フラグ復号部124-3に対応する構成としてもよい。
 具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部124a、低周波位置コンテキスト導出部124b、高周波領域コンテキスト導出部124h、周辺参照コンテキスト導出部124i、前スキャン列コンテキスト導出部124e、非0変換係数カウント部124fと同様の各部を備える構成とすることができる。
 これらの各部については、動画像復号装置1の備える係数有無フラグ復号部124-3の説明において述べたためここでは説明を省略する。
 <係数有無フラグ符号化部の第6の構成例>
 本実施形態に係る係数有無フラグ符号化部は、動画像復号装置1の備える係数有無フラグ復号部124-4に対応する構成としてもよい。
 具体的には、本構成例に係る係数有無フラグ符号化部は、周波数分類部124a、低周波位置コンテキスト導出部124b、及び周辺参照コンテキスト導出部124kと同様の各部を備える構成とすることができる。
 これらの各部については、動画像復号装置1の備える係数有無フラグ復号部124-4の説明において述べたためここでは説明を省略する。
 以下では、動画像復号装置1の備える係数有無フラグ復号部の第7~第9の構成に対応する係数有無フラグ符号化部の第7~第9の構成について説明する。係数有無フラグ符号化部の第7~第9の構成は、周波数領域の全体を1つの変換ブロックとして係数有無フラグを符号化するのではなく、変換ブロックを例えば4×4のサブブロックに分割し、サブブロックを単位として係数有無フラグを符号化する。図32は、第7~第9の構成に係る係数有無フラグ符号化部によるサブブロックスキャンを示している。サブブロックを用いて係数有無フラグを符号化する場合には、サブブロック単位で、サブブロック内に少なくとも1つの非0変換係数が存在するか示すフラグ(サブブロック係数有無フラグ)をサブブロック逆スキャン順に符号化する。さらに、サブブロック係数有無フラグが非0である場合において、サブブロック内部の各変換係数について係数有無フラグをサブブロック内部の逆スキャン順に符号化する。
 <係数有無フラグ符号化部の第7の構成>
 図44は、係数有無フラグ復号部124-Aに対応する係数有無フラグ符号化部224-Aの構成を示すブロック図である。また、図43は、本構成例に係る係数有無フラグ符号化部224-Aの動作の流れを示すフローチャートである。
 図44に示すように、本構成例に係る係数有無フラグ符号化部224-Aは、サブブロック係数有無フラグ符号化部X2,周波数分類部224a、低周波位置コンテキスト導出部224b、及び周辺参照コンテキスト導出部224cを備えている。
 (サブブロック係数有無フラグ符号化部X2)
 サブブロック係数有無フラグ符号化部X2は、シンタックス導出部227より供給された対象変換ブロックの周波数領域を構成する各サブブロックの中に少なくとも1つ非0の変換係数が存在するか否かを示すサブブロック係数有無フラグ(significant_coeffgroup_flag)を符号化する(図43のステップSY1’)。また、サブブロック係数有無フラグを符号化して得られた各Binをビット符号化部232に供給する。
 続いて、サブブロック係数有無フラグ符号化部X2は、変換ブロック内にあるサブブロック毎に、サブブロック内に係数有無フラグを符号化する(図43のステップSY2’~ステップSY4’)。すなわち、サブブロック係数有無フラグ符号化部X2において、サブブロック係数有無フラグが1の場合(図43のステップSY2’においてYの場合)、周波数分類部224a、低周波位置コンテキスト導出部224b、周辺参照コンテキスト導出部224cを用いてサブブロック内の係数有無フラグを符号化する。また、サブブロック係数有無フラグが0の場合(図43のステップSY2’において、Nの場合)、サブブロック内の係数有無フラグの符号化をスキップし、次のサブブロックの処理へ移行する。
 なお、図43のサブブロックのループにおいて、sbkIdxは、サブブロックの順スキャンでの対象サブブロックのスキャン順番号を表し、LastSbkIdxは、サブブロックの順スキャンでのラスト係数のあるサブブロックのスキャン順番号を表わす。sz×szの変換ブロックを4×4サブブロックに分割する場合、sbkIdx、およびLastSbkIdxのとる値は、0~(sz>>2)×(sz>>2)-1である。
 (係数有無フラグ符号化部224-Aの備える周波数分類部224a)
 係数有無フラグ符号化部224-Aの備える周波数分類部224aは、周波数領域における符号化対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部224b、及び周辺参照コンテキスト導出部224cの何れかによって導出されたコンテキストインデックスctxIdxを、当該符号化対象の周波数成分に割り付ける(図43のステップSY3’)。
 係数有無フラグ符号化部224-Aの備える周波数分類部224aは、算術符号化部230でシンタックスsignificant_coeff_flagを符号化するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズ及び符号化対象の周波数成分毎に算出される(図43のステップSY4’)。
 係数有無フラグ符号化部224-Aの備える周波数分類部224aによる他の具体的処理は、係数有無フラグ復号部124-Aにおける周波数分類部124aと同様であるため、ここでは説明を省略する。
 以下では、各部分領域R0~R2に対応するコンテキスト導出について説明する。
 (係数有無フラグ符号化部224-Aの備える低周波位置コンテキスト導出部224b)
 係数有無フラグ符号化部224-Aの備える低周波位置コンテキスト導出部224bは、符号化対象の周波数成分が、低周波側の部分領域に含まれる場合、当該周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置に基づいて導出する。
 本構成例に係る低周波位置コンテキスト導出部224bは、部分領域R0に属する周波数成分に対して、係数有無フラグ復号部124-Aにおける低周波位置コンテキスト導出部124bと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部224aへ供給する。
 (係数有無フラグ符号化部224-Aの備える周辺参照コンテキスト導出部224c)
 係数有無フラグ符号化部224-Aの備える周辺参照コンテキスト導出部224cは、符号化対象の周波数成分に対するコンテキストインデックスctxIdxを、当該周波数成分の周辺の周波数成分について符号化済みの非0変換係数の数に基づいて導出する。
 本実施形態に係る周辺参照コンテキスト導出部224cは、部分領域R1、及びR2に属する周波数成分に対して、係数有無フラグ復号部124-Aにおける周辺参照コンテキスト導出部124cと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部224aへ供給する。
 <係数有無フラグ符号化部の第8の構成>
 図45は、係数有無フラグ復号部124-Bに対応する係数有無フラグ符号化部224-Bの構成を示すブロック図である。また、係数有無フラグ符号化部224-Bの動作の流れは、図43に示すフローチャートを用いて説明される。
 図45に示すように、本構成例に係る係数有無フラグ符号化部224-Bは、サブブロック係数有無フラグ符号化部X2,周波数分類部224a、低周波位置コンテキスト導出部224b、周辺参照コンテキスト導出部224c、及び高周波位置コンテキスト導出部224dを備えている。
 (係数有無フラグ符号化部224-Bの備えるサブブロック係数有無フラグ符号化部X2)
 係数有無フラグ符号化部224-Bの備えるサブブロック係数有無フラグ符号化部X2は、シンタックス導出部227より供給された対象変換ブロックの周波数領域を構成する各サブブロックの中に少なくとも1つ非0の変換係数が存在するか否かを示すサブブロック係数有無フラグ(significant_coeffgroup_flag)を符号化する(図43のステップSY1’)。また、サブブロック係数有無フラグを符号化して得られた各Binをビット符号化部232に供給する。
 続いて、変換ブロック内にあるサブブロック毎に、サブブロック内に係数有無フラグを符号化する(図43のステップSY2’~ステップSY4’)。すなわち、サブブロック係数有無フラグ符号化部X2において、サブブロック係数有無フラグが1の場合(図43のステップSY2’においてYの場合)、周波数分類部224a、低周波位置コンテキスト導出部224b、周辺参照コンテキスト導出部224c、高周波位置コンテキスト導出部224dを用いてサブブロック内の係数有無フラグを符号化する。また、サブブロック係数有無フラグが0の場合(図43のステップSY2’においてNの場合)、サブブロック内の係数有無フラグの符号化をスキップし、次のサブブロックの処理へ移行する。
 (係数有無フラグ符号化部224-Bの備える周波数分類部224a)
 係数有無フラグ符号化部224-Bの備える周波数分類部224aは、周波数領域における符号化対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部224b、周辺参照コンテキスト導出部224c、及び高周波位置コンテキスト導出部224dの何れかによって導出されたコンテキストインデックスctxIdxを、当該符号化対象の周波数成分に割り付ける(図43のステップSY3’)。
 係数有無フラグ符号化部224-Bの備える周波数分類部224aは、算術符号化部230でシンタックスsignificant_coeff_flagを符号化するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズ及び符号化対象の周波数成分毎に算出される(図43のステップSY4’)。
 係数有無フラグ符号化部224-Bの備える周波数分類部224aによる他の具体的処理は、係数有無フラグ復号部124-Bにおける周波数分類部124aと同様であるため、ここでは説明を省略する。
 以下では、各部分領域R0~R3に対応するコンテキスト導出について説明する。
 (係数有無フラグ符号化部224-Bの備える低周波位置コンテキスト導出部224b)
 係数有無フラグ符号化部224-Bの備える低周波位置コンテキスト導出部224bは、部分領域R0に属する周波数成分に対して、係数有無フラグ復号部124-Bにおける低周波位置コンテキスト導出部124bと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部224aへ供給する。
 (係数有無フラグ符号化部224-Bの備える周辺参照コンテキスト導出部224c)
 係数有無フラグ符号化部224-Bの備える周辺参照コンテキスト導出部224cは、部分領域R1、及びR2に属する周波数成分に対して、係数有無フラグ復号部124-Bにおける周辺参照コンテキスト導出部124cと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部224aへ供給する。
 (係数有無フラグ符号化部224-Bの備える高周波位置コンテキスト導出部224d)
 係数有無フラグ符号化部224-Bの備える高周波位置コンテキスト導出部224dは、符号化対象の周波数成分が、高周波数側の部分領域に含まれる場合に、当該周波数に対するコンテキストインデックスctxIdxを、周波数領域における当該周波数成分の位置と、当該周波数成分の属するサブブロックの位置に基づて導出する。
 係数有無フラグ符号化部224-Bの備える高周波位置コンテキスト導出部224dは、部分領域R3に属する周波数成分に対して、係数有無フラグ復号部124-Cにおける高周波位置コンテキスト導出部124dと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部224aへ供給する。
 以上のように構成された周波数分類部224aによれば、変換係数の位置によりコンテキスト導出方法を切り替えるための分岐処理を、サブブロック座標(xCG、yCG)を用いた分岐処理にすることができる。(uiPosX、uiPosY)を参照する分岐処理を行う場合に比べ、サブブロック内部で行われる(uiPosX、uiPosY)を参照する分岐処理を省略することができ、コンテキスト導出のスループットを向上させることができる。
 さらに、以上のように構成された係数有無フラグ符号化部およびサブブロック係数有無フラグ符号化部を備えることによって、位置コンテキストは、ある変換係数の位置の係数有無フラグのコンテキストを、既に符号化された係数有無フラグの値によらずに決定するため、係数有無フラグのコンテキスト導出と、係数有無フラグの符号化を並列で行うことができるという効果がある。
 <係数有無フラグ符号化部の第9の構成>
 図46は、係数有無フラグ復号部124-Cに対応する係数有無フラグ符号化部224-Cの構成を示すブロック図である。また、係数有無フラグ符号化部224-Cの動作の流れは、図43に示すフローチャートを用いて説明される。
 図46に示すように、本構成例に係る係数有無フラグ符号化部224-Cは、サブブロック係数有無フラグ符号化部X2,周波数分類部224a、低周波位置コンテキスト導出部224b、周辺参照コンテキスト導出部224c、及び高周波位置コンテキスト導出部224dを備えている。
 (係数有無フラグ符号化部224-Cの備えるサブブロック係数有無フラグ符号化部X2)
 係数有無フラグ符号化部224-Cの備えるサブブロック係数有無フラグ符号化部X2は、係数有無フラグ符号化部224-Bの係数有無フラグ符号化部X2と同様であるため、説明を省略する。
 (周波数分類部224a)
 係数有無フラグ符号化部224-Cの備える周波数分類部224aは、周波数領域における符号化対象の周波数成分の位置に応じて、当該周波数成分を複数の部分領域の何れかに分類すると共に、低周波位置コンテキスト導出部224b、周辺参照コンテキスト導出部224c、及び高周波位置コンテキスト導出部224dの何れかによって導出されたコンテキストインデックスctxIdxを、当該符号化対象の周波数成分に割り付ける(図43のステップSY3’)。
 係数有無フラグ符号化部224-Cの備える周波数分類部224aは、算術符号化部230でシンタックスsignificant_coeff_flagを符号化するために用いるコンテキストを決定するための、コンテキストインデックスctxIdxを算出する。コンテキストインデックスctxIdxは、周波数領域のサイズ及び符号化対象の周波数成分毎に算出される(図43のステップSY4’)。
 係数有無フラグ符号化部224-Cの備える周波数分類部224aによる他の具体的処理は、係数有無フラグ復号部124-Cにおける周波数分類部124aと同様であるため、ここでは説明を省略する。
 以下では、各部分領域R0~R4に対応するコンテキスト導出について説明する。
 (係数有無フラグ符号化部224-Cの備える低周波位置コンテキスト導出部224b)
 係数有無フラグ符号化部224-Cの備える低周波位置コンテキスト導出部224bは、部分領域R0に属する周波数成分に対して、係数有無フラグ復号部124-Cにおける低周波位置コンテキスト導出部124bと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部224aへ供給する。
 (係数有無フラグ符号化部224-Cの備える周辺参照コンテキスト導出部224c)
 係数有無フラグ符号化部224-Cの備える周辺参照コンテキスト導出部224cは、部分領域R1、R2、及びR3に属する周波数成分に対して、係数有無フラグ復号部124-Cにおける周辺参照コンテキスト導出部124cと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部224aへ供給する。
 (係数有無フラグ符号化部224-Cの備える高周波位置コンテキスト導出部224d)
 係数有無フラグ符号化部224-Cの備える高周波位置コンテキスト導出部224dは、部分領域R4に属する周波数成分に対して、係数有無フラグ復号部124-Cにおける高周波位置コンテキスト導出部124dと同様の処理により、コンテキストインデックスctxIdxを導出し、その導出結果ctxIdxを周波数分類部224aへ供給する。
 以上のように、本構成例に係る係数有無フラグ符号化部224-Cによれば、所定の閾値THFより高周波数側の部分領域(例えば、図41の部分領域R3)では、各変換係数有無フラグに割り付けるコンテキストインデックス導出において、参照する符号化済みの非0変換係数の数が、低周波数側の部分領域(例えば、図41の部分領域R2)において参照する符号化済みの非0変換係数の数よりも小さいため、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。さらに別の閾値THGより高周波数側の部分領域(例えば、図41の部分領域R4)においては、コンテキストインデックスを周囲参照によらず位置に基づいて導出するので、さらに処理量を削減することができる。また、位置参照は、コンテキストの導出に既に符号化した係数有無フラグの値を用いないため、並列性も向上させることができる。
 以上のように、本構成例に係る係数有無フラグ符号化部224-Cにおいて、周波数分類部224aは、対象周波数領域を、処理対象の変換係数有無フラグの位置と、その変換係数有無フラグが属するサブブロックの位置に応じて、少なくとも3つの部分領域に分類するものであり、
 周辺参照コンテキスト導出部224cは、
  第1の部分領域(部分領域R1またはR2)では、復号済みの非0変換係数をN1個(N1は自然数)参照し、
  第2の部分領域(部分領域R3)では、復号済みの非0変換係数をN2個(N2はN2<N1を満たす自然数)参照することによって、コンテキストインデックスを導出し、
  第3の部分領域(部分領域R4)では、高周波位置コンテキスト導出部224dが、変換係数有無フラグの属するサブブロックの位置に応じて、コンテキストインデックスを導出する。
 上記の構成によれば、コンテキストインデックスを導出するために参照する符号化済みの非0変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置と、該変換係数有無フラグの属するサブブロックの位置とに基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 (変換係数符号化部220の他の構成例1)
 以上、本実施形態に係る変換係数符号化部220について、主に係数有無フラグ符号化部の構成例を中心に説明したが、本実施形態に係る変換係数符号化部220の構成は、上記の例に限られるものではない。
 例えば、変換係数符号化部220は、下記の条件
  uiPosX+uiPosY<TH2
を満たす周波数成分についての変換係数のみを符号化するよう制限する構成とし、当該制限を適用したか否かを示すフラグhigh_coeff_restriction_flagを、符号化データ#1のシーケンスパラメータセットSPSに含める構成としてもよい。
 また、処理対象のTUが特定のサイズ(例えば、32×32や16×16)である場合にのみ、上記の制限を適用する構成としてもよい。
 具体的な制限の例、及びそれに関連する処理については、(変換係数復号部120の他の構成例1)において述べたものと同様であるため、ここでは説明を省略する。
 (変換係数符号化部220の他の構成例2)
 また、対象TUのサイズが8×8画素である場合、変換係数符号化部220の備える係数有無フラグ符号化部は、以下の式を用いてコンテキストインデックスctxIdxを導出し、各周波数成分に割り付ける構成としてもよい。
  ctxIdx=N8+4×tbl[uiPosY]+tbl[uiPosX]
ここで、
  tbl={0、1、1、2、2、3、3、3}
である。
 なお、N8は、周波数領域のサイズが8×8の場合のコンテキストインデックスの開始点である。
 本構成例に係る係数有無フラグ符号化部による処理は、(変換係数復号部120の他の構成例2)において述べたものと同様であるため、ここでは説明を省略する。
 (動画像復号装置3)
 以下では、本実施形態に係る動画像復号装置の他の例としての動画像復号装置3について図61~図73を参照して説明する。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
 動画像復号装置3は、図7の動画像復号装置1において量子化残差情報復号部111の代わりに量子化残差情報復号部Y111を備えている。
 図61は、動画像復号装置3の量子化残差情報復号部Y111の構成を示すブロック図である。図61に示すように、量子化残差情報復号部Y111は、変換係数復号部Y120及び算術符号復号部130を備えている。
 図61に示すように、変換係数復号部Y120は、ラスト係数位置復号部121、スキャン順テーブル格納部122、係数復号制御部123、係数有無フラグ復号部Y124、係数値復号部Y125、復号係数記憶部126、及び、サブブロック係数有無フラグ復号部Y127を備えている。
 (スキャン順テーブル格納部122)
 スキャン順テーブル格納部122には、処理対象のTU(ブロック)のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。
 また、スキャン順テーブル格納部122には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。
 (係数復号制御部123)
 係数復号制御部123は、量子化残差情報復号部Y111の備える各部における復号処理の順序を制御するための構成である。
 (ブロックサイズが所定のサイズ以下である場合)
 ブロックサイズが所定のサイズ以下である場合、係数復号制御部123は、ラスト係数位置復号部121から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部122に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置(xC、yC)を、係数有無フラグ復号部Y124及び復号係数記憶部126に供給する。
 また、係数復号制御部123は、処理対象のTUのサイズ、すなわち、対象周波数領域のサイズを示すパラメータであるszを、変換係数復号部Y120の備える各部に供給する(図示省略)。ここで、szは、具体的には、処理対象TUの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表すパラメータである。
 なお、係数復号制御部123は、スキャン順テーブル格納部122に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置(xC、yC)を、係数有無フラグ復号部に供給する構成としてもよい。
 (ブロックサイズが所定のサイズよりも大きい場合)
 ブロックサイズが所定のサイズよりも大きい場合、係数復号制御部123は、ラスト係数位置復号部121から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部122に格納されたサブブロックスキャン順テーブルによって与えられるスキャン順の逆スキャン順に、各サブブロックの位置(xCG、yCG)を、サブブロック係数有無フラグ復号部Y127に供給する。
 また、係数復号制御部123は、処理対象となるサブブロックに関して、スキャン順テーブル格納部122に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置(xC、yC)を、係数有無フラグ復号部Y124及び復号係数記憶部126に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、具体的には、斜め方向スキャン(Up-right diagonal scan)を用いればよい。
 (サブブロック係数有無フラグ復号部Y127)
 サブブロック係数有無フラグ復号部Y127は、ビット復号部132から供給される各Binを解釈し、各サブブロック位置(xCG、yCG)によって指定されるシンタックスsignificant_coeffgroup_flag[xCG][yCG]を復号する。また、サブブロック係数有無フラグ復号部Y127は、算術符号復号部130にてシンタックスsignificant_coeffgroup_flag[xCG][yCG]のBinを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。ここで、シンタックスsignificant_coeffgroup_flag[xCG][yCG]は、サブブロック位置(xCG、yCG)によって指定されるサブブロックに、少なくとも1つの非0変換係数が含まれている場合に1をとり、非0変換係数が1つも含まれていない場合に0をとるシンタックスである。復号されたシンタックスsignificant_coeffgroup_flag[xCG][yCG]の値は、復号係数記憶部126に格納される。
 (係数有無フラグ復号部Y124)
 本実施形態に係る係数有無フラグ復号部Y124は、各係数位置(xC、yC)によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を復号する。復号されたシンタックスsignificant_coeff_flag[xC][yC]の値は、復号係数記憶部126に格納される。また、量係数有無フラグ復号部Y124は、算術符号復号部130にてシンタックスsignificant_coeff_flag[xC][yC]のBinを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
 (係数値復号部Y125)
 係数値復号部Y125は、ビット復号部132から供給される各Binを解釈し、処理対象の周波数成分における変換係数(より具体的には非0変換係数)の値を導出する。また、各種シンタックスの復号に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。導出された変換係数の値は、復号係数記憶部126に格納される。
 (復号係数記憶部126)
 復号係数記憶部126は、係数値復号部Y125によって復号された変換係数の各値を記憶しておくための構成である。また、復号係数記憶部126には、量係数有無フラグ復号部Y124によって復号されたシンタックスsignificant_coeff_flagの各値が記憶される。復号係数記憶部126によって記憶されている変換係数の各値は、逆量子化・逆変換部13に供給される。
 (従来技術の量子化残差情報QDの構成)
 図62、図63は、従来技術の量子化残差情報QDの構成を示す。図62及び図63は、従来技術の量子化残差情報QD(図62ではresidual_coding_cabac()と表記)に含まれる各シンタックスが示されている。
 図62は、量子化残差情報QDに含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。図63は、量子化残差情報QDに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
 図62及び図63に示すように、量子化残差情報QDは、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeffgroup_flag、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_minus3を含んでいる。
 量子化残差情報QDに含まれる各シンタックスは、コンテキスト適応型2値算術符号化(CABAC:(Context-based Adaptive Binary Arithmetic Coding))によって符号化されている。図62、図63のDescriptor欄のae(e)は、シンタックスがCABACで符号化されることを意味する。
 図63のDescriptor欄のbypassは、当該シンタックスがバイパスで符号化されることを意味する。H.264/MPEG-4.AVCの規格書によればバイパスで符号化されるか否かは、コンテキストインデックスctxIdxの割り当てを示すテーブルがnaであることで示されるが、ここでは理解しやすいようにシンタックステーブル上に記した。従来技術において、coeff_sign_flag、coeff_abs_level_minus3はバイパスで符号化される。また、バイパスで符号化されるこの2つのシンタックスが連続しているため、この部分の復号処理で高いスループットが得られる。
 (本実施形態の第1の構成の量子化残差情報QD)
 図64~図66は、本実施形態の第1の構成の量子化残差情報QDに含まれる各シンタックスが示されている。
 図64は、量子化残差情報QDに含まれるシンタックスを示すシンタックステーブルの前半部分を示す図である。本構成では、CABAC処理の簡略化を行うか否かを示すフラグcabac_lowcomp_flagの値によって符号化データの構成を切り替える。cabac_lowcomp_flag=0の場合、すなわち簡略化処理を行わない場合には、図65に示すresidual_coding_cabac2_normal()が用いられ、逆にcabac_lowcomp_flag=1の場合、すなわち簡略化処理を行う場合には、図66に示すresidual_coding_cabac2_comp()が用いられる。図65、図66は、量子化残差情報QDに含まれるシンタックスを示すシンタックステーブルの後半部分を示す図である。
 図64~図66に示すように、量子化残差情報QDは、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeffgroup_flag、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_sign_flagを含んでいる。またsignificant_coeff_flag、coeff_abs_level_greater1_flag、coeff_sign_flagはバイパス符号化される。
 図64の前半部分、および図65に示す簡略化処理を行わない場合のシンタックス構成は、図4、図5に示す従来技術のシンタックスと同様である。
 図66の簡略化処理を行う場合のシンタックスでは、変換係数の値を示すシンタックスsignificant_coeff_flagが非バイパスからバイパスに変更される。また、変換係数の絶対値を示すシンタックスが、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_abs_level_minus3の4つから、significant_coeff_flag、coeff_abs_level_minus1の2つに削減される。ある値の表現を複数のシンタックスで表現する場合、復号処理では、基本的には表現に必要なシンタックスの数だけのサイクル数が必要になる。従って、表現に必要なシンタックスを2つ削減すれば2サイクル以上スループットを向上させることができる。また、significant_coeff_flagとcoeff_abs_level_minus1は共にバイパスで符号化され、さらにスループットを向上させることができる。
 以上の構成では、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、M1個(M1は自然数)のシンタックスを復号して各変換係数の値を復号する通常モードと、M2個(M2はM2<M1を満たす自然数)のシンタックスを復号して各変換係数の値を復号する簡略化モードとを選択的に用いることによって各変換係数の値を復号する構成の一例を示した。また、後述の図68~図70の構成の簡略化構成も、このような構成を備える。
 以上の構成では、また、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、上記シンタックス復号手段は、通常モードでは上記M1個のシンタックスについてコンテキストを用いて復号を行い、簡略化モードでは上記M2個のシンタックスについてコンテキストを用いて復号を行うことを特徴とする構成の一例を示した。また、後述の図68~図70の構成の簡略化構成も、このような構成を備える。
 なお、本データ構造に示すように、significant_coeffgroup_flagは非バイパス、すなわちコンテキストを用いて符号化することが望ましい。サブブロックのサイズが4×4の場合、significant_coeffgroup_flagは16個の周波数位置に対して1個のみしか存在しないため、コンテキストを用いてもスループットが低下することはない。
 また、上記簡略化処理を行うモードを簡略化モードとも呼称し、上記簡略化処理を行わないモードを通常モードとも呼称する。
 (本実施形態の変換係数簡略化処理の判定)
 本符号化データを復号する係数有無フラグ復号部Y124および係数値復号部Y125は、簡略化フラグcabac_lowcomp_flagの値に応じて、通常処理と簡略化処理を切り替えることができる。cabac_lowcomp_flagは、SPS、PPS、スライスヘッダなどに含まれる上位レベル簡略化フラグxps_cabac_lowcomp_flagの値と、ラスト位置に応じて導出される。以下、簡略化フラグcabac_lowcomp_flagの導出方法を説明する。
 図72は簡略化フラグcabac_lowcomp_flag導出処理を示すフローチャートである。係数復号制御部123は、各周波数領域での変換係数を復号する場合に、図72の処理を行い、cabac_lowcomp_flagを導出する。
 まず、係数復号制御部123は、各周波数領域の復号毎に簡略化フラグcabac_lowcomp_flagを0に初期化する(SX101)。
 続いて、係数復号制御部123は、上位レベル簡略化フラグxps_cabac_lowcomp_flagが有効を示す1であるか無効を示す0であるかの判定を行い、有効の場合にはSX103に遷移し、それ以外の場合、判定処理を終了する(SX102)。
 また、係数復号制御部123は、last_significant_coeff_pos_x、last_significant_coeff_pos_yで示されるラスト位置が所定の値より大きいか否かの判定を行う(SX103)。ラスト位置が所定の値よりも大きい場合には、簡略化フラグcabac_lowcomp_flagを有効であることを示す1に設定する(SX104)。
 この処理によって、ラスト位置が所定の位置よりも大きい場合のような、変換係数が多く発生する場合には、高速なスループットである簡略化処理を用い、それ以外の場合には符号化効率の高い通常処理を行うことができる。簡略化処理を必要な場合にのみに限定することができるのでスループットを確保しながら高い符号化空率を実現できる。
 図73は、図72のS103で示されるラスト位置が所定の値より大きいか否かの判定の具体例を示す図であり、(a)に示す処理と(b)に示す処理との2つの処理を示す。図73(a)の処理では、係数復号制御部123は、last_significant_coeff_pos_x、last_significant_coeff_pos_yの和と、周波数領域の幅と高さの最大値の定数倍(ここではa倍して2ビット右シフトした値)と大小比較を行う(SX103A)。係数復号制御部123は、この判定により、ラスト位置の和の方が大きい場合には、簡略化フラグを有効にし、逆の場合には簡略化フラグを無効にすれば良い。なお、例えば、上記aとしては3、4、5などの値を用いることができる。例えばaが4の場合には、ラスト位置がスキャン順の順序で約半分の数の位置を超えた場合に簡略化の動作が行われる。
 図73(b)の処理は、周波数領域の幅widthと高さheightが同じ場合と異なる場合で異なる判定を行う。異なる場合とは例えば16×4変換、16×4変換、32×8変換、8×32変換などが該当する。図73(b)のフローチャートに示すように、係数復号制御部123は、周波数領域の幅widthと高さheightが同じであるか否かの判定を行う(SX103B)、同じ場合には、比較の閾値を定めるaにa1を設定し(SX103C)、異なる場合にはaにa2(ここではa2≦a1)を設定する(SX103D)。続いて、last_significant_coeff_pos_x、last_significant_coeff_pos_yの和と、周波数領域の幅と高さの最大値の定数倍(ここではa倍して2ビット右シフトした値)と大小比較を行う(SX103A)。このように判定に用いる閾値として、周波数領域の幅widthと高さheightが異なる場合に、周波数領域の幅widthと高さheightが同じ場合のよりも相対的に小さい値を用いることによって、ラスト位置がスキャン順の順序で、全体のどの程度の割合の位置であるかに基づいて、判定を行うことができる。a1及びa2として、例えば、a2=a1/2を満たすように選ぶことが適当であり、a1=4、a2=2などが適当である。
 (本実施形態に掛る簡略化を行わない場合の係数有無フラグ復号部Y124および係数値復号部Y125の処理)
 以下では、図65を参照して、本符号化データを復号する係数値復号部Y125の簡略化を行わない場合の処理を説明する。まず、係数値復号部Y125は、サブブロック単位での外部ループ(LP_Y70)と、サブブロック内の変換係数を復号する内部ループ(LP_Y71~LP_Y75)の2重ループ処理により、変換係数を復号する。
 係数有無フラグ復号部Y124は、第1の内部ループ(LP_Y71)を処理し、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が16以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非0であり、かつ、ラスト位置以外の場合について、コンテキストを用いてsignificant_coeff_flagを復号する(SYN_Y71)。なお、ラスト位置か否かの判定は以下の式を用いる。
  (xC != last_significant_coeff_x ) || ( yC != last_significant_coeff_y ))
 逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、コンテキストを用いてsignificant_coeff_flagを復号する(SYN_Y72)。
 係数値復号部Y125は第2から第5の内部ループを処理する。
 第2の内部ループ(LP_Y72)では、significant_coeff_flagが0以外である周波数上の位置についてコンテキストを用いてcoeff_abs_level_greater1_flagの復号を行う(SYN_Y73)。
 第3の内部ループ(LP_Y73)では、coeff_abs_level_greater1_flagが0以外である周波数上の位置についてコンテキストを用いてcoeff_abs_level_greater2_flagの復号を行う(SYN_Y74)。
 第4の内部ループ(LP_Y74)では、significant_coeff_flagが0以外である周波数上の位置についてバイパスによりcoeff_sign_flagの復号を行う(SYN_Y75)。
 第5の内部ループ(LP_Y75)では、coeff_abs_level_greater2_flagが0以外である周波数上の位置についてバイパスによりcoeff_abs_level_minus3の復号を行う(SYN_Y76)。さらに、significant_coeff_flagが0以外である周波数上の位置について次の式により、変換係数の値を復号する。
  ( coeff_abs_level_minus3[ n ] + 3 ) * ( 1 ? 2 * coeff_sign_flag[ n ] )
 以上の処理によって、変換係数の値が復号される。
 (本実施形態の第1の簡略化構成の係数有無フラグ復号部Y124および係数値復号部Y125の処理)
 次に、図66を参照して、本符号化データを復号する係数有無フラグ復号部Y124および係数値復号部Y125の簡略化を行う場合の処理を説明する。
 係数有無フラグ復号部Y124は、第1の内部ループ(LP_Y81)を処理し、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が16以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非0であり、かつ、ラスト位置以外の場合について、バイパスによりsignificant_coeff_flagを復号する(SYN_Y81)。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、バイパスによりsignificant_coeff_flagを復号する(SYN_Y82)。
 係数値復号部Y125は第2から第3の内部ループを処理する。
 第2の内部ループ(LP_Y82)では、significant_coeff_flagが0以外である周波数上の位置についてバイパスによりcoeff_sign_flagの復号を行う(SYN_Y83)。
 第3の内部ループ(LP_Y83)では、significant_coeff_flagが0以外である周波数上の位置についてバイパスによりcoeff_abs_level_minus1の復号を行う(SYN_Y84)。さらに、significant_coeff_flagが0以外である周波数上の位置について次の式により、変換係数の値を復号する。
  ( coeff_abs_level_minus1[ n ] + 1 ) * ( 1 ? 2 * coeff_sign_flag[ n ] )
 ここで、coeff_abs_level_minus1のバイナリ化は、ゴロム符号やハフマン符号などを用いればよい。
 簡略化なしの処理と、簡略化有りの処理を比較すると、内部ループの回数が5回から3回に減少する。これによって複数回の内部ループを行う場合に比べループに必要な処理が減るためスループットが向上する。
 以上、第1の構成の符号化データおよび本符号化データを復号する量子化残差情報復号部によれば、簡略化する場合において、変換係数の絶対値を示すシンタックスを1つのシンタックスcoeff_abs_level_minus1で表現し、非0変換係数の有無を示すフラグsignificant_coeff_flagと、符号フラグcoeff_sign_flag、絶対値-1の値coeff_abs_level_minus1を全てバイパスによって符号化/復号することにより、高いスループットの処理が可能になる。また、非0変換係数の有無を示すフラグの内、significant_coeffgroup_flagを非バイパスとし、significant_coeff_flagをバイパスとすることによって高い符号化効率を維持したまま高いスループットの処理が可能になる。
 また、CAVLCのバイナリ化を用いる非特許文献2ではランモードとレベルモードの2つのモードを用いるのに対し、本実施形態の構成では1つのバイナリ化で簡略化処理が可能であるため、処理の構成が単純になるという効果を奏する。特にスループットが課題となる高ビットレートの領域では、変換係数が0となる割合が相対的に低下することから、ランモードと同様の符号化効率をレベルモードで実現できるという知見が有る。本構成では連続する0係数の数を符号化するランモードを用いず、レベルモードに相当する値を直接符号化するモードのみを用いるため、符号化効率を保ちながら、装置構成の複雑度を低下させることができる。第1の構成以外の以下の構成においても適用できる。
 (本実施形態の第2の簡略化構成の量子化残差情報QD)
 本実施形態の第2の簡略化構成では、図66に代わり図67のシンタックス構成を用いる。図67は、本実施形態の第2の簡略化構成の量子化残差情報QDに含まれる各シンタックスが示されている。
 図66ではsignificant_coeff_flagがバイパス符号化されていたが、本構成ではコンテキストを用いる。変換係数の位置によっては、変換係数の値が0である確率が非常に大きいため、非0係数であるか否かを示すsignificant_coeff_flagを全てバイパスにする図66の構成では符号化効率の低下が大きくなることがある。本構成では最も重要なsignificant_coeff_flagに限ってコンテキストを用いることにより、図66の構成よりも高い符号化効率が得られる効果を奏する。
 (本実施形態の第2の簡略化構成の係数有無フラグ復号部Y124および係数値復号部Y125の処理)
 本実施形態の第2の簡略化構成では、係数有無フラグ復号部Y124で処理される第1の内部ループの処理が異なる。以下、図67に示される第1の内部ループ処理を説明する。
 係数有無フラグ復号部Y124は、第1の内部ループ(LP_Y91)を処理し、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が16以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非0であり、かつ、ラスト位置以外の場合について、コンテキストを用いてsignificant_coeff_flagを復号する(SYN_Y91)。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、コンテキストを用いてsignificant_coeff_flagを復号する(SYN_Y92)。
 以上、第2の構成の符号化データおよび本符号化データを復号する量子化残差情報復号部によれば、変換係数の絶対値を示すシンタックスを1つのシンタックスcoeff_abs_level_minus1で表現し、非0変換係数の有無を示すフラグsignificant_coeff_flagにはコンテキスト用い、符号フラグcoeff_sign_flag、絶対値-1の値coeff_abs_level_minus1をバイパスによって符号化/復号することにより、高いスループットの処理が可能になる。また、非0変換係数の有無を示すフラグであるsignificant_coeffgroup_flagとsignificant_coeff_flagとを非バイパスとすることによって高い符号化効率を維持したまま高いスループットの処理が可能になる。
 (本実施形態の第3の簡略化構成の量子化残差情報QD)
 本実施形態の第3の簡略化構成では、図67に代わり図68のシンタックス構成を用いる。図68は、本実施形態の第3の簡略化構成の量子化残差情報QDに含まれる各シンタックスが示されている。
 (本実施形態の第3の簡略化構成の係数有無フラグ復号部Y124および係数値復号部Y125の処理)
 係数値復号部Y125の基本的な動作は第2の構成と同じであるが、第2の構成では、サブブロック内の処理において、符号フラグcoeff_sign_flag、絶対値-1の値coeff_abs_level_minus1を異なる内部ループで処理するが、第3の構成では、以下に示すように2つのシンタックスを一つの内部ループで処理する。
 第1の内部ループ(LP_Y101)では、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が16以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非0であり、かつ、ラスト位置以外の場合について、significant_coeff_flagを復号する(SYN_Y101)。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、significant_coeff_flagを復号する(SYN_Y102)。
 第2の内部ループ(LP_Y102)では、significant_coeff_flagが0以外である周波数上の位置についてバイパスによりcoeff_sign_flagを復号を行う(SYN_Y103)。さらに、バイパスによりcoeff_abs_level_minus1の復号を行う(SYN_Y104)。さらに、significant_coeff_flagが0以外である周波数上の位置について次の式により、変換係数の値を復号する。
  ( coeff_abs_level_minus1[ n ] + 1 ) * ( 1 ? 2 * coeff_sign_flag[ n ] )
 ここで、coeff_abs_level_minus1のバイナリ化は、ゴロム符号やハフマン符号などを用いればよい。
 以上、第3の構成の符号化データの処理によれば、第1の処理、第2の処理に比べ、内部ループの回数が3回から2回に減少する。これによって複数回の内部ループを行う場合に比べ、ループに必要な処理、及び、significant_coeff_flagが0以外であるかを判定する処理が減るためスループットが向上する。すなわち、バイパスのシンタックスである符号フラグcoeff_sign_flag、絶対値-1の値coeff_abs_level_minus1を一つのループで処理するようにインターリーブして符号化することによってスループットを向上させることができる。すなわち、バイパスで処理される2つのシンタックスcoeff_sign_flag、coeff_abs_level_minus1を1つのループ内で連続して配置することによって、スループットを向上させることができる。
 (適応的に簡略化を行う係数有無フラグ復号部Y124の処理)
 以下、より適応的に簡略化を行う係数値復号部Y124の処理を説明する。図72、図73で説明した簡略化フラグcabac_lowcomp_flagの導出方法では、各周波数領域での変換係数を復号する最初の時点でラスト位置を参照することにより簡略化を行うか否かを設定していたが、以下の処理では、各周波数領域での変換係数を復号する最初の時点ではコンテキストを用いて復号処理を行い、周波数領域を構成する周波数成分を復号結果に応じて途中からコンテキストを用いた復号からバイパスによる復号に切り替える。
 より具体的には、係数有無フラグ復号部Y124は、significant_coeff_flagにおいてコンテキストを用いるか否かを示すフラグsignificant_coeff_flag_modeを導出し、このフラグの値がsignificant_coeff_flag_modeが0の場合には、コンテキストを用いてsignificant_coeff_flagを復号し、significant_coeff_flag_modeが1の場合にはコンテキストを用いずバイパス処理によりsignificant_coeff_flagを復号する。
 以下、図67の構成および図68の構成に対応する復号動作を説明する。
 図67の構成の場合は以下の通りである。係数有無フラグ復号部Y124は、第1の内部ループ(LP_Y91)を処理し、significant_coeff_flagの復号を行う。具体的には、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が16以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非0であり、かつ、ラスト位置以外の場合について、significant_coeff_flagを復号する(SYN_Y91)。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合には、ラスト位置以外の場合について、significant_coeff_flagを復号する(SYN_Y92)。図68の構成の場合は、上記説明においてLP_Y91、SYN_Y91、SYN_Y92をLP_Y101、SYN_Y101、SYN_Y102に置き換えた動作になる。適応な簡略化の処理では、SYN_Y91、SYN_Y92、SYN_Y101、SYN_Y102において、significant_coeff_flag_modeが0の場合にコンテキストを用いてsignificant_coeff_flagを復号し、significant_coeff_flag_modeが1の場合にバイパスによりsignificant_coeff_flagを復号する。
 以下、非0係数の復号を簡略化するか否かを示すフラグsignificant_coeff_flag_modeの導出方法を以下2つ説明する。
 非0係数の復号を簡略化するか否かを示すフラグsignificant_coeff_flag_modeの導出方法の例を以下に説明する。最初のサブブロックを処理ではsignificant_coeff_flag_modeを0に設定する。最初のサブブロック以外の処理では、前のサブブロックで設定された値を用いる。1つのサブブロックのsignificant_coeff_flagを復号する時点において、サブブロック内で発生する非0係数の数をカウントする。あるサブブロック内において、前記カウント(significant_coeff_flageの数)が所定の定数N個以上である場合にはsignificant_coeff_flag_modeを1に設定し、次のサブブロックを処理する。それ以外の場合には、前のサブブロックのsignificant_coeff_flag_modeの値を、そのまま次のサブブロックのsignificant_coeff_flag_modeとして用いる。
 (本実施形態の第4、第5の簡略化構成の量子化残差情報QD)
 本実施形態の第4、第5の簡略化構成では、各々図69、図70のシンタックス構成を用いる。図69、図70では、本実施形態の第4、第5の簡略化構成の量子化残差情報QDに含まれる各シンタックスが示されている。
 第1~第3の簡略化構成では、符号化データの値を示すシンタックスsignificant_coeff_flag、絶対値-1の値coeff_abs_level_minus1が2つであったが、第4、第5の構成では、ラスト位置以外は絶対値coeff_abs_levelの一つのシンタックスにすることが特徴である。なお、第4、第5の簡略化構成では、significant_coeff_flagの処理を行わない。そのため、第4、第5の構成では、係数有無フラグ復号部Y124は通常処理でのみ用いられ、簡略化処理の際には、係数有無フラグ復号部Y124は用いられない。
 (本実施形態の第4の簡略化構成の係数値復号部Y125の処理)
 係数値復号部Y125は、第1の内部ループ、第2の内部ループの処理を行う。
 係数値復号部Y125は、第1の内部ループ(LP_Y111)では、coeff_abs_level_minus1及びcoeff_abs_levelの復号を行う。具体的には、対象変換係数の位置がラスト位置の場合には、バイパス処理によりcoeff_abs_level_minus1を復号し、coeff_abs_level=coeff_abs_level_minus1+1によりcoeff_abs_levelを導出する(SYN_Y111)。それ以外は以下の処理を行う。サブブロック係数有無フラグsignificant_coeffgroup_flagを用いる場合、すなわち、周波数領域の幅と高さの最大値が16以上である場合には、significant_coeffgroup_flagを参照し、significant_coeffgroup_flagが非0である場合についてバイパス処理によりcoeff_abs_levelを復号する(SYN_Y112)。逆に、サブブロック係数有無フラグsignificant_coeffgroup_flagを用いない場合にはバイパス処理によりcoeff_abs_levelを復号する(SYN_Y113)。
 係数値復号部Y125は、第2の内部ループ(LP_Y112)では、coeff_abs_levelが0以外である周波数上の位置についてバイパスによりcoeff_sign_flagを復号を行う(SYN_Y114)。さらに、coeff_abs_levelが0以外である周波数上の位置について次の式により、変換係数の値を復号する。
  ( coeff_abs_level[ n ] ) * ( 1 ? 2 * coeff_sign_flag[ n ] )
 以上、第4の構成の符号化データおよび本符号化データを復号する量子化残差情報復号部によれば、変換係数の絶対値であるcoeff_abs_level及び変換係数の絶対値-1であるcoeff_abs_level_minus1をバイパスで符号化することにより、復号処理のスループットを向上させる。非0変換係数の有無を示すフラグの内、significant_coeffgroup_flagを非バイパスとし、significant_coeff_flagをバイパスとすることによって高い符号化効率を維持したまま高いスループットの処理が可能になる。
 (本実施形態の第5の簡略化構成の係数値復号部Y125の処理)
 係数値復号部Y125は、第1の内部ループ、第2の内部ループの処理を行う。
 係数値復号部Y125は、第1の内部ループ(LP_Y121)では、coeff_abs_levelの復号を行う。第4の簡略化構成では、バイパス処理によりcoeff_abs_levelおよびcoeff_abs_level_minus1を復号したが、第5の簡略化構成ではcoeff_abs_levelの先頭ビットについてコンテキストを用いて復号を行い、coeff_abs_levelの先頭ビットより後ろのビットについてはバイパスによって復号する。なお、coeff_abs_level_minus1は全てバイパスによって復号しても良いし、先頭ビットのみをコンテキストを用いても良い。
 図71は、coeff_abs_levelの先頭ビットのみをバイパスにする値のバイナリ構成を説明するための図である。図71に示すように、係数値復号部Y125は、変換係数の値をバイナリ化した場合の先頭ビットでコンテキストを用いる。ここで、より具体的にはcoeff_abs_levelの先頭ビットはsignificant_coeff_flagに相当することから、コンテキストインデックスの導出方法は既に説明した各種方法を用いることができる。
 なお、coeff_abs_levelの先頭ビットを常にコンテキストを用いて復号する必要はない。より具体的には、係数値復号部Y125において、既に説明した処理により、significant_coeff_flag_modeを導出するようにし、significant_coeff_flag_modeの値が0の場合にはコンテキストを用いて復号し、値が1の場合にはバイパスで復号するように切り替えても良い。
 以上、第5の構成の符号化データおよび本符号化データを復号する量子化残差情報復号部によれば、変換係数の絶対値であるcoeff_abs_levelの先頭ビットをコンテキストを用いることに高いスループットと高い符号化効率を両立させることができる。
 (動画像符号化装置4)
 以下では、本実施形態に係るさらなる他の動画像符号化装置である動画像符号化装置4について図74を参照して説明する。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
 動画像符号化装置4は、動画像符号化装置1において、量子化残差情報符号化部271の代わりに量子化残差情報符号化部Y271を用いる。
 (量子化残差情報符号化部Y271)
 図74は、量子化残差情報符号化部Y271の構成を示すブロック図である。図74に示すように、量子化残差情報符号化部Y271は、変換係数符号化部Y220及び算術符号符号化部230を備えている。
 (変換係数符号化部Y220)
 図74に示すように、変換係数符号化部Y220は、ラスト位置符号化部221、スキャン順テーブル格納部222、係数符号化制御部223、係数有無フラグ符号化部Y224、係数値符号化部Y225、符号化係数記憶部226、サブブロック係数有無フラグY227、及びシンタックス導出部Y228を備えている。
 (シンタックス導出部Y228)
 シンタックス導出部Y228は、変換係数Coeff(xC、yC)の各値を参照し、対象周波数領域におけるこれらの変換係数を特定するためのシンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_minus3の各値を導出する。導出された各シンタックスは、符号化係数記憶部226に供給される。また、導出されたシンタックスのうちlast_significant_coeff_x、last_significant_coeff_yは、係数符号化制御部223及びラスト位置符号化部221にも供給される。また、導出されたシンタックスのうちsignificant_coeff_flagは、係数有無フラグ符号化部Y224にも供給される。なお、各シンタックスが示す内容については上述したためここでは説明を省略する。
 (スキャン順テーブル格納部222)
 スキャン順テーブル格納部222には、処理対象のTU(ブロック)のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。このようなスキャン順テーブルの一例としては、図4及び図5に示したScanOrderが挙げられる。
 また、スキャン順テーブル格納部222には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。ここで、サブブロックスキャン順テーブルは、処理対象のTU(ブロック)のサイズとイントラ予測モードの予測モードインデックスとに関連付けられたスキャンインデックスscanIndexによって指定される。
 (係数符号化制御部223)
 係数符号化制御部223は、量子化残差情報符号化部Y271の備える各部における符号化処理の順序を制御するための構成である。
 (ブロックサイズが所定のサイズ以下である場合)
 ブロックサイズが所定のサイズ以下(例えば4×4成分、8×8成分等)である場合、係数符号化制御部223は、シンタックス導出部228より供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部222に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置(xC、yC)を、係数有無フラグ符号化部に供給する。
 また、係数符号化制御部223は、処理対象のTUのサイズ、すなわち、対象周波数領域のサイズを示すパラメータであるszを、変換係数符号化部Y220の備える各部に供給する(図示省略)。ここで、szは、具体的には、処理対象TUの一辺の画素数、すなわち、対象周波数領域の一辺の周波数成分の数を表すパラメータである。
 なお、係数符号化制御部223は、スキャン順テーブル格納部222に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置(xC、yC)を、係数有無フラグ符号化部Y224に供給する構成としてもよい。
 (ブロックサイズが所定のサイズよりも大きい場合)
 ブロックサイズが所定のサイズよりも大きい場合、係数符号化制御部223は、シンタックス導出部Y228から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部222に格納されたサブブロックスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各サブブロックの位置(xCG、yCG)を、サブブロック係数有無フラグ符号化部Y227に供給する。
 また、係数符号化制御部223は、処理対象となるサブブロックに関して、スキャン順テーブル格納部222に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置(xC、yC)を、係数有無フラグ符号化部Y224に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、具体的には、斜め方向スキャン(Up-right diagonal scan)を用いればよい。
 このように、係数符号化制御部223は、イントラ予測モード毎に、スキャン順を切り替える構成である。一般に、イントラ予測モードと変換係数の偏りとは互いに相関を有しているため、イントラ予測モードに応じてスキャン順を切り替えることにより、サブブロック係数有無フラグの偏りに適したサブブロックスキャンを行うことができる。これによって、符号化及び復号対象となるサブブロック係数有無フラグの符号量を削減することができ、符号化効率が向上する。
 (係数値符号化部Y225)
 係数値符号化部Y225では、通常処理を行う場合と簡略化処理を行う場合で処理が異なる。通常処理を行う場合には、シンタックス導出部Y228から供給されるシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_minus3を示すBinを生成する。動画像復号装置3で説明した通り、簡略化処理を行う場合には、第1~第3の簡略化構成では、coeff_sign_flag、及びcoeff_abs_level_minus1を示すBinを生成する。第4~第5の簡略化構成では、coeff_sign_flag、及びcoeff_abs_level_minus1、coeff_abs_levelを示すBinを生成する。
 また、生成した各Binをビット符号化部232に供給する。また、これらのシンタックスのBinを符号化するために参照されるコンテキストを指定するコンテキストインデックスctxIdxを、コンテキスト記録更新部231に供給する。なお、簡略化処理を行う場合には、コンテキストインデックスの導出を省略する。
 (係数有無フラグ符号化部Y224)
 本実施形態に係る係数有無フラグ符号化部Y224は、各位置(xC、yC)によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を符号化する。より具体的には、各位置(xC、yC)によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を示すBinを生成する。生成された各Binは、ビット符号化部232に供給される。また、係数有無フラグ符号化部224は、算術符号符号化部230にてシンタックスsignificant_coeff_flag[xC][yC]のBinを符号化するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部231に供給される。
 但し、動画像復号装置3で説明した通り、第1の簡略化構成~第3の簡略化構成において、通常処理においてはsignificant_coeff_flagのコンテキストインデックスを導出するが、簡略化処理においてバイパスを用いる場合には、コンテキストインデックスの導出は行わない。
 図75は、係数有無フラグ符号化部Y224の構成を示すブロック図である。図75に示すように、係数有無フラグ符号化部Y224は、周波数分類部224a、位置コンテキスト導出部224b、周辺参照コンテキスト導出部224c、係数有無フラグ記憶部224d、及び、係数有無フラグ設定部224eを備えている。
 周波数分類部224a、周辺参照コンテキスト導出部224c、係数有無フラグ記憶部224dによる具体的な処理は、動画像復号装置3の備える手段と同様であるので、ここでは説明を省略する。
 (係数有無フラグ設定部224e)
 係数有無フラグ設定部224eは、シンタックス導出部Y228から供給されるシンタックスsignificant_coeff_flag[xC][yC]を示すBinを生成する。生成したBinは、ビット符号化部232に供給される。また、係数有無フラグ設定部224eは、対象サブブロックに含まれるsignificant_coeff_flag[xC][yC]の値を参照し、対象サブブロックに含まれる全てのsignificant_coeff_flag[xC][yC]が0である場合、すなわち、当該対象サブブロックに非0変換係数が含まれていない場合に、当該対象サブブロックに関するsignificant_coeffgroup_flag[xCG][yCG]の値を0に設定し、そうでない場合に当該対象サブブロックに関するsignificant_coeffgroup_flag[xCG][yCG]の値を1に設定する。このように値が付されたsignificant_coeffgroup_flag[xCG][yCG]は、サブブロック係数有無フラグ符号化部Y227に供給される。
 以上の構成によれば、簡略化処理を行う場合において、コンテキスト導出処理およびコンデキストの更新処理を省略することができるのでスループットを向上することができる。また、CAVLCのバイナリ化を用いる非特許文献2ではランモードとレベルモードの2つのモードを用いるのに対し、本実施形態の構成では1つのバイナリ化で簡略化処理が可能であるため、処理の構成が単純になるという効果を奏する。特にスループットが課題となる高ビットレートの領域では、変換係数が0となる割合が相対的に低下することから、ランモードと同様の符号化効率をレベルモードで実現できるという知見が有る。本構成では連続する0係数の数を符号化するランモードを用いず、レベルモードに相当する値を直接符号化するモードのみを用いるため、符号化効率を保ちながら、装置構成の複雑度を低下させることができる。
 (付記事項1)
 上述した動画像符号化装置2及び動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
 まず、上述した動画像符号化装置2及び動画像復号装置1を、動画像の送信及び受信に利用できることを、図29を参照して説明する。
 図29の(a)は、動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。図29の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_A1として利用される。
 送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図29の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
 図29の(b)は、動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図29の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置1は、この復号部PROD_B3として利用される。
 受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図29の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
 なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
 なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
 例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
 また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
 なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
 次に、上述した動画像符号化装置2及び動画像復号装置1を、動画像の記録及び再生に利用できることを、図30を参照して説明する。
 図30の(a)は、上述した動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。図30の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_C1として利用される。
 なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
 また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。図30の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
 なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
 このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
 図30の(b)は、上述した動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図30の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置1は、この復号部PROD_D2として利用される。
 なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
 また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図30の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
 なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
 このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型又はタブレット型PC(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
 (付記事項2)
 上述した動画像復号装置1、および動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
 後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
 上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM/MO/MD/DVD/CD-R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
 また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
 <本明細書に記載された発明(A)>
 本明細書には、少なくとも以下の発明が記載されている。
 A1.
 対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
 処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
 上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出する、
ことを特徴とする算術復号装置。
 A2.
 対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
 処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
 上記コンテキストインデックス導出手段は、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数に基づいて導出するものであり、
 上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さい、
ことを特徴とする算術復号装置。
 A3.
 上記コンテキストインデックス導出手段は、上記部分領域毎に定まる所定の開始点と、上記部分領域毎に定まる変数とを加算することによってコンテキストインデックスを導出するものであり、上記変数の導出方法の異なる複数の部分領域について、開始点を同じ値に設定することにより、コンデキストインデックスの導出方法の異なる当該複数の部分領域において、共通のコンテキストを用いるものであることを特徴とするA2.に記載の算術復号装置。
 A4.
 上記分割手段は、上記対象周波数領域を、処理対象の変換係数有無フラグの位置に応じて、少なくとも3つの部分領域に分類するものであり、上記コンテキストインデックス導出手段は、第1の部分領域では、復号済みの非0変換係数をN1個(N1は自然数)参照し、第2の部分領域では、復号済みの非0変換係数をN2個(N2はN2<N1を満たす自然数)参照することによって、コンテキストインデックスを導出し、第3の部分領域では、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出することを特徴とするA1.からA3.の何れか1項に記載の算術復号装置。
 A5.
 上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非0変換係数の数に更に基づいて導出する、
ことを特徴とするA2.に記載の算術復号装置。
 A6.
 対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
 処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを各スキャン列に沿って順次導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
 上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非0変換係数の数に基づいて導出する、
ことを特徴とする算術復号装置。
 A7.
 対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
 処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
 上記コンテキストインデックス導出手段は、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数に基づいて導出するものであり、
 上記参照領域に含まれる復号済みの変換係数の数は、4以下である、
ことを特徴とする算術復号装置。
 A8.
 対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
 処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
 各部分領域に対して、互いに異なるコンテキストインデックスを割り付けるコンテキストインデックス割り付け手段と、
 各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグを、該変換係数有無フラグが属する部分領域に割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
を備え、
 上記複数の部分領域のうち低周波数側の部分領域は、高周波数側の部分領域よりも小さい、
ことを特徴とする算術復号装置。
 A9.
 上記分割手段は、変換係数有無フラグのX座標とY座標のと和を示すSUMに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記SUMと、上記対象周波数領域のサイズszに応じて定まる第1の閾値TH2との大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域に分割し、第1の閾値TH2がsz以上であることを特徴とするA1.に記載の算術復号装置。
 A10.
 上記分割手段は、変換係数有無フラグのX座標とY座標のと和を示すSUMに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記SUMと、上記対象周波数領域のサイズszに応じて定まる第1の閾値TH2との大小関係に応じて、上記対象周波数領域を、少なくとも上記低周波数側の部分領域と上記高周波数側の部分領域に分割し、第1の閾値TH2がsz-2以下であることを特徴とするA2.に記載の算術復号装置。
 A11.
 上記分割手段は、変換係数有無フラグのX座標とY座標のと和を示すSUMに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記SUMと、上記対象周波数領域のサイズszに応じて定まる第1の閾値TH2との大小関係に応じて、上記対象周波数領域を、上記第1の部分領域と上記第2の部分領域に分割し、上記SUMと、上記対象周波数領域のサイズszに応じて定まる第2の閾値TH3との大小関係に応じて、上記対象周波数領域を、上記第2の部分領域と上記第3の部分領域に分割し、上記第1の閾値TH2がsz-2以下であり、上記第2の閾値TH3がsz以上であることを特徴とするA4.に記載の算術復号装置。
 A12.
 A1.からA11.の何れか1項に記載の算術復号装置と、
 上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、
 上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、
を備えていることを特徴とする画像復号装置。
 A13.
 対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、
 処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術符号化するシンタックス符号化手段と、
を備え、
 上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出する、
ことを特徴とする算術符号化装置。
 A14.
 符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、
 A13.に記載の算術符号化装置と、
を備えており、
 上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、
ことを特徴とする画像符号化装置。
 A15.
 対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られる符号化データのデータ構造であって、
 各単位領域に対応する各対象周波数領域における高周波数側の変換係数を復号するか否かを示す制限フラグを含み、
 上記符号化データを復号する算術復号装置は、上記制限フラグが、高周波数側の変換係数を復号しないことを示している場合には、当該高周波数側の変換係数を復号しない、
ことを特徴とする符号化データのデータ構造。
 <本明細書に記載された発明(B)>
 また、本明細書には、少なくとも以下の発明が記載されている。
 B1.
 対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
 処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
 上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
 対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
 を備え、
 対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出し、
 対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行う、
を特徴とする算術復号装置。
 B2.
 上記分割手段は、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域のサイズに応じて定まる閾値THAとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、
 上記対象周波数領域の各辺に沿った周波数成分の数をszと表すとき、上記閾値THAは、sz/16以上の値を有する
ことを特徴とするB1.に記載の算術復号装置。
 B3.
 対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
 処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
 上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
 対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
 を備え、
 対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側および低周波数側の何れかの部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの属するサブブロックの位置に基づいて選択された高周波数側用の参照領域および低周波数側用の参照領域のいずれかの参照領域であって、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非0変換係数の数に基づいて導出し、
 対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行う、
を特徴とする算術復号装置。
 B4.
 対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、
 処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
 上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
 対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、
 を備え、
 対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非0変換係数であって、処理順で該変換係数有無フラグの直前に復号された非0変換係数を除く非0変換係数の数に基づいて導出し、
 対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行う、
を特徴とする算術復号装置。
 B5.
 上記分割手段は、上記対象周波数領域を少なくとも3つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、第1の部分領域では、復号済みの非0変換係数をN1個(N1は自然数)参照し、第2の部分領域では、復号済みの非0変換係数をN2個(N2はN2<N1を満たす自然数)参照することによって、コンテキストインデックスを導出し、第3の部分領域では、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出することを特徴とするB3.またはB4.に記載の算術復号装置。
 B6.
 上記分割手段は、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域のサイズに応じて定まる閾値THBとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、
 上記対象周波数領域の各辺に沿った周波数成分の数をszと表すとき、上記閾値THBは、sz/4以下の値を有する
ことを特徴とするB3.に記載の算術復号装置。
 B7.
 上記分割手段は、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域のサイズに応じて定まる閾値THBとの大小関係に応じて、上記対象周波数領域を、上記第1の部分領域と上記第2の部分領域とに分割すると共に、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域のサイズに応じて定まる閾値THCとの大小関係に応じて、上記対象周波数領域を、上記第2の部分領域と上記第3の部分領域とに分割するものであり、
 上記対象周波数領域の各辺に沿った周波数成分の数をszと表すとき、上記閾値THBは、sz/4以下の値を有し、上記閾値THCは、(sz/4)+2以上の値を有する
ことを特徴とするB5.に記載の算術復号装置。
 B8.
 B1.からB7.の何れか1項に記載の算術復号装置と、
 上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、
 上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、
を備えていることを特徴とする画像復号装置。
 B9.
 対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、
 処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、
 上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、
 対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、
 各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、
 各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術符号化するシンタックス符号化手段と、
 を備え、
 対象サブブロックについて符号化されるサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出し、
 対象サブブロックについて符号化されるサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして符号化処理を行う、
を特徴とする算術符号化装置。
 B10.
 符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、
 B9.に記載の算術符号化装置と、
を備えており、
 上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、
ことを特徴とする画像符号化装置。
 B11.
 対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られる符号化データのデータ構造であって、
 上記単位領域に対応する周波数領域を分割して得られた所定サイズの各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを含み、
 上記符号化データを復号する復号装置は、
 対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出すると共に、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号し、
 対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行う、
ことを特徴とする符号化データのデータ構造。
 <本明細書に記載された発明(C)>
 また、本明細書には、少なくとも以下の発明が記載されている。
 C1.
 本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行う、ことを特徴としている。
 上記のように構成された算術復号装置によれば、対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 また、上記の構成によれば、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行うので、サブブロック係数有無フラグを用いない構成に比べて、変換係数を復号するための処理量が削減される。
 C2.
 上記分割手段は、上記対象周波数領域を少なくとも低周波数側と高周波数側の2つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、低周波数側に属する部分領域の少なくとも1つでは、復号済みの非0変換係数を参照することによって、コンテキストインデックスを導出し、高周波数側に属する部分領域では、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出することが好ましい。
 上記構成によれば、低周波数側に属する部分領域の少なくとも1つでは、復号済みの非0変換係数を参照することによって、コンテキストインデックスを導出し、高周波数側に属する部分領域では、周波数領域上の位置に基づく値、または固定的な所定の値をコンテキストインデックスとして導出するので、高い符号化効率を保ちつつ、処理量を削減することができる。
 C3.
 また、上記算術復号装置において、上記コンテキストインデックス導出手段により導出される、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内であることが好ましい。
 上記構成によれば、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内にあるので、コンテキストインデックスを導出するための処理量が削減される。
 C4.
 また、上記算術復号装置において、上記コンテキストインデックス導出手段により導出される、輝度に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲以外の値であり、上記コンテキストインデックス導出手段により導出される、色差に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内であることが好ましい。
 上記の構成によれば、色差に関するコンテキストインデックスであって、高周波数側に属する部分領域で用いるコンテキストインデックスの値が、低周波数側に属する部分領域で用いるコンテキストインデックスの範囲内であるので、色差に関するコンテキストインデックスを導出するための処理量が削減される。
 C5.
 また、上記分割手段は、上記対象周波数領域を少なくとも低周波数側と高周波数側の2つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、低周波数側に属する部分領域の少なくとも1つにおいて、N1(N1は自然数)個以上の復号済みの非0変換係数を参照することによって、コンテキストインデックスを導出し、高周波数側に属する部分領域において、N2個(N2はN2<N1を満たす自然数)の復号済みの非0変換係数を参照することによって、コンテキストインデックスを導出することが好ましい。
 上記の構成によれば、高周波数側に属する部分領域において参照する復号済みの非0変換係数の数が、低周波数側に属する部分領域の少なくとも1つにおいて参照する復号済みの非0変換係数の数よりも小さいので、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 C6.
 また、上記コンテキストインデックス導出手段は、低周波数側に属する部分領域では、復号済みの非0変換係数の数を多対一変換することによってコンテキストインデックスを導出し、高周波数側に属する部分領域では、非0変換係数の数をコンテキストインデックスとして導出することが好ましい。
 上記の構成によれば、高周波数側に属する部分領域では、非0変換係数の数を多対一変換する処理を行わずにコンテキストインデックスを導出するので、処理量が削減される。
 C7.
 また、上記分割手段は、変換係数有無フラグのX座標及びY座標の和、もしくは、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域の幅及び高さの最大値で得られるサイズに応じて定まる閾値THAとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、上記対象周波数領域のサイズをszと表すとき、上記閾値THAは、X座標及びY座標の和である場合にはsz以下の値、サブブロックのX座標及びY座標の和である場合には、sz/サブブロックの大きさ以下の値であることが好ましい。
 上記の構成によれば、変換係数有無フラグのX座標及びY座標の和、もしくは、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域の幅及び高さの最大値で得られるサイズに応じて定まる閾値THAとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、上記対象周波数領域のサイズをszと表すとき、上記閾値THAは、X座標及びY座標の和である場合にはsz以下の値、サブブロックのX座標及びY座標の和である場合には、sz/サブブロックの大きさ以下の値であるので、高い符号化効率を保ちつつ、処理量を削減することができる。
 また、上記算術復号装置において、上記分割手段は、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域のサイズに応じて定まる閾値THAとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、上記対象周波数領域の各辺に沿った周波数成分の数をszと表すとき、上記閾値THAは、sz/16以上の値を有することが好ましい。
 上記の構成によれば、対象周波数領域を、高符号化効率及び処理量削減のために好適に分割することができる。
 C8.
 本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側および低周波数側の何れかの部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの属するサブブロックの位置に基づいて選択された高周波数側用の参照領域および低周波数側用の参照領域のいずれかの参照領域であって、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非0変換係数の数に基づいて導出し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行う、ことを特徴としている。
 上記のように構成された算術復号装置によれば、対象サブブロックが、対象周波数領域において高周波数側および低周波数側の何れかの部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非0変換係数の数に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 また、上記の構成によれば、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行うので、サブブロック係数有無フラグを用いない構成に比べて、変換係数を復号するための処理量が削減される。
 C9.
 本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非0変換係数であって、処理順で該変換係数有無フラグの直前に復号された非0変換係数を除く非0変換係数の数に基づいて導出し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行う、ことを特徴としている。
 上記のように構成された算術復号装置によれば、対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済の非0変換係数であって、処理順で該変換係数有無フラグの直前に復号された非0変換係数を除く非0変換係数の数に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 また、上記の構成によれば、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行うので、サブブロック係数有無フラグを用いない構成に比べて、変換係数を復号するための処理量が削減される。
 C10.
 また、上記算術復号装置において、上記分割手段は、上記対象周波数領域を少なくとも3つの部分領域に分割するものであり、上記コンテキストインデックス導出手段は、第1の部分領域では、復号済みの非0変換係数をN1個(N1は自然数)参照し、第2の部分領域では、復号済みの非0変換係数をN2個(N2はN2<N1を満たす自然数)参照することによって、コンテキストインデックスを導出し、第3の部分領域では、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出することが好ましい。
 上記の構成によれば、コンテキストインデックスを参照するために参照する復号済みの非0変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置に基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、特に高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 C11.
 また、上記算術復号装置において、上記分割手段は、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域のサイズに応じて定まる閾値THBとの大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域とに分割するものであり、上記対象周波数領域の各辺に沿った周波数成分の数をszと表すとき、上記閾値THBは、sz/4以下の値を有することが好ましい。
 上記の構成によれば、対象周波数領域を、高符号化効率及び処理量削減のために好適に分割することができる。
 C12.
 また、上記算術復号装置において、上記分割手段は、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域のサイズに応じて定まる閾値THBとの大小関係に応じて、上記対象周波数領域を、上記第1の部分領域と上記第2の部分領域とに分割すると共に、変換係数有無フラグの属するサブブロックのX座標及びY座標の和と、上記対象周波数領域のサイズに応じて定まる閾値THCとの大小関係に応じて、上記対象周波数領域を、上記第2の部分領域と上記第3の部分領域とに分割するものであり、上記対象周波数領域の各辺に沿った周波数成分の数をszと表すとき、上記閾値THBは、sz/4以下の値を有し、上記閾値THCは、(sz/4)+2以上の値を有することが好ましい。
 上記の構成によれば、対象周波数領域を、高符号化効率及び処理量削減のために好適に分割することができる。
 C13.
 本発明の一態様に係る画像復号装置は、上記算術復号装置と、上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、を備えていることを特徴としている。
 上記画像復号装置によれば、シンタックス導出のための処理量を削減しつつ、高い符号化効率にて符号化データを復号することができる。
 C14.
 本発明の一態様に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術符号化するシンタックス符号化手段と、を備え、対象サブブロックについて符号化されるサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出し、対象サブブロックについて符号化されるサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして符号化処理を行う、ことを特徴としている。
 上記のように構成された算術符号化装置によれば、対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、上記コンテキストインデックス導出手段は、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 また、上記の構成によれば、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして符号化処理を行うので、サブブロック係数有無フラグを用いない構成に比べて、変換係数を符号化するための処理量が削減される。
 C15.
 本発明の一態様に係る画像符号化装置は、符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、上記算術符号化装置と、を備えており、上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、ことを特徴としている。
 上記画像符号化装置によれば、シンタックス導出のための処理量を削減しつつ、高い符号化効率の符号化データを生成することができる。
 C16.
 また、本発明の一態様に係る符号化データのデータ構造は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られる符号化データのデータ構造であって、上記単位領域に対応する周波数領域を分割して得られた所定サイズの各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを含み、上記符号化データを復号する復号装置は、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出すると共に、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行う、ことを特徴としている。
 上記のように構成された符号化データは、上記単位領域に対応する周波数領域を分割して得られた所定サイズの各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを含み、上記符号化データを復号する復号装置は、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が少なくとも1つ含まれることを示している場合であって、当該対象サブブロックが、対象周波数領域において高周波数側の部分領域に属するものである場合、当該対象サブブロックに属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における当該対象サブブロックの位置に基づいて導出すると共に、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割りつけられたコンテキストインデックスによって指定される確率状態に基づいて算術復号し、対象サブブロックについて復号されたサブブロック係数有無フラグが、当該対象サブブロックに非0変換係数が含まれていないことを示している場合、当該対象サブブロックに属する全ての変換係数の各々についての変換係数有無フラグを、該変換係数が0であることを示すものとして復号処理を行うので、高い符号化効率を維持しつつ復号するための処理量を削減することができる。
 C17.
 また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、M1個(M1は自然数)のシンタックスを復号して各変換係数の値を復号する通常モードと、M2個(M2はM2<M1を満たす自然数)のシンタックスを復号して各変換係数の値を復号する簡略化モードとを選択的に用いることによって各変換係数の値を復号することを特徴としている。
 上記の算術復号装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスを用いるため、復号処理のスループットを向上させることができる。
 C18.
 上記算術復号装置は、各シンタックスに割りつけられたコンテキストによって指定される確率状態に基づいた算術復号、及び、コンテキストを用いずに固定の確率状態に基づいた算術復号の何れかの算術復号によって、各シンタックスを復号するシンタックス復号手段を備え、上記シンタックス復号手段は、通常モードでは上記M1個のシンタックスについてコンテキストを用いて復号を行い、簡略化モードでは上記M2個のシンタックスについてコンテキストを用いて復号を行うことが好ましい。
 上記の算術復号装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスに対してコンテキストを用いるため、コンテキスト導出およびコンテキストの更新に必要な処理を省略することができるため、復号処理のスループットを向上させることができる。
 C19.
 また、上記算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段を備え、通常モードでは、上記サブブロック係数有無フラグと、変換係数が0である否かを示す変換係数有無フラグとをコンテキストを用いて復号し、簡略化モードでは、上記サブブロック係数有無フラグをコンテキストを用いて復号し、上記変換係数有無フラグをコンテキストを用いずに復号することが好ましい。
 上記の算術復号装置によれば、発生頻度の低いシンタックスであるが、低い符号量に抑えることが重要になるサブブロック係数有無フラグsignificant_coeffgroup_flagに関しては、通常モードであるか簡略化モードであるか否かに関わらずコンテキストを用いるため、高い符号化効率を保ちながらスループットを向上させることができる。
 C20.
 また、上記算術復号装置は、通常モードにおいて、変換係数が0である否かを示す変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が1より大きいか否かを示すシンタックスcoeff_abs_greater1_flag、変換係数の絶対値が2より大きいか否かを示すシンタックスcoeff_abs_greater2_flag、変換係数の絶対値から3を減算した値を示すシンタックスcoeff_abs_minus3、及び変換係数の符号を示すシンタックスcoeff_signを復号し、簡略化モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値から1を減算した値を示すシンタックスcoeff_abs_minus1、及び変換係数の符号を示すシンタックスcoeff_signを復号することが好ましい。
 上記の算術復号装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスを用いるため、復号処理のスループットを向上させることができる。
 C21.
 また、上記算術復号装置は、通常モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が1より大きいか否かを示す上記シンタックスcoeff_abs_greater1_flag、及び変換係数の絶対値が2より大きいか否かを示す上記シンタックスcoeff_abs_greater2_flagをコンテキストを用いて復号し、簡略化モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値から1を減算した値を示す上記シンタックスcoeff_abs_minus1、及び変換係数の符号を示す上記シンタックスcoeff_signをコンテキストを用いずに復号することが好ましい。
 上記の算術復号装置によれば、簡略化モードにおいてコンテキストを用いずに変換係数の値を構成するシンタックスを復号するため、復号処理のスループットを向上させることができる。
 C22.
 また、上記算術復号装置は、通常モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が1より大きいか否かを示す上記シンタックスcoeff_abs_greater1_flag、及び変換係数の絶対値が2より大きいか否かを示す上記シンタックスcoeff_abs_greater2_flagをコンテキストを用いて復号し、簡略化モードにおいて、変換係数の絶対値から1を減算した値を示す上記シンタックスcoeff_abs_minus1、及び変換係数の符号を示す上記シンタックスcoeff_signをコンテキストを用いずに復号することが好ましい。
 上記の算術復号装置によれば、簡略化モードにおいてコンテキストを用いずに変換係数の値を構成するシンタックスの殆どを復号するため、復号処理のスループットを向上させることができる。
 C23.
 また、上記算術復号装置は、簡略化モードにおいて、変換係数の絶対値から1を減算した値を示す上記シンタックスcoeff_abs_minus1と、変換係数の符号を示す上記シンタックスcoeff_signとを連続して復号することが好ましい。
 上記の算術復号装置によれば、簡略化モードにおいてコンテキストを用いずに復号するシンタックスを連続で配置するため、復号処理のスループットを向上させることができる。
 C24.
 また、上記算術復号装置は、通常モードにおいて、変換係数が0である否かを示す変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が1より大きいか否かを示すシンタックスcoeff_abs_greater1_flag、変換係数の絶対値が2より大きいか否かを示すシンタックスcoeff_abs_greater2_flag、変換係数の絶対値から3を減算した値を示すシンタックスcoeff_abs_minus3、及び変換係数の符号を示すシンタックスcoeff_signを復号し、簡略化モードにおいて、変換係数の絶対値から1を減算した値を示すシンタックスcoeff_abs_minus1、変換係数の絶対値coeff_abs、及び変換係数の符号を示すシンタックスcoeff_signを復号することが好ましい。
 上記の算術復号装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスを用いるため、復号処理のスループットを向上させることができる。
 C25.
 また、上記算術復号装置は、通常モードにおいて、上記変換係数有無フラグsignificant_coeff_flag、変換係数の絶対値が1より大きいか否かを示す上記シンタックスcoeff_abs_greater1_flag、及び変換係数の絶対値が2より大きいか否かを示す上記シンタックスcoeff_abs_greater2_flagをコンテキストを用いて復号し、簡略化モードにおいて、変換係数の絶対値から1を減算した値を示す上記シンタックスcoeff_abs_minus1、及び変換係数の符号を示すシンタックスcoeff_signをコンテキストを用いずに復号することが好ましい。
 上記の算術復号装置によれば、簡略化モードにおいてコンテキストを用いずに変換係数の値を構成するシンタックスの殆どを復号するため、復号処理のスループットを向上させることができる。
 C26.
 また、上記算術復号装置は、変換係数のラスト位置のX座標及びY座標の和と、所定の閾値との大小比較に応じて、前記ラスト位置のX座標及びY座標の和の方が大きい場合に上記簡略化モードを選択し、それ以外の場合には、上記通常モードを選択することが好ましい。
 上記の算術復号装置によれば、高スループットで処理する必要がある場合だけを判定して、簡略化モードを用いるため、高い符号化効率を保ちながら復号処理のスループットを向上させることができる。
 C27.
 また、上記算術復号装置は、前記ラスト位置のX座標及びY座標の和の方が多い場合に、それ以外の場合よりもコンテキストを用いて復号するシンタックスの数を減らすことが好ましい。
 上記の算術復号装置によれば、高スループットで処理する必要がある場合を適切に判定することができるため、簡略化モードを用いるため、高い符号化効率を保ちながら復号処理のスループットを向上させることができる。
 C28.
 また、上記算術復号装置は、周波数領域の幅と高さとが同じ場合と、周波数領域の幅と高さとが異なる場合とにおいて、上記閾値として異なる値を用いることが好ましい。
 上記の算術復号装置によれば、周波数領域の幅と高さが異なる場合においても、高スループットで処理する必要がある場合を適切に判定することができるため、簡略化モードを用いるため、高い符号化効率を保ちながら復号処理のスループットを向上させることができる。
 C29.
 また、上記算術復号装置は、対象周波数領域を、各周波数成分、及び、各サブブロックの少なくとも何れかを分割単位として複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0である否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段とを備え、あるサブブロックにおいて、変換係数有無フラグの数が所定の数以上である場合には、当該あるサブブロックの次に処理するサブブロックにおいてコンテストを用いずに変換係数有無フラグを復号することが好ましい。
 上記の算術復号装置によれば、高スループットで処理する必要がある場合だけを判定して、簡略化モードを用いるため、高い符号化効率を保ちながら復号処理のスループットを向上させることができる。
 C30.
 また、本発明の一態様に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、M1個(M1は自然数)のシンタックスを用いて各変換係数の値を符号化する通常モードと、M2個(M2はM2<M1を満たす自然数)のシンタックスを用いて各変換係数の値を符号化する簡略化モードとを選択的に用いることによって各変換係数の値を符号化することを特徴としている。
 上記の算術符号化装置によれば、簡略化モードにおいて通常モードよりも少ないシンタックスを用いるため、符号化及び復号処理のスループットを向上させることができる。
 C31.
 本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出する、ことを特徴としている。
 上記のように構成された算術復号装置によれば、対象周波数領域における上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出するので、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 C32.
 また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記コンテキストインデックス導出手段は、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数に基づいて導出するものであり、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さい、ことを特徴としている。
 上記のように構成された算術復号装置によれば、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数に基づいて導出し、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さいので、低周波数側の部分領域において設定される参照領域と高周波数側の部分領域において設定される参照領域とが同じ大きさを有する従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現することができる。
 C33.
 また、上記コンテキストインデックス導出手段は、上記部分領域毎に定まる所定の開始点と、上記部分領域毎に定まる変数とを加算することによってコンテキストインデックスを導出するものであり、上記変数の導出方法の異なる複数の部分領域について、開始点を同じ値に設定することにより、コンデキストインデックスの導出方法の異なる当該複数の部分領域において、共通のコンテキストを用いるものであることが好ましい。
 上記のように構成された算術復号装置によれば、導出方法が異なる複数の部分領域において、部分領域毎に定まる開始点を等しくすることにより、コンテキスト数を増加させることがなく、また、高い符号化効率を実現したまま処理量の削減が可能である。
 C34.
 また、上記分割手段は、上記対象周波数領域を、処理対象の変換係数有無フラグの位置に応じて、少なくとも3つの部分領域に分類するものであり、上記コンテキストインデックス導出手段は、第1の部分領域では、復号済みの非0変換係数をN1個(N1は自然数)参照し、第2の部分領域では、復号済みの非0変換係数をN2個(N2はN2<N1を満たす自然数)参照することによって、コンテキストインデックスを導出し、第3の部分領域では、変換係数有無フラグの位置に応じて、コンテキストインデックスを導出することが好ましい。
 上記のように構成された算術復号装置によれば、コンテキストインデックスを参照するために参照する復号済みの非0変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置に基づいてコンテキストインデックスを導出する部分領域とを組み合わせることによって、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 C35.
 また、上記算術復号装置において、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非0変換係数の数に更に基づいて導出する、ことが好ましい。
 上記の構成によれば、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非0変換係数の数と、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数とに基づいて導出するものであり、上記複数の部分領域のうち高周波数側の部分領域において設定される上記参照領域は、低周波数側の部分領域において設定される上記参照領域よりも小さいので、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量をより効果的に削減できると共に、高い符号化効率を実現することができる。
 C36.
 また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを各スキャン列に沿って順次導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非0変換係数の数に基づいて導出する、ことを特徴としている。
 上記のように構成された算術復号装置によれば、上記複数の部分領域のうち高周波数側の部分領域における現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを、前スキャン列に沿った非0変換係数の数に基づいて導出する。ここで、前スキャン列に沿った非0変換係数の数は、一度カウントしておけば、現スキャン列に沿った各変換係数有無フラグに割り付けるコンテキストインデックスを導出する際に共通に用いることができる。したがって、位置の異なる変換係数有無フラグに対して個別にコンテキストインデックスを導出する必要のある従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現することができる。
 C37.
 また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記コンテキストインデックス導出手段は、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数に基づいて導出するものであり、上記参照領域に含まれる復号済みの変換係数の数は、4以下である、ことを特徴としている。
 上記のように構成された算術復号装置によれば、各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置周辺に設定された参照領域に含まれる復号済みの非0変換係数の数に基づいて導出するものであり、上記参照領域に含まれる復号済みの変換係数の数は、4以下であるので、従来の構成よりも少ない数の復号済みの変換係数を参照すれば足りる。したがって、上記の構成によれば、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができると共に、高い符号化効率を実現できる。
 C38.
 また、本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に対して、互いに異なるコンテキストインデックスを割り付けるコンテキストインデックス割り付け手段と、各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグを、該変換係数有無フラグが属する部分領域に割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術復号するシンタックス復号手段と、を備え、上記複数の部分領域のうち低周波数側の部分領域は、高周波数側の部分領域よりも小さいことを特徴としている。
 上記のように構成された算術復号装置によれば、上記複数の部分領域のうち低周波数側の部分領域は、高周波数側の部分領域よりも小さいので、低周波数側の領域に対して、コンテキストインデックスをきめ細かく割り当てることができる。したがって、上記の構成によれば、低周波数側のシンタックスを効率的に復号することができるので、符号化効率が向上する。
 C39.
 また、上記分割手段は、変換係数有無フラグのX座標とY座標のと和を示すSUMに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記SUMと、上記対象周波数領域のサイズszに応じて定まる第1の閾値TH2との大小関係に応じて、上記対象周波数領域を、少なくとも低周波数側の部分領域と上記高周波数側の部分領域に分割し、第1の閾値TH2がsz以上であることが好ましい。
 上記のように構成された算術復号装置によれば、対象周波数領域における変換係数有無フラグに割り付けるコンテキストインデックスを、該変換係数有無フラグの当該対象周波数領域における位置に基づいて導出する場合においても、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 C40.
 また、上記分割手段は、変換係数有無フラグのX座標とY座標のと和を示すSUMに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記SUMと、上記対象周波数領域のサイズszに応じて定まる第1の閾値TH2との大小関係に応じて、上記対象周波数領域を、少なくとも上記低周波数側の部分領域と上記高周波数側の部分領域に分割し、第1の閾値TH2がsz-2以下であることが好ましい。
 上記のように構成された算術復号装置によれば、コンテキストインデックスを参照するために参照する復号済みの非0変換係数の数がより小さく設定された部分領域を用いる場合においても、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 C41.
 また、上記分割手段は、変換係数有無フラグのX座標とY座標のと和を示すSUMに応じて、上記対象周波数領域を、複数の部分領域に分割するものであり、上記分割手段は、上記SUMと、上記対象周波数領域のサイズszに応じて定まる第1の閾値TH2との大小関係に応じて、上記対象周波数領域を、上記第1の部分領域と上記第2の部分領域に分割し、上記SUMと、上記対象周波数領域のサイズszに応じて定まる第2の閾値TH3との大小関係に応じて、上記対象周波数領域を、上記第2の部分領域と上記第3の部分領域に分割し、上記第1の閾値TH2がsz-2以下であり、上記第2の閾値TH3がsz以上であることが好ましい。
 上記のように構成された算術復号装置によれば、コンテキストインデックスを参照するために参照する復号済みの非0変換係数の数がより小さく設定された部分領域と、対象周波数領域における該変換係数有無フラグの位置に基づいてコンテキストインデックスを導出する部分領域とを組み合わせる場合においても、高い符号化効率を実現しつつ、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量を削減することができる。
 C42.
 また、本発明の一態様に係る画像復号装置は、上記算術復号装置と、上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、を備えていることを特徴としている。
 上記画像復号装置によれば、シンタックス導出のための処理量を削減しつつ、高い符号化効率にて符号化データを復号することができる。
 C43.
 また、本発明の一態様に係る算術符号化装置は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって符号化データを生成する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を複数の部分領域に分割する分割手段と、各部分領域に属する各変換係数が0であるか否かを示すシンタックスである各変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、各部分領域に属する各変換係数有無フラグを、該変換係数有無フラグに割り付けられたコンテキストインデックスによって指定される確率状態に基づいて算術符号化するシンタックス符号化手段と、を備え、上記コンテキストインデックス導出手段は、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出する、ことを特徴としている。
 上記のように構成された算出符号化装置によれば、上記複数の部分領域のうち高周波数側の部分領域に属する各変換係数有無フラグに割り付けるコンテキストインデックスを、対象周波数領域における該変換係数有無フラグの位置に基づいて導出するので、従来の構成に比べて、高周波数側でのコンテキストインデックスの導出処理のための処理量が削減される。
 C44.
 また、本発明の一態様に係る画像符号化装置は、符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、上記算術符号化装置と、を備えており、上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成するものである、ことを特徴としている。
 上記画像復号装置によれば、シンタックス導出のための処理量を削減しつつ、高い符号化効率にて符号化データを生成することができる。
 C45.
 また、本発明の一態様に係る符号化データのデータ構造は、対象画像を単位領域毎に周波数変換して得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られる符号化データのデータ構造であって、各単位領域に対応する各対象周波数領域における高周波数側の変換係数を復号するか否かを示す制限フラグを含み、上記符号化データを復号する算術復号装置は、上記制限フラグが、高周波数側の変換係数を復号しないことを示している場合には、当該高周波数側の変換係数を復号しない、ことを特徴としている。
 上記のように構成された符号化データによれば、各単位領域に対応する各対象周波数領域における高周波数側の変換係数を復号するか否かを示す制限フラグを含んでおり、上記符号化データを復号する算術復号装置は、上記制限フラグが、高周波数側の変換係数を復号しないことを示している場合には、当該高周波数側の変換係数の復号処理を省略することができるので、変換係数を復号するための処理量が削減される。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 本発明は、算術符号化された符号化データを復号する算術復号装置、および、算術符号化された符号化データを生成する算術符号化装置に好適に用いることができる。
1         動画像復号装置(画像復号装置)
11        可変長符号復号部
111       量子化残差情報復号部(算術復号装置)
120       変換係数復号部
124       係数有無フラグ復号部
124a      周波数分類部(分割手段、コンテキストインデックス導出手段)
124b      低周波位置コンテキスト導出部(コンテキストインデックス導出手段)
124c,124g 周辺参照コンテキスト導出部(コンテキストインデックス導出手段)
124d      高周波位置コンテキスト導出部(コンテキストインデックス導出手段)
X1        サブブロック係数有無フラグ復号部(サブブロック係数有無フラグ復号手段)
130       算術符号復号部
131       コンテキスト記録更新部
132       ビット復号部(シンタックス復号手段)
2         動画像符号化装置(画像符号化装置)
27        可変長符号符号化部
271       量子化残差情報符号化部(算術符号化装置)
220       変換係数符号化部
224       係数有無フラグ符号化部
224a      周波数分類部(分割手段、シンタックス符号化手段)
224b      低周波位置コンテキスト導出部
224c      周辺参照コンテキスト導出部
224d      高周波位置コンテキスト導出部(コンテキストインデックス導出手段)
X2        サブブロック係数有無フラグ符号化部(サブブロック係数有無フラグ符号化手段)
230       算術符号符号化部
231       コンテキスト記録更新部
232       ビット符号化部(シンタックス符号化手段)

Claims (8)

  1.  対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを算術復号する算術復号装置において、
     前記変換係数を示す少なくとも第1のシンタックス及び第2のシンタックスのそれぞれを、コンテキストを用いた算術復号又はコンテキストを用いない算術復号により復号するシンタックス復号手段を備え、
     前記シンタックス復号手段は、前記第1のシンタックスを復号せずに、前記第2のシンタックスを前記コンテキストを用いない算術復号により復号する場合と、前記第1のシンタックスを前記コンテキストを用いた算術復号により復号し、前記第2のシンタックスをコンテキストを用いない算術復号により復号する場合とを少なくとも含むことを特徴とする算術復号装置。
  2.  前記第1のシンタックスは、前記変換係数の絶対値が所定の値より大きいか否かに関するシンタックスであり、前記第2のシンタックスは、前記変換係数の絶対値から所定の値を減算した値に関するシンタックスであることを特徴とする請求項1に記載の算術復号装置。
  3.  前記第1のシンタックスは、前記変換係数の絶対値が0より大きいか否かに関するシンタックスを含み、該シンタックスの値が1の場合、
     前記シンタックス復号手段は、前記第1のシンタックスを前記コンテキストを用いた算術復号により復号し、前記第2のシンタックスをコンテキストを用いない算術復号により復号することを特徴とする請求項1又は2に記載の算術復号装置。
  4.  前記第1のシンタックスは、少なくとも前記変換係数の絶対値が1より大きいか否かに関するシンタックス及び前記変換係数の絶対値が2より大きいか否かに関するシンタックスを含むことを特徴とする請求項3に記載の算術復号装置。
  5.  請求項1から3のいずれか一項に記載の算術復号装置と、
     前記算術復号装置によって復号されたシンタックスを用いて変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、
     前記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段とを備えていることを特徴とする画像復号装置。
  6.  対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを生成する算術符号化装置であって、
     前記変換係数を示す少なくとも第1のシンタックス及び第2のシンタックスのそれぞれを、コンテキストを用いた算術符号化又はコンテキストを用いない算術符号化により算術符号化するシンタックス符号化手段を備え、
     前記シンタックス符号化手段は、前記第1のシンタックスを符号化せずに、前記第2のシンタックスを前記コンテキストを用いない算術符号化により符号化する場合と、前記第1のシンタックスを前記コンテキストを用いた算術符号化により符号化し、前記第2のシンタックスをコンテキストを用いない算術符号化により符号化する場合とを少なくとも含むことを特徴とする算術符号化装置。
  7.  請求項5に記載の算術符号化装置と、
     符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換し、変換係数の符号化データを生成する変換係数生成手段とを備えることを特徴とする画像符号化装置。
  8.  対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを算術復号する算術復号方法において、
     前記変換係数を示す少なくとも第1のシンタックス及び第2のシンタックスのそれぞれを、コンテキストを用いた算術復号又はコンテキストを用いない算術復号により復号するステップを少なくとも含み、
     前記復号するステップは、前記第1のシンタックスを復号せずに、前記第2のシンタックスを前記コンテキストを用いない算術復号により復号する場合と、前記第1のシンタックスを前記コンテキストを用いた算術復号により復号し、前記第2のシンタックスをコンテキストを用いない算術復号により復号する場合とを少なくとも含むことを特徴とする算術復号方法。
     
PCT/JP2012/078086 2011-11-04 2012-10-31 算術復号装置、画像復号装置、算術符号化装置、画像符号化装置、および、算術復号方法 WO2013065702A1 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
US14/354,946 US9525876B2 (en) 2011-11-04 2012-10-31 Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method
CN201280053701.0A CN103907349B (zh) 2011-11-04 2012-10-31 算术解码装置、图像解码装置、算术编码装置以及算术解码方法
IN3598CHN2014 IN2014CN03598A (ja) 2011-11-04 2012-10-31
MX2016005051A MX346677B (es) 2011-11-04 2012-10-31 Dispositivo de decodificacion aritmetica, dispositivo de decodificacion de imagenes, dispositivo de codificacion aritmetica, dispositivo de codificacion de imagenes y metodo de decodificacion aritmetica.
EP12846191.0A EP2775713B1 (en) 2011-11-04 2012-10-31 Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method
MX2014005246A MX338671B (es) 2011-11-04 2012-10-31 Dispositivo de decodificacion aritmetica, dispositivo de decodificacion de imagenes, dispositivo de codificacion aritmetica, dispositivo de codificacion de imagenes y metodo de decodificacion aritmetica.
US15/333,363 US20170041635A1 (en) 2011-11-04 2016-10-25 Arithmetic encoding device, arithmetic decoding device, arithmetic encoding method, and arithmetic decoding method
US15/885,856 US10158887B2 (en) 2011-11-04 2018-02-01 Arithmetic encoding device, arithmetic decoding device, arithmetic encoding method, and arithmetic decoding method
US16/161,115 US10547870B2 (en) 2011-11-04 2018-10-16 Decoding device, encoding device, and decoding method
US16/705,598 US10897632B2 (en) 2011-11-04 2019-12-06 Decoding device, encoding device, and decoding method
US17/106,234 US11310530B2 (en) 2011-11-04 2020-11-30 Decoding device, encoding device, and decoding method

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2011242840 2011-11-04
JP2011-242840 2011-11-04
JP2011-264156 2011-12-01
JP2011264156 2011-12-01
JP2012-009447 2012-01-19
JP2012009447 2012-01-19

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/354,946 A-371-Of-International US9525876B2 (en) 2011-11-04 2012-10-31 Arithmetic decoding device, image decoding device, arithmetic coding device, image coding device, and arithmetic decoding method
US15/333,363 Continuation US20170041635A1 (en) 2011-11-04 2016-10-25 Arithmetic encoding device, arithmetic decoding device, arithmetic encoding method, and arithmetic decoding method

Publications (1)

Publication Number Publication Date
WO2013065702A1 true WO2013065702A1 (ja) 2013-05-10

Family

ID=48192047

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/078086 WO2013065702A1 (ja) 2011-11-04 2012-10-31 算術復号装置、画像復号装置、算術符号化装置、画像符号化装置、および、算術復号方法

Country Status (8)

Country Link
US (6) US9525876B2 (ja)
EP (1) EP2775713B1 (ja)
JP (2) JPWO2013065702A1 (ja)
CN (3) CN109120930B (ja)
IN (1) IN2014CN03598A (ja)
MX (2) MX338671B (ja)
MY (1) MY167316A (ja)
WO (1) WO2013065702A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140109792A (ko) * 2011-12-21 2014-09-16 파나소닉 주식회사 화상 부호화 방법, 화상 부호화 장치, 화상 복호화 방법, 화상 복호화 장치, 및 화상 부호화 복호화 장치
JP2016105633A (ja) * 2012-01-20 2016-06-09 ソニー株式会社 有意性マップ符号化の計算量低減
JP2020505870A (ja) * 2017-01-31 2020-02-20 インダストリー アカデミー コーオペレイション ファウンデーション オブ セジョン ユニバーシティ 画像の符号化/復号化方法及び装置
JP2021521679A (ja) * 2018-04-09 2021-08-26 ブラックベリー リミテッドBlackBerry Limited 点群のバイナリエントロピコーディングのための方法およびデバイス
JP2021530155A (ja) * 2018-07-02 2021-11-04 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 依存スカラー量子化に好適な変換係数のエントロピーコーディング
JP2022521385A (ja) * 2019-02-19 2022-04-07 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおいてレジデュアル情報を使用する映像デコーディング方法及びその装置
US11741638B2 (en) 2018-01-18 2023-08-29 Malikie Innovations Limited Methods and devices for entropy coding point clouds
WO2024079984A1 (ja) * 2022-10-13 2024-04-18 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US20130188736A1 (en) 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
US10616581B2 (en) 2012-01-19 2020-04-07 Huawei Technologies Co., Ltd. Modified coding for a transform skipped block for CABAC in HEVC
US9860527B2 (en) * 2012-01-19 2018-01-02 Huawei Technologies Co., Ltd. High throughput residual coding for a transform skipped block for CABAC in HEVC
MY200990A (en) * 2012-07-02 2024-01-29 Samsung Electronics Co Ltd Entrophy Coding of a Video and Entropy Decoding of a Video
US9619229B2 (en) 2012-12-27 2017-04-11 Intel Corporation Collapsing of multiple nested loops, methods and instructions
JP6569665B2 (ja) * 2014-03-25 2019-09-04 株式会社ソシオネクスト 画像復号装置、画像復号方法、及び集積回路
EP2958328A1 (en) * 2014-06-20 2015-12-23 Thomson Licensing Method and device for signaling in a bitstream a picture/video format of an LDR picture and a picture/video format of a decoded HDR picture obtained from said LDR picture and an illumination picture
US9781424B2 (en) * 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
EP3751304A1 (en) 2015-05-12 2020-12-16 HERE Global B.V. Compressing and decompressing data about radio signals
EP3099072A1 (en) * 2015-05-28 2016-11-30 Parabola Research Limited Method, system and device for image and video coding
WO2017041271A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
US10531102B2 (en) * 2015-09-10 2020-01-07 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof
EP3349445A4 (en) * 2015-09-11 2019-03-20 KT Corporation METHOD AND DEVICE FOR PROCESSING VIDEO SIGNAL
US10440399B2 (en) * 2015-11-13 2019-10-08 Qualcomm Incorporated Coding sign information of video data
US20170311003A1 (en) * 2016-04-20 2017-10-26 Mediatek Inc. Method and apparatus for performing entropy encoding with sign data removal and associated method and apparatus for performing entropy decoding with sign data recovery
CN113411579B (zh) 2016-05-13 2024-01-23 夏普株式会社 图像解码装置及其方法、图像编码装置及其方法
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US11252420B2 (en) * 2017-12-15 2022-02-15 Lg Electronics Inc. Image coding method on basis of secondary transform and device therefor
EP3562156A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for adaptive context modeling in video encoding and decoding
US10645381B2 (en) 2018-04-30 2020-05-05 Google Llc Intra-prediction for smooth blocks in image/video
AU2019298063B2 (en) * 2018-07-02 2022-10-13 Huawei Technologies Co., Ltd. Apparatus and method for filtering in video coding
BR112021005558A2 (pt) * 2018-09-24 2021-06-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. aparelho para codificar e decodificar um bloco de coeficientes de transformação, codificador para codificar e decodificador para decodificar um bloco de coeficiente de transformação, método para codificar e decodificar um bloco de coeficientes de transformação, corrente de dados
WO2020073884A1 (en) * 2018-10-08 2020-04-16 Mediatek Singapore Pte. Ltd. Method and apparatus of last significant coefficient coding in image and video coding
US10728557B2 (en) * 2018-10-24 2020-07-28 Sony Corporation Embedded codec circuitry for sub-block based entropy coding of quantized-transformed residual levels
EP3884669A1 (en) * 2018-11-21 2021-09-29 InterDigital VC Holdings, Inc. Residual coding with reduced usage of local neighborhood
JP2021510943A (ja) * 2018-12-17 2021-04-30 エルジー エレクトロニクス インコーポレイティド 高周波ゼロイングに基づいて変換係数スキャン順序を決定する方法及び装置
US10939107B2 (en) 2019-03-01 2021-03-02 Sony Corporation Embedded codec circuitry for sub-block based allocation of refinement bits
EP3939296A1 (en) * 2019-03-12 2022-01-19 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Selective inter-component transform (ict) for image and video coding
JP7484923B2 (ja) * 2019-09-06 2024-05-16 ソニーグループ株式会社 画像処理装置および方法
CN115299064A (zh) 2020-03-11 2022-11-04 抖音视界有限公司 基于颜色格式的自适应参数集信令通知
WO2021244420A1 (en) 2020-05-31 2021-12-09 Beijing Bytedance Network Technology Co., Ltd. Palette mode with local dual tree modetype definition

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7336711B2 (en) * 2001-11-16 2008-02-26 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
EP2290989B1 (en) * 2002-05-28 2015-01-28 Sharp Kabushiki Kaisha Method and systems for image intra-prediction mode estimation, communication, and organization
JP2005130099A (ja) * 2003-10-22 2005-05-19 Matsushita Electric Ind Co Ltd 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
JP2006140758A (ja) * 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
WO2007081116A1 (en) * 2006-01-07 2007-07-19 Electronics And Telecommunications Research Institute Method and apparatus for video data encoding and decoding
JP4424522B2 (ja) * 2006-07-13 2010-03-03 日本電気株式会社 符号化及び復号化装置ならびに符号化方法及び復号方法
TWI341657B (en) * 2007-04-03 2011-05-01 Nat Univ Tsing Hua Cabac decoding method
HUE037656T2 (hu) * 2010-04-13 2018-09-28 Fraunhofer Ges Forschung Valószínûség intervallum partícionáló kódoló és dekódoló
HUE040296T2 (hu) * 2010-04-13 2019-02-28 Ge Video Compression Llc Szignifikancia térképek és transzformációs együttható blokkok kódolása
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
EP3349360B1 (en) * 2011-01-14 2019-09-04 GE Video Compression, LLC Entropy encoding and decoding scheme
CN107517384B (zh) * 2011-06-16 2020-06-30 Ge视频压缩有限责任公司 解码器、编码器、解码方法、编码方法以及存储介质
US20130016789A1 (en) * 2011-07-15 2013-01-17 General Instrument Corporation Context modeling techniques for transform coefficient level coding
JP6130839B2 (ja) * 2011-10-06 2017-05-17 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化
US9191670B2 (en) * 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS ET AL.: "WD4: Working Draft 4 of High-Efficiency Video Coding", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, 28 October 2011 (2011-10-28), TORINO, IT, XP030009800 *
RECOMMENDATION ITU-T H.264 ADVANCED VIDEO CODING FOR GENERIC AUDIOVISUAL SERVICES, March 2010 (2010-03-01), pages 7.3.5.3.3, XP017467855 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019024253A (ja) * 2011-12-21 2019-02-14 サン パテント トラスト 画像符号化方法および画像符号化装置
KR102071574B1 (ko) 2011-12-21 2020-01-30 선 페이턴트 트러스트 화상 부호화 방법, 화상 부호화 장치, 화상 복호화 방법, 화상 복호화 장치, 및 화상 부호화 복호화 장치
US10362324B2 (en) 2011-12-21 2019-07-23 Sun Patent Trust Image coding method including selecting a context for performing arithmetic coding on a parameter indicating a coding-target coefficient included in a sub-block
JP2017069979A (ja) * 2011-12-21 2017-04-06 サン パテント トラスト 画像復号化方法および画像復号化装置
US9794583B2 (en) 2011-12-21 2017-10-17 Sun Patent Trust Image coding method including selecting a context for performing arithmetic coding on a parameter indicating a coding-target coefficient included in a sub-block
KR20140109792A (ko) * 2011-12-21 2014-09-16 파나소닉 주식회사 화상 부호화 방법, 화상 부호화 장치, 화상 복호화 방법, 화상 복호화 장치, 및 화상 부호화 복호화 장치
JPWO2013094199A1 (ja) * 2011-12-21 2015-04-27 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像符号化装置、画像復号化方法、画像復号化装置、および画像符号化復号化装置
US9826246B2 (en) 2011-12-21 2017-11-21 Sun Patent Trust Image coding method including selecting a context for performing arithmetic coding on a parameter indicating a coding-target coefficient included in a sub-block
US10595030B2 (en) 2011-12-21 2020-03-17 Sun Patent Trust Image coding method including selecting a context for performing arithmetic coding on a parameter indicating a coding-target coefficient included in a sub-block
US11025938B2 (en) 2012-01-20 2021-06-01 Sony Corporation Complexity reduction of significance map coding
JP2016105633A (ja) * 2012-01-20 2016-06-09 ソニー株式会社 有意性マップ符号化の計算量低減
JP2017192147A (ja) * 2012-01-20 2017-10-19 ソニー株式会社 有意性マップ符号化の計算量低減
JP2017192148A (ja) * 2012-01-20 2017-10-19 ソニー株式会社 有意性マップ符号化の計算量低減
JP2020505870A (ja) * 2017-01-31 2020-02-20 インダストリー アカデミー コーオペレイション ファウンデーション オブ セジョン ユニバーシティ 画像の符号化/復号化方法及び装置
US11425426B2 (en) 2017-01-31 2022-08-23 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding/decoding image
US11882315B2 (en) 2017-01-31 2024-01-23 Industry Academy Cooperation Foundation Of Sejong University Method and apparatus for encoding/decoding image
JP2022106982A (ja) * 2017-01-31 2022-07-20 インダストリー アカデミー コーオペレイション ファウンデーション オブ セジョン ユニバーシティ 画像の符号化/復号化方法及び装置
US11900641B2 (en) 2018-01-18 2024-02-13 Malikie Innovations Limited Methods and devices for binary entropy coding of point clouds
US11741638B2 (en) 2018-01-18 2023-08-29 Malikie Innovations Limited Methods and devices for entropy coding point clouds
JP2021521679A (ja) * 2018-04-09 2021-08-26 ブラックベリー リミテッドBlackBerry Limited 点群のバイナリエントロピコーディングのための方法およびデバイス
US11620767B2 (en) 2018-04-09 2023-04-04 Blackberry Limited Methods and devices for binary entropy coding of point clouds
JP7320531B2 (ja) 2018-04-09 2023-08-03 ブラックベリー リミテッド 点群のバイナリエントロピコーディングのための方法およびデバイス
US11861869B2 (en) 2018-04-09 2024-01-02 Blackberry Limited Methods and devices for binary entropy coding of point clouds
JP7127160B2 (ja) 2018-07-02 2022-08-29 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 依存スカラー量子化に好適な変換係数のエントロピーコーディング
JP2021530155A (ja) * 2018-07-02 2021-11-04 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 依存スカラー量子化に好適な変換係数のエントロピーコーディング
JP7282904B2 (ja) 2019-02-19 2023-05-29 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおいてレジデュアル情報を使用する映像デコーディング方法及びその装置
JP2022521385A (ja) * 2019-02-19 2022-04-07 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおいてレジデュアル情報を使用する映像デコーディング方法及びその装置
WO2024079984A1 (ja) * 2022-10-13 2024-04-18 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム

Also Published As

Publication number Publication date
US20190052905A1 (en) 2019-02-14
CN109120930B (zh) 2021-03-26
US9525876B2 (en) 2016-12-20
US20200154140A1 (en) 2020-05-14
US10897632B2 (en) 2021-01-19
MX338671B (es) 2016-04-27
US20180160144A1 (en) 2018-06-07
CN109120930A (zh) 2019-01-01
EP2775713B1 (en) 2021-06-16
JP2017123685A (ja) 2017-07-13
MY167316A (en) 2018-08-16
CN109120927B (zh) 2021-05-18
MX346677B (es) 2017-03-29
CN103907349B (zh) 2018-08-28
IN2014CN03598A (ja) 2015-07-31
US20170041635A1 (en) 2017-02-09
CN109120927A (zh) 2019-01-01
US10158887B2 (en) 2018-12-18
US20210084335A1 (en) 2021-03-18
US20140307801A1 (en) 2014-10-16
JP6560702B2 (ja) 2019-08-14
US11310530B2 (en) 2022-04-19
EP2775713A4 (en) 2015-05-06
EP2775713A1 (en) 2014-09-10
US10547870B2 (en) 2020-01-28
MX2014005246A (es) 2014-08-22
CN103907349A (zh) 2014-07-02
JPWO2013065702A1 (ja) 2015-04-02

Similar Documents

Publication Publication Date Title
JP6560702B2 (ja) 算術復号装置、算術符号化装置、算術復号方法、および、算術符号化方法
US11627337B2 (en) Image decoding device
JP6957715B2 (ja) 画像フィルタ装置、フィルタ方法および動画像復号装置
US11509898B2 (en) Arithmetic decoding device, image decoding apparatus, arithmetic coding device, and image coding apparatus
US10547861B2 (en) Image decoding device
WO2013190990A1 (ja) 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置
WO2016203881A1 (ja) 算術復号装置及び算術符号化装置
WO2013046990A1 (ja) オフセット復号装置、オフセット符号化装置、画像フィルタ装置、および、データ構造
JP2013192118A (ja) 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
JP2013187869A (ja) 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置
WO2012121352A1 (ja) 動画像復号装置、動画像符号化装置、および、データ構造
WO2012090962A1 (ja) 画像復号装置、画像符号化装置、および符号化データのデータ構造、ならびに、算術復号装置、算術符号化装置
JP2013223051A (ja) 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
WO2012081706A1 (ja) 画像フィルタ装置、フィルタ装置、復号装置、符号化装置、および、データ構造
WO2019142764A1 (ja) 動画像符号化装置、動画像復号装置および動画像フィルタ装置
JP2022188825A (ja) 画像復号装置及び画像符号化装置
JP2021010050A (ja) 動画像符号化装置、動画像復号装置、およびフィルタ装置
JP2013251827A (ja) 画像フィルタ装置、画像復号装置、画像符号化装置、およびデータ構造
WO2012043676A1 (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: 12846191

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013541794

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14354946

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: MX/A/2014/005246

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012846191

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: IDP00201403232

Country of ref document: ID