CN109792567B - 用于发送遗失或损坏视频数据信号的系统及方法 - Google Patents

用于发送遗失或损坏视频数据信号的系统及方法 Download PDF

Info

Publication number
CN109792567B
CN109792567B CN201780061429.3A CN201780061429A CN109792567B CN 109792567 B CN109792567 B CN 109792567B CN 201780061429 A CN201780061429 A CN 201780061429A CN 109792567 B CN109792567 B CN 109792567B
Authority
CN
China
Prior art keywords
video
sample
segment
frames
frame
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
CN201780061429.3A
Other languages
English (en)
Other versions
CN109792567A (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 CN109792567A publication Critical patent/CN109792567A/zh
Application granted granted Critical
Publication of CN109792567B publication Critical patent/CN109792567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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
    • 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/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

在各种实施方案中,描述用于提供文件包含损坏视频帧的指示的方法、设备及计算机可读媒体。举例来说,所述文件可包含用以指示与特定播放时戳及播放持续时间相关联的一或多个视频帧被损坏的指示符。所述指示符还可经配置为与损坏视频帧及遗失视频帧两者相关联的统一指示符。在一些实施方案中,发送损坏视频帧的存在信号可以那些经损坏视频帧从所述媒体文件省略的形式出现。在各种实施方案中,对一或多个现有媒体流式传输方案的修改及/或添加还可在接收器装置请求媒体片段之前向所述接收器装置指示所述媒体片段含有遗失(或另外不可解码)的帧。

Description

用于发送遗失或损坏视频数据信号的系统及方法
技术领域
本申请案涉及发送遗失或损坏的视频数据信号。发信号信息可为与一或多个媒体文件格式(例如ISO基本媒体文件格式(ISOBMFF)或其它合适文件格式、与流式传输程序应用程序(例如经由HTTP的动态自适应流式传输(DASH)、HTTP实时流式传输(HLS)、共同媒体程序应用程序格式(CMAF)及/或其它合适流式传输程序应用程序)相关联的文件格式)相关联的媒体文件的部分。
背景技术
视频译码标准包含ITU-T H.261;ISO/IEC MPEG-1 Visual;ITU-T H.262或ISO/IEC MPEG-2 Visual;ITU-T H.263;ISO/IEC MPEG-4 Visual;ITU-T H.264或ISO/IECMPEG-4 AVC,包含其称为可调式视频译码(SVC)的可调式视频译码扩展及其多视图视频译码扩展(即多视图视频译码(MVC)扩展);及也称为ITU-T H.265及ISO/23008-2的高效视频译码(HEVC),包含其可调式译码扩展(即,可调式高效视频译码SHVC)及多视图扩展(即,多视图高效视频译码MV-HEVC)。
发明内容
在一些实施例中,描述用于指示媒体内容包含遗失及/或损坏视频数据的技术。举例来说,指示可被添加到文件,所述指示指示所述文件中的媒体内容包含遗失及/或损坏的媒体数据。在另一实例中,遗失及/或损坏的媒体数据可通过不允许此媒体数据包含于文件及/或位流中而指示。举例来说,可定义发射器侧约束条件,所述约束条件需要编码器或其它发射器侧装置在文件中(囊封中)及/或片段中(分段中)不包含损坏的媒体帧。遗失或损坏的视频数据可包含视频帧(被称作遗失或损坏视频帧)的视频数据、视频片段(被称作遗失或损坏的视频片段)的视频数据或其它遗失的视频数据。通过发送遗失及/或损坏的视频数据信号,视频播放器装置可在处理媒体内容时适当地再现或以其它方式处置遗失及/或损坏的视频帧。
根据至少一个实例,提供一种处理视频数据的方法。方法包括获得多个视频数据帧,确定所述多个帧中的至少一个帧被损坏,产生所述至少一个帧损坏的指示,及产生包含所述指示的媒体文件。
在另一实例中,提供一种用于处理视频数据的设备。所述设备可包含经配置以存储视频数据的存储器及处理器(例如,处理电路)。处理器经配置以获得多个视频数据帧,确定所述多个帧中的至少一个帧被损坏,产生所述至少一个帧损坏的指示,及产生包含所述指示的媒体文件。
在另一实例中,提供一种上面存储有指令的非暂时性计算机可读媒体,所述指令在由一或多个处理器执行时使得所述一或多个处理器:获得多个视频数据帧;确定所述多个帧中的至少一个帧被损坏;产生所述至少一个帧损坏的指示;及产生包含所述指示的媒体文件。
在另一实例中,提供一种用于处理视频数据的设备。设备包括:用于获得多个视频数据帧的装置;用于确定所述多个帧中的至少一个帧被损坏的装置;用于产生所述至少一个帧损坏的指示的装置;及用于产生包含所述指示的媒体文件的装置。
在一些方面中,视频数据包含对应于所述多个帧中的至少一个帧的第一数据。在此些状况下,第一数据对于正确地解码至少一个帧是不充足的。
在一些方面中,至少一个帧为帧间预测链的部分,且视频数据包含对应于帧间预测链的第一数据。在此些状况下,第一数据对于正确地解码至少一个帧是不充足的。
在一些方面中,视频数据可包含多个视频样本。所述多个视频样本中的每一个包含所述多个帧中的一或多个帧。所述多个视频样本包含包含损坏的至少一个帧的第一视频样本。第一视频样本与识别包含于第一视频样本中的内容的类型的类型识别符相关联。指示可包含类型识别符。
在一些方面中,类型识别符可指示第一视频样本包含损坏的帧中的至少一个。类型识别符还可指示媒体类型及用以处理媒体文件的解码器的类型。在一些方面中,类型识别符包含样本项类型。
在一些方面中,媒体文件是基于国际标准组织(ISO)基本媒体文件格式(ISOBMFF)。
在一些方面中,媒体文件可包含多个视频数据片段的列表表示。多个片段可包含第一片段及第二片段。第一片段及第二片段中的每一个可包含所述多个帧中的一或多个帧。第二片段可进一步包含所述多个帧中的一或多个遗失帧。所述指示可为第一指示。在一些方面中,方法、设备及计算机可读媒体可进一步包括:确定第二片段包含一或多个遗失帧;产生所述一或多个遗失帧的第二指示;及在媒体文件中包含所述第二指示。
在一些方面中,媒体文件是基于媒体呈现描述(MPD)格式。所述列表表示可包含一或多个调适集合。一或多个调适集合中的每一个包含包括一或多个遗失帧的一或多个表示或一或多个子表示中的至少一或多个。一或多个表示或一或多个子表示中的每一个与一或多个片段相关联。第二指示包含与包含于一或多个表示或一或多个子表示中的一或多个遗失帧相关联的一或多个元素。一或多个元素与包含第二片段的时戳及持续时间的属性的集合相关联。
在一些方面中,列表表示包含用于检索第一片段而非第二片段的信息。第二指示包含用于检索第二片段的信息的省略。
在一些方面中,列表表示包含与第二片段相关联的文本指示符。文本指示符可指示第二片段包含一或多个遗失帧。第二指示可包含文本指示符。
在一些方面中,媒体文件是基于HTTP实时流式传输(HLS)播放列表格式。所述多个片段中的每一片段与传输流(TS)文件相关联。列表表示包含一组标签。文本指示符为所述组标签中的与第二片段相关联的标签。
在一些方面中,媒体文件是基于共同媒体程序应用程序格式(CMAF)且包含播放列表。多个片段中的每一片段与ISOBMFF相关联。列表表示可包含一组标签,且文本指示符为与第二片段相关联的所述组标签中的标签。
在一些方面中,设备包含具有用于捕捉图片的摄影机的移动装置。
根据至少一个其它实例,提供一种处理媒体文件的方法。方法包括获得包含媒体内容的媒体文件,所述媒体内容包含多个视频数据帧。方法进一步包括基于媒体文件中的指示确定所述多个帧包含至少一个损坏的帧。方法进一步包括基于所述指示处理至少一个损坏的帧。
根据另一实例,提供一种用于处理媒体文件的设备。设备可包括经配置以存储媒体文件的存储器及处理器。处理器经配置以获得包含媒体内容的媒体文件。媒体内容包含多个视频数据帧。处理器经进一步配置以基于媒体文件中的指示确定所述多个帧包含至少一个损坏的帧。处理器经进一步配置以基于所述指示处理至少一个损坏的帧。
在另一实例中,提供一种上面存储有指令的非暂时性计算机可读媒体,所述指令在由一或多个处理器执行时使得所述一或多个处理器:获得包含媒体内容的媒体文件,所述媒体内容包含多个视频数据帧;基于媒体文件中的指示确定所述多个帧包含至少一个损坏的帧;及基于所述指示处理至少一个损坏的帧。
在另一实例中,提供一种用于处理视频数据的设备。设备包括:用于获得包含媒体内容的媒体文件的装置,所述媒体内容包含多个视频数据帧;用于基于媒体文件中的指示确定所述多个帧包含至少一个损坏的帧的装置;及用于基于所述指示处理所述至少一个损坏的帧的装置。
在一些方面中,视频数据包含对应于所述多个帧中的至少一个帧的第一数据。在此些方面中,第一数据对于正确地解码至少一个帧是不充足的。
在一些方面中,至少一个帧为帧间预测链的部分,且视频数据包含对应于帧间预测链的第一数据。在此些状况下,第一数据对于正确地解码至少一个帧是不充足的。
在一些方面中,媒体内容包含多个视频样本,其中所述多个视频样本中的每一个包含所述多个帧中的一或多个帧。所述多个视频样本包含包含损坏的至少一个帧的第一视频样本。第一视频样本与识别包含于第一视频样本中的内容的类型的类型识别符相关联。在此些方面中,所述指示包含类型识别符。
在一些方面中,类型识别符指示视频样本包含损坏的帧中的所述至少一个。在一些状况下,类型识别符指示媒体类型及用以处理媒体文件的解码器的类型。在一些方面中,类型识别符包含样本项类型。
在一些方面中,媒体文件是基于国际标准组织(ISO)基本媒体文件格式(ISOBMFF)。
在一些方面中,基于指示处理至少一个损坏的帧包括:基于所述指示识别媒体内容的对应于损坏的至少一个帧的一部分;及跳过媒体内容的所述部分的处理。
在一些方面中,媒体文件包含多个视频数据片段的列表表示。多个片段包含第一片段及第二片段。第一片段及第二片段中的每一个包含所述多个帧中的一或多个帧。第二片段进一步包含所述多个帧中的一或多个遗失帧。所述指示为第一指示,且媒体文件进一步包含用以指示第二片段包含所述多个帧中的一或多个遗失帧的第二指示。
在一些方面中,媒体文件是基于媒体呈现描述(MPD)格式,且列表表示包含一或多个调适集合。一或多个调适集合中的每一个包含包括一或多个遗失帧的一或多个表示或一或多个子表示中的至少一或多个。所述一或多个表示或所述一或多个子表示中的每一个与一或多个片段相关联。第二指示包含与包含于与第二片段相关联的一或多个表示或子表示中的一或多个遗失帧相关联的一或多个元素。一或多个元素与包含第二片段的时戳及持续时间的属性的集合相关联。
在一些方面中,列表表示包含用于检索第一片段而非第二片段的信息。在此些方面中,第二指示包含用于检索第二片段的信息的省略。
在一些方面中,列表表示包含与第二片段相关联的文本指示符。文本指示符指示第二片段包含一或多个遗失帧。在此些方面中,第二指示包含文本指示符。
在一些方面中,媒体文件是基于HTTP实时流式传输(HLS)播放列表格式,且所述多个片段中的每一片段与传输流(TS)文件相关联。在此些方面中,列表表示包含一组标签,且文本指示符为所述组标签中的与第二片段相关联的标签。
在一些方面中,媒体文件是基于共同媒体程序应用程序格式(CMAF)且包含播放列表。所述多个片段中的每一片段与ISOBMFF相关联。在此些方面中,列表表示包含一组标签,且文本指示符为所述组标签中的与第二片段相关联的标签。
在一些方面中,基于所述指示处理至少一个损坏的帧包括发射请求到流式传输服务器以请求第三片段代替第二片段。
在一些方面中,设备进一步包括用于显示所述多个视频数据帧中的一或多个的显示器。
在一些方面中,设备包括具有用于捕捉图片的摄影机的移动装置。
此发明内容并不打算确定所主张的主题的关键或基本特征,也不打算孤立使用以确定所主张的主题的范围。应参照此专利的整个说明书的合适部分、任何或所有图式及每一权利要求来理解主题。
当参考以下说明书、权利要求书及随附图式时,前述内容连同其它特征及实施例将变得更显而易见。
附图说明
下文参考如下图式详细描述本发明的说明性实施例:
图1为说明包含编码装置及解码装置的系统的实例的框图。
图2及图3说明根据ISOBMFF格式化的含有用于视频呈现的数据及元数据的ISO基本媒体文件的实例。
图4说明用于媒体流式传输的实例系统。
图5提供媒体呈现描述的实例的图形表示。
图6提供播放列表的实例的图形表示。
图7A及图7B说明发送ISOBMFF文件中的损坏的帧信号的实例。
图8A及图8B说明发送ISOBMFF文件中的遗失帧信号的实例。
图9说明发送ISOBMFF文件中的遗失帧信号的实例。
图10说明提供统一发送ISOBMFF文件中的遗失视频帧或损坏视频帧信号的实例。
图11及图12说明发送用于媒体流式传输的遗失文件片段信号的实例。
图13说明用于处理视频数据的过程的实例。
图14说明用于处理媒体文件的过程的实例。
图15为说明可实施本公开中所描述的技术中的一或多个的实例编码装置的框图。
图16为说明实例解码装置的框图。
具体实施方式
下文提供本公开的某些方面及实施例。此些方面及实施例的一些可独立地应用且其中的一些可以将对所属领域的技术人员显而易见的组合来应用。在以下描述中,出于解释的目的,阐述众多特定细节以便提供对本发明的实施例的透彻理解。然而,各种实施例可在无此些特定细节的情况下得以实践将是显而易见的。图式及描述不打算为限定性的。
随后描述仅提供示范性实施例且并不打算限制本公开的范围、可应用性或配置。相反地,示范性实施例的随后描述将为所属领域的技术人员提供用于实施示范性实施例的能够实现的描述。应理解,可在不脱离如所附权利要求书中所阐述的本发明的精神及范围的情况下对元件的功能及布置做出各种变化。
在以下描述中给定特定细节从而提供实施例的透彻理解。然而,所属领域的一般技术人员应了解,实施例可在无需此些具体细节的情况下实践。举例来说,电路、系统、网络、过程及其它组件可在框图形式中展示为组件以便在不必要细节下不与实施例混淆。在其它情况下,可在无不必要的细节的情况下展示熟知电路、过程、算法、结构及技术以便避免混淆实施例。
而且,应注意,个别实施例可描述为经描绘为流程图、作业图、数据流程图、结构图或框图的过程。尽管流程图可能将操作描述为顺序过程,但许多操作可并行地或同时来执行。另外,可再布置操作的次序。过程当其操作完成时终止,但可具有不包含于图中的额外步骤。过程可对应于方法、功能、程序、子例程、子程序,等等。当过程对应于函数时,其终止对应于函数返回到调用函数或主函数。
术语“计算机可读媒体”包含(但不限于)便携式或非便携式存储装置、光学存储装置及能够存储、含有或携载指令及/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,其中数据可被存储且不包含载波及/或无线地或经由有线连接传播的暂时电子信号。非暂时性媒体的实例可包含(但不限于)磁盘或磁带、光学存储媒体(例如紧密光盘(CD)或数字化通用光盘(DVD))、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储于其上的代码及/或机器可执行指令,所述代码及/或机器可执行指令可表示程序、函数、子程序、程序、例程、子例程、模块、套装软件、种类或指令、数据结构或程序语句的任何组合。可通过传递及/或接收信息、数据、论证、参数或存储器内容将代码段耦合到另一代码段或硬件电路。信息、论证、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络发射或其类似者的任何合适的方式传递、转递或发射。
此外,可由硬件、软件、固件、中间软件、微代码、硬件描述语言或其任何组合实施实施例。当以软件、固件、中间软件或微代码实施时,用以执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储于计算机可读或机器可读媒体中。一或多个处理器可执行必要任务。
视频帧可经编码及/或压缩用于存储及/或发射。编码及/或压缩可使用视频编解码器(例如,H.265/HEVC相容编码解码器、H.264/AVC相容编解码器或其它合适编解码器)实现,且产生经压缩的视频位流或位流群组。使用视频编解码器对视频数据进行编码下文进一步详细地描述。
一或多个经编码视频位流可经存储及/或囊封于媒体格式或文件格式中。一或多个所存储位流可(例如)经由网络发射到接收器装置,所述接收器装置可解码并再现视频以供显示。此接收器装置本文中可被称作视频显示装置。举例来说,流式传输服务器可从经编码视频数据(例如,使用国际标准组织(ISO)基本媒体文件格式,及/或经优化用于流式传输的其它文件格式)产生经囊封文件。举例来说,视频编解码器可编码视频数据,且囊封引擎可通过将视频数据囊封于一或多个ISO格式媒体文件中而产生媒体文件。替代地或另外,一或多个所存储位流可直接从存储媒体提供到接收器装置。
接收器装置还可实施编解码器以解码及/或解压缩经编码视频位流。接收器装置可支持媒体或文件格式,其用以将视频位流封装到文件(或多个文件)中、提取视频(及也可能为音频)数据以产生经编码视频数据。举例来说,接收器装置剖析具有经囊封视频数据的媒体文件以产生经编码视频数据,且接收器装置中的编解码器可解码经编码视频数据。接收器装置可接着发送经解码视频信号到再现装置(例如,视频显示装置)。再现装置可以捕捉视频的相同帧速率或以不同帧速率再现视频。
文件格式标准可定义用于将视频(及也可能为音频)数据封装及解封装成一或多个文件的格式。文件格式标准包含国际标准化组织(ISO)基本媒体文件格式(定义于ISO/IEC 14496-12中的ISOBMFF);及从ISOBMFF导出的其它文件格式,包含运动图片专家组(MPEG)MPEG-4文件格式(定义于ISO/IEC 14496-15中)、第三代合作伙伴计划(3GPP)文件格式(定义于3GPP TS 26.244中)及高级视频译码(AVC)文件格式及高效率视频译码(HEVC)文件格式(皆定义于ISO/IEC 14496-15中)。ISO/IEC 14496-12及14496-15的最新版本的草案文本可分别在http://phenix.int-evry.fr/mpeg/doc_end_user/documents/111_Geneva/wg11/w15177-v6-w15177.zip及http://phenix.int-evry.fr/mpeg/doc_end_user/documents/112_Warsaw/wg11/w15479-v2-w15479.zip处得到。
ISOBMFF用作许多编解码器囊封格式(例如,AVC文件格式或任何其它合适的编解码器囊封格式)、以及用于许多多媒体容器格式(例如,MPEG-4文件格式、3GPP文件格式(3GP)、DVB文件格式或任何其它合适的多媒体容器格式)的基础。ISOBMFF基本文件格式可用于连续媒体,其也称作流式传输媒体。
除了连续媒体(例如,音频及视频)之外,静态媒体(例如,图像)及元数据可存储于遵循ISOBMFF的文件中。根据ISOBMFF构造的文件可以用于许多目的(包含本地媒体文件播放、远程文件的渐进式下载),用作例如经由HTTP的动态自适应流式传输(DASH)的媒体流式传输方案、使用共同媒体应用程序格式(CMAF)的媒体流式传输方案等的片段,用作用于待流式传输的内容的容器(在此状况下,容器包含包化指令),用于所接收实时媒体位流的记录,或其它用途。
媒体文件或媒体位流可在经编码数据中包含损坏或遗失视频帧。遗失帧可在彼遗失帧的经编码数据全部丢失时出现。损坏的帧可以不同方式出现。举例来说,帧可在用于所述帧的经编码数据的部分丢失时变得损坏。作为另一实例,帧可在所述帧为帧间预测链的部分,且帧间预测链的某其它经编码数据丢失以使得所述帧不可正确地解码时变得损坏。
经编码数据可归因于各种原因包含损坏或遗失视频帧。举例来说,数据损失可在媒体位流(经压缩、囊封位流)的发射期间出现。结果,媒体文件可经部分接收并被记录,且因此在所记录文件中存在遗失或损坏视频帧。如先前所提及,遗失帧为其经译码数据全部丢失的帧,且损坏的帧为其经译码数据的部分丢失或其帧间预测链中的帧的一些译码数据丢失以使得损坏的帧不可正确地解码的帧。作为另一实例,经编码媒体数据可在经囊封以供在服务器处发射之前变得损坏(例如,归因于媒体文件损坏),或甚至遗失。作为另一实例,编码器(或转码器)可在编码所述媒体数据中崩溃或失效。编码器失效可导致一些帧不被编码(及不包含)于经编码数据中,从而使得经编码数据包含遗失帧。编码器失效还可导致部分编码帧及在经编码数据中包含部分数据。如果部分数据并不足以正确地解码帧,那么经编码数据还可包含损坏的帧。
如上文所提及,数据丢失或不存在可在媒体编码器处置视频数据之前出现。在一些状况下,帧可在编码期间通过编码器而跳过。在此些状况下,编码器可在不遗失或跳过帧情况下编码位流,且位流可具有非恒定帧速率。实际上,对于视频,直接在遗失或跳过帧之前的帧将具有较长播放持续时间,且对于音频,遗失或跳过帧被视为沉默帧。在一些状况下,对于视频的每一遗失或跳过帧,编码器可使用最小数目个位编码虚拟视频帧,在此状况下虚拟视频帧的解码结果恰好与按输出次序的前一帧相同。对于话音/音频,编码沉默帧,因此保持位流具有恒定帧速率。在任一状况下,经译码媒体位流被视为不具有遗失或损坏的帧,且文件中的媒体囊封及/或流式传输格式可保持与不存在此数据丢失/不存在或帧跳过的情况相同。
如前所提及,数据丢失或不存在可在编码及/或转码期间出现。在此些状况下,取决于崩溃或失效发生之时,还可存在遗失及/或损坏的媒体帧。对于在媒体编码器(囊封及/或分段)之后的媒体处理功能性,处置可与在编码器之后出现的数据丢失的情况相同。
ISOBMFF及其导出文件格式(例如,AVC文件格式或其它导出文件格式)在许多多媒体应用中广泛用于媒体内容(例如,包含视频、音频及计时文本)的存储及囊封。然而,ISOBMFF及从ISOBMFF导出的文件格式不包含用于发送损坏视频帧信号的规范。此外,在媒体流式传输方案中还缺少发送遗失或损坏视频帧信号的机构。
发信号方案的缺少可导致在处理具有遗失或损坏视频帧的经编码数据时接收器装置中的不合需要的行为。举例来说,因为帧的经编码数据遗失或损坏,所以接收器装置可尝试解码不可被解码的帧。结果,解码器可崩溃或停机。此外,在媒体流式传输会话期间,接收器装置可尝试检索并播放遗失或包含空帧的媒体片段文件。当接收器装置未能检索并播放所述媒体片段文件时,媒体流式传输会话将变得中断。两种状况造成再现媒体流式传输过程中的扰乱,从而导致不良用户体验。
在各种实施方案中,对ISOBMFF的修改及/或添加可指示/发信号,已根据所述ISOBMFF或从所述ISOBMFF导出的格式而格式化的文件包含损坏视频帧。举例来说,在一些实施方案中,媒体文件可包含用以指示与特定播放时戳及播放持续时间相关联的一或多个视频帧被损坏的指示符。所述指示符还可经配置为与损坏视频帧及遗失视频帧两者相关联的统一指示符。在一些实施方案中,发送损坏视频帧的存在信号可以来自所述媒体文件的那些损坏视频帧的一或多个省略的形式出现。在各种实施方案中,对现有媒体流式传输方案的修改及/或添加还可在接收器装置请求媒体片段之前向所述接收器装置指示所述媒体片段含有遗失(或另外不可解码)的帧。
在此些及其它实施方案中,接收器装置可基于指示/指示符/发信号/信号来辨识媒体文件包含损坏视频帧。接收器装置还可在解码数据之前识别包含损坏视频帧的经编码数据的部分,且在处置损坏视频帧过程中采用某些措施。举例来说,接收器装置可跳过损坏视频帧的解码且移动到下一可解码视频帧上,以避免如上文所描述使解码器崩溃或停机。此外,在媒体流式传输会话期间,接收器装置还可在请求所述媒体片段之前基于指示/指示符/发信号/信号辨识媒体片段包含遗失(或另外不可解码)的帧,且在处置所述媒体片段过程中采用某些措施。举例来说,接收器装置可获得另一媒体片段(例如,具有相同内容但来自不同源的媒体片段、具有相同时戳及持续时间但具有不同分辨率/位速率的媒体片段,等),以维持流式传输会话的连续性。
图1为说明包含编码装置104及解码装置112的系统100的实例的框图。编码装置104可为源装置的部分,且解码装置112可为接收器装置的部分。源装置及/或接收器装置可包含电子装置,例如,移动或静止电话手机(例如,智能电话、蜂窝式电话或其类似者)、台式计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或任何其它合适的电子装置。在一些实例中,源装置及接收器装置可包含用于无线通信的一或多个无线收发器。本文中所描述的译码技术适用于各种多媒体应用中的视频译码,包含流式传输视频发射(例如,经由因特网)、电视广播或发射、编码数字视频以供存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频或其它应用。在一些实例中,系统100可支持单向或双向视频发射以支持例如视频会议、视频流式传输、视频播放、视频广播、游戏及/或视频电话的应用。
通过使用视频译码标准或协议以产生经编码视频位流,编码装置104(或编码器)可用以编码视频数据,包含虚拟实境视频数据。视频译码标准包含ITU-T H.261、ISO/IECMPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(亦称为ISO/IEC MPEG-4 AVC),包含其可调式视频译码及多视图视频译码扩展(分别称为SVC及MVC)。已由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)完成较近期的视频译码标准(高效率视频译码(HEVC))。对HEVC的各种扩展处理多层视频译码,且也正由JCT-VC开发,包含对HEVC的多视图扩展(称作MV-HEVC)及对HEVC的可调式扩展(称作SHVC)或任何其它合适译码协议。
本文中所描述的实施方案使用HEVC标准或其扩展来描述实例。然而,本文中所描述的技术及系统还可适用于其它译码标准,例如AVC、MPEG、其扩展或已可用或尚不可用或尚未开发的其它合适的译码标准。因此,虽然可参考特定视频译码标准描述本文中所描述的技术及系统,但所属领域的一般技术人员将了解,描述不应解译为仅适用于所述特定标准。
视频源102可将视频数据提供到编码装置104。视频源102可为源装置的一部分,或可为除源装置以外的装置的一部分。视频源102可包含视频捕捉装置(例如,摄像机、摄影机电话、视频电话或其类似者)、含有经存储视频的视频存档、提供视频数据的视频服务器或内容提供者、从视频服务器或内容提供者接收视频的视频馈入接口、用于产生计算机图形视频数据的计算机图形系统、此些源的组合或任何其它合适的视频源。视频源102的一个实例可包含因特网协议摄影机(IP摄影机)。IP摄影机为可用于监测、住家安全或其它合适应用的数字摄像机的类型。不同于模拟闭路电视(CCTV)摄影机,IP摄影机可经由计算机网络及因特网发送及接收数据。
来自视频源102的视频数据可包含一或多个输入图片或帧。图片或帧为作为视频的部分的静态图像。编码装置104的编码器引擎106(或编码器)编码视频数据以产生经编码视频位流。在一些实例中,经编码视频位流(或“视频位流”或“位流”)为一系列的一或多个经译码视频序列。经译码视频序列(CVS)包含一系列存取单元(AU),其始于具有在基层中且具有某些性质的随机存取点图片的AU,直到且不包含具有在基层中且具有某些性质的随机存取点图片的下一AU。举例来说,开始CVS的随机存取点图片的某些性质可包含等于1的RASL旗标(例如,NoRaslOutputFlag)。否则,随机存取点图片(具有等于0的RASL旗标)并不开始CVS。存取单元(AU)包含一或多个经译码图片及对应于共享相同输出时间的经译码图片的控制信息。图片的经译码切片在位流层级囊封到称为网络抽象层(NAL)单元的数据单元中。举例来说,HEVC视频位流可包含一或多个CVS,所述一或多个CVS包含NAL单元。两种类别的NAL单元存在于HEVC标准中,包含视频译码层(VCL)NAL单元及非VCL NAL单元。VCL NAL单元包含经译码图片数据的一个切片或切片片段(如下描述),且非VCL NAL单元包含关于一或多个经译码图片的控制信息。
NAL单元可含有形成视频数据的经译码表示(例如,视频中的图片的经译码表示)的位序列(例如,经编码视频位流、位流的CVS或其类似者)。编码器引擎106通过将每一图片分割成多个切片而产生图片的经译码表示。切片接着分割成明度样本及色度样本的译码树型块(CTB)。明度样本的CTB及色度样本的一或多个CTB连同样本的语法被称为译码树型单元(CTU)。CTU为用于HEVC编码的基本处理单元。CTU可经分裂成具有不同大小的多个译码单元(CU)。CU含有被称为译码块(CB)的明度及色度样本阵列。
明度及色度CB可进一步被分裂成预测块(PB)。PB为使用用于帧间预测的相同运动参数的明度或色度分量的样本的块。明度PB及一或多个色度PB以及相关联语法形成预测单元(PU)。在位流中针对每个PU发送运动参数集合信号,且所述运动参数集合用于明度PB及一或多个色度PB的帧间预测。CB还可分割成一或多个变换块(TB)。TB表示色彩分量的样本的正方形块,对所述正方形块应用同一二维变换以用于译码预测残余信号。变换单元(TU)表示明度及色度样本的TB及对应语法元素。
CU的大小对应于译码节点的大小,且可为正方形形状。举例来说,CU的大小可为8×8样本、16×16样本、32×32样本、64×64样本或达到相应CTU的大小的任何其它适当大小。短语“N×N”在本文中用于指就竖直及水平尺寸而言视频块的像素尺寸(例如,8像素×8像素)。可按行及列来布置块中的像素。在一些实施例中,块在水平方向上可不具有与在竖直方向上相同的数目个像素。与CU相关联的语法数据可描述(例如)将CU分割成一或多个PU。分割模式可在CU经帧内预测模式编码抑或经帧间预测模式编码之间有所不同。PU可分割成非正方形形状。与CU相关联的语法数据还可描述(例如)根据CTU将CU分割成一或多个TU。TU可为正方形或非正方形形状。
根据HEVC标准,可使用变换单元(TU)来执行变换。TU可针对不同CU而变化。可基于给定CU内的PU的大小而对TU设定大小。TU可与PU大小相同或小于PU。在一些实例中,可使用被称为残余四分树(RQT)的四分树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可对应于TU。可变换与TU相关联的像素差值以产生变换系数。变换系数可接着由编码器引擎106量化。
一旦视频数据的图片被分割成CU,编码器引擎106便使用预测模式来预测每一PU。接着从原始视频数据中减去预测以得到残余(下文描述)。对于每一CU,可使用语法数据在位流内部发送预测模式信号。预测模式可包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。使用帧内预测时,使用(例如)DC预测以发现PU的平均值、使用平坦预测以使平坦表面拟合于PU、使用方向预测以从相邻数据外推或使用任何其它合适类型的预测,从同一图片中的相邻图像数据预测每一PU。使用帧间预测时,使用运动补偿预测从一或多个参考图片(按输出次序在当前图片之前或之后)中的图像数据预测每一PU。可(例如)在CU层级作出使用图片间预测抑或图片内预测来译码图片区域的决策。在一些实例中,图片的一或多个切片被指派有切片类型。切片类型包含I切片、P切片及B切片。I切片(帧内,可独立地解码)为仅仅通过帧内预测译码的图片的切片,且因此可独立地解码,这是由于I切片仅仅需要帧内的数据以预测切片的任一块。P切片(单向预测帧)为可通过帧内预测及单向帧间预测译码的图片的切片。P切片内的每一块通过帧内预测或帧间预测而译码。当帧间预测应用时,块仅仅通过一个参考图片而预测,且因此参考样本仅仅来自一个帧的一个参考区。B切片(双向预测性帧)为可通过帧内预测及帧间预测译码的图片的切片。B切片的块可从两个参考图片双向预测,其中每一图片贡献一个参考区且两个参考区的样品集经加权(例如,通过相等权重)以产生双向预测块的预测信号。如上文所解释,一个图片的切片被独立译码。在一些状况下,图片可仅作为一个切片而被译码。
PU可包含与预测过程有关的数据。举例来说,当使用帧内预测编码PU时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当使用帧间模式编码PU时,PU可包含界定PU的运动向量的数据。界定PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的竖直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
编码装置104接着可执行变换及量化。举例来说,在预测之后,编码器引擎106可计算对应于PU的残余值。残余值可包括像素差值。在预测执行之后可能剩余的任何残余数据使用块变换执行变换,所述块变换可基于离散余弦变换、离散正弦变换、整数变换、小波变换或其它合适的变换功能。在一些状况下,一或多个块变换(例如,大小32×32、16×16、8×8、4×4或其类似者)可应用于每一CU中的残余数据。在一些实施例中,TU可用于通过编码器引擎106实施的变换及量化过程。给定的具有一或多个PU的CU还可包含一或多个TU。如下文进一步详细描述,可使用块变换将残余值变换成变换系数,且随后可使用TU来量化且扫描以产生用于熵译码的串行化变换系数。
在一些实施例中,在使用CU的PU进行帧内预测性或帧间预测性译码之后,编码器引擎106可计算CU的TU的残余数据。PU可包括空间域(或像素域)中的像素数据。在应用块变换之后,TU可包括变换域中的系数。如先前所提及,残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可形成包含CU的残余数据的TU,且接着可变换TU以产生CU的变换系数。
编码器引擎106可执行变换系数的量化。量化通过量化变换系数以减少用以表示系数的数据的量而提供进一步压缩。举例来说,量化可减小与系数中的一些或全部相关联的位深度。在一个实例中,具有n位值的系数可在量化期间经降值舍位为m位值,其中n大于m。
在执行量化后,经译码视频位流包含经量化变换系数、预测信息(例如,预测模式、运动向量或其类似者)、分割信息及任何其它合适的数据,例如其它语法数据。接着可通过编码器引擎106对经译码视频位流的不同元素进行熵编码。在一些实例中,编码器引擎106可利用预定义扫描次序扫描经量化变换系数以产生可经熵编码的串行化向量。在一些实例中,编码器引擎106可执行自适应扫描。在扫描经量化变换系数以形成向量(例如,一维向量)之后,编码器引擎106可熵编码向量。举例来说,编码器发动机106可使用上下文自适应性可变长度译码、上下文自适应性二进制算术编码、基于语法的上下文自适应性二进制算术编码、概率区间分割熵译码或另一合适的熵编码技术。
编码装置104的输出端110可经由通信链路120发送组成经编码视频位流数据的NAL单元到接收器装置的解码装置112。解码装置112的输入端114可接收NAL单元。通信链路120可包含由无线网络、有线网络或有线网络与无线网络的组合提供的信道。无线网络可包含任何无线接口或无线接口的组合,且可包含任何适合的无线网络(例如,因特网或其它广域网、基于包的网络、WiFiTM、射频(RF)、UWB、WiFi-Direct、蜂窝式、长期演进(LTE)、WiMaxTM或其类似者)。有线网络可包含任何有线接口(例如,光纤、以太网、电力线以太网、经由同轴电缆的以太网、数字信号线(DSL)或其类似者)。可使用各种装备来实施有线及/或无线网络,所述装备例如基站、路由器、存取点、桥接器、网关、交换器或其类似者。经编码视频位流数据可根据例如无线通信协议的通信标准来调制,且发射到接收器装置。
在一些实例中,编码装置104可将经编码视频位流数据存储于存储器108中。输出端110可从编码器引擎106或从存储器108检索经编码视频位流数据。存储器108可包含多种分散式或本地存取的数据存储媒体中的任一个。作为实例,存储器108可为作为编码装置104的部分的内部存储装置。作为另一实例,存储器108还可与耦合到通信链路120的其它装置或装备相关联。在所有此些实例中,存储器108可包含硬盘、存储盘、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。
解码装置112的输入端114接收经编码视频位流数据,且可将视频位流数据提供到解码器引擎116,或提供到存储器118以供稍后由解码器引擎116使用。解码器引擎116可通过熵解码(例如,使用熵解码器)及提取组成经编码视频数据的一或多个经译码视频序列的元素来解码经编码视频位流数据。解码器引擎116可接着重新按比例调整经编码视频位流数据且对经编码视频位流数据执行反变换。残余数据接着传递到解码器引擎116的预测级。解码器引擎116接着预测像素的块(例如,PU)。在一些实例中,预测被添加到反变换的输出(残余数据)。
解码装置112可将经解码视频输出到视频目的地装置122,视频目的地装置可包含用于将经解码视频数据显示给内容的消费者的显示器或其它输出装置。在一些方面中,视频目的地装置122可为接收器装置的部分,接收器装置包含解码装置112。在一些方面中,视频目的地装置122可为不同于接收器装置的单独装置的部分。
补充增强信息(SEI)消息可包含于视频位流中。举例来说,SEI消息可用于携载并非为由解码装置112解码位流所必需的信息(例如,元数据)。此信息用于改进经解码输出的显示或处理(例如,此类信息可由解码器侧实体使用以改进内容的可视性)。
在一些实施例中,视频编码装置104及/或视频解码装置112可分别与音频编码装置及音频解码装置集成。视频编码装置104及/或视频解码装置112还可包含实施上文所描述的译码技术所必需的其它硬件或软件,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104及视频解码装置112可集成为各别装置中的组合式编码器/解码器(编解码器)的部分。
对HEVC标准的扩展包含多视图视频译码扩展(被称作MV-HEVC)及可调式视频译码扩展(被称作SHVC)。MV-HEVC及SHVC扩展共享分层译码的概念,其中不同层包含于经编码视频位流中。经译码视频序列中的每一层由唯一层识别符(ID)定址。层ID可存在于NAL单元的标头中以识别NAL单元所相关联的层。在MV-HEVC中,不同层可表示视频位流中的同一场景的不同视图。在SHVC中,提供以不同空间分辨率(或图片分辨率)或不同重构建保真度表示视频位流的不同可调式层。可调式层可包含基层(具有层ID=0)及一或多个增强层(具有层ID=1、2、…n)。基层可符合HEVC的第一版本的配置文件,且表示位流中的最低可用层。与基层相比,增强层具有增加的空间分辨率、时间分辨率或帧速率及/或重构建保真度(或质量)。增强层经阶层式组织,且可(或可不)取决于较低层。在一些实例中,可使用单一标准编解码器来译码不同层(例如,使用HEVC、SHVC或其它译码标准编码所有层)。在一些实例中,可使用多标准编解码器来译码不同层。举例来说,可使用AVC来译码基层,而可使用对HEVC标准的SHVC及/或MV-HEVC扩展来译码一或多个增强层。一般来说,层包含一组VCLNAL单元及对应的一组非VCL NAL单元。NAL单元被指派特定层ID值。在层可取决于较低层的意义上,层可为阶层式的。
如先前所描述,HEVC位流包含NAL单元的群组,包含VCL NAL单元及非VCL NAL单元。除了其它信息以外,非VCLNAL单元还可含有具有与经编码视频位流相关的高层级信息的参数集。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)及图片参数集(PPS)。参数集的目标的实例包含位速率效率、错误复原及提供系统层接口。每一切片参考单个作用中PPS、SPS及VPS以存取解码装置112可用于解码切片的信息。可针对每一参数集译码识别符(ID),包含VPS ID、SPS ID及PPS ID。SPS包含SPS ID及VPS ID。PPS包含PPS ID及SPS ID。每一切片标头包含PPS ID。使用ID,可识别针对给定切片的作用中参数集。
VCLNAL单元包含形成经译码视频位流的经译码图片数据。各种类型的VCLNAL单元定义于HEVC标准中。在单层位流中,如第一HEVC标准中所定义,含于AU中的VCL NAL单元具有相同NAL单元类型值,其中NAL单元类型值定义AU的类型及AU内的经译码图片的类型。举例来说,特定AU的VCL NAL单元可包含瞬时解码再新(IDR)NAL单元(值19),使得AU为IDR AU且AU的经译码图片为IDR图片。VCL NAL单元的给定类型与图片,或其含于VCL NAL单元中的部分(例如,VCL NAL单元中的图片的切片或切片片段)有关。三类图片经定义于HEVC标准中,包含前置图片、后置图片及帧内随机存取(IRAP)图片(也称作“随机存取图片”)。在多层位流中,AU内的图片的VCLNAL单元具有相同NAL单元类型值及相同类型经译码图片。举例来说,含有类型IDR的VCL NAL单元的图片称为AU中的IDR图片。在另一实例中,当AU含有为基层(层ID等于0)处的IRAP图片的图片时,AU为IRAP AU。
如上文所论述编码的视频位流可写入或封装于一或多个文件中以便将来自编码装置104的位流转移到解码装置112。举例来说,输出端110可包含文件写入引擎,其经配置以产生含有位流的一或多个文件。输出端110可经由通信链路120发射一或多个文件到解码器装置112。替代地或另外,一或多个文件可存储于存储媒体(例如,磁带、磁盘、或硬盘、或某其它媒体)上以供稍后发射到解码装置112。
解码器装置112可包含(例如)在输入端114中的文件剖析引擎。文件剖析引擎可读取经由通信链路120或从存储媒体接收的文件。文件剖析引擎可进一步从文件提取样本,并重构建位流以用于由解码器引擎116解码。在一些状况下,经重构建位流可与由编码器引擎106产生的位流相同。在一些状况下,编码器引擎106可已产生具有用于解码位流的若干可能选项的位流,在所述状况下,经重构建位流可包含所有可能选项中的仅一个或少于所有可能选项。
如上文所论述,媒体文件及/或媒体位流可包含损坏及/或遗失视频帧。在图1中,损坏或遗失视频帧可归因于(例如)包含存储于存储器108中的经编码视频位流数据的数据文件的损坏及/或归因于在经由通信链路120发射数据文件期间的数据丢失而出现。当整个帧的所有经编码数据(例如,视频译码层、运动参数的集合、控制信息、变换信息等)遗失时,视频帧可变得遗失。视频帧可归因于各种原因变得损坏。举例来说,用于所述特定帧的经编码数据(例如,视频译码层、运动参数的集合、控制信息等)的一些(但非所有)可被损坏,或另外不可从数据文件检索。作为另一实例,用于视频帧的帧间预测链中的参考帧的经编码数据可变得遗失或损坏,使得视频帧不可被正确地解码。
图2说明根据ISOBMFF格式化的含有用于视频呈现的数据及元数据的ISO基本媒体文件200的实例。ISOBMFF经设计而以灵活且可扩展格式含有计时媒体信息,所述计时媒体信息促进媒体的互换、管理、编辑及呈现。媒体的呈现对于含有呈现的系统可为“本地的”,或呈现可经由网络或其它流式传输递送机构。
如由ISOBMFF规范所定义的“呈现”为常常通过已通过视频捕捉装置顺序捕捉相关的或由于某其它原因相关的图片的序列。本文中,呈现还可被称作电影或视频呈现。呈现可包含音频。所属领域的一般技术人员将了解呈现可包含任何其它类型的媒体内容,例如游戏电视节目、流式传输视频文件或其类似者。单一呈现可含于一或多个文件中,其中一个文件(或多个文件)含有用于整个呈现的元数据。元数据包含信息,例如时序及成帧数据、描述符、指标、参数,及描述呈现的其它信息。元数据自身并不包含视频及/或音频数据。除含有元数据的文件以外的文件无需根据ISOBMFF而格式化,且仅仅需要经格式化以使得此些文件可通过元数据参考。
ISO基本媒体文件的文件结构为对象定向式结构,且文件中的个别对象的结构可直接从对象的类型来推断。ISOBMFF规范将ISO基本媒体文件中的对象称作“框”。ISO基本媒体文件经构造为框的序列,其可含有其它框。框大体包含提供框的大小及类型的标头。大小描述框的整个大小,包含标头、字段及含有于框内的所有框。播放器装置不能识别的类型的框通常被忽略并跳过。
如通过图2的实例所说明,在文件的顶部层级,ISO基本媒体文件200可包含文件类型210、电影框220及一或多个电影片段框230a、230b到230n。可在此层级处包含但未在此实例中表示的其它框包含自由空间框、元数据框及媒体数据框外加其它。
ISO基本媒体文件可包含通过框类型“ftyp”识别的文件类型框210。文件类型框210识别最适合于剖析文件的ISOBMFF规范。“最”在此情况下意谓,ISO基本媒体文件200可能已根据特定ISOBMFF规范格式化,但很可能与规范的其它反复相容。此最合适规范被称作主流品牌。播放器装置可使用主流品牌来确定装置是否能够解码并显示文件的内容。文件类型框210还可包含版本号,所述版本号可用以指示ISOBMFF规范的版本。文件类型框210还可包含相容品牌的列表,所述列表包含文件相容的其它品牌的列表。ISO基本媒体文件可与大于一个主流品牌相容。
当ISO基本媒体文件200包含文件类型框210时,存在仅一个文件类型框。ISO基本媒体文件200可省略文件类型框210以便与早期播放器装置相容。当ISO基本媒体文件200不包含文件类型框210时,播放器装置可假定默认主流品牌(例如“mp41”)、次要版本(例如,“0”)及相容品牌(例如,“mp41”)。文件类型框210通常尽可能早地放置于ISO基本媒体文件200中。
ISO基本媒体文件可进一步包含电影框220,其可含有元数据以供呈现。电影框220通过框类型“moov”识别。ISO/IEC 14496-12规定,含于一个文件抑或多个文件中的呈现可包含仅一个电影框220。频繁地,电影框220靠近ISO基本媒体文件的开始。电影框220包含电影标头框222,且可包含一或多个播放轨框224以及其它框。
通过框类型“mvhd”识别的电影标头框222可包含与媒体无关且与作为整体的呈现相关的信息。举例来说,电影标头框222可包含信息,例如创建时间、修改时间、时间标度及/或针对呈现的持续时间外加其它。电影标头框222还可包含识别呈现中的下一播放轨的识别符。举例来说,在所说明的实例中,识别符可指向由电影框220含有的播放轨框224。
通过框类型“trak”识别的播放轨框224可含有用于呈现的播放轨的信息。呈现可包含一或多个播放轨,其中每一播放轨独立于呈现中的其它播放轨。每一播放轨可包含特定针对于播放轨中的内容的时间及空间信息,且每一播放轨可与媒体框相关联。播放轨中的数据可为媒体数据,在此状况下,播放轨为媒体播放轨;或数据可为用于流式传输协议的包化信息,在此状况下,播放轨为提示播放轨。举例来说,媒体数据包含视频及音频数据。在所说明的实例中,实例播放轨框224包含播放轨标头框224a及媒体框224b。播放轨框可包含其它框,例如播放轨参考框、播放轨群组框、编辑框、用户数据框、元数据框及其它框。
由框类型“tkhd”识别的播放轨标头框224a可指定含于播放轨框224中的播放轨的特性。举例来说,播放轨标头框224a可包含播放轨的创建时间、修改时间、持续时间、播放轨识别符、层识别符、群组识别符、音量、宽度及/或高度,外加其它。对于媒体播放轨,播放轨标头框224a可进一步识别播放轨是否被启用、播放轨是否应作为呈现的部分而播放,或播放轨是否可用以预览呈现,外加其它。播放轨的呈现通常假定为处于呈现的开始处。播放轨框224可包含此处未说明的编辑列表框,所述编辑列表框可包含显式时刻表图。时刻表图可指定播放轨的偏移时间外加其它,其中偏移指示在呈现开始之后播放轨的开始时间。
在所说明的实例中,播放轨框224还包含由框类型“mdia”识别的媒体框224b。媒体框224b可含有对象及关于播放轨中的媒体数据的信息。举例来说,媒体框224b可含有处置程序参考框,其可识别播放轨的媒体类型及借以呈现播放轨中的媒体的过程。作为另一实例,媒体框224b可含有媒体信息框,其可指定播放轨中媒体的特性。媒体信息框可进一步包含样本表,其中每一样本描述包含(例如)用于样本的数据的位置的媒体数据(例如,视频或音频数据)的块。样本的数据存储于下文进一步论述的媒体数据框中。如同大部分其它框一般,媒体框224b还可包含媒体标头框。每一播放轨的元数据可包含样本描述项的列表,每一项提供在播放轨中使用的译码格式及/或囊封格式及对于处理所述格式需要的初始化数据。每一样本与播放轨的样本描述项中的一个相关联。ISOBMFF实现通过各种机构指定样本特定元数据。样本表框(“stbl”)内的特定框已经标准化以响应普通需求。举例来说,同步样本框(“stss”)用以列举播放轨的随机存取样本。样本分群机构实现根据四字符分群类型将样本映射成共享指定为文件中的样本群组描述项的同一性质的样本的群组。已在ISOBMFF中指定若干分群类型。
在所说明的实例中,实例ISO基本媒体文件200还包含呈现的多个片段230a、230b到230n。片段230a、230b到230n并非为ISOBMFF框,但实际上描述包含可选片段类型框231、电影片段框232及由电影片段框232参考的一或多个媒体数据框238的框的组合。片段类型框231、电影片段框232及媒体数据框238为顶层框,但此处经分群以指示电影片段框232与媒体数据框238之间的关系。
片段类型框231、电影片段框232及媒体数据框238定义ISOBMFF片段。片段类型框231识别片段类型“styp”,其定义片段的品牌。片段的品牌需要为文件类型框210中列出的相容品牌中的一个。片段类型框231之后为通过框类型“moof”识别的电影片段框232,其可通过包含将另外存储于电影框220中的额外信息而扩展呈现。使用电影片段框232,可逐渐地构建呈现。电影片段框232可包含电影片段标头框234及播放轨片段框236以及此处未说明的其它框。
通过框类型“mfhd”识别的电影片段标头框234可包含序号。播放器装置可使用序号来验证片段230a包含数据的下一段以供呈现。在一些状况下,文件的内容或用于呈现的文件可无序地被提供到播放器装置。举例来说,网络包可以不同于最初发射包的次序的次序频繁地到达。在此些状况下,序号可辅助播放器装置确定片段的正确次序。
电影片段框232还可包含通过框类型“traf”识别的一或多个播放轨片段框236。电影片段框232可包含一组播放轨片段(每播放轨零或多个)。播放轨片段可含有零或多个播放轨行程,其中的每一个描述播放轨的样本的连续行程。除添加样本到播放轨外,播放轨片段可用以将空的时间添加到播放轨。
通过框类型“mdat”识别的媒体数据框238含有媒体数据。在视频播放轨中,媒体数据框238将含有视频帧。媒体数据框可替代地或另外地包含音频数据。呈现可包含含于一或多个个别文件中的零或多个媒体数据框。媒体数据通过元数据描述。在所说明的实例中,所述媒体数据框238中的媒体数据可通过包含于播放轨片段框236中的元数据来描述。在其它实例中,媒体数据框中的媒体数据可通过电影框220中的元数据来描述。元数据可通过在文件200内的绝对偏移参考特定媒体数据,以使得媒体数据框238内的媒体数据标头及/或自由空间可被跳过。
ISO基本媒体文件200中的其它片段230b、230c到230n可含有类似于针对片段230a说明的那些框的框,及/或可含有其它框。
图3说明可包含于ISO基本媒体文件中的媒体框340的实例。如上文所论述,媒体框可包含于播放轨框中,且可含有描述播放轨中的媒体数据的对象及信息。在所说明的实例中,媒体框340包含媒体信息框342。媒体框340还可包含此处未说明的其它框。
媒体信息框342可含有描述关于播放轨中的媒体的特性信息的对象。举例来说,媒体信息框342可包含描述播放轨中的媒体信息的位置的数据信息框。作为另一实例,当播放轨包含视频数据时,媒体信息框342可包含视频媒体标头。视频媒体标头可含有独立于视频媒体的译码的大体呈现信息。当播放轨包含音频数据时,媒体信息框342还可包含声音媒体标头。
媒体信息框342还可包含样本表框344,如所说明实例中所提供。通过框类型“stbl”识别的样本表框344可提供播放轨中的媒体样本的位置(例如,文件的位置),以及样本的时间信息。使用通过样本表框344提供的信息,播放器装置可以正确时间次序定位样本,确定样本的类型,及/或确定大小、容器及容器内的样本的偏移外加其它。
样本表框344可包含通过框类型“stsd”识别的样本描述框346。样本描述框346可提供关于(例如)用于样本的译码类型的详细信息,及针对所述译码类型需要的任何初始化信息。存储于样本描述框中的信息可特定针对于包含样本的播放轨的类型。举例来说,一个格式在播放轨为视频播放轨时可用于样本描述,且在播放轨为提示播放轨时可使用不同格式。作为另一实例,样本描述的格式还可取决于提示播放轨的格式而发生变化。
样本描述框346可包含样本项框348a到348n。样本项为摘要类别,且因此通常样本描述框包含特定样本项,例如视频数据的可见样本项或音频样本的音频样本项外加其它实例。视频数据的每一可见样本项可包含一或多个视频帧。样本项框可存储针对特定样本的参数。举例来说,对于视频样本,样本项框可包含视频样本的宽度、高度、水平分辨率、竖直分辨率、帧计数及/或深度外加其它。作为另一实例,对于音频样本,样本项可包含信道计数、信道布局及/或采样速率外加其它。
在所说明的实例中,第一样本项348a包含通过样本大小框类型“stsz”识别的样本大小框350。样本大小框可指示样本的位组的数目。举例来说,对于可见样本,样本大小可指示包含于可见样本的一或多个视频帧中的数据的位组的数目。第一样本项348a还包含通过方案框类型“schm”识别的方案类型框352,所述方案框类型可定义用以指示样本的数据的类型的样本项类型。样本项类型信息可辅助解码器确定如何处置样本数据。
除了样本项框之外,样本描述346可进一步包含样本群组描述框360(通过样本群组描述框类型“sgpd”识别)及样本到群组框362(通过样本到群组框类型“sbgp”识别)。样本群组描述框360及样本到群组框362两者可为样本分群机构的部分以基于与样本群组描述框360相关联的预定特性对一组样本项分群。举例来说,样本群组描述框360可包含预定分群类型项。与预定分群类型相关联的样本项(基于通过样本项共享的某些共同特性)可映射到样本到群组框362中的所述分群类型项。
除支持媒体的本地播放外,ISOBMFF包含对经由网络流式传输媒体数据的支持。包含一个电影呈现的一或多个文件可包含称为提示播放轨的额外播放轨,其含有可辅助流式传输服务器形成所述一或多个文件并将其作为包发射的指令。举例来说,此些指令可包含用于服务器以供发送的数据(例如标头信息)或对媒体数据的区段的参考。文件可包含用于不同流式传输协议的单独提示播放轨。提示播放轨还可在不需要重新格式化文件的情况下添加到文件。
现参看图4,其说明用于流式传输的实例系统400。系统400包含经由网络406基于网络连接协议以通信方式彼此耦合的服务器402及客户端装置404。举例来说,服务器402可包含常规HTTP网页服务器,而客户端装置404可包含常规HTTP客户端。HTTP通信信道可被建立,且可由客户端装置404使用以发射HTTP请求到服务器402以请求某些网络资源。HTTP通信信道可通过服务器402使用以将包含经请求网络资源的HTTP响应发射回到客户端装置404。通过服务器402主控的一个网络资源可为媒体内容,其可分成媒体片段。客户端装置404可包含用以经由网络406与服务器402建立流式传输会话的流式传输应用程序408。在流式传输会话期间,流式传输应用程序408可经由网络406发射对于一或多个媒体片段的请求到服务器402的请求处理器410。流式传输应用程序408可接收经请求一或多个媒体片段,且可在发射对于后续媒体片段的后续请求之前在客户端装置404上再现所接收媒体片段中的一些或全部。使用此布置情况下,流式传输应用程序408在客户端装置404处再现媒体内容之前无需等待直到整个媒体内容的下载完成,此可促进网络资源的利用并改进用户体验。
为实现使用常规HTTP网页服务器的媒体内容的高质量流式传输,可使用自适应位速率流式传输。在自适应位速率流式传输情况下,对于每一媒体片段,客户端装置404可具有关于替代片段文件420及440的集合的信息。此处,媒体片段可指与特定播放时戳及持续时间相关联的媒体位流的部分。替代片段文件420及440的每一集合可对应于媒体片段(例如,与特定播放时戳及持续时间相关联)的特定表示。表示可指编码某些媒体内容(例如,通过特定位速率、帧速率、屏幕大小及/或其它合适的媒体特性)的特定结果。此处,媒体片段的不同表示可指编码所述媒体片段的媒体内容的不同结果。表示可包含一或多个子表示。子表示可包含(例如)指定可用于解码及/或提取来自表示的片段文件的媒体内容的编码结果(例如,编解码器、语言、嵌入的较低质量视频层及/或其它媒体特性)的信息。在替代片段文件的每一集合当中,每一媒体片段文件可与包含(例如)特定位速率、帧速率、分辨率、音频语言及/或子表示中指定的其它合适的媒体特性的性质的集合相关联。基于本地信息(例如,网络406的带宽、客户端装置404的解码/显示能力、用户偏好等),流式传输应用程序408可从集合中选择特定媒体片段文件用于每一表示。作为说明性实例,客户端装置404可发射对于与来自媒体片段文件420的第一分辨率相关联的媒体片段文件的请求。随后,归因于网络406的带宽的变化,客户端装置404可发射对于与第二分辨率相关联的媒体片段文件的另一请求。
关于替代片段文件420及440的集合的信息可为通过服务器402维持的描述文件460的部分。客户端装置404可从服务器402获得描述文件460,且可基于描述文件460发射对于媒体片段文件的请求。描述文件460可包含(例如)用于媒体内容的每一表示的替代媒体片段文件以及与每一替代媒体片段文件相关联的性质(例如,位速率、帧速率、分辨率、音频语言及/或其它合适的媒体特性)的集合的列表。所述列表还包含与替代片段文件的存储位置相关联的位置识别符(例如,统一资源定位符(URL)、统一资源指示符(URI)及/或其它合适的识别符)。
存在用于自适应位速率流式传输的各种协议。一个实例为经由超文本传送协议(HTTP)的动态自适应流式传输或(DASH)(定义于ISO/IEC 23009-1∶2014中),其还称为MPEG-DASH。在DASH情况下,描述文件460可包含媒体呈现描述(MPD)文件。
图5提供MPD 500的实例。如图5中所示,MPD 500包含在列表表示中提供的一或多个调适集合(例如,调适集合510)。调适集合510可与起始时戳及播放的持续时间相关联,且可包含表示512a及512b的集合。表示512a及512b中的每一个可包含媒体片段的集合。表示512a的媒体片段及表示512b的媒体片段可从同一内容源编码,且可与不同位速率、分辨率、帧速率及/或其它合适的媒体特性相关联。举例来说,表示512a包含媒体片段516a及518a,而表示512b包含媒体片段516b及518b。媒体片段516a及518a可与不同于媒体片段516b及518b的媒体性质的媒体性质(例如,分辨率、位速率或其类似者)相关联。
此外,每一表示还可包含一或多个子表示。举例来说,表示512a可包含子表示520a,而表示512b可包含子表示520b。如上文所论述,子表示可包含(例如)指定可用于解码及/或提取来自包含子表示的表示的片段文件的媒体内容的编码结果(例如,编解码器、语言、嵌入的较低质量视频层及/或其它媒体特性)的信息。
另外,每一表示还可包含发送包含于表示中的媒体片段的媒体特性信号的属性信息。举例来说,表示512a包含表示属性514a,而表示512b包含表示属性514b。表示属性514a及514b中的每一个可包含包含(例如)带宽、帧宽度、帧高度、其组合及/或其它属性信息的信息。
MPD可以可延伸标示语言(XML)来表示。XML格式中的MPD文件可提供调适集合的列表表示且包含用以定义每一调适集合的一组元素。所述组元素中的每一个可与定义(例如)调适集合、表示等的性质的属性的集合相关联。以下为图5的MPD 500的部分的实例:
Figure GDA0003545441760000231
在上述实例中,例如“周期(Period)”、“调适集合(AdaptationSet)”、“表示(Representation)”、“子表示(SubRepresentation)”、“SegmentURL”等的文本为元素,而“持续时间(duration)”、“mimeType”、“id”、“带宽(bandwidth)”、“宽度(width)”及“高度(height)”、“媒体(media)”等为属性。在此实例中,调适集合(例如,调适集合510)可与具有30秒持续时间(基于“持续时间”属性)的(例如)mp2t视频流(基于“mimeType”属性)相关联。此外,调适集合可包含与3.2M的带宽相关联并具有1280的宽度及720的帧高度的表示(例如,表示512a)。带宽、帧宽度及帧高度信息可包含于表示属性514a中。表示可包含指定音频组件的编解码器及带宽的子表示(例如,子表示520a)。表示还可包含多个片段,其中的每一个是由跟随“SegmentURL”元素的URI表示。片段可与表示相关联或根据不同子表示分群。
用于自适应位速率流式传输的另一实例为HTTP实时流式传输(HLS),其提供与传输流(TS)格式相关联的文件片段的流式传输。传输流指定囊封经包化基本流(PES)的容器格式。每一PES包括来自视频或音频解码器的顺序数据位组到PES包中的囊封。使用HLS,服务器可提供一组播放列表文件,其中的每一个包含到呈TS格式并与特定位速率相关联的文件片段的序列的链接。播放列表文件可呈.m3u8格式的格式,且包含标签及属性的集合以提供媒体片段文件的列表表示。变体播放列表文件可指一组播放列表文件,其中的每一个可与用于相同呈现(例如,视频帧的序列)的媒体片段文件的集合相关联,且所述组播放列表文件中的每一个可与不同位速率相关联。接收器装置可具有变体播放列表文件,且基于本地条件(例如,网络带宽),选择与特定带宽、位速率、帧速率等相关联的播放列表文件。接收器装置接着可使用所选择播放列表文件的信息以获得媒体片段文件以供流式传输。
以下为HLS变体播放列表的实例:
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=300000,prog_200kbs.m3u
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=600000,prog_400kbs.m3u
此处,文本“#EXT-X-STREAM-INF”为提供播放列表的某一信息及结构的标签。举例来说,“#EXT-X-STREAM-INF”指示跟随的URL(例如,“prog_200kbs.m3u”)为播放列表文件。标签还可与属性相关联。举例来说,“#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=300000”描述播放列表与具有每秒300000位的位速率的上限的视频文件相关联且与为1的呈现识别符相关联。
通过以上HLS变体播放列表参考的播放列表文件的实例可为如下:
#EXTINF:10.0,
http://example.com/movie1/fileSequenceA.ts
#EXTINF:10.0,
http://example.com/movie1/fileSequenceB.ts
...
此处,文本“#EXTINF”还是提供播放列表的某一信息及结构的标签。举例来说,“#EXTINF”可为描述通过跟随其的URL识别的媒体文件的记录标记。标签还可与属性相关联。举例来说,“#EXTINF:10.0”描述跟随的媒体片段文件具有10秒持续时间。图6提供变体播放列表文件及通过所述变体播放列表文件参考的一组播放列表文件的实例的图形表示。播放列表文件可包含用于每一媒体片段的信息,例如URL(“abc.ts”)及相关联持续时间(10秒)。
图7A说明发送ISO基本媒体格式(ISOBMFF)文件中的损坏的帧信号的实例。图7A中展示的媒体框740为可包含于ISOBMFF文件中的媒体框的实例。ISOBMFF文件可(例如)通过流式传输服务器、通过托管服务器与接收器装置之间的中间网络装置、通过接收器装置或将经编码数据囊封到媒体文件中的任何其它装置而产生或更新。在所说明的实例中,媒体框740包含媒体信息框742,其包含样本表744。样本表744包含样本描述746(stsd),其又可包含样本项748a到748n等。项748a可包含样本大小框750(stsz)及方案类型框752(schm)。任选地,样本描述746还可包含样本群组描述框760(sgpd)及样本到群组框762(sbgp)。除非另外规定,否则此些框的性质可与图3中的对应框相同,对应框的描述不在此处重复。
在图7A的实例中,样本项748a可包含包含一或多个损坏视频帧的视频样本。如前所提及,损坏的媒体帧为归因于损坏的帧的视频数据仅被部分接收、归因于遗失与用于帧间预测链的媒体帧相关联或在所述媒体帧中的数据,或归因于使得视频帧变得不可解码的其它因素而不可被正确地解码的媒体帧。如果解码器尝试解码损坏的媒体帧(其为在解码程序中的未预期行为),那么结果可包含解码器崩溃、错误或其它负面结果。为发送样本项748a中的损坏视频帧的存在信号,样本项748a的方案类型框752可携载与损坏视频帧相关联的样本项类型。样本项类型可通过四字母码(在图7A的实例中,四字母码可经定义为“crpt”)识别。另一方面,如果样本项748a包含具有遗失视频帧的视频样本,那么样本项748a可包含另一代码识别符,例如“丢失”、“空”或用以指示所述特定样本项中的遗失视频帧的出现的其它合适的代码识别符。
图7B说明发送ISOBMFF文件中的损坏的帧信号的另一实例。举例来说,媒体框740可包含于ISOBMFF文件中。假定样本项748a的视频帧的全部被损坏(即,样本项748a的视频帧中无一个可被解码),通过囊封经编码媒体位流产生ISOBMFF文件的应用程序可从ISOBMFF文件省略对应于样本项748a的视频样本。即,在图7B的实例中,样本项748a从样本表744省略(且不存在于所述样本表中)。样本项748a的省略可通过接收器装置基于(例如)样本表框744中列出的样本的序列的位置及时间信息中的间隙而检测。
在图7A及7B的实例的情况下,接收器装置可在解封装ISOBMFF文件时检测到损坏的帧。基于样本项类型信息,或特定样本项的省略,接收器装置可直接获得损坏视频帧的精确文件位置(例如,包含损坏视频帧的哪一播放轨及哪一样本),以及损坏且不可解码的视频帧的时序信息。接收器装置可接着执行预定文件处置程序以按高效方式处置损坏视频帧。举例来说,基于文件中的损坏媒体帧的指示,接收器装置不需要执行其它计算步骤来寻找损坏视频帧。举例来说,接收器装置不需要将位组位置转换到播放轨及时序信息,或其它转换操作,以寻找损坏视频帧的精确文件位置。此外,归因于损坏的帧的指示,还可防止接收器装置试图解码损坏视频帧,此可防止解码器崩溃、错误消息及/或可伤害解码程序的其它不合需要的结果。此些中的全部可促进损坏视频帧的正确处置并改进用户体验。
图8A及8B说明发送ISOBMFF文件中的遗失帧信号的实例。图8A说明ISO基本媒体文件800的顶层级的实例。ISO基本媒体文件可通过(例如)流式传输服务器、托管服务器与接收器装置之间的中间网络装置、将经编码数据囊封到媒体文件中的等等装置而产生或更新。在图8A的实例中,媒体文件800可包含文件类型框810、电影框820及一或多个电影片段框830a、830b到830n。可在此层级处包含但未在此实例中表示的其它框包含自由空间框、元数据框及媒体数据框外加其它。电影框820包含电影标头框822,且可包含一或多个播放轨框824以及其它框。播放轨框824包含播放轨标头框824a及媒体框824b。片段830a包含片段类型框831及电影片段框832。除非另外规定,否则此些框的性质可与图2中的对应框相同,对应框的描述不在此处重复。
假定片段830a含有空片段,片段类型831可携载与空片段相关联的品牌识别符。品牌识别符可为文件类型810中列出的相容品牌中的一个。在图8A的实例中,此品牌识别符可为四字母码“empt”。另外,与空片段相关联的媒体数据框可从片段830省略。
另外,媒体824b还可包含用以指示空片段的指示符。现参看图8B,其说明图8A的媒体框824b的实例。如图8B中所示,媒体框824b包含媒体信息框842,其包含样本表844。样本表844包含样本描述846,其又可包含样本项848a到848n等。项848a可包含样本大小框850及方案类型框852。任选地,样本描述846还可包含样本群组描述框860及样本到群组框862。除非另外规定,否则此些框的性质可与图3中的对应框相同,对应框的描述不在此处重复。
此处,假定样本项848a为由片段类型831及电影片段832定义的空片段的部分,样本项848a的样本大小框850可携载值零,以指示样本具有零大小。
图9说明发送ISOBMFF文件中的遗失帧信号的实例。图9说明ISO基本媒体文件900的顶层级的实例。ISO基本媒体文件可通过(例如)流式传输服务器、托管服务器与接收器装置之间的中间网络装置、将经编码数据囊封到媒体文件中的等等装置而产生或更新。在图9的实例中,媒体文件900可包含文件类型框910、电影框920及一或多个电影片段框930a、930b到930n。可在此层级处包含但未在此实例中表示的其它框包含自由空间框、元数据框及媒体数据框外加其它。除非另外规定,否则此些框的性质可与图2中的对应框相同,对应框的描述不在此处重复。
在图9的实例中,片段930a包含片段类型框931,其携载如图8A中的品牌“empt”。片段930a还包含空片段信息框932。空片段信息框932可包含表示框类型码“esif”的数据,且可通过“esif”框类型码识别。只要片段包含与片段类型931相关联的空片段,空片段信息框932便可包含于所述片段中。空片段信息框932(“EmptySegmentInfoBox”)的定义、语法及语义(其中一些是在图9中说明)可为如下:
定义
框类型:“esif”
容器:文件
必选:对于空媒体片段,是
数量:一
语法
Figure GDA0003545441760000271
语义
reference_ID字段可保存无符号32位整数,且可提供用于参考流的流ID,其中流为播放轨且流ID为流的播放轨的播放轨ID。reference_ID可用以确定空片段定位哪一播放轨。
时间标度字段可保存无符号32位整数且对于此框内的earliest_presentation_time及segment_duration字段(待在下文论述),以每秒滴答定义时间标度。在一个实施例中,定义于空片段信息框932中的时间标度可匹配参考流或播放轨的时间标度,以及播放轨的媒体标头框(例如,图2的电影标头222)的时间标度字段。
earliest_presentation_time字段可保存无符号32位或64位整数(取决于版本)。earliest_presentation_time可以时间标度字段中指示的时间标度提供含有此框的空媒体片段的最早呈现时间。
segment_duration字段可保存参考流的下一片段的最早呈现时间(或如果此为参考流的最后片段,那么参考流的最后呈现时间)与此空片段的最早呈现时间之间的差值。持续时间是在与earliest_presentation_time字段中保存的值相同的单位中。
在图8A到图8B及图9的实例的情况下,接收装置还可在解封装ISOBMFF文件时通过辨识与空片段相关联的片段类型品牌(例如,码字“empt”)检测到空片段(具有遗失视频帧)。此外,接收器装置还可基于(例如)(图8B的)样本大小信息、(图9的)空片段信息框信息等直接获得精确位置(例如,哪一播放轨)及关于遗失的片段的时序信息。此使得接收器装置能够以高效方式执行用于遗失帧的预定文件处置程序。举例来说,接收器装置并不需要执行其它计算步骤以寻找遗失视频帧。还可防止接收器装置试图解码遗失视频帧。防止通过接收器装置进行的此些操作可促进遗失视频帧的正确处置且改进用户体验。
图10说明提供统一发送ISOBMFF文件中的遗失视频帧或损坏视频帧信号的实例。在统一发信号的情况下,单一指示符可与遗失视频帧及损坏视频帧两者相关联。接收器装置在检测到单一指示符后可确定一或多个视频帧遗失或损坏,且可执行预定处置程序以处置(或处理)遗失或损坏视频帧(例如,通过不解码那些视频帧)。替代地,接收器装置还可组合单一指示符与其它信息(例如,用于遗失的帧及/或空片段的零样本大小)以区分遗失帧及损坏的帧。
如图10中所示,提供ISO基本媒体文件的媒体框1040的实例。ISO基本媒体文件可通过(例如)流式传输服务器、托管服务器与接收器装置之间的中间网络装置、将经编码数据囊封到媒体文件中的等等装置而产生或更新。如图10中所示,媒体框1040包含媒体信息框1040,其包含样本表1044。样本表1044包含样本描述1046,其又可包含样本项1048a到1084n等。项1048a可包含样本大小框1050及方案类型框1052。样本表1044进一步包含样本群组描述框1060及样本到群组框1062。
在图10的实例中,样本项1048a可包含包含一或多个损坏视频帧、一或多个遗失视频帧或其任何组合的视频样本。为发送样本项1048a中的遗失或损坏视频帧的存在信号,样本项748a的方案类型框1052可携载与损坏视频帧及遗失视频帧两者相关联的样本项类型。样本项类型可通过四字母码(在图10的实例中,四字母码经定义为“mcpt”)识别。通过识别发送遗失或损坏视频帧的存在信号的四字母码,接收器装置可直接获得关于损坏或遗失(且不可解码)的视频帧的精确文件位置及时序信息(例如,播放轨的哪一样本包含损坏视频帧),且可以高效方式执行预定文件处置程序。
另外,样本分群的新类型还可经定义以指示群组包含与样本项类型“mcpt”相关联的样本。举例来说,如图10中所示,样本群组描述框1060可存储样本群组类型项1061。样本群组类型项(“MissingAndCorruptedFramesSampleEntry”)可与四字母码识别符(在图10的实例中,“mptf”)相关联,且可与以下定义及语法相关联:
定义
群组类型:“mptf”
容器:样本群组描述框(“sgpd”)
必选:否
数量:零或大于零
语法
类别MissingAndCorruptedFramesSampleEntry()延伸VisualSampleGroupEntry(“mptf”)
Figure GDA0003545441760000291
样本群组类型项可包含用于mpt_frame_type的无符号两位整数。mpt_frame_type的值可指示与样本群组描述项相关联的样本群组的样本中的媒体帧的条件。举例来说,值0可指示样本群组既不包含遗失视频帧也不包含损坏视频帧。值1可指示样本群组包含遗失视频帧。值2可指示样本群组指示损坏视频帧。值3可指示不知晓媒体帧的条件。
此外,样本到群组框1062可包含包含于样本群组描述框1060中的样本群组类型项与表示样本项的索引之间的映射。在图10的实例中,样本到群组框1062可包含将样本群组类型项1061映射到与样本项1048a相关联的索引以指示样本项为共享视频帧的共同条件的样本的群组的部分的映射1063,如通过样本群组的mpt_frame_type值所指示。
在图10的实例的情况下,统一发信号机构可用以指示样本群组是包含遗失视频帧、损坏视频帧抑或具有完全可解码视频帧。统一发信号机构提供媒体文件中的视频帧的条件的紧凑且高效表示。此可简化用于解译及处置信号的接收器装置的设计。
图11及12说明发送用于媒体流式传输的遗失文件片段信号的实例。图11说明用于DASH流式传输的MPD的实例,且图12说明用于HLS流式传输的播放列表文件或CMAF文件的实例。MPD、播放列表文件及CMAF文件可通过维持文件的流式传输服务器(例如,图4的服务器402)而产生或更新。替代地,此些文件还可通过客户端装置(例如,图4的客户端装置404)产生或更新。举例来说,客户端装置可已从流式传输服务器接收列出待由客户端装置下载的媒体片段文件的集合的描述文件(MPD、播放列表文件、CMAF文件或任何合适的文件)。在流式传输会话期间,客户端装置可根据描述文件下载媒体片段文件的集合,且可确定经下载媒体片段文件中的一或多个含有遗失或损坏视频帧(例如,归因于解码经下载媒体片段文件过程中的失效)。在此状况下,客户端装置可基于待在图11及12中公开的技术更新MPD、播放列表文件、CMAF文件等,且使用经更新文件来在下一流式传输会话中请求媒体片段文件,以避免接收具有遗失或损坏视频帧的媒体片段文件。
现参看图11,其说明发送遗失媒体片段信号的MPD 1100的实例的结构。MPD 1100可包含调适集合1102,其包含表示1104及表示1106。在图11的实例中,表示1106包含表示属性1110、媒体片段1112、媒体片段1114等。媒体片段1112及1114中的每一个可与开始时间及持续时间相关联。
在图11的实例中,媒体片段1112可与遗失的媒体片段文件相关联。MPD 1100可包含用以指示媒体片段1112与遗失的媒体片段文件相关联的发信号信息。遗失的媒体片段文件可与表示或子表示相关联。举例来说,表示1106(其包含媒体片段1112)的表示属性1110可包含指定存在遗失片段且用于那些片段的持续时间待在MPD中发信号的元素“SegmentsMissingDurations”。表示属性1110还可包含指定用于遗失元素的持续时间的元素“MissingDurations”。持续时间可表示为与“MissingDurations”元素相关联的属性的集合。在图11的实例中,遗失的媒体片段具有0:01的开始时间与1秒的持续时间,且具有0.06的开始时间与0.2秒的持续时间。在一些实施例中,“SegmentsMissingDurations”及“MissingDurations”元素还可为子表示的部分,以指示子表示的遗失片段。“SegmentsMissingDurations”及“MissingDurations”的语义及语法可为如下:
语义
Figure GDA0003545441760000301
XML语法
Figure GDA0003545441760000302
Figure GDA0003545441760000311
现参看图12,其说明发送遗失媒体片段信号的播放列表文件1200的实例的结构。播放列表文件1200还可为CMAF文件(例如,具有到ISOBMFF文件而非传输流(TS)文件的链接)。在图12的实例中,媒体片段1202包含遗失的片段文件。播放列表文件1200可以特定标签“missing_segment”指示媒体片段1202包含遗失片段文件来指示此。
使用图11及12的实例,接收器装置可在发射对于媒体片段文件的请求之前确定文件遗失。举例来说,基于图11的“SegmentsMissingDurations”及“MissDurations”元素及其相关联属性,接收器装置可识别与具有遗失文件的片段相关联的开始时间及持续时间信息。接收器装置可对照媒体片段1112及1114中的每一个的开始时间及持续时间信息比较遗失片段的开始时间及持续时间信息,以确定媒体片段1112与遗失的媒体片段文件相关联。同样,基于图12中的“missing_segment”标签,接收器装置还可确定媒体片段1202与遗失的媒体片段文件相关联。在两种情况下,接收器可接着执行预定处置程序,包含(例如)获得来自另一表示(例如,表示1104)或来自另一播放列表的对应媒体片段来代替媒体片段1112,以获得媒体片段1202的替代呈现。
图13说明用于处理视频数据的过程1300的实例。过程可通过(例如)流式传输服务器(例如,图4的服务器402)、托管服务器与接收器装置之间的中间网络装置或在媒体文件(例如,ISOBMFF文件)中囊封经编码数据的其它合适装置执行。过程还可通过使用描述文件(例如,MPD、播放列表文件、CMAF文件或任何合适的文件)流式传输来自流式传输服务器的视频数据的客户端装置(例如,图4的客户端装置404)执行。
在块1302处,过程1300包含获得多个视频数据帧。通过过程获得的多个帧可为使用视频编解码器编码及/或压缩视频数据的结果。视频数据可包含多个视频样本,在此状况下所述多个视频样本中的每一个包含多个帧中的一或多个帧。在一些实施例中,视频样本中的每一个可与识别包含于视频样本中的每一个中的内容的类型的类型识别符相关联。如由过程接收的多个视频数据帧可在一或多个ISO格式媒体文件(例如,ISOBMFF)中。多个视频数据帧可在基于前述描述文件获得的一或多个媒体片段文件中。
在块1304处,过程1300包含确定多个帧中的至少一个帧被损坏。举例来说,过程1300可确定多个帧中的至少一个帧被损坏。视频数据可包含对应于多个帧中的至少一个帧的第一数据,在此状况下第一数据对于正确地解码至少一个帧是不充足的。如上文所论述,损坏的帧可以不同方式出现。在一些状况下,帧可在用于所述帧的经编码数据的部分丢失时变得损坏。在一些状况下,帧可在帧为帧间预测链的部分,且帧间预测链的某其它经编码数据丢失以使得帧不可正确地解码时变得损坏。举例来说,至少一个帧可为帧间预测链的部分,且视频数据可包含对应于帧间预测链的第一数据。在此些状况下,第一数据对于正确地解码至少一个帧是不充足的。在一些状况下,经编码媒体数据可在经囊封以供在服务器处发射之前变得损坏(例如,归因于媒体文件损坏),或甚至遗失。在一些状况下,编码器(或转码器)可在编码媒体数据中崩溃或失效。编码器失效可导致一些帧不被编码(及不包含)于经编码数据中,从而使得经编码数据包含遗失帧。编码器失效还可导致部分编码帧及在经编码数据中包含部分数据。如果部分数据并不足以正确地解码帧,那么经编码数据还可包含损坏的帧。
存在系统(例如,流式传输服务器)确定多个帧中的至少一个帧被损坏所借以的不同方式。举例来说,流式传输服务器可接收来自另一视频源(例如,内容服务器)的呈网络包形式的视频数据,且流式传输服务器可基于(例如)以下各者确定数据丢失在视频数据的发射期间出现:一些网络包已在发射中丢失;误差已引入于网络包的有效负载中(例如,基于误差校正码);及所述误差不可被校正;等。基于丢失数据的大小,以及视频数据内丢失数据的位置,流式传输服务器可进一步确定视频数据是否包含损坏的帧(例如,当从网络包接收的数据不可用以解码帧性质时),且识别损坏的帧。作为另一实例,流式传输服务器可采用编码器以通过编码表示图像的集合的数据来产生视频文件,且编码器可在试图编码包含损坏的数据的帧时崩溃。编码器可提供关于导致崩溃的帧的指示到流式传输服务器。流式传输服务器接着可基于来自编码器的指示确定存在损坏的帧,且识别损坏的帧。
作为另一实例,在流式传输会话期间,客户端装置可根据描述文件下载媒体片段文件的集合,且可确定经下载媒体片段文件中的一或多个含有损坏视频帧(例如,归因于解码媒体片段文件过程中的失效)。
在块1306处,过程1300包含产生至少一个帧损坏的指示。指示可呈根据本文中(包含例如图7A到图12)所描述的实例的形式。
在一些实施例中,指示可为ISO格式文件的部分。在一个实例中,指示可通过与包含损坏的至少一个帧的视频样本相关联的类型识别符(例如,与样本项类型相关联的代码识别符)提供,如关于图7A所论述。在另一实例中,指示可通过对应于损坏视频帧的一或多个样本项的省略提供,如关于图7B所论述。在又一实例中,如关于图10所论述,与遗失视频帧及损坏视频帧两者相关联的统一样本类型识别符可用以提供指示。另外,统一样本群组类型识别符可用以指示视频样本群组(与样本群组类型识别符相关联)包含损坏/遗失视频帧。还可包含将统一样本群组类型识别符映射到含有损坏/遗失的样本群组的视频样本的样本到群组框以提供视频样本中的哪一个包含损坏/遗失视频帧的指示。
在一些实施例中,指示亦可为用于流式传输应用的前述描述文件的部分。举例来说,流式传输服务器可产生用以指示包含于描述文件中的一或多个媒体片段遗失(及/或损坏)的描述文件。在另一实例中,客户端装置可从在块1302处获得的原始描述文件产生经更新描述文件,以指示包含于原始描述文件中的媒体片段的哪一个遗失(及/或损坏)。在一个实例中,描述文件可为MPD文件且可包含用以指定存在媒体片段遗失及用于那些片段的持续时间的预定元素及属性。在另一实例中,描述文件可为播放列表文件且可包含用以指示遗失片段文件或具有损坏数据的片段文件的预定标签。
在块1308处,过程1300包含产生包含在块1306处确定的指示的媒体文件。媒体文件可为ISOBMFF文件、用于流式传输应用程序的描述文件(例如,MPD、播放列表、CMAF等)等。
如上文所提及,视频数据可包含多个视频样本,其中所述多个视频样本中的每一个包含多个帧中的一或多个帧。多个视频样本可包含包含损坏的至少一个帧的第一视频样本。第一视频样本与识别包含于第一视频样本中的内容的类型的类型识别符相关联。在此状况下,指示可包含类型识别符。类型识别符可指示第一视频样本包含损坏的帧中的至少一个。类型识别符还可指示媒体类型及用以处理媒体文件的解码器的类型。在一些状况下,类型识别符包含样本项类型。
在一些实例中,媒体文件可包含视频数据的多个片段的列表表示。在一个实例中,多个片段可包含第一片段及第二片段。第一片段及第二片段可包含多个帧中的一或多个帧。第二片段还可包含多个帧中的一或多个遗失帧。举例来说,未在文件中提供的遗失帧意谓为第二片段的部分,但并不包含于文件中。上文提及的指示可被称为第一指示。在此些实例中,过程1300可进一步包含确定第二片段包含一或多个遗失帧,及产生提供一或多个遗失帧的指示的第二指示。过程1300可在媒体文件中添加(或包含)第二指示。
在一些实例中,媒体文件包含媒体呈现描述(MPD)格式文件。上文提及的列表表示可包含一或多个调适集合,其中一或多个调适集合中的每一个包含含有具有一或多个遗失帧的视频数据的一或多个表示及/或一或多个子表示。一或多个表示或一或多个子表示中的每一个与一或多个片段相关联。第二指示可包含与用于一或多个表示或一或多个子表示的一或多个遗失帧相关联的一或多个元素。一或多个元素与包含第二片段的时戳及持续时间的属性的集合相关联。
在一些实施方案中,列表表示包含用于检索第一片段而非第二片段的信息。在此些状况下,第二指示包含用于检索第二片段的信息的省略。在一些实施方案中,列表表示包含与第二片段相关联的文本指示符。文本指示符可指示第二片段包含一或多个遗失帧。在此些实施方案中,第二指示可包含文本指示符。
在一些实例中,媒体文件是基于HTTP实时流式传输(HLS)播放列表格式。在此些状况下,多个片段中的每一片段与传输流(TS)文件相关联,且列表表示可包含一组标签。在此些状况下,文本指示符为与第二片段相关联的所述组标签中的标签。
在一些实例中,媒体文件是基于共同媒体应用程序格式(CMAF)且包含播放列表。多个片段中的每一片段与ISOBMFF相关联。列表表示可包含一组标签,且文本指示符为与第二片段相关联的所述组标签中的标签。
图14说明用于处理媒体文件数据的过程1400的实例。过程可通过(例如)媒体文件数据的接收器装置执行。接收器装置可为接收及解码包含于媒体文件中的经编码视频数据的任一装置。接收器装置可为(例如)客户端装置(例如,图4的客户端装置404)、在托管服务器与所述客户端装置之间的中间网络装置,或其它合适的装置。
在块1402处,过程1400包含获得包含媒体内容的媒体文件。媒体内容包含多个视频数据帧。媒体文件可为囊封媒体内容的文件(例如,ISOBMFF文件),或链接一或多个媒体内容片段文件的用于流式传输应用程序的描述文件(例如,MPD、播放列表、CMAF等)。媒体文件中的多个帧可为使用视频编解码器编码及/或压缩视频数据的结果。视频数据可包含多个视频样本,且所述多个视频样本中的每一个包含多个帧中的一或多个帧。在一些实施例中,视频样本中的每一个可与识别包含于视频样本中的每一个中的内容的类型的类型识别符相关联。如由过程接收的多个视频数据帧可在一或多个ISO格式媒体文件(例如,ISOBMFF)中。多个视频数据帧可在基于前述描述文件获得的一或多个媒体片段文件中。
在块1404处,过程1400包含基于媒体文件中的指示确定多个帧包含至少一个损坏的帧。媒体内容可包含对应于多个帧中的至少一个帧的第一数据,在此状况下第一数据对于正确地解码至少一个帧是不充足的。如上文所论述,损坏的帧可以不同方式出现。在一些状况下,帧可在用于所述帧的经编码数据的部分丢失时变得损坏。在一些状况下,帧可在帧为帧间预测链的部分,且帧间预测链的某其它经编码数据丢失以使得帧不可正确地解码时变得损坏。举例来说,至少一个帧可为帧间预测链的部分,且视频数据可包含对应于帧间预测链的第一数据。在此些状况下,第一数据对于正确地解码至少一个帧是不充足的。在一些状况下,经编码媒体数据可在经囊封以供在服务器处发射之前变得损坏(例如,归因于媒体文件损坏),或甚至遗失。在一些状况下,编码器(或转码器)可在编码媒体数据中崩溃或失效。编码器失效可导致一些帧不被编码(及不包含)于经编码数据中,从而使得经编码数据包含遗失帧。编码器失效还可导致部分编码帧及在经编码数据中包含部分数据。如果部分数据并不足以正确地解码帧,那么经编码数据还可包含损坏的帧。
在块1404中的确定可基于发送损坏或遗失视频帧信号的指示。指示可呈根据本文中(包含例如图7A到图12)所描述的实例的形式。在一些实施例中,指示可为ISO格式文件的部分。在实例中,指示可通过与包含损坏的至少一个帧的视频样本相关联的类型识别符(例如,与样本项类型相关联的代码识别符)提供,如关于图7A所论述。在另一实例中,指示可通过对应于损坏视频帧的一或多个样本项的省略提供,如关于图7B所论述。在又一实例中,如关于图10所论述,与遗失视频帧及损坏视频帧两者相关联的统一样本类型识别符可用以提供指示。另外,统一样本群组类型识别符可用以指示视频样本群组(与样本群组类型识别符相关联)包含损坏视频帧。还可包含将统一样本群组类型识别符映射到含有损坏样本群组的视频样本的样本到群组框以提供视频样本中的哪一个包含损坏视频帧的指示。基于指示,系统可识别(例如)包含损坏视频帧的媒体文件的视频样本。
在一些实施例中,指示还可为用于流式传输应用程序的前述描述文件的部分,以指示包含于原始描述中的媒体片段中的哪一个损坏(或遗失)。在一个实例中,描述文件可为MPD文件且可包含用以指定存在被损坏且不可用于流式传输的媒体片段,及用于那些片段的持续时间的预定元素及属性。在另一实例中,描述文件可为播放列表文件且可包含用以指示损坏(及/或遗失)片段文件的预定标签。基于指示,系统可识别(例如)包含具有损坏视频帧的媒体片段的呈现或表示/子表示。
在块1406处,过程1400包含基于指示处理经确定至少一个损坏的帧。举例来说,基于识别包含损坏视频帧的视频样本,系统可跳过所述视频样本的解码。举例来说,过程1400可基于指示识别对应于损坏的至少一个帧的媒体内容的一部分,且可跳过媒体内容的所述部分的处理。作为另一实例,基于识别包含具有损坏视频帧媒体片段的呈现/表示/子表示,请求替代呈现/表示/子表示。替代呈现/表示/子表示可向不同源请求且可与与包含损坏的媒体片段的呈现/表示/子表示相同或不同的媒体特性相关联。
如上文所提及,视频数据可包含多个视频样本,其中所述多个视频样本中的每一个包含多个帧中的一或多个帧。多个视频样本可包含包含损坏的至少一个帧的第一视频样本。第一视频样本与识别包含于第一视频样本中的内容的类型的类型识别符相关联。在此状况下,指示可包含类型识别符。类型识别符可指示第一视频样本包含损坏的帧中的至少一个。类型识别符还可指示媒体类型及用以处理媒体文件的解码器的类型。在一些状况下,类型识别符包含样本项类型。
在一些实例中,媒体文件包含视频数据的多个片段的列表表示。在一个实例中,多个片段可包含第一片段及第二片段。第一片段及第二片段可包含多个帧中的一或多个帧。第二片段还可包含多个帧中的一或多个遗失帧。上文提及的指示可被称为第一指示,在此状况下媒体文件可进一步包含用以指示第二片段包含多个帧中的一或多个遗失帧的第二指示。
在一些实例中,媒体文件包含媒体呈现描述(MPD)格式文件。上文提及的列表表示可包含一或多个调适集合,其中一或多个调适集合中的每一个包含含有具有一或多个遗失帧的视频数据的一或多个表示及/或一或多个子表示。一或多个表示或一或多个子表示中的每一个与一或多个片段相关联。第二指示可包含与用于一或多个表示或一或多个子表示的一或多个遗失帧相关联的一或多个元素。一或多个元素与包含第二片段的时戳及持续时间的属性的集合相关联。
在一些实施方案中,列表表示包含用于检索第一片段而非第二片段的信息。在此些状况下,第二指示包含用于检索第二片段的信息的省略。在一些实施方案中,列表表示包含与第二片段相关联的文本指示符。文本指示符可指示第二片段包含一或多个遗失帧。在此些实施方案中,第二指示可包含文本指示符。
在一些实例中,媒体文件是基于HTTP实时流式传输(HLS)播放列表格式。在此些状况下,多个片段中的每一片段与传输流(TS)文件相关联,且列表表示可包含一组标签。在此些状况下,文本指示符为与第二片段相关联的所述组标签中的标签。
在一些实例中,媒体文件是基于共同媒体应用程序格式(CMAF)且包含播放列表。多个片段中的每一片段与ISOBMFF相关联。列表表示可包含一组标签,且文本指示符为与第二片段相关联的所述组标签中的标签。
在一些方面中,过程1400可基于指示通过发射请求到流式传输服务器以请求第三片段代替第二片段来处理至少一个损坏的帧。
过程1300及1400经说明为逻辑流程图,其中的操作表示可在硬件、计算机指令或其组合中实施的操作的序列。在计算机指令的上下文中,操作表示存储于一或多个计算机可读存储媒体上当通过一或多个处理器执行时执行所叙述的操作的计算机可执行指令。通常,计算机可执行指令包含执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构及其类似者。描述操作的次序并不打算被理解为限制,且任何数目个经描述操作可按任何次序及/或与实施过程并行地组合。
另外,过程1300及1400可在经配置有可执行指令的一或多个计算机系统的控制下执行,且可被实施为共同在一或多个处理器上执行的程序代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)、通过硬件实施或其组合。如上文所提及,程序代码可存储于计算机可读或机器可读存储媒体上,例如,呈包含可由一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。计算机系统可包含(例如)图1的视频源102、编码装置104、解码装置112及视频目的地装置122,以及图4的服务器402及客户端装置404。
编码装置1504及解码装置1612的特定细节分别展示于图15及图16中。图15为说明可实施本发明中所描述的技术中的一或多个的实例编码装置1504的框图。编码装置1504可(例如)产生本文中所描述的语法结构(例如,VPS、SPS、PPS或其它语法元素的语法结构)。编码装置1504可执行视频切片内的视频块的帧内预测及帧间预测译码。如先前所描述,帧内译码至少部分地依赖于空间预测以减少或去除给定视频帧或图片内的空间冗余。帧间译码至少部分地依赖于时间预测以减少或去除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一个。帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的压缩模式中的任一个。
编码装置1504包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。对于视频块重构建,编码装置1504还包含反量化单元58、反变换处理单元60及求和器62。滤波器单元63打算表示一或多个回路滤波器,例如解块滤波器、自适应回路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管滤波器单元63在图12中展示为回路内滤波器,但在其它配置中,滤波器单元63可实施为后回路滤波器。后处理装置57可对由编码装置1504产生的经编码视频数据执行额外处理。本公开的技术可在一些情况下由编码装置1504实施。然而,在其它情况下,本发明的技术中的一或多个可由后处理装置57实施。
如图15中所展示,编码装置1504接收视频数据,且分割单元35将数据分割成视频块。分割还可包含(例如)根据LCU及CU的四分树结构分割成切片、切片片段、频块或其它较大单元,以及视频块分割。编码装置1504大体说明编码待编码的视频切片内的视频块的组件。可将切片划分成多个视频块(且可能划分成被称作频块的视频块集合)。预测处理单元41可基于误差结果(例如,译码速率及失真等级,或其类似者)选择多个可能译码模式中的一个(例如,多个帧内预测译码模式中的一个或多个帧间预测译码模式中的一个)以用于当前视频块。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据并提供到求和器62以重构建经编码块以用于用作参考图片。
预测处理单元41内的帧内预测处理单元46可执行当前视频块相对于与待译码的当前块相同的帧或切片中的一或多个相邻块的帧内预测译码以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码,以提供时间压缩。
运动估计单元42可经配置以根据视频序列的预定图案来确定用于视频切片的帧间预测模式。预定图案可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42及运动补偿单元44可高度集成,但出于概念目的而单独说明。由运动估计单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。运动向量(例如)可指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测性块的移位。
预测性块为就像素差而言被发现紧密地匹配待译码的视频块的PU的块,所述像素差可由绝对差和(SAD)、平方差和(SSD)或其它差度量确定。在一些实例中,编码装置1504可计算存储于图片存储器64中的参考图片的子整数像素位置的值。举例来说,编码装置1504可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精度的运动向量。
运动估计单元42通过将PU的位置与参考图片的预测性块的位置比较而计算经帧间译码切片中的视频块的PU的运动向量。参考图片可从第一参考图片列表(例表0)或第二参考图片列表(例表1)选择,所述列表中的每一个识别存储于参考图片存储器64中的一或多个参考图片。运动估计单元42将经计算运动向量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于通过运动估计确定的运动向量提取或产生预测性块,可能执行内插达子像素精度。在接收到当前视频块的PU的运动向量之后,运动补偿单元44可在参考图片列表中定位运动向量所指向的预测性块。编码装置1504通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于块的残余数据,且可包含明度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素,以供解码装置1612用于解码视频切片的视频块。
如上文所描述,作为由运动估计单元42及运动补偿单元44所执行的帧间预测的替代例,帧内预测处理单元46可对当前块进行帧内预测。具体来说,帧内预测处理单元46可确定帧内预测模式以用以编码当前块。在一些实例中,帧内预测处理单元46可(例如)在单独的编码遍次期间使用各种帧内预测模式编码当前块,且帧内预测处理单元46(或模式选择单元,图15中未展示)可从所测试的模式选择适当帧内预测模式来使用。举例来说,帧内预测处理单元46可使用对各种所测试帧内预测模式的速率-失真分析来计算速率-失真值,且可在所测试模式当中选择具有最优选速率-失真特性的帧内预测模式。速率-失真分析大体上确定经编码块与原始、未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测处理单元46可根据各种经编码块的失真及速率计算比率以确定哪一帧内预测模式展现所述块的最优选速率-失真值。
在任何情况下,在选择用于块的帧内预测模式后,帧内预测处理单元46可将指示用于块的所选帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示所选帧内预测模式的信息。编码装置1504可在用于各种块的编码上下文的所发射位流配置数据定义以及最可能帧内预测模式的指示中包含帧内预测模式索引表及经修改帧内预测模式索引表以用于上下文中的每一个。位流配置数据可包含多个帧内预测模式索引表及多个经修改帧内预测模式索引表(也被称作码字映射表)。
在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,编码装置1504通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中且被应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似变换的变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域(例如,频域)。
变换处理单元52可发送所得变换系数到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。替代性地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码技术。在由熵编码单元56进行熵编码之后,可将经编码位流发射到解码装置1612,或加以存档以供稍后由解码装置1612发射或检索。熵编码单元56还可熵编码正经译码的当前视频切片的运动向量及其它语法元素。
反量化单元58及反变换处理单元60分别应用反量化及逆变换以重构建像素域中的残余块以供后续用作参考图片的参考块。运动补偿单元44可通过将残余块添加到参考图片列表内的参考图片中的一个的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用到经重构建残余块,以计算子整数像素值以用于运动估计中。求和器62将经重构建残余块添加到由运动补偿单元44所产生的运动补偿预测块以产生用于存储于参考图片存储器64中的参考块。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测后续视频帧或图片中的块。
以此方式,图15的编码装置1504表示经配置以产生经编码视频位流的语法的视频编码器的实例。编码装置1504可(例如)产生如上文所描述的VPS、SPS及PPS参数集。编码装置1504可执行本文中所描述的技术中的任一个,包含上文关于图13及图14描述的过程。大体上已关于编码装置1504描述本公开的技术,但如上文所提及,本公开的技术中的一些也可由后处理装置57实施。
图16为说明实例解码装置1612的框图。解码装置1612包含熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90、滤波器单元91及图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,解码装置1612可执行大体上可逆于关于来自图15的编码装置1504所描述的编码遍次的解码遍次。
在解码过程期间,解码装置1612接收表示由编码装置1504发送的经编码视频切片的视频块及相关联语法元素的经编码视频位流。在一些实施例中,解码装置1612可从编码装置1504接收经编码视频位流。在一些实施例中,解码装置1612可从网络实体79(例如,服务器、媒体感知网络元件(MANE)、视频编辑器/编接器或经配置以实施上文所描述的技术中的一或多个的其它此类装置)接收经编码视频位流。网络实体79可或可不包含编码装置1504。在网络实体79将经编码视频位流发射到解码装置1612之前,本公开中所描述的技术中的一些可由网络实体79实施。在一些视频解码系统中,网络实体79及解码装置1612可为独立装置的部分,而在其它情况下,关于网络实体79描述的功能性可由包含解码装置1612的同一装置执行。
解码装置1612的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转递到预测处理单元81。解码装置1612可接收视频切片层级及/或视频块层级的语法元素。熵解码单元80可处理并剖析例如VPS、SPS及PPS的一或多个参数集中的固定长度语法元素及可变长度语法元素两者。
当将视频切片译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于发信的帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当将视频切片译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于运动向量及从熵解码单元80接收的其它语法元素而产生当前视频切片的视频块的预测性块。预测性块可从参考图片列表内的参考图片中的一个产生。解码装置1612可基于存储于图片存储器92中的参考图片使用默认构建技术来构建参考帧列表(列表0及列表1)。
运动补偿单元82通过剖析运动向量及其它语法元素来确定当前视频切片的视频块的预测信息,且使用所述预测信息产生正经解码的当前视频块的预测性块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素以确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多个的构建信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元82还可执行基于内插滤波器的内插。运动补偿单元82可使用如在编码视频块期间由编码装置1604使用的内插滤波器来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元82可从所接收语法元素确定由编码装置1504使用的内插滤波器,且可使用内插滤波器来产生预测性块。
反量化单元86反量化或解量化位流中所提供且由熵解码单元80解码的经量化变换系数。反量化过程可包含使用由编码装置1604针对视频切片中的每一视频块计算的量化参数来确定量化程度及同样应应用的反量化程度。反变换处理单元88将反变换(例如,反DCT或其它合适的反变换)、反整数变换或概念上类似的反变换过程应用于变换系数以便在像素域中产生残余块。
在运动补偿单元82基于运动向量及其它语法元素产生当前视频块的预测性块后,解码装置1612通过对来自反变换处理单元88的残余块与由运动补偿单元82产生的对应预测性块求和而形成经解码的视频块。求和器90表示执行此求和运算的所述组件。如果需要,还可使用回路滤波器(在译码回路中或在译码回路后)以使像素转变平滑,或以其它方式改进视频质量。滤波器单元91打算表示一或多个回路滤波器(例如,解块滤波器、自适应回路滤波器(ALF)及样本自适应偏移(SAO)滤波器)。尽管滤波器单元91在图16中展示为回路内滤波器,但在其它配置中,滤波器单元91可实施为后回路滤波器。给定帧或图片中的经解码视频块接着存储于图片存储器92中,所述图片存储器存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后呈现于显示装置(例如,图1中所展示的视频目的地装置122)上。
在前述描述中,参考其具体实施例描述申请案的方面,但所属领域的技术人员将认识到本发明不限于此。因此,尽管申请案的说明性实施例已经在本文中详细地描述,但应理解,本发明概念可以其它方式不同地实施并采用,且打算解释所附权利要求书以包含除现有技术所限制外的此些变化。上文所描述的发明的各种特征及方面可单独地或联合地使用。另外,实施例可用于超出本文所描述的那些环境及应用的任何数目个环境及应用,而不脱离本说明书的更广精神及范围。因此,本说明书及图式被视为说明性而不是限定性。出于说明的目的,以特定次序描述方法。应了解,在替代实施例中,可以与所描述的次序不同的次序来执行所述方法。
在组件被描述为“经配置以”执行某些操作的情况下,可(例如)通过设计电子电路或其它硬件以执行操作、通过编程可编程电子电路(例如,微处理器或其它适合的电子电路)以执行操作或其任何组合来实现此配置。
结合本文中所公开的实施例而描述的各种说明性逻辑块、模块、电路及算法步骤可被实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,各种说明性组件、块、模块、电路及步骤已在上文大体按其功能性加以描述。将此功能性实施为硬件或为软件视特定应用及强加于整个系统上的设计约束而定。所属领域的技术人员可针对每一特定应用以变化方式实施所描述功能性,但此些实施决策不应被解译为导致脱离本发明的范围。
因此,本文中描述的技术可以硬件、软件、固件或其任何组合实施。此些技术可实施于多种设备中的任何设备中,例如,通用计算机、无线通信装置手机或具有多种用途(包含在无线通信装置手机及其它装置中的应用)的集成电路装置。可将描述为模块或组件的任何特征一起实施于集成式逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分由包括包含当经执行时执行以上描述方法中的一或多个的指令的程序代码的计算机可读数据存储媒体实现。计算机可读数据存储媒体可形成计算机程序产品的部分,计算机程序产品可包含包装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM),例如,同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体及类似者。所述技术另外或替代地可至少部分由计算机可读通信媒体实现,所述计算机可读通信媒体携载或传达呈指令或数据结构的形式且可由计算机存取、读取及/或执行的程序代码,例如,传播的信号或波。
程序代码可由可包含一或多个处理器的处理器执行,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效集成式或离散逻辑电路。此处理器可经配置以执行本公开中所描述的技术中的任何技术。通用处理器可为微处理器;但在替代例中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此配置。因此,如本文中所使用的术语“处理器”可指前述结构、前述结构的任何组合或适合于实施本文中描述的技术的任何其它结构或设备中的任一个。此外,在一些方面中,本文中描述的功能性可提供于经配置用于编码及解码的专用软件模块或硬件模块,或并入于组合的视频编码器-解码器(编码解码器)中。
本文中所论述的译码技术可体现于实例视频编码及解码系统中。系统包含通过目的地装置提供待稍后经解码的经编码视频数据的源装置。具体来说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置及目的地装置可包括广泛范围的装置中的任一个,所述装置包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、所谓的“智能”板、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或其类似者。在一些状况下,源装置及目的地装置可经装备以用于无线通信。
目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括通信媒体以使得源装置能够实时地将经编码视频数据直接发射到目的地装置。可根据通信标准(例如,无线通信协议)调制经编码视频数据,且将经编码视频数据发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于包的网络(例如局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置到目的地装置的通信的任何其它装备。
在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,可由输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一个,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)装置或本地磁盘驱动器。目的地装置可经由任何标准数据连接(包含因特网连接)而存取经编码的视频数据。此连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或两者的组合。来自存储装置的经编码视频数据的发射可为流式传输、下载发射,或其组合。
本公开的技术不必限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用中的任一个,例如,空中电视广播、有线电视发射、卫星电视发射、因特网流式传输视频发射(例如,经由HTTP的动态自适应流式传输(DASH))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统可经配置以支持单向或双向视频发射以支持例如视频流式传输、视频播放、视频广播及/或视频电话的应用。
在一个实例中,源装置包含视频源、视频编码器及输出接口。目的地装置可包含输入接口、视频解码器及显示装置。源装置的视频编码器可经配置以应用本文中所公开的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部摄影机)接收视频数据。同样,目的地装置可与外部显示装置介接,而非包含集成式显示装置。
以上实例系统仅为一个实例。用于并行地处理视频数据的技术可由任何数字视频编码及/或解码装置来执行。尽管本公开的技术通常由视频编码装置执行,但所述技术还可由视频编码器/解码器(通常被称为“CODEC”)执行。此外,本公开的技术还可由视频预处理器执行。源装置及目的地装置仅为源装置产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置及目的地装置可以大体上对称的方式操作,使得所述装置中的每一个包含视频编码及解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如用于视频流式传输、视频播放、视频广播或视频电话。
视频源可包含视频捕捉装置,例如摄像机、含有先前捕捉的视频的视频存档及/或用以从视频内容提供者接收视频的视频馈入接口。作为另一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频及计算机产生的视频的组合。在一些状况下,如果视频源为摄像机,那么源装置及目的地装置可形成所谓摄影机电话或视频电话。然而,如上文所提及,本公开中描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。在每一状况下,可由视频编码器对所捕捉、预先捕捉或计算机产生的视频进行编码。经编码视频信息接着可由输出接口输出到计算机可读媒体上。
如所提及,计算机可读媒体可包含暂态媒体,例如无线广播或有线网络发射;或存储媒体(即,非暂时性存储媒体),例如硬盘、闪存驱动器、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可接收来自源装置的经编码视频数据并(例如)经由网络发射提供经编码视频数据到目的地装置。类似地,媒体产生设施(例如光盘冲压设施)的计算装置可从源装置接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的语法信息(其还由视频解码器使用),所述语法信息包含描述块及其它经译码单元(例如,图片群组(GOP))的特性及/或处理的语法元素。显示装置将经解码视频数据显示给用户,且可包括多种显示装置中的任一个,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。已描述了本发明的各种实施例。

Claims (55)

1.一种处理视频数据的方法,所述方法包括:
获得多个视频数据帧,其中,所述视频数据包含多个视频样本,所述多个视频样本中的每一个视频样本包含多个帧中的一或多个帧;
确定所述多个视频样本中的第一视频样本中的所述多个帧中的至少一个帧被损坏;以及
产生媒体文件,所述媒体文件包含用于所述多个视频样本中的每个视频样本的样本项,以及包含样本群组类型项的样本群组描述框,所述样本群组类型项的第一项包含类型识别符,所述类型识别符指示视频样本有至少一个帧被损坏,其中产生所述媒体文件包括将多个视频样本中的每个视频样本与包含于样本群组描述框中的样本群组类型项相关联,以及
其中响应于确定所述第一视频样本中的至少一个帧被损坏,将多个视频样本中的每个视频样本与样本群组类型项相关联包括将第一视频样本与第一项相关联。
2.根据权利要求1所述的方法,其中所述视频数据包含对应于所述多个帧中的所述至少一个帧的第一数据,且其中所述第一数据对于正确地解码所述至少一个帧是不充足的。
3.根据权利要求1所述的方法,其中所述至少一个帧为帧间预测链的部分,其中所述视频数据包含对应于所述帧间预测链的第一数据,且其中所述第一数据对于正确地解码所述至少一个帧是不充足的。
4.根据权利要求1所述的方法,其中所述类型识别符包含样本项类型。
5.根据权利要求1所述的方法,其中所述媒体文件是基于国际标准组织ISO基本媒体文件格式ISOBMFF。
6.根据权利要求1所述的方法,进一步包括:
产生包含所述视频数据的多个片段的列表表示的第二媒体文件,所述多个片段包括第一片段和第二片段,其中第一片段和第二片段中的每一个包含所述视频数据的一或多个帧,第二片段进一步包含所述视频数据的一个或多个遗失帧;
确定所述第二片段包含所述一个或多个遗失帧;
产生所述一个或多个遗失帧的第二指示;及
在所述第二媒体文件中包含所述第二指示。
7.根据权利要求6所述的方法,其中所述第二媒体文件是基于媒体呈现描述MPD格式,其中所述列表表示包含一或多个调适集合,所述一或多个调适集合中的每一个包含包括所述一个或多个遗失帧的一或多个表示或一或多个子表示中的至少一或多个,其中所述一或多个表示或所述一或多个子表示中的每一个与一或多个片段相关联,且其中所述第二指示包含与包含于所述一或多个表示或所述一或多个子表示中的所述一个或多个遗失帧相关联的一或多个元素,所述一或多个元素与包含所述第二片段的时戳及持续时间的属性的集合相关联。
8.根据权利要求6所述的方法,其中所述列表表示包含用于检索所述第一片段而非所述第二片段的信息,且其中所述第二指示包括用于检索所述第二片段的信息的省略。
9.根据权利要求6所述的方法,其中所述列表表示包含与所述第二片段相关联的文本指示符,所述文本指示符指示所述第二片段包含所述一个或多个遗失帧,且其中所述第二指示包含所述文本指示符。
10.根据权利要求9所述的方法,其中所述第二媒体文件是基于HTTP实时流式传输HLS播放列表格式,其中所述多个片段中的每一片段与传输流TS文件相关联,其中所述列表表示包含一组标签,且其中所述文本指示符为与所述第二片段相关联的所述组标签中的标签。
11.根据权利要求9所述的方法,其中所述第二媒体文件是基于共同媒体应用程序格式CMAF且包含播放列表,其中所述多个片段中的每一片段与ISOBMFF相关联,其中所述列表表示包含一组标签,且其中所述文本指示符为与所述第二片段相关联的所述组标签中的标签。
12.一种处理媒体文件的方法,所述方法包括:
获得包含媒体内容的媒体文件,其中所述媒体内容包含:
多个视频样本,所述多个视频样本中的每一个包含多个帧中的一或多个帧;
用于多个视频样本中的每个视频样本的样本项;和
包含样本群组类型项的样本群组描述框,所述样本群组类型项的第一项包含类型识别符,所述类型识别符指示视频样本有至少一个帧被损坏,其中多个视频样本中的每个视频样本与包含于样本群组描述框中的样本群组类型项相关联,确定多个视频样本中的第一视频样本与第一项相关联;
基于第一视频样本与第一项的相关联,确定第一视频样本中的多个帧包括至少一个损坏的帧;及
处理所述至少一个损坏的帧。
13.根据权利要求12所述的方法,其中所述视频样本包含对应于所述多个帧中的所述至少一个帧的第一数据,且其中所述第一数据对于正确地解码所述至少一个帧是不充足的。
14.根据权利要求12所述的方法,其中所述至少一个帧为帧间预测链的部分,其中所述视频样本包含对应于所述帧间预测链的第一数据,且其中所述第一数据对于正确地解码所述至少一个帧是不充足的。
15.根据权利要求12所述的方法,其中所述类型识别符包含样本项类型。
16.根据权利要求12所述的方法,其中所述媒体文件是基于国际标准组织ISO基本媒体文件格式ISOBMFF。
17.根据权利要求12所述的方法,其中基于所述指示处理所述至少一个损坏的帧包括:
基于所述类型识别符识别对应于所述至少一个损坏的帧的所述媒体内容的一部分;及
跳过所述媒体内容的所述部分的处理。
18.根据权利要求12所述的方法,进一步包括:
接收包括所述视频样本的多个片段的列表表示的第二媒体文件,所述多个片段包含第一片段及第二片段,第一片段及第二片段中的每一个包含所述视频样本的一或多个帧,其中所述第二片段还包含所述视频样本的一个或多个遗失帧,并且其中所述媒体文件还包含指示所述第二片段包含所述视频样本的一个或多个遗失帧的第二指示;以及
基于所述第二指示处理所述第二媒体文件。
19.根据权利要求18所述的方法,其中所述第二媒体文件是基于媒体呈现描述MPD格式,其中所述列表表示包含一或多个调适集合,所述一或多个调适集合中的每一个包含包括所述一个或多个遗失帧的一或多个表示或一或多个子表示中的至少一或多个,其中所述一或多个表示或所述一或多个子表示中的每一个与一或多个片段相关联,且其中所述第二指示包含与包含于与所述第二片段相关联的所述一或多个表示或所述子表示中的所述一个或多个遗失帧相关联的一或多个元素,所述一或多个元素与包含所述第二片段的时戳及持续时间的属性的集合相关联。
20.根据权利要求18所述的方法,其中所述列表表示包含用于检索所述第一片段而非所述第二片段的信息,且其中所述第二指示包括用于检索所述第二片段的信息的省略。
21.根据权利要求18所述的方法,其中所述列表表示包含与所述第二片段相关联的文本指示符,所述文本指示符指示所述第二片段包含所述一个或多个遗失帧,且其中所述第二指示包含所述文本指示符。
22.根据权利要求21所述的方法,其中所述第二媒体文件是基于HTTP实时流式传输HLS播放列表格式,其中所述多个片段中的每一片段与传输流TS文件相关联,其中所述列表表示包含一组标签,且其中所述文本指示符为与所述第二片段相关联的所述组标签中的标签。
23.根据权利要求21所述的方法,其中所述第二媒体文件是基于共同媒体应用程序格式CMAF且包含播放列表,其中所述多个片段中的每一片段与ISOBMFF相关联,其中所述列表表示包含一组标签,且其中所述文本指示符为与所述第二片段相关联的所述组标签中的标签。
24.根据权利要求18所述的方法,其中所述处理所述至少一个损坏的帧包括:
发射请求到流式传输服务器以请求第三片段代替所述第二片段。
25.一种用于处理视频数据的设备,其包括:
存储器,其经配置以存储所述视频数据;及
处理器,其经配置以进行以下操作:
获得所述视频数据的多个帧,其中所述视频数据包含多个视频样本,所述多个视频样本中的每一个包含所述多个帧中的一或多个帧;
确定所述多个视频样本中的第一视频样本中的所述多个帧中的至少一个帧被损坏;及
产生媒体文件,所述媒体文件包含用于多个视频样本中的每个视频样本的样本项,以及包含样本群组类型项的样本群组描述框,所述样本群组类型项的第一项包含类型识别符,所述类型识别符指示视频样本有至少一个帧被损坏,
其中产生所述媒体文件包括将多个视频样本中的每个视频样本与包含于样本群组描述框中的样本群组类型项相关联,以及
其中响应于确定所述第一视频样本的至少一个帧被损坏,将多个视频样本中的每个视频样本与样本群组类型项相关联包括将第一视频样本与第一项相关联。
26.根据权利要求25所述的设备,其中所述视频数据包含对应于所述多个帧中的所述至少一个帧的第一数据,且其中所述第一数据对于正确地解码所述至少一个帧是不充足的。
27.根据权利要求25所述的设备,其中所述至少一个帧为帧间预测链的部分,其中所述视频数据包含对应于所述帧间预测链的第一数据,且其中所述第一数据对于正确地解码所述至少一个帧是不充足的。
28.根据权利要求25所述的设备,其中所述类型识别符包含样本项类型。
29.根据权利要求25所述的设备,其中所述媒体文件是基于国际标准组织ISO基本媒体文件格式ISOBMFF。
30.根据权利要求25所述的设备,其中所述处理器还被配置以:产生包括所述视频数据的多个片段的列表表示的第二媒体文件,所述多个片段包括第一片段及第二片段,其中第一片段及第二片段中的每一个都包括视频数据的一个或多个帧,所述第二片段进一步包含所述视频数据的一个或多个遗失帧;
确定所述第二片段包含一个或多个遗失帧;
产生所述一个或多个遗失帧的第二指示;及
在所述第二媒体文件中包含所述第二指示。
31.根据权利要求30所述的设备,其中所述第二媒体文件是基于媒体呈现描述MPD格式,其中所述列表表示包含一或多个调适集合,所述一或多个调适集合中的每一个包含包括所述一个或多个遗失帧的一或多个表示或一或多个子表示中的至少一或多个,其中所述一或多个表示或所述一或多个子表示中的每一个与一或多个片段相关联,且其中所述第二指示包含与包含于所述一或多个表示或所述一或多个子表示中的所述一个或多个遗失帧相关联的一或多个元素,所述一或多个元素与包含所述第二片段的时戳及持续时间的属性的集合相关联。
32.根据权利要求30所述的设备,其中所述列表表示包含用于检索所述第一片段而非所述第二片段的信息,且其中所述第二指示包含用于检索所述第二片段的信息的省略。
33.根据权利要求30所述的设备,其中所述列表表示包含与所述第二片段相关联的文本指示符,所述文本指示符指示所述第二片段包含所述一个或多个遗失帧,且其中所述第二指示包含所述文本指示符。
34.根据权利要求33所述的设备,其中所述第二媒体文件是基于HTTP实时流式传输HLS播放列表格式,其中所述多个片段中的每一片段与传输流TS文件相关联,其中所述列表表示包含一组标签,且其中所述文本指示符为与所述第二片段相关联的所述组标签中的标签。
35.根据权利要求33所述的设备,其中所述第二媒体文件是基于共同媒体应用程序格式CMAF且包含播放列表,其中所述多个片段中的每一片段与ISOBMFF相关联,其中所述列表表示包含一组标签,且其中所述文本指示符为与所述第二片段相关联的所述组标签中的标签。
36.根据权利要求25所述的设备,其中所述设备包括具有用于捕捉图片的摄影机的移动装置。
37.一种用于处理媒体文件的设备,其包括:
存储器,其经配置以存储所述媒体文件;及
处理器,其经配置以进行以下操作:
获得包含媒体内容的媒体文件,其中所述媒体内容包含:
多个视频样本,所述多个视频样本中的每一个包含多个帧中的一或多个帧;
用于所述多个视频样本中的每个视频样本的样本项;和
包含样本群组类型项的样本群组描述框,所述样本群组类型项的第一项包含类型识别符,所述类型识别符指示视频样本有至少一个帧被损坏,其中所述多个视频样本中的每个视频样本与包含于样本群组描述框中的样本群组类型项相关联,
确定多个样本中的第一视频样本与第一项相关联;
基于第一视频样本与第一项的相关联,确定第一视频样本中的多个帧包括至少一个损坏的帧;及
处理所述至少一个损坏的帧。
38.根据权利要求37所述的设备,其中所述视频样本包含对应于所述多个帧中的所述至少一个帧的第一数据,且其中所述第一数据对于正确地解码所述至少一个帧是不充足的。
39.根据权利要求37所述的设备,其中所述至少一个帧为帧间预测链的部分,其中所述视频样本包含对应于所述帧间预测链的第一数据,且其中所述第一数据对于正确地解码所述至少一个帧是不充足的。
40.根据权利要求37所述的设备,其中所述类型识别符包含样本项类型。
41.根据权利要求37所述的设备,其中所述媒体文件是基于国际标准组织ISO基本媒体文件格式ISOBMFF。
42.根据权利要求37所述的设备,其中所述处理器经进一步配置以:
基于所述类型识别符识别对应于所述至少一个损坏的帧的所述媒体内容的一部分;及
跳过所述媒体内容的所述部分的处理。
43.根据权利要求37所述的设备,其中所述处理器进一步配置以:接收包括所述视频样本的多个片段的列表表示的第二媒体文件,所述多个片段包含第一片段和第二片段,第一片段及第二片段中的每一个包含所述视频样本的一或多个帧,其中所述第二片段还包括视频样本的一个或多个遗失帧,其中所述指示是第一指示,且其中所述媒体文件还包含用以指示所述第二片段包含所述视频样本的一个或多个遗失帧的第二指示;及
基于所述第二指示处理第二媒体文件。
44.根据权利要求43所述的设备,其中所述第二媒体文件是基于媒体呈现描述MPD格式,其中所述列表表示包含一或多个调适集合,所述一或多个调适集合中的每一个包含包括所述一个或多个遗失帧的一或多个表示或一或多个子表示中的至少一或多个,其中所述一或多个表示或所述一或多个子表示中的每一个与一或多个片段相关联,且其中所述第二指示包含与包含于与所述第二片段相关联的所述一或多个表示或所述子表示中的所述一个或多个遗失帧相关联的一或多个元素,所述一或多个元素与包含所述第二片段的时戳及持续时间的属性的集合相关联。
45.根据权利要求43所述的设备,其中所述列表表示包含用于检索所述第一片段而非所述第二片段的信息,且其中所述第二指示包含用于检索所述第二片段的信息的省略。
46.根据权利要求43所述的设备,其中所述列表表示包含与所述第二片段相关联的文本指示符,所述文本指示符指示所述第二片段包含所述一个或多个遗失帧,且其中所述第二指示包含所述文本指示符。
47.根据权利要求46所述的设备,其中所述第二媒体文件是基于HTTP实时流式传输HLS播放列表格式,其中所述多个片段中的每一片段与传输流TS文件相关联,其中所述列表表示包含一组标签,且其中所述文本指示符为与所述第二片段相关联的所述组标签中的标签。
48.根据权利要求46所述的设备,其中所述第二媒体文件是基于共同媒体应用程序格式CMAF且包含播放列表,其中所述多个片段中的每一片段与ISOBMFF相关联,其中所述列表表示包含一组标签,且其中所述文本指示符为与所述第二片段相关联的所述组标签中的标签。
49.根据权利要求43所述的设备,其中所述处理器经进一步配置以:
发射请求到流式传输服务器以请求第三片段代替所述第二片段。
50.根据权利要求37所述的设备,其进一步包括:
显示器,其用于显示所述多个帧中的一或多个。
51.根据权利要求37所述的设备,其中所述设备包含具有用于捕捉图片的摄影机的移动装置。
52.一种用于处理视频数据的设备,其包括:
用于获得多个视频数据帧的装置,其中,所述视频数据包含多个视频样本,所述多个视频样本中的每一个包含多个帧中的一或多个帧;
用于确定所述多个视频样本中的第一视频样本中的所述多个帧中的至少一个帧被损坏的装置;
用于产生媒体文件的装置,所述媒体文件包含用于所述多个视频样本中的每个视频样本的样本项,以及包含样本群组类型项的样本群组描述框,所述样本群组类型项的第一项包含类型识别符,所述类型识别符指示视频样本有至少一个帧被损坏,
其中产生所述媒体文件包括将多个视频样本中的每个视频样本与包含于样本群组描述框中的样本群组类型项相关联,以及
其中响应于确定所述第一视频样本中的至少一个帧被损坏,将多个视频样本中的每个视频样本与样本群组类型项相关联包括将第一视频样本与第一项相关联。
53.一种用于处理媒体文件的设备,其包括:
用于获得包含媒体内容的媒体文件的装置,其中,所述媒体内容包含:
多个视频样本,所述多个视频样本中的每一个包含多个帧中的一或多个帧;
用于多个视频样本中的每个视频样本的样本项;和
包含样本群组类型项的样本群组描述框,所述样本群组类型项的第一项包含类型识别符,所述类型识别符指示视频样本有至少一个帧被损坏,其中多个视频样本中的每个视频样本与包含于样本群组描述框中的样本群组类型项相关联,用于确定多个样本中的第一视频样本与第一项相关联的装置;
基于第一视频样本与第一项的相关联,用于确定第一视频样本中的多个帧包括至少一个损坏的帧的装置;及
用于处理所述至少一个损坏的帧的装置。
54.一种上面存储有指令的非暂时性计算机可读介质,所述指令在由一或多个处理器执行时使得所述一或多个处理器执行以下操作:
获得多个视频数据帧,其中,所述视频数据包含多个视频样本,所述多个视频样本中的每一个包含多个帧中的一或多个帧;
确定所述多个视频样本中的第一视频样本中的所述多个帧中的至少一个帧被损坏;
以及
产生媒体文件,所述媒体文件包含用于所述多个视频样本中的每个视频样本的样本项,以及包含样本群组类型项的样本群组描述框,所述样本群组类型项的第一项包含类型识别符,所述类型识别符指示视频样本有至少一个帧被损坏,其中产生所述媒体文件包括将多个视频样本中的每个视频样本与包含于样本群组描述框中的样本群组类型项相关联,以及
其中响应于确定所述第一视频样本中的至少一个帧被损坏,将多个视频样本中的每个视频样本与样本群组类型项相关联包括将第一视频样本与第一项相关联。
55.一种上面存储有指令的非暂时性计算机可读介质,所述指令在由一或多个处理器执行时使得所述一或多个处理器执行以下操作:
获得包含媒体内容的媒体文件,其中,所述媒体内容包含:多个视频样本,所述多个视频样本中的每一个包含多个帧中的一或多个帧;
用于多个视频样本中的每个视频样本的样本项;和
包含样本群组类型项的样本群组描述框,所述样本群组类型项的第一项包含类型识别符,所述类型识别符指示视频样本有至少一个帧被损坏,其中多个视频样本中的每个视频样本与包含于样本群组描述框中的样本群组类型项相关联,确定多个样本中的第一视频样本与第一项相关联;
基于第一视频样本与第一项的相关联,确定第一视频样本中的多个帧包括至少一个损坏的帧;及
处理所述至少一个损坏的帧。
CN201780061429.3A 2016-10-10 2017-09-20 用于发送遗失或损坏视频数据信号的系统及方法 Active CN109792567B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662406349P 2016-10-10 2016-10-10
US62/406,349 2016-10-10
US15/708,914 2017-09-19
US15/708,914 US20180103271A1 (en) 2016-10-10 2017-09-19 Systems and methods for signaling missing or corrupted video data
PCT/US2017/052540 WO2018071149A1 (en) 2016-10-10 2017-09-20 Systems and methods for signaling missing or corrupted video data

Publications (2)

Publication Number Publication Date
CN109792567A CN109792567A (zh) 2019-05-21
CN109792567B true CN109792567B (zh) 2022-06-10

Family

ID=61829290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780061429.3A Active CN109792567B (zh) 2016-10-10 2017-09-20 用于发送遗失或损坏视频数据信号的系统及方法

Country Status (9)

Country Link
US (1) US20180103271A1 (zh)
EP (1) EP3523982B1 (zh)
KR (1) KR102616943B1 (zh)
CN (1) CN109792567B (zh)
AU (2) AU2017342736A1 (zh)
BR (1) BR112019007080A2 (zh)
SG (1) SG11201901860WA (zh)
TW (1) TWI787207B (zh)
WO (1) WO2018071149A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10924822B2 (en) 2017-04-04 2021-02-16 Qualcomm Incorporated Segment types as delimiters and addressable resource identifiers
US10484726B2 (en) * 2017-06-02 2019-11-19 Apple Inc. Playlist error tags for delivery and rendering of streamed media
US10367682B2 (en) * 2017-06-30 2019-07-30 Bank Of American Corporation Node failure recovery tool
US11146852B2 (en) 2018-05-11 2021-10-12 Qualcomm Incorporated Signaling missing sections of media data for network streaming in a segment
US10986402B2 (en) 2018-07-11 2021-04-20 Qualcomm Incorporated Time signaling for media streaming
US11750784B2 (en) * 2019-05-31 2023-09-05 Medicapture, Inc. Automatic video file repair method and system
CN110149560B (zh) * 2019-06-05 2021-11-16 亦非云互联网技术(上海)有限公司 基于hls协议的播放器优化方法及系统、存储介质及终端
BR112022005789A2 (pt) * 2019-09-27 2022-06-21 Vid Scale Inc Dispositivo de decodificação e codificação de vídeo, e, método para decodificação de vídeo
US11902584B2 (en) * 2019-12-19 2024-02-13 Tencent America LLC Signaling of picture header parameters
US20210306703A1 (en) * 2020-03-25 2021-09-30 Qualcomm Incorporated Determination of availability of chunks of data for network streaming media data
US20220070495A1 (en) 2020-09-02 2022-03-03 Lemon Inc. Pictures and layers included in a vvc image item
US11595672B2 (en) 2020-09-02 2023-02-28 Lemon Inc. Brand for a media file
WO2023274877A1 (en) * 2021-06-29 2023-01-05 Canon Kabushiki Kaisha Method, device, and computer program for dynamically encapsulating media content data
US20230336602A1 (en) * 2022-04-19 2023-10-19 Tencent America LLC Addressable resource index events for cmaf and dash multimedia streaming
WO2024072750A1 (en) * 2022-09-27 2024-04-04 Bytedance Inc. Enhanced signalling of lost or corrupted samples in a media file

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665103A (zh) * 2012-04-13 2012-09-12 烽火通信科技股份有限公司 一种适用于流媒体服务的音频视频封装方法
WO2016128803A1 (en) * 2015-02-11 2016-08-18 Expway Method of handling packet losses in transmissions based on dash standard and flute protocol

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20150058324A (ko) * 2013-01-30 2015-05-28 인텔 코포레이션 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩
US9380097B2 (en) * 2014-04-01 2016-06-28 Gamefly Israel Ltd. Overcoming data loss in streaming video in IP networks
US10499068B2 (en) * 2014-12-31 2019-12-03 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665103A (zh) * 2012-04-13 2012-09-12 烽火通信科技股份有限公司 一种适用于流媒体服务的音频视频封装方法
WO2016128803A1 (en) * 2015-02-11 2016-08-18 Expway Method of handling packet losses in transmissions based on dash standard and flute protocol

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DAVID SINGER).Recording the absence of data in an MP4 file.《MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》.2016, *
Recording the absence of data in an MP4 file;DAVID SINGER);《MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》;20160819;第1-4节 *
Representation of Missing Segments in DASH MPDs;KILROY HUGHES;《MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》;20140708;第1-4节 *

Also Published As

Publication number Publication date
TWI787207B (zh) 2022-12-21
EP3523982A1 (en) 2019-08-14
EP3523982B1 (en) 2022-03-09
AU2022228092B2 (en) 2023-11-23
CN109792567A (zh) 2019-05-21
KR20190059290A (ko) 2019-05-30
TW201818727A (zh) 2018-05-16
AU2022228092A1 (en) 2022-09-29
WO2018071149A1 (en) 2018-04-19
SG11201901860WA (en) 2019-04-29
BR112019007080A2 (pt) 2019-07-02
US20180103271A1 (en) 2018-04-12
AU2017342736A1 (en) 2019-03-28
KR102616943B1 (ko) 2023-12-22

Similar Documents

Publication Publication Date Title
AU2022228092B2 (en) Systems and methods for signaling missing or corrupted video data
US10701400B2 (en) Signalling of summarizing video supplemental information
US10389999B2 (en) Storage of virtual reality video in media files
US11532128B2 (en) Advanced signaling of regions of interest in omnidirectional visual media
US10349067B2 (en) Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks
US20160373771A1 (en) Design of tracks and operation point signaling in layered hevc file format
KR102105804B1 (ko) 비디오를 위한 개선된 제약 스킴 설계
US11997349B2 (en) Time signaling for media streaming

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: 40001868

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant