WO2012001833A1 - Moving image encoding apparatus, moving image decoding apparatus and method - Google Patents

Moving image encoding apparatus, moving image decoding apparatus and method Download PDF

Info

Publication number
WO2012001833A1
WO2012001833A1 PCT/JP2010/073604 JP2010073604W WO2012001833A1 WO 2012001833 A1 WO2012001833 A1 WO 2012001833A1 JP 2010073604 W JP2010073604 W JP 2010073604W WO 2012001833 A1 WO2012001833 A1 WO 2012001833A1
Authority
WO
WIPO (PCT)
Prior art keywords
scaling
value
pixel group
unit
information
Prior art date
Application number
PCT/JP2010/073604
Other languages
French (fr)
Japanese (ja)
Inventor
中條 健
山影 朋夫
太一郎 塩寺
Original Assignee
株式会社 東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/JP2010/061350 external-priority patent/WO2012001818A1/en
Priority claimed from PCT/JP2010/067108 external-priority patent/WO2012042645A1/en
Application filed by 株式会社 東芝 filed Critical 株式会社 東芝
Publication of WO2012001833A1 publication Critical patent/WO2012001833A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/182Methods 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 a pixel
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the embodiment relates to encoding and decoding of moving images.
  • H. is one of the international standards for video coding.
  • H.264 / MPEG-4 AVC was jointly established by ITU-T (International Telecommunication Union-Telecommunication Standardization Sector) and ISO (International Organization for Standardization) / IEC (International Electrotechnical Commission).
  • H. Video coding standards such as H.264 / MPEG-4 AVC usually store local decoded images (encoding side) of already encoded images or decoded images (decoding side) in an image buffer. And has a mechanism to refer to generate a predicted image.
  • the image buffer Since the image buffer stores a large number of reference images, a main memory having a large storage capacity is required on both the encoding side and the decoding side. In addition, since a large amount of access to the image buffer occurs to generate a predicted image, a wide memory bandwidth is required on both the encoding side and the decoding side. Such a problem of hardware requirements regarding the image buffer becomes more prominent as the pixel bit length increases.
  • various internal processes on the encoding side and the decoding side such as a motion estimation process, a predicted image generation process (prediction process), and a filter process (for example, loop filter process) usually increase as the pixel bit length increases. Easy to achieve with high accuracy. Therefore, increasing the pixel bit length helps improve the coding efficiency.
  • Enhancing coding efficiency can be expected by applying a large pixel bit length to various internal processes including prediction processing.
  • a small pixel bit length to the image buffer, it is possible to expect a reduction in hardware requirements related to the image buffer.
  • the embodiment aims to apply a larger pixel bit length to various internal processes including a prediction process while applying a smaller pixel bit length to the image buffer.
  • the moving image encoding apparatus derives scaling information based on the maximum value and the minimum value of the target pixel group in the locally decoded image. Scaling for reducing the pixel bit length is applied to the target pixel group according to the scaling information.
  • the scaling processing unit generates a scaled reference pixel group by limiting the value of the specific pixel to be scaled with respect to the specific value.
  • the description of the first scaling information when the specific value is included or the description of the second scaling information when the specific value is not included and the reference pixel group scaled according to the corresponding scaling information are fixed. It is expressed with the bit length.
  • the reference image is restored by inverse scaling, and a predicted image is generated. Information indicating the difference between the input image and the predicted image is encoded by the encoding unit.
  • FIG. 1 is a block diagram showing a moving image encoding apparatus according to a first embodiment.
  • the block diagram which shows the moving image decoding apparatus which concerns on 1st Embodiment.
  • the block diagram which shows the loop filter part of FIG. Explanatory drawing of an object pixel group.
  • FIG. 4 is a flowchart showing an operation of a filter processing / scaling processing unit in FIG. 3.
  • FIG. 4 is a flowchart showing the operation of the scaling processing unit in FIG. 3.
  • the block diagram which shows the estimation part of FIG. 8 is a flowchart showing the operation of the inverse scaling processing unit of FIG.
  • the block diagram which shows the moving image encoder which concerns on 2nd Embodiment.
  • the block diagram which shows the moving image decoding apparatus which concerns on 2nd Embodiment.
  • the table figure which shows the example of the dynamic range Dr, EncTable [Dr], and Offset [Dr] concerning 3rd Embodiment The table figure which shows the example of the dynamic range Dr, EncTable [Dr], and Offset [Dr] concerning 3rd Embodiment.
  • the table figure which shows the example of the dynamic range Dr and EncTable [Dr] concerning 3rd Embodiment The table figure which shows the example of the dynamic range Dr, EncTable [Dr], and Offset [Dr] concerning 3rd Embodiment.
  • the block diagram which shows the moving image decoding apparatus which concerns on 5th Embodiment. 10 is a flowchart showing an operation of a pixel accuracy control unit according to the fifth embodiment.
  • the moving image encoding apparatus includes an encoding unit 100 and an encoding control unit 140.
  • the encoding unit 100 encodes the input image 11 to generate encoded data.
  • the encoding control unit 140 controls various elements in the encoding unit 100. For example, the encoding control unit 140 controls a loop filter setting unit 106, a prediction unit 120, and the like which will be described later.
  • the encoding unit 100 includes a subtraction unit 101, a transform / quantization unit 102, an entropy encoding unit 103, an inverse quantization / inverse transform unit 104, an addition unit 105, a loop filter setting unit 106, a reference image buffer unit 107, scaling information.
  • a buffer unit 108, a loop filter unit 110, a prediction unit 120, and a motion vector generation unit 130 are included.
  • the subtraction unit 101 subtracts the prediction image from the prediction unit 120 from the input image 11 to obtain a prediction error.
  • the transform / quantization unit 102 performs transform (for example, discrete cosine transform (DCT)) and quantization on the prediction error from the subtraction unit 101, and quantizes information on transform coefficients (hereinafter simply referred to as quantum). (Referred to as conversion coefficient).
  • transform for example, discrete cosine transform (DCT)
  • quantum quantizes information on transform coefficients
  • the entropy coding unit 103 performs entropy coding on the quantized transform coefficient from the transform / quantization unit 102, the loop filter information 13 from the loop filter setting unit 106, and the motion vector information from the motion vector generation unit 130. Do.
  • the entropy encoding unit 103 may further entropy encode information other than these (for example, prediction mode information).
  • the type of entropy encoding is, for example, variable length encoding or arithmetic encoding.
  • the entropy encoding unit 103 outputs encoded data obtained by entropy encoding to the outside.
  • the inverse quantization / inverse transform unit 104 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the transform / quantization unit 102, thereby reducing a prediction error.
  • inverse quantization and inverse transform for example, inverse discrete cosine transform (IDCT), etc.
  • IDCT inverse discrete cosine transform
  • the addition unit 105 adds the prediction error restored by the inverse quantization / inverse conversion unit 104 and the corresponding prediction image from the prediction unit 120 to generate the local decoded image 12.
  • the loop filter setting unit 106 sets the loop filter information 13 based on the input image 11 and the corresponding local decoded image 12 from the addition unit 105 and notifies the loop filter unit 110 and the entropy encoding unit 103.
  • the loop filter information 13 includes at least filter coefficient information and filter switching information.
  • the filter coefficient information includes information indicating the filter coefficient.
  • the filter coefficient information may further include information indicating an offset coefficient described later.
  • the filter switching information includes information indicating validity / invalidity of filter application.
  • the loop filter unit 110 performs a filtering process or a bypass process that does not go through the filtering process on the target pixel group in the local decoded image 12 from the adding unit 105 according to the loop filter information 13 from the loop filter setting unit 106. Then, the loop filter unit 110 reduces (or maintains) the pixel bit length by performing a scaling process described later on the filter processing result group or the bypass processing result group (that is, the target pixel group itself). The loop filter unit 110 supplies the scaling processing result group to the reference image buffer unit 107 as the scaled reference pixel group 14. Further, the loop filter unit 110 supplies the scaling information 15 regarding the scaling process to the scaling information buffer unit 108. Details of the loop filter unit 110 will be described later.
  • the reference image buffer unit 107 stores the scaled reference pixel group 14 from the loop filter unit 110.
  • the scaling information buffer unit 108 accumulates scaling information 15 corresponding to the scaled reference pixel group 14 in synchronization with the reference image buffer unit 107.
  • the reference pixel group 14 accumulated in the reference image buffer unit 107 and the scaling information 15 accumulated in the scaling information buffer unit 108 are read by the prediction unit 120 or the motion vector generation unit 130 as necessary.
  • the motion vector generation unit 130 reads the scaled reference pixel group and the scaling information from the reference image buffer unit 107 and the scaling information buffer unit 108 as necessary.
  • the motion vector generation unit 130 applies inverse scaling that extends (or maintains) the pixel bit length to the scaled reference pixel group according to the scaling information to restore the reference image.
  • the motion vector generation unit 130 generates motion vector information based on the input image 11 and the restored reference image.
  • the motion vector generation unit 130 notifies the prediction unit 120 and the entropy encoding unit 103 of the motion vector information. Details of the inverse scaling process will be described later.
  • the prediction unit 120 reads the scaled reference pixel group and the scaling information from the reference image buffer unit 107 and the scaling information buffer unit 108 as necessary.
  • the prediction unit 120 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information.
  • the prediction unit 120 generates a prediction image based on the motion vector information from the motion vector generation unit 130 and the restored reference image.
  • the prediction unit 120 supplies the predicted image to the subtraction unit 101 and the addition unit 105.
  • the loop filter unit 110 includes a switch 111, a filter processing / scaling processing unit 112, and a scaling processing unit 113. Note that FIG. 3 only illustrates the loop filter unit 110.
  • the loop filter unit 110 may include one or a plurality of filter processing / scaling processing units (not shown) different from the filter processing / scaling processing unit 112.
  • the number of switches 111 selected can be changed to 3 or more according to the configuration of the loop filter unit 110.
  • the switch 111 selects the output destination of the target pixel group included in the local decoded image 12 according to the loop filter information 13.
  • the switch 111 guides the target pixel group to the filter processing / scaling processing unit 112 if the loop filter information 13 indicates that the filter application of the target pixel group is valid.
  • the switch 111 guides the target pixel group to the scaling processing unit 113.
  • the filter application is valid (On) / invalid (Off) for each pixel group (for example, a block) of variable (may be fixed) size.
  • Filter switching information indicating () is set.
  • These pixel groups are all shown as rectangles in FIG. 4, but their shapes may be changed depending on the design.
  • the filter switching information of each pixel group is set by the filter setting unit 106 described above and can be referred to via the loop filter information 13.
  • the filter processing / scaling processing unit 112 performs filter processing on the target pixel group according to the loop filter information 13. Then, the filter processing / scaling processing unit 112 derives scaling information 15 based on the distribution (for example, dynamic range) of the filter processing result group, and performs scaling information for reducing the pixel bit length with respect to the filter processing result group. 15 is applied to generate a scaled reference pixel group 14. Details of the operation of the filter processing / scaling processing unit 112 will be described later.
  • the scaling processing unit 113 derives scaling information 15 based on the distribution (for example, dynamic range) of the target pixel group, and is scaled by applying scaling for reducing the pixel bit length to the target pixel group according to the scaling information 15.
  • the reference pixel group 14 is generated. Details of the operation of the scaling processing unit 113 will be described later.
  • the filter processing / scaling processing unit 112 performs a convolution operation (filter operation) on the target pixel group in accordance with the filter coefficient information included in the loop filter information 13 (step S112-1). Specifically, when the filter coefficient is represented by F [n], the pixel value of the target pixel group is represented by P [m], and the convolution calculation result is represented by B [m], the filter processing / scaling processing unit 112 represents the following formula ( Perform the convolution operation according to 1).
  • O represents an offset coefficient.
  • the offset coefficient can be referred to through the filter coefficient information.
  • the sum of the filter coefficient F [n] is assumed to be designed to be substantially equal to the 2 K. Further, the pixel bit length of the target pixel group is assumed to be T bits.
  • the filter processing / scaling processing unit 112 performs such a convolution operation on each pixel of the target pixel group to obtain a convolution operation result group.
  • the filter processing / scaling processing unit 112 searches for the maximum value Max and the minimum value Min of the convolution calculation result group of the target pixel group (step S112-2).
  • the upper limit of the maximum value Max is 2 K + T ⁇ 1. That is, if the value of the maximum value Max exceeds 2 K + T ⁇ 1, the maximum value Max is handled as 2 K + T ⁇ 1.
  • the filter processing / scaling processing unit 112 derives the scaling information 15 of the target pixel group (step S112-3). Specifically, the filtering / scaling processing unit 112 derives the minimum reference value MinPoint by arithmetically shifting the minimum value Min by S bits to the right according to the following equation (2).
  • S is represented by the following formula (3).
  • L represents a pixel bit length applied to the reference image buffer unit 107. It is assumed that the pixel bit length L of the reference image buffer unit 107 is equal to or less than the pixel bit length T of the target pixel group. That is, the minimum reference value MinPoint is a value obtained by rounding the minimum value Min to L bits.
  • the filter processing / scaling processing unit 112 derives the scaling amount Q by executing the following calculation (4).
  • the operation (4) is described according to the C language, but an operation having the same content can be described according to other programming languages.
  • the scaling amount Q can take any integer value from 0 to S.
  • the minimum reference value MinPoint and the scaling amount Q derived as described above are supplied to the scaling information buffer unit 108 as scaling information 15.
  • An example of a method for efficiently describing the scaling information 15 will be described.
  • the scaling information 15 has 1-bit flag information indicating whether Q is equal to S or not. When Q and S are not equal (that is, the scaling flag information is OFF), it further has a value of scaling amount Q (1 or more and S or less) and a value of minimum reference value MinPoint. If Q is equal to S (ie, the scaling flag information is ON), the minimum reference value MinPoint is interpreted as 0.
  • Operation (5) is a process of scaling the T-bit target pixel group to L bits when Q is equal to S.
  • the operation (5) is a process of scaling the T-bit target pixel group to L ⁇ 1 bits when Q and S are not equal. Since the reference pixel group is L ⁇ 1 bits, it is possible to cancel the increase in the scaling information 15.
  • the minimum reference value MinPoint can be replaced with a maximum reference value MaxPoint based on the maximum value Max.
  • various formulas and calculations in the present embodiment may be appropriately read.
  • filter switching information or information similar thereto (for example, the value of the parameter K itself) is required. May be included. Alternatively, since such information can be referred to via the loop filter information 13, the loop filter information 13 may be notified to each element that performs inverse scaling processing. In the following description, it is assumed that the filter switching information is included in the scaling information 15.
  • the unit for performing the scaling process and the inverse scaling process only needs to be a common unit on the encoding side and the decoding side. In the present embodiment, the unit of scaling processing and filtering processing corresponds to the unit in which filter switching information is set.
  • the unit of the scaling process and the filtering process may be the unit of a plurality of target pixel groups that are the same as or smaller than the unit of the target pixel group.
  • the smallest block size in processing units may be used as the unit of all target pixel groups.
  • the filter processing / scaling processing unit 112 applies scaling to each convolution calculation result according to the derived filter information 15 (step S112-4). Specifically, the filter processing / scaling processing unit 112 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (6).
  • Clip1 (x) represents a clipping function that rounds x to a value between 0 and 2 L ⁇ 1.
  • the offset in the equation (6) is obtained by the following calculation (7) using the conditional operator (ternary operator) “?:”.
  • the scaled reference pixel group generated as described above is supplied to the reference image buffer unit 107.
  • the scaling processing unit 113 searches for the maximum value Max and the minimum value Min of the target pixel group (step S113-1).
  • the scaling processing unit 113 derives the scaling information 15 of the target pixel group (step S113-2).
  • the scaling processing unit 113 derives the minimum reference value MinPoint by arithmetically shifting the minimum value Min by S bits to the right according to Equation (2).
  • K 0 is handled. That is, S is derived according to the following formula (8).
  • the scaling processing unit 113 derives the scaling amount Q by executing the calculation (4) or the calculation (5).
  • the minimum reference value MinPoint and the scaling amount Q derived as described above are supplied to the scaling information buffer unit 108 as scaling information 15.
  • the scaling processing unit 113 applies scaling to each pixel value of the target pixel group in accordance with the derived filter information 15 (step S113-3). Specifically, the scaling processing unit 113 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (9).
  • Offset in formula (9) is obtained by calculation (7).
  • the scaled reference pixel group generated as described above is supplied to the reference image buffer unit 107.
  • the prediction unit 120 includes an inverse scaling processing unit 121 and a predicted image generation unit 122.
  • the inverse scaling processing unit 121 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information.
  • the predicted image generation unit 220 generates a predicted image based on the motion vector information and the restored reference image.
  • the inverse scaling processing unit 121 obtains a desired reference pixel group (that is, necessary for generating a predicted image) and corresponding scaling information from the reference image buffer unit 107 and the scaling information buffer unit 108, respectively (step S121). -1). Specifically, the inverse scaling processing unit 121 acquires each pixel value D [m] of the scaled reference pixel group, the minimum reference value MinPoint, the scaling amount Q, and the filter switching information. The inverse scaling processing unit 121 refers to the filter switching information, sets a predetermined value corresponding to the filter processing to the parameter K if the filter application is valid, and sets 0 to the parameter K if the filter application is invalid.
  • the inverse scaling processing unit 121 applies inverse scaling for extending the pixel bit length to the reference pixel group according to the scaling information (step S121-2). Specifically, if QKT ⁇ U ⁇ 0 is satisfied with the pixel bit length after the inverse scaling process as U bits, the inverse scaling processing unit 121 applies inverse scaling according to the following equation (10).
  • the inverse scaling processing unit 121 applies inverse scaling according to the following equation (11).
  • offset2 is calculated by the following calculation (12).
  • G [m] represents each pixel value of the restored reference pixel group.
  • adaptive scaling / inverse scaling processing based on the distribution of the target pixel group is performed.
  • the value B [m] or P [m] before scaling is rounded to L bits
  • the value G [m] after inverse scaling is rounded to L It is guaranteed to be the same value as the value rounded to bits.
  • the inverse obtained by the processing of this embodiment The value G [m] after scaling has high accuracy.
  • the video encoding apparatus performs the scaling process and the inverse scaling process before and after the reference image buffer unit, respectively, so that the pixel bit length applied to the reference image buffer unit Is smaller than the pixel bit length applied to other internal processing (prediction processing, filter processing, etc.). Therefore, according to the video encoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small.
  • the moving picture decoding apparatus includes a decoding unit 200 and a decoding control unit 240.
  • the decoding unit 200 generates the output image 26 by decoding the encoded data.
  • the decoding control unit 240 controls various elements in the decoding unit 200.
  • the decoding control unit 240 controls the prediction unit 220 described later. Note that the scaling process and the inverse scaling process in the moving picture decoding apparatus in FIG. 2 are substantially the same as or similar to the scaling process and the inverse scaling process in the moving picture encoding apparatus in FIG.
  • the decoding unit 200 includes an entropy decoding unit 201, an inverse quantization / inverse conversion unit 202, an addition unit 203, a loop filter unit 210, a reference image buffer unit 204, a scaling information buffer unit 205, a prediction unit 220, and a bit length normalization. Part 230.
  • the entropy decoding unit 201 performs entropy decoding according to syntax information on encoded data generated by, for example, the moving image encoding apparatus in FIG.
  • the entropy decoding unit 201 supplies the decoded quantized transform coefficient to the inverse quantization / inverse transform unit 202, supplies the decoded motion vector information to the prediction unit 220, and decodes the decoded loop filter information. 23 is supplied to the loop filter unit 210.
  • the inverse quantization / inverse transformation unit 202 and the addition unit 203 are substantially the same or similar elements as the inverse quantization / inverse transformation unit 104 and the addition unit 105 described above. That is, the inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 201 to generate a prediction error. To restore. The adding unit 203 adds the prediction error restored by the inverse quantization / inverse transform unit 202 and the corresponding prediction image from the prediction unit 220 to generate a decoded image 22.
  • inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 201 to generate a prediction error.
  • IDCT inverse discrete cosine transform
  • the loop filter unit 210 is substantially the same as or similar to the loop filter unit 110 described above. In other words, the loop filter unit 210 performs a filtering process or a bypass process that does not go through the filtering process on the target pixel group in the decoded image 22 from the adding unit 203 according to the loop filter information 23 from the entropy decoding unit 201. . Then, the loop filter unit 210 performs the above-described scaling processing on the filter processing result group or the bypass processing result group (that is, the target pixel group) to reduce the pixel bit length. The loop filter unit 210 supplies the scaling processing result group to the reference image buffer unit 204 as the scaled reference pixel group 24. In addition, the loop filter unit 210 supplies the scaling information 25 regarding the scaling processing to the scaling information buffer unit 205.
  • the loop filter unit 210 is substantially the same as or similar to the loop filter unit 110 described above, and a detailed description thereof will be omitted.
  • the reference image buffer unit 204 stores the scaled reference pixel group 24 from the loop filter unit 210.
  • the scaling information buffer unit 205 accumulates scaling information 25 corresponding to the scaled reference pixel group 24 while synchronizing with the reference image buffer unit 204.
  • the reference pixel group 24 accumulated in the reference image buffer unit 204 and the scaling information 25 accumulated in the scaling information buffer unit 205 are read by the prediction unit 220 or the bit length normalization unit 230 as necessary. For example, in order to generate the output image 26, the bit length normalization unit 230 reads out a desired reference pixel group (that is, necessary for generating the output image 26) and corresponding scaling information according to the display order.
  • the prediction unit 220 is substantially the same or similar element as the prediction unit 120 described above. That is, the prediction unit 220 reads the scaled reference pixel group and scaling information from the reference image buffer unit 204 and the scaling information buffer unit 205, respectively, as necessary. The prediction unit 220 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information. The prediction unit 220 generates a prediction image based on the motion vector information from the entropy decoding unit 201 and the restored reference image. The prediction unit 220 supplies the predicted image to the addition unit 203.
  • the bit length normalization unit 230 reads the scaled reference pixel group and scaling information from the reference image buffer unit 204 and the scaling information buffer unit 205, respectively, as necessary.
  • the bit length normalization unit 230 applies inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information, and obtains a desired pixel bit length U (where the bit length normalization unit 230
  • the pixel bit length U related to the operation of (2) does not necessarily match the pixel bit length U related to the operation of the prediction unit 220).
  • the bit length normalization unit 230 supplies the output image 26 to the outside.
  • the pixel bit length of the output image 26 may be, for example, the same as or different from the pixel bit length of the input image 11 in the moving image apparatus of FIG.
  • the bit length normalization unit 230 can be removed. It is.
  • the moving picture decoding apparatus performs the scaling process and the inverse scaling process before and after the reference image buffer unit, so that the pixel bit length applied to the reference image buffer unit Is smaller than the pixel bit length applied to other internal processing (prediction processing, filter processing, etc.). Therefore, according to the video decoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small.
  • a plurality of scaling processes in the loop filter unit 110 can be realized in a common scaling processing unit.
  • the common scaling processing unit sets a parameter K according to filter switching information regarding each target pixel group, and applies scaling to the target pixel group or the filter processing result group.
  • inverse scaling processing in the prediction unit 120 and the motion vector generation unit 130 can be implemented in a common inverse scaling processing unit.
  • the inverse scaling processing in the prediction unit 220 and the bit length normalization unit 230 can be realized in a common inverse scaling processing unit.
  • These common inverse scaling processing units set a pixel bit length U according to the output destination, and apply inverse scaling to the scaled reference pixel group.
  • the moving image encoding apparatus includes an encoding unit 300 and an encoding control unit 140.
  • parts that are the same as those in FIG. 1 are given the same reference numerals, and in the following description, different parts between FIG. 9 and FIG. 1 will be mainly described.
  • the scaling process and the inverse scaling process in the moving picture decoding apparatus in FIG. 9 are substantially the same as or similar to the scaling process and the inverse scaling process in the moving picture encoding apparatus in FIG.
  • the encoding unit 300 encodes the input image 11 to generate encoded data.
  • the encoding unit 300 includes a bit length extension unit 309, a subtraction unit 101, a transform / quantization unit 102, an entropy encoding unit 303, an inverse quantization / inverse transform unit 104, an addition unit 105, a loop filter setting unit 106, a loop filter Unit 110, reference image buffer unit 107, scaling information buffer unit 108, prediction unit 120, and motion vector generation unit 130.
  • the bit length extension unit 309 extends the pixel bit length of the input image 11 and supplies it to the subtraction unit 101, the loop filter setting unit 106, and the motion vector generation unit 130. As a result of the operation of the bit length extension unit 309, for example, the pixel bit length applied to the internal processing by the loop filter unit 110, the prediction unit 120, and the like is larger than the original pixel bit length of the input image 11.
  • the bit length extension unit 309 notifies the internal bit length information 37 to the entropy encoding unit 303.
  • the internal bit length information 37 may be information indicating the extension amount of the pixel bit length by the bit length extension unit 309, for example, or the extension amount of the pixel bit length is determined in advance between the encoding side and the decoding side.
  • information for example, a flag
  • the bit length The extension unit 309 may not notify the entropy encoding unit 303 of the internal bit length information 37.
  • the entropy encoding unit 303 further performs entropy encoding of the internal bit length information 37 as necessary, in addition to the operation of the entropy encoding unit 103 described above.
  • the entropy encoding unit 303 performs entropy encoding of the internal bit length information 37, the encoded internal bit length information is also included in the encoded data.
  • the moving image encoding apparatus employs the same scaling process / inverse scaling process as the first embodiment while extending the internal pixel bit length compared to the input image. is doing. Therefore, according to the video encoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing further highly accurate prediction processing, filter processing, and the like by extending the internal pixel bit length. Can be kept small.
  • the moving picture decoding apparatus includes a decoding unit 400 and a decoding control unit 240.
  • a decoding unit 400 and a decoding control unit 240.
  • parts that are the same as those in FIG. 2 are given the same reference numerals, and in the following description, different parts between FIG. 10 and FIG. 2 will be mainly described.
  • the scaling process and the inverse scaling process in the moving picture decoding apparatus in FIG. 10 are substantially the same as or similar to the scaling process and the inverse scaling process in the moving picture encoding apparatus in FIG.
  • the decoding unit 400 generates the output image 26 by decoding the encoded data.
  • the decoding unit 400 includes an entropy decoding unit 401, an inverse quantization / inverse conversion unit 202, an addition unit 203, a loop filter unit 210, a reference image buffer unit 204, a scaling information buffer unit 205, a prediction unit 220, and a bit length normalization. Part 430.
  • the entropy decoding unit 401 further performs entropy decoding of the encoded internal bit length information as necessary in addition to the operation of the entropy decoding unit 201 described above.
  • the entropy decoding unit 401 notifies the bit length normalization unit 430 of the decoded internal bit length information 47.
  • the bit length normalization unit 430 When the internal bit length information 47 is notified, the bit length normalization unit 430 performs the same operation as the above-described bit length normalization unit 230 while considering the internal bit length information 47 as necessary. Thus, the output image 26 normalized to a desired pixel bit length is generated. As an example, the bit length normalization unit 430 checks the pixel bit length of the input image on the encoding side by referring to the internal bit length information 47, and outputs the output image 26 normalized to the pixel bit length of the input image. Is generated.
  • the moving picture decoding apparatus expands the internal pixel bit length as compared with the input image on the encoding side, and performs the same scaling process / inverse as in the first embodiment. Scaling processing is adopted. Therefore, according to the video decoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing further highly accurate prediction processing, filter processing, and the like by extending the internal pixel bit length. Can be kept small.
  • the video encoding apparatus according to the third embodiment has substantially similar elements to the video encoding apparatus according to the first embodiment described above, but differs in the details of the scaling process / inverse scaling process. In the following description, details of the scaling process / inverse scaling process according to the present embodiment will be described with reference to FIGS. 5, 6, and 8.
  • the filter processing / scaling processing unit 112 performs a convolution operation (filter operation) on the target pixel group according to the filter coefficient information included in the loop filter information 13 (step S112-1). ).
  • the filter processing / scaling processing unit 112 searches for the maximum value Max and the minimum value Min of the convolution calculation result group of the target pixel group as in the first embodiment (step S112-2).
  • the filter processing / scaling processing unit 112 derives the scaling information 15 of the target pixel group (step S112-3). Specifically, the filter processing / scaling processing unit 112 derives the minimum reference value MinPoint according to Equation (2) and Equation (3). Further, the filter processing / scaling processing unit 112 derives the maximum reference value MaxPoint according to the following calculation (13) using the conditional operator (ternary operator) “?:”.
  • MaxPoint 2 L ⁇ 1.
  • the minimum reference value MinPoint and the maximum reference value MaxPoint derived as described above are supplied to the scaling information buffer unit 108 as scaling information 15.
  • filter switching information or information similar thereto is required, and such information may also be included in the scaling information 15.
  • the loop filter information 13 may be notified to an element that performs inverse scaling processing. In the following description, it is assumed that the filter switching information is included in the scaling information 15.
  • the filter processing / scaling processing unit 112 applies scaling to each convolution calculation result according to the derived filter information 15 (step S112-4). Specifically, the filter processing / scaling processing unit 112 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (14).
  • Dr represents the dynamic range of the scaled reference pixel group as shown in the following equation (16).
  • Offset [Dr] represents a rounding offset value.
  • N represents the bit length of EncTable [Dr].
  • Formula (14) includes division, it is assumed that the value of EncTable [Dr] is calculated in advance for each value of Dr and stored in a table format, for example.
  • EncTable [Dr] and Offset [Dr] corresponding to the dynamic range Dr fall within the same number of bits X (X ⁇ (K + T) and X ⁇ U) between B [m] and G [m] described later. When doing so, the values of B [m] and G [m] after rounding may be set to be equal.
  • ExpandFlag in FIGS. 11 and 12 to 15 indicates whether or not the scaling process / inverse scaling process described in this embodiment is performed.
  • ExpandFlag When ExpandFlag is 0, it indicates that the scaling process / inverse scaling process described in the first or second embodiment is performed.
  • the scaling amount Q is derived using the calculation (4), and each pixel value D [m] of the reference pixel group scaled using the equation (6) is generated.
  • ExpandFlag when ExpandFlag is 1, it indicates that the scaling process / inverse scaling process described in this embodiment is performed.
  • MaxPoint and MinPoint may be expressed by (K + T) bits. That is, the upper limit of the values of MaxPoint and MinPoint is 2 K + T ⁇ 1. Therefore, Dr calculated by Expression (16) is expressed by (K + T) bits.
  • Offset [Dr] may be fixed to 1 ⁇ (K + T-1).
  • EncTable [Dr] where Offset [Dr] is different from 1 ⁇ (K + T ⁇ 1) is not used.
  • Dr that is not used is integrated with the contents one line below.
  • the scaled reference pixel group generated as described above is supplied to the reference image buffer unit 107.
  • the scaling processing unit 113 searches for the maximum value Max and the minimum value Min of the target pixel group as in the first embodiment (step S113-1).
  • the scaling processing unit 113 derives the scaling information 15 of the target pixel group (step S113-2).
  • the filter processing / scaling processing unit 112 derives the minimum reference value MinPoint according to Equation (2).
  • the filter processing / scaling processing unit 112 derives the maximum reference value MaxPoint according to Equation (13).
  • K 0 is handled. That is, S is derived according to Equation (8).
  • the minimum reference value MinPoint and the maximum reference value MaxPoint derived as described above are supplied to the scaling information buffer unit 108 as scaling information 15.
  • the scaling processing unit 113 applies scaling to each pixel value of the target pixel group in accordance with the derived filter information 15 (step S113-3). Specifically, the scaling processing unit 113 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (17).
  • the value of EncTable [Dr] corresponding to the dynamic range Dr is the same number of bits X (X ⁇ T and X as P [m] and G [m] described later, as in the filter processing / scaling processing unit 112. ⁇ U), the values of B [m] and G [m] after rounding are set to be equal.
  • MaxPoint and MinPoint may be expressed by T bits. That is, the upper limit of the values of MaxPoint and MinPoint is 2 T ⁇ 1. Therefore, Dr calculated by Expression (16) is expressed by T bits.
  • the inverse scaling processing unit 121 obtains a desired reference pixel group (that is, necessary for generating a predicted image) and corresponding scaling information from the reference image buffer unit 107 and the scaling information buffer unit 108, respectively (step S121). -1). Specifically, the inverse scaling processing unit 121 acquires each pixel value D [m] of the scaled reference pixel group, the minimum reference value MinPoint, the maximum reference value MaxPoint, and filter switching information. The inverse scaling processing unit 121 refers to the filter switching information, sets a predetermined value corresponding to the filter processing to the parameter K if the filter application is valid, and sets 0 to the parameter K if the filter application is invalid.
  • the inverse scaling processing unit 121 applies inverse scaling for extending the pixel bit length to the reference pixel group according to the scaling information (step S121-2). Specifically, if the relationship of K + T + L ⁇ U is established, the inverse scaling processing unit 121 applies inverse scaling according to the following equation (18).
  • DecTable [Dr] corresponding to the dynamic range Dr is set to correspond to Dr used in the filter processing / scaling processing unit 112 or the scaling processing unit 113.
  • MaxPoint and MinPoint may be expressed by (K + T) bits. That is, the upper limit of the values of MaxPoint and MinPoint is 2 K + T ⁇ 1. Therefore, Dr calculated by Expression (16) is expressed by (K + T) bits.
  • adaptive scaling / inverse scaling processing based on the distribution of the target pixel group is performed.
  • the value B [m] or P [m] before scaling is rounded to L bits
  • the value G [m] after inverse scaling is rounded to L Guaranteed to be the same value rounded to bits.
  • the value after inverse scaling obtained by the processing of this embodiment is used.
  • the value G [m] has high accuracy.
  • the moving picture encoding apparatus performs the scaling process and the inverse scaling process before and after the reference image buffer unit, so that the pixel bit length applied to the reference image buffer unit Is smaller than the pixel bit length applied to other internal processing (prediction processing, filter processing, etc.). Therefore, according to the video encoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small.
  • the moving picture decoding apparatus can perform the same or similar scaling process / inverse scaling process as the moving picture encoding apparatus according to the present embodiment, and obtain the same effect. it can.
  • the moving image encoding apparatus includes an encoding unit 500 and an encoding control unit 140.
  • the encoding unit 500 encodes the input image 11 to generate encoded data.
  • the encoding control unit 140 controls various elements in the encoding unit 500. For example, the encoding control unit 140 controls a loop filter setting unit 106, a prediction unit 520, and the like which will be described later.
  • the encoding unit 500 includes a bit length extension unit 309, a subtraction unit 101, a transform / quantization unit 102, an entropy encoding unit 303, an inverse quantization / inverse transform unit 104, an addition unit 105, a loop filter setting unit 106, and a reference image
  • a buffer unit 507, a loop filter unit 510, a prediction unit 520, and a motion vector generation unit 130 are included.
  • the bit length extension unit 309 is the same as that already described in the second embodiment.
  • the part in which the pixel bit length in the fourth embodiment is extended does not have to be the entire encoding unit and decoding unit as shown in FIGS. 16 and 17. It is sufficient that the pixel bit length is extended at least in the loop filter unit 510 (610: decoding device) and the prediction unit 520 (620: decoding device) described in this embodiment.
  • the subtraction unit 101 subtracts the prediction image from the prediction unit 520 from the input image 11 to obtain a prediction error.
  • the transform / quantization unit 102 performs transform (for example, discrete cosine transform (DCT)) and quantization on the prediction error from the subtraction unit 101, and quantizes information on transform coefficients (hereinafter simply referred to as quantum). (Referred to as conversion coefficient).
  • transform for example, discrete cosine transform (DCT)
  • quantum quantizes information on transform coefficients
  • the entropy encoding unit 303 is the same as that already described in the second embodiment.
  • the inverse quantization / inverse transform unit 104 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the transform / quantization unit 102, thereby reducing a prediction error.
  • inverse quantization and inverse transform for example, inverse discrete cosine transform (IDCT), etc.
  • IDCT inverse discrete cosine transform
  • the adding unit 105 adds the prediction error restored by the inverse quantization / inverse transform unit 104 and the corresponding prediction image from the prediction unit 520 to generate the local decoded image 12.
  • the loop filter setting unit 106 sets the loop filter information 13 based on the input image 11 and the corresponding local decoded image 12 from the addition unit 105 and notifies the loop filter unit 510 and the entropy encoding unit 303 of the loop filter information 13.
  • the loop filter information 13 includes at least filter coefficient information and filter switching information.
  • the filter coefficient information includes information indicating the filter coefficient.
  • the filter coefficient information may further include information indicating an offset coefficient described later.
  • the filter switching information includes information indicating validity / invalidity of filter application.
  • the loop filter unit 510 performs filter processing or bypass processing that does not pass the filter processing on the target pixel group in the local decoded image 12 from the addition unit 105 according to the loop filter information 13 from the loop filter setting unit 106. Do. Then, the loop filter unit 510 performs scaling processing described later on the filter processing result group or the bypass processing result group (that is, the target pixel group itself) to reduce (or maintain) the pixel bit length.
  • the loop filter unit 510 supplies the scaled reference pixel group 14 as the scaling processing result group and the scaling information 15 regarding the scaling processing to the reference image buffer unit 507. Details of the loop filter unit 510 will be described later.
  • the reference image buffer unit 507 stores the scaled reference pixel group 14 from the loop filter unit 510 and the scaling information 15 related to the scaling process.
  • the reference pixel group 14 and the scaling information 15 accumulated in the reference image buffer unit 507 are read by the prediction unit 520 or the motion vector generation unit 130 as necessary. Details of the reference image buffer unit 507 will be described later.
  • the motion vector generation unit 130 reads the scaled reference pixel group and the scaling information from the reference image buffer unit 507 as necessary.
  • the motion vector generation unit 130 applies inverse scaling that extends (or maintains) the pixel bit length to the scaled reference pixel group according to the scaling information to restore the reference image.
  • the motion vector generation unit 130 generates motion vector information based on the input image 11 and the restored reference image.
  • the motion vector generation unit 130 notifies the prediction unit 520 and the entropy encoding unit 303 of the motion vector information. Details of the inverse scaling process will be described later.
  • the prediction unit 520 reads the scaled reference pixel group and scaling information from the reference image buffer unit 507 as necessary.
  • the prediction unit 520 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information.
  • the prediction unit 520 generates a prediction image based on the motion vector information from the motion vector generation unit 130 and the restored reference image.
  • the prediction unit 520 supplies the predicted image to the subtraction unit 101 and the addition unit 105.
  • the loop filter unit 510 will be described on the assumption that it has the same configuration as that of FIG. 3 already described in the first embodiment.
  • the loop filter unit 510 does not have to have the same configuration as that of the first embodiment.
  • a filter process is performed on the target pixel group in the local decoded image 12 from the addition unit 105, or bypass that does not pass through the filter process Process.
  • a configuration may be adopted in which scaling processing is performed by the scaling processing unit 113 described later on the target pixel group of the filter processing result group or the bypass processing result group.
  • the filter processing unit 1001 is not limited to a filter for which application or non-application of a filter is determined on a block basis as shown in FIG.
  • the filter processing unit 1001 may include a deblocking filter that applies filter processing to block boundaries.
  • the operation of the filter processing / scaling processing unit 112 and the operation of the scaling processing unit 113 are different from those in the first embodiment. Details of the operation of the filter processing / scaling processing unit 112 will be described below with reference to FIG.
  • the filter processing / scaling processing unit 112 performs a convolution operation (filter operation) on the target pixel group in accordance with the filter coefficient information included in the loop filter information 13 (step S112-1). Specifically, when the filter coefficient is represented by F [n], the pixel value of the target pixel group is represented by P [m], and the convolution calculation result is represented by B [m], the filter processing / scaling processing unit 112 represents the following formula ( Perform the convolution operation according to 1).
  • Equation (19) O represents an offset coefficient.
  • the offset coefficient can be referred to through the filter coefficient information.
  • the unit of the scaling processing is set to 16 pixels, the sum of the filter coefficient F [n] is described as being designed to be substantially equal to the 2 K.
  • the 16-pixel unit is, for example, a 4 ⁇ 4 pixel block unit, but there is no restriction on the shape.
  • the pixel bit length of the target pixel group is 8 bits, and the number of extension bits at the time of input to the filter / scaling processing unit is 4 bits. Note that the pixel bit length and the number of extension bits of the target pixel group are not limited to these.
  • the filter processing / scaling processing unit 112 performs such a convolution operation on each pixel of the target pixel group to obtain a convolution operation result group.
  • the filter processing / scaling processing unit 112 searches for the maximum value Max and the minimum value Min of the convolution calculation result group of the target pixel group (step S112-2).
  • the upper limit of the maximum value Max is, for example, 2 K + 12 ⁇ 1. That is, if the value of the maximum value Max is larger than 2 K + 12 ⁇ 1, the value of the maximum value Max is treated as 2 K + 12 ⁇ 1.
  • the filter processing / scaling processing unit 112 derives the scaling information 15 of the target pixel group (step S112-3). Specifically, the filter processing / scaling processing unit 112 derives the minimum reference value MinPoint by arithmetically shifting the minimum value Min by (K + 6) bits according to the following formula (2).
  • MinPoint is a 6-bit value.
  • the filter processing / scaling processing unit 112 derives the scaling amount Q by executing the following calculation (21).
  • the scaling amount Q can take any integer value from 0 to 4.
  • the minimum reference value MinPoint and the scaling amount Q derived as described above are supplied to the reference image buffer unit 507 as scaling information 15.
  • the filter processing / scaling processing unit 112 applies scaling to each convolution operation result according to the derived scaling information 15 (step S112-4). Specifically, the filter processing / scaling processing unit 112 generates each pixel value D [m] of the scaled reference pixel group according to the following calculation (22) and calculation (23).
  • the scaled reference pixel group is generated by executing the calculation (22).
  • the first pixel B [0] of the target pixel group is set to 1 when B [0] is smaller than 2K + 3 so that the scaled pixel value D [0] does not become 0. .
  • rounding is performed by normal rounding.
  • D [0] is limited to a value from 1 to 255, but D [m] in other cases is limited to a value from 0 to 255. In this example, 0 does not appear in D [0], but this value may be other than 0. For example, there is a method of using 255. Further, regarding the limitation of the value of D [m], for example, a method may be used in which the luminance signal is limited to a range of 16 to 235 and the color difference signal is limited to a value of 16 to 240. In this case, the value of D [0] does not need to be specifically limited.
  • the scaled reference pixel group generated as described above is supplied to the reference image buffer unit 507.
  • (K + 12) bits that are the pixel bit length of the filter processing result group of the target pixel group are reduced to 8 bits after the filter processing.
  • each pixel value D [m] of the scaled reference pixel group is generated by shifting left by Q + K bits.
  • the scaled reference pixel group generated as described above is supplied to the reference image buffer unit 507.
  • (K + 12) bits that are the pixel bit length of the filter processing result group of the target pixel group are reduced to 7 bits after the filter processing.
  • the unit of scaling processing is 16 pixel units, and the 16 pixel unit is, for example, a 4 ⁇ 4 pixel block unit, but there is no restriction on the shape.
  • the pixel bit length of the target pixel group is 8 bits, and the number of extension bits at the time of input to the scaling processing unit is 4 bits.
  • the scaling processing unit 113 generates scaling information for the target pixel group and a scaled reference pixel group.
  • the scaling processing unit 113 searches for the maximum value Max and the minimum value Min of the target pixel group (step S113-1).
  • the upper limit of the maximum value Max is set to 2 12 ⁇ 1, for example. That is, if the value of the maximum value Max is larger than 2 12 ⁇ 1, the value of the maximum value Max is handled as 2 12 ⁇ 1.
  • the scaling processing unit 113 derives the scaling amount Q by executing the calculation (25).
  • the minimum reference value MinPoint and the scaling amount Q derived as described above are supplied to the reference image buffer unit 507 as scaling information 15.
  • the scaling processing unit 113 applies scaling to each pixel value of the target pixel group in accordance with the derived scaling information 15 (step S113-3). Specifically, the scaling processing unit 113 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (26).
  • a scaled reference pixel group is generated by executing the calculation (26).
  • the first pixel B [0] of the target pixel group is set to 1 when B [0] is a value smaller than 8 so that the scaled pixel value D [0] does not become 0.
  • rounding is performed by normal rounding.
  • D [0] is limited to a value from 1 to 255, but D [m] in other cases is limited to a value from 0 to 255. In this example, 0 does not appear in D [0], but this value may be other than 0. For example, there is a method of using 255. Further, regarding the limitation of the value of D [m], for example, a method may be used in which the luminance signal is limited to a range of 16 to 235 and the color difference signal is limited to a value of 16 to 240. In this case, the value of D [0] does not need to be specifically limited.
  • the scaled reference pixel group generated as described above is supplied to the reference image buffer unit 507.
  • the scaling processing unit 113 By the operation of the scaling processing unit 113, the pixel bit length of 12 bits of the target pixel group is reduced to 8 bits after the filter processing.
  • the minimum reference value MinPoint is arithmetically shifted left by about 6 bits to return to the original bit length, and this value is subtracted from the value of the target pixel group.
  • the pixel values D [m] of the scaled reference pixel group are generated by shifting left by Q bits.
  • the scaled reference pixel group generated as described above is supplied to the reference image buffer unit 507.
  • 12 bits which is the pixel bit length of the target pixel group, is reduced to 7 bits after the filter processing.
  • a scaling block (or adaptive scaling block) is a representation that includes scaling information and a group of scaled pixels.
  • description elements for expressing a scaling block with a fixed length will be described, but the order of writing the description elements of the scaling block to the reference image buffer or the order of reading the description elements of the scaling block from the reference image buffer is arbitrary. .
  • the description of the scaling information can be switched by limiting the scaled leading pixel value so as not to be a specific value.
  • the prediction unit 520 includes an inverse scaling processing unit 121 and a predicted image generation unit 122.
  • the inverse scaling processing unit 121 restores the reference image by applying inverse scaling for extending the pixel bit length to the scaled reference pixel group according to the scaling information.
  • the predicted image generation unit 220 generates a predicted image based on the motion vector information and the restored reference image.
  • the inverse scaling processing unit 121 obtains a desired scaled reference pixel group (that is, necessary for generating a predicted image) and corresponding scaling information from the reference image buffer unit 507 (step S121-1). Specifically, the inverse scaling processing unit 121 acquires each pixel value D [m] of the scaled reference pixel group, the minimum reference value MinPoint, the scaling amount Q, and the filter switching information. In this case, if the first pixel value D [0] of the scaled reference pixel group is other than 0, the scaling amount Q is set to 4, and if D [0] is 0, the minimum reference value MinPoint and the scaling value Q are described. Loaded data.
  • the inverse scaling processing unit 121 applies inverse scaling for extending the pixel bit length to the scaled reference pixel group according to the scaling information (step S121-2).
  • the scaling value Q is 4, the pixel value of the reference pixel group scaled using the operation (28) is arithmetically shifted to the left by about 4 bits, and inverse scaling processing is performed.
  • the scaling value Q is less than 4, the reference pixel scaled using the operation (29) is arithmetically shifted to the left by Q bits, and the minimum reference value MinPoint is arithmetically shifted to the left by about 6 bits and restored.
  • G [m] represents each pixel value of the restored reference pixel group.
  • the pixel bit length (here, 8 bits) of the scaled reference pixel group is expanded to 12 bits. Note that the value of G [m] is limited to a range that can be expressed by 12 bits.
  • adaptive scaling / inverse scaling processing based on the difference between the maximum value and the minimum value of the target pixel group is performed.
  • the value D [m] obtained by rounding the value B [m] before scaling to 8 bits by rounding off becomes D [0] in the case of 4-bit scaling.
  • the power is set to 1
  • the value G [m] after inverse scaling is rounded to 8 bits by rounding off.
  • the value G after inverse scaling obtained by the processing of this embodiment is used. [M] has high accuracy.
  • the pixel value 0 and the pixel value 255 may not be used as a timing reference in various standards, and therefore, D [0] is limited within encoding and decoding. There is no substantial loss.
  • the pixel value of the 8-bit input image is expanded by 4 bits
  • the target pixel group for performing scaling and inverse scaling processing is 16 pixels
  • the maximum value of the scaling value Q is 4
  • the minimum reference value
  • the shift amount at the time of generating MinPoint is 6
  • the pixel value scaled by the maximum scaling value is 8 bits
  • the scaled pixel value of other scaling values is 7 bits, the same applies to some other values. Is possible.
  • the pixel value of the 10-bit input image is not expanded, the target pixel group to be subjected to scaling and inverse scaling processing is set to 16 pixel units, the maximum value of the scaling value Q is set to 2, and the minimum reference value MinPoint is set. It is also possible to adopt a configuration in which the shift amount at the time of generation is set to 7, the bit length of the pixel value scaled with the maximum scaling value is set to 8 bits, and the bit length of the pixel value scaled with other scaling values is set to 7 bits. .
  • the video encoding apparatus performs the scaling process and the inverse scaling process before and after the reference image buffer unit, respectively, so that the pixel bit length applied to the reference image buffer unit Is smaller than the pixel bit length applied to other internal processing (prediction processing, filter processing, etc.). Therefore, according to the video encoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small. Further, since the scaling information and the scaled reference pixel group data can be managed in a fixed length in units of bytes, data access in the reference image buffer is facilitated.
  • the moving picture decoding apparatus includes a decoding unit 600 and a decoding control unit 240.
  • the decoding unit 600 generates the output image 26 by decoding the encoded data.
  • the decoding control unit 240 controls various elements in the decoding unit 600.
  • the decoding control unit 240 controls the prediction unit 620 and the like described later. Note that the scaling process and the inverse scaling process in the moving picture decoding apparatus in FIG. 17 are substantially the same as or similar to the scaling process and the inverse scaling process in the moving picture encoding apparatus in FIG.
  • the decoding unit 600 includes an entropy decoding unit 401, an inverse quantization / inverse transformation unit 202, an addition unit 203, a loop filter unit 610, a reference image buffer unit 604, a prediction unit 620, and a bit length normalization unit 430.
  • the entropy decoding unit 401 is the same as that already described in the second embodiment.
  • the inverse quantization / inverse transformation unit 202 and the addition unit 203 are substantially the same or similar elements as the inverse quantization / inverse transformation unit 104 and the addition unit 105 described above. That is, the inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 401 to generate a prediction error. To restore. The adding unit 203 adds the prediction error restored by the inverse quantization / inverse transform unit 202 and the corresponding prediction image from the prediction unit 620 to generate a decoded image 22.
  • inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 401 to generate a prediction error.
  • IDCT inverse discrete cosine transform
  • the loop filter unit 610 is an element that is substantially the same as or similar to the loop filter unit 510 described above. That is, the loop filter unit 610 performs a filtering process or a bypass process that does not pass the filtering process on the target pixel group in the decoded image 22 from the adding unit 203 according to the loop filter information 23 from the entropy decoding unit 401. . Further, the loop filter unit 610 reduces the pixel bit length by performing the above-described scaling processing on the filter processing result group or the bypass processing result group (that is, the target pixel group). The loop filter unit 610 supplies the scaled reference pixel group 24 and the scaling information 25 related to the scaling process to the reference image buffer unit 604 as the scaling process result group.
  • the reference image buffer unit 604 stores the scaled reference pixel group 24 and the scaling information 25 from the loop filter unit 610.
  • the reference pixel group 24 and the scaling information 25 accumulated in the reference image buffer unit 604 are read by the prediction unit 620 or the bit length normalization unit 430 as necessary.
  • the bit length normalization unit 430 reads out a desired reference pixel group (ie, necessary for generating the output image 26) and corresponding scaling information according to the display order.
  • the prediction unit 620 is an element that is substantially the same as or similar to the prediction unit 520 described above. That is, the prediction unit 620 reads the scaled reference pixel group and scaling information from the reference image buffer unit 604 as necessary. The prediction unit 620 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information. The prediction unit 620 generates a prediction image based on the motion vector information from the entropy decoding unit 401 and the restored reference image. The prediction unit 620 supplies the predicted image to the addition unit 203.
  • the bit length normalization unit 430 reads the scaled reference pixel group and the scaling information from the reference image buffer unit 604 as necessary.
  • the bit length normalization unit 430 applies inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information, and obtains a desired pixel bit length U (here, the bit length normalization unit 430).
  • the pixel bit length U related to the operation of the prediction unit 620 does not necessarily match the pixel bit length U related to the operation of the prediction unit 620).
  • the bit length normalization unit 430 supplies the output image 26 to the outside. Note that the pixel bit length of the output image 26 may be the same as or different from the pixel bit length of the input image 11 in the moving image encoding device, for example.
  • the bit length normalization unit 430 can be omitted. It is.
  • the bit length normalization unit 430 may perform bit length normalization of the output image 26 according to the internal pixel bit length information 47 from the entropy decoding unit 401.
  • the moving picture decoding apparatus uses the pixel bit length applied to the reference image buffer unit as the pixel bit applied to other internal processing (prediction processing, filter processing, etc.).
  • the reference pixel group and the scaling information can be simultaneously stored in the reference image buffer unit. Therefore, according to the video decoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small. Further, since the scaling information and the scaled reference pixel group data can be managed in a fixed length in units of bytes, data access in the reference image buffer is facilitated.
  • the moving image encoding apparatus includes an encoding unit 700 and an encoding control unit 140.
  • the encoding unit 700 encodes the input image 11 to generate encoded data.
  • the encoding control unit 140 controls various elements in the encoding unit 700. For example, the encoding control unit 140 controls the prediction unit 720 and the like.
  • the encoding unit 700 includes a bit length extension unit 309, a subtraction unit 101, a transform / quantization unit 102, an entropy encoding unit 703, an inverse quantization / inverse transform unit 104, an addition unit 105, a reference image buffer unit 707, a loop filter.
  • the bit length extension unit 309 is the same as that already described in the second embodiment. However, the part in which the pixel bit length is extended in the fifth embodiment does not have to be the entire encoding unit and decoding unit as shown in FIGS. 20 and 21, and in this embodiment, This can be realized if the pixel bit length is extended up to the output of the loop filter units 710 and 810 and the input of the prediction units 720 and 820 described.
  • the subtraction unit 101 subtracts the prediction image from the prediction unit 720 from the input image 11 to obtain a prediction error.
  • the transform / quantization unit 102 performs transform (for example, discrete cosine transform (DCT)) and quantization on the prediction error from the subtraction unit 101, and quantizes information on transform coefficients (hereinafter simply referred to as quantum). (Referred to as conversion coefficient).
  • transform for example, discrete cosine transform (DCT)
  • quantum quantizes information on transform coefficients
  • the entropy encoding unit 703 performs entropy encoding on the quantized transform coefficient from the transform / quantization unit 102, the motion vector information from the motion vector generation unit 730, and the pixel bit length extension information. Note that the entropy encoding unit 703 may further entropy encode information other than these (for example, prediction mode information).
  • the type of entropy encoding is, for example, variable length encoding or arithmetic encoding.
  • the entropy encoding unit 703 outputs encoded data obtained by entropy encoding to the outside.
  • the inverse quantization / inverse transform unit 104 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the transform / quantization unit 102, thereby reducing a prediction error.
  • inverse quantization and inverse transform for example, inverse discrete cosine transform (IDCT), etc.
  • IDCT inverse discrete cosine transform
  • the adding unit 105 adds the prediction error restored by the inverse quantization / inverse transform unit 104 and the corresponding prediction image from the prediction unit 720 to generate the local decoded image 12.
  • the loop filter unit 710 receives the local decoded image 12 from the adding unit 106, performs a loop filter process such as a deblocking process or an image restoration process on the local decoded image 12, and generates a decoded image signal.
  • a loop filter process such as a deblocking process or an image restoration process
  • the reference image buffer unit 707 stores the decoded image signal from the loop filter unit 710. The detailed operation of the image buffer unit 707 will be described later with reference to FIGS.
  • the pixel accuracy control unit 721 includes a decoded image signal (hereinafter referred to as a reference image signal) used for prediction processing among the decoded image signals stored in the reference image buffer unit 707, and pixels from the bit length extension unit 309. Bit length extension information is received.
  • the pixel accuracy control unit 721 performs processing for controlling the degree of deterioration in pixel accuracy caused by scaling. Detailed operation of the pixel accuracy control unit 721 will be described later with reference to FIG.
  • the motion vector generation unit 730 receives the image signal from the bit length extension unit 309 and the reference image signal from the pixel accuracy control unit 721, calculates a motion vector, and generates motion vector information.
  • the motion vector generation unit 730 notifies the motion vector information to the prediction unit 720 and the entropy encoding unit 703.
  • the unit of pixel accuracy control processing is 16 pixels.
  • the 16-pixel unit is, for example, a 4 ⁇ 4 pixel block unit, but there is no restriction on the shape.
  • the pixel bit length of the target pixel group is 8 bits
  • the number of pixel extension bits is 4 bits. Note that the pixel bit length and the pixel extension bit number of the target pixel group are not limited to these specific bit numbers.
  • the pixel accuracy control unit 721 searches for the maximum value Max and the minimum value Min of the pixel values of the target pixel group (step S712-1).
  • the upper limit of the maximum value Max is set to 2 12 ⁇ 1, for example. That is, if the value of the maximum value Max exceeds 2 12 ⁇ 1, the value of the maximum value Max is handled as 2 12 ⁇ 1.
  • the upper limit of the maximum value Max is, for example, (255 ⁇ 2 4 ). In this case, if the maximum value Max exceeds (255 ⁇ 2 4 ), the maximum value Max is handled as (255 ⁇ 2 4 ).
  • the pixel accuracy control unit 721 derives the scaling amount Q of the target pixel group (step S712-2). Specifically, the scaling amount Q is derived by executing the following calculation (30).
  • the scaling amount Q can take any integer value from 0 to 4.
  • the pixel accuracy control unit 721 applies scaling to each pixel value according to the derived scaling amount Q (step S712-3). Specifically, the pixel accuracy control unit 721 generates each pixel value G [m] of the reference pixel group whose pixel accuracy is controlled according to the following calculations (31), (32), and (33).
  • the scaled reference pixel group is generated by executing the calculation (31). At this time, for the first pixel P [0] of the target pixel group, when P [0] is a value smaller than 8 so that the pixel value G [0] whose pixel accuracy is controlled is not 0, 16 To do. Otherwise, after adding 8, zero padding is performed on the lower 4 bits.
  • the input pixel value is used as the output value as it is as in the following calculation (32).
  • the scaling amount Q is a value other than the above
  • the lower Q bits are zero-padded according to the following calculation (33), and the offset value (1 ⁇ (Q-1)) is added.
  • G [0] if the scaling amount Q is 4, but is limited to 16 to a value of 255 ⁇ 2 4, otherwise, is limited to a value of from 0 to 255 ⁇ 2 4 Shall.
  • P [0] when P [0] is smaller than 8, 0 does not appear in G [0].
  • this value may be other than 0.
  • G [0] there is also a method of limiting the value of 254 ⁇ 2 4.
  • the pixel value of the input image signal may be limited, for example, the range from 16 ⁇ 2 4 to 235 ⁇ 2 4 for the luminance signal and 16 ⁇ 2 for the color difference signal. 4 may be a technique that limits a value of up to 240 ⁇ 2 4. In this case, it is not necessary to limit the value of G [0] when the scaling amount Q is 4.
  • the pixel accuracy control method corresponding to the scaling process and the inverse scaling process of the fourth embodiment has been described.
  • another scaling method for example, 12 bits are fixed.
  • the processing of Expression (34) may be performed on the entire screen.
  • FIG. 23 shows an example in which the scaling processing unit 113 and the inverse scaling processing unit 121 exist before and after the reference frame unit.
  • the scaling processing unit 113 and the inverse scaling processing unit 121 are the same as those shown in the fourth embodiment. Based on the pixel bit length extension information, the scaling processing of FIG. 6 and the inverse scaling processing of FIG. I do.
  • the reference image buffer unit in FIG. 24 shows an example in which the scaling processing unit 113 and the inverse scaling processing unit 121 do not exist before and after the reference frame unit.
  • the configuration of the reference image buffer unit 707 is the configuration shown in FIG. 23 or the configuration shown in FIG.
  • the output results from the pixel accuracy control unit 721 are the same. That is, the same result can be obtained regardless of the presence or absence of the scaling process and the inverse scaling in the reference image buffer unit, and the introduction of the scaling process and the inverse scaling process can be selected depending on the mounting method.
  • the position of the pixel accuracy control unit 721 is positioned after the reference image buffer 707, but the pixel accuracy control unit 721 may be positioned before the reference image buffer 707.
  • the same encoding and decoding results can be obtained even if the pixel accuracy control unit 721 does not exist.
  • the pixel value of the 8-bit input image is expanded by 4 bits
  • the target pixel group for performing the pixel accuracy control processing is set to 16 pixels
  • the maximum value of the scaling value Q is possible with some other values.
  • the pixel value of the 10-bit input image is not expanded, the unit of the target pixel group for performing the scaling and inverse scaling processing is 16 pixels, and the maximum value of the scaling value Q is 2. Is also possible.
  • the moving picture coding apparatus does not store scaling information and the scaled reference picture group in the reference picture buffer, but rather determines the degree of deterioration in pixel accuracy caused by scaling. Shown how to control. Regardless of the presence or absence of the scaling process and the inverse scaling, the encoding result and the decoding result can be matched, and the introduction of the scaling process and the inverse scaling process can be selected according to the mounting method.
  • the moving picture decoding apparatus includes a decoding unit 800 and a decoding control unit 240.
  • the decoding unit 800 generates the output image 26 by decoding the encoded data.
  • the decoding control unit 240 controls various elements in the decoding unit 600.
  • the decoding control unit 240 controls the prediction unit 820 and the like. 21 is the same as the pixel accuracy control unit 721 in the moving image encoding device in FIG.
  • the decoding unit 800 includes an entropy decoding unit 801, an inverse quantization / inverse transform unit 202, an addition unit 203, a loop filter unit 810, a reference image buffer unit 804, and a prediction unit 820.
  • the entropy decoding unit 801 performs entropy decoding according to the syntax information, for example, on the encoded data generated by the moving image encoding device in FIG.
  • the entropy decoding unit 801 supplies the decoded quantized transform coefficient to the inverse quantization / inverse transform unit 202, supplies the decoded motion vector information to the prediction unit 820, and decodes the decoded pixel bit extension Information is supplied to the pixel accuracy control unit 806.
  • the inverse quantization / inverse transformation unit 202 and the addition unit 203 are substantially the same or similar elements as the inverse quantization / inverse transformation unit 104 and the addition unit 105 described above. That is, the inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 201 to generate a prediction error. To restore. The adding unit 203 adds the prediction error restored by the inverse quantization / inverse transform unit 202 and the corresponding prediction image from the prediction unit 620 to generate a decoded image 22.
  • inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 201 to generate a prediction error.
  • IDCT inverse discrete cosine transform
  • the loop filter unit 810 receives the decoded image signal from the adding unit 203 and performs loop filter processing on the decoded image signal.
  • the reference image buffer unit 804 is the same as the reference image buffer unit 707, and can adopt either the configuration of FIG. 23 or FIG.
  • the reference image buffer unit 804 stores the decoded image signal after the filter processing from the loop filter unit 810. Also, in response to an external request, the decoded image signal is extracted as a reference image signal from the reference image buffer unit 804, and the reference image signal is output in accordance with the display order.
  • the pixel accuracy control unit 806 has the same configuration as the pixel accuracy control unit 721 described above, receives a reference image signal from the reference image buffer unit 804, and receives pixel bit length extension information from the entropy decoding unit 801. Detailed processing contents are the same as those of the pixel accuracy control unit 721.
  • the position of the pixel accuracy control unit 806 in FIG. 21 is positioned after the reference image buffer unit 804, but may be positioned before the reference image buffer unit 804. Further, when the reference image buffer unit 804 has the same configuration as the reference image buffer unit of FIG. 23, the encoding result and the decoding result are the same even if the pixel accuracy control unit 806 does not exist.
  • the prediction unit 820 receives a reference image signal from the pixel accuracy control unit 806, receives motion vector information from the entropy decoding unit 801, performs prediction processing, and generates a predicted image signal.
  • the prediction unit 820 supplies the predicted image to the addition unit 203.
  • the moving picture decoding apparatus does not store scaling information and the scaled reference picture group in the reference picture buffer, but controls the degree of deterioration in pixel accuracy caused by scaling. Showed how to do. Regardless of the presence or absence of scaling processing and inverse scaling, the results of encoding and decoding can be matched, and introduction of scaling processing and inverse scaling processing can be selected depending on the implementation method.
  • the various processes described in the first to fifth embodiments may be realized by executing a program (software).
  • a general-purpose computer system reads a program from a storage medium storing a program for realizing the processing according to each embodiment, and executes the program by a CPU or the like. It operates as a decoding device and brings about the same effect.
  • Programs include 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 the like. It may be stored in other storage media. These storage media may be of any type as long as they can be read by a computer or an embedded system that reads the program.
  • the computer or the embedded system may acquire or read the program via a communication medium such as a network. That is, a medium that downloads a program via a communication medium such as a LAN (local area network) or the Internet and stores (including temporary storage) the program is also included in the category of “storage medium”.
  • the term “storage medium” can also refer to a plurality of storage media comprehensively.
  • the computer or the embedded system may be a single device such as a personal computer or a microcontroller, or may be a system in which a plurality of devices are connected to a network.
  • the term “computer” is not limited to a so-called personal computer, and can comprehensively refer to an apparatus capable of executing a program, including an arithmetic processing unit, a microcontroller, and the like included in an information processing apparatus.
  • a part of the processing according to each embodiment may be executed using a function such as an OS (operating system) operating on a computer, database management software, MW (middleware) such as a network.
  • OS operating system
  • MW middleware

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

A moving image encoding apparatus according to an embodiment of the invention derives scaling information on the basis of the maximum and minimum values of a target pixel group in a local decoded image. A scaling that scales down the pixel bit length is applied to the target pixel group in accordance with the scaling information. A scaling unit limits the values of particular pixels, which are to be scaled, with respect to particular values, thereby generating a reference pixel group as scaled. A fixed bit length is used to express the description of first scaling information in a case of including the particular values or the description of second scaling information in a case of excluding the particular values and to express the reference pixel group as scaled in accordance with the corresponding scaling information. A reference image is reconstructed by use of inverse scaling and a predicted image is generated. Information indicating the difference between an input image and the predicted image is encoded by an encoding unit.

Description

動画像符号化装置、動画像復号化装置及び方法Moving picture coding apparatus, moving picture decoding apparatus and method
 実施形態は、動画像の符号化及び復号化に関する。 The embodiment relates to encoding and decoding of moving images.
 動画像符号化の国際標準規格の一つであるH.264/MPEG-4 AVCは、ITU-T(International Telecommunication Union - Telecommunication Standardization Sector)及びISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)によって共同で策定された。H.264/MPEG-4 AVCなどの動画像符号化の標準規格は、通常、既に符号化済みの画像の局所復号画像(符号化側)、或いは、復号画像(復号化側)を画像バッファに蓄積して予測画像の生成のために参照する仕組みを持つ。 H. is one of the international standards for video coding. H.264 / MPEG-4 AVC was jointly established by ITU-T (International Telecommunication Union-Telecommunication Standardization Sector) and ISO (International Organization for Standardization) / IEC (International Electrotechnical Commission). H. Video coding standards such as H.264 / MPEG-4 AVC usually store local decoded images (encoding side) of already encoded images or decoded images (decoding side) in an image buffer. And has a mechanism to refer to generate a predicted image.
 画像バッファは多数の参照画像を蓄積するので、符号化側及び復号化側の両方において大きな記憶容量を持つメインメモリが必要となる。また、予測画像の生成のために画像バッファに対して大量のアクセスが生じるので、符号化側及び復号化側の両方において広いメモリバンド幅が必要となる。このような画像バッファに関するハードウェア要求の問題は、画素ビット長が増大するほど顕著となる。 Since the image buffer stores a large number of reference images, a main memory having a large storage capacity is required on both the encoding side and the decoding side. In addition, since a large amount of access to the image buffer occurs to generate a predicted image, a wide memory bandwidth is required on both the encoding side and the decoding side. Such a problem of hardware requirements regarding the image buffer becomes more prominent as the pixel bit length increases.
 一方、動き推定処理、予測画像の生成処理(予測処理)、フィルタ処理(例えば、ループフィルタ処理)などの符号化側及び復号化側における種々の内部処理は、通常、画素ビット長が増大するほど高精度に実現し易い。故に、画素ビット長を増大させることは、符号化効率の改善に役立つ。 On the other hand, various internal processes on the encoding side and the decoding side such as a motion estimation process, a predicted image generation process (prediction process), and a filter process (for example, loop filter process) usually increase as the pixel bit length increases. Easy to achieve with high accuracy. Therefore, increasing the pixel bit length helps improve the coding efficiency.
 予測処理を含む種々の内部処理に大きな画素ビット長を適用することにより、符号化効率の改善が期待できる。一方、画像バッファに小さな画素ビット長を適用することにより、画像バッファに関するハードウェア要求の緩和が期待できる。 * Enhancing coding efficiency can be expected by applying a large pixel bit length to various internal processes including prediction processing. On the other hand, by applying a small pixel bit length to the image buffer, it is possible to expect a reduction in hardware requirements related to the image buffer.
 従って、実施形態は、画像バッファにはより小さな画素ビット長を適用しつつ、予測処理を含む種々の内部処理にはより大きな画素ビット長を適用することを目的とする。 Therefore, the embodiment aims to apply a larger pixel bit length to various internal processes including a prediction process while applying a smaller pixel bit length to the image buffer.
 実施形態に係る動画像符号化装置は、局所復号画像内の対象画素群の最大値と最小値に基づいてスケーリング情報が導出される。前記対象画素群に対して画素ビット長を縮小するスケーリングが前記スケーリング情報に従って適用される。スケーリング処理部は、スケーリングする特定の画素の値を特定の値について制限することにより、スケーリングされた参照画素群を生成する。前記特定の値が含まれる場合の第1のスケーリング情報の記述又は前記特定の値が含まれない場合の第2のスケーリング情報の記述と、対応するスケーリング情報に従ってスケーリングされた参照画素群とが固定のビット長で表現される。逆スケーリングにより参照画像が復元され、予測画像が生成される。入力画像と前記予測画像との間の差分を示す情報が符号化部によって符号化される。 The moving image encoding apparatus according to the embodiment derives scaling information based on the maximum value and the minimum value of the target pixel group in the locally decoded image. Scaling for reducing the pixel bit length is applied to the target pixel group according to the scaling information. The scaling processing unit generates a scaled reference pixel group by limiting the value of the specific pixel to be scaled with respect to the specific value. The description of the first scaling information when the specific value is included or the description of the second scaling information when the specific value is not included and the reference pixel group scaled according to the corresponding scaling information are fixed. It is expressed with the bit length. The reference image is restored by inverse scaling, and a predicted image is generated. Information indicating the difference between the input image and the predicted image is encoded by the encoding unit.
第1の実施形態に係る動画像符号化装置を示すブロック図。1 is a block diagram showing a moving image encoding apparatus according to a first embodiment. 第1の実施形態に係る動画像復号化装置を示すブロック図。The block diagram which shows the moving image decoding apparatus which concerns on 1st Embodiment. 図1のループフィルタ部を示すブロック図。The block diagram which shows the loop filter part of FIG. 対象画素群の説明図。Explanatory drawing of an object pixel group. 図3のフィルタ処理/スケーリング処理部の動作を示すフローチャート。FIG. 4 is a flowchart showing an operation of a filter processing / scaling processing unit in FIG. 3. FIG. 図3のスケーリング処理部の動作を示すフローチャート。4 is a flowchart showing the operation of the scaling processing unit in FIG. 3. 図1の予測部を示すブロック図。The block diagram which shows the estimation part of FIG. 図7の逆スケーリング処理部の動作を示すフローチャート。8 is a flowchart showing the operation of the inverse scaling processing unit of FIG. 第2の実施形態に係る動画像符号化装置を示すブロック図。The block diagram which shows the moving image encoder which concerns on 2nd Embodiment. 第2の実施形態に係る動画像復号化装置を示すブロック図。The block diagram which shows the moving image decoding apparatus which concerns on 2nd Embodiment. 第3の実施の形態に係るダイナミックレンジDr、EncTable[Dr]及びOffset[Dr]の例を示すテーブル図。The table figure which shows the example of the dynamic range Dr, EncTable [Dr], and Offset [Dr] concerning 3rd Embodiment. 第3の実施の形態に係るダイナミックレンジDr、EncTable[Dr]及びOffset[Dr]の例を示すテーブル図。The table figure which shows the example of the dynamic range Dr, EncTable [Dr], and Offset [Dr] concerning 3rd Embodiment. 第3の実施の形態に係るダイナミックレンジDr及びEncTable[Dr]の例を示すテーブル図。The table figure which shows the example of the dynamic range Dr and EncTable [Dr] concerning 3rd Embodiment. 第3の実施の形態に係るダイナミックレンジDr、EncTable[Dr]及びOffset[Dr]の例を示すテーブル図。The table figure which shows the example of the dynamic range Dr, EncTable [Dr], and Offset [Dr] concerning 3rd Embodiment. 第3の実施の形態に係るダイナミックレンジDr、EncTable[Dr]及びOffset[Dr]の例を示すテーブル図。The table figure which shows the example of the dynamic range Dr, EncTable [Dr], and Offset [Dr] concerning 3rd Embodiment. 第4の実施形態に係る動画像符号化装置を示すブロック図。The block diagram which shows the moving image encoder which concerns on 4th Embodiment. 第4の実施形態に係る動画像復号化装置を示すブロック図。The block diagram which shows the moving image decoding apparatus which concerns on 4th Embodiment. 第4の実施形態に係るループフィルタ部を示すブロック図。The block diagram which shows the loop filter part which concerns on 4th Embodiment. 第4の実施形態に係る参照画像バッファにおけるフォーマットの例を示す図。The figure which shows the example of the format in the reference image buffer which concerns on 4th Embodiment. 第5の実施形態に係る動画像符号化装置を示すブロック図。The block diagram which shows the moving image encoder which concerns on 5th Embodiment. 第5の実施形態に係る動画像復号化装置を示すブロック図。The block diagram which shows the moving image decoding apparatus which concerns on 5th Embodiment. 第5の実施形態に係る画素精度制御部の動作を示すフローチャート。10 is a flowchart showing an operation of a pixel accuracy control unit according to the fifth embodiment. 第5の実施形態に係る参照画像バッファ部の一例を示す図。The figure which shows an example of the reference image buffer part which concerns on 5th Embodiment. 第5の実施形態に係る参照画像バッファ部の別の例を示す図。The figure which shows another example of the reference image buffer part which concerns on 5th Embodiment.
 以下、図面を参照して、実施形態について説明する。尚、以降の説明において、「画像」という用語は、「画像信号」、「画像データ」などの用語として適宜読み替えることができる。 
 (第1の実施形態) 
 図1に示すように、第1の実施形態に係る動画像符号化装置は、符号化部100及び符号化制御部140を有する。符号化部100は、入力画像11を符号化して符号化データを生成する。符号化制御部140は、符号化部100内の種々の要素を制御する。例えば、符号化制御部140は、後述するループフィルタ設定部106、予測部120などを制御する。
Hereinafter, embodiments will be described with reference to the drawings. In the following description, the term “image” can be appropriately replaced with terms such as “image signal” and “image data”.
(First embodiment)
As illustrated in FIG. 1, the moving image encoding apparatus according to the first embodiment includes an encoding unit 100 and an encoding control unit 140. The encoding unit 100 encodes the input image 11 to generate encoded data. The encoding control unit 140 controls various elements in the encoding unit 100. For example, the encoding control unit 140 controls a loop filter setting unit 106, a prediction unit 120, and the like which will be described later.
 符号化部100は、減算部101、変換/量子化部102、エントロピー符号化部103、逆量子化/逆変換部104、加算部105、ループフィルタ設定部106、参照画像バッファ部107、スケーリング情報バッファ部108、ループフィルタ部110、予測部120及び動きベクトル生成部130を含む。 The encoding unit 100 includes a subtraction unit 101, a transform / quantization unit 102, an entropy encoding unit 103, an inverse quantization / inverse transform unit 104, an addition unit 105, a loop filter setting unit 106, a reference image buffer unit 107, scaling information. A buffer unit 108, a loop filter unit 110, a prediction unit 120, and a motion vector generation unit 130 are included.
 減算部101は、予測部120からの予測画像を入力画像11から減算し、予測誤差を得る。変換/量子化部102は、減算部101からの予測誤差に対して変換(例えば、離散コサイン変換(DCT)など)及び量子化を行って、量子化された変換係数の情報(以下、単に量子化変換係数と称する)を得る。 The subtraction unit 101 subtracts the prediction image from the prediction unit 120 from the input image 11 to obtain a prediction error. The transform / quantization unit 102 performs transform (for example, discrete cosine transform (DCT)) and quantization on the prediction error from the subtraction unit 101, and quantizes information on transform coefficients (hereinafter simply referred to as quantum). (Referred to as conversion coefficient).
 エントロピー符号化部103は、変換/量子化部102からの量子化変換係数と、ループフィルタ設定部106からのループフィルタ情報13と、動きベクトル生成部130からの動きベクトル情報とに対してエントロピー符号化を行う。尚、エントロピー符号化部103は、これらとは別の情報(例えば、予測モード情報)を更にエントロピー符号化してもよい。エントロピー符号化の種別は、例えば、可変長符号化、算術符号化などである。エントロピー符号化部103は、エントロピー符号化によって得られる符号化データを外部に出力する。 The entropy coding unit 103 performs entropy coding on the quantized transform coefficient from the transform / quantization unit 102, the loop filter information 13 from the loop filter setting unit 106, and the motion vector information from the motion vector generation unit 130. Do. The entropy encoding unit 103 may further entropy encode information other than these (for example, prediction mode information). The type of entropy encoding is, for example, variable length encoding or arithmetic encoding. The entropy encoding unit 103 outputs encoded data obtained by entropy encoding to the outside.
 逆量子化/逆変換部104は、変換/量子化部102からの量子化変換係数に対して逆量子化及び逆変換(例えば、逆離散コサイン変換(IDCT)など)を行って、予測誤差を復元する。加算部105は、逆量子化/逆変換部104によって復元された予測誤差と、予測部120からの対応する予測画像とを加算し、局所復号画像12を生成する。 The inverse quantization / inverse transform unit 104 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the transform / quantization unit 102, thereby reducing a prediction error. Restore. The addition unit 105 adds the prediction error restored by the inverse quantization / inverse conversion unit 104 and the corresponding prediction image from the prediction unit 120 to generate the local decoded image 12.
 ループフィルタ設定部106は、入力画像11と、加算部105からの対応する局所復号画像12とに基づいてループフィルタ情報13を設定し、ループフィルタ部110及びエントロピー符号化部103に通知する。ループフィルタ情報13は、フィルタ係数情報及びフィルタ切り替え情報を少なくとも含む。フィルタ係数情報は、フィルタ係数を示す情報を含む。また、フィルタ係数情報は、後述するオフセット係数を示す情報を更に含んでもよい。フィルタ切り替え情報は、フィルタ適用の有効/無効を示す情報を含む。 The loop filter setting unit 106 sets the loop filter information 13 based on the input image 11 and the corresponding local decoded image 12 from the addition unit 105 and notifies the loop filter unit 110 and the entropy encoding unit 103. The loop filter information 13 includes at least filter coefficient information and filter switching information. The filter coefficient information includes information indicating the filter coefficient. The filter coefficient information may further include information indicating an offset coefficient described later. The filter switching information includes information indicating validity / invalidity of filter application.
 ループフィルタ部110は、ループフィルタ設定部106からのループフィルタ情報13に従って、加算部105からの局所復号画像12内の対象画素群に対して、フィルタ処理またはフィルタ処理を経由しないバイパス処理を行う。そして、ループフィルタ部110は、フィルタ処理結果群またはバイパス処理結果群(即ち、対象画素群そのもの)に対して後述するスケーリング処理を行って画素ビット長を縮小する(または、維持する)。ループフィルタ部110は、このスケーリング処理結果群をスケーリングされた参照画素群14として参照画像バッファ部107に供給する。また、ループフィルタ部110は、このスケーリング処理に関するスケーリング情報15をスケーリング情報バッファ部108に供給する。尚、ループフィルタ部110の詳細は、後述される。 The loop filter unit 110 performs a filtering process or a bypass process that does not go through the filtering process on the target pixel group in the local decoded image 12 from the adding unit 105 according to the loop filter information 13 from the loop filter setting unit 106. Then, the loop filter unit 110 reduces (or maintains) the pixel bit length by performing a scaling process described later on the filter processing result group or the bypass processing result group (that is, the target pixel group itself). The loop filter unit 110 supplies the scaling processing result group to the reference image buffer unit 107 as the scaled reference pixel group 14. Further, the loop filter unit 110 supplies the scaling information 15 regarding the scaling process to the scaling information buffer unit 108. Details of the loop filter unit 110 will be described later.
 参照画像バッファ部107は、ループフィルタ部110からのスケーリングされた参照画素群14を蓄積する。スケーリング情報バッファ部108は、参照画像バッファ部107と同期しながら、スケーリングされた参照画素群14に対応するスケーリング情報15を蓄積する。参照画像バッファ部107に蓄積された参照画素群14と、スケーリング情報バッファ部108に蓄積されたスケーリング情報15とは、予測部120または動きベクトル生成部130によって必要に応じて読み出される。 The reference image buffer unit 107 stores the scaled reference pixel group 14 from the loop filter unit 110. The scaling information buffer unit 108 accumulates scaling information 15 corresponding to the scaled reference pixel group 14 in synchronization with the reference image buffer unit 107. The reference pixel group 14 accumulated in the reference image buffer unit 107 and the scaling information 15 accumulated in the scaling information buffer unit 108 are read by the prediction unit 120 or the motion vector generation unit 130 as necessary.
 動きベクトル生成部130は、必要に応じて参照画像バッファ部107及びスケーリング情報バッファ部108からスケーリングされた参照画素群及びスケーリング情報を夫々読み出す。動きベクトル生成部130は、スケーリングされた参照画素群に対して画素ビット長を拡張する(または、維持する)逆スケーリングを、スケーリング情報に従って適用して参照画像を復元する。動きベクトル生成部130は、入力画像11及び復元した参照画像に基づいて動きベクトル情報を生成する。動きベクトル生成部130は、動きベクトル情報を予測部120及びエントロピー符号化部103に通知する。尚、逆スケーリング処理の詳細は、後述される。 The motion vector generation unit 130 reads the scaled reference pixel group and the scaling information from the reference image buffer unit 107 and the scaling information buffer unit 108 as necessary. The motion vector generation unit 130 applies inverse scaling that extends (or maintains) the pixel bit length to the scaled reference pixel group according to the scaling information to restore the reference image. The motion vector generation unit 130 generates motion vector information based on the input image 11 and the restored reference image. The motion vector generation unit 130 notifies the prediction unit 120 and the entropy encoding unit 103 of the motion vector information. Details of the inverse scaling process will be described later.
 予測部120は、必要に応じて参照画像バッファ部107及びスケーリング情報バッファ部108からスケーリングされた参照画素群及びスケーリング情報を夫々読み出す。予測部120は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを、スケーリング情報に従って適用して参照画像を復元する。予測部120は、動きベクトル生成部130からの動きベクトル情報及び復元した参照画像に基づいて予測画像を生成する。予測部120は、予測画像を減算部101及び加算部105に供給する。 The prediction unit 120 reads the scaled reference pixel group and the scaling information from the reference image buffer unit 107 and the scaling information buffer unit 108 as necessary. The prediction unit 120 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information. The prediction unit 120 generates a prediction image based on the motion vector information from the motion vector generation unit 130 and the restored reference image. The prediction unit 120 supplies the predicted image to the subtraction unit 101 and the addition unit 105.
 以下、図3を用いてループフィルタ部110の詳細を説明する。 
 ループフィルタ部110は、スイッチ111、フィルタ処理/スケーリング処理部112及びスケーリング処理部113を含む。尚、図3は、ループフィルタ部110を例示しているに過ぎない。例えば、ループフィルタ部110は、フィルタ処理/スケーリング処理部112と異なるフィルタ処理/スケーリング処理部(図示しない)を1つまたは複数備えることもできる。また、スイッチ111の選択数は、ループフィルタ部110の構成に応じて3以上に変更することもできる。
The details of the loop filter unit 110 will be described below with reference to FIG.
The loop filter unit 110 includes a switch 111, a filter processing / scaling processing unit 112, and a scaling processing unit 113. Note that FIG. 3 only illustrates the loop filter unit 110. For example, the loop filter unit 110 may include one or a plurality of filter processing / scaling processing units (not shown) different from the filter processing / scaling processing unit 112. The number of switches 111 selected can be changed to 3 or more according to the configuration of the loop filter unit 110.
 スイッチ111は、ループフィルタ情報13に従って、局所復号画像12に含まれる対象画素群の出力先を選択する。簡潔な例として、スイッチ111は、ループフィルタ情報13が対象画素群のフィルタ適用の有効を示すならば、この対象画素群をフィルタ処理/スケーリング処理部112に導く。一方、スイッチ111は、ループフィルタ情報13が対象画素群のフィルタ適用の無効を示すならば、この対象画素群をスケーリング処理部113に導く。例えば、図4に示すように、局所復号画像12内では、可変(固定であってもよい)サイズの画素群(例えば、ブロック)の夫々に対してフィルタ適用の有効(On)/無効(Off)を示すフィルタ切り替え情報が設定されている。これら画素群は、図4において全て矩形で示されているが、設計次第で形状を変更してもよい。各画素群のフィルタ切り替え情報は、前述のフィルタ設定部106によって設定されており、ループフィルタ情報13を介して参照可能である。 The switch 111 selects the output destination of the target pixel group included in the local decoded image 12 according to the loop filter information 13. As a simple example, the switch 111 guides the target pixel group to the filter processing / scaling processing unit 112 if the loop filter information 13 indicates that the filter application of the target pixel group is valid. On the other hand, if the loop filter information 13 indicates that the filter application of the target pixel group is invalid, the switch 111 guides the target pixel group to the scaling processing unit 113. For example, as shown in FIG. 4, in the locally decoded image 12, the filter application is valid (On) / invalid (Off) for each pixel group (for example, a block) of variable (may be fixed) size. Filter switching information indicating () is set. These pixel groups are all shown as rectangles in FIG. 4, but their shapes may be changed depending on the design. The filter switching information of each pixel group is set by the filter setting unit 106 described above and can be referred to via the loop filter information 13.
 フィルタ処理/スケーリング処理部112は、ループフィルタ情報13に従って、対象画素群にフィルタ処理を行う。そして、フィルタ処理/スケーリング処理部112は、フィルタ処理結果群の分布(例えば、ダイナミックレンジ)に基づいてスケーリング情報15を導出し、フィルタ処理結果群に対して画素ビット長を縮小するスケーリングをスケーリング情報15に従って適用してスケーリングされた参照画素群14を生成する。尚、フィルタ処理/スケーリング処理部112の動作の詳細は、後述される。 The filter processing / scaling processing unit 112 performs filter processing on the target pixel group according to the loop filter information 13. Then, the filter processing / scaling processing unit 112 derives scaling information 15 based on the distribution (for example, dynamic range) of the filter processing result group, and performs scaling information for reducing the pixel bit length with respect to the filter processing result group. 15 is applied to generate a scaled reference pixel group 14. Details of the operation of the filter processing / scaling processing unit 112 will be described later.
 スケーリング処理部113は、対象画素群の分布(例えば、ダイナミックレンジ)に基づいてスケーリング情報15を導出し、対象画素群に対して画素ビット長を縮小するスケーリングをスケーリング情報15に従って適用してスケーリングされた参照画素群14を生成する。尚、スケーリング処理部113の動作の詳細は、後述される。 The scaling processing unit 113 derives scaling information 15 based on the distribution (for example, dynamic range) of the target pixel group, and is scaled by applying scaling for reducing the pixel bit length to the target pixel group according to the scaling information 15. The reference pixel group 14 is generated. Details of the operation of the scaling processing unit 113 will be described later.
 以下、図5を用いてフィルタ処理/スケーリング処理部112の動作の詳細を説明する。 
 フィルタ処理/スケーリング処理部112は、ループフィルタ情報13に含まれるフィルタ係数情報に従って、対象画素群に対して畳み込み演算(フィルタ演算)を実行する(ステップS112-1)。具体的には、フィルタ係数をF[n]、対象画素群の画素値をP[m]、畳み込み演算結果をB[m]で表すと、フィルタ処理/スケーリング処理部112は、次の数式(1)に従う畳み込み演算を行う。
Figure JPOXMLDOC01-appb-M000001
Details of the operation of the filter processing / scaling processing unit 112 will be described below with reference to FIG.
The filter processing / scaling processing unit 112 performs a convolution operation (filter operation) on the target pixel group in accordance with the filter coefficient information included in the loop filter information 13 (step S112-1). Specifically, when the filter coefficient is represented by F [n], the pixel value of the target pixel group is represented by P [m], and the convolution calculation result is represented by B [m], the filter processing / scaling processing unit 112 represents the following formula ( Perform the convolution operation according to 1).
Figure JPOXMLDOC01-appb-M000001
 尚、数式(1)においてOはオフセット係数を表す。オフセット係数は、フィルタ係数情報を介して参照することができる。フィルタ係数F[n]の総和は、2と略等しい値になるように設計されているとする。また、対象画素群の画素ビット長をTビットとする。フィルタ処理/スケーリング処理部112は、このような畳み込み演算を対象画素群の各画素に行い、畳み込み演算結果群を得る。 In Equation (1), O represents an offset coefficient. The offset coefficient can be referred to through the filter coefficient information. The sum of the filter coefficient F [n] is assumed to be designed to be substantially equal to the 2 K. Further, the pixel bit length of the target pixel group is assumed to be T bits. The filter processing / scaling processing unit 112 performs such a convolution operation on each pixel of the target pixel group to obtain a convolution operation result group.
 次に、フィルタ処理/スケーリング処理部112は、対象画素群の畳み込み演算結果群の最大値Max及び最小値Minを探索する(ステップS112-2)。但し、最大値Maxの値の上限を2K+T-1とする。即ち、最大値Maxの値が2K+T-1を超えるならば、最大値Maxを2K+T-1として取り扱う。 Next, the filter processing / scaling processing unit 112 searches for the maximum value Max and the minimum value Min of the convolution calculation result group of the target pixel group (step S112-2). However, the upper limit of the maximum value Max is 2 K + T −1. That is, if the value of the maximum value Max exceeds 2 K + T −1, the maximum value Max is handled as 2 K + T −1.
 次に、フィルタ処理/スケーリング処理部112は、対象画素群のスケーリング情報15を導出する(ステップS112-3)。具体的には、フィルタ処理/スケーリング処理部112は、次の数式(2)に従って、最小値MinをSビットだけ算術右シフトすることによって、最小基準値MinPointを導出する。 
Figure JPOXMLDOC01-appb-M000002
Next, the filter processing / scaling processing unit 112 derives the scaling information 15 of the target pixel group (step S112-3). Specifically, the filtering / scaling processing unit 112 derives the minimum reference value MinPoint by arithmetically shifting the minimum value Min by S bits to the right according to the following equation (2).
Figure JPOXMLDOC01-appb-M000002
 ここで、Sは、次の数式(3)によって表される。
Figure JPOXMLDOC01-appb-M000003
Here, S is represented by the following formula (3).
Figure JPOXMLDOC01-appb-M000003
 ここで、Lは、参照画像バッファ部107に適用される画素ビット長を表す。尚、参照画像バッファ部107の画素ビット長Lは、対象画素群の画素ビット長T以下であるとする。即ち、最小基準値MinPointは、最小値MinをLビットに丸めた値である。 Here, L represents a pixel bit length applied to the reference image buffer unit 107. It is assumed that the pixel bit length L of the reference image buffer unit 107 is equal to or less than the pixel bit length T of the target pixel group. That is, the minimum reference value MinPoint is a value obtained by rounding the minimum value Min to L bits.
 また、フィルタ処理/スケーリング処理部112は、次の演算(4)を実行することによって、スケーリング量Qを導出する。尚、演算(4)は、C言語に従って記述されているが、その他のプログラミング言語に従って同様の内容の演算を記述することも可能である。
Figure JPOXMLDOC01-appb-M000004
The filter processing / scaling processing unit 112 derives the scaling amount Q by executing the following calculation (4). The operation (4) is described according to the C language, but an operation having the same content can be described according to other programming languages.
Figure JPOXMLDOC01-appb-M000004
 スケーリング量Qは、0からSまでのいずれかの整数値を取り得る。以上のように導出された最小基準値MinPoint及びスケーリング量Qは、スケーリング情報15としてスケーリング情報バッファ部108に供給される。スケーリング情報15を効率的に記述する方法の一例を説明する。スケーリング情報15は、QがSと等しいが否かを示す1ビットのフラグ情報を有する。QとSが等しくない(すなわちスケーリングフラグ情報がOFFである)場合には、さらにスケーリング量Qの値(1以上S以下)と最小基準値MinPointの値を有する。QがSと等しい(すなわちスケーリングフラグ情報がONである)場合には、最小基準値MinPointは0であると解釈される。 The scaling amount Q can take any integer value from 0 to S. The minimum reference value MinPoint and the scaling amount Q derived as described above are supplied to the scaling information buffer unit 108 as scaling information 15. An example of a method for efficiently describing the scaling information 15 will be described. The scaling information 15 has 1-bit flag information indicating whether Q is equal to S or not. When Q and S are not equal (that is, the scaling flag information is OFF), it further has a value of scaling amount Q (1 or more and S or less) and a value of minimum reference value MinPoint. If Q is equal to S (ie, the scaling flag information is ON), the minimum reference value MinPoint is interpreted as 0.
 また、スケーリング情報量15のオーバヘッドが問題となる場合には、演算(4)を変形した以下の演算(5)によってスケーリング量Qを求める方法もある。
Figure JPOXMLDOC01-appb-M000005
Further, when the overhead of the scaling information amount 15 becomes a problem, there is a method for obtaining the scaling amount Q by the following calculation (5) obtained by modifying the calculation (4).
Figure JPOXMLDOC01-appb-M000005
 演算(5)は、QがSと等しい場合にはTビットの対象画素群をLビットにスケーリングする処理である。一方、演算(5)は、QとSが等しくない場合にはTビットの対象画素群をL-1ビットにスケーリングする処理である。参照画素群がL-1ビットになるので、スケーリング情報15の増加分を相殺することが可能となる。 Operation (5) is a process of scaling the T-bit target pixel group to L bits when Q is equal to S. On the other hand, the operation (5) is a process of scaling the T-bit target pixel group to L−1 bits when Q and S are not equal. Since the reference pixel group is L−1 bits, it is possible to cancel the increase in the scaling information 15.
 尚、本実施形態において、上記最小基準値MinPointを最大値Maxに基づく最大基準値MaxPointに置換することも可能である。このような置換を実現するためには、本実施形態における各種数式及び演算を適宜読み替えればよい。 In the present embodiment, the minimum reference value MinPoint can be replaced with a maximum reference value MaxPoint based on the maximum value Max. In order to realize such replacement, various formulas and calculations in the present embodiment may be appropriately read.
 また、逆スケーリング処理においてパラメータKの値を参照するために、フィルタ切り替え情報またはこれと類似の情報(例えば、パラメータKの値そのもの)が必要とされるので、このような情報もスケーリング情報15に含まれてよい。或いは、このような情報はループフィルタ情報13を介して参照できるので、ループフィルタ情報13が逆スケーリング処理を行う各要素に通知されてもよい。尚、以降の説明では、フィルタ切り替え情報が、スケーリング情報15に含まれているとする。また、スケーリング処理、逆スケーリング処理を行う単位は、符号化側と復号化側で共通の単位になっていればよい。本実施形態では、スケーリング処理及びフィルタリング処理の単位は、フィルタ切り替え情報が設定される単位に対応する。スケーリング処理及びフィルタリング処理の単位は、対象画素群の単位と同じか、より小さい複数の対象画素群の単位になっていてもよい。例えば、図4のような可変ブロックの場合、処理の単位で最も小さなブロックサイズを全ての対象画素群の単位としてもよい。 In addition, in order to refer to the value of the parameter K in the inverse scaling process, filter switching information or information similar thereto (for example, the value of the parameter K itself) is required. May be included. Alternatively, since such information can be referred to via the loop filter information 13, the loop filter information 13 may be notified to each element that performs inverse scaling processing. In the following description, it is assumed that the filter switching information is included in the scaling information 15. The unit for performing the scaling process and the inverse scaling process only needs to be a common unit on the encoding side and the decoding side. In the present embodiment, the unit of scaling processing and filtering processing corresponds to the unit in which filter switching information is set. The unit of the scaling process and the filtering process may be the unit of a plurality of target pixel groups that are the same as or smaller than the unit of the target pixel group. For example, in the case of a variable block as shown in FIG. 4, the smallest block size in processing units may be used as the unit of all target pixel groups.
 次に、フィルタ処理/スケーリング処理部112は、導出したフィルタ情報15に従って、各畳み込み演算結果にスケーリングを適用する(ステップS112-4)。具体的には、フィルタ処理/スケーリング処理部112は、次の数式(6)に従って、スケーリングされた参照画素群の各画素値D[m]を生成する。 
Figure JPOXMLDOC01-appb-M000006
Next, the filter processing / scaling processing unit 112 applies scaling to each convolution calculation result according to the derived filter information 15 (step S112-4). Specifically, the filter processing / scaling processing unit 112 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (6).
Figure JPOXMLDOC01-appb-M000006
 Clip1(x)はxを0から2-1までの値に丸めるクリッピング関数を表す。また、数式(6)内のoffsetは、条件演算子(三項演算子)「?:」を用いる次の演算(7)によって得られる。
Figure JPOXMLDOC01-appb-M000007
Clip1 (x) represents a clipping function that rounds x to a value between 0 and 2 L −1. The offset in the equation (6) is obtained by the following calculation (7) using the conditional operator (ternary operator) “?:”.
Figure JPOXMLDOC01-appb-M000007
 以上のように生成されたスケーリングされた参照画素群は、参照画像バッファ部107に供給される。フィルタ処理/スケーリング処理部112の動作によって、対象画素群のフィルタ処理結果群の画素ビット長(=およそ(K+T)≧L)が、フィルタ処理の後にLビットに縮小される。 The scaled reference pixel group generated as described above is supplied to the reference image buffer unit 107. By the operation of the filter processing / scaling processing unit 112, the pixel bit length (= approximately (K + T) ≧ L) of the filter processing result group of the target pixel group is reduced to L bits after the filter processing.
 以下、図6を用いてスケーリング処理部113の動作の詳細を説明する。 
 スケーリング処理部113は、対象画素群の最大値Max及び最小値Minを探索する(ステップS113-1)。次に、スケーリング処理部113は、対象画素群のスケーリング情報15を導出する(ステップS113-2)。具体的には、スケーリング処理部113は、数式(2)に従って、最小値MinをSビットだけ算術右シフトすることによって、最小基準値MinPointを導出する。但し、スケーリング処理部113の動作において、K=0として取り扱われる。即ち、Sは次の数式(8)に従って導出される。
Figure JPOXMLDOC01-appb-M000008
Details of the operation of the scaling processing unit 113 will be described below with reference to FIG.
The scaling processing unit 113 searches for the maximum value Max and the minimum value Min of the target pixel group (step S113-1). Next, the scaling processing unit 113 derives the scaling information 15 of the target pixel group (step S113-2). Specifically, the scaling processing unit 113 derives the minimum reference value MinPoint by arithmetically shifting the minimum value Min by S bits to the right according to Equation (2). However, in the operation of the scaling processing unit 113, K = 0 is handled. That is, S is derived according to the following formula (8).
Figure JPOXMLDOC01-appb-M000008
 また、スケーリング処理部113は、演算(4)或いは演算(5)を実行することによって、スケーリング量Qを導出する。以上のように導出された最小基準値MinPoint及びスケーリング量Qは、スケーリング情報15としてスケーリング情報バッファ部108に供給される。 Also, the scaling processing unit 113 derives the scaling amount Q by executing the calculation (4) or the calculation (5). The minimum reference value MinPoint and the scaling amount Q derived as described above are supplied to the scaling information buffer unit 108 as scaling information 15.
 次に、スケーリング処理部113は、導出したフィルタ情報15に従って、対象画素群の各画素値にスケーリングを適用する(ステップS113-3)。具体的には、スケーリング処理部113は、次の数式(9)に従って、スケーリングされた参照画素群の各画素値D[m]を生成する。
Figure JPOXMLDOC01-appb-M000009
Next, the scaling processing unit 113 applies scaling to each pixel value of the target pixel group in accordance with the derived filter information 15 (step S113-3). Specifically, the scaling processing unit 113 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (9).
Figure JPOXMLDOC01-appb-M000009
 数式(9)内のoffsetは、演算(7)によって得られる。以上のように生成されたスケーリングされた参照画素群が、参照画像バッファ部107に供給される。スケーリング処理部113の動作によって、対象画素群の画素ビット長(=T≧L)は、Lビットに縮小される。 Offset in formula (9) is obtained by calculation (7). The scaled reference pixel group generated as described above is supplied to the reference image buffer unit 107. By the operation of the scaling processing unit 113, the pixel bit length (= T ≧ L) of the target pixel group is reduced to L bits.
 以下、一例として予測部120における逆スケーリング処理の詳細を説明する。尚、予測部120と実質的に同一または類似の逆スケーリング処理が動きベクトル生成部130においても行われる。図7に示すように、予測部120は、逆スケーリング処理部121及び予測画像生成部122を含む。逆スケーリング処理部121は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを、スケーリング情報に従って適用して参照画像を復元する。予測画像生成部220は、動きベクトル情報及び復元した参照画像に基づいて予測画像を生成する。 Hereinafter, details of the inverse scaling process in the prediction unit 120 will be described as an example. Note that the inverse scaling process substantially the same as or similar to that of the prediction unit 120 is also performed in the motion vector generation unit 130. As illustrated in FIG. 7, the prediction unit 120 includes an inverse scaling processing unit 121 and a predicted image generation unit 122. The inverse scaling processing unit 121 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information. The predicted image generation unit 220 generates a predicted image based on the motion vector information and the restored reference image.
 以下、図8を用いて逆スケーリング処理部121の動作の詳細を説明する。 
 逆スケーリング処理部121は、所望の(即ち、予測画像の生成に必要な)スケーリングされた参照画素群及び対応するスケーリング情報を参照画像バッファ部107及びスケーリング情報バッファ部108から夫々取得する(ステップS121-1)。具体的には、逆スケーリング処理部121は、スケーリングされた参照画素群の各画素値D[m]と、最小基準値MinPointと、スケーリング量Qと、フィルタ切り替え情報とを取得する。逆スケーリング処理部121は、フィルタ切り替え情報を参照し、フィルタ適用が有効であればパラメータKにフィルタ処理に応じた所定値を設定し、フィルタ適用が無効であればパラメータKに0を設定する。
Details of the operation of the inverse scaling processing unit 121 will be described below with reference to FIG.
The inverse scaling processing unit 121 obtains a desired reference pixel group (that is, necessary for generating a predicted image) and corresponding scaling information from the reference image buffer unit 107 and the scaling information buffer unit 108, respectively (step S121). -1). Specifically, the inverse scaling processing unit 121 acquires each pixel value D [m] of the scaled reference pixel group, the minimum reference value MinPoint, the scaling amount Q, and the filter switching information. The inverse scaling processing unit 121 refers to the filter switching information, sets a predetermined value corresponding to the filter processing to the parameter K if the filter application is valid, and sets 0 to the parameter K if the filter application is invalid.
 次に、逆スケーリング処理部121は、参照画素群に対して画素ビット長を拡張する逆スケーリングをスケーリング情報に従って適用する(ステップS121-2)。具体的には、逆スケーリング処理後の画素ビット長をUビットとしてQ-K-T+U≧0が成立するならば、逆スケーリング処理部121は次の数式(10)に従って逆スケーリングを適用する。 
Figure JPOXMLDOC01-appb-M000010
Next, the inverse scaling processing unit 121 applies inverse scaling for extending the pixel bit length to the reference pixel group according to the scaling information (step S121-2). Specifically, if QKT−U ≧ 0 is satisfied with the pixel bit length after the inverse scaling process as U bits, the inverse scaling processing unit 121 applies inverse scaling according to the following equation (10).
Figure JPOXMLDOC01-appb-M000010
 一方、Q-K-T+U≧0が成立しないならば、逆スケーリング処理部121は次の数式(11)に従って逆スケーリングを適用する。 
Figure JPOXMLDOC01-appb-M000011
On the other hand, if Q−K−T + U ≧ 0 does not hold, the inverse scaling processing unit 121 applies inverse scaling according to the following equation (11).
Figure JPOXMLDOC01-appb-M000011
 ここで、offset2は、以下の演算(12)で計算される。 
Figure JPOXMLDOC01-appb-M000012
Here, offset2 is calculated by the following calculation (12).
Figure JPOXMLDOC01-appb-M000012
 G[m]は、復元された参照画素群の各画素値を表す。逆スケーリング処理部121の動作によって、スケーリングされた参照画素群の画素ビット長(=L≦U)が、Uビットに拡張される。 G [m] represents each pixel value of the restored reference pixel group. By the operation of the inverse scaling processing unit 121, the pixel bit length (= L ≦ U) of the scaled reference pixel group is expanded to U bits.
 上述したように、本実施形態では対象画素群の分布に基づく適応的なスケーリング・逆スケーリング処理が行われる。このようなスケーリング・逆スケーリング処理を行うことにより、スケーリング前の値B[m]或いはP[m]を四捨五入でLビットに丸めた値が、逆スケーリング後の値G[m]を四捨五入でLビットに丸めた値と、同じ値になることが保証される。B[m]或いはP[m]を固定的にLビットに四捨五入でLビットに丸めることにより逆スケーリング後の値G[m]を生成する方式に比べて、本実施形態の処理により得られる逆スケーリング後の値G[m]は精度が高い。 As described above, in this embodiment, adaptive scaling / inverse scaling processing based on the distribution of the target pixel group is performed. By performing such scaling / inverse scaling processing, the value B [m] or P [m] before scaling is rounded to L bits, and the value G [m] after inverse scaling is rounded to L It is guaranteed to be the same value as the value rounded to bits. Compared to the method of generating the value G [m] after inverse scaling by rounding to L bits by rounding B [m] or P [m] to L bits fixedly, the inverse obtained by the processing of this embodiment The value G [m] after scaling has high accuracy.
 以上説明したように、第1の実施形態に係る動画像符号化装置は、参照画像バッファ部の前後においてスケーリング処理及び逆スケーリング処理を夫々行うことにより、参照画像バッファ部に適用される画素ビット長を他の内部処理(予測処理、フィルタ処理など)に適用される画素ビット長に比べて小さく抑えている。従って、本実施形態に係る動画像符号化装置によれば、より大きな画素ビット長を適用して高精度な予測処理、フィルタ処理などを実現しつつ、参照画像バッファ部に適用される画素ビット長を小さく抑えることが可能となる。 As described above, the video encoding apparatus according to the first embodiment performs the scaling process and the inverse scaling process before and after the reference image buffer unit, respectively, so that the pixel bit length applied to the reference image buffer unit Is smaller than the pixel bit length applied to other internal processing (prediction processing, filter processing, etc.). Therefore, according to the video encoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small.
 図2に示すように、本実施形態に係る動画像復号化装置は、復号化部200及び復号化制御部240を有する。復号化部200は、符号化データを復号化して出力画像26を生成する。復号化制御部240は、復号化部200内の種々の要素を制御する。例えば、復号化制御部240は、後述する予測部220などを制御する。尚、図2の動画像復号化装置におけるスケーリング処理及び逆スケーリング処理は、図1の動画像符号化装置におけるスケーリング処理及び逆スケーリング処理と実質的に同一または類似なので、詳細な説明を省略する。 As shown in FIG. 2, the moving picture decoding apparatus according to the present embodiment includes a decoding unit 200 and a decoding control unit 240. The decoding unit 200 generates the output image 26 by decoding the encoded data. The decoding control unit 240 controls various elements in the decoding unit 200. For example, the decoding control unit 240 controls the prediction unit 220 described later. Note that the scaling process and the inverse scaling process in the moving picture decoding apparatus in FIG. 2 are substantially the same as or similar to the scaling process and the inverse scaling process in the moving picture encoding apparatus in FIG.
 復号化部200は、エントロピー復号化部201、逆量子化/逆変換部202、加算部203、ループフィルタ部210、参照画像バッファ部204、スケーリング情報バッファ部205、予測部220及びビット長正規化部230を含む。 The decoding unit 200 includes an entropy decoding unit 201, an inverse quantization / inverse conversion unit 202, an addition unit 203, a loop filter unit 210, a reference image buffer unit 204, a scaling information buffer unit 205, a prediction unit 220, and a bit length normalization. Part 230.
 エントロピー復号化部201は、例えば図1の動画像符号化装置によって生成された符号化データに対してシンタクス情報に従ってエントロピー復号化を行う。エントロピー復号化部201は、復号化された量子化変換係数を逆量子化/逆変換部202に供給し、復号化された動きベクトル情報を予測部220に供給し、復号化されたループフィルタ情報23をループフィルタ部210に供給する。 The entropy decoding unit 201 performs entropy decoding according to syntax information on encoded data generated by, for example, the moving image encoding apparatus in FIG. The entropy decoding unit 201 supplies the decoded quantized transform coefficient to the inverse quantization / inverse transform unit 202, supplies the decoded motion vector information to the prediction unit 220, and decodes the decoded loop filter information. 23 is supplied to the loop filter unit 210.
 逆量子化/逆変換部202及び加算部203は、前述の逆量子化/逆変換部104及び加算部105と実質的に同一または類似の要素である。即ち、逆量子化/逆変換部202は、エントロピー復号化部201からの量子化変換係数に対して逆量子化及び逆変換(例えば、逆離散コサイン変換(IDCT)など)を行って、予測誤差を復元する。加算部203は、逆量子化/逆変換部202によって復元された予測誤差と、予測部220からの対応する予測画像とを加算し、復号画像22を生成する。 The inverse quantization / inverse transformation unit 202 and the addition unit 203 are substantially the same or similar elements as the inverse quantization / inverse transformation unit 104 and the addition unit 105 described above. That is, the inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 201 to generate a prediction error. To restore. The adding unit 203 adds the prediction error restored by the inverse quantization / inverse transform unit 202 and the corresponding prediction image from the prediction unit 220 to generate a decoded image 22.
 ループフィルタ部210は、前述のループフィルタ部110と実質的に同一または類似の要素である。即ち、ループフィルタ部210は、エントロピー復号化部201からのループフィルタ情報23に従って、加算部203からの復号画像22内の対象画素群に対して、フィルタ処理またはフィルタ処理を経由しないバイパス処理を行う。そして、ループフィルタ部210は、フィルタ処理結果群またはバイパス処理結果群(即ち、対象画素群)に対して前述のスケーリング処理を行って画素ビット長を縮小する。ループフィルタ部210は、このスケーリング処理結果群をスケーリングされた参照画素群24として参照画像バッファ部204に供給する。また、ループフィルタ部210は、このスケーリング処理に関するスケーリング情報25をスケーリング情報バッファ部205に供給する。尚、ループフィルタ部210は前述のループフィルタ部110と実質的に同一または類似の要素であるので、これの詳細な説明は省略する。 The loop filter unit 210 is substantially the same as or similar to the loop filter unit 110 described above. In other words, the loop filter unit 210 performs a filtering process or a bypass process that does not go through the filtering process on the target pixel group in the decoded image 22 from the adding unit 203 according to the loop filter information 23 from the entropy decoding unit 201. . Then, the loop filter unit 210 performs the above-described scaling processing on the filter processing result group or the bypass processing result group (that is, the target pixel group) to reduce the pixel bit length. The loop filter unit 210 supplies the scaling processing result group to the reference image buffer unit 204 as the scaled reference pixel group 24. In addition, the loop filter unit 210 supplies the scaling information 25 regarding the scaling processing to the scaling information buffer unit 205. The loop filter unit 210 is substantially the same as or similar to the loop filter unit 110 described above, and a detailed description thereof will be omitted.
 参照画像バッファ部204は、ループフィルタ部210からのスケーリングされた参照画素群24を蓄積する。スケーリング情報バッファ部205は、参照画像バッファ部204と同期しながら、スケーリングされた参照画素群24に対応するスケーリング情報25を蓄積する。参照画像バッファ部204に蓄積された参照画素群24と、スケーリング情報バッファ部205に蓄積されたスケーリング情報25とは、予測部220またはビット長正規化部230によって必要に応じて読み出される。例えば、ビット長正規化部230は、出力画像26の生成のために、表示順序に従って所望の(即ち、出力画像26の生成に必要な)参照画素群及び対応するスケーリング情報を読み出す。 The reference image buffer unit 204 stores the scaled reference pixel group 24 from the loop filter unit 210. The scaling information buffer unit 205 accumulates scaling information 25 corresponding to the scaled reference pixel group 24 while synchronizing with the reference image buffer unit 204. The reference pixel group 24 accumulated in the reference image buffer unit 204 and the scaling information 25 accumulated in the scaling information buffer unit 205 are read by the prediction unit 220 or the bit length normalization unit 230 as necessary. For example, in order to generate the output image 26, the bit length normalization unit 230 reads out a desired reference pixel group (that is, necessary for generating the output image 26) and corresponding scaling information according to the display order.
 予測部220は、前述の予測部120と実質的に同一または類似の要素である。即ち、予測部220は、必要に応じて参照画像バッファ部204及びスケーリング情報バッファ部205からスケーリングされた参照画素群及びスケーリング情報を夫々読み出す。予測部220は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを、スケーリング情報に従って適用して参照画像を復元する。予測部220は、エントロピー復号化部201からの動きベクトル情報及び復元した参照画像に基づいて予測画像を生成する。予測部220は、予測画像を加算部203に供給する。 The prediction unit 220 is substantially the same or similar element as the prediction unit 120 described above. That is, the prediction unit 220 reads the scaled reference pixel group and scaling information from the reference image buffer unit 204 and the scaling information buffer unit 205, respectively, as necessary. The prediction unit 220 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information. The prediction unit 220 generates a prediction image based on the motion vector information from the entropy decoding unit 201 and the restored reference image. The prediction unit 220 supplies the predicted image to the addition unit 203.
 ビット長正規化部230は、必要に応じて参照画像バッファ部204及びスケーリング情報バッファ部205からスケーリングされた参照画素群及びスケーリング情報を夫々読み出す。ビット長正規化部230は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを、スケーリング情報に従って適用して、所望の画素ビット長U(ここで、ビット長正規化部230の動作に関する画素ビット長Uは、予測部220の動作に関する画素ビット長Uと必ずしも一致しない)に正規化された出力画像26を生成する。ビット長正規化部230は、出力画像26を外部に供給する。尚、出力画像26の画素ビット長は、例えば図1の動画像装置における入力画像11の画素ビット長と同じであってもよいし、異なっていてもよい。また、復号画像22をそのまま(ループフィルタ部210を経由させず、かつ、画素ビット長を変更させずに)出力画像26として利用する場合には、ビット長正規化部230を除去することも可能である。 The bit length normalization unit 230 reads the scaled reference pixel group and scaling information from the reference image buffer unit 204 and the scaling information buffer unit 205, respectively, as necessary. The bit length normalization unit 230 applies inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information, and obtains a desired pixel bit length U (where the bit length normalization unit 230 The pixel bit length U related to the operation of (2) does not necessarily match the pixel bit length U related to the operation of the prediction unit 220). The bit length normalization unit 230 supplies the output image 26 to the outside. Note that the pixel bit length of the output image 26 may be, for example, the same as or different from the pixel bit length of the input image 11 in the moving image apparatus of FIG. When the decoded image 22 is used as it is as the output image 26 (without passing through the loop filter unit 210 and without changing the pixel bit length), the bit length normalization unit 230 can be removed. It is.
 以上説明したように、第1の実施形態に係る動画像復号化装置は、参照画像バッファ部の前後においてスケーリング処理及び逆スケーリング処理を夫々行うことにより、参照画像バッファ部に適用される画素ビット長を他の内部処理(予測処理、フィルタ処理など)に適用される画素ビット長に比べて小さく抑えている。従って、本実施形態に係る動画像復号化装置によれば、より大きな画素ビット長を適用して高精度な予測処理、フィルタ処理などを実現しつつ、参照画像バッファ部に適用される画素ビット長を小さく抑えることが可能となる。 As described above, the moving picture decoding apparatus according to the first embodiment performs the scaling process and the inverse scaling process before and after the reference image buffer unit, so that the pixel bit length applied to the reference image buffer unit Is smaller than the pixel bit length applied to other internal processing (prediction processing, filter processing, etc.). Therefore, according to the video decoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small.
 尚、ループフィルタ部110における複数のスケーリング処理を共通のスケーリング処理部において実現することも可能である。この共通のスケーリング処理部は、個々の対象画素群に関するフィルタ切り替え情報に応じてパラメータKを設定し、対象画素群またはフィルタ処理結果群に対してスケーリングを適用する。 It should be noted that a plurality of scaling processes in the loop filter unit 110 can be realized in a common scaling processing unit. The common scaling processing unit sets a parameter K according to filter switching information regarding each target pixel group, and applies scaling to the target pixel group or the filter processing result group.
 また、予測部120及び動きベクトル生成部130における逆スケーリング処理を共通の逆スケーリング処理部において実現することも可能である。同様に、予測部220及びビット長正規化部230における逆スケーリング処理を共通の逆スケーリング処理部において実現することも可能である。これら共通の逆スケーリング処理部は、出力先に応じた画素ビット長Uを設定し、スケーリングされた参照画素群に対して逆スケーリングを適用する。 It is also possible to implement the inverse scaling processing in the prediction unit 120 and the motion vector generation unit 130 in a common inverse scaling processing unit. Similarly, the inverse scaling processing in the prediction unit 220 and the bit length normalization unit 230 can be realized in a common inverse scaling processing unit. These common inverse scaling processing units set a pixel bit length U according to the output destination, and apply inverse scaling to the scaled reference pixel group.
 (第2の実施形態) 
 図9に示すように、第2の実施形態に係る動画像符号化装置は、符号化部300及び符号化制御部140を有する。図9において図1と同一部分には同一符号を付して示しており、以下の説明では図9と図1との間で異なる部分を中心に述べる。例えば、図9の動画像復号化装置におけるスケーリング処理及び逆スケーリング処理は、図1の動画像符号化装置におけるスケーリング処理及び逆スケーリング処理と実質的に同一または類似なので、詳細な説明を省略する。
(Second Embodiment)
As illustrated in FIG. 9, the moving image encoding apparatus according to the second embodiment includes an encoding unit 300 and an encoding control unit 140. 9, parts that are the same as those in FIG. 1 are given the same reference numerals, and in the following description, different parts between FIG. 9 and FIG. 1 will be mainly described. For example, the scaling process and the inverse scaling process in the moving picture decoding apparatus in FIG. 9 are substantially the same as or similar to the scaling process and the inverse scaling process in the moving picture encoding apparatus in FIG.
 符号化部300は、入力画像11を符号化して符号化データを生成する。符号化部300は、ビット長拡張部309、減算部101、変換/量子化部102、エントロピー符号化部303、逆量子化/逆変換部104、加算部105、ループフィルタ設定部106、ループフィルタ部110、参照画像バッファ部107、スケーリング情報バッファ部108、予測部120及び動きベクトル生成部130を含む。 The encoding unit 300 encodes the input image 11 to generate encoded data. The encoding unit 300 includes a bit length extension unit 309, a subtraction unit 101, a transform / quantization unit 102, an entropy encoding unit 303, an inverse quantization / inverse transform unit 104, an addition unit 105, a loop filter setting unit 106, a loop filter Unit 110, reference image buffer unit 107, scaling information buffer unit 108, prediction unit 120, and motion vector generation unit 130.
 ビット長拡張部309は、入力画像11の画素ビット長を拡張して、減算部101、ループフィルタ設定部106及び動きベクトル生成部130に供給する。ビット長拡張部309の動作の結果、例えばループフィルタ部110及び予測部120などによる内部処理に適用される画素ビット長は入力画像11の本来の画素ビット長よりも増大する。ビット長拡張部309は、内部ビット長情報37をエントロピー符号化部303に通知する。内部ビット長情報37は、例えばビット長拡張部309による画素ビット長の拡張量を示す情報であってもよいし、符号化側と復号化側との間で予め画素ビット長の拡張量が定められているならば単に画素ビット長の拡張の有効/無効を示す情報(例えば、フラグ)であってもよい。一方、符号化側における画素ビット長の拡張が復号化側にとって既知のタイミング(例えば常時または所定の条件成立時に)で行われ、かつ、その拡張量も復号化側にとって既知であれば、ビット長拡張部309は内部ビット長情報37をエントロピー符号化部303に通知しなくてもよい。 The bit length extension unit 309 extends the pixel bit length of the input image 11 and supplies it to the subtraction unit 101, the loop filter setting unit 106, and the motion vector generation unit 130. As a result of the operation of the bit length extension unit 309, for example, the pixel bit length applied to the internal processing by the loop filter unit 110, the prediction unit 120, and the like is larger than the original pixel bit length of the input image 11. The bit length extension unit 309 notifies the internal bit length information 37 to the entropy encoding unit 303. The internal bit length information 37 may be information indicating the extension amount of the pixel bit length by the bit length extension unit 309, for example, or the extension amount of the pixel bit length is determined in advance between the encoding side and the decoding side. If it is, information (for example, a flag) indicating whether the pixel bit length extension is valid / invalid may be used. On the other hand, if the extension of the pixel bit length on the encoding side is performed at a timing known to the decoding side (for example, always or when a predetermined condition is satisfied) and the extension amount is also known to the decoding side, the bit length The extension unit 309 may not notify the entropy encoding unit 303 of the internal bit length information 37.
 エントロピー符号化部303は、前述のエントロピー符号化部103の動作に加えて、内部ビット長情報37のエントロピー符号化を必要に応じて更に行う。エントロピー符号化部303が内部ビット長情報37のエントロピー符号化を行う場合には、符号化された内部ビット長情報もまた符号化データに含まれる。 The entropy encoding unit 303 further performs entropy encoding of the internal bit length information 37 as necessary, in addition to the operation of the entropy encoding unit 103 described above. When the entropy encoding unit 303 performs entropy encoding of the internal bit length information 37, the encoded internal bit length information is also included in the encoded data.
 以上説明したように、第2の実施形態に係る動画像符号化装置は、入力画像に比べて内部画素ビット長を拡張しつつ、第1の実施形態と同様のスケーリング処理/逆スケーリング処理を採用している。従って、本実施形態に係る動画像符号化装置によれば、内部画素ビット長の拡張による更なる高精度な予測処理、フィルタ処理などを実現しつつ、参照画像バッファ部に適用される画素ビット長を小さく抑えることが可能となる。 As described above, the moving image encoding apparatus according to the second embodiment employs the same scaling process / inverse scaling process as the first embodiment while extending the internal pixel bit length compared to the input image. is doing. Therefore, according to the video encoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing further highly accurate prediction processing, filter processing, and the like by extending the internal pixel bit length. Can be kept small.
 図10に示すように、第2の実施形態に係る動画像復号化装置は、復号化部400及び復号化制御部240を有する。図10において図2と同一部分には同一符号を付して示しており、以下の説明では図10と図2との間で異なる部分を中心に述べる。例えば、図10の動画像復号化装置におけるスケーリング処理及び逆スケーリング処理は、図1の動画像符号化装置におけるスケーリング処理及び逆スケーリング処理と実質的に同一または類似なので、詳細な説明を省略する。 As illustrated in FIG. 10, the moving picture decoding apparatus according to the second embodiment includes a decoding unit 400 and a decoding control unit 240. 10, parts that are the same as those in FIG. 2 are given the same reference numerals, and in the following description, different parts between FIG. 10 and FIG. 2 will be mainly described. For example, the scaling process and the inverse scaling process in the moving picture decoding apparatus in FIG. 10 are substantially the same as or similar to the scaling process and the inverse scaling process in the moving picture encoding apparatus in FIG.
 復号化部400は、符号化データを復号化して出力画像26を生成する。復号化部400は、エントロピー復号化部401、逆量子化/逆変換部202、加算部203、ループフィルタ部210、参照画像バッファ部204、スケーリング情報バッファ部205、予測部220及びビット長正規化部430を含む。 The decoding unit 400 generates the output image 26 by decoding the encoded data. The decoding unit 400 includes an entropy decoding unit 401, an inverse quantization / inverse conversion unit 202, an addition unit 203, a loop filter unit 210, a reference image buffer unit 204, a scaling information buffer unit 205, a prediction unit 220, and a bit length normalization. Part 430.
 エントロピー復号化部401は、前述のエントロピー復号化部201の動作に加えて、符号化された内部ビット長情報のエントロピー復号化を必要に応じて更に行う。エントロピー復号化部401は、符号化された内部ビット長情報のエントロピー復号化を行う場合には、復号化された内部ビット長情報47をビット長正規化部430に通知する。 The entropy decoding unit 401 further performs entropy decoding of the encoded internal bit length information as necessary in addition to the operation of the entropy decoding unit 201 described above. When performing entropy decoding of the encoded internal bit length information, the entropy decoding unit 401 notifies the bit length normalization unit 430 of the decoded internal bit length information 47.
 ビット長正規化部430は、内部ビット長情報47が通知される場合には、この内部ビット長情報47を必要に応じて考慮しつつ、前述のビット長正規化部230と同様の動作を行って、所望の画素ビット長に正規化された出力画像26を生成する。一例として、ビット長正規化部430は、内部ビット長情報47を参照することにより符号化側における入力画像の画素ビット長を確認し、この入力画像の画素ビット長に正規化された出力画像26を生成する。 When the internal bit length information 47 is notified, the bit length normalization unit 430 performs the same operation as the above-described bit length normalization unit 230 while considering the internal bit length information 47 as necessary. Thus, the output image 26 normalized to a desired pixel bit length is generated. As an example, the bit length normalization unit 430 checks the pixel bit length of the input image on the encoding side by referring to the internal bit length information 47, and outputs the output image 26 normalized to the pixel bit length of the input image. Is generated.
 以上説明したように、第2の実施形態に係る動画像復号化装置は、符号化側の入力画像に比べて内部画素ビット長を拡張しつつ、第1の実施形態と同様のスケーリング処理/逆スケーリング処理を採用している。従って、本実施形態に係る動画像復号化装置によれば、内部画素ビット長の拡張による更なる高精度な予測処理、フィルタ処理などを実現しつつ、参照画像バッファ部に適用される画素ビット長を小さく抑えることが可能となる。 As described above, the moving picture decoding apparatus according to the second embodiment expands the internal pixel bit length as compared with the input image on the encoding side, and performs the same scaling process / inverse as in the first embodiment. Scaling processing is adopted. Therefore, according to the video decoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing further highly accurate prediction processing, filter processing, and the like by extending the internal pixel bit length. Can be kept small.
 (第3の実施形態) 
 第3の実施形態に係る動画像符号化装置は、前述の第1の実施形態に係る動画像符号化装置と実質的に類似の要素を有するものの、スケーリング処理/逆スケーリング処理の詳細において異なる。以降の説明では、図5、図6及び図8を用いて本実施形態に係るスケーリング処理/逆スケーリング処理の詳細を説明する。
(Third embodiment)
The video encoding apparatus according to the third embodiment has substantially similar elements to the video encoding apparatus according to the first embodiment described above, but differs in the details of the scaling process / inverse scaling process. In the following description, details of the scaling process / inverse scaling process according to the present embodiment will be described with reference to FIGS. 5, 6, and 8.
 以下、図5を用いてフィルタ処理/スケーリング処理部112の動作の詳細を説明する。 
 フィルタ処理/スケーリング処理部112は、第1の実施形態と同様に、ループフィルタ情報13に含まれるフィルタ係数情報に従って、対象画素群に対して畳み込み演算(フィルタ演算)を実行する(ステップS112-1)。次に、フィルタ処理/スケーリング処理部112は、第1の実施形態と同様に、対象画素群の畳み込み演算結果群の最大値Max及び最小値Minを探索する(ステップS112-2)。
Details of the operation of the filter processing / scaling processing unit 112 will be described below with reference to FIG.
As in the first embodiment, the filter processing / scaling processing unit 112 performs a convolution operation (filter operation) on the target pixel group according to the filter coefficient information included in the loop filter information 13 (step S112-1). ). Next, the filter processing / scaling processing unit 112 searches for the maximum value Max and the minimum value Min of the convolution calculation result group of the target pixel group as in the first embodiment (step S112-2).
 次に、フィルタ処理/スケーリング処理部112は、対象画素群のスケーリング情報15を導出する(ステップS112-3)。具体的には、フィルタ処理/スケーリング処理部112は、数式(2)及び数式(3)に従って、最小基準値MinPointを導出する。更に、フィルタ処理/スケーリング処理部112は、条件演算子(三項演算子)「?:」を用いる次の演算(13)に従って、最大基準値MaxPointを導出する。 
Figure JPOXMLDOC01-appb-M000013
Next, the filter processing / scaling processing unit 112 derives the scaling information 15 of the target pixel group (step S112-3). Specifically, the filter processing / scaling processing unit 112 derives the minimum reference value MinPoint according to Equation (2) and Equation (3). Further, the filter processing / scaling processing unit 112 derives the maximum reference value MaxPoint according to the following calculation (13) using the conditional operator (ternary operator) “?:”.
Figure JPOXMLDOC01-appb-M000013
 但し、MaxPointの値の上限は、2-1とする。 However, the upper limit of the value of MaxPoint is 2 L −1.
 以上のように導出された最小基準値MinPoint及び最大基準値MaxPointは、スケーリング情報15としてスケーリング情報バッファ部108に供給される。尚、逆スケーリング処理においてパラメータKの値を参照するために、フィルタ切り替え情報またはこれと同様の情報が必要とされるので、このような情報もスケーリング情報15に含まれてよい。或いは、このような情報は、ループフィルタ情報13を介して参照できるので、逆スケーリング処理を行う要素にループフィルタ情報13が通知されてもよい。以降の説明では、フィルタ切り替え情報が、スケーリング情報15に含まれているとする。 The minimum reference value MinPoint and the maximum reference value MaxPoint derived as described above are supplied to the scaling information buffer unit 108 as scaling information 15. In addition, in order to refer to the value of the parameter K in the inverse scaling process, filter switching information or information similar thereto is required, and such information may also be included in the scaling information 15. Alternatively, since such information can be referred to via the loop filter information 13, the loop filter information 13 may be notified to an element that performs inverse scaling processing. In the following description, it is assumed that the filter switching information is included in the scaling information 15.
 次に、フィルタ処理/スケーリング処理部112は、導出したフィルタ情報15に従って、各畳み込み演算結果にスケーリングを適用する(ステップS112-4)。具体的には、フィルタ処理/スケーリング処理部112は、次の数式(14)に従って、スケーリングされた参照画素群の各画素値D[m]を生成する。 
Figure JPOXMLDOC01-appb-M000014
Next, the filter processing / scaling processing unit 112 applies scaling to each convolution calculation result according to the derived filter information 15 (step S112-4). Specifically, the filter processing / scaling processing unit 112 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (14).
Figure JPOXMLDOC01-appb-M000014
 EncTable[Dr]は、次の数式(15)によって得られる。
Figure JPOXMLDOC01-appb-M000015
EncTable [Dr] is obtained by the following equation (15).
Figure JPOXMLDOC01-appb-M000015
 Drは、次の数式(16)に示す通り、スケーリングされた参照画素群のダイナミックレンジを表す。また、Offset[Dr]は丸めオフセット値を表す。また、Nは、EncTable[Dr]のビット長を表す。尚、数式(14)は除算を含んでいるので、Drの値毎にEncTable[Dr]の値を予め計算しておいて、例えばテーブル形式で記憶しておくことが想定される。
Figure JPOXMLDOC01-appb-M000016
Dr represents the dynamic range of the scaled reference pixel group as shown in the following equation (16). Offset [Dr] represents a rounding offset value. N represents the bit length of EncTable [Dr]. In addition, since Formula (14) includes division, it is assumed that the value of EncTable [Dr] is calculated in advance for each value of Dr and stored in a table format, for example.
Figure JPOXMLDOC01-appb-M000016
 ダイナミックレンジDrと対応するEncTable[Dr]及びOffset[Dr]の値は、B[m]と後述するG[m]とを同一のビット数X(X<(K+T)かつX<U)に収まるようした際に、丸め後のB[m]とG[m]の値が等しくなるように設定しても構わない。 The values of EncTable [Dr] and Offset [Dr] corresponding to the dynamic range Dr fall within the same number of bits X (X <(K + T) and X <U) between B [m] and G [m] described later. When doing so, the values of B [m] and G [m] after rounding may be set to be equal.
 図11には、一例としてK+T=12、L=8、N=8、X=8とした場合の、Drと対応するEncTable[Dr]及びOffset[Dr]の値が示されている。尚、図11及び図12乃至図15中のExpandFlagは本実施形態で説明されるスケーリング処理/逆スケーリング処理を行うか否かを示している。ExpandFlagが0の場合には、第1若しくは第2の実施形態で説明されるスケーリング処理/逆スケーリング処理を行うことを示している。この場合、スケーリング量Qは演算(4)を用いて導出され、数式(6)を用いてスケーリングされた参照画素群の各画素値D[m]を生成する。一方、ExpandFlagが1の場合には、本実施形態で説明されるスケーリング処理/逆スケーリング処理を行うことを示している。また、別の例として、K+T=14、L=8、N=8、X=8とした場合の、Drと対応するEncTable[Dr]の値が図12に、K+T=10、L=8、N=8、X=8とした場合の、Drと対応するEncTable[Dr]の値が図13に、K+T=12、L=8、N=12、X=8とした場合の、Drと対応するEncTable[Dr]及びOffset[Dr]の値が図14に夫々示されている。 FIG. 11 shows, as an example, values of EncTable [Dr] and Offset [Dr] corresponding to Dr when K + T = 12, L = 8, N = 8, and X = 8. Note that ExpandFlag in FIGS. 11 and 12 to 15 indicates whether or not the scaling process / inverse scaling process described in this embodiment is performed. When ExpandFlag is 0, it indicates that the scaling process / inverse scaling process described in the first or second embodiment is performed. In this case, the scaling amount Q is derived using the calculation (4), and each pixel value D [m] of the reference pixel group scaled using the equation (6) is generated. On the other hand, when ExpandFlag is 1, it indicates that the scaling process / inverse scaling process described in this embodiment is performed. As another example, when K + T = 14, L = 8, N = 8, and X = 8, the values of EncTable [Dr] corresponding to Dr are shown in FIG. 12, K + T = 10, L = 8, When N = 8 and X = 8, the values of EncTable [Dr] corresponding to Dr correspond to Dr when K + T = 12, L = 8, N = 12, and X = 8 in FIG. The values of EncTable [Dr] and Offset [Dr] are shown in FIG.
 更に、MaxPoint及びMinPointを(K+T)ビットで表現しても構わない。つまり、MaxPoint及びMinPointの値の上限は2K+T-1となる。従って、数式(16)で計算されるDrは(K+T)ビットで表現される。K+T=12、L=8、N=12、X=8とした場合の、(K+T)ビットで表現されるDrと対応するEncTable[Dr]及びOffset[Dr]の値が一例として図15に示されている。 Furthermore, MaxPoint and MinPoint may be expressed by (K + T) bits. That is, the upper limit of the values of MaxPoint and MinPoint is 2 K + T −1. Therefore, Dr calculated by Expression (16) is expressed by (K + T) bits. FIG. 15 shows the values of EncTable [Dr] and Offset [Dr] corresponding to Dr represented by (K + T) bits when K + T = 12, L = 8, N = 12, and X = 8. Has been.
 尚、Offset[Dr]の値は、1<<(K+T-1)に固定されていても構わない。この場合、図11~図15において、Offset[Dr]が1<<(K+T-1)と異なる値となるEncTable[Dr]は使用しない。この場合、使用されないDrは、一行下の内容と統合される。一例として図11において、Dr=23を使用しない場合には、一行下にあるDr=24と統合される。つまり、Dr=23,24の場合に、EncTable[Dr]は2557と設定される。 Note that the value of Offset [Dr] may be fixed to 1 << (K + T-1). In this case, in FIG. 11 to FIG. 15, EncTable [Dr] where Offset [Dr] is different from 1 << (K + T−1) is not used. In this case, Dr that is not used is integrated with the contents one line below. As an example, in FIG. 11, when Dr = 23 is not used, it is integrated with Dr = 24, which is one row below. That is, when Dr = 23, 24, EncTable [Dr] is set to 2557.
 以上のように生成されたスケーリングされた参照画素群は、参照画像バッファ部107に供給される。フィルタ処理/スケーリング処理部112の動作によって、対象画素群のフィルタ処理結果群の画素ビット長(=およそ(K+T)≧L)は、フィルタ処理の後にLビットに縮小される。 The scaled reference pixel group generated as described above is supplied to the reference image buffer unit 107. By the operation of the filter processing / scaling processing unit 112, the pixel bit length (= approximately (K + T) ≧ L) of the filter processing result group of the target pixel group is reduced to L bits after the filter processing.
 以下、図6を用いてスケーリング処理部113の動作の詳細を説明する。 
 スケーリング処理部113は、第1の実施形態と同様に、対象画素群の最大値Max及び最小値Minを探索する(ステップS113-1)。次に、スケーリング処理部113は、対象画素群のスケーリング情報15を導出する(ステップS113-2)。具体的には、フィルタ処理/スケーリング処理部112は、数式(2)に従って、最小基準値MinPointを導出する。更に、フィルタ処理/スケーリング処理部112は、数式(13)に従って、最大基準値MaxPointを導出する。但し、スケーリング処理部113の動作において、K=0として取り扱われる。即ち、Sは数式(8)に従って導出される。以上のように導出された最小基準値MinPoint及び最大基準値MaxPointは、スケーリング情報15としてスケーリング情報バッファ部108に供給される。
Details of the operation of the scaling processing unit 113 will be described below with reference to FIG.
The scaling processing unit 113 searches for the maximum value Max and the minimum value Min of the target pixel group as in the first embodiment (step S113-1). Next, the scaling processing unit 113 derives the scaling information 15 of the target pixel group (step S113-2). Specifically, the filter processing / scaling processing unit 112 derives the minimum reference value MinPoint according to Equation (2). Further, the filter processing / scaling processing unit 112 derives the maximum reference value MaxPoint according to Equation (13). However, in the operation of the scaling processing unit 113, K = 0 is handled. That is, S is derived according to Equation (8). The minimum reference value MinPoint and the maximum reference value MaxPoint derived as described above are supplied to the scaling information buffer unit 108 as scaling information 15.
 次に、スケーリング処理部113は、導出したフィルタ情報15に従って、対象画素群の各画素値にスケーリングを適用する(ステップS113-3)。具体的には、スケーリング処理部113は、次の数式(17)に従って、スケーリングされた参照画素群の各画素値D[m]を生成する。
Figure JPOXMLDOC01-appb-M000017
Next, the scaling processing unit 113 applies scaling to each pixel value of the target pixel group in accordance with the derived filter information 15 (step S113-3). Specifically, the scaling processing unit 113 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (17).
Figure JPOXMLDOC01-appb-M000017
 スケーリング処理部113の動作によって、対象画素群の画素ビット長(=T≧L)は、Lビットに縮小される。 
 尚、ダイナミックレンジDrと対応するEncTable[Dr]の値は、フィルタ処理/スケーリング処理部112と同様に、P[m]と後述するG[m]を同一のビット数X(X<TかつX<U)に収まるようした場合に、丸め後のB[m]とG[m]の値が等しくなるように設定される。図11には、一例としてK(=0)+T=12、L=8、N=8、X=8とした場合の、Drと対応するEncTable[Dr]の値が示されている。また、別の例としてT=14、L=8、N=8、X=8とした場合のDrと対応するEncTable[Dr]の値が図12に、T=10、L=8、N=8、X=8とした場合のDrと対応するEncTable[Dr]の値が図13に、T=12、L=8、N=12、X=8とした場合のDrと対応するEncTable[Dr]の値が図14に、夫々示されている。
By the operation of the scaling processing unit 113, the pixel bit length (= T ≧ L) of the target pixel group is reduced to L bits.
Note that the value of EncTable [Dr] corresponding to the dynamic range Dr is the same number of bits X (X <T and X as P [m] and G [m] described later, as in the filter processing / scaling processing unit 112. <U), the values of B [m] and G [m] after rounding are set to be equal. FIG. 11 shows, as an example, the value of EncTable [Dr] corresponding to Dr when K (= 0) + T = 12, L = 8, N = 8, and X = 8. As another example, the values of EncTable [Dr] corresponding to Dr when T = 14, L = 8, N = 8, and X = 8 are shown in FIG. 12, T = 10, L = 8, N = 8, the value of EncTable [Dr] corresponding to Dr when X = 8 is shown in FIG. 13, and EncTable [Dr corresponding to Dr when T = 12, L = 8, N = 12, and X = 8. ] Are shown in FIG.
 更に、MaxPoint及びMinPointをTビットで表現しても構わない。つまり、MaxPoint及びMinPointの値の上限は2-1となる。従って、数式(16)で計算されるDrはTビットで表現される。T=12、L=8、N=8、X=8とした場合の、Tビットで表現されるDrと対応するEncTable[Dr]及びOffset[Dr]の値が一例として図15に示されている。 Furthermore, MaxPoint and MinPoint may be expressed by T bits. That is, the upper limit of the values of MaxPoint and MinPoint is 2 T −1. Therefore, Dr calculated by Expression (16) is expressed by T bits. The values of EncTable [Dr] and Offset [Dr] corresponding to Dr represented by T bits when T = 12, L = 8, N = 8, and X = 8 are shown as an example in FIG. Yes.
 以下、図8を用いて逆スケーリング処理部121の動作の詳細を説明する。 
 逆スケーリング処理部121は、所望の(即ち、予測画像の生成に必要な)スケーリングされた参照画素群及び対応するスケーリング情報を参照画像バッファ部107及びスケーリング情報バッファ部108から夫々取得する(ステップS121-1)。具体的には、逆スケーリング処理部121は、スケーリングされた参照画素群の各画素値D[m]と、最小基準値MinPointと、最大基準値MaxPointと、フィルタ切り替え情報とを取得する。逆スケーリング処理部121は、フィルタ切り替え情報を参照し、フィルタ適用が有効であればパラメータKにフィルタ処理に応じた所定値を設定し、フィルタ適用が無効であればパラメータKに0を設定する。
Details of the operation of the inverse scaling processing unit 121 will be described below with reference to FIG.
The inverse scaling processing unit 121 obtains a desired reference pixel group (that is, necessary for generating a predicted image) and corresponding scaling information from the reference image buffer unit 107 and the scaling information buffer unit 108, respectively (step S121). -1). Specifically, the inverse scaling processing unit 121 acquires each pixel value D [m] of the scaled reference pixel group, the minimum reference value MinPoint, the maximum reference value MaxPoint, and filter switching information. The inverse scaling processing unit 121 refers to the filter switching information, sets a predetermined value corresponding to the filter processing to the parameter K if the filter application is valid, and sets 0 to the parameter K if the filter application is invalid.
 次に、逆スケーリング処理部121は、参照画素群に対して画素ビット長を拡張する逆スケーリングをスケーリング情報に従って適用する(ステップS121-2)。具体的には、K+T+L≧Uの関係が成立するとすれば、逆スケーリング処理部121は次の数式(18)に従って逆スケーリングを適用する。 
Figure JPOXMLDOC01-appb-M000018
Next, the inverse scaling processing unit 121 applies inverse scaling for extending the pixel bit length to the reference pixel group according to the scaling information (step S121-2). Specifically, if the relationship of K + T + L ≧ U is established, the inverse scaling processing unit 121 applies inverse scaling according to the following equation (18).
Figure JPOXMLDOC01-appb-M000018
 逆スケーリング処理部121の動作によって、スケーリングされた参照画素群の画素ビット長(=L≦U)は、Uビットに拡張される。 The pixel bit length (= L ≦ U) of the scaled reference pixel group is expanded to U bits by the operation of the inverse scaling processing unit 121.
 ここで、ダイナミックレンジDrと対応するDecTable[Dr]の値は、フィルタ処理/スケーリング処理部112若しくはスケーリング処理部113にて用いたDrに対応するよう設定される。図11には、一例としてK+T=12、L=8、N=8、X=8とした場合の、Drと対応するDecTable[Dr]の値が示されている。また、別の例としてK+T=14、L=8、N=8、X=8とした場合のDrと対応するDecTable[Dr]の値が図12に、K+T=10、L=8、N=8、X=8とした場合のDrと対応するDecTable[Dr]の値が図13に、K+T=12、L=8、N=12、X=8とした場合のDrと対応するDecTable[Dr]の値が図14に、夫々示されている。 Here, the value of DecTable [Dr] corresponding to the dynamic range Dr is set to correspond to Dr used in the filter processing / scaling processing unit 112 or the scaling processing unit 113. FIG. 11 shows the value of DecTable [Dr] corresponding to Dr when K + T = 12, L = 8, N = 8, and X = 8 as an example. As another example, the values of DecTable [Dr] corresponding to Dr when K + T = 14, L = 8, N = 8, and X = 8 are shown in FIG. 12, and K + T = 10, L = 8, N = 8, the value of DecTable [Dr] corresponding to Dr when X = 8 is shown in FIG. 13, and DecTable [Dr corresponding to Dr when K + T = 12, L = 8, N = 12, and X = 8. ] Are shown in FIG.
 更に、MaxPoint及びMinPointを(K+T)ビットで表現しても構わない。つまり、MaxPoint、MinPointの値の上限は2K+T-1となる。従って、数式(16)で計算されるDrは(K+T)ビットで表現される。K+T=12、L=8、N=8、X=8とした場合の、(K+T)ビットで表現されるDrと対応するEncTable[Dr]及びOffset[Dr]の値が一例として図15に示されている。 Furthermore, MaxPoint and MinPoint may be expressed by (K + T) bits. That is, the upper limit of the values of MaxPoint and MinPoint is 2 K + T −1. Therefore, Dr calculated by Expression (16) is expressed by (K + T) bits. FIG. 15 shows the values of EncTable [Dr] and Offset [Dr] corresponding to Dr represented by (K + T) bits when K + T = 12, L = 8, N = 8, and X = 8. Has been.
 上述したように、本実施形態では対象画素群の分布に基づく適応的なスケーリング・逆スケーリング処理が行われる。このようなスケーリング・逆スケーリング処理を行うことにより、スケーリング前の値B[m]或いはP[m]を四捨五入でLビットに丸めた値が、逆スケーリング後の値G[m]を四捨五入でLビットに丸めた値と同じ値になることが保証される。B[m]或いはP[m]を固定的に四捨五入でLビットに丸めることにより逆スケーリング後の値G[m]を生成する方式に比べて、本実施形態の処理により得られる逆スケーリング後の値G[m]は精度が高い。 As described above, in this embodiment, adaptive scaling / inverse scaling processing based on the distribution of the target pixel group is performed. By performing such scaling / inverse scaling processing, the value B [m] or P [m] before scaling is rounded to L bits, and the value G [m] after inverse scaling is rounded to L Guaranteed to be the same value rounded to bits. Compared to the method of generating a value G [m] after inverse scaling by rounding B [m] or P [m] to L bits by fixed rounding, the value after inverse scaling obtained by the processing of this embodiment is used. The value G [m] has high accuracy.
 以上説明したように、第3の実施形態に係る動画像符号化装置は、参照画像バッファ部の前後においてスケーリング処理及び逆スケーリング処理を夫々行うことにより、参照画像バッファ部に適用される画素ビット長を他の内部処理(予測処理、フィルタ処理など)に適用される画素ビット長に比べて小さく抑えている。従って、本実施形態に係る動画像符号化装置によれば、より大きな画素ビット長を適用して高精度な予測処理、フィルタ処理などを実現しつつ、参照画像バッファ部に適用される画素ビット長を小さく抑えることが可能となる。 As described above, the moving picture encoding apparatus according to the third embodiment performs the scaling process and the inverse scaling process before and after the reference image buffer unit, so that the pixel bit length applied to the reference image buffer unit Is smaller than the pixel bit length applied to other internal processing (prediction processing, filter processing, etc.). Therefore, according to the video encoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small.
 更に、本実施形態に係る動画像復号化装置もまた、本実施形態に係る動画像符号化装置と実質的に同一または類似のスケーリング処理/逆スケーリング処理を行って、同様の効果を得ることができる。 Furthermore, the moving picture decoding apparatus according to the present embodiment can perform the same or similar scaling process / inverse scaling process as the moving picture encoding apparatus according to the present embodiment, and obtain the same effect. it can.
 (第4の実施形態) 
 第4の実施の形態においては、スケーリング情報とスケーリングされた参照画素群のデータとを合わせてバイト単位の固定長で表現できる方法を示す。その結果、スケーリング情報バッファ部を持たず、参照画像バッファ部にスケーリング情報とスケーリングされた参照画素群とを同時に蓄積可能であり、バイト単位の固定長で管理できるため、参照画像バッファでのデータのアクセスが容易になる。
(Fourth embodiment)
In the fourth embodiment, a method is described in which scaling information and scaled reference pixel group data can be combined and expressed in a fixed length in bytes. As a result, the scaling information and scaled reference pixel group can be stored in the reference image buffer unit at the same time without having the scaling information buffer unit, and can be managed with a fixed length in bytes. Easy access.
 図16に示すように、第4の実施形態に係る動画像符号化装置は、符号化部500及び符号化制御部140を有する。符号化部500は、入力画像11を符号化して符号化データを生成する。符号化制御部140は、符号化部500内の種々の要素を制御する。例えば、符号化制御部140は、後述するループフィルタ設定部106、予測部520などを制御する。 As illustrated in FIG. 16, the moving image encoding apparatus according to the fourth embodiment includes an encoding unit 500 and an encoding control unit 140. The encoding unit 500 encodes the input image 11 to generate encoded data. The encoding control unit 140 controls various elements in the encoding unit 500. For example, the encoding control unit 140 controls a loop filter setting unit 106, a prediction unit 520, and the like which will be described later.
 符号化部500は、ビット長拡張部309、減算部101、変換/量子化部102、エントロピー符号化部303、逆量子化/逆変換部104、加算部105、ループフィルタ設定部106、参照画像バッファ部507、ループフィルタ部510、予測部520及び動きベクトル生成部130を含む。 The encoding unit 500 includes a bit length extension unit 309, a subtraction unit 101, a transform / quantization unit 102, an entropy encoding unit 303, an inverse quantization / inverse transform unit 104, an addition unit 105, a loop filter setting unit 106, and a reference image A buffer unit 507, a loop filter unit 510, a prediction unit 520, and a motion vector generation unit 130 are included.
 ビット長拡張部309は、既に第2の実施の形態で説明したものと同様である。 The bit length extension unit 309 is the same as that already described in the second embodiment.
 但し、第4の実施の形態における画素ビット長が拡張されている部分は、図16及び図17で示されるように符号化部、復号化部の全体である必要はない。少なくとも、当該実施の形態において説明しているループフィルタ部510(610:復号化装置)及び、予測部520(620:復号化装置)の部分で画素ビット長が拡張されていればよい。 However, the part in which the pixel bit length in the fourth embodiment is extended does not have to be the entire encoding unit and decoding unit as shown in FIGS. 16 and 17. It is sufficient that the pixel bit length is extended at least in the loop filter unit 510 (610: decoding device) and the prediction unit 520 (620: decoding device) described in this embodiment.
 減算部101は、予測部520からの予測画像を入力画像11から減算し、予測誤差を得る。変換/量子化部102は、減算部101からの予測誤差に対して変換(例えば、離散コサイン変換(DCT)など)及び量子化を行って、量子化された変換係数の情報(以下、単に量子化変換係数と称する)を得る。 The subtraction unit 101 subtracts the prediction image from the prediction unit 520 from the input image 11 to obtain a prediction error. The transform / quantization unit 102 performs transform (for example, discrete cosine transform (DCT)) and quantization on the prediction error from the subtraction unit 101, and quantizes information on transform coefficients (hereinafter simply referred to as quantum). (Referred to as conversion coefficient).
 エントロピー符号化部303については、既に第2の実施の形態で説明したものと同様である。 The entropy encoding unit 303 is the same as that already described in the second embodiment.
 逆量子化/逆変換部104は、変換/量子化部102からの量子化変換係数に対して逆量子化及び逆変換(例えば、逆離散コサイン変換(IDCT)など)を行って、予測誤差を復元する。加算部105は、逆量子化/逆変換部104によって復元された予測誤差と、予測部520からの対応する予測画像とを加算し、局所復号画像12を生成する。 The inverse quantization / inverse transform unit 104 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the transform / quantization unit 102, thereby reducing a prediction error. Restore. The adding unit 105 adds the prediction error restored by the inverse quantization / inverse transform unit 104 and the corresponding prediction image from the prediction unit 520 to generate the local decoded image 12.
 ループフィルタ設定部106は、入力画像11と、加算部105からの対応する局所復号画像12とに基づいてループフィルタ情報13を設定し、ループフィルタ部510及びエントロピー符号化部303に通知する。ループフィルタ情報13は、フィルタ係数情報及びフィルタ切り替え情報を少なくとも含む。フィルタ係数情報は、フィルタ係数を示す情報を含む。また、フィルタ係数情報は、後述するオフセット係数を示す情報を更に含んでもよい。フィルタ切り替え情報は、フィルタ適用の有効/無効を示す情報を含む。 The loop filter setting unit 106 sets the loop filter information 13 based on the input image 11 and the corresponding local decoded image 12 from the addition unit 105 and notifies the loop filter unit 510 and the entropy encoding unit 303 of the loop filter information 13. The loop filter information 13 includes at least filter coefficient information and filter switching information. The filter coefficient information includes information indicating the filter coefficient. The filter coefficient information may further include information indicating an offset coefficient described later. The filter switching information includes information indicating validity / invalidity of filter application.
 ループフィルタ部510は、ループフィルタ設定部106からのループフィルタ情報13に従って、加算部105からの局所復号画像12内の対象画素群に対して、フィルタ処理、または、フィルタ処理を経由しないバイパス処理を行う。そして、ループフィルタ部510は、フィルタ処理結果群またはバイパス処理結果群(即ち、対象画素群そのもの)に対して後述するスケーリング処理を行って画素ビット長を縮小する(または、維持する)。ループフィルタ部510は、このスケーリング処理結果群としてのスケーリングされた参照画素群14と当該スケーリング処理に関するスケーリング情報15とを参照画像バッファ部507に供給する。尚、ループフィルタ部510の詳細は、後述される。 The loop filter unit 510 performs filter processing or bypass processing that does not pass the filter processing on the target pixel group in the local decoded image 12 from the addition unit 105 according to the loop filter information 13 from the loop filter setting unit 106. Do. Then, the loop filter unit 510 performs scaling processing described later on the filter processing result group or the bypass processing result group (that is, the target pixel group itself) to reduce (or maintain) the pixel bit length. The loop filter unit 510 supplies the scaled reference pixel group 14 as the scaling processing result group and the scaling information 15 regarding the scaling processing to the reference image buffer unit 507. Details of the loop filter unit 510 will be described later.
 参照画像バッファ部507は、ループフィルタ部510からのスケーリングされた参照画素群14と、スケーリング処理に関するスケーリング情報15とを蓄積する。参照画像バッファ部507に蓄積された参照画素群14と、スケーリング情報15とは、予測部520または動きベクトル生成部130によって必要に応じて読み出される。尚、参照画像バッファ部507の詳細は、後述される。 The reference image buffer unit 507 stores the scaled reference pixel group 14 from the loop filter unit 510 and the scaling information 15 related to the scaling process. The reference pixel group 14 and the scaling information 15 accumulated in the reference image buffer unit 507 are read by the prediction unit 520 or the motion vector generation unit 130 as necessary. Details of the reference image buffer unit 507 will be described later.
 動きベクトル生成部130は、必要に応じて参照画像バッファ部507からのスケーリングされた参照画素群及びスケーリング情報を夫々読み出す。動きベクトル生成部130は、スケーリングされた参照画素群に対して画素ビット長を拡張する(または、維持する)逆スケーリングを、スケーリング情報に従って適用して参照画像を復元する。動きベクトル生成部130は、入力画像11及び復元した参照画像に基づいて動きベクトル情報を生成する。動きベクトル生成部130は、動きベクトル情報を予測部520及びエントロピー符号化部303に通知する。尚、逆スケーリング処理の詳細は、後述される。 The motion vector generation unit 130 reads the scaled reference pixel group and the scaling information from the reference image buffer unit 507 as necessary. The motion vector generation unit 130 applies inverse scaling that extends (or maintains) the pixel bit length to the scaled reference pixel group according to the scaling information to restore the reference image. The motion vector generation unit 130 generates motion vector information based on the input image 11 and the restored reference image. The motion vector generation unit 130 notifies the prediction unit 520 and the entropy encoding unit 303 of the motion vector information. Details of the inverse scaling process will be described later.
 予測部520は、必要に応じて参照画像バッファ部507からスケーリングされた参照画素群及びスケーリング情報を夫々読み出す。予測部520は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを、スケーリング情報に従って適用して参照画像を復元する。予測部520は、動きベクトル生成部130からの動きベクトル情報及び復元した参照画像に基づいて予測画像を生成する。予測部520は、予測画像を減算部101及び加算部105に供給する。 The prediction unit 520 reads the scaled reference pixel group and scaling information from the reference image buffer unit 507 as necessary. The prediction unit 520 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information. The prediction unit 520 generates a prediction image based on the motion vector information from the motion vector generation unit 130 and the restored reference image. The prediction unit 520 supplies the predicted image to the subtraction unit 101 and the addition unit 105.
 ループフィルタ部510については、既に第1の実施の形態で説明した図3と同じ構成という前提で説明する。 The loop filter unit 510 will be described on the assumption that it has the same configuration as that of FIG. 3 already described in the first embodiment.
 尚、ループフィルタ部510については、第1の実施の形態と全く同じ構成である必要はない。例えば、図18のように、ループフィルタ設定部106からのループフィルタ情報13に従って、加算部105からの局所復号画像12内の対象画素群に対してフィルタ処理を行うか、フィルタ処理を経由しないバイパス処理を行う。フィルタ処理結果群またはバイパス処理結果群の対象画素群に対して後述するスケーリング処理部113でスケーリング処理を行う構成にしてもよい。フィルタ処理部1001に関しては、図4のようにブロック単位でフィルタの適用、非適用が決定されるようなフィルタのみに限定されない。例えば、フィルタ処理部1001は、ブロック境界にフィルタ処理を適用するデブロッキングフィルタを含んでもよい。 Note that the loop filter unit 510 does not have to have the same configuration as that of the first embodiment. For example, as shown in FIG. 18, according to the loop filter information 13 from the loop filter setting unit 106, a filter process is performed on the target pixel group in the local decoded image 12 from the addition unit 105, or bypass that does not pass through the filter process Process. A configuration may be adopted in which scaling processing is performed by the scaling processing unit 113 described later on the target pixel group of the filter processing result group or the bypass processing result group. The filter processing unit 1001 is not limited to a filter for which application or non-application of a filter is determined on a block basis as shown in FIG. For example, the filter processing unit 1001 may include a deblocking filter that applies filter processing to block boundaries.
 第4の実施の形態においては、フィルタ処理/スケーリング処理部112の動作と、スケーリング処理部113の動作が第1の実施形態とは異なる。以下、図5を用いてフィルタ処理/スケーリング処理部112の動作の詳細を説明する。 In the fourth embodiment, the operation of the filter processing / scaling processing unit 112 and the operation of the scaling processing unit 113 are different from those in the first embodiment. Details of the operation of the filter processing / scaling processing unit 112 will be described below with reference to FIG.
 フィルタ処理/スケーリング処理部112は、ループフィルタ情報13に含まれるフィルタ係数情報に従って、対象画素群に対して畳み込み演算(フィルタ演算)を実行する(ステップS112-1)。具体的には、フィルタ係数をF[n]、対象画素群の画素値をP[m]、畳み込み演算結果をB[m]で表すと、フィルタ処理/スケーリング処理部112は、次の数式(1)に従う畳み込み演算を行う。
Figure JPOXMLDOC01-appb-M000019
The filter processing / scaling processing unit 112 performs a convolution operation (filter operation) on the target pixel group in accordance with the filter coefficient information included in the loop filter information 13 (step S112-1). Specifically, when the filter coefficient is represented by F [n], the pixel value of the target pixel group is represented by P [m], and the convolution calculation result is represented by B [m], the filter processing / scaling processing unit 112 represents the following formula ( Perform the convolution operation according to 1).
Figure JPOXMLDOC01-appb-M000019
 尚、数式(19)においてOはオフセット係数を表す。オフセット係数は、フィルタ係数情報を介して参照することができる。 In Equation (19), O represents an offset coefficient. The offset coefficient can be referred to through the filter coefficient information.
 第4の実施の形態においては、スケーリング処理の単位を16画素単位とし、フィルタ係数F[n]の総和は、2とほぼ等しい値になるように設計されているものとして説明する。尚、16画素単位は、例えば、4×4画素ブロック単位とするが、形状についての制約はない。また、対象画素群の画素ビット長を8ビット、フィルタ処理/スケーリング処理部に入力される時点の拡張ビット数は4ビットとして説明する。尚、対象画素群の画素ビット長及び拡張ビット数はこれらに限定されない。フィルタ処理/スケーリング処理部112は、このような畳み込み演算を対象画素群の各画素に行い、畳み込み演算結果群を得る。 In the fourth embodiment, the unit of the scaling processing is set to 16 pixels, the sum of the filter coefficient F [n] is described as being designed to be substantially equal to the 2 K. The 16-pixel unit is, for example, a 4 × 4 pixel block unit, but there is no restriction on the shape. In the following description, the pixel bit length of the target pixel group is 8 bits, and the number of extension bits at the time of input to the filter / scaling processing unit is 4 bits. Note that the pixel bit length and the number of extension bits of the target pixel group are not limited to these. The filter processing / scaling processing unit 112 performs such a convolution operation on each pixel of the target pixel group to obtain a convolution operation result group.
 次に、フィルタ処理/スケーリング処理部112は、対象画素群の畳み込み演算結果群の最大値Max及び最小値Minを探索する(ステップS112-2)。但し、最大値Maxの値の上限を例えば2K+12-1とする。即ち、最大値Maxの値が2K+12-1よりも大きいならば、最大値Maxの値は2K+12-1であるとして取り扱う。 Next, the filter processing / scaling processing unit 112 searches for the maximum value Max and the minimum value Min of the convolution calculation result group of the target pixel group (step S112-2). However, the upper limit of the maximum value Max is, for example, 2 K + 12 −1. That is, if the value of the maximum value Max is larger than 2 K + 12 −1, the value of the maximum value Max is treated as 2 K + 12 −1.
 別の方法としては、0≦MinP≦MaxP≦255として、最小値Minの値の下限を(MinP×2K+4)とし、最大値Maxの値の上限を(MaxP×2K+4)とする方法もある。この場合、最小値Minの値が(MinP×2K+4)より小さいならば、最小値Minの値は(MinP×2K+4)であるとし、最大値Maxの値が(MaxP×2K+4)より大きいならば、最大値Maxの値は(MaxP×2K+4)であるとして取り扱う。 As another method, there is a method in which 0 ≦ MinP ≦ MaxP ≦ 255, and the lower limit of the minimum value Min is (MinP × 2 K + 4 ) and the upper limit of the maximum value Max is (MaxP × 2 K + 4 ). . In this case, if the value of the minimum value Min is smaller than (MinP × 2 K + 4 ), the value of the minimum value Min is assumed to be (MinP × 2 K + 4 ), and the value of the maximum value Max is larger than (MaxP × 2 K + 4 ). Then, the value of the maximum value Max is handled as (MaxP × 2K + 4 ).
 次に、フィルタ処理/スケーリング処理部112は、対象画素群のスケーリング情報15を導出する(ステップS112-3)。具体的には、フィルタ処理/スケーリング処理部112は、次の数式(2)に従って、最小値Minを(K+6)ビットだけ算術右シフトすることによって、最小基準値MinPointを導出する。
Figure JPOXMLDOC01-appb-M000020
Next, the filter processing / scaling processing unit 112 derives the scaling information 15 of the target pixel group (step S112-3). Specifically, the filter processing / scaling processing unit 112 derives the minimum reference value MinPoint by arithmetically shifting the minimum value Min by (K + 6) bits according to the following formula (2).
Figure JPOXMLDOC01-appb-M000020
 ここで、MinPointは、6ビットの値とする。 Here, MinPoint is a 6-bit value.
 また、フィルタ処理/スケーリング処理部112は、次の演算(21)を実行することによって、スケーリング量Qを導出する。
Figure JPOXMLDOC01-appb-M000021
Also, the filter processing / scaling processing unit 112 derives the scaling amount Q by executing the following calculation (21).
Figure JPOXMLDOC01-appb-M000021
 スケーリング量Qは、0から4までのいずれかの整数値を取り得る。以上のように導出された最小基準値MinPoint及びスケーリング量Qは、スケーリング情報15として、参照画像バッファ部507に供給される。 The scaling amount Q can take any integer value from 0 to 4. The minimum reference value MinPoint and the scaling amount Q derived as described above are supplied to the reference image buffer unit 507 as scaling information 15.
 次に、フィルタ処理/スケーリング処理部112は、導出したスケーリング情報15に従って、各畳み込み演算結果にスケーリングを適用する(ステップS112-4)。具体的には、フィルタ処理/スケーリング処理部112は、次の演算(22)と演算(23)に従って、スケーリングされた参照画素群の各画素値D[m]を生成する。 Next, the filter processing / scaling processing unit 112 applies scaling to each convolution operation result according to the derived scaling information 15 (step S112-4). Specifically, the filter processing / scaling processing unit 112 generates each pixel value D [m] of the scaled reference pixel group according to the following calculation (22) and calculation (23).
 もし、スケーリング量Qが4の場合、演算(22)を実行することでスケーリングされた参照画素群を生成する。この場合、対象画素群の最初の画素B[0]については、スケーリングされた画素値D[0]が0にならないように、B[0]が2K+3より小さい値のときは、1とする。それ以外の場合は、通常の四捨五入による丸め処理を行う。
Figure JPOXMLDOC01-appb-M000022
If the scaling amount Q is 4, the scaled reference pixel group is generated by executing the calculation (22). In this case, the first pixel B [0] of the target pixel group is set to 1 when B [0] is smaller than 2K + 3 so that the scaled pixel value D [0] does not become 0. . In other cases, rounding is performed by normal rounding.
Figure JPOXMLDOC01-appb-M000022
 尚、D[0]は、1から255の値に制限されているが、それ以外の場合のD[m]は、0から255までの値に制限されるものとする。この例では、D[0]に0が出現しないようにしているが、この値は、0以外でもよく、例えば255を使う方法もある。また、D[m]の値の制限に関しては、例えば、輝度信号に対して、16から235までの範囲、色差信号に対して、16から240までの値に制限するという手法でもよい。この場合、D[0]の値は、特別に制限する必要はない。 Note that D [0] is limited to a value from 1 to 255, but D [m] in other cases is limited to a value from 0 to 255. In this example, 0 does not appear in D [0], but this value may be other than 0. For example, there is a method of using 255. Further, regarding the limitation of the value of D [m], for example, a method may be used in which the luminance signal is limited to a range of 16 to 235 and the color difference signal is limited to a value of 16 to 240. In this case, the value of D [0] does not need to be specifically limited.
 以上のように生成されたスケーリングされた参照画素群は、参照画像バッファ部507に供給される。フィルタ処理/スケーリング処理部112の動作によって、対象画素群のフィルタ処理結果群の画素ビット長である(K+12)ビットが、フィルタ処理の後に8ビットに縮小される。 The scaled reference pixel group generated as described above is supplied to the reference image buffer unit 507. By the operation of the filter processing / scaling processing unit 112, (K + 12) bits that are the pixel bit length of the filter processing result group of the target pixel group are reduced to 8 bits after the filter processing.
 スケーリング量Qが4未満の場合は、以下の演算(23)に従って、最小基準値MinPointをK+6ビットほど算術左シフトして元のビット長に戻し、対象画素群の値からこの値を引いた上で、Q+Kビットほど左シフトして、スケーリングされた参照画素群の各画素値D[m]を生成する。
Figure JPOXMLDOC01-appb-M000023
When the scaling amount Q is less than 4, according to the following calculation (23), the minimum reference value MinPoint is arithmetically left shifted by K + 6 bits to return to the original bit length, and this value is subtracted from the value of the target pixel group. Thus, each pixel value D [m] of the scaled reference pixel group is generated by shifting left by Q + K bits.
Figure JPOXMLDOC01-appb-M000023
 以上のように生成されたスケーリングされた参照画素群は、参照画像バッファ部507に供給される。フィルタ処理/スケーリング処理部112の動作によって、対象画素群のフィルタ処理結果群の画素ビット長である(K+12)ビットが、フィルタ処理の後に7ビットに縮小される。 The scaled reference pixel group generated as described above is supplied to the reference image buffer unit 507. By the operation of the filter processing / scaling processing unit 112, (K + 12) bits that are the pixel bit length of the filter processing result group of the target pixel group are reduced to 7 bits after the filter processing.
 以下、図6を用いてスケーリング処理部113の動作の詳細を説明する。 Hereinafter, the operation of the scaling processing unit 113 will be described in detail with reference to FIG.
 第4の実施の形態においては、スケーリング処理の単位を16画素単位とし、尚、16画素単位は、例えば、4×4画素ブロック単位とするが、形状についての制約はない。また、対象画素群の画素ビット長を8ビット、スケーリング処理部に入力される時点の拡張ビット数は4ビットとして説明する。スケーリング処理部113は、対象画素群に対するスケーリング情報とスケーリングされた参照画素群を生成する。 In the fourth embodiment, the unit of scaling processing is 16 pixel units, and the 16 pixel unit is, for example, a 4 × 4 pixel block unit, but there is no restriction on the shape. In the following description, the pixel bit length of the target pixel group is 8 bits, and the number of extension bits at the time of input to the scaling processing unit is 4 bits. The scaling processing unit 113 generates scaling information for the target pixel group and a scaled reference pixel group.
 スケーリング処理部113は、対象画素群の最大値Max及び最小値Minを探索する(ステップS113-1)。但し、最大値Maxの値の上限を例えば212-1とする。即ち、最大値Maxの値が212-1よりも大きいならば、最大値Maxの値は212-1として取り扱う。 The scaling processing unit 113 searches for the maximum value Max and the minimum value Min of the target pixel group (step S113-1). However, the upper limit of the maximum value Max is set to 2 12 −1, for example. That is, if the value of the maximum value Max is larger than 2 12 −1, the value of the maximum value Max is handled as 2 12 −1.
 別の方法としては、0≦MinP≦MaxP≦255として、最小値Minの値の下限を(MinP×2)とし、最大値Maxの値の上限を(MaxP×2)とする方法もある。この場合、最小値Minの値が(MinP×2)より小さいならば、最小値Minの値は(MinP×2)であるとして扱い、最大値Maxの値が(MaxP×2)より大きいならば、最大値Maxの値は(MaxP×2)であるとして取り扱う。 As another method, there is a method in which 0 ≦ MinP ≦ MaxP ≦ 255, the lower limit of the minimum value Min is (MinP × 2 4 ), and the upper limit of the maximum value Max is (MaxP × 2 4 ). . In this case, if the value of the minimum value Min is smaller than (MinP × 2 4 ), the value of the minimum value Min is treated as (MinP × 2 4 ), and the value of the maximum value Max is from (MaxP × 2 4 ). If it is larger, the maximum value Max is treated as (MaxP × 2 4 ).
 次に、スケーリング処理部113は、対象画素群のスケーリング情報15を導出する(ステップS113-2)。具体的には、スケーリング処理部113は、数式(24)に従って、最小値Minを6ビットほど算術右シフトすることによって、最小基準値MinPointを導出する。但し、スケーリング処理部113の動作において、K=0として取り扱われる。
Figure JPOXMLDOC01-appb-M000024
Figure JPOXMLDOC01-appb-M000025
Next, the scaling processing unit 113 derives the scaling information 15 of the target pixel group (step S113-2). Specifically, the scaling processing unit 113 derives the minimum reference value MinPoint by performing an arithmetic right shift of the minimum value Min by about 6 bits according to Expression (24). However, in the operation of the scaling processing unit 113, K = 0 is handled.
Figure JPOXMLDOC01-appb-M000024
Figure JPOXMLDOC01-appb-M000025
 また、スケーリング処理部113は、演算(25)を実行することによって、スケーリング量Qを導出する。以上のように導出された最小基準値MinPoint及びスケーリング量Qは、スケーリング情報15として参照画像バッファ部507に供給される。 Also, the scaling processing unit 113 derives the scaling amount Q by executing the calculation (25). The minimum reference value MinPoint and the scaling amount Q derived as described above are supplied to the reference image buffer unit 507 as scaling information 15.
 次に、スケーリング処理部113は、導出したスケーリング情報15に従って、対象画素群の各画素値にスケーリングを適用する(ステップS113-3)。具体的には、スケーリング処理部113は、次の数式(26)に従って、スケーリングされた参照画素群の各画素値D[m]を生成する。 Next, the scaling processing unit 113 applies scaling to each pixel value of the target pixel group in accordance with the derived scaling information 15 (step S113-3). Specifically, the scaling processing unit 113 generates each pixel value D [m] of the scaled reference pixel group according to the following formula (26).
 もし、スケーリング量Qが4の場合、演算(26)を実行することでスケーリングされた参照画素群を生成する。この場合、対象画素群の最初の画素B[0]については、スケーリングされた画素値D[0]が0にならないように、B[0]が8より小さい値のときは、1とする。それ以外の場合は、通常の四捨五入による丸め処理を行う。
Figure JPOXMLDOC01-appb-M000026
If the scaling amount Q is 4, a scaled reference pixel group is generated by executing the calculation (26). In this case, the first pixel B [0] of the target pixel group is set to 1 when B [0] is a value smaller than 8 so that the scaled pixel value D [0] does not become 0. In other cases, rounding is performed by normal rounding.
Figure JPOXMLDOC01-appb-M000026
 尚、D[0]は、1から255の値に制限されているが、それ以外の場合のD[m]はは、0から255までの値に制限されるものとする。この例では、D[0]に0が出現しないようにしているが、この値は、0以外でもよく、例えば255を使う方法もある。また、D[m]の値の制限に関しては、例えば、輝度信号に対して、16から235までの範囲、色差信号に対して、16から240までの値に制限するという手法でもよい。この場合、D[0]の値は、特別に制限する必要はない。 D [0] is limited to a value from 1 to 255, but D [m] in other cases is limited to a value from 0 to 255. In this example, 0 does not appear in D [0], but this value may be other than 0. For example, there is a method of using 255. Further, regarding the limitation of the value of D [m], for example, a method may be used in which the luminance signal is limited to a range of 16 to 235 and the color difference signal is limited to a value of 16 to 240. In this case, the value of D [0] does not need to be specifically limited.
 以上のように生成されたスケーリングされた参照画素群は、参照画像バッファ部507に供給される。スケーリング処理部113の動作によって、対象画素群の画素ビット長12ビットが、フィルタ処理の後に8ビットに縮小される。 The scaled reference pixel group generated as described above is supplied to the reference image buffer unit 507. By the operation of the scaling processing unit 113, the pixel bit length of 12 bits of the target pixel group is reduced to 8 bits after the filter processing.
 もし、スケーリング量Qが4未満の場合は、以下の演算(27)に従って、最小基準値MinPointを6ビットほど算術左シフトして元のビット長に戻し、対象画素群の値からこの値を引いた上で、Qビット左シフトして、スケーリングされた参照画素群の各画素値D[m]を生成する。
Figure JPOXMLDOC01-appb-M000027
If the scaling amount Q is less than 4, according to the following calculation (27), the minimum reference value MinPoint is arithmetically shifted left by about 6 bits to return to the original bit length, and this value is subtracted from the value of the target pixel group. In addition, the pixel values D [m] of the scaled reference pixel group are generated by shifting left by Q bits.
Figure JPOXMLDOC01-appb-M000027
 以上のように生成されたスケーリングされた参照画素群は、参照画像バッファ部507に供給される。スケーリング処理部113の動作によって、対象画素群の画素ビット長である12ビットが、フィルタ処理の後に7ビットに縮小される。 The scaled reference pixel group generated as described above is supplied to the reference image buffer unit 507. By the operation of the scaling processing unit 113, 12 bits, which is the pixel bit length of the target pixel group, is reduced to 7 bits after the filter processing.
 スケーリング情報15とスケーリングされた画素群とを効率的に記述する方法の一例を図19で説明する。尚、図19に示されるシンタックスにおいて、右欄のディスクリプタは、スケーリングブロックの各要素の記述ビット長を表している。スケーリングブロック(または適応スケーリングブロック)は、スケーリング情報とスケーリングされた画素群とを含む表現である。ここで、スケーリングブロックを固定長で表現するための記述要素について説明するが、スケーリングブロックの記述要素を参照画像バッファに書き込む順序、あるいは参照画像バッファからスケーリングブロックの記述要素を読み出す順序は任意である。 An example of a method for efficiently describing the scaling information 15 and the scaled pixel group will be described with reference to FIG. In the syntax shown in FIG. 19, the descriptor in the right column represents the description bit length of each element of the scaling block. A scaling block (or adaptive scaling block) is a representation that includes scaling information and a group of scaled pixels. Here, description elements for expressing a scaling block with a fixed length will be described, but the order of writing the description elements of the scaling block to the reference image buffer or the order of reading the description elements of the scaling block from the reference image buffer is arbitrary. .
 スケーリング量Qが4の場合は、16個のスケーリングされた画素群D[m]を8ビットの固定長で記述する。すなわち、0でないD[0]を8ビットで記述したのち、D[m](m=1~15)の夫々を8ビットで記述する。従って、Qが4の場合の16個のスケーリングされた画素群D[m]を128ビット(即ち、1×8+16×8)で記述することができる。 When the scaling amount Q is 4, 16 scaled pixel groups D [m] are described with a fixed length of 8 bits. That is, after D 4 [0] that is not 0 is described in 8 bits, each of D 4 [m] (m = 1 to 15) is described in 8 bits. Therefore, 16 scaled pixel groups D [m] when Q is 4 can be described by 128 bits (ie, 1 × 8 + 16 × 8).
 スケーリング量Qが4未満の場合は、8ビットの値0の固定ビットを記述したあと、0から3までの値のスケーリング量Qを2ビット固定長で記述し、MinPointを6ビットの固定長で記述し、その後、16個のスケーリングされた画素群D[m]を7ビットの固定長で記述する。従って、従って、Q<4の場合の16個のスケーリングされた画素群D[m]を128ビット(即ち、8+2+6+16×7)で記述することができる。 When the scaling amount Q is less than 4, describe the fixed bit of the 8-bit value 0, then describe the scaling amount Q of the value from 0 to 3 with a fixed length of 2 bits, and MinPoint with a fixed length of 6 bits After that, 16 scaled pixel groups D [m] are described with a fixed length of 7 bits. Therefore, 16 scaled pixel groups D [m] when Q <4 can be described by 128 bits (ie, 8 + 2 + 6 + 16 × 7).
 このように、スケーリング情報と4×4ブロックの16画素のスケーリングされた画素群を含むスケーリングブロックを128ビットの固定長で記述することが可能となる。スケーリングブロックの先頭から8ビットの値が0(すなわちD[0]=0)であるならば、スケーリング量Qは4であることが分かり、スケーリングブロックの先頭から8ビットの値が0でない(すなわちD[0]≠0,例えばD[0]を1に制限)であるならば、次の2ビットからスケーリング量Qが判明し、続く6ビットからMinPointが判明する。このように、実施形態では、スケーリングされた先頭の画素値が特定の値とはならないように制限することによって、スケーリング情報の記述の切り替えを可能にしている。 Thus, it becomes possible to describe a scaling block including scaling information and a group of 16 pixels of 4 × 4 blocks with a fixed length of 128 bits. If the 8-bit value from the beginning of the scaling block is 0 (ie, D [0] = 0), the scaling amount Q is found to be 4, and the 8-bit value from the beginning of the scaling block is not 0 (ie, If D [0] ≠ 0 (for example, D [0] is limited to 1), the scaling amount Q is determined from the next 2 bits, and MinPoint is determined from the subsequent 6 bits. As described above, in the embodiment, the description of the scaling information can be switched by limiting the scaled leading pixel value so as not to be a specific value.
 以下、一例として予測部520における逆スケーリング処理の詳細を説明する。尚、予測部520と実質的に同一または類似の逆スケーリング処理が動きベクトル生成部130においても行われる。図7に示すように、予測部520は、逆スケーリング処理部121及び予測画像生成部122を含む。 Hereinafter, details of the inverse scaling processing in the prediction unit 520 will be described as an example. Note that the inverse scaling process substantially the same as or similar to the prediction unit 520 is also performed in the motion vector generation unit 130. As illustrated in FIG. 7, the prediction unit 520 includes an inverse scaling processing unit 121 and a predicted image generation unit 122.
 逆スケーリング処理部121は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを、スケーリング情報に従って適用して参照画像を復元する。予測画像生成部220は、動きベクトル情報及び復元した参照画像に基づいて予測画像を生成する。 The inverse scaling processing unit 121 restores the reference image by applying inverse scaling for extending the pixel bit length to the scaled reference pixel group according to the scaling information. The predicted image generation unit 220 generates a predicted image based on the motion vector information and the restored reference image.
 以下、図8を用いて逆スケーリング処理部121の動作の詳細を説明する。逆スケーリング処理部121は、所望の(即ち、予測画像の生成に必要な)スケーリングされた参照画素群及び対応するスケーリング情報を参照画像バッファ部507から取得する(ステップS121-1)。具体的には、逆スケーリング処理部121は、スケーリングされた参照画素群の各画素値D[m]と、最小基準値MinPointと、スケーリング量Qと、フィルタ切り替え情報とを取得する。この場合、スケーリングされた参照画素群の最初の画素値D[0]が0以外ならば、スケーリング量Qを4とし、D[0]が0ならば、最小基準値MinPointとスケーリング値Qの記述されたデータを読み込む。 Hereinafter, the operation of the inverse scaling processing unit 121 will be described in detail with reference to FIG. The inverse scaling processing unit 121 obtains a desired scaled reference pixel group (that is, necessary for generating a predicted image) and corresponding scaling information from the reference image buffer unit 507 (step S121-1). Specifically, the inverse scaling processing unit 121 acquires each pixel value D [m] of the scaled reference pixel group, the minimum reference value MinPoint, the scaling amount Q, and the filter switching information. In this case, if the first pixel value D [0] of the scaled reference pixel group is other than 0, the scaling amount Q is set to 4, and if D [0] is 0, the minimum reference value MinPoint and the scaling value Q are described. Loaded data.
 次に、逆スケーリング処理部121は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングをスケーリング情報に従って適用する(ステップS121-2)。 Next, the inverse scaling processing unit 121 applies inverse scaling for extending the pixel bit length to the scaled reference pixel group according to the scaling information (step S121-2).
 もし、スケーリング値Qが4ならば、演算(28)を用いてスケーリングされた参照画素群の画素値を4ビットほど算術左シフトして、逆スケーリング処理を行う。
Figure JPOXMLDOC01-appb-M000028
If the scaling value Q is 4, the pixel value of the reference pixel group scaled using the operation (28) is arithmetically shifted to the left by about 4 bits, and inverse scaling processing is performed.
Figure JPOXMLDOC01-appb-M000028
 もし、スケーリング値Qが4未満の場合は、演算(29)を用いてスケーリングされた参照画素をQビットほど算術左シフトしたものに、最小基準値MinPointを6ビットほど算術左シフトして復元したものを足しこみ、更にスケーリング値Qの値に応じたオフセット値((Q!=0)? (1<<(Q-1)):0)を足しこむことで、逆スケーリング処理を行う。
Figure JPOXMLDOC01-appb-M000029
If the scaling value Q is less than 4, the reference pixel scaled using the operation (29) is arithmetically shifted to the left by Q bits, and the minimum reference value MinPoint is arithmetically shifted to the left by about 6 bits and restored. The inverse scaling process is performed by adding the objects and adding the offset value ((Q! = 0)? (1 << (Q-1)): 0) according to the value of the scaling value Q.
Figure JPOXMLDOC01-appb-M000029
 G[m]は、復元された参照画素群の各画素値を表す。逆スケーリング処理部121の動作によって、スケーリングされた参照画素群の画素ビット長(ここでは8ビット)が、12ビットに拡張される。尚、G[m]の値は、12ビットで表現できる範囲に制限される。 G [m] represents each pixel value of the restored reference pixel group. By the operation of the inverse scaling processing unit 121, the pixel bit length (here, 8 bits) of the scaled reference pixel group is expanded to 12 bits. Note that the value of G [m] is limited to a range that can be expressed by 12 bits.
 上述したように、本実施形態では対象画素群の最大値と最小値の差に基づく適応的なスケーリング・逆スケーリング処理が行われる。このようなスケーリング・逆スケーリング処理を行うことにより、スケーリング前の値B[m]を四捨五入で8ビットに丸めた値D[m]が、4ビットスケーリングの場合のD[0]が0になるべきところを1にした以外、逆スケーリング後の値G[m]を四捨五入で8ビットに丸めた値と、同じ値になることが保証される。B[m]を固定的に8ビットに四捨五入で8ビットに丸めることにより逆スケーリング後の値G[m]を生成する方式に比べて、本実施形態の処理により得られる逆スケーリング後の値G[m]は精度が高い。 As described above, in this embodiment, adaptive scaling / inverse scaling processing based on the difference between the maximum value and the minimum value of the target pixel group is performed. By performing such scaling / inverse scaling processing, the value D [m] obtained by rounding the value B [m] before scaling to 8 bits by rounding off becomes D [0] in the case of 4-bit scaling. Except where the power is set to 1, it is guaranteed that the value G [m] after inverse scaling is rounded to 8 bits by rounding off. Compared to the method of generating a value G [m] after inverse scaling by rounding B [m] to 8 bits by fixed rounding to 8 bits, the value G after inverse scaling obtained by the processing of this embodiment is used. [M] has high accuracy.
 通常、8ビットの画像信号の場合、画素値0や画素値255は、各種の規格では、タイミング基準として使用しない場合あることから、符号化、復号化内部で、D[0]を制限することの実質的な損失はない。 Normally, in the case of an 8-bit image signal, the pixel value 0 and the pixel value 255 may not be used as a timing reference in various standards, and therefore, D [0] is limited within encoding and decoding. There is no substantial loss.
 尚、この以上の説明では、4ビットスケーリングの場合のD[0]の値で0が出現するのを禁止して、4ビット以外のスケーリング値の場合と区別したが、この値は、例えば255等の別の値でも同様な実施が可能である。 In the above description, the occurrence of 0 in the value of D [0] in the case of 4-bit scaling is prohibited and distinguished from the case of a scaling value other than 4 bits. Similar implementations are possible with other values such as.
 また、以上の実施の形態では、8ビットの入力画像の画素値を4ビット拡張して、スケーリング、逆スケーリング処理を行う対象画素群を16画素、スケーリング値Qの最大値を4、最小基準値MinPointの生成時のシフト量を6、最大のスケーリング値でスケーリングした画素値を8ビット、それ以外のスケーリング値のスケーリングした画素値を7ビットとして説明したが、他のいくつかの値でも、同様の構成は可能である。 In the above embodiment, the pixel value of the 8-bit input image is expanded by 4 bits, the target pixel group for performing scaling and inverse scaling processing is 16 pixels, the maximum value of the scaling value Q is 4, and the minimum reference value Although the shift amount at the time of generating MinPoint is 6, the pixel value scaled by the maximum scaling value is 8 bits, and the scaled pixel value of other scaling values is 7 bits, the same applies to some other values. Is possible.
 例えば、具体的には、10ビットの入力画像の画素値を拡張しないで、スケーリング、逆スケーリング処理を行う対象画素群を16画素単位とし、スケーリング値Qの最大値を2とし、最小基準値MinPointの生成時のシフト量を7とし、最大のスケーリング値でスケーリングした画素値のビット長を8ビットとし、それ以外のスケーリング値でスケーリングした画素値のビット長を7ビットとする構成も可能である。 For example, specifically, the pixel value of the 10-bit input image is not expanded, the target pixel group to be subjected to scaling and inverse scaling processing is set to 16 pixel units, the maximum value of the scaling value Q is set to 2, and the minimum reference value MinPoint is set. It is also possible to adopt a configuration in which the shift amount at the time of generation is set to 7, the bit length of the pixel value scaled with the maximum scaling value is set to 8 bits, and the bit length of the pixel value scaled with other scaling values is set to 7 bits. .
 以上説明したように、第4の実施形態に係る動画像符号化装置は、参照画像バッファ部の前後においてスケーリング処理及び逆スケーリング処理を夫々行うことにより、参照画像バッファ部に適用される画素ビット長を他の内部処理(予測処理、フィルタ処理など)に適用される画素ビット長に比べて小さく抑えている。従って、本実施形態に係る動画像符号化装置によれば、より大きな画素ビット長を適用して高精度な予測処理、フィルタ処理などを実現しつつ、参照画像バッファ部に適用される画素ビット長を小さく抑えることが可能となる。また、スケーリング情報とスケーリングされた参照画素群のデータを合わせてバイト単位の固定長で管理することが可能となるため、参照画像バッファでのデータのアクセスが容易になる。 As described above, the video encoding apparatus according to the fourth embodiment performs the scaling process and the inverse scaling process before and after the reference image buffer unit, respectively, so that the pixel bit length applied to the reference image buffer unit Is smaller than the pixel bit length applied to other internal processing (prediction processing, filter processing, etc.). Therefore, according to the video encoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small. Further, since the scaling information and the scaled reference pixel group data can be managed in a fixed length in units of bytes, data access in the reference image buffer is facilitated.
 図17に示すように、本実施形態に係る動画像復号化装置は、復号化部600及び復号化制御部240を有する。復号化部600は、符号化データを復号化して出力画像26を生成する。復号化制御部240は、復号化部600内の種々の要素を制御する。例えば、復号化制御部240は、後述する予測部620などを制御する。尚、図17の動画像復号化装置におけるスケーリング処理及び逆スケーリング処理は、図16の動画像符号化装置におけるスケーリング処理及び逆スケーリング処理と実質的に同一または類似なので、詳細な説明を省略する。 As illustrated in FIG. 17, the moving picture decoding apparatus according to the present embodiment includes a decoding unit 600 and a decoding control unit 240. The decoding unit 600 generates the output image 26 by decoding the encoded data. The decoding control unit 240 controls various elements in the decoding unit 600. For example, the decoding control unit 240 controls the prediction unit 620 and the like described later. Note that the scaling process and the inverse scaling process in the moving picture decoding apparatus in FIG. 17 are substantially the same as or similar to the scaling process and the inverse scaling process in the moving picture encoding apparatus in FIG.
 復号化部600は、エントロピー復号化部401、逆量子化/逆変換部202、加算部203、ループフィルタ部610、参照画像バッファ部604、予測部620及びビット長正規化部430を含む。 The decoding unit 600 includes an entropy decoding unit 401, an inverse quantization / inverse transformation unit 202, an addition unit 203, a loop filter unit 610, a reference image buffer unit 604, a prediction unit 620, and a bit length normalization unit 430.
 エントロピー復号化部401については、既に第2の実施の形態で説明したものと同様である。 The entropy decoding unit 401 is the same as that already described in the second embodiment.
 逆量子化/逆変換部202及び加算部203は、前述の逆量子化/逆変換部104及び加算部105と実質的に同一または類似の要素である。即ち、逆量子化/逆変換部202は、エントロピー復号化部401からの量子化変換係数に対して逆量子化及び逆変換(例えば、逆離散コサイン変換(IDCT)など)を行って、予測誤差を復元する。加算部203は、逆量子化/逆変換部202によって復元された予測誤差と、予測部620からの対応する予測画像とを加算し、復号画像22を生成する。 The inverse quantization / inverse transformation unit 202 and the addition unit 203 are substantially the same or similar elements as the inverse quantization / inverse transformation unit 104 and the addition unit 105 described above. That is, the inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 401 to generate a prediction error. To restore. The adding unit 203 adds the prediction error restored by the inverse quantization / inverse transform unit 202 and the corresponding prediction image from the prediction unit 620 to generate a decoded image 22.
 ループフィルタ部610は、前述のループフィルタ部510と実質的に同一または類似の要素である。即ち、ループフィルタ部610は、エントロピー復号化部401からのループフィルタ情報23に従って、加算部203からの復号画像22内の対象画素群に対して、フィルタ処理またはフィルタ処理を経由しないバイパス処理を行う。また、ループフィルタ部610は、フィルタ処理結果群またはバイパス処理結果群(即ち、対象画素群)に対して前述のスケーリング処理を行って画素ビット長を縮小する。ループフィルタ部610は、このスケーリング処理結果群として、スケーリングされた参照画素群24と、スケーリング処理に関するスケーリング情報25とを参照画像バッファ部604に供給する。 The loop filter unit 610 is an element that is substantially the same as or similar to the loop filter unit 510 described above. That is, the loop filter unit 610 performs a filtering process or a bypass process that does not pass the filtering process on the target pixel group in the decoded image 22 from the adding unit 203 according to the loop filter information 23 from the entropy decoding unit 401. . Further, the loop filter unit 610 reduces the pixel bit length by performing the above-described scaling processing on the filter processing result group or the bypass processing result group (that is, the target pixel group). The loop filter unit 610 supplies the scaled reference pixel group 24 and the scaling information 25 related to the scaling process to the reference image buffer unit 604 as the scaling process result group.
 参照画像バッファ部604は、ループフィルタ部610からのスケーリングされた参照画素群24とスケーリング情報25とを蓄積する。参照画像バッファ部604に蓄積された参照画素群24とスケーリング情報25とは、予測部620またはビット長正規化部430によって必要に応じて読み出される。例えば、ビット長正規化部430は、出力画像26の生成のために、表示順序に従って所望の(即ち、出力画像26の生成に必要な)参照画素群及び対応するスケーリング情報を読み出す。 The reference image buffer unit 604 stores the scaled reference pixel group 24 and the scaling information 25 from the loop filter unit 610. The reference pixel group 24 and the scaling information 25 accumulated in the reference image buffer unit 604 are read by the prediction unit 620 or the bit length normalization unit 430 as necessary. For example, in order to generate the output image 26, the bit length normalization unit 430 reads out a desired reference pixel group (ie, necessary for generating the output image 26) and corresponding scaling information according to the display order.
 予測部620は、前述の予測部520と実質的に同一または類似の要素である。即ち、予測部620は、必要に応じて参照画像バッファ部604からスケーリングされた参照画素群及びスケーリング情報を夫々読み出す。予測部620は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを、スケーリング情報に従って適用して参照画像を復元する。予測部620は、エントロピー復号化部401からの動きベクトル情報及び復元した参照画像に基づいて予測画像を生成する。予測部620は、予測画像を加算部203に供給する。 The prediction unit 620 is an element that is substantially the same as or similar to the prediction unit 520 described above. That is, the prediction unit 620 reads the scaled reference pixel group and scaling information from the reference image buffer unit 604 as necessary. The prediction unit 620 restores the reference image by applying inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information. The prediction unit 620 generates a prediction image based on the motion vector information from the entropy decoding unit 401 and the restored reference image. The prediction unit 620 supplies the predicted image to the addition unit 203.
 ビット長正規化部430は、必要に応じて参照画像バッファ部604からスケーリングされた参照画素群及びスケーリング情報を夫々読み出す。ビット長正規化部430は、スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを、スケーリング情報に従って適用して、所望の画素ビット長U(ここで、ビット長正規化部430の動作に関する画素ビット長Uは、予測部620の動作に関する画素ビット長Uと必ずしも一致しない)に正規化された出力画像26を生成する。ビット長正規化部430は、出力画像26を外部に供給する。尚、出力画像26の画素ビット長は、例えば動画像符号化装置における入力画像11の画素ビット長と同じであってもよいし、異なっていてもよい。また、復号画像22をそのまま(ループフィルタ部610を経由させず、かつ、画素ビット長を変更させずに)出力画像26として利用する場合には、ビット長正規化部430を省略することも可能である。ビット長正規化部430は、エントロピー復号化部401からの内部画素ビット長情報47に従って出力画像26のビット長正規化を行ってもよい。 The bit length normalization unit 430 reads the scaled reference pixel group and the scaling information from the reference image buffer unit 604 as necessary. The bit length normalization unit 430 applies inverse scaling that extends the pixel bit length to the scaled reference pixel group according to the scaling information, and obtains a desired pixel bit length U (here, the bit length normalization unit 430). The pixel bit length U related to the operation of the prediction unit 620 does not necessarily match the pixel bit length U related to the operation of the prediction unit 620). The bit length normalization unit 430 supplies the output image 26 to the outside. Note that the pixel bit length of the output image 26 may be the same as or different from the pixel bit length of the input image 11 in the moving image encoding device, for example. When the decoded image 22 is used as it is as the output image 26 (without passing through the loop filter unit 610 and without changing the pixel bit length), the bit length normalization unit 430 can be omitted. It is. The bit length normalization unit 430 may perform bit length normalization of the output image 26 according to the internal pixel bit length information 47 from the entropy decoding unit 401.
 以上説明したように、第4の実施形態に係る動画像復号化装置は、参照画像バッファ部に適用される画素ビット長を他の内部処理(予測処理、フィルタ処理など)に適用される画素ビット長に比べて小さく抑えることができ、しかも参照画像バッファ部にスケーリングされた参照画素群とスケーリング情報を同時に蓄積することができる。従って、本実施形態に係る動画像復号化装置によれば、より大きな画素ビット長を適用して高精度な予測処理、フィルタ処理などを実現しつつ、参照画像バッファ部に適用される画素ビット長を小さく抑えることが可能となる。また、スケーリング情報とスケーリングされた参照画素群のデータを合わせてバイト単位の固定長で管理することが可能となるため、参照画像バッファでのデータのアクセスが容易になる。 As described above, the moving picture decoding apparatus according to the fourth embodiment uses the pixel bit length applied to the reference image buffer unit as the pixel bit applied to other internal processing (prediction processing, filter processing, etc.). The reference pixel group and the scaling information can be simultaneously stored in the reference image buffer unit. Therefore, according to the video decoding device according to the present embodiment, the pixel bit length applied to the reference image buffer unit while realizing a highly accurate prediction process, filter process, and the like by applying a larger pixel bit length. Can be kept small. Further, since the scaling information and the scaled reference pixel group data can be managed in a fixed length in units of bytes, data access in the reference image buffer is facilitated.
 (第5の実施形態) 
 第5の実施の形態においては、スケーリング情報とスケーリングした参照画像群とを参照画像バッファに蓄積することに代えて、スケーリングによって生じる画素精度の劣化の程度を制御する方法を示す。第5の実施の形態によれば、参照画像バッファの前後でのスケーリング処理及び逆スケーリングの有無にかかわらず、符号化の結果と復号化の結果とを一致させることが可能となる。
(Fifth embodiment)
In the fifth embodiment, instead of accumulating scaling information and a scaled reference image group in a reference image buffer, a method for controlling the degree of deterioration of pixel accuracy caused by scaling will be described. According to the fifth embodiment, it is possible to match the encoding result and the decoding result regardless of the presence or absence of scaling processing and inverse scaling before and after the reference image buffer.
 図20に示すように、第5の実施形態に係る動画像符号化装置は、符号化部700及び符号化制御部140を有する。符号化部700は、入力画像11を符号化して符号化データを生成する。符号化制御部140は、符号化部700内の種々の要素を制御する。例えば、符号化制御部140は、予測部720などを制御する。 As illustrated in FIG. 20, the moving image encoding apparatus according to the fifth embodiment includes an encoding unit 700 and an encoding control unit 140. The encoding unit 700 encodes the input image 11 to generate encoded data. The encoding control unit 140 controls various elements in the encoding unit 700. For example, the encoding control unit 140 controls the prediction unit 720 and the like.
 符号化部700は、ビット長拡張部309、減算部101、変換/量子化部102、エントロピー符号化部703、逆量子化/逆変換部104、加算部105、参照画像バッファ部707、ループフィルタ部710、画素精度制御部721、予測部720及び動きベクトル生成部730を含む。 The encoding unit 700 includes a bit length extension unit 309, a subtraction unit 101, a transform / quantization unit 102, an entropy encoding unit 703, an inverse quantization / inverse transform unit 104, an addition unit 105, a reference image buffer unit 707, a loop filter. A unit 710, a pixel accuracy control unit 721, a prediction unit 720, and a motion vector generation unit 730.
 ビット長拡張部309は、既に第2の実施の形態で説明したものと同様である。但し、第5の実施の形態における画素ビット長が拡張されている部分は、図20及び図21で示されるように符号化部、復号化部の全体である必要はなく、当該実施の形態において説明しているループフィルタ部710、810の出力及び、予測部720、820の入力までの部分で画素ビット長が拡張されていれば実現可能である。 The bit length extension unit 309 is the same as that already described in the second embodiment. However, the part in which the pixel bit length is extended in the fifth embodiment does not have to be the entire encoding unit and decoding unit as shown in FIGS. 20 and 21, and in this embodiment, This can be realized if the pixel bit length is extended up to the output of the loop filter units 710 and 810 and the input of the prediction units 720 and 820 described.
 減算部101は、予測部720からの予測画像を入力画像11から減算し、予測誤差を得る。変換/量子化部102は、減算部101からの予測誤差に対して変換(例えば、離散コサイン変換(DCT)など)及び量子化を行って、量子化された変換係数の情報(以下、単に量子化変換係数と称する)を得る。 The subtraction unit 101 subtracts the prediction image from the prediction unit 720 from the input image 11 to obtain a prediction error. The transform / quantization unit 102 performs transform (for example, discrete cosine transform (DCT)) and quantization on the prediction error from the subtraction unit 101, and quantizes information on transform coefficients (hereinafter simply referred to as quantum). (Referred to as conversion coefficient).
 エントロピー符号化部703は、変換/量子化部102からの量子化変換係数と、動きベクトル生成部730からの動きベクトル情報と、画素ビット長拡張情報に対してエントロピー符号化を行う。尚、エントロピー符号化部703は、これらとは別の情報(例えば、予測モード情報)を更にエントロピー符号化してもよい。エントロピー符号化の種別は、例えば、可変長符号化、算術符号化などである。エントロピー符号化部703は、エントロピー符号化によって得られる符号化データを外部に出力する。 The entropy encoding unit 703 performs entropy encoding on the quantized transform coefficient from the transform / quantization unit 102, the motion vector information from the motion vector generation unit 730, and the pixel bit length extension information. Note that the entropy encoding unit 703 may further entropy encode information other than these (for example, prediction mode information). The type of entropy encoding is, for example, variable length encoding or arithmetic encoding. The entropy encoding unit 703 outputs encoded data obtained by entropy encoding to the outside.
 逆量子化/逆変換部104は、変換/量子化部102からの量子化変換係数に対して逆量子化及び逆変換(例えば、逆離散コサイン変換(IDCT)など)を行って、予測誤差を復元する。加算部105は、逆量子化/逆変換部104によって復元された予測誤差と、予測部720からの対応する予測画像とを加算し、局所復号画像12を生成する。 The inverse quantization / inverse transform unit 104 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the transform / quantization unit 102, thereby reducing a prediction error. Restore. The adding unit 105 adds the prediction error restored by the inverse quantization / inverse transform unit 104 and the corresponding prediction image from the prediction unit 720 to generate the local decoded image 12.
 ループフィルタ部710は、加算部106から局所復号画像12を受け取り、局所復号化画像12について、デブロッキング処理、または画像復元処理などのループフィルタ処理を行い、復号化画像信号を生成する。 The loop filter unit 710 receives the local decoded image 12 from the adding unit 106, performs a loop filter process such as a deblocking process or an image restoration process on the local decoded image 12, and generates a decoded image signal.
 参照画像バッファ部707は、ループフィルタ部710からの復号化画像信号を蓄積する。画像バッファ部707の詳細な動作については図23及び図24を参照して後述する。 The reference image buffer unit 707 stores the decoded image signal from the loop filter unit 710. The detailed operation of the image buffer unit 707 will be described later with reference to FIGS.
 画素精度制御部721は、参照画像バッファ部707に蓄積される復号化画像信号のうちで予測処理に用いられる復号化画像信号(以下、参照画像信号という)と、ビット長拡張部309からの画素ビット長拡張情報とを受け取る。画素精度制御部721は、スケーリングによって生じる画素精度の劣化の程度を制御する処理を行う。画素精度制御部721の詳細な動作については図22を参照して後述する。 The pixel accuracy control unit 721 includes a decoded image signal (hereinafter referred to as a reference image signal) used for prediction processing among the decoded image signals stored in the reference image buffer unit 707, and pixels from the bit length extension unit 309. Bit length extension information is received. The pixel accuracy control unit 721 performs processing for controlling the degree of deterioration in pixel accuracy caused by scaling. Detailed operation of the pixel accuracy control unit 721 will be described later with reference to FIG.
 動きベクトル生成部730は、ビット長拡張部309からの画像信号を、画素精度制御部721から参照画像信号をそれぞれ受け取り、動きベクトルを算出して動きベクトル情報を生成する。動きベクトル生成部730は、動きベクトル情報を予測部720及びエントロピー符号化部703に通知する。 The motion vector generation unit 730 receives the image signal from the bit length extension unit 309 and the reference image signal from the pixel accuracy control unit 721, calculates a motion vector, and generates motion vector information. The motion vector generation unit 730 notifies the motion vector information to the prediction unit 720 and the entropy encoding unit 703.
 以下、図22を用いて画素精度制御部721の動作の詳細を説明する。 Hereinafter, details of the operation of the pixel accuracy control unit 721 will be described with reference to FIG.
 第5の実施の形態においては、画素精度制御の処理の単位を16画素として説明する。尚、16画素単位は、例えば、4×4画素ブロック単位とするが、形状についての制約はない。また、対象画素群の画素ビット長を8ビット、画素拡張ビット数は4ビットとして説明する。尚、対象画素群の画素ビット長及び画素拡張ビット数はこれら特定のビット数に限定されない。 In the fifth embodiment, description will be made assuming that the unit of pixel accuracy control processing is 16 pixels. The 16-pixel unit is, for example, a 4 × 4 pixel block unit, but there is no restriction on the shape. In the following description, the pixel bit length of the target pixel group is 8 bits, and the number of pixel extension bits is 4 bits. Note that the pixel bit length and the pixel extension bit number of the target pixel group are not limited to these specific bit numbers.
 画素精度制御部721は、対象画素群の画素値の最大値Max及び最小値Minを探索する(ステップS712-1)。但し、最大値Maxの値の上限を例えば212-1とする。即ち、最大値Maxの値が212-1を超えるならば、最大値Maxの値は212-1であるとして取り扱う。最大値Maxの値の上限を例えば(255×2)とする方法もある。この場合、最大値Maxの値が(255×2)を超えるならば、最大値Maxの値は(255×2)であるとして取り扱う。 The pixel accuracy control unit 721 searches for the maximum value Max and the minimum value Min of the pixel values of the target pixel group (step S712-1). However, the upper limit of the maximum value Max is set to 2 12 −1, for example. That is, if the value of the maximum value Max exceeds 2 12 −1, the value of the maximum value Max is handled as 2 12 −1. There is also a method in which the upper limit of the maximum value Max is, for example, (255 × 2 4 ). In this case, if the maximum value Max exceeds (255 × 2 4 ), the maximum value Max is handled as (255 × 2 4 ).
 次に、画素精度制御部721は、対象画素群のスケーリング量Qを導出する(ステップS712-2)。具体的には、次の演算(30)を実行することによって、スケーリング量Qを導出する。
Figure JPOXMLDOC01-appb-M000030
Next, the pixel accuracy control unit 721 derives the scaling amount Q of the target pixel group (step S712-2). Specifically, the scaling amount Q is derived by executing the following calculation (30).
Figure JPOXMLDOC01-appb-M000030
 スケーリング量Qは、0から4までのいずれかの整数値を取り得る。 The scaling amount Q can take any integer value from 0 to 4.
 次に、画素精度制御部721は、導出したスケーリング量Qに従って、各画素値にスケーリングを適用する(ステップS712-3)。具体的には、画素精度制御部721は、以下の演算(31)、(32)、(33)に従って、画素精度制御された参照画素群の各画素値G[m]を生成する。 Next, the pixel accuracy control unit 721 applies scaling to each pixel value according to the derived scaling amount Q (step S712-3). Specifically, the pixel accuracy control unit 721 generates each pixel value G [m] of the reference pixel group whose pixel accuracy is controlled according to the following calculations (31), (32), and (33).
 もし、スケーリング量Qが4の場合、演算(31)を実行することでスケーリングされた参照画素群を生成する。この時、対象画素群の最初の画素P[0]については、画素精度制御された画素値G[0]が0にならないように、P[0]が8より小さい値のときは、16とする。それ以外の場合は、8を足したのち、下位4ビットにゼロ詰めを行う。
Figure JPOXMLDOC01-appb-M000031
If the scaling amount Q is 4, the scaled reference pixel group is generated by executing the calculation (31). At this time, for the first pixel P [0] of the target pixel group, when P [0] is a value smaller than 8 so that the pixel value G [0] whose pixel accuracy is controlled is not 0, 16 To do. Otherwise, after adding 8, zero padding is performed on the lower 4 bits.
Figure JPOXMLDOC01-appb-M000031
 スケーリング量Qが0場合は、以下の演算(32)のように、入力画素値をそのまま、出力値とする。
Figure JPOXMLDOC01-appb-M000032
When the scaling amount Q is 0, the input pixel value is used as the output value as it is as in the following calculation (32).
Figure JPOXMLDOC01-appb-M000032
 スケーリング量Qが上記以外の値の場合は、以下の演算(33)に従って、下位Qビットにゼロ詰めを行い、オフセット値(1<<(Q-1))を足す。
Figure JPOXMLDOC01-appb-M000033
When the scaling amount Q is a value other than the above, the lower Q bits are zero-padded according to the following calculation (33), and the offset value (1 << (Q-1)) is added.
Figure JPOXMLDOC01-appb-M000033
 尚、スケーリング量Qが4の場合のG[0]は、16から255×2の値に制限されているが、それ以外の場合は、0から255×2までの値に制限されるものとする。この例では、P[0]が8より小さい場合にG[0]に0が出現しないようにしているが、この値は、0以外でもよく、例えば255として、G[0]は、0から254×2の値に制限する方法もある。 Incidentally, G [0] if the scaling amount Q is 4, but is limited to 16 to a value of 255 × 2 4, otherwise, is limited to a value of from 0 to 255 × 2 4 Shall. In this example, when P [0] is smaller than 8, 0 does not appear in G [0]. However, this value may be other than 0. For example, 255, G [0] there is also a method of limiting the value of 254 × 2 4.
 また、入力画像信号の画素値は、値の制限が入る場合があるので、例えば、輝度信号に対して、16×2ら235×2までの範囲、色差信号に対して、16×2から240×2までの値に制限するという手法でもよい。この場合、スケーリング量Qが4の場合のG[0]の値は制限する必要はない。 In addition, since the pixel value of the input image signal may be limited, for example, the range from 16 × 2 4 to 235 × 2 4 for the luminance signal and 16 × 2 for the color difference signal. 4 may be a technique that limits a value of up to 240 × 2 4. In this case, it is not necessary to limit the value of G [0] when the scaling amount Q is 4.
 また、本実施の形態では、第4の実施の形態のスケーリング処理、逆スケーリング処理に対応する画素精度の制御の方法を示したが、別のスケーリングの方法を採用する場合、例えば12ビットを固定的に8ビットに丸める場合は、式(34)の処理を画面全体に対して行えばよい。
Figure JPOXMLDOC01-appb-M000034
In the present embodiment, the pixel accuracy control method corresponding to the scaling process and the inverse scaling process of the fourth embodiment has been described. However, when another scaling method is employed, for example, 12 bits are fixed. In the case of rounding to 8 bits, the processing of Expression (34) may be performed on the entire screen.
Figure JPOXMLDOC01-appb-M000034
 次に、図23及び図24を用いて参照画像バッファ707の動作の詳細を説明する。 Next, details of the operation of the reference image buffer 707 will be described with reference to FIGS.
 図23は、参照フレーム部の前後にスケーリング処理部113と逆スケーリング処理部121が存在する場合の例を示している。このスケーリング処理部113と逆スケーリング処理部121は、第4の実施の形態で示したものと同一であり、画素ビット長拡張情報に基づき、図6のスケーリング処理と、図8の逆スケーリング処理とを行う。一方、図24の参照画像バッファ部では、参照フレーム部の前後にスケーリング処理部113と逆スケーリング処理部121が存在しない場合の例を示している。 FIG. 23 shows an example in which the scaling processing unit 113 and the inverse scaling processing unit 121 exist before and after the reference frame unit. The scaling processing unit 113 and the inverse scaling processing unit 121 are the same as those shown in the fourth embodiment. Based on the pixel bit length extension information, the scaling processing of FIG. 6 and the inverse scaling processing of FIG. I do. On the other hand, the reference image buffer unit in FIG. 24 shows an example in which the scaling processing unit 113 and the inverse scaling processing unit 121 do not exist before and after the reference frame unit.
 第5の実施の形態においては、画素精度制御部721を導入したことにより、参照画像バッファ部707の構成が図23に示した構成であっても、図24に示した構成であっても、画素精度制御部721からの出力結果は同一になる。つまり、参照画像バッファ部でのスケーリング処理及び逆スケーリングの有無にかかわらず、同一の結果が得られ、実装方法によってスケーリング処理及び逆スケーリング処理の導入を選択することが可能となる。 In the fifth embodiment, by introducing the pixel accuracy control unit 721, the configuration of the reference image buffer unit 707 is the configuration shown in FIG. 23 or the configuration shown in FIG. The output results from the pixel accuracy control unit 721 are the same. That is, the same result can be obtained regardless of the presence or absence of the scaling process and the inverse scaling in the reference image buffer unit, and the introduction of the scaling process and the inverse scaling process can be selected depending on the mounting method.
 従って、これまでの説明では、画素精度制御部721の位置は参照画像バッファ707の後に位置していたが、画素精度制御部721が参照画像バッファ707の前に位置しても構わない。また、図23の参照画像バッファ707の構成の場合、画素精度制御部721が存在しなくても、同一の符号化、復号化の結果が得られる。 Therefore, in the description so far, the position of the pixel accuracy control unit 721 is positioned after the reference image buffer 707, but the pixel accuracy control unit 721 may be positioned before the reference image buffer 707. In the case of the configuration of the reference image buffer 707 in FIG. 23, the same encoding and decoding results can be obtained even if the pixel accuracy control unit 721 does not exist.
 また、以上の第5の実施の形態では、8ビットの入力画像の画素値を4ビット拡張することとし、画素精度制御処理を行う対象画素群の単位を16画素とし、スケーリング値Qの最大値を4として説明したが、他のいくつかの値でも、同様の構成が可能である。 Further, in the above fifth embodiment, the pixel value of the 8-bit input image is expanded by 4 bits, the target pixel group for performing the pixel accuracy control processing is set to 16 pixels, and the maximum value of the scaling value Q However, the same configuration is possible with some other values.
 具体的には、例えば、10ビットの入力画像の画素値を拡張しないこととし、スケーリング及び逆スケーリング処理を行う対象画素群の単位を16画素とし、スケーリング値Qの最大値を2にするという構成も可能である。 Specifically, for example, the pixel value of the 10-bit input image is not expanded, the unit of the target pixel group for performing the scaling and inverse scaling processing is 16 pixels, and the maximum value of the scaling value Q is 2. Is also possible.
 以上説明したように、第5の実施形態に係る動画像符号化装置は、スケーリング情報とスケーリングした参照画像群とを参照画像バッファに蓄積するのではなく、スケーリングによって生じる画素精度の劣化の程度を制御する方法を示した。スケーリング処理及び逆スケーリングの有無にかかわらず、符号化の結果と復号化の結果とを一致させることができ、実装方法によってスケーリング処理及び逆スケーリング処理の導入を選択することが可能となる。 As described above, the moving picture coding apparatus according to the fifth embodiment does not store scaling information and the scaled reference picture group in the reference picture buffer, but rather determines the degree of deterioration in pixel accuracy caused by scaling. Shown how to control. Regardless of the presence or absence of the scaling process and the inverse scaling, the encoding result and the decoding result can be matched, and the introduction of the scaling process and the inverse scaling process can be selected according to the mounting method.
 図21に示すように、本実施形態に係る動画像復号化装置は、復号化部800及び復号化制御部240を有する。復号化部800は、符号化データを復号化して出力画像26を生成する。復号化制御部240は、復号化部600内の種々の要素を制御する。例えば、復号化制御部240は、予測部820などを制御する。尚、図21の動画像復号化装置における画素精度制御部806は、図20の動画像符号化装置における画素精度制御部721と同一である。 As shown in FIG. 21, the moving picture decoding apparatus according to this embodiment includes a decoding unit 800 and a decoding control unit 240. The decoding unit 800 generates the output image 26 by decoding the encoded data. The decoding control unit 240 controls various elements in the decoding unit 600. For example, the decoding control unit 240 controls the prediction unit 820 and the like. 21 is the same as the pixel accuracy control unit 721 in the moving image encoding device in FIG.
 復号化部800は、エントロピー復号化部801、逆量子化/逆変換部202、加算部203、ループフィルタ部810、参照画像バッファ部804及び予測部820を含む。 The decoding unit 800 includes an entropy decoding unit 801, an inverse quantization / inverse transform unit 202, an addition unit 203, a loop filter unit 810, a reference image buffer unit 804, and a prediction unit 820.
 エントロピー復号化部801は、例えば図20の動画像符号化装置によって生成された符号化データに対してシンタクス情報に従ってエントロピー復号化を行う。エントロピー復号化部801は、復号化された量子化変換係数を逆量子化/逆変換部202に供給し、復号化された動きベクトル情報を予測部820に供給し、復号化された画素ビット拡張情報を画素精度制御部806に供給する。 The entropy decoding unit 801 performs entropy decoding according to the syntax information, for example, on the encoded data generated by the moving image encoding device in FIG. The entropy decoding unit 801 supplies the decoded quantized transform coefficient to the inverse quantization / inverse transform unit 202, supplies the decoded motion vector information to the prediction unit 820, and decodes the decoded pixel bit extension Information is supplied to the pixel accuracy control unit 806.
 逆量子化/逆変換部202及び加算部203は、前述の逆量子化/逆変換部104及び加算部105と実質的に同一または類似の要素である。即ち、逆量子化/逆変換部202は、エントロピー復号化部201からの量子化変換係数に対して逆量子化及び逆変換(例えば、逆離散コサイン変換(IDCT)など)を行って、予測誤差を復元する。加算部203は、逆量子化/逆変換部202によって復元された予測誤差と、予測部620からの対応する予測画像とを加算し、復号画像22を生成する。 The inverse quantization / inverse transformation unit 202 and the addition unit 203 are substantially the same or similar elements as the inverse quantization / inverse transformation unit 104 and the addition unit 105 described above. That is, the inverse quantization / inverse transform unit 202 performs inverse quantization and inverse transform (for example, inverse discrete cosine transform (IDCT), etc.) on the quantized transform coefficient from the entropy decoding unit 201 to generate a prediction error. To restore. The adding unit 203 adds the prediction error restored by the inverse quantization / inverse transform unit 202 and the corresponding prediction image from the prediction unit 620 to generate a decoded image 22.
 ループフィルタ部810は、ループフィルタ部710と同様に、加算部203から復号化画像信号を受け取り、復号化画像信号にループフィルタ処理を行う。 Similarly to the loop filter unit 710, the loop filter unit 810 receives the decoded image signal from the adding unit 203 and performs loop filter processing on the decoded image signal.
 参照画像バッファ部804は、参照画像バッファ部707と同じであり、図23あるいは図24のどちらの構成を採ることもできる。参照画像バッファ部804は、ループフィルタ部810からのフィルタ処理後の復号化画像信号を蓄積する。また、外部からの要求に応じて、参照画像バッファ部804から復号化画像信号が参照画像信号として抽出され、参照画像信号が表示順序に従って出力される。 The reference image buffer unit 804 is the same as the reference image buffer unit 707, and can adopt either the configuration of FIG. 23 or FIG. The reference image buffer unit 804 stores the decoded image signal after the filter processing from the loop filter unit 810. Also, in response to an external request, the decoded image signal is extracted as a reference image signal from the reference image buffer unit 804, and the reference image signal is output in accordance with the display order.
 画素精度制御部806は、上述した画素精度制御部721と同様の構成であって、参照画像バッファ部804から参照画像信号を受け取り、エントロピー復号化部801から画素ビット長拡張情報を受け取る。詳細な処理内容は、画素精度制御部721と同一である。 The pixel accuracy control unit 806 has the same configuration as the pixel accuracy control unit 721 described above, receives a reference image signal from the reference image buffer unit 804, and receives pixel bit length extension information from the entropy decoding unit 801. Detailed processing contents are the same as those of the pixel accuracy control unit 721.
 尚、図21における画素精度制御部806の位置は、参照画像バッファ部804の後に位置しているが、参照画像バッファ部804の前に位置しても構わない。また、参照画像バッファ部804を図23の参照画像バッファ部と同じ構成とした場合、画素精度制御部806が存在しなくても、符号化の結果と、復号化の結果とは同一となる。 The position of the pixel accuracy control unit 806 in FIG. 21 is positioned after the reference image buffer unit 804, but may be positioned before the reference image buffer unit 804. Further, when the reference image buffer unit 804 has the same configuration as the reference image buffer unit of FIG. 23, the encoding result and the decoding result are the same even if the pixel accuracy control unit 806 does not exist.
 予測部820は、予測部720と同様に、画素精度制御部806から参照画像信号を受け取り、エントロピー復号化部801から動きベクトル情報を受け取り、予測処理を行って予測画像信号を生成する。予測部820は、予測画像を加算部203に供給する。 Like the prediction unit 720, the prediction unit 820 receives a reference image signal from the pixel accuracy control unit 806, receives motion vector information from the entropy decoding unit 801, performs prediction processing, and generates a predicted image signal. The prediction unit 820 supplies the predicted image to the addition unit 203.
 以上説明したように、第5の実施形態に係る動画像復号化装置は、スケーリング情報とスケーリングした参照画像群を参照画像バッファに蓄積するのではなく、スケーリングによって生じる画素精度の劣化の程度を制御する方法を示した。スケーリング処理、逆スケーリングの有無にかかわらず、符号化、復号化の結果を一致させることができ、実装方法によってスケーリング処理及び逆スケーリング処理の導入を選択することが可能となる。 As described above, the moving picture decoding apparatus according to the fifth embodiment does not store scaling information and the scaled reference picture group in the reference picture buffer, but controls the degree of deterioration in pixel accuracy caused by scaling. Showed how to do. Regardless of the presence or absence of scaling processing and inverse scaling, the results of encoding and decoding can be matched, and introduction of scaling processing and inverse scaling processing can be selected depending on the implementation method.

 尚、前述の第1乃至第5の実施形態において説明した各種処理は、プログラム(ソフトウェア)の実行によって実現されてもよい。汎用の計算機システムが、各実施形態に係る処理を実現するためのプログラムが記憶された記憶媒体からこれを読み込み、CPUなどによって実行することにより、各実施形態に係る動画像符号化装置及び動画像復号化装置として動作し、同様の効果をもたらす。

