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

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

Info

Publication number
WO2011013580A1
WO2011013580A1 PCT/JP2010/062398 JP2010062398W WO2011013580A1 WO 2011013580 A1 WO2011013580 A1 WO 2011013580A1 JP 2010062398 W JP2010062398 W JP 2010062398W WO 2011013580 A1 WO2011013580 A1 WO 2011013580A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
processing
filter
slice
Prior art date
Application number
PCT/JP2010/062398
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 EP14172767.7A priority Critical patent/EP2802150B1/en
Priority to PL14170608T priority patent/PL2790409T3/pl
Priority to CN201080042415.5A priority patent/CN102511165B/zh
Priority to BR112012001639-3A priority patent/BR112012001639B1/pt
Priority to RU2012102382/08A priority patent/RU2543306C2/ru
Priority to KR1020187036591A priority patent/KR102030954B1/ko
Priority to KR1020197028620A priority patent/KR102126165B1/ko
Priority to EP14170608.5A priority patent/EP2790409B1/en
Priority to PL14172767T priority patent/PL2802150T3/pl
Priority to US13/386,849 priority patent/US8805085B2/en
Priority to KR1020177011506A priority patent/KR101872657B1/ko
Priority to EP20152846.0A priority patent/EP3661207B1/en
Priority to KR1020167021628A priority patent/KR101747063B1/ko
Priority to EP19154404.8A priority patent/EP3496402B1/en
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to EP10804326.6A priority patent/EP2461588A4/en
Priority to KR1020147012585A priority patent/KR101649805B1/ko
Priority to KR1020187017072A priority patent/KR101931730B1/ko
Publication of WO2011013580A1 publication Critical patent/WO2011013580A1/ja
Priority to US13/942,335 priority patent/US8774537B2/en
Priority to US14/293,787 priority patent/US9392269B2/en
Priority to US15/190,930 priority patent/US9918108B2/en
Priority to US15/874,380 priority patent/US10721494B2/en
Priority to US16/902,096 priority patent/US11405652B2/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

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 the effect of filtering by local control of filtering at encoding or decoding.
  • image information is treated as digital, and at that time, it is an MPEG that is compressed by orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • orthogonal transformation such as discrete cosine transformation and motion compensation for the purpose of efficient transmission and storage of information, using redundancy unique to image information.
  • a device conforming to a method such as Moving Picture Experts Group) is spreading in both information distribution such as broadcasting station and information reception in general home.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission
  • MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate.
  • bit rate bit rate
  • MPEG4 coding amount
  • image coding method that 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 requires a large amount of operation for encoding and decoding as compared with conventional encoding methods such as MPEG2 and MPEG4, higher encoding efficiency is realized.
  • MPEG4 activities standardization based on H.26L and incorporating features not supported by H.26L to achieve higher coding efficiency is now available as the Joint Model of Enhanced-Compression Video Coding. It is As a schedule for standardization, it became an international standard under the name of H.264 and MPEG4 Part 10 (AVC (Advanced Video Coding)) in March 2003.
  • AVC Advanced Video Coding
  • ALF Adaptive Loop Filter
  • the image coding apparatus associates a plurality of control blocks arranged without gaps so as to be spread in the area of the image, and controls whether or not to filter the image for each control block.
  • the image coding 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.
  • Non-Patent Document 2 and Non-Patent Document 3 do not describe processing of pixels near the boundary of a slice in the case of such a multi-slice, and it was unclear how to process it.
  • the present invention has been proposed in view of such a situation, and it is an object of the present invention to suppress the reduction of the effect of filter processing by local control of filter processing at the time of encoding or decoding.
  • the method of the filter process for the processing target pixel is selected from a plurality of methods based on the boundary control flag. And a filter processing unit that performs the filter processing on the processing target pixel by the method selected by the selection unit.
  • the selection means is a method of performing the filter process on the processing target pixel after obtaining the peripheral pixel located in the adjacent slice, and copying the peripheral pixel located in a slice including the processing target pixel.
  • dummy data of the peripheral pixels located in the adjacent slice can be generated, and one of the methods of performing the filter process on the processing target pixel can be selected.
  • the selection means is any one of a method of performing the filter processing on the processing target pixel after obtaining the peripheral pixels located in the adjacent slice and a method of omitting the filter processing on the processing target pixel. You can choose one or the other.
  • the image processing apparatus further comprises generation means for generating the boundary control flag based on a system specification, and the selection means selects the method of the filtering process on the processing target pixel based on the boundary control flag generated by the generation means. can do.
  • the system specification may include hardware resources of the image processing apparatus.
  • the system specification may include the purpose of use of the image processing apparatus.
  • encoding means for encoding the image to generate encoded data, wherein the encoding means further encodes the boundary control flag generated by the generation means and adds it to the encoded data.
  • the image decoding apparatus further comprises decoding means for decoding encoded data in which the image is encoded, and generating the image, wherein the decoding means further comprises the encoded boundary control flag added to the encoded data. Decoding is performed, and the selection unit can select the method of the filtering process on the processing target pixel based on the boundary control flag decoded by the decoding unit.
  • the determination unit of the image processing apparatus further includes: a slice next to a slice in which the processing target pixel is included in the peripheral pixels of the processing target pixel of the filtering process performed locally on the image. If it is determined whether or not a pixel is included and the selection means of the image processing device determines that the neighboring pixel includes the pixel of the adjacent slice, the processing target pixel is determined based on the boundary control flag.
  • the filter processing method for the image processing method is selected from a plurality of methods, and the filter processing unit of the image processing apparatus performs the filter processing on the processing target pixel by the selected method.
  • the peripheral pixels of the processing target pixel of the filter processing locally performed on the image include the pixels of the slice next to the slice including the processing target pixel.
  • the method of filtering the processing target pixel is selected from a plurality of methods based on the boundary control flag, and processing is performed using the selected method. Filter processing is performed on the target pixel.
  • an image can be encoded or decoded.
  • it is possible to suppress the reduction of the effect of the filtering process by the local control of the filtering process at the time of encoding or decoding. For example, even in the case where each frame of an image is divided into a plurality and encoded or decoded, it is possible to suppress the reduction in the effect of the filtering process.
  • FIG. 1 shows a configuration of an embodiment of an image coding apparatus as an image processing apparatus to which the present invention is applied.
  • the image coding apparatus 100 shown in FIG. H.264 and MPEG4 Part 10 (Advanced Video Coding) (hereinafter referred to as H.264 / AVC) are encoding devices that compress and encode images, and further adopt an adaptive loop filter.
  • the image coding apparatus 100 includes an A / D (Analog / Digital) conversion unit 101, a screen rearrangement buffer 102, an operation unit 103, an orthogonal conversion unit 104, a quantization unit 105, and a lossless coding unit 106. , And the accumulation buffer 107.
  • the image coding apparatus 100 further includes an inverse quantization unit 108, an inverse orthogonal transform unit 109, an operation unit 110, and a deblocking filter 111.
  • the image coding apparatus 100 further includes a control information generation unit 112, an adaptive filter processing unit 113, and a frame memory 114.
  • the image coding apparatus 100 further 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 coding apparatus 100 includes a rate control unit 119.
  • the A / D converter 101 A / D converts the input image, and outputs the image to the screen rearrangement buffer 102 for storage.
  • the screen rearrangement buffer 102 rearranges the images of frames in the stored display order into the order of frames for encoding in accordance with the GOP (Group of Picture) structure.
  • the operation 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 thereof
  • the information is output to the orthogonal transform unit 104.
  • the orthogonal transformation unit 104 subjects the difference information from the computation unit 103 to orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation, and outputs the transformation coefficient.
  • the quantization unit 105 quantizes the transform coefficient output from the orthogonal transform unit 104.
  • the quantized transform coefficient which is the output of the quantization unit 105, is input to the lossless encoding unit 106.
  • the lossless coding unit 106 performs lossless coding such as variable length coding and arithmetic coding on the quantized transform coefficients, and compresses the coefficients.
  • the lossless encoding unit 106 acquires information indicating intra prediction from the intra prediction unit 115 and acquires information indicating the inter prediction mode from the motion prediction unit 117.
  • the information indicating intra prediction is hereinafter also referred to as intra prediction mode information.
  • the information which shows the information mode which shows inter prediction is also hereafter called inter prediction mode information.
  • the lossless encoding unit 106 further obtains, from the control information generation unit 112, control information of adaptive filter processing performed in the adaptive filter processing unit 113.
  • the lossless encoding unit 106 encodes the quantized transform coefficients, and also encodes control information for adaptive filter processing, information indicating intra prediction, information indicating an inter prediction mode, quantization parameters, etc. As part of the header information in (multiplex).
  • the lossless encoding unit 106 supplies the encoded data to the accumulation buffer 107 for accumulation.
  • lossless encoding processing such as variable length coding or arithmetic coding is performed.
  • variable-length coding H.264 is used.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the data supplied from the lossless encoding unit 106, and at a predetermined timing, the H.264 buffer is stored.
  • the compressed image is output to a recording device or a transmission line (not shown) at a later stage.
  • the transform coefficient quantized in the quantization unit 105 is also input to the inverse quantization unit 108.
  • the inverse quantization unit 108 inversely quantizes the quantized transform coefficient according to 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 orthogonal transform processing by the orthogonal transform unit 104.
  • the inverse orthogonal transformed output is supplied to the calculation unit 110.
  • the operation unit 110 adds the predicted image supplied from the predicted image selection unit 118 to the inverse orthogonal transformation result supplied from the inverse orthogonal transformation unit 109, that is, the restored difference information, and a 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 from these, the adaptive filter performed in the adaptive filter processing unit 113 Generate control information for Although details will be described later, the control information includes filter coefficients, block sizes, filter block flags, boundary control flags, 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 losslessly compressed by the lossless encoding unit 106 and included (multiplexed) in the image compression information. That is, the control information is sent to the image decoding apparatus together with the image compression information.
  • the adaptive filter processing unit 113 performs filter processing on the decoded image supplied from the deblocking filter 111 using the filter coefficient of the control information supplied from the control information generation unit 112, the block size designation, the filter block flag, and the like. .
  • this filter for example, a Wiener filter is used.
  • a filter other than the winner filter may be used.
  • the adaptive filter processing unit 113 supplies the filter processing result to the frame memory 114 and stores the result 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.
  • the I picture, the B picture, and the P picture from the screen rearrangement buffer 102 are supplied to the intra prediction unit 115 as an image to be subjected to intra prediction (also referred to as intra processing). Also, the B picture and the P picture read from the screen rearrangement buffer 102 are supplied to the motion prediction unit 117 as an image 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 image to be intra predicted read from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 114, and performs prediction. Generate an image.
  • the information on the intra prediction mode applied to the block / macroblock is transmitted to the lossless encoding unit 106 and encoded as part of header information in the image compression information.
  • 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 for the chrominance signal, It is possible to define a prediction mode independent of the luminance signal for each macroblock.
  • the intra 4 ⁇ 4 prediction mode one intra prediction mode is defined for each 4 ⁇ 4 luminance block.
  • the intra 8 ⁇ 8 prediction mode one intra prediction mode is defined for each 8 ⁇ 8 luminance block.
  • the intra 16 ⁇ 16 prediction mode and the color difference signal 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 the 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 obtains image information (input image) supplied from the screen rearrangement buffer 102 and image information (decoded image) serving as a reference frame supplied from the frame memory 114 for an image to be inter-coded. Acquire and calculate a motion vector.
  • the motion prediction unit 117 supplies motion vector information indicating the calculated motion vector to the lossless coding unit 106.
  • the motion vector information is subjected to lossless compression processing by the lossless encoding unit 106 and included in the image compression information. That is, motion vector information is sent to the image decoding apparatus together with the image compression information.
  • 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 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 rate of the quantization operation of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that an overflow or an underflow does not occur.
  • a unit of motion prediction / compensation processing is a motion compensation block, and can have independent motion vector information for each motion compensation block.
  • 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.
  • one macro block constituted by 16 ⁇ 16 pixels is 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16 or 8 ⁇ 8. It is possible to divide into any of the partitions and have independent motion vector information. Furthermore, with regard to the 8 ⁇ 8 partition, as shown on the lower side of FIG. 2, the 8 ⁇ 8, 8 ⁇ 4, 4 ⁇ 8, 4 ⁇ 4 sub-partitions are divided, and independent motion vector information is divided respectively. It is possible to have. Motion prediction / compensation processing is performed on a motion compensation block basis.
  • FIG. 3 is a block diagram showing an example of the main configuration of the control information generator 112. As shown in FIG.
  • control information generation unit 112 generates control information used for an adaptive filter (ALF (Adaptive Loop Filter)) which is a loop filter, which is performed in the adaptive filter processing unit 113.
  • ALF Adaptive Loop Filter
  • the control information generation unit 112 generates, for example, a filter coefficient, an ALF block size, a filter block flag, and a boundary control flag as the control information.
  • the control information generation unit 112 includes a filter coefficient calculation unit 131, a boundary control flag generation unit 132, and a block information generation unit 133.
  • the filter coefficient calculation unit 131 obtains the decoded image supplied from the deblocking filter 111 and the current input image read from the screen rearrangement buffer 102, and calculates the filter coefficient of ALF for each frame from them. .
  • the boundary control flag generation unit 132 generates a boundary control flag (alf_enable_in_slice_boundary) that specifies how to perform filter processing on pixels in the vicinity of the boundary of a plurality of slices formed in a frame. Do. Details will be described later.
  • the block information generation unit 133 determines the ALF block size based on the decoded image supplied from the deblock filter 111 and the filter coefficient calculated by the filter coefficient calculation unit 131, and the ALF block size in the processing target slice is determined. Generate filter block flag.
  • FIG. 4 is a diagram for explaining an ALF block and a filter block flag.
  • filter coefficients are set for each frame. That is, optimal filtering is performed in frame units.
  • a frame image is not entirely uniform, and locally has various features. Therefore, the optimum filter coefficients are locally different. Therefore, in the filter processing using the filter coefficient determined for each frame as described above, the image quality is improved in the entire frame, but there is a possibility that the image quality may be locally deteriorated.
  • BALF block-based adaptive loop filter
  • the frame 151 of A of FIG. 4 shows the decoded image after the deblocking filter process.
  • the block information generation unit 133 as shown in B of FIG. 4, a plurality of ALF blocks 152, which are control blocks each serving as a control unit of adaptive filter processing performed locally, Arrange without gaps so as to spread all over.
  • the area in which the ALF block 152 is disposed 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 into the area (multiple areas) of each ALF block 152.
  • the block information generation unit 133 determines the size (double arrow 153) in the horizontal direction of the ALF block 152 and the size (double arrow 154) in the vertical direction.
  • the size of the ALF block is, for example, any one of 8 ⁇ 8, 16 ⁇ 16, 24 ⁇ 24, 32 ⁇ 32, 48 ⁇ 48, 64 ⁇ 64, 96 ⁇ 96, or 128 ⁇ 128 specified for each slice. can do.
  • Information specifying the size of the ALF block is called a block size index.
  • the number of ALF blocks per frame is also determined.
  • the block information generation unit 133 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 of "1" is generated for an area where the image quality is improved by the adaptive filter, and a filter block flag 155 having a value of "0" is generated for an area where the image quality deteriorates due to the adaptive filter. It is generated.
  • the value “1” is a value indicating that the filtering process is to be performed
  • the value “0” is a value indicating that the filtering process is not to be 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 filter processing only on the area of the ALF block 152 where the value of the filter block flag 155 is “1”, and in the area of the ALF block 152 where 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 image compression information, and are sent from the image encoding device 100 to the image decoding device.
  • One or more filter block flags according to the number of ALF blocks are included in the slice header, for example, in raster scan order.
  • the smaller the size of the ALF block the finer filter control is possible, and the more appropriate ALF filter is possible.
  • the bit amount of the filter block flag increases. That is, the smaller the size of the ALF block, the lower the coding efficiency of the image compression information.
  • the performance of the adaptive filter and the coding efficiency of the image compression information are in a trade-off relationship.
  • the number of ALF blocks is calculated as the following equation (1).
  • N ALFBLOCK In Equation (1) indicates the number of ALF blocks.
  • N MBw indicates the number of macroblocks in the horizontal direction of the picture
  • N MBh indicates 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 for explaining an example of multi-slice.
  • the frame 151 is divided into three slices of slice 0, slice 1, and slice 2.
  • the image coding apparatus can generate and output the image compression information at shorter intervals. That is, the image decoding apparatus that decodes the image compression information can start decoding the image compression information earlier. That is, the encoding process and the decoding process are performed after the image is input, and the delay time until the image is output can be shortened.
  • Non-Patent Document 2 that describes BALF does not disclose this multi-slice. That is, only setting of the ALF block for the entire frame is described. However, in the case of multi-slice, filter processing may not normally be performed on pixels near the boundary of the slice.
  • FIG. 6 is a diagram showing the state of filter processing for pixels near the boundary of a slice.
  • the adaptive filter processing unit 113 uses a pixel (peripheral pixel) within a predetermined range around the processing target pixel. For example, in the case of FIG. 6, in the case of filtering the processing target pixel 161, the adaptive filter processing unit 113 performs the filtering process using 9 ⁇ 9 peripheral pixels 162 indicated by hatching.
  • the processing target pixel 161 is a pixel in the vicinity of the slice boundary 163.
  • the slice boundary 163 indicates the boundary between the slice to be processed (the slice concerned) and the slice (next slice) adjacent to the slice to be processed. That is, the slice boundary 163 indicates the outer frame of the slice.
  • a part of the peripheral pixels 162 used for the filtering process on the processing target pixel 161 in the vicinity of the slice boundary 163 crosses the slice boundary 163 and spans the area of the adjacent slice. That is, as shown in, for example, FIG. 7A, the pixel value of the adjacent slice is required to perform the filtering process as in the normal case, as illustrated in A of FIG. 7, for example.
  • the adaptive filter processing unit 113 performs filter processing on the pixel EE which is a processing target pixel using the pixels AA to JJ of both the slice and the adjacent slice.
  • the delay time of the encoding process may be increased.
  • the adaptive filter processing unit 113 duplicates the pixels EA to EJ in contact with the slice boundary 163 as shown by the arrows, so that the pixels in the slice next to the peripheral pixels 162 ( Generate dummy data).
  • the filter processing unit 113 performs filter processing on the pixel EE using the generated dummy data.
  • the adaptive filter processing unit 113 does not have to wait for the generation of the pixel of the adjacent slice, and can filter the pixel EE earlier than in the case of A in FIG. 7.
  • the adaptive filter processing unit 113 uses actual data, so that it is possible to perform filter processing more suitable for the content of the actual image. That is, a greater improvement in image quality can be expected by filter processing.
  • the adaptive filter processing unit 113 does not need the data of the adjacent slice for the filter processing, and can perform processing only with the data of the relevant slice. It can be filtered.
  • the method shown in A of FIG. 7 is preferable, but the method of A of FIG. 7 consumes more memory than the method of B of FIG. May increase. Therefore, depending on the memory capacity available in the system and the allowable delay time, the method of FIG. 7B may be considered to be preferable.
  • the boundary control flag controls the method of filtering for pixels near such a boundary.
  • the boundary control flag generation unit 132 generates such a boundary control flag.
  • the boundary control flag generation unit 132 includes a system specification management unit 141, a determination unit 142, and a generation unit 143.
  • the system specification management unit 141 manages specifications (hardware resources, usage purpose, etc.) of a system that performs image processing, including the image coding apparatus 100.
  • the system specification management unit 141 may also manage the specifications (hardware resources, purpose of use, etc.) of the image decoding apparatus encoded in the image encoding apparatus 100.
  • the determination unit 142 determines whether the processing target pixel is a pixel near the boundary.
  • the generation unit 143 generates a boundary control flag for the processing target pixel determined to be a pixel near the boundary.
  • FIG. 8 is a block diagram showing an example of the main configuration of the adaptive filter processing unit 113 of FIG.
  • the adaptive filter processing unit 113 uses the control information supplied from the control information generation unit 112 to filter the decoded image supplied from the deblocking filter 111.
  • 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, and controls filter processing based on the control information.
  • the adaptive filter 172 filters the region of the decoded image supplied from the deblocking filter 111, which is designated by the control unit 171 as a processing target ALF block, using the filter coefficient set by the control unit 171.
  • the adaptive filter 172 includes a buffer 181, an in-slice adaptive filter 182, a boundary first adaptive filter 183, and a boundary second adaptive filter 184.
  • the buffer 181 temporarily holds the decoded image supplied from the deblocking filter 111.
  • the buffer 181 can hold not only the processing target slice but also the slice adjacent to the processing target slice (neighboring slice).
  • the in-slice adaptive filter 182 is controlled by the control unit 171 to perform filter processing on the processing target pixel that is not near the slice boundary and does not include the pixels of the adjacent slice in the peripheral pixels. That is, the in-slice adaptive filter 182 performs the filtering process using only the pixels of the slice.
  • the boundary first adaptive filter 183 is controlled by the control unit 171, and performs filtering processing across slices with respect to the processing target pixel near the slice boundary, in which neighboring pixels include pixels of adjacent slices. That is, the boundary first adaptive filter 183 performs the filtering process using the pixels of the slice and the adjacent slice in the method as shown in A of FIG. 7. Therefore, the boundary first adaptive filter 183 starts filtering after the pixels of the adjacent slice are accumulated in the buffer 181.
  • the second adaptive filter for boundary 184 is controlled by the control unit 171, and performs filter processing closed with the slice on the processing target pixel near the slice boundary where the neighboring pixels include the pixels of the adjacent slice. That is, the second adaptive filter for boundary 184 performs the filtering process by generating dummy data as needed using only the pixels of the slice by a method as shown in B of FIG. 7. Therefore, the boundary second adaptive filter 184 starts filtering as soon as the pixel of the slice is accumulated in the buffer 181.
  • the control unit 171 selects one of the in-slice adaptive filter 182, the first adaptive adaptive filter 183, and the second adaptive adaptive filter 184 according to the position of the processing target pixel and the value of the boundary control flag included in the control information. And select any one, and make the selected processing unit execute filtering in its own way.
  • control unit 171 performs filter processing of the selected processing unit (the in-slice adaptive filter 182, the boundary first adaptive filter 183, or the boundary second adaptive filter 184) according to the accumulation state of the image in the buffer 181. Control the start timing.
  • the adaptive filter 172 (in-slice adaptive filter 182, boundary first adaptive filter 183, or boundary second adaptive filter 184) 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 supplied from the adaptive filter 172 (adaptive filter processed decoding) One of the images) is selected, supplied to the frame memory 114, and stored as a reference image.
  • the control unit 171 controls the selection unit 173 according to the value of the filter block flag included in the control information, and selects either the decoded image not subjected to the adaptive filter processing or the decoded image subjected to the adaptive filter processing.
  • the adaptive filter processing unit 113 is an area of the decoded image supplied from the deblocking filter 111, which is indicated by the filter block flag to perform the filtering process (an area determined to be improved in image quality by the filtering process) Only filter.
  • step S101 the A / D conversion unit 101 A / D converts the input image.
  • step S102 the screen rearrangement buffer 102 stores the A / D converted image, and performs rearrangement from the display order of each picture to the coding order.
  • step S103 the computing unit 103 computes the difference between the image rearranged in the process of step S102 and the predicted image.
  • the prediction image is supplied from the motion compensation unit 116 when inter prediction is performed, and from the intra prediction unit 115 when intra prediction is performed, to the calculation unit 103 via the prediction image selection unit 118.
  • the difference data has a smaller amount of data than the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S104 the orthogonal transformation unit 104 orthogonally transforms the difference information generated by the process of 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. During 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 the characteristic corresponding to the characteristic of the quantization unit 105.
  • step S ⁇ b> 107 the inverse orthogonal transformation unit 109 inversely orthogonally transforms the transform coefficient inversely quantized by the inverse quantization unit 108 with the characteristic corresponding to the characteristic of the orthogonal transformation 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 the locally decoded image (input to the calculation unit 103) Generate the corresponding image).
  • step S109 the deblocking filter 111 filters the image output from the computing unit 110. This removes blockiness.
  • step S110 the control information generation unit 112 generates control information used for adaptive filter processing. Details of the process of generating control information will be described later.
  • adaptive filter processing unit 113 When control information such as the filter coefficient, ALF block size, and filter block flag is generated by the process of step S110, adaptive filter processing unit 113 performs the process of step S109 using the control information in step S111. Adaptive filter processing is performed on the deblock-filtered decoded image. Details of this adaptive filter processing will be described later.
  • step S112 the frame memory 114 stores the image subjected to the adaptive filter process in step S111.
  • step S113 the intra prediction unit 115 performs intra prediction processing 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 prediction image selection unit 118 selects one of the prediction image generated by the intra prediction processing or the prediction image generated by the inter motion prediction / compensation processing according to the prediction mode of the processing target frame. Choose one.
  • the prediction image selection unit 118 supplies the selected prediction image to the calculation unit 103 and the calculation unit 110. This predicted image is used for the calculation of steps S103 and S108 as described above.
  • step S116 the lossless encoding unit 106 encodes the quantized transform coefficient output from the quantization unit 105. That is, the difference image is losslessly encoded such as variable length coding, arithmetic coding or the like and compressed.
  • the lossless encoding unit 106 also encodes the control information generated in step S110, the intra prediction mode information of the intra prediction process of step S113, and the inter prediction mode of the inter motion prediction / compensation process of step S114. Do.
  • step S117 the lossless encoding unit 106 embeds (describes) metadata such as encoded control information in the slice header.
  • This metadata is read out and used at the time of image decoding.
  • by including (multiplexing) metadata necessary for the decoding process in the slice header it becomes possible to execute the decoding process in units finer than the frame unit, and it is possible to suppress an increase in delay time.
  • step S118 the accumulation buffer 107 accumulates the difference image as a compressed image.
  • the compressed image stored in the storage buffer 107 is appropriately read and transmitted to the decoding side via the transmission path.
  • step S119 the rate control unit 119 controls the rate of the quantization operation of the quantization unit 105 based on the compressed image stored in the storage buffer 107 so that overflow or underflow does not occur.
  • the filter coefficient calculation unit 131 of the control information generation unit 112 causes the input image supplied from the screen rearrangement buffer 102 and the deblock supplied from the deblock filter 111 in step S131.
  • the filter coefficient is calculated using the filtered decoded image. For example, the filter coefficient calculation unit 131 determines the value of the filter coefficient such that the residual between the input image and the decoded image is minimized.
  • step S132 the boundary control flag generation unit 132 generates a boundary control flag for controlling an adaptive filter processing method for pixels in the vicinity of the boundary. Details will be described later.
  • the block information generation unit 133 When the boundary control flag is generated, the block information generation unit 133 generates block information including the ALF block size and the filter block flag in step S133.
  • the ALF block size may be predetermined, or may be appropriately set according to the image content. In this case, for example, the block information generation unit 133 calculates a cost value for evaluating the filter processing result using a cost function, and determines the ALF block size so that the cost value is minimized.
  • the block information generation unit 133 determines the value of the filter block flag depending on whether the image quality is improved when the processing target ALF block is subjected to the filtering process. For example, when it is determined that the image quality is improved by performing the filter process, the block information generation unit 133 sets the value of the filter block flag to the value “1” indicating that the filter process is to be performed, and performs the filter process. When it is determined that the image quality is deteriorated by performing the above, the value of the filter block flag is set to a value “0” indicating that the filtering process is not performed.
  • step S111 When the block information is generated, the process returns to step S110 of FIG. 9 and the processes after step S111 are executed.
  • the calculation of the filter coefficient performed in step S131 may be performed on a frame basis.
  • the process of step S131 is a predetermined slice in a frame (for example, a slice whose identification number is a predetermined value (for example, "0") in a frame, or a slice to be processed first in a frame)
  • the value may be diverted.
  • any image can be used to calculate the filter coefficient. For example, it may be calculated based on a past frame image.
  • the system specification management unit 141 of the boundary control flag generation unit 132 acquires system specification information in step S151.
  • the system specification information is, for example, information including hardware resources and usage purpose of a system including the image coding apparatus 100.
  • the hardware resources refer to hardware resources of each device (including the image encoding device 100) configuring the system, and include, for example, processing capacity, available memory capacity, bus transfer speed, and the like.
  • the purpose of use is the operation mode of the entire system or each device, and includes, for example, whether to operate with emphasis on image quality or to operate with emphasis on speed.
  • the system specification information may include information other than these.
  • the system specification information may be stored in advance in a memory or the like built in the system specification management unit 141.
  • the system specification management unit 141 reads the system specification information from the memory by the process of step S151.
  • the system specification management unit 141 may collect the above-described specification information from each unit of the image coding apparatus 100, another apparatus, and the like.
  • the system specification management unit 141 When acquiring the system specification information, the system specification management unit 141 supplies the system specification information to the determination unit 142.
  • step S152 the determination unit 142 determines whether to use the next slice for the filtering process near the boundary, based on the supplied system specification information (hardware resources, purpose of use, etc.). That is, in the case where the determination unit 142 sets a pixel in the vicinity of the boundary where a slice adjacent to the surrounding pixel is included as a processing target pixel, does the filter process across the slice be performed or the filter process closed by the slice be performed? Determine
  • the determination unit 142 selects the filtering process across slices. Further, for example, when the increase in the delay time is not permitted or the hardware resources of the respective devices in the system are not sufficient, the determination unit 142 selects the filter processing closed in the slice.
  • step S153 the generation unit 143 generates a boundary control flag of value "1".
  • step S154 the generation unit 143 generates a boundary control flag having a value "0".
  • the generation unit 143 supplies the boundary control flag to the adaptive filter processing unit 113 and the lossless encoding unit 106.
  • the lossless encoding unit 106 encodes the boundary control flag supplied from the generation unit 143 as control information, and embeds it in the slice header or the like of the slice.
  • the adaptive filter processing unit 113 controls the adaptive filter process using the boundary control flag supplied from the generation unit 143.
  • step S153 or step S154 When the process of step S153 or step S154 is ended, the boundary control flag setting process is ended, the process returns to step S132 of FIG. 10, and the processes of step S133 and subsequent steps are performed.
  • the buffer 181 acquires the decoded image of the processing target slice from the deblocking filter 111 in step S171.
  • the control unit 171 identifies the area of the processing target slice.
  • control unit 171 obtains the top macroblock address of the slice from the slice header.
  • the start macroblock address is a number assigned to a macroblock in raster scan order from the upper left of the screen.
  • the top left macroblock address of the image (frame 151) is zero. Since slice 0 is started from the upper left of the frame 151, the macroblock address of the leading macroblock 156-1 of slice 0 is zero.
  • the macroblock address of the last macroblock 156-2 of slice 0 is E0 in accordance with this order.
  • the macroblock address of the top macroblock 157-1 of slice 1 is S1
  • the macroblock address of the last macroblock 157-2 is E1. Further, let the macro block address of the top macro block 158-1 of slice 2 be S2, and let the macro block address of the final macro block 158-2 be E2.
  • one macroblock address is added each time the decoding process of one macroblock is completed, and finally the final macroblock of the slice is reached.
  • the final macroblock is set with a flag that is the last macroblock of the slice. From these, all macroblock addresses held by the slice are known. That is, from the first macroblock address to the last macroblock address.
  • the image size of one frame is indicated by the number of macroblocks in a sequence parameter set (SPS (Sequence Parameter Set)) of an 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_minus 1] (3)
  • Equations (2) and (3) mbx indicates the position of the macroblock from the left, and mby indicates the position of the macroblock from the top. Moreover, floor [z] rounds off the decimal part of z and makes it an integer, and A% B shows the number of remainders which divided A by B.
  • the vertical and horizontal positions of the upper left pixel of the macro block are (16 ⁇ mbx, 16 ⁇ mby) and are included in the macro block
  • the pixels are included in the range of 16 pixels downward and 16 pixels rightward from the upper left pixel position. Up to this point, all the pixels of the slice are known. That is, the area of the processing target slice is identified.
  • step S173 the control unit 171 acquires one filter block flag generated by the control information generation unit 112.
  • step S174 the control unit 171 determines one of the unprocessed ALF blocks as a processing target ALF block.
  • the selection order of the ALF blocks is predetermined, and is the same as the selection order in the control information generation unit 112. Further, the control unit 171 specifies the area of the determined processing target ALF block.
  • the control unit 171 determines the size of each ALF block and the number of ALF blocks according to the set values. Determine and place an ALF block to 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 numbers of horizontal and vertical ALF blocks included in the image, respectively. Further, alf_block_size indicates the size of one side of the ALF block. Here, in order to simplify the explanation, it is assumed that the ALF block is a square. Of course, the vertical size and the horizontal size of the ALF block may be different from each other.
  • alf_block_x and alf_block_y respectively indicate the number of the i-th ALF block in the horizontal direction and the vertical direction.
  • 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 in the range of alf_block_size ⁇ alf_block_size from the pixel at the upper left.
  • step S175 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 specified as described above. If it is determined that the area of the processing target slice is included, the process proceeds to step S176.
  • step S176 the control unit 171 determines whether the value of the filter block flag is one. If the value of the filter block flag is 1 and it is instructed to perform filter processing on the area of the processing target ALF block, control is performed such that the selecting unit 173 selects the output of the adaptive filter 172, and the process proceeds to step S177. .
  • step S177 the control unit 171 selects processing target pixels from the unprocessed pixels in a predetermined order such as the raster scan order.
  • step S178 the control unit 171 determines whether or not the pixel of the adjacent slice is necessary for the filter process of the selected processing target pixel. If it is determined that the neighboring pixel is included in the peripheral pixels of the processing target pixel and the processing target pixel is a pixel near the slice boundary, the process proceeds to step S179.
  • step S179 the control unit 171 determines whether the value of the boundary control flag included in the control information acquired from the control information generation unit 112 is "1". If it is determined that the value of the boundary control flag is "1", the process proceeds to step S180.
  • step S180 the control unit 171 selects the boundary first adaptive filter 183 as an adaptive filter, and causes the boundary first adaptive filter 183 to execute filtering processing across slices as illustrated in A of FIG. 7. .
  • step S180 ends, the process proceeds to step S183.
  • step S179 When it is determined in step S179 that the value of the boundary control flag is “0”, the process proceeds to step S181.
  • step S181 the control unit 171 selects the boundary second adaptive filter 184 as the adaptive filter, and causes the boundary second adaptive filter 184 to perform the filter processing closed by the slice as shown in B of FIG. Run it.
  • the process of step S181 ends, the process proceeds to step S183.
  • step S178 when it is determined that the processing target pixel is not a pixel near the slice boundary, the process proceeds to step S182.
  • step S182 the control unit 171 selects the in-slice adaptive filter 182 as the adaptive filter, and causes the in-slice adaptive filter 182 to execute normal filter processing using only the pixels of the slice.
  • step S182 ends, the process proceeds to step S183.
  • step S176 When it is determined in step S176 that the value of the filter block flag is “0”, the process proceeds to step S183. Furthermore, when it is determined in step S175 that the process target ALF block does not include the area of the process target slice, the process proceeds to step S183.
  • step S183 the control unit 171 determines whether all the pixels in the processing target ALF block have been processed. If it is determined that there is an unprocessed pixel, the process returns to step S177, and the subsequent processing is repeated.
  • step S183 If it is determined in step S183 that all the pixels in the processing target ALF block have been processed, the process proceeds to step S184.
  • step S184 the control unit 171 determines whether all ALF blocks in the frame have been processed. If it is determined that there is an unprocessed ALF block, the process returns to step S173, and the subsequent processing is repeated. If it is determined in step S184 that all ALF blocks have been processed, the adaptive filter control process is ended, the process returns to step S111 in FIG. 9, and the processes of step S112 and subsequent steps are performed.
  • the filtering process performed on each processing target pixel in steps S180 to S182 is independently executed as a task different from the adaptive filter control process. That is, when execution of adaptive filter processing is designated in steps S180 to S182, the adaptive filter processing is appropriately executed. That is, these adaptive filter processes can be performed in parallel with adaptive filter control processes and adaptive filter processes for other pixels.
  • the boundary first adaptive filter 183 monitors the buffer 181 in step S201, and the peripheral region of the processing target pixel is displayed. It is determined whether all the pixels are aligned, and the process waits until all pixels are aligned.
  • the pixels in the peripheral area ie, peripheral pixels
  • the process proceeds to step S202.
  • step S 202 the first boundary adaptive filter 183 acquires pixels in the peripheral region (peripheral pixels) from the buffer 181, and uses the peripheral pixels and the filter coefficients set in the control unit 171 in step S 203. Filter processing of the processing target pixel. When the filter processing ends, the boundary first adaptive filter 183 supplies the filter processing result to the selection unit 173, and the filter processing ends.
  • the selection unit 173 selects the filter processing result, and supplies the result to the frame memory 114 as the decoded image subjected to the filter processing and stores it.
  • the second adaptive filter for boundary 184 in the slice which is already held in the buffer 181 in step S221.
  • the surrounding pixels located are duplicated to generate dummy data of the surrounding pixels located in the adjacent slice.
  • the boundary second adaptive filter 184 After generating the dummy data, the boundary second adaptive filter 184 performs filter processing of the processing target pixel using the peripheral pixels including the dummy data and the filter coefficient set in the control unit 171 in step S212. When the filter processing ends, the boundary second adaptive filter 184 supplies the filter processing result to the selection unit 173, and the filter processing ends.
  • the selection unit 173 selects the filter processing result, and supplies the result to the frame memory 114 as the decoded image subjected to the filter processing and stores it.
  • the adaptive filter processing unit 113 selects the local filter processing at the time of encoding by appropriately selecting the filter processing method for the pixels near the boundary from among a plurality of methods based on the value of the boundary control flag. It is possible to suppress the reduction of the effect of the filtering process by the general control. For example, by performing filter processing across slices, the adaptive filter processing unit 113 can improve the image quality of the filter processing result. Also, for example, by performing the filter processing closed by the slice, the adaptive filter processing unit 113 can perform the filter processing with low delay.
  • the adaptive filter processing unit 113 selects the filter processing method based on the boundary control flag determined based on the system specification information, it is possible to perform the filter processing without breaking the processing.
  • boundary control flag generation unit 132 can cause the adaptive filter processing unit 113 to execute the filter processing so as to suppress the reduction of the effect by setting the boundary control flag based on the system specification information.
  • the image coding apparatus 100 can suppress the reduction of the effect of the filter processing by the local control of the filter processing at the time of coding.
  • the lossless encoding unit 106 encodes the boundary control flag and adds it to the image compression information (for example, embeds it in the slice header). Therefore, the image coding apparatus 100 causes the image decoding apparatus that decodes the image compression information output by the image coding apparatus 100 to suppress the reduction of the effect of the filter process by the local control of the filter process performed at the time of decoding. Can.
  • add indicates that the boundary control flag is associated with the image compression information in an arbitrary form. For example, it may be described as a syntax of image compression information or may be described as user data. Further, the boundary control flag may be linked to the image compression information as metadata. That is, “addition” includes “embedding”, “description”, “multiplexing”, “connection” and the like.
  • the filter processing across slices or the filter processing closed with the slice is performed on the pixels in the vicinity of the slice boundary, but the filter processing is performed by a method other than this. It is also good. Also, for example, instead of the filter processing closed by the slice, the filter processing may be omitted.
  • a plurality of filter processing methods may be prepared for pixels near the slice boundary, and three or more methods may be prepared as options.
  • the number of bits of the boundary control flag is required to be two or more.
  • the number of bits of the boundary control flag is arbitrary. However, since the reduction of the coding efficiency of the image compression information is suppressed as the number of bits is smaller, it is not desirable to increase the number of bits unnecessarily.
  • FIG. 15 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 compressed image information output from the image coding apparatus 100 and generates a decoded image.
  • the image decoding apparatus 200 includes an accumulation buffer 201, a lossless decoding unit 202, an inverse quantization unit 203, an inverse orthogonal transform unit 204, an operation unit 205, and a deblocking filter 206.
  • the image decoding device 200 includes an adaptive filter processing unit 207.
  • the image decoding apparatus 200 includes a screen rearrangement buffer 208 and a D / A (Digital / Analog l) conversion unit 209.
  • the image decoding apparatus 200 further 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 using a method corresponding to the encoding method of the lossless encoding unit 106.
  • the lossless decoding unit 202 decodes the intra prediction mode information stored in the header portion of the image compression information, and transmits the information to the intra prediction unit 211. Also, when the macroblock is inter-coded, the lossless decoding unit 202 decodes the motion vector information stored in the header portion of the image compression information, and transfers the information to the motion compensation unit 212.
  • the lossless decoding unit 202 extracts and decodes control information for the adaptive filter (control information generated by the control information generation unit 112) from the slice header of the image compression information, and the information is processed by 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 according to a scheme corresponding to the orthogonal transform scheme of the orthogonal transform unit 104 in FIG. 1.
  • the calculation unit 205 adds the predicted image supplied from the selection unit 213 to the difference information subjected to the inverse orthogonal transform to generate a decoded image.
  • the deblocking filter 206 removes block distortion of the decoded image generated by the addition processing.
  • the adaptive filter processing unit 207 is supplied from the deblocking filter 206 based on information such as the filter coefficient, the ALF block size, the filter block flag, and the boundary control flag included in the control information supplied from the lossless decoding unit 202. Filter the image.
  • the adaptive filter processor 207 performs the same adaptive filter processing as the adaptive filter processor 113 in FIG. As a result, the adaptive filter processing unit 207 can reduce block distortion and distortion due to quantization that could not be eliminated by the deblocking filter 206.
  • the adaptive filter processing unit 207 supplies the image after filter processing to the frame memory 210, stores the image as reference image information, and outputs the image to the screen rearrangement buffer 208.
  • the screen sorting buffer 208 sorts the images. That is, the order of the frames rearranged for the order of encoding by the screen rearrangement buffer 102 in FIG. 1 is rearranged in the order of the original display.
  • the D / A conversion unit 209 D / A converts 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 When the frame is intra-coded, 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. .
  • 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 When the macroblock is intra-coded, the selection unit 213 is connected 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 When the macroblock is inter-coded, the selection unit 213 is connected 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.
  • step S301 the accumulation buffer 201 accumulates the transmitted image.
  • step S302 the lossless decoding unit 202 extracts control information for adaptive filter processing from the slice header of the image compression information, and decodes the control information in step S303. The decoded control information is supplied to the adaptive filter processing unit 207.
  • step S303 the lossless decoding unit 202 decodes the compressed image supplied from the accumulation buffer 201. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 106 in FIG. 1 are decoded.
  • motion vector information reference frame information
  • prediction mode information intra prediction mode or information indicating an inter prediction mode
  • 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.
  • step S304 the inverse quantization unit 203 inversely quantizes the transform coefficient decoded in step S302 with a characteristic corresponding to the characteristic of the quantization unit 105 in FIG.
  • step S305 the inverse orthogonal transform unit 204 performs inverse orthogonal transform on the transform coefficient inversely quantized in the process of step S204 with a characteristic corresponding to the characteristic of the orthogonal transform unit 104 in FIG.
  • the difference information corresponding to the input (the output of the arithmetic unit 103) of the orthogonal transform unit 104 in FIG. 1 is decoded.
  • step S306 the computing unit 205 adds the prediction image selected in the process of step S212 described later to the difference information.
  • the original image is thus decoded.
  • step S307 the deblocking filter 206 filters the image output from the computing unit 205. This removes blockiness.
  • step S308 the adaptive filter processing unit 207 performs adaptive filter control processing to further apply adaptive filter processing to the deblock-filtered image.
  • This adaptive filter control process is similar to the process performed by the adaptive filter processing unit 113 in FIG. That is, this adaptive filter control process is performed in the same manner as the case described with reference to the flowchart of FIG. 12 except that the control information supplied from the lossless decoding unit 202 is used. However, the control information supplied from the lossless decoding unit 202 is also generated by the control information generation unit 112 of FIG. 1 and is substantially used by the adaptive filter processing unit 113 of FIG. 1. It is equivalent to the control information supplied by
  • This adaptive filter control process can reduce block distortion and distortion due to quantization that could not be eliminated by the deblocking filter processing.
  • step S309 the frame memory 210 stores the filtered image.
  • the intra prediction unit 211 When intra prediction mode information is supplied, the intra prediction unit 211 performs intra prediction processing in the intra prediction mode in step S310. Also, when the inter prediction mode information is supplied, the motion compensation unit 212 performs motion compensation processing in the inter prediction mode in step S311.
  • step S312 the selection unit 213 selects a predicted image. That is, any 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 selected prediction image to the calculation unit 205. Further, in the case of an inter-coded image, the selection unit 213 selects the prediction image generated by the motion compensation unit 212 and supplies the selected prediction image to the calculation unit 205.
  • step S313 the screen rearrangement buffer 208 performs rearrangement. That is, the order of the frames rearranged for encoding by the screen rearrangement buffer 102 of the image encoding device 100 of FIG. 1 is rearranged in the original display order.
  • step S314 the D / A conversion unit 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 coding apparatus 100, and the adaptive filter processing unit 207 uses the control information to perform image coding. Similar to the adaptive filter processing unit 113 of the quantization device 100, adaptive filter control processing (and filter processing) is performed.
  • the adaptive filter processing unit 207 can suppress the reduction of the effect of the filter process by the local control of the filter process at the time of decoding.
  • the image decoding apparatus 200 can suppress the reduction of the effect of the filtering process by the local control of the filtering process performed at the time of decoding.
  • the system specification management unit 141 of the control information generation unit 112 holds or collects the system specification information
  • the system specification information may include the specification information of the image decoding apparatus. good.
  • the image coding apparatus when the image coding apparatus does not know in advance the specification information of the image decoding apparatus, the image coding apparatus at a predetermined timing, for example, when communicably connecting the image coding apparatus and the image decoding apparatus. Needs to collect specification information of the image decoding apparatus.
  • the image coding apparatus may communicate with the image decoding apparatus to acquire specification information from the image decoding apparatus, or may acquire specification information input by a user, for example.
  • the image processing system (not shown) is a system in which the image coding apparatus 300 shown in FIG. 17 and the image decoding apparatus 400 shown in FIG. 18 are communicably connected via a communication medium such as a network. .
  • a communication medium such as a network.
  • FIG. 17 is a block diagram showing another example of an image coding apparatus as an image processing apparatus to which the present invention is applied.
  • An image coding apparatus 300 shown in FIG. 17 is basically the same as the image coding apparatus 100 shown in FIG. 1 and includes an image coding unit 301.
  • the configuration of the image coding unit 301 is the same as the configuration of the image coding apparatus 100, includes the A / D conversion unit 101 to the rate control unit 119, and operates similarly to the case described in the first embodiment. Do.
  • the image coding apparatus 300 further includes an input unit 302, a communication unit 303, and an information collection unit 304 in addition to the image coding unit 301.
  • the input unit 302 receives an operation of a user or the like.
  • the communication unit 303 communicates with the image decoding apparatus 400 via a network or the like.
  • the information collection unit 304 collects specification information of the image decoding apparatus 400 input through the input unit 302 or specification information supplied from the image decoding apparatus 400 through the communication unit 303.
  • the information collection unit 304 supplies the collected specification information to the system specification management unit 141 of the control information generation unit 112.
  • FIG. 18 is a block diagram showing another example of an image decoding apparatus as an image processing apparatus to which the present invention is applied.
  • An image decoding apparatus 400 shown in FIG. 18 is basically the same apparatus as the image decoding apparatus 200 of FIG. 15 and has an image decoding unit 401.
  • the configuration of the image decoding unit 401 is the same as the configuration of the image decoding apparatus 200, includes the accumulation buffer 201 to the selection unit 213, and operates in the same manner as the case described in the second embodiment.
  • the image decoding apparatus 400 further includes an information providing unit 402 and a communication unit 403 in addition to the image decoding unit 401.
  • the information providing unit 402 has specification information of the image decoding apparatus 400, and provides the specification information based on a request from the image coding apparatus 300.
  • the communication unit 403 communicates with the image coding apparatus 300 via a network or the like.
  • the communication unit 403 receives a request from the image coding apparatus 300 and supplies the request to the information providing unit 402. Also, the communication unit 403 supplies the image encoding device 300 with the specification information of the image decoding device 400 supplied from the information providing unit 402 in response to the request.
  • step S401 the information collection unit 304 of the image coding device 300 requests the image decoding device 400 for specification information of the image decoding device 400 via the communication unit 303.
  • the communication unit 403 of the image decoding apparatus 400 acquires the request in step S421, the communication unit 403 supplies the request to the information providing unit 402.
  • step S 422 the information provision unit 402 supplies specification information of the image decoding apparatus 400 as a response to the request to the image coding apparatus 300 that is the request source via the communication unit 403.
  • the information collection unit 304 of the image encoding device 300 supplies the specification information to the system specification management unit 141 of the control information generation unit 112.
  • step S403 the image coding unit 301 performs coding processing based on the specification information, and generates a code stream.
  • the image coding unit 301 supplies the generated code stream to the image decoding apparatus 400 in step S404.
  • the image decoding unit 401 of the image decoding device 400 acquires the code stream supplied from the image coding device 300 in step S423. In step S424, the image decoding unit 401 performs the decoding process on the code stream.
  • the image encoding apparatus 300 includes the specification information of the image decoding apparatus 400.
  • Boundary control flags can be created based on system specification information.
  • the image encoding device 300 and the image decoding device 400 perform filters by local control of filter processing at the time of encoding or at the time of decoding. It is possible to suppress the reduction of the processing effect.
  • ALF blocks may have a quadtree structure.
  • This technology 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 of one higher hierarchy in the lower hierarchy is divided into four.
  • FIG. 20 shows an example in which ALF block division is expressed by a quadtree structure in which the maximum number of layers is 3, and filter block flags are specified for each ALF block.
  • a of FIG. 20 shows layer 0 which is an ALF block which becomes a root of quadtree structure.
  • each ALF block has a block partitioning flag indicating whether or not the lower layer is divided into four.
  • the value of the block partitioning flag of the ALF block shown in A of FIG. 20 is “1”. That is, this ALF block is divided into four in the lower layer (layer 1).
  • B of FIG. 20 shows the layer 1. That is, in the layer 1, four ALF blocks are formed.
  • the block partitioning flag is "0"
  • the lower hierarchy is not divided into four. That is, there is no further division, and a filter block flag is generated for that ALF block. That is, an ALF block whose block partitioning flag is "0" also has a filter block flag.
  • the “0” on the left of “0-1” shown in B of FIG. 20 indicates the block partitioning flag of that ALF block, and the “1” on the right shows the filter block flag of that ALF block.
  • the two ALF blocks whose layer 1 block partitioning flag is “1” are further divided into four in the lower layer (layer 2).
  • C of FIG. 20 shows the layer 2. That is, in the layer 2, ten ALF blocks are formed.
  • 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 layer (layer 3).
  • D of FIG. 20 shows the layer 3. That is, in the layer 3, 13 ALF blocks are formed.
  • the configuration of the ALF block is finally as shown in FIG.
  • the size of the ALF block differs in each hierarchy. That is, ALF blocks can be made to differ in size within a frame by taking a quadtree structure.
  • Control of the filter block flag in each ALF block is the same as in the other embodiments described above. That is, the filtering process is not performed on the area of the ALF block in which the value of the filter block flag is “0” (hatched portion in FIG. 21).
  • FIG. 22 shows an example of encoding the region of slice 1 of FIG. 5 using the QALF technique.
  • the area of thick line 521 indicates the area of slice 1.
  • the control method of the filtering process for the pixels in the vicinity of the slice boundary can be performed in the case of this QALF as in the case of the other embodiments described above.
  • the image encoding device and the image decoding device should suppress the reduction of the effect of the filtering process by the local control of the filtering process at the time of encoding or decoding. Can.
  • a CPU 601 of the personal computer 600 executes various processes in accordance with a program stored in a ROM (Read Only Memory) 602 or a program loaded from a storage unit 613 into a RAM (Random Access Memory) 603.
  • the RAM 603 also stores data necessary for the CPU 601 to execute various processes.
  • the CPU 601, the ROM 602, and the RAM 603 are mutually connected via a bus 604.
  • An input / output interface 610 is also connected to the bus 604.
  • the input / output interface 610 includes an input unit 611 including a keyboard and a mouse, a display including a CRT (Cathode Ray Tube) and an LCD (Liquid Crystal Display), an output unit 612 including a speaker, and a hard disk.
  • a communication unit 614 including a storage unit 613 and a modem is connected. The communication unit 614 performs communication processing via a network including the Internet.
  • a drive 615 is connected to the input / output interface 610 as necessary, and removable media 621 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory are appropriately attached, and a computer program read from them is It is installed in the storage unit 613 as necessary.
  • a program that configures the software is installed from a network or a recording medium.
  • this recording medium is a magnetic disk (including a flexible disk) on which a program is recorded, which is distributed for distributing a program to the user separately from the apparatus main body, an optical disk ( It consists only of removable media 621 consisting of CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), magneto-optical disc (including MD (Mini Disc), or semiconductor memory etc. Instead, it is configured by the ROM 602 in which the program is recorded and distributed to the user in a state of being incorporated in the apparatus main body, a hard disk included in the storage unit 613, or the like.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
  • system represents the entire apparatus configured by a plurality of devices (apparatus).
  • the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or each processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. . That is, the embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present invention.
  • the image coding device 100, the image decoding device 200, the image coding device 300, and the image decoding device 400 described above can be applied to any electronic device.
  • the example will be described below.
  • FIG. 24 is a block diagram showing a main configuration example of a television receiver using the image decoding apparatus 200 or the image decoding apparatus 400 to which the present invention is applied.
  • the television receiver 1000 shown in FIG. 24 includes 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 broadcasting via an antenna, demodulates it, acquires a video signal, and supplies it to a video decoder 1015.
  • the video decoder 1015 performs decoding processing 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 like, and transmits the generated video data and image data to the panel drive circuit 1020. Supply. Also, the graphic generation circuit 1019 generates video data (graphic) for displaying a screen used by the user for item selection and the like, and a video obtained by superimposing it on video data of a program. A process of supplying data to the panel drive circuit 1020 is also performed as appropriate.
  • 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 formed of an LCD (Liquid Crystal Display) or the like, and displays an image or the like of a program according to control of 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 a video signal but also an 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 A / D conversion circuit 1014 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 1013, and supplies the obtained digital audio signal to the audio signal processing circuit 1022.
  • 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 voice amplification circuit 1024 subjects the voice data supplied from the echo cancellation / voice synthesis circuit 1023 to D / A conversion processing and amplification processing, adjusts the volume to a predetermined level, and outputs voice from the speaker 1025.
  • the television receiver 1000 also includes a digital tuner 1016 and an MPEG decoder 1017.
  • a digital tuner 1016 receives a broadcast wave signal of digital broadcast (terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast) via an antenna, and demodulates the signal, and generates an MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 1017.
  • digital broadcast terrestrial digital broadcast, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcast
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 1017 unscrambles the MPEG-TS supplied from the digital tuner 1016, and extracts a stream including data of a program to be reproduced (targeted to be viewed).
  • the MPEG decoder 1017 decodes the audio packet forming the extracted stream, supplies the obtained audio data to the audio signal processing circuit 1022, decodes the video packet forming the stream, and outputs the obtained video data as an image.
  • the signal processing circuit 1018 is supplied.
  • 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 image decoding apparatus 200 or the image decoding apparatus 400 described above as the MPEG decoder 1017 that decodes a video packet in this manner.
  • the MPEG-TS transmitted from a broadcast station or the like is encoded by the image encoding device 100 or the image encoding device 300.
  • the MPEG decoder 1017 extracts and decodes control information supplied from the image encoding apparatus 100 or the image encoding apparatus 300, and uses the control information. Perform adaptive filter control processing (and filter processing). Thereby, the MPEG decoder 1017 can suppress the reduction of the effect due to the local control of the 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 video data generated in the graphic generation circuit 1019. Etc. 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 the echo cancellation / audio synthesis circuit 1023.
  • the audio amplification circuit 1024 are supplied to the audio amplification circuit 1024 and subjected to D / A conversion processing and amplification processing.
  • the 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 the user's voice signal captured by the 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 voice data is supplied to an echo cancellation / voice synthesis circuit 1023.
  • the echo cancellation / voice synthesis circuit 1023 performs echo cancellation on the voice data of the user A when the voice data of the user (user A) of the television receiver 1000 is supplied from the A / D conversion circuit 1027.
  • the voice data obtained by synthesizing with other voice data is output from the speaker 1025 via the voice amplification circuit 1024.
  • the television receiver 1000 further includes an audio codec 1028, an internal bus 1029, a synchronous dynamic random access memory (SDRAM) 1030, a flash memory 1031, a CPU 1032, a universal serial bus (USB) I / F 1033, and a network I / F 1034.
  • SDRAM synchronous dynamic random access memory
  • USB universal serial bus
  • the A / D conversion circuit 1027 receives the user's voice signal captured by the 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 an audio codec 1028.
  • the voice codec 1028 converts voice 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 voice data supplied from the voice codec 1028 to, for example, another device connected to the network.
  • the network I / F 1034 receives, for example, voice data transmitted from another device connected via the network via the network terminal 1035, and transmits it to the voice codec 1028 via the internal bus 1029. Supply.
  • the voice codec 1028 converts 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 / voice synthesis circuit 1023 performs echo cancellation on voice data supplied from the voice codec 1028, and combines voice data obtained by combining with other voice data, etc., via the voice 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 starts up.
  • 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 an MPEG-TS including content data acquired from a predetermined server via the 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 under the control of the CPU 1032, for example.
  • the MPEG decoder 1017 processes the MPEG-TS in the same manner as the MPEG-TS supplied from the digital tuner 1016. As described above, the television receiver 1000 receives content data including video and audio via the network, decodes the content data using the MPEG decoder 1017, displays the video, and outputs audio. Can.
  • 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 the infrared light from the remote controller 1051, and outputs a control code representing the content 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 overall operation of the television receiver 1000 according to a control code or the like 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 voice data to / from various devices connected to the network.
  • the television receiver 1000 performs local processing of the filtering process for the broadcast wave signal received via the antenna and the content data acquired via the network. It is possible to suppress the reduction of the effect by the dynamic control.
  • FIG. 25 is a block diagram showing a main configuration example of a cellular phone using the image encoding device and the image decoding device to which the present invention is applied.
  • a mobile phone 1100 shown in FIG. 25 is configured to control each part in an integrated manner, and 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 and an LCD control. It has a unit 1155, an image decoder 1156, a demultiplexing unit 1157, a recording / reproducing unit 1162, a modulation / demodulation circuit unit 1158, and an audio codec 1159. These are connected to one another via a bus 1160.
  • the cellular phone 1100 further includes an operation key 1119, a CCD (Charge Coupled Devices) camera 1116, a liquid crystal display 1118, a storage portion 1123, a transmitting / receiving circuit portion 1163, an antenna 1114, a microphone (microphone) 1121, and a speaker 1117.
  • CCD Charge Coupled Devices
  • the power supply circuit unit 1151 starts the cellular phone 1100 in an operable state by supplying power from the battery pack to each unit.
  • the cellular phone 1100 transmits and receives audio signals, transmits and receives 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 CPU, ROM and RAM. Perform various operations such as shooting or data recording.
  • the portable telephone 1100 converts an audio signal collected by the microphone (microphone) 1121 into digital audio data by the audio codec 1159, spread spectrum processes it by the modulation / demodulation circuit unit 1158, and transmits / receives A section 1163 performs digital-to-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 network.
  • the cellular phone 1100 amplifies the reception signal received by the antenna 1114 by the transmission / reception circuit unit 1163, further performs frequency conversion processing and analog-to-digital conversion processing, and the spectrum despreading processing by the modulation / demodulation circuit unit 1158. And converted into an analog voice signal by the voice codec 1159.
  • the cellular phone 1100 outputs the analog audio signal obtained by the conversion from the speaker 1117.
  • the cellular phone 1100 receives text data of the e-mail input by the operation of the operation key 1119 in the operation input control unit 1152.
  • the portable telephone 1100 processes the text data in the main control unit 1150, and causes the liquid crystal display 1118 to display the text data as an image through the LCD control unit 1155.
  • the mobile phone 1100 causes the main control unit 1150 to generate e-mail data based on the text data accepted by the operation input control unit 1152 and the user's instruction.
  • the portable telephone 1100 performs spread spectrum processing on the electronic mail data in the modulation / demodulation circuit unit 1158, and performs digital / analog conversion processing and frequency conversion processing in 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, a mail server, and the like.
  • the cellular phone 1100 receives a signal transmitted from the base station via the antenna 1114 by the transmission / reception circuit unit 1163, amplifies it, and further performs frequency conversion processing and Perform analog-to-digital conversion processing.
  • the cellular phone 1100 despreads the received signal by the modulation / demodulation circuit unit 1158 to restore the original electronic mail data.
  • the portable telephone 1100 displays the restored electronic mail data on the liquid crystal display 1118 via the LCD control unit 1155.
  • the portable telephone 1100 can also record (store) the received electronic mail data in the storage unit 1123 via the recording / reproducing 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, or may be 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, it may be something other than these.
  • the cellular phone 1100 when transmitting image data in the data communication mode, the cellular phone 1100 generates image data with the CCD camera 1116 by imaging.
  • the CCD camera 1116 has an optical device such as a lens or an aperture and a CCD as a photoelectric conversion element, picks up an object, converts the intensity of received light into an electrical signal, and generates image data of the image of the object.
  • the CCD camera 1116 encodes the image data with the image encoder 1153 via the camera I / F unit 1154 and converts it into encoded image data.
  • the cellular phone 1100 uses the above-described image coding apparatus 100 or 300 as the image encoder 1153 that performs such processing. Therefore, as in the case of the image encoding device 100 or the image encoding device 300, the image encoder 1053 can suppress the reduction of the effect due to the local control of the filter processing.
  • the portable telephone 1100 analog-digital converts the voice collected by the microphone (microphone) 1121 during imaging by the CCD camera 1116 in 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 according to a predetermined scheme in the demultiplexer 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 performs 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 (image data) transmitted to the base station is supplied to the other party of communication via a network or the like.
  • the cellular 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 passing through the image encoder 1153.
  • the cellular phone 1100 transmits the signal transmitted from the base station to the transmitting / receiving circuit portion 1163 via the antenna 1114. Receive, amplify, and perform frequency conversion and analog-to-digital conversion. The cellular phone 1100 despreads the received signal by the modulation / demodulation circuit unit 1158 to restore the original multiplexed data. The portable telephone 1100 separates the multiplexed data in the multiplex separation unit 1157 and divides it into encoded image data and audio data.
  • the cellular phone 1100 generates reproduction moving image data by decoding the encoded image data in the image decoder 1156, and causes the liquid crystal display 1118 to display this via the LCD control unit 1155. Thereby, for example, moving image data included in a moving image file linked to the simplified home page is displayed on the liquid crystal display 1118.
  • the cellular phone 1100 uses the image decoding apparatus 200 or the image decoding apparatus 400 described above as the image decoder 1156 that performs such processing. Therefore, as in the case of the image decoding apparatus 200 or the image decoding apparatus 400, the image decoder 1156 extracts and decodes control information supplied from the image coding apparatus 100 or the image coding apparatus 300, and the control information is The adaptive filter control process (and filter process) is performed using this. Thereby, the image decoder 1156 can suppress the reduction of the effect by the local control of the filter processing.
  • the portable telephone 1100 simultaneously converts digital audio data into an analog audio signal in the audio codec 1159 and causes the speaker 1117 to output the analog audio signal.
  • audio data included in a moving image file linked to the simple homepage is reproduced.
  • the cellular phone 1100 can also record (store) the data linked to the received simple home page or the like in the storage unit 1123 via the recording / reproducing unit 1162. .
  • the main control unit 1150 can analyze the two-dimensional code obtained by the CCD camera 1116 by the main control unit 1150 and obtain the information recorded in the two-dimensional code.
  • the cellular phone 1100 can communicate with an external device by infrared light through the infrared communication unit 1181.
  • the cellular phone 1100 uses, for example, the image encoding device 100 or the image encoding device 300 as the image encoder 1153 to localize filter processing for encoded data generated by encoding image data generated by, for example, the CCD camera 1116. It is possible to suppress the reduction of the effects of the control.
  • the mobile phone 1100 can improve the image quality of the filter processing result by performing filter processing across slices, and can supply encoded data with higher image quality to other mobile phones. Also, for example, by performing the filter processing closed at the slice, the mobile phone 1100 can perform the filter process with low delay, and can supply the encoded data to another mobile phone with lower delay. .
  • the mobile phone 1100 can obtain, for example, an effect of local control of filter processing for moving image file data linked to a simple homepage or the like. Can be suppressed.
  • the mobile phone 1100 can improve the image quality of the filter processing result by performing the filter process across the slices, and can realize high image quality of the decoded image. Further, for example, by performing the filter processing closed at the slice, the mobile phone 1100 can perform the filter processing with low delay, and can decode the encoded data with lower delay.
  • CMOS image sensor CMOS image sensor
  • CMOS complementary metal oxide semiconductor
  • the mobile phone 1100 has been described above, for example, a PDA (Personal Digital Assistants), a smart phone, a 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 having a communication function as in the case of the portable telephone 1100 regardless of the device.
  • FIG. 26 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. 26 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted by a satellite, a ground antenna, etc., received by a tuner. And an apparatus for storing the stored data in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • a broadcast wave signal television signal
  • the hard disk recorder 1200 can extract, for example, audio data and video data from the broadcast wave signal, decode them appropriately, and store them in a built-in hard disk.
  • the hard disk recorder 1200 can also acquire audio data and video data from another device via a network, decode these as appropriate, and store them in a built-in hard disk, for example.
  • the hard disk recorder 1200 decodes, for example, audio data or video data recorded in the built-in hard disk and supplies it to the monitor 1260 to display the image on the screen of the monitor 1260. Can be output. Also, the hard disk recorder 1200 decodes, for example, 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. The image can be supplied to the monitor 1260 and 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 has a receiver 1221, a demodulator 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 on screen display (OSD) control unit 1231, a display control unit 1232, a recording and reproducing unit 1233, a D / A converter 1234, And a communication unit 1235.
  • EPG data memory 1227 a program memory 1228, a work memory 1229, a display converter 1230, an on screen display (OSD) control unit 1231, a display control unit 1232, a recording and reproducing unit 1233, a D / A converter 1234, And a communication unit 1235.
  • OSD on screen display
  • the display converter 1230 also includes a video encoder 1241.
  • the recording / reproducing unit 1233 has an encoder 1251 and a decoder 1252.
  • the receiving unit 1221 receives an infrared signal from a remote controller (not shown), converts the signal into an electrical signal, and outputs the signal to the recorder control unit 1226.
  • the recorder control unit 1226 is, for example, a microprocessor or the like, and executes various processes in accordance with 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 a network and performs communication processing with another device 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 demodulation unit 1222 demodulates the signal supplied from the tuner and outputs the 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 the data 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 the decoded audio data to the recording / reproducing unit 1233.
  • the video decoder 1225 decodes the input video data and outputs the decoded video data 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 video data of, for example, a National Television Standards Committee (NTSC) system by the video encoder 1241 and outputs the video data to the recording / reproducing 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 into NTSC video data by the video encoder 1241. , And converts it into an analog signal, and outputs it to the display control unit 1232.
  • the display control unit 1232 superimposes the OSD signal output from the OSD (On Screen Display) control unit 1231 on the video signal input from the display converter 1230 under the control of the recorder control unit 1226, and displays it on the display of the monitor 1260. Output and display.
  • OSD On Screen Display
  • the audio data output from the audio decoder 1224 is also converted to an analog signal by the D / A converter 1234 and supplied to the monitor 1260.
  • the monitor 1260 outputs this audio signal from the built-in speaker.
  • the recording / reproducing unit 1233 has a hard disk as a storage medium for recording video data, audio data and the like.
  • the recording / reproducing unit 1233 encodes, for example, the audio data supplied from the audio decoder 1224 by the encoder 1251. Also, the recording / reproducing unit 1233 encodes the video data supplied from the video encoder 1241 of the display converter 1230 by the encoder 1251. The recording / reproducing unit 1233 combines the encoded data of the audio data and the encoded data of the video data by the multiplexer. The recording / reproducing unit 1233 channel-codes and amplifies the synthesized data, and writes the data to the hard disk via the recording head.
  • the recording and reproducing unit 1233 reproduces and amplifies the data recorded on the hard disk via the reproducing head, and separates the data into audio data and video data by the demultiplexer.
  • the recording / reproducing unit 1233 decodes the audio data and the video data by the decoder 1252.
  • the recording / reproducing unit 1233 D / A converts the decoded audio data, and outputs the converted data to a speaker of the monitor 1260. Also, the recording / reproducing unit 1233 D / A converts 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 reception unit 1221, and supplies it to the OSD control unit 1231. 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.
  • EPG Electronic Program Guide
  • the hard disk recorder 1200 can also acquire various data such as video data, audio data, or EPG data supplied from another device 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. Do.
  • the recorder control unit 1226 supplies, for example, encoded data of the acquired video data and audio data to the recording and reproduction unit 1233 and causes the hard disk to store the data. At this time, the recorder control unit 1226 and the recording / reproducing unit 1233 may perform processing such as re-encoding as needed.
  • the recorder control unit 1226 decodes encoded data of the acquired video data and audio data, and supplies the obtained video data to the display converter 1230.
  • the display converter 1230 processes the video data supplied from the recorder control unit 1226 as well as the video data supplied from the video decoder 1225, supplies it 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 acquired encoded data of the 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 apparatus 200 or the image decoding apparatus 400 as a decoder incorporated in the video decoder 1225, the decoder 1252, and the recorder control unit 1226. Therefore, as in the case of the image decoding device 200 or the image decoding device 400, the video decoder 1225, the decoder 1252, and the decoder incorporated in the recorder control unit 1226 are supplied from the image coding device 100 or the image coding device 300. The control information is extracted and decoded, and adaptive filter control processing (and filter processing) is performed using the control information. As a result, the video decoder 1225, the decoder 1252, and the decoder incorporated in the recorder control unit 1226 can suppress the reduction of the effect due to the local control of the filtering process.
  • the hard disk recorder 1200 can reduce, for example, the effect of local control of the filtering process on video data received via the tuner or the communication unit 1235 or video data recorded on the hard disk of the recording / reproducing unit 1233. It can be suppressed.
  • the hard disk recorder 1200 can improve the image quality of the filter processing result by performing the filter process across the slices, and can realize high image quality of the decoded image. Also, for example, the hard disk recorder 1200 can perform filter processing with low delay by performing filter processing closed at the slice, and can decode encoded data with lower delay.
  • the hard disk recorder 1200 uses the image coding device 100 or the image coding device 300 as the encoder 1251. Therefore, as in the case of the image encoding device 100 or the image encoding device 300, the encoder 1251 can suppress the reduction of the effect due to the local control of the filter processing.
  • the hard disk recorder 1200 can suppress the reduction in the effect of the local control of the filtering process on the encoded data to be recorded on the hard disk.
  • the hard disk recorder 1200 can improve the image quality of the filter processing result by performing filter processing across slices, and can record encoded data with higher image quality on the hard disk. Also, for example, the hard disk recorder 1200 can perform filter processing with low delay by performing filter processing closed at the slice, and can generate encoded data with lower delay and record it on the hard disk. .
  • the hard disk recorder 1200 for recording video data and audio data on a hard disk has been described, but of course, any recording medium may be used.
  • a recording medium other than a hard disk such as a flash memory, an optical disk, or a video tape
  • 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.
  • FIG. 27 is a block diagram showing a main configuration example of a camera using the image encoding device and the image decoding device to which the present invention is applied.
  • the camera 1300 shown in FIG. 27 images a subject and displays an image of the subject on the LCD 1316 or records it as image data in the recording medium 1333.
  • the lens block 1311 causes light (that is, an image of a subject) to be incident on the CCD / CMOS 1312.
  • the CCD / CMOS 1312 is an image sensor using a CCD or CMOS, converts the intensity of the received light into an electric signal, and supplies the electric signal to the camera signal processing unit 1313.
  • the camera signal processing unit 1313 converts the electric signal supplied from the CCD / CMOS 1312 into Y, Cr, Cb color difference signals, and supplies the color difference signals 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 under the control of the controller 1321, and encodes the image signal with the encoder 1341.
  • the image signal processing unit 1314 supplies the encoded data generated by encoding the image signal to the decoder 1315. Furthermore, the image signal processing unit 1314 obtains display data generated in the on-screen display (OSD) 1320 and supplies the display data to the decoder 1315.
  • OSD on-screen display
  • the camera signal processing unit 1313 appropriately uses a dynamic random access memory (DRAM) 1318 connected via the bus 1317, and as necessary, image data and a code obtained by encoding the image data. Data is held in the DRAM 1318.
  • DRAM dynamic random access memory
  • 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. Also, the decoder 1315 supplies the display data supplied from the image signal processing unit 1314 to the LCD 1316. The LCD 1316 appropriately combines the image of the decoded image data supplied from the decoder 1315 and the image of the display data, and displays the combined image.
  • the on-screen display 1320 Under the control of the controller 1321, the on-screen display 1320 outputs display data such as a menu screen or icon consisting of symbols, characters, or figures to the image signal processing unit 1314 via the bus 1317.
  • the controller 1321 executes various processing 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 It controls 1320 and the media drive 1323 and the like.
  • the FLASH ROM 1324 stores programs, data, and the like necessary for the controller 1321 to execute various processes.
  • the controller 1321 can encode image data stored in the DRAM 1318 or decode encoded data stored in the DRAM 1318 instead of the image signal processing unit 1314 or the decoder 1315.
  • the controller 1321 may perform encoding / decoding processing by the same method as 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 image data from the DRAM 1318 and supplies it to the printer 1334 connected to the external interface 1319 via the bus 1317. Print it.
  • the controller 1321 reads encoded data from the DRAM 1318 and supplies it to the recording medium 1333 attached to the media drive 1323 via the bus 1317.
  • the recording medium 1333 is, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 1333 is, of course, optional as a removable medium, and may be a tape device, a disk, or a memory card. Of course, it may be a noncontact IC card or the like.
  • media drive 1323 and the recording medium 1333 may be integrated, and may be configured by a non-portable storage medium such as, for example, a built-in hard disk drive or a solid state drive (SSD).
  • SSD solid state drive
  • the external interface 1319 includes, for example, a USB input / output terminal, and is connected to the printer 1334 when printing an image.
  • a drive 1331 is connected to the external interface 1319 as necessary, and removable media 1332 such as a magnetic disk, an optical disk, or a magneto-optical disk are appropriately mounted, and a computer program read from them is as necessary. And 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 encoded data from the DRAM 1318 according to an instruction from the operation unit 1322, for example, and can supply it from the external interface 1319 to other devices connected via a network. Also, 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, and supplies it to the image signal processing unit 1314. Can be
  • the camera 1300 as described above uses the image decoding apparatus 200 or the image decoding apparatus 400 as the decoder 1315. Therefore, as in the case of the image decoding device 200 or the image decoding device 400, the decoder 1315 extracts and decodes control information supplied from the image coding device 100 or the image coding device 300, and uses the control information. Adaptive filter control processing (and filter processing) is performed. Thereby, the decoder 1315 can suppress the reduction of the effect by the local control of the filter processing.
  • the camera 1300 filters, for example, image data generated by 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 It is possible to suppress the reduction of the effect due to the local control.
  • the camera 1300 can improve the image quality of the filter processing result, and can realize high image quality of the decoded image. Also, for example, by performing the filter processing closed at the slice, the camera 1300 can perform filter processing with low delay, and can decode encoded data with lower delay.
  • the camera 1300 uses the image coding device 100 or the image coding device 300 as the encoder 1341. Therefore, as in the case of the image encoding device 100 or the image encoding device 300, the encoder 1341 can suppress the reduction of the effect due to the local control of the filtering process.
  • the camera 1300 can suppress, for example, a reduction in the effect of local control of the filtering process on encoded data to be recorded in the DRAM 1318 or the recording medium 1333 or encoded data to be provided to another device.
  • the camera 1300 can improve the image quality of the filter processing result by performing filter processing across slices, and can record encoded data of higher image quality in the DRAM 1318 or the recording medium 1333 or the like. It can be provided to the device. Also, for example, the camera 1300 can perform filter processing with low delay by performing filter processing closed at the relevant slice, and can record encoded data in the DRAM 1318 or the recording medium 1333 with lower delay, or the like. Devices can be provided.
  • the decoding method of the image decoding device 200 or the image decoding device 400 may be applied to the decoding process performed by the controller 1321.
  • the encoding method of the image encoding device 100 or the image encoding device 300 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.
  • the image encoding device 100, the image decoding device 200, the image encoding device 300, and the image decoding device 400 are also applicable to devices and systems other than the above-described devices.
  • the size of the macro block 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.
  • flag information and the like are described as multiplexing (description) in a bit stream, but in addition to multiplexing, for example, transmission (recording) of a flag and image data (or bit stream) is also possible. Good. There is also a form in which the flag and the image data (or bit stream) are linked (added).
  • Concatenation indicates a state in which the image data (or bit stream) and the 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 by another transmission line.
  • the image data (or bit stream) and the flag may be recorded on different recording media (or different recording areas in the same recording media).
  • the unit for linking the image data (or bit stream) and the flag is arbitrary, and may be set, for example, in units of encoding processing (one frame, plural frames, etc.).
  • DESCRIPTION OF SYMBOLS 100 image coding apparatus, 112 control information generation part, 113 adaptive filter processing part, 132 boundary control flag generation part, 141 system specification management part, 142 determination part, 143 generation part, 161 process target pixel, 162 peripheral pixel, 163 slice Boundary, 171 control unit, 172 adaptive filter, 173 selection unit, 181 buffer, 182 slice adaptive filter, 183 first boundary adaptive filter, 184 boundary second adaptive filter, 200 image decoding device, 202 lossless decoding unit, 207 adaptive filter processing unit, 300 image coding device, 301 image coding unit, 302 input unit, 303 communication unit, 304 information collecting unit, 400 image decoding device, 401 image decoding unit, 4 2 information providing unit, 403 communication unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)

Abstract

 本発明は、符号化時または復号時のフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することができる画像処理装置および方法に関する。 制御情報生成部112の境界制御フラグ生成部132は、システム仕様管理部141が管理するシステム仕様情報に基づいて、境界制御フラグを生成する。適応フィルタ処理部113の制御部171は、その境界制御フラグの値に従って、スライス境界付近の画素に対して行うフィルタ処理の処理方法を決定する。例えば、スライスを跨ぐフィルタ処理を行うか、若しくは、当該スライスで閉じたフィルタ処理を行うかを選択する。 本発明は、例えば、画像処理装置に適用することができる。

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参照)。この方法の場合、画像符号化装置は、画像の領域に、敷き詰めるように隙間無く並べられた複数の制御ブロックを対応させ、その制御ブロック毎に画像にフィルタ処理を行うか否かを制御する。画像符号化装置は、ブロック毎にフラグ情報を設定し、そのフラグ情報にしたがって適応フィルタ処理を行う。画像復号装置も同様に、このフラグ情報に基づいて適応フィルタ処理を行う。
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
 しかしながら、1フレームを複数のスライスに分割し、そのスライス毎に画像の符号化処理や復号処理を行う方法(マルチスライス)がある。非特許文献2および非特許文献3には、このようなマルチスライスの場合における、スライスの境界付近の画素の処理について記載されておらず、どのように処理するべきか不明であった。
 本発明は、このような状況に鑑みて提案されたものであり、符号化時または復号時のフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することを目的とする。
 本発明の一側面は、画像に対して局所的に行われるフィルタ処理の処理対象画素の周辺画素に、前記処理対象画素が含まれるスライスの隣のスライスの画素が含まれるか否かを判定する判定手段と、前記判定手段により前記周辺画素に前記隣のスライスの画素が含まれると判定された場合、境界制御フラグに基づいて、前記処理対象画素に対する前記フィルタ処理の方法を複数の方法の中から選択する選択手段と、前記選択手段により選択された方法で、前記処理対象画素に対して前記フィルタ処理を行うフィルタ処理手段とを備える画像処理装置である。
 前記選択手段は、前記隣のスライスに位置する前記周辺画素が得られてから前記処理対象画素に対する前記フィルタ処理を行う方法と、前記処理対象画素を含むスライスに位置する前記周辺画素を複製することにより、前記隣のスライスに位置する前記周辺画素のダミーデータを生成し、前記処理対象画素に対する前記フィルタ処理を行う方法とのうち、いずれか一方を選択することができる。
 前記選択手段は、前記隣のスライスに位置する前記周辺画素が得られてから前記処理対象画素に対する前記フィルタ処理を行う方法と、前記処理対象画素に対する前記フィルタ処理を省略する方法とのうち、いずれか一方を選択することができる。
 システム仕様に基づいて前記境界制御フラグを生成する生成手段をさらに備え、前記選択手段は、前記生成手段により生成された前記境界制御フラグに基づいて、前記処理対象画素に対する前記フィルタ処理の方法を選択することができる。
 前記システム仕様は、前記画像処理装置のハードウェア資源を含むことができる。
 前記システム仕様は、前記画像処理装置の使用目的を含むことができる。
 前記画像を符号化し、符号化データを生成する符号化手段をさらに備え、前記符号化手段は、さらに、前記生成手段により生成された前記境界制御フラグを符号化し、前記符号化データに付加することができる。
 前記画像が符号化された符号化データを復号し、前記画像を生成する復号手段をさらに備え、前記復号手段は、さらに、前記符号化データに付加された、符号化された前記境界制御フラグを復号し、前記選択手段は、前記復号手段により復号された前記境界制御フラグに基づいて、前記処理対象画素に対する前記フィルタ処理の方法を選択することができる。
 本発明の一側面は、また、画像処理装置の判定手段が、画像に対して局所的に行われるフィルタ処理の処理対象画素の周辺画素に、前記処理対象画素が含まれるスライスの隣のスライスの画素が含まれるか否かを判定し、前記画像処理装置の選択手段が、前記周辺画素に前記隣のスライスの画素が含まれると判定された場合、境界制御フラグに基づいて、前記処理対象画素に対する前記フィルタ処理の方法を複数の方法の中から選択し、前記画像処理装置のフィルタ処理手段が、選択された方法で、前記処理対象画素に対して前記フィルタ処理を行う画像処理方法である。
 本発明の一側面においては、画像に対して局所的に行われるフィルタ処理の処理対象画素の周辺画素に、処理対象画素が含まれるスライスの隣のスライスの画素が含まれるか否かが判定され、周辺画素に隣のスライスの画素が含まれると判定された場合、境界制御フラグに基づいて、処理対象画素に対するフィルタ処理の方法が複数の方法の中から選択され、選択された方法で、処理対象画素に対してフィルタ処理が行われる。
 本発明によれば、画像を符号化または復号することができる。特に、符号化時または復号時のフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することができる。例えば、画像の各フレームを複数に分けて符号化または復号する場合においても、フィルタ処理の効果の低減を抑制することができる。
本発明を適用した画像符号化装置の主な構成例を示すブロック図である。 可変ブロックサイズ動き予測・補償処理を説明する図である。 制御情報生成部の主な構成例を示すブロック図である。 ALFブロックおよびフィルタブロックフラグを説明する図である。 マルチスライスの例を説明する図である。 フィルタ処理に用いられる周辺画素を説明する図である。 境界付近のフィルタ処理の様子を説明する図である。 適応フィルタ処理部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 制御情報生成処理の流れの例を説明するフローチャートである。 境界制御フラグ設定処理の流れの例を説明するフローチャートである。 適応フィルタ制御処理の流れの例を説明するフローチャートである。 フィルタ処理の流れの例を説明するフローチャートである。 フィルタ処理の流れの例を説明するフローチャートである。 本発明を適用した画像復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 本発明を適用した画像符号化装置の他の構成例を示すブロック図である。 本発明を適用した画像復号装置の他の構成例を示すブロック図である。 仕様情報の授受を行う処理の流れの例を説明するフローチャートである。 ALFブロックおよびフィルタブロックフラグの他の例を説明する図である。 ALFブロックおよびフィルタブロックフラグの他の例を説明する図である。 マルチスライスの場合の処理の様子を説明する図である。 本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。 本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。 本発明を適用した携帯電話機の主な構成例を示すブロック図である。 本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。 本発明を適用したカメラの主な構成例を示すブロック図である。 マクロブロックの例を示す図である。
 以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(画像符号化・復号システム)
4.第4の実施の形態(QALF)
5.第5の実施の形態(パーソナルコンピュータ)
6.第6の実施の形態(テレビジョン受像機)
7.第7の実施の形態(携帯電話機)
8.第8の実施の形態(ハードディスクレコーダ)
9.第9の実施の形態(カメラ)
<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、およびブロック情報生成部133を有する。
 フィルタ係数算出部131は、デブロックフィルタ111から供給される復号画像と、画面並べ替えバッファ102から読み出された現在の入力画像を取得し、それらから、フレーム毎にALFのフィルタ係数を算出する。
 境界制御フラグ生成部132は、フレームに複数形成されるスライスの境界付近の画素に対してどのようにフィルタ処理を行うかを制御する(フィルタ処理方法を指定する)境界制御フラグ(alf_enable_in_slice_boundary)を生成する。詳細については後述する。
 ブロック情報生成部133は、デブロックフィルタ111から供給される復号画像と、フィルタ係数算出部131により算出されたフィルタ係数に基づいて、ALFブロックサイズを決定し、処理対象スライス内の各ALFブロックについてフィルタブロックフラグを生成する。
 ここで、ALFブロックおよびフィルタブロックフラグについて説明する。図4は、ALFブロックおよびフィルタブロックフラグを説明する図である。
 上述したように、適応フィルタは、フレーム毎にフィルタ係数が設定される。つまり、フレーム単位で最適なフィルタ処理が行われる。しかしながら、一般的に、フレーム画像は、全体が均一でなく、局所的に様々な特徴を有している。そのため、局所的には最適なフィルタ係数が異なる。したがって、上述したようにフレーム毎に決定されるフィルタ係数を用いたフィルタ処理では、フレーム全体では画質を改善するが、局所的には逆に悪化させてしまう恐れがあった。
 そこで、局所的に画質が悪化する領域にはフィルタ処理を行わないようにするBALF(Block based Adaptive Loop Filter)が考えられた。
 図4のAのフレーム151は、デブロックフィルタ処理後の復号画像を示す。ブロック情報生成部133は、図4のBに示されるように、それぞれが、局所的に行われる適応フィルタ処理の制御単位となる制御ブロックである、複数のALFブロック152を、このフレーム151の領域全体に敷き詰めるように隙間無く配置する。このALFブロック152が配置される領域は、フレーム151の領域と同一でなくても良いが、少なくともフレームの領域全体を含む。結果として、フレーム151の領域は、各ALFブロック152の領域(複数の領域)に分割される。
 ブロック情報生成部133は、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ブロック数も決定される。
 ブロック情報生成部133は、図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ブロックをフレーム全体について設定することしか記載されていない。ところがマルチスライスの場合、スライスの境界付近の画素に対しては、フィルタ処理を通常のように行うことが出来ない場合がある。
 図6は、スライスの境界付近の画素に対するフィルタ処理の様子を示す図である。適応フィルタ処理部113は、処理対象画素に対してフィルタ処理を行う場合、その処理対象画素周辺の所定の範囲内の画素(周辺画素)を用いて行う。例えば、図6の場合、処理対象画素161をフィルタ処理する場合、適応フィルタ処理部113は、斜線模様で示される9×9の周辺画素162を用いてそのフィルタ処理を行う。
 ただし、図6に示されるように、処理対象画素161は、スライス境界163付近の画素である。ここで、スライス境界163は、現在、処理対象とされるスライス(当該スライス)と、その処理対象スライスに隣接するスライス(隣のスライス)との境界を示す。つまり、スライス境界163は、当該スライスの外枠を示す。
 図6に示されるように、そのスライス境界163近傍の処理対象画素161に対するフィルタ処理に用いられる周辺画素162は、その一部がスライス境界163を超え、隣のスライスの領域に跨っている。つまり、この処理対象画素161に対して、例えば図7のAに示されるように、通常の場合と同様にフィルタ処理を行うためには、隣のスライスの画素値が必要になる。
 図7のAの例の場合、適応フィルタ処理部113は、当該スライスと隣のスライスの両方の画素AA乃至画素JJを用いて処理対象画素である画素EEに対するフィルタ処理を行う。
 しかしながら、そのためには、隣のスライスの復号画像が生成されるまで待機しなければならない。したがって、この場合、符号化処理の遅延時間が増大する恐れがあった。
 これに対して、例えば図7のBに示されるように、ダミーデータを生成し、利用する方法がある。図7のBの例の場合、適応フィルタ処理部113は、矢印で示されるように、スライス境界163に接する画素EA乃至画素EJを複製することにより、周辺画素162の隣のスライス内の画素(ダミーデータ)を生成する。フィルタ処理部113は、生成したダミーデータを用いて画素EEに対するフィルタ処理を行う。
 このようにすることにより、適応フィルタ処理部113は、隣のスライスの画素が生成されるのを待つ必要がなく、図7のAの場合よりも早期に画素EEをフィルタ処理することができる。
 つまり、隣接スライスの画素を用いる図7のAの方法の場合、適応フィルタ処理部113は、実際のデータを用いるので、実際の画像の内容により適したフィルタ処理を行うことができる。すなわち、フィルタ処理による画質のより大きな改善を期待することができる。
 これに対して図7のBの方法の場合、適応フィルタ処理部113は、フィルタ処理に隣のスライスのデータを必要とせず、当該スライスのデータのみで処理を行うことができるので、より早期にフィルタ処理を行うことができる。
 どちらの方法が望ましいかは、システムの仕様やユーザ要求等によって異なる。例えば、画質重視のシステムであれば、図7のAに示される方法の方が望ましいが、図7のAの方法は、図7のBの方法よりもメモリ消費量が多く、かつ、遅延時間が増大する恐れがある。したがって、システムにおいて使用可能なメモリの容量や許容される遅延時間の長さによっては、図7のBの方法の方が望ましい場合も考えられる。
 境界制御フラグは、このような境界付近の画素に対するフィルタ処理の方法を制御する。
 図3に戻り、境界制御フラグ生成部132は、このような境界制御フラグを生成する。境界制御フラグ生成部132は、システム仕様管理部141、判定部142、および生成部143を有する。
 システム仕様管理部141は、画像符号化装置100を含む、画像処理を行うシステムの仕様(ハードウェア資源や使用目的等)を管理する。例えば、システム仕様管理部141が、画像符号化装置100において符号化された画像復号装置の仕様(ハードウェア資源や使用目的等)も管理するようにしてもよい。
 判定部142は、処理対象画素が境界付近の画素であるか否かを判定する。生成部143は、境界付近の画素と判定された処理対象画素について境界制御フラグを生成する。
 図8は、図1の適応フィルタ処理部113の主な構成例を示すブロック図である。
 適応フィルタ処理部113は、制御情報生成部112から供給される制御情報を用いて、デブロックフィルタ111から供給される復号画像にフィルタ処理を行う。
 適応フィルタ処理部113は、図9に示されるように、制御部171、適応フィルタ172、および選択部173を有する。
 制御部171は、適応フィルタ172および選択部173を制御する。例えば、制御部171は、制御情報生成部112から制御情報を取得し、その制御情報に基づいてフィルタ処理を制御する。
 適応フィルタ172は、デブロックフィルタ111から供給される復号画像の、制御部171から処理対象ALFブロックとして指定される領域を、制御部171により設定されたフィルタ係数を用いてフィルタ処理する。
 適応フィルタ172は、バッファ181、スライス内用適応フィルタ182、境界用第1適応フィルタ183、および境界用第2適応フィルタ184を有する。
 バッファ181は、デブロックフィルタ111から供給される復号画像を一時的に保持する。バッファ181は、処理対象スライスだけでなく、処理対象スライスに隣接するスライス(隣のスライス)も保持することができる。
 スライス内用適応フィルタ182は、制御部171に制御されて、周辺画素に隣のスライスの画素が含まれない、スライス境界付近でない処理対象画素に対するフィルタ処理を行う。つまり、スライス内用適応フィルタ182は、当該スライスの画素のみを用いてフィルタ処理を行う。
 境界用第1適応フィルタ183は、制御部171に制御されて、周辺画素に隣のスライスの画素が含まれる、スライス境界付近の処理対象画素に対して、スライスを跨ぐフィルタ処理を行う。つまり、境界用第1適応フィルタ183は、図7のAに示されるような方法で、当該スライスと隣のスライスの画素を用いてフィルタ処理を行う。したがって、境界用第1適応フィルタ183は、バッファ181に隣のスライスの画素が蓄積されてからフィルタ処理を開始する。
 境界用第2適応フィルタ184は、制御部171に制御されて、周辺画素に隣のスライスの画素が含まれる、スライス境界付近の処理対象画素に対して、当該スライスで閉じたフィルタ処理を行う。つまり、境界用第2適応フィルタ184は、図7のBに示されるような方法で、当該スライスの画素のみを用い、必要に応じてダミーデータを生成してフィルタ処理を行う。したがって、境界用第2適応フィルタ184は、バッファ181に当該スライスの画素が蓄積され次第フィルタ処理を開始する。
 制御部171は、処理対象画素の位置と、制御情報に含まれる境界制御フラグの値とに従って、スライス内用適応フィルタ182、境界用第1適応フィルタ183、または境界用第2適応フィルタ184のうち、いずれか1つを選択し、選択した処理部に、各自の方法でフィルタ処理を実行させる。
 また、制御部171は、バッファ181の画像の蓄積状況に応じて、選択した処理部(スライス内用適応フィルタ182、境界用第1適応フィルタ183、または境界用第2適応フィルタ184)のフィルタ処理開始タイミングを制御する。
 適応フィルタ172(スライス内用適応フィルタ182、境界用第1適応フィルタ183、または境界用第2適応フィルタ184)は、フィルタ処理結果を選択部173に供給する。
 選択部173は、制御部171に制御され、デブロックフィルタ111から供給された復号画像(適応フィルタ処理されていない復号画像)と、適応フィルタ172から供給された復号画像(適応フィルタ処理された復号画像)とのうち、いずれか一方を選択し、フレームメモリ114に供給し、参照画像として蓄積させる。
 制御部171は、制御情報に含まれるフィルタブロックフラグの値に従って、選択部173を制御し、適応フィルタ処理されていない復号画像、若しくは、適応フィルタ処理された復号画像のいずれか一方を選択させる。
 つまり、適応フィルタ処理部113は、デブロックフィルタ111から供給される復号画像の、フィルタブロックフラグによってフィルタ処理を行うことが示された領域(フィルタ処理によって画質が改善されると判定された領域)のみフィルタ処理を行う。
