WO2013005659A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2013005659A1
WO2013005659A1 PCT/JP2012/066647 JP2012066647W WO2013005659A1 WO 2013005659 A1 WO2013005659 A1 WO 2013005659A1 JP 2012066647 W JP2012066647 W JP 2012066647W WO 2013005659 A1 WO2013005659 A1 WO 2013005659A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
parameter
coding
decoding
image
Prior art date
Application number
PCT/JP2012/066647
Other languages
English (en)
French (fr)
Inventor
鈴木 輝彦
雅朗 佐々木
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2013522968A priority Critical patent/JP5999449B2/ja
Priority to US14/126,560 priority patent/US10412417B2/en
Priority to CN201280032052.6A priority patent/CN103650513B/zh
Publication of WO2013005659A1 publication Critical patent/WO2013005659A1/ja

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/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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method capable of performing image encoding processing and decoding processing at high speed.
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • CAVLC Context-Adaptive Variable Length Coding
  • CABAC when parsing the slice data, CABAC initializes the value of the context, the encoding processing engine, and the decoding processing engine at the beginning of the slice data (see, for example, Non-Patent Document 1).
  • H. Joint Collaboration Team-Video Coding which is a joint standardization body of ITU-T and ISO / IEC, aims to improve coding efficiency further than the H.264 / AVC standard, and with High Efficiency Video Coding (HEVC).
  • HEVC High Efficiency Video Coding
  • the standardization of the called coding scheme is in progress.
  • Non-Patent Document 2 has been issued as a draft.
  • an adaptive loop filter see, for example, Non-Patent Document 3
  • an adaptive offset filter see, for example, Non-Patent Document 4
  • an adaptive offset filter is provided between the deblocking filter and the adaptive loop filter.
  • Non-Patent Document 2 does not sufficiently consider the timing of the arithmetic coding process or the arithmetic decoding process when parsing the header (arithmetic coding process or arithmetic decoding process). Therefore, when trying to carry out the method proposed in Non-Patent Document 2, there is a delay associated with the arithmetic coding process or the arithmetic decoding process.
  • the present disclosure has been made in view of such a situation, and can perform image encoding processing and decoding processing at high speed.
  • the image processing apparatus is a code in which arithmetic coding processing is performed on arithmetic coding processing parameters in the syntax of a coded stream in which image data is coded in units having a hierarchical structure.
  • the coding parameters subjected to the variable length coding process or the fixed length coding process are collectively arranged in the syntax of the coded stream, and the receiving unit receives the coding parameter from the coded stream, The decoding unit may decode the coding parameter received by the receiving unit, and decode the coded stream using the decoded coding parameter.
  • the arithmetic coding parameter is arranged after the coding parameter in the syntax of the coding stream.
  • Initialization parameters used when initializing the arithmetic coding process or arithmetic decoding process are collectively arranged in the syntax of the coded stream, and the receiving unit is configured to calculate the initialization parameter from the coded stream. And a control unit configured to control to initialize the arithmetic decoding process with reference to an initialization parameter received by the receiving unit.
  • the arithmetic coding parameter is a parameter for controlling the coding process or the decoding process at the picture level or slice level.
  • the arithmetic coding parameter is a parameter of a filter used when performing encoding processing or decoding processing.
  • the parameter of the adaptive loop filter and the parameter of the adaptive offset filter are collectively arranged at the top of the slice data of the coded stream, and the receiving unit is the adaptive from the top of the slice data of the coded stream Parameters of a loop filter and parameters of the adaptive offset filter may be received.
  • the parameter of the adaptive loop filter and the parameter of the adaptive offset filter are collectively arranged at the end of the slice header of the coded stream, and the receiving unit is configured to adjust the adaptation from the end of slice data of the coded stream. Parameters of a loop filter and parameters of the adaptive offset filter may be received.
  • the initialization parameter is disposed near the top of the slice header of the coded stream, and the receiving unit can receive the initialization parameter from near the top of the slice header of the coded stream.
  • an arithmetic coding parameter subjected to an arithmetic coding process is summarized in a syntax of a coded stream coded in a unit in which image data has a hierarchical structure.
  • the coded coding parameter is received from the coded stream disposed in the memory section, the received coded coding parameter is subjected to arithmetic decoding processing, and the received coded coding stream is decoded using the decoded arithmetic coding parameter.
  • An image processing apparatus encodes an image data in units having a hierarchical structure to generate an encoded stream, and an encoded stream generated by the encoding unit.
  • transmission for transmitting an arrangement unit for arranging arithmetic coding parameters to be subjected to arithmetic coding processing together, a coded stream generated by the coding unit, and an arithmetic coding parameter arranged by the arrangement unit And a unit.
  • the arrangement unit may collectively arrange coding parameters to be subjected to variable length coding processing or fixed length coding processing, and the transmission unit may transmit the coding parameters arranged by the arrangement unit.
  • the placement unit may place the arithmetic coding parameter after the coding parameter.
  • the arrangement unit arranges initialization parameters to be used when initializing the arithmetic coding process or arithmetic decoding process, and the transmission unit transmits the initialization parameter arranged by the arrangement unit. it can.
  • the arithmetic coding parameter is a parameter for controlling the coding process or the decoding process at the picture level or slice level.
  • the arithmetic coding parameter is a parameter of a filter used when performing encoding processing or decoding processing.
  • the arrangement unit collectively arranges the parameter of the adaptive loop filter and the parameter of the adaptive offset filter at the top of slice data of the encoded stream, and the transmission unit is the adaptive loop arranged by the arrangement unit.
  • the parameters of the filter and the parameters of the adaptive offset filter may be transmitted.
  • the arrangement unit collectively arranges the parameter of the adaptive loop filter and the parameter of the adaptive offset filter at an end of a slice header of the encoded stream, and the transmission unit is the adaptive loop arranged by the arrangement unit.
  • the parameters of the filter and the parameters of the adaptive offset filter may be transmitted.
  • the arrangement unit may arrange the initialization parameter near the top of a slice header of the encoded stream.
  • the image processing apparatus encodes image data in units having a hierarchical structure to generate an encoded stream, and performs arithmetic on the syntax of the generated encoded stream. Arithmetic coding parameters to be coded are collectively arranged, and the generated coded stream and the arranged arithmetic coding parameters are transmitted.
  • a coded stream in which arithmetically coded arithmetic coding parameters are arranged together in the syntax of a coded stream in which image data is coded in units having a hierarchical structure is provided.
  • the arithmetic coding parameter is received, and the received arithmetic coding parameter is arithmetically decoded.
  • the received coded stream is decoded using the arithmetic coding parameter subjected to the arithmetic decoding process.
  • a coded stream is generated by coding image data in units having a hierarchical structure. Then, in the syntax of the generated coded stream, arithmetic coding parameters to be subjected to the arithmetic coding process are collectively arranged, and the generated coded stream and the arranged arithmetic coding parameters are transmitted.
  • the above-described image processing apparatus may be an independent apparatus, or may be an image coding apparatus or an internal block constituting an image decoding apparatus.
  • an image can be decoded.
  • the decoding process can be performed at high speed.
  • an image can be encoded.
  • the encoding process can be performed at high speed.
  • FIG. 24 is a diagram illustrating an example main configuration of a multi-viewpoint image decoding device to which the present technology is applied. It is a figure which shows the example of a hierarchy image coding system. It is a figure which shows the main structural examples of the hierarchy image coding apparatus to which this technique is applied. It is a figure which shows the main structural examples of the hierarchy image decoding apparatus to which this technique is applied. It is a block diagram showing an example of main composition of a computer. It is a block diagram showing an example of a schematic structure of a television set. It is a block diagram which shows an example of a rough structure of a mobile telephone. It is a block diagram which shows an example of a rough structure of a recording and reproducing apparatus. It is a block diagram showing an example of rough composition of an imaging device.
  • FIG. 1 shows a configuration of an embodiment of an image coding apparatus as an image processing apparatus to which the present disclosure is applied.
  • the image coding apparatus 100 shown in FIG. 1 codes image data using a prediction process.
  • a coding method for example, H.264 may be used.
  • H.264 and MPEG (Moving Picture Experts Group) 4 Part 10 (AVC (Advanced Video Coding) (hereinafter referred to as H.264 / AVC)), HEVC (High Efficiency Video Coding), etc. are used.
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • the image coding apparatus 100 includes an A / D (Analog / Digital) conversion unit 101, a screen rearrangement buffer 102, an operation unit 103, an orthogonal conversion unit 104, a quantization unit 105, and a lossless coding unit 106. , And the accumulation buffer 107.
  • the image coding apparatus 100 further includes an inverse quantization unit 108, an inverse orthogonal transformation unit 109, an operation unit 110, a deblock filter 111, a frame memory 112, a selection unit 113, an intra prediction unit 114, a motion prediction / compensation unit 115, The prediction image selection unit 116 and the rate control unit 117 are included.
  • the image coding apparatus 100 further includes an adaptive offset unit 121 and an adaptive loop filter 122.
  • the A / D converter 101 A / D converts the input image data, and outputs the image data to the screen rearrangement buffer 102 for storage.
  • the screen rearrangement buffer 102 rearranges the images of frames in the stored display order into the order of frames for encoding in accordance with the GOP (Group of Picture) structure.
  • the screen rearrangement buffer 102 supplies the image in which the order of the frames is rearranged to the calculation unit 103.
  • the screen rearrangement buffer 102 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 114 and the motion prediction / compensation unit 115.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116 from the image read from the screen rearrangement buffer 102, and the difference information thereof Are output to the orthogonal transformation unit 104.
  • the operation unit 103 subtracts the predicted image supplied from the intra prediction unit 114 from the image read from the screen rearrangement buffer 102. Also, for example, in the case of an image on which inter coding is performed, the operation unit 103 subtracts the predicted image supplied from the motion prediction / compensation unit 115 from the image read from the screen rearrangement buffer 102.
  • the orthogonal transformation unit 104 performs orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation on the difference information supplied from the calculation unit 103, and supplies the transformation coefficient to the quantization unit 105.
  • the quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104.
  • the quantization unit 105 supplies the quantized transform coefficient to the lossless encoding unit 106.
  • the lossless coding unit 106 performs lossless coding such as variable length coding and arithmetic coding on the quantized transform coefficients.
  • the lossless encoding unit 106 acquires parameters such as information indicating an intra prediction mode from the intra prediction unit 114, and acquires parameters such as information indicating an inter prediction mode and motion vector information from the motion prediction / compensation unit 115.
  • the lossless encoding unit 106 acquires the parameters of the adaptive offset filter from the adaptive offset unit 121, and acquires the parameters of the adaptive loop filter from the adaptive loop filter 122.
  • the lossless encoding unit 106 encodes the quantized transform coefficient, and encodes each acquired parameter (syntax element) to be part of header information of encoded data (multiplexing).
  • the lossless encoding unit 106 supplies the encoded data obtained by the encoding to the accumulation buffer 107 for accumulation.
  • lossless encoding processing such as variable length coding or arithmetic coding is performed.
  • variable-length coding include CAVLC (Context-Adaptive Variable Length Coding).
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • CABAC is a binary arithmetic coding scheme that adaptively codes according to the surrounding context (Context).
  • parameters to be sent to the decoding side described above are data-intensive in variable-length coding and transmission of fixed-length coding levels, so arithmetic coding (CABAC) ) And compress and transmit.
  • CABAC arithmetic coding
  • parameters such as if statements are desirably variable-length encoded or fixed-length encoded.
  • the lossless encoding unit 106 performs arithmetic encoding on parameters that require arithmetic encoding, and performs variable-length encoding and fixed-length encoding on other parameters.
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106, and at a predetermined timing, for example, a recording device or transmission (not shown) at a later stage as an encoded image encoded. Output to the road etc.
  • the transform coefficient quantized in the quantization unit 105 is also supplied to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 105.
  • the inverse quantization unit 108 supplies the obtained transform coefficient to the inverse orthogonal transform unit 109.
  • the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the supplied transform coefficient by a method corresponding to orthogonal transform processing by the orthogonal transform unit 104.
  • the inverse orthogonal transform output (restored difference information) is supplied to the calculation unit 110.
  • the calculation unit 110 is supplied from the intra prediction unit 114 or the motion prediction / compensation unit 115 via the predicted image selection unit 116 to the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the restored difference information. Prediction images are added to obtain a locally decoded image (decoded image).
  • the calculation unit 110 adds the prediction image supplied from the intra prediction unit 114 to the difference information. Also, for example, when the difference information corresponds to an image on which inter coding is performed, the computing unit 110 adds the predicted image supplied from the motion prediction / compensation unit 115 to the difference information.
  • the addition result is supplied to the deblocking filter 111 and the frame memory 112.
  • the deblocking filter 111 removes block distortion of the decoded image by appropriately performing deblocking filter processing.
  • the deblocking filter 111 supplies the filter processing result to the adaptive offset unit 121.
  • the frame memory 112 outputs the accumulated reference image to the intra prediction unit 114 or the motion prediction / compensation unit 115 via the selection unit 113 at a predetermined timing.
  • the frame memory 112 supplies the reference image to the intra prediction unit 114 via the selection unit 113. Also, for example, when inter coding is performed, the frame memory 112 supplies the reference image to the motion prediction / compensation unit 115 via the selection unit 113.
  • the selection unit 113 supplies the reference image to the intra prediction unit 114. Further, when the reference image supplied from the frame memory 112 is an image to be subjected to inter coding, the selection unit 113 supplies the reference image to the motion prediction / compensation unit 115.
  • the intra prediction unit 114 performs intra prediction (in-screen prediction) that generates a predicted image using pixel values in the screen.
  • the intra prediction unit 114 performs intra prediction in a plurality of modes (intra prediction modes).
  • the intra prediction unit 114 generates prediction images in all intra prediction modes, evaluates each prediction image, and selects an optimal mode. When the optimal intra prediction mode is selected, the intra prediction unit 114 supplies the predicted image generated in the optimal mode to the calculation unit 103 and the calculation unit 110 via the predicted image selection unit 116.
  • the intra prediction unit 114 appropriately supplies the lossless encoding unit 106 with parameters such as intra prediction mode information indicating the adopted intra prediction mode.
  • the motion prediction / compensation unit 115 uses the input image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112 via the selection unit 113 for an image to be inter coded. Motion prediction is performed, motion compensation processing is performed according to the detected motion vector, and a predicted image (inter predicted image information) is generated.
  • the motion prediction / compensation unit 115 performs inter prediction processing of all the candidate inter prediction modes to generate a prediction image.
  • the motion prediction / compensation unit 115 supplies the generated predicted image to the calculation unit 103 or the calculation unit 110 via the predicted image selection unit 116.
  • the motion prediction / compensation unit 115 supplies the lossless encoding unit 106 with parameters such as inter prediction mode information indicating the adopted inter prediction mode and motion vector information indicating the calculated motion vector.
  • the predicted image selection unit 116 supplies the output of the intra prediction unit 114 to the calculation unit 103 and the calculation unit 110 in the case of an image to be subjected to intra coding, and the image of the motion prediction / compensation unit 115 in the case of an image to be subjected to inter coding.
  • the output is supplied to the calculation unit 103 and the calculation unit 110.
  • the rate control unit 117 controls the rate of the quantization operation of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
  • the adaptive offset unit 121 performs offset filter processing on the decoded image (baseband information after local decoding) from the deblocking filter 111. That is to say, the adaptive offset unit 121 performs quad-tree area division using the decoded image, and determines the quad-tree structure by determining the type of offset for each divided area. There are nine types of offsets: two band offsets, six edge offsets, and no offset. The adaptive offset unit 121 calculates an offset value for each divided area with reference to the quad-tree structure.
  • the adaptive offset unit 121 performs offset processing on the decoded image from the deblocking filter 111 using the determined quad-tree structure and the offset value. Then, the adaptive offset unit 121 supplies the image after the offset processing to the adaptive loop filter 122. Further, the adaptive offset unit 121 supplies the determined quad-tree structure and the calculated offset value to the lossless encoding unit 106 as parameters of the adaptive offset filter.
  • the adaptive loop filter 122 calculates an adaptive loop filter coefficient so as to minimize the residual with the original image from the screen rearrangement buffer 102, and uses the adaptive loop filter coefficient to decode from the adaptive offset unit 121. Filter the image. As this filter, for example, a Wiener filter is used. The adaptive loop filter 122 supplies the filtered image to the frame memory 112.
  • the adaptive loop filter 122 sends the calculated adaptive loop filter coefficient to the lossless encoding unit 106 as a parameter of the adaptive loop filter.
  • FIG. 2 is a block diagram showing a configuration example of the lossless encoding unit 106. As shown in FIG.
  • the lossless encoding unit 106 includes a variable length coding (VLC) encoding unit 131, an encoding control unit 132, a setting unit 133, and a context-adaptive binary arithmetic coding (CABAC) encoding unit 134. Configured as.
  • VLC variable length coding
  • CABAC context-adaptive binary arithmetic coding
  • the VLC encoding unit 131, the encoding control unit 132, and the setting unit 133 among the units constituting the lossless encoding unit 106 are implemented as firmware 141 by being executed by a CPU (not shown) or the like.
  • the CABAC encoding unit 134 that performs relatively heavy processing is realized as hardware 142 by setting logic and the like.
  • the transform coefficients from the quantization unit 105 are supplied to the VLC encoding unit 131.
  • Parameters for controlling coding processing are supplied to the VLC coding unit 131 from the intra prediction unit 114, the motion prediction / compensation unit 115, the adaptive offset unit 121, the adaptive loop filter 122, and the like.
  • the intra prediction unit 114 supplies a parameter related to intra prediction such as information indicating an intra prediction mode to the VLC coding unit 131.
  • the motion prediction / compensation unit 115 supplies the VLC coding unit 131 with information indicating motion prediction information, motion vector information, reference frame information, and parameters related to motion prediction such as flag information.
  • the adaptive offset unit 121 supplies parameters related to the adaptive offset filter such as a quad-tree structure and an offset value to the VLC encoding unit 131.
  • the adaptive loop filter 122 supplies parameters related to the adaptive loop filter, such as adaptive loop filter coefficients, to the VLC encoding unit 131.
  • illustration is omitted, quantization parameters and the like from the quantization unit 105 are also supplied.
  • those relating to the adaptive offset filter and the parameters relating to the adaptive loop filter are both filter parameters. Also, these parameters are parameters that apply to the entire screen, that is, parameters that control the encoding process in slice or picture units. The amount of data to be sent to the decoding side is smaller when such parameters are subjected to arithmetic coding.
  • the VLC encoding unit 131 performs variable-length encoding or fixed-length encoding processing on parameters other than the parameters for controlling encoding processing in units of slices or pictures among supplied parameters.
  • the VLC encoding unit 131 supplies the encoded data to the setting unit 133.
  • the VLC encoding unit 131 supplies the quantized transform coefficient from the quantization unit 105 to the CABAC encoding unit 134. Among the supplied parameters, the VLC encoding unit 131 supplies a parameter for controlling encoding processing in units of slices or pictures to the CABAC encoding unit 134, and notifies the encoding control unit 132 to that effect. When the parameters necessary for the initialization of the CABAC encoding unit 134 are ready, the VLC encoding unit 131 supplies those parameters to the CABAC encoding unit 134, and notifies the encoding control unit 132 to that effect.
  • the encoding control unit 132 In response to the notification from the VLC encoding unit 131, the encoding control unit 132 causes the CABAC encoding unit 134 to start the initialization process and the encoding process. In response to the notification from the CABAC encoding unit 134, the encoding control unit 132 causes the VLC encoding unit 131 to start encoding processing or causes the setting unit 133 to start setting.
  • the setting unit 133 arranges the parameters encoded by the VLC encoding unit 131 or the CABAC encoding unit 134 and the data encoded by the CABAC encoding unit 134 in a predetermined order. Arrange in order to generate slice header and slice data. The setting unit 133 supplies the generated slice header and slice data to the accumulation buffer 107.
  • the CABAC coding unit 134 Under the control of the coding control unit 132, the CABAC coding unit 134 performs initialization using parameters necessary for initialization from the VLC coding unit 131. Under the control of the coding control unit 132, the CABAC coding unit 134 performs arithmetic coding on the quantized transform coefficients from the VLC coding unit 131 and each parameter. The CABAC encoding unit 134 supplies the arithmetically encoded data (transformation coefficients) and parameters to the setting unit 133.
  • FIG. 3 is a diagram showing a configuration example of a slice header and a part of slice data in a conventional stream.
  • slice_type indicating the type of slice is disposed near the top of the slice header.
  • the slice_qp_delta is disposed slightly below the center of the slice header.
  • slice_type and slice_qp_delta are parameters necessary for CABAC initialization (hereinafter also referred to as initialization parameters as appropriate) to be subjected to variable-length or fixed-length encoding or decoding.
  • sao_param which is a parameter of the adaptive offset filter is arranged.
  • alf_cu_control_param which is a parameter of the adaptive loop filter.
  • Slice data follows the end of the slice header after its alf_cu_control_param ().
  • Parameters of the adaptive offset filter, sao_param (), and parameters of the adaptive loop filter alf_cu_control_param () are parameters that control on or off in the entire screen. As described above, since parameters that control encoding processing in units of slices or pictures are large in data, such parameters are subjected to arithmetic encoding and arithmetic decoding.
  • CABAC initialization must be performed before these parameters in the slice header.
  • slice_type is placed near the top of the slice header, but slice_qp_delta is placed immediately before sao_param (), which is the parameter of the adaptive offset filter. There is. Therefore, at least on the decoding side, if slice_qp_delta is not decoded, it is difficult to perform CABAC initialization, and in the related art, CABAC initialization is performed immediately before sao_param ().
  • the setting unit 133 arranges slice_qp_delta, which is necessary for CABAC initialization, after Slice_type located near the top of the slice header.
  • the setting unit 133 arranges sao_param (), which is a parameter of the adaptive offset filter, at the end of the slice header in which the parameter alf_cu_control_param () of the adaptive loop filter is arranged.
  • FIG. 4 is a diagram showing an example configuration of a slice header and part of slice data in the stream of the present technology.
  • hatched hatchings represent the differences from the prior art described above with reference to FIG.
  • slice_type and slice_qp_delta in the lower center of the slice header in the example of FIG. 3 are arranged side by side (collectively) around the top of the slice header.
  • CABAC can be initialized anywhere from the top of the slice header where slice_type and slice_qp_delta, which are CABAC initialization parameters, are aligned. As a result, arithmetic coding and decoding of parameters are not delayed by initialization.
  • alf_cu_control_param which is a parameter of the adaptive loop filter
  • sao_param which is a parameter of the adaptive offset filter at the center of the slice header in the example of FIG.
  • parameters requiring arithmetic coding and decoding are collectively arranged at the end of the slice header before slice data.
  • processing of arithmetic coding and arithmetic decoding can be efficiently performed collectively from the end of the slice header to the slice data.
  • a parameter requiring arithmetic coding that is, a coding parameter to be arithmetically coded (decoded) is referred to as an arithmetic coding parameter.
  • parameters for variable-length coding (decoding) or fixed-length coding (decoding) are simply referred to as coding parameters.
  • FIG. 4 an example in which arithmetic coding parameters that require arithmetic coding and arithmetic decoding are arranged at the end of the slice header is shown, but as shown in FIG. It may be arranged.
  • FIG. 5 is a diagram showing another configuration example of a slice header and a part of slice data in the stream of the present technology.
  • hatched hatchings represent differences from the prior art described above with reference to FIG.
  • slice_type is disposed near the top of the slice header. Further, in the central part of the slice header, cabac_init_idc and slice_qp_delta, which is at the lower center of the slice header in the example of FIG. 3, are arranged side by side.
  • Cabac_init_idc is based on H.
  • the H.264 / AVC system was used to set the cabac table, but at present, its use has not been decided in the HEVC system.
  • slice_qp_delta may be placed immediately after cabac_init_idc as shown in FIG. 5 to combine with cabac_init_idc.
  • cabac_init_idc may be placed immediately after slice_type in FIG. 4 together with slice_qp_delta.
  • CABAC can be initialized anywhere where slice_type, slice_qp_delta, and cabac_init_idc are aligned. As a result, arithmetic coding and arithmetic decoding of arithmetic coding parameters are not delayed due to initialization.
  • alf_cu_control_param () which is a parameter of the adaptive loop filter and sao_param () which is a parameter of the adaptive offset filter are arranged side by side not at the end of the slice header but at the top of the slice data.
  • Both alf_cu_control_param () and sao_param () are arithmetic coding parameters.
  • arithmetic coding parameters that require arithmetic coding and decoding are collectively arranged in slice data and immediately before the data itself.
  • the processing of arithmetic decoding can be performed collectively and efficiently.
  • alf_cu_control_param () which is a parameter of the adaptive offset filter
  • alf_cu_control_param () which is a parameter of the adaptive loop filter
  • FIG. 6 is a diagram illustrating an exemplary configuration of part of syntax in a stream of the present technology.
  • coding parameters for performing variable-length coding or fixed-length coding are collectively arranged. Furthermore, in the syntax, arithmetic coding parameters including sao_param () which is a parameter of the adaptive offset filter and alf_cu_control_param () which is a parameter of the adaptive loop filter are collectively arranged after the coding parameter.
  • Arithmetic coding parameters that require arithmetic coding and decoding are not limited to sao_param (), which is a parameter of the adaptive offset filter, and alf_cu_control_param (), which is a parameter of the adaptive loop filter.
  • sao_param which is a parameter of the adaptive offset filter
  • alf_cu_control_param which is a parameter of the adaptive loop filter.
  • qmatrix_param (), which is a parameter of the quantization matrix is also an arithmetic coding parameter that requires arithmetic coding and decoding, such as sao_param (), which is a parameter of the adaptive offset filter, and adaptive It may be arranged together with alf_cu_control_param () which is a parameter of the loop filter.
  • each arithmetic coding parameter is not limited to the examples of FIGS. 6 and 7.
  • the parameters of the adaptive loop filter the parameters of the adaptive offset filter, and the parameters of the quantization matrix, which are arithmetic coding parameters that require arithmetic coding and decoding, will be described in detail.
  • the adaptive loop filter is an encoding process used in the HEVC method, and is not adopted in the AVC method.
  • the parameters of the adaptive loop filter sent to the decoding side are the coefficients of the two-dimensional filter and the control signal of On / Off in CU units, updated for each picture, and the size is large.
  • the adaptive loop filter is to transmit a two-dimensional filter such that the coded image is closest to the original image, and to perform filtering to improve the coding efficiency.
  • the parameter set is very large, parameters are sent in I-pictures with a large amount of code.
  • a gain may not be obtained in proportion to the overhead for transmitting the parameter, so the parameter is not sent in this case.
  • the parameters of the adaptive loop filter are switched according to the code amount of each picture, and the values are changed for each picture.
  • the parameter of the adaptive loop filter itself depends on the pattern, the same value is not frequently used repeatedly.
  • the adaptive offset filter is an encoding process used in the HEVC method, and is not adopted in the AVC method.
  • the parameters of the adaptive offset sent to the decoding side are the type of offset and the On / Off control signal when the picture is divided in certain units, updated for each picture, and the size is relatively large.
  • the adaptive offset filter is to add an offset to a certain pixel value.
  • the adaptive offset filter can be relatively transmitted on a picture-by-picture basis because the parameter size is smaller compared to the adaptive loop filter.
  • the parameter of the adaptive offset filter needs to be arithmetically coded. Since there is a possibility that the parameters are similar in each picture, it can be said that it is possible to use the previous parameters.
  • the quantization matrix is adopted from the AVC method, the size increases as the block size increases.
  • the parameters of the quantization matrix sent to the decoding side are quantization matrices in units of pictures, and are updated for each picture, for each picture type, or for each GOP, and the size is large.
  • the quantization matrix does not need to be changed if the design does not change. Also, the parameters of the quantization matrix are large in size but there is no option to not send.
  • parameters of the quantization matrix different values may be used for I picture, B picture and P picture.
  • the parameters of the quantization matrix are characterized by being incompatible with parameters that are changed for each picture, such as an adaptive loop filter and an adaptive offset filter.
  • the parameters of the adaptive loop filter, the parameters of the adaptive offset filter, and the parameters of the quantization matrix are respectively characterized, they are arithmetically coded because they are large in size and sent for each picture or the like. There is a need.
  • FIG. 8 is a timing chart in the case of processing the conventional stream described above with reference to FIG.
  • the decoding process is divided into firmware and hardware processes as in the coding side.
  • the left represents a variable-length fixed-length decoding process of FW (firmware), and the right represents an arithmetic decoding process of HW (hardware).
  • the firmware performs variable length (or fixed length) decoding on the initialization parameter slice_type, which is a coding parameter, and thereafter, variable length (or fixed) on other coding parameters. Long) Decrypt. Then, when the firmware decodes the encoding parameter slice_qp_delta as an encoding parameter, finally, since the slice_type and slice_qp_delta as initialization parameters necessary for CABAC initialization are aligned, the hardware of CABAC is It is initialized.
  • the firmware can set the hardware to the sao_param (). Make arithmetic decoding.
  • the hardware returns the decrypted sao_param () to the firmware when the arithmetic decryption is finished.
  • the firmware performs variable-length (or fixed-length) decoding of the other coding parameters until immediately before alf_cu_control_param () at the end of the slice header. Since alf_cu_control_param () which is an arithmetic coding parameter and a parameter of the adaptive loop filter is disposed at the end of the slice header, the firmware causes the hardware to perform arithmetic decoding of alf_cu_control_param (). The hardware returns the decoded alf_cu_control_param () to the firmware when the arithmetic decoding is finished.
  • the firmware causes the hardware to perform arithmetic decoding of slice data.
  • the exchange between firmware and hardware is distributed, and further, a waiting time due to initialization occurs.
  • the exchange of firmware and hardware requires adjustment such as data exchange, and the encoding and decoding processes are not efficient.
  • FIG. 9 is a diagram showing a timing chart in the case of processing the stream of the present technology described above with reference to FIG.
  • an example of decoding processing is shown.
  • the decoding process is divided into firmware and hardware processes on the decoding side as well.
  • the left represents a variable-length fixed-length decoding process of FW (firmware), and the right represents an arithmetic decoding process of HW (hardware).
  • the firmware performs variable length (or fixed length) decoding of the initialization parameter slice_type, and then decodes the initialization parameter slice_qp_delta.
  • variable length or fixed length
  • slice_qp_delta which are initialization parameters necessary for CABAC initialization
  • the firmware After CABAC hardware initialization, the firmware also performs variable length (or fixed length) decoding of other coding parameters until just before alf_cu_control_param () at the end of the slice header.
  • an arithmetic coding parameter alf_cu_control_param () which is a parameter of the adaptive loop filter, and sao_param () which is an arithmetic coding parameter and a parameter of the adaptive offset filter are arranged.
  • the firmware causes the hardware to perform arithmetic decoding of alf_cu_control_param ().
  • the hardware returns the decoded alf_cu_control_param () to the firmware when the arithmetic decoding is finished.
  • the firmware causes the hardware to perform arithmetic decoding of sao_param ().
  • the hardware returns the decrypted sao_param () to the firmware when the arithmetic decryption is finished.
  • the firmware causes the hardware to perform arithmetic decoding of slice data.
  • FIG. 10 is a diagram showing a timing chart when processing the stream of the present technology described above with reference to FIG.
  • the decoding process is divided into firmware and hardware processes on the decoding side as well.
  • the left represents a variable-length fixed-length decoding process of FW (firmware), and the right represents an arithmetic decoding process of HW (hardware).
  • alf_cu_control_param () which is an arithmetic coding parameter and a parameter of the adaptive loop filter
  • sao_param () which is an arithmetic coding parameter and a parameter of the adaptive offset filter
  • the firmware causes the hardware to perform arithmetic decoding of alf_cu_control_param ().
  • the hardware returns the decoded alf_cu_control_param () to the firmware when the arithmetic decoding is finished.
  • the firmware also causes the hardware to perform arithmetic decoding of sao_param ().
  • the hardware returns the decrypted sao_param () to the firmware when the arithmetic decryption is finished.
  • the hardware performs decoding of arithmetic coding parameters collectively.
  • FIG. 11 is a diagram showing a timing chart in the case of processing the stream of the present technology described above with reference to FIG. The same applies to the syntax shown in FIG. That is, in the case of the example of FIG. 11, in the syntax of FIG. 7, since the encoding parameters for which variable-length coding or fixed-length coding is being performed are collectively arranged, the firmware The optimization parameters.
  • alf_cu_control_param () which is a parameter of the adaptive loop filter
  • sao_param () which is a parameter of the adaptive offset filter
  • qmatrix_param () which is a quantization matrix parameter
  • the firmware causes the hardware to perform arithmetic decoding of alf_cu_control_param ().
  • the hardware returns the decoded alf_cu_control_param () to the firmware when the arithmetic decoding is finished.
  • the firmware also causes the hardware to perform arithmetic decoding of sao_param ().
  • the hardware returns the decrypted sao_param () to the firmware when the arithmetic decryption is finished.
  • the firmware causes the hardware to perform arithmetic decoding of the quantization matrix parameter qmatrix_param ().
  • the hardware returns the decoded qmatrix_param () to the firmware when the arithmetic decoding is finished.
  • the hardware performs decoding of arithmetic coding parameters collectively.
  • the encoding parameters arranged collectively in the syntax are collectively subjected to variable-length (fixed-length) decoding processing.
  • arithmetic coding parameters arranged collectively in syntax are collectively subjected to arithmetic decoding processing. Therefore, since the exchange of firmware and hardware is performed collectively, the efficiency of the decoding process can be improved and the process can be speeded up.
  • arranging (arranging) the arithmetic coding parameters collectively means that the syntax of the arithmetic coding parameters is performed so that processing exchange is performed collectively in the firmware (FW) processing and the hardware (HW) processing.
  • arranging (arranging) the arithmetic coding parameters for example, alf_cu_control_param () / sao_param ()
  • arithmetic coding or arithmetic decoding is performed as shown in FIG. 6 and FIG. This means that no coding parameter for performing variable-length (or fixed-length) coding / decoding is arranged between the coding parameters.
  • arranging encoding parameters to be subjected to variable-length (or fixed-length) encoding / decoding together means that processing exchanges are combined in firmware (FW) processing and hardware (HW) processing.
  • the syntax of the coding parameters to perform variable length (or fixed length) coding / decoding is to be placed. That is, to arrange encoding parameters collectively (arranged) means to perform arithmetic encoding / decoding between encoding parameters that perform variable-length (or fixed-length) encoding or variable-length (or fixed-length) decoding. It means that the arithmetic coding parameter is not allocated.
  • step S101 the A / D conversion unit 101 A / D converts the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and performs rearrangement from the display order of each picture to the coding order.
  • the decoded image to be referred to is read from the frame memory 112 and the intra prediction unit via the selection unit 113 It is supplied to 114.
  • the intra prediction unit 114 performs intra prediction on the pixels of the block to be processed in all candidate intra prediction modes. Note that as the decoded pixels to be referenced, pixels not filtered by the deblocking filter 111, the adaptive offset unit 121, and the adaptive loop filter 122 are used.
  • intra prediction is performed in all candidate intra prediction modes, and cost function values are calculated for all candidate intra prediction modes. Then, based on the calculated cost function value, the optimal intra prediction mode is selected, and the predicted image generated by intra prediction in the optimal intra prediction mode and its cost function value are supplied to the predicted image selection unit 116.
  • the image to be processed supplied from the screen rearrangement buffer 102 is an image to be inter processed
  • the image to be referred to is read from the frame memory 112 and supplied to the motion prediction / compensation unit 115 via the selection unit 113. Be done.
  • the motion prediction / compensation unit 115 performs motion prediction / compensation processing based on these images.
  • motion prediction processing is performed in all the candidate inter prediction modes, cost function values are calculated for all candidate inter prediction modes, and optimal inter prediction is performed based on the calculated cost function values.
  • the mode is determined. Then, the predicted image generated in the optimal inter prediction mode and the cost function value thereof are supplied to the predicted image selection unit 116.
  • step S105 the predicted image selection unit 116 optimizes one of the optimal intra prediction mode and the optimal inter prediction mode based on the cost function values output from the intra prediction unit 114 and the motion prediction / compensation unit 115. Decide on prediction mode. Then, the prediction image selection unit 116 selects the prediction image of the determined optimal prediction mode, and supplies the prediction image to the calculation units 103 and 110. The predicted image is used for the calculation of steps S106 and S111 described later.
  • the selection information of the predicted image is supplied to the intra prediction unit 114 or the motion prediction / compensation unit 115.
  • the intra prediction unit 114 supplies the information indicating the optimal intra prediction mode (that is, the parameter related to the intra prediction) to the lossless encoding unit 106.
  • the motion prediction / compensation unit 115 losslessly encodes information indicating the optimal inter prediction mode and information according to the optimal inter prediction mode (that is, parameters related to motion prediction) Output to unit 106.
  • information according to the optimal inter prediction mode include motion vector information and reference frame information.
  • step S106 the computing unit 103 computes the difference between the image rearranged in step S102 and the predicted image selected in step S105.
  • the prediction image is supplied from the motion prediction / compensation unit 115 when performing inter prediction, and from the intra prediction unit 114 when performing intra prediction, to the calculation unit 103 via the prediction image selection unit 116.
  • the difference data has a smaller amount of data than the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S107 the orthogonal transformation unit 104 orthogonally transforms the difference information supplied from the calculation unit 103. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S108 the quantization unit 105 quantizes the transform coefficient. During this quantization, the rate is controlled as described in the process of step S118 described later.
  • step S109 the inverse quantization unit 108 inversely quantizes the transform coefficient quantized by the quantization unit 105 with the characteristic corresponding to the characteristic of the quantization unit 105.
  • step S110 the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 108 with a characteristic corresponding to the characteristic of the orthogonal transform unit 104.
  • step S111 the operation unit 110 adds the predicted image input via the predicted image selection unit 116 to the locally decoded difference information, and the locally decoded (that is, locally decoded) image (The image corresponding to the input to the calculation unit 103) is generated.
  • step S112 the deblocking filter 111 performs deblocking filter processing on the image output from the computing unit 110. This removes blockiness.
  • the decoded image from the deblocking filter 111 is output to the adaptive offset unit 121.
  • the adaptive offset unit 121 performs adaptive offset processing. That is, the adaptive offset unit 121 determines a quad-tree structure based on the decoded image from the deblocking filter 111, and calculates an offset value of the quad-tree divided region. The adaptive offset unit 121 performs offset filter processing on the quad-tree divided region, and supplies the pixel value after offset to the adaptive loop filter 122.
  • the adaptive offset unit 121 supplies the quad-tree structure and the offset value to the lossless encoding unit 106 as parameters of the adaptive offset filter.
  • step S114 the adaptive loop filter 122 performs adaptive loop filter processing on the pixel value after the offset processing using the adaptive filter coefficient which is calculated and calculated.
  • the pixel values after the adaptive filter processing are output to the frame memory 112.
  • the adaptive loop filter 122 supplies the calculated adaptive filter coefficient to the lossless encoding unit 106 as a parameter of the adaptive loop filter.
  • step S115 the frame memory 112 stores the filtered image.
  • the image not filtered by the deblocking filter 111, the adaptive offset unit 121, and the adaptive loop filter 122 is also supplied from the arithmetic unit 110 and stored.
  • the transform coefficient quantized in step S108 described above is also supplied to the lossless encoding unit 106.
  • the lossless encoding unit 106 encodes the quantized transform coefficient output from the quantization unit 105 and each supplied parameter. That is, the difference image is losslessly encoded such as variable length coding, arithmetic coding or the like and compressed.
  • the coding parameters other than the arithmetic coding parameters for controlling the coding process in units of slices or pictures have variable lengths ( Or fixed length) encoded and added to the header in a predetermined order.
  • arithmetic coding parameters that control coding processing in units of slices or pictures are arithmetically coded and added to the end of the slice header or the top of the slice data.
  • step S117 the accumulation buffer 107 accumulates the encoded difference image (that is, the encoded stream) as a compressed image.
  • the compressed image stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via the transmission path.
  • step S118 the rate control unit 117 controls the rate of the quantization operation of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
  • step S118 ends, the encoding process ends.
  • the intra prediction unit 114 supplies a parameter related to intra prediction such as information indicating an intra prediction mode to the VLC encoding unit 131.
  • the motion prediction / compensation unit 115 supplies, to the VLC coding unit 131, parameters relating to motion prediction such as information indicating an inter prediction mode, motion vector information, reference frame information, and flag information.
  • the adaptive offset unit 121 supplies parameters related to the adaptive offset filter such as a quad-tree structure and an offset value to the VLC encoding unit 131.
  • the adaptive loop filter 122 supplies parameters related to the adaptive loop filter, such as adaptive loop filter coefficients, to the VLC encoding unit 131.
  • slice_type and slice_qp_delta are also supplied, and quantization parameters and the like from the quantization unit 105 are also supplied.
  • the quantization unit 105 also supplies the quantized transform coefficient to the VLC encoding unit 131.
  • step S131 the VLC encoding unit 131 waits for slice_type and slice_qp_delta, which are initialization parameters necessary for CABAC initialization, to be aligned among the supplied parameters. If it is determined in step S131 that slice_type and slice_qp_delta are aligned, the VLC encoding unit 131 supplies the parameters of slice_type and slice_qp_delta to the CABAC encoding unit 134, and notifies the encoding control unit 132 of this.
  • slice_type and slice_qp_delta which are initialization parameters necessary for CABAC initialization
  • the encoding control unit 132 causes the CABAC encoding unit 134 to perform initialization in step S132.
  • the CABAC encoding unit 134 notifies the encoding control unit 132 of it. After this, CABAC encoding can be performed at any timing.
  • step S133 the VLC encoding unit 131 acquires a parameter to be encoded from the supplied parameter.
  • the VLC encoding unit 131 determines whether the acquired parameter is sao_param () that is a parameter of the adaptive offset filter or alf_cu_control_param () of the adaptive loop filter. That is, in step S133, it is determined whether the acquired parameter is an arithmetic coding parameter.
  • step S134 If it is determined in step S134 that the acquired parameter is not the adaptive offset filter parameter sao_param () and the adaptive loop filter parameter alf_cu_control_param () (that is, the arithmetic coding parameter), the process proceeds to step S135. move on.
  • step S135 the VLC encoding unit 131 performs VLC encoding (variable length or fixed length encoding) on the parameter acquired in step S133.
  • the VLC encoding unit 131 supplies the encoded encoding parameter to the setting unit 133.
  • step S134 If it is determined in step S134 that the acquired parameter is sao_param () which is a parameter of the adaptive offset filter or alf_cu_control_param () (that is, an arithmetic coding parameter) of the adaptive loop filter, the process proceeds to step S136. move on.
  • the VLC encoding unit 131 supplies the parameter acquired in step S133 to the CABAC encoding unit 134, and notifies the encoding control unit 132 to that effect.
  • step S136 the CABAC encoding unit 134 performs CABAC encoding (arithmetic encoding) on the parameter acquired in step S133 under the control of the encoding control unit 132.
  • the parameter to be arithmetically coded here is an arithmetic coding parameter, which is the parameter sao_param () of the adaptive offset filter or the parameter alf_cu_control_param () of the adaptive loop filter.
  • the CABAC encoding unit 134 supplies the encoded arithmetic encoding parameter to the setting unit 133, and notifies the encoding control unit 132 of the end of the encoding.
  • the coding control unit 132 notifies the VLC coding unit 131 of the end.
  • step S137 the VLC encoding unit 131 determines whether or not all parameter encoding has been completed. If it is determined that the parameter encoding has not been completed yet, the process returns to step S133, and the subsequent processes are repeated.
  • step S137 If it is determined in step S137 that all parameter encoding has been completed, the process proceeds to step S138.
  • the VLC encoding unit 131 supplies the transform coefficient from the quantization unit 105 to the CABAC encoding unit 134, and notifies the encoding control unit 132 to that effect.
  • step S138 under the control of the encoding control unit 132, the CABAC encoding unit 134 performs CABAC encoding (arithmetic encoding) on the data (transformation coefficients), and supplies the encoded data to the setting unit 133.
  • the coding control unit 132 is notified of the end of the coding.
  • the setting unit 133 is supplied with the coding parameter coded by the VLC coding unit 131, the arithmetic coding parameter coded by the CABAC coding unit 134, or the data coded by the CABAC coding unit 134. It is done.
  • the setting unit 133 sets and arranges the encoded parameters and the encoded data in the order of FIG. 4 or 5, and generates a slice header and slice data.
  • the setting unit 133 supplies the generated slice header and slice data to the accumulation buffer 107. After the process of step S139, the process returns to step S116 of FIG.
  • the coding process can be speeded up by arranging the arithmetic coding parameter that controls the coding process in slice or picture units at the end of the slice header or at the top of the slice data.
  • FIG. 14 illustrates the configuration of an embodiment of an image decoding apparatus as an image processing apparatus to which the present disclosure is applied.
  • the image decoding apparatus 200 shown in FIG. 14 is a decoding apparatus corresponding to the image coding apparatus 100 of FIG.
  • encoded data encoded by the image encoding device 100 is transmitted to the image decoding device 200 corresponding to the image encoding device 100 via a predetermined transmission path and decoded.
  • the image decoding apparatus 200 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transformation unit 204, an operation unit 205, a deblock filter 206, a screen rearrangement buffer 207, And a D / A converter 208.
  • the image decoding apparatus 200 further includes a frame memory 209, a selection unit 210, an intra prediction unit 211, a motion prediction / compensation unit 212, and a selection unit 213.
  • the image decoding device 200 includes an adaptive offset unit 221 and an adaptive loop filter 222.
  • the accumulation buffer 201 accumulates the transmitted encoded data.
  • the encoded data is encoded by the image encoding device 100.
  • the lossless decoding unit 202 decodes the encoded data read from the accumulation buffer 201 at a predetermined timing in a method corresponding to the encoding method of the lossless encoding unit 106 in FIG. 1.
  • the lossless decoding unit 202 decodes in order of the slice header and the slice data.
  • the lossless decoding unit 202 performs arithmetic decoding because arithmetic coding is performed on arithmetic coding parameters that control decoding processing in units of slices or pictures.
  • the lossless decoding unit 202 performs variable-length or fixed-length decoding because the other encoding parameters are variable-length or fixed-length encoded.
  • the lossless decoding unit 202 supplies a parameter such as information indicating the decoded intra prediction mode to the intra prediction unit 211, and supplies a parameter such as information indicating the inter prediction mode or motion vector information to the motion prediction / compensation unit 212. .
  • the lossless decoding unit 202 supplies the parameter of the adaptive offset filter to the adaptive offset unit 221, and supplies the parameter of the adaptive loop filter to the adaptive loop filter 222.
  • the inverse quantization unit 203 inversely quantizes the coefficient data (quantization coefficient) obtained by being decoded by the lossless decoding unit 202, using a method corresponding to the quantization method of the quantization unit 105 in FIG. That is, the inverse quantization unit 203 performs inverse quantization of the quantization coefficient by the same method as the inverse quantization unit 108 in FIG. 1 using the quantization parameter supplied from the image coding apparatus 100.
  • the inverse quantization unit 203 supplies the inversely quantized coefficient data, that is, the orthogonal transformation coefficient to the inverse orthogonal transformation unit 204.
  • the inverse orthogonal transformation unit 204 performs inverse orthogonal transformation on the orthogonal transformation coefficient by a method corresponding to the orthogonal transformation method of the orthogonal transformation unit 104 in FIG. 1, and generates residual data before orthogonal transformation in the image coding apparatus 100. Obtain the corresponding decoded residual data.
  • the decoded residual data obtained by the inverse orthogonal transform is supplied to the arithmetic unit 205. Further, the prediction image is supplied to the calculation unit 205 from the intra prediction unit 211 or the motion prediction / compensation unit 212 via the selection unit 213.
  • Arithmetic unit 205 adds the decoded residual data and the predicted image to obtain decoded image data corresponding to the image data before the predicted image is subtracted by arithmetic unit 103 of image coding apparatus 100.
  • the operation unit 205 supplies the decoded image data to the deblocking filter 206.
  • the deblocking filter 206 is configured basically in the same manner as the deblocking filter 111 of the image coding device 100.
  • the deblocking filter 206 removes block distortion of the decoded image by appropriately performing deblocking filter processing.
  • the deblocking filter 206 supplies the filtering result to the adaptive offset unit 221.
  • the screen rearrangement buffer 207 rearranges the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the order of the original display.
  • the D / A conversion unit 208 D / A converts the image supplied from the screen rearrangement buffer 207, and outputs the image to a display (not shown) for display.
  • the output of the deblocking filter 206 is further supplied to a frame memory 209.
  • the frame memory 209, the selection unit 210, the intra prediction unit 211, the motion prediction / compensation unit 212, and the selection unit 213 are the frame memory 112, the selection unit 113, the intra prediction unit 114, and the motion prediction / compensation unit of the image coding apparatus 100. 115 and the predicted image selection unit 116 respectively.
  • the selection unit 210 reads out the image to be inter-processed and the image to be referred to from the frame memory 209, and supplies the image to the motion prediction / compensation unit 212. In addition, the selection unit 210 reads an image used for intra prediction from the frame memory 209 and supplies the image to the intra prediction unit 211.
  • the intra prediction unit 211 generates a prediction image from the reference image acquired from the frame memory 209 based on this information, and supplies the generated prediction image to the selection unit 213.
  • the motion prediction / compensation unit 212 is supplied from the lossless decoding unit 202 with information (prediction mode information, motion vector information, reference frame information, flags, various parameters, and the like) obtained by decoding header information.
  • the motion prediction / compensation unit 212 generates a prediction image from the reference image acquired from the frame memory 209 based on the information supplied from the lossless decoding unit 202, and supplies the generated prediction image to the selection unit 213.
  • the selection unit 213 selects the prediction image generated by the motion prediction / compensation unit 212 or the intra prediction unit 211, and supplies the prediction image to the calculation unit 205.
  • the adaptive offset unit 221 is supplied with a quad-tree structure and an offset value, which are adaptive offset parameters from the lossless decoding unit 202.
  • the adaptive offset unit 221 performs offset filtering on the pixel values of the decoded image from the deblocking filter 206 using the information.
  • the adaptive offset unit 221 supplies the image after the offset processing to the adaptive loop filter 222.
  • the adaptive loop filter 222 performs a filtering process on the decoded image from the adaptive offset unit 221 using the adaptive filter coefficient that is a parameter of the adaptive loop filter supplied from the lossless decoding unit 202.
  • this filter for example, a Wiener filter is used.
  • the adaptive loop filter 222 supplies the image after the filter to the screen rearrangement buffer 207 and the frame memory 209.
  • FIG. 15 is a block diagram illustrating a configuration example of the lossless decoding unit 202.
  • the lossless decoding unit 202 is configured to include a variable length coding (VLC) decoding unit 231, a decoding control unit 232, an acquisition unit 233, and a context-adaptive binary arithmetic coding (CABAC) decoding unit 234. Ru.
  • VLC variable length coding
  • CABAC context-adaptive binary arithmetic coding
  • the VLC decoding unit 231, the decoding control unit 232, and the acquisition unit 233 are implemented as firmware 241 by being executed by a CPU (not shown) or the like.
  • the CABAC decoding unit 234 which performs relatively heavy processing is realized as hardware 242 by setting logic and the like.
  • the VLC decoding unit 231 is supplied with the encoded data read from the accumulation buffer 201 at a predetermined timing.
  • the VLC decoding unit 231 incorporates an acquisition unit 233.
  • the acquisition unit 233 acquires the encoded parameter to be decoded from the encoded data.
  • the VLC decoding unit 231 corresponds to the coding of the VLC coding unit 131 in FIG. 2 for coding parameters other than the arithmetic coding parameters for controlling the decoding process in units of slices or pictures acquired by the acquisition unit 233. , Variable-length decoding or fixed-length decoding processing.
  • the VLC decoding unit 231 supplies, to the CABAC decoding unit 234, an arithmetic coding parameter for controlling decoding processing in units of slices or pictures among the parameters acquired by the acquisition unit 233, and notifies the decoding control unit 232 to that effect. .
  • the VLC decoding unit 231 supplies an initialization parameter, which is also a coding parameter, to the CABAC decoding unit 234, and notifies the decoding control unit 232 to that effect.
  • the VLC decoding unit 231 receives the parameter arithmetically decoded by the CABAC decoding unit 234.
  • the VLC decoding unit 231 supplies the decoded parameter and the parameter arithmetically decoded by the CABAC decoding unit 234 to the corresponding units of the image decoding apparatus 200.
  • prediction mode information is intra prediction mode information
  • prediction mode information subjected to variable length decoding or fixed length decoding is supplied to the intra prediction unit 211.
  • the prediction mode information is inter prediction mode information
  • the motion prediction / compensation unit 212 is supplied with prediction mode information corresponding to variable length decoding or fixed length decoding and corresponding motion vector information.
  • parameters related to the arithmetically decoded adaptive offset filter are supplied to the adaptive offset unit 221.
  • Parameters related to the arithmetically decoded adaptive loop filter are supplied to the adaptive loop filter 222.
  • the decoding control unit 232 In response to the notification from the VLC decoding unit 231, the decoding control unit 232 causes the CABAC decoding unit 234 to start the initialization process and the decoding process. The decoding control unit 232 causes the VLC decoding unit 231 to start the decoding process in response to the notification from the CABAC decoding unit 234.
  • the CABAC decoding unit 234 Under the control of the decoding control unit 232, the CABAC decoding unit 234 performs initialization using initialization parameters necessary for initialization from the VLC decoding unit 231. Under the control of the decoding control unit 232, the CABAC decoding unit 234 performs arithmetic coding of the encoded arithmetic coding parameters and data (transformation coefficients) from the VLC decoding unit 231 in the CABAC encoding unit 134 of FIG. Perform arithmetic decoding corresponding to. The CABAC decoding unit 234 supplies the arithmetically decoded parameter to the VLC decoding unit 231.
  • the CABAC decoding unit 234 supplies the arithmetically decoded data (quantized orthogonal transformation coefficients) to the inverse quantization unit 203.
  • step S201 the accumulation buffer 201 accumulates the transmitted encoded data.
  • step S202 the lossless decoding unit 202 decodes the encoded data supplied from the accumulation buffer 201. The details of the decoding process will be described later with reference to FIG. 17. The I picture, P picture, and B picture encoded by the lossless encoding unit 106 of FIG. 1 are decoded.
  • coding parameters other than arithmetic coding parameters that control coding processing in units of slices or pictures are variable-length (or fixed-length) decoded.
  • arithmetic coding parameters that control decoding processing in units of slices or pictures, which are added to the end of the slice header or the top of slice data are arithmetically decoded.
  • Arithmetic coding parameters that control decoding processing in units of slices or pictures are parameters related to the adaptive offset filter, parameters related to the adaptive loop filter, etc., as described above with reference to FIG.
  • the prediction mode information is intra prediction mode information
  • the prediction mode information is supplied to the intra prediction unit 211.
  • the prediction mode information is inter prediction mode information
  • motion vector information and the like corresponding to the prediction mode information are supplied to the motion prediction / compensation unit 212.
  • Parameters related to the adaptive offset filter are supplied to the adaptive offset unit 221.
  • Parameters related to the adaptive loop filter are supplied to the adaptive loop filter 222.
  • step S203 the intra prediction unit 211 or the motion prediction / compensation unit 212 performs predicted image generation processing corresponding to the prediction mode information supplied from the lossless decoding unit 202.
  • the intra prediction unit 211 when intra prediction mode information is supplied from the lossless decoding unit 202, the intra prediction unit 211 generates Most Probable Mode, and generates an intra prediction image in the intra prediction mode by parallel processing.
  • the motion prediction / compensation unit 212 performs motion prediction / compensation processing in the inter prediction mode to generate an inter prediction image.
  • the prediction image (intra prediction image) generated by the intra prediction unit 211 or the prediction image (inter prediction image) generated by the motion prediction / compensation unit 212 is supplied to the selection unit 213.
  • step S204 the selection unit 213 selects a predicted image. That is, the predicted image generated by the intra prediction unit 211 or the predicted image generated by the motion prediction / compensation unit 212 is supplied. Therefore, the supplied prediction image is selected and supplied to the calculation unit 205, and is added to the output of the inverse orthogonal transformation unit 204 in step S207 described later.
  • the transform coefficient decoded by the lossless decoding unit 202 in step S202 described above is also supplied to the inverse quantization unit 203.
  • the inverse quantization unit 203 inversely quantizes the transform coefficient decoded by the lossless decoding unit 202 with a characteristic corresponding to the characteristic of the quantization unit 105 in FIG.
  • step S206 the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 108 with a characteristic corresponding to the characteristic of the orthogonal transform unit 104 in FIG.
  • the difference information corresponding to the input (the output of the arithmetic unit 103) of the orthogonal transform unit 104 in FIG. 1 is decoded.
  • step S207 the calculation unit 205 adds the prediction image selected in the process of step S204 described above and input through the selection unit 213 to the difference information.
  • the original image is thus decoded.
  • step S208 the deblocking filter 206 performs deblocking filter processing on the image output from the computing unit 110. This removes block distortion in the entire screen.
  • the image after filtering is supplied to the adaptive offset unit 221.
  • step S209 the adaptive offset unit 221 performs adaptive offset processing.
  • the quad-tree structure and the offset value which are the parameters of the adaptive offset filter from the lossless decoding unit 202, are used to perform offset filter processing on the image after deblocking.
  • the pixel values after offset are supplied to the adaptive loop filter 222.
  • step S210 the adaptive loop filter 222 performs adaptive loop filter processing on the pixel value after the offset processing using the adaptive filter coefficient which is a parameter of the adaptive loop filter from the lossless decoding unit 202.
  • the pixel values after the adaptive filter processing are output to the screen rearrangement buffer 207 and the frame memory 209.
  • step S211 the frame memory 209 stores the adaptively filtered image.
  • step S212 the screen rearrangement buffer 207 rearranges the image after the adaptive loop filter 222. That is, the order of the frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 is rearranged in the original display order.
  • step S213 the D / A conversion unit 208 D / A converts the image from the screen rearrangement buffer 207. This image is output to a display not shown, and the image is displayed.
  • step S213 ends, the decoding process ends.
  • the encoded data read from the accumulation buffer 201 at a predetermined timing is supplied to the VLC decoding unit 231.
  • the slice header and slice data of the encoded data are configured as shown in FIG. 4 or 5 described above.
  • step S231 the acquisition unit 233 of the VLC decoding unit 231 acquires, from the slice header, the encoded parameter to be decoded.
  • step S232 the VLC decoding unit 231 performs VLC decoding on the coding parameter acquired by the acquiring unit 233.
  • step S233 the VLC decoding unit 231 determines whether or not slice_type and slice_qp_delta, which are encoding parameters and are initialization parameters necessary for CABAC initialization, are aligned. For example, as shown in FIG. 4, if the slice header is configured, decoding of slice_type and slice_qp_delta is completed and slice_type and slice_qp_delta are aligned near the top.
  • step S233 If it is determined in step S233 that slice_type and slice_qp_delta are not aligned, the process returns to step S231, and the subsequent processes are repeated. If it is determined in step S233 that slice_type and slice_qp_delta are aligned, parameters of slice_type and slice_qp_delta are supplied to the CABAC decoding unit 234, and the notification is sent to the decoding control unit 232.
  • the decoding control unit 232 causes the CABAC decoding unit 234 to perform initialization in step S234.
  • the CABAC decoding unit 234 notifies the decoding control unit 232 of it. After this, CABAC decoding can be performed at any timing.
  • step S235 the acquiring unit 233 further acquires the encoded parameter to be decoded from the slice header.
  • the VLC decoding unit 231 determines whether the parameter acquired by the acquiring unit 233 is sao_param () that is a parameter of the adaptive offset filter or alf_cu_control_param () of the adaptive loop filter (that is, an arithmetic coding parameter). It is determined whether or not.
  • the parameter of the adaptive offset filter, sao_param () or the parameter of the adaptive loop filter alf_cu_control_param () is set at the end of the slice header or at the top of the slice data. Therefore, the acquiring unit 233 acquires these parameters from the end of the slice header or the top of the slice data.
  • step S236 If it is determined in step S236 that the acquired parameter is not the adaptive offset filter parameter sao_param () and the adaptive loop filter parameter alf_cu_control_param () (that is, the arithmetic coding parameter), the process proceeds to step S237. move on.
  • step S237 the VLC decoding unit 231 performs VLC decoding (variable length or fixed length decoding) on the parameter acquired in step S235.
  • step S236 If it is determined in step S236 that the acquired parameter is sao_param () which is a parameter of the adaptive offset filter or alf_cu_control_param () (that is, an arithmetic coding parameter) of the adaptive loop filter, the process proceeds to step S238. move on.
  • the VLC decoding unit 231 supplies the parameter acquired in step S235 to the CABAC decoding unit 234, and notifies the decoding control unit 232 to that effect.
  • step S2308 under the control of the decoding control unit 232, the CABAC decoding unit 234 performs CABAC decoding (arithmetic decoding) on the parameters obtained in step S235. That is, the parameter to be arithmetically decoded here is an arithmetic coding parameter, which is the parameter sao_param () of the adaptive offset filter or the parameter alf_cu_control_param () of the adaptive loop filter.
  • the CABAC decoding unit 234 supplies the decoded parameter to the VLC decoding unit 231 and notifies the decoding control unit 232 of the end of the decoding.
  • the decoding control unit 232 notifies the VLC decoding unit 231 of the end.
  • step S239 the VLC decoding unit 231 determines whether or not decoding of all the parameters is completed. If it is determined that the decoding is not completed yet, the process returns to step S235, and the subsequent processes are repeated.
  • step S239 If it is determined in step S239 that the decoding of all the parameters is completed, the process proceeds to step S240.
  • the VLC decoding unit 231 supplies the conversion coefficient, which is the encoded data from the accumulation buffer 201, to the CABAC decoding unit 234, and notifies the decoding control unit 232 to that effect.
  • the decoded parameters are accumulated in the VLC decoding unit 231, and are also used for decoding of transform coefficients.
  • This decoded parameter may be supplied to the corresponding units of the image decoding apparatus 200 when all decoding of the parameter is completed, or the correspondence of the image decoding apparatus 200 each time decoding is completed. It may be supplied to each unit.
  • step S240 the CABAC decoding unit 234 performs CABAC decoding (arithmetic decoding) of data (conversion coefficients) under the control of the decoding control unit 232, supplies the decoded data to the inverse quantization unit 203, and decodes the data. Is notified to the decoding control unit 232. After the process of step S240, the process returns to step S202 of FIG.
  • step S236 it is determined whether or not sao_param () or alf_cu_control_param () in step S236. However, it may be simply arithmetically encoded or variable-length (fixed-length) encoding It may be determined by the type of coding.
  • decoding processing can be speeded up by arranging arithmetic coding parameters that control coding processing or decoding processing in slice or picture units at the end of the slice header or at the top of slice data.
  • FIG. 18 is a diagram illustrating an example of syntax of a slice header generated by the image coding device 100.
  • the numbers at the left end of each line are line numbers attached for explanation.
  • slice_type is set in the fourth line.
  • the slice_type indicates which of the I slice, P slice, and B slice this slice is, and as described above, is a parameter necessary for CABAC initialization.
  • cabac_init_idc is set.
  • cabac_init_idc is H.
  • the H.264 / AVC system was used to set the cabac table, but at present, its use has not been decided in the HEVC system.
  • slice_qp_delta is set. This slice_qp_delta is a parameter necessary for CABAC initialization, as described above.
  • sao_param () is set as if (sample_adaptive_offset_enabled_flag) sao_param ().
  • This sao_param () is a parameter of the adaptive offset filter. That is, in the example of FIG. 18, not all of these parameters, but among these parameters, the parameters for controlling the encoding process or the decoding process in slice or picture units are rearranged at the top of the slice data. The details will be described later with reference to FIGS. 19 and 20.
  • alf_param () is set.
  • alf_cu_control_param () is set after this alf_param (), but in the example of FIG. 18, the arrangement is moved to the top of slice data.
  • FIG. 19 is a diagram illustrating an example of syntax of sao_param () generated by the image coding device 100.
  • the numbers at the left end of each line are line numbers attached for explanation.
  • sample_adaptive_offset_flag on the second line is a flag indicating whether or not to perform an adaptive offset filter.
  • this flag is followed by an arithmetic coding parameter that controls coding or decoding in units of slices or pictures, but in the example of FIG.
  • sample_adaptive_offset_flag is set as it is.
  • FIG. 20 is a diagram illustrating an example of syntax of slice data generated by the image coding device 100.
  • the numbers at the left end of each line are line numbers attached for explanation.
  • alf_cu_control_param () is set in the fourth and fifth lines as if (adaptive_loop_filter_enabled_flag) alf_cu_control_param ().
  • This alf_cu_control_param () is an arithmetic coding parameter that controls coding processing or decoding processing in units of slices or pictures among parameters of the adaptive loop filter, and is set at the top of slice data.
  • sao_split_param (0, 0, 0) sao_offset_param (0, 0, 0) is obtained as if (sample_adaptive_offset_flag) ⁇ sao_split_param (0, 0, 0) sao_offset_param (0, 0, 0) ⁇ . It is set.
  • This parameter is an arithmetic coding parameter that controls coding processing or decoding processing in units of slices or pictures among parameters of the adaptive offset filter, and is set at the top of slice data.
  • FIG. 21 is a diagram illustrating another example of the syntax of the slice header generated by the image coding device 100.
  • the numbers at the left end of each line are line numbers attached for explanation.
  • slice_type is set in the fourth line.
  • the slice_type indicates which of the I slice, P slice, and B slice this slice is, and as described above, is a parameter necessary for CABAC initialization.
  • cabac_init_idc is set.
  • cabac_init_idc is H.
  • the H.264 / AVC system was used to set the cabac table, but at present, its use has not been decided in the HEVC system.
  • slice_qp_delta is set. This slice_qp_delta is a parameter necessary for CABAC initialization, as described above.
  • alf_cu_control_param is set.
  • This alf_cu_control_param () is an arithmetic coding parameter that controls coding processing or decoding processing in units of slices or pictures among parameters of the adaptive loop filter, and is set at the end of the slice header.
  • sao_param () is set as if (sample_adaptive_offset_enabled_flag) sao_param ().
  • This sao_param () is a parameter of the adaptive offset filter, is an arithmetic coding parameter that controls coding processing or decoding processing in slice or picture units, and is set at the end of the slice header.
  • sao_param () is changed in arrangement at the end of the slice header. Therefore, even if slice_qp_delta is present on the 30th line, immediately after that, slice_qp_delta on the 30th line is not moved intentionally because there is no parameter for controlling the encoding process or the decoding process on a slice or picture basis.
  • FIG. 22 is a diagram illustrating still another example of the syntax of the slice header generated by the image coding device 100.
  • the numbers at the left end of each line are line numbers attached for explanation.
  • slice_type is set in the fourth line.
  • the slice_type indicates which of the I slice, P slice, and B slice this slice is, and as described above, is a parameter necessary for CABAC initialization.
  • slice_qp_delta is set. This slice_qp_delta is a parameter necessary for CABAC initialization, similar to slice_type.
  • cabac_init_idc is set.
  • cabac_init_idc is H.
  • the H.264 / AVC system was used to set the cabac table, but at present, its use has not been decided in the HEVC system.
  • slice_qp_delta may be placed immediately after cabac_init_idc, as shown in FIG. 5 described above, to combine with cabac_init_idc.
  • cabac_init_idc may be placed immediately after slice_type together with slice_qp_delta.
  • alf_cu_control_param is set.
  • This alf_cu_control_param () is an arithmetic coding parameter that controls coding processing or decoding processing in units of slices or pictures among parameters of the adaptive loop filter, and is set at the end of the slice header.
  • sao_param () is set as if (sample_adaptive_offset_enabled_flag) sao_param ().
  • This sao_param () is a parameter of the adaptive offset filter, is an arithmetic coding parameter that controls coding processing or decoding processing in slice or picture units, and is set at the end of the slice header.
  • FIG. 23 is a diagram illustrating an example of the syntax of alf_cu_control_param (). The numbers at the left end of each line are line numbers attached for explanation.
  • alf_cu_control_param () only this alf_cu_flag [i] is an arithmetic coding parameter that controls coding processing or decoding processing in slice or picture units.
  • alf_cu_control_param () is placed at the top of slice data in the example of FIG. 18 described above, only alf_cu_flag [i] of alf_cu_control_param () is placed at the top of slice data, not the entire alf_cu_control_param (). May be As described above, it is also possible to perform VLC encoding for parameters having other if statements etc. in alf_cu_control_param (). Of course, even if alf_cu_control_param () is placed at the top of slice data as in the example of FIG. 18, VLC and CABAC may be mixed, and all may be placed at the top of slice data and all will be CABAC codes. You may make it
  • the parameter sao_param () of the adaptive offset filter is arranged next to the parameter alf_cu_control_param () of the adaptive loop filter at the top of the end or slice header of slice data.
  • the parameters of the adaptive offset filter may be arranged before the parameters of the adaptive loop filter if the end of slice data or the top of the slice header.
  • the parameter alf_cu_control_param () of the adaptive loop filter and the parameter sao_param () of the adaptive offset filter are described as arithmetic coding parameters for controlling coding processing in units of slices or pictures. It is not limited to. That is, the present technology is a parameter that controls coding processing or decoding processing in slice or picture units, and is also applied to other parameters as long as it is an arithmetic coding parameter to be arithmetically coded.
  • arithmetic coding parameters By grouping such arithmetic coding parameters on the end of the slice header and the top of the slice data, the processing can be speeded up.
  • arithmetic coding parameters that control coding processing or decoding processing in slice or picture units include parameters such as a quantization matrix.
  • H.264 is used as an encoding method.
  • the H.264 / AVC system and the HEVC system are used as a base.
  • the present disclosure is not limited to this, and other coding schemes / decoding schemes may be applied that include at least one of an adaptive offset filter and an adaptive loop filter in a motion prediction / compensation loop.
  • the present disclosure is based on, for example, MPEG, H.264, and so on.
  • image information bit stream
  • orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc. via satellite broadcasting, cable television, the Internet, or network media such as a cellular phone
  • the present disclosure can be applied to an image encoding device and an image decoding device used when processing on storage media such as an optical disk, a magnetic disk, and a flash memory.
  • FIG. 24 shows an example of a multi-viewpoint image coding method.
  • the multi-viewpoint image includes images of a plurality of viewpoints, and an image of a predetermined one of the plurality of viewpoints is designated as the image of the base view.
  • An image of each viewpoint other than the base view image is treated as a non-base view image.
  • arithmetic coding parameters can be collectively arranged in each view (the same view). Also, in each view (different views), it is possible to share arithmetic coding parameters arranged together in other views.
  • the arithmetic coding parameters arranged together in the base view are used in at least one non-base view.
  • variable-length (or fixed-length) coding parameters can be arranged together. Also, in each view (different views), variable-length (or fixed-length) coding parameters arranged together in other views can be shared.
  • variable length (or fixed length) coding parameters placed together in the base view are used in at least one non-base view.
  • variable-length (fixed-length) encoding and variable-length (fixed-length) decoding can be performed efficiently together.
  • FIG. 25 is a diagram showing a multi-viewpoint image coding apparatus which performs the above-described multi-viewpoint image coding.
  • the multi-viewpoint image coding device 600 includes a coding unit 601, a coding unit 602, and a multiplexing unit 603.
  • the encoding unit 601 encodes a base view image to generate a base view image coded stream.
  • the encoding unit 602 encodes the non-base view image to generate a non-base view image coded stream.
  • the multiplexing unit 603 multiplexes the base view image coded stream generated by the coding unit 601 and the non-base view image coded stream generated by the coding unit 602 to generate a multi-view image coded stream. Do.
  • the image coding apparatus 100 (FIG. 1) can be applied to the coding unit 601 and the coding unit 602 of the multi-viewpoint image coding apparatus 600.
  • the multi-viewpoint image coding apparatus 600 sets and transmits the arithmetic coding parameters arranged collectively by the coding unit 601 and the arithmetic coding parameters arranged collectively by the coding unit 602.
  • the arithmetic coding parameters that the coding unit 601 collectively arranges as described above may be set so as to be shared and used by the coding unit 601 and the coding unit 602 and transmitted.
  • the coding units 601 and 602 may set and transmit the arithmetic coding parameters that are collectively arranged by the coding unit 602 so as to be shared by the coding unit 601 and the coding unit 602.
  • variable-length (or fixed-length) coding parameters may be set so as to be shared and used by the coding unit 601 and the coding unit 602 and transmitted.
  • FIG. 26 is a diagram showing a multi-viewpoint image decoding apparatus that performs the above-described multi-viewpoint image decoding.
  • the multi-viewpoint image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
  • a demultiplexing unit 611 demultiplexes a multi-view image coded stream in which the base view image coded stream and the non-base view image coded stream are multiplexed, and the base view image coded stream and the non-base view image. Extract the coded stream.
  • the decoding unit 612 decodes the base view image coded stream extracted by the demultiplexing unit 611 to obtain a base view image.
  • the decoding unit 613 decodes the non-base view image coded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
  • the image decoding apparatus 200 (FIG. 14) can be applied to the decoding unit 612 and the decoding unit 613 of the multi-viewpoint image decoding apparatus 610.
  • the encoding unit 601 collectively arranges, the arithmetic coding parameter decoded by the decoding unit 612, the encoding unit 602 arranges collectively, and the arithmetic unit decoded by the decoding unit 613 Processing is performed using coding parameters.
  • the encoding unit 601 and the encoding unit 602 share and use the arithmetic encoding parameters arranged together by the encoding unit 601 (or the encoding 602), and are transmitted. May be In this case, in the multi-viewpoint image decoding apparatus 610, the encoding unit 601 (or the encoding 602) arranges together and processing is performed using the arithmetic encoding parameter decoded by the decoding unit 612 (or the decoding unit 613). To be done. The above is also true for variable-length (or fixed-length) coding parameters.
  • FIG. 27 shows an example of a multi-viewpoint image coding method.
  • the hierarchical image includes images of a plurality of layers (resolutions), and an image of a predetermined layer of the plurality of resolutions is designated as the image of the base layer. Images of each layer other than the image of the base layer are treated as images of the non-base layer.
  • arithmetic coding parameters can be collectively arranged in each layer (the same layer).
  • arithmetic coding parameters arranged collectively in other layers can be arranged collectively.
  • the arithmetic coding parameters arranged together in the base layer are used in at least one non-base layer.
  • variable-length (or fixed-length) coding parameters can be arranged collectively. Also, in each layer (different layers), variable-length (or fixed-length) coding parameters arranged in another view can be shared.
  • variable length (or fixed length) parameters arranged together in the base layer are used in at least one non-base layer.
  • variable-length (fixed-length) encoding and variable-length (fixed-length) decoding can be performed efficiently together.
  • FIG. 28 is a diagram showing a hierarchical image coding apparatus which performs the above-mentioned hierarchical image coding.
  • hierarchical image coding apparatus 620 has coding section 621, coding section 622, and multiplexing section 623.
  • the encoding unit 621 encodes a base layer image to generate a base layer image coded stream.
  • the encoding unit 622 encodes the non-base layer image to generate a non-base layer image coded stream.
  • the multiplexing unit 623 multiplexes the base layer image coded stream generated by the coding unit 621 and the non-base layer image coded stream generated by the coding unit 622 to generate a hierarchical image coded stream. .
  • the image coding apparatus 100 (FIG. 1) can be applied to the coding unit 621 and the coding unit 622 of the hierarchical image coding apparatus 620.
  • the hierarchical image coding device 620 sets and transmits the arithmetic coding parameters arranged collectively by the coding unit 621 and the arithmetic coding parameters arranged collectively by the coding unit 602.
  • the arithmetic coding parameters that the coding unit 621 collectively arranges as described above may be set to be shared and used by the coding unit 621 and the coding unit 622, and may be transmitted. Conversely, the coding units 621 and the coding unit 622 may be set so as to share and use the arithmetic coding parameters arranged collectively by the coding unit 622 for transmission. The above is also true for variable-length (or fixed-length) coding parameters.
  • FIG. 29 is a diagram showing a hierarchical image decoding device that performs the hierarchical image decoding described above.
  • the hierarchical image decoding device 630 includes a demultiplexing unit 631, a decoding unit 632, and a decoding unit 633.
  • a demultiplexing unit 631 demultiplexes the hierarchical image coded stream in which the base layer image coded stream and the non-base layer image coded stream are multiplexed, and the base layer image coded stream and the non-base layer image code Extract the stream of
  • the decoding unit 632 decodes the base layer image coded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
  • the decoding unit 633 decodes the non-base layer image coded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
  • the image decoding apparatus 200 (FIG. 14) can be applied to the decoding unit 632 and the decoding unit 633 of the multi-viewpoint image decoding apparatus 630.
  • the encoding unit 621 arranges together, the arithmetic coding parameter decoded by the decoding unit 632 and the encoding unit 622 arranges together, and the arithmetic unit decoded by the decoding unit 633 Processing is performed using coding parameters.
  • the encoding unit 621 and the encoding unit 622 share and use the arithmetic encoding parameters arranged together by the encoding unit 621 (or the encoding 622), and are transmitted. May be In this case, in the multi-viewpoint image decoding device 630, the encoding unit 621 (or the encoding 622) is arranged together and processing is performed using the arithmetic encoding parameter decoded by the decoding unit 632 (or the decoding unit 633). Is done. The above is also true for variable-length (or fixed-length) coding parameters.
  • the above-described series of processes may be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • a central processing unit (CPU) 801 of a computer 800 executes various programs according to a program stored in a read only memory (ROM) 802 or a program loaded from a storage unit 813 to a random access memory (RAM) 803. Execute the process
  • the RAM 803 also stores data necessary for the CPU 801 to execute various processes.
  • the CPU 801, the ROM 802, and the RAM 803 are connected to one another via a bus 804.
  • An input / output interface 810 is also connected to the bus 804.
  • the input / output interface 810 includes an input unit 811 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 812 including a speaker, and a hard disk.
  • a communication unit 814 including a storage unit 813 and a modem is connected. The communication unit 814 performs communication processing via a network including the Internet.
  • a drive 815 is also connected to the input / output interface 810 as necessary, and removable media 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory are appropriately attached, and a computer program read from them is It is installed in the storage unit 813 as necessary.
  • a program that configures the software is installed from a network or a recording medium.
  • this recording medium is a magnetic disk (including a flexible disk) on which a program is recorded, which is distributed for distributing the program to the user separately from the apparatus main body, an optical disk ( It consists only of removable media 821 consisting of CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), magneto-optical disc (including MD (Mini Disc), or semiconductor memory etc. Instead, it is configured by the ROM 802 in which the program is recorded and distributed to the user in a state of being incorporated in the apparatus main body, a hard disk included in the storage unit 813, or the like.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
  • system represents the entire apparatus configured by a plurality of devices (apparatus).
  • the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. . That is, the present technology is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present technology.
  • the image encoding device and the image decoding device include a transmitter or a receiver in optical satellite, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, etc.
  • the present invention can be applied to various electronic devices such as a recording apparatus which records an image on a medium such as a magnetic disk and a flash memory, or a reproduction apparatus which reproduces an image from the storage medium.
  • a recording apparatus which records an image on a medium such as a magnetic disk and a flash memory
  • a reproduction apparatus which reproduces an image from the storage medium.
  • FIG. 25 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
  • the television device 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • the tuner 902 extracts a signal of a desired channel from a broadcast signal received via the antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission means in the television apparatus 900 for receiving a coded stream in which an image is coded.
  • the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Also, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. Further, the decoder 904 outputs the audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
  • GUI graphical user interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on the image surface of a display device (for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • a display device for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on audio data input from the decoder 904, and causes the speaker 908 to output audio. Further, the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also serves as a transmission means in the television apparatus 900 for receiving the coded stream in which the image is coded.
  • the control unit 910 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the television device 900 is started.
  • the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface 911 by executing a program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 has, for example, buttons and switches for the user to operate the television device 900, a receiver of remote control signals, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 mutually connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910.
  • the decoder 904 has the function of the image decoding apparatus according to the above-described embodiment. Thus, processing can be performed at high speed when decoding an image in the television device 900.
  • FIG. 26 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
  • the mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
  • a unit 932 and a bus 933 are provided.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 mutually connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931.
  • the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture an image, and record data in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates audio data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses and D / A converts audio data to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
  • a communication unit 922 encodes and modulates electronic mail data to generate a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. The communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
  • the control unit 931 causes the display unit 930 to display the content of the e-mail, and stores the e-mail data in the storage medium of the recording and reproduction unit 929.
  • the recording and reproducing unit 929 includes an arbitrary readable and writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and may be an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Unallocated Space Bitmap) memory, or memory card Storage media.
  • the camera unit 926 captures an image of a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926, and stores the encoded stream in the storage medium of the storage and reproduction unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the communication unit 922 multiplexes the multiplexed stream.
  • Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
  • the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the transmission signal and the reception signal may include a coded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream to generate video data.
  • the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
  • the audio codec 923 decompresses and D / A converts the audio stream to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has functions of the image encoding device and the image decoding device according to the above-described embodiment. Thus, processing can be performed at high speed when encoding and decoding an image in the mobile phone 920.
  • FIG. 27 shows an example of a schematic configuration of a recording and reproducing apparatus to which the embodiment described above is applied.
  • the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program, and records the encoded data on a recording medium.
  • the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
  • the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. And 950.
  • the tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown) and demodulates the extracted signal. Then, the tuner 941 outputs the coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 has a role as a transmission means in the recording / reproducing device 940.
  • the external interface 942 is an interface for connecting the recording and reproducing device 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 has a role as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the coded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. Also, the HDD 944 reads these data from the hard disk when reproducing video and audio.
  • the disk drive 945 records and reads data on the attached recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or Blu-ray (registered trademark) disk, etc. It may be.
  • the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 at the time of recording video and audio, and outputs the selected coded bit stream to the HDD 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. Also, the decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video.
  • the OSD 948 may superimpose an image of a GUI such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface 950 by executing a program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording and reproducing device 940, a receiver of a remote control signal, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image coding apparatus according to the embodiment described above.
  • the decoder 947 has the function of the image decoding apparatus according to the above-described embodiment. Thus, processing can be performed at high speed when encoding and decoding an image in the recording and reproducing device 940.
  • FIG. 28 shows an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
  • the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972 is provided.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 mutually connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970.
  • the optical block 961 has a focus lens, an aperture mechanism, and the like.
  • the optical block 961 forms an optical image of a subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and converts an optical image formed on an imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD charge coupled device
  • CMOS complementary metal oxide semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965.
  • the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image. The image processing unit 964 may superimpose the display data acquired from the OSD 969 on the image to be output to the display unit 965.
  • the OSD 969 generates an image of a GUI such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • a GUI such as a menu, a button, or a cursor
  • the external interface 966 is configured as, for example, a USB input / output terminal.
  • the external interface 966 connects the imaging device 960 and the printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted in the media drive 968 may be, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
  • SSD solid state drive
  • the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface 971 by executing a program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has functions of the image coding device and the image decoding device according to the above-described embodiment. Thereby, processing can be performed at high speed when encoding and decoding an image in the imaging device 960.
  • each parameter is, for example, an adaptive loop filter, an adaptive offset filter, an arithmetic coding parameter of a quantization matrix, a coding parameter for performing variable-length (fixed-length) coding (decoding), or necessary for initialization of CABAC.
  • initialization (encoding) parameters For example, initialization (encoding) parameters.
  • the method of transmitting such information is not limited to such an example.
  • the information may be transmitted or recorded as separate data associated with the coded bit stream without being multiplexed into the coded bit stream.
  • the term “associate” allows an image (a slice or a block, which may be a part of an image) included in a bitstream to be linked at the time of decoding with information corresponding to the image.
  • the information may be transmitted on a different transmission path from the image (or bit stream).
  • the information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream).
  • the information and the image (or bit stream) may be associated with each other in any unit such as, for example, a plurality of frames, one frame, or a part in a frame.
  • a receiving unit for receiving A decoding unit that performs arithmetic decoding processing on the arithmetic coding parameter received by the receiving unit, and decoding processing on the coding stream received by the receiving unit using the arithmetic coding parameter subjected to the arithmetic decoding processing apparatus.
  • Coding parameters subjected to variable-length coding processing or fixed-length coding processing are collectively arranged in the syntax of the coded stream,
  • the receiving unit receives the coding parameter from the coding stream,
  • the image processing apparatus according to (1) wherein the decoding unit decodes the encoding parameter received by the receiving unit, and decodes the encoded stream using the decoded encoding parameter.
  • Initialization parameters used when initializing arithmetic coding processing or arithmetic decoding processing are collectively arranged in the syntax of the coded stream,
  • the receiving unit receives the initialization parameter from the encoded stream,
  • the image processing apparatus according to any one of (1) to (3), further comprising: a control unit configured to perform control to initialize the arithmetic decoding process with reference to the initialization parameter received by the receiving unit.
  • a control unit configured to perform control to initialize the arithmetic decoding process with reference to the initialization parameter received by the receiving unit.
  • the arithmetic coding parameter is a parameter that controls coding processing or decoding processing at the picture level or slice level.
  • the image processing apparatus according to any one of (1) to (5), wherein the arithmetic coding parameter is a parameter of a filter used when performing encoding processing or decoding processing.
  • the parameter of the adaptive loop filter and the parameter of the adaptive offset filter are collectively arranged at the top of slice data of the encoded stream,
  • the receiving unit receives the parameter of the adaptive loop filter and the parameter of the adaptive offset filter from the top of slice data of the encoded stream.
  • the parameter of the adaptive loop filter and the parameter of the adaptive offset filter are collectively arranged at the end of the slice header of the encoded stream, The image processing apparatus according to (6), wherein the receiving unit receives the parameter of the adaptive loop filter and the parameter of the adaptive offset filter from an end of slice data of the encoded stream.
  • the initialization parameter is disposed near the top of the slice header of the encoded stream, The image processing apparatus according to (4), wherein the receiving unit receives the initialization parameter from near a top of a slice header of the encoded stream.
  • the image processing apparatus An arithmetic coding parameter subjected to arithmetic coding processing receives a coding stream in which image data are arranged together in the syntax of a coding stream coded in a unit having a hierarchical structure, and the arithmetic coding parameter, An image processing method for arithmetically decoding received arithmetic coding parameters and decoding the received coded stream using the arithmetically decoded arithmetic coding parameters.
  • an encoding unit for encoding image data in units having a hierarchical structure to generate an encoded stream;
  • An arrangement unit configured to collectively arrange arithmetic coding parameters to be subjected to arithmetic coding processing in a syntax of a coded stream generated by the coding unit;
  • An image processing apparatus comprising: a transmission unit that transmits the coded stream generated by the coding unit and the arithmetic coding parameter arranged by the arrangement unit.
  • the arrangement unit arranges collectively the coding parameters to be subjected to variable-length coding processing or fixed-length coding processing, The image processing apparatus according to (11), wherein the transmission unit transmits the encoding parameter arranged by the arrangement unit.
  • the image processing device wherein the arrangement unit arranges the arithmetic coding parameter after the coding parameter.
  • the arrangement unit arranges initialization parameters used at the time of initialization of arithmetic coding process or arithmetic decoding process collectively.
  • the image processing apparatus according to (13), wherein the transmission unit transmits the initialization parameter arranged by the arrangement unit.
  • the arithmetic coding parameter is a parameter that controls coding processing or decoding processing at the picture level or slice level.
  • the image processing apparatus according to any one of (11) to (15), wherein the arithmetic coding parameter is a parameter of a filter used when performing encoding processing or decoding processing.
  • the arrangement unit collectively arranges the parameter of the adaptive loop filter and the parameter of the adaptive offset filter on top of slice data of the coded stream,
  • the image processing apparatus according to (16), wherein the transmission unit transmits the parameter of the adaptive loop filter arranged by the arrangement unit and the parameter of the adaptive offset filter.
  • the arrangement unit collectively arranges the parameter of the adaptive loop filter and the parameter of the adaptive offset filter at an end of a slice header of the encoded stream,
  • the image processing apparatus encodes image data in units having a hierarchical structure to generate an encoded stream, and in the syntax of the generated encoded stream, summarizes the arithmetic encoding parameters to be subjected to the arithmetic encoding process. And transmitting the generated coded stream and the arranged arithmetic coding parameter.
  • Reference Signs List 100 image coding device, 105 quantization unit, 106 lossless coding unit, 114 intra prediction unit, 115 motion prediction / compensation unit, 121 adaptive offset unit, 122 adaptive loop filter, 131 VLC coding unit, 132 coding control unit , 133 setting unit, 134 CABAC encoding unit, 141 firmware, 142 hardware, 200 image decoding apparatus, 202 lossless decoding unit, 203 inverse quantization unit, 211 intra prediction unit, 212 motion prediction / compensation unit, 221 adaptive offset Unit, 222 adaptive loop filter, 231 VLC decoding unit, 232 decoding control unit, 233 acquisition unit, 234 CABAC decoding unit, 241 firmware, 242 hardware

Landscapes

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

Abstract

slice_type やslice_qp_delta のようなCABACの初期化に必要なパラメータを符号化ストリームのシンタックスにおいてまとめて配置し、sao_paramやalf_cu_control のようなCABAC符号化されるパラメータはスライスヘッダの最後かスライスデータの先頭に配置することでCABACの時間待ちを無くす。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関し、特に、画像の符号化処理や復号処理を高速に行うことができるようにした画像処理装置および方法に関する。
 従来、H.264/AVC規格の画像符号化方式では、エントロピ符号化としてCABAC(Context-Adaptive Binary Arithmetic Coding)とCAVLC(Context-Adaptive Variable Length Coding)が定義されている。このうち、CABACは、周囲の状況(コンテキスト(Context)に応じて適応的に符号化を行う2値化の算術符号方式である。
 H.264/AVC規格において、CABACは、スライスデータをパース処理する際に、スライスデータの先頭においてコンテキストの値と符号化処理エンジン、復号処理エンジンとを初期化する(例えば、非特許文献1参照)。
 現在、H.264/AVC規格より更なる符号化効率の向上を目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC (Joint Collaboration Team - Video Coding) により、HEVC (High Efficiency Video Coding) と呼ばれる符号化方式の標準化が進められている。HEVCにおいては、ドラフトとして非特許文献2が発行されている。
 現時点において、HEVCのドラフトでは、適応ループフィルタ(例えば、非特許文献3参照)と適応オフセットフィルタ(例えば、非特許文献4参照)が採用されている。HEVCにおいて、適応オフセットフィルタは、デブロックフィルタと適応ループフィルタの間に設けられる。
"ITU-T Recommendation H.264 Advanced video coding for generic audiovisual", March 2010 Thomas Wiegand,Woo-jin Han,Benjamin Bross,Jens-Rainer Ohm,Gary J. Sullivian,"WD3:Working Draft3 of High-Efficiency Video Coding", JCTVc-E603_d5(version5), 2011年5月20日 Takeshi Chujoh,Goki Yasuda,Naofumi Wada,Takashi Watanabe,Tomoo Yamakage,"Block-based Adaptive Loop Filter",VCEG-AI18,ITU - Telecommunications Standardization SectorSTUDY GROUP 16 Question 6Video Coding Experts Group (VCEG)35th Meeting: Berlin, Germany, 16-18 July, 2008 "CE8 Subtest 3:Picture Quality Adaptive Offset",JCTVC-D122,2011年1月
 しかしながら、非特許文献2において提案されている方法は、ヘッダをパース処理(算術符号化処理または算術復号処理)する際に、算術符号化処理または算術復号処理のタイミングが十分考慮されていない。そのため、非特許文献2において提案されている方法を行おうとすると、算術符号化処理または算術復号処理に伴う遅延が生じる。
 本開示は、このような状況に鑑みてなされたものであり、画像の符号化処理や復号処理を高速に行うことができるものである。
 本開示の第1の側面の画像処理装置は、算術符号化処理された算術符号化パラメータが、画像データが階層構造を有する単位で符号化された符号化ストリームのシンタクスにおいてまとめて配置された符号化ストリームと、前記算術符号化パラメータとを受け取る受け取り部と、前記受け取り部により受け取られた算術符号化パラメータを算術復号処理し、算術復号処理した算術符号化パラメータを用いて、前記受け取り部により受け取られた符号化ストリームを復号処理する復号部とを備える。
 可変長符号化処理または固定長符号化処理された符号化パラメータは、前記符号化ストリームのシンタクスにおいてまとめて配置されており、前記受け取り部は、前記符号化ストリームから、前記符号化パラメータを受け取り、前記復号部は、前記受け取り部により受け取られた符号化パラメータを復号処理し、復号処理した符号化パラメータを用いて、前記符号化ストリームを復号処理することができる。
 前記算術符号化パラメータは、前記符号化ストリームのシンタクスにおいて前記符号化パラメータよりも後ろに配置されている。
 算術符号化処理または算術復号処理の初期化を行う際に用いる初期化パラメータは、前記符号化ストリームのシンタクスにおいてまとめて配置されており、前記受け取り部は、前記符号化ストリームから、前記初期化パラメータを受け取り、前記受け取り部により受け取られた初期化パラメータを参照して、前記算術復号処理を初期化するように制御する制御部をさらに備えることができる。
 前記算術符号化パラメータは、前記ピクチャレベルまたはスライスレベルで符号化処理または復号処理をコントロールするパラメータである。
 前記算術符号化パラメータは、符号化処理または復号処理を行う際に用いるフィルタのパラメータである。
 前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータは、前記符号化ストリームのスライスデータのトップにまとめて配置されており、前記受け取り部は、前記符号化ストリームのスライスデータのトップから、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを受け取ることができる。
 前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータは、前記符号化ストリームのスライスヘッダのエンドにまとめて配置されており、前記受け取り部は、前記符号化ストリームのスライスデータのエンドから、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを受け取ることができる。
 前記初期化パラメータは、前記符号化ストリームのスライスヘッダのトップ付近に配置されており、前記受け取り部は、前記初期化パラメータを前記符号化ストリームのスライスヘッダのトップ付近から受け取ることができる。
 本開示の第1の側面の画像処理方法は、画像処理装置が、算術符号化処理された算術符号化パラメータが、画像データが階層構造を有する単位で符号化された符号化ストリームのシンタクスにおいてまとめて配置された符号化ストリームから、前記算術符号化パラメータを受け取り、受け取られた算術符号化パラメータを算術復号処理し、算術復号処理した算術符号化パラメータを用いて、受け取られた符号化ストリームを復号処理する。
 本開示の第2の側面の画像処理装置は、画像データを階層構造を有する単位で符号化処理して符号化ストリームを生成する符号化部と、前記符号化部により生成される符号化ストリームのシンタクスにおいて、算術符号化処理する算術符号化パラメータをまとめて配置する配置部と、前記符号化部により生成された符号化ストリームと、前記配置部により配置された算術符号化パラメータとを伝送する伝送部とを備える。
 前記配置部は、可変長符号化処理または固定長符号化処理する符号化パラメータをまとめて配置し、前記伝送部は、前記配置部により配置された符号化パラメータを伝送することができる。
 前記配置部は、前記算術符号化パラメータを、前記符号化パラメータよりも後ろに配置することができる。
 前記配置部は、算術符号化処理または算術復号処理の初期化を行う際に用いる初期化パラメータをまとめて配置し、前記伝送部は、前記配置部により配置された初期化パラメータを伝送することができる。
 前記算術符号化パラメータは、前記ピクチャレベルまたはスライスレベルで符号化処理または復号処理をコントロールするパラメータである。
 前記算術符号化パラメータは、符号化処理または復号処理を行う際に用いるフィルタのパラメータである。
 前記配置部は、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータを、前記符号化ストリームのスライスデータのトップにまとめて配置し、前記伝送部は、前記配置部により配置された前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを伝送することができる。
 前記配置部は、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータを、前記符号化ストリームのスライスヘッダのエンドにまとめて配置し、前記伝送部は、前記配置部により配置された前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを伝送することができる。
 前記配置部は、前記初期化パラメータを前記符号化ストリームのスライスヘッダのトップ付近に配置することができる。
本開示の第2の側面の画像処理方法は、画像処理装置が、画像データを階層構造を有する単位で符号化処理して符号化ストリームを生成し、生成される符号化ストリームのシンタクスにおいて、算術符号化処理する算術符号化パラメータをまとめて配置し、生成された符号化ストリームと、配置された算術符号化パラメータとを伝送する。
 本開示の第1の側面においては、算術符号化処理された算術符号化パラメータが、画像データが階層構造を有する単位で符号化された符号化ストリームのシンタクスにおいてまとめて配置された符号化ストリームと、前記算術符号化パラメータとが受け取られ、受け取られた算術符号化パラメータを算術復号処理される。そして、算術復号処理した算術符号化パラメータを用いて、受け取られた符号化ストリームが復号処理される。
 本開示の第2の側面においては、画像データを階層構造を有する単位で符号化処理して符号化ストリームが生成される。そして、生成される符号化ストリームのシンタクスにおいて、算術符号化処理する算術符号化パラメータがまとめて配置され、生成された符号化ストリームと、配置された算術符号化パラメータとが伝送される。
 なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
 本開示の第1側面によれば、画像を復号することができる。特に、復号処理を高速に行うことができる。
 本開示の第2の側面によれば、画像を符号化することができる。特に、符号化処理を高速に行うことができる。
画像符号化装置の主な構成例を示すブロック図である。 可逆符号化部の構成例を説明する図である。 従来のストリーム構成の例を示す図である。 画像符号化装置のストリーム構成の例を示す図である。 画像符号化装置のストリーム構成の他の例を示す図である。 画像符号化装置のストリーム構成のさらに他の例を示す図である。 画像符号化装置のストリーム構成の他の例を示す図である。 従来の処理のタイミングを説明するタイミングチャートである。 画像符号化装置の処理のタイミングの例を説明するタイミングチャートである。 画像符号化装置の処理のタイミングの他の例を説明するタイミングチャートである。 画像符号化装置の処理のタイミングの他の例を説明するタイミングチャートである。 符号化処理全体の流れの例を説明するフローチャートである。 可逆符号化部による符号化処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 可逆復号部の構成例を示すブロック図である。 復号処理全体の流れの例を説明するフローチャートである。 可逆復号部による復号処理の流れの例を説明するフローチャートである。 スライスヘッダのシンタックスの例を示す図である。 sao_param()のシンタックスの例を示す図である。 スライスデータのシンタックスの例を示す図である。 スライスヘッダのシンタックスの他の例を示す図である。 スライスヘッダのシンタックスのさらに他の例を示す図である。 alf_cu_control_param()のシンタックスの例を示す図である。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(多視点画像符号化・多視点画像復号装置)
4.第4の実施の形態(階層画像符号化・階層画像復号装置)
5.第5の実施の形態(コンピュータ)
6.第6の実施の形態(応用例)
 <1.第1の実施の形態>
[画像符号化装置の構成例]
 図1は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 図1に示される画像符号化装置100は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))(以下H.264/AVCと称する)方式や、HEVC(High Efficiency Video Coding)方式などが用いられる。
 図1の例において、画像符号化装置100は、A/D(Analog / Digital)変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、デブロックフィルタ111、フレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、予測画像選択部116、およびレート制御部117を有する。
 画像符号化装置100は、さらに、適応オフセット部121および適応ループフィルタ122を有する。
 A/D変換部101は、入力された画像データをA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。
 画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部114および動き予測・補償部115にも供給する。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
 例えば、イントラ符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、イントラ予測部114から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部115から供給される予測画像を減算する。
 直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部105に供給する。
 量子化部105は、直交変換部104が出力する変換係数を量子化する。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
 可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
 可逆符号化部106は、イントラ予測モードを示す情報などのパラメータをイントラ予測部114から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部115から取得する。可逆符号化部106は、適応オフセットフィルタのパラメータを、適応オフセット部121から取得し、適応ループフィルタのパラメータを適応ループフィルタ122から取得する。
 可逆符号化部106は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタクス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。CABACは、周囲の状況(コンテキスト(Context)に応じて適応的に符号化を行う2値化の算術符号方式である。
 上述した、復号側に送るパラメータのうち、スライスまたはピクチャ単位で符号化処理をコントロールするパラメータは、可変長符号化や固定長符号化レベルの伝送ではデータが膨大となるため、算術符号化(CABAC)して圧縮して伝送することが望ましい。これに対して、if文などのパラメータは、可変長符号化や固定長符号化されることが望ましい。
 可逆符号化部106は、パラメータのうち、算術符号化が必要なパラメータに対しては、算術符号化を行い、それ以外のパラメータに対しては可変長符号化や固定長符号化を行う。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
 演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部116を介してイントラ予測部114若しくは動き予測・補償部115から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
 例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部110は、その差分情報にイントラ予測部114から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部110は、その差分情報に動き予測・補償部115から供給される予測画像を加算する。
 その加算結果は、デブロックフィルタ111およびフレームメモリ112に供給される。
 デブロックフィルタ111は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ111は、そのフィルタ処理結果を適応オフセット部121に供給する。
 フレームメモリ112は、所定のタイミングにおいて、蓄積されている参照画像を、選択部113を介してイントラ予測部114または動き予測・補償部115に出力する。
 例えば、イントラ符号化が行われる画像の場合、フレームメモリ112は、参照画像を、選択部113を介してイントラ予測部114に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ112は、参照画像を、選択部113を介して動き予測・補償部115に供給する。
 選択部113は、フレームメモリ112から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部114に供給する。また、選択部113は、フレームメモリ112から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部115に供給する。
 イントラ予測部114は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部114は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
 イントラ予測部114は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部114は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部116を介して演算部103や演算部110に供給する。
 また、上述したように、イントラ予測部114は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部106に供給する。
 動き予測・補償部115は、インター符号化が行われる画像について、画面並べ替えバッファ102から供給される入力画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用いて、動き予測を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
 動き予測・補償部115は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部115は、生成された予測画像を、予測画像選択部116を介して演算部103や演算部110に供給する。
 また、動き予測・補償部115は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部106に供給する。
 予測画像選択部116は、イントラ符号化を行う画像の場合、イントラ予測部114の出力を演算部103や演算部110に供給し、インター符号化を行う画像の場合、動き予測・補償部115の出力を演算部103や演算部110に供給する。
 レート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 適応オフセット部121は、デブロックフィルタ111からの復号画像(ローカルデコード後のベースバンド情報)に対するオフセットフィルタ処理を行う。すなわち、適応オフセット部121は、復号画像を用いて、quad-treeによる領域分割を行い、分割された領域毎に、オフセットの種類を決定することで、quad-tree 構造を決定する。オフセットの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセット部121は、quad-tree 構造を参照して、分割された領域毎に、オフセット値を算出する。 
 適応オフセット部121は、決定したquad-tree構造とオフセット値を用いて、デブロックフィルタ111からの復号画像に対してオフセット処理を行う。そして、適応オフセット部121は、オフセット処理後の画像を、適応ループフィルタ122に供給する。また、適応オフセット部121は、決定したquad-tree構造と、算出したオフセット値を、適応オフセットフィルタのパラメータとして、可逆符号化部106に供給する。
 適応ループフィルタ122は、画面並べ替えバッファ102からの原画像との残差を最小とするよう、適応ループフィルタ係数の算出を行い、この適応ループフィルタ係数を用いて、適応オフセット部121からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。適応ループフィルタ122は、フィルタ後の画像を、フレームメモリ112に供給する。
 また、適応ループフィルタ122は、算出した適応ループフィルタ係数を、適応ループフィルタのパラメータとして、可逆符号化部106に送る。
[可逆符号化部の構成例]
 次に、画像符号化装置100の各部について説明する。図2は、可逆符号化部106の構成例を示すブロック図である。
 図2の例において、可逆符号化部106は、VLC(Variable Length Coding)符号化部131、符号化制御部132、設定部133、およびCABAC(Context-Adaptive Binary Arithmetic Coding)符号化部134を含むように構成される。
 可逆符号化部106を構成する各部のうち、VLC符号化部131、符号化制御部132、および設定部133は、図示せぬCPUなどにより実行されることで、ファームウエア141として実現される。可逆符号化部106を構成する各部のうち、比較的重い処理を行うCABAC符号化部134は、ロジックを組むことなどにより、ハードウエア142として実現される。
 VLC符号化部131には、量子化部105からの変換係数が供給される。VLC符号化部131には、イントラ予測部114、動き予測・補償部115、適応オフセット部121、および適応ループフィルタ122などから符号化処理をコントロールするパラメータが供給される。
 例えば、イントラ予測部114は、イントラ予測モードを示す情報などのイントラ予測に関するパラメータをVLC符号化部131に供給する。例えば、動き予測・補償部115は、インター予測モードを示す情報、動きベクトル情報、参照フレーム情報、およびフラグ情報などの動き予測に関するパラメータをVLC符号化部131に供給する。
 例えば、適応オフセット部121は、quad-tree構造やオフセット値などの適応オフセットフィルタに関するパラメータをVLC符号化部131に供給する。例えば、適応ループフィルタ122は、適応ループフィルタ係数などの適応ループフィルタに関するパラメータをVLC符号化部131に供給する。なお、図示は省略されているが、量子化部105からの量子化パラメータなども供給される。
 これらのパラメータのうち、適応オフセットフィルタに関するパラメータや、適応ループフィルタに関するパラメータは、両者ともフィルタのパラメータである。また、これらのパラメータは、画面全体に適用するようなパラメータ、すなわち、スライスまたはピクチャ単位で符号化処理を制御するパラメータである。このようなパラメータは、算術符号化したほうが復号側に送るデータ量が小さくなる。
 そこで、VLC符号化部131は、供給されるパラメータのうち、スライスまたはピクチャ単位で符号化処理を制御するパラメータ以外のパラメータに対して、可変長符号化、または固定長符号化処理を行う。VLC符号化部131は、符号化したデータを、設定部133に供給する。
 VLC符号化部131は、量子化部105からの量子化された変換係数をCABAC符号化部134に供給する。VLC符号化部131は、供給されるパラメータのうち、スライスまたはピクチャ単位で符号化処理を制御するパラメータをCABAC符号化部134に供給し、その旨を符号化制御部132に通知する。VLC符号化部131は、CABAC符号化部134の初期化に必要なパラメータが揃ったとき、それらのパラメータをCABAC符号化部134に供給し、その旨を符号化制御部132に通知する。
 符号化制御部132は、VLC符号化部131からの通知に対応して、CABAC符号化部134に初期化処理や符号化処理を開始させる。符号化制御部132は、CABAC符号化部134からの通知に対応して、VLC符号化部131に符号化処理を開始させたり、設定部133に設定を開始させる。
 設定部133は、符号化制御部132の制御のもと、VLC符号化部131またはCABAC符号化部134により符号化されたパラメータ、CABAC符号化部134により符号化されたデータを、所定の順番に並べて配置し、スライスヘッダおよびスライスデータを生成する。設定部133は、生成したスライスヘッダおよびスライスデータを、蓄積バッファ107に供給する。
 CABAC符号化部134は、符号化制御部132の制御のもと、VLC符号化部131からの初期化に必要なパラメータを用いて初期化する。CABAC符号化部134は、符号化制御部132の制御のもと、VLC符号化部131からの量子化された変換係数、および各パラメータを算術符号化する。CABAC符号化部134は、算術符号化されたデータ(変換係数)およびパラメータを設定部133に供給する。
[従来のストリーム構成]
 図3は、従来のストリームのうち、スライスヘッダとスライスデータの一部の構成例を示す図である。
 図3の例においては、スライスヘッダのトップ辺りには、スライスのタイプを示すslice_typeが配置されている。スライスヘッダの中央より少し下部には、slice_qp_deltaが配置されている。slice_typeとslice_qp_deltaは、可変長または固定長符号化または復号が施される、CABACの初期化に必要なパラメータ(以下、適宜、初期化パラメータとも称する)である。
 スライスヘッダの中央下部におけるslice_qp_deltaの直後には、適応オフセットフィルタのパラメータであるsao_param()が配置されている。スライスヘッダのエンドには、適応ループフィルタのパラメータであるalf_cu_control_param()が配置されている。スライスデータは、そのalf_cu_control_param()の後、スライスヘッダのエンドの後に続いている。
 適応オフセットフィルタのパラメータであるsao_param()と、適応ループフィルタのパラメータalf_cu_control_param()は、画面全体においてオンまたはオフを制御するパラメータである。このように、スライスまたはピクチャ単位で符号化処理を制御するパラメータは、データが大きいため、このようなパラメータには、算術符号化および算術復号が施される。
 また、H.264/AVC方式においては、スライスヘッダにおいて算術符号化および算術復号が施されるパラメータが存在しなかったので、スライスデータの前に、CABACの初期化が行われていればよかった。
 これに対して、HEVC方式においては、上述したパラメータに算術符号化および算術復号が行われるので、スライスヘッダにおけるこれらのパラメータの前に、CABACの初期化が行われていなければならない。しかしながら、そのCABACの初期化に必要な初期化パラメータのうち、slice_typeは、スライスヘッダのトップ辺りに配置されているが、slice_qp_deltaは、適応オフセットフィルタのパラメータであるsao_param()の直前に配置されている。したがって、少なくとも復号側においては、slice_qp_deltaが復号されなければ、CABACの初期化を行うことが困難であり、従来においては、sao_param()の直前にCABACの初期化が行われることとなる。
 CABACの初期化が行われている間は、算術符号化および算術復号を行うことができないので、算術符号化および算術復号の処理に待ちが発生してしまう。また、算術符号化が必要な、適応オフセットフィルタのパラメータであるsao_param()と、適応ループフィルタのパラメータalf_cu_control_param()は、スライスヘッダにおいて離れた位置に存在することから、算術符号化および算術復号のためのやり取りが分散されてしまう。その結果、処理にディレイが生じることがある。
 そこで、設定部133は、矢印1に示されるように、CABACの初期化に必要なslice_qp_deltaを、スライスヘッダのトップ辺りにあるSlice_typeの後に配置する。
 また、設定部133は、矢印2に示されるように、適応オフセットフィルタのパラメータであるsao_param()を、適応ループフィルタのパラメータalf_cu_control_param()が配置されているスライスヘッダのエンドに配置する。
[本技術のストリーム構成例]
 図4は、本技術のストリームのうち、スライスヘッダとスライスデータの一部の構成例を示す図である。図4の例において、斜線のハッチは、図3を参照して上述した従来との差異を表している。
 図4の例においては、スライスヘッダのトップ辺りには、slice_typeと、図3の例においてスライスヘッダの中央下部にあったslice_qp_deltaが並んで(まとめて)配置されている。
 これにより、スライスヘッダのトップ以降、CABACの初期化パラメータである、slice_typeとslice_qp_deltaが揃ったところで、どこでも、CABACの初期化を行うことができる。その結果、パラメータの算術符号化および算術復号を初期化により待たせることがない。
 また、スライスヘッダのエンドには、適応ループフィルタのパラメータであるalf_cu_control_param()と、図3の例においてスライスヘッダの中央部にあった適応オフセットフィルタのパラメータであるsao_param()が並んで配置されている。
 これにより、算術符号化および算術復号が必要なパラメータが、スライスデータの前、スライスヘッダのエンドにまとめて配置される。その結果、スライスヘッダのエンドからスライスデータにかけて、算術符号化および算術復号の処理をまとめて効率的に行うことができる。
 なお、以下、実施例において、算術符号化が必要なパラメータ、すなわち、算術符号化(復号)する符号化パラメータを、算術符号化パラメータと称する。これに対して、可変長符号化(復号)または固定長符号化(復号)するパラメータを、単に、符号化パラメータと称する。また、図4の例においては、算術符号化および算術復号が必要である算術符号化パラメータを、スライスヘッダのエンドに配置する例を示したが、図5に示すように、スライスデータのトップに配置するようにしてもよい。
[本技術のストリーム構成の他の例]
 図5は、本技術のストリームのうち、スライスヘッダとスライスデータの一部の他の構成例を示す図である。図5の例において、斜線のハッチは、図3を参照して上述した従来との差異を表している。
 図5の例においては、スライスヘッダのトップ辺りには、slice_typeが配置されている。また、スライスヘッダの中央部には、cabac_init_idcと、図3の例においてスライスヘッダの中央下部にあったslice_qp_deltaが並んで配置されている。
 cabac_init_idcは、H.264/AVC方式においてcabacのテーブルの設定に用いられたが、現在のところ、HEVC方式においてはその使用が決まっていない。用いられる場合には、cabac_init_idc とまとめるために、slice_qp_deltaを、図5のように、cabac_init_idcの直後においてもよい。また、cabac_init_idcも、slice_qp_deltaと一緒に、図4のslice_typeの直後におくようにしてもよい。
 この場合も、slice_type、slice_qp_delta、cabac_init_idcが揃ったところで、どこでも、CABACの初期化を行うことができる。その結果、算術符号化パラメータの算術符号化および算術復号を初期化により待たせることがない。
 図5の例においては、スライスヘッダのエンドではなく、スライスデータのトップに、適応ループフィルタのパラメータであるalf_cu_control_param()と、適応オフセットフィルタのパラメータであるsao_param()が並んで配置されている。alf_cu_control_param()およびsao_param()はどちらも算術符号化パラメータである。
 これにより、算術符号化および算術復号が必要な算術符号化パラメータが、スライスデータ内、データそのものの直前にまとめて配置されるので、両者の算術符号化パラメータから、データそのものにかけて、算術符号化および算術復号の処理をまとめて効率的に行うことができる。
 なお、図4および図5の例においては、適応ループフィルタのパラメータであるalf_cu_control_param()の直後に、適応オフセットフィルタのパラメータであるsao_param()を配置する例を示したが、それに限定されない。すなわち、スライスヘッダのエンドまたはスライスデータのトップであれば、算術符号化パラメータ同士の順番はどちらでもよい。したがって、適応オフセットフィルタのパラメータであるsao_param()の直後に、適応ループフィルタのパラメータであるalf_cu_control_param()を配置させてもよい。
 なお、図4および図5の例においては、算術符号化および算術復号が必要な算術符号化パラメータがスライスヘッダおよびスライスデータにまとめて配置される例を説明したが、符号化ストリームのシンタックスとして設定されていれば、算術符号化パラメータの配置場所は限定されない。
[本技術のストリーム構成の他の例]
 図6は、本技術のストリームのうち、シンタックスの一部の構成例を示す図である。
 図6に示されるシンタックスにおいては、可変長符号化または固定長符号化を行う符号化パラメータがまとめて配置されている。さらに、シンタックスにおいては、符号化パラメータの後に、適応オフセットフィルタのパラメータであるsao_param()、および適応ループフィルタのパラメータであるalf_cu_control_param()からなる算術符号化パラメータがまとめて配置されている。
 図6の場合も、算術符号化および算術復号が必要な算術符号化パラメータが、シンタックスの所定の位置にまとめて配置されるので、算術符号化および算術復号の処理をまとめて効率的に行うことができる。
 なお、算術符号化および算術復号が必要な算術符号化パラメータは、適応オフセットフィルタのパラメータであるsao_param()、および適応ループフィルタのパラメータであるalf_cu_control_param()に限定されない。例えば、図7に示されるように、量子化マトリックスのパラメータであるqmatrix_param()も、算術符号化および算術復号が必要な算術符号化パラメータとして、適応オフセットフィルタのパラメータであるsao_param()、および適応ループフィルタのパラメータであるalf_cu_control_param()とまとめて配置するようにしてもよい。
 また、各算術符号化パラメータの配置順は、図6および図7の例に限定されない。
 ここで、算術符号化および算術復号が必要な算術符号化パラメータである、適応ループフィルタのパラメータ、適応オフセットフィルタのパラメータ、および量子化マトリックスのパラメータについて詳しく説明する。
 まず、適応ループフィルタは、HEVC方式で用いられている符号化処理であり、AVC方式では採用されていない。復号側に送られる適応ループフィルタのパラメータは、2次元フィルタの係数とCU単位のOn/Offの制御信号であり、ピクチャ毎に更新され、そのサイズは、大きい。
 適応ループフィルタは、最も符号化画像が原画像に近づくような2次元フィルタを伝送し、フィルタ処理することで符号化効率を高めるものである。しかしながら、パラメータセットが非常に大きいため、符号量の多いIピクチャでは、パラメータを送る。これに対して、符号量の小さいBピクチャでは、パラメータを伝送するオーバーヘッドに見合うだけのゲインが得られない場合があるので、この場合については、パラメータは送られない。
 このように、適応ループフィルタのパラメータは、各ピクチャの符号量に応じて切り替わり、ピクチャ毎に値が変わるものである。また、適応ループフィルタのパラメータは、その値自体が絵柄に依存するため、同じ値が繰り返し使用される頻度が低い。
 次に、適応オフセットフィルタは、適応ループフィルタと同様に、HEVC方式で用いられている符号化処理であり、AVC方式では採用されていない。復号側に送られる適応オフセットのパラメータは、オフセットの種類とピクチャをある単位で分割したときのOn/Offの制御信号であり、ピクチャ毎に更新され、そのサイズは、比較的大きい。
 適応オフセットフィルタは、あるピクセル値に対してオフセットをつけるものである。適応オフセットフィルタは、適応ループフィルタと比較すると、パラメータのサイズが小さいため、比較的、ピクチャ毎に伝送することが可能である。
 ただし、絵柄に対して、オフセットが変わりにくい性質があるので、適応オフセットフィルタのパラメータは、算術符号化する必要がある。各ピクチャで似たようなパラメータとなる可能性があるので、以前のパラメータを使いまわすことが可能なパラメータといえる。
 さらに、量子化マトリックスは、AVC方式から採用されているものであるが、ブロックサイズが大きくなると、サイズが大きくなってしまう。復号側に送られる量子化マトリックスのパラメータは、ピクチャ単位の量子化マトリックスであり、ピクチャ毎、ピクチャタイプ毎、またはGOP毎に更新され、そのサイズは大きい。
 量子化マトリックスは、絵柄が変わらなければ、変更する必要がない可能性が高い。また、量子化マトリックスのパラメータは、サイズが大きいが、送らないという選択肢はない。
 なお、量子化マトリックスのパラメータは、Iピクチャ、Bピクチャ、Pピクチャで別々な値を使いまわすような場合もある。その場合、量子化マトリックスのパラメータは、適応ループフィルタや適応オフセットフィルタなど、ピクチャ毎に変更されるパラメータと組み合わせると相性が悪いという特徴がある。
 以上のように、適応ループフィルタのパラメータ、適応オフセットフィルタのパラメータ、および量子化マトリックスのパラメータは、それぞれ特徴があるが、どれも、サイズが大きく、ピクチャ毎などに送られるため、算術符号化する必要がある。
[従来の処理のタイミングチャート]
 図8は、図3を参照して上述した従来のストリームを処理する場合のタイミングチャートを示す図である。図8の例においては、例えば、復号処理する例が示されている。なお、復号側においても、符号化側と同様に、復号処理は、ファームウエアとハードウエアの処理に分かれる。左が、FW(ファームウエア)の可変長、固定長復号処理を表し、右が、HW(ハードウエア)の算術復号の処理を表している。
 まず、スライスヘッダのトップ辺りにおいて、ファームウエアは、符号化パラメータであって、初期化パラメータであるslice_typeを可変長(または固定長)復号し、以降、他の符号化パラメータも可変長(または固定長)復号する。そして、ファームウエアが、符号化パラメータであって、初期化パラメータであるslice_qp_deltaを復号したところで、ようやく、CABACの初期化に必要な初期化パラメータであるslice_typeおよびslice_qp_deltaが揃うので、CABACのハードウエアは初期化される。
 初期化の終了を待ち、この初期化が終わったところで、算術符号化パラメータであり、適応オフセットフィルタのパラメータであるsao_param()が配置されているので、ファームウエアは、ハードウエアにsao_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのsao_param()を、ファームウエアに返す。
 その後、ファームウエアは、スライスヘッダのエンドのalf_cu_control_param()の直前まで、他の符号化パラメータの可変長(または固定長)復号を行う。スライスヘッダのエンドに、算術符号化パラメータであり、適応ループフィルタのパラメータであるalf_cu_control_param()が配置されているので、ファームウエアは、ハードウエアにalf_cu_control_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのalf_cu_control_param()を、ファームウエアに返す。
 そして、次に、スライスデータの復号になるので、ファームウエアは、ハードウエアにスライスデータの算術復号を行わせる。
 このように、従来の場合、ファームウエアとハードウエアのやり取りが分散されており、さらに、初期化による待ち時間が発生していた。ファームウエアとハードウエアのやり取りには、データの受け渡しなど、調整などが必要であり、符号化および復号の処理の効率がよくなかった。
[本技術の処理のタイミングチャート]
 図9は、図4を参照して上述した本技術のストリームを処理する場合のタイミングチャートを示す図である。図9の例においては、例えば、復号処理する例が示されている。図15を参照して後述するが、復号側においても、復号処理は、ファームウエアとハードウエアの処理に分かれる。左が、FW(ファームウエア)の可変長、固定長復号処理を表し、右が、HW(ハードウエア)の算術復号の処理を表している。
 まず、スライスヘッダのトップ辺りにおいて、ファームウエアは、初期化パラメータであるslice_typeを可変長(または固定長)復号し、ついで、初期化パラメータであるslice_qp_deltaを復号する。ここで、符号化パラメータであって、CABACの初期化に必要な初期化パラメータであるslice_typeおよびslice_qp_deltaが揃うので、これ以降、どこででも、CABACのハードウエアの初期化を行うことができる。例えば、図9の例においては、slice_typeおよびslice_qp_deltaが揃ったタイミングでCABACのハードウエアの初期化が行われる。
 CABACのハードウエアの初期化後、スライスヘッダのエンドのalf_cu_control_param()の直前まで、ファームウエアは、他の符号化パラメータも可変長(または固定長)復号する。
 スライスヘッダのエンドに、算術符号化パラメータであり、適応ループフィルタのパラメータであるalf_cu_control_param()と、算術符号化パラメータであり、適応オフセットフィルタのパラメータであるsao_param()が配置されている。ファームウエアは、ハードウエアにalf_cu_control_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのalf_cu_control_param()を、ファームウエアに返す。
 また、同様に、ファームウエアは、ハードウエアにsao_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのsao_param()を、ファームウエアに返す。
 そして、次に、スライスデータの復号になるので、ファームウエアは、ハードウエアにスライスデータの算術復号を行わせる。
 以上のように、初期化の待ち時間がなくなり、ファームウエアとハードウエアのやり取りがまとめて行われるので、復号の処理の効率がよくなり、処理を高速化することができる。
 なお、図9の例においては、復号の処理について説明したが、符号化処理についても同様な効果を得ることができる。また、図9の例においては、算術復号毎に、指令を出し、結果(復号済みパラメータ)をファームウエアに返す例を示したが、sao_param()とalf_cu_control_param()の指令と結果の返しを一度に行うようにしてもよい。
 図10は、図6を参照して上述した本技術のストリームを処理する場合のタイミングチャートを示す図である。図10の例においては、例えば、復号処理する例が示されている。図15を参照して後述するが、復号側においても、復号処理は、ファームウエアとハードウエアの処理に分かれる。左が、FW(ファームウエア)の可変長、固定長復号処理を表し、右が、HW(ハードウエア)の算術復号の処理を表している。
 図10の例の場合、図6のシンタックスにおいては、まず、可変長符号化または固定長符号化が行われている符号化パラメータがまとめて配置されているので、ファームウエアは、符号化パラメータを復号する。
 次に、シンタックスには、算術符号化パラメータであり、適応ループフィルタのパラメータであるalf_cu_control_param()と、算術符号化パラメータであり、適応オフセットフィルタのパラメータであるsao_param()がまとめて配置されている。
 したがって、ファームウエアによる符号化パラメータの復号が終わると、ファームウエアは、ハードウエアにalf_cu_control_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのalf_cu_control_param()を、ファームウエアに返す。また、ファームウエアは、ハードウエアにsao_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのsao_param()を、ファームウエアに返す。
 すなわち、ハードウエアは、算術符号化パラメータの復号をまとめて行う。
 図11は、図7を参照して上述した本技術のストリームを処理する場合のタイミングチャートを示す図である。図7に示されるシンタックスの場合も同様である。すなわち、図11の例の場合、図7のシンタックスにおいては、まず、可変長符号化または固定長符号化が行われている符号化パラメータがまとめて配置されているので、ファームウエアは、符号化パラメータを復号する。
 次に、シンタックスには、適応ループフィルタのパラメータであるalf_cu_control_param()と、適応オフセットフィルタのパラメータであるsao_param()と、量子化マトリックスパラメータであるqmatrix_param()とがまとめて配置されている。alf_cu_control_param()、sao_param()、およびqmatrix_param()の、いずれのパラメータも、算術符号化パラメータである。
 したがって、ファームウエアによる符号化パラメータの復号が終わると、ファームウエアは、ハードウエアにalf_cu_control_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのalf_cu_control_param()を、ファームウエアに返す。また、ファームウエアは、ハードウエアにsao_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのsao_param()を、ファームウエアに返す。さらに、ファームウエアは、ハードウエアに量子化マトリックスパラメータであるqmatrix_param()の算術復号を行わせる。ハードウエアは、算術復号が終わったところで、復号済みのqmatrix_param()を、ファームウエアに返す。
 すなわち、ハードウエアは、算術符号化パラメータの復号をまとめて行う。
 以上のように、図10および図11の例の場合も、シンタックスにおいてまとめて配置された符号化パラメータがまとめて可変長(固定長)復号処理される。同様に、シンタックスにおいてまとめて配置された算術符号化パラメータがまとめて算術復号処理される。したがって、ファームウエアとハードウエアのやり取りがまとめて行われるので、復号の処理の効率がよくなり、処理を高速化することができる。
 ここで、算術符号化パラメータをまとめて(並べて)配置するとは、ファームウエア(FW)処理とハードウエア(HW)処理において、処理のやりとりがまとめて行われるように、算術符号化パラメータのシンタックスを配置することである。すなわち、算術符号化パラメータ(例えば、alf_cu_control_param()/sao_param())をまとめて(並べて)配置するとは、図6および図7などに示されているように、算術符号化または算術復号を行う算術符号化パラメータの間に、可変長(または固定長)符号化・復号を行う符号化パラメータが配置されていない状態を意味する。
 同様に、可変長(または固定長)符号化・復号を行う符号化パラメータをまとめて(並べて)配置するとは、ファームウエア(FW)処理とハードウエア(HW)処理において、処理のやりとりがまとめて行われるように、可変長(または固定長)符号化・復号を行う符号化パラメータのシンタックスを配置することである。すなわち、符号化パラメータをまとめて(並べて)配置するとは、可変長(または固定長)符号化、または可変長(または固定長)復号を行う符号化パラメータの間に、算術符号化・復号を行う算術符号化パラメータが配置されていない状態を意味する。
 これにより、符号化パラメータを符号化、復号する際に、算術符号化・復号と可変長(固定長)符号化・可変長(固定長)復号の処理が集約されるため、符号化処理・復号処理の遅延を短縮することができる。
[符号化処理全体の流れ]
 次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図12のフローチャートを参照して、画像符号化装置100による符号化処理全体の流れの例を説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 画面並べ替えバッファ102から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ112から読み出され、選択部113を介してイントラ予測部114に供給される。
 これらの画像に基づいて、ステップS103において、イントラ予測部114は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ111、適応オフセット部121、および適応ループフィルタ122によりフィルタされていない画素が用いられる。
 この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部116に供給される。
 画面並べ替えバッファ102から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ112から読み出され、選択部113を介して動き予測・補償部115に供給される。これらの画像に基づいて、ステップS104において、動き予測・補償部115は、動き予測・補償処理を行う。
 この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部116に供給される。
 ステップS105において、予測画像選択部116は、イントラ予測部114および動き予測・補償部115より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部116は、決定した最適予測モードの予測画像を選択し、演算部103,110に供給する。この予測画像は、後述するステップS106,S111の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部114または動き予測・補償部115に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部114は、最適イントラ予測モードを示す情報(すなわち、イントラ予測に関するパラメータ)を、可逆符号化部106に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測・補償部115は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報(すなわち、動き予測に関するパラメータ)を可逆符号化部106に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
 ステップS106において、演算部103は、ステップS102で並び替えられた画像と、ステップS105で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部115から、イントラ予測する場合はイントラ予測部114から、それぞれ予測画像選択部116を介して演算部103に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS107において、直交変換部104は演算部103から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
 ステップS108において、量子化部105は変換係数を量子化する。この量子化に際しては、後述するステップS118の処理で説明されるように、レートが制御される。
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部108は、量子化部105により量子化された変換係数を量子化部105の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部109は、逆量子化部108により逆量子化された変換係数を直交変換部104の特性に対応する特性で逆直交変換する。
 ステップS111において、演算部110は、予測画像選択部116を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部103への入力に対応する画像)を生成する。
 ステップS112においてデブロックフィルタ111は、演算部110より出力された画像に対して、デブロックフィルタ処理を行う。これによりブロック歪みが除去される。デブロックフィルタ111からの復号画像は、適応オフセット部121に出力される。
 ステップS113において、適応オフセット部121は、適応オフセット処理を行う。すなわち、適応オフセット部121は、デブロックフィルタ111からの復号画像を基に、quad-tree構造を決定し、quad-tree分割された領域のオフセット値を算出する。適応オフセット部121は、quad-tree分割された領域に対して、オフセットフィルタ処理を施し、オフセット後の画素値を適応ループフィルタ122に供給する。
 適応オフセット部121は、quad-tree構造とオフセット値を、適応オフセットフィルタのパラメータとして、可逆符号化部106に供給する。
 ステップS114において、適応ループフィルタ122は、適応フィルタ係数を算出し算出した適応フィルタ係数を用いて、オフセット処理後の画素値に対して、適応ループフィルタ処理を行う。適応フィルタ処理後の画素値は、フレームメモリ112に出力される。
 適応ループフィルタ122は、算出した適応フィルタ係数を、適応ループフィルタのパラメータとして、可逆符号化部106に供給する。
 ステップS115においてフレームメモリ112は、フィルタリングされた画像を記憶する。なお、フレームメモリ112には、デブロックフィルタ111、適応オフセット部121、および適応ループフィルタ122によりフィルタされていない画像も演算部110から供給され、記憶される。
 一方、上述したステップS108において量子化された変換係数は、可逆符号化部106にも供給される。ステップS116において、可逆符号化部106は、量子化部105より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。
 この符号化処理の詳細は、図13を参照して後述するが、供給されたパラメータのうち、スライスまたはピクチャ単位で符号化処理を制御する算術符号化パラメータ以外の符号化パラメータは、可変長(または固定長)符号化され、所定の順でヘッダに付加される。一方、供給されたパラメータのうち、スライスまたはピクチャ単位で符号化処理を制御する算術符号化パラメータは、算術符号化され、スライスヘッダのエンドまたはスライスデータのトップに付加される。
 ステップS117において蓄積バッファ107は、符号化された差分画像(すなわち、符号化ストリーム)を、圧縮画像として蓄積する。蓄積バッファ107に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS118においてレート制御部117は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 ステップS118の処理が終了すると、符号化処理が終了される。
[符号化処理の流れ]
 次に、図13のフローチャートを参照して、図12のステップS116において実行される可逆符号化部106による符号化処理の流れの例を説明する。
 画像符号化装置100の各部から、各種パラメータが、VLC符号化部131に供給される。例えば、例えば、イントラ予測部114は、イントラ予測モードを示す情報などのイントラ予測に関するパラメータをVLC符号化部131に供給する。例えば、動き予測・補償部115は、インター予測モードを示す情報、動きベクトル情報、参照フレーム情報、フラグ情報などの動き予測に関するパラメータをVLC符号化部131に供給する。
 例えば、適応オフセット部121は、quad-tree構造やオフセット値などの適応オフセットフィルタに関するパラメータをVLC符号化部131に供給する。例えば、適応ループフィルタ122は、適応ループフィルタ係数などの適応ループフィルタに関するパラメータをVLC符号化部131に供給する。なお、図示は省略されているが、slice_typeやslice_qp_deltaも供給され、量子化部105からの量子化パラメータなども供給される。
 また、量子化部105は、量子化された変換係数もVLC符号化部131に供給する。
 VLC符号化部131は、ステップS131において、供給されたパラメータにおいて、CABACの初期化に必要な初期化パラメータであるslice_typeおよびslice_qp_deltaが揃うまで待機している。VLC符号化部131は、ステップS131において、slice_typeおよびslice_qp_deltaが揃ったと判定した場合、slice_typeおよびslice_qp_deltaのパラメータを、CABAC符号化部134に供給し、符号化制御部132にその通知を行う。
 これに対応して、符号化制御部132は、ステップS132において、CABAC符号化部134に初期化を行わせる。CABAC符号化部134は、初期化を終了すると、それを、符号化制御部132に通知する。これ以降、どのタイミングでも、CABAC符号化を行うことができる。
 ステップS133において、VLC符号化部131は、供給されたパラメータから、符号化対象のパラメータを取得する。VLC符号化部131は、ステップS133において、取得したパラメータが、適応オフセットフィルタのパラメータであるsao_param()または適応ループフィルタのパラメータalf_cu_control_param()であるか否かを判定する。すなわち、ステップS133においては、取得したパラメータが、算術符号化パラメータであるか否かが判定される。
 ステップS134において、取得したパラメータが、適応オフセットフィルタのパラメータであるsao_param()および適応ループフィルタのパラメータalf_cu_control_param()(すなわち、算術符号化パラメータ)ではないと判定された場合、処理は、ステップS135に進む。
 ステップS135において、VLC符号化部131は、ステップS133において取得したパラメータを、VLC符号化(可変長または固定長符号化)する。VLC符号化部131は、符号化した符号化パラメータを、設定部133に供給する。
 ステップS134において、取得したパラメータが、適応オフセットフィルタのパラメータであるsao_param()または適応ループフィルタのパラメータalf_cu_control_param()(すなわち、算術符号化パラメータ)であると判定された場合、処理は、ステップS136に進む。VLC符号化部131は、ステップS133で取得したパラメータを、CABAC符号化部134に供給するとともに、符号化制御部132にその旨を通知する。
 ステップS136において、CABAC符号化部134は、符号化制御部132の制御のもと、ステップS133で取得したパラメータを、CABAC符号化(算術符号化)する。すなわち、ここで算術符号化されるパラメータは、算術符号化パラメータであって、適応オフセットフィルタのパラメータsao_param()または適応ループフィルタのパラメータalf_cu_control_param()である。CABAC符号化部134は、符号化した算術符号化パラメータを、設定部133に供給するとともに、符号化の終了を、符号化制御部132に通知する。符号化制御部132は、VLC符号化部131に、終了を通知する。
 ステップS137において、VLC符号化部131は、パラメータの符号化がすべて終了したか否かを判定し、まだ終了していないと判定した場合、処理は、ステップS133に戻り、それ以降の処理が繰り返される。
 ステップS137において、パラメータの符号化がすべて終了したと判定された場合、処理は、ステップS138に進む。VLC符号化部131は、量子化部105からの変換係数を、CABAC符号化部134に供給するとともに、符号化制御部132にその旨を通知する。
 ステップS138において、CABAC符号化部134は、符号化制御部132の制御のもと、データ(変換係数)をCABAC符号化(算術符号化)し、符号化したデータを、設定部133に供給するとともに、符号化の終了を、符号化制御部132に通知する。
 設定部133には、VLC符号化部131により符号化された符号化パラメータ、CABAC符号化部134により符号化された算術符号化パラメータ、または、CABAC符号化部134により符号化されたデータが供給されている。ステップS139において、設定部133は、符号化されたパラメータおよび符号化されたデータを、図4または図5の順番に設定して、配置し、スライスヘッダおよびスライスデータを生成する。
 設定部133は、生成したスライスヘッダおよびスライスデータを、蓄積バッファ107に供給する。ステップS139の処理の後、処理は、図12のステップS116に戻る。
 以上のように、スライスまたはピクチャ単位で符号化処理を制御する算術符号化パラメータをスライスヘッダのエンドまたはスライスデータのトップに配置することにより、符号化処理を高速化することができる。
