CN105230016B - 用于视频译码的具有解码次序编号的单个网络抽象层单元包 - Google Patents

用于视频译码的具有解码次序编号的单个网络抽象层单元包 Download PDF

Info

Publication number
CN105230016B
CN105230016B CN201480029251.0A CN201480029251A CN105230016B CN 105230016 B CN105230016 B CN 105230016B CN 201480029251 A CN201480029251 A CN 201480029251A CN 105230016 B CN105230016 B CN 105230016B
Authority
CN
China
Prior art keywords
nal unit
rtp
decoding order
encapsulated
video
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
CN201480029251.0A
Other languages
English (en)
Other versions
CN105230016A (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 CN105230016A publication Critical patent/CN105230016A/zh
Application granted granted Critical
Publication of CN105230016B publication Critical patent/CN105230016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4381Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]

Abstract

一种用于处理实时传输协议RTP有效负载中的视频数据的方法包含将视频数据囊封于用于RTP会话的单个网络抽象层NAL单元包中。所述单个NAL单元包含有单个NAL单元。所述方法还可包含基于以下各者中的至少一者将解码次序编号信息囊封于所述单个NAL单元包中:所述RTP会话呈多流发射MST模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。

Description

用于视频译码的具有解码次序编号的单个网络抽象层单元包
本申请案主张2013年5月31日申请的第61/829,950号美国临时专利申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频数据的处理。
背景技术
数字视频能力可并入到多种多样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式传输装置及其类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)所定义的标准、目前正在开发的高效率视频译码(HEVC)标准及这些标准的扩展中所描述的视频压缩技术。视频装置通过实施此类视频压缩技术可更有效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块,视频块也可被称作树块、译码单元(CU)及/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测,或相对于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。
空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据来编码。经帧内译码块是根据帧内译码模式及残余数据而编码。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可对残余变换系数进行量化。可扫描最初布置成二维阵列的经量化变换系数,以便产生变换系数的一维向量,且可应用熵译码以实现更多压缩。
可使用一或多个协议发射及接收视频数据。每一协议可指定各种内容及格式要求用于在使用所述协议时发射及/或接收数据。举例来说,一些协议可将数据流或组分离成信息块以用于经由一或多个网络传输。在一些协议中,此分隔程序可称为包化或成帧。
发明内容
本发明的技术提供用于处理使用例如实时传输协议(RTP)等网络协议发送及接收的视频数据的方法及设备。更具体来说,本文所述的技术提供可配合各种发射参数及模式而使用的单个NAL单元包格式。
在本发明的一个实例中,一种处理实时传输协议(RTP)有效负载中的视频数据的方法包含:将视频数据囊封于用于RTP会话的单个网络抽象层(NAL)单元包中,其中所述单个NAL单元包含有单个NAL单元;以及基于以下各者中的至少一者将解码次序编号信息囊封于所述单个NAL单元包中:所述RTP会话呈多流发射(MST)模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
在本发明的另一实例中,一种处理实时传输协议(RTP)有效负载中的视频数据的方法包含:解封囊封于用于RTP会话的单个网络抽象层(NAL)单元包中的视频数据,其中所述单个NAL单元包含有单个NAL单元;以及基于以下各者中的至少一者解封囊封于所述单个NAL单元包中的解码次序编号信息:所述RTP会话呈多流发射(MST)模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
在本发明的另一实例中,一种经配置以处理实时传输协议(RTP)有效负载中的视频数据的设备包含:存储器,其经配置以存储视频数据;以及处理器,其经配置以:在实时传输协议(RTP)有效负载内将视频数据囊封于用于RTP会话的单个网络抽象层(NAL)单元包中,其中所述单个NAL单元包含有单个NAL单元;以及基于以下各者中的至少一者将解码次序编号信息囊封于所述单个NAL单元包中:所述RTP会话呈多流发射(MST)模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
在本发明的一个实例中,一种处理实时传输协议(RTP)有效负载中的视频数据的设备包含:用于将视频数据囊封于用于RTP会话的单个网络抽象层(NAL)单元包中的装置,其中所述单个NAL单元包含有单个NAL单元;以及用于基于以下各者中的至少一者将解码次序编号信息囊封于所述单个NAL单元包中的装置:所述RTP会话呈多流发射(MST)模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
一或多个实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图及权利要求书中显而易见。
附图说明
图1是说明可利用本发明中描述的技术的实例视频编码及解码系统的概念图。
图2是展示HEVC网络抽象层(NAL)单元标头的结构的概念图。
图3是展示用于聚合包的实时传输协议(RTP)有效负载格式的结构的概念图。
图4是展示聚合包中的第一集合单元的结构的概念图。
图5是展示用于单个NAL单元包的RTP有效负载格式的结构的概念图。
图6是展示根据本发明的技术的用于单个NAL单元包的RTP有效负载格式的实例的概念图。
图7是展示根据本发明的技术的用于单个NAL单元包的RTP有效负载格式的另一实例的概念图。
图8是说明可实施本发明中描述的技术的实例视频编码器的概念图。
图9是说明可实施本发明中描述的技术的实例视频解码器的框图。
图10是说明形成网络的部分的一组实例装置的框图。
图11是说明根据本发明的技术的用于以RTP有效负载格式囊封视频数据的实例操作的流程图。
图12是说明根据本发明的技术的用于解封以RTP有效负载格式囊封的视频数据的实例操作的流程图。
具体实施方式
本发明介绍用于包化视频数据的各种技术及裝置。在一或多个实例中,本发明提出用于传输视频数据的实时传输协议(RTP)有效负载格式的改善设计。明确地说,本发明提出用于用信号表示用于单个网络抽象层(NAL)单元RTP包的解码次序编号(DON)的技术。用于传输单个NAL单元包的先前技术与某些发射模式及发射参数不兼容。实际上,先前技术需要单个NAL单元在聚合包中发射,从而招致增大的开销及减小的输送量。通过将解码次序编号信息包含在灵活的单个NAL单元包中,本文所述的技术可允许更有效地发射单个NAL单元,且使得能够配合各种发射模式及发射参数使用单个NAL单元包。
图1是说明可结合本发明中描述的技术使用的实例视频处理系统10的框图。举例来说,系统10可经配置以使用本发明中描述的RTP技术产生、处理及传输视频数据。如图1中所示,系统10包含源装置12,其提供稍后将由目的地装置14解码的经编码视频数据。经编码视频数据可通过媒体感知网络元件(MANE)29从源装置12路由到目的地装置14。源装置12及目的地装置14可包括多种多样的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板电脑、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,可装备源装置12及目的地装置14以用于无线通信。
系统10可根据不同视频译码标准、专属标准或多视图译码的任何其它方式操作。举例来说,视频编码器20及视频解码器30可根据视频压缩标准操作,所述视频压缩标准例如ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-TH.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(也被称作ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。MVC扩展的最近公开可用的联合草案描述于2010年3月的“用于通用视听服务的高级视频译码”,ITU-T建议H.264中。MVC扩展的更为新近的公开可用的联合草案描述于2011年6月的“用于通用视听服务的高级视频译码”,ITU-T建议H.264中。MVC扩展的当前联合草案已从2012年1月起获得审批。
此外,存在一种新的视频译码标准,即高效率视频译码(HEVC)标准,其已由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合合作小组(JCT-VC)进行开发。被称作“HEVC工作草案10”或“WD10”的HEVC标准的一个草案描述于布洛斯(Bross)等人的文档JCTVC-L1003v34“高效率视频译码(HEVC)文字规范草案10(High efficiencyvideo coding(HEVC)text specification draft 10)”(ITU-T SG16WP3及ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第12次会议:瑞士日内瓦,2013年1月14日到23日)中,所述文档从2014年4月30日起可从http://phenix.int-evry.fr/jct/doc_end_ user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip下载。HEVC WD10的全部内容在此以引用的方式并入本文中。
出于描述的目的,在HEVC或H.264标准及此些标准的扩展的上下文中描述视频编码器20及视频解码器30。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2及ITU-T H.263。例如称为On2 VP6/VP7/VP8的那些译码技术的专属译码技术也可实施本文所述的技术中的一或多者。本发明的技术潜在地适用于几种视频译码标准,包含HEVC等。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的通信媒体。经编码视频数据可根据通信标准(例如无线通信协议)得到调制,并且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线路。通信媒体可形成分组网络(例如局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或任何其它可用于便于从源装置12到目的地装置14的通信的设备。链路16可包含一或多个MANE,例如MANE 29,其将视频数据从源装置12路由到目的地装置14。
或者,可将经编码数据从输出接口22输出到存储装置27。类似地,可通过输入接口从存储装置27存取经编码数据。存储装置27可包含多种分布式或本地存取的数据存储媒体中的任一种,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码视频数据的合适的数字存储媒体。在另一实例中,存储装置27可对应于文件服务器或可保存源装置12产生的经编码视频的另一中间存储装置。
目的地装置14可经由流式传输或下载从存储装置27存取所存储的视频数据。文件服务器可为任何类型的能够存储经编码视频数据并且将经编码视频数据发射到目的地装置14的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码视频数据从存储装置27的传输可为流式传输、下载传输或两者的组合。从存储装置27检索的视频数据可使用一或多个MANE(例如MANE 29)路由到目的地装置14。
本发明的技术不必限于无线应用或设置。所述技术可应用于视频译码以支持多种多媒体应用中的任一种,例如空中电视广播、有线电视发射、卫星电视发射、流式视频传输(例如,经由因特网)、编码视频数据以存储于数据存储媒体上、解码存储于数据存储媒体上的视频数据,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频回放、视频广播及/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些情况下,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。举例来说,输出接口22可包含可操作以根据本文所述的技术将数据囊封在RTP有效负载中的RTP包化单元。在源装置12中,视频源18可包含例如视频俘获装置(例如摄像机)、包含先前俘获的视频的视频档案、用于从视频内容提供者接收视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机图形系统等源,或此类源的组合。作为一个实例,如果视频源18是摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线及/或有线应用。
可由源装置12对所俘获、预先俘获或计算机产生的视频进行编码。经编码视频数据可经由源装置12的输出接口22直接发射到目的地装置14。经编码视频数据还可(或替代地)存储到存储装置27上以供稍后由目的地装置14或其它装置存取以用于解码及/或回放。
目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些情况下,输入接口28可包含接收器及/或调制解调器。举例来说,输入接口28可包含可操作以根据本文所述的技术解封囊封在RTP有效负载中的数据的RTP解包单元。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或在存储装置27上提供的经编码视频数据可包含由视频编码器20产生的多种语法元素以供由例如视频解码器30等视频解码器用于对视频数据进行解码。此类语法元素可与在通信媒体上发射、存储在存储媒体上或存储在文件服务器中的经编码视频数据包含在一起。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一种,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器单元或其它硬件及软件以处置对共同数据流或单独数据流中的音频及视频两者的编码。在一些实例中,如果适用的话,多路复用器-多路分用器单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一种,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编解码器)的部分。
HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的演进模型。HM假设视频译码装置根据例如ITU-T H.264/AVC相对于现有装置的几项额外能力。举例来说,虽然H.264提供九种帧内预测编码模式,但HM可提供多达三十三种帧内预测编码模式。
总的来说,HM的工作模型描述视频帧或图片可划分成一连串树块或最大译码单元(LCU),其包含亮度及色度样本两者。树块具有与H.264标准的宏块类似的目的。切片包含按译码顺序的多个连续树块。视频帧或图片可被分割成一或多个切片。每一树块可根据四叉树分裂成译码单元(CU)。举例来说,作为四叉树的根节点的树块可分裂成四个子节点,且每一子节点又可为父节点并分裂成另外四个子节点。最后的未经分裂的子节点(作为四叉树的叶节点)包括译码节点,即,经译码视频块。与经译码位流相关联的语法数据可限定树块可分裂的最大次数,且还可限定译码节点的最小大小。
CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小范围可从8×8像素到具有最大64×64像素或更大的树块的大小。每一CU可含有一或多个PU及一或多个TU。举例来说,与CU相关联的语法数据可描述将CU分割成一或多个PU。分割模式可在CU被跳过或经直接模式编码、经帧内预测模式编码或经帧间预测模式编码之间有区别。PU可分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述根据四叉树将CU分割成一或多个TU。TU可为正方形或非正方形形状。
HEVC标准允许根据TU变换,TU可针对不同CU而有所不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而确定,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,可使用被称为“残余四叉树”(RQT)的四叉树结构将对应于CU的残余样本细分成较小单元。RQT的叶节点可被称为变换单元(TU)。可变换与TU相关联的像素差值以产生变换系数,所述变换系数可经量化。
一般来说,PU包含与预测过程有关的数据。举例来说,当PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包括限定PU的运动向量的数据。限定PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
一般来说,TU用于变换及量化过程。具有一或多个PU的给定CU还可包含一或多个变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,所述像素差值可使用TU变换成变换系数、经量化且扫描以产生串行化变换系数以用于熵译码。本发明通常使用术语“视频块”来指CU的译码节点。在一些特定情况下,本发明还可使用术语“视频块”来指包含译码节点以及PU及TU的树块,即,LCU或CU。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)一般包括一系列的一或多个所述视频图片。GOP可包含GOP的标头、图片中的一者或一者以上的标头或其它地方中的语法数据,其描述GOP中包含的图片的数目。图片的每一切片可包含切片语法数据,其描述用于相应切片的编码模式。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,并且可根据指定译码标准而有不同大小。
作为实例,HM支持各种PU大小的预测。假定特定CU的大小为2N×2N,那么HM支持2N×2N或N×N的PU大小的帧内预测,及2N×2N、2N×N、N×2N或N×N的对称PU大小的帧间预测。HM还支持用于2N×nU、2N×nD、nL×2N及nR×2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,但是另一方向分割成25%及75%。CU的对应于25%分割区的部分指示成“n”,接着是用“上”、“下”、“左”或“右”指示。因而,举例来说,“2N×nU”是指水平地分割的2N×2N CU,其中上方有2N×0.5N PU,而下方有2N×1.5N PU。
在本发明中,“N×N”与“N乘N”可互换地使用以依据垂直及水平尺寸来指代视频块的像素尺寸,例如,16×16像素或16乘16像素。总的来说,16×16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,N×N块总体上在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。一块中的像素可布置成若干行及若干列。此外,块未必需要在水平方向与垂直方向上具有相同数目的像素。举例来说,块可包括N×M像素,其中M未必等于N。
在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可计算用于CU的TU的残余数据。PU可包括空间域(还被称作像素域)中的像素数据,且在将变换应用到残余视频数据之后,TU可包括变换域中的系数,所述变换例如是离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换。所述残余数据可对应于未编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含用于CU的残余数据的TU,并且接着变换TU以产生用于CU的变换系数。
在用于产生变换系数的任何变换之后,视频编码器20可执行变换系数的量化。量化通常是指将变换系数量化以可能减少用以表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些系数或全部相关联的位深度。举例来说,n位值可在量化期间被舍去成m位值,其中n大于m。
在一些实例中,视频编码器20可利用预定义扫描顺序来扫描经量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应性扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对所述一维向量进行熵编码。视频编码器20还可对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据进行解码时使用。
为了执行CABAC,视频编码器20可向待传输的符号指派上下文模型内的一个上下文。上下文可涉及(例如)符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可选择用于待传输的符号的可变长度码。VLC中的码字可经构造使得相对较短的代码对应于更有可能的符号,而较长的代码对应于不太可能的符号。以此方式,相对于(例如)针对待传输的每一符号使用相等长度的码字,使用VLC可实现位节省。概率确定可基于指派给符号的上下文。
例如根据HEVC标准或其它标准编码的视频数据等经编码视频数据可使用各种方法在两个裝置之间(例如,在源装置12与目的地装置14之间)发射。举例来说,视频数据可使用各种网络协议经由一或多个网络而发射。一些协议可指定用于发射的各种参数及/或规则。举例来说,一些协议可在经由网络发射之前处理数据,且在接收到之后即刻重新处理所述数据。在一些实例中,处理数据(例如,经编码视频数据)可包含将数据分离成数个信息块(例如,使数据包化或成帧)。用于传输用于实时流式传输应用的视频数据的协议的一个实例为实时传输协议(RTP)。
RTP为在IETF RFC 3550中指定的传输协议,其从2014年4月30日起可从http://www.ietf.org/rfc/rfc3550.txt获得,且其特此以全文引用的方式并入。一般来说,RTP定义用于经由IP网络递送音频及/或视频的标准化包格式。RTP可用以提供各种流媒体,例如电话服务、视频电话会议、电视服务,或其它。
为传输根据视频编解码器经由RTP编码的视频数据,需要指定用于所述视频编解码器的RTP有效负载格式。举例而言,RFC 6184(其从2014年4月30日起可从http://www.ietf.org/rfc/rfc6184.txt获得)指定用于H.264视频的RTP有效负载格式,且RFC6190(其从2014年4月30日起可从http://www.ietf.org/rfc/rfc6190.txt获得)指定用于SVC视频的RTP有效负载格式。RFC 6184及RFC 6190两者皆特此以全文引用的方式并入。RFC4629指定用于ITU-T Rec.H.263的RTP有效负载格式。
此外,存在一种新的RTP有效负载规范,即用于高效率视频译码(HEVC)的RTP有效负载格式,其正由因特网工程任务小组(IETF)音频/视频传输有效负载工作组进行开发。用于HEVC视频的RTP有效负载格式的新近草案从2014年4月30日起可从http://www.ietf.org/id/draft-ietf-payload-rtp-h265-02.txt获得,且特此以全文引用的方式并入。
HEVC RTP有效负载格式的最新设计(包含2013年3月29日申请的第61/806,705号美国临时申请案中所描述的改善之处,其特此以全文引用的方式并入)使得能够经由单个RTP会话(例如,单个RTP流)或多个RTP会话(例如,多个RTP流)发射HEVC位流。RTP流可为在单个RTP会话中携载的一序列RTP包。RTP会话可对应于用于接收RTP及RTP控制协议(RTCP)数据的IP地址及一对端口。RTCP可通常提供用于相关联RTP流的带外统计及控制信息。
HEVC RTP有效负载格式的一些概念及工作原理是继承自RFC 6190且遵循类似设计。如果仅一个RTP会话(例如,一个RTP流)用于发射HEVC位流,那么所述发射模式称为单会话(或单流)发射(SST);否则(例如,如果一个以上RTP会话用于发射HEVC位流),传输方式称为多会话(或多流)发射(MST)。SST通常用于点到点单播情形,而MST用于点到多点多播情形,其中不同接收器需要相同HEVC位流的不同操作点以改善频宽利用效率。不管使用SST还是MST,发射模式都通过媒体类型参数(tx模式)来用信号表示,其可表达为会话描述协议(SDP)参数(例如,在设定RTP会话期间)。
可指定为SDP参数的另一参数为sprop-depack-buf-nalus参数。Sprop-depack-buf-nalus为指定解包化缓冲器(例如,RTP接收器缓冲器)中的在接收次序上可先于一NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目的会话参数。一般来说,解码次序可指示将通过视频解码器解码NAL单元的次序。因此,视频解码器及/或解包单元可利用所接收NAL单元的解码次序来确定处理NAL单元的次序。因此,sprop-depack-buf-nalus的值可指示可不按解码次序发射及/或接收的NAL单元的最大数目。
在一个实例中,sprop-depack-buf-nalus参数的值为在0到32767范围内(包含0及32767)的整数。在不存在时,sprop-depack-buf-nalus参数的值推断为等于0。在RTP会话取决于一或多个其它RTP会话时(在此情况下,发射模式等于“MST”),sprop-depack-buf-nalus参数的值将大于0。sprop-depack-buf-nalus参数的大于零的值指示会话允许交错式包化。换句话说,在使用多个流发射数据单元时,接收器缓冲器及/或解包化缓冲器可能够处置交错式包化(例如,处置不按解码次序发射及/或接收的数据单元)。
RTP包经由会话发射以将信息(例如,经编码视频数据)从一个装置携载到另一装置。RTP包包含RTP标头及RTP有效负载。RTP标头包含用于指定有效负载识别符的有效负载类型栏位。有效负载识别符指示对应RTP有效负载的格式。如由RTP标准所定义,有效负载识别符96到127经保留用于在会话期间动态定义的RTP有效负载。即,有效负载识别符值96到127可将RTP有效负载映射到用于对应RTP会话的持续时间的指定格式(或配置文件)。在一些实例中,用于会话的RTP有效负载的指定格式可使用SDP参数来定义。举例来说,SDP参数可指定对于特定会话,有效负载识别符值98指示用于RTP有效负载的HEVC配置文件。因此,经由会话发送的RTP包可包含含有使用HEVC标准编码的视频数据的RTP有效负载。由此,RTP有效负载可包含NAL单元。
在用于RTP有效负载的HEVC配置文件的一个实例中,RTP有效负载的前两个字节可表示RTP有效负载标头。对于遵守用于HEVC的RTP有效负载格式的一些RTP有效负载,RTP有效负载标头由与用于HEVC的NAL单元标头相同的字段组成。
图2是展示HEVC NAL单元标头的结构的概念图。一般来说,HEVC维持H.264的NAL单元概念,但具有几处修改。NAL单元标头中的字段的语义如HEVC WD10中所指定,且为方便起见而在下文简要描述。除了每一字段的名称及大小之外,还提供HEVC WD10中的对应语法元素名称。出于描述的目的,NAL单元的有效负载数据在本文中是指NAL单元的排除NAL单元标头的部分。即,NAL单元可由NAL单元标头(例如,NAL单元的字节1及2)及NAL单元有效负载(例如,NAL单元的字节3到N)组成。
如图1的实例中所示,语法元素F为单个位且称为forbidden_zero_bit。根据HEVCWD10,F具有值零。即,HEVC WD10指定语法元素F的值1构成语法违反。将此位包含在NAL单元标头中使得能够经由MPEG-2传输系统传输HEVC视频(例如,以避免启动代码仿真)。
如图2的实例中所示,NAL单元标头还包含语法元素类型。类型语法元素在长度上为6位,且称为nal_unit_type。此字段指定如在HEVC WD10的表7-1中定义的NAL单元类型。为参考所有当前定义的NAL单元类型及其语义,请参考HEVC WD10中的章节7.4.1。
如图2的实例中所示,语法元素LayerID也包含于NAL单元标头中。LayerID语法元素在长度上为6位,且称为nuh_layer_id。当前HEVC WD10指定LayerID应等于值零。在HEVC的未来可缩放或3D视频译码扩展中,LayerID语法元素可用以识别可存在于经译码视频序列中的额外层,例如空间可缩放层、质量可缩放层、纹理视图或深度视图。
如图2的实例中所示,NAL单元标头还包含语法元素TID。TID语法元素在长度上为3位,且称为nuh_temporal_id_plus1。TID语法元素指定NAL单元的时间识别符加1。TemporalID的值因此等于TID减1。在HEVC WD10中不允许TID值为0以确保在NAL单元标头中存在至少一个位等于1,以便防止NAL单元标头中的启动代码仿真。
在用于RTP的HEVC有效负载规范中,指定四种不同类型的RTP有效负载结构。接收器可经由RTP有效负载标头中的类型字段识别RTP有效负载的类型。
用于HEVC的四个不同RTP有效负载结构如下:
○单个NAL单元包:单个NAL单元包在RTP有效负载中含有单个NAL单元(例如,NAL单元标头及NAL单元有效负载数据)。先前,NAL单元的NAL单元标头还将充当RTP有效负载标头。即,由单个NAL单元包组成的RTP有效负载并不包含RTP有效负载标头,且替代地依赖于NAL单元标头来充当RTP有效负载标头。
○聚合包(AP):先前,AP在RTP有效负载中含有一或多个NAL单元。AP的NAL单元是来自一个存取单元内。如由HEVC WD10所定义,存取单元为一组NAL单元,其根据指定分类规则与彼此相关联且在解码次序上是连续的,且含有确切的一个经译码图片。
○分段单元(FU):FU含有单个NAL单元的子集。
○携载RTP包的有效负载内容信息(PACI):携载RTP包的PACI含有RTP有效负载标头(出于效率考虑而不同于其它有效负载报头)、有效负载标头扩展结构(PHES)及PACI有效负载。
先前,指定以下包化规则:在发射模式(例如,tx模式)等于“MST”或sprop-depack-buf-nalus参数的值大于0时,不使用单个NAL单元包。换句话说,在正经由MST接收RTP数据时及/或在允许解包化缓冲器接收无序RTP包时,不允许包化成RTP有效负载而没有对应解码次序编号的NAL单元,且用于单个NAL单元包的先前RTP包格式并不含有解码次序编号信息。在没有解码次序编号的情况下,NAL单元无法被RTP接收器以正确次序送回。如果将以MST模式发射单个NAL单元或在指定解包化缓冲器(例如,通过sprop-depack-buf-nalus参数)时,AP用以将单个NAL单元囊封在一个RTP包中。然而,将单个NAL单元囊封在AP中导致增大的开销及减小的频宽,这是因为AP包含四个字节的信息(即,NAL单元大小字段及RTP有效负载标头),其在发射单个NAL单元时是不必要的。
图3是展示用于聚合包的实时传输协议(RTP)有效负载格式的结构的概念图。聚合包(AP)使得能够减小用于小NAL单元(例如大多数非VCL(视频译码层)NAL单元,其大小通常仅为几个八位元组)的包化开销。
如图3的实例中所示,AP包含RTP有效负载标头、集合单元及任选RTP填充。AP的RTP有效负载标头遵循与如描述于图2中的NAL单元标头相同的格式。即,AP的RTP有效负载标头包含F字段、类型字段、LayerID字段及TID字段。在AP的RTP有效负载标头中,如果AP中的每一集合NAL单元的F位等于零,那么F位等于0。否则,F位等于1。AP的RTP有效负载标头中的类型字段的值等于48。AP的RTP有效负载标头中的LayerID字段的值等于AP中的所有集合NAL单元当中的最低LayerID值。AP的RTP有效负载标头中的TID字段的值等于所有集合NAL单元当中的最低TID字段值。
AP将NAL单元集合到一个存取单元内。即,AP可包含来自同一存取单元的一或多个NAL单元。待携载于AP中的每一NAL单元囊封于集合单元中。集合于一个AP中的NAL单元处于NAL单元解码次序。AP可视需要携载尽可能多的集合单元。
图4是展示聚合包中的第一集合单元的结构的概念图。AP中的第一集合单元包含任选的16位较低解码次序编号(Decoding Order Number Lower,DONL)字段(以网络字节次序)。DONL字段的语义可与2014年3月27日申请的第14/228,164号美国申请案中呈现的那些相同。更具体来说,当存在于RTP包有效负载中时,DONL字段的值等于对应NAL单元的解码次序编号的16个最低有效位的值。
如图4中所展示,AP中的第一集合单元还包含16位无符号字段(“NALU大小”字段),其含有指示NAL单元的大小(以字节计)的大小信息(以网络字节次序)。NALU大小字段内的大小信息排除与NALU大小字段相关联的位的两个八位字节,但包含与NAL单元自身内的NAL单元标头相关联的位。
如图4中所展示,NALU大小字段之后为NAL单元自身,如上文所提及,所述NAL单元包含NAL单元标头及NAL单元有效负载。即,集合单元由指示所含NAL单元的解码器次序编号的DONL字段、指示所含NAL单元的大小的大小字段(例如,NALU大小字段)及NAL单元自身组成。
如果发射模式等于“MST”及/或sprop-depack-buf-nalus参数的值大于0,那么DONL字段存在于AP中的第一集合单元中。此外,如果发射模式等于“MST”及/或sprop-depack-buf-nalus参数的值大于0,那么AP中的每一后续集合单元将包含解码次序编号差(DOND)字段。当存在于AP的后续集合单元中时,DOND字段的值指示当前集合NAL单元(例如,当前集合单元中的NAL单元)的解码次序编号值与同一AP中的先前集合NAL单元(例如,先前集合单元中的NAL单元)的解码次序编号值之间的差。
RTP有效负载格式的此设计(一般来说)或具体来说,HEVC RTP有效负载格式具有以下问题。为了在使用多流发射(MST)时及/或在使用交错式包化(例如,以SST或MST)(如由例如sprop-depack-buf-nalus参数所指示)时将单个NAL单元囊封于RTP包中,必须使用AP(例如,不可使用单个NAL单元包)。即,因为RTP接收器至少部分地基于解码次序编号将NAL单元提供到视频解码单元,因此不按解码次序编号发送的NAL单元应以对应解码器次序编号来发送。然而,用于RTP有效负载的单个NAL单元包格式不包含解码次序编号的指示。因此,单个NAL单元将必须在具有结构化为AP的RTP有效负载的RTP包中发送。
使用AP用于在RTP包中发送单个NAL单元需要包含与NAL单元大小字段(例如,图4的NALU大小字段)相关联的两个字节且重复两字节NAL单元标头。在AP仅含有单个集合单元时,集合NAL单元的大小是不必要的。即,因为解包模组不需要在AP内的多个集合单元之间进行区分(例如,因为仅存在一个集合单元),因此不需要指定集合NAL单元的长度。此外,包含RTP有效负载标头(图3中所展示的有效负载标头)及NAL单元标头(图4中所展示的F字段、类型字段、LayerID字段及TID字段)是冗余的。即,包含单个NAL单元的AP将具有与唯一集合NAL单元的NAL单元标头几乎相同的RTP有效负载标头。唯一差异将为类型字段的值。在RTP有效负载标头中,类型字段的值将为48(例如,以表示RTP有效负载为AP),而在NAL单元标头中,类型字段的值可能不同(例如,以指示NAL单元类型)。因此,在启用交错包化时及/或在以多流发射模式操作时(例如,在RTP中处于MST模式中时),对于含有单个NAL单元的每一包,四个字节是浪费的。换句话说,对于仅含有单个集合单元的每一所发送AP,不需要四个字节的数据。
由此,用于RTP有效负载格式的此设计的问题在于,在MST模式下及/或在sprop-depack-buf-nalus参数的值大于0时,且在发射用于单个NAL单元的RTP有效负载时,用于RTP包的有效负载必须囊封为含有单个NAL单元的AP。此导致RTP有效负载具有长度为16位的RTP有效负载标头,DONL字段具有16位的长度且NALU大小字段具有16位的长度,随后为NAL单元(其自身包含16位的分离(即,与RTP有效负载标头分离)NAL单元标头)。相比之下,与允许处于SST模式(根据用于HEVC的先前RTP有效负载格式)的单个NAL单元包相关联的RTP有效负载不包含DONL字段或NALU大小字段。实际上,如上文所指出,单个NAL单元包的RTP有效负载标头为所含NAL单元的前2个字节(例如,NAL单元标头)。在其中利用MST模式用于发射的情形中及/或在sprop-depack-buf-nalus参数具有大于0的值时,发送单个NAL单元可能抑制带宽及/或减小发射效率,这是因为不必要地囊封及发射了4个字节(即,AP的2字节RTP有效负载标头及AP内的单个集合单元的2字节NALU大小字段)。
鉴于这些问题,本发明提供一种经修改单个NAL单元包RTP有效负载结构,使得以MST模式及/或在sprop-depack-buf-nalus参数具有大于0的值时可使用单个NAL单元包。即,,经修改单个NAL单元包结构可在启用交错式包化时及/或在执行多流发射模式(例如用于RTP的MST模式)时使得能够更有效地发射单个NAL单元,同时在停用交错式包化的情况下于SST模式中操作时维持单个NAL单元的有效发射。更一般来说,揭示如下技术,其中单个NAL单元包可包含解码次序计数或解码次序编号(DON)信息(例如,2字节DONL字段)。
作为一个实例,DONL字段可包含在紧接2字节NAL单元标头之后且紧接NAL单元有效负载之前。如果执行多流发射(例如,如果RTP发射模式等于“MST”)及/或如果启用交错(例如,如果sprop-depack-buf-nalus参数大于0),那么DON信息存在于每一单个NAL单元包中,且在其它情况下不存在。在对单个NAL单元包结构的此种改变的情况下,可以单播模式(具有或不具有交错)及多流发射模式两者使用单个NAL单元包。以此方式,在需要时,可连同NAL单元一起发送用于NAL单元的DON信息的指示,同时减少所发送信息的量。即,将任选DONL字段包含在单个NAL单元包中可增大视频数据发射的效率(例如,在使用RTP时)。
根据用于HEVC的先前RTP有效负载格式在不具有交错的情况下在SST期间仅可使用的用于单个NAL单元包的RTP有效负载格式展示于图5中。如可在图5中看出,无DON信息存在于RTP有效负载内。
图6是展示根据本发明的技术的用于单个NAL单元包的RTP有效负载格式的实例的概念图。如图6中所示,经修改单个NAL单元包RTP有效负载结构包含DONL字段。DONL字段为“任选”的,因为在执行多流发射时(例如,在发射模式等于“MST”时)及/或在启用交错时(例如,sprop-depack-buf-nalus参数具有大于0的值)用信号表示用于单个NAL单元包的DONL字段。即,对于RTP,如果sprop-depack-buf-nalus参数的值大于0,及/或发射模式等于“MST”,那么DONL字段包含于RTP有效负载内。否则,不存在DONL。换句话说,在发射模式等于“SST”且sprop-depack-buf-nalus参数的值等于0时,DONL字段不存在于经修改单个NAL单元包中。
如图6的实例中所示,任选DONL字段可囊封于NAL单元自身内。即,当存在于经修改单个NAL单元包中时,DONL字段可囊封于紧接NAL单元标头之后且紧接NAL单元有效负载之前。以此方式,NAL单元标头中的信息可充当RTP有效负载标头及NAL单元标头两者。
图7是展示根据本发明的技术的用于单个NAL单元包的RTP有效负载格式的另一实例的概念图。图7的实例中所展示的单个NAL单元包还包含任选DONL字段。即,在执行多流发射时(例如,发射模式等于“MST”)及/或在启用交错(例如,sprop-depack-buf-nalus参数的值不等于0)时,可存在如图7中所示的DONL字段。否则,可不存在如图7中所示的DONL字段。
在图7的实例中,单个NAL单元为RTP有效负载的在DONL字段之后的部分。在此情况下,NAL单元的前2个字节(例如,NAL单元标头)在DONL字段之前重复(例如,作为RTP有效负载标头),由此与使用AP来发送单个NAL单元相比时节省2个字节。图7的实例单个NAL单元还提供不分离NAL单元的前两个字节与其余NAL数据(利用其间的字段)的优势。换句话说,经修改单个NAL单元包可在各种位置包含解码次序编号信息。图6的实例单个NAL单元包包含在NAL单元标头与NAL单元有效负载之间的DONL字段。图7的实例单个NAL单元包包含在NAL单元标头之前(例如,在NAL单元之前)的DONL字段,且包含在DONL字段之前的NAL单元标头(例如,NAL单元的前两个字节)的副本。如图7的实例中所示,复制NAL单元标头的信息以创建RTP有效负载标头可提供必需的RTP有效负载标头,同时避免分离NAL单元标头与NAL单元有效负载。
本发明的用于以RTP有效负载格式译码单个NAL单元的技术可由视频编码器、视频解码器、媒体感知网络元件(MANE)及其它视频及/或网络处理硬件来执行。下图描述实例结构,包含可实施本发明的技术的视频编码器20、视频解码器30、MANE 29、服务器装置152、路由装置154A、转码装置156、路由装置154B及客户端装置158。
图8是说明可实施本发明中描述的技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内及帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。
在图8的实例中,视频编码器20包含视频数据存储器34、分割单元35、预测处理单元41、滤波单元63、图片存储器64、求和器50、变换处理单元52、量化单元54,及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测单元46。为了视频块重建,视频编码器20还包含反量化单元58、反变换处理单元60,及求和器62。滤波单元63既定表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管在图8中将滤波单元63展示为环内滤波器,但在其它配置中,可将滤波单元63实施为环路后滤波器。图8还展示后处理装置57,其可对视频编码器20产生的经编码视频数据执行额外处理。本发明的技术在一些情况下可通过视频编码器20实施。然而,在其它情况下本发明的技术可通过后处理装置57实施。
视频数据存储器34可存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储在视频数据存储器34中的视频数据。图片存储器64可为存储供用于由视频编码器20以例如帧内或帧间译码模式编码视频数据的参考视频数据的参考图片存储器。视频数据存储器34及图片存储器64可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻性RAM(RRAM)或其它类型的存储器装置。视频数据存储器34及图片存储器64可由同一存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器34可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
如图8中所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割还可包含分割成切片、拼片或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。视频编码器20大体说明对待编码的视频切片内的视频块进行编码的组件。所述切片可划分成多个视频块(且可能划分成被称作图像块的视频块组)。预测处理单元41可基于误差结果(例如,译码速率及失真水平)针对当前视频块选择多种可能译码模式中的一者,例如多种帧内译码模式中的一者或多种帧间译码模式中的一者。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重建经编码块以用作参考图片。
预测处理单元41内的帧内预测单元46可相对于与有待译码的当前块在相同的帧或切片中的一或多个相邻块执行当前视频块的帧内预测性译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测性块执行当前视频块的帧间预测性译码以提供时间压缩。
运动估计单元42可经配置以根据用于视频序列的预定模式确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片标明为P切片、B切片或GPB切片。运动估计单元42与运动补偿单元44可高度集成,但出于概念目的分开加以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。
预测性块是被发现在像素差方面与待译码视频块的PU密切匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。在一些实例中,视频编码器20可计算存储在图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插四分之一像素位置、八分之一像素位置或参考图片的其它分数像素位置的值。因此,运动估计单元42可相对于整数像素位置及分数像素位置执行运动搜索并且输出具有分数像素精确度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一个识别存储在图片存储器64中的一或多个参考图片。运动估计单元42向熵编码单元56及运动补偿单元44发送计算出的运动向量连同其它语法元素。
通过运动补偿单元44执行的运动补偿可涉及基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量取出或产生预测性块。在接收到当前视频块的PU的运动向量后,运动补偿单元44即刻可在参考图片列表中的一者中定位所述运动向量指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于所述块的残余数据,并且可包含亮度及色度差分量两者。求和器50表示可执行此减法运算的组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在对视频切片的视频块进行解码时使用。
作为如上文所描述由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测。明确地说,帧内预测单元46可确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可使用多个帧内预测模式(例如,在分开的编码遍次期间)对当前块进行编码,并且帧内预测单元46(或在一些实例中为模式选择单元40)可从经测试的模式中选择适当的帧内预测模式来使用。举例来说,帧内预测单元46可使用速率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析总体上确定经编码块与经编码以产生所述经编码块的原始未编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可根据用于各种经编码块的失真及速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
在任何情况下,在选择了用于一块的帧内预测模式之后,帧内预测单元46可将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术对指示所选帧内预测模式的信息进行编码。视频编码器20在所发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表及多个修改的帧内预测模式索引表(也称为码字映射表),对用于各种块的上下文进行编码的定义,及对最可能帧内预测模式、帧内预测模式索引表及修改的帧内预测模式索引表的指示以用于所述上下文中的每一者。
在预测处理单元41经由帧间预测或帧内预测产生了用于当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含在一或多个TU中且应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域,例如频域。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。或者,熵编码单元56可执行所述扫描。
在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码方法或技术。在由熵编码单元56进行熵编码后,可将经编码位流传输到视频解码器30,或将经编码位流存档以供稍后由视频解码器30传输或检索。熵编码单元56还可对正被译码的当前视频切片的运动向量及其它语法元素进行熵编码。
反量化单元58及反变换单元60分别应用反量化及反变换以在像素域中重建残余块,例如以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到参考图片列表中的一者内的参考图片中的一者的预测性块中来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重建残余块以计算子整数像素值用于运动估计。求和器62将经重建残余块添加到由运动补偿单元44产生的运动补偿预测块以产生参考块用于存储在图片存储器64中。参考块可由运动估计单元42及运动补偿单元44使用作为参考块以对后续视频帧或图片中的块进行帧间预测。
根据本文所述的技术,视频编码器20及/或后处理装置57可囊封经编码视频数据以供发射到一或多个其它装置(例如,使用RTP)。举例来说,后处理装置57可接收经编码HEVC视频数据(例如,NAL单元),且通过将视频数据囊封到单个网络抽象层(NAL)单元包(例如,用于RTP会话)中而产生具有遵守用于HEVC的特定有效负载格式(例如,用于HEVC的RTP有效负载格式)的有效负载的包(例如,RTP包)。后处理装置57还可基于以下各者中的至少一者将解码次序编号信息(例如,DONL)囊封于单个NAL单元包中:会话为多流发射(例如,RTP会话呈多流发射(MST)模式),或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
图9是说明可实施本发明中描述的技术的实例视频解码器30的框图。在图9的实例中,视频解码器30包含视频数据存储器83、熵解码单元80、预测处理单元81、反量化单元86、反变换单元88、求和器90、滤波单元91及图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,视频解码器30可执行大体上与相对于来自图8的视频编码器20描述的编码遍次互反的解码遍次。
视频数据存储器83可存储待由视频解码器30的组件解码的视频数据,例如经编码视频位流。存储于视频数据存储器83中的视频数据可例如从计算机可读媒体(例如,从本地视频源,例如摄影机)经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体而获得。视频数据存储器83可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。在一些实例中,图片存储器92可为存储供视频解码器30用于例如以帧内或帧间译码模式解码视频数据的参考视频数据的参考图片存储器。视频数据存储器83及图片存储器92可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻性RAM(RRAM)或其它类型的存储器装置。视频数据存储器83与图片存储器92可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器83与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频解码器30可从网络实体79接收经编码视频位流。网络实体79可例如为服务器、MANE、视频编辑器/剪接器、RTP接收器或经配置以实施上文所描述的技术中的一或多者的其它此装置。网络实体79可包含或可不包含视频编码器20。如上文所描述,本发明中所描述的技术中的一些可在网络实体79将经编码视频位流传输到视频解码器30之前由网络实体79实施。在一些视频解码系统中,网络实体79及视频解码器30可为分开的装置的部分,而在其它情况下,关于网络实体79描述的功能性可由包括视频解码器30的相同装置执行。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联语法元素的经编码视频位流。视频块可例如经由一或多个MANE(例如图1中的MANE 29或图9中的网络实体79)从视频编码器20路由到视频解码器30。视频解码器30的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转发到预测处理单元81。视频解码器30可接收视频切片层级及/或视频块层级的语法元素。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用用信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当将视帧帧译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素而产生当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储在图片存储器92中的参考图片使用默认建构技术建构参考帧列表--列表0及列表1。
运动补偿单元82通过剖析运动向量及其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元82使用一些接收到的语法元素确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一者或一者以上的建构信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态及用以对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在这种情况下,运动补偿单元82可根据接收到的语法元素而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
反量化单元86将在位流中提供且由熵解码单元80解码的经量化变换系数反量化,即解量化。反量化过程可包含使用视频编码器20针对视频切片中的每一视频块计算的量化参数以确定应当应用的量化程度及同样反量化程度。反变换单元88对变换系数应用反变换(例如,反DCT、反整数变换,或概念上类似的反变换过程),以便产生像素域中的残余块。
在运动补偿单元82基于运动向量及其它语法元素产生了当前视频块的预测性块之后,视频解码器30通过将来自反变换单元88的残余块与运动补偿单元82产生的对应预测性块求和来形成经解码视频块。求和器90表示可执行此求和运算的组件。在需要时,还可使用环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式改进视频质量。滤波单元91既定表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管在图9中将滤波单元91展示为环路内滤波器,但在其它配置中,可将滤波单元91实施为环路后滤波器。接着将给定帧或图片中的经解码视频块存储于图片存储器92中,所述图片存储器存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频用于以后在显示装置(例如图1的显示装置32)上呈现。
根据本文所述的技术,网络实体79及/或视频解码器30可解封经囊封的经编码视频数据以供发射到一或多个其它装置(例如,使用RTP)。举例来说,网络实体79可接收包含经编码HEVC视频数据(例如,NAL单元)的一或多个包(例如,RTP包)。所述包可具有遵守用于HEVC的特定有效负载格式(例如,用于HEVC的RTP有效负载格式)的有效负载。为了处理所述视频数据,网络实体79可解封囊封到单个网络抽象层(NAL)单元包中的视频数据。网络实体79及/或视频解码器30还可基于以下各者中的至少一者解封囊封于单个NAL单元包中的解码次序编号信息(例如,DONL):会话为多流发射(例如,RTP会话呈多流发射(MST)模式),或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。在获得视频数据(例如,NAL单元)及DON信息之后,视频解码器30可处理所述经编码视频数据。
图10是说明形成网络150的一部分的一组实例装置的框图。在这个实例中,网络150包含路由装置154A、154B(路由装置154)及转码装置156。路由装置154及转码装置156既定表示可形成网络150的部分的少数装置。例如交换器、集线器、网关、防火墙、桥接器及其它此些装置的其它网络装置也可包含在网络150内。另外,可沿着服务器装置152与客户端装置158之间的网络路径提供额外的网络装置。在一些实例中,服务器装置152可对应于源装置12(图1),而客户端装置158可对应于目的地装置14(图1)。路由装置154可例如是经配置以路由媒体数据的MANE。
一般来说,路由装置154实施一或多个路由协议以通过网络150交换网络数据。一般来说,路由装置154执行路由协议以通过网络150发现路线。通过执行此些路由协议,路由装置154B可发现从自身经由路由装置154A到服务器装置152的网络路线。图10的多个装置表示可实施本发明的技术且可经配置以根据本发明的技术处理RTP数据的装置的实例。
举例来说,服务器装置152、路由裝置154、转码装置156或客户端装置158中的一或多者可通过以下操作来处理数据单元有效负载(例如,实时传输协议(RTP)有效负载)中的视频数据:将视频数据囊封于单个网络抽象层(NAL)单元包(例如,用于RTP会话)中;以及基于以下各者中的至少一者将解码次序编号信息囊封于所述单个NAL单元包中:所述会话为多流发射(例如,RTP会话呈多流发射(MST)模式),或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
作为RTP会话的部分,单个NAL单元包可发射到服务器装置152、路由裝置154、转码装置156或客户端装置158中的一或多个其它者。在接收到包含格式化为单个NAL单元包的RTP有效负载的RTP包之后,接收装置可即刻通过以下操作处理所述视频数据:解封囊封于单个NAL单元包中的视频数据;以及基于以下各者中的至少一者解封囊封于所述单个NAL单元包中的解码次序编号信息:所述RTP会话呈多流发射(MST)模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
图11是说明根据本发明的技术的用于以RTP有效负载格式囊封视频数据的实例操作的流程图。仅出于说明的目的,下文在图1的上下文内描述图11的实例操作。
在图11的实例中,RTP囊封单元(例如,输出接口22)可接收视频数据(180)。举例来说,视频数据可根据HEVC标准或另一视频译码方案而编码(例如,由视频编码器20)到单个NAL单元中。在一些实例中,NAL单元可包含NAL单元有效负载数据及NAL单元标头。为了产生RTP有效负载,输出接口22可将视频数据囊封于单个NAL单元包中(182)。
输出接口22可确定RTP发射是否处于MST模式(184)。如果发射处于MST模式(184的“是”分支),那么输出接口22可确定解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目是否等于零(186)。举例来说,输出接口22可确定RTP发射的sprop-depack-buf-nalus参数的值是否等于零。如果所述值等于零(186的“是”分支),那么输出接口22可制止将解码次序编号信息囊封于单个NAL单元包中(188)。
在图11的实例中,如果RTP发射处于MST模式(184的“否”分支)及/或如果解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于零(186的“是”分支),那么输出接口22可将解码次序编号信息囊封到单个NAL单元包中(190)。在一些实例中,为了将解码次序编号信息囊封于单个NAL单元包中,输出接口22可将解码次序编号信息在NAL单元标头与NAL单元有效负载数据之间囊封于单个NAL单元包中。在一些实例中,输出接口22可将解码次序编号信息在NAL单元之前囊封于单个NAL单元包中,且将RTP有效负载标头囊封于解码次序编号信息之前。所囊封RTP有效负载标头可包括包含于NAL单元标头中的信息。
图12是说明根据本发明的技术的用于解封以RTP有效负载格式囊封的视频数据的实例操作的流程图。仅出于说明的目的,下文在图1的上下文内描述图12的实例操作。
在图12的实例中,RTP解封单元(例如,输入接口28)可接收RTP包(200)。举例来说,RTP包可包含格式化为单个NAL单元包的RTP有效负载。即,RTP有效负载可在RTP有效负载中包含单个NAL单元。在一些实例中,NAL单元可包含NAL单元有效负载数据及NAL单元标头。为了获得其中囊封的视频数据,输入接口28可解封囊封于单个网络抽象层(NAL)单元包中的视频数据(202)。
输入接口28可确定RTP发射是否处于MST模式(204)。如果所述发射处于MST模式(204的“是”分支),那么输入接口28可确定解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目是否等于零(206)。举例来说,输入接口28可确定RTP发射的sprop-depack-buf-nalus参数的值是否等于零。如果所述值等于零(206的“是”分支),那么输入接口28可制止从单个NAL单元包解封解码次序编号信息(208)。
在图12的实例中,如果RTP发射处于MST模式(204的“否”分支)及/或如果解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于零(206的“是”分支),那么输入接口28可解封囊封于单个NAL单元包中的解码次序编号信息(210)。在一些实例中,解码次序编号信息可在NAL单元标头与NAL单元有效负载数据之间囊封于单个NAL单元包中。为了解封单个NAL单元包中的解码次序编号信息,输入接口28可解封在NAL单元标头与NAL单元有效负载数据之间囊封于单个NAL单元包中的解码次序编号信息。在一些实例中,解码次序编号信息可在NAL单元之前囊封于单个NAL单元包中,且RTP有效负载标头可在解码次序编号信息之前囊封于单个NAL单元包中。所囊封RTP有效负载标头可包括包含于NAL单元标头中的信息。为了解封在NAL单元之前囊封于单个NAL单元包中的解码次序编号信息,输入接口28可解封在NAL单元之前囊封于单个NAL单元包中的解码次序编号信息,且解封在解码次序编号信息之前囊封于单个NAL单元包中的RTP有效负载标头。
在一或多个实例中,所描述的功能可用硬件、软件、固件或其任何组合来实施。如果用软件实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或经由其发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含任何促进将计算机程序从一处传送到另一处的媒体(例如,根据一种通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)有形计算机可读存储媒体,其是非暂时形的,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用的媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或任何其它可用来存储指令或数据结构的形式的期望程序代码并且可由计算机存取的媒体。而且,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
指令可由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构中的任一者或适合于实施本文中所描述的技术的任一其它结构。另外,在一些方面中,本文所述的功能性可在经配置用于编码及解码的专用硬件及/或软件模块内提供,或者并入在组合编解码器中。并且,可将所述技术完全实施于一或多个电路或逻辑元件中。
本发明的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可配合合适的软件及/或固件组合在一个编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已经描述各种实例。这些及其它实例在所附权利要求书的范围内。

Claims (24)

1.一种处理实时传输协议RTP有效负载中的视频数据的方法,所述方法包括:
将视频数据囊封于用于RTP会话的RTP包中,其中用于所述RTP包的类型字段指示所述RTP包含有视频译码层数据的单个NAL单元;以及
基于以下各者中的至少一者将解码次序编号信息囊封于含有视频译码层数据的所述单个NAL单元的所述RTP包中:所述RTP会话呈多流发射MST模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
2.根据权利要求1所述的方法,其中所述单个NAL单元包括NAL单元标头及NAL单元有效负载数据,且其中将所述解码次序编号信息囊封于所述RTP包中包括将所述解码次序编号信息在所述NAL单元标头与所述NAL单元有效负载数据之间囊封于所述RTP包中。
3.根据权利要求1所述的方法,其中所述单个NAL单元包括NAL单元标头及NAL单元有效负载数据,且其中将所述解码次序编号信息囊封于所述RTP包中包括将所述解码次序编号信息在所述单个NAL单元之前囊封于所述RTP包中,所述方法进一步包括:
将RTP有效负载标头在所述解码次序编号信息之前囊封于所述RTP包中,其中所述RTP有效负载标头包括包含于所述NAL单元标头中的信息。
4.根据权利要求1所述的方法,其进一步包括:
基于所述RTP会话呈单流发射SST模式且所述解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的所述最大数目等于0而制止将所述解码次序编号信息囊封于所述RTP包中。
5.根据权利要求1所述的方法,其中所述解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的所述最大数目是由在所述RTP会话的设置期间指定的语法元素的值来表示。
6.根据权利要求5所述的方法,其中所述语法元素包括sprop-depack-buf-nalus参数。
7.一种处理实时传输协议RTP有效负载中的视频数据的方法,所述方法包括:
解封囊封于用于RTP会话的单个网络抽象层NAL单元包中的视频数据,其中用于RTP包的类型字段指示所述RTP包含有视频译码层数据的单个NAL单元;以及
基于以下各者中的至少一者解封囊封于含有视频译码层数据的所述单个NAL单元的所述RTP包中的解码次序编号信息:所述RTP会话呈多流发射MST模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
8.根据权利要求7所述的方法,其中所述单个NAL单元包括NAL单元标头及NAL单元有效负载数据,且其中解封囊封于所述RTP包中的所述解码次序编号信息包括解封囊封于所述NAL单元标头与所述NAL单元有效负载数据之间的所述解码次序编号信息。
9.根据权利要求7所述的方法,其中所述单个NAL单元包括NAL单元标头及NAL单元有效负载数据,且其中解封囊封于所述RTP包中的所述解码次序编号信息包括解封囊封于所述单个NAL单元之前的所述解码次序编号信息,所述方法进一步包括:
从所述RTP包解封在所述解码次序编号信息之前囊封于所述RTP包中的RTP有效负载标头,其中所述RTP有效负载标头包括包含于所述NAL单元标头中的信息。
10.根据权利要求7所述的方法,其进一步包括:
基于所述RTP会话呈单流发射SST模式且所述解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的所述最大数目等于0而制止从所述RTP包解封解码次序编号信息。
11.根据权利要求7所述的方法,其中所述解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的所述最大数目是由在所述RTP会话的设置期间指定的语法元素的值来表示。
12.根据权利要求11所述的方法,其中所述语法元素包括sprop-depack-buf-nalus参数。
13.一种经配置以处理实时传输协议RTP有效负载中的视频数据的设备,所述设备包括:
存储器,其经配置以存储视频数据,以及
一或多个处理器,其经配置以:
在实时传输协议RTP有效负载内将视频数据囊封于用于RTP会话的单个网络抽象层NAL单元包中,其中用于RTP包的类型字段指示所述RTP包含有视频译码层数据的单个NAL单元;以及
基于以下各者中的至少一者将解码次序编号信息囊封于含有视频译码层数据的所述单个NAL单元的所述RTP包中:所述RTP会话呈多流发射MST模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
14.根据权利要求13所述的设备,其中所述单个NAL单元包括NAL单元标头及NAL单元有效负载数据,且其中所述处理器经配置以将所述解码次序编号信息囊封于所述NAL单元标头与所述NAL单元有效负载数据之间。
15.根据权利要求13所述的设备,其中所述单个NAL单元包括NAL单元标头及NAL单元有效负载数据,且其中经配置以将所述解码次序编号信息囊封于所述RTP包中的所述处理器经配置以将所述解码次序编号信息在所述单个NAL单元之前囊封于所述RTP包中,且其中所述处理器进一步经配置以:
将RTP有效负载标头在所述解码次序编号信息之前囊封于所述RTP包中,其中所述RTP有效负载标头包括包含于所述NAL单元标头中的信息。
16.根据权利要求13所述的设备,其中所述处理器进一步经配置以:
基于所述RTP会话呈单流发射SST模式且所述解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的所述最大数目等于0而制止将所述解码次序编号信息囊封于所述RTP包中。
17.根据权利要求13所述的设备,其中所述解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的所述最大数目是由在所述RTP会话的设置期间指定的语法元素的值来表示。
18.根据权利要求17所述的设备,其中所述语法元素包括sprop-depack-buf-nalus参数。
19.一种经配置以处理实时传输协议RTP有效负载中的视频数据的设备,所述设备包括:
用于将视频数据囊封于用于RTP会话的单个网络抽象层NAL单元包中的装置,其中用于RTP包的类型字段指示所述RTP包含有视频译码层数据的单个NAL单元;以及
用于基于以下各者中的至少一者将解码次序编号信息囊封于含有视频译码层数据的所述单个NAL单元的所述RTP包中的装置:所述RTP会话呈多流发射MST模式,或解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的最大数目大于0。
20.根据权利要求19所述的设备,其中所述单个NAL单元包括NAL单元标头及NAL单元有效负载数据,且其中所述用于将所述解码次序编号信息囊封于所述RTP包中的装置包括用于将所述解码次序编号信息囊封于所述NAL单元标头与所述NAL单元有效负载数据之间的装置。
21.根据权利要求20所述的设备,其中所述单个NAL单元包括NAL单元标头及NAL单元有效负载数据,且其中所述用于将所述解码次序编号信息囊封于所述RTP包中的装置包括用于将所述解码次序编号信息囊封于所述单个NAL单元之前的装置,所述设备进一步包括:
用于将RTP有效负载标头在所述解码次序编号信息之前囊封于所述RTP包中的装置,其中所述RTP有效负载标头包括包含于所述NAL单元标头中的信息。
22.根据权利要求19所述的设备,其进一步包括:
用于基于所述RTP会话呈单流发射SST模式且所述解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的所述最大数目等于0而制止将所述解码次序编号信息囊封于所述RTP包中的装置。
23.根据权利要求19所述的设备,其中所述解包化缓冲器中的在接收次序上可先于所述NAL单元且在解码次序上在所述NAL单元之后的NAL单元的所述最大数目是由在所述RTP会话的设置期间指定的语法元素的值来表示。
24.根据权利要求23所述的设备,其中所述语法元素包括sprop-depack-buf-nalus参数。
CN201480029251.0A 2013-05-31 2014-05-30 用于视频译码的具有解码次序编号的单个网络抽象层单元包 Active CN105230016B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361829950P 2013-05-31 2013-05-31
US61/829,950 2013-05-31
US14/290,537 US9350781B2 (en) 2013-05-31 2014-05-29 Single network abstraction layer unit packets with decoding order number for video coding
US14/290,537 2014-05-29
PCT/US2014/040318 WO2014194243A1 (en) 2013-05-31 2014-05-30 Single network abstraction layer unit packets with decoding order number for video coding

Publications (2)

Publication Number Publication Date
CN105230016A CN105230016A (zh) 2016-01-06
CN105230016B true CN105230016B (zh) 2018-10-09

Family

ID=51985060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480029251.0A Active CN105230016B (zh) 2013-05-31 2014-05-30 用于视频译码的具有解码次序编号的单个网络抽象层单元包

Country Status (8)

Country Link
US (1) US9350781B2 (zh)
EP (1) EP3005700B1 (zh)
JP (1) JP6073527B2 (zh)
KR (1) KR101739682B1 (zh)
CN (1) CN105230016B (zh)
ES (1) ES2734551T3 (zh)
HU (1) HUE044189T2 (zh)
WO (1) WO2014194243A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9723305B2 (en) 2013-03-29 2017-08-01 Qualcomm Incorporated RTP payload format designs
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
WO2016144366A1 (en) * 2014-03-12 2016-09-15 Infinesse Corporation Real-time transport protocol (rtp) media conference server routing engine
CN106303537B (zh) * 2016-08-30 2019-05-10 北京容联易通信息技术有限公司 一种openh264多码流传输方法
CN108881114B (zh) * 2017-05-10 2020-12-29 上海交通大学 一种用于stl/sfn传输的rtp协议封装方法
CN113228588A (zh) * 2018-12-27 2021-08-06 华为技术有限公司 关于视频译码中的帧内随机接入点图像和前置图像
WO2020253810A1 (en) * 2019-06-21 2020-12-24 Beijing Bytedance Network Technology Co., Ltd. Coding tools for chroma components
US11265357B2 (en) * 2019-10-10 2022-03-01 Microsoft Technology Licensing, Llc AV1 codec for real-time video communication
KR20220114557A (ko) 2019-12-26 2022-08-17 바이트댄스 아이엔씨 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들
CN112995237B (zh) * 2021-05-21 2021-10-08 杭州博雅鸿图视频技术有限公司 一种用于处理视频数据流的方法、装置、设备及存储介质
CN113645192A (zh) * 2021-07-16 2021-11-12 青岛小鸟看看科技有限公司 Rtp数据包处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040233551A1 (en) * 1997-05-07 2004-11-25 Olympus Corporation Prism optical element, image observation apparatus and image display apparatus
US20070201549A1 (en) * 2006-01-11 2007-08-30 Nokia Corporation Backward-compatible aggregation of pictures in scalable video coding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100568964C (zh) * 2003-02-18 2009-12-09 诺基亚有限公司 图像解码方法
CA2515354C (en) 2003-02-18 2013-08-06 Nokia Corporation A method for buffering media data in systems where decoding order is different from transmission order
US7483532B2 (en) * 2003-07-03 2009-01-27 Microsoft Corporation RTP payload format
US7542435B2 (en) 2004-05-12 2009-06-02 Nokia Corporation Buffer level signaling for rate adaptation in multimedia streaming
US8352625B2 (en) * 2007-09-24 2013-01-08 Nokia Corporation Coded application data unit order recovery in layered multicast
CN103546826B (zh) * 2012-07-16 2017-07-21 上海贝尔股份有限公司 视频业务的传输方法和装置
US9723305B2 (en) * 2013-03-29 2017-08-01 Qualcomm Incorporated RTP payload format designs
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040233551A1 (en) * 1997-05-07 2004-11-25 Olympus Corporation Prism optical element, image observation apparatus and image display apparatus
US20070201549A1 (en) * 2006-01-11 2007-08-30 Nokia Corporation Backward-compatible aggregation of pictures in scalable video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RTP Payload Format for H.264 Video;Y. K WANG et al.;《RFC 6184, IETF》;20110531;1-100 *
TOWARDS SCALABLE AUDIOVISUAL BROADCASTING NETWORKS;CARMINATI L ET AL;《INTERNATIONAL BROADCASTING CONFERENCE 2009,9-9-2009 - 13-9-2009》;20090909;4-5 *
WENGER INDEPENDENT Y-K WANG HUAWEI TECHNOLOGIES T SCHIERL FRAUNH.RTP Payload Format for Scalable Video Coding;draft-ietf-avt-rtp-svc-27.《RTP PAYLOAD FORMAT FOR SCALABLE VIDEO CODING;DRAFT-FEFT-RTP-SVC-27. TXT, INTERNET ENGINEERING TASK FORCE, IETF;STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH-1205 GENEVA,SWITZERLAND》.2011,(第27期),1-105. *

Also Published As

Publication number Publication date
KR20160016937A (ko) 2016-02-15
HUE044189T2 (hu) 2019-10-28
JP2016526350A (ja) 2016-09-01
WO2014194243A1 (en) 2014-12-04
EP3005700A1 (en) 2016-04-13
US9350781B2 (en) 2016-05-24
EP3005700B1 (en) 2019-04-10
ES2734551T3 (es) 2019-12-10
KR101739682B1 (ko) 2017-05-24
CN105230016A (zh) 2016-01-06
JP6073527B2 (ja) 2017-02-01
US20140355616A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
CN105230016B (zh) 用于视频译码的具有解码次序编号的单个网络抽象层单元包
CN105052151B (zh) 改进的有效负载格式设计
CN104396253B (zh) 解码和编码视频数据的方法和装置及计算机可读存储媒体
CN104704841B (zh) 编码和解码视频数据的方法和装置及计算机可读存储介质
CN104641645B (zh) 用于视频译码的交错视频数据的指示的方法和设备
JP6960945B2 (ja) 別々のファイルトラックにおけるシーケンス終了およびビットストリーム終了nalユニット
JP6545722B2 (ja) パラメータセットにおいて異なる数のビデオ信号情報シンタックス構造を選択的にシグナリングするためのシステムおよび方法
CN104429084B (zh) 包含固定长度译码的视频参数集id(vps_id)的sei消息
CN104272746B (zh) 用于视频序列中的随机存取点图片的经解码图片缓冲器处理
CN105409219B (zh) 高效率视频译码扩展中的目标输出层的选择
CN104904208B (zh) 用于视频译码中的随机存取的视频缓冲操作
CN105122798B (zh) 多层视频译码中的交叉层图片类型对准的指示
CN105794207B (zh) 参考图片选择
CN106464911A (zh) 多层视频编解码器中的恢复点sei消息
JP2023517440A (ja) ビデオコーディングのためのビデオデータの記憶および配信

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