WO2013129616A1 - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
WO2013129616A1
WO2013129616A1 PCT/JP2013/055541 JP2013055541W WO2013129616A1 WO 2013129616 A1 WO2013129616 A1 WO 2013129616A1 JP 2013055541 W JP2013055541 W JP 2013055541W WO 2013129616 A1 WO2013129616 A1 WO 2013129616A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
coefficient
image
data
matrix
Prior art date
Application number
PCT/JP2013/055541
Other languages
English (en)
French (fr)
Inventor
田中 潤一
義崇 森上
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to CN201911321389.9A priority Critical patent/CN110913224B/zh
Priority to US14/375,357 priority patent/US9686541B2/en
Priority to CN201380010481.8A priority patent/CN104126304B/zh
Priority to JP2014502388A priority patent/JP5904267B2/ja
Publication of WO2013129616A1 publication Critical patent/WO2013129616A1/ja
Priority to US15/480,091 priority patent/US9955164B2/en
Priority to US15/830,890 priority patent/US10225553B2/en
Priority to US15/831,933 priority patent/US10264258B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present disclosure relates to an image processing apparatus and method.
  • quantization is different for each component of the orthogonal transform coefficient when quantizing image data in a profile higher than High Profile. Steps can be used.
  • the quantization step for each component of the orthogonal transform coefficient can be set based on a quantization matrix (also referred to as a scaling list) defined with a size equivalent to the unit of the orthogonal transform and a reference step value.
  • Specified values of the quantization matrix are prepared for each prediction mode (intra prediction mode, inter prediction mode) and each transform unit size (4x4, 8x8). Also, the user can specify a unique quantization matrix different from the default value in the sequence parameter set or the picture parameter set. When the quantization matrix is not used, the quantization step used in the quantization is the same value for all components.
  • HEVC High Efficiency Video Coding
  • CU Coding Unit
  • SCU Small Cell Coding Unit
  • one coding unit can be divided into one or more orthogonal transform units, that is, one or more transform units (TU (Transform Unit)). Any of 4x4, 8x8, 16x16, and 32x32 can be used as the size of the conversion unit.
  • TU Transform Unit
  • the quantization matrix scaling list (Scaling List)
  • the AC component also referred to as AC component
  • DC component also referred to as DC component
  • the DC component of the scaling list is transmitted as a DC coefficient (also referred to as a DC coefficient) that is different from each AC coefficient (also referred to as an AC coefficient) that is an AC component of the scaling list.
  • a constant for example, 8 is subtracted from the value of the DC coefficient to reduce the amount of code at the time of transmission, and the value (scaling_list_dc_coef_minus8) is signed exponential Golomb coding (signedsignexponential golomb coding) It has been proposed to do so (for example, see Non-Patent Document 1).
  • JCT-VC Joint Collaborative Team on Video Coding
  • the present disclosure has been proposed in view of such a situation, and an object thereof is to suppress an increase in the code amount of the scaling list.
  • One aspect of the present disclosure is an up-conversion in which a quantization matrix that is limited to a transmission size that is the maximum size allowed for transmission or less is up-converted to the same size as a block size that is a processing unit in inverse quantization.
  • a setting unit for setting a replacement difference coefficient which is a difference between a replacement coefficient used when replacing a coefficient located at the head of the quantization matrix and a coefficient located at the head of the quantization matrix; and a quantization by quantizing the image A quantization unit that generates data; encoded data obtained by encoding the quantized data generated by the quantization unit; replacement coefficient data obtained by encoding the replacement coefficient; and a replacement difference set by the setting unit
  • An image processing apparatus including a transmission unit that transmits replacement difference coefficient data obtained by encoding a coefficient.
  • the setting unit can set a difference between the replacement coefficient and an initial value set in the quantization matrix.
  • the setting unit can set a difference coefficient that is a difference between coefficients of the quantization matrix, and the transmission unit can transmit difference coefficient data obtained by encoding the difference coefficient set by the setting unit.
  • the transmission unit can transmit the replacement coefficient data and the replacement difference coefficient data together.
  • the transmission unit can transmit the replacement coefficient data to the replacement difference coefficient data in order.
  • the quantization unit can quantize the image using the quantization matrix or the up-conversion quantization matrix.
  • a coding unit that encodes the quantized data generated by the quantization unit in which a coding unit, which is a processing unit for encoding processing, and a transform unit, which is a processing unit for conversion processing, have a hierarchical structure.
  • a conversion unit may be further provided.
  • the quantization matrix that is limited to a transmission size that is the maximum size allowed for transmission or less is up-converted to the same size as the block size that is a processing unit when inverse quantization is performed.
  • Setting a replacement difference coefficient which is a difference between a replacement coefficient used when replacing a coefficient located at the head of the up-conversion quantization matrix and a coefficient located at the head of the quantization matrix, quantizing the image, and quantizing data
  • the encoded data obtained by encoding the generated quantized data, the permutation coefficient data obtained by encoding the permutation coefficient, and the permutation difference coefficient data obtained by encoding the set permutation difference coefficient are transmitted. This is an image processing method.
  • an up-converted up-converted block size that is a processing unit for inverse quantization of a quantization matrix that is limited to a transmission size that is the maximum size allowed for transmission or less.
  • a replacement difference coefficient which is a difference between a replacement coefficient used when replacing the coefficient located at the beginning of the converted quantization matrix and a coefficient located at the beginning of the quantization matrix, is set, the image is quantized, and the quantized data is The generated encoded data obtained by encoding the generated quantized data, the replacement coefficient data obtained by encoding the replacement coefficient, and the replacement difference coefficient data obtained by encoding the set replacement difference coefficient are transmitted.
  • an image can be processed.
  • an increase in the code amount of the quantization matrix can be suppressed.
  • FIG. 42 is a flowchart subsequent to FIG. 41 for explaining yet another example of the flow of the inverse DPCM processing. It is a figure which shows the further another example of the syntax of a scaling list. It is a figure which shows the further another example of the syntax of a scaling list. It is a figure which shows the further another example of the syntax of a scaling list.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer.
  • This technique relates to encoding / decoding of a scaling list used for quantization / inverse quantization processing performed in encoding / decoding of image data.
  • the coefficient data may be quantized or dequantized.
  • Such quantization / inverse quantization is performed for each block having a predetermined size, and a scaling list (quantization matrix) having a size corresponding to the block size is used.
  • quantization inverse quantization
  • quantization matrices of 4x4 and 8x8 sizes are prepared.
  • FIG. 1 shows an example of an 8x8 scaling list.
  • the scaling list includes a DC coefficient (DC coefficient) and an AC coefficient (AC coefficient).
  • a DC coefficient composed of one value is a (0,0) coefficient of a quantization matrix, and corresponds to a DC coefficient of discrete cosine transform (DCT (Discrete Cosine Transform)).
  • the AC coefficient is a coefficient other than the (0,0) coefficient of the quantization matrix, and corresponds to a coefficient other than the DC coefficient of the DCT.
  • the AC coefficient is expressed as a matrix.
  • the AC coefficient includes a (0,0) coefficient (hereinafter also referred to as an AC coefficient (0,0)), but when used for quantization / inverse quantization, the head of this quantization matrix is used.
  • the (0,0) coefficient which is a coefficient located at, is replaced with a DC coefficient. Therefore, the DC coefficient is also referred to as a substitution coefficient.
  • the AC coefficients form an 8 ⁇ 8 matrix.
  • the 16 ⁇ 16 or 32 ⁇ 32 quantization uses an upconverted (expanded conversion) version of an 8 ⁇ 8 quantization matrix.
  • Figure 2 shows an example of how to upconvert an 8x8 scaling list to 16x16.
  • nearest neighbor interpolation processing is applied to scaling list up-conversion. Details of the nearest neighbor interpolation process will be described later with reference to FIG.
  • up-conversion is performed on the AC coefficients of the scaling list. Then, the (0, 0) coefficient of the up-converted AC coefficient is replaced with a DC coefficient.
  • 8x8 scaling lists Two types of 8x8 scaling lists are available, one for up-conversion to 16x16 (8x8 for 16x16) and one for up-conversion to 32x32 (8x8 for 32x32).
  • the scaling list used for quantization in encoding is also used for inverse quantization in decoding (decoder). That is, the scaling list is transmitted from the encoding side (encoder) to the decoding side (decoder) side.
  • FIG. 3 shows an example of such a situation.
  • the two types of 8x8 scaling lists for up-conversion to 16x16 size and up-conversion to 32x32 size described above are transmitted.
  • a 4 ⁇ 4 scaling list is also transmitted.
  • the AC coefficients of the 8x8 scaling list for up-conversion to 16x16 size transmitted in this way are up-converted to 16x16 size by the nearest neighbor interpolation processing as described above on the decoding side (decoder), and (0,0 ) Coefficients are replaced with DC coefficients and used to dequantize 16x16 size blocks.
  • the AC coefficient of the 8x8 scaling list for up-conversion to 32x32 size transmitted in this way is up-converted to 32x32 size by nearest neighbor interpolation processing as described above on the decoding side (decoder), ( The (0,0) coefficient is replaced with a DC coefficient and used for inverse quantization of a 32x32 size block.
  • each difference is transmitted after being subjected to exponential Golomb coding.
  • the difference of (1) is the difference between the AC coefficient (0,0) and the initial value “8”
  • the value of the AC coefficient (0,0) is close to the initial value “8”. If it is not a value, the amount of code may increase.
  • the value of the AC coefficient (0,0) is “12”, and the value “4” is exponentially Golomb encoded and transmitted as the difference of (1). That is, 7 bits are required for the transmission of the difference (1), which may reduce the coding efficiency. If the difference value (1) is larger, the coding efficiency may be further reduced. This is the same for the 8x8 scaling list for up-conversion to 16x16 size and the 8x8 scaling list for up-conversion to 32x32 size.
  • the (0,1) coefficient, (1.0) coefficient, and (1.1) coefficient after up-conversion correspond to the AC coefficient (0,0) before up-conversion.
  • the (0, 0) coefficient after up-conversion corresponds to the DC coefficient.
  • the value of the AC coefficient (0, 0) and the value of the DC coefficient are close to each other.
  • the default matrix of MPEG2, AVC, and HEVC has such values.
  • the value of the DC coefficient is “12”, which is the same as the AC coefficient (0, 0). Therefore, the difference in (3), that is, the difference between the DC coefficient and the initial value “8” is also “4”.
  • each difference is exponential Golomb encoded and transmitted as an exponential Golomb code.
  • each difference transmitted as an exponential Golomb code When the transmission destination of each difference transmitted as an exponential Golomb code receives the exponential Golomb code, it decodes the received exponential Golomb code, and each obtained difference is subjected to the reverse processing of (1) to (3) described above. To obtain each coefficient (DC coefficient and AC coefficient).
  • DPCM of AC coefficient (0,0) and DC coefficient> The scaling list is transmitted after being subjected to differential pulse code modulation (DPCM).
  • DPCM differential pulse code modulation
  • the AC coefficient and the DC coefficient are DPCM independently, whereas one of the features of the present technology is that the AC coefficient (0,0) as in the example in FIG. 5.
  • obtaining a difference also referred to as a replacement difference coefficient
  • the AC coefficient (0, 0) and the DC coefficient take close values. Therefore, the difference between the AC coefficient (0,0) and the DC coefficient is likely to be smaller than the difference between the AC coefficient (0,0) and the initial value “8”. That is, it is more likely that the code amount is reduced by applying the present technology and transmitting a replacement difference coefficient that is a difference between the AC coefficient (0, 0) and the DC coefficient.
  • the difference value of (1) is “0”.
  • FIG. 6 is a diagram illustrating an example of exponential Golomb coding. As shown in the table of FIG. 6, the code length of the exponent Golomb code with the value “4” is 7 bits, whereas the code length of the exponent Golomb code with the value “0” is 1 bit. That is, in the case of FIG. 5, the code amount can be reduced by 6 bits compared to the case of FIG.
  • FIG. 7 shows an example of the syntax of the scaling list.
  • the syntax is as in the example of A in FIG. That is, the difference between the AC coefficient (0,0) and the initial value “8” and the difference between the AC coefficients (scaling_list_delta_coef) are transmitted, and then the difference between the DC coefficient and the initial value “8”. (Scaling_list_dc_coef_minus8) is transmitted.
  • one of the features of the present technology is that the difference between the DC coefficient and the AC coefficient (0,0) and the difference between the AC coefficients are arranged in this order and transmitted together. That is, as shown in FIG. 5, after the DC coefficient and each AC coefficient in a predetermined scan order are arranged one-dimensionally and the difference between the DC coefficient and the initial value “8” is obtained, the coefficient sequence The difference between adjacent coefficients is obtained. Then, each obtained difference (difference between coefficients) is transmitted together in a state in which the obtained differences are arranged one-dimensionally.
  • the syntax in this case is as shown in the example of FIG. That is, the difference (scaling_list_dc_coef_minus8) between the DC coefficient and the initial value “8” is transmitted first, and then the difference between the DC coefficient and the AC coefficient (0,0) and the difference between the AC coefficients (scaling_list_delta_coef) Is transmitted. That is, the DC coefficient and the AC coefficient are encoded and transmitted together.
  • the transmission side decoding side (decoder) can decode each in the order of transmission and obtain each coefficient. That is, the DPCM scaling list can be easily decoded. More specifically, the processing load can be reduced. In addition, since it is not necessary to rearrange the differences, the buffer capacity can be reduced. Furthermore, since decoding can be performed in the order of supply of each difference, an increase in processing time can be suppressed.
  • FIG. 8 is a diagram illustrating an example of syntax related to transmission of a default matrix.
  • the first coefficient DC coefficient
  • the value of the difference scaling_list_dc_coef_minus8
  • the code length of the exponent Golomb code having the value “ ⁇ 8” is 9 bits. That is, there is a fear that the encoding efficiency is greatly reduced.
  • the high level syntax High Level Syntax
  • the syntax becomes complicated, and there is a risk of increasing the processing load.
  • the semantics of the scaling_list_pred_matrix_id_delta is changed. More specifically, the semantics of scaling_list_pred_matrix_id_delta are changed from A in FIG. 9 to B in FIG. That is, conventionally, as shown in FIG. 9A, when this value is “0”, it indicates that the previous matrix (MatrixID-1) is referred to. As shown in FIG. 9B, when the value of this scaling_list_pred_matrix_id_delta is “0”, it means a default matrix.
  • the code length of the exponent Golomb code for transmitting information indicating that the default matrix is used can be set to 1 bit, and the reduction of the encoding efficiency can be suppressed.
  • the syntax as shown in FIG. 10A and FIG. 10B is necessary for the scaling list, but this can be simplified as in the example shown in FIG. That is, it is possible to reduce the processing load related to encoding / decoding of the scaling list.
  • useDefaultScalingMatrixFlag 1, the process exited the loop.
  • stopNow an intermediate flag
  • assigns nextCoef to the value of scalingList under this condition.
  • the initial value of scaling_list_delta_coef is set as the DC coefficient by substituting the DC coefficient calculated from scaling_list_dc_coef_minus8 into nextCoef.
  • scaling_list_pred_matrix_id_delta that was previously expressed as “+1” is used as it is, and the value “0” is treated specially.
  • the number of syntax lines related to the scaling list can be greatly reduced. Also, the two variables UseDefaultScalingMatrix and stopNow that must be held as intermediate data can be omitted. Furthermore, the branch in the for loop as shown in FIG. 10 can be made unnecessary. Therefore, it is possible to reduce the processing load related to encoding / decoding of the scaling list.
  • the scaling list is encoded by the DPCM unit 192 of the entropy encoding unit 164 (FIG. 16) of the matrix processing unit 150 (FIG. 15) of the orthogonal transform / quantization unit 14 (FIG. 14) of the image encoding device 10. And expG unit 193 (both in FIG. 16). That is, the DPCM unit 192 obtains a difference between each coefficient (DC coefficient or AC coefficient) in the scaling list, and the expG unit 193 performs exponential Golomb coding on each difference.
  • the DPCM unit 192 has, for example, a configuration example as shown in FIG. 19 and a DPCM like the example shown in FIG. What is necessary is just to process.
  • the semantics may be as shown in the examples of C in FIG. 44 and C in FIG.
  • a necessary configuration may be provided in accordance with the embodiment, such as a processing unit that performs up-conversion of the scaling list and a processing unit that performs quantization using the scaling list.
  • the scaling list is decoded by the expG section of the entropy decoding unit 533 (FIG. 24) of the matrix generation unit 410 (FIG. 23) of the inverse quantization / inverse orthogonal transform unit 313 (FIG. 22) of the image decoding device 300. This is performed in 551 and reverse DPCM section 552 (both in FIG. 24). That is, the expG unit 551 decodes the exponent Golomb code to obtain a difference, and the inverse DPCM unit 552 obtains each coefficient (DC coefficient or AC coefficient) of the scaling list from each difference.
  • the inverse DPCM unit 552 has a configuration example as shown in FIG. 26, for example, as shown in FIG.
  • the reverse DPCM processing as in the example may be performed.
  • the semantics may be as shown in the examples of C in FIG. 44 and C in FIG.
  • the expG unit 551 and the inverse DPCM unit 552 need be provided, and any other configuration may be employed.
  • a necessary configuration may be provided in accordance with the embodiment, such as a processing unit that performs up-conversion of the scaling list and a processing unit that performs inverse quantization using the scaling list.
  • FIG. 12A shows the syntax (Scaling list data syntax) regarding the scaling list data
  • B in Fig. 12 shows the syntax of the scaling list (Scaling list syntax).
  • Scaling list data syntax As shown in FIG. 12A, in the syntax related to scaling list data, a flag indicating whether a scaling list is provided (scaling_list_present_flag), a flag indicating whether it is a copy mode (scaling_list_pred_mode_flag), and a copy mode In this case, it is determined that information (scaling_list_pred_matrix_id_delta) indicating which scaling list is to be read is read.
  • (1-2) Scaling list syntax As shown in FIG. 12B, in the syntax of the scaling list, a DC coefficient (scaling_list_dc_coef_minus8) obtained by subtracting a constant (for example, 8) from the value, a difference value (scaling_list_delta_coef) of the AC coefficient, and the like are read. Coefficients and AC coefficients are determined to be restored.
  • DC coefficient also referred to as DC coefficient
  • DC coefficient which is the coefficient of the DC component (DC component)
  • the difference value is obtained as the DC coefficient.
  • this difference value is information for calculating the DC coefficient, that is, it is substantially equivalent to the DC coefficient.
  • this difference has a smaller value than the DC coefficient itself. That is, the code amount is reduced by transmitting this difference value instead of the DC coefficient.
  • the size of the scaling list (quantization matrix) is 8x8.
  • a specific example of a method for transmitting the difference between the DC coefficient and other coefficients instead of the DC coefficient described above will be described below.
  • a DC coefficient may be considered as the head element of an 8x8 matrix (AC coefficient) and may be transmitted by DPCM (Differential Pulse Code Modulation) with 65 coefficients (method) 1).
  • AC coefficient head element of an 8x8 matrix
  • DPCM Different Pulse Code Modulation
  • a difference between a predetermined constant and a DC coefficient is calculated, and is set as the first coefficient of DPCM data.
  • a difference between the DC coefficient and the first AC coefficient is calculated, and is set as the second coefficient of the DPCM data.
  • a difference between the first AC coefficient and the second AC coefficient is calculated, and is set as the third coefficient of the DPCM data.
  • the difference from the previous AC coefficient is calculated and set as the fourth and subsequent coefficients of the DPCM data.
  • the DPCM data generated in this way is transmitted in order from the first coefficient.
  • the compression rate can be further improved when the (0, 0) coefficient (AC coefficient) and the DC coefficient of the 8x8 matrix are close to each other.
  • the image coding apparatus can process the DC coefficient in the same manner as an AC coefficient (also referred to as an AC coefficient) that is a coefficient of an AC component (AC component).
  • the image decoding apparatus to which this coefficient group is transmitted needs to specially handle only the first coefficient. That is, the image decoding apparatus needs to extract DC coefficients from the AC coefficient group.
  • the syntax of the scaling list is shown in FIG.
  • 65 differential values (scaling_list_delta_coef) between coefficients are read, and among the respective coefficients (nextcoef) obtained from these differential values, the first coefficient (nextcoef) is a DC coefficient (scaling_list_dc_coef).
  • the other coefficients are AC coefficients (ScalingList [i]).
  • FIG. 14 is a block diagram illustrating an exemplary configuration of the image encoding device 10 according to an embodiment of the present disclosure.
  • An image encoding device 10 illustrated in FIG. 14 is an image processing device to which the present technology is applied, which encodes input image data and outputs the obtained encoded data.
  • the image encoding device 10 includes an A / D (Analogue to Digital) conversion unit 11 (A / D), a rearrangement buffer 12, a subtraction unit 13, an orthogonal transform / quantization unit 14, and a lossless encoding.
  • Unit 16 accumulation buffer 17, rate control unit 18, inverse quantization unit 21, inverse orthogonal transform unit 22, addition unit 23, deblock filter 24, frame memory 25, selector 26, intra prediction unit 30, motion search unit 40, And a mode selection unit 50.
  • the A / D converter 11 converts an image signal input in an analog format into image data in a digital format, and outputs a series of digital image data to the rearrangement buffer 12.
  • the rearrangement buffer 12 rearranges the images included in the series of image data input from the A / D conversion unit 11.
  • the rearrangement buffer 12 rearranges the images according to a GOP (Group of Pictures) structure related to the encoding process, and then transmits the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the motion search unit 40. Output.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with image data input from the rearrangement buffer 12 and predicted image data selected by the mode selection unit 50 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 12 and the prediction image data input from the mode selection unit 50, and orthogonally transforms and quantizes the calculated prediction error data.
  • the orthogonal transform / quantization unit 14 performs orthogonal transform and quantization on the prediction error data input from the subtraction unit 13, and converts the quantized transform coefficient data (hereinafter referred to as quantized data) into the lossless encoding unit 16 and The result is output to the inverse quantization unit 21.
  • the bit rate of the quantized data output from the orthogonal transform / quantization unit 14 is controlled based on the rate control signal from the rate control unit 18. The detailed configuration of the orthogonal transform / quantization unit 14 will be further described later.
  • the lossless encoding unit 16 selects the quantized data input from the orthogonal transform / quantization unit 14, information for generating a scaling list (quantization matrix) on the decoding side, and the mode selection unit 50.
  • Information about intra prediction or inter prediction is provided.
  • the information regarding intra prediction may include, for example, prediction mode information indicating an optimal intra prediction mode for each block.
  • the information related to inter prediction may include, for example, prediction mode information for motion vector prediction for each block, difference motion vector information, reference image information, and the like.
  • the information for generating the scaling list on the decoding side may include identification information indicating the maximum size of the scaling list to be transmitted (or the difference matrix between the scaling list (quantization matrix) and its prediction matrix).
  • the lossless encoding unit 16 generates an encoded stream by performing lossless encoding processing on the quantized data.
  • the lossless encoding by the lossless encoding unit 16 may be, for example, variable length encoding or arithmetic encoding.
  • the lossless encoding unit 16 multiplexes information for generating a scaling list in a header (for example, a sequence parameter set and a picture parameter set) of the encoded stream. Further, the lossless encoding unit 16 multiplexes the information related to the above-described intra prediction or inter prediction in the header of the encoded stream. Then, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the encoded stream input from the lossless encoding unit 16 using a storage medium such as a semiconductor memory.
  • the accumulation buffer 17 outputs the accumulated encoded stream at a rate corresponding to the bandwidth of the transmission path (or the output line from the image encoding device 10).
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the orthogonal transform / quantization unit 14. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
  • the inverse quantization unit 21 performs an inverse quantization process on the quantized data input from the orthogonal transform / quantization unit 14. Then, the inverse quantization unit 21 outputs transform coefficient data acquired by the inverse quantization process to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 restores the prediction error data by performing an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization unit 21. Then, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the addition unit 23.
  • the addition unit 23 generates decoded image data by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the mode selection unit 50. Then, the adder 23 outputs the generated decoded image data to the deblock filter 24 and the frame memory 25.
  • the deblocking filter 24 performs a filtering process for reducing block distortion that occurs during image coding.
  • the deblocking filter 24 removes (or at least reduces) block distortion by filtering the decoded image data input from the adding unit 23, and outputs the filtered decoded image data to the frame memory 25.
  • the frame memory 25 stores the decoded image data input from the adder 23 and the decoded image data after filtering input from the deblock filter 24 using a storage medium.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 30 as reference image data. Further, the selector 26 reads out the filtered decoded image data used for inter prediction from the frame memory 25 and supplies the read decoded image data to the motion search unit 40 as reference image data.
  • the intra prediction unit 30 performs intra prediction processing in each intra prediction mode based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26. For example, the intra prediction unit 30 evaluates the prediction result in each intra prediction mode using a predetermined cost function. Then, the intra prediction unit 30 selects an intra prediction mode in which the cost function value is minimum, that is, an intra prediction mode in which the compression rate is the highest as the optimal intra prediction mode. Further, the intra prediction unit 30 outputs information related to intra prediction, such as prediction mode information indicating the optimal intra prediction mode, predicted image data, and cost function value, to the mode selection unit 50.
  • the motion search unit 40 performs an inter prediction process (interframe prediction process) based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26. For example, the motion search unit 40 evaluates the prediction result in each prediction mode using a predetermined cost function. Next, the motion search unit 40 selects a prediction mode with the smallest cost function value, that is, a prediction mode with the highest compression rate, as the optimum prediction mode. Further, the motion search unit 40 generates predicted image data according to the optimal prediction mode. Then, the motion search unit 40 outputs information related to inter prediction including prediction mode information indicating the selected optimal prediction mode, information related to inter prediction such as predicted image data, and cost function values to the mode selection unit 50. .
  • inter prediction process interframe prediction process
  • the mode selection unit 50 compares the cost function value related to intra prediction input from the intra prediction unit 30 with the cost function value related to inter prediction input from the motion search unit 40. And the mode selection part 50 selects the prediction method with few cost function values among intra prediction and inter prediction.
  • the mode selection unit 50 selects intra prediction
  • the mode selection unit 50 outputs information on intra prediction to the lossless encoding unit 16 and outputs predicted image data to the subtraction unit 13 and the addition unit 23.
  • the mode selection unit 50 outputs the above-described information regarding inter prediction to the lossless encoding unit 16 and outputs the predicted image data to the subtraction unit 13 and the addition unit 23.
  • FIG. 15 is a block diagram illustrating an example of a detailed configuration of the orthogonal transform / quantization unit 14 of the image encoding device 10 illustrated in FIG. 14.
  • the orthogonal transform / quantization unit 14 includes a selection unit 110, an orthogonal transform unit 120, a quantization unit 130, a scaling list buffer 140, and a matrix processing unit 150.
  • the selection unit 110 selects a transform unit (TU) used for orthogonal transform of encoded image data from a plurality of transform units having different sizes.
  • Candidate sizes of conversion units that can be selected by the selection unit 110 include, for example, 4x4 and 8x8 in H.264 / AVC (Advanced Video Coding), and 4x4, 8x8, 16x16, and 32x32 in HEVC (High Efficiency Video Coding).
  • the selection unit 110 may select any conversion unit according to the size or image quality of the image to be encoded, the performance of the image encoding device 10, or the like.
  • the selection of the conversion unit by the selection unit 110 may be hand-tuned by a user who develops the image encoding device 10. Then, the selection unit 110 outputs information specifying the size of the selected transform unit to the orthogonal transform unit 120, the quantization unit 130, the lossless encoding unit 16, and the inverse quantization unit 21.
  • the orthogonal transform unit 120 performs orthogonal transform on the image data (that is, prediction error data) supplied from the subtraction unit 13 in the transform unit selected by the selection unit 110.
  • the orthogonal transform executed by the orthogonal transform unit 120 may be, for example, discrete cosine transform (DCT (Discrete Cosine Transform)) or Karoonen-Loeve transform. Then, the orthogonal transform unit 120 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 130.
  • DCT discrete cosine transform
  • Karoonen-Loeve transform Karoonen-Loeve transform
  • the quantization unit 130 quantizes the transform coefficient data generated by the orthogonal transform unit 120 using a scaling list corresponding to the transform unit selected by the selection unit 110. Further, the quantization unit 130 changes the bit rate of the output quantized data by switching the quantization step size based on the rate control signal from the rate control unit 18.
  • the quantization unit 130 causes the scaling list buffer 140 to store a set of scaling lists respectively corresponding to a plurality of transform units that can be selected by the selection unit 110. For example, when there are four types of conversion unit candidates of 4x4, 8x8, 16x16, and 32x32 as in HEVC, a set of four types of scaling lists respectively corresponding to these four types of sizes is stored in the scaling list buffer 140. Can be stored. Note that if a default scaling list is used for a certain size, only the flag indicating that the default scaling list is used (do not use a user-defined scaling list) is associated with that size. It may be stored by the buffer 140.
  • a set of scaling lists that may be used by the quantization unit 130 may typically be set for each sequence of the encoded stream. Further, the quantization unit 130 may update the set of scaling lists set for each sequence for each picture. Information for controlling the setting and updating of such a set of scaling lists may be inserted into, for example, a sequence parameter set and a picture parameter set.
  • the scaling list buffer 140 temporarily stores a set of scaling lists respectively corresponding to a plurality of conversion units that can be selected by the selection unit 110 using a storage medium such as a semiconductor memory.
  • the set of scaling lists stored by the scaling list buffer 140 is referred to when processing by the matrix processing unit 150 described below.
  • the matrix processing unit 150 encodes a scaling list used for encoding (quantization).
  • the encoded data of the scaling list generated by the matrix processing unit 150 (hereinafter referred to as “scaling list encoded data”) is output to the lossless encoding unit 16 and can be inserted into the header of the encoded stream.
  • FIG. 16 is a block diagram illustrating an example of a more detailed configuration of the matrix processing unit 150.
  • the matrix processing unit 150 includes a prediction unit 161, a difference matrix generation unit 162, a difference matrix size conversion unit 163, an entropy encoding unit 164, a decoding unit 165, and an output unit 166.
  • the prediction unit 161 generates a prediction matrix. As illustrated in FIG. 16, the prediction unit 161 includes a copy unit 171 and a prediction matrix generation unit 172.
  • the copy unit 171 duplicates the scaling list transmitted in the past and uses it as a prediction matrix (predicts the scaling list of the orthogonal transformation unit to be processed). More specifically, the copy unit 171 acquires the size of the scaling list and the list ID (ListID) transmitted in the past from the storage unit 202 of the decoding unit 165.
  • the size is information indicating the size of the scaling list (for example, 4x4 to 32x32).
  • the list ID is information indicating the type of prediction error data to be quantized.
  • the list ID is a luminance difference prediction error data (IntraLuma) generated using an intra-predicted prediction image, or a color difference generated using an intra-predicted prediction image.
  • the prediction error data (IntraCr) of the component (Cr), the prediction error data (IntraCb) of the chrominance component (Cb) generated using the intra-predicted prediction image, or the inter-predicted prediction It includes identification information indicating whether or not the luminance component prediction error data (InterLuma) is generated using an image.
  • the copy unit 171 selects a scaling list transmitted in the past having the same size as the scaling list input to the matrix processing unit 150 (scaling list of the orthogonal transformation unit to be processed) as a replication target, and the scaling list to be the replication target Are output to the output unit 166 and output to the outside of the matrix processing unit 150 (the lossless encoding unit 16 and the inverse quantization unit 21). That is, in this case, only the ListID is transmitted to the decoding side as information indicating a prediction matrix generated by duplicating the scaling list transmitted in the past (included in the encoded data). An increase in the code amount of the scaling list can be suppressed.
  • the prediction matrix generation unit 172 acquires a scaling list transmitted in the past from the storage unit 202 of the decoding unit 165, and generates a prediction matrix using the scaling list (scaling of orthogonal transformation units to be processed). Predict the list). The prediction matrix generation unit 172 supplies the generated prediction matrix to the difference matrix generation unit 162.
  • the difference matrix generation unit 162 is a difference matrix (a difference matrix that is a difference between the prediction matrix supplied from the prediction unit 161 (prediction matrix generation unit 172) and the scaling list input to the matrix processing unit 150. Residual matrix). As illustrated in FIG. 16, the difference matrix generation unit 162 includes a prediction matrix size conversion unit 181, a calculation unit 182, and a quantization unit 183.
  • the prediction matrix size conversion unit 181 converts the size of the prediction matrix supplied from the prediction matrix generation unit 172 to match the size of the scaling list input to the matrix processing unit 150 (hereinafter also referred to as conversion).
  • the prediction matrix size conversion unit 181 performs reduction conversion (hereinafter also referred to as down-conversion) of the prediction matrix. More specifically, for example, when the prediction matrix is 16x16 and the scaling list is 8x8, the prediction matrix size conversion unit 181 down-converts the prediction matrix to 8x8. Note that this down-conversion method is arbitrary.
  • the prediction matrix size conversion unit 181 may reduce the number of elements of the prediction matrix (by calculation) using a filter (hereinafter also referred to as down-sampling). For example, as illustrated in FIG. 17, the prediction matrix size conversion unit 181 thins out some elements (for example, only the even-numbered part (black part in FIG. 17) of a two-dimensional element) without using a filter. Thus, the number of elements of the prediction matrix may be reduced (hereinafter also referred to as subsample).
  • the prediction matrix size conversion unit 181 performs expansion conversion (hereinafter also referred to as up-conversion) of the prediction matrix. More specifically, for example, when the prediction matrix is 8x8 and the scaling list is 16x16, the prediction matrix size conversion unit 181 upconverts the prediction matrix to 16x16.
  • This up-conversion method is arbitrary.
  • the prediction matrix size conversion unit 181 may increase the number of elements of the prediction matrix (by calculation) using a filter (hereinafter also referred to as upsampling). Further, for example, the prediction matrix size conversion unit 181 may increase the number of elements of the prediction matrix by duplicating each element of the prediction matrix without using a filter (hereinafter also referred to as an inverse subsample). ).
  • the prediction matrix size conversion unit 181 supplies a prediction matrix whose size matches the scaling list to the calculation unit 182.
  • the calculation unit 182 subtracts the scaling list input to the matrix processing unit 150 from the prediction matrix supplied from the prediction matrix size conversion unit 181 to generate a difference matrix (residual matrix).
  • the calculation unit 182 supplies the calculated difference matrix to the quantization unit 183.
  • the quantization unit 183 quantizes the difference matrix supplied from the calculation unit 182.
  • the quantization unit 183 supplies the quantization result of the difference matrix to the difference matrix size conversion unit 163. Further, the quantization unit 183 supplies information such as the quantization parameter used for the quantization to the output unit 166 and outputs the information to the outside of the matrix processing unit 150 (the lossless encoding unit 16 and the inverse quantization unit 21). Let Note that the quantization unit 183 may be omitted (that is, the difference matrix is not quantized).
  • the difference matrix size conversion unit 163 sets the size of the difference matrix (quantized data) supplied from the difference matrix generation unit 162 (quantization unit 183) as necessary during transmission. To the maximum size allowed (hereinafter also referred to as transmission size). The maximum size is arbitrary, but is 8 ⁇ 8, for example.
  • the encoded data output from the image encoding device 10 is transmitted to an image decoding device corresponding to the image encoding device 10 via, for example, a transmission path or a storage medium, and is decoded by the image decoding device.
  • the upper limit (maximum size) of the size of the difference matrix (quantized data) in such transmission, that is, in the encoded data output from the image encoding device 10, is set. .
  • the difference matrix size conversion unit 163 down-converts the difference matrix so that the difference matrix size is smaller than the maximum size when the size of the difference matrix is larger than the maximum size.
  • this down-conversion method is arbitrary as in the case of the above-described prediction matrix down-conversion.
  • it may be a down sample using a filter or the like, or a sub sample in which elements are thinned out.
  • the size of the difference matrix after down-conversion can be any size as long as it is smaller than the maximum size.
  • the larger the size difference before and after conversion the larger the error, so it is desirable to down-convert to the maximum size.
  • the difference matrix size conversion unit 163 supplies the down-converted difference matrix to the entropy encoding unit 164. Note that, when the size of the difference matrix is smaller than the maximum size, this down-conversion is unnecessary, and therefore the difference matrix size conversion unit 163 supplies the input difference matrix as it is to the entropy encoding unit 164 (that is, down-conversion). Is omitted).
  • the entropy encoding unit 164 encodes the difference matrix (quantized data) supplied from the difference matrix size conversion unit 163 by a predetermined method. As shown in FIG. 16, the entropy encoding unit 164 includes an overlap determination unit (135 degree unit) 191, a DPCM (Differential Pulse Code Modulation) unit 192, and an expG unit 193.
  • the entropy encoding unit 164 includes an overlap determination unit (135 degree unit) 191, a DPCM (Differential Pulse Code Modulation) unit 192, and an expG unit 193.
  • the overlap determination unit 191 determines the symmetry of the difference matrix supplied from the difference matrix size conversion unit 163, and when the residual (difference matrix) is a 135 degree symmetric matrix, for example, as illustrated in FIG.
  • the data (matrix element) of the symmetric part which is the overlapping data is deleted.
  • the overlap determination unit 191 omits the deletion of this data (matrix element).
  • the duplication determination unit 191 supplies the DPCM unit 192 with data of the difference matrix from which the symmetric part is deleted as necessary.
  • the DPCM unit 192 DPCM-encodes the difference matrix data supplied from the duplication determination unit 191 from which the symmetric part is deleted as necessary, and generates DPCM data.
  • the DPCM unit 192 supplies the generated DPCM data to the expG unit 193.
  • the expG unit 193 performs signed / unsigned exponential golomb code (hereinafter also referred to as exponent Golomb code) on the DPCM data supplied from the DPCM unit 192.
  • the expG unit 193 supplies the encoding result to the decoding unit 165 and the output unit 166.
  • the decoding unit 165 restores the scaling list from the data supplied from the expG unit 193.
  • the decoding unit 165 supplies information on the restored scaling list to the prediction unit 161 as a scaling list transmitted in the past.
  • the decoding unit 165 includes a scaling list restoration unit 201 and a storage unit 202.
  • the scaling list restoration unit 201 decodes the exponent Golomb code supplied from the entropy coding unit 164 (expG unit 193), and restores the scaling list input to the matrix processing unit 150.
  • the scaling list restoration unit 201 decodes the exponent Golomb code by a method corresponding to the encoding method of the entropy encoding unit 164, performs inverse conversion of the size conversion by the difference matrix size conversion unit 163, and performs the conversion by the quantization unit 183.
  • the scaling list is restored by performing inverse quantization corresponding to the quantization and subtracting the obtained difference matrix from the prediction matrix.
  • the scaling list restoration unit 201 supplies the restored scaling list to the storage unit 202 and stores it in association with its size and list ID.
  • the storage unit 202 stores information related to the scaling list supplied from the scaling list restoration unit 201. Information on the scaling list stored in the storage unit 202 is used to generate a prediction matrix of another orthogonal transform unit processed later in time. That is, the storage unit 202 supplies the stored information on the scaling list to the prediction unit 161 as information on the scaling list transmitted in the past.
  • the storage unit 202 may store the scaling list input to the matrix processing unit 150 in association with the size and the list ID instead of storing the information on the restored scaling list. .
  • the scaling list restoration unit 201 can be omitted.
  • the output unit 166 outputs various types of supplied information to the outside of the matrix processing unit 150. For example, in the copy mode, the output unit 166 supplies the prediction matrix list ID supplied from the copy unit 171 to the lossless encoding unit 16 and the inverse quantization unit 21. Further, for example, in a normal case, the output unit 166 converts the exponent Golomb code supplied from the expG unit 193 and the quantization parameter supplied from the quantization unit 183 into the lossless encoding unit 16 and the inverse quantization unit 21. To supply.
  • the output unit 166 generates identification information indicating the maximum size (transmission size) allowed for transmission of the scaling list (or a difference matrix between the scaling list and its prediction matrix), and generates a scaling list on the decoding side. Is supplied to the lossless encoding unit 16 as information to be performed. As described above, the lossless encoding unit 16 includes information for generating the scaling list in the encoded stream and provides it to the decoding side.
  • the identification information indicating the transmission size may be defined in advance by a level, a profile, or the like. In this case, since the information regarding the transmission size is shared in advance between the encoding device and the decoding device, the transmission of the identification information described above can be omitted.
  • FIG. 19 is a block diagram illustrating an example of a more detailed configuration of the DPCM unit 192.
  • the DPCM unit 192 includes a DC coefficient encoding unit 211 and an AC coefficient DPCM unit 212.
  • the DC coefficient encoding unit 211 acquires a DC coefficient from the coefficient group supplied from the duplication determination unit 191, subtracts the value of the DC coefficient from a predetermined initial value (for example, 8), and calculates the difference value.
  • the AC coefficient DPCM unit 212 acquires an AC coefficient from the coefficient group supplied from the duplication determination unit 191, subtracts the value of the AC coefficient from the coefficient processed immediately before, and calculates the difference value (scaling_list_delta_coef (I> 0)).
  • the AC coefficient DPCM unit 212 supplies the calculated difference value (scaling_list_delta_coef (i> 0)) to the expG unit 193 as a coefficient of the scaling list corresponding to the area being processed.
  • the DPCM unit 192 can transmit the DC coefficient as the head element of the scaling list (AC coefficient). Thereby, the encoding efficiency of a scaling list can be improved.
  • Quantization matrix coding process flow An example of the flow of the quantization matrix encoding process executed by the matrix processing unit 150 in FIG. 16 will be described with reference to the flowchart in FIG.
  • step S101 the prediction unit 161 acquires a scaling list (quantization matrix) of a current area (also referred to as an attention area) that is an orthogonal transform unit to be processed.
  • a scaling list quantization matrix of a current area (also referred to as an attention area) that is an orthogonal transform unit to be processed.
  • step S102 the prediction unit 161 determines whether the copy mode is set. If it is determined that the copy mode is not selected, the prediction unit 161 advances the process to step S103.
  • step S103 the prediction matrix generation unit 172 acquires the scaling list transmitted in the past from the storage unit 202, and generates a prediction matrix using the scaling list.
  • step S104 the prediction matrix size conversion unit 181 determines whether the size of the prediction matrix generated in step S103 is different from the scaling list of the current region (region of interest) acquired in step S101. If it is determined that the sizes are different, the prediction matrix size conversion unit 181 advances the processing to step S105.
  • step S105 the prediction matrix size conversion unit 181 converts the size of the prediction matrix generated in step S103 into the size of the scaling list of the current area acquired in step S101.
  • step S105 the prediction matrix size conversion unit 181 advances the process to step S106. If it is determined in step S104 that the size of the prediction matrix is the same as the size of the scaling list, the prediction matrix size conversion unit 181 omits the process of step S105 (without performing the process of step S105). The process proceeds to step S106.
  • step S106 the calculation unit 182 subtracts the scaling list from the prediction matrix to calculate a difference matrix between the prediction matrix and the scaling list.
  • step S107 the quantization unit 183 quantizes the difference matrix generated in step S106. This process may be omitted.
  • step S108 the difference matrix size conversion unit 163 determines whether or not the size of the quantized difference matrix is larger than the transmission size (the maximum size allowed for transmission). If it is determined that the size is larger than the transmission size, the difference matrix size conversion unit 163 proceeds with the process to step S109 and downconverts the difference matrix to be equal to or smaller than the transmission size.
  • step S109 the difference matrix size conversion unit 163 advances the process to step S110. If it is determined in step S108 that the size of the quantized difference matrix is equal to or smaller than the transmission size, the difference matrix size conversion unit 163 omits the process of step S109 (without performing the process of step S109). Then, the process proceeds to step S110.
  • step S110 the overlap determination unit 191 determines whether or not the quantized difference matrix has 135 degrees of symmetry. When it determines with having 135 degree
  • step S111 the duplication determination unit 191 deletes an overlapping portion (duplicated data) of the quantized difference matrix.
  • the duplicate judgment unit 191 advances the processing to step S112.
  • step S110 If it is determined in step S110 that the quantized difference matrix does not have 135 degrees of symmetry, the overlap determination unit 191 omits the process of step S111 (without performing the process of step S111). Then, the process proceeds to step S112.
  • step S112 the DPCM unit 192 DPCM-encodes the difference matrix from which the overlapping portion is appropriately deleted.
  • step S113 the expG unit 193 determines whether or not a sign representing positive / negative exists in the DPCM data generated in step S112. If it is determined that there is a code, the expG unit 193 advances the processing to step S114.
  • step S114 the expG unit 193 performs a signed exponential Golomb encoding on the DPCM data.
  • the output unit 166 outputs the generated exponential Golomb code to the lossless encoding unit 16 and the inverse quantization unit 21.
  • the expG unit 193 advances the process to step S116.
  • step S113 If it is determined in step S113 that there is no code, the expG unit 193 advances the processing to step S115.
  • step S115 the expG unit 193 performs unsigned exponential Golomb coding on the DPCM data.
  • the output unit 166 outputs the generated exponential Golomb code to the lossless encoding unit 16 and the inverse quantization unit 21.
  • the expG unit 193 advances the process to step S116.
  • step S102 If it is determined in step S102 that the copy mode is set, the copy unit 171 duplicates the scaling list transmitted in the past and sets it as a prediction matrix.
  • the output unit 166 outputs the list ID corresponding to the prediction matrix to the lossless encoding unit 16 and the inverse quantization unit 21 as information indicating the prediction matrix. Then, the copy unit 171 advances the processing to step S116.
  • step S116 the scaling list restoration unit 201 restores the scaling list.
  • step S117 the storage unit 202 stores the scaling list restored in step S116.
  • step S117 the matrix processing unit 150 ends the quantization matrix encoding process.
  • the DC coefficient encoding unit 211 obtains a difference between the DC coefficient and the constant in step S131.
  • the AC coefficient DPCM unit 212 obtains a difference between the DC coefficient and the first AC coefficient.
  • step S133 the AC coefficient DPCM unit 212 determines whether all AC coefficients have been processed. If it is determined that there is an unprocessed AC coefficient, the AC coefficient DPCM unit 212 advances the process to step S134.
  • step S134 the AC coefficient DPCM unit 212 sets the next AC coefficient as a processing target.
  • step S135 the AC coefficient DPCM unit 212 obtains a difference between the previously processed AC coefficient and the AC coefficient to be processed.
  • the AC coefficient DPCM unit 212 returns the process to step S133.
  • step S133 the AC coefficient DPCM unit 212 repeatedly executes the processes in steps S133 to S135. If it is determined in step S133 that there is no unprocessed AC coefficient, the AC coefficient DPCM unit 212 ends the DPCM process and returns the process to FIG.
  • the image coding apparatus 10 obtains a difference between the DC coefficient and the first AC coefficient of the AC coefficient group, and transmits the difference to the image decoding apparatus instead of the DC coefficient. An increase in the amount of codes can be suppressed.
  • FIG. 22 is a block diagram illustrating an exemplary configuration of the image decoding device 300 according to an embodiment of the present disclosure.
  • An image decoding apparatus 300 illustrated in FIG. 22 is an image processing apparatus to which the present technology is applied, which decodes encoded data generated by the image encoding apparatus 10.
  • the image decoding apparatus 300 includes a storage buffer 311, a lossless decoding unit 312, an inverse quantization / inverse orthogonal transform unit 313, an addition unit 315, a deblock filter 316, a rearrangement buffer 317, a D / A (Digital to Analogue) conversion section 318, frame memory 319, selectors 320 and 321, intra prediction section 330, and motion compensation section 340.
  • D / A Digital to Analogue
  • the accumulation buffer 311 temporarily accumulates the encoded stream input via the transmission path using a storage medium.
  • the lossless decoding unit 312 decodes the encoded stream input from the accumulation buffer 311 according to the encoding method used at the time of encoding.
  • the lossless decoding unit 312 decodes information multiplexed in the header area of the encoded stream.
  • the information multiplexed in the header region of the encoded stream may include, for example, information for generating the above-described scaling list, information on intra prediction and information on inter prediction in the block header.
  • the lossless decoding unit 312 outputs the decoded data and information for generating the scaling list to the inverse quantization / inverse orthogonal transform unit 313. Further, the lossless decoding unit 312 outputs information related to intra prediction to the intra prediction unit 330. Also, the lossless decoding unit 312 outputs information related to inter prediction to the motion compensation unit 340.
  • the inverse quantization / inverse orthogonal transform unit 313 generates prediction error data by performing inverse quantization and inverse orthogonal transform on the quantized data input from the lossless decoding unit 312. Then, the inverse quantization / inverse orthogonal transform unit 313 outputs the generated prediction error data to the addition unit 315.
  • the addition unit 315 generates decoded image data by adding the prediction error data input from the inverse quantization / inverse orthogonal transform unit 313 and the predicted image data input from the selector 321. Then, the adding unit 315 outputs the generated decoded image data to the deblock filter 316 and the frame memory 319.
  • the deblocking filter 316 removes block distortion by filtering the decoded image data input from the adding unit 315, and outputs the decoded image data after filtering to the rearrangement buffer 317 and the frame memory 319.
  • the rearrangement buffer 317 generates a series of time-series image data by rearranging the images input from the deblocking filter 316. Then, the rearrangement buffer 317 outputs the generated image data to the D / A conversion unit 318.
  • the D / A converter 318 converts the digital image data input from the rearrangement buffer 317 into an analog image signal. Then, the D / A conversion unit 318 displays an image by outputting an analog image signal to a display (not shown) connected to the image decoding device 300, for example.
  • the frame memory 319 stores the decoded image data before filtering input from the adder 315 and the decoded image data after filtering input from the deblock filter 316 using a storage medium.
  • the selector 320 switches the output destination of the image data from the frame memory 319 between the intra prediction unit 330 and the motion compensation unit 340 for each block in the image according to the mode information acquired by the lossless decoding unit 312. .
  • the selector 320 outputs the decoded image data before filtering supplied from the frame memory 319 to the intra prediction unit 330 as reference image data.
  • the selector 320 outputs the decoded image data after filtering supplied from the frame memory 319 to the motion compensation unit 340 as reference image data.
  • the selector 321 sets the output source of the predicted image data to be supplied to the adder 315 for each block in the image according to the mode information acquired by the lossless decoder 312 between the intra predictor 330 and the motion compensator 340. Switch between. For example, the selector 321 supplies the prediction image data output from the intra prediction unit 330 to the addition unit 315 when the intra prediction mode is designated. The selector 321 supplies the predicted image data output from the motion compensation unit 340 to the adding unit 315 when the inter prediction mode is designated.
  • the intra prediction unit 330 performs in-screen prediction of pixel values based on information related to intra prediction input from the lossless decoding unit 312 and reference image data from the frame memory 319, and generates predicted image data. Then, the intra prediction unit 330 outputs the generated predicted image data to the selector 321.
  • the motion compensation unit 340 performs motion compensation processing based on the information related to inter prediction input from the lossless decoding unit 312 and the reference image data from the frame memory 319, and generates predicted image data. Then, the motion compensation unit 340 outputs the generated predicted image data to the selector 321.
  • FIG. 23 is a block diagram illustrating an example of a main configuration of the inverse quantization / inverse orthogonal transform unit 313 of the image decoding apparatus 300 illustrated in FIG.
  • the inverse quantization / inverse orthogonal transform unit 313 includes a matrix generation unit 410, a selection unit 430, an inverse quantization unit 440, and an inverse orthogonal transform unit 450.
  • the matrix generation unit 410 decodes the supplied scaling list encoded data extracted from the bitstream in the lossless decoding unit 312 and generates a scaling list.
  • the matrix generation unit 410 supplies the generated scaling list to the inverse quantization unit 440.
  • the selection unit 430 selects a transform unit (TU) used for inverse orthogonal transform of decoded image data from a plurality of transform units having different sizes.
  • Candidate sizes of conversion units that can be selected by the selection unit 430 include, for example, 4x4 and 8x8 for H.264 / AVC, and 4x4, 8x8, 16x16, and 32x32 for HEVC.
  • the selection unit 430 may select a conversion unit based on, for example, the LCU, SCU, and split_flag included in the header of the encoded stream. Then, selection section 430 outputs information specifying the size of the selected transform unit to inverse quantization section 440 and inverse orthogonal transform section 450.
  • the inverse quantization unit 440 uses the scaling list corresponding to the transform unit selected by the selection unit 430 to inversely quantize the transform coefficient data quantized when the image is encoded. To do. Then, the inverse quantization unit 440 outputs the inversely quantized transform coefficient data to the inverse orthogonal transform unit 450.
  • the inverse orthogonal transform unit 450 inverts the transform coefficient data inversely quantized by the inverse quantizer 440 in the selected transform unit in accordance with the orthogonal transform method used at the time of encoding. Prediction error data is generated by performing orthogonal transformation. Then, the inverse orthogonal transform unit 450 outputs the generated prediction error data to the addition unit 315.
  • Detailed configuration example of matrix generation unit> 24 is a block diagram illustrating an example of a detailed configuration of the matrix generation unit 410 illustrated in FIG. Referring to FIG. 24, the matrix generation unit 410 includes a parameter analysis unit 531, a prediction unit 532, an entropy decoding unit 533, a scaling list restoration unit 534, an output unit 535, and a storage unit 536.
  • the parameter analysis unit 531 analyzes various flags and parameters related to the scaling list supplied from the lossless decoding unit 312. In addition, the parameter analysis unit 531 supplies various types of information such as encoded difference matrix data supplied from the lossless decoding unit 312 to the prediction unit 532 or the entropy decoding unit 533 according to the analysis result.
  • the parameter analysis unit 531 determines the copy mode and supplies pred_matrix_id_delta to the copy unit 541. For example, if pred_mode is 1, the parameter analysis unit 531 determines that the scan mode is normal (normal case), and supplies pred_matrix_id_delta and pred_size_id_delta to the prediction matrix generation unit 542.
  • the parameter analysis unit 531 supplies the encoded data (exponential Golomb code) of the scaling list supplied from the lossless decoding unit 312 to the expG unit 551 of the entropy decoding unit 533. Further, the parameter analysis unit 531 supplies residual_symmetry_flag to the expG unit 551.
  • parameter analysis unit 531 supplies residual_down_sampling_flag to the difference matrix size conversion unit 562 of the scaling list restoration unit 534.
  • the prediction unit 532 generates a prediction matrix under the control of the parameter analysis unit 531. As illustrated in FIG. 24, the prediction unit 532 includes a copy unit 541 and a prediction matrix generation unit 542.
  • the copy unit 541 duplicates the scaling list transmitted in the past and sets it as a prediction matrix. More specifically, the copy unit 541 reads from the storage unit 536 a scaling list that has been transmitted in the past and has the same size as the scaling list of the current region, corresponding to pred_matrix_id_delta, and uses the scaling list as a prediction image. The image is supplied to the output unit 535.
  • the prediction matrix generation unit 542 normally generates (predicts) a prediction matrix using a scaling list transmitted in the past. More specifically, the prediction matrix generation unit 542 reads a scaling list transmitted in the past corresponding to pred_matrix_id_delta and pred_size_id_delta from the storage unit 536, and generates a prediction matrix using it. That is, the prediction matrix generation unit 542 generates a prediction matrix similar to the prediction matrix generated by the prediction matrix generation unit 172 (FIG. 16) of the image encoding device 10. The prediction matrix generation unit 542 supplies the generated prediction matrix to the prediction matrix size conversion unit 561 of the scaling list restoration unit 534.
  • the entropy decoding unit 533 restores a difference matrix from the exponent Golomb code supplied from the parameter analysis unit 531. As illustrated in FIG. 24, the entropy decoding unit 533 includes an expG unit 551, an inverse DPCM unit 552, and an inverse overlap determination unit 553.
  • the expG unit 551 performs signed or unsigned exponential Golomb decoding (hereinafter also referred to as exponential Golomb decoding) to restore DPCM data.
  • the expG unit 551 supplies the restored DPCM data to the inverse DPCM unit 552 together with the residual_symmetry_flag.
  • the reverse DPCM unit 552 performs DPCM decoding on the data from which the overlapping portion has been deleted, and generates residual data from the DPCM data.
  • the inverse DPCM unit 552 supplies the generated residual data to the inverse overlap determination unit 553 together with the residual_symmetry_flag.
  • the inverse overlap determination unit 553 Restore data. That is, a difference matrix of a 135 degree symmetric matrix is restored. If residual_symmetry_flag is not true, that is, if the residual data is a matrix that is not a symmetric matrix of 135 degrees, the inverse overlap determination unit 553 calculates the difference between the residual data without restoring the data of the symmetric part. A matrix. The reverse overlap determination unit 553 supplies the difference matrix restored in this way to the scaling list restoration unit 534 (difference matrix size conversion unit 562).
  • the scaling list restoration unit 534 restores the scaling list. As illustrated in FIG. 24, the scaling list restoration unit 534 includes a prediction matrix size conversion unit 561, a difference matrix size conversion unit 562, an inverse quantization unit 563, and a calculation unit 564.
  • the prediction matrix size conversion unit 561 converts the size of the prediction matrix.
  • the prediction matrix size conversion unit 561 down-converts the prediction matrix. For example, when the size of the prediction matrix is smaller than the size of the scaling list, the prediction matrix size conversion unit 561 up-converts the prediction matrix.
  • the conversion method the same method as the prediction matrix size conversion unit 181 (FIG. 16) of the image encoding device 10 is selected.
  • the prediction matrix size conversion unit 561 supplies a prediction matrix whose size matches the scaling list to the calculation unit 564.
  • the difference matrix size conversion unit 562 responds to the current region to dequantize the size of the difference matrix. Up-convert to the desired size.
  • the method of up-conversion is arbitrary. For example, you may make it respond
  • the difference matrix size conversion unit 562 may upsample the difference matrix. Further, when the difference matrix size conversion unit 163 subsamples the difference matrix, the difference matrix size conversion unit 562 may inversely subsample the difference matrix.
  • the difference matrix size conversion unit 562 may perform interpolation by nearest neighbor interpolation processing (nearest neighbor) as shown in FIG. 25 instead of general linear interpolation.
  • nearest neighbor interpolation processing Nearest neighbor
  • the memory to be held can be reduced.
  • the difference matrix size conversion unit 562 omits up-conversion of the difference matrix (or 1 time) Up-conversion).
  • the difference matrix size conversion unit 562 supplies the difference matrix up-converted as necessary to the inverse quantization unit 563.
  • the inverse quantization unit 563 is a method corresponding to the quantization of the quantization unit 183 (FIG. 16) of the image encoding device 10, and the supplied difference matrix (quantized data) is inversely quantized and inversely quantized.
  • the difference matrix is supplied to the calculation unit 564.
  • the quantization unit 183 is omitted, that is, when the difference matrix supplied from the difference matrix size conversion unit 562 is not quantized data, the inverse quantization unit 563 can be omitted.
  • the calculation unit 564 adds the prediction matrix supplied from the prediction matrix size conversion unit 561 and the difference matrix supplied from the inverse quantization unit 563 to restore the scaling list of the current region.
  • the calculation unit 564 supplies the restored scaling list to the output unit 535 and the storage unit 536.
  • Output unit 535 outputs the supplied information to the outside of the matrix generation unit 410.
  • the output unit 535 supplies the prediction matrix supplied from the copy unit 541 to the inverse quantization unit 440 as a scaling list of the current region.
  • the output unit 535 supplies the inverse quantization unit 440 with the scaling list of the current region supplied from the scaling list restoration unit 534 (calculation unit 564).
  • the storage unit 536 stores the scaling list supplied from the scaling list restoration unit 534 (calculation unit 564) together with its size and list ID. Information on the scaling list stored in the storage unit 536 is used to generate a prediction matrix of another orthogonal transform unit to be processed later in time. That is, the storage unit 536 supplies the stored information related to the scaling list to the prediction unit 532 as information related to the scaling list transmitted in the past.
  • FIG. 26 is a block diagram showing an example of a detailed configuration of the inverse DPCM unit 552 shown in FIG. Referring to FIG. 26, the inverse DPCM unit 552 includes an initial setting unit 571, a DPCM decoding unit 572, and a DC coefficient extraction unit 573.
  • the initial setting unit 571 acquires sizeID and MatrixID, and sets initial values for various variables.
  • the initial setting unit 571 supplies the acquired or set information to the DPCM decoding unit 572.
  • the DPCM decoding unit 572 obtains each coefficient (DC coefficient and each AC coefficient) from the DC coefficient or AC coefficient difference value (scaling_list_delta_coef) using the initial setting supplied from the initial setting unit 571 or the like.
  • the DPCM decoding unit 572 supplies the obtained coefficients to the DC coefficient extraction unit 573 (ScalingList [i]).
  • the DC coefficient extraction unit 573 extracts DC coefficients from the coefficient group (ScalingList [i]) supplied from the DPCM decoding unit 572.
  • the DC coefficient is arranged at the head of the AC coefficient group. That is, the first coefficient (ScalingList [0]) of the coefficient group supplied from the DPCM decoding unit 572 is a DC coefficient.
  • the DC coefficient extraction unit 573 extracts the leading coefficient as a DC coefficient and outputs it to the reverse overlap determination unit 553 (DC_coef).
  • the DC coefficient extraction unit 573 outputs the other coefficients (ScalingList [i] (i> 0)) to the reverse overlap determination unit 553 as AC coefficients.
  • the inverse DPCM unit 552 can correctly perform DPCM decoding, and can obtain DC coefficients and AC coefficients. That is, the image decoding apparatus 300 can suppress an increase in the code amount of the scaling list.
  • the parameter analysis unit 531 reads the quantized values (Qscale0 to Qscale3) of the region 0 to the region 3 in step S301.
  • the parameter analysis unit 531 reads pred_mode in step S302, and determines whether pred_mode is 0 in step S303. If it is determined that pred_mode is 0, the parameter analysis unit 531 determines that the copy mode is set, and the process proceeds to step S304.
  • step S304 the parameter analysis unit 531 reads pred_matrix_id_delta.
  • step S305 the copy unit 541 duplicates the transmitted scaling list to obtain a prediction matrix. In the copy mode, the prediction matrix is output as a scaling list for the current region.
  • the copy unit 541 ends the quantization matrix decoding process.
  • step S303 If it is determined in step S303 that pred_mode is not 0, the parameter analysis unit 531 determines that the scan mode is normal (normal case), and the process proceeds to step S306.
  • step S306 the parameter analysis unit 531 reads pred_matrix_id_delta, pred_size_id_delta, and residual_flag.
  • step S307 the prediction matrix generation unit 542 generates a prediction matrix from the transmitted scaling list.
  • step S308 the parameter analysis unit 531 determines whether residual_flag is true. If it is determined that residual_flag is not true, there is no residual matrix, so the prediction matrix generated in step S307 is output as a scaling list for the current region. Therefore, in this case, the parameter analysis unit 531 ends the quantization matrix decoding process.
  • step S308 If it is determined in step S308 that residual_flag is true, the parameter analysis unit 531 advances the process to step S309.
  • step S309 the parameter analysis unit 531 reads residual_down_sampling_flag and residual_symmetry_flag.
  • step S310 the expG unit 551 and the inverse DPCM unit 552 decode the exponential Golomb code of the residual matrix to generate residual data.
  • step S311 the reverse overlap determination unit 553 determines whether or not residual_symmetry_flag is true. When it is determined that the residual_symmetry_flag is true, the inverse overlap determination unit 553 advances the processing to step S312, and restores the deleted overlap portion of the residual data (performs inverse symmetry processing). When the difference matrix that is symmetric at 135 degrees is generated in this way, the reverse overlap determination unit 553 advances the processing to step S313.
  • step S311 If it is determined in step S311 that residual_symmetry_flag is not true (if the residual data is a difference matrix that is not a symmetric matrix at 135 degrees), the inverse overlap determination unit 553 omits the process in step S312 (inverseinsymmetry). Without processing), the process proceeds to step S313.
  • step S313 the difference matrix size conversion unit 562 determines whether residual_down_sampling_flag is true. If it is determined that residual_down_sampling_flag is true, the difference matrix size conversion unit 562 advances the processing to step S314, and upconverts the difference matrix to a size corresponding to the current region to be dequantized. When the difference matrix is up-converted, the difference matrix size conversion unit 562 advances the processing to step S315.
  • step S313 If it is determined in step S313 that residual_down_sampling_flag is not true, the difference matrix size conversion unit 562 omits the process in step S314 (without up-converting the difference matrix), and advances the process to step S315.
  • step S315 the calculation unit 564 adds the difference matrix to the prediction matrix to generate a scaling list for the current region.
  • the quantization matrix decoding process ends.
  • the expG unit 551 decodes the supplied exponential Golomb code in step S331.
  • step S332 the inverse DPCM unit 552 performs an inverse DPCM process on the DPCM data obtained by decoding in the expG unit 551.
  • the inverse DPCM unit 552 ends the residual signal decoding process and returns the process to FIG.
  • the initial setting unit 571 acquires sizeID and MatrixID in step S351.
  • step S352 the initial setting unit 571 sets coefNum as follows.
  • coefNum min ((1 ⁇ (4+ (sizeID ⁇ 1))), 65)
  • step S354 the DPCM decoding unit 572 determines whether or not the variable i ⁇ coefNum. When the variable i is smaller than coefNum, the initial setting unit 571 advances the processing to step S355.
  • step S355 the DPCM decoding unit 572 reads the coefficient DPCM data (scaling_list_delta_coef).
  • step S360 the DPCM decoding unit 572 increments the variable i, changes the processing target to the next coefficient, and returns the processing to step S354.
  • step S354 the process from step S354 to step S360 is repeated until it is determined that the variable i is equal to or greater than coefNum. If it is determined in step S354 that the variable i is greater than or equal to coefNum, the DPCM decoding unit 572 ends the inverse DPCM process and returns the process to FIG.
  • the image decoding apparatus 300 can suppress an increase in the code amount of the scaling list. it can.
  • Method 2> As a method of transmitting the difference between the DC coefficient and other coefficients instead of the DC coefficient, for example, the difference between the DC coefficient and the (0, 0) component of the 8x8 matrix is changed to the DPCM data different from the 8x8 matrix DPCM data. (Method 2). For example, after the DPCM transmission of the 8 ⁇ 8 matrix, the difference between the DC coefficient and the (0, 0) component of the 8 ⁇ 8 matrix may be transmitted.
  • the compression rate can be further improved when the (0, 0) coefficient (AC coefficient) and the DC coefficient of the 8x8 matrix are close to each other.
  • FIG. 30 shows the syntax of the scaling list in the case of method 2.
  • 64 difference values (scaling_list_delta_coef) between coefficients are read, and finally a difference (scaling_list_dc_coef_delta) between a DC coefficient and a (0,0) coefficient (AC coefficient) is read.
  • a coefficient is determined.
  • the syntax for decoding the AC coefficient can be made the same as in the conventional case shown in FIG. That is, the syntax of the method 2 can reduce the change from the conventional example, and is easier to implement than the method 1.
  • the image decoding apparatus receives all the coefficients and cannot obtain the DC coefficient until all the DPCMs are solved.
  • the image decoding apparatus receives the first coefficient when the first coefficient is received. Can be restored.
  • the configuration of the image encoding device 10 is basically the same as that of the method 1 described above. That is, the image encoding device 10 is configured as in the example shown in FIG.
  • the orthogonal transform / quantization unit 14 is configured as in the example shown in FIG.
  • the matrix processing unit 150 is configured as in the example shown in FIG.
  • FIG. 31 shows a configuration example of the DPCM unit 192 in this case.
  • the DPCM unit 192 includes an AC coefficient buffer 611, an AC coefficient encoding unit 612, an AC coefficient DPCM unit 613, and a DC coefficient DPCM unit 614.
  • the AC coefficient buffer 611 stores the first AC coefficient (that is, (0, 0) coefficient) supplied from the duplication determination unit 191.
  • the AC coefficient buffer 611 stores the first AC coefficient (AC coefficient (0, 0)) stored in the DC coefficient DPCM unit at a predetermined timing after DPCM processing of all AC coefficients or as required. 614.
  • the AC coefficient encoding unit 612 acquires the first AC coefficient (AC coefficient (0, 0)) supplied from the duplication determination unit 191 and subtracts the value from a constant (for example, 8).
  • the DC coefficient DPCM unit 614 acquires the DC coefficient supplied from the duplication determination unit 191. Further, the DC coefficient DPCM unit 614 acquires the first AC coefficient (AC coefficient (0, 0)) held by the AC coefficient buffer 611. The DC coefficient DPCM unit 614 obtains a difference between them by subtracting the first AC coefficient (AC coefficient (0, 0)) from the DC coefficient, uses the difference as DPCM data (scaling_list_dc_coef_delta) of the DC coefficient, and the expG unit 193 To supply.
  • the difference between the DC coefficient and other coefficients is obtained. Then, the difference is transmitted as the DC coefficient DPCM data (scaling_list_dc_coef_delta), which is different from the AC coefficient DPCM data, after transmission of the AC coefficient DPCM data (scaling_list_delta_coef) which is the difference between the AC coefficients.
  • scaling_list_dc_coef_delta which is different from the AC coefficient DPCM data
  • scaling_list_delta_coef the difference between the AC coefficients.
  • the image coding apparatus 10 performs the quantization matrix coding process similarly to the case of the method 1 described with reference to the flowchart of FIG.
  • the AC coefficient buffer 611 holds the first AC coefficient in step S401.
  • step S402 the AC coefficient encoding unit 612 subtracts the first AC coefficient from a predetermined constant (for example, 8) and obtains the difference (first DPCM data).
  • a predetermined constant for example, 8
  • step S403 to step S405 are executed by the AC coefficient DPCM unit 613 in the same manner as each process from step S133 to step S135 in FIG. That is, by repeatedly executing the processing from step S403 to step S405, DPCM data for all AC coefficients (difference from the previous AC coefficient) is generated.
  • step S403 When it is determined in step S403 that all AC coefficients have been processed (that is, there is no unprocessed AC coefficient), the AC coefficient DPCM unit 613 advances the process to step S406.
  • step S406 the DC coefficient DPCM unit 614 subtracts the first AC coefficient held in step S401 from the DC coefficient, and obtains a difference (DPCM data of the DC coefficient).
  • step S406 the DC coefficient DPCM unit 614 ends the DPCM process and returns the process to FIG.
  • the image coding apparatus 10 also suppresses an increase in the code amount of the scaling list by obtaining a difference from other coefficients for the DC coefficient and transmitting the difference as DPCM data to the image decoding apparatus. be able to.
  • the configuration of the image decoding apparatus 300 in the case of the method 2 is basically the same as that in the case of the method 1. That is, also in the case of the method 2, the image decoding apparatus 300 is configured as in the example shown in FIG. Further, the inverse quantization / inverse orthogonal transform unit 313 is configured as in the example shown in FIG. Further, the matrix generation unit 410 is configured as in the example shown in FIG.
  • FIG. 33 is a block diagram showing an example of a detailed configuration of the inverse DPCM unit 552 shown in FIG.
  • the inverse DPCM unit 552 includes an initial setting unit 621, an AC coefficient DPCM decoding unit 622, an AC coefficient buffer 623, and a DC coefficient DPCM decoding unit 624.
  • the initial setting unit 621 acquires sizeID and MatrixID, and sets initial values for various variables.
  • the initial setting unit 621 supplies the acquired or set information to the AC coefficient DPCM decoding unit 622.
  • the AC coefficient DPCM decoding unit 622 acquires the DP coefficient data (scaling_list_delta_coef) of the AC coefficient supplied from the expG unit 551.
  • the AC coefficient DPCM decoding unit 622 decodes the acquired AC coefficient DPCM data using the initial setting supplied from the initial setting unit 621 and obtains the AC coefficient.
  • the AC coefficient DPCM decoding unit 622 supplies the obtained AC coefficients (ScalingList [i]) to the reverse overlap determination unit 553. Also, the AC coefficient DPCM decoding unit 622 supplies the obtained first AC coefficient (ScalingList [0], that is, AC coefficient (0, 0)) to the AC coefficient buffer 623 and holds it.
  • the AC coefficient buffer 623 stores the first AC coefficient (ScalingList [0], that is, AC coefficient (0, 0)) supplied from the AC coefficient DPCM decoding unit 622.
  • the AC coefficient buffer 623 supplies the first AC coefficient (ScalingList [0], that is, AC coefficient (0, 0)) to the DC coefficient DPCM decoding unit 624 at a predetermined timing or upon request.
  • the DC coefficient DPCM decoding unit 624 acquires DPCM data (scaling_list_dc_coef_delta) of DC coefficients supplied from the expG unit 551. In addition, the DC coefficient DPCM decoding unit 624 acquires the first AC coefficient (ScalingList [0], that is, AC coefficient (0, 0)) stored in the AC coefficient buffer 623. The DC coefficient DPCM decoding unit 624 decodes the DC coefficient DPCM data using the first AC coefficient to obtain the DC coefficient. The DC coefficient DPCM decoding unit 624 supplies the obtained DC coefficient (DC_coef) to the reverse overlap determination unit 553.
  • DPCM data scaling_list_dc_coef_delta
  • the inverse DPCM unit 552 can correctly perform DPCM decoding, and can obtain DC coefficients and AC coefficients. That is, the image decoding apparatus 300 can suppress an increase in the code amount of the scaling list.
  • the image decoding apparatus 300 performs the quantization matrix decoding process similarly to the case of the method 1 described with reference to the flowchart of FIG. Similarly, the image decoding apparatus 300 performs the residual signal decoding process as in the case of the method 1 described with reference to the flowchart of FIG.
  • the initial setting unit 621 acquires sizeID and MatrixID in step S421.
  • step S422 the initial setting unit 621 sets coefNum as follows.
  • coefNum min ((1 ⁇ (4+ (sizeID ⁇ 1))), 64)
  • step S424 the DPCM decoding unit 572 determines whether or not the variable i ⁇ coefNum. If the variable i is smaller than coefNum, the initial setting unit 621 advances the processing to step S425.
  • step S425 the AC coefficient DPCM decoding unit 622 reads DPCM data (scaling_list_delta_coef) of the AC coefficient.
  • the calculated first AC coefficient (ScalingList [0], that is, AC coefficient (0, 0)) is held in the AC coefficient buffer 623.
  • step S427 the AC coefficient DPCM decoding unit 622 increments the variable i, changes the processing target to the next coefficient, and returns the process to step S424.
  • step S424 the processing from step S424 to step S427 is repeated until it is determined that the variable i is equal to or greater than coefNum. If it is determined in step S424 that the variable i is greater than or equal to coefNum, the AC coefficient DPCM decoding unit 622 advances the processing to step S428.
  • step S428 the DC coefficient DPCM decoding unit 624 determines whether sizeID is greater than 1. If it is determined that sizeID is greater than 1, the DC coefficient DPCM decoding unit 624 advances the processing to step S429, and reads the DC coefficient DPCM data (scaling_list_dc_coef_delta).
  • the DC coefficient DPCM decoding unit 624 ends the inverse DPCM process and returns the process to FIG.
  • step S428 If it is determined in step S428 that sizeID is 1 or less, the DC coefficient DPCM decoding unit 624 ends the inverse DPCM processing and returns the processing to FIG.
  • the image decoding apparatus 300 can suppress an increase in the code amount of the scaling list. it can.
  • the DC coefficient may be further limited to a value smaller than the first AC coefficient (AC coefficient (0, 0)) (method 3).
  • the DPCM data of the DC coefficient that is, the difference value obtained by subtracting the first AC coefficient from the DC coefficient can always be a positive value. Therefore, this DPCM data can be encoded by an unsigned exponential Golomb code. Therefore, in the case of Method 3, although the DC coefficient cannot be made larger than the first AC coefficient, the code amount can be reduced as compared with the case of Method 1 or Method 2.
  • FIG. 35 shows the syntax of the scaling list in the case of method 3.
  • the DPCM data (scaling_list_dc_coef_delta) of the DC coefficient is limited to a positive value.
  • Such syntax of the method 3 can be realized by the same image encoding device 10 as that of the method 2.
  • the expG unit 193 can encode the DCCM DPCM data with an unsigned exponential Golomb code.
  • the image encoding device 10 can execute each process such as a quantization matrix encoding process and a DPCM process in the same manner as in the case of the method 2.
  • syntax of the method 3 can be realized by the same image decoding apparatus 300 as that of the method 2. Further, the image decoding apparatus 300 can execute the quantization matrix decoding process in the same manner as in the method 2.
  • step S451 to step S459 is performed in the same manner as each processing from step S421 to step S429 in FIG.
  • step S460 the DC coefficient DPCM decoding unit 624 acquires the first AC coefficient (ScalingList [0], that is, AC coefficient (0, 0)) held by the AC coefficient buffer 623, and the first AC coefficient. Is used to decode the DCCM (DC_coef) DPCM data as follows.
  • DC_coef ScalingList [0]-scaling_list_dc_coef_delta
  • the DC coefficient DPCM decoding unit 624 ends the inverse DPCM process and returns the process to FIG.
  • step S458 If it is determined in step S458 that sizeID is 1 or less, the DC coefficient DPCM decoding unit 624 ends the inverse DPCM process and returns the process to FIG.
  • the image decoding apparatus 300 can suppress an increase in the code amount of the scaling list. it can.
  • Method 4> As a method of transmitting the difference between the DC coefficient and other coefficients instead of the DC coefficient, for example, only the DC coefficients of a plurality of scaling lists are collected, and the difference between the DC coefficients is separated from the AC coefficient of each scaling list. DPCM may be performed (Method 4). In this case, the DC coefficient DPCM data includes data for a plurality of scaling lists, and is transmitted as data different from the AC coefficient DPCM data of each scaling list.
  • FIG. 37 shows the syntax related to the DC coefficient of the scaling list in the case of Method 4.
  • the DC coefficient processing needs to be performed in a different cycle from the AC coefficient processing of each scaling list, it is necessary to make the AC coefficient and DC coefficient processing independent from each other as shown in the example of FIG. is there.
  • the DPCM process and the inverse DPCM process may be complicated, more various scaling list encoding / decoding processing methods can be realized.
  • a process of copying only the AC coefficient and changing the DC coefficient to a different value can be easily realized.
  • the configuration of the image encoding device 10 is basically the same as that of the method 1 described above. That is, the image encoding device 10 is configured as in the example shown in FIG.
  • the orthogonal transform / quantization unit 14 is configured as in the example shown in FIG.
  • the matrix processing unit 150 is configured as in the example shown in FIG.
  • FIG. 38 shows a configuration example of the DPCM unit 192 in this case.
  • the DPCM unit 192 includes an AC coefficient DPCM unit 631, a DC coefficient buffer 632, and a DC coefficient DPCM unit 633.
  • the AC coefficient DPCM unit 631 performs DPCM processing of each AC coefficient supplied from the duplication determination unit 191 for each scaling list. That is, the AC coefficient DPCM unit 631 subtracts the first AC coefficient from a predetermined constant (for example, 8) or subtracts the AC coefficient to be processed (current AC coefficient) from the previous AC coefficient for each scaling list. To do.
  • the AC coefficient DPCM unit 631 supplies the generated DPCM data (scaling_list_delta_coef) to the expG unit 193 for each scaling list.
  • the DC coefficient buffer 632 stores the DC coefficient of each scaling list supplied from the duplication determination unit 191.
  • the DC coefficient buffer 632 supplies a plurality of stored DC coefficients to the DC coefficient DPCM unit 633 at a predetermined timing or based on a request.
  • the DC coefficient DPCM unit 633 acquires the DC coefficient stored in the DC coefficient buffer 632.
  • the DC coefficient DPCM unit 633 obtains DPCM data for each acquired DC coefficient. That is, the DC coefficient DPCM unit 633 subtracts the first DC coefficient from a predetermined constant (for example, 8), or subtracts the DC coefficient to be processed (current DC coefficient) from the previous DC coefficient.
  • the DC coefficient DPCM unit 633 supplies the generated DPCM data (scaling_list_delta_coef) to the expG unit 193.
  • the image encoding device 10 can improve the encoding efficiency of the scaling list.
  • the image coding apparatus 10 performs the quantization matrix coding process similarly to the case of the method 1 described with reference to the flowchart of FIG.
  • step S481 to step S485 is executed by the AC coefficient DPCM unit 631 in the same manner as each process from step S401 to step S405 in FIG. 32 (process in the case of method 2).
  • step S483 When it is determined in step S483 that all AC coefficients have been processed, the AC coefficient DPCM unit 631 advances the process to step S486.
  • step S486 the AC coefficient DPCM unit 631 determines whether or not all the scaling lists (or difference matrices) for performing DCCM encoding of DC coefficients together have been processed. If it is determined that there is an unprocessed scaling list (or difference matrix), the AC coefficient DPCM unit 631 returns the process to step S481.
  • step S486 If it is determined in step S486 that all scaling lists (or difference matrices) have been processed, the AC coefficient DPCM unit 631 advances the process to step S487.
  • the DC coefficient DPCM unit 633 executes each process of step S487 to step S491 for the DC coefficient stored in the DC coefficient buffer 632 in the same manner as each process of step S481 to step S485.
  • step S489 If it is determined in step S489 that all the DC coefficients stored in the DC coefficient buffer 632 have been processed, the DC coefficient DPCM unit 633 ends the DPCM process and returns the process to FIG.
  • the image encoding device 10 can improve the encoding efficiency of the scaling list.
  • the configuration of the image decoding apparatus 300 in method 4 is basically the same as that in method 1. That is, also in the case of the method 4, the image decoding apparatus 300 is configured as in the example shown in FIG. Further, the inverse quantization / inverse orthogonal transform unit 313 is configured as in the example shown in FIG. Further, the matrix generation unit 410 is configured as in the example shown in FIG.
  • FIG. 40 is a block diagram showing an example of a detailed configuration of the inverse DPCM unit 552 shown in FIG.
  • the inverse DPCM unit 552 includes an initial setting unit 641, an AC coefficient DPCM decoding unit 642, and a DC coefficient DPCM decoding unit 643.
  • the initial setting unit 641 acquires sizeID and MatrixID, and sets initial values for various variables.
  • the initial setting unit 641 supplies the acquired or set information to the AC coefficient DPCM decoding unit 642 and the DC coefficient DPCM decoding unit 643.
  • the AC coefficient DPCM decoding unit 642 obtains the AC coefficient DPCM data (scaling_list_delta_coef (ac)) supplied from the expG unit 551.
  • the AC coefficient DPCM decoding unit 642 decodes the acquired AC coefficient DPCM data using the initial setting supplied from the initial setting unit 641 and obtains the AC coefficient.
  • the AC coefficient DPCM decoding unit 642 supplies each obtained AC coefficient (ScalingList [i]) to the reverse overlap determination unit 553.
  • the AC coefficient DPCM decoding unit 642 performs such processing for a plurality of scaling lists.
  • the DC coefficient DPCM decoding unit 643 acquires the DC coefficient DPCM data (scaling_list_delta_coef (dc)) supplied from the expG unit 551.
  • the DC coefficient DPCM decoding unit 643 uses the initial setting supplied from the initial setting unit 641 and the like to decode the obtained DPCM data of the DC coefficient and obtain the DC coefficient of each scaling list.
  • the DC coefficient DPCM decoding unit 643 supplies each obtained DC coefficient (scaling_list_dc_coef) to the reverse overlap determination unit 553.
  • the inverse DPCM unit 552 can correctly perform DPCM decoding, and can obtain DC coefficients and AC coefficients. That is, the image decoding apparatus 300 can suppress an increase in the code amount of the scaling list.
  • the image decoding apparatus 300 performs the quantization matrix decoding process similarly to the case of the method 1 described with reference to the flowchart of FIG. Similarly, the image decoding apparatus 300 performs the residual signal decoding process as in the case of the method 1 described with reference to the flowchart of FIG.
  • the initial setting unit 641 and the AC coefficient DPCM decoding unit 642 execute the processes in steps S511 to S517 in the same manner as the processes in steps S421 to S427 in FIG.
  • step S514 If it is determined in step S514 that the variable i is greater than or equal to coefNum, the AC coefficient DPCM decoding unit 642 advances the process to step S518.
  • step S5108 the AC coefficient DPCM decoding unit 642 determines whether or not all the scaling lists (difference matrices) for performing the DPCM processing on the DC coefficients have been processed. When it is determined that there is an unprocessed scaling list (difference matrix), the AC coefficient DPCM decoding unit 642 returns the process to step S511 and repeats the subsequent processes.
  • the AC coefficient DPCM decoding unit 642 advances the processing to FIG.
  • step S523 the DC coefficient DPCM decoding unit 643 determines whether or not sizeID ⁇ 4. When it is determined that sizeID is smaller than 4, the DC coefficient DPCM decoding unit 643 advances the process to step S524.
  • step S525 the DC coefficient DPCM decoding unit 643 reads the DC coefficient DPCM data (scaling_list_delta_coef).
  • step S526 the DC coefficient DPCM decoding unit 643 obtains nextcoef as follows using the read DPCM data, and further obtains scaling_dc_coef.
  • step S527 the DC coefficient DPCM decoding unit 643 increments MatrixID, changes the processing target to the next DC coefficient (next scaling list or residual matrix), and returns the process to step S524.
  • step S528 the DC coefficient DPCM decoding unit 643 increments sizeID, changes the processing target to the next DC coefficient (next scaling list or residual matrix), and returns the process to step S523.
  • step S523 If it is determined in step S523 that the sizeID is 4 or more, the DC coefficient DPCM decoding unit 643 ends the inverse DPCM process and returns the process to FIG.
  • the difference between the DC coefficients can be correctly decoded, so that the image decoding apparatus 300 can suppress an increase in the code amount of the scaling list.
  • FIG. 43 shows another example of syntax related to the scaling list. This figure corresponds to FIG. In the example of FIG. 12, the initial value of nextcoef is set to a predetermined constant (for example, 8). Instead, as shown in FIG. 43, the initial value of nextcoef is converted to DPCM data (scaling_list_dc_coef_minus8) of DC coefficients. It may be overwritten with.
  • FIG. 44 shows another example of syntax related to the scaling list. This figure corresponds to FIG.
  • scaling_list_pred_matrix_id_delta which is information specifying the reference destination in the copy mode
  • scaling_list_pred_matrix_id_delta which is information specifying the reference destination in the copy mode
  • the default scaling list is referred to.
  • the previous scaling list is referred to.
  • FIG. 45 shows another example of syntax related to the scaling list. This figure corresponds to FIG.
  • the code amount of the first AC coefficient (AC coefficient of (0, 0)) in the 16x16 scaling list and the 32x32 scaling list can be reduced, and the syntax is simplified. It is possible to reduce the load of DPCM processing and reverse DPCM processing.
  • the value of the predetermined constant is arbitrary.
  • the size of the scaling list is also arbitrary.
  • the size conversion process may actually be a process of generating a matrix whose size is converted.
  • it may be a process (matrix data read control) for setting how to read each element of the matrix from the memory without actually generating the matrix data.
  • each element of the matrix after the size conversion is composed of any element of the matrix before the size conversion.
  • the above-described size conversion is substantially realized by defining a reading method of each element (performing matrix data reading control).
  • processing such as writing matrix data after size conversion into a memory becomes unnecessary.
  • the method of reading matrix data after size conversion is basically determined by the nearest neighbor interpolation method, etc., a relatively low load that can select an appropriate one from a plurality of options prepared in advance. This process can be realized. Therefore, the load of size conversion is reduced by using such a method.
  • the size conversion process described above includes a process for actually generating matrix data after size conversion, but also includes such matrix data read control.
  • the difference matrix is encoded and transmitted.
  • the scaling list may be encoded and transmitted.
  • the AC coefficient and DC coefficient of the scaling list described as the coefficient to be processed above may be the AC coefficient and DC coefficient of the difference matrix between the scaling list and the prediction matrix.
  • the information such as the scaling list size and list ID, such as parameters and flags related to the scaling list is also reduced, for example, by taking the difference from the previously transmitted information and transmitting the difference. You may make it make it.
  • a large-size quantization matrix or difference matrix is described as being down-converted and transmitted.
  • the present invention is not limited to this, and the quantization matrix or difference matrix can be quantized without down-conversion. You may make it transmit with the size of the used quantization matrix.
  • the scope of application of the present technology can be applied to encoding / decoding of any image using quantization / inverse quantization.
  • this technology is, for example, MPEG, H.264.
  • image information bitstream
  • orthogonal transform such as discrete cosine transform and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above.
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing is performed on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
  • the present technology can also be applied to a quantization device / inverse quantization device included in the image encoding device, the image decoding device, and the like.
  • FIG. 46 shows an example of a multi-view image encoding method.
  • the multi-viewpoint image includes images of a plurality of viewpoints (views). Multiple views of this multi-viewpoint image are encoded using the base view that encodes and decodes using only the image of its own view without using the image of the other view, and the image of the other view.
  • -It consists of a non-base view that performs decoding. For the non-base view, an image of the base view may be used, or an image of another non-base view may be used.
  • each view image is encoded / decoded.
  • the method described in each of the above embodiments for encoding / decoding each view. May be applied. By doing so, it is possible to suppress a reduction in image quality of each view.
  • flags and parameters used in the methods described in the above embodiments may be shared. By doing so, it is possible to suppress a reduction in encoding efficiency.
  • information on the scaling list may be shared in encoding / decoding of each view.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • the matrix element of the scaling list (quantization matrix) of the base view may be changed according to the disparity value between views. Furthermore, an offset value for adjusting the matrix element for non-base view may be transmitted with respect to the matrix element of the scaling list (quantization matrix) of the base view. By doing so, an increase in the amount of codes can be suppressed.
  • a scaling list for each view may be separately transmitted in advance.
  • information indicating the difference from the previously transmitted scaling list may be transmitted.
  • Information indicating this difference is arbitrary.
  • the information may be 4x4 or 8x8 as a unit, or may be a difference between matrices.
  • SPS and PPS are not shared between views, but when sharing information about scaling lists and scaling lists, SPS and PPS of other views can be referenced (that is, scaling lists of other views). Or information on the scaling list can be used).
  • the scaling list is unnecessary. Therefore, even if the use of the scaling list is specified in SPS or PPS, the scaling list is not applied to the depth image (Depth) (or the scaling list in which all matrix elements are the same (FLAT)). May be applied).
  • FIG. 47 is a diagram illustrating a multi-view image encoding apparatus that performs the multi-view image encoding described above.
  • the multi-view image encoding apparatus 700 includes an encoding unit 701, an encoding unit 702, and a multiplexing unit 703.
  • the encoding unit 701 encodes the base view image and generates a base view image encoded stream.
  • the encoding unit 702 encodes the non-base view image and generates a non-base view image encoded stream.
  • the multiplexing unit 703 multiplexes the base view image encoded stream generated by the encoding unit 701 and the non-base view image encoded stream generated by the encoding unit 702 to generate a multi-view image encoded stream. To do.
  • the image encoding device 10 (FIG. 14) can be applied to the encoding unit 701 and the encoding unit 702 of the multi-view image encoding device 700. That is, in the encoding for each view, an increase in the code amount related to the scaling list can be suppressed, and a reduction in image quality of each view can be suppressed. Also, the encoding unit 701 and the encoding unit 702 can perform processing such as quantization and inverse quantization using the same flag and parameter (that is, the flag and parameter can be shared). Therefore, a reduction in encoding efficiency can be suppressed.
  • FIG. 48 is a diagram illustrating a multi-view image decoding apparatus that performs the above-described multi-view image decoding.
  • the multi-view image decoding device 710 includes a demultiplexing unit 711, a decoding unit 712, and a decoding unit 713.
  • the demultiplexing unit 711 demultiplexes the multi-view image encoded stream in which the base view image encoded stream and the non-base view image encoded stream are multiplexed, and the base view image encoded stream and the non-base view image The encoded stream is extracted.
  • the decoding unit 712 decodes the base view image encoded stream extracted by the demultiplexing unit 711 to obtain a base view image.
  • the decoding unit 713 decodes the non-base view image encoded stream extracted by the demultiplexing unit 711 to obtain a non-base view image.
  • the image decoding device 300 (FIG. 22) can be applied to the decoding unit 712 and the decoding unit 713 of the multi-view image decoding device 710. That is, in decoding for each view, an increase in the code amount related to the scaling list can be suppressed, and a reduction in image quality of each view can be suppressed. Also, the decoding unit 712 and the decoding unit 713 can perform processing such as quantization and inverse quantization using the same flag and parameter (that is, the flag and parameter can be shared). Reduction in encoding efficiency can be suppressed.
  • FIG. 49 shows an example of a hierarchical image encoding method.
  • Hierarchical image coding is a method in which image data is divided into a plurality of layers (hierarchization) so as to have a scalability function with respect to a predetermined parameter, and is encoded for each layer.
  • Hierarchical image decoding is decoding corresponding to the hierarchical image encoding.
  • the hierarchized image includes images of a plurality of hierarchies (layers) having different predetermined parameter values.
  • a plurality of layers of this hierarchical image are encoded / decoded using only the image of the own layer without using the image of the other layer, and encoded / decoded using the image of the other layer.
  • It consists of a non-base layer (also called enhancement layer) that performs decoding.
  • the non-base layer an image of the base layer may be used, or an image of another non-base layer may be used.
  • the non-base layer is composed of difference image data (difference data) between its own image and an image of another layer so that redundancy is reduced.
  • difference image data difference data
  • an image with lower quality than the original image can be obtained using only the base layer data.
  • an original image that is, a high-quality image
  • image compression information of only the base layer (base layer) is transmitted, and a moving image with low spatiotemporal resolution or poor image quality is reproduced.
  • image enhancement information of the enhancement layer is transmitted.
  • Image compression information corresponding to the capabilities of the terminal and the network can be transmitted from the server without performing transcoding processing, such as playing a moving image with high image quality.
  • the image of each layer is encoded / decoded.
  • the encoding / decoding of each layer has been described in the above embodiments. You may make it apply a method. By doing so, it is possible to suppress a reduction in image quality of each layer.
  • flags and parameters used in the methods described in the above embodiments may be shared. By doing so, it is possible to suppress a reduction in encoding efficiency.
  • information on the scaling list may be shared in encoding / decoding of each layer.
  • a layered image by spatial resolution also referred to as spatial resolution scalability
  • spatial scalability spatial resolution
  • the resolution of the image is different for each hierarchy.
  • the layer of the image with the lowest spatial resolution is defined as a base layer
  • the layer of an image with a resolution higher than that of the base layer is defined as a non-base layer (enhancement layer).
  • the image data of the non-base layer may be data independent of other layers, and as in the case of the base layer, an image having a resolution of that layer may be obtained only from the image data.
  • an image having a resolution of the base layer hierarchy is obtained only from the image data of the base layer.
  • an image having a resolution of the non-base layer (enhancement layer) layer is obtained from the image data of the hierarchy and another layer It can be obtained by synthesizing image data (for example, one level below). By doing in this way, the redundancy of the image data between hierarchies can be suppressed.
  • the resolution of the encoding / decoding processing unit of each hierarchy is also different from each other. Therefore, when a scaling list (quantization matrix) is shared in encoding / decoding of each layer, the scaling list (quantization matrix) may be up-converted according to the resolution ratio of each layer.
  • the resolution of the base layer image is 2K (for example, 1920x1080), and the resolution of the non-base layer (enhancement layer) image is 4K (for example, 3840x2160).
  • 16 ⁇ 16 of the base layer image (2K image) corresponds to 32 ⁇ 32 of the non-base layer image (4K image).
  • the scaling list (quantization matrix) is also up-converted as appropriate according to such a resolution ratio.
  • a 4 ⁇ 4 scaling list used for base layer quantization / inverse quantization is used after being up-converted to 8 ⁇ 8 in non-base layer quantization / inverse quantization.
  • the base layer 8x8 scaling list is upconverted to 16x16 in the non-base layer.
  • the scaling list used by being upconverted to 16x16 in the base layer is upconverted to 32x32 in the non-base layer.
  • the parameters for providing scalability are not limited to spatial resolution, but include, for example, temporal resolution (temporal scalability).
  • temporal resolution temporary scalability
  • the frame rate of the image is different for each hierarchy.
  • bit depth scalability bit-depth scalability
  • chroma scalability chroma scalability
  • SNR scalability SNR scalability in which the signal-to-noise ratio (SNR (Signal to Noise ratio)) of the image differs for each layer.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • Information indicating this difference is arbitrary. For example, a matrix having a difference value for each element of both scaling lists as an element or a function indicating a difference may be used.
  • FIG. 50 is a diagram illustrating a hierarchical image encoding apparatus that performs the above-described hierarchical image encoding.
  • the hierarchical image encoding device 720 includes an encoding unit 721, an encoding unit 722, and a multiplexing unit 723.
  • the encoding unit 721 encodes the base layer image and generates a base layer image encoded stream.
  • the encoding unit 722 encodes the non-base layer image and generates a non-base layer image encoded stream.
  • the multiplexing unit 723 multiplexes the base layer image encoded stream generated by the encoding unit 721 and the non-base layer image encoded stream generated by the encoding unit 722 to generate a hierarchical image encoded stream. .
  • the image encoding device 10 (FIG. 14) can be applied to the encoding unit 721 and the encoding unit 722 of the hierarchical image encoding device 720. That is, in encoding for each layer, an increase in the amount of codes related to the scaling list can be suppressed, and a reduction in image quality of each layer can be suppressed. Also, the encoding unit 721 and the encoding unit 722 can perform processing such as quantization and inverse quantization using the same flag and parameter (that is, the flag and parameter can be shared). Therefore, a reduction in encoding efficiency can be suppressed.
  • FIG. 51 is a diagram illustrating a hierarchical image decoding apparatus that performs the hierarchical image decoding described above.
  • the hierarchical image decoding device 730 includes a demultiplexing unit 731, a decoding unit 732, and a decoding unit 733.
  • the demultiplexing unit 731 demultiplexes the hierarchical image encoded stream in which the base layer image encoded stream and the non-base layer image encoded stream are multiplexed, and the base layer image encoded stream and the non-base layer image code Stream.
  • the decoding unit 732 decodes the base layer image encoded stream extracted by the demultiplexing unit 731 to obtain a base layer image.
  • the decoding unit 733 decodes the non-base layer image encoded stream extracted by the demultiplexing unit 731 to obtain a non-base layer image.
  • the image decoding device 300 (FIG. 22) can be applied to the decoding unit 732 and the decoding unit 733 of the hierarchical image decoding device 730. That is, in decoding for each layer, an increase in the amount of codes related to the scaling list can be suppressed, and a reduction in image quality of each layer can be suppressed. Also, the decoding unit 712 and the decoding unit 713 can perform processing such as quantization and inverse quantization using the same flag and parameter (that is, the flag and parameter can be shared). Reduction in encoding efficiency can be suppressed.
  • a CPU (Central Processing Unit) 801 of a computer 800 has various programs according to a program stored in a ROM (Read Only Memory) 802 or a program loaded from a storage unit 813 to a RAM (Random Access Memory) 803. Execute the process.
  • the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
  • the CPU 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804.
  • An input / output interface 810 is also connected to the bus 804.
  • the input / output interface 810 includes an input unit 811 including a keyboard, a mouse, a touch panel, and an input terminal, a display including a CRT (Cathode Ray Tube), an LCD (Liquid Crystal Display), an OELD (Organic ElectroLuminescence Display), and the like.
  • An output unit 812 including an arbitrary output device such as a speaker, an output terminal, and the like; a storage unit 813 configured by an arbitrary storage medium such as a hard disk and a flash memory; a control unit that controls input and output of the storage medium; a modem;
  • a communication unit 814 including a wired or wireless communication device such as a LAN interface, USB (Universal Serial Bus), and Bluetooth (registered trademark) is connected.
  • the communication unit 814 performs communication processing with other communication devices via a network including the Internet, for example.
  • a drive 815 is connected to the input / output interface 810 as necessary.
  • a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately attached to the drive 815.
  • the drive 815 reads out a computer program, data, and the like from the removable medium 821 attached to the drive 815 according to the control of the CPU 801, for example.
  • the read data and computer program are supplied to the RAM 803, for example.
  • the computer program read from the removable medium 821 is installed in the storage unit 813 as necessary.
  • a program constituting the software is installed from a network or a recording medium.
  • this recording medium is distributed to distribute a program to a user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which a program is recorded, an optical disk ( It only consists of removable media 821 consisting of CD-ROM (including Compact Disc-Read Only Memory), DVD (including Digital Versatile Disc), magneto-optical disk (including MD (Mini Disc)), or semiconductor memory. Rather, it is composed of a ROM 802 on which a program is recorded and a hard disk included in the storage unit 813, which is distributed to the user in a state of being incorporated in the apparatus main body in advance.
  • a magnetic disk including a flexible disk
  • an optical disk It only consists of removable media 821 consisting of CD-ROM (including Compact Disc-Read Only Memory), DVD (including Digital Versatile Disc), magneto-optical disk (including MD (Mini Disc)), or semiconductor memory. Rather, it is composed of a ROM 802 on which a program is recorded and a hard disk included in
  • the program executed by the computer 800 may be a program that is processed in time series in the order described in this specification, or a necessary timing such as in parallel or when a call is made. It may be a program in which processing is performed.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit).
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the image encoding device 10 (FIG. 14) and the image decoding device 300 (FIG. 22) according to the above-described embodiment are distributed to satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and terminals by cellular communication.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a transmitter or receiver, an optical disk, a magnetic disk, and a flash memory, or a reproducing device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as a transmitter or receiver
  • an optical disk a magnetic disk
  • a flash memory or a reproducing device that reproduces an image from these storage media.
  • FIG. 53 shows an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU executes the program to control the operation of the television device 900 according to an operation signal input from the user interface 911, for example.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding device 300 (FIG. 22) according to the above-described embodiment. Therefore, the television apparatus 900 can suppress an increase in the code amount of the scaling list.
  • FIG. 54 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the recording / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device 10 (FIG. 14) and the image decoding device 300 (FIG. 22) according to the above-described embodiment. Therefore, the mobile phone 920 can suppress an increase in the code amount of the scaling list.
  • the mobile phone 920 has been described.
  • an imaging function similar to that of the mobile phone 920 such as a PDA (Personal Digital Assistant), a smartphone, an UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, or the like.
  • the image encoding device and the image decoding device to which the present technology is applied can be applied to any device as in the case of the mobile phone 920.
  • FIG. 55 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Further, the HDD 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium mounted on the disk drive 945 is, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. It may be.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus 10 (FIG. 14) according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 300 (FIG. 22) according to the above-described embodiment. Therefore, the recording / reproducing device 940 can suppress an increase in the code amount of the scaling list.
  • FIG. 56 shows an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject, generates image data, encodes the image data, and records the encoded image data on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD or a CMOS, and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971 by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the function of the image encoding apparatus 10 (FIG. 14) and the function of the image decoding apparatus 300 (FIG. 22) according to the above-described embodiment. Therefore, the imaging device 960 can suppress an increase in the code amount of the scaling list.
  • Scalable encoding is used for selection of data to be transmitted, for example, as in the example shown in FIG.
  • the distribution server 1002 reads the scalable encoded data stored in the scalable encoded data storage unit 1001, and via the network 1003, the personal computer 1004, the AV device 1005, the tablet It is distributed to the terminal device such as the device 1006 and the mobile phone 1007.
  • the distribution server 1002 selects and transmits encoded data of appropriate quality according to the capability of the terminal device, the communication environment, and the like. Even if the distribution server 1002 transmits high-quality data unnecessarily, a high-quality image is not always obtained in the terminal device, which may cause a delay or an overflow. Moreover, there is a possibility that the communication band is unnecessarily occupied or the load on the terminal device is unnecessarily increased. On the other hand, even if the distribution server 1002 transmits unnecessarily low quality data, there is a possibility that an image with sufficient image quality cannot be obtained in the terminal device. Therefore, the distribution server 1002 appropriately reads and transmits the scalable encoded data stored in the scalable encoded data storage unit 1001 as encoded data having an appropriate quality with respect to the capability and communication environment of the terminal device. .
  • the scalable encoded data storage unit 1001 stores scalable encoded data (BL + EL) 1011 encoded in a scalable manner.
  • the scalable encoded data (BL + EL) 1011 is encoded data including both a base layer and an enhancement layer, and is a data that can be decoded to obtain both a base layer image and an enhancement layer image. It is.
  • the distribution server 1002 selects an appropriate layer according to the capability of the terminal device that transmits data, the communication environment, and the like, and reads the data of the layer. For example, the distribution server 1002 reads high-quality scalable encoded data (BL + EL) 1011 from the scalable encoded data storage unit 1001 and transmits it to the personal computer 1004 and the tablet device 1006 with high processing capability as they are. . On the other hand, for example, the distribution server 1002 extracts base layer data from the scalable encoded data (BL + EL) 1011 for the AV device 1005 and the cellular phone 1007 having a low processing capability, and performs scalable encoding. Although it is data of the same content as the data (BL + EL) 1011, it is transmitted as scalable encoded data (BL) 1012 having a lower quality than the scalable encoded data (BL + EL) 1011.
  • BL scalable encoded data
  • scalable encoded data By using scalable encoded data in this way, the amount of data can be easily adjusted, so that the occurrence of delays and overflows can be suppressed, and unnecessary increases in the load on terminal devices and communication media can be suppressed. be able to.
  • scalable encoded data (BL + EL) 1011 since scalable encoded data (BL + EL) 1011 has reduced redundancy between layers, the amount of data can be reduced as compared with the case where encoded data of each layer is used as individual data. . Therefore, the storage area of the scalable encoded data storage unit 1001 can be used more efficiently.
  • the hardware performance of the terminal device varies depending on the device.
  • the application which a terminal device performs is also various, the capability of the software is also various.
  • the network 1003 serving as a communication medium can be applied to any communication network including wired, wireless, or both, such as the Internet and a LAN (Local Area Network), and has various data transmission capabilities. Furthermore, there is a risk of change due to other communications.
  • the distribution server 1002 communicates with the terminal device that is the data transmission destination before starting data transmission, and the hardware performance of the terminal device, the performance of the application (software) executed by the terminal device, etc. Information regarding the capability of the terminal device and information regarding the communication environment such as the available bandwidth of the network 1003 may be obtained. The distribution server 1002 may select an appropriate layer based on the information obtained here.
  • the layer extraction may be performed by the terminal device.
  • the personal computer 1004 may decode the transmitted scalable encoded data (BL + EL) 1011 and display a base layer image or an enhancement layer image. Further, for example, the personal computer 1004 extracts the base layer scalable encoded data (BL) 1012 from the transmitted scalable encoded data (BL + EL) 1011 and stores it or transfers it to another device. The base layer image may be displayed after decoding.
  • the numbers of the scalable encoded data storage unit 1001, the distribution server 1002, the network 1003, and the terminal devices are arbitrary.
  • the example in which the distribution server 1002 transmits data to the terminal device has been described, but the usage example is not limited to this.
  • the data transmission system 1000 may be any system as long as it transmits a scalable encoded data to a terminal device by selecting an appropriate layer according to the capability of the terminal device or a communication environment. Can be applied to the system.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS. 49 to 51. Effects similar to those described above with reference to FIGS. 49 to 51 can be obtained.
  • scalable coding is used for transmission via a plurality of communication media, for example, as shown in FIG.
  • a broadcasting station 1101 transmits base layer scalable encoded data (BL) 1121 by terrestrial broadcasting 1111.
  • the broadcast station 1101 transmits enhancement layer scalable encoded data (EL) 1122 via an arbitrary network 1112 including a wired or wireless communication network or both (for example, packetized transmission).
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • the terminal apparatus 1102 has a reception function of the terrestrial broadcast 1111 broadcast by the broadcast station 1101 and receives base layer scalable encoded data (BL) 1121 transmitted via the terrestrial broadcast 1111.
  • the terminal apparatus 1102 further has a communication function for performing communication via the network 1112, and receives enhancement layer scalable encoded data (EL) 1122 transmitted via the network 1112.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded data
  • the terminal device 1102 decodes the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 according to, for example, a user instruction, and obtains or stores a base layer image. Or transmit to other devices.
  • BL base layer scalable encoded data
  • the terminal device 1102 for example, in response to a user instruction, the base layer scalable encoded data (BL) 1121 acquired via the terrestrial broadcast 1111 and the enhancement layer scalable encoded acquired via the network 1112 Data (EL) 1122 is combined to obtain scalable encoded data (BL + EL), or decoded to obtain an enhancement layer image, stored, or transmitted to another device.
  • BL base layer scalable encoded data
  • EL enhancement layer scalable encoded acquired via the network 1112 Data
  • the scalable encoded data can be transmitted via a communication medium that is different for each layer, for example. Therefore, the load can be distributed, and the occurrence of delay and overflow can be suppressed.
  • the communication medium used for transmission may be selected for each layer. For example, scalable encoded data (BL) 1121 of a base layer having a relatively large amount of data is transmitted via a communication medium having a wide bandwidth, and scalable encoded data (EL) 1122 having a relatively small amount of data is transmitted. You may make it transmit via a communication medium with a narrow bandwidth. Further, for example, the communication medium for transmitting the enhancement layer scalable encoded data (EL) 1122 is switched between the network 1112 and the terrestrial broadcast 1111 according to the available bandwidth of the network 1112. May be. Of course, the same applies to data of an arbitrary layer.
  • the number of layers is arbitrary, and the number of communication media used for transmission is also arbitrary.
  • the number of terminal devices 1102 serving as data distribution destinations is also arbitrary.
  • broadcasting from the broadcasting station 1101 has been described as an example, but the usage example is not limited to this.
  • the data transmission system 1100 can be applied to any system as long as it is a system that divides scalable encoded data into a plurality of layers and transmits them through a plurality of lines.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS. Effects similar to those described above with reference to FIGS. 49 to 51 can be obtained.
  • scalable encoding is used for storing encoded data as in the example shown in FIG. 59, for example.
  • the imaging device 1201 performs scalable coding on image data obtained by imaging the subject 1211, and as scalable coded data (BL + EL) 1221, a scalable coded data storage device 1202. To supply.
  • the scalable encoded data storage device 1202 stores the scalable encoded data (BL + EL) 1221 supplied from the imaging device 1201 with quality according to the situation. For example, in the normal case, the scalable encoded data storage device 1202 extracts base layer data from the scalable encoded data (BL + EL) 1221, and the base layer scalable encoded data ( BL) 1222. On the other hand, for example, in the case of attention, the scalable encoded data storage device 1202 stores scalable encoded data (BL + EL) 1221 with high quality and a large amount of data.
  • the scalable encoded data storage device 1202 can store an image with high image quality only when necessary, so that an increase in the amount of data can be achieved while suppressing a reduction in the value of the image due to image quality degradation. And the use efficiency of the storage area can be improved.
  • the imaging device 1201 is a surveillance camera.
  • the monitoring target for example, an intruder
  • the content of the captured image is likely to be unimportant. Data
  • the image quality is given priority and the image data (scalable) (Encoded data) is stored with high quality.
  • whether it is normal time or attention time may be determined by the scalable encoded data storage device 1202 analyzing an image, for example.
  • the imaging apparatus 1201 may make a determination, and the determination result may be transmitted to the scalable encoded data storage device 1202.
  • the criterion for determining whether the time is normal or noting is arbitrary, and the content of the image as the criterion is arbitrary. Of course, conditions other than the contents of the image can also be used as the criterion. For example, it may be switched according to the volume or waveform of the recorded sound, may be switched at every predetermined time, or may be switched by an external instruction such as a user instruction.
  • the number of states is arbitrary, for example, normal, slightly attention, attention, very attention, etc.
  • three or more states may be switched.
  • the upper limit number of states to be switched depends on the number of layers of scalable encoded data.
  • the imaging apparatus 1201 may determine the number of scalable coding layers according to the state. For example, in a normal case, the imaging apparatus 1201 may generate base layer scalable encoded data (BL) 1222 with low quality and a small amount of data, and supply the scalable encoded data storage apparatus 1202 to the scalable encoded data storage apparatus 1202. Further, for example, when attention is paid, the imaging device 1201 generates scalable encoded data (BL + EL) 1221 having a high quality and a large amount of data, and supplies the scalable encoded data storage device 1202 to the scalable encoded data storage device 1202. May be.
  • BL base layer scalable encoded data
  • BL + EL scalable encoded data
  • the monitoring camera has been described as an example.
  • the use of the imaging system 1200 is arbitrary and is not limited to the monitoring camera.
  • the present technology is applied in the same manner as the application to the hierarchical encoding / decoding described above with reference to FIGS.
  • the effect similar to the effect mentioned above with reference to FIG. 51 can be acquired.
  • the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
  • the image encoding device and the image decoding device to which the present technology is applied can be applied to devices and systems other than the above-described devices.
  • the technique for transmitting the quantization matrix may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream). Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

 本開示は、スケーリングリストの符号量の増大を抑制することができるようにする画像処理装置および方法に関する。 本開示の画像処理装置は、伝送の際に許容される最大サイズである伝送サイズ以下に制限された量子化行列を逆量子化する際の処理単位であるブロックサイズと同じサイズにアップコンバートしたアップコンバート量子化行列の先頭に位置する係数を置き換える際に用いる置換係数と前記量子化行列の先頭に位置する係数との差分である置換差分係数を設定し、画像を量子化して、量子化データを生成し、生成された量子化データを符号化した符号化データと、前記置換係数を符号化した置換係数データと、設定された置換差分係数を符号化した置換差分係数化データとを伝送する。本開示は画像処理装置に適用することができる。

Description

画像処理装置および方法
 本開示は、画像処理装置および方法に関する。
 映像符号化方式の標準仕様の1つであるH.264/AVC(Advanced Video Coding)では、High Profile以上のプロファイルにおいて、画像データの量子化の際に、直交変換係数の成分ごとに異なる量子化ステップを用いることができる。直交変換係数の成分ごとの量子化ステップは、直交変換の単位と同等のサイズで定義される量子化行列(スケーリングリストともいう)及び基準のステップ値に基づいて設定され得る。
 量子化行列の規定値は、予測モード(イントラ予測モード、インター予測モード)と変換単位のサイズ(4x4、8x8)毎に用意される。また、ユーザは、シーケンスパラメータセット又はピクチャパラメータセットにおいて、既定値とは異なる独自の量子化行列を指定することができる。量子化行列が使用されない場合には、量子化の際に使用される量子化ステップは、全ての成分について等しい値となる。
 H.264/AVCに続く次世代の映像符号化方式として標準化が進められているHEVC(High Efficiency Video Coding)では、従来のマクロブロックに相当する符号化単位(CU(Coding Unit))という概念が導入されている(例えば、非特許文献1参照)。符号化単位のサイズの範囲は、シーケンスパラメータセットにおいて、LCU(LargestCoding Unit)及びSCU(Smallest Coding Unit)という2のべき乗の値の組で指定される。そして、split_flagを用いて、LCU及びSCUで指定された範囲内の具体的な符号化単位のサイズが特定される。
 HEVCでは、1つの符号化単位は、1つ以上の直交変換の単位、即ち1つ以上の変換単位(TU(Transform Unit))に分割され得る。変換単位のサイズとしては、4x4、8x8、16x16及び32x32のいずれかが利用可能である。
 ところで、量子化行列(スケーリングリスト(Scaling List))は、伝送の際の符号量の低減等を目的として、そのDC成分(直流成分とも称する)が、AC成分(交流成分とも称する)とは別のデータとして伝送される。つまり、スケーリングリストのDC成分は、スケーリングリストのAC成分である各AC係数(交流係数とも称する)とは別の、DC係数(直流係数とも称する)として伝送される。
 このDC係数について、伝送の際の符号量を低減させるために、DC係数の値から定数(例えば8)が差し引かれ、その値(scaling_list_dc_coef_minus8)が、符号つきの指数ゴロム符号化(signed exponential golomb coding)されるようにすることが提案されている(例えば、非特許文献1参照)。