<2.第2の実施の形態>
[画像復号装置]
 図14は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図14に示される画像復号装置200は、図1の画像符号化装置100に対応する復号装置である。
 画像符号化装置100より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置100に対応する画像復号装置200に伝送され、復号されるものとする。
 図14に示されるように、画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、デブロックフィルタ206、画面並べ替えバッファ207、およびD/A変換部208を有する。また、画像復号装置200は、フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213を有する。
 さらに、画像復号装置200は、適応オフセット部221および適応ループフィルタ222を有する。
 蓄積バッファ201は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置100により符号化されたものである。可逆復号部202は、蓄積バッファ201から所定のタイミングで読み出された符号化データを、図1の可逆符号化部106の符号化方式に対応する方式で復号する。可逆復号部202は、スライスヘッダおよびスライスデータの順に復号する。
 すなわち、可逆復号部202は、符号化側からのパラメータのうち、スライスまたはピクチャ単位で復号処理をコントロールする算術符号化パラメータに対しては、算術符号化されているので、算術復号を行う。可逆復号部202は、それ以外の符号化パラメータに対しては可変長または固定長符号化されているので、可変長または固定長復号を行う。
 可逆復号部202は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部211に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部212に供給する。可逆復号部202は、適応オフセットフィルタのパラメータを、適応オフセット部221に供給し、適応ループフィルタのパラメータを適応ループフィルタ222に供給する。
 逆量子化部203は、可逆復号部202により復号されて得られた係数データ(量子化係数)を、図1の量子化部105の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部203は、画像符号化装置100から供給された量子化パラメータを用いて、図1の逆量子化部108と同様の方法で量子化係数の逆量子化を行う。
 逆量子化部203は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部204に供給する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。
 逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部213を介して、イントラ予測部211若しくは動き予測・補償部212から予測画像が供給される。
 演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをデブロックフィルタ206に供給する。
 デブロックフィルタ206は、画像符号化装置100のデブロックフィルタ111と基本的に同様に構成される。デブロックフィルタ206は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ206は、そのフィルタ処理結果を、適応オフセット部221に供給する。
 画面並べ替えバッファ207は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部208は、画面並べ替えバッファ207から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 デブロックフィルタ206の出力は、さらに、フレームメモリ209に供給される。
 フレームメモリ209、選択部210、イントラ予測部211、動き予測・補償部212、および選択部213は、画像符号化装置100のフレームメモリ112、選択部113、イントラ予測部114、動き予測・補償部115、および予測画像選択部116にそれぞれ対応する。
 選択部210は、インター処理される画像と参照される画像をフレームメモリ209から読み出し、動き予測・補償部212に供給する。また、選択部210は、イントラ予測に用いられる画像をフレームメモリ209から読み出し、イントラ予測部211に供給する。
 イントラ予測部211には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部211は、この情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
 動き予測・補償部212には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部202から供給される。
 動き予測・補償部212は、可逆復号部202から供給されるそれらの情報に基づいて、フレームメモリ209から取得した参照画像から予測画像を生成し、生成した予測画像を選択部213に供給する。
 選択部213は、動き予測・補償部212またはイントラ予測部211により生成された予測画像を選択し、演算部205に供給する。
 適応オフセット部221には、可逆復号部202からの適応オフセットパラメータであるquad-tree構造およびオフセット値が供給される。適応オフセット部221は、それらの情報を用いて、デブロックフィルタ206からの復号画像の画素値に対してオフセットフィルタ処理を行う。適応オフセット部221は、オフセット処理後の画像を、適応ループフィルタ222に供給する。
 適応ループフィルタ222は、可逆復号部202から供給された適応ループフィルタのパラメータである適応フィルタ係数を用いて、適応オフセット部221からの復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。適応ループフィルタ222は、フィルタ後の画像を、画面並べ替えバッファ207およびフレームメモリ209に供給する。
[可逆復号部の構成例]
 次に、画像復号装置200の各部について説明する。図15は、可逆復号部202の構成例を示すブロック図である。
 図15の例において、可逆復号部202は、VLC(Variable Length Coding)復号部231、復号制御部232、取得部233、およびCABAC(Context-Adaptive Binary Arithmetic Coding)復号部234を含むように構成される。なお、取得部233は、VLC復号部231に内蔵されている。
 可逆復号部202を構成する各部のうち、VLC復号部231、復号制御部232、および取得部233は、図示せぬCPUなどにより実行されることで、ファームウエア241として実現される。可逆復号部202を構成する各部のうち、比較的重い処理を行うCABAC復号部234は、ロジックを組むことなどにより、ハードウエア242として実現される。
 VLC復号部231には、蓄積バッファ201から所定のタイミングで読み出された符号化データが供給される。
 VLC復号部231には、取得部233が内蔵されている。取得部233は、符号化データから、復号対象の符号化されているパラメータを取得する。VLC復号部231は、取得部233により取得されたスライスまたはピクチャ単位で復号処理を制御する算術符号化パラメータ以外の符号化パラメータに対して、図2のVLC符号化部131の符号化に対応する、可変長復号または固定長復号処理を行う。
 VLC復号部231は、取得部233により取得されたパラメータのうち、スライスまたはピクチャ単位で復号処理を制御する算術符号化パラメータをCABAC復号部234に供給し、その旨を復号制御部232に通知する。VLC復号部231は、符号化パラメータでもある、初期化パラメータをCABAC復号部234に供給し、その旨を復号制御部232に通知する。
 VLC復号部231は、CABAC復号部234により算術復号されたパラメータを受け取る。VLC復号部231は、復号したパラメータおよびCABAC復号部234により算術復号されたパラメータを画像復号装置200の対応する各部に供給する。
 例えば、予測モード情報がイントラ予測モード情報である場合、可変長復号または固定長復号された予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、可変長復号または固定長復号された予測モード情報と対応する動きベクトル情報などは、動き予測・補償部212に供給される。
 例えば、算術復号された適応オフセットフィルタに関するパラメータは、適応オフセット部221に供給される。算術復号された適応ループフィルタに関するパラメータは、適応ループフィルタ222に供給される。
 復号制御部232は、VLC復号部231からの通知に対応して、CABAC復号部234に初期化処理や復号処理を開始させる。復号制御部232は、CABAC復号部234からの通知に対応して、VLC復号部231に復号処理を開始させる。
 CABAC復号部234は、復号制御部232の制御のもと、VLC復号部231からの初期化に必要な初期化パラメータを用いて初期化する。CABAC復号部234は、復号制御部232の制御のもと、VLC復号部231からの符号化された算術符号化パラメータおよびデータ(変換係数)を、図2のCABAC符号化部134の算術符号化に対応する算術復号を行う。CABAC復号部234は、算術復号されたパラメータを、VLC復号部231に供給する。
 CABAC復号部234は、算術復号されたデータ(量子化された直交変換係数)を、逆量子化部203に供給する。
[復号処理全体の流れ]
 次に、以上のような画像復号装置200により実行される各処理の流れについて説明する。最初に、図16のフローチャートを参照して、画像復号装置200の復号処理全体の流れの例を説明する。
 復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきた符号化データを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給される符号化データを復号する。この復号処理の詳細は、図17を参照して後述するが、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)、並びに、適応オフセットフィルタおよび適応ループフィルタのパラメータ等のパラメータの情報も復号される。このとき、スライスヘッダに付加されているパラメータのうち、スライスまたはピクチャ単位で符号化処理を制御する算術符号化パラメータ以外の符号化パラメータは、可変長(または固定長)復号される。一方、スライスヘッダのエンドまたはスライスデータのトップに付加されている、スライスまたはピクチャ単位で復号処理を制御する算術符号化パラメータは、算術復号される。スライスまたはピクチャ単位で復号処理を制御する算術符号化パラメータは、図2を参照して上述したように、適応オフセットフィルタに関するパラメータや、適応ループフィルタに関するパラメータなどである。
 予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部212に供給される。適応オフセットフィルタに関するパラメータは、適応オフセット部221に供給される。適応ループフィルタに関するパラメータは、適応ループフィルタ222に供給される。
 ステップS203において、イントラ予測部211または動き予測・補償部212は、可逆復号部202から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
 すなわち、可逆復号部202からイントラ予測モード情報が供給された場合、イントラ予測部211は、Most Probable Modeの生成を行い、並列処理により、イントラ予測モードのイントラ予測画像を生成する。可逆復号部202からインター予測モード情報が供給された場合、動き予測・補償部212は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
 この処理により、イントラ予測部211により生成された予測画像(イントラ予測画像)、または動き予測・補償部212により生成された予測画像(インター予測画像)が選択部213に供給される。
 ステップS204において、選択部213は予測画像を選択する。すなわち、イントラ予測部211により生成された予測画像、または動き予測・補償部212により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部205に供給され、後述するステップS207において逆直交変換部204の出力と加算される。
 上述したステップS202において、可逆復号部202により復号された変換係数は、逆量子化部203にも供給される。ステップS205において、逆量子化部203は可逆復号部202により復号された変換係数を、図1の量子化部105の特性に対応する特性で逆量子化する。
 ステップS206において逆直交変換部109は、逆量子化部108により逆量子化された変換係数を、図1の直交変換部104の特性に対応する特性で逆直交変換する。これにより図1の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。
 ステップS207において、演算部205は、上述したステップS204の処理で選択され、選択部213を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS208においてデブロックフィルタ206は、演算部110より出力された画像に対して、デブロックフィルタ処理を行う。これにより、画面全体におけるブロック歪みが除去される。フィルタ後の画像は、適応オフセット部221に供給される。
 ステップS209において、適応オフセット部221は、適応オフセット処理を行う。この処理により、可逆復号部202からの適応オフセットフィルタのパラメータであるquad-tree構造およびオフセット値が用いられて、デブロック後の画像にオフセットフィルタ処理が施される。オフセット後の画素値は、適応ループフィルタ222に供給される。
 ステップS210において、適応ループフィルタ222は、可逆復号部202からの適応ループフィルタのパラメータである適応フィルタ係数を用いて、オフセット処理後の画素値に対して、適応ループフィルタ処理を行う。適応フィルタ処理後の画素値は、画面並べ替えバッファ207およびフレームメモリ209に出力される。
 ステップS211においてフレームメモリ209は、適応フィルタリングされた画像を記憶する。
 ステップS212において、画面並べ替えバッファ207は、適応ループフィルタ222後の画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS213において、D/A変換部208は、画面並べ替えバッファ207からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 ステップS213の処理が終了すると、復号処理が終了される。
