WO2012029181A1 - 動画像符号化方法及び復号化方法、符号化装置及び復号化装置 - Google Patents

動画像符号化方法及び復号化方法、符号化装置及び復号化装置 Download PDF

Info

Publication number
WO2012029181A1
WO2012029181A1 PCT/JP2010/065172 JP2010065172W WO2012029181A1 WO 2012029181 A1 WO2012029181 A1 WO 2012029181A1 JP 2010065172 W JP2010065172 W JP 2010065172W WO 2012029181 A1 WO2012029181 A1 WO 2012029181A1
Authority
WO
WIPO (PCT)
Prior art keywords
filter
image signal
unit
pixel
transform coefficient
Prior art date
Application number
PCT/JP2010/065172
Other languages
English (en)
French (fr)
Inventor
昭行 谷沢
太一郎 塩寺
中條 健
Original Assignee
株式会社 東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 東芝 filed Critical 株式会社 東芝
Priority to PCT/JP2010/065172 priority Critical patent/WO2012029181A1/ja
Publication of WO2012029181A1 publication Critical patent/WO2012029181A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • Embodiments described herein relate generally to a moving image encoding method, a decoding method, an encoding device, and a decoding device that are used for encoding and decoding a moving image.
  • H.264 orthogonal transformation and quantization processing using discrete cosine transform (hereinafter referred to as DCT (Discrete Cosine Transform)) for each of 4 ⁇ 4 pixel blocks and 8 ⁇ 8 pixel blocks, and inverse quantization and inverse orthogonality. Conversion processing is performed.
  • DCT Discrete Cosine Transform
  • DCT Discrete Cosine Transform
  • the present disclosure has been made to solve the above-described problem, and provides a moving image encoding method and decoding method, an encoding device, and a decoding device that can improve the subjective image quality of a decoded image.
  • the purpose is to provide.
  • the moving image encoding method generates a transform coefficient by converting a prediction error signal indicating a difference between an input image signal including a plurality of pixel signals and a predicted image signal of the input image signal, and performs quantization.
  • the transform coefficient is quantized based on a quantization parameter indicating the roughness of the image to generate a quantized transform coefficient.
  • the quantized transform coefficient is dequantized to generate an inverse quantized transform coefficient, and the dequantized transform coefficient is inversely transformed to generate a reconstructed prediction error signal indicating the reconstructed prediction error signal.
  • a frequency component pattern corresponding to the position of the transform coefficient among a plurality of frequency component patterns included in the transform base used when obtaining the transform coefficient, information on whether or not to apply a filter, and a filter are obtained.
  • a table is selected in which a filter direction indicating a direction to cancel an edge in a specific direction of the frequency component pattern is associated.
  • the method sets filter information including a filter strength determined according to the number of non-zero transform coefficients of the dequantized transform coefficients and the quantization parameter, and the predicted image signal and the restored prediction
  • the decoded image signal is generated by adding the error signal.
  • the method When applying a filter, the method performs filtering processing according to the filter information in the direction indicated by the filtering direction between the pixels of the pixel block of the decoded image signal based on the table, and after filtering A decoded image signal is generated.
  • the method comprises encoding data including the quantization parameter and the quantized transform coefficient to generate encoded data.
  • the moving picture decoding method includes a quantization transform in which a prediction error signal indicating a difference between an input image signal including a plurality of pixel signals and a predicted image signal of the input image signal is converted and quantized.
  • the encoded transform data and the quantization parameter are obtained by decoding the encoded data including the coefficient and the quantization parameter indicating the roughness of the quantization.
  • the method dequantizes the quantized transform coefficient to generate inverse quantized transform coefficient information, and inverse transforms the inverse quantized transform coefficient to generate a reconstructed prediction error signal indicating a reconstructed prediction error signal.
  • a frequency component pattern corresponding to the position of the transform coefficient among a plurality of frequency component patterns included in the transform base used when obtaining the transform coefficient, information on whether or not to apply a filter, and a filter are obtained.
  • a table is selected in which a filter direction indicating a direction to cancel an edge in a specific direction of the frequency component pattern is associated.
  • the method sets filter information including a filter strength determined according to the number of non-zero transform coefficients of the dequantized transform coefficients and the quantization parameter, and the predicted image signal and the restored prediction
  • the decoded image signal is generated by adding the error signal.
  • the method performs filtering processing according to the filter information in the direction indicated by the filtering direction between the pixels of the pixel block of the decoded image signal based on the table, and after filtering Generating a decoded image signal.
  • FIG. 1 is a block diagram showing a moving image encoding apparatus according to a first embodiment.
  • the block diagram which shows the moving image encoder in 2nd Embodiment The block diagram which shows the inter-pixel filter process part in 2nd Embodiment.
  • the block diagram which shows the moving image decoding apparatus in 3rd Embodiment The block diagram which shows the moving image decoding apparatus in 4th Embodiment.
  • a video encoding apparatus 100 includes a subtraction unit 101, a conversion unit 102, a quantization unit 103, an inverse quantization unit 104, an inverse conversion unit 105, an addition unit 106, a filter direction setting unit 107, a filter An information setting unit 108, an inter-pixel filter processing unit 109, a reference image memory 110, an intra prediction image generation unit 111, an inter prediction image generation unit 112, a prediction selection switch 113, and an entropy encoding unit 114 are included.
  • the moving image encoding apparatus 100 is connected to the encoding control unit 115, and the operation of the entire moving image encoding apparatus 100 is controlled by the encoding control unit 115.
  • the moving image encoding apparatus 100 is connected to the output buffer 116.
  • the subtraction unit 101 receives an input image signal 117 from the outside and a prediction image signal 128 selected by a prediction selection switch 113 described later, and subtracts the prediction image signal 128 from the input image signal 117 to obtain a prediction error signal 118. Generate.
  • the input image signal 117 is a moving image or still image signal, and is divided into pixel blocks, for example, macroblocks, and is input to the moving image encoding apparatus 100.
  • the input image signal 117 is one encoding processing unit including both a frame and a field. In the present embodiment, an example in which a frame is used as one encoding processing unit will be described.
  • the transform unit 102 receives the prediction error signal 118 from the subtraction unit 101, performs orthogonal transform such as DCT according to the coding mode controlled by the coding control unit 115, and generates a transform coefficient 119. Specifically, the conversion unit 102 receives conversion base information indicating the conversion base from the encoding control unit 115.
  • orthogonal transform such as Hadamard transform, Karhunen-Loeve transform (KLT), discrete sine transform (DST), or non-orthogonal transform may be used.
  • the quantization unit 103 receives the transform coefficient 119 from the transform unit 102, quantizes the transform coefficient 119 according to the quantization information given by the encoding control unit 115, and generates a quantized transform coefficient 120.
  • the quantization information is, for example, a quantization parameter that indicates the fineness of quantization, and a quantization matrix that weights the fineness of quantization for each component of the transform coefficient 119.
  • the quantization process is a process corresponding to dividing the transform coefficient by the quantization width controlled by the quantization parameter.
  • the inverse quantization unit 104 receives the quantized transform coefficient 120 from the quantizing unit 103, performs an inverse quantization process on the quantized transform coefficient 120, and generates an inverse quantized transform coefficient 121.
  • the inverse quantization process is a process of multiplying the quantization transform coefficient 120 by the quantization width indicated by the quantization parameter.
  • the quantization information used in the quantization unit 103 is loaded from an internal memory (not shown) of the encoding control unit 115 and the inverse quantization process is performed.
  • the inverse transform unit 105 receives the inverse quantization transform coefficient 121 from the inverse quantization unit 104, and inverse transforms the inverse quantization transform coefficient 121 to generate a restored prediction error signal 122.
  • IDCT inverse discrete cosine transform
  • orthogonal transforms such as Hadamard transform, Karhunen-Loeve transform, and discrete sine transform are used in the transform unit 102
  • inverse transform is performed using orthogonal transform bases corresponding to these orthogonal transforms.
  • the inverse transform unit 105 may receive each transform base information from the transform unit 102 or from the encoding control unit 115.
  • the adding unit 106 receives the reconstructed prediction error signal 122 from the inverse transform unit 105 and the prediction image signal 128 through the prediction selection switch 113 described later, and adds the reconstructed prediction error signal 122 and the prediction image signal 128 to obtain a decoded image.
  • a signal 124 is generated. Note that the decoded image signal 124 is a locally decoded image signal.
  • the filter direction setting unit 107 receives the conversion base information 123 from the inverse conversion unit 105 and sets a filter direction table 125 determined by a predetermined conversion method according to the conversion base information 123. The detailed operation of the filter direction setting unit 107 will be described later with reference to FIG.
  • the filter information setting unit 108 receives the inverse quantization transform coefficient 121 from the inverse quantization unit 104, and sets the filter information 126 according to the quantization information from the encoding control unit 115.
  • the filter information 126 includes information about filters such as filter strength information, filter type information, filter tap length information, and filter adaptive signal information.
  • the detailed operation of the filter information setting unit 108 will be described later with reference to FIG.
  • the inter-pixel filter processing unit 109 receives the decoded image signal 124 from the adding unit 106, the filter direction table 125 from the filter direction setting unit 107, and the filter information 126 from the filter information setting unit 108, and performs filter processing for each pixel. Do. Detailed operation of the inter-pixel filter processing unit 109 will be described later with reference to FIG.
  • the reference image memory 110 receives the decoded image signal filtered from the inter-pixel filter processing unit 109 and stores it as the reference image signal 127.
  • the intra predicted image generation unit 111 receives the reference image signal 127 from the reference image memory 110, performs intra prediction according to the prediction direction, and generates a predicted image signal.
  • the inter prediction image generation unit 112 receives the reference image signal 127 from the reference image memory 110, performs block matching processing based on the input image signal 117 corresponding to the pixel block, and calculates a motion shift amount (motion vector). . Interpolation processing is performed based on this motion vector to generate a predicted image signal. H. In H.264, interpolated image processing up to 1/4 pixel accuracy is possible.
  • the prediction selection switch 113 selects a prediction image from the intra prediction image generation unit 111 or a prediction image from the inter prediction image generation unit 112 based on the prediction information from the encoding control unit 115, and the prediction image signal 128. And When the prediction information is intra prediction, the output terminal of the switch is connected to the intra prediction image generation unit 111. On the other hand, when the prediction information is inter prediction, the output terminal of the switch is connected to the inter prediction image generation unit 112.
  • the entropy coding unit 114 receives the quantized transform coefficient 120 from the quantizing unit 103 and performs entropy coding, for example, Huffman coding or arithmetic coding, on the quantized transform coefficient 120.
  • the entropy encoding unit 114 uses various encoding parameters used when the pixel block is encoded, such as prediction information (motion vector, reference information, etc.), transform information, and quantization information controlled by the encoding control unit 115. Is subjected to entropy coding, and encoded data 129 is generated.
  • the encoding parameter is a parameter necessary for decoding prediction information, information on transform coefficients, and information on quantization. Note that the encoding parameter of the pixel block is held in an internal memory of the encoding control unit 115, and is used when the pixel block is used as an adjacent block of another pixel block.
  • the encoded data 129 generated by the entropy encoding unit 114 is output from the moving image encoding apparatus 100, is temporarily stored in the output buffer 116 through multiplexing, etc., and then is appropriately stored in the encoding control unit 115. Output according to the output timing.
  • the encoded data 129 is transmitted to, for example, a storage system (storage medium) or a transmission system (communication line) not shown.
  • the encoding control unit 115 controls encoding parameters including prediction information and the like. For example, the subtraction unit 101, the conversion unit 102, the quantization unit 103, the inverse quantization unit 104, the inverse conversion unit 105, the inter-pixel filter processing unit 109, the reference image memory 110, the prediction selection switch 113, and the subtraction unit 101 are reached. A series of loops is defined as one prediction processing loop. At this time, the encoding control unit 115 can select an optimal encoding mode by repeating a plurality of specified encoding modes.
  • prediction information is sent from the encoding control unit 115 to the intra predicted image generation unit 111, and a predicted image signal 128 is generated according to this value.
  • intra prediction or inter prediction can be selected, and a plurality of prediction modes may exist for each of intra prediction and inter prediction. The determination of these prediction modes will be described more specifically.
  • Prediction information (or prediction mode) is determined using a cost such as the following equation.
  • a code amount (for example, a motion vector code amount and a prediction block size code amount) related to prediction information required when the prediction mode is selected is OH, and an absolute difference (prediction error signal) between the input image signal and the predicted image signal.
  • the prediction information may be determined using (a) only the prediction information or (b) only the SAD instead of the formula (1), or a value obtained by performing the Hadamard transform or the like on (b), or an approximation thereto. A value may be used.
  • a provisional encoding unit is prepared, and the amount of code when the prediction error signal 118 generated in a certain prediction mode by the provisional encoding unit is actually encoded, the input image signal 117 and the decoded image Prediction information may be determined using a square error with the signal 124.
  • the judgment formula in this case is as follows.
  • J D + ⁇ ⁇ R (2)
  • J is an encoding cost
  • D is an encoding distortion representing a square error between the input image signal 117 and the decoded image signal 124.
  • R represents a code amount estimated by provisional encoding.
  • the cost may be calculated using only R or only D instead of the expression (2), or the cost function may be created using a value approximating R or D.
  • FIGS. 2A and 2B a processing block to be encoded or decoded and an encoding processing direction will be described with reference to FIGS. 2A and 2B.
  • encoding processing is sequentially performed by raster scanning from the upper left of the screen to the lower right of the screen as illustrated in FIG. 2A.
  • the blocks located on the left and above the block c to be encoded are the encoded blocks p.
  • the macro block is set to the basic processing block size of the encoding process. As shown in FIG.
  • the macro block is in a unit of 16 pixels ⁇ 16 pixels, but may be in a unit of 32 pixels ⁇ 32 pixels, 64 pixels ⁇ 64 pixels, or 8 pixels ⁇ 8 pixels. Further, the shape of the macroblock is not necessarily a square lattice, and may be a rectangle.
  • the encoding target block or macroblock of the input image signal 117 is also simply referred to as a “pixel block”.
  • FIG. 3A shows a direction prediction mode that is a prediction direction of intra prediction, and there are nine prediction directions from mode 0 to mode 8.
  • FIG. 3B shows the arrangement of reference pixels and encoding target pixels.
  • the encoding target pixels are pixels a to p, and reference pixels A to M are assigned to these encoding target pixels.
  • Intra prediction is performed using one of the modes shown in FIG.
  • FIGS. 3C and 3D show the prediction in the horizontal direction in mode 1 and the prediction in the orthogonal lower right direction in mode 4, respectively.
  • the interpolated pixel value may be copied in a predetermined prediction direction.
  • the conversion unit 102 includes a first conversion unit 401, a second conversion unit 402, an Nth conversion unit 403 (N is a natural number of 3 or more), and a basis selection switch 404.
  • N is a natural number of 3 or more
  • each of the first conversion unit 401, the second conversion unit 402, and the Nth conversion unit 403 converts the prediction error signal 118 to generate a conversion coefficient 119.
  • the first conversion unit 401 performs 4 ⁇ 4 DCT
  • the second conversion unit 402 performs 8 ⁇ 8 DCT
  • the Nth conversion unit 403 performs 16 ⁇ 16 DCT.
  • the first conversion unit 401 may be set to 4 ⁇ 4 size DCT
  • the second conversion unit 402 may be set to 8 ⁇ 8 size DCT
  • the Nth conversion unit 403 may be set to 16 ⁇ 16 size DCT.
  • the second conversion unit 402 can be set to 4 ⁇ 4 size DST
  • the Nth conversion unit 403 can be set to 8 ⁇ 8 size KLT.
  • a transform that is not orthogonal transform may be selected, or a single transform may be used. In the case of a single conversion, only the first conversion unit 401 is required.
  • the base selection switch 404 receives the prediction error signal 118 from the subtraction unit 101 and the conversion base information 123 from the encoding control unit 115, and selects a conversion unit according to the conversion base information 123.
  • the conversion base information 123 is, for example, H.264. In H.264, 4 ⁇ 4 DCT is set for intra prediction of 4 pixels ⁇ 4 pixel blocks, and 8 ⁇ 8 DCT is set for intra prediction of 8 pixels ⁇ 8 pixel blocks.
  • the conversion base information 123 indicates the first conversion
  • the output terminal of the switch is connected to the first conversion unit 401.
  • the conversion base information 123 is the second conversion
  • the output end is connected to the second conversion unit 402
  • the conversion base information 123 is the Nth conversion
  • the output end is connected to the Nth conversion unit 403. .
  • the inverse transform unit 105 includes a first inverse transform unit 501, a second inverse transform unit 502, an Nth inverse transform unit 503, and a base selection switch 504.
  • the first inverse transform unit 501, the second inverse transform unit 502, and the Nth inverse transform unit 503 each inverse transform the inverse quantized transform coefficient 121 when receiving the inverse quantized transform coefficient 121 from the quantization unit 103.
  • the restored prediction error signal 122 is generated.
  • the basis selection switch 504 receives the inverse quantization transform coefficient 121 from the inverse quantization unit 104 and selects an inverse transform unit according to the input transform basis information 123.
  • the conversion base information 123 is input from the encoding control unit 115 at an appropriate timing.
  • the conversion base information 123 When the conversion base information 123 is the first conversion, the output terminal of the switch is connected to the first inverse conversion unit 501. Similarly, when the conversion base information 123 is the second conversion, the output terminal is connected to the second inverse conversion unit 502, and when the conversion base information 123 is the Nth conversion, the output terminal is the Nth inverse conversion unit. Connect to 503.
  • the conversion base information 123 set in the conversion unit 102 and the conversion base information 123 set in the inverse conversion unit 105 are the same, and the inverse conversion corresponding to the conversion performed in the conversion unit 102 is the inverse conversion unit 105.
  • the first inverse transform unit 501 performs IDCT of 4 pixels ⁇ 4 pixel blocks
  • the second inverse transform unit 502 performs IDCT of 8 pixels ⁇ 8 pixel blocks
  • the Nth inverse transform unit 503 performs IDCT of a 16 pixel ⁇ 16 pixel block.
  • IDCT is used as an example, but orthogonal transformation such as Hadamard transformation, Karhunen-Loeve transformation, and discrete sine transformation may be used, or non-orthogonal transformation may be used. Inverse conversion corresponding to the conversion may be performed.
  • the filter direction setting unit 107 includes a first filter direction selection table 601, a second filter direction selection table 602, an Nth filter direction selection table 603, and a base selection switch 604.
  • Each of the first filter direction selection table 601, the second filter direction selection table 602, and the Nth filter direction selection table 603 is table information held in a fixed memory, and when the output terminal of the base selection switch 604 is connected.
  • the table information is output as the filter direction table 125.
  • the base selection switch 604 operates in the same manner as the base selection switches 404 and 504 described with reference to FIGS.
  • the base selection switch 604 may receive the transform base information 123 from the inverse transform unit 105 or the coding control unit 115.
  • FIGS. 7A and 7C show a filter direction table for a 4 pixel ⁇ 4 pixel block
  • FIG. 7B shows a filter direction table for an 8 pixel ⁇ 8 pixel block
  • FIG. 7C shows a filter direction table for a 16 pixel ⁇ 16 pixel block.
  • (x, x) (x is an arbitrary positive integer) indicates a frequency component in the transform block.
  • (0, 0) represents the DC component of the DCT
  • (7, 7) represents the frequency component pattern of the highest frequency component (lower right component).
  • NA in the table indicates that there is no filter direction in the frequency component, that is, no filter is applied.
  • 0 in the table indicates that the filter is applied in the horizontal direction
  • “1” in the table indicates that the filter is applied in the vertical direction.
  • FIG. 8 shows 64 frequency component patterns included in the 8 ⁇ 8 DCT transform base.
  • the filter direction in the filter direction table shown in FIG. 7 is set to a direction that cancels an edge when the frequency component pattern has an edge in a specific direction.
  • the restored prediction error signal generated when the inverse transform is performed is in a specific direction (here, the frequency component pattern is a vertical stripe) Therefore, it has an edge in the horizontal direction in which white and black appear alternately. In this case, if the inter-pixel filter is applied in the horizontal direction, the edge is reduced.
  • the direction to cancel the edge is the horizontal direction, and the filter direction is set to the horizontal direction.
  • the direction to cancel the edge is the vertical direction, and the filter direction is set to the horizontal direction.
  • the frequency component pattern 801 is a vertical stripe and has a directionality in the vertical direction
  • a filter is applied in a direction orthogonal to the vertical stripe, that is, in the horizontal direction so as to cancel this directionality.
  • the frequency component pattern 802 is a horizontal stripe and has a horizontal directionality
  • a filter is applied in the vertical direction orthogonal to the horizontal direction.
  • the filter direction tables shown in FIG. 7A to FIG. 7C may have indexes corresponding to the respective directions so that they can be selected. That is, for any conversion, a filter may be applied in a direction that cancels an edge due to a frequency component pattern.
  • the filter information setting unit 108 includes a non-zero count unit 901 and a filter strength calculation unit 902.
  • the non-zero counting unit 901 receives the inverse quantization transform coefficient 121 from the inverse quantization unit 104, counts the number of transform coefficients (non-zero transform coefficient) that do not become zero in the quantization process in the quantization unit 103, A zero number 903 is obtained.
  • the filter strength calculation unit 902 receives a non-zero number 903 from the non-zero count unit 901 and quantization information (for example, a quantization parameter) from the encoding control unit 115, and filters the non-zero number 903 and the quantization parameter. Based on the strength setting table, filter information 126 including the filter strength or the filter type is calculated.
  • quantization information for example, a quantization parameter
  • the filter strength is set based on the non-zero number 903 and the quantization parameter (hereinafter also referred to as QP). For example, if the non-zero number is 1 and QP ⁇ 10, the filter strength is set to “3”, and if the non-zero number is 3 and 10 ⁇ QP ⁇ 20, the filter strength Is set to “2” and if the non-zero number is 4, the filter strength is set to “0”.
  • QP quantization parameter
  • the reconstructed prediction error signal 122 reconstructed with the frequency component corresponding to the generated inverse quantization transform coefficient 121 is added to the predicted image signal 128 as it is. It will be.
  • the filter information 126 is set so that the filter strength increases as the non-zero number 903 of the inverse quantization transform coefficient 121 decreases, and the filter strength increases as the quantization parameter value increases.
  • the inter-pixel filter processing unit 109 includes a pixel column selection unit 1101, a filter selection switch 1102, a first inter-pixel filter 1103, a second inter-pixel filter 1104, an N-th inter-pixel filter 1105, a filter non-applied switch 1106, A configuration unit 1107 is included.
  • the inter-pixel filter processing unit 109 determines whether to perform filter processing based on the filter direction table 125 and the filter information 126.
  • the inter-pixel filter processing unit 109 When the filter direction table 125 and the filter information 126 indicate “to perform filter processing”, the inter-pixel filter processing unit 109 performs filter processing on the decoded image signal 124 according to the filter direction table 125 and the filter information 126. I do. When the filter direction table 125 or the filter information 126 indicates “no filter processing”, the inter-pixel filter processing unit 109 does not perform the filter processing on the decoded image signal 124.
  • the pixel column selection unit 1101 receives the decoded image signal 124 from the addition unit 106 and the filter direction table 125 from the filter direction setting unit 107, and performs filter processing according to the filter direction index indicated in the filter direction table 125.
  • a pixel column to which an inter-pixel filter is applied is selected from the decoded image signal 124.
  • the filter selection switch 1102 receives the filter information 126 from the filter information setting unit 108 and the pixel column from the pixel column selection unit 1101 and connects them to inter-pixel filters 1103 to 1105 described later. If the pixel column selection unit 1101 determines not to perform filter processing, the pixel column selection unit 1101 connects to the filter non-applied switch 1106.
  • the first inter-pixel filter 1103 corresponds to an inter-pixel filter process with a filter intensity of “5”
  • the non-filter application switch 1106 corresponds to a filter intensity of zero, that is, no filter process is performed.
  • the switching timing of the filter selection switch 1102 is managed by the encoding control unit 115.
  • the inter-pixel filters 1103 to 1105 apply the inter-pixel filter to the pixel column input via the filter selection switch 1102 based on a predetermined filter.
  • the inter-pixel filter is, for example, an average value filter.
  • the first inter-pixel filter 1103, the second inter-pixel filter 1104, and the N-th inter-pixel filter 1105 are different in filter type, filter tap length, filter coefficient, and the like. Note that the same inter-pixel filter may be used for one function that is combined when the hardware is realized. For example, when the filter type and the tap length are the same and the filter coefficients are different, the filter coefficient set may be stored in the memory, and each time a different filter may be loaded as one inter-pixel filter. In the present embodiment, for example, H.264. Filter processing is performed according to the filter strengths 0 to 5 used in the H.264 deblocking filter processing.
  • the filter non-applied switch 1106 sends the pixel column to the pixel column reconstruction unit 1107 described later without performing filter processing.
  • the pixel column reconstruction unit 1107 is a pixel column after filter processing that is input from the first inter-pixel filter 1103 to the N-th inter-pixel filter 1105 and the filter non-applied switch at a timing controlled by the encoding control unit 115.
  • the encoding control unit 115 controls the inter-pixel filter processing unit 109 until the inter-pixel filter is executed and reconfigured for all the pixel columns in the pixel block.
  • the inter-pixel filter processing unit 109 generates a post-filter processing decoded image signal 130.
  • the filter direction and the inter-pixel filter processing when the inverse quantization transform coefficient exists only at (7, 0) will be described with reference to FIG.
  • the reconstructed prediction error signal 122 is reconstructed using the frequency component pattern 801 of the transform base at the upper right shown in FIG. Since this conversion base has vertical stripes in the vertical direction, a pixel row in the direction rotated by 90 degrees with respect to this direction, that is, in the horizontal direction is selected. That is, since the filter direction is “0” (horizontal direction) from FIG. 7B, the inter-pixel filter is applied to the pixel columns from (0,0) to (0,7) in the horizontal direction. .
  • the output timings of these pixel columns are managed by the encoding control unit 115, and the pixel columns are output from the pixel column selection unit 1101 at an appropriate timing. Timing when any of the inter-pixel filters 1103 to 1105 and the non-filter application switch 1106 is performed on all the pixel columns in the pixel block, and the pixel column reconstruction unit 1107 controls the encoding control unit 115.
  • the pixel row is reconfigured so as to become a pixel block.
  • step S1301 when the decoded image signal 124 is input, the inter-pixel filtering process is started.
  • step S1302 the filter direction setting unit 107 sets the filter direction table 125 according to the conversion base information 123.
  • step S1303 the filter information setting unit 108 sets filter information according to the inverse quantization transform coefficient 121 and the quantization parameter.
  • step S1304 the encoding control unit 115 initializes blk_idx for controlling the number of pixel columns in the pixel block and sets MAX_IDX.
  • blk_idx indicates the position of the pixel column in the pixel block
  • MAX_IDX indicates the maximum pixel column.
  • MAX_IDX 7.
  • step S1305 the pixel column selection unit 1101 refers to the filter direction table 125 to determine whether to apply a filter, and in the case of applying a filter, determines whether the filter direction is the vertical direction or the horizontal direction. If the filter direction is the vertical direction (the filter direction shown in FIG. 7 is 1), the process proceeds to step S1306. If the filter direction is the horizontal direction (the filter direction shown in FIG. 7 is 0), the process proceeds to step S1307. In the case of NA, since the filtering process is not performed, the process proceeds to step S1313.
  • step S1306 a pixel column in the horizontal direction is selected in order to apply the filter in the vertical direction.
  • step S1307 a pixel row in the vertical direction is selected in order to apply the filter in the horizontal direction.
  • step S1308 it is determined whether blk_idx is smaller than MAX_IDX. If blk_idx is smaller than MAM_IDX, the process advances to step S1309. If blk_idx is greater than or equal to MAM_IDX, the process proceeds to step S1313.
  • step S1309 the filter selection switch 1102 selects either the inter-pixel filter or the filter non-applied switch according to the filter information 126.
  • step S1310 the pixel column is subjected to the inter-pixel filtering process by the selected inter-pixel filter via the filter selection switch 1102.
  • the filter non-applied switch 1106 is selected by the filter selection switch 1102
  • the pixel column is output without being subjected to filter processing.
  • step S1311 the filtered pixel column is stored in the pixel column reconstruction unit 1107.
  • step S1312 the encoding control unit 115 increments blk_idx by one, returns to step S1308, and repeats the same processing.
  • step S1313 the pixel column reconstruction unit 1107 reconstructs the pixel column and generates a decoded image signal after filtering.
  • step S1314 the decoded image signal after filtering is output from the inter-pixel filtering unit 109.
  • the inter-pixel filter is performed on the two pixel columns (0, 6) and (0, 7).
  • an inter-pixel filter is applied to a pixel column corresponding to (0, 7)
  • an uncoded right adjacent pixel column is required.
  • an example is shown in which an inter-pixel filter is not applied to this pixel column because filter processing across blocks such as a deblocking filter is assumed, but an encoding delay for each pixel block is allowed
  • the inter-pixel filter of this pixel column may be applied using the encoded adjacent pixel column.
  • blk_idx 0
  • an inter-pixel filter is performed on two pixel columns (0, 0) and (0, 1).
  • a syntax structure 1400 represents a structure of encoded data when encoding moving image data. When this encoded data is decoded, the syntax is interpreted by a decoding device having the same syntax structure. As shown in FIG. 14, the syntax structure 1400 mainly includes three parts.
  • the high level syntax 1401 includes syntax information of a higher layer than a slice representing a rectangular area or a continuous area included in a frame or a field.
  • the slice level syntax 1402 includes information necessary for decoding for each slice.
  • Macroblock level syntax 1403 includes information required for decoding for each macroblock.
  • High level syntax 1401 includes sequence and picture level syntax, such as sequence parameter set syntax 1404 and picture parameter set syntax 1405.
  • the slice level syntax 1402 includes a slice header syntax 1406 and a slice data syntax 1407.
  • the macroblock level syntax 1403 includes a macroblock layer syntax 1408 and a macroblock data syntax 1409.
  • the slice_direction_filter_flag shown in FIG. 15 is a syntax element indicating whether or not to perform inter-pixel filtering on the slice.
  • slice_directive_filter_flag is zero, it means that inter-pixel filtering is not performed on the slice. That is, regardless of the filter information, the filter selection switch 1102 connects the output terminal of the switch to the filter non-applied switch 1106.
  • slice_directive_filter_flag is 1, the inter-pixel filtering process is performed on the slice according to the flowchart described in FIG.
  • Mb_directive_filter_flag shown in FIG. 16 is a syntax element indicating whether or not to perform inter-pixel filter processing in the pixel block.
  • Mb_type indicates the coding type of the coding macroblock.
  • the mb_directive_filter_flag is encoded when the slice_directive_filter_flag is 1. When the directive_filter_flag is zero, it means that the inter-pixel filtering process is not performed on the macroblock. That is, regardless of the filter information, the filter selection switch 1102 connects the output terminal of the switch to the filter non-applied switch 1106.
  • mb_directive_filter_flag 1
  • inter-pixel filter processing is performed on the pixel block according to the flowchart described in FIG.
  • the amount of information related to the selection of pixel filtering increases by several bits, but the optimal inter-pixel filtering for each local region of the image Can be turned on and off.
  • the first embodiment it is possible to switch whether or not to perform inter-pixel filter processing in units of pixel blocks. For this reason, it is possible to determine whether or not to perform inter-pixel filtering on the pixel block together with the encoding loop for each pixel block. For example, an image is calculated for each pixel block in which the mode determination cost represented by Expression (2) is calculated for the restored image signal after application of the inter-pixel filter processing and the non-applied restored image signal, and the one with the lower cost is selected. Signal application can be selected.
  • inter-pixel filtering is performed on the decoded image signal 124.
  • the inter-pixel filtering process is applied without depending on the encoding loop for each pixel block. That is, the inter-pixel filtering process can be performed collectively after the encoding process for the entire encoded slice is completed and the local decoding process for the entire encoded slice is completed, or the local decoding process is performed on a pixel block basis. It can also be done each time. In any case, an optimum processing configuration can be achieved according to the hardware design.
  • the inter-pixel filter process is performed on the decoded image signal 124, and the decoded image signal 124 after application of the inter-pixel filter is stored in the reference image memory 110.
  • the inter-pixel filter may be applied only when outputting the locally decoded image without putting the inter-pixel filter processing unit 109 in the above-described encoding loop.
  • the reference image memory 110 stores a decoded image signal 124 that is not subjected to the inter-pixel filtering process and is output from the adding unit 106. As a result, the stripe noise of the intra prediction slice of the locally decoded image can be reduced as a post filter.
  • the inter-pixel filter process is performed before the decoded image is stored in the reference image memory as a loop filter, and the decoded image after the filter process is stored in the reference image memory.
  • stripe noise can be reduced. As a result, it is possible to prevent the stripe noise from propagating to the subsequent frame.
  • a video encoding apparatus according to the second embodiment will be described with reference to the block diagram of FIG.
  • a moving image encoding apparatus 1700 according to the second embodiment has substantially the same configuration as the moving image encoding apparatus 100 according to the first embodiment, but includes an adder 106 and an inter-pixel filter processor 1701. The order is different.
  • the inter-pixel filter processing unit 1701 performs substantially the same operation as the inter-pixel filter processing unit 109 according to the first embodiment, except that it receives the reconstructed prediction error signal 122 instead of the decoded image signal 124. That is, the inter-pixel filter processing unit 1701 receives the reconstructed prediction error signal 122 from the inverse transform unit 105, performs inter-pixel filter processing on the reconstructed prediction error signal 122, and sends the reconstructed prediction error signal after the filter processing to the adder unit 106. .
  • the inter-pixel filter processing unit 1701 has substantially the same configuration as the inter-pixel filter processing unit 109 according to the first embodiment, but the pixel column selection unit 1101 receives the restored prediction error signal 122 and the pixel column reconstruction unit 1107. Is different in that a post-filtering restored prediction error signal 130 is generated. However, since the restoration prediction error signal 122 received by the pixel column selection unit 1101 is a signed signal, the operations of the first inter-pixel filter 1103, the second inter-pixel filter 1104, and the N-th inter-pixel filter 1105 are signed. Note that the calculation is Note that the syntax structure according to the second embodiment can use the same structure as the syntax structure according to the first embodiment.
  • the same effect as that of the first embodiment can be obtained even if the inter-pixel filter processing is performed so as to cancel the stripe noise for the restored prediction error signal.
  • a moving picture decoding apparatus that realizes a method for decoding data encoded by the moving picture encoding apparatus according to the first embodiment will be described with reference to the block diagram of FIG.
  • a video decoding device 1900 according to the third embodiment includes an entropy decoding unit 1902, an inverse quantization unit 1903, an inverse transform unit 1904, an addition unit 1905, a filter information setting unit 1906, a filter direction setting unit 1907, and an inter-pixel configuration.
  • a filter processing unit 1908, a reference image memory 1909, an intra prediction image generation unit 1910, an inter prediction image generation unit 1911, and a prediction selection switch 1912 are included.
  • the moving picture decoding apparatus 1900 is connected to the decoding control unit 1913, and the operation of the entire moving picture decoding apparatus 1900 is controlled by the decoding control unit 1913.
  • the video decoding device 1900 is connected to an input buffer 1901 and an output buffer 1914.
  • the input buffer 1901 receives and stores the encoded data 1915 from the moving image encoding apparatus 100, and outputs the encoded data 1915 at an appropriate timing.
  • the entropy decoding unit 1902 receives the encoded data 1915 from the input buffer 1901 and decodes the encoded data 1915 by parsing based on the syntax for each frame or field. Thereafter, the entropy decoding unit 1902 sequentially entropy-decodes the code string of each syntax, and provides the prediction information 1925, the quantized transform coefficient 1916, the transform base information 1919, the quantization parameter 1927, the coding parameter of the encoding target block, and the like. Reproduce.
  • the inverse quantization unit 1903 receives the quantized transform coefficient 1916 from the entropy decoding unit 1902, performs inverse quantization on the quantized transform coefficient 1916, and restores the inverse quantized transform coefficient 1917.
  • the inverse transform unit 1904 receives the inverse quantization transform coefficient 1917 from the inverse quantization unit 1903, performs inverse transform on the inverse quantization transform coefficient 1917, for example, inverse discrete cosine transform (IDCT), and generates a restored prediction error signal 1918. .
  • the adder 1905 receives the reconstructed prediction error signal 1918 from the inverse transform unit 1904 and the predicted image signal 1924 from the prediction selection switch 1912 described later, and adds the reconstructed prediction error signal 1918 and the predicted image signal 1924 to perform decoding.
  • the filter information setting unit 1906 receives the quantization parameter 1927 from the entropy decoding unit 1902 and the inverse quantization transform coefficient 1917 from the inverse quantization unit 1903, respectively, and performs filtering based on the inverse quantization transform coefficient 1917 and the quantization parameter 1927.
  • Information 1921 is generated.
  • the filter direction setting unit 1907 receives the conversion base information 1919 from the inverse conversion unit 1904 and generates a filter direction table 1920 based on the conversion base information 1919.
  • the inter-pixel filter processing unit 1908 receives the decoded image signal 1922 from the addition unit 1905, the filter information 1921 from the filter information setting unit 1906, and the filter direction table 1920 from the filter direction setting unit 1907, and performs the filter processing for each pixel. And a decoded image signal 1926 after filtering is generated.
  • the reference image memory 1909 receives the post-filtering decoded image signal 1926 from the inter-pixel filter processing unit 1908 and stores it as the reference image signal 1923.
  • the intra predicted image generation unit 1910 performs intra prediction according to the prediction direction, and generates a predicted image.
  • the inter prediction image generation unit 1911 When the inter prediction image generation unit 1911 receives the reference image signal 1923 from the reference image memory 1909, the inter prediction image generation unit 1911 performs block matching processing based on the input image signal 117 corresponding to the pixel block, and a motion shift amount (motion vector). Is calculated. An interpolation process is performed based on this motion vector to generate a predicted image.
  • the prediction selection switch 1912 receives prediction information 1925 from the entropy decoding unit 1902, selects a prediction image from the intra prediction image generation unit 1910 or a prediction image from the inter prediction image generation unit 112, and outputs a prediction image signal 1924. To do. Specifically, when the prediction information is intra prediction, the output terminal of the switch is connected to the intra prediction image generation unit 1910.
  • the output terminal of the switch is connected to the inter prediction image generation unit 1911.
  • the decoding control unit 1913 controls the operation of the entire moving picture decoding apparatus 1900.
  • the output buffer 1914 temporarily stores the post-filter decoded image signal 1926 output from the reference image memory 1909, and then performs filter processing on a video device or display (not shown) according to the output timing managed by the decoding control unit 1913.
  • a post-decoded image signal 1926 is output.
  • the image generation unit 1911 and the prediction selection switch 1912 include an inverse quantization unit 104, an inverse transform unit 105, an addition unit 106, a filter direction setting unit 107, and filter information according to the video encoding device 100 according to the first embodiment.
  • the setting unit 108, the inter-pixel filter processing unit 109, the reference image memory 110, the intra prediction image generation unit 111, the inter prediction image generation unit 112, and the prediction selection switch 113 perform the same operations. Below, detailed description of each part is not performed, but only an outline will be described.
  • the inverse transform unit 1904 has the same configuration as the inverse transform unit 105 according to the first embodiment, and therefore will be described with reference to the configuration of the inverse transform unit 105 illustrated in FIG.
  • the inverse transform unit 1904 includes a first inverse transform unit 501, a second inverse transform unit 502, an Nth inverse transform unit 503, and a base selection switch 504.
  • Each of the first inverse transform unit 501, the second inverse transform unit 502, and the Nth inverse transform unit 503 receives the inverse quantized transform coefficient 1917 from the inverse quantizer 1903 via the basis selection switch 504.
  • the quantized transform coefficient 1917 is inversely transformed to generate a restored prediction error signal 1918.
  • the basis selection switch 504 receives the inverse quantization transform coefficient 1917 from the inverse quantization unit 1903 and selects an inverse transform unit according to the transform basis information 1919 input from the inverse quantization unit 1903.
  • the transform base information 1919 may be received from the decoding control unit 1913 at an appropriate timing, or may be received from the entropy decoding unit 1902.
  • the conversion base information 1919 is the first conversion
  • the output terminal of the base selection switch is connected to the first inverse conversion unit 501.
  • the conversion base information 1919 is the second conversion
  • the output terminal is connected to the second inverse conversion unit 502
  • the conversion base information 1919 is the Nth conversion
  • the output terminal is the Nth inverse conversion unit. Connect to 503.
  • Each inverse transform unit is set with an inverse transform corresponding to the transform used on the encoding side.
  • the first inverse transform unit 501 performs IDCT of 4 pixels ⁇ 4 pixel blocks
  • the second inverse transform unit 502 performs IDCT of 8 pixels ⁇ 8 pixel blocks.
  • the Nth inverse transform unit 503 performs IDCT of a 16 pixel ⁇ 16 pixel block.
  • orthogonal transform such as Hadamard transform, Karhunen-Loeve transform, and discrete sine transform described later may be used, non-orthogonal transform may be used, and video coding Corresponding inverse conversion may be performed in conjunction with the conversion unit 102 of the apparatus 100.
  • the filter direction setting unit 1907 includes a first filter direction selection table 601, a second filter direction selection table 602, an Nth filter direction selection table 603, and a base selection switch 604.
  • Each of the first filter direction selection table 601, the second filter direction selection table 602, and the Nth filter direction selection table 603 is table information held in a fixed memory, and when the output terminal of the base selection switch 604 is connected.
  • the table information is output as the filter direction table 1920.
  • the base selection switch 604 operates in the same manner as the base selection switches 404 and 504 described with reference to FIGS. 4 and 5, and the output terminals of the switches are respectively set to the first filter direction selection table 601,
  • the table information corresponding to the conversion base information 1919 is loaded by connecting to the second filter direction selection table 602 and the Nth filter direction selection table 603.
  • the transform base information 1919 may be received from the inverse transform unit 1904 or the decryption control unit 1913.
  • the filter information setting unit 1906 has the same configuration as the filter information setting unit 108 according to the first embodiment, and will be described with reference to the configuration of the filter information setting unit 108 shown in FIG.
  • the filter information setting unit 1906 includes a non-zero count unit 901 and a filter strength calculation unit 902.
  • the non-zero counting unit 901 receives the inverse quantization transform coefficient 1917 from the inverse quantization unit 104 and counts how many non-zero numbers 903 exist.
  • the filter strength calculation unit 902 receives the non-zero number 903 from the non-zero count unit 901 and the quantization parameter 1927 from the encoding control unit 115, respectively, and based on the filter strength setting table regarding the non-zero number 903 and the quantization parameter 1927. Thus, filter information 1921 including filter strength or filter type is calculated.
  • the filter strength is set based on the non-zero number 903 and the quantization parameter 1927 (hereinafter also referred to as QP). For example, when the non-zero number is 1 and QP ⁇ 10, the filter strength is set to “3”, and when the non-zero number is 3 and 10 ⁇ QP ⁇ 20, the filter strength is set. Is set to “2”. This is because when the non-zero number is 1, since there is no superposition of transform bases, the reconstructed prediction error signal 1918 reconstructed with the frequency component corresponding to the generated inverse quantization transform coefficient 1917 is directly used as the predicted image signal 1924. Will be added.
  • QP quantization parameter 1927
  • the filter information 1921 is set so that the filter strength increases as the non-zero number 903 of the inverse quantization transform coefficient 1917 decreases, and the filter strength increases as the quantization parameter value increases. Do.
  • the filter strength and the filter type have been described as examples of information included in the filter information 1921.
  • the present invention is not limited to this, and information such as the filter tap length and the filter adaptive signal is used. May be included.
  • a table that associates them with each other according to the information on the non-zero number and the quantization parameter, the position of the transform coefficient shown in FIGS. 7A to 7C, the filter direction, and the like may be created. .
  • Inter-pixel filter processing unit 1908 (109)> Since the inter-pixel filter processing unit 1908 has the same configuration as the inter-pixel filter processing unit 109 according to the first embodiment, the inter-pixel filter processing unit 1908 will be described with reference to the configuration of the inter-pixel filter processing unit 109 shown in FIG.
  • the decoded image signal after filtering is not distinguished from the decoded image signal.
  • the inter-pixel filter processing unit 1908 includes a pixel column selection unit 1101, a filter selection switch 1102, a first inter-pixel filter 1103, a second inter-pixel filter 1104, an N-th inter-pixel filter 1105, a filter non-application switch 1106, A configuration unit 1107 is included.
  • the pixel column selection unit 1101 receives the decoded image signal 1922 from the addition unit 1905 and the filter direction table 1920 from the filter direction setting unit 1907, respectively, and the decoded image signal 1922 according to the filter direction index indicated in the filter direction table 1920. To select a pixel column to which the inter-pixel filter is applied.
  • the filter selection switch 1102 receives the filter information 126 from the filter information setting unit 108 and the pixel column from the pixel column selection unit 1101 and connects them to inter-pixel filters 1103 to 1106 described later. Specifically, an example of switching the switch based on the filter strength shown in FIG. 10 will be described.
  • the first inter-pixel filter 1103 corresponds to an inter-pixel filter process with a filter strength of “5”, and the filter non-application switch 1106 has a filter strength of zero, that is, no filter is applied.
  • the filter non-application switch 1106 has a filter strength of zero, that is, no filter is applied.
  • the switch control timing of the filter selection switch 1102 is managed by the decoding control unit 1913.
  • the inter-pixel filters 1103 to 1105 apply the inter-pixel filter to the pixel column input via the filter selection switch 1102 based on a predetermined filter.
  • the inter-pixel filter is, for example, an average value filter.
  • the first inter-pixel filter 1103, the second inter-pixel filter 1104, and the N-th inter-pixel filter 1105 are different in filter type, filter tap length, filter coefficient, and the like. Note that the same inter-pixel filter may be used for one function that is combined when the hardware is realized. For example, when the filter type and the tap length are the same and the filter coefficients are different, the filter coefficient set may be stored in the memory, and each time a different filter may be loaded as one inter-pixel filter.
  • H.264 Filter processing is performed according to the filter strengths 0 to 5 used in the H.264 deblocking filter processing.
  • the filter non-applied switch 1106 sends the pixel column to the pixel column reconstruction unit 1107 described later without performing filter processing.
  • the pixel column reconstruction unit 1107 is a pixel column after filter processing that is input from the first inter-pixel filter 1103 to the N-th inter-pixel filter 1105 and the filter non-applied switch at a timing controlled by the encoding control unit 115.
  • the encoding control unit 115 controls the inter-pixel filter processing unit 1908 until the inter-pixel filter is executed on all the pixel columns in the pixel block and is reconfigured, whereby the inter-pixel filter processing unit 1908 performs filtering.
  • a post-processing decoded image signal 1926 is generated.
  • the reconstructed prediction error signal 1918 is reconstructed using the upper right conversion base shown in FIG. Since this conversion base has vertical stripes in the vertical direction, a pixel row in the direction rotated by 90 degrees with respect to this direction, that is, in the horizontal direction is selected. That is, since the filter direction is “0” (horizontal direction) from FIG. 7B, the inter-pixel filter is applied to the pixel columns from (0,0) to (0,7) in the horizontal direction. .
  • the output timing of these pixel columns is managed by the decoding control unit 1913, and the pixel columns are output from the pixel column selection unit 1101 at an appropriate timing.
  • the processing of the inter-pixel filters 1103 to 1105 and the filter non-applied switch 1106 is executed, and the pixel column reconfiguration unit 1107 controls the decoding control unit 1913.
  • the pixel row is reconfigured so as to become a pixel block.
  • the encoded data decoded by the video decoding device 1900 preferably has the same syntax structure as that of the video encoding device 100.
  • a syntax structure of encoded data decoded by the moving image decoding apparatus 1900 will be described.
  • the syntax structure 1400 mainly includes three parts.
  • the high level syntax 1401 includes syntax information of a higher layer than a slice representing a rectangular area or a continuous area included in a frame or a field.
  • the slice level syntax 1402 includes information necessary for decoding for each slice.
  • Macroblock level syntax 1403 includes information required for decoding for each macroblock.
  • High level syntax 1401 includes sequence and picture level syntax, such as sequence parameter set syntax 1404 and picture parameter set syntax 1405.
  • the slice level syntax 1402 includes a slice header syntax 1406 and a slice data syntax 1407.
  • the macroblock level syntax 1403 includes a macroblock layer syntax 1408 and a macroblock data syntax 1409.
  • the slice_direction_filter_flag shown in FIG. 15 is a syntax element indicating whether or not to perform inter-pixel filtering on the slice.
  • slice_directive_filter_flag is zero, it means that inter-pixel filtering is not performed on the slice. That is, regardless of the filter information, the filter selection switch 1102 connects the output terminal of the switch to the filter non-applied switch 1106.
  • slice_directive_filter_flag is 1, the inter-pixel filtering process is performed on the slice according to the flowchart described in FIG.
  • Mb_directive_filter_flag shown in FIG. 16 is a syntax element indicating whether or not to perform inter-pixel filter processing in a macroblock.
  • Mb_type indicates the coding type of the coding macroblock.
  • the mb_directive_filter_flag is encoded when the slice_directive_filter_flag is 1. When the directive_filter_flag is zero, it means that the inter-pixel filtering process is not performed on the macroblock. That is, regardless of the filter information, the filter selection switch 1102 connects the output terminal of the switch to the filter non-applied switch 1106.
  • mb_directive_filter_flag 1
  • the inter-pixel filtering process is performed in the macroblock according to the flowchart described in FIG.
  • the amount of information related to the selection of pixel filtering increases by several bits, but the optimal inter-pixel filtering for each local region of the image Can be turned on and off.
  • the moving picture coding apparatus uses pixels in a direction to cancel the stripe noise based on the quantization parameter, the non-zero number of transform coefficients, and the position of the non-zero transform coefficient.
  • the encoded data to which the inter-filter is applied can be decoded, and a decoded image signal with reduced stripe noise can be restored.
  • the moving picture decoding apparatus 2000 according to the fourth embodiment has substantially the same configuration as the moving picture decoding apparatus 1900 according to the first embodiment, but includes the addition unit 1905 and the inter-pixel filter processing unit 2001. The order is different.
  • the inter-pixel filter processing unit 2001 performs substantially the same operation as the inter-pixel filter processing unit 1908 according to the third embodiment, except that it receives a restored prediction error signal 1918 instead of a decoded image signal. That is, the inter-pixel filter processing unit 1908 receives the reconstructed prediction error signal 1918 from the inverse transform unit 1904, performs inter-pixel filter processing on the reconstructed prediction error signal 1918, and sends the reconstructed prediction error signal after the filter processing to the adder 1905. .
  • the inter-pixel filter processing unit 2001 has the same configuration as the inter-pixel filter processing unit 1701 according to the second embodiment shown in FIG. 18 and performs the same operation as the inter-pixel filter processing unit 1701. Description is omitted.
  • the restored prediction error signal 122 corresponds to the restored prediction error signal 1918.
  • the filtered decoded image signal 1926 and the restored prediction error signal 1918 are not distinguished.
  • the syntax structure according to the fourth embodiment can use the same structure as the syntax structure according to the first embodiment.
  • the third embodiment is obtained by decoding the encoded data of the pixel block that has been subjected to the inter-pixel filter processing so as to cancel the stripe noise in the restored prediction error signal. The same effect can be obtained.
  • syntax elements not defined in this embodiment may be inserted between lines in the syntax tables shown in FIG. 14 to FIG. 16, and descriptions related to other conditional branches may be included.
  • the syntax table may be divided into a plurality of tables, or a plurality of syntax tables may be integrated. Furthermore, it is not always necessary to use the same term, and it may be arbitrarily changed according to the form to be used.
  • the processing target frame is divided into short blocks of 16 ⁇ 16 pixel size, etc., and encoded and decoded sequentially from the upper left block to the lower right side as shown in FIG. 2A.
  • the encoding order and the decoding order are not limited to this.
  • encoding and decoding may be performed in order from the lower right to the upper left, or encoding and decoding may be performed in order from the center of the screen toward the outside in a spiral shape.
  • encoding and decoding may be performed in order from the upper right to the lower left, or encoding and decoding may be performed in order from the peripheral part to the center part of the screen.
  • the block size has been described as a 4 pixel ⁇ 4 pixel block, an 8 pixel ⁇ 8 pixel block, and a 16 pixel ⁇ 16 pixel block.
  • the prediction target block does not need to have a uniform block shape, and 16 Any block size such as a pixel ⁇ 8 pixel block, an 8 pixel ⁇ 16 pixel block, an 8 pixel ⁇ 4 pixel block, or a 4 pixel ⁇ 8 pixel block may be used.
  • the luminance signal and the color difference signal are not clearly described, and are described as an example limited to one color signal component.
  • different prediction methods may be used, or the same prediction method may be used.
  • the prediction method selected for the color difference signal is encoded or decoded by the same method as the luminance signal.
  • different conversion and inverse conversion processes may be used, or the same conversion and inverse conversion processes may be used.
  • the selected conversion and inverse conversion methods for the color difference signal are encoded or decoded in the same manner as the luminance signal.
  • the luminance signal and the color difference signal are not clearly shown, and are described as an example limited to one color signal component.
  • different inter-pixel filter processing methods may be used, or the same inter-pixel filter processing method may be used.
  • the inter-pixel filtering method selected for the color difference signal is encoded or decoded in the same manner as the luminance signal.
  • the instructions shown in the processing procedure shown in the above embodiment can be executed based on a program that is software.
  • a general-purpose computer system stores this program in advance and reads this program, so that the same effect as that obtained by the above-described moving picture encoding apparatus and decoding apparatus can be obtained.
  • the instructions described in the above-described embodiments are, as programs that can be executed by a computer, magnetic disks (flexible disks, hard disks, etc.), optical disks (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD). ⁇ R, DVD ⁇ RW, etc.), semiconductor memory, or a similar recording medium. As long as the recording medium is readable by the computer or the embedded system, the storage format may be any form.
  • the computer reads the program from the recording medium and causes the CPU to execute instructions described in the program based on the program, the computer performs the same operation as the moving picture encoding apparatus and decoding apparatus of the above-described embodiment. Can be realized.
  • the computer acquires or reads the program, it may be acquired or read through a network.
  • the OS operating system
  • database management software database management software
  • MW middleware
  • a part of each process for performing may be executed.
  • the recording medium in the present disclosure is not limited to a medium independent of a computer or an embedded system, and includes a recording medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.
  • the number of recording media is not limited to one, and the case where the processing in the present embodiment is executed from a plurality of media is included in the recording media in the present disclosure, and the configuration of the media may be any configuration.
  • the computer or the embedded system in the present disclosure is for executing each process in the present embodiment based on a program stored in a recording medium, and includes a single device such as a personal computer or a microcomputer, Any configuration such as a system in which apparatuses are connected to a network may be used.
  • the computer in the embodiment of the present disclosure is not limited to a personal computer, and includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and a device capable of realizing the functions in the embodiment of the present disclosure by a program, The device is a general term.
  • Macro block level syntax 1404 ... Sequence parameter set syntax, 1405 ... Picture parameter set syntax, 1406 ... Slice header syntax, 1407 ... Slice data syntax, 1408: Macroblock layer syntax, 1900, 2000: Moving picture decoding apparatus, 1901: Input buffer, 1902: Entropy decoding unit.

Landscapes

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

Abstract

 動画像を符号化するための方法は、変換係数を求める際に用いた変換基底に含まれる複数の周波数成分パターンのうちの変換係数の位置に対応する周波数成分パターンと、フィルタを適用するかどうかの情報及びフィルタを適用する場合は周波数成分パターンの特定方向のエッジを打ち消す方向を示すフィルタ方向とを対応付けたテーブルを選択する。方法は、逆量子化変換係数のうちの零ではない変換係数の数と量子化パラメータとに応じて決定されたフィルタ強度を含むフィルタ情報を設定し、予測画像信号と復元予測誤差信号とを加算して復号化画像信号を生成する。方法は、フィルタを適用する場合は、テーブルに基づいて、復号化画像信号の画素ブロックの画素間で、フィルタ方向が示す方向にフィルタ情報に応じたフィルタ処理を行いフィルタ処理後復号化画像信号を生成する。方法は、パラメータと、量子化変換係数とを含むデータを符号化し、符号化データを生成する。

Description

動画像符号化方法及び復号化方法、符号化装置及び復号化装置
 本発明の実施形態は、動画像を符号化及び復号化するために用いる動画像符号化方法及び復号化方法、符号化装置及び復号化装置に関する。
 近年、大幅に符号化効率を向上させた動画像符号化方法がITU-TとISO/IECとの共同で、ITU-T REC.H.264及びISO/IEC 14496-10(以下、「H.264」という。)として勧告されている。H.264では、4画素×4画素ブロック、及び8画素×8画素ブロックごとに離散コサイン変換(以下、DCT(Discrete Cosine Transform)という。)を用いた直交変換及び量子化処理と逆量子化及び逆直交変換処理とが行われる。これらの処理の際、ブロック境界の符号化歪みを低減するために、例えばループフィルタとして複数の画素間フィルタを選択する手法がある。また、量子化誤差によって発生するブロックノイズを低減するために、ローパスフィルタと輪郭強調フィルタとを量子化パラメータに基づいて選択し、デコード画像に対して適用する手法がある。
米国特許出願公開US2004/0032908号明細書 特開2003-18600号公報
 しかしながら、DCT及び量子化処理により、変換係数が特定の周波数成分にのみ発生した場合に、変換基底に含まれる周波数成分パターンの一部がそのまま予測画像と加算されて出力されることで、予期しない縦縞又は横縞状のノイズ(以下、ストライプノイズともいう)が発生する場合がある。ループフィルタとして複数の画素間フィルタを選択する手法では、ブロック境界の符号化歪みを低減することはできるが、DCT及び量子化に起因するブロック内のストライプノイズを低減することができない。また、量子化パラメータの値に基づいて、デブロッキングフィルタ又は輪郭強調フィルタを適応的に選択して適用する手法でも、同様にDCT及び量子化処理に起因するブロック内のストライプノイズを軽減することができない。さらにストライプノイズは方向性を有するため、輪郭強調フィルタを適用するとノイズ強調につながる。結局、ストライプノイズが後段のフレームに伝搬する問題を解決できずに主観画質が低下する。
 本開示は、上述の課題を解決するためになされたものであり、復号化された画像の主観画質を向上させることができる動画像符号化方法及び復号化方法、符号化装置及び復号化装置を提供することを目的とする。
 本実施形態に係る動画像符号化方法は、複数の画素信号を含む入力画像信号と該入力画像信号の予測画像信号との差分を示す予測誤差信号を変換して変換係数を生成し、量子化の粗さを示す量子化パラメータに基づいて、前記変換係数を量子化して量子化変換係数を生成する。前記方法は、前記量子化変換係数を逆量子化して逆量子化変換係数を生成し、前記逆量子化変換係数を逆変換して復元された予測誤差信号を示す復元予測誤差信号を生成する。前記方法は、前記変換係数を求める際に用いた変換基底に含まれる複数の周波数成分パターンのうちの前記変換係数の位置に対応する周波数成分パターンと、フィルタを適用するかどうかの情報及びフィルタを適用する場合は前記周波数成分パターンの特定方向のエッジを打ち消す方向を示すフィルタ方向とを対応付けたテーブルを選択する。前記方法は、前記逆量子化変換係数のうちの零ではない変換係数の数と前記量子化パラメータとに応じて決定されたフィルタ強度を含むフィルタ情報を設定し、前記予測画像信号と前記復元予測誤差信号とを加算して復号化画像信号を生成する。前記方法は、フィルタを適用する場合は、前記テーブルに基づいて、前記復号化画像信号の画素ブロックの画素間で、前記フィルタ方向が示す方向に前記フィルタ情報に応じたフィルタ処理を行いフィルタ処理後復号化画像信号を生成する。加えて、前記方法は、前記量子化パラメータと、前記量子化変換係数とを含むデータを符号化し、符号化データを生成することを具備することを特徴とする。
 また、本実施形態に係る動画像復号化方法は、複数の画素信号を含む入力画像信号と該入力画像信号の予測画像信号との差分を示す予測誤差信号が変換され量子化された量子化変換係数と、量子化の粗さを示す量子化パラメータと、を含んで符号化された符号化データを復号化して前記量子化変換係数と前記量子化パラメータとを得る。前記方法は、前記量子化変換係数を逆量子化して逆量子化変換係数情報を生成し、前記逆量子化変換係数を逆変換して復元された予測誤差信号を示す復元予測誤差信号を生成する。前記方法は、前記変換係数を求める際に用いた変換基底に含まれる複数の周波数成分パターンのうちの前記変換係数の位置に対応する周波数成分パターンと、フィルタを適用するかどうかの情報及びフィルタを適用する場合は前記周波数成分パターンの特定方向のエッジを打ち消す方向を示すフィルタ方向とを対応付けたテーブルを選択する。前記方法は、前記逆量子化変換係数のうちの零ではない変換係数の数と前記量子化パラメータとに応じて決定されたフィルタ強度を含むフィルタ情報を設定し、前記予測画像信号と前記復元予測誤差信号とを加算し復号化画像信号を生成する。前記方法は、フィルタを適用する場合は、前記テーブルに基づいて、前記復号化画像信号の画素ブロックの画素間で、前記フィルタ方向が示す方向に前記フィルタ情報に応じたフィルタ処理を行いフィルタ処理後復号化画像信号を生成することを具備することを特徴とする。
第1の実施形態に係る動画像符号化装置を示すブロック図。 符号化対象画素ブロックと符号化処理の方向とを示す図。 符号化処理ブロックの単位となる画素ブロックの一例を示す図。 イントラ予測モードにおける符号化対象画素の配置と予測モードの一例とを示す図。 本実施形態に係る変換部を示すブロック図。 本実施形態に係る逆変換部を示すブロック図。 本実施形態に係るフィルタ方向設定部を示すブロック図。 4×4DCT/IDCTに対応するフィルタ方向テーブルの一例を示す図。 8×8DCT/IDCTに対応するフィルタ方向テーブルの一例を示す図。 16×16DCT/IDCTに対応するフィルタ方向テーブルの一例を示す図。 8×8DCTに用いられる変換基底の一例を示す図。 本実施形態に係るフィルタ情報設定部を示すブロック図。 フィルタ強度設定テーブルの一例を示すブロック図。 画素間フィルタ処理部の一例を示すブロック図。 8×8DCTにおける変換基底の周波数成分パターンと、8画素×8画素ブロックにおける画素間フィルタ処理の一例を示す図。 本実施形態における画素間フィルタ処理を示すフローチャート。 シンタクス構造の一例を示す図。 スライスヘッダーシンタクスに含まれる情報を示す図。 マクロブロックレイヤーシンタクスに含まれる情報を示す図。 第2の実施形態における動画像符号化装置を示すブロック図。 第2の実施形態における画素間フィルタ処理部を示すブロック図。 第3の実施形態における動画像復号化装置を示すブロック図。 第4の実施形態における動画像復号化装置を示すブロック図。
 以下、図面を参照しながら本実施形態に係る動画像符号化方法及び復号化方法、符号化装置及び復号化装置について詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
 (第1の実施形態) 
 <動画像符号化装置> 
 第1の実施形態に係る動画像符号化方法を実現する動画像符号化装置について図1を参照して説明する。 
 第1の実施形態に係る動画像符号化装置100は、減算部101、変換部102、量子化部103、逆量子化部104、逆変換部105、加算部106、フィルタ方向設定部107、フィルタ情報設定部108、画素間フィルタ処理部109、参照画像メモリ110、イントラ予測画像生成部111、インター予測画像生成部112、予測選択スイッチ113、エントロピー符号化部114を含む。また、動画像符号化装置100は、符号化制御部115と接続され、符号化制御部115によって動画像符号化装置100全体の動作が制御される。また、動画像符号化装置100は、出力バッファ116と接続される。
 減算部101は、外部からの入力画像信号117と、後述する予測選択スイッチ113により選択された予測画像信号128とを受け取り、入力画像信号117から予測画像信号128を減算して予測誤差信号118を生成する。入力画像信号117は、動画像又は静止画像の信号であり、画素ブロック単位、例えばマクロブロック単位に分割されて動画像符号化装置100に入力される。また、入力画像信号117は、フレーム及びフィールドの両方を含む1つの符号化の処理単位である。なお、本実施形態では、フレームを1つの符号化の処理単位とする例について説明する。 
 変換部102は、減算部101から予測誤差信号118を受け取り、符号化制御部115で制御される符号化モードに従ってDCTのような直交変換を行い、変換係数119を生成する。具体的に、変換部102は、符号化制御部115から変換基底を示す変換基底情報を受け取る。なお、ここでは例としてDCTを用いているが、アダマール変換又はカルーネン・レーベ変換(KLT)、離散サイン変換(DST)などの直交変換を用いてもよいし、非直交変換を用いてもよい。
 量子化部103は、変換部102から変換係数119を受け取り、符号化制御部115によって与えられる量子化情報に従って、変換係数119を量子化し量子化変換係数120を生成する。量子化情報は、例えば、量子化の細かさを示す量子化パラメータ、量子化の細かさを変換係数119の成分ごとに重み付けする量子化マトリクスである。なお、量子化処理は、量子化パラメータで制御される量子化幅で変換係数を割ることに相当する処理である。 
 逆量子化部104は、量子化部103から量子化変換係数120を受け取り、量子化変換係数120に対して逆量子化処理を行い、逆量子化変換係数121を生成する。逆量子化処理は、量子化パラメータに示される量子化幅を量子化変換係数120に乗算する処理である。ここでは、量子化部103で用いられた量子化情報が符号化制御部115の内部メモリ(図示せず)からロードされて逆量子化処理が行われる。 
 逆変換部105は、逆量子化部104から逆量子化変換係数121を受け取り、逆量子化変換係数121を逆変換して復元予測誤差信号122を生成する。ここでは、例えば変換部102でDCTが行われている場合は、逆離散コサイン変換(以下、IDCTともいう)が行われる。なお、変換部102においてアダマール変換、カルーネン・レーベ変換、離散サイン変換などの直交変換が用いられている場合、これらの直交変換にそれぞれ対応した直交変換基底を用いて逆変換を行う。なお、逆変換部105は、それぞれの変換基底情報を変換部102から受け取ってもよいし、符号化制御部115から受け取ってもよい。
 加算部106は、逆変換部105から復元予測誤差信号122を、後述する予測選択スイッチ113を通じて予測画像信号128をそれぞれ受け取り、復元予測誤差信号122と予測画像信号128とを加算して復号化画像信号124を生成する。なお、復号化画像信号124は局所復号化画像信号である。 
 フィルタ方向設定部107は、逆変換部105から変換基底情報123を受け取り、変換基底情報123に従って、予め規定された変換方法によって定められるフィルタ方向テーブル125を設定する。フィルタ方向設定部107の詳細な動作については、図6を参照して後述する。 
 フィルタ情報設定部108は、逆量子化部104から逆量子化変換係数121を受け取り、符号化制御部115からの量子化情報に従って、フィルタ情報126を設定する。フィルタ情報126は、フィルタ強度情報、フィルタ種類情報、フィルタタップ長情報、フィルタ適応信号情報などのフィルタに関する情報が含まれる。フィルタ情報設定部108の詳細な動作については、図9を参照して後述する。 
 画素間フィルタ処理部109は、加算部106から復号化画像信号124を、フィルタ方向設定部107からフィルタ方向テーブル125を、フィルタ情報設定部108からフィルタ情報126をそれぞれ受け取り、画素ごとにフィルタ処理を行う。画素間フィルタ処理部109の詳細な動作については、図11を参照して後述する。
 参照画像メモリ110は、画素間フィルタ処理部109からフィルタ処理された復号化画像信号を受け取り、参照画像信号127として格納される。 
 イントラ予測画像生成部111は、参照画像メモリ110から参照画像信号127を受け取り、予測方向に応じてイントラ予測を行い、予測画像信号を生成する。 
 インター予測画像生成部112は、参照画像メモリ110から参照画像信号127を受け取り、画素ブロックの対応する入力画像信号117に基づいて、ブロックマッチング処理を行い、動きのズレ量(動きベクトル)を算出する。この動きベクトルに基づいて補間処理を行い、予測画像信号を生成する。H.264では、4分の1画素精度までの補間画像処理が可能である。
 予測選択スイッチ113は、符号化制御部115からの予測情報に基づいて、イントラ予測画像生成部111からの予測画像か、インター予測画像生成部112からの予測画像かを選択し、予測画像信号128とする。予測情報がイントラ予測である場合は、スイッチの出力端をイントラ予測画像生成部111へと接続する。一方、予測情報がインター予測である場合は、スイッチの出力端をインター予測画像生成部112へと接続する。 
 エントロピー符号化部114は、量子化部103から量子化変換係数120を受け取り、量子化変換係数120に対してエントロピー符号化、例えばハフマン符号化や算術符号化などを行う。エントロピー符号化部114は、符号化制御部115で制御される予測情報(動きベクトルや参照情報など)や変換情報、量子化情報など、画素ブロックを符号化したときに用いた様々な符号化パラメータに対してエントロピー符号化を行い、符号化データ129を生成する。なお、符号化パラメータとは、予測情報、変換係数に関する情報、量子化に関する情報の復号化の際に必要となるパラメータである。なお、画素ブロックの符号化パラメータは、符号化制御部115が持つ内部メモリに保持され、画素ブロックが他の画素ブロックの隣接ブロックとして用いられる際に利用される。
 エントロピー符号化部114により生成された符号化データ129は、動画像符号化装置100から出力され、多重化などを経て出力バッファ116に一旦蓄積された後、符号化制御部115が管理する適切な出力タイミングに従って出力される。符号化データ129は、例えば、図示しない蓄積系(蓄積メディア)又は伝送系(通信回線)へ送信される。
 <モード判定の例> 
 符号化制御部115は、予測情報などを含む符号化パラメータを制御する。例えば、減算部101、変換部102、量子化部103、逆量子化部104、逆変換部105、画素間フィルタ処理部109、参照画像メモリ110、予測選択スイッチ113、そして減算部101へと至る一連のループを、1つの予測処理ループとする。このとき、符号化制御部115は、規定される複数の符号化モードを繰り返すことによって最適な符号化モードを選択することが可能である。例えば、イントラ予測画像生成部111がイントラ予測を行う際には、符号化制御部115から予測情報がイントラ予測画像生成部111へ送られ、この値に従って予測画像信号128が生成される。予測情報には、イントラ予測又はインター予測が選択可能であり、イントラ予測又はインター予測それぞれに対して更に複数の予測モードが存在してもよい。 
 これらの予測モードの判定についてより具体的に説明すると、次式のようなコストを用いて予測情報(又は予測モード)を決定する。予測モードを選択した際に必要となる予測情報に関する符号量(例えば、動きベクトルの符号量、予測ブロックサイズの符号量)をOH、入力画像信号と予測画像信号との差分絶対和(予測誤差信号118の絶対累積和を意味する)をSADとすると、以下の判定式を用いる。 
  K=SAD+λ×OH・・・(1) 
 ここでKはコスト、λは定数をそれぞれ表す。λは量子化パラメータの値に基づいて決められるラグランジュ未定乗数である。本判定式では、コストKが最も小さい値を与えるモードが最適な予測モードとして選択される。
 式(1)に代えて(a)予測情報のみ、(b)SADのみ、を用いて予測情報の決定を行ってもよいし、(b)にアダマール変換などを行った値、又はそれに近似した値を利用してもよい。 
 さらに別の例として、仮符号化ユニットを用意し、仮符号化ユニットによりある予測モードで生成された予測誤差信号118を実際に符号化した場合の符号量と、入力画像信号117と復号化画像信号124との間の二乗誤差を用いて予測情報を決定してもよい。この場合の判定式は、以下のようになる。 
  J=D+λ×R・・・(2) 
ここで、Jは符号化コスト、Dは入力画像信号117と復号化画像信号124との間の二乗誤差を表す符号化歪みである。一方、Rは仮符号化によって見積もられた符号量を表している。 
 式(2)の符号化コストJを用いると、予測モードごとに仮符号化と局部復号化処理が必要となるため、回路規模又は演算量は増大する。反面、より正確な符号量と符号化歪みとを用いるため、高い符号化効率を維持することができる。式(2)に代えてRのみ、又はDのみを用いてコストを算出してもよいし、R又はDを近似した値を用いてコスト関数を作成してもよい。
 次に、符号化又は復号化の処理対象となる処理ブロックと符号化処理方向とについて図2A及び図2Bを参照して説明する。 
 本実施形態では、説明を簡単にするため図2Aに示すように、画面左上から画面右下に向かってラスタースキャンで順次符号化処理が行われると想定する。図2Aでは、符号化処理されている符号化フレームfにおいて、符号化対象となるブロックcよりも左及び上に位置するブロックが符号化済みブロックpである。 
 また、本実施形態では、マクロブロックを符号化処理の基本的な処理ブロックサイズとする。マクロブロックは、図2Bに示すように16画素×16画素ブロック単位であるが、32画素×32画素、64画素×64画素、8画素×8画素ブロック単位であってもよい。また、マクロブロックの形状は必ずしも正方格子である必要は無く、矩形であってもよい。なお以下では、入力画像信号117の符号化対象ブロック又はマクロブロックを単に「画素ブロック」ともいう。
 次に、H.264で用いられるイントラ予測の予測方向について図3を参照して説明する。 
 図3(a)はイントラ予測の予測方向である方向予測モードを示し、モード0からモード8までの9つの予測方向がある。図3(b)は参照画素と符号化対象画素の配置を示し、符号化対象画素はaからpまでの画素であり、これらの符号化対象画素に対して、AからMまでの参照画素を用いて図3(a)のいずれかのモードを用いてイントラ予測を行う。図3(c)及び(d)はそれぞれ、モード1の水平方向の予測、及びモード4の直交右下方向の予測を示す。なお、予め定められた補間方法を用いて画素値を補間した後に、予め定められた予測方向に補間画素値をコピーしてもよい。
 <変換部102> 
 次に、変換部102について図4のブロック図を参照して説明する。 
 変換部102は、第1変換部401、第2変換部402、第N変換部403(Nは3以上の自然数)、及び基底選択スイッチ404を含む。 
 第1変換部401、第2変換部402、及び第N変換部403はそれぞれ、予測誤差信号118を受け取った場合に、予測誤差信号118を変換して変換係数119を生成する。第1の実施形態では、第1変換部401では4×4DCT、第2変換部402では8×8DCT、第N変換部403では16×16DCTが行われる。 
 なお、ここではN種類の変換部を含む例を示すが、同じ変換方法で変換サイズが複数あってもよいし、異なる変換方法を行う変換部が複数あってもよいし、さらにそれぞれ混在してもよい。例えば、第1変換部401が4×4サイズDCT、第2変換部402が8×8サイズDCT、第N変換部403が16×16サイズDCTと設定することもできるし、第1変換部401が4×4サイズDCT、第2変換部402が4×4サイズDST、第N変換部403が8×8サイズKLTと設定することもできる。なお、直交変換でない変換を選択してもよいし、単一の変換であってもよい。単一の変換である場合は、第1変換部401だけでよい。
 基底選択スイッチ404は、減算部101から予測誤差信号118を、符号化制御部115から変換基底情報123をそれぞれ受け取り、変換基底情報123に従って変換部を選択する。変換基底情報123は、例えば、H.264では、4画素×4画素ブロックのイントラ予測時には4×4DCTが、8画素×8画素ブロックのイントラ予測時には8×8DCTが設定される。本実施形態では、変換基底情報123が第1変換を指す場合には、スイッチの出力端を第1変換部401に接続する。同様に、変換基底情報123が第2変換である場合は、出力端を第2変換部402に、変換基底情報123が第N変換である場合は、出力端を第N変換部403に接続する。
 <逆変換部105> 
 次に、逆変換部105について図5のブロック図を参照して説明する。 
 逆変換部105は、第1逆変換部501、第2逆変換部502、第N逆変換部503、及び基底選択スイッチ504を含む。 
 第1逆変換部501、第2逆変換部502、及び第N逆変換部503はそれぞれ、量子化部103から逆量子化変換係数121を受け取った場合に、逆量子化変換係数121を逆変換して復元予測誤差信号122を生成する。 
 基底選択スイッチ504は、図4に示す基底選択スイッチ404と同様に、逆量子化部104から逆量子化変換係数121を受け取り、入力された変換基底情報123に従って逆変換部を選択する。変換基底情報123は、符号化制御部115から適切なタイミングで入力される。
 変換基底情報123が第1変換である場合は、スイッチの出力端を第1逆変換部501に接続する。同様に、変換基底情報123が第2変換である場合は、出力端を第2逆変換部502に接続し、変換基底情報123が第N変換である場合は、出力端を第N逆変換部503に接続する。ここで、変換部102に設定される変換基底情報123と逆変換部105に設定される変換基底情報123は同一であり、変換部102で行われた変換に対応する逆変換が逆変換部105で行われる。つまり、第1逆変換部501では4画素×4画素ブロックのIDCTが行われ、第2逆変換部502では8画素×8画素ブロックのIDCTが行われる。同様に第N逆変換部503では16画素×16画素ブロックのIDCTが行われる。ここでは例としてIDCTを用いる例を示したが、アダマール変換やカルーネン・レーベ変換、離散サイン変換などの直交変換を使ってもよいし、非直交変換を用いてもよく、変換部102において行われた変換に対応する逆変換が行われればよい。
 <フィルタ方向設定部107> 
 次に、フィルタ方向設定部107について図6のブロック図を参照して説明する。 
 フィルタ方向設定部107は、第1フィルタ方向選択テーブル601、第2フィルタ方向選択テーブル602、第Nフィルタ方向選択テーブル603、及び基底選択スイッチ604を含む。 
 第1フィルタ方向選択テーブル601、第2フィルタ方向選択テーブル602、及び第Nフィルタ方向選択テーブル603はそれぞれ、固定メモリに保持されたテーブル情報であり、基底選択スイッチ604の出力端が接続されると、テーブル情報がフィルタ方向テーブル125として出力される。 
 基底選択スイッチ604は、図4、図5を参照して説明した基底選択スイッチ404、504と同様に動作し、変換基底情報123に従って、スイッチの出力端をそれぞれ、第1フィルタ方向選択テーブル601、第2フィルタ方向選択テーブル602、及び第Nフィルタ方向選択テーブル603に接続し、変換基底情報123に対応したテーブル情報がロードされる。なお、基底選択スイッチ604は、変換基底情報123を逆変換部105から受け取ってもよいし、符号化制御部115から受け取ってもよい。
 ここで、フィルタ方向設定部107におけるフィルタ方向テーブルについて図7A及び図7Cを参照して説明する。 
 図7Aは、4画素×4画素ブロックに対するフィルタ方向テーブルを示し、図7Bは8画素×8画素ブロックに対するフィルタ方向テーブルを示し、図7Cは16画素×16画素ブロックに対するフィルタ方向テーブルを示す。図中の(x、x)(xは任意の正の整数)は、変換ブロック内の周波数成分を示す。例えば、図7Bの例では、(0,0)はDCTのDC成分、(7,7)は最高周波数成分(右下の成分)の周波数成分パターンを示す。表中の「NA」は、その周波数成分においてフィルタ方向が無い、すなわちフィルタを適用しないことを示す。一方、表中の「0」は、水平方向にフィルタを適用することを示し、表中の「1」は、垂直方向にフィルタを適用することを示す。
 次に、DCTの変換基底の一例について図8を参照して説明する。 
 図8は、8×8DCTの変換基底に含まれる64個の周波数成分パターンを示す。図7に示したフィルタ方向テーブル中のフィルタ方向は、周波数成分パターンがある特定方向にエッジを有する場合に、エッジを打ち消す方向に設定される。具体的には、変換係数の位置として、周波数成分パターン801にのみ係数が存在した場合は、逆変換を行った際に生成された復元予測誤差信号が特定方向(ここでは、周波数成分パターンは縦縞であるから、白と黒が交互に出現する水平方向)にエッジを有することになる。この場合、水平方向に画素間フィルタを適用すればエッジが軽減されるので、エッジを打ち消す方向とは水平方向となり、フィルタ方向は水平方向に設定される。同様に、周波数成分パターン802の場合は、横縞であるから垂直方向にエッジを有することになるので、エッジを打ち消す方向は垂直方向となり、フィルタ方向は水平方向に設定される。
 言い換えると、周波数成分パターン801は、縦縞であり垂直方向の方向性を有するので、この方向性を打ち消すように、縦縞に直交する方向、すなわち水平方向にフィルタを適用する。一方、周波数成分パターン802は、横縞であり水平方向の方向性を有するので、水平方向に直交する垂直方向にフィルタを適用する。
 ここでは、変換部102においてDCTによる変換が行われる場合を想定し、水平方向又は垂直方向の2つの方向についてフィルタを適用する場合を説明するが、フィルタ方向は、水平方向、垂直方向以外の方向でもよい。この場合、図7Aから図7Cに示されるフィルタ方向テーブルにそれぞれ対応する方向のインデックスを持たせ、選択できるようにすればよい。すなわち、どのような変換に対しても、周波数成分パターンによるエッジを打ち消す方向にフィルタを適用すればよい。
 <フィルタ情報設定部108> 
 次に、フィルタ情報設定部108について図9のブロック図を参照して説明する。 
 フィルタ情報設定部108は、非ゼロカウント部901及びフィルタ強度算出部902を含む。 
 非ゼロカウント部901は、逆量子化部104から逆量子化変換係数121を受け取り、量子化部103における量子化処理でゼロとならない変換係数(非零変換係数)の個数をカウントして、非ゼロ数903を求める。 
 フィルタ強度算出部902は、非ゼロカウント部901から非ゼロ数903を、符号化制御部115から量子化情報(例えば、量子化パラメータ)をそれぞれ受け取り、非ゼロ数903と量子化パラメータとに関するフィルタ強度設定テーブルに基づいて、フィルタの強さ又はフィルタの種類を含むフィルタ情報126を算出する。
 ここで、フィルタ強度算出部902でのフィルタ強度設定テーブルの一例について図10を参照して説明する。 
 非ゼロ数903と量子化パラメータ(以下、QPともいう)とに基づいて、フィルタ強度が設定される。例えば、非ゼロ数が1であり、かつQP<10である場合は、フィルタ強度は「3」に設定され、非ゼロ数が3であり、かつ10≦QP<20である場合は、フィルタ強度は「2」に設定され、非ゼロ数が4である場合には、フィルタ強度は「0」に設定される。非ゼロ数が1の場合、変換基底の重ね合わせが無いために、発生した逆量子化変換係数121に対応する周波数成分で復元された復元予測誤差信号122がそのまま予測画像信号128に加算されることになる。
 例えば、図8に示す変換基底の周波数成分パターン801(7,0)成分にのみ逆量子化変換係数が存在する場合では、垂直方向の復元予測誤差信号122がそのまま予測画像信号128と加算され、意図しない垂直方向のストライプノイズが発生する場合がある。また、このノイズは、特に量子化パラメータが大きい場合(ビットレートが低い場合)に顕著となり、復号化画像信号124の主観画質の低下を招く要因となる。そこで、逆量子化変換係数121の非ゼロ数903が少ないほどフィルタ強度が強くなるように設定し、さらに量子化パラメータの値が大きいほどフィルタ強度を強くするようなフィルタ情報126の設定を行う。
 <画素間フィルタ処理部109> 
 次に、画素間フィルタ処理部109について図11のブロック図を参照して説明する。 
 画素間フィルタ処理部109は、画素列選択部1101、フィルタ選択スイッチ1102、第1画素間フィルタ1103、第2画素間フィルタ1104、第N画素間フィルタ1105、フィルタ非適用スイッチ1106、及び画素列再構成部1107を含む。画素間フィルタ処理部109は、フィルタ方向テーブル125及びフィルタ情報126に基づいてフィルタ処理を行うかどうかを判定する。フィルタ方向テーブル125及びフィルタ情報126が「フィルタ処理を行うこと」を示す場合、画素間フィルタ処理部109は、復号化画像信号124に対して、フィルタ方向テーブル125及びフィルタ情報126に従ったフィルタ処理を行う。フィルタ方向テーブル125またはフィルタ情報126が「フィルタ処理を行わないこと」を示す場合、画素間フィルタ処理部109は、復号化画像信号124に対してフィルタ処理を行わない。
 画素列選択部1101は、加算部106から復号化画像信号124を、フィルタ方向設定部107からフィルタ方向テーブル125をそれぞれ受け取り、フィルタ方向テーブル125に示されるフィルタ方向のインデックスに従って、フィルタ処理を行うかどうかを判定し、フィルタ処理を行う場合は、復号化画像信号124から画素間フィルタを適用する画素列を選択する。 
 フィルタ選択スイッチ1102は、フィルタ情報設定部108からフィルタ情報126を、画素列選択部1101から画素列をそれぞれ受け取り、後述する画素間フィルタ1103から1105までに接続する。また、画素列選択部1101でフィルタ処理を行わないと判定された場合は、フィルタ非適用スイッチ1106に接続する。
 具体的に、図10に示されるフィルタ強度に基づいてスイッチを切り替える例を説明する。フィルタ強度はフィルタ情報126に含まれる情報の1つであり、0から5までのインデックスに従って、フィルタ選択スイッチ1102の出力端が第1画素間フィルタから第N画素間フィルタ(ここでは、N=5)へと接続される。ここで、第1画素間フィルタ1103は、フィルタ強度が「5」の画素間フィルタ処理に対応し、フィルタ非適用スイッチ1106はフィルタ強度がゼロ、つまりフィルタ処理を行わないことに対応する。つまり、第1画素間フィルタ、第2画素間フィルタ、第3画素間フィルタ、第4画素間フィルタ、第5画素間フィルタ、及びフィルタ非適用スイッチの6種類の選択が可能である。また、フィルタ選択スイッチ1102のスイッチ切り替えのタイミングは、符号化制御部115に管理される。
 画素間フィルタ1103から1105までは、予め定められたフィルタに基づいて、フィルタ選択スイッチ1102を介して入力された画素列に画素間フィルタを適用する。画素間フィルタは例えば、平均値フィルタである。第1画素間フィルタ1103、第2画素間フィルタ1104、第N画素間フィルタ1105は、フィルタの種類、フィルタのタップ長、フィルタの係数などいずれかが異なる。なお、ハードウェア実現時に1つのまとめられる機能については、同じ画素間フィルタとしてもよい。例えば、フィルタの種類、タップ長が同一であり、フィルタの係数が異なる場合、フィルタの係数セットをメモリに保持しておき、その都度ロードすることにより異なるフィルタを1つの画素間フィルタとしてもよい。本実施形態では、例えばH.264のデブロッキングフィルタ処理で用いられているフィルタ強度0から5までに従ってフィルタ処理を行う。
 フィルタ非適用スイッチ1106は、フィルタ選択スイッチ1102が接続された場合は、画素列についてフィルタ処理を行わずに後述の画素列再構成部1107へ送る。
 画素列再構成部1107は、符号化制御部115に制御されるタイミングで第1画素間フィルタ1103から第N画素間フィルタ1105まで、及びフィルタ非適用スイッチから入力されてきたフィルタ処理後の画素列を逐次バッファし、画素ブロックとして再構成する。 
 符号化制御部115は、画素ブロック内のすべての画素列に対して画素間フィルタが実行されて再構成されるまで画素間フィルタ処理部109を制御する。最終的に、画素間フィルタ処理部109においてフィルタ処理後復号化画像信号130が生成される。
 ここで、図7Bのフィルタ方向テーブル125を参照し、(7,0)にのみ逆量子化変換係数が存在した場合のフィルタ方向及び画素間フィルタ処理について図12を参照して説明する。 
 この場合、図8に示される最右上の変換基底の周波数成分パターン801が用いられて復元予測誤差信号122が復元される。この変換基底は垂直方向に縦縞を有するため、この方向に対して90度回転した方向、すなわち水平方向の画素列を選択する。つまり、図7Bよりフィルタ方向は「0」(水平方向)であるため、(0,0)から(0,7)までの画素列に対して水平方向に画素間フィルタが適用されることとなる。これらの画素列の出力タイミングは、符号化制御部115によって管理され、画素列が適切なタイミングで画素列選択部1101から出力される。画素ブロック内の画素列全てに対して、画素間フィルタ1103から1105まで、及びフィルタ非適用スイッチ1106のいずれかの処理が行われ、画素列再構成部1107が符号化制御部115の制御するタイミングで画素ブロックとなるように画素列を再構成する。
 次に、画素間フィルタ処理部109における画素間フィルタ処理について図13のフローチャートを参照して説明する。 
 ステップS1301では、復号化画像信号124が入力されると画素間フィルタ処理が開始される。
 ステップS1302では、フィルタ方向設定部107が、変換基底情報123に従ってフィルタ方向テーブル125を設定する。
 ステップS1303では、フィルタ情報設定部108が、逆量子化変換係数121と量子化パラメータとに従ってフィルタ情報を設定する。
 ステップS1304では、符号化制御部115が、画素ブロック内の画素列の個数を制御するblk_idxを初期化するとともにMAX_IDXを設定する。blk_idxは画素ブロック内の画素列の位置を示しており、MAX_IDXは最大画素列を示している。例えば、図8の8×8DCTの例で説明すると、(0,0)から(0,7)までの垂直方向の画素列がblk_idx=0に対応する。ここで、8×8DCTでは、MAX_IDX=7となる。
 ステップS1305では、画素列選択部1101が、フィルタ方向テーブル125を参照して、フィルタを適用するかどうか、フィルタを適用する場合はフィルタ方向が垂直方向又は水平方向のどちらであるかを判定する。フィルタ方向が垂直方向(図7に示すフィルタ方向が1)である場合は、ステップS1306へ進み、フィルタ方向が水平方向(図7に示すフィルタ方向が0)である場合は、ステップS1307へ進み、NAの場合は、フィルタ処理を行わないためステップS1313へ進む。
 ステップS1306では、垂直方向にフィルタを適用するため、水平方向の画素列を選択する。
 ステップS1307では、水平方向にフィルタを適用するため、垂直方向の画素列を選択する。
 ステップS1308では、blk_idxがMAX_IDXよりも小さいかどうかを判定する。blk_idxがMAM_IDXより小さい場合、ステップS1309へ進む。blk_idxがMAM_IDX以上である場合、ステップS1313へ進む。
 ステップS1309では、フィルタ選択スイッチ1102が、フィルタ情報126に従って画素間フィルタ及びフィルタ非適用スイッチのいずれかを選択する。
 ステップS1310では、画素列がフィルタ選択スイッチ1102を介して、選択された画素間フィルタにより画素間フィルタ処理される。また、フィルタ選択スイッチ1102によりフィルタ非適用スイッチ1106が選択された場合は、画素列がフィルタ処理されずそのまま出力される。
 ステップS1311では、フィルタ処理された画素列が画素列再構成部1107に格納される。
 ステップS1312では、符号化制御部115が、blk_idxを1つインクリメントし、ステップS1308へ戻り、同様の処理を繰り返す。
 ステップS1313では、画素列再構成部1107が、画素列を再構成しフィルタ処理後復号化画像信号を生成する。
 ステップS1314では、フィルタ処理後復号化画像信号が画素間フィルタ処理部109から出力される。
 以上で、1つの画素ブロックに対する画素間フィルタ処理が終了する。
 尚、blk_idx=6の場合、(0,6)と(0,7)の2つの画素列に対して画素間フィルタが行われる。(0,7)に対応する画素列に画素間フィルタを適用する場合、未符号化の右側の隣接ブロックの画素列が必要となる。ここではデブロックキングフィルタ等のブロック間を跨ぐフィルタ処理を想定しているため、本画素列には画素間フィルタを適用しない例を示しているが、画素ブロック毎の符号化遅延を許容する場合、符号化済みの隣接画素列を使って、本画素列の画素間フィルタを適用してもよい。 
 また、本実施の形態では、blk_idx=0の場合、(0,0)と(0,1)の2つの画素列に対して画素間フィルタが行われる。ここで、当該画素ブロックの左側の隣接画素ブロックの符号化が完了している場合、隣接画素の画素列を使って画素間フィルタを適用することも可能である。
 <シンタクス構造> 
 次に、動画像符号化装置100におけるシンタクス構造について図14を参照して説明する。 
 シンタクス構造1400は、動画像データを符号化する際の符号化データの構造を表す。この符号化データを復号化する際には、同じシンタクス構造を持つ復号化装置でシンタクス解釈を行う。図14に示すように、シンタクス構造1400は主に3つのパートを含む。ハイレベルシンタクス1401は、フレーム又はフィールドに含まれる矩形領域若しくは連続領域を表すスライスに対して、これより上位レイヤのシンタクス情報を含む。スライスレベルシンタクス1402は、スライスごとに復号化に必要な情報を含む。マクロブロックレベルシンタクス1403は、マクロブロックごとに復号化に必要とされる情報を含む。
 各パートは、さらに詳細なシンタクスで構成される。ハイレベルシンタクス1401は、シーケンスパラメータセットシンタクス1404及びピクチャパラメータセットシンタクス1405などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス1402は、スライスヘッダーシンタクス1406、スライスデータシンタクス1407を含む。マクロブロックレベルシンタクス1403は、マクロブロックレイヤーシンタクス1408、マクロブロックデータシンタクス1409を含む。
 第1の実施形態に係るスライスヘッダーシンタクス1406の一例について図15を参照して説明する。 
 図15中に示されるslice_directional_filter_flagは、スライスに画素間フィルタ処理を行うかどうかを示すシンタクス要素である。slice_directional_filter_flagがゼロである場合、スライスに画素間フィルタ処理を行わないことを意味する。つまり、フィルタ情報に関わらず、フィルタ選択スイッチ1102は、スイッチの出力端をフィルタ非適用スイッチ1106に接続する。一方、slice_directional_filter_flagが1である場合、図13で説明したフローチャートに従って、スライスで画素間フィルタ処理が行われる。
 第1の実施形態に係るマクロブロックレイヤーシンタクス1408の一例について図16を参照して説明する。図16中に示されるmb_directional_filter_flagは、画素ブロックで画素間フィルタ処理を行うかどうかを示すシンタクス要素である。また、mb_typeは、符号化マクロブロックの符号化タイプを示す。mb_directional_filter_flagは、slice_directional_filter_flagが1であるときに符号化される。directional_filter_flagがゼロである場合、マクロブロックに画素間フィルタ処理を行わないことを意味する。つまり、フィルタ情報に関わらず、フィルタ選択スイッチ1102は、スイッチの出力端をフィルタ非適用スイッチ1106に接続する。
 一方、mb_directional_filter_flagが1である場合、図13で説明したフローチャートに従って、画素ブロックで画素間フィルタ処理が行われる。マクロブロックレイヤーで画素間フィルタ処理を行うかどうかを示すフラグを符号化することによって、画素フィルタ処理の選択に関わる情報量は数ビット増えるが、画像の局所領域ごとに最適な画素間フィルタ処理のオンオフを行うことができる。
 第1の実施形態では、画素ブロックの単位で画素間フィルタ処理を行うかどうかを切り替えることが可能である。このため、画素ブロックごとの符号化ループとともに画素ブロックに画素間フィルタ処理を行うかどうかを判定することができる。例えば、画素間フィルタ処理適用後の復元画像信号と非適用の復元画像信号とに対して式(2)で示されるモード判定コストを計算し、コストの小さい方を選択するといった画素ブロックごとに画像信号の適用選択ができる。
 <第1の実施形態の第1の適用例:ポスト/オンザフライ処理> 
 第1の実施形態では、復号化画像信号124に対して、画素間フィルタ処理を行う。このため、画素ブロックごとの符号化ループに依存せずに画素間フィルタ処理が適用される。つまり、画素間フィルタ処理は符号化スライス全体の符号化処理が完了し、符号化スライス全体の局部復号化処理が完了した後にまとめて実施することもできるし、画素ブロック単位で局部復号化処理を行う際に、その都度実施することもできる。いずれにしてもハードウェアの設計に従って最適な処理構成とすることができる。
 <第1の実施形態の第2の適用例:ポストフィルタ/ループフィルタ処理> 
 第1の実施形態では、復号化画像信号124に対して画素間フィルタ処理を行い、画素間フィルタ適用後の復号化画像信号124が参照画像メモリ110に格納される。第2の適用例では、図示しないが、画素間フィルタ処理部109を上述した符号化ループに入れず、局部復号化画像を出力する際にのみ画素間フィルタを適用してもよい。この場合、参照画像メモリ110には、加算部106から出力される画素間フィルタ処理が行われない復号化画像信号124が格納される。この結果、ポストフィルタとして局所復号化画像のイントラ予測スライスのストライプノイズを低減することができる。
 以上に示した第1の実施形態によれば、量子化パラメータ、変換係数の非ゼロ数、及び非ゼロの変換係数の位置に基づいて、ストライプノイズを打ち消す方向に画素間フィルタを適用することにより、ノイズを低減することができ、主観画質を向上させることができる。
 また、ループフィルタとして復号化画像を参照画像メモリに格納する前に画素間フィルタ処理を行い、フィルタ処理後の復号化画像を参照画像メモリに格納することにより、主観画質の劣化を招くストライプノイズが発生したフレーム内で、ストライプノイズを低減することができ、その結果、後段のフレームへストライプノイズが伝搬することを防ぐことができる。
 (第2の実施形態) 
 第2の実施形態に係る動画像符号化装置について図17のブロック図を参照して説明する。 
 第2の実施形態に係る動画像符号化装置1700は、第1の実施形態に係る動画像符号化装置100とほぼ同様の構成であるが、加算部106と画素間フィルタ処理部1701との構成順序が異なる。
 画素間フィルタ処理部1701は、第1の実施形態に係る画素間フィルタ処理部109とほぼ同様の動作を行うが、復号化画像信号124ではなく復元予測誤差信号122を受け取る点が異なる。すなわち、画素間フィルタ処理部1701は、逆変換部105から復元予測誤差信号122を受け取り、復元予測誤差信号122について画素間フィルタ処理を行い、フィルタ処理後の復元予測誤差信号を加算部106へ送る。
 次に、第2の実施形態に係る画素間フィルタ処理部1701について図18のブロック図を参照して説明する。
 画素間フィルタ処理部1701は、第1の実施形態に係る画素間フィルタ処理部109とほぼ同様の構成であるが、画素列選択部1101が復元予測誤差信号122を受け取り、画素列再構成部1107がフィルタ処理後復元予測誤差信号130を生成する点が異なる。但し、画素列選択部1101が受け取る復元予測誤差信号122は、符号付きの信号であるため、第1画素間フィルタ1103、第2画素間フィルタ1104、及び第N画素間フィルタ1105の演算は符号付きの演算となることに留意する。なお、第2の実施形態に係るシンタクス構造は、第1の実施形態に係るシンタクス構造と同一の構造を用いることができる。
 以上に示した第2の実施形態によれば、復元予測誤差信号についてストライプノイズを打ち消すように画素間フィルタ処理を行っても、第1の実施形態と同様の効果を得ることができる。
 (第3の実施形態) 
 第1の実施形態に係る動画像符号化装置によって符号化されたデータの復号化方法を実現する動画像復号化装置について図19のブロック図を参照して説明する。 
 第3の実施形態に係る動画像復号化装置1900は、エントロピー復号化部1902、逆量子化部1903、逆変換部1904、加算部1905、フィルタ情報設定部1906、フィルタ方向設定部1907、画素間フィルタ処理部1908、参照画像メモリ1909、イントラ予測画像生成部1910、インター予測画像生成部1911、及び予測選択スイッチ1912を含む。また、動画像復号化装置1900は、復号化制御部1913と接続され、復号化制御部1913によって動画像復号化装置1900全体の動作が制御される。また、動画像復号化装置1900は、入力バッファ1901及び出力バッファ1914と接続される。
 入力バッファ1901は、動画像符号化装置100から符号化データ1915を受け取って格納し、適切なタイミングで符号化データ1915を出力する。 
 エントロピー復号化部1902は、入力バッファ1901から符号化データ1915を受け取り、符号化データ1915を1フレーム又は1フィールドごとにシンタクスに基づいて構文解析による解読を行う。その後、エントロピー復号化部1902は、順次各シンタクスの符号列をエントロピー復号化し、予測情報1925、量子化変換係数1916、変換基底情報1919、量子化パラメータ1927及び符号化対象ブロックの符号化パラメータ等を再生する。
 逆量子化部1903は、エントロピー復号化部1902から量子化変換係数1916を受け取り、量子化変換係数1916について逆量子化を行って逆量子化変換係数1917を復元する。 
 逆変換部1904は、逆量子化部1903から逆量子化変換係数1917を受け取り、逆量子化変換係数1917について逆変換、例えば逆離散コサイン変換(IDCT)を行い、復元予測誤差信号1918を生成する。 
 加算部1905は、逆変換部1904から復元予測誤差信号1918を、後述する予測選択スイッチ1912から予測画像信号1924をそれぞれ受け取り、復元予測誤差信号1918と予測画像信号1924とを加算して、復号化画像信号1922を生成する。 
 フィルタ情報設定部1906は、エントロピー復号化部1902から量子化パラメータ1927を、逆量子化部1903から逆量子化変換係数1917をそれぞれ受け取り、逆量子化変換係数1917と量子化パラメータ1927に基づいてフィルタ情報1921を生成する。
 フィルタ方向設定部1907は、逆変換部1904から変換基底情報1919を受け取り、変換基底情報1919に基づいてフィルタ方向テーブル1920を生成する。 
 画素間フィルタ処理部1908は、加算部1905から復号化画像信号1922を、フィルタ情報設定部1906からフィルタ情報1921を、フィルタ方向設定部1907からフィルタ方向テーブル1920をそれぞれ受け取り、画素ごとにフィルタ処理を行い、フィルタ処理後復号化画像信号1926を生成する。 
 参照画像メモリ1909は、画素間フィルタ処理部1908からフィルタ処理後復号化画像信号1926を受け取り、参照画像信号1923として格納する。 
 イントラ予測画像生成部1910は、参照画像メモリ1909から参照画像信号1923を受け取った場合は、予測方向に応じてイントラ予測を行い、予測画像を生成する。
 インター予測画像生成部1911は、参照画像メモリ1909から参照画像信号1923を受け取った場合は、画素ブロックの対応する入力画像信号117に基づいて、ブロックマッチング処理を行い、動きのズレ量(動きベクトル)を算出する。この動きベクトルに基づいて補間処理を行い、予測画像を生成する。 
 予測選択スイッチ1912は、エントロピー復号化部1902から予測情報1925を受け取り、イントラ予測画像生成部1910からの予測画像か、インター予測画像生成部112からの予測画像かを選択し、予測画像信号1924とする。具体的に、予測情報がイントラ予測である場合は、スイッチの出力端をイントラ予測画像生成部1910へと接続する。一方、予測情報がインター予測である場合は、スイッチの出力端をインター予測画像生成部1911へと接続する。 
 復号化制御部1913は、動画像復号化装置1900全体の動作を制御する。 
 出力バッファ1914は、参照画像メモリ1909から出力されたフィルタ処理後復号化画像信号1926を一旦蓄積された後、復号化制御部1913が管理する出力タイミングに従って、図示しない映像機器又はディスプレイなどにフィルタ処理後復号化画像信号1926を出力する。
 なお、逆量子化部1903、逆変換部1904、加算部1905、フィルタ情報設定部1906、フィルタ方向設定部1907、画素間フィルタ処理部1908、参照画像メモリ1909、イントラ予測画像生成部1910、インター予測画像生成部1911、及び予測選択スイッチ1912は、第1の実施形態に係る動画像符号化装置100に係る逆量子化部104、逆変換部105、加算部106、フィルタ方向設定部107、フィルタ情報設定部108、画素間フィルタ処理部109、参照画像メモリ110、イントラ予測画像生成部111、インター予測画像生成部112、予測選択スイッチ113とそれぞれ同様の動作を行う。以下では、各部の詳細説明は行わず、概略のみ説明する。
 <逆変換部1904(105)> 
 逆変換部1904は、第1の実施形態に係る逆変換部105と同様の構成を有するため、図5に示す逆変換部105の構成を参照して説明する。逆変換部1904は、第1逆変換部501、第2逆変換部502、第N逆変換部503、及び基底選択スイッチ504を含む。
 第1逆変換部501、第2逆変換部502、及び第N逆変換部503はそれぞれ、逆量子化部1903から基底選択スイッチ504を介して逆量子化変換係数1917を受け取った場合に、逆量子化変換係数1917を逆変換して復元予測誤差信号1918を生成する。
 基底選択スイッチ504は、逆量子化部1903から逆量子化変換係数1917を受け取り、逆量子化部1903から入力された変換基底情報1919に従って逆変換部を選択する。なお、変換基底情報1919は、復号化制御部1913から適切なタイミングで受け取ってもよく、エントロピー復号化部1902から受け取ってもよい。 
 変換基底情報1919が第1変換である場合は、基底選択スイッチの出力端を第1逆変換部501に接続する。同様に、変換基底情報1919が第2変換である場合は、出力端を第2逆変換部502に接続し、変換基底情報1919が第N変換である場合は、出力端を第N逆変換部503に接続する。 
 それぞれの逆変換部は、符号化側で利用された変換に対応する逆変換が設定されている。第1逆変換部501では4画素×4画素ブロックのIDCTが行われ、第2逆変換部502では8画素×8画素ブロックのIDCTが行われる。同様に第N逆変換部503では16画素×16画素ブロックのIDCTが行われる。ここでは例としてIDCTを用いる例を示したが、アダマール変換や後述するカルーネン・レーベ変換、離散サイン変換などの直交変換を使ってもよいし、非直交変換を用いてもよく、動画像符号化装置100の変換部102と連動して対応する逆変換が行われればよい。
 <フィルタ方向設定部1907(107)> 
 フィルタ方向設定部1907は、第1の実施形態に係るフィルタ方向設定部107と同様の構成を有するため、図6に示すフィルタ方向設定部107の構成を参照して説明する。
 フィルタ方向設定部1907は、第1フィルタ方向選択テーブル601、第2フィルタ方向選択テーブル602、第Nフィルタ方向選択テーブル603、及び基底選択スイッチ604を含む。
 第1フィルタ方向選択テーブル601、第2フィルタ方向選択テーブル602、及び第Nフィルタ方向選択テーブル603はそれぞれ、固定メモリに保持されたテーブル情報であり、基底選択スイッチ604の出力端が接続されると、テーブル情報がフィルタ方向テーブル1920として出力される。
 基底選択スイッチ604は、図4、図5を参照して説明した基底選択スイッチ404、504と同様に動作し、変換基底情報1919に従って、スイッチの出力端をそれぞれ、第1フィルタ方向選択テーブル601、第2フィルタ方向選択テーブル602、及び第Nフィルタ方向選択テーブル603に接続し、変換基底情報1919に対応したテーブル情報がロードされる。なお、変換基底情報1919は、逆変換部1904から受け取ってもよいし、復号化制御部1913から受け取ってもよい。
 <フィルタ情報設定部1906(108)> 
 フィルタ情報設定部1906は、第1の実施形態に係るフィルタ情報設定部108と同様の構成を有するため、図9に示すフィルタ情報設定部108の構成を参照して説明する。
 フィルタ情報設定部1906は、非ゼロカウント部901及びフィルタ強度算出部902を含む。 
 非ゼロカウント部901は、逆量子化部104から逆量子化変換係数1917を受け取り、非ゼロ数903がいくつあるかをカウントする。
 フィルタ強度算出部902は、非ゼロカウント部901から非ゼロ数903を、符号化制御部115から量子化パラメータ1927をそれぞれ受け取り、非ゼロ数903と量子化パラメータ1927とに関するフィルタ強度設定テーブルに基づいて、フィルタの強さ又はフィルタの種類を含むフィルタ情報1921を算出する。
 ここで、フィルタ強度算出部902でのフィルタ強度設定テーブルの一例について図10を参照して説明する。 
 非ゼロ数903と量子化パラメータ1927(以下、QPともいう)とに基づいて、フィルタ強度が設定される。例えば、非ゼロ数が1であり、かつQP<10である場合は、フィルタ強度は「3」と設定され、非ゼロ数が3であり、かつ10≦QP<20である場合は、フィルタ強度は「2」と設定される。これは、非ゼロ数が1の場合、変換基底の重ね合わせが無いために、発生した逆量子化変換係数1917に対応する周波数成分で復元された復元予測誤差信号1918がそのまま予測画像信号1924に加算されることになる。例えば、図8に示す変換基底の周波数成分パターン801(0,7)成分にのみ逆量子化変換係数が存在する場合では、垂直方向の復元予測誤差信号1918がそのまま予測画像信号1924と加算され、意図しないストライプノイズが発生する場合がある。また、このノイズは、特に量子化パラメータが大きい場合(ビットレートが低い場合)に顕著となり、復号化画像信号1922の主観画質低下を招く要因となる。そこで、逆量子化変換係数1917の非ゼロ数903が少ない時ほど、フィルタ強度が強くなるように設定し、さらに量子化パラメータの値が大きいほどフィルタ強度を強くするようなフィルタ情報1921の設定を行う。
 なお、第1の実施形態と同様に、ここではフィルタ情報1921に含まれる情報の例として、フィルタ強度、フィルタの種類について説明したが、これに限らず、フィルタタップ長、フィルタ適応信号などの情報が含まれてもよい。この場合、図10で示したように、非ゼロ数や量子化パラメータの情報、図7Aから図7Cまでに示した変換係数の位置やフィルタ方向などに従って、それらを関連付けたテーブルを作成すればよい。
 <画素間フィルタ処理部1908(109)> 
 画素間フィルタ処理部1908は、第1の実施形態に係る画素間フィルタ処理部109と同様の構成を有するため、図11に示す画素間フィルタ処理部109の構成を参照して説明する。
 なお、フィルタ処理後復号化画像信号と復号化画像信号とは区別しない。
 画素間フィルタ処理部1908は、画素列選択部1101、フィルタ選択スイッチ1102、第1画素間フィルタ1103、第2画素間フィルタ1104、第N画素間フィルタ1105、フィルタ非適用スイッチ1106、及び画素列再構成部1107を含む。
 画素列選択部1101は、加算部1905から復号化画像信号1922を、フィルタ方向設定部1907からフィルタ方向テーブル1920をそれぞれ受け取り、フィルタ方向テーブル1920に示されるフィルタ方向のインデックスに従って、復号化画像信号1922から画素間フィルタを適用する画素列を選択する。
 フィルタ選択スイッチ1102は、フィルタ情報設定部108からフィルタ情報126を、画素列選択部1101から画素列をそれぞれ受け取り、後述する画素間フィルタ1103から1106までに接続する。 
 具体的に、図10に示されるフィルタ強度に基づいてスイッチを切り替える例を説明する。フィルタ強度はフィルタ情報126に含まれる情報の1つであり、0から5までのインデックスに従って、フィルタ選択スイッチ1102の出力端が第1画素間フィルタから第N画素間フィルタ(ここでは、N=5)へと接続される。ここで、第1画素間フィルタ1103は、フィルタ強度が「5」の画素間フィルタ処理に対応し、フィルタ非適用スイッチ1106はフィルタ強度がゼロ、つまりフィルタを適用しない。つまり、第1画素間フィルタ、第2画素間フィルタ、第3画素間フィルタ、第4画素間フィルタ、第5画素間フィルタ、及びフィルタ非適用スイッチの6種類の選択が可能であることを意味する。また、フィルタ選択スイッチ1102のスイッチ切り替えのタイミングは、復号化制御部1913で管理される。
 画素間フィルタ1103から1105までは、予め定められたフィルタに基づいて、フィルタ選択スイッチ1102を介して入力された画素列に画素間フィルタを適用する。画素間フィルタは例えば、平均値フィルタである。第1画素間フィルタ1103、第2画素間フィルタ1104、第N画素間フィルタ1105は、フィルタの種類、フィルタのタップ長、フィルタの係数などいずれかが異なる。なお、ハードウェア実現時に1つのまとめられる機能については、同じ画素間フィルタとしてもよい。例えば、フィルタの種類、タップ長が同一であり、フィルタの係数が異なる場合、フィルタの係数セットをメモリに保持しておき、その都度ロードすることにより異なるフィルタを1つの画素間フィルタとしてもよい。
 本実施形態では、例えばH.264のデブロッキングフィルタ処理で用いられているフィルタ強度0から5までに従ってフィルタ処理を行う。
 フィルタ非適用スイッチ1106は、フィルタ選択スイッチ1102が接続された場合は、画素列についてフィルタ処理を行わずに後述の画素列再構成部1107へ送る。
 画素列再構成部1107は、符号化制御部115に制御されるタイミングで第1画素間フィルタ1103から第N画素間フィルタ1105まで、及びフィルタ非適用スイッチから入力されてきたフィルタ処理後の画素列を、画素ブロックとして再構成する。 
 符号化制御部115は、画素ブロック内のすべての画素列に対して画素間フィルタが実行されて再構成されるまで画素間フィルタ処理部1908を制御することで、画素間フィルタ処理部1908においてフィルタ処理後復号化画像信号1926が生成される。
 ここで、図7Bのフィルタ方向テーブル1920を参照し、(0,7)にのみ逆量子化変換係数が存在した場合の画素列の選択例について図12を参照して説明する。 
 この場合、図8に示される最右上の変換基底が用いられて復元予測誤差信号1918が復元される。この変換基底は垂直方向に縦縞を有するため、この方向に対して90度回転した方向、すなわち水平方向の画素列を選択する。つまり、図7Bよりフィルタ方向は「0」(水平方向)であるため、(0,0)から(0,7)までの画素列に対して水平方向に画素間フィルタが適用されることとなる。これらの画素列の出力タイミングは、復号化制御部1913によって管理され、画素列が適切なタイミングで画素列選択部1101から出力される。画素ブロック内の画素列が全て出力されると、画素間フィルタ1103から1105、及びフィルタ非適用スイッチ1106の処理が実行され、画素列再構成部1107にて、復号化制御部1913の制御するタイミングで画素ブロックとなるように画素列を再構成する。
 <シンタクス構造> 
 動画像復号化装置1900が復号化する符号化データは、動画像符号化装置100と同一のシンタクス構造を有することが好ましい。以下、動画像復号化装置1900で復号化される符号化データのシンタクス構造について説明する。 
 図14に示すように、シンタクス構造1400は主に3つのパートを含む。ハイレベルシンタクス1401は、フレーム又はフィールドに含まれる矩形領域若しくは連続領域を表すスライスに対して、これより上位レイヤのシンタクス情報を含む。スライスレベルシンタクス1402は、スライスごとに復号化に必要な情報を含む。マクロブロックレベルシンタクス1403は、マクロブロックごとに復号化に必要とされる情報を含む。
 各パートは、さらに詳細なシンタクスで構成される。ハイレベルシンタクス1401は、シーケンスパラメータセットシンタクス1404とピクチャパラメータセットシンタクス1405などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス1402は、スライスヘッダーシンタクス1406、スライスデータシンタクス1407を含む。マクロブロックレベルシンタクス1403は、マクロブロックレイヤーシンタクス1408、マクロブロックデータシンタクス1409を含む。
 スライスヘッダーシンタクス1406の一例について図15に示す。 
 図15中に示されるslice_directional_filter_flagは、スライスに画素間フィルタ処理を行うかどうかを示すシンタクス要素である。slice_directional_filter_flagがゼロである場合、スライスに画素間フィルタ処理を行わないことを意味する。つまり、フィルタ情報に関わらず、フィルタ選択スイッチ1102は、スイッチの出力端をフィルタ非適用スイッチ1106に接続する。一方、slice_directional_filter_flagが1である場合、図13で説明したフローチャートに従って、スライスで画素間フィルタ処理が行われる。
 マクロブロックレイヤーシンタクス1408の一例について図16に示す。 
 図16中に示されるmb_directional_filter_flagは、マクロブロックで画素間フィルタ処理を行うかどうかを示すシンタクス要素である。また、mb_typeは、符号化マクロブロックの符号化タイプを示す。mb_directional_filter_flagは、slice_directional_filter_flagが1であるときに符号化される。directional_filter_flagがゼロである場合、マクロブロックに画素間フィルタ処理を行わないことを意味する。つまり、フィルタ情報に関わらず、フィルタ選択スイッチ1102は、スイッチの出力端をフィルタ非適用スイッチ1106に接続する。
 一方、mb_directional_filter_flagが1である場合、図13で説明したフローチャートに従って、マクロブロックで画素間フィルタ処理が行われる。マクロブロックレイヤーで画素間フィルタ処理を行うかどうかを示すフラグを符号化することによって、画素フィルタ処理の選択に関わる情報量は数ビット増えるが、画像の局所領域ごとに最適な画素間フィルタ処理のオンオフを行うことができる。
 以上に示した第3の実施形態によれば、動画像符号化装置によって、量子化パラメータ、変換係数の非ゼロ数、及び非ゼロの変換係数の位置に基づいて、ストライプノイズを打ち消す方向に画素間フィルタが適用された符号化データを、復号化することができ、ストライプノイズが低減された復号化画像信号を復元することができる。
 (第4の実施形態) 
 第4の実施形態に係る動画像復号化装置について図20のブロック図を参照して説明する。 
 第4の実施形態に係る動画像復号化装置2000は、第1の実施形態に係る動画像復号化装置1900とほぼ同様の構成であるが、加算部1905と画素間フィルタ処理部2001との構成順序が異なる。
 画素間フィルタ処理部2001は、第3の実施形態に係る画素間フィルタ処理部1908とほぼ同様の動作を行うが、復号化画像信号ではなく復元予測誤差信号1918を受け取る点が異なる。すなわち、画素間フィルタ処理部1908は、逆変換部1904から復元予測誤差信号1918を受け取り、復元予測誤差信号1918について画素間フィルタ処理を行い、フィルタ処理後の復元予測誤差信号を加算部1905へ送る。
 次に、第4の実施形態に係る画素間フィルタ処理部2001について説明する。画素間フィルタ処理部2001は、図18に示す第2の実施形態に係る画素間フィルタ処理部1701と同様の構成を有し、画素間フィルタ処理部1701と同様の動作を行うため、ここでの説明は省略する。この場合、復元予測誤差信号122が復元予測誤差信号1918に対応する。また、フィルタ処理後復号化画像信号1926と復元予測誤差信号1918とは区別しない。なお、第4の実施形態に係るシンタクス構造は、第1の実施形態に係るシンタクス構造と同一の構造を用いることができる。
 以上に示した第4の実施形態によれば、復元予測誤差信号についてストライプノイズを打ち消すように画素間フィルタ処理を行った画素ブロックについての符号化データを復号化することにより、第3の実施形態と同様の効果を得ることができる。
 なお、図14から図16までに示すシンタクスの表中の行間には、本実施形態において規定していないシンタクス要素が挿入されてもよく、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割してもよく、又は複数のシンタクステーブルを統合してもよい。さらに、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。
 本実施形態においては、処理対象フレームを16×16画素サイズなどの短形ブロックに分割し、図2Aに示したように画面左上のブロックから右下に向かって順に符号化及び復号化する場合について説明しているが、符号化順序及び復号化順序はこれに限られない。例えば、右下から左上に向かって順に符号化及び復号化を行ってもよいし、画面中央から渦巻状に外側に向かって順に符号化及び復号化を行ってもよい。さらに、右上から左下に向かって順に符号化及び復号化を行ってもよいし、画面の周辺部から中心部に向かって順に符号化及び復号化を行ってもよい。
 本実施形態においては、ブロックサイズを4画素×4画素ブロック、8画素×8画素ブロック、16画素×16画素ブロックとして説明を行ったが、予測対象ブロックは均一なブロック形状にする必要なく、16画素×8画素ブロック、8画素×16画素ブロック、8画素×4画素ブロック、4画素×8画素ブロックなどのいずれのブロックサイズであってもよい。また、1つのマクロブロック内でも全てのブロックを同一にする必要はなく、異なるサイズのブロックを混在させてもよい。この場合、分割数が増えると分割情報を符号化又は復号化するための符号量が増加する。そこで、変換係数の符号量と局部復号化画像又は復号化画像とのバランスを考慮して、ブロックサイズを選択すればよい。
 本実施形態においては、輝度信号と色差信号とを明示せず、一方の色信号成分に限定した例として記述した。しかし、予測処理が輝度信号と色差信号とで異なる場合、それぞれ異なる予測方法を用いてもよいし、同一の予測方法を用いてもよい。異なる予測方法を用いる場合は、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化又は復号化する。また、同様に変換及び逆変換処理が輝度信号と色差信号とで異なる場合、それぞれ異なる変換及び逆変換処理を用いてもよいし、同一の変換及び逆変換処理を用いてもよい。異なる変換及び逆変換方法を用いる場合は、色差信号に対して選択した変換及び逆変換方法を輝度信号と同様の方法で符号化又は復号化する。
 本実施形態においては、輝度信号と色差信号とを明示せず、一方の色信号成分に限定した例として記述している。しかし、画素間フィルタ処理が輝度信号と色差信号とで異なる場合、それぞれ異なる画素間フィルタ処理方法を用いてもよいし、同一の画素間フィルタ処理方法を用いてもよい。異なる画素間フィルタ処理方法を用いる場合は、色差信号に対して選択した画素間フィルタ処理方法を輝度信号と同様の方法で符号化又は復号化する。
 また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した動画像符号化装置及び復号化装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW等)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の動画像符号化装置及び復号化装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。 
 また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。 
 さらに、本開示における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。 
 また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本開示における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
 なお、本開示におけるコンピュータ又は組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。 
 また、本開示の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本開示の実施形態における機能を実現することが可能な機器、装置を総称している。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100,1700,1800・・・動画像符号化装置、101・・・減算部、102・・・変換部、103・・・量子化部、104,1903・・・逆量子化部、105,1904・・・逆変換部、106・・・加算部、107,1907・・・フィルタ方向設定部、108,1906・・・フィルタ情報設定部、109、1801、1908、2001・・・画素間フィルタ処理部、110、1909・・・参照画像メモリ、111,1910・・・イントラ予測画像生成部、112,1911・・・インター予測画像生成部、113,1912・・・予測選択スイッチ、114・・・エントロピー符号化部、115・・・符号化制御部、116・・・出力バッファ、401・・・第1変換部、402・・・第2変換部、403・・・第N変換部、404,504,604・・・基底選択スイッチ、501・・・第1逆変換部、502・・・第2逆変換部、503・・・第N逆変換部、601・・・第1フィルタ方向選択テーブル、602・・・第2フィルタ方向選択テーブル、603・・・第Nフィルタ方向選択テーブル、801,802・・・周波数成分パターン、901・・・非ゼロカウント部、902・・・フィルタ強度算出部、1101・・・画素列選択部、1102・・・フィルタ選択スイッチ、1103・・・第1画素間フィルタ、1104・・・第2画素間フィルタ、1105・・・第N画素間フィルタ、1106・・・フィルタ非適用スイッチ、1107・・・画素列再構成部、1400・・・シンタクス構造、1401・・・ハイレベルシンタクス、1402・・・スライスレベルシンタクス、1403・・・マクロブロックレベルシンタクス、1404・・・シーケンスパラメータセットシンタクス、1405・・・ピクチャパラメータセットシンタクス、1406・・・スライスヘッダーシンタクス、1407・・・スライスデータシンタクス、1408・・・マクロブロックレイヤーシンタクス、1900,2000・・・動画像復号化装置、1901・・・入力バッファ、1902・・・エントロピー復号化部。

Claims (14)

  1.  複数の画素信号を含む入力画像信号と該入力画像信号の予測画像信号との差分を示す予測誤差信号を変換して変換係数を生成し、
     量子化の粗さを示す量子化パラメータに基づいて、前記変換係数を量子化して量子化変換係数を生成し、
     前記量子化変換係数を逆量子化して逆量子化変換係数を生成し、
     前記逆量子化変換係数を逆変換して復元された予測誤差信号を示す復元予測誤差信号を生成し、
     前記変換係数を求める際に用いた変換基底に含まれる複数の周波数成分パターンのうちの前記変換係数の位置に対応する周波数成分パターンと、フィルタを適用するかどうかの情報及びフィルタを適用する場合は前記周波数成分パターンの特定方向のエッジを打ち消す方向を示すフィルタ方向とを対応付けたテーブルを選択し、
     前記逆量子化変換係数のうちの非零変換係数の個数と前記量子化パラメータとに応じて決定されたフィルタ強度を含むフィルタ情報を設定し、
     前記予測画像信号と前記復元予測誤差信号とを加算して復号化画像信号を生成し、
     フィルタを適用することを前記テーブル及び前記フィルタ情報が示す場合は、前記テーブルに基づいて、前記復号化画像信号の画素ブロックの画素間で、前記フィルタ方向が示す方向に前記フィルタ情報に応じたフィルタ処理を行いフィルタ処理後復号化画像信号を生成し、
     前記量子化パラメータと、前記量子化変換係数とを含むデータを符号化し、符号化データを生成することを具備することを特徴とする動画像符号化方法。
  2.  前記フィルタ処理後復号化画像信号を参照画像信号として記憶する画像メモリを用意することをさらに具備することを特徴とする請求項1に記載の動画像符号化方法。
  3.  前記フィルタ情報は、フィルタの種類、フィルタのタップ長、フィルタの形状のうち少なくとも1つをさらに含むことを特徴とする請求項1に記載の動画像符号化方法。
  4.  前記フィルタ方向は、前記周波数成分パターンが縦縞又は横縞であれば、それぞれ直交する方向に設定されることを特徴とする請求項1に記載の動画像符号化方法。
  5.  前記フィルタ情報を設定することは、前記量子化パラメータの値が大きいほど、前記フィルタ強度を大きくすることを特徴する請求項1に記載の動画像符号化方法。
  6.  前記フィルタ情報を設定することは、前記非零変換係数の個数が少ないほど、前記フィルタ強度を大きくすることを特徴とする請求項1に記載の動画像符号化方法。
  7.  複数の画素信号を含む入力画像信号と該入力画像信号の予測画像信号との差分を示す予測誤差信号が変換され量子化された量子化変換係数と、量子化の粗さを示す量子化パラメータと、を含んで符号化された符号化データを復号化して前記量子化変換係数と前記量子化パラメータとを得、
     前記量子化変換係数を逆量子化して逆量子化変換係数情報を生成し、
     前記逆量子化変換係数を逆変換して復元された予測誤差信号を示す復元予測誤差信号を生成し、
     前記変換係数を求める際に用いた変換基底に含まれる複数の周波数成分パターンのうちの前記変換係数の位置に対応する周波数成分パターンと、フィルタを適用するかどうかの情報及びフィルタを適用する場合は前記周波数成分パターンの特定方向のエッジを打ち消す方向を示すフィルタ方向とを対応付けたテーブルを選択し、
     前記逆量子化変換係数のうちの非零変換係数の個数と前記量子化パラメータとに応じて決定されたフィルタ強度を含むフィルタ情報を設定し、
     前記予測画像信号と前記復元予測誤差信号とを加算し復号化画像信号を生成し、
     フィルタを適用することを前記テーブル及び前記フィルタ情報が示す場合は、前記テーブルに基づいて、前記復号化画像信号の画素ブロックの画素間で、前記フィルタ方向が示す方向に前記フィルタ情報に応じたフィルタ処理を行いフィルタ処理後復号化画像信号を生成することを具備することを特徴とする動画像復号化方法。
  8.  前記フィルタ処理後復号化画像信号を参照画像信号として記憶する画像メモリを用意することをさらに具備することを特徴とする請求項7に記載の動画像復号化方法。
  9.  前記フィルタ情報は、フィルタの種類、フィルタのタップ長、フィルタの形状のうち少なくとも1つをさらに含むことを特徴とする請求項7に記載の動画像復号化方法。
  10.  前記フィルタ方向は、前記周波数成分パターンが縦縞又は横縞であれば、それぞれ直交する方向に設定されることを特徴とする請求項7に記載の動画像復号化方法。
  11.  前記フィルタ情報を設定することは、前記量子化パラメータの値が大きいほど、前記フィルタ強度を大きくすることを特徴する請求項7に記載の動画像復号化方法。
  12.  前記フィルタ情報を設定することは、前記非零変換係数の個数が少ないほど、前記フィルタ強度を大きくすることを特徴とする請求項7に記載の動画像復号化方法。
  13.  複数の画素信号を含む入力画像信号と該入力画像信号の予測画像信号との差分を示す予測誤差信号を変換して変換係数を生成する変換部と、
     量子化の粗さを示す量子化パラメータに基づいて、前記変換係数を量子化して量子化変換係数を生成する量子化部と、
     前記量子化変換係数を逆量子化して逆量子化変換係数を生成する逆量子化部と、
     前記逆量子化変換係数を逆変換して復元された予測誤差信号を示す復元予測誤差信号を生成する逆変換部と、
     前記変換係数を求める際に用いた変換基底に含まれる複数の周波数成分パターンのうちの前記変換係数の位置に対応する周波数成分パターンと、フィルタを適用するかどうかの情報及びフィルタを適用する場合は前記周波数成分パターンの特定方向のエッジを打ち消す方向を示すフィルタ方向とを対応付けたテーブルを選択するフィルタ方向設定部と、
     前記逆量子化変換係数のうちの非零変換係数の個数と前記量子化パラメータとに応じて決定されたフィルタ強度を含むフィルタ情報を設定するフィルタ情報設定部と、
     前記予測画像信号と前記復元予測誤差信号とを加算して復号化画像信号を生成する加算部と、
     フィルタを適用することを前記テーブル及び前記フィルタ情報が示す場合は、前記テーブルに基づいて、前記復号化画像信号の画素ブロックの画素間で、前記フィルタ方向が示す方向に前記フィルタ情報に応じたフィルタ処理を行いフィルタ処理後復号化画像信号を生成するフィルタ処理部と、
     前記量子化パラメータと、前記量子化変換係数とを含むデータを符号化し、符号化データを生成する符号化部と、を具備することを特徴とする動画像符号化装置。
  14.  複数の画素信号を含む入力画像信号と該入力画像信号の予測画像信号との差分を示す予測誤差信号が変換され量子化された量子化変換係数と、量子化の粗さを示す量子化パラメータと、を含んで符号化された符号化データを復号化して前記量子化変換係数と前記量子化パラメータとを得る復号化部と、
     前記量子化変換係数を逆量子化して逆量子化変換係数情報を生成する逆量子化部と、
     前記逆量子化変換係数を逆変換して復元された予測誤差信号を示す復元予測誤差信号を生成する逆変換部と、
     前記変換係数を求める際に用いた変換基底に含まれる複数の周波数成分パターンのうちの前記変換係数の位置に対応する周波数成分パターンと、フィルタを適用するかどうかの情報及びフィルタを適用する場合は前記周波数成分パターンの特定方向のエッジを打ち消す方向を示すフィルタ方向とを対応付けたテーブルを選択するフィルタ方向設定部と、
     前記逆量子化変換係数のうちの非零変換係数の個数と前記量子化パラメータとに応じて決定されたフィルタ強度を含むフィルタ情報を設定するフィルタ情報設定部と、
     前記予測画像信号と前記復元予測誤差信号とを加算し復号化画像信号を生成する加算部と、
     フィルタを適用することを前記テーブル及び前記フィルタ情報が示す場合は、前記テーブルに基づいて、前記復号化画像信号の画素ブロックの画素間で、前記フィルタ方向が示す方向に前記フィルタ情報に応じたフィルタ処理を行いフィルタ処理後復号化画像信号を生成するフィルタ処理部と、を具備することを特徴とする動画像復号化装置。
PCT/JP2010/065172 2010-09-03 2010-09-03 動画像符号化方法及び復号化方法、符号化装置及び復号化装置 WO2012029181A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/065172 WO2012029181A1 (ja) 2010-09-03 2010-09-03 動画像符号化方法及び復号化方法、符号化装置及び復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/065172 WO2012029181A1 (ja) 2010-09-03 2010-09-03 動画像符号化方法及び復号化方法、符号化装置及び復号化装置

Publications (1)

Publication Number Publication Date
WO2012029181A1 true WO2012029181A1 (ja) 2012-03-08

Family

ID=45772313

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/065172 WO2012029181A1 (ja) 2010-09-03 2010-09-03 動画像符号化方法及び復号化方法、符号化装置及び復号化装置

Country Status (1)

Country Link
WO (1) WO2012029181A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015083796A1 (ja) * 2013-12-04 2015-06-11 三菱電機株式会社 画像符号化装置
JP2021170728A (ja) * 2020-04-15 2021-10-28 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co., Ltd 装置、画像処理装置、撮像装置、移動体、プログラム及び方法
JP2021180492A (ja) * 2015-08-20 2021-11-18 日本放送協会 画像復号装置及び画像復号方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131757A (ja) * 1993-10-01 1995-05-19 Texas Instr Inc <Ti> 画像処理装置
WO2008153856A1 (en) * 2007-06-08 2008-12-18 Thomson Licensing Methods and apparatus for in-loop de-artifacting filtering based on multi-lattice sparsity-based filtering
WO2009001793A1 (ja) * 2007-06-26 2008-12-31 Kabushiki Kaisha Toshiba 画像符号化と画像復号化の方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131757A (ja) * 1993-10-01 1995-05-19 Texas Instr Inc <Ti> 画像処理装置
WO2008153856A1 (en) * 2007-06-08 2008-12-18 Thomson Licensing Methods and apparatus for in-loop de-artifacting filtering based on multi-lattice sparsity-based filtering
WO2009001793A1 (ja) * 2007-06-26 2008-12-31 Kabushiki Kaisha Toshiba 画像符号化と画像復号化の方法及び装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015083796A1 (ja) * 2013-12-04 2015-06-11 三菱電機株式会社 画像符号化装置
JP5951144B2 (ja) * 2013-12-04 2016-07-13 三菱電機株式会社 画像符号化装置
JP2021180492A (ja) * 2015-08-20 2021-11-18 日本放送協会 画像復号装置及び画像復号方法
JP7242768B2 (ja) 2015-08-20 2023-03-20 日本放送協会 画像復号装置及び画像復号方法
JP7445799B2 (ja) 2015-08-20 2024-03-07 日本放送協会 画像復号装置及び画像復号方法
JP2021170728A (ja) * 2020-04-15 2021-10-28 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co., Ltd 装置、画像処理装置、撮像装置、移動体、プログラム及び方法

Similar Documents

Publication Publication Date Title
KR102462009B1 (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
JP6490276B2 (ja) 再構成された画像のサンプルのセットのための補償オフセットを復号するための方法および装置
JP6588523B2 (ja) イントラ予測方法とそれを利用した符号化器及び復号化器
DK2681914T3 (en) QUANTIZED Pulse code modulation in video encoding
CN107347157B (zh) 视频解码装置
KR102393179B1 (ko) 복원 블록을 생성하는 방법 및 장치
WO2009133844A1 (ja) エッジを考慮したフィルタリング機能を備えた動画像符号化/復号化方法及び装置
AU2011236109B2 (en) Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
JP6557406B2 (ja) 変換ブロックの空間的改善
RU2760234C2 (ru) Кодирование и декодирование данных
KR20130045148A (ko) 인트라 예측 모드에서의 영상 부호화 방법 및 장치
JPWO2010001999A1 (ja) 動画像符号化/復号化方法及び装置
KR20110000438A (ko) 다차원 정수 변환을 이용한 영상 부호화/복호화 장치 및 방법
JP2021530156A (ja) ビデオコーディングにおけるフィルタリングのための装置および方法
WO2012029181A1 (ja) 動画像符号化方法及び復号化方法、符号化装置及び復号化装置
WO2013145174A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置及び動画像復号装置
JP7352364B2 (ja) 動画像符号化装置、動画像復号装置及びプログラム

Legal Events

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

Ref document number: 10856730

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10856730

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP