CN101617539B - 基于变换的数字媒体编解码器中的计算复杂度和精度控制 - Google Patents

基于变换的数字媒体编解码器中的计算复杂度和精度控制 Download PDF

Info

Publication number
CN101617539B
CN101617539B CN2008800056300A CN200880005630A CN101617539B CN 101617539 B CN101617539 B CN 101617539B CN 2008800056300 A CN2008800056300 A CN 2008800056300A CN 200880005630 A CN200880005630 A CN 200880005630A CN 101617539 B CN101617539 B CN 101617539B
Authority
CN
China
Prior art keywords
digital media
coding
divergent
convergent
arithmetic
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.)
Active
Application number
CN2008800056300A
Other languages
English (en)
Other versions
CN101617539A (zh
Inventor
S·斯里尼瓦杉
C·图
S·瑞古纳萨恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101617539A publication Critical patent/CN101617539A/zh
Application granted granted Critical
Publication of CN101617539B publication Critical patent/CN101617539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

数字媒体编码器/解码器包括与在解码处的计算复杂度和精度相关的各种模式的信令。编码器可以发送指示在解码处所执行的变换运算的算术精度(例如,使用16或32位运算)的句法元素。编码器还可以用信号通知在解码器输出处是否应用缩放,这准许解码处的中间数据的更宽的动态范围,但由于缩放运算而增加了计算复杂度。

Description

基于变换的数字媒体编解码器中的计算复杂度和精度控制
背景
基于块变换的编码
变换编码是在许多数字媒体(例如音频、图像和视频)压缩***中使用的一种压缩技术。未压缩的数字图像和视频通常作为以二维(2D)网格排列的图像或视频帧中各位置处的图元或色彩的样本来表示或捕捉。这被称为图像或视频的空间域表示。例如,用于图像的典型格式由被排列为网格的24位色彩图元样本流构成。每一样本是表示诸如RGB或YIQ等色彩空间内该网格中的一个像素位置处的色彩分量的数字。各种图像和视频***可使用各种不同的色彩、空间和时间分辨率的采样。类似地,数字音频通常被表示为时间采样的音频信号流。例如,典型的音频格式由以有规律的时间间隔所取的16位音频信号幅度样本流构成。
未压缩的数字音频、图像和视频信号可消耗大量的存储和传输能力。变换编码通过将信号的空间域表示变换成频域(或其它类似的变换域)表示,然后降低该变换域表示的某些一般较不可感知的频率分量的分辨率,从而减小了数字音频、图像和视频的大小。与降低空间域中的图像或视频或时域中的音频的色彩或空间分辨率相比,这一般产生了较不可感知的数字信号劣化。
更具体而言,图1所示的典型的基于块变换的编码器/解码器***100(也被称为“编解码器”)将未压缩的数字图像的像素划分成固定大小的二维块(X1,...Xn),每一块可能与其它块重叠。对每一块应用进行空间-频率分析的线性变换120-121,这将块内彼此隔开的样本转换成一般表示块间隔上相应的频带内的数字信号的强度的一组频率(或变换)系数。为了压缩,变换系数可被选择性地量化130(即,诸如通过丢弃系数值的最低有效位或将较高分辨率数字集中的值映射到较低分辨率来降低分辨率),并且还被熵编码或可变长度编码130成压缩数据流。在解码时,变换系数进行逆变换170-171以便几乎重构原始的色彩/空间采样图像/视频信号(重构块
Figure G2008800056300D00021
)。
块变换120-121可被定义为对大小为N的向量x的数学运算。最通常的是,该运算是线性乘法,从而产生变换域输出y=Mx,M是变换矩阵。当输入数据是任意长时,它被分段成大小为N的向量,并且向每一段应用块变换。出于数据压缩的目的,选择可逆块变换。换言之,矩阵M是可逆的。在多个维度中(例如,对于图像和视频),块变换通常被实现为可分运算。沿数据的每一维(即,行和列)可分地应用矩阵乘法。
为了压缩,变换系数(向量y的分量)可被选择性地量化(即,诸如通过丢弃系数值的最低有效位或将较高分辨率数字集中的值映射到较低分辨率来降低分辨率),并还可被熵编码或可变长度编码成压缩数据流。
在解码器150中解码时,如图1所示,在解码器150侧应用这些运算的逆过程(解量化(dequantization)/熵解码160和逆块变换170-171)。在重构数据时,将逆矩阵M-1(逆变换170-171)作为乘数应用于变换域数据。当应用于变换域数据时,逆变换几乎重构原始时域或空间域数字媒体。
在许多基于块变换的编码应用中,变换理想地是可逆的以取决于量化因子同时支持有损和无损压缩两者。如果例如没有量化(一般被表示为量化因子1),则利用可逆变换的编解码器可在解码时精确地再现输入数据。然而,这些应用中的可逆性的要求约束了对用于设计编解码器的变换的选择。
诸如MPEG和Windows Media等许多图像和视频压缩***利用基于离散余弦变换(DCT)的变换。已知DCT具有得到近乎最优的数据压缩的良好能量压缩特性。在这些压缩***中,在压缩***的编码器和解码器两者中的重构环路中采用了逆DCT(IDCT)来重构各个图像块。
量化
量化是大多数图像和视频编解码器控制压缩的图像质量和压缩比的主要机制。根据一个可能的定义,量化是用于通常用于有损压缩的近似不可逆映射函数的术语,其中有一组指定的可能输出值,并且该组可能的输出值中的每一成员具有导致对该特定输出值的选择的一组相关联的输入值。已经开发了各种量化技术,包括标量或矢量、均匀或非均匀、有或没有死区、以及自适应或非自适应量化。
量化运算本质上是按照量化参数QP的加偏除法(biased division),这在编码器处执行。逆量化或乘法运算是与QP的乘法,这在解码器处执行。这些过程共同引入了原始变换系数数据的损失,这表现为解码的图像中的压缩误差或伪像。
概述
以下详细描述呈现控制使用数字媒体编解码器的解码的计算复杂度和精度的工具和技术。在该技术的一个方面,编码器用信号通知在解码器处使用缩放或未缩放精度模式中的一个。在缩放精度模式中,在编码器处预乘(例如乘8)输入图像。解码器处的输出也通过取整除法来缩放。在未缩放精度模式中,不应用这种缩放运算。在未缩放精度模式中,编码器或解码器可以处理较小的变换系数动态范围,并且因此具有较低的计算复杂度。
在该技术的另一方面,编解码器还可以用信号通知解码器执行变换运算所要求的精度。在一个实现中,位流句法的元素用信号通知是否对解码器处的变换采用较低精度算术运算。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。本发明的其它特征和优点在参考附图继续阅读以下对实施例的详细描述后将变得显而易见。
附图简述
图1是现有技术中常规的基于块变换的编解码器的框图。
图2是包含块模式编码的代表性编码器的流程图。
图3是包含块模式编码的代表性解码器的流程图。
图4是图2和图3的代表性编码器/解码器的一个实现中的包括核心变换和后滤波(重叠)运算的逆重叠变换的图。
图5是标识变换运算的输入数据点的图。
图6是用于实现图2和图3的媒体编码器/解码器的合适的计算环境的框图。
详细描述
以下描述涉及控制基于变换的数字媒体编解码器的精度和计算复杂度的技术。以下描述在数字媒体压缩***或编解码器的上下文中描述了该技术的一个示例实现。该数字媒体***以压缩形式对数字媒体数据进行编码以便传输或存储,并解码该数据以供回放或其它处理。出于说明的目的,包含计算复杂度和精度控制的该示例性压缩***是图像或视频压缩***。另选地,该技术也可被结合到用于其它数字媒体数据的压缩***或编解码器中。计算复杂度和精度控制技术不要求数字媒体压缩***以特定的编码格式来编码压缩数字媒体数据。
1.1.编码器/解码器
图2和图3是在代表性2维(2D)数据编码器200和解码器300中采用的过程的一般化图示。该图呈现结合了2D数据编码器和解码器的压缩***的一般化或简化的图示,该2D数据编码器和解码器使用计算复杂度和精度控制技术来实现压缩。在使用控制技术的替换压缩***中,可使用比该代表性编码器和解码器中所示的更多或更少的过程来进行2D数据压缩。例如,某些编码器/解码器还可包括色彩转换、色彩格式、可缩放编码、无损编码、宏块模式等。取决于可基于从无损到有损变化的量化参数的量化,压缩***(编码器和解码器)可提供2D数据的无损和/或有损压缩。
2D数据编码器200产生压缩位流220,压缩位流220是作为输入提供给编码器的2D数据210的更紧凑表示(对于典型输入)。例如,2D数据输入可以是图像、视频序列帧、或具有两个维度的其它数据。2D数据编码器将输入数据帧划分成块(一般在图2中示为分区230),这在所示的实现中是形成跨该帧的平面的规则图案的非重叠4×4像素块。这些块被分组成称为宏块的群集,在该代表性编码器中其大小是16×16像素。宏块进而被分组成称为瓦块(tile)的规则结构。瓦块也可形成图像上的规则图案,使得水平行中的瓦块是统一的高度且是对齐的,而垂直列中的瓦块是统一的宽度且是对齐的。在该代表性编码器中,瓦块可以是任意大小,该大小在水平和/或垂直方向上是16的倍数。替换编码器实现可以将图像划分成块、宏块、瓦块或其它大小和结构的其它单元。
对块之间的每一边缘应用“前向重叠”算子240,之后使用块变换250来变换每一4×4的块。该块变换250可以是由Srinivasan在2004年12月17日提交的题为“Reversible Transform For Lossy And Lossless 2-D DataCompression”(用于有损和无损2D数据压缩的可逆变换)的美国专利申请第11/015,707号中所描述的可逆的、无缩放的2D变换。重叠算子240可以是由Tu等人在2004年12月17日提交的题为“Reversible OverlapOperator for Efficient Lossless Data Compression”(用于高效无损数据压缩的可逆重叠算子)的美国专利申请第11/015,148号;以及Tu等人在2005年1月14日提交的题为“Reversible 2-Dimensional Pre-/Post-Filter for LappedBiorthogonal Transform”(用于重叠双正交变换的可逆2维预/后滤波器)的美国专利申请第11/035,991号中描述的可逆重叠算子。或者,可使用离散余弦变换或其它块变换和重叠算子。在变换之后,令每一4×4的变换块的DC系数260经受一类似的处理链(块化、前向重叠、之后是4×4的块变换)。所得的DC变换系数和AC变换系数被量化270、熵编码280和分组化290。
解码器执行逆过程。在解码器侧,从其各自的分组中提取310变换系数位,从中系数本身被解码320和解量化330。DC系数340通过应用逆变换来重新生成,并且使用跨DC块边缘应用的合适的平滑算子来“逆重叠”DC系数的平面。随后,通过向DC系数应用4×4的逆变换350来重新生成整个数据,并从位流中解码AC系数342。最后,对所得图像平面中的块边缘进行逆重叠滤波360。这产生重构的2D数据输出。
在一示例性实现中,编码器200(图2)将输入图像压缩成压缩位流220(例如文件),而解码器300(图3)基于所采用的是无损还是有损编码来重构原始输入或其近似。编码过程涉及应用以下所讨论的前向重叠变换(LT),这是用同样在以下更全面描述的可逆2维预/后滤波来实现的。解码过程涉及应用使用可逆2维预/后滤波的逆重叠变换(ILT)。
所示的LT和ILT在确切的意义上是彼此的逆,并且因此可被统称为可逆重叠变换。作为一种可逆变换,LT/ILT对可用于无损图像压缩。
由所示的编码器200/解码器300压缩的输入数据210可以是各种色彩格式(例如,RGB/YUV 4:4:4、YUV 4:2:2或YUV 4:2:0彩色图像格式)的图像。通常,输入图像总是具有亮度(Y)分量。如果它是RGB/YUV 4:4:4、YUV 4:2:2或YUV 4:2:0图像,则该图像还具有色度分量,诸如U分量和V分量。图像的这些单独的色彩平面或分量可具有不同的空间分辨率。在例如YUV 4:2:0色彩格式的输入图像的情况下,U和V分量具有Y分量一半的宽度和高度。
如上所述,编码器200将输入图像或图片块化成宏块。在一示例性实现中,编码器200将输入图像块化成Y通道中的16×16像素区域(称为“宏块”)(取决于色彩格式,可以是U和V通道中的16×16、16×8或8×8区域)。每一宏块色彩平面被块化成4×4像素的区域或块。因此,对于本示例性编码器实现,宏块按以下的方式由各种色彩格式组成:
1.对于灰度图像,每一宏块包含16个4×4的亮度(Y)块。
2.对于YUV 4:2:0格式彩色图像,每一宏块包含16个4×4的Y块,以及4个各自为4×4的色度(U和V)块。
3.对于YUV 4:2:2格式彩色图像,每一宏块包含16个4×4的Y块,以及8个各自为4×4的色度(U和V)块。
4.对于RGB或YUV 4:4:4彩色图像,每一宏块对Y、U和V通道中的每一个包含16个块。
因此,在变换之后,该代表性编码器200/解码器300中的宏块具有三个频率子带:DC子带(DC宏块)、低通子带(低通宏块)和高通子带(高通宏块)。在该代表性***中,低通和/或高通子带在位流中是可任选的——这些子带可被完全丢弃。
此外,压缩数据可按以下两种次序之一被填塞到位流中:空间次序和频率次序。对于空间次序,瓦块内的同一宏块的不同子带被排序在一起,且所得的每一瓦块的位流被写入一个分组中。对于频率次序,来自瓦块内的不同宏块的同一子带被分组在一起,且因此瓦块的位流被写入以下三个分组中:DC瓦块分组、低通瓦块分组和高通瓦块分组。另外,可以有其它数据层。
因此,对于该代表性***,图像按以下“维度”来组织:
空间维度:帧→瓦块→宏块;
频率维度:DC|低通|高通;以及
通道维度:亮度|色度0|色度1……(例如,Y|U|V)。
以上箭头表示分层结构,而垂直条表示划分。
尽管该代表性***按照空间、频率和通道维度来组织压缩的数字媒体数据,但是此处描述的灵活量化方法可以应用于沿着更少、更多或其它维度来组织其数据的替换编码器/解码器***。例如,该灵活量化方法可应用于使用更大数量的频带、其它格式的色彩通道(例如,YIQ、RGB等)、附加图像通道(例如,用于立体声视觉或其它多照相机阵列)的编码。
2.逆核心及重叠变换
概览
在编码器200/解码器300的一个实现中,解码器侧的逆变换采取两级重叠变换的形式。步骤如下:
·对与安排在被称为DC平面的平面阵列中的重构DC和低通系数相对应的每一4×4块应用逆核心变换(ICT)。
·可任选地将后滤波运算应用于均匀地跨DC平面中的块的4×4区域。此外,对边界2×4和4×2区域应用后滤波器,而四个角区域不改变。
·所得阵列包含对应于第一级变换的4×4块的DC系数。DC系数被(象征性地)复制到更大的阵列,并且重构的高通系数被填充到剩余位置中。
·对每一4×4块应用ICT。
·可任选地将后滤波运算应用于均匀地跨DC平面中的块的4×4区域。此外,对边界2×4和4×2区域应用后滤波器,而四个角区域不改变。
该过程在图4中示出。
后滤波器的应用由压缩位流220中的OVERLAP_INFO(重叠信息)句法元素来管控。OVERLAP_INFO可以取三个值:
·如果OVERLAP_INFO=0,则不执行后滤波。
·如果OVERLAP_INFO=1,则只执行外部后滤波。
·如果OVERLAP_INFO=2,则执行内部及外部后滤波。
逆核心变换
核心变换(CT)受常规地被称为4×4离散余弦变换(DCT)启发,但它在根本上是不同的。第一关键差异是DCT是线性的而CT是非线性的。第二关键差异是由于其是在实数上定义的事实,DCT不是整数到整数空间中的无损运算。CT是在整数上定义的,并且在该空间中是无损的。第三关键差异是2D DCT是可分运算。CT特意是不可分的。
整个逆变换过程可被写成三个基本的2×2变换运算的级联,它们是:
·2×2哈达玛(Hadamard)变换:T_h
·逆1D旋转:InvT_odd
·逆2D旋转:InvT_odd_odd
这些变换是作为不可分运算来实现的,并且被首先描述,其后是整个ICT的描述。
2D 2×2哈达玛变换T_h
如以下伪码表所示,编码器/解码器实现2D 2×2哈达玛变换T_h。R是舍入因子,其值只可以是0或1。T_h是对合的(即,对数据向量[a b c d]应用两次T-h会成功恢复[a b c d]的原始值,假定R在两次应用之间未改变)。逆T_h是T_h本身。
Figure G2008800056300D00091
逆1D旋转InvT_odd
T_odd的无损逆由下表中的伪码定义。
Figure G2008800056300D00092
逆2D旋转InvT_odd_odd
逆2D旋转InvT_odd_odd由下表中的伪码定义。
Figure G2008800056300D00093
Figure G2008800056300D00101
ICT运算
2×2数据和先前列出的伪码之间的对应在图5中示出。此处介绍使用四个灰度级来指示四个数据点的彩色编码,以方便下一节中的变换描述。
2D 4×4点ICT是使用T_h、逆T_odd和逆T_odd_odd来构建的。注意,逆T_h是T_h本身。ICT包括两个阶段,其在以下伪码中示出。每一阶段包括能在该阶段内以任意顺序或同时完成的四个2×2变换。
如果输入数据块是 a b c d e f g h i j k l m n o p , 则4×4_IPCT_1stStage()和4×4_IPCT_2ndStage()定义如下:
Figure G2008800056300D00111
函数2×2_ICT与T_h相同。
后滤波概览
四个算子定义逆重叠变换中所使用的后滤波器。它们是:
·4×4后滤波器
·4点后滤波器
·2×2后滤波器
·2点后滤波器
后滤波器使用T_h、InvT_odd_odd、invScale和invRotate。invRotate和invScale分别在以下各表中定义。
Figure G2008800056300D00112
Figure G2008800056300D00113
4×4后滤波器
最初,在OVERLAP_INFO是1或2时,对所有色彩平面中的所有块连结(均匀地跨4个块的区域)应用4×4后滤波器。同样,在OVERLAP_INFO是2时,对所有平面的DC平面中的所有块连结应用4×4滤波器,而在OVERLAP_INFO是2且色彩格式是YUV 4:2:0或YUV 4:2:2时,只对亮度平面的DC平面中的所有块连结应用4×4滤波器。
如果输入数据是 a b c d e f g h i j k l m n o p , 则4×4后滤波器4×4PostFilter(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)在下表中定义:
Figure G2008800056300D00122
Figure G2008800056300D00131
4点后滤波器
对跨图像的边界上的2×4和4×2区域的边缘应用线性4点滤波器。如果输入数据是[a b c d],则4点后滤波器4PostFilter(a,b,c,d)在下表中定义。
Figure G2008800056300D00132
2×2后滤波器
对跨YUV 4:2:0和YUV 4:2:2数据的色度通道的DC平面中的块的区域应用2×2后滤波器。如果输入数据是 a b c d , 则2×2后滤波器2×2PostFilter(a,b,c,d)在下表中定义:
Figure G2008800056300D00134
Figure G2008800056300D00141
2点后滤波器
对跨块的边界2×1和1×2样本应用2点后滤波器。2点后滤波器2PostFilter(a,b)在下表中定义:
用于执行上述重叠变换的变换运算所要求的精度的信令可以在压缩数据结构的头部中执行。在该示例实现中,LONG_WORD_FLAG和NO_SCALED_FLAGS是在压缩位流中(例如,在图像头部中)发送来用信号通知解码器要应用的精度和计算复杂度的句法元素。
3.精度和字长
该示例编码器/解码器执行整数运算。此外,该示例编码器/解码器支持无损编码和解码。因此,该示例编码器/解码器所要求的主机器精度是整数。
然而,在该示例编码器/解码器中定义的整数运算对有损编码导致舍入误差。这些误差在设计上很小,然而,它们在率失真曲线上导致下降。出于通过减少舍入误差来改进编码性能的目的,示例编码器/解码器定义第二机器精度。在该模式下,对输入预乘8(即,左移3位),并且最终输出除以8取整(即,右移3位)。这些运算在编码器的前端和解码器的后端执行,并且对该过程的其余部分在很大程度上是不可见的。此外,相应地缩放量化等级,以便用主机器精度创建并使用第二机器精度解码(反之亦然)的流产生可接受的图像。
在需要无损压缩时不能使用第二机器精度。在创建压缩文件时使用的机器精度在头部中被显式地标记。
第二机器精度等于在编解码器中使用缩放算术,并且因此该模式被称为缩放的。主机器精度被称为未缩放的。
该示例编码器/解码器被设计来提供良好的编码和解码速度。该示例编码器/解码器的设计目标是对一个8位输入而言,编码器和解码器上的数据值不超过16位有符号值。(然而,变换阶段内的中间运算可超过这一数字。)这对两种机器精度模式而言都是成立的。
相反,在选择第二机器精度时,中间值的范围跨度是8位的。因为主机器精度避免预乘8,所以其范围跨度是8-3=5位。
第一示例编码器/解码器对中间值使用两种不同字长。这些字长是16和32位。
第二示例位流句法和语义
第二示例位流句法和语义是分层的,并且包括以下各层:图像、瓦块、宏块、和块。
图像(IMAGE)
IMAGE(){                位数            描述符
   IMAGE_HEADER         可变            struct
   bAlphaPlane=FALSE
    IMAGE_PLANE_HEADER        可变            struct
    if(ALPHACHANNEL_FLAG){
        bAlphaPlane=TRUE
        IMAGE_PLANE_HEADER    可变            Struct
       }
    INDEX_TABLE               可变            struct
    TILE                      可变            struct
}
图像头部(IMAGE_HEADER)
IMAGE_HEADER(){               位数            描述符
   GDISIGNATURE               64              uimsbf
   RESERVED1                  4               uimsbf
   RESERVED2                  4               uimsbf
   TILING_FLAG                1               bool
FREQUENCYMODE_BITSTREAM_FLAG  1               uimsbf
   IMAGE_ORIENTATION          3               uimsbf
   INDEXTABLE_PRESENT_FLAG    1               uimsbf
   OVERLAP_INFO               2               uimsbf
   SHORT_HEADER_FLAG          1               bool
   LONG_WORD_FLAG             1               bool
   WINDOWING_FLAG             l               bool
   TRIM_FLEXBITS_FLAG         1               bool
   RESERVED3                  3               uimsbf
   ALPHACHANNEL_FLAG          1               bool
   SOURCE_CLR_FMT             4               uimsbf
   SOURCE_BITDEPTH            4               uimsbf
   If(SHORT_HEADER_FLAG){
       WIDTH_MINUS1           16              uimsbf
        HEIGHT_MINUS1            16        uimsbf
    }
    else{
        WIDTH_MINUS1             32        uimsbf
        HEIGHT_MINUS1            32        uimsbf
    }
    if(TILING_FLAG){
        NUM_VERT_TILES_MINUS1    12        uimsbf
        NUM_HORIZ_TILES_MINUS1   12        uimsbf
    }
    for(n=0;n<
NUM_VERT_TILES_MINUS1;n++){
      If(SHORT_HEADER_FLAG)
                                 8         uimsbf
WIDTH_IN_MB_OF_TILE_MINUS1[n]
      else
                                 16        uimsbf
WIDTH_IN_MB_OF_TILE_MINUS1[n]
   }
   for(n=0;n<
NUM_HORIZ_TILES_MINUS1;n++){
      If(SHORT_HEADER_FLAG)
                                 8         uimsbf
HEIGHT_IN_MB_OF_TILE_MINUS1[n]
      else
                                 16        uimsbf
HEIGHT_IN_MB_OF_TILE_MINUS1[n]
    }
    if(WINDOWING_FLAG){
                NUM_TOP_EXTRAPIXELS     6        uimsbf
                NUM_LEFT_EXTRAPIXELS    6        uimsbf
                NUM_BOTTOM_EXTRAPIXELS  6        uimsbf
                NUM_RIGHT_EXTRAPIXELS   6        uimsbf
            }
        }
    IMAGE_PLANE_HEADER(){               位数     描  述
                                                 符
    CLR_FMT                             3        uimsbf
    NO_SCALED_FLAG                      1        bool
    BANDS_PRESENT                       4        uimsbf
    if(CLR_FMT==YUV444){
        CHROMA_CENTERING                4        uimsbf
        COLOR_INTERPRETATION            4        uimsbf
    }
    Else if(CLR_FMT==NCHANNEL){
        NUM_CHANNELS_MINUS              14       uimsbf
        COLOR_INTERPRETATION            4        uimsbf
    }
    if(SOURCE_CLR_FMT==BAYER){
        BAYER_PATTERN                   2        uimsbf
        CHROMA_CENTERING_BAYER          2        uimsbf
        COLOR_INTERPRETATION            4        uimsbf
    }
    if(SOURCE_BITDEPTH            ∈
{BD16,BD16S,BD32,BD32S}){
       SHIFT_BITS                       8        uimsbf
    }
    if(SOURCE_BITEPTH==BD32F){
        LEN_MANTISSA                8        uimsbf
        EXP_BIAS                    8        uimsbf
    }
    DC_FRAME_UNIFORM                1        bool
    if(DC_FRAME_UNIFORM){
    DC_QP()                         可变     struct
    }
    if(BANDS_PRESENT!=SB_DC_ONLY){
        USE_DC_QP                   1        bool
        if(USE_DC_QP==FALSE){
            LP_FRAME_UNIFORM        1        bool
            if(LP_FRAME_UNIFORM){
                NUM_LP_QPS=1
                LP_QP()             可变     struct
            }
        }
    if(BANDS_PRESENT!=SB_NO_HIGHPASS){
        USE_LP_QP                   1        bool
        if(USE_LP_QP==FALSE){
            HP_FRAME_UNIFORM        1        bool
            if(HP_FRAME_UNIFORM){
                NUM_HP_QPS=1
                HP_QP()             可变     struct
            }
        }
    }
}
FLUSH_BYTE                          可变
}
从第二示例位流句法和语义中所选择的一些位流元素定义如下。
长字标志(LONG_WORD_FLAG)(1位)
LONG_WORD_FLAG是1位句法元素并指定是否将16位整数用于变换计算。在该第二示例位流句法中,如果LONG_WORD_FLAG==0(FALSE(假)),则16位整数和数组可以用于变换计算的外部阶段(变换中的中间运算(如(3*a+1)>>1)是用更高准确度来执行的)。如果LONG_WORD_FLAG==TRUE(真),则应将32位整数和数组用于变换计算。
注意:32位算术可被用来解码图像而不管LONG_WORD_FLAG的值。该句法元素可由解码器用来选择用于实现的最高效字长。
无缩放算术标志(NO_SCALED_FLAG)(1位)
NO_SCALED_FLAG是指定变换是否使用缩放的1位句法元素。如果NO_SCALED_FLAG==1,则不应执行缩放。如果NO_SCALED_FLAG==0,则应当执行缩放。在这种情况下,缩放应当通过将最终阶段(色彩转换)的输出适当地下舍入3位来执行。
注意:如果需要无损编码,则即使无损编码只用于图像的子区域,NO_SCALED_FLAG也应被设为TRUE。有损编码可以使用任一模式。
注意:在使用缩放时(即,NO_SCALED_FLAG==FALSE),尤其是在低QP的情况下,有损编码的率失真性能很好。
4.长字标志的信令和使用
代表性编码器/解码器的一个示例图像格式支持各种各样的像素格式,包括高动态范围和宽色域格式。所支持的数据类型包括有符号整数、无符号整数、定点浮动和浮点浮动。所支持的位深包括每色彩通道8、16、24和32位。示例图像格式允许使用达每色彩通道24位的图像的无损压缩,以及使用达每色彩通道32位的图像的有损压缩。
同时,该示例图像格式被设计成提供高质量图像和压缩效率,并允许低复杂度编码和解码实现。
为支持低复杂度实现,示例图像格式中的变换被设计成最小化动态范围的扩张。两阶段变换只将动态范围增加5位。因此,如果图像位深是每色彩通道8位,则16位算术可足以在解码器处执行所有变换运算。对于其它位深,变换运算可能需要更高精度的算术。
如果在解码器处已知执行变换运算所要求的精度,则解码特定位流的计算复杂度可以降低。可以使用句法元素(例如,图像头部中的1位标志)来用信号将该信息通知给解码器。所描述的信令技术和句法元素可以降低解码位流的计算复杂度。
在一个示例实现中,使用1位句法元素LONG_WORD_FLAG。例如,如果LONG_WORD_FLAG==FALSE,则16位整数和数组可被用于变换计算的外部阶段,并且如果LONG_WORD_FLAG==TRUE,则32位整数和数组应被用于变换计算。
在该代表性编码器/解码器的一个实现中,可以对16位宽的字执行原地变换运算,但变换内的中间运算(如计算b+=(3*a+1)>>1所给出的“提升”步骤的3*a的积)是用更高准确度(例如,18位或更高精度)来执行的。然而,在该示例中,中间变换值a和b本身可以存储在16位整数内。
32位算术可被用来解码图像而不管LONG_WORD_FLAG元素的值。LONG_WORD_FLAG元素可由编码器/解码器用来选择用于实现的最高效字长。例如,如果编码器能验证16位和32位精度变换步骤产生相同的输出值,则它可以选择将LONG_WORD_FLAG元素设为FALSE。
5.NO_SCALED_FLAG的信令和使用
代表性编码器/解码器的一个示例图像格式支持各种各样的像素格式,包括高动态范围和宽色域格式。同时,该代表性编码器/解码器的设计优化图像质量和压缩效率,并允许低复杂度的编码和解码实现。
如上所述,该代表性编码器/解码器使用两阶段的分层的基于块的变换,其中所有变换步骤都是整数运算。这些整数运算中存在的小舍入误差导致有损压缩期间的压缩效率的损失。为对抗这一问题,该代表性编码器/解码器的一个实现定义用于解码器运算的两个不同的精度模式:缩放模式和未缩放模式。
在缩放精度模式下,在编码器处对输入图像预乘8(即,左移3位),并且在解码器处的最终输出除以8取整(即,右移3位)。缩放精度模式中的运算最小化舍入误差,并且产生改进的率失真性能。
在未缩放精度模式中,不存在这种缩放。以未缩放精度模式运算的编码器或解码器必须处理较小的变换系数动态范围,并且因此具有较低的计算复杂度。然而,对于在该模式中运算而言,压缩效率上存在少量恶化。无损编码(不用量化,即将量化参数即QP设为1)只能使用未缩放精度模式来得到所确保的可逆性。
编码器在创建压缩文件时所使用的精度模式在压缩位流220的图像头部中使用NO_SCALED_FLAG来显式地用信号通知(图2)。建议解码器300也对其运算使用同一精度模式。
NO_SCALED_FLAG是图像头部中的如下指定精度模式的1位句法元素:
如果NO_SCALED_FLAG==TRUE,则未缩放模式应被用于解码器运算。
如果NO_SCALED_FLAG==FALSE,则应当使用缩放。在这种情况下,缩放模式应当通过将最终阶段(色彩转换)的输出适当地舍入3位来用于运算。
在使用未缩放模式时(即,NO_SCALED_FLAG==FALSE),尤其是在低QP的情况下,有损编码的率失真性能很好。然而,在使用未缩放模式时,由于以下两个原因,计算复杂度较低:
未缩放模式中的较小的动态范围扩张意味着较短的字可以用于变换计算,尤其是在结合“LONG_WORD_FLAG”的情况下。在VLSI实现中,降低的动态范围扩张意味着实现更多有效位的门逻辑可被断电。
缩放模式在解码器侧要求加法运算和右移3位(实现除以8取整)。在编码器侧,其要求左移3位。总体上,这比未缩放模式在计算上要求稍高。
此外,未缩放模式允许比缩放模式压缩更多的有效位。例如,使用32位算术,未缩放模式准许每样本达27个有效位的无损压缩(以及解压)。相反,缩放模式在同样情况下只允许24位压缩。这是因为缩放过程引入了动态范围的三个附加位。
对这两种精度模式而言,对于8位输入,解码器上的数据值都不超过16个有符号位。(然而,变换阶段内的中间运算可超过这一数字。)
注意:如果需要无损编码(QP=1),即使只有图像的子区域需要无损编码,则编码器将NO_SCALED_FLAG设为TRUE。
编码器可以使用任一模式来用于有损压缩。建议解码器对其运算使用NO_SCALED_MODE用信号通知的精度模式。然而,缩放量化等级,以便用缩放精度模式创建并使用未缩放的精度模式解码(反之亦然)的流在大多数情况下产生可接受的图像。
6.用于增加的准确度的缩放算术
在该代表性编码器/解码器的一个实现中,变换(包括色彩转换)是整数变换并通过一系列提升步骤来实现。在这些提升步骤中,截断误差损害变换性能。对于有损压缩的情况,为最小化截断误差的损害并因而最大化变换性能,对于变换的输入数据需要被左移若干位。然而,另一极其需要的特征是如果输入图像是8位,则每一变换的输出应当在16位以内。所以左移位数不能很大。该代表性解码器实现缩放算术来达到这两个目标的技术。缩放算术技术通过最小化截断误差的损害来最大化变换性能,并且在输入图像是8位的情况下仍然将每一变换步骤的输出限制在16位以内。这使简单的16位实现成为可能。
该代表性编码器/解码器中所使用的变换是整数变换并通过提升步骤来实现。大多数提升步骤涉及右移,这引入截断误差。变换通常涉及多个提升步骤,并且累积截断误差明显损害变换性能。
降低截断误差的损害的一种方式是在编码器中进行变换之前左移输入数据,并在解码器处在变换(与量化相组合)之后右移相同位数。如上所述,该代表性编码器/解码器具有两阶段变换结构:可任选第一阶段重叠+第一阶段CT+可任选第二阶段重叠+第二阶段CT。实验显示为最小化截断误差,左移3位是必要的。所以,在有损的情况下,在色彩转换之前,输入数据可以左移3位,即乘或放大因数8(例如,对于上述缩放模式)。
然而,色彩转换和变换扩大数据。如果输入数据左移3位,则在输入数据是8位的情况下,第二阶段4×4DCT的输出具有17位动态范围(其它变换的输出仍然在16位以内)。这是极不需要的,因为它阻止了16位实现(这是极其需要的特征)。为避开这一点,在第二阶段4×4CT之前,输入数据右移1位,并且故而输出也在16位以内。因为只对数据(第一阶段DCT的DC变换系数)的1/16应用了第二阶段4×4CT,并且第一阶段变换已经将该数据放大,所以截断误差的损害很小。
所以在8位图像的有损情况下,在编码器侧,在色彩转换之前输入被左移3位,并且在第二阶段4×4CT之前右移1位。在解码器侧,在第一阶段4×4IDCT之前左移1位并在色彩转换之后右移3位。
7.计算环境
上述用于数字媒体编解码器中的计算复杂度和精度信令的处理技术可以在各种数字媒体编码和/或解码***的任一种上实现,包括计算机(各种形状因数,包括服务器、台式机、膝上型计算机、手持式计算机等);数字媒体记录器和播放器;图像和视频捕捉设备(诸如照相机、扫描仪等);通信设备(诸如电话、移动电话、会议设备等);显示、打印或其它呈现设备;以及其它示例等等。数字媒体编解码器中的计算复杂度和精度信令技术可用硬件电路、控制数字媒体处理硬件的固件、以及在计算机或在诸如图6中所示的其它计算环境中执行的通信软件来实现。
图6示出了其中可实现所描述的实施例的合适计算环境(600)的一个一般示例。计算环境(600)不旨在对本发明的使用范围或功能提出任何限制,因为本发明可以在完全不同的通用或专用计算环境中实现。
参考图6,计算环境(600)包括至少一个处理单元(610)和存储器(620)。在图6中,这一最基本的配置(630)被包括在虚线内。处理单元(610)执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理***中,多个处理单元执行计算机可执行指令以提高处理能力。存储器(620)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或两者的某种组合。存储器(602)存储实现所描述的使用计算复杂度和精度信令技术的数字媒体编码/解码的软件(680)。
计算环境可具有附加特征。例如,计算环境(600)包括存储(640)、一个或多个输入设备(650)、一个或多个输出设备(660)以及一个或多个通信连接(670)。诸如总线、控制器或网络等互连机制(未示出)将计算环境(600)的各组件互连。通常,操作***软件(未示出)为在计算环境(600)中执行的其它软件提供操作环境,并协调计算环境(600)的各组件的活动。
存储(640)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、CD-RW、DVD或可用于储存信息并可在计算环境(600)内访问的任何其它介质。存储(640)存储用于实现所描述的使用计算复杂度和精度信令技术的数字媒体编码/解码的软件(680)的指令。
输入设备(650)可以是诸如键盘、鼠标、笔或跟踪球的触摸输入设备、语音输入设备、扫描设备或向计算环境(600)提供输入的另一设备。对于音频,输入设备(650)可以是声卡或接受来自话筒或话筒阵列的模拟或数字形式的音频输入的类似设备,或向计算环境提供音频样本的CD-ROM读取器。输出设备(660)可以是显示器、打印机、CD刻录机或提供来自计算环境(600)的输出的另一设备。
通信连接(670)允许在通信介质上与另一计算实体的通信。通信介质在已调制数据信号中传达诸如计算机可执行指令、压缩音频或视频信息、或其它数据等信息。已调制数据信号是其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非局限,通信介质包括以电、光、RF、红外、声学或其它载波实现的有线或无线技术。
此处所描述的使用灵活量化技术的数字媒体编码/解码可在计算机可读介质的一般上下文中描述。计算机可读介质可以是可在计算环境内访问的任何可用介质。作为示例而非局限,对于计算环境(600),计算机可读介质可包括存储器(620)、存储(640)、通信介质和以上任一种的组合。
此处描述的使用计算复杂度和精度信令技术的数字媒体编码/解码可在诸如程序模块中所包括的、在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。程序模块的功能可以如各实施例中所需的组合或在程序模块之间分离。用于程序模块的计算机可执行指令可以在本地或分布式计算环境中执行。
出于表示的目的,详细描述使用了如“确定”、“生成”、“调整”和“应用”等术语来描述计算环境中的计算机操作。这些术语是由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆。对应于这些术语的实际的计算机操作取决于实现而不同。
鉴于可应用本发明的原理的许多可能的实施例,要求保护落入所附权利要求书及其等效技术方案的范围和精神之内的所有这样的实施例作为本发明。

Claims (16)

1.一种数字媒体解码方法,包括:
在数字媒体解码器处接收压缩数字媒***流;
解析来自所述压缩数字媒***流的句法元素,所述句法元素用信号通知算术精度,所述算术精度用于在对来自所述压缩数字媒***流的数字媒体数据进行处理期间的变换计算,其中,所述句法元素用信号通知使用第一算术精度或第二算术精度,所述第一算术精度具有比第二算术精度更高的算术精度;
使用所述数字媒体数据重构图像;以及
输出重构的图像。
2.如权利要求1所述的数字媒体解码方法,其特征在于,所述第一算术精度是32位数字处理,并且所述第二算术精度是16位数字处理。
3.如权利要求1所述的数字媒体解码方法,其特征在于,还包括:
解码来自所述压缩数字媒***流的变换系数块;
在所述句法元素用信号通知使用所述第一算术精度的情况下,使用第一算术精度处理来对所述变换系数应用逆变换;以及
在所述句法元素用信号通知使用所述第二算术精度的情况下,使用第二算术精度处理来对所述变换系数应用逆变换。
4.如权利要求3所述的数字媒体解码方法,其特征在于,所述第一算术精度是32位数字处理,并且所述第二算术精度是16位数字处理。
5.如权利要求1所述的数字媒体解码方法,其特征在于,还包括:
解码来自所述压缩数字媒***流的变换系数块;
使用第一算术精度处理来对所述变换系数应用逆变换,而不管经由所述句法元素用信号通知的算术精度。
6.一种数字媒体编码方法,包括:
在数字媒体编码器处接收数字媒体数据;
做出在所述数字媒体数据的处理期间是否将较低精度算术用于变换计算的决定;
用编码位流中的句法元素来表示是否将较低精度算术用于变换计算的所述决定,其中所述句法元素可用于将所述决定传递给数字媒体解码器;以及
输出所述编码位流;
其中,所述做出决定包括:
验证用于变换计算的所述较低精度算术是否产生与将较高精度算术用于变换计算相同的解码器输出;以及
基于所述验证,决定是否使用所述较低精度算术。
7.如权利要求6所述的数字媒体编码方法,其特征在于,所述较低精度算术是16位算术精度。
8.如权利要求6所述的数字媒体编码方法,其特征在于,还包括:
做出在变换编码之前是否应用所述数字媒体数据的缩放的决定;以及
用所述编码位流中的第二句法元素表示是否应用所述缩放的所述决定。
9.如权利要求8所述的数字媒体编码方法,其特征在于,所述做出是否应用缩放的决定包括,在无损地编码所述数字媒体数据时决定不应用所述数字媒体数据的缩放。
10.一种数字媒体解码方法,包括:
在数字媒体解码器处接收压缩数字媒***流;
解析来自所述压缩数字媒***流的句法元素,所述句法元素用信号通知精度模式选择,所述精度模式选择用于在对来自所述压缩数字媒***流的数字媒体数据进行处理期间的变换计算;
使用所述数字媒体数据重构图像,包括:
在用信号通知了使用缩放的第一精度模式的情况下,缩放所述解码器的输出;
在用信号通知了没有缩放的第二精度模式的情况下,省略应用所述输出的缩放;以及
输出重构的图像。
11.如权利要求10所述的数字媒体解码方法,其特征在于,所述缩放所述解码器的输出包括以某一数字对所述输出进行取整除法。
12.如权利要求11所述的数字媒体解码方法,其特征在于,对所述输出的所述取整除法是以数字8进行的取整除法。
13.如权利要求10所述的数字媒体解码方法,其特征在于,还包括:
解析来自所述压缩数字媒***流的第二句法元素,所述第二句法元素用信号通知是否将较低算术精度用于所述数字媒体数据的处理期间的变换计算;
作为所述重构的一部分:
解码来自所述压缩数字媒***流的变换系数块;以及
在所述没有缩放的第二精度模式并且用信号通知了使用较低算术精度的情况下,使用所述较低算术精度来执行所述变换系数的逆变换处理。
14.如权利要求13所述的数字媒体解码方法,其特征在于,所述较低算术精度是16位算术精度。
15.如权利要求10所述的数字媒体解码方法,其特征在于,所述数字媒体数据是使用两阶段变换结构来编码的,所述两阶段变换结构具有第一阶段变换,其后是对所述第一阶段变换的DC系数的第二阶段变换,所述数字媒体解码方法还包括:
解码来自所述数字媒体数据的变换系数;
对所述数字媒体数据应用逆第二阶段变换;
对所述数字媒体数据应用逆第一阶段变换;
执行所述数字媒体数据的色彩转换;以及
其中,在用信号通知了所述使用缩放的第一精度模式的情况下,对所述解码器的输出的所述缩放包括:
在输入到所述逆第一阶段变换之前,将所述数字媒体数据左移单个位;
在所述色彩转换之后,将所述数字媒体数据右移3位。
16.如权利要求10所述的数字媒体解码方法,其特征在于,所述压缩数字媒***流是根据定义图像的分开的主图像平面和α图像平面的句法模式来编码的,所述句法元素用信号通知按图像平面以信号通知的精度模式的选择,由此所述主图像平面和所述α图像平面的精度模式是独立地用信号通知的,并且所述解析来自所述压缩数字媒***流的句法元素包括解析用信号通知对每一图像平面的精度模式的选择的所述句法元素,并且在对相应图像平面用信号通知了所述使用缩放的第一精度模式的情况下,对所述相应图像平面缩放所述解码器的所述输出。
CN2008800056300A 2007-02-21 2008-02-20 基于变换的数字媒体编解码器中的计算复杂度和精度控制 Active CN101617539B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US89103107P 2007-02-21 2007-02-21
US60/891,031 2007-02-21
US11/772,076 US8942289B2 (en) 2007-02-21 2007-06-29 Computational complexity and precision control in transform-based digital media codec
US11/772,076 2007-06-29
PCT/US2008/054473 WO2008103766A2 (en) 2007-02-21 2008-02-20 Computational complexity and precision control in transform-based digital media codec

Publications (2)

Publication Number Publication Date
CN101617539A CN101617539A (zh) 2009-12-30
CN101617539B true CN101617539B (zh) 2013-02-13

Family

ID=41556839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800056300A Active CN101617539B (zh) 2007-02-21 2008-02-20 基于变换的数字媒体编解码器中的计算复杂度和精度控制

Country Status (11)

Country Link
US (1) US8942289B2 (zh)
EP (1) EP2123045B1 (zh)
JP (2) JP5457199B2 (zh)
KR (2) KR101507183B1 (zh)
CN (1) CN101617539B (zh)
BR (1) BRPI0807465B1 (zh)
HK (1) HK1140341A1 (zh)
IL (1) IL199994A (zh)
RU (1) RU2518417C2 (zh)
TW (1) TWI471013B (zh)
WO (1) WO2008103766A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7949054B2 (en) * 2006-06-01 2011-05-24 Microsoft Corporation Flexible data organization for images
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
JP5340091B2 (ja) 2008-12-19 2013-11-13 キヤノン株式会社 画像符号化装置及びその制御方法
US8676849B2 (en) * 2009-03-12 2014-03-18 Microsoft Corporation Storing lossless transforms of data
KR20110135786A (ko) * 2010-06-11 2011-12-19 삼성전자주식회사 깊이 전이 데이터를 이용한 3d 비디오 인코딩/디코딩 장치 및 방법
WO2012115973A1 (en) 2011-02-21 2012-08-30 Dolby Laboratories Licensing Corporation Floating point video coding
US8781238B2 (en) 2011-09-08 2014-07-15 Dolby Laboratories Licensing Corporation Efficient decoding and post-processing of high dynamic range images
US11184623B2 (en) 2011-09-26 2021-11-23 Texas Instruments Incorporated Method and system for lossless coding mode in video coding
KR20130040132A (ko) * 2011-10-13 2013-04-23 한국전자통신연구원 이종 ip 네트워크를 통한 미디어 코덱에 독립적인 미디어 데이터 전송 방법
JP6157114B2 (ja) * 2012-12-28 2017-07-05 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US8817179B2 (en) * 2013-01-08 2014-08-26 Microsoft Corporation Chroma frame conversion for the video codec
GB2521349A (en) * 2013-12-05 2015-06-24 Sony Corp Data encoding and decoding
JP6220722B2 (ja) * 2014-04-17 2017-10-25 アンリツ株式会社 ミリ波帯用電波ハーフミラーおよびその透過係数平坦化方法
KR101978222B1 (ko) * 2014-07-11 2019-05-14 엘지전자 주식회사 방송 신호 송수신 방법 및 장치
WO2016006971A1 (ko) 2014-07-11 2016-01-14 엘지전자 주식회사 방송 신호 송수신 방법 및 장치
WO2016017961A1 (ko) 2014-07-29 2016-02-04 엘지전자 주식회사 방송 신호 송수신 방법 및 장치
JP6324590B2 (ja) * 2017-05-25 2018-05-16 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
JP6915483B2 (ja) * 2017-09-27 2021-08-04 富士フイルムビジネスイノベーション株式会社 画像処理装置、画像処理システムおよびプログラム
EP3471271A1 (en) * 2017-10-16 2019-04-17 Acoustical Beauty Improved convolutions of digital signals using a bit requirement optimization of a target digital signal
WO2019148977A1 (en) * 2018-02-01 2019-08-08 Mediatek Inc. Methods and apparatuses of video encoding or decoding with adaptive quantization of video data
JP2018142969A (ja) * 2018-04-11 2018-09-13 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559557A (en) * 1992-09-28 1996-09-24 Sony Corporation Motion video coding with adaptive precision for DC component coefficient quantization and variable length coding
CN1550110A (zh) * 2002-01-24 2004-11-24 ������������ʽ���� 运动图像的编码方法、解码方法、编码装置及解码装置
US7117053B1 (en) * 1998-10-26 2006-10-03 Stmicroelectronics Asia Pacific Pte. Ltd. Multi-precision technique for digital audio encoder

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63219066A (ja) 1987-03-06 1988-09-12 Matsushita Electric Ind Co Ltd 直交変換装置
US4922537A (en) 1987-06-02 1990-05-01 Frederiksen & Shu Laboratories, Inc. Method and apparatus employing audio frequency offset extraction and floating-point conversion for digitally encoding and decoding high-fidelity audio signals
US5357594A (en) 1989-01-27 1994-10-18 Dolby Laboratories Licensing Corporation Encoding and decoding using specially designed pairs of analysis and synthesis windows
US5379351A (en) 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
US5319724A (en) 1990-04-19 1994-06-07 Ricoh Corporation Apparatus and method for compressing still images
JP2945487B2 (ja) 1990-12-26 1999-09-06 株式会社日立製作所 行列乗算器
JPH04282988A (ja) 1991-03-12 1992-10-08 Sony Corp データ変換装置及び方法
US5168375A (en) 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms
KR0150955B1 (ko) 1992-05-27 1998-10-15 강진구 비트고정을 위한 영상압축방법과 신장방법 및 그 장치
US5394349A (en) 1992-07-10 1995-02-28 Xing Technology Corporation Fast inverse discrete transform using subwords for decompression of information
JPH0645949A (ja) 1992-07-27 1994-02-18 Victor Co Of Japan Ltd 直交変換装置及び逆直交変換装置
JPH0645948A (ja) 1992-07-27 1994-02-18 Victor Co Of Japan Ltd 直交変換装置及び逆直交変換装置
JPH0654307A (ja) 1992-07-29 1994-02-25 Casio Comput Co Ltd データ圧縮装置
JPH06105296A (ja) 1992-09-18 1994-04-15 Sony Corp 可変長符号化および復号化方法
JP3069455B2 (ja) 1992-12-22 2000-07-24 富士写真フイルム株式会社 画像データ圧縮伸張装置における量子化・逆量子化回路
US5995539A (en) 1993-03-17 1999-11-30 Miller; William J. Method and apparatus for signal transmission and reception
JP3697717B2 (ja) 1993-09-24 2005-09-21 ソニー株式会社 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
US5587708A (en) * 1994-01-19 1996-12-24 Industrial Technology Research Institute Division technique unified quantizer-dequantizer
JP3046224B2 (ja) 1994-07-26 2000-05-29 三星電子株式会社 固定ビット率の符号化方法および装置とこれを利用した高速探索のためのトラッキング方法
EP0714212A3 (en) 1994-11-21 1999-03-31 SICAN, GESELLSCHAFT FÜR SILIZIUM-ANWENDUNGEN UND CAD/CAT NIEDERSACHSEN mbH Video decoder using concurrent processing and resource sharing
US6002801A (en) 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
US5864637A (en) 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
JP2778622B2 (ja) 1995-06-06 1998-07-23 日本電気株式会社 2次元dct回路
JP2914226B2 (ja) 1995-06-16 1999-06-28 日本電気株式会社 可逆変換を可能にするディジタル信号の変換符号化方式
JP3274593B2 (ja) 1995-09-27 2002-04-15 日本電気株式会社 可逆変換可能な変換装置及び逆変換装置
US5825929A (en) 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
EP0878097B1 (en) * 1996-01-08 2003-03-26 International Business Machines Corporation File server for multimedia file distribution
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
JP3168922B2 (ja) 1996-08-27 2001-05-21 日本ビクター株式会社 デジタル画像情報の記録再生装置
JPH1091614A (ja) 1996-09-13 1998-04-10 Hitachi Ltd Idctの整数化法
JPH10107644A (ja) * 1996-09-26 1998-04-24 Sony Corp 量子化装置および方法、並びに、符号化装置および方法
SG54383A1 (en) 1996-10-31 1998-11-16 Sgs Thomson Microelectronics A Method and apparatus for decoding multi-channel audio data
US5883823A (en) 1997-01-15 1999-03-16 Sun Microsystems, Inc. System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6351570B1 (en) 1997-04-01 2002-02-26 Matsushita Electric Industrial Co., Ltd. Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
US6058215A (en) 1997-04-30 2000-05-02 Ricoh Company, Ltd. Reversible DCT for lossless-lossy compression
US6134270A (en) 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
US6057855A (en) 1997-07-02 2000-05-02 Hewlett-Packard Company Method and apparatus for providing polygon pixel sub-sample information using incremental means
JPH11122624A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US6006179A (en) 1997-10-28 1999-12-21 America Online, Inc. Audio codec using adaptive sparse vector quantization with subband vector classification
US6137916A (en) 1997-11-17 2000-10-24 Sony Electronics, Inc. Method and system for improved digital video data processing using 8-point discrete cosine transforms
US6600785B1 (en) 1997-12-01 2003-07-29 Matsushita Electric Industrial Image processor, image data processor and variable length encoder/decoder
EP1038403B1 (de) 1997-12-19 2005-10-12 Infineon Technologies AG Vorrichtung zur multiplikation mit konstanten faktoren und deren verwendung zur videokompression (mpeg)
RU2201654C2 (ru) 1997-12-23 2003-03-27 Томсон Лайсенсинг С.А. Способ низкошумового кодирования и декодирования
JP3953183B2 (ja) 1998-03-27 2007-08-08 パナソニック コミュニケーションズ株式会社 画像通信方法および画像通信装置
US6029126A (en) 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US6115689A (en) 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6154762A (en) 1998-06-03 2000-11-28 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6073153A (en) 1998-06-03 2000-06-06 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6301304B1 (en) 1998-06-17 2001-10-09 Lsi Logic Corporation Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
GB9819648D0 (en) 1998-09-10 1998-11-04 Nds Ltd Determining visually noticeable differences between two images
US6353808B1 (en) 1998-10-22 2002-03-05 Sony Corporation Apparatus and method for encoding a signal as well as apparatus and method for decoding a signal
US7194138B1 (en) 1998-11-04 2007-03-20 International Business Machines Corporation Reduced-error processing of transformed digital data
US6421464B1 (en) 1998-12-16 2002-07-16 Fastvdo Llc Fast lapped image transforms using lifting steps
US6363117B1 (en) 1998-12-31 2002-03-26 Sony Corporation Video compression using fast block motion estimation
US6473534B1 (en) 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
US6496795B1 (en) 1999-05-05 2002-12-17 Microsoft Corporation Modulated complex lapped transform for integrated signal enhancement and coding
US6487574B1 (en) 1999-02-26 2002-11-26 Microsoft Corp. System and method for producing modulated complex lapped transforms
US6370502B1 (en) 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6507614B1 (en) 1999-10-19 2003-01-14 Sony Corporation Efficient de-quantization in a digital video decoding process using a dynamic quantization matrix for parallel computations
US7028063B1 (en) 1999-10-26 2006-04-11 Velocity Communication, Inc. Method and apparatus for a DFT/IDFT engine supporting multiple X-DSL protocols
WO2001040985A2 (en) 1999-12-06 2001-06-07 Hrl Laboratories, Llc Method and apparatus for calculating wavelet transform using variable precision
US6963609B2 (en) 2000-01-12 2005-11-08 Koninklijke Philips Electronics N.V. Image data compression
JP3593944B2 (ja) 2000-03-08 2004-11-24 日本電気株式会社 画像データ処理装置及びそれに用いる動き補償処理方法
JP4560694B2 (ja) 2000-04-05 2010-10-13 ソニー株式会社 符号化装置及びその方法
US6606725B1 (en) 2000-04-25 2003-08-12 Mitsubishi Electric Research Laboratories, Inc. MAP decoding for turbo codes by parallel matrix processing
SE522261C2 (sv) * 2000-05-10 2004-01-27 Global Ip Sound Ab Kodning och avkodning av en digital signal
FR2818053B1 (fr) * 2000-12-07 2003-01-10 Thomson Multimedia Sa Procede et dispositif de codage pour l'affichage d'un zoom d'une image codee mpeg2
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
JP4063508B2 (ja) 2001-07-04 2008-03-19 日本電気株式会社 ビットレート変換装置およびビットレート変換方法
US20030112873A1 (en) 2001-07-11 2003-06-19 Demos Gary A. Motion estimation for video compression systems
US7123655B2 (en) 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US7185037B2 (en) 2001-08-23 2007-02-27 Texas Instruments Incorporated Video block transform
KR100433709B1 (ko) 2001-08-31 2004-05-31 (주)씨앤에스 테크놀로지 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법
US6882685B2 (en) 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
ES2610430T3 (es) * 2001-12-17 2017-04-27 Microsoft Technology Licensing, Llc Codificación por omisión de macrobloques
US7379498B2 (en) * 2002-03-11 2008-05-27 Broadcom Corporation Reconstructing a compressed still image by transformation to a compressed moving picture image
CN1225904C (zh) 2002-04-12 2005-11-02 精工爱普生株式会社 在压缩域视频处理中降低存储器要求和实施有效的逆运动补偿的方法和设备
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US6944224B2 (en) 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
US7197525B2 (en) 2002-11-26 2007-03-27 Analog Devices, Inc. Method and system for fixed point fast fourier transform with improved SNR
US7075530B2 (en) 2003-02-27 2006-07-11 International Business Machines Corporation Fast lighting processors
US7330866B2 (en) 2003-07-01 2008-02-12 Nvidia Corporation System for frequency-domain scaling for discrete cosine transform
US7502415B2 (en) * 2003-07-18 2009-03-10 Microsoft Corporation Range reduction
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7688895B2 (en) 2003-07-22 2010-03-30 Lsi Corporation Method and/or circuit for binary arithmetic decoding decisions before termination
US20050036548A1 (en) * 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of bit budget adjustment in dual pass encoding
US8014450B2 (en) 2003-09-07 2011-09-06 Microsoft Corporation Flexible range reduction
KR100965881B1 (ko) 2003-10-10 2010-06-24 삼성전자주식회사 비디오 데이터 인코딩 시스템 및 디코딩 시스템
CN1910922B (zh) 2004-01-30 2013-04-17 松下电器产业株式会社 运动图片编码方法和运动图片解码方法
US20050213835A1 (en) 2004-03-18 2005-09-29 Huazhong University Of Science & Technology And Samsung Electronics Co., Ltd. Integer transform matrix selection method in video coding and related integer transform method
US20050259729A1 (en) 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
JP4241517B2 (ja) 2004-06-15 2009-03-18 キヤノン株式会社 画像符号化装置及び画像復号装置
JP4074868B2 (ja) 2004-12-22 2008-04-16 株式会社東芝 画像符号化制御方法及びその装置
JP2008536451A (ja) 2005-04-14 2008-09-04 トムソン ライセンシング 空間スケーラブルビデオ符号化及び復号化向けスライス適応型動きベクトル符号化のための方法及び装置
KR101037855B1 (ko) 2005-07-22 2011-05-31 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
CN100539437C (zh) 2005-07-29 2009-09-09 上海杰得微电子有限公司 一种音频编解码器的实现方法
US8548265B2 (en) 2006-01-05 2013-10-01 Fastvdo, Llc Fast multiplierless integer invertible transforms
US20070271321A1 (en) 2006-01-11 2007-11-22 Qualcomm, Inc. Transforms with reduce complexity and/or improve precision by means of common factors
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
CA2681402C (en) * 2007-03-23 2016-02-16 Thomson Licensing Modifying a coded bitstream
KR101518999B1 (ko) * 2007-06-14 2015-05-12 톰슨 라이센싱 코딩된 비트스트림의 수정
US20120014431A1 (en) * 2010-07-14 2012-01-19 Jie Zhao Methods and Systems for Parallel Video Encoding and Parallel Video Decoding
US9313514B2 (en) * 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559557A (en) * 1992-09-28 1996-09-24 Sony Corporation Motion video coding with adaptive precision for DC component coefficient quantization and variable length coding
US7117053B1 (en) * 1998-10-26 2006-10-03 Stmicroelectronics Asia Pacific Pte. Ltd. Multi-precision technique for digital audio encoder
CN1550110A (zh) * 2002-01-24 2004-11-24 ������������ʽ���� 运动图像的编码方法、解码方法、编码装置及解码装置

Also Published As

Publication number Publication date
TWI471013B (zh) 2015-01-21
BRPI0807465A8 (pt) 2017-01-17
JP5457199B2 (ja) 2014-04-02
KR20150003400A (ko) 2015-01-08
RU2518417C2 (ru) 2014-06-10
TW200843515A (en) 2008-11-01
EP2123045A4 (en) 2013-03-13
JP2010519858A (ja) 2010-06-03
IL199994A (en) 2015-11-30
KR20090115726A (ko) 2009-11-05
KR101507183B1 (ko) 2015-03-30
JP2014078952A (ja) 2014-05-01
IL199994A0 (en) 2010-04-15
US20080198935A1 (en) 2008-08-21
CN101617539A (zh) 2009-12-30
HK1140341A1 (en) 2010-10-08
KR101550166B1 (ko) 2015-09-03
EP2123045A2 (en) 2009-11-25
WO2008103766A2 (en) 2008-08-28
US8942289B2 (en) 2015-01-27
BRPI0807465A2 (pt) 2014-06-03
WO2008103766A3 (en) 2008-11-27
EP2123045B1 (en) 2018-10-17
BRPI0807465B1 (pt) 2020-05-26
RU2009131599A (ru) 2011-02-27

Similar Documents

Publication Publication Date Title
CN101617539B (zh) 基于变换的数字媒体编解码器中的计算复杂度和精度控制
CN101617540B (zh) 用色度位置信息编码和解码数字图像数据的方法
CN101438591B (zh) 灵活量化
CN101243685B (zh) 数字媒体数据的编码方法、处理方法及处理装置
CN102065294B (zh) 基于simd重叠变换的数字媒体解码
CN101243459B (zh) 宽范围系数的自适应编码和解码
EP1672517A2 (en) Reversible transform for lossy and lossless 2-D data compression
AU2009303343B2 (en) Reduced DC gain mismatch and DC leakage in overlap transform processing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1140341

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1140341

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150514

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150514

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.