CN1537384A - 用于子像素值内插的方法 - Google Patents
用于子像素值内插的方法 Download PDFInfo
- Publication number
- CN1537384A CN1537384A CNA028150856A CN02815085A CN1537384A CN 1537384 A CN1537384 A CN 1537384A CN A028150856 A CNA028150856 A CN A028150856A CN 02815085 A CN02815085 A CN 02815085A CN 1537384 A CN1537384 A CN 1537384A
- Authority
- CN
- China
- Prior art keywords
- pixel
- sub
- value
- unit
- upright position
- 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 139
- 238000004891 communication Methods 0.000 claims description 78
- 230000008569 process Effects 0.000 claims description 18
- 238000010295 mobile communication Methods 0.000 claims description 16
- 230000033001 locomotion Effects 0.000 description 117
- 239000013598 vector Substances 0.000 description 66
- 230000014509 gene expression Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000012360 testing method Methods 0.000 description 13
- 238000013459 approach Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000008878 coupling Effects 0.000 description 9
- 238000010168 coupling process Methods 0.000 description 9
- 238000005859 coupling reaction Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 8
- 238000011002 quantification Methods 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- 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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Television Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
一种在视频编码中的内插方法,其中的一个图像包括以行和列排列并且由具有指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该图像被内插来产生用于在部分水平和垂直位置的子像素的值,该方法包括步骤:a)当需要半单位水平和单位垂直位置、以及单位水平和半单位垂直位置的子像素的值时,直接使用处在单位水平和单位垂直位置的像素加权取和内插这些值;b)当需要在半单位水平和半单位垂直位置的子像素时,直接使用根据步骤(a)计算的用于在半单位水平和单位垂直位置的子像素的值的一个加权取和内插这些值;以及c)当需要在四分之一单位水平和四分之一单位垂直位置的子像素的值时,通过取得一个第一对儿像素的值和一个第二对儿像素的值的至少一对儿的平均值内插这种值,该第一对儿像素是处在半单位水平和单位垂直位置的一个子像素以及处在单位水平和半单位垂直位置的一个子像素,而该第二对儿像素是处在一个单位水平和单位垂直位置的一个像素以及处在半单位水平和半单位垂直位置的一个子像素。
Description
本发明涉及用于在数据的编码和解码过程中进行子像素值内插的方法。尤其涉及但不仅限于数字视频信号的编码和解码。
发明背景
象记录在胶片上的普通运动画面一样,数字视频序列包括一个静止图像序列,通过以相当快的帧速率,通常是15至30帧/秒,相继显示该图像而产生运动的视觉。由于是相当快的帧速率,连续帧中的图像趋于相当类似而因此包含可观的冗余信息量。例如,一个典型场景可以包括某些静止成分,例如背景和某些运动区域,其运动区域可以有许多不同形式,例如新闻广播员的面部、移动的车辆等。另外,记录该场景的摄像机本身可以是移动着的,在此情况中的全部图像成分都具有相同类型的运动。在多数情况下,这意味着在一个视频帧和随后的视频帧之间的总变化是相当小的。当然,这取决于该运动的性质。例如,移动越快,从一帧至下一帧的变化就越大。类似地,如果一个场景包含若干移动成分,则从一帧至下一帧的变化将会大于只有一个成分在移动的场景中的变化。
应该理解,一个未经处理的,即未压缩的数字视频序列的每一个帧都包括非常大量的图像信息。从图像像素的一个阵列形成一个未压缩的数字视频序列的每一帧。例如,在一个称之为四分之一通用中间格式(QCIF)的一个通用数字视频格式中,一帧包括176×144像素的一个阵列,其中每一帧有25344个像素。每一个像素又由一个确定比特数表示,其携带着对应于该像素的图像区域的有关亮度和/或颜色内容的信息。通常,使用所谓的YUV彩色模式来表示图像的亮度和彩色内容。亮度,即Y成分表示图像的光强(亮度),而图像的彩色内容由标记为U和V的两个色度分量表示。
与基于包括基色(即红、绿、蓝,RGB)的显示的彩色模式相比,基于图像信息内容的亮度/色度显示的彩色模式提供了某些优点。人的视觉系统对于光强变化比彩色变化更敏感;通过使用比亮度分量(Y)低的用于色度分量(U,V)空间清晰度,YUV彩色模式利用了特性。以此方式,能够以图像质量的一个可接受的降低来编码一个图像中的彩色信息所需要的信息量。
通常是通过子取样来达到色度分量的较低的空间清晰度。通常,16×16图像像素的一个数据块由包括亮度信息的16×16像素的一个数据块一个数据块和相应的色度分量来表示,该相应的色度分量的每一个由表示等于该亮度分量的16×16像素的图像的一个区域的8×8像素的一个数据块表示。该色度分量是在x和y方向上由因素2实现的空间子取样。一个16×16像素亮度数据块和两个8×8像素彩色色度数据块的结果组合通常称作一个YUV宏数据块,简称宏数据块。
AQCIF图像包括11×9个宏数据块。如果该亮度数据块和色度数据块以8比特清晰度表示(即以0到255范围中的数字表示),则每个宏数据块所需比特的总数是(16×16×8)+2×(8×8×8)=3072比特。表示QCIF格式中的一个视频帧需要的比特数是99×3072=304,128比特。
这意味着,为了以30帧/秒的速率发送/记录/显示QCIF格式的一个视频序列所需要的数据量将大于9Mbps(百万比特/秒)。这是一个很高的数据速率,对于视频记录、传送和显示应用来说是不实用的,因为这将需要很大的存储容量、传输信道容量和硬件性能。
如果经一个例如ISDN(综合业务数字网)或一般PSTN(公共事业电话网络)的固定用户线接续网络实时发送视频数据,则可用的数据传输带宽通常是约为64k比特/秒。在移动可视电话中,其中发送至少部分地经无线电通讯链路进行,则该可用频带能够低到20k比特/秒。这意味着必须实现以显著降低的信息量表示视频数据,以便实现经低带宽的通信网络发送数字视频序列。为此原因,已经开发了视频压缩技术,其在保持一个可接受的图像质量的同时降低发送的信息量。
视频压缩方法是基于降低冗余和视频序列的感觉无关部分。视频序列中的冗余可以分类为空间、时间和频谱的冗余。空间冗余用于描述在一个帧中的相邻像素之间的相关性。时间冗余表示的事实是出现在一个序列的一帧中的目标可能出现在随后帧中,而频谱冗余则表示同一个图像的不同彩色成分之间的相互关系。
通过简单地降低一个给定图像顺序中的各种冗余形式通常不能实现足够有效的压缩。因此,最流行的视频编码器也会降低其主观上最少重要性的视频序列部分的质量。另外,已压缩视频比特数据流的冗余被利用高效低损失编码而自行降低。通常,这是使用称之为可变长度码(VLC)的一种技术实现的。
现代的视频压缩标准,例如ITU-T推荐H.261、H.263(+)(++)、H.26L和运动图像专家组推荐MPEG-4,利用的是运动补偿的时间预测。这是时间冗余降低的一种形式,其中通过跟踪帧之间一个图像的目标或区域的运动,从该序列的其它帧中预测一个图像序列中的某些(时常是许多)帧的内容。
不利用时间冗余降低的压缩图像通常称为帧内编码,即I帧,而时间预测的图像被称之为帧间编码,即P帧。在帧间的情况下预测的(运动补偿的)图像很少足够精确表示具有足够质量的图像内容,因此空间压缩的预测误差(PE)帧也与每一个中间帧相关。许多视频压缩方案还可以利用双向预测帧,通常被称作B图像或B帧。B图像被插入在基准图像对儿,即所谓的‘定位’图像对儿(I即或P帧)之间,并且从该定位图像的一个或者两者中预测。B图像本身不被用作定位图像,即不从它们预测其它帧,因此它们能够被从该视频序列放弃,而不引起未来图像质量的降低。
出现在通常压缩视频序列中的不同类型的帧在附图3中示出。如从该图中所见,序列以一个内帧,即I帧30开始。图3的箭头33表示形成P帧(标记34)的‘正向’预测处理。由箭头31a和31b分别表示形成B帧(36)的双方向的预测处理。
图1和2示出使用运动补偿的预测一个实例视频编码系统的示意图。图1示出一个采用运动补偿的编码器10,而图2示出对应的解码器20。图1示出的编码器10包括一个运动场估计框11、一个运动场编码框12、一个运动补偿的预测框13、一个预测误差编码框14、一个预测误差解码框15、一个复用器框16、一个帧存储器17和一个加法器19。解码器20包括一个运动补偿的预测框21、一个预测误差解码框22、一个多路分解器框23和一个帧存储器24。
使用运动补偿的视频编码的操作原理是减小一个预测误差帧En(x,y)中的信息量,该信息量是被编码的当前帧In(x,y)和预测帧Pn(x,y)之间的差值。因此该预测误差帧是:
En(x,y)=In(x,y)-Pn(x,y). (1)
使用一个基准帧Rn(x,y)的像素值建立预测帧Pn(x,y),该基准帧一般是预先编码编码发送的帧之一,例如是紧接该当前帧之前并且可从编码器10的帧存储器17得到的帧。更具体地说,通过在实质上对应于当前帧中的像素的基准帧Rn(x,y)中寻找所谓的‘预测像素’来构成该预测帧Pn(x,y)。得到描述在当前帧中的像素和基准帧中的对应预测像素之间的关系(例如相关位置、转动、定标等)的运动信息,而且通过根据该运动信息而移动该预测像素来构成该预测帧。以此方式,使用基准帧中的像素值来构成该预测帧作为当前帧的一个近似表示。因此,上面提到的预测误差帧表示在该由预测帧提供的该当前帧的近似表示和该当前帧本身之间的差值。从当前帧的一个相当简洁的描述能够通过以形成当前帧所要求的运动信息连同在该预测误差帧中的相关预测误差信息一起来表示的事实,得出使用运动补偿预测的视频编码器所提供的基本优点。
但是,由于一帧中的像素数很大,通用把针对每一像素的分别的运动信息发送至解码器是没有效率的。相反,在多数视频编码方案中,把当前帧分成较大的图像段Sk,并且把涉及这些图像段的运动信息发送到解码器。例如,通常针对一帧的每一宏数据块提供运动信息,并且把同一个运动信息用于在该宏数据块中的全部像素。在某些视频编码标准中,例如在H.26L中,一个宏数据块能被分成较小的数据块,每一较小的数据块具有其自己的运动信息。
运动信息通常采用运动矢量[Δx(x,y),Δy(x,y)]的形式。数字对儿Δx(x,y)和Δy(x,y)表示在当前帧In(x,y)中的位置(x,y)的一个像素相对于基准帧Rn(x,y)中的一个像素的水平和垂直位移。以运动场估计部件11计算运动矢量[Δx(x,y),Δy(x,y)],并且当前帧[Δx(·),Δy(·)]被称为运动矢量场。
通常,在当前图像帧中的一个宏数据块的位置由其左上角的座标(x,y)指定。因此,在运动信息与一帧的每一宏数据块相关的一个视频编码方案中,每一个运动矢量描述的是该当前帧In(x,y)中的一个宏数据块的左上角的像素相对于该基准帧Rn(x,y)中的预测像素的实质对应数据块的左上角一个像素的水平和垂直位移Δx(x,y)和Δy(x,y)(如图4b所示)。
运动估计是一个计算密集的任务。给定一个基准帧Rn(x,y)以及例如包括当前帧中的N×N像素的一个矩形宏数据块(如图4a所示),该运动估计的目标是根据某些判据在该基准帧中寻找匹配该当前图像中的该宏数据块的特征的一个N×N像素数据块。例如,此判据可以是该当前帧中的该宏数据块的像素与其进行比较的基准帧中的像素的数据块之间的绝对差值的取和(SAD)。此处理通常称为‘数据块匹配’。应该指出,总的来说该将要匹配的数据块的几何结构和基准帧中的数据块的几何结构不必须相同,因为实际世界的目标可以经历标度改变、以及旋转和卷曲。但是,在当前国际视频编码标准中,仅使用平移运动模式(见下面描述),并且因此固定矩形的几何结构是足够的。
理想地,为了实现寻找匹配的最佳机会,应该搜索整个基准帧。但是,由于这将造成视频编码器的太高的计算负担,所以是不切实际的。相反,搜索区域被限制在围绕当前帧中的宏数据块的原始位置的区域[-p,p],如图4c所示。
为了降低要从编码器10发送到解码器20的运动信息量,该运动矢量场在该编码器10的运动场编码框12中编码,由一个运动模式表示该运动矢量场。在此处理中,使用某一预定函数重新表示图像段的运动矢量,换句话说该运动矢量场以一个模式表示。根据下列一般公式,几乎全部当前使用的运动矢量场模型都是附加的运动模式:
其中系数ai和bi被称之为运动系数。运动系数被发送至解码器20(图1和2中的信息数据流2)。函数fi和gi被称之为运动场基础函数,并且对编码器和解码器来说都是已知的。能够使用该系数和该基础函数构成一个近似的运动矢量场
由于该基础函数对于编码器10和解码器20都在公知的(即存储在二者中),则只将必要的运动系数发送到该编码器,因此降低为了表示该帧的运动信息所需的信息量。
最简单的运动模拟是平移运动模式,其只有要求两个系数来描述每一字段的运动矢量。运动矢量的值由下式给出:
Δx(x,y)=a0
Δy(x,y)=b0 (4)
此模式被广泛地使用在各种国际标准(ISO MPEG-1、MPEG-2、MPEG-4、ITU-T推荐H.261并且H.263)中来描述16×16和8×8像素数据块的运动。使用平移运动模式的系统通常以整个像素清晰度或整个像素清晰度的某些整数部分执行运动估计,例如以像素清晰度的一半或四分之一执行运动估计。
在编码器10中的运动补偿预测框13中构成预测帧Pn(x,y),并且由下式给定:
在该预测误差编码框14中,通常通过将预测误差帧En(x,y)表示为一个某些2维函数的有限级数(变换)来压缩该预测误差帧。例如能够使用一个2维离散余弦变换(DCT)。在被发送至解码器(图1和2中的信息数据流1)之前,该变换系数被量化和熵(例如霍夫曼)编码。由于量化的误差引入,此操作通常产生该预测误差帧En(x,y)中的某些劣变(信息损失)。为了补偿这种劣变,编码器10还包括一个预测误差解码框15,其中使用该变换系数构成一个解码的预测误差帧
(x,y)。在加法器19中将此局部解码的预测误差帧加到该预测帧Pn(x,y),并且该产生的解码当前帧
(x,y)被存储在帧存储器17中,以供进一步用作为下一个基准帧Rn+1(x,y)。
携带有关该运动矢量信息的信息数据流2与有关预测误差的信息在复用器16中组合,并且通常至少包含这两类信息的一个信息数据流3被送到解码器20。
现在描述一个对应视频解码器20的操作。
解码器20的帧存储器24储存一个先前重建的基准帧Rn(x,y)。使用接收的运动系数信息和该先前重建的基准帧Rn(x,y)的像素值在解码器20的运动补偿预测框21中根据方程式5构成预测帧Pn(x,y)。在该预测误差解码数据块22中使用该预测误差帧En(x,y)的发射的变换系数来构成解码的预测误差帧
(x,y)。随后通过相加该预测帧Pn(x,y)和解码的预测误差帧
(x,y)重建该解码的当前帧
(x,y)的像素:
该解码的当前帧可以存储在该帧存储器24中作为下一个基准帧Rn+1(x,y)。
在上面提供的运动补偿数字视频的编码和解码的描述中,描述当前帧中的一个宏数据块相对于基准帧Rn(x,y)运动的运动矢量[Δx(x,y),Δy(x,y)]能够指向基准帧中的像素的任何之一。这意味着一个数字视频序列的帧之间的运动只能以一个清晰度表示,该清晰度由该帧中的图像像素确定(所谓的全像素清晰度)。但是,实际运动具有随机的精确度,并因此上述系统只能提供在一个数字视频序列的连续帧之间的运动的近似模式。通常,具有全像素清晰度的视频帧之间的运动模式不足以精确地来实现与每一个宏数据块/帧相关的预测误差(PE)信息的高效极小化。因此,为了实现运动的更精确模型和有助于降低必须从编码器发送到解码器的PE信息量,许多视频编码标准,例如H.263(+)(++)和H.26L,使得运动矢量指向‘在中间’的图像像素。换句话说,该运动矢量可以具有‘子像素’清晰度。允许运动矢量具有子像素清晰度增加了必须执行的编码和解码操作的复杂性,使得限制一个运动矢量可具有的空间清晰度程度仍然有益。因此,视频编码标准,例如前面提到的那些标准通常仅允许运动矢量具有全、半或四分之一的像素清晰度。
如图5示出,利用子像素清晰度的运动估计通常被执行为一个两级处理,用于使得运动矢量具有全、或半像素清晰度的一个视频编码方案。在第一步中,使用任一适当的运动估计方案来确定具有全像素清晰度的一个运动矢量,例如上述的数据块匹配处理。产生的具有全像素清晰度的运动矢量在图5中示出。
在第二阶段,在第一个阶段中确定的运动矢量被精化,以便获得期望的半像素清晰度。在图5示出的实例中,通过形成16×16像素的八个新搜索数据块实现该精化,图5中的每一个数据块的左上角被标以一个X。这些位置被表示为[Δx+m/2,Δy+n/2],其中m和n能够取值-1、0和+1,但是不能同时为零。由于仅原始图像像素原始图像的像素值是已知,所以必须使用内插方案的某些形成针对八个新搜索数据块的每一个而估算驻留在半像素位置的该子像素的值(例如亮度和/或色度值)。
由于已经以半像素清晰度内插了该子像素的值,八个搜索数据块的每一个都与被寻找了运动矢量的宏数据块相比较。随着该数据块匹配处理的执行,以便确定具有全像素清晰度的运动矢量,根据例如一个SAD的某些判据,该宏数据块被与八个搜索数据块的每一个相比较。作为比较结果,通常将获得一个最小SAD值。根据视频序列中的该运动的性质,该最小值可以对应于由原始的运动矢量(具有全像素清晰度)指定的位置,或其可以对应于具有半像素清晰度的一个位置。因此,有可能确定一个运动矢量是否将指向一个全像素或子像素位置以及子像素清晰度是否正确,以便确定该正确的子像素清晰度运动矢量。还应该理解到,刚刚描述的方案能够以完全类似的方式扩展至其它子像素清晰度(例如四分之一像素清晰度)。
在实践中,通过内插来自环绕像素值的子像素的值来执行该基准帧中的子像素值的估计。总的来说,置于非整数位置(x,y)=(n+Δx,m+Δy))的一个子像素值F(x,y)的内插可以被公式化为一个二维操作,数学地表示为:
其中f(k,1)是滤波器系数,n和m是通过对x和y分别取整数而获得的值。通常,滤波器系数取决于x和y值,并且内插滤波器通常是所谓的‘可分离滤波器′,其中子像素值F(x,y)能够计算如下:
在该编码器中计算运动矢量。一旦对应运动系数被发送到解码器,,使用与该编码器中使用的内插法内插需要的子像素将是一个明确的事情。以此方式,能够从基准帧和运动矢量重建在该帧存储器24中的遵循一个基准帧的一个帧。
在视频编码器中应用子像素值内插的最简单的方式是在每次需要之时内插每一个子像素值。但是,在一个视频编码器中这不是一个有效的解决方案,因为有可能该相同的子像素值将需要几次,并且因此该内插同一个子像素值的计算将被执行多次。这将导致该编码器中的计算复杂性/负担的不必要的增加。
一个限制编码器复杂性的可选方案是预先计算全部子像素值并且在一个与编码器相关的存储器中储存全部子像素值。这种解决方案在下文中被称之为‘在先’(before-hand)内插。虽然限制了复杂性,但是在先内插具有由于大边缘的原因而增加存储器使用的缺点。例如,如果该运动矢量精确度在水平和垂直都是四分之一像素,则针对一个完整图像所储存的预先计算的子像素值将导致存储器的使用是原来非内插图像所需存储器使用的16倍。此外,其包括该编码器中的运动矢量计算中实际可能不需要的某些子像素的计算。在先内插在视频解码器中尤其是效率低,因为大多数的预先计算的子像素值该解码器将从不需要。因此,在该解码器中不使用预先计算是有益的。
所谓的‘按要求′内插可用于降低编码器中的存储要求。例如,如果期望像素精度是四分之一像素清晰度,则只有一半单位清晰度的子像素被针对整个帧在先内插并且存储在该存储器中。当需要时,随着运动估计/补偿处理的过程只计算四分之一像素清晰度子像素的值。在此情况中,存储器使用只是原始非内插图像时的所需的4倍。
应该指出,当使用在先内插时,由于每一像素仅被内插一次,所以内插处理仅构成全部编码器计算复杂性/负担的一小部分。因此,当使用在先子像素值内插时,在该编码器中的内插处理本身的复杂性不是很关键的问题。另一方面,因为子像素可能被内插许多次,所以按要求内插提出了对于编码器高得多的计算负担。因此内插处理的复杂性成为一个重要的考虑,该内插处理的复杂性可以认为是依据计算操作的数目或为了内插该子像素值所必须执行的操作周期。
在该解码器中,同一个子像素值最多被使用少数几次,某些子像素值完全不需要。因此,在解码器中有益的是根本不使用在先内插,即不预先计算任一子像素值。
已经开发了两个内插方案作为正在进行中的国际电信联盟通信标准化组织第16研究组、视频编码专家组(VCEG)问题6和15的工作的一部分。这些方案被建议结合到ITU-T推荐H.26L中,并且已经以测试模型(TML)实施用于评估和进一步开发的目的。对应于问题15的测试模型被称为测试模型5(TML5),而从问题6得出的测试模型被称为测试模型6(TML6)。在TML5和TML6中建议的内插方案都将被描述。
将参考图12a作出的对使用在测试模型TML5中的子像素值内插方案的整个描述定义了一种表示法,用于描述像素以及专用于TML5的子像素位置。图13a中定义的另一种表示法将用于讨论使用在TML6中的子像素值内插方案。图14a中示出的更进一步的一种表示法将随后使用在结合根据本发明的子像素值内插法的描述中。应该理解,使用在本说明书中的三个不同表示法力图协助理解每一个内插法,并且帮助区别它们之间的不同。但是,在全部三个图中,字母A被用于表示原始图像像素(全像素清晰度)。更具体地说,字母A表示代表一个视频序列的一帧的图像数据中的像素的位置,像素A的像素值是从视频信源接收作为当前帧In(x,y)、或重建并且储存在编码器10或解码器20的帧存储器17、24中的作为基准帧Rn(x,y)的之一。所有的其它字母表示子像素位置、通过内插获得的位于该子像素位置的子像素值。
将以一致的方式贯穿本说明使用某些其它术语来标识具体的像素和子像素位置。这些术语如下:
术语‘单位水平位置’被用于描述构成在该原始图像数据的一列中的任一子像素的位置。图12a和13a中的子像素c和e以及图14a中的子像素b和e具有单位水平位置。
术语‘单位垂直位置’被用于描述构成在该原始图像数据的一行中的任一子像素的位置。图12a和13a中的子像素b和d、以及图14a中的子像素b和d具有单位垂直位置。
根据定义,像素A具有单位水平和单位垂直位置。
术语‘半水平位置’被用于描述构成在以半像素清晰度存在的一列中的任一子像素的位置。图12a和13a示出的子像素b、c和e属于此类,以及图14a中的子像素b、c和f。以类似的方式,术语‘半垂直位置′被用于描述构成在以半像素清晰度存在的一行中的任一子像素的位置,例如图12a和13a中的子像素c和d以及图14a中的子像素b、c和g。
而且,术语‘四分之一水平位置′是指构成在以四分之一像素清晰度存在的一列中的任一子像素,例如图12a中的子像素d和e、图13a中的子像素d和g以及图14a中的子像素d、g和h。类似地,术语‘四分之一垂直位置’是指构成在以四分之一像素清晰度存在的一行中的子像素。图12a示出的子像素e和f属于此类,以及图13a中的子像素e、f和g,和图14a中的子像素e、f和h。
上述每一个术语的定义由在该相应的图上画的‘包络’示出。
应该进一步指出的是,以二维基准表示一个具体的像素常常是方便的。在此情况中,能够通过检查图12a、13a和14a的包络的交叉点而获得适当的二维基准。应用此原理,例如图12a中的像素d具有半水平和半垂直位置,而子像素e具有一个单位水平和四分之一垂直位置。此外,为了基准的容易起见,处在半单位水平和单位垂直位置、单位水平和半单位垂直位置以及半个单位水平和半单位垂直位置的子像素将被称为1/2清晰度子像素。处在任何四分之一单位水平和/或四分之一单位垂直位置的子像素将被称为1/4清晰度子像素。
还应该指出,在两个测试模型的描述和本发明的详细描述中,假设像素具有最小值0和最大值2n-1,其中n是针对一个像素值保留的比特数。该比特数目通常是8。在已经内插一个子像素之后,如果内插的该子像素的值超出2n-1的值,则将其限制到[0,2n-1]的范围,即低于允许最小值的值变成最小值(0)而大于最大值的值变成最大值(2n-1)。此操作被称之为限幅。
现将参照图12a、12b和12c详细描述根据TML5的子像素值内插方案。
1.半单位水平和单位垂直位置的子像素值,即图12a中的1/2清晰度子像素b通过使用6抽头滤波器计算。如图12b所示,根据公式b=(A1-5A2+20A3+20A4-5A5+A6+16)/32,该滤波器基于处在一行中的6个像素(A1至A6)在单位水平位置和单位垂直位置而关于b对称地内插1/2清晰度子像素b的一个值。以舍位来操作/表示分割。该结果被限值在范围[0,2n-1]中。
2.使用与步骤1使用的相同的6抽头过滤器和垂直方向中的六个最靠近的像素或子像素(A或b)计算标记为c的1/2清晰度子像素的值。现参考图12c,根据公式c=(A1-5A2+20A3+20A4-5A5+A6+16)/32,滤波器基于处在一列中的6个像素(A1至A6)在单位水平位置和单位垂直位置而关于c对称地内插在单位水平和半垂直位置的1/2清晰度子像素c的一个值。类似地,根据c=(b1-5b2+20b3+20b4-5b5+b6+16)/32计算在半水平和半垂直位置的1/2清晰度子像素c的一个值。
同样以舍位来操作/表示分割。用于该c子像素的该计算值被进一步限值在范围[0,2n-1]中。
此时在该内插处理中已经计算了所有的1/2清晰度子像素的值,并且该处理将进行1/4清晰度子像素值的计算。
3.使用线性内插和最接近的像素和/或水平方向中的1/2清晰度子像素的值计算标记为d的1/4清晰度子像素的值。更具体地说,通过取得在单位水平和单位垂直位置的紧邻像素(像素A)和在半水平和单位垂直位置的紧邻1/2清晰度子像素(子像素b)的平均值,即根据d=(A+b)/2,计算处在四分之一水平和单位垂直位置的1/4清晰度子像素d的值。通过取得分别位于单位水平和半垂直位置以及位于半水平和半垂直位置的紧邻1/2清晰度子像素c的平均值,即根据d=(c1+c2)/2,计算处在四分之一水平和半垂直位置的1/4清晰度子像素d的值。同样以舍位来操作/指示分割。
4.使用线性内插和最接近的像素和/或垂直方向中的1/2清晰度子像素的值计算标记为e的1/4清晰度子像素的值。具体地说,通过取得在单位水平和单位垂直位置紧邻像素(像素A)和在单位水平和半垂直位置的紧邻像素(子像素c)的平均值,即根据e=(A+c)/2,计算在单位水平和四分之一垂直位置的1/4清晰度子像素e的值。通过取得在半水平和单位垂直位置紧邻像素(子像素b)和在半水平和半垂直位置的紧邻像素(子像素c)的平均值,即根据e=(b+c)/2,计算在半水平和四分之一垂直位置的1/4清晰度子像素e3的值。而且,通过取得在四分之一水平和单位垂直位置紧邻像素和在四分之一水平和半垂直位置和半垂直位置的对应子像素(子像素D)的平均值,即根据e=(d1+d2)/2,计算在四分之一水平和四分之一垂直位置的1/4清晰度子像素e的值。再一次以截断操作/表示分割。
5.通过取得在单位水平和垂直位置的4个最接近的像素值的平均值,即根据f=(A1+A2+A3+A4+2)/4内插1/4清晰度子像素f的值,其中像素A1、A2、A3和A4是四个最接近的原始像素。
TML5的缺点是解码器计算复杂。这是由于该TML5使用的方案中该1/4清晰度子像素值的内插是依靠1/2清晰度子像素值的内插的原因。这意味着,为了内插该1/4清晰度子像素的值,首先必须计算确定该1/4清晰度子像素的该1/2清晰度子像素的值。而且,由于该1/4清晰度子像素的某些值取决于针对其它1/4清晰度子像素获得的内插值,所以该1/4清晰度子像素值的截断对于某些该1/4清晰度子像素值产生有害效应。具体地说,如果从尚未被截断和限值的值计算1/4清晰度子像素值,则该1/4清晰度子像素值将比它们具有的精度低。ML5的另一缺点是其必需存储1/2清晰度子像素的值来内插该1/4清晰度子像素值。因此,要求额外的存储器来存储最终不需要的结果。
现在描述根据TML6的子像素值内插方案,在此称之为直接内插方案。除了自始至终保持最大精度之外,根据TML6的内插法中编码器的工作与先前描述的TML5内插法中的情况相似。这是通过使用既不舍位又不限值的中间值实现的。下面根据图13a、13b和13c按步骤描述编码器中执行的根据TML6的内插法。
1.半单位水平和单位垂直位置的子像素值,即图13a中的1/2清晰度子像素b通过首先使用六个抽头滤波器计算一个中间值而获得。如图13b所示,根据公式b=(A1-5A2+20A3+20A4-5A5+A6),该滤波器基于处在一行中的6个像素(A1至A6)在单位水平位置和单位垂直位置而关于b对称地计算b值。b的终值被随后计算为b=(b+16)/32,并且被限值在范围[0,2n-1]之内。如同以前那样,以舍位来操作/表示分割。
2.通过首先计算中间值c获得标记为c的1/2清晰度子像素的值。参考图13c,根据公式c=(A1-5A2+20A3+20A4-5A5+A6),基于处在一列中的在关于c对称的单位水平位置和单位垂直位置的6个像素(A1至A6)的值计算处在单位水平和半垂直位置的1/2清晰度子像素c的一个中间值c。随后根据c=(c+16)/32计算处在单位水平和半垂直位置的1/2清晰度子像素c的终值。类似地,根据c=(b1-5b2+20b3+20b4-5b5+b6)计算在半水平和半垂直位置的1/2清晰度子像素c的一个中间值。随后根据(c+512)/1024计算此1/2清晰度子像素的终值。再次以截断操作/表示分割,并且进一步把用于1/2清晰度子像素c的计算值限值到范围[0,2n-1]之内。
3.标记d的1/4清晰度子像素的值计算如下。根据d=(32A+b+32)/64,从在单位水平和单位垂直位置紧邻的像素(像素A)的值和在步骤(1)中针对在半水平和单位垂直位置的紧邻1/2清晰度子像素(1/2清晰度子像素b)计算的中间值b计算处在四分之一水平和单位垂直位置的1/4清晰度子像素d的值。根据d=(32c1+c2+1024)/2048,使用针对分别位于单位水平和半垂直位置以及半水平和半垂直位置紧邻1/2清晰度子像素c而计算的中间值c,内插处在四分之一水平和半垂直位置的1/4清晰度子像素d的值。再次以舍位操作/表示分割,并且最终获得的1/4清晰度子像素值d被限值到范围[0,2n-1]之内。
4.标记e的1/4清晰度子像素的值计算如下。根据e=(32A+c+32)/64,从单位水平和单位垂直位置的紧邻像素的值(像素A)、以及步骤(2)中针对在单位水平和半垂直位置的紧邻1/2清晰度子像素计算的值c,计算处在单位水平和四分之一垂直位置的1/4清晰度子像素e的值。根据e=(32b+c+1024)/2048,从步骤(1)中针对半水平和单位垂直位置的紧邻1/2清晰度子像素计算的中间值b、以及步骤(2)中针对半水平和半垂直位置的紧邻1/2清晰度子像素计算的中间值c,计算处在半水平和四分之一垂直位置的1/4清晰度子像素e的值。再次以舍位操作/表示分割,并且最终获得的1/4清晰度子像素值e被限值到范围[0,2n-1]之内。
5.根据g=(1024A+32b+32c1+c2+2048)/4096,使用最接近的原始像素A和三个最接近的相邻1/2清晰度子像素的中间值计算标记为g的1/4清晰度子像素的值。如同以前的做法,以舍位操作/表示分割,并且最终获得的用于1/4清晰度子像素g的值被限值到范围[0,2n-1]之内。
6.通过取得在单位水平和垂直位置的4个最接近的像素值的平均值,即根据f=(A1+A2+A3+A4+2)/4,内插1/4清晰度子像素f的值,其中像素A1、A2、A3和A4是四个最接近的原始像素。
在解码器中,能够通过直接在水平和垂直方向应用6抽头滤光器而获得子像素值。参考图13a,在1/4子像素清晰度的情况下,用于在单位垂直位置的像素和子像素的滤光器系数是,[0,0,64,0,0,0]用于一组六个像素A,[1,-5,52,20,-5,1]用于一组六个子像素d,[2,-10,40,40,-10,2]用于一组六个子像素b,以及[1,-5,20,52,-5,1]用于一组六个子像素d。这些滤光器系数被用于分别的像素组或在同一行中的子像素,作为正在内插的子像素值。
在水平和垂直方向应用该滤波器之后,根据c=(c+2048)/4096标准化内插的值c,和限值到范围[0,2n-1]之内。当一个运动矢量指向在水平或垂直方向中的一个整数像素位置时,使用许多零系数。在TML6的实际方案中,针对不同子像素优化的软件使用不同的分支,使得其中没有由零系数相乘出现。
应该指出的是,在TML6中1/4清晰度子像素值是直接使用上面提到的中间值获得的而不是从针对1/2清晰度子像素的舍位和限值得到的。因此,在获得1/4清晰度子像素值的过程中,不需要针对任何1/2清晰度子像素计算终值。具体地说,不需要执行与针对该1/2清晰度子像素的终值的计算相关的舍位和限值操作。也不需要存储用于1/2清晰度子像素的终值来供该1/4清晰度子像素值的计算中使用。因此,TML6的计算复杂性比TML5低,因为需要很少的舍位和限值操作。但是,TML6的缺点是在编码器和解码器中都需要高精度的算法。高精度内插在ASIC中要求更多的硅片面积,并且需要在某些CPU中的更多的计算。而且,以按需方式在TML6中的规定实施的直接内插具有一个高内存需求。在嵌入装置中这尤其是一个重要的因素。
鉴于先前讨论,应该理解到,由于视频编码器和解码器涉及的子像素内插的不同要求,存在的一个显著问题是开发一种子像素值内插的方法,其能够在编码器和解码器中都提供令人满意的性能。而且,上述的当前测试模型(TML5,TML6)都没有提供在编码器和解码器中都能最佳应用的解决方案。
发明概要
根据本发明的第一方面,提供一种在视频编码中的内插方法,其中的图像包括以行和列排列并且由具有一个指定动态范围表示的像素,处在单位水平位置的行中的像素和处在单位垂直位置的列中像素被内插来产生在部分水平和垂直位置的子像素的值,该部分水平和垂直位置是根据1/2x定义的,其中x是具有最大值N的一个正整数,该方法包括步骤:
a)当需要用于在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值时,直接使用处在单位水平和单位垂直位置的像素的加权和内插这种值;
b)当需要用于在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值时,直接使用用于处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及用于处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择内插这种值,该子像素值的第一和第二加权取和是根据步骤(a)计算的;以及
c)当需要用于位于1/2N单位水平和1/2N单位垂直位置的一个子像素的值时,通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均来内插这样的一个值,变量m、n、p和q取在范围1至N的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的该子像素对角地定位。
在涉及到步骤(c)加权平均中最好使用第一和第二加权,该加权的相关幅度反比于该第一和第二子像素或像素对于在1/2N单位水平和1/2N垂直位置的子像素的(直对角线)的接近性。
在第一和第二子像素或像素相对于(在1/2N单位水平和1/2N垂直位置的子像素对称地放置(等距)的情形中,该第一和第二加权可以具有相等的值。
当需要在1/2N-1单位水平和1/2N单位垂直位置的一个子像素时,可以使用步骤b)中用于处在1/2N-1单位水平和单位垂直位置的子像素的值的第一加权取和。
当需要在1/2N单位水平和1/2N-1单位垂直位置的一个子像素时,可以使用步骤b)中用于处在单位水平和1/2N-1单位垂直位置的子像素的值的第二加权取和。
在一个实施例中,当需要1/2N单位水平和单位垂直位置以及1/2N水平和1/2N-1垂直位置的子像素值时,通过取得一个第一个像素或子像素的值和一个第二像素或子像素的值的平均值来内插这样的值,该第一个像素或子像素处在对应于正被计算的子像素的垂直位置和单位水平位置,而该第二像素或子像素处在对应于正被计算的子像素的垂直位置和1/2N-1单位水平位置。
当需要在单位水平和1/2N单位垂直位置以及1/2N-1单位水平和1/2N单位垂直位置的子像素的值时,可以通过取得一个第一个像素或子像素的值和一个第二像素或子像素的值的平均值来内插该需要的值,该第一个像素或子像素处在对应于正被计算的子像素的水平位置和单位垂直位置,而该第二像素或子像素处在对应于正被计算的子像素的水平位置和1/2N-1单位垂直位置。
可以通过取得处在单位水平和单位垂直位置的一个像素的值和处在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值的平均值来内插在1/2N单位水平和1/2N单位垂直位置的子像素的值。
可以通过取得处在1/2N-1单位水平和单位垂直位置的一个子像素的值和处在单位水平和1/2N-1单位垂直位置的子像素的值的平均值来内插在1/2N单位水平和1/2N单位垂直位置的子像素的值。
可以通过取得第一对儿像素值的平均值来内插在1/2N单位水平和1/2N单位垂直位置的子像素的半值,并且通过取得第二对儿像素值的平均值来内插在1/2N单位水平和1/2N单位垂直位置的另一半值,该第一对儿像素值是处在1/2N-1单位水平和单位垂直位置的一个子像素的值以及处在单位水平和1/2N-1单位垂直位置的一个子像素的值,而该第二对儿像素值是处在单位水平和单位垂直位置的像素的值以及处在1/2N-1单位水平和1/2N-1单位垂直位置的一个子像素的值。
通过取得第一对儿像素值的平均值把在1/2N单位水平和1/2N单位垂直位置的子像素的值内插用于一个这种子像素,以及通过取得第二对儿像素值的平均值把在1/2N单位水平和1/2N单位垂直位置的子像素的值内插用于相邻这种子像素的一个像素,该第一对儿像素处在1/2N-1单位水平和单位垂直位置的一个子像素以及处在单位水平和1/2N-1单位垂直位置的一个子像素,而该第二对儿像素处在单位水平和单位垂直位置的一个像素以及处在1/2N-1单位水平和1/2N-1单位垂直位置的一个子像素。
在1/2N单位水平和1/2N单位垂直位置的子像素可以在一个水平方向上交替内插。
当需要在1/2N单位水平和1/2N单位垂直位置的某些子像素的值时,可以通过取得多个最接近的相邻像素的平均值来内插这些值。
直接使用加权取和进行子像素值内插的步骤a)和步骤b)的至少之一可以包括针对具有大于指定动态范围的一个动态范围的子像素值的一个中间值的计算。
用于具有1/2N-1子像素清晰度的一个子像素的中间值可被用于具有1/2N子像素清晰度的一个子像素值的计算。
根据本发明的第二方面,提供一种在视频编码中的内插方法,其中的一个图像包括以行和列排列并且由具有指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该图像被内插来产生用于在部分水平和垂直位置的子像素的值,该方法包括步骤:
a)当需要在半单位水平和单位垂直位置、以及单位水平和半单位垂直位置的子像素的值时,直接使用处在单位水平和单位垂直位置的像素的加权和内插这种值;
b)当需要在半单位水平和半单位垂直位置的子像素时,直接使用根据步骤(a)计算的用于在半单位水平和单位垂直位置的子像素的值的一个加权取和内插这种值;以及
c)当需要在四分之一单位水平和四分之一单位垂直位置的子像素的值时,通过取得一个第一对儿像素的值和一个第二对儿像素的值的至少一对儿的平均值内插这种值,该第一对儿像素是处在半单位水平和单位垂直位置的一个子像素以及处在单位水平和半单位垂直位置的一个子像素,而该第二对儿像素是处在一个单位水平和单位垂直位置的一个像素以及处在半单位水平和半单位垂直位置的一个子像素。
根据本发明的第三方面,提供一种在视频编码中的内插方法,其中的一个图像包括以行和列排列并且由具有指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该图像被内插来产生用于在部分水平和垂直位置的子像素的值,根据1/2x定义该部分水平和垂直位置,其中x是具有最大值N的一个正整数,该方法包括步骤:
a)当需要1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值时,直接使用处在单位水平和单位垂直位置的像素加权取和内插这种值;
b)当需要在一个子像素水平和子像素垂直位置的一个子像素的值时,直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择内插这样的一个值。
使用在该第一加权取和中的子像素可以是处在1/2N-1单位水平和单位垂直位置的子像素,并且该第一加权取和可被用于内插在1/2N-1单位水平和1/2N单位垂直位置的一个子像素的值。
使用在该第二加权取和中的子像素可以是处在单位水平和1/2N-1单位垂直位置的子像素,并且该第二加权取和可被用于内插在1/2N单位水平和1/2N-1单位垂直位置的一个子像素的值。
当需要在1/2N单位水平和1/2N单位垂直位置的子像素的值时,可以通过取得一个第一对儿像素的值和一个第二对儿像素的值的至少一对儿的平均值内插这种值,该第一对儿像素是处在1/2N-1单位水平和单位垂直位置的一个子像素以及处在单位水平和1/2N-1单位垂直位置的一个子像素,而该第二对儿像素是处在一个单位水平和单位垂直位置的一个像素以及处在1/2N-1单位水平和1/2N-1单位垂直位置的一个子像素。
在上述技术方案中,N可以等于从包括值2、3和4的一个列表中选择的一整数。
在四分之一单位水平位置的子像素将被理解为具有其左侧最邻近的单位水平位置的一个像素和其右侧最邻近的半单位水平位置的一个子像素的子像素,以及具有其左侧最邻近的半单位水平位置的一个子像素和其右侧最邻近的单位水平位置的一个像素的子像素。相应地,在四分之一单位垂直位置的子像素将被理解为具有其上侧最邻近的单位垂直位置的一个像素和其下侧最邻近的半单位垂直位置的一个子像素的子像素,以及具有其上侧最邻近的半单位垂直位置的一个子像素和其下侧最邻近的单位垂直位置的一个像素的子像素。
术语“动态范围”是指该子像素值和该加权取和能够采用的取值范围。
最好是,对该动态范围进行改变,不论扩大或降低该动态范围,都意味着改变被用于表示该动态范围的比特数。
在本发明的一个实施例中,本方法被用于被细分成若干图像数据块的一个图像。每一个图像数据块都包括四个角,每一角由处在单位水平和单位垂直位置的一个像素定义。当可得到用于子像素值内插的数据块时把本方法应用到每一个图像数据块。另外,一旦一个图像的全部图像数据块都变成可供子像素值内插利用,则执行根据本发明方法的子像素值内插。
该方法最好被使用在视频编码中。该方法最好被使用在视频解码中。
在本发明的一个实施例中,当在进行编码中使用时,按照在先内插来执行本方法,其中在随后使用在运动预测编码过程中的一个预测帧的确定之前,计算并且存储在半单位位置的全部子像素的值和在四分之一单位位置的全部子像素的值。在另外的实施例中,按照在先和按需内插的一个组合来执行本方法。在此情况中,在被使用在一个预测帧的确定之前计算和存储子像素值的一个确定的比例或种类,并且某些其它子像素值则仅当在运动预测编码过程中需要时才被计算。
当本方法使用在进行解码中时,当其需要由一个运动矢量表示时则仅内插子像素。
根据本发明的第四方面,提供用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该视频编码器包括用于产生在部分水平和垂直位置的子像素值的一个内插器,根据1/2x定义水平和垂直位置,其中x是具有最大值为N的一个正整数,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素的加权和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用根据步骤(a)计算的用于处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及用于处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择内插这种值在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均,内插位于1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N中的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的子像素对角地定位。
该视频编码器可以包括一个图像编码器。其可以包括一个视频解码器。其中可以是包括视频编码器和视频解码器的一个编解码器。
根据本发明的第五方面,提供一个通信终端,包括一个用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,该行中的像素处在单位水平位置和该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,该部分水平和垂直位置是根据1/2x定义的,其中x是具有最大值为N的一个正整数,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素的加权和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用根据步骤(a)计算的用于处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及用于处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择内插这种值在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均,内插位于1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N中的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的子像素对角地定位。
该通信终端可以包括一个图像编码器。其可以包括一个视频解码器。最好其包括一个由视频编码器和视频解码器组成的视频信号编解码器。
该通信终端最好包括一个用户接口、一个处理器和一个发射部件和接收部件至少之一、和根据本发明第三和第四方面至少之一的一个视频编码器。该处理机最好控制该发送部件和/或接收部件以及视频编码器的操作。
根据本发明的第六方面,提供包括一个通信终端和一个网络的电信系统,该电信网络和该通信终端由一个通信线路连接,经过的通信线路能够发送编码的视频信号,该通信终端包括用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围表示的像素,该行中的像素处在单位水平位置而该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,该部分水平和垂直位置根据1/2x定义,其中x是具有最大值为N的一个正整数,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素的加权和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用根据步骤(a)计算的用于处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及用于处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择内插这种值在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均,内插位于1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N中的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的子像素对角地定位。
该电信系统最好是一个移动电信系统,包括移动通信终端和一个无线网络,在移动通信终端和无线网络之间的连接由一个无线电链路形成。该网络最好能够使得该通信终端与经过在另一通信终端和该网络之间的通信线路连接到该网络的其它通信终端通信。
根据本发明的第七方面,提供包括一个通信终端和一个网络的电信系统,该电信网络和该通信终端由一个通信线路连接,经过的通信线路能够发送编码的视频信号,该网络包括用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围表示的像素,该行中的像素处在单位水平位置而该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,该部分水平和垂直位置根据1/2x定义,其中x是具有最大值为N的一个正整数,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素的加权和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N单位垂直位置的子像素的值;
b)直接使用根据步骤(a)计算的用于处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及用于处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择内插这种值在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均,内插位于1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N中的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的子像素对角地定位。
根据本发明的第八方面,提供用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该编码器包括用于产生在部分水平和垂直位置的子像素的值的一个内插器,该子像素的清晰度由一个正整数N确定,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素的加权和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
该内插器可被进一步用来使用处在1/2N-1单位水平和单位垂直位置的子像素的值形成该第一加权取和,并且使用该第一加权取和来内插在1/2N-1单位水平和1/2N单位垂直位置的一个子像素的值。
该内插器可被进一步用来使用处在单位水平和1/2N-1单位垂直位置的子像素的值形成该第二加权取和,并且使用该第二加权取和来内插在1/2N单位水平和1/2N-1单位垂直位置的一个子像素的值。
通过取得一个第一对儿像素的值和一个第二对儿像素的值的至少一对儿的平均值,该内插器可被进一步用于内插在1/2N单位水平和1/2N单位垂直位置的子像素的值,该第一对儿像素是处在1/2N-1单位水平和单位垂直位置的一个子像素以和在单位水平和1/2N-1单位垂直位置的一个子像素,而第二对儿像素是处在单位水平和单位垂直位置的一个像素和处在1/2N-1单位水平和1/2N-1单位垂直位置的一个子像素。
根据本发明的第九方面,提供一个通信终端,包括一个用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,该行中的像素处在单位水平位置和该列中的像素处在单位垂直位置,该编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,通过一个正整数N确定该子像素的清晰度,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素的加权和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
根据本发明的第十方面,提供包括一个通信终端和一个网络的电信系统,该电信网络和该通信终端由一个通信线路连接,经过的通信线路能够发送编码的视频信号,该通信终端包括用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围表示的像素,该行中的像素处在单位水平位置而该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,通过一个正整数N确定该子像素的清晰度,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素的加权和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
根据本发明的第十一方面,提供包括一个通信终端和一个网络的电信系统,该电信网络和该通信终端由一个通信线路连接,经过的通信线路能够发送编码的视频信号,该网络包括用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围表示的像素,该行中的像素处在单位水平位置而该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,通过一个正整数N确定该子像素的清晰度,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素的加权和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
附图描述
现仅以实例的方式参照附图来描述本发明的实施例,其中:
图1示出根据已有技术的一个视频编码器;
图2示出根据已有技术的一个视频解码器;
图3所示使用在视频编码中的帧的类型;
图4a、4b,和4c示出在进行数据块匹配中的步骤;
图5示出对于子像素清晰度运动估计的处理;
图6示出包括可以实施本发明方法的编码和解码设备的一个终端设备;
图7示出给与本发明一个实施例的视频编码器;
图8表示根据本发明实施例的一个视频解码器;
图9和图10没有用,任何这种图应该忽略;
图11示出根据本发明一个实施例的移动电信网络的示意图;
图12a示出描述专用于TML5的像素和子像素位置的一个表示法;
图12b示出一种半清晰度子像素的内插;
图12c示出一种半清晰度子像素的内插;
图13a示出描述专用于TML6的像素和子像素位置的一个表示法;
图13b示出一种半清晰度子像素的内插;
图13c示出一种半清晰度子像素的内插;
图14示出描述专用于本发明的像素和子像素位置的一个表示法;
图14b示出根据本发明的一种半清晰度子像素的内插;
图14c示出根据本发明的一种半清晰度子像素的内插;
图15示出用于子像素的对角内插的可能的选择;
图16示出为计算另半个清晰度子像素值所需的半清晰度子像素值;
图17a示出为了使用TML5的内插法在一图像数据块中内插四分之一清晰度子像素的值所必须计算的该半清晰度子像素值;
图17b示出为了使用根据本发明的内插法在一图像数据块中内插四分之一清晰度子像素的值所必须计算的该半清晰度子像素值;
图18a示出为了使用TML5的内插法在一图像数据块中获得四分之一清晰度子像素的值所必须计算的半清晰度子像素的数目;
图18b示出为了使用根据本发明的内插法在一图像数据块中获得四分之一清晰度子像素的值所必须计算的半清晰度子像素的数目;
图19所示针对15个子像素位置的每一个的一种编号方案;
图20示出用于描述像素、半清晰度子像素、四分之一清晰度子像素和八分之一清晰度子像素的术语;
图21a示出在本发明的一个实施例中在每一八分之一清晰度子像素的内插中使用的对角方向;
图21b示出在本发明的另一个实施例中在每一八分之一清晰度子像素的内插中使用的对角方向;和
图22示出用于描述在一个图像中的八分之一清晰度子像素的术语。
详细描述
前面已经描述了图1至5、12a、12b、12c、13a、13b和13c。
图6示出包括可被用于根据本发明操作的视频编码和解码设备的一个终端装置。更准确地说,该图示出根据ITU-T推荐H.324实施的一个多媒体终端60。该终端能够被认为是一种多媒体收发器装置。它包括捕获、编码和复用多媒体数据流以便通过通信网络发送的单元,以及接收、解复用、解码和显示接收的多媒体信息内容的单元。ITU-T推荐H.324定义了该终端的总体操作,并且参考了控制其各种组成部分的操作的其它推荐。这种多媒体终端可被用于例如对话的可视电话的实时应用中,或可被用于例如从互联网络的多媒体信息内容服务器检索/数据串流视频的非实时应用中。
在本发明的说明书中,应该理解图6所示的H.324终端仅是适于本发明方法应用的若干可选多媒体终端实施方案之一。还应该注意,若干存在的可选方案涉及终端设备的位置和实施方案。如图6中示出,该多媒体终端可被定位在连接到一个固定有线电话网络,例如一个模拟PSTN(公共交换电话网络)的通信设备中。在此情况中,多媒体终端配备了符合ITU-T推荐V.8、V.34和可选择的V.8bis标准的调制解调器71。做为选择,该多媒体终端可以连接到一个外置调制解调器。该调制解调器实现把该多媒体终端产生的复用的数字数据和控制信号转换成适于经过PSTN发送的模拟形式。其还使得多媒体终端能够从PSTN接收模拟形式的数据和控制信号,并且把它们转换成能够由终端以适当方式解复用和处理的一种数字数据流。
H.324多媒体终端还可以通过能够直接连接到一个数字固定线接网络,例如ISDN(综合业务数字网)的方式实现。在此情况中,调制解调器71替换为一个ISDN用户网络接口。图6中,此ISDN用户网络接口由可选框72表示。
H.324多媒体终端还可适宜使用在移动通信应用中。如果使用一个无线通信链路,则该调制解调器71能够以任何适当的无线接口替换,如图6中可选框73表示的那样。例如,H.324/M多媒体终端能够包括一种无线电收发信机,使得能够连接至当前第二代GSM移动电话网络,或建议的第三代UMTS(通用移动电话系统)。
应该指出,在为双向通信而设计的多媒体终端中,即用于视频数据的发送和接收的多媒体终端中,根据本发明实施的视频编码器和视频解码器都被提供是有益的。这样一对儿编码器和解码器常被实现为单个组合的功能部件,称作‘编解码器’。
因为根据本发明的视频编码器使用一种特定的内插方案和在先与按需子像素值内插的一个特定组合对于子像素清晰度执行运动补偿的视频编码,所以对于一个接收终端的视频解码器来说通常需要以与形成该压缩的视频数据流的发射端的编码器兼容的方式实现。缺乏这种兼容性的保证可能对于运动补偿该质量和重建图像帧的精确度有不利的影响。
现参照图6进一步详细描述一个典型的H.324多媒体终端。
多媒体终端60包括各种称作‘终端设备′的部件。包括视频、声频和远程信息装置,分别由参考数字61、62和63按类表示。视频设备61可以包括例如用于捕获视频图像的摄像机、用于显示接收视频信息内容的监视器和可选的视频处理设备。声频设备62通常包括例如用于捕获说话信息的话筒以及用于再生接收音频内容的扬声器。声频设备还可以包括附加的音频处理单元。远程信息设备63可以包括一个数据终端、键盘、电子的白板或静止图像收发信机,例如一部传真设备。
视频设备61耦合到视频信号编解码65。视频信号编解码65包括均根据本发明实现的一个视频编码器和一个对应的视频解码器。下面将描述一个编码器和一个解码器。视频信号编解码65用于以一个适当形式编码捕获的视频数据,以便进一步经一个通信链路发送,并且解码从通信网络接收的压缩视频信息。在图6示出的实例中,视频信号编解码是根据ITU-T推荐H.263实现的,利用适当的修改来实现在视频信号编解码的编码器和解码器中的根据本发明的子像素值内插法。
类似地,终端的声频设备耦合到图6中由参考数字66表示的一个音频编解码器。类似视频信号编解码的情况,音频编解码器包括一个编码器/解码器对儿。把由该终端的声频设备捕获的音频数据转换成适于经过通信链路发送的形式,并且把从网络接收的编码的音频数据变换回到适于在例如终端的扬声器上再生的形式。音频编解码器的输出被传到一个延迟部件67。这将补偿由视频编码处理引入的延迟并且保证音频和视频信息内容的声画同步。
多媒体终端的系统控制块64使用一个适当的控制协议(信令部件68)控制端到网络的信令,以便建立在发送和接收终端之间的共同操作模式。信令部件68交换有关发送和接收终端的编码和解码能力的信息,并且可用于实现该视频编码器的各种编码模式。该系统控制块64还控制数据加密的使用。有关在数据传输中使用的加密类型的信息从加密部件69传送到复用器/解复用器(MUX/DMUX设备)70。
在从多媒体终端数据传输期间,MUX/DMUX设备70把编码及同步的图像和伴音数据流与从远程信息设备63输入的数据及可能的控制数据相结合,以便形成单一的比特数据流。涉及由加密部件69提供的将要加到该比特数据流的数据加密(如果有的话)类型的信息被用于选择一个加密模式。相应地,当接收复用的及可能加密的多媒体比特数据流时,MUX/DMUX设备70被用于解密该比特数据流,将其分成构成多媒体成分,并且把那些成分传送到适当的编解码器和/或终端设备,以便进行解码和再生。
应该指出,根据本发明的多媒体终端、视频编码器、解码器和视频信号编解码的功能元件能够作为软件或专用硬件实现,或作为软件和硬件的组合实现。根据本发明的视频编码和解码方法尤其适合于以包括用于执行本发明功能步骤的机器可读指令的一个计算机程序的形式实现。比如,根据本发明的编码器和解码器可以作为存储在存储介质上并且在例如个人台式计算机的一个计算机中执行的软件编码实现,以便为该计算机提供视频编码和/或解码功能。
如果该多媒体终端60是一个移动终端,即如果其配备有无线电收发信机73,则本领域技术人员将理解其可以同时包括附加单元。在一个实施例中其包括具有显示并且键盘的一个用户接口,使得该多媒体终端60能够由用户操作,连同包括中央处理单元,例如一个微处理器的必要的功能块一起,控制用于多媒体终端、随机存取存储器RAM、只读存储器ROM和数字照相机的不同功能的部件。微处理器的操作指令,即对应于多媒体终端60的基本功能程序代码被存储在只读存储器ROM中,并且能按照要求,例如在用户的控制之下由微处理器执行。根据该程序代码,微处理器使用无线电收发信机73来形成与移动通信网络的连接,实现多媒体终端60发送信息并且经无线路径从该移动通信网络接收信息。
微处理器监视用户接口的状态并且控制该数字摄象机。响应用户命令,微处理器指令该摄像机把数字图像记录到RAM中。一旦捕获一个图像,或者在俘获过程期间,该微处理器分段图像成图像字段(例如宏数据块)并且使用编码器执行该字段的运动补偿的编码,以便产生如上文描述中说明的一个压缩图像序列。用户可以指令该多媒体终端60在显示器上显示该捕获的图像或使用该无线电收发信机73把该压缩的图像序列发送到另一多媒体终端、连接到一个固定用户线接续网络(PSTN)的可视电话或其它通信装置。在一个最佳实施例中,第一字段被编码即开始图像数据的传送,使得该接收方能够以最小延迟开始一个对应的解码处理。
图11是根据本发明一个实施例的移动电信网络的示意图;多媒体终端MS利用无线电链路与基站BTS通信。该基站BTS进一步通过所谓的Abis接口连接到控制和管理几个基站的基站控制器BSC。
由若干基站BTS(通常由几十个基站)和控制器该基站的单一基站控制器BSC形成的实体被称作一个基站子系统BSS。具体地说,该基站控制器BSC管理无线通信信道和转移。该基站控制器BSC还通过一个所谓的A接口连接到移动业务交换中心MSC,协调连接到和来自移动站的形式。通过移动业务交换中心MSC实现到移动通信网络外部的进一步连接。在移动通信网络的外部,可以进一步驻留通过网关GTW连接到移动通信网络的其它网络,例如互联网络或公共交换电话网络(PSTN)。以这样一个外部网络中或在该电信网络中,可能放置视频解码或编码站,例如计算机PC.在本发明的一个实施例中,移动电信网络包括视频服务器VSRVR,把视频数据提供到预订这种服务的一个MS。使用上述的运动补偿的视频压缩方法压缩该视频数据。视频服务器对于一个在线视频信源可以起到一个网关的作用或可以包括先前记录的图像节目集。通常可视电话应用可以包括比如两个移动站或一个移动站MS和一部连接到该PSTN的视频电话,连接到互联网络的PC或连接到互联网络或者PSTN的H.261兼容终端。
图7示出根据本发明实施例的一个视频编码器700。图8表示根据本发明实施例的一个视频解码器800。
编码器700包括用于从摄像机或其它视频信源(没示出)接收一个视频信号输入端701。其进一步包括一个DCT变换器705、数字转换器706、反向数字转换器709、反相DCT变换器710、合成器712和716、在先子像素内插部件730、帧存储器740和与运动估计部件760结合实现的按需子像素内插部件750。编码器还包括一个运动场编码部件770和一个运动补偿预测部件780。开关702和714由控制器管理器720协同操作,以在视频编码的一个帧内模式和视频编码的帧间模式之间切换。编码器700还包括一个复用单元(MUX/DMUX)790,用于从该编码器700生产的各种信息类型形成单一的比特数据流,用于进一步发送到远端接收终端,或例如存储在象计算机硬盘驱动器没示出)的一个大容量存储器介质上。
应该指出,该编码器结构中的在先子像素内插部件730和按需子像素值内插部件750的存在和实施取决于应用根据本发明的子像素内插法的方式。在本发明的实施例中,不执行在先子像素值内插,编码器700不包括在先子像素值内插。在本发明的其它实施例中,仅执行在先子像素内插,并因此该编码器不包括按需子像素值内插部件750。在在先和按需子像素值内插都执行的实施例中,编码器700中既有部件730又有部件750。
现在详细描述根据本发明的编码器700的操作。在描述中,假设从输入端701的视频信源接收的未压缩视频信号的每一帧都根据逐个宏数据块为基础优先以光栅扫描次序接收和处理。进一步假设当新视频序列开始进行编码时,顺序的第一帧以帧内模式编码。随后,除非符合下列条件之一,编码器被编程来以帧间格式编码每一帧:1)判定正被编码的当前帧与使用在其预测中的基准帧如此不同,使得生产过大的预测误差信息;2)已经超过一个重新定义的帧内帧重复间隔;或3)从一个接收终端接收表明将要求以帧内格式编码一个帧的反馈。
条件1)的出现通过监视组合器716的输出而检测。组合器716形成在以运动补偿预测部件780中产生的正被码编码的当前宏数据块和其预测之间的差。如果此差的测量(例如像素值的绝对值差的取和)超出一个预定门限值,则合成器716经过控制线717通知该控制管理器720,并且该控制管理器720操作该开关702和714,以便把编码器700转换成帧内编码模式。利用控制管理器720中实现的一个定时器或帧计数器监视条件2)的出现,其方式是,如果该定时器过期,或帧计数器达到帧的一个预定的数量,该控制管理器720操作该转换器702和714把编码器转换成帧内编码模式。如果控制管理器720从例如一个接收终端通过控制线718接收一个反馈信号,指示由该接收终端要求一个帧内刷新,则启动条件3)。例如,如果先前的一个发送帧由其传送期间的干扰严重劣化,表示其不可能在该接收机解码,则可能出现这种条件。在此情形中,接收机将发出对于下一帧的请求以便按照帧内格式编码,因此再初始化该编码序列。
将进一步假设该编码器和解码器的实现方式是使得运动矢量的确定具有达到四分之一像素清晰度的一个空间清晰度。将如下面所见,更好的清晰度水平也是可能的。
现将描述在帧内编码中的编码器700的操作。在帧内模式中,控制管理器720操作该转换开关702,从输入线719接收视频输入。通过输入线719从输入端701逐个宏数据块地接收视频信号输入,并且原始图像像素的每一个宏数据块由DCT变换器705转变成DCT系数。随后把该DCT系数传到数字转换器706,其中使用量化参数QP量化该DCT系数。经过控制线722,控制管理器720控制该量化参数QP的选择。组成该帧的帧内编码图像信息723的每一个DCT变换和量化的宏数据块从数字转换器706传送到MUX/DMUX 790。MUX/DMUX 790把该帧内编码图像信息与可能的控制信息(例如标题数据、量化参数信息、误差校正数据等)组合,形成单一的编码图像信息725的比特数据流。如本领域技术人员公知的那样,可变长度码(VLC)被用于降低该压缩视频比特数据流的冗余度。
通过把由数字转换器706输出的数据经过反相数字转换器709传送并且对该反相量化的数据施加反向DCT变换710,在该编码器700中形成一个局部解码的图像。产生的数据随后被输入到合成器712。在帧内模式中,转换开关714的设置使得经转换开关714到合成器712的输入置零。以此方式,由该合成器712执行的操作相当于传送由反相数字转换器709形成的解码的图像数据,并且该反相DCT变换710不变。
在本发明的实施例中,执行在先子像素值内插,来自合成器712的输出被加到在先子像素内插部件730。对于该在先子像素值内插部件730的输入采用解码的图像部件的形式。在该在先子像素值内插部件730中,每一个解码的宏数据块受到子像素内插,其方式是,根据本发明的内插法计算子像素清晰度子像素值的预定的子集,并且与该解码的像素值一起储存在帧存储器740中。
在其中不执行在先子像素内插的实施例中,该编码器结构中不存在在先子像素内插部件,并且来自合成器712的包括解码的图像数据块的输出被直接加到帧存储器740。
随着该当前帧的随后宏数据块被接收并且经历前面描述的在部件705、706、709、710、712中的解码步骤,在该帧存储器740中建立了该帧内帧的一个解码的型式。当该当前帧的最后的宏数据块已经被帧内编码并且随后解码时,该帧存储器740包含一个完整的解码帧,可供在以帧间格式编码一个随后接收的图像帧中用作为一个预测基准帧。在本发明的实施例中,执行在先子像素值内插,保持在帧存储器740中的基准帧被至少部分地内插到子像素清晰度。
现将描述在帧间编码模式中的编码器700的操作。在帧间编码模式中,控制管理器720操作转换开关702来从线路721接收其输入,包括合成器716的输出。组合器716形成预测误差信息,表示在运动补偿的预测部件780中产生当前被码的帧的宏数据块和其预测之间的差值。该预测误差信息在部件705中被DCT变换并且在部件706中量化,以便形成DCT变换的和量化的预测误差信息的一个宏数据块。DCT变换和量化预测误差信息的每一个宏数据块被从数字转换器706传送到该MUX/DMUX单元790。MUX/DMUX单元790把该预测误差信息723与运动系数724(下面将描述)和控制信息(例如标题数据、量化参数信息、误差校正数据等)组合,以便形成编码图像信息725的单一比特数据流。
随后在编码器700中通过把由数字转换器706输出的该编码的预测误差信息723传送经过反相数字转换器709并且在部件710中施加反相DCT变换而形成该帧间编码的每一个宏数据块的局部解码的预测误差信息。产生的预测误差信息的局部解码的宏数据块被随后输入到组合器712。在帧间模式中,转换开关714的设置使得该合成器712还接收在该运动补偿预测部件780中产生的用于当前帧间的运动预测宏数据块。合成器712结合这两段信息,以便产生用于该当前帧间重构图像数据块。
如上所述,在考虑帧内编码帧时,本发明的实施例中执行在先子像素值内插,合成器712的输出被加到该在先子像素内插部件730。因此,在帧间编码模式中对于该在先子像素值内插部件730的输入也采用解码图像数据块的形式。在该在先子像素值内插部件730中,每一个解码的宏数据块受到子像素内插,其方式是,根据本发明的内插法计算子像素清晰度子像素值的预定的子集,并且与该解码的像素值一起储存在帧存储器740中。在其中不执行在先子像素内插的实施例中,该编码器结构中不存在在先子像素内插部件,并且来自合成器712的包括解码的图像数据块的输出被直接加到帧存储器740。
随着从该视频信源接收该视频信号的后续宏数据块并且在部件705、706、709、710、712中经历先前所述编码和解码,在帧存储器740中建立了一个解码的帧间型式。当该当前帧的最后的宏数据块已经被帧内编码并且随后解码时,该帧存储器740包含一个完整的解码帧,可供在以帧间格式编码一个随后接收的图像帧中用作为一个预测基准帧。在本发明的实施例中,执行在先子像素值内插,保持在帧存储器740中的基准帧被至少部分地内插到子像素清晰度。
现将描述该当前帧的一个宏数据块的预测的格式。
以帧间格式编码的任何帧都需要用于运动补偿预测的一个基准帧。这意味着当编码一个视频序列时,第一个被编码的帧,不论其是否为该视频序列中的第一个帧或其它的帧,都必须以帧内格式编码。这又意味着,当视频编码器700在由控制管理器720转换成帧间编码模式时,通过局部解码一个先前编码的帧形成的一个完整的基准帧已经可在该编码器的帧存储器740中得到。通常,由局部解码一个帧内编码或帧间码帧的帧形成该基准帧。
通过运动估计部件760执行形成该当前帧的一个宏数据块的预测的第一步。运动估计部件760通过线路727接收被编码帧的当前宏数据块,并且执行一个数据块匹配操作,以便识别在实质上对应当前宏数据块的该基准帧中的一个区域。根据本发明,对于子像素清晰度执行的该数据块匹配处理的方式取决于该编码器700的实施方案以及执行在先子像素内插的程度。但是,支持该数据块匹配处理的基本原理在所有情况中是相似的。具体地说,运动估计数据块760通过计算表示在检查中的当前帧宏数据块和在基准帧中的像素/子像素的候选最佳匹配区域之间像素值中的差的差值(例如绝对值差的取和)而执行数据块匹配。针对在当前帧的宏数据块和基准帧的预定搜索区域中的候选测试区域之间全部可能的偏移(例如四分之一或八分之一子像素精度的x,y位移)而产生一个差值,并且运动估计部件760确定最小的计算差值。在该当前帧中的宏数据块和产生最小差值的基准帧中的像素值/子像素值的候选测试区域之间的偏移限定了用于该关注的宏数据块的运动矢量。在本发明的某些实施例中,首先确定针对具有单位像素精度运动矢量的一个初始估计,然后如上所述地那样细化到子像素精度的更好的水平。
在其中不执行在先子像素值内插的编码器实施例中,以按需子像素值内插部件750计算在该数据块匹配处理中需要的全部子像素值。在需要时,运动估计部件760控制按需子像素值内插部件750以一个按需方式计算在数据块匹配处理中所需的每一子像素值。在此情况中,可以实施运动估计部件760来执行数据块匹配作为一步处理,其中直接寻找具有期望的子像素清晰度的一个运动矢量,或可以实施运动估计部件760来执行数据块匹配作为一个两步骤处理。如果采用两步骤处理,该第一步骤可以包括一个搜索,例如搜索全或半像素清晰度运动矢量,并且执行第二步骤来细化该运动矢量到期望的子像素清晰度。因为数据块匹配是一个完备处理,其中在该当前帧中的n×m像素的数据块要与在内插基准帧中的n×m像素或子像素的数据块逐个地比较,所以应该理解,随着逐次差分值被确定,由按需像素内插部件750在以按需方式中计算的一个子像素计算可能需要计算多次。在一个视频编码器中,此方案不是在计算的复杂性/负担的计算中最有效率的选项。
在仅使用在先子像素值内插的编码器中,由于以部件730在先利用该期望子像素清晰度计算了用于确定一个运动矢量需要的基准帧的全部子像素值并且存储在帧存储器740中,该仅使用在先子像素值内插的编码器的实施例中,数据块匹配可被作为一步的处理执行。因此,它们直接可供使用在数据块匹配处理中,并且能够按照需要由运动估计部件760从帧存储器740中检取。然而,即使在全部子像素值都可从帧存储器740得到的情况中,由于其需要计算较少的差值,按照一个两步骤处理执行数据块匹配将仍然是更有计算效率的方案。应该理解,虽然完整的在先子像素值内插降低了编码器中的计算复杂性,但是以存储器消耗的角度看,其不是最有效率的方案。
在其中在先和按需子像素值内插都被使用的编码器的实施例中,运动估计部件的执行方式是其能够恢复在先子像素值内插部件730中先前计算的并且存储在帧存储器740中的子像素值,并且进一步控制按需子像素值内插部件750来计算可能需要的任何附加子像素值。该数据块匹配处理可以作为一个一步或两步骤处理执行。如果使用一个两步骤实施方案,则从帧存储器740检取的在先计算的子像素值可被使用在该处理的第一步骤中,并且可以实施第二步骤,以便使用由按需子像素值内插部件750计算的子像素值。在此情况中,随着连续比较的进行,使用在该数据块匹配处理的第二步骤中的某些子像素值可能需要被计算多次,但是这种重复计算的数目显著地小于在如果不使用在先子像素值计算的情况。而且,相对于仅使用在先子像素值内插的实施例而言,存储器消耗被降低。
一旦该运动估计部件760已经针对在检验之下的当前帧的宏数据块而产生了一个运动矢量,则其将该运动矢量输出到该运动场编码部件770。运动场编码部件770随后使用一个运动模式近似从运动估计部件760接收的运动矢量。该运动模式一般包括一组基础函数。更具体地说,该运动场编码部件770运动矢量表示为一组系数值(称之为运动系数),当由基础函数相乘时,形成该运动矢量的一个近似值。运动系数724从运动编码部件770传送到运动补偿的预测部件780运动补偿的预测部件780也接收由运动估计部件760标识的基准帧的最佳匹配候选测试区域的像素/子像素值。在图7中,所示的这些值通过线路729从按要子像素内插部件750传送。在本发明的另外实施例中,从运动估计部件760本身提供关注的像素值。
使用由运动场编码部件770产生的运动矢量的近似表示和最佳匹配候选测试区域的像素/子像素值,运动补偿预测部件780产生预测像素值的一个宏数据块。预测像素值的宏数据块表示从内插基准帧产生的当前宏数据块的像素值的一个预测。预测像素值的该宏数据块传到合成器716,其中从新的当前帧减去该值,以便按照前面的描述产生该宏数据块的预测误差信息723。
由运动场编码部件形成的运动系数724也被传到MUX/DMUX单元790,其中该系数与针对该关注的宏数据块的预测误差信息723以及来自控制管理器720的可能的控制信息组合,以便形成用于传送到接收终端的一个编码视频数据流725。
现在详细描述根据本发明的视频解码器800的操作。参考图8,解码器800包括一个多路分解器单元(MUX/DMUX)810,从编码器700接收编码的视频数据流725和多路分解器该编码的视频数据流,反向数字转换器820,反向DCT变换830,运动补偿的预测部件840,帧存储器850,合成器860、控制管理器870、输出端880,在先子像素值内插部件845以及与该运动补偿的预测部件840相关的按需子像素内插部件890。在实践中,解码器800的控制管理器870和编码器700的控制管理器720可以是同一个处理器。如果编码器700和解码器800是同一个视频信号编解码器的一部分,则会有这种情况。
图8示出把在先和按需子像素值内插的组合使用在解码器中的一个实施例。在其它实施例中,仅使用在先子像素值内插,其中解码器800不包括按需子像素值内插部件890。在本发明的一个最佳实施例中,在解码器中不使用在先子像素值内插,因此从解码器结构中省略了在先子像素值内插部件845。如果在先和按需子像素值内插都执行,则解码器既包括部件845又包括部件890。
控制管理器870响应一个帧内或帧间解码而控制该解码器800的操作。例如从图像类型信息得到使得该解码器在解码模式之间切换的一个帧内/帧间触发器控制信号,该图像类型信息提供在从编码器接收的每一个压缩视频帧的标题部分中。与由MUX/DMUX单元810从编码的视频数据流725多路分解的其它视频信号编解码控制信号一起,该帧内/帧间触发器控制信号经过控制线815传到控制管理器870。
当解码一个帧内帧时,编码的视频数据流725被多路分解成帧内编码的宏数据块和控制信息。对于一个帧内编码图像帧来说,该编码视频数据流725不包括运动矢量。逐个宏数据块地执行解码处理。当由MUX/DMUX单元810从视频数据流提取用于一个宏数据块的编码信息723时,其被传到反向数字转换器820。根据提供在视频数据流725中的控制信息,该控制管理器控制反相数字转换器820把适当的反向量化电平加到编码的信息宏数据块。该反相量化的宏数据块被随后在反相DCT变换器830中反向变换,形成一个解码的图像信息数据块。控制管理器870控制合成器860,以便防止在帧内编码的宏数据块的解码中使用任何基准信息。该解码的图像信息数据块被传到解码器的视频输出880。
在采用在先子像素值内插的解码器的实施例中,作为部件820和830执行的反相量化和反向变换操作的结果而产生的该解码的图像信息(即像素值)的数据块被传到在先子像素值内插部件845。其中,根据本发明方法执行子像素值内插,该解码器实施方案的详细数据将确定执行的在先子像素值内插的程度。在本发明的实施例中,不执行按需子像素值内插,在先子像素值内插部件845内插全部子像素值。在使用在先和按需子像素值内插的一个组合的实施例中,在先子像素值内插部件845内插一个某些子像素值的子集。这可能包括例如在半像素位置的全部子像素、或在半像素和一个四分之一像素位置的子像素的一个组合。在任何情况下,在先子像素值内插之后,该内插的子像素值连同该原始解码的像素值一起存储在帧存储器850中。当随后的宏数据块被解码、在先内插和存储时,至少部分地内插到子像素清晰度的一个解码帧被逐行组合在该帧存储器850中,并且变得可供用作为运动补偿的预测的一个基准帧。
在不采用在先子像素值内插的解码器的实施例中,作为部件820和830对于宏数据块执行的反相量化和反向变换操作的结果而产生的该解码的图像信息(即像素值)的数据块被直接地传到帧存储器850。当随后的宏数据块被解码并被存储时,具有单位像素清晰度的一个解码帧被逐行组合在该帧存储器850中,并且变得可供用作为运动补偿的预测的一个基准帧。
当解码一个帧间帧时,编码的视频数据流725被多路分解器成用于该帧的每一个宏数据块的编码的预测误差信息、相关的运动系数724和控制信息。同样,逐个宏数据块地执行解码处理。当由MUX/DMUX单元810从视频数据流提取用于一个宏数据块的编码预测误差信息723时,其被传到反向数字转换器820。根据在视频数据流725中接收的控制信息,该控制管理器870控制反相数字转换器820把适当的反向量子电平级加到编码的预测误差信息随后该预测误差信息的反相量化宏数据块被在反相DCT转换器中反向变换,产生解码的用于该宏数据块的解码预测误差。
由MUX/DMUX单位810从该视频数据流725提取与关注的宏数据块相关的运动系数724,并且传到运动补偿的预测部件840,使用与在编码器700中编码该帧间编码宏数据块所使用的相同的运动模式来重建用于该宏数据块的一个运动矢量。该重建的运动矢量近似由该编码器的运动估计部件760原始确定的运动矢量。该解码器的运动补偿的预测部件840使用该重建的运动矢量来识别在存储在帧存储器850中的一个预测基准帧中的像素/子像素值的一个数据块的位置。该基准帧可以是例如一个预先解码帧内帧或一个先前解码的帧间帧。在任何一个情况中,由该重建的运动矢量指示的像素/子像素值的数据块都表示该关注的宏数据块的预测。
该重建的运动矢量可能指向任一像素或子像素。如果该运动矢量指示该当前宏数据块预测是从像素值(即在单位像素位置的像素的值)形成,则这些像素能够简单地从帧存储器850恢复,作为在每一个帧的解码过程中直接获得的关注的像素值。如果运动矢量指示用于该当前宏数据块的预测值是从子像素值中形成,则这些值或是从帧存储器850中检取的值,或是在按需子像素内插部件890中计算的值。是否必须计算子像素值或是否能够简单地从该帧存储器检取子像素值,则取决于使用在该解码器中的在先子像素值内插的程度。
在不采用在先子像素值内插的该解码器的实施例中,需要的子像素值全部在按需子像素值内插部件890中计算。另一方面,在其中子像素值都被在先内插的实施例中,运动补偿的预测部件840能够直接从该帧存储器850中检取该需要的子像素值。在使用在先和按需子像素值内插的一个组合的实施例中,为了获得该需要的子像素值的操作取决于在先内插了哪些子像素值。选择其中全部子像素值都以半像素位置在先计算的一个实施例作为实例,显然的是,如果针对一个宏数据块重建的运动矢量指向在单位像素位置的像素或在半像素位置的一个子像素,则为形式该宏数据块的预测所需的全部像素或子像素值都存在于该帧存储器850中,并且能够由运动补偿预测部件840从其中检取。但是,如果该运动矢量表示在一个四分之一像素位置的子像素,则为形成用于该宏数据块的预测所需的子像素不存在于帧存储器850中,并且因此在按需子像素值内插部件890中计算。在此情况中,按需子像素值内插部件890从帧存储器850恢复为执行该内插所需的任何像素或子像素,并且采用下面描述的内插法。在按需子像素值内插部件890中计算的子像素值被传到运动补偿的预测部件840。
一旦已经获得用于一个宏数据块的预测,该预测(即预测像素值的一个宏数据块)从运动补偿预测部件840传送到合成器860,其中与用于该宏数据块的解码的预测误差信息结合,以便形成一个重建的图像数据块,这重建的图像数据块又被传到该解码器的视频输出880。
应该理解,在编码器700和解码器800的实际实施方案中,帧被在先子像素内插的程度和因此执行的按需子像素值内插的量能够根据该视频编码器700或欲被用在其中的环境的硬件实施方案来选择或指令。例如,如果可供用于该视频编码器的存储器有限,或存储器必须被保留用于其它功能,则限制执行的在先子像素值内插的量是适当的。在其它情况中,其中执行该视频编码操作的微处理器具有有限的处理能力,例如每秒钟能够执行的操作次数是相当低的情况中,更适合于限制执行的按需子像素值内插的量。例如在一个移动通信环境中,当视频编码和解码功能被结合在用于连通移动电话网络的移动电话或相似无线电终端中,存储和处理能力都可能是有限的。在此情况中,在先和按需子像素值内插的一个组合可能是获得该视频编码器中有效率实施的最佳选择。在视频解码器800中,在先子像素值值的使用一般不是最佳的,因为其通常导致在该解码过程中不被实际使用的许多子像素值的计算。但是,应该理解的是,尽管在先和按需内插的不同量可被用于编码器和解码器中来优化每一内插的操作,但是二者都能够实施编码器和解码器,以便使用在在先和按需子像素值内插之间的同一个划分。
虽然前面的描述没有描述在该编码器700和该解码器800中的双向预测帧(B帧)的构造,但是应该理解在本发明的实施例中可以带有这种能力。这种能力的提供是本专业技术人员能力之内的考虑。
根据本发明的编码器700或解码器800能够使用硬件或软件、或使用硬件与软件的一个适当的组合实现。以软件实施的编码器或解码器可以是例如一个单独的程序或能被各种编程使用一个软件标准组件。中上面的描述和附图中,功能部件被表示为单独的单元,但是这些部件能够以例如一个软件程序单元实施。
编码器700和解码器800能够进一步组合以便形式具有编码和解码功能的一个视频信号编解码器。除了在一个多媒体终端中实施之外,这种编解码器也可能在一个网络中实施。根据本发明的编解码器可以是一个计算机程序或一个计算机程序单元,或可能至少局部地使用硬件实施。
现在详细描述使用在编码器700和解码器800中的子像素内插法。首先介绍本方法的总的概念然后介绍两个最佳实施例。在第一最佳实施例中,对于1/4像素清晰度执行子像素值内插,而在第二最佳实施例中将本方法扩展到1/8像素清晰度。
应该指出,该内插必须在编码器和解码器中产生完全相同的值,但是其实施方案将被针对编码器和解码器分别地优化。例如,在根据本发明第一实施例的其中对于1/4像素清晰度执行的子像素值内插的编码器中,仅当在运动估计过程中需要时,在先计算1/2清晰度像素以及按需方式计算1/4清晰度子像素的值才是最有效的。这将具有在计算的复杂性/负担保持在一个可接受的水平的同时限制存储器使用的效果。另一方面,在解码器中不预先计算任何子像素将是有益的。因此,应该理解的是该解码器的最佳实施例不包括在先子像素值内插部件845,而全部子像素值内插都是在按需子像素值内插部件890中执行。
在下面提供的内插法的描述中,将参考图14a中描绘的像素位置。图中的像素标记A表示原始像素(即处在单位水平和垂直位置的像素)。其它字母标记的像素表示将要被内插的子像素。随后的描述将秉持先前介绍的涉及像素和子像素位置的描述约定。
随后描述内插全部子像素位置所需的步骤:通过首先根据下式使用第K阶滤选计算一个中间值b获得标记为b的1/2清晰度子像素的值:
其中xi是滤光器系数的一个矢量,Ai是位于单位水平和单位垂直位置是原始像素值A的对应矢量,K是定义滤波器阶数的一个整数。因此,方程式(9)能够被重新表示成:
b=x1A1+x2A2+x3A3+....+xK-1AK-1+xKAK (10)
随着实施例的不同,滤波器系数xi的值和滤光器K的阶数可以变化。同样地,在一个实施例中的不同子像素的计算中可以使用不同系数值。在其它实施例中,滤波器系数xi的值和滤光器的阶数可以取决于正在内插的是哪些1/2清晰度b子像素。像素Ai相对于正在内插的1/2清晰度子像素b是对称放置的,并且是该子像素的最邻近像素。在1/2清晰度子像素b位于半水平和单位垂直位置的情况下,像素Ai相对于b水平放置(如图14b所示)。如果正在内插位于单位水平和半垂直位置的1/2清晰度子像素b,则像素Ai相对于b垂直放置(如图14c所示)。
通过由一个恒定的比例1除中间值b、对其舍位而获得一个整数并且限幅该结果处在范围[0,2n-1]中而计算1/2清晰度子像素b的终值。在本发明的可选实施例中,可以执行四舍五入而不是舍位。常数比例最好被选择等于滤光器系数xi的取和。
通过首先根据下式使用第M阶滤选计算一个中间值c获得标记为c的1/2清晰度子像素的值:
其中yi是滤光器系数的一个矢量,bi是中间值bi在水平或垂直方向中的对应矢量,即:
c=y1b1+y2b2+y3b3+....+yM-1bM-1+yMbM (12)
随着实施例的不同,滤波器系数yi的值和滤光器M的阶数可以变化。同样地,在一个实施例中的不同子像素的计算中可以使用不同系数值。b值最好是1/2清晰度子像素b的中间值,1/2清晰度子像素b相对于1/2清晰度子像素c对称地放置并且是子像素c的最邻近的子像素。在本发明的一个实施例中,1/2清晰度子像素b相对于子像素c水平放置,在一个可选实施例中它们相对于子像素c垂直放置。
通过由一个恒定的比例2除中间值c、对其舍位而获得一个整数并且限幅该结果处在范围[0,2n-1]中而计算1/2清晰度子像素c的终值。在本发明的可选实施例中,可以执行四舍五入而不是舍位。恒定的比例2最好等于比例1*比例2。
应该指出,使用在水平方向上的中间值b得到的结果与使用在垂直方向上的中间值b得到的结果相同。
针对标记为h的1/4清晰度子像素有两种可选的内插值。二者都包括沿着对角线链接与正被内插的1/4清晰度子像素h相邻的1/2清晰度子的线性内插。在第一实施例中,通过对最接近子像素h的两个1/2清晰度子像素b的值取平均来计算子像素h的值。在第二实施例中,通过对最接近的像素A和最接近的1/2清晰度子像素c的值取平均来计算子像素h的值。应该理解,这将提供使用对角内插的不同组合来确定在4个图像像素A的不同组的限制之内的子像素h的值的可能性。然而还将认识到,在编码器和解码器中应该使用相同的组合,以便生产完全相同的内插结果。图15描述了用于在一个图像之内的4像素的相邻组中的子像素h的对角内插的4种可能的选择。在TML环境中的模拟已经证实,两个实施例产生类似的压缩效率。第二实施例具有较高的复杂性,因为子像素c的计算要求计算几个中间值。因此第一实施例是最佳的。
使用线性内插从其最接近的水平相邻的值计算标记为d和g的1/4清晰度子像素的值。换句话说,通过其最接近的水平相邻像素,即取原始图像像素A和1/2清晰度子像素b的平均,获得1/4清晰度子像素d的值。类似地,通过取得1/2清晰度子像素b和c这两个最接近的水平相邻子像素的平均值获得1/4清晰度子像素g的值。
使用线性内插从其最接近的垂直方向中的相邻的值计算标记为e、f和i的1/4清晰度子像素的值。更具体地说,通过取得其两个最接近的垂直相邻像素,原始图像像素A和1/2清晰度子像素b的平均值,获得1/4清晰度子像素e的值。类似地,通过取得1/2清晰度子像素b和c这两个最接近的垂直相邻子像素的平均值获得1/4清晰度子像素f的值。在本发明的一个实施例中,以刚结合1/4清晰度子像素f描述的相同方式获得1/4清晰度子像素i的值。但是在本发明的一个可选实施例中,与先前描述的H.26测试模型TML5和TML6共同的是,根据(A1+A2+A3+A4+2)/4使用四个最接近的原始图像像素的值确定1/4清晰度子像素i。
还应该注意,在其中包括像素和/或子像素值的一个平均值被确定的全部情况中,该平均值可以按照任何适合方式形成。例如,1/4清晰度子像素d的值能够被定义为d=(A+b)/2,或定义为d=(A+b+1)/2。对于像素A和1/2清晰度子像素b的值的取和加1具有的效果是使得随后应用的任何四舍五入或舍位操作把d值四舍五入或舍位为下一个最高整数值。这对于任何整数值的取和都是成立的,并且可被用于根据本发明的方法执行的任何平均操作,以便控制四舍五入或舍位效果。
应该指出,根据本发明的子像素值内插法提供了优于TML5和TML6的每一个的优点。
与其中某些1/4清晰度子像素的值取决于针对其它1/4清晰度子像素获得的先前内插值的TML5相反,在根据本发明的方法中,全部1/4清晰度子像素都是使用线性内插从原始图像像素或1/2清晰度子像素位置计算的。因此,由于其它1/4清晰度子像素的中间舍位和限幅而引起在TML5中从其它1/4清晰度子像素计算的那些1/4清晰度子像素值中的精度的降低的问题将不在根据本发明的方法中出现。具体地说,参考图14a,1/4清晰度子像素h(以及在本发明的一个实施例中的子像素i)被对角地内插,以便降低对于其它1/4像素的相关性。此外,与TML5比较,在根据本发明的方法中,为在解码器中获得那些1/4清晰度子像素的值所需的计算数目(因此处理器周期数目)被降低。另外,任何1/4清晰度子像素值的计算要求的计算数目实质上类似于为确定的任何其它1/4清晰度子像素值所需的计算数目。更具体地说,在已经可得到要求的1/2清晰度子像素值的情形中,例如在它们已经在先计算的情形中,为了从预先计算的1/2清晰度子像素值内插一个1/4清晰度子像素值而需要的计算的数量与为了从可得到的1/2清晰度子像素值计算任何其它1/4清晰度子像素值要求的计算的数量相同。
与TML6相比较,根据本发明的方法不需要在全部子像素的计算使用高精度算法。具体地说,由于全部的1/4清晰度子像素值都是使用线性内插从原始图像像素或1/2清晰度子像素值计算的,所以在其内插能使用较低精度的算法。结果是,在本发明方法的硬件实现方面,例如在ASIC(专用集成电路)中,利用低精度算法降低了必须被专用于1/4清晰度子像素值的计算的元件(例如门电路)的数量。这又降低了必须专用于该内插功能的硅片的总面积。事实上,因为大多数的子像素是1/4清晰度子像素(图14a中示出的是15个子像素的12个),所以就此考虑由本发明提供的优点被尤其显著。在软件实施方案中,其中使用常规用途CPU(中央处理器单元)或使用DSP(数字信号处理器)的标准指令组执行子像素内插,所需的算法的精度中的降低一般导致能够执行的计算的速度上的增加。这在‘低成本’实施方案中是特别有益的,其中所希望的是利用一个常规用途CPU而不是任何形式的ASIC。
与TML5比较,根据本发明的本方法提供更进一步的优点。如先前陈述的那样,在任何给定时间,解码器仅需要15个子像素位置中的1个,即由接收运动矢量信息指示的1个子像素位置。因此,如果能够利用导致正确内插值的最小步骤数目计算在任何子像素位置中的子像素的值将是有益的。根据本发明的方法提供了这种能力。如在上述提供的详细描述中陈述的那样,可以通过在垂直或水平方向中的滤选内插1/2清晰度子像素c,针对c获得同一个值而不考虑是否使用水平或垂直滤选。因此,当以这样的方式减小所需的操作的数量来计算1/4清晰度子像素f和g的值时,解码器能够利用这一特性,以便获得所需的值。例如,如果解码器需要1/4清晰度子像素f的值,则在垂直方向内插1/2清晰度子像素c。如果需要1/4清晰度子像素g的值,则在水平方向内插一个c值是有益的。因此总的来说,根据本发明的方法提供了针对某些1/4清晰度子像素的值的得出方式的灵活性。TML5中没有提供这样的灵活性。
现将详细描述两个具体的实施例。第一个表示用于计算具有达到1/4像素清晰度的最佳实施例,而在第二个实施例中把根据本发明的方法扩展到用于具有达到1/2像素清晰度的子像素值的计算。针对两个实施例,都提供了在等效环境中的在根据本发明方法的使用而产生的计算复杂性/负担和根据TML5和TML6的内插法产生的计算复杂性/负担之间的比较。
以1/4像素清晰度内插子像素的最佳实施例将根据图14a、14b和14c描述。在下列描述中,假设所有的图像像素和用于子像素的最终内插值都以8比特表示。
在i)半单位水平和单位垂直位置以及ii)单位水平和半单位垂直位置的1/2清晰度子像素的计算。
1.通过使用六个像素(A1至A6)首先计算中间值b=(A1-5A2+20A3+20A4-5A5+A6)获得在半单位水平和单位垂直位置的子像素的值,即图14a中的1/2清晰度子像素b,如图14b和14c所示,这六个像素(A1至A6)是位于包含b的像素行或列中的单位水平和单位垂直位置的像素,并且关于b对称地放置。1/2清晰度子像素b的最终值被计算为(b+16)/32,其中以舍位操作/表示分割。该结果被限值在范围[0,255]中。
在半单位水平和半单位垂直位置的1/2清晰度子像素的计算。
2.使用六个最接近的1/2清晰度子像素的中间值b把在半单位水平和半单位垂直位置的子像素的值,即图14a中的1/2清晰度子像素c计算为c=(b1-5b2+20b3+20b4-5b5+b6+512)/1024,这六个最接近的1/2清晰度子像素处在包含c的子像素的行或列中,并且关于c对称地放置。同样,以舍位操作/表示分割,并且该结果被限值在范围[0,255]中。如先前阐明的那样,使用在该水平方向中的1/2清晰度子像素的中间值b得到与使用在垂直方向中的1/2清晰度子像素b的中间值b相同的结果。因此,在根据本发明的一个编码器中,能够根据一个实现方案的最佳模式选择用于内插1/2清晰度子像素b方向。在根据本发明的一个解码器,根据将使用针对1/2清晰度子像素c获得的结果而被内插的任何1/4清晰度子像素来选择用于内插子像素b的方向。
在i)四分之一单位水平和单位垂直位置;ii)四分之一单位水平和半单位垂直位置;iii)单位水平和四分之一单位垂直位置;以及iv)半单位水平和四分之一单位垂直位置的1/4清晰度子像素的计算。
3.使用在水平方向中的最接近的原始图像像素A和最接近的1/2清晰度子像素b,根据d=(A+b)/2计算位于四分之一单位水平和单位垂直位置的1/4清晰度子像素d的值。类似地,使用在水平方向中的两个最接近的1/2清晰度子像素,根据g=(b+c)/2计算位于四分之一单位水平和半单位垂直位置的1/4清晰度子像素g的值。以类似的方式,使用在垂直方向中的最接近的原始图像像素A和最接近的1/2清晰度子像素b,根据e=(A+b)/2计算位于单位水平和四分之一单位垂直位置的1/4清晰度子像素e的值。使用在垂直方向中的两个最接近的1/2清晰度子像素,从f=(b+c)/2确定位于半单位水平和四分之一单位垂直位置的1/4清晰度子像素f的值。在全部情况中,以舍位来操作/表示分割。
在1/4单位水平和1/4单位垂直位置的1/4清晰度子像素的计算。
4.使用在对角方向中的两个最接近的1/2清晰度子像素,根据h=(b1+b2)/2计算位于1/4单位水平和1/4单位垂直位置的1/4清晰度子像素h的值。同样,以舍位来操作/表示分割。
5.使用四个最接近原始像素A从i=(A1+A2+A3+A4+2)/4计算标记为i的1/4清晰度子像素的值。再一次以舍位来操作/表示分割。
现将提供本发明的第一最佳实施例的计算复杂性的分析。
在编码器中,同一个子像素值将可能被计算多次。因此,如先前说明的那样,能够通过预先计算全部子像素值并且把它们存储在存储器中来降低该编码器的复杂性。然而,这种解决方案大范围地增加了存储器的使用。在本发明的该最佳实施例中,在水平和垂直方位上的1/4的运动矢量精确度都是1/4像素清晰度,储存整个图像的预先计算的子像素值需要的存储器是储存原始非内插图像像素所需存储器的16倍。为了降低存储器的使用,所有的1/2清晰度子像素都能被事先内插,并且1/4清晰度子像素能够被按需计算,即仅当它们需要时才被计算。根据本发明的方法,1/4清晰度子像素值的按需内插仅需要从1/2清晰度子像素线性内插。由于仅需要8比特来表示预先计算的1/2清晰度子像素,所以为了储存该预先计算的1/2清晰度子像素所需的存储器是原始的图像存储器的四倍。
但是,如果把在先内插的预先计算全部1/2清晰度子像素的同一个策略与TML6的直接内插方案结合使用,则该存储器需求增加至为了存储该原始非内插图像所需的存储器的9倍。这一结果来自这样的事实,即为了存储与TML6中的每一个1/2清晰度子像素相关的该高精度中间值,需要一个更大的比特数。此外,由于必须针对每一1/2和1/4子像素位置执行定标和限值,所以在TML6的运动估计期间的子像素内插的复杂性更高。
下面把根据本发明的子像素值内插法应用在一个视频解码器中时的复杂性和使用在TML5和TML6中的内插方案的复杂性相比较。在随后的整个分析中,假设在每一个方法中仅使用为了获得一个正确内插值所需的最小步骤数执行任一子像素值的内插。进一步假定,每一个方法都以数据块为基础的方式实现,即对于将要被内插在一个具体N×M数据块中的共同的中间值仅被计算一次。图16中提供了一个说明性的实例。参考图16可见,为了计算1/2清晰度子像素c的一个4×4的数据块,首先计算1/2清晰度子像素b的一个9×4数据块。
与使用在TML5中的子像素值内插法相比较,因为下列原因,根据本发明的方法具有一个较低的计算复杂性:
1.与使用在TML5中的子像素值内插方案不同,根据本发明的方法,能够通过在垂直或水平方向中的滤选而获得1/2清晰度子像素c的值。因此,为了降低操作数,如果需要1/4清晰度子像素f的一个值则能够在垂直方向内插1/2清晰度子像素c,并且如果需要1/4清晰度子像素像素g的值则能够在水平方向内插1/2清晰度子像素c。作为一个实例,图17示出为了在由4×4原始图像像素定义的一个图像数据块中内插1/4清晰度子像素g的值,使用TML5的内插法(图17a)和使用根据本发明的方法(图17b)而必须计算的全部1/2清晰度子像素值。在此实例中,根据TML5的子像素值内插法需要总数为将要被内插的88个1/2清晰度子像素,而根据本发明的方法则要求72个1/2清晰度子像素的计算。如能够从图17b中所见,根据本发明,在水平方向内插1/2清晰度子像素c,以便降低所需计算的数量。
2.根据本发明的方法,通过线性内插从其对角方向中的两个最邻近的1/2清晰度子像素计算1/4清晰度子像素h。为了使用根据TML5的子像素值内插法和根据本发明的方法获得在原始图像像素的4×4数据块之内的1/4清晰度子像素h的值所必须计算的不同的1/2清晰度子像素的数目分别在图18(a)和18(b)中示出。使用根据TML5的方法必需内插总数为56的1/2清晰度子像素,而使用根据本发明的方法则必需内插40个1/2清晰度子像素。
表格1总结了在此考虑的根据TML5、使用在TML6中的直接内插法和根据本发明方法的三个子像素值内插法的解码器复杂性。复杂性是依据6抽头滤选器并执行线性内插操作测量到的。假设1/4清晰度子像素i的内插是根据i=(A1+A2+A3+A4+2)/4计算的,该内插是双线性插值并且实际上包括两个线性内插操作。针对15个子像素位置的每一个列出利用原始图像像素的一个4×4数据块内插子像素值所需要的操作,为了参考的方便起见,15个子像素位置在根据图19所示方案中被编号。参考图19,位置1是原始图像像素A的位置,而位置2至16是子像素位置。位置16是1/4清晰度子像素i的位置。为了计算操作的平均数,已经假定针对每一个子像素位置的运动矢量的概率是相同的。因此,平均复杂性是针对每一子像素位置以及单一完整像素位置计算的该15个取和的平均。
TML5 | TML6 | 发明的方法 | ||||
位置 | 线性 | 6抽头 | 线性 | 6抽头 | 线性 | 6抽头 |
1 | 0 | 0 | 0 | 0 | 0 | 0 |
3,9 | 0 | 16 | 0 | 16 | 0 | 16 |
2,4,5,13 | 16 | 16 | 0 | 16 | 16 | 16 |
11 | 0 | 52 | 0 | 52 | 0 | 52 |
7,15 | 16 | 52 | 0 | 52 | 16 | 52 |
10,12 | 16 | 68 | 0 | 52 | 16 | 52 |
6,8,14 | 48 | 68 | 0 | 52 | 16 | 52 |
16 | 32 | 0 | 32 | 0 | 32 | 0 |
平均值 | 19 | 37 | 2 | 32 | 13 | 28.25 |
表格1:在TML5、TML6以及根据本发明方法中的1/4清晰度子像素内插的复杂性。
从表格1能够看到,根据本发明的方法需要的6抽头滤选器操作比根据TML6和子像素值内插法要少,并且只有少数附加线性内插操作。由于6抽头滤选器操作要比线性内插复杂得多,所以两个方法的操作复杂性相似。根据TML5的子像素值内插法具有相当高的复杂性。
现将参照图20、21和22描述用于把子像素内插至1/8像素清晰度的最佳实施例。
图20表示在根据本发明的该方法的扩展应用中用于描述像素、1/2清晰度子像素、1/4清晰度子像素和1/8清晰度子像素的名称。
1.使用位于在包含关于1/2清晰度子像素b2对称放置的b1、b2和b3的行或列中的单位水平和单位垂直位置的八个最接近的图像像素(A1至A8)的值,通过首先计算中间值b1=(-3A1,+12A2-37A3+229A4+71A5-21A6+6A7-A8);b2=(-3A1+12A2-39A3+158A4+158A5-39A6+12A7-3A8)和b3=(-A1+6A2-21A3+71A4+229A5-37A6+13A7-3A8),获得图20中标记为b1、b2和b3的1/2清晰度和1/4清晰度子像素的值。考虑到像素A1至A8不是相对于1/4清晰度子像素b1和b3对称放置的事实,滤选器系数中的不对称性被用于获得中间值b1和b3。根据bi=(bi+128)/256计算子像素bi的终值(i=1、2、3),其中以舍位操作/表示分割。该结果被限值在范围[0,255]中。
2.使用针对在该垂直方向中的八个最接近的子像素(b1 j至b8 j)计算的中间值b1、b2和b3,根据
和
而计算标记为cij的1/2清晰度和1/4清晰度子像素的值,i,j=1、2、3,子像素bj处在包括正被内插并且关于1/2清晰度子像素c2j对称放置的1/2清晰度和1/4清晰度子像素cij的列中。考虑到像素b1 j至b8 j不是相对于1/4清晰度子像素c1j和c3j对称放置的事实,滤选器系数中的不对称性被用于获得子像素c1j和c3j。再一次以截断操作/表示分割。在子像素cij的内插值被存储在帧存储器中之前,它们被限值到范围[0,255]。在本发明的一个可选实施例中,以使用水平方向中的中间值b1、b2和b3的类似方式计算1/2清晰度和1/4清晰度子像素cij。
3.使用线性内插从水平或垂直方向中的最接近的相邻图像像素、1/2清晰度或1/4清晰度子像素而计算标记为d的1/8清晰度子像素的值。例如,根据d=(A+b1+1)/2计算最左上方1/8清晰度子像素d。如同以前,以舍位操作/表示分割。
4.使用线性内插从对角的方向中的图像像素、1/2清晰度或1/4清晰度子像素而计算标记为e和f的1/8清晰度子像素的值。例如,参考图20,根据e=(b1+b1+1)/2计算最左上的像素1/8清晰度子像素e。在本发明第一最佳实施例中将要使用在每一1/8清晰度子像素的内插中的对角方向,下文称作‘最佳方法1’,在图21(a)中表示。根据g=(A+3c22+3)/4计算标记为g的1/8清晰度子像素的值。如同以前,以舍位操作/表示分割。在本发明的一个可选实施例中,下文称作‘最佳方法2’,根据关系式f=(3b2+b2+2)/4,通过使用线性内插从1/2清晰度子像素b2内插1/8清晰度子像素b2而进一步降低计算复杂性。更接近f的子像素b2被乘以3。使用在本发明可选实施例中的对角内插方案在图21(b)中描述。在其它可选实施例中,能够考虑不同的对角内插方案。
应该指出,在其中包括像素和/或子像素值的一个平均值被使用在子像素清晰度的确定的全部情况中,该平均值可以按照任何适合方式形成。使用在这样一个平均值的计算中对于值的取和的加1具有的效果是使得随后应用的任何四舍五入或舍位该平均值的操作把关注的平均值四舍五入或舍位为下一个最高整数值。在本发明的另一实施例中,不使用加1操作。
当在对先前描述的1/4像素清晰度的子像素值内插的情况下,能够通过只预先计算将要内插的子像素值的一部分而降低编码器中的存储器需求。在子像素值内插为1/8像素清晰度的情况下,事先计算全部1/2清晰度和1/4清晰度子像素而仅当需要时才以按需方式计算1/8清晰度子像素的值是有益的。当采用该方案时,根据TML5和根据本发明的两个内插法都需要16时间的原始图像存贮器来存储该1/2清晰度和1/4清晰度子像素值。但是,如果以相同的方式使用根据TML6的直接内插法,则必须存储1/2像素清晰度和1/4像素清晰度的子像素的中间值。这些中间值以32比特精度表示,并且导致对于原始的非内插图像的64倍的存储器需求。
下面把根据本发明的子像素值内插法应用在一个视频解码器中计算达到1/8像素清晰度时的复杂性和使用在TML5和TML6中的内插方案的复杂性相比较。如上述对于1/4像素清晰度子像素值内插的等效分析那样,假设在任一子像素值的内插方法中都仅使用最小数目的所需步骤执行,以便获得一个正确的内插值。还假定,每一个方法都以数据块为基础的方式实现,使得对于将要被内插在一个具体N×M数据块中的共同的中间值仅被计算一次。
表格2总结了三个内插法的复杂性。每一个方法中的复杂性都是依据8抽头滤选器并执行线性内插操作测量到的。该表格给出在原始图像像素的4×4数据块中内插63个1/8清晰度子像素的每一个所需操作的数量,每一个子像素位置都以对应的数目标识,如图22中示出。在图22中,位置1是原始图像像素的位置,而位置2至64是子像素位置。当计算操作的平均数时,已经假定针对每一个子像素位置的运动矢量的概率是相同的。因此,平均复杂性是针对每一子像素位置以及单一完整像素位置计算的该63个取和的平均。
TML5 | TML6 | 最佳方法1 | 最佳方法2 | |||||
位置 | 线性 | 8抽头 | 线性 | 8抽头 | 线性 | 8抽头 | 线性 | 8抽头 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
3,5,7,17,33,49 | 0 | 16 | 0 | 16 | 0 | 16 | 0 | 16 |
19,21,23,35,37,39,51,53,55 | 0 | 60 | 0 | 60 | 0 | 60 | 0 | 60 |
2,8,9,57 | 16 | 16 | 0 | 16 | 16 | 16 | 16 | 16 |
4,6,25,41 | 16 | 32 | 0 | 16 | 16 | 32 | 16 | 32 |
10,16,58,64 | 32 | 76 | 0 | 60 | 16 | 32 | 16 | 32 |
11,13,15,59,61,63 | 16 | 60 | 0 | 60 | 16 | 60 | 16 | 60 |
18,24,34,40,50,56 | 16 | 76 | 0 | 60 | 16 | 60 | 16 | 60 |
12,14,60,62 | 32 | 120 | 0 | 60 | 16 | 32 | 16 | 32 |
26,32,42,48 | 32 | 108 | 0 | 60 | 16 | 32 | 16 | 32 |
20,22,36,38,52,54 | 16 | 120 | 0 | 60 | 16 | 76 | 16 | 76 |
27,29,31,4 3,45,47 | 16 | 76 | 0 | 60 | 16 | 76 | 16 | 76 |
28,30,44,46 | 32 | 152 | 0 | 60 | 16 | 60 | 16 | 60 |
平均值 | 64 | 290.25 | 0 | 197.75 | 48 | 214.75 | 48 | 192.75 |
表格2:在TML5、TML6以及根据本发明方法中的1/8清晰度子像素内插的复杂性。(针对最佳方法1和最佳方法2分别地示出结果)。
如能够从表格2中所见,根据最佳方法1和最佳方法2执行的8抽头滤选操作的数量分别比在TML5的子像素值内插法中执行的8抽头滤选操作的数量低26%和34%。与TML5比较,最佳方法1和最佳方法2中的线性运算低25%,但是与在8抽头滤选操作中降低相比,这是不大重要的改善。能够进一步看出,使用在TML6中的直接内插法具有的复杂性与把最佳方法1和最佳方法2用于1/8清晰度子像素的内插值时的复杂性类似。
据前所述的描述,本领域技术人员显然理解,在本发明的范围在可以进行各种改进。虽然已经详细描述了本发明的几个最佳实施例,但是应该显,此外可能有全部落入本发明实际精神范围中的许多修改和变更。
Claims (46)
1.一种在视频编码中的内插方法,其中的图像包括以行和列排列并且由具有指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该图像被内插来产生用于在部分水平和垂直位置的子像素的值,该部分水平和垂直位置对应1/2x定义,其中x是具有最大值为N的一个正整数,该方法包括步骤:
a)当需要1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值时,直接使用处在单位水平和单位垂直位置的像素加权取和内插这些值;
b)当需要在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值时,直接使用处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和之中选择的一个来内插这些值,该子像素值的第一和第二加权取和是根据步骤(a)计算的;以及
c)当需要处在1/2N单位水平和1/2N单位垂直位置的一个子像素的值时,通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均来内插这样的一个值,变量m、n、p和q取在范围1至N的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的该子像素对角地定位。
2.根据权利要求1的方法,其中第一和第二加权被使用在涉及步骤(c)中的加权平均,加权的相对反比于该第一和第二子像素或像素对于在1/2N单位水平和1/2N单位垂直位置的子像素的(直线对角)邻近程度。
3.根据权利要求2的方法,其中在第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的子像素对称地放置(等距)的情形中,该第一和第二加权具有相等的值。
4.根据在前的权利要求任何之一的方法,其中当需要在1/2N-1单位水平和1/2N单位垂直位置的一个子像素时,使用步骤b)中用于处在1/2N-1单位水平和单位垂直位置的子像素的值的第一加权和。
5.根据在前的权利要求任何之一的方法,其中当需要在1/2N单位水平和1/2N-1单位垂直位置的一个子像素时,使用步骤b)中用于处在单位水平和1/2N-1单位垂直位置的子像素的值的第二加权和。
6.根据在前的权利要求任何之一的方法,其中,当需要1/2N单位水平和单位垂直位置以及1/2N水平和1/2N-1垂直位置的子像素值时,通过取得一个第一个像素或子像素的值和一个第二像素或子像素的值的平均值来内插这样的值,该第一个像素或子像素处在对应于正被计算的子像素的垂直位置和单位水平位置,而该第二像素或子像素处在对应于正被计算的子像素的垂直位置和1/2N-1单位水平位置。
7.根据在前的权利要求任何之一的方法,其中当需要在单位水平和1/2N单位垂直位置、以及1/2N-1单位水平和1/2N单位垂直位置的子像素的值时,通过取得处在对应于正被计算的该子像素的水平位置和单位垂直位置的第一个像素或子像素的值和处在对应于正被计算的该子像素的水平位置和1/2N-1单位垂直位置的第二像素或子像素的值的平均值内插这种值。
8.根据在前的权利要求任何之一的方法,其中通过取得处在单位水平和单位垂直位置的一个像素的值和处在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值的平均值来内插在1/2N单位水平和1/2N单位垂直位置的子像素的值。
9.根据在前的权利要求任何之一的方法,其中通过取得处在1/2N-1单位水平和单位垂直位置的一个子像素的值和处在单位水平和1/2N-1单位垂直位置的子像素的值的平均值,来内插在1/2N单位水平和1/2N单位垂直位置的子像素的值。
10.根据在前的权利要求任何之一的方法,其中通过取得第一对儿值的平均值来内插在1/2N单位水平和1/2N单位垂直位置的子像素的半值,并且通过取得第二对儿值的平均值来内插在1/2N单位水平和1/2N单位垂直位置的另一半值,该第一对儿值是处在1/2N-1单位水平和单位垂直位置的一个子像素的值以及处在单位水平和1/2N-1单位垂直位置的一个子像素的值,而该第二对儿值是处在单位水平和单位垂直位置的像素的值以及处在1/2N-1单位水平和1/2N-1单位垂直位置的一个子像素的值。
11.根据权利要求10的方法,其中通过取得第一对儿值的平均值把在1/2N单位水平和1/2N单位垂直位置的子像素的值交替内插用于一个这种子像素,以及通过取得第二对儿值的平均值把在1/2N单位水平和1/2N单位垂直位置的子像素的值内插用于相邻这种子像素的像素,该第一对儿值是处在1/2N-1单位水平和单位垂直位置的一个子像素的值以及处在单位水平和1/2N-1单位垂直位置的一个子像素的值,而该第二对儿值是处在单位水平和单位垂直位置的一个像素的值以及处在1/2N-1单位水平和1/2N-1单位垂直位置的一个子像素的值。
12.根据权利要求11的方法,其中在1/2N单位水平和1/2N单位垂直位置的子像素可以在一个水平方向上交替内插。
13.根据在前的权利要求任何之一的方法,其中当需要在1/2N单位水平和1/2N单位垂直位置的某些子像素的值时,通过取得多个最接近的相邻像素的平均值来内插这些值。
14.根据在前的权利要求任何之一的方法,其中N等于从包括值2、3和4的一个列表中选择的一整数。
15.根据在前的权利要求任何之一的方法,其中在直接使用加权取和进行子像素值内插的步骤a)和步骤b)的至少之一中包括针对具有大于指定动态范围的一个动态范围的子像素值的一个中间值的计算。
16.根据权利要求15的方法,其中具有1/2N-1子像素清晰度的一个子像素的中间值被用于具有1/2N子像素清晰度的一个子像素值的计算。
17.一种在视频编码中的内插方法,其中的一个图像包括以行和列排列并且由具有指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该图像被内插来产生用于在部分水平和垂直位置的子像素的值,该方法包括步骤:
a)当需要半单位水平和单位垂直位置、以及单位水平和半单位垂直位置的子像素的值时,直接使用处在单位水平和单位垂直位置的像素加权和内插这些值;
b)当需要在半单位水平和半单位垂直位置的子像素时,直接使用根据步骤(a)计算的用于在半单位水平和单位垂直位置的子像素的值的一个加权和内插这些值;以及
c)当需要在四分之一单位水平和四分之一单位垂直位置的子像素的值时,通过取得一个第一对儿子像素的值和一个第二对儿像素的值的至少一对儿的平均值内插这种值,该第一对儿子像素是处在半单位水平和单位垂直位置的一个子像素以及处在单位水平和半单位垂直位置的一个子像素,而该第二对儿像素值是处在一个单位水平和单位垂直位置的一个像素以及处在半单位水平和半单位垂直位置的一个子像素。
18.一种在视频编码中的内插方法,其中的图像包括以行和列排列并且由具有指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该图像被内插来产生用于在部分水平和垂直位置的子像素的值,该部分水平和垂直位置对应1/2x定义,其中x是具有最大值为N的一个正整数,该方法包括步骤:
a)当需要1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值时,直接使用处在单位水平和单位垂直位置的像素加权取和内插这些值;
b)当需要在一个子像素水平和子像素垂直位置的一个子像素的值时,直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择内插这样的一个值。
19.根据权利要求18的方法,其中使用在该第一加权取和中的子像素是处在1/2N-1单位水平和单位垂直位置的子像素,并且该第一加权取和被用于内插在1/2N-1单位水平和1/2N单位垂直位置的一个子像素的值。
20.根据权利要求18或19的方法,其中使用在该第二加权取和中的子像素是处在单位水平和1/2N-1单位垂直位置的子像素,并且该第二加权取和被用于内插在1/2N单位水平和1/2N-1单位垂直位置的一个子像素的值。
21.根据权利要求18至20任何之一的方法,其中当需要在1/2N单位水平和1/2N单位垂直位置的子像素的值时,通过取得一个第一对儿值和一个第二对儿值的至少一对儿的平均值内插这种值,该第一对儿值是处在1/2N-1单位水平和单位垂直位置的一个子像素的值以及处在单位水平和1/2N-1单位垂直位置的一个子像素的值,而该第二对儿像素是处在一个单位水平和单位垂直位置的一个像素的值以及处在1/2N-1单位水平和1/2N-1单位垂直位置的一个子像素的值。
22.用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该视频编码器包括用于产生在部分水平和垂直位置的子像素值的一个内插器,根据1/2x定义该部分水平和垂直位置,其中x是具有最大值为N的一个正整数,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择来内插在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值,该子像素值的第一和第二加权取和是根据步骤(a)计算的;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均,来内插处在1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的该子像素对角地定位。
23.根据权利要求22的视频编码器,包括一个视频编码器。
24.根据权利要求22的视频编码器,包括一个视频解码器。
25.用于编码一个图像的编解码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该编解码器包括一个视频编码器和一个视频解码器,该视频编码器和该视频解码器的每一个都包括一个内插器,用于产生在部分水平和垂直位置的子像素值,根据1/2x定义该部分水平和垂直位置,其中x是具有最大值为N的一个正整数,该视频编码器的内插器和视频解码器的内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择,来内插在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值,该子像素值的第一和第二加权取和是根据步骤(a)计算的;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均,来内插处在1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的该子像素对角地定位。
26.一种通信终端,包括一个用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,该行中的像素处在单位水平位置和该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,该部分水平和垂直位置是根据1/2x定义的,其中x是具有最大值为N的一个正整数,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择,来内插在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值,该子像素值的第一和第二加权取和是根据步骤(a)计算的;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均,来内插处在1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的该子像素对角地定位。
27.根据权利要求26的通信终端,包括一个视频编码器。
28.根据权利要求26或27的通信终端,包括一个视频解码器。
29.包括一个通信终端和一个网络的电信系统,该电信网络和该通信终端由一个通信线路连接,经过的通信线路能够发送编码的视频信号,该通信终端包括用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围表示的像素,该行中的像素处在单位水平位置而该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,该部分水平和垂直位置根据1/2x定义,其中x是具有最大值为N的一个正整数,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择,来内插在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值,该子像素值的第一和第二加权取和是根据步骤(a)计算的;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均,来内插处在1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的该子像素对角地定位。
30.根据权利要求29的电信系统,该电信系统是一个移动电信系统,包括移动通信终端和一个无线网络,在移动通信终端和无线网络之间的连接由一个无线电链路形成。
31.权利要求29或30的电信系统,其中该网络使得该通信终端能够经过在另一通信终端和该网络之间的通信链路与连接到该网络的其它通信终端通信。
32.包括一个通信终端和一个网络的电信系统,该电信网络和该通信终端由一个通信线路连接,经过该通信线路能够发送编码的视频信号,该网络包括用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围表示的像素,该行中的像素处在单位水平位置而该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,该部分水平和垂直位置根据1/2x定义,其中x是具有最大值为N的一个正整数,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用处在1/2N-1单位水平和单位垂直位置的子像素值的第一加权取和以及处在单位水平和1/2N-1单位垂直位置的子像素值的第二加权取和的一个选择,来内插在1/2N-1单位水平和1/2N-1单位垂直位置的子像素的值,该子像素值的第一和第二加权取和是根据步骤(a)计算的;以及
c)通过取得位于1/2N-m单位水平和1/2N-n单位垂直位置的第一子像素或像素的值以及处在1/2N-p单位水平和1/2N-q单位垂直位置的第二子像素或像素的值的一个加权平均来内插处在1/2N单位水平和1/2N单位垂直位置的一个子像素的值,变量m、n、p和q取在范围1至N的整数值,使得该第一和第二子像素或像素相对于在1/2N单位水平和1/2N垂直位置的该子像素对角地定位。
33.用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该编码器包括用于产生在部分水平和垂直位置的子像素的值的一个内插器,该子像素的清晰度由一个正整数N确定,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择,来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
34.根据权利要求33的视频编码器,其中该内插器可被进一步用来使用处在1/2N-1单位水平和单位垂直位置的子像素的值形成该第一加权取和,并且使用该第一加权取和来内插在1/2N-1单位水平和1/2N单位垂直位置的一个子像素的值。
35.根据权利要求33或34的视频编码器,其中该内插器可被进一步用来使用处在1/2N-1单位水平和单位垂直位置的子像素的值形成该第二加权取和,并且使用该第二加权取和来内插在1/2N单位水平和1/2N-1单位垂直位置的一个子像素的值。
36.根据权利要求33到35任何之一的方法,其中通过取得一个第一对儿像素的值和一个第二对儿像素的值的至少一对儿的平均值,该内插器可被进一步用于内插在1/2N单位水平和1/2N单位垂直位置的子像素的值,该第一对儿像素是处在1/2N-1单位水平和单位垂直位置的一个子像素以和在单位水平和1/2N-1单位垂直位置的一个子像素,而第二对儿像素是处在单位水平和单位垂直位置的一个像素和处在1/2N-1单位水平和1/2N-1单位垂直位置的一个子像素。
37.根据权利要求33到36任何之一的视频编码器,包括一个视频编码器。
38.根据权利要求33到37任何之一的视频编码器,包括一个视频解码器。
39.用于编码一个图像的编解码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,在行中的像素处在单位水平位置而在列中的像素处在单位垂直位置,该编解码器包括一个视频编码器和一个视频解码器,该视频编码器和该视频解码器的每一个都包括一个内插器,用于产生在部分水平和垂直位置的子像素值,通过一个正整数N确定该子像素的清晰度,该视频编码器的内插器和视频解码器的内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择,来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
40.一种通信终端,包括一个用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围的值表示的像素,该行中的像素处在单位水平位置和该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,由一个正整数N确定该子像素的清晰度,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
41.根据权利要求40的通信终端,包括一个视频编码器。
42.根据权利要求40或41的通信终端,包括一个视频解码器。
43.包括一个通信终端和一个网络的电信系统,该电信网络和该通信终端由一个通信线路连接,经过该通信线路能够发送编码的视频信号,该通信终端包括用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围表示的像素,该行中的像素处在单位水平位置而该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,由一个正整数N确定该子像素的清晰度,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
44.根据权利要求43的电信系统,该电信系统是一个移动电信系统,包括移动通信终端和一个无线网络,在移动通信终端和无线网络之间的连接由一个无线电链路形成。
45.根据权利要求43或44的电信系统,其中该网络使得该通信终端能够经过在另一通信终端和该网络之间的通信链路与连接到该网络的其它通信终端通信。
46.包括一个通信终端和一个网络的电信系统,该电信网络和该通信终端由一个通信线路连接,经过该通信线路能够发送编码的视频信号,该网络包括用于编码一个图像的视频编码器,该图像包括以行和列排列并且由具有一个指定动态范围表示的像素,该行中的像素处在单位水平位置而该列中的像素处在单位垂直位置,该视频编码器包括一个内插器,用于产生在部分水平和垂直位置的子像素的值,由一个正整数N确定该子像素的清晰度,该内插器被用于:
a)直接使用处在单位水平和单位垂直位置的像素加权取和内插在1/2N-1单位水平和单位垂直位置、以及单位水平和1/2N-1单位垂直位置的子像素的值;
b)直接使用用于处在对应于正被计算的子像素的一个垂直位置的子像素的值的一个第一加权取和以及用于处在对应于正被计算的子像素的一个水平位置的子像素的值一个第二加权取和的一个选择,来内插在一个子像素水平和子像素垂直位置的一个子像素的值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/954,608 | 2001-09-17 | ||
US09/954,608 US6950469B2 (en) | 2001-09-17 | 2001-09-17 | Method for sub-pixel value interpolation |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101008867A Division CN101232622B (zh) | 2001-09-17 | 2002-09-11 | 用于子像素值内插的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1537384A true CN1537384A (zh) | 2004-10-13 |
CN1331353C CN1331353C (zh) | 2007-08-08 |
Family
ID=25495681
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028150856A Expired - Lifetime CN1331353C (zh) | 2001-09-17 | 2002-09-11 | 用于子像素值内插的方法 |
CN2007101008867A Expired - Lifetime CN101232622B (zh) | 2001-09-17 | 2002-09-11 | 用于子像素值内插的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101008867A Expired - Lifetime CN101232622B (zh) | 2001-09-17 | 2002-09-11 | 用于子像素值内插的方法 |
Country Status (18)
Country | Link |
---|---|
US (3) | US6950469B2 (zh) |
EP (1) | EP1433316B9 (zh) |
JP (3) | JP4698947B2 (zh) |
KR (3) | KR20080007276A (zh) |
CN (2) | CN1331353C (zh) |
AU (1) | AU2002324085C1 (zh) |
BR (1) | BR0211263A (zh) |
CA (1) | CA2452632C (zh) |
EE (1) | EE05594B1 (zh) |
ES (1) | ES2540583T7 (zh) |
HK (1) | HK1118411A1 (zh) |
HU (1) | HU228954B1 (zh) |
MX (1) | MXPA04000203A (zh) |
PT (1) | PT1433316E (zh) |
RU (2) | RU2317654C2 (zh) |
SG (1) | SG167662A1 (zh) |
WO (1) | WO2003026296A1 (zh) |
ZA (1) | ZA200308785B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835585B (zh) * | 2004-12-21 | 2011-07-13 | St微电子公司 | 用于快速执行子像素内插的方法和系统 |
CN102289830A (zh) * | 2010-06-07 | 2011-12-21 | 微软公司 | 利用测地仿射性的数据驱动内插 |
CN101411202B (zh) * | 2006-03-30 | 2011-12-28 | 株式会社东芝 | 图像编码装置和方法以及图像解码装置和方法 |
CN102402781A (zh) * | 2010-09-13 | 2012-04-04 | 慧荣科技股份有限公司 | 用来产生一高品质放大图像的方法及相关装置 |
US8472755B2 (en) | 2010-05-07 | 2013-06-25 | Silicon Motion Inc. | Method for generating a high quality up-scaled image, and associated device |
CN103283230A (zh) * | 2011-01-05 | 2013-09-04 | 高通股份有限公司 | 使用一维切换滤波器与一维自适应滤波器的组合的视频滤波 |
CN106998437A (zh) * | 2017-03-31 | 2017-08-01 | 武汉斗鱼网络科技有限公司 | 一种重建视频图像的方法及装置 |
CN109922329A (zh) * | 2017-12-13 | 2019-06-21 | 北京传送科技有限公司 | 虚拟现实影像数据的压缩方法、解压缩方法及装置 |
CN110073172A (zh) * | 2016-12-15 | 2019-07-30 | 奥迪股份公司 | 用于确定机动车的相对位置的方法、用于机动车的位置确定系统和机动车 |
Families Citing this family (210)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100311482B1 (ko) | 1999-10-21 | 2001-10-18 | 구자홍 | 보간 영상의 화질 개선을 위한 필터링 제어방법 |
US7266150B2 (en) * | 2001-07-11 | 2007-09-04 | Dolby Laboratories, Inc. | Interpolation of video compression frames |
US7082450B2 (en) | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
US6950469B2 (en) * | 2001-09-17 | 2005-09-27 | Nokia Corporation | Method for sub-pixel value interpolation |
EP1432249A4 (en) * | 2001-09-18 | 2007-12-05 | Matsushita Electric Ind Co Ltd | Image Coding Methods and Image Decoding Methods |
US7630566B2 (en) * | 2001-09-25 | 2009-12-08 | Broadcom Corporation | Method and apparatus for improved estimation and compensation in digital video compression and decompression |
US20030059089A1 (en) * | 2001-09-25 | 2003-03-27 | Quinlan James E. | Block matching at the fractional pixel level for motion estimation |
US7181070B2 (en) * | 2001-10-30 | 2007-02-20 | Altera Corporation | Methods and apparatus for multiple stage video decoding |
US20030099403A1 (en) * | 2001-11-13 | 2003-05-29 | Trusight Ltd. | Image compression with dynamic programming |
CN101448162B (zh) * | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
KR100924850B1 (ko) * | 2002-01-24 | 2009-11-02 | 가부시키가이샤 히타치세이사쿠쇼 | 동화상 신호의 부호화 방법 및 복호화 방법 |
US8175159B2 (en) * | 2002-01-24 | 2012-05-08 | Hitachi, Ltd. | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
US8284844B2 (en) | 2002-04-01 | 2012-10-09 | Broadcom Corporation | Video decoding system supporting multiple standards |
US7305034B2 (en) * | 2002-04-10 | 2007-12-04 | Microsoft Corporation | Rounding control for multi-stage interpolation |
US7116831B2 (en) | 2002-04-10 | 2006-10-03 | Microsoft Corporation | Chrominance motion vector rounding |
US7110459B2 (en) | 2002-04-10 | 2006-09-19 | Microsoft Corporation | Approximate bicubic filter |
US7620109B2 (en) * | 2002-04-10 | 2009-11-17 | Microsoft Corporation | Sub-pixel interpolation in motion estimation and compensation |
US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
KR100472476B1 (ko) * | 2002-08-31 | 2005-03-10 | 삼성전자주식회사 | 움직임 보상을 위한 보간 방법 및 그 장치 |
US7400774B2 (en) * | 2002-09-06 | 2008-07-15 | The Regents Of The University Of California | Encoding and decoding of digital data using cues derivable at a decoder |
US7231090B2 (en) * | 2002-10-29 | 2007-06-12 | Winbond Electronics Corp. | Method for performing motion estimation with Walsh-Hadamard transform (WHT) |
US7408988B2 (en) * | 2002-12-20 | 2008-08-05 | Lsi Corporation | Motion estimation engine with parallel interpolation and search hardware |
US7212676B2 (en) * | 2002-12-30 | 2007-05-01 | Intel Corporation | Match MSB digital image compression |
JP3997171B2 (ja) * | 2003-03-27 | 2007-10-24 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム |
US9330060B1 (en) | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US8660182B2 (en) * | 2003-06-09 | 2014-02-25 | Nvidia Corporation | MPEG motion estimation based on dual start points |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7426308B2 (en) * | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7567617B2 (en) | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7253374B2 (en) * | 2003-09-15 | 2007-08-07 | General Motors Corporation | Sheet-to-tube welded structure and method |
NO319629B1 (no) * | 2003-11-28 | 2005-09-05 | Tandberg Telecom As | Fremgangsmate for korrigering av interpolerte pikselverdier |
NO320114B1 (no) * | 2003-12-05 | 2005-10-24 | Tandberg Telecom As | Forbedret utregning av interpolerte pixelverdier |
EP1578137A2 (en) * | 2004-03-17 | 2005-09-21 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding apparatus with multistep interpolation process |
JP4419062B2 (ja) * | 2004-03-29 | 2010-02-24 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
EP1733562A1 (en) * | 2004-03-31 | 2006-12-20 | Koninklijke Philips Electronics N.V. | Motion estimation and segmentation for video data |
US8284835B2 (en) * | 2004-04-21 | 2012-10-09 | Panasonic Corporation | Motion compensating apparatus |
KR100605105B1 (ko) * | 2004-05-28 | 2006-07-26 | 삼성전자주식회사 | 영상 보간 장치 |
US7565020B2 (en) * | 2004-07-03 | 2009-07-21 | Microsoft Corp. | System and method for image coding employing a hybrid directional prediction and wavelet lifting |
CN100377599C (zh) * | 2004-09-03 | 2008-03-26 | 北京航空航天大学 | 一种快速亚像素运动估计方法 |
US20060088104A1 (en) * | 2004-10-27 | 2006-04-27 | Stephen Molloy | Non-integer pixel sharing for video encoding |
US7792192B2 (en) * | 2004-11-19 | 2010-09-07 | Analog Devices, Inc. | System and method for sub-pixel interpolation in motion vector estimation |
JP4277793B2 (ja) * | 2004-12-17 | 2009-06-10 | ソニー株式会社 | 画像処理装置、符号化装置およびそれらの方法 |
US7668455B2 (en) * | 2004-12-20 | 2010-02-23 | Fujifilm Corporation | Image capturing apparatus, image capturing method, reproducing apparatus, reproducing method and program |
TWI308841B (en) * | 2005-01-24 | 2009-04-11 | Via Tech Inc | Method and system for reducing the bandwidth access in video encoding |
JP4736456B2 (ja) * | 2005-02-15 | 2011-07-27 | 株式会社日立製作所 | 走査線補間装置、映像表示装置、映像信号処理装置 |
US8175168B2 (en) | 2005-03-18 | 2012-05-08 | Sharp Laboratories Of America, Inc. | Methods and systems for picture up-sampling |
WO2006106039A1 (en) * | 2005-04-06 | 2006-10-12 | Thomson Licensing | Method and apparatus for encoding enhancement layer video data |
JP4081103B2 (ja) * | 2005-05-11 | 2008-04-23 | 株式会社東芝 | 動画像符号化装置 |
US7526419B2 (en) * | 2005-05-24 | 2009-04-28 | International Business Machines Corporation | Methods for reconstructing data from simulation models |
JP5053275B2 (ja) * | 2005-07-28 | 2012-10-17 | トムソン ライセンシング | 階層的キャッシュを使うビデオ動き処理最適化のための方法および装置 |
US20070040837A1 (en) * | 2005-08-19 | 2007-02-22 | Seok Jin W | Motion vector estimation method and continuous picture generation method based on convexity property of sub pixel |
KR100623036B1 (ko) * | 2005-09-22 | 2006-09-13 | 삼익전자공업 주식회사 | 다이나믹 보간 주사에 의해 해상도를 향상시킨 전광판시스템 |
CN1859576A (zh) * | 2005-10-11 | 2006-11-08 | 华为技术有限公司 | 对空间分层编码视频图象的上采样方法及其系统 |
US8265151B1 (en) * | 2005-12-14 | 2012-09-11 | Ambarella Taiwan Ltd. | Mode decision using approximate 1/2 pel interpolation |
US8731071B1 (en) | 2005-12-15 | 2014-05-20 | Nvidia Corporation | System for performing finite input response (FIR) filtering in motion estimation |
US20070146242A1 (en) * | 2005-12-22 | 2007-06-28 | Eastman Kodak Company | High resolution display for monochrome images with color highlighting |
CN1794821A (zh) * | 2006-01-11 | 2006-06-28 | 浙江大学 | 可分级视频压缩中插值的方法与装置 |
JP4677351B2 (ja) * | 2006-02-17 | 2011-04-27 | キヤノン株式会社 | 動き補償器、動き補償処理方法、コンピュータプログラム及び記憶媒体 |
US8724702B1 (en) * | 2006-03-29 | 2014-05-13 | Nvidia Corporation | Methods and systems for motion estimation used in video coding |
WO2007114368A1 (ja) * | 2006-03-30 | 2007-10-11 | Kabushiki Kaisha Toshiba | 画像符号化装置及び方法並びに画像復号化装置及び方法 |
US8208553B2 (en) * | 2006-05-04 | 2012-06-26 | Altera Corporation | Methods and apparatus for quarter-pel refinement in a SIMD array processor |
JP4682384B2 (ja) * | 2006-07-11 | 2011-05-11 | 株式会社メガチップス | 1/4画素輝度用動き予測機構、組合せ輝度用動き予測機構、及び組合せ輝度・色差用動き予測機構 |
US8253752B2 (en) * | 2006-07-20 | 2012-08-28 | Qualcomm Incorporated | Method and apparatus for encoder assisted pre-processing |
US8155454B2 (en) * | 2006-07-20 | 2012-04-10 | Qualcomm Incorporated | Method and apparatus for encoder assisted post-processing |
US8660380B2 (en) | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
KR100804451B1 (ko) * | 2006-09-25 | 2008-02-20 | 광운대학교 산학협력단 | 영상처리의 1/4 픽셀 보간 방법 및 그의 프로세서 |
US9307122B2 (en) * | 2006-09-27 | 2016-04-05 | Core Wireless Licensing S.A.R.L. | Method, apparatus, and computer program product for providing motion estimation for video encoding |
KR100827093B1 (ko) * | 2006-10-13 | 2008-05-02 | 삼성전자주식회사 | 영상 부호화 방법 및 장치 |
KR100800761B1 (ko) * | 2006-10-19 | 2008-02-01 | 삼성전자주식회사 | 계산량을 최소화하는 색차 신호의 보간 방법 및 장치 |
KR101354659B1 (ko) * | 2006-11-08 | 2014-01-28 | 삼성전자주식회사 | 멀티 코덱을 지원하는 움직임 보상 방법 및 장치 |
KR100874949B1 (ko) | 2006-11-15 | 2008-12-19 | 삼성전자주식회사 | 단일 명령 다중 자료 프로세서 및 그것을 위한 메모리어레이 구조 |
JP4753204B2 (ja) * | 2006-11-17 | 2011-08-24 | 株式会社ソニー・コンピュータエンタテインメント | 符号化処理装置および符号化処理方法 |
US8411709B1 (en) | 2006-11-27 | 2013-04-02 | Marvell International Ltd. | Use of previously buffered state information to decode in an hybrid automatic repeat request (H-ARQ) transmission mode |
JP2008165381A (ja) * | 2006-12-27 | 2008-07-17 | Ricoh Co Ltd | 画像処理装置及び画像処理方法 |
KR101411315B1 (ko) * | 2007-01-22 | 2014-06-26 | 삼성전자주식회사 | 인트라/인터 예측 방법 및 장치 |
US8296662B2 (en) * | 2007-02-05 | 2012-10-23 | Brother Kogyo Kabushiki Kaisha | Image display device |
US8275041B2 (en) | 2007-04-09 | 2012-09-25 | Nokia Corporation | High accuracy motion vectors for video coding with low encoder and decoder complexity |
US8756482B2 (en) | 2007-05-25 | 2014-06-17 | Nvidia Corporation | Efficient encoding/decoding of a sequence of data frames |
US9118927B2 (en) | 2007-06-13 | 2015-08-25 | Nvidia Corporation | Sub-pixel interpolation and its application in motion compensated encoding of a video signal |
KR101380615B1 (ko) * | 2007-06-28 | 2014-04-14 | 삼성전자주식회사 | 영상 동적 범위 향상 방법 및 장치 |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8509567B2 (en) | 2007-07-09 | 2013-08-13 | Analog Devices, Inc. | Half pixel interpolator for video motion estimation accelerator |
US8873625B2 (en) | 2007-07-18 | 2014-10-28 | Nvidia Corporation | Enhanced compression in representing non-frame-edge blocks of image frames |
KR101396365B1 (ko) * | 2007-08-28 | 2014-05-30 | 삼성전자주식회사 | 영상의 시공간적 움직임 추정/보상 방법 및 장치 |
KR100909390B1 (ko) * | 2007-09-18 | 2009-07-24 | 한국과학기술원 | 고속 움직임 보상 장치 및 방법 |
JP4461165B2 (ja) * | 2007-09-26 | 2010-05-12 | 株式会社東芝 | 画像処理装置、方法およびプログラム |
JP4900175B2 (ja) * | 2007-10-04 | 2012-03-21 | セイコーエプソン株式会社 | 画像処理装置及び方法並びにプログラム |
AU2008306503A1 (en) * | 2007-10-05 | 2009-04-09 | Nokia Corporation | Video coding with pixel-aligned directional adaptive interpolation filters |
US8416861B2 (en) | 2007-10-14 | 2013-04-09 | Nokia Corporation | Fixed-point implementation of an adaptive image filter with high coding efficiency |
US8897393B1 (en) | 2007-10-16 | 2014-11-25 | Marvell International Ltd. | Protected codebook selection at receiver for transmit beamforming |
US8542725B1 (en) | 2007-11-14 | 2013-09-24 | Marvell International Ltd. | Decision feedback equalization for signals having unequally distributed patterns |
TWI389573B (zh) * | 2007-12-06 | 2013-03-11 | Mstar Semiconductor Inc | 僅依據水平方向之影像區塊執行影像處理運作的影像處理方法及其相關裝置 |
KR101456487B1 (ko) * | 2008-03-04 | 2014-10-31 | 삼성전자주식회사 | 부화소 단위의 움직임 예측을 이용한 영상 부호화, 복호화방법 및 그 장치 |
US8565325B1 (en) | 2008-03-18 | 2013-10-22 | Marvell International Ltd. | Wireless device communication in the 60GHz band |
US8971412B2 (en) * | 2008-04-10 | 2015-03-03 | Qualcomm Incorporated | Advanced interpolation techniques for motion compensation in video coding |
US8705622B2 (en) | 2008-04-10 | 2014-04-22 | Qualcomm Incorporated | Interpolation filter support for sub-pixel resolution in video coding |
RU2010145524A (ru) * | 2008-04-10 | 2012-05-20 | Квэлкомм Инкорпорейтед (US) | Симметрия для интерполяционной фильтрации субпиксельных позиций при кодировании видео |
US8831086B2 (en) * | 2008-04-10 | 2014-09-09 | Qualcomm Incorporated | Prediction techniques for interpolation in video coding |
US9077971B2 (en) | 2008-04-10 | 2015-07-07 | Qualcomm Incorporated | Interpolation-like filtering of integer-pixel positions in video coding |
US8804831B2 (en) | 2008-04-10 | 2014-08-12 | Qualcomm Incorporated | Offsets at sub-pixel resolution |
US9967590B2 (en) | 2008-04-10 | 2018-05-08 | Qualcomm Incorporated | Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter |
US20090257499A1 (en) * | 2008-04-10 | 2009-10-15 | Qualcomm Incorporated | Advanced interpolation techniques for motion compensation in video coding |
US8462842B2 (en) | 2008-04-10 | 2013-06-11 | Qualcomm, Incorporated | Symmetry for interpolation filtering of sub-pixel positions in video coding |
EP2304963B1 (fr) * | 2008-07-01 | 2015-11-11 | Orange | Procede et dispositif de codage d'images mettant en oeuvre une prediction amelioree, procede et dispositif de decodage, signal et programmes d'ordinateur correspondants |
US8811484B2 (en) * | 2008-07-07 | 2014-08-19 | Qualcomm Incorporated | Video encoding by filter selection |
CA2727767C (en) * | 2008-07-08 | 2016-02-02 | Nortech International (Pty) Limited | Apparatus and method of classifying movement of objects in a monitoring zone |
JP2010028220A (ja) * | 2008-07-15 | 2010-02-04 | Sony Corp | 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム |
US8761261B1 (en) * | 2008-07-29 | 2014-06-24 | Marvell International Ltd. | Encoding using motion vectors |
US8498342B1 (en) | 2008-07-29 | 2013-07-30 | Marvell International Ltd. | Deblocking filtering |
WO2010012925A1 (fr) * | 2008-07-29 | 2010-02-04 | France Telecom | Procede de mise a jour d'un codeur par interpolation de filtre |
WO2010017166A2 (en) | 2008-08-04 | 2010-02-11 | Dolby Laboratories Licensing Corporation | Overlapped block disparity estimation and compensation architecture |
US8345533B1 (en) | 2008-08-18 | 2013-01-01 | Marvell International Ltd. | Frame synchronization techniques |
US8750378B2 (en) * | 2008-09-23 | 2014-06-10 | Qualcomm Incorporated | Offset calculation in switched interpolation filters |
US8131056B2 (en) * | 2008-09-30 | 2012-03-06 | International Business Machines Corporation | Constructing variability maps by correlating off-state leakage emission images to layout information |
US8681893B1 (en) | 2008-10-08 | 2014-03-25 | Marvell International Ltd. | Generating pulses using a look-up table |
US8666181B2 (en) | 2008-12-10 | 2014-03-04 | Nvidia Corporation | Adaptive multiple engine image motion detection system and method |
US20100166076A1 (en) * | 2008-12-30 | 2010-07-01 | Tandberg Telecom As | Method, apparatus, and computer readable medium for calculating run and level representations of quantized transform coefficients representing pixel values included in a block of a video picture |
US20100165078A1 (en) * | 2008-12-30 | 2010-07-01 | Sensio Technologies Inc. | Image compression using checkerboard mosaic for luminance and chrominance color space images |
JP2010161747A (ja) * | 2009-01-09 | 2010-07-22 | Toshiba Corp | サブピクセル生成装置及び方法並びに動き補償装置 |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
JP5580541B2 (ja) * | 2009-03-06 | 2014-08-27 | パナソニック株式会社 | 画像復号化装置および画像復号化方法 |
US8520771B1 (en) | 2009-04-29 | 2013-08-27 | Marvell International Ltd. | WCDMA modulation |
US7991245B2 (en) * | 2009-05-29 | 2011-08-02 | Putman Matthew C | Increasing image resolution method employing known background and specimen |
JP2011030184A (ja) * | 2009-07-01 | 2011-02-10 | Sony Corp | 画像処理装置、及び、画像処理方法 |
JP5325745B2 (ja) * | 2009-11-02 | 2013-10-23 | 株式会社ソニー・コンピュータエンタテインメント | 動画像処理プログラム、装置および方法、動画像処理装置を搭載した撮像装置 |
KR101601848B1 (ko) * | 2009-12-01 | 2016-03-10 | 에스케이 텔레콤주식회사 | 인터 예측 프레임 생성장치 및 그 생성방법, 및 거기에 이용되는 참조 프레임 보간장치 및 그 방법 |
US9100658B2 (en) | 2009-12-17 | 2015-08-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for video coding |
US8406537B2 (en) * | 2009-12-17 | 2013-03-26 | General Electric Company | Computed tomography system with data compression and transfer |
US20110200108A1 (en) * | 2010-02-18 | 2011-08-18 | Qualcomm Incorporated | Chrominance high precision motion filtering for motion interpolation |
JP2011199396A (ja) * | 2010-03-17 | 2011-10-06 | Ntt Docomo Inc | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法、及び動画像予測復号プログラム |
KR101847072B1 (ko) * | 2010-04-05 | 2018-04-09 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
KR101682147B1 (ko) * | 2010-04-05 | 2016-12-05 | 삼성전자주식회사 | 변환 및 역변환에 기초한 보간 방법 및 장치 |
US9219921B2 (en) * | 2010-04-12 | 2015-12-22 | Qualcomm Incorporated | Mixed tap filters |
CN106231337B (zh) | 2010-04-13 | 2020-06-19 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
EP3703369B1 (en) | 2010-04-13 | 2024-07-24 | GE Video Compression, LLC | Sample region merging |
CN106067983B (zh) | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
BR122020008249B1 (pt) | 2010-04-13 | 2021-02-17 | Ge Video Compression, Llc | herança em amostra de arranjo em subdivisão multitree |
US8963996B2 (en) * | 2010-05-05 | 2015-02-24 | Samsung Electronics Co., Ltd. | Communication of stereoscopic three-dimensional (3D) video information including an uncompressed eye view video frames |
EP2568705B1 (en) | 2010-05-07 | 2018-09-26 | Nippon Telegraph And Telephone Corporation | Moving image encoding control method, moving image encoding apparatus and moving image encoding program |
KR101391661B1 (ko) * | 2010-05-12 | 2014-05-07 | 니폰덴신뎅와 가부시키가이샤 | 동화상 부호화 제어 방법, 동화상 부호화 장치 및 동화상 부호화 프로그램 |
KR101686945B1 (ko) * | 2010-07-09 | 2016-12-15 | 삼성전자주식회사 | 영상 보간 방법 및 장치 |
US8817771B1 (en) | 2010-07-16 | 2014-08-26 | Marvell International Ltd. | Method and apparatus for detecting a boundary of a data frame in a communication network |
US20120027081A1 (en) * | 2010-07-30 | 2012-02-02 | Cisco Technology Inc. | Method, system, and computer readable medium for implementing run-level coding |
US20120063515A1 (en) * | 2010-09-09 | 2012-03-15 | Qualcomm Incorporated | Efficient Coding of Video Parameters for Weighted Motion Compensated Prediction in Video Coding |
US10045046B2 (en) * | 2010-12-10 | 2018-08-07 | Qualcomm Incorporated | Adaptive support for interpolating values of sub-pixels for video coding |
ES2681838T3 (es) * | 2010-12-21 | 2018-09-17 | Ntt Docomo, Inc. | Codificación y descodificación de intra-predicción en un modo plano |
EP4099700A1 (en) | 2011-01-07 | 2022-12-07 | Nokia Technologies Oy | Motion prediction in video coding |
CN102595118B (zh) * | 2011-01-14 | 2015-04-08 | 华为技术有限公司 | 一种编解码中的预测方法和预测器 |
US8797391B2 (en) * | 2011-01-14 | 2014-08-05 | Himax Media Solutions, Inc. | Stereo image displaying method |
US9049454B2 (en) | 2011-01-19 | 2015-06-02 | Google Technology Holdings Llc. | High efficiency low complexity interpolation filters |
US20120224639A1 (en) * | 2011-03-03 | 2012-09-06 | General Instrument Corporation | Method for interpolating half pixels and quarter pixels |
US20120230407A1 (en) | 2011-03-11 | 2012-09-13 | General Instrument Corporation | Interpolation Filter Selection Using Prediction Index |
JP5768491B2 (ja) * | 2011-05-17 | 2015-08-26 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
CN107105263B (zh) * | 2011-06-24 | 2019-04-26 | 株式会社Ntt都科摩 | 用于在帧间预测下执行的运动补偿的视频解码方法和装置 |
EP2724534A2 (en) * | 2011-06-24 | 2014-04-30 | Motorola Mobility LLC | Selection of phase offsets for interpolation filters for motion compensation |
CA2840638C (en) * | 2011-06-28 | 2017-10-17 | Samsung Electronics Co., Ltd. | Method for image interpolation using asymmetric interpolation filter and apparatus therefor |
CN102857752B (zh) * | 2011-07-01 | 2016-03-30 | 华为技术有限公司 | 一种像素预测方法和装置 |
JP5727673B2 (ja) | 2011-07-01 | 2015-06-03 | モトローラ モビリティ エルエルシーMotorola Mobility Llc | 時間予測のためのジョイントサブピクセル補間フィルタ |
US9129411B2 (en) * | 2011-07-21 | 2015-09-08 | Luca Rossato | Upsampling in a tiered signal quality hierarchy |
CN107979757B (zh) * | 2011-09-14 | 2021-12-21 | 三星电子株式会社 | 对视频进行解码的设备和对视频进行编码的设备 |
US20130070091A1 (en) * | 2011-09-19 | 2013-03-21 | Michael Mojaver | Super resolution imaging and tracking system |
US9137433B2 (en) | 2011-09-19 | 2015-09-15 | Michael Mojaver | Super resolution binary imaging and tracking system |
US10924668B2 (en) | 2011-09-19 | 2021-02-16 | Epilog Imaging Systems | Method and apparatus for obtaining enhanced resolution images |
RU2473124C1 (ru) * | 2011-09-23 | 2013-01-20 | Общество С Ограниченной Ответственностью "Виси Рус" | Способ обнаружения порнографии на цифровых изображениях (варианты) |
US20130083845A1 (en) | 2011-09-30 | 2013-04-04 | Research In Motion Limited | Methods and devices for data compression using a non-uniform reconstruction space |
PL2945380T3 (pl) * | 2011-10-24 | 2022-05-09 | Innotive Ltd | Sposób i aparat do dekodowania trybu intra-predykcji |
EP2595382B1 (en) | 2011-11-21 | 2019-01-09 | BlackBerry Limited | Methods and devices for encoding and decoding transform domain filters |
JP5911166B2 (ja) * | 2012-01-10 | 2016-04-27 | シャープ株式会社 | 画像処理装置、画像処理方法、画像処理プログラム、撮像装置、及び画像表示装置 |
US9325991B2 (en) | 2012-04-11 | 2016-04-26 | Qualcomm Incorporated | Motion vector rounding |
US8819525B1 (en) | 2012-06-14 | 2014-08-26 | Google Inc. | Error concealment guided robustness |
US9041834B2 (en) | 2012-09-19 | 2015-05-26 | Ziilabs Inc., Ltd. | Systems and methods for reducing noise in video streams |
JP5730274B2 (ja) * | 2012-11-27 | 2015-06-03 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
JP5697649B2 (ja) * | 2012-11-27 | 2015-04-08 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置 |
US9225979B1 (en) * | 2013-01-30 | 2015-12-29 | Google Inc. | Remote access encoding |
US9432690B2 (en) * | 2013-01-30 | 2016-08-30 | Ati Technologies Ulc | Apparatus and method for video processing |
US20140267916A1 (en) * | 2013-03-12 | 2014-09-18 | Tandent Vision Science, Inc. | Selective perceptual masking via scale separation in the spatial and temporal domains using intrinsic images for use in data compression |
US20140269943A1 (en) * | 2013-03-12 | 2014-09-18 | Tandent Vision Science, Inc. | Selective perceptual masking via downsampling in the spatial and temporal domains using intrinsic images for use in data compression |
EP2993898A4 (en) * | 2013-05-01 | 2016-11-09 | Lg Electronics Inc | APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING A SIGNAL |
AU2013213660A1 (en) * | 2013-08-06 | 2015-02-26 | Canon Kabushiki Kaisha | Method for printing an upscaled image |
US9749642B2 (en) | 2014-01-08 | 2017-08-29 | Microsoft Technology Licensing, Llc | Selection of motion vector precision |
US9942560B2 (en) | 2014-01-08 | 2018-04-10 | Microsoft Technology Licensing, Llc | Encoding screen capture data |
US9774881B2 (en) | 2014-01-08 | 2017-09-26 | Microsoft Technology Licensing, Llc | Representing motion vectors in an encoded bitstream |
CN103793917B (zh) * | 2014-02-24 | 2017-02-01 | 哈尔滨工程大学 | 一种结合两种插值算法的遥感图像亚像元定位方法 |
US10462480B2 (en) * | 2014-12-31 | 2019-10-29 | Microsoft Technology Licensing, Llc | Computationally efficient motion estimation |
US10291932B2 (en) * | 2015-03-06 | 2019-05-14 | Qualcomm Incorporated | Method and apparatus for low complexity quarter pel generation in motion search |
US10283031B2 (en) * | 2015-04-02 | 2019-05-07 | Apple Inc. | Electronic device with image processor to reduce color motion blur |
US10275863B2 (en) | 2015-04-03 | 2019-04-30 | Cognex Corporation | Homography rectification |
US9542732B2 (en) * | 2015-04-03 | 2017-01-10 | Cognex Corporation | Efficient image transformation |
US10009622B1 (en) | 2015-12-15 | 2018-06-26 | Google Llc | Video coding with degradation of residuals |
US10116957B2 (en) | 2016-09-15 | 2018-10-30 | Google Inc. | Dual filter type for motion compensated prediction in video coding |
CN106658024B (zh) * | 2016-10-20 | 2019-07-16 | 杭州当虹科技股份有限公司 | 一种快速的视频编码方法 |
US10791338B2 (en) * | 2017-01-31 | 2020-09-29 | Sharp Kabushiki Kaisha | Systems and methods for performing planar intra prediction video coding |
US10499078B1 (en) | 2017-02-07 | 2019-12-03 | Google Llc | Implicit motion compensation filter selection |
US12058309B2 (en) * | 2018-07-08 | 2024-08-06 | Mellanox Technologies, Ltd. | Application accelerator |
US20200014945A1 (en) * | 2018-07-08 | 2020-01-09 | Mellanox Technologies, Ltd. | Application acceleration |
US11252464B2 (en) | 2017-06-14 | 2022-02-15 | Mellanox Technologies, Ltd. | Regrouping of video data in host memory |
US11044518B2 (en) * | 2018-03-20 | 2021-06-22 | At&T Mobility Ii Llc | Video access master platform |
US11051058B2 (en) * | 2018-09-24 | 2021-06-29 | Hewlett Packard Enterprise Development Lp | Real-time wireless video delivery system using a multi-channel communications link |
CN109348234B (zh) * | 2018-11-12 | 2021-11-19 | 北京佳讯飞鸿电气股份有限公司 | 一种高效亚像素运动估计方法及系统 |
JP7190661B2 (ja) * | 2019-02-06 | 2022-12-16 | パナソニックIpマネジメント株式会社 | 画像処理装置、画像処理方法および画像処理システム |
CA3223625A1 (en) * | 2019-11-08 | 2021-05-14 | Op Solutions, Llc | Methods and systems for adaptive cropping |
KR102702094B1 (ko) | 2019-12-17 | 2024-09-04 | 삼성전자주식회사 | 다이나믹 비전 센서 시스템 |
TWI790600B (zh) * | 2021-04-21 | 2023-01-21 | 宏芯科技股份有限公司 | 區域式視訊影像插補裝置及其方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8713454D0 (en) | 1987-06-09 | 1987-07-15 | Sony Corp | Television standards converters |
EP0294958B1 (en) * | 1987-06-09 | 1995-08-23 | Sony Corporation | Motion compensated interpolation of digital television images |
US4816913A (en) * | 1987-11-16 | 1989-03-28 | Technology, Inc., 64 | Pixel interpolation circuitry as for a video signal processor |
US4937666A (en) * | 1989-12-04 | 1990-06-26 | Bell Communications Research, Inc. | Circuit implementation of block matching algorithm with fractional precision |
GB2249906B (en) * | 1990-11-15 | 1994-04-27 | Sony Broadcast & Communication | Motion compensated interpolation of images |
JP2861462B2 (ja) * | 1991-04-12 | 1999-02-24 | ソニー株式会社 | 動きベクトル検出装置 |
US5337088A (en) * | 1991-04-18 | 1994-08-09 | Matsushita Electric Industrial Co. Ltd. | Method of correcting an image signal decoded in block units |
US5430811A (en) * | 1991-12-25 | 1995-07-04 | Matsushita Electric Industrial Co., Ltd. | Method for interpolating missing pixels and an apparatus employing the method |
US5594813A (en) * | 1992-02-19 | 1997-01-14 | Integrated Information Technology, Inc. | Programmable architecture and methods for motion estimation |
JP2636622B2 (ja) * | 1992-03-13 | 1997-07-30 | 松下電器産業株式会社 | ビデオ信号の符号化方法及び復号化方法ならびにビデオ信号の符号化装置及び復号化装置 |
US5461423A (en) * | 1992-05-29 | 1995-10-24 | Sony Corporation | Apparatus for generating a motion vector with half-pixel precision for use in compressing a digital motion picture signal |
JP2723199B2 (ja) | 1992-06-03 | 1998-03-09 | シャープ株式会社 | 光ディスクプレーヤのトラッキングサーボ引き込み回路装置 |
KR100283343B1 (ko) * | 1992-06-25 | 2001-03-02 | 이데이 노부유끼 | 화상신호 부호화방법 및 복호화방법과 화상신호 부호화장치 및 복호화장치 |
JPH06197334A (ja) * | 1992-07-03 | 1994-07-15 | Sony Corp | 画像信号符号化方法、画像信号復号化方法、画像信号符号化装置、画像信号復号化装置及び画像信号記録媒体 |
KR970000761B1 (ko) * | 1992-10-07 | 1997-01-18 | 대우전자 주식회사 | 소형 디지탈 방식 고선명 텔레비젼 |
EP0645930B1 (en) * | 1993-04-09 | 2000-06-14 | Sony Corporation | Method and apparatus for coding image |
JP2967014B2 (ja) * | 1993-05-24 | 1999-10-25 | キヤノン株式会社 | 画像処理装置 |
CN1052840C (zh) * | 1993-06-01 | 2000-05-24 | 汤姆森多媒体公司 | 用于对数字视频信号进行插值的方法及装置 |
US5684538A (en) | 1994-08-18 | 1997-11-04 | Hitachi, Ltd. | System and method for performing video coding/decoding using motion compensation |
JP3392564B2 (ja) * | 1995-02-27 | 2003-03-31 | 三洋電機株式会社 | 単板式カラービデオカメラ |
JPH09102954A (ja) * | 1995-10-04 | 1997-04-15 | Matsushita Electric Ind Co Ltd | 1つまたは2つの予測ブロックからブロックの画素値を計算する方法 |
US5991463A (en) * | 1995-11-08 | 1999-11-23 | Genesis Microchip Inc. | Source data interpolation method and apparatus |
KR100192270B1 (ko) * | 1996-02-03 | 1999-06-15 | 구자홍 | 에이치디티브이 비데오 디코더 회로 |
KR100226684B1 (ko) * | 1996-03-22 | 1999-10-15 | 전주범 | 반화소 움직임 추정장치 |
JP3224514B2 (ja) * | 1996-08-21 | 2001-10-29 | シャープ株式会社 | 動画像符号化装置および動画像復号装置 |
RU2131172C1 (ru) * | 1996-12-10 | 1999-05-27 | Полыковский Андрей Маркович | Интерполяционный способ сжатия телевизионного сигнала |
DE19730305A1 (de) | 1997-07-15 | 1999-01-21 | Bosch Gmbh Robert | Verfahren zur Erzeugung eines verbesserten Bildsignals bei der Bewegungsschätzung von Bildsequenzen, insbesondere eines Prädiktionssignals für Bewegtbilder mit bewegungskompensierender Prädiktion |
DE19746214A1 (de) * | 1997-10-21 | 1999-04-22 | Bosch Gmbh Robert | Verfahren zur bewegungskompensierenden Prädiktion von Bewegtbildfolgen |
US6122017A (en) * | 1998-01-22 | 2000-09-19 | Hewlett-Packard Company | Method for providing motion-compensated multi-field enhancement of still images from video |
CN1266519A (zh) | 1998-04-29 | 2000-09-13 | 皇家菲利浦电子有限公司 | 图像嵌入 |
US6252576B1 (en) * | 1998-08-06 | 2001-06-26 | In-System Design, Inc. | Hardware-efficient system for hybrid-bilinear image scaling |
EP1083752A1 (en) * | 1999-09-08 | 2001-03-14 | STMicroelectronics S.r.l. | Video decoder with reduced memory |
JP4599672B2 (ja) | 1999-12-21 | 2010-12-15 | 株式会社ニコン | 補間処理装置および補間処理プログラムを記録した記録媒体 |
US6950469B2 (en) * | 2001-09-17 | 2005-09-27 | Nokia Corporation | Method for sub-pixel value interpolation |
-
2001
- 2001-09-17 US US09/954,608 patent/US6950469B2/en not_active Expired - Lifetime
-
2002
- 2002-09-11 CN CNB028150856A patent/CN1331353C/zh not_active Expired - Lifetime
- 2002-09-11 SG SG200603150-4A patent/SG167662A1/en unknown
- 2002-09-11 CN CN2007101008867A patent/CN101232622B/zh not_active Expired - Lifetime
- 2002-09-11 CA CA2452632A patent/CA2452632C/en not_active Expired - Lifetime
- 2002-09-11 WO PCT/FI2002/000729 patent/WO2003026296A1/en active Application Filing
- 2002-09-11 JP JP2003529764A patent/JP4698947B2/ja not_active Expired - Lifetime
- 2002-09-11 EE EEP200400046A patent/EE05594B1/xx unknown
- 2002-09-11 KR KR1020077028126A patent/KR20080007276A/ko not_active IP Right Cessation
- 2002-09-11 AU AU2002324085A patent/AU2002324085C1/en not_active Expired
- 2002-09-11 MX MXPA04000203A patent/MXPA04000203A/es active IP Right Grant
- 2002-09-11 KR KR1020047001304A patent/KR100972850B1/ko active IP Right Grant
- 2002-09-11 ES ES02758498.6T patent/ES2540583T7/es active Active
- 2002-09-11 HU HU0400295A patent/HU228954B1/hu unknown
- 2002-09-11 RU RU2004101290/09A patent/RU2317654C2/ru active
- 2002-09-11 BR BR0211263-9A patent/BR0211263A/pt active Pending
- 2002-09-11 PT PT2758498T patent/PT1433316E/pt unknown
- 2002-09-11 EP EP02758498.6A patent/EP1433316B9/en not_active Expired - Lifetime
- 2002-09-11 KR KR1020117023185A patent/KR101176903B1/ko active IP Right Grant
-
2003
- 2003-11-11 ZA ZA200308785A patent/ZA200308785B/en unknown
-
2005
- 2005-03-25 US US11/090,717 patent/US7280599B2/en not_active Expired - Lifetime
-
2007
- 2007-08-15 US US11/839,205 patent/US8036273B2/en not_active Expired - Fee Related
- 2007-09-11 RU RU2007133925/07A patent/RU2477575C2/ru active
-
2008
- 2008-02-28 JP JP2008048390A patent/JP4700704B2/ja not_active Expired - Lifetime
- 2008-11-12 HK HK08112388.7A patent/HK1118411A1/xx not_active IP Right Cessation
-
2011
- 2011-01-06 JP JP2011001023A patent/JP5502765B2/ja not_active Expired - Lifetime
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835585B (zh) * | 2004-12-21 | 2011-07-13 | St微电子公司 | 用于快速执行子像素内插的方法和系统 |
CN101411202B (zh) * | 2006-03-30 | 2011-12-28 | 株式会社东芝 | 图像编码装置和方法以及图像解码装置和方法 |
US8472755B2 (en) | 2010-05-07 | 2013-06-25 | Silicon Motion Inc. | Method for generating a high quality up-scaled image, and associated device |
CN102289830A (zh) * | 2010-06-07 | 2011-12-21 | 微软公司 | 利用测地仿射性的数据驱动内插 |
CN102289830B (zh) * | 2010-06-07 | 2016-06-01 | 微软技术许可有限责任公司 | 利用测地仿射性的数据驱动内插 |
CN102402781B (zh) * | 2010-09-13 | 2014-05-14 | 慧荣科技股份有限公司 | 用来产生一高品质放大图像的方法 |
CN102402781A (zh) * | 2010-09-13 | 2012-04-04 | 慧荣科技股份有限公司 | 用来产生一高品质放大图像的方法及相关装置 |
CN103283230A (zh) * | 2011-01-05 | 2013-09-04 | 高通股份有限公司 | 使用一维切换滤波器与一维自适应滤波器的组合的视频滤波 |
CN103283230B (zh) * | 2011-01-05 | 2016-08-24 | 高通股份有限公司 | 使用一维切换滤波器与一维自适应滤波器的组合的视频滤波 |
US9445126B2 (en) | 2011-01-05 | 2016-09-13 | Qualcomm Incorporated | Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter |
CN110073172A (zh) * | 2016-12-15 | 2019-07-30 | 奥迪股份公司 | 用于确定机动车的相对位置的方法、用于机动车的位置确定系统和机动车 |
CN110073172B (zh) * | 2016-12-15 | 2023-04-28 | 奥迪股份公司 | 用于确定机动车的相对位置的方法、用于机动车的位置确定系统和机动车 |
CN106998437A (zh) * | 2017-03-31 | 2017-08-01 | 武汉斗鱼网络科技有限公司 | 一种重建视频图像的方法及装置 |
CN109922329A (zh) * | 2017-12-13 | 2019-06-21 | 北京传送科技有限公司 | 虚拟现实影像数据的压缩方法、解压缩方法及装置 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1537384A (zh) | 用于子像素值内插的方法 | |
CN1207916C (zh) | 用于压缩运动矢量场的装置和方法 | |
CN1054486C (zh) | 图象信号编码方法和装置和图象信号解码方法和装置 | |
CN1630374A (zh) | 用于前向预测的隔行扫描视频帧的场的预测运动矢量 | |
CN1251518C (zh) | 数字信号转换方法和数字信号转换装置 | |
CN1265649C (zh) | 运动图像的编码方法、解码方法、编码装置及解码装置 | |
CN1227909C (zh) | 用于编辑压缩的图象序列的方法 | |
CN1133328C (zh) | 画面编码和解码装置及其方法 | |
CN1160967C (zh) | 图像编码设备和图像解码设备 | |
CN1170425C (zh) | 高分辨率电视下转换系统 | |
CN1076932C (zh) | 图像信号编码和解码的方法与装置 | |
CN1114887C (zh) | 图像合成方法和图像合成装置 | |
CN1203679C (zh) | 用于自动转码编码的视频图象数据的方法和设备 | |
CN1237067A (zh) | 图象编码和解码装置、方法及数据存储媒体 | |
CN1257650C (zh) | 运动图像编码方法和装置 | |
CN1703096A (zh) | 预测编码/解码器、预测编码/解码方法和记录介质 | |
CN1593065A (zh) | 其中图像被分成条带的前景和背景的视频编码与解码 | |
CN1650636A (zh) | 编码设备和编码方法、解码设备和解码方法、记录介质以及程序 | |
CN1535027A (zh) | 一种用于视频编码的帧内预测方法 | |
CN1578477A (zh) | 用于色彩图像的视频编码/解码装置和方法 | |
CN1615645A (zh) | 编码动态滤波器 | |
CN1950832A (zh) | 用于ac预测状态以及宏块半帧/帧编码类型信息的位平面编码和解码 | |
CN101039421A (zh) | 在编解码中的实现量化的方法和装置 | |
CN1801945A (zh) | 编码视频序列变换装置和编码视频序列变换方法 | |
CN1288914C (zh) | 图象编码与解码方法以及对应的装置和应用 |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160121 Address after: Espoo, Finland Patentee after: NOKIA TECHNOLOGIES OY Address before: Espoo, Finland Patentee before: NOKIA Corp. |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070808 |