CN106105223B - 译码视频信息的设备和方法及计算机可读存储介质 - Google Patents

译码视频信息的设备和方法及计算机可读存储介质 Download PDF

Info

Publication number
CN106105223B
CN106105223B CN201580013633.9A CN201580013633A CN106105223B CN 106105223 B CN106105223 B CN 106105223B CN 201580013633 A CN201580013633 A CN 201580013633A CN 106105223 B CN106105223 B CN 106105223B
Authority
CN
China
Prior art keywords
picture
syntactic element
video
time
layer
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
Application number
CN201580013633.9A
Other languages
English (en)
Other versions
CN106105223A (zh
Inventor
伏努·亨利
阿达许·克里许纳·瑞玛苏布雷蒙尼安
王益魁
瓦迪姆·谢廖金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106105223A publication Critical patent/CN106105223A/zh
Application granted granted Critical
Publication of CN106105223B publication Critical patent/CN106105223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

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

Abstract

根据某些方面,一种用于译码视频信息的设备包含存储器和处理器,所述处理器经配置以确定位流中是否存在第一语法元素,所述第一语法元素与序列参数集SPS以及指示涉及所述SPS的图片的参考图片的时间识别符ID是否可嵌套的第一旗标相关联;以及响应于确定所述位流中不存在所述第一语法元素:获得指示所述多个层的特定层中的时间子层的最大数目的第二语法元素;以及至少部分地基于所述第二语法元素的值来确定是否将所述第一旗标设定为等于指示任何图片的参考图片的时间ID是否可嵌套的第二旗标。

Description

译码视频信息的设备和方法及计算机可读存储介质
技术领域
本发明涉及视频译码和压缩的领域,包含单层视频译码和多层视频译码两者。多层视频译码可包含可缩放视频译码、多视图视频译码、三维(3D)视频译码等。
背景技术
数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似物。数字视频装置实施视频压缩技术,例如描述于以下各者中的那些技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效率视频译码(HEVC)标准,以及此些标准的扩展。视频装置可通过实施此些视频译码技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧、视频帧的一部分等)分割成若干视频块,视频块也可被称作树块、译码单元(CU)和/或译码节点。使用关于同一图片中的相邻块中的参考样本的空间预测对图片的经帧内译码(I)切片中的视频块进行编码。图片的经帧间编码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。
空间或时间预测产生待译码块的预测性块。残差数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量和指示经译码块与预测性块之间的差的残差数据而编码的。根据帧内译码模式和残差数据来编码经帧内译码块。为了进一步压缩,可将残差数据从像素域变换到变换域,从而产生残差变换系数,可接着量化所述残差变换系数。可扫描最初布置成二维阵列的经量化变换系数,以便产生变换系数的一维向量,且可应用熵编码来实现更多压缩。
发明内容
可缩放视频译码(SVC)是指其中使用基础层(BL)(有时被称作参考层(RL))以及一或多个可缩放增强层(EL)的视频译码。在SVC中,基础层可运载具有基础质量等级的视频数据。所述一或多个增强层可运载额外的视频数据以支持(举例来说)较高的空间、时间和/或信噪比(SNR)等级。可相对于先前编码的层来定义增强层。举例来说,底层可充当BL,而顶层可充当EL。中间层可充当EL或RL,或两者。举例来说,中间层(例如,既不是最低层也不是最高层的层)可为中间层下方的层的EL,例如基础层或任何介入的增强层,且同时充当中间层上方的一或多个增强层的RL。类似地,在HEVC标准的多视图或3D扩展中,可存在多个视图,且可利用一个视图的信息对另一视图的信息(例如,运动估计、运动向量预测和/或其它冗余)进行译码(例如,编码或解码)。
一种根据某些方面的用于对视频信息进行译码的设备包含存储器和处理器。所述存储器经配置以存储与多个层相关联的视频信息。所述处理器经配置以确定位流中是否存在第一语法元素,所述第一语法元素与序列参数集(SPS)以及指示用于涉及所述SPS的图片的参考图片的时间识别符(ID)是否可嵌套的第一旗标相关联。所述处理器进一步经配置以响应于确定位流中不存在第一语法元素而:获得指示所述多个层的特定层中的时间子层的最大数目的第二语法元素;以及确定是否将所述第一旗标的值设定为等于第二旗标的值,所述第二旗标至少部分地基于所述第二语法元素的值来指示是否可嵌套用于任何图片的参考图片的时间ID。
一种根据某些方面的用于对视频信息进行译码的设备包含存储器和处理器。所述存储器经配置以存储与一或多个层相关联的视频信息。所述处理器经配置以译码包含多个层的位流中的当前存取单元(AU),所述多个层包含参考层以及至少一个对应增强层。所述处理器进一步经配置以译码与当前AU中的参考层相关联的第一序列结尾(EOS)网络抽象层(NAL)单元,所述第一EOS NAL单元具有与所述参考层相同的层识别符(ID)。所述处理器还经配置以译码与当前AU中的增强层相关联的第二EOS NAL单元,所述第二EOS NAL单元具有与所述增强层相同的层ID。
本发明的系统、方法和装置各自具有若干创新方面,其中没有单个方面单独负责本文所揭示的合乎需要的属性。在附图和以下描述中陈述一或多个实例的细节,其无意限制本文所述的发明性概念的完整范围。其它特征、目标和优点将从所述描述和图式以及所附权利要求书明白。
附图说明
图1A是说明可利用根据本发明中描述的方面的技术的实例视频编码和解码系统的框图。
图1B是说明可执行根据本发明中描述的方面的技术的另一实例视频编码和解码系统的框图。
图2A是说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。
图2B是说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。
图3A是说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。
图3B是说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。
图4是说明根据本发明的一个实施例的不同层中的图片的实例配置的框图。
图5是说明根据本发明的一个实施例的对视频信息进行译码的方法的流程图。
图5A是说明根据本发明的一个实施例的对视频信息进行译码的方法的流程图。
图6是说明根据本发明的一个实施例的对视频信息进行译码的方法的流程图。
具体实施方式
一般来说,本发明涉及在高级视频编解码器的上下文中的单层译码以及用于可缩放视频译码的层间预测,例如HEVC(高效视频译码)。更具体来说,本发明涉及用于HEVC的可缩放视频译码扩展(可被称为SHVC)中的经改进的层间预测性能的系统和方法。
在以下描述中,描述与某些实施例有关的H.264/高级视频译码(AVC)技术;还论述了HEVC标准和相关技术。尽管本文中在HEVC和/或H.264标准的背景下描述某些实施例,但所属领域的技术人员可了解,本文中揭示的系统和方法可适用于任何合适的视频译码标准。举例来说,本文中所公开的实施例可适用于以下标准中的一或多者:国际电信联盟(ITU)电信标准分会(ITU-T)H.261、国际标准化组织(ISO)和国际电工委员会(IEC)(ISO/IEC)移动图片专家组(MPEG)1(MPEG-1)视觉、ITU-T H.262或ISO/IEC MPEG-2视觉、ITU-TH.263、ISO/IEC MPEG-4视觉和ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。
在许多方面,HEVC通常遵循先前视频译码标准的框架。HEVC中的预测单元不同于某些先前视频译码标准中的预测单元(例如,宏块)。实际上,在HEVC中不存在如在某些先前视频译码标准中所理解的宏块的概念。宏块被基于四叉树方案的分层结构代替,所述分层结构可提供高灵活性和其它可能益处。举例来说,在HEVC方案内,定义三种类型的块,译码单元(CU)、预测单元(PU)和变换单元(TU)。CU可指区分裂的基本单元。可将CU视为类似于宏块的概念,但HEVC不限制CU的最大大小,且可允许递归分裂成四个大小相等的CU以改进内容适应性。PU可被认为是帧间/帧内预测的基本单元,且单个PU可含有多个任意形状分区,以有效地译码不规则图像样式。TU可认为是变换的基本单元。可独立于PU界定TU;然而,TU的大小可限于TU所属的CU的大小。这种将块结构分为为三个不同概念的做法可允许根据单元的相应作用来优化每一单元,这可得到改进的译码效率。
仅出于说明的目的,用仅包含视频数据的两个层(举例来说,例如基础层等较低层,以及例如增强层等较高层)的实例来描述本文所揭示的某些实施例。视频数据的“层”可通常指具有至少一个共同特性(例如,视图、帧率、分辨率或类似者)的图片序列。举例来说,层可包含与多视图视频数据的特定视图(例如,透视)相关联的视频数据。作为另一实例,层可包含与可缩放视频数据的特定层相关联的视频数据。因此,本发明可互换地参考视频数据的层和视图。也就是说,视频数据的视图可被称作视频数据的层,且视频数据的层可被称作视频数据的视图。另外,多层编解码器(也被称作多层视频译码器或多层编码器-解码器)可共同指多视图编解码器或可缩放编解码器(例如,经配置以使用MV-HEVC、3D-HEVC、SHVC或另一多层译码技术来编码和/或解码视频数据的编解码器)。视频编码和视频解码两者可通常被称作视频译码。应理解,这些实例可适用于包含多个基础层和/或增强层的配置。另外,为了易于解释,参考某些实施例,以下揭示内容包含术语“帧”或“块”。然而,这些术语无意具有限制性。举例来说,下文描述的技术可结合任何合适的视频单元(例如,块(例如,CU、PU、TU、宏块等)、切片、帧等)使用。
视频译码标准
例如视频图像、TV图像、静态图像或由录像机或计算机产生的图像等的数字图像可由布置成水平和垂直线的像素或样本构成。单个图像中的像素的数目通常有数万个。每一像素通常含有亮度和色度信息。在无压缩的情况下,将从图像编码器传达到图像解码器的信息的绝对量将使实时图像传输变得不可能。为了减少待发射的信息的量,已开发出例如JPEG、MPEG和H.263标准等数种不同压缩方法。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IECMPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉和ITU-T H.264(也称为ISO/IEC MPEG-4AVC),包含其SVC和MVC扩展。
此外,存在一种新的视频译码标准,即高效视频译码(HEVC),其正由ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的视频译码联合合作小组(JCT-VC)进行开发。对HEVC草案10的完全引用是Bross等人的文献JCTVC-L1003,“高效率视频译码(HEVC)文字规范草案10(High Efficiency Video Coding(HEVC)Text Specification Draft10)”,(ITU-T SG16 WP3与ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第12次会议:瑞士日内瓦,2013年1月14日到2013年1月23日)。对HEVC的多视图扩展(即,MV-HEVC)和对HEVC的可缩放扩展(名为SHVC)也正分别由JCT-3V(3D视频译码扩展开发ITU-T/ISO/IEC联合合作小组)和JCT-VC开发。
概述
在多层位流中,层可包含一或多个时间子层,且每一时间子层可具有与之相关联的被称作时间ID的识别符(ID)。一般来说,具有比当前图片高的时间ID的图片不用作当前图片的参考图片。当存在具有比特定图片低的时间ID且在解码次序中在所述特定图片之后但在解码次序中在当前图片之前的另一图片时,旗标sps_temporal_id_nesting_flag可进一步指示具有等于或低于当前图片的所述时间ID的时间ID的特定图片是否可用作参考图片。
当位流中不存在所述语法元素时,SHVC和MV-HEVC的早期版本(例如SHVC的工作草案5和MV-HEVC的工作草案7)造成sps_temporal_id_nesting_flag的导出过程中的冲突。在某些条件下,无法确定所述旗标的值是0还是1。为了解决这些和其它挑战,根据某些方面的技术可定义在此类条件下如何导出sps_temporal_id_nesting_flag的值(例如,设定导出过程中的优先权),以便消除所述冲突。
另外,在HEVC中,一个AU含有来自仅一个层的图片,且通常,图片和AU的概念可互换使用。相比之下,在SHVC和MV-HEVC中,一个AU可含有来自多于一个层的图片,这可使得变量或旗标应与特定层(例如基础层)相关联还是应适用于整个AU变得不确定。此类变量的一个实例是HandleCraAsBlaFlag。变量HandleCraAsBlaFlag可指示是否将CRA图片处置为BLA图片。SHVC和MV-HEVC的早期版本使得HandleCraAsBlaFlag与仅基础层还是AU相关联变得不清楚。为了解决这些和其它挑战,根据某些方面的技术还可定义HandleCraAsBlaFlag应与仅基础层还是AU相关联。
此外,如上文相对于HandleCraAsBlaFlag所阐释,因为在SHVC和MV-HEVC中,一个AU可具有来自多于一个层的图片,所以EOS NAL单元应与特定层(例如基础层)相关联还是应适用于整个AU可能是不确定的。EOS NAL单元可指示经译码视频序列(CVS)的结尾,且通常后接IRAP图片,例如IDR图片、BLA图片或CRA图片。SHVC和MV-HEVC的早期版本并不使得EOS NAL单元与仅基础层还是AU相关联变得清楚。为了解决这些和其它挑战,根据某些方面的技术可定义EOS NAL单元应与仅基础层还是AU相关联。
视频译码系统
下文参考附图更充分地描述新颖系统、设备和方法的各个方面。然而,本发明可以许多不同形式来体现,且不应将其解释为限于贯穿本发明所呈现的任何特定结构或功能。相反地,提供这些方面以使得本发明将透彻且完整,并且将向所属领域的技术人员充分传达本发明的范围。基于本文中的教示,所属领域的技术人员应了解,本发明的范围既定涵盖无论是独立于本发明的任何其它方面而实施还是与之组合而实施的本文中所揭示的新颖系统、设备和方法的任何方面。举例来说,可使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本发明的范围既定涵盖使用除本文中所阐述的本发明的各种方面之外的或不同于本文中所阐述的本发明的各种方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,可通过权利要求的一或多个要素来体现本文中所公开的任何方面。
尽管本文描述了特定方面,但这些方面的许多变化和排列落在本发明的范围内。尽管提到了优选方面的一些益处和优点,但本发明的范围无意限于特定益处、用途或目标。相反,本发明的方面既定广泛地适用于不同无线技术、系统配置、网络和发射协议,其中的一些是借助于实例而在图中以及在优选方面的以下描述中说明。具体实施方式和图式仅说明本发明,而不是限制由所附权利要求书和其等效物界定的本发明的范围。
附图说明若干实例。由附图中的参考标号指示的元件对应于在以下描述中由相同参考标号指示的元件。在本发明中,名称以序数词(例如,“第一”、“第二”、“第三”等等)开始的元件未必暗示所述元件具有特定次序。相反,此些序数词仅用于指代相同或类似类型的不同元件。
图1A是说明可利用根据本发明中所描述的方面的技术的实例视频译码系统10的框图。如本文中所描述地使用,术语“视频译码器”一般指代视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可一般地指代视频编码和视频解码。除了视频编码器和视频解码器外,本申请案中描述的方面可扩展到其它相关装置,例如,转码器(例如,可解码位流且重新编码另一位流的装置)和中间框(例如,可修改、变换和/或以其它方式操纵位流的装置)。
如图1A中所示,视频译码系统10包含源装置12,其产生将在稍后时间由目的地装置14解码的经编码视频数据。在图1A的实例中,源装置12和目的地装置14构成单独装置。然而,应注意,源装置12和目的地装置14可在相同装置的一部分上,如图1B的实例中所示。
再次参考图1A,源装置12和目的地装置14可分别包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本型(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”板、电视机、相机、显示装置、数字媒体播放器、视频游戏机、视频流装置等等。在一些情况下,源装置12和目的地装置14可经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型媒体或装置。在图1A的实例中,链路16可包括使源装置12能够实时将经编码视频数据发射到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)来调制经编码的视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于分组的网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含路由器、交换机、基站或可用于促进从源装置12到目的地装置14的通信的任一其它设备。
或者,可将经编码数据从输出接口22输出到任选的存储装置31。类似地,可通过(例如)目的地装置14的输入接口28从存储装置31存取经编码数据。存储装置31可包括多种分布式或本地存取数据存储媒体中的任一者,例如硬盘驱动器、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置31可对应于文件服务器或可保持源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置31存取所存储的视频数据。文件服务器可为能够存储经编码视频数据并将经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附接存储(NAS)装置,或本地磁盘驱动器。目的地装置14可通过任何标准数据连接(包含因特网连接)来存取经编码的视频数据。此可包含无线信道(例如无线局域网(WLAN)连接)、有线连接(例如数字订户线(DSL)、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置31的发射可为流式发射、下载发射或两者的组合。
本发明的技术不限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,例如空中电视广播、有线电视发射、卫星电视发射、例如经由因特网的流视频发射(例如,超文本传送协议(HTTP)动态自适应流式传输等)、用于存储于数据存储媒体上的数字视频的编码、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,视频译码系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
在图1A的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。在源装置12中,视频源18可包括来源,例如视频捕获装置(例如,摄像机)、含有先前所捕获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据以作为源视频的计算机图形系统,或此类源的组合。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的“相机电话”或“视频电话”,如图1B的实例中所说明。然而,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线应用。
可由视频编码器20对所捕获、预捕获或计算机产生的视频进行编码。可经由源装置12的输出接口22将经编码视频数据发射到目的地装置14。还可(或替代地)将经编码视频数据存储到存储装置31上以用于稍后由目的地装置14或其它装置存取以用于解码和/或重放。图1A和1B中说明的视频编码器20可包括图2A中说明的视频编码器20、图2B中说明的视频编码器23或本文中描述的任一其它视频编码器。
在图1A的实例中,目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些情况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28可经由链路16和/或从存储装置31接收经编码视频数据。经由链路16传送或在存储装置31上提供的经编码视频数据可包含由视频编码器20所产生的多种语法元素以供由例如视频解码器30的视频解码器用于解码视频数据。此类语法元素可与在通信媒体上发射、存储于存储媒体上或存储文件服务器的经编码视频数据包含在一起。图1A和1B中说明的视频解码器30可包括图3A中说明的视频解码器30、图3B中说明的视频解码器33或本文中描述的任一其它视频解码器。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,并且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示器装置。
在相关方面中,图1B展示实例视频编码和解码系统10′,其中源装置12和目的地装置14在装置11上或作为其一部分。装置11可为电话手持机,例如“智能”电话或类似物。装置11可包含与源装置12和目的地装置14操作性通信的任选的控制器/处理器装置13。图1B的系统10′可进一步包括视频编码器20与输出接口22之间的视频处理单元21。在一些实施方案中,视频处理单元21为单独单元,如图1B中所说明;然而,在其它实施方案中,视频处理单元21可实施为视频编码器20和/或处理器/控制器装置13的一部分。系统10′还可包含任选的跟踪器29,其可跟踪视频序列中的所关注对象。待跟踪的对象或关注物可通过结合本发明的一或多个方面而描述的技术来分段。在相关方面中,跟踪可由显示装置32单独或结合跟踪器29而执行。图1B的系统10′及其组件另外类似于图1A的系统10及其组件。
视频编码器20和视频解码器30可根据例如HEVC等视频压缩标准操作,且可符合HEVC测试模型(HM)。替代地,视频编码器20和视频解码器30可根据其它专属或业界标准来操作,所述标准例如ITU-T H.264标准,或者被称为MPEG-4第10部分AVC,或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
尽管图1A和1B的实例中未展示,但视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件和软件以处理共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分以软件实施所述技术时,装置可将用于所述软件的指令存储于合适非暂时性计算机可读媒体中并使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编解码器)的部分。
视频译码过程
如上文简要提到,视频编码器20编码视频数据。视频数据可包括一或多个图片。所述图片中的每一者是形成视频的部分的静态图像。在一些情况下,图片可被称作视频“帧”。当视频编码器20对视频数据进行编码时,视频编码器20可产生位流。位流可包含形成视频数据的经译码表示的一连串位。位流可包含经译码图片和相关联的数据。经译码的图片是图片的经译码表示。
为了产生位流,视频编码器20可对视频数据中的每一图片执行编码操作。当视频编码器20对图片执行编码操作时,视频编码器20可产生一系列经译码图片和相关联数据。相关联数据可包含视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、适应参数集(APS)和其它语法结构。SPS可含有适用于零个或多个图片序列的参数。PPS可含有适用于零个或多个图片的参数。APS可含有适用于零个或多个图片的参数。APS中的参数可为比PPS中的参数更可能改变的参数。
为了产生经译码图片,视频编码器20可将图片分割成大小相等的视频块。视频块可为样本的二维阵列。视频块中的每一者与树块相关联。在一些情况下,树块可被称作最大译码单元(LCU)。HEVC的树块可广泛类似于例如H.264/AVC等先前标准的宏块。然而,树块不必限于特定大小,且可包含一或多个译码单元(CU)。视频编码器20可使用四叉树分割来将树块的视频块分割成与CU相关联的视频块(因此名称为“树块”)。
在一些实例中,视频编码器20可将图片分割成多个切片。所述切片中的每一者可包含整数数目个CU。在一些情况下,切片包括整数数目个树块。在其它情况下,切片的边界可在树块内。
作为对图片执行编码操作的部分,视频编码器20可对图片的每一切片执行编码操作。当视频编码器20对切片执行编码操作时,视频编码器20可产生与切片相关联的经编码数据。与切片相关联的经编码数据可被称为“经译码切片”。
为产生经译码切片,视频编码器20可对切片中的每一树块执行编码操作。当视频编码器20对树块执行编码操作时,视频编码器20可产生经译码树块。经译码树块可包括表示树块的经编码版本的数据。
当视频编码器20产生经译码切片时,视频编码器20可根据光栅扫描次序对切片中的树块执行编码操作(例如,编码)。举例来说,视频编码器20可按如下次序来对切片的树块进行编码:跨越切片中的树块的最顶行从左到右进行,接着跨越树块的下一较低行从左到右进行,以此类推,直到视频编码器20已对切片中的树块的每一者进行了编码为止。
作为根据光栅扫描次序编码树块的结果,可已编码在给定树块的上方和左边的树块,但尚未编码在给定树块的下方和右边的树块。因此,当对给定树块进行编码时,视频编码器20可能够存取通过对给定树块的上方和左边的树块进行编码而产生的信息。然而,当编码给定树块时,视频编码器20可能不能够存取通过编码在给定树块的下方和右边的树块而产生的信息。
为了产生经译码树块,视频编码器20可对树块的视频块递归地执行四叉树分割,以将视频块划分为越来越小的视频块。较小视频块中的每一者可与不同CU相关联。举例来说,视频编码器20可将树块的视频块分割成四个大小相等的子块、将所述子块中的一或多者分割成四个大小相等的子子块(sub-sub-block),以此类推。经分割的CU可为其视频块被分割成与其它CU相关联的视频块的CU。未分割CU可为其视频块未被分割成与其它CU相关联的视频块的CU。
位流中的一或多个语法元素可指示视频编码器20可分割树块的视频块的最大次数。CU的视频块的形状可为正方形。CU的视频块的大小(例如,CU的大小)范围可从8×8像素直到具有最大64×64个像素或更大的树块的视频块的大小(例如,树块的大小)。
视频编码器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进行编码。因此,当对给定CU进行编码时,视频编码器20可能够存取通过对与给定CU相邻的一些CU进行编码而产生的信息。然而,当对给定CU进行编码时,视频编码器20可能不能够存取通过对与给定CU相邻的其它CU进行编码而产生的信息。
当视频编码器20编码未经分割CU时,视频编码器20可产生所述CU的一或多个预测单元(PU)。CU的PU中的每一者可与CU的视频块内的不同视频块相关联。视频编码器20可产生用于CU的每一PU的经预测视频块。PU的经预测视频块可为样本块。视频编码器20可使用帧内预测或帧间预测来产生PU的经预测视频块。
当视频编码器20使用帧内预测来产生PU的经预测视频块时,视频编码器20可基于与PU相关联的图片的经解码样本来产生PU的经预测视频块。如果视频编码器20使用帧内预测来产生CU的PU的经预测视频块,那么CU为经帧内预测的CU。当视频编码器20使用帧间预测来产生PU的经预测视频块时,视频编码器20可基于不同于与PU相关联的图片的一或多个图片的经解码样本而产生PU的经预测视频块。如果视频编码器20使用帧间预测来产生CU的PU的经预测视频块,那么所述CU为经帧间预测CU。
此外,当视频编码器20使用帧间预测来产生PU的经预测视频块时,视频编码器20可产生PU的运动信息。PU的运动信息可指示PU的一或多个参考块。PU的每一参考块可为参考图片内的视频块。参考图片可为除与PU相关联的图片以外的图片。在一些情况下,PU的参考块也可被称作PU的“参考样本”。视频编码器20可基于PU的参考块产生所述PU的经预测视频块。
在视频编码器20产生用于CU的一或多个PU的预测视频块之后,视频编码器20可基于用于CU的所述PU的预测视频块产生所述CU的残差数据。CU的残差数据可指示用于CU的PU的经预测视频块中的样本与CU的原始视频块之间的差。
此外,作为对未经分割CU执行编码操作的一部分,视频编码器20可对CU的残差数据执行递归四叉树分割以将CU的残差数据分割成与CU的变换单元(TU)相关联的一或多个残差数据块(例如,残差视频块)。CU的每一TU可与不同残差视频块相关联。
视频编码器20可将一或多个变换应用于与TU相关联的残差视频块以产生与TU相关联的变换系数块(例如,变换系数块)。在概念上,变换系数块可为变换系数的二维(2D)矩阵。
在产生变换系数块之后,视频编码器20可对所述变换系数块执行量化处理。量化总体上是指对变换系数进行量化以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。
视频编码器20可使每一CU与量化参数(QP)值相关联。与CU相关联的QP值可确定视频编码器20如何对与CU相关联的变换系数块进行量化。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的变换系数块的量化的程度。
在视频编码器20量化变换系数块之后,视频编码器20可产生表示经量化变换系数块中的变换系数的语法元素集。视频编码器20可将例如上下文自适应二进制算术译码(CABAC)操作等熵编码操作应用于这些语法元素中的一些。还可使用例如内容自适应可变长度译码(CAVLC)、概率区间分割熵(PIPE)译码或其它二进制算术译码等其它熵译码技术。
由视频编码器20产生的位流可包含一系列网络抽象层(NAL)单元。所述NAL单元中的每一者可为含有NAL单元中的数据类型的指示以及含有数据的字节的语法结构。举例来说,NAL单元可含有表示视频参数集、序列参数集、图片参数集、经译码切片、补充增强信息(SEI)、存取单元分隔符、填充数据或另一类型的数据的数据。NAL单元中的数据可包含各种语法结构。
视频解码器30可接收由视频编码器20产生的位流。所述位流可包含由视频编码器20编码的视频数据的经译码表示。当视频解码器30接收到位流时,视频解码器30可对位流执行剖析操作。当视频解码器30执行剖析操作时,视频解码器30可从位流提取语法元素。视频解码器30可基于从位流提取的语法元素而重构视频数据的图片。基于语法元素而重构视频数据的过程一般可与由视频编码器20执行以产生语法元素的过程互逆。
在视频解码器30提取与CU相关联的语法元素之后,视频解码器30可基于所述语法元素产生用于CU的PU的经预测视频块。另外,视频解码器30可对与CU的TU相关联的变换系数块进行逆量化。视频解码器30可对变换系数块执行逆变换以重构与CU的TU相关联的残差视频块。在产生经预测视频块且重构残差视频块之后,视频解码器30可基于经预测视频块和残差视频块重构CU的视频块。以此方式,视频解码器30可基于位流中的语法元素来重构CU的视频块。
视频编码器
图2A是说明可实施根据本发明中描述的方面的技术的视频编码器20的实例的框图。视频编码器20可经配置以处理视频帧的单层(例如,针对HEVC)。此外,视频编码器20可经配置以执行本发明的技术中的任一者或全部,包含(但不限于)上文和下文关于图4和5更详细地描述的推断NoOutputOfPriorPicsFlag的方法和相关过程。作为一个实例,预测处理单元100可经配置以执行本发明中描述的技术中的任一者或全部。在另一实施例中,视频编码器20包含任选层间预测单元128,所述层间预测单元经配置以执行本发明中描述的技术中的任一者或全部。在其它实施例中,层间预测可由预测处理单元100(例如,帧间预测单元121和/或帧内预测单元126)执行,在此情况下,可省略层间预测单元128。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。
出于解释的目的,本发明在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。图2A中所描绘的实例是针对单层编解码器。然而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部以用于多层编码解码器的处理。
视频编码器20可对视频切片内的视频块执行帧内译码和帧间译码。帧内译码依靠空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间译码依靠时间预测来减少或去除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的译码模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的译码模式中的任一者。
在图2A的实例中,视频编码器20包含多个功能组件。视频编码器20的功能组件包含预测处理单元100、残差产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换单元110、重构单元112、滤波器单元113、经解码图片缓冲器114和熵编码单元116。预测处理单元100包含帧间预测单元121、运动估计单元122、运动补偿单元124、帧内预测单元126和层间预测单元128。在其它实例中,视频编码器20可包含更多、更少或不同功能组件。此外,运动估计单元122和运动补偿单元124可高度集成,但出于解释的目的而在图2A的实例中分开表示。
视频编码器20可接收视频数据。视频编码器20可从各种来源接收视频数据。举例来说,视频编码器20可从视频源18(例如,图1A或1B中所示)或另一来源接收视频数据。视频数据可表示一系列图片。为了编码视频数据,视频编码器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执行编码操作。当视频编码器20对未经分割的CU执行编码操作时,视频编码器20产生表示未经分割的CU的经编码表示的数据。
作为对CU执行编码操作的部分,预测处理单元100可在CU的一或多个PU间分割CU的视频块。视频编码器20和视频解码器30可支持各种PU大小。假定特定CU的大小为2Nx2N,视频编码器20和视频解码器30可支持2Nx2N或NxN的PU大小,以及2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N或类似的对称PU大小的帧间预测。视频编码器20和视频解码器30还可支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不对称分割。在一些实例中,预测处理单元100可执行几何分割以沿并不按直角与CU的视频块的侧会合的边界来在CU的PU间分割CU的视频块。
帧间预测单元121可对CU的每一PU执行帧间预测。帧间预测可提供时间压缩。为了对PU执行帧间预测,运动估计单元122可产生PU的运动信息。运动补偿单元124可基于运动信息和除与CU相关联的图片(例如,参考图片)以外的图片的经解码样本而产生PU的经预测视频块。在本发明中,由运动补偿单元124产生的经预测视频块可称作经帧间预测视频块。
切片可为I切片、P切片,或B切片。运动估计单元122和运动补偿单元124可取决于PU处于I切片、P切片还是B切片中而对CU的PU执行不同操作。在I切片中,所有PU都经帧内预测。因此,如果PU在I切片中,那么运动估计单元122和运动补偿单元124不对PU执行帧间预测。
如果PU在P切片中,那么含有所述PU的图片与被称作“列表0”的参考图片列表相关联。列表0中的参考图片中的每一者含有可用于其它图片的帧间预测的样本。当运动估计单元122关于P切片中的PU执行运动估计操作时,运动估计单元122可搜索列表0中的参考图片以找出PU的参考块。PU的参考块可为最紧密对应于PU的视频块中的样本的一组样本,例如样本块。运动估计单元122可使用多种度量来确定参考图片中的一组样本对应于PU的视频块中的样本的紧密程度。举例来说,运动估计单元122可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定参考图片中的一组样本对应于PU的视频块中的样本的紧密程度。
在识别出P切片中的PU的参考块之后,运动估计单元122可产生指示列表0中含有参考块的参考图片的参考索引,以及指示PU与参考块之间的空间位移的运动向量。在各种实例中,运动估计单元122可以不同精确度产生运动向量。举例来说,运动估计单元122可以四分之一样本精确度、八分之一样本精确度或其它分数样本精确度产生运动向量。在分数样本精确度的情况下,参考块值可从参考图片中的整数位置样本值内插。运动估计单元122可输出参考索引和运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信息识别的参考块而产生PU的经预测视频块。
如果PU处于B切片中,那么含有PU的图片可与被称作“列表0”和“列表1”的两个参考图片列表相关联。在一些实例中,含有B切片的图片可与为列表0与列表1的组合的列表组合相关联。
此外,如果PU在B切片中,那么运动估计单元122可对PU执行单向预测或双向预测。当运动估计单元122对PU执行单向预测时,运动估计单元122可搜索列表0或列表1中的参考图片以找出用于所述PU的参考块。运动估计单元122可随后产生指示列表0或列表1中的含有参考块的参考图片的参考索引和指示PU与参考块之间的空间位移的运动向量。运动估计单元122可输出参考索引、预测方向指示符和运动向量作为所述PU的运动信息。预测方向指示符可指示参考索引指示列表0还是列表1中的参考图片。运动补偿单元124可基于由PU的运动信息指示的参考块来产生PU的经预测视频块。
当运动估计单元122针对PU执行双向预测时,运动估计单元122可搜索列表0中的参考图片以寻找用于所述PU的参考块,且还可搜索列表1中的参考图片以找到用于所述PU的另一参考块。运动估计单元122可接着产生指示列表0和列表1中含有参考块的参考图片的参考索引和指示参考块与PU之间的空间位移的运动向量。运动估计单元122可输出PU的参考索引和运动向量作为PU的运动信息。运动补偿单元124可基于由PU的运动信息指示的参考块而产生PU的经预测视频块。
在一些情况下,运动估计单元122不将PU的运动信息的完整集合输出到熵编码单元116。实际上,运动估计单元122可参考另一PU的运动信息发信号通知PU的运动信息。举例来说,运动估计单元122可确定PU的运动信息足够类似于相邻PU的运动信息。在此实例中,运动估计单元122可在与PU相关联的语法结构中指示一值,所述值向视频解码器30指示PU具有与相邻PU相同的运动信息。在另一实例中,运动估计单元122可在与PU相关联的语法结构中识别相邻PU和运动向量差(MVD)。运动向量差指示PU的运动向量与所指示的相邻PU的运动向量之间的差。视频解码器30可使用所指示的相邻PU的运动向量和运动向量差来确定PU的运动向量。通过在发信号通知第二PU的运动信息时参考第一PU的运动信息,视频编码器20可能能够使用较少的位来发信号通知第二PU的运动信息。
如下文参考图5和6进一步论述,预测处理单元100可经配置以通过执行图5和6中说明的方法来译码(例如编码或解码)PU(或任何其它参考层和/或增强层块或视频单元)。举例来说,帧间预测单元121(例如,经由运动估计单元122和/或运动补偿单元124)、帧内预测单元126或层间预测单元128可经配置以一起或单独执行图5和6中说明的方法。
作为对CU执行编码操作的部分,帧内预测单元126可对CU的PU执行帧内预测。帧内预测可提供空间压缩。当帧内预测单元126对PU执行帧内预测时,帧内预测单元126可基于同一图片中的其它PU的经解码样本来产生用于PU的预测数据。用于PU的预测数据可包含经预测视频块和各种语法元素。帧内预测单元126可对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测单元126可使用多个帧内预测模式以产生用于PU的多组预测数据。当帧内预测单元126使用帧内预测模式来产生用于PU的一组预测数据时,帧内预测单元126可在与帧内预测模式相关联的方向和/或梯度上跨越PU的视频块从相邻PU的视频块扩展样本。相邻PU可在所述PU的上方、右上方、左上方或左侧,假定对于PU、CU和树块采用从左到右、从上到下的编码次序。帧内预测单元126可取决于PU的大小而使用各种数目个帧内预测模式,例如33个定向帧内预测模式。
预测处理单元100可从由运动补偿单元124针对PU产生的预测数据或由帧内预测单元126针对PU产生的预测数据当中选择用于PU的预测数据。在一些实例中,预测处理单元100基于所述组预测数据的速率/失真度量而选择PU的预测数据。
如果预测处理单元100选择由帧内预测单元126产生的预测数据,那么预测处理单元100可发信号通知用以产生用于PU的预测数据的帧内预测模式,即,选定帧内预测模式。预测处理单元100可以各种方式发信号通知选定帧内预测模式。举例来说,有可能所述选定帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为对当前PU来说最可能的模式。因此,预测处理单元100可产生用以指示选定帧内预测模式与相邻PU的帧内预测模式相同的语法元素。
如上文所论述,视频编码器20可包含层间预测单元128。层间预测单元128经配置以使用SVC中可用的一或多个不同层(例如,基础层或参考层)来预测当前块(例如,EL中的当前块)。此预测可称作层间预测。层间预测单元128利用预测方法来减少层间冗余,进而改进译码效率并降低计算资源要求。层间预测的一些实例可包含层间帧内预测、层间运动预测和层间残差预测。层间帧内预测使用基础层中位于同一位置的块的重构来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残差预测使用基础层的残差来预测增强层的残差。下文更详细地论述层间预测方案中的每一者。
在预测处理单元100选择用于CU的PU的预测数据之后,残差产生单元102可通过从CU的视频块减去(例如,由减号指示)CU的PU的经预测视频块而产生用于CU的残差数据。CU的残差数据可包含对应于CU的视频块中的样本的不同样本分量的2D残差视频块。举例来说,残差数据可包含对应于CU的PU的经预测视频块中的样本的亮度分量与CU的原始视频块中的样本的亮度分量之间的差的残差视频块。另外,CU的残差数据可包含对应于CU的PU的预测视频块中的样本的色度分量与CU的原始视频块中的样本的色度分量之间的差的残差视频块。
预测处理单元100可执行四叉树分割以将CU的残差视频块分割成若干子块。每一未经划分的残差视频块可与CU的不同TU相关联。与CU的TU相关联的残差视频块的大小和位置可基于或可不基于与CU的PU相关联的视频块的大小和位置。被称为“残差四叉树”(RQT)的四叉树结构可包含与残差视频块中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换处理单元104可通过将一或多个变换应用于与CU的每一TU相关联的残差视频块而产生用于所述TU的一或多个变换系数块。所述变换系数块中的每一者可为变换系数的2D矩阵。变换处理单元104可将各种变换应用于与TU相关联的残差视频块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于与TU相关联的残差视频块。
在变换处理单元104产生与TU相关联的变换系数块之后,量化单元106可量化所述变换系数块中的变换系数。量化单元106可基于与CU相关联的QP值而对与CU的TU相关联的变换系数块进行量化。
视频编码器20可以各种方式使QP值与CU相关联。举例来说,视频编码器20可对与CU相关联的树块执行速率失真分析。在速率-失真分析中,视频编码器20可通过对树块执行多次编码操作而产生树块的多个经译码表示。当视频编码器20产生树块的不同经编码表示时,视频编码器20可使不同QP值与CU相关联。当给定QP值与具有最低位速率和失真度量的树块的经译码表示中的CU相关联时,视频编码器20可发信号通知给定QP值与CU相关联。
逆量化单元108和逆变换单元110可分别将逆量化和逆变换应用于变换系数块,以从变换系数块重构残差视频块。重构单元112可将经重构的残差视频块添加到来自由预测处理单元100产生的一或多个经预测视频块的对应样本,以产生与TU相关联的经重构视频块。通过以此方式重构CU的每一TU的视频块,视频编码器20可重构CU的视频块。
在重构单元112重构CU的视频块之后,滤波器单元113可执行去块操作以减少与所述CU相关联的视频块中的成块假象。在执行一或多个去块操作之后,滤波器单元113可将CU的经重构视频块存储在经解码图片缓冲器114中。运动估计单元122和运动补偿单元124可使用含有经重构视频块的参考图片来对后续图片的PU执行帧间预测。另外,帧内预测单元126可使用经解码图片缓冲器114中的经重构视频块对处于与CU相同图片中的其它PU执行帧内预测。
熵编码单元116可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元116可从量化单元106接收变换系数块并且可从预测处理单元100接收语法元素。当熵编码单元116接收所述数据时,熵编码单元116可执行一或多个熵编码操作以产生经熵编码数据。举例来说,视频编码器20可对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作或另一类型的熵编码操作。熵编码单元116可输出包含经熵编码数据的位流。
作为对数据执行熵编码操作的一部分,熵编码单元116可选择上下文模型。如果熵编码单元116正执行CABAC操作,那么上下文模型可指示特定二进位具有特定值的概率的估计。在CABAC的上下文中,术语“二进位”用以指语法元素的二进制化版本的位。
多层视频编码器
图2B是说明可实施根据本发明中所描述的方面的技术的多层视频编码器23(也被简称为视频编码器23)的实例的框图。视频编码器23可经配置以处理多层视频帧,例如,用于SHVC和多视图译码。此外,视频编码器23可经配置以执行本发明的技术中的任一者或全部。
视频编码器23包含视频编码器20A和视频编码器20B,其中的每一者可经配置为视频编码器20,且可执行上文相对于视频编码器20所描述的功能。此外,如参考数字的再用所指示,视频编码器20A和20B可包含系统和子系统中的至少一些作为视频编码器20。尽管将视频编码器23说明为包含两个视频编码器20A和20B,但视频编码器23不被如此限制,且可包含任何数目的视频编码器20层。在一些实施例中,视频编码器23可包含针对存取单元中的每一图片或帧的视频编码器20。举例来说,包含五个图片的存取单元可由包含五个编码器层的视频编码器处理或编码。在一些实施例中,视频编码器23可包含比存取单元中的帧更多的编码器层。在一些此类情况下,当处理一些存取单元时,一些视频编码器层可能不在作用中。
除了视频编码器20A和20B之外,视频编码器23可包含再取样单元90。在一些情况下,再取样单元90可对所接收的视频帧的基础层进行上取样,以例如创建增强层。再取样单元90可对与帧的所接收的基础层相关联的特定信息进行上取样,但不对其它信息进行上取样。举例来说,再取样单元90可基础层的空间大小或像素数目进行上取样,但切片的数目或图片次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收到的视频和/或可为任选的。举例来说,在一些情况下,预测处理单元100可执行上取样。在一些实施例中,再取样单元90经配置以对层进行上取样,且重新组织、重新定义、修改或调整一或多个切片以符合一组切片边界规则和/或光栅扫描规则。尽管主要描述为对基础层或存取单元中的较低层进行上取样,但在一些情况下,再取样单元90可对层进行下取样。举例来说,如果在视频的流式传输期间带宽减小,那么可对帧进行下取样而不是上取样。
再取样单元90可经配置以从较低层编码器(例如,视频编码器20A)的经解码图片缓冲器114接收图片或帧(或与图片相关联的图片信息),并对所述图片(或所接收的图片信息)进行上取样。随后可将经上取样图片提供到较高层编码器(例如,视频编码器20B)的预测处理单元100,所述较高层编码器经配置以编码与较低层编码器相同的存取单元中的图片。在一些情况下,较高层编码器为从较低层编码器去除的一个层。在其它情况下,在图2B的层0编码器与层1编码器之间可存在一或多个较高层编码器。
在一些情况下,可省略或旁路再取样单元90。在这些情况下,可直接或在至少不提供到再取样单元90的情况下,将来自视频编码器20A的经解码图片缓冲器114的图片提供到视频编码器20B的预测处理单元100。举例来说,如果提供到视频编码器20B的视频数据和来自视频编码器20A的经解码图片缓冲器114的参考图片具有相同的大小或分辨率,那么可将参考图片提供到视频编码器20B而没有任何再取样。
在一些实施例中,视频编码器23使用下取样单元94对将提供到较低层编码器的视频数据进行下取样,之后将所述视频数据提供到视频编码器20A。或者,下取样单元94可为能够对视频数据进行上取样或下取样的再取样单元90。在另外其它实施例中,可省略下取样单元94。
如图2B中所说明,视频编码器23可进一步包含多路复用器98或mux。mux 98可从视频编码器23输出组合的位流。可通过从视频编码器20A和20B中的每一者取得位流且交替在给定时间输出哪一位流来创建组合的位流。尽管在一些情况下,可一次一个位地交替来自两个(或在多于两个视频编码器层的情况下更多个)位流的位,但在许多情况下,不同地组合所述位流。举例来说,可通过一次一个块地交替选定位流来产生输出位流。在另一实例中,可通过从视频编码器20A和20B中的每一者输出非1:1比率的块来产生输出位流。举例来说,针对从视频编码器20A输出的每一块,可从视频编码器20B输出两个块。在一些实施例中,可预编程来自mux 98的输出流。在其它实施例中,mux 98可基于从视频编码器23外部的系统(例如,从包含源装置12的源装置上的处理器)接收的控制信号来组合来自视频编码器20A、20B的位流。可基于来自视频源18的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订),或基于用于确定来自视频编码器23的所要分辨率输出的任何其它因素来产生控制信号。
视频解码器
图3A是说明可实施本发明中描述的方面的技术的视频解码器30的实例的框图。视频解码器30可经配置以处理视频帧的单层(例如针对HEVC)。此外,视频解码器30可经配置以执行本发明的技术中的任一者或全部,包含(但不限于)上文和下文关于图4和5更详细地描述的推断NoOutputOfPriorPicsFlag的方法和相关过程。作为一个实例,运动补偿单元162和/或帧内预测单元164可经配置以执行本发明中描述的技术中的任一者或全部。在一个实施例中,视频解码器30可任选地包含层间预测单元166,所述层间预测单元经配置以执行本发明中所描述的技术中的任一者或全部。在其它实施例中,层间预测可由预测处理单元152(例如,运动补偿单元162和/或帧内预测单元164)执行,在此情况下,可省略层间预测单元166。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频解码器30的各种组件之间共享。在一些实例中,另外或替代地,处理器(未图示)可经配置以执行本发明中描述的技术中的任一者或全部。
出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。图3A中所描绘的实例是针对单层编解码器。然而,如将关于图3B进一步描述,可复制视频解码器30中的一些或全部以用于多层编码解码器的处理。
在图3A的实例中,视频解码器30包含多个功能组件。视频解码器30的功能组件包含熵解码单元150、预测处理单元152、逆量化单元154、逆变换单元156、重构单元158、滤波器单元159和经解码图片缓冲器160。预测处理单元152包括运动补偿单元162、帧内预测单元164和层间预测单元166。在一些实例中,视频解码器30可执行一般与关于图2A的视频编码器20描述的编码遍次互逆的解码遍次。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。
视频解码器30可接收包括经编码视频数据的位流。所述位流可包含多个语法元素。当视频解码器30接收到位流时,熵解码单元150可对所述位流执行剖析操作。对位流执行剖析操作的结果是,熵解码单元150可从所述位流提取语法元素。作为执行剖析操作的一部分,熵解码单元150可对位流中的经熵编码的语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换单元156、重构单元158和滤波器单元159可执行重构操作,重构操作基于从位流提取的语法元素产生经解码视频数据。
如上文所论述,位流可包括一系列NAL单元。位流的NAL单元可包含视频参数集NAL单元、序列参数集NAL单元、图片参数集NAL单元、SEI NAL单元等等。作为对位流执行剖析操作的一部分,熵解码单元150可执行剖析操作,所述剖析操作从序列参数集NAL单元提取且熵解码序列参数集、从图片参数集NAL单元提取且熵解码图片参数集、从SEI NAL单元提取且熵解码SEI数据等等。
此外,位流的NAL单元可包含经译码切片NAL单元。作为对位流执行剖析操作的部分,熵解码单元150可执行剖析操作,所述剖析操作从经译码切片NAL单元提取且熵解码经译码切片。经译码切片中的每一者可包含切片标头以及切片数据。切片标头可含有关于切片的语法元素。切片标头中的语法元素可包含识别与含有所述切片的图片相关联的图片参数集的语法元素。熵解码单元150可对经译码切片标头中的语法元素执行熵解码操作(例如,CABAC解码操作),以恢复切片标头。
作为从经译码切片NAL单元提取切片数据的部分,熵解码单元150可执行从切片数据中的经译码CU提取语法元素的剖析操作。所提取的语法元素可包含与变换系数块相关联的语法元素。熵解码单元150可接着对语法元素中的一些执行CABAC解码操作。
在熵解码单元150对未分割的CU执行剖析操作之后,视频解码器30可对未分割的CU执行重构操作。为了对未分割CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构与CU相关联的残差视频块。
作为对TU执行重构操作的一部分,逆量化单元154可对与TU相关联的变换系数块进行逆量化(例如,去量化)。逆量化单元154可以类似于针对HEVC所提议或由H.264解码标准定义的逆量化过程的方式来逆量化变换系数块。逆量化单元154可使用由视频编码器20针对变换系数块的CU计算的量化参数QP来确定量化程度,且同样地,确定逆量化单元154应用的逆量化的程度。
在逆量化单元154对变换系数块进行逆量化之后,逆变换单元156可产生与变换系数块相关联的TU的残差视频块。逆变换单元156可将逆变换应用于变换系数块,以便产生所述TU的残差视频块。举例来说,逆变换单元156可将逆DCT、逆整数变换、逆卡忽南-拉维(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆定向变换或另一逆变换应用于变换系数块。在一些实例中,逆变换单元156可基于来自视频编码器20的信令而确定适用于变换系数块的逆变换。在这些实例中,逆变换单元156可基于在用于与变换系数块相关联的树块的四叉树的根节点处发信号通知的变换来确定逆变换。在其它实例中,逆变换单元156可从例如块大小、译码模式等一或多个译码特性推断逆变换。在一些实例中,逆变换单元156可应用级联的逆变换。
在一些实例中,运动补偿单元162可通过基于内插滤波器执行内插来细化PU的经预测视频块。用于将用于以子样本精确度进行运动补偿的内插滤波器的识别符可包含在语法元素中。运动补偿单元162可使用由视频编码器20在产生PU的经预测视频块期间使用的相同内插滤波器来计算参考块的子整数样本的内插值。运动补偿单元162可根据接收到的语法信息来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生经预测视频块。
如下文参考图5和6进一步论述,预测处理单元152可通过执行图5和6中说明的方法译码(例如编码或解码)PU(或任何其它参考层和/或增强层块或视频单元)。举例来说,运动补偿单元162、帧内预测单元164或层间预测单元166可经配置以一起或单独地执行图5和6中说明的方法。
如果使用帧内预测来编码PU,那么帧内预测单元164可执行帧内预测以产生用于PU的经预测视频块。举例来说,帧内预测单元164可基于位流中的语法元素来确定用于PU的帧内预测模式。位流可包含帧内预测单元164可用以确定PU的帧内预测模式的语法元素。
在一些情况下,语法元素可指示帧内预测单元164将使用另一PU的帧内预测模式来确定当前PU的帧内预测模式。举例来说,可能有可能当前PU的帧内预测模式与相邻PU的帧内预测模式相同。换句话说,相邻PU的帧内预测模式可为对当前PU来说最可能的模式。因此,在此实例中,位流可包含小语法元素,所述小语法元素指示PU的帧内预测模式与相邻PU的帧内预测模式相同。帧内预测单元164可随后使用帧内预测模式基于在空间上相邻的PU的视频块而产生用于PU的预测数据(例如,经预测样本)。
如上文所论述,视频解码器30还可包含层间预测单元166。层间预测单元166经配置以使用SVC中可用的一或多个不同层(例如,基础或参考层)来预测当前块(例如,EL中的当前块)。此预测可称作层间预测。层间预测单元166利用预测方法来减少层间冗余,进而改进译码效率且降低计算资源要求。层间预测的一些实例可包含层间帧内预测、层间运动预测和层间残差预测。层间帧内预测使用基础层中位于同一位置的块的重构来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残差预测使用基础层的残差来预测增强层的残差。下文更详细地论述层间预测方案中的每一者。
重构单元158可使用与CU的TU相关联的残差视频块和CU的PU的经预测视频块(即,帧内预测数据或帧间预测数据,如果适用)来重构CU的视频块。因此,视频解码器30可基于位流中的语法元素而产生经预测视频块和残差视频块,且可基于经预测视频块和残差视频块而产生视频块。
在重构单元158重构CU的视频块之后,滤波器单元159可执行去块操作以减少与CU相关联的成块假象。在滤波器单元159执行去块操作以减少与CU相关联的成块假象之后,视频解码器30可将所述CU的视频块存储在经解码图片缓冲器160中。经解码图片缓冲器160可提供参考图片以用于后续运动补偿、帧内预测以及在例如图1A或1B的显示装置32的显示装置上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器160中的视频块,对其它CU的PU执行帧内预测或帧间预测操作。
多层解码器
图3B是说明可实施根据本发明中描述的方面的技术的多层视频解码器33(也被简称为视频解码器33)的实例的框图。视频解码器33可经配置以处理多层视频帧(例如,用于SHVC和多视图译码)。此外,视频解码器33可经配置以执行本发明的技术中的任一者或全部。
视频解码器33包含视频解码器30A和视频解码器30B,其中的每一者可被配置成视频解码器30,且可执行上文相对于视频解码器30所描述的功能。此外,如参考数字的再用所指示,视频解码器30A和30B可包含系统和子系统中的至少一些作为视频解码器30。尽管将视频解码器33说明为包含两个视频解码器30A和30B,但视频解码器33不被如此限制,并且可包含任何数目的视频解码器30层。在一些实施例中,视频解码器33可包含用于存取单元中的每一图片或帧的视频解码器30。举例来说,可由包含五个解码器层的视频解码器处理或解码包含五个图片的存取单元。在一些实施例中,视频解码器33可包含比存取单元中的帧多的解码器层。在一些此类情况下,当处理一些存取单元时,一些视频解码器层可能不在作用。
除了视频解码器30A和30B之外,视频解码器33可包括上取样单元92。在一些实施例中,上取样单元92可对所接收的视频帧的基础层进行上取样,以创建将添加到用于所述帧或存取单元的参考图片列表的经增强层。此经增强层可存储在经解码图片缓冲器160中。在一些实施例中,上取样单元92可包括关于图2A的再取样单元90而描述的实施例中的一些或全部。在一些实施例中,上取样单元92经配置以对层进行上取样,且重新组织、重新定义、修改或调整一或多个切片以符合一组切片边界规则和/或光栅扫描规则。在一些情况下,上取样单元92可为经配置以对所接收的视频帧的层进行上取样和/或下取样的再取样单元。
上取样单元92可经配置以从较低层解码器(例如,视频解码器30A)的经解码图片缓冲器160接收图片或帧(或与图片相关联的图片信息),并对所述图片(或所接收的图片信息)进行上取样。随后可将此经上取样图片提供到较高层解码器(例如,视频解码器30B)的预测处理单元152,所述较高层解码器经配置以解码与较低层解码器相同的存取单元中的图片。在一些情况下,较高层解码器是从较低层解码器去除的一个层。在其它情况下,在图3B的层0解码器与层1解码器之间可存在一或多个较高层解码器。
在一些情况下,可省略或旁路上取样单元92。在此些情况下,可直接或在至少不提供到上取样单元92的情况下将来自视频解码器30A的经解码图片缓冲器160的图片提供到视频解码器30B的预测处理单元152。举例来说,如果提供到视频解码器30B的视频数据以及来自视频解码器30A的经解码图片缓冲器160的参考图片具有相同的大小或分辨率,那么可将参考图片提供到视频解码器30B而不进行上取样。另外,在一些实施例中,上取样单元92可为经配置以对从视频解码器30A的经解码图片缓冲器160接收的参考图片进行上取样或下取样的再取样单元90。
如图3B中所说明,视频解码器33可进一步包含多路分用器99或demux。demux 99可将经编码视频位流分裂成多个位流,其中由demux 99输出的每一位流被提供到不同的视频解码器30A和30B。可通过接收位流来产生多个位流,且视频解码器30A和30B中的每一者在给定时间接收所述位流的一部分。尽管在一些情况下,可在视频解码器(例如,图3B的实例中的视频解码器30A和30B)中的每一者之间一次一个位地交替来自在demux 99处接收的位流的位,但在许多情况下,不同地划分所述位流。举例来说,可通过一次一个块地交替哪一视频解码器接收位流来划分所述位流。在另一实例中,可通过块与视频解码器30A和30B中的每一者的非1:1比率来划分位流。举例来说,可针对提供到视频解码器30A的每一块将两个块提供到视频解码器30B。在一些实施例中,可预编程demux 99对位流的划分。在其它实施例中,demux 99可基于从视频解码器33外部的系统(例如从包含目的地模块的目的地装置14上的处理器)接收的控制信号来划分位流。可基于来自输入接口28的视频的分辨率或位速率、基于链路16的带宽、基于与用户相关联的预订(例如,付费预订与免费预订),或基于用于确定视频解码器33可获得的分辨率的任何其它因素来产生控制信号。
帧内随机存取点(IRAP)图片
一些视频译码方案可提供贯穿位流的各种随机存取点,使得可从那些随机存取点中的任一者开始解码位流,而无需解码位流中的在那些随机存取点之前的任何图片。在此类视频译码方案中,在此类视频译码方案中,在输出次序中在随机存取点之后的所有图片(例如,包含在与提供随机存取点的图片相同的存取单元中的那些图片)可正确地经解码,而无需使用在随机存取点之前的任何图片。举例来说,即使位流的一部分在发射期间或在解码期间丢失,解码器也可从下一随机存取点开始恢复解码位流。对随机存取的支持可促进(例如)动态流服务、搜寻操作、信道切换等。
在一些译码方案中,被称作IRAP图片的图片可提供此类随机存取点。举例来说,存取单元(“auA”)中含有的增强层(“层A”)中的随机存取点(例如,由增强层IRAP图片提供)可提供层特定的随机存取,使得对于层A(例如,作为用以预测层A的层的参考层)的具有在层B中含有且按解码次序在auA之前的存取单元(“auB”)中的随机存取点(或auA中含有的随机存取点)的每一参考层(“层B”),层A中按输出次序在auB之后的图片(包括位于auB中的那些图片)可正确解码而无需解码层A中在auB之前的任何图片。
可使用帧内预测来译码IRAP图片(例如,无需参考其它图片而译码),且可包含(例如)瞬时解码刷新(IDR)图片、清洁随机存取(CRA)图片和断链存取(BLA)图片。当位流中存在IDR图片时,按解码次序在IDR图片之前的所有图片不由按解码次序在IDR图片之后的图片用于预测。当位流中存在CRA图片时,在CRA图片之后的图片可或可不将按解码次序在CRA图片之前的图片用于预测。按解码次序在CRA图片之后但使用按解码次序在CRA图片之前的图片的那些图片可被称作随机存取跳过前导(RASL)图片。按解码次序在IRAP图片之后且按输出次序在IRAP图片之前的另一类型的图片为随机存取可解码前导(RADL)图片,其可不含有对按解码次序在IRAP图片之前的任何图片的参考。如果在CRA图片之前的图片不可用,那么解码器可丢弃RASL图片。BLA图片向解码器指示在BLA图片之前的图片可能不可用于解码器(例如,因为两个位流被拼接在一起,且BLA图片在解码次序中是第二位流的第一图片)。含有作为IRAP图片的基础层图片(例如,层ID值为0的图片)的存取单元(例如,由跨越多个层的与相同输出时间相关联的所有经译码图片组成的图片群组)可被称为IRAP存取单元。
IRAP图片的跨层对准
在SVC中,可不要求IRAP图片跨越不同层而对准(例如包含于同一存取单元中)。举例来说,如果要求IRAP图片对准,那么含有至少一个IRAP图片的任一存取单元将仅含有IRAP图片。另一方面,如果不需要对准IRAP图片,那么在单个存取单元中,一个图片(例如,在第一层中)可为IRAP图片,且另一图片(例如,在第二层中)可为非IRAP图片。在位流中具有此些非对准IRAP图片可提供一些优点。举例来说,在两层位流中,如果在基础层中存在比在增强层中多的IRAP图片,那么在广播和多播应用中,可实现低调入延迟和高译码效率。
在一些视频译码方案中,可使用图片次序计数(POC)来跟踪显示经解码图片的相对次序。每当在位流中出现某些类型的图片时,此些译码方案中的一些可致使POC值复位(例如,设定成零或设定成在位流中发信号通知的某一值)。举例来说,可使某些IRAP图片的POC值复位,从而使按解码次序在那些IRAP图片之前的其它图片的POC值也复位。这在不要求IRAP图片跨越不同层而对准时,可能成问题。举例来说,当一个图片(“picA”)是IRAP图片,且同一存取单元中的另一图片(“picB”)不是IRAP图片时,含有picA的层中的由于picA为IRAP图片而复位的图片(“picC”)的POC值可不同于含有picB的层中的未复位的图片(“picD”)的POC值,其中picC和picD在同一存取单元中。这致使picC和picD具有不同的POC值,即使其属于同一存取单元(例如,同一输出时间)。因此,在此实例中,可修改用于导出picC和picD的POC值的导出过程,以产生符合POC值和存取单元的定义的POC值。
层初始化图片(LIP)
在一些译码方案中,层初始化图片(“LIP图片”)可被定义为具有被设定成1的NoRaslOutputFlag旗标(例如,在被设定成1的情况下,指示将不输出RASL图片,且在被设定成0的情况下,指示将输出RASL图片的旗标)的IRAP图片或初始IRAP存取单元中所含有的图片,所述初始IRAP存取单元是其中基础层图片(例如,具有为0的层ID或在位流中定义的最小层ID的图片)具有设定成1的NoRaslOutputFlag的IRAP存取单元。
在一些实施例中,可在每一LIP图片处激活SPS。举例来说,具有设定成1的NoRaslOutputFlag旗标的每一IRAP图片或包含于初始IRAP存取单元中的每一图片,可不同(例如,指定不同图片分辨率等)于先前激活的SPS的新SPS。然而,在LIP图片不是IRAP图片(例如,初始IRAP存取单元中所含有的任何图片)且初始IRAP存取单元中的基础层图片是旗标NoClrasOutputFlag旗标(例如,在被设定成1的情况下指示将不输出跨层随机存取跳过图片,且在被设定成0的情况下指示将输出跨层随机存取跳过图片的旗标)被设定成0的IDR图片的情况下,不应允许LIP图片激活新的SPS。如果在此情况下在此LIP图片处激活新SPS,明确地说,当新SPS的SPS RBSP的内容不同于在初始IRAP存取单元之前先前有效的SPS的内容时,在不同图片分辨率和错误恢复中可存在问题。举例来说,新的SPS可更新分辨率,且使用时间预测来提及不同大小的图片。
图片的碰撞和冲洗
将经解码(例如,使得其可显示或用于预测其它图片)的图片存储在经解码图片缓冲器(DPB)中。待输出的图片可被标记为“需要用于输出”,且待用于预测其它图片的图片可被标记为“用于参考”。既不被标记为“需要用于输出”也不被标记为“用于参考”的经解码图片(例如,初始地被标记为“用于参考”或“需要用于输出”但随后被标记为“不用于参考”或“不需要用于输出”的图片)可存在于DPB中,直到其通过解码过程被去除为止。在输出次序一致的解码器中,从DPB去除图片的过程常常紧跟在被标记为“需要用于输出”的图片的输出之后。输出和后续去除的此过程可被称为“碰撞”。
还存在其中解码器可去除DPB中的图片而无需输出的情形,即使这些图片可标记为“需要用于输出”。为便于本文的描述,在解码IRAP图片时存在于DPB中的经解码图片(无论经解码图片是否被标记为“需要用于输出”或“用于参考”)称为与IRAP图片相关联的“滞后DPB图片”或IRAP图片的“相关联滞后DPB图片”。下文描述在HEVC上下文中的此类情形的一些实例。
在一个实例中,当具有等于值“1”的NoRaslOutputFlag的CRA图片存在于位流中间(例如,不是位流中的第一图片)时,与CRA图片相关联的滞后DPB图片将不输出,且将从DPB去除。此类情形可能在拼接点处发生,其中两个位流接合在一起,且后一个位流的第一图片是具有等于值“1”的NoRaslOutputFlag的CRA图片。在另一实例中,当具有等于值“1”的NoRaslOutputFlag且不是CRA图片(例如IDR图片)的IRAP图片picA存在于位流的中间,且所述图片的分辨率在picA处变化(例如通过新SPS的激活)时,可在picA的相关联滞后DPB图片可输出之前,将其从DPB去除,因为如果所述相关联滞后DPB图片继续占用DPB,那么从picA开始的图片的解码可变为成问题的,例如归因于缓冲器溢出。在此情况下,与picA相关联的no_output_of_prior_pics_flag(例如,在设定成1的情况下指示先前经解码且存储在DPB中的图片应从DPB去除而无需输出,且在设定成0的情况下指示先前经解码且存储在DPB中的图片不应从DPB去除而无需输出的旗标)的值应由编码器或拼接器设定成等于值“1”,或NoOutputOfPriorPicsFlag(例如,可基于包含在位流中的信息而确定的导出值)可由解码器导出为等于值“1”,以冲洗滞后图片而无需输出到DPB外。下文相对于图4进一步描述拼接操作。
从DPB去除相关联滞后DPB图片而无需输出的此过程可被称为“冲洗”。甚至在上文未描述的情形中,IRAP图片也可指定no_output_of_prior_pics_flag的值等于值“1”,使得解码器将冲洗IRAP图片的相关联DPB滞后图片。
包含拼接点的位流
参看图4,将描述具有拼接点的实例位流。图4示出通过拼接位流410和420产生的多层位流400。位流410包含增强层(EL)410A和基础层(BL)410B,且位流420包含EL 420A和BL 420B。EL 410A包含EL图片412A,且BL 410B包含BL图片412B。EL 420A包含EL图片422A、424A和426A,且BL 420B包含BL图片422B、424B和426B。多层位流400进一步包含存取单元(AU)430到460。AU 430包含EL图片412A和BL图片412B,AU 440包含EL图片422A和BL图片422B,AU 450包含EL图片424A和BL图片424B,且AU 460包含EL图片426A和BL图片426B。在图4的实例中,BL图片422B为IRAP图片,且AU 440中的对应EL图片422A为尾部图片(trailingpicture)(例如,非IRAP图片),且因此,AU 440是非对准IRAP AU。并且,应注意AU 440是紧跟在拼接点470之后的存取单元。
尽管图4的实例说明两个不同位流接合在一起的情况,但在一些实施例中,当位流的一部分被去除时,拼接点可存在。举例来说,位流可具有部分A、B和C,部分B在部分A与C之间。如果将部分B从位流去除,那么剩余部分A和C可接合在一起,且它们接合在一起的点可被称为拼接点。更一般化地,如本申请案中所论述的拼接点可被认为在一或多个发信号通知或导出的参数或旗标具有预定值时存在。举例来说,在未接收到在特定位置存在拼接点的特定指示的情况下,解码器可确定旗标(例如,NoClrasOutputFlag)的值,且基于旗标的值而执行本申请案中所描述的一或多种技术。
多层上下文中的图片的冲洗
冲洗图片的过程在多层位流中也是相关的。更具体来说,其与属于初始IRAP存取单元的所有图片相关,并且还与不在初始IRAP存取单元中的IRAP图片相关。如上文所描述,在例如SHVC和MV-HEVC等一些现有实施方案中,IRAP存取单元可被定义为含有具有等于值“0”的nuh_layer_id的IRAP图片的存取单元(无论存取单元中的其它图片是否为IRAP图片),且初始IRAP存取单元可被定义为含有具有等于值“0”的nuh_layer_id且具有等于值“1”的NoRaslOutputFlag的IRAP图片的存取单元(同样无论存取单元中的其它图片是否为IRAP图片)。
关于SHVC和MV-HEVC中的存取单元(例如,存取单元可含有IRAP图片和非IRAP图片两者)中具有非对准IRAP图片的可能性,在HEVC的上下文中的先前章节中所描述的情形可在SHVC/MV-HEVC位流的不同层中发生。举例来说,具有等于值“1”的NoRaslOutputFlag的CRA图片picA可存在于位流中间(例如,不在位流的第一存取单元中)的增强层处,其以不具有与picA在同一层中的CRA图片的初始IRAP存取单元开始。另外,图片的分辨率改变可发生在基础层的分辨率不改变的存取单元处的增强层中的IRAP图片处,或反之亦然。类似情形可针对不同DPB大小出现。
SVC和MVC中的图片的冲洗
归因于SVC的单循环译码设计,每存取单元仅一个经重构图片插入在DPB中,在所谓的中等粒度可缩放性(MGS)在使用中时的情况除外(在此情况下,可存在来自被存储在DPB中的所谓的关键图片存取单元的两个经解码图片)。然而,在每一存取单元中,可仅输出最高层的经解码图片。因此,包含图片的冲洗的用于管理DPB的操作仅关注最高层中的图片,主要因为不要求基础层的经解码图片存在于DPB中以便预测增强层。
在MVC中,多于一个视图可为目标输出视图,且需要维持经解码视图分量以预测另一层中的视图分量,即使不需要其来预测同一层中的视图分量。因此,来自多于一个视图的视图分量可存在于DPB中。针对每一IDR视图分量发信号通知旗标no_output_of_prior_pics_flag(例如,非基础视图的IDR视图分量是以等于值“0”的non_idr_flag发信号通知),且视图分量的冲洗是层特定的(或视图特定的)。在MVC中,为简单起见,MVC中的存取单元中的IDR视图分量是对准的。举例来说,如果存取单元中的一个视图分量是IDR视图分量,那么所述存取单元中的所有视图分量也是IDR视图分量。因此,也跨越位流中的所有视图执行冲洗操作,即使所述操作可能是视图/层特定的。
SHVC和MV-HEVC中的图片的冲洗
当在SHVC和MV-HEVC中的当前设计下发生冲洗时,去除而不输出(例如,显示)DPB中的所有图片。位流中的仅一个层的图片(当仅基础层存在于位流中时的不重要的情况中除外)被冲洗是不可能的,因此冲洗不是层特定的。
输出定时符合性
在一些实施方案(例如,SHVC、MV-HEVC等)中,例如SHVC工作草案(WD)5和MV-HEVC工作草案7,如下文所描述而执行输出和从DPB去除图片以用于输出时序符合性。
表1-SHVC WD 5和MV-HEVC WD 7中的输出时序符合性
输出次序符合性
在一些实施方案(例如SHVC、MV-HEVC等)中,如下所述执行从DPB输出和去除图片以实现输出次序符合性。在下文的实例中,当被调用时,图片的去除是层特定的。
表2-SHVC WD 5和MV-HEVC WD 7中的输出次序符合性
输出时序符合性与输出次序符合性的比较
如上文所描述,输出时序符合性和输出次序符合性不可导致相同的冲洗行为。举例来说,对于输出时序符合性解码器,针对层中不是位流中的层的第一图片且具有等于值“1”的NoRaslOutputFlag的每一图片调用冲洗。当调用冲洗时,DPB中的所述层的所有经解码图片被冲洗。另一方面,对于输出次序符合性解码器,仅针对基础层中并非位流中的第一图片且具有等于值“1”的NoRaslOutputFlag的每一图片调用冲洗。当调用冲洗时,DPB中的所有层的所有经解码图片被冲洗。
在具有两个层的位流中,当EL中作为IRAP图片且不属于IRAP AU的LIP图片激活不同分辨率,且BL的分辨率由于所述BL图片在非IRAP AU中(例如,不是IRAP图片)而在此AU处无法改变时,可能需要图片的层特定的冲洗。此处,将仅冲洗来自EL的图片,而不是来自BL的图片。此特征不可用于输出次序符合性。
在具有两个层的位流中,在存取单元包含作为IDR图片的BL图片和作为非IRAP图片的EL图片的情况中,可在存取单元处更新BL图片的分辨率,而EL图片的分辨率不更新。在此情况下,应仅对来自BL的图片执行冲洗,且不应冲洗EL图片。此特征不可用于输出次序符合性。
发信号通知指示先前图片的输出的旗标
在一些实施例中,基于no_output_of_prior_pics_flag和其它条件而导出变量NoOutputOfPriorPicsFlag(例如,由解码器导出以确定在解码IRAP图片时在冲洗DPB之前是否输出DPB中的图片的值)。举例来说,no_output_of_prior_pics_flag可为在位流中发信号通知的值,而NoOutputOfPriorPicsFlag可为由编码器基于包含在位流中的信息导出的值。解码器可基于no_output_of_prior_pics_flag的值和其它条件而导出NoOutputOfPriorPicsFlag的值,且随后使用NoOutputOfPriorPicsFlag的所导出值来确定是否输出图片。在一些实施例中,旗标NoOutputOfPriorPicsFlag可指示当前存取单元是否包括两个不同位流被拼结在一起的拼接点。
在一些实施例中,NoClRasOutputFlag和NoRaslOutputFlag可为基于包含在位流中的信息而导出的变量。举例来说,NoRaslOutputFlag可针对(例如,BL和/或EL中的)每个IRAP图片导出,且NoClRasOutputFlag可仅针对最低层图片(例如,BL图片)导出。NoClRasOutputFlag和NoRaslOutputFlag中的每一者的值可指示位流中的一些图片归因于某些参考图片的不可用性而可能无法正确解码。参考图片的此不可用性可在随机存取点处发生。交叉层随机存取跳过(CL-RAS)图片以某些方式为RASL图片的多层等效物。如果解码器在随机存取点(例如,具有BL IRAP图片的存取单元)处开始解码位流,且存取单元中的EL图片不是IRAP图片,那么所述EL图片是CL-RAS图片。EL中的所有图片可为CL-RAS图片(例如,可解码但无法正确解码),直到IRAP图片在EL中出现为止。当在位流中提供此EL IRAP图片时,EL可被称为已经被初始化。
举例来说,在图4的实例中,EL图片422A可为并非IRAP图片的LIP图片,且BL图片422B可为具有与其相关联的旗标NoClRasOutputFlag的IRAP图片。在此实例中,可基于与BL图片422B相关联的NoClRasOutputFlag的值来推断与EL图片422A相关联的NoOutputOfPriorPicsFlag的值。举例来说,如果NoClRasOutputFlag等于值“1”,那么EL图片422A的NoOutputOfPriorPicsFlag也可被设定成值“1”,从而致使DPB中的图片在其从DPB去除之前将不被输出。另一方面,如果NoClRasOutputFlag等于值“0”,那么EL图片422A的NoOutputOfPriorPicsFlag也可被设定成值“0”,从而致使DPB中的图片在输出之后将从DPB去除。
用于多层位流的SPS时间ID嵌套信息和序列结尾(EOS)NAL单元信息的导出
在多层位流中,层可包含一或多个时间子层。每一时间子层可具有与之相关联的被称作时间ID的识别符(ID)。举例来说,如果多层位流中的基础层具有两个时间子层,那么第一时间子层的时间ID是0,且第二时间子层的时间ID是1。一般来说,具有比当前图片高的时间ID的图片不用作当前图片的参考图片。当存在具有比特定图片低的时间ID且在解码次序中在所述特定图片之后但在解码次序中在当前图片之前的另一图片时,旗标sps_temporal_id_nesting_flag可进一步指示具有等于或低于当前图片的所述时间ID的时间ID的特定图片是否可用作参考图片。举例来说,当启用sps_temporal_id_nesting_flag(例如设定成等于1)时,如果图片A具有低于或等于当前图片的时间ID,但图片B具有比图片A低的时间ID,且在解码次序中在图片A与当前图片之间(例如在图片A与当前图片的POC值之间的POC值),接着图片A无法用作当前图片的参考图片。另一方面,当不启用sps_temporal_id_nesting_flag(例如设定成等于0)时,如果图片A具有低于或等于当前图片的时间ID,但图片B具有比图片A低的时间ID,且在解码次序中在图片A与当前图片之间(例如在图片A与当前图片的POC值之间的POC值),图片A可用作当前图片的参考图片。
当位流中不存在所述语法元素时,SHVC和MV-HEVC的早期版本(例如SHVC的工作草案5和MV-HEVC的工作草案7)造成sps_temporal_id_nesting_flag的导出过程中的冲突。在某些条件下,无法确定所述旗标的值是0还是1。为了解决这些和其它挑战,根据某些方面的技术可定义在此类条件下如何导出sps_temporal_id_nesting_flag的值(例如,设定导出过程中的优先权),以便消除所述冲突。
另外,在HEVC中,一个AU含有来自仅一个层的图片,且通常,图片和AU的概念可互换使用。相比之下,在SHVC和MV-HEVC中,一个AU可含有来自多于一个层的图片,其可使得变量或旗标应与特定层(例如基础层)相关联还是应适用于整个AU变得不确定。此类变量的一个实例是HandleCraAsBlaFlag。变量HandleCraAsBlaFlag可指示是否将CRA图片处置为BLA图片。举例来说,当在CRA处随机存取或拼接位流时,CRA将转换为BLA,例如为了去除在CRA之后的任何RASL图片。可例如经由外部装置来引入变量,以促进将CRA视为BLA的过程。解码器或拼接器可基于所述变量的值容易地将CRA处理为BLA,而不是实际上将CRA转换为BLA,其可需要改变CRA的切片标头。SHVC和MV-HEVC的早期版本使得HandleCraAsBlaFlag与仅基础层还是AU相关联变得不清楚。为了解决这些和其它挑战,根据某些方面的技术还可定义HandleCraAsBlaFlag应与仅基础层还是AU相关联。
此外,如上文相对于HandleCraAsBlaFlag所阐释,因为在SHVC和MV-HEVC中,一个AU可具有来自多于一个层的图片,所以EOS NAL单元应与特定层(例如基础层)相关联还是应适用于整个AU可能是不确定的。EOS NAL单元可指示经译码视频序列(CVS)的结尾,且通常后接IRAP图片,例如IDR图片、BLA图片或CRA图片。SHVC和MV-HEVC的早期版本并不使得EOS NAL单元与仅基础层还是AU相关联变得清楚。为了解决这些和其它挑战,根据某些方面的技术可定义EOS NAL单元应与仅基础层还是AU相关联。
下文进一步阐述与多层位流的SPS时间ID嵌套信息和EOS NAL单元信息的导出以及HandleCraAsBlaFlag的导出有关的某些细节。贯穿本发明所使用的各种术语是具有它们的一般含义的广义术语。另外,在一些实施例中,某些术语涉及以下视频概念。外部装置可指代不是编码器或解码器的一部分但例如通过应用软件编程接口(API)与所述编码器或所述解码器交互的任何设备或实体。在某些实施例中,外部装置也可被称作外部设备。
用于多层位流的SPS时间ID嵌套信息的导出
在SHVC和MV-HEVC的早期版本中,可如下指定sps_temporal_id_nesting_flag的语义:
表3-SHVC WD 5和MV-HEVC WD 7中的sps_tempral_id_nesting_flag
在SHVC和MV-HEVC的早期版本中,当sps_temporal_id_nesting_flag等于1时,以下可适用:
·假设tIdA为当前图片picA的TemporalId的值。
·当存在具有小于tIdB(小于或等于tIdA)的TemporalId、按解码次序在picB之后且按解码次序在picA之前的图片picC时,具有等于tIdB的TemporalId的任何图片picB将不包含在picA的RefPicSetStCurrBefore、RefPicSetStCurrAfter或RefPicSetLtCurr中。
当不存在或指示所述语法元素时,可存在具有sps_temporal_id_nesting_flag的推断的问题。所述条件和/或限制中的一些可如下:1)当不存在时,推断sps_temporal_id_nesting旗标等于vps_temporal_id_nesting_flag;以及2)当sps_max_sub_layers_minus1等于0时,sps_temporal_id_nesting旗标等于1。
当不存在sps_temporal_id_nesting_flag且vps_temporal_id_nesting_flag和sps_max_sub_layers_minus1的值两者等于0时,可发生冲突。在此些情况下,不同时满足上述两个条件,且可能不清楚应推断sps_temporal_id_nesting_flag的值等于0还是1。
实例实施例1
为了解决所述冲突,可如下修改sps_temporal_id_nesting_flag的语义。在SHVC和MV-HEVC的较早版本(例如,SHVC WD 5和MV-HEVC WD 7)的上下文中提供本发明中的实例实施例。用斜体字来指示对SHVC和MV-HEVC的较早版本的补充,且用删除线来指示从SHVC和MV-HEVC的较早版本的删除。
表4-实例实施例1
根据一些实施例,推断sps_temporal_id_nesting_flag时所使用的语法元素和变量可指以下各项:
·所述语法元素或变量vps_temporal_id_nesting旗标可类似于sps_temporal_id_nesting_flag,且与VPS相关联。
-举例来说,当存在具有比特定图片低的时间ID且在解码次序中在所述特定图片之后但在解码次序中在当前图片之前的另一图片时,vps_temporal_id_nesting_flag可在VPS层级指示具有等于或低于当前图片的所述时间ID的时间ID的特定图片是否可用作参考图片。
-vps_temporal_id_nesting_flag可具有比sps_temporal_id_nesting_flag小的优先权。如果针对特定层存在vps_temporal_id_nesting_flag和sps_temporal_id_nesting_flag两者,那么使用所述层的sps_temporal_id_nesting_flag的值,而不是vps_temporal_id_nesting_flag的值。
·所述语法元素或变量sps_max_sub_layers_minus1是指特定层中的时间子层的最大数目减1。
-举例来说,如果层中仅存在一个时间子层,那么所述层中的时间子层的最大数目是1,且因此sps_max_sub_layers_minus1的值是0。在另一实例中,如果层中存在两个时间子层,那么所述层中的时间子层的最大数目是2,且因此sps_max_sub_layers_minus1的值是1。
在此实施例中,当位流中不存在语法元素sps_temporal_id_nesting_flag时,可通过检查sps_max_sub_layers_minus1的值来推断sps_temporal_id_nesting_flag的值。如果sps_max_sub_layers_minus1大于0,那么将sps_temporal_id_nesting_flag的值设定成等于vps_temporal_id_nesting_flag的值。如果sps_max_sub_layers_minus1小于或等于0,那么将sps_temporal_id_nesting_flag的值设定成等于1。实例实施例1设定上文的条件和/或限制1)和2)应首先应用的优先权。当sps_max_sub_layers_minus1大于0时,实例实施例1可首先定义如何推断sps_temporal_id_nesting_flag的值,因为在此情况下,层具有多于一个时间子层。当sps_max_sub_layers_minus1小于或等于0时,层具有多于一个时间子层,因此sps_temporal_id_nesting_flag的值可能不是那么重要。
以此方式,所述技术可消除当位流中不存在sps_temporal_id_nesting_flag且vps_temporal_id_nesting_flag和sps_max_sub_layers_minus1两者的值均等于0时,sps_temporal_id_nesting_flag的导出中发生的冲突。
用于多层位流的SPS时间ID嵌套信息的导出方法
图5是说明根据本发明的一个实施例的对视频信息进行译码的方法的流程图。所述方法涉及为多层位流导出SPS时间ID嵌套信息。取决于实施例,过程500可由编码器(例如,如图2A、2B等中所示的编码器等)、解码器(例如,如图3A、3B等中所示的解码器)或任何其它组件执行。关于图3B中的解码器33描述过程500的框,但可通过如上文所提到的其它组件(例如,编码器)来执行过程500。取决于实施例,解码器33的层1视频解码器30B和/或解码器33的层0解码器30A可执行过程500。另外,关于图5所描述的所有实施例可单独地或彼此组合地实施。上文(例如)关于图4阐述与过程500有关的某些细节。
过程500在框501处开始。解码器33可包含用于存储与多个层相关联的视频信息的存储器。
在框502处,解码器33确定位流中是否存在第一语法元素。第一语法元素可与SPS和指示涉及所述SPS的图片的参考图片的时间ID是否可嵌套的第一旗标相关联。在一个实施例中,第一旗标指示涉及SPS的当前AU中的当前图片是否可使用第一图片作为参考图片,其中当第二图片具有低于第一图片的时间ID的时间ID且在解码次序中在第一图片之后但在当前图片之前时,第一图片具有低于或等于当前图片的时间ID的时间ID,且在解码次序中在当前图片之前。在一些实施例中,所述第一旗标包含sps_temporal_id_nesting_flag。当第一旗标的值设定成等于1时,第一图片不可用作参考图片。第一语法元素可包含sps_temporal_id_nesting_flag。
在框503处,如果位流中不存在第一语法元素,那么解码器33获得指示所述多个层的特定层中的时间子层的最大数目的第二语法元素。第二语法元素可包含sps_max_sub_layers_minus1。
在框504处,如果位流中不存在第一语法元素,那么解码器33确定是否将第一旗标的值设定为等于第二旗标的值,所述第二旗标至少部分地基于所述第二语法元素的所述值来指示任何图片的参考图片的时间ID是否可嵌套。在一个实施例中,所述第二旗标指示当前AU中的当前图片是否可使用第三图片作为参考图片,其中当第四图片具有低于第三图片的时间ID的时间ID且在解码次序中在第三图片之后但在当前图片之前时,所述第三图片具有低于或等于当前图片的时间ID的时间ID,且在解码次序中在所述当前图片之前。在一些实施例中,所述第二旗标包含vps_temporal_id_nesting_flag。
解码器33可响应于第二语法元素的值大于0而将第一旗标的值设定为等于第二旗标的值,所述第二旗标与位流中的VPS相关联。解码器33可响应于第二语法元素的值小于或等于0,将第一旗标的值设定为等于1。
过程500结束于框505处。可在过程500中添加和/或省略框,取决于实施例,且过程500的框可以不同次序执行,取决于实施例。下文结合图5A描述与过程500有关的某些细节。
本发明中相对于多层位流的SPS时间ID嵌套信息的导出而描述的任何特征和/或实施例可分别实施或以其任何组合来实施。举例来说,结合图1到4描述的任何特征和/或实施例和本发明的其它部分可以与结合图5所描述的任何特征和/或实施例的任何组合来实施,且反之亦然。
图5A是说明根据本发明的一个实施例的对视频信息进行译码的方法的流程图。所述方法涉及为多层位流导出SPS时间ID嵌套信息。过程500A可由编码器(例如如图2A、2B等中示出的编码器)、解码器(例如如图3A、3B等中示出的解码器)或任何其它组件执行,取决于实施例。关于图3B中的解码器33描述过程500A的框,但可通过如上文所提到的其它组件(例如,编码器)来执行过程500A。取决于实施例,解码器33的层1视频解码器30B和/或解码器33的层0解码器30A可执行过程500A。另外,关于图5A而描述的所有实施例可单独地或彼此组合地实施。上文例如相对于图4和5阐释与过程500A有关的某些细节。
过程500A在框501A处开始。解码器33可包含用于存储与多个层相关联的视频信息的存储器。
在框502A处,解码器33确定位流中是否存在与第一旗标相关联的第一语法元素。第一旗标可指示参考图片的时间ID是否可嵌套,且是否可与位流中的SPS相关联。所述第一旗标可指示当前AU中的当前图片是否可使用第一图片作为参考图片,其中当第二图片具有低于第一图片的时间ID的时间ID,且在解码次序中在第一图片之后但在当前图片之前时,第一图片具有低于或等于当前图片的时间ID的时间ID,且在解码次序中在当前图片之前。当第一旗标的值设定成等于1时,第一图片不可用作参考图片。在一个实施例中,第一语法元素是sps_temporal_id_nesting_flag。在一个实施例中,第一旗标是sps_temporal_id_nesting_flag。
在框503A处,如果位流中不存在第一语法元素,那么解码器33获得指示所述多个层的特定层中的时间子层的最大数目的第二语法元素。在一个实施例中,第二语法元素是sps_max_sub_layers_minus1。
在框504A处,如果第二语法元素的值大于0,那么解码器33在框505A处将第一旗标的值设定为等于指示参考图片的时间ID是否可嵌套的第二旗标的值,其中第二旗标与位流中的VPS相关联。第二旗标可指示当前AU中的当前图片是否可使用第三图片作为参考图片,其中当第四图片具有低于第三图片的时间ID的时间ID,且在解码次序中在第三图片之后但在当前图片之前时,第三图片具有低于或等于当前图片的时间ID的时间ID,且在解码次序中在当前图片之前。第三图片和第四图片可分别指代与上文的第一图片第二图片相同的图片。第一和第二旗标可指示当存在具有比特定图片低的时间ID且在解码次序中在特定图片之后但在当前图片之前的另一图片时,具有与当前图片相同或低于当前图片的时间ID的特定图片是否可用作参考图片。在一个实施例中,第二旗标是vps_temporal_id_nesting_flag。
在框504A处,如果第二语法元素的值小于或等于0,那么在框506A处,解码器33将第一旗标的值设定为等于1。
过程500A在框507A处结束。取决于实施例,在过程500A中可添加和/或省略框,且取决于实施例,可以不同次序执行过程500A的框。
本发明中相对于多层位流的SPS时间ID嵌套信息的导出而描述的任何特征和/或实施例可分别实施或以其任何组合来实施。举例来说,结合图1到5描述的任何特征和/或实施例和本发明的其它部分可以与结合图5A描述的任何特征和/或实施例的任何组合来实施,且反之亦然。
多层位流的序列结尾NAL单元信息
在假设SHVC和MV-HEVC可含有一或多个层的图片的情况下,存取单元可含有来自不同层但具有相同POC值的图片。因此,可能不清楚序列结尾NAL单元是适用于某一层还是适用于若干或所有所述层。EOS NAL单元可指示图片序列或存取单元的结束。举例来说,在EOS之后的图片或存取单元属于另一序列。在多层位流(例如SHVC或MV-HEVC)中,由于存取单元可含有多于一个图片,因此不清楚序列结尾NAL单元的范围是否与图片或存取单元相关联。因此,根据某些方面的技术可修改SHVC和MV-HEVC的较早版本,以便澄清EOS NAL单元是适用于特定层还是所述层中的一些或全部。
实例实施例2
在SHVC和MV-HEVC的较早版本(例如,SHVC WD 5和MV-HEVC WD 7)的上下文中提供本发明中的实例实施例。用斜体字来指示用于修改SHVC和MV-HEVC的较早版本的指令,且用删除线来指示从SHVC和MV-HEVC的较早版本的删除。
表5-实例实施例2
在此实施例中,AU中存在应用于所述AU中的所有层的一个EOS NAL单元。举例来说,AU中存在的所述EOS NAL单元具有等于0的层ID。如果EOS NAL单元具有大于0的层ID,那么解码器可忽略所述EOS NAL单元。NAL单元可具有各种类型,且类型EOS_NUT可指示NAL单元含有EOS。根据某些方面,EOS_NUT类型的NAL单元可被称为EOS NAL单元。
实例实施例2澄清EOS NAL单元应用于所有层,且因而消除了处理多层位流中的EOS NAL单元中的模糊性。
实例实施例3
在SHVC和MV-HEVC的较早版本(例如,SHVC WD 5和MV-HEVC WD 7)的上下文中提供本发明中的实例实施例。用斜体字来指示用于修改SHVC和MV-HEVC的较早版本的指令。用斜体字和加下划线来指示对SHVC和MV-HEVC的较早版本的补充,且用删除线来指示从SHVC和MV-HEVC的较早版本的删除。
表6-实例实施例3
在此实施例中,特定层中的EOS NAL单元仅适用于所述层。举例来说,每一层可具有其自身的EOS NAL单元,且AU可包含多于一个EOS NAL单元。在特定层的EOS NAL单元之后的图片应为IRAP图片,其可为IDR图片、BLA图片或CRA图片。当针对特定层存在EOS NAL单元时,所述EOS NAL单元可在具有与特定层相同的ID或比所述特定层低的层ID的视频译码层(VCL)NAL单元之后,且在AU中的位流结尾(EOB)NAL单元(当其存在时)之前。
以此方式,实例实施例3澄清特定层中的EOS NAL单元仅应用于特定层,且因而消除了处理多层位流中的EOS NAL单元中的模糊性。
用于多层位流的EOS NAL单元信息的导出方法
图6是说明根据本发明的一个实施例的对视频信息进行译码的方法的流程图。所述方法涉及用于多层位流的EOS NAL单元信息的导出。过程600可由编码器(例如如图2A、2B等中示出的编码器)、解码器(例如如图3A、3B等中示出的解码器)或任何其它组件来执行,取决于实施例。关于图3B中的解码器33描述过程600的框,但可通过如上文所提到的其它组件(例如,编码器)来执行过程600。取决于实施例,解码器33的层1视频解码器30B和/或解码器33的层0解码器30A可执行过程600。相对于图6所描述的所有实施例可单独地或彼此组合地实施。上文(例如)关于图4和5阐述与过程600有关的某些细节。
过程600在框601处开始。解码器33可包含用于存储与一或多个层相关联的视频信息的存储器。
在框602处,解码器33译码包含多个层的位流中的当前AU,所述多个层包含参考层以及至少一个对应增强层。
在框603处,解码器33译码与当前AU中的参考层相关联的第一EOS NAL单元,所述第一EOS NAL单元具有与所述参考层相同的层ID。在当前AU之后的AU中且具有与第一EOSNAL单元相同的层ID的图片可为选自以下各项中的一者或多者的IRAP图片:IDR图片、BLA图片或CRA图片。在某些实施例中,在当前AU之后的AU中的具有与第一EOS NAL单元相同的层ID的IRAP图片具有等于1的NoRaslOutputFlag的值。在一些实施例中,第一EOS NAL单元在当前AU中具有与所述参考层相同的层ID或比所述参考层低的层ID的一或多个VCL单元之后,且第一EOS NAL单元在当前AU中的任一位流结尾NAL单元之前。
在框604处,解码器33译码与当前AU中的增强层相关联的第二EOS NAL单元,所述第二EOS NAL单元具有与所述增强层相同的层ID。在当前AU之后的AU中且具有与第二EOSNAL单元相同的层ID的图片可为选自以下各项中的一者或多者的IRAP图片:IDR图片、BLA图片或CRA图片。在某些实施例中,在当前AU之后的AU中的具有与第二EOS NAL单元相同的层ID的IRAP图片具有等于1的NoRaslOutputFlag的值。在一些实施例中,第二EOS NAL单元在当前AU中具有与所述增强层相同的层ID或比所述增强层低的层ID的一或多个VCL单元之后,且第二EOS NAL单元在当前AU中的任一位流结尾NAL单元之前。
过程600在框605处结束。取决于实施例,在过程600中可添加和/或省略框,且取决于实施例,可以不同次序执行过程600的框。
本发明中相对于用于多层位流的EOS NAL单元信息的导出而描述的任何特征和/或实施例可分别或以其任何组合来实施。举例来说,结合图1到5描述的任何特征和/或实施例和本发明的其它部分可以与结合图6描述的任何特征和/或实施例的任何组合来实施,且反之亦然。
将CRA处置为用于多层位流的BLA
如果如在SHVC和MV-HEVC中,一个AU含有来自多于一个层的图片,那么与特定层(例如基础层)相关联的变量或旗标(例如变量HandleCraAsBlaFlag)应适用于整个AU还是仅适用于与之相关联的特定层可能是不确定的。使用SHVC/MV-HEVC的现有方法,HandleCraAsBlaFlag可与每一CRA图片相关联。可引入所述变量作为使其中所述系统无法将CRA图片变为BLA图片的随机存取或拼接变得容易的外部手段。在多层上下文中,随机存取和拼接可在基础层(例如IRAP存取单元)处的IRAP图片处进行。因此,基础层中或任何其它层中的CRA图片的HandleCraAsBlaFlag的值应相同。举例来说,当随机存取在具有基础层中的CRA图片的IRAP存取单元处发生,且同一存取单元中的一或多个(或甚至所有)增强层图片也为CRA图片,那么可能需要它们具有相同的HandleCraAsBlaFlag的值,使得解码器将同样地处理或处置它们。因此,可简化变量HandleCraAsBlaFlag来使其与存取单元相关联,而不是与图片相关联。
实例实施例4
在SHVC和MV-HEVC的较早版本(例如,SHVC WD 5和MV-HEVC WD 7)的上下文中提供本发明中的实例实施例。用斜体字来指示对SHVC和MV-HEVC的较早版本的补充,且用删除线来指示从SHVC和MV-HEVC的较早版本的删除。
表7-实例实施例4
在此实施例中,当AU含有一或多个CRA图片时,导出变量HandleCraAsBlaFlag为针对所述AU中的所有CRA图片相同。如果外部装置可提供HandleCraAsBlaFlag的值,那么使用外部装置所提供的所述值来设定HandleCraAsBlaFlag的值。否则,将HandleCraAsBlaFlag设定成等于0。
使HandleCraAsBlaFlag与每一CRA图片关联可潜在地导致针对不同CRA图片具有HandleCraAsBlaFlag的不同值。因此,所述技术可通过确保AU中的所有CRA图片的HandleCraAsBlaFlag的值均相同来简化HandleCraAsBlaFlag的值的推断。
可使用多种不同技术和技法中的任一者来表示本文中所揭示的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。
结合本文揭示的实施例而描述的各种说明性逻辑块、电路和算法步骤可实施为电子硬件、计算机软件,或两者的组合。为了清晰地说明硬件与软件的这种可互换性,上文已大体就其功能性来描述了各种说明性组件、块、模块、电路和步骤。将此功能性实施为硬件还是软件取决于特定应用以及强加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施方案决策不应被解释为会引起脱离本发明的范围。
本文中所描述的技术可在硬件、软件、固件或其任一组合中实施。所述技术可实施于多种装置中的任一者中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机以及其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包含程序代码的计算机可读数据存储媒体来实现,所述程序代码包括在被执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存器、磁性或光学数据存储媒体等等。另外或作为替代,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式运载或传达程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP和微处理器的组合、多个微处理器的组合、结合DSP核心的一或多个微处理器,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者、上述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(CODEC)中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,所述装置或设备包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可以结合合适的软件和/或固件组合在编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已经描述本发明的各种实施例。这些和其它实施例在所附权利要求书的范围内。

Claims (20)

1.一种用于译码视频信息的设备,其包括:
存储器,其用于存储与多个层相关联的视频信息;以及
硬件处理器,其操作性地耦合到所述存储器且经配置以:
确定位流的序列参数集SPS中是否存在第一语法元素,所述第一语法元素指示涉及所述SPS的图片的参考图片的时间识别符ID是否可嵌套;以及
响应于确定所述位流中不存在所述第一语法元素:
获得指示所述多个层的特定层中的时间子层的最大数目的第二语法元素;
确定是否将所述第一语法元素的值限制为等于存在于所述位流的视频参数集VPS中的第三语法元素的值,所述第三语法元素至少部分地基于所述第二语法元素的值来指示任何图片的参考图片的时间ID是否可嵌套;
响应于所述第二语法元素的所述值大于0,将所述第一语法元素的所述值限制为等于所述第三语法元素的所述值;以及
响应于所述第二语法元素的所述值小于或等于0,将所述第一语法元素的所述值限制为等于1。
2.根据权利要求1所述的设备,其中所述第一语法元素进一步指示涉及所述SPS的当前存取单元AU中的当前图片是否可使用第一图片作为参考图片,其中当第二图片具有低于所述第一图片的时间ID的时间ID,且在解码次序中在所述第一图片之后但在所述当前图片之前时,所述第一图片具有低于或等于所述当前图片的时间ID的所述时间ID,且在解码次序中在所述当前图片之前。
3.根据权利要求2所述的设备,其中所述第一语法元素包括sps_temporal_id_nesting_flag。
4.根据权利要求2所述的设备,其中当所述第一语法元素的所述值等于1时,不将所述第一图片用作参考图片。
5.根据权利要求1所述的设备,其中所述第三语法元素进一步指示当前AU中的当前图片是否可使用第三图片作为参考图片,其中当第四图片具有低于所述第三图片的时间ID的时间ID,且在解码次序中在所述第三图片之后但在所述当前图片之前时,所述第三图片具有低于或等于所述当前图片的时间ID的所述时间ID,且在解码次序中在所述当前图片之前。
6.根据权利要求5所述的设备,其中所述第三语法元素包括vps_temporal_id_nesting_flag。
7.根据权利要求1所述的设备,其中所述第一语法元素包括sps_temporal_id_nesting_flag,且所述第二语法元素包括sps_max_sub_layers_minus1。
8.一种译码视频信息的方法,其包括:
存储与多个层相关联的视频信息;
确定位流的序列参数集SPS中是否存在第一语法元素,所述第一语法元素指示涉及所述SPS的图片的参考图片的时间识别符ID是否可嵌套;以及
响应于确定所述位流中不存在所述第一语法元素:
获得指示所述多个层的特定层中的时间子层的最大数目的第二语法元素;
确定是否将所述第一语法元素的值限制为等于存在于所述位流的视频参数集VPS中的第三语法元素的值,所述第三语法元素至少部分地基于所述第二语法元素的值来指示任何图片的参考图片的时间ID是否可嵌套;
响应于所述第二语法元素的所述值大于0,将所述第一语法元素的所述值限制为等于所述第三语法元素的所述值;以及
响应于所述第二语法元素的所述值小于或等于0,将所述第一语法元素的所述值限制为等于1。
9.根据权利要求8所述的方法,其中所述第一语法元素进一步指示涉及所述SPS的当前存取单元AU中的当前图片是否可使用第一图片作为参考图片,其中当第二图片具有低于所述第一图片的时间ID的时间ID,且在解码次序中在所述第一图片之后但在所述当前图片之前时,所述第一图片具有低于或等于所述当前图片的时间ID的所述时间ID,且在解码次序中在所述当前图片之前。
10.根据权利要求9所述的方法,其中所述第一语法元素包括sps_temporal_id_nesting_flag。
11.根据权利要求9所述的方法,其中当所述第一语法元素的所述值等于1时,不将所述第一图片用作参考图片。
12.根据权利要求8所述的方法,其中所述第三语法元素进一步指示当前AU中的当前图片是否可使用第三图片作为参考图片,其中当第四图片具有低于所述第三图片的时间ID的时间ID,且在解码次序中在所述第三图片之后但在所述当前图片之前时,所述第三图片具有低于或等于所述当前图片的时间ID的所述时间ID,且在解码次序中在所述当前图片之前。
13.根据权利要求12所述的方法,其中所述第三语法元素进一步包括vps_temporal_id_nesting_flag。
14.根据权利要求8所述的方法,其中所述第一语法元素包括sps_temporal_id_nesting_flag,且所述第二语法元素包括sps_max_sub_layers_minus1。
15.一种非暂时性计算机可读存储介质,其上存储有指令,所述指令在包括计算机硬件的处理器上执行时致使所述处理器:
存储与多个层相关联的视频信息;
确定位流的序列参数集SPS中是否存在第一语法元素,所述第一语法元素指示涉及所述SPS的图片的参考图片的时间识别符ID是否可嵌套;以及
响应于确定所述位流中不存在所述第一语法元素:
获得指示所述多个层的特定层中的时间子层的最大数目的第二语法元素;
确定是否将所述第一语法元素的值限制为等于存在于所述位流的视频参数集VPS中的第三语法元素的值,所述第三语法元素至少部分地基于所述第二语法元素的值来指示任何图片的参考图片的时间ID是否可嵌套;
响应于所述第二语法元素的所述值大于0,将所述第一语法元素的所述值限制为等于所述第三语法元素的所述值;以及
响应于所述第二语法元素的所述值小于或等于0,将所述第一语法元素的所述值限制为等于1。
16.根据权利要求15所述的计算机可读存储介质,其中所述第一语法元素进一步指示涉及所述SPS的当前存取单元AU中的当前图片是否可使用第一图片作为参考图片,其中当第二图片具有低于所述第一图片的时间ID的时间ID,且在解码次序中在所述第一图片之后但在所述当前图片之前时,所述第一图片具有低于或等于所述当前图片的时间ID的所述时间ID,且在解码次序中在所述当前图片之前。
17.根据权利要求15所述的计算机可读存储介质,其中所述第三语法元素进一步指示当前AU中的当前图片是否可使用第三图片作为参考图片,其中当第四图片具有低于所述第三图片的时间ID的时间ID,且在解码次序中在所述第三图片之后但在所述当前图片之前时,所述第三图片具有低于或等于所述当前图片的时间ID的所述时间ID,且在解码次序中在所述当前图片之前。
18.一种用于译码视频信息的设备,其包括:
用于存储与多个层相关联的视频信息的装置;以及
用于确定位流的序列参数集SPS中是否存在第一语法元素的装置,所述第一语法元素指示涉及所述SPS的图片的参考图片的时间识别符ID是否可嵌套,所述装置经配置以:
响应于确定所述位流中不存在所述第一语法元素:
获得指示所述多个层的特定层中的时间子层的最大数目的第二语法元素;
确定是否将所述第一语法元素的值限制为等于存在于所述位流的视频参数集VPS中的第三语法元素的值,所述第三语法元素至少部分地基于所述第二语法元素的值来指示任何图片的参考图片的时间ID是否可嵌套;
响应于所述第二语法元素的所述值大于0,将所述第一语法元素的所述值限制为等于所述第三语法元素的所述值;以及
响应于所述第二语法元素的所述值小于或等于0,将所述第一语法元素的所述值限制为等于1。
19.根据权利要求18所述的设备,其中所述第一语法元素进一步指示涉及所述SPS的当前存取单元AU中的当前图片是否可使用第一图片作为参考图片,其中当第二图片具有低于所述第一图片的时间ID的时间ID,且在解码次序中在所述第一图片之后但在所述当前图片之前时,所述第一图片具有低于或等于所述当前图片的时间ID的所述时间ID,且在解码次序中在所述当前图片之前。
20.根据权利要求18所述的设备,其中所述第三语法元素进一步指示当前AU中的当前图片是否可使用第三图片作为参考图片,其中当第四图片具有低于所述第三图片的时间ID的时间ID,且在解码次序中在所述第三图片之后但在所述当前图片之前时,所述第三图片具有低于或等于所述当前图片的时间ID的所述时间ID,且在解码次序中在所述当前图片之前。
CN201580013633.9A 2014-03-18 2015-03-16 译码视频信息的设备和方法及计算机可读存储介质 Active CN106105223B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461955158P 2014-03-18 2014-03-18
US61/955,158 2014-03-18
US14/657,617 2015-03-13
US14/657,617 US11388441B2 (en) 2014-03-18 2015-03-13 Derivation of SPS temporal ID nesting information for multi-layer bitstreams
PCT/US2015/020691 WO2015142712A1 (en) 2014-03-18 2015-03-16 Derivation of sps temporal id nesting information for multi-layer bitstreams

Publications (2)

Publication Number Publication Date
CN106105223A CN106105223A (zh) 2016-11-09
CN106105223B true CN106105223B (zh) 2019-03-29

Family

ID=54143328

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580013697.9A Active CN106105224B (zh) 2014-03-18 2015-03-16 一种用于译码视频信息的设备、方法及计算机可读媒体
CN201580013633.9A Active CN106105223B (zh) 2014-03-18 2015-03-16 译码视频信息的设备和方法及计算机可读存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201580013697.9A Active CN106105224B (zh) 2014-03-18 2015-03-16 一种用于译码视频信息的设备、方法及计算机可读媒体

Country Status (9)

Country Link
US (2) US9794595B2 (zh)
EP (2) EP3120551B1 (zh)
JP (2) JP6622211B2 (zh)
KR (2) KR102257870B1 (zh)
CN (2) CN106105224B (zh)
BR (2) BR112016021473B1 (zh)
ES (2) ES2887368T3 (zh)
MX (2) MX360168B (zh)
WO (2) WO2015142725A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794595B2 (en) 2014-03-18 2017-10-17 Qualcomm Incorporated Derivation of end of sequence NAL unit information for multi-layer bitstreams
US20170134742A1 (en) * 2014-06-18 2017-05-11 Sharp Kabushiki Kaisha Slice type and decoder conformance
US10284867B2 (en) * 2014-12-18 2019-05-07 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US11595652B2 (en) 2019-01-28 2023-02-28 Op Solutions, Llc Explicit signaling of extended long term reference picture retention
US10349067B2 (en) * 2016-02-17 2019-07-09 Qualcomm Incorporated Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
GB2553556B (en) * 2016-09-08 2022-06-29 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
WO2019162230A1 (en) * 2018-02-20 2019-08-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture/video coding supporting varying resolution and/or efficiently handling region-wise packing
US10999590B2 (en) * 2018-12-28 2021-05-04 Tencent America LLC Method for identification of random access point and picture types
EP3918801A4 (en) * 2019-01-28 2022-06-15 OP Solutions, LLC ONLINE AND OFFLINE CHOICE OF EXTENDED LONG-TERM REFERENCE IMAGE STORAGE
US11109041B2 (en) * 2019-05-16 2021-08-31 Tencent America LLC Method and apparatus for video coding
US11153583B2 (en) * 2019-06-07 2021-10-19 Qualcomm Incorporated Spatial scalability support in video encoding and decoding
US11356698B2 (en) 2019-12-30 2022-06-07 Tencent America LLC Method for parameter set reference constraints in coded video stream
US11228777B2 (en) * 2019-12-30 2022-01-18 Tencent America LLC Method for layerwise random access in a coded video stream
WO2021188532A1 (en) 2020-03-17 2021-09-23 Bytedance Inc. Decoded picture buffer memory allocation and picture output in scalable video coding
CN115668933A (zh) * 2020-05-22 2023-01-31 字节跳动有限公司 编解码视频中nal单元的排序
CN115836526A (zh) 2020-06-12 2023-03-21 字节跳动有限公司 编解码视频中的序列结束指示

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014008287A1 (en) * 2012-07-02 2014-01-09 Qualcomm Incorporated Video parameter set for hevc and extensions
WO2014008170A1 (en) * 2012-07-02 2014-01-09 Sony Corporation Video coding system with temporal layers and method of operation thereof

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007058470A1 (en) 2005-11-15 2007-05-24 Electronics And Telecommunications Research Institute A method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same
US9516379B2 (en) 2011-03-08 2016-12-06 Qualcomm Incorporated Buffer management in video codecs
AU2013278760B2 (en) 2012-06-22 2016-10-27 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
JP6050488B2 (ja) 2012-07-06 2016-12-21 サムスン エレクトロニクス カンパニー リミテッド ランダムアクセスのためのマルチレイヤビデオ符号化方法及びその装置、並びにランダムアクセスのためのマルチレイヤビデオ復号化方法及びその装置
CN107770546B (zh) * 2012-12-10 2020-04-10 Lg 电子株式会社 解码图像的方法和使用其的装置
US9674533B2 (en) * 2013-04-05 2017-06-06 Qualcomm Incorporated Picture alignments in multi-layer video coding
US9532052B2 (en) * 2013-04-08 2016-12-27 Qualcomm Incorporated Cross-layer POC alignment for multi-layer bitstreams that may include non-aligned IRAP pictures
WO2015056941A1 (ko) 2013-10-14 2015-04-23 한국전자통신연구원 다계층 기반의 영상 부호화/복호화 방법 및 장치
CN110225349B (zh) 2013-10-14 2023-06-02 韩国电子通信研究院 用于支持多层的视频编码/解码方法和计算机可读记录介质
US20150195554A1 (en) * 2014-01-03 2015-07-09 Sharp Laboratories Of America, Inc. Constraints and enhancements for a scalable video coding system
US9794595B2 (en) 2014-03-18 2017-10-17 Qualcomm Incorporated Derivation of end of sequence NAL unit information for multi-layer bitstreams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014008287A1 (en) * 2012-07-02 2014-01-09 Qualcomm Incorporated Video parameter set for hevc and extensions
WO2014008170A1 (en) * 2012-07-02 2014-01-09 Sony Corporation Video coding system with temporal layers and method of operation thereof
WO2014008290A1 (en) * 2012-07-02 2014-01-09 Qualcomm Incorporated Video parameter set for hevc and extensions

Also Published As

Publication number Publication date
EP3120563B1 (en) 2021-08-25
WO2015142725A1 (en) 2015-09-24
JP6622211B2 (ja) 2019-12-18
MX360168B (es) 2018-10-12
CN106105224B (zh) 2019-04-12
JP6542251B2 (ja) 2019-07-10
MX2016011959A (es) 2016-12-05
EP3120551A1 (en) 2017-01-25
ES2889976T3 (es) 2022-01-14
US9794595B2 (en) 2017-10-17
US20150271526A1 (en) 2015-09-24
EP3120551B1 (en) 2021-08-25
CN106105224A (zh) 2016-11-09
BR112016021453A8 (pt) 2021-07-06
BR112016021473B1 (pt) 2024-01-23
US20150271506A1 (en) 2015-09-24
CN106105223A (zh) 2016-11-09
JP2017509254A (ja) 2017-03-30
BR112016021473A8 (pt) 2021-07-06
BR112016021453A2 (pt) 2017-08-15
BR112016021473A2 (pt) 2017-08-15
MX2016011758A (es) 2016-12-12
US11388441B2 (en) 2022-07-12
ES2887368T3 (es) 2021-12-22
KR20160132875A (ko) 2016-11-21
JP2017513352A (ja) 2017-05-25
KR102257861B1 (ko) 2021-05-27
EP3120563A1 (en) 2017-01-25
KR20160132874A (ko) 2016-11-21
MX359458B (es) 2018-09-28
WO2015142712A1 (en) 2015-09-24
KR102257870B1 (ko) 2021-05-27

Similar Documents

Publication Publication Date Title
CN106105223B (zh) 译码视频信息的设备和方法及计算机可读存储介质
CN106233727B (zh) 译码视频信息的方法及设备
CN105900426B (zh) 用于对视频信息进行译码的设备、方法和计算机可读媒体
CN105637882B (zh) 用于视频信息的可缩放译码的装置和方法
CN105637883B (zh) 用于视频信息的可缩放译码的装置和方法
CN106165429B (zh) 多层译码中的一致性窗口信息
CN106464922B (zh) 处理视频数据的方法和设备及计算机可读介质
CN106464902B (zh) 译码视频信息的方法和设备
CN106464910B (zh) 可缩放视频译码中的位流符合性约束
CN106105209B (zh) 多层视频编解码器的级别定义
CN105850130B (zh) 用于译码视频信息的方法和设备及计算机可读存储介质
CN105556967B (zh) 用于视频信息的可缩放译码的装置和方法
CN106105197B (zh) 针对帧内块复制的基于散列的编码器搜索
CN105900429B (zh) 一种译码视频信息的方法、设备、装置及计算机可读媒体
CN105637862B (zh) 用于视频信息的可缩放译码的装置和方法
CN106537917B (zh) 用于译码视频信息的设备、方法及计算机可读介质
CN105850138B (zh) 在多层译码中译码恢复点补充增强信息(sei)消息和区刷新信息sei消息的方法
CN105379278B (zh) 用于视频信息的可缩放译码的装置和方法
CN105379272B (zh) 在vps中用信号通知位速率信息及图片速率信息
CN105052153B (zh) 用于视频信息的可缩放译码的装置和方法
CN105830446B (zh) 用于对多层位流的视频信息进行解码的方法和装置
CN105009589A (zh) 用于视频信息的可缩放译码的装置和方法
CN106105222A (zh) 用于对视频信息进行可缩放译码的装置和方法
CN104685880A (zh) 针对基于高效率视频译码的可缩放译码的运动场升频采样
CN105359528A (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
GR01 Patent grant
GR01 Patent grant