WO2012049876A1 - 動画像符号化方法および復号方法 - Google Patents

動画像符号化方法および復号方法 Download PDF

Info

Publication number
WO2012049876A1
WO2012049876A1 PCT/JP2011/060430 JP2011060430W WO2012049876A1 WO 2012049876 A1 WO2012049876 A1 WO 2012049876A1 JP 2011060430 W JP2011060430 W JP 2011060430W WO 2012049876 A1 WO2012049876 A1 WO 2012049876A1
Authority
WO
WIPO (PCT)
Prior art keywords
filter
information
image
encoded
encoding
Prior art date
Application number
PCT/JP2011/060430
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 株式会社 東芝
Publication of WO2012049876A1 publication Critical patent/WO2012049876A1/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • Embodiments described herein relate generally to a moving image encoding method and a decoding method used for encoding or decoding a moving image.
  • the encoding side sets the filter coefficient and information indicating the area to which the filter is applied and transmits it to the decoding side.
  • the decoding side performs loop filter processing on the filter application area using the received filter information, and encodes the decoded image.
  • QALF quad-tree based adaptive loop filter
  • QALF can determine by switching whether to apply a filter for each block by dividing an image into variable-size blocks using a tree structure of a quadtree.
  • H H.
  • a block having a fixed size called a macro block is set as a coding block which is a processing unit of coding, and a prediction method, a prediction block size, a transform block size, and the like are set in the block.
  • a prediction method, a prediction block size, a transform block size, and the like are set in the block.
  • There is a method of controlling with a quadtree By recursively expressing this method and the encoded block in a tree structure, the size of the encoded block is variable in the screen. Further, the switching of the filter application is performed for each coding block, and the filter application information is multiplexed in the coded data of the coding block.
  • the present disclosure has been made to solve the above-described problem, and an object thereof is to provide a moving image encoding method and a decoding method capable of reducing the amount of encoding processing.
  • the moving picture coding method transforms and quantizes a prediction error image indicating a difference between an input image including a pixel signal and a predicted image of the input image to generate quantized transform coefficient information, and
  • the quantized transform coefficient information is inversely quantized and inversely transformed to generate a local decoded image, filter coefficient information indicating filter coefficients of one or more filters to be applied to pixel regions in the local decoded image is generated, and encoding Whether to apply filter processing to the encoded block based on block division information indicating how the target input image is divided by the encoded block indicating the pixel region, and when applying a filter Generates filter application information indicating one or more candidates for the applied filter for each processing unit including one or more encoded blocks, and the one or more codes
  • a filter is applied to a processing unit including a block, if there are two or more filters, in addition to the filter application information, an index calculated from a pixel signal included in the processing unit to which the filter is applied Based on this, the filter to be
  • the moving picture decoding method is obtained by dividing the filter coefficient information indicating the filter coefficient of one or more filters and the encoding block indicating the pixel area in the image to be encoded.
  • Block division information indicating whether or not to apply filter processing to the one or more coding blocks, and filter application information indicating one or more candidates for the filter to be applied, and quantization transform Decoding encoded data including coefficient information, obtaining the filter coefficient information, the filter application information, the block division information, and the quantized transform coefficient information in a pixel block having a predetermined size,
  • a region of a decoded image to which a filter is applied is identified by associating block division information with the filter application information, and for the region of the decoded image to which the filter is applied, filter application information and filter coefficient information, and two or more If a filter exists, a restored image is generated by applying a filter specified by
  • FIG. 1 It is a figure which shows the 3rd description example of the syntax structure of a loop filter data syntax. It is a figure which shows the 4th example of a description of the syntax structure of a loop filter data syntax. It is a block diagram which shows another example of an entropy encoding part. It is a block diagram which shows a moving image decoding apparatus. It is a block diagram which shows an entropy decoding part. It is a block diagram which shows another example of an entropy decoding part. It is a block diagram which shows the moving image encoder in the case of including a deblocking filter process. It is a block diagram which shows the moving image decoding apparatus in case a deblocking filter process is included.
  • a moving picture coding apparatus that performs the moving picture coding method according to the present embodiment will be described in detail with reference to FIG.
  • a moving image encoding apparatus 100 includes a predicted image generation unit 101, a subtraction unit 102, a transform and quantization unit 103, an inverse quantization and inverse transform unit 104, an adder 105, a loop filter information generation unit 106, A loop filter processing unit 107 and an entropy encoding unit 108 are included.
  • the entire operation of the moving image encoding apparatus 100 is controlled by the encoding control unit 109.
  • the predicted image generation unit 101 performs a predetermined prediction process on an image including a plurality of pixel signals input from the outside (hereinafter referred to as an input image), and generates a predicted image.
  • an input image for example, a general process such as prediction in the temporal direction by motion compensation or prediction in the spatial direction using encoded pixels in the screen may be used, and detailed description thereof is omitted here.
  • the subtraction unit 102 receives the input image and the predicted image from the predicted image generation unit 101, calculates a difference between the input image and the predicted image, and generates a prediction error image.
  • the transform and quantization unit 103 receives the prediction error image from the subtraction unit 102, performs transform processing on the prediction error image to generate transform coefficients, and then performs quantization processing on the transform coefficients to quantize the transform coefficients.
  • a quantized transform coefficient is generated.
  • orthogonal transformation using DCT Discrete Cosine Transform
  • the transform coefficient may be generated using a method such as wavelet transform or independent component analysis.
  • the quantization process the transform coefficient is quantized based on a quantization parameter set by the encoding control unit 109 described later.
  • the inverse quantization and inverse transform unit 104 receives the quantized transform coefficient from the transform and quantization unit 103, performs inverse quantization based on the quantization parameter, and then performs inverse transform (for example, inverse DCT) on the obtained transform coefficient. Thus, a prediction error image is generated.
  • the inverse quantization and inverse transform unit 104 may perform an inverse process on the process of the transform and quantization unit 103. For example, when the transform and quantization unit 103 performs wavelet transform and quantization, The inverse quantization and inverse transform unit 104 may perform inverse quantization and inverse wavelet transform.
  • the addition unit 105 receives the prediction image from the prediction image generation unit 101 and the prediction error image from the inverse quantization and inverse conversion unit 104, and adds the prediction image and the prediction error image to generate a local decoded image.
  • the loop filter information generation unit 106 receives the input image, the locally decoded image from the addition unit 105, and the encoded block division information from the encoding control unit 109.
  • the coded block division information is information indicating how a coded block that is a coding processing unit is divided. Thereafter, the loop filter information generation unit 106 generates filter coefficient information and filter application information.
  • the filter coefficient information is information indicating a filter coefficient of a filter applied to a pixel area (hereinafter also simply referred to as an area).
  • the filter application information is information indicating whether to apply the filter process to the encoded block. Details of the loop filter information generation unit 106 will be described later with reference to FIG.
  • the loop filter processing unit 107 receives the locally decoded image from the addition unit 105, the filter application information and the filter coefficient information from the loop filter information generation unit 106, and the encoded block division information from the encoding control unit 109, respectively. Thereafter, the loop filter processing unit 107 applies the filter indicated by the filter coefficient information to the region indicated by the filter application information regarding the locally decoded image, and generates a restored image that is an image after the filter application. Further, the generated restored image is referred to when the predicted image is generated by the predicted image generation unit 101.
  • the entropy encoding unit 108 receives the quantized transform coefficient from the transform and quantization unit 103, the filter coefficient information and the filter application information from the loop filter information generation unit 106, and the encoding parameter from the encoding control unit 109, respectively. Thereafter, the entropy encoding unit 108 entropy-encodes (eg, Huffman encoding or arithmetic encoding) the quantized transform coefficient, filter coefficient information, filter application information, and encoding parameter, and outputs the result as encoded data.
  • the encoding parameter is information such as prediction mode information, motion information, encoded block division information, and quantization parameter. Details of the entropy encoding unit 108 will be described later with reference to FIG.
  • the coding control unit 109 performs coding block division control, feedback control of generated code amount, quantization control, mode control, and the like, and performs overall coding control.
  • the loop filter information generation unit 106 includes a filter coefficient information generation unit 201 and a filter application information generation unit 202.
  • the filter coefficient information generation unit 201 receives the input image and the decoded image from the addition unit 105, sets filter coefficients of a loop filter to be applied to the decoded image, and generates filter coefficient information.
  • the filter application information generation unit 202 receives the input image, the decoded image from the addition unit 105, the filter coefficient information from the filter coefficient information generation unit 201, and the encoded block division information from the encoding control unit 109, respectively. To determine whether or not to apply a filter to one or more encoded blocks, and generate filter application information. A determination method related to filter application by the filter application information generation unit 202 will be described later.
  • the entropy encoding unit 108 includes an encoding block level syntax encoding unit 301 and a loop filter data syntax encoding unit 302.
  • the coding block level syntax coding unit 301 receives the quantized transform coefficient from the transform and quantization unit 103, and the coded block division information from the coding control unit 109, and receives the quantized transform coefficient, the coded block division information, and the like. Entropy coding is performed on information including.
  • the loop filter data syntax encoding unit 302 receives the filter coefficient information and the filter application information from the loop filter information generation unit 106, and performs entropy encoding on the filter coefficient information and the filter application information. Detailed operation of the entropy encoding unit 108 will be described later.
  • variable-size coding block assumed in the present embodiment will be described in detail with reference to FIG.
  • the encoding process is performed for each encoded block obtained by dividing an image into a plurality of blocks.
  • H In the conventional video coding standard such as H.264, a fixed-size block called a macro block is used.
  • the video coding method using a variable-size coded block in the screen is used.
  • the present embodiment describes a case where block division is controlled by a tree structure of a quadtree, but any block division method can be applied.
  • variable-size coding blocks can be adjusted by controlling the division according to the tree structure of the quadtree.
  • the coding control unit 109 uses max_coding_block_size which is a parameter in the syntax.
  • max_coding_layer can be controlled to adjust the size of the encoded block.
  • Max_coding_block_size indicates the maximum size of the coding block
  • a schematic diagram 402 schematically represents the tree structure of the quadtree of the encoding block 401.
  • Each coding block can be further divided into four coding blocks, and information on whether or not to further divide a block is added to a coding block having a size larger than min_coding_block_size.
  • max_coding_block_size and max_coding_layer fixed values may be used for the sequence, or may be variable in units such as slices. In these cases, it is necessary to encode max_coding_block_size and max_coding_layer in each unit. Further, a unique parameter may be used on the encoding side and the decoding side. In this case, it is not necessary to encode the parameter.
  • the encoding control unit 109 uses the equation (1) for each of the case where encoding is performed using each encoding block and the case where encoding is further performed by dividing into four encoding blocks.
  • the coding cost is calculated, and the size of the coding block that reduces the coding cost is selected.
  • the size of the coding block variable in the screen it is possible to perform coding in consideration of the characteristics of each region in the image.
  • the moving image encoding apparatus 100 receives an input image, and the subtraction unit 102 performs a subtraction process on the input image and the prediction image from the prediction image generation unit 101 to generate a prediction error image. Subsequently, the generated prediction error image is converted and quantized by the transform and quantization unit 103, and as a result, a quantized transform coefficient is generated. The quantized transform coefficient is encoded by the entropy encoding unit 108. On the other hand, the quantized transform coefficient is inversely quantized and inversely transformed by the inverse quantization and inverse transform unit 104, and is output as a prediction error image. The prediction error image is added to the prediction image from the prediction image generation unit 101 in the addition unit 105, and a local decoded image is generated.
  • the filter coefficient information generation unit 201 sets the filter coefficient so that the mean square error between the image when the local decoded image is filtered and the input image is minimized. To do.
  • the filter application information generation unit 202 applies the filter to one or more encoded blocks based on the filter coefficient information and the encoded block division information, so that the mean square error between the image after the filter application and the input image is increased. It is determined for each coding block whether or not it is reduced, and filter application information for each block is generated. That is, the filter application information is set so that the filter is applied when an error from the original image in each block is reduced by applying the filter. Subsequently, the filter application information generation unit 202 performs the above-described determination on a plurality of max_filtering_layers, and selects max_filtering_layer that minimizes the coding cost.
  • max_filtering_layer is a parameter indicating how many layers in the quadtree in coding block division are used for setting filter application information.
  • an area serving as a unit for determining whether to apply a filter which is indicated by the division shape of the encoded block and max_filtering_layer, is also referred to as a filter application determination area.
  • the filter application information may be set for a processing unit including a plurality of encoded blocks. For example, filter application information may be set for each encoded slice. In this case, the cost when no filter is applied to the encoded slice and the cost when a filter is applied for each block are calculated. Thus, it is possible to set filter application information in the encoded slice.
  • FIG. 5A shows the division shape of the encoding block 401 in FIG.
  • “ON” and “OFF” in each coding block from FIG. 5B to FIG. 5C indicate whether to apply a filter. If “ON”, the filter is applied, and “OFF” ", The filter is not applied.
  • the tree-structured coding block actually used in the coding and the filter application determination region have a depth of 2 (second Whether or not to apply a filter is determined for each coding block.
  • Multiple maximum coding blocks for example, four maximum coding blocks in the horizontal direction, four maximum coding blocks in the vertical direction, and four maximum coding blocks in the horizontal direction and one maximum coding block in the vertical direction can be combined as the maximum filter application determination region. Good.
  • a two-dimensional Wiener filter generally used in image restoration is used as a filter. Further, when the filter is set to be non-applied for each encoded slice, the filter is not applied to all the pixels in the slice, and the filter application information for each block is discarded. On the other hand, when a filter is applied in units of coded slices, the filter is applied according to the filter application information for each block.
  • a plurality of filters may be prepared, and the type of filter may be similarly switched according to the filter application information in addition to whether the filter is applied. Furthermore, whether to apply a filter may be switched according to filter application information, and the type of filter may be switched according to activity or pixel value for each pixel or block of a decoded image.
  • the filter to be applied may be switched not only in units of one pixel but also in units of square blocks such as 8 ⁇ 8 pixels and 4 ⁇ 4 pixels, rectangular blocks such as 8 ⁇ 2 pixels and 4 ⁇ 2 pixels, and pixel lines such as 8 ⁇ 1 pixels and 4 ⁇ 1 pixels. .
  • the result of calculating the difference from the surrounding pixel values using a differential filter generally used in edge detection or the like can be used.
  • a specific example of the switching index when the filter is switched in units of one pixel is given below.
  • Equation 1 D (x, y) indicates the pixel value of the decoded image at the pixel position (x, y), and the absolute value of the differential filter result in the horizontal direction and the absolute value of the differential filter in the vertical direction according to Equation 1.
  • the value represented by Equation 1 may be calculated for a certain range of pixels, for example, a block of surrounding N ⁇ N pixels, and the sum thereof may be used as an index for filter switching.
  • Equation 1 is given as an index for switching the filter in units of one pixel.
  • the filter is switched in units of regions composed of a plurality of pixels, for example, the sum of the indexes obtained in Equation 1 is calculated for each pixel in the region. This can be used as a filter switching index for the entire region.
  • Equation 2 averages the absolute values of the pixel value differences between the pixel at the pixel position (x, y) and the surrounding pixels. This can also be used as a filter switching index as a value representing the local structure of the image. Further, in Equation 2, the average value of the pixel value differences is obtained, but the maximum value may be used instead of the average value.
  • the average value of the number 2 can be calculated within the region and used as a filter switching index for the entire region. The same applies when the maximum value is used instead of the average value.
  • the syntax mainly includes three levels: a high level syntax, a slice level syntax, and a coded block level syntax.
  • the high level syntax 601 describes syntax information of higher layers above the slice
  • the slice level syntax 604 describes necessary information for each slice
  • the coding block level syntax 607 describes coded block division information or coding. A transform coefficient, prediction mode information, a motion vector, and the like required for each block are described.
  • the high level syntax 601 includes sequence or picture level syntax such as a sequence parameter set syntax 602 and a picture parameter set syntax 603.
  • the slice level syntax 604 includes a slice header syntax 605 and a loop filter data syntax 606 including filter coefficient information and filter application information.
  • the encoded block level syntax 607 includes an encoded block layer syntax 608 including encoded block division information and an encoded block prediction syntax 609.
  • the parameters max_coding_block_size and max_coding_layer for controlling the division of the coding block described above are fixed in the sequence, these parameters are added to the sequence parameter set syntax 602, and if the parameter is variable for each slice, the slice header These parameters may be added to the syntax 605.
  • step S701 the encoded block level syntax encoding unit 301 encodes mode information and motion information as a series of encoded data of the encoded block level syntax in addition to the encoded block division information and the quantized transform coefficient information.
  • step S702 the loop filter data syntax encoding unit 302 encodes the filter coefficient information and the filter application information as a series of encoded data of the loop filter data syntax separately from the encoding of the encoding block level syntax.
  • step S703 the encoded data of the loop filter data syntax and the encoded block level syntax are combined and generated as one encoded data to be sent to the decoding side.
  • the filter application information is determined at the time of encoding the encoded block level syntax. Not. Therefore, if filter application information is added to the coding block level syntax, the pixel position of the area to which the filter is applied is stored for each coding block, and the area of the coding block is set after the filter application information is set. It is necessary to rewrite whether or not a filter is applied to the image, which makes the encoding process complicated and increases the amount of processing.
  • the filter application information is encoded together for one slice so that the number of encoded blocks to which the filter is applied is known in the loop filter data syntax instead of the encoded block level syntax.
  • filter_type_idx is an index indicating the shape or tap length of the loop filter.
  • filter_type_idx corresponds to NumOfFilterCoeff, which is the number of filter coefficients, and filter_coeff is a filter coefficient.
  • the filter_coeff in the filter coefficient information indicates the filter coefficient information, but in addition to the method of encoding the filter coefficient itself, a method of encoding the difference with the filter coefficient of a different filter may be used.
  • a method of encoding the difference with the filter coefficient of a different filter may be used.
  • the value of filter_coeff can be reduced, and as a result, the amount of code necessary for encoding filter_coeff can be reduced.
  • a plurality of methods can be considered for selection of a filter serving as a reference for calculating the difference.
  • One is a method of using filter coefficients of a filter used in an already encoded slice.
  • the filter used in the immediately preceding slice may be used, or the filter used in the immediately preceding same slice type may be used. Furthermore, a plurality of already encoded filter coefficients may be held and one of them may be selected and used. However, in this case, it is necessary to separately multiplex information indicating which filter is to be calculated with the encoded data. If the filter coefficient to be encoded differs from the filter coefficient used as a reference, the difference between the filter coefficients is calculated by calculating the difference between the coefficient positions having the same relative position with respect to the center coefficient position. Can be reduced.
  • the filter coefficient is similarly set between the filters in the same slice.
  • the difference value may be calculated.
  • the coefficient difference calculation between the different slices and the difference value calculation within the same slice can be used in combination.
  • the first filter in the slice can be encoded by the difference between the slices, and the second and subsequent filters can be encoded by calculating the difference from the first filter.
  • the difference value of the filter coefficient does not need to be encoded. That is, it is possible to select a reference filter in different slices or the same slice and use the filter coefficients as they are. In this case, it is necessary to separately multiplex switching information indicating whether the difference value of the filter coefficient is encoded or whether the reference filter is used as it is into encoded data.
  • Loop_filter_flag is a 1-bit flag indicating whether or not to apply a loop filter to each coding block. For example, “1” may be set when a filter is applied, and “0” may be set when a filter is not applied. NumOfLoopFilterFlag is the total number of filter application determination areas.
  • the loop_filter_flag may be encoded with a fixed length of 1 bit, or may be encoded by variable length encoding such as CAVLC (Context Adaptive Variable Length Coding) or CABAC (Context Adaptive Binary Arithmetic Coding).
  • a plurality of filters may be prepared and switched for each filter application determination region, and filter switching information may be explicitly multiplexed into encoded data.
  • filter switching information may be explicitly multiplexed into encoded data.
  • One is a method of identifying a filter to be applied by adding a flag or an index when applying the filter after determining whether or not to apply the filter with loop_filter_flag.
  • the other is a method in which one index is used to determine whether or not to apply a filter and which filter to apply if a filter is further applied. For example, when three types of filters are available, there are four types of processing including the case where no filter is applied.
  • the filter may be applied to all areas. That is, the case where the filter is applied and the case where the three types of filters are switched has been described above. However, in the case where the filter is applied in all regions, similarly, up to four types of filters can be selected using an index equivalent to 2 bits. It is possible to switch. However, there is no guarantee that applying the filter reduces the error from the input image for all regions. Therefore, a specific area expressed by a flag or an index may be switched in units of slices or the like between a non-filter application area or a different filter application area. In that case, it is necessary to add information for switching in a corresponding unit, or to switch based on a common index between the encoder and the decoder.
  • NumOfLoopFilterFlag is added before loop_filter_flag.
  • NumOfLoopFilterFlag 10 and loop_filter_flag is represented as “0100101101”, so that only information included in the loop filter data syntax is used on the decoding side.
  • the loop_filter_flag can be correctly decoded. Further, it is possible to determine whether to apply a filter for each corresponding encoded block based on the encoded block division information and max_filtering_layer, and to perform the filtering process.
  • the number of coding blocks is inserted into the loop filter data syntax without performing complicated processing such as storing and rewriting all pixel positions in the coding block area to which the filter is applied on the coding side.
  • the encoding processing amount can be reduced.
  • the NumOfLoopFilterFlag may be encoded by variable length encoding or may be encoded by a fixed length.
  • an encoding method there is a method of changing based on parameters relating to image size or encoding block division. Since one slice does not take an area larger than one screen, the minimum number of blocks and the maximum number of blocks that can exist in one slice, ie, the number of blocks, are selected from at least one of the image size, max_coding_block_size, min_coding_block_size, and max_filtering_layer. A range of values can be obtained.
  • the code table is changed using a probability model corresponding to the range of values that the number of blocks can take.
  • the NumOfLoopFilterFlag is encoded with the minimum bit length that can represent the range of values that the number of blocks can take. In this way, an appropriate encoding method can be selected even when the image size or the block size changes. Furthermore, since the above parameters can also be used on the decoding side, it is possible to correctly decode by selecting the same bit length on the encoding side and the decoding side.
  • FIGS. 9A and 9B a bit string unique to the end of loop_filter_data may be encoded to determine the end of loop_filter_flag.
  • FIG. 9A is a description example when the loop_filter_flag does not need to be set
  • FIG. 9B is a description example when it is assumed that at least one loop_filter_flag is set.
  • the encoded block division information may be described in loop_filter_data in a quadtree tree structure.
  • a description example of the loop filter data syntax 606 in this case is shown in FIG.
  • NumOfParentBlock in FIG. 10 represents the number of max_coding_block_size blocks included in one slice, and there is a quadtree corresponding to NumOfParentBlock.
  • NumOfChildBlock represents the number of coding blocks divided from one max_coding_block_size when division is performed up to a certain hierarchy. Each block of max_coding_block_size is used as a starting point of the quadtree, and whether or not the encoded block is further divided into four by block_partitioning_flag is expressed.
  • the maximum size of the filter application determination area may exceed the maximum size of the encoded block.
  • An entropy encoding unit 1100 illustrated in FIG. 11 includes an encoding block level syntax encoding unit 1101 and a loop filter data syntax encoding unit 1102.
  • the encoded block level syntax encoding unit 1101 performs substantially the same operation as the encoded block level syntax encoding unit 301 shown in FIG. 3, but does not encode the encoded block division information, and converts the quantized transform coefficients. The point of encoding is different.
  • Loop filter data syntax encoding section 1102 performs substantially the same operation as loop filter data syntax encoding section 302 shown in FIG. 3, but includes encoded block division information in addition to filter coefficient information and filter application information. The difference is that it is encoded as a series of encoded data. At this time, since the encoded block division information does not need to be added to the encoded block data syntax, the overhead does not change significantly.
  • the slice header syntax and the loop filter data syntax are different from each other.
  • a part or all of the loop filter data syntax may be included in the slice header syntax.
  • the application of the loop filter can be switched in units of slices, and the filter application information in units of slices is stored in the slice header syntax 605.
  • the loop filter data syntax 606 is stored in the slice level syntax 604.
  • the loop filter may be controlled in a unit independent of the slice. This is called a loop filter slice.
  • loop filter data syntax 606 is generated as many as the number of loop filter slices.
  • the loop filter data syntax 606 is included in the high level syntax 601 such as the picture parameter set syntax 603. Also good.
  • a syntax may be generated for each component, or a common syntax may be generated for two or more components.
  • the moving picture decoding apparatus 1200 includes an entropy decoding unit 1201, a filter information buffer 1202, an inverse quantization and inverse transform unit 1203, an addition unit 1204, a loop filter processing unit 1205, and a predicted image generation unit 1206.
  • the entire operation of the moving picture decoding apparatus 1200 is controlled by the decoding control unit 1207.
  • the operations of the inverse quantization and inverse transform unit 1203, the addition unit 1204, and the predicted image generation unit 1206 are the same as the corresponding units included in the video encoding device 100 according to the present embodiment. Description is omitted.
  • the entropy decoding unit 1201 sequentially decodes a code string of each syntax of encoded data for each of a high level syntax, a slice level syntax, and an encoded block level syntax according to the syntax structure shown in FIG.
  • the filter coefficient information, the filter application information, the encoded block division information, and the like are decoded.
  • the filter information buffer 1202 receives and stores the filter coefficient information and filter application information decoded from the entropy decoding unit 1201.
  • the loop filter processing unit 1205 performs substantially the same operation as the loop filter processing unit 107 according to the present embodiment, and the encoded block division information from the entropy decoding unit 1201, the decoded image from the addition unit 1204, and the decoded image from the filter information buffer 1202. Each receives filter coefficient information and filter application information. Thereafter, the loop filter processing unit 1207 applies a filter indicated by the filter coefficient information to a specific region of the decoded image based on the filter application information, and generates an image after the filter application as a restored image. The restored image is output to the outside as an output image. The restored image is referred to when the predicted image is generated by the predicted image generation unit 1206.
  • the decoding control unit 1207 performs overall decoding control such as encoding block division control or decoding timing control.
  • the entropy decoding unit 1201 includes an encoded block level syntax decoding unit 1301 and a loop filter data syntax decoding unit 1302.
  • the encoded block level syntax decoding unit 1301 receives a code string corresponding to the encoded block level syntax from the encoded data, performs decoding processing, and decodes the quantized transform coefficient and the encoded block division information.
  • the loop filter data syntax decoding unit 1302 receives a code string corresponding to the loop filter data syntax from the encoded data, performs decoding processing, and decodes filter coefficient information and filter application information.
  • the operation of the moving picture decoding apparatus 1200 will be described.
  • the entropy decoding unit 1201 inputs a code string corresponding to the loop filter data syntax of the encoded data to the loop filter data syntax decoding unit 1302, and the syntax of FIG. Decoding processing according to the structure is performed.
  • the obtained filter coefficient information and filter application information are stored in the filter information buffer 1202.
  • a code string corresponding to the encoded block level syntax of the encoded data is input to the encoded block level syntax decoding unit 1301 and subjected to decoding processing.
  • prediction mode information is added.
  • Motion information, coded block division information, quantization parameters, and the like are decoded according to the syntax structure of FIG.
  • the obtained encoded block division information is used when the decoding control unit 1207 performs encoded block division control in the decoding process.
  • the inverse quantization and inverse transform unit 1203 receives the transform coefficient decoded by the entropy decoding unit 1201, performs inverse quantization according to the quantization parameter set by the decoding control unit 1207, and obtains the obtained transform coefficient.
  • inverse transformation for example, discrete cosine transformation
  • the addition unit 1204 receives the prediction error image from the inverse quantization and inverse transformation unit 1203 and the prediction image from the prediction image generation unit 1206 and adds them to generate a decoded image.
  • the loop filter processing unit 1205 receives the decoded image from the adding unit 1204, the filter coefficient information and the filter application information from the filter information buffer 1202, and the encoded block division information from the entropy decoding unit 1201, respectively. Filter processing is performed on the filter. At this time, the loop filter processing unit 1205 can determine the region to which the filter is applied by associating the encoded block division information with the filter application information. Specifically, by obtaining a filter application determination area from max_filtering_layer shown in the syntax structure of FIGS.
  • a filter can be applied to the block set on the encoding side.
  • the pixel value after the filter application is set as the pixel value of the restored image.
  • the pixel value at the same position in the decoded image is set as the pixel value of the restored image.
  • the restored image is output as an output image and is referred to as necessary by the predicted image generation unit.
  • loop filter data syntax follows the syntax structure of FIGS. 8, 9A, and 9B has been described here, it may follow the syntax structure of FIG.
  • the entropy decoding unit 1400 illustrated in FIG. 14 has the same configuration as the entropy decoding unit 1201 illustrated in FIG. 13, but a code string corresponding to the loop filter data syntax is input to the loop filter data syntax decoding unit 1402 to perform decoding processing.
  • the difference is that the encoded block division information is decoded in addition to the filter coefficient information and the filter application information. Therefore, the encoded block division information decoded by the loop filter data syntax decoding unit 1402 is used when the encoded block level syntax decoding unit 1401 decodes a code string corresponding to the encoded block level syntax in addition to the above-described uses. Can be used.
  • the filter application information is not multiplexed in the encoded data of the encoded block, but is combined and encoded as a series of encoded data. There is no need to store and rewrite the position of the filter application information in the encoded data of the encoded block. Therefore, it is only necessary to encode the loop filter data syntax together, and the encoding process becomes simple and the processing amount can be reduced. Further, with respect to the encoded data encoded by the moving image encoding apparatus, the filter application information is stored in the buffer, and the encoded block division information is decoded while decoding the encoded block level syntax, and By performing the association, a filter can be applied to the region set on the encoding side, and a moving image can be decoded.
  • the loop filter information generation unit 106 divides the local decoded image into a plurality of filter application determination regions, and generates filter coefficient information and filter application information of the loop filter for each filter application determination region.
  • the filter application determination area includes one or more encoded blocks of the maximum size, and the division of the filter area is managed by the structure of the quadtree as in the encoded block.
  • the filter coefficient information generation unit 201 sets a filter coefficient to be applied to the local decoded image based on the local decoded image and the input image for each filter application determination region.
  • a filter coefficient setting method for example, an error between the input image and the input image can be reduced by reducing the mean square error between the image when the local decoded image is filtered and the input image. Can do.
  • a plurality of filter coefficients may be set in each filter application determination area. In that case, as described in the embodiment, the filter coefficient is switched according to an index such as an activity in an area including a pixel unit or a plurality of pixels. It's okay. However, here, the description will be made assuming that the region where the filter coefficient is switched does not cross the boundary of the filter application determination region.
  • filter coefficient information is generated for each filter application determination region based on the set filter coefficient.
  • the filter coefficient information is expressed by the difference between the filter coefficient for the filter application determination region and the already encoded filter coefficient.
  • the encoder can apply both the case where the already encoded filter is used as it is and the case where the set filter is used, and can select a more appropriate filter based on the encoding cost.
  • the reference filter may not be the filter used immediately before.
  • information indicating whether or not to use as a reference filter later is required. For example, a 1-bit flag indicating whether or not to hold the reference filter in the buffer and, if there are a plurality of buffers holding the reference filter, index information specifying the buffer to hold is multiplexed into the encoded data.
  • the above processing can be performed.
  • the encoder after setting a filter for a certain filter application determination region, it is possible to determine whether or not it is effective to use the filter in the next filter application determination region. In the filter application determination region, only a filter having a high error reduction effect can be held as a reference filter.
  • the filter application information generation unit 202 applies a filter to the filter application determination region, so that the mean square error between the image after the filter application and the input image is reduced.
  • Filter application information is generated for each filter application determination region. That is, the filter application information is set so that the filter is applied when an error from the original image in each block is reduced by applying the filter.
  • the above-described determination is performed from the maximum size filter application determination region, and is performed until the maximum number of divisions set in advance is reached, in which one-stage division is performed according to the quadtree structure, two-stage division is performed, and encoding is performed. A divided shape with the smallest cost is obtained.
  • the division shape obtained here is multiplexed into the encoded data as part of the filter application information.
  • the filter application determination area is managed in a quadtree structure, and thus the quadtree tree structure is encoded in the same manner as the encoding block.
  • the filter application determination area is set independently of the divided shape of the coding block.
  • the filter application determination may be performed using the divided shape of the encoded block. Good. In this case, it is not necessary to encode the division shape of the filter application region described above.
  • the filter coefficients may be set in units different from the filter application determination area.
  • one or more filter coefficients may be set for a block including one or more filter application determination areas, and the filter coefficient may be switched according to an index such as activity in the block.
  • filter application information is set for each encoded slice.
  • the above-described determination is performed on the entire slice, and the cost when no filter is applied to the slice and the cost when a filter is applied to each block are as follows: Only when the encoding cost is reduced by calculating and applying the filter, the filter can be set to be applied in the slice.
  • the loop filter processing unit 107 receives the locally decoded image, the filter coefficient information, and the filter application information, and performs a filter process for each filter application determination region.
  • the entropy encoding unit 108 includes an encoding block level syntax encoding unit 301 and a loop filter data syntax encoding unit 302 as shown in FIG.
  • an example has been described in which the loop filter data syntax 606 and the encoding block level syntax 607 shown in FIG. 6 are encoded together in units of slices and combined.
  • filter coefficient information can be set for each filter application determination region, and therefore, when transmitting all loop filter data syntax at the head of slice data, a decoder holds a lot of filter information.
  • loop filter data syntax may be inserted at a position corresponding to the maximum size filter application determination region in the coding block level syntax.
  • the maximum size of the filter application determination area described above is a combination of four maximum encoding blocks in the horizontal direction and four maximum encoding blocks in the vertical direction, for example, the code located at the upper left in the filter application determination area
  • the loop filter data syntax is inserted at the syntax position corresponding to the block.
  • the filter application determination area matches the maximum size of the encoded block, the loop filter data syntax and one encoded block level syntax are alternately transmitted.
  • the entropy decoding unit 1201 sequentially decodes a code string of each syntax of encoded data for each of a high level syntax, a slice level syntax, and an encoded block level syntax according to the syntax structure shown in FIG.
  • the filter coefficient information, the filter application information, the encoded block division information, and the like are decoded.
  • the loop filter data syntax and the encoded block level syntax may not be encoded together in units of slices. That is, the loop filter data syntax may be inserted at a position corresponding to the maximum size filter application determination area in the encoded block level syntax.
  • the entropy decoding unit 1201 performs decoding processing according to the above-described syntax configuration, and the loop filter data syntax is decoded for each maximum size of the filter application region.
  • the loop filter processing unit 1205 receives the decoded image, the filter coefficient information, and the filter application information, and performs filter processing by means similar to the encoding device for each filter application determination region included in the filter application information.
  • the local decoding image and the decoding are performed on the local decoding image on the encoding side and the decoding image on the decoding side.
  • the image may be an image after performing a conventional deblocking filter process.
  • FIG. 15 shows a video encoding apparatus 1500, which is different from the video encoding apparatus 100 shown in FIG. 1 in that a deblocking filter processing unit 1501 is included in addition to the video encoding apparatus 100 shown in FIG.
  • FIG. 16 shows a video decoding device 1600, which is different from the video decoding device 1200 shown in FIG. 12 in that it includes a deblocking filter processing unit 1501 in addition to the video decoding device 1200 shown in FIG.
  • the deblocking filter processing unit 1501 receives the decoded image from the adding unit 105 (1204), performs deblocking filter processing on the decoded image, and generates a deblocked decoded image. Thus, it is possible to prevent the predicted image from being deteriorated by performing the loop filter process using the deblocked decoded image.
  • the pixel values of the image before the deblocking filter processing and the image values after the deblocking processing may be used as the pixels to be filtered.
  • the moving image coding apparatus adds the input to the loop filter information generation unit 106 and the loop filter processing unit 107 in the moving image coding apparatus 1500 in addition to the output signal from the deblocking filter processing unit 1501. This is realized by adding an output signal from.
  • the loop filter information generation unit 106 and the loop filter processing unit 107 set and apply filter coefficients using both pixel values of the image before and after the deblocking process. This is equivalent to weighted averaging of pixel values before and after the deblocking process with an appropriate weight.
  • the moving picture decoding apparatus adds the output signal of the adding section 1204 in addition to the output signal from the deblocking filter processing section 1501 with respect to the input to the loop filter processing section 1205 in the moving picture decoding apparatus 1600. It is realized with.
  • block distortion caused by encoding can be reduced by deblocking filter processing, but a strong low-pass filter is applied in deblocking filter processing, so high-frequency components such as edges and textures included in the input image May also be reduced. Therefore, it is possible to prevent deterioration of the predicted image by performing loop filter processing using the decoded images before and after the deblocking filter processing.
  • those used for the loop filter process may be switched in units such as a sequence, a picture, and a slice. In that case, it is necessary to separately multiplex the information for switching into the encoded data in a corresponding unit.
  • the loop filter is used on both the encoding side and the decoding side, but the filter is applied to the decoded image and the filter is applied to the output image. Even when not applied, the moving picture encoding method and decoding method can be used.
  • the moving picture decoding apparatus in this case will be described with reference to FIG.
  • the moving image decoding apparatus 1700 is different from the moving image decoding apparatus 1200 shown in FIG. 12 in that the decoded image from the adding unit 1204 is output as an output image as it is.
  • the moving picture coding apparatus of FIG. 1 can be used as it is.
  • the video encoding device 100 and the video decoding device 1200 may be used as a post filter.
  • a video encoding device and a video decoding device when used as a post filter are shown in FIGS.
  • the moving image encoding apparatus 1800 is realized by removing the loop filter processing unit 107 in the moving image encoding apparatus 100 of FIG. 1 and inputting the decoded image to the predicted image generating unit 1801.
  • the moving image decoding apparatus 1900 is realized by inputting the decoded image from the adding unit 1204 to the predicted image generating unit 1901.
  • FIG. 20 shows an example of a prediction structure called a hierarchical B structure.
  • encoding is performed in order from a slice belonging to Layer 0 to a slice belonging to Layer 3.
  • motion compensation prediction can be performed with reference to a slice belonging to a layer higher than the current layer. Therefore, the slice belonging to Layer 3 which is the lowest layer is not referred to. H.
  • nal_ref_idc a 2-bit index included in a NAL unit that is a transmission unit of encoded data
  • whether or not the slice is referred to in subsequent encoding / decoding processing is explicitly indicated. It is possible to notify the decoder.
  • nal_ref_idc 0, the slice is not referenced, and when nal_ref_idc> 0, the slice is referenced.
  • the filter coefficient after specifying the layer to which the slice to which the filter is applied belongs when considering scalability in the time direction and filter characteristics, it is desirable to predict the filter coefficient after specifying the layer to which the slice to which the filter is applied belongs. For example, it is possible to generate a decoded image with a frame rate of 1/3 by restricting the layers to be decoded up to Layer 1 in FIG. In this case, since the filter coefficients of the filters applied to the slices belonging to Layer 2 and Layer 3 are not decoded, if these are used as the reference filters, the decoding side cannot calculate correct filter coefficients. In general, when encoding is performed in a hierarchical structure, since the prediction method, the image quality of the reference image, the quantization parameter, and the like are different, the image quality may differ depending on the layer.
  • the filter information is encoded by using the filter applied to the slice belonging to the same layer as a reference filter for prediction of filter coefficients. Therefore, it is possible to reduce the amount of code required for this. Therefore, in the present embodiment, the filter coded immediately before is used as the reference filter for calculating the difference between the filter coefficients, among the filters applied to the slices coded in the same layer.
  • a filter may be used as a reference filter.
  • an encoded filter applied to slices belonging to layers Layer 0 to Layer 2 may be used as a reference filter. Since prediction with reference to a higher layer is allowed even during moving image encoding, scalability in the time direction does not deteriorate.
  • the selection of the reference filter considering the layer at the time of encoding may be combined with the above-described reference filter selection method. That is, among the slices belonging to the same layer, a filter used in the same slice type may be used as a reference filter, and a plurality of filter coefficients applied to slices belonging to the same layer are held, One may be selected. When selecting one from a plurality of reference filter candidates, it is necessary to separately multiplex information indicating the reference filter into encoded data.
  • the selection method of the reference filter considering the layer to which the encoded slice belongs has been described.
  • H. In H.264 / AVC the decoding side cannot determine the layer at the time of encoding. Only reference / non-reference can be determined by the nal_ref_idc described above. Therefore, in order to predict the filter coefficient after specifying the layer to which the slice to which the filter is applied belongs as described above, information for specifying the layer to which each slice belongs is necessary. In this embodiment, a method using nal_ref_idc will be described. As mentioned above, H.M.
  • Nal_ref_idc used in H.264 is expressed in 2 bits, and indicates that a NAL unit including slice data is non-referenced when 0, and becomes a reference slice when other than 0. Is not mentioned. Therefore, for example, in FIG. 20, by giving nal_ref_idc with values 0 to 3 from Layer 3 to Layer 0, the decoding side can determine in which layer the slice is encoded.
  • H. An example of using nal_ref_idc was described assuming a syntax configuration similar to that of H.264 / AVC.
  • the encoded data includes information indicating a layer at the time of encoding, such as a syntax called temporal_id in SVC (Scalable Video Coding), which is an extension of H.264 / AVC, it may be used as it is.
  • temporal_id Scalable Video Coding
  • the multiplexing position may be the header of the NAL unit, or the syntax of each level shown in FIG.
  • multiplexing to a picture parameter set syntax that is a high level syntax, a slice header syntax that is a slice level syntax, or the like can be considered.
  • FIG. 21B a delay until the encoded data is output when performing the encoding process is suppressed.
  • FIG. 21A the filter coefficient information and the filter application information need to be combined at the head of the slice data.
  • the filter coefficient when generating encoded data according to the configuration of FIG. 21B, if the filter coefficient is set before encoding the slice, the encoding of the maximum size filter application determination region is completed when the encoding is completed. Encoded data can be generated. At this time, for setting the filter coefficient, the filter coefficient calculated from the image of the same slice type encoded immediately before is used to set a filter having appropriate filter characteristics even before the encoding of the slice. be able to.
  • 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 same operation as the moving picture encoding apparatus and decoding apparatus of the above-described embodiment is realized. can do.
  • 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 and 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.

Landscapes

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

Abstract

 画素信号を含む入力画像と前記入力画像の予測画像との差分を示す予測誤差画像を変換及び量子化して量子化変換係数情報を生成し、前記量子化変換係数情報を逆量子化及び逆変換して局所復号画像を生成し、前記局所復号画像中の画素領域について適用する1以上のフィルタのフィルタ係数を示すフィルタ係数情報を生成し、符号化の対象となる入力画像が画素領域を示す符号化ブロックによってどのように分割されているかを示すブロック分割情報に基づいて、フィルタ処理を前記符号化ブロックに適用するかどうか、及びフィルタを適用する場合には適用するフィルタについて1以上の候補を示すフィルタ適用情報を、1以上の符号化ブロックを含む処理単位ごとに生成し、前記1以上の符号化ブロックを含む処理単位に対してフィルタを適用する場合に、2以上のフィルタが存在すれば、前記フィルタ適用情報に加えて、フィルタを適用する前記処理単位に含まれる画素信号から算出される指標に基づいて、適用するフィルタを切り替える。

Description

動画像符号化方法および復号方法
 本発明の実施形態は、動画像を符号化または復号するために用いる動画像符号化方法及び復号方法に関する。
 符号化側でフィルタ係数及びフィルタを適用する領域を示す情報を設定して復号側に送信し、復号側では受信したフィルタ情報を用いてフィルタ適用領域にループフィルタ処理を行い、復号画像の符号化歪を低減する技術としてQuad-tree based Adaptive Loop Filter(以下、QALFという)がある。QALFは四分木の木構造を用いて画像を可変サイズのブロックに分割してブロックごとにフィルタを適用するかどうかを切り替えて決定できる。 
 一方で、H.264ではマクロブロックと呼ばれる固定サイズのブロックを符号化の処理単位となる符号化ブロックとして、そのブロック内で予測方法や予測ブロックサイズ、変換ブロックサイズ等を設定しているが、この符号化ブロックを四分木で制御する手法がある。この手法、符号化ブロックを木構造で再帰的に表現することにより、符号化ブロックのサイズを画面内で可変としている。また、フィルタ適用の切り替えは各符号化ブロックに対して行なっており、フィルタ適用情報を符号化ブロックの符号化データ中に多重化している。
T. Chujoh, 他, "Specification and experimental results of Quadtree-based Adaptive Loop Filter," ITU-T Q.6/SG16 Doc. VCEG-AK22, Yokohama, April 2009. K. McCann, 他, "Samsung’s Response to the Call for Proposals on Video Compression Technology," JCT-VC Doc. JTCVC-A124, Dresden, April, 2010.
 しかしながら、従来のMPEG-2、MPEG-4、H.264等の動画像符号化方式では、符号化処理と同時に符号化データが生成される。一方で、対象となる領域(ピクチャまたはスライス等)の符号化が完了してからでなければ適切なフィルタ適用情報を求めることができない。そのため、フィルタ適用情報を符号化ブロックの符号化データ中へ多重化するためには、符号化ブロックの符号化データにおけるフィルタ適用情報の位置を1度記憶し、適切なフィルタ適用情報を求めてから適宜書き換える必要がある。
 本開示は、上述の課題を解決するためになされたものであり、符号化の処理量を削減することができる動画像符号化方法および復号方法を提供することを目的とする。
 本実施形態に係る動画像符号化方法は、画素信号を含む入力画像と前記入力画像の予測画像との差分を示す予測誤差画像を変換及び量子化して量子化変換係数情報を生成し、前記量子化変換係数情報を逆量子化及び逆変換して局所復号画像を生成し、前記局所復号画像中の画素領域について適用する1以上のフィルタのフィルタ係数を示すフィルタ係数情報を生成し、符号化の対象となる入力画像が画素領域を示す符号化ブロックによってどのように分割されているかを示すブロック分割情報に基づいて、フィルタ処理を前記符号化ブロックに適用するかどうか、及びフィルタを適用する場合には適用するフィルタについて1以上の候補を示すフィルタ適用情報を、1以上の符号化ブロックを含む処理単位ごとに生成し、前記1以上の符号化ブロックを含む処理単位に対してフィルタを適用する場合に、2以上のフィルタが存在すれば、前記フィルタ適用情報に加えて、フィルタを適用する前記処理単位に含まれる画素信号から算出される指標に基づいて、適用するフィルタを切り替えることを特徴とする。
 また、本実施形態に係る動画像復号方法は、1以上のフィルタのフィルタ係数を示すフィルタ係数情報と、符号化の対象となる画像中の画素領域を示す符号化ブロックがどのように分割されているかを示すブロック分割情報と、フィルタ処理を前記1以上の符号化ブロックに適用するかどうか、またフィルタを適用する場合には適用するフィルタについて1以上の候補を示すフィルタ適用情報と、量子化変換係数情報とを含んで符号化された符号化データを復号し、前記フィルタ係数情報、前記フィルタ適用情報、前記ブロック分割情報及び所定のサイズを持つ画素ブロックにおける前記量子化変換係数情報を得、前記量子化変換係数情報を逆量子化して逆変換した予測誤差画像と画像の予測画像とを加算した復号画像について、前記符号化ブロック分割情報と前記フィルタ適用情報とを対応付けてフィルタが適用される復号画像の領域を特定し、前記フィルタが適用される復号画像の領域について、フィルタ適用情報とフィルタ係数情報、更に2以上のフィルタが存在すればフィルタを適用する1以上の画素から算出される指標により特定されるフィルタを適用して復元画像を生成することを特徴とする。
動画像符号化装置を示すブロック図である。 ループフィルタ情報生成部を示すブロック図である。 エントロピー符号化部を示すブロック図である。 符号化ブロックの分割例を示す図である。 符号化ブロックへのフィルタ適用の制御例を示す図である。 本実施形態に係るシンタクス構造の一例を示す図である。 エントロピー符号化部の動作例を示すフローチャートである。 ループフィルタデータシンタクスのシンタクス構造の第1の記述例を示す図である。 ループフィルタデータシンタクスのシンタクス構造の第2の記述例を示す図である。 ループフィルタデータシンタクスのシンタクス構造の第3の記述例を示す図である。 ループフィルタデータシンタクスのシンタクス構造の第4の記述例を示す図である。 エントロピー符号化部の別例を示すブロック図である。 動画像復号装置を示すブロック図である。 エントロピー復号部を示すブロック図である。 エントロピー復号化部の別例を示すブロック図である。 デブロッキングフィルタ処理を含む場合の動画像符号化装置を示すブロック図である。 デブロッキングフィルタ処理を含む場合の動画像復号装置を示すブロック図である。 動画像復号装置の別例を示すブロック図である。 ポストフィルタとして用いる場合の動画像符号化装置を示すブロック図である。 ポストフィルタとして用いる場合の動画像復号装置を示すブロック図である。 階層構造を持つ動き補償予測符号化の例を示す図である。 スライスの符号化データの第1の構成例を示す図である。 スライスの符号化データの第2の構成例を示す図である。 スライスの符号化データの第3の構成例を示す図である。
 以下、図面を参照しながら本実施形態に係る動画像符号化方法および復号方法について詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
 (符号化装置) 
 本実施形態に係る動画像符号化方法を行なう動画像符号化装置について図1を参照して詳細に説明する。 
 本実施形態に係る動画像符号化装置100は、予測画像生成部101、減算部102、変換及び量子化部103、逆量子化及び逆変換部104、加算部105、ループフィルタ情報生成部106、ループフィルタ処理部107およびエントロピー符号化部108を含む。また、動画像符号化装置100は、符号化制御部109によって全体の動作を制御される。
 予測画像生成部101は、外部から入力された複数の画素信号からなる画像(以下、入力画像という)について所定の予測処理を行ない、予測画像を生成する。予測処理は、例えば、動き補償による時間方向の予測、または画面内の符号化済みの画素を用いた空間方向の予測等一般的な処理を用いればよく、ここでの詳細な説明は省略する。 
 減算部102は、入力画像と予測画像生成部101から予測画像とを受け取り、入力画像と予測画像との差分を計算して、予測誤差画像を生成する。 
 変換及び量子化部103は、減算部102から予測誤差画像を受け取り、予測誤差画像について変換処理を行なって変換係数を生成し、その後、変換係数について量子化処理を行なって量子化された変換係数である量子化変換係数を生成する。変換処理は、例えばDCT(Discrete Cosine Transform:離散コサイン変換)を用いた直交変換を行なう。なお、ウェーブレット変換、独立成分解析等の手法を用いて変換係数を生成してもよい。量子化処理は、後述する符号化制御部109で設定される量子化パラメータに基づいて、変換係数を量子化する。
 逆量子化及び逆変換部104は、変換及び量子化部103から量子化変換係数を受け取り、量子化パラメータに基づいて逆量子化し、その後、得られた変換係数について逆変換(例えば、逆DCT)して予測誤差画像を生成する。なお、逆量子化及び逆変換部104は、変換及び量子化部103の処理に対して逆処理を行えばよく、例えば、変換及び量子化部103がウェーブレット変換及び量子化を行なっている場合は、逆量子化及び逆変換部104が逆量子化及び逆ウェーブレット変換を行えばよい。 
 加算部105は、予測画像生成部101から予測画像を、逆量子化及び逆変換部104から予測誤差画像をそれぞれ受け取り、予測画像と予測誤差画像とを加算して局所復号画像を生成する。
 ループフィルタ情報生成部106は、入力画像と、加算部105から局所復号画像と、符号化制御部109から符号化ブロック分割情報とをそれぞれ受け取る。符号化ブロック分割情報は、符号化の処理単位となる符号化ブロックがどのように分割されているかを示す情報である。ループフィルタ情報生成部106はその後、フィルタ係数情報とフィルタ適用情報とを生成する。フィルタ係数情報は、画素領域(以下、単に領域ともいう)に適用するフィルタのフィルタ係数を示す情報である。フィルタ適用情報は、フィルタ処理を符号化ブロックに適用するかどうかを示す情報である。ループフィルタ情報生成部106の詳細については、図2を用いて後述する。
 ループフィルタ処理部107は、加算部105から局所復号画像を、ループフィルタ情報生成部106からフィルタ適用情報とフィルタ係数情報とを、符号化制御部109から符号化ブロック分割情報をそれぞれ受け取る。ループフィルタ処理部107はその後、局所復号画像に関してフィルタ適用情報が示す領域に、フィルタ係数情報に示されるフィルタを適用し、フィルタ適用後の画像である復元画像を生成する。また、生成された復元画像は、予測画像生成部101によって予測画像を生成する際に参照される。
 エントロピー符号化部108は、変換及び量子化部103から量子化変換係数を、ループフィルタ情報生成部106からフィルタ係数情報とフィルタ適用情報とを、符号化制御部109から符号化パラメータをそれぞれ受け取る。エントロピー符号化部108はその後、量子化変換係数、フィルタ係数情報、フィルタ適用情報および符号化パラメータをエントロピー符号化(例えば、ハフマン符号化または算術符号化)して符号化データとして外部に出力する。符号化パラメータは、予測モード情報、動き情報、符号化ブロック分割情報、量子化パラメータ等の情報である。エントロピー符号化部108の詳細については、図3を用いて後述する。 
 符号化制御部109は、符号化ブロック分割制御、発生符号量のフィードバック制御、量子化制御及びモード制御等を行ない、符号化全体の制御を行なう。
 次に、ループフィルタ情報生成部106について図2を参照して説明する。 
 ループフィルタ情報生成部106は、フィルタ係数情報生成部201及びフィルタ適用情報生成部202を含む。
 フィルタ係数情報生成部201は、入力画像と、加算部105から復号画像とをそれぞれ受け取り、復号画像に対して適用するループフィルタのフィルタ係数を設定してフィルタ係数情報を生成する。
 フィルタ適用情報生成部202は、入力画像と、加算部105から復号画像と、フィルタ係数情報生成部201からフィルタ係数情報と、符号化制御部109から符号化ブロック分割情報とをそれぞれ受け取り、復号ブロックを参照して1以上の符号化ブロックに対してフィルタを適用するかどうかの判定を行ない、フィルタ適用情報を生成する。フィルタ適用情報生成部202のフィルタ適用に関する判定方法については後述する。
 次に、エントロピー符号化部108について図3を参照して説明する。 
 エントロピー符号化部108は、符号化ブロックレベルシンタクス符号化部301とループフィルタデータシンタクス符号化部302とを含む。
 符号化ブロックレベルシンタクス符号化部301は、変換及び量子化部103から量子化変換係数を、符号化制御部109から符号化ブロック分割情報をそれぞれ受け取り、量子化変換係数と符号化ブロック分割情報とを含む情報についてエントロピー符号化を行なう。 
 ループフィルタデータシンタクス符号化部302は、ループフィルタ情報生成部106からフィルタ係数情報とフィルタ適用情報とを受け取り、フィルタ係数情報とフィルタ適用情報とについてエントロピー符号化を行なう。エントロピー符号化部108の詳細な動作については後述する。
 ここで、本実施形態で想定する可変サイズの符号化ブロックについて図4を参照して詳細に説明する。 
 符号化処理は、画像を複数のブロックに分割した各符号化ブロックについて行われる。H.264等従来の動画像符号化の標準規格においてはマクロブロックと呼ばれる固定サイズのブロックが用いられているが、本実施形態では画面内で可変サイズの符号化ブロックを用いる動画像符号化方法を対象とする。一例として、本実施形態では四分木の木構造によってブロック分割を制御する場合について説明するが、どのようなブロック分割方法についても適応できる。ブロックの分割は、四分木の木構造によって分割を制御することにより、可変サイズの符号化ブロックを調整することができ、具体的には、例えば符号化制御部109がシンタクスにおけるパラメータであるmax_coding_block_sizeとmax_coding_layerとを制御することにより、符号化ブロックのサイズを調整できる。
 max_coding_block_sizeは、符号化ブロックの最大サイズを示し、max_coding_layerは、四分木の木構造の最大の深さを示す。これらから符号化ブロックの最小サイズであるmin_coding_block_sizeが決定される。例えば、図4の符号化ブロック401の例では、max_coding_block_size=64、max_coding_layer=2である場合、符号化ブロックの最大サイズから深さ2の木構造を取るので、min_coding_block_size=16となる。また、この符号化ブロック401の四分木の木構造を模式的に表したものが模式図402である。各符号化ブロックは更に4つの符号化ブロックに分割することができ、min_coding_block_sizeよりも大きなサイズの符号化ブロックには、更にブロックの分割を行なうかどうかの情報が付加される。max_coding_block_sizeとmax_coding_layerとは、シーケンスに対して固定の値を用いてもよく、またスライス等の単位で可変としてもよい。これらの場合、それぞれの単位でmax_coding_block_sizeとmax_coding_layerとを符号化する必要がある。更に、符号化側と復号側とで一意なパラメータを用いてもよく、この場合にはパラメータを符号化する必要はない。
 また、各符号化ブロックのサイズは自由に設定することが可能であるが、ここでは次式により表される符号化コストに基づいて設定する。 
 cost=D+λ×R・・・(1) 
 ただし、式(1)におけるDは残差二乗和、Rは符号量を表す。
 符号化制御部109は、各符号化ブロックを用いて符号化を行なった場合と、更に4つの符号化ブロックに分割して符号化を行った場合とのそれぞれについて式(1)を用いて符号化コストを算出し、符号化コストが小さくなる符号化ブロックのサイズを選択する。このように画面内で符号化ブロックのサイズを可変とすることで、画像における領域ごとの特性を考慮して符号化を行うことが可能となる。
 次に、本実施形態に係る動画像符号化装置の符号化処理について説明する。 
 まず、本実施形態に係る動画像符号化装置100は、入力画像を受け取り、減算部102において、入力画像と予測画像生成部101からの予測画像とについて減算処理を行ない予測誤差画像を生成する。続いて、生成された予測誤差画像は、変換及び量子化部103において変換して量子化され、結果として量子化変換係数が生成される。量子化変換係数はエントロピー符号化部108で符号化される。一方、量子化変換係数は、逆量子化及び逆変換部104で逆量子化して逆変換され、予測誤差画像として出力される。予測誤差画像は、加算部105において予測画像生成部101からの予測画像と加算され、局所復号画像が生成される。
 上述した一連の処理は、予測処理と変換処理とを行なう、いわゆるハイブリッド符号化と呼ばれる動画像符号化における一般的な符号化処理である。なお、ここでは予測、変換、量子化を行なう符号化処理を説明したが、DPCM(Differential Pulse Code Modulation)が隣接画素からの予測のみを行なうように、いくつかの処理を行なわなくてもよい。
 次に、ループフィルタ情報生成部106の動作について説明する。 
 フィルタ係数情報生成部201は、局所復号画像と入力画像とに基づいて、局所復号画像にフィルタ処理を施した場合の画像と、入力画像との平均二乗誤差が最小となるようにフィルタ係数を設定する。
 フィルタ適用情報生成部202は、フィルタ係数情報と符号化ブロック分割情報とに基づいて、1以上の符号化ブロックについてフィルタを適用したことにより、フィルタ適用後の画像と入力画像との平均二乗誤差が低減しているか否かを符号化ブロックごとに判定してブロックごとのフィルタ適用情報を生成する。つまり、フィルタ適用情報は、フィルタを適用することで各ブロックにおける原画像との誤差が低減される場合にフィルタを適用するように設定される。 
 続いて、フィルタ適用情報生成部202は、上述の判定を、複数のmax_filtering_layerに対して行ない、符号化コストが最も小さくなるmax_filtering_layerを選択する。max_filtering_layerは、符号化ブロックの分割における四分木の第何階層目までをフィルタ適用情報の設定に用いるかを示すパラメータである。また、この符号化ブロックの分割形状とmax_filtering_layerで示される、フィルタを適用するか否かを判定する単位となる領域をフィルタ適用判定領域とも呼ぶ。 
 なお、符号化ブロックのフィルタ適用情報に加え、複数の符号化ブロックを含む処理単位にフィルタ適用情報を設定してもよい。例えば、符号化スライスごとにフィルタ適用情報を設定してもよく、この場合は、符号化スライスに対して全くフィルタを適用しない場合のコストと、ブロックごとにフィルタを適用する場合のコストとを算出して比較することで、符号化スライスにおけるフィルタ適用情報を設定することができる。
 符号化ブロックのフィルタ適用判定領域について図5を参照して説明する。 
 図5(a)は、図4における符号化ブロック401の分割形状を示す。また、図5(b)から(c)までの各符号化ブロック内の「ON」及び「OFF」は、フィルタを適用するかどうかを示し、「ON」の場合はフィルタを適用し、「OFF」の場合はフィルタを適用しない。図5(b)に示すように、max_coding_layer=2、max_filtering_layer=2である場合は、実際に符号化で用いられた木構造の符号化ブロックと、フィルタ適用判定領域とが深さ2(第2階層目)で一致するため、符号化ブロックごとにフィルタを適用するかどうかが決定される。 
 一方、図5(c)に示すように、max_filtering_layer=1である場合は、フィルタ適用判定領域は深さ1(第1階層目)であるから、符号化ブロックの最大サイズ(max_coding_block_size)を一度4分割した符号化ブロックについて、それぞれフィルタを適用するかどうかが決定される。また、図5(d)に示すように、max_filtering_layer=0である場合は、符号化ブロックは分割されないので、符号化ブロックの最大サイズの符号化ブロックについてフィルタを適用するかどうかが決定される。
 ここではフィルタ適用判定領域の最大サイズと符号化ブロックの最大サイズが一致するものとして説明を行ったが、これらは必ずしも一致している必要はない。最大符号化ブロックを複数、例えば水平方向に4つ、垂直方向に4つの最大符号化ブロックや水平方向に4つ、垂直方向に1つの最大符号化ブロックをまとめて最大のフィルタ適用判定領域としてもよい。
 また、本実施形態ではフィルタとして画像復元で一般的に用いられる2次元のWiener filterを用いる。また、符号化スライス単位でフィルタを非適用と設定した場合にはスライス内の全画素についてフィルタは適用されず、ブロックごとのフィルタ適用情報は破棄される。一方、符号化スライス単位でフィルタを適用とした場合にはブロックごとのフィルタ適用情報に従ってフィルタを適用する。 
 なお、ここではフィルタが1つの場合を説明したが、複数のフィルタを用意して、フィルタを適用するかどうかに加え、フィルタの種類についても同様にフィルタ適用情報によって切り替えてもよい。更に、フィルタを適用するかどうかについては、フィルタ適用情報によって切り替え、フィルタの種類については、復号画像の画素ごとまたはブロックごとにアクティビティや画素値によって切り替えてもよい。
 例えば、適用するフィルタの切り替えは1画素単位だけでなく、8x8画素や4x4画素といった正方形のブロック、8x2画素や4x2画素といった長方形のブロック、8x1画素や4x1画素といった画素のラインを単位として行ってよい。
 また、切り替え指標となるアクティビティの算出には一般的にエッジ検出などで用いられる微分フィルタを利用して周囲の画素値との差分を算出した結果を用いることができる。以下に1画素単位でフィルタを切り替える場合の切り替え指標の具体例を挙げる。
Figure JPOXMLDOC01-appb-M000001

数1において、D(x,y)は画素位置(x,y)における復号画像の画素値を示しており、数1によって水平方向の微分フィルタ結果の絶対値と垂直方向の微分フィルタの絶対値の和が算出できる。この値は画素位置(x,y)における画素値と周囲の画素値との関係から算出されるため、画像の局所的特徴を表現するのに有効であり、画素位置(x,y)に対するフィルタを選択する指標として用いることができる。更に、数1によって示される値を一定範囲の画素、例えば周囲NxN画素のブロックについて算出し、それらの和をフィルタ切り替えの指標としてもよい。
 ここでは1画素単位でフィルタを切り替える指標として数1を挙げたが、複数画素からなる領域を単位としてフィルタを切り替える場合には、例えば領域内のそれぞれの画素について数1で求めた指標の総和を、領域全体のフィルタ切り替え指標とすることができる。
 同様に、以下の数2に従って算出された値を用いてもよい。
Figure JPOXMLDOC01-appb-M000002

数2は画素位置(x,y)の画素とその周囲の画素との画素値差分の絶対値を平均したものである。これについても画像の局所構造を表現する値として、フィルタ切り替えの指標に用いることができる。また、数2では画素値差分の平均値を求めたが、平均値ではなく最大値を用いてもよい。
 数2を用いる場合にも、複数画素からなる領域を単位としてフィルタを切り替える場合には、例えば領域内で数2の平均値を算出して領域全体のフィルタ切り替え指標とすることができる。平均値ではなく最大値を用いる場合も同様である。
 次に、本実施形態に係るシンタクス要素について図6を参照して詳細に説明する。 
 以下では、フィルタ係数情報とフィルタ適用情報とをスライス単位で送信するものとする。
 図6に示すようにシンタクスは、主にハイレベルシンタクス、スライスレベルシンタクス及び符号化ブロックレベルシンタクスの3つを含む。ハイレベルシンタクス601では、スライス以上の上位レイヤのシンタクス情報が記述され、スライスレベルシンタクス604では、スライスごとに必要な情報が記述され、符号化ブロックレベルシンタクス607では、符号化ブロック分割情報または符号化ブロックごとに必要とされる変換係数、予測モード情報および動きベクトル等が記述される。
 更に、ハイレベルシンタクス601では、シーケンスパラメータセットシンタクス602とピクチャパラメータセットシンタクス603といった、シーケンスまたはピクチャレベルのシンタクスを含む。スライスレベルシンタクス604では、スライスヘッダーシンタクス605、およびフィルタ係数情報とフィルタ適用情報とを含むループフィルタデータシンタクス606を含む。符号化ブロックレベルシンタクス607は、符号化ブロック分割情報を含む符号化ブロックレイヤーシンタクス608、符号化ブロックプレディクションシンタクス609を含む。
 例えば、上述の符号化ブロックの分割を制御するためのパラメータmax_coding_block_sizeとmax_coding_layerとがシーケンスで固定であるならばシーケンスパラメータセットシンタクス602にこれらのパラメータを付加し、スライスごとに可変とするならばスライスヘッダーシンタクス605にこれらのパラメータを付加すればよい。
 ここで、エントロピー符号化部の動作について図7のフローチャートを参照して説明する。 
 ステップS701では、符号化ブロックレベルシンタクス符号化部301が、符号化ブロック分割情報、量子化変換係数情報に加えてモード情報や動き情報を符号化ブロックレベルシンタクスの一連の符号化データとして符号化する。 
 ステップS702では、ループフィルタデータシンタクス符号化部302が、フィルタ係数情報とフィルタ適用情報とをループフィルタデータシンタクスの一連の符号化データとして、符号化ブロックレベルシンタクスの符号化とは別々に符号化する。 
 ステップS703では、ループフィルタデータシンタクス及び符号化ブロックレベルシンタクスのそれぞれの符号化データが結合され、復号側に送られる1つの符号化データとして生成される。
 フィルタ係数情報とフィルタ適用情報との設定は、1スライス分の符号化が完了して復号画像が生成されてから行われるため、符号化ブロックレベルシンタクスを符号化する時点ではフィルタ適用情報が決定されていない。よって、符号化ブロックレベルシンタクス中にフィルタ適用情報を付加するとすれば、フィルタが適用される領域の画素位置を符号化ブロックごとに記憶し、フィルタ適用情報が設定された後にその符号化ブロックの領域にフィルタが適用されるかどうかを改めて書き換える必要があり、符号化の処理が煩雑となり処理量が増えることになる。 
 本実施形態では、フィルタ適用情報を、符号化ブロックレベルシンタクスではなくループフィルタデータシンタクスに、フィルタが適用される符号化ブロック数がわかるようにして1スライス分まとめて符号化する。
 ループフィルタデータシンタクスの記述例について図8から図10までを参照して詳細に説明する。 
 図8に示すループフィルタデータシンタクス606には、本実施形態のループフィルタに関するパラメータであるフィルタ係数情報とフィルタ適用情報とが記述される。filter_type_idxは、ループフィルタの形状またはタップ長を示すインデクスである。filter_type_idxは、フィルタ係数の数であるNumOfFilterCoeffと対応しており、filter_coeffは、フィルタ係数である。
 ここで、フィルタ係数情報の符号化方法について説明する。フィルタ係数情報におけるfilter_coeffはフィルタ係数情報を示すが、フィルタ係数そのものを符号化する方法に加え、異なるフィルタのフィルタ係数との差分を符号化する方法を用いても良い。デコーダでも利用可能なフィルタ係数との差分を符号化することで、filter_coeffの値を小さくすることができ、結果的にfilter_coeffを符号化するために必要な符号量を削減することができる。このとき、差分を算出するための基準となるフィルタの選択については複数の方法が考えられる。1つは、既に符号化済のスライスで用いられたフィルタのフィルタ係数を利用する方法である。既に符号化済のフィルタを利用する場合、直前のスライスで用いられたフィルタを用いてもよく、直前の同一スライスタイプで用いられたフィルタを用いてもよい。更に、既に符号化済のフィルタ係数を複数保持しておき、その中から1つを選択して用いてもよい。ただし、この場合にはどのフィルタとの差分を算出するかを示す情報を別途符号化データに多重化する必要がある。もし現在符号化しようとしているフィルタ係数と基準となるフィルタ係数の形状が異なる場合には中心係数位置を基準とした相対位置が同一となる係数位置同士で差分を算出することで、フィルタ係数の差分を小さくすることができる。更にもう1つの方法として、同一スライス内で複数のフィルタを切り替えて用いる場合や、フィルタ係数をフィルタ適用判定領域ごとに更新しながら設定するには、同一スライス内でのフィルタ同士で同様にフィルタ係数の差分値を算出しても良い。また、上記異なるスライス間での係数差分算出と同一スライス内での差分値算出は併用することもできる。例えば、当該スライスにおける1つ目のフィルタをスライス間における差分により符号化し、2つ目以降のフィルタについては1つ目のフィルタとの差分を算出して符号化することができる。
 更に、上記のフィルタ係数の差分値については符号化しなくとも良い。即ち、異なるスライスや同一スライス内において基準となるフィルタを選択し、そのフィルタ係数をそのまま用いても良い。この場合、フィルタ係数の差分値を符号化するか基準となるフィルタをそのまま利用するかを示す切り替え情報を別途符号化データに多重化する必要がある。
 また、loop_filter_flagは、各符号化ブロックにループフィルタを適用するかどうかを示す1ビットのフラグである。例えば、フィルタを適用する場合は「1」、フィルタを適用しない場合は「0」とすればよい。NumOfLoopFilterFlagは、フィルタ適用判定領域の総数である。 
 loop_filter_flagは、1bitの固定長で符号化してもよく、またCAVLC(Context Adaptive Variable Length Coding)やCABAC(Context Adaptive Binary Arithmetic Coding)といった可変長符号化により符号化してもよい。また、先述したように本実施の形態では複数のフィルタを用意してフィルタ適用判定領域ごとに切り替え、フィルタの切り替え情報を明示的に符号化データに多重化してもよい。このとき、フィルタの切り替え情報の表現には複数の方法が考えられる。1つは、loop_filter_flagによりフィルタを適用するか否かを判定した後、フィルタを適用する場合に更にフラグあるいはインデクスを追加して適用するフィルタを特定する方法である。更にもう1つは、フィルタを適用するか否か、更にフィルタを適用するのであればどのフィルタを適用するのかを1つのインデクスとする方法である。例えば、3種類のフィルタが利用可能である場合にはフィルタを適用しない場合と合わせて4通りの処理が存在する。これらを2bit相当のインデクスで表現することで、前者の方法と比較してより効率良くフィルタ適用方法を表現することが可能である。このとき、フィルタ適用の有無とフィルタの種類を表現する符号列は自由に設定可能であるが、エンコーダとデコーダで共通の符号列を用いる必要がある。
 更に、ここまではフィルタが適用される領域と適用されない領域について説明したが、すべての領域においてフィルタが適用されるものとしてもよい。即ち、上記でフィルタを適用するか否かと3種類のフィルタを切り替える場合について説明したが、すべての領域でフィルタが適用される場合には同様に2bit相当のインデクスを用いて4種類までのフィルタを切り替えることが可能となる。ただし、フィルタを適用することですべての領域について入力画像との誤差が低減する保証はない。そこで、フラグあるいはインデクスで表現される特定の領域について、フィルタを適用しない領域とするか異なるフィルタを適用する領域とするかをスライス等の単位で切り替えてもよい。その場合、該当する単位で切り替えのための情報を追加するか、エンコーダとデコーダで共通の指標に基づいて切り替える必要がある。
 ここで、NumOfLoopFilterFlagをloop_filter_flagの前に付加する。こうすることで、復号側でNumOfLoopFilterFlagが示すブロック数だけフィルタ適用情報が存在することがわかる。例えば、図5(b)が1つのスライスを構成している場合は、NumOfLoopFilterFlag=10であり、loop_filter_flagは「0100101101」と表されるので、復号側ではループフィルタデータシンタクスに含まれる情報のみを用いてloop_filter_flagを正しく復号することができる。更に、符号化ブロック分割情報とmax_filtering_layerに基づいて対応する符号化ブロックごとにフィルタを適用するかどうかを判定してフィルタ処理を行なうことができる。
 このように、符号化側でフィルタが適用される符号化ブロックの領域内の全ての画素位置を記憶して書き換えるような煩雑な処理を行なわなくとも、ループフィルタデータシンタクスへ符号化ブロック数を挿入するだけでよく、符号化の処理量を削減することができる。
 また、NumOfLoopFilterFlagは可変長符号化により符号化してもよいし、固定長で符号化してもよい。符号化方法としては、画像サイズまたは符号化ブロックの分割に関するパラメータに基づいて変更する方法がある。 
 1スライスは1画面より大きな領域をとることはないため、画像サイズ、max_coding_block_size、min_coding_block_size及びmax_filtering_layerの少なくとも1つから、1スライスに存在し得る最小のブロック数と最大のブロック数、即ちブロック数の取り得る値の範囲を得ることができる。よって、NumOfLoopFilterFlagを可変長で符号化する場合には、ブロック数のとり得る値の範囲に応じた確率モデルを用いて符号テーブルを変更する。NumOfLoopFilterFlagを固定長で符号化する場合には、ブロック数のとり得る値の範囲を表現できる最小のビット長によりNumOfLoopFilterFlagを符号化する。こうすることで、画像サイズまたはブロックサイズが変動した場合にも適切な符号化方法を選択することができる。 
 更に、上記のパラメータは復号側でも利用できるため、符号化側と復号側とで同一のビット長を選択することで正しく復号を行なうことができる。
 ループフィルタデータシンタクス606の別の記述例として、図9A及び図9Bに示すように、loop_filter_dataの終端に固有なビット列を符号化してloop_filter_flagの終端を判定してもよい。図9Aは、loop_filter_flagが設定されていなくてもよい場合の記述例、図9Bは、必ず1以上のloop_filter_flagが設定されていることを前提とした場合の記述例である。 
 loop_filter_dataの終端に、loop_filter_dataの終端位置を示すための固有なビット列を付加することで、固有なビット列が現れるまでのビットにフィルタ適用情報が設定されていると復号側で判定できるので、NumOfLoopFilterFlagがわからない場合にも適切な数のloop_filter_flagを復号することができる。
 更に別の手法としては、符号化ブロック分割情報を四分木の木構造でloop_filter_dataに記述してもよい。この場合のループフィルタデータシンタクス606の記述例を図10に示す。 
 図10におけるNumOfParentBlockは、1スライス中に含まれるmax_coding_block_sizeのブロックの数を表しており、NumOfParentBlockだけ四分木が存在する。NumOfChildBlockはある階層まで分割を行なった場合に1つのmax_coding_block_sizeから分割された符号化ブロックの数を表している。max_coding_block_sizeの各ブロックを四分木の開始点として、block_partitioning_flagにより符号化ブロックを更に4つに分割するかどうかを表現する。block_partitioning_flag=1である場合には符号化ブロックが更に分割され、1つ下の階層に位置するブロックのvalid_block_flagが1となる。それ以上分割されない場合、block_partitioning_flag=0となり、1つ下の階層に位置するブロックのvalid_block_flagは0となる。このように記述することで、図4に示したような四分木の木構造を表現することができる。ただし、1スライスが1画面よりも小さな領域である場合には、max_coding_block_sizeだけではNumOfParentBlockを特定することはできないため、スライスの形状または大きさを示す情報が必要となる。
 また、先述したように本実施例ではフィルタ適用判定領域の最大サイズが符号化ブロックの最大サイズを超えてもよい。ただし、その場合にはフィルタ適用判定領域の分割情報を別途符号化データに多重化する必要がある。例えば、フィルタ適用判定領域を、最大符号化ブロックをまとめたものとして同様に四分木の木構造で管理する場合には、フィルタ適用判定領域が最大符号化ブロックサイズ以下となるまでは図10のように四分木の木構造で分割を表現し、符号化ブロック以下のブロックサイズに達した段階で図8、図9A、図9B及び図10の何れかのシンタクスでフィルタ適用判定領域を特定することができる。
 図10に示すループフィルタデータシンタクスを用いる場合のエントロピー符号化部について図11のブロック図を参照して詳細に説明する。 
 図11に示すエントロピー符号化部1100は、符号化ブロックレベルシンタクス符号化部1101とループフィルタデータシンタクス符号化部1102とを含む。 
 符号化ブロックレベルシンタクス符号化部1101は、図3に示す符号化ブロックレベルシンタクス符号化部301とほぼ同様の動作を行なうが、符号化ブロック分割情報の符号化は行わず、量子化変換係数を符号化する点が異なる。
 ループフィルタデータシンタクス符号化部1102は、図3に示すループフィルタデータシンタクス符号化部302とほぼ同様の動作を行なうが、フィルタ係数情報とフィルタ適用情報とに加え、符号化ブロック分割情報も含めて一連の符号化データとして符号化する点が異なる。その際、符号化ブロック分割情報は符号化ブロックデータシンタクス中に付加する必要はないため、オーバヘッドとしては著しく変化することはない。
 なお、本実施例ではスライスヘッダーシンタクスとループフィルタデータシンタクスとを異なるものとして説明したが、ループフィルタデータシンタクスの一部または全部がスライスヘッダーシンタクスに含まれていてもよい。 
 更に、上述したようにループフィルタの適用はスライス単位での切り替えもでき、スライス単位のフィルタ適用情報はスライスヘッダーシンタクス605に格納される。このとき、スライスに対してループフィルタが適用されると判定された場合は、ループフィルタデータシンタクス606がスライスレベルシンタクス604に格納される。 
 また、スライスとは独立した単位でループフィルタを制御してもよい。これをループフィルタスライスと呼ぶ。1つのスライスに複数のループフィルタスライスが含まれる場合、ループフィルタスライスの数だけループフィルタデータシンタクス606が生成される。更に、ループフィルタスライスが複数のスライスにまたがって存在する等、スライス単位では処理しきれないような場合にはループフィルタデータシンタクス606はピクチャパラメータセットシンタクス603等のハイレベルシンタクス601に含まれていてもよい。 
 画像を構成するコンポーネントが複数存在する場合、コンポーネントごとにシンタクスが生成されてもよく、また2つ以上のコンポーネントに対して共通のシンタクスが生成されてもよい。
 (復号装置) 
 次に、動画像符号化装置に対応する動画像復号装置について図12を参照して詳細に説明する。
 本実施形態に係る動画像復号装置1200は、エントロピー復号部1201、フィルタ情報バッファ1202、逆量子化及び逆変換部1203、加算部1204、ループフィルタ処理部1205及び予測画像生成部1206を含む。また、動画像復号装置1200は、復号制御部1207によって全体の動作を制御される。逆量子化及び逆変換部1203、加算部1204及び予測画像生成部1206の動作については、本実施形態に係る動画像符号化装置100に含まれる対応する部と同様の動作を行うためここでの説明は省略する。
 エントロピー復号部1201は、図6に示されるシンタクス構造に従って、ハイレベルシンタクス、スライスレベルシンタクス、符号化ブロックレベルシンタクスのそれぞれについて、順次符号化データの各シンタクスの符号列を復号し、量子化変換係数、フィルタ係数情報とフィルタ適用情報、符号化ブロック分割情報等を復号する。
 フィルタ情報バッファ1202は、エントロピー復号部1201から復号されたフィルタ係数情報とフィルタ適用情報とを受け取って格納する。
 ループフィルタ処理部1205は、本実施形態に係るループフィルタ処理部107とほぼ同様の動作を行ない、エントロピー復号部1201から符号化ブロック分割情報を、加算部1204から復号画像を、フィルタ情報バッファ1202からフィルタ係数情報とフィルタ適用情報とをそれぞれ受け取る。ループフィルタ処理部1207はその後、フィルタ適用情報に基づいて復号画像の特定の領域に対してフィルタ係数情報により示されるフィルタを適用し、フィルタ適用後の画像を復元画像として生成する。また、復元画像は、出力画像として外部に出力される。また、復元画像は、予測画像生成部1206によって予測画像を生成する際に参照される。
 復号制御部1207は、符号化ブロック分割の制御または復号タイミングの制御等、復号全体の制御を行なう。
 次に、エントロピー復号部1201について図13を参照して説明する。 
 エントロピー復号部1201は、符号化ブロックレベルシンタクス復号部1301及びループフィルタデータシンタクス復号部1302を含む。 
 符号化ブロックレベルシンタクス復号部1301は、符号化データから符号化ブロックレベルシンタクスに相当する符号列を受け取って復号処理を行ない、量子化変換係数及び符号化ブロック分割情報を復号する。 
 ループフィルタデータシンタクス復号部1302は、符号化データからループフィルタデータシンタクスに相当する符号列を受け取って復号処理を行ない、フィルタ係数情報とフィルタ適用情報とを復号する。
 次に、動画像復号装置1200の動作について説明する。なお、ここでは、ループフィルタデータシンタクスが図8、図9A及び図9Bのシンタクス構造に従っている場合について説明する。 
 動画像復号装置1200に符号化データが入力されると、エントロピー復号部1201によって、符号化データのループフィルタデータシンタクスに相当する符号列がループフィルタデータシンタクス復号部1302に入力されて図6のシンタクス構造に従った復号処理が行われる。得られたフィルタ係数情報とフィルタ適用情報とは、フィルタ情報バッファ1202に格納される。 
 次に、符号化データの符号化ブロックレベルシンタクスに相当する符号列が符号化ブロックレベルシンタクス復号部1301に入力されて復号処理が行なわれ、変換係数及び符号化ブロック分割情報に加え、予測モード情報、動き情報、符号化ブロック分割情報、量子化パラメータ等が図6のシンタクス構造に従って復号される。得られた符号化ブロック分割情報は、復号制御部1207が復号処理において符号化ブロック分割制御を行なう際に利用される。その後、逆量子化及び逆変換部1203が、エントロピー復号部1201によって復号された変換係数を受け取って、復号制御部1207によって設定されている量子化パラメータに従って逆量子化され、得られた変換係数に対して逆変換(例えば、離散コサイン変換)を行ない、予測誤差画像を生成する。次に、加算部1204は、逆量子化及び逆変換部1203から予測誤差画像と、予測画像生成部1206から予測画像とをそれぞれ受け取って加算し、復号画像を生成する。
 上述の符号化ブロックレベルシンタクスの復号に関する一連の処理は、予測処理と変換処理とを行なういわゆるハイブリッド符号化と呼ばれる動画像符号化における一般的な復号処理であるため、ここでの詳細な説明は省略する。
 続いて、ループフィルタ処理部1205は、加算部1204から復号画像を、フィルタ情報バッファ1202からフィルタ係数情報とフィルタ適用情報とを、エントロピー復号部1201から符号化ブロック分割情報をそれぞれ受け取り、復号画像に対してフィルタ処理を行なう。このとき、ループフィルタ処理部1205は、符号化ブロック分割情報とフィルタ適用情報との対応付けを行なうことによりフィルタを適用する領域を判定することが可能となる。具体的には、図8、図9A及び図9Bのシンタクス構造に示されるmax_filtering_layerと符号化ブロックの分割形状とからフィルタ適用判定領域を求め、各フィルタ適用判定領域に対してloop_filter_flagを対応付けることで、復号側では符号化側で設定したブロックに対してフィルタを適用することができる。ループフィルタを適用する領域については、フィルタ適用後の画素値を復元画像の画素値とする。一方、ループフィルタを適用しない領域については、復号画像における同一位置の画素値を復元画像の画素値とする。復元画像は、出力画像として出力されると共に、予測画像生成部において必要に応じて参照される。
 なお、ここではループフィルタデータシンタクスが図8、図9A及び図9Bのシンタクス構造に従う場合について説明したが、図10のシンタクス構造に従っていてもよい。
 図10のシンタクス構造に従うエントロピー復号部の例について図14を参照して説明する。 
 図14に示すエントロピー復号部1400は、図13に示すエントロピー復号部1201と同じ構成であるが、ループフィルタデータシンタクスに相当する符号列がループフィルタデータシンタクス復号部1402に入力されて復号処理が行なわれたときに、フィルタ係数情報とフィルタ適用情報とに加えて符号化ブロック分割情報を復号する点が異なる。よって、ループフィルタデータシンタクス復号部1402で復号された符号化ブロック分割情報は、上述した用途に加え、符号化ブロックレベルシンタクス復号部1401が符号化ブロックレベルシンタクスに相当する符号列を復号する際に用いることができる。
 以上に示した本実施形態によれば、フィルタ適用情報を符号化ブロックの符号化データ中に多重化せずに、一連の符号化データとしてフィルタ適用情報をまとめて符号化して結合することで、符号化ブロックの符号化データにおけるフィルタ適用情報の位置を記憶して書き換える処理を行なう必要がない。よって、ループフィルタデータシンタクスにまとめて符号化するだけでよく、符号化の処理が簡便になり処理量を削減することができる。また、動画像符号化装置で符号化された符号化データに関して、フィルタ適用情報をバッファに格納し、符号化ブロックレベルシンタクスの復号を行いながら符号化ブロック分割情報を復号してフィルタ適用情報との対応付けを行なうことで、符号化側で設定した領域に対してフィルタを適用することができ、動画像を復号することができる。
 (本実施形態の変形例) 
 ここでは、実施の形態における特定の技術要素を組み合わせた変形例について説明する。尚、本変形例で述べる技術要素については実施の形態にて説明済であるため、詳細については割愛する。
(符号化装置) 
 本変形例に係る動画像符号化装置について述べる。ただし、ループフィルタ処理以外の符号化処理については実施形態と同一であるため、ここではループフィルタ情報生成部106及びループフィルタ処理部107及びエントロピー符号化部108について説明する。
 まずループフィルタ情報生成部106の動作について説明する。ループフィルタ情報生成部106では、局所復号画像を複数のフィルタ適用判定領域に分割し、それぞれのフィルタ適用判定領域についてループフィルタのフィルタ係数情報及びフィルタ適用情報を生成する。ここで、フィルタ適用判定領域は最大サイズの符号化ブロックを1以上含むものとし、フィルタ領域の分割は符号化ブロックと同様に四分木の構造で管理されているものとする。
 フィルタ係数情報生成部201は、各フィルタ適用判定領域について、局所復号画像と入力画像とに基づいて、局所復号画像に適用するフィルタ係数を設定する。フィルタ係数の設定方法としては、例えば局所復号画像にフィルタ処理を施した場合の画像と、入力画像との平均二乗誤差が最小となるように行うことでフィルタにより入力画像との誤差を低減することができる。尚、各フィルタ適用判定領域において、複数のフィルタ係数を設定してもよく、その場合には実施の形態で述べたように画素単位や複数画素を含む領域においてアクティビティなどの指標によってフィルタ係数を切り替えてよい。ただし、ここではフィルタ係数を切り替える領域はフィルタ適用判定領域の境界をまたがないものとして説明する。その後、設定されたフィルタ係数に基づいてフィルタ適用判定領域ごとにフィルタ係数情報を生成する。このとき、フィルタ係数情報は当該フィルタ適用判定領域に対するフィルタ係数と既に符号化済のフィルタ係数との差分により表現される。尚、当該スライスにおいて初めてフィルタが適用される場合には直前の同一スライスタイプで用いられたフィルタ係数との差分を算出し、当該スライスにおいて2つ目以降のフィルタ係数に関しては、スライス内で直前に用いられたフィルタ係数との差分を算出する。更に、フィルタ係数の差分値については必ずしも送信する必要はない。即ち、直前に用いられたフィルタ係数をそのまま当該フィルタ適用判定領域に適用してもよい。上記の処理により、フィルタ係数をそのまま用いるか否かを示す情報を付加するだけでフィルタ係数の差分値を符号化するための符号量を削減することができるが、一方で設定されたフィルタ係数とは異なるために入力画像との誤差を低減する効果は低下する。そこで、エンコーダでは、既に符号化済のフィルタをそのまま用いる場合と設定されたフィルタを用いる場合の双方を適用し、符号化コストに基づいてより適切なフィルタを選択することができる。
 また、ここでは基準となる符号化済のフィルタが1つであるように説明したが、符号化済のフィルタ係数を複数保持しておき、エンコーダで適切なものを選択してもよい。この場合には基準となるフィルタを示す切り替え情報を明示的に符号化データに多重化する必要がある。
 更に、基準となるフィルタは直前に用いられたフィルタでなくともよい。この場合には、フィルタ係数を符号化する際に、後に基準フィルタとして用いるか否かを示す情報が必要となる。例えば、基準フィルタとしてバッファに保持するか否かを示す1bitのフラグと、基準フィルタを保持するバッファが複数存在する場合には保持するためのバッファを指定するインデクス情報を符号化データに多重化することで上記の処理が可能である。エンコーダにおいては、あるフィルタ適用判定領域に対するフィルタを設定した後、次のフィルタ適用判定領域でそのフィルタを用いることが有効であるか否かを判定することが可能であるため、上記の処理により後続のフィルタ適用判定領域でも誤差低減効果の高いフィルタのみを基準フィルタとして保持することが可能となる。
 フィルタ適用情報生成部202は、フィルタ係数情報に基づいて、当該フィルタ適用判定領域に対してフィルタを適用したことにより、フィルタ適用後の画像と入力画像との平均二乗誤差が低減しているか否かを判定してフィルタ適用判定領域ごとにフィルタ適用情報を生成する。つまり、フィルタ適用情報は、フィルタを適用することで各ブロックにおける原画像との誤差が低減される場合にフィルタを適用するように設定される。上述の判定については、最大サイズのフィルタ適用判定領域から開始され、四分木構造に従って1段階分割した場合、2段階分割した場合、と予め設定してある最大分割回数に達するまで行い、符号化コストが最も小さくなる分割形状を求める。ここで得られた分割形状はフィルタ適用情報の一部として符号化データに多重化される。例えば、本変形例ではフィルタ適用判定領域は四分木構造で管理されているため、符号化ブロックと同様に四分木の木構造を符号化する。
 本変形例では符号化ブロックの分割形状とは独立にフィルタ適用判定領域を設定しているが、実施の形態で述べたように符号化ブロックの分割形状を利用してフィルタ適用判定を行ってもよい。この場合には前述したフィルタ適用領域の分割形状を符号化する必要はない。
 また、ここでは各フィルタ適用判定領域において複数のフィルタ係数を設定する例について述べたが、フィルタ適用判定領域とは異なる単位でフィルタ係数を設定してもよい。例えば、1以上のフィルタ適用判定領域を含むブロックに対して1以上のフィルタ係数を設定し、当該ブロック内でアクティビティなどの指標によってフィルタ係数を切り替えてよい。
 更に、上述のフィルタ適用情報に加え、符号化スライスごとにフィルタ適用情報を設定する。スライスに対するフィルタ適用情報の設定方法としては、例えば上述の判定をスライス全体に対して行い、当該スライスに対して全くフィルタを適用しない場合のコストと、ブロックごとにフィルタを適用する場合のコストとを算出し、フィルタを適用することで符号化コストが小さくなる場合のみ、当該スライスにおいてフィルタが適用されるように設定することができる。
 続いて、ループフィルタ処理部107は局所復号画像及びフィルタ係数情報とフィルタ適用情報とを受け取り、フィルタ適用判定領域ごとにフィルタ処理を行う。
 次に、エントロピー符号化部108について説明する。
 エントロピー符号化部108は、図3に示すように符号化ブロックレベルシンタクス符号化部301とループフィルタデータシンタクス符号化部302とを含む。実施の形態においては、図6に示すループフィルタデータシンタクス606と符号化ブロックレベルシンタクス607をスライス単位でそれぞれまとめて符号化し、それらを結合する例について説明を行った。ただし、本変形例ではフィルタ適用判定領域ごとにフィルタ係数情報を設定することができるため、スライスデータの先頭ですべてのループフィルタデータシンタクスを送信する場合にはデコーダにて多数のフィルタ情報を保持する必要がある。以上の問題を解決するための1つの方法として、符号化ブロックレベルシンタクスにおいて最大サイズのフィルタ適用判定領域に相当する位置に、ループフィルタデータシンタクスを挿入してもよい。即ち、先述したフィルタ適用判定領域の最大サイズが水平方向に4つ、垂直方向に4つの最大符号化ブロックをまとめたものである場合には、例えばフィルタ適用判定領域の内最も左上に位置する符号化ブロックに対応するシンタクス位置にループフィルタデータシンタクスが挿入される。また、フィルタ適用判定領域と符号化ブロックの最大サイズが一致する場合には、ループフィルタデータシンタクスと1つ分の符号化ブロックレベルシンタクスが交互に送信されることとなる。
(復号装置) 
 本変形例に係る動画像復号装置について述べる。ただし、ループフィルタ処理以外の復号処理については実施形態と同一であるため、ここではエントロピー復号部1201及びループフィルタ処理部1205について説明する。
 まず、エントロピー復号部1201について説明する。 
 エントロピー復号部1201は、図6に示されるシンタクス構造に従って、ハイレベルシンタクス、スライスレベルシンタクス、符号化ブロックレベルシンタクスのそれぞれについて、順次符号化データの各シンタクスの符号列を復号し、量子化変換係数、フィルタ係数情報とフィルタ適用情報、符号化ブロック分割情報等を復号する。ただし、本変形例ではループフィルタデータシンタクスと符号化ブロックレベルシンタクスがスライス単位でそれぞれまとめて符号化されていなくともよい。即ち、符号化ブロックレベルシンタクスにおいて最大サイズのフィルタ適用判定領域に相当する位置に、ループフィルタデータシンタクスが挿入されていてもよい。この場合、エントロピー復号部1201は上述のシンタクス構成に従って復号処理を行い、フィルタ適用領域の最大サイズごとにループフィルタデータシンタクスが復号される。
 続いて、ループフィルタ処理部1205は復号画像及びフィルタ係数情報とフィルタ適用情報とを受け取り、フィルタ適用情報に含まれるフィルタ適用判定領域ごとに符号化装置と同様の手段にてフィルタ処理を行う。
 なお、本実施形態に係る動画像符号化装置100及び動画像復号装置1200では、符号化側では局所復号画像、復号側では復号画像に対してフィルタ処理を行なっているが、局所復号画像及び復号画像は、従来のデブロッキングフィルタ処理を施した後の画像を用いてもよい。
 デブロッキングフィルタ処理を施す場合の動画像符号化装置及び動画像復号装置の一例を図15及び図16をそれぞれ参照して詳細に説明する。 
 図15は動画像符号化装置1500を示し、図1に示す動画像符号化装置100に加えて、デブロッキングフィルタ処理部1501を含む点が図1に示す動画像符号化装置100と異なる。 
 同様に、図16は動画像復号装置1600を示し、図12に示す動画像復号装置1200に加えて、デブロッキングフィルタ処理部1501を含む点が図12に示す動画像復号装置1200と異なる。 
 デブロッキングフィルタ処理部1501は、加算部105(1204)から復号画像を受け取り、復号画像についてデブロッキングフィルタ処理を行い、デブロック処理された復号画像を生成する。このように、デブロック処理された復号画像を用いてループフィルタ処理を行なうことで予測画像の劣化を防ぐことができる。
 更に、フィルタ処理を行う画素としては、デブロッキングフィルタ処理を施す前の画像とデブロッキング処理を施した後の画像それぞれの画素値を用いてもよい。
 このときの動画像符号化装置は、動画像符号化装置1500におけるループフィルタ情報生成部106及びループフィルタ処理部107への入力について、デブロッキングフィルタ処理部1501からの出力信号に加えて加算部105からの出力信号を追加することで実現される。ループフィルタ情報生成部106及びループフィルタ処理部107では、デブロック処理前後の画像の画素値の両方を用いてフィルタ係数の設定と適用を行う。これは、デブロック処理前後の画素値を適切な重みで加重平均することに等しい。
 同様に、このときの動画像復号装置は動画像復号装置1600におけるループフィルタ処理部1205への入力について、デブロッキングフィルタ処理部1501からの出力信号に加えて加算部1204の出力信号を追加することで実現される。
 一般に、符号化によって生じたブロック歪はデブロッキングフィルタ処理によって軽減することが可能であるが、デブロッキングフィルタ処理では強いローパスフィルタが適用されるため、エッジやテクスチャといった、入力画像に含まれる高周波成分についても低減されてしまう可能性がある。そこで、デブロッキングフィルタ処理前後の復号画像を用いてループフィルタ処理を行なうことで予測画像の劣化を防ぐことができる。
 また、デブロッキング処理前後の画像の内、ループフィルタ処理に用いるものについてはシーケンスやピクチャ、スライスといった単位で切り替えてもよい。その場合には該当する単位で切り替えのための情報を別途符号化データに多重化する必要がある。
 また、本実施形態に係る動画像符号化装置100及び動画像復号装置1200では、符号化側及び復号側の両方でループフィルタを用いたが、復号画像にフィルタを適用し、出力画像についてフィルタを適用しない場合でも動画像符号化方法及び復号方法を用いることができる。 
 この場合の動画像復号装置について図17を参照して説明する。 
 動画像復号装置1700は、加算部1204からの復号画像をそのまま出力画像として出力する点が、図12に示す動画像復号装置1200と異なる。なお、動画像符号化装置に関しては、図1の動画像符号化装置をそのまま利用することができる。
 更に、本実施形態に係る動画像符号化装置100及び動画像復号装置1200をポストフィルタとして用いてもよい。 
 ポストフィルタとして用いる場合の動画像符号化装置および動画像復号装置を図18及び図19に示す。 
 動画像符号化装置1800は、図1の動画像符号化装置100におけるループフィルタ処理部107を取り除き、予測画像生成部1801に復号画像を入力することで実現される。また、動画像復号装置1900は、予測画像生成部1901に加算部1204からの復号画像を入力することで実現される。
 よって、本変形例によっても本実施形態と同様の効果を得ることができる。
 (本実施形態の他の変形例:基準フィルタの選択方法) 
 ここでは、実施の形態における特定の技術要素を変形させた例について説明する。尚、本変形例で述べる技術要素については実施の形態にて説明済であるため、詳細については割愛する。前述の実施形態では、ループフィルタ処理に用いるフィルタ係数の符号化方法として、既に符号化済のスライスで用いられたフィルタ係数との差分を算出する方法について述べた。本変形例では、差分を算出するための基準となるフィルタの選択方法について述べる。
 H.264/AVCでは動き補償予測のための予測として、階層構造を持った予測を行うことができる。一例を図20に示す。図20は、階層B構造と呼ばれる予測構造の一例であり、符号化装置においてはLayer0に属するスライスからLayer3に属するスライスまで順に符号化が行われる。このとき、現在のレイヤよりも上位のレイヤに属するスライスを参照して動き補償予測を行うことができる。従って、一番下位のレイヤであるLayer3に属するスライスは参照されることはない。H.264/AVCでは、符号化データの送信単位であるNALユニットに含まれるnal_ref_idcと呼ばれる2bitのインデクスを利用して、当該スライスがその後の符号化/復号処理において参照されるか否かを明示的にデコーダに通知することが可能である。nal_ref_idc=0である場合には当該スライスは参照されず、nal_ref_idc>0である場合には当該スライスは参照されることを示す。
 本実施の形態においてはLayer3に属するスライスに対してもループフィルタを適用することが可能である。ただし、Layer3に属するスライスは予測で参照されることがないため、当該スライス以外に影響を及ぼすことはない。よって、ループフィルタの係数予測についてもLayer3に属するスライスに対するフィルタ係数を基準フィルタとすることは望ましくない。そこで、本変形例ではnal_ref_idc>0となるスライスに対して適用されたフィルタのみを、基準フィルタとしてその後のフィルタ係数の予測に利用可能であるとする。
 更に、時間方向のスケーラビリティやフィルタ特性を考えた場合、フィルタが適用されたスライスが属するレイヤを特定した上でフィルタ係数の予測が行われることが望ましい。例えば、復号するレイヤを制限し、図20におけるLayer1までとすることで、フレームレートを1/3とした復号画像を生成することが出来る。この場合にはLayer2、Layer3に属するスライスに対して適用されたフィルタのフィルタ係数は復号されないため、これらを基準フィルタとすると復号側では正しいフィルタ係数を算出することができない。また、一般的に階層構造で符号化を行う場合、予測方法や参照画像の画質、量子化パラメータ等が異なるため、レイヤによって画質が異なることが考えられる。その場合、各レイヤに属するスライスで適切なループフィルタのフィルタ特性も異なるため、同一レイヤに属するスライスに適用されたフィルタを基準フィルタとしてフィルタ係数の予測に用いることで、よりフィルタ情報を符号化するために必要な符号量を削減することができる。そこで、本実施の形態ではフィルタ係数の差分をとるための基準フィルタとして、同一レイヤにて符号化されたスライスに対して適用されたフィルタの内、直前に符号化されたフィルタを用いる。
 ここでは、同一レイヤで符号化されたスライスに対するフィルタを基準フィルタとする例について説明したが、上述のように、時間方向のスケーラビリティのみを考慮すれば、より上位のレイヤで符号化されたスライスに対するフィルタを基準フィルタとして用いても良い。例えば、Layer2に属するスライスに対するフィルタ係数の差分を算出する際、Layer0~Layer2までのレイヤに属するスライスに対して適用された符号化済のフィルタを基準フィルタとしても良い。動画像符号化時にも上位のレイヤを参照した予測は許されているため、時間方向のスケーラビリティが低下することはない。更に、同一レイヤで符号化されたスライスに対するフィルタのみを基準フィルタとするか、より上位のレイヤで符号化されたスライスに対するフィルタまで基準フィルタとして含めるか、その際にどのレイヤまでを含めるか、について適応的に切り替えても良い。この場合には何れのレイヤを参照するかを示す情報を別途符号化データに多重化する必要がある。このように適応的に切り替えることにより、異なるレイヤでも同様の予測や量子化パラメータが用いられているような場合にはフィルタ係数の差分値をより小さくすることが可能となる。
 符号化時のレイヤを考慮した基準フィルタの選択は、前述の基準フィルタ選択方法と組み合わせても良い。即ち、同一レイヤに属するスライスの内、同一スライスタイプで用いられたフィルタを基準フィルタとして用いても良く、同一レイヤに属するスライスに対して適用されたフィルタ係数を複数保持しておき、その中から一つを選択しても良い。複数の基準フィルタ候補から一つを選択する場合には基準フィルタを示す情報を別途符号化データに多重化する必要がある。
 以上、符号化されたスライスが属するレイヤを考慮した基準フィルタの選択方法について述べた。ただし、H.264/AVCにおいては復号側で符号化時のレイヤを判断することはできない。前述のnal_ref_idcにより参照/非参照のみ判断することが可能である。そこで、上記のようにフィルタが適用されたスライスが属するレイヤを特定した上でフィルタ係数の予測を行うためには、各スライスが属するレイヤを特定するための情報が必要となる。本実施の形態では、nal_ref_idcを利用する方法について述べる。前述のように、H.264で用いられているnal_ref_idcは2bitで表現され、スライスデータを含むNALユニットでは0の場合に非参照、0以外の場合は参照スライスとなることを示しており、1~3の値の取り方については言及されていない。そこで、例えば図20においてLayer3~Layer0までにそれぞれnal_ref_idcを0~3の値で与えることで、復号側では当該スライスがどのレイヤにて符号化されたものであるかを判断することができる。
 ここでは、H.264/AVCと同様のシンタクス構成を想定して、nal_ref_idcを利用する例について説明したが、H.264/AVCの拡張であるSVC(Scalable Video Coding)におけるtemporal_idと呼ばれるシンタクスのように符号化時のレイヤを示す情報が符号化データに含まれる場合にはそれをそのまま用いても良い。また、ループフィルタに関連するデータとして別途符号化データに多重化しても良い。このとき、多重化する位置はNALユニットのヘッダでも良く、図6に示した各レベルのシンタクスでも良い。例えば、ハイレベルシンタクスであるピクチャパラメータセットシンタクスや、スライスレベルシンタクスであるスライスヘッダーシンタクスなどへの多重化が考えられる。更に、SEI(Supplemental Enhancement Information)などの付加的なシンタクスを用いて実現してもよい。
 (本実施形態の他の変形例:シンタクス構成) 
 ここでは、実施の形態における特定の技術要素を変形させた例について説明する。尚、本変形例で述べる技術要素については実施の形態にて説明済であるため、詳細については割愛する。前述の実施形態では、図21Aに示すようにフィルタ係数情報とフィルタ適用情報をループフィルタデータシンタクス中にまとめて記述し、スライスデータの直前に挿入する例について図8から図10までを参照して説明した。また、変形例として図21Bに示すように符号化ブロックレベルシンタクスにおいて最大サイズのフィルタ適用判定領域に相当する位置に、ループフィルタデータシンタクスを挿入する例について説明した。本変形例では、シンタクスの記述方法について更に説明する。
 符号化ブロックレベルシンタクスにおいて最大サイズのフィルタ適用判定領域に相当する位置にループフィルタデータシンタクスを挿入する変形例によれば、符号化処理を行う際に符号化データを出力するまでの遅延を抑制することができる(図21B)。これを、図21Aと図21Bを対比しながら説明する。例えば、図21Aの構成に従って符号化データを生成する場合、フィルタ係数情報及びフィルタ適用情報はスライスデータの先頭に結合される必要がある。このとき、符号化側で適切なフィルタ適用情報を設定するためには実際にフィルタを適用することが望ましく、1スライス分の符号化処理が完了した時点ではじめて符号化データが生成されるため、符号化処理に1スライス分の遅延が発生してしまう。
 一方、図21Bの構成に従って符号化データを生成する場合、当該スライスの符号化前にフィルタ係数が設定されていれば、最大サイズのフィルタ適用判定領域の符号化が完了した時点で当該領域までの符号化データを生成することができる。この時、フィルタ係数の設定については直前に符号化された同一スライスタイプの画像から算出されたフィルタ係数を利用することにより、当該スライスの符号化前でも適切なフィルタ特性を持ったフィルタを設定することができる。
 ただし、図21Bの構成では最大サイズのフィルタ適用判定領域毎に異なるフィルタ係数を割り当てていたが、フィルタ係数情報の符号化にかかる符号量の観点から、必ずしも複数のフィルタセットを用いることが最適であるとは限らない。そこで、本変形例では、スライス内でフィルタ係数は共通であるものとし、図21Cに示すようにフィルタ係数情報についてはスライスデータシンタクスの先頭に付加する。一方で、フィルタ適用情報については最大サイズのフィルタ適用判定領域に相当する位置に挿入する。本変形例の構成によれば、フィルタ係数情報の符号化にかかる符号量を増加させることなく、遅延の少ない符号化処理を実現することができる。
 また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した動画像符号化装置及び復号装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW等)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の動画像符号化装置及び復号装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。 
 また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。 
 更に、本開示における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。 
 また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本開示における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
 なお、本開示におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。 
 また、本開示の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本開示の実施形態における機能を実現することが可能な機器、装置を総称している。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (11)

  1.  画素信号を含む入力画像と前記入力画像の予測画像との差分を示す予測誤差画像を変換及び量子化して量子化変換係数情報を生成し、
     前記量子化変換係数情報を逆量子化及び逆変換して局所復号画像を生成し、
     前記局所復号画像中の画素領域について適用する1以上のフィルタのフィルタ係数を示すフィルタ係数情報を生成し、
     符号化の対象となる入力画像が画素領域を示す符号化ブロックによってどのように分割されているかを示すブロック分割情報に基づいて、フィルタ処理を前記符号化ブロックに適用するかどうか、及びフィルタを適用する場合には適用するフィルタについて1以上の候補を示すフィルタ適用情報を、1以上の符号化ブロックを含む処理単位ごとに生成し、
     前記1以上の符号化ブロックを含む処理単位に対してフィルタを適用する場合に、2以上のフィルタが存在すれば、前記フィルタ適用情報に加えて、フィルタを適用する前記処理単位に含まれる画素信号から算出される指標に基づいて、適用するフィルタを切り替えることを特徴とする動画像符号化方法。
  2.  前記フィルタ係数情報を、前記フィルタ適用情報を生成する処理単位ごとに生成し、
     前記フィルタ係数情報は、既に符号化済のフィルタ係数をそのまま用いるか否かを示す切り替え情報を含むことを特徴とする請求項1に記載の動画像符号化方法。
  3.  前記フィルタ係数をそのまま用いない場合には、前記フィルタ係数情報におけるフィルタ係数の値が、前記既に符号化済のフィルタ係数との差分値として表現されることを特徴とする請求項2に記載の動画像符号化方法。
  4.  前記そのまま用いるフィルタ若しくは差分値を算出するためのフィルタである、基準フィルタとして、動き補償予測において参照することができるスライスに対するフィルタ係数を用いることを特徴とする請求項3に記載の動画像符号化方法。
  5.  符号化処理において参照することができるか否かをデコーダに通知するための情報に基づいて前記スライスを判定し、前記スライスに適用されたフィルタ係数のみを前記基準フィルタに用いることを特徴とする請求項4に記載の動画像符号化方法。
  6.  階層構造を持つ動き補償予測において、前記スライスと同一の階層に属するスライスに対して適用されたフィルタ係数を前記基準フィルタに用いることを特徴とする請求項4に記載の動画像符号化方法。
  7.  前記スライスと同一の階層に加え、前記スライスよりも上位の階層に属するスライスに対して適用されたフィルタ係数を前記基準フィルタに用いることを特徴とする請求項6に記載の動画像符号化方法。
  8.  符号化データにおいて、最大サイズのフィルタ適用判定領域に相当する位置に、前記フィルタ係数情報及び前記フィルタ適用情報を配置することを特徴とする請求項1に記載の動画像符号化方法。
  9.  符号化データの先頭に、スライス内で共通するフィルタ係数情報を配置し、最大サイズのフィルタ適用判定領域に相当する位置に、前記フィルタ適用情報を配置することを特徴とする請求項1に記載の動画像符号化方法。
  10.  1以上のフィルタのフィルタ係数を示すフィルタ係数情報と、符号化の対象となる画像中の画素領域を示す符号化ブロックがどのように分割されているかを示すブロック分割情報と、フィルタ処理を前記1以上の符号化ブロックに適用するかどうか、またフィルタを適用する場合には適用するフィルタについて1以上の候補を示すフィルタ適用情報と、量子化変換係数情報とを含んで符号化された符号化データを復号し、前記フィルタ係数情報、前記フィルタ適用情報、前記ブロック分割情報及び所定のサイズを持つ画素ブロックにおける前記量子化変換係数情報を得、
     前記量子化変換係数情報を逆量子化して逆変換した予測誤差画像と画像の予測画像とを加算した復号画像について、前記符号化ブロック分割情報と前記フィルタ適用情報とを対応付けてフィルタが適用される復号画像の領域を特定し、
     前記フィルタが適用される復号画像の領域について、フィルタ適用情報とフィルタ係数情報、更に2以上のフィルタが存在すればフィルタを適用する1以上の画素から算出される指標により特定されるフィルタを適用して復元画像を生成することを特徴とする動画像復号方法。
  11.  前記フィルタ係数情報は、
      前記フィルタ適用判定情報が生成される処理単位ごとに生成され、
      既に復号済のフィルタ係数をそのまま用いるか否かを示す切り替え情報を含むことを特徴とする請求項10に記載の動画像復号方法。
PCT/JP2011/060430 2010-10-12 2011-04-28 動画像符号化方法および復号方法 WO2012049876A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39229310P 2010-10-12 2010-10-12
US61/392,293 2010-10-12

Publications (1)

Publication Number Publication Date
WO2012049876A1 true WO2012049876A1 (ja) 2012-04-19

Family

ID=45938114

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/060430 WO2012049876A1 (ja) 2010-10-12 2011-04-28 動画像符号化方法および復号方法

Country Status (1)

Country Link
WO (1) WO2012049876A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014006997A1 (ja) * 2012-07-06 2014-01-09 株式会社エヌ・ティ・ティ・ドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
WO2017195532A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 画像復号装置及び画像符号化装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003179933A (ja) * 2001-09-12 2003-06-27 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号化方法
WO2009110160A1 (ja) * 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号化方法及び装置
WO2009110559A1 (ja) * 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003179933A (ja) * 2001-09-12 2003-06-27 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号化方法
WO2009110160A1 (ja) * 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号化方法及び装置
WO2009110559A1 (ja) * 2008-03-07 2009-09-11 株式会社 東芝 動画像符号化/復号装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAKESHI CHUJOH ET AL.: "Specification and experimental results of Quadtree-based Adaptive Loop Filter", ITU - TELECOMMUNICATIONS STANDARDIZATION SECTOR STUDY GROUP 16 QUESTION 6 VIDEO CODING EXPERTS GROUP (VCEG), VCEG-AK22, 37TH MEETING, April 2009 (2009-04-01), YOKOHAMA, JAPAN, pages 1 - 11 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI650005B (zh) * 2012-07-06 2019-02-01 Ntt都科摩股份有限公司 Dynamic image predictive coding method and dynamic image predictive decoding method
CN107743237A (zh) * 2012-07-06 2018-02-27 株式会社Ntt都科摩 动态图像预测编码方法以及动态图像预测解码方法
TWI513283B (zh) * 2012-07-06 2015-12-11 Ntt Docomo Inc Dynamic image predictive coding device, dynamic image predictive coding method, dynamic image predictive coding program, dynamic image prediction decoding device, dynamic image prediction decoding method and dynamic image prediction decoding program
TWI552582B (zh) * 2012-07-06 2016-10-01 Ntt Docomo Inc 動態影像預測編碼裝置、動態影像預測編碼方法、動態影像預測編碼程式、動態影像預測解碼裝置、動態影像預測解碼方法及動態影像預測解碼程式
RU2601196C2 (ru) * 2012-07-06 2016-10-27 Нтт Докомо, Инк. Устройство кодирования видео с предсказанием, способ кодирования видео с предсказанием, программа кодирования видео с предсказанием, устройство декодирования видео с предсказанием, способ декодирования видео с предсказанием и программа декодирования видео с предсказанием
TWI602427B (zh) * 2012-07-06 2017-10-11 Ntt Docomo Inc 動態影像預測編碼方法、及動態影像預測解碼方法
CN104396258A (zh) * 2012-07-06 2015-03-04 株式会社Ntt都科摩 动态图像预测编码装置、动态图像预测编码方法、动态图像预测编码程序、动态图像预测解码装置、动态图像预测解码方法、动态图像预测解码程序
CN104396258B (zh) * 2012-07-06 2017-12-29 株式会社Ntt都科摩 动态图像预测编码装置、动态图像预测编码方法、动态图像预测编码设备、动态图像预测解码装置、动态图像预测解码方法、动态图像预测解码设备
CN107743237B (zh) * 2012-07-06 2020-09-25 株式会社Ntt都科摩 动态图像预测编码方法以及动态图像预测解码方法
WO2014006997A1 (ja) * 2012-07-06 2014-01-09 株式会社エヌ・ティ・ティ・ドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
US10277916B2 (en) 2012-07-06 2019-04-30 Ntt Docomo, Inc. Video predictive encoding device and system, video predictive decoding device and system
US10666965B2 (en) 2012-07-06 2020-05-26 Ntt Docomo, Inc. Video predictive encoding device and system, video predictive decoding device and system
US10666964B2 (en) 2012-07-06 2020-05-26 Ntt Docomo, Inc. Video predictive encoding device and system, video predictive decoding device and system
US10681368B2 (en) 2012-07-06 2020-06-09 Ntt Docomo, Inc. Video predictive encoding device and system, video predictive decoding device and system
WO2017195532A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 画像復号装置及び画像符号化装置

Similar Documents

Publication Publication Date Title
KR102165340B1 (ko) 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
KR101971077B1 (ko) 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
RU2736421C1 (ru) Способ кодирования и декодирования изображений и устройство кодирования и декодирования
US11889098B2 (en) Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
JP7297918B2 (ja) ビデオ符号化のための色変換
JP2023158204A (ja) 変換スキップ及びパレットコーディング関連情報のシグナリングベースの映像又はビデオコーディング
WO2012049876A1 (ja) 動画像符号化方法および復号方法
WO2014084674A2 (ko) 잔차 변환을 이용한 인트라 예측 방법 및 장치
WO2011161823A1 (ja) 動画像符号化方法および復号方法
KR102228577B1 (ko) 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
RU2808075C1 (ru) Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы
RU2782400C2 (ru) Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы
WO2012169054A1 (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: 11832318

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: 11832318

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP