Moving picture decoding method using additional quantization matrices
Abstract
This record has no abstract on file.
Term
Term ended
Projected expiry passed 26 January 2025, 1.7 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
1 claim: 1 independent, 0 dependent
- 1Patent claims Zastrzeżenia patentowe 1. A method of encoding and decoding moving images, comprising a method of encoding moving images for encoding a moving image and a method of decoding moving images for decoding an encoded image, the method of encoding moving images comprising the following steps:generating an array ID parameter to identify a quantization matrix different from the default quantization matrix ;1. Sposób kodowania i dekodowania ruchomych obrazów obejmujący sposób kodowania ruchomych obrazów do kodowania ruchomego obrazu oraz sposób dekodowania ruchomych obrazów do dekodowania zakodowanego obrazu, przy czym ten sposób kodowania ruchomych obrazów obejmuje następujące etapy: generowanie parametru ID macierzy w celu identyfikowania macierzy kwantyzacji różnej od domyślnej macierzy kwantyzacji;encoding the quantization matrix identified by the generated matrix ID parameter, wherein the quantization matrix is encoded in association with the matrix ID parameter;encoding the current image using a quantization matrix to generate data for the encoded current image;and adding the ID parameter of the matrix identifying the quantization matrix used in the current image coding to the data regarding the encoded current image, wherein the method of decoding moving images comprises the steps of: obtaining, from the encoded stream, a quantization matrix other than the default quantization matrix and the identifying matrix ID parameter quantization matrix, and storage of the quantization matrix and matrix parameter ID;kodowanie macierzy kwantyzacji zidentyfikowanej przez wygenerowany parametr ID macierzy, przy czym macierz kwantyzacji jest zakodowana w powiązaniu z parametrem ID macierzy;kodowanie bieżącego obrazu przy użyciu macierzy kwantyzacji w celu wygenerowania danych dotyczących zakodowanego bieżącego obrazu;oraz dodawanie parametru ID macierzy identyfikującego macierz kwantyzacji używaną w kodowaniu bieżącego obrazu, do danych dotyczących zakodowanego bieżącego obrazu, przy czym ten sposób dekodowania ruchomych obrazów obejmuje następujące etapy: pozyskanie, z zakodowanego strumienia, macierzy kwantyzacji innej niż domyślna macierz kwantyzacji i parametru ID macierzy identyfikującego macierz kwantyzacji, oraz przechowywanie macierzy kwantyzacji i parametru ID macierzy;extracting from the encoded stream an array ID parameter that has been added to the data generated when encoding the current image and is used to identify the quantization matrix used to encode the current image;wyodrębnienie, z zakodowanego strumienia, parametru ID macierzy, który został dodany do danych generowanych przy kodowaniu bieżącego obrazu i jest wykorzystywany do identyfikacji macierzy kwantyzacji użytej do zakodowania bieżącego obrazu;identifying, among the quantization matrices stored during said storage, a quantization matrix corresponding to the matrix ID parameter, and decoding the current image data using the identified quantization matrix, each image being composed of a luminance component, the first chrominance component and a second chrominance component, and a decoding method the image is characterized by the following stages: identyfikację, spośród macierzy kwantyzacji przechowanych podczas wspomnianego przechowywania, macierzy kwantyzacji odpowiadającej parametrowi ID macierzy, oraz dekodowanie danych bieżącego obrazu z wykorzystaniem zidentyfikowanej macierzy kwantyzacji, przy czym każdy z obrazów jest złożony z komponentu luminancji, pierwszego komponentu chrominancji i drugiego komponentu chrominancji, a sposób dekodowania obrazu jest znamienny tym, że obejmuje następujące etapy: pierwszy etap, w którym w przypadku, gdy w macierzy kwantyzacji zidentyfikowanej na podstawie wyodrębnionego parametru ID macierzy znajduje się oddzielna macierz kwantyzacji dla komponentu luminancji, macierz kwantyzacji dla pierwszego komponentu chrominancji i macierz kwantyzacji dla drugiego komponentu chrominancji, macierz kwantyzacji dla komponentu luminancji jest identyfikowana jako macierz kwantyzacji dla komponentu luminancji bieżącego obrazu, macierz kwantyzacji dla pierwszego komponentu chrominancji jest identyfikowana jako macierz kwantyzacji dla pierwszego komponentu chrominancji bieżącego obrazu, a macierz kwantyzacji dla drugiego komponentu chrominancji jest identyfikowana jako macierz kwantyzacji dla drugiego komponentu chrominancji bieżącego obrazu, drugi etap, w którym w przypadku, gdy macierz kwantyzacji dla pierwszego komponentu jest nieobecna, a macierz kwantyzacji dla drugiego komponentu chrominancji jest obecna w macierzy kwantyzacji zidentyfikowanej na podstawie wyodrębnionego parametru ID macierzy, macierz kwantyzacji dla drugiego komponentu jest identyfikowana, zamiast domyślnej macierzy kwantyzacji, jako macierz kwantyzacji dla pierwszego komponentu chrominancji bieżącego obrazu, oraz trzeci etap, w którym w przypadku, gdy zarówno macierz kwantyzacji dla pierwszego komponentu, jak i macierz kwantyzacji dla drugiego komponentu chrominancji jest nieobecna w macierzy kwantyzacji zidentyfikowanej na podstawie wyodrębnionego parametru ID macierzy, macierz kwantyzacji dla komponentu luminancji jest identyfikowana, zamiast domyślnej macierzy kwantyzacji, jako macierz kwantyzacji dla pierwszego komponentu chrominancji i drugiego komponentu chrominancji bieżącego obrazu. the first stage in which, in the case where the quantization matrix identified by the extracted matrix ID parameter has a separate quantization matrix for the luminance component, the quantization matrix for the first chrominance component and the quantization matrix for the second chrominance component, the quantization matrix for the luminance component is identified as quantization matrix for the luminance component of the current image, the quantization matrix for the first chrominance component is identified as the quantization matrix for the first chrominance component of the current image, and the quantization matrix for the second chrominance component is identified as the quantization matrix for the second chrominance component of the current image, the second stage in which where the quantization matrix for the first component is absent, and the quantization matrix for the second chrominance component is present in the quantization matrix identified based on the extracted matrix ID parameter, the quantization matrix for the second component is identified, instead of the default quantization matrix, as the quantization matrix for the first chrominance component of the current image, and the third stage in which the case where both the quantization matrix for the first component, and as the quantization matrix for the second chrominance component is absent in the quantization matrix identified by the extracted matrix ID parameter, the quantization matrix for the luminance component is identified, instead of the default quantization matrix, as the quantization matrix for the first chrominance component and the second chrominance component of the current image. 2. The method of encoding and decoding a moving image according to claim 1, wherein the matrix parameter ID is added to the encoded current image data to each image, segment or macroblock. 2. Sposób kodowania i dekodowania ruchomego obrazu według zastrzeżenia 1, w którym parametr ID macierzy jest dodawany do danych zakodowanego bieżącego obrazu, do każdego obrazu, segmentu lub makrobloku. 3. The method of encoding and decoding a moving image according to claim 1, wherein the quantization matrix is encoded in each set of images or in each individual segment. 3. Sposób kodowania i dekodowania ruchomego obrazu według zastrzeżenia 1, w którym macierz kwantyzacji jest kodowana w każdym zbiorze obrazów lub w każdym pojedynczym segmencie. Panasonic Corporation Pełnomocnik: Panasonic Corporation Proxy: EP 2 384 002 B1 EP 2 384 002 B1 Rysunek tk Tissue drawing PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 ra (Λ ^ ΙΛ EP 2 384 002 B1 ra (Λ ^ΙΛ CN d CN d L-I ł—I Lirtj - - </) n ar O n O. uu Lirtj — — </) n ar O n O. u u ra ra O c Oh about o Cl high frequency Cl wysoka częstotliwość PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 105 105 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 FIG FIG PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 macierz kwantyzacji przechowywana? EP 2 384 002 B1 quantization matrix stored FIG. 8 FIG. 8 S102 S102 N L· NL · S105 generate parameters S105 wygeneruj parameti ID macierzy Matrix ID TAK YES 5106 keep the quantization matrix 5106 przechowaj macieiz kwantyzacji 5107 5107 Ξ103 spaces ^ above ^ will receive the appropriate matrix ID parameter Ξ103 umiescji^nade^j otrzymaj odpowiedni parametr ID macieizy 5108 5108 -'SI 04 describe par. and About matrix and quantization matrix -'SI 04 opisz par. i O macieizy oraz macierz kwantyzacji Ultiiesc ID macierzy w zbiorze parametrów Ultiiesc ID of the matrix in the parameter set END c KONIEC c SI ART SI ART S101 otrzymaj macierz kwantyzacji S101 will get a quantization matrix PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 FIG. FIG. Indeks Index PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 czy jest macierz kwantyzacji dla danego typu \c h ro m i na n cj i^^ ^''czy jesc”*'·^ acierz kwantyzac dia innego typu L ^ch rominancj i?^ macie EP 2 384 002 B1 is there a quantization matrix for a given type \ n and n ^ ^ '' or eat '*' · ^ choose a quantization for another type L ^ ch rominance and? ^ you have FIG. 11 FIG. 11 START START S301 S301 TAK YES NIE NO S303 S303 TAK YES S304 S304 S305 S305 DO NOT use the quantization matrix for quantization for other chrominance type luminance NIE uzyj macierzy kwantyzacji dla kwantyzacji dla luminancii nnego typu chrominancji 530 <and use the quantization matrix for the given chrominance type 530<i użyj macierzy kwantyzacji dla danego typu chrominancji PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 EP 2 384 002 B1 PL-PAT-2012-543 PL-PAT-2012-543 EP 2 384 002 B1 agrywarkaex420 EP 2 384 002 B1 agrywarkaex420 PL-PAT-2012-543 PL-PAT-2012-543
78 paragraphs in 2 sections, as filed
[0001] The present invention relates to a method of encoding moving images for encoding moving images and creating streams and a method for decoding moving images for decoding such coded streams as well as these streams.
Description of the Prior Art [0002] In the era of multimedia, which fully use audio, video and other pixel values, existing information media, i.e. newspapers, magazines, television, radio, telephone and other means by which information is delivered to people, have recently been included in multimedia. Multimedia in general means something that is represented by combining not only characters, but also graphics, audio, and in particular images and the like. However, to include these existing media for multimedia, you must first represent them in digital form.
[0003] However, if we count the amount of information contained in each of the mentioned means of information as the amount of digital information, it turns out that 64 kbit / s for audio (telephone quality) and 100 Mbit / s for moving images (the quality of current television) is found if the amount of information for characters is 1 to 2 bytes per character. Therefore, in the case of these media it is not realistic to use such a huge amount of information as it is in digital form. For example, despite the fact that videophones using ISDN (Integrated Service Digital Network) offering transmission speed of 64 kbit / s to 1.5 Mbit / s, video transmission of television and cameras directly via the network are already in use. ISDN is not practical.
[0004] Against this background, there is a need for information compression techniques; in videophones, for example, mobile image compression techniques are used in accordance with H. 261 and H. 263 standards, recommended by ITU-T (International Telecommunication Union - Telecommunication Standarization Sector, Telecommunication Standardization Sector of the International Union
Telecommunications). Moreover, information compression techniques according to the MPEG-1 standard allow information to be stored as images on a regular music compact disc along with information in the form of sound.
[0005] In this document, MPEG (Moving Picture Experts Group) is an international standard for compressing moving image signals according to ISO / IEC (International Organization for Standardization / International Electrotechnical Commission).
Standardization / International Electrotechnical Commission), and MPEG-1 is a standard for compressing information in the TV signal to approximately one hundredth, so that the signals of moving images2 can be transmitted at a speed of 1.5 Mbit / s. What's more, because the transmission speed achieved using the MPEG-1 standard is an average quality speed of about 1. 5 Mbit / s, MPEG-2 standardized to meet the requirement of further improvement of image quality enables data transmission equivalent in terms of quality of broadcast television, where the signals of moving images are transmitted at a speed of 2 to 15 Mbit / s. In addition, MPEG-4 has been standardized by a working group (ISO / IEC JTC1 / SC29 / WG11) promoting the standardization of MPEG-1 and MPEG-2. MPEG-4, providing a higher compression ratio than MPEG-1 and MPEG-2 and enabling object-based encoding / decoding, is adapted to provide the new functionality required in the multimedia era. At the initial stage of standardization, MPEG-4 was intended to provide a low bit rate coding method, but was expanded to a standard supporting more general coding supporting interlaced images as well as high bit rate coding. Currently, the joint effort of ISO / IE Increasing ITU-T is focused on the standardization of MPEG-4 AVC and ITU-T H. 264 as the next generation image coding methods offering a higher degree of compression. As of August 2002, a project (CD) was published on how to encode the next generation image.
[0006] In general, when encoding a moving image, some information is compressed by reducing the time and space redundancy. Therefore, in coding with inter-picture prediction which aims to reduce time redundancy, motion estimation and generation of a predictive image are performed block by block with reference to the next and previous image (s), the coding is then carried out on the value of the difference between the received image predictive and current image to be encoded. In this document, the word "picture" means one image. In the case of a progressive image, "picture" means a frame, while in the case of "interlaced image" means a frame or semi-image (field). Interlaced image in this document means an image or a frame composed of two half images separated at the time of shooting. When encoding and decoding interlaced images, it is possible to handle one frame as a frame, as two half images, or as a frame structure or half frame structure block by block within a frame.
[0007] An image to be coded using intra-image prediction without reference to other images will be called an I image. An image to be coded using inter-image prediction with reference to one image only will be called a P image. An image to be coded using inter-image prediction with reference to two images at the same time it will be called the image B. It is possible for the B image to refer to two images that can be arbitrarily created from the next / preceding images in the display order. Reference images may be specified for each block serving as the basic coding / decoding unit. Reference images should be distinguished by naming the reference image to be described first in the encoded bit stream with the first reference image and naming the reference image to be described later in the bit stream with the second reference image. It should be noted that the condition for encoding and decoding images of this type is that the images used for reference are already encoded and decoded.
[0008] P and B images are encoded using inter-picture prediction with motion compensation. Coding using inter-picture prediction with motion compensation is a coding method that uses motion compensation in coding with inter-picture prediction. Unlike the prediction method simply based on pixel values in the reference image, motion estimation is a technique that allows you to improve the accuracy of the prediction, as well as reduce the amount of data by estimating the amount of motion (which in this document is called the motion vector) of each part within the image and then by making a prediction based on that amount of traffic. For example, it is possible to reduce the amount of data by means of motion compensation by estimating the motion vectors of the current image to be encoded, and then by coding the prediction residuals between the prediction values obtained by shifting only the values of the corresponding motion vectors and the current image to be encoded. In this solution, motion vectors are also recorded or transmitted in coded form, as the information contained in the motion vector is needed during decoding.
[0009] Motion vectors are estimated for individual macroblocks. More specifically, the macroblock should be predetermined in the current image to be encoded in order to estimate the motion vectors by finding the location of the most similar reference block for such a fixed macroblock within the search area in the reference image.
[0010] Fig. 1 is a diagram illustrating an exemplary bit stream data structure. As can be seen in Fig. 1, the bit stream has a hierarchical structure as described below. The bit stream (stream) is made of more than one image group (GOP). By using GOP groups as basic coding units, it becomes possible to edit the moving image as well as free access. Each GOP is formed by a number of images, each of which is an I image, a P image or a B image. Next, each image is formed from a number of segments. Each segment, being a strip-shaped area within each image, is made up of a number of macroblocks. Furthermore, each stream, GOP, image and segment contain a synchronization signal (sync) to indicate the endpoint of each unit and header, being the usual data for each of said units.
[0011] It should be noted that when data is not transferred in a bit stream constituting the sequence of streams, but in packets etc. constituting unordered units, the header and part of the data other than the header may be transferred separately. In this case, the header and part of the data are not to be included in the same bit stream as shown in Fig. 1. In the case of a packet, however, even if the header and part of the data are not transmitted in the vicinity, it is easy to see that the header specific to the data part is transferred in another packet. Therefore, even when the header and part of the data are not included in the same data stream, the coded stream concept described with reference to Fig. 1 can also be used for packets.
[0012] In general, the human sense of sight is more sensitive to low-frequency components than to high-frequency components. Moreover, because the energy of the low-frequency components in the image signal is greater than the energy of the high-frequency components, the image coding is carried out in the order from low-frequency components to high-frequency components. As a result, the number of bits required for encoding the low frequency components is greater than the number of bits required for the high frequency components. [0013] In view of the above, in existing coding methods, when quantizing transformation coefficients at appropriate frequencies obtained from orthogonal transformation, larger quantization steps are used for high-frequency components than for low-frequency components . This allows conventional coding methods to achieve a significant increase in compression with little loss of image quality felt by viewers.
[0014] Meanwhile, since the size of the quantization steps of the high frequency components relative to the low frequency components depend on the image signal, it is conventional to use the technique for changing the size of the quantization steps for the respective frequency components on an image-by-image basis. The quantization matrix is used to determine the quantization steps of the respective frequency components. Fig. 2 shows an exemplary quantization matrix. In this figure, the upper left component is a constant component, while the components on the right are horizontal high frequency components, and the components on the bottom are vertical high frequency components. The quantization matrix shown in Fig. 2 also indicates that a larger quantization step is used for a larger value. It is usually possible to use different quantization matrices for each image, with the matrix to be used described in the header of each image. Therefore, even if the same quantization matrix is used for all images, it is described in the header of each image and transferred again and again.
[0015] Meanwhile, the current MPEG-4 AVC standard does not include the quantization matrix, as is the case with MPEG-2 and MPEG-4. As a result, it is difficult to achieve optimal subjective quality of the MPEG-4 AVC coding method and other methods that use uniform quantization for all DCT or DCT-like coefficients. When we introduce such a matrix quantization scheme, we must enable current MPEG-4 AVC or other standards to provide a quantization matrix for compatibility with existing standards.
[0016] In addition, due to improved coding efficiency, MPEG-4 AVC can potentially find application in various applications. Versatility is guaranteed by the use of different sets of quantization matrixes for different applications, different sets of quantization matrixes for different color channels, etc. Encoders can choose different quantization matrices depending on the application or image to be encoded. For this reason, we need to develop an effective definition of the quantization matrix and a protocol for its introduction to ensure flexible but effective transmission of information about the quantization matrix.
Disclosure of the Invention [0017] The present invention was invented in view of the above circumstances and its purpose is to provide a video coding method according to claim 1.
[0018] The article entitled "Quantization Tools for High Quality Video" published under ISO / IEC JTC1 / SC29 / WG11 and ITU-T SG16 Q.6 reveals that it has been proposed to extend quantization to support high quality video using a weight matrix and an extended quantization table. The encoder uses the adaptive matrix of weights and encodes it in the bit stream. The QP range expands to -8 and new weight matrices are created. The weight matrix is best transmitted out of band and through parameter sets in NAL. The weight matrix should change higher than the image layer. The extension of the quantization table in combination with the quantization matrix is necessary for high quality video coding.
[0019] The article entitled 'New Quantization Tools' published under ISO / IEC JTC1 / SC29 / WG11 deals with similar topics and reveals that in striving to standardize new video coding technology, tests have shown in relation to supporting high quality video the existence of a number of problems arising from quantization.
Brief Description of the Drawings [0020] These and other objects, advantages and features of the invention will become apparent upon reading the following description thereof together with the accompanying drawing, which shows a specific embodiment of the invention. In the drawing:
Fig. 1 is a diagram illustrating an example bit stream data structure,
Fig. 2 is a diagram illustrating an example quantization matrix,
Fig. 3 is a block diagram showing the structure of a moving image coding apparatus implementing the method of coding a moving image according to the present invention,
Fig. 4 is a diagram showing the relationship between sequence parameter sets, image parameter sets and images,
Fig. 5 is a diagram showing part of the structure of a set of sequence parameters,
Fig. 6 is a diagram showing part of the structure of a set of image parameters,
Fig. 7 is a diagram showing an exemplary description of a quantization matrix in a set of parameters,
Fig. 8 is a flowchart showing the operations performed to place the matrix ID parameter,
Fig. 9 is a block diagram showing the structure of a device for decoding moving images according to the present invention.
Fig. 10 is a flowchart showing operations performed to identify a quantization matrix,
Fig. 11 is a flowchart showing operations performed to identify a quantization matrix to be used for chrominance components,
Fig. 12 is a diagram showing the relationship between quantization matrices transferred as separate data and quantization matrices to be used for a sequence,
Fig. 13 to 13C are diagrams illustrating a recording medium in which a program is stored for implementing, by a computer system, a method of encoding moving images and a method for decoding moving images according to the above embodiment, and in particular Fig. 13A is a diagram illustrating an exemplary physical format of a flexible disk constituting the basic part of the recording medium, Fig. 13B is a front view of the flexible disk in front view, in cross-section, and the flexible disk itself, and Fig. 13C is a diagram illustrating the structure for recording and reproducing the above program on and from the flexible disk,
Fig. 14 is a block diagram showing the overall configuration of the content delivery system implementing the content distribution service,
Fig. 15 is a block diagram showing an exemplary cell phone,
Fig. 16 is a block diagram showing the internal structure of a cell phone, a
Fig. 17 is a diagram showing the overall configuration of a digital spreading system.
Description of the Most Preferred Embodiments of the Invention [0021] Embodiments of the present invention are described by referring to the diagrams. (First embodiment) [0022] Fig. 3 is a block diagram showing the construction of a moving image coding apparatus that is an embodiment of the method of coding a moving image according to the present invention.
[0023] The device for coding moving images 1 is a device for performing compression on the input image signal Vin and outputting the encoded stream Str, which has been encoded into a bit stream by implementing variable length coding, etc. As can be seen in Fig. 3, such an image coding device 3 includes a motion estimation module 101, motion compensation module 102, subtraction module 103, orthogonal transformation module 104, quantization module 105, reverse quantization module 106, reverse orthogonal transformation module 107, addition module 108, image memory 109, switch 110, variable length coding module 111, and quantization matrix storage module 112.
[0024] The image signal Vin is fed to the subtraction module 103 and the motion estimation module 101. The subtraction module 103 calculates the residual pixel values between each image in the input image signal Vin and each predictive image, and provides the calculated residual pixel values to the orthogonal transformation module 104. The orthogonal transformation module 104 converts the residual pixel values to frequency coefficients that it gives to the quantization module 105. Quantization module 105 quantizes the input frequency coefficients using the specified WM quantization matrix, and reports the resulting quantized Qcoef values to the variable length coding module 111.
[0025] Inverse quantization module 106 performs inverse quantization on quantized Qcoef values using the specified WM quantization matrix so as to convert them into frequency coefficients fed to inverse orthogonal transformation module 107. Inverse orthogonal transform module 107 performs inverse frequency transformation on frequency coefficients, yes to convert them to residual pixel values fed to the adder 108. The addition module 108 adds residual pixel values to each of the predictive images given by the motion estimation module 102, so as to create a decoded image. The switch 110 turns on when the decoded image should be saved and the decoded image is stored in the image memory 109.
[0026] At the same time, the image estimation module 101, which receives the image signal Vin in the form of macroblocks, detects in the decoded image stored in image memory 109 the image area closest to the image signal and the given image signal Vin and determines the MV motion vector (s) indicating the location of such area. Motion vectors are estimated for each block obtained by further macroblock splitting. After completing these operations, it is possible to use more images as reference images. The result is that because more images can be used as reference images, block by block, identification numbers (index reference index) are required to identify the corresponding reference images. The use of a reference index index enables each of the reference images to be identified by associating each of the images stored in image memory 109 with the image number designated for that image.
[0027] Motion compensation module 102 selects, as a predictive image, the most suitable image area from among the decoded images stored in image memory 109, using motion vectors determined during the processing described above, and an index of reference indexes.
[0028] The quantization matrix storage module 112 stores a WM quantization matrix that has already been provided as part of a set of parameters, and a matrix ID parameter identifying this quantization matrix in a manner in which they have been associated with each other.
[0029] The variable length coding module 111 receives from the storage module of quantization matrix 112 the matrix parameter ID corresponding to the WM quantization matrix used for quantization. The variable length coding module 111 also performs variable length coding on Qcoef quantization values, matrix ID parameters, reference index index, "Ptype" image types, and MV motion vectors to obtain the encoded Str. Stream.
[0030] Fig. 4 is a diagram showing the relationship between sequence parameter sets, image parameter sets and images, Fig. 5 is a diagram showing part of the structure of a set of sequence parameters, and Fig. 6 is a diagram showing part of the structure of the set of image parameters8. Since the image consists of segments, all segments contained in the same image have identifiers indicating the same set of image parameters.
[0031] In MPEG AVC there is no header concept, and common data is placed at the top of the sequence under the description of the parameter set. There are two types of parameter sets, a set of PPS image parameters that represent data corresponding to the header of each image, and a set of SPS sequence parameters corresponding to the header of the GOP group or sequence in MPEG-2. The SPS sequence parameter set contains the number of images available as reference images, image size, etc. , while the PPS image parameter set contains a variable-length encoding type (switching between Huffman coding and arithmetic coding), default values of the quantization matrix, number of reference images, etc.
[0032] An SPS sequence parameter set is assigned an identifier, wherein the sequence to which the image belongs is identified by indicating that identifier in the PPS image parameter set. Also, an identifier is assigned to the PPS image parameter set, wherein the PPS set to be used is identified by indicating that identifier in the segment.
[0033] For example, in the example of Fig. 4, image # 1 contains the identifier (PPS = 1) of the PPS image parameter set referenced by segments contained in image # 1. The image parameter set # 1 contains the identifier (SPS = 1) of the reference parameter set for reference.
[0034] Furthermore, as shown in Fig. 5 and Fig. 6, the SPS sequence parameter set and the PPS image parameter set include flags 501 and 601, respectively, indicating whether or not quantization matrices are carried, and in the case where the quantization matrices have be transferred, quantization matrices 502 and 602 are described in these collections.
[0035] The quantization matrix can be changed adaptively to the quantization unit (e.g., 4 horizontally x 4 pixels vertically and 8 pixels horizontally x 8 pixels vertically).
[0036] Fig. 7 is a diagram showing an exemplary description of a quantization matrix in a set of parameters.
[0037] As the image signal Vin consists of luminance components and two types of chrominance components, it is possible for quantization to use different quantization matrices separately for luminance components and two types of chrominance components. It is also possible to use different quantization matrices separately for in-picture and inter-picture coding.
[0038] Therefore, for example, as shown in Fig. 7, it is possible to describe the quantization matrix for the quantization unit, luminance components and two types of chrominance components, respectively, as well as in-picture and inter-picture coding.
[0039] The operations performed to place the matrix ID parameters in the device for encoding moving images with the above structure will be explained. Fig. 8 is a flowchart showing the operations performed to place the matrix ID parameter.
[0040] The variable length coding module 111 receives the WM quantization matrix used for quantization (step S101). Then, the variable length coding module 111 determines whether the obtained WM quantization matrix is stored in the quantization matrix storage module 112 or not (step S102). In the case where the obtained WM quantization matrix is stored in the storage module of quantization matrix 112 (YES in step 102), the variable length coding module 111 receives the matrix ID parameter corresponding to the obtained WM quantization matrix from the storage module of quantization matrix 112 (step S103).
Then the variable length coding module 111 places the obtained matrix ID parameter in predefined units (e.g., each image, segment or macroblock) (step S104). [0041] On the other hand, in the event that the resulting WM quantization matrix is not stored in the quantization matrix storage module 112 (NOT in step 102), the quantization matrix storage module 112 generates the matrix parameter ID for this WM quantization matrix (step S105). Then, the quantization matrix storage module 112 stores this WM quantization matrix and matrix ID parameter in a manner in which they are associated with each other (step S106). The variable length coding module 111 places the generated matrix ID parameter in predefined units (e.g., in each image, segment or macroblock) (step S107). The variable length coding module 111 describes the generated matrix ID parameter and the WM quantization matrix in the parameter set (step S108). It should be noted that the set of parameters in which said matrix ID parameter and WM quantization matrix are described is provided earlier in the coded stream Str than the predefined units (i.e., the encoded data quantized using this WM quantization matrix) in which matrix ID parameter is placed.
[0042] As described above, because WM quantization matrices are described in the parameter set and provided, while only the matrix ID parameter identifying the WM quantization matrix used in the predefined units (e.g. each image, segment or macroblock) is placed in them , there is no need to describe the WM quantization matrix used in each of the predefined units. Therefore, it becomes possible to reduce the amount of data to be encoded and achieve effective coding.
[0043] It should be noted that it is possible to update the WM quantization matrix transferred in the SPS sequence parameter set and transfer the updated matrix (with the same ID parameter) in the PPS image parameter set. In this case, the updated WM quantization matrix is only used when referencing the PPS image parameter set.
[0044] It is also possible to include in the coded stream a flag indicating switching between the default WM quantization matrix and the WM quantization matrix identified by the matrix ID parameter. In this case, the default WM quantization matrix is replaced by the WM quantization matrix identified by the matrix ID parameter applied to the flag.
[0045] Fig. 9 is a block diagram showing the structure of a device for decoding moving images according to the present invention.
[0046] The moving image decoding device 2 is a device that decodes the encoded stream obtained by encoding with the moving image coding device 1 described above, and includes a variable length decoding module 201, quantization matrix storage module 202, image memory 203, module motion compensation 204, inverse quantization module 205, inverse orthogonal transformation module 206 and addition module 207.
[0047] The variable length decoding module 201 decodes the encoded stream Str and displays the quantized Qcoef values, reference index index, image type "Ptype" and motion vectors
MV. The variable length decoding module 201 also decodes the encoded stream, identifies the WM quantization matrix based on the extracted matrix ID parameter and displays the identified WM quantization matrix.
[0048] The WM quantization matrix storage module 202 binds the WM quantization matrix, which has already been provided in the parameter set, with the matrix ID identifying the WM quantization matrix, and stores it.
[0049] The quantized Qcoef values, reference index index and MV motion vectors are fed to image memory 203, motion compensation module 204 and inverse quantization module 205, and decoding is performed on them. The operations performed for decoding are the same as those in the moving image coding apparatus 1 shown in Fig. 3.
[0050] The operations carried out to identify the quantization matrix in the moving image decoding apparatus having the structure described above will be explained below. Fig. 10 is a flowchart showing operations performed to identify a quantization matrix.
[0051] The variable length decoding module 201 decodes the encoded stream Str and extracts the matrix ID parameter placed in predefined units (step S201). Then, the variable length decoding module 201 identifies the WM quantization matrix among the quantization matrices stored in the quantization matrix storage module 202 based on the extracted matrix ID parameter (step S202). Then, the variable length decoding module 201 provides the identified WM quantization matrix to the inverse quantization module 205 (step S203).
[0052] As described above, since WM quantization matrices are described in the parameter set and provided, it is possible, in predefined units (e.g. in each image, segment or macroblock), to decode the coded stream in which only the ID parameter is placed matrix identifying the WM quantization matrix used.
[0053] It should be noted that in this embodiment, WM quantization matrices are described in the parameter set and provided, however, the present invention is not limited to such a case. For example, quantization matrices can be pre-transmitted independently of an encoded stream.
[0054] By the way, since the image signal Vin consists of luminance components and two types of chrominance components, as described above, it is possible to use different separate quantization matrices for the quantization of luminance components and two types of chrominance components. It is also possible to use a uniform quantization matrix for all components.
[0055] The operations carried out to identify the quantization matrix to be used for chrominance components will be explained below. Fig. 11 is a flowchart showing operations performed to identify a quantization matrix to be used for chrominance components.
[0056] The variable length decoding module 201 determines whether among the WM quantization matrices identified as described above (step S301) there is a quantization matrix for chrominance components of the type corresponding to current decoding. For example, if the quantized Qcoef value to be decoded is the first chrominance component, this module determines whether there is a quantization matrix for the first chrominance components. In case the quantized Qcoef value to be decoded is the second chrominance component, this module determines whether there is a quantization matrix for the second chrominance components. When there is a quantization matrix for the respective type of chrominance components (YES in step 301), this module reports the quantization matrix of the respective chrominance component to the inverse quantization module 205 as the matrix to be used (step S302).
[0057] On the other hand, if there is no such quantization matrix of the corresponding chrominance component11 (NOT in step S301), the variable length decoding module 201 determines whether there is a quantization matrix for another type of chrominance components (step S303). For example, if the quantized Qcoef value to be decoded is the first chrominance component, this module determines whether there is a quantization matrix for the second chrominance components. If the quantized Qcoef value to be decoded is the second chrominance component, this module determines whether there is a quantization matrix for the first chrominance components. If there is a suitable quantization matrix for another type of chrominance components (YES in step S303), this module reports the quantization matrix for another type of chrominance components to the inverse quantization module 205 as the matrix to be used (step S304). On the other hand, if there is no quantization matrix for another type of chrominance components (NOT in step S303), this module gives the quantization matrix for luminance components to the inverse quantization module 205 as the matrix to be used (step S305).
[0058] As a result, it becomes possible to decode the coded stream even in the absence of a quantization matrix for chrominance.
Industrial Use [0059] As described above, the method of encoding moving images and the method of decoding moving images of the present invention are useful as methods of encoding moving image images to generate an encoded stream and to decode the generated encoded stream in devices such as mobile phones, devices DVDs and personal computers.
Panasonic Corporation Proxy:
PL-PAT-2012-543
EP 2 384 002 B1
Contents2
70 members in 8 offices
Priority claims14
| Document | Office | Kind | Date |
|---|---|---|---|
| 54049904 | United States of America | P | |
| 54049904 | United States of America | P | |
| 55290704 | United States of America | P | |
| 55290704 | United States of America | P | |
| 56135104 | United States of America | P | |
| 56135104 | United States of America | P | |
| 05712072 | European Patent Office (EPO) | A | |
| 05712072 | European Patent Office (EPO) | A | |
| 11175220 | European Patent Office (EPO) | A | |
| EP20050712072 | – | – | – |
| EP20110175220 | – | – | – |
| US20040540499P | – | – | – |
| US20040552907P | – | – | – |
| US20040561351P | – | – | – |
Members70
| Document | Office | Kind | |
|---|---|---|---|
| WO2005072312A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2005076613A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2005076614A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2005072312A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1665133A2 | European Patent Office (EPO) | A2 | |
| WO2005072312A8 | World Intellectual Property Organization (WIPO) | A8 | |
| EP1709801A1 | European Patent Office (EPO) | A1 | |
| EP1714484A1 | European Patent Office (EPO) | A1 | |
| KR20060115998A | Republic of Korea | A | |
| KR20060134900A | Republic of Korea | A | |
| CN1910594A | China | A | |
| CN1910921A | China | A | |
| CN1910922A | China | A | |
| KR20070026289A | Republic of Korea | A | |
| JP2007520165A | Japan | A | |
| JP2007520948A | Japan | A | |
| JP2007535191A | Japan | A | |
| US2007292039A1 | United States of America | A1 | |
| US2008089410A1 | United States of America | A1 | |
| US2008192838A1 | United States of America | A1 | |
| EP1714484A4 | European Patent Office (EPO) | A4 | |
| EP1665133A4 | European Patent Office (EPO) | A4 | |
| CN100542262C | China | C | |
| US7630435B2 | United States of America | B2 | |
| US2010054330A1 | United States of America | A1 | |
| CN101695132A | China | A | |
| CN101699866A | China | A | |
| EP1709801A4 | European Patent Office (EPO) | A4 | |
| US7912122B2 | United States of America | B2 | |
| US7933327B2 | United States of America | B2 | |
| JP4679524B2 | Japan | B2 | |
| JP2011091847A | Japan | A | |
| JP2011091848A | Japan | A | |
| US2011110423A1 | United States of America | A1 | |
| JP2011101420A | Japan | A | |
| JP2011109711A | Japan | A | |
| JP4705921B2 | Japan | B2 | |
| US2011150082A1 | United States of America | A1 | |
| US2011150083A1 | United States of America | A1 | |
| KR20110082090A | Republic of Korea | A | |
| US7995650B2 | United States of America | B2 | |
| KR101065998B1 | Republic of Korea | B1 | |
| EP2373033A2 | European Patent Office (EPO) | A2 | |
| EP2384002A1 | European Patent Office (EPO) | A1 | |
| KR101082233B1 | Republic of Korea | B1 | |
| EP2373033A3 | European Patent Office (EPO) | A3 | |
| KR101136629B1 | Republic of Korea | B1 | |
| US8194734B2 | United States of America | B2 | |
| CN101695132B | China | B | |
| US8218623B2 | United States of America | B2 | |
| KR101169895B1 | Republic of Korea | B1 | |
| EP1709801B1 | European Patent Office (EPO) | B1 | |
| US2012243603A1 | United States of America | A1 | |
| US2012243604A1 | United States of America | A1 | |
| JP5048826B2 | Japan | B2 | |
| ES2392437T3 | Spain | T3 | |
| JP5102344B2 | Japan | B2 | |
| PL1709801T3 | Poland | T3 | |
| US8396116B2 | United States of America | B2 | |
| US8401074B2 | United States of America | B2 | |
| CN1910922B | China | B | |
| US8477838B2 | United States of America | B2 | |
| JP5249363B2 | Japan | B2 | |
| EP2384002B1 | European Patent Office (EPO) | B1 | |
| ES2563295T3 | Spain | T3 | |
| PL2384002T3This record | Poland | T3 | |
| CN101699866B | China | B | |
| USRE46500E | United States of America | E | |
| USRE48401E | United States of America | E | |
| EP3869802A1 | European Patent Office (EPO) | A1 |
Numbers
- Publication, DOCDB
- 2384002
- Publication, EPODOC
- PL2384002T
- Application
- 20110175220
- Application, DOCDB
- 11175220
- Application, EPODOC
- PL20110175220T
Titles2
- English
- Moving picture decoding method using additional quantization matrices
- Polish
- Sposób dekodowania ruchomych obrazów przy użyciu dodatkowych macierzy kwantyzacji
Classification
- CPC, 9
- H04N19/188
- H04N7/24
- H04N19/159
- H04N19/70
- H04N19/169
- H04N19/61
- H04N19/126
- H04N19/186
- H04N21/236
- IPC, 7
- H04N19 186
- H04N7 12
- H04N19 126
- H04N19 159
- H04N19 169
- H04N19 61
- H04N19 70