The various processes described in the first to fifth embodiments may be realized by executing a program (software). A general-purpose computer system reads a program from a storage medium storing a program for realizing the processing according to each embodiment, and executes the program by a CPU or the like. It operates as a decoding device and brings about the same effect.
 プログラムは、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RWなど)、半導体メモリなど、或いは、これらと同様の他の記憶媒体に記憶されてよい。これら記憶媒体は、プログラムを読み込むコンピュータまたは組み込みシステムによって読み取り可能であればその種別を問わない。コンピュータまたは組み込みシステムは、ネットワークなどの通信媒体を介してプログラムを取得してもよいし、読み込んでもよい。即ち、LAN(ローカルエリアネットワーク)、インターネットなどの通信媒体を介してプログラムをダウンロードして、記憶(一時記憶を含む)する媒体もまた、「記憶媒体」という用語の範疇に含まれる。また、プログラムが複数の記憶媒体に分散して記憶される場合には、「記憶媒体」という用語は複数の記憶媒体を包括的に指すこともできる。 Programs include 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 the like. It may be stored in other storage media. These storage media may be of any type as long as they can be read by a computer or an embedded system that reads the program. The computer or the embedded system may acquire or read the program via a communication medium such as a network. That is, a medium that downloads a program via a communication medium such as a LAN (local area network) or the Internet and stores (including temporary storage) the program is also included in the category of “storage medium”. When the program is distributed and stored in a plurality of storage media, the term “storage medium” can also refer to a plurality of storage media comprehensively.
 また、コンピュータまたは組み込みシステムは、パーソナルコンピュータ、マイクロコントローラなどの単一の装置であってもよいし、複数の装置がネットワーク接続されたシステムであってもよい。更に、「コンピュータ」という用語は、いわゆるパーソナルコンピュータに限定されず、情報処理装置に含まれる演算処理ユニット、マイクロコントローラなどを含む、プログラムを実行可能な装置を包括的に指すことができる。 Further, the computer or the embedded system may be a single device such as a personal computer or a microcontroller, or may be a system in which a plurality of devices are connected to a network. Further, the term “computer” is not limited to a so-called personal computer, and can comprehensively refer to an apparatus capable of executing a program, including an arithmetic processing unit, a microcontroller, and the like included in an information processing apparatus.
 各実施形態に係る処理の一部が、コンピュータ上で稼働するOS(オペレーティングシステム)、データベース管理ソフトウェア、ネットワークなどのMW(ミドルウェア)などの機能を利用して実行されてもよい。 A part of the processing according to each embodiment may be executed using a function such as an OS (operating system) operating on a computer, database management software, MW (middleware) such as a network.
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
 11・・・入力画像
 12・・・局所復号画像
 13,23・・・ループフィルタ情報
 14,24・・・スケーリングされた参照画素群
 15,25・・・スケーリング情報
 22・・・復号画像
 26・・・出力画像
 37,47・・・内部ビット長情報
 100,300,500,700・・・符号化部
 101・・・減算部
 102・・・変換/量子化部
 103,303,703・・・エントロピー符号化部
 104・・・逆量子化/逆変換部
 105・・・加算部
 106・・・ループフィルタ設定部
 107,507・・・参照画像バッファ部
 108・・・スケーリング情報バッファ部
 110,510・・・ループフィルタ部
 111・・・スイッチ
 112・・・フィルタ処理/スケーリング処理部
 113・・・スケーリング処理部
 120,520・・・予測部
 121・・・逆スケーリング処理部
 122・・・予測画像生成部
 130,730・・・動きベクトル生成部
 140・・・符号化制御部
 200,400,600,800・・・復号化部
 201,401,801・・・エントロピー復号化部
 202・・・逆量子化/逆変換部
 203・・・加算部
 204,604,707,804・・・参照画像バッファ部
 205・・・スケーリング情報バッファ部
 210,610,710,810・・・ループフィルタ部
 220,620,720,820・・・予測部
 230,430・・・ビット長正規化部
 240・・・復号化制御部
 309・・・ビット長拡張部
 721,806・・・画素精度制御部
DESCRIPTION OF SYMBOLS 11 ... Input image 12 ... Local decoded image 13, 23 ... Loop filter information 14, 24 ... Scaled reference pixel group 15, 25 ... Scaling information 22 ... Decoded image 26. .. Output image 37, 47... Internal bit length information 100, 300, 500, 700... Encoding unit 101... Subtraction unit 102 ... Transform / quantization unit 103, 303, 703. Entropy encoding unit 104 ... inverse quantization / inverse conversion unit 105 ... addition unit 106 ... loop filter setting unit 107, 507 ... reference image buffer unit 108 ... scaling information buffer unit 110, 510 ... Loop filter unit 111 ... Switch 112 ... Filter processing / scaling processing unit 113 ... Scaling processing unit 120, 52 ... Prediction unit 121 ... Inverse scaling processing unit 122 ... Prediction image generation unit 130, 730 ... Motion vector generation unit 140 ... Coding control unit 200, 400, 600, 800 ... Decoding Encoding unit 201, 401, 801 ... Entropy decoding unit 202 ... Inverse quantization / inverse transformation unit 203 ... Addition unit 204, 604, 707, 804 ... Reference image buffer unit 205 ... Scaling Information buffer unit 210, 610, 710, 810 ... Loop filter unit 220, 620, 720, 820 ... Prediction unit 230, 430 ... Bit length normalization unit 240 ... Decoding control unit 309 ...・ Bit length extension part 721,806 ... Pixel accuracy control part

Claims (18)

  1.  局所復号画像内の対象画素群の最大値と最小値に基づいてスケーリング情報を導出し、前記対象画素群に対して画素ビット長を縮小するスケーリングを前記スケーリング情報に従って適用し、スケーリングする特定の画素の値を特定の値について制限することにより、スケーリングされた参照画素群を生成し、前記特定の値が含まれる場合の第1のスケーリング情報の記述又は前記特定の値が含まれない場合の第2のスケーリング情報の記述と、対応するスケーリング情報に従ってスケーリングされた参照画素群とが固定のビット長で表現されたスケーリングブロックを生成するスケーリング処理部と、
     前記スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを前記スケーリング情報に従って適用して参照画像を復元し、前記参照画像に基づいて予測画像を生成する逆スケーリング処理部と、
     入力画像と前記予測画像との間の差分を示す情報を符号化する符号化部とを具備する動画像符号化装置。
    Deriving scaling information based on the maximum value and the minimum value of the target pixel group in the locally decoded image, applying scaling according to the scaling information to reduce the pixel bit length for the target pixel group, and the specific pixel to be scaled By restricting the value of the specific value to a specific value, a scaled reference pixel group is generated, and the description of the first scaling information when the specific value is included or the first when the specific value is not included A scaling processing unit that generates a scaling block in which the description of the scaling information of 2 and the reference pixel group scaled according to the corresponding scaling information are expressed by a fixed bit length;
    Applying an inverse scaling that extends a pixel bit length to the scaled reference pixel group according to the scaling information to restore a reference image, and generating a predicted image based on the reference image;
    A moving image encoding apparatus comprising: an encoding unit that encodes information indicating a difference between an input image and the predicted image.
  2.  前記スケーリング処理部は、
     前記対象画素群における画素値の最大値と最小値によってスケーリング量を決定し、
     最大の前記スケーリング量によってスケーリングする場合には、前記対象画素群の最初の画素のスケーリング結果を前記特定の値以外の値に制限し、Lビット出力の丸め処理によるスケーリングを行い、
     前記最大のスケーリング量以外のスケーリング量によってスケーリングする場合には、スケーリング値と最小値の代表値とで表されるスケーリング情報に従って前記対象画素群をM(M<L)ビットにスケーリングする、請求項1に記載の動画像符号化装置。
    The scaling processing unit
    A scaling amount is determined by the maximum value and the minimum value of the pixel values in the target pixel group,
    When scaling by the maximum scaling amount, the scaling result of the first pixel of the target pixel group is limited to a value other than the specific value, and scaling is performed by rounding the L-bit output,
    The scaling of the target pixel group to M (M <L) bits according to scaling information represented by a scaling value and a representative value of a minimum value when scaling by a scaling amount other than the maximum scaling amount. The moving image encoding apparatus according to 1.
  3.  前記逆スケーリング処理部は、
     前記スケーリングされた参照画素群の最初の画素値が前記特定の値ならば、前記参照画素群を前記最初の画素に続くスケーリング情報に従って逆スケーリングし、
     前記最初の画素値が前記特定の値以外ならば、前記参照画素群を最大のスケーリング量について逆スケーリングする、請求項1に記載の動画像符号化装置。
    The inverse scaling processing unit
    If the first pixel value of the scaled reference pixel group is the specific value, the reference pixel group is inversely scaled according to scaling information following the first pixel;
    The moving image encoding apparatus according to claim 1, wherein if the first pixel value is other than the specific value, the reference pixel group is inversely scaled with respect to a maximum scaling amount.
  4.  前記対象画素群は16画素を単位とし、
     前記スケーリング処理部は、
     前記対象画素群の最大値と最小値によってスケーリング量を決定し、
     前記スケーリング量が4ビットである場合には、最初の画素のスケーリングされた値を0以外の値にする制限の下で、8ビット出力の丸め処理によるスケーリングを行い、
     前記スケーリング量が4ビット未満の場合には、スケーリング値と最小値の代表値をスケーリング情報とし、前記対象画素群を7ビットにスケーリングする、請求項1に記載の動画像符号化装置。
    The target pixel group has 16 pixels as a unit,
    The scaling processing unit
    A scaling amount is determined by the maximum value and the minimum value of the target pixel group,
    When the scaling amount is 4 bits, scaling is performed by rounding the 8-bit output under the restriction that the scaled value of the first pixel is a value other than 0.
    2. The moving picture encoding apparatus according to claim 1, wherein when the scaling amount is less than 4 bits, the representative value of the scaling value and the minimum value is used as scaling information, and the target pixel group is scaled to 7 bits.
  5.  前記対象画素群は16画素を単位とし、
     前記逆スケーリング処理部は、
     前記スケーリングされた参照画素群の最初の8ビットの値が0ならば、続く2ビットによって表されるスケーリング量と、続く6ビットによって表される最小値の代表値とを含むスケジューリング情報に従って前記参照画素群を逆スケーリングし、
     前記スケーリングされた参照画素群の最初の8ビットの値が0以外ならば、前記参照画素群は4ビットのスケーリング量でスケーリングされたものであるとして前記参照画素群を逆スケーリングする、請求項1に記載の動画像符号化装置。
    The target pixel group has 16 pixels as a unit,
    The inverse scaling processing unit
    If the value of the first 8 bits of the scaled reference pixel group is 0, the reference according to scheduling information including a scaling amount represented by the following 2 bits and a representative value of the minimum value represented by the following 6 bits Inverse scaling the pixel group,
    2. If the first 8-bit value of the scaled reference pixel group is non-zero, the reference pixel group is inversely scaled assuming that the reference pixel group is scaled by a 4-bit scaling amount. The moving image encoding apparatus described in 1.
  6.  復号画像内の対象画素群の最大値と最小値に基づいてスケーリング情報を導出し、前記対象画素群に対して画素ビット長を縮小するスケーリングを前記スケーリング情報に従って適用し、スケーリングする特定の画素の値を特定の値について制限することにより、スケーリングされた参照画素群を生成し、前記特定の値が含まれる場合の第1のスケーリング情報の記述又は前記特定の値が含まれない場合の第2のスケーリング情報の記述と、対応するスケーリング情報に従ってスケーリングされた参照画素群とが固定のビット長で表現されたスケーリングブロックを生成するスケーリング処理部と、
     前記スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを前記スケーリング情報に従って適用して参照画像を復元し、前記参照画像に基づいて予測画像を生成する逆スケーリング処理部と、
     入力画像と前記予測画像との間の差分を示す情報を復号化する復号化部とを具備する動画像復号化装置。
    Scaling information is derived based on the maximum value and the minimum value of the target pixel group in the decoded image, and scaling for reducing the pixel bit length is applied to the target pixel group according to the scaling information. A scaled reference pixel group is generated by limiting the value with respect to a specific value, and a description of first scaling information when the specific value is included or a second when the specific value is not included A scaling processing unit that generates a scaling block in which the description of the scaling information and the reference pixel group scaled according to the corresponding scaling information is expressed by a fixed bit length;
    Applying an inverse scaling that extends a pixel bit length to the scaled reference pixel group according to the scaling information to restore a reference image, and generating a predicted image based on the reference image;
    A moving picture decoding apparatus comprising: a decoding unit that decodes information indicating a difference between an input image and the predicted image.
  7.  前記スケーリング処理部は、
     前記対象画素群における画素値の最大値と最小値によってスケーリング量を決定し、
     最大の前記スケーリング量によってスケーリングする場合には、前記対象画素群の最初の画素のスケーリング結果を前記特定の値以外の値に制限し、Lビット出力の丸め処理によるスケーリングを行い、
     前記最大のスケーリング量以外のスケーリング量によってスケーリングする場合には、スケーリング値と最小値の代表値とで表されるスケーリング情報に従って前記対象画素群をM(M<L)ビットにスケーリングする、請求項6に記載の動画像復号化装置。
    The scaling processing unit
    A scaling amount is determined by the maximum value and the minimum value of the pixel values in the target pixel group,
    When scaling by the maximum scaling amount, the scaling result of the first pixel of the target pixel group is limited to a value other than the specific value, and scaling is performed by rounding the L-bit output,
    The scaling of the target pixel group to M (M <L) bits according to scaling information represented by a scaling value and a representative value of a minimum value when scaling by a scaling amount other than the maximum scaling amount. 6. The moving picture decoding apparatus according to 6.
  8.  前記逆スケーリング処理部は、
     前記スケーリングされた参照画素群の最初の画素値が前記特定の値ならば、前記参照画素群を前記最初の画素に続くスケーリング情報に従って逆スケーリングし、
     前記最初の画素値が前記特定の値以外ならば、前記参照画素群を最大のスケーリング量について逆スケーリングする、請求項6に記載の動画像復号化装置。
    The inverse scaling processing unit
    If the first pixel value of the scaled reference pixel group is the specific value, the reference pixel group is inversely scaled according to scaling information following the first pixel;
    The video decoding device according to claim 6, wherein if the first pixel value is other than the specific value, the reference pixel group is inversely scaled with respect to a maximum scaling amount.
  9.  前記対象画素群は16画素を単位とし、
     前記スケーリング処理部は、
     前記対象画素群の最大値と最小値によってスケーリング量を決定し、
     前記スケーリング量が4ビットである場合には、最初の画素のスケーリングされた値を0以外の値にする制限の下で、8ビット出力の丸め処理によるスケーリングを行い、
     前記スケーリング量が4ビット未満の場合には、スケーリング値と最小値の代表値をスケーリング情報とし、前記対象画素群を7ビットにスケーリングする、請求項6に記載の動画像復号化装置。
    The target pixel group has 16 pixels as a unit,
    The scaling processing unit
    A scaling amount is determined by the maximum value and the minimum value of the target pixel group,
    When the scaling amount is 4 bits, scaling is performed by rounding the 8-bit output under the restriction that the scaled value of the first pixel is a value other than 0.
    The moving picture decoding apparatus according to claim 6, wherein when the scaling amount is less than 4 bits, the representative value of the scaling value and the minimum value is used as scaling information, and the target pixel group is scaled to 7 bits.
  10.  前記対象画素群は16画素を単位とし、
     前記逆スケーリング処理部は、
     前記スケーリングされた参照画素群の最初の8ビットの値が0ならば、続く2ビットによって表されるスケーリング量と、続く6ビットによって表される最小値の代表値とを含むスケジューリング情報に従って前記参照画素群を逆スケーリングし、
     前記スケーリングされた参照画素群の最初の8ビットの値が0以外ならば、前記参照画素群は4ビットのスケーリング量でスケーリングされたものであるとして前記参照画素群を逆スケーリングする、請求項6に記載の動画像復号化装置。
    The target pixel group has 16 pixels as a unit,
    The inverse scaling processing unit
    If the value of the first 8 bits of the scaled reference pixel group is 0, the reference according to scheduling information including a scaling amount represented by the following 2 bits and a representative value of the minimum value represented by the following 6 bits Inverse scaling the pixel group,
    7. If the first 8-bit value of the scaled reference pixel group is non-zero, the reference pixel group is inversely scaled assuming that the reference pixel group has been scaled by a 4-bit scaling amount. The moving picture decoding apparatus described in 1.
  11.  局所復号画像内の対象画素群の最大値と最小値に基づいてスケーリング量を導出し、前記対象画素群の下位ビットの値を前記スケーリング量に従って変更することにより、画素精度が制御された参照画素群を生成する画素精度制御部と、
     前記画素精度が制御された参照画素群に基づいて予測画像を生成する予測部と、
     入力画像と前記予測画像との間の差分を示す情報を符号化する符号化部とを具備する動画像符号化装置。
    A reference pixel whose pixel accuracy is controlled by deriving a scaling amount based on the maximum value and the minimum value of the target pixel group in the locally decoded image, and changing the value of the lower bits of the target pixel group according to the scaling amount A pixel accuracy control unit for generating a group;
    A prediction unit that generates a predicted image based on a reference pixel group in which the pixel accuracy is controlled;
    A moving image encoding apparatus comprising: an encoding unit that encodes information indicating a difference between an input image and the predicted image.
  12.  前記画素精度制御部は、
     前記スケーリング量Qが最大値の場合には、当該対象画素群の最初の画素値を特定の値以外に制限し、画素値に2Q-1の値を加算し、下位Qビットにゼロ詰めを行い、
     前記スケーリング量が0の場合には、前記対象画素群をそのまま出力し、
     前記スケーリング量Qが前記最大値でなく0でもない場合には、前記対象画素群の下位Qビットにゼロ詰めを行い、2Q-1の値を加算する、請求項11に記載の動画像符号化装置。
    The pixel accuracy control unit includes:
    When the scaling amount Q is the maximum value, the first pixel value of the target pixel group is limited to a specific value, 2 Q-1 is added to the pixel value, and the lower Q bits are padded with zeros. Done
    When the scaling amount is 0, the target pixel group is output as it is,
    12. The moving image code according to claim 11, wherein when the scaling amount Q is neither the maximum value nor 0, the lower Q bits of the target pixel group are zero-padded and a value of 2Q -1 is added. Device.
  13.  前記画素精度制御部は、
     前記スケーリング量Qが最大値4の場合には、当該対象画素群の最初の画素値を特定の値以外に制限し、画素値に8の値を加算し、下位4ビットにゼロ詰めを行い、
     前記スケーリング量が0の場合には、前記対象画素群をそのまま出力し、
     前記スケーリング量Qが前記最大値4でなく0でもない場合には、前記対象画素群の下位Qビットにゼロ詰めを行った上で、2Q-1の値を加算する、請求項11に記載の動画像符号化装置。
    The pixel accuracy control unit includes:
    When the scaling amount Q is the maximum value 4, the first pixel value of the target pixel group is limited to a value other than the specific value, the value 8 is added to the pixel value, and the lower 4 bits are zero-padded.
    When the scaling amount is 0, the target pixel group is output as it is,
    12. The value of 2 Q−1 is added after performing zero padding on the lower Q bits of the target pixel group when the scaling amount Q is neither the maximum value 4 nor 0. Video encoding device.
  14.  復号画像内の対象画素群の最大値と最小値に基づいてスケーリング量を導出し、前記対象画素群の下位ビットの値を前記スケーリング量に従って変更することにより、画素精度が制御された参照画素群を生成する画素精度制御部と、
     前記画素精度が制御された参照画素群に基づいて予測画像を生成する予測部と、
     入力画像と前記予測画像との間の差分を示す情報を復号化する復号化部とを具備する動画像復号化装置。
    A reference pixel group in which pixel accuracy is controlled by deriving a scaling amount based on the maximum value and the minimum value of the target pixel group in the decoded image, and changing the value of the lower bits of the target pixel group according to the scaling amount A pixel accuracy control unit for generating
    A prediction unit that generates a predicted image based on a reference pixel group in which the pixel accuracy is controlled;
    A moving picture decoding apparatus comprising: a decoding unit that decodes information indicating a difference between an input image and the predicted image.
  15.  前記画素精度制御部は、
     前記スケーリング量Qが最大値の場合には、当該対象画素群の最初の画素値を特定の値以外に制限し、画素値に2Q-1の値を加算し、下位Qビットにゼロ詰めを行い、
     前記スケーリング量が0の場合には、前記対象画素群をそのまま出力し、
     前記スケーリング量Qが前記最大値でなく0でもない場合には、前記対象画素群の下位Qビットにゼロ詰めを行い、2Q-1の値を加算する、請求項14に記載の動画像復号化装置。
    The pixel accuracy control unit includes:
    When the scaling amount Q is the maximum value, the first pixel value of the target pixel group is limited to a specific value, 2 Q-1 is added to the pixel value, and the lower Q bits are padded with zeros. Done
    When the scaling amount is 0, the target pixel group is output as it is,
    15. The moving picture decoding according to claim 14, wherein when the scaling amount Q is neither the maximum value nor 0, the lower Q bits of the target pixel group are zero-padded and a value of 2Q -1 is added. Device.
  16.  前記画素精度制御部は、
     前記スケーリング量Qが最大値4の場合には、当該対象画素群の最初の画素値を特定の値以外に制限し、画素値に8の値を加算し、下位4ビットにゼロ詰めを行い、
     前記スケーリング量が0の場合には、前記対象画素群をそのまま出力し、
     前記スケーリング量Qが前記最大値4でなく0でもない場合には、前記対象画素群の下位Qビットにゼロ詰めを行った上で、2Q-1の値を加算する、請求項14に記載の動画像復号化装置。
    The pixel accuracy control unit
    When the scaling amount Q is the maximum value 4, the first pixel value of the target pixel group is limited to a value other than the specific value, the value 8 is added to the pixel value, and the lower 4 bits are zero-padded.
    When the scaling amount is 0, the target pixel group is output as it is,
    The value of 2 Q-1 is added after performing zero padding on the lower Q bits of the target pixel group when the scaling amount Q is neither the maximum value 4 nor 0. Video decoding apparatus.
  17.  局所復号画像内の対象画素群の最大値と最小値に基づいてスケーリング情報を導出し、
     前記対象画素群に対して画素ビット長を縮小するスケーリングを前記スケーリング情報に従って適用し、スケーリングする特定の画素の値を特定の値について制限することにより、スケーリングされた参照画素群を生成し、
     前記特定の値が含まれる場合の第1のスケーリング情報の記述又は前記特定の値が含まれない場合の第2のスケーリング情報の記述と、対応するスケーリング情報に従ってスケーリングされた参照画素群とが固定のビット長で表現されたスケーリングブロックを生成し、
     前記スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを前記スケーリング情報に従って適用して参照画像を復元し、
     前記参照画像に基づいて予測画像を生成し、
     入力画像と前記予測画像との間の差分を示す情報を符号化する動画像符号化方法。
    Deriving scaling information based on the maximum and minimum values of the target pixel group in the local decoded image,
    Applying a scaling to reduce the pixel bit length for the target pixel group according to the scaling information, and generating a scaled reference pixel group by limiting a value of a specific pixel to be scaled with respect to a specific value;
    The description of the first scaling information when the specific value is included or the description of the second scaling information when the specific value is not included and the reference pixel group scaled according to the corresponding scaling information are fixed. Generate a scaling block expressed in bit length of
    Applying inverse scaling to extend the pixel bit length to the scaled reference pixel group according to the scaling information to restore the reference image;
    Generating a predicted image based on the reference image;
    A moving image encoding method for encoding information indicating a difference between an input image and the predicted image.
  18.  復号画像内の対象画素群の最大値と最小値に基づいてスケーリング情報を導出し、
     前記対象画素群に対して画素ビット長を縮小するスケーリングを前記スケーリング情報に従って適用し、スケーリングする特定の画素の値を特定の値について制限することにより、スケーリングされた参照画素群を生成し、
     前記特定の値が含まれる場合の第1のスケーリング情報の記述又は前記特定の値が含まれない場合の第2のスケーリング情報の記述と、対応するスケーリング情報に従ってスケーリングされた参照画素群とが固定のビット長で表現されたスケーリングブロックを取得し、
     前記スケーリングされた参照画素群に対して画素ビット長を拡張する逆スケーリングを前記スケーリング情報に従って適用して参照画像を復元し、前記参照画像に基づいて予測画像を生成し、
     入力画像と前記予測画像との間の差分を示す情報を復号化する動画像復号化方法。
    Deriving scaling information based on the maximum and minimum values of the target pixel group in the decoded image,
    Applying a scaling to reduce the pixel bit length for the target pixel group according to the scaling information, and generating a scaled reference pixel group by limiting a value of a specific pixel to be scaled with respect to a specific value;
    The description of the first scaling information when the specific value is included or the description of the second scaling information when the specific value is not included and the reference pixel group scaled according to the corresponding scaling information are fixed. Get the scaling block expressed in bit length of
    Applying inverse scaling that extends a pixel bit length to the scaled reference pixel group according to the scaling information to restore a reference image, and generate a predicted image based on the reference image;
    A moving picture decoding method for decoding information indicating a difference between an input picture and the predicted picture.
PCT/JP2010/073604 2010-07-02 2010-12-27 Moving image encoding apparatus, moving image decoding apparatus and method WO2012001833A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPPCT/JP2010/061350 2010-07-02
PCT/JP2010/061350 WO2012001818A1 (en) 2010-07-02 2010-07-02 Video encoding device and video decoding device
JPPCT/JP2010/067108 2010-09-30
PCT/JP2010/067108 WO2012042645A1 (en) 2010-09-30 2010-09-30 Dynamic image encoding device and decoding device

Publications (1)

Publication Number Publication Date
WO2012001833A1 true WO2012001833A1 (en) 2012-01-05

Family

ID=45401585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/073604 WO2012001833A1 (en) 2010-07-02 2010-12-27 Moving image encoding apparatus, moving image decoding apparatus and method

Country Status (1)

Country Link
WO (1) WO2012001833A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014203351A1 (en) * 2013-06-19 2014-12-24 株式会社 東芝 Image processing device and image processing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007114368A1 (en) * 2006-03-30 2007-10-11 Kabushiki Kaisha Toshiba Image coding apparatus and method, and image decoding apparatus and method
JP2010087984A (en) * 2008-10-01 2010-04-15 Ntt Docomo Inc Video encoder, video decoder, video coding method, video decoding method, video coding program, video decoding program, and video coding/decoding system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007114368A1 (en) * 2006-03-30 2007-10-11 Kabushiki Kaisha Toshiba Image coding apparatus and method, and image decoding apparatus and method
JP2010087984A (en) * 2008-10-01 2010-04-15 Ntt Docomo Inc Video encoder, video decoder, video coding method, video decoding method, video coding program, video decoding program, and video coding/decoding system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014203351A1 (en) * 2013-06-19 2014-12-24 株式会社 東芝 Image processing device and image processing method

Similar Documents

Publication Publication Date Title
KR102426721B1 (en) Methods of determination for chroma quantization parameter and apparatuses for using the same
JP5854439B2 (en) Video coding system and method using adaptive segmentation
JP5586139B2 (en) Method and apparatus for efficiently encoding / decoding moving image through adjustment of video resolution
KR101446771B1 (en) Apparatus of encoding image and apparatus of decoding image
US8194748B2 (en) Apparatus for scalable encoding/decoding of moving image and method thereof
US9167245B2 (en) Method of determining binary codewords for transform coefficients
JP2009260977A (en) Video data compression using combination of irreversible compression and reversible compression
JP5871628B2 (en) Image encoding device, image encoding method and program, image decoding device, image decoding method and program
US20130188694A1 (en) Method of determining binary codewords for transform coefficients
TW201313031A (en) VLC coefficient coding for large chroma block
JP7343817B2 (en) Encoding device, encoding method, and encoding program
KR100968371B1 (en) Method and Apparatus of Decoding Image
US6804299B2 (en) Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation
US8655088B2 (en) Image encoder, image decoder and method for encoding original image data
JP2008271039A (en) Image encoder and image decoder
JP5197428B2 (en) Image coding apparatus and image coding method
WO2012001833A1 (en) Moving image encoding apparatus, moving image decoding apparatus and method
JP6145965B2 (en) Image encoding apparatus, image decoding apparatus, and program
JP6796463B2 (en) Video encoding device, video decoding device, and program
US20230009580A1 (en) Image processing device and image processing method
WO2018043256A1 (en) Image coding device and image decoding device
JP6875566B2 (en) Moving image prediction coding device, moving image prediction decoding device, moving image prediction coding method, moving image prediction decoding method and moving image prediction decoding program
JP2008160402A (en) Encoding device and method, and image encoding device
JP2012134632A (en) Image decoding device, image decoding method, and program
WO2012001818A1 (en) Video encoding device and video decoding device

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP