编码视频数据的方法与流程
未命名
09-22
阅读:77
评论:0

编码视频数据的方法
1.本技术是分案申请,原申请的申请号是201980055881.8,原申请日是2019年8月26日,原申请的全部内容通过引用结合在本技术中。
2.相关申请的交叉引用
3.本技术请求于2018年8月28日提交的美国临时申请no.62/723,880的权益及优先权,其发明名称为candidate sets for ultimate motion vector expression,其代理人卷号为us74791(以下称为us74791申请)。us74791申请的揭露内容在此通过引用完全并入本技术中。
技术领域
4.本技术大体上系关于视频编码,且特别是用于基于多个候选组中的多个候选参数来预测图像帧中的块单元的技术。
背景技术:
5.帧内预测是用于视频编码的编码工具。在常见的视频编码方法中,编码器和解码器使用与编码块的图像帧不同的参考帧中的先前重建的像素来生成参考像素和预测子,以预测或重建所述编码块。
6.先前重建的像素可以从多个候选参数来确定。当存在大量候选参数时,某些候选参数的高位数可能会使图像数据压缩的效率不佳。因此,编码(和/或解码)装置可能需要一种预测方法,该预测方法用于基于分布在多个候选组中的候选参数来预测图像帧中的编码块。
技术实现要素:
7.本技术针对一种用于基于多个候选组中的多个候选参数来重建图像帧中的块单元的装置和方法。
8.在本技术的第一方面,提供了一种通过电子装置编码视频数据的方法。该方法包括根据所述视频数据,从图像帧中确定块单元;选择所述块单元的多个具有运动向量差的合并模式mmvd预测参数以预测所述块单元;确定集合标志及所述块单元的多个mmvd指示,所述集合标志指示了对应于所述块单元的多个候选组中的一个,所述多个mmvd指示用于根据所述指示的候选组来指示所述块单元的所述多个mmvd预测参数;及编码所述集合标志和所述多个mmvd指示到比特流中,其中:所述多个候选组中的每个候选组包括一个或多个第一mmvd候选列表,所述一个或多个第一mmvd候选列表中的每个第一mmvd候选列表包括多个第一mmvd候选参数,所述多个mmvd预测参数中的一个或多个是从所指示的候选组的所述一个或多个第一mmvd候选列表中的所述多个第一mmvd候选参数中选择,及除了所述多个mmvd预测参数中的所述一个或多个之外的mmvd预测参数是从一个或多个第二mmvd候选列表中的多个第二候选参数中选择,所述一个或多个第二mmvd候选列表中的每个第二mmvd候选列表不同于所述一个或多个第一mmvd候选列表。
9.在本技术的第二方面,提供了一种通过电子装置编码视频数据的方法。该方法包括根据所述视频数据,从图像帧中确定块单元;选择所述块单元的多个具有运动向量差的合并模式mmvd预测参数以预测所述块单元;确定指示了多个候选组中的一个的集合标志,其中所述多个候选组中的每个包括一个或多个第一具有运动向量差的合并模式mmvd候选列表;从包括在所指示的候选组中的所述一个或多个第一mmvd候选列表,确定指示了所述块单元的所述mmvd预测参数中的一个或多个第一mmvd预测参数的集合索引;从不包括在所述多个候选组中的一个或多个第二mmvd候选列表,确定指示了所述块单元的所述mmvd预测参数中的一个或多个第二mmvd预测参数的一个或多个mmvd索引;及编码所述集合标志、所述集合索引和所述一个或多个mmvd索引到比特流中。
附图说明
10.当与附图一起阅读时,示例性揭露的各方面可从以下详细描述被最佳地理解。为了清楚的讨论,各种特征没有按比例绘制,各种特征的尺寸可以任意增加或减小。
11.图1是根据本技术的示例性实施方式的被配置为对视频数据进行编码和解码的示例性系统的方框图。
12.图2是根据本技术的示例性实施方式,在图1的系统中的目的地装置的示例性解码器模块的方框图。
13.图3是根据本技术的示例性实施方式,用于基于多个候选组中的多个候选参数来重建块单元的示例性重建方法的流程图。
14.图4a-4c是根据本技术的示例性实施方式的块单元和多个搜寻范围的示意图。
15.图5是根据本技术的示例性实施方式,用于基于多个候选组中的多个mmvd候选参数来重建块单元的示例性重建方法的流程图。
16.图6是根据本技术的示例性实施方式,用于基于多个候选组中的多个mmvd候选参数来重建块单元的示例性重建方法的流程图。
17.图7是根据本技术的示例性实施方式,在图1的系统中的来源装置的示例性编码器模块的方框图。
18.图8是根据本技术的示例性实施方式,用于基于多个候选组中的多个mmvd候选参数来预测块单元的示例性预测方法的流程图。
具体实施方式
19.以下叙述含有与本技术中的示例性实施例相关的特定信息。本技术中的附图和其随附的详细叙述仅为示例性实施例。然而,本技术并不局限于此些例示性实施例。本领域技术人员将会想到本技术的其他变化与实施例。除非另有说明,否则附图中的相同或对应的元件可由相同或对应的附图标号指示。此外,本技术中的附图与例示通常不是按比例绘制的,且非旨在与实际的相对尺寸相对应。
20.出于一致性和易于理解的目的,在示例性附图中通过标号以标示相同特征(虽在一些示例中并未如此标示)。然而,不同实施方式中的特征在其他方面可能不同,因此不应狭义地局限于附图所示的特征。
21.说明书中所使用的词组「在一个实施方式中,」或「在一些实施方式中,」,其可各自
参考相同或不同的一个或多个实施方式。术语「耦合」被定义为直接或通过中间元件间接连结且不必限于实体连结。在使用术语「包含,」时表示「包括,但不必要限于」;其明确指出开放式包含或所叙述的组合、组、系列和等同者的成员。
22.再者,出于解释和非限制的目的,阐述诸如功能实体、技术、协议、标准等的具体细节以提供对所叙述技术的理解。在其他示例中,省略了对众所周知的方法、技术、系统、架构和同等的详细叙述,以免不必要的细节模糊叙述。
23.本领域技术人员将立即认识到本技术中叙述的任何编码功能或算法可由硬件、软件或软件和硬件的组合实施方式。所叙述的功能可对应于模块可为软件、硬件、固件或其任何组合。软件实施方式可包含存储在诸如存储器或其他类型的存储装置的计算机可读媒体上的计算机可执行指令。例如,具有通信处理能力的一个或多个微处理器或通用计算机可用对应的可执行指令编程和执行所叙述的网络功能或算法。微处理器或通用计算机可由专用集成电路(applications specific integrated circuitry,asic)、可编程化逻辑阵列和/或使用一个或多个数字信号处理器(digital signal processor,dsp)形成。尽管在本说明书中叙述的若干示例性实施方式倾向在计算机硬件上安装和执行的软件,但是,实施方式以固件或硬件或硬件和软件的组合的替代示例性实施方式亦在本技术的范围内。
24.计算机可读介质包括但不限于随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦可编程只读存储器(erasable programmable read-only memory,eprom)、电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、闪存、光盘只读存储器(compact disc read-only memory,cd rom)、磁盒、磁带、磁盘存储器或任何其他能够存储计算机可读指令的等效介质。
25.图1是根据本技术的示例性实施方式的被配置为对视频数据进行编码和解码的示例性系统的方框图。在所述实施方式中,所述系统包括来源装置11、目的地装置12和通信介质13。在至少一个实施方式中,所述来源装置11可以包括被配置为对视频数据进行编码并将编码后的视频数据发送至所述通信介质13的任何装置。在至少一个实施方式中,所述目的地装置12可以包括被配置为经由所述通信介质13接收编码的视频数据并且对编码的视频数据进行解码的任何装置。
26.在至少一个实施方式中,所述来源装置11可以经由所述通信介质13与所述目的地装置12有线和/或无线地通信。所述来源装置11可包括来源模块111、编码器模块112和第一接口113。所述目的地装置12可包括显示模块121、解码器模块122和第二接口123。在至少一个实施方式中,所述来源装置11可为视频编码器,并且所述目的地装置12可为视频解码器。
27.在至少一个实施方式中,所述来源装置11和/或所述目的地装置12可为移动电话、平板电脑、台式计算机、笔记本计算机或其他电子装置。图1仅绘示所述来源装置11和所述目的地装置12的一个示例,并且在其他实施方式中的所述来源装置11和所述目的地装置12可以包括比所绘示的更多或更少的元件,或者具有各种元件的不同配置。
28.在至少一个实施方式中,所述来源装置11的所述来源模块111可以包括用于撷取新视频的视讯撷取装置、存储先前撷取的视频的视频存档和/或从视频内容提供商接收视频的视频馈送接口。在至少一个实施方式中,所述来源装置11的所述来源模块111可以生成基于计算机图形的数据作为来源视频,或者是实时视频,存档视频和计算机生成的视频的
组合。在至少一个实施方式中,视讯撷取装置可以是电荷耦合器件(charge-coupled device,ccd)图像传感器、互补金属氧化物半导体(complementary metal
–
oxide
–
semiconductor,cmos)图像传感器或照相机。
29.在至少一个实施方式中,所述编码器模块112和所述解码器模块122可各自被实现为多种合适的编码器/解码器电路中的任何一种,例如一个或多个微处理器、中央处理单元(central processing unit,cpu)、图形处理单元(graphic processing unit,gpu)、系统单芯片(system on chip,soc)、数字信号处理器(digital signal processors,dsps)、专用集成电路(applications specific integrated circuits,asics)、现场可编程门阵列(field programmable gate arrays,fpgas)、离散逻辑、软件、硬件、固件或其任意组合。当技术部分地以软件实施时,装置可将用于软件的指令存储在合适的非暂时性计算机可读介质中,并使用一个或多个处理器以硬件方式执行指令以执行本技术的技术。在至少一个实施方式中,所述编码器模块112和所述解码器模块122中的每一个可以被包括在一个或多个编码器或解码器中,它们中的任何一个可以被集成为相应装置中的组合编码器/解码器(combined encoder/decoder,codec)的一部分。
30.在至少一个实施方式中,所述第一接口113和所述第二接口123可以采用定制协议或遵循现有标准或事实标准。现有标准或事实标准包括但不限于以太网、ieee 802.11或ieee 802.15系列、无线usb或电信标准。电信标准包括但不限于gsm、cdma2000、td-scdma、wimax、3gpp-lte或td-lte。在至少一个实施方式中,所述第一接口113和所述第二接口123皆可以包括被配置为向所述通信介质13发送和/或存储兼容的视频比特流并且从所述通信介质13接收兼容的视频比特流的任何装置。在至少一个实施方式中,所述第一接口113和所述第二接口123可以包括计算机系统接口,该计算机系统接口可以使兼容的视频比特流能够被存储在存储装置上或从存储装置接收。例如,所述第一接口113和所述第二接口123可以包括支持外部元件互连(peripheral component interconnect,pci)和外部元件互连快速(peripheral component interconnect express,pcie)总线协议、专有总线协议、通用串行总线(universal serial bus,usb)协议、i2c或用于互连对等装置的其他逻辑和物理结构的一芯片组。
31.在至少一个实施方式中,尽管在其他实施方式中可以使用其他显示技术,所述显示模块121可以包括使用液晶显示器(liquid crystal display,lcd)技术、等离子显示技术、有机发光二极管(organic light emitting diode,oled)显示技术或发光聚合物显示(light emitting polymer display,lpd)技术的显示器。在至少一个实施方式中,所述显示模块121可以包括高清晰度显示器或超高清晰度显示器。
32.图2是根据本技术的示例性实施方式的解码器模块222的方框图,所述解码器模块222表示图1的系统中的目的地装置12的解码器模块122的示例性实施方式。在至少一个实施方式中,所述解码器模块222包括熵解码器(例如:熵解码单元2221)、预测处理器(例如:预测处理单元2222)、逆量化/逆变换处理器(例如:逆量化/逆变换单元2223)、加法器(例如:第一加法器2224)、滤波器(例如:滤波单元2225)和解码图片缓冲器(例如:解码图片缓冲器2226)。在至少一个实施方式中,所述解码器模块222的所述预测处理单元2222还包括帧内预测处理器(例如:帧内预测单元22221)和帧间预测处理器(例如:帧间预测单元22222)。在至少一个实施方式中,所述解码器模块222接收比特流,并对比特流进行解码,输
出解码后的视频。
33.在至少一个实施方式中,所述熵解码单元2221可以从图1中的所述第二接口123接收包括多个语法元素的比特流,并对比特流执行解析操作以从比特流中提取语法元素。所述熵解码单元2221可以对比特流进行熵解码以生成量化的变换系数、量化参数、变换数据、运动向量、帧内模式、分割信息和其他语法信息,作为执行解析操作的一部分。在至少一个实施方式中,所述熵解码单元2221可以执行上下文自适应可变长度编码(context adaptive variable length coding,cavlc)、上下文自适应二元算术编码(context adaptive binary arithmetic coding,cabac)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,sbac)、概率区间分割熵(probability interval partitioning entropy,pipe)编码或另一种熵编码技术来生成量化的变换系数。在至少一个实施方式中,所述熵解码单元2221可将量化的变换系数、量化参数和变换数据提供给所述逆量化/逆变换单元2223,并提供运动向量、帧内模式、分割信息和其他语法信息发送给所述预测处理单元2222。
34.在至少一个实施方式中,所述预测处理单元2222可以从所述熵解码单元2221接收语法元素,诸如运动向量、帧内模式、分割信息和其他语法信息。在至少一个实施方式中,所述预测处理单元2222可以接收包括分割信息的语法元素,然后根据分割信息分割多个图像帧。在至少一个实施方式中,可以根据分割信息将每个图像帧分割为至少一个图像块。至少一个图像块可以包括用于重建多个亮度样本的亮度块以及用于重建多个色度样本的至少一个色度块。亮度块和至少一个色度块可以被进一步分割以生成宏块、编码树单元(coding tree units,ctu)、编码块(coding blocks,cb)、其子分割和/或另一等效编码单元。
35.在至少一个实施方式中,在解码处理期间,所述预测处理单元2222接收预测数据,所述预测数据包括针对所述多个图像帧中特定的一个的当前图像块的帧内模式或运动向量。当前图像块可以是所述特定图像帧中的所述亮度块和所述至少一色度块中的一个。
36.在至少一个实施方式中,所述帧内预测单元22221可以基于与帧内模式相关的语法元素,对与当前块单元相同的帧中的一个或多个相邻块执行当前块单元的帧内预测编码,以生成预测块。在至少一个实施方式中,帧内模式可以指定从当前帧内的相邻块中选择的参考样本的位置。
37.在至少一个实施方式中,当通过所述预测处理单元2222重建当前块的色度分量时,所述帧内预测单元22221可基于当前块单元的多个亮度分量来重建当前块单元的多个色度分量。
38.在至少一个实施方式中,所述帧间预测单元22222可以基于与运动向量有关的语法元素,相对于一个或多个参考图像块中的一个或多个块,对当前块单元执行帧间预测编码,以生成预测块。在至少一个实施方式中,运动向量可以指示当前图像块内的当前块单元相对于参考图像块内的参考块单元的位移。参考块单元是被确定为与当前块单元紧密匹配的块。在至少一个实施方式中,所述帧间预测单元22222接收存储在所述解码图片缓冲器2226中的参考图像块,并基于接收到的参考图像块来重建当前块单元。
39.在至少一个实施方式中,所述逆量化/逆变换单元2223可以使用逆量化和逆变换以重建像素域中的残值块。在至少一个实施方式中,所述逆量化/逆变换单元2223可以将逆量化使用于残值量化变换系数以生成残值变换系数,然后将逆变换使用于残值变换系数以
生成像素域中的残值块。在至少一个实施方式中,逆变换可以用变换过程进行逆向使用,例如离散余弦变换(discrete cosine transform,dct)、离散正弦变换(discrete sine transform,dst)、自适应多重变换(adaptive multiple transform,amt)、模式相关的不可分二次变换(mode-dependent non-separable secondary transform,mdnsst)、立方体吉文斯变换(hypercube-givens transform,hygt)、f信号依赖变换、karhunen-lo
é
ve变换(karhunen-lo
é
ve transform,klt)、小波变换、整数变换、子带变换或概念上类似的变换。在至少一个实施方式中,逆变换可以将残值信息从诸如频域的变换域转换回像素域。在至少一个实施方式中,可以通过调整量化参数来修改逆量化的程度。
40.在至少一个实施方式中,所述第一加法器2224将重建的残值块添加到从所述预测处理单元2222提供的预测块中,以产生重建块。
41.在至少一个实施方式中,所述滤波单元2225可以包括去块滤波器、采样自适应偏移(sample adaptive offset,sao)滤波器、双边滤波器和/或自适应环路滤波器(adaptive loop filter,alf),以从重建块去除块状伪像。除了去块滤波器、sao滤波器、双边滤波器和alf之外,还可以使用其他滤波器(环路内或环路后)。为了简洁起见,未示出此类滤波器,但是如果需要,则可以对所述第一加法器2224的输出进行滤波。在至少一个实施方式中,所述滤波单元2225可以在对特定图像帧的重建块执行滤波处理之后,所述滤波单元2225将解码的视频输出至所述显示模块121或其他视频接收单元。
42.在至少一个实施方式中,所述解码图片缓冲器2226可以是参考图片存储器,其存储例如在帧间编码模式下用于由所述预测处理单元2222对比特流进行解码的参考块。所述解码图片缓冲器2226可以由多种存储装置中的任何一种形成,例如动态随机存取存储器(dynamic random access memory,dram),包括同步动态随机存取存储器(synchronous dram,sdram)、磁阻随机存取存储器(magneto-resistive ram,mram)、电阻随机存取存储器(resistive ram,rram)或其他类型的存储装置。在至少一个实施方式中,所述解码图片缓冲器2226可以与所述解码器模块222的其他元件一起在芯片上,或者相对于那些元件在芯片外。
43.图3示出了根据本技术的示例性实施方式,用于基于多个候选组中的多个候选参数来重建块单元的示例性重建方法的流程图。因为存在多种方式来执行该方法,因此仅通过示例的方式提供示例方法。例如,可以使用图1和图2所示的配置来执行以下描述的方法,并且在解释示例方法时参考了这些图的各种元件。显示在图3的每一框可表示在示例方法中执行的一个或多个过程、方法或子例程。此外,框的顺序仅是说明性的,并且可以改变。在不脱离本技术的情况下,可以添加额外的框或可以利用更少的框。
44.在框31处,解码器模块222可根据视频数据从图像帧中确定块单元,并确定所述块单元的多个候选参数。
45.在至少一个实施方式中,视频数据可以是比特流。在至少一个实施方式中,所述目的地装置12可以通过所述目的地装置12的所述第二接口123从诸如所述来源装置11的编码器接收比特流。所述第二接口123可将比特流提供给所述解码器模块222。所述解码器模块222可根据比特流确定图像帧,并根据比特流中的多个分割指示对图像帧进行分割以确定块单元。例如,所述解码器模块222可以分割图像帧以生成多个编码树单元,并且还基于视频编码标准中根据分割指示来分割编码树单元中的一个,以确定块单元。
46.在至少一个实施方式中,来源装置11可以确定用于块单元的预测模式的所述多个候选参数,并且从所述多个候选参数中选择多个预测参数以预测所述块单元。在至少一个实施方式中,所述预测模式可以是从多个候选模式中选出的具有运动向量差的合并模式(merge mode with motion vector difference,mmvd)的模式。在所述实施方式中,来源装置11可以向目标装置12提供多个预测指示,所述多个预测指示指示了所述比特流中的所述块单元的所述多个预测参数。在至少一个实施方式中,熵解码单元2221可以对所述比特流进行解码以确定所述块单元的所述多个预测指示,然后解码器模块222可以进一步基于所述多个预测指示重建所述块单元。在至少一个实施方式中,所述多个预测指示可以包括多个标志和多个索引。
47.在至少一个实施方式中,当所述预测模式是mmvd模式时,所述预测模式可以包括多个运动参数。在至少一个实施方式中,所述多个运动参数可以包括基础运动、运动差和预测方向。在至少一个实施方式中,每个运动参数具有多个候选参数。在至少一个实施方式中,所述多个预测指示可以包括用于mmvd模式的基础候选索引、运动差异指示和预测方向索引中的至少一个。在至少一个实施方式中,针对每个运动参数的预测参数可以基于所述多个预测指示中的相应一个来选择。例如,基础运动的预测参数可以基于所述基础候选索引从基础运动的所述多个候选参数中选择。
48.在至少一个实施方式中,帧间预测单元22222可以基于相邻运动信息来生成用于所述块单元的多个基础候选。在至少一个实施方式中,基础候选是用于选择基础运动的所述多个候选参数。在至少一个实施方式中,基础候选索引可以是mmvd标志mmvd_cand_flag,其指示包括在预测参数中的所选基础候选。例如,基础候选可以基于诸如高效视频编码(high efficiency video coding,hevc)或通用视频编码(versatile video coding,vvc)之类的视频编码标准,在跳过模式、直接模式和合并模式中生成。每个基础候选可以包括至少一个帧候选和至少一个向量候选。在一个实施方式中,当多个基础候选中特定的一个是双向预测候选时,所述特定的基础候选可以包括第一参考列表l0中的第一帧候选、与第一帧候选相对应的第一向量候选、第二参考列表l1中的第二帧候选以及与第二帧候选相对应的第二向量候选。在另一实施方式中,当所述特定的基础候选是针对第一参考列表l0的单向预测候选时,所述特定的基础候选可以包括第一参考列表l0中的第一帧候选以及与第一帧候选相对应的第一向量候选。在其他实施方式中,当所述特定的基础候选是第二参考列表l1的单向预测候选时,所述特定的基础候选可以包括第二参考列表l1中的第二帧候选和与向第二帧候选相对应的第二向量候选。
49.在至少一个实施方式中,所述运动差异指示可以进一步包括运动距离索引和运动方向索引。在至少一个实施方式中,帧间预测单元22222可以基于所述基础候选索引来选择所述多个基础候选中的一个,并且基于所述运动差异指示来确定运动差以调整所选择的基础候选中的向量候选。在一个实施方式中,所述运动差可以由基于运动距离索引和运动方向索引确定的差异幅度和差异方向来表示。在至少一个实施方式中,所述运动距离索引可以是指示包括在所述多个预测参数中的差异幅度的第一mmvd索引mmvd_distance_idx,并且所述运动方向索引可以是指示包括在所述多个预测参数中的所述差异方向的第二mmvd索引mmvd_direction_idx。在至少一个实施方式中,所述多个差异距离候选可以是用于基于所述运动距离索引来选择差异幅度的所述多个候选参数,并且多个差异方向候选可以是
用于基于所述运动方向索引来选择差异方向的所述多个候选参数。
50.在至少一个实施方式中,所述差异方向可以指示用于调整基于所述基础候选索引确定的向量候选的方向角。在一个实施方式中,每个方向角可以由所述运动方向索引预先定义。例如,方向角可以包括0
°
、22.5
°
、37.5
°
、150
°
或任何其他角度。在至少一个实施方式中,所述运动方向索引可以指示四个坐标方向(+,0)、(0,+)、(-,0)和(0,-)中的一个。在所述实施方式中,四个坐标方向的方向角可以为0
°
、90
°
、180
°
和270
°
。在一个实施方式中,所述运动差异指示可以是指示包括x坐标差异和y坐标差异的运动差的所述运动差异索引。因此,帧间预测单元22222可以基于由所述运动差异索引指示的x坐标差异和y坐标差异来确定运动差,以调整选择的向量候选。
51.在至少一个实施方式中,帧间预测单元22222可以基于所述预测方向索引从多个预测方向候选中选择第一参考列表l0和第二参考列表l1中的至少一个。当所述块单元是基于所述第一参考列表l0中的所述多个第一帧候选中的一个和所述第二参考列表l1中的所述多个第二帧候选中的一个来预测时,所述块单元是基于所述第一参考列表预测l0和所述第二参考列表l1的双向预测块。当所述块单元是基于所述第一参考列表l0中的所述多个第一帧候选中的一个来预测时,所述块单元是基于所述第一参考列表l0而预测的单向预测块。当所述块单元是基于所述第二参考列表l1中的所述多个第二帧候选中的一个来预测时,所述块单元是基于所述第二参考列表l1预测的单向预测块。在所述实施方式中,帧间预测单元22222可以检查所述基础候选索引和所述预测方向索引之间的关系。当由所述预测方向索引确定的参考列表与由所述基础候选索引确定的参考列表不同时,帧间预测单元22222可以通过将所述基础候选索引所确定的参考列表中的帧候选进行镜像,在由所述预测方向索引所确定的参考列表中搜索的帧候选。例如,当所述预测方向索引指示所述块单元是双向预测并且所述基础候选索引指示单向预测候选时,所述第二参考列表l1中没有块单元的对应的帧。因此,帧间预测单元22222可以将由所述基础候选索引所确定的第一参考列表l0中的所述第一帧候选镜像到所述第二参考列表l1中,以选择第二帧候选中的一个。另外,帧间预测单元22222可以镜像与由所述基础候选索引确定的所述第一参考列表l0相对应的第一向量候选,以确定用于所述第二参考列表l1的第二向量候选。在至少一个实施方式中,在所述多个预测指示中可能没有预测方向索引。在所述实施方式中,由所述基础候选索引确定的参考列表可以是块单元的参考列表。
52.在至少一个实施方式中,所述多个预测指示可以包括集合索引。在所述实施方式中,当所述运动差异指示为所述运动差异索引时,集合索引可以代表所述基础候选索引、所述运动差异索引和所述预测方向索引中的至少一个。在至少一个实施方式中,当所述运动差异指示包括所述运动距离索引和所述运动方向索引时,所述集合索引可以代表所述基础候选索引、所述运动距离索引、所述运动方向索引和所述预测方向索引中的至少一个。例如,当所述集合索引代表所述运动距离索引和所述运动方向索引时,解码器模块222可以根据所述集合索引直接确定差异幅度和差异方向。另外,当所述集合索引仅代表所述运动距离索引时,解码器模块222可以基于所述集合索引来确定差异幅度。
53.参照图3,在框32,解码器模块222可以确定多个候选组,每个候选组包括从所述多个候选参数中选择的多个组参数。
54.在至少一个实施方式中,帧间预测单元22222可以从比特流确定多个先前的块。在
所述实施方式中,从所述多个候选模式中选择的多个先前模式来重建的多个先前块在所述块单元之前被解码。在至少一个实施方式中,当所述多个先前模式是mmvd模式时,所述多个先前模式可以包括从所述多个候选参数中选择的多个先前参数。因此,帧间预测单元22222可以确定所述多个先前块的所述多个先前模式,并且将与预测模式的所述多个先前参数相同或相似的多个候选参数分类到第一候选组。例如,当帧间预测单元22222使用所述集合索引代表差异幅度和差异方向时,帧间预测单元22222可以将所述多个候选参数中的所述多个差异距离候选和所述多个差异方向候选与所述多个先前块的所述多个先前模式的所述多个差异幅度和所述多个差异方向进行比较。另外,当帧间预测单元22222使用所述集合索引代表差异幅度时,帧间预测单元22222可以将所述多个候选参数中的所述多个差异距离候选与所述多个先前块的所述多个先前模式的所述多个差异幅度进行比较。
55.在至少一个实施方式中,解码器模块222可以根据所述比特流中的分割指示来分割图像帧以确定块单元,并基于多个预定区域来确定搜寻范围。图4a-4c是块单元41-43和搜寻范围410-430的示例性实施方式的示意图。在一个实施方式中,图4a中的块单元41的搜寻范围410包括位于块单元41的左侧的第一搜索区域411、位于块单元41上方的第二搜索区域412和位于块单元41的左上方的第三搜索区域413。第一搜索区域411具有第一区域宽度w1和第一区域高度h1,第二搜索区域412具有第二区域宽度w2和第二区域高度h2。第三搜索区域413的区域宽度可以等于第一区域宽度w1,并且第三搜索区域413的区域高度可以等于第二区域高度h2。在一个实施方式中,第一区域宽度w1、第二区域宽度w2、第一区域高度h1和第二区域高度h2中的每一个可以彼此不同。在另一实施方式中,第一区域宽度w1、第二区域宽度w2、第一区域高度h1和第二区域高度h2中的至少两个可以彼此相等。例如,在图4b中的块单元42的第一搜索区域421的第一区域宽度w1可以等于块单元42的第二搜索区域422的第二区域高度h2。结果,块单元42的第三搜索区域423可以是正方形搜索区域。在一个实施方式中,第一区域宽度w1、第二区域宽度w2、第一区域高度h1和第二区域高度h2中的每一个都可以被四整除。在一个实施方式中,第一区域宽度w1、第二区域宽度w2、第一区域高度h1和第二区域高度h2中的每一个可以被预定义为预设长度。在另一实施方式中,来源装置11的编码器模块112可以确定第一区域宽度w1、第二区域宽度w2、第一区域高度h1和第二区域高度h2的长度,并且在比特流中的序列参数集(sequence parameter set,sps)和图片参数集(picture parameter set,pps)中的一个里提供至少一个预测指示。因此,解码器模块222可以根据比特流中sps和pps中的一个来确定第一区域宽度w1、第二区域宽度w2、第一区域高度h1和第二区域高度h2的长度。在其他实施方式中,第一区域宽度w1、第二区域宽度w2、第一区域高度h1和第二区域高度h2可以与块单元41的块宽度w0和块高度h0成比例。因此,帧间预测单元22222可以基于多个预定比例参数来确定第一区域宽度w1、第二区域宽度w2、第一区域高度h1和第二区域高度h2的长度。
56.在至少一个实施方式中,图4c中的块单元43的搜寻范围430可以包括与块单元43相邻的多个搜索块。例如,搜寻范围430可以包括第一搜索块431,第二搜索块432,第三搜索块433,第四搜索块434和第五搜索块435。在一个实施方式中,搜索块431-435可以与多个空间块相同,所述多个空间块与块单元41相邻且被帧间预测单元22222用于多个帧间合并候选。在一个实施方式中,搜索块的搜索块宽度和搜索块高度可以等于四。
57.在至少一个实施方式中,先前解码的切片可以被定义为搜寻范围。在所述实施方
式中,先前解码的切片中的多个先前块中的每一个是在块单元之前被解码。在所述实施方式中,通过从所述多个预测候选中选择的多个预测模式所重建的先前块在块单元之前被解码。
58.在至少一个实施方式中,帧间预测单元22222可以确定所述搜寻范围中的所述多个先前块的所述多个先前模式。在至少一个实施方式中,帧间预测单元22222可以分割所述搜寻范围以生成多个子块。在一个实施方式中,每个子块可具有等于4
×
4的块尺寸。在所述实施方式中,每个子块可以被包括在所述多个先前块中的一个。当所述多个子块中特定一个被包括在所述多个先前块中特定一个时,帧间预测单元22222可以确定所述特定子块的先前模式与所述特定先前块的先前模式相同。因此,帧间预测单元22222可以确定所述多个子块的所述多个先前模式,并计算基于所述多个候选参数来预测的所述多个子块的数量。因此,帧间预测单元22222可以确定所述多个候选参数的使用率。在至少一个实施方式中,帧间预测单元22222可以基于所述多个使用率来安排所述多个候选参数。在所述实施方式中,帧间预测单元22222可以基于所述多个使用率,从最大到最小来安排所述多个候选参数。
59.在至少一个实施方式中,帧间预测单元22222可以根据所述多个先前块的所述多个先前模式来针对每个所述多个运动参数安排所述多个候选参数,以生成排序的候选列表。然后,帧间预测单元22222可以将前nm个候选参数添加到第一候选组中,作为排序的候选列表中的运动参数之一。在至少一个实施方式中,nm可以是大于零的整数。在至少一个实施方式中,帧间预测单元22222可以根据所述多个先前模式的使用率来针对所述多个运动参数中的一个安排所述多个候选参数,以生成排序的候选列表。另外,在比特流中用于所述第一候选组中所述多个组参数中第一个的比特的数目可以小于在比特流中用于所述第一候选组中所述多个组参数中第二个的比特的数目。
60.在至少一个实施方式中,所述第一候选组中的所述多个组参数的最大数量可以为nm。在一个实施方式中,当解码器模块222开始解码比特流时,所述第一候选组中的所述多个组参数的数量可以等于零。当帧间预测单元22222确定了视频数据中的第一块是基于具有所述多个先前参数的mmvd模式被预测时,帧间预测单元22222可以将与mmvd模式的所述多个先前参数相同的候选参数添加到第一候选组中。因此,第一候选组中的所述多个组参数的数量可以增加到一个。在至少一个实施方式中,当所述多个先前模式的数量等于或大于nm时,所述第一候选组中的所述多个组参数的数量可以等于最大数量nm。因此,当一个新的先前模式被确定,以添加到所述第一候选组中的所述nm个组参数中时,帧间预测单元22222可以从所述第一候选组中去除所述多个候选参数中的第一个加入的候选参数。
61.在至少一个实施方式中,帧间预测单元22222可以将剩余的候选参数分类到其他候选组。在一个实施方式中,所述第一候选组中的所述多个组参数的数量可以大于或小于其他候选组中的所述多个组参数的数量。在另一实施方式中,所述第一候选组中的所述多个组参数的数量可以等于其他候选组中的所述多个组参数的数量。
62.在至少一个实施方式中,所述多个候选组中的所述多个候选参数的分布可以预定义(例如,在编码器模块112和解码器模块222中)。因此,帧间预测单元22222可以直接从解码器模块222确定所述多个候选组中的所述多个候选参数的分类结果。在至少一个实施方式中,帧间预测单元22222可以直接确定包括所述多个组参数的所述多个候选组。在所述实
施方式中,每个候选组中的所述多个组参数可以在解码器模块222中预定义。
63.参照图3,在框33,解码器模块222可以确定用于预测所述块单元的所述多个候选参数中的特定一个是否包括在所述第一候选组中。如果块单元的所述特定的候选参数包括在第一候选组中时,则程序可以前进至框34。如果块单元的所述特定的候选参数不包括在第一候选组中,则程序可以前进至框35。
64.在至少一个实施方式中,预测指示还可以包括集合标志,该集合标志指示块单元的所述特定的候选参数是否包括在所述第一候选组中。因此,当集合标志等于1时,帧间预测单元22222可以直接确定块单元的所述特定的候选参数包括在第一候选组中。另外,当集合标志等于零时,帧间预测单元22222可以直接确定块单元的所述特定的候选参数不包括在所述第一候选组中。在至少一个实施方式中,集合标志可以是fpel_mmvd_enable_flag,以指示所述块单元的所述特定的候选参数是否包括第一候选组中。在至少一个实施方式中,当集合标志包括在切片标头中时,所述集合标志可以是slice_fpel_mmvd_enabled_flag。
65.在框34处,解码器模块222可以基于与所述集合索引相对应的所述特定的候选参数来确定所述多个预测参数。
66.在至少一个实施方式中,第一候选组中的每个组参数可以对应于集合索引的一个索引值。因此,因为所述特定的候选参数被包括在第一候选组中,帧间预测单元22222可以基于集合索引来确定所述特定的候选参数。
67.在至少一个实施方式中,帧间预测单元22222可以基于集合索引来确定所述多个预测参数。例如,当集合索引代表基础候选索引和运动差异索引时,帧间预测单元22222可以直接从集合索引确定块单元的基础候选和运动差异。另外,帧间预测单元22222还可基于预测方向索引来确定块单元是双向预测块还是单向预测块。因此,解码器模块222可以基于所确定的基础候选来选择所述多个向量候选中的一个和所述多个帧候选中的一个,并且调整所选择的向量候选以生成与所选择的帧候选相对应的运动向量。然后,解码器模块222可以基于所选择的帧候选和预测方向索引来确定是否将运动向量镜像以生成镜像向量。在至少一个实施方式中,当集合索引代表运动距离索引时,帧间预测单元22222可以从集合索引来确定块单元的差异幅度。因此,帧间预测单元22222可以进一步基于所述基础候选索引和所述运动方向索引来确定所述基础候选和所述差异方向,以基于所确定的基础候选、所确定的差异幅度和所确定的差异方向来预测块单元。
68.在框35,解码器模块222可以基于所述剩余候选组中所述特定的候选参数来确定所述多个预测参数。
69.在至少一个实施方式中,剩余候选组中的每个组参数可以对应于组索引的一个索引值。因此,当所述特定的候选参数包括在剩余候选组中时,帧间预测单元22222可以通过组索引来确定所述特定的候选参数。在至少一个实施方式中,在第一候选组中被排除的所有候选参数可以添加到剩余候选组中。在至少一个实施方式中,针对第一候选组而由集合索引代表的所述多个候选参数可以与针对剩余候选组中的每一个而由组索引代表的候选参数相同。例如,在集合索引指示第一候选组中的基础候选和运动差异时,帧间预测单元22222可以确定了组索引可以指示剩余候选组中的基础候选和运动差异。因此,解码器模块222可以基于所确定的基础候选(例如,由组索引确定)选择所述多个向量候选中的一个和
所述多个帧候选中的一个,确定由组索引确定的运动差异,并基于所确定的运动差异来所调整选择的向量候选,以生成与所选择的帧候选相对应的运动向量。在至少一个实施方式中,当组索引仅指示第一候选组中的差异幅度时,组索引可以指示剩余候选组中的差异幅度。
70.在至少一个实施方式中,候选组的数量可以大于两个。例如,候选组的数量可以等于四个。帧间预测单元22222可基于所述多个先前块的所述多个预测模式将所述多个候选参数分类到四个候选组。在所述实施方式中,集合标志可以改变为指示哪个候选组包括所述特定的候选参数的索引。
71.在至少一个实施方式中,当候选组的数量等于两个时,集合索引和组索引可以由相同的索引来表示。在至少一个实施方式中,当所述特定的候选参数被包括在第一候选组中时,所述多个预测指示中的一个可以被视为集合索引,以确定所述多个预测参数中的至少一个。在至少一个实施方式中,当所述特定的候选参数包括在另一候选组中时,所述多个预测指示中的一个可以被视为组索引,以确定所述预测参数中的至少一个。
72.在至少一个实施方式中,帧间预测单元22222可以在没有组索引的情况下确定剩余候选组中所述特定的候选参数。帧间预测单元22222可以通过基础候选索引来确定基础候选,并且可以通过运动差异指示来确定运动差异。另外,帧间预测单元22222还可基于预测方向索引来确定块单元是双向预测块还是单向预测块。因此,解码器模块222可以基于所确定的基础候选来选择所述多个向量候选中的一个和所述多个帧候选中的一个,并且调整所选择的向量候选以生成与所选择的帧候选相对应的运动向量。另外,解码器模块222可以基于所选择的帧候选和预测方向索引来确定是否将运动向量进行镜像以生成镜像向量,并且将所选的帧候选进行镜像以生成镜像的帧候选。
73.参照图3,在框36,解码器模块222可以基于所确定的预测参数来重建所述块单元。
74.在至少一个实施方式中,帧间预测单元22222可以根据所述多个预测参数为块单元中的所述多个块分量中的一个生成预测分量。在至少一个实施方式中,第一加法器2224可基于所述多个预测分量和多个残余分量来生成多个重建分量,以用于重建块单元。在所述实施方式中,第一加法器2224可以经由熵解码单元2221和逆量化/逆变换单元2223接收所述块单元的所述多个残余分量。在所述实施方式中,所述多个残余分量可以从比特流中确定。在至少一个实施方式中,解码器模块222可以重建图像帧中的所有其他块单元,以重建图像帧和视频。
75.图5是根据本技术的示例性实施方式,用于基于多个候选组中的多个具有运动向量差的合并模式(merge mode with motion vector difference,mmvd)候选参数来重建块单元的示例性重建方法的流程图。因为存在多种方式来执行该方法,因此仅通过示例的方式提供示例方法。例如,可以使用图1和图2所示的配置来执行以下描述的方法,并且在解释示例方法时参考了这些图的各种元件。显示在图5的每一框可表示在示例方法中执行的一个或多个过程、方法或子例程。此外,框的顺序仅是说明性的,并且可以改变。在不脱离本技术的情况下,可以添加额外的框或可以利用更少的框。
76.在框51,解码器模块222可以根据视频数据从图像帧确定块单元。
77.在至少一个实施方式中,视频数据可以是比特流。在至少一个实施方式中,所述目的地装置12可以通过所述目的地装置12的所述第二接口123从诸如所述来源装置11的编码
器接收比特流。所述第二接口123可将比特流提供给所述解码器模块222。所述解码器模块222可根据比特流确定图像帧,并根据比特流中的多个分割指示对图像帧进行分割以确定块单元。例如,所述解码器模块222可以分割图像帧以生成多个编码树单元,并且还基于视频编码标准中根据分割指示来分割编码树单元中的一个,以确定块单元。
78.在至少一个实施方式中,熵解码单元2221可以对比特流进行解码以确定针对块单元的多个预测指示,然后解码器模块222可以进一步基于预测指示来重建块单元。在至少一个实施方式中,预测指示可以包括多个标志和多个索引。
79.在框52,预测处理单元2222可以选择与集合标志相对应的多个候选组中的一个。
80.在至少一个实施方式中,当块单元在mmvd模式下预测时,可以存在多个运动参数用于预测块单元。在至少一个实施方式中,所述多个运动参数可以包括基础运动、运动差和预测方向。在至少一个实施方式中,每个所述多个运动参数可以包括多个候选参数。在至少一个实施方式中,解码器模块222可以针对每个所述多个运动参数从所述多个候选参数中选择预测参数。例如,所述多个预测参数中的一个可以从基础运动的所述多个候选参数中选择。
81.在至少一个实施方式中,帧间预测单元22222可以基于相邻运动信息来生成用于块单元的多个基础候选。在至少一个实施方式中,所述多个基础候选可以是用于选择基础运动的所述多个候选参数。例如,基础候选可以基于诸如高效视频编码(high efficiency video coding,hevc)或通用视频编码(versatile video coding,vvc)之类的视频编码标准,在跳过模式、直接模式和合并模式中生成。每个基础候选可以包括至少一个帧候选和至少一个向量候选。在一个实施方式中,当所述多个基础候选中特定的一个是双向预测候选时,所述特定的基础候选可以包括第一参考列表l0中的第一帧候选、与第一帧候选相对应的第一向量候选、第二参考列表l1中的第二帧候选以及与第二帧候选相对应的第二向量候选。在另一实施方式中,当所述特定的基础候选是针对第一参考列表的单向预测候选时,所述特定的基础候选可以包括第一参考列表l0中的第一帧候选以及与第一帧候选相对应的第一向量候选。
82.在至少一个实施方式中,运动差还可以包括差异幅度和差异方向。在至少一个实施方式中,帧间预测单元22222可以选择所述多个基础候选中的一个,并确定运动差以调整所选基础候选中的向量候选。在至少一个实施方式中,多个差异距离候选是用于选择差异幅度的所述多个候选参数,并且多个差异方向候选是用于选择差异方向的所述多个候选参数。在至少一个实施方式中,差异方向可以指示用于调整所选择的基础候选的向量候选的方向角。在至少一个实施方式中,所述多个差异方向候选可以包括四个坐标方向(+,0)、(0,+)、(-,0)和(0,-)。在所述实施方式中,四个坐标方向的方向角可以为0
°
、90
°
、180
°
和270
°
。
83.在至少一个实施方式中,帧间预测单元22222可以选择第一参考列表l0和第二参考列表l1中的至少一个来预测块单元。当所述块单元是基于所述第一参考列表l0中的所述多个第一帧候选中的一个和所述第二参考列表l1中的所述多个第二帧候选中的一个来预测时,所述块单元是基于第一参考列表l0和第二参考列表l1预测的双向预测块。当所述块单元是基于所述第一参考列表l0中的所述多个第一帧候选中的一个来预测块单元时,所述块单元是基于所述第一参考列表l0而预测的单向预测块。当用于预测所述块单元的参考列表与由所述基础运动确定的参考列表不同时,帧间预测单元22222可以通过由基础运动所
确定的参考列表中的帧候选进行镜像,来搜索块单元的参考列表中的帧候选。
84.在至少一个实施方式中,所述多个运动参数的所述多个候选参数可以包括用于选择一个或多个第一运动参数的多个第一mmvd候选参数和用于选择一个或多个第二运动参数的多个第二mmvd候选参数。在至少一个实施方式中,一个或多个第一运动参数中的所述多个第一mmvd候选参数可以被分布在所述多个候选组中。在至少一个实施方式中,每个所述多个候选组包括一个或多个第一mmvd候选列表,每个第一mmvd候选列表包括用于预测第一运动参数中的相应一个的第一mmvd候选参数。在至少一个实施方式中,一个或多个第一运动参数的数量可以等于每个所述多个候选组中的一个或多个第一mmvd候选列表的数量。在至少一个实施方式中,所述多个第二mmvd候选参数可以被包括在与所述多个第一mmvd候选列表不同的一个或多个第二mmvd候选列表中。在至少一个实施方式中,第二mmvd候选参数可以排除在所述候选组外。
85.在至少一个实施方式中,所述多个候选组中的所述多个候选参数的分布可以预定义(例如,在编码器模块112和解码器模块222中)。因此,帧间预测单元22222可以直接从解码器模块222确定所述多个候选组中的所述多个第一mmvd候选参数的分类结果。在至少一个实施方式中,帧间预测单元22222可以直接确定包括所述多个第一组mmvd候选参数的所述多个候选组。在所述实施方式中,每个所述多个候选组中的所述多个第一mmvd候选参数可以预定义在解码器模块222中。
86.在至少一个实施方式中,所述多个预测指示还可以包括集合标志,所述集合标志指示是否从所述多个候选组中的特定的一个中选择了所述块单元的所述多个预测参数中的至少一个。因此,当所述集合标志等于1时,帧间预测单元22222可以直接确定所述块单元的所述多个预测参数中的所述至少一个是从所述特定的候选组中选择。另外,当所述集合标志等于零时,帧间预测单元22222可以直接确定未从所述特定的候选组中选择所述块单元的所述多个预测参数中的至少一个。在至少一个实施方式中,所述集合标志可以是fpel_mmvd_enable_flag,以指示是否从所述特定的候选组中选择了块单元的所述多个预测参数中的至少一个。在至少一个实施方式中,当所述集合标志包括在切片标头中时,所述集合标志可以是slice_fpel_mmvd_enabled_flag。
87.参照图5,在框53,预测处理单元2222可以根据所述视频数据确定所述块单元的多个mmvd指示。
88.在至少一个实施方式中,所述多个预测指示可以包括mmvd模式的基础候选索引、运动差异指示和预测方向索引中的至少一个。在至少一个实施方式中,解码器模块222可以基于所述多个预测指示中的对应一个,从针对每个所述多个运动参数的所述多个候选参数中选择所述多个预测参数中的一个。例如,所述多个预测参数中的一个可以基于所述基础候选索引从所述基础运动的所述多个候选参数中选择。
89.在至少一个实施方式中,基础候选索引可以是mmvd标志mmvd_cand_flag,其指示包括在所述多个预测参数中的所选基础候选。在一个实施方式中,当所述块单元的所述基础运动是基于所述基础候选索引从所述多个基础候选中选择的双向预测候选时,所述块单元的所述基础运动可以指示第一参考列表l0中的第一帧候选、与第一帧候选对应的第一向量候选、第二参考列表l1中的第二帧候选以及与第二帧候选相对应的第二向量候选。
90.在至少一个实施方式中,所述运动差异指示可以进一步包括运动距离索引和运动
方向索引。在至少一个实施方式中,帧间预测单元22222可以基于运动差异指示来确定运动差异,以调整所选择的基础候选中的向量候选。在至少一个实施方式中,运动距离索引可以是指示从所述多个差异距离候选来的差异幅度的第一mmvd索引mmvd_distance_idx,运动方向索引可以是指示从所述多个差异方向候选来的差异方向的第二mmvd索引mmvd_direction_idx。在至少一个实施方式中,运动差异指示可以是指示包括x坐标差异和y坐标差异的运动差异的运动差异索引。因此,帧间预测单元22222可以基于由运动差异索引指示的x坐标差异和y坐标差异来确定运动差,以调整选择的向量候选。
91.在至少一个实施方式中,帧间预测单元22222可以基于预测方向索引从多个预测方向候选中选择第一参考列表l0和第二参考列表l1中的至少一个。当由预测方向索引确定的参考列表与由基础候选索引确定的参考列表不同时,帧间预测单元22222可以通过由基础候选索引所确定的参考列表中的帧候选进行镜像,来搜索由预测方向索引确定的参考列表中的帧候选。在至少一个实施方式中,在预测指示中可能没有预测方向索引。在所述实施方式中,将由所述基础候选索引确定的所述参考列表预设为用于预测所述块单元的所选参考列表。
92.在至少一个实施方式中,所述多个预测指示可以包括集合索引。在所述实施方式中,当所述运动差异指示为所述运动差异索引时,所述集合索引可以代表所述基础候选索引、所述运动差异索引和所述预测方向索引中的至少一个。在至少一个实施方式中,当所述运动差异指示包括所述运动距离索引和所述运动方向索引时,所述集合索引可以代表所述基础候选索引、所述运动距离索引、所述运动方向索引和所述预测方向索引中的至少一个。例如,当所述集合索引代表所述运动距离索引和所述运动方向索引时,解码器模块222可以根据所述集合索引直接确定所述差异幅度和所述差异方向。另外,当所述集合索引仅代表所述运动距离索引时,解码器模块222可以基于所述集合索引来确定所述差异幅度。在所述实施方式中,集合索引是所述运动距离索引。在至少一个实施方式中,当所述集合索引代表所述运动距离索引和所述运动方向索引时,所述多个差异距离候选和所述多个差异方向候选可以是分布在所述多个候选组中的所述多个组参数。在所述实施方式中,所述多个基础候选和所述多个预测方向候选不包括在所述多个候选组中。在至少一个实施方式中,当所述集合索引代表所述运动距离索引时,所述多个差异距离候选可以是分布在所述多个候选组中的所述多个组参数。在所述实施方式中,所述多个基础候选、所述多个差异方向候选和所述多个预测方向候选不包括在所述多个候选组中。
93.在至少一个实施方式中,当所述集合标志等于1时,帧间预测单元22222可以基于所述集合索引直接从所述特定的候选组中确定所述多个预测参数中的至少一个。另外,当所述集合标志等于零时,帧间预测单元22222可以基于组索引直接确定其他候选组中的所述多个预测参数中的至少一个。在至少一个实施方式中,当所述多个候选组的数量等于2时,所述集合索引和所述组索引可以由相同的索引表示。在至少一个实施方式中,当指示所述特定的候选组的所述集合标志等于一时,所述多个预测指示中的一个可以视为确定所述多个预测参数中的至少一个的集合索引。在所述实施方式中,当指示另一候选组的所述集合标志等于零时,所述多个预测指示中的一个可以视为确定所述多个预测参数中的至少一个的组索引。
94.参照图5,在框54,解码器模块222可以基于所述多个mmvd指示和所选择的候选组
来选择所述块单元的多个mmvd预测参数。
95.在至少一个实施方式中,当块单元在mmvd模式下预测时,所述多个预测参数是mmvd预测参数。在至少一个实施方式中,当所述集合标志等于一个时,帧间预测单元22222可以基于集合索引和其他预测指示来确定mmvd预测参数。例如,当所述集合索引代表所述基础候选索引和所述运动差异索引时,帧间预测单元22222可以基于所述集合索引直接确定所述块单元的所述基础候选和所述运动差,并且基于所述预测方向索引确定所述块单元是双向预测块还是单向预测块。在至少一个实施方式中,当所述集合索引和组索引中的每个代表所述运动距离索引时,帧间预测单元22222可以基于所述集合索引来确定所述块单元的所述差异幅度,并且可以基于所述基础候选索引、所述差异方向索引和所述预测方向索引来确定其他预测参数。
96.在至少一个实施方式中,当所述集合标志等于零时,帧间预测单元22222可以基于所述组索引和其他预测指示来确定所述多个mmvd预测参数。例如,当所述集合索引和组索引中的每个代表所述运动距离索引时,帧间预测单元22222可以从所述组索引确定所述块单元的所述差异幅度,并且基于所述基础候选索引、所述差异方向索引和所述预测方向索引来确定其他预测参数。
97.在框55,解码器模块222可以基于所述多个mmvd预测参数来重建所述块单元。
98.在至少一个实施方式中,帧间预测单元22222可以根据所述多个预测参数为块单元中的所述多个块分量中的一个生成预测分量。在至少一个实施方式中,第一加法器2224可基于所述多个预测分量和多个残余分量来生成多个重建分量,以用于重建块单元。在所述实施方式中,第一加法器2224可以经由熵解码单元2221和逆量化/逆变换单元2223接收所述块单元的所述多个残余分量。在所述实施方式中,所述多个残余分量可以从比特流中确定。在至少一个实施方式中,解码器模块222可以重建图像帧中的所有其他块单元,以重建图像帧和视频。
99.图6是根据本技术的示例性实施方式,用于基于多个候选组中的多个具有运动向量差的合并模式(merge mode with motion vector difference,mmvd)候选参数来重建块单元的示例性重建方法的流程图。因为存在多种方式来执行该方法,因此仅通过示例的方式提供示例方法。例如,可以使用图1和图2所示的配置来执行以下描述的方法,并且在解释示例方法时参考了这些图的各种元件。显示在图6的每一框可表示在示例方法中执行的一个或多个过程、方法或子例程。此外,框的顺序仅是说明性的,并且可以改变。在不脱离本技术的情况下,可以添加额外的框或可以利用更少的框。
100.在框61,解码器模块222可以根据视频数据从图像帧确定块单元。
101.在至少一个实施方式中,视频数据可以是比特流。在至少一个实施方式中,所述目的地装置12可以通过所述目的地装置12的所述第二接口123从诸如所述来源装置11的编码器接收比特流。所述第二接口123可将比特流提供给所述解码器模块222。所述解码器模块222可根据比特流确定图像帧,并根据比特流中的多个分割指示对图像帧进行分割以确定块单元。例如,所述解码器模块222可以分割图像帧以生成多个编码树单元,并且还基于视频编码标准中根据分割指示来分割编码树单元中的一个,以确定块单元。
102.在至少一个实施方式中,熵解码单元2221可以对比特流进行解码以确定针对块单元的多个预测指示,然后解码器模块222可以进一步基于预测指示来重建块单元。在至少一
个实施方式中,预测指示可以包括多个标志和多个索引。
100.在框62,预测处理单元2222可以基于集合标志选择多个候选组中的一个,每个候选组可以包括一个或多个第一具有运动向量差的合并模式(merge mode with motion vector difference,mmvd)候选列表。
101.在至少一个实施方式中,当所述块单元在mmvd模式下预测时,可以存在多个运动参数用于预测所述块单元。在至少一个实施方式中,所述多个运动参数可以包括基础运动、运动差和预测方向。在至少一个实施方式中,每个所述多个运动参数可以包括多个候选参数。在至少一个实施方式中,解码器模块222可以针对每个所述多个运动参数从候选参数中选择预测参数。例如,所述多个预测参数中的一个可以从所述基础运动的所述多个候选参数中选择。
102.在至少一个实施方式中,帧间预测单元22222可以基于相邻运动信息来生成用于所述块单元的所述多个基础候选。在至少一个实施方式中,所述多个基础候选是用于选择所述基础运动的候选参数。每个所述多个基础候选包括至少一个帧候选和至少一个向量候选。
103.在至少一个实施方式中,所述运动差异还可以包括所述差异幅度和所述差异方向。在至少一个实施方式中,帧间预测单元22222可以选择所述多个基础候选中的一个,并确定运动差以调整所选基础候选中的所述向量候选。在至少一个实施方式中,多个差异距离候选是用于选择差异幅度的所述多个候选参数,并且多个差异方向候选是用于选择差异方向的所述多个候选参数。
104.在至少一个实施方式中,帧间预测单元22222可以从多个预测方向候选中选择所述第一参考列表l0和所述第二参考列表l1中的至少一个,以预测所述块单元。当所述块单元是基于所述第一参考列表l0中的所述多个第一帧候选中的一个和所述第二参考列表l1中的所述多个第二帧候选中的一个来预测时,所述块单元是基于第一参考列表l0和第二参考列表l1来预测的双向预测块。
105.在至少一个实施方式中,与所述多个运动参数中的至少一个相对应的所述多个候选参数可以被分类到所述多个候选组中。在所述实施方式中,其他运动参数可以不包括在所述多个候选组中。在至少一个实施方式中,每个所述多个候选组可以包括一个或多个第一mmvd候选列表,每个所述多个第一mmvd候选列表具有多个第一mmvd候选参数。在所述实施方式中,所述多个第一mmvd候选参数可以是至少一个分类运动参数中的所述多个候选参数。在至少一个实施方式中,至少一个分类运动参数的数量可以等于每个所述多个候选组中的一个或多个第一mmvd候选列表的数量。例如,所述多个差异距离候选和所述多个差异方向候选可以分类为到所述多个候选组。在所述实施方式中,所述多个基础候选和所述多个预测方向候选可以不包括在所述多个候选组中。因此,至少一个分类运动参数是所述差异幅度和所述差异方向,并且至少一个分类运动参数的数量可以等于2。另外,每个所述多个候选组中的一个或多个第一mmvd候选列表的数量可以等于两个。在所述实施方式中,每个所述多个候选组中的两个第一mmvd候选列表中的一个可以包括所述多个差异距离候选,并且每个所述多个候选组中的所述两个第一mmvd候选列表中的另一个可以包括所述多个差异方向候选。在至少一个实施方式中,所述多个差异距离候选可以分类到所述多个候选组。在所述实施方式中,所述多个基础候选、所述多个差异方向候选和所述多个预测方向候
选可以不包括在所述多个候选组中。因此,所述至少一个分类运动参数为差异幅度,且所述至少一分类运动参数的数目可等于一。另外,每个所述多个候选组中的一个或多个第一mmvd候选列表的数量可以等于一个。在所述实施方式中,每个所述多个候选组中的所述第一mmvd候选列表可以包括差异距离候选。
106.在至少一个实施方式中,所述多个候选组中的所述多个候选参数的分布可以预定义(例如,在编码器模块112和解码器模块222中)。因此,帧间预测单元22222可以直接从解码器模块222确定所述多个候选组中的所述多个第一mmvd候选参数的分类结果。在至少一个实施方式中,帧间预测单元22222可以直接确定包括所述多个第一mvmvd候选参数的所述多个候选组。在所述实施方式中,每个所述多个候选组中的所述多个第一mmvd候选参数可以在解码器模块222中预定义。
107.在至少一个实施方式中,所述多个预测指示可以包括集合标志,所述集合标志指示是否从所述多个候选组中的特定一个中选择了所述块单元的所述多个预测参数中的至少一个。因此,当所述集合标志等于1时,帧间预测单元22222可以从所述特定的候选组中,直接选择所述块单元的所述多个预测参数中的至少一个。另外,当所述集合标志等于零时,帧间预测单元22222可以直接确定所述块单元的所述多个预测参数中的所述至少一个未从所述特定的候选组中选择。在至少一个实施方式中,所述集合标志可以是fpel_mmvd_enable_flag,以指示所述块单元的所述多个预测参数中的所述至少一个是否从所述特定的候选组中选择。在至少一个实施方式中,当所述集合标志包括在切片标头中时,所述集合标志可以是slice_fpel_mmvd_enabled_flag。
108.参照图6,在框63,预测处理单元2222可以根据所述视频数据确定所述块单元的多个mmvd指示。
109.在至少一个实施方式中,所述多个预测指示可以包括针对所述mvvd模式指示基础候选索引、运动差异指示和预测方向索引的所述多个mmvd指示。在至少一个实施方式中,所述多个mmvd指示可以包括所述基础候选索引、所述运动差异指示和所述预测方向索引中的至少一个。在至少一个实施方式中,解码器模块222可以针对每个所述多个运动参数,基于所述多个mmvd指示中的对应一个,从所述多个候选参数中选择所述多个预测参数中的一个。例如,所述多个预测参数中的一个可以基于所述基础候选索引从所述基础运动的所述多个候选参数中选择。
110.在至少一个实施方式中,所述基础候选索引可以是mmvd标志mmvd_cand_flag,其指示包括在所述多个预测参数中的所选基础候选。在一个实施方式中,当所述块单元的所述基础运动是基于所述基础候选索引从所述多个基础候选中选择的双向预测候选时,所述块单元的所述基础运动可以指示所述第一参考列表l0中的所述第一帧候选、与所述第一帧候选对应的所述第一向量候选、所述第二参考列表l1中的所述第二帧候选以及与所述第二帧候选相对应的所述第二向量候选。
111.在至少一个实施方式中,所述运动差异指示可以进一步包括运动距离索引和运动方向索引。在至少一个实施方式中,所述运动距离索引可以是指示从所述多个差异距离候选来的差异幅度的第一mmvd索引mmvd_distance_idx,所述运动方向索引可以是指示从所述多个差异方向候选来的差异方向的第二mmvd索引mmvd_direction_idx。在至少一个实施方式中,所述运动差异指示可以是指示包括x坐标差异和y坐标差异的运动差异的运动差异
索引。因此,帧间预测单元22222可以基于由所述运动差异索引指示的所述x坐标差异和所述y坐标差异来确定运动差,以调整选择的向量候选。
112.在至少一个实施方式中,帧间预测单元22222可以基于所述预测方向索引从多个预测方向候选中选择所述第一参考列表l0和所述第二参考列表l1中的至少一个。在至少一个实施方式中,当由所述基础候选索引确定的参考列表被预设为用于预测所述块单元的所选参考列表时,在所述多个预测指示中可能没有预测方向索引。
113.在至少一个实施方式中,mmvd指示可以包括集合索引。在所述实施方式中,当所述运动差异指示是所述运动差异索引时,所述集合索引可以指示所述基础候选索引、所述运动差异索引和所述预测方向索引中的至少一个。在所述实施方式中,从所述基础候选索引、所述运动差异索引和所述预测方向索引中选择的所述至少一个指示的索引可以不包括在所述多个mmvd指示中,而未在所述集合索引中指示并从所述基础候选索引、所述运动差异索引和所述预测方向索引中选择的其他索引可以直接包括在所述多个mmvd指示中。在至少一个实施方式中,当所述运动差异指示包括所述运动距离索引和所述运动方向索引时,所述集合索引可以指示所述基础候选索引、所述运动距离索引、所述运动方向索引和所述预测方向索引中的至少一个。在所述实施方式中,从所述基础候选索引、所述运动距离索引、所述运动方向索引和所述预测方向索引中选择的所述至少一个指示的索引可以不包括在所述多个mmvd指示中,而未在所述集合索引中指示并从所述基础候选索引、所述运动距离索引、所述运动方向索引和所述预测方向索引中选择的其他索引可以直接包括在所述多个mmvd指示中。例如,当所述集合索引仅代表所述运动距离索引时,解码器模块222可以基于所述集合索引直接确定差异幅度。在所述实施方式中,当所述集合索引代表所述运动距离索引时,所述多个差异距离候选可以被分布到所述多个候选组中。在所述实施方式中,所述多个基础候选、所述多个差异方向候选和所述多个预测方向候选不包括在所述多个候选组中。另外,直接包括在所述多个mmvd指示中的所述基础候选索引、所述运动方向索引和所述预测方向索引可以不通过所述集合索引来指示。
114.在框64,解码器模块222可以从包括在所选候选组中的所述一个或多个第一mmvd候选列表中选择所述块单元的一个或多个第一mmvd预测参数。
115.在至少一个实施方式中,所述一个或多个第一mmvd预测参数被包括在所述块单元的所述多个预测参数中。在至少一个实施方式中,帧间预测单元22222可以基于所述集合索引直接从所述特定的候选组中确定所述一个或多个第一mmvd预测参数。在至少一个实施方式中,帧间预测单元22222可以从所选候选组中的所述一个或多个第一mmvd候选列表中选择所述一个或多个第一mmvd预测参数。
116.在至少一个实施方式中,当所述至少一个分类运动参数的数量等于一时,所选候选组中的所述一个或多个第一mmvd候选列表的数量可以等于一个。因此,帧间预测单元22222可以从选择的候选组中的一个第一mmvd候选列表中选择与一个分类的运动参数相对应的一个第一mmvd预测参数。例如,与所述一个第一mmvd预测参数相对应的所述一个分类运动参数是所述块单元的差异幅度。因此,所述一个第一mmvd候选者列表可以仅包括所述多个差异距离候选。在所述实施方式中,帧间预测单元22222可以基于所述集合索引从所选择的候选组的所述一个第一mmvd候选列表中的所述多个差异距离候选中选择所述块单元的所述差异幅度。
117.在至少一个实施方式中,当所述至少一个分类运动参数的数量大于一个时,所选候选组中的所述一个或多个第一mmvd候选列表的数量可以大于一个。因此,帧间预测单元22222可以从所选候选组中的所述多个第一mmvd候选列表中选择所述多个第一mmvd预测参数,每个所述多个第一mmvd预测参数可以对应于所述多个分类运动参数中的一个。在至少一个实施方式中,因为每个所述多个分类运动参数对应到所选候选组中的所述多个第一mmvd候选列表中的一个,帧间预测单元22222可以从所选候选组的所述多个第一mmvd候选列表中的对应一个第一mmvd候选列表中的所述多个第一mmvd候选参数中选择每个所述多个第一mmvd预测参数。
118.在框65,解码器模块222可以从排除在所述多个候选组外的一个或多个第二mmvd候选列表选择所述块单元的一个或多个第二mmvd预测参数。
119.在至少一个实施方式中,所述一个或多个第二mmvd预测参数被包括在所述块单元的所述多个预测参数中。在至少一个实施方式中,由于在所述多个候选组中排除了所述至少一个未分类的运动参数,因此在所述至少一个未分类的运动参数中的所述多个候选参数可以包括在所述多个候选组中排除的所述一个或多个第二mmvd候选列表中。在所述实施方式中,所述一个或多个第二mmvd候选列表中的每个与所述一个或多个第一mmvd候选列表不同。在至少一个实施方式中,所述至少一个未分类的运动参数中的每一个中的所述多个候选参数可以被包括在所述一个或多个第二mmvd候选列表中的相应一个中。例如,当所述至少一个未分类的运动参数是所述基础运动和所述差异方向时,所述基础候选可以被包括在两个第二mmvd候选列表中的一个中,而所述差异方向候选可以被包括在所述两个第二mmvd候选列表中的另一个中。
120.在至少一个实施方式中,帧间预测单元22222可以基于所述多个mmvd指示中的一个或多个来确定所述一个或多个第二mmvd预测参数,每个所述一个或多个第二mmvd预测参数可以对应于至少一个未分类的运动参数。在至少一个实施方式中,所述一个或多个mmvd指示中的每一个与所述集合索引不同。在至少一个实施方式中,帧间预测单元22222可以基于所述多个mmvd指示的一个或多个中对应的一个,从所述一个或多个第二mmvd候选列表中的对应一个的所述多个第二mmvd候选参数,来选择所述一个或多个第二mmvd预测参数中的每一个。例如,当所述至少一个未分类的运动参数是所述基础运动和所述差异方向时,所述块单元的所述基础运动可以基于所述基础候选索引确定,并且所述块单元的所述差异幅度可以基于所述运动距离索引确定。
121.在框66,解码器模块222可以基于所述一个或多个第一预测参数和所述一个或多个第二预测参数来重建所述块单元。
122.在至少一个实施方式中,帧间预测单元22222可以根据所述一个或多个第一预测参数和所述一个或多个第二预测参数为块单元中的所述多个块分量中的一个生成预测分量。在至少一个实施方式中,第一加法器2224可基于所述多个预测分量和多个残余分量来生成多个重建分量,以用于重建块单元。在所述实施方式中,第一加法器2224可以经由熵解码单元2221和逆量化/逆变换单元2223接收所述块单元的所述多个残余分量。在所述实施方式中,所述多个残余分量可以从比特流中确定。在至少一个实施方式中,解码器模块222可以重建图像帧中的所有其他块单元,以重建图像帧和视频。
123.图7是根据本技术的示例性实施方式的编码器模块712的方框图,所述编码器模块
712表示图1的系统中的来源装置11的编码器模块12的示例性实施方式。在至少一个实施方式中,编码器模块712可包括预测处理器(例如:预测处理单元7121)、至少一个加法器(例如:第一加法器7122和第二加法器7125)、变换/量化处理器(例如:变换/量化单元7123)、逆量化/逆变换处理器(例如:逆量化/逆变换单元7124)、滤波器(例如:滤波单元7126)、解码图片缓冲器(例如:解码图片缓冲器7127)和熵编码单元(例如:熵编码单元7128)。在至少一个实施方式中,所述编码器模块712的所述预测处理单元7121还可包括分割处理器(例如:分割单元71211)、帧内预测处理器(例如:帧内预测单元71212)和帧间预测处理器(例如:帧间预测单元71213)。在至少一个实施方式中,所述编码器模块712可接收来源视频,并对来源视频进行编码以输出比特流。
124.在至少一个实施方式中,所述编码器模块712可以接收包括多个图像帧的来源视频,然后根据编码结构分割图像帧。在至少一个实施方式中,每个图像帧可以分割为至少一个图像块。至少一个图像块可以包括具有多个亮度样本的亮度块以及具有多个多个色度样本的至少一个色度块。亮度块和至少一个色度块可以被进一步分割以生成宏块、编码树单元(coding tree units,ctu)、编码块(coding blocks,cb)、其子分割和/或另一等效编码单元。在至少一个实施方式中,编码器模块712可以执行来源视频的另外的细分割。应当注意,无论在编码之前和/或编码期间如何分割来源视频,所述的实施方式通常可应用于视频编码。
125.在至少一个实施方式中,在编码处理期间,所述预测处理单元7121可接收所述多个图像帧中的特定一个的当前图像块。当前图像块可以是所述特定图像帧中的亮度块和至少一色度块中的一个。所述分割单元71211可将当前图像块分割为多个块单元。所述帧内预测单元71212可以在与当前块单元相同的帧中相对于一个或多个相邻块执行当前块单元的帧内预测编码,以提供空间预测。所述帧间预测单元71213可以相对于一个或多个参考图像块中的一个或多个块执行当前块单元的帧间预测编码,以提供时间预测。
126.在至少一个实施方式中,所述预测处理单元7121可以基于诸如成本函数的模式选择方法来选择由所述帧内预测单元71212和所述帧间预测单元71213生成的多个编码结果中的一个。在至少一个实施方式中,模式选择方法可以是率失真优化(rate-distortion optimization,rdo)过程。所述预测处理单元7121可确定选择的编码结果,并且将与选择的编码结果相对应的预测块提供给所述第一加法器7122以生成残值块,并且提供给所述第二加法器7125以重建编码的块单元。在至少一个实施方式中,所述预测处理单元7121还可以将诸如运动向量、帧内模式指示符,分割信息和其他语法信息的语法元素提供给所述熵编码单元7128。
127.在至少一个实施方式中,所述帧内预测单元71212可以对当前块单元进行帧内预测。在至少一个实施方式中,所述帧内预测单元71212可以确定指向与当前块单元相邻的重建样本的帧内预测模式以对当前块单元进行编码。在至少一个实施方式中,所述帧内预测单元71212可以使用各种帧内预测模式对当前块单元进行编码,并且所述帧内预测单元71212或所述预测处理单元7121可以从测试模式中选择适当的帧内预测模式。在至少一个实施方式中,所述帧内预测单元71212可以使用交叉分量预测模式来对当前块单元进行编码,以基于当前块单元的亮度分量来预测当前块单元的两个色度分量中的一个。另外,所述帧内预测单元71212可以基于当前块单元的两个色度分量中的另一个来预测当前块单元的
两个色度分量中的第一个。
128.在至少一个实施方式中,如上所述,所述帧间预测单元71213可以对当前块单元进行帧间预测,以作为由所述帧内预测单元71212执行的帧内预测的替代。所述帧间预测单元71213可以执行运动估计以估计当前块单元的运动以生成运动向量。运动向量可以指示当前图像块内的当前块单元相对于参考图像块内的参考块单元的位移。在至少一个实施方式中,所述帧间预测单元71213可接收存储在所述解码图片缓冲器7127中的至少一个参考图像块,并基于接收到的参考图像块来估计运动以生成运动向量。
129.在至少一个实施方式中,所述第一加法器7122可通过从原始当前块单元减去由所述预测处理单元7121确定的预测块来生成残值块。所述第一加法器7122可代表执行该减法运算的一个或多个元件。
130.在至少一个实施方式中,所述变换/量化单元7123可将变换应用于残值块以产生残值变换系数,然后可对残值变换系数进行量化以进一步降低比特率。在至少一个实施方式中,所述变换可以是dct、dst、amt、mdnsst、hygt、信号相关变换、klt、小波变换、整数变换、子带变换或概念上类似的变换中的一个。在至少一个实施方式中,所述变换可以将残值信息从像素值域转换到变换域,例如频域。在至少一个实施方式中,可以通过调整量化参数来修改量化程度。在至少一个实施方式中,所述变换/量化单元7123可以对包括量化的变换系数的矩阵进行扫描。或者,所述熵编码单元7128可以执行扫描。
131.在至少一个实施方式中,所述熵编码单元7128可以从所述预测处理单元7121以及所述变换/量化单元7123接收包括量化参数、变换数据、运动向量、帧内模式、分割信息和其他语法信息的多个语法元素,并且可将语法元素熵编码到比特流中。在至少一个实施方式中,所述熵编码单元7128对经量化的变换系数进行熵编码。在至少一个实施方式中,所述熵编码单元7128可以执行cavlc、cabac、sbac、pipe编码或另一熵编码技术以生成编码的比特流。在至少一个实施方式中,编码的比特流可以被发送到另一装置(例如,所述目的地装置12)或被存档以用于稍后的发送或索取。
132.在至少一个实施方式中,所述逆量化/逆变换单元7124可以应用逆量化和逆变换来重建像素域中的残余块,以供以后用作参考块。在至少一个实施方式中,所述第二加法器7125可将重建的残余块添加到从所述预测处理单元7121提供的预测块中,以产生重建的块以存储在所述解码图片缓冲器7127中。
133.在至少一个实施方式中,所述滤波单元7126可以包括解块滤波器、sao滤波器、双边滤波器和/或alf,以从重建块去除块状伪像。除了解块滤波器、sao滤波器、双边滤波器和alf之外,还可以使用其他滤波器(环路内或环路后)。为了简洁起见,未示出此类滤波器,但是如果需要,可以对第二加法器7125的输出进行滤波。
134.在至少一个实施方式中,所述解码图片缓冲器7127可以是参考图片存储器,该参考图片存储器存储例如在帧内或帧间编码模式下用于由所述编码器模块712对视频进行编码的参考块。所述解码图片缓冲器7127可以由多种存储装置中的任何一个形成,诸如包括sdram、mram、rram的dram,或其他类型的存储装置。在至少一个实施方式中,所述解码图片缓冲器7127可以与所述编码器模块712的其他元件一起在芯片上,或者相对于那些元件在芯片外。
135.在至少一个实施方式中,编码器模块712可以执行如图3所示的预测方法,所述预
测方法用于基于多个候选组中多个具有运动向量差的合并模式(merge mode with motion vector difference,mmvd)候选参数来预测块单元。例如,可以使用图1和图7所示的配置来执行图3的方法,并且在解释示例方法时参考了这些图的各种元件。此外,此外,图3中的框的顺序仅是说明性的,并且可以改变。在不脱离本技术的情况下,可以添加额外的框或可以利用更少的框。
136.在框31处,编码器模块712可根据视频数据从图像帧中确定块单元,并确定所述块单元的多个候选参数。
137.在至少一个实施方式中,所述视频数据可以是视频。来源装置11可以通过来源模块111接收视频。编码器模块712可以从视频确定图像帧,并且分割图像帧以确定块单元。
138.在至少一个实施方式中,来源装置11的预测处理单元7121可以经由分割单元71211从视频确定块单元,然后编码器模块712可以基于分割单元71211的分割结果将多个分割指示提供到比特流中。
139.在至少一个实施方式中,来源装置11可以确定从针对块单元的多个候选模式中选择具有运动向量差的合并模式(merge mode with motion vector difference,mmvd)模式的所述多个候选参数,并且从所述多个候选参数中选择多个预测参数以预测块单元。在所述实施方式中,来源装置11可以向目标装置12提供比特流中指示所述块单元的所述多个预测参数的多个预测指示。在至少一个实施方式中,所述多个预测指示可以包括多个标志和多个索引。
140.在至少一个实施方式中,所述mmvd模式可以包括多个运动参数。在至少一个实施方式中,运动参数可以包括基础运动、运动差和预测方向。在至少一个实施方式中,每个运动参数具有多个候选参数。在至少一个实施方式中,预测指示可以包括用于mmvd模式的基础候选索引、运动差异指示和预测方向索引中的至少一个。在至少一个实施方式中,预测指示可以针对每个所述多个运动参数提供到比特流中。例如,基础候选索引可以针对基础运动提供到比特流。
141.在至少一个实施方式中,当运动差异指示包括运动距离索引和运动方向索引时,所述集合索引可以代表所述基础候选索引、所述运动距离索引、所述运动方向索引和所述预测方向索引中的至少一个。例如,当所述集合索引仅代表所述运动距离索引时,编码器模块712可以将集合索引提供到比特流中以指示差异幅度。
142.在框32,编码器模块712可以确定多个候选组,每个候选组包括从所述多个候选参数中选择的多个组参数。
143.在至少一个实施方式中,帧间预测单元71213可以确定在所述块单元之前被编码的多个先前块。在所述实施方式中,所述多个先前块是通过从所述多个候选模式中选择的多个先前模式来预测。在至少一个实施方式中,当所述多个先前模式是mmvd模式时,所述多个先前模式可以包括从所述多个候选参数中选择的多个先前参数。因此,帧间预测单元71213可确定所述多个先前块的所述多个先前参数,并将与所述多个预测模式的所述多个先前参数相同或相似的所述多个候选参数分类为第一候选组。例如,当帧间预测单元71213使用集合索引来表示差异幅度时,帧间预测单元71213将所述多个候选参数中的所述多个差异距离候选与所述多个先前块的所述多个先前模式的所述多个差异幅度进行比较。
144.在至少一个实施方式中,所述多个候选组中的所述多个候选参数的分布可以预定
义(例如,在编码器模块712和解码器模块122中)。因此,帧间预测单元71213可以直接从编码器模块712确定所述多个候选组中的所述多个候选参数的分类结果。在所述实施方式中,每个候选组中的所述多个候选参数可以在编码器模块712中预定义。
145.在框33,编码器模块71可以确定用于预测所述块单元的所述多个候选参数中的特定一个是否包括在所述第一候选组中。如果块单元的所述特定的候选参数包括在第一候选组中时,则程序可以前进至框34。如果块单元的所述特定的候选参数不包括在第一候选组中,则程序可以前进至框35。
146.在至少一个实施方式中,当所述块单元在所述mmvd模式下预测时,编码器模块712可以确定所述块单元的所述特定的预测候选是否包括在所述第一候选组中。当编码器模块712确定所述块单元的所述特定的预测候选包括在所述第一候选组中时,编码器模块712可以将等于一的集合标志提供到比特流中。当编码器模块712确定所述块单元的所述特定的预测候选不包括在所述第一候选组中时,编码器模块712可以将等于零的集合标志提供到比特流中。在至少一个实施方式中,集合标志可以是fpel_mmvd_enable_flag,以指示所述块单元的所述特定的候选参数是否包括第一候选组中。在至少一个实施方式中,当集合标志包括在切片标头中时,所述集合标志可以是slice_fpel_mmvd_enabled_flag。
147.在框34处,编码器模块712可以基于与所述集合索引相对应的所述特定的候选参数来确定所述多个预测参数。
148.在至少一个实施方式中,第一候选组中的每个组参数可以对应于集合索引的一个索引值。因此,当所述特定的预测候选包括在所述第一候选组时,帧间预测单元71213可以确定与所述特定的预测候选相对应的索引值,并将所述集合索引提供到比特流中。
149.在框35,编码器模块712可以基于所述剩余候选组中所述特定的候选参数来确定所述多个预测参数。
150.在至少一个实施方式中,所述多个剩余候选组中的每个所述多个组参数对应于组索引的一个索引值。因此,当所述特定的候选参数未包括在所述第一候选组中时,帧间预测单元71213可以确定与所述特定的候选参数相对应的索引值,并将组索引提供到比特流中。
151.在框36,编码器模块712可以基于所确定的预测参数来重建所述块单元。
152.在至少一个实施方式中,帧间预测单元71213可以根据所述多个预测参数为块单元中的所述多个块分量中的一个生成预测分量。在至少一个实施方式中,第一加法器7122可基于所述多个预测分量和多个原始分量来生成多个残余分量,以用于预测图像帧。在所述实施方式中,所述多个原始分量直接从所述视频的所述图像帧中确定。在所述实施方式中,变换/量化单元7123和熵编码单元7128可以对所述多个残余分量进行编码,以将比特流提供给目的地装置12。此外,第二加法器7125还可以基于所述多个残余分量和所述多个预测分量来重建块单元。以生成多个重建分量。因此,所述块单元的所述多个重建分量可以是用于预测下一个块单元的参考块。
153.图8是根据本技术的示例性实施方式,用于基于多个候选组中的多个具有运动向量差的合并模式(merge mode with motion vector difference,mmvd)候选参数来预测块单元的示例性预测方法的流程图。因为存在多种方式来执行该方法,因此仅通过示例的方式提供示例方法。例如,可以使用图1和图7所示的配置来执行以下描述的方法,并且在解释示例方法时参考了这些图的各种元件。显示在图8的每一框可表示在示例方法中执行的一
个或多个过程、方法或子例程。此外,框的顺序仅是说明性的,并且可以改变。在不脱离本技术的情况下,可以添加额外的框或可以利用更少的框。
154.在框81,所述编码器模块712根据视频数据从图像帧中确定块单元。
155.在至少一个实施方式中,视频数据可以是视频。所述来源装置11可以由所述来源模块111接收视频。所述编码器模块712从视频确定图像帧,并且分割图像帧以确定块单元。在至少一个实施方式中,所述来源装置11的所述预测处理单元7121可以经由所述分割单元71211从视频确定块单元,然后所述编码器模块712可以基于所述分割单元71211的分割结果将多个分割指示提供给比特流。
156.在框82,编码器模块712可从多个候选组中的多个第一mmvd候选参数中确定所述块单元的一个或多个第一mmvd预测参数,并从排除在所述多个候选组外的多个第二mmvd候选参数中确定所述块单元的一个或多个第二mmvd预测参数。
157.在至少一个实施方式中,当所述块单元以从多个候选模式中选择的mmvd模式来预测时,编码器模块712可以确定多个mmvd候选参数并从所述多个mmvd候选参数中选择多个mmvd预测参数。
158.在至少一个实施方式中,所述mmvd模式可以包括多个运动参数。在至少一个实施方式中,所述多个运动参数可以包括基础运动、运动差和预测方向。在至少一个实施方式中,所述多个运动参数可以包括所述基础运动、差异幅度、差异方向和所述预测方向。在至少一个实施方式中,每个所述多个运动参数可以包括所述多个mmvd候选参数。
159.在至少一个实施方式中,所述多个mmvd候选参数可以包括所述多个第一mmvd候选参数和所述多个第二mmvd候选参数,并且所述多个运动参数可以被分离为一个或多个第一运动参数和一个或多个第二运动参数。在至少一个实施方式中,用于选择所述一个或多个第一mmvd预测参数的所述多个第一mmvd候选参数可以是与所述一个或多个第一运动参数相对应并且分布在所述多个候选组中的所述多个mmvd候选参数,以及用于选择所述一个或多个第二mmvd预测参数的所述多个第二mmvd候选参数可以是与所述一个或多个第二运动参数相对应并且被排除在所述多个候选组之外的所述多个mmvd候选参数。在至少一个实施方式中,每个所述多个候选组可以包括与所述一个或多个第一运动参数中的每个相对应的所述多个第一mmvd候选参数。例如,所述一个或多个第一运动参数是差异幅度和差异方向。在所述实施方式中,每个所述多个候选组可以包括所述差异幅度的所述多个第一mmvd候选参数和所述差异方向的所述多个第一mmvd候选参数。例如,所述一个或多个第一运动参数是差异幅度。在所述实施方式中,每个所述多个候选组可以包括所述差异幅度的所述多个第一mmvd候选参数。
160.在至少一个实施方式中,所述多个候选组中的所述多个第一mmvd候选参数的分布可以预定义在编码器模块712和解码器模块122中。因此,帧间预测单元71213可以直接确定所述多个候选组中的所述多个第一mmvd候选参数的预定义分布。
161.在框83,编码器模块712可以确定指示与所述块单元相对应的所述多个候选组中特定一个的集合标志、指示包括在所述特定的候选组中的所述一个或多个第一mmvd预测参数的集合索引,以及指示被所述多个候选组排除的所述一个或多个第二mmvd预测参数的一个或多个mmvd索引。
162.在所述实施方式中,编码器模块712可以将指示所述块单元的所述多个mmvd预测
参数的多个预测指示提供给目的地装置12。在至少一个实施方式中,所述多个预测指示可以包括多个标志和多个索引。在至少一个实施方式中,所述多个预测指示可以包括用于所述mmvd模式的基础候选索引、运动差异指示和预测方向索引中的至少一个,以指示所述多个运动参数。
163.在至少一个实施方式中,当所述运动差异指示包括所述运动距离索引和所述运动方向时,所述集合索引可以代表所述基础候选索引、所述运动距离索引、所述运动方向索引和所述预测方向索引中的至少一个。例如,当所述集合索引仅表示所述运动距离索引时,编码器模块712可以提供所述集合索引以指示差异幅度。
164.在至少一个实施方式中,编码器模块712可以确定所述块单元的所述一个或多个第一mmvd预测参数是否被包括在所述多个候选组中的第一个中。当编码器模块712确定所述块单元的所述一个或多个第一mmvd预测参数被包括在所述第一候选组时,编码器模块712可以提供等于一的集合标志。当编码器模块712确定所述块单元的所述一个或多个第一mmvd预测参数不包括在所述第一候选组时,编码器模块712可以提供等于零的集合标志。在至少一个实施方式中,所述集合标志可以是fpel_mmvd_enable_flag,以指示在所述第一候选组中是否包括所述块单元的所述一个或多个第一mmvd预测参数。在至少一个实施方式中,当所述集合标志包括在切片标头时,所述集合标志可以是slice_fpel_mmvd_enabled_flag。
165.在至少一个实施方式中,所述多个候选组中的每个所述多个第一mmvd候选参数对应于针对所述集合索引的多个第一索引值中的一个。因此,编码器模块712可以确定与针对所述集合索引的所述一个或多个第一mmvd预测参数相对应的所述多个第一索引值中的特定一个。在至少一个实施方式中,每个所述多个第二mmvd候选参数对应于针对所述一个或多个mmvd索引中的对应一个的多个第二索引值中的一个。因此,帧间预测单元91213可以确定所述多个第二索引值中的特定一个,所述特定的第二索引值与针对所述一个或多个mmvd索引中的对应一个的所述一个或多个第一mmvd预测参数中的特定一个相对应。
166.在框84处,编码器模块712可将所述集合标志、所述集合索引以及所述一个或多个mmvd索引提供到比特流中。
167.在至少一个实施方式中,帧间预测单元71213可以根据所述一个或多个第一mmvd预测参数和所述一个或多个第二mmvd预测参数为块单元中的所述多个块分量中的一个生成预测分量。在至少一个实施方式中,第一求和器7122可基于所述多个预测分量和多个原始分量来生成多个残余分量,以用于预测图像帧。在所述实施方式中,所述多个原始分量直接从所述视频的所述图像帧中确定。在所述实施方式中,变换/量化单元7123和熵编码单元7128可以对所述多个残余分量进行编码。在至少一个实施方式中,所述编码的残余分量、所述集合标志、所述集合索引以及所述一个或多个mmvd索引可以提供到比特流中,以到达目的地装置12。
168.惟以上所述者,显而易见的是,在不脱离那些概念的范围的情况下,可以使用各种技术来实施本技术中描述的概念。此外,在所述概念已经具体参考某些实施方式来描述下,本领域普通技术人员将认识到在不脱离那些概念的范围内可以在形式和细节上进行改变。这样,所描述的实施方式在所有方面都应被认为是说明性的而非限制性的。还应该理解,本技术不限于上述特定实施方式,而是在不脱离本技术的范围的情况下,许多重新布置,修改
和替换是可能的。
技术特征:
1.一种通过电子装置编码视频数据的方法,所述方法包含:根据所述视频数据,从图像帧中确定块单元;选择所述块单元的多个具有运动向量差的合并模式mmvd预测参数以预测所述块单元;确定集合标志及所述块单元的多个mmvd指示,所述集合标志指示了对应于所述块单元的多个候选组中的一个,所述多个mmvd指示用于根据所述指示的候选组来指示所述块单元的所述多个mmvd预测参数;及编码所述集合标志和所述多个mmvd指示到比特流中,其中:所述多个候选组中的每个候选组包括一个或多个第一mmvd候选列表,所述一个或多个第一mmvd候选列表中的每个第一mmvd候选列表包括多个第一mmvd候选参数,所述多个mmvd预测参数中的一个或多个是从所指示的候选组的所述一个或多个第一mmvd候选列表中的所述多个第一mmvd候选参数中选择,及除了所述多个mmvd预测参数中的所述一个或多个之外的mmvd预测参数是从一个或多个第二mmvd候选列表中的多个第二候选参数中选择,所述一个或多个第二mmvd候选列表中的每个第二mmvd候选列表不同于所述一个或多个第一mmvd候选列表。2.如权利要求1所述的方法,其特征在于,基础候选索引、运动差异索引和预测方向索引是从所述多个mmvd指示确定。3.如权利要求2所述的方法,其特征在于,包括在所述多个mmvd指示中的集合索引指示所述基础候选索引、所述运动差异索引和所述预测方向索引中的一个或多个。4.如权利要求3所述的方法,其特征在于,当由所述集合索引指示的所述基础候选索引、所述运动差异索引和所述预测方向索引中的一个或多个的数量等于1时,所述集合索引与所述基础候选索引、所述运动差异索引和所述预测方向索引中的一个相同,以选择所述多个mmvd预测参数中的一个。5.一种通过电子装置编码视频数据的方法,所述方法包含:根据所述视频数据,从图像帧中确定块单元;选择所述块单元的多个具有运动向量差的合并模式mmvd预测参数以预测所述块单元;确定指示了多个候选组中的一个的集合标志,其中所述多个候选组中的每个包括一个或多个第一具有运动向量差的合并模式mmvd候选列表;从包括在所指示的候选组中的所述一个或多个第一mmvd候选列表,确定指示了所述块单元的所述mmvd预测参数中的一个或多个第一mmvd预测参数的集合索引;从不包括在所述多个候选组中的一个或多个第二mmvd候选列表,确定指示了所述块单元的所述mmvd预测参数中的一个或多个第二mmvd预测参数的一个或多个mmvd索引;及编码所述集合标志、所述集合索引和所述一个或多个mmvd索引到比特流中。6.如权利要求5所述的方法,其特征在于,所述一个或多个第一mmvd预测参数中的每个是从所指示的候选组的所述一个或多个第一mmvd候选列表中的对应一个内的多个第一mmvd候选参数中选择。7.如权利要求5所述的方法,其特征在于,所述一个或多个第二mmvd预测参数中的每个是从所述一个或多个第二mmvd候选列表中的对应一个内的多个第二mmvd候选参数中选择,所述一个或多个第二mmvd候选列表中的每个不同于所述一个或多个第一mmvd候选列表。8.如权利要求5所述的方法,其特征在于,指示所述一个或多个第一mmvd预测参数和所
述一个或多个第二mmvd预测参数的基础候选索引、运动差异指示和预测方向索引是基于所述集合索引和所述一个或多个mmvd索引确定。9.如权利要求8所述的方法,其特征在于,所述集合索引指示从所述基础候选索引、所述运动差异指示和所述预测方向索引中选择的一个或多个指示的索引。
技术总结
提供了一种通过电子装置编码视频数据的方法。根据视频数据从图像帧中确定块单元。选择块单元的多个具有运动向量差的合并模式MMVD预测参数以预测块单元。确定集合标志及块单元的多个MMVD指示。集合标志指示了对应于块单元的多个候选组中的一个。多个MMVD指示用于根据所述指示的候选组来指示块单元的多个MMVD预测参数。编码集合标志和多个MMVD指示到比特流中。每个候选组包括各自具有多个第一MMVD候选参数的一个或多个第一MMVD候选列表,多个MMVD预测参数中的一个或多个是从所指示的候选组的一个或多个第一MMVD候选列表中的多个第一MMVD候选参数中选择,及除多个MMVD预测参数中的所述一个或多个之外的MMVD预测参数是从一个或多个第二MMVD候选列表中的多个第二候选参数中选择。第二候选参数中选择。第二候选参数中选择。
技术研发人员:朱弘正 张耀仁
受保护的技术使用者:鸿颖创新有限公司
技术研发日:2019.08.26
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/