CN114424562A - 多个颜色分量的联合变换编码 - Google Patents

多个颜色分量的联合变换编码 Download PDF

Info

Publication number
CN114424562A
CN114424562A CN202180005406.7A CN202180005406A CN114424562A CN 114424562 A CN114424562 A CN 114424562A CN 202180005406 A CN202180005406 A CN 202180005406A CN 114424562 A CN114424562 A CN 114424562A
Authority
CN
China
Prior art keywords
transform
blocks
prediction residual
chroma prediction
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180005406.7A
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.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 America LLC filed Critical Tencent America LLC
Publication of CN114424562A publication Critical patent/CN114424562A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/18Methods 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 a set of transform coefficients
    • 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/186Methods 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 a colour or a chrominance component
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本申请包括一种方法和包括计算机代码的装置,所述计算机代码被配置为使得一个或多个处理器执行如下操作:接收开放媒体联盟视频1(AV1)格式的视频数据,所述视频数据包括至少两个色度预测残差信号块的数据;在至少一个信号块与所述色度预测残差信号块之间执行变换,所述至少一个信号块的尺寸小于或等于所述色度预测残差信号块的组合;以及基于所述变换的输出对所述视频数据进行解码,所述变换的输出包括所述尺寸小于或等于所述色度预测残差块的组合的所述至少一个信号块。

Description

多个颜色分量的联合变换编码
相关申请的交叉引用
本申请要求于2020年3月26日提交的美国临时申请第63/000,109号和于2020年10月29日提交的美国申请第17/083,662号的优先权,这些专利申请公开的全部内容在此通过引用明确地并入本申请。
技术领域
本申请总体上涉及数据处理领域,更具体地,涉及视频编码和/或解码。
背景技术
AOMedia Video1(AV1)是为在互联网上传输视频而设计的开放视频编码格式。AV1是由开放媒体联盟(Alliance for Open Media,AOMedia)作为VP9的后续者而开发的,AOMedia是成立于2015年的联合体,包括半导体公司、视频点播提供商、视频内容生产商、软件开发公司和网络浏览器供应商。在AV1中,总共有56个方向角,其中8个是标称角,其余的指定为标称角的增量(delta)。
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日,该规范的经过验证的1.0.0版本和勘误表1发布。AV1比特流规范包括参考视频编解码器。
国际电信联盟电信标准化部门的视频编码专家组(ITU-T VCEG)(Q6/16)和国际标准化组织的活动图像编码专家组(ISO/IEC MPEG)(JTC 1/SC 29/WG11)于2013年发布了第一版H.265/HEVC(High Efficiency Video Coding,高效视频编码)标准,2014年发布了第二版H.265/HEVC标准,2015年发布了第三版H.265/HEVC标准,和2016年发布了第四版H.265/HEVC标准。从那以后,他们一直在研究未来视频编码技术标准化的潜在需求,未来视频编码技术在压缩能力上可以显著优于HEVC。2017年10月,他们发布了关于视频压缩能力超越HEVC的视频压缩的联合征集提案(Call for Proposal)。截至2018年2月15日,共分别提交了22份标准动态范围(standard dynamic range,SDR)的CfP响应、12份高动态范围(high dynamic range,HDR)的CfP响应和12份360个视频种类的CfP响应。2018年4月,在122次MPEG/第10届JVET(Joint Video Exploration Team-Joint Video Expert Team,联合视频探索小组-联合视频专家小组)会议上对所有收到的CfP响应进行了评估。经过认真评估,JVET正式启动了超越HEVC的下一代视频编码标准化,即,所谓的多功能视频编码(Versatile Video Coding,VVC)。
在AV1中,通过各种手段为色度通道(例如,Cb和Cr)生成预测残差信号,并分别应用于帧内和帧间编码场景中。由于在大多数情况下对Cb和Cr通道应用相同的预测方法集,从而产生的来自不同色度通道的残差信号往往以某种可以分类的方式相关。需注意AV1没有编码工具来消除这种冗余以获得更好的压缩效率。另一方面,即使当前的VVC设计确实提供了利用这种趋势的一种方法,但它在利用仅两个同位色度样本之间的相关性的意义上是有局限性的。
发明内容
本申请提出了一组高级视频编码技术。更具体地,本申请公开了一种对来自多个颜色分量的残差(例如,来自两个色度分量的残差)进行联合编码的变换方案。
本申请包括一种方法和装置,所述装置包括被配置为存储计算机程序代码的存储器和被配置为访问计算机程序代码并按照计算机程序代码的指示运行的一个或多个处理器。所述计算机程序包括:接收代码,配置为使所述至少一个处理器接收AV1格式的视频数据,所述视频数据包括至少两个色度预测残差信号块的数据;执行代码,配置为使所述至少一个处理器在至少一个信号块和所述色度预测残差信号块之间执行变换,所述至少一个信号块的尺寸小于或等于所述色度预测残差信号块的组合;以及解码代码,配置为使所述至少一个处理器基于所述变换的输出对所述视频数据进行解码,所述变换的输出包括所述尺寸小于或等于所述色度预测残差块的组合的所述至少一个信号块。
根据示例性实施例,所述色度预测残差信号块包括N1xN2 Cb残差块和N1xN2 Cr残差块。
根据示例性实施例,所述变换包括:对所述至少一个信号块的系数的用信号通知的索引进行去量化,所述至少一个信号块的尺寸小于或等于所述色度预测残差信号块的组合;以及通过2xN1xN2乘LxM矩阵对去量化的用信号通知的索引进行变换。2xN1xN2是所述色度预测残差块的组合的尺寸,LxM是小于或等于所述色度预测残差块的组合的尺寸。
根据示例性实施例,通过2xN1xN2乘LxM矩阵对所述去量化的用信号通知的索引进行变换的结果包括重建的2xN1xN2向量;并且对所述视频数据进行解码,包括:根据重建的2xN1xN2向量重建N1xN2 Cb残差块和N1xN2 Cr残差块。
根据示例性实施例,所述至少一个信号块包括所述至少两个色度预测残差信号块的交织。
根据示例性实施例,所述至少一个信号块包括2xN1xN2三维(3-D)立方体。
根据示例性实施例,所述变换包括:对沿着所述3-D立方体的x轴的N1x1向量中的每个向量进行N1点1-D变换,对沿着所述3-D立方体的y轴的N2x1向量中的每个向量进行N2点1-D变换,以及对沿着所述3-D立方体的z轴的2x1向量中的每个向量进行2点变换。
根据示例性实施例,所述变换包括:对沿着3-D立方体的z轴的2x1向量中的每个向量进行2点1-D变换,以及对3-D立方体的x-y平面进行N1xN2变换。
根据示例性实施例,执行变换包括执行初级变换和二次变换。
根据示例性实施例,所述初级变换和所述二次变换中的至少一个包括:响应于确定与所述色度预测残差信号块中的至少一个的系数相关联的坐标的值大于或等于阈值的预定条件,将系数设置为零。
附图说明
根据下面结合附图阅读的说明性实施例的详细描述,这些及其他的目的、特征和优点将变得明显。附图的各种特征不是按比例绘制的,因为图示是为了清晰地便于本领域技术人员结合详细描述进行理解。在附图中:
图1示出了根据至少一个实施例的网络计算机环境。
图2是根据至少一个实施例的AV1的标称角的图。
图3示出了根据至少一个实施例的由编码视频数据的程序执行的步骤的操作性流程图。
图4是根据至少一个实施例的图1中所描绘的计算机和服务器的内部组件和外部组件的框图。
图5是根据至少一个实施例的包括图1中所描绘的计算机***的说明性云计算环境的框图。
图6是根据至少一个实施例的图5的说明性云计算环境的功能层的框图。
图7是根据示例性实施例的关于AVI中的无方向平滑帧内预测器的特征的框图。
图8是根据示例性实施例的关于递归帧内滤波模式的特征的框图。
图9是根据示例性实施例的关于多层参考帧结构的特征的框图。
图10是根据示例性实施例的关于候选运动向量列表构建的特征的框图。
图11是根据示例性实施例的关于运动场估计的特征的线图。
图12是根据示例性实施例的关于用于重叠块运动补偿(overlapped blockmotion compensation,OMBC)的重叠区域的特征的框图。
图13是根据示例性实施例的关于扭曲运动补偿的特征的框图。
图14是根据示例性实施例的关于高级复合预测的特征的框图。
图15是根据示例性实施例的特征的流程图。
图16是根据示例性实施例的关于放在一起作为3D立方体的残差的特征的空间图。
图17是根据示例性实施例的关于***的特征的框图。
图18是根据示例性实施例的关于解码器的特征的框图。
图19是根据示例性实施例的关于编码器的特征的框图。
具体实施方式
本文公开了所要求保护的结构和方法的详细实施例;然而,可以理解,所公开的实施例仅仅是对可以以各种形式实施的所要求保护的结构和方法的说明。然而,这些结构和方法可以以许多不同的形式体现,并且不应被解释为局限于本文所述的示例性实施例。相反,提供这些示例性实施例使得本公开是透彻的和完整的,并将范围向本领域技术人员充分地传达。在描述中,可以省略众所周知的特征和技术的细节,以避免不必要地模糊所呈现的实施例。
实施例总体上涉及数据处理领域,更具体地,涉及视频编码和解码。此外,以下描述的示例性实施例提供了一种***、方法和计算机程序,以使用从标称角度值导出的增量(delta)角度值对视频数据进行编码和/或解码。因此,通过不要求每个增量角都用信号通知且允许增量角度值的即时(on-the-fly)计算,一些实施例具有改善计算领域的能力。
如前所述,AOMedia Video 1(AV1)是为在互联网上传输视频而设计的开放视频编码格式。它是由开放媒体联盟(AOMedia)作为VP9的后续者而开发的,AOMedia是成立于2015年的联合体,包括半导体公司、视频点播提供商、视频内容生产商、软件开发公司和网络浏览器供应商。在AV1中,总共有56个方向角,其中8个是标称角,其余的指定为标称角的增量。然而,不论并置的(collocated)亮度预测模式如何,所有方向模式中的标称角和增量角都是针对色度分量而用信号通知的。此外,对于亮度和色度帧内预测模式都允许增量角,但不使用亮度分量和色度分量之间的增量角的相关性。因此,可能有利的是,基于来自亮度分量的标称角来导出色度分量的增量角度值,而不是用信号通知所有56个角度值。
本文根据各种实施例参考方法、装置(***)和计算机可读介质的流程图图示和/或框图对各方面进行了描述。应当理解,流程图图示和/或框图的每个块以及流程图图示和/或框图中的块的组合,可以通过计算机可读程序指令来实现。
现在参照图1,网络计算机环境的功能框图,示出了使用从标称角导出的增量角对视频数据进行编码和/或解码的视频编码***100(以下称为“***”)。应该理解,图1仅提供了一个实施方式的说明,并不意味着任何关于对可以实现不同实施例的环境的限制。可以根据设计和实现需求对所描述的环境进行诸多改动。
***100可以包括计算机102和服务器计算机114。计算机102可以经由通信网络110(以下称为“网络”)与服务器计算机114通信。计算机102可以包括处理器104和软件程序108,软件程序108存储在数据存储设备106上,并且能够与用户进行交互并与服务器计算机114通信。如下面将参照图4讨论,计算机102可以分别包括内部组件800A和外部组件900A,并且服务器计算机114可以分别包括内部组件800B和外部组件900B。计算机102可以是,例如,移动设备、电话、个人数字助理、上网本、膝上型计算机、平板计算机、台式计算机或能够运行程序、访问网络和访问数据库的任意类型的计算设备。
服务器计算机114还可以在云计算服务模型中运行,云计算服务模型包括例如,软件即服务(Software as a Service,SaaS)、平台即服务(Platform as aService,PaaS)或基础设施即服务(Infrastructure as a Service,IaaS),如下面关于图6和图7的讨论。服务器计算机114还可以位于云计算部署模型中,云计算部署模型包括例如,私有云、社区云、公共云或混合云。
可用于编码视频数据的服务器计算机114允许运行可与数据库112交互的视频编码程序116(以下称为“程序”)。下面参照图3更详细地对视频编码程序方法进行说明。在一个实施例中,计算机102可以作为包括用户接口的输入设备进行运行,而程序116可以主要在服务器计算机114上运行。在可选的实施例中,程序116可主要在一个或多个计算机102上运行,而服务器计算机114可用于处理和存储程序116使用的数据。应当注意,程序116可以是独立程序,或者可以集成到更大的视频编码程序中。
然而,应当注意,在一些实例下,用于程序116的处理可以在计算机102和服务器计算机114之间以任意比例分配。在另一个实施例中,程序116可以在一个以上的计算机、服务器计算机或计算机和服务器计算机的某种组合上运行,例如,通过网络110与单个服务器计算机114通信的多个计算机102上运行。在另一个实施例中,例如,程序116可以在多个服务器计算机114上运行,多个服务器计算机114通过网络110与多个客户端计算机通信。可选地,该程序可以在网络服务器上运行,网络服务器通过网络与服务器以及多个客户端计算机通信。
网络110可以包括有线连接、无线连接、光纤连接或其中某种组合。通常,网络110可以是支持计算机102和服务器计算机114之间通信的连接和协议的任意组合。网络110可以包括各种类型的网络,例如,局域网(local area network,LAN),比如因特网的广域网(wide area network,WAN)、比如公共交换电话网络(Public Switched TelephoneNetwork,PSTN)的电信网络、无线网络、公共交换网络、卫星网络、蜂窝网络(例如,第五代(fifth generation,5G)网络、长期演进(long-term evolution,LTE)网络、第三代(thirdgeneration,3G)网络、码分多址(code division multiple access,CDMA)网络等)、公共陆地移动网络(public land mobile network,PLMN)、城域网(metropolitan area network,MAN)、专用网络、自组织网络、内联网、基于光纤的网络等,和/或这些或其他类型网络的组合。
图1所示的设备和网络的数量和布置作为示例提供。实际上,相比图1中所示的设备和/或网络,可以存在更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络或不同布置的设备和/或网络。此外,图1中所示的两个或多个设备可以在单个设备内实现,或者图1中所示的单个设备可以作为多个分布式设备实现。附加地或可选地,***100的一组设备(例如,一个或多个设备)可以执行描述为由***100的另一组设备执行的一个或多个功能。
现在参照图2,描绘了示出AV1的标称角的示意图200。VP9支持8种方向模式,对应从45度到207度的角度。为了在方向纹理中利用更多种类的空间冗余,在AV1中,方向帧内模式被扩展到具有更细粒度的角度集。在AV1中,在45到207度之间有8个标称角,包括V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED和D67_PRED。对于每个标称角,可以有7个更精细的角度,这样AV1总共可以有56个方向角。预测角可以由标称内角加上角度增量表示,即3度步长的-3~3倍。增量角可能不需要由色度分量用信号通知,而是可以根据对应的亮度帧内预测模式导出。
在AV1中,首先通过信号通知8个标称模式和5个非角度平滑模式(non-angularsmooth mode),然后如果当前模式是角度模式,则进一步通过信号通知一个索引以指示相对于相应标称角度的角度增量。为了通过通用方式在AV1中实现方向预测模式,AV1中的所有56个方向帧内预测模式使用统一的方向预测器实现,该统一的方向预测器将每个像素投影到参考子像素位置并通过2抽头双线性滤波器对参考像素进行内插值。
在一个或多个实施例中,如果当前色度帧内预测模式是方向帧内预测模式并且色度帧内预测模式的标称角等于对应的亮度帧内预测模式的标称角时,色度分量的增量角可以被设置为等于亮度帧内预测模式的增量角。否则,可以将色度分量的增量角设置为等于0。
在一个或多个实施例中,可以将色度分量的增量角设置为等于亮度分量的增量角,而不论亮度和色度之间的标称模式是否相同。
在一个或多个实施例中,如果当前色度帧内预测模式是方向帧内预测模式并且色度帧内预测模式的标称角等于对应的亮度帧内预测模式的标称角时,色度分量的增量角可以被设置为等于亮度帧内预测模式的增量角。否则,当色度帧内预测模式的标称角等于对应亮度块的左边/上边相邻模式时,则色度分量的增量角可被设置为等于对应亮度块的左边/上边相邻模式的增量角。否则,可以将色度分量的增量角设置为等于0。
在一个或多个实施例中,当应用半解耦分区时,可以存在与一个色度块相关联的多个亮度块。因此,可以预定义多个样本位置,并且可以识别与这些位置相关联的用于预测共位的(co-located)亮度块的增量角和标称角。这些识别的标称角和增量角中的一个或多个可用于导出当前色度块的增量角。在一个示例中,预定义的样本位置可以包括左上角样本和/或中心/中间样本。在另一个示例中,预定义的样本位置可以包括四个角样本和中心/中间样本。在另一个示例中,可以使用在所识别的预测模式中可能最频繁使用的增量角来导出色度分量的增量角。在另一个示例中,预定义的样本位置可以包括四个角样本和一个中心/中间样本中的两个选定位置。在另一个示例中,预定义的样本位置可以包括四个角样本和一个中心/中间样本中的三个选定位置。
在一个或多个实施例中,如果当前色度帧内预测模式是方向帧内预测模式并且色度帧内预测模式的标称角等于对应的亮度帧内预测模式的标称角时,色度分量的增量角可以被设置为等于亮度帧内预测模式的增量角。否则,当色度帧内预测模式的标称角等于当前色度块的左边/上边相邻模式时,则色度分量的增量角可以被设置为等于当前色度块的左边/上边相邻模式的增量角。否则,可以将色度分量的增量角设置为等于0。
对应的亮度块的增量角可用于色度帧内预测模式的增量角的熵编码。在一个或多个实施例中,共位的亮度块的增量角可用作色度分量的增量角的熵编码的上下文。在一个或多个实施例中,相邻色度块的增量角被用作色度分量的增量角的熵编码的上下文。在一个或多个实施例中,可以用信号通知色度块的增量角与对应的亮度块的增量角之间的绝对差以用于色度帧内预测模式的熵编码,而不是用信号通知当前色度块的增量角。在一个或多个实施例中,仅当亮度和色度之间的标称模式可以相同或者当这两个模式之间的预测角的绝对差位于给定阈值内时,才应用上述实施例。
根据一个或多个实施例,对于色度帧内预测模式的熵编码,可以用信号通知第一标志以指示当前模式是否是从亮度预测色度(chroma-from-luma,CfL)。如果第一标志用信号通知为指示未使用CfL的值,则可以用信号通知第二标志以指示当前模式是否可等于对应亮度块的标称模式。如果当前模式等于对应亮度块的标称模式,当前模式是方向模式,并且允许增量角,则可以用信号通知第三标志以指示增量角的索引。否则,用信号通知第三标志以指示当前模式是剩余的标称模式中的哪一个。如果第一标志用信号通知为指示未使用CfL的值,则可以进一步用信号通知CfL模式的参数。
根据一个或多个实施例,对于色度帧内预测模式的熵编码,可以用信号通知第一标志以指示当前模式是否等于对应亮度块的标称模式或CfL模式。如果第一标志用信号通知为指示当前模式等于对应亮度块的标称模式或CfL模式的值,则可以用信号通知第二标志以指示两个模式中的哪一个可以是当前模式。如果当前模式等于对应亮度块的标称模式,当前模式为方向模式,且允许增量角,则可以进一步用信号通知增量角的索引。如果当前模式是CfL模式,则可以进一步用信号通知CfL模式的参数。如果第一标志用信号通知为指示当前模式不等于对应亮度块的标称模式或CfL模式的值,则可以用信号通知第二标志以指示剩余的标称模式中的哪一个可以应用于当前色度块。
在一个或多个实施例中,响应于色度分量的标称角和亮度分量的标称角相同或彼此接近,可以基于使用共位的亮度块的增量角作为上下文来对第一增量角度值进行熵编码。当标称角之间的差小于等于2度时,标称角可以彼此接近。可以基于使用共位的亮度块的增量角作为上下文或者基于使用相邻色度块的增量角作为上下文来对增量角度值进行熵编码。
可以理解,在一个或多个实施例中,亮度块和色度块的增量角可以使用分开的上下文以进行熵编码,而不是在亮度块和色度块的增量角中共享相同的上下文。
现在参照图3,描绘了示出用于编码和/或解码视频数据的方法300的步骤的操作流程图。在一些实施方式中,图3的一个或多个过程块可以由计算机102(图1)和服务器计算机114(图1)执行。在一些实施方式中,图3的一个或多个过程块可以由与计算机102和服务器计算机114分离的或包括计算机102和服务器计算机114的另一设备或设备组来执行。
在302中,方法300包括接收视频数据,该视频数据包括:(1)具有第一标称角和第一增量角的色度分量;以及(2)具有第二标称角和第二增量角的亮度分量。第一增量角依赖于第二增量角。
在304中,方法300包括至少基于与亮度分量相关联的帧内预测模式来用信号通知用于第一增量角的第一增量角度值。
在306中,方法300包括基于与第一增量角对应的第一增量角度值来编码和/或解码视频数据。
可以理解,图3仅提供了一个实施方式的说明,并不意味着任何对关于如何可以实现不同实施例的限制。可以根据设计和实现需求对所描述的环境进行诸多改动。
图4是根据示例性实施例的在图1中描绘的计算机的内部组件和外部组件的框图400。应该理解,图4仅提供了一个实施方式的说明,并不意味着任何对关于可实现不同实施例的环境的限制。可以根据设计和实现需求对所描述的环境进行诸多改动。
计算机102(图1)和服务器计算机114(图1)可以包括图4所示的内部组件800A、800B和外部组件900A、900B的相应集合。内部组件800中的每一组包括位于一个或多个总线826上的一个或多个处理器820、一个或多个计算机可读RAM 822和一个或多个计算机可读ROM 824、一个或多个操作***828以及一个或多个计算机可读有形存储设备830。
处理器820以硬件、固件或硬件和软件的组合来实现。处理器820是中央处理单元(central processing unit,CPU)、图形处理单元(graphics processing unit,GPU)、加速处理单元(accelerated processing unit,APU)、微处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gatearray,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)或其他类型的处理组件。在一些实施方式中,处理器820包括能够被编程以执行功能的一个或多个处理器。总线826包括允许内部组件800A、800B之间通信的组件。
一个或多个操作***828、软件程序108(图1)和位于服务器计算机114(图1)上的视频编码程序116(图1)存储在一个或多个相应的计算机可读有形存储设备830上,以便由一个或多个相应的处理器820经由一个或多个相应的RAM 822(通常包括高速缓冲存储器)执行。在图4所示的实施例中,每个计算机可读有形存储设备830是内部硬盘驱动器的磁盘存储设备。可选地,每个计算机可读有形存储设备830是半导体存储设备,例如ROM 824、EPROM、闪存存储器、光盘、磁光盘、固态盘、紧凑型光盘(compact disc,CD)、数字多功能盘(digital versatile disc,DVD)、软盘、盒式磁带、磁带和/或可存储计算机程序和数字信息的其他类型的非暂时性计算机可读有形存储设备。
每一组内部组件800A、800B还包括从一个或多个便携式计算机可读有形存储设备936(例如CD-ROM、DVD、存储器棒、磁带、磁盘、光盘或半导体存储设备)进行读取或向一个或多个便携式计算机可读有形存储设备写入的R/W驱动器或接口832。例如软件程序108(图1)和视频编码程序116(图1)的软件程序可以存储在一个或多个相应的便携式计算机可读有形存储设备936上,通过相应的R/W驱动器或接口832读取并加载到相应的硬盘驱动器830中。
每一组内部组件800A、800B还包括网络适配器或接口836(例如TCP/IP适配器卡),无线Wi-Fi接口卡,或3G、4G、5G无线接口卡或其他有线或无线通信链路。软件程序108(图1)和服务器计算机114(图1)上的视频编码程序116(图1)可以经由网络(例如,因特网、局域网或其他广域网)和相应的网络适配器或接口836,从外部计算机下载到计算机102(图1)和服务器计算机114。从网络适配器或接口836,软件程序108和服务器计算机114上的视频编码程序116被加载到相应的硬盘驱动器830中。该网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。
每一组外部组件900A、900B可以包括计算机显示器920、键盘930和计算机鼠标934。外部组件900A、900B还可以包括触摸屏、虚拟键盘、触摸板、定点设备和其他人机接口设备。每一组内部组件800A、800B还包括与计算机显示器920、键盘930和计算机鼠标934进行接口的设备驱动器840。设备驱动器840、R/W驱动器或接口832以及网络适配器或接口836包括硬件和软件(存储在存储设备830和/或ROM 824中)。
应当提前理解,尽管本公开包括关于云计算的详细描述,但本文叙述的教导的实施方式不限于云计算环境。相反,一些实施例能够结合现在已知或以后开发的任意其它类型的计算环境来实现。
云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用程序、虚拟机和服务)的共享池的便捷的、按需的网络访问,这些资源可以通过最小的管理工作或与服务提供商的交互来快速提供和释放。这个云模型可包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助服务:云消费者可根据需要自动地单方面提供计算能力(例如服务器时间和网络存储),而不需要与服务提供者进行人工交互。
广泛的网络接入:可通过网络获得能力并通过标准机制来访问能力,该标准机制促进由异构瘦客户端平台或胖客户端平台(例如,移动电话、膝上型计算机和PDA)使用。
资源池化:对提供者的计算资源进行池化以使用多租户模型服务于多个消费者,其中根据需求动态地分配和重新分配不同的物理资源和虚拟资源。存在与位置无关的感觉,原因是消费者通常无法控制所提供的资源的确切位置或不知道所提供的资源的确切位置,但是能够以更高的抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:可快速且弹性地提供能力(在某些情况下是自动地),以快速向外扩展和快速释放以快速向内收缩。对于消费者来说,可用于供应的能力通常看起来无限制,且可以在任何时候以任何数量购买。
测量的服务:云***通过在适合于服务类型(例如,存储、处理、带宽和活动用户帐户)的某个抽象级别下利用计量能力来自动控制和优化资源使用。可检测、控制和报告资源使用,从而给所使用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用程序。应用程序可通过瘦客户端接口从各种客户端设备访问,瘦客户端接口例如web浏览器(例如,基于web的电子邮件)。消费者不管理或控制包括网络、服务器、操作***、存储、或者甚至各个应用程序能力的底层云基础设施,可能的例外是有限的用户特有的应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该应用使用由提供者支持的编程语言和工具来创建。消费者不管理或控制包括网络、服务器、操作***或存储的底层云基础设施,而是控制所部署的应用和可能的应用托管环境配置。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述任意软件可包括操作***和应用。消费者不管理或控制底层云基础设施,而是控制操作***、存储、所部署的应用,且可能对选择联网组件(例如,主机防火墙)具有有限控制。
部署模型如下:
私有云:云基础设施专为组织运营。云基础设施可由该组织或第三方管理,且可以以内部部署或外部部署的方式存在。
社区云:云基础设施由数个组织共享,并支持具有共同关注点(例如,任务、安全要求、策略和合规性考虑)的特定社区。社区云可由这些组织或第三方管理,且可以以内部部署或外部部署的方式存在。
公共云:云基础设施可用于普通公众或大型工业集团,且由销售云服务的组织所拥有。
混合云:云基础设施是两个或更多个云(私有云、社区云或公共云)的组合,这些云保持独特的实体,但是通过标准化技术或专有技术而捆绑在一起,标准化技术或专有技术实现数据和应用可移植性(例如,用于云之间的负载平衡的云爆发)。
云计算环境面向服务,重点是无状态、低耦合、模块化和语义互操作性。云计算的核心是包括由互连节点构成的网络的基础设施。
参照图5,描述了示例性云计算环境500。如图所示,云计算环境500包括一个或多个云计算节点10,云消费者使用的本地计算设备(例如,个人数字助理(personal digitalassistant,PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机***54N)可以与云计算节点10通信。云计算节点10可以彼此通信。它们可以在一个或多个网络(例如,本文上面描述的私有云、社区云、公共云或混合云,或其组合)中物理地或虚拟地分组(未示出)。这允许云计算环境600提供基础设施、平台和/或软件作为不需要云消费者在本地计算设备上维护资源的服务。可以理解,图5所示的计算设备54A-N的类型仅用于说明,并且云计算节点10和云计算环境500可以通过任意类型的网络和/或网络可寻址的连接(例如,使用web浏览器)与任意类型的计算机化设备进行通信。
参照图6,示出了由云计算环境500(图5)提供的一组功能抽象层600。应该预先理解图6中示出的组件、层和功能仅用于说明,并且实施例不限于此。如图所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型主机61;基于RISC(Reduced Instruction Set Computer,精简指令集计算机)架构的服务器62;服务器63;刀片式服务器64;存储设备65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用程序和操作***74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态获取。当资源在云计算环境中被利用时,计量和定价82提供成本踪迹(tracking),并为这些资源的消耗开账单或开***。在一个示例中,这些资源可以包括应用软件许可证。安全方面为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户访问入口83为消费者和***管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(Service Level Agreement,SLA)规划和实现85提供对云计算资源的预先安排和获取,对于云计算资源,根据SLA预期未来需求。
工作负载层90提供可利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;事务处理95;以及视频编码/解码96。视频编码/解码96可以使用从标称角导出的增量角对视频数据进行编码/解码。
图7是根据示例性实施例的关于AVI中的无方向平滑帧内预测器的特征的框图700。例如,在AV1中,有5种无方向平滑帧内预测模式,分别是DC、PAETH、SMOOTH、SMOOTH_V和SMOOTH_H。对于DC预测,使用左侧(left)和上方(above)相邻样本的平均值作为待预测块的预测器。对于PAETH预测器,首先获取顶部(top)、左侧(left)和左上方(top-left)的参考样本,然后将最接近(顶部+左侧-左上方)的值设置为待预测像素的预测器。图7示出了当前块中一个像素的顶部、左侧和左上方样本的位置。对于SMOOTH、SMOOTH_V和SMOOTH_H模式,使用垂直或水平方向的二次插值或通过两个方向的平均来预测块。
图8是根据示例性实施例的关于递归帧内滤波模式的特征的框图800。例如,为了捕获边缘参考的衰减空间相关性,设计了针对亮度块的FILTER INTRA模式。为AV1预定义了五种滤波器帧内模式,每一种都由一组8个7抽头滤波器表示,以反映4x2小块(patch)中的像素和与其相邻的7个相邻像素之间的相关性。换言之,7抽头滤波器的权重因数与位置有关。以一个8x8块为例,它被分割成8个4x2小块,如图8所示。这些小块在图8中由B0、B1、B2、B3、B4、B5、B6和B7表示。对于每个小块,其7个相邻块(由R0~R7表示)用于预测当前小块中的像素。对于小块B0,所有相邻块都被重建。但是对于其他的小块,某些相邻块没有被重建,直接相邻块的预测值被用作参考。例如,小块B7的所有相邻块都没有被重建,因此根据实施例,替代地使用相邻块的预测样本。
CfL是一种仅用于色度的帧内预测器,其将色度像素建模为重合重建亮度像素的线性函数。CfL预测表示如下(公式1):
CfL(α)=α×LAC+DC 公式1
其中,LAC表示亮度分量的交流(Alternate current,AC)贡献,α表示线性模型的参数,DC表示色度分量的直流(Direct current,DC)贡献。具体来说,将重建的亮度像素二次采样为色度分辨率,然后减去平均值以形成AC贡献。为了通过AC贡献近似色度AC分量,而不是像某些现有技术那样要求解码器计算缩放参数,AV1 CfL基于原始色度像素确定参数α并在比特流中通过信号通知参数α。这降低了解码器的复杂性并产生了更精确的预测。至于色度分量的DC贡献,采用帧内DC模式计算,这对于大多数色度内容来说已经足够了,并且是成熟的且可以快速实现。
图9是根据示例性实施例的关于多层参考帧结构的特征的框图900。例如,可以有扩展的参考帧,使得除了VP9的3个参考帧,即LAST(最近的过去)帧、GOLDEN(遥远的过去)帧和ALTREF(时间滤波的未来)帧之外,还有如下四种类型的参考帧:
·LAST2和LAST3:两个附近的过去帧
·BWDREF、ALTREF2:两个未来帧
·BWDREF是不使用时间滤波而直接编码的超前帧,更适合用作相对较短距离的后向参考。
·ALTREF2是GOLDEN和ALTREF之间的中间滤波的未来参考。
图10是根据示例性实施例的关于候选运动向量列表构建的特征的框图1000。例如,通过动态空间和时间运动矢量参考,AV1结合了运动矢量参考选择方案以有效地编码运动矢量。AV1使用了比其前身VP9更宽的空间邻域以及运动场估计过程来寻找时间运动矢量参考候选。
图11是根据示例性实施例的关于运动场估计的特征的线图1100。例如,运动场估计过程在并置的128x128区域中搜索通过每个64x64处理单元的8x8块分辨率的所有运动轨迹。例如,在图11中,在所述过程之后搜索运动向量MVRef2,并导出比如MV0和MV1的投影运动向量。一旦找到所有候选运动向量,就对它们进行分类(sort)、合并(merge)和排序(rank),以建立最多四个最终候选者。然后,AV1用信号通知从列表中选择的参考运动向量的索引,并且可选地对运动向量差进行编码。
图12是根据示例性实施例的关于用于重叠块运动补偿(overlapped blockmotion compensation,OMBC)的重叠区域的特征的框图1200。例如,为了通过组合从相邻运动向量得到的预测来减小块边界周围的预测误差,AV1通过分别在垂直和水平方向上应用1-D滤波器来渐进地将基于块的预测与来自顶部和左侧边缘的二次预测器(secondarypedictors)进行组合。作为示例,在图12中,将通过1-D升余弦滤波器递归地生成混合预测样本来预测预测块0的阴影区域。图12示出了分别使用顶部邻块2和左侧邻块4来预测的阴影区域。
图13是根据示例性实施例的关于扭曲运动补偿的特征的框图1300。例如,AV1提出了两种仿射预测模型,即,全局扭曲运动补偿和局部扭曲运动补偿。前者在帧和其参考之间用信号通知帧级仿射模型,而后者通过最小的开销隐含地处理变化的局部运动。局部运动参数使用来自因果邻域的2D运动矢量在块级别推导出。这种仿射模型是通过基于1/64像素精度的8抽头插值滤波器的连续水平和垂直剪切操作来实现的。图13示出了先水平剪切后垂直剪切的两步扭曲过程。
图14是根据示例性实施例的关于高级复合预测的特征的框图1400。例如,根据实施例,AV1可以允许在每个像素位置(i,j)处进行更多样的(versatile)预测,如下所示(定义1)。
Figure BDA0003552327520000191
其中,p1和p2是两个预测,并且m(i,j)是从预定义表中查找的位于[0,1]的加权因子。
对于复合楔形预测,在AV1中提供了一个由16个可能的楔形分区组成的预定义集合,并且用信号通知其所选择的楔形索引。针对正方形和矩形块,它的方向包括水平的、垂直的和倾斜的(具有±2或±0.5的倾斜度)。为了减轻伪影,采用了软悬崖形状的二维楔形掩模。
对于差分调制掩码预测,根据实施例,AV1可以允许预测的一些区域更多地来自一个预测而不是另一个预测。更具体地说,使用以下形式的掩码(“定义2”):
Figure BDA0003552327520000192
其中,b控制第一预测器的影响,且a确保平滑调制。
对于基于帧距离的复合预测,根据实施例,AV1可以包括考虑帧距离的修改加权方案,帧距离被定义为两个帧的时间戳之间的绝对差。为了不仅考虑时间距离,而且还考虑通过多个参考的平均效应来减少量化噪声,AV1采用基于帧距离的方案,同时对于远距离预测器赋予稍微更多的权重,如下所示(“定义3”和“定义4”)。
Figure BDA0003552327520000193
Figure BDA0003552327520000194
其中,p是基于帧距离的预测,p1和p2是来自两个参考帧的预测值。权重(w1,w2)如上面所确定,其中,d1和d2表示当前帧与两个参考的帧距离。
对于复合帧间-帧内预测,根据实施例,AV1可以组合帧内预测和帧间预测,并且对于帧内部分支持四种常用的帧内模式。与该模式关联的掩码有两种类型:(i)类似于用于帧间-帧间模式的掩膜的平滑楔形掩模;(ii)沿帧内模式的主方向衰减的模式相关的掩模。
根据示例性实施例,对于每个变换单元,AV1系数编码从用信号通知跳过符号(skip sign)开始,其后紧跟着用信号通知变换内核类型和当跳过符号为零时的块结束(end-of-block,eob)位置。然后,将每个系数值映射到多个级别图(level maps)和符号上。
在对eob位置进行编码后,将低级别图(lower-level map)和中级别图(middle-level map)以反向扫描顺序编码,低级别图指示系数大小是否在0-2之间,中级别图指示范围是否在3-14之间。下一步,以正向扫描顺序对系数的符号进行编码以及通过Exp-Golomb码对系数的大于14的残值进行编码。
关于上下文建模的使用,低级别图编码包括了变换的尺寸和方向以及多达五个相邻系数信息。另一方面,中级别图编码遵循与低级别图编码相似的方法,只是相邻系数的数量降低到2个。用于残差级别的Exp-Golomb码以及AC系数的符号无需使用任何上下文模型进行编码,而DC系数的符号则采用其相邻变换单元的DC符号进行编码。
VVC草案6支持将色度残差进行联合编码的模式。联合色度编码模式的使用(激活)由TU级标志tu_joint_cbcr_residual_flag指示,所选模式由色度编码块标志CBFs隐含地指示。如果TU的色度CBFs中的一个或两个都等于1,则存在标志tu_joint_cbcr_residual_flag。在PPS和切片报头中,针对联合色度残差编码模式用信号通知色度量化参数QP偏移值,以便与针对常规色度残差编码模式用信号通知的色度QP偏移值进行区分。这些色度QP偏移值用于为使用联合色度残差编码模式编码的那些块导出色度QP值。当对应的联合色度编码模式(表1中的模式2)在TU中激活时,在该TU的量化和解码期间,将该色度QP偏移添加到所应用的亮度导出色度QP中。对于其他模式(表1中的模式1和模式3),色度QP的导出方式与常规Cb或Cr块的导出方式相同。表1中描绘了传输变换块的色度残差(resCb和resCr)的重建过程。当该模式被激活时,用信号通知一个单独的联合色度残差块(表1中的resJointC[x][y]),并且考虑比如tu_cbf_cb、tu_cbf_cr和Csign(CSign是在切片报头中指定的符号值)的信息推导出Cb的残差块(resCb)和Cr的残差块(resCr)。
上述三种联合色度编码模式仅在帧内编码的CU中支持。在帧间编码的CU中,仅支持模式2。因此,对于帧间编码的CU,语法元素tu_joint_cbcr_residual_flag仅在两个色度cbfs都为1时才存在。下面的表1指示了色度残差的重建,值CSign是在切片报头中指定的符号值(+1或-1),而resJointC[][]是传输的残差。
表1
Figure BDA0003552327520000211
上述三种联合色度编码模式仅在帧内编码的CU中支持。在帧间编码的CU中,仅支持模式2。因此,对于帧间编码的CU,语法元素tu_joint_cbcr_residual_flag仅在两个色度cbfs都为1时才存在。下面的表1指示了色度残差的重建,值CSign是在切片报头中指定的符号值(+1或-1),而resJointC[][]是传输的残差。
图15是根据示例性实施例的特征的流程图1500。
图16是根据示例性实施例的关于放在一起作为3D立方体的残差的特征的空间图。图16的特征和那些关于本文其他附图所描述的特征可以单独使用或以任意顺序组合使用。进一步,每个方法(或实施例)、编码器和解码器可以通过处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。假设一个或多个N1xN2 Cb预测残差块及其对应的Cr预测残差块作为S151处的输入。
在S151处,将两个N1xN2 Cb和Cr预测残差信号块变换为另一个或多个大小为MxL的信号块,其中MxL小于等于2xN1xN2;然而,可以在S151处替换或添加一个或多个修改。
例如,关于上面描述的压缩的技术问题的改进可以通过本文描述的变换来实现,这些变换去除了色度预测残差和类似信号中任意两者之间的冗余。
例如,根据示例性实施例,将N1xN2 Cb残差块及其对应的Cr残差块放在一起作为一个块,并对该块执行一次变换。可以存在2-D变换,其中,通过各种扫描顺序分别对每个输入通道进行矢量化(也称向量化),以实现大小为LxM的变换系数(本文称为“类型I”)。可以存在2-D变换,其中,除了上面提到的扫描顺序之外,还通过交织(interleaving)对两个输入通道进行矢量化(本文称为“类型II”)。
作为类型I和类型II的更具体的实施例,根据示例性实施例,可以针对以下的一个或多个对两个N1xN2变换系数块进行单独编码:
-(2xN1xN2)乘(2xN1xN2)KLT(Karhunen-Loève变换),
-降维KLT(RD-KLT),
-RD-KLT的可分离近似(Separable approximation),
-Givens/置换矩阵分解,以及
-三角变换的组合。
在一个实施例中,当在S151处将Cb和Cr放在一起作为一个块时,Cb和Cr残差按照锯齿形、光栅或对角线扫描顺序分别向量化,然后级联(concatenate)以形成(2xN1xN2)乘1向量。该向量通过(LxM)乘(2xN1xN2)矩阵进行变换,以形成大小为(LxM)乘1的信号块。该信号块的系数被量化,并且用信号通知量化索引。解码过程对索引进行去量化并通过(2xN1xN2)乘(LxM)矩阵对其进行逆变换,以得到重建的2xN1xN2向量,该2xN1xN2向量可以反向扫描返回到重建的Cb和Cr残差块。
在一个实施例中,当在S151处将Cb和Cr放在一起作为一个块时,Cb残差块及其对应的Cr残差块以交织的方式(即,一个样本来自Cb,下一个样本来自Cr)向量化,其中每个样本按照锯齿形、光栅或对角线扫描顺序从残差块中获取,以形成(2xN1xN2)乘1向量。然后,该向量通过(LxM)乘(2xN1xN2)矩阵进行变换,以形成大小为(LxM)乘1的变换信号块。该变换信号块的系数被量化,并且用信号通知量化索引。解码过程对索引进行去量化并通过(2xN1xN2)乘(LxM)矩阵对其进行逆变换,以得到重建的2xN1xN2向量,该2xN1xN2向量可以反向扫描返回到重建的Cb和Cr残差块。
在一个实施例中,在S151处,还有LxM等于2xN1xN2的设置,并且在S153处,变换的输出被进一步分割成两个N1xN2块,这些块分别被进一步量化,并被解码或熵编码到比特流中。
在一个实施例中,在S151处,当LxM等于2xN1xN2时,上述变换矩阵的大小为(2xN1xN2)乘(2xN1xN2),并且可以被确定为KLT(Karhunen-Loève变换)。给定2xN1xN2乘1输入向量信号X(假设它被均值移除以具有零均值),则(2xN1xN2)乘(2xN1xN2)协方差矩阵
Figure BDA0003552327520000231
满足以下公式(“公式2”)。
RXXIj=λjIj 公式2
其中,λj和Ij是RXX的第j个特征值和对应的特征向量。
KLT矩阵H将上述特征向量作为矩阵的行,并将X变换为Y,如下所示(“公式3”)。
Y=HX 公式3
其中,
Figure BDA0003552327520000232
Y的元素是互不相关的,它们的方差等于特征值。此外,H是正交变换,使得输入信号向量X可以进行如下恢复(“公式4”)。
X=HTY 公式4
在一个实施例中,在S151处,可以通过从KLT的(2xN1xN2)个基向量中仅选择对应于LxM个最大特征值的LxM个特征向量,来确定上面的(LxM)乘(2xN1xN2)矩阵。
在一个实施例中,在S151处,上面确定的(LxM)乘(2xN1xN2)KLT可以由其可分离近似来逼近。作为一个示例,该KLT矩阵H可以通过解决下面的优化问题(问题1-Prob 1)来逼近。
minP,S‖H-P1SP2F 问题1
其中,S是可分离的行/列矩阵,P1和P2是待确定的置换矩阵。
在一个实施例中,在S151处,上面的(LxM)乘(2xN1xN2)矩阵可以构建为多级Givens旋转矩阵和/或置换矩阵。作为示例,该KLT矩阵H可以通过解决下面的优化问题(问题2-Prob 2)来逼近。
minT‖H-T‖F 问题2
其中,
Figure BDA0003552327520000241
是多级的级联,每一级由一个Givens旋转矩阵与置换矩阵及其逆矩阵的乘积组成。
在一个实施例中,在S151处,可以根据一组DCT/DST(离散余弦/离散正弦)变换自适应地构建上述(LxM)乘(2xN1xN2)矩阵。
在S154处,可以确定是否将N1xN2 Cb残差块及其对应的Cr残差块放在一起作为一个2xN1xN2三维(3-D)立方体(如图16所示立方体1600),如果是,则在S155处对该立方体执行3-D变换。
根据示例性实施例,可以存在与这些描述的特征一起使用的完全可分离的3-D变换和1D+2D变换中的任意一种。
在一个实施例中,在S155处,该三维(3-D)变换可以沿着三个轴分开进行。即,对沿着x轴的N1x1向量中的每个向量进行N1点1-D变换,对沿着y轴的N2x1向量中的每个向量进行N2点1-D变换,以及对沿着z轴的2x1向量中的每个向量进行另一个2点变换。这些变换的应用顺序可以是任意的。
在一个实施例中,在S155处,该三维(3-D)变换可以沿着z轴分开进行,同时对x-y平面执行任意2-D变换。即,对沿z轴的2x1向量中的每个向量执行2点1-D变换,而对x-y平面执行(N1xN2)变换。
在S156处,可以确定是否进一步应用关于S152描述的变换中的一个或多个作为二次变换,二次变换的输入是色度预测残差的初级变换系数(primary transformcoefficient)。
例如,对于每个N1xN2色度残差,它仅取K1个变换系数,并且这两组K1个系数级联以形成关于S152所描述的二次变换的输入,并且特定的示例性实施例可以包括以下中的一个或多个:
-对将应用二次变换的初级变换类型的限制,
-输入到二次变换的某些系数归零,以及
-对仅初级变换系数和其他系数进行单独编码。
如果来自S156是这样,则在一个实施例中,在(从S156到S152的)S152处,正向二次变换(forward secondary transform)的输入是沿着正向扫描顺序的两组第一K1(K1<=N1×N2)个系数的级联,每个系数来自经变换的Cb残差和Cr残差,并且大小为K2乘(2×K1)的正向二次变换的输出是一组K2个系数,该组K2个系数替换相同的两组K1个输入系数。这组K2个系数与未应用二次变换的两组(N1XN2-K1)个系数分开进行熵编码。大小为(2xK1)乘K2的二次逆变换(inverse secondary transform)的输入是大小为K2乘1的量化系数向量且二次逆变换的输出是大小为(2xK1)的系数向量,据此,K1个系数中的每一个与单独熵编码的(N1xN2-K1)个系数中的每一个级联起来。在一个实施例中,如果与系数相关联的坐标(x,y)满足x+y大于或等于给定阈值T的条件,那么系数始终被设置为0。T的示例值包括但不限于0到32之间的整数。在一个实施例中,对应用初级变换和二次变换的系数以及仅应用初级变换的系数分别进行编码。即,可以首先对既应用初级变换又应用二次变换的系数进行编码,然后对仅应用初级变换的系数进行编码;反之亦然。
尽管流程图1500已经关于色度进行了描述,但是本文还公开了流程图1500可以包括其他实施例。在一个实施例中,所述方法应用于亮度预测残差、以及上述色度预测残差中的任一个。在一个实施例中,在适用的情况下,所述方法应用于在任意多分量信号的选定的两个分量之间。在一个实施例中,S152的方法和从S156到S152的S152的方法中的任一种可以通过级联M个输入块应用于整个M分量信号。在一个实施例中,关于S155的方法可以通过执行M维变换应用于整个M分量信号。
也就是说,可以推广到其他类型的多通道信号,使得来自亮度的残差可以与色度的残差相关联,通用(generic)多通道信号也可以受益。S152的2D变换的方法和来自S156的S152的二次变换的方法可以通过级联M个输入块以形成M通道信号情况下的输入来应用,并且可以应用M维变换。
输出153可以是关于通过本文描述的以及下文关于图17-19进一步讨论的特征进行的编码和解码中的任意一个或多个的输出。
作为所公开主题的应用的示例,图17示出了视频编码器和解码器在流式传输环境中的放置方式。所公开的主题可以同样适用于其他支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字媒体上存储压缩视频等等。
流式传输***可以包括采集子***1703,采集子***1703可以包括视频源1701,例如数码相机,该视频源1701创建例如未压缩的视频样本流1713。相较于已编码的视频比特流,样本流1713可以被强调为高数据量,并且可以由耦接至相机1701的编码器1702处理。编码器1702可以包括硬件、软件或硬件和软件的组合,以启用或实现如下面更详细描述的所公开主题的各方面。相较于样本流,已编码视频比特流1704可被强调为较低数据量,并且可以被存储在流式传输服务器1705上以供将来使用。一个或多个流式传输客户端1712和1707可以访问流式传输服务器1705以检索已编码视频比特流1704的副本1708和1706。客户端1712可以包括视频解码器1711,视频解码器1711对已编码视频比特流的传入副本1708进行解码,并且创建一个可以在显示器1709或其他显示装置(未描绘)上显示的输出视频样本流1710。在一些流式传输***中,可以根据某些视频编码/压缩标准对视频比特流1704、1706和1708进行编码。这些标准的示例在上文中已提及并在本文中被进一步描述。
图18可以是根据本发明实施例的视频解码器1800的功能框图。
接收器1802可接收要由解码器1800解码的一个或多个已编解码视频序列;在同一实施例或另一实施例中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其他已编码视频序列的解码。可从信道1801接收已编码视频序列,该信道1801可以是通向存储已编码视频数据的存储装置的硬件/软件链路。接收器1802可以接收已编码视频数据和其他数据,例如已编码音频数据和/或辅助数据流,这些数据可以被转发到它们各自的使用实体(未描绘)。接收器1802可以将已编码视频序列与其他数据分开。为了防止网络抖动,缓冲存储器1803可以耦接在接收器1802和熵解码器/解析器1804(以下称为“解析器”)之间。当接收器1802从具有足够带宽和可控性的存储/转发装置或从同步网络接收数据时,可能不需要配置缓冲存储器1803,或者可以将缓冲存储器1803做得很小。为了在例如互联网等业务分组网络上使用,也可能需要缓冲存储器1803,该缓冲存储器1803可以相对较大并且可以有利地具有自适应大小。
视频解码器1800可以包括解析器1804以从熵编码的视频序列重建符号1813。这些符号的类别包括用于管理解码器1800的操作的信息,以及用于控制显示装置(例如显示器1812)的潜在信息,该显示装置(例如显示器1812)不是解码器的组成部分,但可以耦接至解码器。显示装置的控制信息可以是辅助增强信息(Supplementary EnhancementInformation,SEI)或视频可用性信息(Video Usability Information,VUI)参数集片段(未描绘)的形式。解析器1804可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以根据视频编码技术或标准进行,并且可以遵循本领域技术人员熟知的原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文敏感性的算术编码等等。解析器1804可以基于对应于群组的至少一个参数,从已编码视频序列中提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可以包括图像群组(Groups of Pictures,GOP)、图像、图块、切片、宏块、编码单元(CU)、块、变换单元(TU)、预测单元(PU)等。熵解码器/解析器还可以从已编码视频序列中提取信息,例如变换系数、量化器参数值、运动矢量等。
解析器1804可以对从缓冲存储器1803接收的视频序列执行熵解码/解析操作,从而创建符号1813。解析器1804可以接收已编码数据,并且选择性地解码特定符号1813。此外,解析器1804可以确定是否某些符号1813将被提供给运动补偿预测单元(MotionCompensation Prediction unit)1806、缩放器/逆变换单元1805、帧内预测单元1807或环路滤波器1811。
符号1813的重建可以涉及多个不同的单元,这取决于已编码视频图像或其部分的类型(例如:帧间和帧内图像、帧间和帧内块)以及其他因素。涉及哪些单元以及涉及方式可由解析器1804从已编码视频序列解析的子群控制信息来控制。为了简洁起见,未描绘解析器1804与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块外,解码器1800可以在概念上细分为如下文所描述的数个功能单元。在商业约束下运行的实际实现方式中,这些单元中的许多单元彼此密切交互,并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
第一单元是缩放器/逆变换单元1805。缩放器/逆变换单元1805从解析器1804接收作为符号1813的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元1805可以输出包括样本值的块,该样本值可输入到聚合器1810中。
在一些情况下,缩放器/逆变换1805的输出样本可属于帧内编码块;即:不使用来自先前重建的图像的预测性信息,但可以使用来自当前图像的先前重建部分的预测性信息的块。此类预测性信息可以由帧内图像预测单元1807提供。在一些情况下,帧内图像预测单元1807采用从当前(部分重建的)图像1809提取的周围已重建信息生成大小和形状与正在重建的块相同的块。在一些情况下,聚合器1810基于每个样本,将帧内预测单元1807生成的预测信息添加到由缩放器/逆变换单元1805提供的输出样本信息中。
在其他情况下,缩放器/逆变换单元1805的输出样本可属于帧间编码和潜在的运动补偿块。在此情况下,运动补偿预测单元1806可以访问参考图像存储器1808以提取用于预测的样本。在根据属于块的符号1813对提取的样本进行运动补偿之后,这些样本可以由聚合器1810添加到缩放器/逆变换单元的输出(在这种情况下被称为残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元从参考图像存储器内的地址获取预测样本可能受到运动矢量控制,且该运动矢量以符号1813的形式而供运动补偿单元使用,该符号1813可以具有例如X、Y和参考图像分量。运动补偿还可以包括在使用子样本精确运动矢量时,从参考图像存储器提取的样本值的内插、运动矢量预测机制等。
聚合器1810的输出样本可以经受环路滤波器单元1811中的各种环路滤波技术。视频压缩技术可以包括环路内滤波技术,该环路内滤波技术受控于包括在已编码视频比特流中并且作为来自解析器1804的符号1813可用于环路滤波器单元1811的参数,然而,视频压缩技术还可响应于在解码已编码图像或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元1811的输出可以是样本流,该样本流可以输出到显示装置1812以及存储在参考图像缓冲器1808中,以用于后续的帧间图像预测。
一旦完全重建,某些已编码图像就可以用作参考图像以用于将来预测。一旦已编码图像被完全重建并且已编码图像(通过例如解析器1804)被识别为参考图像,则当前参考图像1809可变为参考图像缓冲器1808的一部分,且可在开始重建后续已编码图像之前重新分配新的当前图像存储器。
视频解码器1800可根据预定视频压缩技术执行解码操作。在已编码视频序列遵循如视频压缩技术文件或标准以及在视频压缩技术文件或标准的配置文件中指定的视频压缩技术或标准的语法的意义上,已编码视频序列符合所使用的视频压缩技术或标准指定的语法。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图像大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图像大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical Reference Decoder,HRD)规范和在已编码视频序列中用信号通知的HRD缓冲器管理的元数据来进一步限定。
在实施例中,接收器1802可连同已编码视频一起接收附加(冗余)数据。该附加数据可以被包括作为已编码视频序列的一部分。该附加数据可由视频解码器1800用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图像、前向纠错码等形式。
图19可以是根据本申请实施例的视频编码器1900的功能框图。
编码器1900可以从视频源1901(并非是编码器的一部分)接收视频样本,视频源1901可以采集将由编码器1900编码的视频图像。
视频源1901可以提供将由编码器(1703)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601Y CrCB、RGB……)和任何合适采样结构(例如Y CrCb 4:2:0、Y CrCb 4:4:4)。在媒体服务***中,视频源1901可以是存储预先准备好的视频的存储装置。在视频会议***中,视频源1901可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图像,当按顺序观看时,这些图像被赋予运动。图像自身可构建为空间像素阵列,其中取决于所用的采样结构、色彩空间等,每个像素可包括一个或多个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
根据实施例,编码器1900可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图像编码且压缩成已编码视频序列1910。施行适当的编码速度是控制器1902的一个功能。控制器控制如下文所描述的其它功能单元且在功能上耦接到所述其它功能单元。为了简洁起见,图中未标示耦接。由控制器设置的参数可包括速率控制相关参数(图像跳过、量化器、率失真优化技术的λ值等)、图像大小、图像群组(group of pictures,GOP)布局、最大运动矢量搜索范围等。本领域的技术人员可以很容易地识别出控制器1902的其他功能,因为这些功能涉及针对某一***设计优化的视频编码器1900。
一些视频编码器在本领域技术人员容易识别的“编码环路”中进行操作。作为简化的描述,编码环路可以包括编码器1902(以下称为“源编码器”)(负责基于待编码的输入图像和参考图像创建符号)的编码部分和嵌入于编码器1900中的(本地)解码器1906,解码器1906重建符号以用类似于(远程)解码器创建样本数据的方式创建样本数据(因为在所公开主题所考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。将重建的样本流输入到参考图像存储器1905。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图像缓冲器内容在本地编码器和远程编码器之间也是位精确的。换句话说,编码器的预测部分“看到”的参考图像样本与解码器在解码期间使用预测时所“看到”的样本值完全相同。这种参考图像同步性的基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)对于本领域技术人员来说是众所周知的。
“本地”解码器1906的操作可与已在上文结合图18详细描述的“远程”解码器1800的操作相同。然而,另外简要参考图19,当符号可用且熵编码器1908和解析器30能够无损地将符号编码/解码为已编码视频序列时,包括信道1801、接收器1802、缓冲器1803和解析器1804在内的解码器1800的熵解码部分,可能无法完全在本地解码器1906中实施。
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
在操作期间,源编码器1903可以执行运动补偿预测编码,即参考来自视频序列中被指定为“参考图像”的一个或多个先前已编码图像,对输入图像进行预测性编码。以这种方式,编码引擎1907对输入图像的像素块与参考图像的像素块之间的差异进行编码,该参考图像可被选作该输入图像的预测参考。
本地视频解码器1906可以基于由源编码器1903创建的符号,对可指定为参考图像的图像的已编码视频数据进行解码。编码引擎1907的操作可以有利地为有损过程。当已编码视频数据可在视频解码器(图19中未示出)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器1906复制解码过程,该解码过程可由视频解码器对参考图像执行,并且可以使重建的参考图像存储在参考图像高速缓存1905中。以这种方式,编码器1900可以在本地存储重建的参考图像的副本,该副本与将由远端视频解码器获得的重建参考图像具有共同的内容(不存在传输误差)。
预测器1904可对编码引擎1907执行预测搜索。即,对于将要编码的新图像,预测器1904可在参考图像存储器1905中搜索可作为该新图像的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图像运动矢量、块形状等。预测器1904可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,如由预测器1904获得的搜索结果所确定的那样,输入图像可具有从参考图像存储器1905中存储的多个参考图像取得的预测参考。
控制器1902可以管理视频编码器1903的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器1908中对所有上述功能单元的输出进行熵编码。熵编码器根据例如霍夫曼编码、可变长度编码、算术编码等本领域技术人员已知的技术,对各种功能单元生成的符号进行无损压缩,从而将该符号转换成已编码视频序列。
传输器1909可缓冲由熵编码器1908创建的已编码视频序列,从而为通过通信信道1911进行传输做准备,该通信信道1911可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器1909可以将来自视频编码器1903的已编码视频数据与要传输的其他数据合并,该其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
控制器1902可管理编码器1900的操作。在编码期间,控制器1902可以为每个已编码图像分配某一已编码图像类型,但这可能影响可应用于相应的图像的编码技术。例如,通常可将图像分配为以下任一种图像类型:
帧内图像(I图像),其可以是不将序列中的任何其它图像用作预测源就可被编码和解码的图像。一些视频编解码器容许不同类型的帧内图像,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图像。所属领域的技术人员了解I图像的变体及其相应的应用和特征。
预测性图像(P图像),其可以是可使用帧内预测或帧间预测进行编码和解码的图像,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图像(B图像),其可以是可使用帧内预测或帧间预测进行编码和解码的图像,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图像可使用多于两个参考图像和相关联元数据以用于重建单个块。
源图像通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,该其它块由应用于块的相应图像的编码分配来确定。举例来说,I图像的块可进行非预测编码,或该块可参考同一图像的已经编码的块来进行预测编码(空间预测或帧内预测)。P图像的像素块可参考一个先前编码的参考图像通过空间预测或通过时域预测进行预测编码。B图像的块可参考一个或两个先前编码的参考图像通过空间预测或通过时域预测进行预测编码。
视频编码器1900可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器1900可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
在实施例中,传输器1909可在传输已编码的视频时传输附加数据。源编码器1903可将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/SNR增强层、冗余图像和切片等其它形式的冗余数据、SEI消息、VUI参数集片段等。
一些实施例可涉及处于整合的任何可能的技术细节级别的***、方法和/或计算机可读介质。所述计算机可读介质可以包括在其上具有用于使处理器执行操作的计算机可读程序指令的计算机可读非暂时性存储介质(或媒介)。
计算机可读存储介质可以是可保持和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如,但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或上述的任意适当组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasableprogrammable read-only memory,EPROM)或闪存存储器、静态随机存取存储器(staticrandom access memory,SRAM)、便携式光盘只读存储器(compact disc read-onlymemory,CD-ROM)、数字多功能盘(digital versatile disk,DVD)、存储器棒、软盘、比如穿孔卡或其上记录有指令的凹槽中的凸起结构的机械编码设备,以及上述的任意适当组合。本文使用的计算机可读存储介质本身不应被理解为瞬时信号,例如,无线电波或其他自由传播的电磁波,通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过电线传播的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如:互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行操作的计算机可读程序代码/指令可以是汇编程序指令、指令集体系结构(instruction-set-architecture,ISA)指令、机器指令、机器相关指令、微码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象编程语言,比如Smalltalk、C++等,以及过程编程语言,比如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户计算机上执行,部分在用户计算机上执行,或者作为独立的软件包,部分在用户计算机上执行,部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种场景下,远程计算机可以通过任意类型的网络连接到用户的计算机,网络包括局域网(local area network,LAN)或广域网(wide area network,WAN),或者可以连接到外部计算机(例如,通过使用因特网服务提供商提供的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,FPGA)或可编程逻辑阵列(programmable logicarray,PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以使电子电路个性化,以便执行多个方面或操作。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以生产机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令来创建用于实现流程图和/或框图块中指定的功能/动作的方式。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得具有存储在其上的指令的计算机可读存储介质包括制造的产品,该制造的产品包括实现流程图和/或框图块中指定的功能/动作的各个方面的指令。
计算机可读程序指令也可加载到计算机、其它可编程数据处理装置或其它设备上,以使在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其它可编程装置或其它设备上执行的指令实现流程图和/或框图块中指定的功能/动作。
附图中的流程图和框图示出了根据各种实施例的***、方法和计算机可读介质的可能的实施方式的体系结构、功能和操作。就这一点而言,流程图或框图中的每个块可以表示指令的模块、段或部分,指令包括一个或多个用于实现指定逻辑功能的可执行指令。相比图中描绘的块,该方法、计算机***和计算机可读介质可以包括更多的块、更少的块、不同的块或不同布置的块。在一些可选的实施方式中,模块中所述的功能可能与图中所述的顺序不同。例如,根据所涉及的功能,示出的连续的两个块实际上可以同时执行或基本上同时执行,或者这些块有时可以以相反的顺序执行。还将注意到,方框图和/或流程图图示中的每个块以及方框图和/或流程图图示中的块的组合,可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的基于专用硬件的***来实现。
很明显,本文描述的***和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些***和/或方法的实际专用控制硬件或软件代码并不限制实施方式。因此,本文描述了***和/或方法的操作和行为,而不参考特定的软件代码——可以理解,软件和硬件可以设计成基于本文的描述来实现***和/或方法。
本文使用的任何元素、行为或指令都不应被解释为关键或必要的,除非被明确描述为关键或必要的。此外,如本文所使用的,用语“一”和“一个”意在包括一个或多个项目,并且可以与“一个或多个”互换使用。此外,如本文所使用的,术语“集合”旨在包括一个或多个项(例如,相关项、不相关项、相关和不相关项的组合等),并且可以与“一个或多个”互换使用。如果仅旨在表示一个项目,则使用术语“一个”或类似的语言。此外,如在本文所使用的,术语“包括”“具有”等旨在表示开放式术语。进一步地,除非另有明确说明,“基于”一词旨在表示“至少部分基于”。
已出于说明的目的呈现了对各个方面和实施例的描述,但并不旨在穷举或限制于所公开的实施例。即使在权利要求中叙述和/或在说明书中公开特征的组合,这些组合并不旨在限制可能的实现方式的公开内容。实际上,这些特征中的许多特征可以以未在权利要求中具体陈述和/或未在说明书中公开的方式组合。虽然下面列出的每个从属权利要求可仅直接从属于一个权利要求,但是可能的实现方式的公开内容包括每个从属权利要求与权利要求集中的每一个其它权利要求的组合。在不脱离所描述的实施例的范围的情况下,诸多改动和变化对于本领域的普通技术人员将是显而易见的。选择本文使用的术语是为了最好地解释实施例的原理,对市场上发现的技术的实际应用或技术改进,或者使本领域的其他普通技术人员能够理解本文公开的实施例。

Claims (20)

1.一种视频解码的方法,由至少一个处理器执行,所述方法包括:
接收开放媒体联盟视频1(AV1)格式的视频数据,所述视频数据包括至少两个色度预测残差信号块的数据;
在至少一个信号块与所述色度预测残差信号块之间执行变换,所述至少一个信号块的尺寸小于或等于所述色度预测残差信号块的组合;以及
基于所述变换的输出对所述视频数据进行解码,所述变换的输出包括所述尺寸小于或等于所述色度预测残差块的组合的所述至少一个信号块。
2.根据权利要求1所述的方法,其特征在于,所述色度预测残差信号块包括:N1xN2 Cb残差块和N1xN2 Cr残差块。
3.根据权利要求2所述的方法,其特征在于,所述变换包括:
对所述至少一个信号块的系数的用信号通知的索引进行去量化,所述至少一个信号块的所述尺寸小于或等于所述色度预测残差信号块的组合,以及
通过2xN1xN2乘LxM矩阵对去量化的用信号通知的索引进行变换,
其中,2xN1xN2是所述色度预测残差块的组合的尺寸,以及
其中,LxM是小于或等于所述色度预测残差块的组合的尺寸。
4.根据权利要求3所述的方法,其特征在于,通过2xN1xN2乘LxM矩阵对所述去量化的用信号通知的索引进行变换的结果包括:重建的2xN1xN2向量,以及
对所述视频数据进行解码,包括:根据所述重建的2xN1xN2向量来重建所述N1xN2 Cb残差块和所述N1xN2 Cr残差块。
5.根据权利要求4所述的方法,其特征在于,所述至少一个信号块包括:所述至少两个色度预测残差信号块的交织。
6.根据权利要求2所述的方法,其特征在于,所述至少一个信号块包括:2xN1xN2三维(3-D)立方体。
7.根据权利要求6所述的方法,其特征在于,所述变换包括:对沿着所述3-D立方体的x轴的N1x1向量中的每个向量进行N1点1-D变换,对沿着所述3-D立方体的y轴的N2x1向量中的每个向量进行N2点1-D变换,以及对沿着所述3-D立方体的z轴的2x1向量中的每个向量进行2点变换。
8.根据权利要求6所述的方法,其特征在于,所述变换包括:对沿着所述3-D立方体的z轴的2x1向量中的每个向量进行2点1-D变换,以及对所述3-D立方体的x-y平面进行N1xN2变换。
9.根据权利要求2所述的方法,其特征在于,执行所述变换,包括:执行初级变换和二次变换。
10.根据权利要求9所述的方法,其特征在于,所述初级变换和所述二次变换中的至少一个包括:响应于确定与所述色度预测残差信号块中的至少一个的系数相关联的坐标的值大于或等于阈值的预定条件,将系数设置为零。
11.一种视频解码的装置,所述装置包括:
至少一个存储器,配置为存储计算机程序代码;
至少一个处理器,配置为访问所述计算机程序代码并按照所述计算机程序代码的指示进行操作,所述计算机程序代码包括:
接收代码,配置为使所述至少一个处理器接收开放媒体联盟视频1(AV1)格式的视频数据,所述视频数据包括至少两个色度预测残差信号块的数据;
执行代码,配置为使所述至少一个处理器在至少一个信号块与所述色度预测残差信号块之间执行变换,所述至少一个信号块的尺寸小于或等于所述色度预测残差信号块的组合;以及
解码代码,配置为使所述至少一个处理器基于所述变换的输出对所述视频数据进行解码,所述变换的输出包括所述尺寸小于或等于所述色度预测残差块的组合的所述至少一个信号块。
12.根据权利要求11所述的装置,其特征在于,所述色度预测残差信号块包括:N1xN2Cb残差块和N1xN2 Cr残差块。
13.根据权利要求12所述的装置,其特征在于,所述变换包括:
对所述至少一个信号块的系数的用信号通知的索引进行去量化,所述至少一个信号块的所述尺寸小于或等于所述色度预测残差信号块的组合,以及
通过2xN1xN2乘LxM矩阵对去量化的用信号通知的索引进行变换,
其中,2xN1xN2是所述色度预测残差块的组合的尺寸,以及
其中,LxM是小于或等于所述色度预测残差块的组合的尺寸。
14.根据权利要求13所述的装置,其特征在于,通过2xN1xN2乘LxM矩阵对所述去量化的用信号通知的索引进行变换的结果包括:重建的2xN1xN2向量,以及
对所述视频数据进行解码,包括:根据所述重建的2xN1xN2向量来重建所述N1xN2 Cb残差块和所述N1xN2 Cr残差块。
15.根据权利要求14所述的装置,其特征在于,所述至少一个信号块包括:所述至少两个色度预测残差信号块的交织。
16.根据权利要求12所述的装置,其特征在于,所述至少一个信号块包括:2xN1xN2三维(3-D)立方体。
17.根据权利要求16所述的装置,其特征在于,所述变换包括:对沿着所述3-D立方体的x轴的N1x1向量中每个向量进行N1点1-D变换,对沿着所述3-D立方体的y轴的N2x1向量中的每个向量进行N2点1-D变换,以及对沿着所述3-D立方体的z轴的2x1向量中的每个向量进行2点变换。
18.根据权利要求6所述的装置,其特征在于,所述变换包括:对沿着所述3-D立方体的z轴的2x1向量中的每个向量进行2点1-D变换,以及对所述3-D立方体的x-y平面进行N1xN2变换。
19.根据权利要求2所述的装置,其特征在于,执行所述变换,包括:执行初级变换和二次变换。
20.一种非暂时性计算机可读介质,存储有使计算机执行过程的程序,所述过程包括:
接收开放媒体联盟视频1(AV1)格式的视频数据,所述视频数据包括至少两个色度预测残差信号块的数据;
在至少一个信号块与所述色度预测残差信号块之间执行变换,所述至少一个信号块的尺寸小于或等于所述色度预测残差信号块的组合;以及
基于所述变换的输出对所述视频数据进行解码,所述变换的输出包括所述尺寸小于或等于所述色度预测残差块的组合的至少一个信号块。
CN202180005406.7A 2020-03-26 2021-02-24 多个颜色分量的联合变换编码 Pending CN114424562A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063000109P 2020-03-26 2020-03-26
US63/000,109 2020-03-26
US17/083,662 2020-10-29
US17/083,662 US11405615B2 (en) 2020-03-26 2020-10-29 Joint transform coding of multiple color components
PCT/US2021/019371 WO2021194679A1 (en) 2020-03-26 2021-02-24 Joint transform coding of multiple color components

Publications (1)

Publication Number Publication Date
CN114424562A true CN114424562A (zh) 2022-04-29

Family

ID=77856672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180005406.7A Pending CN114424562A (zh) 2020-03-26 2021-02-24 多个颜色分量的联合变换编码

Country Status (6)

Country Link
US (2) US11405615B2 (zh)
EP (1) EP4005207A4 (zh)
JP (2) JP2022548094A (zh)
KR (1) KR20220032623A (zh)
CN (1) CN114424562A (zh)
WO (1) WO2021194679A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230035118A1 (en) * 2021-07-23 2023-02-02 Tencent America LLC Cross component end of block flag coding
US11979596B2 (en) 2022-02-07 2024-05-07 Tencent America LLC Joint coding for adaptive motion vector difference resolution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101138392B1 (ko) * 2004-12-30 2012-04-26 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
US7970219B2 (en) * 2004-12-30 2011-06-28 Samsung Electronics Co., Ltd. Color image encoding and decoding method and apparatus using a correlation between chrominance components
EP3301920A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for coding/decoding omnidirectional video
US11647214B2 (en) 2018-03-30 2023-05-09 Qualcomm Incorporated Multiple transforms adjustment stages for video coding
CN113678450A (zh) * 2019-03-12 2021-11-19 弗劳恩霍夫应用研究促进协会 用于图像和视频编码的选择性分量间变换(ict)

Also Published As

Publication number Publication date
JP2022548094A (ja) 2022-11-16
EP4005207A4 (en) 2022-10-26
EP4005207A1 (en) 2022-06-01
JP2024050762A (ja) 2024-04-10
KR20220032623A (ko) 2022-03-15
US20220345707A1 (en) 2022-10-27
WO2021194679A1 (en) 2021-09-30
US20210306634A1 (en) 2021-09-30
US11711514B2 (en) 2023-07-25
US11405615B2 (en) 2022-08-02

Similar Documents

Publication Publication Date Title
CN112789850B (zh) 一种视频编解码方法、装置、设备和介质
JP7046220B2 (ja) 小ブロックの予測と変換のための方法、装置、及びプログラム
CN113614736A (zh) 视频编解码的方法和装置
CN110719485B (zh) 视频解码方法、装置及存储介质
CN110719477B (zh) 视频编解码的方法、装置、计算机设备及计算机可读存储介质
JP2022525550A (ja) 映像符号化における幾何学的区分モード
JP2022526400A (ja) ビデオコーディングのための方法および装置
JP2022506681A (ja) アフィンモデルの動きベクトルに対する制約
JP7025562B2 (ja) ビデオ符号化のための方法、及び装置
JP2022514921A (ja) イントラ予測モードとブロック差分パルスコード変調モードとの間の相互作用のための方法および装置
JP2022525748A (ja) ビデオ符号化のための色変換
US11711514B2 (en) Joint transform coding of multiple color components
JP2022515799A (ja) ビデオ復号の方法および装置、並びにプログラム
CN113491118A (zh) 视频编解码方法及装置
JP2022512088A (ja) ビデオコーディングのための方法、装置、およびプログラム
KR20220127308A (ko) 비디오 코딩을 위한 방법 및 장치
CN113228631A (zh) 视频编解码的方法和装置
KR20220085836A (ko) 비디오 코딩 방법 및 장치
JP2022517787A (ja) 動画符号化方法、動画符号化機器及びコンピュータプログラム
JP7451772B2 (ja) ビデオ情報を処理するための方法、デバイス、およびコンピュータプログラム
KR20230085184A (ko) 인트라 예측의 융합에 대한 수정
KR102663502B1 (ko) 비디오 코딩 방법 및 장치
CN115486077A (zh) 针对变换系数的符号图的改进熵编码
RU2787810C1 (ru) Способ и устройство для преобразования цвета при универсальном видеокодировании (VVC)
JP2023553997A (ja) 複合インターイントラ予測モードのための適応変換

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40072088

Country of ref document: HK