CN116389769A - 视频处理方法和设备 - Google Patents
视频处理方法和设备 Download PDFInfo
- Publication number
- CN116389769A CN116389769A CN202310506399.XA CN202310506399A CN116389769A CN 116389769 A CN116389769 A CN 116389769A CN 202310506399 A CN202310506399 A CN 202310506399A CN 116389769 A CN116389769 A CN 116389769A
- Authority
- CN
- China
- Prior art keywords
- motion information
- list
- image block
- candidate list
- motion
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 230000033001 locomotion Effects 0.000 claims abstract description 1716
- 238000000034 method Methods 0.000 claims abstract description 198
- 239000013598 vector Substances 0.000 claims description 226
- 238000012545 processing Methods 0.000 claims description 221
- 230000002123 temporal effect Effects 0.000 claims description 21
- 230000002457 bidirectional effect Effects 0.000 claims 11
- 230000009977 dual effect Effects 0.000 description 175
- 238000006243 chemical reaction Methods 0.000 description 64
- 238000010586 diagram Methods 0.000 description 25
- 238000010276 construction Methods 0.000 description 24
- 230000015654 memory Effects 0.000 description 15
- 238000005192 partition Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 14
- 238000012935 Averaging Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 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/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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/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/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/124—Quantisation
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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
-
- 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/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
-
- 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例提供一种视频处理方法和设备,提供了一种有效的在Merge模式下的视频处理方法。该方法包括:为当前帧的第一图像块,构建第一运动信息候选列表;从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息,其中,所述第一运动信息候选列表包括至少一个双运动信息;基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
Description
技术领域
本申请涉及图像处理领域,并且更为具体地,涉及一种视频处理方法和设备。
背景技术
预测是主流视频编码框架的重要模块,预测可以包括帧内预测和帧间预测。帧间预测模式可以包括高级运动矢量预测(Advanced Motion Vector Prediction,AMVP)模式和合并(Merge)模式。
如何在Merge模式下进行有效的编解码是一项亟待解决的问题。
发明内容
本申请实施例提供一种视频处理方法和设备,可以在Merge模式下进行有效的编解码。
第一方面,提供了一种视频处理方法,包括:为当前帧的第一图像块,构建第一运动信息候选列表;从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息,其中,所述第一运动信息候选列表包括至少一个双运动信息;基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
在本申请实施例中,为当前帧的第一图像块,构建第一运动信息候选列表;从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息,所述第一运动信息候选列表包括至少一个双运动信息;基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码,可以实现在Merge模式下的有效的编解码。
第二方面,提供了一种视频处理方法,包括:在为当前帧的第一图像块构建第一运动信息候选列表时,将待加入的运动信息中的至少一个目标双运动信息中的每个目标双运动信息调整为一个目标单运动信息,以用于构建所述第一运动信息候选列表;从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
在本申请实施例中,在构建运动信息候选列表时,如果加入该运动信息候选列表中的运动信息是双运动信息,可以将该双运动信息调整为一个单运动信息,可以减少从第一运动信息候选列表中为子图像块选择双运动信息的机率,从而可以尽量避免从运动信息候选列表中选择双运动信息进行编码或解码所带来的计算复杂度的问题。
第三方面,提供了一种视频处理方法,包括:为当前帧的第一图像块,构建第一运动信息候选列表,所述第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同;其中,所述第二运动信息候选列表用于作为一整体的图像块的运动信息的选择;从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
在本申请实施例中,本申请实施例中的第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同,可以实现用于构建第一运动信息候选列表的硬件与用于构建第二运动信息候选列表的硬件的至少部分兼容,从而可以简化硬件结构。
第四方面,提供了一种视频处理设备,包括:构建单元,用于为当前帧的第一图像块,构建第一运动信息候选列表;选择单元,用于从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;调整单元,用于在所述子图像块对应选择的运动信息为第一双运动信息时,将所述第一双运动信息调整为一个第一单运动信息,以作为所述子图像块的运动信息;编码或解码单元,用于基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
在本申请实施例中,为当前帧的第一图像块,构建第一运动信息候选列表;从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息,所述第一运动信息候选列表包括至少一个双运动信息;基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码,可以实现在Merge模式下的有效的编解码。
第五方面,提供了一种视频处理设备,包括:构建单元,用于在为当前帧的第一图像块构建第一运动信息候选列表;调整单元,用于在所述构建单元构建所述第一运动信息候选列表时,将待加入的运动信息中的至少一个目标双运动信息中的每个目标双运动信息调整为一个目标单运动信息,以用于构建所述第一运动信息候选列表;选择单元,用于从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;编码或解码单元,用于基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
在本申请实施例中,在构建运动信息候选列表时,如果加入该运动信息候选列表中的运动信息是双运动信息,可以将该双运动信息调整为一个单运动信息,可以减少从第一运动信息候选列表中为子图像块选择双运动信息的机率,从而可以尽量避免从运动信息候选列表中选择双运动信息进行编码或解码所带来的计算复杂度的问题。
第六方面,提供了一种视频处理设备,包括:构建单元,用于为当前帧的第一图像块,构建第一运动信息候选列表,所述第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同;其中,所述第二运动信息候选列表用于作为一整体的图像块的运动信息的选择;选择单元,用于从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;编码或解码单元,用于基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
在本申请实施例中,本申请实施例中的第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同,可以实现用于构建第一运动信息候选列表的硬件与用于构建第二运动信息候选列表的硬件的至少部分兼容,从而可以简化硬件结构。
第七方面,提供了一种视频处理设备,包括处理器和存储器,所述存储器可以存储程序代码,所述处理器用于调用所述程序代码执行第一方面、第二方面或第三方面中的方法。
第八方面,提供了一种计算机可读存储介质,用于存储程序代码,所述程序代码用于执行第一方面、第二方面或第三方面中的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是应用本申请实施例的技术方案的架构图;
图2是本申请实施例中的视频编码过程的示意性图;
图3是根据本申请实施例的视频处理方法的示意性流程图;
图4是本申请实施例中三角形预测方式的划分方式的示意性图;
图5是本申请实施例中MV缩放技术示意性图;
图6是本申请实施例中的Merge模式MV候选快的示意性图;
图7是本发明实施例提供的像素插值的示意图;
图8是现有技术提供的一种三角形预测的处理编码单元的示意图;
图9是现有技术提供的另一种三角形预测的处理编码单元的示意图;
图10是根据本申请实施例的视频处理方法的另一示意性流程图;
图11是根据本申请实施例的视频处理方法的再一示意性流程图;
图12是根据本申请实施例的视频处理设备的示意性框图;
图13是根据本申请实施例的视频处理设备的另一示意性框图;
图14是根据本申请实施例的视频处理设备的另一示意性框图;
图15是根据本申请实施例的视频处理设备的另一示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。
图1是应用本申请实施例的技术方案的架构图。
如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后的数据108。例如,系统100可以接收待编码数据,对待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机)中的处理器。该处理器可以为任意种类的处理器,本发明实施例对此不做限定。在一些可能的设计中,该处理器可以包括编码器、解码器或编解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本发明实施例的技术方案的计算机可执行指令、待处理数据102、处理后的数据108等。该存储器可以为任意种类的存储器,本发明实施例对此也不做限定。
待编码数据可以包括文本、图像、图形对象、动画序列、音频、视频、或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风、近场传感器(例如,超声波传感器、雷达)、位置传感器、温度传感器、触摸传感器等。在一些情况下,待编码数据可以包括来自用户的信息,例如,生物信息,该生物信息可以包括面部特征、指纹扫描、视网膜扫描、嗓音记录、DNA采样等。
图2是根据本申请实施例的一种编码器的框架图。以下将结合图2分别介绍帧间编码和帧内编码的流程。
如图2所示,帧间编码和解码的流程可以如下所示:
在201中,获取当前帧图像。在202中,获取参考帧图像。在203a中,利用参考帧图像,进行运动估计,以得到当前帧图像的各个图像块的运动矢量(Motion Vector,MV)。在204a中,利用运动估计得到的运动矢量,进行运动补偿,以得到当前图像块的估计值。在205中,将当前图像块的估计值与当前图像块相减,得到残差。在206中,对残差进行变换,以得到变换系数。在207中,变换系数经量化可得到量化后的系数。在208中,将量化后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信息进行存储或发送到解码端。在209中,对量化的结果进行反量化。在210中,对反量化结果进行反变换。在211中,利用反变换结果以及运动补偿结果,得到重建像素。在212中,对重建像素进行滤波。在213中,输出滤波后的重建像素。
如图2所示,帧内编码和解码的流程可以如下所示:
在202中,获取当前帧图像。在203b中,对当前帧图像进行帧内预测选择。在204b中,当前帧中的当前图像块进行帧内预测。在205中,将当前图像块的估计值与当前图像块相减,得到残差。在206中,对图像块的残差进行变换,以得到变换系数。在207中,变换系数经量化可得到量化后的系数。在208中,将量化后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信进行存储或发送到解码端。在209中,对量化结果进行反量化。在210中,对反量化结果进行反变换,在211中,利用反变换结果以及帧内预测结果,得到重建像素。
如图2所示,在编码过程中,为了去除冗余,可以对图像进行预测。视频中不同的图像可采用不同的预测方式。根据图像所采用的预测方式,可以将图像区分为帧内预测图像和帧间预测图像。帧间预测模式可以包括AMVP模式和Merge模式。
对于AMVP模式而言,可以先确定运动矢量预测(motion vector prediction,MVP),在得到MVP之后,可以根据MVP确定运动估计的起始点,在起始点附近,进行运动搜索,搜索完毕之后得到最优的MV,由MV确定参考块在参考图像中的位置,参考块减去当前块得到残差块,MV减去MVP得到运动矢量差值(Motion Vector Difference,MVD),并将该MVD通过码流传输给解码端。
对于Merge模式而言,可以先确定MVP,并直接将MVP确定为MV,其中,为了得到MVP,可以先构建一个MVP候选列表(merge candidate list),在MVP候选列表中,可以包括至少一个候选MVP,每个候选MVP可以对应有一个索引,编码端在从MVP候选列表中选择MVP之后,可以将该MVP索引写入到码流中,则解码端可以按照该索引从MVP候选列表中找到该索引对应的MVP,以实现对图像块的解码。
为了更加清楚地理解Merge模式,以下将介绍采用Merge模式进行编码的操作流程。
步骤一、获取MVP候选列表;
步骤二、从MVP候选列表中选出最优的一个MVP,同时得到该MVP在MVP候选列表中的索引;
步骤三、把该MVP作为当前块的MV;
步骤四、根据MV确定参考块(也可以称为预测块)在参考帧图像中的位置;
步骤五、参考块减去当前块得到残差数据;
步骤六、把残差数据和MVP的索引传给解码端。
应理解,以上流程只是Merge模式的一种具体实现方式。Merge模式还可以具有其他的实现方式。
例如,Skip模式是Merge模式的一种特例。按照Merge模式得到MV之后,如果编码端确定当前块和参考块基本一样,那么不需要传输残差数据,只需要传递MV的索引,以及进一步地可以传递一个标志,该标志可以表明当前块可以直接从参考块得到。
也就是说,Merge模式特点为:MV=MVP(MVD=0);而Skip模式还多一个特点,即:重构值rec=预测值pred(残差值resi=0)。
Merge模式可以应用于三角形预测技术中。在三角形预测技术中,可以将待编码的图像块划分为两个形状为三角形的子图像块,可以从运动信息候选列表中,分别为每个子图像块确定运动矢量,并基于每个子图像块的运动矢量,确定每个子图像块对应的预测子块,基于每个子图像块对应的预测子块,构造当前图像块的预测块,从而实现对当前图像块的编码。
运动矢量候选列表包括的运动矢量有可能是双运动矢量(一个双运动矢量包括两个单运动矢量),如果当前图像块划分为多个子图像块,如为两个形状为三角形的子图像块分别选择的运动矢量均为双运动矢量,可能带来计算复杂度高的问题。例如,以当前图像块为方形图像块,该方形图像块划分为两个三角形的子图像块后,若子图像块1的双运动矢量包括运动矢量1和运动矢量2,子图像块2的双运动矢量包括运动矢量3和运动矢量4,则对于子图像块1的运动补偿过程,需要获取运动矢量1指向的方形预测块和运动矢量2指向的方形预测块,来得到子图像块1最终的预测块;对于子图像块2的运动补偿过程,需要获取运动矢量3指向的方形预测块和运动矢量4指向的方形预测块,来得到子图像块2最终的预测块。然后把子图像1和子图像2最终的预测块进行拼接,以得到子图像块1和子图像块2组成的方形图像块的预测块。因此,整个当前图像块的运动补偿过程,需要用到四个预测块,则带来了带宽利用率低、计算复杂度较高的问题。
基于此,在将当前图像块划分为多个子图像块时,可以期望运动矢量候选列表中的运动矢量均是单运动矢量,由此针对各个子图像块,可以分别得到一个预测块,则在整个当前图像块的运动补偿过程,可以只用到两个预测块(该两个预测块可以来自于不同的方形预测块),以避免以上提到的计算复杂度较高的问题。其中,针对将当前图像块划分为具有三角形形状的子图像块而言,可以通过以下方式实现运动矢量候选列表中的运动矢量是单运动矢量。
首先将当前图像块的空域相邻块和时域相邻块的MV组成一个候选列表a。
由于这些相邻块MV的可能是双MV,因此需要对这些MV进行处理,保证其为单MV以供两个形状三角形的子图像块选择,此处假设最终得到的MV列表为另一候选列表b,处理规则可以如下:
1、将所有候选列表a中的单MV,按照顺序逐个放入候选列表b中;
2、将候选列表a中双预测列表0(List0)中的MV按照顺序逐个放入候选列表b;
3、将候选列表a中双预测列表1(List1)中的MV按照顺序逐个放入候选列表b;
4、将候选列表a中双预测列表0和预测列表1中的两个MV的平均值逐个放入候选列表b中。
编码端可以从候选列表中分别为子图像块选择一个MV,并将选择的MV所在候选列表b中的索引值以及三角形的划分方式分别传送到解码端,或者,也可以选择的MV所在候选列表b中的索引值生成一个组合索引,将该组合索引传送到解码端,组合索引可以进一步赋予有三角形的划分方式。其中,可以理解,由于用于运动补偿过程中的最终确定的运动信息候选列表的构建方式不同,则基于该构建方式的不同,同一个图像块选择的MV可以从不同的运动信息候选列表中获取,从而在确定选择的MV对应的索引值时,可以依据最终确定的运动信息候选列表。
当然,可以理解,对于图像块划分为多个具有其它形状的子图像块的情形,也可以采用上述方式构建最终用于运动补偿的运动信息候选列表,上述只是针对将图像块划分为具有三角形形状的子图像块的情况进行运动信息候选列表的构建的示例性说明。
然而,这种运动矢量候选列表的构建方式需要对所有候选的MV进行遍历以及对双MV进行从双MV到单MV的重组(也即一个双MV变为两个单MV),并判断重组后的MV是否重复,并需要将判断之后的且未重复的MV加入到候选列表b中,同时,一个双MV的两个单MV都有可能加入到候选列表b中,则使得图像块的编解码的处理复杂度较高。
应理解,以上的方案可以用于但不限于采用三角形预测技术的视频编码或解码过程中,对于在运动信息候选列表中具有双运动信息的视频编解码过程中都可以适应性地适用。
图3是根据本申请实施例的视频处理的方法300的示意性流程图。该方法300可以由处理设备实现。该处理设备可以用于编码端或解码端,具体可以为编码器或解码器。该方法300包括以下内容中的至少部分内容。
在310中,处理设备为当前帧的第一图像块,构建第一运动信息候选列表,该第一运动信息候选列表包括至少一个双运动信息。
可选地,在对图像进行编码时,图像可以被分成多个图像块。举例而言,该图像可以被分成一个m×n的图像块阵列。图像块可以具有矩形形状、正方形形状、圆形形状或任何其他形状。图像块可以具有任何尺寸,如p×q像素。可以通过首先将该图像分成多个小块来对不同分辨率的图像进行编码。每个图像块都可以具有相同尺寸和/或形状。替代地,两个或更多图像块可以具有不同的尺寸和/或形状。在图像被分成多个图像块之后,可以分别对图像数据中的这些图像块进行编码。
可选地,第一运动信息候选列表可以包括至少一个候选运动信息。第一运动信息候选列表中包括的候选运动信息的数量可以是预设值。例如,处理设备可以将待加入的运动信息依次加入到运动信息候选列表中,直到第一运动信息候选列表中包括的运动信息的数量达到预设值。
本申请实施例中提到的运动信息候选列表(例如,第一运动信息候选列表和第二运动信息候选列表)可以是图像块的候选运动信息的集合,该运动信息候选列表中的各候选运动信息可以存储在同一个缓冲区(buffer)中,也可以存储在不同的缓冲区中,在此不做限制。运动信息在运动信息候选列表中的索引,可以是运动信息在当前块的候选运动信息的集合中的索引。
例如,候选运动信息的集合包括5个候选运动信息,该5个候选运动信息在运动信息候选列表的索引可以分别为0,1,2,3,4。
本申请实施例中所提到的运动信息可以包括运动矢量,或者包括运动矢量和参考帧信息(例如,参考帧索引)等。
在320中,从所述第一运动信息候选列表中,处理设备为所述第一图像块包括的至少一个子图像块分别选择运动信息。
可选地,在本申请实施例中,第一图像块可以由一个子图像块组成,也可以由多个(例如,2个)子图像块组成。在该第一图像块由一个子图像块组成时,该一个子图像块可以理解为该第一图像块本身。
可选地,在本申请实施例中,在第一图像块为四边形时,可以沿着该四边形的对角线划分,得到两个三角形的子图像块。
例如,如图4所示的左侧图形所示,可以从四边形的左上角到右下角的方式进行划分得到两个PU,即PU1和PU2,或者,如图4所示的右侧图形所示,也可以从四边形的左下角到右上角的方式进行划分得到PU1和PU2。
或者,在第一图像块为四边形时,可以将该四边形划分为多于两个的三角形,或者至少两个的四边形等。
例如,在第一图像块为矩形时,从图像块的中心按照与第一图像块的一边平行的方式对第一图像块进行切分,切分为两个矩形或正方形,或从第一图像块的中心按照与第一图像块的一边非平行的方式对CU切分,切分为两个梯形,本申请对此不作具体限定。
例如,可以先对第一图像块沿着对角线从左上到右下进行划分,再从第一图像块的中心按照与第一图像块的一边平行的方式对第一图像块进行划分,可以得到四个子图像块。
应理解,上述举例中,第一图像块可以为四边形,但是本申请实施例并不限于此,本申请实施例中的第一图像块可以是除四边形之外的任何形状。
可选地,在本申请实施例中,对于当前帧中的各个图像块进行划分,可以是基于相同的划分方式,例如,均为三角形的划分方式;也可以是基于不同的划分方式,例如,对一个图像块采用三角形的划分方式进行划分,对于另一个图像块采用矩形的划分方式(也即划分为多个矩形)进行,例如,对一个图像块采用三角形的划分方式进行划分,对于另一个图像块不进行划分,本申请对此不作具体限定。
可选地,在本申请实施例中,对于不同的图像块,各个图像块包括的子图像块的数量可以相同,也可以不相同,本申请对此不作具体限定。
本申请实施例中的双运动信息可以指包括两个单运动信息的运动信息。单运动信息为前向运动信息或后向运动信息,其中,前向运动信息是指对应的参考帧是当前帧的前向帧,后向运动信息是指对应的参考帧是当前帧的后向帧。
双运动信息包括的两个单运动信息可以都是前向运动信息,也可以都是后向运动信息,还可以是一个前向运动信息和一个后向运动信息,本申请对此不作具体限定。
在330中,基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
在本申请实施例中,由于在构建第一运动信息候选列表时,有可能包括双运动信息,然而正如上文所述,如果子图像块的运动信息为双运动信息,则会导致后续的编解码的复杂度较高的问题。因此,在对第一图像块的子图像块选择运动信息时,如果选择了双运动信息,可以按照预设规则对所述第一双运动信息进行处理,以用于所述第一图像块的编码或解码。
在一种实现方式中,处理设备可以将该双运动信息调整为一个单运动信息,利用单运动信息对第一图像块进行编码或解码。
可选地,在本申请实施例中,如果第一图像块由一个子图像块组成,则可以将该子图像的运动信息指向的图像块作为第一图像块的预测块,基于该预测块与第一图像块获取残差数据,并将残差数据写入到编码码流中。
相应地,对于解码端而言,可以从解码码流中,获取残差数据,以及将该子图像的运动信息指向的图像块作为第一图像块的预测块,则可以基于该残差数据以及该预测块,对当前第一图像块进行解码。
可选地,在本申请实施例中,如果第一图像块由多个子图像块组成,每个子图像块分别对应一个预测子块,多个子图像块对应的多个预测子块可以组成一个预测块。其中,各个预测子块在预测块的位置可以相当于对应的子图像块在第一图像块中的位置,基于该预测块与第一图像块获取残差数据,并将残差数据写入到编码码流中。
相应地,对于解码端而言,可以从解码码流中,获取残差数据,以及将多个子图像块的运动信息指向的多个预测子块,组成预测块,则可以基于该残差数据以及该预测块,对当前第一图像块进行解码。
可选地,在本申请实施例中,对于编码端而言,可以将从第一运动信息候选列表中为各个子图像块选择的运动信息的索引分别写入到编码码流中。其中,该运动信息的索引可以是该运动信息候选列表中的索引。以及进一步地,编码端还可以将第一图像块的划分方式写入到编码码流中。
而对于解码端而言,可以解码码流中,分别获取各个子图像块对应的运动信息的索引,并按照运动信息的索引,从第一运动信息候选列表中,为各个子图像块选择运动信息,如果选择的运动信息是第一双运动信息,则需要将该第一双运动信息调整为一个第一单运动信息。以及进一步地,解码端还可以从解码码流中获取第一图像块的划分方式,基于该第一图像块的划分方式,对各个子图像对应的预测子块组成预测块。
或者,在本申请实施例中,编码端可以根据从第一运动信息候选列表中为各个子图像块选择的运动信息的索引,得到一个数值(也称为组合的索引的数值),将该数值传送到解码端,也即由一个数值表征多个子图像块的运动信息的索引。可选地,可以对该数值进一步赋予子图像块的划分方式的含义。
其中,编码端可以根据各个子图像块的运动信息的索引以及子图像块的划分方式,从数值列表中选择该数值。
例如,假设运动矢量候选列表中存在5个候选运动矢量,将当前CU划分为三角形的划分方式可以为从左上角到右下角的划分方式(也就是135度的划分方向),以及从左下划分到右上的划分方向(也就是45度的划分方向)两种划分方式,当前CU划分后可以得到两个PU,即PU0和PU1。
对于从左上划分到右下的划分方向,也就是135度的划分方向,如果PU0使用索引为1的候选运动矢量,PU1使用索引为0的候选运动矢量,该组合的索引的数值为0;
对于从左下划分到右上的划分方向,也就是45度的划分方向,如果PU0使用索引为0的候选运动矢量,PU1使用索引为1的候选运动矢量,该组合的索引的数值为1;
对于从左下划分到右上的划分方向,也就是45度的划分方向,如果PU0使用索引为0的候选运动矢量,PU1使用索引为2的候选运动矢量,该组合的索引的数值为2;
对于从左上划分到右下的划分方向,也就是135度的划分方向,如果PU0使用索引为0的候选运动矢量,PU1使用索引为1的候选运动矢量,该组合的索引的数值为3;
以此类推,组合的索引可以是0至39的数值,这是由于存在5个候选运动矢量,如果每个PU分别可以选择其中5个候选运动矢量中的任一个,则两个PU选择候选运动矢量的选择方式可以5x5=25个,如果需要避免PU1和PU2选择相同的运动矢量,则需要将25个选择方式减去PU0和PU1使用相同MV的五种情况,也就是20种选择方式,再考虑两种不同的三角形划分方向,就是40种情况,也即组合的索引可以是从0至39的数值。
本申请实施例中提到的第一双运动信息可以为任意的双运动信息。也即,只要从第一运动信息候选列表中为子图像块选择了双运动信息,均需要将该双运动信息调整为一个单运动信息。
或者,该第一双运动信息可以是特定的双运动信息。也即,只有从第一运动信息候选列表中为子图像块选择的运动信息是特定的双运动信息,才需将该双运动信息调整为一个单运动信息。
可选地,在本申请实施例中,可以是针对任一子图像块选择了双运动信息,均进行从双运动信息向单运动信息的调整。
或者,也可以是针对特定子图像块选择了双运动信息,才进行从双运动信息向单运动信息的调整。
可选地,在本申请实施例中,可以是任意图像块的子图像块选择了双运动信息,均进行从双运动信息向单运动信息的调整。
或者,也可以是针对特定图像块的子图像块选择了双运动信息,才进行从双运动信息向单运动信息的调整。
可选地,在本申请实施例中,将第一双运动信息调整为一个单运动信息的方式可以存在多种实现方式。
在一种实现方式中,处理设备可以从该第一双运动信息中选择一个单运动信息作为第一单运动信息。
在本申请实施例中,一个双运动信息包括的一个单运动信息可以属于一个列表(本申请实施例中提到的第一列表),包括的另一个单运动信息可以属于另一个列表(本申请实施例中提到的第二列表)。
本申请实施例中的第一列表可以是上述提到的列表0,第二列表可以是上述提到的列表1。列表0和列表1中均可以包含前向或后向已编码的参考图像块对应的运动信息。当然,本申请实施例中的第一列表以及第二列表也可以不为列表0和列表1,第一列表和第二列表可以示意性表示一个双运动信息中的两个单运动信息可以分别来自于第一列表或第二列表,同时,第一列表和第二列表可以为依据其它逻辑或方法等设计的列表,其可以存储于缓冲区中,也可以为逻辑意义上的列表。
例如,如表1所示,当前图像块(编号为100)有三个前向参考图像块和三个后向参考图像块共六个参考图像块,该六个参考图像块按照自然图像的顺序标号(也即自然编号)为97、98、99、100、101、102、103。这些参考图像块在列表0和列表1中的索引不同,在列表0中,最靠近当前参考图像块的前面的一个参考图像块标志为索引0,再前一个参考图像块为索引1,前向参考图像块之后是按照顺序的后向参考图像块,则图像块97、98、99、100、101、102、103的索引可以依次为2,1,0,3,4,5;在列表1中,最靠近当前参考图像块的后一个参考图像块标志为索引0,再后一参考图像块为索引1,后向参考图像块排完之后再排前向参考图像块则图像块97、98、99、100、101、102、103的索引可以依次为5,4,3,0,1,2。
表1
自然编号 | 97 | 98 | 99 | 100 | 101 | 102 | 103 |
列表0索引号 | 2 | 1 | 0 | 3 | 4 | 5 | |
列表1索引号 | 5 | 4 | 3 | 0 | 1 | 2 |
可选地,处理设备可以根据预设规则,从所述第一双运动信息中选择一个运动信息,作为所述第一单运动信息。其中,所述预设规则用于指示从所述第一双运动信息中选择设于特定列表的单运动信息,所述特定列表为第二列表或第一列表。
具体地,可以在处理设备上预设有预设规则,该预设规则可以指示选择属于第一列表的单运动信息还是选择属于第二列表的单运动信息,从而处理设备可以基于该预设规则,从该第一双运动信息中进行单运动信息的选择。
或者,本申请实施例中,也可以采用算法的方式,从第一双运动信息中选择一个运动信息作为第一单运动信息。
例如,可以将第一双运动信息中的两个单运动信息对应的预测子块,分别与当前子图像块进行匹配,选择较优的匹配结果对应的预测子块对应的单运动信息作为第一单运动信息。
可选地,在本申请实施例中,为所述第一双运动信息选择所述第一单运动信息的选择方式是可更新的。
具体地,对于不同的图像块,为其包括的子图像块选择单运动信息的选择方式可以是不同的。
例如,针对当前图像块的前一个图像块,采用上述提到的预设规则的方式对其包括的各个子图像块进行单运动信息的选择,而对当前图像块,可以采用上述提到的算法的方式对其包括的各个子图像块进行单运动信息的选择。
或者,对于同一图像块的不同子图像块,从双运动信息中选择单运动信息的选择方式可以是不同的
例如,针对当前子图像块的前一个子图像块(该前一个子图像块与当前子图像块属于同一图像块),采用上述提到的预设规则的方式对其进行单运动信息的选择,而对当前子图像块,可以采用上述提到的算法的方式对其进行单运动信息的选择。
当然,在本申请实施例中,不同的图像块或不同的子图像块,所对应的进行单运动信息选择的方式可以是相同的。
在本申请实施例中,如果从第一双运动信息选择了一个第一单运动信息,对于编码端而言,可以将所述第一单运动信息的第一标识写入到编码码流中。
而相应地,对于解码端而言,可以从解码码流中,获取第一单运动信息的第一标识,从而可以按照该第一标识,从第一双运动信息中选择出一个单运动信息作为第一单运动信息。
例如,假设第一双运动信息包括的单运动信息的标识分别为0和1,如果编码端选择了标识为0的单运动信息作为第一单运动信息,则可以将标识0写入到码流中,而解码端可以从解码码流中获取该标识0,从而解码端可以将第一双运动信息中标识为0的运动信息,确定为第一单运动信息。
对于编码端将第一标识写入到编码码流的情况下,编码端可以是基于算法的方式选择该第一单运动信息,则对于解码端而言,可以无需再次通过算法实现从第一双运动信息中选择第一单运动信息。
而如果编码端是通过上述提到的预设规则的方式从第一双运动信息选择第一单运动信息的,则解码端也可以通过相同的预设规则从第一双运动信息中选择第一单运动信息。
当然,即使编码端是通过上述提到的预设规则的方式从第一双运动信息选择第一单运动信息的,编码端仍可以将该第一单运动信息的标识写入到编码码流中,供解码端按照该第一标识,从第一双运动信息中选择出一个单运动信息作为第一单运动信息。
在本申请实施例中,除了可以通过从第一双运动信息中选择一个单运动信息的方式得到第一单运动信息之外,还可以通过对第一双运动信息进行合并处理,以得到第一单运动信息。
在本申请实施例中,由于双运动信息中包括的两个运动信息有可能属于不同的参考帧,在将所述第一双运动信息进行合并处理之前,可以将所述第一双运动信息中的其中一个运动信息基于另一个运动信息进行缩放。其中,合并处理后的运动信息的参考帧可以是该另一个运动信息所指向的参考帧。
具体的缩放过程可以如图5所示,帧0代表当前帧,帧1代表运动信息1(可以为MV1)所指向的参考帧,帧2代表另一个运动信息2(可以为MV2)所指向的参考帧,图像子块0代表当前子图像块,图像子块1代表运动信息1指向的预测子块1,图像子块2代表另一个运动信息2指向的预测子块2,如果将运动信息1基于运动信息2进行缩放,则将该运动信息1缩放到虚线的位置。
假设运动信息为MV,则缩放后的MV1=缩放前的MV1*a/b,其中,a是帧2与帧0之间的时域距离,b是帧1与帧0之间的时域距离。
本申请实施例中提到的合并处理可以是加权处理,也可以是平均处理。
可选地,在本申请实施例中,在合并处理为加权处理时,处理设备可以确定所述第一双运动信息中的各个运动信息的权重,以用于基于所述权重对所述第一双运动信息中的运动信息进行所述加权处理;
其中,所述第一双运动信息中的各个运动信息的权重的影响因素包括以下中的至少一种:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表的已加入的运动信息属于第二列表的运动信息的大小和/或数量。
在一种实现方式中,第一图像块的大小可以包括第一图像块的宽和高,处理设备可以根据第一图像块的宽和高来确定第一双运动信息中各个运动信息的权重。具体可以根据宽和高的绝对数值,和/或,宽和高两者之间的比值,来确定各个运动信息的权重。
例如,如果第一图像块的宽和高均大于32个像素,则第一双运动信息中属于列表0的运动信息的权重:第一双运动信息中属于运动列表1的运动信息的权重=2:1。如果第一图像块的宽和高均大于16个像素而小于等于32个像素,则第一双运动信息中属于列表0的运动信息的权重:第一双运动信息中属于运动列表1的运动信息的权重=1:1。而对于其他的情况,则第一双运动信息中属于列表0的运动信息的权重:第一双运动信息中属于运动列表1的运动信息的权重=1:2。
例如,第一双运动信息中属于列表0的运动信息的权重:第一双运动信息中属于运动列表1的运动信息的权重=第一图像块的宽度:第一图像块的高度。
在另一种实现方式中,处理设备可以通过第一图像块和/或其临近区域的像素值,计算第一图像块和/或其邻近区域在水平、垂直、45度(与水平方向成45度夹角)、135度(与水平方向呈135度夹角)方向中的任一方向的一阶或二阶梯度,由梯度方向确定纹理方向。然后对第一双运动信息(例如,双MV)中更加接近这个纹理方向的运动信息(单MV)分配更高的权重。其中,此处提到的第一图像块的临近区域可以是第一图像块周边的区域(与第一图像块相邻和/或与第一图像块之间间隔预设区域),例如,假设第一图像块是四边形,则该临近区域可以是至少一个周围的区域,临近区域的大小可以是预设在处理设备上的,也可以是通过其他方式得到的。
在另一种实现方式中,处理设备可以根据所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的数量与属于第二列表的运动信息的比值,确定第一双运动信息包括的各运动信息的权重。
例如,第一运动信息候选列表中已加入的运动信息属于列表0的MV的数量:第一运动信息候选列表中已加入的运动信息属于列表1的MV的数量=第一双运动信息中属于列表0的运动信息的权重:第一双运动信息中属于运动列表1的运动信息的权重。
以上分别介绍了将第一双运动信息调整为一个第一单运动信息的多种实现方式,但是应理解,本申请实施例还可以通过其他实现方式,实现将第一双运动信息调整为一个第一单运动信息,本申请实施例对此不做具体限定。该多种实现方式中采用哪种实现方式可以是预设到处理处理设备上。
例如,处理设备上预设:采用从第一个双运动信息选择一个单运动信息的方式将一个双运动信息调整为一个单运动信息。
其中,是采用预设规则的方式从第一双运动信息中选择一个单运动信息,还是采用计算的方式从第一双运动信息中选择一个单运动信息也可以是预设在处理设备上的,也可以通过其他方式得到的。
例如,处理设备上预设:采用将第一双运动信息合并处理为一个单运动信息的方式将一个双运动信息调整为一个单运动信息。
其中,是采用平均处理的方式还是合并处理的方式可以是预设在处理设备上的,也可以是通过其他方式得到的。
例如,处理设备上预设:采用将第一双运动信息平均处理为一个单运动信息的方式将一个双运动信息调整为一个单运动信息。
其中,在采用平均处理时,是将属于列表0的运动信息基于列表1进行缩放还是将列表1的运动信息基于列表0进行缩放可以是预设在处理设备上的,也可以是通过其他方式得到的。
例如,处理设备上预设:采用将第一双运动信息加权处理为一个单运动信息的方式将一个双运动信息调整为一个单运动信息。
其中,在采用加权处理时,是将属于列表0的运动信息基于列表1进行缩放还是将列表1的运动信息基于列表0进行缩放可以是预设在处理设备上的,也可以是通过其他方式得到的。
或者,在本申请实施例中,可以基于以下因素从多种第一方法中确定将第一双运动信息调整为第一单运动信息的第一调整方法:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表的已加入的运动信息中属于第二列表的运动信息的大小和/或数量。
其中,该多个第一方法可以包括以下方法中的至少一种:
1a)将所述第一双运动信息中属于第一列表的运动信息确定为所述第一单运动信息;
2a)将所述第一双运动信息中属于第二列表的运动信息确定为所述第一单运动信息;
3a)将所述第一双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行加权处理,以得到所述第一单运动信息;
4a)将所述第一双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行加权处理,以得到所述第一单运动信息;
5a)将所述第一双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行平均处理,以得到所述第一单运动信息;
6a)将所述第一双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行平均处理,以得到所述第一单运动信息。
在一种实现方式中,第一图像块的大小可以包括第一图像块的宽和高,处理设备可以根据第一图像块的宽和高来确定使用上述方法1a)-6a)中的哪个方法。具体可以根据宽和高的绝对数值,和/或,宽和高两者之间的比值,来确定使用上述方法1a)-6a)中的哪个方法。
例如,如果第一图像块的宽和高均大于32个像素,可以采用方法1a):如果第一图像块的宽和高均小于或等于16个像素,可以采用方法2a),其他情况可以采用方法3a)-6a)。
例如,如果第一图像块的宽度:第一图像块的高度大于1,则采用可以采用方法1a),小于1采用方法2a),等于1,则采用方法3a)-6a)。
在另一种实现方式中,处理设备可以通过第一图像块和/或其临近区域的像素值,计算第一图像块和/或其邻近区域在水平,垂直,45,135方向的一阶或二阶梯度,由梯度方向确定纹理方向。如果纹理方向更接近属于第一双运动信息中属于第一列表中的运动信息,则采用方法1a),如果纹理方向更接近属于第一双运动信息中属于第二列表中的运动信息,则采用方法2a)。
在另一种实现方式中,处理设备可以根据所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的数量与属于第二列表的运动信息的比值,确定第一双运动信息包括的各运动信息的权重。
例如,如果属于第一列表的运动信息的数量多,则采用方法1a),属于第一列表的运动信息的数量少,则采用方法2a),如果数量一样多,则采用方法3a)-6a)。
或者,该多个第一方法可以包括以下方法中的至少一种:
1A)从第一双运动信息中选择一个单运动信息作为第一单运动信息;
1B)将第一双运动信息进行合并处理,得到第一单运动信息。
如果基于以上提到的因素选择方法1A)作为第一调整方法,则从第一双运动信息选择一个单运动信息的实现方式可以是预设在处理设备上的,也可以是基于其他的因素确定的。
同样地,如果基于以上提到的因素选择方法1B)作为第一调整方法,则对第一运动信息进行合并处理的实现方式可以是预设在处理设备上的,也可以是基于其他的因素确定的。
应理解,方法1A)和/或方法1B)中还可以分别包括多种具体的实现方法,例如,方法1A)可以包括如上述针对第一双运动信息说明的1a)至2a),方法1B)可以包括如上述针对第一双运动信息说明的3a)至6a),处理设备可以选择方法1A)和/或方法1B),可以理解为选择方法1A)和/或方法1B)中包括的具体的实现方法。
可选地,在本申请实施例中,对于当前帧的不同图像块,可以采用上述第一方法中相同的方法来实现从双运动信息到单运动信息的调整。或者,对于当前帧的不同图像块,可以采用上述第一方法中相同的方法来实现从双运动信息到单运动信息的调整
可选地,在本申请实施例中,对于当前图像块的不同子图像块,可以采用上述第一方法中相同的方法来实现从双运动信息到单运动信息的调整。或者,对于当前图像块的不同子图像块,可以采用上述第一方法中相同的方法来实现从双运动信息到单运动信息的调整。
在本申请实施例中,从运动信息候选列表(可以为运动矢量候选列表,例如,可以为以上提到的候选列表a)中,为当前图像块包括的子图像块选择运动信息,如果选择的运动信息是双运动信息,可以将该双运动信息调整为单运动信息,并基于调整后的单运动信息,对当前图像块进行编码或解码,从而可以避免从运动信息候选列表中选择双运动信息进行编码或解码所带来的计算复杂度的问题,以及可以避免在构建运动信息候选列表时,对所有的MV进行遍历,以及对双MV进行从双MV到单MV的重组,并判断重组后的MV是否重复所带来的复杂度较高的问题,从而可以降低编解码的复杂度。
以上介绍了在为子图像块选择的运动信息是第一双运动信息时,可以将第一双运动信息调整为一个单运动信息,但是按照预设规则对该第一双运动信息进行处理的方式并不限于此,以下将介绍其他的实现方式。
可选地,在本申请实施例中,第一双运动信息包括第一目标双运动信息,该第一目标双运动信息可以是常规或普通的双运动信息,可以是某一类型或某一特定的第一双运动信息,还可以是第一双运动信息中比较特别的双运动信息。在为子图像块选择的运动信息是第一目标双运动信息时,还可以将第一目标双运动信息中包括的运动矢量的精度进行调整。
或者,在本申请实施例中,还可以在为子图像块选择运动信息之前,对第一运动信息候选列表中的第一目标双运动信息包括的至少一个运动矢量的精度调整,或者在构建第一运动信息候选列表时,将第一目标双运动信息包括的至少一个运动矢量的精度调整。也就是说,所述第一运动信息候选列表中的至少部分运动信息对应的至少一个运动矢量值的精度为转换得到。
在本申请实施例中,对运动矢量的精度转换可以理解为将运动矢量值调整为指向整像素的图像块的运动矢量值,或者也可以理解为将该运动矢量值指向的图像块调整为整像素的图像块。
以下将具体介绍如何对双运动矢量进行精度转换,以下介绍的精度转换可以用于对从第一运动信息候选列表中选择的第一双运动信息包括的至少一个运动矢量值进行精度转换,还可以用于在构建第一运动信息候选列表时,对待加入的双运动信息中的至少一个运动矢量进行精度转换,或者,在为子图像块选择运动信息之前,对第一运动信息候选列表中的至少一个双运动信息中的至少一个运动矢量值进行精度转换。
在运动估计的过程,由于自然物体运动的连续性,物体在相邻两帧之间的运动矢量不一定刚好是整数个像素单位。为了提高运动矢量的精确程度,在HEVC中对亮度分量的运动估计采用1/4像素精度的运动矢量。但是在数字视频中并不存在分数像素处的样值,一般来说,为了实现1/K像素精度估计,必须将这些分像素点的值近似内插出来,也就是对参考帧图像的行方向和列方向进行K倍内插,在插值之后的图像中进行搜索。对第一图像块进行插值的过程,需要用到第一图像块中的像素点及其相邻区域的像素点。
在1/4像素插值的过程中,对于一个8×8/4×8/4×4/8×4大小的图像块,会用到块外部左侧的3个点和右侧的4个点来产生内插点的像素值,如图10所示,图7是本申请实施例提供的一种像素插值的示意图。如图7所示,a0,0和d0,0为1/4像素点,b0.0和h0,0为半像素点,c0,0和n0,0为3/4像素点。假如说当前像块为2×2的块A0,0~A1,0,A0,0~A0,1围成的2×2块,为了计算这个2×2的图像块中所有的内插点,需要用到2×2外部的一些点,包括左边3个,右边4个,上边3个,下边4个。
在一个实施例中,处理设备在根据所述第一图像块的大小,转换所述运动矢量值的精度时,可以判断所述第一图像块的大小是否满足第一条件;若判断结果为是,则将所述第一图像块的第一运动信息候选列表中的至少一个双运动信息包括的至少一个双运动矢量值转换成整像素精度。应理解,在实际应用中,也可以直接进行相应的运动矢量值的精度进行转换,而不依赖于第一图像块的大小,或者,也可以根据其它条件,进行相应的运动矢量值的精度的转换。
在某些实施例中,所述满足第一条件包括:所述第一图像块的第一运动信息候选列表中存在双运动信息,以及所述第一图像块的大小满足预设范围阈值。在某些实施例中,所述满足预设范围阈值包括:所述第一图像块的大小大于或等于64个像素;或者,在某些实施例中,所述满足预设范围阈值包括:所述第一图像块的大小大于16个像素且小于64个像素。在其他实施例中,所述预设范围阈值还可以包括其他范围值,本申请实施例不做具体限定。
例如,假设所述第一图像块为一个编码单元CU,且所述编码单元CU的大小为8x8,因此所述编码单元CU的大小8×8等于64,如果检测到所述第一图像块的第一运动信息候选列表中存在双运动信息,则所述处理设备可以将所述第一运动信息候选列表中的所有的双运动信息中包括的双运动矢量值(本申请实施例中的双运动矢量值可以称为双预测的运动矢量值)的精度进行转换,其中,可以将所有的双运动信息中包括的双运动矢量值的精度转化为整像素精度。应理解,在第一运动信息候选列表中包括多个第一双运动信息时,可以只对第一双运动信息中的部分双运动信息中包括的至少一个运动矢量值的精度进行转换,例如,第一目标双运动信息。
如果采用现有三角形预测模式,由于当前三角形预测只对W×H>64(W代表CU的像素宽度,H代表CU的像素高度)的CU,当前三角形预测只用于W×H>64的CU的原因,也和带宽消耗有关系。以图8为例,图8是现有技术提供的一种三角形预测的处理编码单元的示意图,假设HEVC最坏情况(1/4像素精度MV)为8×8的双向帧间预测CU,参考像素点为(8+7)*(8+7)x2=450。Versatile Video Coding,VVC的三角形预测如果将最小处理CU设置为4x4,最坏情况(1/4像素精度MV)下的4x4双向帧间预测的CU,参考像素点数为(4+7)*(4+7)*2*4=968,相比于HEVC,VVC增加了115%,造成了较大的带宽压力。又例如,如果将三角形预测最小处理的CU设置为4×8或8×4,则HEVC最坏情况(1/4像素精度MV)为8x8的双向帧间预测CU,参考像素点为(8+7)*(8+7)×2=450。VVC的三角形预测如果将最小处理CU设置为4×8/8×4,最坏情况(1/4像素精度MV)下的4×8/8×4双向帧间预测的CU,参考像素点数为(8+7)*(4+7)*2*4=660,相比于HEVC,VVC增加了47%,也造成了较大的带宽压力。
因此,通过本申请实施例中这种允许三角预测模式进行双预测,以及对双运动信息中包括的至少一个运动矢量值进行整像素精度转化,降低了带宽压力,提高了带宽利用率。
在一个实施例中,如果处理设备判断出所述第一图像块不满足所述第一条件,则可以将所述第一图像块的第一运动信息候选列表中所有的运动矢量值转化为整像素精度。
例如,假设所述第一图像块为一个编码单元CU,且所述编码单元CU的大小为4×8,因此所述编码单元CU的大小4×8等于32,32小于64,则所述处理设备可以将所述第一运动信息候选列表中的所有的运动矢量值转化为整像素精度。
通过本申请实施例提供的这种将不满足所述第一条件的第一图像块的运动信息候选列表中所有的运动矢量值转化为整像素精度,可以避免现有三角形预测模式中只用于大于或等于64个像素的图像块的限制,提升了视频编解码的性能。
在一个实施例中,所述运动矢量值包括水平分量和竖直分量;所述处理设备在转换所述运动矢量值的精度时,可以获取所述第一图像块的第一运动信息候选列表中包括的运动矢量值的水平分量和竖直分量,并将所述运动矢量值的水平分量和竖直分量转化为整像素精度。
在一个实施例中,所述处理设备在将所述运动矢量值的水平分量和竖直分量转化为整像素精度时,可以根据所述运动矢量值的存储精度,确定转化系数s,并利用第一预设转化规则和所述转化系数s,将所述动矢量预测值的水平分量转化为整像素精度;以及,利用第二预设转化规则和所述转化系数s,将所述动矢量预测值的竖直分量转化为整像素精度。
在某些实施例中,所述转化系数s与所述运动矢量值的存储精度之间的关系可以举例说明,假设所述运动矢量值的存储精度为1/m,如果m=2n,则可以确定s=n。例如,假设所述运动矢量值的存储精度为1/16=1/24,则可以确定所述转化系数为4。
在一个实施例中,所述处理设备在利用第一预设转化规则和所述转化系数s,将所述动矢量预测值的水平分量转化为整像素精度时,可以判断所述水平分量是否大于或等于0,如果判断出所述水平分量大于或等于0,则可以将所述转化系数s与1之差左移1位,得到第一移位值,并将所述第一移位值与所述水平分量之和右移s位,得到第二移位值,以及将所述第二移位值左移s位,得到所述水平分量的整像素精度。
在某些实施例中,当所述水平分量大于或等于0时,假设所述水平分量为MV1x,所述水平分量的整像素精度为MV2x,则所述第一预设转化规则可以包括:
如果MV1x>=0,MV2x=((MV1x+(1<<(s-1)))>>s)<<s。
其中,所述“<<”用于表示左移,所述“>>”用于表示右移,所述“1<<(s-1)”用于表示第一移位值,所述“(MV1x+(1<<(s-1)))>>s”用于表示第二移位值。在某些实施例中,如果MV1 x左移n位,则表示MV1x乘以2n,如果MV1x右移n位,则表示MV1x除以2n不计余数所得的商,其中,n为大于或等于1的正整数。
例如,假设所述运动矢量值的存储精度为1/4,则所述处理设备可以确定出所述转化系数s为2,如果所述水平分量MV1x为3,且二进制值为“11”,其水平分量MV1x大于0,MV2x的计算过程如下:
计算“s-1”,当s=2时,s-1=2-1=1;
计算“1<<(s-1)”,1<<1的结果为二进制数10,十进制数2;
计算“MV1x+(1<<(s-1))”,当MV1x=3时,MV1x+(1<<(s-1))=11+10=101;
计算“(MV1x+(1<<(s-1)))>>s”,根据之前结果,将5的二进制数值101右移动2位,101>>2=1;
最后计算“((MV1x+(1<<(s-1)))>>s)<<s”,MV2x=1<<2=100。
可见,在上述过程中,所述处理设备可以将所述转化系数2与1之差1左移1位,得到第一移位值2,并将所述第一移位值2与所述水平分量3之和5右移2位,得到第二移位值1,以及将所述第二移位值1左移2位,得到所述水平分量的整像素精度MV2x为4。
在其他实施例中,当所述水平分量大于或等于0时,所述第一预设转化规则包括但不限定于上述转化规则,还可以是其他转化规则,只需要将所述水平分量转化为整像素即可。例如,所述第一预设转化规则还可以为:
如果MV1x>=0,如果MV1x>=0,MV2x=(MV1x>>s)<<s。
例如,假设所述运动矢量值的存储精度为1/4,则所述处理设备可以确定出所述转化系数s为2,如果所述水平分量MV1x为5,且二进制值为“101”,其所述水平分量MV1x大于0,MV2x的计算过程如下:
计算“MV1x>>s”,当MV1x=5时,5>>2的结果为二进制数001,十进制数1;
计算“(MV1x>>s)<<s”,MV2x=1<<2的结果为二进制数100,十进制数4。
可见,在上述过程中,所述处理设备可以将所述MV1x即5右移2,得到1,再将1左移2得到所述水平分量的整像素精度MV2x为4。
在一些实施例中,所述处理设备如果判断出所述水平分量小于0,则可以将所述第一移位值与所述水平分量之差右移s位,得到第三移位值,并将所述第三移位值左移s位并取相反数,得到所述水平分量的整像素精度。在某些实施例中,当所述水平分量小于0时,假设所述水平分量为MV1x,所述水平分量的整像素精度为MV2x,所述第一预设转化规则包括:
如果MV1x<0,MV2x=-((-MV1x+(1<<(s-1)))>>s)<<s。
其中,所述“<<”用于表示左移,所述“>>”用于表示右移,所述“-MV1x”表示对MV1x取反,所述“(-MV1x+(1<<(s-1)))>>s”用于表示第三移位值。
例如,假设所述运动矢量值的存储精度为1/4,则所述处理设备可以确定出所述转化系数s为2,如果所述水平分量MV1x为-7,则所述水平分量MV1x小于0,MV2x的计算过程如下:
计算“s-1”,当s=2时,s-1=2-1=1;
计算“1<<(s-1)”,1<<1的结果为二进制数10,十进制数2;
计算“-MV1x+(1<<(s-1))”,当MV1x=-7时,-MV1x+(1<<(s-1))=111+10=1001;
计算“(-MV1x+(1<<(s-1)))>>s”,根据之前结果,将9的二进制数值1001右移动2位,1001>>2=2;
最后计算“-((-MV1X+(1<<(s-1)))>>s)<<s”,MV2x=-2<<2=-8。
可见,在上述过程中,所述处理设备可以将所述转化系数2与1之差1左移1位,得到第一移位值2,并对所述水平分量-7取反得到的7,将所述第一移位值2与7之和9右移2位,得到第三移位值2,以及将所述第三移位值2左移2位并取反,得到所述水平分量的整像素精度MV2x为-8。
在其他实施例中,当所述水平分量小于0时,所述第一预设转化规则包括但不限定于上述转化规则,还可以是其他规则,只需要将所述水平分量转化为整像素即可。例如,所述第一预设转化规则还可以为:
如果MV1x<0,MV2x=-(((-MV1x)>>s)<<s)。
例如,假设所述运动矢量值的存储精度为1/4,则所述处理设备可以确定出所述转化系数s为2,如果所述水平分量MV1x为-5,则所述水平分量MV1x小于0,MV2x的计算过程如下:
计算“-MV1x>>s”,当MV1x=-5时,5>>2的结果为二进制数001,十进制数1;
计算“(-MV1x>>s)<<s”,1<<2的结果为二进制数100,十进制数4。
计算“-(((-MV1x)>>s)<<s)”,MV2x=-4。
可见,在上述过程中,所述处理设备可以将所述MV1x即-5取反得到5,将5右移2,得到1,再将1左移2得到所述水平分量的整像素精度MV2x为-4。
在一个实施例中,所述处理设备在利用第二预设转化规则和所述转化系数s,将所述动矢量预测值的竖直分量转化为整像素精度时,可以判断所述竖直分量是否大于或等于0,如果判断出所述竖直分量大于或等于0,则可以将所述转化系数s与1之差左移1位,得到第四移位值,并将所述第四移位值与所述竖直分量之和右移s位,得到第五移位值,以及将所述第五移位值左移s位,得到所述竖直分量的整像素精度。在某些实施例中,当所述竖直分量大于或等于0时,假设所述竖直分量为MV1y,所述竖直分量的整像素精度为MV2y,则所述第二预设转化规则可以包括:
如果MV1y>=0,MV2y=((MV1y+(1<<(s-1)))>>s)<<s。
其中,具体实施例举例如前所述,此处不再赘述。
在其他实施例中,当所述竖直分量大于或等于0时,所述第二预设转化规则包括但不限定于上述转化规则,还可以是其他规则,只需要将所述竖直分量转化为整像素即可。例如,所述第二预设转化规则还可以为:
如果MV1y>=0,MV2y=(MV1y>>s)<<s。
其中,具体实施例举例如前所述,此处不再赘述。
在一个实施例中,所述处理设备如果判断出所述竖直分量小于0,则可以将所述第四移位值与所述竖直分量之差右移s位,得到第六移位值,将所述第六移位值左移s位并取相反数,得到所述竖直分量的整像素精度。在某些实施例中,当所述竖直分量小于0时,假设所述竖直分量为MV1y,所述竖直分量的整像素精度为MV2y,所述第二预设转化规则包括:
如果MV1y<0,MV2y=-((-MV1y+(1<<(s-1)))>>s)<<s。
在其他实施例中,当所述竖直分量小于0时,所述第二预设转化规则包括但不限定于上述转化规则,还可以是其他规则,只需要将所述竖直分量转化为整像素即可。例如,所述第二预设转化规则还可以为:
如果MV1y<0,MV2y=-(((-MV1y)>>s)<<s)。
其中,具体实施例举例如前所述,此处不再赘述。
在一个实施例中,所述运动矢量值包括水平分量;所述处理设备在转换所述运动矢量值的精度时,可以获取所述第一图像块的第一运动信息候选列表中包括的运动矢量值(该运动矢量值可以为第一运动信息候选列表中的部分运动矢量值,也可以是全部运动矢量值,还可以是满足预设条件的运动矢量值)的水平分量,并将所述运动矢量值的水平分量转化为整像素精度。具体实施例的举例如前所述,此处不再赘述。
在一个实施例中,所述运动矢量值包括竖直分量;所述处理设备在转换所述运动矢量值的精度时,可以获取所述第一图像块的第一运动信息候选列表中包括的运动矢量值(该运动矢量值可以为第一运动信息候选列表中的部分运动矢量值,也可以是全部运动矢量值,还可以是满足预设条件的运动矢量值)的竖直分量,并将所述运动矢量值的竖直分量转化为整像素精度。具体实施例举例如前所述,此处不再赘述。
如果采用现有三角形预测模式,将三角形预测最小处理的CU设置为4×8或8×4,如图9所示,图9是现有技术提供的另一种三角形预测的处理编码单元的示意图,假设HEVC最坏情况(1/4像素精度MV)为8x8的双向帧间预测CU,参考像素点为(8+7)*(8+7)×2=450。VVC的三角形预测如果将最小处理CU设置为4×8/8×4,最坏情况(1/4像素精度MV)下的4×8/8×4双向帧间预测的CU,参考像素点数为(8+7)*(4+7)*2*4=660,相比于HEVC,VVC增加了47%,也造成了较大的带宽压力。
因此,通过本申请实施例中这种将双运动信息中包括的双运动矢量值进行整像素精度转化的方式,降低了带宽压力,提高了带宽利用率。
在一个实施例中,所述处理设备在根据所述第一图像块的大小,转换相应的运动矢量值的精度之后,还可以根据转换精度后的运动矢量值,重新建立所述当前图像的第一运动信息候选列表,以便所述处理设备在接收到运动信息候选列表的调用指令时,可以直接调用所述候选运行信息列表中转换整精度后的运动矢量值,从而提高视频编码或解码的效率。或者,没有重新建立的过程,在构建第一运动信息候选列表时,可以对待加入第一运动信息候选列表中的至少部分运动信息的精度进行转换,以使得第一运动信息候选列表中的至少部分运动信息对应的运动矢量值的精度为转换得到,也即已经进行了精度调整。
应理解,对于第一运动信息候选列表中的运动信息,无论是否包括双运动信息和/或单运动信息,对于第一运动信息候选列表中的至少部分运动信息对应的运动矢量值的精度可以进行转换,以提高视频编解码的性能。尤其对于双运动信息而言,将其对应的双运动矢量值进行精度的转换,可以不用将其调整为一个单运动信息,也不用进行诸如上述候选列表a至候选列表b的重组,简化了第一运动信息候选列表构建的过程,也减少了处理复杂度。
本申请实施例中,处理设备可以从码流中获取第一图像块的运动信息候选列表,并根据所述第一图像块的大小,转换所述运动信息候选列表中运动矢量值的精度,以便根据转换精度后的运动信息候选列表进行视频编码或解码。通过这种实施方式可以提高带宽利用率,简化编码或解码操作,提高编码或解码的效率。
进一步的,可以基于相应运动矢量值的调用指令,对其精度进行转换。具体包括如下步骤。
A1:从码流中获取第一图像块的运动信息候选列表。
本申请实施例中,处理设备可以从码流中获取第一图像块的第一运动信息候选列表,所述第一运动信息候选列表中包括运动矢量值,具体实施例及举例如前所述,此处不再赘述。
B1:获取所述第一图像块的大小。
本申请实施例中,处理设备可以获取所述第一图像块的大小。在某些实施例中,所述第一图像块可以为一个编码单元CU,在某些实施例中,所述第一图像块的大小可以由一个编码单元CU的宽度和高度组成,即所述第一图像块的大小可以为W×H。
C1:当接收到所述第一运动信息候选列表中的运动矢量值的调用指令时,根据所述第一图像块的大小,转换所述运动矢量值的精度。
本申请实施例中,处理设备在从码流中获取第一图像块的第一运动信息候选列表后,可以在接收到所述第一运动信息候选列表中的运动矢量值的调用指令时,根据所述第一图像块的大小,转换所述运动矢量值的精度。在某些实施例中,所述处理设备也可以在接收到其他用于请求使用所述第一运动信息候选列表中的运动矢量值的调用请求时,转换所述运动矢量值的精度。应理解,第一双运动信息可以包括第一目标双运动信息,该第一目标双运动信息可以即为第一双运动信息,也可以为第一双运动信息中某一类型或某一特定的双运动信息,该调用指令可以用于指示第一目标双运动信息中包括的双运动矢量值的精度转换,也可以是除第一目标双运动信息以外的双运动信息或单运动信息对应的运动矢量值的精度转换。
通过这种在调用第一运动信息候选列表时,对第一运动信息候选列表中的运动矢量值进行整像素转换的实施方式,可以实现根据需求对运动矢量值进行整像素转换。
在一个实施例中,处理设备在在接收到所述第一运动信息候选列表中的运动矢量值的调用指令时,可以判断所述第一图像块的大小是否满足第一条件;若是,则将所述第一图像块的第一运动信息候选列表中的至少一个双运动信息中包括的至少一个运动矢量值转换成整像素精度。具体实施例举例如前所述,此处不再赘述。
在一个实施例中,处理设备如果判断出所述第一图像块不满足所述第一条件,则将所述第一图像块的第一运动信息候选列表中所有的运动矢量值转化为整像素精度。具体实施例举例如前所述,此处不再赘述。
本申请实施例中,处理设备可以从码流中获取第一图像块的第一运动信息候选列表,并获取所述第一图像块的大小,当接收到所述第一运动信息候选列表中的运动矢量值的调用指令时,根据所述第一图像块的大小,转换所述运动矢量值的精度。通过这种在调用第一运动信息候选列表时,对第一运动信息候选列表中的运动矢量值进行整像素转换的实施方式,可以实现根据需求对运动矢量值进行整像素转换,在提高带宽利用率,简化编码或解码操作,提高编码或解码的效率的同时,提升了用户体验。
另外,本申请实施例可以是对第一目标双向运动信息中的任意一个运动矢量值的精度转化为整像素精度。具体包括如下步骤。
A2:从码流中获取第一图像块的运动信息候选列表。
本申请实施例中,处理设备可以从码流中获取第一图像块的第一运动信息候选列表,具体实施例及举例如前所述,此处不再赘述。
B2:判断所述第一图像块的大小是否满足第二条件,若是,则执行步骤C2,若否,则执行步骤D2。
本申请实施例中,处理设备可以判断所述第一图像块的大小是否满足第二条件,如果判断结果为是,则执行步骤C2,如果判断结果为否,则执行步骤D2。在某些实施例中,所述第二条件包括所述第一图像块存在至少两个双运动矢量,以及所述第一图像块的大小满足预设范围阈值。在某些实施例中,所述满足预设范围阈值包括但不限于所述第一图像块的大小大于或等于64个像素;或者,所述第一图像块的大小大于16个像素且小于64个像素。具体实施例及举例如前所述,此处不再赘述。
C2:将所述第一图像块的运动信息候选列表中的至少一个双运动信息中包括的任意一个运动矢量值转化为整像素精度。
本申请实施例中,处理设备如果判断出所述第一图像块的大小满足第二条件,则可以将所述第一图像块的运动信息候选列表中的至少一个双运动信息中包括的任意一个运动矢量值转化为整像素精度。
在一个实施例中,所述处理设备在将所述第一图像块的运动信息候选列表中双运动矢量中的任意一个运动矢量值转化为整像素精度之前,可以检测所述第一图像块的运动信息候选列表中是否存在至少一个双运动信息,如果检测到所述运动信息候选列表中存在至少一个双运动信息,则所述处理设备可以执行所述将所述第一图像块的第一运动信息候选列表中的至少一个双运动信息中包括的任意一个运动矢量值转化为整像素精度的步骤。
例如,假设所述第一图像块为一个编码单元CU,且所述编码单元CU的大小为8x8,因此所述编码单元CU的大小8×8等于64,如果检测到所述第一图像块的运动信息候选列表中存在1个双运动信息,则所述处理设备可以将所述第一运动信息候选列表中的至少一个双运动信息中包括的任意一个运动矢量值转化为整像素精度。
本申请该实施方式,通过对双运动信息中包括的任意一个运动矢量值进行整像素精度转化,在一定程度上降低了带宽压力,提高了带宽利用率。
D2:将所述第一图像块的运动信息候选列表中所有的运动矢量值转化为整像素精度。
本申请实施例中,处理设备如果判断出所述第一图像块的大小不满足第二条件,则可以将所述第一图像块的第一运动信息候选列表中所有的运动矢量值转化为整像素精度。具体实施例及举例如前所述,此处不再赘述。
例如,假设所述第一图像块为一个编码单元CU,且所述编码单元CU的大小为4×8,因此所述编码单元CU的大小4×8等于32,32小于64,则所述处理设备可以将所述第一运动信息候选列表中的所有的运动矢量值转化为整像素精度。
通过这种将不满足第二条件的第一图像块的第一运动信息候选列表中所有的运动矢量值转化为整像素精度,可以避免现有三角形预测模式中只用于大于或等于64个像素的图像块的限制,提升了三角预测模式的性能。
本申请实施例中,处理设备可以从码流中获取第一图像块的第一运动信息候选列表,并判断所述第一图像块的大小是否满足第二条件,若满足则可以将所述第一图像块的第一运动信息候选列表中的至少一个双运动信息中包括的任意一个运动矢量值转化为整像素精度;若不满足,则可以将所述第一图像块的第一运动信息候选列表中所有的运动矢量值转化为整像素精度。通过这种实施方式,在一定程度上提高了带宽利用率,简化了编码或解码操作,提高了编码或解码的效率。
以下实施例是对将运动信息候选列表中的运动矢量值的水平分量转化为整像素精度的这种实施过程进行示意性说明。具体地,本申请实施例的所述方法包括如下步骤。
A3:从码流中获取第一图像块的第一运动信息候选列表。
本申请实施例中,处理设备可以从码流中获取第一图像块的第一运动信息候选列表,具体实施例及举例如前所述,此处不再赘述。
B3:获取所述第一图像块的第一运动信息候选列表中的运动矢量值的水平分量。
本申请实施例中,处理设备可以获取所述第一图像块的第一运动信息候选列表中运动矢量值的水平分量。
C3:将所述运动矢量值的水平分量转化为整像素精度。
本申请实施例中,处理设备可以将所述运动矢量值的水平分量转化为整像素精度。
在一个实施例中,所述处理设备在将所述运动矢量值的水平分量转化为整像素精度时,可以获取所述第一图像块的第一运动信息候选列表中运动矢量值的水平分量,并将所述运动矢量值的水平分量转化为整像素精度。
在某些实施例中,所述处理设备在将所述第一图像块的第一运动信息候选列表中双运动矢量值转化为整像素精度时,可以获取所述双运动矢量值的水平分量,并将所述双运动矢量值的水平分量转化为整像素精度。
在某些实施例中,所述处理设备在将所述第一图像块的第一运动信息候选列表中所有的运动矢量值转化为整像素精度时,可以获取所述第一运动信息候选列表中所有的运动矢量值的水平分量,并将所有的运动矢量值的水平分量转化为整像素精度。
在一个实施例中,所述处理设备在将所述运动矢量值的水平分量转化为整像素精度时,可以根据所述运动矢量值的存储精度,确定转化系数s,并利用第一预设转化规则和所述转化系数s,将所述动矢量预测值的水平分量转化为整像素精度。在某些实施例中,所述转化系数s与所述运动矢量值的存储精度之间的关系如前所述,此处不再赘述。
在一个实施例中,所述处理设备在利用第一预设转化规则和所述转化系数s,将所述动矢量预测值的水平分量转化为整像素精度时,可以判断所述水平分量是否大于或等于0,如果判断出所述水平分量大于或等于0,则可以将所述转化系数s与1之差左移1位,得到第一移位值,并将所述第一移位值与所述水平分量之和右移s位,得到第二移位值,以及将所述第二移位值左移s位,得到所述水平分量的整像素精度。在某些实施例中,当所述水平分量大于或等于0时,所述第一预设转化规则如前所述,此处不再赘述。
在其他实施例中,当所述水平分量大于或等于0时,所述第一预设转化规则包括但不限定于上述转化规则,还可以是其他转化规则,只需要将所述水平分量转化为整像素即可。具体实施例及举例如前所述。
在一些实施例中,所述处理设备如果判断出所述水平分量小于0,则可以将所述第一移位值与所述水平分量之差右移s位,得到第三移位值,并将所述第三移位值左移s位并取相反数,得到所述水平分量的整像素精度。在某些实施例中,当所述水平分量小于0时,所述第一预设转化规则如前所述,此处不再赘述。
在其他实施例中,当所述水平分量小于0时,所述第一预设转化规则包括但不限定于上述转化规则,还可以是其他规则,只需要将所述水平分量转化为整像素即可。具体实施例及举例如前所述,此处不再赘述。
本申请实施例中,处理设备可以从码流中获取第一图像块的第一运动信息候选列表,并获取所述第一图像块的第一运动信息候选列表中运动矢量值的水平分量,以及将所述运动矢量值的水平分量转化为整像素精度,以便根据转化水平分量为整像素精度后的所述运动矢量值进行视频编码或解码。通过这种实施方式,在一定程度上提高了带宽利用率,简化了编码或解码操作,提高了编码或解码的效率。
以下实施例是对将第一运动信息候选列表中运动矢量值的竖直分量转化为整像素精度的这种实施过程进行示意性说明。具体地,本申请实施例的所述方法包括如下步骤。
A4:从码流中获取第一图像块的第一运动信息候选列表。
作为一个可选的实施例,处理设备可以从码流中获取第一图像块的第一运动信息候选列表。
B4:获取所述第一图像块的第一运动信息候选列表中运动矢量值的竖直分量。
作为一个可选的实施例,处理设备可以获取所述第一图像块的第一运动信息候选列表中的运动矢量值的竖直分量。
C4:将所述运动矢量值的竖直分量转化为整像素精度。
运动矢量值作为一个可选的实施例,所述处理设备在将所述运动矢量值的竖直分量转化为整像素精度时,可以获取所述第一图像块的第一运动信息候选列表中运动矢量值的竖直分量,并将所述运动矢量值的竖直分量转化为整像素精度。所述运动矢量值的水平分量可变或者不变。更加优选的,所述运动矢量值的水平分量的像素精度保持不变。
在某些实施例中,所述处理设备在将所述第一图像块的第一运动信息候选列表中的双运动信息中的至少一个运动矢量值转化为整像素精度时,可以获取所述双运动信息中的至少一个运动矢量值的竖直分量,并将所述双运动信息中的至少一个运动矢量值的竖直分量转化为整像素精度。
在某些实施例中,所述处理设备在将所述第一图像块的第一运动信息候选列表中所有的运动矢量值转化为整像素精度时,可以获取所述第一运动信息候选列表中所有的运动矢量值的竖直分量,并将所有的运动矢量值的竖直分量转化为整像素精度。
在一个实施例中,所述处理设备将所述运动矢量值的竖直分量转化为整像素精度时,可以根据所述运动矢量值的存储精度,确定转化系数s,并利用第二预设转化规则和所述转化系数s,将所述动矢量预测值的竖直分量转化为整像素精度。所述将所述动矢量预测值的竖直分量转化为整像素精度的方式如前所述,此处不再赘述。
在一个实施例中,所述处理设备在利用第二预设转化规则和所述转化系数s,将所述动矢量预测值的竖直分量转化为整像素精度时,可以判断所述竖直分量是否大于或等于0,如果判断出所述竖直分量大于或等于0,则可以将所述转化系数s与1之差左移1位,得到第四移位值,并将所述第四移位值与所述竖直分量之和右移s位,得到第五移位值,以及将所述第五移位值左移s位,得到所述竖直分量的整像素精度。在某些实施例中,当所述竖直分量大于或等于0时,所述第二预设转化规则如前所述,此处不再赘述。
在其他实施例中,当所述竖直分量大于或等于0时,所述第二预设转化规则包括但不限定于上述转化规则,还可以是其他规则,只需要将所述竖直分量转化为整像素即可,具体实施例举例如前所述,此处不再赘述。
在一个实施例中,所述处理设备如果判断出所述竖直分量小于0,则可以将所述第四移位值与所述竖直分量之差右移s位,得到第六移位值,将所述第六移位值左移s位并取相反数,得到所述竖直分量的整像素精度。在某些实施例中,当所述竖直分量小于0时,所述第二预设转化规则如前所述,此处不再赘述。
本申请实施例中,处理设备可以从码流中获取第一图像块的第一运动信息候选列表,并获取所述第一图像块的第一运动信息候选列表中运动矢量值的竖直分量,以及将所述运动矢量值的竖直分量转化为整像素精度,以便根据转化竖直分量为整像素精度后的运动矢量值进行视频编码或解码。通过这种实施方式,在一定程度上提高了带宽利用率,简化了编码或解码操作,提高了编码或解码的效率。
以上分别介绍了可以第一双运动信息进行运动矢量值的精度的转换,以及将第一双运动信息调整为一个第一单运动信息。对于不同的第一双运动信息,处理的规则可以双不一样的。
具体地,在所述第一双运动信息为第一目标双运动信息时,对所述第一目标双运动信息调整的预设规则为:转换所述第一双运动信息中包括的至少一个运动矢量值的精度;在所述第一双运动信息为不同于所述第一双目标运动信息的第二目标双运动信息时,对所述第二目标双运动信息调整的预设规则为:将所述第一双运动信息调整为一个第一单运动信息,以作为所述子图像块的运动信息。
以上提到了在从第一运动信息候选列表中选择了双运动信息,可以将该双运动信息为调整一个第一单运动信息或者对双运动信息包括的至少一个运动矢量的精度进行调整,在本申请实施例中,也可以在构建第一运动信息候选列表时,将双运动信息调整为单运动信息。
其中,在构建运动信息候选列表时,可以将任一个双运动信息调整为一个单运动信息,也可以将特定的双运动信息调整为单运动信息。如果将特定的双运动信息调整为单运动信息,则第一运动信息候选列表中可能存在双运动信息,如果从第一运动信息候选列表中选择了双运动信息(例如,以上提到的第一双运动信息),则此时可以按照上述提到的方法,将双运动信息调整为单运动信息进行图像块的编码或解码。应理解,在构建第一运动信息候选列表时,即使不进行从双运动信息到单运动信息的调整,第一运动信息候选列表也有可能既存在单运动信息,又存在双运动信息;或者,只存在双运动信息,或者,只存在单运动信息。
以下将介绍如何在运动信息候选列表中,将双运动信息(也即下文提到的第二双运动信息)调整一个单运动信息(也即下文提到的第二单运动信息)。可选地,在本申请实施例中,将第一双运动信息调整为第一单运动信息的方式可以与将第二双运动信息调整为第二单运动信息的方式可以相同,或者不相同。
在一种实现方式中,处理设备可以从该第二双运动信息中选择一个单运动信息作为第二单运动信息。
可选地,处理设备可以根据预设规则,从所述第二双运动信息中选择一个运动信息,作为所述第二单运动信息,其中,所述预设规则用于指示从所述第二双运动信息中选择设于特定列表的单运动信息,所述特定列表为第二列表或第一列表。
具体地,可以在处理设备上预设有预设规则,该预设规则可以指示选择属于第一列表的单运动信息还是选择属于第二列表的单运动信息,从而处理设备可以基于该预设规则,从该第二双运动信息中进行单运动信息的选择。
或者,本申请实施例中,也可以采用算法的方式,从第一双运动信息中选择一个运动信息作为第一单运动信息。
可选地,在本申请实施例中,所述第一运动信息候选列表中,至少两个所述第二双运动信息对应的所述第二单运动信息所属的列表是不同的,所述所属的列表包括第二列表和第一列表。
也就是说,对于第一运动信息候选列表中,由双运动信息调整的单运动信息可以是分属于两个列表的,即第一列表和第二列表。
可选地,在本申请实施例中,为所述第二双运动信息选择所述第二单运动信息的选择方式是可更新的。
具体地,对于不同的图像块,为其包括的子图像块选择单运动信息的选择方式可以是不同的。
例如,针对当前图像块的前一个图像块,采用上述提到的预设规则的方式对其包括的各个子图像块进行单运动信息的选择,而对当前图像块,可以采用上述提到的算法的方式对其包括的各个子图像块进行单运动信息的选择。
或者,对于同一图像块的不同子图像块,从双运动信息中选择单运动信息的选择方式可以是不同的
例如,针对当前子图像块的前一个子图像块(该前一个子图像块与当前子图像块属于同一图像块),采用上述提到的预设规则的方式对其进行单运动信息的选择,而对当前子图像块,可以采用上述提到的算法的方式对其进行单运动信息的选择。
当然,在本申请实施例中,不同的图像块或不同的子图像块,所对应的进行单运动信息选择的方式可以是相同的。
在本申请实施例中,如果从第二双运动信息选择了一个第二单运动信息,对于编码端而言,可以将所述第二单运动信息的第二标识写入到编码码流中。
而相应地,对于解码端而言,可以从解码码流中,获取第二单运动信息的第二标识,从而可以按照该第二标识,从第二双运动信息中选择出一个单运动信息作为第二单运动信息。
例如,假设第二双运动信息包括的单运动信息的标识分别为0和1,如果编码端选择了标识为0的单运动信息作为第二单运动信息,则可以将标识0写入到码流中,而解码端可以从解码码流中获取该标识0,从而解码端可以将第二双运动信息中标识为0的运动信息,确定为第二单运动信息息。
对于编码端将第二标识写入到编码码流的情况下,编码端可以是基于算法的方式选择该第二单运动信息,则对于解码端而言,可以无需再次通过算法实现从第二双运动信息中选择第二单运动信息。
而如果编码端是通过上述提到的预设规则的方式从第二双运动信息选择第二单运动信息的,则解码端也可以通过相同的预设规则从第二双运动信息中选择第二单运动信息。
当然,即使编码端是通过上述提到的预设规则的方式从第二双运动信息选择第二单运动信息的,编码端仍可以将该第二单运动信息的标识写入到编码码流中,供解码端按照该第二标识,从第二双运动信息中选择出一个单运动信息作为第二单运动信息。
在本申请实施例中,除了可以通过从第二双运动信息中选择一个单运动信息的方式得到第二单运动信息之外,还可以通过对第二双运动信息进行合并处理,以得到第二单运动信息。
在本申请实施例中,由于双运动信息中包括的两个运动信息有可能属于不同的参考帧,在将所述第二双运动信息进行合并处理之前,可以将所述第二双运动信息中的其中一个运动信息基于另一个运动信息进行缩放。其中,具体的缩放实现可以参考上文关于图5的描述。其中,合并处理后的运动信息的参考帧可以是该另一个运动信息所指向的参考帧。
本申请实施例中提到的合并处理可以是加权处理,也可以是平均处理。
可选地,在本申请实施例中,在合并处理为加权处理时,处理设备可以确定所述第二双运动信息中的各个运动信息的权重,以用于基于所述权重对所述第二双运动信息中的运动信息进行所述加权处理;
其中,所述第二双运动信息中的各个运动信息的权重的影响因素包括以下中的至少一种:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表的已加入的运动信息属于第二列表的运动信息的大小和/或数量。
在一种实现方式中,第一图像块的大小可以包括第一图像块的宽和高,处理设备可以根据第一图像块的宽和高来确定第二双运动信息中各个运动信息的权重。具体可以根据宽和高的绝对数值,和/或宽和高两者之间的比值,来确定各个运动信息的权重。
例如,如果第一图像块的宽和高均大于32个像素,则第二双运动信息中属于列表0的运动信息的权重:第二双运动信息中属于运动列表1的运动信息的权重=2:1。如果第一图像块的宽和高均大于16个像素而小于等于32个像素,则第二双运动信息中属于列表0的运动信息的权重:第二双运动信息中属于运动列表1的运动信息的权重=1:1。而对于其他的情况,则第二双运动信息中属于列表0的运动信息的权重:第二双运动信息中属于运动列表1的运动信息的权重=1:2。
例如,第二双运动信息中属于列表0的运动信息的权重:第二双运动信息中属于运动列表1的运动信息的权重=第一图像块的宽度:第一图像块的高度。
在另一种实现方式中,处理设备可以通过第一图像块和/或其临近区域的像素值,计算第一图像块和/或其邻近区域在水平,垂直,45度(与水平方向成45度夹角),135度(与水平方向呈135度夹角)方向中的任一方面的一阶或二阶梯度,由梯度方向确定纹理方向。然后对第二双运动信息(例如,双MV)中更加接近这个纹理方向的运动信息(单MV)分配更高的权重。其中,此处提到的第一图像块的临近区域可以是第一图像块周边的区域(与第一图像块相邻和/或与第一图像块之间间隔预设区域),例如,假设第一图像块是四边形,则该临近区域可以是至少一个周围的区域,临近区域的大小可以是预设在处理设备上的,也可以是通过其他方式得到的。
在另一种实现方式中,处理设备可以根据所述第二运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的数量与属于第二列表的运动信息的比值,确定第二双运动信息包括的各运动信息的权重。
例如,第一运动信息候选列表中已加入的运动信息属于列表0的MV的数量:第一运动信息候选列表中已加入的运动信息属于列表1的MV的数量=第一双运动信息中属于列表0的运动信息的权重:第一双运动信息中属于运动列表1的运动信息的权重。
以上分别介绍了将第二双运动信息调整一个第二单运动信息的多种实现方式。但是应理解,本申请实施例还可以通过其他实现方式,实现将第二双运动信息调整为一个第二单运动信息,本申请实施例对此不做具体限定。该多种实现方式中采用哪种实现方式可以是预设到处理处理设备上。
例如,处理设备上预设:采用从第二个双运动信息选择一个单运动信息的方式将一个双运动信息调整为一个单运动信息。
其中,是采用预设规则的方式从第二双运动信息中选择一个单运动信息,还是采用计算的方式从第二双运动信息中选择一个单运动信息也可以是预设在处理设备上的,也可以通过其他方式得到的。
例如,处理设备上预设:采用将第二双运动信息合并处理为一个单运动信息的方式将一个双运动信息调整为一个单运动信息。
其中,是采用平均处理的方式还是合并处理的方式可以是预设在处理设备上的,也可以是通过其他方式得到的。
例如,处理设备上预设:采用将第二双运动信息平均处理为一个单运动信息的方式将一个双运动信息调整为一个单运动信息。
其中,在采用平均处理时,是将属于列表0的运动信息基于列表1进行缩放还是将列表1的运动信息基于列表0进行缩放可以是预设在处理设备上的,也可以是通过其他方式得到的。
例如,处理设备上预设:采用将第二双运动信息加权处理为一个单运动信息的方式将一个双运动信息调整为一个单运动信息。
其中,在采用加权处理时,是将属于列表0的运动信息基于列表1进行缩放还是将列表1的运动信息基于列表0进行缩放可以是预设在处理设备上的,也可以是通过其他方式得到的。
或者,在本申请实施例中,可以基于以下因素从多种第二方法中确定将第二双运动信息调整为第二单运动信息的第二调整方法:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表的已加入的运动信息中属于第二列表的运动信息的大小和/或数量。
其中,该多个第二方法可以包括以下方法中的至少一种:
1b)将所述第二双运动信息中属于第一列表的运动信息确定为所述第二单运动信息;
2b)将所述第二双运动信息中属于第二列表的运动信息确定为所述第二单运动信息;
3b)将所述第二双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行加权处理,以得到所述第二单运动信息;
4b)将所述第二双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行加权处理,以得到所述第二单运动信息;
5b)将所述第二双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行平均处理,以得到所述第二单运动信息;
6b)将所述第二双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行平均处理,以得到所述第二单运动信息。
在一种实现方式中,第一图像块的大小可以包括第一图像块的宽和高,处理设备可以根据第一图像块的宽和高来确定使用上述方法1)-6)中的哪个方法。具体可以根据宽和高的绝对数值,和/或宽和高两者之间的比值,来确定使用上述方法1b)-6b)中的哪个方法。
例如,如果第一图像块的宽和高均大于32个像素,可以采用方法1b):如果第一图像块的宽和高均小于或等于16个像素,可以采用方法2b),其他情况可以采用方法3b)-6b)。
例如,如果第一图像块的宽度:第一图像块的高度大于1,则采用可以采用方法1b),小于1采用方法2b),等于1,则采用方法3b)-6b)。
在另一种实现方式中,处理设备可以通过第一图像块和/或其临近区域的像素值,计算第一图像块和/或其邻近区域在水平,垂直,45,135方向的一阶或二阶梯度,由梯度方向确定纹理方向。如果纹理方向更接近属于第二双运动信息中属于第一列表中的运动信息,则采用方法1b),如果纹理方向更接近属于第二双运动信息中属于第二列表中的运动信息,则采用方法2b)。
在另一种实现方式中,处理设备可以根据所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的数量与属于第二列表的运动信息的比值,确定第二双运动信息包括的各运动信息的权重。
例如,如果属于第一列表的运动信息的数量多,则采用方法1b),属于第一列表的运动信息的数量少,则采用方法2b),如果数量一样多,则采用方法3b)-6b)。
或者,该多个第二方法可以包括以下方法中的至少一种:
2A)从第二双运动信息中选择一个单运动信息作为第二单运动信息;
2B)将第二双运动信息进行合并处理,得到第二单运动信息。
如果基于以上提到的因素选择方法2A)作为调整方法,则从第二双运动信息选择一个单运动信息的实现方式可以是预设在处理设备上的,也可以是基于其他的因素确定的。
同样地,如果基于以上提到的因素选择方法2B)作为调整方法,则对第二运动信息进行合并处理的实现方式可以是预设在处理设备上的,也可以是基于其他的因素确定的。
应理解,方法2A)和/或方法2B)中还可以分别包括多种具体的实现方法,例如,方法2A)可以包括如上述针对第二双运动信息说明的1a)至2a),方法B2)可以包括如上述针对第二双运动信息说明的3a)至6a),处理设备可以选择方法2A)和/或方法2B),可以理解为选择方法A2)和/或方法B2)包括的具体的实现方法。
可选地,在本申请实施例中,对于当前帧的不同图像块,可以采用上述调整方法中相同的方法来实现从双运动信息到单运动信息的调整。或者,对于当前帧的不同图像块,可以采用上述调整方法中相同的方法来实现从双运动信息到单运动信息的调整。
因此,在本申请实施例中,在构建运动信息候选列表时,如果加入该运动信息候选列表中的运动信息是双运动信息,可以将该双运动信息调整为一个单运动信息,可以减少从第一运动信息候选列表中为子图像块选择双运动信息的机率,从而可以尽量避免从运动信息候选列表中选择双运动信息进行编码或解码所带来的计算复杂度的问题。
以及进一步地,在将待加入的运动信息加入到运动信息候选列表时,可以直接将待加入的运动信息(可以是经过了从双运动信息到单运动信息处理的,当然也可以是未经处理的双运动信息,但在加入到运动信息候选列表时,可以做进一步的处理)加入到运动信息候选列表,而非采用上文提到的先构造候选列表a,在基于候选列表a构造候选列表b的过程,也即只需一次列表的构造,可以避免处理的复杂度。
在本申请实施例中,在对图像帧进行编码的过程中,不同的图像块划分为子图像的数量可以是不相同的。
例如,上述提到的第一图像块包括多个子图像块,以及存在第二图像块,仅包括一个子图像块。
在该种情况下,如果为第一图像块构建第一运动信息候选列表的方式与为第二图像块构建第二运动信息列表的方式完全不相同,则用于构建第一运动信息候选列表的硬件与用于构建第二运动信息候选列表的硬件将无法兼容,将会导致处理设备的硬件结构较为复杂,不利于硬件实现。
应理解,在对图像帧进行编码的过程中,上述第二运动信息候选列表并一定会构建,需要根据具体的编解码需求而定,第二运动信息候选列表可以只是为了说明第一运动信息候选列表的构建方式的特征做的示意性说明,以明确第一运动信息候选列表的构建方式的特点。
为此,在本申请实施例中,为了简化处理设备的硬件结构,所述第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:
能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同;
其中,所述第二运动信息候选列表用于作为一整体的图像块的运动信息的选择。其中,第二运动信息候选列表可以为Merge模式下的运动信息候选列表。具体的此处提到的Merge模式即为普通Merge模式(或传统Merge模式),例如,该普通Merge模式可以是指对编码图像块(如方形图像块)不再进行子图像块的划分,可以针对该编码图像块从运动信息候选列表中选择运动信息。可以理解,第二运动信息候选列表也可以不为普通Merge模式下的运动信息候选列表,例如AMVP模式下的运动信息候选列表,本申请实施例以第二运动信息候选列表为普通Merge模式下的运动信息候选列表为例进行说明。
可选地,在本申请实施例中,上述提到的能够加入的运动信息包括以下至少一种:
空域相邻块的运动信息、时域相邻块的运动信息、相邻成对平均块的运动信息、基于历史的运动矢量预测HMVP、零运动矢量。
具体地,能够加入的运动信息除了包括空域相邻块的运动信息和时域相邻块的运动信息,还进一步包括其他种类型运动信息,例如可以包括以上各种的全部,此时能够加入的运动信息的种类较多,可以提高编解码的性能。而在上文提到的候选列表b中,仅包括空域相邻块的运动信息和时域相邻块的运动信息,运动信息的种类较少,不利于编解码的性能。
可选地,在本申请实施例中,本申请实施例提到的能够加入的运动信息是指:可以被选择作为第一运动信息候选列表或第二运动信息候选列表的运动信息。
如果对于一些第一图像块而言,可能其不存在空域相邻块(也可以是时域相邻块),或者其空域相邻块还未被编码或解码,但是该种情况仅代表对于当前第一图像块而言,第一运动信息候选列表可以不存在空域相邻块的运动信息,而空域相邻块的运动信息仍旧可以理解为能够加入的运动信息。
可选地,在本申请实施例中,能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序可以是指:该种类的运动信息在全部种类的运动信息的优先级排序。
可选地,在本申请实施例中,相同种类内部的运动信息在该类运动信息中的加入顺序可以是指:对于该种类的运动信息,包括的运动信息在该类运动信息中的优先级排序。
例如,对于空域相邻块的运动信息,优先级排序从高到低可以如下:左侧的图像块的运动信息、上方的图像块的运动信息、右上角的图像块的运动信息、左下角的图像块的运动信息、左上角的图像块的运动信息。
可选地,能够加入的相同种类的运动信息的确定方式相同可以是指以下方面中的至少一个相同:确定该种类的运动信息所使用的相邻块相对于第一图像块的位置、生成该运动信息所需的至少两个运动信息的选择方式。
例如,如图6所示,在构建第一运动信息候选列表和第二运动信息候选列表时,空域相邻块均包括当前图像块的左下角的图像块是A0,左侧的图像块是A1,左上角的图像块是B2,上方的图像块是B1,右上角是B0;以及时域相邻块均包括图像块C1和C2。
例如,在生成成对平均MV时,选择的所用的MV可以相同,例如,该MV所属的种类(例如,均为空域相邻块的MV)以及该MV的确定方式相同(例如,该MV的相邻块相对于第一图像块的位置相同)。
可选地,在本申请实施例中,第一运动信息候选列表和第二运动信息候选列表的构建方式相同。具体地,构建方式相同可以包括以下所述的全部相同方面:
能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同。
应理解,构建方式相同除了以上方面的相同,还可以在其他方面相同,此处提到的构建方式相同可以是完全相同。或者,也可以是以上方面的部分方面相同。以第二运动信息候选列表为普通Merge模式下的运动信息候选列表为例,第一运动信息候选列表的构建方式可以部分参照或完全参照普通Merge模式下的运动信息候选列表的构建方式。
例如,第一运动信息候选列表和第二运动信息候选列表均包括以下(1)-(4)中提到的各类运动信息,且各类运动信息的排序是按照(1)-(4)的标号从高到低进行排序。
(1)空域相邻块的运动信息,其中,对于第一运动信息候选列表和第二运动信息候选列表,相邻块相对于当前图像块的空域位置可以是相同的,各个相邻块的MV在运动信息候选列表中的加入顺序是相同的。
(2)时域相邻块的运动信息,其中,对于第一运动信息候选列表和第二运动信息候选列表,相邻块相对于当前图像块的时域位置可以是相同的,各个相邻块的MV在运动信息候选列表中的加入顺序是相同的。
(3)基于历史的运动矢量预测(History based Motion Vector Prediction,HMVP),其中,对于第一运动信息候选列表和第二运动信息候选列表,选择HMVP的步骤完全相同。
(4)成对平均运动信息,其中,对于第一运动信息候选列表和第二运动信息候选列表,生成平均运动信息所选取的两个基础MV对应的相邻块的种类相同,且该相邻块与当前图像块的位置关系相同。
(5)零运动矢量。
为了便于理解,将以运动信息候选列表为MVP候选列表为例进行说明,以下提到的MVP候选列表的构建方式即为第一运动信息候选列表和第二运动信息候选列表的构建方式。
其中,MVP候选列表的组成可以包括以下(1)至(5)中的至少部分。
具体地,可以利用(1)中的空域候选MV构建MVP候选列表,如果此时构成的MVP候选列表包括的候选MVP的数量未达到预设数量,则可以继续在包括空域候选MV中MVP候选列表中加入(2)中的时域候选MV,如果此时构成的MVP候选列表包括的候选MVP的数量未达到预设数量,则此时可以继续在包括空域候选MV和时域候选MV的MVP候选列表中加入(3)中的成对平均候选MV,如果此时构成的MVP候选列表包括的候选MVP的数量未达到预设数量,则此时可以继续在包括空域候选MV、时域候选MV和成对平均候选MV的MVP候选列表中加入(4)中的HMVP,如果此时构成的MVP候选列表包括的候选MVP的数量未达到预设数量,则此时可以继续在包括空域候选MV、时域候选MV、成对平均候选MV和HMVP的MVP候选列表中加入(5)中零运动矢量,直到MVP候选列表的候选MVP的数量达到预设值。
其中,在将以下的某一项的部分候选加入到MVP候选列表时,该列表包括的候选MVP的数量已经达到预设数量,此时可以停止将该项的剩余部分元素加入到MVP候选列表。
以下将介绍组成候选MVP列表的各部分。
(1)空域候选MV
具体地,可以将与当前图像块空域上相邻图像块的MV作为能够加入到MVP候选列表中的候选MVP。
例如,如图6所示,假设当前图像块的左下角的图像块是A0,左侧的图像块是A1,左上角的图像块是B2,上方的图像块是B1,右上角是B0,则作为候选MVP的顺序按照优先级从高到低是A1->B1->B0->A0->B2。
(2)时域候选MV
具体地,可以将与当前图像块时域上相邻图像块的MV作为能加入到MVP候选列表中的候选MVP。
与空域候选MV情况不同,时域候选MV可以不直接使用候选块的运动信息,可以根据当前帧和参考帧之间的时域位置关系做相应的伸缩调整。
(3)成对平均候选MV
根据当前已构成MVP候选列表的候选MVP按预定义的配对求平均导出成对平均候选MV。
预定义的配对方式及顺序可以为:(0,1),(0,2),(1,2),(0,3),(1,3),(2,3),其中,0、1、2和3分别表示HMVP候选列表中已有的第1、2、3和4个候选MVP,每个括号代表其内的MVP候选进行求平均。
(4)HMVP
可以采用已编码图像块的MV,构建HMVP候选列表,HMVP候选列表中的候选HMVP可以被选择作为加入到MVP候选列表中的候选MVP。
(5)零运动矢量
在将(1)-(4)的各项加入到MVP候选列表时,仍然MVP候选列表中的MVP候选仍然没有达到预定数量,则可以使用零运动矢量进行填充,直到MVP候选列表的候选MVP的数量达到预设值。
当然,上述内容仅以第二运动信息候选列表为普通Merge模式下的运动信息候选列表的构建进行了部分说明,而第一运动信息候选列表的构建还可以参照普通Merge模式下的运动信息候选列表的构建的其它方面的内容。
应理解,以上介绍的运动信息列表仅仅是本申请实施例的一种具体实现方式,不应对本申请实施例造成特别限定。
因此,在本申请实施例中,本申请实施例中的第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同,可以实现用于构建第一运动信息候选列表的硬件与用于构建第二运动信息候选列表的硬件的至少部分兼容,从而可以简化硬件结构。
图10是根据本申请实施例的视频处理方法400的示意性流程图。该方法400可以由处理设备实现。该处理设备可以为编码端或解码端,具体可以为编码器或解码器。该方法400包括以下内容中的至少部分内容。
在410中,在为当前帧的第一图像块构建第一运动信息候选列表时,将待加入的运动信息中的至少一个目标双运动信息中的每个目标双运动信息调整为一个目标单运动信息,以用于构建所述第一运动信息候选列表;
在420中,从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;
在430中,基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
应理解,该方法400中各个步骤的实现可以参考上文的描述,为了简洁,在此不再赘述,其中,该目标双运动信息可以对应于上文提到的第二双运动信息,以及该目标单运动信息可以对应于上文提到的第二单运动信息。
因此,在本申请实施例中,在构建运动信息候选列表时,如果加入该运动信息候选列表中的运动信息是双运动信息,可以将该双运动信息调整为一个单运动信息,可以减少从第一运动信息候选列表中为子图像块选择双运动信息的机率,从而可以尽量避免从运动信息候选列表中选择双运动信息进行编码或解码所带来的计算复杂度的问题。
可选地,在本申请实施例中,所述待加入的运动信息为依据所述第一图像块的相邻图像块的运动信息确定。
具体地,可以依据所述第一图像块的相邻图像块的运动信息直接确定待加入的运动信息,而非先构造一个列表(例如,上文提到的候选列表a),再从该列表中选择待加入的运动信息,加入到第一运动信息候选列表中。
因此,在将待加入的运动信息加入到运动信息候选列表时,可以直接将待加入的运动信息(可以是经过了从双运动信息到单运动信息处理的)加入到运动信息候选列表,而非采用上文提到的先构造一个候选列表(例如,候选列表a),在基于一个候选列表构造另一个候选列表(例如,候选列表b)的过程,也即只需一次列表的构造,可以避免对所有候选的运动信息进行遍历以及对双运动信息进行从双运动信息到单运动信息的重组(也即一个双MV变为两个单MV),并判断重组后的运动信息是否重复以便于加入到另一候选列表(其中,一个双运动信息的两个单运动信息都可能加入到该另一候选列表中),从而可以避免处理的复杂度。同时,可以使得第一运动信息候选列表的构建可不依赖于在先构造的候选列表,则第一运动信息候选列表的构建不受限于在先构造的候选列表的长度、加入的运动信息、构建方式等。因此,在只构造一次候选列表的情况下,也有利于第一运动信息候选列表的灵活性构建。
图11是根据本申请实施例的视频处理方法500的示意性流程图。该方法500可以由处理设备实现。该处理设备可以为编码端或解码端,具体可以为编码器或解码器。该方法500包括以下内容中的至少部分内容。
在510中,为当前帧的第一图像块,构建第一运动信息候选列表,所述第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同;其中,所述第二运动信息候选列表用于作为一整体的图像块的运动信息的选择;
在520中,从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;
在530中,基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
应理解,该方法500中各个步骤的实现可以参考上文的描述,为了简洁,在此不再赘述。
因此,在本申请实施例中,本申请实施例中的第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同,可以实现用于构建第一运动信息候选列表的硬件与用于构建第二运动信息候选列表的硬件的至少部分兼容,从而可以简化硬件结构。
图9是根据本申请实施例的视频处理设备600的示意性框图。该视频处理设备600包括:
构建单元610,用于为当前帧的第一图像块,构建第一运动信息候选列表;
选择单元620,用于从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个图像块分别选择运动信息,其中,所述第一运动信息候选列表包括至少一个双运动信息;
编码或解码单元630,用于基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
可选地,在本申请实施例中,所述第一运动信息候选列表中的至少部分运动信息对应的运动矢量值是进行了精度转换的。
可选地,在本申请实施例中,所述设备还包括:
处理单元640,用于在所述子图像块对应选择的运动信息为第一双运动信息时,按照预设规则对所述第一双运动信息进行处理,以用于所述第一图像块的编码或解码。
可选地,在本申请实施例中,所述第一双运动信息包括第一目标双运动信息和第二目标双运动信息,
对所述第一目标双运动信息处理的预设规则为:转换所述第一双运动信息中包括的至少一个运动矢量值的精度
对所述第二目标双运动信息处理的预设规则为:将所述第一双运动信息调整为一个第一单运动信息,以作为所述子图像块的运动信息。
可选地,在本申请实施例中,所述处理单元进一步用于:
转换所述第一双运动信息中包括的至少一个运动矢量值的精度。
可选地,在本申请实施例中,所述处理单元640进一步用于:
将所述第一双运动信息中包括的运动矢量值的精度转换为整像素精度。
可选地,在本申请实施例中,所述处理单元640进一步用于:
将所述第一双运动信息调整为一个第一单运动信息,以作为所述子图像块的运动信息。
可选地,在本申请实施例中,所述处理单元640进一步用于:
从所述第一双运动信息中选择一个运动信息,作为所述第一单运动信息。
可选地,在本申请实施例中,所述处理单元640进一步用于:
根据预设规则,从所述第一双运动信息中选择一个运动信息,作为所述第一单运动信息,其中,所述预设规则用于指示从所述第一双运动信息中选择设于特定列表的单运动信息,所述特定列表为第二列表或第一列表。
可选地,在本申请实施例中,为所述第一双运动信息选择所述第一单运动信息的选择方式是可更新的。
可选地,在本申请实施例中,所述编码或解码单元630进一步用于:
将所述第一单运动信息的第一标识写入到编码码流中。
可选地,在本申请实施例中,所述设备用于解码端,所述编码或解码单元630进一步用于:
从解码码流中获取所述第一单运动信息的第一标识,以用于从所述第一双运动信息中选择所述第一单运动信息。
可选地,在本申请实施例中,所述编码或解码单元630进一步用于:
将所述第一双运动信息进行合并处理,以得到一个运动信息,作为所述第一单运动信息。
可选地,在本申请实施例中,所述处理单元640进一步用于:
在将所述第一双运动信息进行合并处理之前,将所述第一双运动信息中的其中一个运动信息基于另一个运动信息进行缩放。
可选地,在本申请实施例中,所述合并处理为加权处理或平均处理。
可选地,在本申请实施例中,所述处理单元640进一步用于:
确定所述第一双运动信息中的各个运动信息的权重,以用于基于所述权重对所述第一双运动信息中的运动信息进行所述加权处理;
其中,所述第一双运动信息中的各个运动信息的权重的影响因素包括以下中的至少一种:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表的已加入的运动信息属于第二列表的运动信息的大小和/或数量。
可选地,在本申请实施例中,所述处理单元640进一步用于:
从多种用于将所述第一双运动信息中调整为一个所述第一单运动信息的第一方法中,选择第一调整方法;
基于所述第一调整方法,将所述第一双运动信息调整为所述第一单运动信息。
可选地,在本申请实施例中,所述第一调整方法在所在多种所述第一方法中的选择基于以下中的至少一种:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表的已加入的运动信息中属于第二列表的运动信息的大小和/或数量。
可选地,在本申请实施例中,多种所述第一方法包括以下设备中的全部或部分:
将所述第一双运动信息中属于第一列表的运动信息确定为所述第一单运动信息;
将所述第一双运动信息中属于第二列表的运动信息确定为所述第一单运动信息;
将所述第一双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行加权处理,以得到所述第一单运动信息;
将所述第一双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行加权处理,以得到所述第一单运动信息;
将所述第一双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行平均处理,以得到所述第一单运动信息;
将所述第一双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行平均处理,以得到所述第一单运动信息。
可选地,在本申请实施例中,所述设备还包括处理单元640,用于:
在构建所述第一运动信息候选列表时,将待加入的至少一个第二双运动信息中的每个第二双运动信息调整为一个第二单运动信息,以用于构建所述第一运动信息候选列表。
可选地,在本申请实施例中,所述处理单元640进一步用于:
从每个所述第二双运动信息中选择一个运动信息,作为所述第二单运动信息。
可选地,在本申请实施例中,所述处理单元640进一步用于:
根据预设规则,从每个所述第二双运动信息中选择一个运动信息,作为所述第二单运动信息,其中,所述预设规则用于指示从所述第二双运动信息中选择设于特定列表的单运动信息,所述特定列表为第二列表或第一列表。
可选地,在本申请实施例中,所述第一运动信息候选列表中,至少两个所述第二双运动信息对应的所述第二单运动信息所属的列表是不同的,所述所属的列表包括第二列表和第一列表。
可选地,在本申请实施例中,为所述第二双运动信息选择所述第二单运动信息的选择方式是可更新的。
可选地,在本申请实施例中,所述设备用于编码端或解码端,所述编码或解码单元630进一步用于:
将所述第二单运动信息的第二标识写入到编码码流中。
可选地,在本申请实施例中,所述设备用于解码端,所述编码或解码单元630进一步用于:
从解码码流中获取所述第二单运动信息的第二标识,以用于从所述第二双运动信息中选择所述第二运动信息。
可选地,在本申请实施例中,所述处理单元640进一步用于:
将每个所述第二双运动信息中的运动信息进行合并处理,以得到一个运动信息,作为所述第二单运动信息。
可选地,在本申请实施例中,所述处理单元640进一步用于:
在将每个所述第二双运动信息中的运动信息进行合并处理之前,将每个所述第二双运动信息中的其中一个运动信息基于另一个运动信息进行缩放。
可选地,在本申请实施例中,所述合并处理为加权处理或平均处理。
可选地,在本申请实施例中,所述处理单元640进一步用于:
确定每个所述第二双运动信息中的各个运动信息的权重,以用于基于所述权重对每个所述第二双运动信息中的运动信息进行所述加权处理;
其中,每个所述第二双运动信息中的各个运动信息的权重的影响因素包括以下中的至少一种:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表的已加入的运动信息中属于第二列表的运动信息的大小和/或数量。
可选地,在本申请实施例中,所述处理单元640进一步用于:
从多种用于将每个所述第二双运动信息中调整为一个第二单运动信息的第二方法中,选择第二调整方法;
基于所述第二调整方法,将每个所述第二双运动信息调整为一个所述第二单运动信息。
可选地,在本申请实施例中,所述第二调整方法在多种所述第二方法中的选择基于以下中的至少一种:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表中已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表中已加入的运动信息中属于第二列表的运动信息的大小和/或数量。
可选地,在本申请实施例中,多种所述第二方法包括以下设备中的全部或部分:
将所述第二双运动信息中属于第一列表的运动信息确定为所述第二单运动信息;
将所述第二双运动信息中属于第二列表的运动信息确定为所述第二单运动信息;
将所述第二双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行加权处理,以获取所述第二单运动信息;
将所述第二双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行加权处理,以获取所述第二单运动信息;
将所述第二双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行平均处理,以获取所述第二单运动信息;
将所述第二双运动信息中属于所述第一列表的运动信息基于属于第所述二列表的运动信息进行缩放,将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行平均处理,以获取所述第二单运动信息。
可选地,在本申请实施例中,所述第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:
能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同;
其中,所述第二运动信息候选列表用于作为一整体的图像块的运动信息的选择。
可选地,在本申请实施例中,所述第一运动信息候选列表的构建方式与所述第二运动信息候选列表的构建方式相同。
可选地,在本申请实施例中,所述待加入的运动信息包括以下至少一种:
空域相邻块的运动信息、时域相邻块的运动信息、相邻成对平均块的运动信息、基于历史的运动矢量预测HMVP、零运动矢量。
可选地,在本申请实施例中,所述待加入的运动信息的加入顺序的优先级从高到低依次为:
空域相邻块的运动信息、时域相邻块的运动信息、基于历史的运动矢量预测HMVP、相邻成对平均块的运动信息、零运动矢量。
可选地,在本申请实施例中,所述子图像块的数量为两个。
可选地,在本申请实施例中,至少一个所述子图像块是由所述第一图像块经过三角形划分之后得到的。
应理解,该设备600可以用于实现由上述方法300中由处理设备实现的相应操作,为了简洁,在此不再赘述。
图10是根据本申请实施例的视频处理设备700的示意性框图。该视频处理设备700包括:
构建单元710,用于在为当前帧的第一图像块构建第一运动信息候选列表
调整单元720,用于在所述构建单元构建所述第一运动信息候选列表时,将待加入的运动信息中的至少一个目标双运动信息中的每个目标双运动信息调整为一个目标单运动信息,以用于构建所述第一运动信息候选列表;
选择单元730,用于从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;
编码或解码单元740,用于基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
可选地,在本申请实施例中,所述调整单元720进一步用于:
从每个所述目标双运动信息中选择一个运动信息,作为所述目标单运动信息。
可选地,在本申请实施例中,所述调整单元720进一步用于:
根据预设规则,从每个所述目标双运动信息中选择一个运动信息,作为所述目标单运动信息,其中,所述预设规则用于指示从所述目标双运动信息中选择设于特定列表的单运动信息,所述特定列表为第二列表或第一列表。
可选地,在本申请实施例中,所述第一运动信息候选列表中,至少两个所述目标双运动信息对应的所述目标单运动信息所属的列表是不同的,所述所属的列表包括第二列表和第一列表。
可选地,在本申请实施例中,为所述目标双运动信息选择所述目标单运动信息的选择方式是可更新的。
可选地,在本申请实施例中,所述设备用于编码端,所述编码或解码单元740进一步用于:
将所述目标单运动信息的标识写入到编码码流中。
可选地,在本申请实施例中,所述设备用于解码端,所述编码或解码单元740进一步用于:
从解码码流中获取所述目标单运动信息的标识,以用于所述选择单元从所述目标双运动信息中选择所述目标单运动信息。
可选地,在本申请实施例中,所述调整单元720进一步用于:
将每个所述目标双运动信息中的运动信息进行合并处理,以得到一个运动信息,作为所述目标单运动信息。
可选地,在本申请实施例中,所述调整单元720进一步用于:
在将每个所述目标双运动信息中的运动信息进行合并处理之前,将每个所述目标双运动信息中的其中一个运动信息基于另一个运动信息进行缩放。
可选地,在本申请实施例中,所述合并处理为加权处理或平均处理。
可选地,在本申请实施例中,所述调整单元720进一步用于:
确定每个所述目标双运动信息中的各个运动信息的权重,以用于基于所述权重对每个所述目标双运动信息中的运动信息进行所述加权处理;
其中,每个所述目标双运动信息中的各个运动信息的权重的影响因素包括以下中的至少一种:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表的已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表的已加入的运动信息中属于第二列表的运动信息的大小和/或数量。
可选地,在本申请实施例中,所述调整单元720进一步用于:
从多种用于将每个所述目标双运动信息中调整为一个所述目标单运动信息的方法中,选择调整方法;
基于所述调整方法,将每个所述目标双运动信息调整为所述一个目标单运动信息。
可选地,在本申请实施例中,所述调整方法在多种所述方法中的选择基于以下中的至少一种:
所述第一图像块的大小,所述第一图像块的像素值,所述第一图像块相邻区域的像素值,所述第一运动信息候选列表中已加入的运动信息中属于第一列表的运动信息的大小和/或数量,所述第一运动信息候选列表中已加入的运动信息中属于第二列表的运动信息的大小和/或数量。
可选地,在本申请实施例中,多种所述第一方法包括以下方法中的全部或部分:
将所述目标双运动信息中属于第一列表的运动信息确定为所述目标单运动信息;
将所述目标双运动信息中属于第二列表的运动信息确定为所述目标单运动信息;
将所述目标双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行加权处理,以获取所述目标单运动信息;
将所述目标双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行加权处理,以获取所述目标单运动信息;
将所述目标双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行平均处理,以获取所述目标单运动信息;
将所述目标双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行平均处理,以获取所述目标单运动信息。
可选地,在本申请实施例中,所述第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:
能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同;
其中,所述第二运动信息候选列表用于作为一整体的图像块的运动信息的选择。
可选地,在本申请实施例中,所述待加入的运动信息包括以下至少一种:
空域相邻块的运动信息、时域相邻块的运动信息、相邻成对平均块的运动信息、基于历史的运动矢量预测HMVP、零运动矢量。
可选地,在本申请实施例中,所述待加入的运动信息的加入顺序的优先级从高到低依次为:
空域相邻块的运动信息、时域相邻块的运动信息、HMVP、相邻成对平均块的运动信息、零运动矢量。
可选地,在本申请实施例中,所述子图像块的数量为两个。
可选地,在本申请实施例中,至少一个所述子图像块是由所述第一图像块经过三角形划分之后得到的。
应理解,该设备700可以用于实现由上述方法400中由处理设备实现的相应操作,为了简洁,在此不再赘述。
图11是根据本申请实施例的视频处理设备800的示意性框图。该视频处理设备800包括:
构建单元810,用于为当前帧的第一图像块,构建第一运动信息候选列表,所述第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同;其中,所述第二运动信息候选列表用于作为一整体的图像块的运动信息的选择;
选择单元820,用于从所述第一运动信息候选列表中,为所述第一图像块包括的至少一个子图像块分别选择运动信息;
编码或解码单元830,用于基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码。
可选地,在本申请实施例中,所述第一运动信息候选列表的构建方式与所述第二运动信息候选列表的构建方式相同。
可选地,在本申请实施例中,所述待加入的运动信息包括以下至少一种:
空域相邻块的运动信息、时域相邻块的运动信息、相邻成对平均块的运动信息、基于历史的运动矢量预测HMVP、零运动矢量。
可选地,在本申请实施例中,所述能够加入的运动信息的加入顺序的优先级从高到低依次为:
空域相邻块的运动信息、时域相邻块的运动信息、所述HMVP、相邻成对平均块的运动信息、零运动矢量。
可选地,在本申请实施例中,所述子图像块的数量为两个。
可选地,在本申请实施例中,至少一个所述子图像块是由所述第一图像块经过三角形划分之后得到的。
应理解,该设备800可以用于实现由上述方法500中由处理设备实现的相应操作,为了简洁,在此不再赘述。
图12示出了本申请实施例的视频处理设备900的示意性框图。
如图12所示,该视频处理设备900可以包括处理器910,进一步地可以包括存储器920。
应理解,该视频处理设备900还可以包括其他视频处理设备中通常所包括的部件,例如,输入输出设备、通信接口等,本申请实施例对此并不限定。
存储器920用于存储计算机可执行指令。
存储器920可以是各种种类的存储器,例如可以包括高速随机存取存储器(RandomAccess Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本申请实施例对此并不限定。
处理器910用于访问该存储器920,并执行该计算机可执行指令,以进行上述本申请实施例的视频处理方法中的操作。
处理器910可以包括微处理器,现场可编程门阵列(Field-Programmable GateArray,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(GraphicsProcessing Unit,GPU)等,本申请实施例对此并不限定。
本申请实施例的视频处理设备可对应于本申请实施例的视频处理方法的执行主体,并且视频处理设备中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种电子设备,该电子设备可以包括上述本申请各种实施例的用于视频处理的设备。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述本申请实施例的视频处理方法。
应理解,在本申请实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种视频处理方法,其特征在于,包括:
为当前帧的第一图像块,构建第一运动信息候选列表;
从所述第一运动信息候选列表中,为将所述第一图像块划分后得到的至少两个几何形状的子图像块分别选择运动信息,其中,所述第一运动信息候选列表包括至少一个双向运动信息,所述双向运动信息包括两个单向运动信息;
基于所述至少两个几何形状的子图像块的运动信息,对所述第一图像块进行编码;
传输所述至少两个几何形状的子图像块对应的运动信息的索引。
2.一种视频处理方法,其特征在于,包括:
分别获取将当前帧中的第一图像块划分后得到的至少两个几何形状的子图像块对应的运动信息的索引;
为所述第一图像块,构建第一运动信息候选列表;
按照所述运动信息的索引,从所述第一运动信息候选列表中,为所述至少两个几何形状的子图像块分别选择运动信息,其中,所述第一运动信息候选列表包括至少一个双向运动信息,所述双向运动信息包括两个单向运动信息;以及
基于所述至少两个几何形状的子图像块的运动信息,对所述第一图像块进行解码。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述子图像块对应选择的运动信息为第一双向运动信息时,按照预设规则对所述第一双向运动信息进行处理。
4.根据权利要求3所述的方法,其特征在于,所述按照预设规则对所述第一双向运动信息进行处理,包括:
将所述第一双向运动信息调整为一个第一单向运动信息,以作为所述子图像块的运动信息。
5.根据权利要求4所述的方法,其特征在于,所述将所述第一双向运动信息调整为一个第一单向运动信息,包括:
从所述第一双向运动信息中选择一个运动信息,作为所述第一单向运动信息。
6.根据权利要求5所述的方法,其特征在于,所述从所述第一双向运动信息中选择一个运动信息,作为所述第一单向运动信息,包括:
根据预设规则,从所述第一双向运动信息中选择一个运动信息,作为所述第一单向运动信息,其中,所述预设规则用于指示从所述第一双向运动信息中选择设于特定列表的单向运动信息,所述特定列表为第二列表或第一列表。
7.根据权利要求1或2所述的方法,其特征在于,所述第一运动信息候选列表与第二运动信息候选列表包括以下几个相同方面中的一种或多种:
能够加入的运动信息的种类相同、能够加入的相同种类的运动信息在全部种类的运动信息中的加入顺序相同、相同种类内部的运动信息在该类运动信息中的加入顺序相同、能够加入的相同种类的运动信息的确定方式相同;
其中,所述第二运动信息候选列表用于作为一整体的图像块的运动信息的选择。
8.根据权利要求1或2所述的方法,其特征在于,所述第一运动信息候选列表中待加入的运动信息包括以下至少一种:
空域相邻块的运动信息、时域相邻块的运动信息、相邻成对平均块的运动信息、基于历史的运动矢量预测HMVP或零运动矢量。
9.根据权利要求1或2所述的方法,其特征在于,所述待加入的运动信息的加入顺序的优先级从高到低依次为:
空域相邻块的运动信息、时域相邻块的运动信息、基于历史的运动矢量预测HMVP、相邻成对平均块的运动信息或零运动矢量。
10.根据权利要求1或2所述的方法,其特征在于,所述第一运动信息候选列表与普通merge模式下的运动信息候选列表的构建方式相同。
11.一种视频处理方法,其特征在于,包括:
为当前帧的第一图像块,构建第一运动信息候选列表;
从所述第一运动信息候选列表中,为将所述第一图像块划分后得到的至少两个几何形状的子图像块分别选择运动信息,其中,所述第一运动信息候选列表包括至少一个双向运动信息,所述双向运动信息包括两个单向运动信息;
基于所述至少两个几何形状的子图像块的运动信息,对所述第一图像块进行编码;
生成码流,所述码流中包括所述至少两个几何形状的子图像块对应的运动信息的索引;
传输所述码流。
12.一种视频处理方法,其特征在于,包括:
为当前帧的第一图像块,构建第一运动信息候选列表,所述第一运动信息候选列表包括至少一个双运动信息;
为所述第一图像块包括的至少一个子图像块分别选择运动信息;
基于至少一个所述子图像块的运动信息,对所述第一图像块进行编码或解码;
其中,若为所述子图像块选择的运动信息为双运动信息,则确定将所述双运动信息调整为单运动信息,所述确定将所述双运动信息调整为单运动信息的方法包括如下多种方法:
将所述双运动信息中属于第一列表的运动信息确定为所述单运动信息;
将所述双运动信息中属于第二列表的运动信息确定为所述单运动信息;
将所述双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行加权处理,以得到所述单运动信息;
将所述第一双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行加权处理,以得到所述单运动信息;
将所述双运动信息中属于所述第二列表的运动信息基于属于所述第一列表的运动信息进行缩放,并将属于所述第一列表的运动信息与缩放后的属于所述第二列表的运动信息进行平均处理,以得到所述单运动信息;以及
将所述双运动信息中属于所述第一列表的运动信息基于属于所述第二列表的运动信息进行缩放,并将属于所述第二列表的运动信息与缩放后的属于所述第一列表的运动信息进行平均处理,以得到所述单运动信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310506399.XA CN116389769A (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980005021.3A CN111279701B (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
PCT/CN2019/078055 WO2020181543A1 (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
CN202310506399.XA CN116389769A (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980005021.3A Division CN111279701B (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116389769A true CN116389769A (zh) | 2023-07-04 |
Family
ID=70999801
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310506399.XA Pending CN116389769A (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
CN201980005021.3A Active CN111279701B (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
CN202310505330.5A Pending CN116320484A (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980005021.3A Active CN111279701B (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
CN202310505330.5A Pending CN116320484A (zh) | 2019-03-13 | 2019-03-13 | 视频处理方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210409720A1 (zh) |
EP (1) | EP3926956A4 (zh) |
JP (1) | JP2022533295A (zh) |
KR (1) | KR20210134038A (zh) |
CN (3) | CN116389769A (zh) |
WO (1) | WO2020181543A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220016075A (ko) | 2019-06-04 | 2022-02-08 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 모션 후보 리스트 구성 프로세스의 조건부 구현 |
WO2020244571A1 (en) | 2019-06-04 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate list construction using neighboring block information |
EP3967040A4 (en) | 2019-06-06 | 2022-11-30 | Beijing Bytedance Network Technology Co., Ltd. | CONSTRUCTION OF MOTION CANDIDATE LISTS FOR VIDEO ENCODING |
CN114128295B (zh) | 2019-07-14 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 视频编解码中几何分割模式候选列表的构建 |
CN117596389A (zh) | 2019-09-28 | 2024-02-23 | 北京字节跳动网络技术有限公司 | 视频编解码中的几何分割模式 |
EP4052469A4 (en) * | 2019-12-03 | 2023-01-25 | Huawei Technologies Co., Ltd. | METHOD, DEVICE, CODING SYSTEM WITH FUSION MODE |
CN112004097B (zh) * | 2020-07-30 | 2021-09-14 | 浙江大华技术股份有限公司 | 帧间预测方法、图像处理装置以及计算机可读存储介质 |
WO2024117694A1 (ko) * | 2022-12-01 | 2024-06-06 | 현대자동차주식회사 | 템플릿 매칭 기반 인터 예측을 이용하는 비디오 코딩을 위한 방법 및 장치 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10362327B2 (en) * | 2011-01-14 | 2019-07-23 | Sony Corporation | B-picture syntax change for generalized bi-prediction in high efficiency video coding (HEVC) |
KR20120090740A (ko) * | 2011-02-07 | 2012-08-17 | (주)휴맥스 | 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법 |
HUE066386T2 (hu) * | 2011-05-31 | 2024-07-28 | Jvckenwood Corp | Mozgókép-kódoló eszköz, mozgókép-kódoló eljárás és mozgókép-kódoló program, valamint mozgókép-dekódoló eszköz, mozgókép-dekódoló eljárás és mozgókép-dekódoló program |
US9426463B2 (en) * | 2012-02-08 | 2016-08-23 | Qualcomm Incorporated | Restriction of prediction units in B slices to uni-directional inter prediction |
US9325991B2 (en) * | 2012-04-11 | 2016-04-26 | Qualcomm Incorporated | Motion vector rounding |
US9693060B2 (en) * | 2012-11-16 | 2017-06-27 | Qualcomm Incorporated | Device and method for scalable coding of video information |
US9491460B2 (en) * | 2013-03-29 | 2016-11-08 | Qualcomm Incorporated | Bandwidth reduction for video coding prediction |
CN105393540A (zh) * | 2013-07-18 | 2016-03-09 | Lg电子株式会社 | 用于处理视频信号的方法和设备 |
BR112017019264B1 (pt) * | 2015-03-10 | 2023-12-12 | Huawei Technologies Co., Ltd | Método de predição de imagem e dispositivo relacionado |
US10171810B2 (en) * | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
EP3357245A4 (en) * | 2015-11-05 | 2019-03-13 | MediaTek Inc. | METHOD AND DEVICE OF INTERPRESSATION USING AN AVERAGE MOTION VECTOR FOR VIDEO CODING |
US10368083B2 (en) * | 2016-02-15 | 2019-07-30 | Qualcomm Incorporated | Picture order count based motion vector pruning |
US10462462B2 (en) * | 2016-09-29 | 2019-10-29 | Qualcomm Incorporated | Motion vector difference coding technique for video coding |
KR102427789B1 (ko) * | 2017-10-10 | 2022-08-02 | 한국전자통신연구원 | 인터 예측 정보를 사용하는 방법 및 장치 |
WO2019078664A1 (ko) * | 2017-10-20 | 2019-04-25 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
-
2019
- 2019-03-13 CN CN202310506399.XA patent/CN116389769A/zh active Pending
- 2019-03-13 KR KR1020217032916A patent/KR20210134038A/ko not_active Application Discontinuation
- 2019-03-13 JP JP2021549863A patent/JP2022533295A/ja active Pending
- 2019-03-13 EP EP19918871.5A patent/EP3926956A4/en active Pending
- 2019-03-13 CN CN201980005021.3A patent/CN111279701B/zh active Active
- 2019-03-13 CN CN202310505330.5A patent/CN116320484A/zh active Pending
- 2019-03-13 WO PCT/CN2019/078055 patent/WO2020181543A1/zh unknown
-
2021
- 2021-09-13 US US17/473,725 patent/US20210409720A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022533295A (ja) | 2022-07-22 |
US20210409720A1 (en) | 2021-12-30 |
EP3926956A1 (en) | 2021-12-22 |
CN111279701A (zh) | 2020-06-12 |
CN116320484A (zh) | 2023-06-23 |
EP3926956A4 (en) | 2022-11-09 |
WO2020181543A1 (zh) | 2020-09-17 |
CN111279701B (zh) | 2023-05-23 |
KR20210134038A (ko) | 2021-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111279701B (zh) | 视频处理方法和设备 | |
KR102130821B1 (ko) | 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체 | |
US11375226B2 (en) | Method and apparatus of video coding with affine motion compensation | |
AU2018294206B2 (en) | Motion vector refinement for multi-reference prediction | |
KR101903602B1 (ko) | 영상 복호화 방법 및 장치 | |
TWI617185B (zh) | 具有仿射運動補償的視訊編碼的方法以及裝置 | |
WO2017148345A1 (en) | Method and apparatus of video coding with affine motion compensation | |
KR20210089147A (ko) | 인터-예측을 위한 대역폭 제어 방법 | |
KR20210089149A (ko) | 인터 및 인트라 통합 예측 모드 가중치 | |
CN114128258A (zh) | 视频编解码中的变换块尺寸的限制 | |
KR20210134644A (ko) | 변환된 단예측 후보의 사용 | |
CN110740321A (zh) | 基于更新的运动矢量的运动预测 | |
US20190349589A1 (en) | Image processing method based on inter prediction mode, and apparatus therefor | |
CN110337810B (zh) | 用于视频处理的方法和设备 | |
CN112154666A (zh) | 视频编解码方法和装置 | |
CN111670578B (zh) | 一种视频编码或解码方法、装置、设备及存储介质 | |
CN112204983A (zh) | 一种视频处理方法、设备及存储介质 | |
CN111713109B (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 |