CN113079372A - 帧间预测的编码方法、装置、设备及可读存储介质 - Google Patents
帧间预测的编码方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113079372A CN113079372A CN202110629001.2A CN202110629001A CN113079372A CN 113079372 A CN113079372 A CN 113079372A CN 202110629001 A CN202110629001 A CN 202110629001A CN 113079372 A CN113079372 A CN 113079372A
- Authority
- CN
- China
- Prior art keywords
- motion vector
- mvp
- prediction
- mode
- target
- 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 101
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 239000013598 vector Substances 0.000 claims abstract description 365
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000010276 construction Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 13
- 238000004364 calculation method Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 19
- 239000010432 diamond Substances 0.000 description 16
- 230000009466 transformation Effects 0.000 description 16
- 229910003460 diamond Inorganic materials 0.000 description 14
- 238000012549 training Methods 0.000 description 14
- 230000001133 acceleration Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000013139 quantization Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000013145 classification model Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 238000004821 distillation Methods 0.000 description 3
- 230000006798 recombination Effects 0.000 description 3
- 238000005215 recombination Methods 0.000 description 3
- 239000000919 ceramic Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- 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/513—Processing of motion vectors
-
- 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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/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/567—Motion estimation based on rate distortion criteria
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种帧间预测的编码方法、装置、设备及可读存储介质,涉及视频处理领域。该方法包括:获取待编码的图像帧,图像帧划分有编码单元;响应于通过指定帧间预测模式对编码单元进行预测,对运动向量预测MVP进行运动估计遍历,得到候选运动向量;从MVP和候选运动向量中确定一组运动向量组;基于运动向量组对编码单元进行插值方式的遍历和运动模式的遍历。基于最优MVP和最优运动向量进行插值方式择优和运动模式择优,无需针对所有的MVP和运动向量进行插值方式遍历和运动模式遍历,仅需要针对最优MVP和最优运动向量进行插值方式遍历和运动模式遍历,减少了率失真代价的计算量,以及降低了计算的复杂度,提高了编码效率。
Description
技术领域
本申请实施例涉及视频处理领域,特别涉及一种帧间预测的编码方法、装置、设备及可读存储介质。
背景技术
在对视频进行编码的过程中,将图像帧输入至编码器后,会划分为多个编码单元(CodingUnit,CU),其中,每个编码单元包含多种预测模式和变换单元,如:每个CU包含帧内预测和帧间预测,而帧间预测类型中包括NEARESTMV、NEARMV、GLOBALMV和NEWMV该4种单参考帧模式。
相关技术中,对于NEWMV模式的任一参考帧,会遍历所有运动向量预测(MotionVector Prediction,MVP),然后对于每个MVP做运动估计、9种插值、4种运动模式计算,最后选出最优的MVP对应下的最优运动向量、最优插值方式和最优运动模式。
然而,通过上述方式进行NEWMV模式下的帧间预测时,要求每种可能组合都要进行率失真代价的计算,计算复杂度很大,编码效率较低。
发明内容
本申请实施例提供了一种帧间预测的编码方法、装置、设备及可读存储介质,可以提高NEWMV模式下的帧间预测时的编码效率。所述技术方案包括如下内容。
一方面,提供了一种数据分类识别方法,所述方法包括:
获取第一数据集和第二数据集,所述第一数据集中包括第一数据,所述第二数据集中包括标注有样本标签的第二数据,所述第二数据属于目标分类集;
通过所述第一数据以无监督训练模式,以及所述第二数据以监督训练模式训练得到分类教师模型;
获取分类学生模型,所述分类学生模型为模型参数待训练的模型;
通过所述第一数据以所述分类教师模型为基准模型,对所述分类学生模型的所述模型参数进行蒸馏训练,得到数据分类模型;
通过所述数据分类模型对目标数据进行分类预测,得到所述目标数据在所述目标分类集中所属的分类结果。
另一方面,提供了一种数据分类识别装置,所述装置包括:
获取模块,用于获取第一数据集和第二数据集,所述第一数据集中包括第一数据,所述第二数据集中包括标注有样本标签的第二数据,所述第二数据属于目标分类集;
训练模块,用于通过所述第一数据以无监督训练模式,以及所述第二数据以监督训练模式训练得到分类教师模型;
所述获取模块,还用于获取分类学生模型,所述分类学生模型为模型参数待训练的模型;
所述训练模块,还用于通过所述第一数据以所述分类教师模型为基准模型,对所述分类学生模型的所述模型参数进行蒸馏训练,得到数据分类模型;
预测模块,用于通过所述数据分类模型对目标数据进行分类预测,得到所述目标数据在所述目标分类集中所属的分类结果。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述数据分类识别方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的数据分类识别方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的数据分类识别方法。
本申请实施例提供的技术方案带来的有益效果至少包括如下内容。
在通过无标签的第一数据进行无监督训练以及有标签的第二数据进行监督训练后,得到分类教师模型,从而在分类教师模型的基础上,创建分类学生模型进行知识蒸馏训练,利用教师模型进行监督训练来达到蒸馏的目的,最终得到更高性能和精度的学生模型,训练主要依赖大量的第一数据,而对有标签的第二数据的数据量要求较小,避免了对样本数据进行大量标注的繁琐过程,提高了数据分类模型的训练效率以及准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的标准编码框架示意图;
图2是本申请一个示例性实施例提供的CU分割类型的示意图;
图3是本申请一个示例性实施例提供的帧间预测的单参考帧模式的MVP对应的位置示意图;
图4是本申请一个示例性实施例提供的NEWMV模式下最优结果选择过程的示意图;
图5是本申请一个示例性实施例提供的帧间预测的编码方法的整体过程示意图;
图6是本申请一个示例性实施例提供的帧间预测的编码方法的流程图;
图7是基于图6示出的实施例提供的TZ搜索模板示意图;
图8是基于图6提供的搜索补做的示意图;
图9是基于图6示出的实施例提供的光栅扫描方式搜索位置点的局部示意图;
图10是本申请另一个示例性实施例提供的帧间预测的编码方法流程图;
图11是本申请另一个示例性实施例提供的帧间预测的编码方法流程图;
图12是本申请一个示例性实施例提供的帧间预测的编码装置的结构框图;
图13是本申请另一个示例性实施例提供的帧间预测的编码装置的结构框图;
图14是本申请一个示例性的实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,针对本申请实施例提供的方法的实施环境进行介绍。
本申请实施例提供的帧间预测的编码方法可以应用于终端中,也可以应用于服务器中。
示意性的,当帧间预测的编码方法应用于终端中,该终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。当终端实现为车载终端时,本申请实施例提供的方法可以应用于车载场景中,也即在车载终端上进行视频的帧间预测的编码,作为智能交通***(Intelligent Traffic System,ITS)中的一环。智能交通***是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输***。
当帧间预测的编码方法应用于服务器中,即通过服务器进行视频图像帧的编码,并将编码视频流发送至终端或者其他服务器。值得注意的是,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,上述服务器还可以实现为区块链***中的节点。区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
图1是本申请一个示例性实施例提供的标准编码框架示意图,如图1所示,当一帧图像帧110送入到编码器时,首先将图像帧110分割成编码树单元(Coding Tree Unit,CTU),经过深度划分得到编码单元(Coding Unit,CU),每个CU包含多种预测模式和变换单元(Transform Unit,TU)。对于每个CU进行预测后,得到预测值。其中,对每个CU的预测包括帧间预测和帧内预测,帧间预测中,首先得到图像帧110和参考帧120之间的运动估计(Motion Estimation,ME),从而基于运动估计得到运动补偿(Motion Compensation,MC),在MC的基础上得到预测值。
预测值与输入数据相减得到残差,得到残差系数。将残差系数送入熵编码模块输出码流,同时,残差系数经过逆量化和逆变换后,得到重构图像的残差值,与预测值相加后,得到重构图像,重构图像经过滤波后,进入参考帧队列,作为下一帧的参考帧,从而依次向后编码。
其中,帧内预测过程中,首先在图像帧110的基础上进行帧内预测选择,并基于重构图像与当前帧进行帧内预测,得到帧内预测的结果。
图2是本申请一个示例性实施例提供的CU分割类型的示意图,如图2所示,CU分割类型200中包括:NONE类型210;SPLIT类型220;HORZ类型230;VERT类型240;HORZ_4类型250;HORZ_A类型260;HORZ_B类型270;VERT_A类型280;VERT_B类型290和VERT_4类型201。
基于上述CU分割类型,对应22种块大小,分别为4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32、64×64、64×128、128×64、128×128、4×16、16×4、8×32、32×8、16×64、64×16。
CU块包含了帧内预测和帧间预测。在预测形式确定时,首先在相同的预测类型内,不同预测模式间进行比较,找到最优的预测模式,如:在帧内预测类型中,对不同的帧内预测模式进行比较,从而确定帧内预测类型中的最优预测模式,其中,通过计算率失真代价的方式在不同的帧内预测模式之间进行比较,选出率失真代价最小的帧内预测模式;在帧间预测类型中,对不同的帧间预测模式进行比较,从而确定帧间预测类型中的最优预测模式,其中,通过计算率失真代价的方式在不同的帧间预测模式之间进行比较,选出率失真代价最小的帧间预测模式。再在帧内预测模式和帧间预测模式之间进行比较,找到当前CU下的最优预测模式,其中,比较最优帧内预测模式和最优帧间预测模式之间的率失真代价,将率失真代价小的模式作为当前CU下的最优预测模式;同时对CU做TU变换,每个CU对应着多种变换类型,从中找到最优的变换类型;然后不同划分类型的CU之间进行比较,根据率失真代价找到最优的CU划分;最后将一帧图像分成一个个CU。
帧间预测模式包括NEARESTMV、NEARMV、GLOBALMV和NEWMV 4种单参考帧模式,以及NEAREST_NEARESTMV、NEAR_NEARMV、NEAREST_NEWMV、NEW_NEARESTMV、NEAR_NEWMV、NEW_NEARMV、GLOBAL_GLOBALMV和NEW_NEWMV 8种组合参考帧模式。NEARESTMV和NEARMV是指预测块的运动向量(Motion Vector,MV)根据周围块信息推导得到,不需要传输运动向量差异(Motion Vector Difference,MVD);而NEWMV则意味着需要传输MVD,GLOBALMV是指CU块的MV信息根据全局运动推导得到。
其中,NEARESTMV、NEARMV和NEWMV模式都依赖于运动向量预测(Motion VectorPrediction,MVP)的推导,对于给定的参考帧,AV1标准会按照协议规则计算出4个MVP。
MVP的推导过程中,示意性的,首先按照一定方式跳跃式扫描当前CU块左侧第1、第3以及第5列,以及上方第1、第3和第5行的CU块的信息,选出使用相同参考帧的CU块,对使用相同参考帧的CU块的MV进行去重;若不重复的MV的数量小于(或者等于)8个,则首先放宽对CU块的要求为同方向的参考帧,并继续添加MV;若依旧小于(或者等于)8个MV,则使用全局运动矢量填充;选出8个MV后按照重要性进行排序,得到重要性最高的4个MV。其中,第0个MV为NEARESTMV;第1至第3个MV为NEARMV;而NEWMV使用第0至第2个MV中的其中一个MV。示意性的,请参考图3,其示出了本申请一个示例性实施例提供的帧间预测的单参考帧模式的MVP对应的位置示意图。如图3所示,基于上述MVP的推导过程选出重要性最高的4个MV后,NEWMV使用第0个MV310、第1个MV320和第2个MV330中的一个MV作为MVP。
上述帧间预测类型中的每种模式对应有不同的参考帧,示意性的,请参考如下表一。
表一
对于帧间预测4种单参考帧模式均有7个参考帧,分别为LAST_FRAME、LAST2_FRAME、LAST3_FRAME、GOLDEN_FRAME、BWDREF_FRAME、ALTREF2_FRAME和ALTREF_FRAME,共用28(4×7)种组合。
对于帧间预测8种组合参考帧模式均有16个参考帧组合,分别是:
{LAST_FRAME,ALTREF_FRAME};
{LAST2_FRAME,ALTREF_FRAME};
{LAST3_FRAME,ALTREF_FRAME};
{GOLDEN_FRAME,ALTREF_FRAME};
{LAST_FRAME,BWDREF_FRAME};
{LAST2_FRAME,BWDREF_FRAME};
{LAST3_FRAME,BWDREF_FRAME;
{GOLDEN_FRAME,BWDREF_FRAME};
{LAST_FRAME,ALTREF2_FRAME};
{LAST2_FRAME,ALTREF2_FRAME};
{LAST3_FRAME,ALTREF2_FRAME};
{GOLDEN_FRAME,ALTREF2_FRAME};
{LAST_FRAME,LAST2_FRAME};
{LAST_FRAME,LAST3_FRAME};
{LAST_FRAME,GOLDEN_FRAME};
{BWDREF_FRAME,ALTREF_FRAME}。
因此,帧间预测模式共有156(7×4+16×8)种组合。
在一些实施例中,对于任一组合,当前组合均会对应最多3个MVP,然后对当前MVP做运动估计(其中只有模式中含有NEWMV模式才做运动估计)、组合模式类型择优、插值方式择优、及运动模式择优4个过程。
其中,组合模式用于将2个参考帧的预测像素进行融合,从组合模式中选出一种最优的组合模式类型,基于被选出的组合模式类型将2个参考帧的预测像素融合到一起,每种组合模式表示一种预测像素的融合方式。
运动模式对应单参考帧模式和组合参考帧模式不同。单参考帧模式有4种运动模式,分别为:SIMPLE(简单运动补偿)、OBMC(重叠块运动补偿)、WARPED(全局和局部扭曲运动补偿)、SIMPLE(inter_intra);组合参考帧模式有SIMPLE模式。
即,一组帧间预测模式对应的计算复杂度非常大,尤其是NEWMV模式。对于每个预测CU块,会遍历7个参考帧,对每个参考帧遍历最多3个MVP,每个MVP分别做运动估计、9种方式的插值及4种运动模式计算。即每个预测块最多189(7×3×9)次插值和84(7×3×4)次运动模式计算。
示意性的,图4示出了本申请一个示例性实施例提供的NEWMV模式下最优结果选择过程的示意图,如图4所示,该过程中包括如下步骤。
步骤401,设置N=0,获取MVP的数量。
即,设置N的初始取值为0,N表示第N个MVP,从而能够对每个MVP进行遍历。
步骤402,判断N是否小于MVP的数量。
当N小于MVP数量时,表示当前MVP遍历未结束。
步骤403,当N小于MVP的数量时,获取MVP,设置N=N+1。
设置N=N+1即表示当前MVP遍历完成后,对下一个MVP进行遍历。而当N大于或者等于MVP的数量时,表示当前所有MVP遍历完毕。
步骤404,运动估计。
即对MVP进行运动估计。
步骤405,最优运动向量下插值方式择优。
步骤406,运动模式择优。
在上述NEWMV模式下最优结果选择,需要针对每个MVP做运动估计、9种插值、4种运动模式计算,最后选出最优的MVP对应下的最优运动向量、最优插值方式和最优运动模式,计算复杂度很大,编码效率较低。
基于上述说明,本申请实施例提供了一种帧间预测的编码方法,主要是通过校正策略选出最优运动向量和对应MVP,然后只对最优运动向量和对应MVP,做插值和运动模式的择优。对比上述图4,图5是本申请一个示例性实施例提供的帧间预测的编码方法的整体过程示意图,如图5所示,该过程中包括如下步骤。
步骤501,设置N=0,获取MVP的数量。
即,设置N的初始取值为0,N表示第N个MVP,从而能够对每个MVP进行遍历。
步骤502,判断N是否小于MVP的数量。
当N小于MVP数量时,表示当前MVP遍历未结束。
步骤503,当N小于MVP的数量时,获取MVP,设置N=N+1。
设置N=N+1表示当前MVP遍历完成后,对下一个MVP进行遍历。而当N大于或者等于MVP的数量时,表示当前所有MVP遍历完毕。以MVP的数量为M为例,即从第0个MVP遍历至第M-1个MVP,共计遍历了所有M个MVP。
步骤504,运动估计。
即对MVP进行运动估计。
步骤505,校正,选出最优MVP和MV。
步骤506,最优运动向量下插值方式择优。
步骤507,运动模式择优。
根据图5可知,本申请实施例中提供的帧间预测的编码方法,在进行运动估计后即继续进行循环过程中,而循环完毕后还需要进行校正,选出最优MVP和MV,最终基于最优的MVP和MV进行后续的插值方式择优和运动模式择优,提高了编码效率。
结合上述说明,图6是本申请一个示例性实施例提供的帧间预测的编码方法的流程图,以该方法应用于编码器中为例进行说明,如图6所示,该方法包括如下步骤。
步骤601,获取待编码的图像帧。
本实施例中,图像帧划分有编码单元,编码单元对应至少两种预测模式,至少两种预测模式中包括指定帧间预测模式。
在一些实施例中,该待编码的图像帧为非关键帧,也即P帧或者B帧。获取该待编码图像帧时,首先获取待编码视频流,并依次获取该视频流中的每一帧图像帧,从而确定当前待编码的图像帧。
在一些实施例中,每个编码单元块均包含了帧内预测和帧间预测,其中,帧间预测中包括NEWMV模式,示意性的,该NEWMV模式即为本申请实施例中提供的指定帧间预测模式。由于NEWMV模式依赖于MVP的推导,而NEWMV模式下需要从至少两个(通常是3个)MVP中确定出最优MVP。
本申请实施例中,指定帧间预测模式为NEWMV模式,或者,包含NEWMV模式的组合模式。
步骤602,响应于通过指定帧间预测模式对编码单元进行预测,对指定帧间预测模式下的运动向量预测进行运动估计遍历,得到候选运动向量。
在一些实施例中,在对运动向量预测进行运动估计遍历时,首先需要获取运动向量预测MVP的数量,针对第i个运动向量预测MVP,响应于i在运动向量预测MVP的数量范围内,对第i个运动向量预测进行运动估计,得到第i个候选运动向量,i为整数;针对n个运动向量预测得到n个候选运动向量,其中,第i个运动向量预测对应第i个候选运动向量。
示意性的,获取运动向量预测的数量为3,则针对第0个MVP,对第0个MVP进行运动估计,同理,针对第1个MVP和第2个MVP进行运动估计,从而实现对3个MVP的运动估计遍历。
在一些实施例中,得到n个运动向量预测MVP的候选运动向量后,对候选运动向量进行存储。可选地,对候选运动向量进行存储;或者,对候选运动向量以及候选运动向量的失真进行存储。
本实施例中,以对候选运动向量以及候选运动向量的失真进行存储为例,则存储方式包括如下方式中的至少一种。
第一,构建第一数组和第二数组,分别用于存储候选运动向量以及候选运动向量的失真。
第二,构建数据库,在数据库中以键值对(key-value)的形式存储候选运动向量以及候选运动向量的失真。
本申请实施例中,以构建第一数组和第二数组的方式存储候选运动向量以及候选运动向量的失真为例进行说明。其中,第一数组用于存储运动向量预测MVP进行运动估计后对应的候选运动向量的失真,第二数组用于存储运动向量预测MVP进行运动估计后对应的候选运动向量。在对第i个运动向量预测进行运动估计得到第i个候选运动向量后,将第i个候选运动向量对应的失真存储至第一数组中,将第i个候选运动向量存储至第二数组中。
在一些实施例中,上述候选运动向量包括运动向量预测进行运动估计后的最优运动向量。
示意性的,对指定帧间预测模式下的运动向量预测进行运动估计遍历时,主要包括如下几个过程。
1、获取运动向量预测的数量。
在一些实施例中,NEWMV模式下MVP的数量为3,即上述图7示出的第0个至第2个MVP。
2、设置数组,用于存储每个MVP数据。
其中,设置的数组中包括第一数组和第二数组,分别如下所示。
第一数组:dist_bestmv_list[i],用于存放每个MVP对应的运动估计后最优运动向量位置的失真。
第二数组:me_bestmv_list[i],用于存放每个MVP对应的运动估计的最优运动向量。其中,i用于表示第i个MVP,i的取值为0,1,2。
3、依次遍历所有的MVP进行运动估计。
运动估计的方式包括整像素运动估计和分像素运动估计,其中,整像素运动估计包括TZ搜索方法(后续内容中进行介绍)、NStep搜索方法、菱形搜索方法(后续内容中进行介绍)、六边形搜索方法等;分像素运动估计包括菱形搜索、全搜索等。
4、得到最优运动向量后,即可得到当前MVP索引的失真、最优运动向量。分别对当前MVP索引的失真和最优运动向量在数组中进行记录。
示意性的,用mvp_index表示当前MVP索引,mvp_index取值为[0,2],则dist_bestmv_list[mvp_index] = dist;me_bestmv_list [mvp_index] = bestmv。
其中,dist表示失真,bestmv表示最优运动向量。即,将MVP索引对应的失真存储到第一数组的MVP索引下,将MVP索引下的最优运动向量存储到第二数组的MVP索引下。示意性的,将第0个MVP对应的失真存储到第一数组中第0个MVP的索引下,即为dist_bestmv_list[0],将第0个MVP对应的最优运动向量存储到第二数组中第0个MVP的索引下,即为me_bestmv_list [0]。
步骤603,从运动向量预测和候选运动向量中确定一组运动向量组。
运动向量组中包括从运动向量预测MVP中确定的目标MVP,以及从候选运动向量中确定的目标运动向量。
在一些实施例中,目标MVP为最优MVP,目标运动向量为最优运动向量。
在一些实施例中,目标MVP和目标运动向量为一组对应的运动向量组,也即,当目标MVP为第i个MVP时,目标运动向量为第i个运动向量,在该情况下,则直接根据每组候选运动向量组对应的率失真代价确定运动向量组即可。示意性的,确定第0个MVP个第0个运动向量的第一率失真代价,确定第1个MVP和第1个运动向量的第二率失真代价,确定第2个MVP和第2个运动向量的第三率失真代价。根据第一率失真代价、第二率失真代价和第三率失真代价,确定出率失真代价最小的一组运动向量组,如:当第一率失真代价最小时,将第一率失真代价对应的第0个MVP和第0个运动向量作为运动向量组。
值得注意的是,上述实施例中,以确定出率失真代价最小的一组运动向量组为例进行说明,在一些实施例中,也可以确定出率失真代价最小的两组运动向量组,并将率失真代价最小的两组运动向量组分别对应的MVP和运动向量进行后续的插值方式遍历和运动模式遍历,本申请实施例对此不加以限定。可选地,运动向量组的个数可以通过对外接口决定。
在另一些实施例中,目标MVP和目标运动向量为重组后得到的运动向量组,也即,当目标MVP为第i个MVP时,目标运动向量可以是第i个运动向量,也可以是其他MVP确定得到的运动向量。本申请实施例中,以目标MVP和目标运动向量为重组后得到的运动向量组为例进行说明。
示意性的,将每个运动向量预测MVP与每个候选运动向量进行组合,从而从得到的组合中确定出一组运动向量组,其中,每个运动向量预测MVP与每个候选运动向量重组得到的组合数量,为运动向量预测MVP的数量与候选运动向量数量的乘积。
值得注意的是,上述MVP和运动向量的重组方式仅为示意性的举例,本申请实施例对MVP和运动向量的具体重组方式不加以限定。
在上述步骤602得到的各个MVP和对应的候选运动向量中,MVP和候选运动向量之间的匹配可能存在局部最优值。故,本申请实施例中,通过校正的方式对最优MVP和最优运动向量进行确定。
可选地,通过重新组合所有MVP和候选运动向量的方式进行校正。
示意性的,第0个MVP进行运动估计后得到第0个候选运动向量(也即针对第0个MVP的最优运动向量);第1个MVP进行运动估计后得到第1个候选运动向量(也即针对第1个MVP的最优运动向量);第2个MVP进行运动估计后得到第2个候选运动向量(也即针对第2个MVP的最优运动向量)。则,重组后,得到第0个MVP与第0个候选运动向量的组合、第0个MVP与第1个候选运动向量的组合、第0个MVP与第2个候选运动向量的组合、第1个MVP与第0个候选运动向量的组合、第1个MVP与第1个候选运动向量的组合、第1个MVP与第2个候选运动向量的组合、第2个MVP与第0个候选运动向量的组合、第2个MVP与第1个候选运动向量的组合、第2个MVP与第2个候选运动向量的组合。从这些组合中确定出运动向量组,也即组合后率失真代价最小的组合。
在一些实施例中,从这些组合中确定出率失真代价最小的一个组合作为运动向量组;或者,从这些组合中确定出率失真代价最小的多个组合作为运动向量组,并根据多个运动向量组对应的MVP和运动向量分别进行插值方式的遍历和运动模式的遍历。其中,运动向量组的个数可以通过对外接口决定。
步骤604,基于运动向量组对编码单元进行插值方式的遍历和运动模式的遍历,得到编码单元对应的目标插值方式和目标运动模式。
在一些实施例中,在确定运动向量组后,根据运动向量组中的目标MVP(也即最优MVP)和目标运动向量(也即最优运动向量),进行插值方式的择优和运动模式的择优。
综上所述,本申请实施例提供的帧间预测的编码方法,针对指定帧间编码模式(如:NEWMV模式),首先对MVP进行遍历,并确定出最优MVP和最优运动向量后,基于最优MVP和最优运动向量进行插值方式择优和运动模式择优,无需针对所有的MVP和运动向量进行插值方式遍历和运动模式遍历,仅需要针对最优MVP和最优运动向量进行插值方式遍历和运动模式遍历,减少了率失真代价的计算量,以及降低了计算的复杂度,提高了编码效率。
针对上述运动估计方法,以TZ搜索方法和菱形搜索方法为代表进行介绍。
TZ搜索方法的实现方式包括如下过程。
(1)确定搜索起始点。
采用当前MVP作为搜索起始点,同时还有(0,0)位置,比较二者对应运动向量下的率失真代价,代价小的运动向量作为最终的搜索起始点。
(2)以步长1开始,在搜索窗范围内进行搜索。
示意性的,请参考图7,其示出了本申请一个示例性实施例提供的TZ搜索模板示意图。如图7所示,TZ搜索方法下包括菱形模板710,在该菱形模板710的搜索窗范围内进行搜索,其中,步长以2的整数次幂递增,选出率失真代价最小的点作为搜索结果。
(3)若率失真代价最小的点对应的步长为1,则开始2点搜索,示意性的,如图8所示,其示出了本申请一个示例性实施例提供的2点搜索的示意图,如图8所示,在点1位置补做点801和点802;在点3位置补做点803和点804;在点6位置补做805和点806;在点8位置补做点807和点808。而其他位置,如点2、点4、点5、点7的左右上下四个正方向的位置点均计算过,不需要再补点。
(4)若步骤(3)中得到的率失真代价最小的步长大于5,在开始以光栅扫描的方式,做隔5行5列的所有点,示意性的,请参考图9,其示出了光栅扫描方式搜索位置点的局部示意图。如图9所示,每隔5行5列在标注的点910位置处进行扫描。
菱形搜索方法的实现方式包括如下过程。
也称为钻石搜索方法,有大菱形和小菱形两种不同的匹配模板。其中,大菱形匹配模板有 9 个搜索点,小菱形匹配模板有 5个搜索点。首先使用步长较大的大菱形匹配模板进行粗搜索,然后使用小菱形匹配模板进行细搜索。搜索步骤如下。
一,以搜索窗口的中心点为中心,以大菱形匹配模板,计算中心点和其周围8个点(共计9个点)的率失真代价,比较得到率失真代价最小的点。
二,如果搜索的中心点就是率失真代价值最小的点,则跳到三使用小菱形搜索模板,否则依旧回到一的搜索。
三,利用搜索点数只有 5 个点的小菱形匹配模板,计算这 5 个点的率失真代价,取率失真代价最小的点为最佳匹配点,即最优的运动向量。
在一个可选的实施例中,上述MVP和运动向量的校正方式是通过对MVP和候选运动向量的重组实现的。图10是本申请另一个示例性实施例提供的帧间预测的编码方法流程图,以该方法应用于编码器中为例进行说明,如图10所示,该方法包括如下步骤。
步骤1001,获取待编码的图像帧。
其中,图像帧划分有编码单元,编码单元对应至少两种预测模式,至少两种预测模式中包括指定帧间预测模式。
步骤1002,获取运动向量预测MVP的数量。
步骤1003,针对第i个运动向量预测MVP,响应于i在运动向量预测MVP的数量范围内,对第i个运动向量预测MVP进行运动估计,得到第i个候选运动向量,i为整数。
示意性的,获取运动向量预测的数量为3,则针对第0个MVP,由于在运动向量预测的数量范围内,故对第0个MVP进行运动估计,同理,针对第1个MVP和第2个MVP进行运动估计。
步骤1004,针对n个运动向量预测MVP得到n个候选运动向量。
其中,第i个运动向量预测MVP对应第i个候选运动向量。
示意性的,第0个MVP进行运动估计后得到第0个候选运动向量(也即针对第0个MVP的最优运动向量);第1个MVP进行运动估计后得到第1个候选运动向量(也即针对第1个MVP的最优运动向量);第2个MVP进行运动估计后得到第2个候选运动向量(也即针对第2个MVP的最优运动向量)。
步骤1005,将n个运动向量预测MVP与n个候选运动向量进行重组,依次得到每个运动向量预测MVP与候选运动向量之间的m个组合关系,其中,m的取值为n的平方。
示意性的,针对上述MVP和候选运动向量,则重组后,得到第0个MVP与第0个候选运动向量的组合、第0个MVP与第1个候选运动向量的组合、第0个MVP与第2个候选运动向量的组合、第1个MVP与第0个候选运动向量的组合、第1个MVP与第1个候选运动向量的组合、第1个MVP与第2个候选运动向量的组合、第2个MVP与第0个候选运动向量的组合、第2个MVP与第1个候选运动向量的组合、第2个MVP与第2个候选运动向量的组合。从这些组合中确定出运动向量组,也即组合后率失真代价最小的组合。
步骤1006,确定m个组合关系分别对应的率失真代价。
在一些实施例中,率失真代价用于表示在组合关系下的像素误差情况。在一些实施例中,率失真代价用于表示在组合关系下的像素编码代价,率失真代价是由当前组合关系下的失真和编码所占用的码字位数确定的。
示意性的,MVP和候选运动向量的重组后率失真代价的计算方式如下公式一所示。
其中,i用于指示第i个MVP,j用于指示第j个候选运动向量。则m用于表示MVP和候选运动向量的索引最大取值,用于代表MVP和候选运动向量的数量,在一些实施例中,m的取值为0到MVP和候选运动向量的数量减1。mvp[i]代表第i个MVP,mvcost(me_beatmv_list[j]-mvp[i])表示,第j个候选运动向量与第i个MVP之差对应的率失真代价。
示意性的,以m个取值为[0,2],也即有3个MVP为例,则能够得到9个组合关系对应的率失真代价,分别为如下公式所示。
cost00表示第0个MVP和第0个候选运动向量的组合关系;cost01表示第0个MVP和第1个候选运动向量的组合关系;cost02表示第0个MVP和第2个候选运动向量的组合关系,以此类推。
步骤1007,基于率失真代价从m个组合关系中确定运动向量组。
在一些实施例中,确定率失真代价最小的目标组合关系,确定包括目标组合关系中的目标MVP和目标运动向量的运动向量组。
示意性的,以上述9个组合关系为例,如:cost20最小,则最优mvp索引为2,最优运动向量索引为0,即由第2个MVP和第0个候选运动向量构成运动向量组,第2个MVP为最优MVP,第0个候选运动向量为最优运动向量。
步骤1008,基于运动向量组对编码单元进行插值方式的遍历和运动模式的遍历,得到编码单元对应的目标插值方式和目标运动模式。
在一些实施例中,在确定运动向量组后,根据运动向量组中的目标MVP(也即最优MVP)和目标运动向量(也即最优运动向量),进行插值方式的择优和运动模式的择优。
综上所述,本申请实施例提供的帧间预测的编码方法,针对指定帧间编码模式(如:NEWMV模式),首先对MVP进行遍历,并确定出最优MVP和最优运动向量后,基于最优MVP和最优运动向量进行插值方式择优和运动模式择优,无需针对所有的MVP和运动向量进行插值方式遍历和运动模式遍历,仅需要针对最优MVP和最优运动向量进行插值方式遍历和运动模式遍历,减少了率失真代价的计算量,以及降低了计算的复杂度,提高了编码效率。
本实施例提供的方法,通过对MVP和候选运动向量进行重组的方式,对最优MVP和最优运动向量进行校正,避免最优MVP一一对应确定出的最优运动向量存在局部最优值的情况,提高了对最优MVP和最优运动向量的确定准确率,也即进一步提高了编码效率。
本实施例提供的方法,能够减少NEWMV模式下2/3的插值方式遍历和运动模式计算的运算量。
本实施例提供的方法,通过对最优MVP和最优运动向量进行校正,能够避免MVP和候选运动向量之间的匹配陷入局部最优的问题。
在一个可选的实施例中,在确定运动向量组后,还需要确定参考帧,索引消耗的比特数等内容。图11是本申请另一个示例性实施例提供的帧间预测的编码方法流程图,以该方法应用于编码器中为例进行说明,如图11所示,该方法包括如下步骤。
步骤1101,获取待编码的图像帧。
其中,图像帧划分有编码单元,编码单元对应至少两种预测模式,至少两种预测模式中包括指定帧间预测模式。
步骤1102,响应于通过指定帧间预测模式对编码单元进行预测,对指定帧间预测模式下的运动向量预测进行运动估计遍历,得到候选运动向量。
在一些实施例中,在对运动向量预测进行运动估计遍历时,首先需要获取运动向量预测MVP的数量,针对第i个运动向量预测MVP,响应于i在运动向量预测MVP的数量范围内,对第i个运动向量预测进行运动估计,得到第i个候选运动向量,i为整数;针对n个运动向量预测得到n个候选运动向量,其中,第i个运动向量预测对应第i个候选运动向量。
步骤1103,从运动向量预测和候选运动向量中确定一组运动向量组。
运动向量组中包括从运动向量预测MVP中确定的目标MVP,以及从候选运动向量中确定的目标运动向量。
在一些实施例中,目标MVP为最优MVP,目标运动向量为最优运动向量。
在上述步骤1102得到的各个MVP和对应的候选运动向量中,MVP和候选运动向量之间的匹配可能存在局部最优值。故,本申请实施例中,通过重新组合MVP和候选运动向量的方式进行校正。
步骤1104,基于运动向量组对编码单元进行插值方式的遍历和运动模式的遍历,得到编码单元对应的目标插值方式和目标运动模式。
在一些实施例中,在确定运动向量组后,根据运动向量组中的目标MVP(也即最优MVP)和目标运动向量(也即最优运动向量),进行插值方式的择优和运动模式的择优。
针对插值方式择优和运动模式择优进行介绍。
插值方式择优的实现包括如下过程。
插值的过程为提高采样率的过程。插值的目的是因为最优运动向量若包含分像素,则预测像素不能直接取到,需要先取最优运动向量整像素位置对应参考像素,再跟据分像素坐标来插值,最终得到预测像素。
插值的计算过程中,先进行水平方向插值,再进行竖直方向插值,AV1为分像素的插值设计了REG(基于正则表达式的插值方法),SMOOTH(平滑插值方法),SHARP 三种插值方法,所有滤波核都是8抽头,3种插值方式区别主要是滤波核的系数不同。
因为水平和垂直可以任意组合,共得到9种插值方式,即REG_REG,REG_SMOOTH,REG_SHARP,SMOOTH_REG,SMOOTH_SMOOTH,SMOOTH_SHARP,SHARP_REG,SHARP_SMOOTH,SHARP_SHARP。
遍历9种插值方式,并估算率失真代价,率失真代价最小值对应插值方式即为最优插值方式。
运动模式择优的实现包括如下过程。
运动模式主要包括如下4种:SIMPLE,OBMC,WARPED,SIMPLE(inter_intra)。
最优运动模式会写入码流,指示解码器解码时恢复重建数据所使用的运动模式,SIMPLE(inter_intra)跟第一个SIMPLE同为SIMPLE模式,但区别很大,解码时可以通过语法中参考帧信息知道是SIMPLE还是SIMPLE(inter_intra),使用同一个标记可以节省一个bit。
4种模式均要做完整率失真代价,即做变换、量化、逆量化、逆变换的整个重建过程,不同地方是预测像素获取方法不同。
第一步,获取预测像素
对于SIMPLE模式:预测像素对插值后得到的预测值。
对于OBMC模式:对插值后得到的预测像素二次加工。根据相邻块MV获取相邻块的预测像素,然后按照一定规则跟当前块插值后预测值融合,得到新预测值。
对于WARPED模式:参考左边、上边、右上角3个可用位置,构造仿射变换MV,然后做小范围运动搜索。最后做插值获得预测像素。
对于SIMPLE(inter_intra)模式:对插值后得到的预测像素二次加工。先做DC、V、H、SMOOTH 4种帧内模式的帧内预测,得到最优帧内预测像素,然后帧内预测和帧间预测像素融合,得到新预测值。
第二步,完整率失真计算
首先,根据输入像素和预测像素,得到残差像素。
然后,获取某一运动模式下,除残差系数的比特数。
比特数的获取与熵编码的上下文有关,率失真代价公式中比特数rate包含了很多信息,比方参考帧消耗比特数、MVP索引消耗比特数,MVD消耗比特数,插值方式消耗比特数,运动模式消耗比特数,残差消耗比特数等,此处比特数为某一运动模式除变换外的所有消耗比特数,不同运动模式对应比特数不同。
然后,对残差数据SSE计算。
需要对残差数据做变换、量化、逆量化、逆变换的过程,得到重建像素,在变化的过程需要上述步骤2中的比特数,与变换中变换类型消耗比特数、变换单元划分类型消耗比特数、残差系数消耗比特数一起,来评估当前预测块最优变换类型和最优TU分割类型,然后得到最优变换类型和最优TU分割类型所对应的失真和比特数,分别记作dist和rate。
最后,获取率失真代价rdcost,代价最小对应得模式即为最优运动模式。
值得注意的是,上述计算失真时,以通过SSE的方式计算为例进行说明,本申请实施例中,还可以通过SATD、SAD等方式实现,本申请实施例对此不加以限定。
步骤1105,确定目标MVP对应的参考帧。
在一些实施例中。确定目标MVP对应的参考帧索引方式,以参考帧索引方式和目标MVP索引得到参考帧。其中,参考帧的索引方式请参考如上表一。
步骤1106,确定目标MVP索引消耗的比特数。
可选的,将目标运动向量和目标MVP之差,确定为目标MVP索引消耗的比特数。也即,,其中,best_mv表示最优运动向量(也即本申请实施例中的目标运动向量),best_mvp表示最优MVP(也即本申请实施例中的目标MVP)。
步骤1107,基于目标MVP、目标插值方式、目标运动模式、参考帧和比特数对编码单元进行编码。
综上所述,本申请实施例提供的帧间预测的编码方法,针对指定帧间编码模式(如:NEWMV模式),首先对MVP进行遍历,并确定出最优MVP和最优运动向量后,基于最优MVP和最优运动向量进行插值方式择优和运动模式择优,无需针对所有的MVP和运动向量进行插值方式遍历和运动模式遍历,仅需要针对最优MVP和最优运动向量进行插值方式遍历和运动模式遍历,减少了率失真代价的计算量,以及降低了计算的复杂度,提高了编码效率。
本实施例提供的方法,通过MVP校正,提前选出最优mvp和对应最优运动向量,然后再做插值和运动模式计算,最多可以节省2/3的插值和运动模式计算,加速比非常高,很好的奠定了单参考帧newmv模式的帧间预测框架,是av1编码器核心的部分。
实测结果:编码65帧,加速6%,加速比超过50:1。
值得注意的是,上述实施例中,以帧间预测的编码方法应用于AV1压缩协议中为例进行说明,本申请实施例提供的帧间预测的编码方法还可以应用于其他压缩协议,如:H.266压缩协议、AVS3压缩协议等。
图12是本申请一个示例性实施例提供的帧间预测的编码装置的结构框图,如图12所示,该装置包括:
获取模块1210,用于获取待编码的图像帧,所述图像帧划分有编码单元,所述编码单元对应至少两种预测模式,所述至少两种预测模式中包括指定帧间预测模式;
预测模块1220,用于响应于通过指定帧间预测模式对所述编码单元进行预测,对所述指定帧间预测模式下的运动向量预测MVP进行运动估计遍历,得到候选运动向量;
确定模块1230,用于从所述运动向量预测MVP和所述候选运动向量中确定一组运动向量组,所述运动向量组中包括从所述运动向量预测MVP中确定的目标MVP,以及从所述候选运动向量中确定的目标运动向量;
所述预测模块1220,还用于基于所述运动向量组对所述编码单元进行插值方式的遍历和运动模式的遍历,得到所述编码单元对应的目标插值方式和目标运动模式。
在一个可选的实施例中,所述获取模块1210,还用于获取运动向量预测MVP的数量;
所述预测模块1220,还用于针对第i个运动向量预测MVP,响应于i在所述运动向量预测MVP的数量范围内,对第i个运动向量预测MVP进行运动估计,得到第i个候选运动向量,i为整数;
所述预测模块1220,还用于针对n个运动向量预测MVP得到n个候选运动向量,其中,所述第i个运动向量预测MVP对应所述第i个候选运动向量。
在一个可选的实施例中,所述预测模块1220,还用于将n个运动向量预测MVP与n个候选运动向量进行重组,依次得到每个运动向量预测MVP与各个候选运动向量之间的m个组合关系,其中,m的取值为n的平方;
所述确定模块1230,还用于确定m个组合关系分别对应的率失真代价,所述率失真代价用于表示在所述组合关系下的像素误差情况;基于所述率失真代价从m个组合关系中确定所述运动向量组。
在一个可选的实施例中,所述确定模块1230,还用于确定率失真代价最小的目标组合关系;确定包括所述目标组合关系中的所述目标MVP和所述目标运动向量的所述运动向量组。
在一个可选的实施例中,如图13所示,该装置还包括:
构建模块1310,用于构建第一数组和第二数组,所述第一数组用于存储所述运动向量预测MVP进行运动估计后对应的候选运动向量的失真,所述第二数组用于存储所述运动向量预测MVP进行运动估计后对应的候选运动向量;
存储模块1320,用于将所述第i个候选运动向量对应的失真存储至所述第一数组中;
所述存储模块1320,还用于将所述第i个候选运动向量存储至所述第二数组中。
在一个可选的实施例中,所述确定模块1230,还用于确定所述目标MVP对应的参考帧;确定所述目标MVP索引消耗的比特数;
所述装置还包括:
编码模块1330,用于基于所述目标MVP、所述目标插值方式、所述目标运动模式、所述参考帧和所述比特数对所述编码单元进行编码。
在一个可选的实施例中,所述确定模块1230,还用于确定所述目标MVP对应的参考帧索引方式;以所述参考帧索引方式和所述目标MVP索引得到所述参考帧。
在一个可选的实施例中,所述确定模块1230,还用于将所述目标运动向量和所述目标MVP之差,确定为所述目标MVP索引消耗的比特数。
综上所述,本申请实施例提供的帧间预测的编码装置,针对指定帧间编码模式(如:NEWMV模式),首先对MVP进行遍历,并确定出最优MVP和最优运动向量后,基于最优MVP和最优运动向量进行插值方式择优和运动模式择优,无需针对所有的MVP和运动向量进行插值方式遍历和运动模式遍历,仅需要针对最优MVP和最优运动向量进行插值方式遍历和运动模式遍历,减少了率失真代价的计算量,以及降低了计算的复杂度,提高了编码效率。
需要说明的是:上述实施例提供的帧间预测的编码装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的帧间预测的编码装置与帧间预测的编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14示出了本申请一个示例性实施例提供的终端1400的结构框图。该终端1400可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1400包括有:处理器1401和存储器1402。
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请中方法实施例提供的帧间预测的编码方法。
在一些实施例中,终端1400还可选包括有:***设备接口1403和至少一个***设备。处理器1401、存储器1402和***设备接口1403之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1403相连。具体地,***设备包括:射频电路1404、显示屏1405、摄像头1406、音频电路1407、定位组件1408和电源1409中的至少一种。
***设备接口1403可被用于将I/O(Input /Output,输入/输出)相关的至少一个***设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和***设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和***设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1404用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1405用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置终端1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在再一些实施例中,显示屏1405可以是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
定位组件1408用于定位终端1400的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1408可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源1409用于为终端1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
加速度传感器1411可以检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制触摸显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1412可以检测终端1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对终端1400的3D动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1413可以设置在终端1400的侧边框和/或触摸显示屏1405的下层。当压力传感器1413设置在终端1400的侧边框时,可以检测用户对终端1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在触摸显示屏1405的下层时,由处理器1401根据用户对触摸显示屏1405的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置终端1400的正面、背面或侧面。当终端1400上设置有物理按键或厂商Logo时,指纹传感器1414可以与物理按键或厂商Logo集成在一起。
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制触摸显示屏1405的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1405的显示亮度;当环境光强度较低时,调低触摸显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
接近传感器1416,也称距离传感器,通常设置在终端1400的前面板。接近传感器1416用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制触摸显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制触摸显示屏1405从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种帧间预测的编码方法,其特征在于,所述方法包括:
获取待编码的图像帧,所述图像帧划分有编码单元,所述编码单元对应至少两种预测模式,所述至少两种预测模式中包括指定帧间预测模式;
响应于通过指定帧间预测模式对所述编码单元进行预测,对所述指定帧间预测模式下的运动向量预测MVP进行运动估计遍历,得到候选运动向量;
从所述运动向量预测MVP和所述候选运动向量中确定一组运动向量组,所述运动向量组中包括从所述运动向量预测MVP中确定的目标MVP,以及从所述候选运动向量中确定的目标运动向量;
基于所述运动向量组对所述编码单元进行插值方式的遍历和运动模式的遍历,得到所述编码单元对应的目标插值方式和目标运动模式。
2.根据权利要求1所述的方法,其特征在于,所述对所述指定帧间预测模式下的运动向量预测MVP进行运动估计遍历,得到候选运动向量,包括:
获取运动向量预测MVP的数量;
针对第i个运动向量预测MVP,响应于i在所述运动向量预测MVP的数量范围内,对第i个运动向量预测MVP进行运动估计,得到第i个候选运动向量,i为整数;
针对n个运动向量预测MVP得到n个候选运动向量,其中,所述第i个运动向量预测MVP对应所述第i个候选运动向量。
3.根据权利要求2所述的方法,其特征在于,所述从所述运动向量预测MVP和所述候选运动向量中确定一组运动向量组,包括:
将n个运动向量预测MVP与n个候选运动向量进行重组,依次得到每个运动向量预测MVP与各个候选运动向量之间的m个组合关系,其中,m的取值为n的平方;
确定m个组合关系分别对应的率失真代价,所述率失真代价用于表示在所述组合关系下的像素误差情况;
基于所述率失真代价从m个组合关系中确定所述运动向量组。
4.根据权利要求3所述的方法,其特征在于,所述基于所述率失真代价从m个组合关系中确定所述运动向量组,包括:
确定率失真代价最小的目标组合关系;
确定包括所述目标组合关系中的所述目标MVP和所述目标运动向量的所述运动向量组。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
构建第一数组和第二数组,所述第一数组用于存储所述运动向量预测MVP进行运动估计后对应的候选运动向量的失真,所述第二数组用于存储所述运动向量预测MVP进行运动估计后对应的候选运动向量;
所述对第i个运动向量预测MVP进行运动估计,得到第i个候选运动向量之后,还包括:
将所述第i个候选运动向量对应的失真存储至所述第一数组中;
将所述第i个候选运动向量存储至所述第二数组中。
6.根据权利要求1至5任一所述的方法,其特征在于,所述从所述运动向量预测MVP和所述候选运动向量中确定一组运动向量组之后,还包括:
确定所述目标MVP对应的参考帧;
确定所述目标MVP索引消耗的比特数;
基于所述目标MVP、所述目标插值方式、所述目标运动模式、所述参考帧和所述比特数对所述编码单元进行编码。
7.根据权利要求6所述的方法,其特征在于,所述确定所述目标MVP对应的参考帧,包括:
确定所述目标MVP对应的参考帧索引方式;
以所述参考帧索引方式和所述目标MVP索引得到所述参考帧。
8.根据权利要求6所述的方法,其特征在于,所述确定所述目标MVP索引消耗的比特数,包括:
将所述目标运动向量和所述目标MVP之差,确定为所述目标MVP索引消耗的比特数。
9.一种帧间预测的编码装置,其特征在于,所述装置包括:
获取模块,用于获取待编码的图像帧,所述图像帧划分有编码单元,所述编码单元对应至少两种预测模式,所述至少两种预测模式中包括指定帧间预测模式;
预测模块,用于响应于通过指定帧间预测模式对所述编码单元进行预测,对所述指定帧间预测模式下的运动向量预测MVP进行运动估计遍历,得到候选运动向量;
确定模块,用于从所述运动向量预测MVP和所述候选运动向量中确定一组运动向量组,所述运动向量组中包括从所述运动向量预测MVP中确定的目标MVP,以及从所述候选运动向量中确定的目标运动向量;
所述预测模块,还用于基于所述运动向量组对所述编码单元进行插值方式的遍历和运动模式的遍历,得到所述编码单元对应的目标插值方式和目标运动模式。
10.根据权利要求9所述的装置,其特征在于,所述获取模块,还用于获取运动向量预测MVP的数量;
所述预测模块,还用于针对第i个运动向量预测MVP,响应于i在所述运动向量预测MVP的数量范围内,对第i个运动向量预测MVP进行运动估计,得到第i个候选运动向量,i为整数;
所述预测模块,还用于针对n个运动向量预测MVP得到n个候选运动向量,其中,所述第i个运动向量预测MVP对应所述第i个候选运动向量。
11.根据权利要求10所述的装置,其特征在于,所述预测模块,还用于将n个运动向量预测MVP与n个候选运动向量进行重组,依次得到每个运动向量预测MVP与各个候选运动向量之间的m个组合关系,其中,m的取值为n的平方;
所述确定模块,还用于确定m个组合关系分别对应的率失真代价,所述率失真代价用于表示在所述组合关系下的像素误差情况;基于所述率失真代价从m个组合关系中确定所述运动向量组。
12.根据权利要求11所述的装置,其特征在于,所述确定模块,还用于确定率失真代价最小的目标组合关系;确定包括所述目标组合关系中的所述目标MVP和所述目标运动向量的所述运动向量组。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
构建模块,用于构建第一数组和第二数组,所述第一数组用于存储所述运动向量预测MVP进行运动估计后对应的候选运动向量的失真,所述第二数组用于存储所述运动向量预测MVP进行运动估计后对应的候选运动向量;
存储模块,用于将所述第i个候选运动向量对应的失真存储至所述第一数组中;
所述存储模块,还用于将所述第i个候选运动向量存储至所述第二数组中。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至8任一所述的帧间预测的编码方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一所述的帧间预测的编码方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629001.2A CN113079372B (zh) | 2021-06-07 | 2021-06-07 | 帧间预测的编码方法、装置、设备及可读存储介质 |
PCT/CN2022/091617 WO2022257674A1 (zh) | 2021-06-07 | 2022-05-09 | 帧间预测的编码方法、装置、设备及可读存储介质 |
EP22819274.6A EP4354858A1 (en) | 2021-06-07 | 2022-05-09 | Encoding method and apparatus using inter-frame prediction, device, and readable storage medium |
US18/123,650 US20230232020A1 (en) | 2021-06-07 | 2023-03-20 | Inter prediction encoding method, apparatus, and device, and readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629001.2A CN113079372B (zh) | 2021-06-07 | 2021-06-07 | 帧间预测的编码方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113079372A true CN113079372A (zh) | 2021-07-06 |
CN113079372B CN113079372B (zh) | 2021-08-06 |
Family
ID=76617117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110629001.2A Active CN113079372B (zh) | 2021-06-07 | 2021-06-07 | 帧间预测的编码方法、装置、设备及可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230232020A1 (zh) |
EP (1) | EP4354858A1 (zh) |
CN (1) | CN113079372B (zh) |
WO (1) | WO2022257674A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140092981A1 (en) * | 2011-06-24 | 2014-04-03 | Mediatek Inc. | Method and apparatus for removing redundancy in motion vector predictors |
CN109672894A (zh) * | 2017-10-13 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 一种帧间预测方法、装置及存储介质 |
CN110574377A (zh) * | 2017-05-10 | 2019-12-13 | 联发科技股份有限公司 | 用于视频编解码的重新排序运动向量预测候选集的方法及装置 |
US20200296414A1 (en) * | 2017-11-30 | 2020-09-17 | Lg Electronics Inc. | Image decoding method and apparatus based on inter-prediction in image coding system |
CN111771376A (zh) * | 2018-12-12 | 2020-10-13 | Lg电子株式会社 | 以基于历史的运动向量预测为基础处理视频信号的方法和设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100281462B1 (ko) * | 1998-03-30 | 2001-02-01 | 전주범 | 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법 |
WO2019192301A1 (zh) * | 2018-04-02 | 2019-10-10 | 深圳市大疆创新科技有限公司 | 视频图像处理方法与装置 |
CN111953997A (zh) * | 2019-05-15 | 2020-11-17 | 华为技术有限公司 | 候选运动矢量列表获取方法、装置及编解码器 |
CN111818342B (zh) * | 2020-08-28 | 2020-12-11 | 浙江大华技术股份有限公司 | 帧间预测方法及预测装置 |
-
2021
- 2021-06-07 CN CN202110629001.2A patent/CN113079372B/zh active Active
-
2022
- 2022-05-09 EP EP22819274.6A patent/EP4354858A1/en active Pending
- 2022-05-09 WO PCT/CN2022/091617 patent/WO2022257674A1/zh active Application Filing
-
2023
- 2023-03-20 US US18/123,650 patent/US20230232020A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140092981A1 (en) * | 2011-06-24 | 2014-04-03 | Mediatek Inc. | Method and apparatus for removing redundancy in motion vector predictors |
CN110574377A (zh) * | 2017-05-10 | 2019-12-13 | 联发科技股份有限公司 | 用于视频编解码的重新排序运动向量预测候选集的方法及装置 |
CN109672894A (zh) * | 2017-10-13 | 2019-04-23 | 腾讯科技(深圳)有限公司 | 一种帧间预测方法、装置及存储介质 |
US20200045330A1 (en) * | 2017-10-13 | 2020-02-06 | Tencent Technology (Shenzhen) Company Limited | Inter-prediction method and apparatus, and storage medium |
US20200296414A1 (en) * | 2017-11-30 | 2020-09-17 | Lg Electronics Inc. | Image decoding method and apparatus based on inter-prediction in image coding system |
CN111771376A (zh) * | 2018-12-12 | 2020-10-13 | Lg电子株式会社 | 以基于历史的运动向量预测为基础处理视频信号的方法和设备 |
Non-Patent Citations (3)
Title |
---|
AHMED MEDHAT ET.: "Fast center search algorithm with hardware implementation for motion estimation in HEVC encoder", 《2014 21ST IEEE INTERNATIONAL CONFERENCE ON ELECTRONICS, CIRCUITS AND SYSTEMS (ICECS)》 * |
GANG HE ET.: "High-Throughput Power-Efficient VLSI Architecture of Fractional Motion Estimation for Ultra-HD HEVC Video Encoding", 《IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS》 * |
严丹钰等: "HEVC运动估计快速算法优化及硬件实现", 《广播电视网络》 * |
Also Published As
Publication number | Publication date |
---|---|
EP4354858A1 (en) | 2024-04-17 |
CN113079372B (zh) | 2021-08-06 |
US20230232020A1 (en) | 2023-07-20 |
WO2022257674A1 (zh) | 2022-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7026260B2 (ja) | ビデオ符号化方法、ビデオ符号化装置およびコンピュータプログラム | |
CN110234008B (zh) | 编码方法、解码方法及装置 | |
CN108391127B (zh) | 视频编码方法、装置、存储介质及设备 | |
CN110062246B (zh) | 对视频帧数据进行处理的方法和装置 | |
CN112532975B (zh) | 视频编码方法、装置、计算机设备及存储介质 | |
CN114286089A (zh) | 参考帧的选择方法、装置、设备及介质 | |
CN113891074B (zh) | 视频编码方法和装置、电子装置和计算机可读存储介质 | |
CN111107357B (zh) | 一种图像处理的方法、装置、***及存储介质 | |
CN110572679B (zh) | 帧内预测的编码方法、装置、设备及可读存储介质 | |
WO2018120420A1 (zh) | 一种基于模板匹配的预测方法及装置 | |
CN114302137B (zh) | 用于视频的时域滤波方法、装置、存储介质及电子设备 | |
CN113079372B (zh) | 帧间预测的编码方法、装置、设备及可读存储介质 | |
CN111770339B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN109040753B (zh) | 预测模式选择方法、装置及存储介质 | |
CN110062226B (zh) | 一种视频编码方法、视频解码方法、装置、***及介质 | |
CN114268797B (zh) | 用于视频的时域滤波的方法、装置、存储介质及电子设备 | |
CN113038124B (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN112218071B (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN114422782B (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN112437304B (zh) | 视频解码方法、编码方法、装置、设备及可读存储介质 | |
CN113938689B (zh) | 量化参数确定方法和装置 | |
CN110062225B (zh) | 一种图片滤波的方法及装置 | |
CN115811615A (zh) | 屏幕视频的编码方法、装置、计算机设备及存储介质 | |
CN117768650A (zh) | 图像块的色度预测方法、装置、电子设备及存储介质 | |
CN111641831A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40048292 Country of ref document: HK |