CN103975595B - 用于视频译码的分段参数集 - Google Patents
用于视频译码的分段参数集 Download PDFInfo
- Publication number
- CN103975595B CN103975595B CN201280053896.9A CN201280053896A CN103975595B CN 103975595 B CN103975595 B CN 103975595B CN 201280053896 A CN201280053896 A CN 201280053896A CN 103975595 B CN103975595 B CN 103975595B
- Authority
- CN
- China
- Prior art keywords
- nal unit
- parameter set
- quantization matrix
- video
- fragment
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/66—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
视频编码器产生第一网络抽象层NAL单元。所述第一NAL单元含有与视频数据相关联的参数集的第一片段。所述视频编码器还产生第二NAL单元。所述第二NAL单元含有所述参数集的第二片段。视频解码器可接收包含所述第一和第二NAL单元的位流。所述视频解码器至少部分地基于所述参数集对所述视频数据的一个或一个以上经译码图片进行解码。
Description
本申请案主张2011年10月31日申请的第61/553,652号美国临时申请案的权益,所述美国临时申请案的整个内容以应用的方式并入本文。
技术领域
本发明涉及视频译码(即,视频数据的编码和/或解码),且更特定来说涉及视频译码中的参数集。
背景技术
数字视频能力可并入到广泛多种装置中,包含数字电视机、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置和类似装置。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)界定的标准、当前在开发的高效视频译码(HEVC)标准以及此些标准的扩展中描述的那些技术。视频装置可通过实施此些视频压缩技术来较有效地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割为若干视频块,所述视频块也可称为树块、译码单元(CU)和/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可称为帧,且参考图片可称为参考帧。
空间或时间预测得到待译码块的预测块。残余数据表示待译码的原始块与预测块之间的像素差。经帧间译码块是根据指向形成预测块的参考样本的块的运动向量以及指示经译码块与预测块之间的差的残余数据来编码。经帧内译码块是根据帧内译码模式和残余数据来编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而得到残余系数,所述系数随后可经量化。可扫描初始以二维阵列布置的经量化系数以便产生系数的一维向量,且可应用熵译码以实现甚至更多的压缩。
发明内容
大体上,视频编码器产生多个网络抽象层(NAL)单元。NAL单元含有与视频数据相关联的参数集的不同片段。视频解码器可接收包含含有参数集的片段的NAL单元的位流。所述视频解码器至少部分地基于所述参数集对所述视频数据的一个或一个以上经译码图片进行解码。
在一个方面中,本发明描述用于对视频数据进行编码的方法。所述方法包括产生第一NAL单元。所述第一NAL单元含有与视频数据相关联的参数集的第一片段。所述方法还包括产生第二NAL单元。所述第二NAL单元含有所述参数集的第二片段,所述第一和第二NAL单元为非视频译码层(VCL)NAL单元。
在另一方面中,本发明描述对视频数据进行解码的方法。所述方法包括接收包括第一NAL单元和第二NAL单元的位流。第一NAL单元含有参数集的第一片段且第二NAL单元含有参数集的第二片段。第一和第二NAL单元为非VCL NAL单元。另外,所述方法包括至少部分地基于所述参数集对所述视频数据的一个或一个以上经译码图片进行解码。
在另一方面中,本发明描述包括经配置以产生第一NAL单元的一个或一个以上处理器的计算装置。所述第一NAL单元含有与视频数据相关联的参数集的第一片段。所述一个或一个以上处理器还经配置以产生第二NAL单元。所述第二NAL单元含有所述参数集的第二片段。第一和第二NAL单元为非VCL NAL单元。
在另一方面中,本发明描述包括用于产生第一NAL单元的装置的计算装置。所述第一NAL单元含有与视频数据相关联的参数集的第一片段。所述计算装置还包括用于产生第二NAL单元的装置。所述第二NAL单元含有所述参数集的第二片段。第一和第二NAL单元为非VCL NAL单元。
在另一方面中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在由计算装置的一个或一个以上处理器执行时致使所述计算装置产生第一NAL单元。所述第一NAL单元含有与视频数据相关联的参数集的第一片段。所述指令还致使所述计算装置产生第二NAL单元。所述第二NAL单元含有所述参数集的第二片段。第一和第二NAL单元为非VCLNAL单元。
在另一方面中,本发明描述包括经配置以接收位流的一个或一个以上处理器的计算装置,所述位流包括第一NAL单元和第二NAL单元。所述第一NAL单元含有参数集的第一片段。所述第二NAL单元含有所述参数集的第二片段。第一和第二NAL单元为非VCL NAL单元。所述一个或一个以上处理器还经配置以至少部分地基于所述参数集对视频数据的一个或一个以上经译码图片进行解码。
在另一方面中,本发明描述包括用于接收包括第一NAL单元和第二NAL单元的位流的装置的计算装置。第一NAL单元含有参数集的第一片段且第二NAL单元含有参数集的第二片段。第一和第二NAL单元为非VCL NAL单元。另外,所述计算装置包括用于至少部分地基于所述参数集对视频数据的一个或一个以上经译码图片进行解码的装置。
在另一方面中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在由计算装置的一个或一个以上处理器执行时致使所述计算装置接收包括第一NAL单元和第二NAL单元的位流。第一NAL单元含有参数集的第一片段且第二NAL单元含有参数集的第二片段。第一和第二NAL单元为非VCL NAL单元。所述指令还致使所述计算装置至少部分地基于所述参数集对视频数据的一个或一个以上经译码图片进行解码。
在附图和以下描述中陈述本发明的一个或一个以上实例的细节。从描述、图式以及权利要求书将明了其它特征、目的和优点。
附图说明
图1是图解说明可实施本发明中描述的技术中的一者或一者以上的实例性视频译码系统的框图。
图2是图解说明可实施本发明中描述的技术中的一者或一者以上的实例性视频编码器的框图。
图3是图解说明可实施本发明中描述的技术中的一者或一者以上的实例性视频解码器的框图。
图4是图解说明根据本发明的一个或一个以上技术的视频编码器的实例操作的流程图。
图5是图解说明根据本发明的一个或一个以上技术的视频解码器剖析参数集NAL单元的实例操作的流程图。
图6是图解说明根据本发明的一个或一个以上技术的视频解码器剖析参数集NAL单元中的量化矩阵表的实例操作的流程图。
具体实施方式
当位流在通信网络中发射时,位流可划分为符合例如实时协议(RTP)等通信协议的一系列包。关于单个包可含有的数据量存在限制,例如最大发射单元(MTU)大小。通常,所述包中的每一者含有单个网络抽象层(NAL)单元。然而,如果NAL单元大于MTU大小,那么NAL单元经分裂且在两个或两个以上包中输送。大体上,不希望在两个或两个以上包之间分裂NAL单元,因为在包的发射期间即使包中的单个一者丢失或被破坏,整个NAL单元也可能无用。
视频编码器可产生含有参数集的NAL单元,所述参数集例如图片参数集(PPS)和序列参数集(SPS)。在参数集中包含量化矩阵可致使含有参数集的NAL单元大于端到端发射路径的MTU大小。因此,包化器可在两个或两个以上包之间分裂NAL单元。在多个包之间分裂NAL单元可为不合意的,因为包中的任一者的丢失都可能使整个NAL单元无用。这是因为在没有NAL单元的丢失部分中的数据的情况下,视频解码器30可能不能解译NAL单元的所接收部分中的数据。
根据本发明的技术,视频编码器可产生含有参数集的不同片段的多个NAL单元。举例来说,视频编码器可产生第一NAL单元和第二NAL单元。第一NAL单元可含有参数集的第一片段且第二NAL单元可含有参数集的第二片段。其它NAL单元可含有参数集的其它片段。含有参数集的不同片段的每一NAL单元可在通信信道上在单独包中发射。囊封含有参数集的片段的NAL单元的包的大小可小于或等于MTU大小。在不同NAL单元中发送参数集的片段在以下意义上可增加容错性:参数集的任一所接收片段均仍可有用,无论是否接收到参数集的其它片段。
附图图解说明实例。在附图中由参考标号指示的元件对应于在以下描述中由相同参考标号指示的元件。在本发明中,具有以序数词(例如,“第一”、“第二”、“第三”等等)开始的名称的元件不一定暗示所述元件具有特定次序。而是,此些序数词仅用以指代相同或相似类型的不同元件。
图1是图解说明可实施本发明的技术的实例性视频译码系统10的框图。如本文描述所使用,术语“视频译码器”一般指代视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般指代视频编码或视频解码。
如图1所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码视频数据。因此,源装置12可称为视频编码装置或视频编码设备。目的地装置14可对由源装置12产生的经编码视频数据进行解码。因此,目的地装置14可称为视频解码装置或视频解码设备。源装置12和目的地装置14可为视频译码装置或视频译码设备的实例。
源装置12和目的地装置14可包括广泛多种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或类似装置。
目的地装置14可经由信道16从源装置12接收经编码视频数据。信道16可包括能够将经编码视频数据从源装置12移动到目的地装置14的一类媒体或装置。在一个实例中,信道16可包括一个或一个以上通信媒体,其使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14。在此实例中,源装置12可根据例如无线通信协议等通信标准而调制经编码视频数据,且可将经调制视频数据发射到目的地装置14。通信媒体可包括一种或一种以上无线或有线通信媒体,例如射频(RF)频谱和/或一种或一种以上物理传输线。通信媒体可形成基于包的网络的部分,所述网络例如为局域网、广域网或例如因特网的全球网。通信媒体可包含路由器、交换机、基站或促进从源装置12到目的地装置14的通信的其它设备。
在另一实例中,信道16可对应于存储由源装置12产生的经编码视频数据的存储媒体。在此实例中,目的地装置14可经由磁盘存取或卡存取而存取存储媒体。存储媒体可包含多种本地存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或其它合适的用于存储经编码视频数据的数字存储媒体。
在又一实例中,信道16可包含文件服务器或另一中间存储装置,其存储由源装置12产生的经编码视频。在此实例中,目的地装置14可经由流式传输或下载而存取存储在文件服务器或其它中间存储装置处的经编码视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置14的类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附接存储(NAS)装置和本地磁盘驱动器。
目的地装置14可通过标准数据连接(例如因特网连接)存取经编码视频数据。数据连接的实例类型可包含适于存取存储在文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等)或两者的组合。经编码视频数据从文件服务器的发射可为流式发射、下载发射或两者的组合。
本发明的技术不限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用中的任一种,例如空中电视广播、闭路电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、为存储在数据存储媒体上对数字视频的编码、对存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频发射以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
本发明的技术可应用于不一定包含编码与解码装置之间的任何数据通信的视频译码设定(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、经由网络串流传输等。编码装置可对数据进行编码且将数据存储到存储器,和/或解码装置可从存储器检索数据且对数据进行解码。在许多实例中,编码和解码由不彼此通信但是简单地将数据编码到存储器和/或从存储器检索和解码数据的装置执行。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含例如以下各项的源:例如摄像机等视频俘获装置、含有先前俘获视频数据的视频档案、用以从视频内容提供者接收视频数据的视频馈送接口,和/或用于产生视频数据的计算机图形系统,或此些源的组合。
视频编码器20可对所俘获、预俘获或计算机产生的视频数据进行编码。经编码视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码视频数据也可存储到存储媒体或文件服务器上供目的地装置14稍后存取,用于解码和/或重放。
在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些实例中,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28可经由信道16接收经编码视频数据。
显示装置32可与目的地装置14集成或可在目的地装置14的外部。在一些实例中,目的地装置14可包含集成显示装置,且还可经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。大体上,显示装置32显示经解码视频数据。显示装置32可包括多种显示装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
视频编码器20和视频解码器30可根据例如当前在开发的高效视频译码(HEVC)标准等视频压缩标准来操作,且可符合HEVC测试模型(HM)。称为“HEVC工作草案4”或“WD4”的即将到来的HEVC标准的最新草案在布洛斯(Bross)等人的“WD4:高效视频译码工作草案4(WD4:Working Draft4of High-Efficiency Video Coding)”(ITU-T SG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作组(JCT-VC),第6次会议:意大利托里诺,2011年7月)中描述,其从2012年9月27日起可从http://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F803-v3.zip下载,其整个内容以引用方式并入本文。
或者,视频编码器20和视频解码器30可根据其它专门或行业标准操作,包含ITU-TH.261、ISO/IEC MPEG-1Visual、ITU-T H.262或、ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。然而本发明的技术不限于任何特定译码标准或技术。
视频编码器20和视频解码器30各自可实施为多种合适电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任一组合。如果所述技术部分地以软件实施,装置可将用于所述软件的指令存储在合适的非暂时性计算机可读存储媒体中,且可使用一个或一个以上处理器执行硬件中的指令以执行本发明的技术。上述任一者(包含硬件、软件、硬件与软件的组合等等)可视为一个或一个以上处理器。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
本发明可大体上涉及视频编码器20将某些信息“用信号发送”到另一装置,例如视频解码器30。然而应了解,视频编码器20可通过使某些语法元素与视频数据的各种经编码部分相关联来用信号发送信息。也就是说,视频编码器20可通过将某些语法元素存储到视频数据的各种经编码部分来“用信号发送”数据。在一些情况下,此些语法元素可在由视频解码器30接收和解码之前经编码和存储(例如,存储在存储系统中)。因此,术语“用信号发送”可大体上指代用以对经压缩视频数据进行解码的语法或其它数据的通信。此通信可实时或近实时地发生。或者,此通信可在一时间跨度中发生,例如可能当在编码时在经编码位流中将语法元素存储到媒体时发生,所述语法元素可随后在存储到此媒体之后的任何时间由解码装置检索。
视频编码器20可从视频源18或另一源检索视频数据。视频数据可表示一系列图片。图片中的每一者可为形成视频的部分的静止图像。在一些实例中,图片可称为视频“帧”。
视频编码器20可产生包含经译码图片和相关联数据的位流。经译码图片是图片的经译码表示。相关联数据可包含序列参数集(SPS)、图片参数集(PPS)、调适参数集(APS),和其它语法结构。SPS可含有适用于零个或零个以上图片序列的参数。PPS可含有适用于零个或零个以上图片的参数。APS可含有适用于零个或零个以上图片的参数。APS中的参数可为比PPS中的参数更可能改变的参数。
为了产生经译码图片,视频编码器20可将图片分割为相等大小的视频块。视频块可为二维样本阵列。样本可为指示像素的亮度值或色度值的值。视频块中的每一者与一树块相关联。在一些实例中,树块可称为最大译码单元(LCU)或“译码树块”。HEVC的树块可广义地类似于例如H.264/AVC等先前标准的宏块。然而,树块不一定限于特定大小,且可包含一个或一个以上译码单元(CU)。视频编码器20可使用四叉树分割来将树块的视频块分割为与CU相关联的视频块,因此名称为“树块”。
视频编码器20可将视频数据的每一图片分割为一个或一个以上切片。切片可包含整数个树块。视频编码器20可产生与图片的每一切片相关联的经编码数据。与切片相关联的经编码数据可称为“经译码切片”。为了产生经译码切片,视频编码器20可产生与切片中的每一树块相关联的经编码数据。与切片相关联的经编码数据可称为“经译码树块”。
为了产生经译码树块,视频编码器20可对树块的视频块递归地执行四叉树分割以将视频块划分为逐渐变小的视频块。较小视频块中的每一者可与一不同CU相关联。经分割CU可为视频块经分割为与其它CU相关联的视频块的CU。未经分割CU可为视频块未经分割为与其它CU相关联的视频块的CU。
视频编码器20可针对每一未经分割CU产生一个或一个以上预测单元(PU)。CU的PU中的每一者可与CU的视频块内的一不同视频块相关联。视频编码器20可产生CU的每一PU的预测视频块。PU的预测视频块可为样本块。
视频编码器20可使用帧内预测或帧间预测来产生PU的预测视频块。如果视频编码器20使用帧内预测来产生PU的预测视频块,那么视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的预测视频块。
如果视频编码器20使用帧内预测来产生图片的PU的预测视频块,那么视频编码器20可搜索与图片相关联的参考图片集合来识别参考图片中的一个或一个以上参考块。参考块可为视觉上对应于PU的视频块的视频块。参考图片是除了含有PU的图片之外的图片。视频编码器20可产生PU的运动信息(例如,参考图片索引、运动向量、预测方向指示符等等)。如下文描述,视频解码器30可使用PU的运动信息来识别一个或一个以上参考块。另外,视频编码器20可基于一个或一个以上所识别参考块来产生PU的预测视频块。
视频编码器20可基于CU的PU的预测视频块产生CU的残余视频块。CU的残余视频块可指示CU的PU的预测视频块与CU的原始视频块中的样本之间的差。
此外,视频编码器20可执行递归四叉树分割来将CU的残余视频块分割为与CU的TU相关联的残余视频块。视频译码器20可将一个或一个以上变换应用于与TU相关联的残余视频块以产生系数块(即,系数的块)。概念上,系数块可为系数的二维(2D)矩阵。视频编码器20可对系数块执行量化过程。量化大体上指代其中系数经量化以可能地减少用以表示所述系数的数据量从而提供进一步压缩的过程。视频编码器20可产生表示经量化系数块中的系数的语法元素集合。视频编码器20可将例如上下文自适应二进制算术译码(CABAC)操作等熵编码操作应用于这些语法元素中的至少一些。
由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。NAL单元中的每一者可为一种语法结构,其含有NAL单元中的数据类型和含有所述数据的字节的指示。举例来说,NAL单元可含有表示SPS、PPS、经译码切片、补充增强信息(SEI)、存取单元定界符、填充数据或另一类型数据的数据。经译码切片NAL单元是包含经译码切片的NAL单元。视频译码层(VCL)NAL单元是经译码切片NAL单元的另一术语。非VCL NAL单元是并非VCL NAL单元的NAL单元。
视频解码器30可接收由视频编码器20产生的位流。位流可包含由视频编码器20编码的视频数据的经译码表示。视频解码器30可对位流执行剖析操作。作为执行剖析操作的部分,视频解码器30可从位流提取语法元素。作为从位流提取语法元素的部分,视频解码器30可对位流中的数据执行熵解码(例如,CABAC解码)操作。视频解码器30可基于从位流提取的语法元素来重构视频数据的图片。用以基于语法元素重构视频数据的过程可与由视频编码器20执行以产生语法元素的过程大体上互逆。
视频解码器30可基于与图片中的CU相关联的语法元素产生CU的PU的预测视频块。在一些实例中,视频解码器30可基于与PU相关联的图片的经解码样本使用帧内预测来产生PU的预测视频块。在其它实例中,视频解码器30可基于与当前图片相关联的参考图片集合中的参考图片使用帧间预测来产生PU的预测视频块。如果视频解码器30使用帧间预测来产生PU的预测视频块,那么视频解码器30可使用PU的运动信息来识别参考图片集合中的一个或一个以上参考块。视频解码器30可基于一个或一个以上参考块来产生PU的预测视频块。
视频解码器30可对与CU的TU相关联的系数块进行逆量化。视频解码器30可对经逆量化系数块执行逆变换以重构与CU的TU相关联的残余视频块。视频解码器30可基于预测视频块和残余视频块重构CU的视频块。以此方式,视频解码器30可基于位流中的语法元素来重构CU的视频块。
如上文提到,视频编码器20可量化系数块,且视频解码器30可逆量化系数块。在一些实例中,视频编码器20使用量化矩阵来量化系数块。量化矩阵可为2维值阵列,其具有与系数块相同的维度。当视频编码器20对与CU的TU相关联的系数块中的系数进行量化时,视频编码器20可将与CU相关联的量化参数(QP)值乘以一值,所述值在量化矩阵中位于对应于系数块中的所述系数的位置的位置。视频解码器30可在对系数块进行逆量化时使用与视频编码器20在量化所述系数块时使用的QP值和量化矩阵相同的QP值和量化矩阵。
视频编码器20可在量化相同大小的不同系数块时使用不同的量化矩阵。在量化相同大小的不同系数块时使用不同的量化矩阵可改善经解码视频数据的主观质量。视频编码器20可动态地产生用以量化相同大小的系数块的量化矩阵。因为视频编码器20可动态地产生量化矩阵,所以视频解码器30未预配置有视频编码器20可使用的所有量化矩阵。
因为视频解码器30使用视频编码器20用来量化系数块的相同量化矩阵来对系数块进行逆量化,且因为视频解码器30未预配置有视频编码器20可使用的所有量化矩阵,所以视频编码器20可在位流中包含量化矩阵。举例来说,位流可包含用信号发送多个量化矩阵的参数集。在此实例中,视频编码器20可在PPS中包含用以对与PPS相关联的切片中的系数块进行量化的量化矩阵。在另一实例中,视频编码器20可在SPS中包含结合QP值用以对与PPS相关联的切片中与SPS相关联的系数块进行量化的量化矩阵。
如上文指示,视频编码器20可产生含有PPS和SPS的NAL单元。含有PPS和SPS的NAL单元是非VCL NAL单元。在PPS或SPS中包含量化矩阵可致使含有PPS或SPS的NAL单元大于端到端发射路径的MTU大小。MTU大小可为各种大小。举例来说,经由网络层处的以太网的端到端发射路径的MTU大小可为1500字节。在另一实例中,涉及某些类型的无线网络的端到端发射路径的MTU大小可为200或300字节。在其它实例中,MTU大小可为各种通信协议中在网络堆栈的例如物理层、网络层、输送层、应用层等等各种层处的发射单元的最大大小。因此,包化器可在两个或两个以上包之间分裂大于MTU大小的NAL单元。在多个包之间分裂NAL单元可为不合意的,因为包中的任一者的丢失都可能使整个NAL单元无用。这是因为在没有NAL单元的丢失部分中的数据的情况下,视频解码器30可能不能解译NAL单元的所接收部分中的数据。
对于H.264/AVC,单独的量化矩阵用于帧内预测、帧间预测,且也用于Y、Cb和Cr分量。在H.264/AVC中对于4×4系数块存在六个量化矩阵。H.264/AVC仅允许用于8×8Y分量系数块的量化矩阵。因此,在H.264/AVC中,对于8×8系数块存在两个可能的量化矩阵。
在草案HEVC标准中,4×4、8×8、16×16和32×32的变换大小是可能的。此外,在草案HEVC标准中,可存在二十四个量化矩阵(即,用于4×4、8×8、16×16和32×32系数块、帧内/帧间以及Y、Cb、Cr分量的单独量化矩阵)。因此,可能必须用信号发送8160个值。使用与用于H.264/AVC相同的方法(z字形扫描、一阶预测和预测残余的指数哥伦布译码)可能需要大致25,000个位来用信号发送全部二十四个量化矩阵。因此,甚至当使用高效的压缩方法时,在不通过下层发射协议进行成帧的情况下产生可含有量化矩阵且可囊封于单个发射单元(例如,实时输送协议包)中的单个NAL单元也可能是不可行。
根据本发明的技术,视频编码器20可产生含有同一参数集的不同片段的多个NAL单元。参数集可为SPS、PPS、APS或另一类型的参数集。这些NAL单元中的每一者的大小可小于或等于源装置12将在其上发送NAL单元的端到端发射路径的MTU大小(例如为约1500字节)。
举例来说,视频编码器20可产生第一NAL单元。第一NAL单元可含有与视频数据相关联的参数集的第一片段。另外,视频编码器20可产生第二NAL单元。第二NAL单元可含有参数集的第二片段。第一和第二NAL单元可为非VCL NAL单元。在此实例中,源装置12或另一计算装置可在通信协议的第一包中囊封第一NAL单元。源装置12或另一计算装置可在通信协议的第二包中囊封第二NAL单元。源装置12或另一计算装置可在信道16上发送第一和第二包。目的地装置14可接收包含通信协议中的第一和第二包的位流。
视频编码器20可产生参数集的片段,使得片段中的每一者可至少在某种程度上有用于视频解码器30,即使参数集的每一其它片段丢失也是如此。举例来说,视频编码器20可产生片段以使得视频解码器30不需要参数集的另一片段中的任何数据来适当地解译片段中的数据。举例来说,在此实例中,视频编码器20可产生包含第一片段的第一NAL单元,且可产生含有第二片段的第二NAL单元。第一片段可在不参考第二片段的情况下解码,且第二片段可在不参考第一片段的情况下解码。以此方式,在不同NAL单元中发送参数集的片段在以下意义上可增加容错性:参数集的任一所接收片段可能均仍有用,因为其仍可由解码器解码,无论是否在发射中接收到、破坏了或丢失了参数集的其它片段。
在一些实例中,视频编码器20可通过用信号发送量化矩阵之间的差来用信号发送参数集中的量化矩阵。因此,视频解码器30可通过将针对量化矩阵用信号发送的差添加到另一量化矩阵来重构(即,预测)量化矩阵。在一些实例中,视频解码器30可通过从一个或一个以上其它量化矩阵或从针对量化矩阵用信号发送的值的子集内插量化矩阵的值来重构量化矩阵。
然而,在一些实例中,视频编码器20可为量化矩阵选择预测模式,使得参数集的一个片段中的量化矩阵不取决于参数集的另一片段中的量化矩阵。举例来说,第一NAL单元可包含量化矩阵的第一子集,且第二NAL单元包含量化矩阵的第二子集。在此实例中,视频编码器20可为量化矩阵选择预测模式,使得量化矩阵的第一子集中的每一量化矩阵可在不参考第二NAL单元中的数据的情况下确定,且量化矩阵的第二子集中的每一量化矩阵可在不参考第一NAL单元中的数据的情况下确定。举例来说,在此实例中,在参数集的不同片段中的量化矩阵之间可不存在差分译码。
在参数集包含量化矩阵集合的一些实例中,含有参数集片段的每一NAL单元可包含指示所允许类型的量化矩阵预测的一个或一个以上语法元素。此外,在参数集包含量化矩阵集合的一些实例中,包含参数集片段的NAL单元可包含指定片段不含有参数集的所有量化矩阵的语法元素。
图2是图解说明经配置以实施本发明的技术的实例性视频编码器20的框图。图2是为了阐释目的而提供,且不应视为限制如本发明中广义地例示和描述的技术。为了阐释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。
在图2的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元113、经解码图片缓冲器114,以及熵编码单元116。预测处理单元100包含帧间预测处理单元121、运动估计单元122、运动补偿单元124和帧内预测处理单元126。在其它实例中,视频编码器20可包含较多、较少或不同功能组件。此外,运动估计单元122和运动补偿单元124可高度集成,但在图2的实例中为了阐释目的而分开地表示。另外,虽然图2的实例中未展示,但视频编码器20在一些实例中可包含基于由视频编码器20的其它功能组件产生的数据来产生NAL单元的组件。
视频编码器20可对图片进行编码。作为对图片进行编码的部分,视频编码器20可对图片的每一切片进行编码。作为对切片进行编码的部分,视频编码器20可对切片中的树块进行编码。
视频编码器20可根据光栅扫描次序对切片的树块进行编码。换句话说,视频编码器20可以跨切片中的树块的最顶部行从左到右前进且随后跨树块的下一较低行从左到右前进等等直到视频编码器20已对切片的树块中的每一者进行编码为止的次序对切片的树块进行编码。
由于根据光栅扫描次序对树块进行编码,给定树块上方和左边的树块可能已经编码,但给定树块下方和右边的树块尚未经编码。因此,视频编码器20在对给定树块进行编码时可能够存取通过对给定树块上方和左边的树块进行编码所产生的信息。然而,视频编码器20在对给定树块进行编码时可能不能存取通过对给定树块下方和右边的树块进行编码所产生的信息。
作为对树块进行编码的部分,预测处理单元100可对树块的视频块执行四叉树分割以将视频块划分为逐渐变小的视频块。较小视频块中的每一者可与一不同CU相关联。举例来说,预测处理单元100可将树块的视频块分割为四个相等大小的子块,将子块中的一者或一者以上分割为四个相等大小的子子块,等等。
与CU相关联的视频块的大小的范围可为从8x8样本直到具有最大64x64样本或更大的树块的大小。在本发明中,“NxN”和“N乘N”可以互换地使用以在垂直和水平尺寸方面指代视频块的样本尺寸,例如16x16样本或16乘16样本。大体上,16x16视频块将在垂直方向上具有16个样本(y=16)且在水平方向上具有16个样本(x=16)。同样,NxN块在垂直方向上具有N个样本且在水平方向上具有N个样本,其中N表示非负整数值。
此外,作为对树块进行编码的部分,预测处理单元100可产生树块的阶层式四叉树数据结构。举例来说,树块可对应于四叉树数据结构的根节点。如果预测处理单元100将树块的视频块分割为四个子块,那么根节点在四叉树数据结构中具有四个子节点。子节点中的每一者对应于与子块中的一者相关联的CU。如果预测处理单元100将子块中的一者分割为四个子子块,那么对应于与子块相关联的CU的节点可具有四个子节点,其各自对应于与子子块中的一者相关联的CU。
四叉树数据结构的每一节点可含有对应树块或CU的语法数据(例如,语法元素)。举例来说,四叉树中的节点可包含分裂旗标,其指示CU的对应于节点的视频块是否经分割(即,分裂)为四个子块。CU的语法元素可递归地界定,且可取决于CU的视频块是否经分裂为若干子块。视频块未经分割的CU可对应于四叉树数据结构中的叶节点。经译码树块可包含基于对应树块的四叉树数据结构的数据。
视频编码器20可对树块的CU进行编码以产生CU的经编码表示(即,经译码CU)。视频编码器20可根据z扫描次序对树块的CU进行编码。换句话说,视频编码器20可对左上方CU、右上方CU、左下方CU和随后右下方CU以此次序进行编码。当视频编码器20对经分割CU进行编码时,视频编码器20可根据z扫描次序对与经分割CU的视频块的子块相关联的CU进行编码。换句话说,视频编码器20可对与左上方子块相关联的CU、与右上方子块相关联的CU、与左下方子块相关联的CU和随后与右下方子块相关联的CU以此次序进行编码。
由于根据z扫描次序对树块的CU进行编码,给定CU的上方、左上方、右上方、左边和左下方的CU可能已经编码。给定CU下方或右边的CU尚未经编码。因此,视频编码器20在对给定CU进行编码时可能够存取通过对相邻于给定CU的一些CU进行编码所产生的信息。然而,视频编码器20在对给定CU进行编码时可能不能存取通过对相邻于给定CU的其它CU进行编码所产生的信息。
作为对CU进行编码的部分,预测处理单元100可在CU的一个或一个以上PU之间分割CU的视频块。视频编码器20和视频解码器30可支持各种PU大小。假定特定CU的大小为2Nx2N,则视频编码器20和视频解码器30可支持用于帧内预测的2Nx2N或NxN的PU大小以及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似的对称PU大小。视频编码器20和视频解码器30还可支持用于帧间预测的2N×nU、2N×nD、nLx2N和nRx2N的PU大小的不对称分割。
帧间预测处理单元121可对CU的每一PU执行帧间预测。帧间预测可提供时间压缩。帧间预测处理单元121可产生PU的预测数据。PU的预测数据可包含对应于PU的预测视频块和PU的运动信息。运动估计单元122可产生PU的运动信息。在一些实例中,运动估计单元122可使用合并模式或高级运动向量预测(AMVP)模式来用信号发送PU的运动信息。运动补偿单元124可基于除了当前图片之外的一个或一个以上图片(即,参考图片)的样本来产生PU的预测视频块。
切片可为I切片、P切片或B切片。运动估计单元122和运动补偿单元124可取决于PU是否在I切片、P切片或B切片中而执行针对CU的PU的不同操作。在I切片中,所有PU经帧内预测。因此,如果PU在I切片中,那么运动估计单元122和运动补偿单元124不对PU执行帧间预测。
如果PU在P切片中,那么含有PU的图片与称为“列表0”的参考图片列表相关联。在一些实例中,列表0中列出的每一参考图片在显示次序中发生在当前图片之前。列表0中的参考图片中的每一者含有可用于其它图片的帧间预测的样本。运动估计单元122可搜索列表0中的参考图片是否有用于P切片中的PU的参考块。PU的参考块可为一组样本,例如样本块,其最接近地对应于PU的视频块中的样本。运动估计单元122可使用多种度量来确定参考图片中的一组样本如何接近地对应于PU的视频块中的样本。举例来说,运动估计单元122可通过绝对差和(SAD)、平方差和(SSD)或其它差度量来确定参考图片中的一组样本如何接近地对应于PU的视频块中的样本。
运动估计单元122可产生指示列表0中含有P切片中的PU的参考块的参考图片的参考图片索引,以及指示PU与参考块之间的空间位移的运动向量。运动估计单元122可在各种程度的精度上产生运动向量。举例来说,运动估计单元122可以四分之一样本精度、八分之一样本精度或其它分数样本精度来产生运动向量。在分数样本精度的情况下,可从参考图片中的整数位置样本值来内插参考块值。运动估计单元122可输出参考图片索引和运动向量作为PU的运动信息。运动补偿单元124可基于与PU的运动信息相关联的参考块来产生PU的预测视频块。
如果PU在图片的B切片中,那么含有PU的图片可与称为“列表0”和“列表1”的两个参考图片列表相关联。在一些实例中,列表1中列出的每一参考图片在显示次序中发生在图片之后。
此外,如果PU在B切片中,那么运动估计单元122可执行针对PU的单向帧间预测或双向帧间预测。为了执行PU的单向帧间预测,运动估计单元122可搜索列表0或列表1的参考图片是否有PU的参考块。运动估计单元122可产生指示列表0或列表1中含有参考块的参考图片的参考图片索引,以及指示PU与参考块之间的空间位移的运动向量。另外,运动估计单元122可产生预测方向指示符,其指示参考块是否为列表0或列表1中的参考图片。
为了执行PU的双向帧间预测,运动估计单元122可搜索列表0中的参考图片是否有PU的参考块,且还可搜索列表1中的参考图片是否有PU的另一参考样块。运动估计单元122可产生指示列表0和列表1中含有参考块的参考图片的参考图片索引,以及指示参考块与PU之间的空间位移的运动向量。PU的运动信息可包含PU的参考图片索引和运动向量。运动补偿单元124可基于由PU的运动信息指示的参考块来产生PU的预测视频块。
帧内预测处理单元126可对PU执行帧内预测。帧内预测可提供空间压缩。帧内预测处理单元126可基于与PU在同一图片中的经解码样本来产生PU的预测数据。PU的预测数据可包含预测视频块和各种语法元素。帧内预测处理单元126可对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生PU的多个预测数据集合。为了使用帧内预测模式来产生PU的预测数据集合,帧内预测处理单元126可在与帧内预测模式相关联的方向和/或梯度上从相邻PU的视频块延伸样本越过PU的视频块。相邻PU可位于PU的上方、右上方、左上方和/或左边,假定PU、CU和树块的从左到右、从上到下编码次序。帧内预测处理单元126可使用各种数目的帧内预测模式,例如33个方向性帧内预测模式。在一些实例中,帧内预测模式的数目可取决于PU的大小。
预测处理单元100可从由帧内预测单元121针对PU产生的预测数据或由帧内预测处理单元126针对PU产生的预测数据当中选择PU的预测数据。在一些实例中,预测处理单元100基于预测数据集合的速率/失真度量来选择PU的预测数据。
残余产生单元102可通过从CU的视频块减去CU的PU的预测视频块而产生CU的残余数据。CU的残余数据可包含对应于CU的视频块中的样本的不同样本分量的残余视频块。举例来说,残余数据可包含对应于CU的PU的预测视频块中的样本的明度分量与CU的原始视频块中的样本的明度分量之间的差的残余视频块。另外,CU的残余数据可包含对应于CU的PU的预测视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残余视频块。
预测处理单元100可执行四叉树分割以将CU的残余视频块分割为子块。每一未经划分残余视频块可与CU的不同TU相关联。与CU的TU相关联的残余视频块的大小和位置可基于或可不基于与CU的PU相关联的视频块的大小和位置。称为“残余四叉树”(RQT)的四叉树结构可包含与残余视频块中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换处理单元104可通过将一个或一个以上变换应用于与TU相关联的残余视频块来产生CU的每一TU的一个或一个以上系数块。系数块中的每一者可为系数的2D矩阵。变换处理单元104可将各种变换应用于与TU相关联的残余视频块。举例来说,变换处理单元104可将离散余弦变换(DCT)、方向性变换或概念上类似的变换应用于与TU相关联的残余视频块。
量化单元106可对与CU的TU相关联的系数块中的系数进行量化。量化过程可产生与系数中的一些或全部相关联的位深度。举例来说,在量化期间可将n位系数下舍入到m位系数,其中n大于m。量化单元106可结合与CU相关联的QP值使用量化矩阵来量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。
逆量化单元108和逆变换处理单元110可分别将逆量化和逆变换应用于系数块以从系数块重构残余视频块。重构单元112可将经重构残余视频块添加到来自由预测处理单元100产生的一个或一个以上预测视频块的对应样本以产生与TU相关联的经重构视频块。通过以此方式针对CU的每一TU重构视频块,视频编码器20可重构CU的视频块。
滤波器单元113可执行解块操作以减少与CU相关联的视频块中的成块假像。在执行一个或一个以上解块操作之后,滤波器单元113可将CU的经重构视频块存储在经解码图片缓冲器114中。运动估计单元122和运动补偿单元124可使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器114中的经重构视频块来对在与CU相同的图片中的其它PU执行帧内预测。
熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元116可从量化单元106接收系数块,且可从预测处理单元100接收语法元素。熵编码单元116可对数据执行一个或一个以上熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作或另一类型的熵编码操作。熵编码单元116可输出包含经熵编码数据的位流。
作为对数据执行熵编码操作的部分,熵编码单元116可选择上下文模型。如果熵编码单元116正在执行CABAC操作,那么上下文模型可指示特定二进位具有特定值的概率估计。在CABAC的上下文中,术语“二进位”用以指代语法元素的经二进制化版本的位。
如上所述,视频编码器20可产生包含一系列NAL单元的位流。NAL单元中的每一者可包含NAL单元标头和原始字节序列有效负载(RBSP)。NAL单元的NAL单元标头可包含指示NAL单元的类型的语法元素(nal_unit_type)。RBSP可为含有整数个字节的囊封于NAL单元内的语法结构。RBSP可为空或可具有含有语法元素、之后是RBSP停止位且之后是零个或零个以上等于0的序列位的数据串的形式。不同类型的NAL单元包含不同类型的RBSP。不同类型的RBSP含有不同类型的经译码视频数据。
举例来说,经译码切片NAL单元可包含RBSP,其含有与切片相关联的经译码语法元素。与切片相关联的经译码语法元素可包含视频解码器30可用来确定切片中的视频块的经量化系数的语法元素、视频解码器30可用来确定经帧间预测PU的运动信息的语法元素、帧内预测译码模式等等。此外,参数集NAL单元可包含含有参数集的数据的RBSP。参数集NAL单元的实例类型包含PPS NAL单元、SPS NAL单元、APS NAL单元和含有参数集的其它类型的NAL单元。PPS NAL单元是含有包含PPS的数据的RBSP的NAL单元。SPS NAL单元是含有包含SPS的数据的RBSP的NAL单元。APS NAL单元是含有包含APS的数据的RBSP的NAL单元。
根据本发明的技术,视频编码器20可产生含有包含参数集的片段数据的RBSP的NAL单元。包含参数集的片段数据的RBSP可符合各种语法。举例来说,APS NAL单元的RBSP可符合以下表1的语法。虽然以下实例是参考APS NAL单元来阐释,但本发明的技术可适用于其它类型的参数集,例如PPS和SPS。
表1-调适参数集RBSP语法
在表1的实例语法中,aps_parameter_set_id参数指定用作APS的识别符的值。具有aps_parameter_set_id语法元素的相同值的APS NAL单元属于同一APS。
在表1的实例语法中,quantization_matrix_flag语法元素指定量化矩阵是否在APS中用信号发送。如果quantization_matrix_flag语法元素等于0,那么量化矩阵未在当前APS中用信号发送,且不用于参考当前APS的经译码图片。如果quantization_matrix_flag语法元素等于1,那么量化矩阵在当前APS中用信号发送,且用于参考当前APS的经译码图片。以此方式,参数集NAL单元可包含指示参数集NAL单元包含一个或一个以上量化矩阵的旗标。
此外,在表1的实例语法中,quantization_matrix_idc语法元素指定所允许的量化矩阵预测的类型。如果quantization_matrix_idc语法元素等于0,那么仅允许量化矩阵内的量化矩阵预测。如果quantization_matrix_idc语法元素等于1,那么允许矩阵内或跨矩阵的同一参数集NAL单元内的量化矩阵系数预测。如果quantization_matrix_idc语法元素等于2,那么允许关于量化矩阵、跨量化矩阵但在一个NAL单元内或者跨同一参数集的不同NAL单元中的量化矩阵在同一参数集内的量化矩阵预测。如果quantization_matrix_idc语法元素等于3,那么全部允许从量化矩阵内、从同一参数集NAL单元中的其它量化矩阵、从同一参数集的不同NAL单元的其它量化矩阵以及从不同参数集中的其它量化矩阵预测量化矩阵。在quantization_matrix_idc语法元素等于0或1的实例中,APS的区段可独立地解码。也就是说,如果quantization_matrix_idc语法元素等于0或1,那么参数集的每一区段可在不参考参数集的任一其它区段的情况下解码。
在表1的实例语法中,如果qm_fragment_only_aps_flag语法元素等于1,那么当前APS NAL单元可仅含有矩阵表,而不是其它语法元素,例如样本自适应偏移(SAO)和自适应环路滤波器(ALF)相关语法元素。如果qm_fragment_only_aps_flag语法元素等于0,那么当前APS NAL单元可含有量化矩阵和其它语法元素,例如SAO和ALF相关语法元素。当不存在时,推断qm_fragment_only_aps_flag语法元素等于0。以此方式,参数集NAL单元可包含指示参数集NAL单元是否含有参数集的所有量化矩阵的旗标。
表1的实例语法包含quantization_matrix_table语法结构。quantization_matrix_table语法结构可符合以下表2的实例语法。
表2-量化矩阵表语法
表2的quantization_matrix_table语法结构可含有在一个APS NAL单元中用信号发送的量化矩阵。如上文指示,具有aps_parameter_set_id语法元素的相同值的NAL单元中的每一者可属于同一APS。属于同一APS的NAL单元可共同含有完整的一组二十四个量化矩阵。
在表2的实例语法中,如果reuse_qm_tabe_flag语法元素等于1,那么视频解码器30可确定当前APS的量化矩阵与另一APS的量化矩阵相同。reused_aps_id语法元素指定另一APS的识别符。如果reuse_qm_tabe_flag语法元素等于0,那么当前APS的量化矩阵是在量化矩阵表的剩余部分中用信号发送。
此外,在表2的实例中,如果fragment_flag语法元素等于1,那么量化矩阵表不含有当前APS的所有量化矩阵。如果fragment_flag语法元素等于0,那么量化矩阵表含有当前APS的所有量化矩阵。当fragment_flag语法元素不存在时,推断fragment_flag语法元素等于0。
在表2的实例语法中,num_quantization_matrices语法元素指定在此量化矩阵表中用信号发送的量化矩阵的数目。当num_quantization_matrices语法元素不存在时,可推断在此量化矩阵表中用信号发送的量化矩阵的数目等于二十四。num_ref_aps_for_qm语法元素指定用以预测在此量化矩阵表中界定的量化矩阵的参考APS的数目。ref_aps_id[i]语法元素指定用以预测在此量化矩阵表中界定的量化矩阵的第i参考APS的识别符。quan_matrix_id[i]语法元素指定在此量化矩阵表中用信号发送的第i量化矩阵的识别符。
在表2的实例语法中,qm_prediction_mode[i]指定第i量化矩阵的预测模式。当quantization_matrix_idc语法元素等于1时,qm_prediction_mode[i]语法元素的长度可为一个位。如果quantization_matrix_idc语法元素等于2或3,那么quantization_matrix_idc[i]语法元素的长度可为两个位。如果qm_prediction_mode[i]语法元素等于0,那么允许第i量化矩阵内的量化矩阵预测。如果qm_prediction_mode[i]语法元素等于1,那么从同一APS NAL单元中的量化矩阵预测第i量化矩阵。如果qm_prediction_mode[i]语法元素等于2,那么从同一APS的量化矩阵预测第i量化矩阵。如果qm_prediction_mode[i]语法元素等于3,那么从不同APS的量化矩阵预测第i量化矩阵。
因此,如果qm_prediction_mode[i]语法元素大于0,那么可从由qm_id[i]语法元素指示的另一量化矩阵预测第i量化矩阵。视频编码器20可形成第i量化矩阵与预测量化矩阵之间的预测误差。预测误差可指示第i量化矩阵与预测量化矩阵之间的差。视频编码器20可使用z字形扫描、之后是带正负号的指数哥伦布码或其它可变长度码来对预测误差进行编码。如果另一量化矩阵在任一维度上均小于第i量化矩阵,那么视频编码器20可使用线性内插或另一内插方法来形成预测量化矩阵。
如果另一量化矩阵在任一维度上大小均大于第i量化矩阵(即,当前量化矩阵),那么视频编码器20可如下导出预测量化矩阵。使当前量化矩阵为Q1且大小为N×N。此外,使另一量化矩阵为Q2且大小为kN×kN。而且,使预测量化矩阵为PQ且大小为N×N。k可为作为2的幂的整数。在此实例中,视频编码器20可通过在以Q2(ki,kj)为中心的大小为(2m+1)×(2m+1)的窗中对Q2的样本进行平均化来形成PQ(i,j)。视频编码器20可将平均值舍入到最近的像素。在一些实例中,视频编码器20可将权重不同地指派于所述窗内的样本。
在另一实例中,当qm_prediction_mode[i]语法元素为0时,视频编码器20可用例如z字形扫描或光栅扫描等特定扫描对量化矩阵系数执行空间预测。视频编码器20可使用哥伦布译码、指数哥伦布译码或其它可变长度码来对预测误差进行编码。量化矩阵参数的编码可为有损的。用于量化矩阵的解码过程可为相同的,无论视频编码器20使用有损还是无损编码。
此外,在表2的实例语法中,ref_aps_idx[i]语法元素指定对APS的列表的索引,其可针对0到num_ref_aps_for_qm-1(包含0和num_ref_aps_for_qm-1)的范围内的所有j值由ref_aps_id[j]语法元素识别。qm_id[i]语法元素指定由ref_aps_idx[i]语法元素识别的在APS中用信号发送的量化矩阵的识别符,其用以预测当前APS的第i量化矩阵。如果qm_pred_skip_flag[i]语法元素等于1,那么预测第i量化矩阵且不用信号发送系数以精炼预测的量化矩阵。如果qm_pred_skip_flag[i]语法元素等于0,那么在quantisation_matrix_coefs语法表中用信号发送第i量化矩阵的系数。当qm_pred_skip_flag[i]语法元素不存在时,将其推断为等于0。
在另一实例中,APS的RBSP可符合以下表3所示的实例语法。
表3-APS RBSP
在表3的实例语法中,aps_id语法元素指定APS的识别符。可存在与一个APS相关联的一个以上APS NAL单元。APS NAL单元中含有同一APS的片段的每一者可指定aps_id语法元素的相同值。
此外,在表3的实例语法中,如果first_aps_fragment_flag语法元素等于1,那么APS NAL单元是由aps_id语法元素识别的APS的第一APS NAL单元。如果first_aps_fragment_flag语法元素等于0,那么APS NAL单元不是由aps_id语法元素识别的APS的第一APS NAL单元。由等于1的first_aps_fragment_flag语法元素识别的第一APS NAL单元含有“标头”语法元素,例如指示不同类型信息以及APS中包含的其它类型信息(例如ALF和SAO相关信息)的存在的旗标。在表3的实例语法中,一个APS的其它APS NAL单元仅含有量化矩阵信息。在其它实例中,还可能其它APS NAL单元含有其它类型的信息。
在表3的实例语法中,如果last_aps_fragment_flag语法元素等于1,那么APS NAL单元是由aps_id语法元素识别的APS的最后APS NAL单元。如果last_aps_fragment_flag语法元素等于0,那么APS NAL单元不是由aps_id语法元素识别的APS的最后APS NAL单元。如果first_aps_fragment_flag语法元素和last_aps_fragment_flag语法元素均等于1,那么由aps_id语法元素识别的APS仅含有一个APS片段。
在表3的实例语法中,aps_quantization_matrix_flag语法元素指定量化矩阵是否在当前APS中用信号发送。如果aps_quantization_matrix_flag语法元素等于0,那么量化矩阵未在当前APS中用信号发送,且不用于参考当前APS的经译码图片。如果aps_quantization_matrix_flag语法元素等于1,那么量化矩阵在当前APS中用信号发送,且用于参考当前APS的经译码图片。如果aps_quantization_matrix_flag语法元素不存在(即,first_aps_fragment_flag语法元素等于0),那么可推断aps_quantization_matrix_flag语法元素等于1。
在表3的实例语法中,如果aps_sample_adaptive_offset_flag语法元素等于1,那么针对参考当前APS的切片应用SAO。如果aps_sample_adaptive_offset_flag语法元素等于0,那么针对参考当前APS的切片不应用SAO。如果不存在作用中APS,那么可推断aps_sample_adaptive_offset_flag语法元素为0。作用中APS可为由当前正译码的切片参考的APS。如果aps_adaptive_loop_filter_flag语法元素等于1,那么将ALF应用于参考当前APS的切片。如果aps_adaptive_loop_filter_flag语法元素等于0,那么不将ALF应用于参考当前APS的切片。如果不存在作用中APS,那么可推断aps_adaptive_loop_filter_flag语法元素为0。
此外,num_quantization_matrices_minus1语法元素加1指定在当前APS NAL单元中用信号发送的量化矩阵的数目。如果num_quantization_matrices_minus1语法元素不存在,那么可推断num_quantization_matrices_minus1语法元素的值等于二十三。
在一些实例中,表3的元素“if(more_rbsp_data())”被“if(first_aps_fragment_flag)”代替。以此方式,仅第一APS片段可含有除了量化矩阵之外的信息。此外,在一些实例中,允许quantization_matrix_coefs(i)的一个实例内或跨同一APS NAL单元内的quantization_matrix_coefs(i)的不同实例的预测。然而,不允许跨不同APS NAL单元的相依性。这可确保任一单个接收的APS NAL单元独立地有用,即使与当前APS相关联的所有其它APS NAL单元丢失也是如此。
以下表4说明用于quantization_matrix_table的另一实例语法。在表4的实例语法中,用信号发送第一量化矩阵的量化矩阵识别符。然而,因为量化矩阵遵循特定次序,所以不明确地用信号发送除了第一量化矩阵之外的量化矩阵的量化矩阵识别符。
表4-量化矩阵表
在表4的实例语法中,id_start语法元素指定在此表中用信号发送的第一量化矩阵的识别符。用信号发送的量化矩阵具有范围从由id_start语法元素指定的值到等于由id_start语法元素指定的值加上由num_quantization_matrices语法元素指定的值减1的值的识别符。也就是说,第i量化矩阵具有等于由id_start语法元素指定的值加i的量化矩阵识别符。表4的其它语法元素可具有与表2的实例语法中的对应语法元素相同的语义。
在以上实例中,可以预定义次序在一个或一个以上参数集NAL单元中用信号发送量化矩阵。在一些实例中,此预定义次序可为优先级次序,其中较重要的量化矩阵比较不重要的量化矩阵更早用信号发送。量化矩阵的索引是到用信号发送的量化矩阵的列表中的位置的索引。
举例来说,在量化矩阵的一种可能次序中,首先用信号发送大小4×4的所有量化矩阵,之后是大小8×8的量化矩阵,之后是大小16×16的量化矩阵,且最终是大小32×32的量化矩阵。在特定块大小内,次序可为用于Y帧内系数块的量化矩阵、用于Y帧间系数块的量化矩阵、用于U帧内系数块的量化矩阵、用于V帧内系数块的量化矩阵、用于U帧间系数块的量化矩阵,以及用于V帧间系数块的量化矩阵。
Y帧内系数块可为使用帧内预测产生的基于Y(即,亮度)样本的预测视频块的系数块。Y帧间系数块可为使用帧间预测产生的基于Y(即,亮度)样本的预测视频块的系数块。U帧内系数块可为使用帧内预测产生的基于U(即,U色度或Cb色度)样本的预测视频块的系数块。U帧间系数块可为使用帧间预测产生的基于U样本的预测视频块的系数块。V帧内系数块可为使用帧内预测产生的基于V(即,V色度或Cr色度)样本的预测视频块的系数块。U帧间系数块可为使用帧间预测产生的基于V样本的预测视频块的系数块。
在另一实施例中,量化矩阵可以不同次序列出。首先,视频编码器20可用信号发送以如下次序发送针对所有块大小的亮度量化矩阵:Y帧内-4×4、Y帧间4×4、Y帧内8×8、Y帧间8×8、Y帧内16×16、Y帧间16×16、Y帧内32×32以及Y帧间32×32。这些量化矩阵之后是用于U和V分量的量化矩阵。首先用信号发送大小4×4的色度量化矩阵,之后是8×8、16×16和32×32。在特定块大小内,次序可为U帧内、V帧内、U帧间、V帧间。在一些实例中,视频编码器20可按次序输出含有量化矩阵的NAL单元,使得量化矩阵的此排序得到保留。
以上表1到4已描述了APS的或其内的语法。然而,其它类型的参数集可包含符合表2或4或其它语法的量化矩阵。举例来说,SPS或PPS可包含符合表2或4或其它语法的量化矩阵。而且,上述APS的语法元素可包含在其它类型的参数集中,例如SPS和PPS。此外,在一些实例中,可在SPS或PPS中重复地用信号发送信息。此信息可包含指示量化矩阵是否用信号发送且使用、所允许预测的类型等等的信息。
图3是图解说明经配置以实施本发明的技术的实例性视频解码器30的框图。图3是为了阐释目的而提供,且不限制如本发明中广义地例示和描述的技术。为了阐释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图3的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含熵解码单元150、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元159,以及经解码图片缓冲器160。预测处理单元152包含运动补偿单元162和帧内预测处理单元164。在其它实例中,视频解码器30可包含较多、较少或不同功能组件。
视频解码器30可接收包括经编码视频数据的位流。位流可包含多个语法元素。熵解码单元150可剖析位流。由于剖析位流,熵解码单元150可从位流提取语法元素。作为剖析位流的部分,熵解码单元150可对位流中的经熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158以及滤波器单元159可基于从位流提取的语法元素来产生经解码视频数据。
如上文论述,位流可包括一系列NAL单元。位流的NAL单元可包含经译码切片NAL单元、SPS NAL单元、PPS NAL单元、SEI NAL单元等等。作为剖析位流的部分,熵解码单元150可提取和熵解码来自SPS NAL单元的SPS、来自PPS NAL单元的PPS、来自SEI NAL单元的SEI数据等等。
作为剖析位流的部分,熵解码单元150可提取和熵解码来自位流中的经译码切片NAL单元的经译码切片。经译码切片中的每一者可包含切片标头和切片数据。切片标头可含有属于切片的语法元素。切片标头中的语法元素可包含识别与含有切片的图片相关联的PPS的语法元素。熵解码单元150可对经译码切片标头中的语法元素执行熵解码操作,例如CABAC解码操作,以恢复切片标头。
作为从经译码切片NAL单元提取切片数据的部分,熵解码单元150可从切片数据中的经译码CU提取语法元素。所提取的语法元素可包含与系数块相关联的语法元素。熵解码单元150可对语法元素中的至少一些执行CABAC解码操作。
另外,视频解码器30可重构与CU的TU相关联的残余视频块。为了重构TU的残余视频块,逆量化单元154可对与TU相关联的系数块进行逆量化,即解量化。在一些实例中,逆量化单元154可使用量化矩阵和与CU相关联的QP值来逆量化与CU的TU相关联的系数块。在一些实例中,量化矩阵可在一个或一个以上参数集中用信号发送。
在逆量化单元154逆量化系数块之后,逆变换处理单元156可将一个或一个以上逆变换应用于系数块以便产生TU的残余视频块。举例来说,逆变换处理单元156可将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆方向性变换或另一逆变换应用于系数块。
在一些实例中,逆变换处理单元156可基于来自视频编码器20的信令来确定将应用于系数块的逆变换。在此些实例中,逆变换处理单元156可基于与系数块相关联的树块的四叉树的根节点处用信号发送的变换来确定逆变换。在其它实例中,逆变换处理单元156可从例如块大小、译码模式或类似物等一个或一个以上译码特性推断逆变换。在一些实例中,逆变换处理单元156可应用级联逆变换。
如果PU在跳过模式中编码或PU的运动信息是使用合并模式编码,那么运动补偿单元162可产生PU的合并候选列表。运动补偿单元162可识别合并候选列表中的选定合并候选。运动补偿单元162可基于与由选定合并候选指示的运动信息相关联的一个或一个以上参考块来产生PU的预测视频块。
如果PU的运动信息是使用AMVP模式编码,那么运动补偿单元162可产生列表0MV预测符候选列表和/或列表1MV预测符候选列表。运动补偿单元162可确定选定列表0MV预测符候选和/或选定列表1MV预测符候选。接着,运动补偿单元162可基于列表0运动向量差(MVD)、列表1MVD、由选定列表0MV预测符候选指定的列表0运动向量和/或由选定列表1MV预测符候选指定的列表1运动向量来确定PU的列表0运动向量和/或PU的列表1运动向量。运动补偿单元162可基于与列表0运动向量和列表0参考图片索引和/或列表1运动向量和列表1参考图片索引相关联的参考块来产生PU的预测视频块。
在一些实例中,运动补偿单元162可通过基于内插滤波器执行内插来精炼PU的预测视频块。将用于具有子样本精度的运动补偿的内插滤波器的识别符可包含于语法元素中。运动补偿单元162可使用由视频编码器20在PU的预测视频块的产生期间使用的相同内插滤波器来计算参考块的子整数样本的经内插值。运动补偿单元162可根据所接收语法信息来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测视频块。
如果PU是使用帧内预测编码的,那么帧内预测处理单元164可执行帧内预测以产生PU的预测视频块。举例来说,帧内预测处理单元164可基于位流中的语法元素来确定PU的帧内预测模式。
重构单元158可使用与CU的TU相关联的残余视频块和CU的PU的预测视频块来重构CU的视频块。举例来说,重构单元158可将残余视频块中的样本添加到预测视频块中的对应样本以重构CU的Y、Cb和Cr视频块。
滤波器单元159可执行解块操作以减少与CU相关联的视频块中的成块假像。经解码图片缓冲器160可存储与CU相关联的视频块。经解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测以及在例如图1的显示装置32等显示装置上的呈现。举例来说,预测处理单元152可基于经解码图片缓冲器160中的视频块来对其它CU的PU执行帧内预测或帧间预测操作。
图4是图解说明根据本发明的一个或一个以上技术的视频编码器20的实例操作200的流程图。在操作200中,视频编码器20可确定含有参数集的NAL单元的大小是否将大于MTU大小(202)。响应于确定含有参数集的NAL单元的大小将不大于MTU大小(202的“否”),视频编码器20可产生含有参数集的单个NAL单元(204)。
另一方面,响应于确定含有参数集的NAL单元的大小将大于MTU大小(202的“是”),视频编码器20可产生含有参数集的片段的多个(即,两个或两个以上)NAL单元(206)。下文描述的图5和6是描述用于剖析含有参数集的片段的NAL单元的实例操作的流程图。视频编码器20可产生片段以使得视频解码器30可根据图5和6的实例操作剖析片段。
视频编码器20可输出包含一系列NAL单元的位流(208)。位流中的NAL单元可包含在动作204中产生的NAL单元或在动作206中产生的多个NAL单元。以此方式,视频编码器20产生位流,其中至少一些NAL单元包含参数集的片段而非整个参数集。此外,与其中NAL单元在任意点处经分裂为包的系统相比,视频编码器20可产生片段以使得所述片段可为可独立解码的。
图5是图解说明根据本发明的一个或一个以上技术的视频解码器30剖析参数集NAL单元的实例操作250的流程图。在操作250中,视频解码器30可接收参数集NAL单元(252)。参数集NAL单元可为SPS NAL单元、PPS NAL单元、APS NAL单元或包含另一类型的参数集的NAL单元。参数集NAL单元可包含完整参数集或参数集的片段。视频解码器30可从信道16(图1)、从计算机可读存储媒体或从另一源接收参数集NAL单元。
视频解码器30可从参数集NAL单元剖析量化矩阵旗标(quantization_matrix_flag)(254)。量化矩阵旗标可指示量化矩阵是否在参数集中指定。视频解码器30可确定量化矩阵旗标是否指示参数集NAL单元包含量化矩阵(256)。
响应于确定量化矩阵旗标指示参数集NAL单元包含量化矩阵(256的“是”),视频解码器30可从参数集NAL单元剖析量化矩阵指示符(quantization_matrix_idc)和仅量化矩阵旗标(qm_fragment_only_aps_flag)(258)。视频解码器30可确定仅量化矩阵旗标是否指示参数集NAL单元仅包含量化矩阵(260)。响应于确定仅量化矩阵旗标指示参数集NAL单元不仅仅包含量化矩阵(260的“否”)或响应于确定量化矩阵旗标指示参数集NAL单元包含量化矩阵(256的“否”),视频解码器30可从参数集NAL单元剖析其它语法元素(262)。
响应于确定量化矩阵旗标指示参数集NAL单元仅包含量化矩阵(260的“是”)或如果视频解码器30在动作262中剖析其它语法元素,则视频解码器30可确定量化矩阵旗标是否指示参数集NAL单元包含量化矩阵(264)。响应于确定量化矩阵旗标指示参数集NAL单元包含量化矩阵(264的“是”),视频解码器30可从参数集NAL单元剖析量化矩阵表(266)。视频解码器30可根据图6的实例操作剖析量化矩阵表。响应于确定量化矩阵旗标指示参数集NAL单元不包含量化矩阵(264的“否”)或在剖析量化矩阵表之后,视频解码器30可完成剖析参数集NAL单元。
图6是图解说明根据本发明的一个或一个以上技术的视频解码器30剖析参数集NAL单元中的量化矩阵表的实例操作300的流程图。在操作300中,视频解码器30可从量化矩阵表剖析再用旗标(reuse_qm_tabe_flag)(302)。视频解码器30可随后确定再用旗标是否指示视频解码器30将把参考参数集的量化矩阵表再用作当前参数集的量化矩阵表(304)。响应于确定再用旗标指示视频解码器30将把参考参数集的量化矩阵表再用作当前参数集的量化矩阵表(304的“是”),视频解码器30可从量化矩阵表剖析再用参数集识别符(reused_aps_id)(306)。视频解码器30可使用由具有由再用参数集识别符指定的识别符的参数集指定的量化矩阵表作为当前参数集的量化矩阵表。
另一方面,响应于确定再用旗标指示视频解码器30将不把参考参数集的量化矩阵表再用作当前参数集的量化矩阵表(304的“否”),视频解码器30可从量化矩阵表剖析片段旗标(fragment_flag)(308)。片段旗标可指示量化矩阵表是否包含当前参数集的所有量化矩阵。视频解码器30可确定片段旗标是否指示量化矩阵表包含当前参数集的所有量化矩阵(310)。
响应于确定片段旗标指示量化矩阵表不包含当前参数集的所有量化矩阵(310的“否”),视频解码器30可从量化表剖析指示量化表中的量化矩阵数目的语法元素(num_ref_aps_for_qm)(312)。如果片段旗标指示量化矩阵表不包含当前参数集的所有量化矩阵,那么NAL单元可含有当前参数集的片段,而不是完整参数集。
无论片段旗标是否指示量化矩阵表包含当前参数集的所有量化矩阵,视频解码器30均可确定量化矩阵指示符是否指示依赖于帧间的预测类型(314)。在依赖于帧间的预测类型中,视频解码器30可从量化矩阵内、从同一参数集NAL单元中的其它量化矩阵、从来自同一参数集的不同NAL单元的其它量化矩阵以及从不同参数集中的其它量化矩阵确定量化矩阵。
响应于确定量化矩阵指示符指示依赖于帧间的预测类型(314的“是”),视频解码器30可从量化表剖析指示参考参数集的数目的语法元素(num_ref_aps_for_qm)(316)。另外,视频解码器30可从量化表剖析每一参考参数集的识别符(ref_aps_id[i])(318)。
响应于确定量化矩阵指示符不指示依赖于帧间的预测类型(314的“否”)或在执行动作316和318之后,视频解码器30可将计数器初始化为零且确定计数器是否小于量化矩阵表中的量化矩阵的数目(320)。响应于确定计数器小于量化矩阵的数目(320的“是”),视频解码器30可从量化矩阵表剖析当前量化矩阵的量化矩阵识别符(quan_matrix_id[i])(322)。当前量化矩阵可为在量化矩阵表中位于与计数器的当前值相关联的位置处的量化矩阵。另外,视频解码器30可确定量化矩阵指示符是否指示仅允许矩阵内预测(即,quantization_matrix_idc=0)(324)。当视频解码器30执行矩阵内预测时,视频解码器30可基于量化矩阵的值的子集确定量化矩阵。
响应于确定量化矩阵指示符不指示仅允许矩阵内预测(324的“否”),视频解码器30可从量化矩阵表剖析指示当前量化矩阵的预测模式的语法元素(qm_prediction_mode)(326)。响应于确定量化矩阵指示符指示仅允许矩阵内预测(324的“是”)或在动作326中剖析语法元素之后,视频解码器30可确定当前量化矩阵是否是从参考参数集预测(例如,qm_prediction_mode==3)(328)。响应于确定当前量化矩阵是从参考图片集预测(328的“是”),视频解码器30可从量化矩阵表剖析参考图片集的识别符(ref_aps_idx)(330)。
响应于确定当前量化矩阵不是从参考图片集预测(328的“否”)或在动作330中剖析识别符之后,视频解码器30可确定针对当前量化矩阵是否允许矩阵内预测(例如,qm_prediction_mode>0)(332)。响应于确定不允许矩阵内预测(332的“否”),视频解码器30可从量化矩阵表剖析当前量化矩阵的识别符(qm_id[i])(334)。另外,视频解码器30可从量化矩阵表剖析跳过旗标(336)。
在剖析跳过旗标之后或在确定允许矩阵内预测之后(332的“是”),视频解码器30可确定跳过旗标是否指示系数是在用于当前量化矩阵的量化矩阵表中用信号发送(338)。如果跳过旗标不存在,且因此不是从量化矩阵表剖析,那么视频解码器30可推断跳过旗标等于0。响应于确定系数是在用于当前量化矩阵的量化矩阵表中用信号发送(338的“是”),视频解码器30可从量化矩阵表剖析当前量化矩阵的系数(340)。
在剖析用于当前矩阵的系数之后或响应于确定无系数在用于当前量化矩阵的量化矩阵表中用信号发送(338的“否”),视频解码器30可递增计数器且再次确定计数器是否小于量化矩阵表中的量化矩阵的数目(320)。以此方式,视频解码器30可相对于量化矩阵表中的量化矩阵中的每一者执行动作322到340。通过选择哪些预测类型将用于量化矩阵,视频编码器20可在经配置以如此的情况下确保视频解码器30能够独立地对参数集的片段进行解码。
在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输,且由基于硬件的处理单元执行。计算机可读媒体可包含对应于例如数据存储媒体等有形媒体的计算机可读存储媒体,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或者一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
举例来说且并非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它媒体。而且,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而应了解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也应包含在计算机可读媒体的范围内。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或一个以上处理器)的集合结合合适软件和/或固件来提供。
已描述了各种实例。这些和其它实例属于所附权利要求书的范围内。
Claims (28)
1.一种用于对视频数据进行编码的方法,所述方法包括:
产生网络抽象层第一NAL单元,所述第一NAL单元含有与所述视频数据相关联的参数集的第一片段,其中所述参数集用信号发送多个量化矩阵,且所述第一NAL单元包括指示所述第一NAL单元是含有所述参数集的所有所述量化矩阵还是仅含有所述参数集的所述量化矩阵的子集的旗标;以及
产生第二NAL单元,所述第二NAL单元含有所述参数集的第二片段,所述第一和第二NAL单元为非视频译码层VCL NAL单元。
2.根据权利要求1所述的方法,其中所述参数集是以下各项中的一者:序列参数集和图片参数集。
3.根据权利要求1所述的方法,其中所述第一片段可在不参考所述第二片段的情况下解码,且所述第二片段可在不参考所述第一片段的情况下解码。
4.根据权利要求1所述的方法,其中所述第一NAL单元包含指示所述第一NAL单元包含所述量化矩阵中的一者或一者以上的旗标。
5.根据权利要求1所述的方法,其中所述第一NAL单元包含所述量化矩阵的第一子集且所述第二NAL单元包含所述量化矩阵的第二子集,其中量化矩阵的所述第一子集中的每一量化矩阵可在不参考所述第二NAL单元中的数据的情况下确定,且量化矩阵的所述第二子集中的每一量化矩阵可在不参考所述第一NAL单元中的数据的情况下确定。
6.根据权利要求1所述的方法,
其中含有所述参数集的NAL单元的大小大于通信协议的最大发射单元MTU的大小;且
其中所述方法进一步包括:
将所述第一NAL单元囊封于所述通信协议的第一包中;
将所述第二NAL单元囊封于所述通信协议的第二包中;以及
在通信信道上发送所述第一和第二包。
7.根据权利要求1所述的方法,其中所述第一和第二NAL单元包含识别所述参数集的语法元素。
8.一种对视频数据进行解码的方法,所述方法包括:
接收包括网络抽象层第一NAL单元和第二NAL单元的位流,所述第一NAL单元含有参数集的第一片段,且所述第二NAL单元含有所述参数集的第二片段,所述第一和第二NAL单元为非视频译码层VCL NAL单元,其中所述参数集用信号发送多个量化矩阵,且所述第一NAL单元包括指示所述第一NAL单元是含有所述参数集的所有所述量化矩阵还是仅含有所述参数集的所述量化矩阵的子集的旗标;以及
至少部分地基于所述参数集对所述视频数据的一个或一个以上经译码图片进行解码。
9.根据权利要求8所述的方法,其中所述参数集是以下各项中的一者:序列参数集和图片参数集。
10.根据权利要求8所述的方法,其中所述第一NAL单元包含所述量化矩阵的第一子集且所述第二NAL单元包含所述量化矩阵的第二子集,其中量化矩阵的所述第一子集中的每一量化矩阵可在不参考所述第二NAL单元中的数据的情况下确定,且量化矩阵的所述第二子集中的每一量化矩阵可在不参考所述第一NAL单元中的数据的情况下确定。
11.根据权利要求8所述的方法,其中接收所述位流包括接收通信协议中的第一和第二包,第一包囊封所述第一NAL单元且第二包囊封所述第二NAL单元。
12.根据权利要求8所述的方法,其中所述第一和第二NAL单元包含识别所述参数集的语法元素。
13.一种计算装置,其包括一个或一个以上处理器,所述一个或一个以上处理器经配置以:
产生网络抽象层第一NAL单元,所述第一NAL单元含有与视频数据相关联的参数集的第一片段,其中所述参数集用信号发送多个量化矩阵,且所述第一NAL单元包括指示所述第一NAL单元是含有所述参数集的所有所述量化矩阵还是仅含有所述参数集的所述量化矩阵的子集的旗标;以及
产生第二NAL单元,所述第二NAL单元含有所述参数集的第二片段,所述第一和第二NAL单元为非视频译码层VCL NAL单元。
14.根据权利要求13所述的计算装置,其中所述参数集是以下各项中的一者:序列参数集和图片参数集。
15.根据权利要求13所述的计算装置,其中所述第一片段可在不参考所述第二片段的情况下解码,且所述第二片段可在不参考所述第一片段的情况下解码。
16.根据权利要求13所述的计算装置,其中所述第一NAL单元包含指示所述第一NAL单元包含所述量化矩阵中的一者或一者以上的旗标。
17.根据权利要求13所述的计算装置,其中所述第一NAL单元包含所述量化矩阵的第一子集且所述第二NAL单元包含所述量化矩阵的第二子集,其中量化矩阵的所述第一子集中的每一量化矩阵可在不参考所述第二NAL单元中的数据的情况下确定,且量化矩阵的所述第二子集中的每一量化矩阵可在不参考所述第一NAL单元中的数据的情况下确定。
18.根据权利要求13所述的计算装置,
其中含有所述参数集的NAL单元的大小大于通信协议的最大发射单元MTU的大小;且
其中所述一个或多个处理器进一步经配置以:
将所述第一NAL单元囊封于所述通信协议的第一包中;
将所述第二NAL单元囊封于所述通信协议的第二包中;以及
在通信信道上发送所述第一和第二包。
19.根据权利要求13所述的计算装置,其中所述第一和第二NAL单元包含识别所述参数集的语法元素。
20.根据权利要求13所述的计算装置,其中所述计算装置包括视频编码器。
21.一种计算装置,其包括:
用于产生网络抽象层第一NAL单元的装置,所述第一NAL单元含有与视频数据相关联的参数集的第一片段,其中所述参数集用信号发送多个量化矩阵,且所述第一NAL单元包括指示所述第一NAL单元是含有所述参数集的所有所述量化矩阵,还是仅含有所述参数集的所述量化矩阵的子集的旗标;以及
用于产生第二NAL单元的装置,所述第二NAL单元含有所述参数集的第二片段,所述第一和第二NAL单元为非视频译码层VCL NAL单元。
22.一种计算装置,其包括一个或一个以上处理器,所述一个或一个以上处理器经配置以:
接收包括网络抽象层第一NAL单元和第二NAL单元的位流,所述第一NAL单元含有参数集的第一片段,且所述第二NAL单元含有所述参数集的第二片段,所述第一和第二NAL单元为非视频译码层VCL NAL单元,其中所述参数集用信号发送多个量化矩阵,且所述第一NAL单元包括指示所述第一NAL单元是含有所述参数集的所有所述量化矩阵还是仅含有所述参数集的所述量化矩阵的子集的旗标;以及
至少部分地基于所述参数集对视频数据的一个或一个以上经译码图片进行解码。
23.根据权利要求22所述的计算装置,其中所述参数集是以下各项中的一者:序列参数集和图片参数集。
24.根据权利要求22所述的计算装置,其中所述第一NAL单元包含所述量化矩阵的第一子集且所述第二NAL单元包含所述量化矩阵的第二子集,其中量化矩阵的所述第一子集中的每一量化矩阵可在不参考所述第二NAL单元中的数据的情况下确定,且量化矩阵的所述第二子集中的每一量化矩阵可在不参考所述第一NAL单元中的数据的情况下确定。
25.根据权利要求22所述的计算装置,其中:
含有所述参数集的NAL单元的大小大于通信协议的最大发射单元MTU,且
所述一个或一个以上处理器经配置以接收所述通信协议中的第一和第二包,所述第一包囊封所述第一NAL单元且所述第二包囊封所述第二NAL单元。
26.根据权利要求22所述的计算装置,其中所述第一和第二NAL单元包含识别所述参数集的语法元素。
27.根据权利要求22所述的计算装置,其中所述计算装置包括视频解码器。
28.一种计算装置,其包括:
用于接收包括网络抽象层第一NAL单元和第二NAL单元的位流的装置,所述第一NAL单元含有参数集的第一片段,且所述第二NAL单元含有所述参数集的第二片段,所述第一和第二NAL单元为非视频译码层VCL NAL单元,其中所述参数集用信号发送多个量化矩阵,且所述第一NAL单元包括指示所述第一NAL单元是含有所述参数集的所有所述量化矩阵还是仅含有所述参数集的所述量化矩阵的子集的旗标;以及
用于至少部分地基于所述参数集对视频数据的一个或一个以上经译码图片进行解码的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161553652P | 2011-10-31 | 2011-10-31 | |
US61/553,652 | 2011-10-31 | ||
US13/664,057 | 2012-10-30 | ||
US13/664,057 US9143802B2 (en) | 2011-10-31 | 2012-10-30 | Fragmented parameter set for video coding |
PCT/US2012/062780 WO2013066994A1 (en) | 2011-10-31 | 2012-10-31 | Fragmented parameter set for video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103975595A CN103975595A (zh) | 2014-08-06 |
CN103975595B true CN103975595B (zh) | 2017-02-15 |
Family
ID=48172422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280053896.9A Active CN103975595B (zh) | 2011-10-31 | 2012-10-31 | 用于视频译码的分段参数集 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9143802B2 (zh) |
EP (1) | EP2774367A1 (zh) |
JP (1) | JP5890031B2 (zh) |
KR (1) | KR101578314B1 (zh) |
CN (1) | CN103975595B (zh) |
IN (1) | IN2014CN02979A (zh) |
WO (1) | WO2013066994A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378560B2 (en) * | 2011-06-17 | 2016-06-28 | Advanced Micro Devices, Inc. | Real time on-chip texture decompression using shader processors |
KR102074600B1 (ko) | 2012-02-29 | 2020-02-06 | 소니 주식회사 | 화상 처리 장치 및 방법, 및 기록 매체 |
WO2013162454A1 (en) * | 2012-04-24 | 2013-10-31 | Telefonaktiebolaget L M Ericsson (Publ) | Identifying a parameter set for decoding a multi-layer video representation |
WO2013165215A1 (ko) * | 2012-05-04 | 2013-11-07 | 엘지전자 주식회사 | 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치 |
US9992490B2 (en) | 2012-09-26 | 2018-06-05 | Sony Corporation | Video parameter set (VPS) syntax re-ordering for easy access of extension parameters |
US10419778B2 (en) | 2013-01-04 | 2019-09-17 | Sony Corporation | JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure |
US10219006B2 (en) | 2013-01-04 | 2019-02-26 | Sony Corporation | JCTVC-L0226: VPS and VPS_extension updates |
JP6361866B2 (ja) * | 2013-05-09 | 2018-07-25 | サン パテント トラスト | 画像処理方法および画像処理装置 |
US9432685B2 (en) * | 2013-12-06 | 2016-08-30 | Qualcomm Incorporated | Scalable implementation for parallel motion estimation regions |
US20160044314A1 (en) * | 2014-08-08 | 2016-02-11 | Qualcomm Incorporated | System and method for reusing transform structure for multi-partition transform |
US20170347124A1 (en) * | 2014-12-22 | 2017-11-30 | Thomson Licensing | Method of encoding video picture, method of decoding video picture, appatatus for encoding video picture, apparatus for decoding video picture and computer program product |
EP3306924A1 (en) * | 2016-10-05 | 2018-04-11 | Thomson Licensing | Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to picture data |
KR20240032154A (ko) * | 2017-11-30 | 2024-03-08 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 장치 |
TW202046180A (zh) * | 2019-04-23 | 2020-12-16 | 美商內數位Vc控股公司 | 用於編碼及解碼深度神經網路之低等級及基於位移等級層之架構 |
KR20220046679A (ko) * | 2019-08-19 | 2022-04-14 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 액세스 유닛 구획자와 적응형 매개변수 집합의 사용 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076614A1 (en) * | 2004-01-30 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding method and moving picture decoding method |
KR20080050941A (ko) * | 2006-12-04 | 2008-06-10 | 한국전자통신연구원 | Rtp 패킷화 모드별 비트율 생성 방법 |
JP2011061363A (ja) * | 2009-09-08 | 2011-03-24 | Brother Industries Ltd | 符号化装置、符号化方法、および符号化プログラム |
CN102123286A (zh) * | 2010-12-31 | 2011-07-13 | 北京大学深圳研究生院 | 视频编解码器网络提取层nal模块及实现方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3132456B2 (ja) | 1998-03-05 | 2001-02-05 | 日本電気株式会社 | 階層的画像符号化方式、及び階層的画像復号方式 |
EP1069779B1 (en) * | 1999-02-09 | 2016-04-13 | Sony Corporation | Coding system and its method |
KR101134220B1 (ko) * | 2004-06-02 | 2012-04-09 | 파나소닉 주식회사 | 화상 부호화 장치 및 화상 복호화 장치 |
FR2898754B1 (fr) | 2006-03-17 | 2008-06-13 | Thales Sa | Procede de protection de donnees multimedia au moyen de couches d'abstraction reseau (nal) supplementaires |
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
WO2008044511A1 (en) | 2006-10-12 | 2008-04-17 | Kabushiki Kaisha Toshiba | Method and apparatus for encoding image |
JP4691062B2 (ja) * | 2007-03-30 | 2011-06-01 | 株式会社東芝 | 情報処理装置 |
US8265144B2 (en) | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
CN101779467B (zh) | 2008-06-27 | 2012-06-27 | 索尼公司 | 图像处理装置和图像处理方法 |
RU2479935C2 (ru) | 2008-06-27 | 2013-04-20 | Сони Корпорейшн | Устройство для обработки изображения и способ обработки изображения |
WO2012017643A1 (ja) | 2010-08-06 | 2012-02-09 | パナソニック株式会社 | 符号化方法、表示装置、及び復号方法 |
US9565449B2 (en) | 2011-03-10 | 2017-02-07 | Qualcomm Incorporated | Coding multiview video plus depth content |
US20120236934A1 (en) * | 2011-03-18 | 2012-09-20 | Qualcomm Incorporated | Signaling of multiview video plus depth content with a block-level 4-component structure |
US11496760B2 (en) * | 2011-07-22 | 2022-11-08 | Qualcomm Incorporated | Slice header prediction for depth maps in three-dimensional video codecs |
-
2012
- 2012-10-30 US US13/664,057 patent/US9143802B2/en not_active Expired - Fee Related
- 2012-10-31 KR KR1020147013904A patent/KR101578314B1/ko not_active IP Right Cessation
- 2012-10-31 CN CN201280053896.9A patent/CN103975595B/zh active Active
- 2012-10-31 WO PCT/US2012/062780 patent/WO2013066994A1/en active Application Filing
- 2012-10-31 JP JP2014540036A patent/JP5890031B2/ja not_active Expired - Fee Related
- 2012-10-31 IN IN2979CHN2014 patent/IN2014CN02979A/en unknown
- 2012-10-31 EP EP12788001.1A patent/EP2774367A1/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005076614A1 (en) * | 2004-01-30 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding method and moving picture decoding method |
JP2011091848A (ja) * | 2004-01-30 | 2011-05-06 | Panasonic Corp | 動画像符号化方法、動画像符号化装置、プログラムおよび記録媒体 |
KR20080050941A (ko) * | 2006-12-04 | 2008-06-10 | 한국전자통신연구원 | Rtp 패킷화 모드별 비트율 생성 방법 |
JP2011061363A (ja) * | 2009-09-08 | 2011-03-24 | Brother Industries Ltd | 符号化装置、符号化方法、および符号化プログラム |
CN102123286A (zh) * | 2010-12-31 | 2011-07-13 | 北京大学深圳研究生院 | 视频编解码器网络提取层nal模块及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
US20130107942A1 (en) | 2013-05-02 |
KR101578314B1 (ko) | 2015-12-16 |
CN103975595A (zh) | 2014-08-06 |
JP5890031B2 (ja) | 2016-03-22 |
US9143802B2 (en) | 2015-09-22 |
KR20140085542A (ko) | 2014-07-07 |
WO2013066994A1 (en) | 2013-05-10 |
IN2014CN02979A (zh) | 2015-07-03 |
EP2774367A1 (en) | 2014-09-10 |
JP2014535218A (ja) | 2014-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103975595B (zh) | 用于视频译码的分段参数集 | |
CN105874797B (zh) | 视频数据的编解码方法、装置、设备和存储媒体 | |
CN104054347B (zh) | 在视频译码中波前平行处理的使用的指示 | |
CN105052152B (zh) | 用于视频译码及压缩的设备、方法及非暂时性计算机可读媒体 | |
CN105612752B (zh) | 对用于多层视频编解码器的多模提取的支持 | |
CN105393536B (zh) | 使用位移向量从预测性块的帧内预测 | |
CN106105197B (zh) | 针对帧内块复制的基于散列的编码器搜索 | |
CN104685888B (zh) | 补充增强信息消息译码 | |
CN104685875B (zh) | 用于视频译码的方法、设备、计算机可读存储媒体 | |
CN104471942B (zh) | 重新使用参数集用于视频译码 | |
CN106464917B (zh) | 用信号表示用于位流分区的hrd参数 | |
CN104704843B (zh) | 视频性质的指示 | |
CN104904222B (zh) | 对视频译码中的视频时序的图片次序计数与时序信息关系的信令 | |
CN104205829B (zh) | 合并信令及环路滤波器开/关信令 | |
CN104272742B (zh) | 加权预测参数译码 | |
CN110100439A (zh) | 用于视频译码的帧内预测技术 | |
CN108781289A (zh) | 针对视频译码工具的受约束块层级优化和用信号发送 | |
CN104584557B (zh) | 对视频数据进行编码、解码的方法、装置以及计算机可读介质 | |
CN108353167A (zh) | 译码视频数据的正负号信息 | |
CN105874788B (zh) | 对3d视频译码中较大预测块的逐段dc译码的简化 | |
CN105379272B (zh) | 在vps中用信号通知位速率信息及图片速率信息 | |
CN103563378A (zh) | 存储器高效的上下文建模 | |
CN104255027B (zh) | 用于视频译码的层间纹理预测 | |
CN104685887A (zh) | 于视频译码中发信用于操作点的层识别符 | |
CN105052153B (zh) | 用于视频信息的可缩放译码的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |