CN113453006B - 一种图片封装方法、设备以及存储介质 - Google Patents

一种图片封装方法、设备以及存储介质 Download PDF

Info

Publication number
CN113453006B
CN113453006B CN202110234142.4A CN202110234142A CN113453006B CN 113453006 B CN113453006 B CN 113453006B CN 202110234142 A CN202110234142 A CN 202110234142A CN 113453006 B CN113453006 B CN 113453006B
Authority
CN
China
Prior art keywords
last
bit
packets
header
nal unit
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
CN202110234142.4A
Other languages
English (en)
Other versions
CN113453006A (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.)
Tencent America LLC
Original Assignee
Tencent America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/077,546 external-priority patent/US11539820B2/en
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN113453006A publication Critical patent/CN113453006A/zh
Application granted granted Critical
Publication of CN113453006B publication Critical patent/CN113453006B/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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开实施例公开一种图片封装方法、设备以及存储介质,所述方法包括:获取多个NAL单元,所述多个NAL单元包括图片的第一个NAL单元和图片的最后一个NAL单元;将图片的第一个NAL单元分割成多个第一片段,并将图片的最后一个NAL单元分割成多个最后片段;将多个第一片段封装成多个第一分片单元(FU)包,并将多个最后片段封装成多个最后FU包;以及发送多个第一FU包和多个最后FU包,其中,多个最后FU包中的最后FU包包括最后FU报头,该最后FU报头包括最后R比特,并且其中该最后R比特被设置为1。

Description

一种图片封装方法、设备以及存储介质
交叉引用
本申请要求于2020年3月25日在美国专利商标局提交的第62/994,563号美国临时申请以及在2020年10月22日在美国专利商标局提交的第17/077,546号美国申请的优先权,其全部内容通过引用结合于此。
技术领域
所公开的主题涉及视频编码和解码,并且尤其涉及图片边界信息的信令,所述图片边界信息的信令用于支持视频有效载荷格式中的图片的单独存取。
背景技术
实时传输协议(RTP:Real-time Transport Protocol)是在IP网络上传递视频的网络协议,其已在利用流媒体的通信***中使用,例如视频会议应用。RTP有效载荷格式最近受到关注,用于承载符合编码标准ITU-T建议[H.266]和ISO(InternationalOrganization for Standardization)/IEC(International ElectrotechnicalCommission)国际标准[ISO23090-3]的视频数据,这两种标准也称为下一代视频编码(VVC:Versatile Video Coding)并且由联合视频专家组(JVET:Joint Video Experts Team)开发。RTP有效载荷格式允许在每个RTP包(数据包)有效载荷中对至少一个网络抽象层(NAL:Network Abstraction Layer)单元进行封装,以及将NAL单元分片至多个RTP包(数据包)。
至少一些视频编码标准认识到存取单元(AU:Access Unit)的概念。在单层情况下,存取单元可以由单个编码的图片组成。在其它情况下,特别是那些涉及分层编码和多视角编码的情况下,AU可以包括共享某些定时信息例如具有相同的呈现时间的多个编码的图片。
RTP报头可以包括所谓的“标记”位(M比特(比特位))。按照惯例,在几乎所有RTP有效载荷格式中,对于携带AU的最后比特串的RTP包,M比特被指定为等于一,否则将其设置为零,所述RTP有效载荷格式可以识别AU的概念。当接收器接收到设置了M比特的RTP包时,它知道该RTP包是AU的最后一个数据包,并且可以相应地进行处理。这种处理的一些细节可以在RTP规范中找到。
至少一些视频编码标准进一步识别到编码的图片的概念,该已编码图片可以不同于AU。AU和编码图片可能不同,例如,如果AU由几个编码图片组成,则在使用空间或SNR可伸缩性时可能会有所不同;或在有多余图片的情况下会有所不同。
如果发送端点从存储设备/硬盘驱动器获取其发送视频码流,则这种文件可能不包括关于存取单元或已编码图片边界相关的容易存取的元信息,例如因为码流可以例如以通常称为“附录B码流”的格式存储。在这种场景下,可能没有可用的从编码器到RTP封装器的应用程序接口(API)信息,该API信息发信号通知比特流的比特串是AU的最终比特串或已编码图片的最终比特串。相反,RTP封装器可能必须识别所述比特串,所述比特串包括AU或已编码图片的末尾而没有通常可由编码器获取的辅助信息。
发明内容
在实施例中,提供了一种对图片的多个网络抽象层(NAL)单元进行封装的方法,该方法包括:获取所述多个NAL单元,所述多个NAL单元包括所述图片的第一个NAL单元和所述图片的最后一个NAL单元;将所述图片的所述第一个NAL单元分割成多个第一片段,并将所述图片的所述最后一个NAL单元分割成多个最后片段;将所述多个第一片段封装成多个第一分片单元FU包,并将所述多个最后片段封装成多个最后FU包;以及发送所述多个第一FU包和所述多个最后FU包,其中,所述多个最后FU包中的一个最后FU包中,包括最后FU报头,所述最后FU报头包括最后R比特,以及所述最后R比特被设置为1。
在实施例中,提供了一种对图片的多个网络抽象层(NAL)单元进行封装的设备,该设备包括:获取模块,用于使得所述至少一个处理器获取所述多个NAL单元,所述多个NAL单元包括所述图片的第一个NAL单元和所述图片的最后一个NAL单元;分割模块,用于使得所述至少一个处理器将所述图片的所述第一个NAL单元分割成多个第一片段,并将所述图片的所述最后一个NAL单元分割成多个最后片段;封装模块,用于使得所述至少一个处理器将所述多个第一片段封装成第一多个分片单元FU包,并将所述多个最后片段封装成多个最后FU包;以及发送模块,用于使得所述至少一个处理器发送所述多个第一FU包和所述多个最后FU包,其中,所述多个最后FU包中的最后FU包包括最后FU报头,所述最后FU报头包括最后R比特,以及所述最后R比特被设置为1。
在实施例中,提供了一种计算设备,包括处理器和存储器;所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本公开实施例所述的方法。
在实施例中,提供了一种存储指令的非易失性计算机可读介质,这些指令包括至少一个指令,当至少一个指令由用于对图片的多个网络抽象层(NAL)单元进行封装的设备的至少一个处理器执行时,使得该至少一个处理器执行本公开实施例所述的方法。
本公开实施例的上述技术方案中,通过对图片的多个网络抽象层NAL单元进行封装,并对图片的最后NAL单元的多个最后FU包的最后一个FU包的报头中设置标志位,这样可以便于识别图片的边界信息,进而可以高效地进行图片的单独存取。
附图说明
所公开的主题的进一步的特征、性质及各种优点将从以下详细描述和附图中变得更加显而易见,其中:
图1是根据实施例的通信***的简化框图的示意图。
图2是根据实施例的RTP报头的示意图。
图3是根据实施例的包括有效载荷报头和实际有效载荷的RTP的示意图。
图4是根据实施例的具有比特边界的VVC中的NAL单元报头的示意图。
图5是根据实施例的分片单元(FU)有效载荷格式的示意图。
图6是根据实施例的用于下一代视频编码(VVC)的FU报头的示意图。
图7是根据实施例的具有两个FU结构的VCL NAL单元报头的示意图。
图8是根据实施例的用于对图片的多个网络抽象层(NAL)单元进行封装的示例方法的流程图。
图9是根据实施例的计算机***的示意图。
具体实施方式
在实施例中,描述了用于发信号通知和识别实时传输协议(RTP:Real-timeTransport Protocol)有效载荷格式的图片边界的方法,用于下一代视频编码(VVC:Versatile Video Coding)、其他协议和编解码器。图片边界的指示可以允许有效的播放缓冲器处理。
参考图1,通信***可以包括至少一个端点(endpoint)(11、12、13),该至少一个端点(11、12、13)使用诸如语音、视频和/或其他媒体的实时媒体在诸如因特网的IP网络(14)上彼此通信。该***可以进一步包括至少一个媒体感知网络元件(15),该至少一个媒体感知网络元件(15)用于转发由一个端点发送的媒体至其他端点之前,操控该媒体。
在某些这样的***设计中,端点和/或媒体感知网络元件(MANE:Media AwareNetwork Element)可以包括RTP封装器,该RTP封装器在网络上将RTP包发送到RTP接收器,所述RTP接收器位于,例如,另一端点或MANE中。在一些情况下,发送端点可以包括功能上耦合到视频编码器的视频摄像机,该视频摄像机又耦合到封装器,使得由视频摄像机采集的视频使用RTP包在网络(14)上从发送端点例如端点(11)传输到接收端点例如端点(12)。
在某些情况下,发送端点可以不包括视频编码器。而是可以从存储在硬盘驱动器等(16)上的文件中获取视频,硬盘驱动器等(16)耦合到端点(11)。
在因特网和其它IP网络上视频的某些实时通信技术依赖于RFC 3550中指示的RTP。在一些情况下,RTP包在IP上的UDP上从一个端点或MANE传输到另一端点或MANE。参考图2,示出了RFC3550中指示的RTP报头结构。每个RTP包以RTP包的报头开始。图2图示了RFC3550中指示的RTP报头的格式。
版本(Version,V)字段(201)用于识别RTP的版本并且等于2。填充(Padding,P)字段(202)用于指示包的末端处是否包含至少一个附加的填充八位组(octet)。扩展(Extension,X)字段(203)用于指示固定报头之后是否正好跟随一个报头扩展(headerextension)。CSRC计数(CSRC count,CC)字段(204)包含固定报头之后的CSRC标识符(210)的数量。标记(Marker,M)字段(205)允许标记重要事件,例如包流(packet stream)中的存取单元边界(Access Unit boundary)。有效载荷类型(Payload Type,PT)字段指示有效载荷类型(206)-使用中的媒体的类型,例如根据ITU-T建议书H.264使用具有一组RFC3984参数的RTP有效载荷格式RFC 6184进行编码的视频。PT在许多情况下是由呼叫控制协议(callcontrol protocol)选择/协商的。对于每个要发送的RTP包,RTP序列号(207)都会增加一,直到绕回为止。RTP时间戳(208)用于指示包中表示的第一样本被采样的时刻(采集时间),并且通常用作呈现时间(presentation time)。至少某些视频编解码器的时间戳为90kHz,而对于许多音频编解码器,时间戳等于采样率,例如8kHz,44.1kHz或48kHz。下面仅在必要的程度上介绍同步源(209)和贡献源(210)。
RTP遵循应用层成帧的一般方法,因此对某些有效负载的适配,例如根据某些视频编码标准指定的编码视频格式,可以由称为RTP有效负载格式的主要RTP规范之外的辅助规范指定。某些RTP有效载荷格式重新使用网络抽象头(Network Abstraction Header)的比特作为它们的有效载荷报头,所述网络抽象头存在于某些视频编码标准例如H.264或H.265中。在这样的RTP有效载荷格式和视频编码标准中,网络抽象层单元(Network AbstractionLayer,NAL单元或Network Abstraction Layer Unit,NALU)可以是有限大小的比特串,覆盖一个已编码图片或其明确定义的部分,例如条带(slice)、片(tile)、GOB等。
比特串可以包括类似其开始处的相对短的数据结构,例如长度为8或16比特,该数据结构包含与所包括的比特串的类型相关的最小信息,并且在一些场景中,该数据结构包含分层信息。
如上所述,RTP报头可以包括所谓的“标记”位(M比特(比特位))(205)。按照惯例,在识别AU概念的几乎所有RTP有效载荷格式中,对于携带AU的最后比特串的RTP包,指定M比特等于一,否则将其设置为零。当接收器接收到具有M比特组的RTP包时,它知道该RTP包是AU的最后的包,并且可以相应地处理该RTP包。这种处理的一些细节可以在RTP规范中找到。再次参考图1,假设发送端点(11)从存储设备/硬盘驱动器(16)获取其发送视频比特流,则该文件可能不包括存取单元或已编码图片边界相关的易于存取的元信息,例如因为比特流可以例如以通常称为“附录B比特流”的格式存储。在这种场景下,可能没有可用的从编码器到RTP封装器的应用程序接口(Application Programmer’s Interface,API)信息,该信息发信号通知(signal)比特流的比特串是AU或已编码图片的最终比特串。相反,RTP封装器可能必须识别包括AU或已编码图片的末端的比特串,该比特串没有包括通常可由编码器获取的辅助信息。
在一实施例中,传输层可以使用RTP包来传递包括视频和音频的媒体数据。参考图3,每个RTP包以RTP报头开始。RTP报头字段已经在上面介绍。在相同或另一实施例中,可以根据RFC 3550和适用的RTP有效载荷规范来设置这些RTP头字段。
在相同或另一实施例中,RTP包可以进一步包括RTP有效载荷报头(RTP payloadheader)(302)。例如,可以在适用于给定的有效载荷的RTP有效载荷规范中指定RTP有效载荷报头格式。给定的有效载荷可以是例如根据VVC规范(也称为ITU-T Rec.H.266)编码的视频。RTP有效载荷报头的目的可以包括例如:
a)在RTP报头(301)中不可用和/或从有效载荷(303)本身不可用或不容易获取的程度上,提供与有效载荷相关并且对解封装器(Depacketizer)、抖动缓冲器管理等有用的控制信息。例如,可以使用复杂的可变长度代码、算术编解码器等对有效载荷(303)进行编码,这些复杂的可变长度代码、算术编解码器等对于解码目的而言可能是足够的,但是对于位于MANE中的解封装器而言太重;
b)提供附加功能。示例包括视频单元(例如编解码器图片、已编码条带、NAL单元等)的分片;视频单元的聚合;某些语法元素tp的冗余副本,可实现在数据包丢失等情况下的轻松访问和/或冗余,等等。
RTP有效载荷报头(202)之后可以是RTP有效载荷(303)。RTP有效载荷可以根据诸如音频编解码或视频编解码器规范之类的媒体编解码规范来编码,并且可以包括例如至少一个经压缩或未经压缩的音频样本、经压缩或未经压缩的图片或其部分等。
此后,实施例可以涉及根据VVC规范编码的视频以及相应的RTP有效载荷格式。
VVC使用基于NAL单元的视频比特流结构。NAL单元可以是表示控制数据-非视频编码层(VCL-)NAL单元-或关于图片、条带(slice)、片(tile)或类似结构的经压缩视频数据(VCL NAL单元)的已编码视频比特的比特串。根据某些RTP有效载荷格式,一个RTP包可以在其有效载荷(203)中携带单个NAL单元(在这种情况下,NAL单元报头共同充当RTP有效载荷格式报头)、多个NAL单元(聚合包,其具有其自己的类似NAL单元的结构作为RTP有效载荷报头,随后是两个或多个NAL单元),以及NAL单元的片段(在这种情况下,RTP有效载荷报头用于分片的控制信息,并且其后跟随NAL单元的片段)。
不管RTP包携带多少报文(或其片段),对于解封装器来说,能够识别给定已编码图片的最后的包,是有利的。在某些非分层环境中,这可以通过RTP报头(205)的标记(M)比特来实现。特别地,可以根据某些RTP描述文件和RTP有效载荷格式来实现。
在相同或另一实施例中,当标记位被设置为等于1时,它指示当前包可以是当前RTP流中的存取单元的最后的包。当标记位被设置为等于0时,它指示当前包可能不是存取单元的最后的包。由于在某些非分层环境中,AU边界可以与已编码图片边界相同,标记位可以作为图片边界指示。然而,在分层环境中,以及在涉及例如冗余图片的某些非分层环境中,当标记位当被设置在AU边界处时,也不能指示已编码图片边界,因为可能存在比AU边界更多的图片边界。
参考图4,在相同或另一实施例中,VVC NAL单元报头可以包括两个字节(16比特)。禁止零位(Forbidden-zero bit)F(401)总是零。5比特用于表示NAL单元类型(Type)(404),意味着可以存在多达32种类型的NAL单元或类似NAL单元的结构。VCL NAL单元的数值范围在零和12之间,并且非VCL NAL单元类型的范围在13和31之间。Z比特(402)、LayerID(403)和Temporal ID(405)分别用于管理空间/SR和时间分层,此处不再赘述。
在VVC RTP有效载荷格式中,指示了三种不同类型的RTP包有效载荷结构。接收器可以通过有效载荷报头中的类型字段来识别RTP包有效载荷的类型。单个NAL单元包在有效载荷中包含单个NAL单元,并且NAL单元的NAL单元报头也用作有效载荷报头。聚合包(AP:Aggregation Packet)在一个存取单元内包含多于一个的NAL单元,并且本文不再进一步描述。分片包(Fragmentation Packets)包含分片单元(FU:Fragmentation Unit),该分片单元又包含单个NAL单元的子集。
分片单元(FU)使得能够将单个NAL单元分段成多个RTP包。NAL单元的片段可以由NAL单元的整数个的连续八位组(octets)组成。可以以具有递增的RTP序列号的连续顺序来发送相同NAL单元的片段。当NAL单元在FU内被分段和传送时,则将它称为分段的NAL单元。
参考图5,在相同或另一实施例中,FU包可以包括NAL单元有效载荷报头(501),所述NAL单元有效载荷报头(501)用于指示该包是分片包,该NAL单元6-78有效载荷报头(501)包括如下所述的各种字段:FU有效载荷(505)和可选的RTP填充(506),以及FU报头(502)和有条件地,以网络字节顺序编码的解码顺序号差(Decoding Order Number Difference,DONL)(504)。
在相同或另一实施例中,参考图6,在具有5比特的FuType(604)中发信号通知NAL单元的NAL单元类型,该NAL单元的片段携带在FU中。FU报头可以进一步包括S比特、E比特、R比特。为NAL单元的第一片段设置S比特(601),否则将其清除;并且为NAL单元的最后片段设置E比特(602),否则将其清除。
在相同或另一实施例中,可以保留R比特(603)以供后续使用;由封装器将R比特(603)设置为例如0,并且由解封装器忽略所述R比特(603)。
在相同或另一实施例中,R比特(603)可以指示已编码图片的解码顺序中的第一NAL单元的第一片段。如果片段是已编码图片的解码顺序中的第一NAL单元的第一片段,则该比特可以被设置为1,否则被设置为0。RTP有效载荷规范还可以颠倒这些语义,其中如果该片段是已编码图片的解码顺序中的第一NAL单元的第一片段,则该比特可以被设置为0,否则被设置为1。
在相同或另一实施例中,R比特(603)可以指示已编码图片的解码顺序中的最后NAL单元的最后片段。如果片段是已编码图片的解码顺序中的最后NAL单元的最后片段,则该比特可以被设置为1,否则被设置为0。RTP有效载荷规范还可以颠倒这些语义,其中如果该片段是已编码图片的解码顺序中的最后NAL单元的最后片段,则该比特可以被设置为0,否则被设置为1。
在相同或另一实施例中,如果NAL单元是比特流的最后NAL单元,则可以确定该NAL单元为图片的最后NAL单元。如果以下条件之一为真,则还可以将NAL单元naluX确定为图片的最后NAL单元:1)解码顺序中的下一个VCL NAL单元naluY具有等于19的nal_unit_type(即PH_NUT),或者2)在其NAL单元报头(即picture_header_in_slice_header_flag)之后的第一字节的高比特(high-order bit)等于1。
在相同或另一实施例中,与R比特相似的语法元素或比特可以不放置在FU报头中,而是放置在RTP有效载荷报头的另一适当语法结构中;例如,放置在有效载荷报头本身、聚合包报头和聚合单元报头中等。
参考图7,在相同或另一实施例中,示出了NAL单元(713),该NAL单元(713)已经被分成两个RTP包,以便图示FU的使用。当使用RTP在IP网络上发送时,可以以具有递增的RTP序列号的连续顺序来发送相同NAL单元的片段。
NAL单元713可以被分成两个片段,并且每个片段可以携带在其自己的RTP包中。也可以分成两个以上的包。
例如,NAL单元(713)可以包含n比特,并且被划分成两个片段,所述两个片段作为k比特的第一FU有效载荷(710)和n-k比特的第二FU有效载荷(712)来承载。两个FU有效载荷中的每一个FU有效载荷在其各自的FU报头之后,例如,FU有效载荷(710)在FU报头(709)之后,并且FU有效载荷(712)在FU报头(711)之后。
在实施例中,在第一FU报头(709)内,可以设置S比特(701)并且可以清除E比特(702),以指示这是NAL单元的第一片段。设置类型(Type)字段(704)为NAL单元的类型。R比特(703)可以如在上面的可选方案之一中描述的那样进行设置。例如,如果NAL单元(713)是图片的第一NAL单元,则可以将R比特(703)设置为用于指示包括在FU有效载荷(710)中的片段是图片的第一NAL单元的第一片段。
在第二FU报头(711)中,清除S比特(705)并且设置E比特(706),以指示这是NAL单元的最后片段。设置类型(Type)字段(708)为NAL单元的类型。将R比特(707)如在上面的可选方案之一中描述的那样进行设置。例如,如果NAL单元(713)是图片的最后NAL单元,则可以将R比特(707)设置为用于指示包括在FU有效载荷(712)中的片段是图片的最后NAL单元的最后片段。
在实施例中,一种由封装器根据至少一个RTP有效载荷规范,将NAL单元封装成多个RTP包的方法可以包括:将NAL单元分割成多个片段;将每个片段封装成RTP包,所述RTP包包括FU报头,FU报头包括R比特。在实施例中,如果NAL单元是已编码图片的最后NAL单元,则R比特可以由封装器设置,并且否则进行清除。
在实施例中,一种由解封装器根据至少一个RTP有效载荷规范从多个RTP包中对NAL单元进行解包的方法可以包括:对NAL单元进行解码;从包括FU报头的RTP包中对每个片段进行解包,FU报头包括R比特,并且将多个片段组装成NAL单元。在实施例中,如果NAL单元是已编码图片的最后NAL单元,则由封装器观察到的R比特可以等于一,否则等于零。
图8是用于使用至少一个处理器对图片的多个NAL单元进行封装的示例方法800的流程图。在一些实施方式中,图8中的至少一个方法框可以由例如上面论述的封装器或解封装器执行。在一些实施方式中,图8中的至少一个方法框可以由另一设备或一组设备执行,例如上面论述的端点和MANEs。
如图8所示,方法800可以包括获取多个NAL单元,所述多个NAL单元包括图片的第一个NAL单元和图片的最后一个NAL单元(框810)。
如图8进一步所示,方法800可以包括将图片的第一个NAL单元分割成多个第一片段,并将图片的最后一个NAL单元分割成多个最后片段(框820)。
如图8进一步所示,方法800可以包括将多个第一片段封装成多个第一分片单元(FU)包以及将多个最后片段封装成多个最后FU包。在实施例中,多个最后FU包中的最后FU包可以包括最后的FU报头,该最后的FU报头包括最后的R比特,并且可以对最后的R比特进行设置,例如设置为1(框830)。
如图8进一步所示,方法800可以包括发送多个第一FU包以及多个最后FU包(框840)。
在实施例中,多个第一FU包和多个最后FU包可以包括实时传输协议(RTP:Real-time Transport Protocol)包。
在实施例中,多个第一FU包中的第一FU包可以包括第一FU报头,该第一FU报头包括第一R比特,并且第一R比特可以被设置为0。
在实施例中,多个第一FU包中的第一FU包可以包括第一FU报头,该第一FU报头包括第一S比特,并且最后FU报头可以包括最后S比特。
在实施例中,可以将第一S比特设置为1,并且可以将最后S比特设置为0。
在实施例中,多个NAL单元可以包括在第一个NAL单元和最后一个NAL单元之间的中间NAL单元,可以将中间NAL单元分割成多个中间片段,并且可以将多个中间片段封装成多个中间FU包。
在实施例中,多个第一FU包中的第一FU包可以包括第一FU报头,该第一FU报头包括第一E比特,多个中间FU包中的最后FU包可以包括中间FU报头,该中间FU头包括中间E比特,并且最后FU头可以包括最后E比特。
在实施例中,可以将第一E比特设置为0,其中,所述中间E比特可以设置为1,并且所述最后E比特可以设置为0。
本公开实施例的上述技术方案中,通过对图片的多个网络抽象层NAL单元进行封装,并对图片的最后NAL单元的多个最后FU包的最后一个FU包的报头中设置标志位,这样可以便于识别图片的边界信息,进而可以高效地进行图片的单独存取。
虽然图8示出了方法800的示例框,但是在一些实施方案中,方法800可以包括比图8中描绘的这些框附加的框、更少的框、不同的框或不同排列的框。另外地或可选地,方法800的框中的两个或多个可以并行地执行。
进一步地,可以通过处理电路(例如,至少一个处理器或至少一个集成电路)来实施所提出的方法。在一个示例中,至少一个处理器执行存储在非易失性计算机可读介质中的程序,以执行所提出的至少一个方法。
对应于上述方法800,本公开实施例还提供了一种对图片的多个网络抽象层NAL单元进行封装的设备,该设备包括:
获取模块,用于获取所述多个NAL单元,所述多个NAL单元包括所述图片的第一个NAL单元和所述图片的最后一个NAL单元;
分割模块,用于将所述图片的所述第一个NAL单元分割成多个第一片段,并将所述图片的所述最后一个NAL单元分割成多个最后片段;
封装模块,用于将所述多个第一片段封装成多个第一分片单元FU包,并将所述多个最后片段封装成多个最后FU包;以及
发送模块,用于发送所述多个第一FU包和所述多个最后FU包,
其中,所述多个最后FU包中的最后FU包包括最后FU报头,所述最后FU报头包括最后R比特,以及所述最后R比特被设置为1。
在一些实施例中,所述多个第一FU包和所述多个最后FU包包括实时传输协议RTP包。
在一些实施例中,所述多个第一FU包中的第一FU包包括第一FU报头,所述第一FU报头包括第一R比特,并且所述第一R比特被设置为0。
在一些实施例中,所述多个第一FU包中的第一FU包包括第一FU报头,所述第一FU报头包括第一S比特,其中,所述最后FU报头包括最后S比特。
在一些实施例中,所述第一S比特被设置为1,并且所述最后S比特被设置为0。
在一些实施例中,所述多个NAL单元包括在所述第一个NAL单元和所述最后一个NAL单元之间的中间NAL单元,其中,所述中间NAL单元被分割成多个中间片段,其中,所述多个中间片段被封装成多个中间FU包。
在一些实施例中,所述多个第一FU包中的第一FU包包括第一FU报头,所述第一FU报头包括第一E比特,其中,所述多个中间FU包中的最后FU包包括中间FU报头,所述中间FU报头包括中间E比特,其中,所述最后FU报头包括最后E比特。
在一些实施例中,所述第一E比特被设置为0,其中,所述中间E比特被设置为1,以及其中,所述最后E比特被设置为0。
上述在IP网络上以视频有效载荷格式发信号通知和识别图片边界的技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图9示出了计算机***(900),其适于实现所公开主题的某些实施例。
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由一个或多个计算机中央处理单元(CPU),图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图9所示的用于计算机***(900)的组件本质上是示例性的,并不用于对实现本申请实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机***(900)的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。
计算机***(900)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出),对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
人机界面输入设备可包括以下中的一个或多个(仅绘出其中一个):键盘(901)、鼠标(902)、触控板(903)、触摸屏(910)、数据手套(未示出)、操纵杆(905)、麦克风(906)、扫描仪(907)、照相机(908)。
计算机***(900)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏(910)、数据手套(904)或操纵杆(905)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(909)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(910),其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。
计算机***(900)还可以包括人可访问的存储设备及其相关介质,如包括具有CD/DVD的高密度只读/可重写式光盘(CD/DVD ROM/RW)(920)或类似介质(921)的光学介质、拇指驱动器(922)、可移动硬盘驱动器或固体状态驱动器(923),诸如磁带和软盘(未示出)的传统磁介质,诸如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。
本领域技术人员还应当理解,结合所公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
计算机***(900)还可以包括通往一个或多个通信网络的接口。例如,网络可以是无线的、有线的、光学的。网络还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。网络还包括以太网、无线局域网、蜂窝网络(GSM、3G、4G、5G、LTE等)等局域网、电视有线或无线广域数字网络(包括有线电视、***、和地面广播电视)、车载和工业网络(包括CANBus)等等。某些网络通常需要外部网络接口适配器,用于连接到某些通用数据端口或***总线(949)(例如,计算机***(900)的USB端口);其它***通常通过连接到如下所述的***总线集成到计算机***(900)的核心(例如,以太网接口集成到PC计算机***或蜂窝网络接口集成到智能电话计算机***)。通过使用这些网络中的任何一个,计算机***(900)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如CAN总线到某些CAN总线设备),或双向的,例如通过局域或广域数字网络到其它计算机***。上述的每个网络和网络接口可使用某些协议和协议栈。
上述的人机界面设备、人可访问的存储设备以及网络接口可以连接到计算机***(900)的核心(940)。
核心(940)可包括一个或多个中央处理单元(CPU)(941)、图形处理单元(GPU)(942)、以现场可编程门阵列(FPGA)(943)形式的专用可编程处理单元、用于特定任务的硬件加速器(944)等。这些设备以及只读存储器(ROM)(945)、随机存取存储器(946)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘等)(947)等可通过***总线(948)进行连接。在某些计算机***中,可以以一个或多个物理插头的形式访问***总线(948),以便可通过额外的中央处理单元、图形处理单元等进行扩展。***装置可直接附接到核心的***总线(948),或通过***总线(949)进行连接。***总线的体系结构包括外部控制器接口PCI、通用串行总线USB等。
CPU(941)、GPU(942)、FPGA(943)和加速器(944)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(945)或RAM(946)中。过渡数据也可以存储在RAM(946)中,而永久数据可以存储在例如内部大容量存储器(947)中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与一个或多个CPU(941)、GPU(942)、大容量存储器(947)、ROM(945)、RAM(946)等紧密关联。
所述计算机可读介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本申请的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
作为实施例而非限制,具有体系结构(900)的计算机***,特别是核心(940),可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供执行包含在一个或多个有形的计算机可读介质中的软件的功能。这种计算机可读介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心(940)的特定存储器,例如核心内部大容量存储器(947)或ROM(945)。实现本申请的各种实施例的软件可以存储在这种设备中并且由核心(940)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(940)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(946)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机***可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器(944))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。本申请包括任何合适的硬件和软件组合。
虽然本申请已对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本申请的范围内。因此应理解,本领域技术人员能够设计多种***和方法,所述***和方法虽然未在本文中明确示出或描述,但其体现了本申请的原则,因此属于本申请的精神和范围之内。

Claims (15)

1.一种对图片的多个网络抽象层NAL单元进行封装的方法,其特征在于,所述方法包括:
获取所述多个NAL单元,所述多个NAL单元包括所述图片的第一个NAL单元和所述图片的最后一个NAL单元;
将所述图片的所述第一个NAL单元分割成多个第一片段,以及将所述图片的所述最后一个NAL单元分割成多个最后片段;
将所述多个第一片段封装成多个第一分片单元FU包,并将所述多个最后片段封装成多个最后FU包;以及
发送所述多个第一FU包和所述多个最后FU包,
其中,所述多个最后FU包中的最后一个FU包中,包括最后FU报头,所述最后FU报头包括最后E比特和最后R比特,所述最后E比特用于指示所述最后一个FU包的分片是对应NAL单元的最后一个分片,以及
所述最后R比特被设置为1;
其中,所述最后R比特被设置为1用于指示对应于所述多个最后FU包中的所述最后一个FU包的分片是所述图片的所述最后一个NAL单元的最后一个分片。
2.根据权利要求1所述的方法,其特征在于,所述多个第一FU包和所述多个最后FU包包括实时传输协议RTP包。
3.根据权利要求1所述的方法,其特征在于,所述多个第一FU包中的第一个FU包包括第一FU报头,所述第一FU报头包括第一R比特,并且
其中,所述第一R比特被设置为0。
4.根据权利要求1所述的方法,其特征在于,所述多个第一FU包中的第一个FU包包括第一FU报头,所述第一FU报头包括第一S比特,
其中,所述最后FU报头包括最后S比特。
5.根据权利要求4所述的方法,其特征在于,所述第一S比特被设置为1,并且所述最后S比特被设置为0。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述多个NAL单元包括在所述第一个NAL单元和所述最后一个NAL单元之间的中间NAL单元,
其中,所述中间NAL单元被分割成多个中间片段,
其中,所述多个中间片段被封装成多个中间FU包。
7.根据权利要求6所述的方法,其特征在于,所述多个第一FU包中的第一个FU包包括第一FU报头,所述第一FU报头包括第一E比特,
其中,所述多个中间FU包中的最后FU包包括中间FU报头,所述中间FU报头包括中间E比特,
其中,所述最后FU报头包括所述最后E比特。
8.根据权利要求7所述的方法,其特征在于,所述第一E比特被设置为0,
其中,所述中间E比特被设置为1,以及
其中所述最后E比特被设置为0。
9.一种对图片的多个网络抽象层NAL单元进行封装的设备,其特征在于,所述设备包括:
获取模块,用于使得至少一个处理器获取所述多个NAL单元,所述多个NAL单元包括所述图片的第一个NAL单元和所述图片的最后一个NAL单元;
分割模块,用于使得所述至少一个处理器将所述图片的所述第一个NAL单元分割成多个第一片段,并将所述图片的所述最后一个NAL单元分割成多个最后片段;
封装模块,用于使得所述至少一个处理器将所述多个第一片段封装成多个第一分片单元FU包,并将所述多个最后片段封装成多个最后FU包;以及
发送模块,用于使得所述至少一个处理器发送所述多个第一FU包和所述多个最后FU包,
其中,所述多个最后FU包中的最后一个FU包包括最后FU报头,所述最后FU报头包括最后E比特和最后R比特,所述最后E比特用于指示所述最后一个FU包的分片是对应NAL单元的最后一个分片,以及
所述最后R比特被设置为1;
其中,所述最后R比特被设置为1用于指示对应于所述多个最后FU包中的所述最后一个FU包的分片是所述图片的所述最后一个NAL单元的最后一个分片。
10.根据权利要求9所述的设备,其特征在于,所述多个第一FU包和所述多个最后FU包包括实时传输协议RTP包。
11.根据权利要求9所述的设备,其特征在于,所述多个第一FU包中的第一个FU包包括第一FU报头,所述第一FU报头包括第一R比特,并且
其中,所述第一R比特被设置为0。
12.根据权利要求9所述的设备,其特征在于,所述多个第一FU包中的第一个FU包包括第一FU报头,所述第一FU报头包括第一S比特,
其中,所述最后FU报头包括最后S比特。
13.根据权利要求9所述的设备,其特征在于,所述多个NAL单元包括在所述第一个NAL单元和所述最后一个NAL单元之间的中间NAL单元,
其中,所述中间NAL单元被分割成多个中间片段,
其中,所述多个中间片段被封装成多个中间FU包。
14.一种计算机设备,其特征在于,包括处理器和存储器;所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述的方法。
15.一种存储指令的非易失性计算机可读介质,其特征在于,所述指令包括:至少一个指令,当所述至少一个指令由对图片的多个网络抽象层NAL单元进行封装的设备的至少一个处理器执行时,使得所述至少一个处理器如权利要求1至8中任一项所述的方法。
CN202110234142.4A 2020-03-25 2021-03-03 一种图片封装方法、设备以及存储介质 Active CN113453006B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062994563P 2020-03-25 2020-03-25
US62/994,563 2020-03-25
US17/077,546 US11539820B2 (en) 2020-03-25 2020-10-22 Signaling and identifying picture boundary in video payload format over IP network
US17/077,546 2020-10-22