Benjamin Bross, Fraunhofer HHI, Woo-Jin Han, Gachon University, Jens-Rainer Ohm, RWTH Aachen, Gary J. Sullivan, Microsoft, Thomas Wiegand, Fraunhofer HHI / TU Berlin, JCTVC-H1003, " High Efficiency Video Coding (HEVC) text specification draft 6", Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG117th Meeting: Geneva, CH, 21-30 November, 2011
 しかしながら、この方法の場合、処理は容易であるものの、圧縮効率が十分でない恐れがあった。
 本開示は、このような状況に鑑みて提案されたものであり、スケーリングリストの符号量の増加を抑制することができるようにすることを目的とする。
 本開示の一側面は、伝送の際に許容される最大サイズである伝送サイズ以下に制限された量子化行列を逆量子化する際の処理単位であるブロックサイズと同じサイズにアップコンバートしたアップコンバート量子化行列の先頭に位置する係数を置き換える際に用いる置換係数と前記量子化行列の先頭に位置する係数との差分である置換差分係数を設定する設定部と、画像を量子化して、量子化データを生成する量子化部と、前記量子化部により生成された量子化データを符号化した符号化データと、前記置換係数を符号化した置換係数データと、前記設定部により設定された置換差分係数を符号化した置換差分係数化データとを伝送する伝送部とを備える画像処理装置である。
 前記設定部は、前記置換係数と前記量子化行列に設定された初期値との差分を設定することができる。
 前記設定部は、前記量子化行列の係数同士の差分である差分係数を設定し、前記伝送部は、前記設定部により設定された差分係数を符号化した差分係数データを伝送することができる。
 前記伝送部は、前記置換係数データと前記置換差分係数化データとをまとめて伝送することができる。
 前記伝送部は、前記置換係数データから前記置換差分係数化データの順に伝送することができる。
 前記量子化部は、前記量子化行列又は前記アップコンバート量子化行列を用いて、前記画像を量子化することができる。
 符号化処理する際の処理単位であるコーディングユニットと変換処理をする際の処理単位であるトランスフォームユニットとが階層構造を有し、前記量子化部により生成された量子化データを符号化する符号化部を更に備えることができる。
 本開示の一側面は、また、伝送の際に許容される最大サイズである伝送サイズ以下に制限された量子化行列を逆量子化する際の処理単位であるブロックサイズと同じサイズにアップコンバートしたアップコンバート量子化行列の先頭に位置する係数を置き換える際に用いる置換係数と前記量子化行列の先頭に位置する係数との差分である置換差分係数を設定し、画像を量子化して、量子化データを生成し、生成された量子化データを符号化した符号化データと、前記置換係数を符号化した置換係数データと、設定された置換差分係数を符号化した置換差分係数化データとを伝送する画像処理方法である。
 本開示の一側面においては、伝送の際に許容される最大サイズである伝送サイズ以下に制限された量子化行列を逆量子化する際の処理単位であるブロックサイズと同じサイズにアップコンバートしたアップコンバート量子化行列の先頭に位置する係数を置き換える際に用いる置換係数と量子化行列の先頭に位置する係数との差分である置換差分係数が設定され、画像が量子化されて、量子化データが生成され、生成された量子化データを符号化した符号化データと、置換係数を符号化した置換係数データと設定された置換差分係数を符号化した置換差分係数化データとが伝送される。
 本開示によれば、画像を処理することが出来る。特に、量子化行列の符号量の増加を抑制することができる。
スケーリングリストの例を示す図である。 アップコンバートの例を説明する図である。 デコーダにおけるスケーリングリストの使用例を説明する図である。 スケーリングリストの符号化例を説明する図である。 本技術を適用したスケーリングリストの符号化例を説明する図である。 指数ゴロム符号の例を示す図である。 スケーリングリストに関するシンタクスの例を示す図である。 デフォルトマトリクスに関するシンタクスの例を示す図である。 デフォルトマトリクスに関するセマンティクスの例を示す図である。 スケーリングリストに関するシンタクスの例を示す図である。 本技術を適用したスケーリングリストに関するシンタクスの例を示す図である。 従来のスケーリングリストのシンタクスの例を示す図である。 スケーリングリストのシンタクスの例を示す図である。 画像符号化装置の主な構成例を示すブロック図である。 直交変換・量子化部の主な構成例を示すブロック図である。 行列処理部の主な構成例を示すブロック図である。 ダウンサンプルの例を説明する図である。 重複部分を削除する様子の例を説明する図である。 DPCM部の主な構成例を示すブロック図である。 量子化行列符号化処理の流れの例を説明するフローチャートである。 DPCM処理の流れの例を示すフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 逆量子化・逆直交変換部の主な構成例を示すブロック図である。 行列生成部の主な構成例を示すブロック図である。 最近傍補間処理の例を説明する図である。 逆DPCM部の主な構成例を示すブロック図である。 行列生成処理の流れの例を説明するフローチャートである。 残差信号復号処理の流れの例を説明するフローチャートである。 逆DPCM処理の流れの例を説明するフローチャートである。 スケーリングリストのシンタクスの、他の例を示す図である。 DPCM部の他の構成例を示すブロック図である。 DPCM処理の流れの、他の例を示すフローチャートである。 逆DPCM部の他の構成例を示すブロック図である。 逆DPCM処理の流れの、他の例を説明するフローチャートである。 スケーリングリストのシンタクスの、さらに他の例を示す図である。 逆DPCM処理の流れの、さらに他の例を説明するフローチャートである。 スケーリングリストのシンタクスの、さらに他の例を示す図である。 DPCM部のさらに他の構成例を示すブロック図である。 DPCM処理の流れの、さらに他の例を示すフローチャートである。 逆DPCM部のさらに他の構成例を示すブロック図である。 逆DPCM処理の流れの、さらに他の例を説明するフローチャートである。 逆DPCM処理の流れの、さらに他の例を説明する、図41に続くフローチャートである。 スケーリングリストのシンタクスの、さらに他の例を示す図である。 スケーリングリストのシンタクスの、さらに他の例を示す図である。 スケーリングリストのシンタクスの、さらに他の例を示す図である。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の主な構成例を示すブロック図である。 モバイル端末器の主な構成例を示すブロック図である。 記録再生機の主な構成例を示すブロック図である。 撮像装置の主な構成例を示すブロック図である。 スケーラブル符号化利用の一例を示すブロック図である。 スケーラブル符号化利用の他の例を示すブロック図である。 スケーラブル符号化利用のさらに他の例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1. 第1の実施の形態(本技術の代表的な適用例)
 2. 第2の実施の形態(画像符号化装置、画像復号装置:方法1)
 3. 第3の実施の形態(画像符号化装置、画像復号装置:方法2)
 4. 第4の実施の形態(画像符号化装置、画像復号装置:方法3)
 5. 第5の実施の形態(画像符号化装置、画像復号装置:方法4)
 6. 第6の実施の形態(画像符号化装置、画像復号装置:その他の方法)
 7. 第7の実施の形態(多視点画像符号化装置、多視点画像復号装置)
 8. 第8の実施の形態(階層画像符号化装置、階層画像復号装置)
 9. 第9の実施の形態(コンピュータ)
 10. 応用例
 11. スケーラブル符号化の応用例
 <1. 第1の実施の形態>
 本実施の形態においては、第2以降の各実施の形態において詳細を説明する本技術の、代表的な適用例について説明する。
  <1-1本技術を適用するケースの代表的な一例>
 最初に、本技術を適用するケースについて、代表的な一例を説明する。本技術は、画像データの符号化・復号において行われる量子化・逆量子化の処理に用いられるスケーリングリストの符号化・復号に関する技術である。
 画像データの符号化や復号においては、係数データの量子化や逆量子化が行われることがある。このような量子化・逆量子化は、所定の大きさのブロック毎に行われ、そのブロックサイズに応じたサイズのスケーリングリスト(量子化マトリクス)が用いられる。例えば、HEVC(High Efficiency Video Coding)の場合、4x4、8x8、16x16、32x32等のサイズで量子化(逆量子化)が行われる。HEVCの場合、4x4と8x8のサイズの量子化マトリクスが用意される。
 図1に8x8のスケーリングリストの例を示す。図1に示されるように、スケーリングリストは、DC係数(DC coefficient)とAC係数(AC coefficient)よりなる。1つの値よりなるDC係数は、量子化マトリクスの(0,0)係数であり、離散コサイン変換(DCT(Discrete Cosine Transform))のDC係数に相当する。AC係数は、量子化マトリクスの(0,0)係数以外の係数であり、DCTのDC係数以外の係数に相当する。ただし、図1に示されるように、AC係数はマトリクス(行列)として表現される。すなわち、AC係数には(0,0)係数も含まれる(以下、AC係数(0,0)とも称する)が、量子化・逆量子化に使用される際には、この量子化マトリクスの先頭に位置する係数である(0,0)係数は、DC係数に置き換えられる。したがって、DC係数は、置換係数とも称する。図1の例の場合、AC係数は8x8のマトリクス(行列)を形成している。
 また、HEVCの場合、16x16や32x32の量子化(逆量子化)には、8x8の量子化マトリクスをアップコンバート(拡大変換)したものが利用される。
 図2に、8x8のスケーリングリストを16x16にアップコンバートする様子の例を示す。図2に示されるように、スケーリングリストのアップコンバートには、例えば、最近傍補間処理が適用される。最近傍補間処理の詳細については、例えば図25等を参照して後述する。図2に示されるように、アップコンバートは、スケーリングリストのAC係数に対して行われる。そして、このアップコンバートされたAC係数の(0,0)係数がDC係数に置き換えられる。
 8x8のスケーリングリストは、16x16にアップコンバートするためのもの(8x8 for 16x16)と、32x32にアップコンバートするためのもの(8x8 for 32x32)との2種類用意される。
 符号化(エンコーダ)における量子化に使用されたスケーリングリストは、復号(デコーダ)における逆量子化にも使用される。つまり、スケーリングリストは、符号化側(エンコーダ)から復号側(デコーダ)側に伝送される。図3にその様子の例を示す。
 図3に示される例のように、上述した、16x16サイズへのアップコンバート用と、32x32サイズへのアップコンバート用の、2種類の8x8のスケーリングリストが、伝送される。なお、図示は省略するが、その他に、4x4のスケーリングリストも伝送される。
 このように伝送された16x16サイズへのアップコンバート用の8x8のスケーリングリストのAC係数は、復号側(デコーダ)において、上述したように最近傍補間処理により16x16サイズにアップコンバートされ、(0,0)係数がDC係数に置き換えられて、16x16サイズのブロックの逆量子化に使用される。
 同様に、このように伝送された32x32サイズへのアップコンバート用の8x8のスケーリングリストのAC係数は、復号側(デコーダ)において、上述したように最近傍補間処理により32x32サイズにアップコンバートされ、(0,0)係数がDC係数に置き換えられて、32x32サイズのブロックの逆量子化に使用される。
  <1-2. スケーリングリストの符号化>
 以上のようにスケーリングリストを伝送することにより、その分、符号量が増大することになる。そこで、符号化効率低減を抑制するために、スケーリングリストは所定の方法で符号化され、その符号量の低減が図られる。図4にその例を示す。すなわち、8x8のスケーリングリストは、以下のように伝送される。
 8x8マトリクスを16x16マトリクスにアップコンバートする場合:
  (1)8x8マトリクスの(0,0)係数(すなわち、AC係数(0,0))と、予め定められた初期値「8」との差分をとる。
  (2)8x8マトリクスの係数(すなわち、AC係数)同士(スキャン順に1次元に並べられた係数列において隣同士)の差分をとる。
  (3)16x16マトリクスの(0,0)係数(すなわち、DC係数)と、予め定められた初期値「8」との差分をとる。
  (4)(1)の差分および(2)の差分と、(3)の差分とを別々に伝送する。
 8x8マトリクスを32x32マトリクスにアップコンバートする場合:
  (1)8x8マトリクスの(0,0)係数(すなわち、AC係数(0,0))と、予め定められた初期値「8」との差分をとる。
  (2)8x8マトリクスの係数(すなわち、AC係数)同士(スキャン順に1次元に並べられた係数列において隣同士)の差分をとる。
  (3)32x32マトリクスの(0,0)係数(すなわち、DC係数)と、予め定められた初期値「8」との差分をとる。
  (4)(1)の差分および(2)の差分と、(3)の差分とを別々に伝送する。
 しかしながら、この方法の場合、(4)において、各差分は、指数ゴロム符号化(signed exponential golomb coding)されて伝送される。上述したように(1)の差分は、AC係数(0,0)と初期値「8」との差分であるので、このAC係数(0,0)の値が、初期値「8」に近い値でない場合、符号量が増大する恐れがあった。
 例えば、図4の場合、AC係数(0,0)の値は「12」であり、(1)の差分として値「4」が指数ゴロム符号化されて伝送されることになる。つまり、(1)の差分の伝送のために7ビット(bit)を必要とし、その分、符号化効率を低減させる恐れがある。この(1)の差分の値がさらに大きければ、さらに符号化効率を低減させる恐れがある。これは、16x16サイズへのアップコンバート用の8x8のスケーリングリストの場合も、32x32サイズへのアップコンバート用の8x8のスケーリングリストの場合も同様である。
 ところで、一般的に、DCT係数は、DC係数とその周辺の低次の係数にパワーが集中する。したがって、一般的に、量子化マトリクスもDC係数とその周辺の係数に対して小さな値が用いられる。また、周波数毎に極端に異なる値を使用した場合、量子化誤差が主観的に目につくことがある。そのような視覚的な画質の劣化を抑制するために、DC係数とその周辺の係数に対して連続的な値が適用される。
 アップコンバート後の(0,1)係数、(1.0)係数、および(1.1)係数は、アップコンバートする前のAC係数(0,0)に対応する。また、アップコンバート後の(0,0)係数は、DC係数に対応する。
 したがって、一般的に、スケーリングリストにおいて、AC係数(0,0)の値とDC係数の値は、互いに近い値をとる。例えば、MPEG2、AVC、およびHEVCのデフォルトマトリクスはそういう値になっている。図4の例においても、DC係数の値は、AC係数(0,0)と同じ「12」である。したがって、(3)の差分、すなわち、DC係数と初期値「8」との差分の値も「4」である。
 つまり、互いに近い値を持つDC係数とAC係数(0,0)を、それぞれ、初期値と差分をとることは、その差分値が大きくなる恐れがあるだけでなく、冗長である可能性が高く、符号化効率をさらに低減させる恐れがあるとも言える。
 そこで、スケーリングリストの伝送を、図4の方法に代えて、以下のような方法で行うようにする。図5にその例を示す。
 8x8マトリクスを16x16マトリクスにアップコンバートする場合:
  (1)8x8マトリクスの(0,0)係数(すなわち、AC係数(0,0))と16x16マトリクスの(0,0)係数(すなわち、DC係数)との差分をとる。
  (2)8x8マトリクスの係数(すなわち、AC係数)同士(スキャン順に1次元に並べられた係数列において隣同士)の差分をとる。
  (3)16x16マトリクスの(0,0)係数(すなわち、DC係数)と、予め定められた初期値「8」との差分をとる。
  (4)(1)乃至(3)の差分をまとめて伝送する。
 8x8マトリクスを32x32マトリクスにアップコンバートする場合:
  (1)8x8マトリクスの(0,0)係数(すなわち、AC係数(0,0))と32x32マトリクスの(0,0)係数(すなわち、DC係数)との差分をとる。
  (2)8x8マトリクスの係数(すなわち、AC係数)同士(スキャン順に1次元に並べられた係数列において隣同士)の差分をとる。
  (3)32x32マトリクスの(0,0)係数(すなわち、DC係数)と、予め定められた初期値「8」との差分をとる。
  (4)(1)乃至(3)の差分をまとめて伝送する。
 図4の場合と同様に、(4)において、各差分は、指数ゴロム符号化されて指数ゴロム符号として伝送される。
 指数ゴロム符号として伝送される各差分の伝送先は、その指数ゴロム符号を受け取ると、受け取った指数ゴロム符号を復号し、得られた各差分を、上述した(1)乃至(3)の逆処理を行うことにより、各係数(DC係数およびAC係数)を求める。
   <1-3. 本技術の代表的な特徴>
 以上のような伝送方法に関する本技術の代表的な特徴について、以下に説明する。
   <1-3-1. AC係数(0,0)とDC係数とのDPCM>
 スケーリングリストは、差分パルス符号変調(DPCM(Differential Pulse-Code Modulation))されて伝送される。図4の例の場合、AC係数とDC係数は、それぞれ独立してDPCMされるのに対して、本技術の特徴の1つは、図5の例のように、AC係数(0,0)とDC係数との差分(置換差分係数とも称する)を求めて伝送することである。
 上述したように、一般的に、AC係数(0,0)とDC係数は、近い値をとる。したがって、AC係数(0,0)とDC係数との差分の方が、AC係数(0,0)と初期値「8」との差分よりも小さい値となる可能性が高い。つまり、本技術を適用して、AC係数(0,0)とDC係数との差分である置換差分係数を伝送するようにする方が、符号量が低減される可能性が高い。
 例えば、図5の例の場合、(1)の差分の値は「0」である。
 図6は、指数ゴロム符号化(signed exponential golomb coding)の例を示す図である。図6の表に示されるように、値「4」の指数ゴロム符号の符号長は7ビットであるのに対して、値「0」の指数ゴロム符号の符号長は1ビットである。つまり、図5の場合の方が、図4の場合に比べて、符号量を6ビット削減することができる。
 一般的に、8x8サイズの量子化マトリクスを伝送するのに、100ビット乃至200ビット程度の符号量が必要になる。したがって6ビットは、全体の6%程度に相当する。ハイレベルシンタクス(High Level Syntax)において、6%の符号量低減は、非常に大きな効果であると言える。
   <1-3-2. DC係数とAC係数とをまとめて伝送>
 図7にスケーリングリストのシンタクスの例を示す。図4の例の場合、シンタクスは、図7のAの例のようになる。つまり、AC係数(0,0)と初期値「8」との差分、並びに、AC係数同士の差分(scaling_list_delta_coef)が伝送され、その後、それとは別に、DC係数と初期値「8」との差分(scaling_list_dc_coef_minus8)が伝送される。
 これに対して本技術の特徴の1つは、DC係数とAC係数(0,0)との差分、並びに、AC係数同士の差分をこの順に並べ、まとめて伝送することである。つまり、図5に示されるように、DC係数、並びに、所定のスキャン順の各AC係数が1次元に並べられ、DC係数と初期値「8」との差分が求められた後、その係数列の隣り合う係数同士の差分が求められる。そして、得られた各差分(係数同士の差分)が、その得られた順に1次元に並べられた状態でまとめて伝送される。
 この場合のシンタクスは、図7のBの例のようになる。つまり、最初にDC係数と初期値「8」との差分(scaling_list_dc_coef_minus8)が伝送され、続いて、DC係数とAC係数(0,0)との差分、並びに、AC係数同士の差分(scaling_list_delta_coef)が伝送される。つまり、DC係数とAC係数がまとめて符号化されて伝送される。
 このように、各差分を得られた順に並べてまとめて伝送することにより、伝送先の復号側(デコーダ)は、伝送される順に復号し、各係数を得ることができる。つまり、DPCMされたスケーリングリストを容易に復号することができる。より具体的には、処理の負荷を低減させることができる。また、差分の並べ替え等が不要になるのでバッファの容量を低減させることができる。さらに、各差分の供給順に復号を行うことができるので、処理時間の増大を抑制することができる。
   <1-3-3. デフォルトマトリクスの伝送>
 図8は、デフォルトマトリクスの伝送に関するシンタクスの例を示す図である。従来、デフォルトマトリクスを使用することを示す情報を伝送するために、図8に示されるように、最初の係数(DC係数)を「0」として伝送していた。つまり、DC係数と初期値「8」との差分(scaling_list_dc_coef_minus8))の値は「-8」とされた。しかしながら、図6に示されるように、値「-8」の指数ゴロム符号の符号長は9ビットである。つまり、符号化効率を大幅に低減させる恐れがあった。一般的に、ハイレベルシンタクス(High Level Syntax)は、1ビットでも少ない方が望ましい。さらに、図8に示されるようにシンタクスも複雑になり、処理の負荷を増大させる恐れがあった。
 そこで、最初の係数を「0」にするのではなくて、scaling_list_pred_matrix_id_deltaのセマンティクス(semantics)を変更するようにする。より具体的には、scaling_list_pred_matrix_id_deltaのセマンティクスを図9のAから図9のBのように変更する。つまり、従来、図9のAに示されるように、この値が「0」である場合、1つ前のマトリクス(MatrixID-1)を参照することを示していた。これを、図9のBに示されるように、このscaling_list_pred_matrix_id_deltaの値が「0」である場合、デフォルトマトリクスを意味するものとするようにする。
 このようにすることにより、デフォルトマトリクスを使用することを示す情報を伝送するための指数ゴロム符号の符号長を1ビットにすることができ、符号化効率の低減を抑制することができる。また、スケーリングリストについて、従来、図10のAおよび図10のBに示されるようなシンタクスが必要であったが、これを図11に示される例のように、簡略化することができる。つまり、スケーリングリストの符号化・復号に関する処理の負荷を低減させることができる。
  <1-4. 本技術を適用することによるシンタクスの特徴>
 シンタクスについて、より具体的に説明する。
 図10のAおよび図10のBに示される従来の例の場合、scaling_list_dc_coef_minus8とscaling_list_delta_coefの2箇所でデフォルトを判定しないといけなかった。また、scaling_list_delta_coefに関しては、forループの途中で判定を行い、useDefaultScalingMatrixFlag=1になると、ループを抜ける処理になっていた。また、stopNowという中間フラグを必要とし、この条件によりnextCoefをscalingListの値に代入するなどの分岐も存在する。このように、従来のシンタクスでは、複雑な処理が必要であった。
 そこで、本技術では、図11に示される例のように、scaling_list_dc_coef_minus8から計算されるDC係数をnextCoefに代入することで、scaling_list_delta_coefの初期値をDC係数とする。
 また、セマンティクスとして、scaling_list_pred_matrix_id_deltaの値を従来「+1」で表現したものをそのままの値とし、値「0」を特別扱いすることにした。
 つまり、従来、ScalingList[0][2]を復号する際(matrixId=2)、scaling_list_pred_matrix_id_delta=0とすれば、refMatrixId = matrixId - (1 + scaling_list_pred_matrix_id_delta)でmatrixId=2なので、refMatrixId = 1となりScalingList[0][1]の値をコピーすることになっていた。
 これに対して本技術では、refMatrixId = matrixId - scaling_list_pred_matrix_id_deltaとし、ScalingList[0][2]を復号する際(matrixId=2)、ScalingList[0][1]をコピーしたい場合(refMatrixId = 1としたい場合)、scaling_list_pred_matrix_id_delta=1とすればよいようにした。
 このようにすることにより、図11に示されるように、スケーリングリストに関するシンタクスの行数を大幅に低減させることができる。また、中間データとして持たないといけない、UseDefaultScalingMatrixおよびstopNowの2つの変数を省略することができる。さらに、図10に示されるようなforループ内の分岐が不要にすることができる。したがって、スケーリングリストの符号化・復号に関する処理の負荷を低減させることができる。
  <1-5. 本技術を実現する処理部>
 スケーリングリストの伝送において本技術を適用する場合、以上のようなスケーリングリストの符号化・復号が行われる。つまり、図14を参照して後述する画像符号化装置10がスケーリングリストを符号化して伝送し、図22を参照して後述する画像復号装置300が、その符号化されたスケーリングリストを受け取り、復号する。
 スケーリングリストの符号化は、画像符号化装置10の直交変換・量子化部14(図14)の、行列処理部150(図15)の、エントロピ符号化部164(図16)の、DPCM部192およびexpG部193(ともに図16)において行われる。つまり、DPCM部192において、スケーリングリストの各係数(DC係数やAC係数)同士の差分が求められ、expG部193において、各差分が指数ゴロム符号化される。
 上述したような本技術を適用したスケーリングリストの符号化を行うためには、DPCM部192が、例えば、図19に示されるような構成例を有し、図21に示される例のようなDPCM処理を行えばよい。また、セマンティクスは、図44のCや図45のCの例のようにすればよい。
 換言するに、本技術を適用したスケーリングリストの符号化を実現するためには、このDPCM部192およびexpG部193のみがあればよく、その他は、どのような構成であってもよい。例えば、スケーリングリストのアップコンバートを行う処理部や、スケーリングリストを用いた量子化を行う処理部等、実施の態様に応じて必要な構成を設けるようにすればよい。
 また、スケーリングリストの復号は、画像復号装置300の逆量子化・逆直交変換部313(図22)の、行列生成部410(図23)の、エントロピ復号部533(図24)の、expG部551および逆DPCM部552(ともに図24)において行われる。つまり、expG部551において、指数ゴロム符号が復号されて差分が得られ、逆DPCM部552において、各差分からスケーリングリストの各係数(DC係数やAC係数)が求められる。
 上述したような本技術を適用した、符号化されたスケーリングリストの復号を行うためには、逆DPCM部552が、例えば、図26に示されるような構成例を有し、図29に示される例のような逆DPCM処理を行えばよい。また、セマンティクスは、図44のCや図45のCの例のようにすればよい。
 換言するに、本技術を適用したスケーリングリストの復号を実現するためには、このexpG部551および逆DPCM部552のみがあればよく、その他は、どのような構成であってもよい。例えば、スケーリングリストのアップコンバートを行う処理部や、スケーリングリストを用いた逆量子化を行う処理部等、実施の態様に応じて必要な構成を設けるようにすればよい。
 以下に、本技術についてのより詳細な説明をするために、本技術を適用した各実施の形態について説明する。
 <2. 第2の実施の形態>
  <2-1. シンタクス:方法1>
  (1)従来シンタクス
 まず、量子化行列(スケーリングリスト(Scaling List))の従来のシンタクスの例を図12に示す。なお、実際には、スケーリングリストの代わりに、スケーリングリストとその予測行列との差分行列が伝送されることが多い。したがって、以下のシンタクス等の説明において、スケーリングリストの説明は、差分行列にも適用することができるものとする。
 図12のAは、スケーリングリストデータに関するシンタクス(Scaling list data syntax)であり、図12のBは、スケーリングリストのシンタクス(Scaling list syntax)である。
   (1―1)Scaling list data syntax
 図12のAに示されるように、スケーリングリストデータに関するシンタクスにおいては、スケーリングリストが提供されるか否かを示すフラグ(scaling_list_present_flag)、コピーモードであるか否かを示すフラグ(scaling_list_pred_mode_flag)、コピーモードの場合、どのスケーリングリストを参照するかを示す情報(scaling_list_pred_matrix_id_delta)等が読みこまれることが決められている。
   (1―2)Scaling list syntax
 図12のBに示されるように、スケーリングリストのシンタクスにおいては、定数(例えば8)が値から減算されたDC係数(scaling_list_dc_coef_minus8)や、AC係数の差分値(scaling_list_delta_coef)等が読みこまれ、DC係数やAC係数が復元されることが決められている。
 しかしながら、このようなシンタクスでは、処理は容易であるものの、DC係数の圧縮効率が十分でない恐れがあった。
 そこで、DC成分(直流成分)の係数であるDC係数(直流係数とも称する)の圧縮効率を十分なものとするために、DC係数とその他の係数との差分を求め、その差分値をDC係数の代わりに伝送するようにする。つまり、この差分値は、DC係数を算出するための情報であり、すなわち、実質的にDC係数と等価である。ただし、一般的に、DC係数そのものよりも、この差分の方が値が小さくなる。つまり、DC係数の代わりにこの差分値を伝送することにより符号量が低減される。
 なお、以下においては、説明の便宜上、スケーリングリスト(量子化行列)のサイズは、8x8とする。上述した、DC係数の代わりに、DC係数とその他の係数との差分を伝送する方法の具体例を以下に説明する。
  (2)方法1シンタクス
 例えば、DC係数を8x8マトリクス(AC係数)の先頭の要素と考えて、65係数のDPCM(Differential Pulse Code Modulation:差分パルス符号変調)で伝送するようにしてもよい(方法1)。
 つまり、最初に、所定の定数とDC係数との差分が算出され、それがDPCMデータの最初の係数とされる。次に、DC係数と最初のAC係数との差分が算出され、それがDPCMデータの2番目の係数とされる。次に、最初のAC係数と2番目のAC係数との差分が算出され、それがDPCMデータの3番目の係数とされる。以降、同様に1つ手前のAC係数との差分が算出され、DPCMデータの4番目以降の係数とされる。このように生成されたDPCMデータが、最初の係数から順に伝送される。
 このようにすることにより、8x8マトリクスの(0,0)係数(AC係数)とDC係数が近い値の場合に圧縮率をより向上させることができる。この方法1を実現することにより、画像符号化装置は、DC係数を、AC成分(交流成分)の係数であるAC係数(交流係数とも称する)と同様に処理することができる。ただし、この方法1を実現するためには、この係数群が伝送される画像復号装置は、最初の係数のみ特別扱いする必要がある。つまり、画像復号装置は、AC係数群の中からDC係数を抽出する必要がある。
 その場合の、スケーリングリストのシンタクスを、図13に示す。図13の例の場合、係数同士の差分値(scaling_list_delta_coef)が65個読み込まれ、それらの差分値から求められた各係数(nextcoef)の内、先頭の係数(nextcoef)がDC係数(scaling_list_dc_coef)とされ、それ以外の係数が、AC係数(ScalingList[i])とされる。
 このような方法1のシンタクスを実現する画像符号化装置について以下に説明する。
  <2-2. 画像符号化装置>
 図14は、本開示の一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図14に示される画像符号化装置10は、入力された画像データを符号化し、得られた符号化データを出力する、本技術を適用した画像処理装置である。図14を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11(A/D)、並べ替えバッファ12、減算部13、直交変換・量子化部14、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26、イントラ予測部30、動き探索部40、及びモード選択部50を備える。
 A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ12へ出力する。
 並べ替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部13、イントラ予測部30、および動き探索部40へ出力する。
 減算部13には、並べ替えバッファ12から入力される画像データ、および、後に説明するモード選択部50により選択される予測画像データが供給される。減算部13は、並べ替えバッファ12から入力される画像データとモード選択部50から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換・量子化部14へ出力する。
 直交変換・量子化部14は、減算部13から入力される予測誤差データについて直交変換および量子化を行い、量子化された変換係数データ(以下、量子化データという)を可逆符号化部16および逆量子化部21へ出力する。直交変換・量子化部14から出力される量子化データのビットレートは、レート制御部18からのレート制御信号に基づいて制御される。直交変換・量子化部14の詳細な構成について、後にさらに説明する。
 可逆符号化部16には、直交変換・量子化部14から入力される量子化データ、復号側でスケーリングリスト(量子化行列)を生成するための情報、並びに、モード選択部50により選択されるイントラ予測またはインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロック毎の最適なイントラ予測モードを示す予測モード情報を含み得る。また、インター予測に関する情報は、例えば、ブロック毎の動きベクトルの予測のための予測モード情報、差分動きベクトル情報、および参照画像情報等を含み得る。さらに、復号側でスケーリングリストを生成するための情報には、伝送するスケーリングリスト(若しくは、スケーリングリスト(量子化行列)とその予測行列との差分行列)の最大サイズを示す識別情報を含み得る。
 可逆符号化部16は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化または算術符号化等であってよい。また、可逆符号化部16は、スケーリングリストを生成するための情報を、符号化ストリームのヘッダ(例えばシーケンスパラメータセットおよびピクチャパラメータセット)内に多重化する。さらに、可逆符号化部16は、上述したイントラ予測またはインター予測に関する情報を、符号化ストリームのヘッダ内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリ等の記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路(または画像符号化装置10からの出力線)の帯域に応じたレートで出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を直交変換・量子化部14へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21は、直交変換・量子化部14から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データとモード選択部50から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24およびフレームメモリ25へ出力する。
 デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し(または少なくとも減少し)、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力される復号画像データ、および、デブロックフィルタ24から入力されるフィルタリング後の復号画像データを、記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部40に供給する。
 イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、および、セレクタ26を介して供給される復号画像データに基づいて、各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部30は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部30は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、およびコスト関数値などのイントラ予測に関する情報を、モード選択部50へ出力する。
 動き探索部40は、並べ替えバッファ12から入力される符号化対象の画像データ、および、セレクタ26を介して供給される復号画像データに基づいて、インター予測処理(フレーム間予測処理)を行う。例えば、動き探索部40は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部40は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部40は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部40は、選択した最適な予測モードを表す予測モード情報を含むインター予測に関する情報、予測画像データ、および、コスト関数値等のインター予測に関する情報を、モード選択部50へ出力する。
 モード選択部50は、イントラ予測部30から入力されるイントラ予測に関するコスト関数値と動き探索部40から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部50は、イントラ予測およびインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部50は、イントラ予測を選択した場合、イントラ予測に関する情報を可逆符号化部16へ出力するとともに、予測画像データを減算部13および加算部23へ出力する。また、モード選択部50は、インター予測を選択した場合、インター予測に関する上述した情報を可逆符号化部16へ出力するとともに、予測画像データを減算部13および加算部23へ出力する。
  <2-3. 直交変換・量子化部の構成例>
 図15は、図14に示した画像符号化装置10の直交変換・量子化部14の詳細な構成の一例を示すブロック図である。図15を参照すると、直交変換・量子化部14は、選択部110、直交変換部120、量子化部130、スケーリングリストバッファ140、および行列処理部150を有する。
  (1)選択部
 選択部110は、サイズの異なる複数の変換単位から、符号化される画像データの直交変換のために使用される変換単位(TU)を選択する。選択部110により選択され得る変換単位のサイズの候補は、例えば、H.264/AVC(Advanced Video Coding)では4x4および8x8を含み、HEVC(High Efficiency Video Coding)では4x4、8x8、16x16及び32x32を含む。選択部110は、例えば、符号化される画像のサイズ若しくは画質、または、画像符号化装置10の性能等に応じていずれかの変換単位を選択してよい。選択部110による変換単位の選択は、画像符号化装置10を開発するユーザによってハンドチューニングされてもよい。そして、選択部110は、選択した変換単位のサイズを指定する情報を、直交変換部120、量子化部130、可逆符号化部16、および逆量子化部21へ出力する。
  (2)直交変換部
 直交変換部120は、選択部110により選択された変換単位で、減算部13から供給される画像データ(即ち、予測誤差データ)を直交変換する。直交変換部120により実行される直交変換は、例えば、離散コサイン変換(DCT(Discrete Cosine Transform))またはカルーネン・レーベ変換などであってよい。そして、直交変換部120は、直交変換処理により取得される変換係数データを量子化部130へ出力する。
  (3)量子化部
 量子化部130は、選択部110により選択された変換単位に対応するスケーリングリストを用いて、直交変換部120により生成された変換係数データを量子化する。また、量子化部130は、レート制御部18からのレート制御信号に基づいて量子化ステップサイズを切り替えることにより、出力される量子化データのビットレートを変化させる。
 また、量子化部130は、選択部110により選択され得る複数の変換単位にそれぞれ対応するスケーリングリストのセットを、スケーリングリストバッファ140に記憶させる。例えば、HEVCのように4x4、8x8、16x16及び32x32という4種類のサイズの変換単位の候補が存在する場合、これら4種類のサイズにそれぞれ対応する4種類のスケーリングリストのセットが、スケーリングリストバッファ140により記憶され得る。なお、あるサイズについて既定のスケーリングリストが使用される場合、既定のスケーリングリストが使用されること(ユーザにより定義されたスケーリングリストを使用しないこと)を示すフラグのみが、当該サイズと関連付けてスケーリングリストバッファ140により記憶されるようにしてもよい。
 量子化部130により使用される可能性のあるスケーリングリストのセットは、典型的には、符号化ストリームのシーケンス毎に設定され得る。また、量子化部130は、シーケンス毎に設定したスケーリングリストのセットを、ピクチャ毎に更新してもよい。このようなスケーリングリストのセットの設定および更新を制御するための情報は、例えば、シーケンスパラメータセットおよびピクチャパラメータセットに挿入され得る。
  (4)スケーリングリストバッファ
 スケーリングリストバッファ140は、半導体メモリなどの記憶媒体を用いて、選択部110により選択され得る複数の変換単位にそれぞれ対応するスケーリングリストのセットを一時的に記憶する。スケーリングリストバッファ140により記憶されるスケーリングリストのセットは、次に説明する行列処理部150による処理に際して参照される。
  (5)行列処理部
 行列処理部150は、符号化(量子化)に用いられるスケーリングリストの符号化を行う。そして、行列処理部150により生成されたスケーリングリストの符号化データ(以下において、スケーリングリスト符号化データと称する)は、可逆符号化部16へ出力され、符号化ストリームのヘッダ内に挿入され得る。
  <2-4. 行列処理部の詳細な構成例>
 図16は、行列処理部150のさらに詳細な構成の一例を示すブロック図である。図16を参照すると、行列処理部150は、予測部161、差分行列生成部162、差分行列サイズ変換部163、エントロピ符号化部164、復号部165、および出力部166を有する。
  (1)予測部
 予測部161は、予測行列を生成する。図16に示されるように、予測部161は、コピー部171および予測行列生成部172を有する。
 コピーモードの場合、コピー部171は、過去に伝送したスケーリングリストを複製し、それを予測行列とする(処理対象の直交変換単位のスケーリングリストを予測する)。より具体的には、コピー部171は、過去に伝送したスケーリングリストのサイズとリストID(ListID)を復号部165の記憶部202から取得する。サイズは、スケーリングリストの大きさ(例えば4x4乃至32x32等)を示す情報である。リストIDは、量子化の対象となる予測誤差データの種類を示す情報である。
 例えば、リストIDは、その量子化対象が、イントラ予測された予測画像を用いて生成される輝度成分の予測誤差データ(IntraLuma)であるか、イントラ予測された予測画像を用いて生成される色差成分(Cr)の予測誤差データ(IntraCr)であるか、イントラ予測された予測画像を用いて生成される色差成分(Cb)の予測誤差データ(IntraCb)であるか、若しくは、インター予測された予測画像を用いて生成される輝度成分の予測誤差データ(InterLuma)であるかを示す識別情報を含む。
 コピー部171は、行列処理部150に入力されたスケーリングリスト(処理対象の直交変換単位のスケーリングリスト)と同じサイズの過去に伝送したスケーリングリストを複製対象として選択し、その複製対象とするスケーリングリストのリストIDを出力部166に供給し、行列処理部150の外部(可逆符号化部16や逆量子化部21)に出力させる。つまり、この場合、過去に伝送したスケーリングリストを複製して生成した予測行列を示す情報として、ListIDのみが復号側に伝送される(符号化データに含められる)ので、画像符号化装置10は、スケーリングリストの符号量の増大を抑制することができる。
 また通常の場合、予測行列生成部172は、過去に伝送したスケーリングリストを復号部165の記憶部202から取得し、そのスケーリングリストを用いて予測行列を生成する(処理対象の直交変換単位のスケーリングリストを予測する)。予測行列生成部172は、生成した予測行列を差分行列生成部162に供給する。
  (2)差分行列生成部
 差分行列生成部162は、予測部161(予測行列生成部172)から供給された予測行列と、行列処理部150に入力されるスケーリングリストとの差分である差分行列(残差行列)を生成する。図16に示されるように、差分行列生成部162は、予測行列サイズ変換部181、演算部182、および量子化部183を有する。
 予測行列サイズ変換部181は、予測行列生成部172から供給される予測行列のサイズを、行列処理部150に入力されるスケーリングリストのサイズに合わせるように変換(以下、コンバートとも称する)する。
 例えば、予測行列のサイズがスケーリングリストのサイズより大きい場合、予測行列サイズ変換部181は、予測行列を縮小変換(以下、ダウンコンバートとも称する)する。より具体的には、例えば、予測行列が16x16であり、スケーリングリストが8x8の場合、予測行列サイズ変換部181は、予測行列を8x8にダウンコンバートする。なお、このダウンコンバートの方法は、任意である。例えば、予測行列サイズ変換部181が、フィルタを用いて(演算により)予測行列の要素の数を減らすようにしてもよい(以下、ダウンサンプルとも称する)。また、例えば図17に示されるように、予測行列サイズ変換部181が、フィルタを用いずに、一部の要素(例えば、2次元の要素の偶数部分(図17の黒部分)のみ)を間引くことにより、予測行列の要素の数を減らすようにしてもよい(以下、サブサンプルとも称する)。
 また、例えば、予測行列のサイズがスケーリングリストのサイズより小さい場合、予測行列サイズ変換部181は、予測行列を拡大変換(以下、アップコンバートとも称する)する。より具体的には、例えば、予測行列が8x8であり、スケーリングリストが16x16の場合、予測行列サイズ変換部181は、予測行列を16x16にアップコンバートする。なお、このアップコンバートの方法は、任意である。例えば、予測行列サイズ変換部181が、フィルタを用いて(演算により)予測行列の要素の数を増やすようにしてもよい(以下、アップサンプルとも称する)。また、例えば、予測行列サイズ変換部181が、フィルタを用いずに、予測行列の各要素を複製することにより、予測行列の要素の数を増やすようにしてもよい(以下、逆サブサンプルとも称する)。
 予測行列サイズ変換部181は、サイズをスケーリングリストに合わせた予測行列を演算部182に供給する。
 演算部182は、予測行列サイズ変換部181から供給される予測行列から、行列処理部150に入力されたスケーリングリストを減算し、差分行列(残差行列)を生成する。演算部182は、算出した差分行列を量子化部183に供給する。
 量子化部183は、演算部182から供給された差分行列を量子化する。量子化部183は、その差分行列の量子化結果を、差分行列サイズ変換部163に供給する。また、量子化部183は、この量子化に用いた量子化パラメータ等の情報を、出力部166に供給し、行列処理部150の外部(可逆符号化部16や逆量子化部21)に出力させる。なお、この量子化部183を省略する(つまり、差分行列の量子化を行わない)ようにしてもよい。
  (3)差分行列サイズ変換部
 差分行列サイズ変換部163は、差分行列生成部162(量子化部183)から供給される差分行列(量子化データ)のサイズを、必要に応じて、伝送の際に許容される最大サイズ(以下、伝送サイズとも称する)以下にコンバートする。この最大サイズは、任意であるが、例えば、8x8である。
 画像符号化装置10から出力される符号化データは、例えば、伝送路や記憶媒体を介して、画像符号化装置10に対応する画像復号装置に伝送され、その画像復号装置により復号される。画像符号化装置10においては、このような伝送における、すなわち、画像符号化装置10から出力される符号化データにおける、差分行列(量子化データ)のサイズの上限(最大サイズ)が設定されている。
 差分行列サイズ変換部163は、差分行列のサイズが、この最大サイズより大きい場合、最大サイズ以下となるように、差分行列をダウンコンバートする。
 なお、このダウンコンバートの方法は、上述した予測行列のダウンコンバートの場合と同様に任意である。例えば、フィルタ等を用いるダウンサンプルであってもよいし、要素を間引くサブサンプルであってもよい。
 また、ダウンコンバート後の差分行列のサイズは、最大サイズより小さければどのサイズであってもよい。ただし、一般的には、コンバート前後のサイズ差が大きいほど誤差が大きくなるので、最大サイズにダウンコンバートするのが望ましい。
 差分行列サイズ変換部163は、ダウンコンバートした差分行列を、エントロピ符号化部164に供給する。なお、差分行列のサイズが最大サイズより小さい場合、このダウンコンバートは不要であるので、差分行列サイズ変換部163は、入力された差分行列をそのままエントロピ符号化部164に供給する(つまり、ダウンコンバートが省略される)。
  (4)エントロピ符号化部
 エントロピ符号化部164は、差分行列サイズ変換部163から供給された差分行列(量子化データ)を所定の方法で符号化する。図16に示されるようにエントロピ符号化部164は、重複判定部(135degree部)191、DPCM(Differential Pulse Code Modulation)部192、およびexpG部193を有する。
 重複判定部191は、差分行列サイズ変換部163から供給された差分行列の対称性を判定し、その残差(差分行列)が135度の対称行列である場合、例えば図18に示されるように、重複しているデータである対称部分のデータ(行列要素)を削除する。残差が135度の対称行列でない場合、重複判定部191は、このデータ(行列要素)の削除を省略する。重複判定部191は、必要に応じて対称部分が削除された差分行列のデータを、DPCM部192に供給する。
 DPCM部192は、重複判定部191から供給された、必要に応じて対称部分が削除された差分行列のデータをDPCM符号化し、DPCMデータを生成する。DPCM部192は、生成したDPCMデータを、expG部193に供給する。
 expG部193は、DPCM部192から供給されるDPCMデータに対して、符号つき・符号なしのexponential golomb符号(以下、指数ゴロム符号とも称する)を行う。expG部193は、その符号化結果を復号部165および出力部166に供給する。
  (5)復号部
 復号部165は、expG部193から供給されるデータから、スケーリングリストを復元する。復号部165は、復元したスケーリングリストに関する情報を、過去に伝送したスケーリングリストとして、予測部161に供給する。
 図16に示されるように、復号部165は、スケーリングリスト復元部201および記憶部202を有する。
 スケーリングリスト復元部201は、エントロピ符号化部164(expG部193)から供給される指数ゴロム符号を復号し、行列処理部150に入力されるスケーリングリストを復元する。例えば、スケーリングリスト復元部201は、指数ゴロム符号をエントロピ符号化部164の符号化方法に対応する方法で復号し、差分行列サイズ変換部163によるサイズ変換の逆変換を行い、量子化部183による量子化に対応する逆量子化を行い、得られた差分行列を、予測行列から減算することにより、スケーリングリストを復元する。
 スケーリングリスト復元部201は、復元したスケーリングリストを記憶部202に供給し、そのサイズやリストIDと関連付けて記憶させる。
 記憶部202は、スケーリングリスト復元部201から供給されるスケーリングリストに関する情報を記憶する。この記憶部202に記憶されるスケーリングリストに関する情報は、時間的に後に処理される他の直交変換単位の予測行列生成に利用される。つまり、記憶部202は、記憶しているスケーリングリストに関する情報を、過去に伝送したスケーリングリストに関する情報として、予測部161に供給する。
 なお、記憶部202は、このように復元されたスケーリングリストに関する情報を記憶する代わりに、行列処理部150に入力されるスケーリングリストを、そのサイズやリストIDと関連付けて記憶するようにしてもよい。その場合、スケーリングリスト復元部201を省略することができる。
  (6)出力部
 出力部166は、供給される各種情報を行列処理部150の外部に出力する。例えば、コピーモードの場合、出力部166は、コピー部171から供給される予測行列のリストIDを、可逆符号化部16および逆量子化部21に供給する。また、例えば、通常の場合、出力部166は、expG部193から供給される指数ゴロム符号、および、量子化部183から供給される量子化パラメータを、可逆符号化部16および逆量子化部21に供給する。
 また、出力部166は、スケーリングリスト(若しくは、スケーリングリストとその予測行列との差分行列)の伝送の際に許容される最大サイズ(伝送サイズ)を示す識別情報を、復号側でスケーリングリストを生成するための情報として可逆符号化部16に供給する。可逆符号化部16は、上述したように、そのスケーリングリストを生成するための情報を符号化ストリームに含め、復号側に提供する。なお、この伝送サイズを示す識別情報をレベルやプロファイル等によって予め規定するようにしてもよい。その場合、その伝送サイズに関する情報が、符号化側の装置と復号側の装置とで予め共有されるので、上述した識別情報の伝送を省略することができる。
  <2-5. DPCM部の詳細な構成例>
 図19は、DPCM部192のさらに詳細な構成の一例を示すブロック図である。図19を参照すると、DPCM部192は、DC係数符号化部211およびAC係数DPCM部212を有する。
 DC係数符号化部211は、重複判定部191から供給される係数群の中からDC係数を取得し、所定の初期値(例えば8)から、そのDC係数の値を減算し、その差分値を最初(i=0)の差分値(scaling_list_delta_coef)とする。DC係数符号化部211は、算出した差分値(scaling_list_delta_coef(i=0))を、処理中である当該領域に対応するスケーリングリストの最初の係数としてexpG部193に供給する。
 AC係数DPCM部212は、重複判定部191から供給される係数群の中からAC係数を取得し、1つ前に処理された係数から、そのAC係数の値を減算し、その差分値(scaling_list_delta_coef(i>0))とする。AC係数DPCM部212は、算出した差分値(scaling_list_delta_coef(i>0))を、処理中である当該領域に対応するスケーリングリストの係数としてexpG部193に供給する。なお、i=1の場合、1つ前の係数はi=0であるので、「DC係数」が1つ前に処理された係数となる。
 このようにして、DPCM部192は、DC係数をスケーリングリスト(AC係数)の先頭の要素として伝送することができる。これにより、スケーリングリストの符号化効率を向上させることができる。
  <2-6. 量子化行列符号化処理の流れ>
 次に、図20のフローチャートを参照して、図16の行列処理部150により実行される量子化行列符号化処理の流れの例を説明する。
 量子化行列符号化処理が開始されると、ステップS101において、予測部161は、処理対象の直交変換単位であるカレント領域(注目領域とも称する)のスケーリングリスト(量子化行列)を取得する。
 ステップS102において、予測部161は、コピーモードであるか否かを判定する。コピーモードでないと判定した場合、予測部161は、処理をステップS103に進める。
 ステップS103において、予測行列生成部172は、過去に伝送されたスケーリングリストを、記憶部202から取得し、そのスケーリングリストを用いて、予測行列を生成する。
 ステップS104において、予測行列サイズ変換部181は、ステップS103において生成された予測行列のサイズが、ステップS101において取得されたカレント領域(注目領域)のスケーリングリストと異なるか否かを判定する。サイズが異なると判定した場合、予測行列サイズ変換部181は、処理をステップS105に進める。
 ステップS105において、予測行列サイズ変換部181は、ステップS103において生成された予測行列のサイズを、ステップS101において取得されたカレント領域のスケーリングリストのサイズにコンバートする。
 ステップS105の処理が終了すると、予測行列サイズ変換部181は、処理をステップS106に進める。また、ステップS104において、予測行列のサイズとスケーリングリストのサイズが同一であると判定した場合、予測行列サイズ変換部181は、ステップS105の処理を省略し(ステップS105の処理を行わずに)、処理をステップS106に進める。
 ステップS106において、演算部182は、予測行列からスケーリングリストを減算し、予測行列とスケーリングリストの差分行列を算出する。
 ステップS107において、量子化部183は、ステップS106において生成された差分行列を量子化する。なお、この処理は省略するようにしてもよい。
 ステップS108において、差分行列サイズ変換部163は、量子化された差分行列のサイズが伝送サイズ(伝送の際に許容される最大サイズ)より大きいか否かを判定する。伝送サイズより大きいと判定した場合、差分行列サイズ変換部163は、処理をステップS109に進め、差分行列を伝送サイズ以下にダウンコンバートする。
 ステップS109の処理を終了すると、差分行列サイズ変換部163は、処理をステップS110に進める。また、ステップS108において、量子化された差分行列のサイズが伝送サイズ以下であると判定した場合、差分行列サイズ変換部163は、ステップS109の処理を省略し(ステップS109の処理を行わずに)、処理をステップS110に進める。
 ステップS110において、重複判定部191は、量子化された差分行列が、135度の対称性を有するか否かを判定する。135度の対称性を有すると判定した場合、重複判定部191は、処理をステップS111に進める。
 ステップS111において、重複判定部191は、量子化された差分行列の重複部分(重複データ)を削除する。重複データを削除すると、重複判定部191は、処理をステップS112に進める。
 また、ステップS110において、量子化された差分行列が135度の対称性を有さないと判定した場合、重複判定部191は、ステップS111の処理を省略し(ステップS111の処理を行わずに)、処理をステップS112に進める。
 ステップS112において、DPCM部192は、適宜重複部分が削除された差分行列をDPCM符号化する。
 ステップS113において、expG部193は、ステップS112において生成されたDPCMデータに、正負を表す符号が存在するか否かを判定する。符号が存在すると判定した場合、expG部193は、処理をステップS114に進める。
 ステップS114において、expG部193は、DPCMデータに対して、符号付きの指数ゴロム符号化を行う。出力部166は、生成された指数ゴロム符号を、可逆符号化部16および逆量子化部21に出力する。ステップS114の処理が終了すると、expG部193は、処理をステップS116に進める。
 また、ステップS113において、符号が存在しないと判定した場合、expG部193は、処理をステップS115に進める。
 ステップS115において、expG部193は、DPCMデータに対して、符号無しの指数ゴロム符号化を行う。出力部166は、生成された指数ゴロム符号を、可逆符号化部16および逆量子化部21に出力する。ステップS115の処理が終了すると、expG部193は、処理をステップS116に進める。
 また、ステップS102において、コピーモードであると判定した場合、コピー部171は、過去に伝送されたスケーリングリストを複製してそれを予測行列とする。出力部166は、その予測行列に対応するリストIDを、予測行列を示す情報として、可逆符号化部16および逆量子化部21に出力する。そして、コピー部171は、処理をステップS116に進める。
 ステップS116において、スケーリングリスト復元部201は、スケーリングリストを復元する。ステップS117において、記憶部202は、ステップS116において復元されたスケーリングリストを記憶する。
 ステップS117の処理が終了すると、行列処理部150は、量子化行列符号化処理を終了する。
  <2-7. DPCM処理の流れ>
 次に、図21のフローチャートを参照して、図20のステップS112において実行されるDPCM処理の流れの例を説明する。
 DPCM処理が開始されると、DC係数符号化部211は、ステップS131において、DC係数と定数の差分を求める。ステップS132において、AC係数DPCM部212は、DC係数と最初のAC係数との差分を求める。
 ステップS133において、AC係数DPCM部212は、全てのAC係数を処理したか否かを判定する。未処理のAC係数が存在すると判定した場合、AC係数DPCM部212は、処理をステップS134に進める。
 ステップS134において、AC係数DPCM部212は、次のAC係数を処理対象とする。ステップS135において、AC係数DPCM部212は、前回処理したAC係数と処理対象のAC係数との差分を求める。ステップS135の処理が終了すると、AC係数DPCM部212は、処理をステップS133に戻す。
 このように、ステップS133において、未処理のAC係数が存在すると判定される間、AC係数DPCM部212は、ステップS133乃至ステップS135の処理を繰り返し実行する。ステップS133において、未処理のAC係数が存在しないと判定された場合、AC係数DPCM部212は、DPCM処理を終了し、処理を図20に戻す。
 以上のように、DC係数と、AC係数群の先頭のAC係数との差分を求め、その差分をDC係数の代わりに、画像復号装置に伝送することにより、画像符号化装置10は、スケーリングリストの符号量の増加を抑制することができる。
 次に、本開示の一実施形態に係る画像復号装置の構成例について説明する。
  <2-8. 画像復号装置>
 図22は、本開示の一実施形態に係る画像復号装置300の構成の一例を示すブロック図である。図22に示される画像復号装置300は、画像符号化装置10により生成された符号化データを復号する、本技術を適用した画像処理装置である。図22を参照すると、画像復号装置300は、蓄積バッファ311、可逆復号部312、逆量子化・逆直交変換部313、加算部315、デブロックフィルタ316、並べ替えバッファ317、D/A(Digital to Analogue)変換部318、フレームメモリ319、セレクタ320及び321、イントラ予測部330、並びに動き補償部340を有する。
 蓄積バッファ311は、伝送路を介して入力される符号化ストリームを、記憶媒体を用いて一時的に蓄積する。
 可逆復号部312は、蓄積バッファ311から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部312は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、上述したスケーリングリストを生成するための情報、並びに、ブロックヘッダ内のイントラ予測に関する情報およびインター予測に関する情報を含み得る。可逆復号部312は、復号後の量子化データおよびスケーリングリストを生成するための情報を、逆量子化・逆直交変換部313へ出力する。また、可逆復号部312は、イントラ予測に関する情報をイントラ予測部330へ出力する。また、可逆復号部312は、インター予測に関する情報を動き補償部340へ出力する。
 逆量子化・逆直交変換部313は、可逆復号部312から入力される量子化データについて逆量子化および逆直交変換を行うことにより、予測誤差データを生成する。そして、逆量子化・逆直交変換部313は、生成した予測誤差データを加算部315へ出力する。
 加算部315は、逆量子化・逆直交変換部313から入力される予測誤差データと、セレクタ321から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部315は、生成した復号画像データをデブロックフィルタ316およびフレームメモリ319へ出力する。
 デブロックフィルタ316は、加算部315から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並べ替えバッファ317およびフレームメモリ319へ出力する。
 並べ替えバッファ317は、デブロックフィルタ316から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ317は、生成した画像データをD/A変換部318へ出力する。
 D/A変換部318は、並べ替えバッファ317から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部318は、例えば、画像復号装置300と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
 フレームメモリ319は、加算部315から入力されるフィルタリング前の復号画像データ、および、デブロックフィルタ316から入力されるフィルタリング後の復号画像データを、記憶媒体を用いて記憶する。
 セレクタ320は、可逆復号部312により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ319からの画像データの出力先をイントラ予測部330と動き補償部340との間で切り替える。例えば、セレクタ320は、イントラ予測モードが指定された場合、フレームメモリ319から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部330へ出力する。また、セレクタ320は、インター予測モードが指定された場合、フレームメモリ319から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部340へ出力する。
 セレクタ321は、可逆復号部312により取得されるモード情報に応じて、画像内のブロックごとに、加算部315へ供給すべき予測画像データの出力元をイントラ予測部330と動き補償部340との間で切り替える。例えば、セレクタ321は、イントラ予測モードが指定された場合、イントラ予測部330から出力される予測画像データを加算部315へ供給する。セレクタ321は、インター予測モードが指定された場合、動き補償部340から出力される予測画像データを加算部315へ供給する。
 イントラ予測部330は、可逆復号部312から入力されるイントラ予測に関する情報とフレームメモリ319からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部330は、生成した予測画像データをセレクタ321へ出力する。
 動き補償部340は、可逆復号部312から入力されるインター予測に関する情報とフレームメモリ319からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部340は、生成した予測画像データをセレクタ321へ出力する。
  <2-9. 逆量子化・逆直交変換部の構成例>
 図23は、図22に示した画像復号装置300の逆量子化・逆直交変換部313の主な構成の一例を示すブロック図である。図23を参照すると、逆量子化・逆直交変換部313は、行列生成部410、選択部430、逆量子化部440、および逆直交変換部450を有する。
  (1)行列生成部
 行列生成部410は、可逆復号部312においてビットストリームから抽出され、供給されたスケーリングリスト符号化データを復号し、スケーリングリストを生成する。行列生成部410は、生成したスケーリングリストを逆量子化部440に供給する。
  (2)選択部
 選択部430は、サイズの異なる複数の変換単位から、復号される画像データの逆直交変換のために使用される変換単位(TU)を選択する。選択部430により選択され得る変換単位のサイズの候補は、例えば、H.264/AVCでは4x4および8x8を含み、HEVCでは4x4、8x8、16x16、および32x32を含む。選択部430は、例えば、符号化ストリームのヘッダ内に含まれるLCU、SCU、およびsplit_flagに基づいて、変換単位を選択してもよい。そして、選択部430は、選択した変換単位のサイズを指定する情報を、逆量子化部440および逆直交変換部450へ出力する。
  (3)逆量子化部
 逆量子化部440は、選択部430により選択された変換単位に対応するスケーリングリストを用いて、画像の符号化の際に量子化された変換係数データを逆量子化する。そして、逆量子化部440は、逆量子化した変換係数データを逆直交変換部450へ出力する。
  (4)逆直交変換部
 逆直交変換部450は、符号化の際に使用された直交変換方式に従い、逆量子化部440により逆量子化された変換係数データを上記選択された変換単位で逆直交変換することにより、予測誤差データを生成する。そして、逆直交変換部450は、生成した予測誤差データを加算部315へ出力する。
  <2-10. 行列生成部の詳細な構成例>
 図24は、図23に示した行列生成部410の詳細な構成の一例を示すブロック図である。図24を参照すると、行列生成部410は、パラメータ解析部531、予測部532、エントロピ復号部533、スケーリングリスト復元部534、出力部535、および記憶部536を有する。
  (1)パラメータ解析部
 パラメータ解析部531は、可逆復号部312から供給される、スケーリングリストに関する各種フラグやパラメータを解析する。また、パラメータ解析部531は、その解析結果に従って、可逆復号部312から供給される、差分行列の符号化データ等、各種情報を予測部532またはエントロピ復号部533に供給する。
 例えば、パラメータ解析部531は、pred_modeが0なら、コピーモードと判断し、pred_matrix_id_deltaをコピー部541に供給する。また、例えば、パラメータ解析部531は、pred_modeが1なら、全スキャンモード(通常の場合)と判断し、pred_matrix_id_deltaおよびpred_size_id_deltaを予測行列生成部542に供給する。
 また、パラメータ解析部531は、例えばresidual_flagがtrueである場合、可逆復号部312から供給されるスケーリングリストの符号化データ(指数ゴロム符号)をエントロピ復号部533のexpG部551に供給する。さらに、パラメータ解析部531は、residual_symmetry_flagをexpG部551に供給する。
 さらに、パラメータ解析部531は、residual_down_sampling_flagをスケーリングリスト復元部534の差分行列サイズ変換部562に供給する。
  (2)予測部
 予測部532は、パラメータ解析部531の制御に従って、予測行列を生成する。図24に示されるように、予測部532は、コピー部541および予測行列生成部542を有する。
 コピー部541は、コピーモードの場合、過去に伝送されたスケーリングリストを複製し、それを予測行列とする。より具体的には、コピー部541は、pred_matrix_id_deltaに対応する、カレント領域のスケーリングリストと同一サイズの、過去に伝送されたスケーリングリストを記憶部536から読み出し、そのスケーリングリストを予測画像とし、その予測画像を出力部535に供給する。
 予測行列生成部542は、通常の場合、過去に伝送されたスケーリングリストを用いて予測行列を生成する(予測する)。より具体的には、予測行列生成部542は、pred_matrix_id_deltaおよびpred_size_id_deltaに対応する過去に伝送されたスケーリングリストを記憶部536から読み出し、それを用いて予測行列を生成する。つまり、予測行列生成部542は、画像符号化装置10の予測行列生成部172(図16)が生成する予測行列と同様の予測行列を生成する。予測行列生成部542は、生成した予測行列をスケーリングリスト復元部534の予測行列サイズ変換部561に供給する。
  (3)エントロピ復号部
 エントロピ復号部533は、パラメータ解析部531から供給される指数ゴロム符号から差分行列を復元する。図24に示されるように、エントロピ復号部533は、expG部551、逆DPCM部552、および逆重複判定部553を有する。
 expG部551は、符号つき若しくは符号なしのexponential golomb復号(以下、指数ゴロム復号とも称する)を行い、DPCMデータを復元する。expG部551は、復元したDPCMデータを、residual_symmetry_flagとともに、逆DPCM部552に供給する。
 逆DPCM部552は、重複部分が削除されたデータに対してDPCM復号して、DPCMデータから残差データを生成する。逆DPCM部552は、生成した残差データを、residual_symmetry_flagとともに、逆重複判定部553に供給する。
 逆重複判定部553は、residual_symmetry_flagがtrueである場合、すなわち、残差データが135度の対称行列の、重複する対称部分のデータ(行列要素)が削除されたものである場合、その対称部分のデータを復元する。つまり、135度の対称行列の差分行列が復元される。なお、residual_symmetry_flagがtrueで無い場合、すなわち、残差データが135度の対称行列でない行列である場合、逆重複判定部553は、対称部分のデータの復元を行わずに、その残差データを差分行列とする。逆重複判定部553は、このようにして復元した差分行列をスケーリングリスト復元部534(差分行列サイズ変換部562)に供給する。
  (4)スケーリングリスト復元部
 スケーリングリスト復元部534は、スケーリングリストを復元する。図24に示されるように、スケーリングリスト復元部534は、予測行列サイズ変換部561、差分行列サイズ変換部562、逆量子化部563、および演算部564を有する。
 予測行列サイズ変換部561は、予測部532(予測行列生成部542)から供給される予測行列のサイズが、復元されるカレント領域のスケーリングリストのサイズと異なる場合、その予測行列のサイズをコンバートする。
 例えば、予測行列のサイズがスケーリングリストのサイズより大きい場合、予測行列サイズ変換部561は、予測行列をダウンコンバートする。また、例えば、予測行列のサイズがスケーリングリストのサイズより小さい場合、予測行列サイズ変換部561は、予測行列をアップコンバートする。コンバートの方法は、画像符号化装置10の予測行列サイズ変換部181(図16)と同一の方法が選択される。
 予測行列サイズ変換部561は、サイズをスケーリングリストに合わせた予測行列を演算部564に供給する。
 差分行列サイズ変換部562は、residual_down_sampling_flagがtrueの場合、すなわち、伝送された差分行列のサイズが逆量子化するカレント領域のサイズより小さい場合、その差分行列のサイズを逆量子化するカレント領域に応じたサイズにアップコンバートする。アップコンバートの方法は、任意である。例えば、画像符号化装置10の差分行列サイズ変換部163(図16)が行ったダウンコンバートの方法に対応するようにしてもよい。
 例えば、差分行列サイズ変換部163が、差分行列をダウンサンプルした場合、差分行列サイズ変換部562は、その差分行列をアップサンプルするようにしてもよい。また、差分行列サイズ変換部163が、差分行列をサブサンプルした場合、差分行列サイズ変換部562は、その差分行列を逆サブサンプルするようにしてもよい。
 例えば、差分行列サイズ変換部562は、一般的な線形補間ではなく、図25に示されるように、最近傍補間処理(nearest neighbor)で補間するようにしてもよい。この最近傍補間処理を用いることにより、保持するメモリを低減させることができる。
 これにより、サイズの大きなスケーリングリストを伝送しない場合でも、サイズの小さなスケーリングリストからアップサンプリングする際に、アップサンプリング後のデータを保持する必要がなくなり、アップサンプリングする際の演算に伴うデータを格納する際にも、中間バッファ等も不要となる。
 なお、residual_down_sampling_flagがtrueでない場合、すなわち、差分行列が量子化処理に用いられたときのサイズで伝送される場合、差分行列サイズ変換部562は、差分行列のアップコンバートを省略する(若しくは、1倍のアップコンバートを行うようにしてもよい)。
 差分行列サイズ変換部562は、このように必要に応じてアップコンバートした差分行列を、逆量子化部563に供給する。
 逆量子化部563は、画像符号化装置10の量子化部183(図16)の量子化に対応する方法で、供給された差分行列(量子化データ)を逆量子化し、逆量子化された差分行列を演算部564に供給する。なお、量子化部183が省略される場合、すなわち、差分行列サイズ変換部562から供給される差分行列が量子化データでない場合、この逆量子化部563を省略することができる。
 演算部564は、予測行列サイズ変換部561から供給される予測行列と、逆量子化部563から供給される差分行列とを加算し、カレント領域のスケーリングリストを復元する。演算部564は、復元したスケーリングリストを出力部535および記憶部536に供給する。
  (5)出力部
 出力部535は、供給される情報を行列生成部410の外部に出力する。例えば、コピーモードの場合、出力部535は、コピー部541から供給される予測行列をカレント領域のスケーリングリストとして、逆量子化部440に供給する。また、例えば、通常の場合、出力部535は、スケーリングリスト復元部534(演算部564)から供給されるカレント領域のスケーリングリストを、逆量子化部440に供給する。
  (6)記憶部
 記憶部536は、スケーリングリスト復元部534(演算部564)から供給されるスケーリングリストを、そのサイズやリストIDとともに記憶する。この記憶部536に記憶されるスケーリングリストに関する情報は、時間的に後に処理される他の直交変換単位の予測行列生成に利用される。つまり、記憶部536は、記憶しているスケーリングリストに関する情報を、過去に伝送されたスケーリングリストに関する情報として、予測部532に供給する。
  <2-11. 逆DPCM部の詳細な構成例>
 図26は、図24に示した逆DPCM部552の詳細な構成の一例を示すブロック図である。図26を参照すると、逆DPCM部552は、初期設定部571、DPCM復号部572、およびDC係数抽出部573を有する。
 初期設定部571は、sizeIDやMatrixIDを取得したり、各種変数に初期値を設定したりする。初期設定部571は、取得したり、設定したりした情報をDPCM復号部572に供給する。
 DPCM復号部572は、初期設定部571から供給された初期設定等を用いて、DC係数やAC係数の差分値(scaling_list_delta_coef)から、各係数(DC係数および各AC係数)を求める。DPCM復号部572は、求めた各係数をDC係数抽出部573に供給する(ScalingList[i])。
 DC係数抽出部573は、DPCM復号部572から供給された係数群(ScalingList[i])の中からDC係数を抽出する。DC係数は、AC係数群の先頭に配置されている。つまり、DPCM復号部572から供給された係数群の最初の係数(ScalingList[0])がDC係数である。DC係数抽出部573は、先頭の係数をDC係数として抽出し、逆重複判定部553に出力する(DC_coef)。DC係数抽出部573は、その他の係数(ScalingList[i](i>0))をAC係数として逆重複判定部553に出力する。
 このようにすることにより、逆DPCM部552は、正しくDPCM復号することができ、DC係数やAC係数を得ることができる。つまり、画像復号装置300は、スケーリングリストの符号量の増加を抑制することができる。
  <2-12. 量子化行列復号処理の流れ>
 図27のフローチャートを参照して、以上のような行列生成部410により実行される量子化行列復号処理の流れの例を説明する。
 量子化行列復号処理が開始されると、ステップS301において、パラメータ解析部531は、領域0乃至領域3の量子化値(Qscale0乃至Qscale3)を読み込む。
 パラメータ解析部531は、ステップS302において、pred_modeを読み込み、ステップS303において、pred_modeが0であるか否かを判定する。pred_modeが0であると判定した場合、パラメータ解析部531は、コピーモードと判定し、処理をステップS304に進める。
 ステップS304において、パラメータ解析部531は、pred_matrix_id_deltaを読み込む。ステップS305において、コピー部541は、伝送済みのスケーリングリストを複製し、予測行列とする。コピーモードの場合、その予測行列がカレント領域のスケーリングリストとして出力される。ステップS305の処理が終了すると、コピー部541は、量子化行列復号処理を終了する。
 また、ステップS303において、pred_modeが0でないと判定した場合、パラメータ解析部531は、全スキャンモード(通常の場合)と判定し、処理をステップS306に進める。
 ステップS306において、パラメータ解析部531は、pred_matrix_id_delta、pred_size_id_delta、およびresidual_flagを読み込む。ステップS307において、予測行列生成部542は、伝送済みのスケーリングリストから予測行列を生成する。
 ステップS308において、パラメータ解析部531は、residual_flagがtrueであるか否かを判定する。residual_flagがtrueでないと判定された場合、残差行列が存在しないので、ステップS307において生成された予測行列が、カレント領域のスケーリングリストとして出力される。したがって、この場合、パラメータ解析部531は、量子化行列復号処理を終了する。
 また、ステップS308において、residual_flagがtrueであると判定した場合、パラメータ解析部531は、処理をステップS309に進める。
 ステップS309において、パラメータ解析部531は、residual_down_sampling_flagおよびresidual_symmetry_flagを読み込む。
 ステップS310において、expG部551および逆DPCM部552は、残差行列の指数ゴロム符号を復号し、残差データを生成する。
 ステップS311において、逆重複判定部553は、residual_symmetry_flagがtrueであるか否かを判定する。residual_symmetry_flagがtrueであると判定した場合、逆重複判定部553は、処理をステップS312に進め、その残差データの、削除された重複部分を復元する(inverse symmetry処理を行う)。このようにして135度に対称行列な差分行列が生成されると、逆重複判定部553は、処理をステップS313に進める。
 また、ステップS311において、residual_symmetry_flagがtrueでないと判定した場合(残差データが、135度に対称行列でない差分行列である場合)、逆重複判定部553は、ステップS312の処理を省略し(inverse symmetry処理を行わずに)、処理をステップS313に進める。
 ステップS313において、差分行列サイズ変換部562は、residual_down_sampling_flagがtrueであるか否かを判定する。residual_down_sampling_flagがtrueであると判定した場合、差分行列サイズ変換部562は、処理をステップS314に進め、差分行列を、逆量子化するカレント領域に応じたサイズにアップコンバートする。差分行列をアップコンバートすると差分行列サイズ変換部562は、処理をステップS315に進める。
 また、ステップS313において、residual_down_sampling_flagがtrueでないと判定した場合、差分行列サイズ変換部562は、ステップS314の処理を省略し(差分行列をアップコンバートせずに)、処理をステップS315に進める。
 ステップS315において、演算部564は、予測行列に差分行列を加算し、カレント領域のスケーリングリストを生成する。ステップS315の処理が終了すると、量子化行列復号処理が終了される。
  <2-13. 残差信号復号処理の流れ>
 次に、図27のステップS310において実行される残差信号復号処理の流れの例を、図28のフローチャートを参照して説明する。
 残差信号復号処理が開始されると、expG部551は、ステップS331において、供給される指数ゴロム符号を復号する。
 ステップS332において、逆DPCM部552は、expG部551において復号されて得られたDPCMデータに対して逆DPCM処理を行う。
 逆DPCM処理が終了すると、逆DPCM部552は、残差信号復号処理を終了し、処理を図27に戻す。
  <2-14. 逆DPCM処理の流れ>
 次に、図28のステップS332において実行される逆DPCM処理の流れの例を、図29のフローチャートを参照して説明する。
 逆DPCM処理が開始されると、初期設定部571は、ステップS351において、sizeIDおよびMatrixIDを取得する。
 ステップS352において、初期設定部571は、coefNumを以下のように設定する。
 coefNum = min((1<<(4+(sizeID<<1))),65)
 ステップS353において、初期設定部571は、変数iと変数nextcoefを以下のように設定する。
 i = 0
 nextcoef = 8
 ステップS354において、DPCM復号部572は、変数i<coefNumであるか否かを判定する。変数iがcoefNumより小さい場合、初期設定部571は、処理をステップS355に進める。
 ステップS355において、DPCM復号部572は、係数のDPCMデータ(scaling_list_delta_coef)を読み込む。
 ステップS356において、DPCM復号部572は、読み込んだDPCMデータを用いて以下のようにnextcoefを求め、さらに、scalingList[i]を求める。
 nextcoef = (nextcoef + scaling_list_delta_coef+256) % 256
 scalingList[i] = nextcoef
 ステップS357において、DC係数抽出部573は、sizeIDが1より大きく、かつ、変数iが0(すなわち、先頭の係数)であるか否かを判定する。sizeIDが1より大きく、かつ、先頭の係数であると判定した場合、DC係数抽出部573は、処理をステップS358に進め、その係数をDC係数とする(DC_coef = nextcoef)。ステップS358の処理を終了すると、DC係数抽出部573は、処理をステップS360に進める。
 また、ステップS357において、DC係数抽出部573は、sizeIDが1以下である、若しくは、先頭の係数でないと判定した場合、処理をステップS359に進め、DC係数を抽出した分、各係数の変数iを1つずらす。(ScalingList[(i-(sizeID)>1)?1;0] = nextcoef)ステップS359の処理が終了すると、DC係数抽出部573は、処理をステップS360に進める。
 ステップS360において、DPCM復号部572は、変数iをインクリメントし、処理の対象を次の係数に替え、処理をステップS354に戻す。
 ステップS354において、変数iがcoefNum以上であると判定されるまで、ステップS354乃至ステップS360の処理が繰り返される。ステップS354において、変数iがcoefNum以上であると判定された場合、DPCM復号部572は、逆DPCM処理を終了し、処理を図28に戻す。
 以上のようにすることにより、DC係数と、AC係数群の先頭のAC係数との差分を正しく復号することができるので、画像復号装置300は、スケーリングリストの符号量の増加を抑制することができる。
 <3. 第3の実施の形態>
  <3-1. シンタクス:方法2>
 DC係数の代わりに、DC係数とその他の係数との差分を伝送する方法として、例えば、DC係数と8x8マトリクスの(0,0)成分の差分を、8x8マトリクスのDPCMデータとは別のDPCMデータとして伝送するようにしてもよい(方法2)。例えば、8x8マトリクスのDPCM伝送後、DC係数と8x8マトリクスの(0,0)成分の差分を伝送するようにしてもよい。
 このようにすることにより、方法1の場合と同様に、8x8マトリクスの(0,0)係数(AC係数)とDC係数が近い値の場合に圧縮率をより向上させることができる。
 方法2の場合の、スケーリングリストのシンタクスを、図30に示す。図30の例の場合、係数同士の差分値(scaling_list_delta_coef)が64個読み込まれ、最後にDC係数と(0,0)係数(AC係数)との差分(scaling_list_dc_coef_delta)が読み込まれ、その差分からDC係数が求められる。
 したがって、方法2の場合、AC係数の復号についてのシンタクスを、図12に示される従来の場合と同様にすることができる。つまり、方法2のシンタクスは、従来の例からの変更を少なくすることができ、方法1の場合よりも実現が容易である。
 ただし、画像復号装置は、方法2の場合、係数を全て受け取り、DPCMを全て解くまで、DC係数を得ることが出来ないのに対し、方法1の場合、最初の係数を受け取った時点でDC係数を復元する事が可能である。
 このような方法2のシンタクスを実現する画像符号化装置について以下に説明する。
  <3-2. DPCM部の詳細な構成例>
 方法2の場合、画像符号化装置10の構成は、基本的に、上述した方法1の場合と同様である。すなわち、画像符号化装置10は、図14に示される例のように構成される。また、直交変換・量子化部14は、図15に示される例のように構成される。さらに、行列処理部150は、図16に示される例のように構成される。
 この場合のDPCM部192の構成例を図31に示す。図31に示されるように、この場合、DPCM部192は、AC係数バッファ611、AC係数符号化部612、AC係数DPCM部613、およびDC係数DPCM部614を有する。
 AC係数バッファ611は、重複判定部191から供給される最初のAC係数(つまり、(0,0)係数)を記憶する。AC係数バッファ611は、全てのAC係数をDPCM処理した後の所定のタイミングにおいて、若しくは要求に応じて、記憶している最初のAC係数(AC係数(0,0))を、DC係数DPCM部614に供給する。
 AC係数符号化部612は、重複判定部191から供給される最初のAC係数(AC係数(0,0))を取得し、定数(例えば8)からその値を減算する。AC係数符号化部612は、その減算結果(差分)をAC係数のDPCMデータの最初の係数(scaling_list_delta_coef(i=0))として、expG部193に供給する。
 AC係数DPCM部613は、重複判定部191から供給される各AC係数を取得し、2番目以降の各AC係数について、1つ前のAC係数との差分(DPCM)を求め、DPCMデータ(scaling_list_delta_coef(i=1~63))として、expG部193に供給する。
 DC係数DPCM部614は、重複判定部191から供給されるDC係数を取得する。また、DC係数DPCM部614は、AC係数バッファ611により保持されている最初のAC係数(AC係数(0,0))を取得する。DC係数DPCM部614は、DC係数から最初のAC係数(AC係数(0,0))を減算することによりそれらの差分を求め、その差分をDC係数のDPCMデータ(scaling_list_dc_coef_delta)として、expG部193に供給する。
 以上のように、方法2においては、DC係数とその他の係数(最初のAC係数)との差分が求められる。そして、その差分が、AC係数のDPCMデータと異なる、DC係数のDPCMデータ(scaling_list_dc_coef_delta)として、AC係数同士の差分であるAC係数のDPCMデータ(scaling_list_delta_coef)伝送後に伝送される。このようにすることにより、画像符号化装置10は、方法1の場合と同様に、スケーリングリストの符号化効率を向上させることができる。
  <3-3. DPCM処理の流れ>
 方法2の場合も、画像符号化装置10は、量子化行列符号化処理を、図20のフローチャートを参照して説明した方法1の場合と同様に実行する。
 図32のフローチャートを参照して、図20のステップS112において実行される、方法2の場合のDPCM処理の流れの例を説明する。
 DPCM処理が開始されると、AC係数バッファ611は、ステップS401において、最初のAC係数を保持する。
 ステップS402において、AC係数符号化部612は、所定の定数(例えば8)から最初のAC係数を減算し、その差分(最初のDPCMデータ)を求める。
 ステップS403乃至ステップS405の各処理は、AC係数DPCM部613により、図21のステップS133乃至ステップS135の各処理と同様に実行される。すなわち、ステップS403乃至ステップS405の処理が繰り返し実行されることにより、全てのAC係数のDPCMデータ(1つ前のAC係数との差分)が生成される。
 ステップS403において、全てのAC係数が処理された(つまり、未処理のAC係数が存在しない)と判定した場合、AC係数DPCM部613は、処理をステップS406に進める。
 ステップS406において、DC係数DPCM部614は、DC係数から、ステップS401において保持された最初のAC係数を減算し、それらの差分(DC係数のDPCMデータ)を求める。
 ステップS406の処理が終了すると、DC係数DPCM部614は、DPCM処理を終了し、処理を図20に戻す。
 以上のように、DC係数についても、他の係数との差分を求め、それをDPCMデータとして画像復号装置に伝送することにより、画像符号化装置10は、スケーリングリストの符号量の増加を抑制することができる。
  <3-4. 逆DPCM部の詳細な構成例>
 方法2の場合の画像復号装置300の構成は、基本的に、方法1の場合と同様である。つまり、方法2の場合も画像復号装置300は、図22に示される例のように構成される。また、逆量子化・逆直交変換部313は、図23に示される例のように構成される。さらに、行列生成部410は、図24に示される例のように構成される。
 図33は、方法2の場合の、図24に示した逆DPCM部552の詳細な構成の一例を示すブロック図である。図33を参照すると、逆DPCM部552は、初期設定部621、AC係数DPCM復号部622、AC係数バッファ623、およびDC係数DPCM復号部624を有する。
 初期設定部621は、sizeIDやMatrixIDを取得したり、各種変数に初期値を設定したりする。初期設定部621は、取得したり、設定したりした情報をAC係数DPCM復号部622に供給する。
 AC係数DPCM復号部622は、expG部551から供給されるAC係数のDPCMデータ(scaling_list_delta_coef)を取得する。AC係数DPCM復号部622は、初期設定部621から供給された初期設定等を用いて、取得したAC係数のDPCMデータを復号し、AC係数を求める。AC係数DPCM復号部622は、求めた各AC係数(ScalingList[i])を逆重複判定部553に供給する。また、AC係数DPCM復号部622は、求めた、最初のAC係数(ScalingList[0]、すなわちAC係数(0,0))をAC係数バッファ623に供給し、保持させる。
 AC係数バッファ623は、AC係数DPCM復号部622から供給される最初のAC係数(ScalingList[0]、すなわちAC係数(0,0))を記憶する。AC係数バッファ623は、その最初のAC係数(ScalingList[0]、すなわちAC係数(0,0))を、所定のタイミングにおいて、若しくは要求に応じて、DC係数DPCM復号部624に供給する。
 DC係数DPCM復号部624は、expG部551から供給されるDC係数のDPCMデータ(scaling_list_dc_coef_delta)を取得する。また、DC係数DPCM復号部624は、AC係数バッファ623に記憶されている最初のAC係数(ScalingList[0]、すなわちAC係数(0,0))を取得する。DC係数DPCM復号部624は、その最初のAC係数を用いてDC係数のDPCMデータを復号し、DC係数を求める。DC係数DPCM復号部624は、求めたDC係数(DC_coef)を逆重複判定部553に供給する。
 このようにすることにより、逆DPCM部552は、正しくDPCM復号することができ、DC係数やAC係数を得ることができる。つまり、画像復号装置300は、スケーリングリストの符号量の増加を抑制することができる。
  <3-5. 逆DPCM処理の流れ>
 方法2の場合も、画像復号装置300は、量子化行列復号処理を、図27のフローチャートを参照して説明した方法1の場合と同様に実行する。同様に、画像復号装置300は、残差信号復号処理を、図28のフローチャートを参照して説明した方法1の場合と同様に実行する。
 図34のフローチャートを参照して、逆DPCM部552により実行される逆DPCM処理の流れの例を説明する。
 逆DPCM処理が開始されると、初期設定部621は、ステップS421において、sizeIDおよびMatrixIDを取得する。
 ステップS422において、初期設定部621は、coefNumを以下のように設定する。
 coefNum = min((1<<(4+(sizeID<<1))),64)
 ステップS423において、初期設定部621は、変数iと変数nextcoefを以下のように設定する。
 i = 0
 nextcoef = 8
 ステップS424において、DPCM復号部572は、変数i<coefNumであるか否かを判定する。変数iがcoefNumより小さい場合、初期設定部621は、処理をステップS425に進める。
 ステップS425において、AC係数DPCM復号部622は、AC係数のDPCMデータ(scaling_list_delta_coef)を読み込む。
 ステップS426において、AC係数DPCM復号部622は、読み込んだDPCMデータを用いて以下のようにnextcoefを求め、さらに、scalingList[i]を求める。
 nextcoef = (nextcoef + scaling_list_delta_coef+256) % 256
 scalingList[i] = nextcoef
 なお、算出された最初のAC係数(ScalingList[0]、すなわち、AC係数(0,0))は、AC係数バッファ623に保持される。
 ステップS427において、AC係数DPCM復号部622は、変数iをインクリメントし、処理の対象を次の係数に替え、処理をステップS424に戻す。
 ステップS424において、変数iがcoefNum以上であると判定されるまで、ステップS424乃至ステップS427の処理が繰り返される。ステップS424において、変数iがcoefNum以上であると判定された場合、AC係数DPCM復号部622は、処理をステップS428に進める。
 ステップS428において、DC係数DPCM復号部624は、sizeIDが1より大きいか否かを判定する。sizeIDが1より大きいと判定した場合、DC係数DPCM復号部624は、処理をステップS429に進め、DC係数のDPCMデータ(scaling_list_dc_coef_delta)を読み込む。
 ステップS430において、DC係数DPCM復号部624は、AC係数バッファ623により保持されている最初のAC係数(ScalingList[0]、すなわち、AC係数(0,0))を取得し、その最初のAC係数を用いて、DC係数(DC_coef)のDPCMデータを、以下のように復号する。
 DC_coef = scaling_list_dc_coef_delta + ScalingList[0]
 DC係数(DC_coef)が得られると、DC係数DPCM復号部624は、逆DPCM処理を終了し、処理を図28に戻す。
 また、ステップS428において、sizeIDが1以下であると判定した場合、DC係数DPCM復号部624は、逆DPCM処理を終了し、処理を図28に戻す。
 以上のようにすることにより、DC係数と、AC係数群の先頭のAC係数との差分を正しく復号することができるので、画像復号装置300は、スケーリングリストの符号量の増加を抑制することができる。
 <4. 第4の実施の形態>
  <4-1. シンタクス:方法3>
 上述した方法2において、さらに、DC係数を、最初のAC係数(AC係数(0,0))より小さい値に限定するようにしてもよい(方法3)。
 このようにすることにより、DC係数のDPCMデータ、すなわち、DC係数から最初のAC係数を減算して得られる差分値を、必ず正の値にすることができる。したがって、このDPCMデータは、符号なしの指数ゴロム符号により符号化することができる。したがって、方法3の場合、DC係数が最初のAC係数より大きな値とすることができなくなるものの、方法1や方法2の場合よりも符号量を低減させることができる。
 方法3の場合の、スケーリングリストのシンタクスを、図35に示す。図35に示されるように、この場合、DC係数のDPCMデータ(scaling_list_dc_coef_delta)が正の値に制限される。
 このような方法3のシンタクスは、方法2の場合と同様の画像符号化装置10により実現することができる。ただし、方法3の場合、expG部193は、DC係数のDPCMデータを、符号なしの指数ゴロム符号により符号化することができる。なお、画像符号化装置10は、量子化行列符号化処理やDPCM処理等の各処理を、方法2の場合と同様に実行することができる。
 また、このような方法3のシンタクスは、方法2の場合と同様の画像復号装置300により実現することができる。また、画像復号装置300は、量子化行列復号処理を、方法2の場合と同様に実行することができる。
  <4-2. 逆DPCM処理の流れ>
 図36のフローチャートを参照して、逆DPCM部552により実行される逆DPCM処理の流れの例を説明する。
 ステップS451乃至ステップS459の各処理は、図34のステップS421乃至ステップS429の各処理と同様に行われる。
 ステップS460において、DC係数DPCM復号部624は、AC係数バッファ623により保持されている最初のAC係数(ScalingList[0]、すなわち、AC係数(0,0))を取得し、その最初のAC係数を用いて、DC係数(DC_coef)のDPCMデータを、以下のように復号する。
 DC_coef = ScalingList[0] - scaling_list_dc_coef_delta
 DC係数(DC_coef)が得られると、DC係数DPCM復号部624は、逆DPCM処理を終了し、処理を図28に戻す。
 また、ステップS458において、sizeIDが1以下であると判定した場合、DC係数DPCM復号部624は、逆DPCM処理を終了し、処理を図28に戻す。
 以上のようにすることにより、DC係数と、AC係数群の先頭のAC係数との差分を正しく復号することができるので、画像復号装置300は、スケーリングリストの符号量の増加を抑制することができる。
 <5. 第5の実施の形態>
  <5-1. シンタクス:方法4>
 DC係数の代わりに、DC係数とその他の係数との差分を伝送する方法として、例えば、複数のスケーリングリストのDC係数のみを集めて、各スケーリングリストのAC係数とは別に、DC係数同士で差分をとるDPCMを行うようにしてもよい(方法4)。この場合、DC係数のDPCMデータは、複数のスケーリングリスト分のデータがまとめられ、各スケーリングリストのAC係数のDPCMデータとは別のデータとして伝送される。
 このようにすることにより、例えば、各スケーリングリスト(各MatrixID)の間でDC係数同士に相関がある場合に、圧縮率をより向上させることができる。
 方法4の場合の、スケーリングリストのDC係数に関するシンタクスを、図37に示す。この場合、DC係数の処理を各スケーリングリストのAC係数の処理とは異なるサイクルで行う必要があるため、図37の例に示されるように、AC係数とDC係数の処理を互いに独立させる必要がある。
 したがって、DPCM処理や逆DPCM処理が煩雑になる恐れがあるものの、より多様なスケーリングリストの符号化・復号処理方法を実現することができる。例えば、コピーモードの際に、AC係数のみをコピーしてDC係数を異なる値にするといった処理も容易に実現することができる。
 なお、このようにDC係数をまとめて処理するスケーリングリストの数は任意である。
  <5-2. DPCM部の詳細な構成例>
 方法4の場合、画像符号化装置10の構成は、基本的に、上述した方法1の場合と同様である。すなわち、画像符号化装置10は、図14に示される例のように構成される。また、直交変換・量子化部14は、図15に示される例のように構成される。さらに、行列処理部150は、図16に示される例のように構成される。
 この場合のDPCM部192の構成例を図38に示す。図38に示されるように、この場合、DPCM部192は、AC係数DPCM部631、DC係数バッファ632、およびDC係数DPCM部633を有する。
 AC係数DPCM部631は、各スケーリングリストについて、重複判定部191から供給される各AC係数のDPCM処理を行う。つまり、AC係数DPCM部631は、各スケーリングリストについて、所定の定数(例えば8)から最初のAC係数を減算したり、1つ前のAC係数から処理対象のAC係数(カレントAC係数)を減算したりする。AC係数DPCM部631は、各スケーリングリストについて、生成したDPCMデータ(scaling_list_delta_coef)をexpG部193に供給する。
 DC係数バッファ632は、重複判定部191から供給される各スケーリングリストのDC係数を記憶する。DC係数バッファ632は、所定のタイミングにおいて、若しくは要求に基づいて、記憶している複数のDC係数を、DC係数DPCM部633に供給する。
 DC係数DPCM部633は、DC係数バッファ632に蓄積されたDC係数を取得する。DC係数DPCM部633は、取得した各DC係数のDPCMデータを求める。つまり、DC係数DPCM部633は、所定の定数(例えば8)から最初のDC係数を減算したり、1つ前のDC係数から処理対象のDC係数(カレントDC係数)を減算したりする。DC係数DPCM部633は、生成したDPCMデータ(scaling_list_delta_coef)をexpG部193に供給する。
 このようにすることにより、画像符号化装置10は、スケーリングリストの符号化効率を向上させることができる。
  <5-3. DPCM処理の流れ>
 方法4の場合も、画像符号化装置10は、量子化行列符号化処理を、図20のフローチャートを参照して説明した方法1の場合と同様に実行する。
 図39のフローチャートを参照して、図20のステップS112において実行される、方法4の場合のDPCM処理の流れの例を説明する。
 ステップS481乃至ステップS485の各処理は、AC係数DPCM部631により、図32のステップS401乃至ステップS405の各処理(方法2の場合の処理)と同様に実行される。
 ステップS483において、全てのAC係数を処理したと判定した場合、AC係数DPCM部631は、処理をステップS486に進める。
 ステップS486において、AC係数DPCM部631は、DC係数をまとめてDPCM符号化するスケーリングリスト(若しくは差分行列)を全て処理したか否かを判定する。未処理のスケーリングリスト(若しくは差分行列)が存在すると判定した場合、AC係数DPCM部631は、処理をステップS481に戻す。
 ステップS486において、全てのスケーリングリスト(若しくは差分行列)を処理したと判定した場合、AC係数DPCM部631は、処理をステップS487に進める。
 DC係数DPCM部633は、DC係数バッファ632に記憶されているDC係数について、ステップS487乃至ステップS491の各処理を、ステップS481乃至ステップS485の各処理と同様に実行する。
 ステップS489において、DC係数バッファ632に記憶されている全てのDC係数を処理したと判定した場合、DC係数DPCM部633は、DPCM処理を終了し、処理を図20に戻す。
 このようにDPCM処理を実行することにより、画像符号化装置10は、スケーリングリストの符号化効率を向上させることができる。
  <5-4. 逆DPCM部の詳細な構成例>
 方法4の場合の画像復号装置300の構成は、基本的に、方法1の場合と同様である。つまり、方法4の場合も画像復号装置300は、図22に示される例のように構成される。また、逆量子化・逆直交変換部313は、図23に示される例のように構成される。さらに、行列生成部410は、図24に示される例のように構成される。
 図40は、方法4の場合の、図24に示した逆DPCM部552の詳細な構成の一例を示すブロック図である。図40を参照すると、逆DPCM部552は、初期設定部641、AC係数DPCM復号部642、およびDC係数DPCM復号部643を有する。
 初期設定部641は、sizeIDやMatrixIDを取得したり、各種変数に初期値を設定したりする。初期設定部641は、取得したり、設定したりした情報をAC係数DPCM復号部642およびDC係数DPCM復号部643に供給する。
 AC係数DPCM復号部642は、expG部551から供給されるAC係数のDPCMデータ(scaling_list_delta_coef(ac))を取得する。AC係数DPCM復号部642は、初期設定部641から供給された初期設定等を用いて、取得したAC係数のDPCMデータを復号し、AC係数を求める。AC係数DPCM復号部642は、求めた各AC係数(ScalingList[i])を逆重複判定部553に供給する。AC係数DPCM復号部642は、このような処理を、複数のスケーリングリストについて実行する。
 DC係数DPCM復号部643は、expG部551から供給されるDC係数のDPCMデータ(scaling_list_delta_coef(dc))を取得する。DC係数DPCM復号部643は、初期設定部641から供給された初期設定等を用いて、取得したDC係数のDPCMデータを復号し、各スケーリングリストのDC係数を求める。DC係数DPCM復号部643は、求めた各DC係数(scaling_list_dc_coef)を逆重複判定部553に供給する。
 このようにすることにより、逆DPCM部552は、正しくDPCM復号することができ、DC係数やAC係数を得ることができる。つまり、画像復号装置300は、スケーリングリストの符号量の増加を抑制することができる。
  <5-5. 逆DPCM処理の流れ>
 方法4の場合も、画像復号装置300は、量子化行列復号処理を、図27のフローチャートを参照して説明した方法1の場合と同様に実行する。同様に、画像復号装置300は、残差信号復号処理を、図28のフローチャートを参照して説明した方法1の場合と同様に実行する。
 図41および図42のフローチャートを参照して、逆DPCM部552により実行される逆DPCM処理の流れの例を説明する。
 逆DPCM処理が開始されると、初期設定部641およびAC係数DPCM復号部642は、ステップS511乃至ステップS517の各処理を、図34のステップS421乃至ステップS427の各処理と同様に実行する。
 ステップS514において、変数iがcoefNum以上であると判定された場合、AC係数DPCM復号部642は、処理をステップS518に進める。
 ステップS518において、AC係数DPCM復号部642は、DC係数をまとめてDPCM処理する全てのスケーリングリスト(差分行列)を処理したか否かを判定する。未処理のスケーリングリスト(差分行列)が存在すると判定された場合、AC係数DPCM復号部642は、処理をステップS511に戻し、それ以降の処理を繰り返す。
 また、未処理のスケーリングリスト(差分行列)が存在しないと判定された場合、AC係数DPCM復号部642は、処理を図42に進める。
 図42のステップS521において、初期設定部641は、sizeIDと変数nextcoefを以下のように設定する。
 sizeID = 2
 nextcoef = 8
 また、ステップS522において、初期設定部641は、MatrixIDを以下のように設定する。
 MatrixID = 0
 ステップS523において、DC係数DPCM復号部643は、sizeID<4であるか否かを判定する。sizeIDが4より小さいと判定した場合、DC係数DPCM復号部643は、処理をステップS524に進める。
 ステップS524において、DC係数DPCM復号部643は、MatrixID<(sizeID == 3)?2:6であるか否かを判定する。MatrixID<(sizeID == 3)?2:6であると判定した場合、DC係数DPCM復号部643は、処理をステップS525に進める。
 ステップS525において、DC係数DPCM復号部643は、DC係数のDPCMデータ(scaling_list_delta_coef)を読み込む。
 ステップS526において、DC係数DPCM復号部643は、読み込んだDPCMデータを用いて以下のようにnextcoefを求め、さらに、scaling_dc_coefを求める。
 nextcoef = (nextcoef + scaling_list_delta_coef+256) % 256
 scaling_dc_coef[sizeID - 2][MatrixID] = nextcoef
 ステップS527において、DC係数DPCM復号部643は、MatrixIDをインクリメントし、処理の対象を次のDC係数(次のスケーリングリスト若しくは残差行列)に替え、処理をステップS524に戻す。
 ステップS524において、MatrixID<(sizeID == 3)?2:6でないと判定した場合、DC係数DPCM復号部643は、処理をステップS528に進める。
 ステップS528において、DC係数DPCM復号部643は、sizeIDをインクリメントし、処理の対象を次のDC係数(次のスケーリングリスト若しくは残差行列)に替え、処理をステップS523に戻す。
 ステップS523において、sizeIDが4以上であると判定した場合、DC係数DPCM復号部643は、逆DPCM処理を終了し、処理を図28に戻す。
 以上のようにすることにより、DC係数同士の差分を正しく復号することができるので、画像復号装置300は、スケーリングリストの符号量の増加を抑制することができる。
 <6. 第6の実施の形態>
  <6-1. シンタクス他の例1>
 図43に、スケーリングリストに関するシンタクスの他の例を示す。この図は、図12に対応するものである。図12の例においては、nextcoefの初期値が所定の定数(例えば8)に設定されるが、その代わりに、図43に示されるように、nextcoefの初期値をDC係数のDPCMデータ(scaling_list_dc_coef_minus8)で上書きするようにしてもよい。
 このようにすることにより、16x16のスケーリングリスト、および、32x32のスケーリングリストの、最初のAC係数((0,0)のAC係数)の符号量を低減させることができる。
  <6-2. シンタクス他の例2>
 図44に、スケーリングリストに関するシンタクスの他の例を示す。この図は、図12に対応するものである。
 図12の例においては、コピーモードにおける参照先を指定する情報であるscaling_list_pred_matrix_id_deltaの値が「0」の場合、1つ前のスケーリングリストが参照され、「1」の場合、2つ前のスケーリングリストが参照される。
 これに対して、図44の例においては、図44のCに示されるように、コピーモードにおける参照先を指定する情報であるscaling_list_pred_matrix_id_deltaの値が「0」の場合、デフォルトのスケーリングリストが参照されるようになされ、「1」の場合、1つ前のスケーリングリストが参照されるようになされている。
 このように、scaling_list_pred_matrix_id_deltaのセマンティクスを変更することにより、図44のBに示されるように、シンタクスを簡略化することができ、DPCM処理や逆DPCM処理の負荷を低減させることができる。
  <6-3. シンタクス他の例3>
 図45に、スケーリングリストに関するシンタクスの他の例を示す。この図は、図12に対応するものである。
 図45の例においては、上述した、図43に示される例と、図44に示される例の両方が適用されている。
 したがって、図45の例の場合、16x16のスケーリングリスト、および、32x32のスケーリングリストの、最初のAC係数((0,0)のAC係数)の符号量を低減させることができるとともに、シンタクスを簡略化することができ、DPCM処理や逆DPCM処理の負荷を低減させることができる。
 以上の各実施の形態において、所定の定数の値は、任意である。また、スケーリングリストのサイズも任意である。
 また、以上においては、スケーリングリスト、予測行列、または、それらの差分行列のサイズ変換処理について説明したが、このサイズ変換処理は、実際に、サイズを変換した行列を生成する処理であってもよいが、実際には行列のデータを生成せずに、メモリからの行列の各要素の読み出し方を設定する処理(行列データの読み出し制御)であってもよい。
 上述したサイズ変換処理の場合、サイズ変換後の行列の各要素は、サイズ変換前の行列のいずれかの要素により構成される。つまり、例えば、一部の要素のみを読み出したり、1つの要素を複数回読み出したりする等の所定の方法で、メモリに格納されているサイズ変換前の行列の要素を読み出せば、サイズ変換後の行列を生成することができる。換言するに、その各要素の読み出し方法を定義する(行列データの読み出し制御を行う)ことにより、上述したサイズ変換が実質的に実現される。このような方法を用いることにより、サイズ変換後の行列データをメモリに書き込む等の処理が不要になる。また、サイズ変換後の行列データの読み出し方は、基本的に最近傍補間の仕方等で決まるので、予め用意されている複数の選択肢の中から適切なものを選択する程度の、比較的低負荷の処理で実現可能である。したがって、このような方法を用いることにより、サイズ変換の負荷が低減される。
 つまり、以上において説明したサイズ変換処理は、実際にサイズ変換後の行列のデータを生成処理も含むが、このような行列データの読み出し制御も含む。
 なお、以上においては差分行列が符号化されて伝送されるように説明したが、これに限らず、スケーリングリストが符号化されて伝送されるようにしてもよい。換言するに、以上において、処理される係数として説明したスケーリングリストのAC係数やDC係数は、スケーリングリストと予測行列との差分行列のAC係数やDC係数であってもよい。
 また、例えば、スケーリングリストのサイズやリストID等の、スケーリングリストに関するパラメータやフラグ等の情報も、例えば前回伝送した情報との差分をとり、その差分を伝送する等して、その符号量を低減させるようにしてもよい。
 また、以上においては、大きなサイズの量子化行列または差分行列をダウンコンバートして伝送するように説明したが、これに限らず、量子化行列または差分行列を、ダウンコンバートせずに、量子化に用いられた量子化行列のサイズのまま伝送するようにしても良い。
 本技術の適用範囲は、量子化・逆量子化を用いるあらゆる画像の符号化・復号に適用することができる。
 また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる量子化装置・逆量子化装置にも適用することができる。
 <7.第7の実施の形態>
  <多視点画像符号化・多視点画像復号への適用>
 上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図46は、多視点画像符号化方式の一例を示す。
 図46に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの画像を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの画像を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューは、ベースビューの画像を利用するようにしても良いし、他のノンベースビューの画像を利用するようにしてもよい。
 図46のような多視点画像を符号化・復号する場合、各ビューの画像を符号化・復号するが、この各ビューの符号化・復号に対して、以上の各実施の形態において説明した方法を適用するようにしてもよい。このようにすることにより、各ビューの画質の低減を抑制することができる。
 さらに、各ビューの符号化・復号において、以上の各実施の形態において説明した方法において使用されるフラグやパラメータを共有するようにしてもよい。このようにすることにより、符号化効率の低減を抑制することができる。
 より具体的には、例えば、スケーリングリストに関する情報(例えばパラメータやフラグ等)を、各ビューの符号化・復号において共有するようにしてもよい。
 もちろん、これら以外の必要な情報も、各ビューの符号化・復号において共有するようにしてもよい。
 例えば、スケーリングリストやスケーリングリストに関する情報をシーケンスパラメータセット(SPS(Sequence Parameter Set))やピクチャパラメータセット(PPS(Picture Parameter Set))において伝送する場合、それら(SPSやPPS)がビュー間で共有されるのであれば、スケーリングリストやスケーリングリストに関する情報も自ずと共有されることになる。このようにすることにより、符号化効率の低減を抑制することができる。
 また、ベースビューのスケーリングリスト(量子化マトリクス)の行列要素をビュー間の視差値に応じて変更するようにしても良い。さらに、ベースビューのスケーリングリスト(量子化マトリクス)の行列要素に関してノンベースビュー用の行列要素を調整するためのオフセット値を伝送するようにしてもよい。これらのようにすることにより、符号量の増大を抑制することができる。
 例えば、ビュー毎のスケーリングリストを予め別途伝送するようにしてもよい。ビュー毎にスケーリングリストを変更する場合、その予め伝送したスケーリングリストとの差分を示す情報のみを伝送すればよい。この差分を示す情報は、任意である。例えば、4x4や8x8を単位とする情報であってもよいし、行列同士の差分であってもよい。
 なお、ビュー間で、SPSやPPSを共有しないが、スケーリングリストやスケーリングリストに関する情報を共有するときは、他のビューのSPSやPPSを参照することができる(つまり、他のビューの、スケーリングリストやスケーリングリストに関する情報を利用することができる)ようにしてもよい。
 また、このような多視点画像を、YUVの各画像と、ビュー間の視差量に対応する奥行き画像(Depth)とをそれぞれコンポーネントとする画像として表す場合、各コンポーネント(Y,U,V,Depth)の画像に対して互いに独立したスケーリングリストやスケーリングリストに関する情報を用いるようにしてもよい。
 例えば、奥行き画像(Depth)は、エッジの画像であるので、スケーリングリストは不要である。したがって、SPSやPPSにおいてスケーリングリストの利用が指定されている場合であっても、奥行き画像(Depth)に対しては、スケーリングリストを適用しない(若しくは行列要素が全て同一(FLAT)なスケーリングリストを適用する)ようにしてもよい。
  <多視点画像符号化装置>
 図47は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図47に示されるように、多視点画像符号化装置700は、符号化部701、符号化部702、および多重化部703を有する。
 符号化部701は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部702は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部703は、符号化部701において生成されたベースビュー画像符号化ストリームと、符号化部702において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
 この多視点画像符号化装置700の符号化部701および符号化部702に対して、画像符号化装置10(図14)を適用することができる。つまり、各ビューに対する符号化において、スケーリングリストに関する符号量の増大を抑制することができ、各ビューの画質の低減を抑制することができる。また、符号化部701および符号化部702は、互いに同一のフラグやパラメータを用いて、量子化や逆量子化等の処理を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
  <多視点画像復号装置>
 図48は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図48に示されるように、多視点画像復号装置710は、逆多重化部711、復号部712、および復号部713を有する。
 逆多重化部711は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部712は、逆多重化部711により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部713は、逆多重化部711により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
 この多視点画像復号装置710の復号部712および復号部713に対して、画像復号装置300(図22)を適用することができる。つまり、各ビューに対する復号において、スケーリングリストに関する符号量の増大を抑制することができ、各ビューの画質の低減を抑制することができる。また、復号部712および復号部713は、互いに同一のフラグやパラメータを用いて、量子化や逆量子化等の処理を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
 <8.第8の実施の形態>
  <階層画像符号化・階層画像復号への適用>
 上述した一連の処理は、階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)に適用することができる。図49は、階層画像符号化方式の一例を示す。
 階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号(スケーラブル復号)は、その階層画像符号化に対応する復号である。
 図49に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
 一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
 このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
 図49の例のような階層画像を符号化・復号する場合、各レイヤの画像を符号化・復号するが、この各レイヤの符号化・復号に対して、以上の各実施の形態において説明した方法を適用するようにしてもよい。このようにすることにより、各レイヤの画質の低減を抑制することができる。
 さらに、各レイヤの符号化・復号において、以上の各実施の形態において説明した方法において使用されるフラグやパラメータを共有するようにしてもよい。このようにすることにより、符号化効率の低減を抑制することができる。
 より具体的には、例えば、スケーリングリストに関する情報(例えば、パラメータやフラグ等)を、各レイヤの符号化・復号において共有するようにしてもよい。
 もちろん、これら以外の必要な情報も、各レイヤの符号化・復号において共有するようにしてもよい。
 このような階層画像の例として、空間解像度によって階層化したもの(空間解像度スケーラビリティとも称する)がある(spatial scalability)。空間解像度スケーラビリティを有する階層画像の場合、階層毎に画像の解像度が異なる。例えば、空間的に最も低解像度の画像の階層をベースレイヤとされ、ベースレイヤよりも高解像度の画像の階層をノンベースレイヤ(エンハンスメントレイヤ)とされる。
 ノンベースレイヤ(エンハンスメントレイヤ)の画像データは、他の階層から独立したデータとし、ベースレイヤの場合と同様に、その画像データのみによりその階層の解像度の画像を得ることができるようにしてもよいが、その階層の画像と他の階層(例えば1つ下の階層)の画像との差分画像に対応するデータとするのが一般的である。この場合、ベースレイヤの階層の解像度の画像は、そのベースレイヤの画像データのみにより得られるが、ノンベースレイヤ(エンハンスメントレイヤ)の階層の解像度の画像は、その階層の画像データと、他の階層(例えば1つ下の階層)の画像データを合成することにより得られる。このようにすることにより、階層間の画像データの冗長性を抑制することができる。
 このような空間解像度スケーラビリティを有する階層画像は、階層毎に画像の解像度が異なるので、各階層の符号化・復号の処理単位の解像度も互いに異なる。したがって、各階層の符号化・復号においてスケーリングリスト(量子化マトリクス)を共有する場合、スケーリングリスト(量子化マトリクス)を各階層の解像度比に応じてアップコンバートするようにしてもよい。
 例えば、ベースレイヤの画像の解像度が2K(例えば1920x1080)とし、ノンベースレイヤ(エンハンスメントレイヤ)の画像の解像度が4K(例えば、3840x2160)とする。この場合、例えば、ベースレイヤの画像(2K画像)の16x16は、ノンベースレイヤの画像(4K画像)の32x32に相当する。スケーリングリスト(量子化マトリクス)もこのような解像度比に応じて適宜アップコンバートする。
 例えば、ベースレイヤの量子化・逆量子化に用いられる4x4のスケーリングリストは、ノンベースレイヤの量子化・逆量子化において8x8にアップコンバートされて使用される。同様に、ベースレイヤの8x8のスケーリングリストは、ノンベースレイヤにおいて16x16にアップコンバートされる。同様に、ベースレイヤにおいて16x16にアップコンバートされて使用されるスケーリングリストは、ノンベースレイヤにおいて32x32にアップコンバートされる。
 なお、スケーラビリティ性を持たせるパラメータは、空間解像度に限らず、例えば、時間解像度がある(temporal scalability)。時間解像度スケーラビリティを有する階層画像の場合、階層毎に画像のフレームレートが異なる。また、その他にも、例えば、階層毎に画像データのビット深度が異なるビット深度スケーラビリティ(bit-depth scalability)や、階層毎にコンポーネントのフォーマットが異なるクロマスケーラビリティ(chroma scalability)等がある。
 また、その他にも、例えば、階層毎に画像の信号雑音比(SNR(Signal to Noise ratio))が異なるSNRスケーラビリティ(SNR scalability)がある。
 画質向上のためには、信号雑音比が低い画像程、量子化誤差をより小さくするのが望ましい。そのため、SNRスケーラビリティの場合、各階層の量子化・逆量子化には、信号雑音比に応じた、互いに異なるスケーリングリスト(共通でないスケーリングリスト)が用いられるようにするのが望ましい。そのため、上述したようにスケーリングリストを階層間で共有する場合、ベースレイヤのスケーリングリストの行列要素に関して、エンハンスメントレイヤの行列要素を調整するためのオフセット値を伝送するようにしてもよい。より具体的には、その共通のスケーリングリストと、実際に用いられるスケーリングリストとの差分を示す情報を、階層毎に伝送するようにしてもよい。例えば、各階層のシーケンスパラメータセット(SPS(Sequence Parameter Set))やピクチャパラメータセット(PPS(Picture Parameter Set))において、その差分を示す情報を伝送するようにしてもよい。この差分を示す情報は、任意である。例えば、両スケーリングリストの要素毎の差分値を要素とする行列であってもよいし、差分を示す関数であってもよい。
  <階層画像符号化装置>
 図50は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図50に示されるように、階層画像符号化装置720は、符号化部721、符号化部722、および多重化部723を有する。
 符号化部721は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部722は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部723は、符号化部721において生成されたベースレイヤ画像符号化ストリームと、符号化部722において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
 この階層画像符号化装置720の符号化部721および符号化部722に対して、画像符号化装置10(図14)を適用することができる。つまり、各レイヤに対する符号化において、スケーリングリストに関する符号量の増大を抑制することができ、各レイヤの画質の低減を抑制することができる。また、符号化部721および符号化部722は、互いに同一のフラグやパラメータを用いて、量子化や逆量子化等の処理を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
  <階層画像復号装置>
 図51は、上述した階層画像復号を行う階層画像復号装置を示す図である。図51に示されるように、階層画像復号装置730は、逆多重化部731、復号部732、および復号部733を有する。
 逆多重化部731は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部732は、逆多重化部731により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部733は、逆多重化部731により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
 この階層画像復号装置730の復号部732および復号部733に対して、画像復号装置300(図22)を適用することができる。つまり、各レイヤに対する復号において、スケーリングリストに関する符号量の増大を抑制することができ、各レイヤの画質の低減を抑制することができる。また、復号部712および復号部713は、互いに同一のフラグやパラメータを用いて、量子化や逆量子化等の処理を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
 <9. 第9の実施の形態>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図52に示されるようなコンピュータとして構成されるようにしてもよい。
 図52において、コンピュータ800のCPU(Central Processing Unit)801は、ROM(Read Only Memory)802に記憶されているプログラム、または記憶部813からRAM(Random Access Memory)803にロードされたプログラムに従って各種の処理を実行する。RAM803にはまた、CPU801が各種の処理を実行する上において必要なデータなども適宜記憶される。
 CPU801、ROM802、およびRAM803は、バス804を介して相互に接続されている。このバス804にはまた、入出力インタフェース810も接続されている。
 入出力インタフェース810には、キーボード、マウス、タッチパネル、および入力端子などよりなる入力部811、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、およびOELD(Organic ElectroLuminescence Display)などよりなるディスプレイ、並びにスピーカ等の任意の出力デバイスや出力端子等よりなる出力部812、ハードディスクやフラッシュメモリ等の任意の記憶媒体やその記憶媒体の入出力を制御する制御部等により構成される記憶部813、モデム、LANインタフェース、USB(Universal Serial Bus)、並びにBluetooth(登録商標)等、有線や無線の任意の通信デバイスよりなる通信部814が接続されている。通信部814は、例えばインターネットを含むネットワークを介して他の通信デバイスとの通信処理を行う。
 入出力インタフェース810にはまた、必要に応じてドライブ815が接続される。そのドライブ815には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア821が適宜装着される。ドライブ815は、例えばCPU801の制御に従って、自身に装着されたリムーバブルメディア821からコンピュータプログラムやデータ等を読み出す。その読み出されたデータやコンピュータプログラムは、例えば、RAM803に供給される。また、リムーバブルメディア821から読み出されたコンピュータプログラムは、必要に応じて記憶部813にインストールされる。
 上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
 この記録媒体は、例えば、図52に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア821により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM802や、記憶部813に含まれるハードディスクなどで構成される。
 なお、コンピュータ800が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 上述した実施形態に係る画像符号化装置10(図14)および画像復号装置300(図22)は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
 <10. 応用例>
  <第1の応用例:テレビジョン受像機>
 図53は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置300(図22)の機能を有する。したがって、テレビジョン装置900は、スケーリングリストの符号量の増大を抑制することができる。
  <第2の応用例:携帯電話機>
 図54は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10(図14)の機能、および、画像復号装置300(図22)の機能を有する。従って、携帯電話機920は、スケーリングリストの符号量の増大を抑制することができる。
 また、以上においては携帯電話機920として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機920と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機920の場合と同様に、本技術を適用した画像符号化装置および画像復号装置を適用することができる。
  <第3の応用例:記録再生装置>
 図55は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944またはディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944またはディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10(図14)の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置300(図22)の機能を有する。従って、記録再生装置940は、スケーリングリストの符号量の増大を抑制することができる。
  <第4の応用例:撮像装置>
 図56は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像データを生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10(図14)の機能、および、画像復号装置300(図22)の機能を有する。従って、撮像装置960は、スケーリングリストの符号量の増大を抑制することができる。
 <7.スケーラブル符号化の応用例>
  <第1のシステム>
 次に、スケーラブル符号化(階層(画像)符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図57に示される例のように、伝送するデータの選択のために利用される。
 図57に示されるデータ伝送システム1000において、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを読み出し、ネットワーク1003を介して、パーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置に配信する。
 その際、配信サーバ1002は、端末装置の能力や通信環境等に応じて、適切な品質の符号化データを選択して伝送する。配信サーバ1002が不要に高品質なデータを伝送しても、端末装置において高画質な画像を得られるとは限らず、遅延やオーバフローの発生要因となる恐れがある。また、不要に通信帯域を占有したり、端末装置の負荷を不要に増大させたりしてしまう恐れもある。逆に、配信サーバ1002が不要に低品質なデータを伝送しても、端末装置において十分な画質の画像を得ることができない恐れがある。そのため、配信サーバ1002は、スケーラブル符号化データ記憶部1001に記憶されているスケーラブル符号化データを、適宜、端末装置の能力や通信環境等に対して適切な品質の符号化データとして読み出し、伝送する。
 例えば、スケーラブル符号化データ記憶部1001は、スケーラブルに符号化されたスケーラブル符号化データ(BL+EL)1011を記憶するとする。このスケーラブル符号化データ(BL+EL)1011は、ベースレイヤとエンハンスメントレイヤの両方を含む符号化データであり、復号することにより、ベースレイヤの画像およびエンハンスメントレイヤの画像の両方を得ることができるデータである。
 配信サーバ1002は、データを伝送する端末装置の能力や通信環境等に応じて、適切なレイヤを選択し、そのレイヤのデータを読み出す。例えば、配信サーバ1002は、処理能力の高いパーソナルコンピュータ1004やタブレットデバイス1006に対しては、高品質なスケーラブル符号化データ(BL+EL)1011をスケーラブル符号化データ記憶部1001から読み出し、そのまま伝送する。これに対して、例えば、配信サーバ1002は、処理能力の低いAV機器1005や携帯電話機1007に対しては、スケーラブル符号化データ(BL+EL)1011からベースレイヤのデータを抽出し、スケーラブル符号化データ(BL+EL)1011と同じコンテンツのデータであるが、スケーラブル符号化データ(BL+EL)1011よりも低品質なスケーラブル符号化データ(BL)1012として伝送する。
 このようにスケーラブル符号化データを用いることにより、データ量を容易に調整することができるので、遅延やオーバフローの発生を抑制したり、端末装置や通信媒体の負荷の不要な増大を抑制したりすることができる。また、スケーラブル符号化データ(BL+EL)1011は、レイヤ間の冗長性が低減されているので、各レイヤの符号化データを個別のデータとする場合よりもそのデータ量を低減させることができる。したがって、スケーラブル符号化データ記憶部1001の記憶領域をより効率よく使用することができる。
 なお、パーソナルコンピュータ1004乃至携帯電話機1007のように、端末装置には様々な装置を適用することができるので、端末装置のハードウエアの性能は、装置によって異なる。また、端末装置が実行するアプリケーションも様々であるので、そのソフトウエアの能力も様々である。さらに、通信媒体となるネットワーク1003も、例えばインターネットやLAN(Local Area Network)等、有線若しくは無線、またはその両方を含むあらゆる通信回線網を適用することができ、そのデータ伝送能力は様々である。さらに、他の通信等によっても変化する恐れがある。
 そこで、配信サーバ1002は、データ伝送を開始する前に、データの伝送先となる端末装置と通信を行い、端末装置のハードウエア性能や、端末装置が実行するアプリケーション(ソフトウエア)の性能等といった端末装置の能力に関する情報、並びに、ネットワーク1003の利用可能帯域幅等の通信環境に関する情報を得るようにしてもよい。そして、配信サーバ1002が、ここで得た情報を基に、適切なレイヤを選択するようにしてもよい。
 なお、レイヤの抽出は、端末装置において行うようにしてもよい。例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011を復号し、ベースレイヤの画像を表示しても良いし、エンハンスメントレイヤの画像を表示しても良い。また、例えば、パーソナルコンピュータ1004が、伝送されたスケーラブル符号化データ(BL+EL)1011から、ベースレイヤのスケーラブル符号化データ(BL)1012を抽出し、記憶したり、他の装置に転送したり、復号してベースレイヤの画像を表示したりするようにしてもよい。
 もちろん、スケーラブル符号化データ記憶部1001、配信サーバ1002、ネットワーク1003、および端末装置の数はいずれも任意である。また、以上においては、配信サーバ1002がデータを端末装置に伝送する例について説明したが、利用例はこれに限定されない。データ伝送システム1000は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
 そして、以上のような図57のようなデータ伝送システム1000においても、図49乃至図51を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図49乃至図51を参照して上述した効果と同様の効果を得ることができる。
  <第2のシステム>
 また、スケーラブル符号化は、例えば、図58に示される例のように、複数の通信媒体を介する伝送のために利用される。
 図58に示されるデータ伝送システム1100において、放送局1101は、地上波放送1111により、ベースレイヤのスケーラブル符号化データ(BL)1121を伝送する。また、放送局1101は、有線若しくは無線またはその両方の通信網よりなる任意のネットワーク1112を介して、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する(例えばパケット化して伝送する)。
 端末装置1102は、放送局1101が放送する地上波放送1111の受信機能を有し、この地上波放送1111を介して伝送されるベースレイヤのスケーラブル符号化データ(BL)1121を受け取る。また、端末装置1102は、ネットワーク1112を介した通信を行う通信機能をさらに有し、このネットワーク1112を介して伝送されるエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を受け取る。
 端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121を、復号してベースレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
 また、端末装置1102は、例えばユーザ指示等に応じて、地上波放送1111を介して取得したベースレイヤのスケーラブル符号化データ(BL)1121と、ネットワーク1112を介して取得したエンハンスメントレイヤのスケーラブル符号化データ(EL)1122とを合成して、スケーラブル符号化データ(BL+EL)を得たり、それを復号してエンハンスメントレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
 以上のように、スケーラブル符号化データは、例えばレイヤ毎に異なる通信媒体を介して伝送させることができる。したがって、負荷を分散させることができ、遅延やオーバフローの発生を抑制することができる。
 また、状況に応じて、伝送に使用する通信媒体を、レイヤ毎に選択することができるようにしてもよい。例えば、データ量が比較的多いベースレイヤのスケーラブル符号化データ(BL)1121を帯域幅の広い通信媒体を介して伝送させ、データ量が比較的少ないエンハンスメントレイヤのスケーラブル符号化データ(EL)1122を帯域幅の狭い通信媒体を介して伝送させるようにしてもよい。また、例えば、エンハンスメントレイヤのスケーラブル符号化データ(EL)1122を伝送する通信媒体を、ネットワーク1112とするか、地上波放送1111とするかを、ネットワーク1112の利用可能帯域幅に応じて切り替えるようにしてもよい。もちろん、任意のレイヤのデータについて同様である。
 このように制御することにより、データ伝送における負荷の増大を、より抑制することができる。
 もちろん、レイヤ数は任意であり、伝送に利用する通信媒体の数も任意である。また、データ配信先となる端末装置1102の数も任意である。さらに、以上においては、放送局1101からの放送を例に説明したが、利用例はこれに限定されない。データ伝送システム1100は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
 そして、以上のような図58のようなデータ伝送システム1100においても、図49乃至図51を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図49乃至図51を参照して上述した効果と同様の効果を得ることができる。
  <第3のシステム>
 また、スケーラブル符号化は、例えば、図59に示される例のように、符号化データの記憶に利用される。
 図59に示される撮像システム1200において、撮像装置1201は、被写体1211を撮像して得られた画像データをスケーラブル符号化し、スケーラブル符号化データ(BL+EL)1221として、スケーラブル符号化データ記憶装置1202に供給する。
 スケーラブル符号化データ記憶装置1202は、撮像装置1201から供給されるスケーラブル符号化データ(BL+EL)1221を、状況に応じた品質で記憶する。例えば、通常時の場合、スケーラブル符号化データ記憶装置1202は、スケーラブル符号化データ(BL+EL)1221からベースレイヤのデータを抽出し、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222として記憶する。これに対して、例えば、注目時の場合、スケーラブル符号化データ記憶装置1202は、高品質でデータ量の多いスケーラブル符号化データ(BL+EL)1221のまま記憶する。
 このようにすることにより、スケーラブル符号化データ記憶装置1202は、必要な場合のみ、画像を高画質に保存することができるので、画質劣化による画像の価値の低減を抑制しながら、データ量の増大を抑制することができ、記憶領域の利用効率を向上させることができる。
 例えば、撮像装置1201が監視カメラであるとする。撮像画像に監視対象(例えば侵入者)が写っていない場合(通常時の場合)、撮像画像の内容は重要でない可能性が高いので、データ量の低減が優先され、その画像データ(スケーラブル符号化データ)は、低品質に記憶される。これに対して、撮像画像に監視対象が被写体1211として写っている場合(注目時の場合)、その撮像画像の内容は重要である可能性が高いので、画質が優先され、その画像データ(スケーラブル符号化データ)は、高品質に記憶される。
 なお、通常時であるか注目時であるかは、例えば、スケーラブル符号化データ記憶装置1202が、画像を解析することにより判定しても良い。また、撮像装置1201が判定し、その判定結果をスケーラブル符号化データ記憶装置1202に伝送するようにしてもよい。
 なお、通常時であるか注目時であるかの判定基準は任意であり、判定基準とする画像の内容は任意である。もちろん、画像の内容以外の条件を判定基準とすることもできる。例えば、収録した音声の大きさや波形等に応じて切り替えるようにしてもよいし、所定の時間毎に切り替えるようにしてもよいし、ユーザ指示等の外部からの指示によって切り替えるようにしてもよい。
 また、以上においては、通常時と注目時の2つの状態を切り替える例を説明したが、状態の数は任意であり、例えば、通常時、やや注目時、注目時、非常に注目時等のように、3つ以上の状態を切り替えるようにしてもよい。ただし、この切り替える状態の上限数は、スケーラブル符号化データのレイヤ数に依存する。
 また、撮像装置1201が、スケーラブル符号化のレイヤ数を、状態に応じて決定するようにしてもよい。例えば、通常時の場合、撮像装置1201が、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)1222を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。また、例えば、注目時の場合、撮像装置1201が、高品質でデータ量の多いベースレイヤのスケーラブル符号化データ(BL+EL)1221を生成し、スケーラブル符号化データ記憶装置1202に供給するようにしてもよい。
 以上においては、監視カメラを例に説明したが、この撮像システム1200の用途は任意であり、監視カメラに限定されない。
 そして、以上のような図59のような撮像システム1200においても、図49乃至図51を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図49乃至図51を参照して上述した効果と同様の効果を得ることができる。
 なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
 もちろん、本技術を適用した画像符号化装置および画像復号装置は、上述した装置以外の装置やシステムにも適用可能である。
 なお、本明細書では、量子化行列(又は量子化行列を構成する際に用いる係数)が、符号化側から復号側へ伝送される例について説明した。量子化行列を伝送する手法は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 10 画像符号化装置, 14 直交変換・量子化部, 16 可逆符号化部, 150 行列処理部, 192 DPCM部, 211 DC係数符号化部, 212 AC係数DPCM部, 300 画像復号装置, 312 可逆復号部, 313 逆量子化・逆直交変換部, 410 行列生成部, 552 逆DPCM部, 571 初期設定部, 572 DPCM復号部, 573 DC係数抽出部, 611 AC係数バッファ, 612 AC係数符号化部, 613 AC係数DPCM部, 614 DC係数DPCM部, 621 初期設定部, 622 AC係数DPCM復号部, 623 AC係数バッファ, 624 DC係数DPCM復号部, 631 AC係数DPCM部, 632 DC係数バッファ, 633 DC係数DPCM部, 641 初期設定部, 642 AC係数DPCM復号部, 643 DC係数DPCM復号部

Claims (8)

  1.  伝送の際に許容される最大サイズである伝送サイズ以下に制限された量子化行列を逆量子化する際の処理単位であるブロックサイズと同じサイズにアップコンバートしたアップコンバート量子化行列の先頭に位置する係数を置き換える際に用いる置換係数と前記量子化行列の先頭に位置する係数との差分である置換差分係数を設定する設定部と、
     画像を量子化して、量子化データを生成する量子化部と、
     前記量子化部により生成された量子化データを符号化した符号化データと、前記置換係数を符号化した置換係数データと、前記設定部により設定された置換差分係数を符号化した置換差分係数化データとを伝送する伝送部と
     を備える画像処理装置。
  2.  前記設定部は、前記置換係数と前記量子化行列に設定された初期値との差分を設定する
     請求項1に記載の画像処装置。
  3.  前記設定部は、前記量子化行列の係数同士の差分である差分係数を設定し、
     前記伝送部は、前記設定部により設定された差分係数を符号化した差分係数データを伝送する
     請求項2に記載の画像処理装置。
  4.  前記伝送部は、前記置換係数データと前記置換差分係数化データとをまとめて伝送する
     請求項1に記載の画像処理装置。
  5.  前記伝送部は、前記置換係数データから前記置換差分係数化データの順に伝送する
     請求項4に記載の画像処理装置。
  6.  前記量子化部は、前記量子化行列又は前記アップコンバート量子化行列を用いて、前記画像を量子化する
     請求項1に記載の画像処理装置。
  7.  符号化処理する際の処理単位であるコーディングユニットと変換処理をする際の処理単位であるトランスフォームユニットとが階層構造を有し、
     前記量子化部により生成された量子化データを符号化する符号化部を更に備える
     請求項1に記載の画像処理装置。
  8.  伝送の際に許容される最大サイズである伝送サイズ以下に制限された量子化行列を逆量子化する際の処理単位であるブロックサイズと同じサイズにアップコンバートしたアップコンバート量子化行列の先頭に位置する係数を置き換える際に用いる置換係数と前記量子化行列の先頭に位置する係数との差分である置換差分係数を設定し、
     画像を量子化して、量子化データを生成し、
     生成された量子化データを符号化した符号化データと、前記置換係数を符号化した置換係数データと、設定された置換差分係数を符号化した置換差分係数化データとを伝送する
     画像処理方法。
PCT/JP2013/055541 2012-02-29 2013-02-28 画像処理装置および方法 WO2013129616A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201911321389.9A CN110913224B (zh) 2012-02-29 2013-02-28 图像处理装置和方法
US14/375,357 US9686541B2 (en) 2012-02-29 2013-02-28 Image processing device and method
CN201380010481.8A CN104126304B (zh) 2012-02-29 2013-02-28 图像处理装置和方法
JP2014502388A JP5904267B2 (ja) 2012-02-29 2013-02-28 画像処理装置および方法、記録媒体、並びに、プログラム
US15/480,091 US9955164B2 (en) 2012-02-29 2017-04-05 Image processing device and method
US15/830,890 US10225553B2 (en) 2012-02-29 2017-12-04 Image processing device and method
US15/831,933 US10264258B2 (en) 2012-02-29 2017-12-05 Image processing device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012044009 2012-02-29
JP2012-044009 2012-02-29

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/375,357 A-371-Of-International US9686541B2 (en) 2012-02-29 2013-02-28 Image processing device and method
US15/480,091 Continuation US9955164B2 (en) 2012-02-29 2017-04-05 Image processing device and method

Publications (1)

Publication Number Publication Date
WO2013129616A1 true WO2013129616A1 (ja) 2013-09-06

Family

ID=49082403

Family Applications (4)

Application Number Title Priority Date Filing Date
PCT/JP2013/054126 WO2013129203A1 (ja) 2012-02-29 2013-02-20 画像処理装置および方法
PCT/JP2013/055543 WO2013129618A1 (ja) 2012-02-29 2013-02-28 画像処理装置および方法
PCT/JP2013/055541 WO2013129616A1 (ja) 2012-02-29 2013-02-28 画像処理装置および方法
PCT/JP2013/055542 WO2013129617A1 (ja) 2012-02-29 2013-02-28 画像処理装置および方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/JP2013/054126 WO2013129203A1 (ja) 2012-02-29 2013-02-20 画像処理装置および方法
PCT/JP2013/055543 WO2013129618A1 (ja) 2012-02-29 2013-02-28 画像処理装置および方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/055542 WO2013129617A1 (ja) 2012-02-29 2013-02-28 画像処理装置および方法

Country Status (21)

Country Link
US (13) US9838682B2 (ja)
EP (9) EP3432584B1 (ja)
JP (14) JP5904266B2 (ja)
KR (13) KR102154967B1 (ja)
CN (12) CN107277516B (ja)
AR (4) AR090124A1 (ja)
AU (1) AU2013227608B2 (ja)
BR (1) BR112014020801B1 (ja)
CA (2) CA3041408C (ja)
DK (4) DK3300370T3 (ja)
ES (1) ES2725674T3 (ja)
HK (1) HK1243572A1 (ja)
HU (3) HUE056281T2 (ja)
IN (1) IN2015DN00926A (ja)
MX (4) MX339576B (ja)
MY (6) MY190756A (ja)
PL (2) PL3300370T3 (ja)
RU (4) RU2582057C2 (ja)
TW (4) TWI612797B (ja)
WO (4) WO2013129203A1 (ja)
ZA (1) ZA201405569B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9648316B2 (en) 2012-02-29 2017-05-09 Sony Corporation Image processing device and method

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112013019937B1 (pt) 2011-02-10 2022-05-03 Velos Media International Limited Dispositivo e método de processamento de imagem
BR122020017515B1 (pt) 2012-01-20 2022-11-22 Electronics And Telecommunications Research Institute Método de decodificação de vídeo
JP6287035B2 (ja) * 2013-10-11 2018-03-07 ソニー株式会社 復号装置および復号方法
GB2520002B (en) * 2013-11-04 2018-04-25 British Broadcasting Corp An improved compression algorithm for video compression codecs
WO2016044842A1 (en) * 2014-09-19 2016-03-24 Futurewei Technologies, Inc. Method and apparatus for non-uniform mapping for quantization matrix coefficients between different sizes of matrices
US10302463B2 (en) * 2015-11-19 2019-05-28 Corning Incorporated Distributed fiber sensors and systems employing multicore optical fibers
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
GB2598255B (en) * 2016-02-17 2022-07-27 V Nova Int Ltd Physical adapter, signal processing equipment, methods and computer programs
EP3481063A1 (en) * 2016-07-04 2019-05-08 Sony Corporation Image processing device and method
EP3510775A4 (en) * 2016-09-13 2020-03-04 MediaTek Inc. METHOD FOR SEVERAL QUANTIFICATION MATRIX SETS FOR VIDEO CODING
US10567768B2 (en) * 2017-04-14 2020-02-18 Apple Inc. Techniques for calculation of quantization matrices in video coding
US11558615B2 (en) * 2018-04-16 2023-01-17 Interdigital Vc Holdings, Inc. Quantization parameter prediction for video encoding and decoding
CN109031440B (zh) * 2018-06-04 2020-02-21 南京航空航天大学 一种基于深度学习的伽马放射性成像方法
JP2020098984A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
JP2020098986A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
CN109714132B (zh) * 2019-01-23 2021-04-20 中国电子科技集团公司第二十八研究所 一种用于复杂电磁环境下的多链路抗干扰实时传输方法
EP4231641A1 (en) * 2019-03-10 2023-08-23 HFI Innovation Inc. Mehtod and apparatus of the quantization matrix computation and representation for video coding
CN113994689A (zh) * 2019-03-20 2022-01-28 威诺瓦国际有限公司 信号增强编码中的残差滤波
AU2020256658A1 (en) 2019-04-12 2021-10-28 Beijing Bytedance Network Technology Co., Ltd. Most probable mode list construction for matrix-based intra prediction
CN117499656A (zh) 2019-04-16 2024-02-02 北京字节跳动网络技术有限公司 帧内编解码模式下的矩阵推导
WO2020216302A1 (en) * 2019-04-23 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Intra Prediction and Residual Coding
CN117097912A (zh) 2019-05-01 2023-11-21 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文编码
KR20220002318A (ko) 2019-05-01 2022-01-06 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 필터링을 이용한 행렬 기반 인트라 예측
WO2020231228A1 (ko) * 2019-05-15 2020-11-19 현대자동차주식회사 영상 복호화 장치에서 이용하는 역양자화장치 및 방법
JP2022533190A (ja) 2019-05-22 2022-07-21 北京字節跳動網絡技術有限公司 アップサンプリングを使用した行列ベースのイントラ予測
CN114051735A (zh) 2019-05-31 2022-02-15 北京字节跳动网络技术有限公司 基于矩阵的帧内预测中的一步下采样过程
CN117768652A (zh) 2019-06-05 2024-03-26 北京字节跳动网络技术有限公司 视频处理方法、装置、介质、以及存储比特流的方法
WO2020251279A1 (ko) * 2019-06-11 2020-12-17 엘지전자 주식회사 스케일링 리스트 데이터의 시그널링 기반 비디오 또는 영상 코딩
KR20210149867A (ko) * 2019-06-11 2021-12-09 엘지전자 주식회사 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩
WO2020251275A1 (ko) * 2019-06-11 2020-12-17 엘지전자 주식회사 스케일링 리스트 기반 비디오 또는 영상 코딩
GB2624122A (en) * 2019-07-05 2024-05-08 V Nova Int Ltd Quantization of residuals in video coding
CN110334316A (zh) * 2019-07-08 2019-10-15 张军 一种多路数据分块浮点量化处理器原型
EP4000265A4 (en) 2019-08-20 2022-10-26 Beijing Bytedance Network Technology Co., Ltd. USING DEFAULT AND CUSTOM SCALING MATRICES
WO2021060846A1 (ko) * 2019-09-23 2021-04-01 엘지전자 주식회사 양자화 매트릭스를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
US11206395B2 (en) * 2019-09-24 2021-12-21 Mediatek Inc. Signaling quantization matrix
KR20220082847A (ko) 2019-10-28 2022-06-17 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 색상 성분에 기초한 신택스 시그널링 및 파싱
US11954821B1 (en) 2022-10-27 2024-04-09 Xerox Corporation Altering pixels to scale images

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2753091B2 (ja) * 1990-01-09 1998-05-18 株式会社リコー 画像データ伸張回路
KR100287624B1 (ko) * 1992-09-28 2001-04-16 야스카와 히데아키 화상데이타의압축,해제방법및그장치
US6865291B1 (en) * 1996-06-24 2005-03-08 Andrew Michael Zador Method apparatus and system for compressing data that wavelet decomposes by color plane and then divides by magnitude range non-dc terms between a scalar quantizer and a vector quantizer
US8625665B2 (en) * 1996-09-20 2014-01-07 At&T Intellectual Property Ii, L.P. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
US6125201A (en) * 1997-06-25 2000-09-26 Andrew Michael Zador Method, apparatus and system for compressing data
JP2900927B2 (ja) * 1997-10-30 1999-06-02 日本ビクター株式会社 符号化方法及び符号化装置
FI974244A (fi) * 1997-11-14 1999-05-15 Nokia Mobile Phones Ltd Kuvan kompressointimenetelmä
KR100281967B1 (ko) * 1998-08-31 2001-02-15 전주범 공간 상관성을 이용한 영상 부호화 장치 및 그 방법
US6993076B1 (en) * 1999-05-11 2006-01-31 Thomson Licensing S.A. Apparatus and method for deriving an enhanced decoded reduced-resolution video signal from a coded high-definition video signal
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
JP2004147095A (ja) * 2002-10-24 2004-05-20 Canon Inc 復号方法
US7206355B2 (en) * 2002-12-02 2007-04-17 Nortel Networks Limited Digitally convertible radio
KR100584552B1 (ko) * 2003-01-14 2006-05-30 삼성전자주식회사 동영상 부호화 및 복호화 방법과 그 장치
US8081678B2 (en) * 2003-02-21 2011-12-20 Panasonic Corporation Picture coding method and picture decoding method
US7233703B2 (en) * 2003-03-25 2007-06-19 Sharp Laboratories Of America, Inc. Computation-reduced IDCT method for video coding
US20050002337A1 (en) * 2003-07-01 2005-01-06 Nokia Corporation Reducing effects caused by transmission channel errors during a streaming session
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
WO2005076613A1 (en) * 2004-01-30 2005-08-18 Matsushita Electric Industrial Co., Ltd Picture coding and decoding method, apparatus, and program thereof
JP4679524B2 (ja) * 2004-01-30 2011-04-27 パナソニック株式会社 動画像復号化方法、動画像復号化装置、プログラムおよび記録媒体
US7460596B2 (en) * 2004-04-29 2008-12-02 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
CN100571389C (zh) * 2004-06-29 2009-12-16 奥林巴斯株式会社 用于图像编码/解码和扩展图像压缩解压缩的方法和设备
DE102004059993B4 (de) * 2004-10-15 2006-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium
EP1675402A1 (en) * 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
JP2007140200A (ja) * 2005-11-18 2007-06-07 Yamaha Corp 語学学習装置およびプログラム
CN101361370B (zh) * 2005-11-30 2010-12-01 株式会社东芝 图像编码/图像解码方法以及图像编码/图像解码装置
KR100763205B1 (ko) * 2006-01-12 2007-10-04 삼성전자주식회사 모션 역변환을 사용하여 모션 예측을 수행하는 방법 및장치
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
RU2419855C2 (ru) * 2006-06-26 2011-05-27 Квэлкомм Инкорпорейтед Снижение ошибок в ходе вычисления обратного дискретного косинусного преобразования
WO2008007760A1 (fr) 2006-07-13 2008-01-17 Nec Corporation Dispositif de codage et de décodage, procédé de codage et procédé de décodage
JP4274234B2 (ja) * 2006-12-04 2009-06-03 ソニー株式会社 圧縮データ量制御方法及び画像データ圧縮装置
CN100520732C (zh) * 2006-12-26 2009-07-29 中国电信股份有限公司 性能测试脚本生成方法
JPWO2008120577A1 (ja) * 2007-03-29 2010-07-15 株式会社東芝 画像符号化及び復号化の方法及び装置
RU2009135396A (ru) * 2007-04-16 2011-04-10 Кабусики Кайся Тосиба (Jp) Способ и устройство кодирования и декодирования видеосигнала
US8213498B2 (en) * 2007-05-31 2012-07-03 Qualcomm Incorporated Bitrate reduction techniques for image transcoding
AU2008229753A1 (en) 2007-10-11 2009-04-30 Aristocrat Technologies Australia Pty Limited A gaming system and a method of gaming
KR101365441B1 (ko) * 2007-10-11 2014-02-19 삼성전자주식회사 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법
DE102007053038A1 (de) * 2007-11-07 2009-05-14 Robert Bosch Gmbh Ansteuerschaltung
KR101375663B1 (ko) * 2007-12-06 2014-04-03 삼성전자주식회사 영상을 계층적으로 부호화/복호화하는 방법 및 장치
KR101426272B1 (ko) * 2008-03-10 2014-08-07 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
US8238675B2 (en) * 2008-03-24 2012-08-07 Microsoft Corporation Spectral information recovery for compressed image restoration with nonlinear partial differential equation regularization
WO2009157581A1 (ja) * 2008-06-27 2009-12-30 ソニー株式会社 画像処理装置及び画像処理方法
JP5472105B2 (ja) * 2008-06-27 2014-04-16 ソニー株式会社 画像処理装置及び画像処理方法
US8325796B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
CN101771868B (zh) * 2008-12-31 2016-03-02 华为技术有限公司 对图像的量化处理方法及装置
TW201028018A (en) 2009-01-07 2010-07-16 Ind Tech Res Inst Encoder, decoder, encoding method and decoding method
KR101480412B1 (ko) * 2009-01-22 2015-01-09 삼성전자주식회사 영상의 변환 방법 및 장치, 역변환 방법 및 장치
FR2944936A1 (fr) * 2009-04-23 2010-10-29 Thomson Licensing Procedes de codage et de decodage d'un bloc de donnees images, dispositifs de codage et de decodage implementant lesdits procedes
JP2010288166A (ja) * 2009-06-15 2010-12-24 Panasonic Corp 動画像符号化装置、放送波記録装置及び、プログラム
JP2011029956A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置および画像符号化方法
JP5233897B2 (ja) * 2009-07-31 2013-07-10 ソニー株式会社 画像処理装置および方法
KR101675116B1 (ko) * 2009-08-06 2016-11-10 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20110069740A (ko) * 2009-12-17 2011-06-23 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
US8588536B2 (en) * 2010-02-22 2013-11-19 Texas Instruments Incorporated Guaranteed-rate tiled image data compression
JP5213896B2 (ja) * 2010-03-03 2013-06-19 日本電信電話株式会社 画像処理方法及び画像処理装置及びプログラム
EP2375745A1 (en) * 2010-04-12 2011-10-12 Panasonic Corporation Efficient storing of picture representation using adaptive non-uniform quantizer
US20130068304A1 (en) * 2010-06-08 2013-03-21 Dic Corporation Sealing material, solar cell module, and light-emitting diode
JP2011259205A (ja) * 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
US9350997B2 (en) * 2010-09-28 2016-05-24 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US9167252B2 (en) * 2010-12-01 2015-10-20 Texas Instruments Incorporated Quantization matrix compression in video coding
CN101984669A (zh) * 2010-12-10 2011-03-09 河海大学 一种帧层次自适应维纳插值滤波器的迭代方法
BR112013019937B1 (pt) 2011-02-10 2022-05-03 Velos Media International Limited Dispositivo e método de processamento de imagem
KR20120098500A (ko) * 2011-02-25 2012-09-05 삼성전자주식회사 영상의 변환 및 역변환 방법, 및 이를 이용한 영상의 부호화 및 복호화 장치
CN102281075B (zh) * 2011-03-21 2013-03-06 中国人民解放军信息工程大学 孔径为4的六边形格网层次编码、运算与索引方法
CN103535037B (zh) * 2011-05-20 2017-06-09 索尼公司 图像处理装置和图像处理方法
US9143802B2 (en) * 2011-10-31 2015-09-22 Qualcomm Incorporated Fragmented parameter set for video coding
US10277915B2 (en) * 2011-11-07 2019-04-30 Qualcomm Incorporated Signaling quantization matrices for video coding
JP2013129616A (ja) 2011-12-21 2013-07-04 Shikoku Chem Corp 臭素化剤及びその利用
BR122020017515B1 (pt) * 2012-01-20 2022-11-22 Electronics And Telecommunications Research Institute Método de decodificação de vídeo
AU2013227608B2 (en) 2012-02-29 2016-07-21 Sony Corporation Image processing device and method
WO2013154028A1 (ja) * 2012-04-13 2013-10-17 ソニー株式会社 画像処理装置および方法
JP5559372B2 (ja) 2013-02-01 2014-07-23 キヤノン株式会社 画像形成装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS ET AL.: "High Efficiency Video Coding (HEVC) text specification draft 6", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 7TH MEETING, 10 February 2012 (2012-02-10), GENEVA, CH *
JUNICHI TANAKA ET AL.: "Quantization Matrix for HEVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, 16 March 2011 (2011-03-16), GENEVA, CH *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9648316B2 (en) 2012-02-29 2017-05-09 Sony Corporation Image processing device and method
US9813714B2 (en) 2012-02-29 2017-11-07 Sony Corporation Image processing device and method
US9838682B2 (en) 2012-02-29 2017-12-05 Sony Corporation Image processing device and method with a scalable quantization matrix
US9967566B2 (en) 2012-02-29 2018-05-08 Sony Corporation Image processing device and method with a scalable quantization matrix
US10277898B2 (en) 2012-02-29 2019-04-30 Sony Corporation Image processing device and method for improving coding efficiency of quantization matrices
US10349053B2 (en) 2012-02-29 2019-07-09 Sony Corporation Image processing device and method with a scalable quantization matrix
US10404985B2 (en) 2012-02-29 2019-09-03 Sony Corporation Image processing device and method for improving coding efficiency of quantization matrices
US10574990B2 (en) 2012-02-29 2020-02-25 Sony Corporation Image processing device and method with a scalable quantization matrix
US11539954B2 (en) 2012-02-29 2022-12-27 Sony Corporation Image processing device and method with a scalable quantization matrix

Also Published As

Publication number Publication date
US20170214919A1 (en) 2017-07-27
US9967566B2 (en) 2018-05-08
US10264258B2 (en) 2019-04-16
JP5904266B2 (ja) 2016-04-13
KR20200013789A (ko) 2020-02-07
EP3432583A1 (en) 2019-01-23
US9955164B2 (en) 2018-04-24
CN110913224A (zh) 2020-03-24
EP3709652A1 (en) 2020-09-16
CN110913224B (zh) 2022-05-03
KR102153271B1 (ko) 2020-09-07
CN109803149B (zh) 2021-10-01
KR20200008018A (ko) 2020-01-22
MX2021015792A (es) 2022-06-14
BR112014020801B1 (pt) 2018-09-25
JP6075487B2 (ja) 2017-02-08
AU2013227608A1 (en) 2014-08-21
JP5904267B2 (ja) 2016-04-13
EP3432582A1 (en) 2019-01-23
CA2862282C (en) 2021-03-30
KR102154964B1 (ko) 2020-09-10
CN107592536B (zh) 2020-02-11
TWI568246B (zh) 2017-01-21
JP2018110430A (ja) 2018-07-12
EP3282708A1 (en) 2018-02-14
EP3432584B1 (en) 2020-05-13
CN104170391A (zh) 2014-11-26
CN109379589B (zh) 2021-06-15
CN109803149A (zh) 2019-05-24
US20170142413A1 (en) 2017-05-18
HUE056281T2 (hu) 2022-02-28
HUE043260T2 (hu) 2019-08-28
CN107277516A (zh) 2017-10-20
EP2822275B1 (en) 2018-09-12
MX2021015794A (es) 2022-06-14
JP6299890B2 (ja) 2018-03-28
PL3432584T3 (pl) 2020-09-07
US20150023412A1 (en) 2015-01-22
US20150010075A1 (en) 2015-01-08
EP3432583B1 (en) 2020-04-01
CA3041408C (en) 2021-06-08
JP6075486B2 (ja) 2017-02-08
RU2718415C2 (ru) 2020-04-02
JP2016131384A (ja) 2016-07-21
JP2017085640A (ja) 2017-05-18
KR20200008662A (ko) 2020-01-28
WO2013129203A1 (ja) 2013-09-06
RU2597509C2 (ru) 2016-09-10
US20180098071A1 (en) 2018-04-05
JP6075485B2 (ja) 2017-02-08
MX339576B (es) 2016-05-31
EP3300370A1 (en) 2018-03-28
US10225553B2 (en) 2019-03-05
JP2017085639A (ja) 2017-05-18
RU2016120989A (ru) 2017-11-28
RU2016120989A3 (ja) 2019-10-23
EP2822275A1 (en) 2015-01-07
AR090124A1 (es) 2014-10-22
CN107743240B (zh) 2020-03-17
US9686541B2 (en) 2017-06-20
US10349053B2 (en) 2019-07-09
KR102153269B1 (ko) 2020-09-07
CN104137552A (zh) 2014-11-05
JP5904269B2 (ja) 2016-04-13
CN104126304A (zh) 2014-10-29
TWI612797B (zh) 2018-01-21
KR102074600B1 (ko) 2020-02-06
CN104137552B (zh) 2019-01-11
CA3041408A1 (en) 2013-09-06
MY172126A (en) 2019-11-14
TW201519638A (zh) 2015-05-16
TW201336315A (zh) 2013-09-01
KR102154966B1 (ko) 2020-09-10
US10404985B2 (en) 2019-09-03
EP3282708B1 (en) 2019-04-03
KR20200014435A (ko) 2020-02-10
CN113286155A (zh) 2021-08-20
EP3300370B1 (en) 2019-04-03
US20180020219A1 (en) 2018-01-18
RU2020107177A (ru) 2021-08-17
JP2016105658A (ja) 2016-06-09
KR20200009125A (ko) 2020-01-29
KR20200008013A (ko) 2020-01-22
MY190758A (en) 2022-05-12
EP3694214A1 (en) 2020-08-12
KR102154968B1 (ko) 2020-09-10
HK1243572A1 (zh) 2018-07-13
US20190174129A1 (en) 2019-06-06
CN107277516B (zh) 2020-02-18
CN109379589A (zh) 2019-02-22
JP2020036372A (ja) 2020-03-05
BR112014020801A2 (ja) 2017-06-20
JP2018110431A (ja) 2018-07-12
JPWO2013129616A1 (ja) 2015-07-30
KR102154965B1 (ko) 2020-09-10
KR102074602B1 (ko) 2020-02-06
CN113286155B (zh) 2022-12-13
KR102154967B1 (ko) 2020-09-10
MY195141A (en) 2023-01-11
WO2013129618A1 (ja) 2013-09-06
US20180103254A1 (en) 2018-04-12
JP2019071653A (ja) 2019-05-09
TWI612798B (zh) 2018-01-21
EP3694214B1 (en) 2021-08-25
MY195140A (en) 2023-01-11
KR20180017209A (ko) 2018-02-20
MY176387A (en) 2020-08-05
EP3930334A1 (en) 2021-12-29
JPWO2013129618A1 (ja) 2015-07-30
US10277898B2 (en) 2019-04-30
CN104126306B (zh) 2017-09-19
RU2582057C2 (ru) 2016-04-20
DK3300370T3 (da) 2019-05-20
RU2014134533A (ru) 2016-03-20
KR102074601B1 (ko) 2020-02-06
JP6635184B2 (ja) 2020-01-22
JP2016131382A (ja) 2016-07-21
JP5904268B2 (ja) 2016-04-13
KR102090344B1 (ko) 2020-03-17
JPWO2013129617A1 (ja) 2015-07-30
KR20200103875A (ko) 2020-09-02
MY190756A (en) 2022-05-12
TW201715884A (zh) 2017-05-01
AR112716A2 (es) 2019-12-04
WO2013129617A1 (ja) 2013-09-06
CN104126304B (zh) 2017-11-21
KR102248057B1 (ko) 2021-05-04
CN107743240A (zh) 2018-02-27
US20140369408A1 (en) 2014-12-18
TWI519133B (zh) 2016-01-21
JP6465227B2 (ja) 2019-02-06
JPWO2013129203A1 (ja) 2015-07-30
US11539954B2 (en) 2022-12-27
TW201715885A (zh) 2017-05-01
KR102153270B1 (ko) 2020-09-07
DK3694214T3 (da) 2021-09-27
US20140369407A1 (en) 2014-12-18
US10574990B2 (en) 2020-02-25
KR20180017210A (ko) 2018-02-20
JP2016131383A (ja) 2016-07-21
EP3709652B1 (en) 2021-09-22
CN104126306A (zh) 2014-10-29
RU2015103531A (ru) 2015-06-20
US9648316B2 (en) 2017-05-09
EP3432584A1 (en) 2019-01-23
AR112641A2 (es) 2019-11-20
EP3432582B1 (en) 2020-04-01
CN107592536A (zh) 2018-01-16
MX352223B (es) 2017-11-15
KR20200010571A (ko) 2020-01-30
DK3432584T3 (da) 2020-06-15
JP6465226B2 (ja) 2019-02-06
DK3282708T3 (da) 2019-05-20
ES2725674T3 (es) 2019-09-26
KR20180015756A (ko) 2018-02-13
MX2014010113A (es) 2014-10-14
US20200045314A1 (en) 2020-02-06
CN104170391B (zh) 2018-06-29
HUE049148T2 (hu) 2020-09-28
US20180176566A1 (en) 2018-06-21
BR112014020801A8 (pt) 2018-02-14
EP2822275A4 (en) 2015-12-02
IN2015DN00926A (ja) 2015-07-10
KR20140143138A (ko) 2014-12-15
US20190260993A1 (en) 2019-08-22
JP6299889B2 (ja) 2018-03-28
ZA201405569B (en) 2014-11-26
CN107257491A (zh) 2017-10-17
AU2013227608B2 (en) 2016-07-21
AR112588A2 (es) 2019-11-13
CN107257491B (zh) 2019-10-18
KR20200008015A (ko) 2020-01-22
PL3300370T3 (pl) 2019-07-31
CA2862282A1 (en) 2013-09-06
JP6075484B2 (ja) 2017-02-08
US9838682B2 (en) 2017-12-05
US9813714B2 (en) 2017-11-07

Similar Documents

Publication Publication Date Title
JP6465226B2 (ja) 画像処理装置および方法、記録媒体、並びに、プログラム
AU2015258162B2 (en) Image Processing Device and Method

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014502388

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14375357

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13755721

Country of ref document: EP

Kind code of ref document: A1