Sign In to Follow Application
View All Documents & Correspondence

Image Processing Device And Method

Abstract: The present disclosure pertains to an image processing device and method that enable the inhibition of an increase in the amount of coding for a scaling list. This image processing device sets the coefficient positioned at the head of a quantization matrix by adding to the coefficient positioned at the head of the quantization matrix a replacement difference coefficient which is the difference between the coefficient positioned at the head of the quantization matrix and the replacement coefficient to be used when replacing the coefficient positioned at the head of the quantization matrix. The quantization matrix which has been set is upconverted and an upconverted quantization matrix in which the coefficient positioned at the head of the upconverted quantization matrix has been replaced by the replacement coefficient is used for the inverse quantization of the quantized data. The present disclosure can be applied to image processing devices.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
21 August 2014
Publication Number
19/2016
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
remfry-sagar@remfry.com
Parent Application
Patent Number
Legal Status
Grant Date
2022-08-03
Renewal Date

Applicants

SONY CORPORATION
1 7 1 Konan Minato ku Tokyo 1080075

Inventors

1. TANAKA Junichi
c/o SONY CORPORATION 1 7 1 Konan Minato ku Tokyo 1080075
2. MORIGAMI Yoshitaka
c/o SONY CORPORATION 1 7 1 Konan Minato ku Tokyo 1080075

Specification

DESCRIPTION Title of Invention: IMAGE PROCESSING DEVICE AND METHOD Technical Field
[0001]
The present disclosure relates to an imaqe processinq device and method. Background Art
[0002]
In H.264/AVC (Advanced Video Codinq) , v/hich is one of standard specifications of video coding schemes, the profiles of Hiqh Profile or hiqher allov/ quantization of imaqe data v/ith quantization step sizes that differ from one component of orthoqonal transform coefficient to another. The quantization step size for each component of orthogonal transform coefficient may be set based on a reference step value and a quantization matrix (also referred to as a scaling list) defined by a size equivalent to the unit of an orthoqonal transform.
[0003]
A specified value of a quantization matrix is prepared for each prediction mode (intra-prediction mode, inter-prediction mode) and for each transform unit size (4x4, 8x8) Furthermore, users are allov/ed to specify a unique quantization matrix different from the specified values in a sequence parameter set or picture parameter set. In a case

„ 2 -
SP344993
v/here no quantization matrices are used, quantization step sizes used for quantization have an equal value for all the components.
[0004]
In HEVC (High Efficiency Video Coding), v/hich is being standardized as a next-generation video coding scheme and v/hich is a successor to H.264/AVC, the concept of coding units (CUs) corresponding to traditional macroblocks has been introduced (see, for example, NPL 1) . The range of sizes of coding units is specified by a set of values which are pov/ers of 2, called the largest coding unit (LCU) and the smallest coding unit (SCU), in a sequence parameter set. Furthermore, the specific coding unit size in the range specified by the LCU and the SCU is specified using split_flag.
[0005]
In HEVC, one coding unit may be divided into one or more orthogonal transform units, or one or more transform units (TUs) . An available transform unit size is any of 4x4, 8x8, 16x16, and 32x32.
[0006]
Meanv/hile, the DC component (also referred to as the direct current component) of a quantization matrix {scaling list) is transmitted as data different from the AC components (also referred to as the alternating current

- 3 -
SP344993
components) thereof for purposes such as the reduction in the amount of coding during transmission. Specifically, the DC component of a scaling list is transmitted as a DC coefficient (also referred to as a direct current coefficient) different from AC coefficients (also referred to as alternating current coefficients) , v/hich are the AC components of the scaling list.
[0007]
In order to reduce the amount of coding of the DC coefficient during transmission, it has been suggested that a constant (for example, 8) is subtracted from the value of the DC coefficient and the resulting value
(scaling_list_dc_coef_minus8) is encoded using signed exponential Golomb coding {see, for example, NPL 1). Citation List Non Patent Literature
[0008]
NPL 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/WG11 7th Meeting: Geneva, CH, 21-30 November, 2011 Summary of Invention

SP344993
Technical Problem
[0009]
Hov?ever, there is a concern that the method described above will not provide sufficient compression efficiency although it facilitates processes.
[0010]
The present disclosure has been made in viev; of the situation described above, and it is an object of the present disclosure to enable suppression of an increase in the amount of coding of a scaling list. Solution to Problem
[0011]
An aspect of the present disclosure provides an image processing device including a setting unit configured to set a coefficient located at the beginning of a quantization matrix v/hose size is limited to not greater than a transmission size that is a maximum size allov/ed in transmission, by adding a replacement difference coefficient that is a difference between a replacement coefficient and the coefficient located at the beginning of the quantization matrix to the coefficient located at the beginning of the quantization matrix, the replacement coefficient being used to replace a coefficient located at the beginning of an up-converted quantization matrix v/hich is obtained by up-converting the quantization matrix to the same size as a

- 5 -
SP344993
block size that is a unit of processing in v/hich deguantization is performed; an up-conversion unit configured to up-convert the guantization matrix set by the setting unit to set the up-converted guantization matrix; and a deguantization unit configured to deguantize guantized data obtained by decoding encoded data, using an up-converted guantization matrix in v/hich a coefficient located at the beginning of the up-converted guantization matrix set by the up-conversion unit has been replaced with the replacement coefficient. [0012]
The setting unit can set the replacement coefficient by adding a difference between the replacement coefficient and an initial value set for the guantization matrix to the initial value. [0013]
The setting unit can set coefficients of the quantization matrix using the replacement difference coefficient and difference coefficients that are differences betv/een the coefficients of the guantization matrix. [0014]
The replacement difference coefficient and the difference coefficients that are the differences between the coefficients of the guantization matrix can be collectively transmitted. The setting unit can set the coefficients of

SP344993
the quantization matrix using the collectively transmitted replacement difference coefficient and difference coefficients. [0015]
The replacement difference coefficient and the difference coefficients that are the differences between the coefficients of the quantization matrix can have been encoded. The setting unit can decode the encoded replacement difference coefficient and the encoded difference coefficients. [0016]
The up-conversion unit can up-convert the quantization matrix whose size is limited to not greater than the transmission size, by performing a nearest neighbor interpolation process on matrix elements of the quantization matrix. [0017]
The transmission size can be an 8x8 size. The up-conversion unit can up-convert a quantization matrix having an 8x8 size to a quantization matrix having a 16x16 size, by performing the nearest neighbor interpolation process on matrix elements of the quantization matrix having the 8x8 size . [0018]
The up-conversion unit can up-convert a quantization

- 7 -
SP344993
matrix having an 8x8 size to a quantization matrix having a 32x32 size, by performing the nearest neighbor interpolation process on matrix elements of the quantization matrix having the 8x8 size.
[0019]
A coding unit that is a unit of processing in v/hich a decoding process is performed and a transform unit that is a unit of processing in v/hich a transform process is performed can have a layered structure. The image processing device can further include a decoding unit configured to perform a decoding process on the encoded data using a unit having a layered structure to generate the guantized data. The up-conversion unit can up-convert the quantization matrix from the transmission size to a size of a transform unit that is a unit of processing in which dequantization is performed.
[0020]
An aspect of the present disclosure provides an image processing method including setting a coefficient located at the beginning of a quantization matrix v/hose size is limited to not greater than a transmission size that is a maximum size allov/ed in transmission, by adding a replacement difference coefficient that is a difference betv/een a replacement coefficient and the coefficient located at the beginning of the quantization matrix to the coefficient located at the beginning of the quantization matrix, the

SP344993
replacement coefficient being used to replace a coefficient located at the beginning of an up-converted quantization matrix v/hich is obtained by up-converting the quantization matrix to the same size as a block size that is a unit of processing in v/hich dequantization is performed; up-converting the set quantization matrix to set the up-converted quantization matrix; and dequantizing quantized data obtained by decoding encoded data, using an up-converted quantization matrix in v^hich a coefficient located at the beginning of the set up-converted quantization matrix has been replaced v;ith the replacement coefficient. [0021]
Another aspect of the present disclosure provides an image processing device including a setting unit configured to set a replacement difference coefficient that is a difference betv/een a replacement coefficient and a coefficient located at the beginning of a quantization matrix vjhose size is limited to not greater than a transmission size that is a maximum size allovjed in transmission, the replacement coefficient being used to replace a coefficient located at the beginning of an up-converted quantization matrix vj^hich is obtained by up-converting the quantization matrix to the same size as a block size that is a unit of processing in vjhich dequantization is performed; a quantization unit configured

" 9 "
SP344993
to quantize an image to generate quantized data; and a transmission unit configured to transmit encoded data obtained by encoding the quantized data generated by the quantization unit/ replacement coefficient data obtained by encoding the replacement coefficient/ and replacement difference coefficient data obtained by encoding the replacement difference coefficient set by the setting unit. [0022]
The setting unit can set a difference betv/een the replacement coefficient and an initial value set for the quantization matrix. [0023]
The setting unit can set difference coefficients that are differences between coefficients of the -quantization matrix. The transmission unit can transmit difference coefficient data obtained by encoding the difference coefficients set by the setting unit. [0024]
The transmission unit can collectively transmit the replacement coefficient data and the replacement difference coefficient data. [0025]
The transmission unit can transmit the replacement coefficient data and the replacement difference coefficient data in order of the replacement coefficient data and the

- 10 -
SP344993
replacement difference coefficient data.
[0026]
The guantization unit can quantize the image using the guantization matrix or the up-converted quantization matrix.
[0027]
A coding unit that is a unit of processing in v/hich an encoding process is performed and a transform unit that is a unit of processing in which a transform process is performed can have a layered structure. The image processing device can further include an encoding unit configured to encode the quantized data generated by the quantization unit.
[0028]
Another aspect of the present disclosure provides an image processing method including setting a replacement difference coefficient that is a difference betv/een a replacement coefficient and a coefficient located at the beginning of a quantization matrix v;hose size is limited to not greater than a transmission size that is a maximum size allowed in transmission, the replacement coefficient being used to replace a coefficient located at the beginning of an up-converted quantization matrix which is obtained by up-converting the quantization matrix to the same size as a block size that is a unit of processing in v/hich dequantization is performed; quantizing an image to generate quantized data; and transmitting encoded data obtained by

- 11 -
SP344993
encoding the generated quantized data, replacement coefficient data obtained by encoding the replacement coefficient, and replacement difference coefficient data obtained by encoding the set replacement difference coefficient. [0029]
Still another aspect of the present disclosure provides an image processing device including a decoding unit configured to decode encoded data to generate quantized data; and a deguantization unit configured to dequantize the guantized data generated by the decoding unit, using a default quantization matrix having the same size as a block size that is a unit of processing in v/hich deguantization is performed, v;hen in a copy mode in v;hich a quantization matrix is copied, quantization matrix reference data identifying a reference destination of the quantization matrix matches quantization matrix identification data identifying the quantization matrix. [0030]
The deguantization unit can dequantize the quantized data by parsing syntax whose semantics is set so that the default guantization matrix is referred to when the guantization matrix reference data matches the quantization matrix identification data. [0031]

- 12 -
SP344993
The dequantization unit can dequantize the quantized data by parsing syntax v/hose semantics is set so that the default quantization matrix is referred to v/hen a difference betv/een the quantization matrix reference data and the quantization matrix identification data is equal to 0. [0032]
Still another aspect of the present disclosure provides an image processing method including decoding encoded data to generate quantized data; and dequantizing the quantized data generated in the decoding, using a default quantization matrix having the same size as a block size that is a unit of processing in v/hich dequantization is performed, v/hen in a copy mode in v/hich a quantization matrix is copied, quantization matrix reference data identifying a reference destination of the quantization matrix matches quantization matrix identification data identifying the quantization matrix. [0033]
Still another aspect of the present disclosure provides an image processing device including an encoding unit configured to encode an image to generate encoded data; and a setting unit configured to set, as syntax of the encoded data generated by the encoding unit, syntax v/hose semantics is set so that a default quantization matrix having the same size as a block size that is a unit of processing in v/hich

- 13 -
SP344993
guantization is performed is referred to v/hen in a copy mode in which a guantization matrix is copied, guantization matrix reference data identifying a reference destination of the quantization matrix matches guantization matrix identification data identifying the guantization matrix. [0034]
Still another aspect of present disclosure provides an image processing method including encoding an image to generate encoded data; and setting, as syntax of the generated encoded data, syntax v;hose semantics is set so that a default guantization matrix having the same size as a block size that is a unit of processing in v/hich quantization is performed is referred to v/hen in a copy mode in which a guantization matrix is copied, guantization matrix reference data identifying a reference destination of the guantization matrix matches guantization matrix identification data identifying the quantization matrix. [0035]
In an aspect of the present disclosure, a coefficient located at the beginning of a guantization matrix v/hose size is limited to not greater than a transmission size that is a maximum size allov/ed in transmission is set by adding a replacement difference coefficient that is a difference betvjeen a replacement coefficient and the coefficient located at the beginning of the guantization matrix to the

- 14 -
SP344993
coefficient located at the beginning of the quantization matrix, the replacement coefficient being used to replace a coefficient located at the beginning of an up-converted quantization matrix v/hich is obtained by up-converting the quantization matrix to the same size as a block size that is a unit of processing in vjhich dequantization is performed; the set quantization matrix is up-converted to set the up-converted quantization matrix; and quantized data obtained by decoding encoded data is dequantized using an up-converted quantization matrix in v/hich a coefficient located at the beginning of the set up-converted quantization matrix has been replaced v/ith the replacement coefficient. [0036]
In another aspect of the present disclosure, a replacement difference coefficient that is a difference betv/een a replacement coefficient and a coefficient located at the beginning of a quantization matrix v/hose size is limited to not greater than a transmission size that is a maximum size allowed in transmission is set, the replacement coefficient being used to replace a coefficient located at the beginning of an up-converted quantization matrix v/hich is obtained by up-converting the quantization matrix to the same size as a block size that is a unit of processing in v/hich dequantization is performed; an image is quantized to generate quantized data; and encoded data obtained by

" 15 -
SP344993
encoding the generated quantized data, replacement coefficient data obtained by encoding the replacement coefficient/ and replacement difference coefficient data obtained by encoding the set replacement difference coefficient are transmitted. [0037]
In still another aspect of the present disclosure, encoded data is decoded to generate quantized data; and the quantized data generated in the decoding is dequantized using a default quantization matrix having the same size as a block size that is a unit of processing in v/hich dequantization is performed, v/hen in a copy mode in v/hich a quantization matrix is copied, quantization matrix reference data identifying a reference destination of the quantization matrix matches quantization matrix identification data identifying the quantization matrix. [0038]
In still another aspect of the present disclosure, an image is encoded to generate encoded data; and syntax whose semantics is set so that a default quantization matrix having the same size as a block size that is a unit of processing in v/hich quantization is performed is referred to when in a copy mode in vzhich a quantization matrix is copied, quantization matrix reference data identifying a reference destination of the quantization matrix matches quantization

- 16 -
SP344993
matrix identification data identifying the quantization matrix is set as syntax of the generated encoded data. Advantageous Effects of Invention [0039]
According to the present disclosure/ it is possible to process an image. In particular^ it is possible to suppress an increase in the amount of coding of a guantization matrix Brief Description of Dravjings [0040]
[Fig. 1] Fig. 1 is a diagram illustrating an example of a scaling list.
[Fig. 2] Fig. 2 is a diagram illustrating an example of up-conversion.
[Fig. 3] Fig. 3 is a diagram illustrating an example of hov7 a scaling list is used in a decoder.
[Fig. 4] Fig. 4 is a diagram illustrating an example of the encoding of a scaling list.
[Fig. 5] Fig. 5 is a diagram illustrating an example of the encoding of a scaling list using the present technology.
[Fig. 6] Fig. 6 is a diagram illustrating an example of exponential Golomb codes.
[Fig. 7] Fig. 7 includes diagrams illustrating an example of the syntax for a scaling list.
[Fig. 8] Fig. 8 is a diagram illustrating an example of the syntax for a default matrix.

- 17 -
SP344993
[Fig. 9] Fig. 9 includes diagrams illustrating examples of the semantics of a default matrix.
[Fig. 10] Fig. 10 is a diagram illustrating an example of the syntax for a scaling list.
[Fig. 11] Fig. 11 is a diagram illustrating an example of the syntax for a scaling list using the present technology.
[Fig. 12] Fig. 12 includes diagrams illustrating an example of the syntax of a scaling list in the related art.
[Fig. 13] Fig. 13 is a diagram illustrating an example of the syntax of a scaling list.
[Fig. 14] Fig. 14 is a block diagram illustrating an example of a main configuration of an image encoding device.
[Fig. 15] Fig. 15 is a block diagram illustrating an example of a main configuration of an orthogonal transform/quantization unit.
[Fig. 16] Fig. 16 is a block diagram illustrating an example of a main configuration of a matrix processing unit.
[Fig. 17] Fig. 17 is a diagram illustrating an example of dovmsampling.
[Fig. 18] Fig. 18 is a diagram illustrating an example of the removal of an overlapping portion.
[Fig. 19] Fig. 19 is a block diagram illustrating an example of a main configuration of a DPCM unit.
[Fig. 20] Fig. 20 is a flowchart illustrating an

- 18 -
SP344993
example of the flov/ of a quantization matrix encoding process.
[Fig. 21] Fig. 21 is a flov/chart illustrating an example of the flow of a DPCM process.
[Fig. 22] Fig. 22 is a block diagram illustrating an example of a main configuration of an image decoding device.
[Fig. 23] Fig. 23 is a block diagram illustrating an example of a main configuration of a dequantization/inverse orthogonal transform unit.
[Fig. 24] Fig. 24 is a block diagram illustrating an example of a main configuration of a matrix generation unit.
[Fig. 25] Fig. 25 is a diagram illustrating an example of a nearest neighbor interpolation process.
[Fig. 26] Fig. 26 is a block diagram illustrating an example of a main configuration of an inverse DPCM unit.
[Fig. 27] Fig. 27 is a flov/chart illustrating an example of the flov/ of a matrix generation process.
[Fig. 28] Fig. 2 8 is a flov/chart illustrating an example of the flow of a residual signal decoding process.
[Fig. 2 9] Fig. 2 9 is a flowchart illustrating an example of the flov/ of an inverse DPCM process.
[Fig. 30] Fig. 30 is a diagram illustrating another example of the syntax of a scaling list.
[Fig. 31] Fig. 31 is a block diagram illustrating another example configuration of the DPCM unit.

- 19 -
SP344993
[Fig. 32] Fig. 32 is a flovzchart illustrating another example of the flov/ of the DPCM process.
[Fig. 33] Fig. 33 is a block diagram illustrating another example configuration of the inverse DPCM unit.
[Fig. 34] Fig. 34 is a flovrchart illustrating another example of the flow of the inverse DPCM process.
[Fig. 35] Fig. 35 is a diagram illustrating still another example of the syntax of a scaling list.
[Fig. 36] Fig. 3 6 is a flov/chart illustrating still another example of the flov/ of the inverse DPCM process .
[Fig. 37] Fig. 37 is a diagram illustrating still another example of the syntax of a scaling list.
[Fig. 38] Fig. 38 is a block diagram illustrating still another example configuration of the DPCM unit.
[Fig. 39] Fig. 39 is a flowchart illustrating still another example of the DPCM process.
[Fig. 40] Fig. 40 is a block diagram illustrating still another example configuration of the inverse DPCM unit.
[Fig. 41] Fig. 41 is a flov;chart illustrating still another example of the flow of the inverse DPCM process.
[ Fig. 42 ] Fig. 42 is a f lovjchart continued from Fig. 41, illustrating still another example of the flov7 of the inverse DPCM process.
[Fig. 43] Fig. 43 includes diagrams illustrating still another example of the syntax of a scaling list.

- 20 -
SP344993
[Fig. 44] Fig. 4 4 includes diagrams illustrating still another example of the syntax of a scaling list.
[Fig. 4 5] Fig. 45 includes diagrams illustrating still another example of the syntax of a scaling list.
[Fig. 46] Fig. 46 is a diagram illustrating an example of a multi-viev; image encoding scheme.
[Fig. 47] Fig. 47 is a diagram illustrating an example of a main configuration of a multi-viev/ image encoding device to v/hich the present technology is applied.
[Fig. 48] Fig. 48 is a diagram illustrating an example of a main configuration of a multi-viev; image decoding device to v/hich the present technology is applied.
[Fig. 49] Fig. 49 is a diagram illustrating an example of a layered image encoding scheme.
[Fig. 50] Fig. 50 is a diagram illustrating an example of a main configuration of a layered image encoding device to v/hich the present technology is applied.
[Fig. 51] Fig. 51 is a diagram illustrating an example of a main configuration of a layered image decoding device to v;hich the present technology is applied.
[Fig. 52] Fig. 52 is a block diagram illustrating an example of a main configuration of a computer.
[Fig. 53] Fig. 53 is a bloclc diagram illustrating an example of a main configuration of a television apparatus.
[Fig. 54] Fig. 54 is a blocJc diagram illustrating an

- 21 -
SP344993
example of a main configuration of a mobile terminal device.
[Fig. 55] Fig. 55 is a block diagram illustrating an example of a main configuration of a recording/reproducing apparatus.
[Fig. 56] Fig. 56 is a block diagram illustrating an example of a main configuration of an imaging apparatus.
[Fig. 57] Fig. 57 is a block diagram illustrating an example of the use of scalable coding.
[Fig. 58] Fig. 58 is a block diagram illustrating another example of the use of scalable coding.
[Fig. 59] Fig. 59 is a block diagram illustrating still another example of the use of scalable coding. Description of Embodiments [0041]
Modes for carrying out the present disclosure (hereinafter referred to as embodiments) v/ill be described hereinafter. In this regards, the description v;ill be made in the following order.
1. First embodiment (exemplary application of present technology)
2. Second embodiment (image encoding device, image decoding device: first method)
3. Third embodiment (image encoding device, image decoding device; second method)
4. Fourth embodiment (image encoding device, image

- 22 -
SP344993
decoding device: third method)
5. Fifth embodiment (image encoding device, image decoding device: fourth method)
6. Sixth embodiment (image encoding device, image decoding device: other methods)
7. Seventh embodiment (multi-viev/ image encoding device, multi-viev/ image decoding device)
8. Eighth embodiment (layered image encoding device, layered image decoding device)
9. Ninth embodiment (computer)

10. Example applications
11. Example applications of scalable coding [0042]
<1. First Embodiment>
In this embodiment, a description v/ill be given of an exemplary application of the present technology, which will be described in detail in the second and follov/ing embodiments thereof. [0043]
<1-1. Exemplary application of present technology>
First, an exemplary example in v/hich the present technology is applicable v/ill be described. The present technology is a technology related to the encoding and decoding of a scaling list used in quantization and dequantization processes performed v/hen image data is

- 23 -
SP344993
encoded and decoded.
[0044]
The encoding and decoding of image data may involve quantization and dequantization of coefficient data. Such quantization and dequantization are performed in units of a block having a predetermined size, and a scaling list {or quantization matrix) having a size corresponding to the block size is used. For example, in HEVC (High Efficiency Video Coding), quantization (or dequantization) is performed with sizes such as 4x4, 8x8, 16x16, and 32x32. In HEVC, quantization matrices having 4x4 and 8x8 sizes may be prepared.
[0045]
Fig. 1 illustrates an example of an 8x8 scaling list. As illustrated in Fig. 1, a scaling list includes a DC coefficient and AC coefficients. The DC coefficient composed of one value is the (0, 0) coefficient of a quantization matrix, and corresponds to the DC coefficient of a discrete cosine transform (DCT). The AC coefficients are coefficients of the quantization matrix other than the
(0, 0) coefficient, and correspond to coefficients of the DCT other than the DC coefficient. Note that, as illustrated in Fig. 1, the AC coefficients are represented by a matrix. That is, the AC coefficients also include the
(0, 0) coefficient (hereinafter also referred to as the AC

- 24 -
SP344993
coefficient {0, 0)), and the (0, 0) coefficient, v/hich is located at the beginning of the guantization matrix, is replaced with the DC coefficient when used for quantization/dequantization. Hence, the DC coefficient is also referred to as a replacement coefficient. In the example illustrated in Fig. 1, AC coefficients form an 8x8 matrix. [0046]
In HEVC, furthermore, an up-converted version (upv/ard conversion) of an 8x8 guantization matrix is used for 16x16 or 32x32 guantization (or deguantization). [0047]
Fig. 2 illustrates an example of the up-conversion of an 8x8 scaling list to a 16x16 scaling list. As illustrated in Fig. 2, a scaling list is up-converted using, for example, a nearest neighbor interpolation process. The details of the nearest neighbor interpolation process v;ill be described belov/ v/ith reference to, for example. Fig. 25. As illustrated in Fig. 2, up-conversion is performed on the AC coefficients of the scaling list. Then, the (0, 0) coefficient among the up-converted AC coefficients is replaced v/ith the DC coefficient. [0048]
Tv/o types of 8x8 scaling lists are prepared, namely, that used for up-conversion to 16x16 ("8x8 for 16x16") and

- 25 -
SP344993
that used for up-conversion to 32x32 ("8x8 for 32x32")-[0049]
The scaling list used for quantization during encoding (using an encoder) is also used for deguantization during decoding (using a decoder). That iS/ the scaling list is transmitted from the encoding side (the encoder} to the decoding side (the decoder). Fig. 3 illustrates an example of the transmission of scaling lists. [0050]
As in the example illustrated in Fig. 3^ the tv;o types of 8x8 scaling lists/ namely^ that used for up-conversion to a 16x16 size and that used for up-conversion to a 32x32 size^ as described above^ are transmitted. Although not illustrated in the drav/ings^ a 4x4 scaling list is also transmitted. [0051]
The AC coefficients of the 8x8 scaling list used for up-conversion to a 16x16 size^ v;hich has been transmitted in the manner described above, are up-converted to the 16x16 size at the decoding side (the decoder) using the nearest neighbor interpolation process described above, and are used for the dequantization of a block having a 16x16 size after the (0^ 0) coefficient is replaced v/ith the DC coefficient. [0052]
Similarly^ the AC coefficients of the 8x8 scaling list

- 26 -
SP344993
used for up-conversion to a 32x32 size, v/hich has been transmitted in the manner described above, are also up-converted to the 32x32 size at the decoding side (the decoder) using the nearest neighbor interpolation process described above, and are used for the dequantization of a block having a 32x32 size after the {0, 0} coefficient is replaced v/ith the DC coefficient.
[0053]
The transmission of scaling lists in the manner described above v/ill increase the amount of coding accordingly. Thus, in order to suppress a reduction in coding efficiency, the scaling lists are encoded using a certain method to reduce the amount of coding of the scaling lists. Fig. 4 illustrates an example of the encoding of a scaling list. Specifically, an 8x8 scaling list is transmitted as follows.
[0054]
In the case of up-conversion of an 8x8 matrix to a 16x16 matrix:
(1) A difference betv;een the (0, 0) coefficient {that is, the AC coefficient {0, 0)) of the 8x8 matrix and a predetermined initial value "8" is taken.
(2) Differences betvjeen coefficients {that is, AC coefficients) (adjacent coefficients in a sequence of

- 27 -
SP344993
coefficients one-dimensionally arranged in scan order) of the 8x8 matrix are taken.
(3) A difference betv/een the (0, 0) coefficient {that is, the DC coefficient) of the 16x16 matrix and a predetermined initial value "8" is taken.
(4) The differences obtained in (1) and (2) and the difference obtained in (3) are transmitted separately. [0055]
In the case of up-conversion of an 8x8 matrix to a 32x32 matrix:
(1) A difference between the {0, 0) coefficient {that is, the AC coefficient (0, 0)) of the 8x8 matrix and a predetermined initial value "8" is taken.
{2) Differences betv/een coefficients {that is, AC coefficients) {adjacent coefficients in a sequence of coefficients one-dimensionally arranged in scan order) of the 8x8 matrix are taken.
(3) A difference between the {0, 0) coefficient (that is, the DC coefficient) of the 32x32 matrix and a predetermined initial value "8" is taken.
(4) The differences obtained in (1) and (2) and the difference obtained in (3) are transmitted separately. [0056]
In the method described above, however, the differences are encoded using signed exponential Golomb coding and are

- 28 -
SP344993
transmitted in (4). As described above, the difference obtained in (1) is the difference between the AC coefficient
(0, 0) and the initial value "8". Thus, there is a concern that the amount of coding may be increased if the value of the AC coefficient {0, 0) is not a value close to the initial value "8".
[0057]
For example, in Fig. 4, the value of the AC coefficient
(0, 0) is "12", and the value "4" is encoded using signed exponential Golomb coding and is transmitted as the difference obtained in (1). That is, 7 bits are required for the transmission of the difference obtained in (1) and coding efficiency may be reduced correspondingly. If the value of the difference obtained in (1) increases, coding efficiency may further be reduced. The same is true for the case of an 8x8 scaling list used for up-conversion to a 16x16 size and an 8x8 scaling list used for up-conversion to a 32x32 size.
[0058]
Meanwhile, the energy of DOT coefficients is generally concentrated in the DC coefficient and neighboring low-order coefficients. Therefore, in general, a quantization matrix also has small values for the DC coefficient and neighboring coefficients. Furthermore, if values that are significantly different are used for individual frequencies, a

- 29 -
SP344993
quantization error may be subjectively noticeable. In order to suppress such visual deterioration in image quality, consecutive values are used for the DC coefficient and neighboring coefficients.
[0059]
The {0, 1) coefficient, {1. 0} coefficient, and (1. 1) coefficient obtained after up-conversion correspond to the AC coefficient (0, 0) before up-conversion. Furthermore, the (0, 0) coefficient obtained after up-conversion corresponds to the DC coefficient.
[0060]
Thus, in scaling lists, the value of the AC coefficient
{0, 0) and the value of the DC coefficient are generally close to each other. For example, MPEG2, AVC, and HEVC default matrices take values having such a relationship. Also in the example illustrated in Fig. 4, the value of the DC coefficient is the same as the value of AC coefficient {0, 0), that is, "12". Thus, the value of the difference obtained in (3), that is, the difference betv;een the DC coefficient and the initial value "8", is also "4".
[0061]
That is, taking a difference between each of the DC coefficient and the AC coefficient {0, 0), v/hose values are close to each other, and the initial value may increase the difference value therebetween, and may also cause redundancy.