[復号処理の流れ]
 次に、図17のフローチャートを参照して、図16のステップS202において実行される可逆復号部202による復号処理の流れの例を説明する。
 蓄積バッファ201から所定のタイミングで読み出された符号化データが、VLC復号部231に供給される。符号化データのスライスヘッダおよびスライスデータは、上述した図4または図5のように構成されている。
 ステップS231において、VLC復号部231の取得部233は、スライスヘッダから、復号対象の符号化されている符号化パラメータを取得する。VLC復号部231は、ステップS232において、取得部233により取得された符号化パラメータを、VLC復号する。
 ステップS233において、VLC復号部231は、符号化パラメータであって、CABACの初期化に必要な初期化パラメータであるslice_typeおよびslice_qp_deltaが揃ったか否かを判定する。例えば、図4のように、スライスヘッダが構成されていれば、トップ辺りで、slice_typeおよびslice_qp_deltaの復号が終わり、slice_typeおよびslice_qp_deltaが揃う。
 ステップS233において、slice_typeおよびslice_qp_deltaが揃ってないと判定された場合、処理は、ステップS231に戻り、それ以降の処理が繰り返される。ステップS233において、slice_typeおよびslice_qp_deltaが揃ったと判定された場合、slice_typeおよびslice_qp_deltaのパラメータを、CABAC復号部234に供給し、復号制御部232にその通知を行う。
 これに対応して、復号制御部232は、ステップS234において、CABAC復号部234に初期化を行わせる。CABAC復号部234は、初期化を終了すると、それを、復号制御部232に通知する。これ以降、どのタイミングでも、CABAC復号を行うことができる。
 ステップS235において、さらに、取得部233は、スライスヘッダから、復号対象の符号化されているパラメータを取得する。VLC復号部231は、ステップS236において、取得部233により取得されたパラメータが、適応オフセットフィルタのパラメータであるsao_param()または適応ループフィルタのパラメータalf_cu_control_param()(すなわち、算術符号化パラメータ)であるか否かを判定する。適応オフセットフィルタのパラメータであるsao_param()または適応ループフィルタのパラメータalf_cu_control_param()は、スライスヘッダのエンドかスライスデータのトップに設定されている。したがって、取得部233がこれらのパラメータを取得するのは、スライスヘッダのエンドかスライスデータのトップからである。
 ステップS236において、取得したパラメータが、適応オフセットフィルタのパラメータであるsao_param()および適応ループフィルタのパラメータalf_cu_control_param()(すなわち、算術符号化パラメータ)ではないと判定された場合、処理は、ステップS237に進む。
 ステップS237において、VLC復号部231は、ステップS235において取得したパラメータを、VLC復号(可変長または固定長復号)する。
 ステップS236において、取得したパラメータが、適応オフセットフィルタのパラメータであるsao_param()または適応ループフィルタのパラメータalf_cu_control_param()(すなわち、算術符号化パラメータ)であると判定された場合、処理は、ステップS238に進む。VLC復号部231は、ステップS235で取得したパラメータを、CABAC復号部234に供給するとともに、復号制御部232にその旨を通知する。
 ステップS238において、CABAC復号部234は、復号制御部232の制御のもと、ステップS235で取得したパラメータを、CABAC復号(算術復号)する。すなわち、ここで算術復号されるパラメータは、算術符号化パラメータであって、適応オフセットフィルタのパラメータsao_param()または適応ループフィルタのパラメータalf_cu_control_param()である。CABAC復号部234は、復号したパラメータを、VLC復号部231に供給するとともに、復号の終了を、復号制御部232に通知する。復号制御部232は、VLC復号部231に、終了を通知する。
 ステップS239において、VLC復号部231は、パラメータの復号がすべて終了したか否かを判定し、まだ終了していないと判定した場合、処理は、ステップS235に戻り、それ以降の処理が繰り返される。
 ステップS239において、パラメータの復号がすべて終了したと判定された場合、処理は、ステップS240に進む。VLC復号部231は、蓄積バッファ201からの符号化されたデータである変換係数を、CABAC復号部234に供給するとともに、復号制御部232にその旨を通知する。
 なお、復号されたパラメータは、VLC復号部231において蓄積され、変換係数の復号にも利用される。この復号されたパラメータは、パラメータの復号がすべて終わったこのときに、画像復号装置200の対応する各部へ供給されるようにしてもよいし、復号が終わったその都度、画像復号装置200の対応する各部へ供給されるようにしてもよい。
 ステップS240において、CABAC復号部234は、復号制御部232の制御のもと、データ(変換係数)をCABAC復号(算術復号)し、復号したデータを、逆量子化部203に供給するとともに、復号の終了を、復号制御部232に通知する。ステップS240の処理の後、処理は、図16のステップS202に戻る。
 なお、図17の例においては、ステップS236において、sao_param()またはalf_cu_control_param()であるか否かを判定するようにしたが、単に、算術符号化されているか、可変長(固定長)符号化されているか、符号化の種類で判定するようにしてもよい。
 以上のように、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータをスライスヘッダのエンドまたはスライスデータのトップに配置することにより、復号処理を高速化することができる。
[シンタックスの例]
 図18は、画像符号化装置100により生成されるスライスヘッダのシンタックスの例を示す図である。各行の左端の数字は説明のために付した行番号である。
 図18のシンタックスにおいては、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータが、スライスデータのトップにまとめて配置されている例が示されている。
 図18の例において、第4行目にslice_typeが設定されている。このslice_typeは、このスライスがIスライス、Pスライス、およびBスライスのうちのどのスライスであるかを示すものであり、上述したように、CABACの初期化に必要なパラメータである。
 第25行目に、cabac_init_idcが設定されている。cabac_init_idc は、H.264/AVC方式においてcabacのテーブルの設定に用いられたが、現在のところ、HEVC方式においてはその使用が決まっていない。
 第30行目にslice_qp_deltaが設定されている。このslice_qp_deltaは、上述したように、CABACの初期化に必要なパラメータである。
 第31乃至第32行目にif(sample_adaptive_offset_enabled_flag)sao_param()として、sao_param()が設定されている。このsao_param()は、適応オフセットフィルタのパラメータである。すなわち、図18の例においては、このパラメータすべてではなく、このパラメータのうち、スライスまたはピクチャ単位で符号化処理または復号処理を制御するパラメータが、スライスデータのトップに配置が変更されている。その詳細については、図19および図20を参照して後述される。
 第44行目にalf_param()が設定されている。従来の例においては、このalf_param()の後に、alf_cu_control_param()が設定されていたが、図18の例においては、スライスデータのトップに配置が移動されている。
 なお、図18の例においては、sao_param()のうち、スライスまたはピクチャ単位で符号化処理を制御する算術符号化パラメータが、スライスデータのトップに配置が変更されている。したがって、第30行目にslice_qp_deltaがあっても、その直後に、スライスまたはピクチャ単位で符号化処理または復号処理を制御するパラメータがないので、第30行目のslice_qp_deltaは、あえて移動されていない。
 図19は、画像符号化装置100により生成されるsao_param()のシンタックスの例を示す図である。各行の左端の数字は説明のために付した行番号である。
 図19の例においては、第2行目のsample_adaptive_offset_flagは、適応オフセットフィルタを行うか否かのフラグである。従来は、このフラグの直後に、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータがあったが、図19の例においては、移動されている。
 すなわち、図19のsao_param()のうち、if文はVLC符号化したほうがいいので、単に読むだけの、後述する図20の第6乃至第9行目のパラメータをスライスデータのトップに移動し、sample_adaptive_offset_flagはそのままの位置に設定されている。
 図20は、画像符号化装置100により生成されるスライスデータのシンタックスの例を示す図である。各行の左端の数字は説明のために付した行番号である。
 図20の例においては、第4および第5行目に、if(adaptive_loop_filter_enabled_flag) alf_cu_control_param()として、alf_cu_control_param()が設定されている。このalf_cu_control_param()は、適応ループフィルタのパラメータのうち、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータであり、スライスデータのトップに設定されている。
 第6乃至第9行目に、if(sample_adaptive_offset_flag){sao_split_param(0,0,0) sao_offset_param(0,0,0)}として、sao_split_param(0,0,0) sao_offset_param(0,0,0)が設定されている。このパラメータが、適応オフセットフィルタのパラメータのうち、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータであり、スライスデータのトップに設定されている。
[シンタックスの他の例]
 図21は、画像符号化装置100により生成されるスライスヘッダのシンタックスの他の例を示す図である。各行の左端の数字は説明のために付した行番号である。
 図21のシンタックスにおいては、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータが、スライスヘッダのエンドにまとめて配置されている例が示されている。
 図21の例において、第4行目にslice_typeが設定されている。このslice_typeは、このスライスがIスライス、Pスライス、およびBスライスのうちのどのスライスであるかを示すものであり、上述したように、CABACの初期化に必要なパラメータである。
 第25行目に、cabac_init_idcが設定されている。cabac_init_idc は、H.264/AVC方式においてcabacのテーブルの設定に用いられたが、現在のところ、HEVC方式においてはその使用が決まっていない。
 第30行目にslice_qp_deltaが設定されている。このslice_qp_deltaは、上述したように、CABACの初期化に必要なパラメータである。
 第43行目に、alf_cu_control_param()が設定されている。このalf_cu_control_param()は、適応ループフィルタのパラメータのうち、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータであり、スライスヘッダのエンドに設定されている。
 第45および第46行目にif(sample_adaptive_offset_enabled_flag)sao_param()として、sao_param()が設定されている。このsao_param()は、適応オフセットフィルタのパラメータであり、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータであり、スライスヘッダのエンドに設定されている。
 なお、図21の例においては、sao_param()が、スライスヘッダのエンドに配置が変更されている。したがって、第30行目にslice_qp_deltaがあっても、その直後に、スライスまたはピクチャ単位で符号化処理または復号処理を制御するパラメータがないので、第30行目のslice_qp_deltaは、あえて移動されていない。
[シンタックスの他の例]
 図22は、画像符号化装置100により生成されるスライスヘッダのシンタックスのさらに他の例を示す図である。各行の左端の数字は説明のために付した行番号である。
 図22のシンタックスにおいては、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータが、スライスヘッダのエンドにまとめて配置されている例が示されている。また、図22のシンタックスにおいては、slice_qp_deltaの配置が移動され、CABACの初期化に必要なパラメータであるパラメータがまとめてヘッダのトップ付近にまとめて配置されている。
 図22の例において、第4行目にslice_typeが設定されている。このslice_typeは、このスライスがIスライス、Pスライス、およびBスライスのうちのどのスライスであるかを示すものであり、上述したように、CABACの初期化に必要なパラメータである。
 第5行目にslice_qp_deltaが設定されている。このslice_qp_deltaは、slice_typeと同様に、CABACの初期化に必要なパラメータである。
 第25行目に、cabac_init_idcが設定されている。cabac_init_idc は、H.264/AVC方式においてcabacのテーブルの設定に用いられたが、現在のところ、HEVC方式においてはその使用が決まっていない。なお、用いられる場合には、cabac_init_idc とまとめるために、slice_qp_deltaを、上述した図5に示したように、cabac_init_idcの直後においてもよい。また、cabac_init_idcも、slice_qp_deltaと一緒にslice_typeの直後におくようにしてもよい。
 第43行目に、alf_cu_control_param()が設定されている。このalf_cu_control_param()は、適応ループフィルタのパラメータのうち、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータであり、スライスヘッダのエンドに設定されている。
 第45および第46行目にif(sample_adaptive_offset_enabled_flag)sao_param()として、sao_param()が設定されている。このsao_param()は、適応オフセットフィルタのパラメータであり、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータであり、スライスヘッダのエンドに設定されている。
 なお、上述した図18乃至図20の例においては、sao_param()の一部だけがスライスデータのトップに配置されていた。alf_cu_control_param()の場合も、図18乃至図20の例と同じようにすることができる。
[シンタックスの他の例]
 図23は、alf_cu_control_param()のシンタックスの例を示す図である。各行の左端の数字は説明のために付した行番号である。
 図23の例においては、第7および第8行目に、for(i=0;i<NumAlfCuFlag;i++)alf_cu_flag[i]として、alf_cu_flag[i]が設定されている。alf_cu_control_param()においては、このalf_cu_flag[i]だけが、スライスまたはピクチャ単位で符号化処理または復号処理を制御する算術符号化パラメータである。
 したがって、上述した図18の例においては、alf_cu_control_param()をスライスデータのトップに配置したが、alf_cu_control_param()全体ではなく、alf_cu_control_param()のうちのalf_cu_flag[i]だけをスライスデータのトップに配置してもよい。このように、alf_cu_control_param()のうち、他のif文などがあるパラメータについては、VLC符号化することもできる。もちろん、図18の例のように、alf_cu_control_param()をスライスデータのトップに配置したとしても、VLCとCABACを混在させてもいいし、すべてをスライスデータのトップに配置して、すべてをCABAC符号化するようにしてもよい。
 なお、図18乃至図23の例においては、スライスデータのエンドまたはスライスヘッダのトップにおいて、適応ループフィルタのパラメータalf_cu_control_param()の次に、適応オフセットフィルタのパラメータsao_param()を配置するようにした。ただし、これらは、一例であり、スライスデータのエンドまたはスライスヘッダのトップであれば、適応ループフィルタのパラメータの前に、適応オフセットフィルタのパラメータを配置するようにしてもよい。
 また、上記説明においては、スライスまたはピクチャ単位で符号化処理を制御する算術符号化パラメータとして、適応ループフィルタのパラメータalf_cu_control_param()と、適応オフセットフィルタのパラメータsao_param()を用いて説明したが、これらに限定されない。すなわち、本技術は、スライスまたはピクチャ単位で符号化処理または復号処理を制御するパラメータであって、算術符号化する算術符号化パラメータであれば、他のパラメータにも適用される。
 このような算術符号化パラメータを、スライスヘッダのエンドやスライスデータのトップにまとめておくよることにより、処理の高速化を図ることができる。スライスまたはピクチャ単位で符号化処理または復号処理を制御する他の算術符号化パラメータとしては、例えば、量子化マトリックスなどのパラメータがあげられる。
 以上においては、符号化方式としてH.264/AVC方式やHEVC方式をベースに用いるようにした。ただし、本開示はこれに限らず、動き予測・補償ループ内に適応オフセットフィルタおよび適応ループフィルタの少なくともどちらか一方を含む、その他の符号化方式/復号方式を適用することができる。
 なお、本開示は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
<3.第3の実施の形態>
 [多視画像点符号化・多視点画像復号への適用]
 上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図24は、多視点画像符号化方式の一例を示す。
 図24に示されるように、多視点画像は、複数の視点の画像を含み、その複数の視点のうちの所定の1つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
 図24のような多視点画像符号化を行う場合、各ビュー(同一ビュー)において、算術符号化パラメータをまとめて配置することができる。また、各ビュー(異なるビュー)において、他のビューでまとめて配置された算術符号化パラメータを共有することもできる。
 この場合、ベースビューにおいてまとめて配置された算術符号化パラメータが、少なくとも1つのノンベースビューで用いられる。あるいは、例えば、ノンベースビュー(view_id=0)においてまとめて配置された算術符号化パラメータが、ベースビューおよびノンベースビュー(view_id=1)の少なくともどちらか一方で用いられる。
 さらに、各ビュー(同一ビュー)において、可変長(または固定長)符号化パラメータをまとめて配置することもできる。また、各ビュー(異なるビュー)において、他のビューでまとめて配置された可変長(または固定長)符号化パラメータを共有することもできる。
 この場合、ベースビューにおいてまとめて配置された可変長(または固定長)符号化パラメータが、少なくとも1つのノンベースビューで用いられる。あるいは、例えば、ノンベースビュー(view_id=0)においてまとめて配置された可変長(または固定長)符号化パラメータが、ベースビューおよびノンベースビュー(view_id=1)の少なくともどちらか一方で用いられる。
 これにより、算術符号化および算術復号の処理をまとめて効率的に行うことができる。また、可変長(固定長)符号化および可変長(固定長)復号の処理をまとめて効率的に行うことができる。
 [多視点画像符号化装置]
 図25は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図25に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
 符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
 この多視点画像符号化装置600の符号化部601および符号化部602に対して、画像符号化装置100(図1)を適用することができる。この場合、多視点画像符号化装置600は、符号化部601がまとめて配置した算術符号化パラメータと、符号化部602がまとめて配置した算術符号化パラメータとを設定して伝送させる。
 なお、上述したように符号化部601がまとめて配置した算術符号化パラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部602がまとめて配置した算術符号化パラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送させるようにしてもよい。以上のことは、可変長(または固定長)符号化パラメータの場合も同様である。
 [多視点画像復号装置]
 図26は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図26に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
 逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
 この多視点画像復号装置610の復号部612および復号部613に対して、画像復号装置200(図14)を適用することができる。この場合、多視点画像復号装置610は、符号化部601がまとめて配置し、復号部612が復号した算術符号化パラメータと、符号化部602がまとめて配置し、復号部613が復号した算術符号化パラメータを用いて処理を行う。
 なお、上述したように符号化部601(または、符号化602)がまとめて配置した算術符号化パラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送されている場合がある。この場合、多視点画像復号装置610においては、符号化部601(または、符号化602)がまとめて配置し、復号部612(または復号部613)が復号した算術符号化パラメータを用いて処理が行われる。以上のことは、可変長(または固定長)符号化パラメータの場合も同様である。
 <4.第4の実施の形態>
 [階層画像点符号化・階層画像復号への適用]
 上述した一連の処理は、階層画像符号化・階層画像復号に適用することができる。図27は、多視点画像符号化方式の一例を示す。
 図27に示されるように、階層画像は、複数の階層(解像度)の画像を含み、その複数の解像度のうちの所定の1つの階層の画像が、ベースレイヤの画像に指定されている。ベースレイヤの画像以外の各階層の画像は、ノンベースレイヤの画像として扱われる。
 図27のような階層画像符号化(空間スケーラビリティ)を行う場合、各レイヤ(同一レイヤ)において、算術符号化パラメータをまとめて配置することができる。また、各レイヤ(異なるレイヤ)において、他のレイヤででまとめて配置された算術符号化パラメータをまとめて配置することができる。
 この場合、ベースレイヤにおいてまとめて配置された算術符号化パラメータが、少なくとも1つのノンベースレイヤで用いられる。あるいは、例えば、ノンベースレイヤ(layer _id=0)においてまとめて配置された算術符号化パラメータが、ベースレイヤおよびノンベースレイヤ(layer_id=1)の少なくともどちらか一方で用いられる。
 さらに、各レイヤ(同一レイヤ)において、可変長(または固定長)符号化パラメータをまとめて配置することもできる。また、各レイヤ(異なるレイヤ)において、他のビューでまとめて配置された可変長(または固定長)符号化パラメータを共有することもできる。
 この場合、ベースレイヤにおいてまとめて配置された可変長(または固定長)パラメータが、少なくとも1つのノンベースレイヤで用いられる。あるいは、例えば、ノンベースレイヤ(layer _id=0)においてまとめて配置された可変長(または固定長)パラメータが、ベースレイヤおよびノンベースレイヤ(layer_id=1)の少なくともどちらか一方で用いられる。
 これにより、算術符号化および算術復号の処理をまとめて効率的に行うことができる。また、可変長(固定長)符号化および可変長(固定長)復号の処理をまとめて効率的に行うことができる。
 [階層画像符号化装置]
 図28は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図28に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
 符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
 この階層画像符号化装置620の符号化部621および符号化部622に対して、画像符号化装置100(図1)を適用することができる。この場合、階層画像符号化装置620は、符号化部621がまとめて配置した算術符号化パラメータと、符号化部602がまとめて配置した算術符号化パラメータとを設定して伝送させる。
 なお、上述したように符号化部621がまとめて配置した算術符号化パラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部622がまとめて配置した算術符号化パラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送させるようにしてもよい。以上のことは、可変長(または固定長)符号化パラメータの場合も同様である。
 [階層画像復号装置]
 図29は、上述した階層画像復号を行う階層画像復号装置を示す図である。図29に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
 逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
 この多視点画像復号装置630の復号部632および復号部633に対して、画像復号装置200(図14)を適用することができる。この場合、多視点画像復号装置630は、符号化部621がまとめて配置し、復号部632が復号した算術符号化パラメータと、符号化部622がまとめて配置し、復号部633が復号した算術符号化パラメータを用いて処理を行う。
 なお、上述したように符号化部621(または、符号化622)がまとめて配置した算術符号化パラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送されている場合がある。この場合、多視点画像復号装置630においては、符号化部621(または、符号化622)がまとめて配置し、復号部632(または、復号部633)が復号した算術符号化パラメータを用いて処理が行われる。以上のことは、可変長(または固定長)符号化パラメータの場合も同様である。
 <5.第5の実施の形態>
 [コンピュータ]
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
 図30において、コンピュータ800のCPU(Central Processing Unit)801は、ROM(Read Only Memory)802に記憶されているプログラム、または記憶部813からRAM(Random Access Memory)803にロードされたプログラムに従って各種の処理を実行する。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU801、ROM802、およびRAM803は、バス804を介して相互に接続されている。このバス804にはまた、入出力インタフェース810も接続されている。
 入出力インタフェース810には、キーボード、マウスなどよりなる入力部811、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部812、ハードディスクなどより構成される記憶部813、モデムなどより構成される通信部814が接続されている。通信部814は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース810にはまた、必要に応じてドライブ815が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア821が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部813にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図30に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア821により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM802や、記憶部813に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <6.第6の実施の形態> 
[第1の応用例:テレビジョン受像機]
 図25は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、処理を高速に行うことができる。
 [第2の応用例:携帯電話機]
 図26は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、処理を高速に行うことができる。
 [第3の応用例:記録再生装置]
 図27は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、処理を高速に行うことができる。
 [第4の応用例:撮像装置]
 図28は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、処理を高速に行うことができる。
 なお、本明細書では、下記に示される各パラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。各パラメータとは、例えば、適応ループフィルタ、適応オフセットフィルタ、および量子化マトリックスの算術符号化パラメータ、可変長(固定長)符号化(復号)を行う符号化パラメータ、またはCABACの初期化に必要な初期化(符号化)パラメータなどである。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 なお、本技術は以下のような構成も取ることができる。
 (1) 算術符号化処理された算術符号化パラメータが、画像データが階層構造を有する単位で符号化された符号化ストリームのシンタクスにおいてまとめて配置された符号化ストリームと、前記算術符号化パラメータとを受け取る受け取り部と、
 前記受け取り部により受け取られた算術符号化パラメータを算術復号処理し、算術復号処理した算術符号化パラメータを用いて、前記受け取り部により受け取られた符号化ストリームを復号処理する復号部と
 を備える画像処理装置。
 (2) 可変長符号化処理または固定長符号化処理された符号化パラメータは、前記符号化ストリームのシンタクスにおいてまとめて配置されており、
 前記受け取り部は、前記符号化ストリームから、前記符号化パラメータを受け取り、
 前記復号部は、前記受け取り部により受け取られた符号化パラメータを復号処理し、復号処理した符号化パラメータを用いて、前記符号化ストリームを復号処理する
 前記(1)に記載の画像処理装置。
 (3) 前記算術符号化パラメータは、前記符号化ストリームのシンタクスにおいて前記符号化パラメータよりも後ろに配置されている
 前記(2)に記載の画像処理装置。
 (4) 算術符号化処理または算術復号処理の初期化を行う際に用いる初期化パラメータは、前記符号化ストリームのシンタクスにおいてまとめて配置されており、
 前記受け取り部は、前記符号化ストリームから、前記初期化パラメータを受け取り、
 前記受け取り部により受け取られた初期化パラメータを参照して、前記算術復号処理を初期化するように制御する制御部を
 さらに備える前記(1)乃至(3)のいずれかに記載の画像処理装置。
 (5) 前記算術符号化パラメータは、前記ピクチャレベルまたはスライスレベルで符号化処理または復号処理をコントロールするパラメータである
 前記(1)乃至(4)のいずれかに記載の画像処理装置。
 (6) 前記算術符号化パラメータは、符号化処理または復号処理を行う際に用いるフィルタのパラメータである
 前記(1)乃至(5)のいずれかに記載の画像処理装置。
 (7) 前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータは、前記符号化ストリームのスライスデータのトップにまとめて配置されており、
 前記受け取り部は、前記符号化ストリームのスライスデータのトップから、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを受け取る
 前記(6)に記載の画像処理装置。
 (8) 前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータは、前記符号化ストリームのスライスヘッダのエンドにまとめて配置されており、
 前記受け取り部は、前記符号化ストリームのスライスデータのエンドから、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを受け取る
 前記(6)に記載の画像処理装置。
 (9) 前記初期化パラメータは、前記符号化ストリームのスライスヘッダのトップ付近に配置されており、
 前記受け取り部は、前記初期化パラメータを前記符号化ストリームのスライスヘッダのトップ付近から受け取る
 前記(4)に記載の画像処理装置。
 (10) 画像処理装置が、
 算術符号化処理された算術符号化パラメータが、画像データが階層構造を有する単位で符号化された符号化ストリームのシンタクスにおいてまとめて配置された符号化ストリームと、前記算術符号化パラメータとを受け取り、
 受け取られた算術符号化パラメータを算術復号処理し、算術復号処理した算術符号化パラメータを用いて、受け取られた符号化ストリームを復号処理する
 画像処理方法。
 (11) 画像データを階層構造を有する単位で符号化処理して符号化ストリームを生成する符号化部と、
 前記符号化部により生成される符号化ストリームのシンタクスにおいて、算術符号化処理する算術符号化パラメータをまとめて配置する配置部と、
 前記符号化部により生成された符号化ストリームと、前記配置部により配置された算術符号化パラメータとを伝送する伝送部と
 を備える画像処理装置。
 (12) 前記配置部は、可変長符号化処理または固定長符号化処理する符号化パラメータをまとめて配置し、
 前記伝送部は、前記配置部により配置された符号化パラメータを伝送する
 前記(11)に記載の画像処理装置。
 (13) 前記配置部は、前記算術符号化パラメータを、前記符号化パラメータよりも後ろに配置する
 前記(12)に記載の画像処理装置。
 (14) 前記配置部は、算術符号化処理または算術復号処理の初期化を行う際に用いる初期化パラメータをまとめて配置し、
 前記伝送部は、前記配置部により配置された初期化パラメータを伝送する
 前記(13)に記載の画像処理装置。
 (15) 前記算術符号化パラメータは、前記ピクチャレベルまたはスライスレベルで符号化処理または復号処理をコントロールするパラメータである
 前記(11)乃至(14)のいずれかに記載の画像処理装置。
 (16) 前記算術符号化パラメータは、符号化処理または復号処理を行う際に用いるフィルタのパラメータである
  前記(11)乃至(15)のいずれかに記載の画像処理装置。
 (17) 前記配置部は、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータを、前記符号化ストリームのスライスデータのトップにまとめて配置し、
 前記伝送部は、前記配置部により配置された前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを伝送する
  前記(16)に記載の画像処理装置。
 (18) 前記配置部は、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータを、前記符号化ストリームのスライスヘッダのエンドにまとめて配置し、
 前記伝送部は、前記配置部により配置された前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを伝送する
  前記(16)に記載の画像処理装置。
 (19)前記配置部は、前記初期化パラメータを前記符号化ストリームのスライスヘッダのトップ付近に配置する
  前記(14)に記載の画像処理装置。
 (20)画像処理装置が、画像データを階層構造を有する単位で符号化処理して符号化ストリームを生成し、生成される符号化ストリームのシンタクスにおいて、算術符号化処理する算術符号化パラメータをまとめて配置し、生成された符号化ストリームと、配置された算術符号化パラメータとを伝送する
  画像処理方法。
  100 画像符号化装置, 105 量子化部, 106 可逆符号化部,114 イントラ予測部, 115 動き予測・補償部, 121 適応オフセット部, 122 適応ループフィルタ,131 VLC符号化部, 132 符号化制御部, 133 設定部, 134 CABAC符号化部, 141 ファームウエア, 142 ハードウエア, 200 画像復号装置, 202 可逆復号部, 203 逆量子化部, 211 イントラ予測部, 212 動き予測・補償部, 221 適応オフセット部, 222 適応ループフィルタ, 231 VLC復号部, 232 復号制御部, 233 取得部, 234 CABAC復号部, 241 ファームウエア, 242 ハードウエア

Claims (20)

  1.  算術符号化処理された算術符号化パラメータが、画像データが階層構造を有する単位で符号化された符号化ストリームのシンタクスにおいてまとめて配置された符号化ストリームと、前記算術符号化パラメータとを受け取る受け取り部と、
     前記受け取り部により受け取られた算術符号化パラメータを算術復号処理し、算術復号処理した算術符号化パラメータを用いて、前記受け取り部により受け取られた符号化ストリームを復号処理する復号部と
     を備える画像処理装置。
  2.  可変長符号化処理または固定長符号化処理された符号化パラメータは、前記符号化ストリームのシンタクスにおいてまとめて配置されており、
     前記受け取り部は、前記符号化ストリームから、前記符号化パラメータを受け取り、
     前記復号部は、前記受け取り部により受け取られた符号化パラメータを復号処理し、復号処理した符号化パラメータを用いて、前記符号化ストリームを復号処理する
     請求項1に記載の画像処理装置。
  3.  前記算術符号化パラメータは、前記符号化ストリームのシンタクスにおいて前記符号化パラメータよりも後ろに配置されている
     請求項2に記載の画像処理装置。
  4.  算術符号化処理または算術復号処理の初期化を行う際に用いる初期化パラメータは、前記符号化ストリームのシンタクスにおいてまとめて配置されており、
     前記受け取り部は、前記符号化ストリームから、前記初期化パラメータを受け取り、
     前記受け取り部により受け取られた初期化パラメータを参照して、前記算術復号処理を初期化するように制御する制御部を
     さらに備える請求項3に記載の画像処理装置。
  5.  前記算術符号化パラメータは、前記ピクチャレベルまたはスライスレベルで符号化処理または復号処理をコントロールするパラメータである
     請求項4に記載の画像処理装置。
  6.  前記算術符号化パラメータは、符号化処理または復号処理を行う際に用いるフィルタのパラメータである
     請求項5に記載の画像処理装置。
  7.  前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータは、前記符号化ストリームのスライスデータのトップにまとめて配置されており、
     前記受け取り部は、前記符号化ストリームのスライスデータのトップから、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを受け取る
     請求項6に記載の画像処理装置。
  8.  前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータは、前記符号化ストリームのスライスヘッダのエンドにまとめて配置されており、
     前記受け取り部は、前記符号化ストリームのスライスデータのエンドから、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを受け取る
     請求項6に記載の画像処理装置。
  9.  前記初期化パラメータは、前記符号化ストリームのスライスヘッダのトップ付近に配置されており、
     前記受け取り部は、前記初期化パラメータを前記符号化ストリームのスライスヘッダのトップ付近から受け取る
     請求項4に記載の画像処理装置。
  10.  画像処理装置が、
     算術符号化処理された算術符号化パラメータが、画像データが階層構造を有する単位で符号化された符号化ストリームのシンタクスにおいてまとめて配置された符号化ストリームと、前記算術符号化パラメータとを受け取り、
     受け取られた算術符号化パラメータを算術復号処理し、算術復号処理した算術符号化パラメータを用いて、受け取られた符号化ストリームを復号処理する
     画像処理方法。
  11.  画像データを階層構造を有する単位で符号化処理して符号化ストリームを生成する符号化部と、
     前記符号化部により生成される符号化ストリームのシンタクスにおいて、算術符号化処理する算術符号化パラメータをまとめて配置する配置部と、
     前記符号化部により生成された符号化ストリームと、前記配置部により配置された算術符号化パラメータとを伝送する伝送部と
     を備える画像処理装置。
  12.  前記配置部は、可変長符号化処理または固定長符号化処理する符号化パラメータをまとめて配置し、
     前記伝送部は、前記配置部により配置された符号化パラメータを伝送する
     請求項11に記載の画像処理装置。
  13.  前記配置部は、前記算術符号化パラメータを、前記符号化パラメータよりも後ろに配置する
     請求項12に記載の画像処理装置。
  14.  前記配置部は、算術符号化処理または算術復号処理の初期化を行う際に用いる初期化パラメータをまとめて配置し、
     前記伝送部は、前記配置部により配置された初期化パラメータを伝送する
     請求項13に記載の画像処理装置。
  15.  前記算術符号化パラメータは、前記ピクチャレベルまたはスライスレベルで符号化処理または復号処理をコントロールするパラメータである
     請求項14に記載の画像処理装置。
  16.  前記算術符号化パラメータは、符号化処理または復号処理を行う際に用いるフィルタのパラメータである
     請求項15に記載の画像処理装置。
  17.  前記配置部は、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータを、前記符号化ストリームのスライスデータのトップにまとめて配置し、
     前記伝送部は、前記配置部により配置された前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを伝送する
     請求項16に記載の画像処理装置。
  18.  前記配置部は、前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータを、前記符号化ストリームのスライスヘッダのエンドにまとめて配置し、
     前記伝送部は、前記配置部により配置された前記適応ループフィルタのパラメータと前記適応オフセットフィルタのパラメータとを伝送する
     請求項16に記載の画像処理装置。
  19.  前記配置部は、前記初期化パラメータを前記符号化ストリームのスライスヘッダのトップ付近に配置する
     請求項14に記載の画像処理装置。
  20.  画像処理装置が、
     画像データを階層構造を有する単位で符号化処理して符号化ストリームを生成し、
     生成される符号化ストリームのシンタクスにおいて、算術符号化処理する算術符号化パラメータをまとめて配置し、
     生成された符号化ストリームと、配置された算術符号化パラメータとを伝送する
     画像処理方法。
PCT/JP2012/066647 2011-07-07 2012-06-29 画像処理装置および方法 WO2013005659A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013522968A JP5999449B2 (ja) 2011-07-07 2012-06-29 画像処理装置および方法、プログラム、並びに記録媒体
US14/126,560 US10412417B2 (en) 2011-07-07 2012-06-29 Image processing device and method capable of performing an encoding process or a decoding process on an image at high speed
CN201280032052.6A CN103650513B (zh) 2011-07-07 2012-06-29 图像处理装置和方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011-151186 2011-07-07
JP2011151186 2011-07-07
JP2011-180415 2011-08-22
JP2011180415 2011-08-22

Publications (1)

Publication Number Publication Date
WO2013005659A1 true WO2013005659A1 (ja) 2013-01-10

Family

ID=47437012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/066647 WO2013005659A1 (ja) 2011-07-07 2012-06-29 画像処理装置および方法

Country Status (4)

Country Link
US (1) US10412417B2 (ja)
JP (1) JP5999449B2 (ja)
CN (1) CN103650513B (ja)
WO (1) WO2013005659A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201808A1 (ja) * 2021-03-23 2022-09-29 日本電気株式会社 映像符号化装置、映像符号化方法、映像符号化プログラム、及び非一時的記録媒体

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
CN109309846A (zh) * 2017-07-26 2019-02-05 深圳市中兴微电子技术有限公司 一种基于可信任环境的视频安全播放系统及方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3219403B2 (ja) * 1989-05-10 2001-10-15 キヤノン株式会社 画像記憶装置
US7068825B2 (en) * 1999-03-08 2006-06-27 Orametrix, Inc. Scanning system and calibration method for capturing precise three-dimensional information of objects
JP4241417B2 (ja) 2004-02-04 2009-03-18 日本ビクター株式会社 算術復号化装置、および算術復号化プログラム
KR20070006445A (ko) * 2005-07-08 2007-01-11 삼성전자주식회사 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
US7720096B2 (en) * 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
US8300265B2 (en) * 2006-01-26 2012-10-30 Brother Kogyo Kabushiki Kaisha Data processing apparatus capable of calibrating print data to reduce ink consumption
TWI322551B (en) * 2006-07-28 2010-03-21 Delta Electronics Inc Fan for vehicle and its used motor
US7443318B2 (en) * 2007-03-30 2008-10-28 Hong Kong Applied Science And Technology Research Institute Co. Ltd. High speed context memory implementation for H.264
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
JP4850806B2 (ja) * 2007-10-01 2012-01-11 キヤノン株式会社 エントロピー符号化装置、エントロピー符号化方法およびコンピュータプログラム
JP2009152990A (ja) * 2007-12-21 2009-07-09 Panasonic Corp 画像符号化装置及び画像復号化装置
TW200943270A (en) * 2008-04-03 2009-10-16 Faraday Tech Corp Method and related circuit for color depth enhancement of displays
ITVI20100175A1 (it) * 2010-06-21 2011-12-22 St Microelectronics Pvt Ltd Sistema per la codifica entropica di video h.264 per applicazioni hdtv in tempo reale
EP2533537A1 (en) * 2011-06-10 2012-12-12 Panasonic Corporation Transmission of picture size for image or video coding
US9866859B2 (en) * 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
US10230989B2 (en) * 2011-06-21 2019-03-12 Texas Instruments Incorporated Method and apparatus for video encoding and/or decoding to prevent start code confusion
US20130003823A1 (en) * 2011-07-01 2013-01-03 Kiran Misra System for initializing an arithmetic coder
US9398307B2 (en) * 2011-07-11 2016-07-19 Sharp Kabushiki Kaisha Video decoder for tiles

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NARROSCHKE, M. ET AL.: "Restart of CABAC after coding of ALF and SAO slice header data", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/ IEC JTC1/SC29/WG11 6TH MEETING JCTVC-F399, 1 July 2011 (2011-07-01) *
SUZUKI, T.: "Arithmetic coding in high level syntax", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JVTVC-F377, 7 July 2011 (2011-07-07) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201808A1 (ja) * 2021-03-23 2022-09-29 日本電気株式会社 映像符号化装置、映像符号化方法、映像符号化プログラム、及び非一時的記録媒体

Also Published As

Publication number Publication date
JPWO2013005659A1 (ja) 2015-02-23
JP5999449B2 (ja) 2016-09-28
CN103650513B (zh) 2017-10-13
US20140226712A1 (en) 2014-08-14
CN103650513A (zh) 2014-03-19
US10412417B2 (en) 2019-09-10

Similar Documents

Publication Publication Date Title
JP6521013B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5942990B2 (ja) 画像処理装置および方法
JP5907367B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
AU2013281945B2 (en) Image processing device and method
WO2014002821A1 (ja) 画像処理装置および方法
WO2014050676A1 (ja) 画像処理装置および方法
WO2013137047A1 (ja) 画像処理装置および方法
WO2014050731A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
WO2013047326A1 (ja) 画像処理装置および方法
WO2014156708A1 (ja) 画像復号装置および方法
WO2013154026A1 (ja) 画像処理装置および方法
JP5999449B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2013051453A1 (ja) 画像処理装置および方法
JP6508553B2 (ja) 画像処理装置および方法
JP6341304B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP6094838B2 (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: 12806935

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013522968

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14126560

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12806935

Country of ref document: EP

Kind code of ref document: A1