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

内容自适应分割预测的制作方法

2022-08-21 17:23:53 来源:中国专利 TAG:

内容自适应分割预测
1.相关申请的交叉引用
2.本技术要求于2021年5月27日提交的第17/332,227号美国专利申请的优先权权益,该美国专利申请要求于2020年9月2日提交的第63/073,629号美国临时申请的优先权,这些申请的公开内容通过整体引用并入本文中。
技术领域
3.本公开的实施例涉及一组高级视频编解码技术,更具体地,涉及用于图像和视频压缩的内容自适应分割预测模式。


背景技术:

4.aomedia video 1(av1)是一种设计成用于通过互联网进行视频传输的开放视频编码格式。av1是由开放媒体联盟(aomedia)作为vp9的后继者而开发的,aomedia是成立于2015年的联合体,包括半导体公司、视频点播提供商、视频内容生产商、软件开发公司和网络浏览器供应商。av1项目的许多组成部分源自于联盟成员的先前的研究工作。个体贡献者在多年以前就开始了实验技术平台:xiph/mozilla的daala于2010年发布了代码,谷歌(google)的实验性vp9演化项目vp10于2014年9月12日发布,思科(cisco)的thor于2015年8月11日发布。在vp9的代码库的基础上,av1包含附加技术,这些附加技术中的多种技术以这些实验格式开发。av1参考编解码器的第一个版本(0.1.0版)于2016年4月7日发布。该联盟于2018年3月28日宣告发布av1比特流规范,以及基于软件的参考编码器和解码器。在2018年6月25日,发布了该规范的验证版1.0.0。在2019年1月8日,“av1比特流和解码过程规范”发布,这是该规范的具有勘误表1的验证版1.0.0。av1比特流规范包括参考视频编解码器。开放媒体联盟(2019年1月8日)的“av1比特流和解码过程规范”(具有勘误表1的1.0.0版)通过引用整体并入本文中。
5.高效视频编码(hevc)标准由itu-t视频编码专家组(vceg)标准化组织和iso/iec运动图像专家组(mpeg)标准化组织联合开发。为了开发hevc标准,这两个标准化组织在称为视频编码联合协作团队(jct-vc)的伙伴关系下一起工作。hevc标准的第一版在2013年1月最终完成,得到将由itu-t和iso/iec发布的统一文本。在此之后,组织了额外的工作来扩展标准以支持多个附加应用场景,包括具有增强精度和颜色格式支持的扩展范围使用、可伸缩视频编码和3-d/立体声/多视图视频编码。在iso/iec中,hevc标准成为mpeg-h第2部分(iso/iec 23008-2),且在itu-t中,hevc标准成为itu-t建议书h.265。
6.itu-t vceg(q6/16)和iso/iec mpeg(jtc 1/sc 29/wg 11)在2013年发布了h.265/hevc(高效视频编码)标准(第1版),在2014年发布h.265/hevc标准(第2版),在2015年发布h.265/hevc标准(第3版)以及在2016年发布h.265/hevc标准(第4版)。从此以后,他们一直在研究未来视频编码技术标准化的潜在需求,这种未来视频编码技术在压缩能力方面可显著优于hevc。在2017年10月,他们发出了关于视频压缩能力超越hevc的视频压缩的联合征集提案(cfp)。截止2018年2月15日,分别提交了22份标准动态范围(sdr)的cfp响应、
12份高动态范围(hdr)的cfp响应和12份360个视频类别的cfp响应。在2018年4月,在第122次mpeg/第10届联合视频探索团队-联合视频专家团队(jvet)会议中对所有接收到的cfp响应进行了评估。通过仔细评估,jvet正式启动了超越hevc的下一代视频编码的标准化,即,所谓的通用视频编码(vvc)。
7.在hevc之前,在2001年12月,vceg和运动图像专家组(mpeg)iso/iec jtc 1/sc 29/wg 11组成了联合视频团队(jvt),其章程是于2003年3月最终确定新的视频编码标准草案,以作为h.264/avc正式批准提交。h.264/avc由itu-t批准作为建议书h.264,且由iso/iec批准作为国际标准14 496-10(mpeg-4第10部分)高级视频编码(avc)。


技术实现要素:

8.根据一个或多个实施例,提供一种由至少一个处理器执行的方法。该方法包括:接收已编码图片;以及重建已编码图片的当前块。重建包括:将当前块的样本分割成多个片段,多个片段包括第一片段和第二片段;通过使用第一预测模式来预测已编码图片的当前块的第一片段;以及通过使用不同于第一预测模式的第二预测模式来预测已编码图片的当前块的第二片段。
9.根据一个实施例,第一预测模式是帧内块复制(ibc)模式;以及第二预测模式是帧内预测模式,帧内预测模式使用相邻的已重建样本来执行帧内预测。
10.根据一个实施例,重建当前块进一步包括:用信号通知第一预测模式。
11.根据一个实施例,重建当前块包括:用信号通知第二预测模式。
12.根据一个实施例,分割包括:基于当前块的样本来计算至少一个阈值;以及基于至少一个阈值来分割当前块的样本。
13.根据一个实施例,重建当前块进一步包括:将已编码图片的参考块的样本分割成多个片段,以获得参考块的分割信息;以及对当前块的样本的分割包括:将参考块的分割信息映射到当前块。
14.根据一个实施例,预测当前块的第一片段包括:在分割参考块的样本之前且在分割当前块的样本之前,基于块向量来识别参考块;其中,映射包括:基于块向量将参考块的分割信息映射到当前块。
15.根据一个实施例,预测当前块的第二片段包括:获得预测当前块的第二片段的预测块;以及预测当前块的第一片段进一步包括:通过使用分割信息将当前块的预测块与参考块的、对应于当前块的第一片段的片段进行组合,来获得组合预测块。
16.根据一个实施例,分割信息是分割图。
17.根据一个实施例,对当前块的样本的分割在预测第一片段之前执行。
18.根据一个或多个实施例,提供一种系统。该系统包括:至少一个存储器,配置成存储计算机程序代码;以及至少一个处理器,配置成访问计算机程序代码并根据计算机程序代码的指令来操作。计算机程序代码包括:重建代码,配置成使得至少一个处理器重建所接收的已编码图片的当前块。重建代码包括:当前块分割代码,配置成使得至少一个处理器将当前块的样本分割成多个片段,多个片段包括第一片段和第二片段;第一预测代码,配置成使得至少一个处理器通过使用第一预测模式来预测已编码图片的当前块的第一片段;以及第二预测代码,配置成使得至少一个处理器通过使用不同于第一预测模式的第二预测模式
来预测已编码图片的当前块的第二片段。
19.根据一个实施例,第一预测模式是帧内块复制(ibc)模式;以及第二预测模式是帧内预测模式,帧内预测模式使用相邻的已重建样本来执行帧内预测。
20.根据一个实施例,重建代码进一步包括信令代码,信令代码配置成使得至少一个处理器用信号通知第一预测模式。
21.根据一个实施例,重建代码进一步包括信令代码,信令代码配置成使得至少一个处理器用信号通知第二预测模式。
22.根据一个实施例,当前块分割代码进一步配置成使得至少一个处理器:基于当前块的样本来计算至少一个阈值;以及基于至少一个阈值来分割当前块的样本。
23.根据一个实施例,重建代码进一步包括参考块分割代码,参考块分割代码配置成使得至少一个处理器将已编码图片的参考块的样本分割成多个片段,以获得参考块的分割信息;以及当前块分割代码配置成使得至少一个处理器将参考块的分割信息映射到当前块。
24.根据一个实施例,第一预测代码配置成使得至少一个处理器在通过至少一个处理器分割参考块的样本和当前块的样本之前,基于块向量来识别参考块;以及当前块分割代码配置成使得至少一个处理器基于块向量将参考块的分割信息映射到当前块。
25.根据一个实施例,第二预测代码配置成使得至少一个处理器获得预测当前块的第二片段的预测块;以及第一预测代码配置成使得至少一个处理器通过使用分割信息将当前块的预测块与参考块的、对应于当前块的第一片段的片段进行组合,来获得组合预测块。
26.根据一个实施例,分割信息是分割图。
27.根据一个或多个实施例,提供一种非暂时性计算机可读介质,该计算机可读介质存储有计算机指令。计算机指令配置成在由至少一个处理器执行时使得至少一个处理器:重建所接收的已编码图片的当前块,重建如下进行:将当前块的样本分割成多个片段,多个片段包括第一片段和第二片段;通过使用第一预测模式来预测已编码图片的当前块的第一片段;以及通过使用不同于第一预测模式的第二预测模式来预测已编码图片的当前块的第二片段。
附图说明
28.根据以下详细描述和附图,所公开的主题的进一步特征、性质和各种优点将更加明显,其中:
29.图1是根据一个实施例的通信系统的简化框图的示意图。
30.图2是根据一个实施例的通信系统的简化框图的示意图。
31.图3是根据一个实施例的解码器的简化框图的示意图。
32.图4是根据一个实施例的编码器的简化框图的示意图。
33.图5a是示出vp9的第一示例性分区结构的图。
34.图5b是示出vp9的第二示例性分区结构的图。
35.图5c是示出vp9的第三示例性分区结构的图。
36.图5d是示出vp9的第四示例性分区结构的图。
37.图6a是示出av1的第一示例性分区结构的图。
38.图6b是示出av1的第二示例性分区结构的图。
39.图6c是示出av1的第三示例性分区结构的图。
40.图6d是示出av1的第四示例性分区结构的图。
41.图6e是示出av1的第五示例性分区结构的图。
42.图6f是示出av1的第六示例性分区结构的图。
43.图6g是示出av1的第七示例性分区结构的图。
44.图6h是示出av1的第八示例性分区结构的图。
45.图6i是示出av1的第九示例性分区结构的图。
46.图6j是示出av1的第十示例性分区结构的图。
47.图7a是用于展示多类型树结构中的垂直二元拆分类型的图。
48.图7b是用于展示多类型树结构中的水平二元拆分类型的图。
49.图7c是用于展示多类型树结构中的垂直三元拆分类型的图。
50.图7d是用于展示多类型树结构中的水平三元拆分类型的图。
51.图8是示出使用四叉树和嵌套的多类型树编码块结构将ctu划分成多个cu的示例的图。
52.图9是示出av1中的八个标称角度的图。
53.图10是示出当前块和样本的图。
54.图11是示出帧内块复制补偿的示例的图。
55.图12是示出关于帧内块复制预测的实施例的当前处理块、受限制的立即块以及允许的预测块的示例的图。
56.图13a至图13d是根据一个实施例的具有一个ctu大小搜索范围的帧内图片块补偿的图示。
57.图14示出了应用于视频内容的帧内块复制的示例。
58.图15是示出根据本公开的实施例的应用了多个预测模式的单个块的图。
59.图16是示出根据本公开的实施例的过程的图。
60.图17是根据本公开的实施例的解码器的示意图。
61.图18是适合于实现本公开的实施例的计算机系统的图。
具体实施方式
62.本公开的实施例包括视频编码方法,视频编解码方法可应用于现存的多个视频编解码标准(包括但不限于h.264/avc,hevc,vvc和av1)之上。
63.在本公开中,术语“块”可解释为预测块,编码块或编码单元(cu)。这里,术语“块”还可用于指代变换块。
64.图1示出了根据本公开的一个实施例的通信系统(100)的简化框图。系统(100)可包括通过网络(150)互连的至少两个终端(110,120)。对于单向数据传输,第一终端(110)可以在本地位置对视频数据进行编码,以通过网络(150)传输到另一终端(120)。第二终端(120)可从网络(150)接收另一终端的已编码视频数据,对已编码数据进行解码并显示所恢复的视频数据。单向数据传输在媒体服务等应用中可以是较常见的。
65.图1示出了设置成支持已编码视频的双向传输的第二对终端(130,140),该双向传
输可例如在视频会议期间发生。对于双向数据传输,每个终端(130,140)可对在本地位置采集的视频数据进行编码,以通过网络(150)传输到另一终端。每个终端(130,140)还可接收由另一终端传输的已编码视频数据,可对已编码数据进行解码且可以在本地显示设备处显示所恢复的视频数据。
66.在图1中,终端(110-140)可被示出为服务器、个人计算机、智能手机、和/或任何其它类型的终端。例如,终端(110-140)可以是膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络(150)表示在终端(110-140)之间传送已编码视频数据的任何数量的网络,包括例如有线和/或无线通信网络。通信网络(150)可以在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或互联网。出于本讨论的目的,除非在下文中有所解释,否则网络(150)的架构和拓扑对于本公开的操作来说可能是无关紧要的。
67.作为所公开的主题的应用的示例,图2示出了视频解码器和解码器在流式传输环境中的放置方式。所公开的主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、记忆棒等的数字介质上存储压缩视频等等。
68.如图2所示,流式传输系统(200)可包括采集子系统(213),该采集子系统可包括视频源(201)和编码器(203)。视频源(201)可以是例如数码相机,且可配置成创建未压缩的视频样本流(202)。相较于已编码视频比特流,未压缩的视频样本流(202)可提供高数据量,且可由耦接到相机(201)的编码器(203)处理。编码器(203)可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开的主题的各方面。相较于样本流,已编码视频比特流(204)可包括较低数据量,且可存储在流式传输服务器(205)上以供将来使用。一个或多个流式传输客户端(206)可访问流式传输服务器(205)以检索视频比特流(209),该视频比特流可以是已编码视频比特流(204)的副本。
69.在实施例中,流式传输服务器(205)还可用作媒体感知网络单元(mane)。例如,流式传输服务器(205)可配置成修剪已编码视频比特流(204),以将可能不同的比特流裁剪到一个或多个流式传输客户端(206)。在实施例中,mane可与流式传输系统(200)中的流式传输服务器(205)分开提供。
70.流式传输客户端(206)可包括视频解码器(210)和显示器(212)。视频解码器(210)可例如对作为已编码视频比特流(204)的传入副本的视频比特流(209)进行解码,且可产生可在显示器(212)或另一呈现装置(未描绘)上呈现的输出视频样本流(211)。在一些流式传输系统中,可根据某些视频编码/压缩标准对视频比特流(204,209)进行编码。这些标准的示例包括但不限于itu-t建议书h.265。正在开发的视频编码标准非正式地称为通用视频编码(vvc)。本公开的实施例可用于vvc的上下文中。
71.图3示出了根据本公开的一个实施例的、附接到显示器(212)的视频解码器(210)的示例性功能框图。
72.视频解码器(210)可包括信道(312)、接收器(310)、缓冲存储器(315)、熵解码器/解析器(320)、缩放器/逆变换单元(351)、帧内预测单元(352)、运动补偿预测单元(353)、聚合器(355)、环路滤波器单元(356)、参考图片存储器(357)和当前图片存储器()。在至少一个实施例中,视频解码器(210)可包括集成电路、一系列集成电路和/或其它电子电路。视频解码器(210)还可部分地或完全地在具有相关联的存储器的一个或多个cpu上运行的软件
中实现。
73.在本实施例和其它实施例中,接收器(310)可接收将由解码器(210)解码的一个或多个已编码视频序列,一次可接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列的解码。可从信道(312)接收已编码视频序列,该信道可以是通向存储已编码视频数据的存储设备的硬件/软件链路。接收器(310)可接收可转发到它们各自的使用实体(未描绘)的已编码视频数据以及其它数据,例如已编码音频数据和/或辅助数据流。接收器(310)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(315)可耦接在接收器(310)与熵解码器/解析器(320)(此后称为“解析器”)之间。当接收器(310)从具有足够带宽和可控性的存储/转发设备或从等时同步网络接收数据时,可以不使用缓冲器(315),或可将该缓冲器做得较小。为了尽力在互联网等业务分组网络上使用,可能需要缓冲器(315),该缓冲器可相对较大且可具有自适应性大小。
74.视频解码器(210)可包括解析器(320)以根据已熵编码的视频序列重建符号(321)。这些符号的类别包括例如用于管理解码器(210)的操作的信息,以及用于控制呈现设备(例如,显示器(212))的潜在信息,该呈现设备可耦接到解码器,如图2所示。用于呈现设备的控制信息可以是例如辅助增强信息(sei)消息或视频可用性信息(vui)的参数集片段(未描绘)的形式。解析器(320)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循本领域技术人员公知的各种原理,包括可变长度编码、霍夫曼编码、具有或不具有上下文灵敏度的算术编码等。解析器(320)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(gop)、图片、图块、切片、宏块、编码单元(cu)、块、变换单元(tu)、预测单元(pu)等。解析器(320)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等。
75.解析器(320)可对从缓冲器(315)接收的视频序列执行熵解码/解析操作,从而创建符号(321)。
76.取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(321)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(320)通过从已编码视频序列解析的子群控制信息来控制。为了清楚起见,未描绘解析器(320)与下文的多个单元之间的此类子群控制信息流。
77.除了已经提及的功能块之外,解码器(210)可在概念上细分成如下文所描述的多个功能单元。在商业约束下运行的实际实现方式中,这些单元中的许多单元彼此紧密交互且可至少部分地彼此集成。然而,出于描述所公开的主题的目的,概念上细分成下文的功能单元是适当的。
78.一个单元可以是缩放器/逆变换单元(351)。缩放器/逆变换单元(351)可从解析器(320)接收作为符号(321)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(351)可输出包括样本值的块,该样本值可输入到聚合器(355)中。
79.在一些情况下,缩放器/逆变换(351)的输出样本可属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(352)提供。在一些情况下,帧内图片预测单元
(352)使用从来自当前图片存储器(358)的当前(部分重建的)图片提取的周围已重建信息生成大小和形状与正在重建的块相同的块。在一些情况下,聚合器(355)基于每个样本,将帧内预测单元(352)生成的预测性信息添加到由缩放器/逆变换单元(351)提供的输出样本信息中。
80.在其它情况下,缩放器/逆变换单元(351)的输出样本可属于帧间编码块和潜在运动补偿块。在此情况下,运动补偿预测单元(353)可访问参考图片存储器(357)以提取用于预测的样本。在根据属于块的符号(321)对提取的样本进行运动补偿之后,这些样本可由聚合器(355)添加到缩放器/逆变换单元(351)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(353)从参考图片存储器(357)内的地址获取预测样本可受到运动矢量控制。该运动矢量以符号(321)的形式而供运动补偿预测单元(353)使用,符号(321)可具有例如x、y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(357)提取的样本值的内插、运动矢量预测机制等。
81.聚合器(355)的输出样本可经受环路滤波器单元(356)中的各种环路滤波技术。视频压缩技术可包括环路内滤波器技术,该环路内滤波器技术受控于包括在已编码视频比特流中且作为来自解析器(320)的符号(321)可用于环路滤波器单元(356)的参数,然而,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
82.环路滤波器单元(356)的输出可以是样本流,该样本流可输出到呈现设备(例如,显示器(212))以及存储在参考图片存储器(357)中,以用于后续的帧间图片预测。
83.一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。一旦已编码图片被完全重建,且已编码图片(通过例如解析器(320))被识别为参考图片,则当前参考图片可变成参考图片存储器(357)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片存储器。
84.视频解码器(210)可根据可在诸如itu-t建议书h.265的标准中记录的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法(如在视频压缩技术文档或标准中指定的,特别是如在其配置文件文档中指定的)的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。此外,对于一些视频压缩技术或标准的合规性,要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(hrd)规范和在已编码视频序列中用信号表示的hrd缓冲器管理的元数据来进一步限定。
85.在一个实施例中,接收器(310)可连同已编码视频的接收一起接收附加(冗余)数据。该附加数据可被包括作为已编码视频序列的一部分。该附加数据可由视频解码器(210)使用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(snr)增强层、冗余切片、冗余图片、前向纠错码等形式。
86.图4示出了根据本公开的一个实施例的与视频源(201)相关联的视频编码器(203)的示例性功能框图。
87.视频编码器(203)可包括例如作为源编码器(430)的编码器、编码引擎(432)、(本
地)解码器(433)、参考图片存储器(434)、预测器(435)、传输器(440)、熵编码器(445)、控制器(450)和信道(460)。
88.编码器(203)可从视频源(201)(并不是编码器的一部分)接收视频样本,该视频源可采集将由编码器(203)编码的视频图像。
89.视频源(201)可提供将由编码器(203)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可具有任何合适位深度(例如:8位、10位、12位
……
)、任何色彩空间(例如bt.601y crcb、rgb
……
)和任何合适采样结构(例如y crcb 4:2:0、y crcb 4:4:4)。在媒体服务系统中,视频源(201)可以是存储先前已准备的视频的存储设备。在视频会议系统中,视频源(203)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的采样结构、色彩空间等,每个像素可包括一个或多个样本。本领域技术人员可容易理解像素与样本之间的关系。下文侧重于描述样本。
90.根据一个实施例,编码器(203)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(443)。施行适当的编码速度是控制器(450)的一个功能。控制器(450)还可控制如下文所描述的其它功能单元且可在功能上耦接到这些单元。为了清楚起见,未描绘耦接。由控制器(450)设置的参数可包括速率控制相关参数(例如,图片跳过、量化器、率失真优化技术的λ值
……
)、图片大小、图片群组(gop)布局、最大运动矢量搜索范围等。本领域技术人员可容易地识别控制器(450)的其它功能,这些功能可涉及针对某一系统设计优化的视频编码器(203)。
91.一些视频编码器在本领域技术人员容易识别成“编码环路”的环路中操作。作为简单的描述,编码环路可包括源编码器(430)构成的编码部分(源编码器负责基于待编码的输入图片和参考图片创建符号)和嵌入于编码器(203)中的(本地)解码器(433),当在某些视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的时,(本地)解码器重建符号以用类似于(远程)解码器还可创建样本数据的方式创建样本数据。该重建的样本流可输入到参考图片存储器(434)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲器中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。本领域技术人员熟知这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)。
[0092]“本地”解码器(433)的操作可与已在上文结合图3详细描述的“远程”解码器(210)的操作相同。然而,当符号可用且熵编码器(445)和解析器(320)可无损地将符号编码/解码成已编码视频序列时,解码器(210)的熵解码部分(包括信道(312)、接收器(310)、缓冲器(315)和解析器(320))可能无法完全在本地解码器(433)中实施。
[0093]
此时可观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。为此,所公开的主题集中于解码器操作。可简化对编码器技术的描述,原因是对编码器技术的描述可与全面描述的解码器技术互逆。仅在某些区域中需要更详细的描述并在下文提供。
[0094]
作为其操作的一部分,源编码器(430)可执行运动补偿预测编码,参考来自视频序列中被指定为“参考帧”的一个或多个先前已编码帧,该运动补偿预测编码对输入帧进行预
测性编码。以此方式,编码引擎(432)对输入帧的像素块与参考帧的像素块之间的差异进行编码,该参考帧可被选作该输入帧的预测参考。
[0095]
本地视频解码器(433)可基于源编码器(430)创建的符号,对可指定为参考帧的帧的已编码视频数据进行解码。编码引擎(432)的操作有利地可以是有损过程。当已编码视频数据可在视频解码器(图4中未示出)处被解码时,已重建视频序列通常可以是源视频序列的副本,但带有一些误差。本地视频解码器(433)复制解码过程,该解码过程可由视频解码器对参考帧执行,且可使重建参考帧存储在参考图片存储器(434)中。以此方式,编码器(203)可在本地存储重建参考帧的副本,该副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。
[0096]
预测器(435)可针对编码引擎(432)执行预测搜索。即,对于将要编码的新帧,预测器(435)可在参考图片存储器(434)中搜索可作为该新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(435)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,如由预测器(435)获得的搜索结果所确定的那样,输入图片可具有从参考图片存储器(434)中存储的多个参考图片取得的预测参考。
[0097]
控制器(450)可管理视频编码器(430)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
[0098]
可在熵编码器(445)中对所有上述功能单元的输出进行熵编码。熵编码器通过根据本领域技术人员已知的例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将该符号变换成已编码视频序列。
[0099]
传输器(440)可缓冲由熵编码器(445)创建的已编码视频序列,从而为通过通信信道(460)进行传输做准备,该通信信道可以是通向将存储已编码视频数据的存储设备的硬件/软件链路。传输器(440)可将来自视频编码器(430)的已编码视频数据与要传输的其它数据合并,该其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
[0100]
控制器(450)可管理编码器(203)的操作。在编码期间,控制器(450)可给每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为帧内图片(i图片)、预测性图片(p图片)和双向预测性图片(b图片)。
[0101]
帧内图片(i图片)可以是不将序列中的任何其它帧用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(idr)图片。本领域技术人员了解i图片的那些变体及其相应的应用和特征。
[0102]
预测性图片(p图片)可以是可使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0103]
双向预测性图片(b图片)可以是可使用帧内预测或帧间预测进行编码和解码的图片,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联的元数据以用于重建单个块。
[0104]
源图片通常可在空间上细分成多个样本块(例如,4
×
4、8
×
8、4
×
8或16
×
16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测性编码,该其它块由应用于块的相应图片的编码分配来确定。举例来说,i图片的块可进行非预测性编码,或该块可参考同一图片的已编码块来进行预测性编码(空间预测或帧内预测)。p图片的像素块可
参考一个先前编码的参考图片通过空间预测或通过时间预测进行非预测性编码。b图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时间预测进行非预测性编码。
[0105]
视频编码器(203)可根据诸如itu-t建议书h.265的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(203)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所使用的视频编码技术或标准指定的语法。
[0106]
在一个实施例中,传输器(440)可在传输已编码视频时传输附加数据。视频编码器(430)可包括此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/snr增强层、诸如冗余图片和切片的其它形式的冗余数据、辅助增强信息(sei)消息、视频可用性信息(vui)的参数集片段等。
[0107]
【vp9和av1中的编码块分区】
[0108]
参考图5a至图5d的分区结构(502)-(508),vp9使用从64
×
64级别开始下降到4
×
4级别的4路分区树,对于8
×
8块存在一些额外的限制。应注意,图5d中指定为r的分区指的是递归的,因为相同的分区树以较小的尺寸重复,直到达到最低4
×
4级别。
[0109]
参考图6a至图6j的分区结构(511)-(520),av1不仅将分区树扩展到10路结构,而且最大尺寸(按vp9/av1术语中称为超级块)从128
×
128开始增加。应注意,这包括在vp9中不存在的4:1/1:4矩形分区。如图6c至图6f所示,具有3个子分区的区分类型被称为“t型”分区。矩形分区不可进一步细分。除了编码块大小之外,还可定义编码树深度以指示从根节点开始的拆分深度。具体地,根节点(例如128
×
128)的编码树深度设置为0,且在树块进一步拆分一次之后,编码树深度增加1。
[0110]
不像vp9中那样强制执行固定的变换单元大小,av1允许将亮度编码块划分成多个大小的变换单元,这些变换单元可由递减至多2个级别的递归分区来表示。为了合并av1的扩展编码块分区,可支持从4
×
4到64
×
64的正方形2:1/1:2和4:1/1:4变换大小。对于色度块,可以仅允许最大可能的变换单元。
[0111]
【hevc中的块划分】
[0112]
在hevc中,可通过使用表示为编码树的四叉树(qt)结构将编码树单元(ctu)拆分成编码单元(cu),以适应各种局部特性。可以在cu级别做出是否使用帧间图片(时间)预测或帧内图片(空间)预测对图片区域进行编码的决定。根据预测单元(pu)拆分类型,每个cu可进一步拆分成一个pu、二个pu或四个pu。在一个pu内,可应用相同的预测过程,且基于pu向解码器传输相关信息。在通过应用基于pu拆分类型的预测过程来获得残差块之后,可根据与cu的编码树类似的另一四叉树结构将cu划分成变换单元(tu)。hevc结构的关键特征之一是hevc结构具有多个分区概念,包括cu、pu和tu。在hevc中,对于帧间预测块,cu或tu可仅具有正方形形状,而pu可具有正方形或矩形形状。在hevc中,一个编码块可进一步拆分成四个正方形子块,且对每个子块(即,tu)执行变换。每个tu可进一步递归地拆分(使用四叉树拆分)成更小的tu,这称为残差四叉树(rqt)。
[0113]
在图片边界处,hevc采用隐式四叉树拆分,使得块将保持四叉树拆分,直到大小符合图片边界。
[0114]
【vvc中嵌套多类型树编码块结构的四叉树】
[0115]
在vvc中,使用二元和三元拆分分割结构的嵌套多类型树的四叉树代替了多个分区单元类型的概念。也就是说,vvc不包括cu、pu和tu概念的分离,除非cu的大小对于最大变换长度而言太大,且vvc支持cu分区形状的更大的灵活性。在编码树结构中,cu可具有正方形或矩形形状。编码树单元(ctu)首先由四元树(也称为四叉树)结构来划分。然后,可通过多类型树结构进一步划分四元树的叶节点。如图7a至图7d的图(532),(534),(536)和(538)所示,在多类型树结构中存在四种拆分类型:如图7a所示的垂直二元拆分(split_bt_ver),如图7b所示的水平二元拆分(split_bt_hor),如图7c所示的垂直三元拆分(split_tt_ver)以及如图7d所示的水平三元拆分(split_tt_hor)。多类型树的叶节点可被称为编码单元(cu),除非cu对于最大变换长度而言太大,否则这种分割可用于预测和变换处理,而无需进行任何进一步的划分。这意味着在大多数情况下,cu、pu和tu在嵌套多类型树编码块结构的四叉树中具有相同的块大小。当支持的最大变换长度小于cu的颜色分量的宽度或高度时,会出现例外情况。图8示出了针对一个ctu的块分区的一个示例。图8示出了使用四叉树和嵌套的多类型树编码块结构,将ctu(540)划分成多个cu,其中粗线边缘表示四叉树划分,虚线边缘表示多类型树划分。具有嵌套多类型树分区的四叉树提供了包括cu的内容自适应编码树结构。
[0116]
在vvc中,支持的最大亮度变换大小为64
×
64,且支持的最大色度变换大小为32
×
32。当cb的宽度或高度大于最大变换宽度或高度时,cb可沿着水平和/或垂直方向自动拆分,以满足该方向上的变换尺寸限制。
[0117]
在vtm7中,编码树方案支持使得亮度和色度具有单独的块树结构的能力。对于p切片(slice)和b切片,一个ctu中的亮度ctb和色度ctb可能必须共享相同的编码树结构。然而,对于i切片,亮度和色度可具有单独的块树结构。当应用单独的块树模式时,通过一个编码树结构将亮度ctb划分成cu,且通过另一编码树结构将色度ctb划分成色度cu。这意味着i切片中的cu可包括亮度分量的编码块或两个色度分量的编码块,且p切片或b切片中的cu可包括所有三个颜色分量的编码块,除非视频是单色的。
[0118]
【av1中的方向帧内预测】
[0119]
vp9支持对应于45度至207度的角度的八种方向模式。为了利用方向纹理中更多种类的空间冗余,在av1中,方向帧内模式扩展到具有更精细粒度的角度集合。将最初的八个角度稍微改变做成标称角度,这8个标称角度命名为v_pred(542),h_pred(543),d45_pred(544),d135_pred(545),d113_pred(546),d157_pred(547),d203_pred(548)和d67_pred(549),这8个标称角度在图9中相对于当前块(541)而示出。对于每个标称角度,存在七个更精细的角度,因此av1总共具有56个方向角。预测角度由标称帧内角度加上角度增量来呈现,角度增量是3度步长大小的-3至3倍。为了经由通用方式在av1中实现方向预测模式,av1中的所有56个方向帧内预测模式都使用统一的方向预测器来实现,该方向预测器将每个像素投影到参考子像素位置,且通过2抽头双线性滤波器对参考像素进行插值。
[0120]
【av1中的无方向平滑帧内预测器】
[0121]
在av1中,存在五种无方向平滑帧内预测模式,分别是dc,paeth,smooth,smooth_v和smooth_h。对于dc预测,在左侧和上方相邻样本的平均值用作待预测块的预测器。对于paeth预测器,首先获取顶部参考样本、左侧参考样本和左上参考样本,然后将最接近(顶部 左侧-左上)的值设置成待预测像素的预测器。图10示出了当前块(550)中的当前像素
(552)的顶部样本(554)、左侧样本(556)和左上样本(558)的位置。对于smooth、smooth_v模式和smooth_h模式,使用沿着垂直或水平方向的二次插值或者两个方向的平均值来预测当前块(550)。
[0122]
【从亮度预测的色度】
[0123]
对于色度分量,除了56种方向模式和5种无方向模式之外,从亮度预测色度(cfl)是仅色度的帧内预测模式,其将色度像素建模为重合的重建亮度像素的线性函数。cfl预测可以如以下等式1所示来表达:
[0124]
cfl(α)=α
×
l
ac
dc
ꢀꢀ
(等式1)
[0125]
其中,l
ac
表示亮度分量的交流(ac)贡献,α表示线性模型的参数,dc表示色度分量的直流(dc)贡献。具体地,将已重建的亮度像素二次采样到色度分辨率,然后减去平均值以形成ac贡献。为了从ac贡献近似色度ac分量,而不是如在一些背景技术中那样需要解码器计算缩放参数,av1 cfl基于原始色度像素确定参数α,并在比特流中用信号通知参数α。这降低了解码器复杂度并产生更精确的预测。对于色度分量的dc贡献,可使用帧内dc模式来计算色度分量的dc贡献,这对于大多数色度内容来说已经足够且具有成熟的快速实现。
[0126]
对于色度帧内预测模式的信令,首先可以用信号通知八个标称方向模式、5个无方向模式和cfl模式。用信号通知这些模式的上下文可取决于当前块的左上位置的对应亮度模式。然后,如果当前色度模式是方向模式,则可以用信号通知一个附加标志,以指示相对于标称角度的增量角度。
[0127]
【帧内块复制】
[0128]
来自不同图片的基于块的补偿可称为运动补偿。类似地,还可以从同一图片内的先前已重建区域完成块补偿。这可称为帧内图片块补偿,当前图片参考(cpr)或帧内块复制(ibc)。指示当前块与参考块之间的偏移的位移向量可称为块向量(bv)。与运动补偿中的运动向量(可以是任何值(沿着x或y方向的正值或负值))不同,块向量具有一些约束,使得确保所指向的参考块可用且已重建。此外,出于并行处理的考虑,还可排除作为图块边界或波前梯形边界的一些参考区域。
[0129]
块向量的编码可以是显式的或隐式的。在显式模式(在帧间编码中,称为amvp模式)中,可以用信号通知块向量与其预测器之间的差异;在隐式模式中,块向量可以以与运动向量在合并模式中的方式类似的方式,完全从块向量的预测器中恢复。在一些实现方式中,块向量的分辨率限制到整数位置;在其它系统中,可允许块向量的分辨率指向分数位置
[0130]
可使用块级标志(例如,ibc标志)来用信号通知在块级别使用帧内块复制。在一个实施例中,当当前块未以合并模式编码时,用信号通知该标志。或者,可通过参考索引方法用信号通知该标志。这可通过将当前已解码图片视为参考图片来完成。在hevc scc中,这样的参考图片可放置在列表的最后位置。该特殊参考图片还可与已解码图片缓冲器(dpb)中的其它时间参考图片一起管理。
[0131]
对于帧内块复制,还存在一些变化,例如将帧内块复制视为不同于帧内预测模式或帧间预测模式的第三模式。通过这样做,合并模式和amvp模式中的块向量预测与常规帧间模式分开。例如,针对帧内块复制模式定义单独的合并候选列表,其中,列表中的所有条目都是块向量。类似地,帧内块复制amvp模式中的块向量预测列表仅包括块向量。应用于这两个列表的通用规则是:就候选推导过程而言,这两个列表可遵循与帧间合并候选列表或
amvp预测器列表相同的逻辑。例如,针对帧内块复制,访问hevc或vvc帧间合并模式中的五个空间相邻位置,以推导出它自己的合并候选列表。图11示出了帧内块复制的示例,其示出了当前图片(560),其中,基于参考块(564)预测当前块(562),参考块(564)的位置由块向量(566)指示。
[0132]
ibc(也称为帧内bc-intrabc)对于屏幕内容编码非常有效,但是也给硬件设计带来许多困难。为了便于硬件设计,可以在av1中采用以下修改。
[0133]
修改1:当允许ibc时,禁用环路滤波器,环路滤波器是去块滤波器,cdef(约束方向增强滤波器)和环路恢复。通过这样做,已重建样本的图片缓冲器可以在ibc和帧间预测之间共享。
[0134]
修改2:为了便于并行解码,预测不能超过限制区域。对于一个超级块,如果其左上位置的坐标是(x0,y0),则当y《y0且x《x0 2*(y0-y)3时,可通过ibc访问位置(x,y)处的预测。
[0135]
为了允许硬件写回延迟,通过ibc预测可能无法访问立即重建区域。受限制的立即重建区域可以是1至n个超级块。因此,在修改2的基础上,如果一个超级块的左上位置的坐标是(x0,y0),则当y《y0且x《x0 2*(y0-y)-d时,可通过ibc访问位置(x,y)处的预测,其中d表示受限制的立即重建区域。当d是一个超级块时,预测区域可如图12所示。在图12中,多个当前处理块(572)通过斜条纹示出,多个受限制的立即块(574)通过交叉影线示出,且多个允许的预测块(576)通过深色图案示出。
[0136]
在vvc中,可将ibc模式的搜索范围约束在当前ctu内。为ibc模式存储参考样本的有效存储器要求可以是1个ctu大小的样本。考虑到现有的参考样本存储器存储当前64
×
64区域中的已重建样本,因此可能需要另外三个64
×
64大小的参考样本存储器。基于这一事实,本公开的实施例的方法可将ibc模式的有效搜索范围扩展到左侧ctu的某个部分,同时用于存储参考像素的总存储器要求保持不变(1个ctu大小,总共4个64
×
64参考样本存储器)。在图13a至图13d中示出这样的存储器重复使用机制的示例,其中,斜条纹块是当前编码区域,点状图案化的框中的样本是已编码样本,且划掉的区域(用“x”标记)不可用作参考,因为在参考样本存储器中,这些区域被当前ctu中的编码区域代替。
[0137]
例如,在图13a中,用x标记的参考样本(612a)不可用于当前样本(611)。类似地,在图13b中,参考样本(622a)和(622b)不可用于当前样本(621)。在图13c中,参考样本(632a),(632b)和(632c)不可用于当前样本631,以及在图13d中,参考样本(642a),(642b),(642c)和(642d)不可用于当前样本(641)。
[0138]
【对比技术的编码模式具有的问题】
[0139]
ibc以及其它编码模式可以假定在一个块内单个纹理图案。然而,在许多典型的视频内容中,对象之间彼此遮挡。例如,不移动的文本和徽标漂浮在具有完全不同的纹理图案或运动的主视频内容之上。例如,如图14所示的视频帧(700)所示,可以看到,存在两个匹配字符“o”(702)和“e”(704)的示例。然而,这些匹配字符位于不同的背景和ibc之上(假设所有样本共享相同的块向量)并因此不能有效地采集文本和背景。
[0140]
【本公开的实施例的示例性方面】
[0141]
本公开的实施例可以单独使用或以任何顺序组合使用。此外,每个实施例(例如,方法、编码器和解码器)可通过处理电路(例如,一个或多个处理器或者一个或多个集成电
路)来实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。
[0142]
本公开的实施例可包含任何数量的如上所述的方面。本公开的实施例还可包括下面描述的一个或多个方面,并解决上文讨论的问题和/或其它问题。
[0143]
a.第一方面
[0144]
根据实施例,代替对块应用单个预测模式,可以对单个块应用多个预测模式,且可执行分割(segmentation)过程以将单个块中的样本划分成不同的片段(segment),每个片段可与所选择的预测模式之一相关联。然后,对于属于第一片段的样本,使用相关联的第一预测模式生成第一片段的预测样本;对于属于第二片段的样本,使用相关联的第二预测模式生成第二片段的预测样本,等等。图15示出了这样的过程的示例,其中,当前块(722)的样本被分类(分割)为第一片段(a)和第二片段(b)。可通过应用ibc模式,使用块向量(726)获取预测块(724),来预测第一片段(a)的样本;且可通过应用常规帧内预测模式,使用相邻的已重建样本生成预测值,来预测第二片段(b)的样本。
[0145]
根据一个实施例,可针对块(例如,当前块(722))用信号通知多个预测模式。在一个示例中,多个预测模式包括ibc预测模式(包括块向量)和帧内预测模式(包括帧内预测模式或方向),帧内预测模式使用相邻的已重建样本来执行帧内预测。
[0146]
根据一个实施例,ibc与一个或多个默认帧内预测模式一起应用于单个块(例如,当前块(722)),且仅用信号通知与ibc相关的模式信息(例如,块向量)。对于单个块内的样本,ibc模式应用于一些样本,且一个或多个默认帧内预测模式应用于剩余样本。默认帧内预测模式包括但不限于dc,planar,smooth,smooth_h,smooth_v,paeth和plane模式。
[0147]
根据一个实施例,ibc与一个或多个默认帧内预测模式一起应用于单个块(例如,当前块(722)),且推断与ibc相关的模式信息(例如,块向量)。对于单个块内的样本,ibc模式应用于一些样本,且一个或多个默认帧内预测模式应用于剩余样本。可(例如,通过解码器)从块向量预测器列表(例如用于生成合并列表的那些预测器列表)中推导出推断的ibc信息(块向量)。如果存在多于一个可能的块向量候选,则可以用信号通知索引值,以从块向量预测器列表中选择块向量。例如,索引值可由解码器从编码器处接收。否则,可以在编码器未发送索引且解码器未接收索引的情况下,进行默认选择。在这种情况下,例如,可(例如,通过解码器)假设要使用预测器列表中的第一个块向量候选。默认帧内预测模式包括但不限于dc,planar,smooth,smooth_h,smooth_v,paeth和plane模式。
[0148]
实施例(例如,解码器)可以以不同的方式执行分割过程。根据实施例,可对当前块(722)执行分割过程。在一个示例中,首先计算单个当前块(722)内的样本的阈值。根据阈值,通过将样本的值与阈值进行比较来将样本分类为不同的片段。阈值包括但不限于平均值、中间值、或者从平均值或中间值推导出的其它值。在另一示例中,计算样本的值的分布的直方图。根据直方图,推导出关于样本计数的一个或多个阈值,且通过将样本在直方图中的样本计数与阈值进行比较来将样本分类为不同的片段。在另一示例中,应用卷积神经网络,卷积神经网络使用当前块(722)的样本作为输入,且卷积神经网络的输出是每个样本的片段索引。在另一示例中,边缘检测方法可应用于块。可根据可能的边缘边界来完成分割。
[0149]
根据一个或多个实施例,参考图16,首先对参考块(730)应用分割,然后将分割信息进一步映射到当前块(740),以推导出当前块(740)的样本的分割。在一个示例中,块向量
用于识别相邻的已重建区域中的参考块(730),对参考块(730)应用分割,然后使用块向量将分割信息映射到当前块(740)。参考图16,使用同一图片内的块向量推导出当前块(740)的参考块(730)。然后,对参考块(730)应用分割过程,将参考块(730)划分成例如多个部分(例如,第一片段(732)和第二片段(734))。在图16所示的示例中,第一片段(732)包括鸟儿的图像之外的区域,第二片段(734)包括鸟儿的图像。在分割过程中,获得指示每个样本的片段索引的分割图(736)。参考图16,分割图(736)的黑色部分对应于第一片段(732),分割图(736)的白色部分对应于第二片段(734)。然后,使用块向量将分割图(736)映射到当前块(740),以推导出当前块(740)的分割信息。基于分割信息,将当前块(740)分割成多个片段(例如,对应于第一片段(732)和第二片段(734)的两个片段)。例如,当前块(740)的第一片段包括鸟儿的图像之外的区域,当前块(740)的第二片段包括鸟儿的图像。然后,对当前块(740)应用常规预测过程以推导出常规预测块(750)。例如,常规预测过程可应用于当前块(740)的第一片段(包括鸟儿的图像之外的区域),而不应用于当前块(740)的第二片段。最后,将来自参考块(730)的第二片段(734)和常规预测块(750)使用分割图(736)进行组合,以推导出组合预测块(760)。
[0150]
对于每个片段,可以在片段的边界内生成预测样本。在预测每个可能片段的样本之后,预测的片段可合并在一起,以形成当前块(740)的最终预测器。通过将该预测块和可能的已解码残差块信号一起相加,(在任何环路滤波之前)该预测块和可能的已解码残差块信号一起可形成已重建块。
[0151]
根据实施例,识别参考块(730),使用参考块(730)的第二片段(734)进行预测,以及第二片段(734)与常规预测块(750)进行组合,均可被认为是与用于获得组合预测块(760)的常规预测过程不同的预测模式的一部分。
[0152]
b.第二方面
[0153]
根据上文关于第一方面描述的示例,可能需要为分割预测模式指定帧内块复制模式的块向量和帧内预测方向(或无方向模式选项)。下面描述可(例如,通过解码器)执行的选择的非限制性示例过程。
[0154]
在一个实施例中,用信号通知ibc模式的块向量,以指示参考块位置。信令可基于向量预测和编码的差(coded difference)。编码的差可以是块向量与其预测器之间的差,且可由解码器从编码器处接收。
[0155]
在另一实施例中,获得块向量候选列表,且通过用信号通知该列表中的条目的索引而从该列表中选择一个候选。所选择的候选用作块向量,而没有被编码的差。
[0156]
在另一实施例中,获得块向量候选列表,且通过选择该列表中的默认条目位置而从该列表中选择一个候选。例如,解码器可选择该列表中的第一个条目作为默认条目位置。在这种情况下,可以不需要用信号通知索引。所选择的候选用作块向量,而没有被编码的差。
[0157]
在另一实施例中,用信号通知帧内模式,以指示片段之一的帧内预测方法。信令可基于单独的帧内预测模式集合。在一个示例中,常规帧内预测可具有m个预测模式,而单独的帧内预测模式集合可以是n个模式。n可以不等于m。可获得最可能模式(mpm)列表,以预测所选择的帧内模式。在一个示例中,n个帧内预测模式可以是m个常规帧内预测模式的完整集合的子集。
[0158]
在另一实施例中,获得帧内预测模式候选列表,且通过用信号通知该列表中的条目的索引而从该列表中选择一个候选。所选择的候选用作帧内预测模式,而没有被编码的差。
[0159]
在另一实施例中,获得帧内预测模式候选列表,且通过选择该列表中的默认条目位置而从该列表中选择一个候选。例如,解码器可选择该列表中的第一个条目作为默认条目位置。在这种情况下,可以不需要用信号通知索引。所选择的候选用作帧内预测模式,而没有被编码的差。
[0160]
根据实施例,可提供至少一个处理器和存储计算机程序指令的存储器。当计算机程序指令由至少一个处理器执行时,计算机程序指令可实现编码器或解码器,且可执行本公开中描述的任何数量的功能。例如,参考图17,至少一个处理器可实现解码器(800)。计算机程序指令可包括例如重建代码(810),重建代码配置成使得至少一个处理器重建(例如,从编码器)接收的已编码图片的当前块。重建代码(810)可包括例如信令或推断代码(820)、分割代码(830)、第一预测代码(840)和/或第二预测代码(850)。
[0161]
根据本公开的实施例,信令或推断代码(820)可配置成使得至少一个处理器用信号通知语法元素(例如标志、索引等)的值,其中,语法元素可由解码器800从编码器处接收或以其它方式获得。替代地或附加地,根据本公开的实施例,信令或推断代码(820)可配置成使得至少一个处理器推断信息(例如,默认帧内预测模式和/或与ibc相关的模式信息)。
[0162]
根据本公开的实施例,分割代码(830)可包括当前块分割代码,当前块分割代码配置成使得至少一个处理器将当前块的样本分割成多个片段,多个片段包括第一片段和第二片段。例如,当前块分割代码可配置成使得至少一个处理器基于当前块的样本来计算至少一个阈值,以及基于至少一个阈值来分割当前块的样本。在这种情况和其它情况下,可以在应用第一预测模式之前执行对当前块的样本的分割。替代地,参考图16的描述,当前块分割代码可配置成使得至少一个处理器通过将所获得的参考块的分割信息(例如,分割图)映射到当前块,来分割当前块的样本。在这种情况下,分割代码(830)可进一步包括参考块分割代码,参考块分割代码配置成使得至少一个处理器将已编码图片的参考块的样本分割成多个片段,以获得参考块的分割信息。在这种情况和其它情况下,对样本的分割可至少部分地与第一预测模式的应用同时地执行。
[0163]
根据本公开的实施例,第一预测代码(840)可配置成使得至少一个处理器应用第一预测模式来预测已编码图片的当前块的第一片段。根据实施例,第一预测模式可以是ibc模式。根据实施例,参考图16,第一预测代码(840)可配置成使得至少一个处理器在分割参考块的样本之前且在分割当前块的样本之前,基于块向量来识别参考块。在这种情况下,第一预测代码(840)可配置成使得至少一个处理器通过使用分割信息将当前块的预测块与参考块的、对应于当前块的第一片段的片段进行组合,来获得组合预测块。
[0164]
第二预测代码(850)可配置成使得至少一个处理器应用不同于第一预测模式的第二预测模式来预测已编码图片的当前块的第二片段。根据实施例,第二预测模式可以是帧内预测模式,帧内预测模式使用相邻的已重建样本来执行帧内预测。根据实施例,参考图16,第二预测代码(850)可配置成使得至少一个处理器获得预测当前块的第二片段的预测块,其中,预测块用于获得组合预测块。
[0165]
根据实施例,本领域普通技术人员基于以上描述可理解,对应于上述过程的编码
器侧过程可通过用于对图片进行编码的编码代码来实现。
[0166]
上文描述的本公开的实施例的技术可使用计算机可读指令实现为计算机软件,且可物理地存储在一个或多个计算机可读介质中。例如,图18示出了适合于实现所公开的主题的实施例的计算机系统(900)。
[0167]
可使用任何合适的机器代码或计算机语言对计算机软件进行编码,任何合适的机器代码或计算机语言可经受汇编、编译、链接或类似的机制以创建包括指令的代码,该指令可由计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或通过解释、微代码执行等执行。
[0168]
指令可在各种类型的计算机或其组件上执行,计算机或其组件包括例如个人计算机、平板计算机、服务器、智能手机、游戏设备、物联网设备等。
[0169]
图18所示的计算机系统(900)的组件本质上是示例性的,并不旨在对实施本公开的实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为具有与计算机系统(900)的示例性实施例中所示的组件中的任何一个组件或组件的组合相关的任何依赖或要求。
[0170]
计算机系统(900)可包括某些人机接口输入设备。此类人机接口输入设备可响应于一个或多个人类用户通过例如下述的输入:触觉输入(例如:击键、划动,数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘)。人机接口设备还可用于捕获不一定与人的意识输入直接相关的某些媒介,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静止图像相机获取摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
[0171]
输入人机接口设备可包括下述中的一项或多项(每种中仅示出一个):键盘(901)、鼠标(902)、触控板(903)、触摸屏(910)、数据手套、操纵杆(905)、麦克风(906)、扫描仪(907)和相机(908)。
[0172]
计算机系统(900)还可包括某些人机接口输出设备。此类人机接口输出设备可例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感官。此类人机接口输出设备可包括触觉输出设备(例如触摸屏(910)的触觉反馈、数据手套或操纵杆(905),但也可以是不作为输入设备的触觉反馈设备)。例如,此类设备可以是音频输出设备(例如:扬声器(909)、耳机(未描绘))、视觉输出设备(例如包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕的屏幕(910),每种屏幕都有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能-其中的一些屏幕能够通过诸如立体图像输出之类的装置、虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘)以及打印机(未描绘)来输出二维视觉输出或超过三维的输出。
[0173]
计算机系统(900)还可包括人类可访问存储设备及其关联介质,例如,包括具有cd/dvd等介质(921)的cd/dvd rom/rw(920)的光学介质、指状驱动器(922)、可拆卸硬盘驱动器或固态驱动器(923)、诸如磁带和软盘之类的传统磁性介质(未描绘)、诸如安全软件狗之类的基于专用rom/asic/pld的设备(未描绘)等。
[0174]
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其它暂时性信号。
[0175]
计算机系统(900)还可包括通到一个或多个通信网络的接口。网络可例如是无线网络、有线网络、光网络。网络可进一步是本地网络、广域网络、城域网络、车辆和工业网络、
实时网络、延迟容忍网络等。网络的示例包括诸如以太网之类的局域网、无线lan、包括gsm、3g、4g、5g、lte等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括canbus的车辆和工业用网络等。某些网络通常需要连接到某些通用目的的数据端口或外围总线(949)的外部网络接口适配器(例如,计算机系统(900)的usb端口);如下所述,其它网络接口通常通过连接到系统总线而集成到计算机系统900的内核中(例如,连接到pc计算机系统中的以太网接口或连接到智能手机计算机系统中的蜂窝网络接口)。计算机系统(900)可使用这些网络中的任何一个网络与其它实体通信。此类通信可以是单向的、仅单向接收的(例如,广播电视)、仅单向发送的(例如,连接到某些canbus设备的canbus)、或双向的,例如,使用局域网或广域网数字网络连接到其它计算机系统。此类通信可包括与云计算环境(955)的通信。如上所述,可在那些网络和网络接口中的每一个上使用某些协议和协议栈。
[0176]
上述人机接口设备、人机可访问的存储设备和网络接口(954)可附接到计算机系统(900)的内核(940)。
[0177]
内核(940)可包括一个或多个中央处理单元(cpu)(941),图形处理单元(gpu)(942),现场可编程门区域(fpga)(943)形式的专用可编程处理单元、用于某些任务的硬件加速器(944)等。这些设备以及只读存储器(rom)(945)、随机存取存储器(946)、诸如内部非用户可访问的硬盘驱动器、ssd等之类的内部大容量存储器(947)可通过系统总线(948)连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(948),以能够通过附加的cpu、gpu等进行扩展。外围设备可直接附接到内核的系统总线(948)或通过外围总线(949)附接到内核的系统总线(948)。外围总线的体系结构包括pci、usb等。图形适配器(950)可包括在内核(940)中。
[0178]
cpu(941)、gpu(942)、fpga(943)和加速器(944)可执行某些指令,这些指令可以组合来构成上述计算机代码。该计算机代码可存储在rom(945)或ram(946)中。过渡数据也可存储在ram(946)中,而永久数据可例如存储在内部大容量存储器(947)中。可通过使用高速缓存来进行到任何存储设备的快速存储及检索,该高速缓存可与下述部件紧密关联:一个或多个cpu(941)、gpu(942)、大容量存储器(947)、rom(945)、ram(946)等。
[0179]
计算机可读介质可在其上具有用于执行各种由计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。
[0180]
作为非限制性示例,可由于一个或多个处理器(包括cpu、gpu、fpga、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件而使得具有架构(900),特别是内核(940)的计算机系统提供功能。此类计算机可读介质可以是与如上所述的用户可访问的大容量存储相关联的介质,以及某些非暂时性的内核(940)的存储器,例如内核内部大容量存储器(947)或rom(945)。可将实施本公开的各实施例的软件存储在此类设备中并由内核(940)执行。根据特定需要,计算机可读介质可包括一个或多个存储设备或芯片。软件可使得内核(940),特别是其中的处理器(包括cpu、gpu、fpga等)执行本文所描述的特定过程或特定过程的特定部分,包括定义存储在ram(946)中的数据结构以及根据由软件定义的过程来修改此类数据结构。附加地或替代地,可由于硬连线或以其它方式体现在电路(例如,加速器(944))中的逻辑而使得计算机系统提供功能,该电路可替换软件或与软件一起运行以
执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件的部分可包含逻辑,反之亦然。在适当的情况下,对计算机可读介质的参考可包括存储用于执行的软件的电路(例如集成电路(ic))、体现用于执行的逻辑的电路或包括两者。本公开包括硬件和软件的任何合适的组合。
[0181]
虽然本公开已经描述了多个非限制性示例实施例,但是存在落入本公开的范围内的变更、置换和各种替换等效物。因此,应当理解,本领域技术人员将能够设计出许多虽然未在本文中明确示出或描述,但是体现了本公开的原理,因此落入本公开的精神和范围内的系统和方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献