[処理の流れ]
 次に、以上のように構成される各部を用いた処理の流れについて説明する。最初に、画像符号化装置100により行われる符号化処理の流れの例を、図9のフローチャートを参照して説明する。
 ステップ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において、可逆符号化部106は、符号化した制御情報等のメタデータをスライスヘッダに埋め込む(記述する)。このメタデータは、画像復号時に読み出され利用される。このように復号処理に必要なメタデータをスライスヘッダに含める(多重化する)ことにより、フレーム単位より細かい単位での復号処理の実行が可能になり、遅延時間の増大を抑制することができる。
 ステップS118において蓄積バッファ107は、差分画像を圧縮画像として蓄積する。蓄積バッファ107に蓄積された圧縮画像は、適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS119においてレート制御部119は、蓄積バッファ107に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
 次に、図10のステップS110において制御情報生成部112により実行される制御情報生成処理の流れの例を、図11のフローチャートを参照して説明する。
 制御情報生成処理が開始されると、制御情報生成部112のフィルタ係数算出部131は、ステップS131において、画面並べ替えバッファ102から供給される入力画像と、デブロックフィルタ111から供給されるデブロックフィルタ処理された復号画像を用いてフィルタ係数を算出する。例えば、フィルタ係数算出部131は、入力画像と復号画像の残差が最小となるようにフィルタ係数の値を決定する。
 フィルタ係数が算出されると、境界制御フラグ生成部132は、ステップS132において、境界付近の画素に対する適応フィルタ処理方法を制御するための境界制御フラグを生成する。詳細については後述する。
 境界制御フラグが生成されると、ブロック情報生成部133は、ステップS133において、ALFブロックサイズやフィルタブロックフラグを含むブロック情報を生成する。ALFブロックサイズは予め定められていてもよいし、画像内容に合わせて適宜設定されるようにしてもよい。その場合、ブロック情報生成部133は、例えば、コスト関数を用いてフィルタ処理結果を評価するコスト値を算出し、そのコスト値が最小となるようにALFブロックサイズを決定する。
 また、ブロック情報生成部133は、フィルタブロックフラグの値を、処理対象ALFブロックにフィルタ処理を施した場合に画質が改善されるか否かによって決定する。例えば、ブロック情報生成部133は、フィルタ処理を施すことにより画質が改善されると判定された場合、フィルタブロックフラグの値を、フィルタ処理を行うことを示す値「1」に設定し、フィルタ処理を施すことにより画質が悪化すると判定された場合、フィルタブロックフラグの値を、フィルタ処理を行わないことを示す値「0」に設定する。
 ブロック情報が生成されると、図9のステップS110に戻り、ステップS111以降の処理が実行される。
 なお、ステップS131において行われるフィルタ係数の算出は、フレーム単位で行うようにしてもよい。その場合、ステップS131の処理は、フレーム内の所定のスライス(例えば、フレーム内で識別番号が所定の値の(例えば「0」の)スライス、若しくは、フレーム内で最初に処理されるスライス等)においてのみ行われ、その他のスライスにおいては、その値が流用されるようにしてもよい。また、フィルタ係数の算出には、任意の画像を利用することができる。例えば、過去のフレーム画像に基づいて算出するようにしてもよい。
 次に、図11のフローチャートを参照して、図10のステップS132において実行される境界制御フラグ設定処理の流れの例を説明する。
 境界制御フラグ設定処理が開始されると、境界制御フラグ生成部132のシステム仕様管理部141は、ステップS151において、システム仕様情報を取得する。
 このシステム仕様情報は、例えば、画像符号化装置100を含むシステムのハードウェア資源や使用目的等を含む情報である。ハードウェア資源とは、システムを構成する各装置(画像符号化装置100を含む)のハードウェア資源のことであり、例えば、処理能力、使用可能なメモリ容量、バスの転送速度等を含む。また、使用目的とは、システム全体または各装置の動作モードのことであり、例えば画質重視で動作するか、速度重視で動作するか等を含む。もちろん、システム仕様情報がこれら以外の情報を含むようにしてもよい。
 このシステム仕様情報は、システム仕様管理部141に内蔵されるメモリ等に予め格納されているようにしてもよい。この場合、システム仕様管理部141は、ステップS151の処理により、そのシステム仕様情報をメモリから読み出す。また、ステップS151の処理の際に、システム仕様管理部141が、画像符号化装置100の各部や他の装置等から、上述したような仕様情報を収集するようにしてもよい。
 システム仕様管理部141は、システム仕様情報を取得すると、それを判定部142に供給する。
 判定部142は、ステップS152において、供給されたシステム仕様情報(ハードウェア資源や使用目的等)に基づいて、境界付近のフィルタ処理に次のスライスを利用するか否かを判定する。すなわち、判定部142は、周辺画素に隣のスライスが含まれる境界付近の画素を処理対象画素とする場合に、スライスを跨ぐフィルタ処理を行うか、若しくは、当該スライスで閉じたフィルタ処理を行うかを判定する。
 例えば、判定部142は、遅延時間の増大が許容され、かつ、画像符号化装置100や画像復号装置等において使用可能なメモリ容量が十分である場合、スライスを跨ぐフィルタ処理を選択する。また、例えば、判定部142は、遅延時間の増大が許容されなかったり、システムの各装置のハードウェア資源が十分でなかったりする場合、当該スライスで閉じたフィルタ処理を選択する。
 次のスライスを利用する、つまり、スライスを跨ぐフィルタ処理を行うと判定された場合、ステップS153に進む。ステップS153において、生成部143は、値「1」の境界制御フラグを生成する。
 また、次のスライスを利用しない、つまり、当該スライスで閉じたフィルタ処理を行うと判定された場合、ステップS154に進む。ステップS154において、生成部143は、値「0」の境界制御フラグを生成する。
 生成部143は、境界制御フラグを生成すると、それを適応フィルタ処理部113や可逆符号化部106に供給する。可逆符号化部106は、生成部143から供給された境界制御フラグを制御情報として符号化し、当該スライスのスライスヘッダ等に埋め込む。適応フィルタ処理部113は、生成部143から供給された境界制御フラグを用いて適応フィルタ処理を制御する。
 ステップS153またはステップS154の処理が終了されると、境界制御フラグ設定処理が終了され、図10のステップS132に戻り、ステップS133以降の処理が行われる。
 次に、図12のフローチャートを参照して、図9のステップS111において実行される適応フィルタ処理の流れの例を説明する。
 適応フィルタ処理が開始されると、バッファ181は、ステップS171において、デブロックフィルタ111から、処理対象スライスの復号画像を取得する。処理対象スライスが取得されると、ステップS172において、制御部171は、その処理対象スライスの領域を特定する。
 処理対象である当該スライスの領域を知るためには、当該スライスに含まれているマクロブロックを知り、そこからそのマクロブロックに含まれる画素を知ることで分かる。制御部171は、スライスヘッダから当該スライスの先頭マクロブロックアドレスを得る。
 ここで先頭マクロブロックアドレスとは、画面の左上からラスタ・スキャン順序でマクロブロックに対して付けられた番号である。図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画素の範囲に含まれる画素となる。ここまでで、当該スライスの画素が全て分かる。すなわち、処理対象スライスの領域が特定される。
 ステップS173において、制御部171は、制御情報生成部112において生成されたフィルタブロックフラグを1つ取得する。
 ステップS174において、制御部171は、未処理のALFブロックの中から1つを、処理対象ALFブロックに決定する。このALFブロックの選択順は、予め定められており、制御情報生成部112における選択順と共通である。さらに、制御部171は、決定した処理対象ALFブロックの領域を特定する。
 フレームの画像サイズは予め定められているので、ALFブロックサイズが決定されると、フレームの左上を原点としてALFブロックを敷き詰めるために必要なALFブロックの数(フレーム内ALFブロック数)も算出することができる。ALFブロックの縦方向のサイズ(画素数)と横方向のサイズ(画素数)の設定値は予め用意されているので、制御部171は、その設定値に従って各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ブロックの縦方向のサイズと横方向のサイズとが互いに異なるようにしてもよい。
 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の範囲となる。
 ステップS175において、制御部171は、以上のように特定された処理対象ALFブロックの領域内に、処理対象スライスの領域が含まれるか否かを判定する。処理対象スライスの領域を含むと判定された場合、ステップS176に進む。
 ステップS176において、制御部171は、フィルタブロックフラグの値が1であるか否かを判定する。フィルタブロックフラグの値が1であり、処理対象ALFブロックの領域についてフィルタ処理を行うように指示されている場合、選択部173が適応フィルタ172の出力を選択するように制御し、ステップS177に進む。ステップS177において、制御部171は、未処理の画素から例えばラスタ・スキャン順等の所定順で処理対象画素を選択する。
 ステップS178において、制御部171は、選択された処理対象画素のフィルタ処理に隣のスライスの画素が必要であるか否かを判定する。処理対象画素の周辺画素に隣のスライスの画素が含まれており、処理対象画素がスライス境界付近の画素であると判定された場合、ステップS179に進む。
 ステップS179において、制御部171は、制御情報生成部112より取得した制御情報に含まれる境界制御フラグの値が「1」であるか否かを判定する。境界制御フラグの値が「1」であると判定された場合、ステップS180に進む。
 ステップS180において、制御部171は、適応フィルタとして境界用第1適応フィルタ183を選択し、その境界用第1適応フィルタ183に、図7のAに示されるようにスライスを跨ぐフィルタ処理を実行させる。ステップS180の処理が終了すると、ステップS183に進む。
 また、ステップS179において、境界制御フラグの値が「0」であると判定された場合、ステップS181に進む。
 ステップS181において、制御部171は、適応フィルタとして境界用第2適応フィルタ184を選択し、その境界用第2適応フィルタ184に、図7のBに示されるように当該スライスで閉じたフィルタ処理を実行させる。ステップS181の処理が終了すると、ステップS183に進む。
 さらに、ステップS178において、処理対象画素がスライス境界付近の画素でないと判定された場合、ステップS182に進む。
 ステップS182において、制御部171は、適応フィルタとしてスライス内用適応フィルタ182を選択し、そのスライス内用適応フィルタ182に、通常の、当該スライスの画素のみを用いたフィルタ処理を実行させる。ステップS182の処理が終了すると、ステップS183に進む。
 また、ステップS176において、フィルタブロックフラグの値が「0」であると判定された場合、ステップS183に進む。さらに、ステップS175において、処理対象ALFブロックが処理対象スライスの領域を含まないと判定された場合、ステップS183に進む。
 ステップS183において、制御部171は、処理対象ALFブロック内の全ての画素を処理したか否かを判定する。未処理の画素が存在すると判定された場合、ステップS177に戻り、それ以降の処理が繰り返される。
 また、ステップS183において、処理対象ALFブロック内の全ての画素が処理されたと判定された場合、ステップS184に進む。
 ステップS184において、制御部171は、フレーム内の全てのALFブロックを処理したか否かを判定する。未処理のALFブロックが存在すると判定された場合、ステップS173に戻り、それ以降の処理が繰り返される。また、ステップS184において、全てのALFブロックが処理されたと判定された場合、適応フィルタ制御処理が終了され、図9のステップS111に戻り、ステップS112以降の処理が行われる。
 なお、ステップS180乃至ステップS182において行われる、各処理対象画素に対するフィルタ処理は、それぞれ、適応フィルタ制御処理とは異なるタスクとして独立して実行される。すなわち、ステップS180乃至ステップS182において、適応フィルタ処理の実行が指定されると、その適応フィルタ処理は適宜実行される。つまり、これらの適応フィルタ処理は、適応フィルタ制御処理や他の画素に対する適応フィルタ処理と並行して実行することができる。
 図13および図14のフローチャートを参照して、これらのフィルタ処理について説明する。まず、図13のフローチャートを参照して、境界用第1適応フィルタ183により実行されるフィルタ処理の流れの例を説明する。
 図12のステップS180において実行が指示されるスライスを跨ぐフィルタ処理の実行が指示されると、境界用第1適応フィルタ183は、ステップS201において、バッファ181を監視し、処理対象画素の周辺領域の画素が全て揃ったか否かを判定し、揃うまで待機する。この周辺領域の画素(すなわち、周辺画素)とは、隣のスライスの画素も含む。バッファ181に周辺画素が全て揃ったと判定された場合、ステップS202に進む。
 境界用第1適応フィルタ183は、ステップS202において、バッファ181から周辺領域の画素(周辺画素)を取得し、ステップS203において、その周辺画素と、制御部171に設定されたフィルタ係数を用いて、処理対象画素のフィルタ処理を行う。フィルタ処理が終了すると、境界用第1適応フィルタ183は、フィルタ処理結果を選択部173に供給し、フィルタ処理を終了する。
 選択部173は、フィルタブロックフラグの値が「1」の場合、そのフィルタ処理結果を選択し、フィルタ処理された復号画像として、フレームメモリ114に供給し、蓄積させる。
 次に、図14のフローチャートを参照して、境界用第2適応フィルタ184により実行されるフィルタ処理の流れの例を説明する。
 図12のステップS181において実行が指示される当該スライスで閉じたフィルタ処理の実行が指示されると、境界用第2適応フィルタ184は、ステップS221において、バッファ181に既に保持されている当該スライスに位置する周辺画素を複製して、隣のスライスに位置する周辺画素のダミーデータを生成する。
 ダミーデータを生成すると、境界用第2適応フィルタ184は、ステップS212において、ダミーデータを含む周辺画素と、制御部171に設定されたフィルタ係数を用いて、処理対象画素のフィルタ処理を行う。フィルタ処理が終了すると、境界用第2適応フィルタ184は、フィルタ処理結果を選択部173に供給し、フィルタ処理を終了する。
 選択部173は、フィルタブロックフラグの値が「1」の場合、そのフィルタ処理結果を選択し、フィルタ処理された復号画像として、フレームメモリ114に供給し、蓄積させる。
 以上のように境界制御フラグの値に基づいて、境界付近の画素に対するフィルタ処理の方法を複数の方法の中から適宜選択することにより、適応フィルタ処理部113は、符号化時のフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することができる。例えば、スライスを跨ぐようにフィルタ処理を行うことにより、適応フィルタ処理部113は、フィルタ処理結果の画質を向上させることができる。また、例えば、当該スライスで閉じたフィルタ処理を行うことにより、適応フィルタ処理部113は、低遅延にフィルタ処理を行うことができる。
 このとき、適応フィルタ処理部113は、システム仕様情報に基づいて定められた境界制御フラグに基づいてフィルタ処理方法を選択するので、処理を破綻させずにフィルタ処理を行うことができる。
 また、境界制御フラグ生成部132は、システム仕様情報に基づいて境界制御フラグを設定することにより、適応フィルタ処理部113に、効果の低減を抑制するようにフィルタ処理を実行させることができる。
 つまり、画像符号化装置100は、符号化時のフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することができる。
 なお、可逆符号化部106は、境界制御フラグを符号化し、画像圧縮情報に付加する(例えばスライスヘッダに埋め込む)。したがって、画像符号化装置100は、画像符号化装置100が出力する画像圧縮情報を復号する画像復号装置に、復号時に行われるフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制させることができる。
 なお、ここで「付加する」とは、任意の形態で境界制御フラグを画像圧縮情報に関連付けることを示す。例えば、画像圧縮情報のシンタックスとして記述するようにしてもよいし、ユーザデータとして記述するようにしてもよい。また、境界制御フラグをメタデータとして画像圧縮情報とリンクされた状態にするようにしてもよい。つまり、「付加」は、「埋め込み」、「記述」、「多重化」、および「連結」等を含む。
 また、以上においては、スライス境界付近の画素に対して、スライスを跨ぐフィルタ処理、若しくは、当該スライスで閉じたフィルタ処理を行うように説明したが、これ以外の方法でフィルタ処理を行うようにしてもよい。また、例えば、当該スライスで閉じたフィルタ処理の代わりに、フィルタ処理を省略するようにしてもよい。
 さらに、スライス境界付近の画素に対するフィルタ処理方法は、複数用意されていればよく、3種類以上の方法が選択肢として用意されるようにしてもよい。その場合、境界制御フラグのビット数は2ビット以上必要である。なお、境界制御フラグのビット数は任意である。ただし、このビット数が少ないほど、画像圧縮情報の符号化効率の低減が抑制されるので、不要にビット数を増大させるのは望ましくない。
<2.第2の実施の形態>
[デバイスの構成]
 次に、第1の実施の形態において説明した画像符号化装置100に対応する画像復号装置について説明する。図15は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成例を示すブロック図である。
 画像復号装置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は、画像圧縮情報のスライスヘッダから、適応フィルタ用の制御情報(制御情報生成部112により生成された制御情報)を抽出して復号し、その情報を適応フィルタ処理部207に供給する。
 逆量子化部203は可逆復号部202により復号された画像を、図1の量子化部105の量子化方式に対応する方式で逆量子化する。逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203の出力を逆直交変換する。
 演算部205は、逆直交変換された差分情報に、選択部213から供給される予測画像を加算し、復号画像を生成する。デブロックフィルタ206は、その加算処理されて生成された復号画像のブロック歪を除去する。
 適応フィルタ処理部207は、可逆復号部202より供給された制御情報に含まれるフィルタ係数、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に供給する。
[処理の流れ]
 図16のフローチャートを参照して、この画像復号装置200が実行する復号処理の流れの例を説明する。
 ステップS301において、蓄積バッファ201は伝送されてきた画像を蓄積する。可逆復号部202は、ステップS302において、画像圧縮情報のスライスヘッダから適応フィルタ処理用の制御情報を抽出し、ステップS303において復号する。復号された制御情報は、適応フィルタ処理部207に供給される。
 また、ステップS303において、可逆復号部202は、蓄積バッファ201から供給される圧縮画像を復号する。すなわち、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)なども復号される。
 すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部211に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き補償部212に供給される。
 ステップS304において、逆量子化部203は、ステップS302において復号された変換係数を、図1の量子化部105の特性に対応する特性で逆量子化する。ステップS305において逆直交変換部204は、ステップS204の処理により逆量子化された変換係数を、図1の直交変換部104の特性に対応する特性で逆直交変換する。これにより図1の直交変換部104の入力(演算部103の出力)に対応する差分情報が復号されたことになる。
 ステップS306において、演算部205は、後述するステップS212の処理で選択される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS307において、デブロックフィルタ206は、演算部205より出力された画像をフィルタリングする。これによりブロック歪みが除去される。
 ステップS308において、適応フィルタ処理部207は、デブロックフィルタ処理された画像に、さらに適応フィルタ処理を施すための適応フィルタ制御処理を行う。この適応フィルタ制御処理は、図1の適応フィルタ処理部113が行う処理と同様である。すなわち、この適応フィルタ制御処理は、可逆復号部202より供給された制御情報を用いること以外、図12のフローチャートを参照して説明した場合と同様に行われる。ただし、この可逆復号部202より供給される制御情報も、図1の制御情報生成部112が生成したものであり、実質的に図1の適応フィルタ処理部113が利用する、制御情報生成部112より供給される制御情報と同等である。
 この適応フィルタ制御処理により、デブロッキングフィルタ処理により取りきれなかったブロック歪みや量子化による歪みを低減することができる。
 ステップS309において、フレームメモリ210は、フィルタリングされた画像を記憶する。
 イントラ予測モード情報が供給された場合、イントラ予測部211は、ステップS310において、イントラ予測モードのイントラ予測処理を行う。また、インター予測モード情報が供給された場合、動き補償部212は、ステップS311において、インター予測モードの動き補償処理を行う。
 ステップS312において、選択部213は、予測画像を選択する。すなわち、イントラ予測部211により生成された予測画像、または動き補償部212により生成された予測画像のうちいずれか一方を選択し、選択した予測画像を演算部205に供給する。
 例えば、イントラ符号化された画像の場合、選択部213は、イントラ予測部211により生成された予測画像を選択し、演算部205に供給する。また、インター符号化された画像の場合、選択部213は、動き補償部212により生成された予測画像を選択し、演算部205に供給する。
 ステップS313において、画面並べ替えバッファ208は、並べ替えを行う。すなわち、図1の画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS314において、D/A変換部209は、画面並べ替えバッファ208からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 このように、画像復号装置200は、可逆復号部202が、画像符号化装置100から供給された制御情報を抽出して復号し、適応フィルタ処理部207が、その制御情報を用いて、画像符号化装置100の適応フィルタ処理部113と同様に、適応フィルタ制御処理(およびフィルタ処理)を行う。
 以上のように適応フィルタ制御処理を行うことにより、適応フィルタ処理部207は、復号時のフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することができる。
 したがって、画像復号装置200は、復号時に行われるフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することができる。
<3.第3の実施の形態>
[画像処理システム]
 なお、以上においては、制御情報生成部112のシステム仕様管理部141が、システム仕様情報を保持又は収集するように説明したが、このシステム仕様情報に画像復号装置の仕様情報を含めるようにしても良い。
 この場合、画像復号装置の仕様情報を画像符号化装置が予め把握していないときは、例えば画像符号化装置と画像復号装置を通信可能に接続する際等、所定のタイミングにおいて、画像符号化装置が画像復号装置の仕様情報を収集する必要がある。このとき、画像符号化装置は、画像復号装置と通信を行い、画像復号装置から仕様情報を取得してもよいし、例えば、ユーザにより入力された仕様情報を取得するようにしてもよい。
 ここで、図示せぬ画像処理システムは、図17に示される画像符号化装置300と図18に示される画像復号装置400とがネットワーク等の通信媒体を介して通信可能に接続されるシステムである。以下に、各装置の構成について説明する。
 図17は、本発明を適用した画像処理装置としての画像符号化装置の他の例を示すブロック図である。
 図17に示される画像符号化装置300は、基本的に図1の画像符号化装置100と同様の装置であり、画像符号化部301を有する。
 画像符号化部301の構成は、画像符号化装置100の構成と同様であり、A/D変換部101乃至レート制御部119を有し、第1の実施の形態で説明した場合と同様に動作する。
 画像符号化装置300は、この画像符号化部301の他に、さらに、入力部302、通信部303、および情報収集部304を有する。
 入力部302は、ユーザ等の操作を受け付ける。通信部303は、画像復号装置400とネットワーク等を介して通信を行う。情報収集部304は、入力部302を介して入力された画像復号装置400の仕様情報、若しくは、通信部303を介して画像復号装置400から供給された仕様情報を収集する。情報収集部304は、収集した仕様情報を制御情報生成部112のシステム仕様管理部141に供給する。
 図18は、本発明を適用した画像処理装置としての画像復号装置の他の例を示すブロック図である。
 図18に示される画像復号装置400は、基本的に図15の画像復号装置200と同様の装置であり、画像復号部401を有する。
 画像復号部401の構成は、画像復号装置200の構成と同様であり、蓄積バッファ201乃至選択部213を有し、第2の実施の形態で説明した場合と同様に動作する。
 画像復号装置400は、この画像復号部401の他に、さらに、情報提供部402および通信部403を有する。
 情報提供部402は、画像復号装置400の仕様情報を有しており、画像符号化装置300からの要求に基づいて、その仕様情報を提供する。通信部403は、画像符号化装置300とネットワーク等を介して通信を行う。通信部403は、画像符号化装置300からの要求を受け付け、情報提供部402に供給する。また、通信部403は、その要求に応じて情報提供部402から供給される画像復号装置400の仕様情報を、画像符号化装置300に供給する。
[処理の流れ]
 このような画像処理システムにおける仕様情報の授受の流れの例を図19のフローチャートを参照して説明する。
 ステップS401において、画像符号化装置300の情報収集部304は、通信部303を介して、画像復号装置400に対して、画像復号装置400の仕様情報を要求する。画像復号装置400の通信部403は、ステップS421において、その要求を取得すると、その要求を情報提供部402に供給する。
 情報提供部402は、ステップS422において、その要求に対する応答として画像復号装置400の仕様情報を、通信部403を介して、要求元である画像符号化装置300に供給する。
 画像符号化装置300の情報収集部304は、ステップS402において、通信部303を介して、その仕様情報を取得すると、それを制御情報生成部112のシステム仕様管理部141に供給する。
 画像符号化部301は、ステップS403において、その仕様情報に基づいて符号化処理を行い、コードストリームを生成する。画像符号化部301は、ステップS404において、生成されたコードストリームを、画像復号装置400に供給する。
 画像復号装置400の画像復号部401は、ステップS423において、画像符号化装置300から供給されたコードストリームを取得する。画像復号部401は、ステップS424において、そのコードストリームに対して復号処理を行う。
 このように、画像符号化処理や画像復号処理の前に、画像復号装置400の仕様情報が授受されるようにすることにより、画像符号化装置300は、その画像復号装置400の仕様情報を含むシステム仕様情報に基づいて境界制御フラグを作成することができる。
 これにより画像符号化装置300および画像復号装置400は、第1の実施の形態と第2の実施の形態とで説明したように、符号化時または復号時のフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することができる。
