CN1659888A - 用于三维计算机图形压缩的系统和方法 - Google Patents
用于三维计算机图形压缩的系统和方法 Download PDFInfo
- Publication number
- CN1659888A CN1659888A CN03813473XA CN03813473A CN1659888A CN 1659888 A CN1659888 A CN 1659888A CN 03813473X A CN03813473X A CN 03813473XA CN 03813473 A CN03813473 A CN 03813473A CN 1659888 A CN1659888 A CN 1659888A
- Authority
- CN
- China
- Prior art keywords
- data
- processor
- search
- field
- present frame
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000007906 compression Methods 0.000 title claims abstract description 9
- 230000006835 compression Effects 0.000 title claims abstract description 9
- 239000013598 vector Substances 0.000 claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000005498 polishing Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 7
- 238000013144 data compression Methods 0.000 abstract description 10
- 238000009877 rendering Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 7
- 238000005094 computer simulation Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010845 search algorithm Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000011438 cord wood Substances 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Abstract
提供一种用于三维计算机图形压缩的系统和方法。该系统和方法包括在一个图形流水线中根据用以建模对象的视频图形数据而产生对应于所述对象的顶点数据,对所述视频图形数据进行润色以产生象素数据的当前帧和象素数据的参考帧,基于所述顶点数据,定义所述参考帧内的一个搜索区,用于计算所述当前帧内一个象素数据块的运动矢量。然后使用所述运动矢量压缩当前帧。使用图形流水线中的顶点数据来定义搜索区极大地减少了产生运动矢量和执行数据压缩所必需的搜索量。
Description
技术领域
本发明涉及一种用于压缩数据的系统和方法,特别是涉及一种用于压缩由计算机产生的图形数据的系统和方法。
背景技术
视频数据、特别是由计算机产生的视频图形数据(例如,用于计算机游戏的视频图形数据)的准备、存储和传输,需要大量的计算机资源和宽带网络连接。当在一组通过局域网或广域网例如国际互联网连接在一起的个体之间实时传输这些数据时,这种需求尤为严重。例如,当通过互联网玩视频游戏时就会发生这种传输。而且这种玩法正在变得越来越流行。
为了减少传输视频数据所需的网络容量和计算机资源的数量,已使用各种用于数据压缩的编码方案。这些数据压缩方案包括各种版本的MPEG(运动图像专家组)编码标准,例如MPEG-1、MPEG-2和MPEG-4及其它标准。这些数据压缩方案通过消除序列中冗余的和不重要的信息来减少传输和再现运动图像序列所需的图像信息量。
例如,在很多情况下在一个运动图像序列的两个相邻帧之间仅有的差别是某些象素块的轻微移动。大的象素块例如表现天空、墙壁以及其它静止对象的区域,通常在连续帧之间根本不会改变。压缩算法比如MPEG利用该临时冗余来减少为每个帧传输或存储的数据量。
例如,在MPEG标准中,定义了三种类型的帧,即内编码帧(I帧),预测帧(P帧)和双向内插帧(B帧)。如附图1中所示,I帧为B帧和P帧的参考帧并且仅被进行适度地压缩。P帧参照前一个帧被编码。前一个帧既可以是I帧也可以是P帧。B帧参照前一个帧和后一个帧被编码。作为B帧的参考帧也可以是I帧或P帧。B帧不用作参考帧。
为了根据参考帧编码预测帧和内插帧,MPEG方式使用了各种运动估算算法。这些运动估算算法包括全搜索算法,分级搜索算法和伸缩式算法。如附图2中所示,在MPEG标准下,每一个帧典型地被分成多个16×16象素块,称为宏块。当前帧的一个宏块使用一个参考帧通过估算该当前帧中的宏块从参考帧中的块位置所移动的距离来进行编码。该运动估算算法通过对当前帧中的每一个宏块与参考帧的搜索区内的宏块进行比较以找到参考帧中的最匹配块来执行这种估算。例如,对于当前帧207中的宏块201,在参考帧209的搜索区203内、在当前帧的宏块201与参考帧的每一个宏块205之间进行比较以查找参考帧中的最匹配块。然后使用所述参考帧内最匹配的宏块的位置来计算当前帧的宏块201的运动矢量。不是为当前帧207传输与宏块201对应的所有视频数据,而是仅为该块传输运动矢量。用这种方法,当前块的视频数据被压缩了。
然而,执行运动估算算法也需要大量的计算机资源。由于当前帧的每个宏块必须与一个和多个参考帧的多个宏块进行比较,因此需要大量的计算。例如,三步搜索算法(TSS)(一种分级算法)估计在一个搜索区的中心位置和第八周边位置匹配。然后产生最小差别的位置成为下一个搜索区的中心以减少一半搜索区。该顺序重复三次。
因此,需要一种更为高效的用于压缩视频图形数据的有效方法,特别是考虑到能够通过互联网和其它网络实时进行视频游戏的系统的增长要求。
发明内容
数据压缩编码器,例如MPEG编码器,使用相同的压缩视频数据的方法而不管该视频数据的来源。因此,来自数码相机所记录的实况表演中的视频数据和由计算机产生的模拟视频数据都根据相同的数据压缩方式和运动估算算法进行压缩。然而,当视频数据是由计算机产生时,有关对象的特性和运动的信息先于数据的编码和压缩而被识别。与目前的数据压缩编码器不同,本发明利用此信息来减少执行数据压缩所必需的计算步骤。
一方面,本发明提供一种用于压缩视频数据的方法。该方法包括在一个图形流水线中根据用以建模对象的视频图形数据而产生对应于该对象的顶点数据。该方法还包括对视频图形数据进行润色以产生象素数据的当前帧和象素数据的参考帧。该方法还包括基于所述顶点数据,定义所述参考帧内的一个搜索区,用于计算当前帧中的一个象素数据块的运动矢量。
所述对象最好包括可移动对象,并且所述块最好包含可移动对象之一的至少一部分。该方法还最好包括基于与参考帧内的一个可移动对象相对应的顶点的视见区坐标来定义所述搜索区。该搜索区较适宜围绕参考帧内的所述可移动对象,并且其形状为矩形。该方法还较适宜包括基于运动矢量以MPEG格式来压缩当前帧。
所述方法还较适宜包括不依赖顶点数据而定义一个第二搜索区,用于计算当前帧中第二个象素数据块的运动矢量。所述第二个象素数据块不包含任何可移动对象。此外,该方法还较适宜包括在一个图形流水线中对视频图形数据执行几何变换,对照视见约束体来剪辑视频图形数据,将视频图形数据投影到投影平面上并且将所述视频图形数据转换成一个视见区。所述视频图形数据较适宜与视频游戏相关联,并且所述当前帧和参考帧都较适宜通过网络例如互联网进行传输。
另一方面,本发明提供一种用于压缩视频数据的系统,包括:第一处理器,适于在一个图形流水线中根据用以建模对象的视频图形数据产生与所述对象对应的顶点数据,并润色所述视频图形数据以产生象素数据的当前帧和象素数据的参考帧;第二处理器,适于基于所述顶点数据定义所述参考帧内的一个搜索区,用以计算所述当前帧内一个象素数据块的运动矢量。
附图说明
附图1是MPEG压缩方式的I帧,B帧和P帧的示意图。
附图2是根据参考帧来预测当前帧的运动估算算法的搜索步骤的示意图。
附图3是在产生视频图形数据时由计算机系统执行的图形流水线的步骤的示意图。
附图4是根据本发明的运动估算算法的搜索步骤的示意图。
附图5是根据本发明的用于编码视频图形数据的系统方框图。
具体实施方式
附图3是用于产生视频图形数据帧,诸如在视频游戏的计算机模拟过程中所显示的数据帧的图形流水线的示意图。该图形流水线的功能可以用硬件、软件或二者的任意组合来实现。例如,这些功能可以通过编程处理器比如微处理器、硬连接的数字电路、专用集成电路(ASIC)或其它数字电路或软件来执行。这些装置可以实现为一个或多个半导体芯片上的集成电路。所述软件可以存储在ROM、EPROM、EEPROM、磁盘、光盘或任何其它适合的存储介质中。所述硬件和软件可以作为游戏机、服务器计算机、台式计算机、手持式计算机、便携式计算机、机顶盒或其它计算设备的一部分。所述计算机系统可以是一个独立设备或连接到网络比如互联网。
附图3中所示的图形流水线包括图形数据的数据库(未示出),所述图形数据用于在一个称为世界坐标系的笛卡尔坐标系(X,Y,Z)中建模可移动对象和静止对象。可移动对象包括全部或部分字符、车辆、抛射体和其它在计算机模拟时能够移动的对象。静止对象包括全部或部分地形、建筑物和其它在模拟时相对世界坐标系保持在一个固定位置的对象。该可移动的和静止对象的世界为图形流水线提供了从中实现计算机模拟的原始数据。所述建模包括使用一组基本的称为图元的积木式块来表示数据库中的每个对象。这些图元通常包括三角形、正方形和其它多边形。所述数据库包括对应于每个对象的图元的顶点的世界坐标和与每个顶点相关的信息比如明暗、阴影、色彩和纹理。
在基于数据库中的图形数据的计算机视频模拟期间,例如玩一个视频游戏,模拟的编程进展和用户的输入使得在世界坐标系内建模的可移动对象移动,并且使得用户看到的方向和离该对象的距离改变。为了在显示屏上将对象正确地显示给用户,执行图形流水线步骤的计算机系统,在功能块301,对所述对象执行实时几何变换。这些几何变换包括平移、缩放和旋转,而且在多数情况下可以通过乘以两个M矩阵来执行。
平移涉及给一个对象的每个顶点的x,y和z坐标增加一个值。结果,该对象在世界坐标系内被移动而不旋转。缩放涉及改变对象的尺寸而不改变它的位置或方向。对象的尺寸例如可以通过应用一个因子到所述对象的每个顶点以换算这些顶点与预定中心点之间的距离来加以改变。旋转则是围绕一个旋转轴转动该对象的每一个顶点而并不滑动该对象。
在功能块303,所述计算机系统相对一个视见约束体(viewingvolume)对经几何变换的图元进行剪辑。该视见约束体通常是一个六边形的平截面,其左边和右边了定义视图的水平域,顶边和底边定义了视图的垂直域,而其近边和远边则定义了最近的和最远的可视距离。没有在视见约束体内的对象或部分对象被删除。
在功能块305,所述计算机系统将视见约束体内的对象投影到一个二维的投影平面上。该投影平面垂直于观看者所看到的世界坐标系的方向,因此也被称为视平面。这一步骤涉及使用透视法或平行投影技术将该三维对象的每个顶点映射到二维投影平面上。例如,如果x’、y’、z’代表一个变换后的世界坐标系的坐标,其中z’垂直于投影平面,并且x’和y’在该投影平面内,则此步骤涉及对于对象的每一个顶点,以z’的值去除x’和y’的值。通过这样做,所述对象被平伸到投影平面上,使得远的对象看来较小而近的对象看来较大。
在功能块307,所述计算机系统将对象转换到视见区。该视见区是计算机屏幕、电视屏幕或其它用于观看计算机模拟的显示设备(未示出)的物理区域。这一转换涉及在投影平面的x’、y’坐标系与视见区的x”,y”坐标系之间对对象的最后缩放。
作为最后的事情,在功能块309,所述计算机系统执行对象的光栅化和润色以产生象素数据的视频帧。对象的光栅化和润色涉及定义落入每个对象的每个图元中的每条扫描线的第一和最后一个象素,定义这些第一和最后一个象素之间的象素,以及产生所有这些象素的明暗、色彩、阴影、纹理和混合信息。最终的象素数据存储在一个帧缓冲器中(未示出)以供在显示屏上显示视频帧时使用。该最终的象素数据也可以被压缩并存储或通过网络传输给其他的计算机系统进行显示。
作为在附图3的图形流水线中执行的步骤的结果,对应于三维世界坐标系中的每个对象的图元的每个顶点x、y、z被变换成显示屏的二维坐标系的顶点x”、y”,而且与这些图元对应的象素被光栅化和润色。
在图4中示出了本发明用于压缩和传输被光栅化和润色的象素数据的一个实施例。当前帧413和参考帧415是来自计算机模拟的象素数据的两个帧。根据一种数据压缩方式例如MPEG标准将当前帧413基于参考帧415进行压缩。当前帧413和参考帧415内的象素位置通过视见区的x”、y”坐标而被识别。如附图4所示,可移动对象401位于宏块405、407、409和411内当前帧413的右下部。另一方面,在参考帧415中,可移动对象401位于所述帧的左上部。因此,在产生参考帧415和当前帧413之间的时间周期内,作为模拟的结果,对象401从视见区的左上部移动到视见区的右下部。因而,宏块405、407、409和411中的每一块都包含了对象401的一部分,并且在此期间也从视见区的左上部移动到视见区的右下部。
如果利用使用常规方法的运动估算算法来计算宏块405、407、409和41 1的运动矢量,则需要一个围绕当前帧413内这些块的位置的极大搜索区来确定参考帧415内最匹配的块的位置。在如此大的搜索区内执行这种运动估算算法将消耗大量的计算机资源。
然而,根据本发明,参考帧415内的可移动对象401的位置被识别并用作一个基准点,用于将块405、407、409和411的搜索区限制为一个围绕对象401的位置的非常小的区域。在润色当前帧413和参考帧415之前来自图形流水线的对象的图元的顶点数据被用于识别此位置。
如图4所示,对象401的顶点417、419、421和423的视见区坐标定义了包含对象401的参考帧415内的矩形区域425的外边界和顶点。顶点417定义了区域425的最大y”坐标,顶点419定义了区域425的最小x”坐标,顶点421定义了区域425的最小y”坐标,并且顶点423定义了区域425的最大x”坐标。因此,区域423的顶点的视见区坐标为(min x”,max y”),(min x”,min y”),(max x”,min y”)和(max x”,max y”)。
区域425的边界的均匀扩展定义了搜索区403。对于包含了所有或部分对象401的当前帧413的某些宏块,常规的运动估算算法被修改为限制搜索区为搜索区403。因此,对于宏块405、407、409和411,运动估算算法限制其搜索区为区域403。对于不包含可移动对象的当前帧413的宏块,运动估算算法使用围绕当前帧413内宏块的位置的常规搜索区来计算运动矢量。当前帧和参考帧内的可移动对象的身份和位置从与由图形流水线在象素数据的光栅化和润色之前产生的对象相对应的图元的顶点数据中获得。这些顶点数据包括所述对象图元的顶点的世界坐标、所述对象图元的顶点的投影平面坐标以及所述对象图元的顶点的视见区坐标。
图5中示出了根据本发明用于编码和压缩视频图形数据的系统的一个实施例的方框图。图形流水线的功能块301、303、305、307和309与结合图3所论述的是相同的,并且执行相同的功能。视频编码器513可以是MPEG-1编码器、MPEG-2编码器、MPEG-4编码器或其它利用临时冗余的任何数据压缩编码器。
运动估算器511从功能块309接收润色的象素数据的帧,从功能块307接收在这些帧内描绘的可移动对象的顶点的视见区坐标,并且从搜索区检测器509接收当前帧内一个搜索区的视见区坐标。运动估算器511使用该信息来计算每个当前帧的宏块相对于参考帧的运动矢量,并将这些运动矢量传输至视频编码器513,以供压缩当前视频帧时使用。运动估算器511执行一种以如下论述的方式修改的运动估算算法来计算这些运动矢量,例如全搜索算法、分级搜索算法或伸缩式算法。视频编码器513从功能块309接收这些运动矢量和润色的视频帧,并产生压缩后的视频数据的比特流,以通过诸如局域网或广域网例如互联网或其他传输网络进行传输。
运动估算器511检查将要压缩的当前帧的每一个宏块和来自功能块307的可移动对象的顶点的视见区坐标。如果顶点数据指示一个移动对象整体或部分描绘在一个宏块内,则基于来自搜索区检测器509的信息,定义位于该宏块的当前帧内的搜索区。另一方面,如果来自功能块307的顶点数据指示没有移动对象描绘在所述宏块内,则运动估算器511基于常规的方法,将参考帧内的搜索区定义为围绕当前帧内的宏块的位置的一个区域。
搜索区检测器509分别从功能块301、功能块305和功能块307接收在用于产生视频模拟的图形数据的数据库内建模的所有对象的顶点的变换后的三维世界坐标、这些对象的二维投影平面坐标和这些对象的二维视见区坐标。使用这些数据,搜索区检测器509如上所述产生一个围绕每个可移动对象的适当搜索区的顶点的视见区坐标。
搜索区检测器509、运动估算器511和视频编码器513可以用硬件、软件或两者的任意组合来实现。例如,搜索区检测器509、运动估算器511和视频编码器513可以通过编程处理器比如微处理器、硬连接数字电路、专用集成电路(ASIC)或其它数字电路或软件来实现。这些装置可以作为一个或多个半导体芯片上的集成电路来实现。所述软件可以存储在ROM、EPROM、EEPROM、磁盘、光盘或任何其它适合的存储介质中。所述硬件和软件可以作为游戏机、服务器计算机、台式计算机、手持式计算机、便携式计算机、机顶盒或其它计算设备的一部分。所述计算机系统可以是一个独立设备或连接到网络比如互联网。
上述优选实施例包括在本发明的精神和范围之内的各种变化和组合。因此,该优选实施例的描述应当理解为对本发明的举例说明而不是限制。本发明的范围通过下面的权利要求书来说明。
Claims (59)
1.一种用于压缩视频数据的方法,包括:
在一个图形流水线中,根据用以建模对象的视频图形数据产生对应于所述对象的顶点数据;
对所述视频图形数据进行润色以产生象素数据的当前帧和象素数据的参考帧;
基于所述顶点数据,定义所述参考帧内的一个搜索区,用以计算所述当前帧内一个象素数据块的运动矢量。
2.如权利要求1所述的方法,其中所述对象包括可移动对象。
3.如权利要求2所述的方法,其中所述块包含所述可移动对象之一的至少一部分。
4.如权利要求3所述的方法,进一步包括基于与所述参考帧内的所述可移动对象相对应的顶点的视见区坐标来定义所述搜索区。
5.如权利要求3所述的方法,其中所述搜索区围绕所述参考帧内的所述一个可移动对象。
6.如权利要求5所述的方法,其中所述搜索区形状为矩形。
7.如权利要求1所述的方法,进一步包括基于所述运动矢量压缩所述当前帧。
8.如权利要求7所述的方法,其中所述压缩包括根据MPEG格式来压缩所述当前帧。
9.如权利要求2所述的方法,进一步包括不依赖所述顶点数据地定义一个第二搜索区,用于计算所述当前帧内的第二象素数据块的运动矢量,所述第二象素数据块不包含任何所述可移动对象。
10.如权利要求1所述的方法,其中在所述图形流水线中进一步包括对所述视频图形数据执行几何变换,相对于视见约束体来剪辑所述视频图形数据,将所述视频图形数据投影到一个投影平面上,并且将所述视频图形数据转换成一个视见区。
11.如权利要求1所述的方法,其中所述视频图形数据与视频游戏相关联。
12.如权利要求1所述的方法,进一步包括通过网络传输所述当前帧和所述参考帧。
13.如权利要求12所述的方法,其中所述网络包括互联网。
14.一种用于压缩视频数据的系统,包括:
用于在一个图形流水线中根据用以建模对象的视频图形数据而产生与所述对象对应的顶点数据的装置;
用于润色所述视频图形数据以产生象素数据的当前帧和象素数据的参考帧的装置;
基于所述顶点数据,用于定义所述参考帧内的一个搜索区以计算所述当前帧内一个象素数据块的运动矢量的装置。
15.如权利要求14所述的系统,其中所述对象包括可移动对象。
16.如权利要求15所述的系统,其中所述块包含所述可移动对象之一的至少一部分。
17.如权利要求16所述的系统,进一步包括用于基于与所述参考帧内的所述可移动对象相对应的顶点的视见区坐标来定义所述搜索区的装置。
18.如权利要求16所述的系统,其中所述搜索区围绕所述参考帧内的所述一个可移动对象。
19.如权利要求18所述的系统,其中所述搜索区形状为矩形。
20.如权利要求14所述的系统,进一步包括用于基于所述运动矢量压缩所述当前帧的装置。
21.如权利要求20所述的系统,其中所述用于压缩的装置包括用于根据MPEG格式来压缩所述当前帧的装置。
22.如权利要求15所述的系统,进一步包括用于不依赖所述顶点数据地定义一个第二搜索区的装置,该第二搜索区用于计算所述当前帧内的第二象素数据块的运动矢量,所述第二象素数据块不包含任何所述的可移动对象。
23.如权利要求14所述的系统,其中,在所述图形流水线中进一步包括用于对所述视频图形数据执行几何变换的装置,用于相对于视见约束体来剪辑所述视频图形数据的装置,用于将所述视频图形数据投影到一个投影平面上的装置,以及用于将所述视频图形数据转换成一个视见区的装置。
24.如权利要求14所述的系统,其中所述视频图形数据与视频游戏相关联。
25.如权利要求14所述的系统,进一步包括用于通过网络传输所述当前帧和所述参考帧的装置。
26.如权利要求25所述的系统,其中所述网络包括互联网。
27.一种用于压缩视频数据的系统,包括:
第一处理器,适于在一个图形流水线中根据用以建模对象的视频图形数据产生与所述对象对应的顶点数据,并润色所述视频图形数据以产生象素数据的当前帧和象素数据的参考帧;
第二处理器,适于基于所述顶点数据定义所述参考帧内的一个搜索区,用以计算所述当前帧内一个象素数据块的运动矢量。
28.如权利要求27所述的系统,其中所述对象包括可移动对象。
29.如权利要求28所述的系统,其中所述块包含所述可移动对象之一的至少一部分。
30.如权利要求29所述的系统,其中所述第二处理器还适于基于与所述参考帧内的所述可移动对象相对应的顶点的视见区坐标来定义所述搜索区。
31.如权利要求29所述的系统,其中所述搜索区围绕所述参考帧内的所述一个可移动对象。
32.如权利要求31所述的系统,其中所述搜索区形状为矩形。
33.如权利要求27所述的系统,其中所述第二处理器还适于基于所述运动矢量压缩所述当前帧。
34.如权利要求33所述的系统,其中所述第二处理器还适于根据MPEG格式来压缩所述当前帧。
35.如权利要求28所述的系统,其中所述第二处理器还适于不依赖所述顶点数据地定义一个第二搜索区,该第二搜索区用于计算所述当前帧内的第二象素数据块的运动矢量,所述第二象素数据块不包含任何所述的可移动对象。
36.如权利要求27所述的系统,其中所述第一处理器还适于在所述图形流水线中对所述视频图形数据执行几何变换,相对于视见约束体来剪辑所述视频图形数据,将所述视频图形数据投影到一个投影平面上,以及将所述视频图形数据转换成一个视见区。
37.如权利要求27所述的系统,其中所述视频图形数据与视频游戏相关联。
38.如权利要求27所述的系统,其中所述第二处理器还适于通过网络传输所述当前帧和所述参考帧。
39.如权利要求38所述的系统,其中所述网络包括互联网。
40.如权利要求27所述的系统,其中所述第一处理器和所述第二处理器包括用于执行存储在一存储介质中的软件的编程处理器。
41.如权利要求27所述的系统,其中所述第一处理器和所述第二处理器包括专用集成电路。
42.如权利要求27所述的系统,其中所述第一处理器和所述第二处理器被插入到一个游戏机中。
43.如权利要求27所述的系统,其中所述第二处理器包括一个MPEG编码器。
44.如权利要求43所述的系统,其中所述第一处理器包括一个用以执行存储在一存储介质中的软件的编程处理器。
45.一种用于压缩视频数据的系统,包括:
一个处理器,适于从一个图形流水线接收与由所述图形流水线进行润色的对象相对应的象素数据的当前帧、象素数据的参考帧以及顶点数据,所述处理器还适于基于所述顶点数据,定义所述参考帧内的一个搜索区,以计算所述当前帧内一个象素数据块的运动矢量并基于所述运动矢量压缩所述当前帧。
46.如权利要求45所述的系统,其中所述对象包括可移动对象。
47.如权利要求46所述的系统,其中所述块包含所述可移动对象之一的至少一部分。
48.如权利要求47所述的系统,其中所述处理器还适于基于与所述参考帧内的所述可移动对象相对应的顶点的视见区坐标来定义所述搜索区。
49.如权利要求47所述的系统,其中所述搜索区围绕所述参考帧内的所述一个可移动对象。
50.如权利要求49所述的系统,其中所述搜索区形状为矩形。
51.如权利要求45所述的系统,其中所述处理器还适于根据MPEG格式来压缩所述当前帧。
52.如权利要求46所述的系统,其中所述处理器还适于不依赖所述顶点数据地定义一个第二搜索区,该第二搜索区用于计算所述当前帧内的第二象素数据块的运动矢量,所述第二象素数据块不包含任何所述的可移动对象。
53.如权利要求45所述的系统,其中所述视频图形数据与视频游戏相关联。
54.如权利要求45所述的系统,其中所述处理器还适于通过网络传输所述当前帧和所述参考帧。
55.如权利要求54所述的系统,其中所述网络包括互联网。
56.如权利要求45所述的系统,其中所述处理器包括一个用以执行存储在一存储介质中的软件的编程处理器。
57.如权利要求45所述的系统,其中所述处理器包括一专用集成电路。
58.如权利要求45所述的系统,其中所述处理器被插入到一个游戏机中。
59.如权利要求45所述的系统,其中所述处理器包括一个MPEG编码器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/167,328 US7038676B2 (en) | 2002-06-11 | 2002-06-11 | System and method for data compression |
US10/167,328 | 2002-06-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1659888A true CN1659888A (zh) | 2005-08-24 |
CN100581250C CN100581250C (zh) | 2010-01-13 |
Family
ID=29710869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN03813473A Expired - Lifetime CN100581250C (zh) | 2002-06-11 | 2003-04-25 | 用于三维计算机图形压缩的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7038676B2 (zh) |
EP (2) | EP1495641B8 (zh) |
JP (1) | JP2005523541A (zh) |
KR (1) | KR100938964B1 (zh) |
CN (1) | CN100581250C (zh) |
AU (1) | AU2003222458A1 (zh) |
WO (1) | WO2003105482A1 (zh) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999019840A1 (en) * | 1997-10-15 | 1999-04-22 | Electric Planet, Inc. | A system and method for generating an animatable character |
JP4409956B2 (ja) | 2002-03-01 | 2010-02-03 | ティーファイヴ ラブズ リミテッド | 集中型対話グラフィカルアプリケーションサーバ |
US20040165776A1 (en) * | 2002-09-20 | 2004-08-26 | Albert-Jan Brouwer | Means of matching 2D motion vector fields in a render, match, and refine iterative 3D scene model refinement system so as to attain directed hierarchical convergence and insensitivity to color, lighting, and textures |
US9108107B2 (en) | 2002-12-10 | 2015-08-18 | Sony Computer Entertainment America Llc | Hosting and broadcasting virtual events using streaming interactive video |
US8526490B2 (en) | 2002-12-10 | 2013-09-03 | Ol2, Inc. | System and method for video compression using feedback including data related to the successful receipt of video content |
US8711923B2 (en) | 2002-12-10 | 2014-04-29 | Ol2, Inc. | System and method for selecting a video encoding format based on feedback data |
US10201760B2 (en) | 2002-12-10 | 2019-02-12 | Sony Interactive Entertainment America Llc | System and method for compressing video based on detected intraframe motion |
US9192859B2 (en) | 2002-12-10 | 2015-11-24 | Sony Computer Entertainment America Llc | System and method for compressing video based on latency measurements and other feedback |
US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US9446305B2 (en) | 2002-12-10 | 2016-09-20 | Sony Interactive Entertainment America Llc | System and method for improving the graphics performance of hosted applications |
US20090118019A1 (en) | 2002-12-10 | 2009-05-07 | Onlive, Inc. | System for streaming databases serving real-time applications used through streaming interactive video |
US9314691B2 (en) | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
US8549574B2 (en) * | 2002-12-10 | 2013-10-01 | Ol2, Inc. | Method of combining linear content and interactive content compressed together as streaming interactive video |
US8964830B2 (en) | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
US9077991B2 (en) | 2002-12-10 | 2015-07-07 | Sony Computer Entertainment America Llc | System and method for utilizing forward error correction with video compression |
US9061207B2 (en) | 2002-12-10 | 2015-06-23 | Sony Computer Entertainment America Llc | Temporary decoder apparatus and method |
US8366552B2 (en) | 2002-12-10 | 2013-02-05 | Ol2, Inc. | System and method for multi-stream video compression |
KR100508975B1 (ko) * | 2003-05-20 | 2005-08-17 | 주식회사 팬택 | 다층 레벨 연속 제거 알고리즘을 이용한 동영상 움직임추정 방법 |
EP1496704B1 (en) * | 2003-07-07 | 2009-01-21 | STMicroelectronics S.r.l. | Graphic system comprising a pipelined graphic engine, pipelining method and computer program product |
ATE393439T1 (de) | 2004-05-03 | 2008-05-15 | Nxp Bv | Grafik-pipeline zur wiedergabe von grafiken |
US8001294B2 (en) * | 2004-09-28 | 2011-08-16 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a compressed network in a multi-processing system |
US20060230428A1 (en) * | 2005-04-11 | 2006-10-12 | Rob Craig | Multi-player video game system |
US8284842B2 (en) * | 2005-07-08 | 2012-10-09 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks and a reference grid |
WO2007008356A1 (en) * | 2005-07-08 | 2007-01-18 | Tag Networks, Inc. | Video game system using pre-encoded macro-blocks |
US9060101B2 (en) * | 2005-07-08 | 2015-06-16 | Activevideo Networks, Inc. | Video game system having an infinite playing field |
US9061206B2 (en) * | 2005-07-08 | 2015-06-23 | Activevideo Networks, Inc. | Video game system using pre-generated motion vectors |
US8118676B2 (en) * | 2005-07-08 | 2012-02-21 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks |
US8270439B2 (en) * | 2005-07-08 | 2012-09-18 | Activevideo Networks, Inc. | Video game system using pre-encoded digital audio mixing |
US8074248B2 (en) | 2005-07-26 | 2011-12-06 | Activevideo Networks, Inc. | System and method for providing video content associated with a source image to a television in a communication network |
US8069466B2 (en) * | 2005-08-04 | 2011-11-29 | Nds Limited | Advanced digital TV system |
KR100657402B1 (ko) | 2006-04-19 | 2006-12-14 | (주)디지탈아리아 | 유체동역학을 이용하여 이동통신 단말기의 사용자인터페이스용 이펙트를 구현하는 방법 |
US8888592B1 (en) | 2009-06-01 | 2014-11-18 | Sony Computer Entertainment America Llc | Voice overlay |
EP2632164A3 (en) | 2007-01-12 | 2014-02-26 | ActiveVideo Networks, Inc. | Interactive encoded content system including object models for viewing on a remote device |
US9826197B2 (en) | 2007-01-12 | 2017-11-21 | Activevideo Networks, Inc. | Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device |
KR100919236B1 (ko) * | 2007-05-22 | 2009-09-30 | 한국전자통신연구원 | 병렬 프로세서를 이용한 3차원 그래픽 기하 변환 방법 |
US9168457B2 (en) | 2010-09-14 | 2015-10-27 | Sony Computer Entertainment America Llc | System and method for retaining system state |
US8968087B1 (en) | 2009-06-01 | 2015-03-03 | Sony Computer Entertainment America Llc | Video game overlay |
US8147339B1 (en) | 2007-12-15 | 2012-04-03 | Gaikai Inc. | Systems and methods of serving game video |
US8613673B2 (en) | 2008-12-15 | 2013-12-24 | Sony Computer Entertainment America Llc | Intelligent game loading |
US8503527B2 (en) | 2008-10-03 | 2013-08-06 | Qualcomm Incorporated | Video coding with large macroblocks |
JP5517436B2 (ja) * | 2008-10-31 | 2014-06-11 | キヤノン株式会社 | 動きベクトル検出装置及びプログラム |
US8926435B2 (en) | 2008-12-15 | 2015-01-06 | Sony Computer Entertainment America Llc | Dual-mode program execution |
US9723319B1 (en) | 2009-06-01 | 2017-08-01 | Sony Interactive Entertainment America Llc | Differentiation for achieving buffered decoding and bufferless decoding |
US8194862B2 (en) * | 2009-07-31 | 2012-06-05 | Activevideo Networks, Inc. | Video game system with mixing of independent pre-encoded digital audio bitstreams |
EP2384001A1 (en) * | 2010-04-29 | 2011-11-02 | Alcatel Lucent | Providing of encoded video applications in a network environment |
US8560331B1 (en) | 2010-08-02 | 2013-10-15 | Sony Computer Entertainment America Llc | Audio acceleration |
US20120050315A1 (en) * | 2010-08-24 | 2012-03-01 | Janos Stone | Systems and methods for transforming and/or generating a tangible physical structure based on user input information |
KR102126910B1 (ko) | 2010-09-13 | 2020-06-25 | 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 | 부가기능의 관리 |
KR101956639B1 (ko) | 2010-09-13 | 2019-03-11 | 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 | 비디오 서버 및 게임 서버를 포함하는 컴퓨터 게임 시스템에서 컴퓨터 게임을 제공하는 방법 및 시스템 |
AU2011315950B2 (en) | 2010-10-14 | 2015-09-03 | Activevideo Networks, Inc. | Streaming digital video between video devices using a cable television system |
WO2012078640A2 (en) * | 2010-12-06 | 2012-06-14 | The Regents Of The University Of California | Rendering and encoding adaptation to address computation and network bandwidth constraints |
EP2695388B1 (en) | 2011-04-07 | 2017-06-07 | ActiveVideo Networks, Inc. | Reduction of latency in video distribution networks using adaptive bit rates |
US8913664B2 (en) * | 2011-09-16 | 2014-12-16 | Sony Computer Entertainment Inc. | Three-dimensional motion mapping for cloud gaming |
WO2013106390A1 (en) | 2012-01-09 | 2013-07-18 | Activevideo Networks, Inc. | Rendering of an interactive lean-backward user interface on a television |
US9800945B2 (en) | 2012-04-03 | 2017-10-24 | Activevideo Networks, Inc. | Class-based intelligent multiplexing over unmanaged networks |
US9123084B2 (en) | 2012-04-12 | 2015-09-01 | Activevideo Networks, Inc. | Graphical application integration with MPEG objects |
WO2014145921A1 (en) | 2013-03-15 | 2014-09-18 | Activevideo Networks, Inc. | A multiple-mode system and method for providing user selectable video content |
US9219922B2 (en) | 2013-06-06 | 2015-12-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US9294785B2 (en) | 2013-06-06 | 2016-03-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US9326047B2 (en) | 2013-06-06 | 2016-04-26 | Activevideo Networks, Inc. | Overlay rendering of user interface onto source video |
US9788029B2 (en) | 2014-04-25 | 2017-10-10 | Activevideo Networks, Inc. | Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks |
US9769494B2 (en) * | 2014-08-01 | 2017-09-19 | Ati Technologies Ulc | Adaptive search window positioning for video encoding |
US10147226B1 (en) * | 2016-03-08 | 2018-12-04 | Pixelworks, Inc. | 2D motion vectors from 3D model data |
US10602174B2 (en) | 2016-08-04 | 2020-03-24 | Intel Corporation | Lossless pixel compression for random video memory access |
US10715818B2 (en) * | 2016-08-04 | 2020-07-14 | Intel Corporation | Techniques for hardware video encoding |
EP3301643A1 (en) * | 2016-09-30 | 2018-04-04 | Thomson Licensing | Method and apparatus for rectified motion compensation for omnidirectional videos |
US10291925B2 (en) | 2017-07-28 | 2019-05-14 | Intel Corporation | Techniques for hardware video encoding |
US10834413B2 (en) * | 2018-08-24 | 2020-11-10 | Disney Enterprises, Inc. | Fast and accurate block matching for computer generated content |
US11025913B2 (en) | 2019-03-01 | 2021-06-01 | Intel Corporation | Encoding video using palette prediction and intra-block copy |
US10855983B2 (en) | 2019-06-13 | 2020-12-01 | Intel Corporation | Encoding video using two-stage intra search |
CN112203095B (zh) * | 2020-12-04 | 2021-03-09 | 腾讯科技(深圳)有限公司 | 视频运动估计方法、装置、设备及计算机可读存储介质 |
CN113010281B (zh) * | 2021-02-24 | 2024-04-02 | 厦门树冠科技有限公司 | 多相机检测系统的线程处理方法、装置、存储介质和终端 |
CN115463419A (zh) * | 2021-06-11 | 2022-12-13 | 荣耀终端有限公司 | 图像的预测方法、电子设备和存储介质 |
US20230004533A1 (en) * | 2021-07-01 | 2023-01-05 | Microsoft Technology Licensing, Llc | Hybrid intermediate stream format |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970002967B1 (ko) * | 1993-04-09 | 1997-03-13 | 대우전자 주식회사 | 영역 분류패턴을 이용한 움직임벡터 검출장치 |
CA2144253C (en) | 1994-04-01 | 1999-09-21 | Bruce F. Naylor | System and method of generating compressed video graphics images |
KR0126871B1 (ko) | 1994-07-30 | 1997-12-29 | 심상철 | 양방향 이동벡터 추정을 위한 고속 블럭정합 방식 |
JP3287977B2 (ja) | 1995-04-28 | 2002-06-04 | 松下電器産業株式会社 | 動きベクトル検出方法および装置と動画像符号化方法および装置 |
US5896176A (en) * | 1995-10-27 | 1999-04-20 | Texas Instruments Incorporated | Content-based video compression |
JP2000102007A (ja) * | 1998-09-28 | 2000-04-07 | Matsushita Electric Ind Co Ltd | マルチメディア情報合成装置、及び圧縮映像信号生成装置 |
KR100415266B1 (ko) * | 2000-05-11 | 2004-01-16 | 가부시끼가이샤 도시바 | 물체영역정보 기술방법과 물체영역정보 생성장치 및 기록매체 |
CN1156168C (zh) * | 2001-01-12 | 2004-06-30 | 北京航空航天大学 | 快速视频运动估计方法 |
-
2002
- 2002-06-11 US US10/167,328 patent/US7038676B2/en not_active Expired - Lifetime
-
2003
- 2003-04-25 AU AU2003222458A patent/AU2003222458A1/en not_active Abandoned
- 2003-04-25 CN CN03813473A patent/CN100581250C/zh not_active Expired - Lifetime
- 2003-04-25 JP JP2004512413A patent/JP2005523541A/ja active Pending
- 2003-04-25 EP EP03717726.8A patent/EP1495641B8/en not_active Expired - Lifetime
- 2003-04-25 WO PCT/JP2003/005294 patent/WO2003105482A1/en active Application Filing
- 2003-04-25 EP EP16155839.0A patent/EP3043320B1/en not_active Expired - Lifetime
- 2003-04-25 KR KR1020047017558A patent/KR100938964B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
AU2003222458A1 (en) | 2003-12-22 |
KR100938964B1 (ko) | 2010-01-26 |
US20030229719A1 (en) | 2003-12-11 |
EP1495641A1 (en) | 2005-01-12 |
US7038676B2 (en) | 2006-05-02 |
WO2003105482A1 (en) | 2003-12-18 |
EP1495641B1 (en) | 2016-05-11 |
EP3043320A1 (en) | 2016-07-13 |
EP1495641B8 (en) | 2016-09-14 |
JP2005523541A (ja) | 2005-08-04 |
CN100581250C (zh) | 2010-01-13 |
KR20050009993A (ko) | 2005-01-26 |
EP3043320B1 (en) | 2021-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100581250C (zh) | 用于三维计算机图形压缩的系统和方法 | |
US12100183B2 (en) | Point cloud attribute transfer algorithm | |
US6501796B1 (en) | Method and device for video compression | |
Briceño Pulido | Geometry videos: a new representation for 3D animations | |
CN107409233B (zh) | 图像处理装置和图像处理方法 | |
KR100361398B1 (ko) | 압축비디오그래픽영상을생성하는시스템및방법,그리고이를사용한중앙집중식대화형그래픽시스템 | |
JP4384813B2 (ja) | 時間依存ジオメトリの圧縮 | |
US8331435B2 (en) | Compression system, program and method | |
JP4399393B2 (ja) | 3次元生成シーンにおける回転および垂線の符号化方法およびシステム | |
JP2002506585A (ja) | マスクおよび丸め平均値を使用したオブジェクトベースの符号化システムのためのスプライト生成に関する方法 | |
US6687411B1 (en) | Image coding/decoding method and recording medium having program for this method recorded thereon | |
US20210211703A1 (en) | Geometry information signaling for occluded points in an occupancy map video | |
JP2022519462A (ja) | ホモグラフィ変換を使用した点群符号化 | |
JP2001186516A (ja) | 画像データの符号化復号化方法及び装置 | |
Tong et al. | Interactive rendering from compressed light fields | |
JP2002369205A (ja) | 動画像生成装置 | |
Magnor | Geometry adaptive multi-view coding techniques for image based rendering | |
US11854112B1 (en) | Compression of attribute values comprising unit vectors | |
Cui et al. | Palette-based color attribute compression for point cloud data | |
US11915373B1 (en) | Attribute value compression for a three-dimensional mesh using geometry information to guide prediction | |
WO2003045045A2 (en) | Encoding of geometric modeled images | |
TW202338738A (zh) | 視訊信號及其處理 | |
CN117157671A (zh) | 用于编码及解码3d点云的方法、编码器及解码器 | |
MXPA99004805A (en) | Method and device for video compression | |
Chiueh | Zodiac2: An Authoring Tool for Active Video Content |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20100113 |
|
CX01 | Expiry of patent term |