一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于编码视频数据的设备和方法与流程

2022-11-12 23:30:10 来源:中国专利 TAG:

用于编码视频数据的设备和方法
相关申请的交叉引用
1.本公开主张于2020年3月19日提交的名称为“high level syntax for mergemodes”的临时美国专利申请序列号62/992092(下文中称为
“’
092临时案”)的权益和优先权。’092临时案的公开内容特此以引用方式完全并入本公开中。
技术领域
2.本公开总体上涉及视频编码,且特别地,涉及用于使用高级语法以确认合并候选的数量的技术。


背景技术:

3.在常规视频编码方法中,编码器可编码视频数据以生成具有多个标志和多个索引的编码数据并且将编码数据提供到解码器。标志可指示是否启用多个编码模式。例如:编码数据可包括指示仿射模式是否针对某些图像帧而被启用的仿射启用标志。此外,索引可以指示用于编码模式的模式候选的最大数量。
4.尽管编码数据可包括用于每个不同级别语法元素中的每个编码模式的标志和索引,但是编码效率可能会被降低。因此,编码器和解码器需要有一种方法来更有效地使用标志和索引来避免编码数据中的比特数增加太多。


技术实现要素:

5.本公开涉及一种用于使用高级语法以确定合并候选的数量的设备和方法。
6.在本公开的第一个方面,提供一种用于解码比特流的方法和一种用于执行所述方法的电子设备。所述方法包括:接收所述比特流;从所述比特流中确定对应于一个或者多个图像帧的仿射启用标志;当所述仿射启用标志为真时,从所述比特流中确定对应于一个或者多个图像帧的最大索引,其中所述最大索引的索引值是在0到n-k的索引范围内,n为第一整数,k为小于n的第二整数;当所述仿射启用标志为真时,基于所述最大索引确定零个以上的基于子块的合并运动矢量预测(motion vector prediction,mvp)候选的最大数量;以及基于零个以上的基于子块的合并mvp候选的最大数量来重建所述一个或者多个图像帧。
7.在本公开的第二方面中,提供一种用于解码比特流和用于执行所述方法的电子设备。所述方法包括:接收所述比特流;从所述比特流中确定对应于一个或者多个图像帧的最大索引;其中所述最大索引的索引值是在0到n-k的索引范围内,n为第一整数,k为小于n的第二整数;通过从n中减去所述最大索引的所述索引值来确定零个以上的基于子块的合并运动矢量预测(mvp)候选的最大数量;以及基于零个以上的基于子块的合并mvp候选的最大数量来重建所述一个或者多个图像帧。
附图说明
8.当结合附图阅读以下详细描述时,可最佳地理解本公开的各方面。各种特征未按
比例绘制,并且为了讨论清楚起见,可任意地增大或减小各种特征的尺寸。
9.图1示出根据本公开的实施方式的被配置为编码和解码视频数据的系统的框图。
10.图2示出根据本公开的实施方式的图1中所示出的第二电子设备的解码器模块的框图。
11.图3示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法的流程图。
12.图4示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法的流程图。
13.图5示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法的流程图。
14.图6示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法的流程图。
15.图7示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法的流程图。
16.图8示出根据本公开的实施方式的图1中所示出的第一电子设备的编码器模块的框图。
具体实施方式
17.以下公开包含与本公开中的实施方式有关的具体信息。附图和对应的详细公开是针对示例性实施方式。然而,本公开不仅限于这些示例性实施方式。本领域技术人员将想到本公开的其他变型和实施方式。
18.除非另外指出,否则附图中的相似或对应的元件可通过相似或对应的参考标号来被指示。附图和图示通常未按比例绘制,并且并不意图对应于实际的相对尺寸。
19.出于一致性和易于理解的目的,在示例性附图中,通过参考标号标识相似的特征(尽管在一些示例中未展示)。然而,不同实施方式中的特征可在其他方面有所不同,因此不应狭隘地局限于附图中所示出的内容。
20.本说明书使用短语“在一个实施方式中”或“在一些实施方式中”,这些短语可指代相同或不同实施方式中的一者或多者。术语“耦接”被定义为连接,不管是直接连接还是通过中间部件间接连接,并且不一定限于物理连接。术语“包括”意指“包括但不一定限于”并且具体地指示在如此描述的组合、群组、系列或等效物中的开放式包括关系或隶属关系。
21.出于解释而非限制的目的,阐述具体细节(诸如:功能实体、技术、协议和标准)以用于提供对所公开技术的理解。省略了对众所周知的方法、技术、系统和架构的详细描述,以免不必要的细节混淆描述。
22.本领域技术人员将直接认识到,本公开中描述的任何一个或多个所公开的编码功能或算法可由硬件、软件或者软件和硬件的组合来实现。所描述的功能可对应于模块,所述模块可为软件、硬件、固件或它们的任何组合。
23.软件实施方式可包括存储在计算机可读介质(诸如:存储器或其他类型的存储设备)上的计算机可执行指令。例如,具有通信处理能力的一个或多个微处理器或通用计算机可编程有可执行指令,并且执行一个或多个所公开的功能或算法。
24.微处理器或通用计算机可由专用集成电路(applications specific integrated circuitry,asic)、可编程逻辑阵列和/或使用一个或多个数字信号处理器(digital signal processor,dsp)形成。尽管所公开的实施方式中的一些面向在计算机硬件上安装和执行的软件,但是实现为固件或硬件或硬件和软件的组合的替代实施方式也完全在本公开的范围内。计算机可读介质包括但不限于随机存取存储器(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示出根据本公开的实施方式的被配置为编码和解码视频数据的系统100的框图。该系统100包括第一电子设备110、第二电子设备120和通信介质130。
26.第一电子设备110可以为源设备,该源设备包括被配置来编码视频数据并且将所编码的视频数据传输到通信介质130的任何设备。第二电子设备120可以是目的地设备,该目的地设备包括被配置为经由通信介质130接收所编码的视频数据并且解码所编码的视频数据的任何设备。
27.第一电子设备110可经由通信介质130与第二电子设备120有线或无线地进行通信。第一电子设备110可包括源模块112、编码器模块114和第一接口116。第二电子设备120可包括显示模块122、解码器模块124和第二接口126。第一电子设备110可以是视频编码器,并且第二电子设备120可以是视频解码器。
28.第一电子设备110和/或第二电子设备120可以是移动电话、平板电脑、台式计算机、笔记本电脑或其他电子设备。图1示出第一电子设备110和第二电子设备120的一个示例。第一电子设备110和第二电子设备120可包括比所示出更多或更少的部件,或者具有各种部件的不同配置。
29.源模块112可包括用于捕获新视频的视频捕获设备、用于存储先前捕获的视频的视频档案和/或用于从视频内容提供方接收视频的视频馈送接口。源模块112可生成基于计算机图形的数据作为源视频,或生成直播视频、存档视频和电脑生成的视频的组合作为源视频。视频捕获设备可以是电荷耦合设备(charge-coupled device,ccd)图像传感器、互补型金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)图像传感器或相机。
30.编码器模块114和解码器模块124各自可被实现为多种合适的编码器/解码器电路中的任一种,所述解码器/编码器电路诸如一个或多个微处理器、中央处理单元(central processing unit,cpu)、图形处理单元(graphic processing unit,gpu)、片上系统(system on chip,soc)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific in-tegrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)、离散逻辑、软件、硬件、固件或它们的任何组合。当部分以软件实现时,设备可将用于软件的指令存储在合适的非暂时性计算机可读介质中,并且使用一个或多个处理器在硬件中执行指令以执行所公开方法。在至少一个实施方式中,编码器模块114和解码器模块124中的每一者可包括在一个或多个编码器和解码器中,其中的
每一者可集成作为设备中的组合式编码器/解码器(combined encoder/decoder,codec)的一部分。
31.第一接口116和第二接口126可利用自定义协议或遵循现有标准或实际标准,包括但不限于以太网、ieee 802.11或ieee 802.15系列、无线usb或电信标准(包括但不限于全球移动通信系统(global system for mobile communications,gsm)、码分多址(code-division multiple access,cdma)2000、时分同步码分多址(time division synchronous code division multiple access,td-scdma)、全球微波接入互操作性(worldwide interoperability for microwave access,wimax)、第3代合作伙伴计划长期演进(third generation partnership project long-term evolution,3gpp-lte)或时分长期演进(time-division lte,td-lte))。第一接口116和第二接口126各自可包括被配置来经由通信介质130传输和/或存储兼容视频比特流并且经由通信介质130接收兼容视频比特流的任何设备。
32.第一接口116和第二接口126可包括使得能够将兼容视频比特流存储在存储设备上或从存储设备接收兼容视频比特流的计算机系统接口。例如,第一接口116和第二接口126可包括支持外围部件互连(peripheral component interconnect,pci)和外围部件互连高速(peripheral component interconnect express,pcie)总线协议、专有总线协议、通用串行总线(universal serial bus,usb)协议、i2c的芯片组或可用于将对等设备互连的任何其他逻辑和物理结构。
33.显示模块122可包括显示器,其使用液晶显示器(liquid crystal display,lcd)技术、等离子体显示器技术、有机发光二极管(organic light emitting diode,oled)显示器技术或发光聚合物显示器(light emitting polymer display,lpd)技术,且在其他实施方式中,使用其他显示器技术。显示模块122可包括高清晰度显示器或超高清晰度显示器。
34.图2示出根据本公开的实施方式的图1中所示出的第二电子设备120的解码器模块124的框图。解码器模块124包括熵解码器(例如,熵解码单元2241)、预测处理器(例如,预测处理单元2242)、逆量化/逆变换处理器(例如,逆量化/逆变换单元2243)、加法器(例如,加法器2244)、滤波器(例如,滤波单元2245)和解码图片缓冲器(例如,解码图片缓冲器2246)。预测处理单元2242还包括帧内预测处理器(例如,帧内预测单元22421)和帧间预测处理器(例如,帧间预测单元22422)。解码器模块124接收比特流并且对比特流进行解码以输出所解码的视频。
35.熵解码单元2241可从图1中的第二接口126接收包括多个语法元素的比特流,并且对比特流执行解析操作以从比特流中提取语法元素。作为解析操作的一部分,熵解码单元2241可对比特流进行熵解码以生成量化的变换系数、量化参数、变换数据、运动向量、帧内模式、分区信息和其他语法信息。
36.熵解码单元2241可执行上下文自适应可变长度编码(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)编码或另一种熵编码技术,以生成量化的变换系数。熵编码单元2241可将量化的变换系数、量化参数和变换数据提供到逆量
化/逆变换单元2243,并且将运动向量、帧内模式、分区信息和其他语法信息提供到预测处理单元2242。
37.预测处理单元2242可从熵编码单元2241接收语法元素,诸如运动向量、帧内模式、分区信息和其他语法信息。预测处理单元2242可接收包括分区信息的语法元素,并且根据分区信息划分图像帧。
38.图像帧中的每一个可根据分区信息划分成至少一个图像块。至少一个图像块可包括用于重建多个亮度样本的亮度块和用于重建多个色度样本的至少一个色度块。亮度块和至少一个色度块可进一步划分以生成宏块、编码树单元(coding tree units,ctus)、编码块(coding blocks,cbs)、它们的细分单元和/或另一等效编码单元。
39.在解码过程期间,预测处理单元2242可接收预测数据,所述预测数据包括用于图像帧中的特定一个图像帧的当前图像块的帧内模式或运动向量。当前图像块可以是特定图像帧中的亮度块或者色度块中的一个。
40.帧内预测单元22421可基于与帧内模式相关的语法元素来相对于与当前块单元在同一帧中的一个或多个相邻块对当前块单元执行帧内预测编码,以便生成预测块。帧内模式可指定从当前帧内的相邻块选择的参考样本的位置。在至少一个实施方式中,当色度分量通过预测处理单元2242被重建时,帧内预测单元22421可基于当前块单元的多个亮度分量来重建当前块单元的多个色度分量。
41.当当前块的亮度分量通过预测处理单元2242被重建时,帧内预测单元22421可基于当前块单元的多个亮度分量来重建当前块单元的多个色度分量。
42.帧间预测单元22422可基于与运动向量相关的语法元素来相对于一个或多个参考图像块中的一个或多个块对当前块单元执行帧间预测编码,以便生成预测块。
43.运动向量可指示当前图像块内的当前块单元相对于参考图像块内的参考块单元的位移。参考块单元是确定为紧密地匹配当前块单元的块。
44.帧间预测单元22422可接收存储在解码图片缓冲器2246中的参考图像块,并且基于所接收的参考图像块来重建当前块单元。
45.逆量化/逆变换单元2243可应用逆量化和逆变换来在像素域中重建残余块。逆量化/逆变换单元2243可对残余量化变换系数应用逆量化以生成残余变换系数,然后对残余变换系数应用逆变换以在像素域中生成残余块。
46.逆变换可通过变换过程反向应用,所述变换过程诸如离散余弦变换(discrete cosine transform,dct)、离散正弦变换(discrete sine transform,dst)、自适应多重变换(adaptive multiple transform,amt)、模式相关不可分二次变换(mode-dependent non-separable secondary transform,mdnsst)、超立方体givens变换(hypercube-givens transform,hygt)、信号相关变换、karhunen-lo
é
ve变换(karhunen-lo
é
ve transform,klt)、小波变换、整数变换、子带变换或概念上类似的变换。逆变换可将残余信息从变换域诸如频域转换回像素域。逆量化的程度可通过调整量化参数来被修改。
47.加法器2244将重建残余块添加到从预测处理单元2242提供的预测块,以产生重建块。
48.滤波单元2245可包括去块滤波器、样本自适应偏移(sample adaptive offset,sao)滤波器、双边滤波器和/或自适应环路滤波器(adaptive loop filter,alf)以从重建
块去除块效应。除了去块滤波器、sao滤波器、双边滤波器和alf之外,还可使用另外的滤波器(环路内或环路后)。为简洁起见,此类滤波器未被明确示出,但可对加法器2244的输出进行滤波。在滤波单元2245对特定图像帧的重建块执行滤波过程之后,滤波单元2245可将解码视频输出到显示模块122或其他视频接收单元。
49.解码图片缓冲器2246可以是参考图片存储器,其存储参考块以供预测处理单元2242在解码比特流(以帧间编码模式)时使用。解码图片缓冲器2246可通过多种存储器设备中的任一种来被形成,所述存储器设备诸如动态随机存取存储器(dynamic random-access memory,dram)(包括同步dram(synchronous dram,sdram))、磁阻ram(magneto-resistive ram,mram)、电阻ram(resistive ram,rram))或其他类型的存储器设备。解码图片缓冲器2246可与解码器模块124的其他部件在芯片上或相对于那些部件在芯片外。
50.图3示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法300的流程图。方法300仅是示例,因为存在多种方法来执行解码视频数据。
51.方法300可使用图1和图2中所示出的配置来执行,并且针对方法300参考这些图中的各种元件。图3中所示出的每个框可表示所执行的一个或多个过程、方法或子例程。
52.图3中的框的顺序仅是说明性并且可改变。在不脱离本公开的情况下,可添加另外的框或可使用更少的框。
53.在框310处,解码器模块124接收视频数据,该视频数据可以是比特流。
54.参考图1和图2,第二电子设备120可以经由第二接口126从编码器诸如第一电子设备110或者其他视频提供方接收比特流。第二接口126可将比特流提供到解码器模块124。
55.熵解码单元2241可以解码比特流用以确定用于多个视频图像的多个预测指示和多个分区指示。然后,解码器模块124还可以基于预测指示和分区指示来重建多个视频图像。预测指示和分区指示可以包括多个标志和多个索引。
56.在框320处,解码器模块124从视频数据确定对应于一个或者多个图像帧的仿射启用标志。进一步参考图1和图2,解码器模块124可以从比特流确定一个或者多个图像帧并且确定对应于一个或者多个图像帧的第一参数集。
57.第一参数集可以包括多个第一预测指示和多个第一分区指示。比特流可进一步包括对应于除了一个或者多个图像帧之外的一个或多个其他图像帧的第二参数集。
58.第一参数集和第二参数集两者都可以是视频参数集(video parameter set,vps)、序列参数集(sequence parameter set,sps)、图片参数集(picture parameter set,pps)和图片标头(picture header,ph)中的一者。例如:当仿射启用标志被包含于sps时,仿射启用标志可以是标志sps_affine_enabled_flag。当第一参数集是sps时,一个或者多个图像帧中的每一个基于sps来被重建。
59.解码器模块124可以从比特流的第一参数集中确定对应于一个或者多个图像帧的仿射启用标志。仿射启用标志被用于确定是否为一个或者多个图像帧启用基于仿射模型的运动补偿。比特流中的基于块的语法还可以包括基于块的仿射标志用于当仿射启用标志等于1时,确定从一个或者多个图像帧中的一个划分的图像块是否使用基于仿射模型的运动补偿。基于仿射模型的运动补偿可以包括仿射合并预测(具有从多个所继承的仿射合并候选、多个所构造的仿射合并候选和至少一个零运动矢量(mv)候选中选择的多个仿射合并候选)以及仿射高级运动矢量预测(affine advanced motion vector prediction,amvp)(具
有从多个所继承的仿射amvp候选、多个所构造的仿射amvp候选、从相邻块中确定的平移mv候选以及零mv候选中选择的多个仿射amvp候选)。
60.在框330处,解码器模块124确定仿射启用标志是否为真。当解码器模块124确定仿射启用标志为真时,方法300可进行至框340。当解码器模块124确定仿射启用标志为假时,方法300可进行至框350。
61.当仿射启用标志等于1时,解码器模块124确定仿射启用标记为真。当仿射启用标志等于0时,解码器模块124确定仿射启用标记为假。
62.当仿射启用标志被包含于vps中时,仿射启用标志是标志vps_affine_enabled_flag。当仿射启用标志被包含于sps中时,仿射启用标志是标志sps_affine_enabled_flag。当仿射启用标志被包含于pps中时,仿射启用标志是标志pps_affine_enabled_flag。当仿射启用标志被包含于ph中时,仿射启用标志是标志ph_affine_enabled_flag。
63.在框340处,解码器模块124从视频数据中确定对应于一个或者多个图像帧的最大索引。进一步参考图1和图2,当仿射启用标志为真时,解码器模块124可以从对应于一个或者多个图像帧的第一参数集中确定最大索引。因此,最大索引也对应于一个或多个图像帧。当仿射启用标志被包含于sps中时,最大索引被包含于sps中。
64.当仿射启用标志为真时,最大索引被用于计算零个以上的基于子块的合并运动矢量预测(mvp)候选的最大数量。最大数量可以被表示为maxnumsubblockmergecand。最大索引的索引值可以是在0到n1-k的索引范围内。数量n1是第一整数,数量k是小于n1的第二整数。当最大索引被包含于sps中时,最大索引是索引sps_n1_minus_max_num_subblock_merge_cand。当最大索引被包含于sps中,且数量n1等于5时,最大索引是索引sps_five_minus_max_num_subblock_merge_cand。当最大索引被包含于pps中,且数量n1等于6时,最大索引是索引pps_six_minus_max_num_subblock_merge_cand。
65.数量k可以等于0或者1。当数量k等于0时,最大索引的索引值可以在0到5的索引范围内。当数量k等于1时,最大索引的索引值可以在0到4的索引范围内。
66.在框350处,解码器模块124针对一个或者多个图像帧,基于基于子块的时间mvp(subblock-based temporal mvp,sbtmvp)标志和时间mvp(temporal mvp,tmvp)标志,确定零个以上的基于子块的合并mvp候选的最大数量,而不从视频数据中确定最大索引。
67.当仿射启用标志为假时,在不从视频数据中确定最大索引的情况下,最大数量是基于sbtmvp标志和tmvp标志来被计算的。sbtmvp标志可以从对应于一个或者多个图像帧的第一参数集中被确定。因此,sbtmvp标志也可以对应于一个或者多个图像帧。
68.当仿射启用标志被包含于sps中时,sbtmvp标志可以是被包含于sps中的标志sps_sbtmvp_enabled_flag。tmvp标志可以从另一级别的参数集中被确定。
69.例如:当tmvp标志被包含于对应于至少一个或者多个图像帧中的一个的图片标头中时,tmvp标志可以是标志ph_temporal_mvp_enabled_flag。因此,tmvp标志可以对应于至少一个或者多个图像帧中的一个。至少一个或者多个图像帧中的一个是基于对应于至少一个或者多个图像帧中的一个的图片标头来被重建的。
70.sbtmvp标志可以等于1或者0,并且tmvp标志可以等于1或者0。当仿射启用标志为假时,最大数量maxnumsubblockmergecand可以等于“sbtmvp标志&&tmvp标志”。逻辑运算符号“&&”是两个布尔逻辑(boolean logical)“and”的值。因此,当仿射启用标志为假,且
sbtmvp标志和tmvp标志中的每一个等于1时,最大数量maxnumsubblockmergecand可以等于1。
71.可以等于换而言之,当仿射启用标志为假,并且sbtmvp标志和tmvp标志中的至少一个等于0时,最大数量maxnumsubblockmergecand可以等于0。因此,当仿射启用标志为假,最大数量maxnumsubblockmergecand可以被推导为如下:maxnumsubblockmergecand=sps_sbtmvp_enabled_flag&&ph_temporal_mvp_enable_flag
72.在框360处,解码器模块124基于最大索引来确定最大数量。当仿射启用标志为真时,最大数量可以通过从数量n1中减去最大索引来被计算。因此,当仿射启用标记为真,且数量n1等于5时,最大数量可以通过从5中减去最大索引来被计算。换而言之,当仿射启用标志为真,且数量n1等于5时,最大数量maxnumsubblockmergecand可以被推导为如下:maxnumsubblockmergecand=5-sps_five_minus_max_num_subblock_merge_cand
73.当仿射启用标志为真,最大索引的索引值可以在0到n1-k的索引范围内,并且最大数量可以通过从数量n1中减去最大索引来被计算。因此,最大数量的值是在n1-(n1-k)到n1的值范围内(例如:k到n1的值范围)。当仿射启用标志为真,并且数量k等于1时,最大数量的值是在1到n1的值范围内,并且最大索引的索引值是在0到n1-1的索引范围内。当仿射启用标志为真并且数量k等于0时,最大数量的值可以在0到n1的值范围内,并且最大索引的索引值是在0到n1的索引范围内。另外,当仿射启用标志为真,数量n1等于5,并且数量k等于1时,最大数量的值是在1到5的值范围内,且最大索引的索引值是在0到4的索引范围内。当仿射启用标志为真,数量n1等于5并且数量k等于0时,最大数量的值可以在0到5的值范围内,并且最大索引的索引值是在0到5的索引范围内。
74.参考图3中的框330到360,最大数量maxnumsubblockmergecand可以被推导为如下:
75.解码器模块124可以确定最大数量是否被包含于值范围内。当解码器模块124确定最大数量被排除在值范围之外时,解码器模块124可以确定视频数据不符合解码器模块124。
76.因此,解码器模块124可以输出用于一个或者多个图像帧的错误信号。换而言之,当解码器模块124确定最大数量被包含于值范围内时,解码器模块124可以确定视频数据符合解码器模块124。因此,解码器模块124可以解码比特流以重建一个或者多个图像帧。
77.当仿射启用标志为真时,解码器模块124可以确定最大索引是否被包含于索引范围内。当解码器模块124确定最大索引被排除在索引范围之外时,解码器模块124可以确定视频数据不符合解码器模块124。因此,解码器模块124可以输出用于一个或者多个图像帧的错误信号。以上确定可以是视频编码标准(诸如:通用视频编码(versatile video coding,vvc))中的比特流一致性要求之一。
78.换句话说,当解码器模块124确定最大索引被包含于索引范围内时,解码器模块
124可以确定视频数据符合解码器模块124。因此,解码器模块124可以解码比特流以重建一个或者多个图像帧。
79.在框370处,解码器模块124基于零个以上的基于子块的合并mvp候选的最大数量来重建一个或者多个图像帧。进一步参考图1和图2,解码器模块124可以从包括零个以上的基于子块的合并mvp候选的多个模式候选中选择用于一个或者多个图像帧中的多个图像块中的每一个的预测模式,并且基于预测模式确定多个预测块。用于一个或者多个图像帧中的每个图像块的零个以上的基于子块的合并mvp候选数量受最大数量限制。因此,解码器模块124基于受最大数量限制的零个以上的基于子块的合并mvp候选来重建一个或者多个图像帧。零个以上的基于子块的合并mvp候选可以包括多个sbtmvp候选、多个仿射合并预测候选以及至少一个零填充候选中的零个或者多个。解码器模块124可以针对图像块中的每一个从比特流中确定多个残余分量,并且将残余分量添加到对应的一个预测块中以重建图像块。解码器模块124可以重建所有图像帧以重建视频图像。
80.在视频编码标准诸如高效视频编码(high efficiency video coding,hevc)和vvc中,包括基于子块的合并mvp候选的基于子块的合并模式的多个第一搜索候选可以比仿射amvp预测的多个第二搜索候选更有效。然而,基于子块的合并模式的第一搜索候选的数量可以受最大数量maxnumsubblockmergecand限制。因此,由于编码器的复杂性,当基于仿射模式的运动补偿被启用时,最大数量maxnumsubblockmergecand可以被设置以确保基于子块的合并模式不会被最大数量禁用。因此,当数量k被设置为大于0时,最大数量maxnumsubblockmergecand将大于1。这里将不会存在最大数量等于0的条件来禁用基于子块的合并模式,因此,最大索引的信令将不会无用或者被浪费。
81.为了降低复杂度,当仿射启用标志为真时,基于子块的合并模式可以被使用。当仿射启用标志为真时,数量k可以等于1,以改变最大数量maxnumsubblockmergecand的值范围。然而,当基于子块的合并模式由于任何其他方法已经被禁用时,不需要针对基于子块的合并mvp候选来保留候选者。因此,当基于子块的合并模式被禁用,数量k可以等于0以保持值范围不变。因此,数量k可以针对基于子块的合并模式来被设置。
82.图4示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法400的流程图。方法400仅是示例,因为存在多种方法来执行解码视频数据。
83.用于解码比特流和重建块单元的方法400可使用图1和图2中所示出的配置来执行,并且针对方法400参考这些图中的各种元件。图4中所示出的每个框可表示所执行的一个或多个过程、方法或子例程。
84.图4中的框的顺序仅是说明性并且可改变。在不脱离本公开的情况下,可添加另外的框或可使用更少的框。
85.在框410处,解码器模块124接收视频数据,该视频数据可以是比特流。参考图1和图2,第二电子设备120可以经由第二接口126从编码器诸如第一电子设备110或者其他视频提供方接收比特流。第二接口126可将比特流提供到解码器模块124。
86.在框420处,解码器模块124从视频数据中确定对应于一个或者多个图像帧的最大索引。进一步参考图1和图2,解码器模块124可以从比特流中确定一个或者多个图像帧并且确定对应于一个或者多个图像帧的第一参数集。比特流可进一步包括对应于除了一个或者多个图像帧之外的一个或多个其他图像帧的第二参数集。第一参数集和第二参数集两者都
可以是vps、sps、pps和ph中的一者。
87.解码器模块124可以从对应于一个或者多个图像帧的第一参数集中确定最大索引。因此,最大索引也可以对应于一个或者多个图像帧。当第一参数集是sps时,最大索引可以被包含于sps中。
88.最大索引被用于计算零个以上的合并运动矢量预测(mvp)候选的最大数量。最大数量可以被表示为maxnummergecand。最大索引的索引值可以在0到n2的索引范围内。数量n2是整数。
89.当最大索引被包含于sps中时,最大索引可以是索引sps_n2_minus_max_num_merge_cand。当最大索引被包含于sps中,且数量n2等于6时,最大索引可以是索引sps_six_minus_max_num_merge_cand。当最大索引被包含于pps中,且数量n2等于5时,最大索引可以是索引pps_five_minus_max_num_merge_cand。
90.在框430处,解码器模块124基于最大索引来确定零个以上的合并mvp候选的最大数量。该最大数量对应于一个或者多个图像帧,且该最大数量的数量值在包含0的值范围内。
91.最大数量可以通过从数量n2中减去最大索引来被计算。因此,当数量n2等于6时,最大数量可以通过从6减去最大索引来被计算。换而言之,当数量n2等于6时,最大数量maxnummergecand可以被推导为如下:maxnummergecand=6-sps_six_minus_max_num_merge_cand
92.最大数量的索引值可以在0到n2的索引范围内。因此,最大数量的值可以在0到n2的值范围内,并且值范围中包含0。当数量n2等于6时,最大数量的值可以在0到6的值范围内。
93.解码器模块124可以确定最大数量是否被包含于值范围内。当解码器模块124确定最大数量被排除在值范围之外时,解码器模块124可以确定视频数据不符合解码器模块124。因此,解码器模块124可以输出用于一个或者多个图像帧的错误信号。
94.解码器模块124可以确定最大索引是否被包含于索引范围内。当解码器模块124确定最大数量被排除在值范围之外时,解码器模块124可以确定视频数据不符合解码器模块124。因此,解码器模块124可以输出用于一个或者多个图像帧的错误信号。
95.在框440处,解码器模块124基于最大数量来重建一个或者多个图像帧。进一步参考图1和图2,解码器模块124可以从包括零个以上的合并mvp候选的多个模式候选中选择用于一个或者多个图像帧中的多个图像块的每一个的预测模式,并且基于预测模式确定多个预测块。零个以上的合并mvp候选可以包括多个空间mvp(spatial mvp)候选、多个时间mvp(temporal mvp)候选、多个基于历史的mvp(history-based mvp)候选、多个成对平均mvp(pairwise average mvp)候选以及多个零mv(zero mv)候选中的零个或多个。空间mvp候选可以从空间相邻块的运动矢量中被确定,时间mvp候选可以从共位块(collocated block)的运动矢量中被确定,以及基于历史的mvp候选可以从先进先出(first-in-first-out,fifo)列表中被确定。
96.解码器模块124可以针对图像块中的每一个从比特流中确定多个残余分量,并且将残余分量添加到对应的一个预测块中以重建图像块。解码器模块124可以重建所有图像帧以重建视频图像。
97.在视频编码标准诸如hevc和vvc中,当帧间预测模式被启用时,包括合并mvp候选的常规合并模式也可以被启用。然而,解码和构建合并候选的过程可能比用于解码常规帧间模式的过程更复杂。因此,流水线延迟也是一个问题,常规合并模式可以直接被禁用以减少流水线延迟。
98.常规合并模式可以直接通过高级语法诸如:vps、sps、pps来被禁用。当值范围包括0时,最大数量可以等于0,以直接禁用常规合并模式。因此,仅通过最大索引来允许在一个或多个图像帧中禁用常规合并模式,因为包括最大索引的第一参数集对应于一个或多个图像帧。
99.图5示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法500的流程图。方法500仅是示例,因为存在多种方法来执行解码视频数据。
100.用于解码比特流和重建块单元的方法500可使用图1和图2中所示出的配置来执行,并且针对方法500参考这些图中的各种元件。图5中所示出的每个框可表示所执行的一个或多个过程、方法或子例程。
101.图5中的框的顺序仅是说明性并且可改变。在不脱离本公开的情况下,可添加另外的框或可使用更少的框。
102.在框510处,解码器模块124接收视频数据,该视频数据可以是比特流。参考图1和图2,第二电子设备120可以经由第二接口126从编码器诸如第一电子设备110或者其他视频提供方接收比特流。第二接口126可将比特流提供到解码器模块124。
103.在框520处,解码器模块124从视频数据中确定对应于一个或者多个图像帧的常规合并启用标志。进一步参考图1和图2,解码器模块124可以从比特流中确定一个或者多个图像帧并且确定对应于一个或者多个图像帧的第一参数集。第一参数集可以包括多个第一预测指示和多个第一分区指示。比特流可进一步包括对应于除了一个或者多个图像帧之外的一个或多个其他图像帧的第二参数集。
104.第一参数集和第二参数集两者都可以是vps、sps、pps和ph中的一者。例如:当常规合并启用标志被包含于sps中时,常规合并启用标志可以是标志sps_regular_merge_enabled_flag。
105.解码器模块124可以从比特流的第一参数集中确定对应于一个或者多个图像帧的常规合并启用标志。常规合并启用标志被用于确定是否为一个或者多个图像帧启用常规合并模式。当常规合并启用标志等于1时,比特流中基于块的语法还可以包括基于块的常规合并标志,以确定从一个或者多个图像帧中的一个划分的图像块是否使用常规合并模式。
106.常规合并模式可以包括多个合并mvp候选。合并mvp候选可以包括多个空间mvp候选、多个时间mvp候选、多个基于历史的mvp候选、多个成对平均mvp候选以及多个零mv候选中的零个或多个。空间mvp候选可以从空间相邻块的运动矢量中被确定,时间mvp候选可以从共位块的运动矢量中被确定,以及基于历史的mvp候选可以从先进先出列表(fifo)中被确定。
107.当常规合并启用标志不存在时,常规合并启用标志被推断为等于0。换而言之,当常规合并启用标志不存在时,解码器模块124可以确定常规合并启用标志为假。
108.在框530处,解码器模块124确定常规合并启用标志是否为真。当解码器模块124确定常规合并启用标志为真时,方法500可进行至框540。当解码器模块124确定常规合并启用
标志为假时,方法500可进行至框550。
109.当常规合并启用标志等于1时,解码器模块124确定常规合并启用标志为真。当常规合并启用标志等于0时,解码器模块124确定常规合并启用标志为假。当常规合并启用标志被包含于sps中时,常规合并启用标志可以是标志sps_regular_merge_enabled_flag。
110.在框540处,解码器模块124从视频数据中确定对应于一个或者多个图像帧的最大索引。进一步参考图1和图2,当常规合并启用标志为真时,解码器模块124可以从对应于一个或者多个图像帧的第一参数集中确定最大索引。因此,最大索引也对应于一个或者多个图像帧。当常规合并启用标志被包含于sps中时,最大索引是被包含于sps中的。
111.当常规合并启用标志为真时,最大索引被用于计算零个以上的合并mvp候选的最大数量。最大数量可以被表示为maxnummergecand。
112.最大索引的索引值可以在0到n3-p的索引范围内。数量n3可以是第一整数,数量p可以是小于数量n3的第二整数。
113.当最大索引被包含于sps中时,最大索引可以是索引sps_n3_minus_max_num_merge_cand。当最大索引被包含于sps中,且数量n3等于6时,最大索引可以是索引sps_six_minus_max_num_merge_cand。当最大索引被包含于pps中并且数量n等于5时,最大索引可以是索引pps_five_minus_max_num_merge_cand。
114.数量p可以是正整数。例如,数量p可以等于1。当数量p等于1或者数量n3等于6时,最大索引的索引值可以在0到5的索引范围内。
115.在框550处,解码器模块124针对一个或者多个图像帧来确定等于0的零个以上的合并mvp候选的最大数量,而不从视频数据中确定最大索引。
116.当常规合并启用标志为假时,最大数量可以直接被确定为0,而不从视频数据中确定最大索引。当常规合并启用标志为假时,常规合并模式在一个或者多个图像帧中被禁用。因此,当常规合并启用标志为假时,所有合并mvp候选可以不被用于预测从一个或者多个图像帧中划分的所有多个块,且最大数量可以直接被设置为0,而不进一步从第一参数集中分析任何标志或者索引。
117.在框560处,解码器模块124基于最大索引来确定最大数量。当常规合并启用标志为真时,最大数量可以通过从数量n3中减去最大索引来被计算。因此,当常规合并启用标志为真,且数量n3等于6时,最大数量可以通过从6中减去最大索引来被计算。换而言之,当常规合并启用标志为真,并且数量n3等于6时,最大数量maxnummergecand可以被推导为如下:maxnummergecand=6-sps_six_minus_max_num_merge_cand
118.最大索引的索引值可以在0到n3-p的索引范围内,因此,当常规启用标志为真时,最大数量的值是在p到n3的值范围内。当常规合并启用标志为真,数量n3等于6并且数量p等于1时,最大数量的值是在1到6的值范围内。因此,当常规合并启用标志为真时,最大数量可以不等于0。
119.参考图5中的框530到560,最大数量maxnummergecand可以被推导为如下:
120.解码器模块124可以确定最大数量是否被包含于值范围内。当解码器模块124确定最大数量被排除在值范围之外时,解码器模块124可以确定视频数据不符合解码器模块124。因此,解码器模块124可以输出用于一个或者多个图像帧的错误信号。
121.解码器模块124可以确定最大索引是否被包含于索引范围内。当解码器模块124确定最大索引被排除在索引范围之外时,解码器模块124可以确定视频数据不符合解码器模块124。因此,解码器模块124可以输出用于一个或者多个图像帧的错误信号。
122.在框570处,解码器模块124基于零个以上的合并mvp候选的最大数量来重建一个或者多个图像帧。
123.参考图1和图2,解码器模块124可以从包括零个以上的合并mvp候选的多个模式候选中选择用于一个或者多个图像帧中的多个图像块的中的每一个的预测模式,并且基于预测模式确定多个预测块。解码器模块124可以针对图像块中的每一个从比特流中确定多个残余分量,并且将残余分量添加到对应的一个预测块中以重建图像块。解码器模块124可以重建所有图像帧以重建视频图像。
124.常规合并模式可以直接通过高级语法诸如:vps、sps、pps来被禁用,以减少流水线延迟。因此,高级语法可以包括常规合并启用标志,以确定在一个或者多个图像帧中是否启用合并mvp候选。另外,不需要最大数量的值范围中包括0来禁用常规合并模式,因为常规合并模式能通过常规合并启用标志直接被禁用。因此,数量p可以是正整数,诸如:1。
125.图6示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法600的流程图。方法600仅是示例,因为存在多种方法来执行该方法。
126.用于解码比特流和重建块单元的方法600可使用图1和图2中所示出的配置来执行,并且针对方法600参考这些图中的各种元件。图6中所示出的每个框可表示所执行的一个或多个过程、方法或子例程。
127.图6中的框的顺序仅是说明性并且可改变。在不脱离本公开的情况下,可添加另外的框或可使用更少的框。
128.在框610处,解码器模块124接收视频数据,该视频数据可以是比特流。参考图1和图2,第二电子设备120可以经由第二接口126从编码器诸如第一电子设备110或者其他视频提供方接收比特流。第二接口126可将比特流提供到解码器模块124。
129.在框620处,解码器模块124从视频数据中确定帧内块复制(intra block copy,ibc)启用标志。进一步参考图1和图2,解码器模块124可以从比特流中确定一个或者多个图像帧,并且确定对应于一个或者多个图像帧的第一参数集。第一参数集可以是vps、sps、pps和ph中的一者。例如:当ibc启用标志被包含于sps中时,ibc启用标志可以是标志sps_ibc_enabled_flag。
130.解码器模块124可以从比特流中确定ibc启用标志。解码器模块124可以从比特流中的第一参数集中确定ibc启用标志。因为第一参数集对应于一个或多个图像帧,ibc启用
标志也可以对应于一个或者多个图像帧。
131.ibc启用标志被用于确定ibc预测模式是针对一个或者多个图像帧来被启用的。ibc预测模式可以被实现为块级编码模式。因此,在编码器处执行块匹配,以找到从一个或者多个图像帧中划分的多个图像块中的每一个的最佳块矢量。块矢量被用于指示从当前图像帧中的当前图像块到参考图像块的位移,其中,该参考图像块在当前图片中已被重建。
132.在框630处,解码器模块124确定ibc启用标志是否为真。当解码器模块124确定ibc启用标志为真。当解码器模块124确定ibc启用标志为假时,方法600可以进行到框650。
133.当ibc启用标志等于1时,解码器模块124确定ibc启用标志为真。当ibc启用标志等于0时,解码器模块124确定ibc启用标志为假。当ibc启用标志被包含于sps中时,ibc启用标志可以是标志sps_ibc_enabled_flag。
134.在框640处,解码器模块124从视频数据中确定最大索引。参考图1和图2,当ibc启用标志为真时,解码器模块124可以从视频数据中确定最大索引。最大索引可以被包含于vps、sps、pps和ph中的一者中。
135.当ibc启用标志为真时,最大索引可以被用于计算零个以上的ibc合并块矢量预测(block vector prediction,bvp)候选。最大数量可以被表示为maxnumibcmergecand。
136.最大索引的索引值可以在0到n4的索引范围内。数量n4可以是整数。
137.当最大索引被包含于sps中时,最大索引可以是索引sps_n4_minus_max_ibc_num_merge_cand。当最大索引被包含于sps中,且数量n等于6时,最大索引可以是索引sps_six_minus_max_ibc_num_merge_cand。当最大索引被包含于pps中,且数量n等于5时,最大索引可以是索引pps_five_minus_max_ibc_num_merge_cand。
138.在框650处,解码器模块124确定等于0的零个以上的ibc合并bvp候选的最大数量,而不从视频数据中确定最大索引。最大数量可以通过从数量n4中减去最大索引来被计算。因此,当数量n4等于6时,最大数量可以通过从6中减去最大索引来被计算。换而言之,当数量n4等于6时,最大数量maxnumibcmergecand可以被推导为如下:maxnumibcmergecand=6-sps_six_minus_max_ibc_num_merge_cand
139.最大索引的索引值可以在0到n4的索引范围内。因此,最大数量的值可以在0到n4的值范围内,且值范围包括0。当数量n4等于6时,最大数量的值可以在0到6的值范围内。
140.在框660处,解码器模块124基于最大索引确定最大数量,且最大数量具有在包括0的值范围中的数量值。当ibc启用标志为真时,最大数量可以通过从数量n4中减去最大索引来被计算。因此,当ibc启用标志为真,并且数量n4等于6时,最大数量可以通过从6中减去最大索引来被计算。换而言之,最大数量maxnumibcmergecand可以被推导为如下:maxnumibcmergecand=6-sps_six_minus_max_ibc_num_merge_cand
141.最大索引的索引值可以在0到n4的索引范围内。因此,当ibc启用标志为真时,最大数量的值可以在0到n4的值范围内。因此,当ibc启用标志为真时,值范围中仍然包括0。在一实施方式中,当数量n4等于6时,最大数量的值可以在0到6的值范围内。
142.参考图6中的框630到660,最大数量maxnumibcmergecand可以被推导为如下:
143.解码器模块124可以确定最大数量是否被包含于值范围内。当解码器模块124确定最大数量是被排除在值范围之外时,解码器模块124可以确定视频数据不符合解码器模块124。因此,解码器模块124可以输出错误信号。
144.当ibc启用标志为真时,解码器模块124可以确定最大索引是否被包含于索引范围内。当解码器模块124确定最大索引是被排除在索引范围之外时,解码器模块124可以确定视频数据不符合解码器模块124。因此,解码器模块124可以输出错误信号。
145.在框670处,解码器模块124基于最大数量重建从图像帧中划分的,且对应于最大数量的图像块。
146.进一步参考图1和图2,解码器模块124可以从包括零个以上的ibc合并bvp候选的多个模式候选中选择用于从一个或者多个图像帧中的一个划分的图像块的预测模式,并且基于预测模式确定多个预测块。零个以上的ibc合并bvp候选可以包括多个空间ibc mvp候选,多个基于历史的mvp候选和多个成对平均mvp候选中的零个或多个。
147.空间mvp候选可以从空间相邻块的运动矢量中被确定,以及基于历史的mvp候选可以从fifo列表中被确定。解码器模块124可以针对图像块,从比特流中确定多个残余分量,并且将残余分量添加到预测块中以重建图像块。
148.解码器模块124可以重建所有图像帧以重建视频图像。在视频编码标准诸如hevc和vvc中,ibc预测模式可以包括ibc帧间模式和具有ibc合并候选的ibc合并模式。然而,解码和构建ibc合并bvp候选的过程可能比用于解码ibc帧间模式的过程更复杂。因此,流水线延迟也是一个问题,ibc合并模式可以直接被禁用以减少流水线延迟。
149.ibc合并模式可以直接通过高级语法诸如:vps、sps、pps来被禁用,当值范围中包括0时,最大数量可以被允许等于0,以直接禁用ibc合并模式。因此,当最大索引和ibc启用标志都被包含于第一参数集中时,ibc合并模式被允许在一个或者多个图像帧中仅通过一个最大索引来被禁用。
150.例如:最大索引和ibc启用标志都被包含于sps中。当ibc启用标志的语法级别高于最大索引的语法级别时,ibc合并模式可以被允许在一个或者多个图像帧中,通过不同最大索引来被禁用。例如:最大索引被包含于pps中,且ibc启用标志被包含于sps中。
151.图7示出根据本公开的实施方式的用于通过电子设备解码视频数据的方法700的流程图。方法700仅是示例,因为存在多种方法来解码视频数据。
152.用于解码比特流和重建块单元的方法700可使用图1和图2中所示出的配置来执行,并且针对方法700参考这些图中的各种元件。图7中所示出的每个框可表示所执行的一个或多个过程、方法或子例程。
153.图7中的框的顺序仅是说明性并且可改变。在不脱离本公开的情况下,可添加另外的框或可使用更少的框。
154.在框710处,解码器模块124接收视频数据,该视频数据可以是比特流。参考图1和
图2,第二电子设备120可以经由第二接口126从编码器诸如第一电子设备110或者其他视频提供方接收比特流。第二接口126可将比特流提供到解码器模块124。
155.在框720处,解码器模块124从视频数据中确定指示是否所有多个合并模式都被启用的通用合并启用标志。进一步参考图1和图2,解码器模块124可以从比特流中确定一个或者多个图像帧,并且确定对应于一个或者多个图像帧的第一参数集。第一参数集可以是vps、sps、pps和ph中的一者。
156.解码器模块124可以从比特流中确定通用合并启用标志。解码器模块124可以从比特流中的第一参数集中确定通用合并启用标志。因为第一参数集对应于一个或多个图像帧,通用合并启用标志也可以对应于一个或者多个图像帧。
157.通用合并启用标志可被用于确定针对一个或者多个图像帧启用的所有合并模式。合并模式可以包括常规合并模式、仿射合并模式、ibc合并模式以及其他合并模式。
158.当通用合并启用标志为假时,所有的合并模式能在一个或者多个合并模式中被禁用。当通用合并启用标志为真时,所有的合并模式可以在一个或者多个合并模式中被启用。当通用合并启用标志为真时,零个以上的合并模式由于其他任意标志,可以在一个或者多个合并模式中被禁用。例如:当通用合并启用标志为真时,ibc合并模式由于ibc启用标志可以被禁用。
159.当通用合并启用标志不存在时,通用合并启用标志被推断为等于0。换而言之,当通用合并启用标志不存在时,解码器模块124可以确定通用合并启用标志被推断为等于0。
160.在框730处,解码器模块124基于通用合并启用标志来确定特定一个合并模式中的零个以上的特定合并候选的最大数量。进一步参考图1和图2,解码器模块124可以针对最大数量,从对应于一个或者多个图像帧的第一参数集中确定最大索引。因此,最大索引也可以对应于一个或者多个图像帧。当第一参数集为sps时,最大索引被包含于sps中。然而,当最大索引不存在时,最大索引可以等于推断出的值。
161.最大索引被用于计算特定合并模式中的零个以上的特定合并候选的最大数量。最大索引的索引值可以在索引范围内,因此最大数量的值可以在值范围内。解码器模块124可以将最大数量与值范围进行比较,或者将最大索引与索引范围进行比较,以确定视频数据是否符合解码器模块124。
162.在一个实施方式中,当特定合并模式是常规合并模式时,最大索引可以被用于计算零个以上的合并mvp候选的最大数量。最大数量可以被表示为maxnummergecand。当最大索引被包含于sps中时,最大索引可以是索引sps_n5_minus_max_num_merge_cand。数量n5可以是正整数。
163.当通用合并启用标志为真时,解码器模块124可以从视频数据中确定用于常规合并模式的最大索引。当通用合并启用标志为假时,解码器模块124可以确定等于数量n5的最大索引的所推断出的值,而不从视频数据中解析最大索引。
164.当最大索引被包含于sps中,且数量n5等于6时,最大索引可以是索引sps_six_minus_max_num_merge_cand。常规合并模式的最大数量可以通过从数量n5中减去最大索引来被计算。因此,最大数量maxnummergecand可以被推导为如下:
165.在一个实施方式中,当特定合并模式为仿射合并模式时,最大索引被用于计算零个以上的基于子块的合并mvp候选的最大数量。最大数量可以被表示为maxnumsubblockmergecand。当最大索引被包含于sps中时,最大索引可以是索引sps_n6_minus_max_num_subblock_merge_cand。数量n6可以是正整数。
166.当仿射启用标志和通用合并启用标志都为真时,解码器模块124可以从视频数据中确定最大索引。当仿射启用标志或者通用合并模式为假时,解码器模块124可以确定等于数量n6的所推断出的值,而不解析最大索引。当最大索引被包含于sps中,且数量n6等于5时,仿射合并模式的最大索引可以是索引sps_five_minus_max_num_subblock_merge_cand。
167.当仿射启用标志为真时,仿射合并模式的最大数量可以通过从数量n6中减去最大索引来被计算。当仿射启用标志为否时,仿射合并模式的最大数量可以基于通用合并启用标志、基于子块的时间mvp(subblock-based temporal mvp,sbtmvp)标志和时间mvp(temporal mvp,tmvp)标志来计算。例如:最大数量maxnumsubblockmergecand可以被推导为如下:
168.在一个实施方式中,当特定合并模式为ibc合并模式时,最大索引可以被用于计算零个以上的ibc合并bvp候选的最大数量。最大数量可以被表示为maxnumibcmergecand。当最大索引被包含于sps中时,最大索引可以是索引sps_n7_minus_max_ibc_num_merge_cand。数量n7可以是正整数。
169.当ibc启用标志和通用合并启用标志为真时,解码器模块124可以从视频数据中确定最大索引。当ibc启用标志或者通用合并模式为假时,解码器模块124可以确定等于数量n7的所推断出的值,而不解析最大索引。
170.当最大索引被包含于sps中,且数量n7等于6时,ibc合并模式的最大索引可以是索引sps_six_minus_max_ibc_num_merge_cand。当ibc启用标志为真时,ibc合并模式的最大数量可以通过从数量n7中减去最大索引来被计算。当仿射启用标志为假时,ibc合并模式的最大数量可以基于通用合并启用标志来被确定。例如:最大数量maxnumibcmergecand可以被推导为如下:
171.在另一实施方式中,解码器模块124可以根据方法700中的第一到第三实施方式中的至少两个,基于通用合并启用标志分别为不同的合并模式确定一个以上的最大数量。例如:解码器模块124可以基于通用合并启用标志来确定常规合并模式的最大数量和ibc合并模式的最大数量。
172.在框740处,解码器模块124基于最大数量来重建从图像帧划分的图像块。进一步参考图1和图2,解码器模块124从包含零个以上的特定合并候选的多个模式候选中选择用于一个或多个图像帧中的多个图像块中的每一个的预测模式,并且基于预测模式确定多个预测块。解码器模块124可以针对图像块中的每一个从比特流中确定多个残余分量,并且将残余分量添加到对应的一个预测块中以重建图像块。解码器模块124可以重建所有图像帧以重建视频图像。
173.所有合并模式可以直接通过高级语法诸如:vps、sps、pps来被禁用,以减少流水线延迟。因此,高级语法可以包括通用合并启用标志,以确定在一个或者多个图像帧中是否启用所有合并模式。另外,合并模式的每个最大数量可以通过通用合并启用标志来被控制,以进一步提高编码效率。
174.图8示出根据本公开的实施方式的图1中所示出的第一电子设备的编码器模块114的框图。编码器模块114可包括预测处理器(例如,预测处理单元8141)、至少第一加法器(例如,第一加法器8142)和第二加法器(例如,第二加法器8145)、变换/量化处理器(例如,变换/量化单元8143)、逆量化/逆变换处理器(例如,逆量化/逆变换单元8144)、滤波器(例如,滤波单元8146)、解码图片缓冲器(例如,解码图片缓冲器8147)和熵编码器(例如,熵编码单元8148)。解码器模块114的预测处理单元8141还可包括分区处理器(例如,分区单元81411)、帧内预测处理器(例如,帧内预测单元81412)和帧间预测处理器(例如,帧间预测单元81413)。
175.编码器模块114可接收源视频并对源视频进行编码以输出比特流。编码器模块114可接收包括多个图像帧的源视频,然后根据编码结构划分图像帧。图像帧中的每一个可划分为至少一个图像块。
176.至少一个图像块可包括具有多个亮度样本的亮度块和具有多个色度样本的至少一个色度块。亮度块和至少一个色度块可进一步被划分以生成宏块、编码树单元(coding tree units,ctus)、编码块(coding blocks,cbs)、它们的细分单元和/或另一等效编码单元。
177.编码器模块114可对源视频执行另外的细分。应当注意,这些实施方式总体上适用于视频编码,无论在编码之前和/或期间如何对源视频数据进行分区。
178.在编码过程期间,预测处理单元8141可接收图像帧中的特定一个图像帧的当前图像块。当前图像块可以是特定图像帧中的亮度块或者色度块中的一个。
179.分区单元81411可将当前图像块划分为多个块单元。帧内预测单元81412可相对于
与当前块单元在同一帧中的一个或多个相邻块执行当前块单元的帧内预测编码,以便提供空间预测。帧间预测单元81413可相对于一个或多个参考图像块中的一个或多个块执行当前块单元的帧间预测编码,以提供时间预测。
180.预测处理单元8141可基于模式选择方法诸如成本函数,来选择由帧内预测单元81412和帧间预测单元81413生成的编码结果中的一个。模式选择方法可以是率失真优化(rate-distortion optimization,rdo)过程。
181.预测处理单元8141可确定所选择的编码结果,并且将对应于所选择的编码结果的预测块提供到第一加法器8142以用于生成残余块,并且提供到第二加法器8145以用于重建编码块单元。预测处理单元8141还可将语法元素诸如运动向量、帧内模式指示符、分区信息和其他语法信息提供给熵编码单元8148。
182.帧内预测单元81412可对当前块单元进行帧内预测。帧内预测单元81412可确定针对与当前块单元相邻的重建样本的帧内预测模式,以便对当前块单元进行编码。
183.帧内预测单元81412可使用各种帧内预测模式对当前块单元进行编码,并且帧内预测单元81412或预测处理单元8141可从选择的模式中选择适当的帧内预测模式。帧内预测单元81412可使用交叉分量预测模式对当前块单元进行编码,以基于当前块单元的亮度分量来预测当前块单元的两个色度分量中的一个。帧内预测单元81412可基于当前块单元的两个色度分量中的第二个来预测当前块单元的两个色度分量中的第一个。
184.作为由帧内预测单元81412执行的帧内预测的替代,帧间预测单元81413可对当前块单元进行帧间预测。帧间预测单元81413可执行运动估计以估计当前块单元的运动,以生成运动向量。
185.运动向量可指示当前图像块内的当前块单元相对于参考图像块内的参考块单元的位移。帧间预测单元81413可接收存储在解码图片缓冲器8147中的至少一个参考图像块,并且基于所接收的参考图像块来估计位移以生成运动向量。
186.第一加法器8142可通过从原始当前块单元中减去由预测处理单元8141确定的预测块来生成残余块。第一加法器8142可表示执行此减法运算的一个或多个部件。
187.变换/量化单元8143可对残余块应用变换以便生成残余变换系数,然后对残余变换系数进行量化以进一步降低比特率。变换可以是dct、dst、amt、mdnsst、hygt、信号相关变换、klt、小波变换、整数变换、子带变换或概念上类似的变换中的一者。
188.变换可将残余信息从像素值域转换到变换域,诸如频域。量化的程度可通过调整量化参数来修改。
189.变换/量化单元8143可对包括量化变换系数的矩阵执行扫描。替代地,熵编码单元8148可执行扫描。
190.熵编码单元8148可从预测处理单元8141和变换/量化单元8143接收多个语法元素,其包括量化参数、变换数据、运动向量、帧内模式、分区信息和其他语法信息。熵编码单元8148可将语法元素编码到比特流中。
191.熵编码单元8148可通过执行cavlc、cabac、sbac、pipe编码或另一种熵编码技术来对量化的变换系数进行熵编码以生成编码比特流。编码比特流可被传输到另一设备(图1中示出的第二电子设备120)或存档以供以后传输或检索。
192.逆量化/逆变换单元8144可应用逆量化和逆变换来在像素域中重建残余块,以供
以后用作参考块。第二加法器8145可将重建残余块添加到从预测处理单元8141提供的预测块,以便产生重建块以用于存储在解码图片缓冲器8147中。
193.滤波单元8146可包括去块滤波器、sao滤波器、双边滤波器和/或alf以从重建块中去除块效应。除了去块滤波器、sao滤波器、双边滤波器和alf之外,还可使用另外的滤波器(环路内或环路后)。为简洁起见,未展示此类滤波器,并且可对第二加法器8145的输出进行滤波。
194.解码图片缓冲器8147可以是参考图片存储器,其存储参考块以供编码器模块114用来诸如以帧内或帧间编码模式对视频进行编码。解码图片缓冲器8147可包括多种存储器设备,诸如dram(包括sdram、mram、rram)或其他类型的存储器设备。解码图片缓冲器8147可与编码器模块114的其他部件在芯片上或相对于那些部件在芯片外。
195.编码器模块114可以接收视频数据,并且使用多个预测模式以预测视频数据内的多个图像帧。预测模式可以包括具有多个合并候选的多个合并模式。编码器模块114可以基于预测结果发信号通知图3中的仿射启用标志、图5中的常规合并启用标志、图6中的ibc启用标志以及图7中的通用合并启用标志中的至少一者,以确定是否为一个或者多个图像帧启用对应模式。
196.编码器模块114可以基于预测结果发信号通知图3至7中的针对方法300至700的最大索引,以确定对应的最大数量。另外,参考图3,编码器模块114可以发信号通知基于子块的时间mvp标志和时间mvp标志,以确定仿射合并mvp候选的最大数量。然后,编码器模块114可以将包括标志和索引的所编码的数据添加到比特流中,以提供给解码器模块124。
197.所描述的实施方式在所有方面都应被视为说明性而非限制性的。还应理解,本公开不限于以上所描述的特定实施方式,而是在不脱离本公开的范围的情况下,许多重新布置、修改和替换是可能的。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献