CN105637879A - 图序计数的对齐 - Google Patents
图序计数的对齐 Download PDFInfo
- Publication number
- CN105637879A CN105637879A CN201480055639.8A CN201480055639A CN105637879A CN 105637879 A CN105637879 A CN 105637879A CN 201480055639 A CN201480055639 A CN 201480055639A CN 105637879 A CN105637879 A CN 105637879A
- Authority
- CN
- China
- Prior art keywords
- image
- equal
- picordercntval
- layer
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- 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
一种针对视频比特流的解码方法提供图序计数(POC)的对齐。所述方法包括如下步骤:(a)对所述视频比特流的多个图像进行解码,其中,所述多个图像中的每个图像与基于所述图序计数的最高位比特值(PicOrderCntMsb)和所述图序计数的最低位比特值(PicOrderCntLsb)的所述图序计数值相关联,并且与最大图序计数最低位比特值(MaxPicOrderCntLsb)相关联;在解码器图像缓冲器中定位图像,所述图像使得所述图序计数值与当前图像的图序计数和所述最大图序计数最低位比特值按比特“与”得到的结果(PicOrderCntVal&(MaxPicOrderCntLsb-1))相同。
Description
相关申请交叉引用
无。
技术领域
本发明涉及视频编码和解码。
背景技术
为了满足消费者的需要以及提高便携性和便利性,电子设备已变得更小且功能更强大。消费者已经变得越来越依赖电子设备,并且希望更多的功能。电子设备的一些示例包括台式计算机、膝上型计算机,蜂窝电话、电能电话、媒体播放器、集成电路等。
一些电子设备用于处理和/或显示数字媒体。例如,便携式电子设备现在允许在消费者可能所在的几乎任何位置产生和/或消费数字媒体。此外,一些电子设备可以提供数字媒体内容的下载或流传输以用于被消费者使用和享受。
数字视频通常被表示为图像或帧的序列,其中,每个图像或帧均包括像素矩阵。每个像素包括诸如强度和/或颜色信息之类的信息。在很多情况下,每个像素被表示为三个颜色的集。一些视频编码技术以复杂度增加为代价提供更高的编码效率。针对视频编码技术的提高图像质量的要求和提高图像分辨率的要求也会增加编码复杂度。
数字媒体的逐渐普及已经呈现出了若干问题。例如,高效表示高质量数字媒体以用于存储、传输和回放提出了若干挑战。更高效地表示数字媒体的技术是有益的。
在结合附图考虑本发明的以下详细描述时,本发明的以上和其它目的、特征和优点将更易于理解。
发明内容
本发明的一个实施例公开了一种用于对视频比特流进行解码的方法,所述方法包括以下步骤:(a)接收所述视频比特流;(b)对所述视频比特流的多个图像进行解码,其中,所述多个图像中的每个图像基于图序计数的最高位比特值和所述图序计数的最低位比特值与所述图序计数值相关联,并且与最大图序计数最低位比特值相关联;(c)在解码器图像缓冲器中定位图像,所述图像具有的图序计数值与当前图像的图序计数和所述最大图序计数最低位比特值按比特“与”得到的结果相同。
附图说明
图1A是示出了包括HEVC编码器的电子设备的一种配置的框图。
图1B是示出了包括具有增强层的HEVC编码器的电子设备的一种配置的框图。
图2A是示出了包括HEVC解码器的电子设备的一种配置的框图。
图2B是示出了包括具有增强层的HEVC解码器的电子设备的一种配置的框图。
图3A是示出了编码器和解码器的一个示例的框图。
图3B是示出了具有增强层的编码器和解码器的一个示例的框图。
图4示出了可以在电子设备中使用的各种组件。
图5示出了示例性条带结构。
图6示出了具有一个条带和9个分片(tile)的帧。
图7示出了具有三个条带和3个分片的帧。
图8示出了POC、解码顺序和RPS。
图9示出了示例性条带头。
图10示出了示例性条带头。
图11示出了示例性条带头。
图12示出了示例性条带头。
图13示出了示例性视频参数集。
图14A是示出了当第二增强层(EL2)具有比基础层(BL)和第一增强层(EL1)更低的图像速率时,针对编码图像的层的网络抽象层(NAL)单元和访问单元(AU)的结构和时序的框图。
图14B是示出了当基础层(BL)具有比第一增强层(EL1)和第二增强层(EL2)更低的图像速率时,针对编码图像的层的网络抽象层(NAL)单元和访问单元(AU)的结构和时序的框图。
图15示出了对IDR/BLA图像的限制。
图16示出了同步广播的IDR/BLA图像。
图17示出了具有基础层和/或增强层的访问单元。
图18示出了针对多个编码图像的TemporalId、prevTid0Pic和PicOrderCntVal。
具体实施方式
国际电信联盟标准化部门(ITU-T)研究组16(SG16)工作小组3(WP3)的工作视频编码联合协作组(JCT-VC)以及国际标准化组织/国际电工委员会(ISO/IEC)联合技术委员会1/下属委员会29/工作组11(JTC1/SC29/WG11)发布了针对视频编码标准的标准化成就,其被称为高效视频编码标准(HEVC)。HEVC使用基于块的编码。
图1A是示出了可以对视频编码的电子设备102的一种配置的框图。应注意,被示出为包括在电子设备102中的一个或多个元件可以实施为硬件、软件或两者的组合。例如,电子设备102包括编码器108,其可以实施为硬件、软件或两者的组合。例如,编码器108可以被实施为电路、集成电路、专用集成电路(ASIC)、与具有可执行指令进行电子通信的处理器、固件、现场可编程门阵列(FPGA)等或者它们的组合。在一些配置中,编码器108可以是高效视频编码(HEVC)编码器。
电子设备102可以包括供应器104。供应器104可以将图像或图像数据(例如视频)作为源106提供给编码器108。供应器104的示例包括图像传感器、存储器、通信接口、网络接口、无线接收机、端口等。
源106可以被提供给帧内预测模块和重构缓冲器110。源106还可以被提供给运动估计和运动补偿模块136和减法模块116。
帧内预测模块和重构缓冲器110可以基于源106和重构数据150产生帧内模式信息128和帧内信号112。运动估计和运动补偿模块136可以基于源106和参考图像缓冲器166信号168产生帧间模式信息138和帧间信号114。参考图像缓冲器166信号168可以包括来自于存储在参考图像缓冲器166中的一个或多个参考图像的数据。
编码器108可以根据模式选择帧内信号112和帧间信号114。帧内信号112可以用于以帧内编码模式利用图像内的空间特性。帧间信号114可以用于以帧间编码模式利用图像之间的时间特性。在帧内编码模式下,帧内信号112可以被提供给减法模块116,并且帧内模式信息128可以被提供给熵编码模块130。在帧间编码模式下,帧间信号114可以被提供给减法模块116,并且帧间模式信息138可以被提供给熵编码模块130。
可以在减法模块116从源106减去帧内信号112或帧间信号114(取决于模式),以产生预测残差118。预测残差118被提供给变换模块120。变换模块120可以压缩预测残差118以产生被提供给量化模块124的变换信号122。量化模块124对变换信号122进行量化以产生变换且量化的系数(TQC)126。
TQC126被提供给熵编码模块130和反量化模块140。反量化模块140对TQC126执行反量化,以产生被提供给逆变换模块144的反量化信号142。逆变换模块144对反量化信号142进行解压缩,以产生被提供给重构模块148的解压缩信号146。
重构模块148可以基于解压缩信号146产生重构数据150。例如,重构模块148可以重构(修改的)图像。重构数据150可以被提供给去块滤波器152和帧内预测模块和重构缓冲器110。去块滤波器152可以基于重构数据150产生滤波信号154。
滤波信号154可以被提供给采样自适应偏移(SAO)模块156。SAO模块156可以产生被提供给熵编码模块130的SAO信息158以及被提供给自适应循环滤波器(ALF)162的SAO信号160。ALF162产生被提供给参考图像缓冲器166的ALF信号164。ALF信号164可以包括来自于可以被用作参考图像的一个或多个图像的数据。在一些情况下,ALF162可以省略。
熵编码模块130可以对TQC126进行编码以产生比特流134。如上所述,TQC126可以在熵编码之前被转换为1D阵列。熵编码模块130可以使用CAVLC或CABAC对TQC126进行编码。具体地,熵编码模块130可以基于一个或多个帧内模式信息128、帧间模式信息138和SAO信息158,对TQC126进行编码。比特流134可以包括编码图像数据。
在诸如HEVC的视频压缩中涉及的量化是一种通过将值的范围压缩为单个量化值而实现的有损压缩技术。量化参数(QP)是用于基于重构视频的质量和压缩率两者来执行量化的预定义缩放参数。在HEVC中定义块尺寸以基于块尺寸或其颜色信息来表示给定块的特性。可以在熵编码之前确定QP、分辨率信息和块尺寸。例如,电子设备102(例如编码器108)可以确定可以被提供给熵编码模块130的QP、分辨率信息和块类型。
熵编码模块130可以基于TQC126的块来确定块尺寸。例如,块尺寸可以是沿着TQC的块的一个维度的TQC126的数目。换言之,TQC的块中的TQC126的数目可以等于平方的块尺寸。此外,块可以是TQC126的数目为块的高乘以宽的非平方。例如,块尺寸可以被确定为TQC块中的TQC126的数目的平方根。分辨率可以被定义为像素宽度乘以像素高度。分辨率信息可以包括图像宽度中的像素数目、图像高度中的像素数目或两者。块尺寸可以被定义为沿着TQC的2D块的一个维度的TQC的数目。
在一些配置中,比特流134可以被发送到另一电子设备。例如,比特流134可以被提供给通信接口、网络接口、无线发射机、端口等。例如,可以经由局域网(LAN)、互联网、蜂窝电话基站等向另一电子设备发送比特流134。比特流134可以附加地或备选地存储在电子设备102上的存储器中。
图2B是示出了包括可以是高效视频编码(HEVC)解码器的解码器272在内的电子设备270的一种配置的框图。解码器272以及被示出为包括在解码器272中的一个或多个元件可以实施为硬件、软件或两者的组合。解码器272可以接收用于解码的比特流234(例如包括在比特流234中的一个或多个编码图像)。在一些配置中,接收到的比特流234可以包括接收到的开销信息,例如接收到的条带头、接收到的图像参数集(PPS)、接收到的缓冲器描述信息、分类指示符等。
从比特流234接收到的符号(例如,编码的TQC)可以被熵解码模块274熵解码。这样可以产生运动信息信号298和解码后的变换且量化的系数(TQC)278。
运动信息信号298可以在运动补偿模块294与来自于帧存储器290的解码图像292的一部分组合,从而可以产生帧间预测信号296。解码后的变换且量化的系数(TQC)278可以被反量化和逆变换模块280反量化和逆变换,从而产生解码后的残差信号282。解码后的残差信号282可以被加法模块207添加到预测信号205,以产生组合信号284。预测信号205可以是从由运动补偿模块294产生的帧间预测信号296或者由帧内预测模块201产生的帧内预测信号203中选择的信号。在一些配置中,该信号选择可以基于(例如受控于)比特流234。
帧内预测信号203可以根据来自于(例如当前帧中的)组合信号284的在先解码的信息来预测。组合信号284还可以被去块滤波器286滤波。产生的滤波信号288可以被提供给采样自适应偏移(SAO)模块231。基于滤波信号288和来自于熵解码模块274的信息239,SAO模块231可以产生被提供给自适应循环滤波器(ALF)233的SAO信号235。ALF233产生被提供给帧存储器290的ALF信号237。ALF信号237可以包括来自于可以被用作参考图像的一个或多个图像的数据。ALF信号237可以被写入帧存储器290。产生的ALF信号237可以包括解码图像。在一些情况下,ALF233可以省略。
帧存储器290可以包括解码图像缓冲器(DPB)。帧存储器290还可以包括与解码图像相对应的开销信息。例如,帧存储器290可以包括条带头、图像参数集(PPS)信息、循环参数、缓冲器描述信息等。这些信息中的一个或多个可以被编码器(例如编码器108)信号通知。
帧存储器290可以向运动补偿模块294提供一个或多个解码图像292。此外,帧存储器290可以提供可以从解码器272输出的一个或多个解码图像292。一个或多个解码图像292可以例如呈现在显示器上、存储在存储器中、或者被发送到另一设备。
图1B是示出了在电子设备702上的视频编码器782的一种配置的框图。图1B的视频编码器782可以是图1A的视频编码器108的一种配置。视频编码器782可以包括增强层编码器706、基础层编码器709、分辨率上调块770和输出接口780。图1B的视频编码器例如适合于本文所述的可扩展视频编码和多视图视频编码。
增强层编码器706可以包括接收输入图像704的视频输入781。视频输入781的输出可以被提供给接收预测选择750的输出的加法器/减法器783。加法器/减法器783的输出可以被提供给变换和量化块752。变换和量化块752的输出可以被提供给熵编码748块和缩放和逆变换块772。在执行了熵编码748之后,熵编码块748的输出可以被提供给输出接口780。输出接口780可以输出编码的基础层视频比特流707和编码的增强层视频比特流710两者。
缩放和逆变换块772的输出可以被提供给加法器779。加法器779还可以接收预测选择750的输出。加法器779的输出可以被提供给去块模块751。去块模块751的输出可以被提供给参考缓冲器794。参考缓冲器794的输出可以被提供给运动补偿模块754。运动补偿模块754的输出可以被提供给预测选择750。参考缓冲器794的输出可以被提供给帧内预测器756。帧内预测器756的输出可以被提供给预测选择750。预测选择750还可以接收分辨率上调块770的输出。
基础层编码器709可以包括视频输入762,视频输入762接收下采样的输入图像、或者适合于与另一图像组合的其它图像内容、或者备选的视图输入图像或者相同输入图像703(即,与由增强层编码器706接收到的输入图像704相同)。视频输入762的输出可以被提供给编码预测循环764。熵编码766可以被提供给熵预测循环764的输出。编码预测循环764的输出还可以被提供给参考缓冲器768。参考缓冲器768可以向编码预测循环764提供反馈。参考缓冲器768的输出还可以被提供给分辨率上调块770。一旦执行了熵编码766,则输出可以被提供给输出接口780。
图2B是示出了在电子设备802上的视频解码器812的一种配置的框图。图2B的视频解码器812可以是图2A的视频解码器272的一种配置。视频解码器812可以包括增强层解码器815和基础层解码器813。视频解码器812还可以包括接口889和分辨率上调870。图2B的视频解码器例如适合于本文所述的可扩展视频编码和编码的多视图视频。
接口889可以接收编码视频流885。编码视频流885可以包括基础层编码视频流和增强层编码视频流。这两个流可以被单独发送或一起发送。接口889可以向基础层解码器813中的熵解码块886提供编码视频流885的一些或全部。熵解码块886的输出可以被提供给解码预测循环887。解码预测循环887的输出可以被提供给参考缓冲器888。参考缓冲器可以向解码预测循环887提供反馈。参考缓冲器888还可以输出解码后的基础层视频流884。
接口889还可以向增强层解码器815中的熵解码块890提供编码视频流885的一些或全部。熵解码块890的输出可以被提供给逆量化块891。反量化块891的输出可以被提供给加法器892。加法器892可以将反量化块891的输出和预测选择块895的输出相加。加法器892的输出可以被提供给去块模块893。去块模块893的输出可以被提供给参考缓冲器894。参考缓冲器894可以输出解码后的增强层视频流882。参考缓冲器894的输出可以被提供给帧内预测器897。增强层解码器815可以包括运动补偿896。可以在分辨率上调870之后执行运动补偿896。预测选择块895可以接收帧内预测器897的输出和运动补偿896的输出。
图3A是示出了编码器308和解码器372的一个示例的框图。在该示例中,示出了电子设备A302和电子设备B370。然而,应注意,在一些配置中,关于电子设备A302和电子设备B370描述的特征和功能可以被组合到单个电子设备中。
电子设备A302包括编码器308。编码器308可以被实施为硬件、软件或两者的组合。在一个配置中,编码器308可以是高效视频编码(HEVC)编码器。可以类似地使用其它编码器。电子设备A302可以获得源306。在一些配置中,可以使用图像传感器在电子设备A302上捕捉源306、从存储器获取源306或者从另一电子设备接收源306。
编码器308可以对源306进行编码以产生比特流334。例如,编码器308可以对源306中的图像(例如视频)的序列进行编码。编码器308可以与以上结合图1A所述的编码器108类似。
比特流334可以包括基于源306的编码图像数据。在一些配置中,比特流334还可以包括开销数据,例如条带头信息、PPS信息等。当源306中的附加图像被编码时,比特流334可以包括一个或多个编码图像。
比特流334可以被提供给解码器372。在一个示例中,可以使用有线或无线链接向电子设备B370发送比特流334。在一些情况下,这可以通过网络(诸如互联网或局域网(LAN))来完成。如图3A中所示,解码器372可以与电子设备A302上的编码器308相分开地实施在电子设备B370上。然而,应注意,在一些配置中,编码器308和解码器372可以实施在相同电子设备上。在编码器308和解码器372被实施在相同电子设备上的实施方式中,例如,比特流334可以通过总线提供给解码器372或者存储在存储器中以被解码器372获取。解码器372可以提供解码图像392输出。
解码器372可以被实施为硬件、软件或两者的组合。在一个配置中,解码器372可以是高效视频编码(HEVC)解码器。可以类似地使用其它解码器。解码器372可以与以上结合图2A所述的解码器272类似。
图3B是示出了编码器908和解码器972的另一个示例的框图。在该示例中,示出了电子设备A902和电子设备B970。然而,应注意,在一些配置中,关于电子设备A902和电子设备B970描述的特征和功能可以被组合到单个电子设备中。
电子设备A902包括编码器908。编码器908可以包括基础层编码器910和增强层编码器920。视频编码器908适合于可扩展视频编码和多视图视频编码。编码器908可以被实施为硬件、软件或两者的组合。在一个配置中,编码器908可以是包括可扩展和/或多视图的高效视频编码(HEVC)编码器。可以类似地使用其它编码器。电子设备A902可以获得源906。在一些配置中,可以使用图像传感器在电子设备A902上捕捉源906、从存储器获取源906或者从另一电子设备接收源906。
编码器908可以对源906编码以产生基础层比特流934和增强层比特流936。例如,编码器908可以对源906中的图像(例如视频)的序列进行编码。具体地,对于针对SNR可扩展性(还已知为质量可扩展性)的可扩展视频编码,相同源906可以被提供给基础层和增强层编码器。具体地,对于针对空间扩展性的可扩展视频编码,可以将下采样的源用于基础层编码器。具体地,对于多视图编码,可以将不同的视图源用于基础层编码器和增强层编码器。编码器908可以与以上结合图1B所述的编码器782类似。
比特流934、936可以包括基于源906的编码图像数据。在一些配置中,比特流934、936还可以包括开销数据,例如条带头信息、PPS信息等。当源906中的附加图像被编码时,比特流934、936可以包括一个或多个编码图像。
比特流934、936可以被提供给解码器972。解码器972可以包括基础层解码器980和增强层解码器990。视频解码器972适合于可扩展视频解码和多视图视频解码。在一个示例中,可以使用有线或无线链接向电子设备B970发送比特流934、936。在一些情况下,这可以通过网络(诸如互联网或局域网(LAN))来完成。如图3B中所示,解码器972可以与电子设备A902上的编码器908相分开地实施在电子设备B970上。然而,应注意,在一些配置中,编码器908和解码器972可以实施在相同电子设备上。在编码器908和解码器972被实施在相同电子设备上的实施方式中,例如,比特流934、936可以通过总线提供给解码器972或者存储在存储器中以被解码器972获取。解码器972可以提供解码的基础层992和解码的增强层图像994作为输出。
解码器972可以被实施为硬件、软件或两者的组合。在一个配置中,解码器972可以是包括可扩展和/或多视图的高效视频编码(HEVC)解码器。可以类似地使用其它解码器。解码器972可以与以上结合图2B所述的解码器812类似。
图4示出了可以在电子设备409中使用的各种组件。电子设备409可以被实施为一个或多个电子设备。例如,电子设备409可以被实施为以上结合图1A和图1B描述的电子设备102、以上结合图2A和图2B描述的电子设备270、或者这两者。
电子设备409包括控制电子设备409的操作的处理器417。处理器417还可以被称为CPU。存储器411(其可以包括只读存储器(ROM)、随机存取存储器(RAM)两者、或可以存储信息的任意类型的装置)向处理器417提供指令413a(例如可执行指令)和数据415a。存储器411的一部分还可以包括非易失性随机存取存储器(NVRAM)。存储器411可以与处理器417进行电子通信。
指令413b和数据415b也可驻留在处理器417中。加载到处理器417中的指令413b和/或数据415b还可以包括来自存储器411的被处理器417加载以被执行或处理的指令413a和/或数据415a。指令413b可以被处理器417执行以实现本文公开的一个或多个技术。
电子设备409可以包括用于与其他电子设备通信的一个或多个通信接口419。通信接口419可以基于有线通信技术、无线通信技术或两者。通信接口419的示例包括串行端口、并行端口、通用串行总线(USB)、以太网适配器、IEEE1394总线接口、小型计算机系统接口(SCSI)总线接口、红外(IR)通信端口、蓝牙无线通信适配器、根据第三代合作伙伴计划(3GPP)规范的无线收发机等。
电子设备409可以包括一个或多个输出设备423以及一个或多个输入设备421。输出设备423的示例包括扬声器、打印机等。可以包括在电子设备409中的输出设备的一种类型是显示设备425。利用本文公开的配置所使用的显示设备425可以利用合适的图像投影技术,例如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)、气体等离子体、电致发光等。显示控制器427可以被提供为用于将存储在存储器411中的数据转换为在显示器425上显示的文本、图形和/或运动图像(在合适的情况下)。输入设备421的示例包括键盘、鼠标、麦克风、遥控设备、按钮、操纵杆、跟踪球、触摸垫、触摸屏、光笔等。
电子设备409的各个组件通过总线系统429耦接在一起,除了数据总线之外,总线系统1363还可以包括电源总线、控制信号总线和状态信号总线。然而,为了清楚起见,在图4中将各个总线示出为总线系统429。在图4中示出的电子设备409是功能框图而不是具体组件的列表。
术语“计算机可读介质”是指能够由计算机或处理器访问的任意可用介质。这里使用的术语“计算机可读介质”可以表示非暂时且有形的计算机和/或处理器可读介质。通过示例而非限制的方式,计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者可用于携带或存储指令或数据结构形式的期望程序代码、并可被计算机或处理器访问的任何其它介质。这里使用的磁盘和光盘包括致密盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光(注册商标)盘,其中磁盘通常磁再现数据,而光盘用激光来光再现数据。用于解码器和/或编码器的代码可以被存储在计算机可读介质上。
包括多个编码树块(本文中通常称为块)的输入图像可以被分割为一个或多个条带。假设在编码器和解码器处使用的参考图像相同,并且去块滤波不需要使用跨过条带边界的信息,则图像中的由条带表示的区域中的样本的值可以在不使用来自其它条带的数据的情况下被适当地解码。因此,针对条带的熵解码和块重构不依赖于其它条带。具体地,熵编码状态可以在每个条带的起始处被重置。当定义针对熵解码和重构两者的相邻可用性时,可以将其它条带中的数据标记为不可用。条带可以被并行地熵解码和重构。在条带边界两端不可能完美地实现帧间预测和运动矢量预测。作为对比,去块滤波可以使用跨过条带边界的信息。
图5示出了包括水平方向上十一个块和竖直方向上九个块(九个示例性块被标记为501-509)的示例性视频图像500。图5示出了三个示例性条带(slice):被标记为“SLICE#0”520的第一条带,被标记为“SLICE#1”530的第二条带,被标记为“SLICE#2”540的第三条带。解码器可以并行地对三个条带520、530、540进行解码和重构。可以以扫描线顺序来顺序地发送这些条带中的每个条带。在针对每个条带的解码/重构处理的开始,初始化或重置上下文模型,并且将其它条带中的块标记为针对熵解码和块重构两者都不可用。上下文模型总体表示熵编码器和/或解码器的状态。因此,对于“SLICE#1”中的块(例如,被标为503的块),“SLICE#0”中的块(例如,被标为501和502的块)不可以用于上下文模型选择或重构。相反,对于“SLICE#1”中的块(例如,被标为505的块),“SLICE#1”中的其它块(例如,被标为503和504的块)可以用于上下文模型选择或重构。因此,熵解码和块重构在条带中连续地进行。除非使用灵活块顺序(FMO)来定义条带,否则条带中的块以光栅扫描的顺序被处理。
参照图6,分片技术将图像划分为矩形(包含正方形)区域的集合。每个分片中的块(备选地,在一些系统中被称为最大编码单元或编码树块)以光栅扫描顺序被编码和解码。分片的布置类似地以光栅扫描顺序被编码和解码。因此,可以存在任意合适数目的列边界(例如,0或更多),并且可以存在任意合适数目的行边界(例如,0或更多)。因此,帧可以定义一个或多个条带,诸如图6中示出的一个条带。在一些实施例中,位于不同分片中的块不可用于帧内预测、运动补偿、熵编码上下文选择或依赖于相邻块信息的其它处理。
参照图7,示出了将图像划分为三个矩形列的集合的分片技术。每个分片中的块(备选地,在一些系统中被称为最大编码单元或编码树块)以光栅扫描顺序被编码和解码。分片类似地以光栅扫描顺序被编码和解码。可以以分片的扫描顺序来定义一个或多个条带。每个条带都是可独立地解码的。例如,条带1可以被定义为包括块1-9,条带2可以被定义为包括块10-28,条带3可以被定义为包括跨越三个分片的块29-126。分片的使用通过处理帧的更局部化的区域中的数据来提高了编码效率。
应理解,在一些情况下,视频编码可选地可以不包括分片,并且可选地可以包括使用针对视频帧的波阵面编码/解码模式。以这种方式,可以以并行方式编码/解码视频的一条或多条线(诸如宏块(或者备选地,编码树块)的一个或多个行的多个组,所述组中的每个组都表示波阵面子流)。一般而言,可以以任意合适方式来重建视频的分割。
视频编码标准通常包括通过具有有限频率带宽和/或有限存储能力的信道传输的视频数据。这些视频编码标准可以包括多个编码阶段,例如帧内预测、从空间域到频域的变换、量化、熵编码、运动估计和运动补偿,以便更高效地对帧进行编码和解码。许多编码和解码阶段在计算上过于复杂。
视频的比特流可以包括被置于通常被称为网络抽象层(NAL)单元的逻辑数据包中的语法结构。每个NAL单元包括NAL单元头,例如两字节NAL单元头(例如,16比特),以标识关联数据有效载荷的目的。例如,每个编码条带(和/或图像)可以被编码为一个或多个条带(和/或图像)NAL单元。其它NAL单元可以被包括用于其它种类的数据,例如补充增强信息、时间子层访问(TSA)图像的条带、步进时间子层访问(STSA)图像的条带、非TSA的编码条带、非STSA尾随图像、损坏链接访问图像的编码条带、瞬时解码刷新图像的编码条带、干净随机访问图像的编码条带、随机访问可解码引导图像的编码条带、随机访问跳过引导图像的编码条带、视频参数集、序列参数集、图像参数集、访问单元定界符、序列的结束、比特流结束、填充数据和/或序列增强信息消息。下面的表1示出了NAL单元代码和NAL单元类型类的一个示例。如果需要,还可以包括其它的NAL单元类型。应理解,在表1中示出的NAL单元的NAL单元类型值可以被重新打乱和重新分配。还可以添加附加的NAL单元类型。还可以移除一些NAL单元类型。
表1-NAL单元类型代码和NAL单元类型分类
NAL提供用于将表示图像内容的视频编码层(VCL)数据映射到各个传输层的能力。根据是否包含编码图像或其它关联数据,NAL单元可以被分类为VCL和非VCL(non-VCL)NAL单元。B.Bros,W-J.Han,J-R.Ohm,G.J.Sullivan和T-.Wiegand,″Highefficiencyvideocoding(HEVC)textspecificationdraft8,″JCTVC-J10003,Stockholm,July2012通过引用的方式将其全文并入本文。B.Bros,W-J.Han,J-R.Ohm,G.J.Sullivan和T-.Wiegand,″Highefficiencyvideocoding(HEVC)textspecificationdraft10(forDFIS&LastCall),″JCTVC-J10003_v34,Geneva,January2013,通过引用的方式将其全文并入本文。B.Bros,W-J.Han,J-R.Ohm,G.J.Sullivan和T-.Wiegand,″Highefficiencyvideocoding(HEVC)textspecificationdraft10,″JCTVC-L1003,Geneva,January2013,通过引用的方式将其全文并入本文。
为了使能随机访问和比特流条带划分,IDR包含帧内图像,即,可以在不对NAL单元流中的任何在先图像进行解码的情况下进行解码的编码图像。此外,IDR访问单元的存在指示在比特流中没有后续图像将需要参考其所包含的帧内图像之前的图像才能被解码。
IDR访问单元可以表示仅包含I条带的IDR图像,并且可以是比特流中的按照解码顺序的第一图像,或者可以在比特流中稍后出现。每个IDR图像是按照解码顺序的编码视频序列(CVS)的第一图像。当每个VCLNAL单元具有nal_unit_type的IDR图像等于IDR_W_RADL时,其可以具有关联的RADL图像。当每个VCLNAL单元具有nal_unit_type的IDR图像等于IDR_N_LP时,其不具有任何关联的引导图像。IDR图像不具有关联的RASL图像。
BLA访问单元可以表示仅包含I条带的BLA图像,并且可以是比特流中的按照解码顺序的第一图像,或者可以在比特流中稍后出现。每个BLA图像可以开始新的CVS,并且对于解码处理的效果与IDR图像相同。然而,BLA图像包含指定非空RPS的语法元素。当每个VCLNAL单元具有nal_unit_type的BLA图像等于BLA_W_LP时,其可以具有关联的不被解码器输出并且不可以被解码的RASL图像,因为它们可能包含对不存在于比特流中的图像的参考。当每个VCLNAL单元具有nal_unit_type的BLA图像等于BLA_W_LP时,其也可以具有关联的指定为要被解码的RADL图像。当每个VCLNAL单元具有nal_unit_type的BLA图像等于BLA_W_RADL时,其不具有关联的RADL图像,但是可以具有关联的RADL图像。当每个VCLNAL单元具有nal_unit_type的BLA图像等于BLA_N_LP时,其不具有任何关联的引导图像。
干净随机访问(CRA)图像语法指定了对在随机访问点(RAP)的位置(即,比特流中的解码器可以开始成功解码图像而不需要对在比特流中之前出现的任何图像进行解码的位置)处的帧内图像的使用。对随机访问的支持实现了高效的信道切换、搜索操作和动态流传输服务。按照解码顺序跟在CRA图像之后并且按照显示顺序(输出顺序)在CRA图像之前的一些图像可以包含对当在CRA图像处开始解码时在解码器处不可用的图像的帧间图像预测参考。这些不可解码的图像被在CRA点开始其解码处理的解码器丢弃。这种不可解码的图像被标识为随机访问跳过引导(RASL)图像。来自于不同原始编码比特流的条带点的位置可以被损坏链接访问(BLA)图像指示。可以通过将一个比特流中的CRA图像的NAL单元类型改变为指示BLA图像的值,并且将新比特流并置在其它比特流中的RAP图像位置处,来执行比特流条带划分操作。RAP图像可以是IDR、CRA或BLA图像,并且CRA和BLA图像两者可以在比特流中被RASL图像跟随(取决于用于BLA图像的NAL单元类型的特定值)并且将新比特流并置在其它比特流中的RAP图像位置处。与BLA图像相关联的任何RASL图像都被解码器丢弃,因为它们可能包含对由于条带分割操作而实际上不存在于比特流中的图像的参考。可以按照解码顺序跟在RAP图像之后并且按照输出顺序在RAP图像之前的其它类型的图像是随机访问可解码引导图像(RADL),其不能包含对按照解码顺序在RAP图像之前的任何图像的参考。RASL和RADL图像被统称为引导图像(LP)。按照解码顺序和输出顺序两者都跟在RAP图像之后的图像被称为尾随图像,其不能包含对LP的参考以用于帧间图像预测。
对于多参考图像管理,在先解码的图像的特定集合需要存在于解码图像缓冲器(DPB)(参见图1A的参考图像缓冲器166和图2A的帧存储器290)中,以用于对比特流中的剩余图像进行解码。为了标识这些图像,在每个条带头中传输图序计数(POC)标识符的列表。pic_order_cnt_lsb语法元素指定针对当前图像的图序计数模MaxPicOrderCntLsb。pic_order_cnt_lsb语法元素的长度是log2_max_pic_order_cnt_lsb_minus4+4比特。pic_order_cnt_lsb的值在0至MaxPicOrderCntLsb-1(含)的范围中。log2_max_pic_order_cnt_lsb_minus4如下指定在针对图序计数的解码处理中使用的变量MaxPicOrderCntLsb的值:
MaxPicOrderCntLsb=2(log2_max_pic_order_cnt_lsb_minus4+4)(0-1)
log2_max_pic_order_cnt_lsb_minus4的值在0至12(含)的范围中。
参考图像集(RPS)是与一图像相关联的参考图像的集合,其由按照解码顺序在关联图像之前并且可以用于关联图像或者按照解码顺序跟在关联图像之后的任意图像的帧间预测的所有参考图像组成。图8示出了示例性的针对时间预测结构的RPS、解码顺序和POC值。在该示例中,示出的RPS值表示针对RPS的实际POC值。在除POC值以外的其它情况下,可以在RPS中存储针对当前图像的POC与用信号表示参考图像是否被当前图像和参考所使用的指示符的图像的POC值的差。
由于IDR图像不需要任何在先图像来进行解码,因此针对pic_order_cnt_lsb语法元素的图序计数可以被推断为0,从而减少比特流的比特率。图像中按照解码器顺序的第一条带被用信号表示为被设置为等于1的first_slice_in_pic_flag。结果,在两个或更多个IDR图像被连续两次发送的情况下,值等于1的语法元素first_slice_in_pic_flag用作标识IDR图像的起始的边界。然而,在一些情况下,可能不能在视频层将属于连续两个IDR图像的条带区分开来。这样的第一种情况是数据包违反顺序到达解码器。这样的第二种情况是包含IDR图像的第一条带的数据包丢失。此外,当编码视频顺序的所有图像被帧内编码信号表示为IDR图像(例如当使用所有帧内配置信息)时,所有的图像具有值为0的pic_order_cnt_lsb。因此,为了允许解码器从IDR图像识别出特定IDR图像,系统应该针对每个图像用信号表示不同的pic_order_cnt_lsb值。此外,与IDR图像类似且仅具有I条带的BLA图像可以用信号表示针对pic_order_cnt_lsb元素的非零值。
参照图9,为了在解码比特流时增加解码器的鲁棒性,应该针对IDR图像用信号表示pic_order_cnt_lsb语法元素。在图9所示的条带头的实施例中,pic_order_cnt_lsb指定当前图像的图序计数模MaxPicOrderCntLsb。pic_order_cnt_lsb语法元素的长度是log2_max_pic_order_cnt_lsb_minus4+4比特。pic_order_cnt_lsb的值在0至MaxPicOrderCntLsb-1(含)的范围中。
备选技术可以包括不用信号表示BLA图像的pic_order_cnt_lsb语法元素,从而推断其为0以与IDR信令一致。结果,IdrPicFlag推导被优选改为也包括BLA。此外,IdrPicFlag优选被重命名为IdrBlaPicFlag。附加地,PicOrderCntVal计算优选被修改为针对BLA图像。备选地,可以包括新的标志IdrBlaPicFlag,同时维持IdrPicFlag。
一般而言,如果是IDR图像,则IdrPicFlag将会是真或1。否则,其将会是假或零。在一个情况下,变量IdrPicFlag被指定为IdrPicFlag=(nal_unit_type==IDR_W_RADL||nal_unit_type==IDR_N_LP),其中,nal_unit_type表示NAL单元类型。
一般而言,如果是IDR图像,则IdrBlaPicFlag将会是真或1。否则,其将会是假或零。在一个情况下,变量IdrBlaPicFlag被指定为IdrBlaPicFlag=(nal_unit_type==IDR_W_RADL||nal_unit_type==IDR_N_LP||nal_unit_type==BLA_W_LP||nal_unit_type==BLA_W_LP||nal_unit_type==BLA_N_LP),其中,nal_unit_type表示NAL单元类型。
可以采用备选技术,因为BLA图像仅包含I条带,并且可以是比特流中的按照解码顺序的第一图像,或者BLA图像可以在比特流中稍后出现。如前所述,每个BLA图像可以开始新的编码视频序列,并且对于解码处理的效果与IDR图像相同。结果,以一致的方式针对BLA和IDR图像用信号表示pic_order_cnt_lsb值将使得它们能够被解码器相似地处理。
参照图10,为了增加解码器在解码比特流以及处理IDR和BLA图像时的一致性,可以在除IDR图像或BLA图像以外的图像的条带头中用信号表示pic_order_cnt_lsb语法元素(例如,!IdrBLAPicFlag)。
参照图11,为了增加解码器在解码比特流以及处理IDR和BLA图像时的一致性,可以在除IDR图像或BLA图像以外的图像的条带头中用信号表示pic_order_cnt_lsb语法元素(例如,!IdrBLAPicFlag)。可以针对除IDR图像以外的图像用信号表示条带头的剩余部分(例如!IdrPicFlag)。因此,可以针对BLA图像用信号表示条带头的剩余部分。
参照图12,pic_order_cnt_lsb语法元素可以位于条带头的开始处。pic_order_cnt_lsb字段位于条带头的起始处能够使得其更容易被首先在条带头中检查,以在解析条带中的其它语法元素之前理解条带属于哪个图像。这有益于图像可能违反顺序到达和/或丢失的环境。
可扩展视频编码是对还包含一个或多个子集比特流的视频比特流进行编码的技术。可以通过从较大的视频中丢弃数据包来获得子集视频比特流,从而减小子集比特流所需的带宽。子集比特流可以表示更低的空间分辨率(更小的屏幕)、更低的时间分辨率(更低的帧率)或者更低质量的视频信号。例如,视频比特流可以包括5个子集比特流,其中,每个子集比特流向基础比特流添加附加内容。Hannuksela,etal.,″TestModelforScalableExtensionsofHighEfficiencyVideoCoding(HEVC)″JCTVC-L0453,Shanghai,October2012,通过引用将其全文并入本文。Chen,etal.,″SHVCDraftText1,″JCTVC-L1008,Geneva,March,2013,通过引用将其全文并入本文。附加的内容描述于J.Chen,J.Boyce,Y.Ye,M.M.Hannuksela,″SHVCDraftText2,″JCTVC-M1008,Incheon,May2013;G.Tech,K.Wegner,Y.Chen,M.Hannuksela,J.Boyce,″MV-HEVCDraftText4(ISO/IEC23008-2:201x/PDAM2),″JCTVC-D1004,Incheon,May2013;J.Chen,J.Boyce,Y.Ye,MHannuksela,SHVCDraft3,JCTVC-N1008,Vienna,August2013;和Y.Chen,Y.-K.Wang,A.K.Ramasubromanian,MV-HEVC/SHVCHLS:Cross-layerPOCAlignment,JCTVC-N0244,Vienna,July2013;它们均通过引用合并于此。
多视图视频编码是对还包含表示备选视图的一个或多个其它比特流的视频比特流进行编码的技术。例如,多视图可以是立体视频的视图对。例如,多视图可以表示来自于不同视点的相同场景的多个视图。多视图总体包含大量视图间统计学依赖性,这是因为图像是来自于不同视点的相同场景的图像。因此,组合的时间和视图间预测可以实现高效的多视图编码。例如,不仅可以从时间相关帧中高效地预测帧,还可以从相邻视点的帧中高效地预测帧。Hannuksela,etal.,″Commonspecificationtextforscalableandmulti-viewextensions,″JCTVC-L0452,Geneva,January2013,通过引用将其全文并入本文。Tech,et.al.″MV-HEVCDraftText3(ISO/IEC23008-2:201x/PDAM2),″JCT3V-C1004_d3,Geneva,January2013,通过引用将其全文并入本文。G.Tech,K.Wegner,Y.Chen,M.Hannuksela,J.Boyce,″MV-HEVCDraftText5(ISO/IEC203008-2:201x/PDAM2),JCTVC-E1004,Vienna,August2013,通过引用将其全文并入本文。
参照图13,视频参数集是描述与视频序列相关的内容的语法。视频参数集语法由许多语法元素来指定,其中的若干在下文描述。
vps_extension_offset指定VPSNAL单元中的固定长度编码信息的下一个集合的字节偏移,从NAL单元的起始开始。针对非基础层或视图的VPS信息可以从VPSNAL单元的字节对齐位置开始,并具有针对会话协商和/或能力交换的固定长度编码信息。由vps_extension_offset指定的字节偏移随后将在不需要熵解码的情况下帮助定位和访问VPSNAL单元中的信息。
等于0的vps_extension_flag指定在VPSRBSP语法结构中不存在vps_extension()语法结构。等于1的vps_extension_flag指定在VPSRBSP语法结构中存在vps_extension()语法结构。当vps_max_layers_minusl大于0时,vps_extension_flag等于1。
等于0的vps_extension2_flag指定在VPSRBSP语法结构中不存在vps_extension_data_flag语法元素。解码器可以忽略VPSNAL单元中的跟随针对vps_extension2_flag的值1的数据。
在JCTVC-M1008和JCT3VD-1004中,包括以下限制。当nal_unit_type值nalUnitTypeA针对编码图像等于IDR_W_DLP、IDR_N_LP、BLA_W_LP、BLA_W_DLP或BLA_N_LP时,nal_unit_type值应该针对相同访问单元的所有编码图像的所有VCLNAL单元等于nalUnitTypeA。
访问单元(AU)表示根据指定分类规则彼此相关联的按照解码顺序连续的网络抽象层(NAL)单元的集合,所述集合包括与相同输出时间相关联的所有编码图像的视频编码层(VCL)NAL单元以及它们的关联非VCLNAL单元。基础层是其中所有VCLNAL单元的nuh_layer_id等于0的层。编码图像是包括具有特定值的nuh_layer_id的VCLNAL单元并且包括图像的所有编码树单元的图像的编码表示。在一些情况下,编码图像可以被称为层分量。
图14A是示出了当第二增强层(EL2)942b具有比基础层(BL)944和第一增强层(EL1)942a更低的图像速率时,针对编码图像的层的网络抽象层(NAL)单元和访问单元(AU)的结构和时序的框图。EL1编码图像953a的NAL单元被示出为沿着第一增强层(EL1)942a。EL2编码图像953b的NAL单元被示出为沿着第二增强层(EL2)942b。基础层编码图像953c的NAL单元被示出为沿着基础层(BL)944。
在时间t1,EL1编码图像953a的NAL单元、EL2编码图像953b的NAL单元、基础层编码图像953c的NAL单元是访问单元(AU)955a的部分。在时间t2,EL1编码图像953a的NAL单元和基础层编码图像953c的NAL单元是访问单元(AU)955b的部分。在时间t3,EL1编码图像953a的NAL单元、EL2编码图像953b的NAL单元、基础层编码图像953c的NAL单元是访问单元(AU)955c的部分。在时间t4,EL1编码图像953a的NAL单元和基础层编码图像953c的NAL单元是访问单元(AU)955d的部分。
图14B是示出了当基础层(BL)1044具有比第一增强层(EL1)1042a和第二增强层(EL2)1042b更低的图像速率时,针对编码图像的层的网络抽象层(NAL)单元和访问单元(AU)的结构和时序的框图。EL1编码图像1053a的NAL单元被示出为沿着第一增强层(EL1)1042a。EL2编码图像1053b的NAL单元被示出为沿着第二增强层(EL2)1042b。基础层编码图像1053c的NAL单元被示出为沿着基础层(BL)1044。
在时间t1,EL1编码图像1053a的NAL单元、EL2编码图像1053b的NAL单元、基础层编码图像1053c的NAL单元是访问单元(AU)1055a的部分。在时间t2,EL1编码图像1053a的NAL单元和EL2编码图像1053b的NAL单元是访问单元(AU)1055b的部分。在时间t3,EL1编码图像1053a的NAL单元、EL2编码图像1053b的NAL单元、基础层编码图像1053c的NAL单元是访问单元(AU)1055c的部分。在时间t4,EL1编码图像1053a的NAL单元和EL1编码图像1053b的NAL单元是访问单元(AU)1055d的部分。
参照图15,图示了对NAL单元类型的该限制。对于不同类型的IDR图像(例如,IDR_W_RADL、IDR_N_LP)和BLA图像(BLA_W_LP、BLA_W_RADL或BLA_N_LP),该限制被强制施加到相对于基础层(例如,基础层0)的每个增强层(例如,增强层1、2、3、4)。因此,如果基础层的图像是IDR或BLA图像,则针对相同PicOrderCntVal的每个增强层同样是相应的IDR或BLA图像。
基础层和增强层的使用可以用于同步广播相同视频流中的视频流的对(或更多)。以这种方式,例如,基础层0和增强层1可以是第一视频流,增强层2、增强层3和增强层4可以是第二视频流。例如,两个视频流可以具有相同视频内容,但是可以针对不同基础层和增强层使用不同的比特率。它们还可以针对不同基础层使用不同的编码算法(例如,HEVC/AVC)。以这种方式,增强层2既不依赖于增强层1也不依赖于基础层0。此外,增强层3和增强层4既不依赖于增强层1也不依赖于基础层0。增强层3可以依赖于增强层2,增强层4可以依赖于增强层3和增强层2。优选地,增强层可以仅依赖于号更小的增强层而不依赖于号更大的增强层。
使用直接依赖性标志来用信号表示这种特定的增强层依赖性,以向每个层指示它可以直接依赖于的其它层是哪些。例如,direct_dependency_flag[1][j]={1}指示增强层1可以依赖于基础层0。例如,direct_dependency_flag[2][j]={0,0}指示增强层2不依赖于其它层。例如,direct_dependency_flag[3][j]={0,0,1}指示增强层3不依赖于基础层0,不依赖于增强层1,而可以依赖于增强层2。例如,direct_dependency_flag[4][j]={0,0,1,1}指示增强层4不依赖于基础层0,不依赖于增强层1,而可以依赖于增强层2,并且可以依赖于增强层3。利用同步广播配置的可能性,对于direct_dependency_flag[i][j]的限制可以被重新定义为当使用同步广播配置时允许IDR和BLA频率不同。换言之,IDR和BLA限制可以限制每个同步广播流,但是对于每个同步广播流而言可以是独立的。
参照图16,示出了两个视频流的同步广播,第一视频流包括基础层0和增强层1;第二视频流包括增强层2、增强层3和增强层4。如图所示,第一视频流针对值为PicOrderCntValB的PicOrderCntVal包括IDR/BLA图像600、610的相应对,而第二视频流针对具有相同值的PicOrderCntValB的PicOrderCntVal不包括IDR/BLA图像620、630、640的相应集合。如图所示,第二视频流包括IDR/BLA图像650、660、670的相应集合,而第一视频流不包括IDR/BLA图像680、690的相应对。
参照图16,具体地,可以例如通过考虑针对VPS扩展中的层用信号表示的direct_dependency_flag[i][j]值来实现这种灵活性。可以针对每个层确定变量IndepLayer[i],即,层是独立的(例如,0)还是依赖于其它层(例如,1)。可以如下推导该IndepLayer[i]:
因此,对于图16中示出的示例,基础层0和增强层2都是独立层。备选地,可以在不使用附加语法IndepLayer[i]的情况下从NumDirectRefLayers[i]推断出独立层。例如,当NumDirectRefLayers[i]等于0时,IndepLayer[i]将等于1。此外,当NumDirectRefLayers[i]不等于0时,IndepLayer[i]将等于0。
在语法中,nuh_layer_id指定层的标识符应该从“当nal_unit_type值nalUnitTypeA针对具有特定PicOrderCntVal值且在特定CVS中的编码图像等于IDR_W_RADL、IDR_N_LP、BLA_W_LP、BLA_W_RADL或BLA_N_LP时,nal_unit_type值应该针对具有相同特定PicOrderCntVal值且在相同特定CVS中的所有编码图像的所有VCLNAL单元等于nalUnitTypeA”修改为修改的语义,以实现之前描述的同步广播实施例。根据需要,可以以任意方式修改针对nal_unit_type的语义。
参照图17,视频流可以包括基础层和一个或多个增强层(EL1/EL2/EL3)。单独的访问单元存在于每个时间(T1/T2/T3/T4/...),其中是针对基础层和/或增强层的编码图像。例如,在时间T1处,相应的访问单元包括针对基础层、第一增强层、第二增强层和第三增强层的编码图像。例如,在时间T3处,相应的访问单元包括针对基础层和第二增强层的编码图像,而不包括针对第一增强层的编码图像和针对第三增强层的编码图像。例如,在时间T-5处,相应的访问单元包括针对第一增强层、第二增强层和第三增强层的编码图像,而不包括针对基础层的编码图像。编码图像可以是例如IDR图像、BLA图像、CRA图像、非IDR图像、非BLA图像、非CRA图像、尾随图像和/或引导图像。J.Chen,J.Boyce,Y.Ye,MHannuksela,SHVCDraft3,JCTVC-N1008,Vienna,August2013包括章节F.8.1.1中的一致性要求,其中,比特流一致性的要求是PicOrderCntVal应该在访问单元内保持不变。换言之,在相同访问单元内的每个编码图像具有相同的PicOrderCntVal。此外,包括在基础层(nuh_layer_id=0)内的IDR图像具有被设置或推断为零的PicOrderCntVal。然而,针对非基础层(nuh_layer_id>0)的非IDR图像和IDR图像可以具有用信号表示的POCLSB值作为条带分段头中的slice_pic_order_cnt_lsb语法元素,所述条带分段头随后被用于推导PicOrderCntVal的值。从最高位(MSB)和最低位(LSB)推导出PicOrderCntVal,其中,在比特流中用信号表示LSB。当LSB可以用信号表示为零(诸如针对增强层的编码图像)时,PicOrderCntVal可以为非零,这是因为MSB是从比特流中确定的,而不是在比特流中直接用信号表示的。因此,期望使相同访问单元内的所有编码图像以如下方式被信号表示:确保PicOrderCntVal相同,但是不在语法中用信号表示MSB,包括当基础层的IDR被信号表示或者推断为具有为0的PicOrderCntVal的情况也是如此。
G.Tech,K.Wegner,Y.Chen,M.Hannuksela,J.Boyce,″MV-HEVCDraftText5(ISO/IEC203008-2:201x/PDAM2),JCTVC-E1004,Vienna,August2013;J.Chen,J.Boyce,Y.Ye,MHannuksela,SHVCDraft3,JCTVC-N1008,Vienna,August2013;和Y.Chen,Y.-K.Wang,A.K.Ramasubromanian,MV-HEVC/SHVCHLS:Cross-layerPOCAlignment,JCTVC-N0244,Vienna,July2013;定义了下面的语法和语义。
表(2)
poc_reset_flag等于1指定了针对当前图像推导的图序计数等于0。poc_reset_flag等于0指定了针对当前图像推导的图序计数可以等于或者可以不等于0。比特流一致性的要求在于:当cross_layer_irap_aligned_flag等于1时,poc_reset_flag的值应该等于0。当不存在时,poc_reset_flag的值被推断为等于0。
当poc_reset_flag等于1时,在slice_segment_header中用信号表示,其指示不同层的编码图像的图序计数可以不一致。两个规则随后被应用于纠正该不一致性。第一个规则是:在解码图像缓冲器中的且与当前图像属于相同层的每个图像的PicOrderCntVal以PicOrderCntVal递减。第二个规则是:PicOrderCntVal被设置为等于0。以这种方式,如果当前的PicOrderCntVal被设置为0(例如,相应的基础层是PicOrderCntVal为0的IDR图像并且期望将增强层的相应编码图像的PicOrderCntVal设置为0),则其递减的量被应用于解码图像缓冲器中的其它图像,从而它们维持彼此之间的相对对齐。
然而,以上两个规则不足以确保PicOrderCntVal针对访问单元中的所有编码图像将是相同的。对此,当poc_reset_flag针对当前图像等于1时,要求改变作为解码顺序中的在先图像的prevTid0Pic的PicOrderCntVal,其中,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像。
根据以上第一个规则,当poc_reset_flag在当前图像的条带分段头中被信号表示为等于1时,DPB中的仅与当前图像属于相同层的每个图像的PicOrderCntVal以针对当前图像计算的PicOrderCntVal递减。然而,当计算后续图像的POC并且为了比特流一致性时利用prevTid0Pic的PicOrderCntlVal,从而当poc_reset_flag被信号表示为等于1时,还需要通过将其值以针对当前图像计算的PicOrderCntlVal递减来对其进行修改。这是因为在一些情况下,DPB可以不包含prevTid0Pic,即,解码顺序中的在先图像,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像。例如,当TemporalId等于0的图像不被编码为IDR或CRA图像并且仅被更不频繁地编码时,prevTid0Pic可以不在DPB中。在此情况下,prevTid0Pic可以不在DPB中,但是在解码处理期间跟踪其PicOrderCntlVal的LSB和MSB值。在此情况下,MV-HEVC文本草案JCT3V-E1004和SHVC文本草案JCTVC-N1008中的当前操作将导致prevTiod0Pic的PicOrderCntlVal的值不会针对当前图像处的POC重置而被补偿。
然而,描述了prevTid0Pic的PicOrderCntVal的改变,其意图在于,当poc_reset_flag被信号表示为针对当前图像等于1时,通过将PicOrderCntVal值以针对当前图像计算的PicOrderCntVal递减而进行的对于PicOrderCntVal值的相似补偿针对以下类型的图像执行:
可能不存在于DPB中但是PicOrderCntVal被其它后续图像需要以正确地计算它们的PicOrderCntVal的任何图像
PicOrderCntVal的值需要与在通过递减而被补偿的当前图像的PicOrderCntVal具有相同的相对偏移。
如此,该技术通过以下操作补偿了如上所述的这种图像的poc_reset_flag:通过当在当前图像的条带分段头中将poc_reset_flag用信号表示为等于1时,将它们的PicOrderCntVal以针对当前图像的PicOrderCntVal递减。
此外,可以包括对PicOrderCntVal推导的改变,以对prevTid0Pic的PicOrderCntlVal进行正确操作。
参照图18,示例性地示出了层的编码图像的集合的TemporalId。例如,编码图像A可以具有TemporalId=0,并且编码图像A时针对编码图像B、C、D、E和F的prevTid0Pic。类似地,作为prevTid0Pic图像的A的PicOrderCntVal可以用于计算编码图像B、C、D、E和F的PicOrderCntVal。通过示例的方式,当在对编码图像B、C、D、E和/或F进行解码时计算这些编码图像的PicOrderCntVal时,编码图像A可以不在DPB中。虽然图像A可以不在DPB中,但是其PicOrderCntVal被解码器保持跟踪,从而实现对图像B、C、D、E和F的PicOrderCntVal的正确计算。因此,期望以合适的方式对A、prevTid0Pic图像的PicOrderCntVal进行递减。
除此之外,可以对针对参考图像集的解码处理进行改变,以利用推导的PicOrderCntVal&(MaxPicOrderCntLsb-1)而不是slice_pic_order_cnt_lsb。由于在poc_reset_flag等于1时推导出的PicOrderCntVal被重置,因此该改变必须使用可能已经被重置的POC的正确LSB值。
此外,在当前图像不是NoRaslOutputFlag等于1的IRAP图像时,为了说明的解码图像缓冲器中的这种改变,如下推导出变量prevPicOrderCntLsb和prevPicOrderCntMsb。首先,使prevTid0Pic作为解码顺序中的在先图像,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像,并且使prevPicOrderCnt等于prevTid0Pic的PicOrderCntVal。第二,将变量prevPicOrderCntLsb设置为等于prevPicOrderCnt&(MaxPicOrderCntLsb-1)。第三,将变量prevPicOrderCntMsb设置为等于prevPicOrderCnt-prevPicOrderCntLsb。因此,当PicOrderCntVal被设置为0时,期望从新的PicOrderCntVal值推导出LSB值。
涉及图序计数的解码处理提供作为当前图像的PicOrderCntVal(图序计数)的输出。图序计数用于识别图像,用于在融合模式和运动矢量预测中推导出运动参数,以及用于解码器一致性检查。每个编码图像都与图序计数变量(被表示为PicOrderCntVal)相关联。
在当前图像不是NoRaslOutputFlag等于1的IRAP图像时,如下推导出变量prevPicOrderCntLsb和prevPicOrderCntMsb。
(1)LetprevTid0PicbethepreviouspictureindecodingorderthathasTemporalIdequaltoOandnuh_layer_idequaltonuh_layer_idofthecurrentpictureandthatisnotaRASLpicture,aRADLpicture,orasub-layernon-referencepicture,andletprevPicOrderCntbeequaltoPicOrderCntValofprevTid0Pic.
(2)ThevariableprevPicOrderCntLsbissctequaltoprevPicOrderCnt&(MaxPicOrderCntLsb-1).
(3)ThevariableprevPicOrderCntMsbissetequaltoprevPicOrderCnt-prevPicOrderCntLsb.
(1)使prevTid0Pic作为解码顺序中的在先图像,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像,并且使prevPicOrderCnt等于prevTid0Pic的PicOrderCntVal。
(2)将变量prevPicOrderCntLsb设置为等于prevPicOrderCnt&(MaxPicOrderCntLsb-1)。
(3)将变量prevPicOrderCntMsb设置为等于prevPicOrderCnt-prevPicOrderCntLsb。
如下推导出当前图像的变量PicOrderCntMsb:
(1)如果当前图像是NoRaslOutputFlag等于1的IRAP图像,则PicOrderCntMsb被设置为等于1。
(2)否则,如下推导出PicOrderCntMsb:
如下推导出PicOrderCntVal:PicOrderCntVal=PicOrderCntMsb+slice_pic_order_cnt_lsb。应注意,所有IDR图像将具有等于0的PicOrderCntVal,因为slice_pic_order_cnt_lsb被推断为针对IDR图像等于0,并且prevPicOrderCntLsb和prevPicOrderCntMsb两者均被设置为等于0。
当poc_reset_flag等于1时,以列出的顺序应用以下步骤:
(1)DPB中的且与当前图像属于相同层的每个图像的PicOrderCntVal以PicOrderCntVal递减。
(2)prevTid0Pic(即,解码顺序中的在先图像)的PicOrderCntVal以PicOrderCntVal递减,其中,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像。
(3)当前图像的RPS中的短期参考图像的PicOrderCntVal以PicOrderCntVal递减。
(4)PicOrderCntVal被设置为等于0。
PicOrderCntVal的值应该在-231至231-1(含)的范围中。在一个CVS中,针对相同层中的任意两个编码图像的PicOrderCntVal不应该相同。
函数PicOrderCnt(picX)被指定为PicOrderCnt(picX)=图像picX的PicOrderCntVal。
函数DiffPicOrderCnt(picA,picB)被指定为DiffPicOrderCnt(picA,picB)=PicOrderCnt(picA)-PicOrderCnt(picB)。
比特流不应该包含导致在解码处理中使用的DiffPicOrderCnt(picA,picB)的值不在-215至215-1(含)的范围中的数据。应注意,使X作为当前图像,并且Y和Z作为相同序列中的两个其它图像,当DiffPicOrderCnt(X,Y)和DiffPicOrderCnt(X,Z)两者都为正或者都为负时,Y和Z被视为按照从X开始的相同的顺序方向。
在一些场景中,通常将包括在解码图像缓冲器中的一个或多个图像可以不是解码图像缓冲器的部分,例如在传输图像时的错误的结果。如上所示,期望将选择的prevPicOrderCnt以PicOrderCntVal递减,以适应所述场景,从而减少解码错误并且维持各个图像的PicOrderCntVal值之间的正确的相对关系。
同样可以在对条带头进行解码之后但是在对任何编码单元进行解码之前并且在针对条带的参考图像列表构建的解码处理之前,修改针对参考图像集的解码处理,所述解码处理每针对一个图像被调用一次。该处理可以导致解码图像缓冲器中的一个或多个参考图像被标记为“未用于参考”或“用于长期参考”。这仅仅标记具有相同值的nuh_layer_id的图像,而不标记具有与当前图像不同的nuh_layer_id的任何图像。RPS是在当前和未来编码图像的解码处理中使用的参考图像的绝对描述。RPS信令明确地意味着包括在RPS中的所有参考图像都被显式地列出。
DPB中的解码图像可以被标记为“未用于参考”、“用于短期参考”或者“用于长期参考”,但是在解码处理的操作期间的任意给定时刻仅被标记为这三个中的一个。将这些标记之一分配给图像隐含地移除了可以应用的这些标记中的其它标记。当图像被称为被标记为“用于参考”时,这统一表示图像被标记为“用于短期参考”或“用于长期参考”(但不是这两者)。
变量currPicLayerId被设置为当前图像的nuh_layer_id。
在当前图像是NoRaslOutputFlag等于1的IRPA图像时,当前在DPB(如果存在的话)中的nuh_layer_id等于currPicLayerId的所有参考图像被标记为“未用于参考”。
由PicOrderCntVal值标识短期参考图像。由PicOrderCntVal值或slice_pic_order_cnt_lsb值标识长期参考图像。
构建图序计数值的五个列表来推导RPS。这五个列表是PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr和PocLtFoll,它们分别具有元素的NumPocStCurrBefore、NumPocStCurrAfter、NumPocStFoll、NumPocLtCurr和NumPocLtFoll数。如下推导出这五个列表和五个变量:
如果当前图像是IDR图像,则PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr和PocLtFoll均被设置为空,并且NumPocStCurrBefore、NumPocStCurrAfter、NumPocStFoll、NumPocLtCurr和NumPocLtFoll均被设置为等于0。
否则,应用以下:
其中,PicOrderCntVal是当前图像的图序计数。在0到num_short_term_ref_pic_sets-1(含)中的CurrRpsIdx的值指示正在使用来自激活SPS的候选短期RPS,其中,CurrRpsIdx是候选短期RPS在激活SPS中信号表示的候选短期RPS列表中的索引。CurrRpsIdx等于num_short_term_ref_pic_sets指示当前图像的短期RPS被直接信号表示在条带头中。
针对0至NumPocLtCurr-1(含)的范围中的每个i,当CurrDeltaPocMsbPresentFlag[i]等于1时,比特流一致性要求应用以下条件:
在PocLtCurr[i]等于PocStCurrBefore[j]的0至NumPocStCurrBefore-1(含)的范围中不应该存在j。
在PocLtCurr[i]等于PocStCurrAfter[j]的0至NumPocStCurrAfter-1(含)的范围中不应该存在j。
在PocLtCurr[i]等于PocStFoll[j]的0至NumPocStFoll-1(含)的范围中不应该存在j。
在PocLtCurr[i]等于PocLtCurr[j]的0至NumPocLtCurr-1(含)(其中,j不等于i)的范围中不应该存在j。
针对0至NumPocLtFoll-1(含)的范围中的每个i,当FollDeltaPocMsbPresentFlag[i]等于1时,比特流一致性要求应用以下条件:
在PocLtFoll[i]等于PocStCurrBefore[j]的0至NumPocStCurrBefore-1(含)的范围中不应该存在j。
在PocLtFoll[i]等于PocStCurrAfter[j]的0至NumPocStCurrAfter-1(含)的范围中不应该存在j。
在PocLtFoll[i]等于PocStFoll[j]的0至NumPocStFoll-1(含)的范围中不应该存在j。
在PocLtFoll[i]等于PocLtFoll[j]的0至NumPocLtFoll-1(含)(其中,j不等于i)的范围中不应该存在j。
在PocLtFoll[i]等于PocLtCurr[j]的0至NumPocLtCurr-1(含)的范围中不应该存在j。
针对0至NumPocLtCurr-1(含)的范围中的每个i,当CurrDeltaPocMsbPresentFlag[i]等于0时,比特流一致性要求应用以下条件:
在PocLtCurr[i]等于(PocStCurrBefore[j]&(MaxPicOrderCntLsb-1))的0至NumPocStCurrBefore-1(含)的范围中不应该存在j。
在PocLtCurr[i]等于(PocStCurrAfter[j]&(MaxPicOrderCntLsb-1))的0至NumPocStCurrAfter-1(含)的范围中不应该存在j。
在PocLtCurr[i]等于(PocStFoll[j]&(MaxPicOrderCntLsb-1))的0至NumPocStFoll-1(含)的范围中不应该存在j。
在PocLtCurr[i]等于(PocLtCurr[j]&(MaxPicOrderCntLsb-1))的0至NumPocLtCurr-1(含)(其中,j不等于i)的范围中不应该存在j。
针对0至NumPocLtFoll-1(含)的范围中的每个i,当FollDeltaPocMsbPresentFlag[i]等于0时,比特流一致性要求应用以下条件:
在PocLtFoll[i]等于(PocStCurrBefore[j]&(MaxPicOrderCntLsb-1))的0至NumPocStCurrBefore-1(含)的范围中不应该存在j。
在PocLtFoll[i]等于(PocStCurrAfter[j]&(MaxPicOrderCntLsb-1))的0至NumPocStCurrAfter-1(含)的范围中不应该存在j。
在PocLtFoll[i]等于(PocStFoll[j]&(MaxPicOrderCntLsb-1))的0至NumPocStFoll-1(含)的范围中不应该存在j。
在PocLtFoll[i]等于(PocLtFoll[j]&(MaxPicOrderCntLsb-1))的0至NumPocLtFoll-1(含)(其中,j不等于i)的范围中不应该存在j。
在PocLtFoll[i]等于(PocLtCurr[j]&(MaxPicOrderCntLsb-1))的0至NumPocLtCurr-1(含)的范围中不应该存在j。
推导出变量NumPicTotalCurr。比特流一致性要求以下应用于NumPicTotalCurr的值:
如果nuh_layer_id等于0,并且当前图像是BLA图像或CRA图像,则NumPicTotalCurr的值应该等于0。
否则,当当前图像包含P或B条带时,NumPicTotalCurr的值不应该等于0。
当前图像的RPS包括五个RPS列表:RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurr和RefPicSetLtFoll。RefPicSetStCurrBefore、RefPicSetStCurrAfter和RefPicSetStFoll被统称为短期RPS。RefPicSetLtCurr和RefPicSetLtFoll被统称为长期RPS。RefPicSetStCurrBefore、RefPicSetStCurrAfter和RefPicSetLtCurr包含可以用于对当前图像以及按照解码顺序跟在当前图像之后的一个或多个图像进行帧间预测的所有参考图像。RefPicSetStFoll和RefPicSetLtFoll包含不被用于对当前图像进行帧间预测但是可以用于对按照解码顺序跟随当前图像的一个或多个图像进行帧间预测的所有参考图像。
针对RPS的推导处理以及图像标记根据以下顺序的步骤来执行:
应用以下:
(2)包括在RefPicSetLtCurr和RefPicSetStFoll中的且nuh_layer_id等于currPicLayerId的所有参考图像被标记为“用于长期参考”。
(3)应用以下:
(4)没有包括在RefPicSetLtCurr、RefPicSetLtFoll、RefPicSetStCurrBefore、RefPicSetStCurrAfter或RefPicSetStFoll并且nuh_layer_id等于currPicLayerId的所有参考图像被标记为“未用于参考”。
在RPS列表中可以存在等于“无参考图像”的一个或多个条目,因为相应图像不存在于DPB中。RefPicSetStFoll或RefPicSetLtFoll中的等于“无参考图像”的条目应该被忽略。应该针对RefPicSetStCurrBefore、RefPicSetStCurrAfter或RefPicSetLtCurr中的等于“无参考图像”的每个条目推断非意图图像损失。不能在多于五个RPS列表之一中包括图像。应理解,如果需要,可以省略本文描述的特征或元素中的任意特征或元素,或者以不同方式对它们进行重新组合。
接着描述一些不同的实施例。在除用信号表示poc_reset_flag以用信号表示PicOrderCntVal的重置的一个示例性实施例中,两个单独标志poc_msb_reset_flag和poc_lsb_reset_flag可以被信号表示为如表(3)中所示。
表(3)
poc_msb_reset_flag等于1可以指定针对当前图像推导出的图序计数的MSB值等于0。poc_msb_reset_flag等于0可以指定针对当前图像推导出的图序计数的MSB值可以等于或者可以不等于0。
当不存在时,poc_msb_reset_flag的值被推断为等于0。
poc_lsb_reset_flag等于1可以指定针对当前图像推导出的图序计数等于0。poc_lsb_reset_flag等于0可以指定针对当前图像推导出的图序计数可以等于或者可以不等于0。
当不存在时,poc_lsb_reset_flag的值被推断为等于0。
当poc_msb_reset_flag的值等于0时,可以要求poc_lsb_reset_flag的值等于0。
之后,可以如下修改针对PicOrderCntVal的解码处理。
在当前图像不是NoRaslOutputFlag等于1的IRAP图像时,如下推导出变量prevPicOrderCntLsb和prevPicOrderCntMsb。首先,使prevTid0Pic作为解码顺序中的在先图像,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像,并且使prevPicOrderCnt等于prevTid0Pic的PicOrderCntVal。第二,将变量prevPicOrderCntLsb设置为等于prevPicOrderCnt&(MaxPicOrderCntLsb-1)。第三,将变量prevPicOrderCntMsb设置为等于prevPicOrderCnt-prevPicOrderCntLsb。因此,当PicOrderCntVal被设置为0时,期望从新的PicOrderCntVal值推导出LSB值。
涉及图序计数的解码处理提供作为当前图像的PicOrderCntVal(图序计数)的输出。图序计数用于识别图像,用于在融合模式和运动矢量预测中推导出运动参数,以及用于解码器一致性检查。每个编码图像都与图序计数变量(被表示为PicOrderCntVal)相关联。
在当前图像不是NoRaslOutputFlag等于1的IRAP图像时,如下推导出变量prevPicOrderCntLsb和prevPicOrderCntMsb:
(1)使prevTid0Pic作为解码顺序中的在先图像,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像,并且使prevPicOrderCnt作为prevTid0Pic的PicOrderCntVal。
(2)变量prevPicOrderCntLsb被设置为等于prevPicOrderCnt&(MaxPicOrderCntLsb-1)。
(3)变量prevPicOrderCntMsb被设置为等于prevPicOrderCnt_prevPicOrderCntLsb。
如下推导出当前图像的变量PicOrderCntMsb:
(1)如果当前图像是NoRaslOutputFlag等于1的IRAP图像,则PicOrderCntMsb被设置为等于0。
(2)否则,如下推导PicOrderCntMsb:
如下推导出PicOrderCntVal:PicOrderCntVal=(poc_msb_reset_flag?0:PicOrderCntMsb)+(poc_lsb_reset_flag?0:slice_pic_order_cnt_lsb)。
应注意,nuh_layer_id等于0的所有IDR图像将具有等于0的PicOrderCntVal,因为slice_pic_order_cnt_lsb被推断为针对IDR图像等于0,并且prevPicOrderCntLsb和prevPicOrderCntMsb两者均被设置为等于0。
当poc_reset_flag等于1时,应用以下步骤:
(1):当poc_msb_reset_flag等于1时,在DPB中的且与当前图像属于相同层的每个图像的PicOrderCntVal以PicOrderCntMsb递减。
(2),当poc_msb_reset_flag等于1时,prevTid0Pic(即,解码顺序中的在先图像)的PicOrderCntVal以PicOrderCntMsb递减,其中,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像。
(3):当poc_msb_reset_flag等于1时,在RPS中的短期参考图像的PicOrderCntVal以PicOrderCntMsb递减。
(4):当poc_lsb_reset_flag等于1时,在DPB中的且与当前图像属于相同层的每个图像的PicOrderCntVal以slice_pic_order_cnt_lsb递减。
(5),当poc_lsb_reset_flag等于1时,prevTid0Pic(即,解码顺序中的在先图像)的PicOrderCntVal以slice_pic_order_cnt_lsb递减,其中,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像。
(6):当poc_lsb_reset_flag等于时,在RPS中的短期参考图像的PicOrderCntVal以slice_pic_order_cnt_lsb递减。
PicOrderCntVal的值应该在-231至231-1(含)的范围中。在一个CVS中,针对相同层中的任意两个编码图像的PicOrderCntVal不应该相同。
函数PicOrderCnt(picX)被指定为PicOrderCnt(picX)=图像picX的PicOrderCntVal。
函数DiffPicOrderCnt(picA,picB)被指定为DiffPicOrderCnt(picA,picB)=PicOrderCnt(picA)-PicOrderCnt(picB)。
比特流不应该包含导致在解码处理中使用的DiffPicOrderCnt(picA,picB)的值不在-215至215-1(含)的范围中的数据。应注意,使X作为当前图像,并且Y和Z作为相同序列中的两个其它图像,当DiffPicOrderCnt(X,Y)和DiffPicOrderCnt(X,Z)两者都为正或者都为负时,Y和Z被视为按照从X开始的相同的顺序方向。
接着描述另一不同的实施例。在一个示例性实施例中,为了实现跨层POC对齐,可以用信号表示32比特POC递减值。例如,可以在基础层IDR图像的条带头扩展中用信号表示该32比特POC递减值,如表(4)中所示。
表(4)
“slice_segment_header_extension_length”可以指定不包括用于用信号表示其自身slice_segment_header_extension_length的比特在内的条带分段头扩展数据的字节长度。比特流一致性要求当nuh_layer_id和cross_layer_irap_aligned_flag两者均等于0时,针对IDR_W_RADL和IDR_N_LPNAL单元,slice_segment_header_extension_ength应该等于或大于4。slice_segment_header_extension_length的值应该在0至256(含)的范围中。
“poc_decrement”可以指定要用于当前图像的图序计数递减。当不存在时,poc_decrement的值被推断为等于0。
之后,可以如下修改针对PicOrderCntVal的解码处理。
在当前图像不是NoRaslOutputFlag等于1的IRAP图像时,如下推导出变量prevPicOrderCntLsb和prevPicOrderCntMsb。首先,使prevTid0Pic作为解码顺序中的在先图像,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像,并且使prevPicOrderCnt等于prevTid0Pic的PicOrderCntVal。第二,将变量prevPicOrderCntLsb设置为等于prevPicOrderCnt&(MaxPicOrderCntLsb-1)。第三,将变量prevPicOrderCntMsb设置为等于prevPicOrderCnt-prevPicOrderCntLsb。因此,当PicOrderCntVal被设置为0时,期望从新的PicOrderCntVal值推导出LSB值。
涉及图序计数的解码处理提供作为当前图像的PicOrderCntVal(图序计数)的输出。图序计数用于识别图像,用于在融合模式和运动矢量预测中推导出运动参数,以及用于解码器一致性检查。每个编码图像都与图序计数变量(被表示为PicOrderCntVal)相关联。
在当前图像不是NoRaslOutputFlag等于1的IRAP图像时,如下推导出变量prevPicOrderCntLsb和prevPicOrderCntMsb。
(1)使prevTid0Pic作为解码顺序中的在先图像,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像,并且使prevPicOrderCnt作为prevTid0Pic的PicOrderCntVal。
(2)变量prevPicOrderCntLsb被设置为等于prevPicOrderCnt&(MaxPicOrderCntLsb-1)。
(3)变量prevPicOrderCntMsb被设置为等于prevPicOrderCnt_prevPicOrderCntLsb。
如下推导出当前图像的变量PicOrderCntMsb:
(1)如果当前图像是NoRaslOutputFlag等于1的IRAP图像,则PicOrderCntMsb被设置为等于0。
(2)否则,如下推导PicOrderCntMsb:
如下推导出PicOrderCntVal:PicOrderCntVal=PicOrderCntMsb+slice_pic_order_cnt_lsb。
应注意,所有IDR图像将具有等于0的PicOrderCntVal,因为slice_pic_order_cnt_lsb被推断为针对IDR图像等于0,并且prevPicOrderCntLsb和prevPicOrderCntMsb两者均被设置为等于0。
当poc_reset_flag等于1时,应用以下步骤:
(1)DPB中的每个图像的PicOrderCntVal以poc_decrement递减。
(2)prevTid0Pic(即,解码顺序中的在先图像)的PicOrderCntVal以poc_decrement递减,其中,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像。
PicOrderCntVal的值应该在-231至231-1(含)的范围中。在一个CVS中,针对相同层中的任意两个编码图像的PicOrderCntVal不应该相同。
函数PicOrderCnt(picX)被指定为PicOrderCnt(picX)=图像picX的PicOrderCntVal。
函数DiffPicOrderCnt(picA,picB)被指定为DiffPicOrderCnt(picA,picB)=PicOrderCnt(picA)-PicOrderCnt(picB)。
比特流不应该包含导致在解码处理中使用的DiffPicOrderCnt(picA,picB)的值不在-215至215-1(含)的范围中的数据。应注意,使X作为当前图像,并且Y和Z作为相同序列中的两个其它图像,当DiffPicOrderCnt(X,Y)和DiffPicOrderCnt(X,Z)两者都为正或者都为负时,Y和Z被视为按照从X开始的相同的顺序方向。
在上述所有实施例中,当检查针对当天图像的比特流一致性时将使用prevTid0Pic(即,解码顺序中的在先图像)的(经由递减)修改后的PicOrderCntVal,其中,所述在先图像的TemporalId等于0、nuh_layer_id等于当前图像的nuh_layer_id,并且不是RASL图像、RADL图像或者子层非参考图像。
在另一备选实施例中,可以进行以下处理以确保比特流符合标准规范。
符合该规范的编码数据的比特流应该满足在该子类中指定的所有要求。
应该根据在该附录之外的规范中指定的语法、语义和约束来构建比特流。
比特流中的第一编码图像应该是IRAP图像,即IDR图像、CRA图像或BLA图像。
HRD测试比特流的在子类C.1中指定的一致性。
对于每个当前图像,使变量maxPicOrderCnt和minPicOrderCnt被分别设置为等于以下图像的PicOrderCntVal值的最大和最小。
当前图像。
按照解码顺序的TemporalId等于0、并且不是RASL图像、RADL图像或者子层非参考图像的在先图像。其中,如下推导该图像的PicOrderCntlVal:
(1)如果针对当前图像poc_reset_flag等于1,则按照解码顺序的TemporalId等于0、并且不是RASL图像、RADL图像或者子层非参考图像的在先图像的PicOrderCntVal以当前图像的PicOrderCntVal递减。
(2)如果针对当前图像poc_msb_reset_flag等于1,则按照解码顺序的TemporalId等于0、并且不是RASL图像、RADL图像或者子层非参考图像的在先图像的PicOrderCntVal以当前图像的PicOrderCntMsb递减。
(3)如果针对当前图像poc_lsb_reset_flag等于1,则按照解码顺序的TemporalId等于0、并且不是RASL图像、RADL图像或者子层非参考图像的在先图像的PicOrderCntVal以当前图像的slice_pic_order_cnt_lsb递减。
(4)如果poc_decrement值大于0,则按照解码顺序的TemporalId等于0、并且不是RASL图像、RADL图像或者子层非参考图像的在先图像的PicOrderCntVal以poc_decrement_value递减。
(5)如果在基于JCTVC-L1003文档中描述的图序计数的解码处理而计算了当前图像的PicOrderCntVal之后将该PicOrderCntVal以值decrValue递减,则按照解码顺序的TemporalId等于0、并且不是RASL图像、RADL图像或者子层非参考图像的在先图像以decrValue值递减。
当前图像的RPS中的短期参考图像。
PicOutputFlag等于1、AuCpbRemovalTime[n]小于AuCpbRemovalTime[currPic]、并且DpbOutputTime[n]大于或等于AuCpbRemovalTime[currPic]的的所有图像n,其中,currPic是当前图像。
比特流一致性要求针对每个当前图像,maxPicOrderCnt-minPicOrderCnt的值应该小于MaxPicOrderCntLsb/2。
在以上说明书中采用的术语和表述在这里用作描述的术语,而不是限制,并且在使用这些术语和表述时,不意图排除示出和描述的特征的等同物或者它们的部分,应认识到,本发明的范围仅由所附权利要求限定和限制。
Claims (6)
1.一种用于对视频比特流进行解码的方法,所述方法包括步骤:
(a)接收所述视频比特流;
(b)对所述视频比特流的多个图像进行解码,其中,所述多个图像中的每个图像与基于图序计数的最高位比特值和图序计数的最低位比特值的所述图序计数值相关联,并且与最大图序计数最低位比特值相关联;
(c)在解码器图像缓冲器中定位图像,所述图像具有的图序计数值与当前图像的图序计数和所述最大图序计数最低位比特值按比特“与”得到的结果相同。
2.根据权利要求1所述的方法,还包括:定位跟在所述当前图像之后的后续图像,所述后续图像具有的图序计数值与所述当前图像的图序计数和所述最大图序计数最低位比特值按比特“与”得到的结果相同。
3.根据权利要求1所述的方法,其中,所述图序计数值是长期参考图像的图序计数。
4.根据权利要求1所述的方法,其中,所述最大图序计数最低位比特值是所述最大图序计数最低位比特值减1。
5.根据权利要求1所述的方法,其中,从所述解码图像缓冲器定位的所述图像被包括在参考图像集中。
6.根据权利要求1所述的方法,其中,如果没有定位到所述图像,则不从所述解码图像缓冲器中选择图像供包括在参考图像集中。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361889446P | 2013-10-10 | 2013-10-10 | |
US61/889,446 | 2013-10-10 | ||
US201361892989P | 2013-10-18 | 2013-10-18 | |
US61/892,989 | 2013-10-18 | ||
PCT/JP2014/005183 WO2015052939A1 (en) | 2013-10-10 | 2014-10-10 | Alignment of picture order count |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105637879A true CN105637879A (zh) | 2016-06-01 |
CN105637879B CN105637879B (zh) | 2019-04-19 |
Family
ID=52812766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480055639.8A Active CN105637879B (zh) | 2013-10-10 | 2014-10-10 | 图序计数的对齐方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10057569B2 (zh) |
EP (1) | EP3056008A4 (zh) |
JP (1) | JP6393317B2 (zh) |
CN (1) | CN105637879B (zh) |
WO (1) | WO2015052939A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064373A (zh) * | 2018-07-17 | 2018-12-21 | 大连理工大学 | 一种基于外包图像数据录入的隐私保护方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9621905B2 (en) * | 2012-06-29 | 2017-04-11 | Qualcomm Incorporated | Tiles and wavefront parallel processing |
US10045021B2 (en) * | 2013-04-05 | 2018-08-07 | Samsung Electronics Co., Ltd. | Multi-layer video coding method for random access and device therefor, and multi-layer video decoding method for random access and device therefor |
WO2015053601A1 (ko) * | 2013-10-12 | 2015-04-16 | 삼성전자 주식회사 | 멀티 레이어 비디오 부호화 방법 및 그 장치, 멀티 레이어 비디오 복호화 방법 및 그 장치 |
US10212435B2 (en) * | 2013-10-14 | 2019-02-19 | Qualcomm Incorporated | Device and method for scalable coding of video information |
US9674544B2 (en) * | 2013-11-25 | 2017-06-06 | Qualcomm Incorporated | POC value design for multi-layer video coding |
CN106416250B (zh) | 2013-12-02 | 2020-12-04 | 诺基亚技术有限公司 | 视频编码和解码 |
CN104754358B (zh) * | 2013-12-27 | 2019-02-19 | 中兴通讯股份有限公司 | 码流的生成和处理方法、装置及系统 |
WO2015105399A1 (ko) * | 2014-01-13 | 2015-07-16 | 삼성전자 주식회사 | 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치. |
US9866852B2 (en) * | 2014-06-20 | 2018-01-09 | Qualcomm Incorporated | Video coding using end of sequence network abstraction layer units |
US10091532B2 (en) * | 2014-06-26 | 2018-10-02 | Qualcomm Incorporated | Bitstream conformance constraints in scalable video coding |
US10623755B2 (en) | 2016-05-23 | 2020-04-14 | Qualcomm Incorporated | End of sequence and end of bitstream NAL units in separate file tracks |
US11212529B2 (en) | 2017-08-23 | 2021-12-28 | Sony Semiconductor Solutions Corporation | Image processing apparatus and image processing method |
EP3831064B1 (en) | 2018-08-17 | 2024-02-07 | Huawei Technologies Co., Ltd. | Reference picture management in video coding |
US11109041B2 (en) * | 2019-05-16 | 2021-08-31 | Tencent America LLC | Method and apparatus for video coding |
US11825121B2 (en) * | 2019-09-23 | 2023-11-21 | Tencent America LLC | Method for access unit delimiter signaling |
CA3152298A1 (en) * | 2019-09-24 | 2021-04-01 | Ye-Kui Wang | Support of mixed irap and non-irap pictures within an access unit in multi-layer video bitstreams |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013048311A1 (en) * | 2011-09-27 | 2013-04-04 | Telefonaktiebolaget L M Ericsson (Publ) | Decoders and methods thereof for managing pictures in video decoding process |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2898887T3 (es) | 2011-11-08 | 2022-03-09 | Nokia Technologies Oy | Manejo de imágenes de referencia |
US9584825B2 (en) * | 2012-09-27 | 2017-02-28 | Qualcomm Incorporated | Long-term reference picture signaling in video coding |
-
2014
- 2014-10-10 EP EP14852390.5A patent/EP3056008A4/en not_active Withdrawn
- 2014-10-10 WO PCT/JP2014/005183 patent/WO2015052939A1/en active Application Filing
- 2014-10-10 JP JP2016518220A patent/JP6393317B2/ja active Active
- 2014-10-10 US US15/027,968 patent/US10057569B2/en active Active
- 2014-10-10 CN CN201480055639.8A patent/CN105637879B/zh active Active
-
2018
- 2018-06-18 US US16/011,513 patent/US20180316916A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013048311A1 (en) * | 2011-09-27 | 2013-04-04 | Telefonaktiebolaget L M Ericsson (Publ) | Decoders and methods thereof for managing pictures in video decoding process |
Non-Patent Citations (2)
Title |
---|
GERHARD TECH: "MV-HEVC Draft Text 5", 《THE JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16》 * |
YING CHEN: "MV-HEVC/SHVC HLS: Cross-layer POC alignment", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064373A (zh) * | 2018-07-17 | 2018-12-21 | 大连理工大学 | 一种基于外包图像数据录入的隐私保护方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2016540400A (ja) | 2016-12-22 |
US10057569B2 (en) | 2018-08-21 |
EP3056008A4 (en) | 2017-03-22 |
US20160241850A1 (en) | 2016-08-18 |
JP6393317B2 (ja) | 2018-09-19 |
WO2015052939A1 (en) | 2015-04-16 |
CN105637879B (zh) | 2019-04-19 |
US20180316916A1 (en) | 2018-11-01 |
EP3056008A1 (en) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105637879B (zh) | 图序计数的对齐方法 | |
US20210112278A1 (en) | High-Level Syntax Designs for Point Cloud Coding | |
US10230979B2 (en) | Video decoder with signaling | |
US20170366823A1 (en) | Method for decoding video bitstream | |
JP6513650B2 (ja) | ビデオコーディングのための復号ピクチャバッファ動作 | |
US9210430B2 (en) | Reference picture set signaling and restriction on an electronic device | |
US20170324981A1 (en) | Method for decoding a video bitstream | |
JP7125520B2 (ja) | ピクチャ復号化方法およびピクチャ符号化方法 | |
KR20240056804A (ko) | 혼합된 nal 유닛 타입들을 갖는 픽처들 | |
CN112840651B (zh) | 指示图像顺序编号增量的符号值和绝对值 | |
JP6193365B2 (ja) | パラメータセットにおけるスケーラビリティ情報のシグナリング | |
US11032559B2 (en) | Video encoding and decoding method and apparatus using the same | |
TW201440487A (zh) | 在視訊寫碼中之非巢套式補充增強資訊訊息 | |
CN105103561A (zh) | 用于视频译码扩展的参数集设计 | |
CN106464911B (zh) | 多层视频编解码器中的恢复点sei消息 | |
CN105103562B (zh) | 随机接入点画面 | |
CN113892271A (zh) | 用于在视频编码中发送信号通知假想参考解码器参数的系统和方法 | |
US10277918B2 (en) | Video encoding and decoding method and apparatus using the same | |
JP2023129442A (ja) | 参照ピクチャリスト内の参照ピクチャの種類 | |
RU2795700C2 (ru) | Управление опорным изображением при видеокодировании | |
CN116547971A (zh) | Vvc视频编解码中的滚动样点组 | |
CN117296326A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1225201 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1225201 Country of ref document: HK |