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

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

Info

Publication number
WO2011021530A1
WO2011021530A1 PCT/JP2010/063514 JP2010063514W WO2011021530A1 WO 2011021530 A1 WO2011021530 A1 WO 2011021530A1 JP 2010063514 W JP2010063514 W JP 2010063514W WO 2011021530 A1 WO2011021530 A1 WO 2011021530A1
Authority
WO
WIPO (PCT)
Prior art keywords
control information
unit
image
filter
slice
Prior art date
Application number
PCT/JP2010/063514
Other languages
English (en)
French (fr)
Inventor
健治 近藤
田中 潤一
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to AU2010285760A priority Critical patent/AU2010285760B9/en
Priority to RU2012104811/08A priority patent/RU2012104811A/ru
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to IN1240DEN2012 priority patent/IN2012DN01240A/en
Priority to CA2769732A priority patent/CA2769732C/en
Priority to EP18183069.6A priority patent/EP3404917A1/en
Priority to US13/389,474 priority patent/US9967593B2/en
Priority to KR1020127003475A priority patent/KR101681167B1/ko
Priority to MX2012001822A priority patent/MX2012001822A/es
Priority to EP10809875.7A priority patent/EP2469856A4/en
Priority to KR1020187019842A priority patent/KR20180083952A/ko
Priority to CN201811127035.6A priority patent/CN109951708B/zh
Priority to KR1020177026908A priority patent/KR101880010B1/ko
Priority to BR112012003285-2A priority patent/BR112012003285B1/pt
Priority to KR1020167032778A priority patent/KR101783575B1/ko
Priority to CN201080045758.7A priority patent/CN102714716B/zh
Publication of WO2011021530A1 publication Critical patent/WO2011021530A1/ja
Priority to ZA2011/08188A priority patent/ZA201108188B/en
Priority to AU2016203618A priority patent/AU2016203618B2/en
Priority to US15/890,630 priority patent/US10587899B2/en
Priority to US16/777,305 priority patent/US10911786B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Definitions

  • the present invention relates to an image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of suppressing a reduction in encoding efficiency due to local control of filter processing during encoding or decoding.
  • MPEG compressed by orthogonal transform such as discrete cosine transform and motion compensation is used for the purpose of efficient transmission and storage of information.
  • a device that conforms to a system such as Moving (Pictures Experts Group) is becoming widespread in both information distribution at broadcast stations and information reception in general households.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system has been standardized accordingly.
  • image coding system the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.26L ITU-T (ITU-Telecommunication Standardization Sector) Q6 / 16 VCEG (Video Coding Experts Group)
  • H.26L is known to achieve higher encoding efficiency than a conventional encoding method such as MPEG2 or MPEG4, although a large amount of calculation is required for encoding and decoding.
  • MPEG4 activities standardization that implements higher coding efficiency based on this H.26L and incorporating functions not supported by H.26L has been performed as Joint ⁇ ⁇ ⁇ Model of Enhanced-Compression Video Coding. It has been broken.
  • the standardization schedule became an international standard in March 2003 under the names of H.264 and MPEG4 Part 10 (AVC (Advanced Video Coding)).
  • ALF Adaptive Loop Filter
  • Non-Patent Document 1 since the same filter coefficient is applied to all the pixels in one frame, the image quality is improved in the entire frame, but there is a possibility that it is locally deteriorated.
  • the image encoding device associates a plurality of control blocks arranged without gaps so as to be spread over an image area, and controls whether or not to perform filter processing on the image for each control block.
  • the image encoding apparatus sets flag information for each block, and performs adaptive filter processing according to the flag information.
  • the image decoding apparatus performs adaptive filter processing based on the flag information.
  • control information (ALF control information) needs to be included in the encoded data.
  • this ALF control information often changes for each picture, it is included in the picture parameter set (PPS (Picture Parameter Set)) or sequence parameter set (SPS (Sequence Parameter Set)) in the conventional idea.
  • PPS Picture Parameter Set
  • SPS Sequence Parameter Set
  • NAL Network Abstraction Layer
  • Non-Patent Document 4 There has also been proposed a method of placing pointer information indicating the location of ALF control information without placing ALF control information in the slice header (see Non-Patent Document 5, for example).
  • multi-slice there is a method (multi-slice) in which one frame is divided into a plurality of slices and an image encoding process or a decoding process is performed for each slice. Dividing a frame into a plurality of slice areas is an effective method for increasing error tolerance during transfer of image compression information.
  • Non-Patent Document 2 to Non-Patent Document 5 only describe that blocks are set for one entire frame, and flag information of all blocks is generated and transmitted. In this case, the processing of flag information was not described, and it was unclear how to generate and use flag information.
  • the image encoding device generates flag information of all blocks in the frame for each slice, and the encoding efficiency is improved by unnecessary flag information or the like. There was a risk of worsening.
  • Non-Patent Document 4 proposes to include ALF control information in a slice header, but in the case of multi-slice, the ALF control information generated for each slice is encoded data. If included in each of the slice headers, there may be a portion where the contents overlap between the plurality of ALF control information. That is, there is a fear that the encoding efficiency is unnecessarily reduced.
  • the present invention has been proposed in view of such a situation, and an object thereof is to suppress a reduction in encoding efficiency by local control of filter processing at the time of encoding or decoding.
  • One aspect of the present invention provides control information generation means for generating filter control information for controlling filter processing performed locally on an image for each area of a control block, and the filter generated by the control information generation means Filter means for performing the filtering process on the image according to control information, and a plurality of the data of the frame to which the header information belongs in header information for each predetermined data unit of encoded data obtained by encoding the image
  • An image processing apparatus comprising control information adding means for adding the filter control information corresponding to a unit.
  • the control information adding means can add the filter control information to the header information of the data unit transmitted at the beginning of the frame.
  • the control information adding means can add the filter control information to the header information of the data unit located at the head of the frame.
  • the control information adding means can add the filter control information corresponding to the entire frame to the header information.
  • the control information adding means can add the filter control information corresponding to a plurality of different data units to each of the plurality of header information in the frame.
  • the control information adding means can add a pointer indicating the position of the filter control information added to the encoded data to the header information.
  • the data unit may be a plurality of slices formed in the frame.
  • the control information may include a filter coefficient of the filter processing, a block size indicating the size of the control block region, and a flag indicating whether the filter processing is performed for each control block region.
  • the image processing apparatus further comprises encoding means for encoding an image generated using the image subjected to the filtering process by the filter means, and the control information adding means is generated by being encoded by the encoding means
  • the filter control information can be added to the header information of the encoded data.
  • the control information generating unit of the image processing device generates filter control information for controlling the filter processing locally performed on the image for each area of the control block, and the image processing device
  • the filtering means performs the filtering process on the image according to the generated filter control information
  • the control information adding means of the image processing device performs predetermined data of encoded data obtained by encoding the image.
  • the filter control information corresponding to a plurality of data units of a frame to which the header information belongs is added to header information for each unit.
  • Another aspect of the present invention is locally performed on the image corresponding to a plurality of the data units added to header information for each predetermined data unit of encoded data obtained by encoding the image.
  • Filter information for controlling filter processing for each area of the control block is extracted to the image obtained by decoding the encoded data according to the control information extracting means for extracting and the filter control information extracted by the control information extracting means.
  • An image processing apparatus including a filtering unit that performs the filtering process.
  • Decoding means for decoding the encoded data is further provided, and the filter means can perform the filtering process on the image obtained by decoding the encoded data by the composite means.
  • control information extracting unit of the image processing apparatus supports a plurality of data units added to header information for each predetermined data unit of encoded data obtained by encoding an image.
  • Filter control information for controlling the filter processing locally performed on the image for each region of the control block, and the filter means of the image processing device according to the extracted filter control information It is an image processing method for performing the filtering process on the image obtained by decoding encoded data.
  • filter control information for controlling filter processing performed locally on an image is generated for each region of the control block, and the filter processing is performed on the image according to the generated filter control information.
  • the filter control information corresponding to a plurality of data units of the frame to which the header information belongs is added to the header information for each predetermined data unit of the encoded data obtained by encoding the image.
  • a filter locally applied to an image corresponding to a plurality of data units added to header information for each predetermined data unit of encoded data obtained by encoding an image.
  • Filter control information for controlling the processing for each area of the control block is extracted, and filter processing is performed on an image obtained by decoding the encoded data according to the extracted filter control information.
  • an image can be encoded or decoded.
  • it is possible to further suppress a reduction in encoding efficiency due to local control of filter processing during encoding or decoding. For example, even when each frame of an image is encoded or decoded by dividing it into a plurality, it is possible to further suppress a reduction in encoding efficiency.
  • FIG. 1 shows a configuration of an embodiment of an image encoding apparatus as an image processing apparatus to which the present invention is applied.
  • the image encoding device 100 shown in FIG. It is an encoding apparatus that compresses and encodes an image using H.264 and MPEG4 Part 10 (Advanced Video Coding) (hereinafter referred to as H.264 / AVC) system, and further employs an adaptive loop filter.
  • H.264 / AVC Advanced Video Coding
  • the image encoding device 100 includes an A / D (Analog / Digital) conversion unit 101, a screen rearrangement buffer 102, a calculation unit 103, an orthogonal transformation unit 104, a quantization unit 105, and a lossless encoding unit 106. And a storage buffer 107.
  • the image coding apparatus 100 includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, a calculation unit 110, and a deblock filter 111.
  • the image coding apparatus 100 includes a control information generation unit 112, an adaptive filter processing unit 113, and a frame memory 114.
  • the image encoding device 100 includes an intra prediction unit 115, a motion compensation unit 116, a motion prediction unit 117, and a predicted image selection unit 118.
  • the image encoding device 100 includes a rate control unit 119.
  • the A / D conversion unit 101 performs A / D conversion on the input image data, outputs it to the screen rearrangement buffer 102, and stores it.
  • the screen rearrangement buffer 102 rearranges the stored frame images in the display order in the order of frames for encoding according to the GOP (Group of Picture) structure.
  • the calculation unit 103 subtracts the prediction image from the intra prediction unit 115 selected by the prediction image selection unit 118 or the prediction image from the motion compensation unit 116 from the image read from the screen rearrangement buffer 102, and the difference between them.
  • Information is output to the orthogonal transform unit 104.
  • the orthogonal transform unit 104 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the difference information from the operation unit 103, and outputs the transform coefficient.
  • the quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104.
  • the quantized transform coefficient that is the output of the quantization unit 105 is input to the lossless encoding unit 106.
  • the lossless encoding unit 106 performs lossless encoding such as variable length encoding and arithmetic encoding on the quantized transform coefficient.
  • the lossless encoding unit 106 acquires information indicating intra prediction from the intra prediction unit 115 and acquires information indicating inter prediction mode from the motion prediction unit 117.
  • information indicating intra prediction is hereinafter also referred to as intra prediction mode information.
  • information indicating an information mode indicating inter prediction is hereinafter also referred to as inter prediction mode information.
  • the lossless encoding unit 106 further acquires control information of adaptive filter processing performed in the adaptive filter processing unit 113 from the control information generation unit 112.
  • the lossless encoding unit 106 encodes the quantized transform coefficient, and also transmits control information for adaptive filter processing, information indicating intra prediction, information indicating inter prediction mode, and quantization parameters, etc. A part of the header information (multiplexed).
  • the lossless encoding unit 106 supplies the encoded data obtained by encoding to the accumulation buffer 107 for accumulation.
  • the lossless encoding unit 106 performs lossless encoding processing such as variable length encoding or arithmetic encoding.
  • variable length coding examples include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding examples include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106, and at a predetermined timing, the H.264 buffer stores the encoded data. As an encoded image encoded by the H.264 / AVC format, for example, it is output to a recording device or a transmission path (not shown) in the subsequent stage.
  • the transform coefficient quantized by the quantization unit 105 is also input 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, and 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 the orthogonal transform processing by the orthogonal transform unit 104.
  • the output subjected to inverse orthogonal transform is supplied to the calculation unit 110.
  • the calculation unit 110 adds the predicted image supplied from the predicted image selection unit 118 to the inverse orthogonal transform result supplied from the inverse orthogonal transform unit 109, that is, the restored difference information, and locally decoded image (Decoded image) is obtained.
  • the addition result is supplied to the deblocking filter 111.
  • the deblocking filter 111 removes block distortion of the decoded image.
  • the deblocking filter 111 supplies the distortion removal result to the control information generation unit 112 and the adaptive filter processing unit 113.
  • the control information generation unit 112 acquires the decoded image supplied from the deblocking filter 111 and the current input image read from the screen rearrangement buffer 102, and uses the adaptive filter performed in the adaptive filter processing unit 113 from them. Control information is generated. Although details will be described later, the control information includes a filter coefficient, a block size, a filter block flag, and the like.
  • the control information generation unit 112 supplies the generated control information to the adaptive filter processing unit 113.
  • the control information generation unit 112 also supplies the generated control information to the lossless encoding unit 106.
  • the control information is included (multiplexed) in the encoded data by the lossless encoding unit 106. That is, the control information is sent to the image decoding device together with the encoded data.
  • the adaptive filter processing unit 113 performs a filter process on the decoded image supplied from the deblocking filter 111 using the filter coefficient, block size designation, filter block flag, and the like of the control information supplied from the control information generating unit 112. .
  • this filter for example, a Wiener filter is used. Of course, filters other than the Wiener filter may be used.
  • the adaptive filter processing unit 113 supplies the filter processing result to the frame memory 114 and accumulates it as a reference image.
  • the frame memory 114 outputs the stored reference image to the motion compensation unit 116 and the motion prediction unit 117 at a predetermined timing.
  • an I picture, a B picture, and a P picture from the screen rearrangement buffer 102 are supplied to the intra prediction unit 115 as images to be intra predicted (also referred to as intra processing).
  • the B picture and the P picture read from the screen rearrangement buffer 102 are supplied to the motion prediction unit 117 as images to be inter predicted (also referred to as inter processing).
  • the intra prediction unit 115 performs intra prediction processing for all candidate intra prediction modes based on the intra-predicted image read from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 114, and performs prediction. Generate an image.
  • an intra 4 ⁇ 4 prediction mode, an intra 8 ⁇ 8 prediction mode, and an intra 16 ⁇ 16 prediction mode are defined for the luminance signal, and regarding the color difference signal.
  • an intra 4 ⁇ 4 prediction mode one intra prediction mode is defined for each 4 ⁇ 4 luminance block.
  • an intra 8 ⁇ 8 prediction mode one intra prediction mode is defined for each 8 ⁇ 8 luminance block.
  • one prediction mode is defined for each macroblock.
  • the intra prediction unit 115 calculates a cost function value for the intra prediction mode in which the predicted image is generated, and selects an intra prediction mode in which the calculated cost function value gives the minimum value as the optimal intra prediction mode.
  • the intra prediction unit 115 supplies the predicted image generated in the optimal intra prediction mode to the predicted image selection unit 118.
  • the motion prediction unit 117 uses the image information (input image) supplied from the screen rearrangement buffer 102 and the image information (decoded image) serving as a reference frame supplied from the frame memory 114 for the image to be inter-coded. Obtain the motion vector.
  • the motion prediction unit 117 supplies motion vector information indicating the calculated motion vector to the lossless encoding unit 106. This motion vector information is included (multiplexed) in the encoded data by the lossless encoding unit 106. That is, the motion vector information is sent to the image decoding device together with the encoded data.
  • the motion prediction unit 117 also supplies motion vector information to the motion compensation unit 116.
  • the motion compensation unit 116 performs motion compensation processing according to the motion vector information supplied from the motion prediction unit 117, and generates inter prediction image information.
  • the motion compensation unit 116 supplies the generated predicted image information to the predicted image selection unit 118.
  • the predicted image selection unit 118 supplies the output of the intra prediction unit 115 to the calculation unit 103 in the case of an image to be subjected to intra coding, and outputs the output of the motion compensation unit 116 to the calculation unit 103 in the case of an image to be subjected to inter coding. Supply.
  • the rate control unit 119 controls the quantization operation rate 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 unit of motion prediction / compensation processing is a motion compensation block, and each motion compensation block can have independent motion vector information.
  • the size of the motion compensation block is 16 ⁇ 16 pixels in the frame motion compensation mode, and 16 ⁇ 8 pixels in each of the first field and the second field in the field motion compensation mode.
  • AVC Advanced Video Coding
  • one macro block composed of 16 ⁇ 16 pixels is converted into 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16, or 8 ⁇ 8. It is possible to divide each of the partitions into independent motion vector information. Further, as shown in the lower side of FIG. 2, the 8 ⁇ 8 partition is divided into 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, and 4 ⁇ 4 subpartitions, and independent motion vector information is obtained. It is possible to have. Motion prediction / compensation processing is performed in units of this motion compensation block.
  • FIG. 3 is a block diagram illustrating a main configuration example of the control information generation unit 112.
  • control information generation unit 112 generates control information used in an adaptive filter (ALF (Adaptive Loop Filter)) that is a loop filter performed in the adaptive filter processing unit 113.
  • ALF Adaptive Loop Filter
  • the control information generation unit 112 generates a filter coefficient, an ALF block size, and a filter block flag as the control information.
  • the control information generation unit 112 includes a filter coefficient calculation unit 131 and a block information generation unit 132.
  • the filter coefficient calculation unit 131 acquires the decoded image supplied from the deblocking filter 111 and the current input image read from the screen rearrangement buffer 102, and calculates the ALF filter coefficient for each frame from them. .
  • the block information generation unit 132 generates block information such as an ALF block size and a filter block flag. For example, the block information generation unit 132 determines the ALF block size based on the decoded image supplied from the deblocking filter 111 and the filter coefficient calculated by the filter coefficient calculation unit 131. For example, the block information generation unit 132 generates a filter block flag for each ALF block in the processing target slice based on the information.
  • FIG. 4 is a diagram for explaining the ALF block and the filter block flag.
  • the adaptive filter has a filter coefficient set for each frame. That is, optimal filter processing is performed on a frame basis.
  • the frame image is not uniform as a whole and has various features locally. Therefore, the optimum filter coefficient is locally different. Therefore, as described above, in the filter processing using the filter coefficient determined for each frame, the image quality is improved in the entire frame, but there is a possibility that it may be deteriorated locally.
  • BALF Block based Adaptive Loop Filter
  • the block information generation unit 132 converts a plurality of ALF blocks 152, each of which is a control unit of adaptive filter processing performed locally, into a region of the frame 151. Arrange them without gaps so that they are spread throughout.
  • the area where the ALF block 152 is arranged may not be the same as the area of the frame 151, but includes at least the entire area of the frame. As a result, the area of the frame 151 is divided by the area (a plurality of control areas) of each ALF block 152.
  • the block information generation unit 132 determines the horizontal size (double arrow 153) and vertical size (double arrow 154) of the ALF block 152.
  • ALF block size for example, one of 8 ⁇ 8, 16 ⁇ 16, 24 ⁇ 24, 32 ⁇ 32, 48 ⁇ 48, 64 ⁇ 64, 96 ⁇ 96, or 128 ⁇ 128 is designated for each slice. can do.
  • Information specifying the size of the ALF block is referred to as a block size index.
  • the frame size is fixed, so the number of ALF blocks per frame is also determined.
  • the block information generation unit 132 sets, for each ALF block 152, a filter block flag 155 that controls whether or not to perform filter processing, as shown in C of FIG. For example, a filter block flag 155 having a value “1” is generated for a region where the image quality is improved by the adaptive filter, and a filter block flag 155 having a value “0” is generated for a region where the image quality is deteriorated by the adaptive filter. Generated. In the filter block flag 155, the value “1” is a value indicating that the filtering process is performed, and the value “0” is a value indicating that the filtering process is not performed.
  • the adaptive filter processing unit 113 controls adaptive filter processing based on the value of the filter block flag 155. For example, the adaptive filter processing unit 113 performs the filtering process only on the area of the ALF block 152 in which the value of the filter block flag 155 is “1”, and the area of the ALF block 152 in which the value of the filter block flag 155 is “0”. Do not filter.
  • the block size index and the filter block flag described above are included in the slice header of the encoded data, and are sent from the image encoding device 100 to the image decoding device.
  • One or more filter block flags corresponding to the number of ALF blocks are included in the slice header in the raster scan order, for example.
  • the smaller the ALF block size the finer filter control becomes possible and the more appropriate ALF filter becomes possible.
  • the bit amount of the filter block flag increases. That is, the encoding efficiency of encoded data decreases as the size of the ALF block decreases. As described above, the performance of the adaptive filter and the encoding efficiency of the encoded data are in a trade-off relationship.
  • the number of ALF blocks is calculated as the following formula (1).
  • N ALFBLOCK indicates the number of ALF blocks.
  • N MBw represents the number of macroblocks in the horizontal direction of the picture, and N MBh represents the number of macrobooks in the vertical direction of the picture.
  • N SIZE indicates the size of one side of the ALF block.
  • Floor [x] is a function that rounds off the decimal point of x to an integer.
  • FIG. 5 is a diagram illustrating an example of multi-slice.
  • the frame 151 is divided into three slices, slice 0, slice 1, and slice 2.
  • Dividing a frame into a plurality of slice areas is an effective method for increasing error tolerance during transfer of image compression information.
  • Non-patent document 2 describing BALF does not disclose this multi-slice. That is, only the setting of the ALF block for the entire frame is described. As described above, the ALF block is set for the entire frame. That is, an ALF block for the entire frame is set for each slice, and there is a possibility that an unnecessary ALF block outside the slice area is set.
  • the ALF block 152 for the entire frame 151 is set.
  • the ALF block 152 indicated by hatching in FIG. 6B and FIG. 7B is a block outside the area of slice 0 or slice 1 and is an unnecessary block for processing of the area of slice 0 or slice 1. .
  • the block information generation unit 132 of the control information generation unit 112 in FIG. 3 generates only the ALF block and the filter block flag including the region of the slice to be processed.
  • the block information generation unit 132 is indicated by a frame 162 as shown in FIG. 8B. Only the ALF block 152 including the area is set for the slice 1 area, and the filter block flag is generated only for the ALF block 152.
  • the block information generation unit 132 includes a processing target slice region specifying unit 141, an ALF block setting unit 142, a processing target ALF block region specifying unit 143, a determining unit 144, and a filter block flag generating unit 145.
  • the processing target slice area specifying unit 141 specifies the position in the entire frame of the area of the processing target slice supplied as a decoded image.
  • the ALF block setting unit 142 determines the ALF block size and sets the ALF block 152 of the entire frame. This also specifies the number of ALF blocks in the entire frame.
  • the processing target ALF block area specifying unit 143 selects one ALF block to be processed one by one from the ALF blocks 152 set by the ALF block setting unit 142, and specifies the position of the area of the selected processing target ALF block. .
  • the determination unit 144 determines whether the area of the processing target ALF block includes the area of the processing target slice.
  • the filter block flag generation unit 145 generates a filter block flag of the ALF block determined by the determination unit 144 as “including the region of the processing target slice”.
  • the filter block flag generation unit 145 performs adaptive filter processing on the region of the processing target ALF block using the filter coefficient calculated by the filter coefficient calculation unit 131, and the image quality of the filter processing result is improved from before the processing.
  • the value of the filter block flag is determined depending on whether or not it exists.
  • the filter block flag generation unit 145 outputs control information such as a filter block flag and an ALF block size.
  • FIG. 9 is a block diagram illustrating a main configuration example of the adaptive filter processing unit 113 in FIG.
  • the adaptive filter processing unit 113 performs a filtering process on the decoded image supplied from the deblocking filter 111 using the control information supplied from the control information generating unit 112.
  • the adaptive filter processing unit 113 includes a control unit 171, an adaptive filter 172, and a selection unit 173 as shown in FIG.
  • the control unit 171 controls the adaptive filter 172 and the selection unit 173. For example, the control unit 171 acquires control information from the control information generation unit 112. In addition, the control unit 171 supplies the filter coefficient included in the acquired control information to the adaptive filter 172 and sets it. Further, the control unit 171 specifies the position of the region of the ALF block to be processed based on the ALF block size included in the control information. Further, the control unit 171 controls the adaptive filter 172 based on the value of the filter block flag included in the control information, performs filter processing on the area of each ALF block as necessary, and controls the operation of the selection unit 173. To do.
  • the adaptive filter 172 filters the region specified as the processing target ALF block by the control unit 171 of the decoded image supplied from the deblocking filter 111 using the filter coefficient set by the control unit 171.
  • the adaptive filter 172 supplies the filter processing result to the selection unit 173.
  • the selection unit 173 is controlled by the control unit 171, and the decoded image (decoded image not subjected to adaptive filter processing) supplied from the deblocking filter 111 and the decoded image (decoded image subjected to adaptive filter processing) supplied from the adaptive filter 172. Image) is supplied to the frame memory 114 and stored as a reference image.
  • the adaptive filter processing unit 113 indicates that the decoded image supplied from the deblocking filter 111 is subjected to the filter processing by the filter block flag (region determined to improve the image quality by the filter processing). Only filter.
  • FIG. 10 is a block diagram illustrating a main configuration example of the lossless encoding unit 106 of FIG.
  • the lossless encoding unit 106 performs lossless encoding on the quantized coefficient data supplied from the quantization unit 105 to generate encoded data, and the control information supplied from the control information generation unit 112. Are embedded (described) in the slice header of the encoded data.
  • the lossless encoding unit 106 collects control information for each slice in the picture (frame) and embeds the control information for one picture (one frame) in one slice header.
  • the lossless encoding part 106 can delete the part (redundant part) which overlaps between the control information of each slice, and can embed it in a slice header.
  • the lossless encoding part 106 can improve the encoding efficiency of encoded data rather than the case where the control information of each slice is each embedded in encoded data.
  • the lossless encoding unit 106 includes an encoding unit 181, an encoded data holding unit 182, a control information holding unit 183, and a control information adding unit 184.
  • the encoding unit 181 performs lossless encoding on the image data (quantized coefficient data) of each slice, and generates encoded data.
  • the encoded data of each slice is held in the encoded data holding unit 182.
  • the encoded data holding unit 182 can hold encoded data for at least one picture.
  • the control information holding unit 183 acquires and holds the control information for each slice generated by the control information generating unit 112.
  • the control information holding unit 183 can hold control information for at least one picture.
  • the control information adding unit 184 embeds the control information held in the control information holding unit 183 in the header information of the slice output first in the picture of the encoded data held in the encoded data holding unit 182. To the accumulation buffer 107.
  • control information adding unit 184 collects the control information of the processing target pictures held in the control information holding unit 183, deletes the redundant part, generates control information for one picture, and encodes it Embed in the slice header of the data.
  • the frame 151 is composed of slice 0, slice 1, and slice 2, and the control information generator 112 generates control information 191-1 for slice 0. Assume that control information 191-2 is generated and control information 191-3 is generated for slice 2.
  • the encoded data 194 is output in the order of slice 1, slice 0, and slice 2. That is, the encoded data 194 is in the order of slice 1 header 192-1, slice 1 data 193-1, slice 0 header 192-2, slice 0 data 193-2, slice 2 header 192-3, slice 2 data 193-3. Suppose that it is output.
  • the control information adding unit 184 embeds all the control information 191-1 through control information 191-3 of the frame 151 in the slice 1 header 192-1 that is the header (slice header) of slice 1 that is output first. .
  • the control information adding unit 184 collects the control information 191-1 through the control information 191-3, deletes the redundant portion, and controls information 191 (for one picture) corresponding to the entire frame 151 (not shown). And embeds the control information 191 in the slice 1 header 192-1.
  • the control information adding unit 184 embeds control information in the slice header according to the syntax shown in FIG. 12A and FIG. 12B, for example.
  • a of FIG. 12 shows an example of the syntax of the slice header
  • B of FIG. 12 shows an example of the syntax for the control information part.
  • the control information adding unit 184 embeds the filter block flags of all the control blocks in the frame 151 in one slice header.
  • step S101 the A / D converter 101 performs A / D conversion on the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and rearranges the picture from the display order to the encoding order.
  • step S103 the calculation unit 103 calculates the difference between the image rearranged by the process in step S102 and the predicted image.
  • the predicted image is supplied from the motion compensation unit 116 in the case of inter prediction, and from the intra prediction unit 115 in the case of intra prediction, to the calculation unit 103 via the predicted image selection unit 118, respectively.
  • ⁇ Difference data has a smaller data volume than the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S104 the orthogonal transform unit 104 orthogonally transforms the difference information generated by the process in step S103. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S105 the quantization unit 105 quantizes the transform coefficient. At the time of this quantization, the rate is controlled as described in the process of step S119 described later.
  • step S106 the inverse quantization unit 108 inversely quantizes the transform coefficient quantized by the quantization unit 105 with characteristics corresponding to the characteristics of the quantization unit 105.
  • step S ⁇ b> 107 the inverse orthogonal transform unit 109 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 108 with characteristics corresponding to the characteristics of the orthogonal transform unit 104.
  • step S108 the calculation unit 110 adds the predicted image input via the predicted image selection unit 118 to the locally decoded difference information, and outputs the locally decoded image (for input to the calculation unit 103). Corresponding image).
  • step S ⁇ b> 109 the deblocking filter 111 filters the image output from the calculation unit 110. Thereby, block distortion is removed.
  • step S110 the control information generation unit 112 generates control information used for adaptive filter processing. Details of the control information generation process will be described later.
  • the adaptive filter processing unit 113 uses the control information in step S111 to perform the process in step S109.
  • An adaptive filter process is performed on the decoded image subjected to the deblocking filter process. Details of the adaptive filter processing will be described later.
  • step S112 the frame memory 114 stores the image subjected to the adaptive filter processing in step S111.
  • step S113 the intra prediction unit 115 performs an intra prediction process in the intra prediction mode.
  • step S114 the motion prediction unit 117 and the motion compensation unit 116 perform inter motion prediction / compensation processing in the inter prediction mode.
  • step S115 the predicted image selection unit 118 selects either the predicted image generated by the intra prediction process or the predicted image generated by the inter motion prediction / compensation process, according to the prediction mode of the processing target frame. Select one.
  • the predicted image selection unit 118 supplies the selected predicted image to the calculation unit 103 and the calculation unit 110. As described above, this predicted image is used for the calculations in step S103 and step S108.
  • step S116 the lossless encoding unit 106 performs a lossless encoding process for encoding the quantized transform coefficient output from the quantization unit 105. That is, the difference image is subjected to lossless encoding such as variable length encoding and arithmetic encoding, and is compressed.
  • the lossless encoding unit 106 includes metadata such as the control information generated in step S110, the intra prediction mode information in the intra prediction process in step S113, and the inter prediction mode in the inter motion prediction / compensation process in step S114. Is embedded (described) in the slice header. This metadata is read and used at the time of image decoding. Details of the lossless encoding process will be described later.
  • step S117 the accumulation buffer 107 accumulates the encoded data.
  • the encoded data stored in the storage buffer 107 is appropriately read out and transmitted to the decoding side via the transmission path.
  • step S118 the rate control unit 119 controls the rate of the quantization operation of the quantization unit 105 based on the encoded data stored in the storage buffer 107 so that overflow or underflow does not occur.
  • the filter coefficient calculation unit 131 of the control information generation unit 112 receives the input image supplied from the screen rearrangement buffer 102 and the deblock supplied from the deblock filter 111 in step S131.
  • a filter coefficient is calculated using the decoded image after filtering. For example, the filter coefficient calculation unit 131 determines the filter coefficient value so that the residual between the input image and the decoded image is minimized.
  • the block information generation unit 132 When the filter coefficient is calculated, the block information generation unit 132 generates block information including an ALF block size and a filter block flag in step S132. Details of the block information generation processing will be described later.
  • the process returns to step S110 in FIG. 13, and the processes after step S111 are executed.
  • the filter coefficient calculation performed in step S131 may be performed in units of frames.
  • the process in step S131 is performed for a predetermined slice in the frame (for example, a slice whose identification number has a predetermined value (for example, “0”) or a slice that is processed first in the frame). It may be performed only in step 1, and the value may be used in other slices.
  • An arbitrary image can be used for calculating the filter coefficient. For example, it may be calculated based on a past frame image.
  • the processing target slice area specifying unit 141 specifies the area of the processing target slice in step S151.
  • the processing target slice area specifying unit 141 obtains the first macroblock address of the slice from the slice header.
  • the head macroblock address is a number assigned to the macroblock in the raster scan order from the upper left of the screen.
  • the macro block address at the upper left of the image (frame 151) is 0. Since slice 0 starts from the upper left of frame 151, the macroblock address of head macroblock 156-1 of slice 0 is 0. According to this order, the macro block address of the last macro block 156-2 of slice 0 is set to E0.
  • the macroblock address of the first macroblock 157-1 of the slice 1 is set to S1
  • the macroblock address of the final macroblock 157-2 is set to E1.
  • the macroblock address of the first macroblock 158-1 of slice 2 is S2, and the macroblock address of the last macroblock 158-1 is E2.
  • one macroblock address is added every time the decoding process of one macroblock is completed, and eventually the final macrobook of the slice is reached.
  • a flag which is the last macroblock of the slice is set in the last macroblock.
  • the image size of one frame is indicated by the number of macroblocks in the sequence parameter set (SPS (Sequence Parameter Set)) of the AVC stream (image compression information).
  • SPS Sequence Parameter Set
  • pic_height_in_map_units_minus1 indicates the number of macroblocks in the vertical direction of the image.
  • pic_width_in_mbs_minus1 indicates the number of macroblocks in the horizontal direction of the image.
  • mbx macro block address% pic_width_in_mbs_minus1
  • mby floor [macro block address / pic_width_in_mbs_minus1] (3)
  • mbx indicates the number of the macroblock from the left
  • mby indicates the number of the macroblock from the top.
  • floor [z] rounds down the decimal part of z to an integer
  • A% B indicates the remainder obtained by dividing A by B.
  • the vertical and horizontal positions of the upper left pixel of the macroblock are (16 ⁇ mbx, 16 ⁇ mby) and are included in the macroblock.
  • the pixel is a pixel included in a range of 16 pixels downward from the pixel position at the upper left and 16 pixels rightward. Up to this point, all the pixels of the slice are known. That is, the area of the processing target slice is specified.
  • the ALF block setting unit 142 determines the ALF block size.
  • the ALF block setting unit 142 determines the number of ALF blocks in the frame. Since the image size of the frame is determined in advance, when the ALF block size is determined, the number of ALF blocks (number of ALF blocks in the frame) necessary to spread the ALF block starting from the upper left of the frame is also calculated. Can do. Since the set values for the vertical size (number of pixels) and the horizontal size (number of pixels) of the ALF block are prepared in advance, the ALF block setting unit 142 determines the size of each ALF block and the ALF block according to the set values. The number is determined and an ALF block is placed on the decoded image.
  • the number of ALF blocks is calculated by the following equations (4) and (5).
  • num_alf_block_x floor [(16 ⁇ (pic_width_in_mbs_minus1 + 1) + (alf_block_size ⁇ 1)) / Alf_block_size]
  • num_alf_block_y floor [(16 ⁇ (pic_height_in_map_units_minus1 + 1) + (Alf_block_size-1)) / alf_block_size] (5)
  • num_alf_block_x and num_alf_block_y are the horizontal and vertical numbers of ALF blocks included in the image, respectively.
  • Alf_block_size indicates the size of one side of the ALF block.
  • the ALF block is assumed to be a square.
  • the vertical size and the horizontal size of the ALF block may be different from each other.
  • step S154 the processing target ALF block area specifying unit 143 determines a processing target ALF block.
  • step S155 the processing target ALF block area specifying unit 143 specifies the area of the processing target ALF block.
  • the position of the i-th ALF block is expressed by the following equations (6) and (7).
  • alf_block_x and alf_block_y indicate the number of the i-th ALF block in the horizontal direction and the vertical direction, respectively.
  • the position of the upper left pixel of the i-th ALF block is a position obtained by multiplying each of alf_block_x and aof_block_y by alf_block_size. That is, the horizontal direction is 16 ⁇ alf_block_x, and the vertical direction is 16 ⁇ alf_block_y. Therefore, the area of the i-th ALF block is a range of alf_block_size ⁇ alf_block_size from the upper left pixel.
  • step S156 the determination unit 144 determines whether or not the region of the processing target slice is included in the region of the processing target ALF block specified as described above.
  • step S157 the filter block flag generation unit 145 generates a filter block flag for the ALF block because the processing target ALF block is an ALF block necessary for the processing target slice.
  • step S158 the filter block flag generation unit 145 outputs the generated filter block flag.
  • step S158 the process proceeds to step S159. If it is determined in step S156 that the area of the processing target slice is not included in the area of the processing target ALF block, the ALF block is unnecessary for the processing target slice, and the process proceeds to step S159.
  • step S159 the processing target ALF block area specifying unit 143 determines whether or not all intra-frame ALF blocks have been processed. If it is determined that the processing has not been performed, the process returns to step S154 to process a new ALF block. Repeat the process after that. Each time the loop processing is repeated, the processing target ALF block area specifying unit 143 sets an ALF block from the group of ALF blocks spread in the area of the frame as a processing target ALF block in the order of raster scanning from the upper left ALF block. Select one by one.
  • step S159 If it is determined in step S159 that all the ALF blocks in the frame have been processed, the block information generation process ends, the process returns to step S132 in FIG. 14, the control information generation process ends, and the process proceeds to step S110 in FIG. Returning, the process after step S111 is performed.
  • the ALF block when the ALF block is arranged so as to cover the frame image area, the upper left corner of the frame is used as the origin, but the position of the origin is arbitrary. For example, it may be the lower left, lower right, upper right, or center of the frame. However, the position of the origin and the way of arranging the ALF blocks need to be determined in advance so as to be common to the encoding process and the decoding process.
  • the order in which the processing target ALF blocks are selected is described as the raster scan order from the upper left, but the selection order and the start position are arbitrary.
  • the control unit 171 specifies the area of the processing target slice.
  • the control unit 171 acquires the head macroblock address of the slice in the slice header, detects a flag indicating the last macroblock, and determines the last macroblock address from the head macroblock address.
  • the area up to the macro block address is specified as the area of the processing target slice.
  • step S172 the control unit 171 acquires the filter coefficient generated by the control information generation unit 112, and sets the filter coefficient to the adaptive filter 172.
  • step S173 the control unit 171 acquires the ALF block size determined by the control information generation unit 112, and sets (places) the ALF block having the ALF block size over the entire frame area.
  • step S174 the control unit 171 determines one of the unprocessed ALF blocks among the set ALF block groups as described above as a processing target ALF block as in the case of step S154 in FIG. To do.
  • the selection order of the ALF blocks is determined in advance and is the same as the selection order in the control information generation unit 112.
  • step S175 the control unit 171 specifies the determined area of the processing target ALF block in the same manner as in step S155 of FIG.
  • step S176 the control unit 171 determines whether or not the area of the processing target slice is included in the area of the processing target ALF block as in the case of step S156 of FIG. If it is determined that it is included, the process proceeds to step S177.
  • step S177 the control unit 171 acquires the filter block flag of the processing target ALF block generated by the control information generation unit 112. Since the control information generation unit 112 generates the filter block flag as described above, actually, the filter block flag is supplied only for the ALF block including the area of the processing target slice. Since the processing order of the ALF block is common to the control information generation unit 112, the filter block flag is supplied in the processing order of the ALF block. Therefore, the control unit 171 can acquire (adopt) the filter block flag of the processing target ALF block by acquiring (adopting) the filter block flag in the supply order.
  • the control unit 171 temporarily holds the filter block flag supplied from the control information generation unit 112, for example, in a built-in buffer or the like, and reads the filter block flag from the buffer in the process of step S177. Also good. Even in this case, the control unit 171 simply sets the reading order of the filter block flag to be the same as the order supplied from the control information generating unit 112, that is, the order of accumulation in the buffer. A filter block flag can be obtained.
  • step S178 the control unit 171 determines whether or not the value of the filter block flag is 1. If the value of the filter block flag is 1 and it is instructed to perform the filter process for the area of the processing target ALF block, the process proceeds to step S179.
  • step S179 the adaptive filter 172 is controlled by the control unit 171 to perform filter processing on the processing target ALF block.
  • the process proceeds to step S180.
  • the selection unit 173 is controlled by the control unit 171 to select the output of the adaptive filter 172 and outputs it to the frame memory 114 in step S180. That is, the decoded image (partial region) that has been subjected to the filter process is accumulated in the frame memory 114.
  • step S180 ends, the process proceeds to step S181.
  • step S178 if the value of the filter block flag is 0 and it is instructed not to perform the filter process for the area of the processing target ALF block, the process of step S179 is omitted, and the process proceeds to step S180.
  • step S180 the selection unit 173 is controlled by the control unit 171 to select the output of the deblocking filter 111 and outputs it to the frame memory 114. That is, the decoded image (part of the region) that has not been filtered is accumulated in the frame memory 114.
  • the process of step S180 ends, the process proceeds to step S181.
  • step S176 If it is determined in step S176 that the region of the processing target slice is not included in the region of the processing target ALF block, the processing target ALF block is an ALF block that is not related to the processing target slice, and thus steps S177 to S177 are performed.
  • step S180 The process of step S180 is omitted, and the process proceeds to step S181.
  • step S181 the control unit 171 determines whether or not all intra-frame ALF blocks have been processed. If it is determined that there is an unprocessed ALF block, the process returns to step S174, and the subsequent processing is repeated for the new process target ALF block. Each time this loop processing is repeated, the control unit 171 selects one ALF block from the ALF block group spread in the frame area as a processing target ALF block one by one in the raster scan order from the upper left ALF block. . If it is determined in step S181 that all the ALF blocks in the frame have been processed, the adaptive filter process is terminated, the process returns to step S111 in FIG. 13, and the processes after step S112 are performed.
  • the adaptive filter processing unit 113 sets the filter block flags of some ALF blocks in the frame, which are necessary for the processing target slice among the plurality of slices formed in the frame. Based on this, it is possible to appropriately execute the filter processing on the processing target slice. As a result, the adaptive filter processing unit 113 can reduce block distortion that cannot be removed by the deblocking filter and distortion due to quantization of the processing target slice.
  • step S191 the encoding unit 181 of the lossless encoding unit 106 sequentially encodes the supplied image data (quantized coefficient data), thereby processing target slices. Is encoded to generate encoded data.
  • step S192 the encoded data holding unit 182 holds the encoded data generated in step S191.
  • step S193 the control information holding unit 183 holds the control information corresponding to the slice (processing target slice) to which the encoded data belongs, supplied from the control information generating unit 112.
  • step S194 the control information adding unit 184 determines whether or not the encoding unit 181 has encoded image data (quantized coefficient data) for all slices in the frame. judge. If it is determined that there is an unprocessed slice, the process returns to step S191, and the subsequent processing is repeated.
  • step S194 when it is determined by the encoding unit 181 that all slices in the frame have been encoded, the process proceeds to step S195.
  • step S195 the control information adding unit 184 first transmits the control information held in the control information holding unit 183 of the encoded data for one frame held in the encoded data holding unit 182. Embed in the slice header of the slice. At this time, the control information adding unit 184 acquires and summarizes the control information held in the control information holding unit 183, and generates control information for one picture of the frame (picture) to which the encoded data belongs. The control information adding unit 184 embeds the control information for one picture in the slice header.
  • control information for one frame (picture) is included in one slice header.
  • Added is included in one slice header.
  • control information of a plurality of slices is added to one slice header (control information of other slices is also added).
  • control information of other slices is also added.
  • overlapping information is generated in each control information.
  • the control information adding unit 184 thus provides control information for one frame as one slice header. Therefore, such redundancy can be reduced and encoding efficiency can be improved.
  • add here indicates that control information is associated with encoded data in an arbitrary form. For example, it may be described as a syntax of encoded data or may be described as user data. Further, block information may be linked to encoded data as metadata. That is, “addition” includes “embedding”, “description”, “multiplexing”, “concatenation”, and the like.
  • the control information adding unit 184 that has added the control information to the encoded data outputs the encoded data in a predetermined order in step S196.
  • the lossless encoding unit 106 ends the lossless encoding process, returns to step S116 in FIG. 13, and proceeds to the processes after step S117.
  • the image encoding apparatus 100 can suppress a reduction in encoding efficiency due to local control of filter processing during encoding or decoding. For example, even when each frame of an image is processed by being divided into a plurality of slices, the image encoding device 100 can suppress a decrease in encoding efficiency.
  • FIG. 18 is a block diagram showing a configuration example of an embodiment of an image decoding apparatus as an image processing apparatus to which the present invention is applied.
  • the image decoding apparatus 200 decodes the encoded data output from the image encoding apparatus 100 and generates a decoded image.
  • the image decoding apparatus 200 includes a storage buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, a calculation unit 205, and a deblocking filter 206. Further, the image decoding apparatus 200 includes an adaptive filter processing unit 207. Furthermore, the image decoding apparatus 200 includes a screen rearrangement buffer 208 and a D / A (Digital / Analog analog) conversion unit 209. In addition, the image decoding device 200 includes a frame memory 210, an intra prediction unit 211, a motion compensation unit 212, and a selection unit 213.
  • the accumulation buffer 201 accumulates the transmitted image compression information.
  • the lossless decoding unit 202 decodes the information supplied from the accumulation buffer 201 and encoded by the lossless encoding unit 106 in FIG. 1 by a method corresponding to the encoding method of the lossless encoding unit 106.
  • the lossless decoding unit 202 When the macroblock is intra-coded, the lossless decoding unit 202 extracts the intra prediction mode information stored in the header portion of the encoded data and transmits it to the intra prediction unit 211. If the macroblock is inter-coded, the lossless decoding unit 202 extracts the motion vector information stored in the header portion of the encoded data and transfers the motion vector information to the motion compensation unit 212.
  • the lossless decoding unit 202 controls control information for one picture for adaptive filter (control information generated by the control information generation unit 112) from the slice header of the slice supplied first in the frame of the encoded data. Is extracted and supplied to the adaptive filter processing unit 207.
  • the inverse quantization unit 203 inversely quantizes the image decoded by the lossless decoding unit 202 by a method corresponding to the quantization method of the quantization unit 105 in FIG.
  • the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the output of the inverse quantization unit 203 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 104 in FIG.
  • the calculation unit 205 adds the prediction image supplied from the selection unit 213 to the difference information subjected to inverse orthogonal transform, and generates a decoded image.
  • the deblocking filter 206 removes block distortion of the decoded image generated by the addition process.
  • the adaptive filter processing unit 207 is supplied from the deblocking filter 206 based on information such as a filter coefficient, an ALF block size, and a filter block flag included in the control information for one picture supplied from the lossless decoding unit 202. Filter the image.
  • the adaptive filter processing unit 207 performs the same adaptive filter processing as the adaptive filter processing unit 113 in FIG. As a result, the adaptive filter processing unit 207 can reduce block distortion that cannot be removed by the deblocking filter 206 and distortion due to quantization.
  • the adaptive filter processing unit 207 supplies the filtered image to the frame memory 210, accumulates it as reference image information, and outputs it to the screen rearrangement buffer 208.
  • the screen rearrangement buffer 208 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the original display order.
  • the D / A conversion unit 209 performs D / A conversion on the image supplied from the screen rearrangement buffer 208 and outputs it. For example, the D / A conversion unit 209 outputs an output signal obtained by D / A conversion to a display (not shown) to display an image.
  • the intra prediction unit 211 generates a prediction image based on the information supplied from the lossless decoding unit 202 and outputs the generated prediction image to the selection unit 213 when the frame is intra-coded. .
  • the motion compensation unit 212 When the frame is inter-encoded, the motion compensation unit 212 performs motion compensation processing on the reference image information stored in the frame memory 210 based on the motion vector information supplied from the lossless decoding unit 202. Do.
  • the selection unit 213 connects to the intra prediction unit 211 and supplies the image supplied from the intra prediction unit 211 to the calculation unit 205 as a predicted image.
  • the selection unit 213 connects to the motion compensation unit 212 and supplies the image supplied from the motion compensation unit 212 to the calculation unit 205 as a predicted image.
  • FIG. 19 is a block diagram illustrating a detailed configuration example of the lossless decoding unit 202 of FIG. For convenience of explanation, description of the configuration related to extraction of intra prediction mode information and motion vector information is omitted.
  • the lossless decoding unit 202 includes a control information extraction unit 221 and a decoding unit 222.
  • the control information extraction unit 221 acquires encoded data from the accumulation buffer 201, extracts control information for one picture from the slice header of the first slice supplied in the frame, and supplies the control information to the adaptive filter processing unit 207. .
  • the decoding unit 222 decodes the encoded data supplied from the control information extraction unit 221 with a decoding method corresponding to the encoding method of the lossless encoding unit 106, and generates decoded data (quantized coefficient data). .
  • the decoding unit 222 supplies the generated decoded data to the inverse quantization unit 203.
  • control information extraction unit 221 extracts the control information embedded in the slice header of the encoded data and supplies it to the adaptive filter processing unit 207
  • the adaptive filter processing unit 207 based on the control information, Appropriate adaptive filtering can be performed. That is, the adaptive filter processing unit 207 can perform adaptive filter processing in the same manner as the adaptive filter processing unit 113 of the image encoding device 100.
  • step S201 the accumulation buffer 201 accumulates the transmitted image (encoded data).
  • step S202 the lossless decoding unit 202 performs lossless decoding processing for losslessly decoding the encoded data supplied from the accumulation buffer 201.
  • the I picture, the P picture, and the B picture encoded by the lossless encoding unit 106 in FIG. 1 are decoded by this lossless decoding process.
  • extraction of motion vector information, reference frame information, prediction mode information (information indicating an intra prediction mode or an inter prediction mode), and the like is also performed.
  • 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 reference frame information corresponding to the prediction mode information are supplied to the motion compensation unit 212.
  • control information for adaptive filter processing for one picture is extracted from the slice header of the encoded data and supplied to the adaptive filter processing unit 207.
  • step S203 the inverse quantization unit 203 inversely quantizes the transform coefficient decoded in step S202 with a characteristic corresponding to the characteristic of the quantization unit 105 in FIG.
  • step S204 the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the transform coefficient inversely quantized by the process in step S203 with characteristics corresponding to the characteristics of the orthogonal transform unit 104 in FIG.
  • the difference information corresponding to the input of the orthogonal transform unit 104 output of the calculation unit 103) in FIG. 1 is decoded.
  • step S205 the calculation unit 205 adds the prediction image selected in the process of step S211 described later to the difference information. As a result, the original image is decoded.
  • step S ⁇ b> 206 the deblock filter 206 filters the image output from the calculation unit 205. Thereby, block distortion is removed.
  • step S207 the adaptive filter processing unit 207 further performs adaptive filter processing on the image subjected to the deblocking filter processing.
  • This adaptive filter processing is the same as the processing performed by the adaptive filter processing unit 113 in FIG. That is, this adaptive filter process is performed in the same manner as described with reference to the flowchart of FIG. 16 except that the control information supplied from the lossless decoding unit 202 is used.
  • the control information supplied from the lossless decoding unit 202 is also generated by the control information generation unit 112 in FIG. 1 and is substantially used by the adaptive filter processing unit 113 in FIG. 1. This is equivalent to the control information supplied by the user.
  • This adaptive filter processing can reduce block distortion and quantization distortion that could not be removed by deblocking filter processing.
  • step S208 the frame memory 210 stores the filtered image.
  • the intra prediction unit 211 When the intra prediction mode information is supplied, the intra prediction unit 211 performs an intra prediction process in the intra prediction mode in step S209. When inter prediction mode information is supplied, the motion compensation unit 212 performs inter prediction mode motion compensation processing in step S210.
  • step S211 the selection unit 213 selects a predicted image. That is, one of the prediction image generated by the intra prediction unit 211 or the prediction image generated by the motion compensation unit 212 is selected, and the selected prediction image is supplied to the calculation unit 205.
  • the selection unit 213 selects the prediction image generated by the intra prediction unit 211 and supplies the prediction image to the calculation unit 205.
  • the selection unit 213 selects the predicted image generated by the motion compensation unit 212 and supplies the selected prediction image to the calculation unit 205.
  • step S212 the screen rearrangement buffer 208 performs rearrangement. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 in FIG. 1 is rearranged in the original display order.
  • step S213 the D / A converter 209 D / A converts the image from the screen rearrangement buffer 208. This image is output to a display (not shown), and the image is displayed.
  • the lossless decoding unit 202 extracts and decodes the control information supplied from the image encoding device 100, and the adaptive filter processing unit 207 uses the control information to decode the image code.
  • the adaptive filter processing is performed in the same manner as the adaptive filter processing unit 113 of the conversion apparatus 100.
  • control information extraction unit 221 determines in step S231 whether the supplied encoded data is the first transmitted slice of the frame (picture).
  • the slice is the first slice of the picture.
  • a flag (field_pic_flag) indicating whether it is a frame picture or a field picture is different from the previous slice
  • that slice is the first slice of the picture.
  • the flag (bottom_field_flag) indicating whether the field is the top field or the bottom field is different from the previous slices
  • the slice is the first slice of the picture.
  • the frame number (frame_num) is the same and the value of the picture order count POC is different from the previous slice, that slice is the first slice of the picture.
  • the slice is the first slice of the picture. Also, if the IDR picture has idr_pic_idc information different from the previous slice, that slice is the first slice of the picture.
  • control information extraction unit 221 refers to these values, and when any value is different from the previous slices, the control information extraction unit 221 determines that the slice is the first slice of the picture.
  • control information extraction unit 221 may determine whether the slice is the first transmitted slice based on other information.
  • step S231 If it is determined in step S231 that the slice is transmitted at the beginning of the frame, the process proceeds to step S232.
  • step S232 the control information extraction unit 221 extracts control information for one picture from the slice header, and supplies the control information to the adaptive filter processing unit 207.
  • step S233 If it is determined in step S231 that the supplied encoded data is not the first transmitted slice of the frame (picture), the process proceeds to step S233.
  • step S233 the decoding unit 222 decodes the processing target slice of the encoded data.
  • step S234 the decoding unit 222 outputs the decoded data (quantized coefficient data) obtained by decoding to the inverse quantization unit 203.
  • step S235 the decoding unit 222 determines whether all slices in the frame have been processed. If it is determined that there is an unprocessed slice, the process returns to step S231, and the subsequent processing is repeated. If it is determined in step S235 that all the slices in the frame have been processed, the lossless decoding process is terminated, the process returns to step S207 in FIG. 20, and the processes after step S208 are executed.
  • the lossless decoding unit 202 can extract the control information added to the encoded data and supply it to the adaptive filter processing unit 207.
  • the adaptive filter process part 207 can perform an adaptive filter process appropriately.
  • the adaptive filter processing unit 207 can reduce block distortion that cannot be removed by the deblocking filter and distortion due to quantization of the slice to be processed.
  • control information is embedded in the slice header of the first slice of the picture, and the control information extraction unit 221 appropriately detects the first slice of the picture, Control information for one picture is extracted from the slice header.
  • the adaptive filter processing unit 207 can prepare the control information of the picture at the time of processing the first slice, and can perform adaptive filter processing without unnecessary delay. That is, when performing adaptive filter processing on each slice, there is no need to provide unnecessary waiting time for preparation of control information, so the adaptive filter processing unit 207 embeds control information in each slice header. Adaptive filter processing can be performed in the same processing time.
  • the image decoding apparatus 200 can suppress a reduction in encoding efficiency due to local control of filter processing. For example, even when each frame of an image is processed by being divided into a plurality of slices, a reduction in encoding efficiency can be suppressed.
  • control information for one picture has been described as being added to the slice header of the slice to be output (transmitted) first, but the control information is added to the slice header of another slice. You may do it.
  • control information may be added to the slice header of the first slice.
  • the top slice is, for example, the top slice in a frame (picture).
  • the head slice is the slice with the smallest slice identification number.
  • the head slice is a slice including a macroblock whose MB address is “0”. In general, these slices are all the same slice, but they do not have to match. In that case, the head slice is determined based on any one of the conditions.
  • the first transmitted slice is a slice specified by the processing order, whereas this first slice has its positional relationship. It is a slice specified by (for example, an identification number or coordinates).
  • slice 0 is set as the first slice.
  • the control information 191-1 to control information 191-3 generated for each slice are all added to the slice 0 header 192-2, which is the slice header of the first slice, regardless of the slice processing order. .
  • the first MB address of this slice 0 is 0. Therefore, in this case, the control information extraction unit 221 refers to the value of first_mb_in_slice (information defining the first MB address in the slice) in the slice header, and if the value is “0”, the control information is extracted thereafter. It turns out that it contains. Therefore, the control information extraction unit 221 can easily confirm the presence of the control information and extract it without the boundary inspection.
  • the first slice is not always transmitted first.
  • the encoded data 194 is transmitted in the order of slice 1, slice 0, and slice 2.
  • the adaptive filter processing unit 207 performs adaptive filter processing for the slice transmitted before the head slice (slice 0 in the example of FIG. 22) until control information is extracted from the head slice. I can't.
  • processing is performed basically in the same manner as in the first embodiment. That is, when the lossless encoding process is started in step S116 in FIG. 13, the processes in steps S251 to S254 are executed in the same manner as the processes in steps S191 to S194 in FIG. Data is encoded for each slice.
  • step S255 the control information adding unit 184 converts the control information held in the control information holding unit 183 into the slice header of the first slice of the encoded data for one frame held in the encoded data holding unit 182. Embed in. At this time, the control information adding unit 184 acquires and summarizes the control information held in the control information holding unit 183, and generates control information for one picture of the frame (picture) to which the encoded data belongs. The control information adding unit 184 embeds the control information for one picture in the slice header of the first slice.
  • the control information adding unit 184 that has added the control information to the encoded data outputs the encoded data in a predetermined order in step S256.
  • the lossless encoding unit 106 ends the lossless encoding process, returns to step S116 in FIG. 13, and proceeds to the processes after step S117.
  • the image encoding apparatus 100 can suppress a reduction in encoding efficiency due to local control of the filter process, as in the case of the first embodiment. it can. Further, it is possible to easily extract control information at the time of decoding.
  • FIG. 24 is a block diagram illustrating a configuration example of the lossless decoding unit 202 of the image decoding device 200 in this case.
  • the lossless decoding unit 202 in this case has basically the same configuration as the lossless decoding unit 202 in the second embodiment described with reference to FIG.
  • the lossless decoding unit 202 further includes a decoded data holding unit 223.
  • the decoded data holding unit 223 holds the decoded data generated by being decoded by the decoding unit 222.
  • the decoded data holding unit 223 holds the decoded data of the slice transmitted before the head slice until control information is obtained.
  • the processing is basically performed in the same manner as in the second embodiment. That is, when the lossless decoding process is started, the control information extraction unit 221 determines in step S271 whether or not the supplied encoded data is the first slice of a frame (picture).
  • step S ⁇ b> 272 the control information extraction unit 221 extracts control information for one picture from the slice header, and supplies the control information to the adaptive filter processing unit 207.
  • step S273 If it is determined in step S271 that the supplied encoded data is not the first slice, the process proceeds to step S273.
  • step S273 when the encoded data is decoded by the decoding unit 222, the decoded data holding unit 223 holds the decoded data obtained by decoding in step S274.
  • step S275 the decoded data holding unit 223 determines whether or not the control information is extracted by the control information extracting unit 221. If it is determined that the extracted data has been extracted, the decoded data holding unit 223 proceeds to step S276 and starts outputting the held decoded data to the inverse quantization unit 203.
  • step S277 When the output of decoded data is started, the process proceeds to step S277. If it is determined in step S275 that control information has not been extracted for the current frame being processed, the process proceeds to step S277.
  • step S277 the control information extraction unit 221 determines whether all slices in the frame have been processed. If it is determined that there is an unprocessed slice, the process returns to step S271, and the subsequent processing is repeated for the unprocessed slice. If it is determined in step S277 that all slices in the frame have been processed, the lossless decoding process is terminated, the process returns to step S207 in FIG. 20, and the processes after step S208 are executed.
  • the lossless decoding unit 202 can extract the control information added to the encoded data and supply it to the adaptive filter processing unit 207.
  • the adaptive filter process part 207 can perform an adaptive filter process appropriately.
  • the adaptive filter processing unit 207 can reduce block distortion that cannot be removed by the deblocking filter and distortion due to quantization of the slice to be processed.
  • control information is embedded in the slice header of the first slice of the picture, and the control information extraction unit 221 easily detects the first slice of the picture, and the slice header From this, control information for one picture can be extracted.
  • control information may be added to the slice header of a slice other than the first transmitted slice or the first slice described above.
  • slice 0 is set as the first slice in a frame 151 composed of three slices (slice 0, slice 1, and slice 2).
  • the identification method of this slice 2 (slice 2 header 192-3) is arbitrary.
  • the control information detection method of the control information extraction unit 221 of the image decoding device 200 is also arbitrary.
  • the slice in which the control information is embedded is not always transmitted first.
  • the encoded data 194 is transmitted in the order of slice 1, slice 0, and slice 2. That is, slice 0 and slice 1 are transmitted before slice 2 including control information.
  • the adaptive filter processing unit 207 performs adaptive filter processing until the control information is extracted from slice 2 for slices transmitted prior to slice 2 (in the case of FIG. 26, slice 0 and slice 1). Processing cannot be performed.
  • processing is performed basically in the same manner as in the first embodiment. That is, when the lossless encoding process is started in step S116 in FIG. 13, the processes in steps S291 to S294 are executed in the same manner as the processes in steps S191 to S194 in FIG. Data is encoded for each slice.
  • step S 295 the control information adding unit 184 converts the control information held in the control information holding unit 183 into a predetermined predetermined amount of encoded data for one frame held in the encoded data holding unit 182. Embed in the slice header of the slice. At this time, the control information adding unit 184 acquires and summarizes the control information held in the control information holding unit 183, and generates control information for one picture of the frame (picture) to which the encoded data belongs. The control information adding unit 184 embeds the control information for one picture in the slice header of a predetermined slice.
  • the control information adding unit 184 that has added the control information to the encoded data outputs the encoded data in a predetermined order in step S296.
  • the lossless encoding unit 106 ends the lossless encoding process, returns to step S116 in FIG. 13, and proceeds to the processes after step S117.
  • the image encoding apparatus 100 can suppress a reduction in encoding efficiency due to local control of the filter process, as in the case of the first embodiment. it can.
  • step S311 the control information extraction unit 221 supplies the encoded data that is a predetermined slice of a frame (picture) (a slice including the control information in the slice header). It is determined whether or not.
  • step S312 the control information extraction unit 221 extracts control information for one picture from the slice header and supplies the control information to the adaptive filter processing unit 207.
  • step S313 If it is determined in step S311 that the supplied encoded data is not a predetermined slice to which control information is added, the process proceeds to step S313.
  • steps S313 to S317 are executed in the same manner as the processes in steps S273 to S277 in FIG.
  • the lossless decoding unit 202 can extract the control information added to the encoded data and supply it to the adaptive filter processing unit 207.
  • the adaptive filter process part 207 can perform an adaptive filter process appropriately.
  • the adaptive filter processing unit 207 can reduce block distortion that cannot be removed by the deblocking filter and distortion due to quantization of the slice to be processed.
  • control information may include, for example, a pointer indicating the location where the control information is added to the slice header.
  • control information 191-1 to control information 191-3 corresponding to slice 0 to slice 2 of frame 151 are collected and encoded data 194 as control information 231 for one picture. Is added after the slice 2 data 193-3. A pointer indicating the position of the control information 231 is added to the slice 1 header 192-1 transmitted first.
  • control information extraction unit 221 of the image decoding apparatus 200 can obtain the control information 231 from the pointer added thereto with reference to the slice 1 header 192-1. That is, the control information extraction unit 231 can extract control information from the encoded data in substantially the same manner as in the second embodiment.
  • control information extraction unit 221 cannot actually extract the control information 231 until the control information 231 is supplied.
  • control information 231 may be added to a position that is transmitted before the slice 1 header 192-1.
  • control information extraction unit 221 can extract the control information at the time when the pointer of the slice 1 header 192-1 is referred to.
  • processing is performed basically in the same manner as in the first embodiment. That is, when the lossless encoding process is started in step S116 in FIG. 13, the processes in steps S331 to S334 are executed in the same manner as the processes in steps S191 to S194 in FIG. Data is encoded for each slice.
  • step S335 the control information adding unit 184 adds the control information held in the control information holding unit 183 to a predetermined position of the encoded data.
  • the control information adding unit 184 acquires and summarizes the control information held in the control information holding unit 183, and generates control information for one picture of the frame (picture) to which the encoded data belongs.
  • the control information adding unit 184 adds the control information for one picture to a predetermined position of the encoded data.
  • step S336 the control information adding unit 184 uses the pointer indicating the position to which the control information is added as a slice of the first transmitted slice of the encoded data for one frame held in the encoded data holding unit 182. Embed in header.
  • the control information adding unit 184 that adds the control information to the encoded data and embeds the pointer in the slice header outputs the encoded data in a predetermined order in step S337.
  • the lossless encoding unit 106 ends the lossless encoding process, returns to step S116 in FIG. 13, and proceeds to the processes after step S117.
  • the image encoding apparatus 100 can suppress a reduction in encoding efficiency due to local control of the filter process, as in the case of the first embodiment. it can.
  • control information extraction unit 221 determines in step S351 whether the supplied encoded data is the first transmitted slice of the frame (picture).
  • step S352 the control information extraction unit 221 refers to the pointer added to the slice header.
  • step S353 If it is determined in step S351 that the supplied encoded data is not the slice transmitted at the beginning of the frame, the process proceeds to step S353.
  • step S353 the control information extraction unit 221 determines whether or not control information can be extracted at the present time. At that time, if it is determined that the control information for one picture added to the encoded data has already been supplied and can be extracted, the process proceeds to step S354, and the control information extraction unit 221 Control information is extracted and supplied to the adaptive filter processing unit 207.
  • step S355 If it is determined in step S353 that the control information has not been supplied yet and cannot be extracted, the process proceeds to step S355.
  • step S355 when the decoding unit 222 decodes the processing target slice of the encoded data, the decoded data holding unit 223 holds the decoded data obtained by decoding in step S356.
  • step S357 the decoded data holding unit 223 determines whether or not the control information is extracted by the control information extracting unit 221. When it is determined that the extracted data has been extracted, the decoded data holding unit 223 proceeds to step S358 and starts outputting the held decoded data to the inverse quantization unit 203.
  • step S359 the control information extraction unit 221 determines whether all slices in the frame have been processed. If it is determined that there is an unprocessed slice, the process returns to step S351, and the subsequent processing is repeated for the unprocessed slice. If it is determined in step S359 that all slices in the frame have been processed, the lossless decoding process is terminated, the process returns to step S207 in FIG. 20, and the processes after step S208 are executed.
  • the lossless decoding unit 202 can extract the control information based on the pointer added to the encoded data and supply the control information to the adaptive filter processing unit 207.
  • the adaptive filter process part 207 can perform an adaptive filter process appropriately.
  • the adaptive filter processing unit 207 can reduce block distortion that cannot be removed by the deblocking filter and distortion due to quantization of the slice to be processed.
  • the image decoding apparatus 200 can suppress a reduction in encoding efficiency due to local control of filter processing. For example, even when each frame of an image is processed by being divided into a plurality of slices, a reduction in encoding efficiency can be suppressed.
  • control information may be added to the slice header of the first slice as in the third embodiment, or control is performed to a predetermined slice as in the fourth embodiment. Information may be added.
  • pointer described above may be any form of information.
  • control information for one picture has been described as being integrated into one.
  • the present invention is not limited to this.
  • one frame slice is divided into a plurality of groups, and the control information is integrated for each group. Also good.
  • a dotted line in the frame 151 indicates a boundary between slices
  • a solid line indicates a group that groups a plurality of slices. The control information of each slice is collected for each group.
  • control information 241-1 is a summary of the control information of the slices belonging to the first group from the top of the frame 151.
  • the control information 241-2 is a summary of the control information of the slices belonging to the second group from the top of the frame 151.
  • the control information 241-3 is a collection of control information of slices belonging to the third group from the top of the frame 151.
  • control information is embedded in the slice header of the slice transmitted first in the corresponding group.
  • control information 241-1 is embedded in the slice A header 242-1 which is the slice header of the slice A transmitted first in the encoded data 244-1 of the first group from the top of the frame 151. .
  • control information 241-2 is embedded in the slice B header 242-2 which is the slice header of the slice B transmitted first in the encoded data 244-2 of the second group from the top of the frame 151.
  • control information 241-3 is embedded in the slice C header 242-3, which is the slice header of the slice C transmitted first, in the encoded data 244-3 of the third group from the top of the frame 151.
  • control information is added in a plurality of ways, resistance to packet loss at the time of transmission is stronger than in the case of the above-described embodiments.
  • the group consisting of a plurality of slices is determined in advance. That is, the slices in the frame are divided into how many groups, and which slices belong to which groups are determined in advance.
  • processing is performed basically in the same manner as in the first embodiment. That is, when the lossless encoding process is started in step S116 in FIG. 13, the processes in steps S371 to S374 are executed in the same manner as the processes in steps S191 to S194 in FIG. Data is encoded for each slice.
  • control information adding unit 184 determines whether or not all slices are encoded in units of groups instead of frames in step S374. That is, the control information adding unit 184 determines whether or not the encoding unit 181 has encoded all slices belonging to the processing target group in step S374.
  • step S375 When it is determined that there is an unprocessed slice belonging to the processing target group, the process returns to step S371, and the subsequent processing is repeated for the unprocessed slice. If it is determined in step S374 that the encoding unit 181 has encoded all slices belonging to the processing target group, the process proceeds to step S375.
  • step S375 the control information adding unit 184 first transmits the control information held in the control information holding unit 183 of the encoded data for one group held in the encoded data holding unit 182. Embed in the slice header of the slice. At this time, the control information adding unit 184 acquires and summarizes the control information held in the control information holding unit 183, and generates control information (control information for one group) of the group to which the encoded data belongs. The control information adding unit 184 embeds the control information for one group in the slice header of the slice transmitted first in the group.
  • the control information adding unit 184 that has added the control information to the encoded data outputs the encoded data for one group in a predetermined order in step S376.
  • the lossless encoding unit 106 determines whether all the groups in the frame have been processed in step S377.
  • step S371 If it is determined that an unprocessed group exists, the process returns to step S371, and the subsequent processing is repeated for the unprocessed group. If it is determined in step S377 that all groups in the frame have been processed, the lossless encoding unit 106 ends the lossless encoding process, returns to step S116 of FIG. move on.
  • the image encoding apparatus 100 can suppress a reduction in encoding efficiency due to local control of the filter process. In addition, resistance to packet loss and the like can be improved.
  • the lossless decoding unit 202 of the image decoding apparatus 200 may extract control information in units of groups, not in units of frames (pictures). Therefore, the lossless decoding unit 202 in this case has the same configuration as the lossless decoding unit 202 in the second embodiment described with reference to FIG.
  • the lossless decoding process by the lossless decoding unit 202 can be executed in the same manner as the example described with reference to the flowchart of FIG. 21 except that the unit of the frame (picture) is the unit of group.
  • the lossless decoding unit 202 can extract the control information added to the encoded data and supply it to the adaptive filter processing unit 207. Thereby, the adaptive filter process part 207 can perform an adaptive filter process appropriately.
  • control information is described as being added to the slice header of the first transmitted slice of each group, but the control information embedding position is arbitrary.
  • control information may be added to the slice header of the first slice of each group as in the third embodiment, or each group may be determined in advance as in the fourth embodiment. Control information may be added to the predetermined slice.
  • a group composed of a plurality of slices has been described as a unit for grouping control information. You may make it define. That is, in this case, the image encoding apparatus 100 defines, for example, for each frame, which slice belongs to which group, and how many groups are formed in one frame (how many control information are aggregated per frame). To do.
  • FIG. 34 is a block diagram illustrating a configuration example of the lossless encoding unit 106 of the image encoding device 100 in this case.
  • the lossless encoding unit 106 in this case includes an encoding unit 181 to a control information adding unit 184, as in the case of the first embodiment.
  • the encoding unit 106 in this case further includes a control unit 251.
  • the control unit 251 defines groups and determines the number of groups in the processing target frame. In other words, the control unit 251 determines a data range to which each control information embedded in the encoded data corresponds.
  • the control unit 251 controls the encoding unit 181 and the control information adding unit 184 to embed control information corresponding to the group in the slice header of the slice transmitted at the beginning of each group.
  • step S391 processing is performed basically in the same manner as in the sixth embodiment.
  • the control unit 251 defines a group for the processing target frame and sets the number of groups.
  • the control unit 251 controls the encoding unit 181 and the control information adding unit 184 based on the setting related to the group.
  • step S392 to step S398 is executed according to the group setting performed in step S391. That is, the processes in steps S392 to S398 after the group is set are executed in the same manner as the processes in steps S371 to S377 in FIG.
  • the image encoding apparatus 100 can suppress a reduction in encoding efficiency due to local control of the filter process. In addition, resistance to packet loss and the like can be improved.
  • FIG. 36 is a block diagram illustrating a configuration example of the lossless decoding unit 202 of the image decoding device 200 in this case.
  • the lossless decoding unit 202 of the image decoding apparatus 200 extracts control information in units of groups, not in units of frames (pictures). Therefore, as shown in FIG. 36, the lossless decoding unit 202 in this case is similar to the lossless decoding unit 202 in the third embodiment described with reference to FIG. 24, for example, as the control information extraction unit 221. Or a decoded data holding unit 223. However, in this case, since the image decoding apparatus 200 does not grasp the number of groups in the processing target frame, the image decoding apparatus 200 analyzes each slice header and searches for control information. Therefore, in this case, the lossless decoding unit 202 further includes a header analysis unit 261 as illustrated in FIG.
  • the header analysis unit 261 searches for control information with reference to each slice header of the supplied encoded data.
  • the control information extraction unit 221 extracts control information based on the analysis result. Each unit performs processing for each group, as in the case of the sixth embodiment.
  • step S411 the header analysis unit 261 refers to the slice header of the processing target slice of the supplied encoded data, and determines whether control information exists in the slice header. To do.
  • the process proceeds to step S412.
  • step S412 the control information extraction unit 221 extracts one group of control information from the slice header. If control information is extracted, it will progress to step S413. If it is determined in step S411 that no control information exists in the slice header, the process proceeds to step S413.
  • step S413 to step S417 is executed in the same manner as each processing from step S273 to step S277 in FIG.
  • the lossless decoding unit 202 can extract the control information added to the encoded data and supply it to the adaptive filter processing unit 207. Thereby, the adaptive filter process part 207 can perform an adaptive filter process appropriately.
  • the image encoding apparatus 100 can output encoded data in smaller units by increasing the number of groups. That is, the delay time of the encoding process can be reduced. In this case, since the encoded data is output at a high frequency, the required memory amount is reduced.
  • the number of groups is reduced (the number of control information per frame is reduced)
  • the redundancy of control information is reduced and the encoding efficiency of encoded data is improved.
  • the amount of information to be processed in the image decoding apparatus 200 is reduced.
  • the number of times control information is extracted is reduced. Therefore, the load on the image decoding device 200 may be reduced.
  • the amount of information for one piece of control information increases, the amount of memory required increases.
  • the image encoding apparatus 100 outputs encoded data in a larger unit by reducing the number of groups. That is, the delay time of the encoding process increases. In this case, since the encoded data is output at a low frequency, the required memory amount increases.
  • the optimum number of groups is determined by system specifications such as hardware resources and usage purposes.
  • the image encoding apparatus 100 In the case of a system that stores encoded data generated by the image encoding apparatus 100 in a server or the like and provides the encoded data based on a request from the image decoding apparatus 200, for example, the image encoding apparatus 100
  • the increase in delay time in the case has little effect on the provision of encoded data.
  • priority should be given to suppressing the reduction in the load of the decoding process over the reduction in the delay time of the encoding process.
  • image data generated by shooting or the like is immediately (real-time) encoded by the image encoding device 100, the encoded data is transmitted, and the encoded data is decoded by the image decoding device 200.
  • image data generated by shooting or the like is immediately (real-time) encoded by the image encoding device 100, the encoded data is transmitted, and the encoded data is decoded by the image decoding device 200.
  • the processing capability of the image decoding device 200 when the processing capability of the image decoding device 200 is low, it is desirable to give priority to suppressing the load of decoding processing. Conversely, when the processing capability of the image encoding device 100 is low, it is desirable to prioritize suppression of the encoding processing load. Further, there may be a case where improvement in encoding efficiency should be given priority depending on the bit rate of image data, the available bandwidth of the transmission path, and the like.
  • control unit 251 sets groups so that various parameters are optimal with respect to system specifications. Thereby, it can apply to a more various system.
  • the image encoding device 100 or the image decoding device 200 collects hardware resources of other devices in the system and information on transmission paths, and collects various information with other devices. It may be exchanged.
  • the number of groups in one frame may be any number as long as it is one or more.
  • the control of the number of groups may be other than a frame unit. For example, it may be a GOP unit.
  • control information has been described as being added to the slice header of the first transmitted slice of each group.
  • the embedding position of this control information is arbitrary.
  • control information may be added to the slice header of the first slice of each group as in the third embodiment, or each group may be determined in advance as in the fourth embodiment.
  • Control information may be added to the predetermined slice.
  • the image encoding apparatus 100 may set a slice (slice header) in which the control information is embedded. For example, such a setting may be performed in an arbitrary unit such as a frame unit or a GOP unit. Moreover, you may make it perform irregularly.
  • control information in a frame is grouped into one or a plurality of units in units of slices, but the unit in which the control information is grouped is arbitrary.
  • a unit smaller than a slice for example, a macro block may be used as a unit. That is, a plurality of control information for each macroblock may be collected to generate control information for each group.
  • an image range (slice) to which each group of filter coefficients corresponds an image range (slice) to which each group of block sizes corresponds, and an image range (slice) of the group to which each filter block flag corresponds are set independently of each other, slice headers in which such information is stored may be different from each other.
  • the image encoding device 100 and the image decoding device 200 need to perform the same processing as in the case of the control information described above for each element of the filter coefficient, the block size, and the filter block flag.
  • FIG. 38 is a block diagram illustrating a configuration example of the lossless encoding unit 106 of the image encoding device 100 in this case.
  • the lossless encoding unit 106 in this case includes an encoding unit 181 to a control information holding unit 183, as in the case of the first embodiment.
  • the encoding unit 106 further includes a control information adding unit 281 instead of the control information adding unit 184.
  • the control information adding unit 281 embeds each element of the filter coefficient, the block size, and the filter block flag in the slice header of the encoded data for each group set independently of each other.
  • the control information adding unit 281 includes a flag adding unit 291, a block size adding unit 292, and a filter coefficient adding unit 293.
  • the flag adding unit 291 adds the filter block flag of the processing target flag group to the slice header of the slice transmitted first of the processing target flag group.
  • a flag group is a group of slices corresponding to a set of filter block flags embedded in the same slice header.
  • the block size adding unit 292 adds the block size of the processing target block size group to the slice header of the slice transmitted first in the processing target block size group.
  • a block size group is a group of slices corresponding to a set of block sizes embedded in the same slice header.
  • the filter coefficient adding unit 293 adds the filter coefficient of the processing target filter coefficient group to the slice header of the slice transmitted first of the processing target filter coefficient group.
  • a filter coefficient group is a group of slices corresponding to a set of filter coefficients embedded in the same slice header.
  • processing is performed basically in the same manner as in the sixth embodiment.
  • the processes in steps S431 to S433 are executed in the same manner as the processes in steps S371 to S373 in FIG.
  • step S434 the flag adding unit 291 of the control information adding unit 281 determines whether or not the encoding unit 181 has encoded all slices of the processing target flag group. If it is determined that all slices have been encoded, the process proceeds to step S435.
  • step S435 the flag adding unit 291 embeds the filter block flags for one flag group in the slice header of the slice transmitted first in the processing target flag group.
  • step S436 If it is determined in step S434 that there is an unprocessed slice in the processing target flag group, the process proceeds to step S436.
  • step S436 the block size adding unit 292 of the control information adding unit 281 determines whether or not the encoding unit 181 has encoded all slices of the processing target flag group. If it is determined that all slices have been encoded, the process proceeds to step S437.
  • step S437 the block size adding unit 292 embeds the block size for one block size group in the slice header of the first transmitted slice within the processing target block size group.
  • step S438 If it is determined in step S438 that there is an unprocessed slice in the processing target block size group, the process proceeds to step S438.
  • step S438 the filter coefficient adding unit 293 of the control information adding unit 281 determines whether or not the encoding unit 181 has encoded all slices of the processing target filter coefficient group. If it is determined that there is an unprocessed slice, the process returns to step S431, and the subsequent processing is repeated.
  • step S438 If it is determined in step S438 that all slices have been encoded, the process proceeds to step S439.
  • the filter coefficient adding unit 293 embeds filter coefficients for one filter coefficient group in the slice header of the slice that is first transmitted within the processing target filter coefficient group.
  • step S440 the control information adding unit 281 outputs the encoded data in a predetermined order.
  • step S441 the lossless encoding unit 106 determines whether all the groups in the frame have been processed. If it is determined that there is an unprocessed group, the process returns to step S431, and the subsequent processing is repeated.
  • step S441 If it is determined in step S441 that all groups in the frame have been processed, the lossless encoding unit 106 ends the lossless encoding process, returns to step S116 in FIG. move on.
  • the lossless encoding unit 106 can add each element of the control information in a unit more appropriate for each. Thereby, the image coding apparatus 100 can more appropriately control various elements such as coding efficiency, delay time, load amount, and the like.
  • the image decoding apparatus 200 of this Embodiment is demonstrated.
  • the lossless decoding unit 202 of the image decoding apparatus 200 extracts each element of the filter coefficient, the block size, and the filter block flag in units of groups, not in units of frames (pictures).
  • FIG. 40 is a block diagram illustrating a configuration example of the lossless decoding unit 202 of the image decoding device 200 in this case.
  • the lossless decoding unit 202 in this case includes a decoding unit 222 and a decoded data holding unit 223, as in the case of the third embodiment.
  • the decoding unit 222 further includes a control information extraction unit 301 instead of the control information extraction unit 221.
  • the control information extraction unit 301 extracts each element of the filter coefficient, the block size, and the filter block flag from the slice header of the encoded data.
  • the control information extraction unit 301 includes a flag extraction unit 311, a block size extraction unit 312, and a filter coefficient extraction unit 313.
  • the flag extraction unit 311 extracts the filter block flag of the processing target flag group from the slice header of the slice transmitted first of the processing target flag group.
  • the block size extraction unit 312 extracts the block size of the processing target block size group from the slice header of the slice transmitted first in the processing target block size group.
  • the filter coefficient extraction unit 313 extracts the filter coefficient of the processing target filter coefficient group from the slice header of the slice transmitted first of the processing target filter coefficient group.
  • the processing is basically performed in the same manner as in the second embodiment. That is, when the lossless decoding process is started, the flag extraction unit 311 of the control information extraction unit 301 determines whether or not the supplied encoded data is the first transmitted slice of the processing target flag group in step S461. Determine whether. When it is determined that the slice is the first transmitted slice of the processing target flag group, the process proceeds to step S462.
  • step S462 the flag extraction unit 311 extracts filter block flags for one flag group from the slice header of the processing target slice.
  • step S463 If it is determined in step S461 that the slice is not the first transmitted slice of the processing target flag group, the process proceeds to step S463.
  • step S463 the block size extraction unit 312 of the control information extraction unit 301 determines whether the supplied encoded data is the first transmitted slice of the processing target block size group. When it is determined that the slice is the first transmitted slice of the processing target block size group, the process proceeds to step S464.
  • step S464 the block size extraction unit 312 extracts a block size for one block size group from the slice header of the processing target slice.
  • step S465 the filter coefficient extraction unit 313 of the control information extraction unit 301 determines whether or not the supplied encoded data is the first transmitted slice of the processing target filter coefficient group. When it is determined that the slice is the first transmitted slice of the processing target filter coefficient group, the process proceeds to step S466.
  • step S466 the filter coefficient extraction unit 313 extracts filter coefficients for one filter coefficient group from the slice header of the processing target slice.
  • step S467 If it is determined in step S465 that the slice is not the first transmitted slice of the processing target filter coefficient group, the process proceeds to step S467.
  • step S467 the decoding unit 222 decodes the processing target slice of the encoded data.
  • step S469 the decoded data holding unit 223 determines whether there is a slice from which all of the control information elements (filter block flag, block size, and filter coefficient) have been extracted by the control information extraction unit 301. When it is determined that the extracted data is extracted, the decoded data holding unit 223 proceeds to step S470, and starts outputting the held decoded data to the inverse quantization unit 203 of the slice from which all the elements of the control information are extracted. To do.
  • step S471 When output of decoded data is started, the process proceeds to step S471. If it is determined in step S469 that there is no slice from which all elements of the control information are extracted, the process proceeds to step S471.
  • step S471 the control information extraction unit 301 determines whether all slices in the frame have been processed. If it is determined that there is an unprocessed slice, the process returns to step S461, and the subsequent processing is repeated for the unprocessed slice. If it is determined in step S471 that all the slices in the frame have been processed, the lossless decoding process is terminated, the process returns to step S207 in FIG. 20, and the processes after step S208 are executed.
  • the lossless decoding unit 202 can extract each element of the control information added to the encoded data independently from each other and supply the extracted elements to the adaptive filter processing unit 207.
  • the adaptive filter process part 207 can perform an adaptive filter process appropriately.
  • the adaptive filter processing unit 207 can reduce block distortion that cannot be removed by the deblocking filter and distortion due to quantization of the slice to be processed.
  • each element such as the filter coefficient, the block size, and the filter block flag may be embedded in the slice header of the first slice of each group of elements, or in the slice header of another predetermined slice. It may be embedded.
  • a group of each element may be set for each GOP or frame, for example, so that the number of groups of each element can be changed in the time direction.
  • the ALF block may have a quadtree structure. This technique is called QALF (Quad tree-based Adaptive Loop Filter).
  • the quad tree structure is a hierarchical structure in which the area of one ALF block in the upper hierarchy in the lower hierarchy is divided into four.
  • ALF block division is expressed by a quad tree structure with the maximum number of layers of 3, and a filter block flag is designated for each ALF block.
  • each ALF block has a block partitioning flag indicating whether or not it is divided into four in the lower hierarchy.
  • the value of the block partitioning flag of the ALF block shown in A of FIG. 42 is “1”. That is, this ALF block is divided into four in the lower hierarchy (layer 1).
  • B in FIG. 42 shows the layer 1. That is, four ALF blocks are formed in layer 1.
  • the block partitioning flag When the block partitioning flag is “0”, it is not divided into four in lower layers. That is, there is no further division, and a filter block flag is generated for the ALF block. That is, the ALF block whose block partitioning flag is “0” also has a filter block flag.
  • “0” on the left of “0-1” indicates the block partitioning flag of the ALF block
  • “1” on the right indicates the filter block flag of the ALF block.
  • the two ALF blocks whose layer partitioning flag of layer 1 is “1” are further divided into four in the lower hierarchy (layer 2).
  • C in FIG. 42 shows the layer 2. That is, 10 ALF blocks are formed in layer 2.
  • a filter block flag is also assigned to an ALF block whose block partitioning flag is “0” in layer 2.
  • the block partitioning flag of one ALF block is “1”. That is, the ALF block is divided into four in the lower hierarchy (layer 3).
  • D in FIG. 42 shows the layer 3. That is, 13 ALF blocks are formed in layer 3.
  • the configuration of the ALF block finally becomes as shown in FIG.
  • the size of the ALF block is different for each hierarchy. That is, ALF blocks can have different sizes within a frame by adopting a quadtree structure.
  • the control of the filter block flag in each ALF block is the same as in the case of the first embodiment. That is, the filter process is not performed on the area of the ALF block (the hatched portion in FIG. 43) where the value of the filter block flag is “0”.
  • FIG. 44 shows an example in which the area of slice 1 in FIG. 5 is encoded using the QALF technique.
  • the area of the thick line 421 indicates the area of slice 1. If the control information of the entire QALF 411 is divided into slices as shown by the bold line 421 to form a plurality of control information and added to the encoded data, information that overlaps between the control information is generated. End up.
  • the image coding apparatus 100 includes control information for a plurality of slices in one slice header of the coded data by the same method as in the case of BALF described in the first embodiment. Like that. Similarly to the case of BALF, the image decoding apparatus 200 also extracts the control information and performs adaptive filter processing.
  • Tenth Embodiment> [Personal computer]
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a personal computer as shown in FIG. 45 may be configured.
  • the CPU 501 of the personal computer 500 executes various processes according to a program stored in a ROM (Read Only Memory) 502 or a program loaded from a storage unit 513 to a RAM (Random Access Memory) 503.
  • the RAM 503 also appropriately stores data necessary for the CPU 501 to execute various processes.
  • the CPU 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504.
  • An input / output interface 510 is also connected to the bus 504.
  • the input / output interface 510 includes an input unit 511 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 512 including a speaker, and a hard disk.
  • a communication unit 514 including a storage unit 513 and a modem is connected. The communication unit 514 performs communication processing via a network including the Internet.
  • a drive 515 is connected to the input / output interface 510 as necessary, and a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a removable medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and a computer program read from them is It is installed in the storage unit 513 as necessary.
  • a program constituting the software is installed from a network or a recording medium.
  • the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( It is only composed of removable media 521 consisting of CD-ROM (compact disc-read only memory), DVD (including digital versatile disc), magneto-optical disc (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in a state of being pre-installed in the apparatus main body.
  • a magnetic disk including a flexible disk
  • an optical disk It is only composed of removable media 521 consisting of CD-ROM (compact disc-read only memory), DVD (including digital versatile disc), magneto-optical disc (including MD (mini disc)), or semiconductor memory. Rather, it is composed of a ROM 502 on which a program is recorded and a hard disk included in the storage unit 513, which is distributed to the user in
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • system represents the entire apparatus composed of a plurality of devices (apparatuses).
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). . That is, the embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
  • image encoding device 100 and image decoding device 200 can be applied to any electronic device. Examples thereof will be described below.
  • FIG. 46 is a block diagram illustrating a main configuration example of a television receiver using the image decoding device 200 to which the present invention has been applied.
  • the television receiver 1000 shown in FIG. 46 has a terrestrial tuner 1013, a video decoder 1015, a video signal processing circuit 1018, a graphic generation circuit 1019, a panel drive circuit 1020, and a display panel 1021.
  • the terrestrial tuner 1013 receives a broadcast wave signal of terrestrial analog broadcast via an antenna, demodulates it, acquires a video signal, and supplies it to the video decoder 1015.
  • the video decoder 1015 performs a decoding process on the video signal supplied from the terrestrial tuner 1013 and supplies the obtained digital component signal to the video signal processing circuit 1018.
  • the video signal processing circuit 1018 performs predetermined processing such as noise removal on the video data supplied from the video decoder 1015 and supplies the obtained video data to the graphic generation circuit 1019.
  • the graphic generation circuit 1019 generates video data of a program to be displayed on the display panel 1021, image data by processing based on an application supplied via a network, and the generated video data and image data to the panel drive circuit 1020. Supply.
  • the graphic generation circuit 1019 generates video data (graphics) for displaying a screen used by the user for selecting an item and superimposing it on the video data of the program.
  • a process of supplying data to the panel drive circuit 1020 is also appropriately performed.
  • the panel drive circuit 1020 drives the display panel 1021 based on the data supplied from the graphic generation circuit 1019, and causes the display panel 1021 to display the video of the program and the various screens described above.
  • the display panel 1021 is composed of an LCD (Liquid Crystal Display) or the like, and displays a program video or the like according to control by the panel drive circuit 1020.
  • LCD Liquid Crystal Display
  • the television receiver 1000 also includes an audio A / D (Analog / Digital) conversion circuit 1014, an audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • an audio A / D (Analog / Digital) conversion circuit 1014 An audio signal processing circuit 1022, an echo cancellation / audio synthesis circuit 1023, an audio amplification circuit 1024, and a speaker 1025.
  • the terrestrial tuner 1013 acquires not only the video signal but also the audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 1013 supplies the acquired audio signal to the audio A / D conversion circuit 1014.
  • the audio signal processing circuit 1022 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 1014 and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 supplies the voice data supplied from the voice signal processing circuit 1022 to the voice amplification circuit 1024.
  • the audio amplification circuit 1024 performs D / A conversion processing and amplification processing on the audio data supplied from the echo cancellation / audio synthesis circuit 1023, adjusts to a predetermined volume, and then outputs the audio from the speaker 1025.
  • the television receiver 1000 also has a digital tuner 1016 and an MPEG decoder 1017.
  • the digital tuner 1016 receives a broadcast wave signal of digital broadcasting (terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting) via an antenna, demodulates, and MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 1017.
  • digital broadcasting terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 1017 releases the scramble applied to the MPEG-TS supplied from the digital tuner 1016 and extracts a stream including program data to be played (viewing target).
  • the MPEG decoder 1017 decodes the audio packet constituting the extracted stream, supplies the obtained audio data to the audio signal processing circuit 1022, decodes the video packet constituting the stream, and converts the obtained video data into the video This is supplied to the signal processing circuit 1018.
  • the MPEG decoder 1017 supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 1032 via a path (not shown).
  • EPG Electronic Program Guide
  • the television receiver 1000 uses the above-described image decoding device 200 as the MPEG decoder 1017 for decoding video packets in this way.
  • MPEG-TS transmitted from a broadcasting station or the like is encoded by the image encoding device 100.
  • the MPEG decoder 1017 extracts control information for a plurality of slices embedded in one slice header from the encoded data supplied from the image encoding device 100, and controls the control. Since adaptive filter processing is appropriately performed based on information, it is possible to suppress a reduction in encoding efficiency due to local control of filter processing.
  • the video data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the video signal processing circuit 1018 as in the case of the video data supplied from the video decoder 1015, and the generated video data in the graphic generation circuit 1019. Are appropriately superimposed and supplied to the display panel 1021 via the panel drive circuit 1020, and the image is displayed.
  • the audio data supplied from the MPEG decoder 1017 is subjected to predetermined processing in the audio signal processing circuit 1022 as in the case of the audio data supplied from the audio A / D conversion circuit 1014, and an echo cancellation / audio synthesis circuit 1023.
  • predetermined processing in the audio signal processing circuit 1022 as in the case of the audio data supplied from the audio A / D conversion circuit 1014, and an echo cancellation / audio synthesis circuit 1023.
  • sound adjusted to a predetermined volume is output from the speaker 1025.
  • the television receiver 1000 also includes a microphone 1026 and an A / D conversion circuit 1027.
  • the A / D conversion circuit 1027 receives a user's voice signal captured by a microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital audio data is supplied to the echo cancellation / audio synthesis circuit 1023.
  • the echo cancellation / audio synthesis circuit 1023 performs echo cancellation on the audio data of the user A.
  • the voice data obtained by combining with other voice data is output from the speaker 1025 via the voice amplifier circuit 1024.
  • the television receiver 1000 also includes an audio codec 1028, an internal bus 1029, an SDRAM (Synchronous Dynamic Random Access Memory) 1030, a flash memory 1031, a CPU 1032, a USB (Universal Serial Bus) I / F 1033, and a network I / F 1034.
  • an audio codec 1028 an internal bus 1029
  • an SDRAM Serial Dynamic Random Access Memory
  • flash memory 1031
  • CPU central processing unit
  • USB Universal Serial Bus
  • the A / D conversion circuit 1027 receives a user's voice signal captured by a microphone 1026 provided in the television receiver 1000 for voice conversation, and performs A / D conversion processing on the received voice signal.
  • the obtained digital audio data is supplied to the audio codec 1028.
  • the audio codec 1028 converts the audio data supplied from the A / D conversion circuit 1027 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 1034 via the internal bus 1029.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035.
  • the network I / F 1034 transmits the audio data supplied from the audio codec 1028 to another device connected to the network.
  • the network I / F 1034 receives, for example, audio data transmitted from another device connected via the network via the network terminal 1035, and receives the audio data via the internal bus 1029 to the audio codec 1028. Supply.
  • the voice codec 1028 converts the voice data supplied from the network I / F 1034 into data of a predetermined format and supplies it to the echo cancellation / voice synthesis circuit 1023.
  • the echo cancellation / speech synthesis circuit 1023 performs echo cancellation on the speech data supplied from the speech codec 1028, and synthesizes speech data obtained by combining with other speech data via the speech amplification circuit 1024. And output from the speaker 1025.
  • the SDRAM 1030 stores various data necessary for the CPU 1032 to perform processing.
  • the flash memory 1031 stores a program executed by the CPU 1032.
  • the program stored in the flash memory 1031 is read by the CPU 1032 at a predetermined timing such as when the television receiver 1000 is activated.
  • the flash memory 1031 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 1031 stores MPEG-TS including content data acquired from a predetermined server via a network under the control of the CPU 1032.
  • the flash memory 1031 supplies the MPEG-TS to the MPEG decoder 1017 via the internal bus 1029, for example, under the control of the CPU 1032.
  • the MPEG decoder 1017 processes the MPEG-TS as in the case of MPEG-TS supplied from the digital tuner 1016. In this way, the television receiver 1000 receives content data including video and audio via the network, decodes it using the MPEG decoder 1017, displays the video, and outputs audio. Can do.
  • the television receiver 1000 also includes a light receiving unit 1037 that receives an infrared signal transmitted from the remote controller 1051.
  • the light receiving unit 1037 receives infrared rays from the remote controller 1051 and outputs a control code representing the contents of the user operation obtained by demodulation to the CPU 1032.
  • the CPU 1032 executes a program stored in the flash memory 1031 and controls the entire operation of the television receiver 1000 according to a control code supplied from the light receiving unit 1037.
  • the CPU 1032 and each part of the television receiver 1000 are connected via a path (not shown).
  • the USB I / F 1033 transmits / receives data to / from an external device of the television receiver 1000 connected via a USB cable attached to the USB terminal 1036.
  • the network I / F 1034 is connected to the network via a cable attached to the network terminal 1035, and transmits / receives data other than audio data to / from various devices connected to the network.
  • the television receiver 1000 can extract control information for a plurality of slices added to one slice header of encoded data. Can be used to appropriately perform adaptive filter processing. As a result, the television receiver 1000 suppresses the reduction in the encoding efficiency for local control of the filter processing of the broadcast wave signal received via the antenna and the content data acquired via the network. Can be realized.
  • FIG. 48 is a block diagram illustrating a main configuration example of a mobile phone using the image encoding device and the image decoding device to which the present invention has been applied.
  • a mobile phone 1100 shown in FIG. 48 includes a main control unit 1150, a power supply circuit unit 1151, an operation input control unit 1152, an image encoder 1153, a camera I / F unit 1154, an LCD control, which are configured to control each unit in an integrated manner.
  • Section 1155, image decoder 1156, demultiplexing section 1157, recording / reproducing section 1162, modulation / demodulation circuit section 1158, and audio codec 1159 are connected to each other via a bus 1160.
  • the mobile phone 1100 also includes operation keys 1119, a CCD (Charge Coupled Devices) camera 1116, a liquid crystal display 1118, a storage unit 1123, a transmission / reception circuit unit 1163, an antenna 1114, a microphone (microphone) 1121, and a speaker 1117.
  • a CCD Charge Coupled Devices
  • the power supply circuit unit 1151 starts up the mobile phone 1100 in an operable state by supplying power from the battery pack to each unit.
  • the mobile phone 1100 transmits and receives voice signals, e-mails and image data, and images in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 1150 including a CPU, a ROM, a RAM, and the like. Various operations such as shooting or data recording are performed.
  • the mobile phone 1100 converts the voice signal collected by the microphone (microphone) 1121 into digital voice data by the voice codec 1159, performs spectrum spread processing by the modulation / demodulation circuit unit 1158, and transmits and receives
  • the unit 1163 performs digital / analog conversion processing and frequency conversion processing.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone line network.
  • the cellular phone 1100 in the voice call mode, the cellular phone 1100 amplifies the received signal received by the antenna 1114 by the transmission / reception circuit unit 1163, further performs frequency conversion processing and analog-digital conversion processing, and performs spectrum despreading processing by the modulation / demodulation circuit unit 1158. Then, the audio codec 1159 converts it into an analog audio signal. The cellular phone 1100 outputs an analog audio signal obtained by the conversion from the speaker 1117.
  • the mobile phone 1100 when transmitting an e-mail in the data communication mode, receives the text data of the e-mail input by operating the operation key 1119 in the operation input control unit 1152.
  • the cellular phone 1100 processes the text data in the main control unit 1150 and displays it on the liquid crystal display 1118 as an image via the LCD control unit 1155.
  • the mobile phone 1100 generates e-mail data in the main control unit 1150 based on text data received by the operation input control unit 1152, user instructions, and the like.
  • the cellular phone 1100 performs spread spectrum processing on the e-mail data by the modulation / demodulation circuit unit 1158 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network and a mail server.
  • the mobile phone 1100 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 1163 via the antenna 1114, and further performs frequency conversion processing and Analog-digital conversion processing.
  • the cellular phone 1100 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 1158 to restore the original e-mail data.
  • the cellular phone 1100 displays the restored e-mail data on the liquid crystal display 1118 via the LCD control unit 1155.
  • the mobile phone 1100 can also record (store) the received e-mail data in the storage unit 1123 via the recording / playback unit 1162.
  • the storage unit 1123 is an arbitrary rewritable storage medium.
  • the storage unit 1123 may be, for example, a semiconductor memory such as a RAM or a built-in flash memory, a hard disk, or a removable disk such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. It may be media. Of course, other than these may be used.
  • the mobile phone 1100 when transmitting image data in the data communication mode, the mobile phone 1100 generates image data with the CCD camera 1116 by imaging.
  • the CCD camera 1116 has an optical device such as a lens and a diaphragm and a CCD as a photoelectric conversion element, images a subject, converts the intensity of received light into an electrical signal, and generates image data of the subject image.
  • the CCD camera 1116 encodes the image data with the image encoder 1153 via the camera I / F unit 1154 and converts the encoded image data into encoded image data.
  • the cellular phone 1100 uses the above-described image encoding device 100 as the image encoder 1153 that performs such processing. Therefore, the image encoder 1053 can suppress a reduction in encoding efficiency due to local control of filter processing, as in the case of the image encoding device 100. For example, since the image encoder 1053 adds control information for a plurality of slices added to one slice header of the encoded data, the encoding efficiency can be improved as compared with the case where the control information is embedded for each slice.
  • the cellular phone 1100 simultaneously converts the audio collected by the microphone (microphone) 1121 during imaging by the CCD camera 1116 to analog-digital conversion by the audio codec 1159 and further encodes it.
  • the cellular phone 1100 multiplexes the encoded image data supplied from the image encoder 1153 and the digital audio data supplied from the audio codec 1159 in a demultiplexing unit 1157.
  • the cellular phone 1100 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 1158 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 1163.
  • the cellular phone 1100 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 1114.
  • a transmission signal (image data) transmitted to the base station is supplied to a communication partner via a network or the like.
  • the mobile phone 1100 can also display the image data generated by the CCD camera 1116 on the liquid crystal display 1118 via the LCD control unit 1155 without using the image encoder 1153.
  • the mobile phone 1100 when receiving data of a moving image file linked to a simple homepage or the like, transmits a signal transmitted from the base station to the transmission / reception circuit unit 1163 via the antenna 1114. Receive, amplify, and further perform frequency conversion processing and analog-digital conversion processing.
  • the cellular phone 1100 restores the original multiplexed data by subjecting the received signal to spectrum despreading processing by the modulation / demodulation circuit unit 1158.
  • the demultiplexing unit 1157 separates the multiplexed data and divides it into encoded image data and audio data.
  • the cellular phone 1100 generates reproduced moving image data by decoding the encoded image data in the image decoder 1156, and displays it on the liquid crystal display 1118 via the LCD control unit 1155. Thereby, for example, the moving image data included in the moving image file linked to the simple homepage is displayed on the liquid crystal display 1118.
  • the cellular phone 1100 uses the above-described image decoding device 200 as the image decoder 1156 that performs such processing. Therefore, the image decoder 1156 can extract control information for a plurality of slices added to one slice header of the encoded data, as in the case of the image decoding device 200, and further using the control information. Appropriate adaptive filtering can be performed. As a result, it is possible to realize suppression of reduction in encoding efficiency for local control of filter processing.
  • the cellular phone 1100 simultaneously converts the digital audio data into an analog audio signal in the audio codec 1159 and outputs it from the speaker 1117. Thereby, for example, audio data included in the moving image file linked to the simple homepage is reproduced.
  • the mobile phone 1100 can record (store) the data linked to the received simplified home page in the storage unit 1123 via the recording / playback unit 1162. .
  • the mobile phone 1100 can analyze the two-dimensional code obtained by the CCD camera 1116 and captured by the main control unit 1150 and obtain information recorded in the two-dimensional code.
  • the cellular phone 1100 can communicate with an external device by infrared rays at the infrared communication unit 1181.
  • the cellular phone 1100 uses the image encoding device 100 as the image encoder 1153, and for example, encodes encoded data generated by encoding image data generated by the CCD camera 1116 by local control of filter processing. Reduction in efficiency can be suppressed. As a result, the mobile phone 1100 can provide encoded data (image data) with higher encoding efficiency to other devices than when control information is embedded for each slice.
  • the mobile phone 1100 can extract control information for a plurality of slices added to one slice header of the encoded data, and further, the control information Can be used to appropriately perform adaptive filter processing.
  • the mobile phone 1100 can realize, for example, suppression of a reduction in encoding efficiency for local control of filter processing of data of a moving image file linked to a simple homepage or the like.
  • the cellular phone 1100 uses the CCD camera 1116.
  • an image sensor CMOS image sensor
  • CMOS Complementary Metal Metal Oxide Semiconductor
  • the mobile phone 1100 can capture an image of a subject and generate image data of the image of the subject as in the case where the CCD camera 1116 is used.
  • the mobile phone 1100 has been described.
  • a PDA Personal Digital Assistant
  • a smartphone an UMPC (Ultra Mobile Personal Computer)
  • a netbook a notebook personal computer, etc.
  • the image encoding device 100 and the image decoding device 200 can be applied to any device as in the case of the mobile phone 1100.
  • FIG. 48 is a block diagram showing a main configuration example of a hard disk recorder using an image encoding device and an image decoding device to which the present invention is applied.
  • a hard disk recorder (HDD recorder) 1200 shown in FIG. 48 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted from a satellite or a ground antenna received by a tuner.
  • This is an apparatus for storing in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • the hard disk recorder 1200 can extract, for example, audio data and video data from broadcast wave signals, appropriately decode them, and store them in a built-in hard disk.
  • the hard disk recorder 1200 can also acquire audio data and video data from other devices via a network, for example, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 1200 decodes audio data and video data recorded on the built-in hard disk, supplies them to the monitor 1260, displays the image on the screen of the monitor 1260, and displays the sound from the speaker of the monitor 1260. Can be output. Further, the hard disk recorder 1200 decodes audio data and video data extracted from a broadcast wave signal acquired via a tuner, or audio data and video data acquired from another device via a network, for example. The image can be supplied to the monitor 1260, the image can be displayed on the screen of the monitor 1260, and the sound can be output from the speaker of the monitor 1260.
  • the hard disk recorder 1200 includes a receiving unit 1221, a demodulating unit 1222, a demultiplexer 1223, an audio decoder 1224, a video decoder 1225, and a recorder control unit 1226.
  • the hard disk recorder 1200 further includes an EPG data memory 1227, a program memory 1228, a work memory 1229, a display converter 1230, an OSD (On-Screen Display) control unit 1231, a display control unit 1232, a recording / playback unit 1233, a D / A converter 1234, And a communication unit 1235.
  • the display converter 1230 has a video encoder 1241.
  • the recording / playback unit 1233 includes an encoder 1251 and a decoder 1252.
  • the receiving unit 1221 receives an infrared signal from a remote controller (not shown), converts it into an electrical signal, and outputs it to the recorder control unit 1226.
  • the recorder control unit 1226 is constituted by, for example, a microprocessor and executes various processes according to a program stored in the program memory 1228. At this time, the recorder control unit 1226 uses the work memory 1229 as necessary.
  • the communication unit 1235 is connected to the network and performs communication processing with other devices via the network.
  • the communication unit 1235 is controlled by the recorder control unit 1226, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
  • the demodulator 1222 demodulates the signal supplied from the tuner and outputs the demodulated signal to the demultiplexer 1223.
  • the demultiplexer 1223 separates the data supplied from the demodulation unit 1222 into audio data, video data, and EPG data, and outputs them to the audio decoder 1224, the video decoder 1225, or the recorder control unit 1226, respectively.
  • the audio decoder 1224 decodes the input audio data and outputs it to the recording / playback unit 1233.
  • the video decoder 1225 decodes the input video data and outputs it to the display converter 1230.
  • the recorder control unit 1226 supplies the input EPG data to the EPG data memory 1227 for storage.
  • the display converter 1230 encodes the video data supplied from the video decoder 1225 or the recorder control unit 1226 into, for example, NTSC (National Television Standards Committee) video data using the video encoder 1241, and outputs the encoded video data to the recording / playback unit 1233.
  • the display converter 1230 converts the screen size of the video data supplied from the video decoder 1225 or the recorder control unit 1226 into a size corresponding to the size of the monitor 1260, and converts the video data to NTSC video data by the video encoder 1241. Then, it is converted into an analog signal and output to the display control unit 1232.
  • the display control unit 1232 Under the control of the recorder control unit 1226, the display control unit 1232 superimposes the OSD signal output by the OSD (On Screen Display) control unit 1231 on the video signal input from the display converter 1230, and displays it on the monitor 1260 display. Output and display.
  • OSD On Screen Display
  • the monitor 1260 is also supplied with the audio data output from the audio decoder 1224 after being converted into an analog signal by the D / A converter 1234.
  • the monitor 1260 outputs this audio signal from a built-in speaker.
  • the recording / playback unit 1233 has a hard disk as a storage medium for recording video data, audio data, and the like.
  • the recording / playback unit 1233 encodes the audio data supplied from the audio decoder 1224 by the encoder 1251, for example.
  • the recording / playback unit 1233 encodes the video data supplied from the video encoder 1241 of the display converter 1230 by the encoder 1251.
  • the recording / playback unit 1233 combines the encoded data of the audio data and the encoded data of the video data by a multiplexer.
  • the recording / playback unit 1233 amplifies the synthesized data by channel coding, and writes the data to the hard disk via the recording head.
  • the recording / playback unit 1233 plays back the data recorded on the hard disk via the playback head, amplifies it, and separates it into audio data and video data by a demultiplexer.
  • the recording / playback unit 1233 uses the decoder 1252 to decode the audio data and the video data.
  • the recording / playback unit 1233 performs D / A conversion on the decoded audio data and outputs it to the speaker of the monitor 1260.
  • the recording / playback unit 1233 performs D / A conversion on the decoded video data and outputs it to the display of the monitor 1260.
  • the recorder control unit 1226 reads the latest EPG data from the EPG data memory 1227 based on the user instruction indicated by the infrared signal from the remote controller received via the receiving unit 1221, and supplies it to the OSD control unit 1231. To do.
  • the OSD control unit 1231 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 1232.
  • the display control unit 1232 outputs the video data input from the OSD control unit 1231 to the display of the monitor 1260 for display. As a result, an EPG (electronic program guide) is displayed on the display of the monitor 1260.
  • the hard disk recorder 1200 can acquire various data such as video data, audio data, or EPG data supplied from other devices via a network such as the Internet.
  • the communication unit 1235 is controlled by the recorder control unit 1226, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies the encoded data to the recorder control unit 1226. To do.
  • the recorder control unit 1226 supplies the encoded data of the acquired video data and audio data to the recording / playback unit 1233 and stores it in the hard disk.
  • the recorder control unit 1226 and the recording / playback unit 1233 may perform processing such as re-encoding as necessary.
  • the recorder control unit 1226 decodes the acquired encoded data of video data and audio data, and supplies the obtained video data to the display converter 1230. Similar to the video data supplied from the video decoder 1225, the display converter 1230 processes the video data supplied from the recorder control unit 1226, supplies the processed video data to the monitor 1260 via the display control unit 1232, and displays the image. .
  • the recorder control unit 1226 may supply the decoded audio data to the monitor 1260 via the D / A converter 1234 and output the sound from the speaker.
  • the recorder control unit 1226 decodes the encoded data of the acquired EPG data and supplies the decoded EPG data to the EPG data memory 1227.
  • the hard disk recorder 1200 as described above uses the image decoding device 200 as a decoder built in the video decoder 1225, the decoder 1252, and the recorder control unit 1226. Therefore, the decoder incorporated in the video decoder 1225, the decoder 1252, and the recorder control unit 1226 receives control information for a plurality of slices added to one slice header of the encoded data, as in the case of the image decoding device 200. In addition, the adaptive filter processing can be appropriately performed using the control information. As a result, it is possible to realize suppression of reduction in encoding efficiency for local control of filter processing.
  • the hard disk recorder 1200 can extract the control information for a plurality of slices added to one slice header of the encoded data, and can appropriately execute the adaptive filter processing using the control information. it can.
  • the hard disk recorder 1200 is used for local control of filter processing of, for example, video data received via the tuner or the communication unit 1235 or video data recorded on the hard disk of the recording / playback unit 1233. Suppression of reduction in encoding efficiency can be realized.
  • the hard disk recorder 1200 uses the image encoding device 100 as the encoder 1251. Therefore, the encoder 1251 can suppress a reduction in encoding efficiency due to local control of filter processing, as in the case of the image encoding device 100. For example, since the encoder 1251 adds control information for a plurality of slices added to one slice header of the encoded data, the encoding efficiency can be improved as compared with the case where the control information is embedded for each slice.
  • the hard disk recorder 1200 can suppress a reduction in encoding efficiency due to local control of filter processing of encoded data recorded in, for example, a hard disk. As a result, the hard disk recorder 1200 can use the storage area of the hard disk more efficiently than when the control information is embedded for each slice.
  • the hard disk recorder 1200 for recording video data and audio data on the hard disk has been described.
  • any recording medium may be used.
  • the image encoding device 100 and the image decoding device 200 are applied as in the case of the hard disk recorder 1200 described above. Can do.
  • FIG. 49 is a block diagram illustrating a main configuration example of a camera using the image encoding device and the image decoding device to which the present invention has been applied.
  • the camera 1300 shown in FIG. 49 captures a subject and displays an image of the subject on the LCD 1316 or records it on the recording medium 1333 as image data.
  • the lens block 1311 causes light (that is, an image of the subject) to enter the CCD / CMOS 1312.
  • the CCD / CMOS 1312 is an image sensor using CCD or CMOS, converts the intensity of received light into an electric signal, and supplies it to the camera signal processing unit 1313.
  • the camera signal processing unit 1313 converts the electrical signal supplied from the CCD / CMOS 1312 into Y, Cr, and Cb color difference signals and supplies them to the image signal processing unit 1314.
  • the image signal processing unit 1314 performs predetermined image processing on the image signal supplied from the camera signal processing unit 1313 or encodes the image signal with the encoder 1341 under the control of the controller 1321.
  • the image signal processing unit 1314 supplies encoded data generated by encoding the image signal to the decoder 1315. Further, the image signal processing unit 1314 acquires display data generated in the on-screen display (OSD) 1320 and supplies it to the decoder 1315.
  • OSD on-screen display
  • the camera signal processing unit 1313 appropriately uses DRAM (Dynamic Random Access Memory) 1318 connected via the bus 1317, and if necessary, image data or a code obtained by encoding the image data.
  • DRAM Dynamic Random Access Memory
  • the digitized data or the like is held in the DRAM 1318.
  • the decoder 1315 decodes the encoded data supplied from the image signal processing unit 1314 and supplies the obtained image data (decoded image data) to the LCD 1316. In addition, the decoder 1315 supplies the display data supplied from the image signal processing unit 1314 to the LCD 1316. The LCD 1316 appropriately synthesizes the image of the decoded image data supplied from the decoder 1315 and the image of the display data, and displays the synthesized image.
  • the on-screen display 1320 outputs display data such as menu screens and icons composed of symbols, characters, or figures to the image signal processing unit 1314 via the bus 1317 under the control of the controller 1321.
  • the controller 1321 executes various processes based on a signal indicating the content instructed by the user using the operation unit 1322, and also via the bus 1317, an image signal processing unit 1314, a DRAM 1318, an external interface 1319, an on-screen display. 1320, media drive 1323, and the like are controlled.
  • the FLASH ROM 1324 stores programs and data necessary for the controller 1321 to execute various processes.
  • the controller 1321 can encode the image data stored in the DRAM 1318 or decode the encoded data stored in the DRAM 1318 instead of the image signal processing unit 1314 and the decoder 1315.
  • the controller 1321 may be configured to perform encoding / decoding processing by a method similar to the encoding / decoding method of the image signal processing unit 1314 or the decoder 1315, or the image signal processing unit 1314 or the decoder 1315 is compatible.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 1321 reads out image data from the DRAM 1318 and supplies it to the printer 1334 connected to the external interface 1319 via the bus 1317. Let it print.
  • the controller 1321 reads the encoded data from the DRAM 1318 and supplies it to the recording medium 1333 mounted on the media drive 1323 via the bus 1317.
  • the recording medium 1333 is an arbitrary readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 1333 may be of any kind as a removable medium, and may be a tape device, a disk, or a memory card.
  • a non-contact IC card or the like may be used.
  • media drive 1323 and the recording medium 1333 may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or SSD (Solid State Drive).
  • SSD Solid State Drive
  • the external interface 1319 is composed of, for example, a USB input / output terminal or the like, and is connected to the printer 1334 when printing an image.
  • a drive 1331 is connected to the external interface 1319 as necessary, and a removable medium 1332 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from them is loaded as necessary. Installed in the FLASH ROM 1324.
  • the external interface 1319 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 1321 can read the encoded data from the DRAM 1318 in accordance with an instruction from the operation unit 1322 and supply the encoded data to the other device connected via the network from the external interface 1319.
  • the controller 1321 acquires encoded data and image data supplied from another device via the network via the external interface 1319, holds the data in the DRAM 1318, or supplies it to the image signal processing unit 1314. Can be.
  • the camera 1300 as described above uses the image decoding device 200 as the decoder 1315. Therefore, the decoder 1315 can extract control information for a plurality of slices added to one slice header of encoded data, as in the case of the image decoding apparatus 200, and further, using the control information, Adaptive filtering can be performed. As a result, it is possible to realize suppression of reduction in encoding efficiency for local control of filter processing.
  • the camera 1300 can extract control information for a plurality of slices added to one slice header of the encoded data, and can appropriately execute adaptive filter processing using the control information. .
  • the camera 1300 can, for example, store image data generated in the CCD / CMOS 1312, encoded data of video data read from the DRAM 1318 or the recording medium 1333, or encoded data of video data acquired via a network.
  • image data generated in the CCD / CMOS 1312 encoded data of video data read from the DRAM 1318 or the recording medium 1333, or encoded data of video data acquired via a network.
  • the camera 1300 uses the image encoding device 100 as the encoder 1341. Therefore, the encoder 1341 can suppress a reduction in encoding efficiency due to local control of filter processing, as in the case of the image encoding device 100. For example, since control information for a plurality of slices added to one slice header of encoded data is added, encoding efficiency can be improved as compared with the case where control information is embedded for each slice.
  • the camera 1300 can suppress a reduction in encoding efficiency due to local control of filter processing of encoded data recorded in the DRAM 1318 or the recording medium 1333 or encoded data provided to another device. it can. As a result, the camera 1300 can use the storage area of the DRAM 1318 or the recording medium 1333 more efficiently.
  • the camera 1300 can also provide encoded data (image data) with high encoding efficiency to other devices.
  • the decoding method of the image decoding device 200 may be applied to the decoding process performed by the controller 1321.
  • the encoding method of the image encoding device 100 may be applied to the encoding process performed by the controller 1321.
  • the image data captured by the camera 1300 may be a moving image or a still image.
  • image encoding device 100 and the image decoding device 200 can also be applied to devices and systems other than the devices described above.
  • the size of the macroblock is not limited to 16 ⁇ 16 pixels.
  • the present invention can be applied to macroblocks of any size such as 32 ⁇ 32 pixels shown in FIG.
  • the flag information or the like is described as being multiplexed (description) into the bitstream, but in addition to multiplexing, for example, a flag and image data (or bitstream) may be transmitted (recorded). Good. There may be a form in which the flag and the image data (or bit stream) are connected (added).
  • Concatenation indicates a state in which image data (or bit stream) and a flag are linked to each other (a state in which correspondence is established), and the physical positional relationship is arbitrary.
  • the image data (or bit stream) and the flag may be transmitted through different transmission paths.
  • the image data (or bit stream) and the flag may be recorded on different recording media (or different recording areas in the same recording medium).
  • the unit for linking the image data (or bit stream) and the flag is arbitrary, and may be set, for example, in encoding processing units (one frame, multiple frames, etc.).

Landscapes

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

Abstract

 本発明は、符号化効率の低減を抑制することができる画像処理装置および方法に関する。 制御情報付加部184は、符号化データ保持部182に保持される符号化データの、所定のスライスのスライスヘッダに、制御情報保持部183に保持される1ピクチャ分の制御情報を埋め込む。例えば、制御情報付加部184は、符号化データの処理対象フレームの、最初に伝送されるスライスのスライスヘッダに、1ピクチャ分の制御情報を埋め込む。制御情報付加部184は、制御情報を付加した符号化データを所定順に出力する。本発明は、例えば、画像処理装置に適用することができる。

Description

画像処理装置および方法
 本発明は、画像処理装置および方法に関し、特に、符号化時または復号時のフィルタ処理の局所的な制御による符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
 近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
 特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4~8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18~22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
 MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC14496-2としてその規格が国際標準に承認された。
 更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L(ITU-T(ITU Telecommunication Standardization Sector)Q6/16 VCEG(Video Coding Experts Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH.264及びMPEG4 Part10(AVC(Advanced Video Coding))という名の元に国際標準となった。
 また、最近、検討されている次世代のビデオ符号化技術として適応ループフィルタ(ALF(Adaptive Loop Filter))がある(例えば、非特許文献1参照)。この適応フィルタにより、フレーム毎に最適なフィルタ処理が行われ、デブロックフィルタで取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 しかしながら、一般に画像は局所的には様々な特徴をもっているため、局所的には最適なフィルタ係数は異なる。非特許文献1記載の方法では、1フレーム内のすべて画素に対して同じフィルタ係数が適用されるため、フレーム全体では画質を改善するが、局所的には悪化させる恐れがあった。
 そこで、局所的に悪化する領域にはフィルタ処理を行わない方法が考えられた(例えば非特許文献2、および非特許文献3参照)。この方法の場合、画像符号化装置は、画像の領域に、敷き詰めるように隙間無く並べられた複数の制御ブロックを対応させ、その制御ブロック毎に画像にフィルタ処理を行うか否かを制御する。画像符号化装置は、ブロック毎にフラグ情報を設定し、そのフラグ情報にしたがって適応フィルタ処理を行う。画像復号装置も同様に、このフラグ情報に基づいて適応フィルタ処理を行う。
 この場合、復号時に符号化時と同様の適応フィルタ処理を実行することができるように、制御ブロックのサイズ、各制御ブロックのフラグ情報、並びに、適応フィルタ処理のフィルタ係数情報やフィルタTAP数等といった制御情報(ALF制御情報)を符号化データに含める必要がある。
 このALF制御情報は、1ピクチャ毎に変化することが多いため、従来の考えではピクチャパラメータセット(PPS(Picture Parameter Set))あるいはシーケンスパラメータセット(SPS(Sequence Parameter Set))に含める。しかしながら、これらのPPSやSPSにALF制御情報を含めようとすると、pic_order_present_flag,num_ref_idx_l0_active_minus1,profile_idc、およびlevel_idcといったALFには直接関係の無い情報が付随するため不要なビットを画像圧縮情報に含んでしまい、そのオーバーヘッドによって符号化効率を悪化させる恐れがあった。
 また、独立したNAL(Network Abstraction Layer)ユニットを作り、上述の不要な情報を取り除いた場合でも、start code, nal_ref_idc,およびnal_unit_typeが必要となり、それらのオーバーヘッドが符号化効率を悪化させる恐れがあった。
 このような問題を回避するため、これらのALF制御情報をスライスヘッダに含めることが提案されている(例えば、非特許文献4参照)。また、スライスヘッダにALF制御情報を置かずに、ALF制御情報の場所を示すポインタ情報を置く方法も提案されている(例えば、非特許文献5参照)。
Yi-Jen Chiu and L. Xu, "Adaptive (Wiener) Filter for Video Compression," ITU-T SG16 Contribution, C437, Geneva, April 2008. Takeshi. Chujoh, et al., "Block-based Adaptive Loop Filter" ITU-T SG16 Q6 VCEG Contribution, AI18, Germany, July, 2008 T. Chujoh, N. Wada and G. Yasuda, "Quadtree-based Adaptive Loop Filter," ITU-T SG16 Q6 VCEG Contribution, VCEG-AK22(r1), Japan, April, 2009 Takeshi. Chujoh, et al., "Improvement of Block-based Adaptive Loop Filter" ITU-T SG16 Q6 VCEG Contribution, AJ13, San Diego, October, 2008 Yu-Wen Huang, et all., "Adaptive Quadtree-based Multi-reference Loop Filter", ITU-T SG16 Q6 VCEG Contribution, AK24, Yokohama Japan, April, 2009
 ところで、1フレームを複数のスライスに分割し、そのスライス毎に画像の符号化処理や復号処理を行う方法(マルチスライス)がある。フレームを複数のスライス領域に分割することは、画像圧縮情報の転送中のエラー耐性を高くするために有効な方法である。
 しかしながら、非特許文献2乃至非特許文献5には、単に1フレーム全体についてブロックを設定し、全ブロックのフラグ情報を生成して送信することが記載されているのみであり、このようなマルチスライスの場合のフラグ情報の処理について記載されておらず、どのようにフラグ情報を生成し、利用するべきか不明であった。
 したがって、非特許文献の記載の方法の場合、画像符号化装置は、各スライスに対して、フレーム内全てのブロックのフラグ情報を生成することになり、不要なフラグ情報等により、符号化効率を悪化させる恐れがあった。
 また、上述したように非特許文献4には、ALF制御情報をスライスヘッダに含めることが提案されているが、マルチスライスの場合において、各スライスに対して生成されたALF制御情報を符号化データのそれぞれのスライスヘッダに含めるようにすると、その複数のALF制御情報間で内容が重複する部分が生じる恐れがあった。すなわち、符号化効率を不要に低減させる恐れがあった。
 非特許文献5に記載のようにスライスヘッダにポインタを置く場合も同様であり、複数のスライスヘッダにポインタを置く場合、重複した情報を符号化データに含めることになり、符号化効率を不要に低減させる恐れがあった。
 本発明は、このような状況に鑑みて提案されたものであり、符号化時または復号時のフィルタ処理の局所的な制御による符号化効率の低減を抑制することを目的とする。
 本発明の一側面は、画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報を生成する制御情報生成手段と、前記制御情報生成手段により生成された前記フィルタ制御情報に従って、前記画像に対して前記フィルタ処理を行うフィルタ手段と、前記画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に、前記ヘッダ情報が属するフレームの複数の前記データ単位に対応する前記フィルタ制御情報を付加する制御情報付加手段とを備える画像処理装置である。
 前記制御情報付加手段は、前記フレームの最初に伝送される前記データ単位のヘッダ情報に、前記フィルタ制御情報を付加することができる。
 前記制御情報付加手段は、前記フレームの先頭に位置する前記データ単位のヘッダ情報に、前記フィルタ制御情報を付加することができる。
 前記制御情報付加手段は、前記ヘッダ情報に、前記フレーム全体に対応する前記フィルタ制御情報を付加することができる。
 前記制御情報付加手段は、前記フレーム内の複数の前記ヘッダ情報のそれぞれに、互いに異なる複数の前記データ単位に対応する前記フィルタ制御情報を付加することができる。
 前記フレーム内の、前記フィルタ制御情報を付加する前記ヘッダ情報の数を設定する設定手段をさらに備えることができる。
 前記制御情報付加手段は、前記ヘッダ情報に、前記符号化データに付加された前記フィルタ制御情報の位置を示すポインタを付加することができる。
 前記データ単位は、前記フレーム内に複数形成されるスライスであることができる。
 前記制御情報は、前記フィルタ処理のフィルタ係数、前記制御ブロックの領域の大きさを示すブロックサイズ、および、前記制御ブロックの領域毎に前記フィルタ処理を行うか否かを示すフラグを含むことができる。
 前記フィルタ手段により前記フィルタ処理が行われた前記画像を用いて生成された画像を符号化する符号化手段をさらに備え、前記制御情報付加手段は、前記符号化手段により符号化されて生成された符号化データの前記ヘッダ情報に前記フィルタ制御情報を付加することができる。
 本発明の一側面は、また、画像処理装置の制御情報生成手段が、画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報を生成し、前記画像処理装置のフィルタ手段が、生成された前記フィルタ制御情報に従って、前記画像に対して前記フィルタ処理を行い、前記画像処理装置の制御情報付加手段が、前記画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に、前記ヘッダ情報が属するフレームの複数の前記データ単位に対応する前記フィルタ制御情報を付加する画像処理方法である。
 本発明の他の側面は、画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に付加された、複数の前記データ単位に対応する、前記画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報を、抽出する制御情報抽出手段と、前記制御情報抽出手段により抽出された前記フィルタ制御情報に従って、前記符号化データが復号された前記画像に対して前記フィルタ処理を行うフィルタ手段とを備える画像処理装置である。
 前記符号化データを復号する復号手段をさらに備え、前記フィルタ手段は、前記複合手段により前記符号化データが復号されて得られた前記画像に対して、前記フィルタ処理を行うことができる。
 本発明の他の側面は、また、画像処理装置の制御情報抽出手段が、画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に付加された、複数の前記データ単位に対応する、前記画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報を、抽出し、前記画像処理装置のフィルタ手段が、抽出された前記フィルタ制御情報に従って、前記符号化データが復号された前記画像に対して前記フィルタ処理を行う画像処理方法である。
 本発明の一側面においては、画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報が生成され、生成されたフィルタ制御情報に従って、画像に対してフィルタ処理が行われ、画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に、ヘッダ情報が属するフレームの複数のデータ単位に対応するフィルタ制御情報が付加される。
 本発明の他の側面においては、画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に付加された、複数のデータ単位に対応する、画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報が、抽出され、その抽出されたフィルタ制御情報に従って、符号化データが復号された画像に対してフィルタ処理が行われる。
 本発明によれば、画像を符号化または復号することができる。特に、符号化時または復号時のフィルタ処理の局所的な制御による符号化効率の低減をより抑制することができる。例えば、画像の各フレームを複数に分けて符号化または復号する場合においても、符号化効率の低減をより抑制することができる。
本発明を適用した画像符号化装置の主な構成例を示すブロック図である。 可変ブロックサイズ動き予測・補償処理を説明する図である。 制御情報生成部の主な構成例を示すブロック図である。 ALFブロックおよびフィルタブロックフラグを説明する図である。 マルチスライスの例を説明する図である。 スライス0の処理を説明する図である。 スライス1の処理を説明する図である。 本発明を適用したスライス1の処理を説明する図である。 適応フィルタ処理部の主な構成例を示すブロック図である。 可逆符号化部の主な構成例を示すブロック図である。 制御情報を最初に伝送されるスライスのヘッダに含める様子を説明する図である。 スライスヘッダのシンタックスの例を示す図である。 符号化処理の流れの例を説明するフローチャートである。 制御情報生成処理の流れの例を説明するフローチャートである。 ブロック情報生成処理の流れの例を説明するフローチャートである。 適応フィルタ処理の流れの例を説明するフローチャートである。 可逆符号化処理の流れの例を説明するフローチャートである。 本発明を適用した画像復号装置の主な構成例を示すブロック図である。 可逆復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 可逆復号処理の流れの例を説明するフローチャートである。 制御情報を先頭スライスのヘッダに含める様子を説明する図である。 可逆符号化処理の流れの、他の例を説明するフローチャートである。 可逆復号部の他の構成例を示すブロック図である。 可逆復号処理の流れの、他の例を説明するフローチャートである。 制御情報を任意のスライスのヘッダに含める様子を説明する図である。 可逆符号化処理の流れの、さらに他の例を説明するフローチャートである。 可逆復号処理の流れの、さらに他の例を説明するフローチャートである。 ポインタをスライスのヘッダに含める様子を説明する図である。 可逆符号化処理の流れの、さらに他の例を説明するフローチャートである。 可逆復号処理の流れの、さらに他の例を説明するフローチャートである。 制御情報をグループ毎にまとめてスライスのヘッダに含める様子を説明する図である。 可逆符号化処理の流れの、さらに他の例を説明するフローチャートである。 可逆符号化部の他の構成例を示すブロック図である。 可逆符号化処理の流れの、さらに他の例を説明するフローチャートである。 可逆復号部のさらに他の構成例を示すブロック図である。 可逆復号処理の流れの、さらに他の例を説明するフローチャートである。 可逆符号化部のさらに他の構成例を示すブロック図である。 可逆符号化処理の流れの、さらに他の例を説明するフローチャートである。 可逆復号部のさらに他の構成例を示すブロック図である。 可逆復号処理の流れの、さらに他の例を説明するフローチャートである。 ALFブロックおよびフィルタブロックフラグの他の例を説明する図である。 ALFブロックおよびフィルタブロックフラグの他の例を説明する図である。 マルチスライスの場合の処理の様子を説明する図である。 本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。 本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。 本発明を適用した携帯電話機の主な構成例を示すブロック図である。 本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。 本発明を適用したカメラの主な構成例を示すブロック図である。 マクロブロックの例を示す図である。
 以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(制御情報を先頭スライスのヘッダに含める例)
4.第4の実施の形態(制御情報を任意のスライスのヘッダに含める例)
5.第5の実施の形態(ポインタを利用する例)
6.第6の実施の形態(制御情報を複数のグループにまとめる例)
7.第7の実施の形態(グループ数を制御する例)
8.第8の実施の形態(要素毎に独立してグループ化する例)
9.第9の実施の形態(QALF)
10.第10の実施の形態(パーソナルコンピュータ)
11.第11の実施の形態(テレビジョン受像機)
12.第12の実施の形態(携帯電話機)
13.第13の実施の形態(ハードディスクレコーダ)
14.第14の実施の形態(カメラ)
<1.第1の実施の形態>
[デバイスの構成]
 図1は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 図1に示される画像符号化装置100は、例えば、H.264及びMPEG4 Part10(Advanced Video Coding)(以下H.264/AVCと記す)方式で画像を圧縮符号化する符号化装置であり、さらに、適応ループフィルタを採用している。
 図1の例において、画像符号化装置100は、A/D(Analog / Digital)変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、およびデブロックフィルタ111を有する。さらに、画像符号化装置100は、制御情報生成部112、適応フィルタ処理部113、およびフレームメモリ114を有する。また、画像符号化装置100は、イントラ予測部115、動き補償部116、動き予測部117、および予測画像選択部118を有する。さらに、画像符号化装置100は、レート制御部119を有する。
 A/D変換部101は、入力された画像データをA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。
 演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部118により選択されたイントラ予測部115からの予測画像または動き補償部116からの予測画像を減算し、その差分情報を直交変換部104に出力する。直交変換部104は、演算部103からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部105は、直交変換部104が出力する変換係数を量子化する。
 量子化部105の出力となる、量子化された変換係数は、可逆符号化部106に入力される。可逆符号化部106は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
 可逆符号化部106は、イントラ予測を示す情報などをイントラ予測部115から取得し、インター予測モードを示す情報などを動き予測部117から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
 可逆符号化部106は、さらに、適応フィルタ処理部113において行われる適応フィルタ処理の制御情報を、制御情報生成部112から取得する。
 可逆符号化部106は、量子化された変換係数を符号化するとともに、適応フィルタ処理の制御情報、イントラ予測を示す情報やインター予測モードを示す情報、および量子化パラメータなどを、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
 例えば、可逆符号化部106においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H.264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部105において量子化された変換係数は、逆量子化部108にも入力される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化し、得られた変換係数を、逆直交変換部109に供給する。
 逆直交変換部109は、供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力は、演算部110に供給される。演算部110は、逆直交変換部109より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部118から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。その加算結果は、デブロックフィルタ111に供給される。
 デブロックフィルタ111は、復号画像のブロック歪を除去する。デブロックフィルタ111は、その歪除去結果を制御情報生成部112および適応フィルタ処理部113に供給する。
 制御情報生成部112は、デブロックフィルタ111から供給される復号画像と、画面並べ替えバッファ102から読み出された現在の入力画像を取得し、それらから、適応フィルタ処理部113において行われる適応フィルタの制御情報を生成する。詳細については後述するが、制御情報には、フィルタ係数、ブロックサイズ、およびフィルタブロックフラグ等が含まれる。
 制御情報生成部112は、生成した制御情報を適応フィルタ処理部113に供給する。また、制御情報生成部112は、生成した制御情報を可逆符号化部106にも供給する。上述したように制御情報は、可逆符号化部106により、符号化データに含められる(多重化される)。つまり、制御情報は、符号化データとともに画像復号装置に送られる。
 適応フィルタ処理部113は、制御情報生成部112から供給された制御情報のフィルタ係数、ブロックサイズ指定、およびフィルタブロックフラグ等を用いて、デブロックフィルタ111から供給される復号画像にフィルタ処理を行う。このフィルタとして、例えば、ウィナーフィルタ(Wiener Filter)が用いられる。もちろんウィナーフィルタ以外のフィルタを用いても良い。適応フィルタ処理部113は、フィルタ処理結果をフレームメモリ114に供給し、参照画像として蓄積させる。
 フレームメモリ114は、所定のタイミングにおいて、蓄積されている参照画像を動き補償部116および動き予測部117に出力する。
 この画像符号化装置100においては、例えば、画面並べ替えバッファ102からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部115に供給される。また、画面並べ替えバッファ102から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測部117に供給される。
 イントラ予測部115は、画面並べ替えバッファ102から読み出されたイントラ予測する画像とフレームメモリ114から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
 イントラ予測部115において、当該ブロック/マクロブロックに対して適用されたイントラ予測モードに関する情報は、可逆符号化部106に伝送され、符号化データにおけるヘッダ情報の一部とされる。H.264画像情報符号化方式において、輝度信号に対しては、イントラ4×4予測モード、イントラ8×8予測モード及びイントラ16×16予測モードが定義されており、また、色差信号に関しては、それぞれのマクロブロックごとに、輝度信号とは独立した予測モードを定義することが可能である。イントラ4×4予測モードについては、それぞれの4×4輝度ブロックに対して1つのイントラ予測モードが定義されることになる。イントラ8×8予測モードについては、それぞれの8×8輝度ブロックに対して1つのイントラ予測モードが定義されることになる。イントラ16×16予測モード、並びに、色差信号に対しては、1つのマクロブロックに対してそれぞれ1つの予測モードが定義されることになる。
 イントラ予測部115は、予測画像を生成したイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部115は、最適イントラ予測モードで生成された予測画像を、予測画像選択部118に供給する。
 動き予測部117は、インター符号化が行われる画像について、画面並べ替えバッファ102から供給される画像情報(入力画像)とフレームメモリ114から供給される参照フレームとなる画像情報(復号画像)とを取得し、動きベクトルを算出する。動き予測部117は、算出した動きベクトルを示す動きベクトル情報を可逆符号化部106に供給する。この動きベクトル情報は、可逆符号化部106により、符号化データに含められる(多重化される)。つまり、動きベクトル情報は、符号化データとともに画像復号装置に送られる。
 また、動き予測部117は、動きベクトル情報を動き補償部116にも供給する。
 動き補償部116は、動き予測部117から供給された動きベクトル情報に応じて動き補償処理を行い、インター予測画像情報を生成する。動き補償部116は、生成した予測画像情報を、予測画像選択部118に供給する。
 予測画像選択部118は、イントラ符号化を行う画像の場合、イントラ予測部115の出力を演算部103に供給し、インター符号化を行う画像の場合、動き補償部116の出力を演算部103に供給する。
 レート制御部119は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 MPEG(Moving Picture Experts Group)2においては、動き予測・補償処理の単位は、動き補償ブロックであり、動き補償ブロック毎に独立した動きベクトル情報を持つことができる。その動き補償ブロックのサイズには、フレーム動き補償モードの場合は16×16画素、フィールド動き補償モードの場合には第一フィールド、第二フィールドのそれぞれに対し、16×8画素がある。
 これに対し、AVC(Advanced Video Coding)においては、図2上側に示すように、16×16画素により構成される一つのマクロブロックを、16×16、16×8、8×16若しくは8×8のいずれかのパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。更に、8×8パーティションに関しては、図2下側に示されるとおり、8×8、8×4、4×8、4×4のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。この動き補償ブロックを単位として動き予測・補償処理が行なわれる。
 図3は、制御情報生成部112の主な構成例を示すブロック図である。
 制御情報生成部112は、上述したように、適応フィルタ処理部113において行われる、ループフィルタである適応フィルタ(ALF(Adaptive Loop Filter))に用いられる制御情報を生成する。制御情報生成部112は、その制御情報として、例えば、フィルタ係数、ALFブロックサイズ、およびフィルタブロックフラグを生成する。
 制御情報生成部112は、フィルタ係数算出部131、およびブロック情報生成部132を有する。
 フィルタ係数算出部131は、デブロックフィルタ111から供給される復号画像と、画面並べ替えバッファ102から読み出された現在の入力画像を取得し、それらから、フレーム毎にALFのフィルタ係数を算出する。
 ブロック情報生成部132は、ALFブロックサイズやフィルタブロックフラグ等のブロック情報を生成する。例えば、ブロック情報生成部132は、デブロックフィルタ111から供給される復号画像と、フィルタ係数算出部131により算出されたフィルタ係数に基づいて、ALFブロックサイズを決定する。また、例えば、ブロック情報生成部132は、それらの情報に基づいて、処理対象スライス内の各ALFブロックについてフィルタブロックフラグを生成する。
 ここで、ブロック情報のALFブロックおよびフィルタブロックフラグについて説明する。図4は、ALFブロックおよびフィルタブロックフラグを説明する図である。
 上述したように、適応フィルタは、フレーム毎にフィルタ係数が設定される。つまり、フレーム単位で最適なフィルタ処理が行われる。しかしながら、一般的に、フレーム画像は、全体が均一でなく、局所的に様々な特徴を有している。そのため、局所的には最適なフィルタ係数が異なる。したがって、上述したようにフレーム毎に決定されるフィルタ係数を用いたフィルタ処理では、フレーム全体では画質を改善するが、局所的には逆に悪化させてしまう恐れがあった。
 そこで、局所的に画質が悪化する領域にはフィルタ処理を行わないようにするBALF(Block based Adaptive Loop Filter)が考えられた。
 図4のAのフレーム151は、デブロックフィルタ処理後の復号画像を示す。ブロック情報生成部132は、図4のBに示されるように、それぞれが、局所的に行われる適応フィルタ処理の制御単位となる制御ブロックである、複数のALFブロック152を、このフレーム151の領域全体に敷き詰めるように隙間無く配置する。このALFブロック152が配置される領域は、フレーム151の領域と同一でなくても良いが、少なくともフレームの領域全体を含む。結果として、フレーム151の領域は、各ALFブロック152の領域(複数の制御領域)によって分割される。
 ブロック情報生成部132は、ALFブロック152の水平方向のサイズ(両矢印153)と、垂直方向のサイズ(両矢印154)とを決定する。ALFブロックのサイズは、例えば、8×8、16×16、24×24、32×32、48×48、64×64、96×96、あるいは128×128のいずれか1つをスライス毎に指定することができる。なお、そのALFブロックのサイズを指定する情報をブロックサイズインデックスと称する。
 ブロックサイズが決まれば、フレームサイズは固定であるので、1フレーム当たりのALFブロック数も決定される。
 ブロック情報生成部132は、図4のCに示されるように、ALFブロック152毎に、フィルタ処理を行うか否かを制御するフィルタブロックフラグ155を設定する。例えば、適応フィルタにより画質が改善される領域については、値が「1」のフィルタブロックフラグ155が生成され、適応フィルタにより画質が悪化する領域については、値が「0」のフィルタブロックフラグ155が生成される。フィルタブロックフラグ155において、値「1」は、フィルタ処理を行うことを示す値であり、値「0」は、フィルタ処理を行わないことを示す値である。
 適応フィルタ処理部113は、このフィルタブロックフラグ155の値に基づいて適応フィルタ処理を制御する。例えば、適応フィルタ処理部113は、フィルタブロックフラグ155の値が「1」のALFブロック152の領域にのみフィルタ処理を行い、フィルタブロックフラグ155の値が「0」のALFブロック152の領域にはフィルタ処理を行わない。
 また、上述したブロックサイズインデックスとフィルタブロックフラグは、符号化データのスライスヘッダに含められ、画像符号化装置100から画像復号化装置へ送られる。ALFブロックの数に応じた1個以上のフィルタブロックフラグは、例えばラスタ・スキャンの順序でスライスヘッダに含められる。
 従って、ALFブロックのサイズが小さい程、より細かなフィルタ制御が可能になり、より適切なALFフィルタが可能となる。ただし、ALFブロックのサイズを小さくすると、フィルタブロックフラグのビット量が増加する。つまり、ALFブロックのサイズが小さい程、符号化データの符号化効率が低減する。このように、適応フィルタの性能と符号化データの符号化効率は、トレードオフの関係にある。
 ALFブロックの数は次の式(1)のように算出される。
Figure JPOXMLDOC01-appb-M000001
 式(1)においてNALFBLOCKは、ALFブロックの数を示す。また、NMBwは、ピクチャの水平方向のマクロブロック数を示し、NMBhは、ピクチャの垂直方向のマクロブック数を示す。さらに、NSIZEは、ALFブロックの一辺のサイズを示す。また、floor[x]は、xの少数点以下を切り捨てて、整数にする関数である。
 ところで、H.264/AVCでは、1フレームを複数スライスに分割し、そのスライス毎に符号化データを出力するようにすることができる。図5は、マルチスライスの例を説明する図である。図5の例の場合、フレーム151は、スライス0、スライス1、およびスライス2の3つのスライスに分割されている。
 フレームを複数のスライス領域に分割することは、画像圧縮情報の転送中のエラー耐性を高くするために有効な方法である。
 BALFについて記載されている非特許文献2には、このマルチスライスについて開示されていない。つまり、ALFブロックをフレーム全体について設定することしか記載されていない。上述したようにALFブロックは、フレーム全体について設定される。つまり、スライス毎にフレーム全体についてのALFブロックが設定されることになり、スライスの領域外の不要なALFブロックが設定される恐れがあった。
 例えば、図5に示されるスライス構成の例において、図6のAに示されるようにスライス0を処理する場合、図6のBに示されるように、枠161で示されるスライス0の領域に対して、フレーム151全体についてのALFブロック152が設定される。
 同様に、例えば、図5に示されるスライス構成の例において図7のAに示されるようにスライス1を処理する場合、図7のBに示されるように、枠162で示されるスライス1の領域に対して、フレーム151全体についてのALFブロック152が設定される。
 図6のBおよび図7のBにおいて斜線模様で示されるALFブロック152は、スライス0またはスライス1の領域外のブロックであり、スライス0またはスライス1の領域の処理に対して不要なブロックである。
 このような不要なブロックやそのブロックのフラグの設定は無意味な処理である。そこで、不要に処理を増大させないように、図3の制御情報生成部112のブロック情報生成部132は、処理対象のスライスの領域を含むALFブロックおよびフィルタブロックフラグのみを生成する。
 例えば、図5に示されるスライス構成の例において図8のAに示されるようにスライス1を処理する場合、ブロック情報生成部132は、図8のBに示されるように、枠162で示されるスライス1の領域に対して、その領域を含むALFブロック152のみを設定し、このALFブロック152についてのみフィルタブロックフラグを生成する。
 図3に戻り、ブロック情報生成部132は、処理対象スライス領域特定部141、ALFブロック設定部142、処理対象ALFブロック領域特定部143、判定部144、およびフィルタブロックフラグ生成部145を有する。
 処理対象スライス領域特定部141は、復号画像として供給される処理対象スライスの領域の、フレーム全体における位置を特定する。
 ALFブロック設定部142は、ALFブロックサイズを決定し、フレーム全体のALFブロック152を設定する。これによりフレーム全体のALFブロック数も特定される。
 処理対象ALFブロック領域特定部143は、ALFブロック設定部142により設定されたALFブロック152から、処理対象とするALFブロックを1つずつ選択し、選択した処理対象ALFブロックの領域の位置を特定する。
 判定部144は、処理対象ALFブロックの領域が、処理対象スライスの領域を含むか否かを判定する。フィルタブロックフラグ生成部145は、判定部144によって、「処理対象スライスの領域を含む」と判定されたALFブロックのフィルタブロックフラグを生成する。フィルタブロックフラグ生成部145は、フィルタ係数算出部131により算出されたフィルタ係数を用いて、処理対象ALFブロックの領域に対して適応フィルタ処理を行い、フィルタ処理結果の画質が処理前より改善されているか否かによって、フィルタブロックフラグの値を決定する。
 フィルタブロックフラグ生成部145は、フィルタブロックフラグおよびALFブロックサイズ等の制御情報を出力する。
 図9は、図1の適応フィルタ処理部113の主な構成例を示すブロック図である。
 適応フィルタ処理部113は、制御情報生成部112から供給される制御情報を用いて、デブロックフィルタ111から供給される復号画像にフィルタ処理を行う。
 適応フィルタ処理部113は、図9に示されるように、制御部171、適応フィルタ172、および選択部173を有する。
 制御部171は、適応フィルタ172および選択部173を制御する。例えば、制御部171は、制御情報生成部112から制御情報を取得する。また、制御部171は、取得した制御情報に含まれるフィルタ係数を適応フィルタ172に供給し、設定する。さらに、制御部171は、制御情報に含まれるALFブロックサイズに基づいて、処理対象とするALFブロックの領域の位置を特定する。また、制御部171は、制御情報に含まれるフィルタブロックフラグの値に基づいて、適応フィルタ172を制御し、各ALFブロックの領域を必要に応じてフィルタ処理させるとともに、選択部173の動作を制御する。
 適応フィルタ172は、デブロックフィルタ111から供給される復号画像の、制御部171から処理対象ALFブロックとして指定される領域を、制御部171により設定されたフィルタ係数を用いてフィルタ処理する。適応フィルタ172は、フィルタ処理結果を選択部173に供給する。
 選択部173は、制御部171に制御され、デブロックフィルタ111から供給された復号画像(適応フィルタ処理されていない復号画像)と、適応フィルタ172から供給された復号画像(適応フィルタ処理された復号画像)とのうち、いずれか一方を選択し、フレームメモリ114に供給し、参照画像として蓄積させる。
 つまり、適応フィルタ処理部113は、デブロックフィルタ111から供給される復号画像の、フィルタブロックフラグによってフィルタ処理を行うことが示された領域(フィルタ処理によって画質が改善されると判定された領域)のみフィルタ処理を行う。
 図10は、図1の可逆符号化部106の主な構成例を示すブロック図である。
 可逆符号化部106は、上述したように、量子化部105から供給される量子化された係数データを可逆符号化して符号化データを生成するとともに、制御情報生成部112から供給される制御情報をその符号化データのスライスヘッダに埋め込む(記述する)。このとき、可逆符号化部106は、ピクチャ(フレーム)内の各スライスの制御情報をまとめ、その1ピクチャ(1フレーム)分の制御情報を、1つのスライスヘッダに埋め込む。このようにすることにより、可逆符号化部106は、各スライスの制御情報の間で重複する部分(冗長部分)を削除して、スライスヘッダに埋め込むことができる。これにより、可逆符号化部106は、各スライスの制御情報をそれぞれ符号化データに埋め込む場合よりも、符号化データの符号化効率を向上させることができる。
 可逆符号化部106は、図10に示されるように、符号化部181、符号化データ保持部182、制御情報保持部183、および制御情報付加部184を有する。
 符号化部181は、各スライスの画像データ(量子化された係数データ)を可逆符号化し、符号化データを生成する。各スライスの符号化データは、符号化データ保持部182に保持される。符号化データ保持部182は、少なくとも1ピクチャ分の符号化データを保持することができる。
 制御情報保持部183は、制御情報生成部112により生成されるスライス毎の制御情報を取得し、保持する。制御情報保持部183は、少なくとも1ピクチャ分の制御情報を保持することができる。制御情報付加部184は、符号化データ保持部182に保持される符号化データの、ピクチャ内で最初に出力されるスライスのヘッダ情報に、制御情報保持部183に保持されている制御情報を埋め込み、蓄積バッファ107に供給する。
 このとき、制御情報付加部184は、制御情報保持部183に保持されている処理対象のピクチャの制御情報をまとめ、冗長部分を削除して1ピクチャ分の制御情報を生成し、それを符号化データのスライスヘッダに埋め込む。
 例えば、図11に示されるように、フレーム151がスライス0、スライス1、およびスライス2よりなり、制御情報生成部112において、スライス0に対して制御情報191-1が生成され、スライス1に対して制御情報191-2が生成され、スライス2に対して制御情報191-3が生成されるとする。
 また、符号化データ194は、スライス1、スライス0、スライス2の順に出力されるとする。つまり、スライス1ヘッダ192-1、スライス1データ193-1、スライス0ヘッダ192-2、スライス0データ193-2、スライス2ヘッダ192-3、スライス2データ193-3の順に符号化データ194が出力されるとする。
 このとき、制御情報付加部184は、最初に出力されるスライス1のヘッダ(スライスヘッダ)であるスライス1ヘッダ192-1に、フレーム151の制御情報191-1乃至制御情報191-3を全て埋め込む。このとき、制御情報付加部184は、制御情報191-1乃至制御情報191-3をまとめ、冗長部分を削除し、フレーム151全体に対応する(1ピクチャ分の)制御情報191(図示せず)を生成し、その制御情報191をスライス1ヘッダ192-1に埋め込む。
 制御情報付加部184は、例えば、図12のAおよび図12のBに示されるようなシンタックスに従って、制御情報をスライスヘッダに埋め込む。図12のAは、スライスヘッダのシンタックスの例を示しており、図12のBは、制御情報の部分についてのシンタックスの例を示している。図12のBに示されるように、制御情報付加部184は、フレーム151全ての制御ブロックのフィルタブロックフラグを1つのスライスヘッダに埋め込む。
[処理の流れ]
 次に、以上のように構成される各部を用いた処理の流れについて説明する。最初に、画像符号化装置100により行われる符号化処理の流れの例を、図13のフローチャートを参照して説明する。
 ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS103において、演算部103は、ステップS102の処理により並び替えられた画像と、予測画像との差分を演算する。予測画像は、インター予測する場合は動き補償部116から、イントラ予測する場合はイントラ予測部115から、それぞれ予測画像選択部118を介して演算部103に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS104において、直交変換部104は、ステップS103の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS105において、量子化部105は変換係数を量子化する。この量子化に際しては、後述するステップS119の処理で説明されるように、レートが制御される。
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS106において、逆量子化部108は量子化部105により量子化された変換係数を量子化部105の特性に対応する特性で逆量子化する。ステップS107において、逆直交変換部109は逆量子化部108により逆量子化された変換係数を直交変換部104の特性に対応する特性で逆直交変換する。
 ステップS108において、演算部110は、予測画像選択部118を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。ステップS109においてデブロックフィルタ111は、演算部110より出力された画像をフィルタリングする。これによりブロック歪みが除去される。
 以上の処理が、1スライス分行われると、ステップS110において、制御情報生成部112は、適応フィルタ処理に用いられる制御情報を生成する。制御情報の生成処理の詳細については後述する。
 ステップS110の処理により、フィルタ係数、ALFブロックサイズ、およびフィルタブロックフラグ等の制御情報が生成されると、適応フィルタ処理部113は、ステップS111において、その制御情報を用いて、ステップS109の処理によりデブロックフィルタ処理された復号画像に対して適応フィルタ処理を行う。この適応フィルタ処理の詳細については後述する。
 ステップS112において、フレームメモリ114は、ステップS111において適応フィルタ処理された画像を記憶する。
 ステップS113において、イントラ予測部115は、イントラ予測モードのイントラ予測処理を行う。ステップS114において、動き予測部117および動き補償部116は、インター予測モードのインター動き予測・補償処理を行う。
 ステップS115において、予測画像選択部118は、処理対象フレームの予測モードに応じて、イントラ予測処理により生成された予測画像、または、インター動き予測・補償処理により生成された予測画像のうち、いずれか一方を選択する。予測画像選択部118は、選択した予測画像を演算部103および演算部110に供給する。この予測画像が、上述したように、ステップS103、およびステップS108の演算に利用される。
 ステップS116において、可逆符号化部106は量子化部105より出力された量子化された変換係数を符号化する可逆符号化処理を行う。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、可逆符号化部106は、ステップS110において生成された制御情報、ステップS113のイントラ予測処理のイントラ予測モード情報、および、ステップS114のインター動き予測・補償処理のインター予測モード等のメタデータをスライスヘッダに埋め込む(記述する)。このメタデータは、画像復号時に読み出され利用される。この可逆符号化処理の詳細については後述する。
 ステップS117において蓄積バッファ107は、符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS118においてレート制御部119は、蓄積バッファ107に蓄積された符号化データに基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 次に、図13のステップS110において制御情報生成部112により実行される制御情報生成処理の流れの例を、図14のフローチャートを参照して説明する。
 制御情報生成処理が開始されると、制御情報生成部112のフィルタ係数算出部131は、ステップS131において、画面並べ替えバッファ102から供給される入力画像と、デブロックフィルタ111から供給されるデブロックフィルタ処理された復号画像を用いてフィルタ係数を算出する。例えば、フィルタ係数算出部131は、入力画像と復号画像の残差が最小となるようにフィルタ係数の値を決定する。
 フィルタ係数が算出されると、ブロック情報生成部132は、ステップS132において、ALFブロックサイズやフィルタブロックフラグを含むブロック情報の生成を行う。ブロック情報生成処理の詳細については後述する。ブロック情報が生成されると、図13のステップS110に戻り、ステップS111以降の処理が実行される。
 なお、ステップS131において行われるフィルタ係数の算出は、フレーム単位で行うようにしてもよい。その場合、ステップS131の処理は、フレーム内の所定のスライス(例えば、フレーム内で識別番号が所定の値の(例えば「0」の)スライス、若しくは、フレーム内で最初に処理されるスライス等)においてのみ行われ、その他のスライスにおいては、その値が流用されるようにしてもよい。また、フィルタ係数の算出には、任意の画像を利用することができる。例えば、過去のフレーム画像に基づいて算出するようにしてもよい。
 次に、図15のフローチャートを参照して、図14のステップS132において実行されるブロック情報生成処理の流れの例を説明する。
 ブロック情報生成処理が開始されると、処理対象スライス領域特定部141は、ステップS151において、処理対象スライスの領域を特定する。
 処理対象である当該スライスの領域を知るためには、当該スライスに含まれているマクロブロックを知り、そこからそのマクロブロックに含まれる画素を知ることで分かる。処理対象スライス領域特定部141は、スライスヘッダから当該スライスの先頭マクロブロックアドレスを得る。
 ここで先頭マクロブロックアドレスとは、画面の左上からラスタ・スキャン順序でマクロブロックに対して付けられた番号である。図5に示されるように、画像(フレーム151)の左上のマクロブロックアドレスは0となる。スライス0は、フレーム151の左上から開始されているので、スライス0の先頭マクロブロック156-1のマクロブロックアドレスは0となる。この順序に従ってスライス0の最終マクロブロック156-2のマクロブロックアドレスをE0とする。また、このスライス0と同様に、スライス1の先頭マクロブロック157-1のマクロブロックアドレスをS1とし、最終マクロブロック157-2のマクロブロックアドレスをE1とする。さらに、スライス2の先頭マクロブロック158-1のマクロブロックアドレスをS2とし、最終マクロブロック158-2のマクロブロックアドレスをE2とする。
 当該スライスをデコードしていくと、1つのマクロブロックのデコード処理が完了する毎にマクロブロックアドレスは1追加されてゆき、やがて当該スライスの最終マクロブックに到達する。最終マクロブロックにはスライスの最後のマクロブロックであるフラグがセットされている。これらによって、当該スライスが保有しているマクロブロックアドレスが全て分かる。すなわち、先頭マクロブロックアドレスから、最終マクロブロックアドレスまでとなる。
 ところで、1フレームの画像サイズは、AVCストリーム(画像圧縮情報)のシーケンスパラメータセット(SPS(Sequence Parameter Set))において、マクロブロックの数により示される。pic_height_in_map_units_minus1は、画像の縦方向のマクロブロック数を示す。pic_width_in_mbs_minus1は、画像の横方向のマクロブロック数を示す。
 従って、マクロブロックアドレスからそのマクロブロックの位置は、以下の式(2)および式(3)で示される。
mbx=macro block address % pic_width_in_mbs_minus1   ・・・(2)
mby=floor[ macro block address / pic_width_in_mbs_minus1 ]・・・(3)
 式(2)および式(3)において、mbxは、マクロブロックが左から何番目かを示し、mbyは、マクロブロックが上から何番目かを示す。また、floor[z]は、zの小数点以下を切り捨てて整数にし、A%Bは、AをBで割った余りの数を示す。
 マクロブロックのサイズは16×16画素と決められているとすると、マクロブロックの左上の画素の縦方向および横方向の位置は、(16×mbx,16×mby)となり、そのマクロブロックに含まれる画素は、その左上の画素位置から下方向に16画素および右方向に16画素の範囲に含まれる画素となる。ここまでで、当該スライスの画素が全て分かる。すなわち、処理対象スライスの領域が特定される。
 図15のステップS152において、ALFブロック設定部142は、ALFブロックサイズを決定する。ステップS153において、ALFブロック設定部142は、フレーム内ALFブロック数を決定する。フレームの画像サイズは予め定められているので、ALFブロックサイズが決定されると、フレームの左上を原点としてALFブロックを敷き詰めるために必要なALFブロックの数(フレーム内ALFブロック数)も算出することができる。ALFブロックの縦方向のサイズ(画素数)と横方向のサイズ(画素数)の設定値は予め用意されているので、ALFブロック設定部142は、その設定値に従って各ALFブロックのサイズとALFブロック数を決定し、ALFブロックを復号画像に対して配置する。
 なお、ALFブロックの数は、以下の式(4)および式(5)により算出される。
num_alf_block_x=floor[(16×(pic_width_in_mbs_minus1+1)+(alf_block_size-1))
            /alf_block_size]   ・・・(4)
num_alf_block_y=floor[(16×(pic_height_in_map_units_minus1+1)
     +(alf_block_size-1))/alf_block_size]・・・(5) 
 式(4)および式(5)において、num_alf_block_xおよびnum_alf_block_yは、それぞれ、画像に含まれるALFブロックの横と縦の数である。また、alf_block_sizeは、ALFブロックの一辺のサイズを示す。ここでは説明の簡略化のため、ALFブロックは正方形であるものとする。もちろん、ALFブロックの縦方向のサイズと横方向のサイズとが互いに異なるようにしてもよい。
 ステップS154において、処理対象ALFブロック領域特定部143は、処理対象ALFブロックを決定する。ステップS155において、処理対象ALFブロック領域特定部143は、その処理対象ALFブロックの領域を特定する。
 i番目のALFブロックの位置は、以下の式(6)および式(7)で示される。
alf_block_x=i % (num_alf_block_x-1)   ・・・(6)
alf_block_y=floor[i/(num_alf_block_x-1)]   ・・・(7)
 式(6)および式(7)において、alf_block_xとalf_block_yは、それぞれ、i番目のALFブロックが横方向と縦方向に何番目であるかを示している。i番目のALFブロックの左上の画素の位置は、alf_block_xとaof_block_yのそれぞれに、alf_block_sizeを掛けた位置となる。すなわち、横方向は16×alf_block_xとなり、縦方向は16×alf_block_yとなる。従って、i番目のALFブロックの領域は、左上のその画素からalf_block_size×alf_block_sizeの範囲となる。
 ステップS156において、判定部144は、以上のように特定された処理対象ALFブロックの領域内に、処理対象スライスの領域が含まれるか否かを判定する。
 処理対象ALFブロックの領域内に処理対象スライスの領域が含まれると判定された場合、ステップS157に進む。ステップS157においてフィルタブロックフラグ生成部145は、処理対象ALFブロックが処理対象スライスにとって必要なALFブロックであるので、そのALFブロックについてフィルタブロックフラグを生成する。ステップS158において、フィルタブロックフラグ生成部145は、生成したフィルタブロックフラグを出力する。
 ステップS158の処理が終了するとステップS159に進む。また、ステップS156において、処理対象ALFブロックの領域内に処理対象スライスの領域が含まれないと判定された場合、そのALFブロックは、処理対象スライスにとって不要であるのでステップS159に進む。
 ステップS159において、処理対象ALFブロック領域特定部143は、フレーム内ALFブロックを全て処理したか否かを判定し、処理していないと判定された場合、ステップS154に戻り、新たなALFブロックを処理対象とし、それ以降の処理を繰り返す。処理対象ALFブロック領域特定部143は、このループ処理を繰り返す度に、フレームの領域に敷き詰められたALFブロック群の中からALFブロックを、処理対象ALFブロックとして、左上のALFブロックからラスタ・スキャン順に1つずつ選択する。
 また、ステップS159において、フレーム内ALFブロックを全て処理したと判定された場合、ブロック情報生成処理が終了され、図14のステップS132に戻り、制御情報生成処理が終了され、図13のステップS110に戻り、ステップS111以降の処理が行われる。
 なお、以上において、ALFブロックをフレーム画像の領域に敷き詰めるように配置する際に、フレームの左上を原点とするように説明したが、この原点の位置は任意である。例えば、フレームの左下、右下、右上、または中心であってもよい。ただし、この原点の位置およびALFブロックの並べ方は、符号化処理と復号処理とで共通とするように予め取り決めておく必要がある。
 また、以上においては、処理対象ALFブロックを選択する順を、左上からラスタ・スキャン順とするように説明したが、この選択順および開始位置は任意である。
 次に、図16のフローチャートを参照して、図13のステップS111において実行される適応フィルタ処理の流れの例を説明する。
 適応フィルタ処理が開始されると、適応フィルタ172および選択部173には、処理対象スライスの復号画像が供給される。ステップS171において、制御部171は、その処理対象スライスの領域を特定する。制御部171は、図15のステップS151の処理の場合と同様に、スライスヘッダの当該スライスの先頭マクロブロックアドレスを取得し、さらに最終マクロブロックを示すフラグを検出し、先頭のマクロブロックアドレスから最終マクロブロックアドレスまでの領域を処理対象スライスの領域として特定する。
 制御部171は、ステップS172において、制御情報生成部112により生成されたフィルタ係数を取得し、そのフィルタ係数を適応フィルタ172に設定する。ステップS173において、制御部171は、制御情報生成部112により決定されたALFブロックサイズを取得し、フレームの領域全体に対してそのALFブロックサイズのALFブロックを敷き詰めるように設定(配置)する。
 ステップS174において、制御部171は、このように設定されたALFブロック群のうち、未処理のALFブロックの中から1つを、図15のステップS154の場合と同様に、処理対象ALFブロックに決定する。このALFブロックの選択順は、予め定められており、制御情報生成部112における選択順と共通である。
 ステップS175において、制御部171は、決定した処理対象ALFブロックの領域を、図15のステップS155の場合と同様に特定する。
 ステップS176において、制御部171は、図15のステップS156の場合と同様に、処理対象ALFブロックの領域内に処理対象スライスの領域が含まれるか否かを判定する。含まれると判定された場合、ステップS177に進む。
 ステップS177において、制御部171は、制御情報生成部112において生成された処理対象ALFブロックのフィルタブロックフラグを取得する。制御情報生成部112が、上述したようにフィルタブロックフラグを生成するので、実際には、処理対象スライスの領域を含むALFブロックについてのみフィルタブロックフラグが供給される。ALFブロックの処理順が制御情報生成部112と共通であるので、フィルタブロックフラグは、ALFブロックの処理順に供給される。したがって、制御部171は、その供給順にフィルタブロックフラグを取得(採用)することにより、処理対象ALFブロックのフィルタブロックフラグを取得(採用)することができる。
 なお、フィルタブロックフラグの供給タイミングと、制御部171によるフィルタブロックフラグの取得タイミングは、一致していなくても良い。つまり、制御部171が、制御情報生成部112から供給されたフィルタブロックフラグを、例えば内蔵するバッファ等に一時的に保持し、ステップS177の処理において、そのバッファからフィルタブロックフラグを読み出すようにしてもよい。その場合も、フィルタブロックフラグの読み出し順は、制御情報生成部112から供給される順、すなわち、バッファへの蓄積順と同一となるようにするだけで、制御部171は、処理対象ALFブロックのフィルタブロックフラグを取得することができる。
 ステップS178において、制御部171は、フィルタブロックフラグの値が1であるか否かを判定する。フィルタブロックフラグの値が1であり、処理対象ALFブロックの領域についてフィルタ処理を行うように指示されている場合、ステップS179に進む。ステップS179において、適応フィルタ172は、制御部171に制御されて、処理対象ALFブロックにフィルタ処理を行う。ステップS179の処理が終了するとステップS180に進む。この場合、選択部173は、ステップS180において、制御部171に制御されて適応フィルタ172の出力を選択し、フレームメモリ114に出力する。つまり、フィルタ処理された復号画像(の一部の領域)がフレームメモリ114に蓄積される。ステップS180の処理が終了するとステップS181に進む。
 また、ステップS178において、フィルタブロックフラグの値が0であり、処理対象ALFブロックの領域についてフィルタ処理が行われないように指示されている場合、ステップS179の処理を省略し、ステップS180に進む。この場合、選択部173は、ステップS180において、制御部171に制御されてデブロックフィルタ111の出力を選択し、フレームメモリ114に出力する。つまり、フィルタ処理されていない復号画像(の一部の領域)がフレームメモリ114に蓄積される。ステップS180の処理が終了するとステップS181に進む。
 また、ステップS176において、処理対象ALFブロックの領域内に処理対象スライスの領域が含まれないと判定された場合、処理対象ALFブロックは処理対象スライスに関係の無いALFブロックであるので、ステップS177乃至ステップS180の処理を省略し、ステップS181に進む。
 ステップS181において、制御部171は、フレーム内ALFブロックを全て処理したか否かを判定する。未処理のALFブロックが存在すると判定された場合、ステップS174に戻り、新たな処理対象ALFブロックについてそれ以降の処理を繰り返す。制御部171は、このループ処理を繰り返す度に、フレームの領域に敷き詰められたALFブロック群の中からALFブロックを、処理対象ALFブロックとして、左上のALFブロックからラスタ・スキャン順に1つずつ選択する。
 また、ステップS181において、フレーム内ALFブロックを全て処理したと判定された場合、適応フィルタ処理が終了され、図13のステップS111に戻り、ステップS112以降の処理が行われる。
 以上のように適応フィルタ処理を行うことにより、適応フィルタ処理部113は、フレームに形成される複数のスライスの中の処理対象スライスに必要な、フレーム内の一部のALFブロックのフィルタブロックフラグに基づいて、処理対象スライスに対するフィルタ処理を適切に実行することができる。これにより、適応フィルタ処理部113は、処理対象スライスの、デブロックフィルタにより取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 次に、図17のフローチャートを参照して、図13のステップS116において実行される可逆符号化処理の流れの例を説明する。
 可逆符号化処理が開始されると、ステップS191において、可逆符号化部106の符号化部181は、供給される画像データ(量子化された係数データ)を順次符号化することにより、処理対象スライスを符号化し、符号化データを生成する。
 ステップS192において、符号化データ保持部182は、ステップS191において生成された符号化データを保持する。ステップS193において、制御情報保持部183は、制御情報生成部112より供給される、符号化データが属するスライス(処理対象スライス)に対応する制御情報を保持する。
 以上のようなステップS191乃至ステップS193の各処理がフレーム内の各スライスについて行われる。1スライス分の処理が終了すると、ステップS194において、制御情報付加部184は、符号化部181がフレーム内の全てのスライスについて画像データ(量子化された係数データ)を符号化したか否かを判定する。未処理のスライスが存在すると判定された場合、ステップS191に戻り、それ以降の処理が繰り返される。
 ステップS194において、符号化部181によってフレーム内の全てのスライスが符号化されたと判定された場合、ステップS195に進む。
 ステップS195において、制御情報付加部184は、制御情報保持部183に保持されている制御情報を、符号化データ保持部182に保持されている1フレーム分の符号化データの、最初に伝送されるスライスのスライスヘッダに埋め込む。このとき、制御情報付加部184は、制御情報保持部183に保持されている制御情報を取得してまとめ、符号化データが属するフレーム(ピクチャ)の1ピクチャ分の制御情報を生成する。制御情報付加部184は、その1ピクチャ分の制御情報を、スライスヘッダに埋め込む。
 つまり、複数のスライスからなる1フレーム分の符号化データには、その中の1つのスライスヘッダに、1フレーム(ピクチャ)分の制御情報(フィルタ係数、ALFブロックサイズ、およびフィルタブロックフラグ等)が付加される(埋め込まれる)。
 つまり、複数のスライスの制御情報が1つのスライスヘッダに付加される(他のスライスの制御情報も付加される)。制御情報をスライス毎に分けて複数のスライスヘッダに埋め込む場合、各制御情報に重複する内容が生じてしまうが、制御情報付加部184は、このように1フレーム分の制御情報を1つのスライスヘッダにまとめて付加するので、そのような冗長性を低減し、符号化効率を向上させることができる。
 なお、ここで「付加する」とは、任意の形態で制御情報を符号化データに関連付けることを示す。例えば、符号化データのシンタックスとして記述するようにしてもよいし、ユーザデータとして記述するようにしてもよい。また、ブロック情報をメタデータとして符号化データとリンクされた状態にするようにしてもよい。つまり、「付加」は、「埋め込み」、「記述」、「多重化」、および「連結」等を含む。
 制御情報を符号化データに付加した、制御情報付加部184は、ステップS196において、符号化データを所定順に出力する。1ピクチャ分の符号化データを出力すると、可逆符号化部106は、可逆符号化処理を終了し、図13のステップS116に戻り、ステップS117以降の処理に進む。
 以上のような可逆符号化処理を行うことにより、画像符号化装置100は、符号化時または復号時のフィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。例えば、画像の各フレームを複数のスライスに分けて処理する場合においても、画像符号化装置100は、符号化効率の低減を抑制することができる。
<2.第2の実施の形態>
[デバイスの構成]
 次に、第1の実施の形態において説明した画像符号化装置100に対応する画像復号装置について説明する。図18は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成例を示すブロック図である。
 画像復号装置200は、画像符号化装置100より出力される符号化データを復号し、復号画像を生成する。
 画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、およびデブロックフィルタ206を有する。また、画像復号装置200は、適応フィルタ処理部207を有する。さらに、画像復号装置200は、画面並べ替えバッファ208、およびD/A(Digital / Analog l)変換部209を有する。また、画像復号装置200は、フレームメモリ210、イントラ予測部211、動き補償部212、および選択部213を有する。
 蓄積バッファ201は、伝送されてきた画像圧縮情報を蓄積する。可逆復号部202は、蓄積バッファ201より供給された、図1の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。
 当該マクロブロックがイントラ符号化されたものである場合、可逆復号部202は、符号化データのヘッダ部に格納されたイントラ予測モード情報を抽出し、イントラ予測部211へ伝送する。また、当該マクロブロックがインター符号化されたものである場合、可逆復号部202は、符号化データのヘッダ部に格納された動きベクトル情報を抽出し、動き補償部212へ転送する。
 また、可逆復号部202は、符号化データの、フレーム内で最初に供給されるスライスのスライスヘッダから、適応フィルタ用の1ピクチャ分の制御情報(制御情報生成部112により生成された制御情報)を抽出し、適応フィルタ処理部207に供給する。
 逆量子化部203は可逆復号部202により復号された画像を、図1の量子化部105の量子化方式に対応する方式で逆量子化する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203の出力を逆直交変換する。
 演算部205は、逆直交変換された差分情報に、選択部213から供給される予測画像を加算し、復号画像を生成する。デブロックフィルタ206は、その加算処理されて生成された復号画像のブロック歪を除去する。
 適応フィルタ処理部207は、可逆復号部202より供給された1ピクチャ分の制御情報に含まれるフィルタ係数、ALFブロックサイズ、およびフィルタブロックフラグ等の情報に基づいて、デブロックフィルタ206より供給される画像に対してフィルタ処理を行う。適応フィルタ処理部207は、図1の適応フィルタ処理部113と同様の適応フィルタ処理を行う。これにより、適応フィルタ処理部207は、デブロックフィルタ206では取りきれなかったブロック歪や量子化による歪を低減することができる。
 適応フィルタ処理部207は、フィルタ処理後の画像をフレームメモリ210に供給し、参照画像情報として蓄積させるとともに、画面並べ替えバッファ208に出力する。
 画面並べ替えバッファ208は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部209は、画面並べ替えバッファ208から供給された画像をD/A変換し、出力する。例えば、D/A変換部209は、D/A変換して得られた出力信号を図示せぬディスプレイに出力し、画像を表示させる。
 イントラ予測部211は、当該フレームがイントラ符号化されたものである場合、可逆復号部202から供給される情報に基づいて、予測画像を生成し、生成した予測画像を、選択部213に出力する。
 動き補償部212は、当該フレームがインター符号化されたものである場合、可逆復号部202から供給された動きベクトル情報に基づき、フレームメモリ210に格納された参照画像情報に対して動き補償処理を行う。
 選択部213は、当該マクロブロックがイントラ符号化されたものである場合、イントラ予測部211に接続し、イントラ予測部211より供給される画像を予測画像として演算部205に供給する。また、当該マクロブロックがインター符号化されたものである場合、選択部213は、動き補償部212に接続し、動き補償部212から供給される画像を予測画像として演算部205に供給する。
 図19は、図18の可逆復号部202の詳細な構成例を示すブロック図である。なお、説明の便宜上、イントラ予測モード情報および動きベクトル情報の抽出に関する構成についての説明は省略する。
 図19に示されるように、可逆復号部202は、制御情報抽出部221および復号部222を有する。制御情報抽出部221は、蓄積バッファ201から符号化データを取得し、フレーム内で最初に供給されるスライスのスライスヘッダから、1ピクチャ分の制御情報を抽出し、適応フィルタ処理部207に供給する。
 復号部222は、制御情報抽出部221から供給される符号化データを、可逆符号化部106の符号化方式に対応する復号方式で復号し、復号データ(量子化された係数データ)を生成する。復号部222は、生成した復号データを逆量子化部203に供給する。
 このように、制御情報抽出部221が符号化データのスライスヘッダに埋め込まれた制御情報を抽出し、適応フィルタ処理部207に供給するので、適応フィルタ処理部207は、その制御情報に基づいて、適切に適応フィルタ処理を行うことができる。つまり、適応フィルタ処理部207は、画像符号化装置100の適応フィルタ処理部113と同様に適応フィルタ処理を行うことができる。
[処理の流れ]
 図20のフローチャートを参照して、この画像復号装置200が実行する復号処理の流れの例を説明する。
 ステップS201において、蓄積バッファ201は伝送されてきた画像(符号化データ)を蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給される符号化データを可逆復号する可逆復号処理を行う。
 詳細については後述するが、この可逆復号処理により、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。なお、このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)などの抽出も行われる。
 すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き補償部212に供給される。
 また、この可逆復号処理により、符号化データのスライスヘッダから1ピクチャ分の適応フィルタ処理用の制御情報が抽出され、適応フィルタ処理部207に供給される。
 ステップS203において、逆量子化部203は、ステップS202において復号された変換係数を、図1の量子化部105の特性に対応する特性で逆量子化する。ステップS204において逆直交変換部204は、ステップS203の処理により逆量子化された変換係数を、図1の直交変換部104の特性に対応する特性で逆直交変換する。これにより図1の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。
 ステップS205において、演算部205は、後述するステップS211の処理で選択される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS206において、デブロックフィルタ206は、演算部205より出力された画像をフィルタリングする。これによりブロック歪みが除去される。
 ステップS207において、適応フィルタ処理部207は、デブロックフィルタ処理された画像に、さらに適応フィルタ処理を施す。この適応フィルタ処理は、図1の適応フィルタ処理部113が行う処理と同様である。すなわち、この適応フィルタ処理は、可逆復号部202より供給された制御情報を用いること以外、図16のフローチャートを参照して説明した場合と同様に行われる。ただし、この可逆復号部202より供給される制御情報も、図1の制御情報生成部112が生成したものであり、実質的に図1の適応フィルタ処理部113が利用する、制御情報生成部112より供給される制御情報と同等である。
 この適応フィルタ処理により、デブロッキングフィルタ処理により取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 ステップS208において、フレームメモリ210は、フィルタリングされた画像を記憶する。
 イントラ予測モード情報が供給された場合、イントラ予測部211は、ステップS209において、イントラ予測モードのイントラ予測処理を行う。また、インター予測モード情報が供給された場合、動き補償部212は、ステップS210において、インター予測モードの動き補償処理を行う。
 ステップS211において、選択部213は、予測画像を選択する。すなわち、イントラ予測部211により生成された予測画像、または動き補償部212により生成された予測画像のうちいずれか一方を選択し、選択した予測画像を演算部205に供給する。
 例えば、イントラ符号化された画像の場合、選択部213は、イントラ予測部211により生成された予測画像を選択し、演算部205に供給する。また、インター符号化された画像の場合、選択部213は、動き補償部212により生成された予測画像を選択し、演算部205に供給する。
 ステップS212において、画面並べ替えバッファ208は、並べ替えを行う。すなわち、図1の画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS213において、D/A変換部209は、画面並べ替えバッファ208からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 このように、画像復号装置200は、可逆復号部202が、画像符号化装置100から供給された制御情報を抽出して復号し、適応フィルタ処理部207が、その制御情報を用いて、画像符号化装置100の適応フィルタ処理部113と同様に、適応フィルタ処理を行う。
 次に、図21のフローチャートを参照して、図20のステップS202において実行される可逆復号処理の流れの例を説明する。
 可逆復号処理が開始されると、制御情報抽出部221は、ステップS231において、供給された符号化データが、フレーム(ピクチャ)の最初に伝送されたスライスであるか否かを判定する。
 例えば、フレーム番号(frame_num)がこれまでのスライスと異なる場合、そのスライスが当該ピクチャの最初のスライスである。また、例えば、フレーム・ピクチャかフィールド・ピクチャかを示すフラグ(field_pic_flag)がこれまでのスライスと異なる場合、そのスライスが当該ピクチャの最初のスライスである。さらに、例えば、トップ・フィールドかボトム・フィールドかを示すフラグ(bottom_field_flag)がこれまでのスライスと異なる場合、そのスライスが当該ピクチャの最初のスライスである。また、例えば、フレーム番号(frame_num)が同じであってピクチャ・オーダー・カウントPOCの値がこれまでのスライスと異なる場合、そのスライスが当該ピクチャの最初のスライスである。さらに、例えば、nal_ref_idc情報がこれまでのスライスと異なる場合、そのスライスが当該ピクチャの最初のスライスである。また、IDRピクチャであってidr_pic_idc情報がこれまでのスライスと異なる場合、そのスライスが当該ピクチャの最初のスライスである。
 したがって、制御情報抽出部221は、これらの値を参照し、いずれかの値が、これまでのスライスと異なる場合、そのスライスが当該ピクチャの最初のスライスであると判定する。
 もちろん、制御情報抽出部221は、これ以外の情報に基づいて、最初に伝送されたスライスであるか否かを判定するようにしてもよい。
 ステップS231において、フレームの最初に伝送されたスライスであると判定された場合、ステップS232に進む。ステップS232において、制御情報抽出部221は、そのスライスヘッダから、1ピクチャ分の制御情報を抽出し、適応フィルタ処理部207に供給する。
 制御情報が抽出されると、ステップS233に進む。また、ステップS231において、供給された符号化データが、フレーム(ピクチャ)の最初に伝送されたスライスでないと判定された場合、ステップS233に進む。
 ステップS233において、復号部222は、符号化データの処理対象スライスを復号する。ステップS234において、復号部222は、復号して得られた復号データ(量子化された係数データ)を逆量子化部203に出力する。ステップS235において、復号部222は、フレーム内の全てのスライスを処理したか否かを判定する。未処理のスライスが存在すると判定された場合、ステップS231に戻り、それ以降の処理が繰り返される。また、ステップS235において、フレーム内の全てのスライスが処理されたと判定された場合、可逆復号処理を終了し、図20のステップS207に戻り、ステップS208以降の処理が実行される。
 以上のように可逆復号処理を行うことにより、可逆復号部202は、符号化データに付加された制御情報を抽出し、適応フィルタ処理部207に供給することができる。これにより、適応フィルタ処理部207は、適切に適応フィルタ処理を実行することができる。これにより、適応フィルタ処理部207は、処理対象スライスの、デブロックフィルタにより取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 また、このとき、上述したように、制御情報は、当該ピクチャの最初のスライスのスライスヘッダに埋め込まれており、制御情報抽出部221は、その当該ピクチャの最初のスライスを適切に検出し、そのスライスヘッダから1ピクチャ分の制御情報を抽出する。
 このようにすることにより、適応フィルタ処理部207は、当該ピクチャの制御情報を、最初のスライスを処理する時点で準備することができ、不要な遅延無く適応フィルタ処理を行うことができる。つまり、各スライスに対して適応フィルタ処理を行う際に、制御情報の準備のための不要な待機時間を設ける必要が無いので、適応フィルタ処理部207は、制御情報を各スライスヘッダに埋め込む場合と同様の処理時間で、適応フィルタ処理を行うことができる。
 したがって、画像復号装置200は、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。例えば、画像の各フレームを複数のスライスに分けて処理する場合においても、符号化効率の低減を抑制することができる。
<3.第3の実施の形態>
[制御情報を先頭スライスのヘッダに含める例の概要説明]
 なお、以上においては、1ピクチャ分の制御情報が、最初に出力(伝送)されるスライスのスライスヘッダに付加されるように説明したが、制御情報は、他のスライスのスライスヘッダに付加されるようにしてもよい。例えば、先頭スライスのスライスヘッダに、制御情報が付加されるようにしてもよい。
 先頭スライスとは、例えば、フレーム(ピクチャ)の中で一番上に位置するスライスである。また、例えば、先頭スライスとは、スライスの識別番号が最も若いスライスである。さらに、例えば、先頭スライスとは、MBアドレスが「0」のマクロブロックを含むスライスである。一般的にはこれらのスライスは全て同じスライスとなるが、一致しなくても良い。その場合、いずれか1つの条件に基づいて先頭スライスが決定される。
 つまり、第1の実施の形態や、第2の実施の形態において説明した、最初に伝送されるスライスが、その処理順によって特定されるスライスであるのに対し、この先頭スライスは、その位置関係(例えば識別番号や座標)によって特定されるスライスである。
 例えば、図22に示されるように、3つのスライス(スライス0、スライス1、およびスライス2)により構成されるフレーム151において、スライス0が先頭スライスとして設定されるとする。
 このとき、各スライスに対して生成される制御情報191-1乃至制御情報191-3は、スライスの処理順に関わらず、全て、先頭スライスのスライスヘッダであるスライス0ヘッダ192-2に付加される。このスライス0の最初のMBアドレスは0である。したがって、この場合、制御情報抽出部221は、スライスヘッダにあるfirst_mb_in_slice(スライス中の最初のMBアドレスを規定する情報)の値を参照し、その値が「0」であれば、その後に制御情報を含んでいることが分かる。したがって、制御情報抽出部221は、境界検査なしに容易に制御情報の存在を確認し、それを抽出することができる。
 ただし、図22にも示されるように、先頭スライスが、最初に伝送されるとは限らない。図22の例の場合、符号化データ194は、スライス1、スライス0、スライス2の順に伝送される。
 したがって、この場合、適応フィルタ処理部207は、先頭スライスより先に伝送されたスライス(図22の例の場合、スライス0)について、先頭スライスより制御情報が抽出されるまで適応フィルタ処理を行うことができない。
[符号化側]
 この場合の、画像符号化装置100の可逆符号化部106の構成は、図10を参照して説明した第1の実施の形態の場合と同様である。
 図23のフローチャートを参照して、この場合の可逆符号化処理の流れの例を説明する。この図23のフローチャートは、図17に示されるフローチャートに対応する。
 この場合も、第1の実施の形態の場合と基本的に同様に処理が行われる。すなわち、図13のステップS116において可逆符号化処理が開始されると、ステップS251乃至ステップS254の各処理が、図17のステップS191乃至ステップS194の各処理と同様に実行され、量子化された係数データがスライス毎に符号化される。
 ステップS255において、制御情報付加部184は、制御情報保持部183に保持されている制御情報を、符号化データ保持部182に保持されている1フレーム分の符号化データの、先頭スライスのスライスヘッダに埋め込む。このとき、制御情報付加部184は、制御情報保持部183に保持されている制御情報を取得してまとめ、符号化データが属するフレーム(ピクチャ)の1ピクチャ分の制御情報を生成する。制御情報付加部184は、その1ピクチャ分の制御情報を、先頭スライスのスライスヘッダに埋め込む。
 制御情報を符号化データに付加した、制御情報付加部184は、ステップS256において、符号化データを所定順に出力する。1ピクチャ分の符号化データを出力すると、可逆符号化部106は、可逆符号化処理を終了し、図13のステップS116に戻り、ステップS117以降の処理に進む。
 以上のような可逆符号化処理を行うことにより、画像符号化装置100は、第1の実施の形態の場合と同様に、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。また、復号時の制御情報の抽出を容易にすることができる。
[復号側]
 次に、本実施の形態の画像復号装置200について説明する。図24は、この場合の、画像復号装置200の可逆復号部202の構成例を示すブロック図である。図24に示されるように、この場合の可逆復号部202は、図19を参照して説明した第2の実施の形態の場合の可逆復号部202と基本的に同様の構成を有する。
 ただし、この場合、可逆復号部202は、復号データ保持部223をさらに有する。復号データ保持部223は、復号部222において復号されて生成された復号データを保持する。
 制御情報を先頭スライスのスライスヘッダに含めるようにする場合、上述したように、先頭スライスが伝送されるまで制御情報が得られない。したがって、復号データ保持部223は、先頭スライスより先に伝送されるスライスの復号データを、制御情報が得られるまで保持する。
 次に、図25のフローチャートを参照して、図20のステップS202において実行される、この場合の可逆復号処理の流れの例を説明する。この図25のフローチャートは、図21に示されるフローチャートに対応する。
 この場合も、第2の実施の形態の場合と基本的に同様に処理が行われる。すなわち、可逆復号処理が開始されると、制御情報抽出部221は、ステップS271において、供給された符号化データが、フレーム(ピクチャ)の先頭スライスであるか否かを判定する。
 例えば、スライスヘッダにあるfirst_mb_in_sliceの値が「0」であり、先頭スライスであると判定された場合、ステップS272に進む。ステップS272において、制御情報抽出部221は、そのスライスヘッダから、1ピクチャ分の制御情報を抽出し、適応フィルタ処理部207に供給する。
 制御情報が抽出されると、ステップS273に進む。また、ステップS271において、供給された符号化データが、先頭スライスでないと判定された場合、ステップS273に進む。
 ステップS273において、復号部222により、その符号化データが復号されると、復号データ保持部223は、ステップS274において、復号されて得られた復号データを保持する。
 ステップS275において、復号データ保持部223は、制御情報抽出部221により制御情報が抽出されたか否かを判定する。抽出されたと判定された場合、復号データ保持部223は、ステップS276に進み、保持している復号データの逆量子化部203への出力を開始する。
 復号データの出力が開始されると、ステップS277に進む。また、ステップS275において、現在処理中の当該フレームについて、制御情報が抽出されていないと判定された場合、ステップS277に進む。
 ステップS277において、制御情報抽出部221は、フレーム内の全てのスライスを処理したか否かを判定する。未処理のスライスが存在すると判定された場合、ステップS271に戻り、未処理のスライスに対して、それ以降の処理を繰り返す。また、ステップS277において、フレーム内の全てのスライスを処理したと判定された場合、可逆復号処理を終了し、図20のステップS207に戻り、ステップS208以降の処理が実行される。
 以上のように可逆復号処理を行うことにより、可逆復号部202は、符号化データに付加された制御情報を抽出し、適応フィルタ処理部207に供給することができる。これにより、適応フィルタ処理部207は、適切に適応フィルタ処理を実行することができる。これにより、適応フィルタ処理部207は、処理対象スライスの、デブロックフィルタにより取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 また、このとき、上述したように、制御情報は、当該ピクチャの先頭スライスのスライスヘッダに埋め込まれており、制御情報抽出部221は、その当該ピクチャの先頭スライスを容易に検出し、そのスライスヘッダから1ピクチャ分の制御情報を抽出することができる。
<4.第4の実施の形態>
[制御情報を所定のスライスのヘッダに含める例の概要説明]
 なお、制御情報は、上述した最初に伝送されるスライスや先頭スライス以外のスライスのスライスヘッダに、制御情報が付加されるようにしてもよい。
 例えば、図26に示されるように、3つのスライス(スライス0、スライス1、およびスライス2)により構成されるフレーム151において、スライス0が先頭スライスとして設定されるとする。
 このとき、各スライスに対して生成される制御情報191-1乃至制御情報191-3は、スライスの処理順に関わらず、全て、予め定められた所定のスライスであるスライス2のスライスヘッダであるスライス2ヘッダ192-3に付加されるようにしてもよい。
 このスライス2(スライス2ヘッダ192-3)の特定方法は、任意である。また、この場合、画像復号装置200の制御情報抽出部221の制御情報検出方法も任意である。
 この場合も、第3の実施の形態の場合と同様に、制御情報が埋め込まれたスライスが、最初に伝送されるとは限らない。図26の例の場合、符号化データ194は、スライス1、スライス0、スライス2の順に伝送される。つまり、スライス0およびスライス1は、制御情報を含むスライス2よりも先に伝送される。
 したがって、この場合も、適応フィルタ処理部207は、スライス2より先に伝送されたスライス(図26の例の場合、スライス0およびスライス1)について、スライス2より制御情報が抽出されるまで適応フィルタ処理を行うことができない。
[符号化側]
 この場合の、画像符号化装置100の可逆符号化部106の構成は、図10を参照して説明した第1の実施の形態の場合と同様である。
 図27のフローチャートを参照して、この場合の可逆符号化処理の流れの例を説明する。この図27のフローチャートは、図17に示されるフローチャートに対応する。
 この場合も、第1の実施の形態の場合と基本的に同様に処理が行われる。すなわち、図13のステップS116において可逆符号化処理が開始されると、ステップS291乃至ステップS294の各処理が、図17のステップS191乃至ステップS194の各処理と同様に実行され、量子化された係数データがスライス毎に符号化される。
 ステップS295において、制御情報付加部184は、制御情報保持部183に保持されている制御情報を、符号化データ保持部182に保持されている1フレーム分の符号化データの、予め定められた所定のスライスのスライスヘッダに埋め込む。このとき、制御情報付加部184は、制御情報保持部183に保持されている制御情報を取得してまとめ、符号化データが属するフレーム(ピクチャ)の1ピクチャ分の制御情報を生成する。制御情報付加部184は、その1ピクチャ分の制御情報を、所定のスライスのスライスヘッダに埋め込む。
 制御情報を符号化データに付加した、制御情報付加部184は、ステップS296において、符号化データを所定順に出力する。1ピクチャ分の符号化データを出力すると、可逆符号化部106は、可逆符号化処理を終了し、図13のステップS116に戻り、ステップS117以降の処理に進む。
 以上のような可逆符号化処理を行うことにより、画像符号化装置100は、第1の実施の形態の場合と同様に、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。
[復号側]
 次に、本実施の形態の画像復号装置200について説明する。この場合の、画像復号装置200の可逆復号部202の構成は、図24を参照して説明した第3の実施の形態の場合と同様である。
 図28のフローチャートを参照して、図20のステップS202において実行される、この場合の可逆復号処理の流れの例を説明する。この図28のフローチャートは、図25に示されるフローチャートに対応する。
 この場合も、第3の実施の形態の場合と基本的に同様に処理が行われる。すなわち、可逆復号処理が開始されると、制御情報抽出部221は、ステップS311において、供給された符号化データが、フレーム(ピクチャ)の所定のスライス(スライスヘッダに制御情報を含むスライス)であるか否かを判定する。
 所定のスライスであると判定された場合、ステップS312に進む。ステップS312において、制御情報抽出部221は、そのスライスヘッダから、1ピクチャ分の制御情報を抽出し、適応フィルタ処理部207に供給する。
 制御情報が抽出されると、ステップS313に進む。また、ステップS311において、供給された符号化データが、制御情報が付加された所定のスライスでないと判定された場合、ステップS313に進む。
 その後、ステップS313乃至ステップS317の各処理が、図25のステップS273乃至ステップS277の各処理と同様に実行される。
 以上のように可逆復号処理を行うことにより、可逆復号部202は、符号化データに付加された制御情報を抽出し、適応フィルタ処理部207に供給することができる。これにより、適応フィルタ処理部207は、適切に適応フィルタ処理を実行することができる。これにより、適応フィルタ処理部207は、処理対象スライスの、デブロックフィルタにより取りきれなかったブロック歪みや量子化による歪みを低減することができる。
<5.第5の実施の形態>
[ポインタを利用する例の概要説明]
 また、制御情報は、上述したように制御情報そのものをスライスヘッダに付加する以外にも、例えば、制御情報が付加された場所を示すポインタを、スライスヘッダに含めるようにしてもよい。
 例えば、図29に示されるように、フレーム151のスライス0乃至スライス2に対応する制御情報191-1乃至制御情報191-3は、まとめられ、1ピクチャ分の制御情報231として、符号化データ194のスライス2データ193-3の後ろに付加される。そして、最初に伝送されるスライス1ヘッダ192-1には、制御情報231の位置を示すポインタが付加される。
 このようにすることにより、画像復号装置200の制御情報抽出部221は、スライス1ヘッダ192-1を参照し、そこに付加されているポインタから、制御情報231を取得することができる。つまり、制御情報抽出部231は、第2の実施の形態の場合と略同様に、符号化データから制御情報を抽出することができる。
 ただし、この場合、実際には、制御情報抽出部221は、制御情報231が供給されるまで、制御情報231を抽出することができない。
 もちろん、制御情報231を付加する場所は任意である。例えば、制御情報が、スライス1ヘッダ192-1よりも先に伝送されるような位置に付加されるようにしてもよい。その場合、制御情報抽出部221は、スライス1ヘッダ192-1のポインタを参照した時点で制御情報を抽出することができる。
[符号化側]
 この場合も、画像符号化装置100の可逆符号化部106の構成は、図10を参照して説明した第1の実施の形態の場合と同様である。
 図30のフローチャートを参照して、この場合の可逆符号化処理の流れの例を説明する。この図30のフローチャートは、図17に示されるフローチャートに対応する。
 この場合も、第1の実施の形態の場合と基本的に同様に処理が行われる。すなわち、図13のステップS116において可逆符号化処理が開始されると、ステップS331乃至ステップS334の各処理が、図17のステップS191乃至ステップS194の各処理と同様に実行され、量子化された係数データがスライス毎に符号化される。
 ステップS335において、制御情報付加部184は、制御情報保持部183に保持されている制御情報を、符号化データの所定の位置に付加する。このとき、制御情報付加部184は、制御情報保持部183に保持されている制御情報を取得してまとめ、符号化データが属するフレーム(ピクチャ)の1ピクチャ分の制御情報を生成する。制御情報付加部184は、その1ピクチャ分の制御情報を、符号化データの所定の位置に付加する。
 ステップS336において、制御情報付加部184は、制御情報を付加した位置を示すポインタを、符号化データ保持部182に保持されている1フレーム分の符号化データの、最初に伝送されるスライスのスライスヘッダに埋め込む。
 制御情報を符号化データに付加し、そのポインタをスライスヘッダに埋め込んだ制御情報付加部184は、ステップS337において、符号化データを所定順に出力する。1ピクチャ分の符号化データを出力すると、可逆符号化部106は、可逆符号化処理を終了し、図13のステップS116に戻り、ステップS117以降の処理に進む。
 以上のような可逆符号化処理を行うことにより、画像符号化装置100は、第1の実施の形態の場合と同様に、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。
[復号側]
 次に、本実施の形態の画像復号装置200について説明する。この場合の、画像復号装置200の可逆復号部202の構成は、図24を参照して説明した第3の実施の形態の場合と同様である。
 図28のフローチャートを参照して、図20のステップS202において実行される、この場合の可逆復号処理の流れの例を説明する。この図28のフローチャートは、図25に示されるフローチャートに対応する。
 次に、図31のフローチャートを参照して、図20のステップS202において実行される、この場合の可逆復号処理の流れの例を説明する。この図31のフローチャートは、図25に示されるフローチャートに対応する。
 この場合も、第3の実施の形態の場合と基本的に同様に処理が行われる。すなわち、可逆復号処理が開始されると、制御情報抽出部221は、ステップS351において、供給された符号化データが、フレーム(ピクチャ)の最初に伝送されたスライスであるか否かを判定する。
 第2の実施の形態の場合と同様に判定により、最初に伝送されたスライスであると判定された場合、ステップS352に進む。ステップS352において、制御情報抽出部221は、そのスライスヘッダに付加されたポインタを参照する。
 ポインタを参照すると、ステップS353に進む。また、ステップS351において、供給された符号化データが、フレームの最初に伝送されたスライスでないと判定された場合、ステップS353に進む。
 ステップS353において、制御情報抽出部221は、現時点で制御情報を抽出可能であるか否かを判定する。その時点において、符号化データに付加された1ピクチャ分の制御情報が既に供給されており、抽出可能であると判定された場合、ステップS354に進み、制御情報抽出部221は、その1ピクチャ分の制御情報を抽出し、適応フィルタ処理部207に供給する。
 制御情報が抽出されると、ステップS355に進む。また、ステップS353において、制御情報がまだ供給されておらず、抽出不可能であると判定された場合、ステップS355に進む。
 ステップS355において、復号部222により、符号化データの処理対象スライスが復号されると、復号データ保持部223は、ステップS356において、復号されて得られた復号データを保持する。
 ステップS357において、復号データ保持部223は、制御情報抽出部221により制御情報が抽出されたか否かを判定する。抽出されたと判定された場合、復号データ保持部223は、ステップS358に進み、保持している復号データの逆量子化部203への出力を開始する。
 復号データの出力が開始されると、ステップS359に進む。また、ステップS357において、現在処理中の当該フレームについて、制御情報が抽出されていないと判定された場合、ステップS359に進む。
 ステップS359において、制御情報抽出部221は、フレーム内の全てのスライスを処理したか否かを判定する。未処理のスライスが存在すると判定された場合、ステップS351に戻り、未処理のスライスに対して、それ以降の処理を繰り返す。また、ステップS359において、フレーム内の全てのスライスを処理したと判定された場合、可逆復号処理を終了し、図20のステップS207に戻り、ステップS208以降の処理が実行される。
 以上のように可逆復号処理を行うことにより、可逆復号部202は、符号化データに付加されたポインタに基づいて制御情報を抽出し、適応フィルタ処理部207に供給することができる。これにより、適応フィルタ処理部207は、適切に適応フィルタ処理を実行することができる。これにより、適応フィルタ処理部207は、処理対象スライスの、デブロックフィルタにより取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 したがって、画像復号装置200は、第2の実施の形態の場合と同様に、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。例えば、画像の各フレームを複数のスライスに分けて処理する場合においても、符号化効率の低減を抑制することができる。
[その他の例]
 なお、以上においては、制御情報が付加されている位置を示すポインタが、フレームの最初に伝送されるスライスのスライスヘッダに付加されるように説明したが、ポインタの埋め込み位置は任意である。例えば、第3の実施の形態のように、先頭スライスのスライスヘッダに制御情報が付加されるようにしてもよいし、第4の実施の形態のように、予め定められた所定のスライスに制御情報が付加されるようにしてもよい。
 また、上述したポインタは、どのような形態の情報であってもよい。
<6.第6の実施の形態>
[制御情報を複数のグループにまとめる例の概要説明]
 以上においては、1ピクチャ分の制御情報を1つにまとめるように説明したが、これに限らず、例えば、1フレームのスライスを複数のグループに分け、そのグループ毎に制御情報をまとめるようにしてもよい。
 例えば、図32において、フレーム151内の点線がスライスの境界を示し、実線が複数のスライスをまとめるグループを示している。各スライスの制御情報は、このグループ毎にまとめられる。
 図32において、制御情報241-1は、フレーム151の上から1番目のグループに属するスライスの制御情報をまとめたものである。制御情報241-2は、フレーム151の上から2番目のグループに属するスライスの制御情報をまとめたものである。制御情報241-3は、フレーム151の上から3番目のグループに属するスライスの制御情報をまとめたものである。
 これらの制御情報は、それぞれが対応するグループの中で最初に伝送されるスライスのスライスヘッダに埋め込まれる。
 図32において、制御情報241-1は、フレーム151の上から1番目のグループの符号化データ244-1の、最初に伝送されるスライスAのスライスヘッダであるスライスAヘッダ242-1に埋め込まれる。
 同様に、制御情報241-2は、フレーム151の上から2番目のグループの符号化データ244-2の、最初に伝送されるスライスBのスライスヘッダであるスライスBヘッダ242-2に埋め込まれる。
 同様に、制御情報241-3は、フレーム151の上から3番目のグループの符号化データ244-3の、最初に伝送されるスライスCのスライスヘッダであるスライスCヘッダ242-3に埋め込まれる。
 つまり、この場合、1フレーム分の符号化データには、複数の制御情報が付加されることになるが、グループ単位でまとめてあるので、スライス毎に制御情報を付加する場合よりも、冗長性が低減され、符号化効率が向上される。また、複数に分けて制御情報が付加されるので、上述した各実施の形態の場合よりも、伝送時のパケットロス等に対する耐性が強くなる。
 なお、この複数スライスからなるグループは、予め定められている。すなわち、フレーム内のスライスがいくつのグループに分けられ、どのスライスがどのグループに属するかは予め定められている。
[符号化側]
 この場合の、画像符号化装置100について説明する。この場合の画像符号化装置100の可逆符号化部106の構成は、図10を参照して説明した第1の実施の形態の場合と同様である。
 図33のフローチャートを参照して、この場合の可逆符号化処理の流れの例を説明する。この図33のフローチャートは、図17に示されるフローチャートに対応する。
 この場合も、第1の実施の形態の場合と基本的に同様に処理が行われる。すなわち、図13のステップS116において可逆符号化処理が開始されると、ステップS371乃至ステップS374の各処理が、図17のステップS191乃至ステップS194の各処理と同様に実行され、量子化された係数データがスライス毎に符号化される。
 ただし、この場合、制御情報付加部184は、ステップS374において、フレームではなく、グループ単位で、全てのスライスが符号化されたか否かを判定する。すなわち、制御情報付加部184は、ステップS374において、符号化部181が処理対象グループに属する全てのスライスを符号化したか否かを判定する。
 処理対象グループに属する未処理のスライスが存在すると判定された場合、ステップS371に戻り、未処理のスライスに対してそれ以降の処理が繰り返される。また、ステップS374において、符号化部181が処理対象グループに属する全てのスライスを符号化したと判定された場合、ステップS375に進む。
 ステップS375において、制御情報付加部184は、制御情報保持部183に保持されている制御情報を、符号化データ保持部182に保持されている1グループ分の符号化データの、最初に伝送されるスライスのスライスヘッダに埋め込む。このとき、制御情報付加部184は、制御情報保持部183に保持されている制御情報を取得してまとめ、符号化データが属するグループの制御情報(1グループ分の制御情報)を生成する。制御情報付加部184は、その1グループ分の制御情報を、グループで最初に伝送されるスライスのスライスヘッダに埋め込む。
 制御情報を符号化データに付加した、制御情報付加部184は、ステップS376において、その1グループ分の符号化データを所定順に出力する。1グループ分の符号化データを出力すると、可逆符号化部106は、ステップS377において、フレーム内の全てのグループを処理したか否かを判定する。
 未処理のグループが存在すると判定された場合、ステップS371に戻り、未処理のグループに対してそれ以降の処理を繰り返す。また、ステップS377において、フレーム内の全てのグループが処理されたと判定された場合、可逆符号化部106は、可逆符号化処理を終了し、図13のステップS116に戻り、ステップS117以降の処理に進む。
 以上のような可逆符号化処理を行うことにより、画像符号化装置100は、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。また、パケットロス等に対する耐性も向上させることができる。
[復号側]
 次に、本実施の形態の画像復号装置200について説明する。この場合、画像復号装置200の可逆復号部202は、フレーム(ピクチャ)単位でなく、グループ単位で制御情報を抽出すればよい。したがって、この場合の可逆復号部202は、図19を参照して説明した第2の実施の形態の場合の可逆復号部202と同様の構成を有する。
 また、可逆復号部202による可逆復号処理も、フレーム(ピクチャ)単位であるところをグループ単位とすること以外、図21のフローチャートを参照して説明した例と同様に実行することができる。
 以上のように可逆復号部202は、符号化データに付加された制御情報を抽出し、適応フィルタ処理部207に供給することができる。これにより、適応フィルタ処理部207は、適切に適応フィルタ処理を実行することができる。
[その他の例]
 なお、以上においては、制御情報が、各グループの最初に伝送されるスライスのスライスヘッダに付加されるように説明したが、この制御情報の埋め込み位置は任意である。例えば、第3の実施の形態のように、各グループの先頭スライスのスライスヘッダに制御情報が付加されるようにしてもよいし、第4の実施の形態のように、各グループの予め定められた所定のスライスに制御情報が付加されるようにしてもよい。
<7.第7の実施の形態>
[グループ数を制御する例の概要説明]
 第6の実施の形態においては、制御情報をまとめる単位として、複数のスライスからなるグループについて説明したが、画像符号化装置100が、例えばフレーム毎やGOP毎等、所定の単位毎にこのグループを定義するようにしてもよい。つまり、この場合、画像符号化装置100が、例えばフレーム毎に、どのスライスがどのグループに属し、1フレームにいくつのグループを形成するか(制御情報を1フレーム当たりいくつに集約するか)を定義する。
[符号化側]
 この場合の、画像符号化装置100について説明する。図34は、この場合の画像符号化装置100の可逆符号化部106の構成例を示すブロック図である。
 図34に示されるように、この場合の可逆符号化部106は、第1の実施の形態の場合と同様に、符号化部181乃至制御情報付加部184を有する。ただし、この場合の符号化部106は、さらに、制御部251を有する。
 制御部251は、グループの定義を行い、処理対象フレーム内のグループ数を決定する。換言すれば、制御部251は、符号化データに埋め込まれる各制御情報が対応するデータの範囲を決定する。
 制御部251は、符号化部181および制御情報付加部184を制御し、各グループの最初に伝送されるスライスのスライスヘッダに、当該グループに対応する制御情報を埋め込ませる。
 図35のフローチャートを参照して、この場合の可逆符号化処理の流れの例を説明する。この図35のフローチャートは、図33に示されるフローチャートに対応する。
 この場合も、第6の実施の形態の場合と基本的に同様に処理が行われる。図13のステップS116において可逆符号化処理が開始されると、ステップS391において、制御部251は、処理対象フレームについてグループの定義を行い、グループ数を設定する。制御部251は、そのグループに関する設定に基づいて、符号化部181および制御情報付加部184を制御する。
 ステップS391において行われたグループの設定にしたがって、ステップS392乃至ステップS398の各処理が実行される。つまり、グループが設定された後のステップS392乃至ステップS398の各処理は、図33のステップS371乃至ステップS377の各処理と同様に実行される。
 以上のような可逆符号化処理を行うことにより、画像符号化装置100は、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。また、パケットロス等に対する耐性も向上させることができる。
[復号側]
 次に、本実施の形態の画像復号装置200について説明する。図36は、この場合の、画像復号装置200の可逆復号部202の構成例を示すブロック図である。
 この場合、画像復号装置200の可逆復号部202は、フレーム(ピクチャ)単位でなく、グループ単位で制御情報を抽出する。したがって、この場合の可逆復号部202は、図36に示されるように、例えば図24を参照して説明した第3の実施の形態の場合の可逆復号部202と同様に、制御情報抽出部221乃至復号データ保持部223を有する。ただし、この場合、画像復号装置200は、処理対象フレーム内のグループ数を把握していないので、各スライスヘッダを解析し、制御情報を検索する。したがって、この場合、可逆復号部202は、図36に示されるように、ヘッダ解析部261をさらに有する。
 ヘッダ解析部261は、供給される符号化データの各スライスヘッダを参照し、制御情報を検索する。制御情報抽出部221は、その解析結果に基づいて制御情報の抽出を行う。また、各部は、第6の実施の形態の場合と同様に、グループ毎に処理を行う。
 次に、図37のフローチャートを参照して、図20のステップS202において実行される、この場合の可逆復号処理の流れの例を説明する。この図37のフローチャートは、図25に示されるフローチャートに対応する。
 この場合も、第3の実施の形態の場合と基本的に同様に処理が行われる。可逆復号処理が開始されると、ヘッダ解析部261は、ステップS411において、供給された符号化データの処理対象スライスのスライスヘッダを参照し、そのスライスヘッダに制御情報が存在するか否かを判定する。処理対象スライスがグループの最初に伝送されるスライスであり、そのスライスヘッダに当該グループの制御情報を含むと判定された場合、ステップS412に進む。
 ステップS412において、制御情報抽出部221は、そのスライスヘッダから1グループ分の制御情報を抽出する。制御情報が抽出されると、ステップS413に進む。また、ステップS411において、スライスヘッダに制御情報が存在しないと判定された場合、ステップS413に進む。
 ステップS413乃至ステップS417の各処理は、図25のステップS273乃至ステップS277の各処理と同様に実行される。
 以上のように可逆復号部202は、符号化データに付加された制御情報を抽出し、適応フィルタ処理部207に供給することができる。これにより、適応フィルタ処理部207は、適切に適応フィルタ処理を実行することができる。
[グループ数の制御]
 次に、グループ数の制御について説明する。
 一般的にグループ数を増やす(1フレーム当たりの制御情報の数を増やす)と、制御情報の冗長度が高くなり、符号化データの符号化効率が低下する。これにより、画像復号装置200において処理すべき情報量が増大する。また、制御情報を抽出する回数も増大する。したがって、画像復号装置200の負荷が増大する可能性がある。ただし、1つの制御情報の情報量が小さくなるので、必要なメモリ量が低減される。
 これに対して、画像符号化装置100は、グループ数を増やすことにより、より小さい単位で符号化データを出力することができるようになる。つまり、符号化処理の遅延時間を低減させることができる。また、この場合、符号化データが高頻度で出力されるので、必要なメモリ量が低減される。
 逆に、グループ数を低減させる(1フレーム当たりの制御情報の数を減らす)と、制御情報の冗長度が低くなり、符号化データの符号化効率が向上する。これにより、画像復号装置200において処理すべき情報量が低減する。また、制御情報を抽出する回数も低減する。したがって、画像復号装置200の負荷が低減する可能性がある。ただし、1つの制御情報の情報量が大きくなるので、必要なメモリ量が増大する。
 これに対して、画像符号化装置100は、グループ数を減らすことにより、より大きい単位で符号化データを出力することになる。つまり、符号化処理の遅延時間が増大する。また、この場合、符号化データが低頻度で出力されることになるので、必要なメモリ量が増大する。
 以上のように、グループ数の増減によって、各種のパラメータが変化する。したがって、最適なグループ数は、ハードウェア資源や利用目的等のシステムの仕様によって決定される。
 例えば、画像符号化装置100が生成した符号化データをサーバ等に保存し、例えば画像復号装置200からの要求に基づいて、その符号化データを提供するようなシステムの場合、画像符号化装置100における遅延時間の増大は、符号化データの提供にほとんど影響を及ぼさない。このようなシステムの場合、符号化処理の遅延時間の低減よりも、復号処理の負荷の低減を抑制させることを優先すべきである。
 また、例えば、撮影等により生成された画像データを、即時的(リアルタイム)に、画像符号化装置100により符号化し、符号化データを伝送し、画像復号装置200によりその符号化データを復号し、復号画像を表示するようなシステムの場合、各処理の遅延時間の抑制が最も重要になる。
 また、画像復号装置200の処理能力が低い場合、復号処理の負荷を抑制することを優先させるのが望ましい。逆に、画像符号化装置100の処理能力が低い場合、符号化処理の負荷の抑制を優先させるのが望ましい。また画像データのビットレートや伝送路の使用可能な帯域幅等によって符号化効率の向上を優先すべき場合も考えられる。
 このように、遅延時間、符号化効率、処理の負荷、およびメモリ容量等、様々なパラメータの最適な値は、システムの仕様によって異なる。したがって、制御部251は、システムの仕様に対して各種パラメータが最適となるように、グループの設定を行う。これにより、より多様なシステムに適用することができる。
 なお、このグループの設定のために、画像符号化装置100または画像復号装置200が、システム内の他の装置のハードウェア資源や、伝送路に関する情報を収集したり、他の装置と各種情報を交換したりするようにしてもよい。
 また、1フレームのグループ数は1以上であればいくつであってもよい。さらに、グループ数の制御は、フレーム単位以外であっても良い。例えばGOP単位などであってもよい。
 また、以上においては、制御情報が、各グループの最初に伝送されるスライスのスライスヘッダに付加されるように説明したが、この制御情報の埋め込み位置は任意である。例えば、第3の実施の形態のように、各グループの先頭スライスのスライスヘッダに制御情報が付加されるようにしてもよいし、第4の実施の形態のように、各グループの予め定められた所定のスライスに制御情報が付加されるようにしてもよい。
 さらに、この制御情報を埋め込むスライス(スライスヘッダ)を、画像符号化装置100が設定するようにしてもよい。例えばフレーム単位やGOP単位等、任意の単位でこのような設定を行うようにしても良い。また、不定期に行うようにしてもよい。
 以上の各実施の形態においては、スライスを単位としてフレーム内の制御情報を、1つまたは複数にまとめるように説明したが、この制御情報のまとめる単位は、任意である。例えば、スライスよりも小さい単位、例えば、マクロブロックを単位として行うようにしてもよい。つまり、マクロブロック毎の制御情報を複数まとめてグループ毎の制御情報を生成するようにしてもよい。
<8.第8の実施の形態>
[要素毎に独立してグループ化する例の概要説明]
 以上においては、制御情報を構成する、フィルタ係数、ブロックサイズ、およびフィルタブロックフラグの各要素を互いに同じ単位でまとめるように説明したが、これらの各要素を、互いに独立した単位でまとめるようにしてもよい。つまり、フィルタ係数、ブロックサイズ、およびフィルタブロックフラグの各要素を互いに独立してグループ化するようにしてもよい。
 この場合、各フィルタ係数のグループが対応する画像の範囲(スライス)と、各ブロックサイズのグループが対応する画像の範囲(スライス)と、各フィルタブロックフラグが対応するグループの画像の範囲(スライス)が互いに独立して設定されているので、それらの情報が格納されるスライスヘッダも互いに異なることがあり得る。
 したがって、この場合、画像符号化装置100および画像復号装置200は、フィルタ係数、ブロックサイズ、およびフィルタブロックフラグの各要素について、それぞれ、上述した制御情報の場合と同様の処理を行う必要がある。
[符号化側]
 この場合の、画像符号化装置100について説明する。図38は、この場合の画像符号化装置100の可逆符号化部106の構成例を示すブロック図である。
 図38に示されるように、この場合の可逆符号化部106は、第1の実施の形態の場合と同様に、符号化部181乃至制御情報保持部183を有する。また、この場合の符号化部106は、さらに、制御情報付加部184の代わりに制御情報付加部281を有する。
 制御情報付加部281は、フィルタ係数、ブロックサイズ、およびフィルタブロックフラグの各要素を、互いに独立して設定されたグループ毎に、符号化データのスライスヘッダに埋め込む。制御情報付加部281は、フラグ付加部291、ブロックサイズ付加部292、およびフィルタ係数付加部293を有する。
 フラグ付加部291は、処理対象フラググループのフィルタブロックフラグを、処理対象フラググループの最初に伝送されるスライスのスライスヘッダに付加する。フラググループとは、互いに同一のスライスヘッダに埋め込まれる1組のフィルタブロックフラグが対応するスライスのグループである。
 ブロックサイズ付加部292は、処理対象ブロックサイズグループのブロックサイズを、処理対象ブロックサイズグループの最初に伝送されるスライスのスライスヘッダに付加する。ブロックサイズグループとは、互いに同一のスライスヘッダに埋め込まれる1組のブロックサイズが対応するスライスのグループである。
 フィルタ係数付加部293は、処理対象フィルタ係数グループのフィルタ係数を、処理対象フィルタ係数グループの最初に伝送されるスライスのスライスヘッダに付加する。フィルタ係数グループとは、互いに同一のスライスヘッダに埋め込まれる1組のフィルタ係数が対応するスライスのグループである。
 図39のフローチャートを参照して、この場合の可逆符号化処理の流れの例を説明する。この図39のフローチャートは、図33に示されるフローチャートに対応する。
 この場合も、第6の実施の形態の場合と基本的に同様に処理が行われる。図13のステップS116において可逆符号化処理が開始されると、ステップS431乃至ステップS433の各処理が、図33のステップS371乃至ステップS373の各処理と同様に実行される。
 ステップS434において、制御情報付加部281のフラグ付加部291は、符号化部181が処理対象フラググループの全てのスライスを符号化したか否かを判定する。全てのスライスを符号化したと判定された場合、ステップS435に進む。
 ステップS435において、フラグ付加部291は、1フラググループ分のフィルタブロックフラグをその処理対象フラググループ内で最初に伝送されるスライスのスライスヘッダに埋め込む。
 フィルタブロックフラグの埋め込みが終了すると、ステップS436に進む。また、ステップS434において、処理対象フラググループに未処理のスライスが存在すると判定された場合、ステップS436に進む。
 ステップS436において、制御情報付加部281のブロックサイズ付加部292は、符号化部181が処理対象フラググループの全てのスライスを符号化したか否かを判定する。全てのスライスを符号化したと判定された場合、ステップS437に進む。
 ステップS437において、ブロックサイズ付加部292は、1ブロックサイズグループ分のブロックサイズをその処理対象ブロックサイズグループ内で最初に伝送されるスライスのスライスヘッダに埋め込む。
 ブロックサイズの埋め込みが終了すると、ステップS438に進む。また、ステップS438において、処理対象ブロックサイズグループに未処理のスライスが存在すると判定された場合、ステップS438に進む。
 ステップS438において、制御情報付加部281のフィルタ係数付加部293は、符号化部181が処理対象フィルタ係数グループの全てのスライスを符号化したか否かを判定する。未処理のスライスが存在すると判定された場合、ステップS431に戻り、それ以降の処理が繰り返される。
 また、ステップS438において、全てのスライスを符号化したと判定された場合、ステップS439に進む。ステップS439において、フィルタ係数付加部293は、1フィルタ係数グループ分のフィルタ係数をその処理対象フィルタ係数グループ内で最初に伝送されるスライスのスライスヘッダに埋め込む。
 フィルタ係数の埋め込みが終了すると、ステップS440に進む。ステップS440において、制御情報付加部281は、符号化データを所定順に出力する。ステップS441において、可逆符号化部106は、フレーム内の全てのグループを処理したか否かを判定する。未処理のグループが存在すると判定された場合、ステップS431に戻り、それ以降の処理が繰り返される。
 また、ステップS441において、フレーム内の全てのグループが処理されたと判定された場合、可逆符号化部106は、可逆符号化処理を終了し、図13のステップS116に戻り、ステップS117以降の処理に進む。
 以上のような可逆符号化処理を行うことにより、可逆符号化部106は、制御情報の各要素を、それぞれにとってより適切な単位で付加することができる。これにより、画像符号化装置100は、例えば符号化効率、遅延時間、負荷量等の各種要素をより適切に制御することができる。
[復号側]
 次に、本実施の形態の画像復号装置200について説明する。この場合、画像復号装置200の可逆復号部202は、フィルタ係数、ブロックサイズ、およびフィルタブロックフラグの各要素を、フレーム(ピクチャ)単位でなく、それぞれのグループ単位で抽出する。
 図40は、この場合の、画像復号装置200の可逆復号部202の構成例を示すブロック図である。図40に示されるように、この場合の可逆復号部202は、第3の実施の形態の場合と同様に、復号部222および復号データ保持部223を有する。また、この場合の復号部222は、さらに、制御情報抽出部221の代わりに制御情報抽出部301を有する。
 制御情報抽出部301は、フィルタ係数、ブロックサイズ、およびフィルタブロックフラグの各要素を符号化データのスライスヘッダから抽出する。制御情報抽出部301は、フラグ抽出部311、ブロックサイズ抽出部312、およびフィルタ係数抽出部313を有する。
 フラグ抽出部311は、処理対象フラググループの最初に伝送されるスライスのスライスヘッダから、その処理対象フラググループのフィルタブロックフラグを抽出する。
 ブロックサイズ抽出部312は、処理対象ブロックサイズグループの最初に伝送されるスライスのスライスヘッダから、その処理対象ブロックサイズグループのブロックサイズを抽出する。
 フィルタ係数抽出部313は、処理対象フィルタ係数グループの最初に伝送されるスライスのスライスヘッダから、その処理対象フィルタ係数グループのフィルタ係数を抽出する。
 次に、図41のフローチャートを参照して、図20のステップS202において実行される、この場合の可逆復号処理の流れの例を説明する。この図41のフローチャートは、図25に示されるフローチャートに対応する。
 この場合も、第2の実施の形態の場合と基本的に同様に処理が行われる。すなわち、可逆復号処理が開始されると、制御情報抽出部301のフラグ抽出部311は、ステップS461において、供給された符号化データが、処理対象フラググループの最初に伝送されたスライスであるか否かを判定する。処理対象フラググループの最初に伝送されたスライスであると判定された場合、ステップS462に進む。
 ステップS462において、フラグ抽出部311は、処理対象スライスのスライスヘッダから、1フラググループ分のフィルタブロックフラグを抽出する。
 フィルタブロックフラグが抽出されると、ステップS463に進む。また、ステップS461において、処理対象フラググループの最初に伝送されたスライスでないと判定された場合、ステップS463に進む。
 ステップS463において、制御情報抽出部301のブロックサイズ抽出部312は、供給された符号化データが、処理対象ブロックサイズグループの最初に伝送されたスライスであるか否かを判定する。処理対象ブロックサイズグループの最初に伝送されたスライスであると判定された場合、ステップS464に進む。
 ステップS464において、ブロックサイズ抽出部312は、処理対象スライスのスライスヘッダから、1ブロックサイズグループ分のブロックサイズを抽出する。
 ブロックサイズが抽出されると、ステップS465に進む。また、ステップS463において、処理対象ブロックサイズグループの最初に伝送されたスライスでないと判定された場合、ステップS465に進む。
 ステップS465において、制御情報抽出部301のフィルタ係数抽出部313は、供給された符号化データが、処理対象フィルタ係数グループの最初に伝送されたスライスであるか否かを判定する。処理対象フィルタ係数グループの最初に伝送されたスライスであると判定された場合、ステップS466に進む。
 ステップS466において、フィルタ係数抽出部313は、処理対象スライスのスライスヘッダから、1フィルタ係数グループ分のフィルタ係数を抽出する。
 フィルタ係数が抽出されると、ステップS467に進む。また、ステップS465において、処理対象フィルタ係数グループの最初に伝送されたスライスでないと判定された場合、ステップS467に進む。
 ステップS467において、復号部222は、符号化データの処理対象スライスを復号する。ステップS468において、復号データ保持部223は、復号されて得られた復号データを保持する。
 ステップS469において、復号データ保持部223は、制御情報抽出部301により制御情報の要素(フィルタブロックフラグ、ブロックサイズ、およびフィルタ係数)が全て抽出されたスライスが存在するか否かを判定する。抽出されたと判定された場合、復号データ保持部223は、ステップS470に進み、保持している復号データの、制御情報の全ての要素が抽出されたスライスの逆量子化部203への出力を開始する。
 復号データの出力が開始されると、ステップS471に進む。また、ステップS469において、制御情報の全ての要素が抽出されたスライスが存在しないと判定された場合、ステップS471に進む。
 ステップS471において、制御情報抽出部301は、フレーム内の全てのスライスを処理したか否かを判定する。未処理のスライスが存在すると判定された場合、ステップS461に戻り、未処理のスライスに対して、それ以降の処理を繰り返す。また、ステップS471において、フレーム内の全てのスライスを処理したと判定された場合、可逆復号処理を終了し、図20のステップS207に戻り、ステップS208以降の処理が実行される。
 以上のように可逆復号処理を行うことにより、可逆復号部202は、符号化データに互いに独立して付加された制御情報の各要素を抽出し、適応フィルタ処理部207に供給することができる。これにより、適応フィルタ処理部207は、適切に適応フィルタ処理を実行することができる。これにより、適応フィルタ処理部207は、処理対象スライスの、デブロックフィルタにより取りきれなかったブロック歪みや量子化による歪みを低減することができる。
[その他の例]
 もちろん、この場合も、フィルタ係数、ブロックサイズ、およびフィルタブロックフラグ等の各要素を、各要素のグループの先頭スライスのスライスヘッダに埋め込むようにしてもよいし、その他の所定のスライスのスライスヘッダに埋め込むようにしてもよい。
 また、各要素のグループを例えばGOPやフレーム毎に設定するようにし、各要素のグループ数を時間方向に変化可能とするようにしてもよい。
<9.第9の実施の形態>
[QALFの説明]
 非特許文献3に示されるように、ALFブロックをクアッドツリー構造としてもよい。この技術はQALF(Quad tree-based Adaptive Loop Filter)と称する。クアッドツリー構造とは、下位階層において1つ上位の階層の1つのALFブロックの領域が4分割される階層構造である。
 図42にALFブロック分割を最大レイヤ数が3のクアッドツリー構造によって表現し、各ALFブロックにフィルタブロックフラグを指定する例を示す。
 図42のAは、クアッドツリー構造の根になるALFブロックであるレイヤ0を示す。クアッドツリー構造において各ALFブロックは、下位の階層において4分割されるか否かを示すブロックパーティショニングフラグを有している。図42のAに示されるALFブロックのブロックパーティショニングフラグの値は「1」である。つまり、このALFブロックは、下位の階層(レイヤ1)において4分割される。図42のBは、そのレイヤ1を示す。すなわち、レイヤ1には、4つのALFブロックが形成される。
 ブロックパーティショニングフラグが「0」の場合、これより下位の階層において4分割されない。すなわち、これ以上の分割は無く、そのALFブロックに対してフィルタブロックフラグが生成される。つまり、ブロックパーティショニングフラグが「0」のALFブロックは、フィルタブロックフラグも有する。図42のBに示される「0-1」の左の「0」が、そのALFブロックのブロックパーティショニングフラグを示し、右の「1」が、そのALFブロックのフィルタブロックフラグを示す。
 レイヤ1のブロックパーティショニングフラグが「1」の2つのALFブロックは、さらに下位の階層(レイヤ2)において4分割される。図42のCは、そのレイヤ2を示す。すなわち、レイヤ2には、10個のALFブロックが形成される。
 同様に、レイヤ2においてブロックパーティショニングフラグが「0」のALFブロックには、フィルタブロックフラグも割り当てられる。図42のCにおいては、1つのALFブロックのブロックパーティショニングフラグが「1」である。つまり、そのALFブロックは、さらに下位の階層(レイヤ3)において4分割される。図42のDは、そのレイヤ3を示す。すなわち、レイヤ3には、13個のALFブロックが形成される。
 図42のようにクアッドツリー化することにより、ALFブロックの構成は、最終的に図43に示されるようになる。このように、クアッドツリー構造においては、ALFブロックのサイズは、その階層毎に異なる。つまり、ALFブロックは、クアッドツリー構造をとることにより、フレーム内においてその大きさを互いに異なるものとすることができる。
 各ALFブロックにおけるフィルタブロックフラグの制御は、第1の実施の形態の場合と同様である。つまり、フィルタブロックフラグの値が「0」のALFブロックの領域(図43の斜線模様部分)は、フィルタ処理が行われない。
 マルチスライスの場合に符号化効率が低減する恐れがあるという問題は、ALFブロックの表現を改良したQALFでも同じ問題が生じる。
 図44は、図5のスライス1の領域をQALFの技術を使って符号化する例を示している。
ここで太線421の領域はスライス1の領域を示す。QALF411全体の制御情報を、太線421に示されるように、スライス毎に分けて、複数の制御情報とし、それらを符号化データに付加するようにすると、その制御情報間で重複する情報が生じてしまう。
 そこで、QALFの場合も、画像符号化装置100は、第1の実施の形態において説明したBALFの場合と同様の方法により、複数のスライスの制御情報を、符号化データの1つのスライスヘッダに含めるようにする。画像復号装置200も、BALFの場合と同様に、その制御情報を抽出し、適応フィルタ処理を行うようにする。
 このようにすることにより、符号化データに付加される制御情報の冗長度が抑制されるため、スライス毎に制御情報を埋め込む場合よりも、符号化効率を向上させることができる。
<10.第10の実施の形態>
[パーソナルコンピュータ]
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図45に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
 図45において、パーソナルコンピュータ500のCPU501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
 入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図45に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置100や画像復号装置200は、任意の電子機器に適用することができる。以下にその例について説明する。
<11.第11の実施の形態>
[テレビジョン受像機]
 図46は、本発明を適用した画像復号装置200を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図46に示されるテレビジョン受像機1000は、地上波チューナ1013、ビデオデコーダ1015、映像信号処理回路1018、グラフィック生成回路1019、パネル駆動回路1020、および表示パネル1021を有する。
 地上波チューナ1013は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ1015に供給する。ビデオデコーダ1015は、地上波チューナ1013から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路1018に供給する。
 映像信号処理回路1018は、ビデオデコーダ1015から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路1019に供給する。
 グラフィック生成回路1019は、表示パネル1021に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路1020に供給する。また、グラフィック生成回路1019は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路1020に供給するといった処理も適宜行う。
 パネル駆動回路1020は、グラフィック生成回路1019から供給されたデータに基づいて表示パネル1021を駆動し、番組の映像や上述した各種の画面を表示パネル1021に表示させる。
 表示パネル1021はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路1020による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機1000は、音声A/D(Analog/Digital)変換回路1014、音声信号処理回路1022、エコーキャンセル/音声合成回路1023、音声増幅回路1024、およびスピーカ1025も有する。
 地上波チューナ1013は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ1013は、取得した音声信号を音声A/D変換回路1014に供給する。
 音声A/D変換回路1014は、地上波チューナ1013から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路1022に供給する。
 音声信号処理回路1022は、音声A/D変換回路1014から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声信号処理回路1022から供給された音声データを音声増幅回路1024に供給する。
 音声増幅回路1024は、エコーキャンセル/音声合成回路1023から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ1025から出力させる。
 さらに、テレビジョン受像機1000は、デジタルチューナ1016およびMPEGデコーダ1017も有する。
 デジタルチューナ1016は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ1017は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路1022に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路1018に供給する。また、MPEGデコーダ1017は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU1032に供給する。
 テレビジョン受像機1000は、このように映像パケットをデコードするMPEGデコーダ1017として、上述した画像復号装置200を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置100によって符号化されている。
 MPEGデコーダ1017は、画像復号装置200の場合と同様に、画像符号化装置100より供給される符号化データから、1つのスライスヘッダに埋め込まれた複数のスライス分の制御情報を抽出し、その制御情報に基づいて適切に適応フィルタ処理を行うので、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。
 MPEGデコーダ1017から供給された映像データは、ビデオデコーダ1015から供給された映像データの場合と同様に、映像信号処理回路1018において所定の処理が施され、グラフィック生成回路1019において、生成された映像データ等が適宜重畳され、パネル駆動回路1020を介して表示パネル1021に供給され、その画像が表示される。
 MPEGデコーダ1017から供給された音声データは、音声A/D変換回路1014から供給された音声データの場合と同様に、音声信号処理回路1022において所定の処理が施され、エコーキャンセル/音声合成回路1023を介して音声増幅回路1024に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ1025から出力される。
 また、テレビジョン受像機1000は、マイクロホン1026、およびA/D変換回路1027も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、テレビジョン受像機1000のユーザ(ユーザA)の音声のデータがA/D変換回路1027から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 さらに、テレビジョン受像機1000は、音声コーデック1028、内部バス1029、SDRAM(Synchronous Dynamic Random Access Memory)1030、フラッシュメモリ1031、CPU1032、USB(Universal Serial Bus) I/F1033、およびネットワークI/F1034も有する。
 A/D変換回路1027は、音声会話用のものとしてテレビジョン受像機1000に設けられるマイクロホン1026により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック1028に供給する。
 音声コーデック1028は、A/D変換回路1027から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス1029を介してネットワークI/F1034に供給する。
 ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続される。ネットワークI/F1034は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック1028から供給された音声データを送信する。また、ネットワークI/F1034は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子1035を介して受信し、それを、内部バス1029を介して音声コーデック1028に供給する。
 音声コーデック1028は、ネットワークI/F1034から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路1023に供給する。
 エコーキャンセル/音声合成回路1023は、音声コーデック1028から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1024を介してスピーカ1025より出力させる。
 SDRAM1030は、CPU1032が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ1031は、CPU1032により実行されるプログラムを記憶する。フラッシュメモリ1031に記憶されているプログラムは、テレビジョン受像機1000の起動時などの所定のタイミングでCPU1032により読み出される。フラッシュメモリ1031には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ1031には、CPU1032の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ1031は、例えばCPU1032の制御により、そのMPEG-TSを、内部バス1029を介してMPEGデコーダ1017に供給する。
 MPEGデコーダ1017は、デジタルチューナ1016から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機1000は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ1017を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機1000は、リモートコントローラ1051から送信される赤外線信号を受光する受光部1037も有する。
 受光部1037は、リモートコントローラ1051からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU1032に出力する。
 CPU1032は、フラッシュメモリ1031に記憶されているプログラムを実行し、受光部1037から供給される制御コードなどに応じてテレビジョン受像機1000の全体の動作を制御する。CPU1032とテレビジョン受像機1000の各部は、図示せぬ経路を介して接続されている。
 USB I/F1033は、USB端子1036に装着されたUSBケーブルを介して接続される、テレビジョン受像機1000の外部の機器との間でデータの送受信を行う。ネットワークI/F1034は、ネットワーク端子1035に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機1000は、MPEGデコーダ1017として画像復号装置200を用いることにより、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を抽出することができ、さらに、その制御情報を用いて適切に適応フィルタ処理を実行することができる。その結果として、テレビジョン受像機1000は、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータの、フィルタ処理の局所的な制御のための符号化効率の低減の抑制を実現させることができる。
<12.第12の実施の形態>
[携帯電話機]
 図48は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
 図48に示される携帯電話機1100は、各部を統括的に制御するようになされた主制御部1150、電源回路部1151、操作入力制御部1152、画像エンコーダ1153、カメラI/F部1154、LCD制御部1155、画像デコーダ1156、多重分離部1157、記録再生部1162、変復調回路部1158、および音声コーデック1159を有する。これらは、バス1160を介して互いに接続されている。
 また、携帯電話機1100は、操作キー1119、CCD(Charge Coupled Devices)カメラ1116、液晶ディスプレイ1118、記憶部1123、送受信回路部1163、アンテナ1114、マイクロホン(マイク)1121、およびスピーカ1117を有する。
 電源回路部1151は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機1100を動作可能な状態に起動する。
 携帯電話機1100は、CPU、ROMおよびRAM等でなる主制御部1150の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機1100は、マイクロホン(マイク)1121で集音した音声信号を、音声コーデック1159によってデジタル音声データに変換し、これを変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機1100は、アンテナ1114で受信した受信信号を送受信回路部1163で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部1158でスペクトラム逆拡散処理し、音声コーデック1159によってアナログ音声信号に変換する。携帯電話機1100は、その変換して得られたアナログ音声信号をスピーカ1117から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機1100は、操作キー1119の操作によって入力された電子メールのテキストデータを、操作入力制御部1152において受け付ける。携帯電話機1100は、そのテキストデータを主制御部1150において処理し、LCD制御部1155を介して、画像として液晶ディスプレイ1118に表示させる。
 また、携帯電話機1100は、主制御部1150において、操作入力制御部1152が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機1100は、その電子メールデータを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機1100は、復元された電子メールデータを、LCD制御部1155を介して液晶ディスプレイ1118に表示する。
 なお、携帯電話機1100は、受信した電子メールデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 この記憶部1123は、書き換え可能な任意の記憶媒体である。記憶部1123は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機1100は、撮像によりCCDカメラ1116で画像データを生成する。CCDカメラ1116は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ1116は、その画像データを、カメラI/F部1154を介して、画像エンコーダ1153で符号化し、符号化画像データに変換する。
 携帯電話機1100は、このような処理を行う画像エンコーダ1153として、上述した画像符号化装置100を用いる。したがって、画像エンコーダ1053は、画像符号化装置100の場合と同様に、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。例えば、画像エンコーダ1053は、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を付加するので、スライス毎に制御情報を埋め込む場合よりも符号化効率を向上させることができる。
 なお、携帯電話機1100は、このとき同時に、CCDカメラ1116で撮像中にマイクロホン(マイク)1121で集音した音声を、音声コーデック1159においてアナログデジタル変換し、さらに符号化する。
 携帯電話機1100は、多重分離部1157において、画像エンコーダ1153から供給された符号化画像データと、音声コーデック1159から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機1100は、その結果得られる多重化データを、変復調回路部1158でスペクトラム拡散処理し、送受信回路部1163でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1100は、その変換処理により得られた送信用信号を、アンテナ1114を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機1100は、CCDカメラ1116で生成した画像データを、画像エンコーダ1153を介さずに、LCD制御部1155を介して液晶ディスプレイ1118に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機1100は、基地局から送信された信号を、アンテナ1114を介して送受信回路部1163で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1100は、その受信信号を変復調回路部1158でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機1100は、多重分離部1157において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機1100は、画像デコーダ1156において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部1155を介して液晶ディスプレイ1118に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ1118に表示される。
 携帯電話機1100は、このような処理を行う画像デコーダ1156として、上述した画像復号装置200を用いる。したがって、画像デコーダ1156は、画像復号装置200の場合と同様に、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を抽出することができ、さらに、その制御情報を用いて適切に適応フィルタ処理を実行することができる。その結果として、フィルタ処理の局所的な制御のための符号化効率の低減の抑制を実現させることができる。
 このとき、携帯電話機1100は、同時に、音声コーデック1159において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ1117より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機1100は、受信した簡易ホームページ等にリンクされたデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 また、携帯電話機1100は、主制御部1150において、撮像されてCCDカメラ1116で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機1100は、赤外線通信部1181で赤外線により外部の機器と通信することができる。
 携帯電話機1100は、画像エンコーダ1153として画像符号化装置100を用いることにより、例えばCCDカメラ1116において生成された画像データを符号化して生成する符号化データの、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。結果として、携帯電話機1100は、スライス毎に制御情報を埋め込む場合よりも符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
 また、携帯電話機1100は、画像デコーダ1156として画像復号装置200を用いることにより、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を抽出することができ、さらに、その制御情報を用いて適切に適応フィルタ処理を実行することができる。その結果として、携帯電話機1100は、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータの、フィルタ処理の局所的な制御のための符号化効率の低減の抑制を実現させることができる。
 なお、以上において、携帯電話機1100が、CCDカメラ1116を用いるように説明したが、このCCDカメラ1116の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機1100は、CCDカメラ1116を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機1100として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機1100と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機1100の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<13.第13の実施の形態>
[ハードディスクレコーダ]
 図48は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図48に示されるハードディスクレコーダ(HDDレコーダ)1200は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ1200は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ1200は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ1200は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ1200は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図48に示されるように、ハードディスクレコーダ1200は、受信部1221、復調部1222、デマルチプレクサ1223、オーディオデコーダ1224、ビデオデコーダ1225、およびレコーダ制御部1226を有する。ハードディスクレコーダ1200は、さらに、EPGデータメモリ1227、プログラムメモリ1228、ワークメモリ1229、ディスプレイコンバータ1230、OSD(On Screen Display)制御部1231、ディスプレイ制御部1232、記録再生部1233、D/Aコンバータ1234、および通信部1235を有する。
 また、ディスプレイコンバータ1230は、ビデオエンコーダ1241を有する。記録再生部1233は、エンコーダ1251およびデコーダ1252を有する。
 受信部1221は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部1226に出力する。レコーダ制御部1226は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ1228に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部1226は、このとき、ワークメモリ1229を必要に応じて使用する。
 通信部1235は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部1235は、レコーダ制御部1226により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部1222は、チューナより供給された信号を、復調し、デマルチプレクサ1223に出力する。デマルチプレクサ1223は、復調部1222より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ1224、ビデオデコーダ1225、またはレコーダ制御部1226に出力する。
 オーディオデコーダ1224は、入力されたオーディオデータをデコードし、記録再生部1233に出力する。ビデオデコーダ1225は、入力されたビデオデータをデコードし、ディスプレイコンバータ1230に出力する。レコーダ制御部1226は、入力されたEPGデータをEPGデータメモリ1227に供給し、記憶させる。
 ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されたビデオデータを、ビデオエンコーダ1241により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部1233に出力する。また、ディスプレイコンバータ1230は、ビデオデコーダ1225またはレコーダ制御部1226より供給されるビデオデータの画面のサイズを、モニタ1260のサイズに対応するサイズに変換し、ビデオエンコーダ1241によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部1232に出力する。
 ディスプレイ制御部1232は、レコーダ制御部1226の制御のもと、OSD(On Screen Display)制御部1231が出力したOSD信号を、ディスプレイコンバータ1230より入力されたビデオ信号に重畳し、モニタ1260のディスプレイに出力し、表示させる。
 モニタ1260にはまた、オーディオデコーダ1224が出力したオーディオデータが、D/Aコンバータ1234によりアナログ信号に変換されて供給されている。モニタ1260は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部1233は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部1233は、例えば、オーディオデコーダ1224より供給されるオーディオデータを、エンコーダ1251によりエンコードする。また、記録再生部1233は、ディスプレイコンバータ1230のビデオエンコーダ1241より供給されるビデオデータを、エンコーダ1251によりエンコードする。記録再生部1233は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部1233は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部1233は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部1233は、デコーダ1252によりオーディオデータおよびビデオデータをデコードする。記録再生部1233は、復号したオーディオデータをD/A変換し、モニタ1260のスピーカに出力する。また、記録再生部1233は、復号したビデオデータをD/A変換し、モニタ1260のディスプレイに出力する。
 レコーダ制御部1226は、受信部1221を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ1227から最新のEPGデータを読み出し、それをOSD制御部1231に供給する。OSD制御部1231は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部1232に出力する。ディスプレイ制御部1232は、OSD制御部1231より入力されたビデオデータをモニタ1260のディスプレイに出力し、表示させる。これにより、モニタ1260のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ1200は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部1235は、レコーダ制御部1226に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部1226に供給する。レコーダ制御部1226は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部1233に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部1226および記録再生部1233が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部1226は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ1230に供給する。ディスプレイコンバータ1230は、ビデオデコーダ1225から供給されるビデオデータと同様に、レコーダ制御部1226から供給されるビデオデータを処理し、ディスプレイ制御部1232を介してモニタ1260に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部1226が、復号したオーディオデータを、D/Aコンバータ1234を介してモニタ1260に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部1226は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ1227に供給する。
 以上のようなハードディスクレコーダ1200は、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダとして画像復号装置200を用いる。したがって、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画像復号装置200の場合と同様に、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を抽出することができ、さらに、その制御情報を用いて適切に適応フィルタ処理を実行することができる。その結果として、フィルタ処理の局所的な制御のための符号化効率の低減の抑制を実現させることができる。
 したがって、ハードディスクレコーダ1200は、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を抽出することができ、さらに、その制御情報を用いて適切に適応フィルタ処理を実行することができる。その結果として、ハードディスクレコーダ1200は、例えば、チューナや通信部1235を介して受信されるビデオデータや、記録再生部1233のハードディスクに記録されるビデオデータの、フィルタ処理の局所的な制御のための符号化効率の低減の抑制を実現させることができる。
 また、ハードディスクレコーダ1200は、エンコーダ1251として画像符号化装置100を用いる。したがって、エンコーダ1251は、画像符号化装置100の場合と同様に、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。例えば、エンコーダ1251は、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を付加するので、スライス毎に制御情報を埋め込む場合よりも符号化効率を向上させることができる。
 したがって、ハードディスクレコーダ1200は、エンコーダ1251として画像符号化装置100を用いることにより、例えばハードディスクに記録する符号化データの、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。その結果として、ハードディスクレコーダ1200は、スライス毎に制御情報を埋め込む場合よりもハードディスクの記憶領域をより効率よく使用することができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ1200について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ1200の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<14.第14の実施の形態>
[カメラ]
 図49は、本発明を適用した画像符号化装置および画像復号装置を用いるカメラの主な構成例を示すブロック図である。
 図49に示されるカメラ1300は、被写体を撮像し、被写体の画像をLCD1316に表示させたり、それを画像データとして、記録メディア1333に記録したりする。
 レンズブロック1311は、光(すなわち、被写体の映像)を、CCD/CMOS1312に入射させる。CCD/CMOS1312は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部1313に供給する。
 カメラ信号処理部1313は、CCD/CMOS1312から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部1314に供給する。画像信号処理部1314は、コントローラ1321の制御の下、カメラ信号処理部1313から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ1341で符号化したりする。画像信号処理部1314は、画像信号を符号化して生成した符号化データを、デコーダ1315に供給する。さらに、画像信号処理部1314は、オンスクリーンディスプレイ(OSD)1320において生成された表示用データを取得し、それをデコーダ1315に供給する。
 以上の処理において、カメラ信号処理部1313は、バス1317を介して接続されるDRAM(Dynamic Random Access Memory)1318を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM1318に保持させる。
 デコーダ1315は、画像信号処理部1314から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD1316に供給する。また、デコーダ1315は、画像信号処理部1314から供給された表示用データをLCD1316に供給する。LCD1316は、デコーダ1315から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ1320は、コントローラ1321の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス1317を介して画像信号処理部1314に出力する。
 コントローラ1321は、ユーザが操作部1322を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス1317を介して、画像信号処理部1314、DRAM1318、外部インタフェース1319、オンスクリーンディスプレイ1320、およびメディアドライブ1323等を制御する。FLASH ROM1324には、コントローラ1321が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ1321は、画像信号処理部1314やデコーダ1315に代わって、DRAM1318に記憶されている画像データを符号化したり、DRAM1318に記憶されている符号化データを復号したりすることができる。このとき、コントローラ1321は、画像信号処理部1314やデコーダ1315の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部1314やデコーダ1315が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部1322から画像印刷の開始が指示された場合、コントローラ1321は、DRAM1318から画像データを読み出し、それを、バス1317を介して外部インタフェース1319に接続されるプリンタ1334に供給して印刷させる。
 さらに、例えば、操作部1322から画像記録が指示された場合、コントローラ1321は、DRAM1318から符号化データを読み出し、それを、バス1317を介してメディアドライブ1323に装着される記録メディア1333に供給して記憶させる。
 記録メディア1333は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア1333は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ1323と記録メディア1333を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース1319は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ1334と接続される。また、外部インタフェース1319には、必要に応じてドライブ1331が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア1332が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM1324にインストールされる。
 さらに、外部インタフェース1319は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ1321は、例えば、操作部1322からの指示に従って、DRAM1318から符号化データを読み出し、それを外部インタフェース1319から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ1321は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース1319を介して取得し、それをDRAM1318に保持させたり、画像信号処理部1314に供給したりすることができる。
 以上のようなカメラ1300は、デコーダ1315として画像復号装置200を用いる。したがって、デコーダ1315は、画像復号装置200の場合と同様に、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を抽出することができ、さらに、その制御情報を用いて適切に適応フィルタ処理を実行することができる。その結果として、フィルタ処理の局所的な制御のための符号化効率の低減の抑制を実現させることができる。
 したがって、カメラ1300は、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を抽出することができ、さらに、その制御情報を用いて適切に適応フィルタ処理を実行することができる。その結果として、カメラ1300は、例えば、CCD/CMOS1312において生成される画像データや、DRAM1318または記録メディア1333から読み出されるビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データの、フィルタ処理の局所的な制御のための符号化効率の低減の抑制を実現させることができる。
 また、カメラ1300は、エンコーダ1341として画像符号化装置100を用いる。したがって、エンコーダ1341は、画像符号化装置100の場合と同様に、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。例えば、符号化データの1つのスライスヘッダに付加された複数スライス分の制御情報を付加するので、スライス毎に制御情報を埋め込む場合よりも符号化効率を向上させることができる。
 したがって、カメラ1300は、例えば、DRAM1318や記録メディア1333に記録する符号化データや、他の装置に提供する符号化データの、フィルタ処理の局所的な制御による符号化効率の低減を抑制することができる。その結果として、カメラ1300は、DRAM1318や記録メディア1333の記憶領域をより効率よく使用することができる。また、カメラ1300は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することもできる。
 なお、コントローラ1321が行う復号処理に画像復号装置200の復号方法を適用するようにしてもよい。同様に、コントローラ1321が行う符号化処理に画像符号化装置100の符号化方法を適用するようにしてもよい。
 また、カメラ1300が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置100および画像復号装置200は、上述した装置以外の装置やシステムにも適用可能である。
 また、マクロブロックの大きさも、16×16画素に限らない。例えば図50に示される32×32画素のような、あらゆる大きさのマクロブロックに対して適用することが可能である。
 以上においては、フラグ情報等をビットストリームに多重化(記述)するものとして説明したが、多重化する以外にも、例えば、フラグと画像データ(又はビットストリーム)とを伝送(記録)してもよい。フラグと画像データ(又はビットストリーム)とを連結する(付加する)形態もありうる。
 連結(付加)とは、画像データ(又はビットストリーム)とフラグとが互いにリンクされている状態(対応が取れている状態)を示すものであり、物理的な位置関係は任意である。例えば、画像データ(又はビットストリーム)とフラグとを、別の伝送路で伝送してもよい。また、画像データ(又はビットストリーム)とフラグとを、互いに別の記録媒体(又は同一の記録媒体内の別々の記録エリア)に記録してもよい。なお、画像データ(又はビットストリーム)とフラグとをリンクさせる単位は、任意であり、例えば、符号化処理単位(1フレーム、複数フレーム等)で設定してもよい。
 100 画像符号化装置, 112 制御情報生成部, 113 適応フィルタ処理部, 132 ブロック情報生成部, 141 処理対象スライス領域特定部, 142 ALFブロック設定部, 143 処理対象ALFブロック領域特定部, 144 判定部, 145 フィルタブロックフラグ生成部, 171 制御部, 172 適応フィルタ, 173 選択部, 181 符号化部, 182 符号化データ保持部, 183 制御情報保持部, 184 制御情報付加部, 200 画像復号装置, 202 可逆復号部, 207 適応フィルタ処理部, 221 制御情報抽出部, 222 復号部, 223 復号データ保持部, 251 制御部, 261 ヘッダ解析部, 281 制御情報付加部, 291 フラグ付加部, 292 ブロックサイズ付加部, 293 フィルタ係数付加部, 301 制御情報抽出部, 311 フラグ抽出部, 312 ブロックサイズ抽出部, 313 フィルタ係数抽出部

Claims (14)

  1.  画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報を生成する制御情報生成手段と、
     前記制御情報生成手段により生成された前記フィルタ制御情報に従って、前記画像に対して前記フィルタ処理を行うフィルタ手段と、
     前記画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に、前記ヘッダ情報が属するフレームの複数の前記データ単位に対応する前記フィルタ制御情報を付加する制御情報付加手段と
     を備える画像処理装置。
  2.  前記制御情報付加手段は、前記フレームの最初に伝送される前記データ単位のヘッダ情報に、前記フィルタ制御情報を付加する
     請求項1に記載の画像処理装置。
  3.  前記制御情報付加手段は、前記フレームの先頭に位置する前記データ単位のヘッダ情報に、前記フィルタ制御情報を付加する
     請求項1に記載の画像処理装置。
  4.  前記制御情報付加手段は、前記ヘッダ情報に、前記フレーム全体に対応する前記フィルタ制御情報を付加する
     請求項1に記載の画像処理装置。
  5.  前記制御情報付加手段は、前記フレーム内の複数の前記ヘッダ情報のそれぞれに、互いに異なる複数の前記データ単位に対応する前記フィルタ制御情報を付加する
     請求項1に記載の画像処理装置。
  6.  前記フレーム内の、前記フィルタ制御情報を付加する前記ヘッダ情報の数を設定する設定手段をさらに備える
     請求項5に記載の画像処理装置。
  7.  前記制御情報付加手段は、前記ヘッダ情報に、前記符号化データに付加された前記フィルタ制御情報の位置を示すポインタを付加する
     請求項1に記載の画像処理装置。
  8.  前記データ単位は、前記フレーム内に複数形成されるスライスである
     請求項1に記載の画像処理装置。
  9.  前記制御情報は、前記フィルタ処理のフィルタ係数、前記制御ブロックの領域の大きさを示すブロックサイズ、および、前記制御ブロックの領域毎に前記フィルタ処理を行うか否かを示すフラグを含む
     請求項1に記載の画像処理装置。
  10.  前記フィルタ手段により前記フィルタ処理が行われた前記画像を用いて生成された画像を符号化する符号化手段をさらに備え、
     前記制御情報付加手段は、前記符号化手段により符号化されて生成された符号化データの前記ヘッダ情報に前記フィルタ制御情報を付加する
     請求項1に記載の画像処理装置。
  11.  画像処理装置の制御情報生成手段が、画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報を生成し、
     前記画像処理装置のフィルタ手段が、生成された前記フィルタ制御情報に従って、前記画像に対して前記フィルタ処理を行い、
     前記画像処理装置の制御情報付加手段が、前記画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に、前記ヘッダ情報が属するフレームの複数の前記データ単位に対応する前記フィルタ制御情報を付加する
     画像処理方法。
  12.  画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に付加された、複数の前記データ単位に対応する、前記画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報を、抽出する制御情報抽出手段と、
     前記制御情報抽出手段により抽出された前記フィルタ制御情報に従って、前記符号化データが復号された前記画像に対して前記フィルタ処理を行うフィルタ手段と
     を備える画像処理装置。
  13.  前記符号化データを復号する復号手段をさらに備え、
     前記フィルタ手段は、前記複合手段により前記符号化データが復号されて得られた前記画像に対して、前記フィルタ処理を行う
     請求項12に記載の画像処理装置。
  14.  画像処理装置の制御情報抽出手段が、画像が符号化された符号化データの所定のデータ単位毎のヘッダ情報に付加された、複数の前記データ単位に対応する、前記画像に対して局所的に行われるフィルタ処理を制御ブロックの領域毎に制御するフィルタ制御情報を、抽出し、
     前記画像処理装置のフィルタ手段が、抽出された前記フィルタ制御情報に従って、前記符号化データが復号された前記画像に対して前記フィルタ処理を行う
     画像処理方法。
PCT/JP2010/063514 2009-08-19 2010-08-10 画像処理装置および方法 WO2011021530A1 (ja)

Priority Applications (19)

Application Number Priority Date Filing Date Title
CN201811127035.6A CN109951708B (zh) 2009-08-19 2010-08-10 图像处理设备和方法
KR1020187019842A KR20180083952A (ko) 2009-08-19 2010-08-10 화상 처리 장치 및 방법, 및 컴퓨터 판독가능 기록매체
KR1020177026908A KR101880010B1 (ko) 2009-08-19 2010-08-10 화상 처리 장치 및 방법, 및 컴퓨터 판독가능 기록매체
RU2012104811/08A RU2012104811A (ru) 2009-08-19 2010-08-10 Устройство и способ обработки изображения
EP18183069.6A EP3404917A1 (en) 2009-08-19 2010-08-10 Device and method for image processing
US13/389,474 US9967593B2 (en) 2009-08-19 2010-08-10 Image processing device and method
KR1020127003475A KR101681167B1 (ko) 2009-08-19 2010-08-10 화상 처리 장치 및 방법
MX2012001822A MX2012001822A (es) 2009-08-19 2010-08-10 Dispositivo y metodo para procesamiento de imagenes.
EP10809875.7A EP2469856A4 (en) 2009-08-19 2010-08-10 IMAGE PROCESSING DEVICE AND METHOD
AU2010285760A AU2010285760B9 (en) 2009-08-19 2010-08-10 Device and method for image processing
CA2769732A CA2769732C (en) 2009-08-19 2010-08-10 Image processing device and method
IN1240DEN2012 IN2012DN01240A (ja) 2009-08-19 2010-08-10
BR112012003285-2A BR112012003285B1 (pt) 2009-08-19 2010-08-10 Dispositivo e método de processamento de imagem
KR1020167032778A KR101783575B1 (ko) 2009-08-19 2010-08-10 화상 처리 장치 및 방법
CN201080045758.7A CN102714716B (zh) 2009-08-19 2010-08-10 图像处理设备和方法
ZA2011/08188A ZA201108188B (en) 2009-08-19 2011-11-08 Device and method for image processing
AU2016203618A AU2016203618B2 (en) 2009-08-19 2016-05-31 Device and method for image processing
US15/890,630 US10587899B2 (en) 2009-08-19 2018-02-07 Image processing device and method
US16/777,305 US10911786B2 (en) 2009-08-19 2020-01-30 Image processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009189990A JP5604825B2 (ja) 2009-08-19 2009-08-19 画像処理装置および方法
JP2009-189990 2009-08-19

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/389,474 A-371-Of-International US9967593B2 (en) 2009-08-19 2010-08-10 Image processing device and method
US15/890,630 Continuation US10587899B2 (en) 2009-08-19 2018-02-07 Image processing device and method

Publications (1)

Publication Number Publication Date
WO2011021530A1 true WO2011021530A1 (ja) 2011-02-24

Family

ID=43606985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/063514 WO2011021530A1 (ja) 2009-08-19 2010-08-10 画像処理装置および方法

Country Status (15)

Country Link
US (3) US9967593B2 (ja)
EP (2) EP3404917A1 (ja)
JP (1) JP5604825B2 (ja)
KR (4) KR101783575B1 (ja)
CN (3) CN102714716B (ja)
AU (2) AU2010285760B9 (ja)
BR (1) BR112012003285B1 (ja)
CA (2) CA2994002C (ja)
IN (1) IN2012DN01240A (ja)
MX (1) MX2012001822A (ja)
MY (1) MY163637A (ja)
RU (1) RU2012104811A (ja)
TW (1) TWI401969B (ja)
WO (1) WO2011021530A1 (ja)
ZA (1) ZA201108188B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2665284C2 (ru) * 2013-03-21 2018-08-28 Сони Корпорейшн Устройство кодирования изображения и способ, и устройство декодирования изображения и способ

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618727B (zh) * 2009-12-10 2018-01-12 Sk电信有限公司 使用树形结构的解码方法
HRP20231180T1 (hr) 2011-06-30 2024-01-05 Microsoft Technology Licensing, Llc Smanjenje latencije u kodiranju i dekodiranju videozapisa
WO2013053324A1 (en) * 2011-10-14 2013-04-18 Mediatek Inc. Method and apparatus for loop filtering
EP2769550A4 (en) * 2011-10-14 2016-03-09 Mediatek Inc METHOD AND APPARATUS FOR LOOP FILTRATION
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US20150264375A1 (en) * 2012-10-10 2015-09-17 Zte Corporation Encapsulation of video scanning format information for media transport and storage
JP6065613B2 (ja) * 2013-01-29 2017-01-25 富士通株式会社 動画像符号化装置
GB2518823A (en) * 2013-09-25 2015-04-08 Sony Corp Data encoding and decoding
CN104683819A (zh) * 2015-01-31 2015-06-03 北京大学 一种自适应环路滤波方法及装置
CN108140259B (zh) 2015-08-18 2022-06-14 奇跃公司 虚拟和增强现实系统和方法
JP6704194B2 (ja) * 2016-02-26 2020-06-03 パナソニックIpマネジメント株式会社 動画像符号化装置及び動画像符号化方法
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
GB2556923B (en) * 2016-11-25 2020-04-15 Canon Kk Generation of VCA Reference results for VCA Auto-setting
US10735649B2 (en) 2018-02-22 2020-08-04 Magic Leap, Inc. Virtual and augmented reality systems and methods using display system control information embedded in image data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180248A (ja) * 2001-11-29 2004-06-24 Matsushita Electric Ind Co Ltd 符号化歪除去方法、動画像符号化方法、動画像復号化方法、およびそれらを実現する装置、プログラム

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809237A (en) * 1993-11-24 1998-09-15 Intel Corporation Registration of computer-based conferencing system
US5488570A (en) * 1993-11-24 1996-01-30 Intel Corporation Encoding and decoding video signals using adaptive filter switching criteria
KR100200702B1 (ko) * 1996-06-05 1999-06-15 윤종용 디지탈 비디오 시스템의 디지탈 비디오 인코더
CN100366089C (zh) * 1998-03-05 2008-01-30 松下电器产业株式会社 图像编码方法、图像编码译码方法、图像编码装置或图像记录再生装置
KR100743818B1 (ko) * 2001-09-12 2007-07-30 마쯔시다덴기산교 가부시키가이샤 화상 부호화 방법 및 화상 복호화 방법
US7095787B2 (en) * 2001-11-29 2006-08-22 Matsushita Electric Industrial Co., Ltd. Coding distortion removal method, moving picture coding method, moving picture decoding method, and apparatus for realizing the same, program
KR100929078B1 (ko) * 2001-11-29 2009-11-30 파나소닉 주식회사 코딩 왜곡 제거 방법
US7084720B2 (en) * 2002-01-09 2006-08-01 Broadcom Corporation Printed bandpass filter for a double conversion tuner
JP2003319389A (ja) 2002-04-26 2003-11-07 Matsushita Electric Ind Co Ltd 画像データ復号装置、画像データ構造
DE10229860A1 (de) 2002-07-03 2004-01-29 Infineon Technologies Ag Verfahren und Sendevorrichtung zum Übertragen eines zweiwertigen Signals
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
JP2007528675A (ja) 2004-03-09 2007-10-11 トムソン リサーチ ファンディング コーポレイション Avc用解像度低下更新モード
CN1268136C (zh) * 2004-07-02 2006-08-02 上海广电(集团)有限公司中央研究院 基于图像切片结构的帧场自适应编码方法
US8116379B2 (en) * 2004-10-08 2012-02-14 Stmicroelectronics, Inc. Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard
JP4533081B2 (ja) * 2004-10-12 2010-08-25 キヤノン株式会社 画像符号化装置及びその方法
JP4453518B2 (ja) * 2004-10-29 2010-04-21 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
US8300694B2 (en) 2005-09-20 2012-10-30 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
JP2007129369A (ja) 2005-11-01 2007-05-24 Matsushita Electric Ind Co Ltd 画像再生装置およびその方法
WO2007116551A1 (ja) * 2006-03-30 2007-10-18 Kabushiki Kaisha Toshiba 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
JP4791285B2 (ja) 2006-08-04 2011-10-12 富士通株式会社 ネットワーク装置およびフィルタリングプログラム
US9001899B2 (en) * 2006-09-15 2015-04-07 Freescale Semiconductor, Inc. Video information processing system with selective chroma deblock filtering
CN105376567A (zh) * 2006-11-08 2016-03-02 汤姆逊许可证公司 用于环内去伪影滤波的方法和设备
US8332751B2 (en) * 2006-11-14 2012-12-11 Microsoft Corporation Removal of redundant information from electronic documents
US9961372B2 (en) * 2006-12-08 2018-05-01 Nxp Usa, Inc. Adaptive disabling of deblock filtering based on a content characteristic of video information
US9445128B2 (en) * 2006-12-08 2016-09-13 Freescale Semiconductor, Inc. System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers
US20100128803A1 (en) * 2007-06-08 2010-05-27 Oscar Divorra Escoda Methods and apparatus for in-loop de-artifacting filtering based on multi-lattice sparsity-based filtering
JP4609457B2 (ja) * 2007-06-14 2011-01-12 ソニー株式会社 画像処理装置、及び、画像処理方法
US8638852B2 (en) 2008-01-08 2014-01-28 Qualcomm Incorporated Video coding of filter coefficients based on horizontal and vertical symmetry
BRPI0906481A2 (pt) * 2008-01-14 2015-07-14 Thomson Licensing Métodos e aparelho para filtragem para remoção de artefato usando filtragem baseada em esparsidade de múltiplos reticulados
US20090316793A1 (en) 2008-06-20 2009-12-24 Yang Zhijie Michael Method and system for adaptive deblocking for avs1-p2
JP5240530B2 (ja) 2008-10-02 2013-07-17 ソニー株式会社 画像処理装置および方法
CN102224735A (zh) 2008-10-03 2011-10-19 索尼公司 图像处理设备和方法
KR101353304B1 (ko) * 2008-10-24 2014-01-21 에스케이 텔레콤주식회사 적응적 보간 필터 계수를 이용한 영상 부호화/복호화 방법 및 장치
WO2010064675A1 (ja) 2008-12-03 2010-06-10 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
WO2010064674A1 (ja) 2008-12-03 2010-06-10 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
JP5344238B2 (ja) * 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
WO2011111105A1 (ja) * 2010-03-10 2011-09-15 富士通株式会社 中継装置および通信プログラム
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US8329232B2 (en) * 2010-11-23 2012-12-11 Beijing Tang-An Nutrition & Healthcare Products Co. Ltd. Process for preparing water extract of cinnamon

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180248A (ja) * 2001-11-29 2004-06-24 Matsushita Electric Ind Co Ltd 符号化歪除去方法、動画像符号化方法、動画像復号化方法、およびそれらを実現する装置、プログラム

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
See also references of EP2469856A4
T. CHUJOH; N. WADA; G YASUDA: "Quadtree-based Adaptive Loop Filter", ITU-T SG16 Q6 VCEG CONTRIBUTION, VCEG-AK22(RL), JAPAN, April 2009 (2009-04-01)
TAKESHI CHUJOH ET AL.: "Specification and experimental results of Quadtree-based Adaptive Loop Filter VCEG-AK22 (r1)", 15 April 2009 (2009-04-15), pages 1 - 11, XP030003674, Retrieved from the Internet <URL:http://wftp3.itu.int/av-arch/video-site/0904_Yok/VCEG-AK22.zip> [retrieved on 20100902] *
TAKESHI. CHUJOH ET AL.: "Block-based Adaptive Loop Filter", ITU-T SG16 Q6 VCEG CONTRIBUTION, July 2008 (2008-07-01)
TAKESHI. CHUJOH ET AL.: "Improvement of Block-based Adaptive Loop Filter", ITU-T SG16 Q6 VCEG CONTRIBUTION, AJ13, SAN DIEGO, October 2008 (2008-10-01)
YI-JEN CHIU; L. XU: "Adaptive (Wiener) Filter for Video Compression", ITU-T SG16 CONTRIBUTION, C437, GENEVA, April 2008 (2008-04-01)
YU-WEN HUANG: "Adaptive Quadtree-based Multi-reference Loop Filter", ITU-T SG16 Q6 VCEG CONTRIBUTION, April 2009 (2009-04-01)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2665284C2 (ru) * 2013-03-21 2018-08-28 Сони Корпорейшн Устройство кодирования изображения и способ, и устройство декодирования изображения и способ

Also Published As

Publication number Publication date
TWI401969B (zh) 2013-07-11
AU2010285760A1 (en) 2012-02-23
CN106028036A (zh) 2016-10-12
EP3404917A1 (en) 2018-11-21
CA2769732C (en) 2018-04-03
US20200169758A1 (en) 2020-05-28
IN2012DN01240A (ja) 2015-05-15
KR101783575B1 (ko) 2017-10-23
CN102714716A (zh) 2012-10-03
ZA201108188B (en) 2012-07-25
US9967593B2 (en) 2018-05-08
US20180167639A1 (en) 2018-06-14
MX2012001822A (es) 2012-03-29
AU2010285760C9 (en) 2016-11-03
TW201112772A (en) 2011-04-01
RU2012104811A (ru) 2013-08-20
AU2010285760B2 (en) 2016-03-03
KR20120048615A (ko) 2012-05-15
US10587899B2 (en) 2020-03-10
CA2994002C (en) 2020-06-30
US20120140820A1 (en) 2012-06-07
CN109951708A (zh) 2019-06-28
MY163637A (en) 2017-10-13
JP2011044781A (ja) 2011-03-03
AU2016203618A1 (en) 2016-06-16
KR20180083952A (ko) 2018-07-23
KR20160138585A (ko) 2016-12-05
CN102714716B (zh) 2016-08-03
AU2010285760C1 (en) 2016-10-20
CN109951708B (zh) 2023-01-31
AU2016203618B2 (en) 2017-10-05
JP5604825B2 (ja) 2014-10-15
BR112012003285B1 (pt) 2021-09-28
KR101681167B1 (ko) 2016-12-01
US10911786B2 (en) 2021-02-02
CA2994002A1 (en) 2011-02-24
CA2769732A1 (en) 2011-02-24
CN106028036B (zh) 2019-04-30
BR112012003285A2 (pt) 2016-03-01
KR20170113706A (ko) 2017-10-12
EP2469856A4 (en) 2014-01-22
AU2010285760B9 (en) 2016-11-03
EP2469856A1 (en) 2012-06-27
KR101880010B1 (ko) 2018-07-18

Similar Documents

Publication Publication Date Title
JP5604825B2 (ja) 画像処理装置および方法
JP5359657B2 (ja) 画像符号化装置および方法、記録媒体、並びにプログラム
JP5233897B2 (ja) 画像処理装置および方法
JP5344238B2 (ja) 画像符号化装置および方法、記録媒体、並びにプログラム
JP2018029389A (ja) 画像処理装置および方法、並びにプログラム
JP6292460B2 (ja) 画像処理装置および方法
JP6328076B2 (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP6241500B2 (ja) 画像処理装置および方法、並びにプログラム
JP6137072B2 (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP6169056B2 (ja) 画像処理装置および方法、並びにプログラム
JP6620184B2 (ja) 画像復号装置、画像復号方法、及び、記録媒体
JP6229770B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP6032296B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP5875565B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP5573995B2 (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP5573997B2 (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP5429418B2 (ja) 画像復号装置および方法、記録媒体、並びにプログラム
JP5573996B2 (ja) 画像符号化装置および方法、記録媒体、並びにプログラム
JP5999773B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム

Legal Events

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

Ref document number: 201080045758.7

Country of ref document: CN

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

Ref document number: 10809875

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2769732

Country of ref document: CA

Ref document number: 2010285760

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 13389474

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20127003475

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2010809875

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012104811

Country of ref document: RU

Ref document number: 1240/DELNP/2012

Country of ref document: IN

Ref document number: MX/A/2012/001822

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 1201000541

Country of ref document: TH

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2010285760

Country of ref document: AU

Date of ref document: 20100810

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112012003285

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112012003285

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20120213