Publications (2)

Publication Number Publication Date
CN113453006A CN113453006A (zh) 2021-09-28
CN113453006B true CN113453006B (zh) 2024-04-16

Family

ID=77809025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110234142.4A Active CN113453006B (zh) 2020-03-25 2021-03-03 一种图片封装方法、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113453006B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101611612A (zh) * 2007-02-23 2009-12-23 诺基亚公司 聚合媒体数据单元的向后兼容特性
CN105052151A (zh) * 2013-03-29 2015-11-11 高通股份有限公司 改进的有效负载格式设计
JP2017225148A (ja) * 2012-04-16 2017-12-21 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 映像デコーディング方法、映像エンコーディング方法およびデジタル記憶媒体
CN109691103A (zh) * 2016-07-14 2019-04-26 皇家Kpn公司 视频编码

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150189331A1 (en) * 2013-12-27 2015-07-02 Electronics And Telecommunications Research Institute Image data communication method and image data communication device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101611612A (zh) * 2007-02-23 2009-12-23 诺基亚公司 聚合媒体数据单元的向后兼容特性
JP2017225148A (ja) * 2012-04-16 2017-12-21 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 映像デコーディング方法、映像エンコーディング方法およびデジタル記憶媒体
CN105052151A (zh) * 2013-03-29 2015-11-11 高通股份有限公司 改进的有效负载格式设计
CN109691103A (zh) * 2016-07-14 2019-04-26 皇家Kpn公司 视频编码

Also Published As

Publication number Publication date
CN113453006A (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
JP2017153127A (ja) メディアコンテンツ復号装置
CN113287323A (zh) 用于流媒体数据的多解码器接口
JP7329066B2 (ja) ビデオ・データを復号化する方法、装置及びコンピュータ・プログラム
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
JP2018509060A5 (zh)
WO2022262858A1 (zh) 图像传输方法、图像显示及处理设备、及图像传输***
JP2022510325A (ja) 符号化ビデオストリームを復号するための方法、システム、及びコンピュータプログラム
KR102299615B1 (ko) 컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치
US11792432B2 (en) Techniques for signaling and identifying access unit boundaries
JP2004519908A (ja) Mpeg4ビデオデータを符号化する方法及び装置
CN113453006B (zh) 一种图片封装方法、设备以及存储介质
US11539820B2 (en) Signaling and identifying picture boundary in video payload format over IP network
KR102046903B1 (ko) Mmt 페이로드 헤더 구성 장치 및 방법
CN114616801A (zh) 在媒体流式传输中使用组合索引段轨道用信号通知带宽上限
KR102153554B1 (ko) 미디어 데이터의 처리를 위한 mmt 장치 및 방법
US20240129537A1 (en) Method and apparatus for signaling cmaf switching sets in isobmff
WO2024114519A1 (zh) 点云封装与解封装方法、装置、介质及电子设备
WO2020220941A1 (zh) 点云编码方法、点云解码方法、装置及存储介质
US20230336602A1 (en) Addressable resource index events for cmaf and dash multimedia streaming
US20240201784A1 (en) Methods for signaling random access in haptics interchange file format
KR20230154977A (ko) 스택화 속성들을 갖는 프리롤들, 미드롤들 및 엔드롤들을 지원하는 mpeg dash를 위한 보조 mpd들
CN115581124A (zh) 用于处理dash和cmaf带内事件的扩展的w3c媒体扩展
EP4327536A1 (en) W3c media extensions for processing dash and cmaf inband events
CN114667738A (zh) Mpd有效期到期处理模型

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40052324

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant