CN117157988A - 最小化直播流中的初始化延迟 - Google Patents

最小化直播流中的初始化延迟 Download PDF

Info

Publication number
CN117157988A
CN117157988A CN202280028732.4A CN202280028732A CN117157988A CN 117157988 A CN117157988 A CN 117157988A CN 202280028732 A CN202280028732 A CN 202280028732A CN 117157988 A CN117157988 A CN 117157988A
Authority
CN
China
Prior art keywords
media segment
media
video
segment
mpd
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.)
Pending
Application number
CN202280028732.4A
Other languages
English (en)
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.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance 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 Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN117157988A publication Critical patent/CN117157988A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种处理媒体数据的方法,包括:在媒体呈现描述(MPD)中标识调谐媒体片段的指示,其中该调谐媒体片段包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据,其中,基于正在进行的直播流服务正在生成的当前媒体片段的长度,从该当前媒体片段或正在进行的直播流服务生成的先前媒体片段中选择最新媒体数据,并且其中,在客户端设备调谐到正在进行的直播流服务之前,由客户端设备存储MPD;以及根据MPD执行视觉媒体数据和比特流之间的转换。

Description

最小化直播流中的初始化延迟
相关申请的交叉引用
本专利申请是Yongyi Yu等人于2021年4月16日提交的、且标题为“最小化直播流中的初始化延迟”的PCT/CN2021/087646的继续申请,该申请通过引用并入本文。
技术领域
本专利文档涉及文件格式的数字音频视频媒体信息的生成、存储和消耗。
背景技术
数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可由视频编码器和解码器用于根据MPD处理视频或图像的编解码表示的技术。
第一方面涉及一种处理媒体数据的方法,包括:在媒体呈现描述(mediapresentation description,MPD)中标识调谐媒体片段的指示,其中,调谐媒体片段包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据,其中,基于正在进行的直播流服务正在生成的当前媒体片段的长度,从该当前媒体片段或正在进行的直播流服务生成的先前媒体片段中选择最新媒体数据,并且其中,在客户端设备调谐到正在进行的直播流服务之前,由客户端设备存储MPD;以及根据MPD执行视觉媒体数据和比特流之间的转换。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供调谐媒体片段包括与单个媒体片段串联的初始化片段。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供单个媒体片段是简单媒体片段。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供单个媒体片段是传送单元媒体片段。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供单个媒体片段是索引单元媒体片段。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供单个媒体片段是随机访问媒体片段。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供单个媒体片段包括单个媒体片段的每个轨道中的第一电影分片的第一访问单元,第一访问单元与类型1、2或3的流访问点(Stream Access Point,SAP)的第一访问单元(Isau)的索引相对应。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供类型指示单个媒体片段包括封闭图片组(group of pictures,GOP)。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供类型指示单个媒体片段包括开放图片组(GOP)。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供类型指示单个媒体片段不包括特定类型的片段。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供特定类型的片段是渐进解码刷新片段。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供MPD包括用于规定调谐媒体片段的位置的语法元素。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供语法元素是Segmentbase元素的可选元素。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供语法元素是SegmentTemplate元素的可选属性。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供MPD包括一个或多个表示的编码,并且其中一个表示包括至多一个调谐媒体片段。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供通过SegmentBase.TuningIn元素、SegmentList.TuningIn元素、SegmentTemplate.TuningIn元素或SegmentTemplate.TuningIn属性的存在,在MPD中指示调谐媒体片段的存在。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供MPD包括SegmentTimeline元素和SegmentTemplate.media属性,当表示包括调谐媒体片段时,SegmentTemplate.media属性包括$Number$标识符。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供SegmentBase.TuningIn元素规定调谐媒体片段的位置和字节范围。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供SegmentTemplate.TuningIn属性规定创建调谐媒体片段的模板,并且其中不应该包括$Number$标识符和$Time$标识符。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供,该方法还包括标识直播流调谐事件,直播流调谐事件信令通知调谐媒体片段的片段编号和最早呈现时间。
第二方面涉及一种处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中指令在由处理器执行时使处理器执行前述方面中任一方面的方法。
第三方面涉及一种非暂时性计算机可读介质,其包含供视频编解码设备使用的计算机程序产品,计算机程序产品包含存储在非暂时性计算机可读介质上的计算机可执行指令,使得计算机可执行指令在由处理器执行时使视频编解码设备执行前述方面中任一方面的方法。
第四方面涉及一种存储由视频处理装置执行的方法生成的视频的比特流的非暂时性计算机可读记录介质,其中,该方法包括:在MPD中标识调谐媒体片段的指示,其中,调谐媒体片段包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据,其中,基于正在进行的直播流服务正在生成的当前媒体片段的长度,从该当前媒体片段或正在进行的直播流服务生成的先前媒体片段中选择最新媒体数据,并且其中,在客户端设备调谐到正在进行的直播流服务之前,由客户端设备存储MPD;以及基于MPD生成比特流。
第五方面涉及一种存储视频的比特流的方法,包括:在MPD中标识调谐媒体片段的指示,其中,调谐媒体片段包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据,其中,基于正在进行的直播流服务正在生成的当前媒体片段的长度,从该当前媒体片段或正在进行的直播流服务生成的先前媒体片段中选择最新媒体数据,并且其中,在客户端设备调谐到正在进行的直播流服务之前,由客户端设备存储MPD;基于MPD生成比特流;和将比特流存储在非暂时性计算机可读记录介质中。
为清晰起见,任何一个前述实施例可与任何一个或多个其他前述实施例组合,以在本公开的范围内形成新的实施例。
从以下结合附图和权利要求的详细说明中,可更清楚地理解这些和其他特征。
附图说明
为了更全面地理解本公开内容,现结合附图和详细说明参考以下简要说明,其中相同的参考数字代表相同的部件。
图1是图示根据现有技术调谐到直播流会话的过程的序列图
图2是图示根据本公开的一些实施例的用于调谐到直播流会话的过程的序列图。
图3是根据本公开的一些实施例的示例视频处理系统的框图。
图4为根据本公开的一些实施例的视频处理装置的框图。
图5为根据本公开的一些实施例的视频处理的示例方法的流程图。
图6是图示根据本公开的一些实施例的视频编解码系统的框图。
图7是图示根据本公开的一些实施例的编码器的框图。
图8是图示根据本公开的一些实施例的解码器的框图。
图9显示了编码器框图的示例。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但可使用任何数量的技术实现所公开的系统和/或方法,无论是当前已知的还是待开发的。本公开不应以任何方式限于以下示出的示例性实现方式、附图和技术,包括在此示出和描述的示例性设计和实现方式,而是可以在所附权利要求及其等同物的全部范围内进行修改。
本文档中使用的章节标题是为了便于理解,并不将每个章节中公开的技术和实施例的适用性仅限于该章节。此外,在某些描述中使用H.266术语仅是为了便于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。在本文档中,相对于多功能视频编解码(Versatile Video Coding,VVC)规范或国际标准化组织/国际电工委员会(International Organization for Standardization/International Electrotechnical Commission,ISO/IEC)基础媒体文件格式(ISO/IECbase media file format,ISOBMFF)文件格式规范的当前草案,对文本的编辑更改通过指示取消的文本的删除线和指示添加的文本(包括粗体斜体)的高亮示出。
本公开涉及视频流。具体地,本公开涉及新类型的媒体片段和相关信令通知的定义,以使得能够最小化直播媒体流中的初始化延迟。各种实施例可以单独或以各种组合应用于媒体流系统,例如基于超文本传输协议的动态自适应流(Dynamic AdaptiveStreaming over Hypertext Transfer Protocol,DASH)标准或其扩展。
视频编解码标准。
视频编解码标准主要通过著名的国际电信联盟-电信标准化部门(ITU-T)和ISO/IEC标准的发展而演变的。ITU-T制定了H.261和H.263,ISO/IEC制定了移动图片专家组-1(Moving Picture Experts Group-1,MPEG-1)和MPEG-4视频,并且这两个组织联合制定了H.262/MPEG-2视频和H.264/MPEG-4高级视频编解码(Advanced Video Coding,AVC)和H.265/高效视频编解码(High Efficiency Video Coding,HEVC)标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中利用了时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(JointVideo Exploration Team,JVET)。此后,JVET采用了许多新方法,并将其输入到名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。当VVC项目正式开始时,JVET后来更名为联合视频专家团队(Joint Video Experts Team,JVET)。VVC是新的编解码标准,目标是与HEVC相比,比特率减少50%,该标准已由JVET在2020年7月1日结束的第19次会议上最终确定。
VVC标准(ITU-T H.266|ISO/IEC 23090-3)和相关的多功能补充增强信息(Versatile Supplemental Enhancement Information,VSEI)标准(ITU-T H.274|ISO/IEC23002-7)已被设计用于最广泛的应用,包括传统应用(如电视广播、视频会议或存储介质回放),以及更新和更先进的使用情况(如自适应比特率流、视频区域提取、来自多个编解码视频比特流的内容的合成和merge、多视角视频、可缩放分层编解码和视口自适应360°沉浸式媒体)。
基础视频编解码(Essential Video Coding,EVC)标准(ISO/IEC 23094-1)是最近由MPEG开发的另一种视频编解码标准。
文件格式标准。
媒体流应用通常基于互联网协议(IP)、传输控制协议(TCP)和超文本传输协议(HTTP)传输方法,并且通常依赖于诸如ISOBMFF的文件格式。DASH就是这样一个流媒体系统。为了使用具有ISOBMFF和DASH的视频格式,将需要特定于该视频格式的文件格式规范,例如在ISO/IEC 14496-15中描述的AVC文件格式和HEVC文件格式,用于在ISOBMFF轨道和DASH表示和片段中封装视频内容。关于视频比特流的重要信息,例如档次、层次和级别以及许多其他信息,将需要作为文件格式级别元数据和/或DASH媒体呈现描述(MPD)来展示,用于内容选择目的,例如,用于为在流会话开始时的初始化和流会话期间的流自适应两者选择适当的媒体片段。
类似地,为了使用具有ISOBMFF的图像格式,将需要特定于图像格式的文件格式规范,例如在ISO/IEC 23008-12中描述的AVC图像文件格式和HEVC图像文件格式。
VVC视频文件格式(基于ISOBMFF的用于存储VVC视频内容的文件格式)目前由MPEG正在开发。VVC视频文件格式的最新草案规范包含在ISO/IEC JTC 1/SC 29/WG 03输出文档N0035中。
VVC图像文件格式(基于ISOBMFF的用于存储使用VVC编解码的图像内容的文件格式)目前由MPEG正在开发。VVC图像文件格式的最新草案规范包含在ISO/IEC JTC 1/SC 29/WG 03输出文档N0038中。
DASH
在ISO/IEC 23009-1所述的基于HTTP的动态自适应流(DASH)中,可以存在多媒体内容的视频和/或音频数据的多种表示,不同的表示可对应于不同的编解码特性(例如,视频编解码标准的不同档次或级别、不同的比特率、不同的空域分辨率等)。这种表示的清单可以在MPD数据结构中定义。媒体呈现可以对应于DASH流客户端设备可访问的结构化数据集合。DASH流客户端设备可以请求并下载媒体数据信息,以向客户端设备的用户呈现流服务。媒体呈现可以在MPD数据结构中被描述,其可以包括MPD的更新。
媒体呈现可包含一个或多个时段的序列。每个时段可以延伸到下一个时段的开始,或者在最后一个时段的情况下,延伸到媒体呈现的结束。每个时段可以包含相同媒体内容的一个或多个表示。一个表示可以是音频、视频、定时文本或其他此类数据的多个可选编码版本之一。这些表示可以因编码类型而不同,例如,视频数据的比特率、分辨率和/或编解码器以及音频数据的比特率、语言和/或编解码器。术语表示可以用来指对应于多媒体内容的特定时段并以特定方式编码的编码音频或视频数据的一部分。
特定时段的表示可分配给MPD中的属性所指示的组,该属性指示表示所属的自适应集。同一自适应集中的表示通常被认为是彼此可替换的,因为客户端设备可以在这些表示之间动态且无缝地切换,例如,以执行带宽适配。例如,特定时段的视频数据的每个表示可以被分配给相同的自适应集,使得可以选择任何表示进行解码,以呈现对应时段的多媒体内容的媒体数据,例如视频数据或音频数据。在一些示例中,一个时段内的媒体内容可以由来自组0的一个表示(如果存在的话)或者来自每个非零组的至多一个表示的组合来表示。时段的每个表示的定时数据可以相对于时段的开始时间来表示。
表示可包括一个或多个片段。每个表示可以包括初始化片段,或者表示的每个片段可以是自初始化的。当存在时,初始化片段可以包含用于访问表示的初始化信息。通常,初始化片段不包含媒体数据。片段可以由标识符唯一参考,例如统一资源定位符(uniformresource locator,URL)、统一资源名称(uniform resource name,URN)或统一资源标识符(uniform resource identifier,URI)。MPD可以为每个片段提供标识符。在一些示例中,MPD还可以以范围属性的形式提供字节范围,其可以对应于可由URL、URN或URI访问的文件内的片段的数据。
可为不同类型的媒体数据的基本同时检索选择不同的表示。例如,客户端设备可以选择从中检索片段的音频表示、视频表示和定时文本表示。在一些示例中,客户端设备可以选择特定的自适应集来执行带宽适配。也就是说,客户端设备可以选择包括视频表示的自适应集、包括音频表示的自适应集和/或包括定时文本的自适应集。或者,客户端设备可以为某些类型的媒体(例如,视频)选择自适应集,并直接为其他类型的媒体(例如,音频和/或定时文本)选择表示。
典型的DASH流程序由以下步骤显示:
客户端获得MPD。
客户端估计下行链路带宽,并根据估计的下行链路带宽和编解码器、解码能力、显示尺寸、音频语言设置等选择视频表示和音频表示。
除非到达媒体呈现的结束,否则客户端请求选定呈现的媒体片段,并向用户呈现流内容。
客户端持续估计下行链路带宽。当带宽显著地向一个方向改变(例如,变得更低)时,客户端选择不同的视频表示来匹配新估计的带宽,并且除非到达媒体呈现的结束,否则客户端请求所选表示的媒体片段并向用户呈现流内容。客户端重复该过程,直到流被终止或者到达媒体呈现的结束。
通过公开的技术方案解决技术问题。在基于DASH的直播流中,特别是当直播“广播者”是使用各种移动设备的用户时,通常难以确保恒定的片段持续时间。设备的摄像机可以以不同的变化的帧速率捕捉视频。由于计算资源问题,视频编码器可能会不时跳过一帧。因此,并不总是能够使用基于@duration属性的简单而好的方法,该属性规定恒定的近似片段持续时间。因此,许多直播流服务被迫使用SegmentTimeline元素。
然而,即使客户端预取了较早版本的MPD,使用SegmentTimeline通常要求客户端每当调谐到直播流会话时请求最新的MPD。基本上,如图1所示,在步骤102,当客户端130调谐到直播流会话时,在步骤104,客户端首先从服务器120请求最新的MPD。在步骤106,服务器120向客户端130发送MPD。在步骤108,客户端130接收MPD并获得最新媒体片段的URL信息。然后,在步骤110,客户端130从服务器120请求初始化片段和最新媒体片段。在步骤112,服务器120向客户端130发送初始化片段和最新媒体片段,这些片段被处理并显示在客户端130上。直播流从那里继续,其中,在步骤114,服务器120发送下一个媒体片段,等等。与可能使用片段的@duration属性和$number$-identifier-based的URL模板时的情况相比,这种多次往返和多次请求的需要导致了额外的初始化延迟(当用户调谐(例如,按下“开始”/“加入”按钮)时和当显示第一张图片时之间的延迟)。
为解决上述问题及其他问题,本文公开了最小化直播流中的初始化延迟的各种实施例。所公开的实施例的新颖方面包括但不限于:
1)新型媒体片段,称为调谐媒体片段(Tuning-In Media Segment,TIMS)。
2)向SegmentBase元素添加可选元素,用于规定调谐媒体片段的URL。
3)向SegmentTemplate元素添加可选属性,用于规定调谐媒体片段的URL。
4)直播流调谐事件的定义,用于使用“emsg”框信令通知调谐媒体片段的片段编号和最早呈现时间。
TIMS包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据。此外,所公开的实施例的各种特征可以单独应用或者以任何方式组合应用。所公开的实施例应该被认为是解释一般概念的示例,而不应该以狭隘的方式来解释。
示例1
在实施例中,TIMS是初始化片段和单个简单媒体片段的串联,其中简单媒体片段的每个轨道中的第一个电影分片的第一访问单元对应于类型1、2或3的流访问点(SAP)的第一访问单元(Isau)的索引。这些类型可以指示例如是封闭图像组(GOP)或开放GOP的编解码视频片段,但是不包括诸如渐进解码刷新片段的其他片段。
示例2
在另一实施例中,TIMS是另一类型的初始化片段和单个媒体片段的串联,其中媒体片段的每个轨道中的第一电影分片的第一访问单元对应于类型1、2或3的流访问点(SAP)的Isau。作为非限制性示例,其他类型的媒体片段可以是传递单元媒体片段、索引媒体片段或随机访问媒体片段。
现在参考图2,使用所公开的方面,对于使用SegmentTimeline元素的直播流,当MPD被预取时(例如,如图2的步骤202和204所示),客户端230将能够通过仅发送一个HTTP请求来调谐并开始消费第一媒体片段,且无需每次在请求下一媒体片段之前请求MPD更新。例如,当客户端230在步骤206调谐直播流会话时,客户端在步骤208从预取的MPD文件获得TIMS的URL,并且在步骤210仅发送一个TIMS的HTTP请求。如下面进一步描述的,可以利用SegmentBase.TuningIn元素、SegmentList.TuningIn元素、SegmentTemplate.TuningIn元素或SegmentTemplate.TuningIn属性在MPD中指示TIMS的存在。当客户端230从服务器220接收到TIMS时,客户端230可以开始处理和显示直播流,并继续下一个片段214。通过使用这样的设计,如从实验结果观察到的,初始化延迟可以从1110ms减少到848ms,减少了23.6%。
本公开的实施例可应用于DASH。具体而言,所公开的实施例(例如,条款参考编号)是相对于MPEG输入文档m52458中的DASH标准规范的第四版文本来描述的,但不限于DASH标准规范的特定版本。已增加或修改的最相关的部分用粗体下划线突出显示,并且一些删除的部分用[[方括号]]突出显示。可能还有一些其他更改本质上是编辑性质的,因此没有突出显示。
5.3.9.2片段基础信息。当且仅当每个表示提供单个媒体片段并且媒体片段URL被包括在BaseURL元素中时,SegmentBase元素足以描述片段信息。
在存在多个媒体片段的情况下,应使用SegmentList或SegmentTemplate来描述片段信息。SegmentList或SegmentTemplate共享子条款5.3.9.2.2、表16中提供的多个片段基础信息。
如果表示包含多于一个的媒体片段,则属性@duration或元素SegmentTimeline应存在。属性@duration和元素SegmentTimeline不应同时出现。
由片段基础信息描述的片段由符合表17中定义的类型URLType的HTTP-URL参考。
子条款5.3.9.2.2、表15中提供了SegmentBase元素和片段基础信息的属性和元素的语义,并且子条款5.3.9.2.2中的表16中提供了多个片段基础信息的属性和元素的语义。子条款5.3.9.2.3中提供了片段基础信息的XML语法。
5.3.9.2.2语义
表15-SegmentBase元素和片段基础信息类型的语义
表16-MultipleSegmentBaseInformation类型的语义
/>
表17-类型URLType的元素的语义
/>
5.3.9.2.3XML语法
/>
5.3.9.4片段模板。片段模板由SegmentTemplate元素定义。在这种情况下,规定由分配给片段的动态值替代的标识符,以创建片段的列表。在子条款5.3.9.4.4中提供替代规则。
对于片段列表,在子条款5.3.9.4.2表19中提供属性和元素的语义。在子条款5.3.9.4.3中提供片段信息的XML语法。
5.3.9.4.2语义
表19-SegmentTemplate元素的语义
5.3.9.4.3XML语法
/>
5.3.9.4.4基于模板的片段URL构建
SegmentTemplate@media属性、SegmentTemplate@index属性、SegmentTemplate@initialization属性、和SegmentTemplate@bitstreamSwitching属性各自包含串,该串可包含表20中列出的一个或多个标识符。
在每个URL中,表20中的标识符应由表16中定义的替代参数替换。标识符匹配区分大小写。如果URL包含未包含有效标识符的未转义$符号,则URL形成的结果是未定义的。在这种情况下,预期DASH客户端忽略包含表示元素的全部,并且MPD的处理继续进行,就好像该表示元素不存在一样。表20中还规定了标识符的格式。
每个标识符可以在封闭的“$”字符内加上后缀,其中附加格式标签与遵循该原型的IEEE1003.1-2008[10]中定义的printf格式标签对齐:
%0[width]d
宽度(width)参数是无符号整数,其提供了要打印的最小字符数。如果要打印的值比这个数字短,则结果应该用零填充。即使结果更大,该值也不会被截断。
媒体呈现应当被创作为使得替代过程的应用产生有效的片段URL。
根据IETF RFC3986,标识符外的串应仅包含URL内允许的字符。
表5-URL模板的标识符
/>
5.10.4特定于DASH的事件
/>
6.3.4媒体片段类型
6.3.4.1通用
媒体片段可具有不同类型:传送单元媒体片段、简单媒体片段、随机访问媒体片段、切换媒体片段、索引媒体片段、子索引媒体片段和
所有媒体片段应符合子条款6.3.4.2中的通用定义。如下在子条款6.3.4中进一步提供了其他特定类型的约束。
在子条款7.3中提供了与某些MPD属性相结合的媒体片段的进一步规则。
媒体片段可符合多种类型。一致性可以通过将(多个)品牌作为兼容品牌添加到“styp”框中来表示,并且如果适用,还可以作为主要品牌。
除非明确不同地提及,否则子条款6.3.4中提及的框在ISO/IEC 14496-12中规定。
6.3.4.2传送单元媒体片段
符合媒体片段格式的媒体片段定义如下:
—每个媒体片段应包含一个或多个完整的自包含的电影分片。完整的、自包含的电影分片是电影分片(“moof”)框和媒体数据(“mdat”)框,其中包含不使用电影分片框中的轨道运行所参考的外部数据参考的所有媒体样点。
—每个“moof”框应包含至少一个轨道分片。
—“moof”框不应使用外部数据参考,应设置标志“default-base-is-moof”,并应使用数据偏移,即不应使用“base-data-offset-present”。这种设置组合被称为媒体数据的电影分片相对寻址。
—绝对字节偏移不应用于该媒体数据。在电影分片中,每个轨道扩展的持续时间应该尽可能接近相等。特别是,随着电影分片的累积,轨道持续时间应该保持彼此接近,并且不应该有“漂移”。
—每个媒体片段可在片段类型框(“styp”)中携带“dums”作为兼容品牌。该品牌的一致性要求在本子条款中被定义。
6.3.4.3[[格式类型]]/>
符合DASH的简单媒体片段格式的媒体片段定义如下:
—其应符合子条款6.3.4.2中规定的传送单元媒体片段格式。
—每个“traf”框应包含“tfdt”框。
注意,也可以存在3GPP TS26.244中定义的轨道分片调整框“tfad”。不鼓励DASH客户同时应用由“tfdt”建立的对齐和由“tfad”暗示的时移,这将导致双重校正。
—每个简单媒体片段可包含一个或多个“sidx”框。如果存在,第一个“sidx”框应放在任何“moof”框之前,并且第一个片段索引框应记录整个片段。
—为了确定重叠和非重叠段,应忽略ISO/IEC 14496-12中定义的冗余样点。换句话说,应该在不考虑冗余样点的情况下计算流中任何访问单元的最早呈现时间。
—每个媒体片段可包含“styp”框,并且如果存在,应携带“msdh”作为兼容品牌。该品牌的一致性要求在本子条款中被定义。
6.3.4.4索引媒体片段
符合索引媒体片段格式的媒体片段定义如下:
—每个媒体片段应符合子条款6.3.4.2中定义的传送单元媒体片段,此外,在每个自包含的电影分片中,电影分片(“moof”)框后紧跟其对应的媒体数据(“mdat”)。
—每个媒体片段应包含一个或多个“sidx”框。第一个“sidx”框应放在任何“moof”框之前,并应记录跨越整个片段的合成时间的子片段。
—每个媒体片段应带有“msix”作为兼容品牌。该品牌的一致性要求在本子条款中被定义。
6.3.4.5子索引媒体片段
符合子索引媒体片段格式的媒体片段定义如下:
—其应符合子条款6.3.4.3中规定的索引媒体片段格式。
—子片段索引框(“ssix”)应存在,并应紧跟在记录相同子片段的“sidx”框之后。紧跟在“sidx”之前的应仅索引媒体子片段。
—其应在片段类型框(“styp”)中携带“sims”作为兼容品牌。该品牌的一致性要求在本子条款中被定义。
6.3.4.6随机访问媒体片段
符合随机访问媒体片段格式的媒体片段定义如下:
—其应符合子条款6.3.4.3中规定的简单格式。
—随机访问媒体片段中每个电影分片的第一访问单元应对应于类型1、2或3的SAP的Isau。
—媒体片段应携带足够的信息以访问流中的媒体,例如,所有必要的加密结合初始化片段,如果可用。
8.11.2媒体呈现描述约束
8.11.2.5对SegmentTemplate元素的约束
—@initialization属性和可包括IETF RFC 2397中定义的数据URL。
图3是可实现本文中所公开的各种技术的示例视频处理系统800的框图。各种实现方式可以包括系统300中的一些或全部组件。系统300可以包括用于接收视频内容的输入302。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入302可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(passive optical network,PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统300可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件304。编解码组件304可以减少从输入302到编解码组件304的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件304的输出可以被存储或经由所连接的通信来发送,如组件306所表示的。在输入302处接收的视频的存储或通信的比特流(或编解码)表示可以由组件308使用,以生成被发送到显示接口310的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(high definition multimedia interface,HDMI)或Displayport等。存储接口的示例包括串行高级技术附件(serial advanced technology attachment,SATA)、PCI、IDE接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够进行数字数据处理和/或视频显示的装设备。
图4是示例视频处理装置400的框图。装置400可以用于实现本文中所述的方法中的一个或多个。装置400可以实施在智能电话、平板电脑、计算机、物联网(IoT)接收器等中。装置400可以包括一个或多个处理器402、一个或多个存储器404和视频处理硬件406。(多个)处理器402可以配置为实现本文档中所述的一个或多个方法。(多个)存储器404可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理硬件406可以用于在硬件电路中实现本文档中所描述的一些技术。在一些实施例中,视频处理硬件406可以至少部分地包括在处理器402中,例如图形协处理器。
图5是图示处理媒体数据的方法的流程图。该方法可以由视频处理设备执行,例如但不限于图4的视频处理装置400。在所描绘的实施例中,该方法包括,在步骤502,在媒体呈现描述(MPD)中标识调谐媒体片段的指示。该调谐媒体片段包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据。基于正在进行的直播流服务正在生成的当前媒体片段的长度,从该当前媒体片段或正在进行的直播流服务生成的先前媒体片段中选择最新媒体数据。在客户端设备调谐到正在进行的直播流服务之前,客户端设备存储(例如,预取)MPD。该方法包括,在步骤504,根据MPD执行视觉媒体数据和比特流之间的转换。例如,取决于视频处理装置,视觉媒体数据可以根据MPD被转换成比特流,或者比特流可以根据MPD被转换成视觉媒体数据。
图6是示出可利用本公开的技术的示例视频编解码系统600的框图。如图6所示,视频编解码系统600可以包括源设备610和目的地设备620。源设备610生成编码的视频数据,其可以被称为视频编码设备。目的地设备620可以解码由源设备610生成的编码的视频数据,该目的地设备620可以被称为视频解码设备。
源设备610可以包括视频源612、视频编码器614和输入/输出(I/O)接口616。
视频源612可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器614对来自视频源612的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口616包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口616通过网络630直接发送到目的地设备620。还可以将编码的视频数据存储到存储介质/服务器640上,用于由目的地设备620存取。
目的地设备620可以包括I/O接口626、视频解码器624和显示设备622。I/O接口626可以包括接收器和/或调制解调器。
I/O接口626可以从源设备610或存储介质/服务器640获取编码的视频数据。视频解码器624可以对编码的视频数据进行解码。显示设备622可以向用户显示解码的视频数据。显示设备622可以与目的地设备620集成,或可以在配置为与外置显示设备相接的目的地设备620外部。
视频编码器614和视频解码器624可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或其他标准)进行操作。
图7是示出视频编码器700的示例的框图,该视频编码器700可以是图6中示出的视频编解码系统600中的视频编码器614。
视频编码器700可以被配置为执行本公开的任何或全部技术。在图7的示例中,视频编码器700包括多个功能组件。本公开所描述的技术可以在视频编码器700的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器700的功能组件可以包括分割单元701、预测单元702(其可以包括模式选择单元703、运动估计单元704、运动补偿单元705和帧内预测单元706)、残差生成单元707、变换单元708、量化单元709、逆量化单元710、逆变换单元711、重建单元712、缓冲器713和熵编码单元714。
在其他示例中,视频编码器700可以包括更多、更少或不同的功能组件。在一个示例中,预测单元702可以包括帧内块复制(intra block copy,IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元704和运动补偿单元705的一些组件可以被高度集成,但是出于解释的目的在图7的示例中分开表示。
分割单元701可以将图片分割成一个或多个视频块。图6的视频编码器614和视频解码器624可以支持各种视频块尺寸。
模式选择单元703可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元707来生成残差块数据而且提供到重建单元712来重建编解码块以用作参考图片。在一些示例中,模式选择单元703可以选择帧内和帧间预测的组合(combination of intra and inter prediction,CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元703还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整像素精度)。
为了对当前视频块进行帧间预测,运动估计单元704可以通过将来自缓冲器713的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元705可以基于来自缓冲器713的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元704和运动补偿单元705可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。I条带(或I帧)是最不可压缩的,但不需要其他视频帧来解码。S条带(或P帧)可以使用来自先前帧的数据来解压缩,并且比I帧更可压缩。B条带(或B帧)可以使用前一帧和向前帧作为数据参考,以获得最高的数据压缩量。
在一些示例中,运动估计单元704可以进行当前视频块的单向预测,并且运动估计单元704可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元704然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元704可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元705可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元704可以进行当前视频块的双向预测,运动估计单元704可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元704然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元704可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元705可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元704可以输出运动信息的全部集合,用于解码器的解码处理。
在一些示例中,运动估计单元704可以不输出当前视频的运动信息的全部集合。而是,运动估计单元704可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元704可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元704可以在与当前视频块相关联的语法结构中指示:视频解码器1624指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元704可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(motion vector difference,MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器1624可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器1614可以预测性地信令通知运动矢量。可以由视频编码器1614实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(advancedmotion vector prediction,AMVP)和merge模式信令通知。
帧内预测单元706可以对当前视频块进行帧内预测。当帧内预测单元706对当前视频块进行帧内预测时,帧内预测单元706可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元707可以通过从当前视频块中减去(例如,由减号指示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元707可以不进行减去操作。
变换单元708可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换单元708生成与当前视频块相关联的变换系数视频块之后,量化单元709可以基于与当前视频块相关联的一个或多个量化参数(quantization parameter,QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元710和逆变换单元711可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元712可以将重建的残差视频块添加到来自由预测单元702生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器713中。
在重建单元712重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元714可以从视频编码器700的其他功能组件接收数据。当熵编码单元714接收数据时,熵编码单元714可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图8是示出视频解码器800的示例的框图,该视频解码器800可以是图6中示出的视频编解码系统600中的视频解码器624。
视频解码器800可以被配置为进行本公开的任何或全部技术。在图8的示例中,视频解码器800包括多个功能组件。本公开所描述的技术可以在视频解码器800的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在图8的示例中,视频解码器800包括熵解码单元801、运动补偿单元802、帧内预测单元809、逆量化单元804和逆变换单元805、重建单元806和缓冲器807。在一些示例中,视频解码器800可以进行与关于视频编码器614(图6)所描述的编码过程总体反演的解码过程。
熵解码单元801可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元801可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元802可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元802例如可以通过进行AMVP和merge模式信令通知确定此类信息。
运动补偿单元802可以产生运动补偿块,可能地基于插值滤波器进行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元802可以使用由视频编码器1814在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元802可以根据接收的语法信息确定由视频编码器1814所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元802可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元803可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元804逆量化(即去量化)在比特流中提供的且由熵解码单元801解码的量化的视频块系数。逆变换单元805应用逆变换。
重建单元806可以用由运动补偿单元802或帧内预测单元803生成的对应预测块求和残差块,以形成解码块。如所期望的,去方块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器807中,该缓冲器807提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
图9是编码器900的示意图。编码器900适合于实现VVC技术。编码器900包括三个环路滤波器,即去方块滤波器(deblocking filter,DF)902、样点自适应偏移(sampleadaptive offset,SAO)904和ALF 906。与使用预定义滤波器的DF 902不同,SAO 904和ALF906利用当前图片的原始样点,通过分别添加偏移和应用FIR滤波器,利用编解码的辅助信息信令通知偏移和滤波器系数,来减小原始样点和重构样点之间的均方误差。ALF 906位于每个图片的最后处理阶段,并且可以被视为试图捕捉和修复由先前阶段产生的伪像的工具。
编码器900还包括帧内预测组件908和运动估计/补偿(motion estimation/compensation,ME/MC)组件910,配置为接收输入视频。帧内预测组件908被配置成执行帧内预测,而ME/MC组件910被配置成利用从参考图片缓冲器912获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残差块被馈送到变换组件914和量化组件916中,以生成量化的残差变换系数,这些系数被馈送到熵编解码组件918中。熵编解码组件918对预测结果和量化的变换系数进行熵编解码,并将其向视频解码器(未示出)发送。从量化组件916输出的量化组件可以被馈送到逆量化组件920、逆变换组件922和重构(reconstruction,REC)组件924。REC组件924能够将图像输出到DF 902、SAO 904和ALF 906,以便在这些图片被存储在参考图片缓冲器912中之前进行滤波。
DF 902的输入是环路滤波器之前的重建样点。首先滤波图片中的垂直边缘。然后,利用由垂直边缘滤波过程修改的样点作为输入,对图片中的水平边缘进行滤波。每个CTU的CTB中的垂直和水平边缘在编解码单元的基础上被单独处理。编解码单元中的编解码块的垂直边缘从编解码块的左侧的边缘开始被滤波,按照它们的几何顺序通过边缘向编解码块的右侧前进。编解码单元中编解码块的水平边缘被滤波,从编解码块顶部的边缘开始,按照它们的几何顺序通过边缘向编解码块的底部前进。
下面提供了一些示例优选的解决方案列表。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目1-2)。
1.一种媒体数据处理的方法,包括:执行视觉信息和视觉信息的数字表示之间的转换,其中数字表示根据格式规则被格式化,其中格式规则规定包括串联的媒体片段,该媒体片段包括与第二部分串联的第一部分;其中第一部分包括初始化片段;并且其中第二部分包括一个或多个媒体片段,其中一个或多个媒体片段中的简单媒体片段具有封闭图片组类型或开放图片组类型的流类型。
2.根据解决方案1所述的方法,其中简单媒体片段包括每个轨道中的第一移动片段的第一访问单元,其流类型是开放图片组类型或封闭图片组类型。
3.根据解决方案1所述的方法,其中简单媒体片段具有不同于初始化片段的类型。
4.根据解决方案1所述的方法,其中简单媒体片段是传送单元媒体片段。
5.根据解决方案1所述的方法,其中简单媒体片段是索引媒体片段。
6.根据解决方案1所述的方法,其中简单媒体片段是随机访问媒体片段。
7.根据解决方案1所述的方法,其中格式规则规定语法元素被包括在指示串联的媒体片段的位置的数字表示中。
8.根据解决方案1-7中任一项所述的方法,其中,在解码器处,串联的媒体片段用于转变成视觉信息。
9.根据解决方案1-8中任一项所述的方法,其中转换包括生成视觉信息的数字表示,并存储或流式传输数字表示。
10.根据解决方案1-8中任一项所述的方法,其中转换包括从数字表示中解析生成视觉信息。
11.一种视频解码装置,包括被配置为实现解决方案1至10中的一项或多项中所述的方法的处理器。
12.一种视频编码装置,包括被配置为实现解决方案1至10中的一项或多项中所述的方法的处理器。
13.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使处理器实现解决方案1至10中任一项所述的方法。
14.一种计算机可读介质,其上记录有符合根据解决方案1至10中任一项生成的数字表示的比特流表示。
15.本文档中描述的方法、装置或系统。
在本文所述的解决方案中,编码器可通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,根据格式规则知道语法元素的存在和不存在,以产生解码的视频。
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于共位或散布在比特流内不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用头中的比特和比特流中的其他字段,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文档中所述的公开和其他方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文档中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,即一个或多个计算机程序指令模块,用于由数据处理装置执行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来进行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))进行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如FPGA或ASIC)。
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如EPROM、EEPROM和闪速存储器设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;和CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为规定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行此类操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来作出其它实现方式、增强和变型。

Claims (24)

1.一种处理媒体数据的方法,包括:
在媒体呈现描述MPD中标识调谐媒体片段的指示,其中,所述调谐媒体片段包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据,其中,基于所述正在进行的直播流服务正在生成的当前媒体片段的长度,从所述当前媒体片段或所述正在进行的直播流服务生成的先前媒体片段中选择所述最新媒体数据,并且其中,在所述客户端设备调谐到所述正在进行的直播流服务之前,由所述客户端设备存储所述MPD;以及
根据所述MPD执行视觉媒体数据和比特流之间的转换。
2.根据权利要求1所述的方法,其中,所述调谐媒体片段包括与单个媒体片段串联的初始化片段。
3.根据权利要求2所述的方法,其中,所述单个媒体片段是简单媒体片段。
4.根据权利要求2所述的方法,其中,所述单个媒体片段是传送单元媒体片段。
5.根据权利要求2所述的方法,其中,所述单个媒体片段是索引单元媒体片段。
6.根据权利要求2所述的方法,其中,所述单个媒体片段是随机访问媒体片段。
7.根据权利要求2-6中任一项所述的方法,其中,所述单个媒体片段包括所述单个媒体片段的每个轨道中的第一电影分片的第一访问单元,所述第一访问单元与类型1、2或3的流访问点(SAP)的所述第一访问单元的索引(Isau)相对应。
8.根据权利要求7所述的方法,其中,所述类型指示,所述单个媒体片段包括封闭图片组(GOP)。
9.根据权利要求7所述的方法,其中,所述类型指示,所述单个媒体片段包括开放图片组(GOP)。
10.根据权利要求7所述的方法,其中,所述类型指示,所述单个媒体片段不包括特定类型的片段。
11.根据权利要求10所述的方法,其中,所述特定类型的片段是渐进解码刷新片段。
12.根据权利要求1-11中任一项所述的方法,其中,所述MPD包括用于规定所述调谐媒体片段的位置的语法元素。
13.根据权利要求12所述的方法,其中,所述语法元素是Segmentbase元素的可选元素。
14.根据权利要求12所述的方法,其中,所述语法元素是SegmentTemplate元素的可选属性。
15.根据权利要求1-14中任一项所述的方法,其中,所述MPD包括一个或多个表示的编码,并且其中表示包括至多一个所述调谐媒体片段。
16.根据权利要求1-15中任一项所述的方法,其中,通过SegmentBase.TuningIn元素、SegmentList.TuningIn元素、SegmentTemplate.TuningIn元素或SegmentTemplate.TuningIn属性的存在,在所述MPD中指示所述调谐媒体片段的存在。
17.根据权利要求1-16中任一项所述的方法,其中,所述MPD包括SegmentTimeline元素和SegmentTemplate.media属性,当表示包括所述调谐媒体片段时,所述SegmentTemplate.media属性包括$Number$标识符。
18.根据权利要求16所述的方法,其中,所述SegmentBase.TuningIn元素规定所述调谐媒体片段的位置和字节范围。
19.根据权利要求16所述的方法,其中,所述SegmentTemplate.TuningIn属性规定创建所述调谐媒体片段的模板,并且其中不应该包括$Number$标识符和$Time$标识符。
20.根据权利要求1-19中任一项所述的方法,还包括标识直播流调谐事件,所述直播流调谐事件信令通知所述调谐媒体片段的片段编号和最早呈现时间。
21.一种处理媒体数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中所述指令在由所述处理器执行时使所述处理器执行权利要求1-20中任一项所述的方法。
22.一种非暂时性计算机可读介质,包括供视频编解码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非暂时性计算机可读介质上的计算机可执行指令,使得所述计算机可执行指令在由处理器执行时使所述视频编解码设备执行权利要求1-20中任一项所述的方法。
23.一种存储由视频处理装置执行的方法生成的视频的比特流的非暂时性计算机可读记录介质,其中所述方法包括:
在MPD中标识调谐媒体片段的指示,其中,所述调谐媒体片段包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据,其中,基于所述正在进行的直播流服务正在生成的当前媒体片段的长度,从所述当前媒体片段或所述正在进行的直播流服务生成的先前媒体片段中选择所述最新媒体数据,并且其中,在所述客户端设备调谐到所述正在进行的直播流服务之前,由所述客户端设备存储所述MPD;以及
基于所述MPD生成所述比特流。
24.一种存储视频的比特流的方法,包括:
在MPD中标识调谐媒体片段的指示,其中,所述调谐媒体片段包括客户端设备在调谐到正在进行的直播流服务时开始的最新媒体数据,其中,基于所述正在进行的直播流服务正在生成的当前媒体片段的长度,从所述当前媒体片段或所述正在进行的直播流服务生成的先前媒体片段中选择所述最新媒体数据,并且其中,在所述客户端设备调谐到所述正在进行的直播流服务之前,由所述客户端设备存储所述MPD;
基于所述MPD生成所述比特流;和
将所述比特流存储在非暂时性计算机可读记录介质中。
CN202280028732.4A 2021-04-16 2022-04-14 最小化直播流中的初始化延迟 Pending CN117157988A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2021087646 2021-04-16
CNPCT/CN2021/087646 2021-04-16
PCT/CN2022/086782 WO2022218371A1 (en) 2021-04-16 2022-04-14 Minimizing initialization delay in live streaming

Publications (1)

Publication Number Publication Date
CN117157988A true CN117157988A (zh) 2023-12-01

Family

ID=83640127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280028732.4A Pending CN117157988A (zh) 2021-04-16 2022-04-14 最小化直播流中的初始化延迟

Country Status (3)

Country Link
US (1) US20240048798A1 (zh)
CN (1) CN117157988A (zh)
WO (1) WO2022218371A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173760A1 (en) * 2010-09-20 2013-07-04 Humax Co., Ltd. Processing method to be implemented upon the occurrence of an expression switch in http streaming
CN104270646A (zh) * 2014-09-22 2015-01-07 何震宇 一种基于移动流媒体的自适应传输方法和系统
US20160337424A1 (en) * 2015-05-13 2016-11-17 Qualcomm Incorporated Transferring media data using a websocket subprotocol
US11647251B2 (en) * 2017-07-12 2023-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Fast tune-in for low latency streaming
JP6583653B2 (ja) * 2018-07-13 2019-10-02 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ストリーミングメディア送信方法及びシステム、ユーザ機器及びサーバ

Also Published As

Publication number Publication date
US20240048798A1 (en) 2024-02-08
WO2022218371A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
AU2018237153B2 (en) Signalling of essential and non-essential video supplemental information
KR102105804B1 (ko) 비디오를 위한 개선된 제약 스킴 설계
US11997349B2 (en) Time signaling for media streaming
US11888913B2 (en) External stream representation properties
CN113228588A (zh) 关于视频译码中的帧内随机接入点图像和前置图像
CN116830573A (zh) 交叉随机访问点信令增强
CN116648918A (zh) 视频解码器初始化信息
CN113228666B (zh) 支持视频编解码中的自适应分辨率改变
CN117157988A (zh) 最小化直播流中的初始化延迟
CN114760476B (zh) 视频解码器初始化信息信令
TWI834686B (zh) 用於媒體串流之時間信令傳輸
WO2023051757A1 (en) Methods, apparatuses, and medium for video streaming
WO2024006291A1 (en) Edrap in dash based on ari track
WO2024072753A1 (en) Enhanced signalling of picture-in-picture in media files
WO2023200879A1 (en) Support of subsegments based streaming operations in edrap based video streaming
WO2023220006A1 (en) Signaling of picture-in-picture in media files
CN117014676A (zh) 基于电影级别音轨组信息框的媒体文件中预选信息的信令通知
WO2024072732A1 (en) Enhanced signalling of extended dependent random access sample point samples in a media file
WO2024006289A1 (en) Edrap support in isobmff for all media types

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