CN117795954A - 编码视频数据的设备和方法 - Google Patents
编码视频数据的设备和方法 Download PDFInfo
- Publication number
- CN117795954A CN117795954A CN202280053843.0A CN202280053843A CN117795954A CN 117795954 A CN117795954 A CN 117795954A CN 202280053843 A CN202280053843 A CN 202280053843A CN 117795954 A CN117795954 A CN 117795954A
- Authority
- CN
- China
- Prior art keywords
- merge
- candidates
- merging
- block unit
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000001174 ascending effect Effects 0.000 claims description 11
- 239000013598 vector Substances 0.000 description 57
- 238000012545 processing Methods 0.000 description 26
- 238000013139 quantization Methods 0.000 description 23
- 238000005192 partition Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 230000003044 adaptive effect Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 8
- 238000001914 filtration Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000002146 bilateral effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000010187 selection method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种由电子设备编码视频数据的方法。电子设备接收视频数据。此外,电子设备从第一合并候选列表中识别合并子组,该第一合并候选列表包括根据视频数据中的图像帧确定的块单元的合并候选。每个合并子组中的合并候选的数量等于或小于数量N。电子设备基于合并候选的第一代价值确定每个合并子组中的合并候选的排列,并通过从每个合并子组中选择基于排列排序的前K个合并候选来确定第二合并候选列表。电子设备选择第二合并候选列表中的合并候选中的一个来预测块单元。
Description
相关申请的交叉引用
本公开要求2021年9月28日提交的、名称为“GROUP-BASED INDEX SIGNALING OFARMC”的美国临时专利申请序列号63/249,492的权益和优先权,其内容通过引用全部并入本公开。
技术领域
本公开一般涉及视频编码,并且更具体地,涉及用于在合并候选列表中排列和选择多个合并候选的技术。
背景技术
合并模式是一种视频编码的编码工具。在传统的视频编码方法中,编码器和解码器可以通过使用多个先前重构的样本的运动信息来指向不同图像帧中的参考块来预测和重构图像帧中的块单元,以生成用于预测块单元的预测块。
然而,先前重构的样本的运动信息可以从许多合并候选中选择。如果详细估计每个合并候选以确定块单元与从对应的合并候选确定的参考块之间的差异程度,则可能会浪费大量时间来对视频进行编码和对比特流进行解码。因此,编码器和解码器可能需要用于更有效地预测或重构块单元的候选选择方法。
发明内容
本公开针对一种用于通过使用模板匹配来排列合并候选来选择图像帧中的块单元的多个合并候选中的一个的电子装置和方法。
在本公开的第一方面,提供了一种编码视频数据的方法以及用于执行该方法的电子设备。该方法包括接收所述视频数据;从包括在所述视频数据中的图像帧确定块单元;针对所述块单元,确定包括多个合并候选的第一合并候选列表;从所述第一合并候选列表中识别多个合并子组,其中所述多个合并子组中的每一个中的所述多个合并候选的数量等于或小于数量N的第一值,所述N为第一正整数;确定所述多个合并候选中的每一个的第一代价值;基于所述第一代价值确定所述多个合并子组中的每一个中的所述多个合并候选的排列;通过从所述多个合并子组中的每一个中选择基于所述排列所排序的所述多个合并候选中的前K个来确定第二合并候选列表,其中所述数量K的第二值为小于N的第二正整数;及选择所述第二合并候选列表中的所述多个合并候选中的一个来预测所述块单元,并且基于所述多个合并候选中所选择的一个将一个或多个合并索引编码到比特流中。
在第一方面的一个实施例中,所述多个合并候选中的每一个的第一代价值是模板匹配代价值,所述模板匹配代价值是基于与所述块单元相邻的多个相邻区域中的多个第一重构样本和基于所述多个合并候选中对应的一个所确定的多个第二重构样本所确定的。
在第一方面的一个实施例中,所述多个合并子组中的每一个中的所述多个合并候选按照所述第一代价值的升序被排序。
在第一方面的一个实施例还包括:确定所述第二合并候选列表中的所述多个合并候选中的每一个的第二代价值,其中所述第二合并候选列表中的所述多个合并候选的所述第二代价值不同于所述第二合并候选列表中的所述多个合并候选的所述第一代价值;基于所述第二代价值确定所述多个合并候选中所选择的一个;及确定用于指示所述多个合并候选中所选择的一个的所述一个或多个合并索引。
在第一方面的另一个实施例中,所述第二合并候选列表中的所述多个合并候选中的每一个的所述第二代价值是基于所述块单元和基于所述多个合并候选中的相应一个所确定的多个第三重构样本来确定的。
在第一方面的另一个实施例中,所述一个或多个合并索引包括:所述一个或多个合并索引中的第一个,指示所述多个合并子组中的哪一个包括所述多个合并候选中所选择的一个;及所述一个或多个合并索引中的第二个,指示所述多个合并候选中的哪一个是所述多个合并子组中所述一个中的所述多个合并候选中所选择的一个。
在本公开的第二方面中,提供了一种由电子设备解码比特流的方法。所述方法包括接收所述比特流;根据所述比特流从图像帧中确定块单元以及所述块单元的一个或多个合并索引;基于所述一个或多个合并索引中的第一个,选择从所述块单元的合并候选列表中识别出的多个合并子组中的一个,其中:所述多个合并子组中的每一个包括多个合并候选,并且所述多个合并子组中的每一个中的所述多个合并候选的数量等于或小于N的第一值,所述N为正整数;确定所述多个合并子组中所选择的一个中的所述多个合并候选中的每一个的代价值;基于所述代价值确定所述多个合并子组中所选择的一个中的所述多个合并候选的排列;基于所述一个或多个合并索引中的第二个,从所述多个合并子组中所选择的一个中选择基于所述排列所排序的所述多个合并候选中的前K中的一个,其中所述数量K的第二值为小于N的第二正整数;及基于所述多个合并候选中的所述前K个中所选择的一个来重构所述块单元。
在第二方面的另一个实施例中,所述多个合并子组中所选择的一个中的所述多个合并候选中的每一个的所述代价值是模板匹配代价值,所述模板匹配代价值是基于与所述块单元相邻的多个相邻区域中的多个第一重构样本和基于所述多个合并子组中所选择的一个中的所述多个合并候选中的对应一个所确定的多个第二重构样本来确定的。
在第二方面的另一个实施例中,所述多个合并子组中所选择的一个中的所述多个合并候选按照所述代价值的升序被排序。
在第二方面的另一个实施例中,所述一个或多个合并索引中的所述第二个的索引值在0至K-1的索引范围内。
在第二方面的另一个实施例中,在所述多个合并子组中所选择的一个的排列中,排列在第K个合并候选之后的所述多个合并候选被排除在选择之外。
在第二方面的另一个实施例中,所述一个或多个合并索引中的所述第一个与所述一个或多个合并索引中的所述第二个相同或不同。
附图的简要说明
从下面的详细公开内容和相应的附图可以最好地理解本公开内容的各方面。各个特征并未按比例绘制,并且为了讨论清楚起见,各个特征的尺寸可以任意增加或减小。
图1示出了根据本公开的实施方式被配置为对视频数据进行编码和解码的系统的方框图。
图2示出了根据本公开的实施方式的图1所示的第二电子设备的解码器模块的方框图。
图3示出了根据本公开的实施方式的图1所示的第一电子设备的编码器模块的方框图。
图4示出了根据本公开的实施方式的电子设备对视频数据进行编码的方法的流程图。
图5示出了根据本公开的实施方式的电子设备对视频数据进行解码的方法的流程图。
具体实施方式
以下公开包含与本申请中的实施方式有关的具体信息。附图和对应的详细公开内容为示例性实施方式。然而,本申请不限于这些示例性实施方式。本领域技术人员将想到本申请的其他变化和实施方式。
除非另有说明,附图中相同或相应的元件可以由相同或相应的附图标记来指示。本申请中的附图和图示通常不按比例并且不旨在对应于实际相对尺寸。
为了一致性和易于理解的目的,在示例性附图中透过参考指示符来标识相似的特征(尽管在一些示例中未示出)。然而,不同实施方式中的特征可能在其他方面有所不同,并且不应狭隘地限制于附图中示出的内容。
本申请使用短语“在一实施方式中”或“在一些实施方式中”,其可以指代一个或多个相同或不同的实施方式。术语“耦合”被定义为连接,无论是直接连接还是透过中间元件间接连接,并且不一定限于物理连接。术语“包括”意思是“包括,但不一定限于”并且具体表示在所描述的组合、组、系列和等同物中的开放式包含或成员身份。
出于解释和非限制的目的,阐述诸如功能实体、技术、协议和标准之类的具体细节以提供对所公开的技术的理解。省略众所周知的方法、技术、系统和架构的详细公开,以免不必要的细节模糊本申请。
本领域技术人员将认识到,本申请中描述的任何公开的编码函数或算法可以透过硬件、软件或软件和硬件的组合来实施。所公开的功能可以对应于作为软件、硬件、固件或其任意组合的模块。
软件实施方式可以包括具有储存在计算器可读媒介(例如储存器或其他类型的储存设备)上的计算器可执行指令的程序。例如,具有处理能力的一个或多个微处理器或通用计算器可以用可执行指令进行编程并执行所公开的功能或算法。
微处理器或通用计算器可以由专用集成电路(application-specificintegrated circuits,ASIC)、可编程逻辑数组和/或使用一个或多个数字信号处理器(digital signal processors,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)、盒式磁带、磁带、磁盘储存器或能够储存计算机可读指令的任何其他等效媒介。
图1示出了根据本发明的实施方式的被配置为对视频数据进行编码和解码的系统100的方框图。系统100包括第一电子设备110、第二电子设备120和通信媒介130。
第一电子设备110可以是来源设备,包括被配置为对视频数据进行编码并将编码的视频数据发送到通信媒介130的任何设备。第二电子设备120可以是目的地设备,包括被配置为经由通信媒介130接收编码视频数据并对编码视频数据进行解码的任何设备。
第一电子设备110可以经由通信媒介130有线或无线地与第二电子设备120通讯。第一电子设备110可以包括来源模块112、编码器模块114和第一接口116等元件。第二电子设备120可以包括显示模块122、解码器模块124和第二接口126等元件。第一电子设备110可以是视频编码器并且第二电子设备120可以是视频解码器。
第一电子设备110和/或第二电子设备120可以是移动电话、平板计算机、桌面计算机、笔记本电脑或其他电子设备。图1示出了第一电子设备110和第二电子设备120的一个示例。第一电子设备110和第二电子设备120可以包括比所示的更多或更少的元件,或者具有各种所示元件的不同配置。
来源模块112可以包括用于捕获新视频的视频捕获设备、用于储存先前捕获的视频的视频数据库,和/或用于从视频内容提供商接收视频的视频馈送接口。来源模块112可以生成基于计算器图形的数据作为来源视频或者生成实况视频、存盘视频和计算器生成的视频的组合作为来源视频。视频捕获设备可以是电荷耦合设备(charge-coupled device,CCD)图像传感器、互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)图像传感器或相机。
编码器模块114和解码器模块124可各自被实施为多种合适的编码器电路/解码器电路中的任一种,例如一个或多个微处理器、中央处理单元(central processing unit,CPU)、图形处理单元(graphics processing uni,GPU)、系统芯片(system-on-a-chip,SoC)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门数组(field-programmable gatearray,FPGA)、离散逻辑、软件、硬件、固件、或其任何组合。当部分地以软件实施时,设备可以将具有软件的指令的程序储存在合适的非暂时性计算器可读媒介中,并且使用一个或多个处理器在硬件中执行指令以执行所公开的方法。编码器模块114和解码器模块124中的每一个可以被包括在一个或多个编码器或解码器中,其中任何一个编码器或解码器可以被集成为设备中的组合编码器/解码器(combined encoder/decoder,CODEC)的一部分。
第一接口116和第二接口126可以利用定制协议或遵循现有标准或事实上的标准,包括,但不限于以太网、IEEE 802.11或IEEE 802.15系列、无线USB或电信标准,包括,但不限于全球移动通讯系统(Global System for Mobile Communications,GSM)、码分多址2000(Code-Division Multiple Access 2000,CDMA2000)、时分同步码分多址(TimeDivision Synchronous Code Division Multiple Acces,TD-SCDMA)、全球微波接入互操作性(Worldwide Interoperability for Microwave Access,WiMAX)、第三代合作伙伴长期演进项目(Third Generation Partnership Project Long-Term Evolution,3GPP-LTE)或时分LTE(Time-Division LTE,TD-LTE)。第一接口116和第二接口126可各自包括被配置为经由通信媒介130发送和/或储存兼容视频比特流以及经由通信媒介130接收兼容视频比特流的任何设备。
第一接口116和第二接口126可以包括计算器系统接口,其使得兼容视频比特流能够被储存在储存设备上或者能够从储存设备接收。例如,第一接口116和第二接口126可以包括支持外围元件互连(Peripheral Component Interconnect,PCI)和快速外围元件互连(Peripheral Component Interconnect Express,PCIe)总线协议、专有总线协议、通用串行总线(Universal Serial Bus,USB)协议、内部集成电路(Inter-Integrated Circuit,I2C)协议,或可用于互连对等设备的任何其他逻辑和物理结构。
显示模块122可以包括使用液晶显示(liquid crystal display,LCD)技术、等离子显示技术、有机发光二极管(organic light emitting diode,OLED)显示技术或发光聚合物显示(light-emitting polymer display,LPD)技术,以及其他实施方式中使用的其他显示技术的显示器。显示模块122可以包括高画质显示器或超高画质显示器。
图2是示出了根据本公开的示例性实施方式的图1所示的第二电子设备120的解码器模块124的方框图。解码器模块124包括熵解码器(例如,熵解码单元2241)、预测处理器(例如,预测处理单元2242)、逆量化/逆变换处理器(例如,逆量化/逆变换单元2243)、加法器(例如,加法器2244)、滤波器(例如,滤波单元2245)、以及解码图片缓冲器(例如,解码图片缓冲器2246)。预测处理单元2242还包括帧内预测处理器(例如,帧内预测单元22421)和帧间预测处理器(例如,帧间预测单元22422)。解码器模块124接收比特流,对比特流进行解码,并输出解码视频。
熵解码单元2241可从图1中的第二接口126接收包括多个语法元素的比特流,并对比特流执行解析操作以从比特流中提取语法元素。作为解析操作的一部分,熵解码单元2241可对比特流进行熵解码以生成量化的变换系数、量化参数、变换数据、运动向量、帧内模式、分区信息和其他语法信息。
熵解码单元2241可以执行上下文自适应可变长度编码(context adaptivevariable length coding,CAVLC)、上下文自适应二进制算术编码(context adaptivebinary arithmetic coding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,SBAC)、概率区间分区熵(probability interval partitioning entropy,PIPE)编码或另一种熵编码技术来生成量化的变换系数。熵解码单元2241可以将量化的变换系数、量化参数和变换数据提供给逆量化/逆变换单元2243,并且将运动向量、帧内模式、分区信息和其他语法信息提供给预测处理单元2242。
预测处理单元2242可从熵解码单元2241接收语法元素,诸如运动向量、帧内模式、分区信息和其他语法信息。预测处理单元2242可接收包括分区信息的语法元素,并根据分区信息划分视频帧。
每一视频帧可根据分区信息被划分为至少一个图像块。至少一个图像块可以包括用于重构多个亮度样本的亮度块和用于重构多个色度样本的至少一个色度块。亮度块和至少一个色度块可以被进一步划分以生成宏块、编码树单元(coding tree units,CTU)、编码块(coding blocks,CB)及其细分,和/或另一等效编码单元。
在解码处理期间,预测处理单元2242可接收预测数据,该预测数据包括视频帧中的一个特定视频帧的当前图像块的帧内模式或运动向量。当前图像块可以是特定图像帧中的亮度块或者多个色度块中的一个。
帧内预测单元22421可基于与帧内模式相关的语法元素,相对于与当前块单元在同一帧中的一个或多个相邻块,来执行当前块单元的帧内预测编码,以便生成预测块。帧内模式可以指定从当前帧内的相邻块选择的参考样本的位置。当预测处理单元2242重构色度分量时,帧内预测单元22421可基于当前块单元的多个亮度分量来重构当前块单元的多个色度分量。
当预测处理单元2242重构当前块的多个亮度分量时,帧内预测单元22421可基于当前块单元的多个亮度分量来重构当前块单元的多个色度分量。
帧间预测单元22422可基于与运动向量相关的语法元素相对于一个或多个参考图像中的一个或多个块执行当前块单元的帧间预测编码,以便生成预测块。运动向量可以指示当前图像块内的当前块单元相对于参考图像内的参考块单元的位移。参考块单元是被确定为与当前块单元紧密匹配的块。帧间预测单元22422可以接收在解码图片缓冲器2246中储存的参考图像,并且基于接收到的参考图像来重构当前块单元。参考图像可以从第一参考图像列表L0和第二参考图像列表L1中选择,每个参考图像列表针对当前块单元构建。当帧间预测编码的结果是单预测时,可以基于从第一参考图像列表L0和第二参考图像列表L1之一中选择的一个参考块单元来预测当前块单元。当帧间预测编码的结果是双向预测时,可以基于分别从第一参考图像列表L0和第二参考图像列表L1中选择的两个参考块单元来预测当前块单元。
逆量化/逆变换单元2243可应用逆量化和逆变换以在像素域中重构残差块。逆量化/逆变换单元2243可对残差量化变换系数应用逆量化以产生残差变换系数,然后对残差变换系数应用逆变换以产生像素域中的残差块。
逆变换可以透过变换过程来逆向应用。变换过程诸如离散余弦变换(discretecosine transform,DCT)、离散正弦变换(discrete sine transform,DST)、自适应多重变换(adaptive multiple transform,AMT)、模式相关的不可分离二次变换(mode-dependentnon-separable secondary transform,MDNSST)、超立方给定变换(Hypercube-Givenstransform,HyGT)、讯号相关变换、Karhunen-Loéve变换(Karhunen-Loévetransform,KLT)、小波变换、整数变换、子带变换或概念上类似的变换。逆变换可以将残差信息从诸如频域的变换域转换回像素域。可以透过调整量化参数来修改逆量化的程度。
加法器2244将重构的残差块与从预测处理单元2242提供的预测块相加以产生重构块。
滤波单元2245可包括去块滤波器(deblocking filter)、样本自适应偏移(sampleadaptive offset,SAO)滤波器、双边滤波器和/或自适应环路滤波器(adaptive loopfilter,ALF)以从重构块去除块伪像。除了去块滤波器、SAO滤波器、双边滤波器和ALF之外,还可以使用附加滤波器(环内或环后)。为了简洁起见,这样的滤波器没有明确示出,但是可以对加法器2244的输出进行滤波。在滤波单元2245对特定图像帧的重构块执行滤波处理之后,滤波单元2245可以将解码视频输出到显示模块122或其他视频接收单元。
解码图片缓冲器2246可以是储存参考块的参考图片储存器,以供预测处理单元2242在对比特流进行解码时(在帧间编码模式下)使用。解码图片缓冲器2246可以由多种储存设备中的任何一种形成,多种储存设备例如动态随机存取储存器resistive RAM(dynamic random-access memory,DRAM),包括同步DRAM resistive RAM(synchronousDRAM,SDRAM)、磁阻RAM(magneto-resistive RAM,MRAM)、电阻RAM resistive RAM(resistive RAM,RRAM)或其他类型的储存设备。解码图片缓冲器2246可以与解码器模块124的其他元件一起在芯片上或者相对于那些元件在芯片外。
图3是根据本申请的一个实施方式示出的图1所示的第一电子设备110的编码器模块114的方框图。编码器模块114可以包括预测处理器(例如,预测处理单元3141)、至少第一加法器(例如,第一加法器3142)和第二加法器(例如,第二加法器3145)、变换/量化处理器(例如,变换/量化单元3143)、逆量化/逆变换处理器(例如,逆量化/逆变换单元3144)、滤波器(例如,滤波单元3146)、解码图片缓冲器(例如,解码图片缓冲器3147)和熵编码器(例如,熵编码单元3148)。编码器模块114的预测处理单元3141还可以包括分区处理器(例如,分区单元31411)、帧内预测处理器(例如,帧内预测单元31412)和帧间预测处理器(例如,帧间预测单元31413)。
编码器模块114可以接收来源视频并对来源视频进行编码以输出比特流。编码器模块114可接收包括多个图像帧的来源视频,然后根据编码结构来划分多个视频帧中的每一个。多个视频帧中的每个视频帧可以被划分为至少一个图像块。
至少一个图像块可包括具有多个亮度样本的亮度块和具有多个色度样本的至少一个色度块。亮度块和至少一个色度块可以被进一步划分以生成宏块、编码树单元(codingtree unit,CTU)、编码块(coding block,CB)、其细分和/或其他等效编码单元。
编码器模块114可以执行来源视频的附加细分。应当注意,所公开的实施方式通常适用于视频编码,而不管来源视频在编码之前和/或编码期间如何划分。
在编码处理期间,预测处理单元3141可接收多个视频帧中的特定视频帧的当前图像块。当前图像块可以是特定图像帧中的亮度块或多个色度块中的一个。
分区单元31411可以将当前图像块分割为多个块单元。帧内预测单元31412可以相对于与当前块单元在同一帧中的一个或多个相邻块来执行当前块单元的帧内预测编码,以便提供空间预测。帧间预测单元31413可以相对于一个或多个参考图像中的一个或多个块执行当前块单元的帧间预测编码以提供时间预测。
预测处理单元3141可基于诸如代价函数的模式选择方法来选择由帧内预测单元31412和帧间预测单元31413生成的多个编码结果中的一个。模式选择方法可以是速率失真优化(rate-distortion optimization,RDO)过程。
预测处理单元3141可确定所选择的编码结果,并将与所选择的编码结果相对应的预测块提供给第一加法器3142以用于生成残差块并且提供给第二加法器3145以用于重构编码块单元。预测处理单元3141还可向熵编码单元3148提供语法元素,例如运动向量、帧内模式指示符、分区信息和其他语法信息。
帧内预测单元31412可对当前块单元进行帧内预测。帧内预测单元31412可确定针对与当前块单元相邻的重构样本的帧内预测模式,以便对当前块单元进行编码。
帧内预测单元31412可使用各种帧内预测模式对当前块单元进行编码。帧内预测模式可以包括多个非角度模式和多个角度模式。多个非角度模式可以包括平面模式和DC模式。另外,当编码器模块114以高效视频编码(high efficiency video coding,HEVC)对块单元进行编码时,角度模式的数量可以等于32。当编码器模块114以通用视频编码(versatile video coding,VVC)或VVC测试模型(VVC test model,VTM)对块单元进行编码时,角度模式的数量可以等于65。预测处理单元3141的帧内预测单元31412可以从所选择的模式中选择适当的帧内预测模式。帧内预测单元31412可使用交叉分量预测模式对当前块单元进行编码,以基于当前块单元的亮度分量来预测当前块单元的两个色度分量之一。帧内预测单元31412可基于当前块单元的两个色度分量中的第二个来预测当前块单元的两个色度分量中的第一个。
作为帧内预测单元31412执行的帧内预测的替代,帧间预测单元31413可以对当前块单元进行帧间预测。帧间预测单元31413可以执行运动估计以估计当前块单元的运动,以生成运动向量。
运动向量可以指示当前图像块内的当前块单元相对于参考图像内的参考块单元的位移。帧间预测单元31413可接收解码图片缓冲器3147中存储的至少一个参考图像,并基于接收到的参考图像估计运动以生成运动向量。参考图像可以从第一参考图像列表L0和第二参考图像列表L1中选择,每个参考图像列表针对当前块单元构建。当帧间预测编码的结果是单预测时,可以基于从第一参考图像列表L0和第二参考图像列表L1之一中选择的一个参考块单元来预测当前块单元。当帧间预测编码的结果是双向预测时,可以基于分别从第一参考图像列表L0和第二参考图像列表L1中选择的两个参考块单元来预测当前块单元。
第一加法器3142可通过从原始当前块单元减去由预测处理单元3141确定的预测块来产生残差块。第一加法器3142可以表示执行该减法的一个或多个元件。
变换/量化单元3143可对残差块应用变换,以便产生残差变换系数,然后量化残差变换系数以进一步降低比特率。该变换可以是DCT、DST、AMT、MDNSST、HyGT、信号依赖的变换、KLT、小波变换、整数变换、子带变换或概念上类似的变换之一。
变换可以将残差信息从像素值域转换到变换域,例如频域。可以通过调整量化参数来修改量化程度。
变换/量化单元3143可以执行包括量化的变换系数的矩阵的扫描。或者,熵编码单元3148可以执行扫描。
熵编码单元3148可从预测处理单元3141和变换/量化单元3143接收多个语法元素,包括量化参数、变换数据、运动向量、帧内模式、分区信息和其他语法信息。熵编码单元3148可将语法元素编码到比特流中。
熵编码单元3148可通过执行CAVLC、CABAC、SBAC、PIPE编码或另一熵编码技术来对量化的变换系数进行熵编码以生成编码比特流。编码比特流可以被发送到另一设备(例如,图1中的第二电子设备120)或者被存档以供以后发送或检索。
逆量化/逆变换单元3144可应用逆量化和逆变换来重构像素域中的残差块以供稍后用作参考块。第二加法器3145可以将重构的残差块添加到从预测处理单元3141提供的预测块,以便产生用于存储在解码图片缓冲器3147中的重构块。
滤波单元3146可以包括解块滤波器、SAO滤波器、双边滤波器和/或ALF以从重构块去除块伪影。除了去块滤波器、SAO滤波器、双边滤波器和ALF之外,还可以使用额外的滤波器(环内或环后)。为了简洁起见,此类滤波器未示出并且可以对第二加法器3145的输出进行滤波。
解码图片缓冲器3147可以是存储参考块的参考图片存储器,以供编码器模块714使用以诸如在帧内或帧间编码模式中对视频进行编码。解码图片缓冲器3147可以包括各种存储器设备,例如DRAM(例如包括SDRAM)、MRAM、RRAM或其他类型的存储器设备。解码图片缓冲器3147可以与编码器模块114的其他元件一起在芯片上或者相对于那些元件在芯片外。
图4示出了根据本公开的实施方式的由电子设备对视频数据进行编码的方法400的流程图。方法400仅是示例,因为存在多种方式来执行视频数据的编码。
方法400可以使用图1和图3中所示的配置来执行,并且这些图的各个元件是关于方法400来引用的。图4示出的每个框可以表示执行的一个或多个过程、方法或子例程。
图4中的框的顺序仅是说明性的并且可以改变。在不脱离本公开的情况下,可以添加额外的框或者可以使用更少的框。
在框410,编码器模块114接收视频数据并从包括在视频数据中的图像帧确定块单元。
参考图1至图3,第一电子设备110的编码器模块114可以从源模块112接收视频数据。编码器模块114接收到的视频数据可以是视频。编码器模块114可以将视频中的多个视频帧中的一个确定为图像帧,并且从视频中的所述图像帧确定块单元。
在一些实施方式中,编码器模块114的预测处理单元3141可以经由分区单元31411从所确定的图像帧确定块单元,并且编码器模块114可以基于分区单元31411的分区结果将多个分区指示提供到比特流中。
在框420,编码器模块114针对块单元确定包括多个合并候选的第一合并候选列表。
参考图1和图3,编码器模块114可对块单元应用合并模式以确定包括在块单元的第一合并候选列表中的块单元的合并候选。第一合并候选列表可以基于多种合并候选来构建,例如从多个空间相邻块确定的多个空间运动向量预测(motion vector prediction,MVP)、从多个并置块确定的多个时域MVP、从多个非相邻块确定的多个空间MVP、从先进先出(first-in-first-out,FIFO)表确定的多个基于历史的MVP、多个成对平均MVP、以及多个没有运动的零运动向量(zero motion vectors,zero MVs)。
在一些实施方式中,由于块单元的运动可以与多个空间相邻块中的一个的运动类似,因此与块单元相邻的空间相邻块的MV可以被重用于块单元。因此,可以选择空间相邻块的空间MVP作为块单元的合并候选。在一些实施方式中,所述多个空间相邻块可以包括位于块单元的左上角的左上侧的编码块、位于块单元的右上角的右上侧的编码块、位于块单元的右上角的上面的编码块、位于块单元的左下角的左下侧的编码块、以及位于块单元的左下角的左侧的编码块。
在一些实施方式中,不同于图像帧的多个参考图像中的并置块的MV可以针对块单元重用,因为块单元的运动可以类似于多个并置块中的一个的运动。因此,并置块的时域MVP可以被选择作为块单元的合并候选。
在一些实施方式中,图像帧中的非相邻块的MV可以针对块单元重新使用,因为块单元的运动可以类似于多个非相邻块中的一个的运动。因此,非相邻块的空间MVP可以被选择作为块单元的合并候选。在一些实施方式中,可以基于块单元的块宽度WB和块高度HB来选择非相邻块。
在一些实施方式中,对于基于历史的MVP,先前编码的块的运动信息可以被存储在FIFO表中并且可以被用作块单元的合并候选。当将新的MV插入到FIFO表中时,可以利用受约束的FIFO规则来更新FIFO表。在一些实施方式中,成对平均候选可以通过对包括在第一合并候选列表中的候选对进行平均来生成。在一些实施方式中,可以通过使用第一合并候选列表中的合并候选的前两个候选来生成成对平均候选。在一些实施方式中,当第一合并候选列表未满时,可以最后添加零MV候选,直到满足合并候选的最大数量。在一些实施方式中,第一合并候选列表中的合并候选的最大数量可以是预定义的。
在一些实施方式中,合并模式还可以包括具有运动向量差(merge mode withmotion vector difference,MMVD)模式的合并模式。在MMVD模式中,编码器模块114还可确定包括在块单元的第一合并候选列表中的块单元的合并候选。块单元的每个合并候选可以分别基于多个基本运动候选中的一个、多个运动差中的一个和多个预测方向中的一个来确定。例如,多个运动差中的一个和多个预测方向中的一个可用于确定多个差运动向量中的一个,并且多个差运动向量中的一个和多个基本运动候选中的一个可被组合以确定多个合并候选中的一个。在实现中,差运动向量之一和基本运动候选之一的基本运动向量可以被组合以生成合并运动向量。
在框430,编码器模块114从第一合并候选列表中识别多个合并子组。
参考图1和图3,编码器模块114可确定合并子组并将第一合并候选列表中的合并候选添加到合并子组中。多个合并子组中的每一个中的合并候选的数量可以等于或小于数量N的值。另外,数量N可以是作为正整数的预定义数量。
在一些实施方式中,第一合并候选列表可以被划分以生成合并子组。在一些实施方式中,合并子组中的合并候选的数量可以基于数量N的值来确定。至少一个合并子组中的合并候选的数量可以等于数量N的值。在一些实施方式中,当第一合并候选列表中的合并候选的数量Nt1不能被数量N整除时,合并子组中的合并候选的数量可以不彼此相等。例如,第一合并候选列表中的合并候选的数量Nt1可以等于15。因此,当数量N等于4时,合并子组中的合并候选的数量可以等于3或4。在一些实施方式中,第一合并候选列表中的合并候选的数量Nt1可以被数量N整除。因此,合并子组的数量可以等于是正整数的商。例如,第一合并候选列表中的合并候选的数量Nt1可以等于15,并且数量N可以等于5。因此,合并子组的数量可以等于3。
在一些实施方式中,当零MV候选中的至少一个被包括在第一合并候选列表中时,零MV候选中的至少一个可以不被添加到合并子组中。在一些实施方式中,当第一合并候选列表中的其他合并候选的数量不能被数量N整除时,合并子组中的合并候选的数量可以不彼此相等。
在一些实施方式中,合并子组中的合并候选的数量可以彼此不同并且等于或小于数量N。合并子组的数量等于数量G。因此,合并子组中的合并候选的数量可以等于M1、M2、…和MG。另外,第k个合并子组可包括Mk个合并候选,其包括合并候选中的第J个到合并候选中的第L个。在一些实施方式中,数字k、J、L、G、M1、M2、…、Mk、…和MG可以是正整数。数量J可以等于并且数量L可以等于/>在一些实施方式中,数量G可以等于二。因此,第一合并子组可以包括具有在0到M1-1的第一索引范围内的多个候选索引的M1个合并候选,并且第二合并子组可以包括具有在M1至M1+M2-1的第二索引范围内的多个候选索引的M2个合并候选。
在一些实施方式中,第一合并候选列表中的合并候选的数量Nt1可以等于15,并且合并子组中的合并候选的数量可以被预定义为等于4、5、6。因此,第一合并候选列表可以被划分以生成3个子组,每个子组具有不同数量的合并候选。第一合并子组可以包括具有从0到3的候选索引的4个合并候选,第二子组可以包括具有从4到8的候选索引的5个合并候选,并且第三子组可以包括具有从9至14的候选索引的6个合并候选。
在一些实施方式中,合并子组中的合并候选的数量可以基于块单元的尺寸参数来确定。当尺寸参数大于或等于尺寸阈值时,合并子组中的合并候选的数量可以增加到大于预定义的数量。在一些实施方式中,尺寸阈值可以是正整数。在一些实施方式中,块单元的尺寸参数可以基于块单元的块宽度WB或块高度HB中的至少一个来确定。例如,块单元的尺寸参数可以等于块单元的块宽度WB和块高度HB中的一个。块单元的尺寸参数可以等于块单元的块宽度WB和块高度HB的乘积。块单元的尺寸参数可以等于块单元的块宽度WB除以块单元的块高度HB得到的商或者块单元的块高度HB除以块单元的块宽度WB得到的商。
在一些实施方式中,编码器模块114可以基于基本运动候选从第一合并候选列表中识别多个合并子组。可以基于基本运动候选、运动差和预测方向来确定合并候选。另外,运动差和预测方向可用于确定差运动向量,因此可基于基本运动候选和差运动向量来确定合并候选。因此,可以基于基本运动候选直接确定合并子组。在一些实施方式中,基本运动候选的数量可以等于合并子组的数量。因此,可以基于差运动向量的数量来确定合并子组中的合并候选的数量。
在一些实施方式中,当基本运动候选中的一个是单预测候选时,与基本运动候选中的一个相对应的合并子组中的合并候选的数量可以等于差运动向量的数量。例如,运动差的数量可以等于6并且预测方向的数量可以等于16。因此,与单预测候选相对应的合并子组中的合并候选的数量可以等于96。
在一些实施方式中,当基本运动候选中的一个是双向预测候选时,基于基本运动候选的一个和差运动向量中的一个确定的合并候选的数量可以等于三。这三个合并候选中的一个可以是与第一参考图像列表L0对应的单预测候选,这三个合并候选中的另一个可以是与第二参考图像列表L1对应的另一个单预测候选,并且这三个合并候选中的另外一个可以是与第一参考图像列表L0和第二参考图像列表L1对应的双向预测候选。因此,当基本运动候选中的一个是双向预测候选时,与基本运动候选之一相对应的合并子组中的合并候选的数量可以等于差运动向量的数量与3的乘积。例如,运动差的数量可以等于6并且预测方向的数量可以等于16。因此,与双向预测候选相对应的合并子组中的合并候选的数量可以等于至288。在一些实施方式中,由于每个基本运动候选可以是单预测候选和双向预测候选中的一个,因此基于差运动向量的数量确定的合并子组中的合并候选的数量的最大值可以等于数量Ns。
在框440,编码器模块114确定多个合并候选中的每一个的第一代价值。
参考图1和图3所示,编码器模块114可以基于模板匹配来计算每个合并候选的第一代价值。编码器模块114可以确定每个合并候选的参考块,并且进一步确定每个参考块的参考模板区域。另外,编码器模块114可以确定与块单元相邻的块模板区域。编码器模块114可将参考模板区域与块模板区域进行比较以确定合并候选的第一代价值。
在一些实施方式中,块模板区域可以包括位于块单元上方的第一相邻区域和位于块单元左侧的第二相邻区域。第一相邻区域可以具有第一区域宽度Wr1和第一区域高度Hr1,并且第二相邻区域可以具有第二区域宽度Wr2和第二区域高度Hr2。在一些实施方式中,第一相邻区域的第一区域宽度Wr1可以基于块单元的块宽度WB确定,第二相邻区域的第二区域高度Hr2可以基于块单元的块高度HB确定,并且第一相邻区域的第一区域高度Hr1和第二相邻区域的第二区域宽度Wr2可以在编码器模块114中预定义。在一些实施方式中,第一相邻区域的第一区域宽度Wr1可以等于块单元的块宽度WB,并且第二相邻区域的第二区域高度Hr2可以等于块单元的块高度HB。在一些实施方式中,第一相邻区域的第一区域宽度Wr1可以等于通过将块单元的块宽度WB乘以第一宽度因子Fw1而生成的第一宽度参数Wp1,并且第二相邻区域的第二区域高度Hr2可以等于通过将块单元的块高度HB乘以第一高度因子Fh1而生成的第一高度参数Hp1。在一些实施方式中,长度Wr1、Hr1、Wr2、Hr2、Wp1、Hp1、WB和HB可以是正整数,并且第一宽度因子Fw1和第一高度因子Fh1可以是正值。
在一些实施方式中,每个参考模板区域可以与参考块中对应的一个相邻,每个参考块具有参考宽度WR和参考高度HR。每个参考模板区域可以包括位于对应的参考块上方的第一参考区域和位于对应的参考块的左侧的第二参考区域。第一参考区域可以具有第三区域宽度Wr3和第三区域高度Hr3,第二参考区域可以具有第四区域宽度Wr4和第四区域高度Hr4。在一些实施方式中,可以基于块单元的块宽度WB、参考块的参考高度HR来确定参考块的参考宽度WR和第一参考区域的第三区域宽度W r3,并且第二参考区域的第四区域高度Hr4可以基于块单元的块高度HB和第一参考区域的第三区域高度Hr3来确定,第二参考区域的第四区域宽度Wr4可以在编码器模块中预定义114。在一些实施方式中,参考块的参考宽度WR和第一参考区域的第三区域宽度Wr3可以等于块单元的块宽度WB,参考块的参考高度HR和第二参考区域的第四区域高度Hr4可以等于块单元的块高度HB。
在一些实施方式中,第一参考区域的第三区域宽度Wr3可以等于通过将参考块的参考宽度WR乘以第二宽度因子Fw2而生成的第二宽度参数Wp2,第二参考区域的第四区域高度Hr4参考区域可以等于通过将参考块的参考高度HR乘以第二高度因子Fh2而生成的第二高度参数Hp2。在一些实施方式中,长度Wr3、Hr3、Wr4、Hr4、Wp2、Hp2、WR和HR可以是正整数,并且第二宽度因子Fw2和第二高度因子Fh2可以是正值。
在一些实施方式中,为了将每个参考模板区域与块模板区域进行比较,每个第三区域宽度Wr3可以等于第一区域宽度Wr1,每个第三区域高度Hr3可以等于第一区域高度Hr1,每个第四区域宽度Wr4可以等于第二区域宽度Wr2,并且每个第四区域高度Hr4可以等于第二区域高度Hr2。块模板区域可以包括在预测块单元之前预测和重构的多个第一重构样本。每个参考模板区域可以包括在预测块单元之前预测和重构的多个第二重构样本。每个参考模板区域中第一重构样本的数量可以等于第二重构样本的数量。
在一些实施方式中,编码器模块114可以通过使用第一代价函数来将每个参考模板区域与块模板区域进行比较以确定合并候选的第一代价值。编码器模块114可通过基于第一代价函数将每个参考模板区域中的第二重构样本与第一重构样本进行比较来确定第一代价值。第一代价函数可以包括但不限于绝对差值之和(Sum of Absolute Difference,SAD)、绝对变换差值之和(Sum of Absolute Transformed Difference,SATD)、平均绝对差值(Mean Absolute Difference,MAD)、均方差值(Mean Squared Difference,MSD)和结构相似度(Structural SIMilarity,SSIM)。应当注意,可以使用任何代价函数而不脱离本公开。
在一些实施方式中,每个合并候选的第一代价值是模板匹配代价值,所述模板匹配代价值是基于与块单元相邻的块模板区域的邻近区域中的第一重构样本和基于合并候选中的相应一个确定的参考块中的相应一个的邻近的参考模板区域中的第二重构样本所确定的。
在框450,编码器模块114基于第一代价值确定多个合并子组中的每个合并子组中的多个合并候选的排列。
参考图1和图3所示,编码器模块114可以基于在相应的一个合并子组中的合并候选的第一代价值对每个合并子组中的合并候选重新排序。在一些实施方式中,每个合并子组中的合并候选可以按照相应的一个合并子组中的合并候选的第一代价值的升序或降序来重新排序。
在一些实施方式中,在基于第一代价值确定排列之前,可以基于任意规则对每个合并子组中的合并候选进行排序。例如,每个合并子组中的合并候选可以基于合并候选被添加到第一合并候选列表中的顺序来排序。在一些实施方式中,当合并子组的数量大于1时,最后一个合并子组可以保持不变。
在一些实施方式中,每个合并子组中的合并候选可以按照对应的一个合并子组中的合并候选的第一代价值的升序来重新排序。因此,当包括在特定合并子组中的特定合并候选的第一代价值小于该特定合并子组中的其他合并候选的第一代价值时,基于该排列,该特定合并候选可以前移为特定合并子组中的第一合并候选。换句话说,当特定合并子组中的特定合并候选的第一代价值是特定合并组的第一代价值中的最小值时,特定合并候选可以被移动为特定合并子组中的第一合并候选。另外,当特定合并子组中的特定合并候选的第一代价值是特定合并组中的第一代价值中的最大值时,特定合并候选可以被移动为特定合并子组中的合并候选中的最后一个。例如,特定合并组可以包括具有四个第一代价值(CV1、CV2、CV3和CV4)的四个合并候选MC1、MC2、MC3和MC4。当四个第一代价值之间的关系为CV4>CV2>CV1>CV3时,特定合并候选的排列可以从四个合并候选MC1、MC2、MC3和MC4的原始顺序改变为四个合并候选的新的顺序MC3、MC1、MC2和MC4。
在一些实施方式中,可以基于分集标准来进一步确定该排列。编码器模块114可以确定从合并候选中的两个相邻的合并候选中选择的两个第一代价值之间的差值。当差值小于或等于分集阈值时,合并候选的两个相邻合并候选中的最后一个可以向后移动。例如,四个第一代价值之间的关系为CV4>CV2>CV1>CV3,并且两个第一代价值CV1和CV3之间的差值小于分集阈值。因此,合并候选MC1可以在特定合并子组中向后移动。因此,特定合并候选的排列可以从四个合并候选MC1、MC2、MC3和MC4的原始顺序改变为四个合并候选的新顺序MC3、MC2、MC1和MC4。
在一些实施方式中,该排列可以由编码器模块114确定,但是可能不需要调整每个合并子组中的合并候选的顺序。换言之,编码器模块114可确定第一代价值,并按照相应的一个合并子组中的合并候选的第一代价值的升序或降序来确定每个合并子组中的合并候选的排列。然后,编码器模块114可以基于排列直接选择合并候选,而不需要对合并子组重新排序。
在一些实施方式中,编码器模块114可以基于基本运动候选从第一合并候选列表中识别合并子组。由于运动差和预测方向可用于确定差运动向量,因此可基于基本运动候选和差运动向量来确定合并候选。因此,可以基于基本运动候选直接确定合并子组。换句话说,可以针对差运动向量确定排列。因此,编码器模块114可以确定每个基本运动候选的差运动向量的排列。
在框460,编码器模块114通过从多个合并子组中的每一个选择基于所述排列所排序的多个合并候选中的前K个来确定第二合并候选列表。
参考图1和图3所示,编码器模块114可以从每个合并子组确定前K个合并候选,并且将前K个合并候选添加到第二合并候选列表中。数字K的值为小于N且大于或等于1的正整数。因此,第二合并候选列表中的合并候选的数量Nt2可以等于K×G,其比第一合并候选列表中的合并候选的数量Nt1少。
在一些实施方式中,从同一合并子组中选择到第二合并候选列表中的合并候选可以基于同一合并子组中的合并候选的第一代价值确定的排列来排列。换句话来讲,在第二合并候选列表中,从特定合并子组中选择的合并候选可以基于特定合并子组的排列来排列。因此,在第二合并候选列表中,从特定合并子组中选择的合并候选可以按照特定合并子组中的合并候选的第一代价值的升序或降序排列。
在一些实施方式中,第二合并候选列表中的合并候选可以基于合并子组的组顺序来排列。换句话说,在第二合并候选列表中,第一合并子组中的合并候选可以被排列在其他合并子组中的合并候选之前,并且第二合并子组中的合并候选可以排列在第三合并子组中的合并候选的前面以及第一合并子组中的合并候选的后面。
例如,第一合并子组可以包括四个合并候选MC1、MC2、MC3和MC4,并且第一合并子组可以基于关系(例如,CV4>CV2>CV1>CV3)被重新排序以具有排列MC3、MC1、MC2和MC4。另外,第二合并子组可以包括四个合并候选MC5、MC6、MC7和MC8,并且第二合并子组可以基于关系(例如,CV7>CV6>CV5>CV8)重新排序以具有另一种排列MC8、MC5、MC6和MC7。当数量K等于2时,可以选择第一合并子组中的合并候选MC3和MC1以及第二合并子组中的合并候选MC8和MC5来添加到第二合并候选列表中。另外,在第二合并候选列表中,第一合并子组中的合并候选MC3和MC1以及第二合并子组中的合并候选MC8和MC5可以被排列为MC3、MC1、MC8和MC5的顺序。
在一些实施方式中,当合并子组的数量等于1时,第二合并候选列表中的合并候选是基于第一合并候选列表中的排列所排列的前K个合并候选。在另一实施方式中,当合并子组的数量等于1时,第二合并候选列表中的合并候选是具有合并候选的第一代价值前K个最小值的K个合并候选。
在一些实施方式中,第二合并候选列表中的每个合并候选可以包括合并候选索引。在一些实施方式中,第二合并候选列表中的合并候选的数量可以等于Nt2,并且第二合并候选列表的合并候选索引可以在0至Nt2-1的索引范围内。在一些实施方式中,数量Nt2可以是正整数。由于数量Nt2可以等于K×G,所以第二合并候选列表的合并候选索引可以在0至K×G-1的索引范围内。
在框470,编码器模块114选择第二合并候选列表的多个合并候选中的一个来预测块单元。
参考图1和图3所示,编码器模块114可以确定第二合并候选列表中的每个合并候选的第二代价值,并且基于第二代价值确定合并候选中的所选择的一个。第二合并候选列表中的合并候选的第二代价值不同于第二合并候选列表中的合并候选的第一代价值。另外,编码器模块114还可基于合并候选中的所选择的一个将一个或多个合并索引编码到比特流中。
在一些实施方式中,编码器模块114可基于块单元和基于合并候选中的相应一个确定的多个第三重构样本,通过使用用于第二合并候选列表中的多个合并候选中的每一个的第二代价函数来确定第二代价值。由合并候选中的相应一个指示的第三重构样本可以在预测块单元之前被预测和重构。第二代价函数可以与第一代价函数不同。在一些实施方式中,第二代价函数可以是率失真优化(rate-distortion optimization,RDO)过程。在实现中,编码器模块114将合并候选中所选择的一个确定为用于生成编码结果的块单元的预测模式。因此,编码器模块114可以基于合并候选中所选择的一个来预测块单元,以生成块单元的多个预测样本。
在一些实施方式中,编码器模块114可将块单元的多个块分量与块单元的预测样本进行比较以生成块单元的多个残差分量。编码器模块114还可将块单元的残差分量编码到比特流中,并将用于指示第二合并候选列表中的合并候选中的所选择的一个的一个或多个合并索引发信号通知到比特流中。此外,为了进一步预测多个后续块,编码器模块114还可以基于残差分量和第二合并候选列表中的合并候选中所选择的一个来重构块单元,以生成块单元的多个第四重构样本。第四重构样本可以用于帧内预测编码以预测图像帧中的后续块。另外,第四重构样本还可被编码器模块114过滤并存储在解码图片缓冲器3147中用于帧间预测编码以预测多个后续图像中的后续块。
在一些实施方式中,一个或多个合并索引可以仅包括与合并候选索引中的一个相对应的一个合并预测索引,用于指示第二合并候选列表中的合并候选中的一个。由合并预测索引指示的第二合并候选列表中的合并候选中所指示的一个可以与第二合并候选列表中的合并候选中的所选择的一个相同。当每个合并子组仅选择K个合并候选到第二合并候选列表中时,合并预测索引可以用于确定合并子组中的哪一个包括所选择的合并候选。例如,当K等于三并且合并预测索引等于七时,因为七大于3和2的乘积,合并候选中所选择的一个可以被包括在合并子组中的第三个中。因此,当解码器模块124接收到合并预测索引时,解码器模块124可以选择包括合并候选中的所选择的一个的合并子组中的一个,以确定合并候选在所选择的合并子组中的排列,从而基于合并预测索引确定合并候选中所选择的一个。例如,由于第一和第二合并子组中的合并候选的合并候选索引在0到5的范围内,所以所选择的合并候选之一可以是第三合并子组中的第二合并候选。
在一些实施方式中,一个或多个合并索引可以包括合并索引中的第一个,其指示合并子组中的哪一个包括合并候选中所选择的一个,和合并索引中的第二个,其指示所指示的合并子组中的合并候选中的哪一个是多个合并候选中所选择的一个。第一合并索引可以是用于确定合并子组中所指示的一个合并子组的合并子组索引,并且第二合并索引可以是用于确定合并子组中所指示的一个合并子组中的指示的合并候选之一的子组候选索引。另外,子组候选索引的索引值可以在0至K-1的索引范围内。在一些实施方式中,当一个或多个合并索引包括多于一个索引时,编码器模块114可能不需要向第二合并候选列表中的合并候选提供合并候选索引。
在一些实现中,在MMVD模式中,合并子组索引可以是用于选择基本运动候选之一的基本运动索引,并且子组候选索引可以被视为用于选择差运动向量之一或者选择多个运动差索引之一和多个预测方向索引之一的差运动索引。
图5示出了根据本公开的实施方式的由电子设备对视频数据进行解码的方法500的流程图。方法500仅是示例,因为存在多种方式来执行视频数据的解码。
方法500可以使用图1和图2中所示的配置来执行,并且这些图的各个元件是关于方法500来引用的。图5中的每个框可以表示执行的一个或多个过程、方法或子例程。
在一些实施方式中,通过方法500解码的视频数据可以是通过通过方法400对视频进行编码而生成的比特流。因此,用于对比特流进行解码的方法500可以是与通过方法400执行的用于对视频进行编码的编码方法相对应的解码方法。
图5中的框的顺序仅是说明性的并且可能改变。在不脱离本公开的情况下,可以添加额外的框或者可以使用更少的框。
在框510,解码器模块124接收比特流并根据比特流从图像帧确定块单元以及块单元的一个或多个合并索引。比特流可以是通过编码器模块114对视频进行编码而生成的视频数据。
参考图1和图2所示,第二电子设备120可以经由第二接口126从诸如第一电子设备110或其他视频提供商之类的编码器接收比特流。第二接口126可以将比特流提供给解码器模块124。
在一些实施方式中,熵解码单元2241可对比特流进行解码以为多个视频帧确定多个预测指示和多个分区指示。然后,解码器模块124可以进一步基于预测指示和分区指示来重构多个视频帧。预测指示和分区指示可以包括多个标志和多个索引。
在一些实施方式中,解码器模块124可以基于比特流确定视频帧中一个作为图像帧,并根据比特流中的分区指示划分图像帧以确定块单元。例如,解码器模块124可将图像帧划分以产生多个CTU,并进一步划分其中一个CTU以根据基于任何视频编码标准的分区指示来确定块单元。
在一些实施方式中,比特流中的预测指示的索引可以包括块单元的一个或多个合并索引,用于当编码器模块114以合并模式预测块单元时选择多个合并候选中的一个作为预测模式。此外,块单元的残差分量还可以被编码在比特流中。因此,解码器模块124可对比特流进行解码以确定块单元的预测模式和残差分量以用于重构块单元。
在框520处,解码器模块124基于一个或多个合并索引中的第一个来选择从块单元的合并候选列表中识别的多个合并子组之一。
参考图1和图2所示,解码器模块124可以确定从合并候选列表生成的合并子组。合并候选列表可以包括多个合并候选。
在一些实施方式中,方法500中的合并候选列表可以对应于方法400中的第一合并候选列表。每个合并子组可以包括合并候选的一部分。每个合并子组中的合并候选的数量可以等于或小于作为正整数的数量N的第一值。
在一些实施方式中,可以在编码器模块114和解码器模块124中划分合并候选列表以生成合并子组。合并子组中的合并候选的数量可以基于数量N的值来确定。至少一个合并子组中的合并候选的数量可以等于数量N的值。在一些实施方式中,当合并候选列表中的合并候选的数量Nt1不能被数量N整除时,合并子组中的合并候选的数量可以不彼此相等。在一些实施方式中,合并候选列表中的合并候选的数量Nt1可以被数量N整除。因此,合并子组的数量可以等于商,该商是正整数。
在一些实施方式中,合并子组中的合并候选的数量可以彼此不同并且等于或小于数量N。合并子组的数量等于数量G。因此,合并子组中的合并候选的数量可以等于M1、M2、…和MG。例如,合并候选列表中的合并候选的数量Nt1可以等于15,并且合并子组中的合并候选的数量可以被预定义为等于4、5、6。因此,合并候选列表可以被划分以生成3个子组,每个子组具有不同数量的合并候选。第一合并子组可以包括具有从0到3的候选索引的4个合并候选,第二子组可以包括具有从4到8的候选索引的5个合并候选,并且第三子组可以包括具有从9至14的候选索引的6个合并候选。
在一些实施方式中,合并子组中的合并候选的数量可以基于块单元的尺寸参数来确定。当尺寸参数大于或等于尺寸阈值时,合并子组中的合并候选的数量可以增加到大于预定义的数量。在一些实施方式中,尺寸阈值可以是正整数。在一些实施方式中,块单元的尺寸参数可以基于块单元的块宽度WB或块高度HB中的至少一个来确定。
在一些实现方式中,在合并模式中,合并候选列表中的合并候选可以基于几种合并候选来构建,诸如从多个空间相邻块确定的多个空间运动向量预测(motion vectorprediction,MVP)、来自多个并置块的多个时域MVP、从多个非相邻块确定的多个空间MVP、根据先进先出(first-in-first-out,FIFO)表确定的多个基于历史的MVP、多个成对平均MVP,以及多个没有运动的零运动向量(零MV)。在一些实施方式中,当零MV候选中的至少一个被包括在第一合并候选列表中时,零MV候选中的至少一个可以不被添加到合并子组中。由于方法400中的第一合并候选列表的第一构建方法与方法500中的合并候选列表的第二构建方法相同,因此通过该方法400针对块单元构建的第一合并候选列表中的合并候选可以与通过方法500为块单元构建的合并候选列表中的合并候选相同。此外,方法400中用于从第一合并候选列表中识别合并子组的第一识别方法与方法500中用于从合并候选列表中识别合并子组的第二识别方法相同,由方法400针对块单元识别的合并子组可以与由方法500针对块单元识别的合并子组相同。
在一些实现方式中,在具有运动向量差的合并模式中(merge mode with motionvector difference,MMVD)模式中,解码器模块124还可以确定包括在块单元的合并候选列表中的块单元的合并候选。块单元的每个合并候选可以分别基于多个基本运动候选之一、多个运动差之一和多个预测方向之一来确定。例如,运动差之一和预测方向之一可用于确定多个差运动向量之一,并且差运动向量之一和基本运动候选之一可被组合以确定合并候选中的一个。在一实施方式中,差运动向量之一和基本运动候选之一的基本运动向量可以被组合以生成合并运动向量。
在一些实施方式中,可以基于基本运动候选从合并候选列表中识别合并子组。可以基于基本运动候选、运动差和预测方向来确定合并候选。另外,运动差和预测方向可用于确定差运动向量,因此可基于基本运动候选和差运动向量来确定合并候选。因此,可以基于基本运动候选直接确定合并子组。基本运动候选的数量可以等于合并子组的数量。因此,合并子组中的合并候选的数量可以基于差运动向量的数量来确定。
在一些实施方式中,当基本运动候选之一是单预测候选时,与基本运动候选之一相对应的合并子组中的合并候选的数量可以等于差运动向量的数量。例如,运动差的数量可以等于6并且预测方向的数量可以等于16。因此,与单预测候选相对应的合并子组中的合并候选的数量可以等于96.
在一些实施方式中,当基本运动候选之一是双向预测候选时,基于基本运动候选之一和差运动向量之一确定的合并候选的数量可以等于三。这三个合并候选中的两个可以是分别与第一参考图像列表L0和第二参考图像列表L1之一相对应的单预测候选,并且这三个合并候选中的另一个可以是与第一参考图像列表L0和第二参考图像列表L1两者相对应的双向预测候选。因此,当基本运动候选之一是双向预测候选时,与基本运动候选之一相对应的合并子组中的合并候选的数量可以等于差运动向量的数量与3的乘积。例如,与双向预测候选相对应的合并子组中的合并候选的数量可以等于288。在一些实施方式中,由于每个基本运动候选可以是单预测候选或双向预测候选中的一个,基于差运动向量的数量确定的合并子组中的合并候选的数量的最大值可以等于数量N。
在一些实施方式中,当比特流由编码器模块114生成时,一个或多个合并索引可以仅包括与合并候选索引之一相对应的一个合并预测索引,用于指示该方法400中的第二合并候选列表中的预测模式。当方法400中的每个合并子组仅选择K个合并候选到第二合并候选列表中时,合并预测索引可以用于确定合并子组中的哪一个包括所选择的合并候选。例如,当K等于三并且合并预测索引等于七时,由于七大于3和2的乘积,所以预测模式可以被包括在合并子组中的第三个中。因此,当解码器当模块124接收合并预测索引时,解码器模块124可以基于合并预测索引来确定所选择的包括预测模式的合并子组之一。
在一些实施方式中,当比特流由编码器模块114生成时,一个或多个合并索引可以包括合并索引中的第一个以及合并索引中的第二个,合并索引中的第一个指示合并子组中的哪一个包括预测模式,合并索引中的第二个指示所指示的合并子组中的合并候选中的哪一个是多个合并候选中所选择的一个。第一合并索引可以是用于确定合并子组中所选择的一个的合并子组索引,并且第二合并索引可以是用于确定合并子组中所选择的一个中的预测模式的子组候选索引。
在框530,解码器模块124确定所选择的合并子组中的每个合并候选的代价值。
参考图1和图2所示,解码器模块124可以基于模板匹配来计算所选择的合并子组中的每个合并候选的代价值。解码器模块124可以为所选择的合并子组中的每个合并候选确定参考块,并且还确定每个参考块的参考模板区域。另外,解码器模块124可以确定与块单元相邻的块模板区域。解码器模块124可以将参考模板区域与块模板区域进行比较,以确定所选择的合并子组之一中的合并候选的代价值。
在一些实施方式中,由于解码器模块124已经确定合并子组中的哪一个包括预测模式,因此可能不需要确定合并候选列表中的每个合并候选的代价值。为了更有效地解码比特流,解码器模块124可以仅确定所选择的合并子组中的每个合并候选的代价值。
在一些实施方式中,块模板区域可以包括位于块单元上侧的第一相邻区域和位于块单元左侧的第二相邻区域。每个参考模板区域可以与对应的参考块相邻,并且包括位于对应的参考块上侧的第一参考区域和位于对应的参考块的左侧的第二参考区域。为了将每个参考模板区域与块模板区域进行比较,参考模板区域的参考区域尺寸可以与块模板区域的块区域尺寸相同。块模板区域可以包括在预测块单元之前预测和重构的多个第一重构样本。每个参考模板区域可以包括在预测块单元之前预测和重构的多个第二重构样本。每个参考模板区域中第一重构样本的数量可以等于第二重构样本的数量。
在一些实施方式中,解码器模块124可以通过使用代价函数来将参考模板区域中的每一个与块模板区域进行比较以确定所选择的合并子组中的合并候选的代价值。解码器模块124可通过基于代价函数将每个参考模板区域中的第二重构样本与第一重构样本进行比较来确定代价值。代价函数可以包括但不限于绝对差值之和(Sum of AbsoluteDifference,SAD)、绝对变换差值之和(Sum of Absolute Transformed Difference,SATD)、平均绝对差值(Mean Absolute Difference,MAD)、均方差值(Mean SquaredDifference,MSD)和结构相似度(Structural SIMilarity,SSIM)。应当注意,可以使用任何代价函数而不脱离本公开。
在一些实施方式中,所选择的合并子组中的每个合并候选的代价值是基于与块单元相邻的块模板区域的相邻区域中的第一重构样本和在参考模板区域中的第二个重构样本所确定的模板匹配代价值,该参考模板区域与基于所选择的合并子组中的合并候选中的对应的一个合并候选所确定的参考块中的对应的一个参考块相邻。
在框540,解码器模块124基于代价值确定合并子组中所选择的一个中的合并候选的排列。
参考图1和图2所示,解码器模块124可以基于所选择的合并子组之一中的合并候选的代价值对所选择的合并子组之一进行重新排序。在一些实施方式中,可以按照合并子组中所选择的一个中的合并候选的代价值的升序或降序对合并子组中所选择的一个中的合并候选进行重新排序。
在一些实施方式中,在基于代价值确定排列之前,可以基于任意规则对所选择的合并子组之一中的合并候选进行排序。例如,可以基于将合并候选添加到合并候选列表中的顺序来对所选择的合并子组之一中的合并候选进行排序。
在一些实施方式中,可以按照合并子组中所选择的一个中的合并候选的代价值的升序对合并子组中所选择的一个中的合并候选进行重新排序。因此,当合并子组中所选择的一个中包括的合并候选中的特定合并候选的代价值小于合并子组中所选择的一个中的其他合并候选的代价值时,可以基于该排列向前移动该特定合并候选为合并子组中所选择的一个中的第一合并候选。换句话说,当合并子组中所选择的一个中的特定合并候选的代价值是合并子组中所选择的一个中的代价值中的最小值时,可以将特定合并候选移动为合并子组中所选择的一个中的第一合并候选。
在一些实施方式中,可以基于分集标准来进一步确定该排列。解码器模块124可以确定从所选择的合并子组中的合并候选中的两个相邻合并候选中选择的代价值中的两个代价值之间的差值。当差值小于或等于分集阈值时,合并候选的两个相邻合并候选中的最后一个可以向后移动。例如,四个代价值之间的关系为CV4>CV2>CV1>CV3,并且两个代价值CV1和CV3之间的差值小于分集阈值。因此,合并候选MC1可以在所选择的合并子组中向后移动。因此,特定合并候选的排列可以从四个合并候选MC1、MC2、MC3和MC4的原始顺序改变为四个合并候选MC3、MC2、MC1和MC4的新顺序。
在一些实施方式中,解码器模块124可以基于基本运动候选从合并候选列表中识别合并子组。由于运动差和预测方向可用于确定差运动向量,因此可基于基本运动候选和差运动向量来确定合并候选。因此,合并子组中所选择的一个可以直接对应于基本运动候选中所选择的一个。换句话说,可以针对差运动向量确定排列。因此,解码器模块124可以确定基本运动候选中所选择的一个的差运动向量的排列。
在一些实施方式中,为了在编码器模块114和解码器模块124中确定合并子组中所选择的一个的相同排列,方法400中用于确定第一合并候选列表中的合并候选的多个第一代价值的第一代价计算方法可以与方法500中用于确定合并子组中所选择的一个中的合并候选的代价值的第二代价计算方法相同。此外,方法400中用于确定每个合并子组中的合并候选的排列的第一排列确定方法可以与方法500中用于确定合并子组中所选择的一个中的合并候选的排列的第二排列确定方法相同。
在框550,解码器模块124基于一个或多个合并索引中的第二个,从合并子组中所选择的一个中选择基于排列所排序的合并候选中的前K个中的一个。
参考图1和图2所示,解码器模块124可以基于一个或多个合并索引中的第二个,从所选择的一个合并子组中选择基于排列排序的合并候选中的一个。一个或多个合并索引中的第二个可以指示来自基于合并子组中所选择的一个中的排列所排序的合并候选中的前K个的块单元的预测模式。在一些实施方式中,数字K的第二值是小于N的第二正整数。
在一些实施方式中,由于解码器模块124可以基于一个或多个合并索引中的第二个从合并子组中所选择的一个中选择预测模式,因此一个或多个合并索引中的第二个的索引值可以在0至K-1的索引范围内。因此,由于一个或多个合并索引中的第二个的索引值可能不大于K-1,将排列在多个合并子组中所选择的一个中的排列排序的第K个合并候选之后的合并候选排除在选择预测模式之外。
在一些实施方式中,一个或多个合并索引中的第一个可以用于确定合并子组中所选择的一个。因此,由于合并子组的数量等于数量G,所以一个或多个合并索引中的第一个的索引值可以在0到G-1的索引范围内。因此,一个或多个合并索引中的第一个可以不同于一个或多个合并索引中的第二个。
在一些实施方式中,解码器模块124可以基于一个或多个模式索引中的第二个来确定差值运动向量中所选择的一个,然后基于差值运动向量中所选择的一个和基本运动候选中所选择的一个来确定预测模式。
在一些实施方式中,当比特流由编码器模块114生成时,一个或多个合并索引可以仅包括与合并候选索引之一相对应的一个合并预测索引,用于指示该方法400中的第二合并候选列表中的预测模式。当方法400中的每个合并子组仅选择K个合并候选到第二合并候选列表中时,合并预测索引可以用于确定合并子组中的哪一个包括所选择的合并候选。例如,当K等于三并且合并预测索引等于七时,由于七大于3和2的乘积,所以预测模式可以被包括在合并子组中的第三个中。换句话说,当解码器模块124接收用于确定预测模式的合并预测索引时,合并预测索引可以被视为一个或多个合并索引中的第一个,用于指示合并子组中的哪一个包括预测模式,并且还被视为一个或多个合并索引中的第二个,用于指示所选择的合并子组中的哪一个合并候选是预测模式。因此,一个或多个合并索引中的第一个和第二个都可以是合并预测索引,因此一个或多个合并索引中的第一个可以与一个或多个合并索引中的第二个相同。
返回参考图5,在框560,解码器模块124基于多个合并候选中的前K个中所选择的一个来重构块单元。
进一步参考图1和图2,解码器模块124可基于预测模式确定预测块并将残差分量添加到预测块中以重构块单元。解码器模块124可以重构图像帧中的所有其他块单元,以重构图像帧和视频。
所公开的实施方式在所有方面都应被认为是说明性的而非限制性的。还应当理解,本公开不限于所公开的具体实施方式,而是在不脱离本公开的范围的情况下,许多重新排列、修改和替换是可能的。
Claims (18)
1.一种由电子设备编码视频数据的方法,其特征在于,所述方法包括:
接收所述视频数据;
从包括在所述视频数据中的图像帧确定块单元;
针对所述块单元,确定包括多个合并候选的第一合并候选列表;
从所述第一合并候选列表中识别多个合并子组,其中所述多个合并子组中的每一个中的所述多个合并候选的数量等于或小于数量N的第一值,所述N为第一正整数;
确定所述多个合并候选中的每一个的第一代价值;
基于所述第一代价值确定所述多个合并子组中的每一个中的所述多个合并候选的排列;
通过从所述多个合并子组中的每一个中选择基于所述排列所排序的所述多个合并候选中的前K个来确定第二合并候选列表,其中所述数量K的第二值为小于N的第二正整数;及
选择所述第二合并候选列表中的所述多个合并候选中的一个来预测所述块单元,并且基于所述多个合并候选中所选择的一个将一个或多个合并索引编码到比特流中。
2.根据权利要求1所述的方法,其特征在于,所述多个合并候选中的每一个的第一代价值是模板匹配代价值,所述模板匹配代价值是基于与所述块单元相邻的多个相邻区域中的多个第一重构样本和基于所述多个合并候选中对应的一个所确定的多个第二重构样本所确定的。
3.根据权利要求1所述的方法,其特征在于,所述多个合并子组中的每一个中的所述多个合并候选按照所述第一代价值的升序被排序。
4.根据权利要求1所述的方法,其特征在于,还包括:
确定所述第二合并候选列表中的所述多个合并候选中的每一个的第二代价值,其中所述第二合并候选列表中的所述多个合并候选的所述第二代价值不同于所述第二合并候选列表中的所述多个合并候选的所述第一代价值;
基于所述第二代价值确定所述多个合并候选中所选择的一个;及
确定用于指示所述多个合并候选中所选择的一个的所述一个或多个合并索引。
5.根据权利要求4所述的方法,其特征在于,所述第二合并候选列表中的所述多个合并候选中的每一个的所述第二代价值是基于所述块单元和基于所述多个合并候选中的相应一个所确定的多个第三重构样本来确定的。
6.根据权利要求4所述的方法,其特征在于,所述一个或多个合并索引包括:
所述一个或多个合并索引中的第一个,指示所述多个合并子组中的哪一个包括所述多个合并候选中所选择的一个;及
所述一个或多个合并索引中的第二个,指示所述多个合并候选中的哪一个是所述多个合并子组中所述一个中的所述多个合并候选中所选择的一个。
7.一种由电子设备解码比特流的方法,其特征在于,所述方法包括:
接收所述比特流;
根据所述比特流从图像帧中确定块单元以及所述块单元的一个或多个合并索引;
基于所述一个或多个合并索引中的第一个,选择从所述块单元的合并候选列表中识别出的多个合并子组中的一个,其中:
所述多个合并子组中的每一个包括多个合并候选,并且
所述多个合并子组中的每一个中的所述多个合并候选的数量等于或小于N的第一值,所述N为正整数;
确定所述多个合并子组中所选择的一个中的所述多个合并候选中的每一个的代价值;
基于所述代价值确定所述多个合并子组中所选择的一个中的所述多个合并候选的排列;
基于所述一个或多个合并索引中的第二个,从所述多个合并子组中所选择的一个中选择基于所述排列所排序的所述多个合并候选中的前K中的一个,其中所述数量K的第二值为小于N的第二正整数;及
基于所述多个合并候选中的所述前K个中所选择的一个来重构所述块单元。
8.根据权利要求7所述的方法,其特征在于,所述多个合并子组中所选择的一个中的所述多个合并候选中的每一个的所述代价值是模板匹配代价值,所述模板匹配代价值是基于与所述块单元相邻的多个相邻区域中的多个第一重构样本和基于所述多个合并子组中所选择的一个中的所述多个合并候选中的对应一个所确定的多个第二重构样本来确定的。
9.根据权利要求7所述的方法,其特征在于,所述多个合并子组中所选择的一个中的所述多个合并候选按照所述代价值的升序被排序。
10.根据权利要求7所述的方法,其特征在于,所述一个或多个合并索引中的所述第二个的索引值在0至K-1的索引范围内。
11.根据权利要求7所述的方法,其特征在于,在所述多个合并子组中所选择的一个的排列中,排列在第K个合并候选之后的所述多个合并候选被排除在选择之外。
12.根据权利要求7所述的方法,其特征在于,所述一个或多个合并索引中的所述第一个与所述一个或多个合并索引中的所述第二个相同或不同。
13.一种用于解码比特流的电子设备,所述电子设备包括:
至少一个处理器;和
至少一存储设备,耦合到该至少一处理器并存储多条指令,当所述多条指令由该至少一处理器执行时,使得该电子设备:
接收所述比特流;
根据所述比特流从图像帧中确定块单元以及所述块单元的一个或多个合并索引;
基于所述一个或多个合并索引中的第一个,选择从所述块单元的合并候选列表中识别出的多个合并子组中的一个,其中:
所述多个合并子组中的每一个包括多个合并候选,并且
所述多个合并子组中的每一个中的所述多个合并候选的数量等于或小于N的第一值,所述N为正整数;
确定所述多个合并子组中所选择的一个中的所述多个合并候选中的每一个的代价值;
基于所述代价值确定所述多个合并子组中所选择的一个中的所述多个合并候选的排列;
基于所述一个或多个合并索引中的第二个,从所述多个合并子组中所选择的一个中选择基于所述排列所排序的所述多个合并候选中的前K中的一个,其中所述数量K的第二值为小于N的第二正整数;及
基于所述多个合并候选中的所述前K个中所选择的一个来重构所述块单元。
14.根据权利要求13所述的电子设备,其特征在于,所述多个合并子组中所选择的一个中的所述多个合并候选中的每一个的所述代价值是模板匹配代价值,所述模板匹配代价值是基于与所述块单元相邻的多个相邻区域中的多个第一重构样本和基于所述多个合并子组中所选择的一个中的所述多个合并候选中的对应一个所确定的多个第二重构样本来确定的。
15.根据权利要求13所述的电子设备,其特征在于,所述多个合并子组中所选择的一个中的所述多个合并候选按照所述代价值的升序被排序。
16.根据权利要求13所述的电子设备,其特征在于,所述一个或多个合并索引中的所述第二个的索引值在0至K-1的索引范围内。
17.根据权利要求13所述的电子设备,其特征在于,在所述多个合并子组中所选择的一个的排列中,排列在第K个合并候选之后的所述多个合并候选被排除在选择之外。
18.根据权利要求13所述的电子设备,其特征在于,所述一个或多个合并索引中的所述第一个与所述一个或多个合并索引中的所述第二个相同或不同。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163249492P | 2021-09-28 | 2021-09-28 | |
US63/249492 | 2021-09-28 | ||
PCT/CN2022/121802 WO2023051541A1 (en) | 2021-09-28 | 2022-09-27 | Device and method for coding video data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117795954A true CN117795954A (zh) | 2024-03-29 |
Family
ID=85781309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280053843.0A Pending CN117795954A (zh) | 2021-09-28 | 2022-09-27 | 编码视频数据的设备和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117795954A (zh) |
WO (1) | WO2023051541A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024179594A1 (en) * | 2023-03-02 | 2024-09-06 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110574377B (zh) * | 2017-05-10 | 2021-12-28 | 联发科技股份有限公司 | 用于视频编解码的重新排序运动向量预测候选集的方法及装置 |
WO2019009498A1 (ko) * | 2017-07-03 | 2019-01-10 | 엘지전자 주식회사 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
KR102306562B1 (ko) * | 2017-11-27 | 2021-09-30 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치 |
WO2019199071A1 (ko) * | 2018-04-13 | 2019-10-17 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치 |
WO2020009427A1 (ko) * | 2018-07-02 | 2020-01-09 | 엘지전자 주식회사 | 영상 코딩 시스템의 인터 예측에서 템플릿 기반의 후보 리스트 재정렬 방법 및 장치 |
-
2022
- 2022-09-27 CN CN202280053843.0A patent/CN117795954A/zh active Pending
- 2022-09-27 WO PCT/CN2022/121802 patent/WO2023051541A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024179594A1 (en) * | 2023-03-02 | 2024-09-06 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for video processing |
Also Published As
Publication number | Publication date |
---|---|
WO2023051541A1 (en) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102585855B1 (ko) | 비디오 데이터를 코딩하기 위한 디바이스 및 방법 | |
CN111903130B (zh) | 在多参考列预测中编码视频数据的设备及方法 | |
US10924733B2 (en) | Device and method for coding video data based on mode list including different mode groups | |
CN111316640B (zh) | 基于调整的帧内模式列表以编码视频数据的设备及方法 | |
US11943437B2 (en) | Device and method for coding video data | |
KR20210064332A (ko) | 컴팩트한 mv 스토리지를 사용하는 인코더, 디코더 및 대응하는 방법 | |
JP7499854B2 (ja) | ビデオデータをコーディングするデバイス及び方法 | |
CN117795954A (zh) | 编码视频数据的设备和方法 | |
CN118511525A (zh) | 用于解码视频数据的设备和方法 | |
CN115550643A (zh) | 用于编码视频数据的设备和方法 | |
US11051029B2 (en) | Device and method for coding video data | |
US20230336711A1 (en) | Method for determining specific linear model and video processing device | |
US11985345B2 (en) | Device and method for coding video data | |
US20230217019A1 (en) | Device and method for decoding video data | |
US20230412801A1 (en) | Device and method for decoding video data | |
WO2022095918A1 (en) | Device and method for coding video data | |
CN118435593A (zh) | 编码视频数据的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |