CN100542262C - Inverse Quantization Method Image Decoding Method and Device and Processor - Google Patents
Inverse Quantization Method Image Decoding Method and Device and Processor Download PDFInfo
- Publication number
- CN100542262C CN100542262C CNB200580003035XA CN200580003035A CN100542262C CN 100542262 C CN100542262 C CN 100542262C CN B200580003035X A CNB200580003035X A CN B200580003035XA CN 200580003035 A CN200580003035 A CN 200580003035A CN 100542262 C CN100542262 C CN 100542262C
- Authority
- CN
- China
- Prior art keywords
- quantization
- unit
- image
- orthogonal transform
- inverse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
相关申请的交叉引用Cross References to Related Applications
本申请要求以下美国临时申请的权益:2004年1月30日提交的No.60/540,636;2004年3月9日提交的No.60/551,690;2004年3月12日提交的No.60/552,907;以及2004年4月12日提交的No.60/561,351,它们的内容在此整个被引入作为参考。This application claims the benefit of the following U.S. Provisional Applications: Nos. 60/540,636 filed January 30, 2004; 60/551,690 filed March 9, 2004; 60/551,690 filed March 12, 2004 552,907; and No. 60/561,351, filed April 12, 2004, the contents of which are hereby incorporated by reference in their entirety.
技术领域 technical field
本发明涉及一种有效地压缩运动图像的图像编码方法、正确解码这种已压缩运动图像的图像解码方法、以及图像编码设备、图像解码设备及其程序。The present invention relates to an image encoding method for efficiently compressing a moving image, an image decoding method for correctly decoding such a compressed moving image, an image encoding device, an image decoding device, and a program thereof.
背景技术 Background technique
近来,随着综合地处理音频、视频和像素值的多媒体时代的到来,现有信息媒体,即报纸、杂志、电视、收音机和电话以及其它借以向人们传达信息的装置,列入了多媒体范围内。一般,多媒体指的是一种表示法:不仅字符,而且图形符号、音频,尤其是图像等,彼此相关。然而,为了将上述现有信息媒体包括在多媒体范围内,显然,先决条件是以数字形式来表示这种信息。Recently, with the advent of the multimedia era that comprehensively processes audio, video, and pixel values, existing information media, namely newspapers, magazines, television, radios, and telephones, as well as other devices for conveying information to people, are included in the scope of multimedia . In general, multimedia refers to a representation: not only characters, but also graphic symbols, audio, and especially images, etc., are related to each other. However, in order to include the above-mentioned existing information media within the scope of multimedia, it is clear that a prerequisite is to represent such information in digital form.
然而,当估计上述数字形式信息媒体的每一种中所包含的信息量时,每字符的信息量需要1-2字节,而音频需要超过每秒64千位(电话质量),并且当考虑运动图像时,它需要超过每秒100兆位(目前电视接收质量)。因此,上述信息媒体以数字形式来照原样处理这样海量的信息是不现实的。例如,视频电话已经通过综合业务数字网(ISDN)而投入实际使用,其传输率为64千位到1.5兆位,然而,不可能直接通过ISDN来传输在电视屏幕上捕获的或通过电视摄影机拍摄的图像。However, when estimating the amount of information contained in each of the above-mentioned digital form information media, the amount of information per character requires 1-2 bytes, and audio requires more than 64 kilobits per second (telephone quality), and when considering When moving pictures, it needs more than 100 megabits per second (current TV reception quality). Therefore, it is unrealistic for the above-mentioned information medium to handle such a large amount of information as it is in digital form. For example, video telephony has been put into practical use through the Integrated Services Digital Network (ISDN), with a transmission rate of 64 kilobits to 1.5 megabits. Image.
因此,这需要信息压缩技术,例如在视频电话情况下,使用遵照由国际电信联盟电信标准化部门(ITU-T)进行国际标准化的H.261和H.263标准的视频压缩技术。根据遵照MPEG-1标准的信息压缩技术,可以将图像信息以及音频信息存储在普通音乐光盘(CD)上。Therefore, this requires information compression techniques, for example in the case of video telephony, using video compression techniques conforming to the H.261 and H.263 standards that are internationally standardized by the International Telecommunication Union Telecommunication Standardization Sector (ITU-T). Image information as well as audio information can be stored on a general music compact disc (CD) according to an information compression technology conforming to the MPEG-1 standard.
在此,运动图像专家组(MPEG)是一种用于压缩运动图像信号的国际标准,MPEG-1是一种将视频信号向下压缩到每秒1.5兆位(比特)的标准,也就是把电视信号中所包括的信息向下近似压缩到百分之一。MPEG-1标准的目标质量是中等质量,以便实现主要1.5兆位左右的传输率,因此,满足更高质量图像要求为目的而标准化的MPEG-2实现电视广播质量,以2兆位到15兆位的传输率来传输运动图像信号。Here, the Moving Picture Experts Group (MPEG) is an international standard for compressing moving picture signals, and MPEG-1 is a standard for compressing video signals down to 1.5 megabits (bits) per second, which means The information contained in a television signal is compressed down to approximately one percent. The target quality of the MPEG-1 standard is medium quality in order to achieve a transmission rate of around 1.5 megabits. Therefore, MPEG-2, which is standardized for the purpose of meeting higher quality image requirements, achieves television broadcasting quality at 2 megabits to 15 megabits bit rate to transmit moving image signals.
在当前环境下,先前负责MPEG-1/MPEG-2标准化的工作组(ISO/IEC/JTC1/SC29/WG11)进一步标准化了MPEG-4,MPEG-4实现了优于MPEG-1/MPEG-2所实现的压缩率的压缩率,允许基于每个对象的编码/解码操作,并实现了多媒体时代所需的新功能。首先,在MPEG-4标准化过程中,目标是标准化低比特率编码,然而,当前目标扩展为更通用的编码,包括用于隔行扫描图像等的高比特率编码。而且,由ITU-T和国际标准化组织/国际电工技术委员会(ISO/IEC)共同制定的、作为下一代编码方法的MPEG-4 AVC(高级视频编码)和ITU H.264的标准化正在进行中,它们具有更高的压缩率。自2002年8月起,下一代编码方法以委员会草案(CD)的名义被公布。In the current environment, the working group (ISO/IEC/JTC1/SC29/WG11) that was previously responsible for the standardization of MPEG-1/MPEG-2 further standardized MPEG-4, and MPEG-4 achieved better performance than MPEG-1/MPEG-2. The achieved compression ratio allows encoding/decoding operations on a per-object basis, and enables new functions required in the multimedia era. First, during the MPEG-4 standardization process, the goal was to standardize low-bit-rate encoding, however, the current goal extends to more general encoding, including high-bit-rate encoding for interlaced images and the like. Also, the standardization of MPEG-4 AVC (Advanced Video Coding) and ITU H.264, which are the next-generation encoding methods jointly developed by ITU-T and the International Organization for Standardization/International Electrotechnical Commission (ISO/IEC), is in progress, They have a higher compression ratio. Since August 2002, the Next Generation Coding Method has been published under the name of Committee Draft (CD).
在运动图像编码中,通常是通过消除空间和时间方向上的冗余来执行信息量压缩的。因此,目的在于减小时间冗余的帧间图像(inter-picture)预测编码估计运动,并参考前向和后向图像逐个块来产生预测图像,然后对所获得的预测图像和当前要编码的图像之间的差值进行编码。在此,“图像”是表示屏幕上的图像的术语,并且当用于逐行扫描图像时代表帧,而当用于隔行扫描图像时它代表帧或场。在此,隔行扫描图像是其中单帧由两场组成的图像,每一场都具有不同捕获时间。为了对隔行扫描图像编码和解码,三种处理单帧的方式是可能的:作为帧;作为两场;以及作为帧/场结构,取决于帧中的块。In moving image coding, information amount compression is generally performed by eliminating redundancy in the spatial and temporal directions. Therefore, the purpose of inter-picture predictive encoding to reduce temporal redundancy is to estimate the motion, and refer to the forward and backward images to generate a predictive image block by block, and then compare the obtained predictive The difference between images is encoded. Here, "image" is a term representing an image on a screen, and means a frame when used for a progressive image, and a frame or a field when used for an interlaced image. Here, an interlaced image is an image in which a single frame consists of two fields, each having a different capture time. For encoding and decoding interlaced images, three ways of processing a single frame are possible: as a frame; as two fields; and as a frame/field structure, depending on the blocks in the frame.
在没有参考图像的情况下被执行帧内图像(intra-picture)预测编码的图像被称为“I图像”。参考单幅图像而执行帧间图像预测编码的图像被称为“P图像”。通过同时参考两幅图像来执行帧间图像预测编码的图像被称为“B图像”。B图像可以指按显示次序从前向或后向图像中任意选择的两幅图像。可以为用作基本编码/解码单元的每个块指定参考图像(即参考图像)。将通过把要在编码位流中先描述的参考图像称为第一参考图像,并把要在编码位流中后描述的参考图像称为第二参考图像,来区分这种参考图像。注意,作为对这些类型图像进行编码和解码的条件,用于参考的图像必须已经被编码和解码。A picture on which intra-picture prediction coding is performed without a reference picture is called an "I picture". A picture for which inter picture predictive coding is performed with reference to a single picture is called a "P picture". A picture for which inter picture predictive encoding is performed by referring to two pictures at the same time is called a "B picture". A B picture may refer to two pictures arbitrarily selected from the forward or backward pictures in display order. A reference image (ie, a reference image) can be designated for each block used as a basic encoding/decoding unit. Such reference pictures will be distinguished by referring to a reference picture to be described first in the encoded bitstream as a first reference picture, and a reference picture to be described later in the encoded bitstream as a second reference picture. Note that as a condition for encoding and decoding these types of pictures, pictures used for reference must have already been encoded and decoded.
运动补偿帧间图像预测编码用来对P图像或B图像编码。利用运动补偿帧间图像预测的编码是一种在帧间图像预测编码中使用运动补偿的编码方法。与仅仅根据参考图像中的像素值执行预测的方法不同,运动补偿是一种能够通过估计图像内每一部分的运动量(以下称为“运动矢量”),并进一步考虑到这种运动量来执行预测,来提高预测精度并减少数据量的技术。例如,有可能通过估计当前要编码的图像的运动矢量,然后对通过仅仅使各个运动矢量的量偏移而获得的预测值与当前要编码的图像之间的预测残差进行编码,来进行运动补偿,由此减少数据量。在该技术中,也以编码形式记录或发送运动矢量,因为在解码时需要运动矢量信息。Motion-compensated inter-picture predictive coding is used to code P-pictures or B-pictures. Coding using motion-compensated inter-picture prediction is a coding method that uses motion compensation in inter-picture predictive coding. Unlike a method that performs prediction based only on pixel values in a reference image, motion compensation is a method that can perform prediction by estimating the amount of motion (hereinafter referred to as "motion vector") for each part within an image, and further taking this amount of motion into consideration, A technique to improve prediction accuracy and reduce the amount of data. For example, it is possible to perform motion by estimating the motion vector of the image currently to be encoded, and then encoding the prediction residual between the predicted value obtained by shifting only the amount of each motion vector and the image currently to be encoded Compensation, thereby reducing the amount of data. In this technique, motion vectors are also recorded or transmitted in encoded form because motion vector information is required at the time of decoding.
基于每个宏块来估计运动矢量。更具体地说,应该预先在当前要编码的图像中固定宏块,以便通过在参考图像中的搜索区域内寻找这种固定宏块的最相似参考块来估计运动矢量。Motion vectors are estimated on a per macroblock basis. More specifically, a macroblock should be fixed in advance in the current picture to be coded, so that the motion vector can be estimated by finding the most similar reference block of this fixed macroblock within a search area in the reference picture.
图1示出了位流示例数据结构。如图1所示,位流具有如下的分层结构。位流(流)由多个图像组(GOP)组成。通过利用GOP作为基本编码单元,有可能编辑运动图像以及进行随机访问。每个GOP由多幅图像组成,每幅图像是I图像、P图像或B图像。每幅图像进一步由多个片组成。作为每幅图像内条形区的每个片由多个宏块组成。而且,每个流、GOP、图像和片都包括用于指示每个单元终点的同步信号(sync)、以及作为这种单元所共有的数据块的头(头)。Figure 1 shows an example data structure for a bitstream. As shown in FIG. 1, the bit stream has a hierarchical structure as follows. A bit stream (stream) is composed of a plurality of groups of pictures (GOP). By using a GOP as a basic coding unit, it is possible to edit moving pictures as well as perform random access. Each GOP is composed of a plurality of pictures, and each picture is an I picture, a P picture or a B picture. Each image is further composed of a number of slices. Each slice, which is a stripe within each picture, is composed of a plurality of macroblocks. Also, each stream, GOP, picture, and slice includes a synchronization signal (sync) indicating the end point of each unit, and a header (header) which is a data block common to such units.
在不是在作为流序列的位流中而是在作为逐段数据单元(unit ofpiecemeal data)的分组中传输数据的情况下,可以分别传送头和除头以外的部分的数据。在这种情况下,不应将头和数据部分并入相同位流中,如图1所示。然而,在分组的情况下,虽然不得顺序地传输头和对应的数据部分,但是只是在不同分组中传送它们。因此,即使在头和数据部分未被并入相同位流中的情况下,如参考图1所描述的位流的相同概念也可适用。In the case of transmitting data not in a bit stream as a stream sequence but in packets as a unit of piecemeal data, the data of the header and the portion other than the header may be separately transmitted. In this case, the header and data sections should not be merged into the same bitstream, as shown in Figure 1. However, in the case of packets, the headers and corresponding data parts must not be transmitted sequentially, but are simply transmitted in different packets. Therefore, the same concept of the bitstream as described with reference to FIG. 1 applies even in cases where the header and data parts are not incorporated into the same bitstream.
一般来讲,人类视觉系统的特征在于与高频分量相比,它对图像中低频分量的灵敏度。此外,因为图像信号中低频分量的能量大于高频分量能量,所以按从低频分量到高频分量的顺序来执行图像编码。结果,低频分量编码所需的位数大于高频分量编码所需的位数。In general, the human visual system is characterized by its sensitivity to low frequency components in images as compared to high frequency components. Furthermore, since the energy of the low-frequency components in the image signal is greater than the energy of the high-frequency components, image encoding is performed in order from the low-frequency components to the high-frequency components. As a result, the number of bits required for low-frequency component encoding is larger than the number of bits required for high-frequency component encoding.
鉴于以上几点,当对通过正交变换而获得的各频率的变换系数进行量化时,与低频分量相比,现有编码方法将更大的量化步长用于高频分量。该技术使常规编码方法有可能在图像主观质量发生可忽视的降级的情况下,实现压缩比的大大增加。In view of the above points, when quantizing transform coefficients of each frequency obtained by orthogonal transform, existing encoding methods use a larger quantization step size for high frequency components than for low frequency components. This technique makes it possible for conventional coding methods to achieve a substantial increase in the compression ratio with negligible degradation in the subjective quality of the image.
因为与低频分量量化步长对比的高频分量量化步长取决于图像信号,所以按照惯例使用一种逐幅图像改变各频率分量量化步长的技术。量化矩阵(也称为“加权矩阵”)用于推导出各频率分量的量化步长。图2示出了量化矩阵的例子。在该图中,左上分量为直流分量,而向右分量是水平高频分量,向下分量是垂直高频分量。图2中的量化矩阵也指示,当值变得越大时,量化步长变得越大。通常,有可能为每幅图像使用不同的量化矩阵。指示每个频率分量量化步长大小的值是固定长度编码的。注意,通常量化矩阵的每个分量以及每个量化步长的值彼此近似成比例,但是不必固守这种关系,只要清楚地定义它们之间的对应性。Since the quantization step size of the high-frequency component in contrast to the quantization step size of the low-frequency component depends on the image signal, a technique of changing the quantization step size of each frequency component from image to image is conventionally used. A quantization matrix (also called a "weighting matrix") is used to derive the quantization step size for each frequency component. Fig. 2 shows an example of a quantization matrix. In this figure, the upper left component is the DC component, while the rightward component is the horizontal high frequency component, and the downward component is the vertical high frequency component. The quantization matrix in FIG. 2 also indicates that the quantization step size becomes larger as the value becomes larger. In general, it is possible to use a different quantization matrix for each image. The value indicating the quantization step size of each frequency component is fixed-length coded. Note that in general the values of each component of the quantization matrix and each quantization step are approximately proportional to each other, but this relationship need not be enforced as long as the correspondence between them is clearly defined.
图3示出了,由常规图像编码设备或图像解码设备执行的、如MPEG-2和MPEG-4中所提出的逆量化的流程图。FIG. 3 shows a flowchart of inverse quantization as proposed in MPEG-2 and MPEG-4, performed by a conventional image encoding device or image decoding device.
如图所示,常规图像编码设备或图像解码设备获得加权矩阵Wi,j和量化参数QP(S11和S12),计算量化步长QStep,并获得量化值(即量化的频率系数)fi,j(S14)。然后,图像编码设备通过计算fi,j×QStep×Wi,j来导出逆量化值(S15-S17)。As shown in the figure, the conventional image coding device or image decoding device obtains the weight matrix Wi, j and the quantization parameter QP (S11 and S12), calculates the quantization step size QStep, and obtains the quantization value (ie, the quantized frequency coefficient) fi, j( S14). Then, the image encoding device derives an inverse quantization value by calculating fi,j×QStep×Wi,j (S15-S17).
在图像编码设备所执行的量化处理中,使作为正交变换的结果而获得的频率系数乘以从计算QStep×Wi,j而产生的值的倒数。In the quantization process performed by the image encoding device, the frequency coefficient obtained as a result of the orthogonal transformation is multiplied by the reciprocal of the value resulting from the calculation of QStep×Wi,j.
然而,问题在于,常规量化和逆量化处理强加了许多计算工作量,因为在处理中需要执行大量的除法和乘法。However, the problem is that the conventional quantization and inverse quantization process imposes a lot of computational effort since a large number of divisions and multiplications need to be performed in the process.
发明内容 Contents of the invention
本发明的目的是提供一种用于减少量化和逆量化计算所需工作量的图像解码方法、图像编码方法、图像解码设备、图像编码设备及程序。An object of the present invention is to provide an image decoding method, an image encoding method, an image decoding device, an image encoding device and a program for reducing the workload required for quantization and inverse quantization calculations.
本发明的一个方面提供了一种逆量化方法,用于通过对已量化的正交变换系数进行逆量化来获得逆量化正交变换系数,所述方法包括:获得加权矩阵;获得量化参数;通过将从所述加权矩阵中第i行第j列位置处的分量计算的值与量化步长相乘来计算等级尺度值,所述量化步长对应于所述加权矩阵中第i行第j列的分量的位置以及所述量化参数被一整数除得到的余数;将已量化的正交变换系数与所述等级尺度值相乘;以及将所述相乘所获得的乘积移位根据所述量化参数的比特数,以获得逆量化正交变换系数。One aspect of the present invention provides an inverse quantization method for obtaining inverse quantized orthogonal transform coefficients by dequantizing quantized orthogonal transform coefficients. The method includes: obtaining a weighting matrix; obtaining quantization parameters; multiplying the value calculated from the component at the i-th row and j-column position in the weighting matrix by a quantization step size corresponding to the i-th row and j-column in the weighting matrix to calculate the grade scale value The position of the component of and the remainder obtained by dividing the quantization parameter by an integer; multiplying the quantized orthogonal transform coefficient by the level scale value; and shifting the product obtained by the multiplication according to the quantization The number of bits of the parameter to obtain the inverse quantized orthogonal transform coefficients.
本发明的另一方面提供了一种图像解码方法,用于对已量化的正交变换系数进行逆量化和逆正交变换来获得块图像,所述方法包括:获得加权矩阵;获得量化参数;通过将从所述加权矩阵中第i行第j列位置处的分量计算的值与量化步长相乘来计算等级尺度值,所述量化步长对应于所述加权矩阵中第i行第j列的分量的位置以及所述量化参数被一整数除得到的余数;将已量化的正交变换系数与所述等级尺度值相乘;将所述相乘所获得的乘积移位根据所述量化参数的比特数,以获得逆量化的正交变换系数;通过加法/减法运算和比特移位运算对所获得的逆量化正交变换系数进行逆正交变换来获得块图像。Another aspect of the present invention provides an image decoding method for performing inverse quantization and inverse orthogonal transformation on quantized orthogonal transformation coefficients to obtain a block image. The method includes: obtaining a weighting matrix; obtaining quantization parameters; The grade scale value is calculated by multiplying the value calculated from the component at the i-th row j-th column position in the weighting matrix by the quantization step size corresponding to the i-th row j-th in the weighting matrix The position of the component of the column and the remainder obtained by dividing the quantization parameter by an integer; multiplying the quantized orthogonal transform coefficient by the level scale value; shifting the product obtained by the multiplication according to the quantization The number of bits of the parameter to obtain the inverse quantized orthogonal transform coefficient; perform inverse orthogonal transform on the obtained inverse quantized orthogonal transform coefficient through addition/subtraction operation and bit shift operation to obtain a block image.
本发明的另一方面提供了一种图像解码装置,用于以块为基础对已编码的图像数据进行解码来获得块图像,所述装置包括:获得单元,操作用于获得加权矩阵和量化参数,并通过将从所述加权矩阵中第i行第j列位置处的分量计算的值与量化步长相乘来计算等级尺度值,所述量化步长对应于所述加权矩阵中第i行第j列的分量的位置以及所述量化参数被一整数除得到的余数;乘法单元,操作用于将已量化的正交变换系数与所述等级尺度值相乘;移位器,将所述相乘所获得的乘积移位根据所述量化参数的比特数,以获得逆量化的正交变换系数;以及逆正交变换单元,操作用于通过加法/减法运算和比特移位运算对所获得的逆量化正交变换系数进行逆正交变换来获得块图像。Another aspect of the present invention provides an image decoding device for decoding encoded image data on a block basis to obtain a block image, the device comprising: an obtaining unit operable to obtain a weighting matrix and a quantization parameter , and calculate the grade scale value by multiplying the value calculated from the component at the i-th row and j-th column position in the weighting matrix with the quantization step size corresponding to the i-th row in the weighting matrix The position of the component of the j-th column and the remainder obtained by dividing the quantization parameter by an integer; the multiplication unit is operable to multiply the quantized orthogonal transform coefficient by the level scale value; the shifter is the the product obtained by the multiplication is shifted by the number of bits according to the quantization parameter to obtain an inverse-quantized orthogonal transform coefficient; The inverse quantized orthogonal transform coefficients are subjected to inverse orthogonal transform to obtain a block image.
本发明的再一方面提供了一种处理器,用在对运动图像进行解码的解码装置中,所述处理器包括:集成电路;其中所述处理器i)使用所述集成电路获得加权矩阵和量化参数;ii)通过将从所述加权矩阵中第i行第j列位置处的分量计算的值与量化步长相乘来计算等级尺度值,所述量化步长对应于所述加权矩阵中第i行第j列的分量的位置以及所述量化参数被一整数除得到的余数;iii)将已量化的正交变换系数与所述等级尺度值相乘;iv)将所述相乘所获得的乘积移位根据所述量化参数的比特数,以获得逆量化的正交变换系数;以及v)对所述移位的结果进行逆正交变换。Another aspect of the present invention provides a processor used in a decoding device for decoding moving images, the processor includes: an integrated circuit; wherein the processor i) uses the integrated circuit to obtain a weighting matrix and Quantization parameters; ii) calculating the grade scale value by multiplying the value calculated from the component at the i-th row and j-th column position in the weighting matrix by a quantization step size corresponding to The position of the component of the i-th row and the j-th column and the remainder obtained by dividing the quantization parameter by an integer; iii) multiplying the quantized orthogonal transform coefficient by the level scale value; iv) multiplying the multiplied shifting the obtained product by the number of bits according to the quantization parameter to obtain inverse quantized orthogonal transform coefficients; and v) performing inverse orthogonal transform on the shifted result.
为了实现以上目的,本发明的图像编码方法是一种通过逐块执行的逆量化和逆正交变换来对编码图像进行解码的图像解码方法。该方法包括以下作为逆量化处理的步骤:将量化矩阵和乘数相乘,所述量化矩阵指示每个频率分量的量化步长的缩放比,并且所述乘数是正交变换或量化步长的系数;以及将由所述乘法产生的乘积和量化值相乘。In order to achieve the above object, the image encoding method of the present invention is an image decoding method for decoding an encoded image by inverse quantization and inverse orthogonal transformation performed block by block. The method includes the following steps as an inverse quantization process: multiplying a quantization matrix indicating the scaling ratio of the quantization step for each frequency component and a multiplier being the orthogonal transform or quantization step and multiplying the product resulting from said multiplication by the quantized value.
所述乘数可以与逆正交变换处理中所使用的归一化因数有关。The multiplier may be related to a normalization factor used in the inverse orthogonal transform process.
根据以上结构,可以减少计算所需工作量,因为在逆正交变换处理中不需要执行频率系数所需的乘法。也就是说,通过预计算为推导量化步长所需的乘法,有可能减少逆正交变换所需的乘法,以致不增加量化计算所需的工作量。According to the above structure, the workload required for calculation can be reduced because multiplication required for frequency coefficients need not be performed in inverse orthogonal transform processing. That is, by precomputing the multiplications required for deriving the quantization step size, it is possible to reduce the multiplications required for inverse orthogonal transform so as not to increase the workload required for quantization calculations.
可以对每个预定单位的编码数据执行量化矩阵和乘数之间的乘法,并且可以逐块执行乘积和量化值之间的乘法,预定单位的编码数据包括编码块,并且该乘积为编码块所共有。The multiplication between the quantization matrix and the multiplier may be performed for each predetermined unit of encoded data that includes the encoded block, and the multiplication between the product and the quantized value may be performed block by block. in total.
由量化矩阵和乘数之间的乘法产生的乘积可以被存储在存储器中,并且该乘积和量化值之间的乘法可以涉及访问存储器。The product resulting from the multiplication between the quantization matrix and the multiplier may be stored in memory, and the multiplication between the product and the quantization value may involve accessing memory.
预定单位的编码数据可以是对应于图像的数据。The encoded data of a predetermined unit may be data corresponding to an image.
根据以上结构,通过将处理分成以下两部分,有可能减少操作数以便进一步减少计算工作量:基于每幅图像的乘法;以及基于每一块的乘法。According to the above structure, it is possible to reduce the number of operations to further reduce the calculation workload by dividing the processing into two parts: multiplication on a per-image basis; and multiplication on a per-block basis.
根据本发明的图像编码方法、图像解码设备及图像编码设备、程序和半导体器件具有相同的结构,并获得和上述一样的效果。The image encoding method, image decoding apparatus, image encoding apparatus, program, and semiconductor device according to the present invention have the same structure, and obtain the same effects as above.
附图说明 Description of drawings
由以下连同说明本发明具体实施方式的附图一起考虑的本发明描述,本发明的这些及其它目的、优点和特征将变得显而易见。在附图中:These and other objects, advantages and features of the invention will become apparent from the following description of the invention considered in conjunction with the accompanying drawings illustrating specific embodiments of the invention. In the attached picture:
图1示出了位流的示例数据结构;Figure 1 shows an example data structure of a bitstream;
图2示出了量化矩阵例子;Figure 2 shows an example quantization matrix;
图3示出了,由常规图像编码设备执行的、如MPEG-2和MPEG-4中所提出的逆量化的流程图;FIG. 3 shows a flowchart of inverse quantization as proposed in MPEG-2 and MPEG-4, performed by a conventional image coding device;
图4示出了根据本发明第一实施方式的图像编码设备的结构框图;FIG. 4 shows a structural block diagram of an image coding device according to a first embodiment of the present invention;
图5示出了在对宏块亮度块执行16×16帧内图像预测编码的情况下的块结构以及要对块执行的正交变换;Fig. 5 shows the block structure and the orthogonal transformation to be performed on the block in the case of performing 16×16 intra image predictive coding on the macroblock luma block;
图6示出了在对宏块亮度块执行4×4帧内图像预测编码或4×4帧间图像预测编码的情况下的块结构以及要对块执行的正交变换;6 shows a block structure in the case of performing 4×4 intra-frame image predictive coding or 4×4 inter-frame image predictive coding on a luma block of a macroblock and an orthogonal transformation to be performed on the block;
图7示出了宏块色度块的结构以及要对块执行的正交变换;Figure 7 shows the structure of a macroblock chrominance block and the orthogonal transformation to be performed on the block;
图8示出了Hadamard变换中所使用的方程式;Figure 8 shows the equations used in the Hadamard transform;
图9A示出了整数精度DCT中所使用的方程式;Figure 9A shows the equations used in the integer precision DCT;
图9B示出了整数精度逆DCT中所使用的方程式;Figure 9B shows the equations used in the integer precision inverse DCT;
图10A-10D分别示出了量化矩阵中编码顺序的例子;Figures 10A-10D show examples of encoding order in quantization matrices, respectively;
图11A示出了量化矩阵中的加权分量阵列,其中为正交变换定义每个加权分量;Figure 11A shows an array of weighted components in a quantization matrix, where each weighted component is defined for an orthogonal transform;
图11B和11C分别示出了怎样把通过对量化矩阵中每个分量进行编码所获得的每个数据放在头中;11B and 11C respectively show how each data obtained by encoding each component in the quantization matrix is placed in the header;
图12示出了量化的输入-输出特性曲线;FIG. 12 shows quantized input-output characteristic curves;
图13示出了随量化参数而变的量化步长特性曲线;Fig. 13 shows the quantization step size characteristic curve as a function of the quantization parameter;
图14示出了随量化参数而变的信噪比特性曲线;Fig. 14 shows the signal-to-noise ratio characteristic curve as a function of the quantization parameter;
图15A至15C用于说明归一化和逆量化处理;15A to 15C are for explaining normalization and inverse quantization processing;
图16A示出了量化单元第一示例结构的框图;FIG. 16A shows a block diagram of a first example structure of a quantization unit;
图16B示出了逆量化单元第一示例结构的框图;Fig. 16B shows a block diagram of a first example structure of an inverse quantization unit;
图17A示出了适于加权矩阵的量化单元第二示例结构的框图;FIG. 17A shows a block diagram of a second example structure of a quantization unit suitable for a weighting matrix;
图17B示出了使用加权矩阵的逆量化单元第二示例结构的框图;17B shows a block diagram of a second example structure of an inverse quantization unit using a weighting matrix;
图18A示出了使用加权矩阵的量化单元第三示例结构的框图;FIG. 18A shows a block diagram of a third example structure of a quantization unit using a weighting matrix;
图18B示出了使用加权矩阵的逆量化单元第三示例结构的框图;18B shows a block diagram of a third example structure of an inverse quantization unit using a weighting matrix;
图19示出了,在基于量化参数QP对每个(i,j)分量执行包括频率变换乘法的每个量化步长计算的情况下的逆量化处理流程图;FIG. 19 shows a flow chart of inverse quantization processing in the case where each quantization step calculation including frequency transform multiplication is performed on each (i, j) component based on the quantization parameter QP;
图20示出了,在预先基于量化参数QP来执行包括频率变换乘法的每个量化步长计算的情况下的量化流程图;FIG. 20 shows a quantization flowchart in the case where each quantization step calculation including frequency transform multiplication is performed based on the quantization parameter QP in advance;
图21示出了在根据需要基于量化参数QP来执行包括频率变换乘法的每个量化步长计算的情况下的量化流程图;FIG. 21 shows a quantization flowchart in a case where each quantization step calculation including frequency transform multiplication is performed based on the quantization parameter QP as needed;
图22示出了图像解码设备结构框图;Fig. 22 shows a structural block diagram of an image decoding device;
图23A-23C是存储程序的存储介质的图解;23A-23C are illustrations of storage media storing programs;
图24示出了内容供应系统总配置框图;Fig. 24 shows a block diagram of the general configuration of the content supply system;
图25示出了使用图像编码和解码方法的蜂窝电话的具体例子;FIG. 25 shows a specific example of a cellular phone using image encoding and decoding methods;
图26示出了蜂窝电话框图;Figure 26 shows a block diagram of a cellular telephone;
图27示出了数字广播系统例子;Figure 27 shows an example of a digital broadcasting system;
图28-31示出了根据第二实施方式、基于8×8加权矩阵来推导量化矩阵的例子;28-31 show examples of deriving quantization matrices based on 8×8 weighting matrices according to the second embodiment;
图32-35示出了基于4×4加权矩阵来推导量化矩阵的例子;Figures 32-35 show examples of deriving quantization matrices based on 4x4 weighting matrices;
图36示出了根据第三实施方式的逆量化单元框图;Fig. 36 shows a block diagram of an inverse quantization unit according to a third embodiment;
图37示出了加权矩阵的例子;Figure 37 shows an example of a weighting matrix;
图38示出了逆量化处理;Figure 38 shows the inverse quantization process;
图39和40示出了逆量化处理;Figures 39 and 40 illustrate the inverse quantization process;
图41和42分别示出了表的例子;以及Figures 41 and 42 show examples of tables, respectively; and
图43示出了对4×4色度DC块执行的逆量化。Fig. 43 shows inverse quantization performed on a 4x4 chroma DC block.
具体实施方式 Detailed ways
(第一实施方式)(first embodiment)
图4示出了根据本发明第一实施方式的图像编码设备的结构框图。FIG. 4 shows a structural block diagram of an image encoding device according to a first embodiment of the present invention.
图像编码设备1是这样一种设备,它输出通过对输入图像信号Vin执行压缩编码,然后把编码的图像信号转换成如可变长度码的位流而获得的编码图像信号Str。这种图像编码设备1包括运动估计单元ME、运动补偿单元MC、减法器Sub、正交变换单元T、量化单元Q、逆量化单元IQ、逆正交变换单元IT、加法器Add、图像存储器PicMem、开关SW以及可变长度编码单元VLC。The
图像信号Vin被输入到减法器Sub和运动估计单元ME。减法器Sub计算输入图像信号Vin中的每幅图像和每幅预测图像之间的残差图像,并把所计算的残差图像输出到正交变换单元T。The image signal Vin is input to the subtractor Sub and the motion estimation unit ME. The subtractor Sub calculates a residual image between each image in the input image signal Vin and each predicted image, and outputs the calculated residual image to the orthogonal transformation unit T.
正交变换单元T对残差图像执行正交变换,以便将其变换为正交变换系数或频率系数,并把它们输出到量化单元Q。The orthogonal transform unit T performs orthogonal transform on the residual image to transform it into orthogonal transform coefficients or frequency coefficients, and outputs them to the quantization unit Q.
量化单元Q利用参考从外面输入的量化矩阵WM而推导出的量化步长,来对从正交变换单元T输入的每个块的频率系数进行量化,并把所得到的量化值Qcoef输出到可变长度编码单元VLC。The quantization unit Q quantizes the frequency coefficient of each block input from the orthogonal transform unit T using a quantization step derived with reference to the quantization matrix WM input from the outside, and outputs the obtained quantized value Qcoef to Variable length coding unit VLC.
逆量化单元IQ利用参考量化矩阵WM而推导出的量化步长,来对量化值Qcoef执行逆量化,以便将它们变换为频率系数,并把它们输出到逆正交变换单元IT。根据该实施方式的逆量化单元IQ分两步来执行逆量化:第一步是,使指示每个频率分量的每个量化步长缩放比(scaling ratio)的量化矩阵乘以一个作为正交变换系数或量化步长的乘数,并把乘法结果存储到存储器中;第二步是,使存储器中存储的结果乘以每个量化值。第一步是基于每幅图像进行操作的,而第二步是基于每个块进行操作的。用于频率变换的乘数包括逆正交变换归一化因数。在该情况下,存储器中存储的乘法结果是通过使每个量化步长和逆正交变换归一化因数相乘而获得的值。The inverse quantization unit IQ performs inverse quantization on the quantization values Qcoef using a quantization step derived with reference to the quantization matrix WM to transform them into frequency coefficients, and outputs them to the inverse orthogonal transform unit IT. The inverse quantization unit IQ according to this embodiment performs inverse quantization in two steps: the first step is to multiply a quantization matrix indicating each quantization step scaling ratio of each frequency component by a The coefficient or the multiplier of the quantization step size, and store the multiplication result in the memory; the second step is to multiply the result stored in the memory by each quantization value. The first step operates on a per-image basis, while the second step operates on a per-block basis. The multipliers used for the frequency transform include inverse orthogonal transform normalization factors. In this case, the multiplication result stored in the memory is a value obtained by multiplying each quantization step size and an inverse orthogonal transform normalization factor.
逆正交变换单元IT对频率系数执行逆频率变换,以便将它们变换成残差图像,并把该残差图像输出到加法器Add。加法器Add将每幅残差图像和从运动补偿单元MC输出的每幅预测图像相加,以便获得解码图像。在指示应该存储这种解码图像的情况下,导通开关SW,从而将解码图像存储在图像存储器PicMem中。The inverse orthogonal transform unit IT performs inverse frequency transform on the frequency coefficients to transform them into a residual image, and outputs the residual image to the adder Add. The adder Add adds each residual image and each predicted image output from the motion compensation unit MC to obtain a decoded image. In a case where it is indicated that such a decoded image should be stored, the switch SW is turned on, thereby storing the decoded image in the image memory PicMem.
基于每个宏块而被输入图像信号Vin的运动估计单元ME在图像存储器PicMem中存储的解码图像中检测和输入的图像信号Vin最相似的图像区,并确定指示这种图像区位置的运动矢量MV。对通过进一步分割宏块而获得的每个块执行运动矢量估计。The motion estimation unit ME to which the image signal Vin is inputted on a per-macroblock basis detects an image area most similar to the input image signal Vin in the decoded image stored in the image memory PicMem, and determines a motion vector indicating the position of such an image area MV. Motion vector estimation is performed for each block obtained by further dividing the macroblock.
运动补偿单元MC利用以上处理中所检测到的运动矢量,来从图像存储器PicMem中存储的解码图像中取出最合适的图像区,作为预测图像。The motion compensation unit MC uses the motion vectors detected in the above process to extract the most suitable image area from the decoded image stored in the image memory PicMem as a predictive image.
可变长度编码单元VLC对量化矩阵WM、量化值Qcoef和运动矢量MV的每一个执行可变长度编码,以便获得位流Str。The variable-length coding unit VLC performs variable-length coding on each of the quantization matrix WM, quantization value Qcoef, and motion vector MV to obtain a bit stream Str.
图5和6分别示出了按照MPEG-4 AVC、通过正交变换单元T执行的正交变换。对于由16×16组成像素的亮度宏块,对基于16×16宏块的帧内图像预测编码的情况和其它类型编码的情况,不同地执行正交变换和借助于正交变换的块分割。5 and 6 respectively show the orthogonal transformation performed by the orthogonal transformation unit T according to MPEG-4 AVC. For a luminance macroblock composed of 16x16 pixels, orthogonal transformation and block division by means of orthogonal transformation are performed differently for the case of 16x16 macroblock-based intra image predictive encoding and the case of other types of encoding.
图5示出了在要对亮度块执行16×16帧内图像预测编码的情况下,宏块亮度块的结构和正交变换。在该情况下,正交变换单元T如以下(1)至(4)那样执行正交变换。(1)将16×16像素的亮度块分成16个4×4像素块。(2)对由分割而产生的每一个4×4块执行基于整数精度4×4离散余弦变换(DCT)的正交变换。在此,整数精度DCT不保持和DCT相同的特性,因为值被舍入,但是它仍然能够用作近似于DCT的变换。(3)产生由每一个正交变换块中的直流(DC)分量组成的4×4DC块。(4)对4×4DC块执行Hadamard变换。正确被称为“离散Hadamard变换(DHT)”的Hadamard变换是一种只执行加法和减法的简单正交变换。FIG. 5 shows the structure and orthogonal transformation of a macroblock luma block in the case where 16×16 intra image predictive coding is to be performed on the luma block. In this case, the orthogonal transform unit T performs orthogonal transform as in (1) to (4) below. (1) Divide the luminance block of 16×16 pixels into 16 4×4 pixel blocks. (2) Orthogonal transform based on integer precision 4x4 discrete cosine transform (DCT) is performed on each 4x4 block resulting from division. Here, the integer precision DCT does not maintain the same properties as the DCT because the values are rounded, but it can still be used as a DCT-like transform. (3) Generate a 4×4 DC block composed of a direct current (DC) component in each orthogonal transform block. (4) Hadamard transform is performed on the 4x4 DC block. The Hadamard transform, properly called the "Discrete Hadamard Transform (DHT)", is a simple orthogonal transform that performs only addition and subtraction.
图6示出了在不同于16×16帧内图像预测编码的编码,如4×4帧内图像预测编码和4×4帧间图像预测编码的情况下,亮度块的结构和要对亮度块执行的正交变换。在该情况下,正交变换单元T如以下(1)和(2)那样执行正交变换。(1)将16×16像素的亮度块分成16个4×4像素块。(2)对由分割而产生的每一个4×4块执行基于整数精度DCT的正交变换。Fig. 6 shows the structure of the luminance block and the luminance block in the case of coding other than 16×16 intra-frame predictive coding, such as 4×4 intra-frame predictive coding and 4×4 inter-frame predictive coding Orthogonal transformation to perform. In this case, the orthogonal transform unit T performs orthogonal transform as in (1) and (2) below. (1) Divide the luminance block of 16×16 pixels into 16 4×4 pixel blocks. (2) An integer-precision DCT-based orthogonal transform is performed on each 4×4 block resulting from division.
图7示出了宏块色度块的结构以及要对色度块执行的正交变换。在该情况下,正交变换单元T如以下(1)至(4)那样执行正交变换。(1)把由8×8像素组成的色度宏块分成4个4×4像素块。(2)对由分割而产生的每一个4×4块执行基于整数精度4×4 DCT的正交变换。(3)产生由每个正交变换块中的DC分量组成的2×2像素DC块。(4)对每个2×2 DC块执行Hadamard变换。Fig. 7 shows the structure of a macroblock chroma block and the orthogonal transform to be performed on the chroma block. In this case, the orthogonal transform unit T performs orthogonal transform as in (1) to (4) below. (1) Divide the chrominance macroblock composed of 8*8 pixels into four 4*4 pixel blocks. (2) Perform an orthogonal transform based on
因而,正交变换单元T将对DC块使用作为最简单正交变换之一的、可以仅仅通过执行加法和减法来实现的Hadamard变换。Thus, the orthogonal transform unit T will use the Hadamard transform on the DC block, which is one of the simplest orthogonal transforms, which can be realized only by performing addition and subtraction.
图8示出了在Hadamard变换中使用的方程和波形图,每一幅波形图代表相应的方程。在图中,“h0”-“h3”表示4个输入信号,而“H0”-“H3”分别表示被执行Hadamard变换的分量。“H0”是被执行Hadamard变换的DC分量,而“H3”是被执行Hadamard变换的最高频分量。Hadamard变换的逆变换是Hadamard变换。也就是说,可以通过再次对“H0”-“H3”执行Hadamard变换来获得“h0”-“h3”。Fig. 8 shows the equations and waveforms used in the Hadamard transform, each waveform representing a corresponding equation. In the figure, "h0"-"h3" denote four input signals, and "H0"-"H3" denote components on which Hadamard transform is performed, respectively. "H0" is the DC component on which Hadamard transformation is performed, and "H3" is the highest frequency component on which Hadamard transformation is performed. The inverse of the Hadamard transform is the Hadamard transform. That is, "h0"-"h3" can be obtained by performing Hadamard transformation on "H0"-"H3" again.
注意,可以利用以下方程来获得对2×2 DC亮度块执行的Hadamard变换。即,对2×2 DC块中的每行和每列使用一次以下方程。Note that the Hadamard transform performed on a 2×2 DC luma block can be obtained using the following equation. That is, the following equations are used once for each row and column in a 2 × 2 DC block.
图9A示出了正交变换单元T为整数精度DCT使用的方程以及波形图,每幅波形图都代表相应的方程。“d0”-“d3”表示4个输入信号,而“D0”-“D3”表示被执行整数精度DCT的分量。在整数精度4×4 DCT中,对4×4像素块中的每行和每列使用一次图9A所示的4输入DCT。FIG. 9A shows equations and waveform diagrams used by the orthogonal transform unit T for integer precision DCT, each waveform diagram representing a corresponding equation. "d0"-"d3" denote four input signals, and "D0"-"D3" denote components on which integer precision DCT is performed. In integer precision 4x4 DCT, the 4-input DCT shown in Figure 9A is applied once for each row and column in a 4x4 pixel block.
“D0”是DC分量,而“D3”是最高频分量。在频率分量H1和D1之间,整数精度DCT的波形图和图8A所示Hadamard变换的波形图之间的差异是显而易见的。也就是说,与频率分量H1相比,频率分量D1(最低频率的电流分量)表示得更平滑(即从最大值逐渐变为最小值)。"D0" is the DC component, and "D3" is the highest frequency component. Between the frequency components H1 and D1, the difference between the waveform diagram of the integer-precision DCT and that of the Hadamard transform shown in FIG. 8A is apparent. That is, the frequency component D1 (current component of the lowest frequency) expresses more smoothly (ie, gradually changes from the maximum value to the minimum value) than the frequency component H1 .
图9B示出了正交变换单元T为整数精度逆DCT使用的方程。在图中,需要实际运算以便利用频率分量D1和D3来获得D1’和D3’。在该实施方式中,预先使逆量化处理中的量化步长乘以某些值(如上所述由逆量化单元IQ所取的第一步长),目的在于避免整数精度逆DCT中的实际运算。从而,为整数精度逆DCT执行的乘法数目减少了,并且计算所需的工作量也减小了。结果,在逆量化处理中,奇数次数频率分量的量化步长等于偶数次数频率分量的量化步长的倍或8/5倍。FIG. 9B shows the equations used by the orthogonal transform unit T for integer-precision inverse DCT. In the figure, actual operations are required to obtain D1' and D3' using frequency components D1 and D3. In this embodiment, the quantization step size in the inverse quantization process is multiplied by some value in advance (the first step size taken by the inverse quantization unit IQ as described above), in order to avoid the actual operation in the integer precision inverse DCT . Consequently, the number of multiplications performed for the integer-precision inverse DCT is reduced, and the amount of work required for the calculation is also reduced. As a result, in the inverse quantization process, the quantization step size of odd-order frequency components is equal to the quantization step size of even-number frequency components. times or 8/5 times.
图10A-10D分别示出了量化矩阵中编码顺序的例子。该顺序用于编码或解码量化矩阵,并且量化矩阵按实际上要在量化和逆量化过程中被操作的分量的顺序重新排列。在图像编码中所执行的正交变换中,4×4像素和8×8像素是最经常使用的两种单元。图10A和10C示出了使用4×4像素单元的例子,而图10B和10D示出了使用8×8像素单元的例子。在从低频分量开始向高频分量进行的编码中,压缩效率高,如图10A和10B所示,但是在某些情况下,可以使用按水平顺序的编码,如图10C和10D所示。10A-10D each show an example of the coding order in the quantization matrix. This order is used to encode or decode the quantization matrix, and the quantization matrix is rearranged in the order of the components actually to be operated on during quantization and inverse quantization. In the orthogonal transformation performed in image coding, 4×4 pixels and 8×8 pixels are the two most frequently used units. 10A and 10C show examples using 4×4 pixel units, and FIGS. 10B and 10D show examples using 8×8 pixel units. Compression efficiency is high in encoding from low-frequency components toward high-frequency components, as shown in FIGS. 10A and 10B , but in some cases, encoding in horizontal order may be used, as shown in FIGS. 10C and 10D .
图11A-11C示出了量化矩阵,以及在形成流(streaming)时被编码的量化矩阵(即加权矩阵)的数据结构。在图中,“头”表示图1所示的“GOP”或“图像”的头,或等效信息。图11A示出了量化矩阵中的频率分量阵列。“Wi,j”表示量化矩阵中行“i”和列“j”中的分量。图11B和11C分别示出了量化矩阵中每个分量的编码数据怎样被放在头中的例子。“WeightingMatrix(加权矩阵)”表示通过对量化矩阵进行编码而获得的位流。图11B示出了通过按图10B所示的顺序对量化矩阵进行编码而获得的流,而图11C示出了通过按图10D所示的顺序对量化矩阵进行编码而获得的流。注意,图11B和11C中所示的流中的“Wi,j”表示量化矩阵中“Wi,j”所表示的位置处的编码可变长度码。11A-11C show quantization matrices, and data structures of quantization matrices (ie, weighting matrices) that are coded when streaming is formed. In the figure, "header" means the head of "GOP" or "picture" shown in FIG. 1, or equivalent information. Fig. 11A shows an array of frequency components in a quantization matrix. "Wi,j" denotes a component in row "i" and column "j" of the quantization matrix. 11B and 11C respectively show examples of how the encoded data of each component in the quantization matrix is placed in the header. "WeightingMatrix" indicates a bit stream obtained by encoding a quantization matrix. FIG. 11B shows a stream obtained by encoding quantization matrices in the order shown in FIG. 10B , and FIG. 11C shows a stream obtained by encoding quantization matrices in the order shown in FIG. 10D . Note that "Wi,j" in the streams shown in FIGS. 11B and 11C indicates the encoding variable-length code at the position indicated by "Wi,j" in the quantization matrix.
图12示出了由量化单元Q和逆量化单元IQ所执行的量化(或逆量化)的输入-输出特性。量化意谓,对通过量化步长分割正交变换频率分量(图12中要量化的值)的结果进行舍入,以便将频率分量变成整数。舍入的整数被称为量化值。相反,把要量化的值变回为频率分量被称为“逆量化”。通过改变量化步长的大小,有可能增加或减少由编码而产生的位数量。因而,通过改变量化步长的大小,有可能保持相同的压缩比(即每单位时间的码量)。FIG. 12 shows input-output characteristics of quantization (or inverse quantization) performed by quantization unit Q and inverse quantization unit IQ. Quantization means that the result of dividing the orthogonally transformed frequency components (values to be quantized in FIG. 12 ) by the quantization step is rounded so that the frequency components become integers. The rounded integer is called the quantized value. Conversely, converting the value to be quantized back into frequency components is called "inverse quantization". By changing the size of the quantization step, it is possible to increase or decrease the number of bits produced by encoding. Thus, by changing the size of the quantization step, it is possible to maintain the same compression ratio (ie, the amount of codes per unit time).
图13示出了量化步长对量化参数的特性曲线。量化参数用于导出量化步长,并被调节,以便让码量对应于比特率。逆量化单元IQ和量化单元Q利用要编码的量化参数来导出量化步长,因为不直接对量化步长进行编码。在图13所示的例子中,当量化参数QP增加6时,量化步长加倍。结果,在量化参数QP变化的情况下,量化参数QP变得与信噪(SN)比成比例,并且SN比的变化量维持在相同水平,如图14所示,而与量化参数QP的值无关。Fig. 13 shows a characteristic curve of quantization step size versus quantization parameter. The quantization parameter is used to derive the quantization step size and is adjusted so that the code size corresponds to the bit rate. The quantization parameters to be coded are used by the inverse quantization unit IQ and quantization unit Q to derive the quantization step size, since the quantization step size is not coded directly. In the example shown in FIG. 13, when the quantization parameter QP is increased by 6, the quantization step size is doubled. As a result, in the case where the quantization parameter QP is changed, the quantization parameter QP becomes proportional to the signal-to-noise (SN) ratio, and the amount of change in the SN ratio is maintained at the same level, as shown in FIG. 14 , regardless of the value of the quantization parameter QP .
注意,在量化参数指示从0到51变动的值时,量化步长的最大值指示等于最小值256倍的值。Note that when the quantization parameter indicates a value ranging from 0 to 51, the maximum value of the quantization step size indicates a value equal to 256 times the minimum value.
图15A至15C用于说明归一化和逆量化。以下描述一种简化逆量化处理中把用于图9B所示正交变换中归一化的乘法的方法。如图9B所示,分量D1和D3位于第N位置(N为奇数)。使在水平和垂直方向上都位于第N位置的分量乘以两次这意谓分量乘以8/5。基于此,对于在逆量化处理中预先进行的归一化,应该预先乘以量化步长,如以下的(a)至(c)。15A to 15C are for explaining normalization and inverse quantization. The following describes a simplified inverse quantization process that takes The method of multiplication for normalization in the orthogonal transform shown in Fig. 9B. As shown in FIG. 9B, the components D1 and D3 are located at the Nth position (N is an odd number). multiply the component at the Nth position both horizontally and vertically twice This means that the components are multiplied by 8/5. Based on this, for the normalization performed in advance in the inverse quantization process, the quantization step size should be multiplied in advance, as in (a) to (c) below.
(a)在分量在水平和垂直方向上都位于第M(M为偶数)位置的情况下,不执行归一化乘法。(a) In the case where a component is located at the Mth (M is an even number) position in both the horizontal and vertical directions, normalization multiplication is not performed.
(b)在分量在水平或垂直方向上位于第N(N为奇数)位置的情况下,使分量乘以 (b) In the case where the component is at the Nth (N is an odd number) position in the horizontal or vertical direction, multiply the component by
(c)在分量在水平和垂直方向上都位于第N(N为奇数)位置的情况下,使分量乘以8/5。(c) In the case where the component is located at the Nth (N is an odd number) position in both the horizontal and vertical directions, the component is multiplied by 8/5.
现在,给定
(A)在分量在水平和垂直方向上都位于第M(M为偶数)位置的情况下,使分量乘以α。(A) In the case where the component is located at the Mth (M is an even number) position in both the horizontal and vertical directions, the component is multiplied by α.
(B)在分量在水平或垂直方向上位于第N(N为奇数)位置的情况下,使分量乘以β。(B) In the case where the component is located at the Nth (N is an odd number) position in the horizontal or vertical direction, the component is multiplied by β.
(C)在分量在水平和垂直方向上都位于第N(N为奇数)位置的情况下,使分量乘以γ。(C) In the case where the component is located at the Nth (N is an odd number) position both in the horizontal and vertical directions, the component is multiplied by γ.
利用这种简单规则,有可能在逆量化处理中一起实现归一化。在逆DCT和量化处理中,专门的归一化乘法变得不必要。With this simple rule, it is possible to achieve normalization together in the inverse quantization process. In inverse DCT and quantization processing, dedicated normalization multiplication becomes unnecessary.
当量化参数QP增加6时,量化步长加倍。因此,用以下方程式来表示通过包括归一化乘法的计算所获得的量化参数QP与量化步长之间的关系。When the quantization parameter QP is increased by 6, the quantization step size is doubled. Therefore, the relationship between the quantization parameter QP obtained by calculation including normalization multiplication and the quantization step size is represented by the following equation.
量化步长=(QP%6的量化步长)×(2(QP/6))Quantization step size = (quantization step size of QP%6) × (2 (QP/6) )
基于此,如图15B所示,通过使“QP%6的量化步长”向左移位“QP/6”位,可以容易地获得涉及归一化的量化步长,作为与任意量化参数QP相对应的量化步长(即涉及归一化乘法的量化步长)。这可以通过仅仅分别为α、β和γ所对应的“QP%6的量化步长”保留总共18个量化步长,来实现,如图15C所示。在该实施方式中,亮度信号的量化参数大小和色度信号的量化参数大小之比将基于逐片地变化。由于颜色(尤其是红色)的退化在视觉上比亮度退化明显,所以优选地色度信号的量化参数QP小于亮度信号的量化参数。Based on this, as shown in FIG. 15B, by shifting the "quantization step size of
显然,由于可以通过使量化步长移位QP/6位来表示量化步长,所以可以用乘法和移位操作的组合来表示量化和逆量化。图16A和16B示出了量化单元Q和逆量化单元IQ的第一示例结构的框图。在第一例子中,在不使用加权矩阵的情况下,只使用乘法和移位运算。量化单元Q1包括乘法单元Q11和右移位器Q12。乘法单元Q11将正交变换系数乘以Q1。“Q1”是量化步长(QP%6的量化步长)的倒数的倍数。量化步长通常用于量化中所执行的除法,然而,量化步长的倒数被预先计算以便相乘,因为除法运算比乘法运算更复杂。逆量化单元IQ1包括乘法单元IQ11和左移位器IQ12。Obviously, since the quantization step size can be expressed by shifting the quantization step size by QP/6 bits, quantization and inverse quantization can be expressed by a combination of multiplication and shift operations. 16A and 16B are block diagrams showing a first example structure of the quantization unit Q and the inverse quantization unit IQ. In the first example, only multiplication and shift operations are used without using a weighting matrix. The quantization unit Q1 includes a multiplication unit Q11 and a right shifter Q12. The multiplication unit Q11 multiplies the orthogonal transform coefficient by Q1. "Q1" is a multiple of the reciprocal of the quantization step size (quantization step size of QP%6). The quantization step size is usually used for the division performed in quantization, however, the inverse of the quantization step size is precomputed for multiplication because division operations are more complex than multiplication operations. The inverse quantization unit IQ1 includes a multiplication unit IQ11 and a left shifter IQ12.
量化单元Q1操作如下。右移位器Q12使乘法单元Q11所执行的乘法结果向右移位S1位。也就是说,右移位器Q12使乘法单元Q11所执行的乘法结果除以2S1。S1值与QP/6成比例地变化。逆量化单元IQ1操作如下。乘法单元IQ11使正交变换系数乘以Q2。“Q2”值与QP%6的量化步长成比例地变化。左移位器IQ12使乘法单元IQ11所执行的乘法结果向左移位S1位。也就是说,左移位器IQ12使乘法单元IQ11所执行的乘法结果乘以2S2。“S2”值与QP/6成比例地变化。The quantization unit Q1 operates as follows. The right shifter Q12 shifts the result of the multiplication performed by the multiplication unit Q11 to the right by S1 bits. That is, the right shifter Q12 divides the multiplication result performed by the multiplication unit Q11 by 2 S1 . The S1 value varies proportionally to QP/6. The inverse quantization unit IQ1 operates as follows. The multiplication unit IQ11 multiplies the orthogonal transform coefficient by Q2. The "Q2" value changes in proportion to the quantization step size of
在此,“S1”和“S2”是对于所有频率系数都固定的值,它们每一个都随量化参数QP而变。“Q1”和“Q2”具有取决于量化参数QP和频率系数位置的值。在该情况下,要求满足由Q1×(2-S1)×Q2×(2S2)=1所表示的关系。在该情况下,Q1×Q2导致二进制的指数,并且S2-S1被获得为固定值。Here, "S1" and "S2" are values fixed for all frequency coefficients, each of which varies with the quantization parameter QP. "Q1" and "Q2" have values depending on the quantization parameter QP and the frequency coefficient position. In this case, it is required to satisfy the relationship represented by Q1×(2 −S1 )×Q2×(2 S2 )=1. In this case, Q1×Q2 results in a binary exponent, and S2-S1 is obtained as a fixed value.
图17A和17B示出了,在使用加权矩阵的情况下量化单元Q和逆量化单元IQ第二示例结构的框图。量化单元Q2包括:乘法单元Q21,该乘法单元Q21使频率系数乘以Q1;乘法单元Q22,该乘法单元Q22使乘法单元Q21所执行的乘法结果乘以Qa;右移位器Q23,该右移位器Q23使乘法单元Q22所执行的乘法结果向右移位S1位;以及右移位器Q24,该右移位器Q24使右移位器Q23所执行的移位结果向右移位Sa位。逆量化单元IQ2包括:乘法单元IQ21,该乘法单元IQ21使量化频率系数乘以Q2;左移位器Q22,该左移位器Q22使乘法结果向左移位S2位;乘法单元IQ23,该乘法单元IQ23使左移位器Q22所执行的移位结果乘以Qb;以及右移位器IQ24,该右移位器IQ24使左移位器Q22所执行的移位结果向右移位Sb位。17A and 17B are block diagrams showing a second example structure of a quantization unit Q and an inverse quantization unit IQ in the case of using a weighting matrix. The quantization unit Q2 includes: a multiplication unit Q21 that multiplies the frequency coefficient by Q1; a multiplication unit Q22 that multiplies the result of the multiplication performed by the multiplication unit Q21 by Qa; a right shifter Q23 that right shifts a bit shifter Q23 that shifts the result of the multiplication performed by the multiplication unit Q22 to the right by S1 bits; and a right shifter Q24 that shifts the result of the shift performed by the right shifter Q23 to the right by Sa bits . Inverse quantization unit IQ2 comprises: multiplication unit IQ21, this multiplication unit IQ21 makes quantization frequency coefficient multiplied by Q2; A unit IQ23 multiplies the result of the shift performed by the left shifter Q22 by Qb; and a right shifter IQ24 that shifts the result of the shift performed by the left shifter Q22 to the right by Sb bits.
在此,“Qa”和“Sa”对应于指定加权矩阵中的加权分量Wi,j,并且可以建立以下关系:Qa×2-Sa×Qb×2-Sb=1。Here, "Qa" and "Sa" correspond to weighting components Wi,j in a given weighting matrix, and the following relationship can be established: Qa×2 −Sa ×Qb×2 −Sb =1.
图18A和18B示出了量化单元Q和逆量化单元IQ第三示例结构的框图,其中图17A和17B所示的结构被简化了,以便一起执行乘法和移位操作。图中的量化单元Q3包括:乘法单元Q31,该乘法单元Q31使正交变换系数乘以Q1a;以及右移位器Q32,该右移位器Q32使乘法单元Q31所执行的乘法结果向右移位“S1+Sa”位。逆量化矩阵IQ3包括:乘法单元IQ31,该乘法单元IQ31使量化的正交变换系数乘以Q2a;以及右移位器IQ32,该右移位器IQ32使乘法单元IQ31所执行的乘法结果向右移位“Sb-S2”位。乘法单元IQ31通过执行与Q1a的一次乘法,来执行图17A所示的分别与Q1和Qa的两次乘法。即,利用以下方程:Q1b=Q1×Qb来完成执行。右移位器Q32通过执行一次移位,来执行分别向右S1位和Sa位的两次右移位。乘法单元IQ31通过执行与Q2b的一次乘法,来执行分别与Q2和Qb的两次乘法。即,利用以下方程:Q2b=Q2×Qb,来完成执行。右移位器IQ32通过执行一次移位,来执行向左移位S2位和向右移位Sb位。18A and 18B are block diagrams showing a third example structure of a quantization unit Q and an inverse quantization unit IQ, in which the structures shown in FIGS. 17A and 17B are simplified so as to perform multiplication and shift operations together. The quantization unit Q3 in the figure includes: a multiplication unit Q31 that multiplies the orthogonal transform coefficient by Q1a; and a right shifter Q32 that shifts the result of the multiplication performed by the multiplication unit Q31 to the right Bit "S1+Sa" bit. The inverse quantization matrix IQ3 includes: a multiplication unit IQ31 that multiplies the quantized orthogonal transform coefficient by Q2a; and a right shifter IQ32 that shifts the result of the multiplication performed by the multiplication unit IQ31 to the right Bit "Sb-S2" bit. The multiplying unit IQ31 performs two multiplications by Q1 and Qa respectively shown in FIG. 17A by performing one multiplication by Q1a. That is, execution is done using the following equation: Q1b=Q1*Qb. The right shifter Q32 performs two right shifts to the right by S1 bits and Sa bits, respectively, by performing one shift. The multiplication unit IQ31 performs two multiplications with Q2 and Qb, respectively, by performing one multiplication with Q2b. That is, execution is done using the following equation: Q2b=Q2*Qb. The right shifter IQ32 performs a left shift of S2 bits and a right shift of Sb bits by performing one shift.
图19示出了,在基于量化参数QP对每个(i,j)分量执行包括频率变换乘法的量化步长计算的情况下的逆量化流程图。例如,通过逆量化单元IQ3(或IQ2),基于块来执行逆量化。FIG. 19 shows a flowchart of inverse quantization in the case where quantization step size calculation including frequency transform multiplication is performed for each (i, j) component based on the quantization parameter QP. For example, inverse quantization is performed on a block basis by the inverse quantization unit IQ3 (or IQ2).
首先,逆量化单元IQ3获得加权矩阵{Wi,j}和量化参数QP(S31、S32)。然后,逆量化单元IQ3进一步从量化参数QP导出{Q2i,j}和S2(S33),如通过包括频率变换乘法的计算所获得的量化步长,并获得量化值(量化的频率系数){fi,j}(S34)。在此,{Q2i,j}被获得作为QP%6的量化步长。利用QP/6来获得S2b。First, the inverse quantization unit IQ3 obtains a weight matrix {Wi, j} and a quantization parameter QP (S31, S32). Then, the inverse quantization unit IQ3 further derives {Q2i, j} and S2 from the quantization parameter QP (S33), as a quantization step size obtained by calculation including frequency transform multiplication, and obtains a quantization value (quantized frequency coefficient) {fi , j} (S34). Here, {Q2i, j} is obtained as the quantization step size of
接着,逆量化单元IQ3在循环1(S35-S40)中对块中的每个频率系数执行量化。即,逆量化单元IQ3根据加权矩阵{Wi,j}来导出{Qbi,j}和Sb(S36),并通过使Qbi,j和Q2i,j相乘来获得等级尺度(level scale)LSi,j(S37)。逆量化单元IQ3进一步通过从Sb减去S2来获得要移位的位数S2b(S38),以便同时移位,并通过使量化值fi,j和等级尺度(level scale)LSi,j相乘来计算逆量化值,然后使乘法结果向左移位S2b位(S40)。Next, the inverse quantization unit IQ3 performs quantization on each frequency coefficient in the block in loop 1 (S35-S40). That is, the inverse quantization unit IQ3 derives {Qbi,j} and Sb according to the weighting matrix {Wi,j} (S36), and obtains the level scale (level scale) LSi,j by multiplying Qbi,j and Q2i,j (S37). The inverse quantization unit IQ3 further obtains the number of bits S2b to be shifted by subtracting S2 from Sb (S38) so as to be simultaneously shifted, and obtains by multiplying the quantization value fi,j and the level scale (level scale) LSi,j The inverse quantization value is calculated, and then the multiplication result is left shifted by S2b bits (S40).
从而,可以通过以下简单方法来执行逆量化:对通过包括频率变换乘法的计算所获得的量化步长执行逆量化,同时利用量化参数QP来计算量化步长。Thus, inverse quantization can be performed by a simple method of performing inverse quantization on a quantization step size obtained by calculation including frequency transform multiplication while calculating the quantization step size using the quantization parameter QP.
图20示出了,在预先利用量化参数QP来计算通过包括频率变换乘法的计算所获得的量化步长的情况下的量化处理流程图。例如,通过逆量化单元IQ3(或IQ2)来执行逆量化。图20和图19之间的差别在于,基于每幅图像把每一个都是通过包括频率变换乘法的计算而获得的所有量化步长LSi,j都存储在存储器中作为表(循环1中的S43c),以及从表中读出LSi,j(循环2中的S49a)。其它操作几乎和图19一样,从而省略对它们的描述。根据该实施方式的逆量化,在循环1中,把每一个都是通过包括频率变换乘法的计算而获得的所有量化步长LSi,j都存储在存储器中作为表,它适于基于块来高速地计算逆量化值。FIG. 20 shows a flow chart of quantization processing in the case where the quantization step size obtained by calculation including frequency transform multiplication is calculated in advance using the quantization parameter QP. For example, inverse quantization is performed by the inverse quantization unit IQ3 (or IQ2). The difference between FIG. 20 and FIG. 19 is that all quantization step sizes LSi,j, each obtained by calculation including frequency transform multiplication, are stored in the memory as a table on a per-image basis (S43c in Loop 1 ), and read out LSi,j from the table (S49a in cycle 2). Other operations are almost the same as in Fig. 19, so that their descriptions are omitted. According to the inverse quantization of this embodiment, in
图21示出了,在根据需要基于量化参数QP来计算通过包括频率变换乘法的计算所获得的量化步长的情况下的量化处理流程图。例如,通过逆量化单元IQ3(或IQ2)来执行逆量化。图19和图21之间的差别在于,在初始化时为存储器中的表分配自由区(free area),以及通过包括频率变换乘法的计算所获得的量化步长LSi,j是否被存储在表中(S56)。在判断量化步长LSi,j和要移位的位数S2b未被存储的情况下,计算LSi,j和S2b(S57a-S57c),并把所获得的LSi,j和加到表上(S57d),而在判断量化步长LSi,j被存储了的情况下,从表中读出LSi,j和S2b(S57e)。根据该实施方式的逆量化,与图20相比,有可能将计算量减小到共同使用量化参数QP的随后块所要求的最小计算量,尽管对于第一块,计算量或多或少地随分量而变。FIG. 21 shows a flow chart of quantization processing in the case where a quantization step size obtained by calculation including frequency transform multiplication is calculated based on the quantization parameter QP as necessary. For example, inverse quantization is performed by the inverse quantization unit IQ3 (or IQ2). The difference between FIG. 19 and FIG. 21 is that a free area (free area) is allocated for the table in the memory at the time of initialization, and whether the quantization step size LSi,j obtained by calculation including frequency transform multiplication is stored in the table (S56). In judging that the quantization step LSi, j and the number of bits S2b to be shifted are not stored, calculate LSi, j and S2b (S57a-S57c), and the obtained LSi, j and add to the table (S57d ), and when it is judged that the quantization step size LSi,j is stored, LSi,j and S2b are read from the table (S57e). According to the inverse quantization of this embodiment, compared with Fig. 20, it is possible to reduce the amount of calculation to the minimum amount of calculation required by subsequent blocks that jointly use the quantization parameter QP, although for the first block, the amount of calculation is more or less Varies with serving size.
图22示出了根据该实施方式的图像解码设备的结构框图。在图中,相同的附图标记被赋予按照和图4框图所示的图像编码设备中所包括的单元一样的方式进行操作的单元,并省略对它们的说明。逆量化单元IQ和逆正交变换单元IT和图4所示的一样,在那里已经说明了这些操作。Fig. 22 shows a block diagram of the structure of an image decoding device according to this embodiment. In the drawing, the same reference numerals are assigned to units that operate in the same manner as those included in the image encoding device shown in the block diagram of FIG. 4 , and their descriptions are omitted. The inverse quantization unit IQ and the inverse orthogonal transform unit IT are the same as those shown in Fig. 4, where the operations have been described.
此外,通过把用于实现以上实施方式的每一个中所描述的运动图像编码/解码方法的程序记录在存储介质如软盘等上,可以在独立计算机系统中容易地执行以上实施方式中所示的处理。Furthermore, by recording a program for realizing the moving picture encoding/decoding method described in each of the above embodiments on a storage medium such as a floppy disk or the like, the programs shown in the above embodiments can be easily executed in a stand-alone computer system. deal with.
图23A、23B和23C是利用诸如计算机系统中软盘的存储介质中所存储的程序,来实现以上实施方式中所描述的运动图像编码/解码方法的图解。23A, 23B, and 23C are diagrams for realizing the moving image encoding/decoding method described in the above embodiments using a program stored in a storage medium such as a floppy disk in a computer system.
图23B示出了软盘的完整外观、其横截面结构及软盘自身,而图23A示出了作为存储介质主体的软盘的物理格式。软盘FD被容纳在外壳F中,多个磁道Tr从外到内同心地形成在盘的表面上,并且每个磁道在角方向上被分成16个扇区Se。因而,运动图像编码方法和运动图像解码方法作为程序被记录在软盘FD上为它分配的区中。Fig. 23B shows the complete appearance of the floppy disk, its cross-sectional structure, and the floppy disk itself, while Fig. 23A shows the physical format of the floppy disk as the main body of the storage medium. A floppy disk FD is housed in a case F, a plurality of tracks Tr are concentrically formed on the surface of the disk from outside to inside, and each track is divided into 16 sectors Se in the angular direction. Thus, the moving picture encoding method and the moving picture decoding method are recorded as programs in the area allocated thereto on the floppy disk FD.
图23C示出了用于把程序记录在软盘FD上以及再现软盘FD上的程序的配置。当把程序记录在软盘FD上时,计算机系统Cs通过软盘驱动器FDD写入运动图像编码和解码方法作为程序。当利用软盘上的程序来在计算机系统中构造运动图像编码和解码方法时,通过软盘驱动器FDD从软盘读出程序,然后将其传送给计算机系统。FIG. 23C shows a configuration for recording the program on the floppy disk FD and reproducing the program on the floppy disk FD. When the program is recorded on the floppy disk FD, the computer system Cs writes the moving picture encoding and decoding method as a program through the floppy disk drive FDD. When a moving picture encoding and decoding method is constructed in a computer system using a program on a floppy disk, the program is read from the floppy disk through the floppy disk drive FDD and then transferred to the computer system.
在存储介质是软盘的假定之下进行了以上说明,但是也可以利用光盘来执行相同处理。另外,存储介质不限于软盘和光盘,而可以使用能够记录程序的其它任何介质,如集成电路(IC)卡和只读存储器(ROM)盒式磁带。The above description has been made on the assumption that the storage medium is a floppy disk, but the same processing can also be performed using an optical disk. In addition, the storage medium is not limited to a floppy disk and an optical disk, but any other medium capable of recording a program, such as an integrated circuit (IC) card and a read only memory (ROM) cassette may be used.
以下描述上述实施方式中所说明的运动图像编码和解码方法的应用以及使用该运动图像编码和解码方法的系统。The application of the moving image encoding and decoding method explained in the above-mentioned embodiments and a system using the moving image encoding and decoding method are described below.
图24示出了用于实现内容传送服务的内容供应系统ex100的总体配置框图。用于提供通信服务的区被分成具有期望大小的小区,并且作为固定无线电台的小区站点(cell site)ex107~ex110位于各自小区中。FIG. 24 is a block diagram showing an overall configuration of a content provision system ex100 for realizing content delivery services. An area for providing communication services is divided into cells having a desired size, and cell sites ex107~ex110 as fixed radio stations are located in the respective cells.
该内容供应系统ex100例如通过因特网ex101、因特网服务供应商ex102、电话网ex104以及小区站点ex107~ex110连接到各种设备,如计算机ex111、个人数字助理(PDA)ex112、照相机ex113、蜂窝电话ex114和具有照相机的蜂窝电话ex115。This content supply system ex100 is connected to various devices such as a computer ex111, a personal digital assistant (PDA) ex112, a camera ex113, a cellular phone ex114 and A cellular phone ex115 with a camera.
然而,内容供应系统ex100不限于图24所示的配置,而可以连接到任何设备的组合。而且,每个设备可以不通过小区站点ex107~ex110而直接连接到电话网ex104。However, the content supply system ex100 is not limited to the configuration shown in FIG. 24 but can be connected to any combination of devices. Also, each device can be directly connected to the telephone network ex104 without going through the cell sites ex107~ex110.
照相机ex113是一种能够拍摄视频的设备,如数字摄像机。蜂窝电话ex114可以是以下任一系统的蜂窝电话:个人数字通信(PDC)系统、码分多址(CDMA)系统、宽带码分多址(W-CDMA)系统或全球移动通信系统(GMS)、个人手持电话系统(PHS)等。The camera ex113 is a device capable of taking video, such as a digital video camera. The cellular phone ex114 may be a cellular phone of any of the following systems: Personal Digital Communications (PDC) system, Code Division Multiple Access (CDMA) system, Wideband Code Division Multiple Access (W-CDMA) system or Global System for Mobile Communications (GMS), Personal Handyphone System (PHS), etc.
流式传输服务器ex103通过电话网ex104以及小区站点ex109连接到照相机ex113,根据发自用户的编码数据,利用照相机ex113来实现实况播送分发等。照相机ex113和发送数据的服务器等的任何一个都可以对数据进行编码。由照相机ex116拍摄的运动图像数据可以通过计算机ex111被发送给流式传输服务器ex103。在该情况下,照相机ex116或计算机ex111可以对运动图像数据进行编码。计算机ex111中所包括的大规模集成电路(LSI)ex117和照相机ex116执行编码处理。可以把用于编码和解码运动图像的软件集成到可以通过计算机ex111等读取的任何类型存储介质(如只读光盘(CD-ROM)、软盘和硬盘)中。此外,具有照相机ex115的蜂窝电话可以发送运动图像数据。该运动图像数据是通过蜂窝电话ex115中所包括的LSI编码的数据。The streaming server ex103 is connected to the camera ex113 through the telephone network ex104 and the cell site ex109, and uses the camera ex113 to realize live broadcasting and distribution according to coded data sent from the user. Any one of the camera ex113, the server that transmits the data, and the like can encode the data. The moving image data shot by the camera ex116 can be sent to the streaming server ex103 through the computer ex111. In this case, the camera ex116 or the computer ex111 can encode moving image data. A large scale integration (LSI) ex117 and a camera ex116 included in the computer ex111 perform encoding processing. Software for encoding and decoding moving pictures can be incorporated into any type of storage medium such as compact disc read-only (CD-ROM), floppy disk, and hard disk that can be read by a computer ex111 or the like. Also, a cellular phone having a camera ex115 can transmit moving image data. This moving image data is data encoded by the LSI included in the cellular phone ex115.
内容供应系统ex100用和如上述实施方式所示的一样的方法,对用户利用照相机ex113、照相机ex116等拍摄的内容(如音乐实况播送视频)进行编码,并把它们发送给流式传输服务器ex103,同时一旦客户请求,流式传输服务器ex103就以流方式把内容数据传送给客户。客户包括能够对上述编码数据进行解码的计算机ex111、PDAex112、照相机ex113、蜂窝电话ex114等。从而,在内容供应系统ex100中,客户能够接收和再现编码数据,并且进一步能够实时接收、解码和再现数据,以便实现个人广播。The content supply system ex100 encodes the content (such as music live broadcast video) captured by the user with the camera ex113, camera ex116, etc., and transmits them to the streaming server ex103 in the same manner as in the above-mentioned embodiment, At the same time, once the client requests, the streaming server ex103 transmits the content data to the client in a streaming manner. The client includes a computer ex111, a PDA ex112, a camera ex113, a cellular phone ex114, etc. capable of decoding the above coded data. Thus, in the content supply system ex100, the client can receive and reproduce coded data, and further can receive, decode and reproduce data in real time, so as to realize personal broadcasting.
当该系统中的每个设备执行编码或解码时,可以使用上述实施方式中所示的运动图像编码设备和运动图像解码设备。When each device in the system performs encoding or decoding, the moving image encoding device and moving image decoding device shown in the above-described embodiments can be used.
将对蜂窝电话进行说明,作为这种设备的一个例子。A cellular phone will be described as an example of such a device.
图25示出了使用上述实施方式中所说明的运动图像编码和解码方法的蜂窝电话ex115。蜂窝电话ex115具有:天线ex201,用于通过无线电波和小区站点ex110通信;能够拍摄运动和静态图像的照相机单元ex203,如电荷耦合器件(CCD)相机;显示单元ex202,如液晶显示器,用于显示通过照相机单元ex203拍摄的或通过天线ex201接收的数据、如解码的图像等;包括一组操作键ex204的主体单元;语音输出单元ex208,如扬声器,用于输出语音;语音输入单元ex205,如麦克风,用于输入语音;存储介质ex207,用于记录编码或解码数据,如通过照相机拍摄的运动或静态图像数据、所接收的电子邮件数据、以及运动或静态图像数据;以及插槽单元ex206,用于把存储介质ex207附加到蜂窝电话ex115上。存储介质ex207是一种放在在诸如安全数字存储卡(SD卡)的塑料盒中的快速存储元件,该快速存储元件是一种作为电可擦除可重写非易失性存储器的电可擦除可编程只读存储器(EEPROM)。FIG. 25 shows a cellular phone ex115 using the moving image encoding and decoding method explained in the above-mentioned embodiments. The cellular phone ex115 has: an antenna ex201 for communicating with a cell site ex110 by radio waves; a camera unit ex203 capable of taking moving and still images such as a charge-coupled device (CCD) camera; a display unit ex202 such as a liquid crystal display for displaying Data captured by the camera unit ex203 or received by the antenna ex201, such as decoded images, etc.; a main body unit including a set of operation keys ex204; a voice output unit ex208, such as a speaker, for outputting voice; a voice input unit ex205, such as a microphone , for inputting voice; the storage medium ex207, for recording encoded or decoded data, such as moving or still image data taken by a camera, received e-mail data, and moving or still image data; and the slot unit ex206, for To attach the storage medium ex207 to the cellular phone ex115. The storage medium ex207 is a fast storage element housed in a plastic case such as a secure digital memory card (SD card), which is an electrically erasable and rewritable nonvolatile memory Erase Programmable Read-Only Memory (EEPROM).
接下来,将参考图26来说明蜂窝电话ex115。在蜂窝电话ex115中,被设计成全面控制包括显示单元ex202和操作键ex204的主体的每个单元的主控制单元ex311,通过同步总线ex313互连到电源电路单元ex310、操作输入控制单元ex304、图像编码单元ex312、相机接口单元ex303、液晶显示器(LCD)控制单元ex302、图像解码单元ex309、复用/解复用单元ex308、读/写单元ex307、调制解调器电路单元ex306和语音处理单元ex305。Next, the cellular phone ex115 will be explained with reference to FIG. 26 . In the cellular phone ex115, the main control unit ex311 designed to comprehensively control each unit of the main body including the display unit ex202 and the operation keys ex204 is interconnected to the power supply circuit unit ex310, the operation input control unit ex304, the image Encoding unit ex312, camera interface unit ex303, liquid crystal display (LCD) control unit ex302, image decoding unit ex309, multiplexing/demultiplexing unit ex308, read/write unit ex307, modem circuit unit ex306, and voice processing unit ex305.
当通过用户的操作接通呼叫结束(call-end)键或电源键,则电源电路单元ex310从电池组向各单元供电,以便把具有照相机的数字蜂窝电话ex115激活为就绪状态。When a call-end key or a power key is turned on by user's operation, the power circuit unit ex310 supplies power from the battery pack to each unit to activate the digital cellular phone with camera ex115 to a ready state.
在蜂窝电话ex115中,语音处理单元ex305在包括中央处理器(CPU)、只读存储器(ROM)和随机存储器(RAM)的主控制单元ex311的控制下,把在会话模式下通过语音输入单元ex205接收的语音信号转换成数字语音数据,调制解调器电路单元ex306对数字语音数据执行扩展频谱处理,并且通信电路单元ex301对数据执行数模转换和频率转换,以便通过天线ex201来发送数据。同样,在蜂窝电话ex115中,通信电路单元ex301对在会话模式下通过天线ex201接收的数据进行放大,并对数据执行频率转换和模数转换,调制解调器电路单元ex306对数据执行逆扩展频谱处理,并且语音处理单元ex305将数据转换成模拟语音数据,以便通过语音输出单元ex208输出模拟语音数据。In the cellular phone ex115, the voice processing unit ex305, under the control of the main control unit ex311 including a central processing unit (CPU), a read-only memory (ROM) and a random access memory (RAM), transfers the voice input unit ex205 in conversation mode to The received voice signal is converted into digital voice data, the modem circuit unit ex306 performs spread spectrum processing on the digital voice data, and the communication circuit unit ex301 performs digital-to-analog conversion and frequency conversion on the data to transmit the data through the antenna ex201. Also, in the cellular phone ex115, the communication circuit unit ex301 amplifies data received through the antenna ex201 in conversation mode, and performs frequency conversion and analog-to-digital conversion on the data, the modem circuit unit ex306 performs inverse spread spectrum processing on the data, and The voice processing unit ex305 converts the data into analog voice data to output the analog voice data through the voice output unit ex208.
此外,当在数据通信模式下发送电子邮件时,通过操作主体的操作键ex204输入的电子邮件文本数据通过操作输入控制单元ex304被发送到主控制单元ex311。在主控制单元ex311中,在调制解调器电路单元ex306对文本数据执行扩展频谱处理并且通信电路单元ex301对文本数据执行数模转换和频率转换之后,数据通过天线ex201被发送到小区站点ex110。Furthermore, when sending an e-mail in the data communication mode, e-mail text data input through the operation key ex204 of the operating body is sent to the main control unit ex311 through the operation input control unit ex304. In the main control unit ex311, after the modem circuit unit ex306 performs spread spectrum processing on the text data and the communication circuit unit ex301 performs digital-to-analog conversion and frequency conversion on the text data, the data is transmitted to the cell site ex110 through the antenna ex201.
当在数据通信模式下发送图像数据时,通过照相机单元ex203拍摄的图像数据通过相机接口单元ex303被提供给图像编码单元ex312。当不发送图像数据时,也有可能通过相机接口单元ex303和LCD控制单元ex302,把照相机单元ex203所拍摄的图像数据直接显示在显示单元ex202上。When image data is transmitted in the data communication mode, image data captured by the camera unit ex203 is supplied to the image encoding unit ex312 through the camera interface unit ex303. When the image data is not transmitted, it is also possible to directly display the image data captured by the camera unit ex203 on the display unit ex202 via the camera interface unit ex303 and the LCD control unit ex302.
包括如本发明所述的运动图像编码设备的图像编码单元ex312利用如上述实施方式所示的运动图像编码设备所采用的编码方法,来对照相机单元ex203所提供的图像数据进行压缩和编码,以便将其转换成编码图像数据,并将其发送到复用/解复用单元ex308。此时,在利用照相机单元ex203拍摄的期间,蜂窝电话ex115把通过语音输入单元ex205收到的语音通过语音处理单元ex305发送到复用/解复用单元ex308,作为数字语音数据。The image encoding unit ex312 including the moving image encoding device according to the present invention compresses and encodes the image data supplied from the camera unit ex203 using the encoding method adopted by the moving image encoding device shown in the above-mentioned embodiments, so that It is converted into coded image data and sent to the multiplexing/demultiplexing unit ex308. At this time, during shooting with the camera unit ex203, the cellular phone ex115 sends the voice received through the voice input unit ex205 to the multiplexing/demultiplexing unit ex308 through the voice processing unit ex305 as digital voice data.
复用/解复用单元ex308利用预定方法,对图像编码单元ex312所提供的编码图像数据和语音处理单元ex305所提供的语音数据进行复用,然后调制解调器电路单元ex306对作为复用结果而获得的复用数据执行扩展频谱处理,最后通信电路单元ex301对数据执行数模转换和频率变换,以便通过天线ex201发送。The multiplexing/demultiplexing unit ex308 multiplexes the encoded image data supplied from the image encoding unit ex312 and the voice data supplied from the voice processing unit ex305 using a predetermined method, and then the modem circuit unit ex306 multiplexes the data obtained as a result of the multiplexing The multiplexed data performs spread spectrum processing, and finally the communication circuit unit ex301 performs digital-to-analog conversion and frequency conversion on the data for transmission through the antenna ex201.
关于在数据通信模式下接收链接到网页等上的运动图像文件数据,调制解调器电路单元ex306对通过天线ex201从小区站点ex110收到的数据执行逆扩展频谱处理,并发送作为逆扩展频谱处理的结果所获得的复用数据。Regarding reception of moving image file data linked to a web page or the like in the data communication mode, the modem circuit unit ex306 performs inverse spread spectrum processing on data received from the cell site ex110 through the antenna ex201, and transmits the result obtained as a result of the inverse spread spectrum processing. The obtained multiplexing data.
为了对通过天线ex201收到的复用数据进行解码,复用/解复用单元ex308把复用数据解复用为编码的图像数据流和编码的语音数据流,并分别通过同步总线ex313把编码图像数据提供给图像解码单元ex309,把语音数据提供给语音处理单元ex305。In order to decode the multiplexed data received through the antenna ex201, the multiplexing/demultiplexing unit ex308 demultiplexes the multiplexed data into encoded image data streams and encoded voice data streams, and encodes the encoded data streams through the synchronous bus ex313 respectively. The image data is supplied to the image decoding unit ex309, and the audio data is supplied to the audio processing unit ex305.
接着,包括如本发明所述的运动图像解码设备的图像解码单元ex309利用如上述实施方式所示的编码方法所对应的编码方法,对编码的图像数据流进行解码,以产生再现的运动图像数据,并通过LCD控制单元ex302将该数据提供给显示单元ex202,从而例如链接到万维网页的运动图像文件中所包括的图像数据被显示。同时,语音处理单元ex305将语音数据转换成模拟语音数据,并将该数据提供给语音输出单元ex208,从而例如链接到万维网页的运动图像文件中所包括的语音数据被再现。Next, the image decoding unit ex309 including the moving image decoding device according to the present invention decodes the encoded image data stream to generate reproduced moving image data using the encoding method corresponding to the encoding method shown in the above embodiments , and supply the data to the display unit ex202 through the LCD control unit ex302, so that, for example, image data included in a moving image file linked to a web page is displayed. Meanwhile, the voice processing unit ex305 converts the voice data into analog voice data and supplies the data to the voice output unit ex208 so that voice data included in, for example, a moving image file linked to a web page is reproduced.
本发明不限于上述系统,因为地基或卫星数字广播最近已被报道,并且至少可以将上述实施方式中所描述的运动图像编码设备或运动图像解码设备集成到如图27所示的数字广播系统中。更具体地说,编码视频信息流通过无线电波从广播电台ex409被发送到广播卫星ex410,或者和广播卫星ex410通信。一旦收到该编码视频信息流,广播卫星ex410就发射无线电波进行广播。然后,具有卫星广播接收功能的家用天线ex406接收无线电波,并且电视机(接收器)ex401或机顶盒(STB)ex407对编码位流进行解码以便再现。可以在再现设备ex403中实现如上述实施方式所示的运动图像解码设备,以便读出和解码存储介质ex402如CD和数字通用光盘(DVD)上记录的编码流。在该情况下,再现的运动图像信号被显示在监视器ex404上。也可以想象在连接到用于有线电视的电缆ex405或用于卫星和/或地基广播的天线ex406的STB ex407中,实现运动图像解码设备,以便将它们再现在电视机ex401的监视器ex408上。也可以将运动图像解码设备并入电视机中,而不是机顶盒中。同样,具有天线ex411的汽车ex412能够从卫星ex410或小区站点ex107接收信号,以便在显示设备如汽车ex412中所设置的汽车导航系统ex413上重放运动图像。The present invention is not limited to the above system because ground-based or satellite digital broadcasting has been reported recently, and at least the moving picture encoding device or moving picture decoding device described in the above embodiments can be integrated into a digital broadcasting system as shown in FIG. 27 . More specifically, the coded video stream is transmitted from the broadcasting station ex409 to the broadcasting satellite ex410 or communicates with the broadcasting satellite ex410 via radio waves. Once the encoded video stream is received, the broadcast satellite ex410 transmits radio waves for broadcast. Then, a home antenna ex406 having a satellite broadcast receiving function receives radio waves, and a television (receiver) ex401 or a set-top box (STB) ex407 decodes the coded bit stream for reproduction. The moving picture decoding device as shown in the above-mentioned embodiments can be implemented in the reproducing device ex403 to read out and decode encoded streams recorded on the storage medium ex402 such as CD and Digital Versatile Disc (DVD). In this case, the reproduced moving image signal is displayed on the monitor ex404. It is also conceivable to realize moving picture decoding equipment in STB ex407 connected to cable ex405 for cable TV or antenna ex406 for satellite and/or ground-based broadcasting so as to reproduce them on monitor ex408 of television set ex401. It is also possible to incorporate a moving picture decoding device into a television set instead of a set-top box. Also, a car ex412 having an antenna ex411 can receive a signal from a satellite ex410 or a cell site ex107 to play back a moving image on a display device such as a car navigation system ex413 provided in the car ex412.
此外,如上述实施方式所示的运动图像编码设备可以对图像信号进行编码,并将它们记录在存储介质上。作为具体的例子,可以引用用于把图像信号记录在DVD盘ex421上的记录器ex420,如DVD记录器,以及用于把图像信号记录在硬盘上的盘记录器。可以把它们记录在SD卡ex422上。当记录器ex420包括如上述实施方式所述的运动图像解码设备时,可以再现DVD盘ex421或SD卡ex422上记录的图像信号,以便将它们显示在监视器ex408上。In addition, the moving image coding apparatus as shown in the above-mentioned embodiments can encode image signals and record them on a storage medium. As specific examples, a recorder ex420 such as a DVD recorder for recording image signals on a DVD disk ex421, and a disk recorder for recording image signals on a hard disk can be cited. They can be recorded on SD card ex422. When the recorder ex420 includes the moving image decoding device as described in the above-mentioned embodiments, image signals recorded on a DVD disk ex421 or SD card ex422 can be reproduced to display them on the monitor ex408.
对于汽车导航系统ex413的结构,可以想象图26所示的部件中没有照相机单元ex203、相机接口单元ex303和图像编码单元ex312的结构。上述情况也适用于计算机ex111、电视机(接收器)ex401等。As for the structure of the car navigation system ex413, a structure without the camera unit ex203, camera interface unit ex303, and image encoding unit ex312 among the components shown in FIG. 26 is conceivable. The above also applies to the computer ex111, the television (receiver) ex401, and the like.
另外,对于诸如蜂窝电话ex114的终端,可以设想三种类型的实现:用编码器和解码器实现的发送/接收终端,只用编码器实现的发送终端,以及只用解码器实现的接收终端。In addition, for a terminal such as a cellular phone ex114, three types of realization are conceivable: a transmitting/receiving terminal realized with an encoder and a decoder, a transmitting terminal realized with only an encoder, and a receiving terminal realized only with a decoder.
注意,图4、16A、16B、17A、17B、18A、18B和22所示框图中的每个功能块都可以被实现为作为集成电路设备的LSI。可以以一个或多个芯片的形式来集成这种LSI(例如可以把除存储器以外的功能块集成到单个芯片中)。在此,取LSI作为例子,然而,取决于集成度,它可以被称为“IC”、“系统LSI”、“超级LSI”和“ultra LSI”。Note that each functional block in the block diagrams shown in FIGS. 4 , 16A, 16B, 17A, 17B, 18A, 18B, and 22 can be realized as an LSI as an integrated circuit device. Such an LSI can be integrated in the form of one or more chips (for example, functional blocks other than memory can be integrated into a single chip). Here, LSI is taken as an example, however, depending on the degree of integration, it may be called "IC", "system LSI", "super LSI", and "ultra LSI".
集成电路集成方法不限于LSI,可以用专用线或一般处理器来实现它。在制造LSI之后,可以利用可编程的现场可编程门阵列(FPGA)、或能够为LSI中的电路单元重新配置连接和设置的可重新配置处理器。The integrated circuit integration method is not limited to LSI, and it can be realized by a dedicated line or a general processor. After the LSI is manufactured, a programmable field programmable gate array (FPGA), or a reconfigurable processor capable of reconfiguring connections and settings for circuit cells in the LSI may be utilized.
此外,随着由于半导体技术或不同于半导体技术的另一种技术的进展而代替LSI的集成电路集成技术的到来,可以利用新出现的技术来实施功能块的集成。可以引用生物技术应用作为例子之一。Furthermore, with the advent of integrated circuit integration technology that replaces LSI due to the advancement of semiconductor technology or another technology different from semiconductor technology, integration of functional blocks can be implemented using newly emerging technology. Biotechnology applications can be cited as one example.
在功能块中,只有用于存储数据的单元可以在不以芯片形式进行集成的情况下,被单独构造为该实施方式中所述的存储介质115。Among the functional blocks, only a unit for storing data can be separately configured as the storage medium 115 described in this embodiment without being integrated in a chip form.
注意,可以通过处理器或程序,来实现图4和22中所示的功能块或图19至21中所示的流程图中的主要部分。Note that the functional blocks shown in FIGS. 4 and 22 or main parts in the flowcharts shown in FIGS. 19 to 21 can be realized by a processor or a program.
如上所述,有可能在任一上述设备或系统中使用以上实施方式中提出的图像编码方法和图像解码方法。因此,有可能获得上述实施方式中描述的效果。As described above, it is possible to use the image encoding method and the image decoding method proposed in the above embodiments in any of the above devices or systems. Therefore, it is possible to obtain the effects described in the above embodiments.
(第二实施方式)(second embodiment)
以下描述本发明第二实施方式。A second embodiment of the present invention is described below.
<基于整数的无除法量化方案><Integer-based division-free quantization scheme>
为了减小计算复杂性,希望利用q矩阵的量化只使用乘法和移位操作。换句话说,实际上应该避免计算量大的除法操作。所提出的基于整数的无除法非均匀高效量化方法一般可应用于视频编码系统中任何尺寸的块变换和量化。In order to reduce computational complexity, it is desirable to use only multiplication and shift operations for quantization with the q-matrix. In other words, computationally expensive division operations should actually be avoided. The proposed integer-based division-free non-uniform high-efficiency quantization method can generally be applied to block transformation and quantization of any size in video coding systems.
在图16A和16B中,说明了在只使用乘法和移位操作的情况下的变换系数的量化和解量化(de-quantization)操作。对于给定的QP,S1和S2的值对于所有系数都是固定的,而Q1和Q2的值取决于QP值和系数位置(参见Ref.1:ISO/IEC MPEG&ITU-T VCEG的联合视频小组(JVT),“Draft of ITU-T Recommendation and Final DraftInternational Standard of Joint Video Specification(联合视频规范的ITU-T建议和最终草案国际标准草案)(ITU-T Rec.H.264|ISO/IEC14496-10 AVC)”,JVT-G050r1.doc,Geneva,Switzerland,May 2003)。注意,这不是加权量化机制,而只不过是归一化问题,因为在视频编码标准中整数变换的行是正交的,但是没有相同范数(norm)(见Ref.1)。In FIGS. 16A and 16B , quantization and de-quantization (de-quantization) operations of transform coefficients in the case where only multiplication and shift operations are used are illustrated. For a given QP, the values of S1 and S2 are fixed for all coefficients, while the values of Q1 and Q2 depend on the QP value and coefficient position (see Ref.1: Joint Video Team of ISO/IEC MPEG & ITU-T VCEG ( JVT), "Draft of ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Recommendation and Final Draft International Standard Draft of Joint Video Specification) (ITU-T Rec.H.264|ISO/IEC14496-10 AVC )", JVT-G050r1.doc, Geneva, Switzerland, May 2003). Note that this is not a weighted quantization mechanism, but just a normalization problem, because in video coding standards the rows of integer transforms are orthogonal but do not have the same norm (see Ref.1).
把q矩阵集成到无除法量化和解量化中首先可以被看作是在这两个处理中引入另一对乘法和移位。在图17A和17B中对此进行了说明。注意,Qa和Qb的值取决于指定的q矩阵项以及指定的Sa值。Integrating the q-matrix into division-free quantization and dequantization can first be seen as introducing another pair of multiplications and shifts in these two processes. This is illustrated in Figures 17A and 17B. Note that the values of Qa and Qb depend on the specified q-matrix entries as well as the specified value of Sa.
为了减小计算复杂性,可以只利用乘法和移位操作来近似除法操作。对于指定的q矩阵项Mq和给定的(或编码器和解码器都同意的)Sa值,整数Qa的值被定义为(1<<(Sa+Bn))/Mq。相应地,整数Qb的值被定义为Mq<<(Sa-Bn)。例如,可以把Bn设定为4。显然,在该情况下,利用所有项都等于16的q矩阵的量化将和视频编码标准中的均匀量化一样(见Ref.1)。注意,Sa>Bn,并且通常Sa>=8。这种设计用于保持一定水平的整数计算精度,因为Qa和Qb都是整数。考虑这种利用q矩阵的量化的设计,可以证明所有操作和存储器存取都可以用16位来计算。注意,如果在存储之前数据被缩放/移位,则中间结果允许超过16位。较大的Sa值允许更好的整数量化计算精度,然而,应该相对于硬件设计,关于中间结果的动态范围来约束值。In order to reduce computational complexity, the division operation can be approximated using only multiplication and shift operations. For a given q-matrix entry Mq and a given (or agreed upon by both encoder and decoder) Sa value, the value of the integer Qa is defined as (1<<(Sa+Bn))/Mq. Accordingly, the value of the integer Qb is defined as Mq<<(Sa-Bn). For example, Bn can be set to 4. Obviously, in this case quantization with a q-matrix with all entries equal to 16 will be the same as uniform quantization in the video coding standard (see Ref. 1). Note that Sa>Bn, and usually Sa>=8. This design is used to maintain a certain level of precision in integer calculations, since both Qa and Qb are integers. Considering this design with quantization of the q-matrix, it can be shown that all operations and memory accesses can be computed in 16 bits. Note that intermediate results are allowed to exceed 16 bits if the data is scaled/shifted before storage. Larger values of Sa allow better integer quantization calculation accuracy, however, the value should be constrained with respect to the dynamic range of the intermediate results with respect to the hardware design.
<解量化和归一化逆变换的单次乘法><Single multiplication of dequantization and normalized inverse transform>
根据图17A和17B,直接的做法是据此组合乘法和移位操作,由此减小计算复杂性。图18A和18B示出了利用q矩阵量化的进一步集成度。具体地说,整数Q1a被定义为Q1*(1<<(Sa+Bn))/Mq,且整数Q2a等于Q2*Mq<<(Sa-Bn)。因为Q1和Q2是从查找表获得的,所以q矩阵的集成基本上导致执行过程中的查找表更新。From Figures 17A and 17B, it is straightforward to combine multiply and shift operations accordingly, thereby reducing computational complexity. Figures 18A and 18B show further integration levels using q-matrix quantization. Specifically, the integer Q1a is defined as Q1*(1<<(Sa+Bn))/Mq, and the integer Q2a is equal to Q2*Mq<<(Sa−Bn). Since Q1 and Q2 are obtained from a lookup table, the integration of the q-matrix basically results in an update of the lookup table during execution.
在初始化阶段,可以容易地根据指定的q矩阵来改变表。注意,整数S2的值被定义为QP/6,并且它总是小于8,因为在视频编码标准中QP必须在[0,51]的范围内(见Ref.1)。重要的是,所建议的集成有助于使Q1a值对于每个q矩阵项的不同值(例如典型地为[1,255])都是可区分的。从编码器设计的观点来看,这是所希望的一种特性,因为它允许依据量化进行更精细调谐的灵活性。During the initialization phase, the table can be easily changed according to the specified q-matrix. Note that the value of the integer S2 is defined as QP/6, and it is always less than 8, because QP must be in the range [0, 51] in video coding standards (see Ref.1). Importantly, the proposed ensemble helps to make Q1a values differentiable for different values of each q-matrix term (e.g. typically [1, 255]). From an encoder design point of view, this is a desirable feature as it allows the flexibility of finer tuning in terms of quantization.
<基于q矩阵推导的新查找表例子><Example of new lookup table based on q matrix derivation>
我们得到以下一般形式的量化公式:We get a quantization formula of the following general form:
量化:Quantification:
Cij=sign(xij)*(abs(xij)*Qq(QP%6,i,j)+(1<<n)*f)>>nC ij =sign(x ij )*(abs(x ij )*Q q (
解量化:Dequantization:
yij=sign(cij)*((abs(cij)*Qd(QP%6,i,j))>>m)y ij =sign(c ij )*((abs(c ij )*Q d (
在此,xij、cij、yij分别表示原始、量化和解量化的系数。Qq和Qd分别是在量化和解量化中使用的矩阵。考虑整数变换的归一化,Qq和Qd不同。注意,在均匀量化的情况下,Qq和Qd将是平坦矩阵(flatmatrix)。如果x为正,则sign(x)等于1,如果x=0,则sign(x)等于0,或者如果x为负,则sign(x)等于-1。abs(x)是x的绝对值。m和n的值取决于QP、块变换尺寸和Sa值。f值通常取决于块编码类型;例如,对于帧内编码块它等于3/8,对于帧间编码块它等于1/6。Here, x ij , c ij , and y ij represent original, quantized, and dequantized coefficients, respectively. Qq and Qd are matrices used in quantization and dequantization, respectively. Considering the normalization of integer transformations, Q q and Q d are different. Note that in the case of uniform quantization, Qq and Qd will be flat matrices. sign(x) equals 1 if x is positive, 0 if x=0, or -1 if x is negative. abs(x) is the absolute value of x. The values of m and n depend on QP, block transform size and Sa value. The f-value usually depends on the block coding type; for example, it is equal to 3/8 for an intra-coded block and 1/6 for an inter-coded block.
<与8×8q矩阵关联的新查找表/矩阵><new lookup table/matrix associated with 8×8q matrix>
考虑Bn=4、Sa=8,且如图30和31推导矩阵Qq和Qd的情况。对于行正交且具有相同范数的8×8整数变换,利用q矩阵推导查找表是简单的。采用图28所示的8×8q矩阵。Consider the case where Bn=4, Sa=8, and matrices Q q and Q d are derived as shown in Figures 30 and 31 . For 8×8 integer transforms whose rows are orthogonal and have the same norm, it is straightforward to derive a lookup table using the q matrix. The 8x8q matrix shown in Fig. 28 is used.
基于8×8整数变换,分别得到如图29所示的量化和解量化缩放因数(scaling factor)表。Based on the 8×8 integer transformation, quantization and dequantization scaling factor (scaling factor) tables as shown in FIG. 29 are respectively obtained.
在QP=20的情况下,用于量化的缩放因数(用作乘数)将等于1979,用于解量化的缩放因数将等于19。注意,在均匀量化的情况下,这些值对于所有变换系数都是相同的。当使用q矩阵时,缩放因数实质上分别变成了如图30和31所示的矩阵。当指定q矩阵时,可以对每个缩放因数进行初始化。In the case of QP=20, the scaling factor (used as a multiplier) for quantization will be equal to 1979 and the scaling factor for dequantization will be equal to 19. Note that in case of uniform quantization these values are the same for all transform coefficients. When using the q-matrix, the scaling factors essentially become the matrices shown in Figures 30 and 31, respectively. Each scaling factor can be initialized when the q matrix is specified.
<与4×4q矩阵关联的新查找表/矩阵><new lookup table/matrix associated with 4×4q matrix>
考虑Bn=4、Sa=8,且如图34和35所示推导矩阵Qq和Qd的情况。对于行正交但具有不同范数的4×4整数变换(参见Ref.1),利用q矩阵推导查找表需要考虑矩阵中系数的位置。采用图32所示的4×4q矩阵。如图33所示确定量化和解量化缩放因数表(考虑整数变换的归一化)。Consider the case where Bn=4, Sa=8, and matrices Q q and Q d are derived as shown in FIGS. 34 and 35 . For 4×4 integer transforms with row-orthogonal but different norms (see Ref. 1), deriving the lookup table with the q-matrix requires taking into account the position of the coefficients in the matrix. A 4x4q matrix shown in Fig. 32 is used. The quantization and dequantization scaling factor tables are determined as shown in FIG. 33 (considering normalization of integer transforms).
在QP=20的情况下,用于量化和解量化的缩放因数(用作乘数)矩阵将分别如图34和35所示。In the case of QP=20, the matrix of scaling factors (used as multipliers) for quantization and dequantization will be as shown in Figures 34 and 35, respectively.
当指定4×4q矩阵时,可以相对图33中列出的矩阵w和v的每一行来初始化这些矩阵。When specifying 4x4q matrices, these matrices can be initialized with respect to each row of matrices w and v listed in FIG. 33 .
<分别处理DC块量化><Separately process DC block quantization>
在使用Hadamard变换的情况下,所提议的利用q矩阵的量化不适用于第二级变换,即亮度和色度的DC分量变换。这是一些原因。在编码器中,量化紧跟变换之后,而在解码器中,解量化紧跟逆变换之后、而不是之前。这是为了在逆变换期间保持可能的动态范围(整数计算精度)。结果,量化和解量化实际上是在不同的域中。这对于均匀量化不是问题,但是在使用加权q矩阵的过程中将造成系数的缩放因数的不对准。另外,Hadamard变换本身不必保持和第一级中一样的DCT(或近似整数变换)特性。Hadamard变换域中的加权量化可能不是同样地有意义。In case the Hadamard transform is used, the proposed quantization with the q-matrix is not suitable for the second level transform, ie the DC component transform of luma and chrominance. Here are some reasons. In the encoder, quantization follows the transform, while in the decoder, dequantization follows the inverse transform, not before. This is to preserve the possible dynamic range (integer computation precision) during the inverse transform. As a result, quantization and dequantization are actually in different domains. This is not a problem for uniform quantization, but will cause a misalignment of the scaling factors of the coefficients in the process of using the weighted q-matrix. In addition, the Hadamard transform itself does not have to maintain the same DCT (or approximate integer transform) properties as in the first stage. Weighted quantization in the Hadamard transform domain may not be equally meaningful.
该创新将均匀量化方案扩展到使用q矩阵的加权量化方案,同时维持整数操作,并将复杂性保持到最小限度。作为重要的例子,该解决方案允许在可忽略的复杂性增加和最小限度句法改变的情况下,把量化矩阵方案集成到当前视频编码系统(参见Ref.1)实现中。This innovation extends uniform quantization schemes to weighted quantization schemes using q matrices while maintaining integer operations and keeping complexity to a minimum. As an important example, this solution allows the integration of quantization matrix schemes into current video coding system (see Ref. 1) implementations with negligible complexity increase and minimal syntax changes.
(第三实施方式)(third embodiment)
以下描述本发明第三实施方式。A third embodiment of the present invention is described below.
在视频编码系统中,默认地定义一组量化矩阵,使得解码器实施量化方案和矩阵。当编码的位流使用量化加权方案时,它们将用于解码。用户可以定义他们自己的量化矩阵,并将它们发送到解码器。该创新将规定怎样将量化矩阵发送到解码器。In video coding systems, a set of quantization matrices is defined by default such that a decoder implements the quantization scheme and matrices. They are used for decoding when the encoded bitstream uses a quantization weighting scheme. Users can define their own quantization matrices and send them to the decoder. This innovation will dictate how the quantization matrix is sent to the decoder.
该创新也定义在各种编码模式选择中的变换选择。The innovation also defines the transform selection among various coding mode selections.
在量化加权方案中,我们描述以下主要特征:In the quantization weighting scheme, we describe the following main features:
1.完全基于整数的无除法量化加权方案的规范,在解码器处只需要16位存储器操作,与均匀量化方案相比,这没有引入复杂性的增加。1. Specification of a division-free quantization weighting scheme based entirely on integers, requiring only 16-bit memory operations at the decoder, which introduces no increase in complexity compared to uniform quantization schemes.
2.所提议的非均匀量化方案是基于对亮度的8×8变换,因为我们认为这是更好地保护图像纹理的变换,图像纹理是影响高质量图像主观印象的最重要内容要素之一。2. The proposed non-uniform quantization scheme is based on an 8×8 transform to luminance, because we believe that this is the transform that better preserves image texture, which is one of the most important content elements affecting the subjective impression of high-quality images.
非均匀量化加权应用于帧内预测和帧间预测中的残差。该创新提供一组新的编码工具,并将均匀量化方案扩展到使用q矩阵的加权量化方案,同时维持整数操作,并将复杂性保持到最小限度。这使视频编码在高质量和高比特率编码应用中变得尤其有效。Non-uniform quantization weighting is applied to residuals in both intra prediction and inter prediction. This innovation provides a new set of encoding tools and extends uniform quantization schemes to weighted quantization schemes using q matrices while maintaining integer operations and keeping complexity to a minimum. This makes video encoding particularly efficient in high-quality and high-bit-rate encoding applications.
AVC的专业扩展曲线(逼真度范围曲线)(Professional ExtensionProfiles)(Fidelity Range Profiles))旨在对高分辨率图像编码,包括高清晰(HD)图像。同样,在HD图像表示中,很大程度上意识到高视觉逼真度。当使用AVC专业扩展曲线(Professional Extension Profiles)时,自然希望允许AVC的优秀编码效率最大限度地直接有益于视觉质量。为了提高HD主观质量,在此我们建议一种使能对于块变换系数的非均匀量化加权的量化加权方案。由于以下原因,我们认为非均匀量化工具是关键性的:AVC's Professional Extension Profiles (Professional Extension Profiles (Fidelity Range Profiles)) are designed to encode high-resolution images, including high-definition (HD) images. Also, in HD image representation, a high visual fidelity is largely realized. When using AVC Professional Extension Profiles, it is natural to want to allow AVC's excellent encoding efficiency to maximize its direct benefit to visual quality. To improve HD subjective quality, here we propose a quantization weighting scheme that enables non-uniform quantization weighting for block transform coefficients. We believe non-uniform quantization tools are critical for the following reasons:
1.提高编码图像的视觉逼真度。1. Improve the visual fidelity of encoded images.
2.非均匀量化使与人类视觉灵敏度成比例地执行量化调节成为可能,这提高了图像逼真度的编码效率。2. Non-uniform quantization makes it possible to perform quantization adjustment in proportion to human visual sensitivity, which improves coding efficiency for image fidelity.
3.提供控制最终图像质量的灵活选择,这是高质量内容生成工业所强烈要求的。3. Provide flexible options to control the final image quality, which is strongly demanded by the high-quality content generation industry.
在此提议的量化加权方案包括以下主要特征:The quantitative weighting scheme proposed here includes the following main features:
1.完全基于整数的无除法量化加权方案的规范,在解码器处只需要16位存储器操作,与均匀量化方案相比,这没有引入复杂性的增加。1. Specification of a division-free quantization weighting scheme based entirely on integers, requiring only 16-bit memory operations at the decoder, which introduces no increase in complexity compared to uniform quantization schemes.
2.所提议的非均匀量化方案是基于对亮度的8×8变换,因为我们认为这是更好地保护图像纹理的变换,图像纹理是影响高质量图像主观印象的最重要内容要素之一。2. The proposed non-uniform quantization scheme is based on an 8×8 transform to luminance, because we believe that this is the transform that better preserves image texture, which is one of the most important content elements affecting the subjective impression of high-quality images.
3.非均匀量化加权应用于帧内预测和帧间预测中的残差。3. Non-uniform quantization weighting is applied to the residual in intra prediction and inter prediction.
我们在各种HD显示设备中的模拟和观看都显示出所有视频序列的主观质量提高以及许多测试视频的大大提高,包括我们从电影摄影棚获得的一些JVT序列和电影内容。Our simulations and viewings in various HD display devices have shown improvements in the subjective quality of all video sequences as well as substantial improvements in many test videos, including some of our JVT sequences and film content from film studios.
<8×8变换和量化加权矩阵的建议范围><Recommended range for 8×8 transform and quantization weighting matrices>
根据以前提交给JVT的许多JVT投稿都显示良好的编码效率,我们将建议包括8×8变换。更重要的是,已经显示出由使用8×8变换而得到的主观质量提供更好的图像纹理保护。因为我们具有以前许多投稿和以前AVC委员会草案所基于的、制定完善的8×8变换(参见Ref.2:S.Gordon,D.Marpe,T.Wiegand,“Simplified use of 8×8 transform(8×8变换的简化使用),”ISO/IEC JTC1/SC29/WG11 and ITU-TQ6/SG16,文档JVT-J029,December 2003..),所以我们在我们的建议中使用该变换。然而,如果使用其它的8×8整数变换矩阵选择,我们不认为结果有较大差异。Based on the many JVT submissions previously submitted to JVT showing good coding efficiency, we will propose to include the 8×8 transform. More importantly, it has been shown that the subjective quality obtained by using the 8x8 transform provides better image texture preservation. Because we have a well-established 8×8 transform on which many previous contributions and previous AVC committee drafts were based (see Ref. 2: S. Gordon, D. Marpe, T. Wiegand, “Simplified use of 8×8 transform(8 ×8 transform), "ISO/IEC JTC1/SC29/WG11 and ITU-TQ6/SG16, document JVT-J029, December 2003..), so we use that transform in our proposal. However, we don't think the results are much different if other 8x8 integer transformation matrix choices are used.
<8×8亮度帧内预测><8×8 luma intra prediction>
在此,除现有模式帧内16×16、帧内4×4以外,对于亮度8×8帧内预测建议一种新的宏块模式mb_type I_8×8。有9种帧内8×8预测模式。在Ref.2中对它们进行了规定。将低通滤波应用于参考像素,以便提高预测有效性。同样在Ref.2中的ABT 8×8帧内预测部分中规定了滤波。Here, in addition to the existing modes Intra 16×16 and
<色度帧内预测><chroma intra prediction>
取决于色度采样格式,应该使用不同的量化加权。对于4:2:0和4:2:2格式,使用4×4量化加权,其中在下面定义量化方案。对于4:4:4格式,对色度样本应用相同的变换和量化方案。Depending on the chroma sampling format, different quantization weights should be used. For 4:2:0 and 4:2:2 formats, 4x4 quantization weights are used, where the quantization scheme is defined below. For the 4:4:4 format, the same transformation and quantization scheme is applied to the chroma samples.
<8×8帧间预测><8×8 Inter Prediction>
8×8变换用于所有16×16、16×8和8×16的P和B宏块类型。另外,对于P片,8×8变换用于sub_mb_type等于P_L0_8×8的任何8×8子宏块,或者对于B片,用于B_Direct_8×8、B_L0_8×8、B_L1_8×8或B_Bi_8×8。The 8x8 transform is used for all 16x16, 16x8 and 8x16 P and B macroblock types. Also, for P slices, the 8x8 transform is used for any 8x8 submacroblock with sub_mb_type equal to P_L0_8x8, or for B slices, for B_Direct_8x8, B_L0_8x8, B_L1_8x8, or B_Bi_8x8.
<量化加权矩阵的句法元素><Syntax Elements of Quantized Weighting Matrix>
量化加权矩阵的附加句法元素包括在位流之初定义用户定义的加权矩阵。通过图像参数集中的矩阵标识符(ID)来引用量化加权矩阵。Additional syntax elements for quantization weighting matrices include defining user-defined weighting matrices at the beginning of the bitstream. Quantization weighting matrices are referenced by a matrix identifier (ID) in the image parameter set.
<量化加权矩阵><quantization weighting matrix>
量化加权矩阵正好在解码器中的逆变换之前,应用于量化步长。每一个系数索引处的加权可以不同,以提供均匀量化。加权是附加到句法中定义的QP上的,从而所应用的量化实际上是量化加权和QP的组合(图36)。加权矩阵能够减小和增大相对于QP的量化量。The quantization weight matrix is applied to the quantization step size just before the inverse transform in the decoder. The weighting at each coefficient index can be different to provide uniform quantization. The weights are appended to the QP defined in the syntax, so that the quantization applied is actually a combination of the quantization weights and the QP (Fig. 36). The weighting matrix can reduce and increase the amount of quantization relative to QP.
在AVC规范中,通过解量化缩放的乘法及随后的移位,来执行解量化,其中通过QP模6来计算解量化。每一解量化操作有一次整数乘法。当使用量化加权矩阵时,类似地定义量化。In the AVC specification, dequantization is performed by dequantization scaled multiplication followed by shifting, where dequantization is computed by QP modulo 6. There is one integer multiplication per dequantization operation. Quantization is defined similarly when quantization weighting matrices are used.
在量化加权矩阵中,为了将权重维持在从大于1到小于1变化的范围,量化加权矩阵的值实际上是实际加权值乘16的舍入整数值。例如,量化权值1.2对应于量化加权矩阵值19。图37示出了量化加权矩阵的例子。In the quantization weighting matrix, in order to maintain the weight in a range from greater than 1 to less than 1, the value of the quantization weighting matrix is actually a rounded integer value multiplied by 16 of the actual weighting value. For example, a quantization weight value of 1.2 corresponds to a quantization weight matrix value of 19. Fig. 37 shows an example of a quantization weight matrix.
<8×8亮度的量化加权><Quantization weighting for 8×8 luminance>
对于8×8亮度,dij表示量化的变换系数。W(i,j)表示量化加权矩阵。于是,我们得到如图38所示的解量化操作。For 8x8 luma, d ij represents the quantized transform coefficient. W(i, j) represents a quantization weight matrix. Thus, we get the dequantization operation as shown in FIG. 38 .
<4×4块变换的量化加权><Quantization Weighting for 4×4 Block Transformation>
对于4:2:0和4:2:2色度格式,将色度变换到4×4DCT域。4×4量化加权矩阵只应用于交流系数。对于每一个8×8色度块,形成2×2DC块,并进一步应用其中系数被均匀量化的变换。这和当前规范一样。For 4:2:0 and 4:2:2 chroma formats, the chroma is transformed to the 4x4DCT domain. The 4x4 quantization weighting matrix is only applied to the AC coefficients. For each 8x8 chroma block, a 2x2 DC block is formed and a transform is further applied in which the coefficients are uniformly quantized. This is the same as the current specification.
Ref.3:ITU-T建议H.264和ISO/IEC国际标准14496-10AVC,文档JVT-J010d7,October 2003中的色度QP推导过程在此保持一样。然而,对于2×2色度DC部分的解量化定义如下,Ref.3: ITU-T recommends H.264 and ISO/IEC international standard 14496-10AVC, document JVT-J010d7, the chroma QP derivation process in October 2003 remains the same here. However, the dequantization for the 2×2 chroma DC part is defined as follows,
dcCij=(fij*M(QPC%6,0,0)<<QPC/6-5,对于QPC/6≥5 (5)dcC ij =(f ij *M(QP C %6,0,0)<<QP C /6-5, for QP C /6≥5 (5)
dcCij=(fij*M(QPC%6,0,0)+1<<(4-QPC/6))>>5-QPC/6,对于QPC/6<5(6)dcC ij = (f ij *M(QP C %6,0,0)+1<<(4-QP C /6))>>5-QP C /6, for QP C /6<5(6)
其中in
M(QPC%6,0,0)=W(0,0)=W(0,0)*LevelScale(QPC%6,0,0) (7)M(QP C %6,0,0)=W(0,0)=W(0,0)*LevelScale(QP C %6,0,0) (7)
加权矩阵只应用于量化系数的交流部分。类似地,如图38中的方程式(1)和(2)来定义解量化,除了如图39和40所示的Ref.3中的8.5.8那样定义LevelScale函数。The weighting matrix is only applied to the AC part of the quantized coefficients. Similarly, dequantization is defined by equations (1) and (2) in FIG. 38 , except that the LevelScale function is defined as in 8.5.8 in Ref.3 as shown in FIGS. 39 and 40 .
解码过程的其余部分和Ref.3中的规范一样。在4:4:4色度采样情况下,用和亮度相同的方式来变换和量化每一个8×8色度块。The rest of the decoding process is as specified in Ref.3. In the case of 4:4:4 chroma sampling, each 8×8 chroma block is transformed and quantized in the same way as luma.
在场编码模式下,宏块对中的场宏块使用一样的量化矩阵组。在场编码方式下的B_Direct_8×8模式情况下,当运动搜索块模式小于8×8块时,我们也愿意建议允许对4×4变换块的残差使用4×4量化加权。In field coding mode, the field macroblocks in a macroblock pair use the same set of quantization matrices. In the case of B_Direct_8x8 mode in field coding mode, when the motion search block mode is smaller than 8x8 blocks, we would also like to propose to allow the use of 4x4 quantization weights for residuals of 4x4 transform blocks.
在应用量化加权方案中,必须注意,在与QP相结合来设计量化加权矩阵时必须特别谨慎。应该保证量化加权不扩展任何系数的位长。最希望的是维持矩阵系数之间的某一平衡,虽然这是编码器的责任。In applying the quantization weighting scheme, care must be taken that special care must be taken when designing the quantization weighting matrix in conjunction with QP. It should be ensured that the quantization weights do not extend the bit length of any coefficients. It is most desirable to maintain some balance between the matrix coefficients, although this is the responsibility of the encoder.
<基于量化加权矩阵来推导解量化缩放表><Derivation of Dequantization Scaling Table Based on Quantization Weighting Matrix>
当用户定义的量化加权矩阵被发送到解码器时,解码器需要根据量化加权和QP%6来构造解量化缩放表。每一个QP%6都对应于一个缩放表。可以通过使当前AVC规范中的均匀解量化和缩放表的每一项和量化加权矩阵相乘,来计算表。它的一个例子是图41所示的基于Ref.2中所建议的变换的解量化表推导。如果我们得到具有图41所示值的量化矩阵,接着另外向左移位4次。When the user-defined quantization weight matrix is sent to the decoder, the decoder needs to construct the dequantization scaling table according to the quantization weight and
QP%6=0时的解量化系数表将如图42所示。The dequantization coefficient table when
<复杂性><complexity>
一旦根据量化加权矩阵和QP/6产生了量化缩放表M(QP%6,0,0),则与当前的均匀量化相比,引入一个量化矩阵就没有附加的复杂性。每8×8量化有64次整数乘法,并且每4×4量化矩阵有16次整数乘法,来产生缩放表M(QP%6,0,0)。每8×8量化矩阵有最大768字节(64*2*6)的总存储量,并且每4×4量化矩阵有最大192字节的总存储量。Once the quantization scaling table M(
<量化加权矩阵的位流句法><Bitstream syntax for quantization weight matrix>
编码器应该能够选择是否使用量化加权。为允许这样做,需要在使用量化加权矩阵的序列参数集中设置use_weighting_matrix标志。Encoders should be able to choose whether to use quantization weighting. To allow this, the use_weighting_matrix flag needs to be set in the sequence parameter set that uses the quantized weighting matrix.
象在MPEG-2中一样,除默认的矩阵组外,用户可以定义量化加权矩阵。可以利用pic_parameter_ser将用户提供的量化加权矩阵加载到解码器中。随后,所加载的量化加权矩阵可以被其它pic_parameter_set引用。所加载的矩阵将用于产生将被保存在解码器中的解量化表。所加载的矩阵用ID来编号。可以将加权矩阵保存在当前图像内的存储器中(可用于当前帧中的片),或者长期保存。将只被保存在当前图像内的存储器中的加权矩阵是局部加权矩阵。可以通过加权矩阵ID=0-1来把它们和长期矩阵区分开。4×4和8×4大小的加权矩阵可以具有相同的ID。As in MPEG-2, the user can define quantization weighting matrices in addition to the default set of matrices. A user-supplied quantization weighting matrix can be loaded into the decoder using pic_parameter_ser. Subsequently, the loaded quantization weight matrix can be referenced by other pic_parameter_sets. The loaded matrix will be used to generate the dequantization table which will be stored in the decoder. The loaded matrices are numbered by ID. The weighting matrices can be stored in memory within the current image (available for slices in the current frame), or long-term. The weighting matrices that will only be kept in memory within the current image are local weighting matrices. They can be distinguished from long-term matrices by weighting matrix ID=0-1. Weighting matrices of size 4x4 and 8x4 can have the same ID.
对于没有用户定义的加权矩阵的情况,可以利用一组默认的量化加权矩阵。这组默认的量化加权矩阵为解码器所知。为这组默认加权矩阵预先定义所有量化缩放表,因此不需要预计算。这组默认量化加权矩阵包括两个亮度量化矩阵(帧内预测和帧间预测)和两个色度量化矩阵(4×4)。For cases where there is no user-defined weighting matrix, a default set of quantized weighting matrices can be utilized. This set of default quantization weight matrices is known to the decoder. All quantization scaling tables are pre-defined for this set of default weighting matrices, so no precomputation is required. The set of default quantization weighting matrices includes two luma quantization matrices (intra prediction and inter prediction) and two chroma quantization matrices (4×4).
随后可以用标识号来引用加权矩阵。我们建议,对于每一图像参数集,每帧间和每帧内预测方式最多有一个亮度量化矩阵。类似地,每帧间和每帧内预测方式最多有一个4×4量化矩阵。The weighting matrix can then be referenced by an identification number. We propose, for each image parameter set, at most one luma quantization matrix per inter and per intra prediction method. Similarly, there is at most one 4x4 quantization matrix per inter and intra prediction mode.
<句法><syntax>
以下描述所建议的pic_parameter_set_rbsp,它具有用于定义8×8或4×4帧间预测、帧内预测宏块的量化矩阵的嵌入项。The following describes the proposed pic_parameter_set_rbsp with embedded entries for defining quantization matrices for 8x8 or 4x4 inter-predicted, intra-predicted macroblocks.
pic_parameter_set_rbsp(){pic_parameter_set_rbsp(){
…...
new_quantization_matrices_definednew_quantization_matrices_defined
if(new_quantization_matrices_defined)if(new_quantization_matrices_defined)
def_quant_weighting_matrixdef_quant_weighting_matrix
…...
intra_quant_mat8_updateintra_quant_mat8_update
if(intra_quant_mat8_update)if(intra_quant_mat8_update)
quant_mat8_idQuant_mat8_id
inter_quant_mat8_updateinter_quant_mat8_update
if(inter_quant_mat8_update)if(inter_quant_mat8_update)
quant_mat8_idQuant_mat8_id
intra_quant_mat4_updateintra_quant_mat4_update
if(intra_quant_mat4_update)if(intra_quant_mat4_update)
quant_mat4_idQuant_mat4_id
inter_quant_mat4_updateinter_quant_mat4_update
if(inter_quant_mat4_update)if(inter_quant_mat4_update)
quant_mat4_idQuant_mat4_id
…...
}}
def_quant_weighting_matrix(){def_quant_weighting_matrix(){
load_quant_mat8load_quant_mat8
if(load_quant_mat8){if(load_quant_mat8){
num_quant_mat8num_quant_mat8
for(k=0;k<num_quant_mat8;k++){ for(k=0; k<num_quant_mat8; k++){
quant_mat8_idQuant_mat8_id
for(i=0;i<8;++i)for(i=0; i<8; ++i)
for(j=0;<8;++j)for(j=0;<8;++j)
quant_mat8[i][j]Quant_mat8[i][j]
}}
}}
load_quant_mat4load_quant_mat4
if(load_quant_mat4)if(load_quant_mat4)
num_quant_mat4num_quant_mat4
for(k=0;k<num_quant_mat4;k++){ for (k=0; k<num_quant_mat4; k++){
quant_mat4_idQuant_mat4_id
for(i=0;i<4;++i)for(i=0; i<4; ++i)
for(j=0;<4;++j)for(j=0;<4;++j)
quant_mat4[i][j]Quant_mat4[i][j]
}}
}}
}}
(第四实施方式)(fourth embodiment)
以下描述本发明第四实施方式。A fourth embodiment of the present invention is described below.
<对于Intra_16×16(帧内16×16)宏块类型亮度DC变换系数的缩放和变换处理><Scaling and transform processing for Intra_16×16 (intra 16×16) macroblock type luminance DC transform coefficients>
注意,以下公式可用于解量化缩放函数操作。Note that the following formula can be used to dequantize scaling function operations.
如果QP’Y大于或等于36,则缩放结果将被推导为If QP' Y is greater than or equal to 36, the scaled result will be deduced as
dcYij=(fij*LevelScale4×4L,intra(QP’Y%6,0,0))<<(QP’Y/6-6),i,j=0...3dcY ij = (f ij *LevelScale 4×4L, intra ( QP'Y %6,0,0))<<(QP'Y/6-6 ) , i,j=0...3
否则(QP’Y小于36),缩放结果将被推导为Otherwise (QP' Y is less than 36), the scaling result will be deduced as
<对于4:2:0色度格式色度DC变换系数的缩放和变换处理><Scaling and transformation processing for 4:2:0 chroma format chroma DC transform coefficients>
注意,以下公式可用于解量化缩放函数操作。Note that the following formula can be used to dequantize scaling function operations.
如果QP’C大于或等于30,则缩放结果将被推导为If QP' C is greater than or equal to 30, the scaled result will be derived as
dcCij=(fij*LevelScale4×4C,Intra(QP’C%6,0,0))<<(QP’C/6-5),i,j=0,1dcC ij = (f ij *LevelScale 4×4C, Intra (QP' C %6, 0, 0)) <<(QP' C /6-5), i, j = 0, 1
否则(QP’C小于30),缩放结果将被推导为Otherwise (QP' C is less than 30), the scaling result will be derived as
<对于4:2:2色度格式色度DC变换系数的缩放和变换处理><Scaling and transformation processing for 4:2:2 chroma format chroma DC transform coefficients>
该处理的输入是宏块一个色度分量的色度DC变换系数的变换系数电平值,作为具有元素Cij的2×4阵列C,其中i和j形成二维频率索引。The input to this process is the transform coefficient level values of the chroma DC transform coefficients of one chroma component of the macroblock as a 2x4 array C with elements Cij , where i and j form a two-dimensional frequency index.
该处理的输出是作为具有元素dcCij的2×4阵列dcC的8个缩放DC值。The output of this process is the 8 scaled DC values as a 2x4 array dcC with elements dcC ij .
通过以下来规定2×4色度DC变换系数的逆变换:The inverse transform of the 2x4 chroma DC transform coefficients is specified by:
位流应该不包含导致f的任何元素fij超过[-215,215-1]整数值范围的数据。The bitstream shall contain no data that would cause any element f ij of f to exceed the range of integer values [-2 15 , 2 15 -1].
变量QP’C,DC=QP’C+3Variable QP' C, DC = QP' C +3
在逆变换之后,执行缩放如下。After inverse transformation, scaling is performed as follows.
如果QP’C,DC大于或等于36,则缩放结果将被推导为If QP' C,DC is greater than or equal to 36, the scaled result will be derived as
dcCij=(f*LevelScale4×4C,Intra(QP’C,DC%6,0,0,0))<<(QP’C,DC/6-6),i=0...3,j=0,1dcC ij = (f*LevelScale 4×4C, Intra (QP'C , DC %6,0,0,0))<<(QP'C ,DC /6-6), i=0...3, j=0,1
否则(QP’C,DC小于36),缩放结果将被推导为Otherwise (QP' C, DC less than 36), the scaling result will be derived as
位流应该不包含导致dcC的任何元素dcCij超过[-215,215-1]整数值范围的数据。The bitstream shall contain no data that would cause any element dcC ij of dcC to exceed the integer value range [-2 15 , 2 15 -1].
<对于4:4:4色度格式色度DC变换系数的缩放和变换处理><Scaling and transformation processing for 4:4:4 chroma format chroma DC transform coefficients>
该处理的输入是宏块一个色度分量的色度DC变换系数的变换系数电平值,作为具有元素Cij的4×4阵列C,其中i和j形成二维频率索引。The input to this process is the transform coefficient level values of the chroma DC transform coefficients of one chroma component of the macroblock as a 4x4 array C with elements Cij , where i and j form a two-dimensional frequency index.
该处理的输出是作为具有元素dcCij的4×4阵列dcC的16个缩放DC值。The output of this process is the 16 scaled DC values as a 4x4 array dcC with elements dcC ij .
如图43所示规定4×4色度DC变换系数的逆变换。The inverse transform of the 4×4 chroma DC transform coefficients is specified as shown in FIG. 43 .
位流应该不包含导致f的任何元素fij超过[-215,215-1]整数值范围的数据。The bitstream shall contain no data that would cause any element f ij of f to exceed the range of integer values [-2 15 , 2 15 -1].
在逆变换之后,执行缩放如下。After inverse transformation, scaling is performed as follows.
如果QP’C大于或等于36,则缩放结果将被推导为If QP' C is greater than or equal to 36, the scaled result will be derived as
dcCij=(f*LevelScale4×4C,Intra(QP’C%6,0,0,0))<<(QP’C/6-6),i=0...3,j=0,1dcC ij = (f*LevelScale 4×4C, Intra (QP' C %6, 0, 0, 0)) <<(QP' C /6-6), i=0...3, j=0, 1
否则(QP’C小于36),缩放结果将被推导为Otherwise (QP' C is less than 36), the scaling result will be derived as
位流应该不包含导致dcC的任何元素dcCij超过[-215,215-1]整数值范围的数据。The bitstream shall contain no data that would cause any element dcC ij of dcC to exceed the integer value range [-2 15 , 2 15 -1].
<对于残差8×8块的缩放和变换处理><Scaling and transformation processing for residual 8×8 block>
该处理的输入是具有元素cij的8×8阵列c,它是关于亮度分量8×8残差块的阵列。The input to this process is an 8x8 array c with elements cij , which is an array of 8x8 residual blocks with respect to the luma component.
该过程的输出是作为具有元素rij的8×8阵列r的残差采样值。The output of this process is residual sampled values as an 8x8 array r with elements rij.
函数LevelScale64推导如下:The function LevelScale64 is derived as follows:
-如果宏块预测模式为帧内预测模式,且输入为8×8亮度残差,则LevelScale64()=LevelScale8×8,Intra()。- If the macroblock prediction mode is intra prediction mode, and the input is 8×8 luma residual, then LevelScale64()=LevelScale 8×8, Intra ().
-如果宏块预测模式为帧间预测模式,且输入为8×8亮度残差块,则LevelScale64()=LevelScale8×8,Inter()。- If the macroblock prediction mode is inter prediction mode, and the input is an 8×8 luma residual block, then LevelScale64()=LevelScale 8×8, Inter ().
8×8块变换系数电平cij的缩放执行如下。Scaling of 8x8 block transform coefficient levels c ij is performed as follows.
-如果QPY大于或等于36,则8×8块变换系数电平cij的缩放将被执行为- If QP Y is greater than or equal to 36, the scaling of the 8×8 block transform coefficient levels c ij will be performed as
dij=(cij*LevelScale64(QPY%6,i,j))<<(QPY/6-6),i,j=0...7d ij =(c ij *LevelScale64(QP Y %6, i, j))<<(QP Y /6-6), i, j=0...7
-否则(QPY小于36),8×8块变换系数电平cij的缩放将被执行为- Otherwise (QP Y is less than 36), the scaling of the 8x8 block transform coefficient levels c ij will be performed as
以上公式反映了为合并来自q矩阵的缩放系数所需的附加右移位,因为解量化/量化加权被定义为w(i,j)=QuantizationMatrix(i,j)/16。在把QuantizationMatrix(i,j)结合到LevelScale函数中之后,我们需要进行附加的4位右移位,以反映除以16。The above formula reflects the additional right shift required to incorporate the scaling coefficients from the q matrix, since the dequantization/quantization weights are defined as w(i,j)=QuantizationMatrix(i,j)/16. After incorporating QuantizationMatrix(i,j) into the LevelScale function, we need to do an additional 4-bit right shift to reflect the division by 16.
变换处理将以一种在数学上等效于以下的方式,把缩放变换系数块转换成输出样本块。The transform process will convert the block of scaled transform coefficients into a block of output samples in a manner that is mathematically equivalent to the following.
首先,利用如下的一维逆变换来变换每一(水平)行缩放变换系数。First, each (horizontal) row of scaling transform coefficients is transformed using a one-dimensional inverse transform as follows.
-通过以下来推导一组中间值eij -Deduce a set of intermediate values e ij by
ei0=di0+di4,i=0...7e i0 =d i0 +d i4 , i=0...7
ei1=-di3+di5-di7-(di7>>1),i=0...7e i1 =-d i3 +d i5 -d i7 -(d i7 >>1), i=0...7
ei2=di0-di4,i=0...7e i2 =d i0 -d i4 , i=0...7
ei3=di1+di7-di3-(di3>>1),i=0...7e i3 =d i1 +d i7 -d i3 -(d i3 >>1), i=0...7
ei4=(di2>>1)-di6,i=0...7e i4 =(d i2 >>1)-d i6 , i=0...7
ei5=-di1+di7+di5+(di5>>1),i=0...7e i5 =-d i1 +d i7 +d i5 +(d i5 >>1), i=0...7
ei6=di2+(di6>>1),i=0...7e i6 =d i2 +(d i6 >>1), i=0...7
ei7=di3+di5+di1-(di1>>1),i=0...7e i7 =d i3 +d i5 +d i1 -(d i1 >>1), i=0...7
-从中间值eij计算第二组中间结果fij为- Calculate the second set of intermediate results f ij from the intermediate values e ij as
fi0=ei0+ei6,i=0...7f i0 =e i0 +e i6 , i=0...7
fi1=ei1+(ei7>>2),i=0...7f i1 =e i1 +(e i7 >>2), i=0...7
fi2=ei2+ei4,i=0...7f i2 =e i2 +e i4 , i=0...7
fi3=ei3+(ei5>>2),i=0...7f i3 =e i3 +(e i5 >>2), i=0...7
fi4=ei2-ei4,i=0...7f i4 =e i2 -e i4 , i=0...7
fi5=(ei3>>2)-ei5,i=0...7f i5 =(e i3 >>2)-ei5, i=0...7
fi6=ei0-ei6,i=0...7f i6 =e i0 -e i6 , i=0...7
fi7=ei7-(ei1>>2),i=0...7f i7 =e i7 -(e i1 >>2), i=0...7
然后,从这些中间值fij计算变换结果gij为Then, from these intermediate values f ij the transformation result g ij is calculated as
gi0=fi0+fi7,i=0...7g i0 =f i0 +f i7 , i=0...7
gi1=fi2+fi5,i=0...7g i1 =f i2 +f i5 , i=0...7
gi2=fi4+fi3,i=0...7g i2 =f i4 +f i3 , i=0...7
gi3=fi6-fi1,i=0...7g i3 =f i6 -f i1 , i=0...7
gi4=fi6-fi1,i=0...7g i4 =f i6 -f i1 , i=0...7
gi5=fi4-fi3,i=0...7g i5 =f i4 -f i3 , i=0...7
gi6=fi2-fi5,i=0...7g i6 =f i2 -f i5 , i=0...7
gi7=fi0-fi7,i=0...7g i7 =f i0 -f i7 , i=0...7
然后,利用如下的相同一维逆变换来变换所得矩阵的每一(垂直)列。Each (vertical) column of the resulting matrix is then transformed using the same one-dimensional inverse transform as follows.
-从水平变换值gij计算一组中间值hij为- Calculate a set of intermediate values h ij from the horizontal transformation values g ij as
hi0=gi0+gi4,i=0...7h i0 =g i0 +g i4 , i=0...7
hi1=-gi3+gi5-gi7-(gi7>>1),i=0...7h i1 =-g i3 +g i5 -g i7 -(g i7 >>1), i=0...7
hi2=gi0-di4,i=0...7h i2 =g i0 -d i4 , i=0...7
hi3=gi1+gi7-gi3-(gi3>>1),i=0...7h i3 =g i1 +g i7 -g i3 -(g i3 >>1), i=0...7
hi4=(gi2>>1)-gi6,i=0...7h i4 =(g i2 >>1)-g i6 , i=0...7
hi5=-gi1+gi7+gi5+(gi5>>1),i=0...7h i5 =-g i1 +g i7 +g i5 +(g i5 >>1), i=0...7
hi6=gi2+(gi6>>1),i=0...7h i6 =g i2 +(g i6 >>1), i=0...7
hi7=gi3+gi5+gi1+(gi1>>1),i=0...7h i7 =g i3 +g i5 +g i1 +(g i1 >>1), i=0...7
-从中间值hij计算第二组中间结果kij为- Calculate the second set of intermediate results k ij from the intermediate values h ij as
ki0=hi0+hi6,i=0...7k i0 =h i0 +h i6 , i=0...7
ki1=hi1+(hi7>>2),i=0...7k i1 =h i1 +(h i7 >>2), i=0...7
ki2=hi2+hi4,i=0...7k i2 =h i2 +h i4 , i=0...7
ki3=hi3+(hi5>>2),i=0...7k i3 =h i3 +(h i5 >>2), i=0...7
ki4=hi2-hi4,i=0...7k i4 =h i2 -h i4 , i=0...7
ki5=(hi3>>2)-hi5,i=0...7k i5 =(h i3 >>2)-h i5 , i=0...7
ki6=hi0-hi6,i=0...7k i6 =h i0 -h i6 , i=0...7
ki7=hi7-(hi1>>2),i=0...7k i7 =h i7 -(h i1 >>2), i=0...7
-从中间值kij计算变换结果mij为- Calculate the transformation result m ij from the intermediate value k ij as
mi0=ki0+ki7,i=0...7m i0 =k i0 +k i7 , i=0...7
mi1=ki2+ki5,i=0...7m i1 =k i2 +k i5 , i=0...7
mi2=ki4+ki3,i=0...7m i2 =k i4 +k i3 , i=0...7
mi3=ki6+ki1,i=0...7m i3 =k i6 +k i1 , i=0...7
mi4=ki6-ki1,i=0...7m i4 =k i6 -k i1 , i=0...7
mi5=ki4-ki3,i=0...7m i5 =k i4 -k i3 , i=0...7
mi6=ki2-ki5,i=0...7m i6 =k i2 -k i5 , i=0...7
mi7=ki0-ki7,i=0...7m i7 =k i0 -k i7 , i=0...7
在执行一维水平和一维垂直逆变换以产生变换样本阵列之后,最终构造的残差样本值将被推导为After performing a 1D horizontal and 1D vertical inverse transform to produce an array of transformed samples, the final constructed residual sample values are derived as
ri7=(mij+25)>>6,i,j=0...7r i7 =(m ij +2 5 )>>6, i, j=0...7
由这样描述的本发明,显然可以用多种方式来改变本发明的实施方式。这种变化不应被认为脱离本发明的精神和范围,对于本领域技术人员,显然所有这种更改都应该被包括在以下权利要求的范围内。From the invention thus described, it will be obvious that the embodiments of the invention may be varied in many ways. Such changes should not be regarded as departing from the spirit and scope of the present invention, and it is obvious to those skilled in the art that all such changes should be included within the scope of the following claims.
工业实用性Industrial Applicability
本发明适用于对图像编码或解码的编码设备,并且也适用于分发运动图像的网络服务器、接收运动图像的网络终端,乃至能够记录和重放运动图像的数码相机、装备有照相机的蜂窝电话、DVD记录器/播放器、PDA和个人计算机。The present invention is applicable to encoding devices that encode or decode images, and is also applicable to network servers that distribute moving images, network terminals that receive moving images, and even digital cameras capable of recording and reproducing moving images, camera-equipped cellular phones, DVD recorders/players, PDAs and personal computers.
Claims (5)
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US54063604P | 2004-01-30 | 2004-01-30 | |
| US60/540,636 | 2004-01-30 | ||
| US60/551,690 | 2004-03-09 | ||
| US60/552,907 | 2004-03-12 | ||
| US60/561,351 | 2004-04-12 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1910921A CN1910921A (en) | 2007-02-07 |
| CN100542262C true CN100542262C (en) | 2009-09-16 |
Family
ID=37700899
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB200580003035XA Expired - Lifetime CN100542262C (en) | 2004-01-30 | 2005-01-26 | Inverse Quantization Method Image Decoding Method and Device and Processor |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN100542262C (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108769678A (en) * | 2011-11-07 | 2018-11-06 | 佳能株式会社 | Image encoding apparatus |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5352448B2 (en) * | 2007-03-28 | 2013-11-27 | パナソニック株式会社 | Inverse quantization circuit, inverse quantization method, and image reproduction apparatus |
| US7825835B2 (en) * | 2008-12-15 | 2010-11-02 | Nvidia Corporation | Method and system for encoded video compression |
| US8588295B2 (en) | 2009-03-09 | 2013-11-19 | Mediatek Inc. | Methods and electronic devices for quantization and de-quantization |
| CN101854535B (en) * | 2009-03-31 | 2011-10-05 | 郑州大学 | Embedded Video Encoder Quantization Method |
| KR101373814B1 (en) * | 2010-07-31 | 2014-03-18 | 엠앤케이홀딩스 주식회사 | Apparatus of generating prediction block |
| KR20200023499A (en) * | 2011-12-19 | 2020-03-04 | 소니 주식회사 | Image processing device and method |
| CN110392257A (en) * | 2012-07-02 | 2019-10-29 | 韩国电子通信研究院 | Video decoding/encoding method and computer-readable recording medium |
| CN109660803A (en) * | 2019-01-22 | 2019-04-19 | 西安电子科技大学 | A kind of quantization method of encoding block and quantization method for HEVC coding |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5581177A (en) * | 1993-07-01 | 1996-12-03 | Teradyne, Inc. | Shaping ATE bursts, particularly in gallium arsenide |
| US6097846A (en) * | 1995-10-16 | 2000-08-01 | Asahi Kogaku Kogyo Kabushiki Kaisha | Image processing device with inverse quantization and two dimensional inverse discrete cosine transformation |
| US6111989A (en) * | 1997-11-14 | 2000-08-29 | Sony Corporation | 1/4 size real time decoding of digital video |
| US20020114388A1 (en) * | 2000-04-14 | 2002-08-22 | Mamoru Ueda | Decoder and decoding method, recorded medium, and program |
| CN1428051A (en) * | 2000-12-19 | 2003-07-02 | 皇家菲利浦电子有限公司 | Approximate IDCT for scalable video and image decoding of computational complexity |
| US6681052B2 (en) * | 2000-01-15 | 2004-01-20 | Sony Corporation | Methods and systems for performing inverse quantization and inverse weighting of DV video |
-
2005
- 2005-01-26 CN CNB200580003035XA patent/CN100542262C/en not_active Expired - Lifetime
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5581177A (en) * | 1993-07-01 | 1996-12-03 | Teradyne, Inc. | Shaping ATE bursts, particularly in gallium arsenide |
| US6097846A (en) * | 1995-10-16 | 2000-08-01 | Asahi Kogaku Kogyo Kabushiki Kaisha | Image processing device with inverse quantization and two dimensional inverse discrete cosine transformation |
| US6111989A (en) * | 1997-11-14 | 2000-08-29 | Sony Corporation | 1/4 size real time decoding of digital video |
| US6681052B2 (en) * | 2000-01-15 | 2004-01-20 | Sony Corporation | Methods and systems for performing inverse quantization and inverse weighting of DV video |
| US20020114388A1 (en) * | 2000-04-14 | 2002-08-22 | Mamoru Ueda | Decoder and decoding method, recorded medium, and program |
| CN1428051A (en) * | 2000-12-19 | 2003-07-02 | 皇家菲利浦电子有限公司 | Approximate IDCT for scalable video and image decoding of computational complexity |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108769678A (en) * | 2011-11-07 | 2018-11-06 | 佳能株式会社 | Image encoding apparatus |
| US10750192B2 (en) | 2011-11-07 | 2020-08-18 | Canon Kabushiki Kaisha | Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium |
| CN108769678B (en) * | 2011-11-07 | 2021-01-12 | 佳能株式会社 | Image encoding apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1910921A (en) | 2007-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101136629B1 (en) | Picture coding and decoding method, apparatus, and program thereof | |
| JP4348209B2 (en) | Image encoding method and image decoding method | |
| US7620103B2 (en) | Programmable quantization dead zone and threshold for standard-based H.264 and/or VC1 video encoding | |
| JP5674911B2 (en) | Image encoding / decoding device | |
| KR101169895B1 (en) | Picture Coding Method, Picture Decoding Method, Picture Coding Apparatus, Picture Decoding Apparatus, and Program thereof | |
| WO2004066633A1 (en) | Video encoding method | |
| CN100542262C (en) | Inverse Quantization Method Image Decoding Method and Device and Processor | |
| JP4892628B2 (en) | Image coding method, image coding apparatus, and image coding program | |
| JP4481612B2 (en) | Image decoding apparatus and method | |
| JP4481970B2 (en) | Image encoding apparatus and method | |
| JP2006087080A (en) | Image encoding method, image decoding method, image encoding device, image decoding device, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| ASS | Succession or assignment of patent right |
Owner name: MATSUSHITA ELECTRIC (AMERICA) INTELLECTUAL PROPERT Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO, LTD. Effective date: 20140717 |
|
| C41 | Transfer of patent application or patent right or utility model | ||
| C56 | Change in the name or address of the patentee | ||
| CP03 | Change of name, title or address |
Address after: Osaka Japan Patentee after: Matsushita Electric Industrial Co.,Ltd. Address before: Osaka Japan Patentee before: Matsushita Electric Industrial Co.,Ltd. |
|
| TR01 | Transfer of patent right |
Effective date of registration: 20140717 Address after: California, USA Patentee after: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA Address before: Osaka Japan Patentee before: Matsushita Electric Industrial Co.,Ltd. |
|
| CX01 | Expiry of patent term |
Granted publication date: 20090916 |
|
| CX01 | Expiry of patent term |


