CN117941350A - 用于视频编码中的帧内预测的设备和方法 - Google Patents

用于视频编码中的帧内预测的设备和方法 Download PDF

Info

Publication number
CN117941350A
CN117941350A CN202280060708.9A CN202280060708A CN117941350A CN 117941350 A CN117941350 A CN 117941350A CN 202280060708 A CN202280060708 A CN 202280060708A CN 117941350 A CN117941350 A CN 117941350A
Authority
CN
China
Prior art keywords
template
prediction
candidate
mode
block unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280060708.9A
Other languages
English (en)
Inventor
邓智友
杨雨樵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FG Innovation Co Ltd
Original Assignee
FG Innovation Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FG Innovation Co Ltd filed Critical FG Innovation Co Ltd
Publication of CN117941350A publication Critical patent/CN117941350A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提供了一种对视频数据进行解码的方法。该方法包括:接收视频数据;从所述视频数据的图像帧中确定块单元;通过将所述块单元的最可能模式MPM列表和所述块单元的梯度直方图HoG列表中的至少一种角度模式包含到候选列表中,为基于模板的帧内模式推导TIMD方法建立所述候选列表;基于所述候选列表采用所述TIMD方法确定帧内预测;基于所述帧内预测重构所述块单元。此外,还提供了一种应用该方法的电子设备。

Description

用于视频编码中的帧内预测的设备和方法
相关申请的交叉引用
本公开要求2021年9月13日提交的,名称为“PROPOSED MODIFICATIONS ON DIMDAND TIMD”的美国临时专利申请序列号63/243,580的权益和优先权。上述申请的内容通过引用完全并入本公开中。
技术领域
本发明总体上涉及视频编码,并且更具体地,涉及帧内预测技术。
背景技术
视频压缩的一个基本组成是帧内预测。帧内预测利用视频帧内相邻像素值信息的冗余来从周围像素预测像素块,从而允许传输预测误差而不是像素值本身。预测误差的值小于像素本身的值,从而有利于视频流的压缩。
可以使用各种帧内预测“模式”来执行帧内预测,例如平面模式、线性模型模式、直流(direct current,DC)模式或角度模式等。一般来说,需要至少一个模式索引来指示进行帧内预测所采用的模式。
尽管已经引入了多种帧内预测模式,但是如何提供新的帧内预测模式或方法来实现编码效率的提高仍然是本领域技术人员努力的目标。
发明内容
本公开涉及一种用于执行帧内预测的设备和方法。
在本公开的第一方面,提供一种解码视频数据的方法。该方法包括:接收所述视频数据;从所述视频数据的图像帧中确定块单元;通过将所述块单元的最可能模式(mostprobable mode,MPM)列表和所述块单元的梯度直方图(histogram of gradient,HoG)列表中的至少一种角度模式包含到候选列表中,为基于模板的帧内模式推导(template-basedintra mode derivation,TIMD)方法建立所述候选列表;基于所述候选列表采用所述TIMD方法确定帧内预测;及基于所述帧内预测重构所述块单元。
在第一方面的一个实施例中,所述基于所述候选列表采用所述TIMD方法确定帧内预测包括:确定与所述块单元相关联的模板区域,所述模板区域包括与所述块单元左邻的第一重构块和与所述块单元上邻的第二重构块;基于所述模板区域分别计算所述候选列表中的多个候选模式的多个模板成本;选择所述多个候选模式中对应于最小模板成本的第一候选模式以及选择所述多个候选模式中对应于第二最小模板成本的第二候选模式;及基于所述第一候选模式和所述第二候选模式确定所述帧内预测。所述模板区域包括与所述块单元左邻的第一重建块和与所述块单元上邻的第二重建块。
在第一方面的另一实施例中,所述基于所述模板区域分别计算所述候选列表中的多个候选模式的多个模板成本包括:基于所述模板区域的多个参考样本生成所述模板区域的多个预测,所述多个预测对应于所述候选列表的所述多个候选模式;计算所述多个预测中的每一个与所述模板区域的模板重构之间的多个差;及基于所述多个差确定所述候选列表的所述多个候选模式的所述多个模板成本。
在第一方面的另一实施例中,所述多个模板成本中的每一个包括绝对差之和(sumof absolute difference,SAD)或绝对变换差之和()sum of absolute transformeddifference,SATD)中的至少一者。
在第一方面的另一实施例中,所述基于所述第一候选模式和所述第二候选模式确定所述帧内预测包括:判断所述第二最小模板成本是否小于所述最小模板成本的两倍;在所述第二最小模板成本小于所述最小模板成本两倍的时,基于所述第一候选模式确定所述帧内预测;及在所述第二最小模板成本不小于所述最小模板成本的两倍时,基于所述第一候选模式、所述第二候选模式、所述最小模板成本和所述第二最小模板成本确定所述帧内预测。
在第一方面的另一实施例中,所述方法还包括基于所述块单元的模板区域生成所述HoG列表。
在第一方面的另一实施例中,所述块单元的所述模板区域包括与所述块单元的左侧相邻的第一重构区域、与所述块单元的上侧相邻的第二重构区域、以及连接所述第一重构区域和所述第二重构区域的第三重构区域。
在第一方面的另一实施例中,所述基于所述块单元的模板区域生成所述HoG列表包括:通过对所述模板区域中的多个位置中的每一个应用滤波器,计算多个模板角度以及与所述多个模板角度对应的多个模板幅度,其中所述多个模板角度中的每一个对应于所述多个角度模式中的一个。
在第一方面的另一实施例中,所述候选列表中包括的所述至少一个角度模式具有所述块单元的所述HoG列表中的至少一个最大模板幅度。
在本公开的第二方面,提供一种用于对视频数据进行解码的电子设备。所述电子设备包括:至少一个处理器;及至少一个存储设备,所述至少一个存储设耦合到所述至少一个处理器并存储多个指令,当所述多个指令由所述至少一个处理器执行时,使得所述电子设备接收所述视频数据;从所述视频数据的图像帧中确定块单元;通过将所述块单元的最可能模式(most probable mode,MPM)列表和所述块单元的梯度直方图(histogram ofgradient,HoG)列表中的至少一种角度模式包含到候选列表中,为基于模板的帧内模式推导(template-based intra mode derivation,TIMD)方法建立所述候选列表;基于所述候选列表采用所述TIMD方法确定帧内预测;及基于所述帧内预测重构所述块单元。
附图说明
从下面的详细公开内容和相应的附图可以最好地理解本申请内容的各方面。各种特征不是按比例绘制的,并且为了讨论的清晰起见,各种特征的尺寸可以任意任意增大或减小。
图1示出了根据本公开的实施方式的被配置为对视频数据进行编码和解码的系统的方框图。
图2示出了根据本公开的实施方式的图1所示的第二电子设备的解码器模块的方框图。
图3示出了根据本公开的实施方式的电子设备对视频数据进行解码的方法的流程图。
图4示出了根据本公开的实施方式的用于对块单元执行帧内预测的解码器侧帧内模式推导(decoder-side intra mode derivation,DIMD)方法的流程图。
图5A至图5C示出了根据本公开的示例性实施方式的描绘生成梯度直方图(histogram of gradient,HoG)列表的示意图。
图6示出了根据本公开的实施方式的用于对块单元执行帧内预测的基于模板的帧内模式推导(template-based intra mode derivation,TIMD)方法的流程图。
图7示出了根据本公开的示例实施方式的描绘TIMD方法的示意图。
图8A示出了根据本公开的实施方式的用于对块单元执行帧内预测的融合方法的流程图。
图8B示出了根据本公开的实施方式的用于对块单元执行帧内预测的融合方法的流程图。
图9示出了根据本公开的实施方式的图1所示的第一电子设备的编码器模块的方框图。
具体实施方式
以下公开包含与本申请中的实施方式有关的具体信息。附图和对应的详细公开内容为示例性实施方式。然而,本申请不限于这些示例性实施方式。本领域技术人员将想到本申请的其他变化和实施方式。
除非另有说明,附图中相同或相应的元件可以由相同或相应的附图标记来指示。本申请中的附图和图示通常不按比例并且不旨在对应于实际相对尺寸。
为了一致性和易于理解的目的,在示例性附图中透过参考指示符来标识相似的特征(尽管在一些示例中未示出)。然而,不同实施方式中的特征可能在其他方面有所不同,并且不应狭隘地限制于附图中示出的内容。
本申请使用短语“在一实施方式中”或“在一些实施方式中”,其可以指代一个或多个相同或不同的实施方式。术语“耦合”被定义为连接,无论是直接连接还是透过中间元件间接连接,并且不一定限于物理连接。术语“包括”意思是“包括,但不一定限于”并且具体表示在所描述的组合、组、系列和等同物中的开放式包含或成员身份。
出于解释和非限制的目的,阐述诸如功能实体、技术、协议和标准之类的具体细节以提供对所公开的技术的理解。省略众所周知的方法、技术、系统和架构的详细公开,以免不必要的细节模糊本申请。
本领域技术人员将认识到,本申请中描述的任何公开的编码函数或算法可以透过硬件、软件或软件和硬件的组合来实施。所公开的功能可以对应于作为软件、硬件、固件或其任意组合的模块。
软件实施方式可以包括具有储存在计算器可读媒介(例如储存器或其他类型的储存设备)上的计算器可执行指令的程序。例如,具有处理能力的一个或多个微处理器或通用计算器可以用可执行指令进行编程并执行所公开的功能或算法。
微处理器或通用计算器可以由专用集成电路(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可接收预测数据,该预测数据包括图像帧中的一个特定图像帧的当前图像块的帧内预测模式或运动向量。当前图像块可以是特定图像帧中的亮度块或者多个色度块中的一个。
在一些实施例中,在解码过程期间,语法元素可以不包括当前图像块的帧内预测模式。相反,当前图像块的帧内预测模式可以由预测处理单元2242本身基于例如与当前图像块相邻的重构样本来推导,其细节将在下面通过示例性实施方式来描述。
帧内预测单元22421可基于至少一个帧内预测模式,相对于与当前块单元在同一帧中的一个或多个相邻块,来执行当前块单元的帧内预测编码,以便生成预测块。帧内预测模式可以例如,指定从当前帧内的相邻块选择的参考样本的位置。当预测处理单元2242重构色度分量时,帧内预测单元22421可基于当前块单元的多个亮度分量来重构当前块单元的多个色度分量。
当预测处理单元2242重构当前块的多个亮度分量时,帧内预测单元22421可基于当前块单元的多个亮度分量来重构当前块单元的多个色度分量。
帧间预测单元22422可基于与运动向量相关的语法元素相对于一个或多个参考图像块中的一个或多个块执行当前块单元的帧间预测编码,以便生成预测块。运动向量可以指示当前图像块内的当前块单元相对于参考图像块内的参考块单元的位移。参考块单元是被确定为与当前块单元紧密匹配的块。帧间预测单元22422可以接收在解码图片缓冲器2246中储存的参考图像块,并且基于接收到的参考图像块来重构当前块单元。
逆量化/逆变换单元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éve transform,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示出了根据本公开的实施方式的电子设备对视频数据进行解码的方法的流程图。方法300仅是示例,因为存在多种方式来对视频数据的执行解码。
方法300可以使用图1和图2中所示的配置来执行,并且这些图的各个元件是关于方法300来引用的。图3中的每个框可以表示执行的一个或多个过程、方法或子例程。
图3中的框的顺序仅是说明性的并且可能改变。在不脱离本公开的情况下,可以添加附加的框,或者可以使用更少的框。
在框310,解码器模块124接收视频数据。被解码器模块124接收的视频数据可以是比特流。
参考图1和图2所示,第二电子设备120可以经由第二接口126从诸如第一电子设备110的编码器或其他视频提供者接收比特流。第二接口126可以将比特流提供给解码器模块124。
熵解码单元2241可对比特流进行解码以确定多个图像帧的多个预测指示和多个分区指示。然后,解码器模块124可以进一步基于预测指示和分区指示来重构所述多个图像帧。所述预测指示和所述分区指示可以包括多个标志和多个索引。
在框320,解码器模块124从视频数据的图像帧确定块单元。
参考图1和图2所示,解码器模块124可基于比特流确定图像帧,并根据比特流中的分区指示划分图像帧以确定块单元。例如,解码器模块124可将图像帧划分以生成多个CTU,并进一步划分该多个CTU中的其中一个CTU以根据基于任何视频编码标准的分区指示来确定块单元。
继续参照图3,在框330,解码器模块124可根据帧内预测方法确定块单元的帧内预测结果;在框340处,解码器模块124可基于帧内预测结果来重构块单元。需要说明的是,一旦获得了帧内预测结果,本领域普通技术人员应该熟悉如何基于帧内预测结果来重构块单元。因此,本公开将不对这种重构的细节进行描述和限定。
在本公开中,描述了使用由解码器模块124(例如,预测处理单元2242)导出的帧内预测模式的几种帧内预测方法。
解码器端帧内模式导出(Intra Mode Derivation,DIMD)方法
在一些实施方式中,帧内预测方法可以包括DIMD方法。具体地,可以采用DIMD方法进行帧内预测,以获得帧内预测结果。在本公开中,基于DIMD方法执行帧内预测可以称为基于DIMD模式执行帧内预测。
图4示出了根据本公开的实施方式的用于对块单元执行帧内预测的DIMD方法的流程图。
DIMD方法400可以使用图1和图2中所示的配置来执行,并且这些图的各个元件是关于DIMD方法400来引用的。图4中的每个框可以表示执行的一个或多个过程、方法或子例程。
图4中的框的顺序仅是说明性的并且可能改变。在不脱离本公开的情况下,可以添加额外的框或者可以使用更少的框。
在框410,解码器模块124可以基于块单元的模板区域来生成梯度直方图(Histogram of Gradient,HoG)列表。
具体地,块单元的模板区域可以包括与块单元相邻的重构区域。在一个示例中,块单元的模板区域可以包括该块单元的N条相邻参考线,N可以为正整数。
具体地,HoG列表可以包括与块单元相关联的多个角度模式以及与多个角度模式对应的多个模板幅度。更具体地,当生成HoG列表时,解码器模块124可以对模板区域中的多个位置中的每一个应用滤波器(例如,但不限于索伯(Sobel)滤波器)。基于滤波结果,解码器模块124可以计算多个模板角度以及与多个模板角度相对应的多个模板幅度。由于多个模板角度中的每一个可以对应于多个角度模式中的一个,因此可以获得HoG列表。
图5A至图5C示出了描述根据本发明实施例生成HoG列表的示意图。
参照图5A,块单元BU的模板区域包括块单元BU的3条相邻参考线。在这种情况下,模板区域包括与块单元BU的左侧相邻的第一重构区域R1、与块单元BU的上侧相邻的第二重构区域R2以及连接第一重构区域R1和第二重构区域R2的第三重构区域R3。
在一些实施例中,用于生成HoG列表的过滤器可以是例如Sobel过滤器,其包括水平过滤器内核(例如,Gx:)和垂直过滤器内核(例如Gy:/>)。
参考图5B,对于关于第一位置P1的N*N(例如,3*3=9)个重构样本S1,可以分别应用水平滤波器内核和垂直滤波器内核,并且可以获得第一水平滤波结果和第一垂直滤波结果。例如,第一水平滤波结果(例如Gx1)和第一垂直滤波结果(例如Gy1)可以通过以下方式获得:
Gx1=Gx·S1;
Gy1=Gy·S1。
在一些实施方式中,与第一位置P1相对应的第一模板角度可以通过第一垂直滤波结果相对于第一水平滤波结果的反正切来计算(例如,),并且可以通过第一水平滤波结果和第一垂直滤波结果的行列式之和来计算对应于第一位置P1的第一模板幅度(例如,|Gx1|+|Gy1|)。由于第一位置P1对应的第一模板角度可以映射为第一角度模式,因此可以得到第一角度模式与第一模板幅度的对应关系。
参考图5C,对于关于第二位置P2的N*N(例如,3*3=9)个重构样本S2,可以分别应用水平滤波器内核和垂直滤波器内核,并且得到第二水平滤波结果和第二垂直滤波结果。例如,第二水平滤波结果(例如Gx2)和第二垂直滤波结果(例如Gy2)可以通过以下方式获得:
Gx2=Gx·S2;
Gy2=Gy·S2。
在一些实施方式中,与第二位置P2相对应的第二模板角度可以通过第二垂直滤波结果相对于第二水平滤波结果的反正切来计算(例如,),第二位置P2对应的第二模板幅度可以通过第二水平滤波结果和第二垂直滤波结果的行列式之和来计算(例如,|Gx2|+|Gy2|)。由于第二位置P2对应的第二模板角度可以映射为第二角度模式,因此可以得到第二角度模式与第二模板幅度的对应关系。
在图5B和图5C所描述的相同的类比中,可以遍历模板区域中的多个位置(例如,模板区域的中线上),并且可以获得包括多个角度模式和对应于多个角度模式的多个模板幅度的块单元BU的HoG列表。
继续参考图4,在框420,解码器模块124可以基于模板幅度选择HoG列表中的多个角度模式中的至少一个。
具体地,所选择的至少一个角度模式对应于HoG列表中的多个模板幅度内的至少一个最大模板幅度。
在一些实现方式中,解码器模块124可以选择多个角度模式中与最大模板幅度相对应的一个。
在一些实施方式中,解码器模块124可以从多个角度模式中选择与最大模板幅度(例如,前K个最大模板幅度)相对应的多个(例如,K个)角度模式。
在框430,解码器模块124可以基于所选择的至少一个角度模式来确定块单元的帧内预测结果。
在一些实施方式中,在仅选择一种角度模式的情况下,解码器模块124可基于所选择的角度模式来确定块单元的帧内预测结果。
在一些实施方式中,在仅选择一种角度模式的情况下,解码器模块124可以基于所选择的角度模式和至少一个默认预测器来确定块单元的帧内预测结果。至少一个默认预测器可以包括但不限于,例如,平面模式。解码器模块124可以计算基于所选择的角度模式确定的预测和基于至少一个默认预测器确定的另一预测的加权平均(例如,融合)以获得最终预测。这样,解码器模块124可以基于最终预测来确定块单元的帧内预测结果。例如,解码器模块124可以将最终预测视为帧内预测结果。
在一些实施方式中,在选择多个角度模式的情况下,解码器单元124可计算基于所选择的角度模式执行的预测的加权平均(例如,融合)以获得最终预测,并确定帧内预测为最终预测。所选择的角度模式的权重可以例如与对应的模板幅度成比例。
例如,选择模板幅度为A1、A2、A3的三种帧内预测模式M1、M2、M3,这三种帧内预测模式对应的权重为W1、W2、W3。在这种情况下,W1可以等于W2可以等于W3可以等于/>其中W是要分配的总权重。在一些实施方式中,总权重可以是1,但不限于此。在这种情况下,解码器模块124可基于帧内预测模式M1确定第一预测P1,基于帧内预测模式M2确定第二预测P2,基于帧内预测模式M3确定第三预测P3,并确定最终预测P或块单元的帧内预测结果为W1*P1+W2*P2+W3*P3。
在一些实施方式中,在选择了多个角度模式的情况下,解码器模块124可以基于所选择的角度模式和至少一个默认预测器来确定块单元的帧内预测结果。至少一个默认预测器可以包括但不限于,例如平面模式。解码器模块124可以计算所选择的角度模式和至少一个默认预测器的加权平均值(例如,融合)以获得最终预测,其中所选择的角度模式的权重可以,例如与对应的模板幅度成比例。这样,解码器模块124可以基于最终预测来确定块单元的帧内预测结果。
例如,默认模式(例如,默认预测器)M1和具有模板幅度A2、A3的两个选择的帧内预测模式M2、M3用于确定帧内预测结果。在将默认模式M1的权重W1设置为22/64的情况下,帧内预测模式M2、M3的权重W2、W3分别可以为和/>在这种情况下,解码器模块124可基于默认模式M1确定第一预测P1,基于帧内预测模式M2确定第二预测P2,基于帧内预测模式M3确定第三预测P3,并将最终预测P或块单元的帧内预测结果确定为W1*P1+W2*P2+W3*P3。
基于模板的帧内模式推导(Template-based Intra Mode Derivation,TIMD)方法
在一些实施方式中,帧内预测方法可以包括TIMD方法。具体地,可以采用TIMD方法进行帧内预测,以获得帧内预测结果。在本公开中,基于TIMD方法进行帧内预测可以称为基于TIMD模式进行帧内预测。
图6示出了根据本公开的实施方式的用于对块单元执行帧内预测的TIMD方法的流程图。
TIMD方法600可以使用图1和图2中所示的配置来执行,并且这些图的各个元件是关于TIMD方法600来引用的。图6所示的每个框可以表示执行的一个或多个过程、方法或子例程。
图6中的框的顺序仅是说明性的并且可能改变。在不脱离本公开的情况下,可以添加附加的框,或者可以使用更少的框。
在框610处,解码器模块124可以建立TIMD方法的候选列表。候选列表包括多个帧内预测模式,并且候选列表中包括的多个帧内预测模式也被称为候选模式。
在一些实施例中,为了建立TIMD方法的候选列表,解码器模块124可以首先生成块单元的HoG列表,并从HoG列表中选择至少一个角度模式。从HoG列表中选择的至少一个角度模式被包括到TIMD方法的候选列表中。HoG列表的生成在前文中已有描述,此处不再赘述。
例如,为了建立TIMD方法的候选列表,解码器模块124可以首先执行DIMD方法以从HoG列表中选择具有至少一个最大模板幅度的至少一个角度模式,并且所选择的至少一个角度模式被包括到候选列表中。
在一些实施方式中,为了建立TIMD方法的候选列表,解码器模块124可以构造块单元的最可能模式(most probable mode,MPM)列表,并且构造的MPM列表被包括到用于TIMD方法的候选列表中。MPM列表可以包括例如平面模式、DC模式或者一个或多个角度模式中的至少一个。
块单元的MPM列表可以包括,例如具有6个条目的主MPM列表(PMPM)和具有16个条目的辅MPM列表(SMPM)。MPM列表的第一条目可以是平面模式。其余条目可以包括块单元的多个预设相邻块的帧内预测模式(块单元垂直的情况下为左、上、左下、右上、左上;块单元水平的情况下为上、左、左下、右上、左上)、与预设相邻块的前两个可用方向模式添加偏移的方向模式,以及默认模式。但本发明对预设相邻块的定义不限于此。需要注意的是,本领域普通技术人员应该了解如何基于所采用的视频编码标准来构建MPM列表。因此,下文不再重复构建MPM列表的更多细节。
在一些实施例中,解码器模块124可以将MPM列表包括到候选列表中。
在一些实施方式中,解码器模块124可以将从生成的HoG列表和构造的MPM列表中所选择的至少一个角度模式包括到候选列表中。
在建立用于TIMD方法的候选列表之后,解码器模块124可以基于候选列表通过使用TIMD方法来确定帧内预测,其细节在下面的讨论中参考框620至680来描述。
在框620,解码器模块124可以确定与块单元相关联的模板区域。
参考以下图7描述为TIMD方法确定的模板区域。
图7示出了描述根据本公开的示例实施方式的TIMD方法的示意图。
块单元BU的模板区域和多个参考样本如图7所示。具体地,块单元BU具有宽度W和高度H,块单元BU的模板区域包括与块单元BU左邻的第一重构块R4和与块单元BU上邻的第二重构块R5。
在一些实施方式中,第一重构块R4的宽度与第二重构块R5的高度相同。例如,第一重构块R4的宽度和第二重构块R5的高度为L。
在一些实施方式中,L的值可以与块单元BU的大小相关联。例如,当块单元的块大小小于16*16的情况下,L的值可以等于2;当块单元的块大小大于或等于16*16的情况下,L的取值可以等于4。但是,这里L的取值不限于此。
返回参照图6,在确定模板区域之后,在框630处,解码器模块124可以基于模板区域分别计算候选列表内的多个候选模式的多个模板成本。
具体来说,解码器模块124可以生成与候选列表内的多个候选模式相对应的模板区域的多个预测,并且可以基于模板区域的模板重构计算多个预测的多个模板成本。因此,候选列表内的多个候选模式中的每一个可以对应于多个模板成本中的一个。
需要注意的是,模板区域的模板重构可以称为模板区域中的重构样本,并且模板成本可以是例如模板区域的预测与模板区域的模板重构之间的绝对差之和(absolutedifference,SAD)或绝对变换差之和。
为了生成模板区域的预测,可能需要模板区域的多个参考样本。
参考图7,多个参考样本可以组成与第一重构块R4左邻的第一参考线L1和与第二重构块R5上邻的第二参考线L2。第一参考线L1的长度可以是2*(L+H)+1,第二参考线L2的长度可以是2*(L+W)+1。
解码器模块124可通过使用候选列表的第n个候选模式基于模板区域的多个参考样本来生成模板区域的第n个预测,并基于模板区域的模板重构计算第n个预测的第n个模板成本;利用候选列表中的第(n+1)个候选模式,基于模板区域的多个参考样本生成模板区域的第(n+1)个预测,并基于模板区域的模板重构计算第(n+1)个预测的第(n+1)个模板成本;等等。这样,可以获得与候选列表内的多个候选模式相对应的多个模板成本。
在一些实施方式中,解码器模块124可以选择候选列表内的具有最小模板成本的多个候选模式之一作为最终预测器,并且通过使用最终预测器(例如,选定的候选模式)确定快单元的帧内预测结果。
返回参照图6,在一些实施方式中,在框640处,解码器模块124可以在选列表中,选择所述多个候选模式中对应于最小模板成本的第一候选模式,以及在选列表中,并选择所述多个候选模式中对应于第二最小模板成本的第二候选模式。然后,解码器模块124可以基于第一候选模式和第二候选模式来确定最终预测。
具体地,在选择具有最小模板成本的第一候选模式和具有第二最小模板成本的第二候选模式之后,在框650处,解码器模块124可以确定第二最小模板成本是否小于最小模板成本的两倍。
在第二最小模板成本不小于(例如,大于或等于)最小模板成本的两倍的情况下,可以进入框660。在框660处,解码器模块124可以基于与最小模板成本相对应的第一候选模式来确定最终预测。例如,解码器模块124可以通过使用第一候选模式来确定最终预测。
在第二最小模板成本小于最小模板成本的两倍的情况下,可以进入框670。在框670处,解码器模块124可基于第一候选模式和第二候选模式来确定最终预测。具体地,解码器单元124可以通过计算基于第一候选模式确定的预测和基于第二候选模式确定的另一预测的加权平均来确定最终预测,其中权重与对应的模板成本成比例。例如,当第一候选模式CM1对应的最小模板成本为TC1,第二候选模式CM2对应的第二最小模板成本为TC2时,第一候选模式CM1的权重可以为则第二候选模式CM2的权重可以为/>在这种情况下,解码器模块124可以基于第一候选模式CM1确定第一预测P1,基于第二候选模式CM2确定第二预测P2,并且确定最终预测为/>
在确定最终预测之后,在框680处,解码器模块124可以通过使用最终预测来确定块单元的帧内预测结果。例如,解码器模块124可以将帧内预测结果确定为最终预测。
DIMD融合法
在一些实施方式中,帧内预测方法可以包括融合方法。
在一些实施方式中,可以使用标志来指示通过使用融合方法来预测块单元(例如,当前块)。
具体地,可以采用融合的方法进行帧内预测,以获得帧内预测结果。更具体地说,融合方法可基于通过使用不同帧内预测模式执行的块单元的多个预测来生成块单元的帧内预测,并且基于多个预测来确定帧内预测结果。
在一些实施方式中,采用DIMD模式、TIMD模式、平面模式、线性模型模式、DC模式和角度模式中的至少两个帧内预测模式分别对块单元进行帧内预测,并生成多个预测中的至少两个。
在一些实施方式中,可以对多个预测进行平均以确定帧内预测结果。在一些实施方式中,可以使用加权平均来计算多个预测以确定帧内预测结果。每个预测的权重可以与例如所使用的模式、对应的模板成本等相关联。但是需要说明的是,融合方法中多个预测的权重的确定不限于本公开这样的方式。
例如,解码器模块124可通过使用第一帧内预测模式或方法确定第一预测,通过使用第二帧内预测模式或方法确定第二预测,并基于第一预测和第二预测确定帧内预测结果。例如,可以通过计算第一预测和第二预测的平均值或加权平均值(例如,融合)来确定帧内预测结果。
本公开对融合方法中使用的多个预测的数量不做限制。在其他实施方式中,融合方法中使用的多个预测的数量可以是三个、四个或更多。
图8A示出了根据本公开的实施方式的用于对块单元执行帧内预测的融合方法的流程图。
可以使用图1和图2中所示的配置来执行融合方法800,并且这些图的各个元件是关于融合方法800而引用的。图8A中的每个框可以表示所执行的一个或多个过程、方法或子例程。
图8A中的框的顺序仅是说明性的并且可以改变。在不脱离本公开的情况下,可以添加附加的框,或者可以使用更少的框。
注意,在一些实施方式中,融合方法中使用的多个预测之一是基于DIMD方法(例如,通过使用DIMD模式)来确定的。在这种情况下,该融合方法在本公开中也可以被称为DIMD融合方法。
在框810,解码器模块124可以基于DIMD模式确定块单元的第一帧内预测。DIMD模式的细节已在前面的段落中描述过,在此不再重复。
在框820,解码器单元124可基于除了DIMD模式之外的帧内预测模式来确定块单元的第二帧内预测。
在一些实施方式中,除了DIMD模式之外的帧内预测模式可以包括TIMD模式。
在一些实施方式中,除了DIMD模式之外的帧内预测模式可以包括不同于DIMD模式的平面模式、线性模型模式、DC模式或角度模式不同模式中的至少一种。具体地,可以选择第一角度模式来通过执行DIMD方法来确定块单元的第一帧内预测。在DIMD融合方法中使用的另一帧内预测模式也是角度模式的情况下,该另一帧内预测模式可以是与第一角度模式不同的第二角度模式。
在框830,解码器模块124可以基于第一帧内预测和第二帧内预测来生成第三帧内预测。第三帧内预测可以例如被解码器模块124认为是块单元的帧内预测结果。
图8B示出了根据本公开的实施方式的用于对块单元执行帧内预测的融合方法的流程图。
可以使用图1和图2中所示的配置来执行融合方法800',并且这些图的各个元素是关于融合方法800而引用的。图8B所示的每个框可以表示所执行的一个或多个过程、方法或子例程。
图8B中的框的顺序仅是说明性的并且可以改变。在不脱离本公开的情况下,可以添加附加的框,或者可以使用更少的框。
注意,在一些实施方式中,融合方法中使用的多个预测中的一个是基于TIMD方法(例如,通过使用TIMD模式)确定的。此时,该融合方法在本发明中也可以称为TIMD融合方法。
在块810',解码器模块124可以基于TIMD模式确定块单元的第一帧内预测。TIMD模式的细节已经在前面的段落中描述过,在此不再重复。
在块820',解码器单元124可以基于除了TIMD模式之外的帧内预测模式来确定块单元的第二帧内预测。
在一些实施方式中,除了TIMD模式之外的帧内预测模式可以包括DIMD模式。
在一些实施方式中,除了TIMD模式之外的帧内预测模式可以包括与TIMD模式不同的平面模式、线性模型模式、DC模式或角度模式不同模式中的至少一种。
在框830',解码器模块124可以基于第一帧内预测和第二帧内预测来生成第三帧内预测。第三帧内预测可以例如被解码器模块124认为是块单元的帧内预测结果。
在一些实施方式中,图8A或图8B描述的第三帧内预测可以是第一帧内预测和第二帧内预测的平均值。
在一些实现方式中,参见图8A或图8A描述的第三帧内预测可以是第一帧内预测和第二帧内预测的加权平均。具体地,第一帧内预测对应于第一权重,第二帧内预测对应于第二权重。第三帧内预测可以是基于第一权重和第二权重的第一帧内预测和第二帧内预测的加权平均。
在一些实现方式中,每个预测(例如,第一帧内预测和第二帧内预测)的权重(例如,第一权重和第二权重)可以例如在解码器侧和编码器侧被设置为默认值。
在一些实现方式中,每个预测(例如,第一帧内预测和第二帧内预测)的权重(例如,第一权重和第二权重)可以被确定例如与所使用的模式、对应的模板成本等相关联。但需要说明的是,本公开并不对融合方法中多个预测的权重的确定进行限定。
基于上述的帧内预测方法,可以实现更好的预测,从而可以提高编码效率。
至少一个标志来指示如何对块单元(例如,当前块)执行帧内预测。例如,至少一个标志可以指示用于执行帧内预测的特定模式、特定方法或特定分类中的至少之一。通过解码至少一个标志,解码器单元124可相应地执行帧内预测。
在一些实施方式中,至少一个标志可以包括DIMD标志。DIMD标志可以用于指示是否基于DIMD方法执行块单元的帧内预测。
在一些实施方式中,至少一个标志可以包括TIMD标志。TIMD标志可以用于指示是否基于TIMD方法来执行块单元的帧内预测。
在一些实施方式中,至少一个标志可以包括融合标志。融合标志可以用于指示是否基于融合方法来执行块单元的帧内预测。
控制方式
预测工具可以分为两类,包括第一类和第二类。本公开中引入了至少一个标志,用于通过指示分类之一来有效地用信号通知预测工具。
在一些实施方式中,模板匹配(TM匹配)的使用可以是分类的标准。例如,第一分类可以包括依赖于TM匹配的预测工具,第二分类可以包括不依赖于TM匹配的预测工具。TM匹配可以例如指包括定义重构模板区域、确定模板区域的预测、以及基于模板区域的预测和模板区域的重构来确定模板区域的模板成本的过程。
在一些实施方式中,块单元的(重构的)模板区域是否被用于推导用于在编码器侧和解码器侧预测块单元的预测工具(模式)可以是分类的标准。例如,第一分类可以包括基于编码器侧和解码器侧的模板区域导出的预测工具(模式),并且第二分类可以包括不基于模板区域导出的预测工具(模式)。
在一些实施方式中,第一标志可以用于选择两个分类中的一个。在一些实施方式中,第二标志还可用于指示所选择的分类的特定预测工具。
在一些实现中,无论第一标志的值如何,都可以始终使用第二标志。
在一些实施方式中,仅当第一标志选择特定分类时才可以使用第二标志。例如,在第一标志被设置为真的情况下可以使用(例如,解析)第二标志,并且在第一标志被设置为假的情况下可以不使用(例如,解析)第二标志。
在一些实施方式中,预测工具可以是帧间预测工具。帧间预测工具的第一分类可以包括例如依赖于TM匹配的帧间预测工具,例如模板高级运动矢量预测(Template-Advance Motion Vector Prediction,TM-AMVP),模板合并(Template-merge,TM-Merge),模板几何预测模式(Template-Geometric Prediction Mode,TM-GPM),一种结合帧间和帧内预测的模板(Template Combined Inter and Intra Prediction,TM-CIIP),具有运动矢量差值的模板合并模式(Template-Merge mode with Motion Vector Difference,TM-MMVD)和合并候选的自适应重新排序(Adaptive Reordering of Merge Candidates,ARMC)。帧间预测工具的第二分类可以包括例如不依赖于TM匹配的帧间预测工具,例如高级运动矢量预测(Advance Motion Vector Prediction,AMVP)、合并模式、几何预测模式(Geometric Prediction Mode,GPM)、组合帧间预测和帧内预测(Combined Inter andIntra Prediction,CIIP),以及运动矢量差模式(Mode with Motion Vector Difference,MMVD)。
在一些实施方式中,第一标志可以用于指示是否使用第一分类中的帧间预测工具来执行帧间预测。例如,在第一标志被设置为真的情况下,可以基于第一分类的帧间预测工具之一(例如,使用模板匹配)来执行帧间预测。在第一标志被设置为假的情况下,基于第二分类的帧间预测工具之一(例如,不使用模板匹配)来执行帧间预测。
在一些实施方式中,除了第一标志之外还可以使用第二标志。第二标志可以用于具体指示第一标志所选择的分类的帧间预测工具。例如,在通过第一标志选择第一分类的情况下,第二标志可以指示TM-AMVP。例如,第二标志可以指示在第一标志选择第二分类的情况下的AMVP。
在一些实施方式中,预测工具可以是帧内预测工具。帧内预测工具的第一分类可以包括例如由编码器侧和解码器侧上的(重构的)模板区域导出的帧内预测模式,例如DIMD模式和TIMD模式。帧内预测工具的第二分类可以包括例如不是由模板区域导出的帧内预测模式,诸如平面模式、线性模型模式、DC模式和角度模式。
在一些实施方式中,第一标志可以用于指示是否使用第一分类中的帧内预测工具来执行帧内预测。例如,第一标志可以指示DIMD模式或TIMD模式中的至少一个是否用于执行帧内预测。当第一标志设置为真时,基于DIMD模式或TIMD模式进行块单元(例如当前块)的帧内预测。在第一标志被设置为假的情况下,不基于DIMD模式或TIMD模式执行块单元的帧内预测。
在一些实施方式中,在第一标志设置为真的情况下,除了第一标志之外还可以使用第二标志。第二标志可以用于具体指示第一标志选择的第一分类的帧内预测模式。例如,第二标志可以指示是基于DIMD模式还是基于TIMD模式来执行帧内预测。
在一些实施方式中,仅当第一标志设置为真时才使用(例如,解析)第二标志。例如,仅当第一标志指示基于DIMD模式或TIMD模式执行块单元的帧内预测并且第二标志指示DIMD模式和TIMD模式中的特定一个时才使用(例如,解析)第二标志。
在一些实施方式中,上述标志可以存在于DCI/OPI/VPS/SPS/PPS/PH/SH/CTU或控制级别高于编码单元级别的其他报头中。
在一些实施方式中,上述第一标志可以是高级语法或者包括在高级语法结构中。在一些实施方式中,上述第二标志可以是低级语法或者包括在低级语法结构中。高级语法结构可以是例如DCI/OPI/VPS/SPS/PPS之一。低级语法结构可以是例如PH/SH/CTU/CU/PU之一。
图9是根据本申请的一个实施方式示出的图1所示的第一电子设备110的编码器模块114的方框图。编码器模块114可以包括预测处理器(例如,预测处理单元9141)、至少第一加法器(例如,第一加法器9142)和第二加法器(例如,第二加法器9145)、变换/量化处理器(例如,变换/量化单元9143)、逆量化/逆变换处理器(例如,逆量化/逆变换单元9144)、滤波器(例如,滤波单元9146)、解码图片缓冲器(例如,解码图片缓冲器9147)和熵编码器(例如,熵编码单元9148)。编码器模块114的预测处理单元9141还可以包括分区处理器(例如,分区单元91411)、帧内预测处理器(例如,帧内预测单元91412)和帧间预测处理器(例如,帧间预测单元91413)。
编码器模块114可以接收来源视频并对来源视频进行编码以输出比特流。编码器模块114可接收包括多个图像帧的来源视频,然后根据编码结构来划分多个图像帧。多个图像帧中的每个图像帧可以被划分为至少一个图像块。
至少一个图像块可包括具有多个亮度样本的亮度块和具有多个色度样本的至少一个色度块。亮度块和至少一个色度块可以被进一步划分以生成宏块、编码树单元(codingtree unit,CTU)、编码块(coding block,CB)、其细分和/或其他等效编码单元。
编码器模块114可以执行来源视频的附加细分。应当注意,所公开的实施方式通常适用于视频编码,而不管来源视频在编码之前和/或编码期间如何划分。
在编码处理期间,预测处理单元9141可接收多个图像帧中的特定图像帧的当前图像块。当前图像块可以是特定图像帧中的亮度块或多个色度块中的一个。
分区单元91411可以将当前图像块分割为多个块单元。帧内预测单元91412可以相对于与当前块单元在同一帧中的一个或多个相邻块来执行当前块单元的帧内预测编码,以便提供空间预测。帧间预测单元91413可以相对于一个或多个参考图像块中的一个或多个块执行当前块单元的帧间预测编码以提供时间预测。
预测处理单元9141可基于诸如成本函数的模式选择方法来选择由帧内预测单元91412和帧间预测单元91413生成的多个编码结果中的一个。模式选择方法可以是速率失真优化(rate-distortion optimization,RDO)过程。
预测处理单元9141可确定所选择的编码结果,并将与所选择的编码结果相对应的预测块提供给第一加法器9142以用于生成残差块并且提供给第二加法器9145以用于重构编码块单元。预测处理单元9141还可向熵编码单元9148提供语法元素,例如运动向量、帧内模式指示符、分区信息和其他语法信息。
帧内预测单元91412可对当前块单元进行帧内预测。帧内预测单元91412可确定针对与当前块单元相邻的重构样本的帧内预测模式,以便对当前块单元进行编码。
帧内预测单元91412可使用各种帧内预测模式对当前块单元进行编码。预测处理单元9141的帧内预测单元91412可以从所选择的多个模式中选择适当的帧内预测模式。帧内预测单元91412可使用交叉分量预测模式对当前块单元进行编码,以基于当前块单元的多个亮度分量来预测当前块单元的两个色度分量中的一个。帧内预测单元91412可基于当前块单元的两个色度分量中的第二个来预测当前块单元的两个色度分量中的第一个。
作为帧内预测单元91412执行的帧内预测的替代,帧间预测单元91413可以对当前块单元进行帧间预测。帧间预测单元91413可以执行运动估计以估计当前块单元的运动,以生成运动向量。
运动向量可以指示当前图像块内的当前块单元相对于参考图像块内的参考块单元的位移。帧间预测单元91413可接收解码图片缓冲器9147中存储的至少一个参考图像块,并基于接收到的参考图像块估计运动以生成运动向量。
第一加法器9142可通过从原始当前块单元减去由预测处理单元9141确定的预测块来产生残差块。第一加法器9142可以表示执行该减法的一个或多个元件。
变换/量化单元9143可对残差块应用变换,以便产生残差变换系数,然后量化残差变换系数以进一步降低比特率。该变换可以是DCT、DST、AMT、MDNSST、HyGT、信号依赖的变换、KLT、小波变换、整数变换、子带变换或概念上类似的变换之一。
变换可以将残差信息从像素值域转换到变换域,例如频域。可以通过调整量化参数来修改量化程度。
变换/量化单元9143可以执行包括量化的变换系数的矩阵的扫描。或者,熵编码单元9148可以执行扫描。
熵编码单元9148可从预测处理单元9141和变换/量化单元9143接收多个语法元素,包括量化参数、变换数据、运动向量、帧内模式、分区信息和其他语法信息。熵编码单元9148可将语法元素编码到比特流中。
熵编码单元9148可通过执行CAVLC、CABAC、SBAC、PIPE编码或另一熵编码技术来对量化的变换系数进行熵编码以生成编码比特流。编码比特流可以被发送到另一设备(例如,图1中的第二电子设备120)或者被存档以供以后发送或检索。
逆量化/逆变换单元9144可应用逆量化和逆变换来重构像素域中的残差块以供稍后用作参考块。第二加法器9145可以将重构的残差块添加到从预测处理单元9141提供的预测块,以便产生用于存储在解码图片缓冲器9147中的重构块。
滤波单元9146可以包括解块滤波器、SAO滤波器、双边滤波器和/或ALF以从重构块去除块伪影。除了去块滤波器、SAO滤波器、双边滤波器和ALF之外,还可以使用额外的滤波器(环内或环后)。为了简洁起见,此类滤波器未示出并且可以对第二加法器9145的输出进行滤波。
解码图片缓冲器9147可以是存储参考块的参考图片存储器,以供编码器模块714使用以诸如在帧内或帧间编码模式中对视频进行编码。解码图片缓冲器9147可以包括各种存储器设备,例如DRAM(包括SDRAM、MRAM、RRAM)或其他类型的存储器设备。解码图片缓冲器9147可以与编码器模块114的其他元件一起在芯片上或者相对于那些元件在芯片外。
编码器模块114可接收视频数据并使用至少一个帧内预测模式或至少一个帧内预测方法来预测视频数据中的多个图像帧。在一些实施方式中,视频数据可以是视频,并且至少一个帧内预测模式或至少一个帧内预测方法可以由编码器模块114导出或者由至少一个标志和至少一个索引指示。
在一些实现方式中,编码器模块114可以通过使用图4、6、8A和8B所示的帧内预测方法400、600、800和800’来对块单元(例如,当前块)执行帧内预测以确定块单元的帧内预测结果。
编码器模块114还可基于块单元的帧内预测结果来重构块单元。
所公开的实施方式在所有方面都应被认为是说明性的而非限制性的。还应当理解,本申请不限于所公开的具体实施方式,以及在不脱离本申请的范围的情况下,许多重新布置、修改和替换是可能的。

Claims (10)

1.一种由电子设备解码视频数据的方法,该方法包括:
接收所述视频数据;
从所述视频数据的图像帧中确定块单元;
通过将所述块单元的最可能模式MPM列表和所述块单元的梯度直方图HoG列表中的至少一种角度模式包含到候选列表中,为基于模板的帧内模式推导TIMD方法建立所述候选列表;
基于所述候选列表采用所述TIMD方法确定帧内预测;及
基于所述帧内预测重构所述块单元。
2.根据权利要求1所述的方法,其特征在于,所述基于所述候选列表采用所述TIMD方法确定帧内预测包括:
确定与所述块单元相关联的模板区域,所述模板区域包括与所述块单元左邻的第一重构块和与所述块单元上邻的第二重构块;
基于所述模板区域分别计算所述候选列表中的多个候选模式的多个模板成本;
选择所述多个候选模式中对应于最小模板成本的第一候选模式以及选择所述多个候选模式中对应于第二最小模板成本的第二候选模式;及
基于所述第一候选模式和所述第二候选模式确定所述帧内预测。
3.根据权利要求2所述的方法,其特征在于,所述基于所述模板区域分别计算所述候选列表中的多个候选模式的多个模板成本包括:
基于所述模板区域的多个参考样本生成所述模板区域的多个预测,所述多个预测对应于所述候选列表的所述多个候选模式;
计算所述多个预测中的每一个与所述模板区域的模板重构之间的多个差;及
基于所述多个差确定所述候选列表的所述多个候选模式的所述多个模板成本。
4.根据权利要求3所述的方法,其特征在于,所述多个模板成本中的每一个包括绝对差之和SAD或绝对变换差之和SATD中的至少一者。
5.根据权利要求2所述的方法,其特征在于,所述基于所述第一候选模式和所述第二候选模式确定所述帧内预测包括:
判断所述第二最小模板成本是否小于所述最小模板成本的两倍;
在所述第二最小模板成本小于所述最小模板成本两倍的时,基于所述第一候选模式确定所述帧内预测;及
在所述第二最小模板成本不小于所述最小模板成本的两倍时,基于所述第一候选模式、所述第二候选模式、所述最小模板成本和所述第二最小模板成本确定所述帧内预测。
6.根据权利要求1所述的方法,其特征在于,还包括:
基于所述块单元的模板区域生成所述HoG列表。
7.根据权利要求6所述的方法,其特征在于,所述块单元的所述模板区域包括与所述块单元的左侧相邻的第一重构区域、与所述块单元的上侧相邻的第二重构区域、以及连接所述第一重构区域和所述第二重构区域的第三重构区域。
8.根据权利要求6所述的方法,其特征在于,所述基于所述块单元的模板区域生成所述HoG列表包括:
通过对所述模板区域中的多个位置中的每一个应用滤波器,计算多个模板角度以及与所述多个模板角度对应的多个模板幅度,其中所述多个模板角度中的每一个对应于所述多个角度模式中的一个。
9.根据权利要求8所述的方法,其特征在于,所述候选列表中包括的所述至少一个角度模式具有所述块单元的所述HoG列表中的至少一个最大模板幅度。
10.一种用于对视频数据进行解码的电子设备,其特征在于,所述电子设备包括:
至少一个处理器;及
至少一个存储设备,所述至少一个存储设耦合到所述至少一个处理器并存储多个指令,当所述多个指令由所述至少一个处理器执行时,使得所述电子设备执行根据权利要求1至9中任一项所述的方法。
CN202280060708.9A 2021-09-13 2022-09-13 用于视频编码中的帧内预测的设备和方法 Pending CN117941350A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163243580P 2021-09-13 2021-09-13
US63/243580 2021-09-13
PCT/CN2022/118471 WO2023036341A1 (en) 2021-09-13 2022-09-13 Device and method for intra predictions in video coding

Publications (1)

Publication Number Publication Date
CN117941350A true CN117941350A (zh) 2024-04-26

Family

ID=85506160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280060708.9A Pending CN117941350A (zh) 2021-09-13 2022-09-13 用于视频编码中的帧内预测的设备和方法

Country Status (3)

Country Link
US (1) US20230090700A1 (zh)
CN (1) CN117941350A (zh)
WO (1) WO2023036341A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3453174A1 (en) * 2016-05-06 2019-03-13 VID SCALE, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
US10397569B2 (en) * 2016-06-03 2019-08-27 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
KR20210131425A (ko) * 2019-03-22 2021-11-02 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 모드 후보 리스트를 사용하는 영상 디코딩 방법 및 그 장치
KR20230111255A (ko) * 2020-12-03 2023-07-25 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 인트라 프레임 예측 방법, 장치 및 디코더와 인코더
US20230049154A1 (en) * 2021-08-02 2023-02-16 Tencent America LLC Method and apparatus for improved intra prediction

Also Published As

Publication number Publication date
WO2023036341A1 (en) 2023-03-16
US20230090700A1 (en) 2023-03-23

Similar Documents

Publication Publication Date Title
KR102585855B1 (ko) 비디오 데이터를 코딩하기 위한 디바이스 및 방법
WO2019210840A1 (en) Device and method for coding video data based on different reference sets in linear model prediction
CN111903130A (zh) 在多参考列预测中编码视频数据的设备及方法
CN111316640B (zh) 基于调整的帧内模式列表以编码视频数据的设备及方法
EP3815367B1 (en) Device and method for decoding video data based on one or more reference lines
US10924733B2 (en) Device and method for coding video data based on mode list including different mode groups
US20220345700A1 (en) Device and method for coding video data
CN115380529A (zh) 用于编码视频数据的设备和方法
WO2023036341A1 (en) Device and method for intra predictions in video coding
CN114902663A (zh) 用于编码视频数据的设备和方法
JP7429297B2 (ja) ビデオデータをコーディングするためのデバイス及び方法
TWI829210B (zh) 用於編碼視訊資料的裝置和方法
US20230217019A1 (en) Device and method for decoding video data
WO2022268198A1 (en) Device and method for coding video data
US11272199B2 (en) Device and method for coding video data
US20230336711A1 (en) Method for determining specific linear model and video processing device
WO2022095918A1 (en) Device and method for coding video data
CN117880515A (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