CN110248187A - 用于视频压缩中的方向性帧内预测的方法和设备 - Google Patents

用于视频压缩中的方向性帧内预测的方法和设备 Download PDF

Info

Publication number
CN110248187A
CN110248187A CN201910175862.0A CN201910175862A CN110248187A CN 110248187 A CN110248187 A CN 110248187A CN 201910175862 A CN201910175862 A CN 201910175862A CN 110248187 A CN110248187 A CN 110248187A
Authority
CN
China
Prior art keywords
mpm
intra prediction
mode
current block
prediction mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910175862.0A
Other languages
English (en)
Other versions
CN110248187B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of CN110248187A publication Critical patent/CN110248187A/zh
Application granted granted Critical
Publication of CN110248187B publication Critical patent/CN110248187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

本申请实施例提供了一种用于控制用于视频序列的解码的帧内和/或帧间预测的方法和设备。所述方法包含确定当前块的帧内预测模式的总数、所述当前块中的最可能模式(MPM)的数量以及所述当前块中的非MPM的数量,其中所述当前块的帧内预测模式的所述总数等于所述当前块中的所述MPM的数量与所述当前块中的所述非MPM的数量的总和。所述方法还包含将帧内预测模式的所述总数调整为一个值,使得所述非MPM的数量是2的幂或多个2的幂的总和。

Description

用于视频压缩中的方向性帧内预测的方法和设备
相关申请的交叉引用
本申请要求2018年3月8日在美国专利商标局提交的美国临时专利申请第62/640,544号以及2018年12月8日在美国专利商标局提交的美国专利申请16/223,872的优先权,所述美国临时专利申请和所述美国专利申请通过引用整体并入本文。
技术领域
本申请涉及视频处理技术,且更具体地,涉及用于视频压缩中的方向性帧内预测的方法和设备。
背景技术
视频译码标准HEVC(高效视频译码)主要配置文件于2013年完成。不久之后,国际标准组织ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)开始探索开发未来视频译码标准的需求,并有可能显著提高与当前HEVC标准(包含其当前扩展)相比的压缩能力。这些小组正在通过联合视频开发小组(JVET)的联合合作努力开展这项开发活动,以评估其专家在该领域提出的压缩技术设计。JVET已开发了一种联合开发模型(JEM),用于开发超出HEVC能力的视频译码技术,且目前最新版本的JEM是JEM-7.1。
以下部分描述了现有HEVC标准和JEM开发中的帧内预测机制,描述了JEM中的帧内预测模式译码方法。
HEVC和JEM中使用的帧内预测模式在图1A和1B中示出。为了捕获自然视频中呈现的任意边缘方向,方向性帧内模式的数量从HEVC中使用的33扩展到65。如图1A和1B所示,所有方向沿对角线方向、垂直方向和水平方向对称。如图1A所示,HEVC中存在35种帧内预测模式。在HEVC中,模式10是水平模式,模式26是垂直模式,且模式2、模式18和模式34是对角线模式。如图1B所示,JEM中有67种帧内预测模式。HEVC上的JEM中的附加方向性模式在图1B中被描绘为灰色虚线箭头,且平面和DC模式保持不变。这些更密集的方向性帧内预测模式适用于所有块大小以及亮度和色度帧内预测。在JEM中,模式18是水平模式,模式50是垂直模式,且模式2、模式34和模式66是对角线模式。如图1B中所示,模式2~模式18被称为区域1模式,模式18~模式33被称为区域2模式,模式34~模式50被称为区域3模式,且模式50~模式66被称为区域4模式。区域1和区域2一起称为模式集0,且区域3和区域4一起称为模式集1。
为了适应增加数量的方向性帧内模式,使用具有6种最可能模式(MPM)的帧内模式译码方法。涉及两个主要技术方面:1)6个MPM的导出,以及2)6个MPM和非MPM模式的熵译码。
在JEM中,MPM列表中包含的模式分为三组:相邻者帧内模式,导出的帧内模式,和默认帧内模式。
五个相邻帧内预测模式用于形成MPM列表。5个相邻块的那些位置与合并模式中使用的那些位置相同,即左(L)、上(A)、左下(BL)、右上(AR)和左上(AL),如图1C所示。通过将5个相邻者帧内模式以及平面和DC模式插入MPM列表来形成初始MPM列表。修剪过程用于移除重复模式,以便只有唯一模式可以包含在MPM列表中。包含初始模式的顺序是:左,上,平面,DC,左下,右上,然后左上。
如果MPM列表未满(即,列表中少于6个MPM候选者),则添加导出模式;通过将-1或+1加到已包含在MPM列表中的角度模式来获得这些帧内模式。这种额外的导出模式不是从非角度模式(DC或平面)产生的。最后,如果MPM列表仍未满,则按以下顺序添加默认模式:垂直,水平,模式2和对角线模式。作为此过程的结果,产生6个MPM模式的唯一列表。
对于使用6个MPM对所选模式进行熵译码,使用截断的一元二进制化。前三个二进位用上下文译码,所述上下文取决于与当前用信号表示的二进位相关的MPM模式。MPM模式分为三个类别中的一个:(a)主要是水平的模式(即,MPM模式数量小于或等于对角线方向的模式数量),(b)主要是垂直的模式(即,MPM模式大于对角线方向的模式数量),和(c)非角度(DC和平面)类。因此,基于此分类,使用三个上下文来用信号表示MPM索引。
用于选择剩余的61个非MPM的译码如下完成。61个非MPM首先分为两个集合:选定模式集合和非选定模式集合。选定模式集合含有16种模式,且其余模式(45种模式)分配给未选定模式集合。当前模式所属的模式集合在带有旗标的位流中指示。如果要指示的模式在选定模式集合内,则使用4位固定长度码用信号表示选定模式,并且如果要指示的模式来自未选定模式,则用截断的二进制码来用信号表示选定模式。
在JEM中,非MPM帧内预测模式数目不是2的幂。结果,非MPM模式不能用固定长度码直接译码,这使得非MPM模式译码的设计复杂化。
在HEVC或JEM中,MPM的数量始终是固定的,这可以改进以获得更好的灵活性。
在HEVC和JEM中的当前帧内预测设计中,帧内预测参考样本不是对称地使用的,即,仅使用左侧和顶部参考样本但是由于不可用而不使用右侧和底部样本,然而,帧内预测方向仍然是对称分布的,且这可能不是最佳的。
对于矩形块,其宽度不等于高度。因此,矩形块使用与正方形块相同的预测模式不是最佳的。
发明内容
根据实施例,一种控制用于视频序列的解码的帧内预测的方法由至少一个处理器执行,并且包含确定当前块的帧内预测模式的总数、所述当前块中的最可能模式(MPM)的数量以及所述当前块中的非MPM的数量,其中所述当前块的帧内预测模式的所述总数等于所述当前块中的所述MPM的数量与所述当前块中的所述非MPM的数量的总和。所述方法还包含将帧内预测模式的所述总数调整为一个值,使得所述非MPM的数量是2的幂或多个2的幂的总和。
根据实施例,一种用于控制用于视频序列的解码的帧内预测的设备包含:至少一个存储器,被配置成存储计算机程序代码;以及至少一个处理器,被配置成存取所述至少一个存储器并根据所述计算机程序代码进行操作。所述计算机程序代码包含:第一确定代码,被配置成使所述至少一个处理器确定当前块的帧内预测模式的总数、所述当前块中的最可能模式(MPM)的数量以及所述当前块中的非MPM的数量,其中所述当前块的帧内预测模式的所述总数等于所述当前块中的所述MPM的数量与所述当前块中的所述非MPM的数量的总和。所述计算机程序代码还包含:第一调整代码,被配置成使所述至少一个处理器将帧内预测模式的所述总数调整为一个值,使得所述非MPM的数量是2的幂或多个2的幂的总和。
根据实施例,一种存储指令的非易失性计算机可读存储介质,所述指令使处理器:确定当前块的帧内预测模式的总数、所述当前块中的最可能模式(MPM)的数量以及所述当前块中的非MPM的数量,其中所述当前块的帧内预测模式的所述总数等于所述当前块中的所述MPM的数量与所述当前块中的所述非MPM的数量的总和。所述指令还使所述处理器:将帧内预测模式的所述总数调整为一个值,使得所述非MPM的数量是2的幂或多个2的幂的总和。
附图说明
根据以下详细描述和附图,所公开的主题的其它特征、性质和各种优点将更加明显,其中:
图1A是HEVC中的35种帧内预测模式的图;
图1B是JEM中的67个帧内预测模式的图;
图1C示出了用于MPM导出的相邻块;
图2是根据实施例的通信系统的简化框图;
图3是根据实施例的视频编码器和视频解码器在流式传输环境中的放置的图;
图4是根据实施例的视频解码器的功能框图;
图5是根据实施例的视频编码器的功能框图;
图6是示出根据实施例的控制用于视频序列的解码的帧内和/或帧间预测的方法的流程图;
图7是示出根据实施例的非对称帧内角度预测模式的示例的图;
图8是示出根据另一实施例的非对称帧内角度预测模式的示例的图;
图9A、9B和9C是示出根据另一实施例的矩形块的帧内预测模式的示例的图;
图10是示出从模式集合0中移除的12种模式的图,并且添加了12种新模式;
图11是示出合并对角线模式的图;以及
图12是适合于实施实施例的计算机系统的图。
具体实施方式
实施例涉及超出HEVC的下一代视频译码技术。更具体地,描述了对方向性帧内预测的改进。
本文描述的方法可以单独使用或以任何顺序组合。
图2示出了根据本公开的实施例的通信系统(200)的简化框图。通信系统(200)可以包含经由网络(250)互连的至少两个终端(210-220)。对于数据的单向传输,第一终端(210)可以在本地位置对视频数据进行译码,以经由网络(250)传输到另一终端(220)。第二终端(220)可以从网络(250)接收另一终端的译码视频数据,对译码数据进行解码并显示恢复的视频数据。单向数据传输在媒体服务应用等中可能是常见的。
图2示出了被提供以支持译码视频的双向传输的第二对终端(230,240),其可以例如在视频会议期间发生。对于数据的双向传输,每个终端(230,240)可以对在本地位置捕获的视频数据进行译码,以便经由网络(250)传输到另一个终端。每个终端(230,240)还可以接收由另一个终端传输的译码视频数据,可以对译码数据进行解码,并且可以在本地显示装置处显示恢复的视频数据。
在图2中,终端(210-240)可以被示为服务器、个人计算机和智能电话,但是本公开的原理不限于此。本公开的实施例可以应用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议装置。网络(250)表示在终端(210-240)之间传送译码视频数据的任何数量的网络,包含例如有线和/或无线通信网络。通信网络(250)可以在电路交换和/或分组交换信道中交换数据。代表性网络包含电信网络、局域网、广域网和/或因特网。出于本讨论的目的,除非在下文中解释,否则网络(250)的架构和拓扑对于本公开的操作可能是无关紧要的。
作为用于所公开主题的应用的示例,图3示出了视频编码器和解码器在流式传输环境中的放置。所公开的主题可以同样适用于其它支持视频的应用,包含例如视频会议、数字电视、在包含CD、DVD、记忆棒等的数字媒体上的压缩视频的存储等等。
流式传输系统可以包含捕获子系统(313),其可以包含视频源(301),例如数字相机,从而创建例如未压缩的视频样本流(302)。当与已编码视频位流相比时,被描绘为粗线以强调高数据量的所述样本流(302)可以由耦合到相机301的编码器(303)处理。编码器(303)可以包含硬件、软件或其组合,以实现或实施所公开的主题的各方面,如下面更详细描述。当与样本流相较时,被描绘为细线以强调较低数据量的已编码视频位流(304)可以存储在流式传输服务器(305)上以供将来使用。一个或多个流式传输客户端(306,308)可以访问流式传输服务器(305)以检索已编码视频位流(304)的副本(307,309)。客户端(306)可以包含视频解码器(310),其解码已编码视频位流(307)的传入副本并创建可以在显示器(312)或其它呈现装置(未描绘)上呈现的传出视频样本流(311)。在一些流式传输系统中,可以根据某些视频译码/压缩标准对视频位流(304,307,309)进行编码。这些标准的示例包含ITU-T H.265建议书。正在开发的是一种非正式称为通用视频译码(VVC)的视频译码标准。所公开的主题可以在VVC的背景下使用。
图4可以是根据实施例的视频解码器(310)的功能框图。
接收器(410)可以接收要由解码器(310)解码的一个或多个编解码器视频序列;在相同或另一实施例中,一次一个译码视频序列,其中每个译码视频序列的解码独立于其它译码视频序列。可以从信道(412)接收译码视频序列,信道(412)可以是到存储已编码视频数据的存储装置的硬件/软件链接。接收器(410)可以接收已编码视频数据和其它数据,例如,已译码音频数据和/或辅助数据流,其可以被转发到它们响应的使用实体(未示出)。接收器(410)可以将译码视频序列与其它数据分离。为了对抗网络抖动,缓冲存储器(415)可以耦合在接收器(410)和熵解码器/解析器(420)(此后为“解析器”)之间。当接收器(410)从具有足够带宽和可控性的存储/转发装置接收数据时,或者从等时同步网络接收数据时,缓冲器(415)可以不需要,或者可以是小的。为了在诸如因特网的尽力而为的分组网络上使用,缓冲器(415)可能是需要的,可以相对较大并且可以有利地具有自适应大小。
视频解码器(310)可包含解析器(420)以从熵译码视频序列重建符号(421)。这些符号的类别包含用于管理解码器(310)的操作的信息,以及潜在地包含用于控制诸如显示器(312)之类的呈现装置的信息,所述呈现装置不是解码器的组成部分但可以与其耦合,如同如图4所示。用于呈现装置的控制信息可以是补充增强信息(SEI消息)或视频可用性信息(VUI)参数集片段(未示出)的形式。解析器(420)可以对所接收的译码视频序列进行解析/熵解码。译码视频序列的译码可以根据视频译码技术或标准,并且可以遵循本领域技术人员众所周知的原理,包含可变长度译码、霍夫曼译码、具有或不具有上下文灵敏度的算术译码等等。解析器(420)可以基于与所述组对应的至少一个参数,从译码视频序列中提取用于视频解码器中的至少一个像素子组的一组子组参数。子组可以包含图片组(GOP)、图片、图块、切片、宏块、译码单元(CU)、块、变换单元(TU)、预测单元(PU)等。熵解码器/解析器还可以从译码视频序列中提取诸如变换系数、量化器参数(QP)值、运动向量等的信息。
解析器(420)可以对从缓冲器(415)接收的视频序列执行熵解码/解析操作,从而创建符号(421)。解析器(420)可以接收已编码数据,并选择性地解码特定符号(421)。此外,解析器(420)可以确定是否要将特定符号(421)提供给运动补偿预测单元(453)、缩放器/逆变换单元(451)、帧内预测单元(452)或者环路滤波器(456)。
符号(421)的重建可以涉及多个不同的单元,这取决于译码视频图片或其部分(例如:帧间和帧内图片、帧间和帧内块)的类型以及其它因素。涉及哪些单元以及如何涉及可以通过解析器(420)从译码视频序列解析的子组控制信息来控制。为清楚起见,未示出解析器(420)与下面的多个单元之间的这种子组控制信息的流。
除了已经提到的功能块之外,解码器(310)可以在概念上被细分为如下所述的多个功能单元。在以商业约束操作的实际实施方案中,这些单元中的许多单元彼此紧密地相互作用并且可以至少部分地彼此集成。然而,为了描述所公开的主题,下面对功能单元的概念细分是合适的。
第一单元是缩放器/逆变换单元(451)。缩放器/逆变换单元(451)从解析器(420)接收量化的变换系数以及控制信息,包含使用哪个变换、块大小、量化因子、量化缩放矩阵等,作为符号(621)。它可以输出包括样本值的块,其可以输入到聚合器(455)中。
在一些情况下,缩放器/逆变换(451)的输出样本可以与帧内译码块有关;即:不使用来自先前重建的图片的预测信息的块,但是可以使用来自当前图片的先前重建的部分的预测信息。这种预测信息可以由帧内图片预测单元提供(452)。在一些情况下,帧内图片预测单元(452)使用从当前(部分重建的)图片(456)获取的周围已重建信息,产生具有在重建下的块的相同大小和形状的块。在一些情况下,聚合器(455)在每个样本的基础上将帧内预测单元(452)已经产生的预测信息添加到由缩放器/逆变换单元(451)提供的输出样本信息。
在其它情况下,缩放器/逆变换单元(451)的输出样本可以与帧间译码有关,并且可能是运动补偿块。在这种情况下,运动补偿预测单元(453)可以存取参考图片存储器(457)以获取用于预测的样本。在根据与块有关的符号(421)补偿所获取的样本之后,这些样本可以由聚合器(455)添加到缩放器/逆变换单元的输出(在这种情况下称为残余样本或残余信号)因此产生输出样本信息。运动补偿单元取出预测样本的参考图片存储器内的地址可以由运动向量控制,运动向量可以可具有例如X、Y和参考图片分量的符号(421)的形式供运动补偿单元使用。运动补偿还可以包含当使用子样本精确运动向量时从参考图片存储器取出的样本值的内插、运动向量预测机制等等。
聚合器(455)的输出样本可以在环路滤波器单元(456)中经历各种环路滤波技术。视频压缩技术可以包含环路内滤波器技术,其由包含在译码视频位流中的参数控制并且作为来自解析器(420)的符号(421)可用于环路滤波器单元(456),但是也可以响应于在译码图片或译码视频序列的先前(按解码顺序)部分的解码期间获得的元信息,以及响应于先前重建和循环滤波的样本值。
环路滤波器单元(456)的输出可以是样本流,其可以输出到呈现装置(312)以及存储在参考图片存储器(456)中以供将来的图片间预测使用。
一旦完全重建,某些译码图片就可以用作参考图片以用于将来预测。一旦完全重建了译码图片并且已经将译码图片识别为参考图片(例如,通过解析器(420)),则当前参考图片(656)可以成为参考图片缓冲器(457)的一部分,并且在开始重建随后的译码图片之前,可以重新分配新的当前图片存储器。
视频解码器(310)可以根据可以在标准中记录的预定视频压缩技术来执行解码操作,例如ITU-T建议书H.265。译码视频序列可以符合由所使用的视频压缩技术或标准指定的语法,在某种意义上它遵循如视频压缩技术文档或标准中所规定并且具体地在其中的简档文档中所规定的视频压缩技术或标准的语法。还必须遵守的可以是译码视频序列的复杂性在视频压缩技术或标准的等级所定义的界限内。在一些情况下,等级限制了最大图片大小、最大帧速率、最大重建采样率(例如,以每秒百万样本测量)、最大参考图片大小等等。在某些情况下,通过假设参考解码器(HRD)规范和用于在译码视频序列中用信号表示的HRD缓冲器管理的元数据,可以进一步限制由等级设置的限制。
在一个实施例中,接收器(410)可以利用已编码视频接收附加(冗余)数据。可以包含附加数据作为译码视频序列的一部分。视频解码器(310)可以使用附加数据来正确地解码数据和/或更准确地重建原始视频数据。附加数据可以是例如时间、空间或信噪比(SNR)增强层、冗余切片、冗余图片、前向纠错码等等的形式。
图6可以是根据本公开的实施例的视频编码器(303)的功能框图。
编码器(303)可以从视频源(301)(不是编码器的一部分)接收视频样本,所述视频源可以捕获要由编码器(303)译码的视频图像。
视频源(301)可以以数字视频样本流的形式提供将由编码器(303)译码的源视频序列,所述数字视频样本流可以具有任何合适的位深度(例如:8位,10位,12位,……)、任何颜色空间(例如,BT.601 Y CrCB,RGB,...)和任何合适的采样结构(例如Y CrCb 4:2:0,YCrCb 4:4:4)。在媒体服务系统中,视频源(301)可以是存储先前准备的视频的存储装置。在视频会议系统中,视频源(303)可以是将本地图片信息捕获为视频序列的相机。视频数据可以被提供为多个单独的图片,当按顺序观看时,这些图片赋予运动。图片本身可以被组织为像素的空间阵列,其中每个像素可以包括一个或多个样本,这取决于使用中的采样结构、颜色空间等。本领域技术人员可以容易地理解像素和样本之间的关系。以下描述侧重于样本。
根据实施例,编码器(303)可以将源视频序列的图片实时地或在应用所需的任何其它时间约束下译码和压缩成译码视频序列(543)。执行适当的译码速度是控制器(550)的一个功能。控制器控制如下所述的其它功能单元,并在功能上耦合到这些单元。为清楚起见未示出耦合。由控制器设置的参数可以包含速率控制相关参数(图片跳过、量化器、速率-失真优化技术的λ值,……)、图片大小、图片组(GOP)布局、最大运动向量搜索范围等等。本领域技术人员可以容易地识别控制器(550)的其它功能,因为它们可以与针对特定系统设计而优化的视频编码器(303)有关。
一些视频编码器以本领域技术人员容易认识到的“译码循环”操作。作为过于简化的描述,译码循环可以由以下部分组成:编码器(530)(此后为“源译码器”)的编码部分(负责基于要译码的输入图片和参考图片创建符号),以及嵌入在编码器(303)中的(本地)解码器(533),其重建符号以创建(远程)解码器也将创建的样本数据(因为符号和译码视频位流之间的任何压缩在所公开的主题中考虑的视频压缩技术中是无损的)。所述重建的样本流被输入到参考图片存储器(534)。由于符号流的解码导致与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲器内容在本地编码器和远程编码器之间也是位精确的。换句话说,编码器的预测部分“看到”作为参考图片样本是与解码器在解码期间使用预测时将“看到”的完全相同的样本值。参考图片同步性的基本原理(以及如果例如由于信道误差而不能保持同步性,则由此产生的漂移)对于本领域技术人员来说是众所周知的。
“本地”解码器(533)的操作可以与“远程”解码器(310)的操作相同,其已经在上面结合图4详细描述。然而,还简要地参考图5,当符号可用并且熵译码器(545)和解析器(420)对译码视频序列的符号编码/解码可以是无损的时,解码器(310)的熵解码部分,包含信道(412)、接收器(410)、缓冲器(415)和解析器(420),可以不在本地解码器(533)中完全实施。
此时可以进行的观察是除了解码器中存在的解析/熵解码之外的任何解码器技术也必须以基本相同的功能形式存在于对应的编码器中。编码器技术的描述可以简写,因为它们是综合描述的解码器技术的反转。仅在某些区域需要更详细的描述并在下面提供。
作为其操作的一部分,源译码器(530)可以执行运动补偿预测译码,其参考来自视频序列的被指定为“参考帧”的一个或多个先前译码的帧来预测性地译码输入帧。以这种方式,译码引擎(532)对输入帧的像素块和参考帧的像素块之间的差异进行译码,所述参考帧可以被选择作为输入帧的预测参考。
本地视频解码器(533)可以基于由源译码器(530)创建的符号来解码可以被指定为参考帧的帧的译码视频数据。译码引擎(532)的操作可以有利地是有损过程。当译码视频数据可以在视频解码器(图6中未示出)处解码时,重建的视频序列通常可以是具有一些错误的源视频序列的复制品。本地视频解码器(533)复制可由视频解码器在参考帧上执行的解码过程,并且可使重建的参考帧存储在参考图片高速缓冲存储器中(534)。以这种方式,编码器(303)可以在本地存储与将由远端视频解码器获得的重建参考帧具有共同内容的重建参考帧的副本(不存在传输错误)。
预测器(535)可以执行译码引擎(532)的预测搜索。也就是说,对于要译码的新帧,预测器(535)可以在参考图片存储器(534)中搜索样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动向量、块形状等等,可以作为新图片的适当预测参考。预测器(535)可以按样本块像素块的基础操作以找到适当的预测参考。在一些情况下,如由预测器(535)获得的搜索结果所确定,输入图片可具有从存储在参考图片存储器(534)中的多个参考图片绘制的预测参考。
控制器(550)可以管理视频译码器(530)的译码操作,包含例如用于对视频数据进行编码的参数和子组参数的设置。
可以在熵译码器(545)中对所有上述功能单元的输出进行熵译码。熵译码器通过根据本领域技术人员已知的技术(例如,霍夫曼译码、可变长度译码、算术译码等等)无损压缩符号,将由各种功能单元产生的符号转换为译码视频序列。
发射器(540)可以缓冲由熵译码器(545)创建的译码视频序列,以准备通过通信信道(560)进行发射,所述通信信道(560)可以是到存储装置的硬件/软件链路,所述存储装置将存储已编码的视频数据。发射器(540)可以将来自视频译码器(530)的译码视频数据与要发射的其它数据合并,例如,译码音频数据和/或辅助数据流(未示出的源)。
控制器(550)可以管理编码器(303)的操作。在译码期间,控制器(550)可以向每个译码图片分配某一译码图片类型,这可以影响可应用于相应图片的译码技术。例如,图片经常可以指定为以下帧类型之一:
帧内图片(I图片)可以是可以在不使用序列中的任何其它帧作为预测源的情况下被译码和解码的帧内图片。一些视频编解码器允许不同类型的帧内图片,包含例如独立解码器刷新图片。本领域技术人员知道I图片的那些变体及其相应的应用和特征。
预测图片(P图片)可以是可以使用帧内预测或帧间预测来译码和解码的图片,其使用至多一个运动向量和参考索引以预测每个块的样本值。
双向预测图片(B图片)可以是可以使用帧内预测或帧间预测来译码和解码的图片,其使用至多两个运动向量和参考索引来预测每个块的样本值。类似地,多预测图片可以使用多于两个参考图片和相关联的元数据来重建单个块。
源图片通常可以在空间上被细分为多个样本块(例如,各自为4×4、8×8、4×8或16×16个样本的块)并且在逐块的基础上译码。可以参考由应用于块的相应图片的译码分配确定的其它(已译码的)块来预测性地对块进行译码。例如,I图片的块可以非预测性地译码,或者可以参考同一图片的已译码块(空间预测或帧内预测)预测性地译码。可以经由空间预测或经由参考一个先前译码的参考图片的时间预测来非预测性地对P图片的像素块进行译码。可以经由空间预测或经由参考一个或两个先前译码的参考图片的时间预测来非预测性地对B图片的块进行译码。
视频译码器(303)可以根据预定的视频译码技术或标准执行译码操作,例如ITU-T建议书H.265。在其操作中,视频译码器(303)可执行各种压缩操作,包含利用输入视频序列中的时间和空间冗余的预测译码操作。因此,译码视频数据可以符合由所使用的视频译码技术或标准指定的语法。
在一个实施例中,发射器(540)可以利用已编码视频发射附加数据。视频译码器(530)可以包含这样的数据作为译码视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、其它形式的冗余数据,例如冗余图片和切片、补充增强信息(SEI)消息、视觉可用性信息(VUI)参数集片段等等。
图6是说明根据实施例的控制用于视频序列的解码的帧内和/或帧间预测的方法(600)的流程图。在一些实施方案中,图6的一个或多个处理框可以由解码器(310)执行。在一些实施方案中,图6的一个或多个处理框可以由与解码器(310)分开或包含解码器(310)的另一装置或一组装置执行,例如编码器(303)。
参考图6,在第一框(610)中,方法(600)包含确定当前块的帧内预测模式的总数。在第二框(620)中,方法(600)包含确定当前块中的最可能模式(MPM)的数量。在第三框(630)中,方法包含确定当前块中的非MPM的数量。
在第四框(640)中,方法(600)包含确定非MPM的数量是否等于2的幂或多个2的幂的总和。如果确定非MPM的数量不等于2的幂或多个2的幂的总和,则方法(600)包含将帧内预测模式的总数调整为一个值以使得非MPM的数量是2的幂或多个2的幂的总和(650)。否则,所述方法不调整帧内预测模式的总数(660)。
根据实施例,一种方法包含将非MPM数量调整为2的幂,因此可以如下计算帧内预测模式的总数:
modestotal=modesmpm+2n (等式1)
在上面的等式1中,modestotal表示当前块的帧内预测模式的总数,modesmpm是当前块的MPM模式的数量,2n可以是非mpm模式的数量,n是正整数。
根据一个实施例,MPM模式的数量是6,n=6,然后帧内预测模式的总数是70,剩余模式的数量是64,其可以通过各自6个二进位来译码,即固定长度(6个二进位)译码。
根据一个实施例,MPM模式的数量是3,n=6,然后帧内预测模式的总数是67,剩余模式的数量是64,其可以通过各自6个二进位来译码,即固定长度(6个二进位)译码。
根据一个实施例,可以修改帧内预测模式数量以使非MPM数量为2的幂。总帧内预测模式可以公式化为:
modestotal=modesmpm+2a+2b (等式2)
在上面的等式2中,modestotal表示当前块的总帧内预测模式,modesmpm是当前块的MPM模式数量,2a可以是第一级非MPM模式的数量,且2b可以是第二级非MPM模式的数量,a和b是正整数。
根据一个实施例,帧内预测模式数量增加到70,MPM数量仍然是6,且非MPM数量是64(26=61+3)。增加的3种模式可以是单向预测和/或双向预测。
根据一个实施例,帧内预测模式数量增加到86,MPM模式数量是6,非MPM数量具有2个级别,第一非MPM级别具有16个模式,且第二非MPM级别具有64个模式。换句话说,86=6+24+26。增加的19种模式(86-67=19)可以是单向预测和/或双向预测。
根据一个实施例,帧内预测模式数量被修改为54,54=6+24+25,MPM数量被设置为6,第一级非MPM被设置为16,且第二级非MPM被设置为32。
根据一个实施例,非MPM的数量是多个2的幂的总和,例如,两个2的幂(2a+2b),三个2的幂(2a+2b+2c)。
根据一个实施例,a<b或a≤b。
根据一个实施例,一种方法包含将MPM的数量用信号表示为更高级语法元素,例如在序列参数集(SPS)、图片参数集(PPS)、切片报头、图块报头、译码树单元(CTU)报头中,或作为图片的区域的共同语法元素或参数。结果,MPM列表的长度可以在不同的序列、图片、切片、图块、译码块组或图片的区域中不同。
根据一个实施例,对于不同数量的MPM,预定义方向性帧内预测模式的不同集合,使得非MPM的数量总是2的幂,或多个2的幂的总和。
根据一个实施例,仅针对最大数量的MPM定义方向性帧内预测模式的一个集合,当使用减少数量的MPM时,停用一些方向性帧内预测模式,使得非MPM的数量始终是2的幂,或多个2的幂的总和。
根据一个实施例,一种方法包含使用非对称帧内角度预测来进行帧内预测。非对称帧内角度预测是指水平/垂直模式和对角线模式之间的模式数量不同于水平/垂直模式和反对角线模式之间的模式数量。
图7示出了非对称帧内角度预测模式的示例。参考图7,负帧内预测方向的模式数量(如图7中标识为对角线的18个灰色虚线箭头所示)比正帧内预测方向的模式数量(如图7中的实线箭头所示)更大/更密集。非对称帧内角度预测模式的示例在图7中基于35个帧内预测方向示出。
根据一个实施例,帧内预测方向沿对角线帧内预测模式是对称的(如图7中指示),但不是沿垂直或水平方向对称。
图8是示出根据另一实施例的非对称帧内角度预测模式的示例的图。所有预测方向沿对角帧内预测模式对称,并且仅接近水平方向和垂直方向的特定帧内预测模式索引沿水平方向和垂直方向对称,并且帧内预测模式索引范围是否接近水平/垂直方向是由帧内预测模式索引与水平(和/或垂直)方向之间的绝对差值是否小于或等于给定阈值来决定,所述阈值例如在下面的示例中为3。在图8中,所有帧内预测方向沿对角线帧内预测模式(模式18)对称,模式5-模式11沿水平方向对称,模式25-模式31沿垂直方向对称,且其它模式不沿水平方向或垂直方向对称。
根据一个实施例,帧内预测方向的定义可以取决于译码信息或编码器和解码器都知道的任何其它信息,包含但不限于块大小、块高度、块宽度、块形状、亮度或色度分量、帧内或帧间切片,以及块宽高比。
根据一个实施例,对于更大的块大小,例如,大于阈值的块大小,帧内预测方向更均匀地分布,并且对于更小的块大小,例如,小于阈值的块大小,帧内预测方向更集中于垂直和水平模式。
根据一个实施例,对于大小大于阈值的块,帧内预测方向在垂直和水平预测方向周围更密集,而对于大小小于阈值的块,帧内预测方向沿着当前块的边均匀分布。
根据一个实施例,对于例如按像素数量长于阈值和/或短于另一阈值的块边,帧内预测方向沿所述边均匀分布。
根据一个实施例,对于例如按像素数量长于阈值或短于另一阈值的块边,帧内预测方向沿所述边均匀分布。
根据一个实施例,对于非正方形块,沿着长边的帧内预测方向比沿着短边的帧内预测方向更密集。图9A、9B和9C示出了关于此的3个示例。块大小为64x32。宽度是长边,高度是短边,且沿宽度的预测方向比沿高度的预测方向密集得多。
根据一个实施例,当前块的沿着水平边(宽度)的方向性帧内预测模式的数量(由M表示)与沿着垂直边(高度)的方向性帧内预测模式的数量(由N表示)之间的比率M:N与宽度:高度的比率成比例。在一个特殊情况下,这两个提到的比率可能是相同的。例如,对于WxH(在此图示中W或宽度=16,H或高度=8)块,沿高度的方向性帧内预测模式的数量可以是除了对角线预测方向之外的K(在此图示中K=16),且沿着宽度的方向性帧内预测模式的数量可以是除了对角线预测方向之外的2K(即,在此图示中为32)。因此,此WxH(16x8)块的方向性帧内预测模式的总数是2K+K+1(对于对角线方向为32+16+1)。
根据一个实施例,对于非正方形块,停用一些方向性帧内预测模式,使得非MPM的数量总是2的幂,或多个2的幂的总和。停用模式可以仅来自一个模式集合,或者来自两个模式集合。并且停用的预测方向可以在每个模式集合中均匀或不均匀地分布。在停用一些帧内预测模式之后,非正方形块的模式可以沿着垂直和水平方向对称,但是不沿对角线方向对称。
图9A、9B和9C是示出根据另一实施例的矩形块的帧内预测模式的示例的图。图9A、9B和9C示出了3个示例,并且所有停用的帧内预测方向都来自一个模式集合。在图9A和9B中,帧内预测模式被减少到54种模式。在图9A中,模式2~模式14被停用。在图9B中,水平方向附近的模式(模式14~模式22)未被子采样,并且模式集合0中的其它模式被2倍子采样。6个MPM和2级非MPM(16+32)用于编码这54种模式。在图9C中,帧内预测模式减少到38种模式。在模式集合0中,仅选择水平方向附近的3个模式,并停用其它模式。对于这38种模式,使用6MPM和1级非MPM。
根据一个实施例,非正方形块的帧内预测模式数量仍然与正方形块的帧内预测模式数量相同,且非正方形块的帧内预测模式沿水平方向和垂直方向对称,但不沿对角线方向对称。
图10是示出从模式集合0移除的12种模式的图,并且添加了12种新模式。如图10中所示,对于非正方形64×32块,模式集合0中的12种模式被停用,并且12种模式被添加到模式集合1。停用模式和新添加的模式都关于水平方向或垂直方向对称。模式集合0中的12种停用模式的方向是[7,11,15,19,23,29]/32。这12种新模式的方向是[4,6,8,10,12,14]/32。
根据一个实施例,MPM导出过程可以取决于译码信息或编码器和解码器都可用的任何信息,包含但不限于块大小、块形状、块宽度、块高度、块面积大小、全部帧内预测模式的数量,亮度或色度分量。
根据一个实施例,MPM的数量可以取决于译码信息或编码器和解码器都可用的任何信息,包含但不限于块大小、块宽度、块高度、块面积大小、全部帧内预测模式的数量,亮度或色度分量。
根据一个实施例,当将不同数量的全部帧内预测模式应用于特定块大小时,MPM的数量可以是不同的,例如,如果帧内预测模式的总数是35、67和131,则分别使用3、6和7个MPM。
根据一个实施例,将相邻帧内预测模式添加到MPM列表中的顺序由块的形状决定。
根据一个实施例,当当前块的宽度大于当前块的高度时,首先将上方侧块的模式插入到MPM列表,然后是左侧块的模式。
根据一个实施例,当当前块的宽度大于当前块的高度时,相邻模式按以下顺序添加到MPM列表:上方->左侧->右上方->左上方->左下方。
根据一个实施例,用于填充MPM列表的默认模式由块的形状决定。
根据一个实施例,如果MPM列表的长度仍然小于预定数量,则使用默认模式集合{平面,DC,水平,垂直,模式34,模式66}来填充MPM列表。
根据一个实施例,默认模式集合{平面,DC,垂直,模式34,模式2}用于填充MPM列表以用于高度大于宽度的矩形块。
根据一个实施例,为了导出N个MPM列表,当块宽度大于高度时,强制将水平预测模式添加到MPM列表中,否则强制将垂直预测模式添加到MPM列表中,这样,当导出非MPM索引时,由分类过程引起的复杂性降低。
根据一个实施例,平面和DC模式总是强制与垂直或水平模式一起被添加到MPM列表中,使得在导出非MPM索引时仅需要分类N-3个模式。
根据一个实施例,如果矩形块的帧内预测模式与正方形块不同,则可以在插入当前块的MPM列表中之前映射相邻块的模式。
根据一个实施例,如果相邻块的模式不包含在当前矩形块的可用模式中,则将这些模式映射到其最近的模式,所述模式包含在当前矩形块的可用模式中。如果找到2个最近的模式,则这2个模式都被添加到MPM列表中。例如,如果模式5是相邻块的模式,则模式5不包含在当前矩形块的可用模式中。如果模式4和模式6都可用于当前块,则模式4和模式6都被添加到MPM列表中。
根据一个实施例,如果相邻块的模式不包含在当前矩形块的可用模式中,则这些模式不被插入到MPM列表中。
根据一个实施例,为了避免重复的帧内预测方向,方向性帧内预测包含单向帧内预测模式和双向帧内预测模式,而单向帧内预测模式不具有重复的方向,且双向帧内预测使用顶部和左侧参考样本进行帧内预测。
图11是示出合并对角线模式的图。如图11所示,帧内预测方向仍然是对称的,并且两个对角线模式被合并为一个模式,使得帧内预测方向的总数减少1。当应用双向帧内预测时,将块划分为2个区域,一个使用顶部参考样本预测,且另一个使用左侧参考样本预测。靠近所述两个区域的边界的样本可以沿着预测方向通过两个预测值进一步加权。
根据一个实施例,为了避免解析问题,在解析MPM索引时,使用相邻MPM索引值来导出用于解码MPM索引的上下文。当解析指示是否使用MPM的旗标时,左侧和/或上方块的MPM旗标值用于导出上下文值。当解析二进制化MPM索引值的二进位i时,通过顶部和左侧块的二进制化MPM索引的二进位i的值导出上下文。
本文描述的方法可以由处理电路(例如,一个或多个处理器或一个或多个集成电路)实施。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序,以执行一个或多个所述的方法。
上述技术可以使用计算机可读指令实施为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图12示出了适用于实施所公开主题的某些实施例的计算机系统1200。
计算机软件可以使用任何合适的机器代码或计算机语言进行译码,这些机器代码或计算机语言可以通过汇编、编译、链接或类似机制来创建包括指令的代码,所述指令可以由计算机中央处理单元(CPU)、图形处理单元(GPU)等直接地或者通过解译、微代码执行等来执行。
指令可以在各种类型的计算机或其组件上执行,包含例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。
图12中针对计算机系统1200所示的组件本质上是示例性的,并且不旨在对实施本公开的实施例的计算机软件的使用范围或功能提出任何限制。也不应将组件的配置解释为对计算机系统1200的示例性实施例中示出的任何一个组件或其组合有任何依赖性或要求。
计算机系统1200可以包含某些人机接口输入装置。这样的人机接口输入装置可以响应于一个或多个人类用户的输入,例如,通过触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘)。人机接口装置还可以用于捕获不一定与人类的有意识输入直接相关的某些媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止图像摄像机获得的摄影图像)、视频(例如二维视频、包含立体视频的三维视频)。
输入人机接口装置可以包含以下中的一个或多个(仅示出每一种中的一个):键盘1201,鼠标1202,轨迹板1203,触摸屏1210,数据手套1204,操纵杆1205,麦克风1206,扫描仪1207,相机1208。
计算机系统1200还可以包含某些人机接口输出装置。这种人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感觉。这样的人机接口输出装置可以包含触觉输出装置(例如,触摸屏1210、数据手套1204或操纵杆1205的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置)、音频输出装置(例如:扬声器1209、头戴式耳机(未示出))、视觉输出装置(例如包含阴极射线管(CRT)屏幕、液晶显示器(LCD)屏幕、等离子屏幕、有机发光二极管(OLED)屏幕的屏幕1210,每个都有或没有触摸屏输入能力,每个都有或没有触觉反馈能力-其中一些可以通过诸如立体输出的方式输出二维视觉输出或多于三维的输出;虚拟-现实眼镜(未示出)、全息显示器和烟盒(未示出)),和打印机(未示出)。
计算机系统1200还可以包含人类可存取的存储装置及其相关的介质,例如光学介质,包含带有CD/DVD或类似介质1221的CD/DVD ROM/RW 1220、拇指驱动器1222、可移除式硬盘驱动器或固态驱动器1223、传统的磁介质,例如磁带和软盘(未示出)、基于专用ROM/ASIC/PLD的装置,例如安全加密狗(未示出)和类似物。
本领域技术人员还应理解,结合本公开主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
计算机系统1200还可以包含到一个或多个通信网络的接口。网络可以例如是无线的、有线的、光学的。网络还可以是本地的、广域的、城域的、车辆的和工业的、实时的、延迟容忍的等等。网络的示例包含诸如以太网、无线LAN、蜂窝网络等局域网以包含全球移动通信系统(GSM)、第三代(3G)、第四代(4G)、第五代(5G)、长期演进(LTE)等,包含TV有线或无线广域数字网络以包含有线电视、卫星电视和地面广播电视、包含CANBus的车载和工业等等。某些网络通常需要附接到某些通用数据端口或外围总线(1249)的外部网络接口适配器(例如,计算机系统1200的通用串行总线(USB)端口;其它通常通过如下所述附接到系统总线而集成到计算机系统1200的核心中(例如,到PC计算机系统中的以太网接口或到智能手机计算机系统中的蜂窝网络接口)。使用这些网络中的任何一个,计算机系统1200可以与其它实体通信。这种通信可以是单向的、仅接收(例如,广播电视)、单向仅发送(例如到某些CANbus装置的CANbus),或双向的,例如到使用本地或广域数字网络的其它计算机系统。如上所述,某些协议和协议堆栈可以用在那些网络和网络接口中的每一个上。
前述人机接口装置、人类可存取的存储装置和网络接口可以附接到计算机系统1200的核心1240。
核心1240可以包含一个或多个中央处理单元(CPU)1241、图形处理单元(GPU)1242、现场可编程门区域(FPGA)1243形式的专用可编程处理单元、用于某些任务的硬件加速器1244等等。这些装置以及只读存储器(ROM)1245、随机存取存储器(RAM)1246、诸如内部非用户可存取硬盘驱动器的内部大容量存储装置、固态驱动器(SSD)等1247可以通过系统总线1248连接。在一些计算机系统中,系统总线1248可以以一个或多个物理插头的形式存取,以通过附加的CPU、GPU等实现扩展。外围装置可以直接附接到核心的系统总线1248,或者通过外围总线1249附接。用于外围总线的架构包含外围组件互连(PCI)、USB等。
CPU 1241、GPU 1242、FPGA 1243和加速器1244可以执行某些指令,这些指令组合起来可以构成上述计算机代码。所述计算机代码可以存储在ROM 1245或RAM 1246中。过渡数据也可以存储在RAM 1246中,而永久数据可以存储在例如内部大容量存储装置1247中。可以通过使用高速缓冲存储器来快速存储和检索到任何存储器装置,高速缓冲存储器可以与一个或多个CPU 1241、GPU 1242、大容量存储装置1247、ROM 1245、RAM 1246等紧密相关。
计算机可读介质上可以具有用于执行各种计算机实施的操作的计算机代码。介质和计算机代码可以是为了本公开的目的而专门设计和构造的代码,或者它们可以是计算机软件领域的技术人员众所周知和可用的种类。
作为示例而非通过限定的方式,具有架构1200,且特别是核心1240的计算机系统可以提供功能性,原因在于处理器(包含CPU、GPU、FPGA、加速器等)执行在一个或多个有形的计算机可读介质中实施的软件。这样的计算机可读介质可以是与如上介绍的用户可存取的大容量存储装置相关联的介质,以及具有非易失性质的核心1240的某些存储装置,诸如核心内部大容量存储装置1247或ROM 1245。实施本公开的各种实施例的软件可以存储在这样的装置中并由核心1240执行。根据特定需要,计算机可读介质可包含一个或多个存储器装置或芯片。所述软件可以使核心1240,且特别是其中的处理器(包含CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包含定义存储在RAM 1246中的数据结构并根据软件定义的过程修改这些数据结构。另外或作为替代,计算机系统可以提供功能性,原因在于逻辑硬连线或以其它方式体现在电路(例如:加速器1244)中,其可以代替软件或与软件一起操作以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包含逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以包含存储用于执行的软件的电路(诸如集成电路(IC))、体现用于执行的逻辑的电路或这两者。本公开涵盖硬件和软件的任何合适组合。
虽然本公开已经描述了若干示例性实施例,但是存在落入本公开范围内的改变、置换和各种替代等效物。因此,应当理解,本领域技术人员将能够设计出许多系统和方法,这些系统和方法虽然未在本文中明确示出或描述,但体现了本公开的原理并因此在其精神和范围内。

Claims (20)

1.一种控制用于视频序列的解码的帧内预测的方法,其特征在于,所述方法由至少一个处理器执行,并且所述方法包括:
确定当前块的帧内预测模式的总数、所述当前块中的最可能模式MPM的数量以及所述当前块中的非MPM的数量,其中所述当前块的帧内预测模式的所述总数等于所述当前块中的所述MPM的数量与所述当前块中的所述非MPM的数量的总和;以及
将帧内预测模式的所述总数调整为一个值,使得所述非MPM的数量是2的幂或多个2的幂的总和。
2.根据权利要求1所述的方法,其中所述帧内预测模式包括帧内预测方向,并且所述帧内预测方向沿对角线帧内预测模式对称并且沿垂直方向和水平方向不对称。
3.根据权利要求1所述的方法,还包括使用非对称角度预测,使得水平/垂直模式和对角线模式之间的模式数量不同于所述水平/垂直模式和反对角线模式之间的模式数量。
4.根据权利要求1所述的方法,还包括使用非对称角度预测,使得负帧内预测方向的模式数量大于正帧内预测方向的模式数量。
5.根据权利要求1所述的方法,其中根据块大小、块宽度、块高度和块面积大小中的任何一个或任何组合来调整所述MPM的数量。
6.根据权利要求1所述的方法,其中将所述MPM插入到由所述至少一个处理器存取的MPM列表中。
7.根据权利要求6所述的方法,还包括:
当所述MPM列表中的所述MPM的数量小于预定数量时,将相邻帧内预测模式添加到MPM列表中。
8.根据权利要求7所述的方法,其中所述将所述相邻帧内预测模式添加到所述MPM列表中包括:根据基于所述当前块的形状的顺序将所述相邻帧内预测模式添加到所述MPM列表中。
9.根据权利要求7所述的方法,其中所述将所述相邻帧内预测模式添加到所述MPM列表中包括:当所述当前块的宽度大于所述当前块的高度时,在将下方侧块的相邻帧内预测模式添加到所述MPM列表之前将上方侧块的相邻帧内预测模式添加到所述MPM列表。
10.根据权利要求7所述的方法,其中所述将所述相邻帧内预测模式添加到所述MPM列表中包括根据以下顺序添加所述相邻帧内预测模式:平面模式,DC模式,水平模式,垂直模式,模式34,模式66。
11.一种用于控制用于视频序列的解码的帧内和/或帧间预测的设备,其特征在于,所述设备包括:
至少一个存储器,被配置成存储计算机程序代码;以及
至少一个处理器,被配置成存取所述至少一个存储器并根据所述计算机程序代码进行操作,所述计算机程序代码包括:
第一确定代码,被配置成使所述至少一个处理器确定当前块的帧内预测模式的总数、所述当前块中的最可能模式MPM的数量以及所述当前块中的非MPM的数量,其中所述当前块的帧内预测模式的所述总数等于所述当前块中的所述MPM的数量与所述当前块中的所述非MPM的数量的总和;以及
第一调整代码,被配置成使所述至少一个处理器将帧内预测模式的所述总数调整为一个值,使得所述非MPM的数量是2的幂或多个2的幂的总和。
12.根据权利要求11所述的设备,其中所述帧内预测模式包括帧内预测方向,并且所述帧内预测方向沿对角线帧内预测模式对称,并且沿垂直方向和水平方向不对称。
13.根据权利要求11所述的设备,还包括:
第一使用代码,被配置成使所述至少一个处理器使用非对称角度预测,使得水平/垂直模式和对角线模式之间的模式数量不同于所述水平/垂直模式和反对角线模式之间的模式数量。
14.根据权利要求11所述的设备,还包括:
第一使用代码,被配置成使所述至少一个处理器使用非对称角度预测,使得负帧内预测方向的模式数量大于正帧内预测方向的模式数量。
15.根据权利要求11所述的设备,其中根据块大小、块宽度、块高度和块面积大小中的任何一个或任何组合来调整所述MPM的数量。
16.根据权利要求11所述的设备,其中所述MPM被插入到由所述至少一个处理器存取的MPM列表中。
17.根据权利要求16所述的设备,还包括:
第一添加代码,被配置成使所述至少一个处理器当所述MPM列表中的所述MPM的数量小于预定数量时将相邻帧内预测模式添加到MPM列表中。
18.根据权利要求17所述的设备,其中所述第一添加代码还被配置成使所述至少一个处理器根据基于所述当前块的形状的顺序将所述相邻帧内预测模式添加到所述MPM列表中。
19.根据权利要求17所述的设备,其中所述第一添加代码还被配置成使所述至少一个处理器当所述当前块的宽度大于所述当前块的高度时在将下方侧块的相邻帧内预测模式添加到所述MPM列表之前将上方侧块的相邻帧内预测模式添加到所述MPM列表。
20.一种存储指令的非易失性计算机可读存储介质,其特征在于,所述指令使处理器执行以下操作:
确定当前块的帧内预测模式的总数、所述当前块中的最可能模式MPM的数量以及所述当前块中的非MPM的数量,其中所述当前块的帧内预测模式的所述总数等于所述当前块中的所述MPM的数量与所述当前块中的所述非MPM的数量的总和;以及
将帧内预测模式的所述总数调整为一个值,使得所述非MPM的数量是2的幂或多个2的幂的总和。
CN201910175862.0A 2018-03-08 2019-03-08 用于视频压缩中的方向性帧内预测的方法、设备和存储介质 Active CN110248187B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862640544P 2018-03-08 2018-03-08
US62/640,544 2018-03-08
US16/223,872 US10652534B2 (en) 2018-03-08 2018-12-18 Methods and apparatus for directional intra prediction in video compression
US16/223,872 2018-12-18

Publications (2)

Publication Number Publication Date
CN110248187A true CN110248187A (zh) 2019-09-17
CN110248187B CN110248187B (zh) 2021-07-02

Family

ID=67843655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910175862.0A Active CN110248187B (zh) 2018-03-08 2019-03-08 用于视频压缩中的方向性帧内预测的方法、设备和存储介质

Country Status (2)

Country Link
US (1) US10652534B2 (zh)
CN (1) CN110248187B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10951900B2 (en) * 2018-06-22 2021-03-16 Intel Corporation Speeding up small block intra-prediction in video coding
GB2595015B (en) * 2018-06-27 2022-07-13 Kt Corp Bi-directional intra-prediction involving weighted sum of two reference samples
CA3113370A1 (en) * 2018-09-21 2020-03-26 Huawei Technologies Co., Ltd. Intra prediction mode derivation based on neighboring blocks
US20200099927A1 (en) * 2018-09-24 2020-03-26 Qualcomm Incorporated Most probable modes (mpms) construction
US11509891B2 (en) * 2018-11-04 2022-11-22 Lg Electronics Inc. Intra prediction method and apparatus in image coding system
CN113273192B (zh) * 2019-01-08 2023-07-07 Lg电子株式会社 使用mpm列表的基于帧内预测的视频编码方法及装置
KR20210126774A (ko) * 2019-03-26 2021-10-20 엘지전자 주식회사 Mpm 리스트에 기반한 인트라 예측 방법 및 그 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104137540A (zh) * 2012-01-16 2014-11-05 联发科技(新加坡)私人有限公司 帧内模式编码的方法及装置
US20150341638A1 (en) * 2013-01-04 2015-11-26 Canon Kabushiki Kaisha Method and device for processing prediction information for encoding or decoding an image
CN105721878A (zh) * 2012-01-20 2016-06-29 索尼公司 Hevc视频编解码中执行帧内预测的图像处理装置及方法
US20170332084A1 (en) * 2016-05-13 2017-11-16 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
CN107750455A (zh) * 2015-06-18 2018-03-02 高通股份有限公司 帧内预测及帧内模式译码

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154798B2 (en) * 2009-09-14 2015-10-06 Thomson Licensing Methods and apparatus for efficient video encoding and decoding of intra prediction mode
AU2012276454B2 (en) * 2011-06-28 2016-02-25 Samsung Electronics Co., Ltd. Method and apparatus for coding video and method and apparatus for decoding video, accompanied with intra prediction
JP2013012995A (ja) * 2011-06-30 2013-01-17 Sony Corp 画像処理装置および方法
EP2804377A4 (en) * 2012-01-13 2015-12-09 Sharp Kk Image Decoding Device, Image Coding Device and Data Structure of the Coded Data
US10230961B2 (en) * 2016-06-03 2019-03-12 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104137540A (zh) * 2012-01-16 2014-11-05 联发科技(新加坡)私人有限公司 帧内模式编码的方法及装置
CN105721878A (zh) * 2012-01-20 2016-06-29 索尼公司 Hevc视频编解码中执行帧内预测的图像处理装置及方法
US20150341638A1 (en) * 2013-01-04 2015-11-26 Canon Kabushiki Kaisha Method and device for processing prediction information for encoding or decoding an image
CN107750455A (zh) * 2015-06-18 2018-03-02 高通股份有限公司 帧内预测及帧内模式译码
US20170332084A1 (en) * 2016-05-13 2017-11-16 Qualcomm Incorporated Neighbor based signaling of intra prediction modes

Also Published As

Publication number Publication date
CN110248187B (zh) 2021-07-02
US10652534B2 (en) 2020-05-12
US20190281289A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
JP7062788B2 (ja) ビデオを復号する方法、装置およびコンピュータプログラム
KR102653789B1 (ko) 멀티-라인 인트라 예측을 위한 방법 및 장치
CN110248196A (zh) 用于调色板编解码的方法和设备
CN110248187A (zh) 用于视频压缩中的方向性帧内预测的方法和设备
JP7085021B2 (ja) 動画の符号化並びに復号の方法、装置及びコンピュータプログラム
CN112806009B (zh) 一种生成合并候选列表的方法和相关装置
KR102617651B1 (ko) 일반화된 트라이수프 기하 코딩을 위한 기법 및 장치
KR102487359B1 (ko) 비디오 코딩을 위한 방법 및 장치
CN110324619A (zh) 变换信息预测
US20200279404A1 (en) Method and apparatus for point cloud compression
CN110460857A (zh) 视频解码方法、设备以及计算机可读存储介质
EP3854097A1 (en) Method and apparatus for point cloud compression
KR102592192B1 (ko) 예측자 후보 리스트 크기를 시그널링하는 방법 및 장치
CN116016913A (zh) 视频编解码的方法、视频编解码器以及计算机可读介质
KR102494087B1 (ko) 서브-블록 모션 벡터 예측을 위한 방법 및 장치
US11210813B2 (en) Method and apparatus for point cloud compression
CN117880497A (zh) 用于视频编解码的方法和装置
KR102637503B1 (ko) 비디오 시퀀스의 디코딩 또는 인코딩을 위한 인트라-인터 예측 모드를 제어하기 위한 방법 및 장치
CN113228667A (zh) 用于视频编码的方法及装置
JP2023518307A (ja) 顔復元に基づくビデオ会議のためのフレームワーク
KR20220085836A (ko) 비디오 코딩 방법 및 장치
CN113728628B (zh) 合并候选搜索方法和设备
EP3932078A1 (en) Method and apparatus for point cloud compression
KR102496419B1 (ko) 비디오 코딩에서의 감소된 상위 라인 버퍼에 의한 인터 예측을 위한 방법 및 장치
RU2777278C1 (ru) Способ и устройство для видеокодирования

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant