CN1124563C - 数据数组预测编码的方法 - Google Patents
数据数组预测编码的方法 Download PDFInfo
- Publication number
- CN1124563C CN1124563C CN99814076A CN99814076A CN1124563C CN 1124563 C CN1124563 C CN 1124563C CN 99814076 A CN99814076 A CN 99814076A CN 99814076 A CN99814076 A CN 99814076A CN 1124563 C CN1124563 C CN 1124563C
- Authority
- CN
- China
- Prior art keywords
- value
- coding
- array
- video flowing
- vector
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
一种用于统一编码视频流的数值组的方法和系统。使用待编码的元素的数据类型,可以将预测值量化和编码为视频流的一部分产生的视频流编码旋转、法线和向量。
Description
本申请和标题为“对三维生成的景物中的旋转和法线编码的方法和系统”的共同未决申请相关,后一申请的序列号为09/205,190,代理审查号为2167-0105-2,和本申请同一天提交,发明人也是Julien Signes和OlivierOndet。该其同未决申请的内容收录为参考资料。
本发明涉及对计算机生成的图象的编码,并且更具体地涉及和数据的函数无关的对数据数组的统一编码方法。从而,相容地编码位置数据、旋转和法线的数组。
术语“计算机生成的图象”包含视频技术的延伸领域。原始上,该术语通常等同于简单的文本图象或者二维图象;然而,现在该术语包含任何类型的数字编码视频流。为了研究图象流的编码和译码所需要的技术成立了运动图象专家组(MPEG)。所产生的标准(现称为“MPEG-1”)已作为另二个MPEG标准,MPEG-2和MPEG-4,的基础。MPEG-4是一个“进展中”的标准并且构成本发明的基础。最终的委员会草案是ISO/IEC FCD14496-1 MPEG-4系统和-2 MPEG-4 Visual,收录这些最终的委员会草案作为参考资料。
该标准草案脱离基于单个流的视频模型并且把焦点改变到一系列一致行动的流。该标准的一部分是用于景物的二进制格式(也称为“BIFS”)。该格式能描述三维对象和它们的运动并且提供和这部分的视频流更多交互的能力。MPEG-4 BIFS的标准草案建议通过线性量化处理编码多个数据字段,该处理未考虑这些多个字段内的相关性。从而,MPEG-4 BIFS不描述数组的预测编码。
另一种建议的图形格式是用于虚拟现实标记语言的压缩二进制格式(以下称为“CBF VRML”),它包括一种只能应用于一些节点的一些字段以及数据类型的有限子集的编码方法。可以从www.vrml.org得到分别于1997年8月22日和1997年10月15日发布的CBF VRML标准的第四和第五草案,它们由本文收录为参考资料。类似地,1998年4月3日发布的CBF VRML97的修订需求报告也收录为参考资料。
再一种图形格式是标记图象文件格式(TIFF),TIFF说明书的版本6.0的内容收录为本文的参考资料。TIFF文件中的每个项是按四部分存储的:(1)标记,(2)类型标识符,(3)计数和(4)一个或多个值,版本6.0说明书的16页指出“所有字段实际上是一维数组,尽管大多数字段只包含单个值”。另外,尽管16页还指出每个文件可能存在多个图象,该说明书是为独立编码的二维图象而不是为流式三维图象设计的。
本发明的一个目的是解决周知的MPEG-4 BIFS数据流中的编码低效。
本发明的另一个目的是利用瞬时预测编码处理提供一种用于对表达景物或对象的数据数组编码的方法和系统。
通过(1)统一地编码值的数组的计算机实现的方法、(2)统一地编码值的数组的系统和(3)统一地编码值的数组的计算机程序产品中的一个或多个解决本发明的这些和其它目的。这样的系统可应用于存储改进以及游戏回放、虚拟现实环境和影片。另外,基于效率的改进,可以在比效率较低的编码流带宽更低的通信链路上回放依据本发明编码的视频流。
根据本发明的一个方面,提供了一种对视频流进行统一编码的计算机实现的方法,该方法包括步骤:
(a)为视频流中使用的每种数据类型确定一个对应的类型专用的量化参数;
(b)从该视频流中使用的数据类型中的一种类型的第一数组中选择第一值;
(c)利用对应的类型专用量化参数量化该第一值,
(d)从该视频流中使用的数据类型中的该种类型的该第一数组中选择第二值;
(e)利用对应的类型专用量化参数从该第一值和该第二值确定一预测值;
(f)利用对应的类型专用量化参数量化该预测值;
(g)把量化的第一值和量化的预测值编码到该视频流中;以及
(h)具体地对该视频流中要编码的所有数组重复步骤(b)-(g)。
通过参照下述详细说明,尤其是在连带着各附图下,对本发明的更为完整的理解以及它的许多伴随优点将会相当清楚,附图是:
图1示意表示用来提供本发明的编码和/或译码服务的计算机;
图2示意表示一个编码器/译码器系统;以及
图3示出用于编码128位的旋转的原始位长度;
图3B示出利用已知的量化和编码方法的结果,其中利用8位的量化在各为27位下对一系列的旋转编码;以及
图3C示出利用依据本发明的量化和预测编码方法的结果-即,利用8位量化和4位预测编码(1)在27位下对第一个旋转编码和(2)在各为12位下对一系列相继的旋转编码。
现参照各附图,其中相似的参考数字指示各图中相同或对应的部分,图1示意表示用于统一地编码和/或译码值的数组的计算机系统。计算机100实现本发明的方法,其中计算机机壳102容纳母板104,母板104含有CPU 106、存储器108(例如DRAM、ROM、EPROM、EEPROM、SRAM、SDRAM和闪速RAM)以及其它选用的专用逻辑部件(例如,各个ASIC)或可配置的逻辑部件(例如,GAL和可再编程FPGA)。计算机100还包括多个输入部件(例如键盘122和鼠标124)以及用于控制监视器120的显示卡110。另外,计算机系统100还包括利用适当的部件总线(例如,SCSI总线,增强型IDE总线或超DMA总线)连接的软盘机114、其它可移动介质部件(例如,光盘119、带、可移动磁光介质(未示出))和硬盘112或其它高密度固定介质部件。也和同一个部件总线连接或者和其它部件总线连接,计算机系统100还可包括读光盘机118、光盘读/写机单元(未示出)或者自动光盘机(未示出)。尽管光盘119示成是在CD盒式机中的,可把光盘119直接插入到CD-ROM机中,后者不需要盘盒。另外,打印机(未示出)还提供编码的和/或译码的数组的打印列出。
如上面所述,本系统包括至少一种的计算机可读介质。计算机可读介质的例子包括光盘119、硬盘112、软盘、磁带、磁光盘、各种PROM(EPROM、EEPROM、闪速EPROM)、DRAM、SRAM、SDRAM等。本发明包括存储在任一计算机可读介质上的或者其组合上的软件,用于控制计算机100的硬件和使能计算机100与人类用户交互。这样的软件包括但不限于:部件驱动程序、操作系统和用户应用例如开发工具。这样的计算机可读介质还包括本发明的用于统一地对景物描述或动画中的数组进行编码和译码的计算机程序产品。本发明的计算机代码机构/部件可以是任何解释的或可执行的代码机构,包括但不限于:脚本、解释程序、动态链接库、Java类和完整的可执行程序。
如图2中所示,在建立景物240的第一步骤中使用创造工具200。一旦创造工具200建立一系列图象,把这一系列图象发送到量化器205。在量化后,把量化的图象发送到预测器210,其利用前一帧和后一帧之间的相似性通过差编码更紧致地表达后一帧的内容。该预测器可包括线性的或非线性(即多序)的内插。熵编码器/译码器215编码帧间的差。编码器/译码器215可以为一些熵系统中的任一种(例如,自适应算术编码器)。编码器/译码器215的结果由嵌入协议220格式化并且利用发送器或存储部件225发送或者存储。
为了译码格式后的存储/发送图象,反向地复旧编码处理。首先,通过嵌入协议220译码格式以产生原始熵编码的数据。把熵编码的数据馈入到包含补偿器的译码器230。该补偿器利用前面的帧和差编码生成量化数据的帧。把量化数据发送到反量化器235,它把数据反量化成景物。由于量化处理中使用的位数,该景物可能不是原始建立的景物的良好表达,但是,通过使用本发明数组更有效地得到编码从而可把附加的位组用于其它目的(例如,更高分辨率的量化)。
出于简明的目的,以下把创造描述为建立一系列的动画参数v。任一参数vi是该序列中的第i个参数并且本身可包含一个实数值数组。在量化期间,参数vi可变换成量化后的参数vqi。量化方法的一个例子是线性均匀量化,如在MPEG-4 BIFS版本1中所说明。
这种量化处理支持后面说明的在其中把值的预测扩展到各种类型的值的补偿处理。对每种数据类型定义一个或多个预测函数,从而可以预测这种数据类型的值。在一替代实施例中,所有数据类型使用一种预测函数(例如,加法)。作为预测的后果,在译码期间为重建想要的景物通常需要的位数较少。
后面说明的编码方法是一种通用的和统一的预测编码方法,可应用于景物中的所有类型的数据数组。这样,该方法可应用于帧内编码(即,I方式)和预测编码(即,P方式)。在一替代实施例中,P方式里使用长度可变编码器以进一步减小数据尺寸。如图3A-3C中所示,在应用于旋转时,利用量化能在更少的位数下完成数据的编码,并且在和预测编码组合下甚至能在更少的位数下完成数据的编码。
还可以解决其它类型的数据。任何二维或三维参数v可以看成是如下的D维的实数值向量:
v=(v[0],v[1],…,v[D-1])该参数的对应量化值是如下的D′维的整数数组:
q=(q[0],q[1],…,q[D′-1])其中维数D′不必必须等于D。向量、单位向量和整数组成依据本发明的预测、量化编码方法的被编码的三种特定种类的参数。
“向量”族划分为三维向量、二维向量和一维向量。三维向量用于编码下述类型的值:三维位置、三维尺寸和纹理坐标。二维向量用于编码下述类型的值:二维位置、二维尺寸和纹理坐标。一维向量是浮点的用于编码任何单个的非整数值,即,长度为1的浮点数组用于编码“角度”、“尺度”、“插值器关键字”和“BoundFloat(边界浮点)”类型的值。彩色是一种特殊形式的三维浮点向量,其带有各用尺度0.1-1.0表达的红、绿、兰分量。根据MPEG-4 BIFS v1说明书,向量用于其中QuantType(量化类别)和AnimationType(动画类别)为1、2、4、5、6、7、8、11和12的各种类别。
作为单位向量的特殊性质的结果,单独对待单位向量并用于法线和旋转(QuantType和AnimationType为9和10)。在上面标明的共同未决专利申请中公开使用旋转和法线的其它细节。
最后一种类型,即整数,也受到预测、量化和编码。根据MPEG4 BIFSv1说明书,该类别和quantType和AnimationType 3、13、14匹配。作为参考,下面的表1和表2给出对各类别的更完整的描述。
表1:QuantType(量化类别)
类别 | 说明 |
0 | 无 |
1 | 3D位置 |
2 | 2D位置 |
3 | drawOrder |
4 | SFColor |
5 | 纹理坐标 |
6 | 角度 |
7 | 尺度 |
8 | 插值器关键字 |
9 | 法线 |
10 | 旋转 |
11 | 对象尺寸3D |
12 | 对象尺寸2D |
13 | 线性标量量化 |
14 | 坐标索引 |
15 | 保留 |
表2:AnimType(动画类别)
量化/反量化处理是通过几个参数规定的,这些参数取决于被编码参数的总类别。对于向量,应对量化器/反量化器提供:
类别 | 说明 |
0 | 无 |
1 | 位置3D |
2 | 位置2D |
3 | 保留 |
4 | 彩色 |
5 | 保留 |
6 | 角度 |
7 | 浮点 |
8 | BoundFloat |
9 | 法线 |
10 | 旋转 |
11 | 尺寸3D |
12 | 尺寸2D |
13 | 整数 |
14 | 保留 |
15 | 保留 |
quantMin:对向量量化的最小界限(bound)—按一个维数和该参数的
维数D相同的浮点数数组编码。
QuantMax:对向量量化的上界—按一个维数和该参数的维数D相同
的浮点数组编码。
QuantNbBits:向量量化中采用的位数。对于某些类别(例如彩色和自然Bound Float(界限浮点)),可以从该参数的默认(有限)界限得到QuantMin和QuantMax。在一替代实施例中,规定一个代替QuantMax的量化步骤,即:
QuantStep=(QuantMax-QuantMin)/((2^(QuantNbBits))-1)
对于单位向量,类似地只对编码器/译码器提供一个编码参数QuantNbBits,即,向量量化中采用的位数。出于一致性,分别用0和1定义浮点数QuantMin和quantMax。
对于整数,向量化器/反量化器提供:
QuantMin:对向量量化的下限一按整数编码。
QuantNbBits:向量量化中采用的位数。
基本量化处理根据下述三个参数量化实数值:
QuantMin:最小量化值
QuantMax:最大量化值
然后通过下述函数(以C编程语言形式)定义基本量化处理:
int quantize(float QuantMin,float QuantMax,float v,int QuantNbBits)
returns the rounded value of(v-QuantMin)/QuantsStep相应地,通过下述函数定义基本反量化处理:
float invQuantize(float QuantMin,float QuantMax,float vq,int QuantNbBits)
retums(QuantMin+vq*QuantStep)MPEG4 BIFS v1中说明的量化处理使用诸如上面所说明的量化和反量化函数并且可应用于本发明。只要量化处理同样支持补偿处理,可在替代实施例中采用其它量化和反量化函数。
作为补偿处理的一部分,定义下述参数:
CompMin:一个定义补偿向量vDelta的下限的整数数组
CompNbBits:一个定义用于编码补偿向量的各分量的位数的整数
这些值不是补偿器的专用特性,但是定义二进制文件中对补偿向量vDelta的各分量的编码。每个分量vDelta[i]通过CompMin[i]变换并且利用CompNbBits编码。实际的编码值则为:vDelta[i]-CompMin[i]。
现在根据相继的量化值vq1、vq2和它们之间的增量值vDelta说明总预测处理。
首先说明编码处理。对于向量和整数,计算是直接的并且为:
vDelta[i]=vq2[i]-vq1[i].
对于单位向量,采用更详细的计算(并且在前面确定的共同未申请中更详细的讨论)。如上面所讨论,若QuantNbBits=0,则实际上不存在编码,因为没有可使用的位。在该情况下,所有值假定为零并且不必写到视频流中。
然而,当QuantNbBits>0时,按如下进行编码处理。首先把变量inv初始设为1(但在处理中该变量可能改变)。接着确定减少后的分量的数量N,其中对于法线N=2而对于旋转N=3。然后,根据:
dOri=(ori2-ori1)mod(N+1)
dDir=dir1*dir2
scale=2QuantNbBits-1-1.计算vq1t和vq2之间的差方位和差方向。
接着考虑二种情况:
变量inverse根据inverse=inv*dDir计算。作为量化处理的边缘不投影性的结果,vDelta对vq1补偿得到的vq2′不能不会产生准确的vq2。但是,vq2和vq2′总是代表几乎相同的法线和旋转。
dOri=0 | vDelta定义为:vDelta[i]=vq2[i]-vq1[i] | |
dOri≠0 | 令dist=vq2[N-dOrij+vq1[dOri-1]若dist<0 inv=-1vDelta则定义为: | |
0≤i<dO | vDelta[i]=inv*vq2[i-dOri-1]-vq[i] | |
i=dOri-1 | vDelta[i]=inv*2*scale-dist | |
dOri≤i< | vDelta[i]=inv*vq2[i-dOri]-vq1[i] |
可以预测这三种基本类别的值(即,整数、向量和单位向量)中的每一种。利用简单的减法预测整数。向量利用基于量化后的分量的减法预测。单位向量根据映象立方体的拓朴结构采用专用的减法。
在具有各种数据类型的预测值后,在译码期间利用补偿修正预测值和实际值之间的差。令vq1为先前计算的量化参数、vDelta为增量值而vq2为经加法产生的量化值。然后是包含一个整数数组vq[]的量化值vq。另外,对于法线和旋转vq1含有一个方位,并且只对法线vq1还含有一个方向。类似地,增量值vDelta含有一个整数数组vDelta。另外,对于法线它具有一个整数倒数,其值为-1或1。接着根据要计算的值的类型计算结果vq2。对于向量和整数,vq2的分量为:
vq2[i]=vq1[i]+vDelta[i]然而对于单位向量,由于单位立方体的结构进行附加处理。
如上面所说明,执行下述方法。首先进行逐个分量的相加,并把结果存储到临时数组中,其为:
vqTemp[i]=vq1[i]+vDelta[i]若QuantNbBits为零或1,scale设成为1/2,在其它情况下把scale置成为2QuantNbBits-1-1。如在那篇共同未决的申请中更详细说明那样,对于本发明,使用QuantNbBits=0本质上等同于QuantNbBits=1。通过只使用方向和方位信息(即,当QuantNbBits=0时),可描述从一个面到任何其它面的移动。
然而,在下面说明的更常见情况中,QuantNbBits>=2。接着,设定减少后的分量的数量N(其中对于法线N=2而对于旋转N=3)。一旦完成这些初始步骤,取决于遇到三种情况中的哪种情况执行附加处理如下面说明那样。
对每个索引i、|vqTemp[i]|≤scale | vq2定义为vq2[i]=vqTemp[i]orientation2=orientation1direction2=direction1*inverse | |
(2)存在一个并只存在一个索引k使|vqTemp[k]|>scale | 仿佛在映射立方体的面上滑动改变vq2的尺度。若vqTemp[k]>=o,和-1令inv=1反之令dOri=k+1按如下计算vq2的分量 | |
0≤i<N-dOri | vq2[i]=inv*vqTemp[(i+dOri)modN] | |
i=N-dOri | vq2[i]=inv*2*scale-vqTemp[dori-1] | |
N-dOri<i<N | vq2[i]=inv*vqTemp[(i+dOri-1)mod N] | |
orientation2=(orientation1+dOri)mod(N+1)direction2=direction1*inverse*inv | ||
(3)存在数个索引k使|vqTemp[k]|>scale | 不定义结果 |
对于三种类型的值(即,整数、向量和单位向量)中的每一种,补偿处理反向预测处理。这样,对于整数,简单的加法处理复原预测减法。类似地,对于向量,使用基于量化分量的加法。最后,对于单位向量,使用拓朴相干加法,其潜在地需要计算新的方位和方向。
如参照图2说明那样,一旦编码器215完成熵编码,必须在该协议规定的格式下和标题信息一起存储结果值。从而,一实施例采用下述结构(尽管其它结构也是可能的)。首先,赋予每个节点的每个字段一个参数类别,其描述根据前面说明的处理使用Quant Min、Quant Max、QuantNb Bits、CompMin、ComPnb、CompNbBits中的哪些。接着编码每个数组的标题。标题包含:
(1)字段的长度,以及
(2)在给定下面三种类别中之一下对I方式(即,简单量化)和P方式的策略:(a)单个I(帧内)值只跟有预测编码值,(b)对每n个P值只提供一个I值(从而限制错误的传播长度),以及(c)每个值前面(或后面)的一个位表示该值是I值还是为P值。
然后对流添加用于编码预测值的量化参数和补偿参数。在BIFS中可通过编码后的字段的范围内的对应量化参数检索内量化参数(QuantMin、QuantMax、QuantNbBits)。直接对流添加补偿参数(CompMin、CompNbBits)。
最后,根据(帧)内/预测策略编码量化值的数组。I值按量化值编码。通过其对话在任何二个I值间是公开的自适应算术编码器对值编码。
下面的位流语法用于编码值的数组。该位流语法使用MPEG-4 FDIS14496-1中规定的MSDL语言的约定。
1.0 ArrayOfData
1.1语法
class ArrayOfData{
ArrayHeader header;
ArrayOfValues values;
}
1.2语义
该数据数组由Header和ArrayOfValues组成
2.0 ArrayHeader
2.1语法
class ArrayHeader{
int(5) NbBits;
int(NbBits)numberOfFields;
bit(2) IPPolicy;
if(IPPolicy==1)
int(NbBits)intraInterval;
InitialArrayQP qp;}
2.2语义
数组标题含有规定字段数量的第一信息(NbBits是用来编码numberOfFields的位数)。接着按如下规定(帧)内/预测策略(IPPolicy):
若为0:仅在开点处有一个内值并且接着仅为预测编码值
若为1:每给个数量的预测值一个内值
若为2:每个值一个位以确定该值为内值还是为预测值最后,编码InitialArrayQP
3.0 InitalArrayQP
3.1语法
class InitialArrayQP{ Switch(IPPolicy) case 1: int NbBits; int(NbBits)intraInterval; //no break case 0: case 2: int(5) CompNbBits; for(int i=0;i<NbComp(quantType)) int(QuantNbBits+1) CompMin[i] //no break case 3: break; }
3.2语义
若IPPolicy为1,首先规定二个内值之间的间隔尺寸。和IPPolicy无关,编码预测方式下CompNbBits和CompMin中使用的位数。(函数NbComPO)是一个回送量化界限的分量数量的函数,其和对象有关。例如,它为三维位置回送3,为二维位置回送2,而为旋转回送3。)
4.0 ArrayQP
4.1语法
class ArrayQP{ switch(intraMode) case 1: int NbBits; int(NbBits)intraInterval; //no break case 0: case 2: boolean(1) hasCompNbBits if(hasCompNbBits) int(5) CompNbBits; boolean(1) hasCompNbBits if(hasCompMin) for(int i=0;i<NbComp(quantType)) int(QuantNbBitst+1)CompMin[i] //no break case 3: break; }
4.2语义
ArrayQP和IntialArrayQP完成相同的目的,但在该情况中,任选地设定参数,若流中未设定它们,按默认、参照InitialArrayQP或参数的最近接收值设定它们。
若IPPolicy为1,首先规定二个内值之闪的间隔尺寸。在任何情况下,编码预测方式中采用的位数(CompNbBits)和CompMin。函数NbComp()是一个回送量化界限的分量数量的函数,其简单地和对象有关。例如,它为三维位置回送3,为二维位置回送2,为旋转回送3,等等。
5.0 ArrayOfValues
5.1语法
class ArrayOfValues{ ArrayIValue value[0]; for(int i=1;i<numberOfFields;i++) Switch(IntraMode){ case 0: ArrayPValue value; break; case 1: bit(1)isIntra; if(isIntra){ bit(1)hasQP; if(hasQP) ArrayQP qp; ArrayIValue value; }else{ ArrayPvalue value; } break; case 2; <dp n="d15"/> if((i%intraInterval)==0){ bit(1)hasQP; if(hasQP) ArrayQP qp; ArrayIValue value; }else{ ArrayPvalue value; } break; } }
5.2语义
该值的数组首先编码第一内值,并接着根据IPPolcy编码内(Intra)值和预测(Predictive)值。在仅为P方式下,不编码更多的内值。在第二方式中,一个位指示每个值处的P或I方式。在该情况下,可为Intra值发送一个QP。若发送QP,复位算术译码器的统计数据。在第三模式下,每个intraInterval值发送一个Intra。
6.0 ArrayIValue
6.1语法
class AnimationIValue(FieldData field){ switch(field.anim Type){ case 9://Normal int(1) direction case 10://Rotation int(2) orientation break; default: <dp n="d16"/> break; } for(j=0;j<getNbComp(field);j++) int(QuantNb Bits)vq[j]; }
6.2语义
ArrayIValue代表一个字段的量化的内值。根据该字段的类型按量化一节中说明的量化处理编码该值。对于法浅首先编码量化处理中规定的方向和方位值。对于旋转只编码方位值。若代表方向的位为0则把法线的方向置为1,若该位为1则把法线的方向置为-1。利用二个位把方位的值编码成不带符号的整数。接着利用该字段数据结构中规定的位数把该字段的值的压缩分量vq[i]编码为一序列的无符号整数,内方式下的译码处理通过应用反量化处理计算各动画值。
7.0 ArrayPValue
7.1语法
class ArrayPValue(FieldData field){ switch(field.animType){ case 9://Normal int(1) inverse break; default: break; } for(j=0;j<getNbComp(field);j++) int(aacNbBits)vqDelta[j]; }
7.2语义
ArrayPValue代表一字段的前一接收到的量化值和当前量化值之间的差。利用前面说明的补偿处理编码该值。
从自适应算术编码器流利用过程v_aac=aa_decode(model)译码这些值。利用过程model_updete(model,v_aac)更新模型。对于法线,通过带有统一、不更新的模型的自适应算术编码器译码逆值,若该位为0,则逆置为1,若该位为1,则逆置为-1。接着逐个地译码补偿值vqDelta[i]。令vq(t-1)为前一帧上译码的量化值而v_aac(t)为帧的自适应算术译码器利用字段的模型地时刻t译码的值。按如下从前一值得到时刻t上的值:
vDelta(t)=v_acc(t)+Pmin
vq(t)=AddDelta(vq(t-1),vDelta(t))
v(t)=InvQuant(t)每次通过自适应算术编码器译码一个值时更新一次字段的模型。若动画类型为1(三维位置)或2(二维位置),该字段值的每个分量使用它自己的模型和偏移PMin[i]。在所有其它情况下对所有分量使用相同模型和偏移PMin[0]。
如下面的表3中所示,和其本上类似地表达视频流的各种VRMLASCII文件相比,依据本发明的对值的数组的压缩可对景物提供明显的压缩。
表3
文件 | Vrmi景物文件尺寸(kB) | 无压缩的BIFS景物 | 带有压缩的BIFS景物(估算) | ||
文件尺寸(kB) | 比率 | 文件尺寸(kB) | 比率 | ||
intro | 347 | 45 | 7.7 | 25 | 13.9 |
Prolog | 621 | 81 | 7.7 | 48 | 12.9 |
Movie1 | 968 | 103 | 9.4 | 65 | 14.9 |
Finale | 412 | 58 | 7.1 | 35 | 11.8 |
Movie2 | 117 | 13.2 | 8.9 | 9 | 13.0 |
Skeleton | 34 | 2.9 | 11.7 | ||
Floops | 1324 | 95 | 13.9 | 65 | 20.3 |
Fishswim | 37 | 4.4 | 8.4 | ||
Store | 155 | 14 | 11.1 | 9 | 17.2 |
Tree | 80 | 4.9 | 16.3 | ||
Channel10 | 100 | 2.9 | 34.5 | ||
Meteo1 | 4.0 | 0.285 | 14.0 | ||
Flight | 62 | 4.7 | 13.2 |
一般的业内人士清楚,根据本发明的原理可做出许多修改。从而,上面说明的例子和实施例不是限制性的而只是示例。仅由附必权利要求书定义授予申请人的保护范围。
Claims (3)
1.一种对视频流进行统一编码的计算机实现的方法,该方法包括步骤:
(a)为视频流中使用的每种数据类型确定一个对应的类型专用的量化参数;
(b)从该视频流中使用的数据类型中的一种类型的第一数组中选择第一值;
(c)利用对应的类型专用量化参数量化该第一值,
(d)从该视频流中使用的数据类型中的该种类型的该第一数组中选择第二值;
(e)利用对应的类型专用量化参数从该第一值和该第二值确定一预测值;
(f)利用对应的类型专用量化参数量化该预测值;
(g)把量化的第一值和量化的预测值编码到该视频流中;以及
(h)具体地对该视频流中要编码的所有数组重复步骤(b)-(g)
2.依据权利要求1的方法,还包括把标题信息编码到视频流中的步骤。
3.依据权利要求1的方法,还包括对在步骤(g)和(h)中得到编码的视频流进行译码的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/205,191 | 1998-12-04 | ||
US09/205,191 US6075901A (en) | 1998-12-04 | 1998-12-04 | Method and system for predictive encoding of arrays of data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1329733A CN1329733A (zh) | 2002-01-02 |
CN1124563C true CN1124563C (zh) | 2003-10-15 |
Family
ID=22761183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99814076A Expired - Fee Related CN1124563C (zh) | 1998-12-04 | 1999-11-30 | 数据数组预测编码的方法 |
Country Status (11)
Country | Link |
---|---|
US (1) | US6075901A (zh) |
EP (1) | EP1138012A4 (zh) |
JP (2) | JP3999463B2 (zh) |
KR (1) | KR100458101B1 (zh) |
CN (1) | CN1124563C (zh) |
AU (1) | AU753876B2 (zh) |
BR (1) | BR9915947B1 (zh) |
CA (1) | CA2352292C (zh) |
IL (1) | IL143438A (zh) |
NO (1) | NO20012723L (zh) |
WO (1) | WO2000034912A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001041156A1 (en) * | 1999-12-01 | 2001-06-07 | Ivast, Inc. | Optimized bifs encoder |
US7216288B2 (en) * | 2001-06-27 | 2007-05-08 | International Business Machines Corporation | Dynamic scene description emulation for playback of audio/visual streams on a scene description based playback system |
CN1310192C (zh) | 2001-11-27 | 2007-04-11 | 三星电子株式会社 | 对位置内插器进行编码和译码的方法和装置 |
CN1856105B (zh) * | 2001-11-27 | 2011-08-24 | 三星电子株式会社 | 用于对定向内插器进行编码和译码的方法和装置 |
EP1331824A3 (en) * | 2001-11-27 | 2005-09-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key value data of coordinate interpolator |
JP4205426B2 (ja) | 2001-11-27 | 2009-01-07 | 三星電子株式会社 | 回転インタポレータのキー値データ復号化方法 |
EP1322118B1 (en) * | 2001-11-27 | 2012-11-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key data |
KR100480787B1 (ko) * | 2001-11-27 | 2005-04-07 | 삼성전자주식회사 | 좌표 인터폴레이터의 키 값 데이터 부호화/복호화 방법 및 장치 |
US7026960B2 (en) | 2001-11-27 | 2006-04-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key data |
EP1592253B1 (en) * | 2001-11-27 | 2012-06-27 | Samsung Electronics Co., Ltd. | Generating differentially coded data of quantized coordinate data of vertices of moving objects |
US7733345B2 (en) * | 2001-11-27 | 2010-06-08 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding position interpolator |
US7013803B2 (en) | 2002-02-06 | 2006-03-21 | Quad/Tech, Inc. | Color registration control system for a printing press |
US7253929B2 (en) * | 2002-02-06 | 2007-08-07 | Quad/Tech, Inc. | Camera assembly for a printing press |
US7809204B2 (en) * | 2002-10-18 | 2010-10-05 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key value data of coordinate interpolator |
US20070110151A1 (en) * | 2005-11-14 | 2007-05-17 | Ess Technology, Inc. | System and method for video frame buffer compression |
WO2007067197A1 (en) * | 2005-12-05 | 2007-06-14 | Jeffrey Fischer | Chemical composition and method for detecting counterfeit currency |
KR100738109B1 (ko) * | 2006-04-03 | 2007-07-12 | 삼성전자주식회사 | 입력 신호의 양자화 및 역양자화 방법과 장치, 입력신호의부호화 및 복호화 방법과 장치 |
JP6019215B2 (ja) * | 2012-04-18 | 2016-11-02 | トムソン ライセンシングThomson Licensing | 回転された3次元(3d)コンポーネントのための頂点補正方法及び装置 |
US9866840B2 (en) | 2013-01-10 | 2018-01-09 | Thomson Licensing | Method and apparatus for vertex error correction |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4751742A (en) * | 1985-05-07 | 1988-06-14 | Avelex | Priority coding of transform coefficients |
US5227878A (en) * | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
US5793371A (en) * | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
-
1998
- 1998-12-04 US US09/205,191 patent/US6075901A/en not_active Expired - Lifetime
-
1999
- 1999-11-30 WO PCT/US1999/026032 patent/WO2000034912A1/en active IP Right Grant
- 1999-11-30 AU AU17132/00A patent/AU753876B2/en not_active Ceased
- 1999-11-30 KR KR10-2001-7006856A patent/KR100458101B1/ko not_active IP Right Cessation
- 1999-11-30 JP JP2000587300A patent/JP3999463B2/ja not_active Expired - Fee Related
- 1999-11-30 EP EP99960211A patent/EP1138012A4/en not_active Withdrawn
- 1999-11-30 IL IL14343899A patent/IL143438A/en not_active IP Right Cessation
- 1999-11-30 CN CN99814076A patent/CN1124563C/zh not_active Expired - Fee Related
- 1999-11-30 CA CA002352292A patent/CA2352292C/en not_active Expired - Fee Related
- 1999-11-30 BR BRPI9915947-3A patent/BR9915947B1/pt not_active IP Right Cessation
-
2001
- 2001-06-01 NO NO20012723A patent/NO20012723L/no not_active Application Discontinuation
-
2006
- 2006-11-24 JP JP2006317303A patent/JP4444943B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20010101112A (ko) | 2001-11-14 |
AU1713200A (en) | 2000-06-26 |
IL143438A0 (en) | 2002-04-21 |
BR9915947A (pt) | 2001-08-21 |
JP2007116725A (ja) | 2007-05-10 |
CA2352292C (en) | 2008-01-22 |
CA2352292A1 (en) | 2000-06-15 |
JP4444943B2 (ja) | 2010-03-31 |
EP1138012A4 (en) | 2005-01-19 |
WO2000034912A1 (en) | 2000-06-15 |
AU753876B2 (en) | 2002-10-31 |
CN1329733A (zh) | 2002-01-02 |
JP3999463B2 (ja) | 2007-10-31 |
NO20012723L (no) | 2001-08-01 |
KR100458101B1 (ko) | 2004-11-26 |
JP2002532923A (ja) | 2002-10-02 |
NO20012723D0 (no) | 2001-06-01 |
BR9915947B1 (pt) | 2010-12-14 |
IL143438A (en) | 2005-12-18 |
US6075901A (en) | 2000-06-13 |
EP1138012A1 (en) | 2001-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1124563C (zh) | 数据数组预测编码的方法 | |
EP3861755B1 (en) | Techniques and apparatus for weighted-median prediction for point-cloud attribute coding | |
JPWO2019198523A1 (ja) | 画像処理装置および方法 | |
JPWO2020012967A1 (ja) | 画像処理装置および方法 | |
Quach et al. | Survey on deep learning-based point cloud compression | |
JP2022516847A (ja) | 適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム | |
WO2020237647A1 (zh) | 点云数据的编码方法、编码装置、解码方法与解码装置 | |
TWI534760B (zh) | 空間樹結構對輸入空間點編碼之方法及編碼器,以及空間樹結構位元流之解碼方法及解碼器 | |
JP2022526232A (ja) | 点群圧縮のための方法並びにその、装置およびコンピュータプログラム | |
CN1203454C (zh) | 利用动态原型控制多媒体流的方法 | |
KR20210136082A (ko) | 포인트 클라우드 속성 코딩을 위한 채널간 예측 및 변환을 위한 기술들 및 장치 | |
MX2014000706A (es) | Herencia en una jerarquia de calidad de señal graduada. | |
JP2022531110A (ja) | 点群符号化のための方法および装置 | |
CN1251673A (zh) | 数字化图象编码和解码的方法和装置 | |
US20080043015A1 (en) | Online volume rendering system and method | |
WO2021010200A1 (ja) | 情報処理装置および方法 | |
WO2022145214A1 (ja) | 情報処理装置および方法 | |
CN1875634A (zh) | 编码视频信号的方法 | |
CN1356669A (zh) | 利用线性近似对动画路径进行压缩和重构的方法和装置 | |
JP7342261B2 (ja) | 符号化されたビデオビットストリームを復号化する方法、装置及びコンピュータプログラム | |
WO2021002214A1 (ja) | 情報処理装置および方法 | |
CN1244233C (zh) | 数字化图象的编码和解码的方法和装置 | |
US11606556B2 (en) | Fast patch generation for video based point cloud coding | |
US20230156222A1 (en) | Grid-based patch generation for video-based point cloud coding | |
Yuan et al. | Report on analytical models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
C10 | Entry into substantive examination | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20031015 Termination date: 20141130 |
|
EXPY | Termination of patent right or utility model |