CN113676737A - 一种基于gpu的高效视频编码器及编码方法 - Google Patents
一种基于gpu的高效视频编码器及编码方法 Download PDFInfo
- Publication number
- CN113676737A CN113676737A CN202110882096.9A CN202110882096A CN113676737A CN 113676737 A CN113676737 A CN 113676737A CN 202110882096 A CN202110882096 A CN 202110882096A CN 113676737 A CN113676737 A CN 113676737A
- Authority
- CN
- China
- Prior art keywords
- layer
- pus
- cost
- gpu
- mvp
- 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 41
- 230000008569 process Effects 0.000 description 12
- 238000005192 partition Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000009795 derivation Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012812 general test Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
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)
Abstract
本申请公开了一种基于GPU的高效视频编码器及编码方法。所述编码器包括:CTU层,CTU层划分为四个不重叠区域,将各区域的最佳MV设置为对应区域内所有脓液的MVP;PU层,每个PU被分配一个唯一的索引,GPU同时计算4×4块的SAD,以获得各PU的SAD;MV层,MV通过MV代价描述符来描述,该描述符包括MV的符号位和RD成本的值。所述编码方法包括:将CTU层划分为四个不重叠区域,将各区域的最佳MV设置为对应区域内所有脓液的MVP;为每个PU分配一个唯一的索引,GPU同时计算4×4块的SAD,以获得各PU的SAD;将MV通过MV代价描述符来描述,MV代价描述符包括MV的符号位和RD成本的值。
Description
技术领域
本申请涉及高效视频编码技术,特别是涉及基于GPU的高效视频编码技术。
背景技术
高效视频编码(High Efficiency Video Coding,HEVC)是由iso/iec移动图像专家组(Mpeg)和itu-T视频编码专家组(Vcg)共同开发的视频项目,与以前的视频编码标准H.264/avc相比,其编码效率有了显著的提高。HEVC的显着性能改进是以编码过程中的计算复杂度大大增加为代价的。
为了大大降低编码器的复杂度,提出了许多方法。研究当前编码单元(CU)与其相邻/共存CU之间的时空相关性,曾提出了一种快速算法来实现早期CU分裂终止。基于预测残差的能量,提出了一种具有潜在绝对差和(SAD)估计的两层ME方案,并将其用于CU尺寸的快速判定。并提出了一种基于量化参数和图像组(GOP)结构的四叉树概率模型,该模型可以帮助跳过编码树单元(CTU)分区,但不太可能成为最佳划分。后面又提出了一种混合零块检测方案,提高了零块的检测性能,约40%的复杂度。在后面,又研究引入了一种基于Neyman-Pearson的规则来平衡率失真(RD)性能和复杂度降低,达到了约60%的时间节省。
在所有的HEVC编码模块中,如帧内预测、运动估计(ME),包括分数插值、运动补偿(MC)、量化、变换和熵编码,在编码过程中最耗时的是运动估计(ME)。
ME的计算负担主要来源于多个参考帧、递归编码单元分区、多个搜索位置和分数像素插值。鉴于此,人们提出了许多降低ME编码复杂度的方法。曾提出了一种自适应参考帧选择方案,减少了参考帧的候选量,大大降低了ME的计算复杂度。为了降低整数运动搜索的复杂度,提出了一种基于运动分类的搜索算法。考虑到新的视频编码结构,特别是具有柔性CU和预测单元(PU)分区的四叉树编码结构,一些研究人员致力于优化编码结构以避免高复杂度。
为了降低ME过程中全搜索的计算复杂度,提出了多种基于cpu的快速搜索算法,包括三步搜索,四步搜索,钻石搜索、六边形搜索,使用这些先进的搜索策略,由于搜索点的数量可以大大减少,因此可以在可接受的性能损失的情况下大幅度降低ME复杂度。在HEVC的通用测试条件(Ctc)中,试验区(TZ)搜索,该算法采用多个初始搜索点判决来定位初始搜索点和混合块匹配搜索,以寻找最佳匹配块。然而,计算复杂度仍然比较高。
基于CPU的优化方案虽然节省了ME的计算资源,但由于其对CPU的依赖和顺序计算,其余的操作仍然是耗时的。随着图形处理单元(GPU)处理能力的迅速发展,人们强烈要求用GPU作为协处理器来辅助CPU处理数据密集型应用。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。根据本申请的一个方面,提供了一种基于GPU的高效视频编码器,包括:
CTU层,所述CTU层划分为四个不重叠区域,将各区域的最佳MV设置为对应区域内所有脓液的MVP;
PU层,每个PU被分配一个唯一的索引,所述GPU同时计算4×4块的SAD,以获得各PU的SAD;和
MV层,所述MV通过MV代价描述符来描述,所述MV代价描述符包括MV的符号位和RD成本的值。
可选地,所述CTU层中,将最大PU中的最佳MV作为垂直或水平尺寸为64的PU的MVP。
可选地,所述PU层中的PU索引顺序为:
PU_4×8、PU_8×4、PU_8×8、PU_8×16、PU_16×8、PU_4×16、PU_12×16、PU_16×4、PU_16×12、PU_8×32、PU_24×32、PU_32×8、PU_32×24、PU_16×16、PU_32×16、PU_32×16、PU_3×8、PU_2×24、PU_32×8、PU_3×24、PU_16×16、PU_32×16,PU 32×32,PU 64×32,PU 32×64,PU 64×16,PU 16×64,PU 64×48,PU 48×64,PU 64×64,大小相同的PU中,相邻的PUs的指数相互接近。
可选地,所述SAD的计算方法为:
D4×4(i,j)是(i,j)的4×4块。此外,refk,l和orgk,l分别表示参考帧和原始帧中的像素灰度,i、j、k、l均表示像素坐标。
可选地,所述MV层利用整数值比较方法进行成本比较,以确定最佳MV。
根据本申请的另一个方面,提供了一种基于GPU的高效视频编码方法,包括:
将所述CTU层划分为四个不重叠区域,将各区域的最佳MV设置为对应区域内所有脓液的MVP;
为每个PU分配一个唯一的索引,所述GPU同时计算4×4块的SAD,以获得各PU的SAD;和
将MV通过MV代价描述符来描述,所述MV代价描述符包括MV的符号位和RD成本的值。
可选地,所述CTU层中,将最大PU中的最佳MV作为垂直或水平尺寸为64的PU的MVP。
可选地,所述PU层中的PU索引顺序为:
PU_4×8、PU_8×4、PU_8×8、PU_8×16、PU_16×8、PU_4×16、PU_12×16、PU_16×4、PU_16×12、PU_8×32、PU_24×32、PU_32×8、PU_32×24、PU_16×16、PU_32×16、PU_32×16、PU_3×8、PU_2×24、PU_32×8、PU_3×24、PU_16×16、PU_32×16,PU 32×32,PU 64×32,PU 32×64,PU 64×16,PU 16×64,PU 64×48,PU 48×64,PU 64×64,大小相同的PU中,相邻的PUs的指数相互接近。
可选地,所述SAD的计算方法为:
D4×4(i,j)是(i,j)的4×4块。此外,refk,l和orgk,l分别表示参考帧和原始帧中的像素灰度,i、j、k、l均表示像素坐标。
10、根据权利要求6所述的高效视频编码方法,其特征在于,所述MV层利用整数值比较方法进行成本比较,以确定最佳MV。
本申请的一种基于GPU的高效视频编码器是一种基于GPU的低延迟并行ME方案,用于快速优化HEVC编码器。该编码器采用了三层分层并行结构,充分考虑了ME的特点。在CTU层中,为了获得精确的MVP,提出了一种新的推导方案。在PU层,提出了一种新的索引表,以实现一种高效的SAD派生,以加速ME过程。在MV层中,构造了一个紧凑的MV代价描述符,以避免MV搜索中的冗余分支。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请一个实施例的一种基于GPU的高效视频编码器的PU索引表;
图2是根据本申请一个实施例的一种基于GPU的高效视频编码器的MV代价描述符的说明及快速比较示意图。
图3是根据本申请一个实施例的一种计算设备的结构示意图;
图4是根据本申请一个实施例的一种计算机可读存储介质的结构示意图。
具体实施方式
对于HEVC编码器,ME的复杂度与参考帧数、搜索点数和每个PU的成本计算高度相关。对于一个CTU,ME的复杂性可以定义如下:
NRef是每个PU的参照系数,NPO表示每个参考帧中的平均搜索点,CPO(Wi,Hi)的成本计算的复杂性PUi有一个特定的运动矢量,其中Wi和Hi分别表示PUi的宽度和高度。
与H.264/AVC类似,HEVC采用多参考帧运动补偿策略。通过这种方法,对于具有强烈运动活动的视频,以大大增加计算复杂度为代价,可以获得显着的编码性能改善。每个PU,NRef在HEVC的普通测试条件(Ctc)中,在低延迟测试配置下是4,因此,ME将在4帧上执行,并在单个帧上为ME过程引入三倍ME复杂度。
在CTU层,本实施例基于相邻PUS的空间相关性提出了一种新的运动矢量预测器(MVP)确定方案,以提高CTU相关性去除后的MV预测精度。特别是,每个CTU被划分为四个不重叠的区域。利用传统的MV确定方法求出各区域的最佳MV,然后将得到的各区域最佳MV设置为区域内所有PUS的MVP。
在PU层中,本实施例提出了一种新的索引表,以实现有效的成本推导。首先,每个PU被分配给一个唯一的索引。然后,在GPU上同时计算4×4块的SAD,只需简单的加法操作就能有效地实现任意PU的SAD。使用此索引表,可以减少合并来自小型PU的失真的等待时间,并可以消除PUS及其子分区之间的依赖关系。
在MV层中,本实施例提出了一个紧凑的MV代价描述符来描述MV和整个成本,该MV代价描述符更符合GPU上的数据处理机制,避免了MV搜索过程中的冗余分支。
下面详细说明本实施例的CTU层、PU层和MV层。
本实施例的一种基于GPU的高效视频编码具体可包括CTU层、PU层和MV层。
(1)CTU层中的并行化
在HEVC中,基本的处理单元是CTU,运动补偿的基本预测单元是PU。对于被编码的电流PU,左边和上面的PUs被认为是运动矢量预测的参考。特别是,当前CTU的MVP在很大程度上取决于左边及以上边CTU的MVP。这种依赖性进一步影响了GPU上ME的并行处理。为了消除依赖性,一种简单的方法是将MVP设置为(0,0)。然而,这种策略可能会严重影响预测精度,导致编码器性能下降。
本实施例提出了一种新的基于MVS空间相关性的当前编码CTU中PUs的MVP推导方案,以充分消除相邻CTU之间的依赖关系。因此,与直接的零设置策略相比,我们可以获得更好的率失真(rate-distortion,RD)性能。
本实施例中,MVP推导过程如下:首先,将最大的编码单元划分为四个相互之间没有重叠的区域;然后按照传统的ME算法搜索各区域的最佳MV值;将各区域的最佳MV设置为对应区域内所有脓液的运动矢量预测器(motion vectorpredictor,MVP),最大PU(64×64)中的最佳MV也被确定为常规ME,并被用作垂直或水平尺寸为64的PU的MVP。由此,CTU依赖项被完全删除。
(2)PU层中的并行化
在HEVC中,基于四叉树的编码结构导致不同的PU大小和灵活的PU分区来进行有效的预测。特别是,考虑到CTU的大小为64×64,有多达593个可能的脓。在HM等CPU平台上,从最大PU到最小PU依次执行ME,并根据RD成本对当前PU与其子PU进行比较,确定最优PU分区结构。在此过程中,存在大量的重复计算,使得CPU计算工作量过大。基于这种冗余,有人提出了由小脓到大脓的ME过程,从而大大降低了ME的复杂性。然而,在GPU平台上,如果每个可能的PU都占用一个线程,则需要大量的线程,计算冗余仍然是不可避免的。因此,如果没有合适的ME数据管理策略,就无法充分利用GPU的计算能力。
鉴于此,本实施例提出了一种新的索引表,如图1所示,包括PU索引表和相应的SAD查找表,利用这种基于表的方法,可以实现对积分ME的有效SAD推导。索引表中的PUS按以下顺序排列:所有PU根据其大小分为PU_4×8、PU_8×4、PU_8×8、PU_8×16、PU_16×8、PU_4×16、PU_12×16、PU_16×4、PU_16×12、PU_8×32、PU_24×32、PU_32×8、PU_32×24、PU_16×16、PU_32×16、PU_32×16、PU_3×8、PU_2×24、PU_32×8、PU_3×24、PU_16×16、PU_32×16,PU 32×32,PU 64×32、PU 32×64、PU 64×16、PU 16×64、PU 64×48、PU 48×64、以及PU 64×64共30个类别,索引按顺序分配给这些不同的类别。每一类别中,相邻的PUs指数相互接近,因此,本实施例的新的索引表能够减少运动搜索中的分支,更好地平衡GPU线程的工作负载,从而更好地利用GPU。对于每个PU,一个四元数的(L,T,R,B)用于表示其位置和大小,其中L、T、R和B分别表示左侧、顶部、右侧和底部的边界位置,每个单元在水平或垂直方向上为4像素。例如,索引16的PU对应于(0,2,1,4),即,索引16表示CTU矩阵中从(0,8)到(4,16)的PU,其大小为4×8。这样,可以将一个CTU划分成大小为4×4的多个不重叠块,并在GPU上同时计算每个块的SAD D4×4(i,j)。
D4×4(i,j)是(i,j)的4×4块。此外,refk,l和orgk,l分别表示参考帧和原始帧中的像素灰度,i、j、k、l均表示像素坐标。
(3)MV层中的并行化
在每个PU的ME过程中,可以先获得每个MV候选产品的成本,然后根据详尽的比较,确定成本最低的MV候选为最佳MV。对于完整的MV搜索,如果分别处理MV和成本,则共有65×65MVS比较,所需分支语句的数目为(65×65-1)。本质上,有效的分支预测机制对CPU的影响很小。值得注意的是,分支预测是一种在获得条件结果之前通知处理器分支将去哪里的方法,这样处理器就可以不等待地连续工作。
但是,GPU不具备分支预测机制,无法实现投机执行。因此,为了成功地处理分支语句,需要调用额外的芯片区域来存储分支状态并处理分支预测过程。更严重的是,当GPU中的线程通过依赖于数据的条件分支分叉时,计算核心将串行执行每个分支路径,并禁用不位于该路径上的线程,直到所有路径完成为止。然后,这些线程聚合回相同的执行路径。总之,支路指令给当前GPU的工作量调度带来了更多的不确定性,严重影响执行效率。因此,为每个PU提供一个有效的ME信息表示,包括MV和RD成本,以避免不必要的分支,从而最终提高GPU上的处理效率是非常关键的。
本实施例提出了一个表示MV符号、MV值和RD成本的紧凑MV代价描述符,MV代价描述符是64位变量,如图2所示,位于最低位置的2位为mv的符号位,即符号位MVx和符号位MVy,接下来的22位的绝对值被排列为MVx和MVy。其余的40位被分配用于发送RD成本的值,这将在比较期间对MV的选择产生更大的影响。在构造了PU的MV代价描述符之后,可以使用整数值比较方案进行成本的快速比较,具体为:采用min操作来确定最佳MV。对于PUn获得最佳MV的平均步骤数为log(n)。最后,将成本最小的MV视为该PU的最佳预测值。
本申请实施例还提供了一种基于GPU的高效视频编码方法,包括:
将CTU层划分为四个不重叠区域,将各区域的最佳MV设置为对应区域内所有脓液的MVP;
为每个PU分配一个唯一的索引,所述GPU同时计算4×4块的SAD,以获得各PU的SAD;和
将MV通过MV代价描述符来描述,所述MV代价描述符包括MV的符号位和RD成本的值。
作为本申请的优选实施例,所述CTU层中,将最大PU中的最佳MV作为垂直或水平尺寸为64的PU的MVP。
作为本申请的优选实施例,所述PU层中的PU索引顺序为:
PU_4×8、PU_8×4、PU_8×8、PU_8×16、PU_16×8、PU_4×16、PU_12×16、PU_16×4、PU_16×12、PU_8×32、PU_24×32、PU_32×8、PU_32×24、PU_16×16、PU_32×16、PU_32×16、PU_3×8、PU_2×24、PU_32×8、PU_3×24、PU_16×16、PU_32×16,PU 32×32,PU 64×32,PU 32×64,PU 64×16,PU 16×64,PU 64×48,PU 48×64,PU 64×64,大小相同的PU中,相邻的PUs的指数相互接近。
作为本申请的优选实施例,所述SAD的计算方法为:
其中,i,j、k、l分别表示……。
作为本申请的优选实施例,所述MV层利用整数值比较方法进行成本比较,以确定最佳MV。
本申请实施例还提供了一种计算设备,参照图3,该计算设备包括存储器1120、处理器1110和存储在所述存储器1120内并能由所述处理器1110运行的计算机程序,该计算机程序存储于存储器1120中的用于程序代码的空间1130,该计算机程序在由处理器1110执行时实现用于执行任一项根据本发明的方法步骤1131。
本申请实施例还提供了一种计算机可读存储介质。参照图4,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本发明的方法步骤的程序1131′,该程序被处理器执行。
本申请实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机上运行时,使得计算机执行根据本发明的方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于GPU的高效视频编码器,包括:
CTU层,所述CTU层划分为四个不重叠区域,将各区域的最佳MV设置为对应区域内所有脓液的MVP;
PU层,每个PU被分配一个唯一的索引,所述GPU同时计算4×4块的SAD,以获得各PU的SAD;和
MV层,所述MV通过MV代价描述符来描述,所述MV代价描述符包括MV的符号位和RD成本的值。
2.根据权利要求1所述的高效视频编码器,其特征在于,所述CTU层中,将最大PU中的最佳MV作为垂直或水平尺寸为64的PU的MVP。
3.根据权利要求1所述的高效视频编码器,其特征在于,所述PU层中的PU索引顺序为:
PU_4×8、PU_8×4、PU_8×8、PU_8×16、PU_16×8、PU_4×16、PU_12×16、PU_16×4、PU_16×12、PU_8×32、PU_24×32、PU_32×8、PU_32×24、PU_16×16、PU_32×16、PU_32×16、PU_3×8、PU_2×24、PU_32×8、PU_3×24、PU_16×16、PU_32×16,PU32×32,PU64×32,PU32×64,PU64×16,PU16×64,PU64×48,PU48×64,PU64×64,大小相同的PU中,相邻的PUs的指数相互接近。
5.根据权利要求1所述的高效视频编码器,其特征在于,所述MV层利用整数值比较方法进行成本比较,以确定最佳MV。
6.一种基于GPU的高效视频编码方法,包括:
将所述CTU层划分为四个不重叠区域,将各区域的最佳MV设置为对应区域内所有脓液的MVP;
为每个PU分配一个唯一的索引,所述GPU同时计算4×4块的SAD,以获得各PU的SAD;和
将MV通过MV代价描述符来描述,所述MV代价描述符包括MV的符号位和RD成本的值。
7.根据权利要求6所述的高效视频编码方法,其特征在于,所述CTU层中,将最大PU中的最佳MV作为垂直或水平尺寸为64的PU的MVP。
8.根据权利要求1所述的高效视频编码方法,其特征在于,所述PU层中的PU索引顺序为:
PU_4×8、PU_8×4、PU_8×8、PU_8×16、PU_16×8、PU_4×16、PU_12×16、PU_16×4、PU_16×12、PU_8×32、PU_24×32、PU_32×8、PU_32×24、PU_16×16、PU_32×16、PU_32×16、PU_3×8、PU_2×24、PU_32×8、PU_3×24、PU_16×16、PU_32×16,PU32×32,PU64×32,PU32×64,PU64×16,PU16×64,PU64×48,PU48×64,PU64×64,大小相同的PU中,相邻的PUs的指数相互接近。
10.根据权利要求6所述的高效视频编码方法,其特征在于,所述MV层利用整数值比较方法进行成本比较,以确定最佳MV。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110882096.9A CN113676737B (zh) | 2021-08-02 | 2021-08-02 | 一种基于gpu的高效视频编码器及编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110882096.9A CN113676737B (zh) | 2021-08-02 | 2021-08-02 | 一种基于gpu的高效视频编码器及编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676737A true CN113676737A (zh) | 2021-11-19 |
CN113676737B CN113676737B (zh) | 2024-06-28 |
Family
ID=78541163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110882096.9A Active CN113676737B (zh) | 2021-08-02 | 2021-08-02 | 一种基于gpu的高效视频编码器及编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676737B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NO20100241A1 (no) * | 2010-02-17 | 2011-08-18 | Tandberg Telecom As | Fremgangsmate for videokoding |
CN103338371A (zh) * | 2013-06-07 | 2013-10-02 | 东华理工大学 | 一种快速高效率视频编码帧内模式判决方法 |
KR101356821B1 (ko) * | 2013-07-04 | 2014-01-28 | 상명대학교 천안산학협력단 | 움직임 추정 방법 |
US20140169472A1 (en) * | 2012-12-19 | 2014-06-19 | Mikhail Fludkov | Motion estimation engine for video encoding |
CN104125469A (zh) * | 2014-07-10 | 2014-10-29 | 中山大学 | 一种用于hevc的快速编码方法 |
AU2015200192A1 (en) * | 2011-06-14 | 2015-02-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding motion information and method and apparatus for decoding same |
AU2013270596A1 (en) * | 2013-12-13 | 2015-07-02 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
US20150271516A1 (en) * | 2014-03-18 | 2015-09-24 | Panasonic Intellectual Property Management Co., Ltd. | Video coding apparatus and video coding method |
CN104994394A (zh) * | 2015-05-04 | 2015-10-21 | 北京大学 | 编码器运动估算方法及装置 |
WO2018095313A1 (en) * | 2016-11-22 | 2018-05-31 | Mediatek Inc. | Method and apparatus for motion vector sign prediction in video coding |
CN108282658A (zh) * | 2011-11-07 | 2018-07-13 | 英孚布瑞智有限私人贸易公司 | 导出运动信息的方法 |
CN109495743A (zh) * | 2018-11-15 | 2019-03-19 | 上海电力学院 | 一种基于异构多处理平台的并行化视频编码方法 |
CN110113608A (zh) * | 2019-04-30 | 2019-08-09 | 上海电力学院 | 一种基于率失真优化的gpu中视频编码快速搜索方法 |
CN110365989A (zh) * | 2019-07-15 | 2019-10-22 | 福州大学 | 一种面向硬件实现的视频编码帧间整像素搜索方法 |
US20200366924A1 (en) * | 2019-05-14 | 2020-11-19 | Qualcomm Incorporated | Switchable interpolation filtering (sif) for video coding |
-
2021
- 2021-08-02 CN CN202110882096.9A patent/CN113676737B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NO20100241A1 (no) * | 2010-02-17 | 2011-08-18 | Tandberg Telecom As | Fremgangsmate for videokoding |
AU2015200192A1 (en) * | 2011-06-14 | 2015-02-12 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding motion information and method and apparatus for decoding same |
CN108282658A (zh) * | 2011-11-07 | 2018-07-13 | 英孚布瑞智有限私人贸易公司 | 导出运动信息的方法 |
US20140169472A1 (en) * | 2012-12-19 | 2014-06-19 | Mikhail Fludkov | Motion estimation engine for video encoding |
CN103338371A (zh) * | 2013-06-07 | 2013-10-02 | 东华理工大学 | 一种快速高效率视频编码帧内模式判决方法 |
KR101356821B1 (ko) * | 2013-07-04 | 2014-01-28 | 상명대학교 천안산학협력단 | 움직임 추정 방법 |
AU2013270596A1 (en) * | 2013-12-13 | 2015-07-02 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
US20150271516A1 (en) * | 2014-03-18 | 2015-09-24 | Panasonic Intellectual Property Management Co., Ltd. | Video coding apparatus and video coding method |
CN104125469A (zh) * | 2014-07-10 | 2014-10-29 | 中山大学 | 一种用于hevc的快速编码方法 |
CN104994394A (zh) * | 2015-05-04 | 2015-10-21 | 北京大学 | 编码器运动估算方法及装置 |
WO2018095313A1 (en) * | 2016-11-22 | 2018-05-31 | Mediatek Inc. | Method and apparatus for motion vector sign prediction in video coding |
CN109495743A (zh) * | 2018-11-15 | 2019-03-19 | 上海电力学院 | 一种基于异构多处理平台的并行化视频编码方法 |
CN110113608A (zh) * | 2019-04-30 | 2019-08-09 | 上海电力学院 | 一种基于率失真优化的gpu中视频编码快速搜索方法 |
US20200366924A1 (en) * | 2019-05-14 | 2020-11-19 | Qualcomm Incorporated | Switchable interpolation filtering (sif) for video coding |
CN110365989A (zh) * | 2019-07-15 | 2019-10-22 | 福州大学 | 一种面向硬件实现的视频编码帧间整像素搜索方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113676737B (zh) | 2024-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9106922B2 (en) | Motion estimation engine for video encoding | |
US8705611B2 (en) | Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program | |
US8379718B2 (en) | Parallel digital picture encoding | |
US20100020877A1 (en) | Multiple reference frame motion estimation in video coding | |
KR101520027B1 (ko) | 움직임 추정 방법 및 장치 | |
US10652570B2 (en) | Moving image encoding device, moving image encoding method, and recording medium for recording moving image encoding program | |
US20090268821A1 (en) | Block parallel and fast motion estimation in video coding | |
KR101579472B1 (ko) | 이미지 데이터 스트림의 생성을 위한 방법 및 디바이스, 현재의 이미지를 이미지 데이터 스트림으로부터 재구성하기위한 방법 및 디바이스, 이미지 데이터 스트림 및 이미지 데이터 스트림을 지니는 저장 매체 | |
WO2019072248A1 (zh) | 运动估计方法、装置、电子设备及计算机可读存储介质 | |
KR20200031078A (ko) | 메모리 액세스가 감소된 fruc 모드에서 비디오 데이터를 인코딩 또는 디코딩하기 위한 방법 및 장치 | |
US20220360814A1 (en) | Enhanced motion vector prediction | |
CN112261413B (zh) | 视频编码方法、编码装置、电子设备和存储介质 | |
US20240031576A1 (en) | Method and apparatus for video predictive coding | |
US10349071B2 (en) | Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program | |
CN111246212A (zh) | 一种基于编解码端的几何划分模式预测方法、装置、存储介质及终端 | |
JP6962193B2 (ja) | 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体 | |
CN113347417B (zh) | 提高率失真优化计算效率的方法、装置、设备及存储介质 | |
CN108924551B (zh) | 视频图像编码模式的预测方法及相关设备 | |
CN110971896B (zh) | 一种h.265编码方法和装置 | |
CN113676737B (zh) | 一种基于gpu的高效视频编码器及编码方法 | |
JP4957780B2 (ja) | 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム | |
WO2018205781A1 (zh) | 一种实现运动估计的方法及电子设备 | |
CN113242427B (zh) | 一种基于vvc中自适应运动矢量精度的快速方法及装置 | |
US20140146887A1 (en) | Picture encoding method, picture decoding method, picture encoding apparatus, picture decoding apparatus, picture encoding program, and picture decoding program | |
CN103327340A (zh) | 一种整数搜索方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |