CN111355958A - 视频解码方法及装置 - Google Patents
视频解码方法及装置 Download PDFInfo
- Publication number
- CN111355958A CN111355958A CN201811574721.8A CN201811574721A CN111355958A CN 111355958 A CN111355958 A CN 111355958A CN 201811574721 A CN201811574721 A CN 201811574721A CN 111355958 A CN111355958 A CN 111355958A
- Authority
- CN
- China
- Prior art keywords
- image block
- prediction
- decoded
- mmvd
- prediction unit
- 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
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/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
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供一种视频解码方法及装置,涉及视频编解码技术领域,能够解决现有技术中编码后的视频质量较低的问题。该方法包括:解析码流,码流包括预测模式标识位和合并运动矢量差MMVD标识位,预测模式标识位用于指示待解码图像块的预测模式,预测模式包括三角预测单元模式和联合帧间‑帧内预测模式中的至少一种,MMVD标识位用于指示待解码图像块的运动信息的获取方式,之后根据预测模式标识位和MMVD标识位解码待解码图像块。该方法应用在视频编解码过程中。
Description
技术领域
本申请涉及视频编解码技术领域,尤其涉及一种视频解码方法及装置。
背景技术
随着互联网技术的发展,各种互联网业务的热度不断提升。其中,用户对视频业务的质量需求也不断提升。通常,视频质量与视频的编解码方式密不可分,较好的视频编解码方式可保证在传输同等质量的视频图像的情况下,使用更低的码率,即可以传输更少的数据量。
目前的视频编解码方案中,在编码端,通过选择划分模式可以将视频帧划分为几个图像块,通过选择预测模式对图像块进行预测,并向解码侧发送图像块的预测值。解码侧基于图像块的预测值,恢复重构该图像块。
通过不同划分模式和预测模式的结合,可以完成图像块的编解码。但是,通过上述划分模式和预测模式结合的方式来编解码图像块,得到图像块的质量较低。
发明内容
本申请实施例提供一种视频解码方法及装置,使得解码得到的图像质量较高。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种视频解码方法,该方法应用于视频解码设备或视频解码设备的芯片中,该方法包括:解析码流,码流包括预测模式标识位和合并运动矢量差MMVD标识位,预测模式标识位用于指示待解码图像块的预测模式,预测模式包括三角预测单元模式和联合帧间-帧内预测模式中的至少一种,MMVD标识位用于指示待解码图像块的运动信息的获取方式,之后,根据预测模式标识位和MMVD标识位解码待解码图像块。
本申请实施例提供的解码方法,视频解码器解析码流,并根据码流中包含的预测模式标识位和MMVD标识位解码待解码图像块。其中,预测模式标识位和MMVD标识位的结合,可用于指示在当前预测模式下是否采用MMVD对待解码图像块进行运动补偿,相比于现有技术中通过划分模式和预测模式的结合来解码图像块,本申请实施例的解码方法,可利用MMVD提升当前图像块的预测值的准确性,使得解码得到的图像质量较高。
在一种可能的设计中,预测模式为三角预测单元模式,待解码图像块由第一预测单元和第二预测单元构成,MMVD标识位包括MMVD指示位、步长标识和方向标识。MMVD指示位用于指示待解码图像块的运动信息获取方式是否为MMVD。
可选的,根据预测模式标识位和MMVD标识位解码待解码图像块,具体实现为如下步骤:
当MMVD指示位为1,且预测模式标识位指示待解码图像块的预测模式为三角预测单元模式时,说明需采用MMVD对待解码图像块进行运动补偿。此时,可选的,采用MMVD对第一预测单元进行运动补偿,以得到第一预测单元的MV,具体的:获取第一预测单元的预测运动矢量MVP,并根据第一预测单元的MVP、步长标识和方向标识确定第一预测单元的运动矢量MV。可选的,采用MMVD对第二预测单元进行运动补偿:获取第二预测单元的MVP,并根据第二预测单元的MVP、步长标识和方向标识确定第二预测单元的MV。也就是说,可以采用MMVD对第一预测单元进行运动补偿,采用其他运动补偿方式对第二预测单元进行运动补偿。也可以采用MMVD对第二预测单元进行运动补偿,采用其他运动补偿方式对第一预测单元进行运动补偿。还可以采用MMVD对第一预测单元和第二预测单元进行运动补偿。
之后,根据第一预测单元的MV和第二预测单元的MV解码待解码图像块。
当MMVD指示位为0,且预测模式标识位指示待解码图像块的预测模式为三角预测单元模式时,说明不采用MMVD对待解码图像块进行运动补偿。此时,直接按照现有技术的流程分别对第一预测单元和第二预测单元进行解码。具体的,获取第一预测单元的预测值,以及获取第二预测单元的预测值,并根据第一预测单元的预测值和第二预测单元的预测值解码待解码图像块。
在一种可能的设计中,预测模式为联合帧间-帧内预测模式。
可选的,根据预测模式标识位和MMVD标识位解码待解码图像块,具体实现为如下步骤:
当MMVD指示位为1,且预测模式标识位指示待解码图像块的预测模式为联合帧间-帧内预测模式时,说明需采用MMVD对待解码图像块进行运动补偿。此时,按照如下步骤解码该待解码图像块:获取待解码图像块的MVP,并根据待解码图像块的MVP、步长标识和方向标识确定待解码图像块的MV。根据待解码图像块的MV确定待解码图像块的帧间预测的预测值,以及对待解码图像块进行帧内预测,以得到待解码图像块的帧内预测的预测值。根据待解码图像块的帧间预测的预测值和待解码图像块的帧内预测的预测值解码待解码图像块。
当MMVD指示位为0,且预测模式标识位指示待解码图像块的预测模式为联合帧间-帧内预测模式时,说明不采用MMVD对待解码图像块进行运动补偿。此时,直接按照现有技术的流程对待解码图像块进行解码。具体的,对待解码图像块进行帧间预测,以得到待解码图像块的帧间预测的预测值,以及对待解码图像块进行帧内预测,以得到待解码图像块的帧内预测的预测值。之后,根据待解码图像块的帧间预测的预测值和待解码图像块的帧内预测的预测值解码待解码图像块。
在一种可能的设计中,MMVD标识位还包括MMVD初始位置标识。
在待解码图像块的预测模式为三角预测单元模式的情况下:
可选的,获取第一预测单元的预测运动矢量MVP,具体实现为:解析码流,获取码流中第一预测单元的MMVD初始位置标识,并根据第一预测单元的MMVD初始位置标识获取第一预测单元的MVP。
类似的,获取第二预测单元的MVP,具体实现为:解析码流,获取码流中第二预测单元的MMVD初始位置标识,并根据第二预测单元的MMVD初始位置标识获取第二预测单元的MVP。
可选的,获取第一预测单元的预测运动矢量MVP,具体实现为:解析码流,获取码流中第一预测单元的MVP信息,并根据第一预测单元的MVP信息获取第一预测单元的MVP。
获取第二预测单元的MVP,具体实现为:获取码流中第二预测单元的MVP信息,并根据第二预测单元的MVP信息获取第二预测单元的MVP。
在待解码图像块的预测模式为联合帧间-帧内预测模式的情况下:
可选的,获取待解码图像块的MVP,具体实现为:解析码流,得到码流中待解码图像块的MMVD初始位置标识,并根据待解码图像块的MMVD初始位置标识获取待解码图像块的MVP。
可选的,获取待解码图像块的MVP,具体还可以实现为:解析码流,得到码流中待解码图像块的MVP信息,并根据待解码图像块的MVP信息获取待解码图像块的MVP。
第二方面,本申请提供一种视频解码装置,该装置可为视频解码器或者视频解码器中的芯片。该装置包括解析单元和解码单元。
其中,解析单元,用于解析码流,码流包括预测模式标识位和合并运动矢量差MMVD标识位,预测模式标识位用于指示待解码图像块的预测模式,预测模式包括三角预测单元模式和联合帧间-帧内预测模式中的至少一种,MMVD标识位用于指示待解码图像块的运动信息的获取方式。
解码单元,用于根据预测模式标识位和MMVD标识位解码待解码图像块。
在一种可能的设计中,MMVD标识位包括MMVD指示位、步长标识和方向标识,MMVD指示位用于指示待解码图像块的运动信息获取方式是否为MMVD。
在一种可能的设计中,预测模式为三角预测单元模式,待解码图像块由第一预测单元和第二预测单元构成,
可选的,解码单元,用于根据预测模式标识位和MMVD标识位解码待解码图像块,包括:用于当MMVD指示位为1,且预测模式标识位指示待解码图像块的预测模式为三角预测单元模式时,获取第一预测单元的预测运动矢量MVP,和/或,获取第二预测单元的MVP;根据第一预测单元的MVP、步长标识和方向标识确定第一预测单元的运动矢量MV,和/或,根据第二预测单元的MVP、步长标识和方向标识确定第二预测单元的MV;根据第一预测单元的MV和第二预测单元的MV解码待解码图像块。
可选的,当MMVD指示位为0,且预测模式标识位指示待解码图像块的预测模式为三角预测单元模式时,解码单元,用于根据预测模式标识位和MMVD标识位解码待解码图像块,包括:用于获取第一预测单元的预测值,以及获取第二预测单元的预测值;根据第一预测单元的预测值和第二预测单元的预测值解码待解码图像块。
在一种可能的设计中,预测模式为联合帧间-帧内预测模式。
可选的,解码单元,用于根据预测模式标识位和MMVD标识位解码待解码图像块,包括:用于当MMVD指示位为1,且预测模式标识位指示待解码图像块的预测模式为联合帧间-帧内预测模式时,获取待解码图像块的MVP;根据待解码图像块的MVP、步长标识和方向标识确定待解码图像块的MV;根据待解码图像块的MV确定待解码图像块的帧间预测的预测值,以及对待解码图像块进行帧内预测,以得到待解码图像块的帧内预测的预测值;根据待解码图像块的帧间预测的预测值和待解码图像块的帧内预测的预测值解码待解码图像块;
可选的,当MMVD指示位为0,且预测模式标识位指示待解码图像块的预测模式为联合帧间-帧内预测模式时,解码单元,用于根据预测模式标识位和MMVD标识位解码待解码图像块,还包括:用于对待解码图像块进行帧间预测,以得到待解码图像块的帧间预测的预测值,以及对待解码图像块进行帧内预测,以得到待解码图像块的帧内预测的预测值;根据待解码图像块的帧间预测的预测值和待解码图像块的帧内预测的预测值解码待解码图像块。
在一种可能的设计中,MMVD标识位还包括MMVD初始位置标识。
在待解码图像块的预测模式为三角预测单元的情况下:
可选的,获取第一预测单元的预测运动矢量MVP,和/或,获取第二预测单元的MVP,包括:解析码流,获取码流中第一预测单元的MMVD初始位置标识,和/或,获取码流中第二预测单元的MMVD初始位置标识;根据第一预测单元的MMVD初始位置标识获取第一预测单元的MVP,和/或,根据第二预测单元的MMVD初始位置标识获取第二预测单元的MVP。
可选的,获取第一预测单元的预测运动矢量MVP,和/或,获取第二预测单元的MVP,包括:解析码流,获取码流中第一预测单元的MVP信息,和/或,获取码流中第二预测单元的MVP信息;根据第一预测单元的MVP信息获取第一预测单元的MVP,和/或,根据第二预测单元的MVP信息获取第二预测单元的MVP。
在待解码图像块的预测模式为联合帧间-帧内预测模式的情况下:
可选的,获取待解码图像块的MVP,包括:解析码流,得到码流中待解码图像块的MMVD初始位置标识;根据待解码图像块的MMVD初始位置标识获取待解码图像块的MVP。
可选的,获取待解码图像块的MVP,包括:解析码流,得到码流中待解码图像块的MVP信息;根据待解码图像块的MVP信息获取待解码图像块的MVP。
第三方面,本申请实施例提供一种视频解码装置,该装置具有实现上述第一方面中任一项的视频解码方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,提供一种视频解码装置,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该视频解码装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该视频解码装置执行如上述第一方面中任一项的视频解码方法。
第五方面,提供一种视频解码装置,包括:处理器;处理器用于与存储器耦合,并读取存储器中的指令之后,根据指令执行如上述第一方面中任一项的视频解码方法。
第六方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项的视频解码方法。
第七方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项的视频解码方法。
第八方面,提供一种电路***,电路***包括处理电路,处理电路被配置为执行如上述第一方面中任一项的视频解码方法。
第九方面,提供一种芯片,芯片包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面任意一项的视频解码方法。
第十方面,提供一种通信***,通信***包括上述各个方面中第一方面中的视频解码装置和视频编码装置。
其中,第二方面至第十方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为三角预测单元模式下图像块的划分示意图;
图2为垂直预测模式的示意图;
图3为本申请实施例提供的编解码***的***架构图;
图4为本申请实施例提供的视频编码器的结构示意图;
图5为本申请实施例提供的视频解码器的结构示意图;
图6为本申请实施例提供的视频解码方法的流程图一;
图7为本申请实施例提供的视频解码方法的流程图二;
图8为本申请实施例提供的视频解码方法的流程图三;
图9为三角预测单元模式下计算图像块的预测值的示意图;
图10为当前帧所选取的两个参考帧的示意图;
图11为MMVD流程的示意图;
图12为本申请实施例提供的解码装置的结构示意图;
图13为本申请实施例提供的解码装置的结构示意图;
图14为本申请实施例提供的解码装置的结构示意图。
具体实施方式
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
首先,对本申请实施例涉及的技术术语进行介绍:
视频序列:视频中完整的图像通常被称为“帧”,由许多帧按照时间顺序组成的视频被称为视频序列(Video Sequence)。
视频编码技术:视频序列存在空间冗余、时间冗余、视觉冗余、信息熵冗余、结构冗余、知识冗余、重要性冗余等一系列的冗余信息。为了尽可能的去除视频序列中的冗余信息,减少表征视频的数据量,提出了视频编码(Video Coding)技术,以达到减小存储空间和节省传输带宽的效果。视频编码技术也称为视频压缩技术。
在国际通用范围内,视频压缩编码标准,例如:由运动图像专家组(MotionPicture Experts Group,MPEG)制定的MPEG-2和MPEG-4标准中第10部分的高级视频编解码(Advanced Video Coding,AVC),由国际电信联盟电信标准化部门(InternationalTelecommunication Uion-Telecommunication Standardization Sector,ITU-T)制定的H.263、H.264和H.265(又称高效率视频编解码(High Efficiency Video Codingstandard,HEVC))。
需要说明的是,在基于混合编码架构的编码算法中,上述压缩编码方式可以被混合使用。
划分模式:视频压缩编码过程中的基本处理单位是图像块,该图像块是编码端将一帧/幅图像进行划分得到的。划分模式即指的是将一帧/幅图像划分为多个图像块时采用的划分方式。以HEVC为例,HEVC定义了CTU、编码单元(Coding Unit,CU)、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU)。CTU、CU、PU和TU均可作为划分后得到的图像块。
预测模式:由于视频序列具有时域冗余、空域冗余等特性,因此,可利用这些冗余特性对图像块进行预测。比如,在同一帧图像中由于相邻图像块之间存在相关性,故而可根据相邻图像块推测(预测)当前图像块的值,在不同帧图像中,对于某一坐标位置的图像块来说,前一时刻该图像块的值与后一时刻该图像块的值具有相关性,故而可根据前一时刻该图像块的值预测后一时刻该图像块的值。预测当前图像块所采用的方式称为预测模式。
需要说明的是,在不同的视频编码技术标准中,预测模式可能不同。示例性的,预测模式包括帧内预测和帧间预测。帧内预测包括垂直预测模式、水平预测模式、左下预测模式、右下预测模式、右垂直预测模式等。帧间预测模式包括运动估计等。
以帧间预测中的运动估计为例,运动估计的目的在于在多个参考帧中,搜索到与当前图像块最相似的图像块。该最相似的图像块称为预测块。相似是指图像块的纹理特征、色度、亮度等较为接近。当采用单向预测时,参考帧可以为当前帧的前一帧,也可以为当前帧的后一帧。当采用双向预测时,参考帧可以为当前帧的前一帧和后一帧。本申请实施例的视频解码方法并不限制参考帧的数量以及参考帧与当前帧的时间先后顺序。
以帧内预测中的垂直预测模式为例,在垂直预测模式下,可使用相邻图像块来预测当前图像块的值。参见图2,当前图像块为箭头所指的CU_8*8(即8*8的CU),相邻图像块可以为图2所示的编号1至8的CU_1*1,可根据这8个CU_1*1的像素值得到CU_8*8的像素预测值,比如,求取这8个CU_1*1的像素的平均值作为CU_8*8的像素预测值。
运动信息:在对图像块进行预测时,需获取图像块的运动信息。示例性的,运动信息可以为图像块的运动矢量(Motion Vector,MV)。
如下介绍两种预测模式,即三角预测单元模式和联合帧间-帧内(combined intermerge/intra prediction)预测模式。
三角预测单元(Triangle PU)模式:在做帧内预测或帧间预测时,将当前图像块划分为两个三角预测单元(Triangle PU),这种划分模式被称为三角预测单元模式。
示例性的,参见图1,当前图像块被划分为两个三角预测单元PU1和PU2。可选的,如图1中(a),可采取左上/右下划分方式划分三角预测单元,还可以如图1中(b),采取左下/右上划分方式划分三角预测单元。
在编码侧(视频编码器),对于每个三角预测单元,从该三角预测单元的预测候选列表中选取该三角预测单元的运动矢量和参考帧,并根据该三角预测单元的运动矢量确定该三角预测单元的预测值。之后,计算当前图像块中除两个三角预测单元外的图像区域(在本文中也可称为三角形斜边区域)的预测值,得到整个当前图像块的预测值。之后,对整个当前图像块进行变换和量化等过程,得到包含图像块数据的码流,并向解码侧(视频解码器)发送该码流。相应的,在解码侧,视频解码器可以对当前图像块包含的两个预测单元分别进行解码,以恢复重建当前图像块。
其中,参见图1,计算三角形斜边区域的预测值时,可采用如下两组加权参数:
需要说明的是,当两个预测单元的参考帧不同或它们的运动矢量之间差异大于16个像素时,使用第二组加权参数对两个预测值进行加权,否则使用第一组的加权参数对两个预测值进行加权。
第一组加权参数:{7/8,6/8,4/8,2/8,1/8}、{7/8,4/8,1/8}。
这里,{7/8,6/8,4/8,2/8,1/8}用于加权PU1和PU2亮度分量的预测值。{7/8,4/8,1/8}用于加权PU1和PU2的色度分量的预测值。
第二组加权参数:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}及{6/8,4/8,2/8}。
这里,{7/8,6/8,5/8,4/8,3/8,2/8,1/8}用于加权PU1和PU2亮度分量的预测值,{6/8,4/8,2/8}用于加权PU1和PU2的色度分量的预测值。
示例性的,以对亮度分量进行预测为例,参见图9,右上方的三角预测单元(右上方填充为黑色的部分)的亮度预测值为P1,左下方的三角预测单元(左下方填充为黑色的部分)的亮度预测值为P2,假设采用第一组加权参数计算三角形斜边区域的预测值。具体的,三角形斜边区域包括标注7的像素块、标注6的像素块、标注4的像素块、标注2的像素块和标注1的像素块,相应的,三角形斜边区域的预测值由上述标注为7、6、4、2、1的各像素块的预测值确定。其中,标注7的像素块的预测值为标注6的像素块的预测值为标注4的像素块的预测值为标注2的像素块的预测值为标注1的像素块的预测值为容易理解的是,在得到三角形斜边区域中每一像素块的预测值后,可以由各像素块的预测值得到三角形斜边区域的预测值。
需要说明的是,在本申请实施例中,预测可以指单向预测,也可以指双向预测。本申请实施例对预测方向不进行限制。
运动矢量(MV):对于当前帧的当前图像块,把它与参考帧中的部分图像块进行比较,并且寻找部分图像块中与当前图像块最相似的最佳匹配图像块。最佳匹配图像块与当前图像块之间的位移称为运动矢量。其中,参考帧可以为当前帧之前的视频帧,也可以是当前帧,还可以是当前帧之后的视频帧,参考帧可以为一帧或多帧。
预测运动矢量(Motion Vector Prediction,MVP):由于物体运动的连续性,运动矢量在时间域(本文中也称为时域)上存在相关性,也就是说,可以将前一帧中与当前图像块坐标位置相同的图像块的运动矢量作为当前图像块的运动矢量的预测值,该运动矢量的预测值也称为预测运动矢量。另外,运动矢量在空间域(本文中也称为空域,指的是图像块在一帧视频中的位置坐标)上也存在相关性。如此,可以将当前图像块的相邻图像块的运动矢量作为当前图像块的预测运动矢量。
预测候选列表:在一个示例中,预测候选列表包括5个候选的预测运动矢量(MVP)。这5个MVP由7个相邻图像块得到。其中,图像块1至5为同一帧中当前图像块在空域上的相邻图像块,图像块6、7为其他视频帧中与当前图像块具有相同坐标位置的图像块。可以在7个图像块中,选取5个图像块的MV,并将选取的5个图像块的MV分别添加进预测候选列表中,作为当前图像块的5个候选的MVP。可以理解的是,如果当前图像块的相邻图像块个数不足5个,可以将零运动矢量添加入预测候选列表中。
联合帧间-帧内预测模式:在这种预测模式中,采用两种预测模式对当前图像块进行预测,即采用帧内预测模式得到当前图像块的第一预测值,采用帧间预测模式得到当前图像块的第二预测值,并根据第一预测值和第二预测值在解码侧恢复重建当前图像块。
对于亮度分量,联合帧间-帧内预测模式中的帧内预测模式包括均值(DC)模式、平面(PLANAR)模式、水平预测模式、垂直预测模式。示例性的,基于块大小,帧内预测的预测候选列表长度可为3或者4。当图像块的宽度大于高度的两倍,该图像块的帧内预测模式包括DC模式、PLANAR模式和垂直预测模式。当图像块的高度大于宽度的两倍,该图像块的帧内预测模式包括DC模式、PLANAR模式和水平预测模式。
类似的,对于色度分量,也可以根据图像块的尺寸等因素确定图像块的帧内预测模式。这里不再赘述。
需要说明的是,三角预测单元模式在某些场景中也可称为三角模式,或者其他名称。联合帧间-帧内预测模式也可称为合并模式,联合帧间-帧内预测模式,或者混合模式,或者其他名称。可以理解的是,模式名称对模式本身并不构成限制。
合并运动矢量差(merge with motion vector difference/merge with MVD,MMVD):在预测候选列表中选取其中一个或多个MVP之后,为了使得运动估计的结果能够更加准确,可以对MVP叠加一个偏移量,以确定最终的MV。为MVP叠加偏移量这一技术称为MMVD。
其中,叠加的偏移量称为MVD。最终的MV=MVP+MVD。所叠加的偏移量,即MVD可用MMVD初始位置,运动步长以及运动方向表示。
MMVD初始位置表示MV的初始位置,即MVP的位置。MVP的位置可由MMVD初始位置标识位来指示。MMVD初始位置标识位可以为Base candidate IDX标识位。参见表1,为Basecandidate IDX标识位的一种示例性的定义方式:
表1
其中,如上述表1,Base candidate IDX标识位的长度可以为2位。若当前图像块的Base candidate IDX标识位为00(对应十进制0),表明编码侧选取预测候选列表中的第一个MVP作为当前图像块的MVP,相应的,在解码侧也选取第一个MVP作为当前图像块的MVP。当Base candidate IDX标识位为10(对应十进制2)时,表明编码侧选取预测候选列表中的第三个MVP作为当前图像块的MVP,以此类推。
需要说明的是,表1仅为Base candidate IDX标识位的一种示例性定义方式,可以理解的是,在其他场景中,比如当预测候选列表中包含的MVP数目发生变化时,Basecandidate IDX标识位的定义方式可能发生变化。本申请实施例不对Base candidate IDX标识位的具体定义方式进行限制。
运动步长表示MV相对于MVP的距离偏移。该距离偏移可由像素值表示,具体的,运动步长可以由距离索引(Distance IDX)来指示。参见表2,为Distance IDX的一种示例性定义方式:
表2
如上述表2,示例性的,Distance IDX标识位的长度可以为3位,其中,DistanceIDX标识位000(对应十进制0)表示MV相对于初始的MVP的距离偏移为1/4个像素,DistanceIDX标识位001(对应十进制0)表示MV相对于MVP的距离偏移为1/2个像素,以此类推。
可选的,运动方向可由方向索引(Direction IDX)标识来指示。其表征基于初始位置的MVP的运动矢量差(MVD)的方向。参见表3,为Direction IDX标识的一种示例性的定义:
表3
Direction IDX | 00 | 01 | 10 | 11 |
(x轴)x-axis | + | – | N/A | N/A |
(y轴)y-axis | N/A | N/A | + | – |
如上述表3,Direction IDX标识位的长度可以为2。其中,Direction IDX标识位00表示沿x轴正向,即沿水平方向为MVP叠加一个正向的MVD,Direction IDX标识位01表示沿x轴负向,即沿水平方向为MVP叠加一个负向的MVD。其中,正向和负向可根据视频编解码***的应用场景定义,这里不做限定。
如此,在一个示例中,当Base candidate IDX标识位为00、Distance IDX标识位为001、Direction IDX标识位为01时,表示在预测候选列表中第一个MVP的基础上,沿x轴负向,为该第一个MVP叠加一个偏移1/2像素的MVD。
参见图10,示出了当前帧的两个参考帧,即L0帧和L1帧,其中,L0帧为当前帧的前一帧,L1帧为当前帧的后一帧。具体的,MMVD的过程示意图可参见图11。参见图11中(a),参考帧L0中,中心的白色圆点表示MVP所指向的像素位置,该白色圆点邻近的四个黑色圆点可分别表示中心白色圆点沿着x轴负向(比如如图11所示的下方)、x轴正向(比如上方)、y轴负向(左侧)、y轴正向(右侧)偏移1/4像素后得到的位置。其中,对于中心白色圆点上方的黑色圆点,由中心白色圆点到该黑色圆点产生的MVD,其对应的步长为1/4像素,方向为上,对于中心白色圆点下方的黑色圆点,其对应的步长为1/4像素,方向为下,以此类推。类似的,方框中的四个白色圆点可分别表示中心白色圆点沿着x轴负向(比如如图11所示的下方)、x轴正向(比如上方)、y轴负向(左侧)、y轴正向(右侧)偏移1/2像素后得到的位置,以此类推。同样,在图11中(b)中,由中心白色圆点到各个像素点分别产生的各个MVD对应的步长和方向可参考图11中(a)的表述,这里不再赘述。
本申请提供的解码方法适用于视频编解码***。图3示出了视频编解码***的结构。
如图3所示,视频编解码***包含源装置30和目的装置31。源装置30产生经过编码后的视频数据,源装置30也可以被称为视频编码装置或视频编码设备,目的装置31可以对源装置30产生的经过编码后的视频数据进行解码,目的装置31也可以被称为视频解码装置或视频解码设备。源装置30和/或目的装置31可包含至少一个处理器以及耦合到所述至少一个处理器的存储器。所述存储器可包含但不限于只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,本申请对此不作具体限定。
源装置30和目的装置31可以包括各种装置,包含桌上型计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
目的装置31可经由链路32从源装置30接收经编码视频数据。链路32可包括能够将经编码视频数据从源装置30移动到目的装置31的一个或多个媒体和/或装置。在一个实例中,链路32可包括使得源装置30能够实时地将编码后的视频数据直接发射到目的装置31的一个或多个通信媒体。在此实例中,源装置30可根据通信标准(例如:无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的装置31。上述一个或多个通信媒体可包含无线和/或有线通信媒体,例如:射频(Radio Frequency,RF)频谱、一个或多个物理传输线。上述一个或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)等。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装置30到目的装置31的通信的其它设备。
在另一实例中,可将编码后的视频数据从输出接口303输出到存储装置33。类似地,可通过输入接口313从存储装置33存取编码后的视频数据。存储装置33可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(Digital Video Disc,DVD)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,存储装置33可对应于文件服务器或存储由源装置30产生的编码后的视频数据的另一中间存储装置。在此实例中,目的装置31可经由流式传输或下载从存储装置33获取其存储的视频数据。文件服务器可为任何类型的能够存储经编码的视频数据并且将经编码的视频数据发射到目的装置31的服务器。例如,文件服务器可以包含全球广域网(World Wide Web,Web)服务器(例如,用于网站)、文件传送协议(File TransferProtocol,FTP)服务器、网络附加存储(Network Attached Storage,NAS)装置以及本地磁盘驱动器。
目的装置31可通过任何标准数据连接(例如,因特网连接)存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器发射的方式可为流式传输、下载传输或两者的组合。
本申请的解码方法不限于无线应用场景,示例性的,本申请的解码方法可以应用于支持以下多种多媒体应用的视频编解码:空中电视广播、有线电视发射、***发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码***1可经配置,以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
需要说明的是,图3示出的视频编解码***仅仅是视频编解码***的示例,并不是对本申请中视频编解码***的限定。本申请提供的编解码方法还可适用于编码装置与解码装置之间无数据通信的场景。在其它实例中,待编码视频数据或编码后的视频数据可以从本地存储器检索,也可以在网络上流式传输等。视频编码装置可对待编码视频数据进行编码并且将编码后的视频数据存储到存储器,视频解码装置也可从存储器中获取编码后的视频数据并且对该编码后的视频数据进行解码。
在图3中,源装置30包含视频源301、视频编码器302和输出接口303。在一些实例中,输出接口303可包含调制器/解调器(调制解调器)和/或发射器。视频源301可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,和/或用于产生视频数据的计算机图形***,或视频数据的此些来源的组合。
视频编码器302可对来自视频源301的视频数据进行编码。在一些实例中,源装置30经由输出接口303将编码后的视频数据直接发射到目的装置31。在其它实例中,编码后的视频数据还可存储到存储装置33上,供目的装置31稍后存取来用于解码和/或播放。
在图3的实例中,目的装置31包含显示装置311、视频解码器312以及输入接口313。在一些实例中,输入接口313包含接收器和/或调制解调器。输入接口313可经由链路32和/或从存储装置33接收编码后的视频数据。显示装置311可与目的装置31集成或可在目的装置31外部。一般来说,显示装置311显示解码后的视频数据。显示装置311可包括多种显示装置,例如,液晶显示器、等离子显示器、有机发光二极管显示器或其它类型的显示装置。
可选的,视频编码器302和视频解码器312可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处理共同数据流或单独数据流中的音频和视频两者的编码。
视频编码器302和视频解码器312可以包括至少一个微处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application-Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、离散逻辑、硬件或其任何组合。若本申请提供的编解码方法采用软件实现,则可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用至少一个处理器执行所述指令从而实施本申请。
本申请中的视频编码器302和视频解码器312可以根据视频压缩标准(例如HEVC)操作,也可根据其它业界标准操作,本申请对此不作具体限定。
图4是本申请实施例中视频编码器302的一种示意性框图。视频编码器302可执行视频条带内的视频块的帧内编码和帧间编码。帧内编码依赖于空间预测来减少或去除给定视频帧或图像内的视频的空间冗余。帧间编码依赖于时间预测来减少或去除视频序列的邻近帧或图像内的视频的时间冗余。帧内编码模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等。帧间编码模式可指若干基于时间的压缩模式中的任一者。
在图4的可行的实施方式中,视频编码器302包括分割单元81、变换单元82、量化单元83、预测单元84、熵编码单元85、参考图像存储器88以及求和器802。预测单元84包括运动估计单元841、运动补偿单元842和帧内预测单元843。对于视频块重构建,视频编码器302也包括反量化单元86、反变换单元87和求和器801。除此之外,视频编码器302还可以包括解块滤波器(图4中未展示),该解块滤波器用于以对块边界进行滤波从而从经重构建视频中去除块效应伪影。在需要时,解块滤波器将通常对求和器801的输出进行滤波。除了解块滤波器之外,视频编码器302还可以包括额外环路滤波器(环路内或环路后)。
如图4中所展示,视频编码器302接收视频数据,且分割单元81将数据分割成视频块。此分割也可包含分割成条带(slice)、图像块或其它较大单元,以及(例如)根据最大编码单元(Largest Coding Unit,LCU)及CU的四叉树结构进行视频块分割。示例性的,视频编码器302编码在待编码的视频条带内的视频块的组件。一般的,条带可划分成多个视频块(且可能划分成称作图像块的视频块的集合)。
预测单元84可基于编码质量与代价计算结果(例如率失真代价(Rate Distortioncost,RD cost))选择当前视频块的多个可能编码模式中的一者,例如多个帧内编码模式中的一者或多个编码解码模式中的一者。预测单元84可将所得经帧内编码或经帧间编码块提供到求和器802以产生残余块数据,且将所得经帧内解码或经帧间解码提供到求和器801以重构建编码块从而用作参考图像。
预测单元84内的运动估计单元841及运动补偿单元841执行相对于一个或多个参考图像中的一个或多个预测块的当前视频块的帧间预测解码,以提供时间压缩。运动估计单元841可经配置,以根据视频序列的预定模式确定视频条带的帧间预测模式。预定模式可将序列中的视频条带指定为P条带、B条带或广义B(generalized P and B picture,GPB)条带。运动估计单元841及运动补偿单元842可高度集成,但为概念目的而分别说明。通过运动估计单元841执行运动估计,来估计视频块的运动矢量。例如,运动矢量可指示当前视频帧或图像内的视频块的PU相对于参考图像内的预测块的位移。
预测块为依据像素差得到的,紧密匹配待解码的视频块的PU的块,像素差可通过绝对差和(Sum of Absolute Differences,SAD)、平方差和(Sum of SquaredDifferences,SSD)或其它差度量确定。在一些可行的实施方式中,视频编码器302可计算存储于参考图像存储器88中的参考图像的子整数(sub-integer)像素位置的值。例如,视频编码器302可内插参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元841可执行相对于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动矢量。
运动估计单元841通过比较PU的位置与参考图像的预测块的位置,计算经帧间解码条带中的视频块的PU的运动矢量。可从第一参考图像列表(列表0)或第二参考图像列表(列表1)选择参考图像,列表中的每一者识别存储于参考图像存储器88中的一个或多个参考图像。运动估计单元841将计算得到的运动矢量发送到熵编码单元85及运动补偿单元842。
由运动补偿单元842执行的运动补偿可涉及基于由运动估计所确定的运动矢量提取或产生预测块,可能执行到子像素精确度的内插。在接收当前视频块的PU的运动矢量后,运动补偿单元842即可在参考图像列表中的一者中定位运动矢量所指向的预测块。视频编码器302通过当前视频块的像素值减去预测块的像素值来形成残余视频块,从而形成像素差值。像素差值形成块的残余数据,且可包含亮度及色度差分量两者。求和器801表示执行此减法运算的一个或多个组件。运动补偿单元842也可产生与视频块及视频条带相关联的语法元素以供视频解码器312用于解码视频条带的视频块。
如果PU位于B条带中,则含有PU的图像可以与称作“列表0”和“列表1”的两个参考图像列表相关联。在一些可行的实施方式中,含有B条带的图像可与为列表0和列表1的组合的列表组合相关联。
此外,如果PU位于B条带中,则运动估计单元841可针对PU执行单向预测或双向预测。其中,在一些可行的实施方式中,双向预测为分别基于列表0和列表1的参考图像列表的图像进行的预测,在另一些可行的实施方式中,双向预测为分别基于当前帧在显示顺序上的已重建的未来帧和已重建的过去帧进行的预测。当运动估计单元841针对PU执行单向预测时,运动估计单元841可在列表0或列表1的参考图像中搜索用于PU的参考块。运动估计单元841可接着产生指示列表0或列表1中的含有参考块的参考图像的参考索引、以及指示PU与参考块之间的空间位移的运动矢量。运动估计单元841可输出参考索引和运动矢量作为PU的运动信息。运动补偿单元842可基于由PU的运动信息指示的参考块产生PU的预测图像块。
当运动估计单元841针对PU执行双向预测时,运动估计单元841可在列表0中的参考图像中搜索用于PU的参考块,且还可在列表1中的参考图像中搜索用于PU预测的另一参考块。运动估计单元841可产生指示列表0和列表1中的含有参考块的参考图像的参考索引,以及指示参考块与PU之间的空间位移的运动矢量。运动估计单元841可输出PU的参考索引和运动矢量,作为PU的运动信息。运动补偿单元842可基于由PU的运动信息指示的参考块产生PU的预测图像块。
在一些可行的实施方式中,运动估计单元841不向熵编码单元85输出用于PU的运动信息的完整集合。而是,运动估计单元841可参考另一PU的运动信息来通知某一PU的运动信息。举例来说,运动估计单元841可确定某一PU的运动信息该PU的相邻PU的运动信息充分类似。在此实施方式中,运动估计单元841可在与该PU相关联的语法结构中指示一个指示值,所述指示值向视频解码器312指示:该PU具有与相邻PU相同的运动信息或具有可从相邻PU导出的运动信息。在另一实施方式中,运动估计单元841可以在与该PU相关联的语法结构中识别相邻PU相关联的候选预测运动矢量和运动矢量差(MVD)。MVD指示PU的运动矢量和与相邻PU相关联的所指示候选预测运动矢量之间的差。视频解码器312可使用所指示候选预测运动矢量和MVD来确定PU的运动矢量。
如前文所描述,预测单元84可产生用于CU的每一PU的候选预测运动矢量列表。候选预测运动矢量列表中的一或多者可包括一或多个原始候选预测运动矢量和从原始候选预测运动矢量导出的一或多个额外候选预测运动矢量。
预测单元84内的帧内预测单元843可执行相对于在与待解码的当前块相同的图像或条带中的一个或多个相邻块的当前视频块的帧内预测解码以提供空间压缩。因此,作为通过运动估计单元841及运动补偿单元842执行的帧间预测(如前文所描述)的替代,帧内预测单元843可帧内预测当前块。明确的说,帧内预测单元843可确定用以编码当前块的帧内预测模式。在一些可行的实施方式中,帧内预测单元843可(例如)在单独编码遍历期间使用各种帧内预测模式来编码当前块,且帧内预测单元843可从经测试模式选择使用的适当帧内预测模式。
在预测单元84经由帧间预测或帧内预测产生当前视频块的预测块之后,视频编码器302通过从当前视频块减去预测块而形成残余视频块。残余块中的残余视频数据可包括于一个或多个TU中且应用于变换单元82。变换单元82使用例如离散余弦变换(DiscreteCosine Transform,DCT)或概念上类似的变换的变换(例如,离散正弦变换(DST forDiscrete Sine Transform,DST))将残余视频数据变换成残余变换系数。变换单元82可将残余视频数据从像素域转换到变换域(例如,频域)。
变换单元82可将所得变换系数发送到量化单元83。量化单元83对变换系数进行量化以进一步减小码率。量化过程可减少与系数中的一些或全部相关联的比特深度。可通过调整量化参数来修改量化的程度。在一些可行的实施方式中,量化单元83可接着执行包含经量化变换系数的矩阵的扫描。替代的,熵编码单元85可执行扫描。
在量化之后,熵编码单元85可熵编码经量化变换系数。例如,熵编码单元85可执行上下文自适应性可变长度编码(Context-Adaptive Varialbe-Length Coding,CAVLC)、上下文自适应性二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)、基于语法的上下文自适应性二进制算术解码(SBAC)、概率区间分割熵(PIPE)解码或另一熵编码方法或技术。熵编码单元85也可熵编码正经解码的当前视频条带的运动矢量及其它语法元素。在通过熵编码单元85进行熵编码之后,可将经编码码流传输到视频解码器312或存档以供稍后传输或由视频解码器312检索。
反量化单元86及反变换单元87分别应用反量化及反变换,以在像素域中重构建残余块以供稍后用作参考图像的参考块。运动补偿单元842可通过将残余块与参考图像列表中的一者内的参考图像中的一者的预测块相加来计算参考块。运动补偿单元842也可将一个或多个内插滤波器应用于经重构建残余块以计算子整数像素值以用于运动估计。求和器801将经重构建残余块与通过运动补偿单元842所产生的经运动补偿的预测块相加以产生参考块以供存储于参考图像存储器88中。参考块可由运动估计单元841及运动补偿单元842用作参考块以帧间预测后续视频帧或图像中的块。
应当理解的是,视频编码器302的其它的结构变化可用于编码视频流。例如,对于某些图像块或者图像帧,视频编码器302可以直接地量化残差信号而不需要经过变换单元82处理,相应地也不需要经反变换单元87处理;或者,对于某些图像块或者图像帧,视频编码器302没有产生残差数据,相应地不需要经变换单元82、量化单元83、反量化单元86和反变换单元87处理;或者,视频编码器302可以将经重构建的视频块作为参考块直接地进行存储而不需要经滤波器处理;或者,视频编码器302中量化单元83和反量化单元86可以合并在一起。
图5是本申请实施例中视频解码器512的结构示意图。如图5所示,视频解码器512包含熵解码单元50、预测单元51、反量化单元54、反变换单元53、求和器55和参考图像存储器52。预测单元51包含运动补偿单元511和帧内预测单元512。在一些可行的实施方式中,视频解码器512可执行与关于来自图4的视频编码器302描述的编码流程的示例性地互逆的解码流程。
在解码过程期间,视频解码器512从视频编码器302接收表示经编码视频条带的视频块及相关联的语法元素的经编码视频码流。视频解码器512的熵解码单元50熵解码码流以产生经量化系数、运动矢量及其它语法元素。熵解码单元50将运动矢量及其它语法元素转递到预测单元51。视频解码器512可在视频条带层级和/或视频块层级处接收语法元素。
在视频条带经解码为经帧内解码(I)条带时,预测单元51的帧内预测单元512可基于用信号发送的帧内预测模式及来自当前帧或图像的先前经解码块的数据而产生当前视频条带的视频块的预测数据。
在视频图像经解码为经帧间解码(例如,B、P或GPB)条带时,预测单元51的运动补偿单元511基于从熵解码单元50所接收的运动矢量及其它语法元素而产生当前视频图像的视频块的预测性块。预测性块可从参考图像列表中的一者内的参考图像中的一者产生。视频解码器512可基于存储于参考图像存储器52中的参考图像使用默认构建技术来构建参考图像列表(列表0及列表1)。
运动补偿单元511通过解析运动矢量及其它语法元素来确定当前视频条带的视频块的预测信息,且使用预测信息来产生正经解码的当前视频块的预测性块。例如,运动补偿单元511使用所接收的语法元素中的一些来确定用以解码视频条带的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测条带类型(例如,B条带、P条带或GPB条带)、条带的参考图像列表中的一者或多者的构建信息、条带的每一经帧间编码视频块的运动矢量、条带的每一经帧间解码视频块的帧间预测状态及用以解码当前视频条带中的视频块的其它信息。
运动补偿单元511也可基于内插滤波器执行内插。运动补偿单元511可使用如由视频编码器302在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此应用中,运动补偿单元511可从所接收的语法元素确定由视频编码器302使用的内插滤波器且使用内插滤波器来产生预测性块。
如果PU是使用帧间预测而编码,则运动补偿单元511可产生用于PU的候选预测运动矢量列表。码流中可包括识别选定候选预测运动矢量在PU的候选预测运动矢量列表中的位置的数据。在产生用于PU的候选预测运动矢量列表之后,运动补偿单元511可基于由PU的运动信息指示的一或多个参考块产生用于PU的预测性图像块。PU的参考块可在与所述PU不同的时间图像中。运动补偿单元511可基于由PU的候选预测运动矢量列表中的选定的运动信息确定PU的运动信息。
反量化单元54对码流中所提供且通过熵解码单元50所解码的经量化变换系数进行反量化(例如,解量化)。反量化过程可包含使用通过视频编码器302针对视频条带中的每一视频块所计算的量化参数确定量化的程度,且同样地确定应用的反量化的程度。反变换单元53将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数以便在像素域中产生残余块。
在运动补偿单元511基于运动矢量及其它语法元素产生当前视频块的预测性块之后,视频解码器512通过将来自反变换单元53的残余块与通过运动补偿单元511产生的对应预测性块求和来形成经解码视频块。求和器55表示执行此求和运算的一个或多个组件。在需要时,也可应用解块滤波器来对经解码块进行滤波以便去除块效应伪影。其它环路滤波器(在解码环路中或在解码环路之后)也可用以使像素转变平滑,或以其它方式改进视频质量。给定帧或图像中的经解码视频块接着存储于参考图像存储器52中,参考图像存储器52存储供后续运动补偿所使用的参考图像。
应当理解的是,视频解码器512的其它结构变化可用于码流的解码。例如,对于某些图像块或者图像帧,视频解码器512的熵解码单元50没有解码出经量化的系数,相应地不需要经反量化单元54和反变换单元53处理。例如,视频解码器512中反量化单元54和反变换单元53可以合并在一起。
上述视频编码器302以及视频解码器512也可以通过另外一种实现形态来实现,例如,采用通用的数字处理器***实现,如图12所示的编解码装置10,该编解码装置10可以为上述视频编码器302中的部分装置,也可以为上述视频解码器312中的部分装置。
该编解码装置10可以是应用于编码侧,也可以是应用于解码侧。编解码装置10包括处理器1001以及存储器1002。所述处理器1001与存储器1002相连接(如通过总线1004相互连接)。可选的,编解码装置10还可包括收发器1003,收发器1003连接处理器1001和存储器1002,用于接收/发送数据。
存储器1002可以为随机存储记忆体(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM)或便携式只读存储器(Compact Disc Read-Only Memory,CD-ROM)。该存储器1002用于存储相关程序代码及视频数据。
处理器1001可以是一个或多个中央处理器(Central Processing Unit,CPU),在处理器1001是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该处理器1001用于读取所存储器1002中存储的程序代码,执行图6至图8所对应的任意一个实施方案及其各种可行的实施方式的操作。
以下,结合上述图3示出的视频编解码***、图4示出的视频编码器302以及图5示出的视频解码器312对本申请提供的编解码方法进行详细描述。
参见图6,本申请实施例提供一种视频解码方法,该视频解码方法包括如下步骤:
S601、视频解码器得到包含图像数据的码流。
可选的,视频解码器得到的包括图像数据的码流包括序列参数集(SequenceParameter Set,SPS)、图像参数集(Picture Parameter Set,PPS)以及条带头(sliceheader)或条带片段头(slice segment header)等语法元素。
S602、视频解码器解析码流,以确定待解码图像块的预测模式和是否采用MMVD对待解码图像块进行运动补偿。
作为一种可能的实现方式,码流的语法元素中包括预测模式标识位和MMVD标识位。其中,预测模式标识位,用于指示待解码图像块的预测模式。预测模式的具体描述可参见上文,这里不再赘述。
当待解码图像块的某一预测模式的标识位为1,表明待解码图像块采用该种预测模式。比如,码流的语法元素中包括三角预测单元模式的标识位,且该标识位为1,说明在编码侧,视频编码器采用三角预测单元模式对待解码图像块进行编码,相应的,在解码侧,视频解码器需采用三角预测单元模式对待解码图像块进行解码。MMVD标识位包括MMVD指示位,该MMVD指示位用于指示待解码图像块是否采用MMVD进行运动补偿。当待解码图像块的MMVD指示位为1,表征在编码侧,视频编码器采用MMVD对待解码图像块进行运动补偿,相应的,在解码侧,视频解码器也需采用MMVD对待解码图像块进行运动补偿。
S603、视频解码器根据预测模式标识位和MMVD标识位解码待解码图像块。
本申请实施例涉及的预测模式可以为三角预测单元模式,也可以为联合帧间-帧内(Combined inter merge/intra prediction)预测模式。在三角预测单元模式下,待解码图像块由如图1所示的第一预测单元(比如PU1)和第二预测单元(比如PU2)构成。视频编码器分别对第一预测单元和第二预测单元进行运动估计,也就是说,第一预测单元和第二预测单元可以有不同的运动矢量和不同的预测值。
MMVD标识位还包括MMVD初始位置标识、步长标识和方向标识,这三个标识用于指示运动矢量相对于预测运动矢量的偏移量。
在一种实现方式中,视频解码器在接收到码流之后,解析码流中包含的MMVD指示位和预测模式标识位。若发现待解码图像块的MMVD指示位为1,且待解码图像块的预测模式标识位为三角预测单元模式的标识位,该三角预测单元模式的标识位为1,说明该待解码图像块的预测模式为三角预测单元模式,且需采用MMVD对该待解码图像块进行运动补偿。此种情况下,参见图7,S603可以实现为如下步骤:
S6031a、视频解码器获取第一预测单元的MVP,和/或,获取第二预测单元的MVP。
在本申请实施例中,视频解码器可采用如下两种方式中的任一种来获取MVP。
方式1:视频解码器接收经编码的码流,该码流中可包括从预测候选列表中选定的MVP的信息。比如,在编码侧,当前图像块(比如,当前图像块可以为第一预测单元)的预测候选列表包含5个候选MVP,视频编码器选取其中的MVP1作为当前图像块的MVP,并向视频解码器发送选定MVP的信息,比如向视频解码器发送MVP1的索引。如此,视频解码器可解析码流,并根据所解析码流后得到的当前图像块的选定MVP的信息,确定当前图像块的MVP(比如MVP1)。
方式2:视频解码器接收经编码的码流,码流中可包括MMVD初始位置标识位,视频解码器可解析码流,并根据解析码流得到的当前图像块的MMVD初始位置标识位确定当前图像块的MVP。其中,MMVD初始位置标识可用于指示选定的MVP。初始位置标识位可以是上文提及的Base candidate IDX标识位。
S6032a、视频解码器根据第一预测单元的MVP、步长标识位和方向标识位确定第一预测单元的MV,和/或,根据第二预测单元的MVP、步长标识位和方向标识位确定第二预测单元的MV。
示例性的,结合上述表1至表3,以确定第一预测单元的MV为例,视频解码器解析码流,得到第一预测单元的步长标识位000和方向标识位00,且在S6031a中经解析码流,得到第一预测单元的初始位置标识位为00(对应预测候选列表中第一个MVP(2,2))。如此,视频解码器可确定最终得到的第一预测单元的MV为(2+1/4,2)。同理,确定第二预测单元的MV的流程可参见确定第一预测单元的MV的相关描述。
需要说明的是,在本申请实施例中,当视频解码器确定当前待解码图像块的预测模式为三角预测单元模式,且需采用MMVD对待解码图像块进行运动补偿时,可以仅对待解码图像块包含的第一预测单元执行如上S6031a至S6032a,也就是,视频解码器仅对第一预测单元使用MMVD进行运动补偿,即在获取第一预测单元的MVP之后,根据MVP、步长标识位和方向标识位确定第一预测单元的MV。这种情况下,不使用MMVD对第二预测单元进行运动补偿,也就是说,第二预测单元的MVP可直接作为第二预测单元的MV。
当然,视频解码器也可以仅对待解码图像块包含的第二预测单元执行如上S6031a至S6032a。在另一种实现方式中,视频解码器还可以对第一预测单元和第二预测单元均执行上述S6031a至S6032a,也就是说,上述S6031a至S6032a中的“和/或”是指,仅对第一预测单元执行相应步骤,或者,仅对第二预测单元执行相应步骤,或者,对第一预测单元和第二预测单元均进行相应步骤。
S6033a、视频解码器根据第一预测单元的运动矢量和第二预测单元的运动矢量解码待解码图像块。
作为一种可能的实现方式,视频解码器根据第一预测单元(比如图1所示的PU1)的MV确定参考帧(比如当前帧的前一帧或后一帧)中第一预测单元对应的预测块,以及确定由预测块预测得到的第一预测单元的预测值。根据第二预测单元的MV确定第二预测单元的预测块,并确定由该预测块预测得到的第二预测单元的预测值。进一步的,视频解码器根据第一预测单元的预测值和第二预测单元的预测值确定整个待解码图像块的预测值。
其中,参考帧是指用于预测当前帧中第一预测单元的其他帧。预测块可以是参考帧中与第一预测单元最为类似的图像块。关于参考帧和预测块的详细描述可参见上文,这里不再赘述。
之后,视频解码器基于视频编码器传送的待解码图像块的残差的量化值,求取残差量化值与待解码图像块的预测值之和,从而解码该待解码图像块,恢复重建待解码图像块。
在一种实现方式中,视频解码器在接收到码流之后,解析码流中包含的MMVD指示位和预测模式标识位。若发现待解码图像块的MMVD指示位为0,且待解码图像块的预测模式标识位为三角预测单元模式的标识位,该三角预测单元模式的标识位为1,说明该待解码图像块的预测模式为三角预测单元模式,且不采用MMVD对该待解码图像块进行运动补偿。此种情况下,S603可以实现为:视频解码器对第一预测单元进行预测,并获取第一预测单元的预测值,以及对第二预测单元进行预测,并获取第二预测单元的预测值。之后,视频解码器根据第一预测单元的预测值和第二预测单元的预测值解码待解码图像块,以恢复重建待解码图像块。
其中,视频解码器获取第一预测单元、第二预测单元的预测值的方式,以及根据第一预测单元的预测值和第二预测单元的预测值解码、重建待解码图像块的方式,可参见现有技术的流程,这里不再赘述。
在另一实现方式中,若待解码图像块的MMVD指示位为1,且待解码图像块的预测模式标识位为联合帧间-帧内预测模式的标识位,该联合帧间-帧内预测模式的标识位为1,说明该待解码图像块的预测模式为联合帧间-帧内预测模式,且需采用MMVD对该待解码图像块进行运动补偿。此种情况下,参见图8,S603可以实现为如下步骤:
其中,S6031b至S6033b为待解码图像块的帧间预测过程。
S6031b、视频解码器获取待解码图像块的MVP。
在本申请实施例中,视频解码器可使用如下任一方式获取待解码图像块的MVP。
方式1:解析经视频编码器编码的码流,得到待解码图像块的MVP的信息,该MVP的信息用于指示从预测候选列表中选定的MVP。比如,视频编码器在预测候选列表中选定MVP1作为待解码图像块的MVP,则视频编码器向视频解码器发送该MVP的信息,用于视频解码器确定当前待解码图像块的MVP。
方式2:解析经视频编码器编码的码流,得到码流中包含的MMVD初始位置标识位,该MMVD初始位置标识位用于指示从预测候选列表中,为当前待解码图像块选定的MVP。示例性的,参见上文中的表1,视频解码器解析码流后,得到码流中包含的MMVD初始位置标识位为11,则视频解码器确定待解码图像块的MVP为预测候选列表中的第4个MVP。
S6032b、视频解码器获取待解码图像块的步长标识位和方向标识位,并根据待解码图像块的MVP、步长标识位和方向标识位确定待解码图像块的MV。
作为一种可能的实现方式,视频解码器解析经视频编码器编码的码流,得到码流中包含的待解码图像块的步长标识位和方向标识位。之后,视频解码器根据待解码图像块的MVP、步长标识位和方向标识位为MVP叠加一个偏移量,得到最终的待解码图像块的MV。其中,由MVP、步长标识位和方向标识位确定图像块的MV的详细过程,可参见上文描述,这里不再赘述。
S6033b、视频解码器根据待解码图像块的MV确定待解码图像块的帧间预测的预测值。
具体的,视频解码器根据待解码图像块的MV确定参考帧中的已编码的预测块,并根据预测块预测当前待解码图像块,得到当前待解码图像块的预测值。
S6034b、视频解码器对待解码图像块进行帧内预测,以得到待解码图像块的帧内预测的预测值。
具体的,视频解码器采用一定的帧内预测模式对待解码图像块进行预测,得到的待解码图像块的预测值包括待解码图像块的亮度分量的预测值和待解码图像块的色度分量的预测值。其中,帧内预测模式包括但不限于垂直预测模式、水平预测模式、DC模式、PLANAR模式等。
视频解码器在对待解码图像块的亮度分量进行预测时,可根据待解码图像块的尺寸确定采用的帧内预测模式。同样的,视频解码器在对待解码图像块的色度分量进行预测时,也可根据待解码图像块的尺寸确定采用的帧内预测模式。图像块的尺寸与帧内预测模式的对应关系,可参见上文描述,这里不再赘述。
S6035b、根据待解码图像块的帧间预测的预测值和待解码图像块的帧内预测的预测值解码待解码图像块。
具体的,视频解码器对帧内预测的预测值和帧间预测的预测值进行加权,得到整个待解码图像块的预测值,并基于视频编码器发送的该待解码图像块的残差量化值,求取残差量化值和预测值之和,以解码重建该待解码图像块。
作为一种可能的实现方式,若待解码图像块的MMVD指示位为0,且待解码图像块的预测模式标识位为联合帧间-帧内预测模式的标识位,该联合帧间-帧内预测模式的标识位为1,说明该待解码图像块的预测模式为联合帧间-帧内预测模式,且不采用MMVD对该待解码图像块进行运动补偿。此种情况下,S603可以具体实现为:视频解码器对待解码图像块进行帧间预测,以得到待解码图像块的帧间预测的预测值,以及对待解码图像块进行帧内预测,以得到待解码图像块的帧内预测的预测值,并根据待解码图像块的帧间预测的预测值和待解码图像块的帧内预测的预测值解码、重建待解码图像块。
其中,视频解码器获取待解码图像块的帧间预测的预测值和帧内预测的预测值的方式,以及根据帧间预测的预测值和帧内预测的预测值解码、重建待解码图像块的方式,可参见现有技术的流程,这里不再赘述。
本申请实施例提供的解码方法,视频解码器解析码流,并根据码流中包含的预测模式标识位和MMVD标识位解码待解码图像块。其中,预测模式标识位和MMVD标识位的结合,可用于指示在当前预测模式下是否采用MMVD对待解码图像块进行运动补偿,相比于现有技术中通过划分模式和预测模式的结合来解码图像块,本申请实施例的解码方法,可利用MMVD提升当前图像块的预测值的准确性,使得解码得到的图像质量较高。
与解码侧对应,本申请实施例提供一种编码方法,应用在编码装置中,例如,应用在具有视频编码功能的设备中。该编码方法包括:视频编码器确定当前图像块的预测模式,以及确定是否采用MMVD对当前图像块进行运动补偿,并根据相应预测模式对当前图像块进行预测。进一步的,视频编码器对当前图像块进行编码,得到包含预测模式标识位和MMVD标识位的码流,并向视频解码器发送该码流。其中,预测模式标识位用于指示待解码图像块的预测模式。该预测模式可以为三角预测单元模式或者联合帧间-帧内预测模式。当图像块的三角预测单元模式的标识位为1时,表明图像块采用的预测模式为三角预测单元模式。当图像块的联合帧间-帧内预测的标识位为1时,表明图像块采用的预测模式为联合帧间-帧内预测模式。MMVD标识位用于指示图像块的运动信息获取方式是否为MMVD,以及,用于指示MMVD中MVD相对于MVP的偏移量。具体的,MMVD标识位包括MMVD指示位,该MMVD指示位为1时,表明图像块的运动信息获取方式为MMVD。MMVD标识位还包括MMVD初始位置标识位、步长标识位和方向标识位。MMVD初始位置标识位、步长标识位和方向标识位用于表征MVD相对于MVP的偏移量。关于预测模式标识位和MMVD标识位的详细描述,可参见上文。
需要说明的是,本申请实施例主要介绍了预测模式为三角预测单元模式或联合帧间-帧内预测模式时的编解码方法,容易理解的是,本申请实施例的编解码方法也可以应用在其他预测模式或划分模式中,在其他预测模式或划分模式中,一个待解码图像块可能划分为不同的预测单元,或者,一个待解码图像块可能使用多种预测模式,本申请实施例对编解码方法所适用的预测模式不做限定。
本申请实施例提供一种解码装置,该解码装置可以为视频解码器。具体的,解码装置用于执行以上解码方法中的视频解码器所执行的步骤。本申请实施例提供的解码装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对解码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图13示出上述实施例中所涉及的解码装置的一种可能的结构示意图。如图13所示,解码装置13包括解析单元130、和解码单元131。
解析单元130用于支持该解码装置执行上述实施例中的S602等,和/或用于本文所描述的技术的其它过程。
解码单元131用于支持该解码装置执行上述实施例中的S603等,和/或用于本文所描述的技术的其它过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
当然,本申请实施例提供的解码装置包括但不限于上述模块,例如:解码装置还可以包括存储单元132。
存储单元132可以用于存储该解码装置的程序代码和数据。
在采用集成的单元的情况下,本申请实施例提供的解码装置的结构示意图如图14所示。在图14中,解码装置14包括:处理模块140和通信模块141。处理模块140用于对解码装置的动作进行控制管理,例如,执行上述解析单元130、解码单元131执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块141用于支持解码装置与其他设备之间的交互,比如,用于从视频编码器接收码流。如图14所示,解码装置还可以包括存储模块142,存储模块142用于存储解码装置的程序代码和数据,例如存储上述存储单元132所保存的内容。
其中,处理模块140可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块141可以是收发器、RF电路或通信接口等。存储模块142可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
上述解码装置13和解码装置14均可执行上述图6或图7或图8所示的解码方法,解码装置13和解码装置14具体可以是视频解码装置或者其他具有视频编解码功能的设备。
本申请还提供一种解码设备,该解码设备包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,解码设备执行本申请实施例的解码方法。
这里的解码设备可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
本申请还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的解码方法。
本申请还提供一种解码器,所述解码器包括本申请实施例中的解码装置(解码装置13和解码装置14)以及重建模块,其中,所述重建模块用于根据所述解码装置得到的预测图像素确定当前图像块的重建像素值。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当解码设备中的处理器在执行该程序代码时,该解码设备执行如图6或图7或图8所示的解码方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。解码设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得终端实施执行图6或图7或图8所示的解码方法中的视频解码器的步骤。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种视频解码方法,其特征在于,包括:
解析码流,所述码流包括预测模式标识位和合并运动矢量差MMVD标识位,所述预测模式标识位用于指示待解码图像块的预测模式,所述预测模式包括三角预测单元模式和联合帧间-帧内预测模式中的至少一种,所述MMVD标识位用于指示所述待解码图像块的运动信息的获取方式;
根据所述预测模式标识位和所述MMVD标识位解码所述待解码图像块。
2.根据权利要求1所述的视频解码方法,其特征在于,所述预测模式为三角预测单元模式,所述待解码图像块由第一预测单元和第二预测单元构成,所述MMVD标识位包括MMVD指示位、步长标识和方向标识,所述MMVD指示位用于指示所述待解码图像块的运动信息获取方式是否为MMVD;
所述根据所述预测模式标识位和所述MMVD标识位解码待解码图像块,包括:
当所述MMVD指示位为1,且所述预测模式标识位指示所述待解码图像块的预测模式为三角预测单元模式时,
获取所述第一预测单元的预测运动矢量MVP,和/或,获取所述第二预测单元的MVP;
根据所述第一预测单元的MVP、所述步长标识和所述方向标识确定所述第一预测单元的运动矢量MV,和/或,根据所述第二预测单元的MVP、所述步长标识和所述方向标识确定所述第二预测单元的MV;
根据所述第一预测单元的MV和所述第二预测单元的MV解码所述待解码图像块。
3.根据权利要求2所述的视频解码方法,其特征在于,当所述MMVD指示位为0,且所述预测模式标识位指示所述待解码图像块的预测模式为三角预测单元模式时,所述根据所述预测模式标识位和所述MMVD标识位解码待解码图像块包括:
获取所述第一预测单元的预测值,以及获取所述第二预测单元的预测值;
根据所述第一预测单元的预测值和所述第二预测单元的预测值解码所述待解码图像块。
4.根据权利要求1所述的视频解码方法,其特征在于,所述预测模式为联合帧间-帧内预测模式,所述根据所述预测模式标识位和所述MMVD标识位解码待解码图像块,包括:
当所述MMVD指示位为1,且所述预测模式标识位指示所述待解码图像块的预测模式为联合帧间-帧内预测模式时,获取所述待解码图像块的MVP;
根据所述待解码图像块的MVP、所述步长标识和所述方向标识确定所述待解码图像块的MV;
根据所述待解码图像块的MV确定所述待解码图像块的帧间预测的预测值,以及对所述待解码图像块进行帧内预测,以得到所述待解码图像块的帧内预测的预测值;
根据所述待解码图像块的帧间预测的预测值和所述待解码图像块的帧内预测的预测值解码所述待解码图像块。
5.根据权利要求4所述的视频解码方法,其特征在于,当所述MMVD指示位为0,且所述预测模式标识位指示待解码图像块的预测模式为联合帧间-帧内预测模式时,所述根据所述预测模式标识位和所述MMVD标识位解码待解码图像块还包括:
对所述待解码图像块进行帧间预测,以得到所述待解码图像块的帧间预测的预测值,以及对所述待解码图像块进行帧内预测,以得到所述待解码图像块的帧内预测的预测值;
根据所述待解码图像块的帧间预测的预测值和所述待解码图像块的帧内预测的预测值解码所述待解码图像块。
6.根据权利要求2所述的视频解码方法,其特征在于,MMVD标识位还包括MMVD初始位置标识;
获取所述第一预测单元的预测运动矢量MVP,和/或,获取所述第二预测单元的MVP,包括:
解析码流,获取所述码流中所述第一预测单元的MMVD初始位置标识,和/或,获取所述码流中所述第二预测单元的MMVD初始位置标识;
根据所述第一预测单元的MMVD初始位置标识获取所述第一预测单元的MVP,和/或,根据所述第二预测单元的MMVD初始位置标识获取所述第二预测单元的MVP。
7.根据权利要求2所述的视频解码方法,其特征在于,获取所述第一预测单元的预测运动矢量MVP,和/或,获取所述第二预测单元的MVP,包括:
解析码流,获取所述码流中所述第一预测单元的MVP信息,和/或,获取所述码流中所述第二预测单元的MVP信息;
根据所述第一预测单元的MVP信息获取所述第一预测单元的MVP,和/或,根据所述第二预测单元的MVP信息获取所述第二预测单元的MVP。
8.根据权利要求4所述的视频解码方法,其特征在于,MMVD标识位还包括MMVD初始位置标识;
所述获取所述待解码图像块的MVP,包括:
解析码流,得到所述码流中所述待解码图像块的MMVD初始位置标识;
根据所述待解码图像块的MMVD初始位置标识获取所述待解码图像块的MVP。
9.根据权利要求4所述的视频解码方法,其特征在于,所述获取所述待解码图像块的MVP,包括:
解析码流,得到所述码流中所述待解码图像块的MVP信息;
根据所述待解码图像块的MVP信息获取所述待解码图像块的MVP。
10.一种视频解码装置,其特征在于,包括:
解析单元,用于解析码流,所述码流包括预测模式标识位和合并运动矢量差MMVD标识位,所述预测模式标识位用于指示待解码图像块的预测模式,所述预测模式包括三角预测单元模式和联合帧间-帧内预测模式中的至少一种,所述MMVD标识位用于指示所述待解码图像块的运动信息的获取方式;
解码单元,用于根据所述预测模式标识位和所述MMVD标识位解码所述待解码图像块。
11.根据权利要求10所述的视频解码装置,其特征在于,所述预测模式为三角预测单元模式,所述待解码图像块由第一预测单元和第二预测单元构成,所述MMVD标识位包括MMVD指示位、步长标识和方向标识,所述MMVD指示位用于指示所述待解码图像块的运动信息获取方式是否为MMVD;
所述解码单元,用于根据所述预测模式标识位和所述MMVD标识位解码待解码图像块,包括:用于当所述MMVD指示位为1,且所述预测模式标识位指示所述待解码图像块的预测模式为三角预测单元模式时,获取所述第一预测单元的预测运动矢量MVP,和/或,获取所述第二预测单元的MVP;根据所述第一预测单元的MVP、所述步长标识和所述方向标识确定所述第一预测单元的运动矢量MV,和/或,根据所述第二预测单元的MVP、所述步长标识和所述方向标识确定所述第二预测单元的MV;根据所述第一预测单元的MV和所述第二预测单元的MV解码所述待解码图像块。
12.根据权利要求11所述的视频解码装置,其特征在于,当所述MMVD指示位为0,且所述预测模式标识位指示所述待解码图像块的预测模式为三角预测单元模式时,所述解码单元,用于根据所述预测模式标识位和所述MMVD标识位解码待解码图像块,包括:用于获取所述第一预测单元的预测值,以及获取所述第二预测单元的预测值;根据所述第一预测单元的预测值和所述第二预测单元的预测值解码所述待解码图像块。
13.根据权利要求10所述的视频解码装置,其特征在于,所述预测模式为联合帧间-帧内预测模式,所述解码单元,用于根据所述预测模式标识位和所述MMVD标识位解码待解码图像块,包括:用于当所述MMVD指示位为1,且所述预测模式标识位指示所述待解码图像块的预测模式为联合帧间-帧内预测模式时,获取所述待解码图像块的MVP;根据所述待解码图像块的MVP、所述步长标识和所述方向标识确定所述待解码图像块的MV;根据所述待解码图像块的MV确定所述待解码图像块的帧间预测的预测值,以及对所述待解码图像块进行帧内预测,以得到所述待解码图像块的帧内预测的预测值;根据所述待解码图像块的帧间预测的预测值和所述待解码图像块的帧内预测的预测值解码所述待解码图像块。
14.根据权利要求13所述的视频解码装置,其特征在于,当所述MMVD指示位为0,且所述预测模式标识位指示待解码图像块的预测模式为联合帧间-帧内预测模式时,所述解码单元,用于根据所述预测模式标识位和所述MMVD标识位解码待解码图像块,还包括:用于对所述待解码图像块进行帧间预测,以得到所述待解码图像块的帧间预测的预测值,以及对所述待解码图像块进行帧内预测,以得到所述待解码图像块的帧内预测的预测值;根据所述待解码图像块的帧间预测的预测值和所述待解码图像块的帧内预测的预测值解码所述待解码图像块。
15.根据权利要求11所述的视频解码装置,其特征在于,MMVD标识位还包括MMVD初始位置标识;
所述获取所述第一预测单元的预测运动矢量MVP,和/或,获取所述第二预测单元的MVP,包括:解析码流,获取所述码流中所述第一预测单元的MMVD初始位置标识,和/或,获取所述码流中所述第二预测单元的MMVD初始位置标识;根据所述第一预测单元的MMVD初始位置标识获取所述第一预测单元的MVP,和/或,根据所述第二预测单元的MMVD初始位置标识获取所述第二预测单元的MVP。
16.根据权利要求11所述的视频解码装置,其特征在于,获取所述第一预测单元的预测运动矢量MVP,和/或,获取所述第二预测单元的MVP,包括:解析码流,获取所述码流中所述第一预测单元的MVP信息,和/或,获取所述码流中所述第二预测单元的MVP信息;根据所述第一预测单元的MVP信息获取所述第一预测单元的MVP,和/或,根据所述第二预测单元的MVP信息获取所述第二预测单元的MVP。
17.根据权利要求13所述的视频解码装置,其特征在于,MMVD标识位还包括MMVD初始位置标识;
所述获取所述待解码图像块的MVP,包括:解析码流,得到所述码流中所述待解码图像块的MMVD初始位置标识;根据所述待解码图像块的MMVD初始位置标识获取所述待解码图像块的MVP。
18.根据权利要求13所述的视频解码装置,其特征在于,所述获取所述待解码图像块的MVP,包括:解析码流,得到所述码流中所述待解码图像块的MVP信息;根据所述待解码图像块的MVP信息获取所述待解码图像块的MVP。
19.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,所述权利要求1至9中任一项所述视频解码方法被实现。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811574721.8A CN111355958B (zh) | 2018-12-21 | 2018-12-21 | 视频解码方法及装置 |
CN202210859175.2A CN115442616A (zh) | 2018-12-21 | 2018-12-21 | 视频解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811574721.8A CN111355958B (zh) | 2018-12-21 | 2018-12-21 | 视频解码方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210859175.2A Division CN115442616A (zh) | 2018-12-21 | 2018-12-21 | 视频解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111355958A true CN111355958A (zh) | 2020-06-30 |
CN111355958B CN111355958B (zh) | 2022-07-29 |
Family
ID=71196215
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210859175.2A Pending CN115442616A (zh) | 2018-12-21 | 2018-12-21 | 视频解码方法及装置 |
CN201811574721.8A Active CN111355958B (zh) | 2018-12-21 | 2018-12-21 | 视频解码方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210859175.2A Pending CN115442616A (zh) | 2018-12-21 | 2018-12-21 | 视频解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN115442616A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130044189A (ko) * | 2011-10-21 | 2013-05-02 | 광운대학교 산학협력단 | 다시점 비디오 부호화/복호화 방법 및 그 장치 |
CN103155563A (zh) * | 2010-07-09 | 2013-06-12 | 三星电子株式会社 | 通过使用块合并对视频进行编码的方法和设备以及通过使用块合并对视频进行解码的方法和设备 |
US20140146876A1 (en) * | 2012-11-28 | 2014-05-29 | JVC Kenwood Corporation | Moving picture coding apparatus, moving picture coding method, moving picture coding program, and moving picture decoding apparatus |
CN107801025A (zh) * | 2011-06-16 | 2018-03-13 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
-
2018
- 2018-12-21 CN CN202210859175.2A patent/CN115442616A/zh active Pending
- 2018-12-21 CN CN201811574721.8A patent/CN111355958B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103155563A (zh) * | 2010-07-09 | 2013-06-12 | 三星电子株式会社 | 通过使用块合并对视频进行编码的方法和设备以及通过使用块合并对视频进行解码的方法和设备 |
CN104869404A (zh) * | 2010-07-09 | 2015-08-26 | 三星电子株式会社 | 对视频编码的方法和设备以及对视频解码的方法和设备 |
CN107801025A (zh) * | 2011-06-16 | 2018-03-13 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
KR20130044189A (ko) * | 2011-10-21 | 2013-05-02 | 광운대학교 산학협력단 | 다시점 비디오 부호화/복호화 방법 및 그 장치 |
US20140146876A1 (en) * | 2012-11-28 | 2014-05-29 | JVC Kenwood Corporation | Moving picture coding apparatus, moving picture coding method, moving picture coding program, and moving picture decoding apparatus |
Non-Patent Citations (2)
Title |
---|
M.H. SHAKOOR; A.R. DEHGHANI: "Fast digital image stabilization by motion vector prediction", 《2010 THE 2ND CONFERENCE ON ENVIRONMENTAL SCIENCE AND INFORMATION APPLICATION TECHNOLOGY》, 9 September 2010 (2010-09-09) * |
李康顺,金晶,王峰: "基于运动矢量差(MVD)的CABAC新算法", 《计算机应用研究》, vol. 29, no. 2, 29 February 2012 (2012-02-29) * |
Also Published As
Publication number | Publication date |
---|---|
CN115442616A (zh) | 2022-12-06 |
CN111355958B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11252436B2 (en) | Video picture inter prediction method and apparatus, and codec | |
CN112956190B (zh) | 仿射运动预测 | |
CN106165419B (zh) | 用于视频译码的自适应运动向量分辨率信令 | |
US20150229955A1 (en) | Restriction of prediction units in b slices to uni-directional inter prediction | |
US20130202038A1 (en) | Restriction of prediction units in b slices to uni-directional inter prediction | |
KR20130126688A (ko) | 모션 벡터 예측 | |
CN110868587B (zh) | 一种视频图像预测方法及装置 | |
US11659161B2 (en) | Reference frame obtaining method and apparatus applied to bidirectional inter prediction | |
AU2019240981B2 (en) | Bidirectional inter-frame prediction method and device | |
CN110505482B (zh) | 一种编解码方法及装置 | |
CN110868602A (zh) | 视频编码器、视频解码器及相应方法 | |
US20200145653A1 (en) | Decoding method and apparatus based on template matching | |
CN112740663B (zh) | 图像预测方法、装置以及相应的编码器和解码器 | |
US11601667B2 (en) | Inter prediction method and related apparatus | |
CN112055970B (zh) | 候选运动信息列表的构建方法、帧间预测方法及装置 | |
CN111355958B (zh) | 视频解码方法及装置 | |
CN110971899B (zh) | 一种确定运动信息的方法、帧间预测方法及装置 | |
KR102566569B1 (ko) | 인터 예측 방법 및 장치, 비디오 인코더 및 비디오 디코더 | |
CN110677645B (zh) | 一种图像预测方法及装置 | |
KR20240087746A (ko) | 그래디언트의 히스토그램 생성 |
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 |