CN101068365B - 判定描述参考方块移动的移动向量的方法及其储存媒体 - Google Patents
判定描述参考方块移动的移动向量的方法及其储存媒体 Download PDFInfo
- Publication number
- CN101068365B CN101068365B CN2007101101940A CN200710110194A CN101068365B CN 101068365 B CN101068365 B CN 101068365B CN 2007101101940 A CN2007101101940 A CN 2007101101940A CN 200710110194 A CN200710110194 A CN 200710110194A CN 101068365 B CN101068365 B CN 101068365B
- Authority
- CN
- China
- Prior art keywords
- square
- absolute difference
- squares
- refrence
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
一种判定描述相对于参考方块的移动的移动向量的方法,该方法包含:根据相符标准,判定多个预测方块中哪一个与该参考方块有较佳相符;执行局部区域彻底搜寻以产生与该参考方块的最佳相符,该局部区域彻底搜寻在以该较佳相符预测方块为中央的周围的区域,该最佳相符具有整数像素分辨率;将该最佳相符与该参考方块间相符的程度建模为二次表面;分析地判定该二次表面的最小值,该最小值对应有分数分辨率的最佳相符方块;以及根据该有分数分辨率的最佳相符方块计算分数移动向量。
Description
技术领域
本发明目前所揭露的内容关于一种图形处理单元,且尤其是关于具有图像压缩与解压缩特征的图形处理单元。
背景技术
个人计算机与消费性电子产品是用于各种娱乐用品。这些娱乐用品可以大致区分为2类:使用计算机制图(computer-generated graphics)的那些,例如计算机游戏;与使用压缩视频数据流(compressed video stream)的那些,例如预录节目到数字式激光视盘(DVD)上,或由有线电视或卫星业者提供数字节目(digital programming)至机顶盒(set-top box)。第2种亦包含编码模拟视频数据流,例如由数字录像机(DVR,digital video recorder)所执行。
计算机制图通常由图形处理单元(GPU,gra phic processing unit)产生。图形处理单元是一种建立在计算机游戏平台(computer game consoles)与一些个人计算机上一种特别的微处理器。图形处理单元被最佳化为快速执行描绘三度空间基本对象(three-dimensional primitive objects),例如三角形、四边形等。这些基本对象是以多个顶点描述,其中每个顶点具有属性(例如颜色),且可施加纹理(texture)至该基本对象上。描绘的结果是二维空间像素阵列(two-dimensional array of pixels),显示在计算机的显示器或监视器上。
视频数据流的编码与解码牵涉到不同种类的运算,例如,离散余弦变换(discrete cosine transform)、移动估测(motion estimation)、移动补偿(motion compensation)、去方块效应滤波器(deblocking filter)。这些计算通常由一般用途中央处理器(CPU)结合特别的硬件逻辑电路,例如专用集成电路(ASIC,application specificintegrated circuit),来处理。消费者因而需要多个运算平台以满足他们的娱乐需求。因而需要可以处理计算机制图与视频编码/解码的单一计算平台。
发明内容
本发明的一个方面是一种判定描述相对于参考方块的移动的移动向量的方法,该方法包含:根据相符标准,判定多个预测方块中哪一个与该参考方块有较佳相符;执行局部区域彻底搜寻以产生与该参考方块的最佳相符,该局部区域彻底搜寻在以该较佳相符预测方块为中央的周围的区域,该最佳相符具有整数像素分辨率;将该最佳相符与该参考方块间相符的程度建模为二次表面;分析地判定该二次表面的最小值,该最小值对应有分数分辨率的最佳相符方块;以及根据该有分数分辨率的最佳相符方块计算分数移动向量。
本发明的另一个方面是一种判定描述相对于参考方块的移动的移动向量的方法,该方法包含:根据相符标准,判定多个预测方块中哪一个与该参考方块有较佳相符;执行局部区域彻底搜寻以产生与该参考方块的最佳相符,该局部区域彻底搜寻在以该较佳相符预测方块为中央的周围的区域,该最佳相符具有整数像素分辨率;以及分析地判定建模该最佳相符与该参考方块间相符的程度的二次表面的最小值,该最小值对应有分数分辨率的最佳相符方块。
本发明的另一个方面是一种具有用来判断移动向量的程序的计算机可读媒体,该程序含有设置成用来执行下列步骤的逻辑:根据相符标准,判定多个预测方块中哪一个与参考方块有较佳相符;执行局部区域彻底搜寻以产生与该参考方块的最佳相符,该局部区域彻底搜寻在以该较佳相符预测方块为中央的周围的区域,该最佳相符具有整数像素分辨率;将该最佳相符与该参考方块间相符的程度建模为二次表面;分析地判定该二次表面的最小值,该最小值对应有分数分辨率的最佳相符方块;以及根据该有分数分辨率的最佳相符方块计算分数移动向量。
附图说明
图1是用于图形与视频编码及/或解码的一示范性运算平台的方块图。
图2是图1的视频编码器160的功能方块图。
图3A、3B说明将目前图像分割成不重迭的区段的巨图块。
图4是图2的移动估测器所使用的算法的一示范性实施例的流程图。
图5是图4共轭梯度步骤440的一实施例的流程图。
图6说明使用图5的共轭梯度下降步骤440的示范状态。
图7是图4邻近搜寻算法的一实施例的流程图。
图8A、8B说明图7的邻近搜寻算法所使用的5个候选巨图块的相对位置。
图9A、图9B是说明对参考与预测方块进行绝对差值加总指令运作的方块图。
图10是图1的图形处理单元的数据流程图。
图11是图10纹理滤波单元与纹理快取的方块图。
[主要元件标号说明]
100~系统、110~主处理器、120~图形处理器(GPU)、130~存储器、140~总线、150~视频加速单元(VPU)、160~软件解码器、170~视频加速驱动器。205~图像、210~减法器、220~移动估测器、230~参考图像245~移动向量、255~预测方块、260~剩余图像、270~离散余弦转换器、280~量化器、290~熵解码器、2100~解码器。
310~目前巨图块、320~巨图块、330~搜寻窗、340~点。
400~程序、410~判定移动向量将被图像间预测或图像内预测、420~施行共轭梯度下降搜寻算法、430~执行邻近搜寻、440~执行局部区域彻底搜寻、450~建立最佳候选巨图块与参考巨图块间相符程度为二次表面、460~在分数像素边界找到最佳候选巨图块调准、470~根据该相符巨图块计算分数移动向量。
505~初始化候选方块、510~计算候选巨图块Cx,y四周的候选巨图块的坐标、515~分别计算5个候选巨图块的绝对差值加总、520~计算梯度gx与gy、525~梯度是否低于临界值、530~计算四个新候选巨图块的坐标、535~对各候选巨图块分别执行共轭梯度下降步骤440、540~比较绝对差值加总值是否低于临界值、545~回传有最低绝对差值加总值的候选巨图块、550~选择新的中央候选巨图块、555~从梯度gx与gy计算新的步骤值Δx与Δy、560~测试迭代循环数是否大于最大值、565~回传不相符。
610C~候选巨图块、610L-610R-610T-610B~四个周围候选、620X-620Y~初始候选计算梯度、630TL-630TR-630BL-630BR~四个新的中央候选巨图块、640L-640R-640T-640B~候选、670-680~候选。
710~利用目前巨图块310地址的绝对值与每行巨图块数计算旗标变量TOPVALID。若此绝对值非0,则TOPVALID为真,此外,TOPVALID为假。720~旗标变量LEFTVALID是利用目前巨图块地址的除以整数与每行巨图块数计算。若此除数非0,则LEFTVALID为真,此外,LEFTVALID为假。730~结合使用TOPVALID与LEFTVALID变量以判定目前巨图块邻近的4个候选巨图块的可得性。740~为一先前候选巨图块P判定可得性。750~为每一可得候选巨图块计算绝对差值加总。
810-850~候选巨图块。
910-940~4×4方块、950~4×4参考方块。
234~旋转逻辑器、950~预测方块、960-990~绝对差值加总计算单元、1010~指令流处理器、1020~指令、1030~指令数据、1040~执行单元池、1050~纹理滤波单元、1060~纹理快取、1070~后包装器、1100~视频处理单元。1120~纹理图像、1130~目标方块、1140-1170~纹理图像、1110A-B~缓冲器。
具体实施方式
在此揭露的实施例提供利用一种图形处理单元以增进移动估测系统与方法。
1.用于视频编码的运算平台
图1是用于图形与视频编码及/或解码的一示范性运算平台的方块图。系统100包含一般用途CPU 110(此后称为主处理器)、图形处理器(GPU)120、存储器130与总线140。图形处理单元120包含视频加速单元(VPU)150,其可加速视频编码及/或解码,将于后叙述。图形处理单元120的视频加速功能是可在图形处理单元120上执行的指令。
软件解码器160与视频加速驱动器170位于存储器130中,解码器160在主处理器110上执行。通过一个由视频加速驱动器170提供的接口,解码器160亦可发出给图形处理单元120的视频加速指令。如此一来,系统100通过发出视频加速指令给图形处理单元120的主处理器软件(host processorsoftware)执行视频编码。依此法,经常被执行的密集运算方块(computationally intensive blocks)被卸至图形处理单元120,而更复杂的运算是由主处理器110所执行。
图1中省略数个对于解释图形处理单元120的视频加速特征并非必要且本领域技术人员熟知的已知元件。接下来将对视频编码概要说明,再接下来讨论一个视频编码元件(移动估测器)如何利用图形处理单元120所提供的视频加速单元功能。
2.视频编码器
图2是图1的视频编码器160的功能方块图。输入至编码器160的图像(205)是由像素所组成。编码器160利用图像205内的时间(temporal)与空间相似性(spatial similarities)运作,并且利用判定图框内(空间)及/或图框间(时间)的差异相似性编码。空间编码利用图像内邻近像素通常相同或相关的特性编码,故仅对差异编码。时间编码利用一连串图像中的许多像素通常相同的值,故仅对图像间的差异编码。编码器160亦利用熵编码的统计冗余性:一些图像较另一些图样更常发生,故较常发生的以较短的码代表。熵编码的范例包含霍夫曼编码(Huffman coding)、运行长度编码(run-lengthencoding)、算术编码(Arithmetic coding)与前后自我适应的二位算术编码(context-adaptive binary arithmetic coding)。
在此示范性实施例中,输入图像205的方块是提供至减法器210与移动估测器220。移动估测器220比较输入图像205内的方块与预先储存的参考图像230以找出相似的方块。移动估测器220计算代表相符方块间配置的一组移动向量245。移动向量245与参考图像的相符方块230合称为预测方块255,代表时间编码。
预测方块255是提供至减法器210,其将输入图像205减去预测方块255以产生剩余图像260。剩余图像260是提供至离散余弦转换器(DCT,discretecosine transform)方块270与量化器280,其执行空间编码。量化器280的输出(例如一组量化后的DCT系数)是由熵编码器290编码。
对于某种类型的图像(信息或I图框,与预测或P图框),该空间来自量化器280的空间编码余数(spatially encoded residual)是提供给内部解码器。解码器利用空间编码余数结合由移动估测器220所产生的移动向量245以对空间编码图像205解码。重新建构的图像是储存在参考图像缓冲器295,其是提供至移动估测器220,如前所述。
如结合图1所讨论的,编码器160在主处理器110上执行,然而亿利用由图形处理单元120所提供的视频加速指令。尤其是,由移动估测器220所实现的算法利用由图形处理单元120所提供的绝对绝对差值加总(SAD,sum-of-absolute-difference)指令以达成正确的移动估测,在相对低的运算量下。接着将详述移动估测算法。
3.软件移动估测算法
a.搜寻窗(Search Window)
如示于图3,移动估测器220将目前图像205切割成不重迭的各区段,称为巨图块。巨图块的大小会依编码器所使用的规范(例如,MPEG-2、H.264、VC)与图像的大小而改变。
在此叙述的示范性实施例,与在各种不同编码标准中,一巨图块是16×16像素。一巨图块更切割成方块,该方块的大小可为4×4、8×8、4×8、16×8、或8×16。
在MPEG-2中,各巨图块可仅有一移动向量,故移动估测是根据巨图块。H.264允许达32个移动向量(依程度而定),故在H.264中,移动估测是根据4×4或8×8方块的基础而计算。H.264的变化,称为AVS,该移动方块永远为8×8。在VC-1中,其可为4×4或8×8。
移动估测算法220对目前图像205中的每一巨图块执行移动估测,依照在预先编码的图像230(其类似于目前图像205的巨图块)中寻找方块的目标。参考图像230中的巨图块与目前图像205中的巨图块间的置换是计算并储存为移动向量(245,图2)。
为方便说明,移动估测程序将以目前图像310中特定巨图块说明(320)。此范例所选择的巨图块320是在目前图像310的中间,然而相同技术亦应用在其它巨图块。
搜寻窗(330)是在参考图像230(对应目前图像310的巨图块320)中巨图块的中间。即,若巨图块320是位于(X,Y),则在参考图像230中的搜寻窗330亦位于(X,Y),如示于点340。其它实施例将巨图块放在参考图像230的其它部分,例如左上。范例图3中的搜寻窗330在水平方向延伸通过相应巨图块的两像素,在垂直方向一个像素。因此,搜寻窗330包含14个不同巨图块:两个巨图块分别发现1个与2个像素,就在位置340的左边;另一组两个巨图块在位置340的左边;剩下组在位置340的上面、下面、左上、右上、左下与右下。
由移动估测器220所执行的相符方块移动运算使用绝对绝对差值加总作为判断巨图块间相似性(相符)的准则。绝对绝对差值加总,计算两像素值间的差值绝对值,并将一方块中所有像素的这些差值绝对值加总,如本领域技术人员所理解的。移动估测器220结合使用绝对绝对差值加总准则与选择待测相似性的目标巨图块的开创性方法,其将于下说明。
b.选择目标巨图块
移动估测器220使用不同的搜寻方法,依据移动估测器220是产生目前图像205的内部编码(intra-coded)移动向量或外部编码(inter-coded)移动向量。移动估测器220利用真实世界关于移动的已知知识以预测该相符巨图块应该在搜寻窗320的何处,减少搜寻窗320中目标方块数目,其是实际与目前图像205中的巨图块310进行相似测试。在真实世界中,物体通常以固定加速度移动,这表示我们可以期待图框(光学流optical flow)中物体的移动是缓和且相似(即实质上连续)的,在空间上与时间上都是。此外,在绝对绝对差值加总表面(即在搜寻空间描绘绝对差值加总值)是被期待为相对地缓和(即相对少数量的局部最小点)。
利用此已知知识需要指挥搜寻最可能发现最相符的地方,在此揭露的算法使用减少要被执行搜寻的数目以找到较佳的最小点。如此一来,该算法在计算上有效率也可有效地标出较佳的相符。
图4是一示范性实施例移动估测器220用来计算目前图像205内目前巨图块310的移动向量的算法流程图。移动估测程序从步骤410开始,其判定由移动估测器220为目前图像205所产生的移动向量将被图像间预测(inter-predicted)或图像内预测(intra-predicted)。若使用图像内预测则接着进行步骤420,在此施行共轭梯度下降搜寻算法(conjugated gradientdescent search algorithm)以寻找搜寻窗320内预测巨图块,这与参考巨图块(目前图像205内的目前巨图块310)是较佳的相符。共轭梯度下降搜寻算法(步骤420)将结合图5、图6详细说明。
回到步骤410,若使用图像间预测以产生移动向量,则接着执行步骤430,在此执行“邻近的”或“邻近区域”搜寻。该搜寻包含邻近于目前图像205内目前巨图块310的巨图块,以及对应的先前编码参考图像230内的巨图块。邻近搜寻算法(步骤430)将结合图7、图8详细说明。
共轭梯度下降搜寻算法(步骤410)与邻近搜寻算法(步骤430)各从一大群目标预测巨图块中认出了较佳或可接受的相符。本领域技术人员应当了解到用来判定如何才是一个“较佳的相符”的准则可以是相对的或是绝对的。例如,在此叙述的邻近搜寻算法使用绝对准则:有最低值(score)的目标巨图块被视为较佳的相符。然而,在此叙述的共轭梯度下降搜寻算法利用临界值,绝对差值加总值低于该临界值的第一方块被视为较佳的相符。然而,该临界值的准则是一设计或实现决定。
在处理步骤420或430之后,以认出较佳候选相符。步骤440还执行局部区域彻底搜寻(local area exhaustive search)以找到最佳的候选。该搜寻区域是位于步骤420或430所认出的较佳候选巨图块附近。在一些实施例中,在执行步骤420,共轭梯度下降搜寻算法之后(即在图像内预测的状况下),局部彻底搜寻所搜寻的区域包含步骤420所认出的局部最小值(较佳候选)的外面附近的4个对角。例如,若在梯度下降上个步骤所使用的值是1,则该搜寻限制在离该较佳候选(±1,±1)的点。在一些实施例中,当执行步骤430之后(即在图像间预测的状况下),局部彻底搜寻(步骤440)所搜寻的包含在较佳候选巨图块附近一小区域的候选,通常是(±2,±2)。
步骤440的局部彻底搜寻从较佳候选巨图块限缩至最佳候选巨图块,这是像素调准(pixel-aligned),即具有整数像素分辨率。步骤450与460在分数像素边界(fractional-pixel boundary)找到最佳候选巨图块调准。已知分数移动搜寻算法使用特定编解码器滤波算法(codec-specific filteringalgorithm)以内插在分数位置的像素值,根据周围的整数位置。相对地,步骤450建立最佳候选巨图块与参考巨图块间相符程度为二次表面,而步骤460分析地判定该表面的最小值。最小值对应一最佳相符巨图块,为分数而非整数分辨率。(开创性的以分数分辨率判定最佳相符巨图块的建模将在后面的段落加以说明。)在有着分数分辨率的相符巨图块于步骤450被认出之后,接着处理步骤470,根据该相符巨图块计算分数移动向量,使用本领域技术人员所知悉的技术。接着就完成了程序400。
本领域技术人员应当了解到上面的算法在本质上是连续的,因其使用了邻近区域的信息。尽管使用了硬件加速的已知设计通常避免连续算法,因为许多原因,连续的设计在这里是适当的。首先,像素数据是以连续水平扫描线的形式(sequential raster fashion)读取,因而可被预先接收,维持在电路缓冲器中。其次,在含有单一绝对差值加总加速单元的实施例中,效能是限制在该单元是否能维持满载而非连续处理。绝对差值加总加速单元在预测方块没有许多快取遗漏下可以维持高负载。因为遗漏率是快取大小的函数,而HDTV分辨率图像在快取中仅需要1920/8=<1KB移动向量,低的快取遗漏率是可以预期的。
c.使用共轭梯度下降的图像内预测移动向量
图5是图4共轭梯度步骤440的流程图,由移动估测器220的一实施例所执行。如前所述,步骤440是在判定使用图像内预测将被用来寻找搜寻窗320内巨图块是与目前方块310为较佳(即可接受的)相符时执行。绝对差值加总值为了一组5个初始候选而计算:目前巨图块、与目前巨图块上、下、左、右的巨图块。从这初始组5个绝对差值加总值,计算两组互相垂直的梯度。从这两组梯度,得到最陡峭的方向的梯度。若该梯度相对地浅,或5个初始候选巨图块有非常接近的绝对差值加总值,则该搜寻延伸远离目前巨图块,因为在此区域内不存在有较佳局部最小机率的条件的候选。在对共轭梯度下降步骤440概述之后,该步骤将更详细的说明于下。
该步骤从步骤505开始,在此初始化候选方块Cx,y与步骤值Δx与Δy。在一实施例中,候选巨图块Cx,y设为搜寻窗320的左上角,而步骤值Δx与Δy均设为小整数值,例如8。接着在步骤510,计算候选巨图块Cx,y四周的候选巨图块的坐标。这四个候选巨图块是候选巨图块Cx,y的上、下、左、右四个。即,
T=(Cx,-Δy+Cy);R=(Δx+Cx,Cy);B=(Cx,Δy+Cy);L=(-Δx+Cx,Cy)
接着处理步骤515,在此分别计算5个候选巨图块的绝对差值加总(原本那个与周边四个)。在步骤520,计算梯度gx与gy。梯度gx是左边与右边巨图块绝对差值加总值的差。梯度gy是上面与下面巨图块绝对差值加总值的差。如此一来,不论可能相符巨图块间的误差值是增加或减少,该梯度表示x或y方向。在步骤525,该梯度是与临界值作比较。若该梯度低于该临界值(即该梯度相对地浅),这表示在目前搜寻区域中无局部最小值,故该搜寻延伸至新的候选巨图块。这些新的候选巨图块远离了原本的候选处理巨图块Cx,y。在一些实施例中,当在步骤515为候选巨图块所计算的绝对差值加总值相似时亦延伸该搜寻。该延伸搜寻继续在步骤530进行,在此计算四个新候选巨图块的坐标。原本四个候选巨图块是在Cx,y上下左右距离(Δx,Δy)的地方,选择四个新候选巨图块以形成原本候选巨图块Cx,y周围正方形角落,距离(Δx,Δy):TL=(-Δx+Cx,-Δy+Cy);TR=(Δx+Cx,Δy+Cy);BL=(-Δx+Cx,Cy);BR=(Δx+Cx,Δy+Cy)
在步骤535,对这些新的候选巨图块(C,TL,TR,BL,BR)分别执行共轭梯度下降步骤440。
回到步骤525的梯度比较,若在巨图块520所计算的梯度是等于或大于该临界值(即该梯度是相对地陡峭),接着在步骤540在步骤515所计算的绝对差值加总值与临界值作比较。若该绝对差值加总值低于该临界值,则表示找到较佳相符,则步骤440回到呼叫器(在步骤545),提供该呼叫器有最低绝对差值加总值的候选巨图块。
若在步骤540所测试的该绝对差值加总值等于或低于该临界值,表示没有找到较佳相符,故调整搜寻区域。在步骤550,选择新的中央候选巨图块Cx,y。新的中央巨图块是C,TL,TR,BL,BR候选组中在步骤515中算出有最低绝对差值加总值的方块。接着,在步骤555,从梯度gx与gy计算新的步骤值Δx与Δy,例如Δx=Δx×gx。陡峭的梯度代表可接受的相符巨图块是目前中央候选很远,故增加(Δx,Δy)。相反地,浅的梯度代表可接受的相符巨图块是目前中央候选很近,故应减少(Δx,Δy)。本领域技术人员应当了解到各种不同的系数可以从各梯度用来计算(Δx,Δy)以达成该结果。
接着,在步骤560测试迭代循环数。若该数目大于最大值,则步骤440于步骤565完成,找不到可以接受的相符。此外,采用错误梯度以选择一组新的候选巨图块,其被期待为较接近于最终相符,该梯度下降步骤440回到步骤510,在此产生一组新的。共轭梯度下降步骤440在以下两种情况下完成,当找到可接受的值(步骤545),或最大迭代数目以达到仍无相符(步骤565)。
图6说明使用共轭梯度下降步骤440的示范状态。初始候选巨图块Cx,y是方形(610C),而四个周围候选是圆圈(610T,610L,610R,610B)。从这些初始候选计算梯度gx与gy(620X,620Y)。在此示范状态中,梯度太浅了,而没有绝对差值加总值低于该临界值。因此延伸搜寻,使用四个新的中央候选巨图块,示为三角形(630TL,630TR,630BL,630BR)。这些新的候选巨图块距离原本候选巨图块Cx,y周围角落Δ的距离。
在这些中央候选周围的巨图块,示为六角形(640L1,640T1,640T2,640R2,640L3,640B3,640B4,640R4),被选为候选。在此示范状态中,两个候选640具有低于临界值的绝对差值加总值与“陡峭”梯度(650XY,660XY)。另一候选是根据各“陡峭”梯度选择:候选670是根据梯度650XY,而后选680是根据梯度660XY。梯度下降搜寻继续使用这些新的候选670、680,根据共轭梯度下降步骤440。
d.使用先前邻近图像间预测移动向量
图7是图4邻近搜寻算法(步骤430)的流程图,由移动估测器220的一实施例所执行。如前所述,该搜寻的候选巨图块包含邻近于目前图像205中的目前巨图块310(已被编码)的巨图块。亦包含为一候选的是在预先编码的参考图像230中的对应巨图块。
计算候选巨图块坐标的步骤从步骤710开始,在此通过利用目前巨图块310地址的绝对值(余数)与每行巨图块数计算旗标变量TOPVALID。若此绝对值非0,则TOPVALID为真,此外,TOPVALID为假。在步骤720,旗标变量LEFTVALID是利用目前巨图块310地址的除以整数与每行巨图块数计算。若此除数非0,则LEFTVALID为真,此外,LEFTVALID为假。这些TOPVALID与LEFTVALID变量表示目前巨图块310分别在上面与左边有邻近巨图块,考虑巨图块的上缘与左边缘。
在步骤730,结合使用TOPVALID与LEFTVALID变量以判定目前巨图块310邻近的4个候选巨图块的可得性,或存在性。特别是:左边有巨图块L若(LEFTVALID);上面有巨图块T若(TOPVALID);左上有巨图块TF若(TOPVALID&LEFTVALID);又上有巨图块TR若(TOPVALID&RIGHTVALID)。接着,在步骤740,为先前候选巨图块P判定可得性,这是在空间上对应目前巨图块310的先前编码参考图像230中的巨图块。这5个候选巨图块的相对位置可在图8中看到,其中L是810、T是820、TL是830、TR是840、P是850。
回到图7,步骤730与步骤740有多少候选巨图块可用来比较(从1到5)。步骤750为每一可得候选巨图块计算绝对差值加总。若5个候选均可得,该组绝对差值加总值为:
若某些候选不可得,本领域技术人员应当了解到该组候选相对较小。接着完成步骤430,回复有最低绝对差值加总的候选巨图块。
如先前结合图4所讨论的,一旦找到相符巨图块(不论使用图4的邻近搜寻法或是图5的共轭梯度下降),接着搜寻区域更加限缩,采用局部彻底搜寻(第4图440)。在局部搜寻之后,利用局部彻底搜寻的结果计算分数移动向量。分数移动向量的计算将于下详述。
e.利用二次表面模型的分数移动向量运算
本领域技术人员应当对图示巨图块对搜寻窗间相符程度以产生“错误表面”感到熟悉。采用开创性方法,移动估测器220以二次表面建模错误表面并分析地以次像素准确性判定该表面的最小值。移动估测器220,首先判定方项的最小值,给定最小行。移动估测器220接着沿着这条线决定正交方向的最小值。
二次曲线的一般方程式如方程式1。
y=C1+C2t+C3t2 方程式1
对该曲线取微分,如第2方程式:
一旦系数C1,C2,C3已知,则可求解以判定t,最小的位置。移动估测器220解出方程式3以判定系数C1,C2,C3。
移动估测器220使用由图形处理单元120所提供的84绝对差值加总指令已有效率的计算方程式3。各d1代表绝对差值加总值,对i累加代表在x方向邻近巨图块的绝对差值加总值。如结合第x图的详细说明,该8×4绝对差值加总指令有效率的计算邻近的巨图块(x,y)、(x+1,y)、(x+2,y)、(x+3,y),的4个绝对差值加总值,即i=0...3且i=j,t=j+1。如前所述,一旦系数已知,解方程式2得到t,x方向的最小值。
方程式3可以用来判定垂直方向的最小值t。在此例中,移动估测器220使用8×4绝对差值加总指令已有效率的计算垂直地邻近的巨图块(x,y)、(x+1,y)、(x+2,y)、(x+3,y)的4个绝对差值加总值。方程式3解出计算自这些绝对差值加总值的系数C1、C2、C3。如前所述,一旦系数已知,解方程式2得到t,y方向的最小值。移动估测器220所使用的二次错误表面方法较在先判断像素边界上较佳相符后再使用运算昂贵滤波器去寻找子像素边界上较佳相符的已知方法来的进步。
f.在图形处理单元上使用绝对差值加总加速器以有效率地计算最小值
如前所述,移动估测器220以目前图像中一参考巨图块判定预测图像中那个巨图块有较佳的相符。移动估测器220使用由图形处理单元120所提供的绝对差值加总硬件加速,其为图形加速单元指令。绝对差值加总指令要输入一4×4参考方块与一8×4预测方块,并产生4个绝对差值加总值。参考方块与预测方块的大小可根据需要而改变。4×4参考方块与8×4预测方块仅为范例以说明本发明,而不应限制参考方块与预测方块的大小。图9A、图9B是说明对参考与预测方块进行绝对差值加总指令运作的方块图。如示于图9A,8×4预测方块是由多个彼此重迭的水平邻近4×4方块所组成,如方块910、920、930、940。绝对差值加总单元取一个输入4×4参考方块950并计算该参考方块与910-940个方块的绝对差值加总值。即,该绝对差值加总指令计算4个值:一个值是方块910与方块950的差值的绝对值的总和;另一个值是方块920与方块950的差值的绝对值的总和;另一个值是方块930与方块950的差值的绝对值的总和;另一个值是方块940与方块950的差值的绝对值的总和。
参见图9B,图形处理单元120内的绝对差值加总加速单元使用4个绝对差值加总计算单元(960,970,980,990)以实现绝对差值加总指令。最左边的4×4方块910是提供给绝对差值加总计算单元960。接着输入右边的4×4方块(920)给绝对差值加总计算单元970。接着输入右边的4×4方块(930)给绝对差值加总计算单元980。最后,提供最右边的4×4方块940给绝对差值加总计算单元990。图形处理单元120平行地使用独立的绝对差值加总计算单元,所以绝对差值加总指令每个周期产生4个绝对差值加总值。本领域技术人员应当了解到用来计算两个相同大小像素方块的绝对差值加总运算的算法,以及用来执行此运算的硬件设计,故这些细节将不再详述。
4×4参考方块是水平地且垂直地列在像素边缘。然而,不需要垂直地校正4×4预测方块910-940。在一实施例中,数据是通过旋转(逻辑电路995)该参考方块所校正。旋转参考方块而非分别旋转4个预测方块可节省逻辑门数。旋转后的参考方块是提供给各独立绝对差值加总硬件加速单元。各单元产生12位的值,而这些值结合成一个48位的输出。在一实施例中,这些值的数量级是根据预测方块的U纹理坐标(最低位位置中的最低坐标)。
下面的程序代码说明8×8方块,即两个邻近的8×4方块,的绝对差值加总值可以仅使用4个绝对差值加总指令计算。暂存器T、T、T、T4用来暂存这4个绝对差值加总值。变量sadS用来累加这些绝对差值加总值。8×4参考方块的地址假设在refReg。U与V是8×8预测方块的纹理坐标。下面的程序代码产生整个8×8方块的全部的绝对差值加总值,储存在sadS。
SAD T1, refReg,U,V; left-top of 8×8 prediction block
SAD T2, refReg,U+4,V; right-top of 8×8 prediction block
ADD sadS,T1,T2;
SAD T3, refReg,U,V+4; left-bottom of 8×8 prediction block
ADD sadS,sadS,T3;
SAD T4, refReg,U+4,V+4;right-bottom of 8×8 prediction block
ADD sadS,sadS,T4
然而,通常可以避免计算与加总所有4个子方块的值,因为只要该总和达到目前最小值就可以停止该计算。下列的伪码说明如何在循环内使用绝对差值加总指令,其在总和达到最小值时停止。
I:=0;
SUM:=0;
MIN=currentMIN;
WHILE(I<4||SUM<MIN)
SUM:=SUM+SAD(refReg,U+(I%2)*4,V+(I>>1)*4);
IF(SUM<currMIN)currMIN=MIN;
Go to Next Search point;
图形处理单元120中的84绝对差值加总指令是直接由移动估测器220的先进搜寻算法所使用,例如图5中所说明的执行局部彻底搜寻。此外,纹理快取1060(图10)是方块校正,而移动估测器220所使用的算法,如上所述,是像素校正。尽管可以将多工器单元加到图形处理单元120中以处理这些校正误差,然而这么做会增加逻辑门数与电力消耗。取而代之,图形处理单元120使用这些多余的预算到4个绝对差值加总单元,而不是只用1个。在一些实施例中,8×4绝对差值加总指令提供了有效率地运算最小值的优点,这牵涉到计算邻近方块的绝对差值加总值。在一些实施例中,8×4绝对差值加总指令提供了彻底搜寻(方块440)的另一优点,当步骤值为1时,其计算各对角的绝对差值加总值。
4.图形处理器
已经讨论过移动估测器220的软件算法实现以及该算法在图形处理单元120中的8×4绝对差值加总指令的使用,接下来详细说明绝对差值加总指令与图形处理单元120。
a.图形处理单元流
图10是图形处理单元120的数据流程图,其中指令流是由图10左边的箭头,而图像或图形流是由右边的箭头表示。图10省略了数个本领域技术人员已知的元件,这些对解释图形处理单元120的回路内去方块效应特征非必要。
指令流处理器1010从系统总线(未示)接收指令1020,并解码该指令,产生指令数据1030,例如顶点数据。图形处理单元120支持已知图形处理指令,以及加速视频编码及/或解码的指令,例如前述的8×4绝对差值加总指令。
已知图形处理指令牵涉到如顶点着色(vertex shading)、几何着色(geometry shading)、像素着色(pixel shading)等难题。因此,指令数据1030是施用于着色器执行单元(shader execution units)的池(pool)740。着色执行单元必要使用纹理滤波单元(TFU,texture filter unit)750以施加纹理至像素。纹理数据是快取自纹理快取1060,其是在主存储器(未示)后面。
一些指令送给视频处理单元1100,其运作将于后说明。产生的数据接着由后包装器(post-packer 1070)处理,其压缩该数据。在后处理(post-processing)之后,由视频加速单元所产生的数据是提供给执行单元池(execution unit pool)1040。
视频编码/解码加速指令的执行,例如前述的绝对差值加总指令,在许多方面与前述的已知图形指令不同。首先,视频加速指令是由视频处理单元1100执行,而非着色器执行单元。其次,视频加速指令不使用其纹理数据。
然而,视频加速指令所使用的图像数据与图形指令所使用的纹理数据均为2维阵列。图形处理单元120同样利用此优点,使用纹理滤波单元1050下载给视频处理单元1100的图像数据,因而使纹理快取1060快取一些由视频处理单元1100运作的图像数据。因此,示于图10,视频处理单元1100是位于纹理滤波单元1050与后包装器1070之间。
纹理滤波单元1050检验从指令1020撷取的指令数据1030。指令数据1030还提供纹理滤波单元1050主存储器(未示)内想要的图像数据的坐标。在一实施例中,这些坐标标明为U、V对,本领域技术人员应对此熟悉。当指令1020是视频加速指令时,所撷取的指令数据1030还命令纹理滤波单元1050略过纹理滤波单元1050内的任何纹理滤波器(未示)。因此,纹理滤波单元1050受到视频加速指令的控制下载图像数据给视频处理单元1100。
依此法,纹理滤波单元1050是受操纵为视频加速指令去下载图像数据给视频加速单元1100。视频处理单元1100从数据路径上的纹理滤波单元1050接收图像数据,与命令路径上的命令数据1030,并根据命令数据1030对该图像数据执行运作。由视频处理单元1100所输出的图像数据是回馈给执行单元池1040,在由后包装器1070处理之后。
b.指令参数
现在说明视频处理单元1100在执行绝对差值加总视频加速指令的运作。如先前说明的,各图形处理单元指令是解码且分析(parsed)为指令数据1030,其可视为各指令的特定参数集。绝对差值加总指令的参数示于表1。
表1:图形处理单元的绝对差值加总指令
输入/输出 | 名称 | 大小 | 叙述 |
输入 | FieldFlag | 1-位 | 若FieldFlag==1则FieldPicture,其余则Frame Picture |
输入 | TopFieldFlag | 1-位 | 若TopFieldFlag==1则Top-Field-Picture,其它Bottom-Field-Picture若设定了FieldFlag. |
输入 | PictureWidth | 16-位 | 例如:1920用于HDTV |
输入 | PictureHeight | 16-位 | 例如:1080用于30P HDTV |
输入 | BaseAddress | 32-位无符号的 | 预测图片基本地址 |
输入 | BlockAddress | U:16-位有符号的V:16-位有符号的 | 预测图片纹理坐标(是关于基本地址)在SRC1 OpcodeSRC1[0:15]=U,SRC1[31:16]=VU,V为13.3格式,忽略分数部分 |
输入 | RefBlock | 128-位 | 参考图片数据在SRC2 Opcode |
输出 | DestinationOperand | 4×16-位 | 128位暂存器中最不重要的32位在DST Opcode |
结合使用数个输入参数以判定由纹理滤波单元1050所撷取的4×4方块地址。BaseAddress参数指出在纹理快取中该纹理数据的起点。将此区域内左上方块坐标给BaseAddress参数。PictureHeight与PictureWidth输入参数用来判断该方块的范围,即左下方坐标。最后,视频图形可为渐进式扫描(progessive)或隔行扫描(interlace)。若为隔行扫描,其是由两个方向组成(上方与下方)。纹理滤波单元750使用FieldFlag与TopFieldFlag以适当处理隔行扫描图像。
c.图像数据转换
为执行绝对差值加总指令,视频处理单元1100从纹理滤波单元1050撷取输入像素方块并对这些方块执行转换,转换为适当格式以利绝对差值加总加速单元960-990处理。像素方块接着被提供至绝对差值加总加速单元960-990,其回复绝对差值加总值。各绝对差值加总值接着被累积至目标暂存器。这些功能将于后详述。
视频处理单元1100接收定义计算该绝对差值加总值的8×4方块的两个输入参数。参考方块的数据是直接由SRC2运作码直接定义:8×4×8位方块视为128位的数据。相对地,SRC1运作码定义预测方块的地址而非数据。视频处理单元1100提供这些地址给纹理滤波单元1050,其从纹理快取1060撷取128位的预测方块数据。
尽管图像数据包含亮度(Y)与彩度(Cb,Cr)平面,移动估测通常仅使用Y成分。因此,当执行绝对差值加总指令时,视频处理单元1100所运作的像素方块仅含有Y成分。在一实施例中,视频处理单元1100产生禁止信号,其指挥纹理滤波单元1050不要从纹理快取1060撷取Cr/Cb像素数据。
图11是纹理滤波单元1050与纹理快取1060的方块图。纹理滤波单元1050是设计为从纹理快取1060撷取纹理图像边界(texel boundry),并从纹理快取1060下载4×4纹理图像方块至滤波输入缓冲器1110。当撷取数据代表视频处理单元1100时,纹理图像1120被视为各有32位的4个信道(ARGB),对于128位的纹理图像大小。当为绝对差值加总指令撷取数据时,纹理滤波单元1050下载8×4×8位方块,其储存在2个像素输入缓冲器(1110A、1110B)。绝对差值加总指令所使用的8×4图像方块是如先前结合第9图所述。
视频处理单元1100所示用的图像数据可能被字节校正。然而,纹理滤波单元1050是被设计为从外取撷取纹理图像边界。因此,当为视频处理单元1100撷取的数据时,纹理滤波单元1050可能需要撷取达4个环绕在特定字节校正8×4方块周围的纹理图像校正4×4方块。
该程序可在图11中看到,其中所撷取的方块(目标方块1130)对准在纹理图像边界上,不论在垂直方向或在水平方向。该目标方块1130的U、V地址定义8×4×8位的最左上角,字节校正方块。在此例中,纹理快取单元1050撷取纹理图像1140、1150、1160、1170以得到目标方块1130。纹理滤波单元1050接着结合从方块1140-1170所按位选择的行与列,顾目标方块1130的最左边4×4位是写入滤波缓冲器1110B。本领域技术人员应当知道如何使用多工器、移位器(shifter)、屏蔽位(mask bits)达成该结果,不管从纹理快取1060所撷取的4×4目标校正。
在图11所示的实施例,当目标方块1130包含垂直纹理像素边界,该数据不会垂直地重新排列。当此情形发生时,下载至滤波缓冲器1110A与1110B的数据在垂直方向的顺序与在快取中原本的顺序不同。在此实施例中,视频处理班员1100必须垂直地重新排列(旋转)128位参考方块数据以符合预测方块的顺序。在另一实施例中,在写入其中一滤波缓冲器1110之前,纹理滤波单元1050垂直地重新排列快取纹理图像数据以符合原本的快取顺序。
任何程序说明或流程图中的方块应被理解为表示模块、区段或部分程序代码,其包含用于实现特定逻辑电路功能或程序中的步骤的一个或多个可执行的指令。本领域技术人员应当了解到,其它的实现方法亦包含于所揭露的范围内。在其它的实现方法中,各功能可不依所示或揭露的顺序执行,包含实质上同步进行或逆向进行,依所涉的功能而定。
在此揭露的系统与方法可以软件、硬件或其结合实现。在一些实施例中,该系统及/或方法是以存在存储器中的软件实现,且由位于计算装置中的适当处理器所执行(包含而不限于微处理器、微控制器、网络处理器、可重新装配处理器、可扩充处理器)。在其它实施例中,该系统及/或方法是以逻辑电路实现,包含而不限于可编程逻辑装置(PLD,programmable logic device)、可编程逻辑门阵列(PGA,programmable gate array)、现场可编程逻辑门阵列(FPGA,field programmable gate array)或专用集成电路(ASIC)。在其它实施例中,这些逻辑叙述是在图形处理器或图形处理单元(GPU)完成。
在此揭露的系统与方法可被嵌入任何计算机可读媒体而使用,或连接指令执行系统、设备、装置。该指令执行系统包含任何以计算机为基础的系统、含有处理器的系统或其它可以从该指令执行系统撷取与执行这些指令的系统。所揭露的文字“计算机可读媒体(computer-readable medium)”可为任何可以容纳、储存、沟通、传递或传送该程序作为使用或与该指令执行系统连结的工具。该计算机可读媒体可为,例如(非限制)为基于电子的、有磁性的、光的、电磁的、红外线的或半导体技术的系统或传递媒体。
使用电子技术的计算机可读媒体的特定范例(非限制)可包含:具有一条或多条电性(电子)连接的线;随机存取存储器(RAM,random access memory);只读存储器(ROM,read-only memory);可拭去可编程只读存储器(EPROM或闪存)。使用磁技术的计算机可读媒体的特定范例(非限制)可包含:可携带计算机磁盘。使用光技术的计算机可读媒体的特定范例(非限制)可包含:光纤与可携带只读光盘(CD-ROM)。
虽然本发明在此以一个或更多个特定的范例作为实施例阐明及描述,不过不应将本发明局限于所示的细节,然而仍可在不背离本发明的精神下且在权利要求范围均等的领域与范围内实现许多不同的修改与结构上的改变。因此,最好将所附上的权利要求范围广泛地且以符合本发明领域的方法解释,在所述的权利要求范围前提出此声明。
Claims (10)
1.一种判定描述相对于参考方块的移动的移动向量的方法,该方法包含:
根据相符标准,判定多个预测方块中哪一个与该参考方块有较佳相符;
执行局部区域彻底搜寻以产生与该参考方块的最佳相符,该局部区域彻底搜寻在以较佳相符预测方块为中央的周围的区域,该最佳相符具有整数像素分辨率;
将该最佳相符与该参考方块间相符的程度建模为二次表面;
分析地判定该二次表面的最小值,该最小值对应有分数分辨率的最佳相符方块;以及
根据该有分数分辨率的最佳相符方块计算分数移动向量。
2.根据权利要求1所述的判定描述相对于参考方块的移动的移动向量的方法,其中该判定多个预测方块中哪一个与该参考方块有较佳相符的步骤还包含:
判定目前图框是否为图像内预测;以及
若该目前图框为图像内预测,则利用共轭梯度下降法搜寻该多个预测方块以判定哪一个为该较佳相符。
3.根据权利要求1所述的判定描述相对于参考方块的移动的移动向量的方法,其中该判定多个预测方块中哪一个与该参考方块有较佳相符的步骤还包含:
判定目前图框是否为图像间预测;以及
若该目前图框为图像间预测,则搜寻该参考方块周围的邻近方块以判定该多个预测方块中哪一个为该较佳相符。
4.根据权利要求1所述的判定描述相对于参考方块的移动的移动向量的方法,还包含:
从该较佳相符预测方块对角地位置的一组4个方块,执行该局部区域彻底搜寻。
5.根据权利要求1所述的判定描述相对于参考方块的移动的移动向量的方法,其中该分析地判定该二次表面的该最小值的步骤还包含:
判定第一方向的该最小值;
判定垂直于该第一方向的第二方向的该最小值。
6.根据权利要求1所述的判定描述相对于参考方块的移动的移动向量的方法,其中分析地判定该二次表面的最小值的步骤还包含:
计算该最佳相符方块的邻近方块的绝对差值加总值。
7.根据权利要求1所述的判定描述相对于参考方块的移动的移动向量的方法,其中分析地判定该二次表面的最小值的步骤还包含:
计算多个方块的绝对差值加总值,该多个方块之中一第一个在第一方向邻近于该最佳相符方块,该多个方块剩下的方块分别邻近于该多个方块中的另一个。
8.根据权利要求1所述的判定描述相对于参考方块的移动的移动向量的方法,其中分析地判定该二次表面的最小值的步骤还包含:
计算多个方块的绝对差值加总值,且其中该计算多个方块的该绝对差值加总值是利用由图形处理单元所执行的绝对差值加总指令所执行。
9.根据权利要求2所述的判定描述相对于参考方块的移动的移动向量的方法,其中该搜寻该多个预测方块以判定哪一个为该较佳相符的步骤还包含:
从该多个预测方块选择候选方块;
计算在该候选方块之上相距一固定距离的第一方块的第一绝对差值加总值与在该候选方块之下相距该固定距离的第二方块的第二绝对差值加总值之间的水平梯度;
计算在该候选方块之左相距该固定距离的第三方块的第三绝对差值加总值与在该候选方块之右相距该固定距离的第四方块的第四绝对差值加总值之间的垂直梯度;
若该水平与垂直梯度是低于梯度临界值,根据该水平与垂直梯度,调整该固定距离;
判断与该第一、第二、第三、第四方块中具有最低绝对差值加总值的方块相距调整后的固定距离的多个新候选方块;以及
对各该多个新候选方块重复该选择候选方块步骤之后的步骤。
10.根据权利要求9所述的判定描述相对于参考方块的移动的移动向量的方法,还包含:
若该水平与垂直梯度是大于或等于该梯度临界值,则将该第一、第二、第三、第四绝对差值加总值与绝对差值加总临界作比较;
若该第一、第二、第三、第四绝对差值加总值中任一个值低于该绝对差值加总临界,则将该第一、第二、第三、第四方块中具有该最低绝对差值加总值的方块判断为该较佳相符。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81462306P | 2006-06-16 | 2006-06-16 | |
US60/814,623 | 2006-06-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101068365A CN101068365A (zh) | 2007-11-07 |
CN101068365B true CN101068365B (zh) | 2010-08-25 |
Family
ID=38880763
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101103594A Active CN101072351B (zh) | 2006-06-16 | 2007-06-13 | 去方块效应滤波器和视频解码器与图形处理单元 |
CN2007101101940A Active CN101068365B (zh) | 2006-06-16 | 2007-06-18 | 判定描述参考方块移动的移动向量的方法及其储存媒体 |
CN2007101101921A Active CN101068364B (zh) | 2006-06-16 | 2007-06-18 | 视频编码器与图形处理系统 |
CN200710111956.9A Active CN101083764B (zh) | 2006-06-16 | 2007-06-18 | 可编程视频处理单元与视频数据处理方法 |
CN2007101119554A Active CN101083763B (zh) | 2006-06-16 | 2007-06-18 | 可编程视频处理单元及视频数据处理方法 |
CN2007101101936A Active CN101068353B (zh) | 2006-06-16 | 2007-06-18 | 图形处理单元与计算巨图块的绝对差值加总值的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101103594A Active CN101072351B (zh) | 2006-06-16 | 2007-06-13 | 去方块效应滤波器和视频解码器与图形处理单元 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101101921A Active CN101068364B (zh) | 2006-06-16 | 2007-06-18 | 视频编码器与图形处理系统 |
CN200710111956.9A Active CN101083764B (zh) | 2006-06-16 | 2007-06-18 | 可编程视频处理单元与视频数据处理方法 |
CN2007101119554A Active CN101083763B (zh) | 2006-06-16 | 2007-06-18 | 可编程视频处理单元及视频数据处理方法 |
CN2007101101936A Active CN101068353B (zh) | 2006-06-16 | 2007-06-18 | 图形处理单元与计算巨图块的绝对差值加总值的方法 |
Country Status (2)
Country | Link |
---|---|
CN (6) | CN101072351B (zh) |
TW (6) | TWI444047B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9077971B2 (en) | 2008-04-10 | 2015-07-07 | Qualcomm Incorporated | Interpolation-like filtering of integer-pixel positions in video coding |
US8705622B2 (en) | 2008-04-10 | 2014-04-22 | Qualcomm Incorporated | Interpolation filter support for sub-pixel resolution in video coding |
US9967590B2 (en) | 2008-04-10 | 2018-05-08 | Qualcomm Incorporated | Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter |
EP2359590A4 (en) * | 2008-12-15 | 2014-09-17 | Ericsson Telefon Ab L M | METHOD AND APPARATUS FOR AVOIDING QUALITY DETERIORATION OF TRANSMITTED MULTIMEDIA CONTENT |
CN101901588B (zh) * | 2009-05-31 | 2012-07-04 | 比亚迪股份有限公司 | 一种嵌入式系统的图像平滑显示方法 |
CN102164284A (zh) * | 2010-02-24 | 2011-08-24 | 富士通株式会社 | 视频解码方法和系统 |
US8295619B2 (en) * | 2010-04-05 | 2012-10-23 | Mediatek Inc. | Image processing apparatus employed in overdrive application for compressing image data of second frame according to first frame preceding second frame and related image processing method thereof |
TWI395490B (zh) * | 2010-05-10 | 2013-05-01 | Univ Nat Central | 實施於電子裝置之影像編碼方法 |
US8681162B2 (en) * | 2010-10-15 | 2014-03-25 | Via Technologies, Inc. | Systems and methods for video processing |
WO2012092841A1 (en) | 2011-01-03 | 2012-07-12 | Mediatek Inc. | Method of filter-unit based in-loop filtering |
CN106162186B (zh) * | 2011-01-03 | 2020-06-23 | 寰发股份有限公司 | 基于滤波单元的回路滤波方法 |
WO2012152174A1 (en) * | 2011-05-10 | 2012-11-15 | Mediatek Inc. | Method and apparatus for reduction of in-loop filter buffer |
CA2840587C (en) | 2011-06-28 | 2017-06-20 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video, accompanied with intra prediction |
TW201345269A (zh) * | 2012-03-30 | 2013-11-01 | Jvc Kenwood Corp | 影像編碼裝置、影像編碼方法、影像編碼程式、送訊裝置、送訊方法、及送訊程式、以及影像解碼裝置、影像解碼方法、影像解碼程式、收訊裝置、收訊方法、及收訊程式 |
US9953455B2 (en) | 2013-03-13 | 2018-04-24 | Nvidia Corporation | Handling post-Z coverage data in raster operations |
US10154265B2 (en) | 2013-06-21 | 2018-12-11 | Nvidia Corporation | Graphics server and method for streaming rendered content via a remote graphics processing service |
CN105872553B (zh) * | 2016-04-28 | 2018-08-28 | 中山大学 | 一种基于并行计算的自适应环路滤波方法 |
US20180174359A1 (en) * | 2016-12-15 | 2018-06-21 | Mediatek Inc. | Frame difference generation hardware in a graphics system |
CN111028133B (zh) * | 2019-11-21 | 2023-06-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于SystemVerilog的图形命令预译码装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1615025A (zh) * | 2003-11-04 | 2005-05-11 | 联发科技股份有限公司 | 可执行区块比对移动补偿与全域移动补偿的装置与方法 |
CN1617592A (zh) * | 2003-08-14 | 2005-05-18 | 英特维科技股份有限公司 | 视讯编码器选择一大区块模式的系统与方法 |
CN1750660A (zh) * | 2005-09-29 | 2006-03-22 | 威盛电子股份有限公司 | 移动向量计算方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3578498B2 (ja) * | 1994-12-02 | 2004-10-20 | 株式会社ソニー・コンピュータエンタテインメント | 画像情報処理装置 |
JPH08298642A (ja) * | 1995-02-28 | 1996-11-12 | Daewoo Electron Co Ltd | 対話型情報記録媒体の順次情報表示方法 |
US6064450A (en) * | 1995-12-06 | 2000-05-16 | Thomson Licensing S.A. | Digital video preprocessor horizontal and vertical filters |
JP3876392B2 (ja) * | 1996-04-26 | 2007-01-31 | 富士通株式会社 | 動きベクトル探索方法 |
JPH10145753A (ja) * | 1996-11-15 | 1998-05-29 | Sony Corp | 受信装置および方法 |
US6496537B1 (en) * | 1996-12-18 | 2002-12-17 | Thomson Licensing S.A. | Video decoder with interleaved data processing |
US6177922B1 (en) * | 1997-04-15 | 2001-01-23 | Genesis Microship, Inc. | Multi-scan video timing generator for format conversion |
JP3870491B2 (ja) * | 1997-07-02 | 2007-01-17 | 松下電器産業株式会社 | 画像間対応検出方法およびその装置 |
US6487249B2 (en) * | 1998-10-09 | 2002-11-26 | Matsushita Electric Industrial Co., Ltd. | Efficient down conversion system for 2:1 decimation |
US6573905B1 (en) * | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US6882688B1 (en) * | 1998-12-11 | 2005-04-19 | Matsushita Electric Industrial Co., Ltd. | Deblocking filter arithmetic apparatus and deblocking filter arithmetic method |
CN1112714C (zh) * | 1998-12-31 | 2003-06-25 | 上海永新彩色显象管有限公司 | 显象管屏清洗设备及方法 |
US6871001B1 (en) * | 1999-03-23 | 2005-03-22 | Sanyo Electric Co., Ltd. | Video decoder |
KR100677082B1 (ko) * | 2000-01-27 | 2007-02-01 | 삼성전자주식회사 | 움직임 추정기 |
JP4461562B2 (ja) * | 2000-04-04 | 2010-05-12 | ソニー株式会社 | 再生装置および方法、ならびに、信号処理装置および方法 |
US6717988B2 (en) * | 2001-01-11 | 2004-04-06 | Koninklijke Philips Electronics N.V. | Scalable MPEG-2 decoder |
US7940844B2 (en) * | 2002-06-18 | 2011-05-10 | Qualcomm Incorporated | Video encoding and decoding techniques |
CN1332560C (zh) * | 2002-07-22 | 2007-08-15 | 上海芯华微电子有限公司 | 无附加帧存储器基于块边界的差和量化因子的去块效应法 |
US7336720B2 (en) * | 2002-09-27 | 2008-02-26 | Vanguard Software Solutions, Inc. | Real-time video coding/decoding |
US7027515B2 (en) * | 2002-10-15 | 2006-04-11 | Red Rock Semiconductor Ltd. | Sum-of-absolute-difference checking of macroblock borders for error detection in a corrupted MPEG-4 bitstream |
FR2849331A1 (fr) * | 2002-12-20 | 2004-06-25 | St Microelectronics Sa | Procede et dispositif de decodage et d'affichage en marche avant acceleree d'images mpeg, circuit pilote video et boitier decodeur incorporant un tel dispositif |
US6922492B2 (en) * | 2002-12-27 | 2005-07-26 | Motorola, Inc. | Video deblocking method and apparatus |
TWI373734B (en) * | 2003-03-17 | 2012-10-01 | Qualcomm Inc | Method and apparatus for improving video quality of low bit-rate video |
US7660352B2 (en) * | 2003-04-04 | 2010-02-09 | Sony Corporation | Apparatus and method of parallel processing an MPEG-4 data stream |
US7274824B2 (en) * | 2003-04-10 | 2007-09-25 | Faraday Technology Corp. | Method and apparatus to reduce the system load of motion estimation for DSP |
NO319007B1 (no) * | 2003-05-22 | 2005-06-06 | Tandberg Telecom As | Fremgangsmate og apparat for videokomprimering |
US20050013494A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | In-loop deblocking filter |
EP1659803A4 (en) * | 2003-08-19 | 2008-10-29 | Matsushita Electric Ind Co Ltd | METHOD FOR ENCODING AND DECODING A MOVING IMAGE |
US7292283B2 (en) * | 2003-12-23 | 2007-11-06 | Genesis Microchip Inc. | Apparatus and method for performing sub-pixel vector estimations using quadratic approximations |
CN1233171C (zh) * | 2004-01-16 | 2005-12-21 | 北京工业大学 | 一种用于视频编码的简单化环路滤波方法 |
US20050262276A1 (en) * | 2004-05-13 | 2005-11-24 | Ittiam Systamc (P) Ltd. | Design method for implementing high memory algorithm on low internal memory processor using a direct memory access (DMA) engine |
NO20042477A (no) * | 2004-06-14 | 2005-10-17 | Tandberg Telecom As | Fremgangsmåte for chroma de-blokking |
US20060002479A1 (en) * | 2004-06-22 | 2006-01-05 | Fernandes Felix C A | Decoder for H.264/AVC video |
US8116379B2 (en) * | 2004-10-08 | 2012-02-14 | Stmicroelectronics, Inc. | Method and apparatus for parallel processing of in-loop deblocking filter for H.264 video compression standard |
NO322722B1 (no) * | 2004-10-13 | 2006-12-04 | Tandberg Telecom As | Fremgangsmate for videokoding gjennom reduksjon av blokkartefakter |
-
2007
- 2007-06-05 TW TW096120098A patent/TWI444047B/zh active
- 2007-06-13 CN CN2007101103594A patent/CN101072351B/zh active Active
- 2007-06-15 TW TW096121865A patent/TWI395488B/zh active
- 2007-06-15 TW TW096122000A patent/TWI350109B/zh active
- 2007-06-15 TW TW096122002A patent/TWI383683B/zh active
- 2007-06-15 TW TW096121890A patent/TWI482117B/zh active
- 2007-06-15 TW TW096122009A patent/TWI348654B/zh active
- 2007-06-18 CN CN2007101101940A patent/CN101068365B/zh active Active
- 2007-06-18 CN CN2007101101921A patent/CN101068364B/zh active Active
- 2007-06-18 CN CN200710111956.9A patent/CN101083764B/zh active Active
- 2007-06-18 CN CN2007101119554A patent/CN101083763B/zh active Active
- 2007-06-18 CN CN2007101101936A patent/CN101068353B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617592A (zh) * | 2003-08-14 | 2005-05-18 | 英特维科技股份有限公司 | 视讯编码器选择一大区块模式的系统与方法 |
CN1615025A (zh) * | 2003-11-04 | 2005-05-11 | 联发科技股份有限公司 | 可执行区块比对移动补偿与全域移动补偿的装置与方法 |
CN1750660A (zh) * | 2005-09-29 | 2006-03-22 | 威盛电子股份有限公司 | 移动向量计算方法 |
Non-Patent Citations (1)
Title |
---|
JP特开2001-285881A 2001.10.12 |
Also Published As
Publication number | Publication date |
---|---|
CN101083764A (zh) | 2007-12-05 |
CN101068364B (zh) | 2010-12-01 |
CN101068364A (zh) | 2007-11-07 |
TW200803528A (en) | 2008-01-01 |
CN101068353B (zh) | 2010-08-25 |
CN101072351A (zh) | 2007-11-14 |
CN101083764B (zh) | 2014-04-02 |
CN101072351B (zh) | 2012-11-21 |
TWI350109B (en) | 2011-10-01 |
CN101083763A (zh) | 2007-12-05 |
TWI444047B (zh) | 2014-07-01 |
TW200816082A (en) | 2008-04-01 |
TW200803527A (en) | 2008-01-01 |
CN101083763B (zh) | 2012-02-08 |
TW200816820A (en) | 2008-04-01 |
TWI383683B (zh) | 2013-01-21 |
TWI348654B (en) | 2011-09-11 |
CN101068365A (zh) | 2007-11-07 |
TW200821986A (en) | 2008-05-16 |
TW200803525A (en) | 2008-01-01 |
TWI482117B (zh) | 2015-04-21 |
CN101068353A (zh) | 2007-11-07 |
TWI395488B (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101068365B (zh) | 判定描述参考方块移动的移动向量的方法及其储存媒体 | |
US11417029B2 (en) | Method and apparatus for point cloud coding | |
US8275049B2 (en) | Systems and methods of improved motion estimation using a graphics processing unit | |
US9319708B2 (en) | Systems and methods of improved motion estimation using a graphics processing unit | |
EP3043320B1 (en) | System and method for compression of 3d computer graphics | |
CN106031169B (zh) | 深度区块编码方法及其装置 | |
US8369419B2 (en) | Systems and methods of video compression deblocking | |
JP5642859B2 (ja) | モーション情報を符号化するための方法及び装置 | |
CN108476322A (zh) | 用于球面图像和立方体图像的帧间预测的装置 | |
CN108781281A (zh) | 用于有损和无损图像压缩的基于形状自适应模型的编解码器 | |
CN107318026A (zh) | 视频编码器以及视频编码方法 | |
CN101563927A (zh) | 用于对视频图像的块进行解码的方法 | |
CN112585971A (zh) | 对视频样本的变换块编码和解码的方法、设备和系统 | |
CN107801039A (zh) | 运动补偿预测方法和设备 | |
CN112602327B (zh) | 对视频样本的变换块编码和解码的方法、设备和系统 | |
US20230245390A1 (en) | Manhattan layout estimation using geometric and semantic information | |
US20230162404A1 (en) | Decoding of patch temporal alignment for mesh compression | |
CN112385232B (zh) | 用于双向帧内预测的参考像素插值方法和装置 | |
JP6187826B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
US20140369603A1 (en) | Detection device for region of interest and method of detecting region of interest | |
JP2024516244A (ja) | メッシュ圧縮におけるパッチの重複のないプロパティのチェック | |
CN107592547A (zh) | 一种基于hevc压缩域的运动感知图提取方法 | |
CN104683812A (zh) | 用于移动估计的视频预处理方法与装置 | |
US11967025B2 (en) | Detection of boundary loops in non-manifold meshes | |
US20220392114A1 (en) | Method and apparatus for calculating distance based weighted average for point cloud coding |
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 |