WO2011142279A1 - 符号化装置、復号装置、およびデータ構造 - Google Patents
符号化装置、復号装置、およびデータ構造 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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/198—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy 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
Description
(動画像符号化装置)
以下では、本実施形態に係る動画像符号化装置(符号化装置)2について、図1~図3、図6~図10、および図12を参照して説明する。図1は、動画像符号化装置2の構成を示すブロック図である。図1に示すように、動画像符号化装置2は、サイド情報決定部21、サイド情報符号化部22、MB設定部23、MB符号化部24、可変長符号多重化部25、MB復号部26、および、フレームメモリ27を備えている。
サイド情報決定部21はマクロブロックに割り当て可能なQP値に制限を課すためのQP差分値の集合を任意の方法により決定できるが、以下に具体例を挙げる。
次に、サイド情報決定部21およびサイド情報符号化部22の動作について、図2を参照しながら説明する。すなわち、入力画像#100に含まれる図7(a)に示すような各スライスについて、動画像符号化装置2が、QP差分値テーブルを生成してからスライス内の各マクロブロックMBiのマクロブロックレイヤに格納したインデックスを符号化するまでの各部の動作について以下に説明する。
サイド情報符号化部22によるQP差分値の符号化について具体的に説明する。
サイド情報決定部21およびサイド情報符号化部22の動作の変形例について、図3および図7(b)を参照しながら以下に説明する。図3は、本変形例に係るサイド情報決定部21およびサイド情報符号化部22の動作を示すフローチャートである。また、図7(b)は、複数の拡大マクロブロック(第2単位領域)から構成されているスライスであって各拡大マクロブロックが複数のマクロブロックから構成されているスライスを示す図である。ここで、拡大マクロブロックは、内部に含まれる全マクロブロックが互いに画素特性が類似するように構成される。
なお、QP差分値テーブルは、図8(a)~図8(c)のように、各QP差分値に、該QP差分値の絶対値よりも絶対値が小さいインデックスを関連づけたテーブルであることが望ましいと述べたが、サイド情報決定部21は、そうでない図8(d)のようなテーブルを生成してもよい。図8(d)のテーブルは以下のように生成されるものである。
上記実施形態では、量子化単位領域がマクロブロックであるものとしたが、これに限られない。すなわち、QP値の決定、QP差分値のインデックスへの変換、およびインデックスの2値化、並びに、QP値による画像の量子化をマクロブロック単位で行うものとものとしたが、マクロブロック単位でなくマクロブロックよりも大きい単位やマクロブロックより小さい単位(パーティション単位や8画素x8ラインのブロック単位、4画素x4ラインのブロック単位等)で行ってもよい。
上記実施形態では、スライス毎にスライスタイプを判定し、スライスタイプに応じてfactorの値を決定し、factorの値に応じたQP差分値テーブルを生成するものとしたが、QP差分値テーブルの生成は以下のように行っても良い。
上記実施形態では、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の両方を符号化するものでも構わない。
上記実施形態では、インデックスを2値列に変換するためにユーナリバイナリゼーションを用いるものとしたが、必ずしもこの構成に限定されない。すなわち、インデックスを2値列に変換するために、ユーナリバイナリゼーションと、図9(b)に示すような固定長バイナリゼーションとを使い分けてもよい。さらには、これらのバイナリゼーションにより得られた2値列に対し、別の符号化を施してもよい。例えば、H.264/AVCで規定されているようなコンテキスト適応算術符号化(CABAC)を適用することができる。
本発明では、量子化単位領域のQP差分値を、該量子化単位領域のQP値と所定の基準値と、の差をとることにより求める。上記実施形態では、この所定の基準値を、処理順で該量子化単位領域の直前の量子化単位領域のQP値としていたが、本発明はこれに限定されない。すなわち、QP差分値を求める量子化単位領域に隣接する量子化単位領域(例えば、左や上に隣接する量子化単位領域)のQP値を上記所定の基準値としてもよい。あるいは、QP差分値を求める量子化単位領域に近接する(すなわち、該量子化単位領域から所定の範囲内にある)量子化単位領域のQP値を上記所定の基準値としてもよいし、量子化単位よりも大きな処理単位毎に変化する値(例えば、スライスデフォルトQP値)を上記所定の基準値としてもよい。あるいは、上記所定の基準値を特定の定数値(例えば、0)にしてもよい。
以上のように、動画像符号化装置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に変換する。
実施形態に係る動画像復号装置(復号装置)1の構成について、図4~図10、図12を参照して説明する。動画像復号装置1は、その一部に、H264/AVC規格に採用されている技術を用いている動画像復号装置である。
次に、サイド情報復号部12およびMB設定部13の動作について、図5を参照しながら説明する。図5は、サイド情報復号部12およびMB設定部13の動作の流れを示すフローチャートである。
サイド情報復号部12およびMB設定部13の動作の変形例について、図6および図7(b)を参照しながら以下に説明する。図6は、サイド情報復号部12およびMB設定部13の動作を示すフローチャートである。
以上、本実施形態に係る動画像復号装置1について説明を行ったが、本発明は、以上の構成に限定されるものではない。
上記実施形態では、逆量子化単位領域がマクロブロックであるものとしたが、これに限られない。すなわち、逆量子化単位領域のサイズが動画像符号化装置2における量子化単位領域のサイズと同一であれば、逆量子化単位領域はマクロブロックよりも大きい単位領域またはマクロブロックよりも小さい単位領域であっても構わない。
QP差分値テーブルを復号する具体的な処理は以下のようになっていればよい。
以上のように、動画像復号装置1は、復号画像を構成する各マクロブロックに関する量子化パラメータを設定する処理を行うが、サイド情報復号部12が符号化データ#1から各マクロブロックに関する2値列のデータを抽出する。そして、サイド情報復号部12は、各2値列のデータから2値列の長さに応じたインデックスを生成する。
(符号化データ)
まず、実施形態2以降の各実施形態に係る動画像符号化装置によって生成され、実施形態2以降の各本実施形態に係る動画像復号装置によって参照される符号化データについて図13を参照しながら説明する。なお、以下の説明における、動画像符号化装置の符号「4」、動画像復号装置の符号「3」、符号化データの符号「#4」は、それぞれ、実施形態2に係る動画像符号化装置、実施形態2に係る動画像復号装置、実施形態2において参照される符号化データを示している。実施形態3以降の各実施形態に係る動画像符号化装置および動画像復号装置によって参照される符号化データについても、以下の説明において用いられている符号を、当該実施形態において使用される符号に置き換えて読むことにより理解できることは言うまでもない。
図13を用いて、動画像符号化装置4によって生成され、動画像復号装置3によって復号される符号化データ#4の構成例について説明する。符号化データ#4は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置3が参照するデータの集合が規定されている。ピクチャPICTは、図13の(a)に示すように、ピクチャヘッダPH、及び、スライスS1~SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置3が参照するデータの集合が規定されている。スライスSは、図13の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK1~TBLKNC(NCはスライスSに含まれるツリーブロックの総数)のシーケンスを含んでいる。
ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置3が参照するデータの集合が規定されている。
ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置3が参照する符号化パラメータが含まれる。具体的には、図13の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置3が参照するデータの集合が規定されている。
続いて、図13の(d)を参照しながらCU情報に含まれるデータの具体的な内容について説明する。図13の(d)に示すように、CU情報は、具体的には、スキップフラグSKIP、PT情報PTI、および、TT情報TTIを含む。
処理2:処理1にて得られた変換係数を量子化する;
処理3:処理2にて量子化された変換係数を可変長符号化する;
なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
上述のとおり、予測情報PInfoには、インター予測情報およびイントラ予測情報の2種類がある。
本実施形態に係る動画像復号装置は、次に説明する動画像符号化装置4から供給される符号化データ#4を復号して復号画像#3を生成する装置である。
本実施形態に係る動画像符号化装置は、入力画像を構成する各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のサイズは、一般的に同一ではない。
動画像符号化装置4のサイド情報符号化部42は、QP符号化単位領域のサイズに2を底とするような対数関数を適用するとともに得られた対数関数値から4を減算した値を算出することにより、サイズ情報の符号化データを生成するものとしたが、本発明はこれに限られない。
(符号化データ)
本実施形態に係る符号化データ#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差分値を読み出すことになる。
entropy_coding_mode_flagが0の場合、residualDataPresentFlagは、no_resisulal_data_flagの値が0以外であれば”true”、 no_resisulal_data_flagの値が0であれば”false”となる。
本実施形態に係る動画像符号化装置について図面を参照しながら詳細に説明する。
サイド情報決定部61およびサイド情報符号化部62は、図21のtransform_treeシンタックスを用いる代わりに、図23のtransform_treeシンタックスを用いてもよい。
(動画像復号装置)
本実施形態に係る動画像復号装置は、動画像符号化装置8から供給される符号化データ#8を復号して復号画像#7を生成する装置である。符号化データ#7に含まれるcoding unitシンタックスの一例を図27に示す。
入力画像中にインター符号化すべき領域が相対的に多い場合、QP差分値の個数を多くすることによってQP値の精度を高めて量子化を行ったとしても、予測残差の符号量の削減量がQP差分値の符号量の増加量を下回り、符号化効率が低下することがわかっている。
上記実施形態では、サイド情報決定部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差分値を復号してもよい。
なお、上記実施形態において、量子化の対象となっているCUのQP値(cu_qp)を、直前に参照したQP値(pred_qp)と量子化の対象となっているCUのQP差分値との和によって求めている。ここで、直前に参照したQP値(QP予測値)は、量子化の対象となっているCUの左側に位置するCUのQP値であってもよいし、ラスタスキャン順で量子化の対象となっているCUの直前の位置にあるCUのQP値であってもよい。あるいは、直前に参照したQP値は、量子化の対象となっているCUの左側に位置するCUのQP値と量子化の対象となっているCUの上側に位置するCUのQP値との平均値であってもよい。
(動画像復号装置)
本実施形態に係る動画像復号装置は、次に説明する動画像符号化装置10から供給される符号化データ#10を復号して復号画像#9を生成する装置である。符号化データ#10に含まれるcoding_unitシンタックスの一例を図31に示す。
本実施形態に係る動画像符号化装置は、実施形態2に係る動画像符号化装置と同様に、入力画像を構成する各LCUを、JCTVC-C403に記載されているcoding_treeシンタックスを用いて複数のCU(Coding Unit:量子化単位領域)に分割する処理を行う。但し、本実施形態にて説明するシンタックスは、JCTVC-C403に記載されているシンタックスよりも一部簡略化してある(coding_treeシンタックスを用いる他の実施形態についても同様)。
(動画像復号装置)
本実施形態に係る動画像復号装置は、次に説明する動画像符号化装置112から供給される符号化データ#112を復号して復号画像#111を生成する装置である。符号化データ#112に含まれるcoding_unitシンタックスの一例を図34に示す。
本実施形態に係る動画像符号化装置112は、入力画像を構成するスライスにIスライスが多い場合と、Pスライスが多い場合と、Bスライスが多い場合とで、異なる粒度(個数)のQP差分値を符号化するように構成されている。
なお、本実施形態に係る動画像符号化装置112は、入力画像を構成するスライスにIスライスが多い場合と、Pスライスが多い場合と、Bスライスが多い場合とで、異なる粒度(個数)のQP差分値を符号化するように構成されているが、本発明はこれに限定されない。すなわち、動画像符号化装置は、Pスライスが多い場合とBスライスが多い場合とで符号化するQP差分値を符号化する粒度(個数)が同程度になるように構成してもよい。すなわち、MinIDeltaQuantCodingUnitSizeとMinBDeltaQuantCodingUnitSizeとMinPDeltaQuantCodingUnitSizeとの各値を、次式が成立するような値に設定してもよい。
(動画像復号装置)
本実施形態に係る動画像復号装置は、その次に説明する動画像符号化装置114から供給される符号化データ#114を復号して復号画像#113を生成する装置である。
本実施形態に係る動画像符号化装置は、実施形態2に係る動画像符号化装置と同様に、入力画像を構成する各LCUを、JCTVC-C403に記載されているcoding_treeシンタックスを用いて複数のCU(Coding Unit:量子化単位領域)に分割する処理を行う。
動画像符号化装置114のサイド情報決定部1141は、スライス毎に変換規則を定めるものとしたが、サイド情報決定部1141は、各スライスについて、所定の複数種類の変換規則の中からいずれか1つの変換規則を選択するものとしてもよい。
実施形態5では、入力画像#100を構成する各LCUについて、LCU単位でQP差分値を符号化するかLCUを構成するQP符号化領域単位でQP差分値を符号化するかを、deltaQuantAvailCUフラグの真偽に応じて決定する動画像符号化装置について説明した。
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)
- 符号化すべき入力画像を構成する複数の単位領域の各々について、該単位領域内の画像に対し量子化パラメータの値に応じた量子化を行う符号化装置において、
各単位領域を符号化する際に用いる量子化パラメータを設定する設定手段であって、各単位領域について、該単位領域における量子化パラメータと所定の基準値との差が予め定められたn個の差分値の何れかに一致するように、各単位領域の量子化パラメータを設定する設定手段と、
上記n個の差分値の各々をn個の整数の何れかに1対1に変換する変換規則に従って、各単位領域について、該単位領域における量子化パラメータと上記所定の基準値との差を整数に変換する変換手段と、
上記変換手段により変換された上記整数の絶対値の大きさに応じた長さの2値列を生成する2値列生成手段と、を備え、上記n個の整数は上記n個の差分値よりも絶対値の総和が小さいことを特徴とする符号化装置。 - 請求項1に記載の符号化装置であって、
上記n個の差分値と、上記n個の整数と、の1対1の対応関係を示す情報を生成する情報生成手段をさらに備え、
上記情報生成手段が生成した上記情報を符号化データとして上記2値列とともに外部に出力することを特徴とする符号化装置。 - 請求項2に記載の符号化装置であって、
上記n個の差分値は上記n個の整数にそれぞれ所定の値を乗算することにより得られる値となっており、上記情報は上記所定の値そのものであることを特徴とする符号化装置。 - 請求項1または2に記載の符号化装置であって、
上記変換手段は、上記n個の差分値のうち絶対値がi番目に小さい差分値を、上記n個の整数のうち絶対値がi番目に小さい整数に変換するように構成されており、該整数の絶対値は、該差分値の絶対値よりも小さいことを特徴とする符号化装置。 - 請求項1または2に記載の符号化装置であって、
上記n個の差分値の各々について、上記変換手段が変換する各単位領域の差から構成されるグループに占める該差分値の割合を算出する算出手段をさらに備え、
上記変換手段は、変換の対象となる差分値が上記算出手段が算出した上記割合が大きい差分値であるほど変換により得られる整数の絶対値が小さくなるように構成されていることを特徴とする符号化装置。 - 請求項1から5のいずれか1項に記載の符号化装置であって、
上記入力画像は複数の第2単位領域から構成され、且つ、各第2単位領域は複数の上記単位領域から構成されており、
上記設定手段が、各第2単位領域について予め定めた特定の単位領域の量子化パラメータを設定する場合には、該単位領域と、該単位領域より符号化順序が若い単位領域と、からなる対における量子化パラメータの差は、上記n個の差分値以外の値をとり得るようになっており、
上記2値列生成手段は、該対における量子化パラメータの差から、差の絶対値の大きさに応じた長さの2値列を生成することを特徴とする符号化装置。 - 符号化データを復号することによって、復号画像を構成する各単位領域に関する量子化パラメータを設定する復号装置において、
上記符号化データから各単位領域に関する2値列のデータを抽出する抽出手段と、
上記抽出手段が抽出した各2値列のデータから各単位領域に関する2値列の長さに応じた整数値を生成する整数生成手段と、
n個の整数と、量子化パラメータに関するn個の差分値と、が1対1に対応付けられている情報に基づいて、上記整数生成手段が生成した各単位領域に関する整数値から、各単位領域に関する差分値を特定する特定手段と、を備え、
各単位領域に関する量子化パラメータは、上記特定手段が特定した各差分値から生成されることを特徴とする復号装置。 - 請求項7に記載の復号装置であって、
上記符号化データには、n個の整数と、量子化パラメータに関するn個の差分値と、を1対1に対応付ける情報が含まれており、
上記抽出手段は、上記符号化データから上記情報を抽出することを特徴とする復号装置。 - 請求項8に記載の復号装置であって、
上記抽出手段が上記符号化データから抽出する上記情報は所定の値であり、
上記特定手段は、上記整数生成手段が生成した整数値に上記抽出手段が抽出した上記所定の値を乗算することにより、上記差分値を特定することを特徴とする復号装置。 - 請求項7から9のいずれか1項に記載の復号装置であって、
上記復号画像は複数の第2単位領域から構成され、且つ、各第2単位領域は複数の上記単位領域から構成されており、
上記特定手段は、上記復号画像全体を構成する複数の単位領域のうち各第2単位領域について予め定めた特定の単位領域を除く残りの単位領域の各々について、該単位領域に関する整数値から該単位領域に関する差分値を上記情報に基づいて特定するようになっており、
上記特定手段は、上記特定の単位領域については、上記整数生成手段が生成した整数値そのものを差分値として特定することを特徴とする復号装置。 - 請求項2に記載の符号化装置が外部に出力する符号化データであって、
上記n個の差分値と、上記n個の整数と、の1対1の対応関係を示す情報を含む符号化データ。 - 符号化すべき入力画像を構成する複数の単位領域の各々について、該単位領域内の画像
に対し量子化パラメータの値に応じた量子化を行う符号化装置において、
上記複数の単位領域の各々について、該単位領域を構成する複数の第3単位領域を所定の順序で選択する選択手段と、
上記複数の単位領域の各々について、該単位領域に含まれる量子化の対象となる第3単位領域の中から上記選択手段が最初に選択した第3単位領域に関し、該第3単位領域の量子化パラメータの差分値を決定する決定手段と、
上記複数の単位領域の各々について、該単位領域に含まれる量子化の対象となる各第3単位領域内の画像に対して量子化を行うために参照する上記量子化パラメータの値を、上記決定手段が該単位領域内において決定した上記量子化パラメータの差分値から算出する算出手段と、を備えていることを特徴とする符号化装置。 - 上記第3単位領域は符号化単位(CU:Coding Unit)であるか、または、変換単位(TU:Transformation Unit)であることを特徴とする請求項12に記載の符号化装置。
- 請求項13に記載の符号化装置であって、
上記第3単位領域はCUであり、
上記単位領域はLCUであり、
上記複数のLCUの各々について、該LCU内の画像に対して上記算出手段が算出した上記量子化パラメータの値に応じた量子化を行うか、該LCUを構成する各CUについて、該CU内の画像に対して該CUの量子化パラメータの値に応じた量子化を行うか、を所定の基準に基づいて決定する第2決定手段をさらに備えていることを特徴とする符号化装置。 - 請求項12に記載の符号化装置であって、
上記第3単位領域はCUであり、
上記単位領域を構成する複数の第4単位領域の各々について、上記選択手段が該第4単位領域内で最初に選択するCUの予測モードがイントラ予測モードであるかを否かを判定する判定手段をさらに備え、
上記算出手段は、上記予測モードがイントラ予測モードであると判定された第4単位領域内の量子化の対象となる各CUの画像に対して量子化を行うために参照する上記量子化パラメータの値を、該第4単位領域が属する単位領域について上記決定手段が決定した上記量子化パラメータの差分値に代えて、該第4単位領域内で最初に選択されたCUの量子化パラメータの差分値から算出することを特徴とする符号化装置。 - 請求項12または13に記載の符号化装置であって、
上記入力画像を構成する複数のスライスの各々について該スライスのスライスタイプを判定する判定手段と、
上記複数のスライスの各々について、該スライスを構成する各単位領域のサイズを、上記判定手段が判定したスライスタイプに応じたサイズに設定する単位領域設定手段と、をさらに備えていることを特徴とする符号化装置。 - 請求項12または13に記載の符号化装置であって、
n組(n:任意の整数)の上記量子化パラメータの差分値と整数とが1対1の対応関係になるような変換規則に従って、上記決定手段が各単位領域について決定した上記差分値を対応する整数に変換する変換手段と、
上記変換手段による変換により得られた上記整数の絶対値の大きさに応じた長さの2値列を生成する2値列生成手段と、をさらに備え、n個の上記整数はn個の上記差分値よりも絶対値の総和が小さいことを特徴とする符号化装置。 - 符号化データを復号することによって、復号画像を構成する各単位領域に関する量子化パラメータを特定する復号装置において、
上記復号画像を構成する各単位領域について、該単位領域を構成する複数の第3単位領域を所定の順序で選択する選択手段と、
上記復号画像を構成する各単位領域について、該単位領域に含まれる逆量子化の対象となる第3単位領域の中から上記選択手段が最初に選択した第3単位領域に関し、該第3単位領域の量子化パラメータの差分値を、上記符号化データから読み出す読出手段と、
上記復号画像を構成する各単位領域について、該単位領域に含まれる逆量子化の対象となる各第3単位領域内の量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、上記読出手段が該単位領域内において読み出した上記量子化パラメータの差分値から特定する特定手段と、を備えていることを特徴とする復号装置。 - 上記第3単位領域は符号化単位(CU:Coding Unit)であるか、または、変換単位(TU:Transformation Unit)であることを特徴とする請求項18に記載の復号装置。
- 請求項19に記載の復号装置であって、
上記第3単位領域はCUであり、
上記単位領域はLCUであり、
上記複数のLCUの各々について、該LCU内の量子化画像に対して上記特定手段が特定した上記量子化パラメータの値に応じた逆量子化を行うか、該LCUを構成する各CUについて、該CU内の量子化画像に対して該CUの量子化パラメータの値に応じた逆量子化を行うか、を所定の基準に基づいて決定する決定手段をさらに備えていることを特徴とする復号装置。 - 請求項18に記載の復号装置であって、
上記第3単位領域はCUであり、
上記単位領域を構成する複数の第4単位領域の各々について、上記選択手段が該第4単位領域内で最初に選択するCUの予測モードがイントラ予測モードであるかを否かを判定する判定手段をさらに備え、
上記特定手段は、上記予測モードがイントラ予測モードであると判定された第4単位領域内の逆量子化の対象となる各CUの量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、該第4単位領域が属する単位領域について上記読出手段が読み出した上記量子化パラメータの差分値に代えて、該第4単位領域内で最初に選択されたCUの量子化パラメータの差分値から特定することを特徴とする復号装置。 - 請求項18または19に記載の復号装置であって、
上記復号画像を構成する複数のスライスの各々について該スライスのスライスタイプを判定する判定手段と、
上記複数のスライスの各々について、該スライスを構成する各単位領域のサイズを、上記判定手段が判定したスライスタイプに応じたサイズに設定する単位領域設定手段と、をさらに備えていることを特徴とする復号装置。 - 請求項18または19に記載の復号装置であって、
上記読出手段は、量子化パラメータの差分値に代えて、該差分値に対応する整数を上記符号化データから読み出すように構成されている読出手段であり、
n組(n:任意の整数)の上記量子化パラメータの差分値と整数とが1対1の対応関係になるような変換規則に従って、上記読出手段が各単位領域について読み出した上記整数を、対応する上記差分値に変換する変換手段をさらに備え、
上記特定手段は、各単位領域について、該単位領域に含まれる逆量子化の対象となる各第3単位領域内の量子化画像に対して逆量子化を行うために参照する上記量子化パラメータの値を、上記読出手段が該単位領域内において読み出した上記整数を上記変換手段が変換することにより得られた量子化パラメータの差分値から特定するように構成されており、n個の上記整数はn個の上記差分値よりも絶対値の総和が小さいことを特徴とする復号装置。
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)
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)
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)
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)
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 |
-
2011
- 2011-04-28 US US13/697,247 patent/US20130058410A1/en not_active Abandoned
- 2011-04-28 JP JP2012514768A patent/JP5670444B2/ja not_active Expired - Fee Related
- 2011-04-28 WO PCT/JP2011/060444 patent/WO2011142279A1/ja active Application Filing
-
2016
- 2016-02-16 US US15/044,836 patent/US10306251B2/en active Active
-
2019
- 2019-04-05 US US16/375,959 patent/US10904547B2/en active Active
-
2020
- 2020-12-04 US US17/112,593 patent/US11336912B2/en active Active
Patent Citations (2)
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)
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)
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 |