<4.第4の実施の形態>
[QALFの説明]
 非特許文献3に示されるように、ALFブロックをクアッドツリー構造としてもよい。この技術はQALF(Quad tree-based Adaptive Loop Filter)と称する。クアッドツリー構造とは、下位階層において1つ上位の階層の1つのALFブロックの領域が4分割される階層構造である。
 図20にALFブロック分割を最大レイヤ数が3のクアッドツリー構造によって表現し、各ALFブロックにフィルタブロックフラグを指定する例を示す。
 図20のAは、クアッドツリー構造の根になるALFブロックであるレイヤ0を示す。クアッドツリー構造において各ALFブロックは、下位の階層において4分割されるか否かを示すブロックパーティショニングフラグを有している。図20のAに示されるALFブロックのブロックパーティショニングフラグの値は「1」である。つまり、このALFブロックは、下位の階層(レイヤ1)において4分割される。図20のBは、そのレイヤ1を示す。すなわち、レイヤ1には、4つのALFブロックが形成される。
 ブロックパーティショニングフラグが「0」の場合、これより下位の階層において4分割されない。すなわち、これ以上の分割は無く、そのALFブロックに対してフィルタブロックフラグが生成される。つまり、ブロックパーティショニングフラグが「0」のALFブロックは、フィルタブロックフラグも有する。図20のBに示される「0-1」の左の「0」が、そのALFブロックのブロックパーティショニングフラグを示し、右の「1」が、そのALFブロックのフィルタブロックフラグを示す。
 レイヤ1のブロックパーティショニングフラグが「1」の2つのALFブロックは、さらに下位の階層(レイヤ2)において4分割される。図20のCは、そのレイヤ2を示す。すなわち、レイヤ2には、10個のALFブロックが形成される。
 同様に、レイヤ2においてブロックパーティショニングフラグが「0」のALFブロックには、フィルタブロックフラグも割り当てられる。図20のCにおいては、1つのALFブロックのブロックパーティショニングフラグが「1」である。つまり、そのALFブロックは、さらに下位の階層(レイヤ3)において4分割される。図20のDは、そのレイヤ3を示す。すなわち、レイヤ3には、13個のALFブロックが形成される。
 図20のようにクアッドツリー化することにより、ALFブロックの構成は、最終的に図21に示されるようになる。このように、クアッドツリー構造においては、ALFブロックのサイズは、その階層毎に異なる。つまり、ALFブロックは、クアッドツリー構造をとることにより、フレーム内においてその大きさを互いに異なるものとすることができる。
 各ALFブロックにおけるフィルタブロックフラグの制御は、上述した他の実施の形態の場合と同様である。つまり、フィルタブロックフラグの値が「0」のALFブロックの領域(図21の斜線模様部分)は、フィルタ処理が行われない。
 図22は、図5のスライス1の領域をQALFの技術を使って符号化する例を示している。ここで太線521の領域はスライス1の領域を示す。ALFの構成に関わらず、スライス境界付近の画素に対してフィルタ処理を行う場合、周辺画素が複数のスライスに跨る場合がある。したがって、スライス境界付近の画素に対するフィルタ処理の制御方法は、このQALFの場合も、上述した他の実施の形態の場合と同様に行うことができる。
 つまり、クアッドツリー構造のALFブロックの場合であっても、画像符号化装置および画像復号装置は、符号化時または復号時のフィルタ処理の局所的な制御によるフィルタ処理の効果の低減を抑制することができる。
<5.第5の実施の形態>
[パーソナルコンピュータ]
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図23に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
 図23において、パーソナルコンピュータ600のCPU601は、ROM(Read Only Memory)602に記憶されているプログラム、または記憶部613からRAM(Random Access Memory)603にロードされたプログラムに従って各種の処理を実行する。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU601、ROM602、およびRAM603は、バス604を介して相互に接続されている。このバス604にはまた、入出力インタフェース610も接続されている。
 入出力インタフェース610には、キーボード、マウスなどよりなる入力部611、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部612、ハードディスクなどより構成される記憶部613、モデムなどより構成される通信部614が接続されている。通信部614は、インターネットを含むネットワークを介しての通信処理を行う。
 入出力インタフェース610にはまた、必要に応じてドライブ615が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア621が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部613にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図23に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア621により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM602や、記憶部613に含まれるハードディスクなどで構成される。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置100、画像復号装置200、画像符号化装置300、および画像復号装置400は、任意の電子機器に適用することができる。以下にその例について説明する。
<6.第6の実施の形態>
[テレビジョン受像機]
 図24は、本発明を適用した画像復号装置200または画像復号装置400を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図24に示されるテレビジョン受像機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または画像復号装置400を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置100または画像符号化装置300によって符号化されている。
 MPEGデコーダ1017は、画像復号装置200または画像復号装置400の場合と同様に、画像符号化装置100または画像符号化装置300から供給された制御情報を抽出して復号し、その制御情報を用いて適応フィルタ制御処理(およびフィルタ処理)を行う。これにより、MPEGデコーダ1017は、フィルタ処理の局所的な制御による効果の低減を抑制することができる。
 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または画像復号装置400を用いることにより、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータに対するフィルタ処理の、局所的な制御による効果の低減を抑制することができる。
<7.第7の実施の形態>
[携帯電話機]
 図25は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
 図25に示される携帯電話機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または画像符号化装置300を用いる。したがって、画像エンコーダ1053は、画像符号化装置100または画像符号化装置300の場合と同様に、フィルタ処理の局所的な制御による効果の低減を抑制することができる。
 なお、携帯電話機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または画像復号装置400を用いる。したがって、画像デコーダ1156は、画像復号装置200または画像復号装置400の場合と同様に、画像符号化装置100または画像符号化装置300から供給された制御情報を抽出して復号し、その制御情報を用いて適応フィルタ制御処理(およびフィルタ処理)を行う。これにより、画像デコーダ1156は、フィルタ処理の局所的な制御による効果の低減を抑制することができる。
 このとき、携帯電話機1100は、同時に、音声コーデック1159において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ1117より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機1100は、受信した簡易ホームページ等にリンクされたデータを、記録再生部1162を介して、記憶部1123に記録する(記憶させる)ことも可能である。
 また、携帯電話機1100は、主制御部1150において、撮像されてCCDカメラ1116で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機1100は、赤外線通信部1181で赤外線により外部の機器と通信することができる。
 携帯電話機1100は、画像エンコーダ1153として画像符号化装置100または画像符号化装置300を用いることにより、例えばCCDカメラ1116において生成された画像データを符号化して生成する符号化データに対するフィルタ処理の局所的な制御による効果の低減を抑制することができる。
 例えば、携帯電話機1100は、スライスを跨ぐようにフィルタ処理を行うことにより、フィルタ処理結果の画質を向上させることができ、より高画質な符号化データを他の携帯電話機に供給することができる。また、例えば、携帯電話機1100は、当該スライスで閉じたフィルタ処理を行うことにより、低遅延にフィルタ処理を行うことができ、符号化データをより低遅延に他の携帯電話機に供給することができる。
 また、携帯電話機1100は、画像デコーダ1156として画像復号装置200または画像復号装置400を用いることにより、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータに対するフィルタ処理の、局所的な制御による効果の低減を抑制することができる。
 例えば、携帯電話機1100は、スライスを跨ぐようにフィルタ処理を行うことにより、フィルタ処理結果の画質を向上させることができ、復号画像の高画質化を実現することができる。また、例えば、携帯電話機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を適用することができる。
<8.第8の実施の形態>
[ハードディスクレコーダ]
 図26は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図26に示されるハードディスクレコーダ(HDDレコーダ)1200は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ1200は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ1200は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ1200は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ1200は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ1260に供給し、モニタ1260の画面にその画像を表示させ、モニタ1260のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図26に示されるように、ハードディスクレコーダ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または画像復号装置400を用いる。したがって、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、画像復号装置200または画像復号装置400の場合と同様に、画像符号化装置100または画像符号化装置300から供給された制御情報を抽出して復号し、その制御情報を用いて適応フィルタ制御処理(およびフィルタ処理)を行う。これにより、ビデオデコーダ1225、デコーダ1252、およびレコーダ制御部1226に内蔵されるデコーダは、フィルタ処理の局所的な制御による効果の低減を抑制することができる。
 したがって、ハードディスクレコーダ1200は、例えば、チューナや通信部1235を介して受信されるビデオデータや、記録再生部1233のハードディスクに記録されるビデオデータに対するフィルタ処理の、局所的な制御による効果の低減を抑制することができる。
 例えば、ハードディスクレコーダ1200は、スライスを跨ぐようにフィルタ処理を行うことにより、フィルタ処理結果の画質を向上させることができ、復号画像の高画質化を実現することができる。また、例えば、ハードディスクレコーダ1200は、当該スライスで閉じたフィルタ処理を行うことにより、低遅延にフィルタ処理を行うことができ、符号化データをより低遅延に復号することができる。
 また、ハードディスクレコーダ1200は、エンコーダ1251として画像符号化装置100または画像符号化装置300を用いる。したがって、エンコーダ1251は、画像符号化装置100または画像符号化装置300の場合と同様に、フィルタ処理の局所的な制御による効果の低減を抑制することができる。
 したがって、ハードディスクレコーダ1200は、例えば、ハードディスクに記録する符号化データに対するフィルタ処理の局所的な制御による効果の低減を抑制することができる。
 例えば、ハードディスクレコーダ1200は、スライスを跨ぐようにフィルタ処理を行うことにより、フィルタ処理結果の画質を向上させることができ、より高画質な符号化データをハードディスクに記録することができる。また、例えば、ハードディスクレコーダ1200は、当該スライスで閉じたフィルタ処理を行うことにより、低遅延にフィルタ処理を行うことができ、より低遅延に符号化データを生成し、ハードディスクに記録することができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ1200について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ1200の場合と同様に、画像符号化装置100および画像復号装置200を適用することができる。
<9.第9の実施の形態>
[カメラ]
 図27は、本発明を適用した画像符号化装置および画像復号装置を用いるカメラの主な構成例を示すブロック図である。
 図27に示されるカメラ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または画像復号装置400を用いる。したがって、デコーダ1315は、画像復号装置200または画像復号装置400の場合と同様に、画像符号化装置100または画像符号化装置300から供給された制御情報を抽出して復号し、その制御情報を用いて適応フィルタ制御処理(およびフィルタ処理)を行う。これにより、デコーダ1315は、フィルタ処理の局所的な制御による効果の低減を抑制することができる。
 したがって、カメラ1300は、例えば、CCD/CMOS1312において生成される画像データや、DRAM1318または記録メディア1333から読み出されるビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データに対するフィルタ処理の、局所的な制御による効果の低減を抑制することができる。
 例えば、カメラ1300は、スライスを跨ぐようにフィルタ処理を行うことにより、フィルタ処理結果の画質を向上させることができ、復号画像の高画質化を実現することができる。また、例えば、カメラ1300は、当該スライスで閉じたフィルタ処理を行うことにより、低遅延にフィルタ処理を行うことができ、符号化データをより低遅延に復号することができる。
 また、カメラ1300は、エンコーダ1341として画像符号化装置100または画像符号化装置300を用いる。したがって、エンコーダ1341は、画像符号化装置100または画像符号化装置300の場合と同様に、フィルタ処理の局所的な制御による効果の低減を抑制することができる。
 したがって、カメラ1300は、例えば、DRAM1318や記録メディア1333に記録する符号化データや、他の装置に提供する符号化データに対するフィルタ処理の局所的な制御による効果の低減を抑制することができる。
 例えば、カメラ1300は、スライスを跨ぐようにフィルタ処理を行うことにより、フィルタ処理結果の画質を向上させることができ、より高画質な符号化データをDRAM1318や記録メディア1333に記録したり、他の装置に提供したりすることができる。また、例えば、カメラ1300は、当該スライスで閉じたフィルタ処理を行うことにより、低遅延にフィルタ処理を行うことができ、より低遅延に符号化データをDRAM1318や記録メディア1333に記録したり、他の装置に提供したりすることができる。
 なお、コントローラ1321が行う復号処理に画像復号装置200または画像復号装置400の復号方法を適用するようにしてもよい。同様に、コントローラ1321が行う符号化処理に画像符号化装置100または画像符号化装置300の符号化方法を適用するようにしてもよい。
 また、カメラ1300が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置100、画像復号装置200、画像符号化装置300、および画像復号装置400は、上述した装置以外の装置やシステムにも適用可能である。
 また、マクロブロックの大きさも、16×16画素に限らない。例えば図28に示される32×32画素のような、あらゆる大きさのマクロブロックに対して適用することが可能である。
 以上においては、フラグ情報等をビットストリームに多重化(記述)するものとして説明したが、多重化する以外にも、例えば、フラグと画像データ(又はビットストリーム)とを伝送(記録)してもよい。フラグと画像データ(又はビットストリーム)とを連結する(付加する)形態もありうる。
 連結(付加)とは、画像データ(又はビットストリーム)とフラグとが互いにリンクされている状態(対応が取れている状態)を示すものであり、物理的な位置関係は任意である。例えば、画像データ(又はビットストリーム)とフラグとを、別の伝送路で伝送してもよい。また、画像データ(又はビットストリーム)とフラグとを、互いに別の記録媒体(又は同一の記録媒体内の別々の記録エリア)に記録してもよい。なお、画像データ(又はビットストリーム)とフラグとをリンクさせる単位は、任意であり、例えば、符号化処理単位(1フレーム、複数フレーム等)で設定してもよい。
 100 画像符号化装置, 112 制御情報生成部, 113 適応フィルタ処理部, 132 境界制御フラグ生成部, 141 システム仕様管理部, 142 判定部, 143 生成部, 161 処理対象画素, 162 周辺画素, 163 スライス境界, 171 制御部, 172 適応フィルタ, 173 選択部, 181 バッファ, 182 スライス内用適応フィルタ, 183 境界用第1適応フィルタ, 184 境界用第2適応フィルタ, 200 画像復号装置, 202 可逆復号部, 207 適応フィルタ処理部, 300 画像符号化装置, 301 画像符号化部, 302 入力部, 303 通信部, 304 情報収集部, 400 画像復号装置, 401 画像復号部, 402 情報提供部, 403 通信部

Claims (9)

  1.  画像に対して局所的に行われるフィルタ処理の処理対象画素の周辺画素に、前記処理対象画素が含まれるスライスの隣のスライスの画素が含まれるか否かを判定する判定手段と、
     前記判定手段により前記周辺画素に前記隣のスライスの画素が含まれると判定された場合、境界制御フラグに基づいて、前記処理対象画素に対する前記フィルタ処理の方法を複数の方法の中から選択する選択手段と、
     前記選択手段により選択された方法で、前記処理対象画素に対して前記フィルタ処理を行うフィルタ処理手段と
     を備える画像処理装置。
  2.  前記選択手段は、前記隣のスライスに位置する前記周辺画素が得られてから前記処理対象画素に対する前記フィルタ処理を行う方法と、前記処理対象画素を含むスライスに位置する前記周辺画素を複製することにより、前記隣のスライスに位置する前記周辺画素のダミーデータを生成し、前記処理対象画素に対する前記フィルタ処理を行う方法とのうち、いずれか一方を選択する
     請求項1に記載の画像処理装置。
  3.  前記選択手段は、前記隣のスライスに位置する前記周辺画素が得られてから前記処理対象画素に対する前記フィルタ処理を行う方法と、前記処理対象画素に対する前記フィルタ処理を省略する方法とのうち、いずれか一方を選択する
     請求項1に記載の画像処理装置。
  4.  システム仕様に基づいて前記境界制御フラグを生成する生成手段をさらに備え、
     前記選択手段は、前記生成手段により生成された前記境界制御フラグに基づいて、前記処理対象画素に対する前記フィルタ処理の方法を選択する
     請求項1に記載の画像処理装置。
  5.  前記システム仕様は、前記画像処理装置のハードウェア資源を含む
     請求項4に記載の画像処理装置。
  6.  前記システム仕様は、前記画像処理装置の使用目的を含む
     請求項4に記載の画像処理装置。
  7.  前記画像を符号化し、符号化データを生成する符号化手段をさらに備え、
     前記符号化手段は、さらに、前記生成手段により生成された前記境界制御フラグを符号化し、前記符号化データに付加する
     請求項4に記載の画像処理装置。
  8.  前記画像が符号化された符号化データを復号し、前記画像を生成する復号手段をさらに備え、
     前記復号手段は、さらに、前記符号化データに付加された、符号化された前記境界制御フラグを復号し、
     前記選択手段は、前記復号手段により復号された前記境界制御フラグに基づいて、前記処理対象画素に対する前記フィルタ処理の方法を選択する
     請求項1に記載の画像処理装置。
  9.  画像処理装置の判定手段が、画像に対して局所的に行われるフィルタ処理の処理対象画素の周辺画素に、前記処理対象画素が含まれるスライスの隣のスライスの画素が含まれるか否かを判定し、
     前記画像処理装置の選択手段が、前記周辺画素に前記隣のスライスの画素が含まれると判定された場合、境界制御フラグに基づいて、前記処理対象画素に対する前記フィルタ処理の方法を複数の方法の中から選択し、
     前記画像処理装置のフィルタ処理手段が、選択された方法で、前記処理対象画素に対して前記フィルタ処理を行う
     画像処理方法。
PCT/JP2010/062398 2009-07-31 2010-07-23 画像処理装置および方法 WO2011013580A1 (ja)

Priority Applications (22)

Application Number Priority Date Filing Date Title
KR1020147012585A KR101649805B1 (ko) 2009-07-31 2010-07-23 화상 복호 장치, 화상 복호 방법 및 기록 매체
CN201080042415.5A CN102511165B (zh) 2009-07-31 2010-07-23 图像处理装置及方法
BR112012001639-3A BR112012001639B1 (pt) 2009-07-31 2010-07-23 dispositivo e método de codificação de imagem
RU2012102382/08A RU2543306C2 (ru) 2009-07-31 2010-07-23 Устройство и способ обработки изображений
KR1020187036591A KR102030954B1 (ko) 2009-07-31 2010-07-23 화상 복호 장치, 화상 복호 방법 및 기록 매체
KR1020197028620A KR102126165B1 (ko) 2009-07-31 2010-07-23 화상 복호 장치, 화상 복호 방법 및 기록 매체
EP14170608.5A EP2790409B1 (en) 2009-07-31 2010-07-23 Image processing apparatus and method
PL14172767T PL2802150T3 (pl) 2009-07-31 2010-07-23 Aparat i sposób przetwarzania obrazu
US13/386,849 US8805085B2 (en) 2009-07-31 2010-07-23 Image processing device and method
KR1020177011506A KR101872657B1 (ko) 2009-07-31 2010-07-23 화상 복호 장치, 화상 복호 방법 및 기록 매체
EP20152846.0A EP3661207B1 (en) 2009-07-31 2010-07-23 Image decoding method, image decoding device and computer readable medium
EP14172767.7A EP2802150B1 (en) 2009-07-31 2010-07-23 Image processing apparatus and method
EP19154404.8A EP3496402B1 (en) 2009-07-31 2010-07-23 Image decoding method, image decoding device and computer readable medium
KR1020167021628A KR101747063B1 (ko) 2009-07-31 2010-07-23 화상 복호 장치, 화상 복호 방법 및 기록 매체
EP10804326.6A EP2461588A4 (en) 2009-07-31 2010-07-23 IMAGE PROCESSING APPARATUS AND METHOD
PL14170608T PL2790409T3 (pl) 2009-07-31 2010-07-23 Aparat i sposób przetwarzania obrazu
KR1020187017072A KR101931730B1 (ko) 2009-07-31 2010-07-23 화상 복호 장치, 화상 복호 방법 및 기록 매체
US13/942,335 US8774537B2 (en) 2009-07-31 2013-07-15 Image processing device and method
US14/293,787 US9392269B2 (en) 2009-07-31 2014-06-02 Image processing device and method
US15/190,930 US9918108B2 (en) 2009-07-31 2016-06-23 Image processing device and method
US15/874,380 US10721494B2 (en) 2009-07-31 2018-01-18 Image processing device and method
US16/902,096 US11405652B2 (en) 2009-07-31 2020-06-15 Image processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-179395 2009-07-31
JP2009179395A JP5344238B2 (ja) 2009-07-31 2009-07-31 画像符号化装置および方法、記録媒体、並びにプログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/386,849 A-371-Of-International US8805085B2 (en) 2009-07-31 2010-07-23 Image processing device and method
US13/942,335 Continuation US8774537B2 (en) 2009-07-31 2013-07-15 Image processing device and method

Publications (1)

Publication Number Publication Date
WO2011013580A1 true WO2011013580A1 (ja) 2011-02-03

Family

ID=43529237

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/062398 WO2011013580A1 (ja) 2009-07-31 2010-07-23 画像処理装置および方法

Country Status (12)

Country Link
US (6) US8805085B2 (ja)
EP (5) EP3661207B1 (ja)
JP (1) JP5344238B2 (ja)
KR (7) KR101872657B1 (ja)
CN (4) CN102511165B (ja)
BR (1) BR112012001639B1 (ja)
ES (2) ES2733072T3 (ja)
HU (2) HUE045448T2 (ja)
PL (2) PL2802150T3 (ja)
RU (4) RU2543306C2 (ja)
TW (5) TWI647947B (ja)
WO (1) WO2011013580A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012081609A1 (ja) * 2010-12-14 2012-06-21 シャープ株式会社 画像フィルタ装置、復号装置、符号化装置、および、データ構造
WO2012128191A1 (ja) * 2011-03-24 2012-09-27 ソニー株式会社 画像処理装置および方法
WO2013047335A1 (ja) * 2011-09-28 2013-04-04 ソニー株式会社 画像処理装置および方法
WO2013063425A1 (en) * 2011-10-26 2013-05-02 Qualcomm Incorporated Unified design for picture partitioning schemes
CN103200400A (zh) * 2012-01-09 2013-07-10 中兴通讯股份有限公司 一种图像层和分片层的编解码方法、编解码器和电子设备
WO2013113274A1 (en) * 2012-02-03 2013-08-08 Mediatek Inc. Method and apparatus for loop filtering cross tile or slice boundaries
US20140153636A1 (en) * 2012-07-02 2014-06-05 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
WO2014097596A1 (ja) * 2012-12-19 2014-06-26 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US11057624B2 (en) 2016-10-14 2021-07-06 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US11778184B1 (en) 2016-10-14 2023-10-03 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US12034977B2 (en) 2018-06-28 2024-07-09 Electronics And Telecommunications Research Institute Video encoding/decoding method and device, and recording medium for storing bitstream

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5359657B2 (ja) 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5604825B2 (ja) 2009-08-19 2014-10-15 ソニー株式会社 画像処理装置および方法
JP5914962B2 (ja) 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
TWI508534B (zh) * 2010-05-18 2015-11-11 Sony Corp Image processing apparatus and image processing method
EP3185559B1 (en) 2010-06-04 2020-02-19 Sony Corporation Coding of a qp and a delta qp for image blocks larger than a minimum size
CN106454359B (zh) 2010-12-07 2020-05-19 索尼公司 图像处理设备和图像处理方法
EP3582496B1 (en) 2010-12-07 2021-10-27 Sony Group Corporation Image processing device and image processing method
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
US10244239B2 (en) * 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
KR101438471B1 (ko) * 2011-01-03 2014-09-16 미디어텍 인크. 필터 유닛 기반 인-루프 필터링 방법
US9706205B2 (en) 2011-02-10 2017-07-11 Velos Media, Llc Image processing device and image processing method
US8923633B2 (en) 2011-03-07 2014-12-30 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, and image coding apparatus
CN106454381B (zh) 2011-03-11 2019-05-28 索尼公司 图像处理装置和方法
TWI530161B (zh) 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
CN110611810B (zh) 2011-06-28 2021-06-01 索尼公司 图像处理装置和图像处理方法
JP5907367B2 (ja) 2011-06-28 2016-04-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US9462298B2 (en) * 2011-10-21 2016-10-04 Qualcomm Incorporated Loop filtering around slice boundaries or tile boundaries in video coding
US20130107973A1 (en) * 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
KR102272561B1 (ko) 2011-10-31 2021-07-02 미쓰비시덴키 가부시키가이샤 동화상 복호 장치
WO2013081085A1 (en) * 2011-11-28 2013-06-06 Canon Kabushiki Kaisha Moving image encoding apparatus, control method thereof and computer program
US9930379B2 (en) * 2012-01-31 2018-03-27 Comcast Cable Communications, Llc System and method for data stream fragmentation
US20130279882A1 (en) * 2012-04-23 2013-10-24 Apple Inc. Coding of Video and Audio with Initialization Fragments
JP5885604B2 (ja) * 2012-07-06 2016-03-15 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
EP3206400A4 (en) * 2014-10-06 2018-05-16 Sony Corporation Image processing device and method
CN104683819A (zh) * 2015-01-31 2015-06-03 北京大学 一种自适应环路滤波方法及装置
TWI575937B (zh) * 2015-07-24 2017-03-21 矽創電子股份有限公司 Image prediction and decoding method and encoding / decoder
DE112016007098T5 (de) * 2016-07-26 2019-04-18 Hewlett-Packard Development Company, L.P. Indexierung von voxeln für das 3d-drucken
US10469876B2 (en) * 2016-12-22 2019-11-05 Mediatek Inc. Non-local adaptive loop filter combining multiple denoising technologies and grouping image patches in parallel
BR112020019800A2 (pt) * 2018-05-23 2021-01-05 Panasonic Intellectual Property Corporation Of America Codificador, decodificador, método de codificação e método de decodificação
CN112335250A (zh) * 2018-06-28 2021-02-05 韩国电子通信研究院 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
WO2020013498A1 (ko) * 2018-07-13 2020-01-16 엘지전자 주식회사 컨텐츠 서비스 시스템에서 영상 서비스 처리 방법 및 그 장치
US10735682B2 (en) * 2018-11-14 2020-08-04 Omnivision Technologies, Inc. Dram with staggered word line transitions for hybrid-bonded photosensor arrays
US20220417506A1 (en) * 2019-06-23 2022-12-29 Lg Electronics Inc. Deblocking filtering method and apparatus in video/image coding system
JP2021033334A (ja) * 2019-08-13 2021-03-01 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、および情報処理プログラム
KR20220003812A (ko) * 2020-07-02 2022-01-11 삼성전자주식회사 호 채널의 상태에 기반하여 필터를 사용하여 전처리된 컨텐츠를 전송하는 전자 장치 및 전자 장치의 동작 방법
KR20220021961A (ko) 2020-08-13 2022-02-23 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002150281A (ja) * 2000-11-16 2002-05-24 Sony Corp 画像縮小処理装置及び方法
JP2005033336A (ja) * 2003-07-08 2005-02-03 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2007235886A (ja) * 2006-03-03 2007-09-13 Nec Corp 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム
WO2008060127A1 (en) * 2006-11-17 2008-05-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5344238B2 (ja) 1973-04-06 1978-11-27
JP3297293B2 (ja) 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置
US6788880B1 (en) * 1998-04-16 2004-09-07 Victor Company Of Japan, Ltd Recording medium having a first area for storing an audio title set and a second area for storing a still picture set and apparatus for processing the recorded information
AU717480B2 (en) * 1998-08-01 2000-03-30 Korea Advanced Institute Of Science And Technology Loop-filtering method for image data and apparatus therefor
BRPI0206157B1 (pt) 2001-10-17 2018-09-25 Matsushita Electric Ind Co Ltd método de codificação de figuras móveis e método de decodificação de figuras móveis
US7423691B2 (en) * 2001-11-19 2008-09-09 Matsushita Electric Industrial Co., Ltd. Method of low latency interlace to progressive video format conversion
US7330596B2 (en) * 2002-07-17 2008-02-12 Ricoh Company, Ltd. Image decoding technique for suppressing tile boundary distortion
US7995849B2 (en) * 2003-03-17 2011-08-09 Qualcomm, Incorporated Method and apparatus for improving video quality of low bit-rate video
US7324596B2 (en) * 2003-07-15 2008-01-29 Lsi Logic Corporation Low complexity block size decision for variable block size motion estimation
JP4282399B2 (ja) 2003-07-16 2009-06-17 パナソニック株式会社 無線親機及び無線子機
DE60317670T2 (de) * 2003-09-09 2008-10-30 Mitsubishi Denki K.K. Verfahren und Vorrichtung zur 3D-Teilbandvideokodierung
EP1777965A1 (en) * 2004-08-05 2007-04-25 Matsushita Electric Industrial Co., Ltd. Image decoding device and image encoding device
KR100679035B1 (ko) * 2005-01-04 2007-02-06 삼성전자주식회사 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더
EP1878257A1 (en) * 2005-04-12 2008-01-16 Nokia Corporation Method and system for motion compensated fine granularity scalable video coding with drift control
KR100716998B1 (ko) * 2005-05-24 2007-05-10 삼성전자주식회사 블록화 현상을 감소시키기 위한 부호화 및 복호화 장치 및그 방법과, 이를 구현하기 위한 프로그램이 기록된 기록매체
JP2007027956A (ja) 2005-07-13 2007-02-01 Matsushita Electric Ind Co Ltd デブロッキングフィルタ
US20080130989A1 (en) * 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
JP2007129369A (ja) 2005-11-01 2007-05-24 Matsushita Electric Ind Co Ltd 画像再生装置およびその方法
JP4987322B2 (ja) 2006-02-28 2012-07-25 株式会社東芝 動画像復号装置及び動画像復号方法
JP4646234B2 (ja) 2006-03-22 2011-03-09 パナソニック株式会社 薬液供給装置および半導体装置の製造方法
KR100908062B1 (ko) 2006-09-07 2009-07-15 엘지전자 주식회사 비디오 신호의 디코딩/인코딩 방법 및 장치
CN101395922A (zh) * 2006-11-17 2009-03-25 Lg电子株式会社 用于解码/编码视频信号的方法及装置
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
US8718139B2 (en) * 2007-01-12 2014-05-06 Mitsubishi Electric Corporation Image decoding device and image decoding method
JP4847890B2 (ja) * 2007-02-16 2011-12-28 パナソニック株式会社 符号化方式変換装置
WO2008134482A1 (en) * 2007-04-26 2008-11-06 Polycom, Inc. De-blocking filter arrangements
US7991237B2 (en) 2007-06-28 2011-08-02 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
JP4821723B2 (ja) 2007-07-13 2011-11-24 富士通株式会社 動画像符号化装置及びプログラム
US8437564B2 (en) * 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
JP5152190B2 (ja) 2007-10-04 2013-02-27 富士通株式会社 符号化装置、符号化方法、符号化プログラムおよび符号化回路
US20090316793A1 (en) * 2008-06-20 2009-12-24 Yang Zhijie Michael Method and system for adaptive deblocking for avs1-p2
KR101538704B1 (ko) * 2009-01-28 2015-07-28 삼성전자주식회사 보간 필터를 적응적으로 사용하여 영상을 부호화 및 복호화하는 방법 및 장치
JP5359657B2 (ja) 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5233897B2 (ja) 2009-07-31 2013-07-10 ソニー株式会社 画像処理装置および方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002150281A (ja) * 2000-11-16 2002-05-24 Sony Corp 画像縮小処理装置及び方法
JP2005033336A (ja) * 2003-07-08 2005-02-03 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP2007235886A (ja) * 2006-03-03 2007-09-13 Nec Corp 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、フィルタ装置及びプログラム
WO2008060127A1 (en) * 2006-11-17 2008-05-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
See also references of EP2461588A4
T. CHUJOH; N. WADA; G YASUDA: "Quadtree-based Adaptive Loop Filter", ITU-T SG16 Q6 VCEG CONTRIBUTION, April 2009 (2009-04-01)
TAKESHI. CHUJOH ET AL.: "Block-based Adaptive Loop Filter", ITU-T SG16 Q6 VCEG CONTRIBUTION, July 2008 (2008-07-01)
YI-JEN CHIU; L. XU: "Adaptive (Wiener) Filter for Video Compression", ITU-T SG16 CONTRIBUTION, vol. C437, April 2008 (2008-04-01)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012081609A1 (ja) * 2010-12-14 2012-06-21 シャープ株式会社 画像フィルタ装置、復号装置、符号化装置、および、データ構造
JP5551274B2 (ja) * 2010-12-14 2014-07-16 シャープ株式会社 画像フィルタ装置
US10116932B2 (en) 2010-12-14 2018-10-30 Sharp Kabushiki Kaisha Image filter device, decoding device, encoding device, and data structure
US20190238846A1 (en) * 2011-03-24 2019-08-01 Sony Corporation Image processing apparatus and method
US11095889B2 (en) 2011-03-24 2021-08-17 Sony Group Corporation Image processing apparatus and method
US10623739B2 (en) 2011-03-24 2020-04-14 Sony Corporation Image processing apparatus and method
CN103430544A (zh) * 2011-03-24 2013-12-04 索尼公司 图像处理设备和方法
US20140003496A1 (en) * 2011-03-24 2014-01-02 Sony Corporation Image processing apparatus and method
US10306223B2 (en) 2011-03-24 2019-05-28 Sony Corporation Image processing apparatus and method
WO2012128191A1 (ja) * 2011-03-24 2012-09-27 ソニー株式会社 画像処理装置および方法
WO2013047335A1 (ja) * 2011-09-28 2013-04-04 ソニー株式会社 画像処理装置および方法
WO2013063425A1 (en) * 2011-10-26 2013-05-02 Qualcomm Incorporated Unified design for picture partitioning schemes
US9247258B2 (en) 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
US10547851B2 (en) 2012-01-09 2020-01-28 Zte Corporation Method for decoding at picture and slice layer according to a constrained loop filter control flag
CN103200400A (zh) * 2012-01-09 2013-07-10 中兴通讯股份有限公司 一种图像层和分片层的编解码方法、编解码器和电子设备
CN103200400B (zh) * 2012-01-09 2018-03-16 中兴通讯股份有限公司 一种图像层和分片层的编解码方法、编解码器和电子设备
WO2013104205A1 (zh) * 2012-01-09 2013-07-18 中兴通讯股份有限公司 一种图像层和分片层的编解码方法、编解码器和电子设备
US9967563B2 (en) 2012-02-03 2018-05-08 Hfi Innovation Inc. Method and apparatus for loop filtering cross tile or slice boundaries
CN103636227B (zh) * 2012-02-03 2017-07-07 寰发股份有限公司 贯穿图块或条带边界的环路滤波方法及其装置
CN103636227A (zh) * 2012-02-03 2014-03-12 联发科技股份有限公司 贯穿图块或条带边界的环路滤波方法及其装置
WO2013113274A1 (en) * 2012-02-03 2013-08-08 Mediatek Inc. Method and apparatus for loop filtering cross tile or slice boundaries
AU2013284866B2 (en) * 2012-07-02 2017-09-07 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US20140153636A1 (en) * 2012-07-02 2014-06-05 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
WO2014097596A1 (ja) * 2012-12-19 2014-06-26 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US11057624B2 (en) 2016-10-14 2021-07-06 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US11659178B2 (en) 2016-10-14 2023-05-23 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US11778184B1 (en) 2016-10-14 2023-10-03 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US11902521B2 (en) 2016-10-14 2024-02-13 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US11909971B2 (en) 2016-10-14 2024-02-20 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US11909970B2 (en) 2016-10-14 2024-02-20 Industry Academy Cooperation Foundation Of Sejong University Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
US12034977B2 (en) 2018-06-28 2024-07-09 Electronics And Telecommunications Research Institute Video encoding/decoding method and device, and recording medium for storing bitstream

Also Published As

Publication number Publication date
KR20190114025A (ko) 2019-10-08
KR101649775B1 (ko) 2016-08-19
US8774537B2 (en) 2014-07-08
EP2461588A1 (en) 2012-06-06
US20130301942A1 (en) 2013-11-14
CN103957407B (zh) 2017-08-15
RU2012102382A (ru) 2013-07-27
CN102511165A (zh) 2012-06-20
RU2543306C2 (ru) 2015-02-27
CN103957408A (zh) 2014-07-30
KR101747063B1 (ko) 2017-06-14
RU2018117534A3 (ja) 2021-09-13
EP2802150A1 (en) 2014-11-12
RU2018117534A (ru) 2019-11-11
KR20180137038A (ko) 2018-12-26
TW201448569A (zh) 2014-12-16
EP3496402B1 (en) 2020-04-01
BR112012001639A2 (pt) 2016-04-12
EP2802150B1 (en) 2019-04-24
EP2790409A2 (en) 2014-10-15
EP2461588A4 (en) 2014-11-12
CN102511165B (zh) 2015-06-17
KR101931730B1 (ko) 2018-12-24
TW202029752A (zh) 2020-08-01
CN103957407A (zh) 2014-07-30
TW201921930A (zh) 2019-06-01
TWI694711B (zh) 2020-05-21
US20200314454A1 (en) 2020-10-01
TWI472230B (zh) 2015-02-01
KR20170049637A (ko) 2017-05-10
PL2802150T3 (pl) 2019-10-31
RU2014123684A (ru) 2015-12-20
KR102030954B1 (ko) 2019-10-10
EP3661207A1 (en) 2020-06-03
TWI647947B (zh) 2019-01-11
US20160309193A1 (en) 2016-10-20
US20120121188A1 (en) 2012-05-17
US9918108B2 (en) 2018-03-13
RU2656712C2 (ru) 2018-06-06
EP3661207B1 (en) 2021-09-01
EP2790409B1 (en) 2019-04-24
EP3496402A1 (en) 2019-06-12
KR20120039657A (ko) 2012-04-25
KR101649805B1 (ko) 2016-08-19
CN104935937A (zh) 2015-09-23
RU2766441C2 (ru) 2022-03-15
JP5344238B2 (ja) 2013-11-20
US10721494B2 (en) 2020-07-21
HUE045448T2 (hu) 2019-12-30
HUE044436T2 (hu) 2019-10-28
PL2790409T3 (pl) 2019-10-31
KR102126165B1 (ko) 2020-06-24
US20180146215A1 (en) 2018-05-24
TW201114265A (en) 2011-04-16
RU2014119668A (ru) 2015-11-20
KR20140065021A (ko) 2014-05-28
JP2011035620A (ja) 2011-02-17
BR112012001639B1 (pt) 2021-01-26
KR20180070716A (ko) 2018-06-26
ES2733068T3 (es) 2019-11-27
ES2733072T3 (es) 2019-11-27
CN104935937B (zh) 2019-03-19
EP2790409A3 (en) 2014-11-19
TWI723849B (zh) 2021-04-01
CN103957408B (zh) 2018-05-18
US20140270559A1 (en) 2014-09-18
KR20160099727A (ko) 2016-08-22
US11405652B2 (en) 2022-08-02
KR101872657B1 (ko) 2018-06-28
US9392269B2 (en) 2016-07-12
RU2660612C2 (ru) 2018-07-06
TW201728170A (zh) 2017-08-01
TWI595775B (zh) 2017-08-11
US8805085B2 (en) 2014-08-12

Similar Documents

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

Legal Events

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

Ref document number: 201080042415.5

Country of ref document: CN

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

Ref document number: 10804326

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20127001717

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2012102382

Country of ref document: RU

Ref document number: 13386849

Country of ref document: US

Ref document number: 697/DELNP/2012

Country of ref document: IN

Ref document number: 2010804326

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112012001639

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112012001639

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20120124