- 30 -
SP344993
It can be said that there v/ill be a risk of further reducing
coding efficiency.
[0062]
To address this^ a scaling list is transmitted using the follov/ing method instead of using the method illustrated in Fig. 4. Fig. 5 illustrates an example of this method. [0063]
In the case of up-conversion of an 8x8 matrix to a 16x16 matrix:
(1) A difference between the {0, 0) coefficient (that iSf the AC coefficient (0^ 0)) of the 8x8 matrix and the {0/ 0) coefficient (that iS/ the DC coefficient) of the 16x16 matrix is taken.
(2) Differences betv/een coefficients {that ±s, AC coefficients) (adjacent coefficients in a sequence of coefficients one-dimensionally arranged in scan order) of the 8x8 matrix are taken.
(3) A difference betv/een the (0/ 0) coefficient (that is, the DC coefficient) of the 16x16 matrix and a predetermined initial value "8" is taken.
(4) The differences obtained in (1) to (3) are collectively transmitted.
[0064]
In the case of up-conversion of an 8x8 matrix to a 32x32 matrix:

- 31 -
SP344993
(1) A difference betv/een the (0, 0) coefficient (that is, the AC coefficient (0, 0)) of the 8x8 matrix and the (0, 0) coefficient (that is, the DC coefficient) of the 32x32 matrix is taken.
(2) Differences betv/een coefficients (that is, AC coefficients) (adjacent coefficients in a sequence of coefficients one-dimensionally arranged in scan order) of the 8x8 matrix are taken.
(3) A difference betv^een the (0, 0) coefficient (that is, the DC coefficient) of the 32x32 matrix and a predetermined initial value "8" is taken.
(4) The differences obtained in (1) to (3) are collectively transmitted.
[0065]
Similarly to the method illustrated in Fig. 4, in (4), the differences are encoded using exponential Golomb coding and are transmitted as exponential Golomb codes.
[0066]
At the destination to v/hich the differences are transmitted as exponential Golomb codes, v/hen the exponential Golomb codes are received, the received exponential Golomb codes are decoded to obtain the individual differences, and the processes inverse to those in (1) to (3) described above are performed on the obtained differences to determine the individual coefficients (the DC

- 32 -
SP344993
coefficient and the AC coefficients). [0067]

Exemplary features of the present technology related to the transmission method described above v/ill now be described. [0068]

Scaling lists are encoded using differential pulse-code modulation (DPCM) and are transmitted. In the example illustrated in Fig. 4, the AC coefficients and the DC coefficient are DPCM encoded individually, v/hereas, according to one of the features of the present technology, as in the example illustrated in Fig. 5, a difference (also referred to as a replacement difference coefficient) betv/een the AC coefficient (0, 0) and the DC coefficient is determined and transmitted. [0069]
As described above, the AC coefficient (0, 0) and the DC coefficient generally take values that are close to each other. Thus, a difference betv/een the AC coefficient (0, 0) and the DC coefficient may possibly be smaller than a difference betv/een the AC coefficient (0, 0) and the initial value "8". That is, the transmission of a replacement

- 33 -
SP344993
difference coefficient that is a difference betv/een the AC coefficient (0, 0) and the DC coefficient using the present technology may be more likely to reduce the amount of coding
[0070]
For example, in the example illustrated in Fig. 5, the value of the difference obtained in (1) is "0".
[0071]
Fig. 6 is a table illustrating an example of signed exponential Golomb coding. As indicated in the table illustrated in Fig. 6, the exponential Golomb code for the value "4" has a code length of 7 bits v/hereas the exponential Golomb code for the value "0" has a code length of 1 bit. That is^ the method illustrated in Fig. 5 can reduce the amount of coding by 6 bits compared to the method illustrated in Fig. 4.
[0072]
In general, a coding amount of approximately 100 bits to 200 bits is required for the transmission of a guantization matrix having an 8x8 size. Hence, 6 bits occupy approximately 6% of the total amount. A reduction in the amount of coding by 6% in High Level Syntax can be said to be a very large effect.
[0073]


„ 34 "
SP344993
Fig. 7 illustrates an example of the syntax of a scaling list. The syntax for the example illustrated in Fig 4 is illustrated in an example illustrated in part A of Fig. 7. Specifically, after the difference betv/een the AC coefficient (0, 0) and the initial value "8" and the differences between the AC coefficients
(scaling_list_delta_coef) are transmitted, the difference between the DC coefficient and the initial value "8" (scaling_list_dc_coef_minus8) is separately transmitted. [0074]
In contrast, one of the features of the present technology is that the difference betv/een the DC coefficient and the AC coefficient (0, 0) and the differences betv/een the AC coefficients are arranged in this order and are collectively transmitted. Specifically, as illustrated in Fig. 5, after the DC coefficient and the AC coefficients arranged in a predetermined scan order are one-dimensionally arranged and the difference betv/een the DC coefficient and the initial value "8" is determined, the differences between adjacent coefficients in the seguence of coefficients are determined. Further, the resulting differences (differences between coefficients) are one-dimensionally arranged in the order of being obtained and are collectively transmitted. [0075]
The syntax in this case is illustrated in an example in

- 35 -
SP344993
part B of Fig. 7. Specifically, initially, the difference betv/een the DC coefficient and the initial value "8"
(3caling_list__dc_coef_ininu3 8) is transmitted, and then the difference betv/een the DC coefficient and the AC coefficient
{0, 0) and the differences betv/een the AC coefficients
(scaling__list_delta_coef) are transmitted. That is, the DC coefficient and the AC coefficients are collectively encoded and transmitted.
[0076]
In this manner, the collective transmission of the differences arranged in the order of being obtained allovrs the decoding side {the decoder) to v/hich the differences are transmitted to decode the differences in the order of being transmitted and obtain the individual coefficients. That is, a DPCM encoded scaling list can be easily decoded. More specifically, the processing load can be reduced. In addition, the rearrangement of the differences is no longer necessary, resulting in a reduction in buffer capacity. Furthermore, the respective differences can be decoded in the order of being supplied^ resulting in suppression of an increase in processing time.
[0077]
Fig. 8 is a diagram illustrating an example of the syntax for the transmission of a default matrix. In the

- 36 -
SP344993
related art, as illustrated in Fig. 8, the initial coefficient (that is, the DC coefficient) is transmitted as "0" to transmit information indicating the use of a default matrix. That is, the value of the difference betv/een the DC coefficient and the initial value "8"
(scaling_list_dc_coef_minus8) is "-8" . Hov/ever, as illustrated in Fig. 6, the exponential Golomb code for the value "-8" has a code length of 9 bits. That is, there is a concern that coding efficiency may be significantly reduced. In general, it is desirable that the number of bits of High Level Syntax is as small as possible. In addition, as illustrated in Fig. 8, due to the increased complexity of the syntax, the processing load may be increased.
[0078]
To address these issues, the initial coefficient is not set to "0" but the semantics of
scaling_list_pred_matrix__id_delta is modified. More specifically, the semantics of
scaling__list_pred_matrix_id_delta is modified from that illustrated in part A of Fig. 9 to that illustrated in part B of Fig. 9. That is, in the related art, as illustrated in part A of Fig. 9, the value equal to "0" indicates that the immediately preceding matrix (MatrixID - 1} is referred to. Instead of this description, as illustrated in part B of Fig 9, the value of scaling list pred matrix id delta equal to

- 37 -
SP344993
"0" means that a default matrix is referred to.
[0079]
Accordingly, the code length of an exponential Golomb code for the transmission of information indicating the use of a default matrix can be equal to 1 bit, and a reduction in coding efficiency can be suppressed. Furthermore, in the related art, syntax as illustrated in parts A and B of Fig. 10 is necessary for a scaling list. This syntax can be simplified as in an example illustrated in Fig. 11. That is, the processing load involved in the encoding and decoding of a scaling list can be reduced.
[0080]

Syntax v/ill be more specifically described.
[0081]
In the example of the related art illustrated in parts A and B of Fig. 10, the determination of default needs to be performed tv/ice, namely, scaling_list_dc_coef_minus8 and scaling_list_delta_coef. In addition, for
scaling_list_delta_coef, determination is made in the middle of the "for" loop, and the loop exits v/hen useDefaultScalingMatrixFlag ^ 1. Furthermore, an intermediate flag called "stopNov/" is needed, and, because of this condition, a branch such as substituting nextCoef

" 38 -
SP344993
into the value of scalingList further exists. In this manner, the syntax of the related art involves complicated processing. [0082]
In the present technology, accordingly, as in the example illustrated in Fig. 11, the DC coefficient calculated from 3caling_li3t_dc_coef_minus8 is substituted into nextCoef to set the initial value of 3caling_list_delta_coef to the DC coefficient. [0083]
Furthermore, in semantics, the value of scaling_list_pred_matrix_id_delta, v/hich is represented by "+1" in the related art, remains unchanged, and the value "0" is used as a special value. [0084]
That is to say, in the related art, v/hen ScalingList[0][2] is to be decoded (matrixld = 2), if 3caling_list_pred_matrix_id_delta = 0, then matrixld = 2 is obtained from refMatrixId = matrixld - {1+
3caling_li3t_pred_matrix_id_delta}. Thus, refMatrixId = 1 is obtained, and the value of ScalingList[0][1] is copied. [0085]
In contrast, in the present technology, refMatrixId = matrixld - 3caling_list_pred_matrix_id_delta is set. When ScalingList[0][2] is to be decoded {matrixld = 2),

„ 39 ~
SP344993
scaling_list_pred_matrix_id_delta = 1 may be set if ScalingList[0][1] is to be copied (or if refMatrixId ^ 1 is to be obtained).
[0086]
Accordingly, as illustrated in Fig. 11, the number of rov/s of the syntax for a scaling list can be significantly reduced. In addition, tv/o variables to be included as intermediate data, namely, UseDefaultScalingMatrix and stopNov/, can be omitted. Furthermore, branch made in the "for" loop as illustrated in Fig. 10 can be no longer required. Therefore, the processing load involved in the encoding and decoding of a scaling list can be reduced.
[0087]

In a case v/here the present technology is applied to the transmission of a scaling list, a scaling list is encoded and decoded in the manner described above. Specifically, an image encoding device 10 described belov/ v/ith reference to Fig. 14 encodes a scaling list and transmits the encoded scaling list, and an image decoding device 300 described below v/ith reference to Fig. 22 receives and decodes the encoded scaling list.
[0088]
A scaling list is encoded by a matrix processing unit

„ 40 -
SP344993
150 {Fig. 15) in an orthogonal transform/quantization unit 14 (Fig. 14) of the image encoding device 10. More specifically, a scaling list is encoded by a DPCM unit 192 and an exp-G unit 193 (both are illustrated in Fig. 16) in an entropy encoding unit 164 (Fig. 16) in the matrix processing unit 150. That is, the DPCM unit 192 determines differences betv/een coefficients (the DC coefficient and the AC coefficients) of the scaling list, and the exp-G unit 193 encodes the individual differences using exponential Golomb coding. [0089]
In order to encode a scaling list using the present technology as described above, the DPCM unit 192 may have an example configuration as illustrated in, for example, Fig. 19, and may perform a DPCM process as in an example illustrated in Fig. 21. Furthermore, semantics as in an example illustrated in part C of Fig. 44 or part C of Fig. 45 may be used. [0090]
In other v/ords, only the DPCM unit 192 and the exp-G unit 193 may be- required to achieve the encoding of a scaling list using the present technology, and other components having any configuration may be used as desired. A necessary configuration, such as a processing unit for up-converting a scaling list and a processing unit for

- 41 -
SP344993
performing guantization using a scaling list, may be provided in accordance v/ith embodiments.
[0091]
Furthermore, a scaling list is decoded by a matrix generation unit 410 (Fig. 23) in a dequantization/inverse orthogonal transform unit 313 {Fig. 22) of the image decoding device 300. More specifically, a scaling list is decoded by an exp-G unit 551 and an inverse DPCM unit 552
(Fig. 24) in an entropy decoding unit 533 (Fig. 24) in the matrix generation unit 410. That is, the exp-G unit 551 decodes the Golomb codes to obtain differences, and the inverse DPCM unit 552 determines individual coefficients
(the DC coefficient and the AC coefficients) of the scaling list from the respective differences.
[0092]
In order to decode an encoded scaling list using the present technology as described above, the inverse DPCM unit 552 may have an example configuration as illustrated in, for example. Fig. 2 6, and may perform an inverse DPCM process as in an example illustrated in Fig. 2 9. Furthermore, semantics as in an example illustrated in part C of Fig. 44 or part C of Fig. 45 may be used.
[0093]
In other v/ords, only the exp-G unit 551 and the inverse DPCM unit 552 may be reguired to achieve the decoding of a

- 42 -
SP344993
scaling list using the present technology/ and other components having any configuration may be used as desired. A necessary configuration^ such as a processing unit for up-converting a scaling list and a processing unit for performing dequantization using a scaling list/ may be provided in accordance with embodiments. [0094]
Individual embodiments to v;hich the present technology is applied vjill be described hereinafter for more detailed description of the present technology. [0095]
<2 . Second Embodiment>
<2-l. Syntax: First method> (1) Syntax of related art
First/ Fig. 12 illustrates an example of the syntax of a quantization matrix (or scaling list) in the related art. In actual use/ a difference matrix betv/een a scaling list and a prediction matrix thereof/ rather than the scaling list/ is generally transmitted. Thus, in the follov/ing description of syntax and so forth/ it is assumed that the description of a scaling list can also apply to a difference matrix. [0096]
Part A of Fig. 12 illustrates the syntax for scaling list data (scaling list data syntax)/ and part B of Fig. 12

- 43 -
SP344993
illustrates the syntax of a scaling list {scaling list syntax).
[0097]
{1-1) Scaling list data syntax As illustrated in part A of Fig. 12, the syntax for scaling list data specifies that a flag
(scaling_list__present_flag) indicating whether or not a scaling list is provided, a flag
(scaling_list_pred_mode_flag) indicating whether or not the current mode is a copy mode, information
{scaling_list__pred_matrix_id_delta) indicating v/hich scaling list to refer to in the copy mode, and so forth are read.
[0098]
(1-2) Scaling list syntax As illustrated in part B of Fig. 12, the syntax of a scaling list specifies that the DC coefficient from which a constant (for example, 8) is subtracted
{scaling_list_dc_coef_minus8), a difference value
(scaling_list_delta_coef) between AC coefficients, and so forth are read and that the DC coefficient and the AC coefficients are restored.
[0099]
Hovzever, there is a concern that the pieces of syntax described above v/ill not provide sufficient compression efficiency of the DC coefficient although it facilitates

_ 44 "
SP344993
processes. [0100]
Accordingly, in order to obtain sufficient compression efficiency of a DC coefficient (also referred to as a direct current coefficient) , v/hich is the coefficient of the DC component (direct current component) , a difference betv/een the DC coefficient and another coefficient is determined, and the difference value is transmitted instead of the DC coefficient. That is, the difference value is information for calculating the DC coefficient, and, in other v;ords, is substantially equivalent to the DC coefficient. However, the difference value is generally smaller than the DC coefficient. Therefore, the transmission of the difference value instead of the DC coefficient may result in a reduction in the amount of coding. [0101]
In the follovjing description, for convenience of description, a scaling list (quantization matrix) has an 8x8 size. A specific example of the method for transmitting a difference betv/een the DC coefficient and another coefficient, instead of the DC coefficient, described above V7ill be described hereinafter. [0102]
(2) Syntax for first method
For example, 65 coefficients may be transmitted using

- 45 -
SP344993
DPCM (Differential Pulse Code Modulation}, v/here the DC coefficient is considered as the element located at the beginning of an 8x8 matrix (AC coefficients) (first method}. [0103]
That is, first, a difference between a predetermined constant and the DC coefficient is calculated, and is used as the initial coefficient of DPCM data. Then, a difference between the DC coefficient and the initial AC coefficient is calculated, and is used as the second coefficient of the DPCM data. Then, a difference between the initial AC coefficient and the second AC coefficient is calculated, and is used as the third coefficient of the DPCM data. Subsequently, a difference from the immediately preceding AC coefficient is calculated, and is used as the fourth coefficient of the DPCM data, and the follov/ing coefficients of the DPCM data are determined in a manner similar to that described above. The coefficients of DPCM data generated in the manner described above are sequentially transmitted, starting from the initial coefficient. [0104]
Accordingly, compression ratio can be improved v/hen the values of the (0, 0) coefficient (AC coefficient} of an 8x8 matrix and the DC coefficient are close to each other. By implementing the first method described above, an image encoding device can process the DC coefficient in a manner

- 46 "
SP344993
similar to that of AC coefficients (alternating current coefficients), v/hich are the coefficients of the AC components {also referred to as the alternating current components) . Note that, in order to implement the first method described above^ an image decoding device to v;hich the coefficients described above are transmitted needs to specially handle only the initial coefficient. Specifically, the image decoding device needs to extract the DC coefficient from among the AC coefficients. [0105]
Fig. 13 illustrates the syntax of a scaling list in the case described above. In the example illustrated in Fig. 13^ 65 difference values (scaling_list_delta_coef) betv/een coefficients are read, and, among coefficients (nextcoef) determined from the difference values, the coefficient (nextcoef) located at the beginning is used as the DC coefficient (scaling_list_dc_coef) v^hile the other coefficients are used as the AC coefficients {ScalingList[i]). [0106]
An image encoding device that implements the syntax for the first method described above v;ill be described hereinafter. [0107]
<2-2. Image encoding device>

" 47 -
SP344993
Fig. 14 is a block diagram illustrating an example configuration of an image encoding device 10 according to an embodiment of the present disclosure. The image encoding device 10 illustrated in Fig. 14 is an image processing device to which the present technology is applied and that is configured to encode input image data and output the encoded image data. Referring to Fig. 14, 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/guantization unit 14, a lossless encoding unit 16, an accumulation buffer 17, a rate control unit 18, a dequantization unit 21, an inverse orthogonal transform unit 22, an adder unit 23, a deblocking filter 24, a frame memory 25, a selector 26, an intra prediction unit 30, a motion search unit 40, and a mode selection unit 50. [0108]
The A/D conversion unit 11 converts an image signal input in analog form to image data in digital form, and outputs a digital image data sequence to the rearrangement buffer 12. [0109]
The rearrangement buffer 12 rearranges images included in the image data sequence input from the A/D conversion unit 11. After rearranging the images in accordance with a

- 48 -
SP344993
GOP (Group of Pictures) structure for use in an encoding process, the rearrangement buffer 12 outputs the image data in which the images have been rearranged to the subtraction unit 13, the intra prediction unit 30, and the motion search unit 40. [0110]
The subtraction unit 13 is supplied v/ith the image data input from the rearrangement buffer 12 and prediction image data selected by the mode selection unit 50, v/hich v/ill be described belov/. The subtraction unit 13 calculates prediction error data that represents the difference betv/een the image data input from the rearrangement buffer 12 and the prediction image data input from the mode selection unit 50, and outputs the calculated prediction error data to the orthogonal transform/quantization unit 14. [0111]
The orthogonal transform/quantization unit 14 performs an orthogonal transform and quantization on the prediction error data input from the subtraction unit 13, and outputs guantized transform coefficient data (hereinafter referred to as guantized data) to the lossless encoding unit 16 and the deguantization unit 21. The bit rate of the guantized data output from the orthogonal transform/guantization unit 14 is controlled in accordance with a rate control signal supplied from the rate control unit 18. A detailed

- 49 -
SP344993
configuration of the orthogonal transform/guantization unit
14 v/ill further be described belov/.
[0112]
The lossless encoding unit 16 is supplied v/ith the guantized data input from the orthogonal
transform/guantization unit 14, information for generating a scaling list (or quantization matrix) on the decoding side, and information concerning intra prediction or inter prediction v/hich is selected by the mode selection unit 50. The information concerning intra prediction may include, for example, prediction mode information indicating an optimum intra-prediction mode for each block. Furthermore, the information concerning inter prediction may include, for example, prediction mode information for block-by-block prediction of motion vectors, differential motion vector information, reference image information, and so forth. Moreover, the information for generating a scaling list on the decoding side may include identification information indicating a maximum size of a scaling list to be transmitted {or a difference matrix between a scaling list (guantization matrix) and a prediction matrix thereof). [0113]
The lossless encoding unit 16 performs a lossless encoding process on the guantized data to generate an encoded stream. The lossless encoding performed by the

- 50 -
SP344993
lossless encoding unit 16 may be, for example, variable-length encoding^ arithmetic encoding, or the like. Furthermore, the lossless encoding unit 16 multiplexes information for generating a scaling list into the header (for example, a sequence parameter set and a picture parameter set) of the encoded stream. The lossless encoding unit 16 further multiplexes the information concerning intra prediction or inter prediction described above into the header of the encoded stream. After that, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17. [0114]
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. After that, the accumulation buffer 17 outputs the accumulated encoded stream at a rate corresponding to the bandv/idth of a transmission path (or an output line from the image encoding device 10) . [0115]
The rate control unit 18 monitors the accumulation buffer 17 to check the availability of capacity. The rate control unit 18 generates a rate control signal in accordance v/ith the available capacity of the accumulation buffer 17, and outputs the generated rate control signal to

- 51 -
SP344993
the orthogonal transform/quantization unit 14. For example, when the available capacity of the accumulation buffer 17 is lov7, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data. Alternatively, for example, v/hen the available capacity of the accumulation buffer 17 is sufficiently high, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data. [0116]
The dequantization unit 21 performs a dequantization process on the quantized data input from the orthogonal transform/quantization unit 14. After that, the dequantization unit 21 outputs transform coefficient data acquired through the dequantization process to the inverse orthogonal transform unit 22. [0117]
The inverse orthogonal transform unit 22 performs an inverse orthogonal transform process on the transform coefficient data input from the dequantization unit 21 to restore prediction error data. After -that, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the adder unit 23. [0118]
The adder unit 23 adds together the restored prediction error data input from the inverse orthogonal transform unit

- 52 -
SP344993
22 and the prediction image data input from the mode selection unit 50 to generate decoded image data. After that, the adder unit 23 outputs the generated decoded image data to the deblocking filter 24 and the frame memory 25. [0119]
The deblocking filter 24 performs a filtering process for reducing blocking artifacts caused by the encoding of an image. The deblocking filter 24 filters the decoded image data input from the adder unit 23 to remove (or at least reduce} blocking artifacts, and outputs the filtered decoded image data to the frame memory 25. [0120]
The frame memory 25 stores the decoded image data input from the adder unit 2 3 and the filtered decoded image data input from the deblocking filter 24, using a storage medium. [0121]
The selector 2 6 reads decoded image data to be filtered, v/hich is 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. The selector 26 further reads filtered decoded image data, which is 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. [0122]

- 53 -
SP344993
The intra prediction unit 30 performs an intra prediction process in each intra-prediction mode on the basis of the image data to be encoded, v?hich is input from the rearrangement buffer 12, and the decoded image data supplied via the selector 26. For example, the intra prediction unit 30 evaluates a prediction result obtained in each intra-prediction mode using a predetermined cost function. Then, the intra prediction unit 30 selects an intra-prediction mode that minimizes the cost function value, that is, an intra-prediction mode that provides the highest compression ratio, as an optimum intra-prediction mode. Furthermore, the intra prediction unit 30 outputs prediction mode information indicating the optimum intra-prediction mode, prediction image data, and information concerning intra prediction, such as the cost function value, to the mode selection unit 50. [0123]
The motion search unit 40 performs an inter prediction process (or an inter-frame prediction process) on the basis of the image data to be encoded, v/hich is input from the rearrangement buffer 12, and the decoded image data supplied via the selector 26. For example, the motion search unit 40 evaluates a prediction result obtained in each prediction mode using a predetermined cost function. Then, the motion search unit 40 selects a prediction mode that minimizes the

- 54 -
SP344993
cost function value, that is, a prediction mode that provides the highest corrpression ratio, as an optimum prediction mode. Furthermore, the motion search unit 40 generates prediction image data in accordance v/ith the optimum prediction mode. The motion search unit 40 outputs information concerning inter prediction which includes prediction mode information indicating the selected optimum prediction mode, the prediction image data, and information concerning inter prediction, such as the cost function value, to the mode selection unit 50. [0124]
The mode selection unit 50 compares the cost function value for intra prediction, v^hich is input from the intra prediction unit 30, v/ith the cost function value for inter prediction, v/hich is input from the motion search unit 40. Then, the mode selection unit 50 selects a prediction technique having the smaller one of the cost function values for intra prediction and inter prediction. If intra prediction is selected, the mode selection unit 50 outputs the information concerning intra prediction to the lossless encoding unit 16, and also outputs the prediction image data to the subtraction unit 13 and the adder unit 23. Alternatively, if inter prediction is selected, the mode selection unit 50 outputs the information concerning inter prediction described above to the lossless encoding unit 16,

- 55 -
SP344993
and also outputs the prediction image data to the subtraction unit 13 and the adder unit 23. [0125]
<2-3. Example configuration of orthogonal transform/guantization unit>
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. Referring to Fig-. 15, the orthogonal transform/guantization unit 14 includes a selection unit 110, an orthogonal transform unit 120, a guantization unit 130, a scaling list buffer 140, and a matrix processing unit 150. [0126]
(1) Selection unit
The selection unit 110 selects a transform unit (TU) to be used for the orthogonal transform of image data to be encoded from among a plurality of transform units having different sizes. Examples of possible sizes of transform units selectable by the selection unit 110 include 4x4 and 8x8 for H.264/AVC (Advanced Video Coding), and include 4x4, 8x8, 16x16, and 32x32 for HEVC (High Efficiency Video Coding). The selection unit 110 may select a transform unit in accordance with, for example, the size or quality of an image to be encoded, the performance of the image encoding

- 56 -
SP344993
device 10, or the like. The selection of a transform unit by the selection unit 110 may be hand-tuned by a user v/ho develops the image encoding device 10. After that, the selection unit 110 outputs information that specifies the size of the selected transform unit to the orthogonal transform unit 120, the quantization unit 130, the lossless encoding unit 16, and the dequantization unit 21. [0127]
(2) Orthogonal transform unit
The orthogonal transform unit 120 performs an orthogonal transform on the image data (that is, prediction error data) supplied from the subtraction unit 13, in units of the transform unit selected by the selection unit 110. The orthogonal transform performed by the orthogonal transform unit 120 may be, for example, discrete cosine transform (DCT), Karhunen-Loeve transform, or the like. After that, the orthogonal transform unit 120 outputs transform coefficient data acquired through the orthogonal transform process to the quantization unit 130. [0128]
(3) Quantization unit
The quantization unit 130 quantizes the transform coefficient data generated by the orthogonal transform unit 120, by using a scaling list corresponding to the transform unit selected by the selection unit 110. Furthermore, the

- 57 -
SP344993
quantization unit 130 svjitches the quantization step size in accordance v/ith the rate control siqnal supplied from the rate control unit 18 to chanqe the bit rate of the quantized data to be output.
[0129]
Furthermore, the quantization unit 130 causes sets of scalinq lists respectively correspondinq to a plurality of transform units selectable by the selection unit 110 to be stored in the scalinq list buffer 140. For example, as in HEVC, if there are four possible sizes of transform units, namely, 4x4, 8x8, 16x16, and 32x32, four sets of scalinq lists respectively correspondinq to the four sizes may be stored in the scalinq list buffer 140. Note that if a specified scalinq list is used for a qxven size, only a flaq indicatinq that the specified scalinq list is used (a scalinq list defined by the user is not used) may be stored in the scalinq list buffer 140 in association v/ith the qiven size.
[0130]
A set of scalinq lists that may be used by the quantization unit 130 may be typically set for each sequence of the encoded stream. In addition, the quantization unit 130 may update a set of scalinq lists that is set for each sequence on a picture-by-picture basis. Information for controllinq the settinq and update of a set of scalinq lists

- 58 -
SP344993
may be inserted in, for example, a sequence parameter set
and a picture parameter set.
[0131]
(4) Scaling list buffer
The scaling list buffer 140 temporarily stores a set of scaling lists respectively corresponding to a plurality of transform units selectable by the selection unit 110, using a storage medium such as a semiconductor memory. The set of scaling lists stored in the scaling list buffer 140 is referred to when the matrix processing unit 150 performs a process described belov7. [0132]
(5) Matrix processing unit
The matrix processing unit 150 encodes a scaling list to be used for encoding (quantization) . After that, the encoded data of the scaling list (hereinafter referred to as encoded scaling list data) generated by the matrix processing unit 150 is output to the lossless encoding unit 16, and may be inserted into the header of the encoded stream. [0133]
<2-4. Detailed example configuration of matrix processing unit>
Fig. 16 is a bloc]<: diagram illustrating an example of a more detailed configuration of the matrix processing unit

- 59 -
SP344993
150. Referring to Fig. 16, the matrix processing unit 150 includes a prediction unit 161, a difference matrix generation unit 162, a difference matrix size transformation unit 163, an entropy encoding unit 164, a decoding unit 165, and an output unit 166.
[0134]
(1) Prediction unit 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.
[0135]
In a copy mode, the copy unit 171 copies a previously transmitted scaling list, and uses the copied quantization matrix as a prediction matrix (or predicts a scaling list of an orthogonal transform unit to be processed). More specifically, the copy unit 171 acquires the size and list ID (ListID) of a previously transmitted scaling list from a storage unit 202 in the decoding unit 165. The size is information indicating the size of the scaling list (ranging from, for example, 4x4 to 32x32}. The list ID is information indicating the type of prediction error data to be quantized
[0136]
For example, the list ID includes identification information indicating that the prediction error data to be quantized is prediction error data (Intra Luma) of the

- 60 "
SP344993
luminance component v/hich is generated using a prediction image subjected to intra prediction, prediction error data (Intra Cr) of the color difference component (Cr) which is generated using a prediction image subjected to intra prediction, prediction error data (Intra Cb) of the color difference component (Cb) v/hich is generated using a prediction image subjected to intra prediction, or prediction error data (Inter Luma) of the luminance component v/hich is generated using a prediction image subjected to inter prediction. [0137]
The copy unit 171 selects, as a scaling list to be copied, a previously transmitted scaling list of the same size as the scaling list (scaling list of an orthogonal transform unit to be processed) input to the matrix processing unit 150, and supplies the list ID of the scaling list to be copied to the output unit 166 to output the list ID to devices outside the matrix processing unit 150 (the lossless encoding unit 16 and the dequantization unit 21). That is, in this case, only the list ID is transmitted to the decoding side (or is included in encoded data) as information indicating a prediction matrix generated by copying the previously transmitted scaling list. Thus, the image encoding device 10 can suppress an increase in the amount of coding of a scaling list.

- 61 -
SP344993
[0138]
Furthermore, in a normal mode, the prediction matrix generation unit 172 acquires a previously transmitted scaling list from the storage unit 202 in the decoding unit 165, and generates a prediction matrix using the scaling list (or predicts a scaling list of an orthogonal transform unit to be processed). The prediction matrix generation unit 172 supplies the generated prediction matrix to the difference matrix generation unit 162.
[0139]
(2) Difference matrix generation unit The difference matrix generation unit 162 generates a difference matrix (residual matrix) that is a difference betv;een the prediction matrix supplied from the prediction unit 161 (the prediction matrix generation unit 172) and the scaling list input to the matrix processing unit 150. As illustrated in Fig. 16, the difference matrix generation unit 162 includes a prediction matrix size transformation unit 181, a computation unit 182, and a quantization unit 183.
[0140]
The prediction matrix size transformation unit 181 transforms (hereinafter also referred to as converts) the size of the prediction matrix supplied from the prediction matrix generation unit 172 so that the size of the

- 62 -
SP344993
prediction matrix matches the size of the scaling list input
to the matrix processing unit 150.
[0141]
For example, if the size of the prediction matrix is larger than the size of the scaling list, the prediction matrix size transformation unit 181 dov/nv/ard converts (hereinafter also referred to as dovm-converts) the prediction matrix. More specifically, for example, v/hen the prediction matrix has a 16x16 size and the scaling list has an 8x8 size, the prediction matrix size transformation unit 181 dov/n-converts the prediction matrix to an 8x8 prediction matrix. Note that any method for dov/n-conversion may be used. For example, the prediction matrix size transformation unit 181 may reduce the number of elements in the prediction matrix (hereinafter also referred to as dovmsampling) by using a filter (through computation). Alternatively, the prediction matrix size transformation unit 181 may also reduce the number of elements in the prediction matrix by, for example, as illustrated in Fig. 17, thinning out some of the elements {for example, only the even numbered elements (in Fig. 17, the elements in solid black) among the tv/o-dimensional elements) v/ithout using a filter (hereinafter also referred to as subsampling). [0142]
Furthermore, for example, if the size of the prediction

- 63 -
SP344993
matrix is smaller than the size of the scaling list, the prediction matrix size transformation unit 181 upward converts (hereinafter also referred to as up-converts} the prediction matrix. More specifically, for example, when the prediction matrix has an 8x8 size and the scaling list has a 16x16 size, the prediction matrix size transformation unit 181 up-converts the prediction matrix to a 16x16 prediction matrix. Note that any method for up-conversion may be used. For example, the prediction matrix size transformation unit 181 may increase the number of elements in the prediction matrix {hereinafter also referred to as upsampling} by using a filter (through computation). Alternatively, the prediction matrix size transformation unit 181 may also increase the number of elements in the prediction matrix by, for example, copying the individual elements in the prediction matrix v/ithout using a filter (hereinafter also referred to as inverse subsampling). [0143]
The prediction matrix size transformation unit 181 supplies the prediction matrix v/hose size has been made to match that of the scaling list to the computation unit 182. [0144]
The computation unit 182 subtracts the scaling list input to the matrix processing unit 150 from the prediction matrix supplied from the prediction matrix size

- 64 -
SP344993
transformation unit 181, and generates a difference matrix {residual matrix}. The computation unit 182 supplies the calculated difference matrix to the quantization unit 183. [0145]
The quantization unit 183 quantizes the difference matrix supplied from the computation unit 182. The quantization unit 183 supplies the quantized difference matrix to the difference matrix size transformation unit 163 The quantization unit 183 further supplies information used for quantization, such as quantization parameters, to the output unit 166 to output the information to devices outside the matrix processing unit 150 {the lossless encoding unit 16 and the dequantization unit 21}. Note that the quantization unit 183 may be omitted {that is, the quantization of the difference matrix may not necessarily be performed}. [0146]
(3} Difference matrix size transformation unit
The difference matrix size transformation unit 163 converts the size of the difference matrix {quantized data) supplied from the difference matrix generation unit 162 {the quantization unit 183} to a size less than or equal to a maximum size allowed in transmission {hereinafter also referred to as a transmission size), if necessary. The maximum size may have any optional value, and is, for

- 65 -
SP344993
example, 8x8. [0147]
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 of the size {maximum size} of the difference matrix {quantized data) during such transmission, or in the encoded data output from the image encoding device 10, is set in the image encoding device 10. [0148]
If the size of the difference matrix is larger than the maximum size, the difference matrix size transformation unit 163 down-converts the difference matrix so that the size of the difference matrix becomes less than or equal to the maximum size. [0149]
Note that, similarly to the dov/n-conversion of the prediction matrix described above, the difference matrix may be down--converted using any method. For example, dov/nsampling may be performed using a filter or the like, or subsampling which involves thinning out elements may be performed. [0150]
Furthermore, the dov/n-converted difference matrix may

- 66 -
SP344993
have any size smaller than the maximum size. However, in general, the larger the difference in size between before and after conversion is, the larger the error becomes. It is thus desirable that the difference matrix be down-converted to the maximum size.
[0151]
The difference matrix size transformation unit 163 supplies the down-converted difference matrix to the entropy encoding unit 164. Note that if the size of the difference matrix is smaller than the maximum size, the dovm-conversion described above is not necessary, and therefore the difference matrix size transformation unit 163 supplies the difference matrix input thereto to the entropy encoding unit 164 as it is {that is, the dov/n-conversion of the difference matrix is omitted).
[0152]
(4) Entropy encoding unit The entropy encoding unit 164 encodes the difference matrix (quantized data) supplied from the difference matrix size transformation unit 163 using a predetermined method. As illustrated 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 exp-G unit 193.
[0153]

- 67 -
SP344993
The overlap determination unit 191 determines syrometry of the difference matrix supplied from the difference matrix size transformation unit 163. If the residue (difference matrix) represents a 135-degree symmetric matrix, for example/ as illustrated in Fig. 18/ the overlap determination unit 191 removes the data (matrix elements) of the symmetric part that is overlapping data. If the residue does not represent a 135-degree syrometric matrix, the overlap determination unit 191 omits the removal of the data
(matrix elements). The overlap determination unit 191 supplies the data of the difference matrix from v/hich the symmetric part has been removed, if necessary, to the DPCM unit 192.
[0154]
The DPCM unit 192 performs DPCM encoding of the data of the difference matrix from v/hich the symmetric part has been removed, if necessary, v/hich is supplied from the overlap determination unit 191, and generates DPCM data. The DPCM unit 192 supplies the generated DPCM data to the exp-G unit 193.
[0155]
The exp-G unit 193 encodes the DPCM data supplied from the DPCM unit 192 using signed or unsigned exponential Golomb codes (hereinafter also referred to as exponential Golomb codes). The exp-G unit 193 supplies the encoding

.SP344993
result to the decoding unit 165 and the output unit 166. [0156]
(5) Decoding unit
The decoding unit 165 restores a scaling list from the data supplied from the exp-G unit 193. The decoding unit 165 supplies information concerning the restored scaling list to the prediction unit 161 as a previously transmitted scaling list. [0157]
As illustrated in Fig. 16/ the decoding unit 165 includes a scaling list restoration unit 201 and the storage unit 202. [0158]
The scaling list restoration unit 201 decodes the exponential Golomb codes supplied from the entropy encoding unit 164 (the exp-G unit 193) to restore a scaling list to be input to the matrix processing unit 150. For example, the scaling list restoration unit 201 decodes the exponential Golomb codes using the method corresponding to the encoding method for the entropy encoding unit 164, and obtains a difference matrix by performing transformation opposite to size transformation performed by the difference matrix size transformation unit 163 and performing dequantization corresponding to quantization performed by the quantization unit 183. The scaling list restoration

" 69 -
SP344993
unit 201 further subtracts the obtained difference matrix from the prediction matrix to restore a scaling list.
[0159]
The scaling list restoration unit 201 supplies the restored scaling list to the storage unit 202 for storage in association v/ith the size and the list ID of the scaling list.
[0160]
The storage unit 202 stores information concerning the scaling list supplied from the scaling list restoration unit 201. The information concerning the scaling list stored in the storage unit 202 is used to generate prediction matrices of other orthogonal transform units v;hich are processed later in time. That iS/ the storage unit 202 supplies the stored information concerning the scaling list to the prediction unit 161 as information concerning a previously transmitted scaling list.
[0161]
Note that, instead of storing the information concerning the scaling list restored in the v;ay described above, 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 of the input scaling list. In this case, the scaling list restoration unit 201 can be omitted.
[0162]

- 70 -
SP344993
(6) Output unit
The output unit 166 outputs the supplied various types of information to devices outside the matrix processing unit 150. For example, in the copy mode, the output unit 166 supplies the list ID of the prediction matrix supplied from the copy unit 171 to the lossless encoding unit 16 and the dequantization unit 21. Furthermore, for example, in the normal mode, the output unit 166 supplies the exponential Golomb codes supplied from the exp-G unit 193 and the quantization parameters supplied from the quantization unit 183 to the lossless encoding unit 16 and the dequantization unit 21. [0163]
The output unit 166 further supplies identification information indicating a maximum size (transmission size) allovjed in the transmission of a scaling list (or a difference matrix betv/een a scaling list and a prediction matrix thereof) to the lossless encoding unit 16 as information for generating a scaling list on the decoding side. As described above, the lossless encoding unit 16 creates an encoded stream including the information for generating a scaling list, and supplies the encoded stream to the decoding side. The identification information indicating the transmission size may be specified in advance by level, profile, and the like. In this case, information

- 71 -
SP344993
concerning the transmission size is shared in advance betv/een the apparatus on the encoding side and the apparatus on the decoding side. Thus, the transmission of the identification information described above can be omitted.
[0164]
<2-5. Detailed example configuration of DPCM unit> Fig. 19 is a block diagram illustrating an example of a more detailed configuration of the DPCM unit 192. Referring to Fig. 19, the DPCM unit 192 includes a DC coefficient encoding unit 211 and an AC coefficient DPCM unit 212.
[0165]
The DC coefficient encoding unit 211 acquires the DC coefficient from among the coefficients supplied from the overlap determination unit 191, subtracts the value of the DC coefficient from a predetermined initial value (for example, 8) to determine a difference value, and uses the difference value as the initial (i = 0) difference value
{scaling_list_delta_coef) . The DC coefficient encoding unit 211 supplies the calculated difference value
(scaling_list_delta_coef (i = 0}) to the exp-G unit 193 as the initial coefficient of the scaling list corresponding to the region of interest being processed.
[0166]
The AC coefficient DPCM unit 212 acquires an AC coefficient from among the coefficients supplied from the

- 72 -
SP344993
overlap determination unit 191, and subtracts the value of the AC coefficient from the immediately previously processed coefficient to determine a difference value
{scaling list delta^coef (i > 0)). The AC coefficient DPCM unit 212 supplies the determined difference value (scaling_list_delta_coef (i > 0)} to the exp-G unit 193 as a coefficient of the scaling list corresponding to the region of interest being processed. Note that v;hen i = 1, the immediately preceding coefficient is represented by 1=0. Thus, the "DC coefficient" is the immediately previously processed coefficient. [0167]
In this v;ay, the DPCM unit 192 can transmit the DC coefficient as the element located at the beginning of the scaling list (AC coefficients). Accordingly, the coding efficiency of the scaling list can be improved. [0168]
<2-6. Flovj of quantization matrix encoding process>
Next, an example of the flov? of a quantization matrix encoding process executed by the matrix processing unit 150 illustrated in Fig. 16 v;ill be described v;ith reference to a flowchart illustrated in Fig. 20. [0169]
When the quantization matrix encoding process is started, in step SlOl, the prediction unit 161 acquires a

- 73 -
SP344993
scaling list {or quantization matrix) for a current region
(also referred to as a region of interest) that is an orthogonal transform unit to be processed.
[0170]
In step 3102^ the prediction unit 161 determines v/hether or not the current mode is the copy mode. If it is determined that the current mode is not the copy mode,, the prediction unit 161 advances the process to step S103.
[0171]
In step 3103^ the prediction matrix generation unit 172 acquires a previously transmitted scaling list from the storage unit 202, and generates a prediction matrix using the scaling list.
[0172]
In step S104, the prediction matrix size transformation unit 181 determines whether or not the size of the prediction matrix generated in step S103 is different from that of the scaling list for the current region (region of interest} acquired in step SlOl. If it is determined that both sizes are different, the prediction matrix size transformation unit 181 advances the process to step Sl05.
[0173]
In step S105, the prediction matrix size transformation unit 181 converts the size of the prediction matrix generated in step S103 to the size of the scaling list for

- 74 -
SP344993
the current region acquired in step SlOl. [0174]
When the processing of step S105 is completed, the prediction matrix size transformation 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 transformation unit 181 advances the process to step S106 v/hlle skipping the processing of step S105 (or v/ithout performing the processing of step S105) . [0175]
In step S106, the computation unit 182 subtracts the scaling list from the prediction matrix to calculate a difference matrix betv/een the prediction matrix and the scaling list. [0176]
In step S107, the quantization unit 183 quantizes the difference matrix generated in step S106. Note that this processing may be omitted. [0177]
In step S108, the difference matrix size transformation unit 163 determines whether or not the size of the quantized difference matrix is larger than the transmission size (the maximum size allov/ed in transmission) . If it is determined that the size of the quantized difference matrix is larger

- 75 -
SP344993
than the transmission size^ the difference matrix size transformation unit 163 advances the process to step S109y. and down-converts the difference matrix to the transmission size or less. [0178]
When the processing of step S109 is completed, the difference matrix size transformation unit 163 advances the process to step SllO. Furthermore, if it is determined in step S108 that the size of the quantized difference matrix is less than or equal to the transmission size, the difference matrix size transformation unit 163 advances the process to step SllO vjhile skipping the processing of step S109 (or v/ithout performing the processing of step S109) . [0179]
In step SllO, the overlap determination unit 191 determines v/hether or not the quantized difference matrix has 135-degree symmetry. If it is determined that the quantized difference matrix has 135-degree symmetry, the overlap determination unit 191 advances the process to step Sill. [0180]
In step Sill, the overlap determination unit 191 removes the overlapping portion {overlapping data) in the quantized difference matrix. After the overlapping data is removed, the overlap determination unit 191 advances the

- 76 -
SP344993
process to step S112.
[0181]
Furthermore, if it is determined in step SllO that the guantized difference matrix does not have 135-degree symmetry, the overlap determination unit 191 advances the process to step S112 while skipping the processing of step Sill (or without performing the processing of step Sill).
[0182]
In step S112, the DPCM unit 192 performs DPCM encoding of the difference matrix from which the overlapping portion has been removed, if necessary.
[0183]
In step S113, the exp~G unit 193 determines vjhether or not DPCM data generated in step S112 has a positive or negative sign. If it is determined that a sign is included, the exp-G unit 193 advances the process to step 3114.
[0184]
In step S114, the exp~G unit 193 encodes the DPCM data using signed exponential Golomb coding. The output unit 166 outputs generated exponential Golomb codes to the lossless encoding unit 16 and the deguantization unit 21. When the processing of step S114 is completed, the exp-G unit 193 advances the process to step S116.
[0185]
Furthermore, if it is determined in step 8113 that no

- 77 -
SP344993
sign is included, the exp-G unit 193 advances the process to
step S115.
[0186]
In step S115, the exp-G unit 193 encodes the DPCM data using unsigned exponential Golomb coding. The output unit 166 outputs generated exponential Golomb codes to the lossless encoding unit 16 and the deguantization unit 21. When the processing of step S115 is completed, the exp-G unit 193 advances the process to step S116. [0187]
Furthermore, if it is determined in step S102 that the current mode is the copy mode, the copy unit 171 copies a previously transmitted scaling list, and uses the copied scaling list 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 dequantization unit 21 as information indicating the prediction matrix. Then, the copy unit 171 advances the process to step S116. [0188]
In step S116, the scaling list restoration unit 201 restores a scaling list. In step S117, the storage unit 202 stores the scaling list restored in step S116. [0189]
When the processing of step SI17 is completed, the matrix processing unit 150 ends the quantization matrix

- 78 -
SP344993
encoding process.
[0190]
<2-7. Flovj of DPCM process> Next, an example of a flov/ of the DPCM process executed in step S112 in Fig. 20 v/ill be described with reference to a flov^chart illustrated in Fig. 21.
[0191]
When the DPCM process is started, in step S131, the DC coefficient encoding unit 211 determines a difference between the DC coefficient and a constant. In step S132, the AC coefficient DPCM unit 212 determines a difference between the DC coefficient and the initial AC coefficient.
[0192]
In step S133, the AC coefficient DPCM unit 212 determines vjhether or not all the 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.
[0193]
In step S134, the AC coefficient DPCM unit 212 shifts the processing target to the subsequent AC coefficient. In step S135, the AC coefficient DPCM unit 212 determines a difference betv/een the previously processed AC coefficient and the current AC coefficient being processed. When the processing of step S135 is completed, the AC coefficient

- 79 -
SP344993
DPCM unit 212 returns the process to step S133. [0194]
In this manner, as long as it is determined in step S133 that there is an unprocessed AC coefficient, the AC coefficient DPCM unit 212 repeatedly executes the processing of 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. 20. [0195]
As described above, a difference betv;een the DC coefficient and the AC coefficient located at the beginning among the AC coefficients is determined, and the difference instead of the DC coefficient is transmitted to an image decoding device. Thus, the image encoding device 10 can suppress an increase in the amount of coding of a scaling list. [0196]
Next, an example configuration of an image decoding device according to an embodiment of the present disclosure vjill be described. [0197]
<2-8. Image decoding device>
Fig. 22 is a block diagram illustrating an example configuration of an image decoding device 300 according to

- 80 -
SP344993
an embodiment of the present disclosure. The image decoding device 300 illustrated in Fig. 22 is an image processing device to which the present technology is applied and that is configured to decode encoded data generated by the image encoding device 10. Referring to Fig. 22^ the image decoding device 300 includes an accumulation buffer 311, a lossless decoding unit 312, a dequantization/inverse orthogonal transform unit 313, an adder unit 315, a deblocking filter 316, a rearrangement buffer 317, a D/A (Digital to Analogue) conversion unit 318, a frame memory 319, selectors 320 and 321, an intra prediction unit 330, and a motion compensation unit 340. [0198]
The accumulation buffer 311 temporarily accumulates an encoded stream input via a transmission path, using a storage medium. [0199]
The lossless decoding unit 312 decodes the encoded stream input from the accumulation buffer 311 in accordance V7ith the encoding scheme used for encoding. The lossless decoding unit 312 further decodes the information multiplexed in the header region of the encoded stream. The information multiplexed in the header region of the encoded stream may include, for example, the information for generating a scaling list described above, and information

- 81 -
SP344993
concerning intra prediction and information concerning inter prediction/ v;hich are contained in the block header. The lossless decoding unit 312 outputs the decoded guantized data and the information for generating a scaling list to the dequantization/inverse orthogonal transform unit 313. The lossless decoding unit 312 further outputs the information concerning intra prediction to the intra prediction unit 330. The lossless decoding unit 312 further outputs the information concerning inter prediction to the motion compensation unit 340.
[0200]
The deguantization/inverse orthogonal transform unit 313 performs deguantization and an inverse orthogonal transform on the guantized data input from the lossless decoding unit 312 to generate prediction error data. After that/ the deguantization/inverse orthogonal transform unit 313 outputs the generated prediction error data to the adder unit 315.
[0201]
The adder unit 315 adds together the prediction error data input from the deguantization/inverse orthogonal transform unit 313 and prediction image data input from the selector 321 to generate decoded image data. After that/ the adder unit 315 outputs the generated decoded image data to the deblocking filter 316 and the frame memory 319.

- 82 -
SP344993
[0202]
The deblocking filter 316 filters the decoded image data input from the adder unit 315 to remove blocking artifacts, and outputs the filtered decoded image data to the rearrangement buffer 317 and the frame memory 319. [0203]
The rearrangement buffer 317 rearranges images input from the deblocking filter 316 to generate a time-series image data sequence. After that, the rearrangement buffer 317 outputs the generated image data to the D/A conversion unit 318. [0204]
The D/A conversion unit 318 converts the image data in digital form v/hich is input from the rearrangement buffer 317 to an image signal in analog form. After that, the D/A conversion unit 318 outputs the analog image signal to, for example, a display (not illustrated) connected to the image decoding device 300 to display an image. [0205]
The frame memory 319 stores the decoded image data to be filtered, v/hich is input from the adder unit 315, and the filtered decoded image data input from the deblocking filter 316, using a storage medium. [0206]
The selector 32 0 switches the destination to vrhich the

- 83 -
SP344993
image data supplied from the frame memory 319 is to be output betv/een the intra prediction unit 330 and the motion compensation unit 340, for each block in the image, in accordance v/ith mode information acquired by the lossless decoding unit 312. For example, if an intra-prediction mode is specified, the selector 320 outputs the decoded image data to be filtered, v/hich is supplied from the frame memory 319, to the intra prediction unit 330 as reference image data. Furthermore, if an inter-prediction mode is specified, the selector 320 outputs the filtered decoded image data supplied from the frame memory 319 to the motion compensation unit 340 as reference image data. [0207]
The selector 321 sv/itches the source from vjhich prediction image data to be supplied to the adder unit 315 is to be output betv/een the intra prediction unit 330 and the motion compensation unit 340, for each block in the image, in accordance v/ith mode information acquired by the lossless decoding unit 312. For example, if the intra-prediction mode is specified, the selector 321 supplies the prediction image data output from the intra prediction unit 330 to the adder unit 315. If the inter-prediction mode is specified, the selector 321 supplies the prediction image data output from the motion compensation unit 340 to the adder unit 315.

" 84 ~
SP344993
[0208]
The intra prediction unit 330 performs intra-screen prediction of a pixel value based on the information concerning intra prediction, v/hich is input from the lossless decoding unit 312/ and the reference image data supplied from the frame memory 319/ and generates prediction image data. After that/ the intra prediction unit 330 outputs the generated prediction image data to the selector 321. [0209]
The motion compensation unit 340 performs a motion compensation process based on the information concerning inter prediction, v/hich is input from the lossless decoding unit 312/ and the reference image data supplied from the frame memory 319/ and generates prediction image data. After that/ the motion compensation unit 340 outputs the generated prediction image data to the selector 321. [0210]
<2-9. Example configuration of dequantization/inverse orthogonal transform unit>
Fig. 23 is a block diagram illustrating an example of a main configuration of the dequantization/inverse orthogonal transform unit 313 of the image decoding device 300 illustrated in Fig. 22. Referring to Fig. 23, the dequantization/inverse orthogonal transform unit 313

- 85 -
SP344993
includes a matrix generation unit 410, a selection unit 430, a dequantization unit 440, and an inverse orthogonal transform unit 450. [0211]
(1) Matrix generation unit
The matrix generation unit 410 decodes encoded scaling list data v/hich is extracted from a bit stream and supplied by the lossless decoding unit 312, and generates a scaling list. The matrix generation unit 410 supplies the generated scaling list to the dequantization unit 440. [0212]
(2) Selection unit
The selection unit 430 selects a transform unit (TU) to be used for the inverse orthogonal transform of image data to be decoded from among a plurality of transform units having different sizes. Examples of possible sizes of transform units selectable by the selection unit 430 include 4x4 and 8x8 for H.264/AVC, and include 4x4, 8x8, 16x16, and 32x32 for HEVC. The selection unit 430 may select a transform unit in accordance with, for example, the LCU, SCU, and split_flag contained in the header of the encoded stream. After that, the selection unit 430 outputs information specifying the size of the selected transform unit to the dequantization unit 440 and the inverse orthogonal transform unit 450.

- 86 -
SP344993
[0213]
(3) Dequantization unit
The dequantization unit 440 dequantizes transform coefficient data quantized v/hen the images are encoded, by using a scaling list of the transform unit selected by the selection unit 430. After that, the dequantization unit 440 outputs the dequantized transform coefficient data to the inverse orthogonal transform unit 450. [0214]
(4) Inverse orthogonal transform unit
The inverse orthogonal transform unit 450 performs an inverse orthogonal transform on the transform coefficient data dequantized by the dequantization unit 440 in units of the selected transform unit in accordance v/ith the orthogonal transform scheme used for encoding to generate prediction error data. After that, the inverse orthogonal transform unit 450 outputs the generated prediction error data to the adder unit 315. [0215]
<2-10. Detailed example configuration of matrix generation unit>
Fig. 24 is a block diagram illustrating an example of a detailed configuration of the matrix generation unit 410 illustrated in Fig. 23. Referring to Fig. 24, the matrix generation unit 410 includes a parameter analysis unit 531,

" 87 -
SP344993
a prediction unit 532, an entropy decoding unit 533, a scaling list restoration unit 534, an output unit 535, and a storage unit 53 6. [0216]
(1) Parameter analysis unit
The parameter analysis unit 531 analyzes the various flags and parameters concerning the scaling list, v/hich are supplied from the lossless decoding unit 312. Furthermore, in accordance v?ith the analysis results, the parameter analysis unit 531 supplies various kinds of information supplied from the lossless decoding unit 312, such as encoded data of the difference matrix, to the prediction unit 532 or the entropy decoding unit 533. [0217]
For example, if pred_mode is equal to 0, the parameter analysis unit 531 determines that the current mode is the copy mode, and supplies pred_matrix__id_delta to a copy unit 541. Furthermore, for example, if pred_mode is equal to 1, the parameter analysis unit 531 determines that the current mode is a full-scan mode (normal mode), and supplies pred__matrix_id_delta and pred_size_id_delta to a prediction matrix generation unit 542. [0218]
Furthermore, for example, if residual_flag is true, the parameter analysis unit 531 supplies the encoded data

SP344993
(exponential Golomb codes) of the scaling list supplied from the lossless decoding unit 312 to an exp-G unit 551 of the entropy decoding unit 533. The parameter analysis unit 531 further supplies residual_symmetry_flag to the exp-G unit 551. [0219]
Furthermore, the parameter analysis unit 531 supplies residual_down_sampling_flag to a difference matrix size transformation unit 562 of the scaling list restoration unit 534. [0220]
(2) Prediction unit
The prediction unit 532 generates a prediction matrix in accordance v^ith the control of the parameter analysis unit 531. As illustrated in Fig. 24, the prediction unit 532 includes the copy unit 541 and the prediction matrix generation unit 542. [0221]
In the copy mode, the copy unit 541 copies a previously transmitted scaling list, and uses the copied scaling list as a prediction matrix. More specifically, the copy unit 541 reads a previously transmitted scaling list corresponding to pred matrix__id_delta and having the same size as the scaling list for the current region from the storage unit 536, uses the read scaling list as a prediction

- 89 -
SP344993
image, and supplies the prediction image to the output unit
535.
[0222]
In the normal mode, the prediction matrix generation unit 542 generates (or predicts) a prediction matrix using a previously transmitted scaling list. More specifically, the prediction matrix generation unit 542 reads a previously transmitted scaling list corresponding to
pred_matrix__id_delta and pred_size_id_delta from the storage unit 536, and generates a prediction matrix using the read scaling list. In other words, 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 a prediction matrix size transformation unit 561 of the scaling list restoration unit 534. [0223]
(3) Entropy decoding unit
The entropy decoding unit 533 restores a difference matrix from the exponential Golomb codes supplied from the parameter analysis unit 531. As illustrated in Fig. 24, the entropy decoding unit 533 includes the exp-G unit 551, an inverse DPCM unit 552, and an inverse overlap determination

„ 90 "
SP344993
unit 553. [0224]
The exp-G unit 551 decodes the signed or unsigned exponential Golomb codes (hereinafter also referred to as exponential Golomb decoding) to restore DPCM data. The exp-G unit 551 supplies the restored DPCM data together v/ith residual__symmetry_f lag to the inverse DPCM unit 552. [0225]
The inverse DPCM unit 552 performs DPCM decoding of data from v/hich the overlapping portion has been removed to generate residual data from the DPCM data. The inverse DPCM unit 552 supplies the generated residual data together v;ith residual_syTaraetry_flag to the inverse overlap determination unit 553. [0226]
If residual_syraraetry_flag is true, that is, if the residual data is a remaining portion of a 135-degree symmetric matrix from v/hich the data {matrix elements) of the overlapping symmetric part has been removed, the inverse overlap determination unit 553. restores the data of the syroraetric part. In other words, a difference matrix of a 135-degree symmetric matrix is restored. Note that if residual__symmetry_flag is not true, that is, if the residual data represents a matrix that is not a 135-degree symmetric matrix, the inverse overlap determination unit 553 uses the

- 91 "
SP344993
residual data as a difference matrix v/ithout restoring data of a symmetric part. The inverse overlap determination unit 553 supplies the difference matrix restored in the v/ay described above to the scaling list restoration unit 534
(the difference matrix size transformation unit 562).
[0227]
(4) Scaling list restoration unit The scaling list restoration unit 534 restores a scaling list. As illustrated in Fig. 24^ the scaling list restoration unit 534 includes the prediction matrix size transformation unit 561, the difference matrix size transformation unit 562, a dequantization unit 563, and a computation unit 564.
[0228]
If the size of the prediction matrix supplied from the prediction unit 532 (the prediction matrix generation unit 542) is different from the size of the scaling list for the current region to be restored, the prediction matrix size transformation unit 561 converts the size of the prediction matrix.
[0229]
For example, if the size of the prediction matrix is larger than the size of the scaling list, the prediction matrix size transformation unit 561 dov/n-converts the prediction matrix. Furthermore, for example, if the size of

" 92 -
SP344993
the prediction matrix is smaller than the size of the scaling list, the prediction matrix size transformation unit 561 up-converts the prediction matrix. The same method as that for the prediction matrix size transformation unit 181 (Fig. 16) of the image encoding device 10 is selected as a conversion method. [0230]
The prediction matrix size transformation unit 561 supplies the prediction matrix vjhose size has been made to match that of the scaling list to the computation unit 564. [0231]
If residual_dovm_sampling_flag is true, that is, if the size of the transmitted difference matrix is smaller than the size of the current region to be dequantized, the difference matrix size transformation unit 562 up-converts the difference matrix to increase the size of the difference matrix to a size corresponding to the current region to be dequantized. Any method for up-conversion may be used. For example, a method corresponding to the dovm-conversion method performed by the difference matrix size transformation unit 163 {Fig. 16) of the image encoding device 10 may be used. [0232]
For example, if the difference matrix size transformation unit 163 has dov/nsampled the difference

- 93 -
SP344993
matrix, the difference matrix size transformation unit 562 may upsample the difference matrix. Alternatively, if the difference matrix size transformation unit 163 has sub-sampled the difference matrix, the difference matrix size transformation unit 562 may perform inverse subsampling of the difference matrix.
[0233]
For example, the difference matrix size transformation unit 562 may perform a nearest neighbor interpolation process (nearest neighbor) as illustrated in Fig. 25 rather than general linear interpolation. The nearest neighbor interpolation process can reduce memory capacity.
[0234]
Accordingly, even if a scaling list having a large size is not transmitted, data obtained after upsampling need not be stored for upsampling from a scaling list having a small size. In addition, an intermediate buffer or the like is not necessary v/hen data involved in computation during upsampling is stored.
[0235]
Note that if residual_dov;n_sampling_flag is not true, that is, if the difference matrix is transmitted v/ith the same size as that v/hen used for the quantization process, the difference matrix size transformation unit 562 omits the up-conversion of the difference matrix (or may up-convert

- 94 -
SP344993
the difference matrix by a factor of 1). [0236]
The difference matrix size transformation unit 562 supplies the difference matrix up-converted in the manner described above, as necessary, to the dequantization unit 563. [0237]
The dequantization unit 563 dequantizes the supplied difference matrix (quantized data) using a method corresponding to that for quantization performed by the quantization unit 183 {Fig. 16) of the image encoding device 10, and supplies the dequantized difference matrix to the computation unit 564. Note that if the quantization unit 183 is omitted, that is, if the difference matrix supplied from the difference matrix size transformation unit 562 is not quantized data, the dequantization unit 563 can be omitted. [0238]
The computation unit 564 adds together the prediction matrix supplied from the prediction matrix size transformation unit 561 and the difference matrix supplied from the dequantization unit 563, and restores a scaling list for the current region. The computation unit 564 supplies the restored scaling list to the output unit 535 and the storage unit 536.

- 95 -
SP344993
[0239]
{5) Output unit The output unit 535 outputs the supplied information to a device outside the matrix generation unit 410. For example, in the copy mode, the output unit 535 supplies the prediction matrix supplied from the copy unit 541 to the dequantization unit 440 as a scaling list for the current region. Furthermore, for example, in the normal mode, the output unit 535 supplies the scaling list for the current region supplied from the scaling list restoration unit 534
(the computation unit 564) to the dequantization unit 440.
[0240]
(6) Storage unit The storage unit 536 stores the scaling list supplied from the scaling list restoration unit 534 (the computation unit 564) together with the size and the list ID of the scaling list. The information concerning the scaling list stored in the storage unit 536 is used to generate prediction matrices of other orthogonal transform units which are processed later in time. In other v/ords, the storage unit 536 supplies the stored information concerning the scaling list to the prediction unit 532 as information concerning a previously transmitted scaling list.
[0241]
<2-ll. Detailed example configuration of inverse DPCM

- 96 -
SP344993
unit>
Fig. 26 is a block diagram illustrating an example of a detailed configuration of the inverse DPCM unit 552 illustrated in Fig. 24. 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.
[0242]
The initial setting unit 571 acquires sizelD and MatrixID/ and sets various variables to initial values. The initial setting unit 571 supplies the acguired and set information to the DPCM decoding unit 572.
[0243]
The DPCM decoding unit 572 determines individual coefficients (the DC coefficient and the AC coefficients) from the difference values (scaling__list_delta_coef) of the DC coefficient and the AC coefficients using the initial settings and the like supplied from the initial setting unit 571. The DPCM decoding unit 572 supplies the determined coefficients to the DC coefficient extraction unit 573
(ScalingList [i]) .
[0244]
The DC coefficient extraction unit 573 extracts the DC coefficient from among the coefficients (ScalingList[i]} supplied from the DPCM decoding unit 572. The DC coefficient is located at the beginning of the AC

- 97 -
SP344993
coefficients. That is/ the initial coefficient (ScalingList[0]) among the coefficients supplied from the DPCM decoding unit 572 is the DC coefficient. The DC coefficient extraction unit 573 extracts the coefficient located at the beginning as the DC coefficient, and outputs the extracted coefficient to the inverse overlap determination unit 553 (DC_coef). The DC coefficient extraction unit 573 outputs the other coefficients (ScalingList[i] (i > 0}) to the inverse overlap determination unit 553 as the AC coefficients. [0245]
Accordingly, the inverse DPCM unit 552 can perform correct DPCM decoding, and can obtain the DC coefficient and the AC coefficients. That is, the image decoding device 300 can suppress an increase in the amount of coding of a scaling list. [0246]
<2-12. Flov? of quantization matrix decoding process>
An example of the flov/ of a quantization matrix decoding process executed by the matrix generation unit 410 having the configuration described above v;ill be described v/ith reference to a flov;chart illustrated in Fig. 27. [0247]
When the quantization matrix decoding process is started, in step S301, the parameter analysis unit 531 reads

- 98 -
SP344993
the quantized values (QscaleO to Qscale3) of regions 0 to 3. [0248]
In step S302, the parameter analysis unit 531 reads pred_mode. In step S303, the parameter analysis unit 531 determines vjhether or not pred_mode is equal to 0. If it is determined that pred_mode is equal to 0, the parameter analysis unit 531 determines that the current mode is the copy mode, and advances the process to step S304. [0249]
In step S304, the parameter analysis unit 531 reads pred_matrix_id_delta. In step S305, the copy unit 541 copies a scaling list that has been transmitted, and uses the copied scaling list as a prediction matrix. In the copy mode, the prediction matrix is output as the scaling list for the current region. When the processing of step S305 is completed, the copy unit 541 ends the quantization matrix decoding process. [0250]
Furthermore, if it is determined in step S303 that pred_mode is not equal to 0, the parameter analysis unit 531 determines that the current mode is the full-scan mode (normal mode), and advances the process to step S306. [0251]
In step S306, the parameter analysis unit 531 reads pred matrix id delta, pred size id delta, and residual flag.

- 99 -
SP344993
In step 3307/ the prediction matrix generation unit 542 generates a prediction matrix from a scaling list that has been transmitted. [0252]
In step 3308/ the parameter analysis unit 531 determines whether or not residual_flag is true. If it is determined that residual_flag is not true, no residual matrices exist, and the prediction matrix generated in step 3307 is output as the scaling list for the current region. In this case, therefore, the parameter analysis unit 531 ends the quantization matrix decoding process. [0253]
Furthermore, if it is determined in step 3308 that residual_flag is true, the parameter analysis unit 531 advances the process to step 3309. [0254]
In step 3309, the parameter analysis unit 531 reads residual_dov7n_sampling_flag and residual_symmetry_flag. [0255]
In step 3310, the exp-G unit 551 and the inverse DPCM unit 552 decode the exponential Golomb codes of the residual matrix, and generate residual data. [0256]
In step S311, the inverse overlap determination unit 553 determines v/hether or not residual symmetry flag is true

- 100 -
SP344993
If it is determined that residual_symmetry_flag is true, the inverse overlap determination unit 553 advances the process to step S312, and restores the removed overlapping portion of the residual data (or performs an inverse symmetry process) . When a difference matrix that is a 135-degree symmetric matrix is generated in the v^ay described above, the inverse overlap determination unit 553 advances the process to step S313. [0257]
Furthermore, if it is determined in step S311 that residual_symmetry_flag is not true (or if the residual data is a difference matrix that is not a 135-degree symmetric matrix), the inverse overlap determination unit 553 advances the process to step S313 v/hile skipping the processing of step S312 (or v/ithout performing an inverse symmetry process). [0258]
In step S313, the difference matrix size transformation unit 562 determines v/hether or not
residual_down_sampling_flag is true. If it is determined that residual_down_sampling_flag is true, the difference matrix size transformation unit 562 advances the process to step S314, and up-converts the difference matrix to a size corresponding to the current region to be dequantized. After the difference matrix is up-converted, the difference

- 101 -
SP344993
matrix size transformation unit 562 advances the process to step S315.
[0259]
Furthermore, if it is determined in step S313 that residual_dovm_sampling_flag is not true, the difference matrix size transformation unit 562 advances the process to step S315 v/hile skipping the processing of step S314 (or v/ithout up-converting the difference matrix) .
[0260]
In step S315, the computation unit 564 adds the difference matrix to the prediction matrix to generate a scaling list for the current region. When the processing of step S315 is completed, the quantization matrix decoding process ends.
[0261]
<2-13. Flov/ of residual signal decoding process> Next, an example of the flovi of the residual signal decoding process executed in step S310 in Fig. 27 v/ill be described with reference to a flov/chart illustrated in Fig. 28.
[0262]
When the residual signal decoding process is started, in step S331, the exp-G unit 551 decodes the supplied exponential Golomb codes.
[0263]

- 102 -
SP344993
In step S332, the inverse DPCM unit 552 performs an inverse DPCM process on DPCM data obtained by the exp-G unit 551 through decoding. [0264]
When the inverse DPCM process is completed, the inverse DPCM unit 552 ends the residual signal decoding process, and returns the process to Fig. 27. [0265]
<2-14. Flow of inverse DPCM process>
Next, an example of the flovi of the inverse DPCM process executed in step S332 in Fig. 28 v/ill be described v/ith reference to a flowchart illustrated in Fig. 29. [0266]
When the inverse DPCM process is started, in step S351, the initial setting unit 571 acquires sizelD and MatrixID. [0267]
In step S352, the initial setting unit 571 sets coefNum as follov/s.
coefNum = min( {l«(4+(sizeID«l) } } , 65) [0268]
In step S353, the initial setting unit 571 sets a variable i and a variable nextcoef as follov/s.
i - 0
nextcoef - 8 [0269]

- 103 -
SP344993
In step S354, the DPCM decoding unit 572 determines v/hether or not variable i < coefNum. If the variable i is smaller than coefNum, the initial setting unit 571 advances the process to step S355. [0270]
In step S355, the DPCM decoding unit 572 reads DPCM data of the coefficient (scaling_list_delta__coef) . [0271]
In step S356, the DPCM decoding unit 572 determines nextcoef as belov/ using the read DPCM data, and further determines scalingList[i].
nextcoef = (nextcoef + scaling list_delta__coef -F 256) % 256
scalingList[i] = nextcoef [0272]
In step S357, the DC coefficient extraction unit 573 determines v/hether or not sizelD is larger than 1 and whether or not the variable i is equal to 0 (that is, the coefficient located at the beginning). If it is determined that sizelD is larger than 1 and the variable i represents the coefficient located at the beginning, the DC coefficient extraction unit 573 advances the process to step S358, and uses the coefficient as the DC coefficient (DC_coef = nextcoef) . When the processing of step S358 is completed, the DC coefficient extraction unit 573 advances the process

- 104 -
SP344993
to step S360.
[0273]
Furthermore, if it is determined in step S357 that sizelD is less than or equal to 1 or that the variable i does not represent the coefficient located at the beginning, the DC coefficient extraction unit 573 advances the process to step S359, and shifts the variable i for each coefficient by one because the DC coefficient has been extracted.
(ScalingList[(i"(sizeID)>l)?1;0] = nextcoef) If the processing of step S359 is completed, the DC coefficient extraction unit 573 advances the process to step S360.
[0274]
In step S360, the DPCM decoding unit 572 increments the variable i to change the processing target to the subsequent coefficient, and then returns the process to step S354.
[0275]
In step S354, the processing of steps S354 to S360 is repeatedly performed until it is determined that the variable i is greater than or equal to 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. 28.
[0276]
Accordingly, the difference between the DC coefficient and the AC coefficient located at the beginning of the AC

„ 105 -
SP344993
coefficients may be correctly decoded. Therefore, the image decoding device 300 can suppress an increase in the amount of coding of a scaling list.
[0277]
<3 . Third Embodiment>
<3-l. Syntax: Second method> Another method for transmitting a difference betv;een the DC coefficient and another coefficient, instead of the DC coefficient, may be to, for example, transmit a difference betv?een the DC coefficient and the (0, 0) component of an 8x8 matrix as DPCM data different from the DPCM data of the 8x8 matrix (second method) . For example, after DPCM transmission of an 8x8 matrix, the difference between the DC coefficient and the (0, 0) component of the 8x8 matrix may be transmitted.
[0278]
Accordingly, similarly to the first method, the compression ratio can be more improved v/hen the value of the
{0, 0) coefficient {AC coefficient) of an 8x8 matrix and the value of the DC coefficient are close to each other.
[0279]
Fig. 30 illustrates the syntax of a scaling list in the second method. In the example illustrated in Fig. 30, 64 difference values (scaling_list_delta_coef) between coefficients are read. Finally, the difference

- 106 -
SP344993
(scaling_list_dc_coef_delta) betv/een the DC coefficient and the (0, 0) coefficient (AC coefficient) is read, and the DC coefficient is determined from the difference.
[0280]
In the second method, accordingly, syntax for decoding AC coefficients can be similar to that of the related art illustrated in Fig. 12. That is, the syntax for the second method can be obtained by modifying the example of the related art by a small amount, and can be more feasible than that for the first method.
[0281]
However, whereas the second method does not allow an image decoding device to obtain the DC coefficient until the image decoding device have received all the coefficients and have decompressed all the DPCM data, the first method allov^s an image decoding device to restore the DC coefficient at the time v/hen the image decoding device receives the initial coefficient.
[0282]
An image encoding device that implements the syntax for the second method described above will be described hereinafter.
[0283]
<3-2. Detailed example configuration of DPCM unit> In the second method, the image encoding device 10 has

- 107 -
SP344993
a configuration basically similar to that in the first method described above. Specifically, the image encoding device 10 has a configuration as in the example illustrated in Fig. 14. Further, the orthogonal transform/quantization unit 14 has a configuration as in the example illustrated in Fig. 15. Further, the matrix processing unit 150 has a configuration as in the example illustrated in Fig. 16. [0284]
An example configuration of the DPCM unit 192 in the second example is illustrated in Fig. 31. As illustrated in Fig. 31, in the second example, 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. [0285]
The AC coefficient buffer 611 stores the initial AC coefficient (that is, the (0, 0) coefficient) supplied from the overlap determination unit 191. The AC coefficient buffer 611 supplies the stored initial AC coefficient (AC coefficient (0, 0)} to the DC coefficient DPCM unit 614 at a predetermined timing after all the AC coefficients have been subjected to a DPCM process, or in response to a request. [0286]
The AC coefficient encoding unit 612 acquires the initial AC coefficient (AC coefficient (0, 0)) supplied from

- 108 "
SP344993
the overlap determination unit 191, and subtracts the value of the initial AC coefficient from a constant (for example, 8) . The AC coefficient encoding unit 612 supplies a subtraction result (difference) to the exp-G unit 193 as the initial coefficient (scaling_list_delta_coef (1=0)) of the DPCM data of the AC coefficients.
[0287]
The AC coefficient DPCM unit 613 acquires the AC coefficients supplied from the overlap determination unit 191, determines, for each of the second and subsequent AC coefficients, the difference (DPCM) from the immediately preceding AC coefficient, and supplies the determined differences to the exp-G unit 193 as DPCM data
(scaling_list_delta_coef (i = 1 to 63) ) .
[0288]
The DC coefficient DPCM unit 614 acquires the DC coefficient supplied from the overlap determination unit 191 The DC coefficient DPCM unit 614 further acquires the initial AC coefficient (AC coefficient (0, 0)) held in the AC coefficient buffer 611. The DC coefficient DPCM unit 614 subtracts the initial AC coefficient (AC coefficient (0, 0)) from the DC coefficient to determine the difference therebetvjeen, and supplies the determined difference to the exp-G unit 193 as DPCM data of the DC coefficient
(scaling list dc coef delta).

„ 109 ~
SP344993
[0289]
As described above, in the second method, a difference betv/een the DC coefficient and another coefficient (the initial AC coefficient) is determined. Then, the difference is transmitted, as DPCM data of the DC coefficient {scaling__list__dc__coef__delta) different from DPCM data of the AC coefficients, after the transmission of DPCM data of the AC coefficients (scaling__list__delta__coef) that is a difference betv;een the AC coefficients. Accordingly, similarly to the first method, the image encoding device 10 can improve the coding efficiency of a scaling list. [0290]
<3-3. Flov; of DPCM process>
Also in the second method, the image encoding device 10 executes a quantization matrix encoding process in a manner similar to that in the first method described with reference to the flowchart illustrated in Fig. 20. [0291]
An example of the flovi of a DPCM process in the second method, v/hich is executed in step S112 in Fig. 20, vjill be described v^ith reference to a flowchart illustrated in Fig. 32. [0292]
When the DPCM process is started, in step S401, the AC coefficient buffer 611 holds the initial AC coefficient.

- 110 -
SP344993
[0293]
In step S402, the AC coefficient encoding unit 612 subtracts the initial AC coefficient from a predetermined constant (for example, 8} to determine the difference therebetv/een (initial DPCM data} .
[0294]
The processing of steps S403 to S405 is executed by the AC coefficient DPCM unit 613 in a manner similar to the processing of steps S133 to S135 in Fig. 21. That is, the processing of steps S403 to S405 is repeatedly executed to generate DPCM data of all the AC coefficients (the differences from the immediately preceding AC coefficients}.
[0295]
If it is determined in step S403 that all the AC coefficients have been processed (that is, if there is no unprocessed AC coefficient}, the AC coefficient DPCM unit 613 advances the process to step S406.
[0296]
In step S406, the DC coefficient DPCM unit 614 subtracts the initial AC coefficient held in step S401 from the DC coefficient to determine a difference therebetv/een
(DPCM data for the DC coefficient).
[0297]
When the processing of step S406 is completed, the DC coefficient DPCM unit 614 ends the DPCM process, and returns

- Ill -
SP344993
the process to Fig. 20.
[0298]
Accordingly, a difference betv;een the DC coefficient and another coefficient is also determined and transmitted to an image decoding device as DPCM data. Thus, the image encoding device 10 can suppress an increase in the amount of coding of a scaling list.
[0299]
<3-4. Detailed example configuration of inverse DPCM unit>
In the second method, the image decoding device 300 has a configuration basically similar to that in the first method. Specifically, also in the second method, the image decoding device 300 has a configuration as in the example illustrated in Fig. 22. Furthermore, the
dequantization/inverse orthogonal transform unit 313 has a configuration as in the example illustrated in Fig. 23. Moreover, the matrix generation unit 410 has a configuration as in the example illustrated in Fig. 24.
[0300]
Fig. 33 is a block diagram illustrating an example of a detailed configuration of the inverse DPCM unit 552 illustrated in Fig. 24 in the second method. Referring to Fig. 33, the inverse DPCM unit 552 includes an initial setting unit 621, an AC coefficient DPCM decoding unit 622,

- 112 -
SP344993
an AC coefficient buffer 623, and a DC coefficient DPCM decoding unit 624.
[0301]
The initial setting unit 621 acguires sizelD and MatrixID, and sets various variables to initial values. The initial setting unit 621 supplies the acguired and set information to the AC coefficient DPCM decoding unit 622.
[0302]
The AC coefficient DPCM decoding unit 622 acquires the DPCM data of the AC coefficients {scaling_list__delta_coef) supplied from the exp-G unit 551. The AC coefficient DPCM decoding unit 622 decodes the acguired DPCM data of the AC coefficients using the initial settings and the like supplied from the initial setting unit 621 to determine AC coefficients. The AC coefficient DPCM decoding unit 622 supplies the determined AC coefficients (ScalingList[i]) to the inverse overlap determination unit 553. The AC coefficient DPCM decoding unit 622 further supplies the initial AC coefficient {ScalingList[0], that is, the AC coefficient {0, 0)) among the determined AC coefficients to the AC coefficient buffer 623 for holding.
[0303]
The AC coefficient buffer 623 stores the initial AC coefficient (ScalingList[0], that is, the AC coefficient (0, 0)) supplied from the AC coefficient DPCM decoding unit 622.

- 113 -
SP344993
The AC coefficient buffer 623 supplies the initial AC coefficient (ScalingList[0], that is, the AC coefficient (0, 0)) to the DC coefficient DPCM decoding unit 624 at a predetermined timing or in response to a reguest. [0304]
The DC coefficient DPCM decoding unit 624 acguires the DPCM data of the DC coefficient (scaling list_dc coef delta) supplied from the exp-G unit 551. The DC coefficient DPCM decoding unit 624 further acquires the initial AC coefficient (ScalingList[0], that is, the AC coefficient (0, 0)) stored in the AC coefficient

CLAIMS [Claim 1] (Amended)
An image processing device comprising:
a setting unit configured to set a coefficient located at the beginning of a guantization matrix v/hose size is limited to not greater than a transmission size that is a maximum size allov/ed in transmission, by adding a replacement coefficient to a replacement difference coefficient that is a difference betvjeen the replacement coefficient and the coefficient located at the beginning of the guantization matrix, the replacement coefficient being used to replace a coefficient located at the beginning of an up-converted guantization matrix v/hich is obtained by up-converting the guantization matrix to the same size as a block size that is a unit of processing in v/hich deguantization is performed;
an up-conversion unit configured to up-convert the guantization matrix set by the setting unit to set the up-converted guantization matrix;
a replacement unit configured to replace a coefficient located at the beginning of the up-converted guantization matrix set by the up-conversion unit v;ith the replacement coefficient; and
a deguantization unit configured to deguantize guantized data obtained by decoding encoded data, using the

- 202 -
SP344993
up-converted quantization matrix in v/hich the coefficient located at the beginning has been replaced v/ith the replacement coefficient by the replacement unit. [Claim 2] (Amended)
The image processing device according to Claim 1, v/herein
the setting unit sets the replacement coefficient by adding an initial value set for the guantization matrix to a difference between the replacement coefficient and the initial value. [Claim 3]
The image processing device according to Claim 2, wherein
the setting unit sets coefficients of the quantization matrix using the replacement difference coefficient and difference coefficients that are differences between the coefficients of the guantization matrix. [Claim 4] (Amended)
The image processing device according to Claim 3, wherein
a difference value betv/een the replacement coefficient and the initial value/ the replacement difference coefficient/ and the difference coefficients are collectively transmitted, and
the setting unit sets the coefficients of the

- 203 -
SP344993
quantization matrix using the collectively transmitted difference value, replacement difference coefficient, and difference coefficients. [Claim 5] (Amended)
The image processing device according to Claim 3, wherein
the difference value, the replacement difference coefficient, and the difference coefficients have been encoded, and
the setting unit decodes the encoded difference value, the encoded replacement difference coefficient, and the encoded difference coefficients. [Claim 6]
The image processing device according to Claim 1, wherein
the up-conversion unit up-converts the quantization matrix whose size is limited to not greater than the transmission size, by performing a nearest neighbor interpolation process on matrix elements of the quantization matrix. [Claim 7]
The image processing device according to Claim 6, wherein
the transmission size is 8x8, and
the up-conversion unit up-converts a quantization

- 204 "
SP344993
matrix having an 8x8 size to a guantization matrix having a 16x16 size, by performing the nearest neighbor interpolation process on matrix elements of the guantization matrix having the 8x8 size. [Claim 8]
The image processing device according to Claim 6, v/herein
the up-conversion unit up-converts a guantization matrix having an 8x8 size to a guantization matrix having a 32x32 size, by performing the nearest neighbor interpolation process on matrix elements of the guantization matrix having the 8x8 size. [Claim 9]
The image processing device according to Claim 1, v^herein
a coding unit that is a unit of processing in v/hich a decoding process is performed and a transform unit that is a unit of processing in v;hich a transform process is performed have a layered structure,
the image processing device further comprises a decoding unit configured to perform a decoding process on the encoded data using a unit having a layered structure to generate the guantized data, and
the up-conversion unit up-converts the guantization matrix from the transmission size to a size of a transform

- 205 -
SP344993
unit that is a unit of processing in v/hich deguantization is performed. [Claim 10] (Amended)
An image processing method comprising:
setting a coefficient located at the beginning of a guantization matrix v/hose size is limited to not greater than a transmission size that is a maximum size allowed in transmission, by adding a replacement coefficient to a replacement difference coefficient that is a difference between the replacement coefficient and the coefficient located at the beginning of the guantization matrix, the replacement coefficient being used to replace a coefficient located at the beginning of an up-converted quantization matrix which is obtained by up-converting the guantization matrix to the same size as a block size that is a unit of processing in which deguantization is performed;
up-converting the set quantization matrix to set the up-converted quantization matrix;
replacing a coefficient located at the beginning of the set up-converted guantization matrix v/ith the replacement coefficient; and
deguantizing quantized data obtained by decoding encoded data, using the up-converted guantization matrix in which the coefficient located at the beginning has been replaced v/ith the replacement coefficient.

- 206 -
SP344993
[Claim 11] (Amended)
An image processing device comprising:
a setting unit configured to set a replacement difference coefficient that is a difference between a replacement coefficient and a coefficient located at the beginning of a quantization matrix v/hose size is limited to not greater than a transmission size that is a maximum size allov;ed in transmission, the replacement coefficient being used to replace a coefficient located at the beginning of an up-converted guantization matrix v/hich is obtained by up-converting the quantization matrix to the same size as a block size that is a unit of processing in which deguantization is performed;
a guantization unit configured to quantize an image to generate quantized data; and
a transmission unit configured to transmit encoded data obtained by encoding the quantized data generated by the guantization unit, replacement coefficient data obtained by encoding the replacement coefficient, and replacement difference coefficient data obtained by encoding the replacement difference coefficient set by the setting unit. [Claim 12] (Amended)
The image processing device according to Claim 11, v/herein
the setting unit sets a difference value betv/een the

- 207 "
SP344993
replacement coefficient and an initial value set for the quantization matrix, and
the transmission unit transmits the difference value set by the setting unit, as the replacement coefficient data [Claim 13]
The image processing device according to Claim 12, v^herein
the setting unit sets difference coefficients that are differences betv/een coefficients of the quantization matrix, and
the transmission unit transmits difference coefficient data obtained by encoding the difference coefficients set by the setting unit. [Claim 14] (Amended)
The image processing device according to Claim 13, v/herein
the transmission unit collectively transmits the replacement coefficient data, the replacement difference coefficient data, and the difference coefficient data. [Claim 15] (Amended)
The image processing device according to Claim 14, v;herein
the transmission unit transmits the replacement coefficient data, the replacement difference coefficient data, and the difference coefficient data in order of the

" 208 -
SP344993
replacement coefficient data, the replacement difference coefficient data, and the difference coefficient data. [Claim 16]
The image processing device according to Claim 11, v/herein
the quantization unit quantizes the image using the quantization matrix or the up-converted quantization matrix. [Claim 17]
The image processing device according to Claim 11, v?herein
a coding unit that is a unit of processing in v?hich an encoding process is performed and a transform unit that is a unit of processing in v/hich a transform process is performed have a layered structure, and
the image processing device further comprises an encoding unit configured to encode the quantized data generated by the quantization unit. [Claim 18] (Amended)
An image processing method comprising:
setting a replacement difference coefficient that is a difference betv?een a replacement coefficient and a coefficient located at the beginning of a quantization matrix vJhose size is limited to not greater than a transmission size that is a maximum size allov?ed in transmission, the replacement coefficient being used to

- 209 -
SP344993
replace a coefficient located at the beginning of an up-converted quantization matrix v/hich is obtained by up-converting the quantization matrix to the same size as a block size that is a unit of processing' in v/hich dequantization is performed;
quantizing an image to generate quantized data; and transmitting encoded data obtained by encoding the generated guantized data/ replacement coefficient data obtained by encoding the replacement coefficient/ and replacement difference coefficient data obtained by encoding the set replacement difference coefficient.
[Claim 19] (Canceled)
[Claim 20] (Canceled)
[Claim 21] (Canceled)
[Claim 22] (Canceled)
[Claim 23] (Canceled)
[Claim 24] (Canceled)
Dated this 21.08.2014

Documents

Application Documents

# Name Date
1 POWER OF AUTHORITY.pdf 2014-08-25
2 PCT-IB-304.pdf 2014-08-25
3 OTHER RELEVANT DOCUMENT.pdf 2014-08-25
4 FORM 5.pdf 2014-08-25
5 FORM 3.pdf 2014-08-25
6 FORM 2 _ SPECIFICATION.compressed.pdf 2014-08-25
7 DRAWING.pdf 2014-08-25
8 7042-delnp-2014-Correspondence-Others-(25-08-2014).pdf 2014-08-25
10 7042-DELNP-2014-Form 3-021214.pdf 2014-12-10
11 7042-DELNP-2014-Correspondence-021214.pdf 2014-12-10
12 7042 marked_200002170951.pdf 2015-03-12
13 7042 form 13_200002170950.pdf 2015-03-12
14 7042 amended claims_200002170950.pdf 2015-03-12
15 Form 3 [29-08-2016(online)].pdf 2016-08-29
16 7042-DELNP-2014-FER.pdf 2019-02-13
17 7042-DELNP-2014-PETITION UNDER RULE 137 [09-08-2019(online)].pdf 2019-08-09
18 7042-DELNP-2014-OTHERS [09-08-2019(online)].pdf 2019-08-09
19 7042-DELNP-2014-FER_SER_REPLY [09-08-2019(online)].pdf 2019-08-09
20 7042-DELNP-2014-DRAWING [09-08-2019(online)].pdf 2019-08-09
21 7042-DELNP-2014-CORRESPONDENCE [09-08-2019(online)].pdf 2019-08-09
22 7042-DELNP-2014-CLAIMS [09-08-2019(online)].pdf 2019-08-09
23 7042-DELNP-2014-ABSTRACT [09-08-2019(online)].pdf 2019-08-09
24 7042-DELNP-2014-Power of Attorney-190819.pdf 2019-08-22
25 7042-DELNP-2014-Correspondence-190819.pdf 2019-08-22
26 7042-DELNP-2014-PatentCertificate03-08-2022.pdf 2022-08-03
27 7042-DELNP-2014-IntimationOfGrant03-08-2022.pdf 2022-08-03

Search Strategy

1 2019-02-1211-35-03_12-02-2019.pdf

ERegister / Renewals

3rd: 30 Sep 2022

From 20/02/2015 - To 20/02/2016

4th: 30 Sep 2022

From 20/02/2016 - To 20/02/2017

5th: 30 Sep 2022

From 20/02/2017 - To 20/02/2018

6th: 30 Sep 2022

From 20/02/2018 - To 20/02/2019

7th: 30 Sep 2022

From 20/02/2019 - To 20/02/2020

8th: 30 Sep 2022

From 20/02/2020 - To 20/02/2021

9th: 30 Sep 2022

From 20/02/2021 - To 20/02/2022

10th: 30 Sep 2022

From 20/02/2022 - To 20/02/2023

11th: 30 Sep 2022

From 20/02/2023 - To 20/02/2024

12th: 19 Feb 2024

From 20/02/2024 - To 20/02/2025

13th: 14 Feb 2025

From 20/02/2025 - To 20/02/2026