WO2011142279A1 - 符号化装置、復号装置、およびデータ構造 - Google Patents

符号化装置、復号装置、およびデータ構造 Download PDF

Info

Publication number
WO2011142279A1
WO2011142279A1 PCT/JP2011/060444 JP2011060444W WO2011142279A1 WO 2011142279 A1 WO2011142279 A1 WO 2011142279A1 JP 2011060444 W JP2011060444 W JP 2011060444W WO 2011142279 A1 WO2011142279 A1 WO 2011142279A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
value
side information
difference value
encoding
Prior art date
Application number
PCT/JP2011/060444
Other languages
English (en)
French (fr)
Inventor
将伸 八杉
知宏 猪飼
山本 智幸
Original Assignee
シャープ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シャープ株式会社 filed Critical シャープ株式会社
Priority to US13/697,247 priority Critical patent/US20130058410A1/en
Priority to JP2012514768A priority patent/JP5670444B2/ja
Publication of WO2011142279A1 publication Critical patent/WO2011142279A1/ja
Priority to US15/044,836 priority patent/US10306251B2/en
Priority to US16/375,959 priority patent/US10904547B2/en
Priority to US17/112,593 priority patent/US11336912B2/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • H04N19/198Methods 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 including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to an encoding device that encodes an image and generates encoded data.
  • the present invention also relates to a decoding apparatus that decodes encoded data generated using such an encoding apparatus.
  • a moving image encoding device In order to efficiently transmit or record moving images, a moving image encoding device is used.
  • a specific moving picture encoding method for example, H.264 is used.
  • H.264 / MPEG-4 AVC hereinafter abbreviated as H264 / AVC
  • VCEG Video Coding Expert Group
  • a slice obtained by dividing an image (picture) constituting a moving image a macroblock obtained by dividing the slice, and a sub obtained by dividing the macroblock. It is managed by a hierarchical structure composed of macroblocks and blocks obtained by dividing a macroblock or sub-macroblock.
  • the H264 / AVC video encoding device (1) DCT transforms an image, (2) quantizes a frequency component obtained by DCT transform (discrete cosine transform), and (3) a quantized frequency component. Is encoded with a variable length to obtain an encoded image.
  • the quantization step used at the time of quantization can be changed for each macroblock, and the moving image encoding apparatus encodes a quantization parameter that specifies the size of the quantization step,
  • the image decoding apparatus is configured to be provided.
  • FIG. 7A is a diagram schematically showing slices composed of macroblocks MB1 to MBn.
  • FIG. 12 is a diagram showing an example of the difference value of the quantization parameter assigned to the macroblocks MB1 to MBn, and
  • FIG. 11 is a binarization of the difference value, code number, and code number of the quantization parameter. It is the table
  • the moving picture coding apparatus determines a default value pic_init_qp (hereinafter referred to as “picture default QP value”) of the quantization parameter of the picture for each picture. Then, for each slice included in the picture, a default value SliceQP Y (hereinafter referred to as “slice default QP value”) of the quantization parameter of the slice is determined. Further, for each slice, the moving image encoding apparatus generates a difference value slice_qp_delta obtained by subtracting the picture default QP value of the picture including the slice from the slice default QP value of the slice.
  • the difference value mb_qp_delta (hereinafter also referred to as “QP difference value”) obtained by subtracting the quantization parameter of the previous macroblock MBi-1 is determined as the QP difference value of the macroblock MBi.
  • QP difference value mb_qp_delta the first macro block MB1 in a raster scan order is the value obtained by subtracting a slice default QP value SliceQP Y of the slice containing macroblock MB1 from the quantization parameters determined for the macroblock MB1.
  • the moving picture encoding apparatus binarizes the QP difference value mb_qp_delta generated as described above based on the table of FIG. That is, when the absolute value of the QP difference value is n, the QP difference value is converted into a binary string having a length of 2n or 2n + 1 by unauralization.
  • Such processing of the moving image encoding device and the moving image decoding device has the following advantages.
  • the code amount of the encoded image (main information) can be reduced, the code amount of the QP difference value supplied as side information to the moving image decoding apparatus together with the main information can be sufficiently reduced.
  • the code amount of the QP difference value may occupy about 10% of the entire encoded data supplied to the video decoding device. This is because, as can be seen from FIG. 11, the code amount of the QP difference value increases in proportion to the absolute value of the QP difference value.
  • the present invention has been made in view of the above problems, and its main purpose is an encoding apparatus capable of further reducing the amount of code of quantization parameters supplied to a decoding apparatus as compared with the conventional one, and An object of the present invention is to realize a decoding device that can perform inverse quantization based on the quantization parameter supplied from such an encoding device.
  • an encoding apparatus provides a quantum corresponding to a value of a quantization parameter for each of a plurality of unit regions constituting an input image to be encoded.
  • setting means for setting a quantization parameter used when encoding each unit region, and for each unit region, a difference between the quantization parameters in the unit region is predetermined n
  • conversion means for each unit region, conversion means for converting the difference between the quantization parameter in the unit region and the predetermined reference value into an integer, and the absolute value of the integer converted by the conversion unit Comprising a binary sequence generating means for generating a binary sequence having a length corresponding to is come, and the n integers is characterized in that the sum of the absolute value than the n-number of the difference value is small.
  • the difference between the quantization parameters in the unit region is directly generated as a binary string having a length corresponding to the magnitude of the absolute value of the difference. Yes.
  • the quantization parameter difference in the unit region is converted into an integer, and a binary string having a length corresponding to the magnitude of the absolute value of the integer is generated. It is like that.
  • the difference value to be converted is statistically calculated. The absolute value of the integer obtained by the above conversion is smaller than the absolute value.
  • the length of the binary sequence generated from the difference in the quantization parameter is smaller than that of the conventional encoding apparatus. Therefore, there is an effect that the amount of code of the quantization parameter supplied to the decoding apparatus can be further reduced as compared with the conventional case.
  • a decoding device decodes encoded data to set a quantization parameter for each unit region constituting a decoded image.
  • Extraction means for extracting binary sequence data relating to the unit area; and integer generation means for generating an integer value corresponding to the length of the binary sequence relating to each unit area from the binary sequence data extracted by the extraction means; Based on the information in which n integers and n difference values related to quantization parameters are associated with each other on a one-to-one basis, each unit is obtained from an integer value related to each unit region generated by the integer generation unit.
  • Specifying means for specifying a difference value relating to a region, and a quantization parameter relating to each unit region is generated from each difference value specified by the specifying means.
  • the decoding apparatus according to the present invention when encoded data including the binary string is input from the encoding apparatus according to the present invention, the decoding apparatus according to the present invention relates to each unit region based on the encoded data.
  • the difference value can be specified appropriately. That is, the decoding apparatus according to the present invention can appropriately specify the quantization parameter for each unit region supplied from the encoding apparatus according to the present invention.
  • the decoding device has an effect of being able to perform inverse quantization based on the quantization parameter supplied from the encoding device according to the present invention.
  • the encoding apparatus provides, for each of a plurality of unit regions constituting an input image to be encoded, a value corresponding to a quantization parameter for an image in the unit region.
  • a selection unit that selects a plurality of third unit regions constituting the unit region in a predetermined order, and for each of the plurality of unit regions A determination for determining a difference value of a quantization parameter of the third unit region with respect to the third unit region first selected by the selection unit from the third unit regions to be quantized included in the unit region; Means, and for each of the plurality of unit regions, a value of the quantization parameter referred to for performing quantization on an image in each third unit region to be quantized included in the unit region.
  • said determining means includes calculating means for calculating the difference value of the quantization parameter determined in the unit area, the.
  • “to quantize an image” means to quantize a residual image between an input image and a predicted image, and to quantize a transform coefficient obtained by frequency transforming the residual image. Any of these may be used.
  • the encoding apparatus determines a quantization parameter difference value for one third unit region selected from the unit regions for each unit region, and Using the difference value, the quantization parameter of each third unit region to be quantized is determined.
  • an encoding apparatus that does not have the above characteristics determines the quantization parameter of each third unit region to be quantized, and determines the quantum of each third unit region from the quantization parameter of each third unit region. The difference value of the activation parameter is determined.
  • the encoding device may determine one difference value of the quantization parameter per unit region and transmit it to the decoding device.
  • An encoding apparatus that does not have the above feature needs to transmit a difference value of a quantization parameter for each third unit area included in the unit area to the decoding apparatus.
  • the encoding apparatus has an effect that it is possible to further reduce the code amount of the quantization parameter as compared with the conventional case.
  • the decoding device is a decoding device that identifies a quantization parameter related to each unit region constituting a decoded image by decoding encoded data, and for each unit region constituting the decoded image, the unit region Selecting means for selecting a plurality of third unit areas constituting a predetermined order, and for each unit area constituting the decoded image, among the third unit areas to be dequantized included in the unit area With respect to the third unit area initially selected by the selection means, the reading means for reading the difference value of the quantization parameter of the third unit area from the encoded data, and each unit area constituting the decoded image, The value of the quantization parameter referred to in order to perform inverse quantization on the quantized image in each third unit region to be dequantized included in the unit region is Reading means is characterized by comprising a specifying means for specifying from the difference value of the quantization parameters read in the unit area.
  • the quantized image is, for example, an image on a frequency domain constituted by quantized DCT coefficients decoded from encoded data, and the quantized image is subjected to inverse quantization and inverse frequency. By performing the conversion, a decoded image on the spatial domain is obtained.
  • the decoding device reads out the quantization parameter difference value in one third unit region selected from the unit regions for each unit region, and uses the difference value, A quantization parameter for each third unit region to be subjected to inverse quantization in the unit region is determined.
  • a decoding apparatus that does not have the above feature reads out the difference value of the quantization parameter from each third unit region to be dequantized in each unit region, and uses each read difference value.
  • the quantization parameter of each third unit region to be dequantized in the unit region is determined.
  • the decoding apparatus can specify a quantization parameter to be used for performing inverse quantization with a smaller load.
  • the encoding device can further reduce the amount of code of the quantization parameter supplied to the decoding device as compared with the conventional case. Also, the decoding device can perform inverse quantization based on the quantization parameter supplied from such an encoding device.
  • FIG. 5 is a diagram illustrating a relationship between an index value and a binary string that is an output value of fixed-length binarization.
  • (A) and (b) are the figures which showed an example of the code amount in the case of encoding a QP difference value table, respectively. It is a figure which shows the prior art and shows the relationship between a QP difference value, a code number which is an input value of uninalization, and a binary string which is an output value of uninalization. It is the figure which showed an example of the picture default QP value set for every picture, the slice default QP value set for every slice, and the QP value and QP difference value set for every macroblock. It is the figure which showed each information contained in side information hierarchically. It is a block diagram which shows the structure of the moving image decoding apparatus which concerns on another embodiment.
  • FIG. 1 It is a block diagram which shows the structure of the moving image encoder which concerns on another embodiment. It is a figure which shows an example of a picture parameter set. It is the figure which showed typically the position in each QP encoding unit area
  • transform_tree syntax It is a figure which shows an example of transform_tree syntax. It is a block diagram which shows the structure of the moving image encoder which concerns on another embodiment. It is a figure which shows another example of transform_tree syntax. It is a figure which shows another example of transform_tree syntax. It is a block diagram which shows the structure of the moving image decoding apparatus which concerns on another embodiment. It is a block diagram which shows the structure of the moving image encoder which concerns on another embodiment. It is a figure which shows another example of coding_unit syntax. (A) shows the first half of the syntax, and (b) shows the second half of the syntax. It is a figure which shows another example of coding_unit syntax.
  • (A) shows the first half of the syntax, and (b) shows the second half of the syntax. It is a block diagram which shows the structure of the moving image decoding apparatus which concerns on another embodiment. It is a block diagram which shows the structure of the moving image encoder which concerns on another embodiment. It is a figure which shows another example of coding_unit syntax. (A) shows the first half of the syntax, and (b) shows the second half of the syntax. It is a block diagram which shows the structure of the moving image decoding apparatus which concerns on another embodiment. It is a block diagram which shows the structure of the moving image encoder which concerns on another embodiment. It is a figure which shows another example of coding_unit syntax. (A) shows the first half of the syntax, and (b) shows the second half of the syntax. It is a block diagram which shows the structure of the moving image decoding apparatus which concerns on another embodiment. It is a block diagram which shows the structure of the moving image encoder which concerns on another embodiment.
  • Embodiment 1 (Moving picture encoding device)
  • a moving picture encoding apparatus (encoding apparatus) 2 according to the present embodiment will be described with reference to FIGS. 1 to 3, FIGS. 6 to 10, and FIG.
  • FIG. 1 is a block diagram showing a configuration of the moving picture coding apparatus 2.
  • the moving picture encoding apparatus 2 includes a side information determination unit 21, a side information encoding unit 22, an MB setting unit 23, an MB encoding unit 24, a variable length code multiplexing unit 25, and an MB decoding unit. 26 and a frame memory 27.
  • the video encoding device 2 is a device that generates and outputs encoded data # 1 by encoding the input image # 100, in brief.
  • the moving image encoding apparatus 2 is a moving image encoding apparatus that uses a technique adopted in the H264 / AVC standard for a part thereof.
  • the encoding process of the input image # 100 includes processes such as DCT conversion and quantization.
  • the moving image encoding apparatus 2 switches the quantization level for each macroblock (quantization unit region). Quantization processing is applied.
  • the side information determination unit 21 determines side information based on the input image # 100, and outputs the determined side information as side information # 21.
  • the side information # 21 is input to the MB setting unit 23 and supplied to the side information encoding unit 22.
  • the side information # 21 is a picture parameter set that is a set of parameters related to the input image # 100, a slice header that is header information for each slice included in the input image # 100, and each macroblock included in the slice. It is composed of a macroblock layer, which is a set of parameters.
  • Each of the picture parameter set and the slice header includes a picture default QP value and a difference value of the slice default QP value with respect to the picture default QP value.
  • the side information determination unit 21 determines, for each slice, a set of QP difference values for imposing restrictions on the QP values that can be assigned to the macroblocks included in the slice. That is, the QP value that can be assigned to the macroblock MBi included in the slice is limited so that the QP difference value with the QP value assigned to the macroblock MBi-1 included in the same slice is included in the set of QP difference values. Is done.
  • the side information determination unit 21 generates a QP difference value table related to each slice for each slice (table generation unit region), and includes the generated QP difference value table in the corresponding slice header.
  • the QP difference value table related to the slice is generated by associating each QP difference value included in the set of QP difference values with an index (an integer different from each other for each QP difference value) indicating the QP difference value.
  • the QP difference value table may encode the generation rule of the QP difference value table as will be described later in (Appendix 3).
  • the moving image encoding device and the moving image decoding device may include a plurality of predetermined QP difference value tables, and an index for switching the QP difference value tables may be encoded.
  • the side information determination unit 21 includes an index indicating the QP difference value between the QP value assigned to the macroblock MBi and the QP value assigned to the macroblock MBi-1 in the macroblock layer. Note that how the side information determination unit 21 determines the set of QP difference values and how to generate the QP difference value table will be described later.
  • the side information encoding unit 22 encodes the side information # 21 and outputs the encoded side information # 22.
  • the encoded side information # 22 is supplied to the variable length code multiplexer 25.
  • the MB setting unit 23 divides the input image # 100 into a plurality of slices based on the side information # 21, further divides each slice into a plurality of macroblocks, and outputs a macroblock image # 23 related to each macroblock. To do. Further, the MB setting unit 23 calculates a quantization parameter value (QP value) related to the macroblock image # 23 based on the side information # 21 (details will be described later). The macroblock image # 23 is sequentially supplied to the MB encoding unit 24 together with the calculated QP value.
  • QP value quantization parameter value
  • the MB encoding unit 24 generates MB encoded data # 24 for the sequentially input macroblock image # 23 and supplies it to the variable length code multiplexing unit 25.
  • the process in which the MB encoding unit 24 generates the MB encoded data # 24 is specifically as follows.
  • the MB encoding unit 24 DCT-transforms each block constituting the macroblock image # 23 and quantizes each DCT coefficient of each block at a quantization level based on the QP value supplied together. Then, the MB encoding unit 24 generates MB encoded data # 24 by performing variable length encoding processing on the data obtained by the quantization.
  • variable length code multiplexer 25 generates encoded data # 1 by multiplexing the encoded side information # 22 and the MB encoded data # 24 and outputs the encoded data # 1.
  • the MB decoding unit 26 generates and outputs a decoded image # 26 corresponding to each macroblock by sequentially decoding the MB encoded data # 24 corresponding to each input macroblock.
  • the decoded image # 26 is supplied to the frame memory 27.
  • the input decoded image # 26 is recorded in the frame memory 27.
  • decoded images corresponding to all macroblocks preceding the macroblock in the raster scan order are recorded in the frame memory 27.
  • the side information determination unit 21 can determine a set of QP difference values for imposing a limit on the QP values that can be assigned to the macroblock by any method. Specific examples will be given below.
  • the QP difference value table included in the slice header of the P slice is, for example, a table as shown in FIG.
  • the QP difference value table included in the slice header of the P slice is, for example, a table as shown in FIG.
  • the QP difference value table included in the slice header by the side information determination unit 21 includes indexes 0, 1, and ⁇ 1 for QP difference values 0, 1, and ⁇ 1, respectively.
  • the side information determination unit 21 associates each QP difference value with an index having an absolute value smaller than the absolute value of the QP difference value (FIGS. 8A to 8C).
  • the QP difference value table generated by the side information determination unit 21 only needs to have at least the following characteristics.
  • the QP difference value table may be anything as long as it is smaller than the code amount of all quantized data output when quantization processing based on binarization is performed.
  • the QP difference value table is a table in which a QP difference value and an index are associated with each other on a one-to-one basis so that the sum of absolute values of each index is smaller than the sum of absolute values of each QP difference value. Any table can be used.
  • FIG. 2 is a flowchart showing the flow of the above operation.
  • the side information determination unit 21 generates a QP difference value table corresponding to the slice type of the slice included in the input image # 100, and includes the QP difference value table in the corresponding slice header in the side information # 21 (step S41).
  • the side information determination unit 21 subtracts the slice default QP value from the QP value of the head macroblock MB1, thereby obtaining the QP difference value for the head macroblock MB1. Ask. Then, the side information determination unit 21 refers to the QP difference value table generated in the immediately preceding step S41 and converts the QP difference value into an index (step S43). The side information determination unit 21 includes the obtained index in the corresponding macroblock layer in the side information # 21.
  • the conversion from the QP difference value to the index is performed using the QP difference value table.
  • the relationship between the QP difference value and the index is defined by an operation such as four arithmetic operations
  • the QP Conversion is possible without using a difference value table.
  • a rule that determines conversion by calculation from a QP difference value to an index or conversion by calculation from an index to a QP difference value is referred to as a conversion rule.
  • conversion from a QP difference value to an index can be performed by calculation regardless of the QP difference value table.
  • the side information determination unit 21 calculates, for another macroblock MBi (i> 1) for which the QP difference value has not yet been calculated, the QP difference value related to the macroblock MBi from the QP value of the macroblock MBi. It is obtained by subtracting the QP value of 1. Then, the side information determination unit 21 refers to the QP difference value table generated in the immediately preceding step S41 and converts the QP difference value into an index (step S44). The side information determination unit 21 includes the obtained index in the corresponding macroblock layer in the side information # 21.
  • step S44 the side information determination unit 21 determines whether or not the macroblock that is the target of processing in step S44 is the last macroblock MBn in the slice (step S45). If it is determined that it is not the last macroblock MBn, the process returns to step S44. On the other hand, when it is determined that it is the last macroblock MBn, the process proceeds to step S46.
  • the side information determination unit 21 determines whether or not a slice that has not been subjected to the processing in steps S41 to S44 exists in the input image # 100 (step S46). If it is determined that it exists, the processing in steps S41 to S44 is performed for another slice that has not been subjected to the processing in steps S41 to S44. On the other hand, if it is determined that the information does not exist, the side information determination unit 21 converts the side information # 21 in which the index is included in the macroblock layer and the QP difference value table is included in the slice header into the side information encoding unit 22. And it supplies to MB setting part 23 and progresses to step S47.
  • the side information encoding unit 22 to which the side information # 21 is input converts the index into a code number for the index included in each macroblock layer of the side information # 21, and receives the code number as an input.
  • a binarization process based on binarization is performed. That is, based on the table shown in FIG. 9A, the index of the absolute value n is changed to a binary string of length 2n or a binary string of length 2n + 1 (that is, depending on the magnitude of the absolute value of the index). Is converted into a binary string having a predetermined length (step S47).
  • the side information encoding unit 22 arithmetically encodes the binary sequence stored in each macroblock layer by the process of step S47, and also includes a QP difference value table included in each slice header of the side information # 21. Is encoded (step S48). The side information encoding unit 22 performs the encoding process of the entire side information # 21 including the process of S48, and then supplies the encoded side information # 22 to the variable length code multiplexing unit 25.
  • the MB setting unit 23 divides the input image # 100 into a plurality of slices, and further divides each slice into a plurality of macroblocks. Then, the MB setting unit 23 sequentially supplies the macro block image # 23 related to each macro block to the MB encoding unit 24 together with the QP value related to the macro block image # 23.
  • the MB setting unit 23 calculates the QP value to be supplied to the MB encoding unit 24 based on the input side information # 21 as follows.
  • the MB setting unit 23 is included in the index included in the macroblock layer corresponding to the macroblock image # 23 and the slice header corresponding to the slice that forms part of the macroblock image # 23. Reference is made to the QP difference value table.
  • the MB setting unit 23 refers to the QP difference value associated with the referenced index in the QP difference value table. Further, the MB setting unit 23 sets a value obtained by adding the QP difference value to the QP value related to the macroblock image # 23 supplied immediately before to the MB encoding unit 24 as a QP value to be supplied to the MB encoding unit 24 from now on. .
  • the MB encoding unit 24 that quantizes and encodes the macroblock image # 23 based on the input QP value, and the variable length code multiplexing unit 25 to the frame memory 27 comply with the H264 / AVC standard. Since the operation is performed, details are omitted.
  • the side information encoding unit 22 encodes the size of the QP difference value table (that is, the number of indexes (QP difference values) included in the table) and each QP difference value.
  • the side information encoding unit 22 uses the size 9 of the QP difference value table and each QP difference value ( -8, -6,..., 0,.
  • the side information encoding unit 22 encodes the QP difference value corresponding to the index 0 as it is instead of encoding each QP difference value as it is, and for the other indexes, the QP difference value is calculated from the QP difference value of the index. You may make it encode the difference which subtracted the QP difference value of the index smaller by 1 than the index.
  • the total code amount of each QP difference value is 85 bits.
  • the QP difference value corresponding to the index 0 is encoded as it is and the difference of the QP difference value is encoded for the other indexes
  • FIG. 3 is a flowchart showing operations of the side information determination unit 21 and the side information encoding unit 22 according to this modification.
  • FIG. 7B is a diagram showing a slice made up of a plurality of enlarged macroblocks (second unit areas) and each enlarged macroblock made up of a plurality of macroblocks.
  • the enlarged macroblock is configured so that all macroblocks included therein have similar pixel characteristics.
  • the moving image encoding apparatus 2 determines a QP difference value for each of a plurality of macroblocks included in the enlarged macroblock.
  • the macroblock for determining the QP difference value is a raster in the enlarged macroblock. They are selected in the scan order.
  • the QP difference values of four macroblocks included in the enlarged macroblock LMB1 in FIG. 7B are determined in the order of MB1, MB2, MB3, and MB4.
  • the moving image encoding apparatus 2 performs the above processing on each of a plurality of enlarged macroblocks included in the slice, and the enlarged macroblocks to be processed are selected in the raster scan order in the slice. It has become.
  • the above processing for a plurality of enlarged macroblocks included in the slice of FIG. 7B is performed in the order of the enlarged macroblocks LMB1, LMB2, LMB3,.
  • the moving image encoding apparatus 2 uses a method based on the H264 / AVC standard for the first macroblock (specific unit region) in the enlarged macroblock (hereinafter, the first macroblock is described above). QP value is also described as QP head ). Then, the moving image encoding apparatus 2 converts the QP difference value directly into a code number without converting it into an index, and converts the code number into a binary string by unauralization.
  • the moving picture coding apparatus 2 stores the QP difference value for the QP value assigned to the head macroblock of the same enlarged macroblock in the QP difference value table shown in FIG. Convert to index based on. Then, the moving image encoding device 2 converts the index into a code number, and converts the code number into a binary string by unintentionalization.
  • the number of QP value candidates that can be assigned to macroblocks other than the head in this modified example (three of QP head -2 , QP head, and QP head +2) is In the above embodiment, the number of QP value candidates that can be assigned to each macroblock (13 using the table shown in FIG. 8A or using the tables shown in FIGS. 8B to 8D) 9). Further, the maximum value of the absolute value of the QP difference value that can be determined for the macroblock other than the head in the present modification is 2, which is a predetermined value close to 0.
  • the size of the QP difference value table is reduced, the code amount when the QP difference value table is encoded is reduced, and the maximum absolute value of the index is at most 1. Therefore, the QP difference value table is converted from the index. In addition, there is an advantage that the code amount of the binary string is reduced to 2 or less.
  • the side information determination unit 21 generates a QP difference value table as shown in FIG. 8E and includes it in the corresponding slice header in the side information # 21 (step S61).
  • the following processes of S62 to S68 are performed for each macroblock selected in the raster scan order from among a plurality of macroblocks constituting the entire target enlarged macroblock (for example, LMB1) (for example, MB1, MB2, (In order of MB3, MB4).
  • the target enlarged macroblock is selected in a raster scan order (LMB1, LMB2,%) From among a plurality of enlarged macroblocks constituting the entire slice.
  • step S62 the side information determination unit 21 determines whether or not the selected macroblock MBi is the first macroblock MB1 in the slice.
  • the side information determination unit 21 determines the QP value of the macro block MB1 by a method based on the H264 / AVC standard. Then, the side information determination unit 21 stores the QP difference value obtained by subtracting the slice default QP value from the determined QP value in the corresponding macroblock layer (step S67), and proceeds to step S68.
  • Step S63 it is determined whether or not the selected macroblock MBi is the first macroblock (such as MB5 or MB9) in any of the enlarged macroblocks.
  • the side information determination unit 21 determines the QP value of the macroblock MBi by a method based on the H264 / AVC standard. Then, the side information determination unit 21 stores the QP difference value obtained by subtracting the QP value determined for the macroblock MBi-1 from the determined QP value in the corresponding macroblock layer (step S66), and proceeds to step S68. .
  • step S63 when it is determined that it is not the first macro block (NO in step S63), the QP difference value of the macro block is determined (step S64).
  • the side information determination unit 21 provisionally determines the QP value of the macro block based on the H264 / AVC standard. Then, the side information determination unit 21 obtains a value obtained by subtracting the QP value of the first macroblock included in the same expanded macroblock as the macroblock (provisional QP difference value) from the tentatively determined QP value. It is determined whether or not the table includes a QP difference value.
  • the side information determination unit 21 determines the tentatively determined QP value as the QP value of the macroblock MBi. On the other hand, if it is determined that the QP difference value is not included, the side information determination unit 21 selects the QP difference value closest to the provisional QP difference value among the plurality of QP difference values included in the QP difference value table as the macroblock MBi. As a QP difference value. That is, the number of QP difference value candidates to be determined for macroblocks other than the head of the enlarged macroblock in step S64 is smaller than the number of QP difference value candidates to be determined for the first macroblock of the enlarged macroblock. It will be. A value obtained by adding the determined QP difference value to the QP value of macroblock MBi-1 is determined as the QP value of macroblock MBi.
  • the side information determination unit 21 refers to the QP difference value table generated in the immediately preceding step S61 and converts the QP difference value determined in step S64 into an index.
  • the side information determination unit 21 includes the obtained index in the corresponding macroblock layer in the side information # 21 (step S65), and proceeds to step S68.
  • step S68 the side information determination unit 21 determines whether or not the macroblock that is the processing target is the last macroblock in the slice. If it is determined that it is not the last macroblock (NO in step S68), the process returns to step S62. On the other hand, when it is determined that it is the last macroblock (YES in step S68), the process proceeds to step S69.
  • the side information determination unit 21 determines whether or not a slice that has not been subjected to the processing in steps S61 to S68 exists in the input image # 100 (step S69). If it is determined that it exists, the processing in steps S61 to S68 is performed for another slice that has not been subjected to the processing in steps S61 to S68. On the other hand, if it is determined that it does not exist, the side information determination unit 21 supplies the side information # 21 to the side information encoding unit 22 and the MB setting unit 23, and the process proceeds to step S70.
  • the side information encoding unit 22 to which the side information # 21 is input converts the index or QP difference value included in each macroblock layer of the side information # 21 into a code number, receives the code number as an input, A binarization process based on binarization is performed (step S70).
  • the side information encoding unit 22 encodes the QP difference value table included in each slice header of the side information # 21 (step S71).
  • the side information encoding unit 22 performs the encoding process of the entire side information # 21 including the process of S70, and then supplies the encoded side information # 22 to the variable length code multiplexing unit 25.
  • the MB setting unit 23 calculates a QP value to be supplied to the MB encoding unit 24 together with the macroblock image # 23 based on the input side information # 21 as follows.
  • the MB setting unit 23 when the macroblock image # 23 to be supplied is a macroblock other than the first macroblock in the enlarged macroblock, the MB setting unit 23 includes an index included in the macroblock layer corresponding to the macroblock image # 23. And the QP difference value table included in the slice header corresponding to the slice of which the macroblock image # 23 constitutes a part thereof. Then, the MB setting unit 23 refers to the QP difference value associated with the referenced index in the QP difference value table. Further, the MB setting unit 23 sets a value obtained by adding the QP difference value to the QP value related to the macroblock image # 23 supplied immediately before to the MB encoding unit 24 as a QP value to be supplied to the MB encoding unit 24 from now on. .
  • the MB setting unit 23 refers to the QP difference value included in the macroblock layer corresponding to the macroblock image # 23. To do.
  • the MB setting unit 23 sets a value obtained by adding the QP difference value to the QP value related to the macroblock image # 23 supplied to the MB encoding unit 24 immediately before as the QP value to be supplied to the MB encoding unit 24.
  • the QP difference value table is a table in which an index having an absolute value smaller than the absolute value of the QP difference value is associated with each QP difference value, as shown in FIGS. 8A to 8C.
  • the side information determination unit 21 may generate a table as shown in FIG.
  • the table shown in FIG. 8D is generated as follows.
  • step S42 the side information determination unit 21 determines, for each of the macroblocks MB1 to MBn in the slice, the QP determined for the slice in order to determine the QP value of the macroblock.
  • a QP difference value of the macroblock is determined from the set of difference values.
  • the side information determination unit 21 sets the mode value determined from the determined n QP difference values (0 in FIG. 8D), the second most frequent value (4 in FIG. 8D), and the third A table in which indexes 0, 1, -1,... Are associated with each other in the order of the most frequent values ( ⁇ 6 in FIG. 8D). That is, in the table, a QP difference value with higher frequency is associated with an index having a smaller absolute value. Further, the side information determining unit 21 calculates each frequency, that is, a ratio in which each QP difference value is included in a group including n QP difference values.
  • the sum of absolute values of the QP difference values included in the QP difference value table and each The sum of the absolute values of the indexes may be equal.
  • the video encoding device 2 according to the present embodiment has been described above, but the present invention is not limited to the above configuration.
  • the quantization unit area is assumed to be a macroblock, but the present invention is not limited to this. That is, the determination of the QP value, the conversion of the QP difference value into an index, the binarization of the index, and the quantization of the image by the QP value are performed in units of macroblocks. It may be performed in a unit larger than the macroblock or a unit smaller than the macroblock (partition unit, block unit of 8 pixels ⁇ 8 lines, block unit of 4 pixels ⁇ 4 lines, etc.).
  • the table generation unit area is a slice, but the present invention is not limited to this. That is, the QP difference value table is generated in units of slices, but the QP difference value table is generated in units larger than a slice (such as a picture) or smaller than a slice (such as a macroblock). May be.
  • the QP difference value table is generated in units of slices, but the QP difference value table is generated in units larger than a slice (such as a picture) or smaller than a slice (such as a macroblock). May be.
  • the table generation unit area needs to be configured to include a plurality of quantization unit areas. is there.
  • the QP difference value table may not be generated for each table generation unit area. That is, a predetermined QP difference value table is held in a storage unit (not shown), and instead of the QP difference value table generated for each table generation unit area, the QP difference value table held in the storage unit is It may be used. In this case, the moving image encoding device 2 may not encode the QP difference value table and output the encoded QP difference value table to the outside. This is because, if the moving image decoding apparatus 1 holds the same QP difference value table, the QP difference value can be derived from the index after decoding the side information encoded data # 11a.
  • the slice type is determined for each slice
  • the factor value is determined according to the slice type
  • the QP difference value table is generated according to the factor value. May be done as follows.
  • each QP difference value is encoded.
  • the QP difference value table may be encoded as follows. That is, as in the QP difference value table in FIG. 8B and the QP difference value table in FIG. 8C, the QP difference value table determined from the factor value and the size of the QP difference value table is encoded.
  • the factor value may be encoded instead of encoding each QP difference value.
  • the code amount of the QP difference value table is further reduced.
  • Examples 1 to 3 there are a plurality of calculation methods for calculating the QP difference value table from the same factor.
  • one calculation method may be selected from the calculation methods in Examples 1 to 3.
  • information necessary for determining the calculation method of the QP difference value table may be explicitly encoded. In other words, both method and factor may be encoded.
  • the information output to the outside as encoded data may be any information as long as it is information that associates each QP difference value with each index in a one-to-one relationship. That is, the information may be encoded QP difference values or encoded factor values. When the index range registered in the QP difference value table can be changed for each slice, the information may include the value of each index in addition to each QP difference value or factor value.
  • the moving image encoding device and the moving image decoding device include a plurality of predetermined conversion rules or QP difference value tables, and a conversion rule index (roughness) for switching the conversion rule (QP difference value table).
  • the designation flag may be encoded.
  • a configuration may be adopted in which 0 to 2 conversion rule indexes are encoded such that the index is 1 and the equivalent QP difference value table has an index for identifying the conversion rule shown in FIG.
  • the roughness designation flag for identifying the QP difference value table may be a binary flag.
  • unary binarization is used to convert an index into a binary string.
  • the present invention is not necessarily limited to this configuration.
  • unary binarization and fixed-length binarization as shown in FIG.
  • H.M. Context adaptive arithmetic coding (CABAC) as defined in H.264 / AVC can be applied.
  • the side information encoding unit 22 may determine for each slice whether to use unrealization or fixed-length binarization.
  • the length of the binary string obtained by the fixed-length binarization depends on the logarithmic value of the number of possible QP difference values with 2 as the base. For example, if the number of possible QP difference values is 7, the length of the binary string is 3. Therefore, when the QP difference value that can be taken using the QP difference value table is limited, the length of the binary string is reduced and the code amount is reduced as compared with the case where no limitation is applied.
  • the QP difference value of the quantization unit region is obtained by taking the difference between the QP value of the quantization unit region and a predetermined reference value.
  • the predetermined reference value is the QP value of the quantization unit region immediately before the quantization unit region in the processing order.
  • the present invention is not limited to this. That is, the QP value of the quantization unit region adjacent to the quantization unit region for obtaining the QP difference value (for example, the quantization unit region adjacent to the left or above) may be used as the predetermined reference value.
  • the QP value of the quantization unit region that is close to the quantization unit region for which the QP difference value is calculated may be used as the predetermined reference value.
  • a value for example, slice default QP value
  • the predetermined reference value may be a specific constant value (for example, 0).
  • the side information determination unit 21 determines that each pair of QP difference values composed of two macroblocks in which the encoding order is continuous is one of n QP difference values.
  • the QP value of each macroblock is set.
  • the moving picture encoding apparatus 2 has nine QP difference values ⁇ 9, ⁇ 2,..., In which the QP difference values of the macroblock MB3 with respect to the macroblock MB2 are registered in the QP difference value table of FIG.
  • the QP value of the macroblock MB3 is determined so as to be 1 which is one of 3 and 8.
  • QP difference value 1 with respect to macroblock MB2 of macroblock MB3 is converted into index 2 corresponding to QP difference value 1 out of nine indexes.
  • the side information encoding unit 22 generates a binary string having a length corresponding to the magnitude of the absolute value from the index. For example, the side information encoding unit 22 generates a binary sequence “1110” having a length of 4 from the index 2 and generates a binary sequence “111110” having a length of 6 from the index 3.
  • the sum of absolute values of n indexes is smaller than n difference values.
  • the sum of absolute values of nine indexes is 20, and the sum of absolute values of nine QP difference values is 34.
  • each of the macroblocks MB1 to MBn is generated from each QP difference value of the macroblocks MB1 to MBn rather than generating a binary string having a length corresponding to the magnitude of the absolute value of the QP difference value as in the prior art.
  • the total length of n binary strings is shorter when the QP difference value is converted into a corresponding index and a binary string having a length corresponding to the magnitude of the absolute value of the index is generated (that is, The code amount becomes smaller.
  • the moving picture coding apparatus 2 can further reduce the code amount of the quantization parameter as compared with the prior art.
  • the moving picture decoding apparatus 1 is a moving image decoding apparatus that uses a technique adopted in the H264 / AVC standard for a part thereof.
  • the video decoding device 1 is a device that generates and outputs a decoded image # 2 by decoding the encoded data # 1 input from the video encoding device 2 in brief.
  • FIG. 4 is a block diagram showing a configuration of the moving picture decoding apparatus 1.
  • the video decoding device 1 includes a variable length code demultiplexing unit 11, a side information decoding unit 12, an MB setting unit 13, an MB decoding unit 14, and a frame memory 15.
  • the encoded data # 1 input to the video decoding device 1 is input to the variable length code demultiplexing unit 11.
  • the variable length code demultiplexing unit 11 demultiplexes the input encoded data # 1, thereby converting the encoded data # 1 into side information encoded data # 11a which is encoded data related to side information, Separated into encoded data # 11b, which is encoded data relating to a picture, side information encoded data # 11a is output to the side information decoding unit 12, and encoded data # 11b is output to the MB setting unit 13, respectively.
  • the side information decoding unit 12 decodes the side information # 12 from the side information encoded data # 11a and outputs the side information # 12 to the MB setting unit 13.
  • the side information # 12 is a picture parameter set that is a set of parameters related to the input image # 100, a slice header that is header information for each slice included in the input image # 100, and a set of parameters for each macroblock included in the slice. It is comprised from the macroblock layer etc. which are.
  • the MB setting unit 13 divides the encoded data # 11b into a plurality of slices based on the input side information # 12, separates each slice into encoded data # 13 corresponding to each macroblock, and MB The data are sequentially output to the decoding unit 14. As will be described later, the MB setting unit 13 obtains a QP value for dequantizing the encoded data # 13 based on the side information # 12, and the obtained QP value together with the encoded data # 13 is an MB decoding unit. 14 for output.
  • the MB decoding unit 14 sequentially decodes and dequantizes the encoded data # 13 corresponding to each input macroblock (inverse quantization unit region), thereby decoding the decoded image # 2 corresponding to each macroblock. Is generated and output.
  • the decoded image # 2 is also output to the frame memory 15.
  • the decoded image # 2 is recorded in the frame memory 15.
  • the frame memory 15 records decoded images corresponding to all macroblocks preceding the macroblock in the processing order at the time of decoding the specific macroblock.
  • the encoded data # 11b corresponds to the encoded data input to the video decoding device 1.
  • the generation process of the decoded image # 2 is completed.
  • FIG. 5 is a flowchart showing a flow of operations of the side information decoding unit 12 and the MB setting unit 13.
  • the side information decoding unit 12 decodes a QP difference value table included in each slice header from the side information encoded data # 11a (step S1). And the side information decoding part 12 takes out the index contained in each macroblock layer from side information coding data # 11a (step 2). Specifically, the side information encoding unit 22 of the moving image encoding device 2 arithmetically decodes the data arithmetically encoded in step S48 to generate a binary sequence, and the binary binary sequence is unary binary. An index is taken out by performing a reverse processing of a zestation (multi-value of a binary string). Then, the side information decoding unit 12 supplies the side information # 12 including the QP difference value table and the index to the MB setting unit 13.
  • the MB setting unit 13 calculates QP values that are sequentially output to the MB decoding unit 14 together with the encoded data # 13 (step S3).
  • the MB setting unit 13 corresponds to the QP difference value table included in the slice header of the side information # 12 and the macroblock layer (the macroblock represented by the encoded data # 13) of the side information # 12. And an index included in the macroblock layer).
  • the slice header of side information # 12 is a slice header corresponding to a slice in which a macroblock represented by encoded data # 13 constitutes a part thereof.
  • the MB setting unit 13 refers to the QP difference value associated with the index in the QP difference value table, and calculates a QP value from the QP difference value.
  • the MB decoding unit 14 that decodes the input encoded data # 13 and performs inverse quantization based on the QP value input together, and the frame memory 15 perform operations compliant with the H264 / AVC standard. Since this is done, details will be omitted.
  • FIG. 6 is a flowchart showing operations of the side information decoding unit 12 and the MB setting unit 13.
  • the operations according to this modification example of the side information decoding unit 12 and the MB setting unit 13 are performed when the side information determination unit 21 and the side information encoding unit 22 of the video encoding device 2 perform the operation according to the modification example. This is the action to be performed.
  • the side information decoding unit 12 decodes a QP difference value table included in each slice header from the side information encoded data # 11a (step S21).
  • the following processing from S22 is performed on all macroblock layers included in the side information encoded data # 11a.
  • the macroblock layers to be processed after S22 are selected in the same order as the order in which the side information determination unit 21 of the video encoding device 2 selects the macroblocks to be processed.
  • the processing from S22 on the macroblock layer corresponding to the macroblock MBi is performed i-th.
  • the side information decoding unit 12 determines whether or not the selected macroblock layer is the macroblock layer of the first macroblock (specific unit region) in the expanded macroblock (second unit region) (step S22).
  • the side information decoding unit 12 extracts the index included in the macroblock layer from the side information encoded data # 11a (step S23). Specifically, the reverse processing (binarization of the binary sequence) is performed on the binary sequence generated by the side information encoding unit 22 of the video encoding device 2 in step S70. By taking out the index. Then, the side information decoding unit 12 supplies the side information # 12 including the QP difference value table and the index to the MB setting unit 13.
  • the MB setting unit 13 calculates a QP value output to the MB decoding unit 14 together with the encoded data # 13 (step S24).
  • the MB setting unit 13 refers to the QP difference value table included in the slice header of the side information # 12 and the index included in the macroblock layer. Then, the MB setting unit 13 refers to the QP difference value associated with the index in the QP difference value table, and calculates the QP value from the QP difference value by a method based on the H264 / AVC standard.
  • the side information decoding unit 12 determines the QP difference value included in the macroblock layer from the side information encoded data # 11a.
  • the MB setting unit 13 calculates a QP value (step 25). Specifically, the reverse processing (binarization of the binary sequence) is performed on the binary sequence generated by the side information encoding unit 22 of the video encoding device 2 in step S70. Thus, the QP difference value corresponding to the multivalued integer value is extracted.
  • the side information decoding unit 12 supplies the side information # 12 including the QP difference value to the MB setting unit 13, and the MB setting unit 13 calculates the H264 / AVC standard from the QP difference value included in the side information # 12.
  • the QP value is calculated by a method based on.
  • step S23 and step S24 (or the processing of step S25) has been performed on all macroblock layers (YES in step S26), the processing ends. If there is a macroblock layer that has not been subjected to the processing yet (NO in step S26), the process returns to step S22.
  • the inverse quantization unit area is a macroblock, but is not limited thereto. That is, if the size of the inverse quantization unit region is the same as the size of the quantization unit region in the video encoding device 2, the inverse quantization unit region is a unit region larger than the macroblock or a unit region smaller than the macroblock. It does not matter.
  • the QP value used for the inverse quantization of the image of each inverse quantization unit area is calculated from the QP difference value.
  • a QP difference value table in the slice header is used. Referred to. That is, the QP difference value table referred to obtain the QP difference value from the index is switched for each slice.
  • the decoding apparatus according to the present invention is not limited to this. That is, it is only necessary to switch the QP difference value table to be referenced for each unit region having the same size as the table generation unit region in the moving image encoding device 2.
  • each QP difference value may be decoded by the inverse process of uninualization.
  • the QP difference value table may be generated based on the factor value obtained by decoding and the size of the QP difference value table. That is, when the size of the QP difference value table is 2n + 1 and the value of factor is f, the indexes are -n, -n + 1, ..., 0, ..., n-1, n, Generate a QP difference value table with QP difference values corresponding to -1 * f * n, -1 * f * (n-1), ..., 0, f * (n-1), f * n That's fine.
  • the moving image decoding apparatus 1 performs the process of setting the quantization parameter for each macroblock constituting the decoded image, but the side information decoding unit 12 performs binary processing for each macroblock from the encoded data # 1. Extract column data. Then, the side information decoding unit 12 generates an index corresponding to the length of the binary string from the data of each binary string.
  • the MB setting unit 13 refers to the QP difference value table in which n indexes different from each other and n QP difference values are associated with each other, whereby the side information decoding unit 12 The QP difference value of each macro block is specified from the index generated for each macro block. Thereafter, the MB setting unit 13 calculates the QP value of each macroblock from each QP difference value by a method based on the H264 / AVC standard.
  • the moving image decoding apparatus 1 can generate a decoded image formed by each macroblock by performing inverse quantization processing on each macroblock using the calculated QP value.
  • the encoded data # 4 illustratively includes a sequence and a plurality of pictures constituting the sequence.
  • FIG. 13 shows a hierarchical structure below the picture layer in the encoded data # 4. (A) to (d) of FIG. 13 are included in the picture layer that defines the picture PICT, the slice layer that defines the slice S, the tree block layer that defines the tree block TBLK, and the tree block TBLK, respectively. It is a figure which shows the CU layer which prescribes
  • Picture layer In the picture layer, a set of data referred to by the video decoding device 3 for decoding a picture PICT to be processed (hereinafter also referred to as a target picture) is defined. As shown in FIG. 13A, the picture PICT includes a picture header PH and slices S 1 to S NS (NS is the total number of slices included in the picture PICT).
  • the picture header PH includes a coding parameter group that the moving picture decoding apparatus 3 refers to in order to determine a decoding method of the target picture.
  • encoding mode information indicating a variable length encoding mode used by the moving image encoding device 4 at the time of encoding is an example of an encoding parameter included in the picture header PH.
  • the picture PICT is encoded by CAVLC (Context-based “Adaptive” Variable “Length” Coding). Further, when the entorpy_coding_mode_flag is 1, the picture PICT is encoded by CABAC (Context-based Adaptive Binary Arithmetic Coding).
  • picture header PH is also called a picture parameter set (PPS).
  • PPS picture parameter set
  • FIG. 16 is a diagram showing syntax included in the picture parameter set.
  • the picture parameter set includes the syntax log2_min_delta_qualt_coding_unit_size_minus4.
  • the moving picture decoding apparatus generates MinDeltaQuantCodingUnitSize as size information by referring to this syntax.
  • Descriptor (descriptor) u (1) shown in FIG. 16 indicates that the syntax associated with these descriptors is fixed-length encoded with 1 bit, and u (2) is Indicates that the syntax associated with this descriptor is fixed-length encoded with 2 bits, and ue (v) indicates that the syntax associated with this descriptor is variable-length encoded. (The same applies to the syntax table below).
  • slice layer In the slice layer, a set of data referred to by the video decoding device 3 for decoding the slice S to be processed (also referred to as a target slice) is defined. As shown in FIG. 13B, the slice S includes a slice header SH and a sequence of tree blocks TBLK 1 to TBLK NC (NC is the total number of tree blocks included in the slice S).
  • the slice header SH includes a coding parameter group that the moving image decoding apparatus 1 refers to in order to determine a decoding method of the target slice.
  • Slice type designation information (slice_type) for designating a slice type is an example of an encoding parameter included in the slice header SH.
  • I slice that uses only intra prediction at the time of encoding (2) P slice that uses unidirectional prediction or intra prediction at the time of encoding, (3) B-slice using unidirectional prediction, bidirectional prediction, or intra prediction at the time of encoding may be used.
  • the slice header SH may include a filter parameter referred to by a loop filter (not shown) included in the video decoding device 1.
  • Tree block layer In the tree block layer, a set of data referred to by the video decoding device 3 for decoding a processing target tree block TBLK (hereinafter also referred to as a target tree block) is defined.
  • the tree block TBLK includes a tree block header TBLKH and coding unit information CU 1 to CU NL (NL is the total number of coding unit information included in the tree block TBLK).
  • NL is the total number of coding unit information included in the tree block TBLK.
  • the tree block TBLK is divided into partitions for specifying a block size for each process of intra prediction or inter prediction and conversion.
  • the above partition of the tree block TBLK is divided by recursive quadtree partitioning.
  • the tree structure obtained by this recursive quadtree partitioning is hereinafter referred to as a coding tree.
  • a partition corresponding to a leaf that is a node at the end of the coding tree is referred to as a coding node.
  • the encoding node is a basic unit of the encoding process, hereinafter, the encoding node is also referred to as an encoding unit (CU).
  • CU encoding unit
  • coding unit information (hereinafter referred to as CU information)
  • CU 1 to CU NL is information corresponding to each coding node (coding unit) obtained by recursively dividing the tree block TBLK into quadtrees. is there.
  • the root of the coding tree is associated with the tree block TBLK.
  • the tree block TBLK is associated with the highest node of the tree structure of the quadtree partition that recursively includes a plurality of encoding nodes.
  • each encoding node is half the size of the encoding node to which the encoding node directly belongs (that is, the partition of the node one layer higher than the encoding node).
  • the size that each coding node can take depends on the size designation information of the coding node and the maximum hierarchical depth (maximum hierarchical depth) included in the sequence parameter set SPS of the coded data # 4. For example, when the size of the tree block TBLK is 64 ⁇ 64 pixels and the maximum hierarchical depth is 3, the encoding nodes in the hierarchy below the tree block TBLK have three types of sizes, that is, 64 ⁇ 64. It can take any of a pixel, 32 ⁇ 32 pixel, and 16 ⁇ 16 pixel.
  • the tree block header TBLKH includes an encoding parameter referred to by the video decoding device 3 in order to determine a decoding method of the target tree block. Specifically, as shown in FIG. 13C, tree block division information SP_TBLK that specifies a division pattern of the target tree block into each CU, and a quantization parameter difference that specifies the size of the quantization step ⁇ qp (qp_delta) is included.
  • the tree block division information SP_TBLK is information representing a coding tree for dividing the tree block. Specifically, the shape and size of each CU included in the target tree block, and the position in the target tree block Is information to specify.
  • the tree block division information SP_TBLK may not explicitly include the shape or size of the CU.
  • the tree block division information SP_TBLK may be a set of flags (split_coding_unit_flag) indicating whether or not the entire target tree block or a partial area of the tree block is divided into four.
  • the shape and size of each CU can be specified by using the shape and size of the tree block together.
  • the quantization parameter difference ⁇ qp is a difference qp ⁇ qp ′ between the quantization parameter qp in the target tree block and the quantization parameter qp ′ in the tree block encoded immediately before the target tree block.
  • CU layer In the CU layer, a set of data referred to by the video decoding device 3 for decoding a CU to be processed (hereinafter also referred to as a target CU) is defined.
  • the encoding node is a node at the root of a prediction tree (PT) and a transformation tree (TT).
  • PT prediction tree
  • TT transformation tree
  • the encoding node is divided into one or a plurality of prediction blocks, and the position and size of each prediction block are defined.
  • the prediction block is one or a plurality of non-overlapping areas constituting the encoding node.
  • the prediction tree includes one or a plurality of prediction blocks obtained by the above division.
  • Prediction processing is performed for each prediction block.
  • a prediction block that is a unit of prediction is also referred to as a prediction unit (PU).
  • intra prediction There are roughly two types of division in the prediction tree: intra prediction and inter prediction.
  • inter prediction there are 2N ⁇ 2N (the same size as the encoding node), 2N ⁇ N, N ⁇ 2N, N ⁇ N, and the like.
  • the encoding node is divided into one or a plurality of transform blocks, and the position and size of each transform block are defined.
  • the transform block is one or a plurality of non-overlapping areas constituting the encoding node.
  • the conversion tree includes one or a plurality of conversion blocks obtained by the above division.
  • the division in the transformation tree includes the one in which an area having the same size as the encoding node is assigned as the transformation block, and the one in the recursive quadtree division as in the above-described division of the tree block.
  • transform processing is performed for each conversion block.
  • the transform block which is a unit of transform is also referred to as a transform unit (TU).
  • the CU information specifically includes a skip flag SKIP, PT information PTI, and TT information TTI.
  • the skip flag SKIP is a flag indicating whether or not the skip mode is applied to the target PU.
  • the value of the skip flag SKIP is 1, that is, when the skip mode is applied to the target CU, PT information PTI and TT information TTI in the CU information are omitted. Note that the skip flag SKIP is omitted for the I slice.
  • PT information PTI is information regarding the PT included in the CU.
  • the PT information PTI is a set of information related to each of one or more PUs included in the PT, and is referred to when the moving image decoding apparatus 3 generates a predicted image.
  • the PT information PTI includes prediction type information PType and prediction information PInfo as shown in FIG.
  • Prediction type information PType is information that specifies whether intra prediction or inter prediction is used as a prediction image generation method for the target PU.
  • the prediction information PInfo is composed of intra prediction information or inter prediction information depending on which prediction method is specified by the prediction type information PType.
  • a PU to which intra prediction is applied is also referred to as an intra PU
  • a PU to which inter prediction is applied is also referred to as an inter PU.
  • the prediction information PInfo includes information specifying the shape, size, and position of the target PU. As described above, the generation of the predicted image is performed in units of PU. Details of the prediction information PInfo will be described later.
  • TT information TTI is information related to TT included in the CU.
  • the TT information TTI is a set of information regarding each of one or a plurality of TUs included in the TT, and is referred to when the moving image decoding apparatus 1 decodes residual data.
  • a TU may be referred to as a block.
  • the TT information TTI includes TT division information SP_TT that specifies a division pattern for each transform block of the target CU, and quantized prediction residuals QD 1 to QD NT (NT is The total number of blocks included in the target CU).
  • TT division information SP_TT is information for determining the shape and size of each TU included in the target CU and the position in the target CU.
  • the TT division information SP_TT can be realized from information (split_transform_unit_flag) indicating whether or not the target node is divided and information (trafoDepth) indicating the division depth.
  • each TU obtained by the division can have a size from 32 ⁇ 32 pixels to 2 ⁇ 2 pixels.
  • Each quantization prediction residual QD is encoded data generated by the moving image encoding device 4 performing the following processes 1 to 3 on a target block that is a processing target block.
  • Process 1 DCT transform (Discrete Cosine Transform) of the prediction residual obtained by subtracting the prediction image from the encoding target image;
  • Process 2 Quantize the transform coefficient obtained in Process 1;
  • Process 3 Variable length coding is performed on the transform coefficient quantized in Process 2;
  • prediction information PInfo As described above, there are two types of prediction information PInfo: inter prediction information and intra prediction information.
  • the inter prediction information includes a coding parameter that is referred to when the video decoding device 3 generates an inter prediction image by inter prediction. More specifically, the inter prediction information includes inter PU division information that specifies a division pattern of the target CU into each inter PU, and inter prediction parameters for each inter PU.
  • the inter prediction parameters include a reference image index, an estimated motion vector index, and a motion vector residual.
  • the intra prediction information includes an encoding parameter referred to when the video decoding device 3 generates an intra predicted image by intra prediction. More specifically, the intra prediction information includes intra PU division information that specifies a division pattern of the target CU into each intra PU, and intra prediction parameters for each intra PU.
  • the intra prediction parameter is a parameter for designating an intra prediction method (prediction mode) for each intra PU.
  • TU is used to mean a conversion block in the lowest hierarchy of the conversion tree unless otherwise specified.
  • LCU is used to mean the CU in the highest hierarchy of the coding tree.
  • the moving picture decoding apparatus is an apparatus that generates decoded picture # 3 by decoding encoded data # 4 supplied from moving picture encoding apparatus 4 described below.
  • FIG. 14 is a block diagram illustrating a configuration of the moving image decoding apparatus 3.
  • the video decoding device 3 includes a variable length code demultiplexing unit 31, a side information decoding unit 32, a CU setting unit 33, a CU decoding unit 34, and a frame memory 15.
  • the encoded data # 4 input to the video decoding device 3 is input to the variable length code demultiplexer 31.
  • the variable length code demultiplexing unit 31 demultiplexes the input encoded data # 4, thereby converting the encoded data # 4 into side information encoded data # 31a that is encoded data related to side information,
  • the data is separated into encoded data # 31b that is encoded data relating to a picture, and the side information encoded data # 31a is output to the side information decoding unit 32 and the encoded data # 31b is output to the CU setting unit 33, respectively.
  • the side information decoding unit 32 decodes the side information encoded data # 31a to generate side information # 32, and outputs the side information # 32 to the CU setting unit 33.
  • the side information decoding unit 32 in the process of decoding the side information encoded data # 31a, by decoding the encoded data of the size information indicating the size of the QP encoding unit area, the side information decoding unit 32 performs the above processing as a part of the side information # 32. Generate size information. Specifically, the side information decoding unit 32 performs the calculation of Expression 1 below on log2_min_delta_qualt_coding_unit_size_minus4 included in the side information encoded data # 31a to generate MinDeltaQuantCodingUnitSize as the size information. In Expression 1, “ ⁇ ” indicates a left bit shift operation.
  • the side information decoding unit 32 in the process of decoding the side information encoded data # 31a, by decoding the encoded data of the QP difference value of each QP encoding unit area, as a part of the side information # 32 The QP difference value is generated.
  • the side information decoding unit 32 refers to the coding_unit syntax (see FIG. 18) included in the encoded data # 4 and sequentially performs the following processing on each CU. That is, the side information decoding unit 32 can perform decoding when both the x component and the y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) match an integer multiple of the size of the QP coding unit region (MinDeltaQuantCodingUnitSize). The value of the flag (deltaQuantAvail) indicating the state is set to “true” indicating the decryptable state.
  • the side information decoding unit 32 decodes the QP difference value at the time of decoding CUs other than the skip block in a state where deltaQuantAvail is decodable. That is, when a deltaQuantAvail value is “true” and a skip flag with a value of “0” is referenced, cu_qp_delta included in the coding_unit syntax is decoded, and the QP difference value of the CU that refers to the skip flag is decoded. Set to the value of cu_qp_delta Subsequently, the side information decoding unit 32 sets the value of deltaQuantAvail to “false”.
  • the side information decoding unit 32 sets 0 to the QP difference value when referring to the skip flag whose value is “0”. That is, the value of qp in the CU decoded immediately before the CU that refers to the skip flag is used as the qp for the CU that refers to the skip flag.
  • cu_qp_delta may be decoded as follows in consideration of a merge block that is a CU that uses the same prediction parameter as that of an adjacent block.
  • the side information decoding unit 32 refers to the skip flag of the CU and the merge flag of the CU for each of one or more CUs constituting the entire QP coding unit region in raster scan order. You may do it.
  • the side information decoding unit 32 first refers to the skip flag whose value is “0” and the merge flag whose value is “0” in the QP coding unit region.
  • the QP difference value of the CU is decoded from cu_qp_delta.
  • the side information decoding unit 32 may sequentially perform the following processing on each CU with reference to the coding_unit syntax (see FIG. 19) included in the encoded data # 4. That is, the side information decoding unit 32 can perform decoding when both the x component and the y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) match an integer multiple of the size of the QP coding unit region (MinDeltaQuantCodingUnitSize). The value of the flag (deltaQuantAvail) indicating the state is set to “true”. Thereafter, the side information decoding unit 32 decodes cu_qp_delta at the time of decoding a CU that is neither a skip block nor a merge block.
  • the side information decoding unit 32 decodes cu_qp_delta at the time of decoding a CU that is neither a skip block nor a merge block.
  • the side information decoding unit 32 does not encode the QP difference value at the time of decoding the skip block or merge block CU. That is, when the deltaQuantAvail value is “false”, a skip flag with a value “1” is referred to, or a skip flag with a value “0” and a merge flag with a value “1” are simultaneously displayed. Referring to it, 0 is set to the QP difference value. In this case, the qp value of the CU decoded immediately before the CU referring to the skip flag is used as the qp for the CU referring to the skip flag.
  • Qp is uniquely determined for each QP coding unit region by the processing of the side information decoding unit 32 as described above. Also, qp uniquely determined for each QP coding unit region is used in common for each CU included in the QP coding unit region.
  • the CU setting unit 33 divides the encoded data # 31b into a plurality of slices based on the input side information # 32, divides each slice into a plurality of QP encoding unit regions, and each QP encoding unit region Are separated into encoded data # 33b corresponding to individual CUs, and sequentially output to the CU decoding unit. Further, the CU setting unit 33, for each QP coding unit area, in addition to the coded data # 33b corresponding to each CU of the QP coding unit area, the QP code included in the side information # 32 The QP difference value # 33a of the quantization unit area is output to the CU decoding unit 34.
  • the CU decoding unit 34 generates decoded image # 34 corresponding to each CU by sequentially decoding and dequantizing the encoded data # 33b corresponding to each input CU (inverse quantization unit region). And output.
  • the decoded image # 34 is also output to the frame memory 15.
  • the CU decoding unit 34 when decoding and dequantizing the encoded data # 33b corresponding to the CU, the CU decoding unit 34 obtains the QP value from the QP difference value # 33a of the QP encoding unit region to which the CU belongs. Find the inverse quantization process.
  • the generation process of # 3 is completed.
  • the moving image decoding apparatus does not decode the encoded data of the QP difference value for each CU, but decodes the encoded data of the QP difference value for each QP encoding unit region including one or more CUs. Therefore, it is possible to generate a decoded image from encoded data having a smaller code amount than the conventional one.
  • qp is not required for skip blocks that are CUs that do not contain residual data.
  • the skip flag is “1”
  • the QP difference value is not decoded, and only when the skip flag is “0”, the QP difference value is decoded. The code amount of the value can be reduced.
  • the QP difference value in the encoded data is reduced by not decoding the QP difference value even in the merge block that reduces the code amount of the encoded data by omitting a part of the encoded data. Can be reduced.
  • the video encoding apparatus divides each LCU constituting an input image into a plurality of CUs (Coding Units) using the coding_tree syntax described in JCTVT-403. Process.
  • the splitting process specifically includes four i + 1-th layer having a size of 1/4 when the split_coding_unit_flag of the i-th layer CU is true.
  • the process of dividing into CUs is a process of performing recursively. Accordingly, the sizes of the plurality of CUs are generally not the same.
  • the moving image encoding apparatus encodes a QP difference value related to at most one CU belonging to the QP encoding unit region for each QP encoding unit region (unit region) composed of one or more CUs. It is configured as follows.
  • the moving picture encoding apparatus is configured to encode size information indicating the size of the QP encoding unit area.
  • the moving picture encoding apparatus does not encode the QP difference value for each quantization unit area as in the moving picture encoding apparatus of the first embodiment, but one or more quantization unit areas.
  • the amount of code of the QP difference value can be reduced.
  • the encoded QP difference value and the encoded size information of each QP encoding unit area generated in this way are transmitted to a moving picture decoding apparatus to be described later.
  • the moving picture decoding apparatus performs inverse quantization by using a common QP difference value in each quantization unit region constituting one QP coding unit region.
  • region (third unit region) that is a component of the QP coding unit region may be a TU instead of a CU.
  • FIG. 15 is a block diagram illustrating a configuration of the moving image encoding device 4.
  • the moving image encoding device 4 includes a side information determination unit 41, a side information encoding unit 42, a CU setting unit 43, a CU encoding unit 44, a variable length code multiplexing unit 25, and a CU decoding unit. 46 and a frame memory 27.
  • the side information determination unit 41 determines side information based on the input image # 100, and outputs the determined side information as side information # 41.
  • Side information # 41 (the same applies to side information # 61, # 81 described later) is a picture parameter set that is a set of parameters related to the input image # 100, and header information for each slice included in the input image # 100. It consists of a slice header, CU information that is a set of parameters for each CU included in the slice, TU information that is a set of parameters for each TU included in the CU, and the like.
  • the side information determination unit 41 determines the size (vertical and horizontal) of the QP coding unit region for each slice (or picture) based on a predetermined algorithm, and sets the size of the QP coding unit region.
  • the indicated size information is stored in the slice header (picture parameter set) of the side information # 41.
  • the side information determination unit 41 based on the size information of the QP coding unit area in the picture parameter set (or slice header), the QP coding unit area constituting the input image # 100 (or each slice) And a QP difference value related to at most one CU for each QP coding unit area (hereinafter, also simply referred to as “QP coding unit area QP”) as a part of the CU information of the CU. Store in information # 41.
  • the side information encoding unit 42 encodes side information # 41 and outputs side information encoded data # 42.
  • the side information encoded data # 42 is supplied to the variable length code multiplexer 25.
  • the side information encoding unit 42 encodes the QP difference value of each QP encoding unit region and the size information in the process of encoding the side information # 41.
  • the side information encoding unit 42 applies a logarithmic function having a base of 2 to the size of the QP encoding unit area, and subtracts 4 from the obtained logarithmic function value to thereby obtain size information.
  • the encoded data is generated.
  • the encoded data of the picture parameter set is, for example, data as shown in FIG. 16 (in FIG. 16, log2_min_delta_qualt_coding_unit_size_minus4 is the size information). Represents the encoded data).
  • the CU setting unit 43 divides the input image # 100 into a plurality of slices based on the side information # 41, further divides each slice into a plurality of CUs, and outputs a CU image # 43 related to each CU. As described above, generally, the size of each CU image is not the same.
  • the CU setting unit 43 sets the QP difference value # 43a of the QP coding unit region stored in the side information # 41 together with the CU images # 43b of a plurality of CUs constituting one QP coding unit region. Output.
  • the CU encoding unit 44 DCT-transforms a prediction residual of a sequentially input CU image # 43b with a predicted image transmitted from a predicted image generation unit (not shown), and the CU image # 43b belongs to the CU image # 43b.
  • Each DCT coefficient of the prediction residual is quantized with a quantization level corresponding to the QP value determined from the QP difference value # 43a in the QP coding unit region.
  • the CU encoding unit 44 generates CU encoded data # 44 by performing variable length encoding processing on the data obtained by the quantization, and supplies the CU encoded data # 44 to the variable length code multiplexing unit 25.
  • the CU decoding unit 46 sequentially decodes the CU encoded data # 44 corresponding to each input CU image # 43b, thereby generating and outputting a decoded image # 46 corresponding to each CU.
  • the decoded image # 46 is supplied to the frame memory 27.
  • variable length code multiplexing unit 25 and the frame memory 27 have been described in the first embodiment, description thereof is omitted here.
  • the side information determination unit 41 and the side information encoding unit 42 are configured to encode at most one QP difference value for each QP encoding unit region. Specific processing to be performed will be described with reference to FIG.
  • FIG. 17 is a diagram schematically showing a part (four QP coding unit areas) of the QP coding unit area defined by the side information determination unit 41.
  • each of the four square areas surrounded by a thick line is a QP encoding unit area, and a total of 12 areas surrounded by a thin line indicate a CU.
  • a CU drawn with diagonal lines indicates a CU in which a QP difference value is encoded, and a CU drawn with a dotted pattern indicates a skip block.
  • the side information determination unit 41 For each defined QP coding unit area, the side information determination unit 41 sets one or more CUs constituting the entire QP coding unit area in a defined order (in this embodiment, in a raster scan order). Refer to the skip flag.
  • the side information determination unit 41 calculates, for each QP coding unit area, the QP value of the CU to which the skip flag whose value is “0” is first referred to in the QP coding unit area, and the QP value referred immediately before
  • the QP difference value from (or the default QP value) is output to the side information encoding unit 42 as part of the side information # 41.
  • the side information determination unit 41 determines that the first CU located in the raster scan order is a skip block (a CU whose skip flag value is “1”).
  • the QP value of the CU in which the second diagonal line is drawn in the scan order is calculated, and the QP difference value from the default QP value is output to the side information encoding unit 42.
  • the side information encoding unit 42 encodes the QP difference value of at most one CU in the QP encoding unit area stored in the side information # 41 for each QP encoding unit area.
  • the side information determination unit 41 and the side information encoding unit 42 sequentially perform the following processing on each CU using the coding_unit syntax shown in FIG. That is, the side information determination unit 41 performs encoding when both the x component and the y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) match an integer multiple of the size of the QP encoding unit region (MinDeltaQuantCodingUnitSize). The value of the flag (deltaQuantAvail) indicating the possible state is set to “true”.
  • the side information determination unit 41 determines the QP difference value of the CU that referred to the skip flag as a part of the side information # 41.
  • the side information encoding unit 42 executes QP difference value encoding processing and sets the value of deltaQuantAvail to “false”.
  • the side information determination unit 41 may, for each defined QP coding unit region, for one or more CUs constituting the entire QP coding unit region, in the raster scan order, the CU skip flag and the CU merge flag And may be referred to.
  • the side information determination unit 41 first refers to the skip flag whose value is “0” and the merge flag whose value is “0” in the QP coding unit region.
  • the QP value of the CU is calculated, and a QP difference value with the CU value (or default QP value) of the CU referred immediately before is supplied to the side information encoding unit 42 as a part of the side information # 41.
  • the side information determination unit 41 and the side information encoding unit 42 may sequentially perform the following processing on each CU using the coding_unit syntax shown in FIG. That is, the side information determination unit 41 performs encoding when both the x component and the y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) match an integer multiple of the size of the QP encoding unit region (MinDeltaQuantCodingUnitSize). The value of the flag (deltaQuantAvail) indicating the possible state is set to “true”.
  • the QP difference value is supplied to the side information encoding unit 42 as a part of the side information # 41.
  • the side information encoding unit 42 executes QP difference value encoding processing and sets the value of deltaQuantAvail to “false”.
  • variable length code multiplexing unit 25 receives the QP difference value and the picture parameter of each QP encoding unit region from the side information encoding unit 42.
  • the side information encoded data # 42 including the encoded data with the size information of the QP encoding unit area determined for each set (each slice) is received.
  • the variable length code multiplexing unit 25 generates encoded data # 4 by multiplexing the CU encoded data # 44 received from the CU encoding unit 44 and the side information encoded data # 42, and outputs the encoded data # 4. .
  • the side information determination unit 41 may store the size information of the QP coding unit area in the sequence parameter set instead of the slice header and the picture parameter set.
  • the side information encoding unit 42 of the moving image encoding device 4 calculates a value obtained by subtracting 4 from the logarithmic function value obtained by applying a logarithmic function having a base of 2 to the size of the QP encoding unit area.
  • the encoded data of the size information is generated, but the present invention is not limited to this.
  • the side information encoding unit 42 may encode the size of the QP encoding unit region as a relative size with the LCU size. For example, when the size of the QP coding unit area is 1 / 2n of the LCU size (max_coding_unit_width), n may be generated as encoded data of size information.
  • the side information decoding unit 32 of the video decoding device 3 performs the calculation of Expression 2 below on log2_min_delta_qualt_coding_unit_size_to_lcu included in the side information encoded data # 31a to generate MinDeltaQuantCodingUnitSize as the size information.
  • Expression 2 “>>” indicates a right bit shift operation.
  • the encoding method of the size of the QP encoding unit area which is encoded as a size relative to the LCU size as described above, can be applied to the following embodiments.
  • the configuration of the encoded data # 6 according to the present embodiment is substantially the same as the configuration of the encoded data # 4 described in the second embodiment, but differs in the following points. That is, the encoded data # 6 according to the present embodiment includes the coding_unit syntax shown in FIG. 20 and the transform_tree syntax shown in FIG. The coding_unit syntax shown in FIG. 20 and the transform_tree syntax shown in FIG. 21 will be described together with the following video decoding device and video encoding device.
  • the video decoding device has substantially the same configuration as the video decoding device 3 described in the second embodiment.
  • the moving picture decoding apparatus basically performs the same operation as the moving picture decoding apparatus 3 described in the second embodiment, thereby decoding the encoded data # 6 and decoding the decoded picture # 3. Can be generated.
  • the QP difference value of each QP coding unit region is not a part of the QP information of the side information # 32 but a part of the TU information of the side information # 32. Therefore, the CU setting unit 33 of the video decoding device 3 reads the QP difference value of each QP coding unit region by referring to the TU information of each selection target TU included in the side information # 32. Become.
  • the side information decoding unit 32 included in the moving image decoding apparatus skips the CUs in the raster scan order for each of one or more CUs constituting the entire QP coding unit area.
  • the flag and the residual data presence flag (residualDataPresentFlag) of the CU are referred to.
  • the residual data existence flag is a flag that becomes “True” when the CU includes at least one TU including at least one DCT coefficient that is not 0, and becomes “False” otherwise. is there.
  • the side information decoding unit 32 refers to the coding unit syntax of FIG. 20 and the transform_tree syntax of FIG. 21 and sequentially performs the following processing on each CU. That is, as can be seen from FIG. 20, the side information decoding unit 32 determines that the x component and y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) are both vertical and horizontal sizes (MinDeltaQuantCodingUnitSize) of the QP coding unit region. If the value matches an integer multiple of, the value of the flag (deltaQuantAvail) indicating the decryptable state is set to “true”.
  • the side information decoding unit 32 refers to the value of residualDataPresentFlag in the transform_tree syntax of FIG. 21 when referring to the skip flag whose value is “0” while the value of deltaQuantAvail is “true”.
  • the side information decoding unit 32 refers to the coding unit syntax for the next CU.
  • residualDataPresentFlag is determined by whether or not the value of cuv_yuv_root is 0. It is “true” when cuv_yuv_root is non-zero, and “false” when cuv_yuv_root is zero.
  • residualDataPresentFlag is “true” if the value of no_resisulal_data_flag is other than 0, and “false” if the value of no_resisulal_data_flag is 0.
  • the side information decoding unit 32 performs transform_tree symbol shown in FIG. 21 for each TU constituting the CU of interest. Refer to the tax. As a result, the side information decoding unit 32 is a TU that includes at least one DCT coefficient that is not 0 and is the first in a prescribed order (for example, an order opposite to the raster scan order) in the CU of interest.
  • Cu_qp_delta of a TU to be decoded at the bottom (for example, the TU at the lower right corner, hereinafter also referred to as “selection target TU”), and a QP difference value for the first TU to be decoded is set to the value of the decoded cu_qp_delta To do.
  • the side information decoding unit 32 sets the value of deltaQuantAvail to “false”.
  • the moving picture coding apparatus uses a coding_tree syntax to express each LCU constituting a plurality of CUs (Coding Units: quantization units). Area). Further, unlike the video encoding device 4, the video encoding device according to the present embodiment uses the coding_unit syntax shown in FIG. 20 and the transform_tree syntax shown in FIG. 21 for each CU. The data is divided into a plurality of conversion units (TUs) constituting the conversion tree.
  • TUs conversion units
  • the moving image encoding apparatus may, for each QP encoding unit region determined based on a predetermined algorithm including one or more TUs, at least a part of TUs constituting the entire QP encoding unit region. Only the QP difference value is encoded. However, the moving picture encoding apparatus according to the present embodiment encodes the QP difference value related to the TU only when the prediction residual of the TU is not 0 (that is, there is a DCT coefficient other than 0). It has been. Here, the absence of non-zero DCT coefficients is equivalent to the fact that each DCT coefficient of the luminance component of the TU and each DCT coefficient of the color difference component of the TU are all zero. Therefore, unlike the second embodiment, the video encoding apparatus according to the present embodiment can reduce redundant processing of encoding a QP difference value that does not need to be encoded.
  • FIG. 22 is a block diagram illustrating a configuration of the moving image encoding device 6.
  • the moving image encoding device 6 includes a side information determination unit 61, a side information encoding unit 62, a CU setting unit 43, a CU encoding unit 44, a variable length code multiplexing unit 25, and a CU decoding unit. 46 and a frame memory 27.
  • the side information determination unit 61 will be described below.
  • the side information encoding unit 62 will be described.
  • the side information determination unit 61 For each specified QP coding unit area, the side information determination unit 61 includes the skip flag of the CU and the residual data of the CU in the raster scan order for one or more CUs constituting the entire QP coding unit area. Refer to the flag (residualDataPresentFlag).
  • the residual data existence flag is a flag that becomes “True” when the CU includes at least one TU including at least one DCT coefficient that is not 0, and becomes “False” otherwise. is there.
  • the side information determination unit 61 For each QP coding unit region, the side information determination unit 61 simultaneously refers to the skip flag whose value is “0” and the residual data presence flag whose value is “1” for the first time in the QP coding unit region.
  • QP difference value # 63a between the QP value of the CU and the default QP value is output to side information encoding unit 62 as part of side information # 61.
  • the side information encoding unit 62 encodes the QP difference value received from the side information determining unit 61 for each QP encoding unit region to generate encoded data # 62.
  • the side information determination unit 61 and the side information encoding unit 62 sequentially perform the following processing on each CU using the coding / unit syntax of FIG. 20 and the transform_tree syntax of FIG. . That is, as can be seen from FIG. 20, the side information determination unit 61 determines that the x component and y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) are both the vertical and horizontal sizes (MinDeltaQuantCodingUnitSize) of the QP coding unit region. When the value matches the integer multiple of, the value of the flag (deltaQuantAvail) indicating the encoding enabled state is set to “true”.
  • the side information determination unit 61 calls the transform_tree syntax of FIG. 21 and refers to the value of residualDataPresentFlag.
  • the side information determination unit 61 calls the coding unit syntax for the next CU.
  • the side information determination unit 61 applies the transform_tree syntax of FIG. 21 to each TU constituting the CU of interest.
  • the side information determination unit 61 is a TU that includes at least one DCT coefficient that is not 0 and is the first in a specified order (for example, an order opposite to the raster scan order) in the CU of interest.
  • the QP difference value of the TU (referred to as “selection target TU” hereinafter) is calculated, and the side information encoding unit 62 uses the QP difference value of the selection target TU as part of the TU information. To supply.
  • the side information encoding unit 62 performs an encoding process on the received QP difference value and sets the value of deltaQuantAvail to “false”.
  • variable length code multiplexing unit 25 receives the QP difference value of each QP encoding unit region and the picture (or the picture) (or from the side information encoding unit 62). Side information encoded data # 62 including encoded data with the size information of the QP encoding unit area determined for each slice) is received.
  • the variable length code multiplexing unit 25 generates encoded data # 6 by multiplexing the CU encoded data # 44 received from the CU encoding unit 44 and the side information encoded data # 62, and outputs the encoded data # 6. .
  • the side information determination unit 61 and the side information encoding unit 62 may use the transform_tree syntax of FIG. 23 instead of using the transform_tree syntax of FIG.
  • the side information determination unit 61 is a TU that includes at least one DCT coefficient that is not 0 in addition to the QP difference value of the selection target TU, and is the QP difference of the TU located at the upper left end in the CU of interest.
  • the value may be supplied to the side information encoding unit 62 as part of the TU information.
  • side information determination unit 61 and the side information encoding unit 62 may use the transform_tree syntax of FIG. 24 instead of using the transform_tree syntax of FIG.
  • the side information determination unit 61 uses the QP difference of the CU as a part of the CU information of the CU (that is, the TU of the highest layer). The value may be supplied to the side information encoding unit 62.
  • the moving picture decoding apparatus is an apparatus that generates the decoded picture # 7 by decoding the encoded data # 8 supplied from the moving picture encoding apparatus 8.
  • An example of the coding unit syntax included in the encoded data # 7 is shown in FIG.
  • FIG. 27 is a block diagram showing a configuration of the moving picture decoding apparatus 7.
  • the video decoding device 7 includes a variable length code demultiplexing unit 71, a side information decoding unit 72, a CU setting unit 73, a CU decoding unit 74, a predicted image generation unit 75, and a frame memory 15. It has.
  • the encoded data # 8 input to the video decoding device 7 is input to the variable length code demultiplexer 71.
  • the variable length code demultiplexing unit 71 demultiplexes the input encoded data # 8, thereby converting the encoded data # 7 into side information encoded data # 71a that is encoded data related to side information, Separated into encoded data # 71b, which is encoded data relating to a picture, side information encoded data # 71a is output to the side information decoding unit 72, and encoded data # 71b is output to the CU setting unit 73.
  • the side information decoding unit 72 decodes the side information encoded data # 71a to generate side information # 72, and outputs the side information # 72 to the CU setting unit 73.
  • the side information decoding unit 72 decodes the code data of the prediction mode # 88m of each CU in the process of decoding the side information encoded data # 71a, so that each CU that becomes a part of the side information # 72 is decoded. Prediction mode # 88m is generated.
  • the side information decoding unit 72 performs the first QP coding unit region (unit region) and the second QP code included in the side information coded data # 71a in the process of decoding the side information coded data # 71a.
  • the two pieces of size information are generated as part of the side information # 72 by decoding the encoded data of the size information of the quantization unit region (fourth unit region).
  • the side information decoding unit 72 performs the calculation of Equation 1 described above on log2_min_delta_qualt_coding_unit_size_minus4 included in the side information encoded data # 71a, and generates MinDeltaQuantCodingUnitSize as the size information of the first QP encoding unit region. To do.
  • the side information decoding unit 72 performs the same calculation on log2_min_intra_delta_qualt_coding_unit_size_minus4 included in the side information encoded data # 71a, and generates MinIntraDeltaQuantCodingUnitSize as the size information of the second QP encoding unit region.
  • the side information decoding unit 72 refers to the coding unit syntax of FIG. 27 and sequentially performs the following processing on each CU. That is, as can be seen from FIG. 27, the side information decoding unit 72 has both the x component and the y component of the upper left coordinates of the CU referring to the skip flag (skip_flag), both of which are integer multiples of the size (MinDeltaQuantCodingUnitSize) of the first QP coding unit region. If it matches, the value of deltaQuantAail is set to “true”.
  • the side information decoding unit 72 refers to the value of each skip flag, and can decode the QP difference value when the CU image is intra-coded when referring to a skip flag whose value is “0”. A flag indicating the state (deltaQuantAvailIntra) is set to “true”. Further, when the side information decoding unit 72 refers to the skip flag having a value of “0” in a state where the value of deltaQuantAvail is “true”, the side information decoding unit 72 decodes cu_qp_delta included in the coding_unit syntax, and refers to the CU referring to the skip flag. Is set to the decoded value of cu_qp_delta. Subsequently, the side information decoding unit 72 sets the value of deltaQuantAvail and the value of deltaQuantAvailIntra to “false”.
  • the side information decoding unit 72 has both the x component and the y component of the upper left coordinates of the CU referring to the skip flag (skip_flag) match an integer multiple of the size (MinIntraDeltaQuantCodingUnitSize) of the second QP coding unit region, and Even when the value of deltaQuantAvailIntra is “true”, cu_qp_delta included in the coding_unit syntax is decoded, and the QP difference value of the CU referring to the skip flag is set to the decoded value of cu_qp_delta.
  • the CU setting unit 73 divides the encoded data # 71b into a plurality of slices based on the input side information # 72, separates each slice into encoded data # 73b corresponding to each CU, and performs CU decoding The data are sequentially output to the unit 74. Also, the CU setting unit 73 sends the prediction mode # 73m of each CU included in the side information # 72 and the QP difference value 73a of each selection target CU to the CU decoding unit 74 together with each encoded data # 73b. Output. Further, the CU setting unit 73 outputs the prediction mode # 73m of each CU to the predicted image generation unit 75.
  • the CU decoding unit 74 generates decoded images # 74 corresponding to individual CUs by sequentially decoding and dequantizing the encoded data # 73b corresponding to each input CU (inverse quantization unit region). And output.
  • the decoded image # 74 is also output to the frame memory 15.
  • the CU decoding unit 74 refers to the sizes of the first QP coding unit region and the second QP coding unit region stored in the input side information # 72, and the entire region of the decoded image to be generated Is defined.
  • the CU decoding unit 74 determines a QP difference value used for inverse quantization of each CU as follows. That is, when the CU to be dequantized is a selection target CU, the CU decoding unit 74 dequantizes the QP difference value # 73b of the selection target CU received from the CU setting unit 73 immediately before. From the QP value of the CU, the QP value of the selection target CU is obtained. Then, the CU decoding unit 74 performs inverse quantization at a quantization level corresponding to the QP value of the selection target CU.
  • the QP difference value used for the inverse quantization of the CU is determined as follows. That is, the CU decoding unit 74, when the prediction mode # 73m of the CU received from the CU setting unit 73 indicates an inter prediction image, the QP difference value # of the selection target CU in the first QP coding unit region to which the CU belongs. The QP value of the CU to be dequantized is determined from 73b and the QP value of the CU that has been dequantized immediately before. Then, the CU decoding unit 74 performs inverse quantization at a quantization level corresponding to the QP value of the CU.
  • the CU decoding unit 74 determines the QP difference value of the selection target CU in the second QP coding unit region to which the CU belongs. From QP of # 73b and the QP value of the CU dequantized immediately before, the QP value of the CU to be dequantized is obtained. Then, the CU decoding unit 74 performs inverse quantization at a quantization level corresponding to the QP value of the CU.
  • the CU decoding unit 74 performs inverse quantization as described above, and further performs DCT inverse transform to generate a prediction residual. Then, the CU decoding unit 74 adds the prediction image # 75 corresponding to the encoded data # 73b received from the prediction image generation unit 75 and the prediction residual to generate a decoded image # 74.
  • the predicted image generation unit 75 generates an intra predicted image from the decoded image # 74 stored in the frame memory 15 based on the prediction mode # 73m sent from the CU setting unit 73, or stores the intra predicted image in the frame memory 15. A motion vector is calculated using the reference image # 74, and motion compensation based on the motion vector is performed to generate an inter prediction image. The predicted image generation unit 75 outputs one of the generated predicted images # 75.
  • the generation process of # 7 is completed.
  • the video decoding apparatus does not decode the encoded data of the QP difference value for each CU, but decodes the encoded data of the QP difference value only for the selection target CU.
  • a decoded image can be generated from the amount of encoded data.
  • the side information determination unit 81 by introducing the deltaQuantAvailIntra flag, it is possible to prevent the side information determination unit 81 from supplying the QP difference value of the selection target CU to the side information encoding unit 82 in an overlapping manner. .
  • the amount of reduction in the code amount of the prediction residual can be achieved even if quantization is performed by increasing the number of QP difference values to increase the accuracy of the QP values. Is less than the increase amount of the code amount of the QP difference value, and it is known that the encoding efficiency is lowered.
  • the moving picture encoding apparatus encodes a relatively small number of QP difference values as the area to be inter-encoded in the input image is relatively large. That is, as the number of regions to be intra-encoded in the input image is relatively large, a relatively large number of QP difference values are encoded.
  • FIG. 26 is a block diagram illustrating a configuration of the moving image encoding device 8.
  • the moving picture encoding device 8 includes a side information determination unit 81, a side information encoding unit 82, a CU setting unit 83, a CU encoding unit 84, a variable length code multiplexing unit 25, and a CU decoding unit. 46, a frame memory 27, and a predicted image generation unit 88.
  • the side information determination unit 81, the side information encoding unit 82, and the predicted image generation unit 88 will be described.
  • variable length code multiplexing unit 25 the CU decoding unit 46, and the frame memory 27 have been described in the first or second embodiment, other components will be described below.
  • the predicted image generation unit 88 generates an intra predicted image # 88a from the decoded image # 46 stored in the frame memory 27.
  • the predicted image generation unit 88 calculates a motion vector using the reference image # 46 stored in the frame memory 27, performs motion compensation based on the motion vector, and generates an inter predicted image # 88b.
  • the predicted image generation unit 88 compares the intra predicted image, the inter predicted image, and the input image # 100, selects one of the intra predicted image or the inter predicted image, and outputs the predicted image #. It outputs as 88. Further, the predicted image generation unit 88 outputs a prediction mode # 88m that is information indicating which one of the intra predicted image or the inter predicted image is selected.
  • the side information determination unit 81 determines side information based on the input image # 100 and the prediction mode # 88m related to each CU, and outputs the determined side information as side information # 81. Specifically, the side information determination unit 81 determines the size of the first QP coding unit region and the size of the second QP coding unit region for each slice (or picture) based on a predetermined algorithm, and each QP coding The size information indicating the size of the unit area is stored in the slice header (or picture parameter set) of the side information # 81. Here, the side information determination unit 81 determines the size of the first QP coding unit area to be a relatively larger size than the size of the second QP coding unit area.
  • the side information determination unit 81 includes the first QP coding unit so that the first QP coding unit region (unit region) includes a plurality of second QP coding unit regions (fourth unit regions). The size of the region and the second QP coding unit region is determined.
  • the side information determination unit 81 based on the size information of the first QP coding unit region and the size of the second QP coding unit region in the picture parameter set (or slice header), the input image # 100 (or each The first QP coding unit region and the second QP coding unit region constituting the slice) are defined, and each CU (hereinafter also referred to as “selection target CU”) selected by the processing described later based on the prediction mode # 88m.
  • the QP difference value is stored in the side information # 81 as a part of the CU information of the CU. Further, the side information determination unit 81 stores the prediction mode # 88m of each CU in the side information # 81.
  • the side information encoding unit 82 encodes the side information # 81 and outputs side information encoded data # 82.
  • the side information encoding unit 82 encodes each QP difference value received from the side information determination unit 81 in the process of encoding the side information # 81, but each encoded QP difference value is the side information. A part of the encoded data # 82 is configured.
  • the side information encoding unit 82 encodes the size information of each QP encoding unit area in the process of encoding the side information # 81, but each size information that has already been encoded is the side information code. A part of the digitized data # 82 is configured.
  • the side information encoding unit 82 calculates a logarithmic function such that the size of the QP coding unit region is 2 for each of the first QP coding unit region and the second QP coding unit region.
  • Each encoded data of the size information is generated by subtracting 4 from the logarithmic function value obtained while applying.
  • the CU setting unit 83 divides the input image # 100 into a plurality of slices based on the side information # 81, divides each slice into a plurality of CUs, and outputs a CU image # 83b related to each CU.
  • the CU setting unit 83 when the CU setting unit 83 outputs the CU image # 83b of each CU, a QP difference of the CU included in the side information # 81 together with the CU image # 83b of the CU for a part of the CU.
  • the value # 83a is output to the CU encoding unit 84.
  • the CU encoding unit 84 performs DCT conversion on the prediction residual of the sequentially input CU image # 83b with the prediction image transmitted from the prediction image generation unit (not shown).
  • the CU encoding unit 84 when the prediction image transmitted from the prediction image generation unit 88 for the input CU image # 83b is an inter prediction image (that is, prediction mode # transmitted from the prediction image generation unit 88) 88m indicates the inter prediction mode), the prediction residual of the quantization level according to the QP value determined from the QP difference value # 83a of the selection target CU in the first QP coding unit region to which the CU image # 83b belongs is determined. Each DCT coefficient is quantized.
  • the predicted image transmitted from the predicted image generation unit 88 for the input CU image # 83b is an intra predicted image (that is, the prediction mode # transmitted from the predicted image generation unit 88).
  • 88m indicates the intra prediction mode
  • the prediction residual of the quantization level according to the QP value determined from the QP difference value # 83a of the selection target CU in the second QP coding unit region to which the CU image # 83b belongs is determined.
  • Each DCT coefficient is quantized.
  • the CU encoding unit 84 outputs the CU encoded data # 84 obtained by the above DCT transform and quantization processing to the variable length code multiplexing unit 25.
  • the configuration of the moving image encoding device 8 has been described above, but specific processing performed by the side information determination unit 81 and the side information encoding unit 82 will be described below.
  • the side information determination unit 81 Based on the side information # 81, the side information determination unit 81, for each first QP coding unit region, for one or more CUs constituting the entire first QP coding unit region, skip flag of the CU in raster scan order.
  • the CU setting unit 83 sets, for each first QP coding unit area, a QP value and a default QP value of a CU (selection target CU) to which a skip flag whose value is “0” is first referred to in the first QP coding unit area.
  • QP difference value # 83a is calculated.
  • the side information determination unit 81 is a CU located at the upper left end in the second QP coding region for each CU in association with the process of referring to the skip flag of each CU, and It is determined whether or not the prediction mode # 88m of the CU sent from the predicted image generation unit 88 is the intra prediction mode (that is, the result of the determination process is true).
  • the side information determination unit 81 determines that the result of the determination process for the CU is true for each CU, the side information determination unit 81 calculates a QP difference value # 83a between the QP value of the CU (selection target CU) and the default QP value. calculate.
  • the side information determination unit 81 supplies the QP difference value 81 of each selection target CU to the CU setting unit 83 and the side information encoding unit 82.
  • the side information encoding unit 82 encodes each QP difference value received from the side information determination unit 81, and generates encoded data of each QP difference value as part of the encoded data # 82.
  • the side information determination unit 81 and the side information encoding unit 82 sequentially perform the following processing on each CU using the coding unit syntax of FIG. That is, as can be seen from FIG. 27, the side information determination unit 81 has both the x component and the y component of the upper left coordinate of the CU referring to the skip flag (skip_flag), both of which are integer multiples of the size (MinDeltaQuantCodingUnitSize) of the first QP coding unit region. If it matches, the value of deltaQuantAail is set to “true”.
  • the side information determination unit 81 refers to the value of each skip flag, and encodes the QP difference value when the CU image is intra-coded when referring to a skip flag whose value is “0”.
  • a flag (deltaQuantAvailIntra) indicating a possible state is set to “true”.
  • the side information determination unit 81 determines the QP difference value of the CU referring to the skip flag as a part of the side information # 81 To the side information encoding unit 82.
  • the side information encoding unit 82 executes QP difference value encoding processing and sets the value of deltaQuantAvail and the value of deltaQuantAvailIntra to “false”.
  • the side information determination unit 81 has both the x component and the y component of the upper left coordinates of the CU referring to the skip flag (skip_flag) coincide with an integer multiple of the size (MinDeltaQuantCodingUnitSize) of the second QP coding unit region, and Even when the value of deltaQuantAvailIntra is “true”, the QP difference value of the CU referring to the skip flag is supplied to the side information encoding unit 82 as part of the side information # 81.
  • variable length code multiplexing unit 25 receives the QP difference value of the selection target CU and the picture (or the picture) from the side information encoding unit 82.
  • Side information encoded data # 82 including encoded data of the size information of the first QP encoding unit region and the second QP encoding unit region determined for each slice) is received.
  • the variable length code multiplexing unit 25 generates encoded data # 8 by multiplexing the CU encoded data # 84 and the side information encoded data # 82 received from the CU encoding unit 84, and outputs the encoded data # 8. .
  • deltaQuantAail is set to “true” when the x component and the y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) are both equal to an integer multiple of the size (MinDeltaQuantCodingUnitSize) of the first QP coding unit region. .
  • the side information determination unit 81 calls the transform_tree syntax of FIG. 21 and refers to the value of residualDataPresentFlag.
  • the side information determination unit 61 calls the coding unit syntax for the next CU.
  • the determination is made that the x component and the y component of the upper left coordinate of the CU both match an integer multiple of the size of the QP coding unit area (MinDeltaQuantCodingUnitSize).
  • the determination method may be used.
  • the determination can be performed using the following CU coordinate index.
  • the CU coordinate index is an index indicating the position of the CU, which increases from 0, 1, 2 in the order of decoding by raster scan from the upper left of the LCU with respect to the CU formed when a certain LCU is divided to the maximum. It is. Even when the LCU is not divided to the maximum, a CU coordinate index can be allocated for each CU from the corresponding position.
  • the x component and the y component of the upper left coordinates of the CU are both equal to an integer multiple of the size of the QP coding unit region (MinDeltaQuantCodingUnitSize).
  • the size may be used.
  • the determination is made such that the x component of the upper left coordinate of the CU is an integer multiple of the width MinDeltaQuantCodingUnitWidth of the QP coding unit region and the y component of the upper left coordinate of the CU is an integer multiple of the height MinDeltaQuantCodingUnitHeight of the QP coding unit region. Do.
  • the side information determination unit 81 determines the selection target CU according to the coding unit syntax of FIG. 27, and the side information encoding unit 82 encodes the QP difference value of the selection target CU according to the coding unit syntax of FIG. It was supposed to become.
  • the side information decoding unit 72 decodes the QP difference value of the selection target CU according to the coding unit syntax of FIG.
  • the present invention is not limited to this. That is, the side information determination unit 81 may determine the selection target CU using the coding unit syntax of FIG. In the corresponding video decoding device, the side information decoding unit 72 may decode the QP difference value of the selection target CU with reference to the coding unit syntax of FIG.
  • a syntax that performs branch processing according to the prediction mode of the CU may be configured.
  • the CU prediction mode is the intra prediction mode, the inter prediction mode, the merge mode, and the direct mode
  • the cu_qp_delta encoded by the information encoding unit 82 or referred to for decoding by the side information decoding unit 72 may be described in different places in the syntax (in other words, the side
  • the step of encoding the cu_qp_delta by the information encoding unit 82 is a step following the encoding of the prediction mode of the CU, and the presence / absence of encoding of cu_qp_delta may be different for each type of prediction mode.
  • the step of decoding cu_qp_delta by 72 is a step following decoding of the prediction mode of the CU, and may be a step for each prediction mode).
  • the QP difference value when the prediction mode is the skip mode, the QP difference value is not encoded, and when the prediction mode is the intra prediction mode, it is equal to or greater than MinIntraDeltaCodingUnitSize.
  • the QP difference value may be encoded only for a CU having a size, and the QP difference value may be encoded only for a CU having a size equal to or larger than MinDeltaCodingUnitSize when the prediction mode is the intra prediction mode and not the skip mode.
  • the QP value (cu_qp) of the CU to be quantized is the sum of the QP value (pred_qp) referenced immediately before and the QP difference value of the CU to be quantized. Seeking by
  • the QP value (QP predicted value) referenced immediately before may be the QP value of the CU located on the left side of the CU to be quantized, or may be quantized in the raster scan order. It may be the QP value of the CU at the position immediately before the CU.
  • the QP value referred immediately before is the average of the QP value of the CU located on the left side of the CU to be quantized and the QP value of the CU located above the CU to be quantized. It may be a value.
  • the moving picture decoding apparatus is an apparatus that generates decoded picture # 9 by decoding encoded data # 10 supplied from moving picture encoding apparatus 10 described below.
  • An example of the coding_unit syntax included in the encoded data # 10 is shown in FIG.
  • FIG. 29 is a block diagram showing a configuration of the moving picture decoding apparatus 9.
  • the moving picture decoding apparatus 9 includes a variable length code demultiplexing unit 91, a side information decoding unit 92, a CU setting unit 93, a CU decoding unit 94, and the frame memory 15.
  • the encoded data # 10 input to the video decoding device 9 is input to the variable length code demultiplexer 91.
  • the variable length code demultiplexing unit 91 demultiplexes the input encoded data # 9, thereby converting the encoded data # 9 into side information encoded data # 91a that is encoded data related to side information, Separated into encoded data # 91b that is encoded data relating to a picture, side information encoded data # 91a is output to side information decoding section 92, and encoded data # 91b is output to CU setting section 93.
  • the side information decoding unit 92 decodes the side information encoded data # 91a to generate side information # 92, and outputs the side information # 92 to the CU setting unit 93.
  • the side information decoding unit 92 in the process of decoding the side information encoded data # 91a, by decoding the encoded data of the size information indicating the size of the QP encoding unit area, the side information decoding unit 92 described above as a part of the side information # 92 Generate size information.
  • the side information decoding unit 92 in the process of decoding the side information encoded data # 91a, for each LCU, the encoded data of the QP difference value of each QP encoding unit region constituting the LCU, or the LCU The QP difference value is generated as part of the side information # 92 by decoding the encoded data of the QP difference value.
  • the side information decoding unit 92 decodes the size information (MinDeltaQuantCodingUnitSize) included in the slice header (picture parameter set) of the encoded data # 10, and determines the size (vertical and horizontal) of the QP encoding unit region. .
  • the side information decoding unit 92 decodes the deltaQuantAvailCU flag of each LCU.
  • the side information decoding unit 92 decodes the QP difference value used for quantization of the LCU in units of LCU (that is, at most one QP difference in the LCU). To decrypt the value). Then, the side information decoding unit 92 uses the QP difference value for decoding each CU included in the LCU.
  • the side information decoding unit 92 determines to decode the QP difference value used for quantization of the LCU in units of CUs. Then, the side information decoding unit 92 decodes the QP difference value of the selection target CU selected at most for each QP coding unit area.
  • the side information decoding unit 92 performs the following process on the target CU for each of one or more CUs constituting the LCU.
  • the side information decoding unit 92 sets the deltaQuantAvailLCU flag when the target CU is a CU located at the upper left corner of the LCU (that is, when the x component and y component of the upper left coordinate of the target CU are integer multiples of max_coding_unit_width and max_coding_unit_height, respectively). Is set to “true”.
  • the side information decoding unit 92 positions the target CU at the upper left end of the QP coding unit region to which the target CU belongs (that is, the x component and the y component of the upper left coordinate of the target CU are integer multiples of MinDeltaQuantCodingUnitSize), In addition, when the deltaQuantAvailCU flag is “true”, the deltaQuantAvail flag is set to “true”.
  • the deltaQuantAvailLCU flag is a flag for controlling the encoding / decoding of the deltaQuantAvailCU flag encoded in units of LCUs. Indicates the decryptable state.
  • the deltaQuantAvailCU flag is a flag for selecting whether the QP difference value is encoded in LCU units or CU units, and is “false” when encoding in LCU units, and is encoded in CU units. Becomes "true”.
  • deltaQuantAvail is a flag for controlling a QP coding unit when coding in CU units, and indicates a qp_delta coding / decoding possible state.
  • the side information decoding unit 92 further decodes qp_delta of the target CU (that is, the selection target CU) when the value of the skip flag of the target CU is “0” and the deltaQuantAvailLCU flag is “true”. Is set to the QP difference value. Also, the deltaQuantAvailCU flag is decoded, and the deltaQuantAvailLCU flag is set to “false”.
  • the syntax is such that the deltaQuantAvailCU flag is positioned after qp_delta, but the syntax may be that the deltaQuantAvailCU flag is positioned before qp_delta.
  • the side information decoding unit 92 also decodes qp_delta of the target CU (that is, the selection target CU) even when the value of the skip flag of the target CU is “0” and the deltaQuantAvail flag is “true”. Set to the QP difference value for the target CU. The deltaQuantAvail flag is set to “false”.
  • the deltaQuantAvail flag cannot be “true” as long as the deltaQuantAvailCU flag of the LCU is “false”. Therefore, the QP difference value for only one CU to which the skip flag whose value is “0” in the LCU is first referred to in the raster scan order is decoded. Therefore, when the deltaQuantAvailCU flag is “false”, the QP difference value is decoded in units of LCUs.
  • the deltaQuantAvailCU flag of the LCU is “true”
  • the deltaQuantAvail flag becomes “true” every time the coding_unit syntax of FIG. 31 is applied to the target CU located at the upper left corner of the QP coding unit region. Therefore, the QP difference value of the selection target CU selected at most for each QP coding unit area is decoded.
  • the CU setting unit 93 divides the encoded data # 91b into a plurality of slices based on the input side information # 92, divides each slice into a plurality of QP encoding unit areas, and each QP encoding unit area Are separated into encoded data # 93b corresponding to individual CUs and sequentially output to the CU decoding unit 94.
  • the CU setting unit 93 refers to the deltaQuantAvailCU flag of the LCU for each LCU.
  • the deltaQuantAvailCU flag is a flag indicating whether the QP difference value is encoded in units of the above-mentioned LCU or the LCU is encoded in units of QP encoding area.
  • the CU setting unit 93 refers to the CU information of each CU belonging to the LCU, and for the CU including the QP difference value in the CU information, the QP The difference value is output to the CU decoding unit 94.
  • the CU setting unit 93 outputs the QP difference value included in the CU information of the LCU to the CU decoding unit 94.
  • the CU setting unit 93 outputs the deltaQuantAvailCU flag of each LCU to the CU decoding unit 94.
  • the CU decoding unit 94 generates decoded image # 94 corresponding to each CU by sequentially decoding and dequantizing the encoded data # 93b corresponding to each input CU (inverse quantization unit region). And output.
  • the decoded image # 94 is also output to the frame memory 15.
  • the QP code to which the CU belongs is determined according to the value of the deltaQuantAvailCU flag in the LCU to which the CU belongs.
  • a QP value is obtained from the quantization unit area or the QP difference value # 93a of the LCU and the inverse quantization process is performed.
  • the generation process of # 9 is completed.
  • the video decoding device does not decode the encoded data of the QP difference value for each CU, but encodes the QP difference value for each LCU or for each QP encoding unit region constituting the LCU. Since the encoded data is decoded, a decoded image can be generated from the encoded data having a smaller code amount than the conventional one.
  • the moving picture encoding apparatus uses a coding_tree syntax described in JCTVC-C403 to specify a plurality of LCUs constituting an input image.
  • the processing is divided into CUs (Coding Units).
  • CUs Coding Units
  • the syntax described in the present embodiment is partially simplified from the syntax described in JCTVC-C403 (the same applies to other embodiments using the coding_tree syntax).
  • the video encoding device encodes the QP difference value used for quantization of the LCU for each LCU constituting the input image. Is performed based on a deltaQuantAvailCU flag, which will be described later, whether to be performed in units of LCUs or in units of QP coding regions constituting the LCUs.
  • FIG. 30 is a block diagram illustrating a configuration of the moving image encoding device 10.
  • the moving image encoding device 10 includes a side information determination unit 101, a side information encoding unit 102, a CU setting unit 43, a CU encoding unit 44, a variable length code multiplexing unit 25, and a CU decoding unit. 46 and a frame memory 27.
  • the side information determination unit 101 determines side information based on the input image # 100, and outputs the determined side information as side information # 101.
  • the side information determination unit 101 determines the size (vertical and horizontal) of the QP coding unit region, and uses size information (MinDeltaQuantCodingUnitSize) indicating the size of the QP coding unit region as a slice of the side information # 101. Store in header (picture parameter set).
  • the side information determination unit 101 decodes the deltaQuantAvailCU flag of the LCU determined based on a predetermined algorithm for each LCU constituting the input image # 100.
  • the side information determination unit 101 encodes the QP difference value used for quantization of the LCU in units of LCU (that is, at most one QP in the LCU). The difference value is encoded). And the side information determination part 101 stores the QP difference value in the CU information of LCU which comprises side information # 101.
  • the side information determination unit 101 determines to encode the QP difference value used for the quantization of the LCU in units of CUs. Then, the side information determination unit 101 stores the QP difference value of the selection target CU selected at most for each QP coding unit area in the CU information of the selection target CU constituting the side information # 101.
  • Side information encoding section 102 encodes side information # 101 and outputs side information encoded data # 102.
  • the side information encoded data # 102 is supplied to the variable length code multiplexer 25.
  • the side information encoding unit 102 encodes each QP difference value and the size information in the process of encoding the side information # 101.
  • the configuration of the moving image encoding device 10 has been described above.
  • specific processing performed by the side information determination unit 101 and the side information encoding unit 102 for each LCU configuring the input image # 100 will be described. This will be described with reference to the 31 coding_unit syntax.
  • the side information determination unit 101 performs the following processing on the target CU for one or more CUs constituting the LCU.
  • the side information determination unit 101 sets the deltaQuantAvailLCU flag when the target CU is a CU positioned at the upper left corner of the LCU (that is, when the x component and y component of the upper left coordinate of the target CU are integer multiples of max_coding_unit_width and max_coding_unit_height, respectively). Is set to “true”. Then, the side information determination unit 101 positions the target CU at the upper left end of the QP coding unit region to which the target CU belongs (that is, the x component and the y component of the upper left coordinate of the target CU are integer multiples of MinDeltaQuantCodingUnitSize). In addition, when the deltaQuantAvailCU flag is “true”, the deltaQuantAvail flag is set to “true”.
  • the side information determination unit 101 uses the QP difference value of the target CU (that is, the selection target CU) as the target CU. And the deltaQuantAvailCU flag is decoded, and the deltaQuantAvailLCU flag is set to “false”.
  • the side information determination unit 101 sets the QP difference value of the target CU (that is, the selection target CU) as a target even when the skip flag value of the target CU is “0” and the deltaQuantAvail flag is “true”. While storing in the CU information of the CU, the deltaQuantAvail flag is set to “false”.
  • the QP difference value thus stored in the CU information is supplied to the side information encoding unit 102 as a part of the side information # 101 together with the deltaQuantAvail flag of the LCU.
  • the side information encoding unit 102 encodes the side information # 101 and supplies the side information encoded data # 102 to the variable length code multiplexing unit 25.
  • the deltaQuantAvail flag cannot be “true” as long as the deltaQuantAvailCU flag of the LCU is “false”. Therefore, the QP difference value is stored in the CU information of only one CU that is first referred to in the raster scan order for the skip flag whose value is “0” in the LCU. Therefore, when the deltaQuantAvailCU flag is “false”, the QP difference value is encoded in LCU units.
  • the deltaQuantAvailCU flag of the LCU is “true”
  • the deltaQuantAvail flag becomes “true” every time the coding_unit syntax of FIG. 31 is applied to the target CU located at the upper left corner of the QP coding unit region. Therefore, the QP difference value of the selection target CU selected at most for each QP encoding unit region is encoded.
  • the variable length code multiplexing unit 25 is determined by the LCU unit or the QP coding unit region unit for each LCU from the side information encoding unit 102 by the processing of the side information determining unit 101 and the side information encoding unit 102 as described above.
  • the side information encoded data # 102 including the encoded information of the QP difference value, the size information of the QP encoding unit area determined for each picture parameter set (each slice), and the deltaQuantAvailCU flag is received.
  • the variable length code multiplexing unit 25 generates encoded data # 10 by multiplexing the CU encoded data # 44 received from the CU encoding unit 44 and the side information encoded data # 102, and outputs the encoded data # 10. .
  • the moving image decoding apparatus is an apparatus that generates decoded image # 111 by decoding encoded data # 112 supplied from moving image encoding apparatus 112 described below.
  • An example of the coding_unit syntax included in the encoded data # 112 is shown in FIG.
  • FIG. 32 is a block diagram illustrating a configuration of the moving image decoding apparatus 111.
  • the video decoding device 111 includes a variable length code demultiplexing unit 1111, a side information decoding unit 1112, a CU setting unit 1113, a CU decoding unit 1114, and a frame memory 15.
  • the encoded data # 112 input to the video decoding device 111 is input to the variable length code demultiplexing unit 1111.
  • the variable length code demultiplexing unit 1111 demultiplexes the input encoded data # 112, thereby converting the encoded data # 112 into side information encoded data # 1111a that is encoded data related to side information,
  • the data is separated into encoded data # 1111b that is encoded data relating to a picture, and the side information encoded data # 1111a is output to the side information decoding unit 1112 and the encoded data # 1111b is output to the CU setting unit 1113, respectively.
  • the side information decoding unit 1112 decodes the side information encoded data # 1111a to generate side information # 1112 and outputs the side information # 1112 to the CU setting unit 1113.
  • the side information decoding unit 1112 in the process of decoding the side information encoded data # 1111a, the sizes of the QP coding unit areas of the I slice QP coding unit area, the Q slice coding unit area, and the P slice coding unit area
  • the size information is generated as a part of the side information # 1112 by decoding the encoded data of the size information indicating.
  • side information decoding section 1112 decodes the encoded data of the QP difference value of each target QP encoding unit area constituting the LCU for each LCU.
  • a QP difference value is generated as part of the side information # 1112.
  • the side information decoding unit 1112 determines which of the three types of QP coding unit areas each of the target QP coding unit areas constituting the LCU corresponds to in the slice header of the slice to which the LCU belongs. Recognize by referring to the slice type.
  • the decoding process of the QP difference value by the side information decoding unit 1112 will be described more specifically as follows.
  • the side information decoding unit 1112 For each LCU to be quantized, the side information decoding unit 1112 has three QP coding unit regions (I-slice QP coding unit region, Q slices) having different sizes depending on the slice type of the slice to which the LCU belongs.
  • One of the QP coding unit areas for slices and the QP coding unit area for B slices) is defined (also referred to as “target QP coding unit area”).
  • target QP coding unit area For example, when the slice type of the slice to which the LCU belongs is an I slice, the side information decoding unit 1112 defines a QP coding unit area for I slice as the target QP coding unit area.
  • the side information decoding unit 1112 refers to the skip flag of the CU in the raster scan order for each of the one or more CUs constituting the entire target QP coding unit area for each specified target QP coding unit area. For each target QP coding unit region, the side information decoding unit 1112 decodes cu_qp_delta shown in FIG. 34 for a CU for which a skip flag whose value is “0” is first referenced in the QP coding unit region, Set to QP difference value for CU.
  • the side information decoding unit 1112 sequentially performs the following processing on each CU using the coding_unit syntax shown in FIG. That is, the side information decoding unit 1112 determines that the x component and y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) are both the size of the target QP coding unit region (when the slice type of the slice to which the LCU belongs is an I slice) In the case of B slices and P slices, the value of the flag (deltaQuantAvail) indicating the decodable state is set to “true” when it matches an integer multiple of MinBDeltaQuantCodingUnitSize and MinPDeltaQuantCodingUnitSize.
  • the side information decoding unit 1112 decodes cu_qp_delta for the CU that refers to the skip flag, and QP for the CU. Set to the difference value. After that, the value of deltaQuantAvail is set to “false”.
  • the CU setting unit 1113 divides the encoded data # 1111b into a plurality of slices based on the input side information # 1112, divides each slice into a plurality of target QP encoding unit regions, and sets each target QP encoding.
  • the unit area is separated into encoded data # 1113b corresponding to each CU, and sequentially output to the CU decoding unit 1114.
  • the CU decoding unit 1114 generates decoded image # 1114 corresponding to each CU by sequentially decoding and dequantizing encoded data # 1113b corresponding to each input CU (inverse quantization unit region). And output.
  • the decoded image # 1114 is also output to the frame memory 15.
  • the CU decoding unit 1114 calculates the QP value from the QP difference value # 1113a in the target QP encoding unit region to which the CU belongs. Find the inverse quantization process.
  • the generation process of # 111 is completed.
  • the video decoding device does not decode the encoded data of the QP difference value for each CU, but the QP difference value for each target QP encoding unit region determined according to the slice type of the slice to which the CU belongs. Therefore, the decoded image can be generated from the encoded data having a smaller code amount than the conventional one.
  • the moving image encoding apparatus 112 has QP differences having different granularities (numbers) depending on whether there are many I slices, many P slices, and many B slices. It is configured to encode the value.
  • FIG. 33 is a block diagram illustrating a configuration of the moving image encoding device 112.
  • the moving image encoding device 112 includes a side information determination unit 1121, a side information encoding unit 1122, a CU setting unit 43, a CU encoding unit 44, a variable length code multiplexing unit 25, and a CU decoding unit. 46 and a frame memory 27.
  • the side information determination unit 1121 will be described below.
  • the side information encoding unit 1122 will be described.
  • the side information determination unit 1121 For each LCU to be quantized, the side information determination unit 1121 has three QP coding unit regions (I-slice QP coding unit region, Q-slice) having different sizes depending on the slice type of the slice to which the LCU belongs.
  • One of the QP coding unit areas for slices and the QP coding unit area for B slices) is defined (also referred to as “target QP coding unit area”).
  • target QP coding unit area For example, when the slice type of the slice to which the LCU belongs is an I slice, the side information determination unit 1121 defines a QP coding unit region for I slice as a target QP coding unit region.
  • the side information determination unit 1121 refers to the skip flag of the CU in raster scan order for each of the one or more CUs constituting the entire target QP coding unit area for each specified target QP coding unit area.
  • the side information determination unit 1121 calculates, for each target QP coding unit region, the QP value of the CU to which the skip flag whose value is “0” is first referred to in the QP coding unit region, and the QP referred immediately before
  • the QP difference value from the value (or default QP value) is output to side information encoding section 1122 as part of the side information.
  • the side information determination unit 1121 and the side information encoding unit 1122 sequentially perform the following processing on each CU using the coding_unit syntax shown in FIG. That is, the side information determination unit 1121 determines that the x component and the y component of the upper left coordinate of the CU referring to the skip flag (skip_flag) are both the size of the target QP coding unit region (when the slice type of the slice to which the LCU belongs is an I slice) In the case of B slice and P slice, the value of the flag (deltaQuantAvail) indicating the encoding possible state is set to “true” when it matches an integer multiple of MinBDeltaQuantCodingUnitSize and MinPDeltaQuantCodingUnitSize.
  • the side information determination unit 1121 determines the QP difference value of the CU referring to the skip flag as a part of the side information # 41. Is supplied to the side information encoding unit 1122.
  • the side information encoding unit 1122 executes QP difference value encoding processing and sets the value of deltaQuantAvail to “false”.
  • variable length code multiplexing unit 25 receives the size information of each of the three types of QP encoding unit regions from the side information encoding unit 1122 and each of them. Side information encoded data # 1122 including encoded data with the QP difference value of the target QP encoding unit region is received. The variable length code multiplexing unit 25 generates encoded data # 112 by multiplexing the CU encoded data # 44 and the side information encoded data # 1122 received from the CU encoding unit 44, and outputs the encoded data # 112. .
  • the video encoding device 112 has different granularities (numbers) depending on whether there are many I slices, many P slices, and many B slices in an input image.
  • the present invention is not limited to this. That is, the moving image encoding apparatus may be configured such that the granularity (number) for encoding the QP difference values to be encoded is the same when there are many P slices and when there are many B slices.
  • each value of MinIDeltaQuantCodingUnitSize, MinBDeltaQuantCodingUnitSize, and MinPDeltaQuantCodingUnitSize may be set to a value that satisfies the following expression.
  • MinIDeltaQuantCodingUnitSize, MinBDeltaQuantCodingUnitSize, and MinPDeltaQuantCodingUnitSize may be encoded in the encoded data with a picture parameter set, a sequence parameter set, or a slice header.
  • the moving picture decoding apparatus is an apparatus that generates decoded picture # 113 by decoding encoded data # 114 supplied from moving picture encoding apparatus 114 described next.
  • FIG. 35 is a block diagram showing a configuration of the moving picture decoding apparatus 113.
  • the moving picture decoding apparatus 113 includes a variable length code demultiplexing unit 1131, a side information decoding unit 1132, a CU setting unit 1133, a CU decoding unit 1134, and the frame memory 15.
  • the encoded data # 114 input to the video decoding device 113 is input to the variable length code demultiplexer 1131.
  • the variable length code demultiplexing unit 1131 demultiplexes the input encoded data # 114, thereby converting the encoded data # 114 into side information encoded data # 1131a that is encoded data related to side information, Separated into encoded data # 1131b that is encoded data relating to a picture, side information encoded data # 1131a is output to side information decoding section 1132, and encoded data # 1131b is output to CU setting section 1133, respectively.
  • the side information decoding unit 1132 decodes the side information encoded data # 1131a to generate side information # 1132, and outputs the side information # 1132 to the CU setting unit 1133.
  • the side information decoding unit 1132 in the process of decoding the side information encoded data # 1131a, by decoding the encoded data of the size information indicating the size of the QP encoding unit area, the side information decoding unit 1132 is used as a part of the side information # 1132. Generate size information.
  • the conversion rule index is an index for identifying each conversion rule described in the first embodiment.
  • the side information decoding unit 1132 decodes the encoded data of the index (qp_delta_index) of each QP encoding unit region in the process of decoding the side information encoded data # 1131a, thereby partially
  • the above index is generated as follows.
  • the CU setting unit 1133 divides the encoded data # 1131b into a plurality of slices based on the input side information # 1132, divides each slice into a plurality of QP encoding unit regions, and each QP encoding unit region. Are encoded data # 1133b corresponding to each CU and sequentially output to the CU decoding unit 34. Further, the CU setting unit 1133 uses the conversion rule specified from the conversion rule index included in the side information # 1132 for each QP coding unit area, and also includes the QP included in the side information # 1132. A QP difference value to be output to the CU decoding unit 1134 is calculated from the index of the coding unit region. The CU setting unit 1133 then sends the QP difference value # 1133a calculated using the conversion rule to the CU decoding unit 1134 in addition to the encoded data # 1133b corresponding to each CU in the QP encoding unit region. Output.
  • the CU decoding unit 1134 generates decoded image # 1134 corresponding to each CU by sequentially decoding and dequantizing encoded data # 1133b corresponding to each input CU (inverse quantization unit region). And output.
  • the decoded image # 1134 is also output to the frame memory 15.
  • the CU decoding unit 1134 when decoding and dequantizing the encoded data # 1133b corresponding to the CU, the CU decoding unit 1134 obtains a QP value from the QP difference value # 1133a of the QP encoding unit region to which the CU belongs. Find the inverse quantization process.
  • the generation process of # 113 is completed.
  • the moving picture decoding apparatus does not decode the encoded data of the QP difference value for each QP encoding unit area, but the value is smaller than the QP difference value (or as shown in FIG. 8D). Decode the encoded data of the index (often smaller than the QP difference value). Therefore, even if there is an increase in the code amount due to the encoding of the conversion rule index, the code amount of the encoded data received to generate the QP difference value becomes smaller as a whole. Therefore, the moving picture decoding apparatus can generate a QP difference value from encoded data having a smaller data amount.
  • the moving picture encoding apparatus uses a coding_tree syntax described in JCTVC-C403 to specify a plurality of LCUs constituting an input image.
  • the processing is divided into CUs (Coding Units).
  • the moving picture encoding apparatus is configured to encode size information indicating the size of the QP encoding unit area.
  • the video encoding apparatus according to the present embodiment is different from the video encoding apparatus according to the second embodiment in that each QP encoding unit area has a QP for at most one CU belonging to the QP encoding unit area.
  • the index indicating the QP difference value described in the first embodiment is encoded.
  • the moving picture encoding apparatus according to the present embodiment encodes the conversion rule index of the conversion rule that represents the relationship between the QP difference value and the index described in the first embodiment. It is configured.
  • FIG. 36 is a block diagram illustrating a configuration of the moving image encoding device 114.
  • the moving image encoding device 114 includes a side information determination unit 1141, a side information encoding unit 1142, a CU setting unit 43, a CU encoding unit 44, a variable length code multiplexing unit 25, and a CU decoding unit. 46 and a frame memory 27.
  • the side information determination unit 1141 determines side information based on the input image # 100, and outputs the determined side information as side information # 1141.
  • the side information # 1141 is a picture parameter set that is a set of parameters related to the input image # 100, a slice header that is header information for each slice included in the input image # 100, and a set of parameters for each CU included in the slice. It consists of certain CU information, TU information that is a set of parameters for each TU included in the CU, and the like.
  • the side information determination unit 1141 determines the size (vertical and horizontal) of the QP coding unit region for each slice (or picture) based on a predetermined algorithm, and sets the size of the QP coding unit region.
  • the indicated size information is stored in the slice header (picture parameter set) of the side information # 1141.
  • the side information determination unit 1141 determines, for each slice, a set of QP difference values for imposing a limit on a QP value that can be assigned to a CU included in the slice. That is, the QP values that can be assigned to the CUs included in the slice are limited such that the QP difference value with the QP value assigned to the immediately preceding CU included in the same slice is included in the set of QP difference values.
  • the side information determination unit 1141 determines a conversion rule for the slice for each slice, and includes a conversion rule index for identifying the conversion rule in the corresponding slice header.
  • the side information determination unit 1141 determines the QP coding unit area constituting the input image # 100 (or each slice) based on the size information of the QP coding unit area in the picture parameter set (or slice header). Is specified. Further, the side information determination unit 1141 refers to the QP difference value table for the CU (selection target CU) selected at most for each QP coding unit region, and uses the QP difference value (qp_delta) as an index (qp_delta_index). Convert. Then, the side information determination unit 1141 outputs the side information # 1141 in which the index is stored in the CU information of the selection target CU to the side information encoding unit 1142, and outputs the QP difference value to the CU setting unit 43.
  • Side information encoding section 1142 encodes side information # 1141 and outputs side information encoded data # 1142.
  • the side information encoded data # 1142 is supplied to the variable length code multiplexer 25.
  • the side information encoding unit 1142 encodes the index of each QP encoding unit region, the size information, and the conversion rule index in the process of encoding the side information # 1141. More specifically, the side information encoding unit 1142 encodes the index of each QP encoding unit area into a binary string having a length corresponding to the absolute value of the index.
  • the side information determination unit 1141 of the moving image encoding device 114 determines the conversion rule for each slice
  • the side information determination unit 1141 selects any one of a plurality of predetermined conversion rules for each slice. One conversion rule may be selected.
  • the conversion rule table is a table in which a conversion rule and a conversion rule index are associated with each other, and the moving image encoding device 114 and the moving image decoding device 113 store a common conversion rule table in each storage unit (see FIG. (Not shown).
  • an equivalent QP A table in which the conversion rule index for identifying the conversion rule is set to 2 as shown in FIG.
  • the side information determination unit 1141 may select any one QP difference value table from a plurality of predetermined QP difference value tables for each slice.
  • the side information determination unit 1141 selects either the QP difference value table in which qp_delta and qp_delta_index have the same value, or the QP difference value table in FIG.
  • a roughness designation flag indicating the QP difference value table may be stored in the slice header of the side information # 1141.
  • the table selection information is a table in which the QP difference value table and the roughness designation flag are associated with each other, and the moving image encoding device 114 and the moving image decoding device 113 each share common table selection information. Are provided in the storage unit (not shown).
  • the moving image encoding device 114 and the moving image decoding device 113 define a roughness designation flag “0”, which is a binary flag indicating the former QP difference value table, and a roughness indicating the latter QP difference value table. You may prescribe
  • the side information decoding unit 1132 encodes the conversion rule index (roughness designation flag) of each slice header in the process of decoding the side information encoded data # 1131a. By decoding the data, the conversion rule index (roughness designation flag) is generated as part of the side information # 1132.
  • the CU setting unit 1133 refers to the conversion rule table stored in the storage unit (not shown), and from the conversion rule index (roughness specification flag) included in the slice header of the side information # 1132, similarly.
  • the calculation algorithm information (QP difference value table) representing the conversion rule stored in the storage unit is specified. Then, for each QP coding unit region, the CU setting unit 1133 determines the index of the selection target CU in the QP coding unit region included in the side information # 1132, and specifies the calculated operation information (QP difference value table). ) Is converted into a QP difference value to be output to the CU decoding unit 1134.
  • the plurality of types of QP difference value tables may be QP difference value tables that are determined according to the prediction mode.
  • the plurality of types of QP difference value tables may be two types of QP difference value tables including a QP difference value table for intra prediction modes and a QP difference value table for other prediction modes.
  • the QP difference value table for the intra prediction mode is a QP difference value table in which qp_delta and qp_delta_index are the same value
  • the QP difference value table for the other prediction modes is a QP difference as shown in FIG. It may be a value table.
  • the side information determination unit 1141 refers to the former QP difference value table and selects the QP of the selection target CU. Convert the difference value into an index.
  • the prediction mode of the selection target CU received from a prediction image generation unit (not shown) is another prediction mode such as an inter prediction mode
  • the side information determination unit 1141 refers to the latter QP difference value table. The QP difference value of the selection target CU is converted into an index.
  • the plural types of QP difference value tables may be QP difference value tables that are determined according to the slice type.
  • the plurality of types of QP difference value tables may be two types of QP difference value tables including a QP difference value table for I and B slices and a QP difference value table for P slices.
  • the side information determination unit 1141 determines a set of QP difference values such that the factor is 1 by the method described in the first embodiment, and sets the QP difference values From the above, a QP difference value table for I slice and B slice may be generated.
  • the side information determination unit 1141 determines a set of QP difference values such that the factor is 2 by the method described in the first embodiment, and P is determined from the set of QP difference values.
  • a slice QP difference value table may be generated.
  • the QP difference value of the selection target CU is converted into an index with reference to the former QP difference value table.
  • the slice type of the slice to which the selection target CU belongs is P slice
  • the QP difference value of the selection target CU is converted into an index with reference to the latter QP difference value table.
  • the video encoding device 114 encodes the index (qp_delta_index) in units of LCUs or in the QP encoding unit region constituting the LCUs, similarly to the video encoding device according to the sixth embodiment. May be determined according to the authenticity of the deltaQuantAvailCU flag.
  • the side information determination unit 1141 of the video encoding device 114 selects and selects one of the plurality of types of conversion rules determined for each slice (LCU or CU) for each selection target CU. You may convert a QP difference value into an index using a conversion rule. In this case, the side information determination unit 1141 stores the conversion rule index of the conversion rule selected together with the index of the selection target CU in the CU information of the selection target CU.
  • the side information determination unit 1141 selects one conversion rule for each LCU and sets a conversion rule index indicating the selected conversion rule. It may be included in the CU information of the LCU. Similarly, when the plurality of types of conversion rules are determined for each slice, the side information determination unit 1141 selects one conversion rule for each slice and sets the conversion rule index indicating the selected conversion rule to the slice. It may be included in the header.
  • the side information determination unit 1141 uses which conversion rule is the conversion rule such that the QP difference value table equivalent to the conversion rule in which qp_delta and qp_delta_index are equivalent is represented in FIG. 8B. It is good also as what selects for every slice.
  • the side information determination unit 1141 calculates the index to be stored in the side information # 1141 from the QP difference value of the selection target CU using the former conversion rule.
  • the index to be stored in the side information # 1141 may be calculated from the QP difference value of the selection target CU using the latter conversion rule.
  • the moving image encoding device 114 encodes an index for each slice constituting the input image # 100 in units of slices or in units of LCUs (or QP encoding unit regions) that constitute slices. It may be determined.
  • the side information determination unit 1141 calculates an index to be stored in the side information # 1141 from the QP difference value of the selection target CU using the former conversion rule.
  • the index to be stored in the side information # 1141 may be calculated from the QP difference value of the selection target CU using the latter conversion rule.
  • the CU setting unit 1133 of the video decoding device 113 refers to the deltaQuantAvailCU included in the CU information of the LCU in the side information # 1132 for each LCU.
  • the CU setting unit 1133 refers to the CU information of each CU belonging to the LCU, and for the CU that includes an index in the CU information, from the index,
  • the QP difference value 1133a is calculated using the conversion rule represented by the conversion rule index included in the slice header.
  • the conversion rule index included in the slice header indicates the index included in the CU information with reference to the CU information of the LCU. It converts into QP difference value 1133a using a rule.
  • the CU setting unit 1133 outputs the QP difference value 1133a to the CU decoding unit 1134.
  • Other operations are the same as those of the video decoding device 113 according to the first modification.
  • the macroblock in the first embodiment is H.264.
  • HVC High Efficiency Video Coding
  • LCU maximum coding unit: Largegest Coding Unit, sometimes called root of coding tree
  • the sub-macroblocks and blocks correspond to HEVC CUs (coding unit: Coding unit, sometimes called coding tree leaf), PU (Prediction Unit), or TU (transformation Unit).
  • the encoding device further includes information generation means for generating information indicating a one-to-one correspondence relationship between the n number of difference values and the n number of integers. It is desirable to output the information generated by the information generating means to the outside as encoded data together with the binary string.
  • the encoding device causes the decoding device capable of decoding the difference value to decode the difference value when the binary string and the information indicating the correspondence relationship are input.
  • the one-to-one correspondence between the n number of difference values and the n number of integers can be appropriately changed according to the input image to be encoded.
  • the n difference values are values obtained by multiplying the n integers by a predetermined value, and the information is the predetermined value itself. Is desirable.
  • the information indicating the one-to-one correspondence between the n number of difference values and the n number of integers is represented by one predetermined value. As a result, it is possible to reduce the code amount of the information to be output.
  • the conversion means converts the difference value having the i-th absolute value of the n difference values into the integer having the i-th absolute value of the n integers.
  • the absolute value of the integer is preferably smaller than the absolute value of the difference value.
  • the encoding apparatus converts the difference value into an integer having a smaller absolute value regardless of how the difference value related to the unit region is determined from the n difference values. .
  • the encoding device has an additional effect that the amount of quantization parameters supplied to the decoding device can be reliably reduced.
  • the encoding apparatus further includes a calculation unit that calculates, for each of the n difference values, a ratio of the difference value that occupies a group composed of differences between the unit areas converted by the conversion unit.
  • the conversion means is preferably configured such that the absolute value of the integer obtained by the conversion becomes smaller as the difference value to be converted is the difference value with the larger ratio calculated by the calculation means.
  • the encoding apparatus converts a difference value having a larger ratio in a group constituted by the difference between the unit regions converted by the conversion unit into an integer having a smaller absolute value ( That is, the length of the binary string generated from the integer is also shortened).
  • the encoding device has an additional effect that the amount of code of the quantization parameter supplied to the decoding device can be more efficiently reduced.
  • the input image is composed of a plurality of second unit areas, each second unit area is composed of a plurality of unit areas, and the setting means includes each second unit area.
  • the quantization parameter of a specific unit region predetermined for the unit region the difference between the quantization parameters in a pair consisting of the unit region and a unit region whose coding order is smaller than that of the unit region is A value other than the n difference values can be taken, and the binary string generation means has a length of 2 according to the magnitude of the absolute value of the difference from the difference of the quantization parameter in the pair. It is desirable to generate a value sequence.
  • an area composed of unit areas whose image characteristics are similar to each other (that is, it is appropriate to set the quantization parameter to a close value) is set as a second unit area (for example, an enlarged macroblock)
  • the quantization parameter of the unit area is set as the unit area. If the difference between the quantization parameters in a pair consisting of a unit region whose coding order is smaller than that of the unit region is set to be sufficiently small, it is possible to appropriately perform quantization.
  • the encoding apparatus provides a quantum in a pair consisting of the unit region and a unit region whose encoding order is lower than that of the unit region when setting the quantization parameter of each of the remaining unit regions. Even if the number n of candidates for the difference between the quantization parameters is made sufficiently small, the quantization can be appropriately performed.
  • the encoding apparatus can save a storage area that holds information in which n integers and n difference values related to quantization parameters are associated one-to-one. There is a further effect of being able to.
  • the encoded data includes information that associates n integers and n difference values related to quantization parameters on a one-to-one basis
  • the extraction unit includes: It is desirable to extract the information from the encoded data.
  • the decoding apparatus since the decoding apparatus according to the present invention can extract the information from the encoded data, the inverse quantization is performed based on the quantization parameter supplied from the encoding apparatus according to the present invention. Therefore, there is a further effect that the information does not need to be held in advance in the own device.
  • the information extracted from the encoded data by the extracting unit is a predetermined value
  • the specifying unit extracts the integer value generated by the integer generating unit by the extracting unit. It is desirable to specify the difference value by multiplying by a predetermined value.
  • the decoding apparatus since the information included in the encoded data is a predetermined value, the decoding apparatus according to the present invention saves a storage area for storing the information in order to identify the difference value. There is a further effect that it is possible.
  • the decoded image includes a plurality of second unit areas, and each second unit area includes a plurality of the unit areas.
  • each second unit area includes a plurality of the unit areas.
  • a difference value related to the unit area from an integer value related to the unit area is based on the above information
  • the specifying means preferably specifies the integer value itself generated by the integer generating means as the difference value for the specific unit area.
  • the decoding apparatus obtains, for each of the remaining unit areas, the difference value for the unit area from the integer value for the unit area, n integers, and n for the quantization parameter.
  • Each difference value is specified based on information associated with one to one.
  • the second region is an area composed of unit areas whose image characteristics are similar to each other (that is, it is appropriate to set the quantization parameter to a close value). If the number n of difference value candidates determined for the remaining unit area is set as a unit area (for example, an enlarged macroblock) and the number n of difference value candidates is reduced, the decoding apparatus according to the present invention holds the information. Therefore, it is possible to save the storage area.
  • encoded data including information indicating a one-to-one correspondence between the n number of difference values and the n number of integers is also included in the scope of the present invention.
  • the third unit area can be a coding unit (CU: Coding Unit) or a transformation unit (TU: Transformation Unit).
  • CU Coding Unit
  • TU Transformation Unit
  • the third unit area is a CU
  • the unit area is an LCU
  • the calculation unit calculates the image in the LCU for each of the plurality of LCUs. Whether to perform quantization according to the value of the quantization parameter or to perform quantization according to the value of the quantization parameter of the CU for each CU constituting the LCU, It is possible to further comprise second determination means for determining the value based on a predetermined criterion.
  • the encoding apparatus according to the present invention also has an effect that the amount of code of the quantization parameter can be further reduced as compared with the related art even with each of the above-described configurations.
  • the third unit area is a CU
  • the selection unit first selects each of a plurality of fourth unit areas constituting the unit area within the fourth unit area.
  • Determining means for determining whether or not the prediction mode of the CU to be performed is the intra prediction mode
  • the calculation means includes quantization in the fourth unit region in which the prediction mode is determined to be the intra prediction mode.
  • the quantization parameter value referred to perform quantization on the image of each CU that is the target of the quantization parameter difference value determined by the determination means for the unit region to which the fourth unit region belongs Instead of this, it is desirable to calculate from the difference value of the quantization parameter of the CU first selected in the fourth unit region.
  • the encoding apparatus when the prediction mode of the CU first selected in the fourth unit region for each fourth unit region is the intra prediction mode, Using the quantization parameter such that the difference value of the quantization parameter is different between the unit region and the other fourth unit region in the unit region to which the fourth unit region belongs, Quantization can be performed.
  • the encoding apparatus is such that when the input image includes many CUs whose prediction mode is the intra prediction mode, the prediction mode is the inter prediction mode in the input image. Compared to the case where many CUs are included, the number of quantization parameter difference values output to the decoding apparatus is relatively large.
  • the quantization accuracy is higher than when the input image includes many CUs whose prediction mode is the inter prediction mode. It is known that the code amount of the encoded data is greatly reduced by increasing.
  • the encoding apparatus is based on the ratio of the encoded data in accordance with the ratio of the CU whose prediction mode occupies the input image is the intra prediction mode and the CU whose prediction mode is the inter prediction mode. There is an additional effect that the amount of codes can be appropriately reduced.
  • the encoding apparatus includes a determination unit that determines a slice type of each of a plurality of slices that constitute the input image, and each unit region that constitutes the slice for each of the plurality of slices. It is desirable to further include unit area setting means for setting the size to a size corresponding to the slice type determined by the determination means.
  • the encoding apparatus determines the size of the unit region to be quantized using each quantization parameter such that the difference value of the quantization parameter is the same, By appropriately setting according to the slice type of the slice to which the data belongs, the code amount of the encoded data can be further reduced.
  • the determination means includes each unit in accordance with a conversion rule in which a difference value and an integer of n sets (n: an arbitrary integer) have a one-to-one correspondence relationship.
  • a conversion unit that converts the difference value determined for the region into a corresponding integer, and a binary sequence that generates a binary sequence having a length corresponding to the magnitude of the absolute value of the integer obtained by the conversion by the conversion unit And generating means, wherein the total number of the n integers is smaller than that of the n difference values.
  • the encoding apparatus converts the absolute value of the integer converted from the difference value into a binary string for each difference value of the quantization parameter.
  • the sum of the absolute values of the n integers is smaller than that of the n difference values, the sum of the lengths of the binary sequences after the conversion is statistically expressed as each difference of the quantization parameter. It can be said that the values are often smaller than the sum of the lengths of the binary strings after conversion when the absolute values of the difference values are converted into binary strings.
  • the encoding apparatus has an additional effect that the code amount of the difference value of the quantization parameter can be further reduced.
  • the third unit area may be a coding unit (CU: Coding Unit) or a transformation unit (TU: Transformation Unit).
  • CU Coding Unit
  • TU Transformation Unit
  • the third unit region is a CU
  • the unit region is an LCU
  • the specifying unit is configured for each of the plurality of LCUs with respect to a quantized image in the LCU. Inverse quantization corresponding to the specified quantization parameter value is performed, or inverse quantization corresponding to the quantization parameter value of the CU is performed on the quantized image in the CU for each CU constituting the LCU. It is possible to determine whether to perform the conversion based on a predetermined criterion.
  • the decoding apparatus can specify the quantization parameter to be used for performing inverse quantization with a smaller load.
  • the third unit area is a CU
  • the selection unit first selects each of the plurality of fourth unit areas constituting the unit area within the fourth unit area.
  • a determination unit configured to determine whether or not the prediction mode of the CU is an intra prediction mode, wherein the specifying unit performs inverse quantization in a fourth unit region in which the prediction mode is determined to be an intra prediction mode.
  • the quantization parameter value read by the reading unit for the unit region to which the fourth unit region belongs is referred to as the value of the quantization parameter to be referred to in order to perform inverse quantization on the quantized image of each CU to be processed.
  • the encoding apparatus according to the present invention is transmitted from the encoding apparatus according to the present invention provided with the determining means for determining whether or not the prediction mode of each CU is the intra prediction mode.
  • the decoding apparatus includes: a determination unit that determines a slice type of each of a plurality of slices constituting the decoded image; and a size of each unit region that constitutes the slice for each of the plurality of slices It is desirable to further include unit region setting means for setting the size to a size corresponding to the slice type determined by the determination means.
  • the decoding apparatus which concerns on this invention can decode the encoding data transmitted from the encoding apparatus based on this invention provided with the same determination means, and can produce
  • the decoding device is a reading unit configured such that the reading unit is configured to read an integer corresponding to the difference value from the encoded data instead of the difference value of the quantization parameter, and n sets In accordance with a conversion rule in which the difference value of the quantization parameter (n: any integer) and the integer have a one-to-one correspondence, the reading means reads the integer read for each unit area and the corresponding integer.
  • the image processing apparatus further includes conversion means for converting to a difference value, and the specifying means performs inverse quantization on the quantized image in each third unit area to be dequantized included in the unit area.
  • n number of the integer is preferably the sum of the absolute values than the n of the difference value is smaller.
  • the decoding apparatus converts encoded data transmitted from the encoding apparatus according to the present invention, which includes conversion means for converting the difference value of the quantization parameter into an integer according to the conversion rule.
  • conversion means for converting the difference value of the quantization parameter into an integer according to the conversion rule.
  • the present invention can be suitably applied to an encoding device that encodes an image and generates encoded data, and a decoding device that decodes encoded data generated using such an encoding device.
  • Video decoding device (decoding device) 11 Variable length code demultiplexing unit 12 Side information decoding unit (extraction means, identification means) 13 MB setting part (specifying means) 14 MB decoding unit 15 Frame memory 2 Video encoding device (encoding device) 21 Side information determination unit (setting means, conversion means, calculation means) 22 Side information encoding unit (binary string generating means) 23 MB setting unit 24 MB encoding unit 25 variable length code multiplexing unit 26 MB decoding unit 27 frame memory 3 video decoding device 31 variable length code demultiplexing unit 32 side information decoding unit (selection unit, reading unit) 33 CU setting unit 34 CU decoding unit (identifying means) 4 video encoding device 41 side information determination unit (selection means, determination means) 42 Side information encoding unit 43 CU setting unit 44 CU encoding unit (calculation means) 46 CU decoding unit 7 video decoding device 74 CU decoding unit (determination means) 8 Moving picture encoding device 81 Side information determination unit (determination means) 9 Video de

Abstract

 動画像符号化装置(2)はサイド情報決定部(21)とサイド情報符号化部(22)とを備えている。サイド情報決定部(21)は、符号化順序が連続する2つのマクロブロックからなる各対について量子化パラメータの差がn個の差分値のいずれかになるように各マクロブロックの量子化パラメータを設定し、各対について量子化パラメータの差をn個のインデックスのいずれかに変換する。サイド情報符号化部(22)は、インデックスからその絶対値の大きさに応じた長さの2値列を生成する。なお、n個のインデックスはn個の差分値よりも絶対値の総和が小さくなっている。

Description

符号化装置、復号装置、およびデータ構造
 本発明は、画像を符号化し符号化データを生成する符号化装置に関する。また、そのような符号化装置を用いて生成された符号化データを復号する復号装置に関する。
 動画像を効率的に伝送または記録するために、動画像符号化装置が用いられている。具体的な動画像符号化方式としては、例えば、H.264/MPEG-4 AVC(以下、H264/AVCと略記)(非特許文献1)、および、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている方式などが挙げられる。
 このような符号化方式においては、普通、動画像を構成する画像(ピクチャ)を分割することにより得られるスライス、スライスを分割することにより得られるマクロブロック、マクロブロックを分割することにより得られるサブマクロブロック、及び、マクロブロックまたはサブマクロブロックを分割することより得られるブロックからなる階層構造により管理される。
 H264/AVC方式の動画像符号化装置は、(1)画像をDCT変換し、(2)DCT変換(離散コサイン変換)により得られた周波数成分を量子化し、(3)量子化された周波数成分を可変長符号化することによって、符号化画像を得る。量子化の際に用いる量子化ステップは、マクロブロック毎に変更可能であり、動画像符号化装置は、この量子化ステップの大きさを指定する量子化パラメータを符号化して、符号化画像と共に動画像復号装置に提供するように構成されている。
 上記量子化パラメータの符号化処理について、図7(a)、図11および図12を参照しながら、詳細に説明する。
 図7(a)は、マクロブロックMB1~MBnから構成されるスライスを模式的に示した図である。また、図12は、マクロブロックMB1~MBnに割り当てられる量子化パラメータの差分値の例を示した図であり、図11は、量子化パラメータの差分値と符号番号と符号番号を2値化した場合に出力される2値列との関係を示した表である。
 図12に示すように、動画像符号化装置は、ピクチャごとに、該ピクチャの量子化パラメータのデフォルト値pic_init_qp(以下、「ピクチャデフォルトQP値」と称する)を決定する。そして、ピクチャに含まれる各スライスについて、該スライスの量子化パラメータのデフォルト値SliceQPY(以下、「スライスデフォルトQP値」と称する)を決定する。さらに、動画像符号化装置は、各スライスについて、該スライスのスライスデフォルトQP値から該スライスを含むピクチャのピクチャデフォルトQP値を引き算して得られる差分値slice_qp_deltaを生成する。
 また、動画像符号化装置は、スライスに含まれるマクロブロックMBi(i=1~n)についてスライスごとにラスタスキャン順で量子化パラメータQPYを決定するとともに、決定した量子化パラメータからラスタスキャン順で1つ前のマクロブロックMBi―1の量子化パラメータを引き算して得られる差分値mb_qp_delta(以下、「QP差分値」とも称する)を、マクロブロックMBiのQP差分値として決定する。なお、ラスタスキャン順で最初のマクロブロックMB1のQP差分値mb_qp_deltaは、マクロブロックMB1について決定した量子化パラメータからマクロブロックMB1を含むスライスのスライスデフォルトQP値SliceQPYを引き算した値である。
 動画像符号化装置は、以上のように生成したQP差分値mb_qp_deltaを、図11の表に基づいて2値化する。すなわち、QP差分値は、その絶対値がnである場合、ユーナリバイナリゼーションにより長さが2nまたは2n+1の2値列に変換される。
 このような動画像符号化装置および動画像復号装置の処理には以下の利点がある。
 すなわち、1)動画像復号装置の復号画像の主観画質を損なうことなく、符号化画像(主情報)の符号量を効率的に削減することが可能である。また、2)量子化パラメータを適切に調整することにより1フレームあたりの符号化画像の符号量を目標レートに保つことが可能である。
 さらに、3)後に参照画像として扱われる画像をよりも小さい量子化ステップで量子化することにより、後に生成する予測残差の符号量を削減し、ひいては、動画像全体の符号量を削減することが可能である。4)RD(レート歪み)コストが小さくなるよう量子化パラメータの値を調整することにより、符号化効率を向上させることが可能である。
ITU-T Recommendation H.264(03/2009)
 しかしながら、上記従来の構成では、符号化画像(主情報)の符号量を削減できるものの、主情報とともに動画像復号装置にサイド情報として供給するQP差分値の符号量は十分に削減できているとは言えない。例えば、QP差分値の符号量は、動画像復号装置に供給する符号化データ全体の10%程度を占有してしまうこともある。これは、図11からわかるように、QP差分値の符号量がQP差分値の絶対値に比例して大きくなるためである。
 本発明は、上記課題に鑑みて成されたものであり、その主な目的は、復号装置に供給する量子化パラメータの符号量を従来に比べてより削減することが可能な符号化装置、および、そのような符号化装置から供給された量子化パラメータに基づいて逆量子化することが可能な復号装置を実現することにある。
 本発明に係る符号化装置は、上記課題を解決するために、符号化すべき入力画像を構成する複数の単位領域の各々について、該単位領域内の画像に対し量子化パラメータの値に応じた量子化を行う符号化装置において、各単位領域を符号化する際に用いる量子化パラメータを設定する設定手段であって、各単位領域について、該単位領域における量子化パラメータの差が予め定められたn個の差分値の何れかに一致するように、各単位領域の量子化パラメータを設定する設定手段と、上記n個の差分値の各々をn個の整数の何れかに1対1に変換する変換規則に従って、各単位領域について、該単位領域における量子化パラメータと上記所定の基準値との差を整数に変換する変換手段と、上記変換手段により変換された上記整数の絶対値の大きさに応じた長さの2値列を生成する2値列生成手段と、を備え、上記n個の整数は上記n個の差分値よりも絶対値の総和が小さいことを特徴としている。
 ここで、従来の符号化装置では、各単位領域について該単位領域における量子化パラメータの差を、直接、差の絶対値の大きさに応じた長さの2値列を生成するようになっている。
 一方、本発明に係る符号化装置では、各単位領域について、該単位領域における量子化パラメータの差を整数に変換し、整数の絶対値の大きさに応じた長さの2値列を生成するようになっている。また、上記n個の整数は、上記量子化パラメータの差の候補となるn個の差分値よりも、絶対値の総和が小さいことから、統計的には、上記変換の対象となる差分値の絶対値に比べ、上記変換により得られる整数の絶対値のほうが、値が小さくなる。
 したがって、本発明に係る符号化装置は、従来の符号化装置に比べて、上記量子化パラメータの差から生成する2値列の長さが小さくなる。これにより、復号装置に供給する量子化パラメータの符号量を従来に比べてより削減することができるという効果を奏する。
 本発明に係る復号装置は、上記課題を解決するために、符号化データを復号することによって、復号画像を構成する各単位領域に関する量子化パラメータを設定する復号装置において、上記符号化データから各単位領域に関する2値列のデータを抽出する抽出手段と、上記抽出手段が抽出した各2値列のデータから各単位領域に関する2値列の長さに応じた整数値を生成する整数生成手段と、n個の整数と、量子化パラメータに関するn個の差分値と、が1対1に対応付けられている情報に基づいて、上記整数生成手段が生成した各単位領域に関する整数値から、各単位領域に関する差分値を特定する特定手段と、を備え、各単位領域に関する量子化パラメータは、上記特定手段が特定した各差分値から生成されることを特徴としている。
 上記の構成によれば、本発明に係る符号化装置から上記2値列を含む符号化データが入力された場合に、本発明に係る復号装置は、上記符号化データに基づいて各単位領域に関する差分値を適切に特定することができる。すなわち、本発明に係る復号装置は、本発明に係る符号化装置から供給された各単位領域に関する量子化パラメータを適切に特定することができる。
 したがって、本発明に係る復号装置は、本発明に係る符号化装置から供給された量子化パラメータに基づいて逆量子化することが可能であるという効果を奏する。
 また、本発明に係る符号化装置は、上記課題を解決するために、符号化すべき入力画像を構成する複数の単位領域の各々について、該単位領域内の画像に対し量子化パラメータの値に応じた量子化を行う符号化装置において、上記複数の単位領域の各々について、該単位領域を構成する複数の第3単位領域を所定の順序で選択する選択手段と、上記複数の単位領域の各々について、該単位領域に含まれる量子化の対象となる第3単位領域の中から上記選択手段が最初に選択した第3単位領域に関し、該第3単位領域の量子化パラメータの差分値を決定する決定手段と、上記複数の単位領域の各々について、該単位領域に含まれる量子化の対象となる各第3単位領域内の画像に対して量子化を行うために参照する上記量子化パラメータの値を、上記決定手段が該単位領域内において決定した上記量子化パラメータの差分値から算出する算出手段と、を備えていることを特徴としている。ここで、「画像に対して量子化を行う」こととは、入力画像と予測画像の残差画像を量子化すること、及び、残差画像を周波数変換して得られる変換係数を量子化すること、の何れのであってもよい。
 上記の構成によれば、本発明に係る符号化装置は、各単位領域について該単位領域の中から選択した1つの第3単位領域について量子化パラメータの差分値を決定し、その量子化パラメータの差分値を用いて、量子化の対象となる各第3単位領域の量子化パラメータを決定する。一方、上記特徴を備えていない符号化装置は、量子化の対象となる各第3単位領域の量子化パラメータを決定し、各第3単位領域の量子化パラメータから、各第3単位領域の量子化パラメータの差分値を決定する。
 すなわち、復号装置側で逆量子化を行うためには、本発明に係る符号化装置は、1つの単位領域あたり、量子化パラメータの差分値を1つ決定して復号装置に伝送すればよいが、上記特徴を備えていない符号化装置は、単位領域に含まれる各第3単位領域について量子化パラメータの差分値を復号装置に伝送する必要がある。
 したがって、本発明に係る符号化装置は、量子化パラメータの符号量を従来に比べてより削減することが可能であるという効果を奏する。
 本発明に係る復号装置は、符号化データを復号することによって、復号画像を構成する各単位領域に関する量子化パラメータを特定する復号装置において、上記復号画像を構成する各単位領域について、該単位領域を構成する複数の第3単位領域を所定の順序で選択する選択手段と、上記復号画像を構成する各単位領域について、該単位領域に含まれる逆量子化の対象となる第3単位領域の中から上記選択手段が最初に選択した第3単位領域に関し、該第3単位領域の量子化パラメータの差分値を、上記符号化データから読み出す読出手段と、上記復号画像を構成する各単位領域について、該単位領域に含まれる逆量子化の対象となる各第3単位領域内の量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、上記読出手段が該単位領域内において読み出した上記量子化パラメータの差分値から特定する特定手段と、を備えていることを特徴としている。ここで、量子化画像とは、たとえば、符号化データから復号された量子化済みのDCT係数によって構成される周波数領域上の画像のことであり、量子化画像に対して逆量子化及び逆周波数変換を行うことによって、空間領域上の復号画像が得られる。
 上記の構成によれば、本発明に係る復号装置は、各単位領域について該単位領域の中から選択した1つの第3単位領域における量子化パラメータの差分値を読み出し、その差分値を用いて、該単位領域内における逆量子化の対象となる各第3単位領域の量子化パラメータを決定する。
 一方、上記特徴を備えていない復号装置は、各単位領域について該単位領域内の逆量子化の対象となる各第3単位領域から量子化パラメータの差分値を読み出し、読み出した各差分値を用いて、該単位領域内における逆量子化の対象となる各第3単位領域の量子化パラメータを決定する。
 したがって、本発明に係る復号装置は、逆量子化を行うために用いるべき量子化パラメータをより少ない負荷で特定することができる。
 以上のように、本発明に係る符号化装置は、復号装置に供給する量子化パラメータの符号量を従来に比べてより削減することが可能である。また、復号装置は、そのような符号化装置から供給された量子化パラメータに基づいて逆量子化することが可能である。
実施形態に係る動画像符号化装置の構成を示すブロック図である。 実施形態に係る動画像符号化装置が備えるサイド情報生成部およびサイド情報符号化部の動作を示すフローチャートである。 実施形態に係る動画像符号化装置が備えるサイド情報生成部およびサイド情報符号化部の別の動作を示すフローチャートである。 実施形態に係る動画像復号装置の構成を示すブロック図である。 実施形態に係る動画像復号装置が備えるサイド情報復号部およびMB設定部の動作を示すフローチャートである。 実施形態に係る動画像復号装置が備えるサイド情報復号部およびMB設定部の別の動作を示すフローチャートである。 (a)(b)は、それぞれ、スライスの構成を模式的に示した図である。 (a)~(e)は、QP差分値テーブルの具体例を示す図である。 (a)は、インデックスの値と、ユーナリバイナリゼーションの入力値となる符号番号と、ユーナリバイナリゼーションの出力値となる2値列と、の関係を示した図であり、(b)は、インデックスの値と、固定長バイナリゼーションの出力値となる2値列と、の関係を示した図である。 (a)(b)は、それぞれ、QP差分値テーブルを符号化する場合の符号量の一例を示した図である。 従来技術を示すものであり、QP差分値と、ユーナリバイナリゼーションの入力値となる符号番号と、ユーナリバイナリゼーションの出力値となる2値列と、の関係を示した図である。 ピクチャごとに設定されるピクチャデフォルトQP値、スライス毎に設定されるスライスデフォルトQP値、並びに、マクロブロックごとに設定されるQP値およびQP差分値の一例を示した図である。 サイド情報に含まれる各情報を階層的に示した図である。 別の実施形態に係る動画像復号装置の構成を示すブロック図である。 別の実施形態に係る動画像符号化装置の構成を示すブロック図である。 ピクチャパラメータセットの一例を示す図である。 QP差分値が符号化されるCUの各QP符号化単位領域における位置を模式的に示した図である。 coding_unitシンタックスの一例を示す図である。(a)はシンタックスの前半部分を示しており、(b)はシンタックスの後半部分を示している。 coding_unitシンタックスの別の一例を示す図である。(a)はシンタックスの前半部分を示しており、(b)はシンタックスの後半部分を示している。 coding_unitシンタックスの別の一例を示す図である。(a)はシンタックスの前半部分を示しており、(b)はシンタックスの後半部分を示している。 transform_treeシンタックスの一例を示す図である。 別の実施形態に係る動画像符号化装置の構成を示すブロック図である。 transform_treeシンタックスの別の一例を示す図である。 transform_treeシンタックスの別の一例を示す図である。 別の実施形態に係る動画像復号装置の構成を示すブロック図である。 別の実施形態に係る動画像符号化装置の構成を示すブロック図である。 coding_unitシンタックスの別の一例を示す図である。(a)はシンタックスの前半部分を示しており、(b)はシンタックスの後半部分を示している。 coding_unitシンタックスの別の一例を示す図である。(a)はシンタックスの前半部分を示しており、(b)はシンタックスの後半部分を示している。 別の実施形態に係る動画像復号装置の構成を示すブロック図である。 別の実施形態に係る動画像符号化装置の構成を示すブロック図である。 coding_unitシンタックスの別の一例を示す図である。(a)はシンタックスの前半部分を示しており、(b)はシンタックスの後半部分を示している。 別の実施形態に係る動画像復号装置の構成を示すブロック図である。 別の実施形態に係る動画像符号化装置の構成を示すブロック図である。 coding_unitシンタックスの別の一例を示す図である。(a)はシンタックスの前半部分を示しており、(b)はシンタックスの後半部分を示している。 別の実施形態に係る動画像復号装置の構成を示すブロック図である。 別の実施形態に係る動画像符号化装置の構成を示すブロック図である。
 〔実施形態1〕
 (動画像符号化装置)
 以下では、本実施形態に係る動画像符号化装置(符号化装置)2について、図1~図3、図6~図10、および図12を参照して説明する。図1は、動画像符号化装置2の構成を示すブロック図である。図1に示すように、動画像符号化装置2は、サイド情報決定部21、サイド情報符号化部22、MB設定部23、MB符号化部24、可変長符号多重化部25、MB復号部26、および、フレームメモリ27を備えている。
 動画像符号化装置2は、概略的に言えば、入力画像#100を符号化することによって符号化データ#1を生成し、出力する装置である。動画像符号化装置2は、その一部に、H264/AVC規格に採用されている技術を用いている動画像符号化装置である。
 また、入力画像#100の符号化処理には、DCT変換や量子化等の処理が含まれるが、動画像符号化装置2は、マクロブロック(量子化単位領域)ごとに量子化レベルを切り替えて量子化処理を施すようになっている。
 サイド情報決定部21は、入力画像#100に基づいて、サイド情報を決定し、決定したサイド情報をサイド情報#21として出力する。そして、サイド情報#21は、MB設定部23に入力されると共に、サイド情報符号化部22に供給される。ここで、サイド情報#21は、入力画像#100に関するパラメータの集合であるピクチャ・パラメータ・セット、入力画像#100に含まれるスライス毎のヘッダ情報であるスライスヘッダ、スライスに含まれるマクロブロック毎のパラメータの集合であるマクロブロックレイヤ等から構成されるようになっている。ピクチャ・パラメータ・セットおよびスライスヘッダには、それぞれ、ピクチャデフォルトQP値、および、スライスデフォルトQP値のピクチャデフォルトQP値に対する差分値が含まれるようになっている。
 また、サイド情報決定部21は、スライス毎に、該スライスに含まれるマクロブロックに割り当て可能なQP値に制限を課すためのQP差分値の集合を決定する。すなわち、スライスに含まれるマクロブロックMBiに割り当て可能なQP値は、同じスライスに含まれるマクロブロックMBi―1に割り当てたQP値とのQP差分値が上記QP差分値の集合に含まれるように制限される。
 さらに、サイド情報決定部21は、スライス(テーブル生成単位領域)毎に、該スライスに関するQP差分値テーブルを生成し、対応するスライスヘッダ内に生成したQP差分値テーブルを含めるようになっている。ここで、スライスに関するQP差分値テーブルとは、上記QP差分値の集合に含まれる各QP差分値に、該QP差分値を指し示すインデックス(QP差分値ごとに互いに異なる整数)を関連づけることにより生成されるテーブルであるが、QP差分値テーブルは、(付記事項3)に後述するように、QP差分値テーブルの生成規則を符号化するものでも良い。また、動画像符号化装置と動画像復号装置が所定のQP差分値テーブルを複数個備えることとし、そのQP差分値テーブルを切り替えるためのインデックスを符号化する構成としても良い。そして、サイド情報決定部21は、マクロブロックMBiに割り当てたQP値とマクロブロックMBi―1に割り当てたQP値とのQP差分値を指し示すインデックスをマクロブロックレイヤに含めるようになっている。なお、サイド情報決定部21が、上記QP差分値の集合をどのように決定するか、また、QP差分値テーブルをどのように生成するかについては後述する。
 サイド情報符号化部22は、サイド情報#21を符号化し、符号化済サイド情報#22を出力する。符号化済サイド情報#22は、可変長符号多重化部25に供給される。
 MB設定部23は、サイド情報#21に基づいて、入力画像#100を複数のスライスに分割し、さらに、各スライスを複数のマクロブロックに分割し、各マクロブロックに関するマクロブロック画像#23を出力する。また、MB設定部23は、サイド情報#21に基づいて、マクロブロック画像#23に関する量子化パラメータの値(QP値)を算出する(詳細については後述する)。そして、マクロブロック画像#23は、算出したQP値とともに、MB符号化部24に順次供給される。
 MB符号化部24は、順次入力されるマクロブロック画像#23について、MB符号化データ#24を生成して可変長符号多重化部25に供給する。MB符号化部24がMB符号化データ#24を生成する処理は具体的には以下の通りである。
 すなわち、MB符号化部24は、マクロブロック画像#23を構成する各ブロックをDCT変換するとともに、ともに供給されるQP値に基づく量子化レベルで各ブロックの各DCT係数を量子化する。そして、MB符号化部24は、量子化により得られたデータに可変長符号化処理を施すことによりMB符号化データ#24を生成する。
 可変長符号多重化部25は、符号化済サイド情報#22と、MB符号化データ#24とを多重化することによって符号化データ#1を生成し、出力する。
 MB復号部26は、入力された個々のマクロブロックに対応するMB符号化データ#24を順次復号することにより、個々のマクロブロックに対応する復号画像#26を生成し、出力する。復号画像#26は、フレームメモリ27に供給される。
 フレームメモリ27には、入力された復号画像#26が記録される。特定のマクロブロックを符号化する時点では、当該マクロブロックよりもラスタスキャン順で先行する全てのマクロブロックに対応する復号画像がフレームメモリ27に記録されている。
 (QP差分値の集合の決定方法、および、QP差分値テーブルの生成方法)
 サイド情報決定部21はマクロブロックに割り当て可能なQP値に制限を課すためのQP差分値の集合を任意の方法により決定できるが、以下に具体例を挙げる。
 例1)要素として含まれる各QP差分値がfactor*(-1)j+1* Ceil(j/2)(j=0、1、2、・・)であるようなQP差分値の集合を決定する。
 例2)要素として含まれる各QP差分値が、0または(-1)j+1*factor{Ceil(j/2)-1} (j=1、2、・・)であるようなQP差分値の集合を決定する。
 例3)要素として含まれる各QP差分値が、0、1、-1、またはfactor*(-1)j+1* Ceil(j/2)+3(j=3、4、・・)であるようなQP差分値の集合を決定する。
 なお、上記例1~例3のいずれの場合においても、スライス毎にスライスタイプを判定し、スライスタイプがIスライスの場合にfactor(所定の値)=3,スライスタイプがPスライスの場合にfactor=2、スライスタイプがBスライスの場合にfactor=1となるようにQP差分値の集合を決定する。以下、上記例1~上記例3の各決定方法をmethod=0,1,2で識別することとする。
 次に例1~例3のようにQP差分値の集合を決定した場合における、QP差分値テーブルの生成方法の具体例について以下に説明する。
 例1のようにQP差分値の集合を決定した場合、Pスライスのスライスヘッダに含めるQP差分値テーブルは、例えば、図8(b)に示すようなテーブルになる。
 すなわち、サイド情報決定部21がスライスヘッダに含めるQP差分値テーブルは、各QP差分値mb_qp_delta[j]=2*(-1)j+1*Ceil(j/2)(j=0~8)に、インデックスmb_qp_delta_index[j]=(-1)j+1*Ceil(j/2)を関連付けたテーブルとなる。例1の場合、QP差分値とインデックスの関係は、QP差分値=factor*インデックスとなる。
 また、例2のようにQP差分値の集合を決定した場合、Pスライスのスライスヘッダに含めるQP差分値テーブルは、例えば、図8(c)に示すようなテーブルになる。
 すなわち、サイド情報決定部21がスライスヘッダに含めるQP差分値テーブルは、QP差分値0にインデックス0を関連づけ、各QP差分値mb_qp_delta[j]=(-1)j+1*2{Ceil(j/2)-1}(j=1~8)に、インデックスmb_qp_delta_index[j]=(-1)j+1* Ceil(j/2)を関連付けたテーブルとなる。
 例3のようにQP差分値の集合を決定した場合、サイド情報決定部21がスライスヘッダに含めるQP差分値テーブルは、QP差分値0、1、-1にそれぞれインデックス0、1、-1を関連づけ、各QP差分値mb_qp_delta[j]=(-1)j+1*factor{Ceil(j/2)-1}(j=3・・)に、インデックスmb_qp_delta_index[j]=(-1)j+1* Ceil(j/2)+3(j=3・・)を関連付けたテーブルとなる。
 以上のように、サイド情報決定部21は、各QP差分値に、該QP差分値の絶対値よりも絶対値が小さいインデックスを関連づけたQP差分値テーブル(図8(a)~図8(c)に示すようなテーブル)を生成することが望ましいが、サイド情報決定部21が生成するQP差分値テーブルは少なくとも以下のような特性を持っていればよい。
 すなわち、各インデックスを符号番号に変換してユーナリバイナリゼーションに基づく量子化処理を施した場合に出力される全量子化データの符号量が、各QP差分値を符号番号に変換してユーナリバイナリゼーションに基づく量子化処理を施した場合に出力される全量子化データの符号量より少なくなるようなものであれば、QP差分値テーブルはいかなるものであっても構わない。例えば、QP差分値テーブルは、QP差分値とインデックスとが1対1に対応づけられたテーブルであって、各QP差分値の絶対値の総和よりも各インデックスの絶対値の総和が小さくなるようなテーブルであればよい。
 (サイド情報決定部21およびサイド情報符号化部22の動作について)
 次に、サイド情報決定部21およびサイド情報符号化部22の動作について、図2を参照しながら説明する。すなわち、入力画像#100に含まれる図7(a)に示すような各スライスについて、動画像符号化装置2が、QP差分値テーブルを生成してからスライス内の各マクロブロックMBiのマクロブロックレイヤに格納したインデックスを符号化するまでの各部の動作について以下に説明する。
 図2は、上記動作の流れを示すフローチャートである。
 図2に示すように、サイド情報決定部21は、入力画像#100に含まれるスライスのスライスタイプに応じたQP差分値テーブルを生成し、サイド情報#21内の対応するスライスヘッダに含める(ステップS41)。
 次に、サイド情報決定部21は、上記スライス内のマクロブロックMBi(i=1、2、・・)のQP値を決定する(ステップS42)。
 具体的には、サイド情報決定部21は、マクロブロックMBiのQP値を、H264/AVC規格において規定された範囲内の値に暫定的に定める。そして、サイド情報決定部21は、暫定的に定めたマクロブロックMBiのQP値から、すでに決定したマクロブロックMBi-1のQP値(i=1の場合にはスライスデフォルトQP値)を引いた値(暫定QP差分値)が、QP差分値テーブルにQP差分値として含まれているか否かを判定する。
 そして、含まれていると判定した場合には、サイド情報決定部21は、暫定的に定めたQP値を、マクロブロックMBiのQP値として決定する。一方、含まれていないと判定した場合には、サイド情報決定部21は、QP差分値テーブルに含まれている複数のQP差分値のうち暫定QP差分値に最も近いQP差分値をマクロブロックMBi-1のQP値(i=1の場合にはスライスデフォルトQP値)に加算した値をマクロブロックMBiのQP値として決定する。
 以上のように、各マクロブロックのQP値を決定した後、サイド情報決定部21は、先頭マクロブロックMB1のQP値からスライスデフォルトQP値を引き算することにより、先頭マクロブロックMB1に関するQP差分値を求める。そして、サイド情報決定部21は、直前のステップS41にて生成したQP差分値テーブルを参照して、該QP差分値をインデックスに変換する(ステップS43)。サイド情報決定部21は、得られたインデックスをサイド情報#21内の対応するマクロブロックレイヤに含める。
 ここでは、QP差分値テーブルを用いて、QP差分値からインデックスへの変換を行ったが、QP差分値とインデックスとの関係が四則演算などの演算で定義されるものである場合には、QP差分値テーブルを用いずとも変換は可能である。以下、QP差分値からインデックスへの演算による変換、もしくは、インデックスからQP差分値への演算による変換を定める規則を変換規則と呼ぶ。例えば、例1の場合は、変換規則がQP差分値=インデックス×factorとなるので、QP差分値テーブルによらず演算によりQP差分値からインデックスへの変換が可能である。
 さらに、サイド情報決定部21は、QP差分値がまだ算出されていない別のマクロブロックMBi(i>1)について、マクロブロックMBiに関するQP差分値を、マクロブロックMBiのQP値からマクロブロックMBi-1のQP値を引き算することにより求める。そして、サイド情報決定部21は、直前のステップS41にて生成したQP差分値テーブルを参照して、該QP差分値をインデックスに変換する(ステップS44)。サイド情報決定部21は、得られたインデックスをサイド情報#21内の対応するマクロブロックレイヤに含める。
 ステップS44の後、サイド情報決定部21は、ステップS44における処理の対象となったマクロブロックがスライス内の最後のマクロブロックMBnであるか否かを判定する(ステップS45)。最後のマクロブロックMBnでないと判定された場合、ステップS44に戻る。一方、最後のマクロブロックMBnであると判定された場合、ステップS46に進む。
 サイド情報決定部21は、ステップS41~ステップS44における処理が施されていないスライスが入力画像#100内に存在するか否かを判定する(ステップS46)。存在すると判定された場合、ステップS41~ステップS44における処理がまだ施されていない別のスライスについてステップS41~ステップS44の処理を施す。一方、存在しないと判定された場合、サイド情報決定部21は、マクロブロックレイヤにインデックスが含まれ、スライスヘッダにQP差分値テーブルが含まれているサイド情報#21を、サイド情報符号化部22およびMB設定部23に供給し、ステップS47に進む。
 サイド情報#21が入力されたサイド情報符号化部22は、サイド情報#21の各マクロブロックレイヤに含まれているインデックスについて、該インデックスを符号番号に変換し、符号番号を入力として、ユーナリバイナリゼーションに基づく2値化処理を施す。すなわち、図9(a)に示すようなテーブルに基づいて、絶対値nのインデックスを、長さ2nの2値列または長さ2n+1の2値列(すなわち、インデックスの絶対値の大きさに応じた長さの2値列)に変換する(ステップS47)。
 さらに、サイド情報符号化部22は、ステップS47の処理によって各マクロブロックレイヤに格納された2値列を算術符号化するとともに、サイド情報#21の各スライスヘッダに含まれているQP差分値テーブルを符号化する(ステップS48)。サイド情報符号化部22は、S48の処理を含むサイド情報#21全体の符号化処理を行った後、符号化済サイド情報#22を可変長符号多重化部25に供給する。
 以上、サイド情報決定部21およびサイド情報符号化部22の動作について説明したが、ここで、サイド情報#21が入力されたMB設定部23の動作について説明する。
 前述したように、MB設定部23は、入力画像#100を複数のスライスに分割し、さらに、各スライスを複数のマクロブロックに分割する。そして、MB設定部23は、各マクロブロックに関するマクロブロック画像#23を、そのマクロブロック画像#23に関するQP値とともに、MB符号化部24に順次供給する。
 MB設定部23は、入力されたサイド情報#21に基づいてMB符号化部24に供給する上記QP値を以下のように算出する。
 すなわち、MB設定部23は、マクロブロック画像#23に対応するマクロブロックレイヤに含まれているインデックスと、マクロブロック画像#23がその一部を構成するスライスに対応するスライスヘッダに含まれているQP差分値テーブルと、を参照する。
 そして、MB設定部23は、QP差分値テーブルにおいて、参照したインデックスに関連づけられているQP差分値を参照する。さらに、MB設定部23は、直前にMB符号化部24に供給したマクロブロック画像#23に関するQP値に該QP差分値を加算した値を、MB符号化部24にこれから供給するQP値とする。
 なお、入力されたQP値に基づいてマクロブロック画像#23を量子化および符号化するMB符号化部24、並びに、可変長符号多重化部25~フレームメモリ27は、H264/AVC規格に準拠した動作を行うものであるので、詳細については省略することとする。
 (QP差分値テーブルの符号化について)
 サイド情報符号化部22によるQP差分値の符号化について具体的に説明する。
 サイド情報符号化部22は、QP差分値テーブルのサイズ(すなわち、テーブルに含まれるインデックス(QP差分値)の個数)と、各QP差分値と、を符号化する。
 例えば、図8(b)に示すようなQP差分値テーブルをサイド情報決定部21が生成していた場合、サイド情報符号化部22は、QP差分値テーブルのサイズ9と、各QP差分値(-8、-6、・・、0、・・6、8)と、を符号化する。あるいは、サイド情報符号化部22は、各QP差分値をそのまま符号化する代わりに、インデックス0に対応するQP差分値についてはそのまま符号化し、他のインデックスについては、該インデックスのQP差分値から該インデックスより1だけ小さいインデックスのQP差分値を引き算した差分を符号化するようにしてもよい。
 なお、QP差分値、または上記QP差分値の差分を、ユーナリバイナリゼーションにより符号化してもよい。
 ユーナリバイナリゼーションを用いて図8(b)のQP差分値テーブルを符号化する場合の符号量を、各QP差分値をそのまま符号化する場合、および、インデックス0に対応するQP差分値についてはそのまま符号化し、他のインデックスについてはQP差分値の差分を符号化する場合のそれぞれについて、図10(a)および図10(b)を参照しながら以下に示す。なお、図10(a)および図10(b)のmb_qp_delta[i]はインデックスiのQP差分値を示しており、図10(b)において、dd[i,i-1]=mb_qp_delta[i]-mb_qp_delta[i-1]である。
 各QP差分値をそのまま符号化する場合、図10(a)に示すように、QP差分値mb_qp_delta[-4](=-8)は符号番号16に変換されるので、QP差分値の符号量は17になる。他のQP差分値についても同様であり、各QP差分値の符号量の合計は85ビットになる。
 また、インデックス0に対応するQP差分値についてはそのまま符号化し、他のインデックスについてはQP差分値の差分を符号化する場合、図10(b)に示すように、インデックス0に対応するQP差分値(mb_qp_delta[0]=0)は、符号番号0に変換されるので符号量は1になる。また、他のインデックスiについてはQP差分値の差分dd[i,i-1]=2が符号番号3に変換されるので符号量は4になる。したがって、符号量の合計は、29ビットになる。
 (変形例)
 サイド情報決定部21およびサイド情報符号化部22の動作の変形例について、図3および図7(b)を参照しながら以下に説明する。図3は、本変形例に係るサイド情報決定部21およびサイド情報符号化部22の動作を示すフローチャートである。また、図7(b)は、複数の拡大マクロブロック(第2単位領域)から構成されているスライスであって各拡大マクロブロックが複数のマクロブロックから構成されているスライスを示す図である。ここで、拡大マクロブロックは、内部に含まれる全マクロブロックが互いに画素特性が類似するように構成される。
 本変形例では、動画像符号化装置2は、拡大マクロブロックに含まれる複数のマクロブロックの各々についてQP差分値を決定するが、QP差分値を決定するマクロブロックは、拡大マクロブロック内においてラスタスキャン順に選択されるようになっている。例えば、図7(b)の拡大マクロブロックLMB1に含まれる4つのマクロブロックのQP差分値は、MB1、MB2、MB3、MB4の順に決定されるようになっている。
 また、動画像符号化装置2は、スライスに含まれる複数の拡大マクロブロックの各々について上記処理を行うが、上記処理の対象となる拡大マクロブロックは、スライス内においてラスタスキャン順に選択されるようになっている。例えば、図7(b)のスライスに含まれる複数の拡大マクロブロックに対する上記処理は、拡大マクロブロックLMB1、LMB2、LMB3・・の順に行うようになっている。なお、図7(b)および上記説明からわかるように、図中においてマクロブロックに付した符号MBi(i=1、2、・・)のiの値はスライス内でマクロブロックが選択される順序を示している。
 本変形例では、動画像符号化装置2は、拡大マクロブロック内の先頭のマクロブロック(特定の単位領域)については、H264/AVC規格に基づく方法でQP値(以下では上記先頭のマクロブロックのQP値をQPheadとも記載する)を割り当てる。そして、動画像符号化装置2は、QP差分値をインデックスに変換せずに直接符号番号に変換し、符号番号をユーナリバイナリゼーションにより2値列に変換する。
 一方、動画像符号化装置2は、先頭以外のマクロブロックについては、同じ拡大マクロブロックの先頭のマクロブロックについて割り当てたQP値に対するQP差分値を、図8(e)に示すQP差分値テーブルに基づいてインデックスに変換する。そして、動画像符号化装置2は、インデックスを符号番号に変換し、符号番号をユーナリバイナリゼーションにより2値列に変換する。
 ここで、図8(e)からわかるように、本変形例で先頭以外のマクロブロックに割り当て可能なQP値の候補の数(QPhead-2QPhead、QPhead+2の3個)は、上記実施形態において各マクロブロックに割り当て可能なQP値の候補の数(図8(a)のテーブルを用いた場合の13個や図8(b)~図8(d)のテーブルを用いた場合の9個)より少なくなっている。また、本変形例で先頭以外のマクロブロックに決定可能なQP差分値の絶対値の最大値は、0に近い所定の値である2となっている。
 なお、拡大マクロブロック内の各マクロブロックは画像特性が類似しているため、上記のようにして各マクロブロックに割り当てるQP値を略一定にしても、適切でないQP値を割り当てることによるマクロブロック画像の画質の劣化や無駄な符号量の増加等が起こりにくいと考えられる。また、QP差分値テーブルのサイズが小さくなるため、QP差分値テーブルを符号化する場合の符号量も削減されるメリットや、インデックスの絶対値の最大値がたかだか1になるので、インデックスから変換された2値列の符号量も2以下と小さくなるメリットがある。
 以下、サイド情報決定部21およびサイド情報符号化部22の変形例に係る動作について、図3を参照しながら説明する。
 図3に示すように、サイド情報決定部21は、図8(e)に示すようなQP差分値テーブルを生成し、サイド情報#21内の対応するスライスヘッダに含める(ステップS61)。
 以下のS62~S68の処理は、対象となる拡大マクロブロック(例えばLMB1)全体を構成する複数のマクロブロックの中からラスタスキャン順に選択した各マクロブロックについて、選択した順(例えば、MB1、MB2、MB3、MB4の順)に行われる。また、上記対象となる拡大マクロブロックは、スライス全体を構成する複数の拡大マクロブロックの中からラスタスキャン順(LMB1、LMB2・・の順)に選択される。
 ステップS62において、サイド情報決定部21は、選択したマクロブロックMBiがスライス内の先頭マクロブロックMB1であるか否かを判定する。
 先頭マクロブロックMB1であると判定された場合(ステップS62においてYES)、サイド情報決定部21は、マクロブロックMB1のQP値をH264/AVC規格に基づく方法で決定する。そして、サイド情報決定部21は、決定したQP値からスライスデフォルトQP値を引き算したQP差分値を、対応するマクロブロックレイヤに格納し(ステップS67)、ステップS68に進む。
 一方、先頭マクロブロックMB1でないと判定された場合(ステップS62においてNO)、選択したマクロブロックMBiがいずれかの拡大マクロブロック内の先頭マクロブロック(MB5やMB9等)であるか否かを判定する(ステップS63)。
 拡大マクロブロック内の先頭マクロブロックであると判定された場合(ステップS63においてYES)、サイド情報決定部21は、マクロブロックMBiのQP値をH264/AVC規格に基づく方法で決定する。そして、サイド情報決定部21は、決定したQP値から、マクロブロックMBi-1について決定したQP値を引き算したQP差分値を、対応するマクロブロックレイヤに格納し(ステップS66)、ステップS68に進む。
 一方、先頭マクロブロックでないと判定された場合(ステップS63においてNO)、そのマクロブロックのQP差分値を決定する(ステップS64)。
 具体的には、サイド情報決定部21は、マクロブロックのQP値をH264/AVC規格に基づいて暫定的に定める。そして、サイド情報決定部21は、暫定的に定めたQP値から、該マクロブロックと同じ拡大マクロブロックに含まれる先頭マクロブロックのQP値を引いた値(暫定QP差分値)が、QP差分値テーブルにQP差分値として含まれているか否かを判定する。
 そして、含まれていると判定した場合には、サイド情報決定部21は、暫定的に定めたQP値を、マクロブロックMBiのQP値として決定する。一方、含まれていないと判定した場合には、サイド情報決定部21は、QP差分値テーブルに含まれている複数のQP差分値のうち暫定QP差分値に最も近いQP差分値をマクロブロックMBiのQP差分値として決定する。つまり、ステップS64にて拡大マクロブロックの先頭以外のマクロブロックについて決定すべきQP差分値の候補の数は、拡大マクロブロックの先頭マクロブロックについて決定すべきQP差分値の候補の数よりも少なくなることになる。なお、決定したQP差分値をマクロブロックMBi-1のQP値に加算した値をマクロブロックMBiのQP値として決定する。
 サイド情報決定部21は、直前のステップS61にて生成したQP差分値テーブルを参照して、ステップS64にて決定したQP差分値をインデックスに変換する。サイド情報決定部21は、得られたインデックスをサイド情報#21内の対応するマクロブロックレイヤに含め(ステップS65)、ステップS68に進む。
 ステップS68において、サイド情報決定部21は、処理の対象となったマクロブロックがスライス内の最後のマクロブロックであるか否かを判定する。最後のマクロブロックでないと判定された場合(ステップS68においてNO)、ステップS62に戻る。一方、最後のマクロブロックであると判定された場合(ステップS68においてYES)、ステップS69に進む。
 サイド情報決定部21は、ステップS61~ステップS68における処理が施されていないスライスが入力画像#100内に存在するか否かを判定する(ステップS69)。存在すると判定された場合、ステップS61~ステップS68における処理がまだ施されていない別のスライスについてステップS61~ステップS68の処理を施す。一方、存在しないと判定された場合、サイド情報決定部21は、サイド情報#21を、サイド情報符号化部22およびMB設定部23に供給し、ステップS70に進む。
 サイド情報#21が入力されたサイド情報符号化部22は、サイド情報#21の各マクロブロックレイヤに含まれているインデックスまたはQP差分値を符号番号に変換し、符号番号を入力として、ユーナリバイナリゼーションに基づく2値化処理を施す(ステップS70)。
 さらに、サイド情報符号化部22は、サイド情報#21の各スライスヘッダに含まれているQP差分値テーブルを符号化する(ステップS71)。サイド情報符号化部22は、S70の処理を含むサイド情報#21全体の符号化処理を行った後、符号化済サイド情報#22を可変長符号多重化部25に供給する。
 以上、サイド情報決定部21およびサイド情報符号化部22の動作について説明したが、ここで、サイド情報#21が入力されたMB設定部23の動作について説明する。
 MB設定部23は、MB符号化部24にマクロブロック画像#23とともに供給するQP値を、入力されたサイド情報#21に基づいて以下のように算出する。
 すなわち、供給すべきマクロブロック画像#23が拡大マクロブロック内の先頭マクロブロック以外のマクロブロックである場合、MB設定部23は、マクロブロック画像#23に対応するマクロブロックレイヤに含まれているインデックスと、マクロブロック画像#23がその一部を構成するスライスに対応するスライスヘッダに含まれているQP差分値テーブルと、を参照する。そして、MB設定部23は、QP差分値テーブルにおいて、参照したインデックスに関連づけられているQP差分値を参照する。さらに、MB設定部23は、直前にMB符号化部24に供給したマクロブロック画像#23に関するQP値に該QP差分値を加算した値を、MB符号化部24にこれから供給するQP値とする。
 一方、供給すべきマクロブロック画像#23が拡大マクロブロック内の先頭マクロブロックである場合、MB設定部23は、マクロブロック画像#23に対応するマクロブロックレイヤに含まれているQP差分値を参照する。MB設定部23は、直前にMB符号化部24に供給したマクロブロック画像#23に関するQP値に該QP差分値を加算した値を、MB符号化部24にこれから供給するQP値とする。
 <動画像符号化装置に関する付記事項>
 なお、QP差分値テーブルは、図8(a)~図8(c)のように、各QP差分値に、該QP差分値の絶対値よりも絶対値が小さいインデックスを関連づけたテーブルであることが望ましいと述べたが、サイド情報決定部21は、そうでない図8(d)のようなテーブルを生成してもよい。図8(d)のテーブルは以下のように生成されるものである。
 すなわち、先に述べたように、ステップS42において、サイド情報決定部21は、スライス内のマクロブロックMB1~MBnの各々について、該マクロブロックのQP値を決定するために、該スライスについて決定したQP差分値の集合の中から該マクロブロックのQP差分値を決定する。
 サイド情報決定部21は、決定したn個のQP差分値から定まる最頻値(図8(d)において0)、2番目に頻度の高い値(図8(d)において4)、3番目に頻度の高い値(図8(d)において-6)・・の順に、それぞれ、インデックス0、1、-1、・・・を関連づけたテーブルを生成する。すなわち、テーブルにおいて、頻度が高いQP差分値ほど絶対値の小さいインデックスに関連づけられることになる。また、各頻度、すなわち、各QP差分値がn個のQP差分値からなるグループの中に含まれる割合は、サイド情報決定部21により算出される。なお、このように、頻度の高いQP差分値ほど絶対値の小さいインデックスが割り当てられるようにQP差分値テーブルを生成する場合、QP差分値テーブルに含まれる各QP差分値の絶対値の総和と各インデックスの絶対値の総和とは、等しくなっていてもよい。
 以上、本実施形態に係る動画像符号化装置2について説明を行ったが、本発明は、以上の構成に限定されるものではない。
 (付記事項1)
 上記実施形態では、量子化単位領域がマクロブロックであるものとしたが、これに限られない。すなわち、QP値の決定、QP差分値のインデックスへの変換、およびインデックスの2値化、並びに、QP値による画像の量子化をマクロブロック単位で行うものとものとしたが、マクロブロック単位でなくマクロブロックよりも大きい単位やマクロブロックより小さい単位(パーティション単位や8画素x8ラインのブロック単位、4画素x4ラインのブロック単位等)で行ってもよい。
 また、上記実施形態では、テーブル生成単位領域がスライスであるものとしたが、これに限られない。すなわち、QP差分値テーブルの生成をスライス単位で行うものとしたが、QP差分値テーブルの生成を、スライスより大きい単位(ピクチャ単位等)やスライスより小さい単位(マクロブロック単位等)で行うようにしてもよい。マクロブロック単位でfactorの値に応じたQP差分値テーブルを生成する場合、例えば、マクロブロックレイヤのマクロブロックタイプを参照して、マクロブロックタイプがイントラマクロブロックであればfactor=3と決定し、マクロブロックタイプがインターマクロブロックである場合にはfactor=2と決定するようにしてもよい。
 ただし、どのようにテーブル生成単位領域のサイズ、および量子化単位領域のサイズを決定した場合であっても、テーブル生成単位領域は、複数の量子化単位領域を包含するように構成される必要がある。
 また、QP差分値テーブルをテーブル生成単位領域ごとに生成しないようにしてもよい。すなわち、予め定められたQP差分値テーブルを図示しない記憶部に保持しておき、テーブル生成単位領域ごとに生成するQP差分値テーブルに代えて、上記記憶部に保持しているQP差分値テーブルを用いてもよい。この場合、動画像符号化装置2は、QP差分値テーブルの符号化および符号化したQP差分値テーブルの外部への出力を行わなくてもよい。これは、動画像復号装置1が、同じQP差分値テーブルを保持していれば、サイド情報符号化データ#11aを復号した後、インデックスからQP差分値を導出することができるからである。
 (付記事項2)
 上記実施形態では、スライス毎にスライスタイプを判定し、スライスタイプに応じてfactorの値を決定し、factorの値に応じたQP差分値テーブルを生成するものとしたが、QP差分値テーブルの生成は以下のように行っても良い。
 すなわち、最初に、サイド情報決定部21は、スライスに含まれるマクロブロックMB1~MBnのQP値を、H264/AVC規格に基づく方法で暫定的に定める。そして、サイド情報決定部21は、得られたn個のQP値の分散を算出し、分散の値の大きさに応じてfactorの値を決定する。具体的には、例えば、分散がS1以上である場合にfactor=3と決定し、分散がS2以上S1未満である場合にfactor=2と決定し、分散がS2未満である場合にfactor=1と決定するようにしてもよい。最後にサイド情報決定部21は、このように決定されたfactorの値に応じたQP差分値テーブルを生成する。
 (付記事項3)
 上記実施形態では、QP差分値テーブルを符号化する場合に、各QP差分値を符号化するものとしたが、以下のようにQP差分値テーブルを符号化してもよい。すなわち、図8(b)のQP差分値テーブルや図8(c)のQP差分値テーブルのように、factorの値と、QP差分値テーブルのサイズと、から定まるQP差分値テーブルを符号化する場合には、各QP差分値を符号化する代わりにfactorの値を符号化するようにしてもよい。この場合、QP差分値テーブルの符号量がより削減されることになる。また、同一のfactorからQP差分値テーブルを算出する算出方法には例1~例3に示すように複数の算出方法が存在する。ここでは例1~例3の各算出方法の中から算出方法を1つ選択して使用してもよい。この場合、QP差分値テーブルの算出方法を決定するために必要な情報を明示的に符号化してもよい。すなわち、methodとfactorの両方を符号化するものでも構わない。
 なお、符号化データとして外部に出力する情報は、各QP差分値と、各インデックスと、を1対1に対応付ける情報であれば、いかなるものであっても構わない。すなわち、該情報は、各QP差分値を符号化したものであってもよいし、factorの値を符号化したものであってもよい。また、QP差分値テーブルに登録されるインデックスの範囲がスライス毎に変更され得る場合には、該情報に、各QP差分値またはfactorの値に加え、各インデックスの値を含めてもよい。
 なお、動画像符号化装置と動画像復号装置が所定の変換規則、もしくは、QP差分値テーブルを複数個備えることとし、その変換規則(QP差分値テーブル)を切り替えるための変換規則インデックス(粗さ指定フラグ)を符号化する構成としても良い。変換規則インデックスを符号化する場合、例えば、mb_qp_delta = mb_qp_delta_indexとなる変換規則を識別するインデックスが0、等価なQP差分値テーブルが図8(b)のQP差分値テーブルで示される変換規則を識別するインデックスが1、等価なQP差分値テーブルが図8(c)で示される変換規則を識別するインデックスが2となるような0~2の変換規則インデックスを符号化する構成でも良い。
 また、QP差分値テーブルを識別する粗さ指定フラグは、2値のフラグであっても構わない。例えば、等価な変換規則がmb_qp_delta = mb_qp_delta_indexとなるようなQP差分値テーブルを識別する粗さ指定フラグの値を0とし、図8(a)のQP差分値テーブルを識別する粗さ指定フラグの値を1としても良い。
 (付記事項4)
 上記実施形態では、インデックスを2値列に変換するためにユーナリバイナリゼーションを用いるものとしたが、必ずしもこの構成に限定されない。すなわち、インデックスを2値列に変換するために、ユーナリバイナリゼーションと、図9(b)に示すような固定長バイナリゼーションとを使い分けてもよい。さらには、これらのバイナリゼーションにより得られた2値列に対し、別の符号化を施してもよい。例えば、H.264/AVCで規定されているようなコンテキスト適応算術符号化(CABAC)を適用することができる。
 具体的には、サイド情報符号化部22は、ユーナリバイナリゼーションを用いるか、固定長バイナリゼーションを用いるかをスライス毎に決定してもよい。この場合、サイド情報符号化部22は、例えば、スライス内の各マクロブロックについて、対応するマクロブロックレイヤに格納されているインデックスを参照する。そして、サイド情報符号化部22は、参照した複数個のインデックスの中に各インデックスの値i(i=0、1、・・・)が含まれる確率が略一定であるか(確率の最大値と最小値との差が所定の閾値以下であるか)否かを判定し、略一定である場合には固定長バイナリゼーション、そうでない場合にはユーナリバイナリゼーションを用いるようにしてもよい。
 なお、固定長バイナリゼーションにより得られる2値列の長さは、2を底とする、とり得るQP差分値の個数の対数値に依存することになる。例えば、とり得るQP差分値の個数が7であれば、2値列の長さは3になる。したがって、QP差分値テーブルを用いてとり得るQP差分値に制限をかけた場合、制限をかけない場合に比べ2値列の長さが小さくなり、符号量も削減されることになる。
 (付記事項5)
 本発明では、量子化単位領域のQP差分値を、該量子化単位領域のQP値と所定の基準値と、の差をとることにより求める。上記実施形態では、この所定の基準値を、処理順で該量子化単位領域の直前の量子化単位領域のQP値としていたが、本発明はこれに限定されない。すなわち、QP差分値を求める量子化単位領域に隣接する量子化単位領域(例えば、左や上に隣接する量子化単位領域)のQP値を上記所定の基準値としてもよい。あるいは、QP差分値を求める量子化単位領域に近接する(すなわち、該量子化単位領域から所定の範囲内にある)量子化単位領域のQP値を上記所定の基準値としてもよいし、量子化単位よりも大きな処理単位毎に変化する値(例えば、スライスデフォルトQP値)を上記所定の基準値としてもよい。あるいは、上記所定の基準値を特定の定数値(例えば、0)にしてもよい。
 (動画像符号化装置2の利点)
 以上のように、動画像符号化装置2では、サイド情報決定部21が、符号化順序が連続する2つのマクロブロックからなる各対のQP差分値がn個のQP差分値のいずれかになるように、各マクロブロックのQP値を設定する。例えば、動画像符号化装置2は、マクロブロックMB3のマクロブロックMB2に対するQP差分値が図8(d)のQP差分値テーブルに登録される9個のQP差分値-9、-2、・・3、8のひとつである1になるように、マクロブロックMB3のQP値を決定する。そして、マクロブロックMB3のマクロブロックMB2に対するQP差分値1を、9個のインデックスのうちの、QP差分値1に対応するインデックス2に変換する。
 また、サイド情報符号化部22は、インデックスからその絶対値の大きさに応じた長さの2値列を生成する。例えば、サイド情報符号化部22は、インデックス2から長さ4の2値列「1110」を生成し、インデックス3から長さ6の2値列「111110」を生成する。
 なお、n個のインデックスはn個の差分値よりも絶対値の総和が小さくなっている。例えば、図8(d)のQP差分値テーブルでは、9個のインデックスの絶対値の総和は20であり、9個のQP差分値の絶対値の総和は34である。このため、マクロブロックMB1~MBnの各QP差分値から従来のように該QP差分値の絶対値の大きさに応じた長さの2値列を生成するよりも、マクロブロックMB1~MBnの各QP差分値を対応するインデックスに変換するとともにインデックスの絶対値の大きさに応じた長さの2値列を生成するほうが、一般的に、n個の2値列の合計長が短くなる(すなわち、符号量が小さくなる)。
 これにより、動画像符号化装置2は、量子化パラメータの符号量を従来に比べてより削減することが可能である。
 (動画像復号装置)
 実施形態に係る動画像復号装置(復号装置)1の構成について、図4~図10、図12を参照して説明する。動画像復号装置1は、その一部に、H264/AVC規格に採用されている技術を用いている動画像復号装置である。
 動画像復号装置1は、概略的に言えば、動画像符号化装置2から入力される符号化データ#1を復号することによって復号画像#2を生成し、出力する装置である。
 図4は、動画像復号装置1の構成を示すブロック図である。図4に示すように、動画像復号装置1は、可変長符号逆多重化部11、サイド情報復号部12、MB設定部13、MB復号部14、および、フレームメモリ15を備えている。
 動画像復号装置1に入力された符号化データ#1は可変長符号逆多重化部11へ入力される。可変長符号逆多重化部11は、入力された符号化データ#1を逆多重化することによって、符号化データ#1を、サイド情報に関する符号化データであるサイド情報符号化データ#11aと、ピクチャに関する符号化データである符号化データ#11bと、に分離し、サイド情報符号化データ#11aをサイド情報復号部12に、符号化データ#11bをMB設定部13にそれぞれ出力する。
 サイド情報復号部12では、サイド情報符号化データ#11aからサイド情報#12を復号し、サイド情報#12をMB設定部13に出力する。サイド情報#12は、入力画像#100に関するパラメータの集合であるピクチャ・パラメータ・セット、入力画像#100に含まれるスライス毎のヘッダ情報であるスライスヘッダ、スライスに含まれるマクロブロック毎のパラメータの集合であるマクロブロックレイヤ等から構成される。
 MB設定部13では、入力されたサイド情報#12に基づいて、符号化データ#11bを複数のスライスに分割し、各スライスを個々のマクロブロックに対応する符号化データ#13に分離し、MB復号部14に対して順次出力する。MB設定部13は、後述するように、サイド情報#12に基づいて、符号化データ#13を逆量子化するためのQP値を求め、求めたQP値を符号化データ#13とともにMB復号部14に出力する。
 MB復号部14は、入力された個々のマクロブロック(逆量子化単位領域)に対応する符号化データ#13を順次復号および逆量子化することにより、個々のマクロブロックに対応する復号画像#2を生成し、出力する。また、復号画像#2は、フレームメモリ15に対しても出力される。
 フレームメモリ15には、復号画像#2が記録される。フレームメモリ15には、特定のマクロブロックを復号する時点において、当該マクロブロックよりも処理順で先行する全てのマクロブロックに対応する復号画像が記録されている。
 符号化データ#11bを構成する全てのマクロブロックに対して、MB復号部14によるマクロブロック単位の復号画像生成処理が終わった時点で、動画像復号装置1に入力された符号化データに対応する復号画像#2の生成処理が完了する。
 (サイド情報復号部12およびMB設定部13の動作について)
 次に、サイド情報復号部12およびMB設定部13の動作について、図5を参照しながら説明する。図5は、サイド情報復号部12およびMB設定部13の動作の流れを示すフローチャートである。
 図5に示すように、サイド情報復号部12は、サイド情報符号化データ#11aから、各スライスヘッダに含まれているQP差分値テーブルを復号する(ステップS1)。そして、サイド情報復号部12は、サイド情報符号化データ#11aから、各マクロブロックレイヤに含まれているインデックスを取り出す(ステップ2)。具体的には、動画像符号化装置2のサイド情報符号化部22がステップS48にて算術符号化したデータを算術復号して2値列を生成し、2値列に対して、ユーナリバイナリゼーションの逆処理(2値列の多値化)を施すことにより、インデックスを取り出す。そして、サイド情報復号部12は、QP差分値テーブルおよびインデックスを含むサイド情報#12をMB設定部13に供給する。
 そして、MB設定部13は、符号化データ#13とともにMB復号部14に順次出力するQP値を算出する(ステップS3)。
 具体的には、MB設定部13は、サイド情報#12のスライスヘッダに含まれているQP差分値テーブルと、サイド情報#12のマクロブロックレイヤ(符号化データ#13が表わすマクロブロックに対応するマクロブロックレイヤ)に含まれているインデックスと、を参照する。ここで、サイド情報#12のスライスヘッダとは、符号化データ#13が表わすマクロブロックがその一部を構成するスライスに対応するスライスヘッダである。そして、MB設定部13は、QP差分値テーブルにおいて該インデックスに関連づけられているQP差分値を参照し、該QP差分値からQP値を算出する。
 なお、入力された符号化データ#13を復号し、さらに、ともに入力されたQP値に基づいて逆量子化するMB復号部14、および、フレームメモリ15は、H264/AVC規格に準拠した動作を行うものであるので、詳細については省略することとする。
 (変形例)
 サイド情報復号部12およびMB設定部13の動作の変形例について、図6および図7(b)を参照しながら以下に説明する。図6は、サイド情報復号部12およびMB設定部13の動作を示すフローチャートである。
 サイド情報復号部12およびMB設定部13の本変形例に係る動作は、動画像符号化装置2のサイド情報決定部21およびサイド情報符号化部22が変形例に係る動作を行った場合に、行うべき動作である。
 図6に示すように、サイド情報復号部12は、サイド情報符号化データ#11aから、各スライスヘッダに含まれているQP差分値テーブルを復号する(ステップS21)。
 以下のS22以降の処理は、サイド情報符号化データ#11aに含まれる全マクロブロックレイヤに対して施される。また、S22以降の処理を施すマクロブロックレイヤは、動画像符号化装置2のサイド情報決定部21が処理対象とするマクロブロックを選択する順序と同じ順序で選択される。図7(b)のスライスに即して言えば、マクロブロックMBiに対応するマクロブロックレイヤに対するS22以降の処理はi番目に行われる。
 サイド情報復号部12は、選択したマクロブロックレイヤが拡大マクロブロック(第2単位領域)内の先頭マクロブロック(特定の単位領域)のマクロブロックレイヤであるか否かを判定する(ステップS22)。
 先頭マクロブロックのマクロブロックレイヤでないと判定された場合(ステップS22においてNO)、サイド情報復号部12は、サイド情報符号化データ#11aから、マクロブロックレイヤに含まれているインデックスを取り出す(ステップS23)。具体的には、動画像符号化装置2のサイド情報符号化部22がステップS70にて生成した2値列に対して、ユーナリバイナリゼーションの逆処理(2値列の多値化)を施すことにより、インデックスを取り出す。そして、サイド情報復号部12は、QP差分値テーブルおよびインデックスを含むサイド情報#12をMB設定部13に供給する。
 さらに、MB設定部13は、符号化データ#13とともにMB復号部14に出力するQP値を算出する(ステップS24)。
 具体的には、MB設定部13は、サイド情報#12のスライスヘッダに含まれているQP差分値テーブルと、マクロブロックレイヤに含まれているインデックスと、を参照する。そして、MB設定部13は、QP差分値テーブルにおいて該インデックスに関連づけられているQP差分値を参照し、該QP差分値からH264/AVC規格に基づく方法でQP値を算出する。
 一方、先頭マクロブロックのマクロブロックレイヤであると判定された場合(ステップS22においてYES)、サイド情報復号部12は、サイド情報符号化データ#11aから、マクロブロックレイヤに含まれているQP差分値を取り出し、MB設定部13はQP値を算出する(ステップ25)。具体的には、動画像符号化装置2のサイド情報符号化部22がステップS70にて生成した2値列に対して、ユーナリバイナリゼーションの逆処理(2値列の多値化)を施すことにより多値化された整数値に対応するQP差分値を取り出す。そして、サイド情報復号部12は、QP差分値を含むサイド情報#12をMB設定部13に供給し、MB設定部13は、サイド情報#12に含まれているQP差分値からH264/AVC規格に基づく方法でQP値を算出する。
 すべてのマクロブロックレイヤに対してステップS23およびステップS24の処理(または、ステップS25の処理)を施した場合(ステップS26においてYES)、処理を終了する。まだ該処理を施していないマクロブロックレイヤが存在する場合(ステップS26においてNO)、ステップS22に戻る。
 <動画像復号装置に関する付記事項>
 以上、本実施形態に係る動画像復号装置1について説明を行ったが、本発明は、以上の構成に限定されるものではない。
 (付記事項1)
 上記実施形態では、逆量子化単位領域がマクロブロックであるものとしたが、これに限られない。すなわち、逆量子化単位領域のサイズが動画像符号化装置2における量子化単位領域のサイズと同一であれば、逆量子化単位領域はマクロブロックよりも大きい単位領域またはマクロブロックよりも小さい単位領域であっても構わない。
 また、上記実施形態では、各逆量子化単位領域の画像の逆量子化に用いるQP値をQP差分値から算出するが、インデックスからQP差分値を求めるために、スライスヘッダ内のQP差分値テーブルを参照した。すなわち、インデックスからQP差分値を求めるために参照するQP差分値テーブルをスライス毎に切り替えていた。しかし、本発明に係る復号装置はこれに限定されない。すなわち、動画像符号化装置2におけるテーブル生成単位領域と同一のサイズの単位領域ごとに、参照するQP差分値テーブルを切り替えるようになっていればよい。
 (付記事項2)
 QP差分値テーブルを復号する具体的な処理は以下のようになっていればよい。
 すなわち、QP差分値テーブルの符号化データがQP差分値テーブルに含まれる各QP差分値の符号化データを含む場合、各QP差分値をユーナリバイナリゼーションの逆処理により復号してもよい。
 また、QP差分値テーブルの符号化データがfactorの値とQP差分値テーブルのサイズとを含んでいる場合、これらを復号することになる。この場合、復号により得られたfactorの値およびQP差分値テーブルのサイズに基づいて、QP差分値テーブルを生成すればよい。すなわち、QP差分値テーブルのサイズが2n+1であり、factorの値がfである場合、インデックスを-n,-n+1,・・,0,・・,n-1,nとし、それぞれに対応するQP差分値を-1*f*n,-1*f*(n-1),・・,0, f*(n-1),f*nとするQP差分値テーブルを生成すればよい。
 (動画像復号装置1の利点)
 以上のように、動画像復号装置1は、復号画像を構成する各マクロブロックに関する量子化パラメータを設定する処理を行うが、サイド情報復号部12が符号化データ#1から各マクロブロックに関する2値列のデータを抽出する。そして、サイド情報復号部12は、各2値列のデータから2値列の長さに応じたインデックスを生成する。
 そして、MB設定部13は、互いに異なるn個のインデックスと、n個のQP差分値と、が1対1に対応付けられているQP差分値テーブルを参照することにより、サイド情報復号部12が各マクロブロックについて生成したインデックスから、各マクロブロックのQP差分値を特定する。その後、MB設定部13は、H264/AVC規格に基づく方法で各QP差分値から各マクロブロックのQP値を算出する。
 したがって、動画像復号装置1は、算出したQP値を用いて各マクロブロックに逆量子化処理を施すことにより、各マクロブロックが構成する復号画像を生成することができる。
 〔実施形態2〕
 (符号化データ)
 まず、実施形態2以降の各実施形態に係る動画像符号化装置によって生成され、実施形態2以降の各本実施形態に係る動画像復号装置によって参照される符号化データについて図13を参照しながら説明する。なお、以下の説明における、動画像符号化装置の符号「4」、動画像復号装置の符号「3」、符号化データの符号「#4」は、それぞれ、実施形態2に係る動画像符号化装置、実施形態2に係る動画像復号装置、実施形態2において参照される符号化データを示している。実施形態3以降の各実施形態に係る動画像符号化装置および動画像復号装置によって参照される符号化データについても、以下の説明において用いられている符号を、当該実施形態において使用される符号に置き換えて読むことにより理解できることは言うまでもない。
 〔符号化データの構成〕
 図13を用いて、動画像符号化装置4によって生成され、動画像復号装置3によって復号される符号化データ#4の構成例について説明する。符号化データ#4は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
 符号化データ#4におけるピクチャレイヤ以下の階層の構造を図13に示す。図13の(a)~(d)は、それぞれ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、ツリーブロック(Tree block)TBLKを規定するツリーブロックレイヤ、ツリーブロックTBLKに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
  (ピクチャレイヤ)
 ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置3が参照するデータの集合が規定されている。ピクチャPICTは、図13の(a)に示すように、ピクチャヘッダPH、及び、スライスS1~SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
 なお、以下、スライスS1~SNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ#4に含まれるデータであって、添え字を付している他のデータについても同様である。
 ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置3が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置4が符号化の際に用いた可変長符号化のモードを示す符号化モード情報(entropy_coding_mode_flag)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
 entorpy_coding_mode_flagが0の場合、当該ピクチャPICTは、CAVLC(Context-based Adaptive Variable Length Coding)によって符号化されている。また、entorpy_coding_mode_flagが1である場合、当該ピクチャPICTは、CABAC(Context-based Adaptive Binary Arithmetic Coding)によって符号化されている。
 なお、ピクチャヘッダPHは、ピクチャ・パラメータ・セット(PPS:Picture Parameter Set)とも称される。
 図16は、ピクチャ・パラメータ・セットに含まれているシンタックスを示す図である。図16に示すように、ピクチャ・パラメータ・セットには、シンタックスlog2_min_delta_qualt_coding_unit_size_minus4が含まれている。本実施形態に係る動画像復号装置は、このシンタックスを参照することによって、サイズ情報としてMinDeltaQuantCodingUnitSizeを生成する。
 なお、図16に示したDescriptor(記述子)u(1)は、これらの記述子に関連付けられたシンタックスが1ビットで固定長符号化されることを示しており、u(2)は、この記述子に関連付けられたシンタックスが2ビットで固定長符号化されることを示しており、ue(v)は、この記述子に関連付けられたシンタックスが可変長符号化されることを示している(以下のシンタックステーブルにおいても同様)。
  (スライスレイヤ)
 スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置3が参照するデータの集合が規定されている。スライスSは、図13の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK1~TBLKNC(NCはスライスSに含まれるツリーブロックの総数)のシーケンスを含んでいる。
 スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
 スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
 また、スライスヘッダSHには、動画像復号装置1の備えるループフィルタ(不図示)によって参照されるフィルタパラメータが含まれていてもよい。
  (ツリーブロックレイヤ)
 ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置3が参照するデータの集合が規定されている。
 ツリーブロックTBLKは、ツリーブロックヘッダTBLKHと、符号化単位情報CU~CUNL(NLはツリーブロックTBLKに含まれる符号化単位情報の総数)とを含む。ここで、まず、ツリーブロックTBLKと、符号化単位情報CUとの関係について説明すると次のとおりである。
 ツリーブロックTBLKは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのパーティションに分割される。
 ツリーブロックTBLKの上記パーティションは、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
 以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応するパーティションを、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
 つまり、符号化単位情報(以下、CU情報と称する)CU~CUNLは、ツリーブロックTBLKを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
 また、符号化ツリーのルート(root)は、ツリーブロックTBLKに対応付けられる。換言すれば、ツリーブロックTBLKは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
 なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード(すなわち、当該符号化ノードの1階層上位のノードのパーティション)のサイズの縦横とも半分である。
 また、各符号化ノードのとり得るサイズは、符号化データ#4のシーケンスパラメータセットSPSに含まれる、符号化ノードのサイズ指定情報および最大階層深度(maximum hierarchical depth)に依存する。例えば、ツリーブロックTBLKのサイズが64×64画素であって、最大階層深度が3である場合には、当該ツリーブロックTBLK以下の階層における符号化ノードは、3種類のサイズ、すなわち、64×64画素、32×32画素、および16×16画素の何れかをとり得る。
  (ツリーブロックヘッダ)
 ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置3が参照する符号化パラメータが含まれる。具体的には、図13の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
 ツリーブロック分割情報SP_TBLKは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各CUの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
 なお、ツリーブロック分割情報SP_TBLKは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報SP_TBLKは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各CUの形状やサイズを特定できる。
 また、量子化パラメータ差分Δqpは、対象ツリーブロックにおける量子化パラメータqpと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータqp’との差分qp-qp’である。
  (CUレイヤ)
 CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置3が参照するデータの集合が規定されている。
 ここで、CU情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
 予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
 予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
 予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
 イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
 また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、N×2N、および、N×Nなどがある。
 また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
 変換ツリーにおける分割には、符号化ノードと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。
 変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
  (CU情報のデータ構造)
 続いて、図13の(d)を参照しながらCU情報に含まれるデータの具体的な内容について説明する。図13の(d)に示すように、CU情報は、具体的には、スキップフラグSKIP、PT情報PTI、および、TT情報TTIを含む。
 スキップフラグSKIPは、対象のPUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、そのCU情報におけるPT情報PTI、および、TT情報TTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
 PT情報PTIは、CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合であり、動画像復号装置3により予測画像を生成する際に参照される。PT情報PTIは、図13の(d)に示すように、予測タイプ情報PType、および、予測情報PInfoを含んでいる。
 予測タイプ情報PTypeは、対象PUについての予測画像生成方法として、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
 予測情報PInfoは、予測タイプ情報PTypeが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報より構成される。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
 また、予測情報PInfoは、対象PUの形状、サイズ、および、位置を指定する情報が含まれる。上述のとおり予測画像の生成は、PUを単位として行われる。予測情報PInfoの詳細については後述する。
 TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことをブロックと称することもある。
 TT情報TTIは、図13の(d)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TT、および、量子化予測残差QD1~QDNT(NTは、対象CUに含まれるブロックの総数)を含んでいる。
 TT分割情報SP_TTは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TTは、対象となるノードの分割を行うのか否かを示す情報(split_transform_unit_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
 また、例えば、CUのサイズが、64×64の場合、分割により得られる各TUは、32×32画素から2×2画素までのサイズをとり得る。
 各量子化予測残差QDは、動画像符号化装置4が以下の処理1~3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
 処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する;
 処理2:処理1にて得られた変換係数を量子化する;
 処理3:処理2にて量子化された変換係数を可変長符号化する;
 なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
  (予測情報PInfo)
 上述のとおり、予測情報PInfoには、インター予測情報およびイントラ予測情報の2種類がある。
 インター予測情報には、動画像復号装置3が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、インター予測情報には、対象CUの各インターPUへの分割パターンを指定するインターPU分割情報、および、各インターPUについてのインター予測パラメータが含まれる。
 インター予測パラメータには、参照画像インデックスと、推定動きベクトルインデックスと、動きベクトル残差とが含まれる。
 一方、イントラ予測情報には、動画像復号装置3が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、イントラ予測情報には、対象CUの各イントラPUへの分割パターンを指定するイントラPU分割情報、および、各イントラPUについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラPUについてのイントラ予測方法(予測モード)を指定するためのパラメータである。
 以下、実施形態2以降では、特に断りがない限り、「TU」を変換ツリーの最下位階層にある変換ブロックの意味で用いている。さらに、「LCU」を符号化ツリーの最上位階層にあるCUの意味で用いている。
 (動画像復号装置)
 本実施形態に係る動画像復号装置は、次に説明する動画像符号化装置4から供給される符号化データ#4を復号して復号画像#3を生成する装置である。
 以下では、本実施形態に係る動画像復号装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像復号装置の構成について図14を参照しながら説明する。図14は、動画像復号装置3の構成を示すブロック図である。図14に示すように、動画像復号装置3は、可変長符号逆多重化部31、サイド情報復号部32、CU設定部33、CU復号部34、および、フレームメモリ15を備えている。
 動画像復号装置3に入力された符号化データ#4は可変長符号逆多重化部31へ入力される。可変長符号逆多重化部31は、入力された符号化データ#4を逆多重化することによって、符号化データ#4を、サイド情報に関する符号化データであるサイド情報符号化データ#31aと、ピクチャに関する符号化データである符号化データ#31bとに分離し、サイド情報符号化データ#31aをサイド情報復号部32に、符号化データ#31bをCU設定部33にそれぞれ出力する。
 サイド情報復号部32では、サイド情報符号化データ#31aを復号してサイド情報#32を生成し、サイド情報#32をCU設定部33に出力する。
 サイド情報復号部32では、サイド情報符号化データ#31aを復号する処理において、QP符号化単位領域のサイズを示すサイズ情報の符号化データを復号することにより、サイド情報#32の一部として上記サイズ情報を生成する。具体的には、サイド情報復号部32は、サイド情報符号化データ#31aに含まれているlog2_min_delta_qualt_coding_unit_size_minus4に対して以下の式1の演算を行い、上記サイズ情報としてMinDeltaQuantCodingUnitSizeを生成する。式1において「<<」は、左ビットシフト演算を示している。
Figure JPOXMLDOC01-appb-M000001
 また、サイド情報復号部32では、サイド情報符号化データ#31aを復号する処理において、各QP符号化単位領域のQP差分値の符号化データを復号することにより、サイド情報#32の一部として上記QP差分値を生成する。
 サイド情報復号部32は、より具体的には、符号化データ#4に含まれるcoding_unitシンタックス(図18参照)を参照して各CUに対して順次以下の処理を行う。すなわち、サイド情報復号部32は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共にQP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、復号可能状態を示すフラグ(deltaQuantAvail)の値を復号可能状態を示す”true”に設定する。そして、サイド情報復号部32は、deltaQuantAvailが復号可能状態において、スキップブロック以外のCUを復号する時点で、QP差分値を復号する。すなわち、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、coding_unitシンタックスに含まれるcu_qp_deltaを復号し、該スキップフラグを参照したCUのQP差分値を、復号されたcu_qp_deltaの値に設定する。続いて、サイド情報復号部32は、deltaQuantAvailの値を”false”に設定する。
 サイド情報復号部32は、deltaQuantAvailの値が”false”である状態のときに、値が「0」のスキップフラグを参照すると、QP差分値に0を設定する。すなわち、該スキップフラグを参照したCUの直前に復号したCUにおけるqpの値を、該スキップフラグを参照したCUについてのqpとして用いる。
 あるいは、隣接するブロックと同じ予測パラメータを用いるCUであるマージブロックを考慮して以下のようにcu_qp_deltaを復号しても良い。サイド情報復号部32は、各QP符号化単位領域について、該QP符号化単位領域全体を構成する1以上の各CUについて、ラスタスキャン順に該CUのスキップフラグと該CUのマージフラグとを参照するようにしてもよい。この場合、サイド情報復号部32は、各QP符号化単位領域について、値が「0」であるスキップフラグと値が「0」であるマージフラグとが該QP符号化単位領域において初めて参照されるCUのQP差分値をcu_qp_deltaから復号する。
 具体的には、サイド情報復号部32は、符号化データ#4に含まれるcoding_unitシンタックス(図19参照)を参照して各CUに対して順次以下の処理を行ってもよい。すなわち、サイド情報復号部32は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共にQP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、復号可能状態を示すフラグ(deltaQuantAvail)の値を”true”に設定する。その後、サイド情報復号部32は、スキップブロックでも、マージブロックでもないCUを復号する時点において、cu_qp_deltaを復号する。すなわち、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグと値が「0」のマージフラグとを同時に参照すると、coding_unitシンタックスに含まれるcu_qp_deltaを復号し、該スキップフラグを参照したCUのQP差分値を、復号されたcu_qp_deltaの値に設定する。続いて、サイド情報復号部32は、deltaQuantAvailの値を”false”に設定する。
 サイド情報復号部32は、deltaQuantAvailの値が”false”である状態のときに、スキップブロックもしくはマージブロックのCUを復号する時点においては、QP差分値の符号化は行わない。すなわち、deltaQuantAvailの値が”false”である状態のときに、値が「1」のスキップフラグを参照すると、あるいは、値が「0」のスキップフラグと値が「1」のマージフラグとを同時に参照すると、QP差分値に0を設定する。この場合、該スキップフラグを参照したCUの直前に復号したCUのqpの値を、該スキップフラグを参照したCUについてのqpとして用いる。
 以上のようなサイド情報復号部32の処理によって、各QP符号化単位領域についてqpがユニークに定まることになる。また、各QP符号化単位領域についてユニークに定まったqpは、該QP符号化単位領域に含まれる各CUに対して共通に用いられる。
 CU設定部33では、入力されたサイド情報#32に基づいて、符号化データ#31bを複数のスライスに分割し、各スライスを複数のQP符号化単位領域に分割し、各QP符号化単位領域を個々のCUに対応する符号化データ#33bに分離し、CU復号部34に対して順次出力する。また、CU設定部33は、各QP符号化単位領域について、該QP符号化単位領域の個々のCUに対応する符号化データ#33bに加えて、サイド情報#32に含まれている該QP符号化単位領域のQP差分値#33aをCU復号部34に対して出力する。
 CU復号部34は、入力された個々のCU(逆量子化単位領域)に対応する符号化データ#33bを順次復号および逆量子化することにより、個々のCUに対応する復号画像#34を生成し、出力する。また、復号画像#34は、フレームメモリ15に対しても出力される。
 具体的には、CU復号部34は、CUに対応する符号化データ#33bを復号および逆量子化する際には、該CUが属するQP符号化単位領域のQP差分値#33aからQP値を求めて逆量子化処理を行う。
 符号化データ#31bを構成する全てのCUに対して、CU復号部34によるCU単位の復号画像生成処理が終わった時点で、動画像復号装置3に入力された符号化データに対応する復号画像#3の生成処理が完了する。
 以上のように、動画像復号装置は、CUごとにQP差分値の符号化データを復号するのではなく、1以上のCUからなるQP符号化単位領域ごとにQP差分値の符号化データを復号するので、従来よりも少ない符号量の符号化データからで復号画像を生成することができる。
 また、残差データを含まないCUであるスキップブロックではqpを必要としない。このことを考慮してスキップフラグが「1」である場合にはQP差分値を復号せず、スキップフラグが「0」である場合のみQP差分値を復号することにより、符号化データにおけるQP差分値の符号量を低減することができる。
 また、スキップブロックと同様、一部の符号化データを省略することによって符号化データの符号量を低減するマージブロックでもQP差分値を復号しないことにより、符号化データにおけるQP差分値の符号量を低減することができる。
 (動画像符号化装置)
 本実施形態に係る動画像符号化装置は、入力画像を構成する各LCUを、JCTVT-403に記載されているcoding_treeシンタックスを用いて複数のCU(Coding Unit:量子化単位領域)に分割する処理を行う。coding_treeシンタックスを見るとわかるように、上記分割処理は、具体的には、第i階層のCUのsplit_coding_unit_flagがtrueであるときに該CUを4分の1のサイズを持つ第i+1階層の4つのCUに分割する処理を、再帰的に行う処理である。したがって、上記複数のCUのサイズは、一般的に同一ではない。
 また、動画像符号化装置は、1つ以上のCUから構成されるQP符号化単位領域(単位領域)ごとに、該QP符号化単位領域に属するたかだか1つのCUに関するQP差分値を符号化するように構成されている。また、動画像符号化装置は、QP符号化単位領域のサイズを示すサイズ情報を符号化するように構成されている。
 すなわち、本実施形態に係る動画像符号化装置は、実施形態1の動画像符号化装置のように量子化単位領域ごとにQP差分値を符号化するのではなく、1以上の量子化単位領域からなるQP符号化単位領域ごとにQP差分値を符号化することによって、QP差分値の符号量を削減できるようになっている。
 このようにして生成された、各QP符号化単位領域の符号化済みのQP差分値と符号化済みのサイズ情報とは、後述する動画像復号装置に伝送される。そして、動画像復号装置は、1つのQP符号化単位領域を構成する各量子化単位領域で共通のQP差分値を使用して逆量子化を行うようになっている。
 なお、上記のQP符号化単位領域の構成要素となる領域(第3単位領域)は、CUではなくTUであっても構わない。
 以下では、本実施形態に係る動画像符号化装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像符号化装置4の構成について図15を参照しながら説明する。図15は、動画像符号化装置4の構成を示すブロック図である。図15に示すように、動画像符号化装置4は、サイド情報決定部41、サイド情報符号化部42、CU設定部43、CU符号化部44、可変長符号多重化部25、CU復号部46、および、フレームメモリ27を備えている。
 サイド情報決定部41は、入力画像#100に基づいて、サイド情報を決定し、決定したサイド情報をサイド情報#41として出力する。サイド情報#41(後述するサイド情報#61、#81等も同様)は、入力画像#100に関するパラメータの集合であるピクチャ・パラメータ・セット、入力画像#100に含まれるスライス毎のヘッダ情報であるスライスヘッダ、スライスに含まれるCU毎のパラメータの集合であるCU情報、CUに含まれるTU毎のパラメータの集合であるTU情報等から構成される。
 具体的には、サイド情報決定部41は、スライス(またはピクチャ)ごとに所定のアルゴリズムに基づいてQP符号化単位領域の(縦および横の)サイズを決定し、QP符号化単位領域のサイズを示すサイズ情報をサイド情報#41のスライスヘッダ(ピクチャ・パラメータ・セット)に格納する。
 さらに、サイド情報決定部41は、ピクチャ・パラメータ・セット(またはスライスヘッダ)内のQP符号化単位領域のサイズ情報に基づいて、入力画像#100(または各スライス)を構成するQP符号化単位領域を規定し、QP符号化単位領域ごとにたかだか1つのCUに関するQP差分値(以下、単に、「QP符号化単位領域のQP差分値」とも称する)を、該CUのCU情報の一部としてサイド情報#41に格納する。
 サイド情報符号化部42は、サイド情報#41を符号化し、サイド情報符号化データ#42を出力する。サイド情報符号化データ#42は、可変長符号多重化部25に供給される。サイド情報符号化部42は、サイド情報#41を符号化する処理において、各QP符号化単位領域のQP差分値と、上記サイズ情報とを符号化する。
 サイド情報符号化部42は、具体的には、QP符号化単位領域のサイズに2を底とするような対数関数を適用するとともに得られた対数関数値から4を減算することにより、サイズ情報の符号化データを生成する。なお、ピクチャ・パラメータ・セットにサイズ情報が含まれている場合には、ピクチャ・パラメータ・セットの符号化データは、例えば、図16に示すようなデータとなる(図16において、log2_min_delta_qualt_coding_unit_size_minus4がサイズ情報の符号化データを表している)。
 CU設定部43は、サイド情報#41に基づいて、入力画像#100を複数のスライスに分割し、さらに、各スライスを複数のCUに分割し、各CUに関するCU画像#43を出力する。なお、前述したように、一般的には各CU画像のサイズは同一ではない。
 また、CU設定部43は、1つのQP符号化単位領域を構成する複数のCUのCU画像#43bとともに、サイド情報#41に格納されている該QP符号化単位領域のQP差分値#43aを出力する。
 CU符号化部44は、順次入力されるCU画像#43bについて、予測画像生成部(図示せず)から送信される予測画像との予測残差をDCT変換するとともに、該CU画像#43bが属するQP符号化単位領域のQP差分値#43aから定まるQP値に応じた量子化レベルで、予測残差の各DCT係数を量子化する。そして、CU符号化部44は、量子化により得られたデータに可変長符号化処理を施すことによりCU符号化データ#44を生成して可変長符号多重化部25に供給する。
 CU復号部46は、入力された個々のCU画像#43bに対応するCU符号化データ#44を順次復号することにより、個々のCUに対応する復号画像#46を生成し、出力する。復号画像#46は、フレームメモリ27に供給される。
 なお、可変長符号多重化部25およびフレームメモリ27については実施形態1において説明したので、ここでは説明を省略する。
 以上、動画像符号化装置4の構成について説明したが、以下では、QP符号化単位領域ごとにたかだか1つのQP差分値を符号化するためにサイド情報決定部41およびサイド情報符号化部42が行う具体的な処理について図17を参照しながら説明する。
 図17は、サイド情報決定部41が規定するQP符号化単位領域の一部(4つのQP符号化単位領域)を模式的に示した図である。図17において太線で囲まれた4つの正方形領域の各々がQP符号化単位領域であり、細線で囲まれた計12個の領域はCUを示している。また、図17において斜線で描かれたCUは、QP差分値が符号化されるCUを示しており、点状模様で描かれたCUは、スキップブロックであることを示している。
 サイド情報決定部41は、規定した各QP符号化単位領域について、該QP符号化単位領域全体を構成する1以上の各CUについて、規定の順序で(本実施形態ではラスタスキャン順に)該CUのスキップフラグを参照する。サイド情報決定部41は、各QP符号化単位領域について、値が「0」であるスキップフラグが該QP符号化単位領域において初めて参照されるCUのQP値を算出し、直前に参照したQP値(またはデフォルトQP値)とのQP差分値をサイド情報#41の一部としてサイド情報符号化部42に出力する。
 例えば、図17の右上の符号化単位領域では、サイド情報決定部41は、ラスタスキャン順で最初に位置するCUがスキップブロック(スキップフラグの値が「1」であるCU)であるので、ラスタスキャン順で2番目に位置する斜線が描かれたCUのQP値を算出し、デフォルトQP値とのQP差分値をサイド情報符号化部42に出力することになる。
 サイド情報符号化部42は、QP符号化単位領域ごとに、サイド情報#41に格納されている該QP符号化単位領域内のたかだか1つのCUのQP差分値を符号化する。
 具体的には、サイド情報決定部41およびサイド情報符号化部42は、図18に示すcoding_unitシンタックスを用いて各CUに対して順次以下の処理を行う。すなわち、サイド情報決定部41は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共にQP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、符号化可能状態を示すフラグ(deltaQuantAvail)の値を”true”に設定する。そして、サイド情報決定部41は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、スキップフラグを参照したCUのQP差分値をサイド情報#41の一部としてサイド情報符号化部42に供給する。サイド情報符号化部42は、QP差分値の符号化処理を実行してdeltaQuantAvailの値を”false”に設定する。
 あるいは、サイド情報決定部41は、規定した各QP符号化単位領域について、該QP符号化単位領域全体を構成する1以上の各CUについて、ラスタスキャン順に該CUのスキップフラグと該CUのマージフラグとを参照するようにしてもよい。この場合、サイド情報決定部41は、各QP符号化単位領域について、値が「0」であるスキップフラグと値が「0」であるマージフラグとが該QP符号化単位領域において初めて参照されるCUのQP値を算出し、直前に参照したCUのQP値(またはデフォルトQP値)とのQP差分値を、サイド情報#41の一部としてサイド情報符号化部42に供給する。
 具体的には、サイド情報決定部41およびサイド情報符号化部42は、図19に示すcoding_unitシンタックスを用いて各CUに対して順次以下の処理を行ってもよい。すなわち、サイド情報決定部41は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共にQP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、符号化可能状態を示すフラグ(deltaQuantAvail)の値を”true”に設定する。その後、サイド情報決定部41は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグと値が「0」のマージフラグとを同時に参照すると、スキップフラグを参照したCUのQP差分値をサイド情報#41の一部としてサイド情報符号化部42に供給する。サイド情報符号化部42は、QP差分値の符号化処理を実行してdeltaQuantAvailの値を”false”に設定する。
 以上のようなサイド情報決定部41およびサイド情報符号化部42の処理によって可変長符号多重化部25は、サイド情報符号化部42から、各QP符号化単位領域のQP差分値とピクチャ・パラメータ・セット(各スライス)ごとに定まるQP符号化単位領域のサイズ情報との符号化データを含むサイド情報符号化データ#42を受け取ることになる。また、可変長符号多重化部25は、CU符号化部44から受け取るCU符号化データ#44とサイド情報符号化データ#42とを多重化することによって符号化データ#4を生成し、出力する。
 なお、サイド情報決定部41は、スライスヘッダおよびピクチャ・パラメータ・セットに代えて、シーケンス・パラメータ・セットにQP符号化単位領域のサイズ情報を格納してもよい。
 (付記事項)
 動画像符号化装置4のサイド情報符号化部42は、QP符号化単位領域のサイズに2を底とするような対数関数を適用するとともに得られた対数関数値から4を減算した値を算出することにより、サイズ情報の符号化データを生成するものとしたが、本発明はこれに限られない。
 すなわち、サイド情報符号化部42は、LCUサイズとの相対的なサイズとしてQP符号化単位領域のサイズを符号化しても構わない。例えば、QP符号化単位領域のサイズがLCUサイズ(max_coding_unit_width)の2n分の1である場合にnをサイズ情報の符号化データとして生成してもよい。
 この場合、動画像復号装置3のサイド情報復号部32は、サイド情報符号化データ#31aに含まれているlog2_min_delta_qualt_coding_unit_size_to_lcuに対して以下の式2の演算を行い、上記サイズ情報としてMinDeltaQuantCodingUnitSizeを生成する。式2において「>>」は、右ビットシフト演算を示している。
Figure JPOXMLDOC01-appb-M000002
 なお、上記のような、LCUサイズとの相対的なサイズとして符号化する、QP符号化単位領域のサイズの符号化方法は、以下の実施形態にも適応することが可能である。
 〔実施形態3〕
 (符号化データ)
 本実施形態に係る符号化データ#6の構成は、実施形態2において説明した符号化データ#4の構成と略同様であるが、以下の点において異なる。すなわち、本実施形態に係る符号化データ#6には、図20に示すcoding_unitシンタックスおよび図21に示すtransform_treeシンタックスが含まれている。図20に示すcoding_unitシンタックスおよび図21に示すtransform_treeシンタックスについては、以下の動画像復号装置及び動画像符号化装置と共に説明を行うことにする。
 (動画像復号装置)
 本実施形態に係る動画像復号装置は、実施形態2において説明した動画像復号装置3と略同様の構成である。また、本実施形態に係る動画像復号装置は、基本的に実施形態2において説明した動画像復号装置3と略同様の動作を行うことにより、符号化データ#6を復号して復号画像#3を生成できる。ただし、各QP符号化単位領域のQP差分値は、サイド情報#32のQP情報の一部ではなく、サイド情報#32のTU情報の一部になっている。したがって、動画像復号装置3のCU設定部33は、サイド情報#32に含まれている各選択対象TUのTU情報を参照することにより、各QP符号化単位領域のQP差分値を読み出すことになる。
 この点についてより具体的に説明すれば以下の通りである。
 本実施形態に係る動画像復号装置の備えるサイド情報復号部32は、各QP符号化単位領域について、該QP符号化単位領域全体を構成する1以上の各CUについて、ラスタスキャン順に該CUのスキップフラグと該CUの残差データ存在フラグ(residualDataPresentFlag)とを参照する。ここで、残差データ存在フラグは、CUが、0でないDCT係数を少なくとも1つ以上含むTUを少なくとも1つ以上含む場合に、”True”になり、そうでない場合に”False”になるフラグである。
 サイド情報復号部32は、図20のcoding unitシンタックスと、図21のtransform_treeシンタックスと、を参照し、各CUに対して順次以下の処理を行う。すなわち、図20からわかるように、サイド情報復号部32は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共にQP符号化単位領域の縦および横のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、復号可能状態を示すフラグ(deltaQuantAvail)の値を”true”に設定する。そして、サイド情報復号部32は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、図21のtransform_treeシンタックスにおける、residualDataPresentFlagの値を参照する。residualDataPresentFlagの値が「0」である場合、すなわち、該TUが残差データを含まない場合、サイド情報復号部32は、次のCUについてcoding unitシンタックスを参照する。なお、entropy_coding_mode_flagが0の場合、residualDataPresentFlagは、cuv_yuv_rootの値が0か否かにより定まる。cuv_yuv_rootが0以外の場合に”true”、cuv_yuv_rootが0の場合に”false”となる。
entropy_coding_mode_flagが0の場合、residualDataPresentFlagは、no_resisulal_data_flagの値が0以外であれば”true”、 no_resisulal_data_flagの値が0であれば”false”となる。
 一方、residualDataPresentFlagの値が「1」である場合、すなわち、該TUが残差データを含む場合、サイド情報復号部32は、注目しているCUを構成する各TUに対して図21のtransform_treeシンタックスを参照する。その結果、サイド情報復号部32は、0でないDCT係数を少なくとも1つ以上含むTUであって注目しているCUの中で規定の順序(例えば、ラスタスキャン順とは真逆の順序)において最初に復号するTU(例えば、右下端のTU。以下、「選択対象TU」とも称する)のcu_qp_deltaを復号し、当該最初に復号するTUについてのQP差分値を、該復号されたcu_qp_deltaの値に設定する。その後、サイド情報復号部32は、deltaQuantAvailの値を”false”に設定する。以上のようなサイド情報復号部32の処理によって、各QP符号化単位領域についてqpがユニークに定まることになる。また、各QP符号化単位領域についてユニークに定まったqpは、該QP符号化単位領域に含まれる各CUに対して共通に用いられる。
 (動画像符号化装置)
 本実施形態に係る動画像符号化装置について図面を参照しながら詳細に説明する。
 本実施形態に係る動画像符号化装置は、実施形態2の動画像符号化装置4と同様、入力画像を構成する各LCUを、coding_treeシンタックスを用いて複数のCU(Coding Unit:量子化単位領域)に分割する。また、本実施形態に係る動画像符号化装置は、動画像符号化装置4とは異なり、各CUについて、図20に示すcoding_unitシンタックスおよび図21に示すtransform_treeシンタックスを用いて、該CUを、変換ツリーを構成する複数の変換単位(TU)に分割する。
 また、動画像符号化装置は、1以上の上記TUから構成される所定のアルゴリズムに基づいて定められたQP符号化単位領域ごとに、該QP符号化単位領域全体を構成する少なくとも一部のTUについてのみQP差分値を符号化するように構成されている。ただし、本実施形態に係る動画像符号化装置が、該TUに関するQP差分値を符号化するのは、該TUの予測残差が0でない(すなわち、0でないDCT係数が存在する)場合に限られている。ここで、0でないDCT係数が存在しないことは、該TUの輝度成分の各DCT係数および該TUの色差成分の各DCT係数がすべて0であることと等価である。そのため、本実施形態に係る動画像符号化装置は、実施形態2と異なり、符号化する必要がないQP差分値を符号化してしまうという冗長な処理を減らすことができる。
 以下、本実施形態に係る動画像符号化装置6について図22を参照しながら説明する。図22は、動画像符号化装置6の構成を示すブロック図である。図22に示すように、動画像符号化装置6は、サイド情報決定部61、サイド情報符号化部62、CU設定部43、CU符号化部44、可変長符号多重化部25、CU復号部46、および、フレームメモリ27を備えている。
 CU設定部43、CU符号化部44、可変長符号多重化部25、CU復号部46、および、フレームメモリ27については、実施形態1または2において説明したので、以下では、サイド情報決定部61およびサイド情報符号化部62について説明する。
 サイド情報決定部61は、規定した各QP符号化単位領域について、該QP符号化単位領域全体を構成する1以上の各CUについて、ラスタスキャン順に該CUのスキップフラグと該CUの残差データ存在フラグ(residualDataPresentFlag)とを参照する。ここで、残差データ存在フラグは、CUが、0でないDCT係数を少なくとも1つ以上含むTUを少なくとも1つ以上含む場合に、”True”になり、そうでない場合に”False”になるフラグである。サイド情報決定部61は、各QP符号化単位領域について、値が「0」であるスキップフラグと値が「1」である残差データ存在フラグとが該QP符号化単位領域において初めて同時に参照されるCUのQP値とデフォルトQP値とのQP差分値#63aを、サイド情報#61の一部としてサイド情報符号化部62に出力する。
 サイド情報符号化部62は、QP符号化単位領域ごとに、サイド情報決定部61から受け取ったQP差分値を符号化して符号化データ#62を生成する。
 具体的には、サイド情報決定部61およびサイド情報符号化部62は、図20のcoding unitシンタックスと、図21のtransform_treeシンタックスと、を用いて各CUに対して順次以下の処理を行う。すなわち、図20からわかるように、サイド情報決定部61は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共にQP符号化単位領域の縦および横のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、符号化可能状態を示すフラグ(deltaQuantAvail)の値を”true”に設定する。そして、サイド情報決定部61は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、図21のtransform_treeシンタックスを呼び出して、residualDataPresentFlagの値を参照する。residualDataPresentFlagの値が「0」である場合、サイド情報決定部61は、次のCUについてcoding unitシンタックスを呼び出す。
 一方、サイド情報決定部61は、residualDataPresentFlagの値が「1」である場合、サイド情報決定部61は、注目しているCUを構成する各TUに対して図21のtransform_treeシンタックスを適用する。その結果、サイド情報決定部61は、0でないDCT係数を少なくとも1つ以上含むTUであって注目しているCUの中で規定の順序(例えば、ラスタスキャン順とは真逆の順序)において最初に参照するTU(例えば、右下端のTU。以下、「選択対象TU」とも称する)のQP差分値を算出し、選択対象TUのQP差分値をTU情報の一部としてサイド情報符号化部62に供給する。サイド情報符号化部62は、受け取ったQP差分値に対して符号化処理を実行してdeltaQuantAvailの値を”false”に設定する。
 以上のようなサイド情報決定部61およびサイド情報符号化部62の処理によって可変長符号多重化部25は、サイド情報符号化部62から、各QP符号化単位領域のQP差分値とピクチャ(またはピクチャを構成する各スライス)ごとに定まるQP符号化単位領域のサイズ情報との符号化データを含むサイド情報符号化データ#62を受け取ることになる。また、可変長符号多重化部25は、CU符号化部44から受け取るCU符号化データ#44とサイド情報符号化データ#62とを多重化することによって符号化データ#6を生成し、出力する。
 (付記事項)
 サイド情報決定部61およびサイド情報符号化部62は、図21のtransform_treeシンタックスを用いる代わりに、図23のtransform_treeシンタックスを用いてもよい。
 すなわち、サイド情報決定部61は、上記選択対象TUのQP差分値に加え、0でないDCT係数を少なくとも1つ以上含むTUであって注目しているCU内の左上端に位置するTUのQP差分値を、TU情報の一部としてサイド情報符号化部62に供給してもよい。
 さらに、サイド情報決定部61およびサイド情報符号化部62は、図21のtransform_treeシンタックスを用いる代わりに、図24のtransform_treeシンタックスを用いてもよい。
 すなわち、サイド情報決定部61は、注目しているCUのresidualDataPresentFlagの値が「1」である場合、該CU(すなわち、最上位階層のTU)のCU情報の一部として、該CUのQP差分値をサイド情報符号化部62に供給してもよい。
 〔実施形態4〕
 (動画像復号装置)
 本実施形態に係る動画像復号装置は、動画像符号化装置8から供給される符号化データ#8を復号して復号画像#7を生成する装置である。符号化データ#7に含まれるcoding unitシンタックスの一例を図27に示す。
 以下では、本実施形態に係る動画像復号装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像復号装置の構成について図25を参照しながら説明する。図27は、動画像復号装置7の構成を示すブロック図である。図25に示すように、動画像復号装置7は、可変長符号逆多重化部71、サイド情報復号部72、CU設定部73、CU復号部74、予測画像生成部75、および、フレームメモリ15を備えている。
 動画像復号装置7に入力された符号化データ#8は可変長符号逆多重化部71へ入力される。可変長符号逆多重化部71は、入力された符号化データ#8を逆多重化することによって、符号化データ#7を、サイド情報に関する符号化データであるサイド情報符号化データ#71aと、ピクチャに関する符号化データである符号化データ#71bと、に分離し、サイド情報符号化データ#71aをサイド情報復号部72に、符号化データ#71bをCU設定部73にそれぞれ出力する。
 サイド情報復号部72では、サイド情報符号化データ#71aを復号してサイド情報#72を生成し、サイド情報#72をCU設定部73に出力する。
 サイド情報復号部72は、サイド情報符号化データ#71aを復号する処理の中で、各CUの予測モード#88mの符号データを復号することにより、サイド情報#72の一部となる各CUの予測モード#88mを生成する。
 また、サイド情報復号部72は、サイド情報符号化データ#71aを復号する処理の中で、サイド情報符号化データ#71aに含まれている第1QP符号化単位領域(単位領域)および第2QP符号化単位領域(第4単位領域)のサイズ情報の符号化データを復号することにより、サイド情報#72の一部として上記2つのサイズ情報を生成する。具体的には、サイド情報復号部72は、サイド情報符号化データ#71aに含まれているlog2_min_delta_qualt_coding_unit_size_minus4に対して前述した式1の演算を行い、第1QP符号化単位領域のサイズ情報としてMinDeltaQuantCodingUnitSizeを生成する。
 また、サイド情報復号部72は、サイド情報符号化データ#71aに含まれているlog2_min_intra_delta_qualt_coding_unit_size_minus4に対しても同様の演算を行い、第2QP符号化単位領域のサイズ情報としてMinIntraDeltaQuantCodingUnitSizeを生成する。
 サイド情報復号部72によるQP差分値73aの復号処理についてより具体的に説明すれば以下の通りである。
 サイド情報復号部72は、図27のcoding unitシンタックスを参照して、各CUに対して順次以下の処理を行う。すなわち、図27からわかるように、サイド情報復号部72は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共に第1QP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、deltaQuantAailの値を”true”に設定する。
 そして、サイド情報復号部72は、各スキップフラグの値を参照し、値が“0”であるようなスキップフラグを参照した場合に、CU画像をイントラ符号化する場合におけるQP差分値の復号可能状態を示すフラグ(deltaQuantAvailIntra)を”true”に設定する。さらに、サイド情報復号部72は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、coding_unitシンタックスに含まれるcu_qp_deltaを復号し、該スキップフラグを参照したCUのQP差分値を、復号されたcu_qp_deltaの値に設定する。続いて、サイド情報復号部72は、deltaQuantAvailの値とdeltaQuantAvailIntraの値とを”false”に設定する。
 また、サイド情報復号部72は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共に第2QP符号化単位領域のサイズ(MinIntraDeltaQuantCodingUnitSize)の整数倍に一致し、尚且つ、deltaQuantAvailIntraの値が”true”である場合にも、coding_unitシンタックスに含まれるcu_qp_deltaを復号し、該スキップフラグを参照したCUのQP差分値を、復号されたcu_qp_deltaの値に設定する。
 CU設定部73では、入力されたサイド情報#72に基づいて、符号化データ#71bを複数のスライスに分割し、各スライスを個々のCUに対応する符号化データ#73bに分離し、CU復号部74に対して順次出力する。また、CU設定部73は、各符号化データ#73bとともに、サイド情報#72に含まれている各CUの予測モード#73mと各選択対象CUのQP差分値73aとをCU復号部74に対して出力する。また、CU設定部73は、各CUの予測モード#73mを予測画像生成部75に対して出力する。
 CU復号部74は、入力された個々のCU(逆量子化単位領域)に対応する符号化データ#73bを順次復号および逆量子化することにより、個々のCUに対応する復号画像#74を生成し、出力する。また、復号画像#74は、フレームメモリ15に対しても出力される。
 具体的には、CU復号部74は、入力されたサイド情報#72に格納されている第1QP符号化単位領域および第2QP符号化単位領域のサイズを参照し、生成すべき復号画像の全領域を構成する各QP符号化単位領域を規定する。
 そして、CU復号部74は、各CUの逆量子化に用いるQP差分値を以下のように決定する。すなわち、逆量子化の対象となっているCUが選択対象CUである場合、CU復号部74は、CU設定部73から受け取った当該選択対象CUのQP差分値#73bと直前に逆量子化したCUのQP値とから、当該選択対象CUのQP値を求める。そして、CU復号部74は、選択対象CUのQP値に応じた量子化レベルで逆量子化を行う。
 一方、逆量子化の対象となっているCUが選択対象CUでない場合、該CUの逆量子化に用いるQP差分値を以下のように決定する。すなわち、CU復号部74は、CU設定部73から受信した当該CUの予測モード#73mがインター予測画像を示す場合、当該CUが属する第1QP符号化単位領域内の選択対象CUのQP差分値#73bと、直前に逆量子化したCUのQP値とから、逆量子化の対象となっているCUのQP値を求める。そして、CU復号部74は、当該CUのQP値に応じた量子化レベルで逆量子化を行う。
 逆に、CU復号部74は、CU設定部73から受信した当該CUの予測モード#73mがイントラ予測モードを示す場合、当該CUが属する第2QP符号化単位領域内の選択対象CUのQP差分値#73bと、直前に逆量子化したCUのQP値とから、逆量子化の対象となっているCUのQP値を求める。そして、CU復号部74は、当該CUのQP値に応じた量子化レベルで逆量子化を行う。
 CU復号部74は、以上のようにして逆量子化を行い、さらにDCT逆変換を行って、予測残差を生成する。そして、CU復号部74は、予測画像生成部75から受け取った、符号化データ#73bに対応する予測画像#75と、予測残差と、を加算して復号画像#74を生成する。
 予測画像生成部75は、CU設定部73から送られる予測モード#73mに基づいて、フレームメモリ15に格納された復号画像#74からイントラ予測画像を生成するか、また、フレームメモリ15に格納されている参照画像#74を用いて、動きベクトルを算出し、動きベクトルに基づいた動き補償を行い、インター予測画像を生成する。予測画像生成部75は、生成したいずれかの予測画像#75を出力する。
 符号化データ#71bを構成する全てのCUに対して、CU復号部74によるCU単位の復号画像生成処理が終わった時点で、動画像復号装置7に入力された符号化データに対応する復号画像#7の生成処理が完了する。
 以上のように、動画像復号装置は、CUごとにQP差分値の符号化データを復号するのではなく、選択対象CUについてのみQP差分値の符号化データを復号するので、従来よりも少ない符号量の符号化データから復号画像を生成することができる。
 また、以上のように、deltaQuantAvailIntraフラグを導入することによって、サイド情報決定部81が選択対象CUのQP差分値を重複してサイド情報符号化部82に供給してしまうことを防止することができる。
 (動画像符号化装置)
 入力画像中にインター符号化すべき領域が相対的に多い場合、QP差分値の個数を多くすることによってQP値の精度を高めて量子化を行ったとしても、予測残差の符号量の削減量がQP差分値の符号量の増加量を下回り、符号化効率が低下することがわかっている。
 本実施形態に係る動画像符号化装置は、入力画像中にインター符号化すべき領域が相対的に多いほど、相対的に少ない数のQP差分値を符号化するようになっている。すなわち、入力画像中にイントラ符号化すべき領域が相対的に多いほど、相対的に多い数のQP差分値を符号化するようになっている。
 本実施形態に係る動画像符号化装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像符号化装置8の構成について図26を参照しながら説明する。図26は、動画像符号化装置8の構成を示すブロック図である。図26に示すように、動画像符号化装置8は、サイド情報決定部81、サイド情報符号化部82、CU設定部83、CU符号化部84、可変長符号多重化部25、CU復号部46、フレームメモリ27、および予測画像生成部88を備えている。サイド情報決定部81、サイド情報符号化部82および予測画像生成部88について説明する。
 可変長符号多重化部25、CU復号部46、およびフレームメモリ27については実施形態1または2で説明したので、以下ではその他の構成要素について説明する。
 予測画像生成部88は、フレームメモリ27に格納された復号画像#46からイントラ予測画像#88aを生成する。また、予測画像生成部88は、フレームメモリ27に格納されている参照画像#46を用いて、動きベクトルを算出し、動きベクトルに基づいた動き補償を行い、インター予測画像#88bを生成する。
 さらに、予測画像生成部88は、イントラ予測画像と、インター予測画像と、入力画像#100とを比較し、イントラ予測画像、または、インター予測画像のうち、何れか一方を選択し、予測画像#88として出力する。また、予測画像生成部88は、イントラ予測画像、または、インター予測画像のうち、何れを選択したのかを表す情報である予測モード#88mを出力する。
 サイド情報決定部81は、入力画像#100および各CUに関する予測モード#88mに基づいて、サイド情報を決定し、決定したサイド情報をサイド情報#81として出力する。具体的には、サイド情報決定部81は、スライス(またはピクチャ)ごとに所定のアルゴリズムに基づいて第1QP符号化単位領域のサイズおよび第2QP符号化単位領域のサイズを決定し、各QP符号化単位領域のサイズを示すサイズ情報をサイド情報#81のスライスヘッダ(またはピクチャ・パラメータ・セット)に格納する。ここで、サイド情報決定部81は、第1QP符号化単位領域のサイズを、第2QP符号化単位領域のサイズよりも相対的に大きいサイズに決定する。より具体的には、サイド情報決定部81は、第1QP符号化単位領域(単位領域)が複数の第2QP符号化単位領域(第4単位領域)から構成されるように、第1QP符号化単位領域および第2QP符号化単位領域のサイズを決定する。
 さらに、サイド情報決定部81は、ピクチャ・パラメータ・セット(またはスライスヘッダ)内の第1QP符号化単位領域のサイズ情報および第2QP符号化単位領域のサイズに基づいて、入力画像#100(または各スライス)を構成する第1QP符号化単位領域および第2QP符号化単位領域を規定し、予測モード#88mに基づいて後述する処理によって選択された各CU(以下、「選択対象CU」とも称する)のQP差分値を、該CUのCU情報の一部としてサイド情報#81に格納する。また、サイド情報決定部81は、各CUの予測モード#88mをサイド情報#81に格納する。
 サイド情報符号化部82は、サイド情報#81を符号化してサイド情報符号化データ#82を出力する。
 サイド情報符号化部82は、サイド情報#81を符号化する処理の中で、サイド情報決定部81から受け取った各QP差分値を符号化するが、符号化済みの各QP差分値はサイド情報符号化データ#82の一部を構成するようになっている。
 同様に、サイド情報符号化部82は、サイド情報#81を符号化する処理の中で、各QP符号化単位領域のサイズ情報を符号化するが、符号化済みの各サイズ情報はサイド情報符号化データ#82の一部を構成するようになっている。
 サイド情報符号化部82は、具体的には、第1QP符号化単位領域および第2のQP符号化単位領域の各々について、QP符号化単位領域のサイズに2を底とするような対数関数を適用するとともに得られた対数関数値から4を減算することにより、サイズ情報の各符号化データを生成する。
 CU設定部83は、サイド情報#81に基づいて、入力画像#100を複数のスライスに分割し、各スライスを複数のCUに分割し、各CUに関するCU画像#83bを出力する。
 また、CU設定部83は、各CUのCU画像#83bを出力する際に、その一部のCUについては当該CUのCU画像#83bとともにサイド情報#81に含まれている当該CUのQP差分値#83aをCU符号化部84に出力する。
 CU符号化部84は、順次入力されるCU画像#83bについて、予測画像生成部(図示せず)から送信される予測画像との予測残差をDCT変換する。
 そして、CU符号化部84は、入力されるCU画像#83bについて予測画像生成部88から送信される予測画像がインター予測画像である場合(すなわち、予測画像生成部88から送信される予測モード#88mがインター予測モードを示す場合)、該CU画像#83bが属する第1QP符号化単位領域内の選択対象CUのQP差分値#83aから定まるQP値に応じた量子化レベルで、予測残差の各DCT係数を量子化する。
 一方、CU符号化部84は、入力されるCU画像#83bについて予測画像生成部88から送信される予測画像がイントラ予測画像である場合(すなわち、予測画像生成部88から送信される予測モード#88mがイントラ予測モードを示す場合)、該CU画像#83bが属する第2QP符号化単位領域内の選択対象CUのQP差分値#83aから定まるQP値に応じた量子化レベルで、予測残差の各DCT係数を量子化する。
 CU符号化部84は、以上のDCT変換および量子化処理により得られたCU符号化データ#84を可変長符号多重化部25に出力する。
 以上、動画像符号化装置8の構成について説明したが、以下では、サイド情報決定部81およびサイド情報符号化部82が行う具体的な処理について説明する。
 サイド情報決定部81は、サイド情報#81に基づいて、各第1QP符号化単位領域について、該第1QP符号化単位領域全体を構成する1以上の各CUについて、ラスタスキャン順に該CUのスキップフラグを参照する。CU設定部83は、各第1QP符号化単位領域について、値が「0」であるスキップフラグが該第1QP符号化単位領域において初めて参照されるCU(選択対象CU)のQP値とデフォルトQP値とのQP差分値#83aを算出する。
 また、サイド情報決定部81は、上記各CUのスキップフラグを参照する処理に付随して、上記各CUについて該CUが第2QP符号化領域内の左上端に位置するCUであり、尚且つ、予測画像生成部88から送られる該CUの予測モード#88mがイントラ予測モードである(すなわち、判定処理の結果が真である)か否かを判定するようになっている。サイド情報決定部81は、上記各CUについて該CUに対する上記判定処理の結果が真であると判定した場合、該CU(選択対象CU)のQP値とデフォルトQP値とのQP差分値#83aを算出する。
 そして、サイド情報決定部81は、各選択対象CUのQP差分値81をCU設定部83とサイド情報符号化部82とに供給する。
 サイド情報符号化部82は、サイド情報決定部81から受け取った各QP差分値を符号化して、各QP差分値の符号化データを符号化データ#82の一部として生成する。
 具体的には、サイド情報決定部81およびサイド情報符号化部82は、図27のcoding unitシンタックスを用いて各CUに対して順次以下の処理を行う。すなわち、図27からわかるように、サイド情報決定部81は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共に第1QP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、deltaQuantAailの値を”true”に設定する。
 そして、サイド情報決定部81は、各スキップフラグの値を参照し、値が“0”であるようなスキップフラグを参照した場合に、CU画像をイントラ符号化する場合におけるQP差分値の符号化可能状態を示すフラグ(deltaQuantAvailIntra)を”true”に設定する。さらに、サイド情報決定部81は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、スキップフラグを参照したCUのQP差分値をサイド情報#81の一部としてサイド情報符号化部82に供給する。サイド情報符号化部82は、QP差分値の符号化処理を実行してdeltaQuantAvailの値とdeltaQuantAvailIntraの値とを”false”に設定する。
 また、サイド情報決定部81は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共に第2QP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致し、尚且つ、deltaQuantAvailIntraの値が”true”である場合にも、スキップフラグを参照したCUのQP差分値をサイド情報#81の一部としてサイド情報符号化部82に供給するようになっている。
 以上のようなサイド情報決定部81およびサイド情報符号化部82の処理によって可変長符号多重化部25は、サイド情報符号化部82から、選択対象CUのQP差分値とピクチャ(またはピクチャを構成する各スライス)ごとに定まる第1QP符号化単位領域および第2QP符号化単位領域のサイズ情報との符号化データを含むサイド情報符号化データ#82を受け取ることになる。また、可変長符号多重化部25は、CU符号化部84から受け取るCU符号化データ#84とサイド情報符号化データ#82とを多重化することによって符号化データ#8を生成し、出力する。スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共に第1QP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合に、deltaQuantAailの値を”true”に設定する。
 そして、サイド情報決定部81は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、図21のtransform_treeシンタックスを呼び出して、residualDataPresentFlagの値を参照する。residualDataPresentFlagの値が「0」である場合、サイド情報決定部61は、次のCUについてcoding unitシンタックスを呼び出す。
 なお、上記では、CUの左上座標のx成分およびy成分が共にQP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合という判定を行っているが、同じ位置のCUを判定できる別の判定方法を用いても構わない。例えば、以下に示すCU座標インデックスで判定を行うことができる。CU座標インデックスとは、あるLCUを最大限に分割した場合にできるCUに対し、LCU左上からラスタスキャンで復号する順番で0、1、2と増加するような、CUの位置を示すインデックスのことである。LCUを最大限に分割しない場合にもCU毎に、対応する位置からCU座標インデックスを割り振ることができる。最小CUサイズが4×4ブロックである場合には、CU座標インデックスが例えば0、4、8、12である場合の判定を行うと、MinDeltaQuantCodingUnitSize=8、すなわちQP符号化単位領域が8×8とすることができる。
 また、上記では、CUの左上座標のx成分およびy成分が共にQP符号化単位領域のサイズ(MinDeltaQuantCodingUnitSize)の整数倍に一致する場合としているが、x成分とy成分で異なるQP符号化単位領域のサイズを用いても構わない。この場合、CUの左上座標のx成分がQP符号化単位領域の幅MinDeltaQuantCodingUnitWidthの整数倍、かつ、CUの左上座標のy成分がQP符号化単位領域の高さMinDeltaQuantCodingUnitHeightの整数倍のように判定を行う。
 (付記事項)
 上記実施形態では、サイド情報決定部81が図27のcoding unitシンタックスに従って選択対象CUを決定し、サイド情報符号化部82が図27のcoding unitシンタックスに従って選択対象CUのQP差分値を符号化するものとした。対応する動画像復号装置では、サイド情報復号部72が、図27のcoding unitシンタックスに従って、選択対象CUのQP差分値を復号するものとした。しかしながら、本発明はこれに限定されない。すなわち、サイド情報決定部81が図28のcoding unitシンタックスを用いて選択対象CUを決定してもよい。対応する動画像復号装置では、サイド情報復号部72が、図28のcoding unitシンタックスを参照して、選択対象CUのQP差分値を復号してもよい。
 すなわち、図27のcoding unitに代えて、CUの予測モードに応じた分岐処理を行うようなシンタックスを構成するようにしてもよい。具体的には、図28のcoding unitシンタックスのように、CUの予測モードがイントラ予測モードであるときとインター予測モードであるときとマージモードであるときとダイレクトモードであるときとで、サイド情報符号化部82が符号化する、もしくは、サイド情報復号部72が復号のために参照するcu_qp_deltaがシンタックス中の別々の場所に記載されるようになっていてもよい(換言すれば、サイド情報符号化部82がcu_qp_deltaの符号化を行うステップは、CUの予測モードの符号化に続くステップであり、予測モードの種別毎にcu_qp_deltaの符号化の有無を異なるものとしてよい。サイド情報復号部72がcu_qp_deltaを復号するステップは、CUの予測モードの復号に続くステップであり、該予測モード毎のステップであってもよい)。
 なお、図28のcoding unitシンタックスを見るとわかるように、予測モードがスキップモードである場合にはQP差分値を符号化せず、予測モードがイントラ予測モードである場合には、MinIntraDeltaCodingUnitSize以上のサイズを持つCUについてのみQP差分値を符号化し、予測モードがイントラ予測モードでもスキップモードでない場合には、MinDeltaCodingUnitSize以上のサイズを持つCUについてのみQP差分値を符号化するようにしてもよい。
 (付記事項)
 なお、上記実施形態において、量子化の対象となっているCUのQP値(cu_qp)を、直前に参照したQP値(pred_qp)と量子化の対象となっているCUのQP差分値との和によって求めている。ここで、直前に参照したQP値(QP予測値)は、量子化の対象となっているCUの左側に位置するCUのQP値であってもよいし、ラスタスキャン順で量子化の対象となっているCUの直前の位置にあるCUのQP値であってもよい。あるいは、直前に参照したQP値は、量子化の対象となっているCUの左側に位置するCUのQP値と量子化の対象となっているCUの上側に位置するCUのQP値との平均値であってもよい。
 〔実施形態5〕
 (動画像復号装置)
 本実施形態に係る動画像復号装置は、次に説明する動画像符号化装置10から供給される符号化データ#10を復号して復号画像#9を生成する装置である。符号化データ#10に含まれるcoding_unitシンタックスの一例を図31に示す。
 以下では、本実施形態に係る動画像復号装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像復号装置の構成について図29を参照しながら説明する。図29は、動画像復号装置9の構成を示すブロック図である。図29に示すように、動画像復号装置9は、可変長符号逆多重化部91、サイド情報復号部92、CU設定部93、CU復号部94、および、フレームメモリ15を備えている。
 動画像復号装置9に入力された符号化データ#10は可変長符号逆多重化部91へ入力される。可変長符号逆多重化部91は、入力された符号化データ#9を逆多重化することによって、符号化データ#9を、サイド情報に関する符号化データであるサイド情報符号化データ#91aと、ピクチャに関する符号化データである符号化データ#91bとに分離し、サイド情報符号化データ#91aをサイド情報復号部92に、符号化データ#91bをCU設定部93にそれぞれ出力する。
 サイド情報復号部92では、サイド情報符号化データ#91aを復号してサイド情報#92を生成し、サイド情報#92をCU設定部93に出力する。
 サイド情報復号部92では、サイド情報符号化データ#91aを復号する処理において、QP符号化単位領域のサイズを示すサイズ情報の符号化データを復号することにより、サイド情報#92の一部として上記サイズ情報を生成する。
 また、サイド情報復号部92では、サイド情報符号化データ#91aを復号する処理において、各LCUについて、該LCUを構成する各QP符号化単位領域のQP差分値の符号化データ、または、該LCUのQP差分値の符号化データを復号することにより、サイド情報#92の一部としてQP差分値を生成する。
 サイド情報復号部92によるQP差分値の復号処理についてより具体的に説明すれば以下の通りである。
 サイド情報復号部92は、符号化データ#10のスライスヘッダ(ピクチャ・パラメータ・セット)に含まれるサイズ情報(MinDeltaQuantCodingUnitSize)を復号し、QP符号化単位領域の(縦および横の)サイズを決定する。
 また、サイド情報復号部92は、各LCUのdeltaQuantAvailCUフラグを復号する。
 サイド情報復号部92は、該LCUのdeltaQuantAvailCUの値が”false”である場合に、該LCUの量子化に用いるQP差分値の復号をLCU単位で行う(すなわち、該LCUにおいてたかだか1つのQP差分値を復号する)ことを決定する。そして、サイド情報復号部92は、そのQP差分値を、該LCUに含まれる各CUの復号に利用する。
 一方、サイド情報復号部92は、該LCUのdeltaQuantAvailCUの値が”true”である場合に、該LCUの量子化に用いるQP差分値の復号をCU単位で行うことを決定する。そして、サイド情報復号部92は、QP符号化単位領域ごとにたかだか1つ選択される選択対象CUのQP差分値を復号する。
 以下では、サイド情報復号部92が各LCUに対して行う具体的な処理について図31のcoding_unitシンタックスを参照しながら説明する。
 サイド情報復号部92は、LCUを構成する1以上の各CUについて、対象CUに対して以下の処理を行う。
 サイド情報復号部92は、対象CUがLCUの左上端に位置するCUである場合(すなわち、対象CUの左上座標のx成分およびy成分がそれぞれmax_coding_unit_widthおよびmax_coding_unit_heightの整数倍である場合)にdeltaQuantAvailLCUフラグを”true”に設定する。そして、サイド情報復号部92は、対象CUが属するQP符号化単位領域の左上端に対象CUが位置し(すなわち、対象CUの左上座標のx成分およびy成分がMinDeltaQuantCodingUnitSizeの整数倍であり)、尚且つ、deltaQuantAvailCUフラグが”true”である場合にdeltaQuantAvailフラグを”true”に設定する。
 ここで、deltaQuantAvailLCUフラグ、deltaQuantAvailCUフラグ、deltaQuantAvailフラグの意味は以下の通り、deltaQuantAvailLCUフラグは、LCU単位で符号化されるdeltaQuantAvailCUフラグの符号化/復号を制御するためのフラグであり、deltaQuantAvailCU の符号化/復号可能状態を示す。deltaQuantAvailCUフラグは、QP差分値をLCU単位で符号化するか、CU単位で符号化するかを選択するためのフラグであり、LCU単位で符号化する場合に”false”、CU単位で符号化する際に”true”となる。deltaQuantAvailは、CU単位で符号化する場合における、QP符号化単位を制御するためのフラグであり、qp_deltaの符号化/復号可能状態を示す。
 サイド情報復号部92は、さらに対象CUのスキップフラグの値が“0”であってdeltaQuantAvailLCUフラグが”true”である場合に、対象CU(すなわち、選択対象CU)のqp_deltaを復号し、対象CUについてのQP差分値に設定する。また、deltaQuantAvailCUフラグを復号し、尚且つ、deltaQuantAvailLCUフラグを”false”に設定する。なお、図31では、qp_delta の後にdeltaQuantAvailCUフラグが位置するシンタックスとなっているが、qp_delta の前にdeltaQuantAvailCUフラグが位置するシンタックスであっても構わない。
 また、サイド情報復号部92は、対象CUのスキップフラグの値が“0”であってdeltaQuantAvailフラグが”true”である場合にも、対象CU(すなわち、選択対象CU)のqp_deltaを復号し、対象CUについてのQP差分値に設定する。また、deltaQuantAvailフラグを”false”に設定する。
 以上の説明および図31のcoding_unitシンタックスからわかるように、LCUのdeltaQuantAvailCUフラグが”false”である限り、deltaQuantAvailフラグは”true”になり得ない。そのため、LCU内において値が“0”であるようなスキップフラグがラスタスキャン順で最初に参照されるただ1つのCUについてのQP差分値が復号される。したがって、deltaQuantAvailCUフラグが”false”の場合、LCU単位でQP差分値が復号されることになる。
 一方、LCUのdeltaQuantAvailCUフラグが”true”である場合、QP符号化単位領域の左上端に位置する対象CUに図31のcoding_unitシンタックスを適用するたびに、deltaQuantAvailフラグは”true“になる。そのため、QP符号化単位領域ごとにたかだか1つ選択される選択対象CUのQP差分値が復号されることになる。
 また、図31のcoding_unitシンタックスからわかるように、LCUの中で最初に値が“0”であるようなスキップフラグが参照されるCUについてQP差分値の復号を行う際に、当該LCU内でその後に参照するCUについてQP差分値の復号を行うか否かが決定されることになる。
 CU設定部93では、入力されたサイド情報#92に基づいて、符号化データ#91bを複数のスライスに分割し、各スライスを複数のQP符号化単位領域に分割し、各QP符号化単位領域を個々のCUに対応する符号化データ#93bに分離し、CU復号部94に対して順次出力する。
 また、CU設定部93は、各LCUについて、該LCUのdeltaQuantAvailCUフラグを参照する。このdeltaQuantAvailCUフラグは、前述のLCU単位でQP差分値を符号化するかQP符号化領域単位でLCUを符号化するかを示すフラグである。CU設定部93は、該LCUのdeltaQuantAvailCUフラグが“true”である場合に、該LCUに属する各CUのCU情報を参照し、CU情報内にQP差分値が含まれているCUについてはそのQP差分値を、CU復号部94に出力する。
 一方、CU設定部93は、該LCUのdeltaQuantAvailCUフラグが“false”である場合に、該LCUのCU情報内に含まれているQP差分値を、CU復号部94に出力する。
 さらに、CU設定部93は、各LCUのdeltaQuantAvailCUフラグをCU復号部94に出力する。
 CU復号部94は、入力された個々のCU(逆量子化単位領域)に対応する符号化データ#93bを順次復号および逆量子化することにより、個々のCUに対応する復号画像#94を生成し、出力する。また、復号画像#94は、フレームメモリ15に対しても出力される。
 具体的には、CU復号部94は、CUに対応する符号化データ#93bを復号および逆量子化する際には、CUが属するLCUにおけるdeltaQuantAvailCUフラグの値に応じて、該CUが属するQP符号化単位領域または該LCUのQP差分値#93aからQP値を求めて逆量子化処理を行う。
 符号化データ#91bを構成する全てのCUに対して、CU復号部94によるCU単位の復号画像生成処理が終わった時点で、動画像復号装置9に入力された符号化データに対応する復号画像#9の生成処理が完了する。
 以上のように、動画像復号装置は、CUごとにQP差分値の符号化データを復号するのではなく、各LCUについてLCU単位またはLCUを構成するQP符号化単位領域ごとにQP差分値の符号化データを復号するので、従来よりも少ない符号量の符号化データからで復号画像を生成することができる。
 (動画像符号化装置)
 本実施形態に係る動画像符号化装置は、実施形態2に係る動画像符号化装置と同様に、入力画像を構成する各LCUを、JCTVC-C403に記載されているcoding_treeシンタックスを用いて複数のCU(Coding Unit:量子化単位領域)に分割する処理を行う。但し、本実施形態にて説明するシンタックスは、JCTVC-C403に記載されているシンタックスよりも一部簡略化してある(coding_treeシンタックスを用いる他の実施形態についても同様)。
 ただし、本実施形態に係る動画像符号化装置は、実施形態2に係る動画像符号化装置とは異なり、入力画像を構成する各LCUについて、該LCUの量子化に用いるQP差分値の符号化をLCU単位で行うか、該LCUを構成するQP符号化領域単位で行うかを、後述するdeltaQuantAvailCUフラグに基づいて決定するように構成されている。
 以下では、本実施形態に係る動画像符号化装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像符号化装置10の構成について図30を参照しながら説明する。図30は、動画像符号化装置10の構成を示すブロック図である。図30に示すように、動画像符号化装置10は、サイド情報決定部101、サイド情報符号化部102、CU設定部43、CU符号化部44、可変長符号多重化部25、CU復号部46、および、フレームメモリ27を備えている。
 サイド情報決定部101は、入力画像#100に基づいて、サイド情報を決定し、決定したサイド情報をサイド情報#101として出力する。
 具体的には、サイド情報決定部101は、QP符号化単位領域の(縦および横の)サイズを決定し、QP符号化単位領域のサイズを示すサイズ情報(MinDeltaQuantCodingUnitSize)をサイド情報#101のスライスヘッダ(ピクチャ・パラメータ・セット)に格納する。
 また、サイド情報決定部101は、入力画像#100を構成する各LCUについて、所定のアルゴリズムに基づいて定められている、該LCUのdeltaQuantAvailCUフラグを復号する。
 サイド情報決定部101は、該LCUのdeltaQuantAvailCUの値が”false”である場合に、該LCUの量子化に用いるQP差分値の符号化をLCU単位で行う(すなわち、該LCUにおいてたかだか1つのQP差分値を符号化する)ことを決定する。そして、サイド情報決定部101は、そのQP差分値をサイド情報#101を構成するLCUのCU情報内に格納する。
 一方、サイド情報決定部101は、該LCUのdeltaQuantAvailCUの値が”true”である場合に、該LCUの量子化に用いるQP差分値の符号化をCU単位で行うことを決定する。そして、サイド情報決定部101は、QP符号化単位領域ごとにたかだか1つ選択される選択対象CUのQP差分値を、サイド情報#101を構成するその選択対象CUのCU情報内に格納する。
 サイド情報符号化部102は、サイド情報#101を符号化し、サイド情報符号化データ#102を出力する。サイド情報符号化データ#102は、可変長符号多重化部25に供給される。サイド情報符号化部102は、サイド情報#101を符号化する処理において、各QP差分値と、上記サイズ情報とを符号化する。
 なお、CU設定部43、CU符号化部44、CU復号部46、可変長符号多重化部25およびフレームメモリ27については実施形態1または2において説明したので、ここでは説明を省略する。
 以上、動画像符号化装置10の構成について説明したが、以下では、サイド情報決定部101およびサイド情報符号化部102が入力画像#100を構成する各LCUに対して行う具体的な処理について図31のcoding_unitシンタックスを参照しながら説明する。
 サイド情報決定部101は、LCUを構成する1以上の各CUについて、対象CUに対して以下の処理を行う。
 サイド情報決定部101は、対象CUがLCUの左上端に位置するCUである場合(すなわち、対象CUの左上座標のx成分およびy成分がそれぞれmax_coding_unit_widthおよびmax_coding_unit_heightの整数倍である場合)にdeltaQuantAvailLCUフラグを”true”に設定する。そして、サイド情報決定部101は、対象CUが属するQP符号化単位領域の左上端に対象CUが位置し(すなわち、対象CUの左上座標のx成分およびy成分がMinDeltaQuantCodingUnitSizeの整数倍であり)、尚且つ、deltaQuantAvailCUフラグが”true”である場合にdeltaQuantAvailフラグを”true”に設定する。
 さらに、サイド情報決定部101は、対象CUのスキップフラグの値が“0”であってdeltaQuantAvailLCUフラグが”true”である場合に、対象CU(すなわち、選択対象CU)のQP差分値を対象CUのCU情報内に格納するとともに、deltaQuantAvailCUフラグを復号し、尚且つ、deltaQuantAvailLCUフラグを”false”に設定する。
 また、サイド情報決定部101は、対象CUのスキップフラグの値が“0”であってdeltaQuantAvailフラグが”true”である場合にも、対象CU(すなわち、選択対象CU)のQP差分値を対象CUのCU情報内に格納するとともに、deltaQuantAvailフラグを”false”に設定する。
 このようにしてCU情報内に格納されたQP差分値は、LCUのdeltaQuantAvailフラグとともに、サイド情報#101の一部としてサイド情報符号化部102に供給される。
 サイド情報符号化部102は、サイド情報#101を符号化してサイド情報符号化データ#102を可変長符号多重化部25に供給する。
 以上の説明および図31のcoding_unitシンタックスからわかるように、LCUのdeltaQuantAvailCUフラグが”false”である限り、deltaQuantAvailフラグは”true”になり得ない。そのため、LCU内において値が“0”であるようなスキップフラグがラスタスキャン順で最初に参照されるただ1つのCUのCU情報にQP差分値が格納される。したがって、deltaQuantAvailCUフラグが”false”の場合、LCU単位でQP差分値が符号化されることになる。
 一方、LCUのdeltaQuantAvailCUフラグが”true”である場合、QP符号化単位領域の左上端に位置する対象CUに図31のcoding_unitシンタックスを適用するたびに、deltaQuantAvailフラグは”true“になる。そのため、QP符号化単位領域ごとにたかだか1つ選択される選択対象CUのQP差分値が符号化されることになる。
 また、図31のcoding_unitシンタックスからわかるように、LCUの中で最初に値が“0”であるようなスキップフラグが参照されるCUについてQP差分値の符号化を行う際に、当該LCU内でその後に参照するCUについてQP差分値の符号化を行うか否かが決定されることになる。
 以上のようなサイド情報決定部101およびサイド情報符号化部102の処理によって可変長符号多重化部25は、サイド情報符号化部102から、各LCUについてLCU単位またはQP符号化単位領域単位で定まるQP差分値とピクチャ・パラメータ・セット(各スライス)ごとに定まるQP符号化単位領域のサイズ情報とdeltaQuantAvailCUフラグとの符号化データを含むサイド情報符号化データ#102を受け取ることになる。また、可変長符号多重化部25は、CU符号化部44から受け取るCU符号化データ#44とサイド情報符号化データ#102とを多重化することによって符号化データ#10を生成し、出力する。
 〔実施形態6〕
 (動画像復号装置)
 本実施形態に係る動画像復号装置は、次に説明する動画像符号化装置112から供給される符号化データ#112を復号して復号画像#111を生成する装置である。符号化データ#112に含まれるcoding_unitシンタックスの一例を図34に示す。
 以下では、本実施形態に係る動画像復号装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像復号装置の構成について図32を参照しながら説明する。図32は、動画像復号装置111の構成を示すブロック図である。図32に示すように、動画像復号装置111は、可変長符号逆多重化部1111、サイド情報復号部1112、CU設定部1113、CU復号部1114、および、フレームメモリ15を備えている。
 動画像復号装置111に入力された符号化データ#112は可変長符号逆多重化部1111へ入力される。可変長符号逆多重化部1111は、入力された符号化データ#112を逆多重化することによって、符号化データ#112を、サイド情報に関する符号化データであるサイド情報符号化データ#1111aと、ピクチャに関する符号化データである符号化データ#1111bとに分離し、サイド情報符号化データ#1111aをサイド情報復号部1112に、符号化データ#1111bをCU設定部1113にそれぞれ出力する。
 サイド情報復号部1112では、サイド情報符号化データ#1111aを復号してサイド情報#1112を生成し、サイド情報#1112をCU設定部1113に出力する。
 サイド情報復号部1112では、サイド情報符号化データ#1111aを復号する処理において、IスライスQP符号化単位領域、Qスライス符号化単位領域およびPスライス符号化単位領域の各QP符号化単位領域のサイズを示すサイズ情報の符号化データを復号することにより、サイド情報#1112の一部として上記サイズ情報を生成する。
 また、サイド情報復号部1112では、サイド情報符号化データ#1111aを復号する処理において、各LCUについて、該LCUを構成する各対象QP符号化単位領域のQP差分値の符号化データを復号することにより、サイド情報#1112の一部としてQP差分値を生成する。ここで、サイド情報復号部1112は、LCUを構成する各対象QP符号化単位領域が3種類のQP符号化単位領域のうちのいずれに該当するかを、該LCUが属するスライスのスライスヘッダ内のスライスタイプを参照することにより認識する。
 サイド情報復号部1112によるQP差分値の復号処理についてより具体的に説明すれば以下の通りである。
 サイド情報復号部1112は、量子化処理の対象となる各LCUについて、該LCUが属するスライスのスライスタイプに応じて異なるサイズの3つのQP符号化単位領域(Iスライス用QP符号化単位領域、Qスライス用QP符号化単位領域、およびBスライス用QP符号化単位領域)のいずれかのQP符号化単位領域(「対象QP符号化単位領域」とも称する)を規定するようになっている。例えば、サイド情報復号部1112はLCUが属するスライスのスライスタイプがIスライスである場合には、対象QP符号化単位領域としてIスライス用QP符号化単位領域を規定する。
 そして、サイド情報復号部1112は、規定した各対象QP符号化単位領域について、該対象QP符号化単位領域全体を構成する1以上の各CUについて、ラスタスキャン順に該CUのスキップフラグを参照する。サイド情報復号部1112は、各対象QP符号化単位領域について、値が「0」であるスキップフラグが該QP符号化単位領域において初めて参照されるCUについて、図34に示すcu_qp_deltaを復号し、当該CUについてのQP差分値に設定する。
 具体的には、サイド情報復号部1112は、図34に示すcoding_unitシンタックスを用いて各CUに対して順次以下の処理を行う。すなわち、サイド情報復号部1112は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共に対象QP符号化単位領域のサイズ(LCUが属するスライスのスライスタイプがIスライスの場合にはMinIDeltaQuantCodingUnitSize。BスライスおよびPスライスの場合には、それぞれ、MinBDeltaQuantCodingUnitSizeおよびMinPDeltaQuantCodingUnitSize)の整数倍に一致する場合に、復号可能状態を示すフラグ(deltaQuantAvail)の値を”true”に設定する。そして、サイド情報復号部1112は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、スキップフラグを参照したCUについてのcu_qp_deltaを復号し、当該CUについてのQP差分値に設定する。その後、deltaQuantAvailの値を”false”に設定する。
 CU設定部1113では、入力されたサイド情報#1112に基づいて、符号化データ#1111bを複数のスライスに分割し、各スライスを複数の対象QP符号化単位領域に分割し、各対象QP符号化単位領域を個々のCUに対応する符号化データ#1113bに分離し、CU復号部1114に対して順次出力する。
 CU復号部1114は、入力された個々のCU(逆量子化単位領域)に対応する符号化データ#1113bを順次復号および逆量子化することにより、個々のCUに対応する復号画像#1114を生成し、出力する。また、復号画像#1114は、フレームメモリ15に対しても出力される。
 具体的には、CU復号部1114は、CUに対応する符号化データ#1113bを復号および逆量子化する際には、CUが属する対象QP符号化単位領域におけるQP差分値#1113aからQP値を求めて逆量子化処理を行う。
 符号化データ#1111bを構成する全てのCUに対して、CU復号部1114によるCU単位の復号画像生成処理が終わった時点で、動画像復号装置111に入力された符号化データに対応する復号画像#111の生成処理が完了する。
 以上のように、動画像復号装置は、CUごとにQP差分値の符号化データを復号するのではなく、CUが属するスライスのスライスタイプに応じて定まる対象QP符号化単位領域ごとにQP差分値の符号化データを復号するので、従来よりも少ない符号量の符号化データから復号画像を生成することができる。
 (動画像符号化装置)
 本実施形態に係る動画像符号化装置112は、入力画像を構成するスライスにIスライスが多い場合と、Pスライスが多い場合と、Bスライスが多い場合とで、異なる粒度(個数)のQP差分値を符号化するように構成されている。
 以下、本実施形態に係る動画像符号化装置112について図33を参照しながら説明する。図33は、動画像符号化装置112の構成を示すブロック図である。図33に示すように、動画像符号化装置112は、サイド情報決定部1121、サイド情報符号化部1122、CU設定部43、CU符号化部44、可変長符号多重化部25、CU復号部46、および、フレームメモリ27を備えている。
 CU設定部43、CU符号化部44、可変長符号多重化部25、CU復号部46、および、フレームメモリ27については、実施形態1または2において説明したので、以下では、サイド情報決定部1121およびサイド情報符号化部1122について説明する。
 サイド情報決定部1121は、量子化処理の対象となる各LCUについて、該LCUが属するスライスのスライスタイプに応じて異なるサイズの3つのQP符号化単位領域(Iスライス用QP符号化単位領域、Qスライス用QP符号化単位領域、およびBスライス用QP符号化単位領域)のいずれかのQP符号化単位領域(「対象QP符号化単位領域」とも称する)を規定するようになっている。例えば、サイド情報決定部1121は、LCUが属するスライスのスライスタイプがIスライスである場合には、対象QP符号化単位領域としてIスライス用QP符号化単位領域を規定する。
 そして、サイド情報決定部1121は、規定した各対象QP符号化単位領域について、該対象QP符号化単位領域全体を構成する1以上の各CUについて、ラスタスキャン順に該CUのスキップフラグを参照する。サイド情報決定部1121は、各対象QP符号化単位領域について、値が「0」であるスキップフラグが該QP符号化単位領域において初めて参照されるCUのQP値を算出し、直前に参照したQP値(またはデフォルトQP値)とのQP差分値をサイド情報の一部としてサイド情報符号化部1122に出力する。
 具体的には、サイド情報決定部1121およびサイド情報符号化部1122は、図34に示すcoding_unitシンタックスを用いて各CUに対して順次以下の処理を行う。すなわち、サイド情報決定部1121は、スキップフラグ(skip_flag)を参照するCUの左上座標のx成分およびy成分が共に対象QP符号化単位領域のサイズ(LCUが属するスライスのスライスタイプがIスライスの場合にはMinIDeltaQuantCodingUnitSize。BスライスおよびPスライスの場合には、それぞれ、MinBDeltaQuantCodingUnitSizeおよびMinPDeltaQuantCodingUnitSize)の整数倍に一致する場合に、符号化可能状態を示すフラグ(deltaQuantAvail)の値を”true”に設定する。そして、サイド情報決定部1121は、deltaQuantAvailの値が”true”である状態で値が「0」のスキップフラグを参照すると、スキップフラグを参照したCUのQP差分値をサイド情報#41の一部としてサイド情報符号化部1122に供給する。サイド情報符号化部1122は、QP差分値の符号化処理を実行してdeltaQuantAvailの値を”false”に設定する。
 以上のようなサイド情報決定部1121およびサイド情報符号化部1122の処理によって、可変長符号多重化部25は、サイド情報符号化部1122から、3種類のQP符号化単位領域のサイズ情報と各対象QP符号化単位領域のQP差分値との符号化データを含むサイド情報符号化データ#1122を受け取ることになる。また、可変長符号多重化部25は、CU符号化部44から受け取るCU符号化データ#44とサイド情報符号化データ#1122とを多重化することによって符号化データ#112を生成し、出力する。
 (付記事項)
 なお、本実施形態に係る動画像符号化装置112は、入力画像を構成するスライスにIスライスが多い場合と、Pスライスが多い場合と、Bスライスが多い場合とで、異なる粒度(個数)のQP差分値を符号化するように構成されているが、本発明はこれに限定されない。すなわち、動画像符号化装置は、Pスライスが多い場合とBスライスが多い場合とで符号化するQP差分値を符号化する粒度(個数)が同程度になるように構成してもよい。すなわち、MinIDeltaQuantCodingUnitSizeとMinBDeltaQuantCodingUnitSizeとMinPDeltaQuantCodingUnitSizeとの各値を、次式が成立するような値に設定してもよい。
Figure JPOXMLDOC01-appb-M000003
 また、MinIDeltaQuantCodingUnitSize、MinBDeltaQuantCodingUnitSize、MinPDeltaQuantCodingUnitSizeは、ピクチャ・パラメータ・セットもしくは、シーケンス・パラメータ・セット、もしくは、スライスヘッダなどで符号化データ中に符号化する構成としても構わない。
 〔実施形態7〕
 (動画像復号装置)
 本実施形態に係る動画像復号装置は、その次に説明する動画像符号化装置114から供給される符号化データ#114を復号して復号画像#113を生成する装置である。
 以下では、本実施形態に係る動画像復号装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像復号装置の構成について図35を参照しながら説明する。図35は、動画像復号装置113の構成を示すブロック図である。図35に示すように、動画像復号装置113は、可変長符号逆多重化部1131、サイド情報復号部1132、CU設定部1133、CU復号部1134、および、フレームメモリ15を備えている。
 動画像復号装置113に入力された符号化データ#114は可変長符号逆多重化部1131へ入力される。可変長符号逆多重化部1131は、入力された符号化データ#114を逆多重化することによって、符号化データ#114を、サイド情報に関する符号化データであるサイド情報符号化データ#1131aと、ピクチャに関する符号化データである符号化データ#1131bとに分離し、サイド情報符号化データ#1131aをサイド情報復号部1132に、符号化データ#1131bをCU設定部1133にそれぞれ出力する。
 サイド情報復号部1132では、サイド情報符号化データ#1131aを復号してサイド情報#1132を生成し、サイド情報#1132をCU設定部1133に出力する。
 サイド情報復号部1132では、サイド情報符号化データ#1131aを復号する処理において、QP符号化単位領域のサイズを示すサイズ情報の符号化データを復号することにより、サイド情報#1132の一部として上記サイズ情報を生成する。
 また、サイド情報復号部1132では、サイド情報符号化データ#1131aを復号する処理において、各スライスヘッダの変換規則インデックスの符号化データを復号することにより、サイド情報#1132の一部として上記変換規則インデックスを生成する。ここで、変換規則インデックスとは、実施形態1において説明した各変換規則を識別するインデックスのことである。
 さらに、サイド情報復号部1132では、サイド情報符号化データ#1131aを復号する処理において、各QP符号化単位領域のインデックス(qp_delta_index)の符号化データを復号することにより、サイド情報#1132の一部として上記インデックスを生成する。
 CU設定部1133では、入力されたサイド情報#1132に基づいて、符号化データ#1131bを複数のスライスに分割し、各スライスを複数のQP符号化単位領域に分割し、各QP符号化単位領域を個々のCUに対応する符号化データ#1133bに分離し、CU復号部34に対して順次出力する。また、CU設定部1133は、各QP符号化単位領域について、サイド情報#1132に含まれている変換規則インデックスから特定される変換規則を用いて、同じくサイド情報#1132に含まれている該QP符号化単位領域のインデックスから、CU復号部1134に対して出力すべきQP差分値を算出する。そして、CU設定部1133は、該QP符号化単位領域の個々のCUに対応する符号化データ#1133bに加えて、変換規則を用いて算出したQP差分値#1133aをCU復号部1134に対して出力する。
 CU復号部1134は、入力された個々のCU(逆量子化単位領域)に対応する符号化データ#1133bを順次復号および逆量子化することにより、個々のCUに対応する復号画像#1134を生成し、出力する。また、復号画像#1134は、フレームメモリ15に対しても出力される。
 具体的には、CU復号部1134は、CUに対応する符号化データ#1133bを復号および逆量子化する際には、該CUが属するQP符号化単位領域のQP差分値#1133aからQP値を求めて逆量子化処理を行う。
 符号化データ#1131bを構成する全てのCUに対して、CU復号部1134によるCU単位の復号画像生成処理が終わった時点で、動画像復号装置113に入力された符号化データに対応する復号画像#113の生成処理が完了する。
 以上のように、動画像復号装置は、QP符号化単位領域ごとにQP差分値の符号化データを復号するのではなく、QP差分値よりも値が小さい(または図8(d)のようにQP差分値よりも小さいことが多い)インデックスの符号化データを復号する。したがって、変換規則インデックスの符号化による符号量の増分があっても、QP差分値を生成するために受信する符号化データの符号量は全体としてより少なくなる。そのため、動画像復号装置は、より少ないデータ量の符号化データからQP差分値を生成することができる。
 (動画像符号化装置)
 本実施形態に係る動画像符号化装置は、実施形態2に係る動画像符号化装置と同様に、入力画像を構成する各LCUを、JCTVC-C403に記載されているcoding_treeシンタックスを用いて複数のCU(Coding Unit:量子化単位領域)に分割する処理を行う。
 また、本実施形態に係る動画像符号化装置は、QP符号化単位領域のサイズを示すサイズ情報を符号化するように構成されている。
 一方、本実施形態に係る動画像符号化装置は、実施形態2に係る動画像符号化装置とは異なり、QP符号化単位領域ごとに、該QP符号化単位領域に属するたかだか1つのCUに関するQP差分値に代えて、実施形態1において説明した該QP差分値を指し示すインデックスを符号化するように構成されている。また、実施形態1と同様に、本実施形態に係る動画像符号化装置は、実施形態1において説明したQP差分値とインデックスとの関係を表した変換規則の変換規則インデックスを符号化するように構成されている。
 以下では、本実施形態に係る動画像符号化装置について図面を参照しながら詳細に説明する。
 最初に、本実施形態に係る動画像符号化装置114の構成について図36を参照しながら説明する。図36は、動画像符号化装置114の構成を示すブロック図である。図36に示すように、動画像符号化装置114は、サイド情報決定部1141、サイド情報符号化部1142、CU設定部43、CU符号化部44、可変長符号多重化部25、CU復号部46、および、フレームメモリ27を備えている。
 サイド情報決定部1141は、入力画像#100に基づいて、サイド情報を決定し、決定したサイド情報をサイド情報#1141として出力する。サイド情報#1141は、入力画像#100に関するパラメータの集合であるピクチャ・パラメータ・セット、入力画像#100に含まれるスライス毎のヘッダ情報であるスライスヘッダ、スライスに含まれるCU毎のパラメータの集合であるCU情報、CUに含まれるTU毎のパラメータの集合であるTU情報等から構成される。
 具体的には、サイド情報決定部1141は、スライス(またはピクチャ)ごとに所定のアルゴリズムに基づいてQP符号化単位領域の(縦および横の)サイズを決定し、QP符号化単位領域のサイズを示すサイズ情報をサイド情報#1141のスライスヘッダ(ピクチャ・パラメータ・セット)に格納する。
 また、サイド情報決定部1141は、スライス毎に、該スライスに含まれるCUに割り当て可能なQP値に制限を課すためのQP差分値の集合を決定する。すなわち、スライスに含まれるCUに割り当て可能なQP値は、同じスライスに含まれる直前のCUに割り当てたQP値とのQP差分値が上記QP差分値の集合に含まれるように制限される。
 さらに、サイド情報決定部1141は、スライス毎に、該スライスに関する変換規則を定め、対応するスライスヘッダ内に該変換規則を識別する変換規則インデックスを含めるようになっている。
 そして、サイド情報決定部1141は、ピクチャ・パラメータ・セット(またはスライスヘッダ)内のQP符号化単位領域のサイズ情報に基づいて、入力画像#100(または各スライス)を構成するQP符号化単位領域を規定する。さらに、サイド情報決定部1141は、QP符号化単位領域ごとにたかだか1つ選択したCU(選択対象CU)について、QP差分値テーブルを参照することによりQP差分値(qp_delta)をインデックス(qp_delta_index)に変換する。そして、サイド情報決定部1141は、選択対象CUのCU情報にインデックスを格納したサイド情報#1141をサイド情報符号化部1142に出力するとともに、QP差分値をCU設定部43に出力する。
 サイド情報符号化部1142は、サイド情報#1141を符号化し、サイド情報符号化データ#1142を出力する。サイド情報符号化データ#1142は、可変長符号多重化部25に供給される。サイド情報符号化部1142は、サイド情報#1141を符号化する処理において、各QP符号化単位領域のインデックスと、上記サイズ情報と、変換規則インデックスとを符号化する。より具体的には、サイド情報符号化部1142は、各QP符号化単位領域のインデックスを、インデックスの絶対値の大きさに応じた長さの2値列に符号化する。
 なお、CU設定部43、CU符号化部44、CU復号部46、可変長符号多重化部25およびフレームメモリ27については実施形態1または2において説明したので、ここでは説明を省略する。
 (動画像復号装置113および動画像符号化装置114の変形例1)
 動画像符号化装置114のサイド情報決定部1141は、スライス毎に変換規則を定めるものとしたが、サイド情報決定部1141は、各スライスについて、所定の複数種類の変換規則の中からいずれか1つの変換規則を選択するものとしてもよい。
 例えば、サイド情報決定部1141は、qp_delta=qp_delta_indexで表される変換規則と、qp_delta=qp_delta_index *2で表される変換規則(等価なQP差分値テーブルが図8(b)で表されるような変換規則)と、等価なQP差分値テーブルが図8(c)で表されるような変換規則と、の中からいずれかの変換規則を選択し、変換規則テーブルを参照して、該変換規則を示す変換規則インデックスをサイド情報#1141のスライスヘッダ内に格納してもよい。ここで、変換規則テーブルは、変換規則と変換規則インデックスとが関連づけられたテーブルであり、動画像符号化装置114と動画像復号装置113とは、共通の変換規則テーブルをそれぞれの記憶部(図示せず)に備えている。変換規則テーブルは、例えば、qp_delta=qp_delta_indexで表される変換規則を識別する変換規則インデックスを0とし、qp_delta=qp_delta_index *2で表される変換規則を識別する変換規則インデックスを1とし、等価なQP差分値テーブルが図8(c)で表されるような変換規則を識別する変換規則インデックスを2とするようなテーブルが挙げられる。
 また、サイド情報決定部1141は、各スライスについて、所定の複数種類のQP差分値テーブルの中からいずれか1つのQP差分値テーブルを選択するものとしてもよい。
 例えば、サイド情報決定部1141は、qp_deltaとqp_delta_indexとが同値となるようなQP差分値テーブルおよび図8(a)のようなQP差分値テーブルのどちらかのQP差分値テーブルを選択して、テーブル選択用情報を参照して、該QP差分値テーブルを示す粗さ指定フラグをサイド情報#1141のスライスヘッダ内に格納してもよい。ここで、テーブル選択用情報は、QP差分値テーブルと粗さ指定フラグとが関連づけられたテーブルであり、動画像符号化装置114と動画像復号装置113とは、共通のテーブル選択用情報をそれぞれの記憶部(図示せず)に備えている。
 また、動画像符号化装置114と動画像復号装置113は、前者のQP差分値テーブルを示す2値フラグである粗さ指定フラグ「0」と規定し、後者のQP差分値テーブルを示す粗さ指定フラグ「1」と規定してもよい。
 上記2つの例の場合、動画像復号装置113では、サイド情報復号部1132が、サイド情報符号化データ#1131aを復号する処理において、各スライスヘッダの変換規則インデックス(粗さ指定フラグ)の符号化データを復号することにより、サイド情報#1132の一部として上記変換規則インデックス(粗さ指定フラグ)を生成する。
 CU設定部1133は、記憶部(図示せず)に格納されている変換規則テーブルを参照して、サイド情報#1132のスライスヘッダに含まれている変換規則インデックス(粗さ指定フラグ)から、同じく記憶部に格納されている、変換規則を表す演算アルゴリズム情報(QP差分値テーブル)を特定する。そして、CU設定部1133は、各QP符号化単位領域について、サイド情報#1132に含まれている該QP符号化単位領域内の選択対象CUのインデックスを、特定された演算情報(QP差分値テーブル)に基づいてCU復号部1134に対して出力すべきQP差分値に変換することになる。
 なお、上記複数種類のQP差分値テーブルは、予測モードに応じて定まるようなQP差分値テーブルとなっていてもよい。例えば、上記複数種類のQP差分値テーブルは、イントラ予測モード用のQP差分値テーブルと、その他の予測モード用のQP差分値テーブルとからなる2種類のQP差分値テーブルであってもよい。そして、イントラ予測モード用のQP差分値テーブルがqp_deltaとqp_delta_indexとが同値となるようなQP差分値テーブルであり、その他の予測モード用のQP差分値テーブルが図8(b)のようなQP差分値テーブルとなっていてもよい。
 この場合、サイド情報決定部1141は、図示しない予測画像生成部から受け取った選択対象CUの予測モードがイントラ予測モードである場合には、前者のQP差分値テーブルを参照して選択対象CUのQP差分値をインデックスに変換する。一方、サイド情報決定部1141は、図示しない予測画像生成部から受け取った選択対象CUの予測モードがインター予測モード等の他の予測モードである場合には、後者のQP差分値テーブルを参照して選択対象CUのQP差分値をインデックスに変換する。
 また、上記複数種類のQP差分値テーブルは、スライスタイプに応じて定まるようなQP差分値テーブルとなっていてもよい。例えば、上記複数種類のQP差分値テーブルは、IスライスおよびBスライス用のQP差分値テーブルと、Pスライス用のQP差分値テーブルとからなる2種類のQP差分値テーブルであってもよい。
 例えば、サイド情報決定部1141は、IスライスおよびBスライスについては、実施形態1に記載されているような方法でfactorが1となるようなQP差分値の集合を決定し、QP差分値の集合からIスライスおよびBスライス用のQP差分値テーブルを生成してもよい。同様に、サイド情報決定部1141は、Pスライスについては、実施形態1に記載されているような方法でfactorが2となるようなQP差分値の集合を決定し、QP差分値の集合からPスライス用のQP差分値テーブルを生成してもよい。
 この場合、選択対象CUが属するスライスのスライスタイプがIスライスまたはBスライスである場合には前者のQP差分値テーブルを参照して選択対象CUのQP差分値をインデックスに変換する。一方、選択対象CUが属するスライスのスライスタイプがPスライスである場合には後者のQP差分値テーブルを参照して選択対象CUのQP差分値をインデックスに変換する。
 なお、上記複数種類の演算規則についても、上記複数種類のQP差分値テーブルと同様のことがあてはまる。
 (動画像復号装置113および動画像符号化装置114の変形例2)
 実施形態5では、入力画像#100を構成する各LCUについて、LCU単位でQP差分値を符号化するかLCUを構成するQP符号化領域単位でQP差分値を符号化するかを、deltaQuantAvailCUフラグの真偽に応じて決定する動画像符号化装置について説明した。
 動画像符号化装置114は、実施形態6に係る動画像符号化装置と同様に、LCU単位でインデックス(qp_delta_index)を符号化するかLCUを構成するQP符号化単位領域でインデックスを符号化するかを、deltaQuantAvailCUフラグの真偽に応じて決定してもよい。
 さらに、動画像符号化装置114のサイド情報決定部1141は、各選択対象CUについて、スライス(LCUまたはCU)ごとに定めた複数種類の変換規則からいずれか1つの変換規則を選択し、選択した変換規則を用いてQP差分値をインデックスに変換してもよい。この場合、サイド情報決定部1141は、選択対象CUのインデックスとともに選択した変換規則の変換規則インデックスを選択対象CUのCU情報に格納する。
 なお、サイド情報決定部1141は、上記複数種類の変換規則がスライスまたはLCUごとに定められている場合には、各LCUについて1つの変換規則を選択し、選択した変換規則を示す変換規則インデックスをLCUのCU情報に含めてもよい。同様に、サイド情報決定部1141は、上記複数種類の変換規則がスライスごとに定められている場合には、各スライスについて1つの変換規則を選択し、選択した変換規則を示す変換規則インデックスをスライスヘッダに含めてもよい。
 例えば、サイド情報決定部1141は、qp_deltaとqp_delta_indexとが同値となるような変換規則と等価なQP差分値テーブルが図8(b)で表されるような変換規則とのどちらの変換規則を使用するかをスライス毎に選択するものとしてもよい。
 この場合、サイド情報決定部1141は、LCU単位でインデックス(qp_delta_index)を決定する場合には選択対象CUのQP差分値から前者の変換規則を用いてサイド情報#1141に格納すべきインデックスを算出し、QP符号化単位領域単位でインデックス(qp_delta_index)を決定する場合には選択対象CUのQP差分値から後者の変換規則を用いてサイド情報#1141に格納すべきインデックスを算出してもよい。
 また、動画像符号化装置114は、入力画像#100を構成する各スライスについて、スライス単位でインデックスを符号化するかスライスを構成するLCU(またはQP符号化単位領域)単位でインデックスを符号化するかを、決定してもよい。
 この場合、サイド情報決定部1141は、スライス単位でインデックスを決定する場合には選択対象CUのQP差分値から前者の変換規則を用いてサイド情報#1141に格納すべきインデックスを算出し、LCU(またはQP符号化単位領域)単位でインデックスを決定する場合には選択対象CUのQP差分値から後者の変換規則を用いてサイド情報#1141に格納すべきインデックスを算出してもよい。
 この場合、動画像復号装置113のCU設定部1133は、各LCUについて、サイド情報#1132内の該LCUのCU情報に含まれているdeltaQuantAvailCUを参照する。CU設定部1133は、該LCUのdeltaQuantAvailCUフラグが“true”である場合に、該LCUに属する各CUのCU情報を参照し、CU情報内にインデックスが含まれているCUについてはそのインデックスから、スライスヘッダ内に含まれている変換規則インデックスが表す変換規則を用いてQP差分値1133aを算出する。一方、該LCUのdeltaQuantAvailCUフラグが“false”である場合に、該LCUのCU情報を参照し、CU情報内に含まれているインデックスを、スライスヘッダ内に含まれている変換規則インデックスが示す変換規則を用いてQP差分値1133aに変換する。
 そして、CU設定部1133は、QP差分値1133aをCU復号部1134に出力する。その他は、変形例1に係る動画像復号装置113と同様の動作を行う。
 なお、上記実施形態1における、マクロブロックは、H.264/MPEG-4 AVCの後継規格として提案されているHEVC(High Efficiency Video Coding)のLCU(最大コーディングユニット:Largest Coding Unit、コーディングツリー(Coding Tree)のrootと呼ばれることもある)に相当し、サブマクロブロックおよびブロックは、HEVCのCU(コーディングユニット:Coding Unit、コーディングツリーのleafと呼ばれることもある)、PU(Prediction Unit)、又はTU(transformation Unit)に相当するものである。
 最後に、シンタックスが示された各図において用いられている変数の説明を以下に示しておく。
Figure JPOXMLDOC01-appb-T000004
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 以上のように、本発明に係る符号化装置は、上記n個の差分値と、上記n個の整数と、の1対1の対応関係を示す情報を生成する情報生成手段をさらに備え、上記情報生成手段が生成した上記情報を符号化データとして上記2値列とともに外部に出力することが望ましい。
 上記の構成によれば、上記符号化装置は、上記2値列と上記対応関係を示す情報とが入力された場合に上記差分値を復号可能な復号装置に上記差分値の復号を行わせることができ、また、上記n個の差分値と上記n個の整数との1対1の対応関係を符号化すべき入力画像に応じて適宜変更することができるというさらなる効果を奏する。
 本発明に係る符号化装置では、上記n個の差分値は上記n個の整数にそれぞれ所定の値を乗算することにより得られる値となっており、上記情報は上記所定の値そのものであることが望ましい。
 上記の構成によれば、上記n個の差分値と、上記n個の整数と、の1対1の対応関係を示す情報が、1個の所定の値で表わされるので、外部に符号化データとして出力する上記情報の符号量を削減することができるというさらなる効果を奏する。
 本発明に係る符号化装置では、上記変換手段は、上記n個の差分値のうち絶対値がi番目に小さい差分値を、上記n個の整数のうち絶対値がi番目に小さい整数に変換するように構成されており、該整数の絶対値は、該差分値の絶対値よりも小さいことが好ましい。
 上記の構成によれば、本発明に係る符号化装置は、単位領域に関する差分値をn個の差分値の中からどのように決定したとしても、差分値を絶対値がより小さい整数に変換する。
 したがって、本発明に係る符号化装置は、復号装置に供給する量子化パラメータの符号量を確実に削減することができるというさらなる効果を奏する。
 本発明に係る符号化装置は、上記n個の差分値の各々について、上記変換手段が変換する各単位領域の差から構成されるグループに占める該差分値の割合を算出する算出手段をさらに備え、上記変換手段は、変換の対象となる差分値が上記算出手段が算出した上記割合が大きい差分値であるほど変換により得られる整数の絶対値が小さくなるように構成されていることが望ましい。
 上記の構成によれば、本発明に係る符号化装置は、上記変換手段が変換する各単位領域の差から構成されるグループに占める割合が大きい差分値ほど、絶対値が小さい整数に変換する(すなわち、整数から生成される2値列の長さも短くなる)。
 したがって、本発明に係る符号化装置は、復号装置に供給する量子化パラメータの符号量をより効率的に削減することができるというさらなる効果を奏する。
 本発明に係る符号化装置では、上記入力画像は複数の第2単位領域から構成され、且つ、各第2単位領域は複数の上記単位領域から構成されており、上記設定手段が、各第2単位領域について予め定めた特定の単位領域の量子化パラメータを設定する場合には、該単位領域と、該単位領域より符号化順序が若い単位領域と、からなる対における量子化パラメータの差は、上記n個の差分値以外の値をとり得るようになっており、上記2値列生成手段は、該対における量子化パラメータの差から、差の絶対値の大きさに応じた長さの2値列を生成することが望ましい。
 一般に、画像特性が互いに類似している(すなわち、量子化パラメータを近い値にすることが適切な)各単位領域から構成される領域が第2単位領域(例えば、拡大マクロブロック)として設定された場合、第2単位領域内の特定の単位領域(例えば、拡大マクロブロック内の左上隅のマクロブロック)を除く残りの単位領域の各々については、該単位領域の量子化パラメータを、該単位領域と該単位領域より符号化順序が若い単位領域と、からなる対における量子化パラメータの差が十分小さくなるように設定すれば、適切に量子化を行うことが可能である。
 したがって、本発明に係る符号化装置は、上記残りの単位領域の各々の量子化パラメータを設定する場合における、該単位領域と該単位領域より符号化順序が若い単位領域と、からなる対における量子化パラメータの差の候補の数nを十分に小さくしても適切に量子化することができる。これにより、本発明に係る符号化装置は、n個の整数と、量子化パラメータに関するn個の差分値と、が1対1に対応付けられている情報を保持する記憶領域を節約することができるというさらなる効果を奏する。
 本発明に係る復号装置では、上記符号化データには、n個の整数と、量子化パラメータに関するn個の差分値と、を1対1に対応付ける情報が含まれており、上記抽出手段が、上記符号化データから上記情報を抽出することが望ましい。
 上記の構成によれば、本発明に係る復号装置は、上記符号化データから上記情報を抽出することができるので、本発明に係る符号化装置から供給された量子化パラメータに基づいて逆量子化するために自装置に予め上記情報を保持していなくてもよいというさらなる効果を奏する。
 本発明に係る復号装置では、上記抽出手段が上記符号化データから抽出する上記情報は所定の値であり、上記特定手段は、上記整数生成手段が生成した整数値に上記抽出手段が抽出した上記所定の値を乗算することにより、上記差分値を特定することが望ましい。
 上記の構成によれば、上記符号化データに含まれる上記情報は所定の値であるため、本発明に係る復号装置は、上記差分値を特定するために上記情報を保持する記憶領域を節約することができるというさらなる効果を奏する。
 本発明に係る復号装置では、上記復号画像は複数の第2単位領域から構成され、且つ、各第2単位領域は複数の上記単位領域から構成されており、上記特定手段は、上記復号画像全体を構成する複数の単位領域のうち各第2単位領域について予め定めた特定の単位領域を除く残りの単位領域の各々について、該単位領域に関する整数値から該単位領域に関する差分値を上記情報に基づいて特定するようになっており、上記特定手段は、上記特定の単位領域については、上記整数生成手段が生成した整数値そのものを差分値として特定することが望ましい。
 上記の構成によれば、本発明に係る復号装置は、上記残りの単位領域の各々について、該単位領域に関する整数値から該単位領域に関する差分値を、n個の整数と、量子化パラメータに関するn個の差分値と、が1対1に対応付けられている情報に基づいて特定する。ここで、符号化データを供給する符号化装置側において、画像特性が互いに類似している(すなわち、量子化パラメータを近い値にすることが適切な)各単位領域から構成される領域が第2単位領域(例えば、拡大マクロブロック)として設定し、かつ、上記残りの単位領域について決定する差分値の候補の数nを小さくしておけば、本発明に係る復号装置は、上記情報を保持するための記憶領域を節約することができるというさらなる効果を奏する。
 なお、上記n個の差分値と、上記n個の整数と、の1対1の対応関係を示す情報を含む符号化データも本発明の範疇に含まれる。
 なお、本発明に係る符号化装置は、上記第3単位領域を符号化単位(CU:Coding Unit)とするか、または、変換単位(TU:Transformation Unit)とすることができる。
 また、本発明に係る符号化装置は、上記第3単位領域がCUであり、上記単位領域がLCUであり、上記複数のLCUの各々について、該LCU内の画像に対して上記算出手段が算出した上記量子化パラメータの値に応じた量子化を行うか、該LCUを構成する各CUについて、該CU内の画像に対して該CUの量子化パラメータの値に応じた量子化を行うか、を所定の基準に基づいて決定する第2決定手段をさらに備えることができる。
 本発明に係る符号化装置は、上記の各構成によっても、量子化パラメータの符号量を従来に比べてより削減することが可能であるという効果を奏する。
 本発明に係る符号化装置は、上記第3単位領域はCUであって、上記単位領域を構成する複数の第4単位領域の各々について、上記選択手段が該第4単位領域内で最初に選択するCUの予測モードがイントラ予測モードであるかを否かを判定する判定手段をさらに備え、上記算出手段は、上記予測モードがイントラ予測モードであると判定された第4単位領域内の量子化の対象となる各CUの画像に対して量子化を行うために参照する上記量子化パラメータの値を、該第4単位領域が属する単位領域について上記決定手段が決定した上記量子化パラメータの差分値に代えて、該第4単位領域内で最初に選択されたCUの量子化パラメータの差分値から算出することが望ましい。
 上記の構成によれば、本発明に係る符号化装置は、各第4単位領域について該第4単位領域内で最初に選択されるCUの予測モードがイントラ予測モードである場合に、該第4単位領域と該第4単位領域が属する単位領域内の他の第4単位領域とで量子化パラメータの差分値が異なるような量子化パラメータを用いて、該第4単位領域内の画像に対して量子化を行うことができる。
 換言すれば、本発明に係る符号化装置は、入力画像内に予測モードがイントラ予測モードとなるようなCUが多く含まれる場合には、入力画像内に予測モードがインター予測モードとなるようなCUが多く含まれる場合に比べて、復号装置に出力する量子化パラメータの差分値の個数が相対的に多くなる。
 なお、入力画像内に予測モードがイントラ予測モードとなるようなCUが多く含まれる場合、入力画像内に予測モードがインター予測モードとなるようなCUが多く含まれる場合に比べ、量子化の精度を上げることによって符号化データの符号量は大きく削減されることがわかっている。
 したがって、本発明に係る符号化装置は、入力画像内に占める予測モードがイントラ予測モードとなるようなCUと予測モードがインター予測モードとなるようなCUとの比率に応じて、符号化データの符号量を適切に削減することができるというさらなる効果を奏する。
 本発明に係る符号化装置は、上記入力画像を構成する複数のスライスの各々について該スライスのスライスタイプを判定する判定手段と、記複数のスライスの各々について、該スライスを構成する各単位領域のサイズを、上記判定手段が判定したスライスタイプに応じたサイズに設定する単位領域設定手段と、をさらに備えていることが望ましい。
 上記の構成によれば、本発明に係る符号化装置は、上記量子化パラメータの差分値が同一となるような各量子化パラメータを用いて量子化を行うべき単位領域のサイズを、その単位領域が属するスライスのスライスタイプに応じて適切に設定することにより、符号化データの符号量をより削減することができるというさらなる効果を奏する。
 本発明に係る符号化装置は、n組(n:任意の整数)の上記量子化パラメータの差分値と整数とが1対1の対応関係になるような変換規則に従って、上記決定手段が各単位領域について決定した上記差分値を対応する整数に変換する変換手段と、上記変換手段による変換により得られた上記整数の絶対値の大きさに応じた長さの2値列を生成する2値列生成手段と、をさらに備え、n個の上記整数はn個の上記差分値よりも絶対値の総和が小さいことが望ましい。
 上記の構成によれば、本発明に係る符号化装置は、量子化パラメータの各差分値について該差分値から変換された整数の絶対値を2値列に変換する。ここで、n個の上記整数はn個の上記差分値よりも絶対値の総和が小さいので、上記変換後の2値列の長さの総和は、統計的には、量子化パラメータの各差分値について該差分値の絶対値を2値列に変換した場合における変換後の2値列の長さの総和よりも小さくなることが多いと言える。
 したがって、本発明に係る符号化装置は、量子化パラメータの差分値の符号量をより削減することができるというさらなる効果を奏する。
 また、本発明に係る復号装置は、上記第3単位領域を符号化単位(CU:Coding Unit)とするか、または、変換単位(TU:Transformation Unit)とすることができる。
 また、本発明に係る復号装置は、上記第3単位領域はCUであり、上記単位領域はLCUであり、上記複数のLCUの各々について、該LCU内の量子化画像に対して上記特定手段が特定した上記量子化パラメータの値に応じた逆量子化を行うか、該LCUを構成する各CUについて、該CU内の量子化画像に対して該CUの量子化パラメータの値に応じた逆量子化を行うか、を所定の基準に基づいて決定することができる。
 上記の各構成によっても、本発明に係る復号装置は、逆量子化を行うために用いるべき量子化パラメータをより少ない負荷で特定することができる。
 本発明に係る復号装置は、上記第3単位領域はCUであって、上記単位領域を構成する複数の第4単位領域の各々について、上記選択手段が該第4単位領域内で最初に選択するCUの予測モードがイントラ予測モードであるかを否かを判定する判定手段をさらに備え、上記特定手段は、上記予測モードがイントラ予測モードであると判定された第4単位領域内の逆量子化の対象となる各CUの量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、該第4単位領域が属する単位領域について上記読出手段が読み出した上記量子化パラメータの差分値に代えて、該第4単位領域内で最初に選択されたCUの量子化パラメータの差分値から特定することが望ましい。
 上記の構成によれば、本発明に係る符号化装置は、各CUの予測モードがイントラ予測モードであるか否かを判定する判定手段を備えた本発明に係る符号化装置から送信されるより小さい符号量の符号化データを復号して、復号画像を生成することができるというさらなる効果を奏する。
 本発明に係る復号装置は、上記復号画像を構成する複数のスライスの各々について該スライスのスライスタイプを判定する判定手段と、上記複数のスライスの各々について、該スライスを構成する各単位領域のサイズを、上記判定手段が判定したスライスタイプに応じたサイズに設定する単位領域設定手段と、をさらに備えていることが望ましい。
 上記の構成によれば、本発明に係る復号装置は、同様の判定手段を備えた本発明に係る符号化装置から送信された符号化データを復号して、復号画像を生成することができるというさらなる効果を奏する。
 本発明に係る復号装置は、上記読出手段が、量子化パラメータの差分値に代えて、該差分値に対応する整数を上記符号化データから読み出すように構成されている読出手段であり、n組(n:任意の整数)の上記量子化パラメータの差分値と整数とが1対1の対応関係になるような変換規則に従って、上記読出手段が各単位領域について読み出した上記整数を、対応する上記差分値に変換する変換手段をさらに備え、上記特定手段が、各単位領域について、該単位領域に含まれる逆量子化の対象となる各第3単位領域内の量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、上記読出手段が該単位領域内において読み出した上記整数を上記変換手段が変換することにより得られた量子化パラメータの差分値から特定するように構成されており、n個の上記整数はn個の上記差分値よりも絶対値の総和が小さいことが望ましい。
 上記の構成によれば、本発明に係る復号装置は、上記変換規則に従って量子化パラメータの差分値を整数に変換する変換手段を備えた本発明に係る符号化装置から送信された符号化データを復号して、復号画像を生成することができるというさらなる効果を奏する。
 本発明は、画像を符号化し符号化データを生成する符号化装置、そのような符号化装置を用いて生成された符号化データを復号する復号装置に好適に適用することができる。
1    動画像復号装置(復号装置)
11   可変長符号逆多重化部
12   サイド情報復号部(抽出手段、特定手段)
13   MB設定部(特定手段)
14   MB復号部
15   フレームメモリ
2    動画像符号化装置(符号化装置)
21   サイド情報決定部(設定手段、変換手段、算出手段)
22   サイド情報符号化部(2値列生成手段)
23   MB設定部
24   MB符号化部
25   可変長符号多重化部
26   MB復号部
27   フレームメモリ
3    動画像復号装置
31   可変長符号逆多重化部
32   サイド情報復号部(選択手段、読出手段)
33   CU設定部
34   CU復号部(特定手段)
4    動画像符号化装置
41   サイド情報決定部(選択手段、決定手段)
42   サイド情報符号化部
43   CU設定部
44   CU符号化部(算出手段)
46   CU復号部
7    動画像復号装置
74   CU復号部(判定手段)
8    動画像符号化装置
81   サイド情報決定部(判定手段)
9    動画像復号装置
92   サイド情報復号部(決定手段)
10   動画像復号装置
101  サイド情報決定部(第2決定手段)
111  動画像復号装置
1112 サイド情報復号部(判定手段、単位領域設定手段)
112  動画像符号化装置
1121 サイド情報決定部(判定手段、単位領域設定手段)
113  動画像復号装置
1133 CU設定部(読出手段、変換手段)
114  動画像符号化装置
1141 サイド情報決定部(変換手段)
1142 サイド情報符号化部(2値列生成手段)

Claims (23)

  1.  符号化すべき入力画像を構成する複数の単位領域の各々について、該単位領域内の画像に対し量子化パラメータの値に応じた量子化を行う符号化装置において、
     各単位領域を符号化する際に用いる量子化パラメータを設定する設定手段であって、各単位領域について、該単位領域における量子化パラメータと所定の基準値との差が予め定められたn個の差分値の何れかに一致するように、各単位領域の量子化パラメータを設定する設定手段と、
     上記n個の差分値の各々をn個の整数の何れかに1対1に変換する変換規則に従って、各単位領域について、該単位領域における量子化パラメータと上記所定の基準値との差を整数に変換する変換手段と、
     上記変換手段により変換された上記整数の絶対値の大きさに応じた長さの2値列を生成する2値列生成手段と、を備え、上記n個の整数は上記n個の差分値よりも絶対値の総和が小さいことを特徴とする符号化装置。
  2.  請求項1に記載の符号化装置であって、
     上記n個の差分値と、上記n個の整数と、の1対1の対応関係を示す情報を生成する情報生成手段をさらに備え、
     上記情報生成手段が生成した上記情報を符号化データとして上記2値列とともに外部に出力することを特徴とする符号化装置。
  3.  請求項2に記載の符号化装置であって、
     上記n個の差分値は上記n個の整数にそれぞれ所定の値を乗算することにより得られる値となっており、上記情報は上記所定の値そのものであることを特徴とする符号化装置。
  4.  請求項1または2に記載の符号化装置であって、
     上記変換手段は、上記n個の差分値のうち絶対値がi番目に小さい差分値を、上記n個の整数のうち絶対値がi番目に小さい整数に変換するように構成されており、該整数の絶対値は、該差分値の絶対値よりも小さいことを特徴とする符号化装置。
  5.  請求項1または2に記載の符号化装置であって、
     上記n個の差分値の各々について、上記変換手段が変換する各単位領域の差から構成されるグループに占める該差分値の割合を算出する算出手段をさらに備え、
     上記変換手段は、変換の対象となる差分値が上記算出手段が算出した上記割合が大きい差分値であるほど変換により得られる整数の絶対値が小さくなるように構成されていることを特徴とする符号化装置。
  6.  請求項1から5のいずれか1項に記載の符号化装置であって、
     上記入力画像は複数の第2単位領域から構成され、且つ、各第2単位領域は複数の上記単位領域から構成されており、
     上記設定手段が、各第2単位領域について予め定めた特定の単位領域の量子化パラメータを設定する場合には、該単位領域と、該単位領域より符号化順序が若い単位領域と、からなる対における量子化パラメータの差は、上記n個の差分値以外の値をとり得るようになっており、
     上記2値列生成手段は、該対における量子化パラメータの差から、差の絶対値の大きさに応じた長さの2値列を生成することを特徴とする符号化装置。
  7.  符号化データを復号することによって、復号画像を構成する各単位領域に関する量子化パラメータを設定する復号装置において、
     上記符号化データから各単位領域に関する2値列のデータを抽出する抽出手段と、
     上記抽出手段が抽出した各2値列のデータから各単位領域に関する2値列の長さに応じた整数値を生成する整数生成手段と、
     n個の整数と、量子化パラメータに関するn個の差分値と、が1対1に対応付けられている情報に基づいて、上記整数生成手段が生成した各単位領域に関する整数値から、各単位領域に関する差分値を特定する特定手段と、を備え、
     各単位領域に関する量子化パラメータは、上記特定手段が特定した各差分値から生成されることを特徴とする復号装置。
  8.  請求項7に記載の復号装置であって、
     上記符号化データには、n個の整数と、量子化パラメータに関するn個の差分値と、を1対1に対応付ける情報が含まれており、
     上記抽出手段は、上記符号化データから上記情報を抽出することを特徴とする復号装置。
  9.  請求項8に記載の復号装置であって、
     上記抽出手段が上記符号化データから抽出する上記情報は所定の値であり、
     上記特定手段は、上記整数生成手段が生成した整数値に上記抽出手段が抽出した上記所定の値を乗算することにより、上記差分値を特定することを特徴とする復号装置。
  10.  請求項7から9のいずれか1項に記載の復号装置であって、
     上記復号画像は複数の第2単位領域から構成され、且つ、各第2単位領域は複数の上記単位領域から構成されており、
     上記特定手段は、上記復号画像全体を構成する複数の単位領域のうち各第2単位領域について予め定めた特定の単位領域を除く残りの単位領域の各々について、該単位領域に関する整数値から該単位領域に関する差分値を上記情報に基づいて特定するようになっており、
     上記特定手段は、上記特定の単位領域については、上記整数生成手段が生成した整数値そのものを差分値として特定することを特徴とする復号装置。
  11.  請求項2に記載の符号化装置が外部に出力する符号化データであって、
     上記n個の差分値と、上記n個の整数と、の1対1の対応関係を示す情報を含む符号化データ。
  12.  符号化すべき入力画像を構成する複数の単位領域の各々について、該単位領域内の画像
    に対し量子化パラメータの値に応じた量子化を行う符号化装置において、
     上記複数の単位領域の各々について、該単位領域を構成する複数の第3単位領域を所定の順序で選択する選択手段と、
     上記複数の単位領域の各々について、該単位領域に含まれる量子化の対象となる第3単位領域の中から上記選択手段が最初に選択した第3単位領域に関し、該第3単位領域の量子化パラメータの差分値を決定する決定手段と、
     上記複数の単位領域の各々について、該単位領域に含まれる量子化の対象となる各第3単位領域内の画像に対して量子化を行うために参照する上記量子化パラメータの値を、上記決定手段が該単位領域内において決定した上記量子化パラメータの差分値から算出する算出手段と、を備えていることを特徴とする符号化装置。
  13.  上記第3単位領域は符号化単位(CU:Coding Unit)であるか、または、変換単位(TU:Transformation Unit)であることを特徴とする請求項12に記載の符号化装置。
  14.  請求項13に記載の符号化装置であって、
     上記第3単位領域はCUであり、
     上記単位領域はLCUであり、
     上記複数のLCUの各々について、該LCU内の画像に対して上記算出手段が算出した上記量子化パラメータの値に応じた量子化を行うか、該LCUを構成する各CUについて、該CU内の画像に対して該CUの量子化パラメータの値に応じた量子化を行うか、を所定の基準に基づいて決定する第2決定手段をさらに備えていることを特徴とする符号化装置。
  15.  請求項12に記載の符号化装置であって、
     上記第3単位領域はCUであり、
     上記単位領域を構成する複数の第4単位領域の各々について、上記選択手段が該第4単位領域内で最初に選択するCUの予測モードがイントラ予測モードであるかを否かを判定する判定手段をさらに備え、
     上記算出手段は、上記予測モードがイントラ予測モードであると判定された第4単位領域内の量子化の対象となる各CUの画像に対して量子化を行うために参照する上記量子化パラメータの値を、該第4単位領域が属する単位領域について上記決定手段が決定した上記量子化パラメータの差分値に代えて、該第4単位領域内で最初に選択されたCUの量子化パラメータの差分値から算出することを特徴とする符号化装置。
  16.  請求項12または13に記載の符号化装置であって、
     上記入力画像を構成する複数のスライスの各々について該スライスのスライスタイプを判定する判定手段と、
     上記複数のスライスの各々について、該スライスを構成する各単位領域のサイズを、上記判定手段が判定したスライスタイプに応じたサイズに設定する単位領域設定手段と、をさらに備えていることを特徴とする符号化装置。
  17.  請求項12または13に記載の符号化装置であって、
     n組(n:任意の整数)の上記量子化パラメータの差分値と整数とが1対1の対応関係になるような変換規則に従って、上記決定手段が各単位領域について決定した上記差分値を対応する整数に変換する変換手段と、
     上記変換手段による変換により得られた上記整数の絶対値の大きさに応じた長さの2値列を生成する2値列生成手段と、をさらに備え、n個の上記整数はn個の上記差分値よりも絶対値の総和が小さいことを特徴とする符号化装置。
  18.  符号化データを復号することによって、復号画像を構成する各単位領域に関する量子化パラメータを特定する復号装置において、
     上記復号画像を構成する各単位領域について、該単位領域を構成する複数の第3単位領域を所定の順序で選択する選択手段と、
     上記復号画像を構成する各単位領域について、該単位領域に含まれる逆量子化の対象となる第3単位領域の中から上記選択手段が最初に選択した第3単位領域に関し、該第3単位領域の量子化パラメータの差分値を、上記符号化データから読み出す読出手段と、
     上記復号画像を構成する各単位領域について、該単位領域に含まれる逆量子化の対象となる各第3単位領域内の量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、上記読出手段が該単位領域内において読み出した上記量子化パラメータの差分値から特定する特定手段と、を備えていることを特徴とする復号装置。
  19.  上記第3単位領域は符号化単位(CU:Coding Unit)であるか、または、変換単位(TU:Transformation Unit)であることを特徴とする請求項18に記載の復号装置。
  20.  請求項19に記載の復号装置であって、
     上記第3単位領域はCUであり、
     上記単位領域はLCUであり、
     上記複数のLCUの各々について、該LCU内の量子化画像に対して上記特定手段が特定した上記量子化パラメータの値に応じた逆量子化を行うか、該LCUを構成する各CUについて、該CU内の量子化画像に対して該CUの量子化パラメータの値に応じた逆量子化を行うか、を所定の基準に基づいて決定する決定手段をさらに備えていることを特徴とする復号装置。
  21.  請求項18に記載の復号装置であって、
     上記第3単位領域はCUであり、
     上記単位領域を構成する複数の第4単位領域の各々について、上記選択手段が該第4単位領域内で最初に選択するCUの予測モードがイントラ予測モードであるかを否かを判定する判定手段をさらに備え、
     上記特定手段は、上記予測モードがイントラ予測モードであると判定された第4単位領域内の逆量子化の対象となる各CUの量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、該第4単位領域が属する単位領域について上記読出手段が読み出した上記量子化パラメータの差分値に代えて、該第4単位領域内で最初に選択されたCUの量子化パラメータの差分値から特定することを特徴とする復号装置。
  22.  請求項18または19に記載の復号装置であって、
     上記復号画像を構成する複数のスライスの各々について該スライスのスライスタイプを判定する判定手段と、
     上記複数のスライスの各々について、該スライスを構成する各単位領域のサイズを、上記判定手段が判定したスライスタイプに応じたサイズに設定する単位領域設定手段と、をさらに備えていることを特徴とする復号装置。
  23.  請求項18または19に記載の復号装置であって、
     上記読出手段は、量子化パラメータの差分値に代えて、該差分値に対応する整数を上記符号化データから読み出すように構成されている読出手段であり、
     n組(n:任意の整数)の上記量子化パラメータの差分値と整数とが1対1の対応関係になるような変換規則に従って、上記読出手段が各単位領域について読み出した上記整数を、対応する上記差分値に変換する変換手段をさらに備え、
     上記特定手段は、各単位領域について、該単位領域に含まれる逆量子化の対象となる各第3単位領域内の量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、上記読出手段が該単位領域内において読み出した上記整数を上記変換手段が変換することにより得られた量子化パラメータの差分値から特定するように構成されており、n個の上記整数はn個の上記差分値よりも絶対値の総和が小さいことを特徴とする復号装置。
PCT/JP2011/060444 2010-05-13 2011-04-28 符号化装置、復号装置、およびデータ構造 WO2011142279A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/697,247 US20130058410A1 (en) 2010-05-13 2011-04-28 Encoding device, decoding device, and data structure
JP2012514768A JP5670444B2 (ja) 2010-05-13 2011-04-28 符号化装置および復号装置
US15/044,836 US10306251B2 (en) 2010-05-13 2016-02-16 Encoding device, decoding device, and data structure
US16/375,959 US10904547B2 (en) 2010-05-13 2019-04-05 Image decoding device, image encoding device, and image decoding method
US17/112,593 US11336912B2 (en) 2010-05-13 2020-12-04 Image decoding device, image encoding device, and image decoding method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010-111475 2010-05-13
JP2010111475 2010-05-13
JP2011-052178 2011-03-09
JP2011052178 2011-03-09

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US13/697,247 A-371-Of-International US20130058410A1 (en) 2010-05-13 2011-04-28 Encoding device, decoding device, and data structure
US13967247 A-371-Of-International 2011-04-28
US15/044,836 Division US10306251B2 (en) 2010-05-13 2016-02-16 Encoding device, decoding device, and data structure

Publications (1)

Publication Number Publication Date
WO2011142279A1 true WO2011142279A1 (ja) 2011-11-17

Family

ID=44914335

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/060444 WO2011142279A1 (ja) 2010-05-13 2011-04-28 符号化装置、復号装置、およびデータ構造

Country Status (3)

Country Link
US (4) US20130058410A1 (ja)
JP (1) JP5670444B2 (ja)
WO (1) WO2011142279A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012102867A1 (en) * 2011-01-24 2012-08-02 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
WO2013108634A1 (ja) * 2012-01-18 2013-07-25 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
JP2013168932A (ja) * 2012-01-18 2013-08-29 Jvc Kenwood Corp 画像復号装置、画像復号方法及び画像復号プログラム
JP2018117357A (ja) * 2010-08-17 2018-07-26 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 映像符号化方法及び装置、並びに復号化方法及び装置
WO2018143289A1 (ja) * 2017-02-02 2018-08-09 シャープ株式会社 画像符号化装置及び画像復号装置
JP2019030023A (ja) * 2010-09-30 2019-02-21 サン パテント トラスト 復号方法、符号化方法、復号装置および符号化装置
USRE48726E1 (en) 2010-09-29 2021-09-07 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10110891B2 (en) 2011-09-29 2018-10-23 Sharp Kabushiki Kaisha Image decoding device, image decoding method, and image encoding device
IN2014CN02456A (ja) 2011-09-29 2015-06-19 Sharp Kk
CN104378637B (zh) * 2011-10-18 2017-11-21 株式会社Kt 视频信号解码方法
US20140079135A1 (en) * 2012-09-14 2014-03-20 Qualcomm Incoporated Performing quantization to facilitate deblocking filtering
US9426465B2 (en) * 2013-08-20 2016-08-23 Qualcomm Incorporated Sub-PU level advanced residual prediction
FR3047379A1 (fr) * 2016-01-29 2017-08-04 Orange Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants
EP3306922A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for encoding a picture using rate-distortion based block splitting
CN107331142A (zh) * 2017-08-07 2017-11-07 普诚创智(成都)科技有限公司 遥控编解码系统
EP3499870B1 (en) * 2017-12-14 2023-08-23 Axis AB Efficient blending using encoder
US10638146B2 (en) * 2018-10-01 2020-04-28 Tencent America LLC Techniques for QP coding for 360 image and video coding
WO2020130600A1 (ko) * 2018-12-17 2020-06-25 주식회사 윌러스표준기술연구소 예측 모드를 시그널링하는 비디오 신호 처리 방법 및 장치
US11863789B2 (en) * 2020-03-31 2024-01-02 Tencent America LLC Method for signaling rectangular slice partitioning in coded video stream

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010011075A (ja) * 2008-06-26 2010-01-14 Toshiba Corp 動画像符号化及び動画像復号化の方法及び装置
JP2010502102A (ja) * 2006-08-25 2010-01-21 トムソン ライセンシング 低減された解像度の分割の方法及び装置

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5227878A (en) * 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US6181822B1 (en) * 1993-05-12 2001-01-30 The Duck Corporation Data compression apparatus and method
US5706009A (en) * 1994-12-29 1998-01-06 Sony Corporation Quantizing apparatus and quantizing method
US6037985A (en) * 1996-10-31 2000-03-14 Texas Instruments Incorporated Video compression
US6088392A (en) * 1997-05-30 2000-07-11 Lucent Technologies Inc. Bit rate coder for differential quantization
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7386176B2 (en) * 2002-11-15 2008-06-10 Ricoh Company, Ltd. Image sending apparatus and image receiving apparatus for sending and receiving code sequence data
KR100584552B1 (ko) * 2003-01-14 2006-05-30 삼성전자주식회사 동영상 부호화 및 복호화 방법과 그 장치
JP4407249B2 (ja) * 2003-11-18 2010-02-03 ソニー株式会社 データ処理装置およびその方法と符号化装置、その方法及びプログラム
US20050190836A1 (en) * 2004-01-30 2005-09-01 Jiuhuai Lu Process for maximizing the effectiveness of quantization matrices in video codec systems
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
US7539248B2 (en) * 2004-04-29 2009-05-26 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
JP3846488B2 (ja) * 2004-05-10 2006-11-15 セイコーエプソン株式会社 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
US8045614B2 (en) * 2005-05-11 2011-10-25 Dolby Laboratories Licensing Corporation Quantization control for variable bit depth
US7961783B2 (en) * 2005-07-07 2011-06-14 Mediatek Incorporation Methods and systems for rate control in video encoder
EP1913778A4 (en) * 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING THE CODING OF INFORMATION OF A VIDEO SIGNAL FOR COMPRESSING / DECOMPRESSING THE INFORMATION
KR101158439B1 (ko) * 2005-07-08 2012-07-13 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는 방법
KR100878826B1 (ko) * 2005-07-08 2009-01-14 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는방법
US20090123066A1 (en) * 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
KR20070037248A (ko) * 2005-09-30 2007-04-04 삼성전자주식회사 영상 부호화장치 및 방법, 영상 복호화장치 및 방법과 이를채용한 디스플레이 구동회로 및 방법
US9479794B2 (en) * 2005-11-10 2016-10-25 Freescale Semiconductor, Inc. Resource efficient video processing via prediction error computational adjustments
US8175149B2 (en) * 2005-11-21 2012-05-08 Electronics And Telecommunications Research Institute Method and apparatus for controlling bitrate of scalable video stream
US8107751B2 (en) * 2007-03-16 2012-01-31 Sharp Laboratories Of America, Inc. DPCM with adaptive range and PCM escape mode
JPWO2008132890A1 (ja) * 2007-04-16 2010-07-22 株式会社東芝 画像符号化と画像復号化の方法及び装置
US8184711B2 (en) * 2007-09-12 2012-05-22 Sony Corporation Image processing device and image processing method
US8897359B2 (en) * 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
EP2144449A1 (en) * 2008-07-07 2010-01-13 BRITISH TELECOMMUNICATIONS public limited company Video quality measurement
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
US8588297B2 (en) * 2009-12-23 2013-11-19 Oracle America, Inc. Quantization parameter prediction
US20120300850A1 (en) * 2010-02-02 2012-11-29 Alex Chungku Yie Image encoding/decoding apparatus and method
WO2011097903A1 (zh) * 2010-02-11 2011-08-18 华为技术有限公司 多声道信号编码、解码方法、装置及编解码系统
US8675726B2 (en) * 2010-02-18 2014-03-18 Blackberry Limited Method and encoder for constrained soft-decision quantization in data compression
US8660177B2 (en) * 2010-03-24 2014-02-25 Sony Computer Entertainment Inc. Parallel entropy coding
CN103369319B (zh) * 2010-06-04 2016-08-10 索尼公司 图像处理设备和方法
KR101449679B1 (ko) * 2010-08-18 2014-10-15 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법, 및 참조픽처 인덱싱 장치 및 방법
JP5894922B2 (ja) * 2010-09-30 2016-03-30 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 復号方法、復号装置、およびプログラム
US20120114034A1 (en) * 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding
US9621896B2 (en) * 2011-06-10 2017-04-11 Citrix Systems Inc. Macroblock-level adaptive quantization in quality-aware video optimization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010502102A (ja) * 2006-08-25 2010-01-21 トムソン ライセンシング 低減された解像度の分割の方法及び装置
JP2010011075A (ja) * 2008-06-26 2010-01-14 Toshiba Corp 動画像符号化及び動画像復号化の方法及び装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SAKAE OKUBO: "H.264/AVC Kyokasho", 1 January 2009, KABUSHIKI KAISHA IMPRESS R&D, pages: 160 *
THOMAS WIEGAND ET AL.: "WDI: Working Draft 1 of High-Efficiency Video Coding, Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11", 7 October 2010 (2010-10-07), GUANGZHOU *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10827174B2 (en) 2010-08-17 2020-11-03 Electronics And Telecommunications Research Institute Method and apparatus for encoding video, and decoding method and apparatus
US10939106B2 (en) 2010-08-17 2021-03-02 Electronics And Telecommunications Research Institute Method and apparatus for encoding video, and decoding method and apparatus
JP2018117357A (ja) * 2010-08-17 2018-07-26 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 映像符号化方法及び装置、並びに復号化方法及び装置
USRE48726E1 (en) 2010-09-29 2021-09-07 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus and integrated circuit for generating a code stream with a hierarchical code structure
US11310500B2 (en) 2010-09-30 2022-04-19 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
JP2019030023A (ja) * 2010-09-30 2019-02-21 サン パテント トラスト 復号方法、符号化方法、復号装置および符号化装置
JP2021132407A (ja) * 2010-09-30 2021-09-09 サン パテント トラスト 復号方法および復号装置
JP2022097644A (ja) * 2010-09-30 2022-06-30 サン パテント トラスト 復号装置、符号化装置、および記録媒体
JP7113250B2 (ja) 2010-09-30 2022-08-05 サン パテント トラスト 復号方法および復号装置
JP7325573B2 (ja) 2010-09-30 2023-08-14 サン パテント トラスト 復号装置および符号化装置
US11729389B2 (en) 2010-09-30 2023-08-15 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
WO2012102867A1 (en) * 2011-01-24 2012-08-02 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
WO2013108634A1 (ja) * 2012-01-18 2013-07-25 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
JP2013168932A (ja) * 2012-01-18 2013-08-29 Jvc Kenwood Corp 画像復号装置、画像復号方法及び画像復号プログラム
WO2018143289A1 (ja) * 2017-02-02 2018-08-09 シャープ株式会社 画像符号化装置及び画像復号装置

Also Published As

Publication number Publication date
US20210092423A1 (en) 2021-03-25
US20190238874A1 (en) 2019-08-01
US20160165255A1 (en) 2016-06-09
JPWO2011142279A1 (ja) 2013-07-22
US10904547B2 (en) 2021-01-26
US11336912B2 (en) 2022-05-17
US20130058410A1 (en) 2013-03-07
JP5670444B2 (ja) 2015-02-18
US10306251B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
JP5670444B2 (ja) 符号化装置および復号装置
JP6640105B2 (ja) ビデオコーディングにおけるパレットサイズ、パレットエントリ、およびパレットコード化ブロックのフィルタリングの決定
KR101671156B1 (ko) 영상 부호화 장치, 영상 복호 장치, 영상 부호화 방법, 영상 복호 방법 및 프로그램
JP6571162B2 (ja) パレットモード符号化および復号の設計
KR101768401B1 (ko) 화상 복호 장치
JP6542251B2 (ja) マルチレイヤビットストリームのためのsps時間idネスティング情報の導出
EP2725798B1 (en) Apparatus for adaptively encoding and decoding a quantization parameter based on a quadtree structure
KR20130085977A (ko) 변환 유닛 내의 다수 부호 비트 은폐
KR20070121482A (ko) 플래그 인코딩 방법, 플래그 디코딩 방법, 및 상기 방법을이용한 장치
US9473789B2 (en) Apparatus for decoding a moving picture
JP5706771B2 (ja) 動画像の予測符号化装置及びその制御方法、コンピュータプログラム
JP2022521911A (ja) イントラ予測ベースのビデオ信号処理方法及び装置
CN113273217A (zh) 非对称四叉树分割
KR101822725B1 (ko) Hls-전용 스케일러블 비디오 코딩을 위한 층 간 참조 화상 생성
US20220360782A1 (en) Image data encoding and decoding
WO2012090962A1 (ja) 画像復号装置、画像符号化装置、および符号化データのデータ構造、ならびに、算術復号装置、算術符号化装置
GB2585067A (en) Image data encoding and decoding
WO2022209032A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法および映像システム
WO2018123317A1 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム
JP2022111285A (ja) 画像符号化装置、画像復号装置、及びプログラム
JP2012182753A (ja) 画像復号装置、画像符号化装置、および符号化データのデータ構造

Legal Events

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

Ref document number: 11780536

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13697247

Country of ref document: US

Ref document number: 2012514768

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11780536

Country of ref document: EP

Kind code of ref document: A1