CN112369042B - 用于自适应流传输对齐的帧转换 - Google Patents

用于自适应流传输对齐的帧转换 Download PDF

Info

Publication number
CN112369042B
CN112369042B CN201980043163.9A CN201980043163A CN112369042B CN 112369042 B CN112369042 B CN 112369042B CN 201980043163 A CN201980043163 A CN 201980043163A CN 112369042 B CN112369042 B CN 112369042B
Authority
CN
China
Prior art keywords
audio
frame
frames
video
bitstream
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
CN201980043163.9A
Other languages
English (en)
Other versions
CN112369042A (zh
Inventor
M·D·霍夫曼
C·费尔施
M·普里巴迪
H·赫里希
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.)
Dolby International AB
Dolby Laboratories Licensing Corp
Original Assignee
Dolby International AB
Dolby Laboratories Licensing Corp
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 Dolby International AB, Dolby Laboratories Licensing Corp filed Critical Dolby International AB
Priority to CN202211544575.0A priority Critical patent/CN115802046A/zh
Publication of CN112369042A publication Critical patent/CN112369042A/zh
Application granted granted Critical
Publication of CN112369042B publication Critical patent/CN112369042B/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/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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • 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
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • 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/61Network physical structure; Signal processing
    • H04N21/615Signal processing at physical level
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/6473Monitoring network processes errors

Landscapes

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

Abstract

用于生成AV位流(例如,具有自适应流传输格式的MPEG‑2传输流或位流片段)使得所述AV位流包含与至少一个音频I帧同步的至少一个视频I帧的方法例如包含通过重新制作至少一个视频或音频帧(作为重新制作的I帧或重新制作的P帧)。通常,包含所述重新制作的帧的所述AV位流的内容片段以I帧开始并包含至少一个后续的P帧。其它方面是用于适配此类AV位流的方法,被配置成执行本发明方法的任何实施例的音频/视频处理单元以及包含缓冲存储器的音频/视频处理单元,所述缓冲存储器存储根据本发明方法的任何实施例生成的AV位流的至少一个片段。

Description

用于自适应流传输对齐的帧转换
相关申请的交叉引用
本申请要求美国临时专利申请第62/690,998号和欧洲专利申请第18180389.1号的优先权的权益,两者均于2018年6月28日提交,所述美国临时专利申请和欧洲专利申请通过引用特此并入。
技术领域
本文件涉及音频和视频信号处理,并且更具体地,涉及位流(例如,在自适应流传输格式或方法/协议中使用的位流或位流片段或传输流)的生成和适配,所述位流包含(经编码视频数据以及任选地元数据的)视频帧和(经编码音频数据以及任选地元数据的)音频帧。本发明的一些实施例生成或适配(例如,对齐)位流片段(例如,具有MPEG-2传输流格式,或根据MMT或MPEG-DASH或另一种流传输方法/协议的格式,或另一种自适应流传输格式,或另一种标准兼容格式),所述位流片段包含经编码音频数据(例如,符合或兼容AC-4、或MPEG-D USAC、或MPEG-H音频标准的格式的经编码音频数据)。
背景技术
在自适应流传输中,具有(或用于)自适应流传输格式的数据可以包括用于每个视频表示和音频表示的单独的位流(或位流片段)。因此,数据可以不包括单个位流(例如,单个传输流),并且相反可以包含两个或两个以上单独的位流。在本文中,表达“AV位流”(定义如下)用于表示指示位流或位流片段、或两个或两个以上位流片段(例如,传输流或在自适应流传输格式中使用的位流片段)的信号(或多个信号),所述位流(或一或多个位流片段)包含视频数据和/或经编码音频数据,并且通常还包含元数据。
AV位流(例如,传输流或在自适应流传输格式或流传输方法或协议中使用的位流片段)可以指示至少一个音频/视频(音频和/或视频)节目(“节目”),并且可以包含(对于由此指示的每个节目)视频数据帧(其确定至少一个视频基本流)和对应于视频数据的经编码音频数据帧(其确定至少一个音频基本流)。视频数据帧可以包含或包括视频数据I帧(视频I帧)和视频数据P帧(视频P帧),并且经编码音频数据帧可以包含或包括I帧或经编码音频数据(音频I帧)和经编码音频数据P帧(音频P帧)。
在本文中,包含在权利要求中,“I帧”表示可以使用仅来自其自身的信息进行解码的可独立解码的帧。在本文中,包含在权利要求中,非I帧的帧(例如,预测经编码帧)被称为“P帧”。在AV位流中,P帧通常需要来自前一个I帧的信息以便被解码。I帧(或P帧)可以包含视频数据(并且通常还包含元数据),并且此类帧在本文中有时被称为视频帧或视频数据帧。I帧(或P帧)可以包含经编码音频数据(并且通常还包含元数据),并且此类帧在本文中有时被称为音频帧或音频数据帧。
许多现代音频编解码器(例如,AC-4音频、MPEG-H音频和MPEG-D USAC音频编解码器)和视频编解码器利用可独立解码的帧(如上文所定义的“I帧”)和其它帧(例如,不可独立解码的帧,即如上文所定义的“P帧”)的概念,使得包含由此类编解码器编码的音频和/或视频内容的位流通常包含I帧和P帧。许多打包的媒体递送格式或协议(例如,MPEG-DASH(在ISO/IEC 23009-1:2012下发布的基于HTTP的动态自适应流传输)、HLS(苹果HTTP实时流传输)、MMT(MPEG媒体传输)和MPEG-2传输流格式)要求音频(或视频)内容的片段以I帧开始,以在片段边界实现无缝拼接(或切换),并且可以受益于音频和视频片段对齐。由于音频编码器和视频编码器通常是独立运行的,并且两者都被允许在不知道对方的情况下决定何时创建I帧,因此音频I帧与视频I帧之间通常很难对齐。
发明内容
本发明的一些实施例生成AV位流,所述AV位流包含与经编码音频数据I帧(音频I帧)同步的视频数据I帧(视频I帧),以解决所述AV位流的基本流(例如,视频基本流和一或多个对应的音频基本流)的片段之间的对齐问题。在典型实施例中,AV位流指示至少一个音频/视频节目(“节目”),并且包含(对于由此指示的每个节目)视频数据帧(其确定至少一个视频基本流)和对应的经编码音频数据帧(其确定至少一个音频基本流),视频数据帧包含视频数据I帧(视频I帧)和视频数据P帧(视频P帧),并且经编码音频数据帧包含经编码音频数据I帧(音频I帧)和经编码音频数据P帧(音频P帧)。所述AV位流的至少一个帧(所述视频帧中的至少一个视频帧和/或所述音频帧中的至少一个音频帧)已被重新制作(作为重新制作的I帧或重新制作的P帧),使得包含所述重新制作的帧的所述流的内容片段以I帧开始并包含至少一个后续的P帧,并且通常还使得所述内容片段的I帧与所述流的对应内容(其中如果所述内容是视频内容,则所述对应内容是音频内容,或者如果所述内容是音频内容,则所述对应内容是视频内容)片段的I帧对齐(时间对齐,例如,因为所述内容片段的I帧具有与所述流的对应内容片段的I帧相同的时间戳值)。在一些实施例中,所述AV位流的至少一个音频帧(但没有视频帧)已被重新制作(作为重新制作的音频I帧或重新制作的音频P帧),使得包含所述重新制作的帧的所述流的音频内容片段以音频I帧(与对应的视频内容片段的视频I帧对齐)开始并包含至少一个后续的音频P帧。在典型实施例中,所述AV位流具有打包的媒体递送格式,所述格式要求所述AV位流的内容(音频内容或视频内容)的每个片段都以I帧开始,以在片段边界(例如,在视频基本流的视频内容片段的开始处,所述开始与至少一个音频基本流中的每个音频基本流的对应音频内容片段的开始对齐)处实现无缝适配(例如,拼接或切换)。在一些(但不是全部)实施例中,所述打包的媒体递送格式符合MPEG-DASH、HLS或MMT方法/协议,或者是MPEG-2传输流格式,或者通常基于ISO基本媒体格式(MPEG-414496-12)。
在本文中,“重新制作”指示内容(音频或视频内容)的帧(或“重新制作”帧)表示用不同的元数据替换所述帧的元数据而不修改所述帧的内容(例如,不通过对此类内容进行解码并且然后对经解码内容进行重新编码来修改所述内容),或者用不同的元数据替换所述帧的元数据(并且修改所述帧的内容而不对此类内容进行解码并且然后对经解码内容进行重新编码)。例如,在本发明的一些实施例中,通过用不同的元数据集合(例如,由元数据组成或包含元数据的不同的元数据集合,其从前面的音频I帧复制或通过修改从前面的音频I帧获得的元数据而生成)替换所述音频P帧的元数据中的所有或一些元数据(其可以在所述音频P帧的报头中),而不修改所述P帧的经编码音频内容(例如,不通过对此类内容进行解码并且然后对经解码内容进行重新编码来修改所述经编码音频内容),音频P帧被重新制作为重新制作的音频I帧。对于另一个实例,音频P帧被重新制作为重新制作的音频I帧,包含通过用已经使用帧内编码(即,相同的音频内容,但是使用增量频率或绝对编码进行编码)进行编码的经编码音频内容替换所述P帧的经编码音频内容(已经使用增量时间(帧间)编码进行编码的音频内容),而不对所述P帧的原始音频内容进行解码。对于另一个实例,在本发明的一些实施例中,通过将至少一个先前音频P帧复制到所述P帧(包含每个先前P帧的经编码音频内容)中,音频P帧被重新制作为重新制作的音频I帧,使得得到的重新制作的I帧包含与所述P帧不同的元数据集合(即,包含每个先前P帧的元数据以及所述P帧的原始元数据),并且还包含另外的经编码音频内容(每个先前P帧的经编码音频内容)。对于另一个实例,在本发明的一些实施例中,通过用不同的元数据集合(例如,由元数据组成或包含元数据的不同的元数据集合,其从前面的帧复制或通过修改从前面的帧获得的元数据而生成)替换所述I帧的元数据中的所有或一些元数据(其可以在I帧的报头中),而不修改所述I帧的内容(音频或视频内容)(例如,不通过对此类内容进行解码并且然后对经解码内容进行重新编码来修改所述I帧的经编码内容),音频(或视频)I帧被重新制作为重新制作的音频(视频)P帧。
在本文中,AV位流的帧或可包含在AV位流中的帧(为了清楚起见被称为“第一”帧,尽管其可以是任何视频或音频帧)具有“第一解码类型”的表达表示所述帧是I帧(已经使用仅来自其自身的信息进行编码的可独立解码的帧,使得其解码类型为I帧的解码类型)或P帧(使得其解码类型为P帧的解码类型),并且所述AV位流的另一个帧(“第二帧”)或可包含在所述AV位流中的另一帧具有“第二解码类型”(不同于所述第一解码类型)的表达表示所述第二帧是P帧(如果所述第一帧是I帧的话)或I帧(如果所述第一帧是P帧的话)。
本发明方法的一些实施例包含以下步骤:
(a)提供输入AV位流,所述输入AV位流包括:指示音频和视频内容的帧(例如,向编码器或NBMP实体发射、递送或以其它方式提供所述帧或包含所述帧的输入传输流或其它输入AV位流),所述帧包含第一解码类型的帧;以及任选地元数据,所述元数据与所述帧中的每个帧相关联,其中所述第一解码类型的所述帧中的每个帧包括P帧或I帧,并且指示音频内容(例如,经编码音频内容)或视频内容(例如,经编码视频内容);
(b)将与所述第一解码类型的所述帧中的至少一个帧相关联的所述元数据中的一些元数据修改成不同的元数据,以生成至少一个不同于所述第一解码类型的第二解码类型的重新制作的帧,以及
(c)响应于所述输入AV位流生成输出AV位流,包含通过将所述第一解码类型的所述帧中的至少一个帧重新制作为不同于所述第一解码类型的第二解码类型的重新制作的帧(例如,如果所述第一解码类型的所述帧中的所述一个帧是P帧,则所述重新制作的帧是重新制作的I帧,或者如果所述第一解码类型的所述帧中的所述一个帧是I帧,则所述重新制作的帧是重新制作的P帧),使得所述AV位流包括包含所述重新制作的帧的内容的片段,并且所述内容的所述片段以I帧开始并包含所述I帧之后的至少一个P帧,用于将所述视频内容的I帧与所述音频内容的I帧对齐。例如,步骤(b)可以包含重新制作至少一个音频P帧使得所述重新制作的帧是音频I帧、或者重新制作至少一个音频I帧使得重新制作的帧是音频P帧、或者重新制作至少一个视频P帧使得重新制作的帧是视频I帧、或者重新制作至少一个视频I帧使得重新制作的帧是视频P帧的步骤。
在一些此类实施例中,步骤(a)包含以下步骤:在第一***(例如,生产单元或编码器)中,生成包含指示所述内容的所述帧的输入AV位流(例如,输入传输流);以及向第二***(例如,NBMP实体)递送(例如,发射)所述输入AV位流;并且步骤(b)和(c)在所述第二***中执行。
在一些此类实施例中,至少一个音频P帧(包含元数据和经编码音频数据,例如,经AC-4编码音频数据)被重新制作为音频I帧(包含相同的经编码音频数据和不同的元数据)。在实施例中的一些其它实施例中,至少一个音频I帧(包含元数据和经编码音频数据,例如,经AC-4编码音频数据)被重新制作为音频P帧(包含相同的经编码音频数据和不同的元数据)。在一些实施例中,至少一个音频P帧(包含元数据和已经使用增量时间(帧间)编码进行编码的经编码音频内容)被重新制作为重新制作的音频I帧,包含通过用已经使用帧内编码进行编码的经编码音频内容(即,相同的音频内容,但是使用增量频率或绝对编码进行编码)替换所述P帧的原始经编码音频内容,而不对所述P帧的原始音频内容进行解码。
在一个实施例中,所述不同的元数据可以是与重新制作的帧之前的所述第一解码类型或所述第二解码类型的帧相关联的元数据。
在一些实施例中,正在被重新制作的帧是音频P帧。所述重新制作的帧是音频I帧。通过用从先前音频I帧复制的不同的元数据替换此类音频P帧的所述元数据中的一些元数据来修改所述音频P帧的所述元数据,使得所述重新制作的帧包含所述不同的元数据。
在一些其它实施例中,正在被重新制作的帧是音频P帧。所述重新制作的帧是音频I帧。通过修改来自先前音频I帧的元数据并用经修改的元数据替换所述音频P帧的所述元数据中的至少一些元数据来修改所述音频P帧的所述元数据,使得所述重新制作的帧(I帧)包含所述经修改的元数据。
在一些其它实施例中,正在被重新制作的帧是音频P帧。所述重新制作的帧是音频I帧。通过将至少一个先前P帧复制到所述音频P帧中来修改所述音频P帧的所述元数据,使得得到的重新制作的I帧包含与所述P帧不同的元数据集合(即,其包含每个先前P帧的元数据以及所述P帧的原始元数据),并且还包含另外的经编码音频内容(每个先前P帧的经编码音频内容)。
在一些实施例中,生成所述输出AV位流包括将所述输出AV位流的所述音频和视频内容的片段确定为以I帧开始的所述视频内容(例如,所述输入AV位流的所述输入视频内容)的片段。换句话说,所述音频和视频内容的片段由所述(例如,输入)视频内容定义。音频和视频内容的片段以所述(例如,输入)视频内容的I帧开始。所述音频帧被重新制作,使得所述音频内容的I帧与所述视频内容的I帧对齐。所述音频和视频内容的片段还以所述音频内容的I帧开始。
在一些实施例中,生成所述输出AV位流包括传递音频和视频内容以及所述输入AV位流的所述内容的片段的元数据,所述输入AV位流尚未被修改为所述输出AV位流。例如,缓冲器可以用于缓冲(例如存储)所述输入AV位流的所述内容的片段。子***可以被配置成重新制作所述内容的此类经缓冲片段帧之一,并通过经重新制作而未修改的帧传递。所述子***未修改的任何媒体内容和元数据从所述输入AV位流传递到所述输出AV位流。所生成的输出AV位流包括所述输入AV位流的未修改的帧和所述重新制作的帧。
在第一类实施例(在本文中有时被称为实施“方法1”的实施例)中,本发明方法包含:(a)生成指示内容的音频I帧和音频P帧(例如,以常规方式);以及(b)生成AV位流,包含通过将所述音频P帧中的至少一个音频P帧重新制作为重新制作的音频I帧,使得所述AV位流包括包含所述重新制作的音频I帧的内容的片段,并且所述内容的片段以所述重新制作的音频I帧开始。通常,所述内容的片段还包含所述重新制作的音频I帧之后的所述音频P帧中的至少一个音频P帧。步骤(a)和(b)可以在音频编码器(例如,包含或实施音频编码器的生产单元)中执行,包含通过操作所述音频编码器来执行步骤(a)。
在实施方法1的一些实施例中,步骤(a)在生成所述音频I帧和所述音频P帧的音频编码器(例如,AC-4编码器)中执行,步骤(b)包含将所述音频P帧中的至少一个音频P帧(对应于需要音频I帧的时间)重新制作为所述重新制作的音频I帧,并且步骤(b)还包含将所述重新制作的音频I帧而不是所述音频P帧中的所述一个音频P帧包含在所述AV位流中的步骤。
实施方法1的一些实施例包含:在第一***(例如,生产单元或编码器)中,生成包含在步骤(a)中生成的所述音频I帧和所述音频P帧的AV位流(例如,输入传输流);向第二***(例如,NBMP实体)递送(例如,发射)所述输入AV位流;以及在所述第二***中执行步骤(b)。
在第二类实施例(在本文中有时被称为实施“方法2”的实施例)中,本发明方法包含:(a)生成指示内容的音频I帧(例如,以常规方式);以及(b)生成AV位流,包含通过将所述音频I帧中的至少一个音频I帧重新制作为重新制作的音频P帧,使得所述AV位流包括包含所述重新制作的音频P帧的所述内容的片段,并且所述内容的片段以在步骤(a)中生成的所述音频I帧之一开始。步骤(a)和(b)可以在音频编码器(例如,包含或实施音频编码器的生产单元)中执行,包含通过操作所述音频编码器来执行步骤(a)。
在实施方法2的一些实施例中,步骤(a)在生成所述音频I帧的音频编码器(例如,AC-4编码器)中执行,并且步骤(b)包含重新制作对应于除片段边界之外的时间(并且因此不出现在片段边界处)的所述音频I帧中的每个音频I帧,由此确定至少一个重新制作的音频P帧,并且所述生成所述AV位流的步骤包含将所述至少一个重新制作的音频P帧包含在所述AV位流中的步骤。
实施方法2的一些实施例包含:在第一***(例如,生产单元或编码器)中,生成包含在步骤(a)中生成的所述音频I帧的AV位流(例如,输入传输流);向第二***(例如,NBMP实体)递送(例如,发射)所述输入AV位流;以及在所述第二***中执行步骤(b)。
实施生成AV位流的本发明方法的一些实施例(例如,包含通过重新制作输入AV位流的至少一个帧),使得所述AV位流满足至少一个当前潜在的网络约束或其它约束(例如,所述AV位流的生成包含重新制作输入位流的至少一个帧,并且被执行以使得所述AV位流满足对所述输入位流的至少一个当前潜在的网络约束)。例如,当所述AV位流由NBMP实体(例如,作为CDN服务器或包含在CDN服务器中的MPEG NBMP实体)生成时,所述NBMP实体可以被实施成以取决于网络和其它约束的方式将I帧***所述AV位流中或从所述AV位流中去除I帧。此类约束的实例包含但不限于可用位率、进入节目所需的调入时间和/或潜在MPEG-DASH或MMT AV位流的片段持续时间。
在一些实施例中,一种用于生成AV位流的方法包含:
提供帧,其中所述帧中的至少一个帧是包含P帧和I帧的混合帧,其中所述I帧指示内容的经编码版本,并且所述P帧指示所述内容的不同的经编码版本,并且其中所述帧中的每个帧指示音频内容或视频内容;以及
生成所述AV位流,包含通过选择至少一个所述混合帧的所述P帧,以及将每个所选P帧包含在所述AV位流中,使得所述AV位流包含以I帧开始并包含所述I帧之后的至少所述所选P帧的片段。
在一些实施例中,本发明方法包含适配(例如,切换或拼接)指示至少一个音频/视频节目(“节目”)并且已经根据用于生成AV位流的本发明方法的任何实施例而生成的AV位流(例如,具有MPEG-2格式、或MPEG-DASH或MMT格式)由此生成经适配的(例如,经拼接的)AV位流的步骤。在典型实施例中,所述经适配的AV位流在不修改所述AV位流的任何经编码音频基本流的情况下生成。在包含适配(例如,切换或拼接)AV位流的步骤的一些实施例中,其中所述适配在对应于所述AV位流的视频I帧(例如,重新制作的视频I帧)和至少一个对应的重新制作的音频I帧的所述AV位流的适配点(例如,由所述AV位流指示的节目中的时间)处执行。在所述AV位流包含(对于由此指示的每个节目)视频数据帧(其确定至少一个视频基本流)和对应的经编码音频数据帧(其确定至少一个音频基本流)的典型实施例中,以保证维持音频/视频同步(“A/V”同步)而不需要适配器(例如,拼接器)对所述AV位流的任何经编码音频基本流进行修改的方式执行所述适配(例如,拼接)。
根据本发明方法的典型实施例中的任何典型实施例生成的AV位流具有(即,满足)I帧同步的性质(即,视频和音频编码同步,使得对于由AV位流指示的每个节目、对于节目的视频基本流中的每个视频I帧,在节目的音频基本流中存在至少一个匹配音频I帧(即,至少一个与视频I帧同步的音频I帧)),就这种意义而言,对于由所述AV位流指示的每个节目,指示所述节目的所述AV位流的数据具有I帧同步的性质。
本发明的另一实施例的另一方面是一种音频/视频处理单元(AVPU),所述音频/视频处理单元被配置成执行本发明方法的任何实施例(例如,用于生成和/或适配AV位流)。例如,所述AVPU可以是被编程或以其它方式配置成执行本发明方法的任何实施例的NBMP实体(例如,MPEG NBMP实体,其可以是CDN服务器或者可以包含在CDN服务器中)。对于另一个实例,所述AVPU可以是适配器(例如,拼接器),所述适配器被配置成执行本发明AV位流适配(例如,拼接)方法的任何实施例。在本发明的另一类实施例中,所述AVPU包含缓冲存储器(缓冲器),所述缓冲存储器(例如,以非暂时性方式)存储已经通过本发明方法的任何实施例生成的AV位流的至少一个片段。AVPU的实例包含但不限于编码器(例如,代码转换器)、NBMP实体(例如,被配置成生成AV位流和/或对其执行适配的NBMP实体)、解码器(例如,被配置成对AV位流的内容进行解码和/或对AV位流执行适配(例如,拼接)以生成经适配的(例如,经拼接的)AV位流并对所述经适配的AV位流的内容进行解码的解码器)、编解码器、AV位流适配器(例如,拼接器)、预处理***(预处理器)、后处理***(后处理器)、AV位流处理***和此类元件的组合。
本发明的一些实施例包含被配置(例如,编程)成执行本发明方法的任何实施例的***或装置,以及(例如,以非暂时性方式)存储用于实施本发明方法或其步骤的任何实施例的代码的计算机可读媒体(例如,盘)。例如,本发明***可以是或者包含用软件或固件编程和/或以其它方式配置成对数据执行多种操作中的任何操作(包含本发明方法或其步骤的实施例)的可编程通用处理器、数字信号处理器或微处理器。此类通用处理器可以是或者包含计算机***,所述计算机***包含输入装置、存储器和处理电路***,所述处理电路***被编程(和/或以其它方式配置)成响应于向其断言的数据来执行本发明方法(或其步骤)的实施例。
附图说明
图1是内容递送网络的框图,其中NBMP实体12(以及任选的至少一个其它元件)根据本发明的实施例进行配置。
图2是MPEG-2传输流的实例的图。
图3是***的实施例的框图,其中***的元件中的一或多个元件可以根据本发明的实施例进行配置。
图4是包含根据本发明的实施例配置的图3的生产单元3以及图3的捕获单元1的实施方案的***的框图。
图5是具有MPEG-DASH格式的AV位流的片段的图。
图6是根据本发明的实施例生成的混合帧的图。
图6A是根据本发明的实施例生成的混合帧的图。
图7是根据本发明的实施例的用于生成具有MPEG-DASH格式的AV位流的***的框图。
符号和术语
贯穿本公开,包含在权利要求中,“对”信号或数据执行操作(例如,对信号或数据进行滤波、缩放、变换或应用增益)的表达在广义上用于表示直接对信号或数据执行操作,或者对信号或数据的经处理版本(例如,在对其执行操作之前已经经历初步滤波或预处理的信号版本)执行操作。
贯穿本公开,包含在权利要求中,表达“***”在广义上用于表示装置、***或子***。例如,实施编码的子***可以被称为编码器***,并且包含此类子***的***(例如,响应于多个输入生成X个输出信号的***,其中子***生成M个输入,并且其它X-M个输入是从外部源接收的)也可以被称为编码器***。
贯穿本公开,包含在权利要求中,表达“AV位流”表示指示位流、或位流片段、或两个或两个以上位流片段(例如,传输流或在自适应流传输格式中使用的位流片段)的信号(或多个信号),所述位流(或一或多个位流片段)包含视频数据和/或经编码音频数据,并且通常还包含元数据。表达“AV数据”在本文中有时用于表示此类视频数据和/或此类经编码音频数据。通常,传输流是指示串行位流的信号,所述串行位流包含经编码音频数据的片段序列(例如,数据包)、视频数据的片段(例如,数据包)和元数据(例如,包含支持拼接的元数据)的片段(例如,报头或其它片段)。AV位流(例如,传输流)可以指示多个节目,并且每个节目可以包含多个基本流(例如,视频基本流以及两个或两个以上音频基本流)。通常,传输流的每个基本流具有相关联的描述符,所述描述符包含与基本流有关的信息。
贯穿本公开,包含在权利要求中,术语“处理器”在广义上用于表示可编程或可以其它方式配置(例如,用软件或固件)以对数据(例如,音频和/或视频或其它图像数据)执行操作的***或装置。处理器的实例包含现场可编程门阵列(或其它可配置的集成电路或芯片组)、被编程和/或以其它方式配置成对音频或其它声音数据执行流水线处理的数字信号处理器、可编程通用处理器或计算机以及可编程微处理器芯片或芯片组。
贯穿本公开,包含在权利要求中,表达“音频/视频处理单元”(或“AV处理单元”或“AVPU”)和“AV处理器”可互换使用,并且在广义上用于表示被配置成处理AV位流(或AV位流的视频数据和/或经编码音频数据)的***。AV处理单元的实例包含但不限于编码器(例如,代码转换器)、解码器、编解码器、NBMP实体、拼接器、预处理***、后处理***和位流处理***(有时被称为位流处理工具)。在一个实例中,AV处理单元是拼接器,所述拼接器被配置成确定第一传输流的出点(即,时间)和第二传输流(其可以是第一传输流,或者不是第一传输流的不同传输流)的入点(即,另一时间),并且生成经拼接的传输流(例如,包含在出点之前出现的第一位流的数据和在入点之后出现的第二位流的数据的经拼接的传输流)。
贯穿本公开,包含在权利要求中,表达“元数据”是指与对应的音频数据和/或视频数据(还包含元数据的位流的音频和/或视频内容)分开且不同的数据。元数据与音频和/或视频数据(“AV”数据)相关联,并且指示AV数据的至少一个特征或特性(例如,对AV数据或由AV数据的音频数据指示的对象的轨迹已经执行或应该执行什么类型的处理)。元数据与AV数据的关联是时间同步的。因此,当前(最近接收或更新的)元数据可以指示对应的AV数据同时具有所指示的特征和/或包括所指示类型的音频和/或视频数据处理的结果。
贯穿本公开,包含在权利要求中,术语“耦接”或“耦接的”用于意指直接或间接连接。因此,如果第一装置耦接到第二装置,则所述连接可以通过直接连接实现或者通过经由其它装置和连接的间接连接实现。
具体实施方式
本发明的一些实施例是用于生成AV位流的方法和***,所述AV位流包含与经编码音频数据I帧(音频I帧)同步的视频数据I帧(视频I帧),其中AV位流提供了对AV位流的基本流(例如,视频基本流和一或多个对应的音频基本流)的片段之间的对齐问题的解决方案。例如,图1的内容递送网络的NBMP实体12、图7的***和图4的生产单元3中的每一个都是根据本发明的实施例被配置成生成此类AV位流的***。
根据一些视频和音频编解码器格式生成的并且是如上定义的I帧的可独立解码的帧可能没有正被式定义(在相关编解码器格式的形式规范中)或通常被称为“I帧”(并且可以代替地被称为其它名称,例如,IDR帧、IPF帧或IF帧)。在一些编解码器中,每个视频帧和/或每个音频帧都是可独立解码的,并且每个此类帧都是“I帧”。
在一些情况下,音频P帧的经编码音频数据(例如,音频内容是经AC-4编码音频数据的音频P帧)可以使用仅来自P帧内的信息来解码,但是在一些情况下,经解码音频在回放时听起来不会完全像原始编码时原本预期的一样。在一些情况下,为了使P帧的音频内容的经解码版本在回放时听起来像原本预期的一样,来自先前I帧的元数据(例如,动态范围控制元数据、降混元数据、响度元数据、频谱扩展元数据或耦接元数据)通常需要在解码期间可用(并且通常需要被使用)。
在一些情况下,P帧可以参考在先前帧中传输的数据进行正确解码。视频P帧使用先前数据连同传输的数据来生成所述视频帧的图片的预测版本,并且只将差异传输到所述图片。音频P帧可以使用可以从先前帧中预测的参数的差分编码,例如使用如在AC-4的ASPX或ACPL的平移数据中使用的频谱包络的差分编码。
在本文中,术语(AV位流,例如,传输流或另一位流的)“适配”和(对位流)执行“适配”中的每个术语在广义上用于表示对位流执行任何操作,所述操作包含访问由位流指示的内容(例如,由位流指示的节目的一或多个基本流的内容),其中内容出现在(对应于)特定时间(例如,根据本发明的实施例,包含在位流中的I帧的时间)。位流的适配的实例包含(但不限于):自适应位率切换(例如,在位流中的特定时间,在由位流指示的内容的不同位率版本之间进行切换);位流(所指示)的节目的基本流(音频基本流或视频和音频基本流)的对齐;在特定时间将由位流指示的节目与(例如,由另一位流指示的)另一节目拼接;在特定时间将由位流(或其片段)指示的节目与另一节目连接;或者在特定时间启动由位流(或其片段)指示的节目的回放。表达(AV位流,例如,传输流或另一位流的)“适配点”在广义上用于表示位流中出现I帧(或出现视频I帧和至少一个对应的音频I帧)的时间(例如,如时间戳值所指示的),使得可以在适配点对位流执行适配(例如,切换或拼接)。
AV位流(例如,传输流)可以指示多个节目。每个节目可以包含多个基本流(例如,视频基本流和一或多个经编码音频基本流)。基本流可以是视频基本流(包含视频数据),或包含经编码音频数据(例如,从音频编码器输出的经编码音频数据)的音频基本流(例如,对应于视频基本流)。
尽管根据本发明的实施例的方法和***不限于具有MPEG-2传输流格式(或具有符合MPEG-DASH或MMT的格式或任何其它特定格式的AV位流)或包含任何特定格式的经编码音频数据的传输流的生成和/或拼接(或其它适配),但是一些实施例是用于生成和/或适配(例如,拼接)MPEG-2传输流(或具有符合MPEG-DASH或MMT的格式的AV位流)的方法和***,所述MPEG-2传输流的音频帧包含呈被称为AC-4的格式(或MPEG-D USAC或MPEG-H音频格式)的经编码音频数据。如果每个此类AV位流(例如,位流片段)都包含视频数据的P帧和I帧和/或经编码音频数据的P帧和I帧,则根据本发明的其它实施例,可以生成和/或适配(例如,切换或拼接)具有其它格式的传输流(或不是传输流的AV位流,例如,具有自适应流传输格式或在流传输方法或协议中使用的位流片段)。根据本发明的一类典型实施例生成和/或适配(例如,拼接)的AV位流(例如,传输流)的帧(例如,音频帧)通常还包含元数据。
被称为MPEG-DASH的自适应流传输协议允许使用HTTP网页服务器在因特网上流式传输媒体内容。根据MPEG-DASH,媒体演示的媒体内容(其还包含元数据)被分成片段序列。片段被组织为表示(每个表示包含片段序列,例如,包含图5中所指示的两个“MPEG-DASH片段”的序列)、适配(每个适配包含表示序列)和周期(每个周期包含适配序列)。媒体演示可以包含许多周期。
虽然媒体演示的片段可以含有任何媒体数据,但MPEG-DASH规范提供了用于与两种类型的媒体数据容器:ISO基本媒体文件格式(例如,MPEG-4文件格式)或MPEG-2传输流格式一起使用的指导和格式。因此,在一些情况下,具有MPEG-DASH格式的媒体内容(和元数据)可以作为MPEG-4文件序列而不是作为单个位流来递送。
MPEG-DASH对音频/视频编解码器具有不可知性。因此,MPEG-DASH媒体演示的媒体内容可以包含已经根据一种音频编码格式进行编码的经编码音频内容(例如,经AC-4编码音频内容)和已经根据另一种音频编码格式进行编码的另外的经编码音频内容,以及已经根据一种视频编码格式进行编码的视频内容和已经根据另一种视频编码格式进行编码的另外的视频内容。
具有MPEG-DASH格式的数据可以包含多媒体文件的一或多个表示(例如,具有不同分辨率或位率的版本)。可以基于网络条件、装置能力和用户偏好在此类表示中实施选择,从而实现自适应位率流传输。
图5是具有MPEG-DASH自适应流传输格式的AV位流(如本文所定义的)的一个片段的实例的图。尽管AV位流(或图5中所示的其片段)可以不作为单个位流(例如,具有单个位率)来递送,但是AV位流(和图5中所示的其片段)是如本文所定义的“AV位流”的实例。图5所示的片段的媒体内容包含根据AC-4编码标准编码为AC-4音频帧序列的经编码音频数据,以及编码为视频帧序列的对应视频内容。AC-4音频帧包含音频I帧(例如,AC-4帧1和AC-4帧7)和音频P帧(例如,AC-4帧2)。视频帧包含视频I帧(例如,视频帧1和视频帧5)和视频P帧。在图5中,用“P”(指示“预测”编码)或用“B”(指示“双向预测”编码)标记的每个视频帧都是如本文所定义的视频“P帧”。图5的视频P帧包含视频帧2和视频帧3。
图5的每个视频I帧与对应的音频I帧对齐(例如,作为音频I帧的AC-4帧7与作为视频I帧的视频帧5对齐)。因此,标记为GOP 1(其中GOP表示“图片组”)、GOP 2、GOP 3和GOP 4的(图5的AV位流的)片段中的每个片段从AV位流的“适配点”(如本文所定义的)的时间开始。因此,可以在这些适配点中的任何适配点无缝地对AV位流执行适配(例如,切换)。片段GOP 1和GOP 2一起对应于AV位流的较长片段(标记为“MPEG-DASH片段1”),并且片段GOP 3和GOP 4一起对应于AV位流的较长片段(标记为“MPEG-DASH片段2”),并且这些较长片段中的每个较长片段也从适配点开始。
MPEG-2传输流格式是传输和存储视频数据、经编码音频数据和相关数据的标准格式。MPEG-2传输流格式在被称为MPEG-2第1部分——***(ISO/IEC标准13818-1或ITU-TRec.H.222.0)的标准中规定。MPEG-2传输流具有封装封包基本流的规定容器格式。
MPEG-2传输流通常用于例如以DVB(数字视频广播)或ATSC(先进电视***委员会)TV广播的形式广播音频和视频内容。通常期望在两个MPEG-2传输流之间实施拼接。
MPEG-2传输流在数据包中携带基本流(即,包含指示基本流的数据)(例如,从视频编码器输出的视频数据的基本流,以及从音频编码器输出的经编码音频数据的至少一个对应的基本流)。通过将来自基本流的连续数据字节封装在具有PES包头的封包基本流(“PES”)数据包中来对每个基本流进行封包。通常,基本流数据(从视频和音频编码器输出)被封包为PES数据包,然后PES数据包被封装在传输流(TS)数据包内部,并且然后TS数据包被多路复用以形成传输流。通常,每个PES数据包被封装成TS数据包序列。PES数据包可以指示音频或视频帧(例如,包括元数据和经编码音频数据的音频帧,或包括元数据和视频数据的视频帧)。
指示音频帧的(传输流的)TS数据包序列中的TS数据包中的至少一个(一或多个)TS数据包可以包含对所述帧的音频内容进行解码所需的元数据。指示音频I帧的TS数据包中的至少一个(一或多个)TS数据包包含足以实现对所述帧的音频内容进行独立解码的元数据。尽管指示音频P帧的TS数据包中的至少一个(一或多个)TS数据包包含对所述帧的音频内容进行解码所需的元数据,但是通常还需要(先前I帧的)另外的元数据来对所述帧的音频内容进行解码。
MPEG-2传输流可以指示一或多个音频/视频节目。每个单独的节目由节目映射表(PMT)描述,所述节目映射表具有唯一的标识值(PID),并且与所述节目相关联的一或多个基本流具有在PMT中列出的PID。例如,传输流可以指示三个电视节目,每个节目对应于不同的电视频道。在实例中,每个节目(频道)可以由一个视频基本流和多个(例如,一个或两个)经编码音频基本流以及任何必要的元数据组成。希望对特定节目(频道)进行解码的接收器对PID与节目相关联的每个基本流的有效负载进行解码。
MPEG-2传输流包含节目特定信息(PSI),所述节目特定信息通常包括指示以下四个PSI表的数据:节目关联表(PAT)、每个节目的节目映射表(PMT)、条件访问表(CAT)和网络信息表(NIT)。节目关联表列出了由传输流指示(包含在传输流中)的所有节目,并且节目中的每个节目对于其节目映射表(PMT)具有相关联的PID值。节目的PMT列出了节目的每个基本流,并且包含指示关于节目的其它信息的数据。
MPEG-2传输流包含演示时间戳(“PTS”)值,所述演示时间戳值用于实现传输流的节目的单独基本流(例如,视频流和经编码音频流)的同步。PTS值以与节目的整体时钟参考有关的单位给出,所述整体时钟参考也在传输流中传输。包括音频或视频帧(由PES数据包指示)的所有TS数据包都具有相同的PTS(时间戳)值。
AV位流(例如,MPEG-2传输流或具有MPEG-DASH格式的AV位流)可以包含经编码音频数据(通常是指示一或多个音频内容频道的经压缩音频数据)、视频数据和指示经编码音频(或经编码音频和视频)内容的至少一个特征的元数据。尽管本发明的实施例不限于其音频内容是根据AC-4格式进行编码的音频数据(“经AC-4编码音频数据”)的AV位流(例如,传输流)的生成,但是典型实施例是用于生成和/或适配包含经AC-4编码音频数据的AV位流(例如,在自适应流传输格式中使用的位流片段)的方法和***。
用于对音频数据进行编码的AC-4格式是众所周知的,并于2014年4月在题为“ETSITS 103 190V1.1.1(2014-04),数字音频压缩(AC-4)标准”的文件中发布。
MPEG-2传输流通常用于例如以DVB(数字视频广播)或ATSC(先进电视***委员会)TV广播的形式广播音频和视频内容。有时期望在两个MPEG-2(或其它)传输流之间实施拼接。例如,可能期望发射器在第一传输流中实施拼接,以在第一传输流的两个片段之间***广告(例如,另一个流的片段)。被称为传输流拼接器的常规***可用于执行此类拼接。常规拼接器的复杂程度各不相同,并且常规传输流通常是在假设拼接器知道并且能够理解其中含有的所有编解码器(即,能够解析其视频和经编码音频内容以及元数据)的情况下生成的,以便对其执行拼接。这为拼接的实施留下了很大的误差空间,并导致多路复用器(其执行多路复用以生成传输流或其它AV位流)与拼接器之间的互操作性出现许多问题。
本发明的典型实施例可以包含在被配置成向终端用户递送媒体(包含音频和视频)内容的网络(例如,内容递送网络或“CDN”)元件中。基于网络的媒体处理(NBMP)是允许服务提供商和终端用户描述要由此类网络执行的媒体处理操作的框架。NBMP的实例是正在开发的MPEG-I第8部分基于网络的媒体处理框架。经考虑,本发明设备的一些实施例将被实施为根据本发明的实施例编程或以其它方式配置的NBMP实体(例如,MPEG NBMP实体,其可以是CDN服务器或可以包含在CDN服务器中)(例如,可选地以取决于网络和/或其它约束的方式,将I帧***到AV位流中或从AV位流中去除I帧)。NBMP从一组基于网络的媒体处理功能中描述了基于网络的媒体处理服务的组成,并使这些基于网络的媒体处理服务可通过应用编程接口(API)访问。NBMP媒体处理实体(NBMP实体)对输入到其中的媒体数据(和相关元数据)执行媒体处理任务。NBMP还提供了用于编写和配置媒体处理的控制功能。
图1是内容递送网络的框图,其中NBMP实体12根据本发明的实施例被配置成生成包含至少一个重新制作的帧的AV位流(并递送到回放装置16)。在典型实施例中,AV位流指示至少一个音频/视频节目(“节目”),并且包含(对于由此指示的每个节目)视频数据帧(其确定至少一个视频基本流)和对应的经编码音频数据帧(其确定至少一个音频基本流)。视频数据帧包含视频数据I帧(视频I帧)和视频数据P帧(视频P帧),并且经编码音频数据帧包含经编码音频数据I帧(音频I帧)和经编码音频数据的P帧(音频P帧)。AV位流的至少一个帧(视频帧中的至少一个视频帧和/或音频帧中的至少一个音频帧)已由实体12重新制作(作为重新制作的I帧或重新制作的P帧),使得包含重新制作的帧的内容片段以I帧开始并包含至少一个后续的P帧。在一些实施例中,AV位流的至少一个音频帧(但没有视频帧)已由实体12重新制作(作为重新制作的音频I帧或重新制作的音频P帧),使得包含重新制作的帧的音频内容片段以音频I帧(与对应的视频内容片段的视频I帧对齐)开始并包含至少一个后续的音频P帧。
在图1中,位流源10被配置成生成输入AV位流(例如,标准兼容传输流,例如,与MPEG标准(例如,MPEG-2标准)的版本兼容的传输流、或另一传输流、或不是传输流的输入AV位流),所述输入AV位流包含(视频数据和对应元数据的)视频帧和(例如与如AC-4格式等音频格式兼容的经编码音频数据以及元数据的)音频帧。在源10的一些实施方案中,输入AV位流以常规方式生成。在其它实施方案中,源10根据本发明的AV位流生成方法(包含通过重新制作至少一个帧)的实施例生成输入AV位流。
应当理解,考虑了图1***的许多实施方案(和变化)。例如,在一些实施方案中,在(不同位置处)耦接到网络的不同装置或***中实施元件10、12、14和16。在一个此类实施方案中:源10(或与其耦接的装置或子***)被配置成将由所述源10生成的内容(例如,经编码音频数据,或视频数据和经编码音频数据两者)和元数据打包(例如,作为具有符合MPEG-DASH、或HLS、或MMT、或另一种自适应流传输格式或方法/协议的格式的AV位流),用于通过网络递送(例如,递送到NBMP实体12);并且NBMP实体12(或与其耦接的装置或子***)被配置成将由所述实体12(包含至少一个重新制作的帧)生成的内容(例如,经编码音频数据,或视频数据和经编码音频数据两者)和元数据打包(例如,作为具有符合MPEG-DASH、或HLS、或MMT、或另一种自适应流传输格式或方法/协议的格式的AV位流),用于通过网络递送(例如,递送到回放装置16)。
对于另一个实例,在一些实施方案中,元件10和12以及任选地14被实施为耦接到网络的单个装置或***(例如,执行图3的生产单元3的功能的生产单元)。在一个此类实施方案中:源10被配置成向NBMP实体12提供包含内容(例如,经编码音频数据,或者视频数据和经编码音频数据两者)和元数据的帧;NBMP实体12被配置成(根据本发明的实施例)重新制作所述帧中的至少一个帧,由此生成经修改的帧集合;并且NBMP实体12(或与其耦合的子***)被配置成将经修改的帧集合打包(例如,作为具有符合MPEG-DASH、或HLS、或MMT、或另一种自适应流传输格式或方法/协议的格式的AV位流),用于通过网络递送(例如,递送到回放装置16)。
对于另一个实例,元件10、12和14被配置成仅生成和处理音频内容(和对应的元数据),包含通过根据本发明的实施例(在元件12中)重新制作包含经编码音频数据的至少一个帧。任选地采用视频处理子***(图1中未示出)来仅生成和处理视频内容(和对应的元数据),例如,包含通过根据本发明的实施例重新制作包含视频数据的至少一个帧。装置或子***可以耦接到元件12(并耦接到视频处理子***),并且被配置成将由元件10、12和14(以及视频处理元件)生成的帧(包含每个重新制作的帧)打包(例如,作为具有符合MPEG-DASH、或HLS、或MMT、或另一种自适应流传输格式或方法/协议的格式的AV位流),例如,用于通过网络递送(例如,递送到回放装置16)。
在一些实施方案中,省略了NBMP实体14(并且由实体14实施的所描述功能代替地由NBMP实体12执行)。
在第一示例实施例中,NBMP实体12可以被实施为单个装置,所述单个装置被配置成执行音频处理(包含音频帧重新制作)和视频处理(包含视频帧重新制作)两者,并且与此装置耦接的第二NBMP实体可以将实体12的音频输出(例如,原始AC-4位流或其它数据流)和实体12的视频输出打包成AV位流(例如,具有符合MPEG-DASH、或HLS、或MMT、或另一种自适应流传输格式或方法/协议的格式的AV位流)。在第二示例实施例中,NBMP实体12可以被实施为单个装置,所述单个装置被配置成执行第一示例实施例中的实体12和第二NBMP实体两者的功能。在第三示例实施例中,NBMP实体12被实施为第一装置,所述第一装置被配置成执行音频处理(包含音频帧重新制作),另一NBMP实体被实施为第二装置,所述第二装置被配置成执行视频处理(包含视频帧重新制作),并且与这两个装置都耦接的第三NBMP实体可以将第一装置的音频输出(例如,原始AC-4位流或其它数据流)和第二装置的视频输出打包成AV位流(例如,具有符合MPEG-DASH、或HLS、或MMT、或另一种自适应流传输格式或方法/协议的格式的AV位流)。
在一些实施方案中,在编码/打包设施处实施源10和NBMP实体12(或源10、NBMP实体12以及被配置成将实体12的输出打包成AV位流的打包***),并且实体12(或与其耦合的打包***)被配置成输出AV位流,并且回放装置16远离此设施定位。在一些其它实施方案中,在编码/打包设施处实施源10(以及被耦接和配置成将源10的输出打包成AV位流的打包***),并且NBMP实体12和回放装置16一起定位在远程回放位置处,使得NBMP 12被耦接和配置成响应于从编码/打包设施递送到回放位置的AV位流来生成包含至少一个重新制作的帧的AV位流。在这些实施方案中的任何实施方案中,NBMP实体14可以在远离NBMP实体12的位置处、或者在与NBMP 12相同的位置处实施,或者可以省略实体14(并且实体12可以被实施成执行实体14的所描述功能)。图1***的其它变化可以实施本发明的其它实施例。
接下来,对图1的***的示例实施方案进行更详细地描述。
通常,由源10生成的输入AV位流指示至少一个音频/视频节目(“节目”),并且包含视频数据帧(其确定至少一个视频基本流)和对应于视频数据的经编码音频数据帧(其确定至少一个音频基本流)。输入AV位流可以包括包含视频数据的I帧(视频I帧)、包含经编码音频数据的I帧(音频I帧)、包含视频数据的P帧(视频P帧)和包含经编码音频数据的P帧(音频P帧)的序列,或者其可以包含视频I帧和视频P帧的序列以及音频I帧的序列。输入AV位流的音频I帧可以以第一速率出现(例如,每个时间间隔X一次,如图1所指示的)。
输入AV位流可以具有打包的媒体递送格式(例如,标准化格式,例如但不限于符合MPEG-DASH、HLS或MMT方法/协议的格式,或MPEG-2传输流格式),所述打包的媒体递送格式要求AV位流的内容(音频内容或视频内容)的每个片段都以I帧开始,以在片段边界处(例如,在视频基本流的视频内容的片段的开始处(由视频I帧指示),所述开始与至少一个音频基本流中的每个音频基本流的对应音频内容的片段的开始时间(由音频I帧指示)对齐)实现无缝适配(例如,拼接或切换)。在一些情况下,输入AV位流的音频内容与输入AV位流的对应视频内容时间对齐。在一些其它情况下,输入AV位流的音频内容可能不与输入AV位流的对应视频内容时间对齐,就这种意义而言,视频I帧在流中的某个时间出现(例如,如时间戳值所指示的)但流中没有同时出现音频I帧,或者音频I帧在流中的某个时间出现(例如,如时间戳值所指示的)但流中没有同时出现视频I帧。例如,流的音频内容可以仅由音频I帧组成(例如,在NBMP实体12被配置成响应于输入AV位流、根据本发明的AV位流生成方法的以下所述的第二类实施例中的实施例生成传输流或其它AV位流时)。
从源10输出的输入AV位流通过图1的网络递送到基于网络的媒体处理(NBMP)实体12,所述实体可以被实施为CDN服务器(或包含在其中)。经考虑,在一些实施例中,NBMP实体12根据标准化格式来实施。在一个实例中,此类标准可以是MPEG兼容标准,并且NMBP实体12可以例如根据MPEG-I第8部分基于网络的媒体处理框架或此框架的任何一或多个其它未来版本被实施为MPEG NBMP实体。NBMP实体12具有被耦接成接收输入AV位流的输入12A、耦接到输入12A的缓冲器12B、耦接到缓冲器12B的处理子***12C以及耦接到子***12C的打包子***12D。在缓冲器12B中缓冲(以非暂时性方式存储)递送到输入12A的AV位流的片段。缓冲片段从缓冲器12B断言到处理子***12C(处理器)。子***12C根据本发明的实施例被编程(或以其它方式配置)成以取决于网络和/或其它约束的方式对输入AV位流的至少一个帧执行重新制作(由此生成至少一个重新制作的帧),并且将不修改的输入AV位流的任何媒体内容和元数据传递到子***12D。从子***12C输出的媒体内容和元数据(例如,输入AV位流的原始帧和在子***12C中生成的每个重新制作的帧)被提供给打包子***12D,以便打包成AV位流。子***12D被编程(或以其它方式配置)成生成AV位流(要递送到回放装置16),以包含每个所述重新制作的帧(例如,包含通过将至少一个重新制作的I帧***AV位流中,和/或用重新制作的P帧替换输入AV位流的至少一个I帧),并且执行任何其它所需的打包(包含任何所需的元数据生成),以生成具有所需格式(例如,MPEG-DASH格式)的AV位流。网络约束(和/或其它约束)由控制位指示,所述控制位通过图1的网络从另一个NBMP实体(例如,图1的NBMP实体14)递送到NBMP实体12。此类约束(例如,指示用于通过网络递送位流的可用位率的约束)的实例将在下文进行描述。NBMP实体12被配置成以受从实体14递送的控制位约束的方式执行控制功能以编写和配置执行本发明方法的所实施的实施例所需的媒体处理操作(包含帧重新制作)。
图1的源10、NBMP实体12、NBMP实体14和回放装置16中的每一个都是如本文所定义的音频/视频处理单元(“AVPU”)。源10、NBMP实体12和回放装置16中的每一个都可以被配置成对由此生成或向其提供的AV位流执行适配(例如,切换或拼接),从而生成经适配的AV位流。源10、NBMP实体12、NBMP实体14和回放装置16中的每一个的实施例都包含缓冲存储器和耦接到缓冲存储器的至少一个音频/视频处理子***,其中缓冲存储器以非暂时性方式存储AV位流的至少一个片段,所述AV位流已经通过用于生成AV位流的本发明方法的实施例生成。
NBMP实体12被耦接和配置成根据本发明的AV位流生成方法的实施例生成AV位流(响应于从源10递送的输入AV位流),并且将生成的AV位流(例如,断言到网络以通过网络递送)递送到回放装置16。回放装置16被配置成执行AV位流的音频和/或视频内容的回放。回放装置16包含输入16A、耦接到输入16A的缓冲器16B和耦接到缓冲器16B的处理子***16C。在缓冲器16B中缓冲(以非暂时性方式存储)递送到输入16A的AV位流的片段。经缓冲片段从缓冲器16B断言到处理子***16C(处理器)。子***16C被配置成解析AV位流并对AV位流的经编码音频内容和/或经编码视频内容执行任何必要的解码,并且回放装置16可以包含用于显示AV位流的经解析(或经解析和经解码)视频内容的显示器。回放装置16(例如,子***16C,或图1中未具体示出的装置16的另一个子***)还可以被配置成呈现AV位流的经解析(和经解码)音频内容以生成至少一个扬声器馈送,并且任选地包含至少一个用于响应于每个此类扬声器馈送而发出声音的扬声器。
如上所述,回放装置16的一些实现方案被配置成对根据本发明的实施例生成的AV位流的音频和/或视频内容进行解码。因此,装置16的这些实施方案是被配置成对根据本发明的实施例生成的AV位流的音频和/或视频内容进行解码的解码器的实例。
通常,从NBMP实体12输出的AV位流具有打包的媒体递送格式(例如,符合MPEG-DASH、HLS或MMT方法/协议的格式,或者MPEG-2传输流格式),所述打包的媒体递送格式要求AV位流的内容(音频内容或视频内容)的每个片段都以I帧开始。通常,AV位流的视频基本流的视频内容的每个片段都以视频I帧(其可以是根据本发明的实施例生成的重新制作的视频I帧)开始,所述视频I帧与(AV位流的至少一个音频基本流中的每个音频基本流的)对应音频内容的至少一个片段的开始(由音频I帧指示,所述音频I帧可以是根据本发明的实施例生成的重新制作的音频I帧)时间对齐。
例如,在一些实施例中,实体12被配置成根据需要将输入AV位流的音频P帧重新制作为音频I帧。例如,实体12可以识别输入AV位流中的视频I帧,并确定需要与视频I帧时间对齐的音频I帧。在这种情况下,实体12可以将输入AV位流的音频P帧(与视频I帧时间对齐)重新制作为音频I帧,并将重新制作的音频I帧***要递送到回放装置16的AV位流中,以代替音频P帧。
对于另一个实例,实体12可以被配置成识别输入AV位流的音频I帧(或音频I帧和视频I帧)以第一速率出现(例如,每个时间间隔X一次,如图1所指示的),但是要递送到回放装置16的AV位流中的适配点(例如,拼接点)需要以更大的速率出现(例如,每个时间间隔Y一次,如图1所指示的,其中Y大于X)。在这种情况下,实体12可以将输入AV位流的音频P帧(或音频P帧,以及与音频P帧时间对齐的视频P帧)重新制作为音频I帧(或音频I帧,以及与音频I帧时间对齐的视频I帧),并代替原始P帧将重新制作的音频I帧(或时间对齐的重新制作的音频I帧和重新制作的视频I帧的每个集合)***要递送到回放装置16的AV位流中,由此以所需的速率(Y)在AV位流中提供适配点。
本发明方法的其它实施例(NBMP实体12可以被配置成执行这些实施例)将在下文进行描述。
图2是MPEG-2传输流的实例的图。图1的NBMP实体12的一些实施例(和图3的以下所述的生产单元3的一些实施例)被配置成生成MPEG-2传输流,包含通过重新制作至少一个视频或音频帧。
如上所述,根据本发明的实施例生成(例如,通过图1的NBMP实体12或图3的生产单元3)的AV位流(例如,传输流)可以指示至少一个音频/视频节目(“节目”),并且包含(对于由此指示的每个节目)视频数据帧(其确定至少一个视频基本流)和对应的经编码音频数据帧(其确定至少一个音频基本流)。视频数据帧(例如,图2的视频帧#1、#2、#3、#4、#5和#6)可以包含视频数据I帧(例如,图2的视频I帧#1和#5),并且经编码音频数据帧(例如,被识别为图2的AC-4帧#1、AC-4帧#2、AC-4帧#3、AC-4帧#4、AC-4帧#5和AC-4帧#6的音频帧)可以包含经编码音频数据I帧(例如,图2的音频I帧AC-4帧#1、AC-4帧#3和AC-4帧#5)。
为了生成图2的MPEG-2传输流,音频帧被打包成PES数据包(在图2的顶行中以放大版本示出),并且视频帧被打包成PES数据包(在图2的底行中以放大版本示出)。指示音频帧的PES数据包中的每个PES数据包具有不同的PTS值0、3600、7200、10800、14400和18000之一,并且指示视频帧的PES数据包中的每个PES数据包具有不同的PTS值0、3600、7200、10800、14400和18000之一。
每个PES数据包被打包成一组传输流(TS)数据包,并且MPEG-2传输流包括TS数据包的指示序列(在图2的中间行中示出)。处理传输流的传输流拼接器可能会在标有条形S1和S2的位置处进行拼接,所述位置中的每个位置刚好在视频I帧之前出现,并且因此不会干扰音频。为了简化实例,图2中指示的所有帧都是PES数据包对齐的(即使在不需要PES数据包对齐的I帧之间)。
图2的传输流具有(即,满足)I帧同步的性质(即,视频和音频编码同步,使得对于由传输流指示的每个节目、对于节目的视频基本流中的每个视频I帧,在节目的音频基本流中存在至少一个匹配音频I帧(即,至少一个与视频I帧同步的音频I帧)),就这种意义而言,对于由传输流指示的每个节目,指示所述节目的传输流的数据具有I帧同步的性质。具有此性质的传输流(例如,根据本发明的实施例生成的传输流)可以(例如,通过图3的拼接器7)无缝拼接或者以其它方式适配而无需修改传输流的任何节目的任何音频基本流。
图3是音频处理链(音频数据处理***)的实例的框图,其中***的元件中的一或多个元件可以根据本发明的实施例进行配置。***包含以下元件,所述元件如所示出的耦接在一起:捕获单元1、生产单元3(包含编码子***)、递送子***5和拼接单元(拼接器)7,以及任选地捕获单元1'、生产单元3'(包含编码子***)和递送子***5'。在所示***的变型中,元件中的一或多个元件被省略,或者包含另外的处理单元(例如,子***5'被省略,并且单元3'的输出被子***5递送到单元7)。
捕获单元1通常被配置成生成包括音频内容的PCM(时域)样本和视频数据样本,并输出PCM音频样本和视频数据样本。例如,PCM样本可以指示由麦克风捕获的多个音频流。通常由广播员操作的生产单元3被配置成接受PCM音频样本和视频样本作为输入,并生成和输出指示音频和视频内容的AV位流。在图3***的一些实施方案中,生产单元3被配置成输出MPEG-2传输流(例如,根据AC-4标准对其音频内容进行编码使得MPEG-2传输流的每个音频基本流包括具有AC-4格式的经压缩音频数据的MPEG-2传输流)。
对根据本发明的各种实施例中的任一实施例生成的AV位流(例如,MPEG-2传输流)的音频内容执行的编码可以是AC-4编码,或者其可以是与视频对齐的任何其它音频编码(即,使得视频的每一帧对应于经编码音频的整数(即,非分数)帧(可以执行AC-4编码以便具有此后一种属性)。
从单元3输出的AV位流可以包含指示音频内容中的至少一些音频内容的经编码(例如,经压缩)音频位流(在本文中有时被称为“主混合”)和指示视频内容的视频位流,以及可选地指示音频内容中的一些音频内容的至少一个另外的位流或文件(在本文中有时被称为“副混合”)。指示音频内容的AV位流的数据(和每个生成的副混合的数据,如果生成的话)在本文中有时被称为“音频数据”。
AV位流(例如,其主混合)的音频数据可以指示一或多组扬声器通道,和/或音频样本流指示对象通道。
如图4所示,图3的生产单元3的实施方案包含编码子***3B,所述编码子***被耦接成从单元1接收视频和音频数据。子***3B被配置成对音频数据(以及任选地对视频数据)执行必要的编码,以生成经编码音频数据帧以及任选地生成经编码视频数据帧。(图4的)单元3的重新制作和多路复用子***3C具有:输入3D,所述输入被耦接成接收从子***3B输出的数据的帧(例如,音频帧,或音频帧和视频帧),以及子***(处理器),所述子***耦接到输入并被配置成根据实施本发明的实施例的需要重新制作从子***3B输出的帧中的一或多个帧,并根据本发明的实施例将子***3B的输出(或子***3B的输出的帧,以及其生成的、用于替换从子***3B输出的帧之一的每个重新制作的帧)打包(包含通过封包和多路复用)为AV位流。例如,AV位流可以是MPEG-2传输流,所述传输流的音频内容可以根据AC-4标准进行编码,使得MPEG-2传输流的每个音频基本流包括具有AC-4格式的经压缩音频数据。缓冲器3A耦接到子***3C的输出。在缓冲器3A中缓冲(以非暂时性方式存储)在子***3C中生成的AV位流的片段。因为单元3的子***3C的输出是包含在单元3中生成的经编码音频内容(并且通常还包含与其打包的视频内容)的AV位流,所以单元3是音频编码器的实例。由单元3生成的AV位流通常(在缓冲器3A中缓冲之后)断言到递送***(例如,图3的递送子***5)。
图3的递送子***5被配置成存储和/或发射(例如,通过网络广播或递送)由单元3生成的传输位流(例如,如果生成任何副混合,则包含其每个副混合)。
捕获单元1'、生产单元3'(包含缓冲器3A')和递送子***5'分别执行捕获单元1、生产单元3和递送子***5的功能(并且通常与其相同)。其可以操作用于生成(并递送到拼接器7的输入8B)第二AV位流(例如,根据本发明的实施例生成的传输流或其它AV位流),所述第二AV位流通过拼接器7与第一AV位流(例如,第一传输流或其它AV位流)拼接,所述第一AV位流在生产单元3中生成(例如,根据本发明的实施例)并递送到拼接器7的输入8A。
图3的拼接器7包含输入8A和8B。输入8A被耦接成接收(例如,读取)由递送子***5递送到拼接器7的至少一个AV位流,并且输入8B被耦接成接收(例如,读取)由递送子***5'递送到拼接器7的至少一个AV位流。拼接器7还包含如图3所示耦接的缓冲存储器(缓冲器)7A、缓冲存储器(缓冲器)7D、解析子***7E、解析子***7B和拼接子***7C。任选地,拼接器7包含存储器9,所述存储器被耦接(如所示出的)和配置成存储要拼接的AV位流。在拼接器7的典型操作期间,在缓冲器7A和/或缓冲器7D中缓冲(以非暂时性方式存储)在输入8A和/或8B处接收到的至少一个所选AV位流的片段(例如,在输入8A和8B处接收到的AV位流的所选序列的片段序列)。经缓冲片段从缓冲器7A断言到解析子***7B以供解析,并且经缓冲片段从缓冲器7D断言到解析子***7E。任选地,存储在存储器9中的至少一个AV位流的片段断言到解析子***7B以供解析(或者存储在存储器9中和/或在输入8A处接收到的AV位流的所选序列的片段从缓冲器7A和/或存储器9断言到解析子***7B以供解析)。通常,已经根据本发明的实施例生成了要解析(在子***7B或7E中)和拼接(在拼接子***7C中)的每个AV位流。
拼接器7(例如,其子***7B和7E和/或子***7C)也被耦接和配置成确定要拼接的每个AV位流中的拼接点(例如,由递送子***5递送到拼接器7的第一传输流和/或由递送子***5'递送到拼接器7的第二传输流,或者存储在存储器9中的第一传输流和/或由递送子***5或5'递送到拼接器7的第二传输流),并且子***7C被配置成拼接一或多个流以生成至少一个经拼接的AV位流(图3的“经拼接的输出”)。在一些情况下,拼接省略了单个AV位流的片段,并且拼接器7被配置成确定AV位流的出点(即,时间)和AV位流的入点(稍后的时间),并通过将在出点之前出现的流片段与在入点之后出现的流片段连接来生成经拼接的AV位流。在其它情况下,拼接在第一AV位流的片段之间(或者在第一AV位流与第三AV位流的片段之间)***第二AV位流,并且拼接器7被配置成确定第一AV位流的出点(即,时间)、第一(或第三)AV位流的入点(稍后的时间)、第二AV位流的入点(即,时间)和第二AV位流的出点(稍后的时间),并生成经拼接的AV位流,所述经拼接的AV位流包含在所述流的出点之前出现的第一AV位流的数据、在所述流的入点与出点之间出现的第二AV位流的数据以及在第一(或第三)AV位流的入点之后出现的第一(或第三)AV位流的数据。
在一些实施方案中,拼接器7被配置成根据本发明拼接方法的实施例拼接一或多个AV位流,所述一或多个AV位流中的至少一个AV位流已根据本发明的实施例来生成,以生成至少一个经拼接的AV位流(图3的“经拼接的输出”)。在本发明拼接方法的此类实施例中,每个拼接点(例如,入点或出点)出现在音频内容片段的音频I帧(其可以是根据本发明的实施例生成的重新制作的帧)处,所述音频I帧与对应的视频内容片段的视频I帧(其可以是根据本发明的实施例生成的重新制作的帧)对齐。通常,每个此类音频内容片段包含音频I帧之后的至少一个音频P帧,并且每个此类视频内容片段包含视频I帧之后的至少一个视频P帧。
本发明的一些实施例涉及一种用于适配(例如,拼接或切换)根据用于生成AV位流的本发明方法的任何实施例生成的AV位流(例如,MPEG-2传输流)由此生成经适配的(例如,经拼接的)AV位流(例如,被配置成执行此类拼接方法的图3的拼接器7的实施方案的输出)的方法。在典型实施例中,在不修改AV位流的任何经编码音频基本流的情况下执行适配(但是在一些情况下,适配器可能需要以不包含修改AV位流的任何经编码音频基本流的数据的方式执行AV位流的再复用或其它修改)。
通常,回放***将解码并呈现从拼接器7输出的经拼接的AV位流。回放***通常包含用于解析AV位流的音频内容和视频内容的子***、被配置成对音频内容进行解码并呈现的子***以及被配置成对视频内容进行解码并呈现的另一个子***。
图7是根据本发明的实施例的用于生成具有MPEG-DASH格式的AV位流的***的框图。在图7的***中,音频编码器20被耦接成接收音频数据(例如,来自图4的单元1的实施例或另一个捕获单元),并且视频编码器21被耦接成接收视频数据(例如,来自图4的单元1的实施例或另一个捕获单元)。编码器20被耦接和配置成对音频数据执行音频编码(例如,AC-4编码),以生成经编码音频数据帧,并将所述帧断言到DASH打包器22。编码器21被耦接和配置成对视频数据执行视频编码(例如,H265视频编码),以生成经编码视频数据帧,并将帧断言到DASH打包器22。
打包器22是音频/视频处理单元,所述音频/视频处理单元包含如所示耦接的I帧转换子***24、分段器28、音频分析器26、MPEG-4多路复用器30和MPD生成子***32。
分段器28是视频处理子***(处理器),所述视频处理子***被编程(或以其它方式配置)成确定从编码器21提供给分段器28的视频内容(视频帧)的片段,并将所述片段提供给MPEG-4多路复用器30。通常,片段中的每个片段都以视频I帧开始。
I帧转换子***24是音频处理子***(处理器),所述音频处理子***根据本发明的实施例被编程(或以其它方式配置)成对从编码器20提供给子***24的至少一个音频帧执行重新制作(由此生成至少一个重新制作的帧),并将其未修改的帧中的任何帧(从编码器20输出)传递到音频分析器26。通常,子***24执行重新制作,以确保存在与分段器28识别的每个视频I帧对齐的音频I帧(例如,重新制作的I帧)。向音频分析器26提供从子***24输出的音频内容和元数据(即,从编码器20输出的原始音频帧和在子***24中生成的每个重新制作的音频帧)。
向音频分析器26提供从子***24输出的音频帧(例如,来自编码器20的原始音频帧和在子***24中生成的每个重新制作的音频帧)。通常,音频帧包含经AC-4编码音频数据。分析器26被配置成分析帧的元数据(例如,AC-4元数据),并使用分析的结果来生成其确定需要与音频帧打包(在MPEG-4多路复用器30中)的任何新的元数据。向MPEG-4多路复用器30提供从子***24输出的音频帧和在分析器26中生成的任何新的元数据。
MPEG-4多路复用器30被配置成多路复用从分析器26输出的音频帧(以及在分析器26中生成的任何新的元数据)和从分段器28输出的视频帧,以生成MPEG-4文件格式的经多路复用的音频和视频内容(以及元数据),用于包含在具有MPEG-DASH格式的AV位流中。
MPD生成子***32被耦接成接收从多路复用器30输出的经多路复用的内容,并且被配置成生成包含经多路复用的内容和元数据的具有MPEG-DASH格式(并指示MPEG-DASH媒体演示)的AV位流。
在用于生成AV位流(例如,具有MPEG-H格式或MPEG-D USAC格式的AV位流)的一些实施例中,将音频P帧重新制作为重新制作的音频I帧的步骤如下执行。至少一个先前音频P帧被复制到P帧中(例如,在P帧的扩展有效负载中)。因此,得到的重新制作的I帧包含每个先前P帧的经编码音频内容,并且得到的重新制作的I帧包含不同于P帧的一组元数据(即,其包含每个先前P帧的元数据以及P帧的原始元数据)。在一个实例中,可以使用MPEG-H标准的第5.5.6节(“音频预滚(Audio Pre-Roll)”)中描述的AudioPreRoll()语法元素来执行此类将至少一个先前P帧复制到P帧中。经考虑,图7的子***24的一些实施方案以这种方式执行P帧的重新制作(作为重新制作的I帧)。
在一些实施例中,本发明方法包含:(a)提供帧(向编码器(例如,图4的生产单元3的子***3C的实施例)或NBMP实体(例如,图1的NBMP实体12的实施例)例如发射、递送或以其它方式提供帧或包含帧的输入传输流或其它输入AV位流,或生成帧(例如,在图4的生产单元3的实施例中)),其中所述帧中的每个帧指示音频内容或视频内容,并且其中所述帧包含第一解码类型的帧;以及(b)生成AV位流(例如,通过图4的单元3的实施例对由此生成的帧的操作,或者通过图1的NBMP实体12的实施例对向其提供的输入AV位流帧的操作),包含通过将第一解码类型的帧中的至少一个帧重新制作为不同于第一解码类型的第二解码类型的重新制作的帧(例如,如果所述第一解码类型的帧之一是P帧,则重新制作的帧是I帧,或者如果所述第一解码类型的帧之一是I帧,则重新制作的帧是P帧),使得所述AV位流包括包含重新制作的帧的内容片段,并且内容片段以I帧开始并包含I帧之后的至少一个P帧。例如,步骤(b)可以包含重新制作至少一个音频P帧使得所述重新制作的帧是音频I帧、或者重新制作至少一个音频I帧使得重新制作的帧是音频P帧、或者重新制作至少一个视频P帧使得重新制作的帧是视频I帧、或者重新制作至少一个视频I帧使得重新制作的帧是视频P帧的步骤。在一些此类实施例中,步骤(a)包含以下步骤:在第一***(例如,图4的生产单元3或图1的源10的实施例)中,生成包含指示内容的帧的输入AV位流;以及向第二***(例如,图1的NBMP实体12的实施例)递送(例如,发射)输入AV位流;并且步骤(b)在第二***中执行。
在一些此类实施例中,至少一个音频P帧(包含元数据和经编码音频数据)被重新制作为音频I帧(包含相同的经编码音频数据和不同的元数据)。经编码音频数据可以是经AC-4编码音频数据。例如,在本发明的一些实施例中,通过用不同的元数据集合(例如,由元数据组成或包含元数据的不同的元数据集合,其从前面的音频I帧复制或通过修改从前面的音频I帧获得的元数据而生成)替换所述音频P帧的元数据中的所有或一些元数据(其可以在所述音频P帧的报头中),而不修改所述帧的经编码音频内容(例如,不通过对此类内容进行解码并且然后对经解码内容进行重新编码来修改所述经编码音频内容),音频P帧被重新制作为重新制作的音频I帧。在实施例中的一些其它实施例中,至少一个音频I帧(包含元数据和经编码音频数据)被重新制作为音频P帧(包含相同的经编码音频数据和不同的元数据)。此经编码音频数据可以是经AC-4编码音频数据。
音频P帧的经AC-4编码音频数据(其音频内容是经AC-4编码音频数据)可以使用仅来自P帧内的信息来解码,但是在一些情况下(即,当编码假设来自先前I帧的频谱扩展元数据和/或耦接元数据可用于对经编码音频数据进行解码时),经解码音频在回放时听起来不会完全像原始编码时原本预期的一样。在这些情况下,为了使经解码版本的P帧的经编码音频内容在回放时听起来像原本预期的一样,来自先前I帧的频谱扩展元数据(和/或耦接元数据)通常需要在解码期间可用(并且通常需要被使用)。此类频谱扩展元数据的实例是ASPX元数据,并且此类耦接元数据的实例是ACPL元数据。
因此,在本发明的一些实施例中,通过从先前音频I帧复制元数据并适当地***经复制的元数据来代替P帧的原始元数据中的所有或一些原始元数据来执行重新制作音频P帧(例如,其音频内容是经AC-4编码音频数据的音频P帧)以生成重新制作的音频I帧(而不修改P帧的音频内容)。当P帧的原始编码不要求来自先前I帧的特定元数据(例如,频谱扩展元数据和/或耦接元数据)和来自P帧本身的对应元数据两者都可用以(以不会导致在回放经解码音频时不可接受地改变原始预期声音的方式)对P帧的(以及因此重新制作的I帧的)经编码音频数据进行解码时,通常会执行这种类型的重新制作。然而,在P帧(例如,其音频内容是经AC-4编码音频数据的音频P帧)的原始编码确实要求来自先前I帧的特定元数据(例如,频谱扩展元数据和/或耦接元数据)和来自P帧本身的对应元数据两者都可用以(以不会导致在回放经解码音频时不可接受地改变原始预期声音的方式)对P帧的经编码音频数据进行解码的情况下,根据本发明的一些实施例重新制作P帧(作为重新制作的音频I帧)包含以下步骤:保存来自先前音频I帧的特定元数据(例如,频谱扩展元数据和/或耦接元数据);通常使用P帧的原始元数据中的至少一些原始元数据来修改所保存的元数据(由此生成经修改的元数据,所述经修改的元数据当包含在重新制作的I帧中时足以使得能够使用仅来自重新制作的I帧内的信息对P帧的(以及因此I帧的)经编码音频数据进行解码);以及***经修改的元数据来代替P帧的原始元数据中的所有或一些原始元数据。类似地,经考虑,根据本发明的一些实施例重新制作视频P帧(作为重新制作的视频I帧)包含以下步骤:保存来自先前视频I帧的特定元数据;例如使用P帧的原始元数据中的至少一些原始元数据来修改所保存的元数据(由此生成经修改的元数据,所述经修改的元数据当包含在重新制作的I帧中时足以使得能够使用仅来自重新制作的I帧内的信息对P帧的(以及因此I帧的)视频内容进行解码);以及***经修改的元数据来代替P帧的原始元数据中的所有或一些原始元数据。
可替代地,每个P帧(其可以根据本发明的实施例来重新制作)的编码以这样的方式执行,即来自另一帧(例如,先前I帧)的元数据可以简单地从其它帧复制(而不修改经复制的元数据)到P帧中,以替换P帧的原始元数据(由此将P帧重新制作为I帧),使得能够以在回放经解码内容时确实导致(与编码时预期的)不可接受的感知差异的方式对P帧的(以及因此重新制作的I帧的)内容(音频或视频内容)进行解码。例如,可以在得到的音频帧中不包含频谱扩展元数据和/或耦接元数据的情况下执行(可以根据本发明的实施例重新制作的帧的)音频数据的AC-4编码。这允许通过从先前音频I帧复制元数据并适当地***经复制的元数据来代替P帧的原始元数据中的所有或一些原始元数据来重新制作音频P帧(如在实例中已经生成的音频P帧),由此生成重新制作的音频I帧(而不修改P帧的音频内容)。在实例中,通过以稍高的位率为代价不利用通道间依赖性而避免了在编码器中修改(重新编码)来自先前I帧的元数据的需要(以便重新制作P帧)。
在第一类实施例(在本文中有时被称为实施“方法1”的实施例)中,本发明方法包含以下步骤:(a)生成(例如,以常规方式)指示内容的音频I帧和音频P帧(例如,在图4的生产单元3的实施例的子***3B中);以及(b)生成AV位流(例如,在图4的生产单元3的实施例的子***3C中),包含通过将所述音频P帧中的至少一个音频P帧重新制作为重新制作的音频I帧,使得所述AV位流包括包含所述重新制作的音频I帧的内容的片段,并且所述内容的片段以所述重新制作的音频I帧开始。通常,所述内容的片段还包含所述重新制作的音频I帧之后的所述音频P帧中的至少一个音频P帧。步骤(a)和(b)可以在音频编码器(例如,包含或实施音频编码器的生产单元)中执行,包含通过操作所述音频编码器来执行步骤(a)。
在实施方法1的一些实施例中,步骤(a)在生成所述音频I帧和所述音频P帧的音频编码器中(例如,在实施为AC-4编码器的、图4的生产单元3的子***3B中)执行,步骤(b)包含将所述音频P帧中的至少一个音频P帧(对应于需要音频I帧的时间)重新制作为所述重新制作的音频I帧,并且步骤(b)还包含将所述重新制作的音频I帧而不是所述音频P帧中的所述一个音频P帧包含在所述AV位流中的步骤。
实施方法1的一些实施例包含以下步骤:在第一***(例如,生产单元或编码器,例如,图4的生产单元3的实施例或图7的***)中,生成包含在步骤(a)中生成的音频I帧和音频P帧的输入AV位流;向第二***(例如,图1的NBMP实体12的实施例)递送(例如,发射)输入AV位流;以及在所述第二***中执行步骤(b)。通常,生成输入AV位流的步骤包含将经编码音频内容(由在步骤(a)中生成的音频I帧和音频P帧指示)和视频内容打包在一起以生成输入AV位流,并且在步骤(b)中生成的AV位流包含与所述视频内容打包在一起的所述经编码音频内容。在实施方法1的一些实施例中,AV位流的至少一个音频帧是重新制作的音频I帧(但是AV位流的视频帧不是重新制作的帧),并且AV位流的音频内容片段以重新制作的音频I帧(与AV位流的对应视频内容片段的视频I帧对齐)开始并包含至少一个后续的音频P帧。
在第二类实施例(在本文中有时被称为实施“方法2”的实施例)中,本发明方法包含以下步骤:(a)生成(例如,以常规方式)指示内容的音频I帧(例如,在图4的生产单元3的实施例的子***3B中);以及(b)生成(例如,在图4的生产单元3的实施例的子***3C中)AV位流,包含通过将所述音频I帧中的至少一个音频I帧重新制作为重新制作的音频P帧,使得所述AV位流包括包含所述重新制作的音频P帧的内容的片段,并且所述内容的片段以在步骤(a)中生成的所述音频I帧之一开始。步骤(a)和(b)可以在音频编码器(例如,包含或实施音频编码器的生产单元)中执行,包含通过操作所述音频编码器来执行步骤(a)。
在实施方法2的一些实施例中,步骤(a)在生成所述音频I帧的音频编码器(例如,在实施为AC-4编码器的、图4的生产单元3的子***3B中)中执行,并且步骤(b)包含重新制作对应于除片段边界之外的时间(并且因此不出现在片段边界处)的所述音频I帧中的每个音频I帧,由此确定至少一个重新制作的音频P帧,并且所述生成所述AV位流的步骤包含将所述至少一个重新制作的音频P帧包含在所述AV位流中的步骤。
实施方法2的一些实施例包含以下步骤:在第一***(例如,生产单元或编码器,例如,图4的生产单元3的实施例或图7的***)中,生成包含在步骤(a)中生成的音频I帧的输入AV位流;向第二***(例如,图1的NBMP实体12的实施例)递送(例如,发射)输入AV位流;以及在所述第二***中执行步骤(b)。通常,生成输入AV位流的步骤包含将经编码音频内容(由在步骤(a)中生成的音频I帧指示)和视频内容打包在一起以生成输入AV位流,并且在步骤(b)中生成的AV位流包含与所述视频内容打包在一起的所述经编码音频内容。在一些实施例中,所述AV位流的至少一个音频帧(但没有视频帧)已被重新制作(作为重新制作的音频P帧),使得包含所述重新制作的音频P帧的音频内容片段以音频I帧(与对应的视频内容片段的视频I帧对齐)开始并包含音频I帧之后的至少一个重新制作的音频P帧。
在第三类实施例(在本文中有时被称为实施“方法3”的实施例)中,本发明AV位流生成方法包含生成(或提供)混合帧,所述混合帧允许将P帧包含在AV位流中,包含通过选择(或以其它方式使用)数据“块”。如本文所使用的,数据“块”可以是或包含混合帧之一的数据、或者指示混合帧的帧的至少一个序列(例如,两个子流)的数据、或者所述至少一个序列的预定义部分(例如,在帧包含经AC-4编码音频数据的情况下,整个子流可以包括整个数据块)。在一个实例中,方法3包含生成混合帧,以确保AV位流的相邻帧相匹配。在典型实施例中,编码器生成混合帧(例如,指示混合帧的流)而无需双重处理,因为许多处理只需要进行一次。在一些实施例中,混合帧含有用于P帧和I帧的公共数据的一个实例。在一些实施例中,打包器可以从混合帧(或指示包含所述混合帧的多个混合帧的帧序列)的至少一个数据块中合成I帧或P帧,例如,其中块不包括整个I帧或P帧。
例如,图6是一组十个混合帧的图,并且图6A是另一组十个此类混合帧的图。在方法3的典型实施例中,混合帧(例如,图6的混合帧,或图6A的混合帧)由编码器(例如,图7的音频编码器20)的实施方案生成,并且打包器(例如,图7的打包器22的实施方案)生成AV位流,包含通过选择混合帧中的至少一个混合帧的至少一个P帧。
参考图6和6A,在一些实施例中,每个混合帧可以包括:
两份I帧。例如,图6的混合帧H1、H5和H9中的每个混合帧都包含两份I帧(都标记为“I”);或
一个I帧。例如,图6A的混合帧H'1、H'5和H'9中的每个混合帧都由一个I帧(标记为“I”)组成;或
一个I帧(包含经编码音频数据和元数据)和一个P帧(包含相同的经编码音频数据但不同的元数据)。例如,除了帧H1、H5或H9之外的图6的每个混合帧和除了H'1、H'5和H'9之外的图6A的每个混合帧包含此类I帧(标记为“I”)和此类P帧(标记为“P”)。
对于混合帧(例如,图6实例或图6A实例中所示的类型),当打包器(或其它AV位流生成***,其可以是另一***的子***)确定在某一时间应该包含I帧(在生成的AV位流中)时,打包器可以从对应于相关时间的一个混合帧(其先前已经由编码器生成并且可供选择)中选择I帧。当***确定在某一时间应该包含P帧(在生成的AV位流中)时,***可以:从对应于相关时间的一个混合帧中选择P帧(如果混合帧包含P帧);或者将此类混合帧的I帧重新制作为重新制作的P帧。在一些实施例中,重新制作可以包含从另一混合帧复制元数据,或者修改从先前帧获得的元数据。
在根据方法3生成包含经AC-4编码音频的混合帧(例如,经AC-4编码音频子流的混合帧)的编码器(或其它***或装置)的一些实施方案中,编码器(或其它***或装置)可以在每个混合帧(或至少一些混合帧)中包含以下类型的元数据:
ASF(音频频谱前端)元数据。如果不需要恒定位率,则在混合帧的I帧和P帧中,整个sf_info和sf_data部分是相同的。如果需要恒定位率,则I帧的sf_data部分可以补偿I帧大小开销,并且可以更小使得整个I帧的大小与对应的P帧的大小相同。在这两种情况下,sf_info部分是相同的,以确保窗口形状完美匹配;
ASPX(光谱扩展)元数据。混合帧的I帧包含与混合帧的P帧的aspx_config相匹配的aspx_config。I帧的aspx_data仅使用帧内编码,而P帧的aspx_data可以使用帧内编码或帧间编码。这通常不会给编码器造成额外的开销,因为编码器通常执行这两种方法来选择位率效率最高的一种;以及
ACPL(耦接)元数据。混合帧的I帧包含与混合帧的P帧的acpl_config相匹配的acpl_config。acpl_framing_data在P帧和I帧中是相同的。I帧的acpl_ec_data的所有实例都被限制为diff_type=DIFF_FREQ(仅帧内编码)。
在一些实施例中,根据方法3生成包含经AC-4编码音频的混合帧(例如,经AC-4编码音频子流的混合帧)的编码器(或其它***或装置)可以在单个过程中产生两种帧类型(例如,I帧流和对应的P帧流)。对于像ASPX或ACPL这样的参数编码工具,帧间编码和帧内编码从同一组数据生成。一些组件(例如,常规组件)被配置成生成两组数据(一组I帧和一组对应的P帧),并且稍后决定哪个使用更少的位。经帧内编码音频总是包含在包含I帧的混合帧中。
在根据方法3生成混合帧的编码器(或其它***或装置)中,其它分析工具(例如,ASPX中的帧生成器或ASF中的块切换决策器)可以只运行一次。为了完美匹配,在I帧和对应的P帧中都使用了结果和决策。
位率和缓冲控制也可以只运行一次(当生成允许帧间编码的P帧流时)。结果还可以用于同样生成的所有I帧流。为了防止音频质量下降,当确定用于P帧的ASF编码的目标位时,可以考虑I帧的开销。
为实施方法3而生成的混合帧序列(例如,由I帧序列和对应的P帧序列确定)可以具有AC-4元数据TOC(内容表)格式或在单个流中组合I帧和对应的P帧的一些其它包装器。
在本发明的另一个实施例中,混合帧序列中的每个帧都含有报头,所述报头可以独立于底层媒体格式,并且含有如何从此类混合帧中提供的数据中生成I帧或P帧的描述。描述可以含有用于通过复制数据范围或通过从混合帧中删除数据范围来合成I帧的一或多个命令。描述还可以含有用于通过复制数据范围或通过从混合帧中删除数据范围来合成P帧的一或多个命令。然后,打包器可以通过遵循此类混合帧的报头中的指令,在不知道底层媒体格式的情况下合成I帧或P帧。例如,可以使用ISOBMFF中的提示音轨(Hint-Track)。
在一个帧选择实施方案中,编码器同时生成P帧流和对应的I帧流(使得两个流一起确定混合帧序列)。如果需要满足缓冲器模型要求,则每对对应帧(每个I帧和与其对应的P帧)中的帧具有相等的帧大小。每当需要I帧时,多路复用器就从所有I帧流(从编码器输出)中选择帧。如果多路复用不需要I帧,则可以(例如,从来自编码器的全P流中)选择P帧。帧替换实施方案的好处是多路复用器具有最低的复杂性。缺点是从编码器到多路复用器的链路带宽加倍。
在另一个帧选择(块替换)实施方案中,对多路复用器可用的混合帧包含I帧、对应的P帧(“I帧替换”数据块)和用于I帧替换的指令(选择一或多个P帧来代替一或多个对应的I帧)。此方法需要选择没有字节对齐的I帧替换数据块,并且可能需要在替换过程中对现有的P帧数据的大部分进行位移位。
在一些实施例中,一种用于生成AV位流的方法(其实施方法3)包含以下步骤:
(a)提供帧,其中所述帧中的至少一个帧是包含P帧和I帧的混合帧,其中所述I帧指示内容的经编码版本,并且所述P帧指示所述内容的不同的经编码版本,并且其中所述帧中的每个帧指示音频内容或视频内容;以及
(b)生成AV位流,包含通过选择至少一个所述混合帧的所述P帧,以及将每个所选P帧包含在所述AV位流中,使得所述AV位流包含以I帧开始并包含所述I帧之后的至少所述所选P帧的片段。
步骤(a)可以包含生成(例如,在图7的编码器20的实施方案中)指示内容的经编码版本的第一I帧序列(例如,全I帧流)和指示内容的不同的经编码版本的第二P帧序列(例如,全P帧流),并且其中至少一个所述混合帧包含第一序列的I帧之一和第二序列的P帧之一。
在一些实施例中,一种用于生成AV位流的方法(其实施方法3)包含以下步骤:
(a)提供帧,其中所述帧中的至少一个帧是包含可用于确定P帧和I帧的至少一个数据块的混合帧,其中所述I帧指示内容的经编码版本,并且所述P帧指示所述内容的不同的经编码版本,并且其中所述帧中的每个帧指示音频内容或视频内容;以及
(b)生成AV位流,包含通过使用至少一个所述混合帧的至少一个所述数据块(所述至少一个数据块可以或可以不包括整个I帧或P帧)来合成至少一个I帧或P帧,由此生成至少一个合成帧,以及将每个所述合成帧包含在所述AV位流中,使得所述AV位流包含以I帧开始并包含所述I帧之后的至少一个合成P帧或者以合成I帧开始并包含所述合成I帧之后的至少一个P帧的片段。步骤(b)的实例包含从一个混合帧的至少一个数据块,或者从指示至少两个混合帧的帧序列的至少一个数据块中合成至少一个P帧(或I帧)。在一些实施例中,至少一个所述混合帧含有公共数据块(用于P帧和I帧)的至少一个实例。
实施生成AV位流的本发明方法的一些实施例(例如,包含通过重新制作输入AV位流的至少一个帧),使得所述AV位流满足至少一个当前潜在的网络约束或其它约束(例如,所述AV位流的生成包含重新制作输入位流的至少一个帧,并且被执行以使得所述AV位流满足对所述输入位流的至少一个当前潜在的网络约束)。例如,当所述AV位流由NBMP实体(例如,实施为MPEG NBMP实体的图1的NBMP实体12,例如,作为CDN服务器或包含在CDN服务器中的实体)生成时,所述NBMP实体可以被实施成以取决于网络和/或其它约束的方式将I帧***所述AV位流中或从所述AV位流中去除I帧。例如,网络约束(和/或其它约束)可以由控制位指示,所述控制位从另一个NBMP实体(例如,图1的NBMP实体14)递送(例如,通过图1的网络)到所述NBMP实体(例如,图1的NBMP实体12)。此类约束的实例包含但不限于可用位率、进入节目所需的调入时间和/或潜在MPEG-DASH或MMT AV位流的片段持续时间。
在这种类型的一个示例性实施例中,输入AV位流(例如,由图1的源10生成的输入传输流)具有位率R(例如,R=96千位/秒),并且包含适配点(例如,拼接点)。例如,通过每2秒一次或以某种其它速率出现输入AV位流的视频I帧和对应的音频I帧来确定适配拼接点。执行本发明方法的实施例(例如,通过操作图1的NBMP实体12),以响应于输入AV位流生成AV位流。如果用于递送所生成的AV位流的可用位率是位率R(例如,由从图1的NBMP实体14递送到NBMP实体12的位所指示的),并且如果AV位流的生成包含重新制作输入AV位流的一或多个P帧以在所生成的AV位流中***新的适配点(例如,通过将输入流的P帧重新制作为元数据位比P帧多的I帧,并且将I帧包含在所生成的流中来代替P帧),除非采取补偿动作,否则新适配点的这种***会不期望地增加递送所生成的AV位流所需的位率。因此,在示例性实施例中,AV位流的生成(例如,通过操作图1的NBMP实体12)还包含以下步骤:将输入AV位流的至少一个I帧重新制作为P帧(具有少于I帧的元数据位),并且将每个重新制作的P帧包含在所生成的AV位流中来代替每个I帧,从而降低递送所生成的AV位流所需的位率,以使其不超过可用位率R。
在另一个示例性实施例中,输入AV位流(例如,由图1的源10生成的输入AV位流)指示音频/视频节目,并且包含以第一速率出现的适配点(例如,通过每100毫秒出现一次输入AV位流的视频I帧和对应的音频I帧来确定适配点)。因为适配点是可以开始回放节目的可用时间,所以其对应于消费者可以选择(例如,通过操作图1的回放装置16)以开始回放节目的“调入”时间(倒回/快进点)。如果AV位流的生成受到约束(例如,如从图1的NBMP 14或回放装置16递送到图1的NBMP实体12的位所指示的),即所生成的AV位流包括以大于第一速率(即,使得所生成的AV位流比输入AV位流具有更多的适配点)的预定速率(例如,每50毫秒一次)或小于第一速率(即,使得所生成的AV位流比输入AV位流具有更少的适配点)的预定速率(例如,每200毫秒一次)出现的适配点,则执行本发明方法的实施例(例如,通过操作图1的NBMP实体12)以响应于受此约束的输入AV位流来生成AV位流。例如,如果适配点在输入AV位流中每100毫秒出现一次(即,输入AV位流的视频I帧和对应的音频I帧每100毫秒出现一次),则为了增加适配点在所生成的AV位流中出现的速率,输入AV位流的视频P帧和音频P帧被重新制作为视频I帧和音频I帧,并且重新制作的I帧包含在所生成的AV位流中来代替P帧,使得适配点在所生成的AV位流中每100毫秒出现一次以上(即,至少一个此类适配点在对应于重新制作的视频I帧和对应的重新制作的音频I帧的时间出现)。
图3的单元3和7、图4的单元3以及图1的NBMP实体12和回放装置16中的每一个都可以被实施为经配置的硬件***或者实施为用软件或固件编程(或者以其它方式配置)的处理器,以执行本发明方法的实施例。
通常,图3的单元3包含至少一个缓冲器3A,图3的单元3'包含至少一个缓冲器3A',图3的拼接器7包含至少一个缓冲器(7A和/或7D),并且图1的NBMP实体12和回放装置16中的每一个都包含至少一个缓冲器。通常,此类缓冲器(例如,缓冲器3A、3A'、7A和7D,以及实体12和装置16的缓冲器)中的每一个都是缓冲存储器,所述缓冲存储器被耦接成接收由包含缓冲存储器的装置生成(或提供给所述装置)的AV位流的数据包序列,并且在操作中,缓冲存储器存储(例如,以非暂时性方式)AV位流的至少一个片段。在单元3(或3')的典型操作中,AV位流的片段序列从缓冲器3A断言到递送子***5(或从缓冲器3A'到传送子***5'。在拼接器7的典型操作中,要拼接的AV位流的片段序列从拼接器7的缓冲器7A断言到解析子***7B,并且从拼接器7的缓冲器7D断言到解析子***7E。
图3(图4)的单元3和/或图3的拼接器7和/或图1的NBMP实体12和/或装置16(或其任何组件或元件)可以在硬件、软件或硬件和软件的组合中被实施为一或多个进程和/或一或多个电路(例如,ASIC、FPGA或其它集成电路)。
本发明的一些实施例涉及处理单元(AVPU),所述处理单元被配置成执行用于生成或适配(例如,拼接或切换)AV位流的本发明方法的任何实施例。例如,AVPU可以是NBMP实体(例如,图1的NBMP实体12)或生产单元或音频编码器(例如,图3或图4的单元3)。对于另一个实例,AVPU(例如,NBMP实体)可以是适配器(例如,拼接器),所述适配器被配置成执行本发明AV位流适配方法的任何实施例(例如,图3的拼接器7的适当配置的实施例)。在本发明的另一类实施例中,AVPU(例如,图3的单元3或拼接器7)包含至少一个缓冲存储器(例如,图3的单元3中的缓冲器3A、或图3的拼接器7中的缓冲器7A或7D、或图1的源10、或NBMP实体12、或装置16中的缓冲存储器),所述缓冲存储器存储(例如,以非暂时性方式)已经由本发明方法的任何实施例生成的AV位流的至少一个片段。AVPU的实例包含但不限于编码器(例如,代码转换器)、NBMP实体(例如,被配置成生成AV位流和/或对其执行适配的NBMP实体)、解码器(例如,被配置成对AV位流的内容进行解码和/或对AV位流执行适配(例如,拼接)以生成经适配的(例如,经拼接的)AV位流并对所述经适配的AV位流的内容进行解码的解码器)、编解码器、AV位流适配器(例如,拼接器)、预处理***(预处理器)、后处理***(后处理器)、AV位流处理***和此类元件的组合。
本发明的实施例涉及一种被配置(例如,编程)成执行本发明方法的任何实施例的***或装置,以及(例如,以非暂时性方式)存储用于实施本发明方法或其步骤的任何实施例的代码的计算机可读媒体(例如,盘)。例如,本发明***可以是或者包含用软件或固件编程和/或以其它方式配置成对数据执行多种操作中的任何操作(包含本发明方法或其步骤的实施例)的可编程通用处理器、数字信号处理器或微处理器。此类通用处理器可以是或者包含计算机***,所述计算机***包含输入装置、存储器和处理电路***,所述处理电路***被编程(和/或以其它方式配置)成响应于向其断言的数据来执行本发明方法(或其步骤)的实施例。
在一些实施例中,本发明设备是被配置成执行本发明方法的实施例的音频编码器(例如,AC-4编码器)。在一些实施例中,本发明设备是被编程或以其它方式配置成执行本发明方法的实施例的NBMP实体(例如,MPEG NBMP实体,其可以是CDN服务器或可以包含在CDN服务器中)(例如,可选地以取决于网络和/或其它约束的方式,将I帧***传输流中或从传输流中去除I帧)。
本发明的实施例可以在硬件、固件或软件或其组合中实施(例如,作为可编程逻辑阵列)。例如,图3的单元3和/或拼接器7或图1的位流源10和/或NBMP实体12可以在适当编程(或以其它方式配置)的硬件或固件中实施,例如,作为编程的通用处理器、数字信号处理器或微处理器。除非另有说明,否则作为本发明实施例的一部分而包含的算法或过程并不固有地与任何特定的计算机或其它设备相关。具体地,各种通用机器可以与根据本文教导编写的程序一起使用,或者可能更方便的是构造用于执行所需方法步骤的更具专用性的设备(例如,集成电路)。因此,本发明的实施例可以在一或多个可编程计算机***上执行的一或多个计算机程序中实施(例如,实施图3的单元3和/或拼接器7或图1的源10和/或NBMP实体12的元件中的所有或一些元件),所述可编程计算机***各自包括至少一个处理器、至少一个数据存储***(包含易失性和非易失性存储器和/或存储元件)、至少一个输入装置或端口以及至少一个输出装置或端口。程序代码应用于输入数据以执行本文描述的功能并且生成输出信息。输出信息以已知的方式应用于一或多个输出装置。
每个此类程序可以用任何期望的计算机语言(包含机器、汇编或高级过程、面向逻辑或对象的编程语言)来实施,以与计算机***通信。在任何情况下,语言都可以是编译或解释后的语言。
例如,当由计算机软件指令序列实施时,本发明的实施例的各种功能和步骤可以由在合适的数字信号处理硬件中运行的多线程软件指令序列来实施,在这种情况下,实施例的各种装置、步骤和功能可以对应于软件指令的部分。
每个此类计算机程序优选地存储或下载到通用或专用可编程计算机可读的存储媒体或装置(例如,固态存储器或媒体,或磁性或光学媒体),以在存储媒体或装置被计算机***读取以执行本文描述的过程时配置和操作计算机。本发明***还可以被实施为配置有(即,存储)计算机程序的计算机可读存储媒体,其中如此配置的存储媒体使得计算机***以特定和预定义的方式操作以执行本文描述的功能。
本发明的示范性实施例包含以下内容:
E1.一种用于生成AV位流的方法,所述方法包含以下步骤:
提供指示内容的帧,所述帧包含第一解码类型的帧,其中所述帧中的每个帧指示音频内容或视频内容;以及
生成AV位流,包含通过将所述第一解码类型的所述帧中的至少一个帧重新制作为不同于所述第一解码类型的第二解码类型的重新制作的帧,使得所述AV位流包括包含所述重新制作的帧的内容的片段,并且所述内容的片段以I帧开始并包含所述I帧之后的至少一个P帧,
其中如果所述第一解码类型的帧中的所述一个帧是P帧,则所述重新制作的帧是重新制作的I帧,或者如果所述第一解码类型的帧中的所述一个帧是I帧,则所述重新制作的帧是重新制作的P帧。
E2.根据E1所述的方法,其中所述提供帧的步骤包含以下步骤:
在第一***中,生成包含所述帧的输入AV位流;以及
将所述输入AV位流递送到第二***,并且
其中所述生成所述AV位流的步骤在所述第二***中执行。
E3.根据E2所述的方法,其中所述第二***是基于网络的媒体处理(NBMP)实体。
E4.根据E1到E3中任一项所述的方法,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述一个帧是包含元数据的音频P帧,并且所述重新制作步骤包含用从先前音频I帧复制的不同的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述不同的元数据。
E5.根据E1到E3中任一项所述的方法,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述一个帧是包含元数据的音频P帧,并且所述重新制作步骤包含以下步骤:
通过修改来自先前音频I帧的元数据来生成经修改的元数据;以及
用所述经修改的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述经修改的元数据。
E6.根据E1到E3中任一项所述的方法,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述一个帧是音频P帧,并且所述重新制作步骤包含将至少一个先前P帧复制到所述音频P帧中。
E7.根据E1到E6中任一项所述的方法,其中所述提供帧的步骤包含生成指示经编码音频内容的音频I帧和音频P帧的步骤,所述重新制作步骤包含将所述音频P帧中的至少一个音频P帧重新制作为重新制作的音频I帧的步骤,并且所述AV位流的内容的片段是以所述重新制作的音频I帧开始的经编码音频内容的片段。
E8.根据E7所述的方法,其中所述生成所述音频I帧和所述音频P帧的步骤和所述生成所述AV位流的步骤在音频编码器中执行。
E9.根据E7或E8所述的方法,其中所述提供帧的步骤包含以下步骤:
在第一***中,生成包含所述音频I帧和所述音频P帧的输入AV位流;以及
将所述输入AV位流递送到第二***,并且
其中所述生成所述AV位流的步骤在所述第二***中执行。
E10.根据E9所述的方法,其中所述第二***是基于网络的媒体处理(NBMP)实体。
E11.根据E1到E10中任一项所述的方法,其中所述提供帧的步骤包含生成指示经编码音频内容的音频I帧的步骤,所述重新制作步骤包含将所述音频I帧中的至少一个音频I帧重新制作为重新制作的音频P帧的步骤,并且所述AV位流的内容的片段是以所述音频I帧之一开始并包含所述重新制作的音频P帧的经编码音频内容的片段。
E12.根据E11所述的方法,其中所述生成所述音频I帧的步骤和所述生成所述AV位流的步骤在音频编码器中执行。
E13.根据E11或E12所述的方法,其中所述提供帧的步骤包含以下步骤:
在第一***中,生成包含所述音频I帧的输入AV位流;以及
将所述输入AV位流递送到第二***,并且
其中所述生成所述AV位流的步骤在所述第二***中执行。
E14.根据E13所述的方法,其中所述第二***是基于网络的媒体处理(NBMP)实体。
E15.根据E1到E14中任一项所述的方法,其中执行所述生成AV位流的步骤,使得所述AV位流满足至少一个网络约束。
E16.根据E15所述的方法,其中所述网络约束是所述AV位流的可用位率、或调谐到节目的最大时间、或所述AV位流的最大允许片段持续时间。
E17.根据E1到E16中任一项所述的方法,其中执行所述生成AV位流的步骤,使得所述AV位流满足至少一个约束,其中所述
约束是所述AV位流包括以预定速率出现的适配点,并且其中所述适配点中的每个适配点是所述AV位流的视频I帧和所述AV位流的至少一个对应音频I帧的出现时间。
E18.根据E1到E17中任一项所述的方法,其中所述AV位流是MPEG-2传输流或者基于ISO基本媒体格式。
E19.根据E18所述的方法,其中指示音频内容的帧中的每个帧都包含具有AC-4格式的经编码音频数据。E20.一种适配(例如,拼接或切换)AV位流由此生成经适配的(例如,经拼接的)AV位流的方法,其中所述AV位流已经通过根据E1所述的方法生成。
E21.根据E20所述的方法,其中所述AV位流具有适配点,在所述适配点处,所述内容片段的I帧与所述AV位流的对应内容片段的I帧对齐,并且所述AV位流在所述适配点处进行适配(例如,拼接)。
E22.一种用于生成AV位流的***,所述***包含:
至少一个输入,所述至少一个输入被配置成接收指示内容的帧,所述帧包含第一解码类型的帧,其中所述帧中的每个帧指示音频内容或视频内容;以及
子***,所述子***被耦接和配置成生成所述AV位流,包含通过将所述第一解码类型的所述帧中的至少一个帧重新制作为不同于所述第一解码类型的第二解码类型的重新制作的帧,使得所述AV位流包括包含所述重新制作的帧的内容的片段,并且所述内容的片段以I帧开始并包含所述I帧之后的至少一个P帧,
其中如果所述第一解码类型的帧中的所述一个帧是P帧,则所述重新制作的帧是重新制作的I帧,或者如果所述第一解码类型的帧中的所述一个帧是I帧,则所述重新制作的帧是重新制作的P帧。
E23.根据E22所述的***,其中所述指示内容的帧包含在已经递送到所述***的输入AV位流中。
E24.根据E22或E23所述的***,其中所述***是基于网络的媒体处理(NBMP)实体。
E25.根据E22到E24中任一项所述的***,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述一个帧是包含元数据的音频P帧,并且所述子***被配置成执行所述重新制作,包含通过用从先前音频I帧复制的不同的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述不同的元数据。
E26.根据E22到E24中任一项所述的***,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述一个帧是包含元数据的音频P帧,并且所述子***被配置成执行所述重新制作,包含:
通过修改来自先前音频I帧的元数据来生成经修改的元数据;以及
用所述经修改的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述经修改的元数据。
E27.根据E22到E24中任一项所述的***,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述一个帧是音频P帧,并且所述子***被配置成执行所述重新制作,包含通过将至少一个先前P帧复制到所述音频P帧中。
E28.根据E22到E27中任一项所述的***,其中所述子***被配置成生成所述AV位流,使得所述AV位流满足至少一个网络约束。
E29.根据E28所述的***,其中所述网络约束是所述AV位流的可用位率、或调谐到节目的最大时间、或所述AV位流的最大允许片段持续时间。
E30.根据E22到E27中任一项所述的***,其中所述子***被配置成生成所述AV位流,使得所述AV位流满足至少一个约束,其中所述
约束是所述AV位流包括以预定速率出现的适配点,并且其中所述适配点中的每个适配点是所述AV位流的视频I帧和所述AV位流的至少一个对应音频I帧的出现时间。
E31.一种用于生成AV位流的方法,所述方法包含以下步骤:
(a)提供帧,其中所述帧中的至少一个帧是包含P帧和I帧的混合帧,其中所述I帧指示内容的经编码版本,并且所述P帧指示所述内容的不同的经编码版本,并且其中所述帧中的每个帧指示音频内容或视频内容;以及
(b)生成AV位流,包含通过选择至少一个所述混合帧的所述P帧,以及将每个所选P帧包含在所述AV位流中,使得所述AV位流包含以I帧开始并包含所述I帧之后的至少所述所选P帧的片段。
E32.根据E31所述的方法,其中步骤(a)包含生成指示内容的经编码版本的第一I帧序列和指示内容的不同的经编码版本的第二P帧序列,并且其中至少一个所述混合帧包含所述第一序列的I帧之一和所述第二序列的P帧之一。
E33.一种用于AV位流适配(例如,拼接或切换)的***,其包含:
至少一个输入,所述至少一个输入被耦接成接收AV位流,其中所述AV位流已经通过根据E1到E21、E31或E32所述的方法生成;以及
子***,所述子***被耦接和配置成适配(例如,拼接或切换)所述AV位流,由此生成经适配的AV位流。
E34.一种音频/视频处理单元,其包含:
缓冲存储器;以及
至少一个音频/视频处理子***,所述至少一个音频/视频处理子***耦接到所述缓冲存储器,其中所述缓冲存储器以非暂时性方式存储AV位流的至少一个片段,其中所述AV位流已经通过根据E1到E21、E31或E32中任一种所述的方法生成。
E35.根据E34所述的单元,其中所述音频/视频处理子***被配置成生成所述AV位流。
E36.一种具有指令的计算机程序产品,所述指令当由处理装置或***执行时使所述处理装置或***执行根据E1到E21、E31或E32中任一项所述的方法。
已经描述了本发明的许多实施例。应理解,可以考虑各种修改。鉴于以上教导,本发明的当前实施例的许多修改和变化是可能的。应理解,在所附权利要求的范围内,本发明的任何实施例可以以其它方式实践。

Claims (51)

1.一种用于生成输出音频/视频位流的方法,所述方法包含以下步骤:
提供输入音频/视频位流,所述输入音频/视频位流包括:指示音频和视频内容的帧,所述帧包含第一解码类型的帧;以及元数据,所述元数据与所述帧中的每个帧相关联,其中所述第一解码类型的所述帧中的每个帧包括P帧或I帧,并且其中所述帧中的每个帧指示音频内容或视频内容;
将与所述第一解码类型的所述帧中的至少一个帧相关联的所述元数据中的一些元数据修改成不同的元数据,以生成至少一个不同于所述第一解码类型的第二解码类型的重新制作的帧,其中如果所述第一解码类型的所述帧是I帧,则所述第二解码类型的所述重新制作的帧是重新制作的P帧,或者如果所述第一解码类型的所述帧是P帧,则所述第二解码类型的所述重新制作的帧是重新制作的I帧;以及
响应于所述输入音频/视频位流而生成所述输出音频/视频位流,使得所述输出音频/视频位流包含所述音频和视频内容的片段,所述音频和视频内容的片段包含所述重新制作的帧,并且所述音频和视频内容的所述片段以I帧开始并包含所述I帧之后的至少一个P帧,用于将所述视频内容的I帧与所述音频内容的I帧对齐。
2.根据权利要求1所述的方法,其中所述不同的元数据包括与所述第一解码类型的所述至少一个帧的前一个帧相关联的元数据。
3.根据权利要求1或2所述的方法,其中生成所述输出音频/视频位流包括将所述输出音频/视频位流的所述音频和视频内容的所述片段确定为以I帧开始的所述视频内容的片段。
4.根据权利要求1或2所述的方法,其中所述提供帧的步骤包含以下步骤:
在第一***中,生成包含所述帧的所述输入音频/视频位流;以及
将所述输入音频/视频位流递送到第二***,并且
其中所述生成所述输出音频/视频位流的步骤在所述第二***中执行。
5.根据权利要求1或2所述的方法,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述至少一个帧是音频P帧。
6.根据权利要求5所述的方法,其中所述修改所述元数据中的一些元数据的步骤包含用从先前音频I帧中复制的不同的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述不同的元数据。
7.根据权利要求5所述的方法,其中所述修改所述元数据中的一些元数据的步骤包含以下步骤:
通过修改来自先前音频I帧的元数据来生成经修改的元数据;以及
用所述经修改的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述经修改的元数据。
8.根据权利要求5所述的方法,其中所述修改所述元数据中的一些元数据的步骤包含将至少一个先前P帧复制到所述音频P帧中。
9.根据权利要求1或2所述的方法,其中生成所述输出音频/视频位流包括传递所述音频和视频内容以及所述输入音频/视频位流的所述内容的片段的所述元数据,所述输入音频/视频位流尚未被修改为所述输出音频/视频位流。
10.根据权利要求1或2所述的方法,其中执行所述生成所述输出音频/视频位流的步骤,使得所述输出音频/视频位流满足至少一个网络约束。
11.根据权利要求10所述的方法,其中所述网络约束是所述输出音频/视频位流的可用位率、或调谐到节目的最大时间、或所述输出音频/视频位流的最大允许片段持续时间。
12.根据权利要求1或2所述的方法,其中执行所述生成所述输出音频/视频位流的步骤,使得所述输出音频/视频位流满足至少一个约束,其中所述约束是所述输出音频/视频位流包括以预定速率出现的适配点,并且其中所述适配点中的每个适配点是所述输出音频/视频位流的视频I帧和所述输出音频/视频位流的至少一个对应的音频I帧的出现时间。
13.一种处理音频/视频位流的方法,其包括以下步骤:
提供输入音频/视频位流,所述输入音频/视频位流包括:指示音频和视频内容的帧,所述帧包含第一解码类型的帧;以及元数据,所述元数据与所述帧中的每个帧相关联,其中所述第一解码类型的所述帧中的每个帧包括P帧或I帧,并且其中所述帧中的每个帧指示音频内容或视频内容;
将与所述第一解码类型的所述帧中的至少一个帧相关联的所述元数据中的一些元数据修改成不同的元数据,以生成至少一个不同于所述第一解码类型的第二解码类型的重新制作的帧,其中如果所述第一解码类型的所述帧是I帧,则所述第二解码类型的所述重新制作的帧是重新制作的P帧,或者如果所述第一解码类型的所述帧是P帧,则所述第二解码类型的所述重新制作的帧是重新制作的I帧;
响应于所述输入音频/视频位流而生成输出音频/视频位流,使得所述输出音频/视频位流包含所述音频和视频内容的片段,所述音频和视频内容的片段包含所述重新制作的帧,并且所述音频和视频内容的所述片段以I帧开始并包含所述I帧之后的至少一个P帧;以及
至少部分地基于将所述视频内容的I帧与所述音频内容的I帧对齐而适配所述输出音频/视频位流,由此生成经适配的输出音频/视频位流。
14.根据权利要求13所述的方法,其中所述不同的元数据包括与所述第一解码类型的所述至少一个帧的前一个帧相关联的元数据。
15.根据权利要求13或14所述的方法,其中生成所述输出音频/视频位流包括将所述输出音频/视频位流的所述音频和视频内容的所述片段确定为以I帧开始的所述视频内容的片段。
16.根据权利要求13或14所述的方法,其中所述提供帧的步骤包含以下步骤:
在第一***中,生成包含所述帧的所述输入音频/视频位流;以及
将所述输入音频/视频位流递送到第二***,并且
其中所述生成所述输出音频/视频位流的步骤在所述第二***中执行。
17.根据权利要求13或14所述的方法,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述至少一个帧是音频P帧。
18.根据权利要求17所述的方法,其中所述修改所述元数据中的一些元数据的步骤包含用从先前音频I帧中复制的不同的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述不同的元数据。
19.根据权利要求17所述的方法,其中所述修改所述元数据中的一些元数据的步骤包含以下步骤:
通过修改来自先前音频I帧的元数据来生成经修改的元数据;以及
用所述经修改的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述经修改的元数据。
20.根据权利要求17所述的方法,其中所述修改所述元数据中的一些元数据的步骤包含将至少一个先前P帧复制到所述音频P帧中。
21.根据权利要求13或14所述的方法,其中生成所述输出音频/视频位流包括传递所述音频和视频内容以及所述输入音频/视频位流的所述内容的片段的所述元数据,所述输入音频/视频位流尚未被修改为所述输出音频/视频位流。
22.根据权利要求13或14所述的方法,其中执行所述生成所述输出音频/视频位流的步骤,使得所述输出音频/视频位流满足至少一个网络约束。
23.根据权利要求22所述的方法,其中所述网络约束是所述输出音频/视频位流的可用位率、或调谐到节目的最大时间、或所述输出音频/视频位流的最大允许片段持续时间。
24.根据权利要求13或14所述的方法,其中执行所述生成所述输出音频/视频位流的步骤,使得所述输出音频/视频位流满足至少一个约束,其中所述约束是所述输出音频/视频位流包括以预定速率出现的适配点,并且其中所述适配点中的每个适配点是所述输出音频/视频位流的视频I帧和所述输出音频/视频位流的至少一个对应的音频I帧的出现时间。
25.一种用于生成输出音频/视频位流的***,所述***包含:
至少一个输入,所述至少一个输入被耦接成接收输入音频/视频位流,所述输入音频/视频位流包括:指示音频和视频内容的帧,所述帧包含第一解码类型的帧;以及元数据,所述元数据与所述帧中的每个帧相关联,其中所述第一解码类型的所述帧中的每个帧包括P帧或I帧,并且其中所述帧中的每个帧指示音频内容或视频内容;
第一子***,所述第一子***被配置成将与所述第一解码类型的所述帧中的至少一个帧相关联的所述元数据中的一些元数据修改成不同的元数据,以生成至少一个不同于所述第一解码类型的第二解码类型的重新制作的帧,其中如果所述第一解码类型的所述帧是I帧,则所述第二解码类型的所述重新制作的帧是重新制作的P帧,或者如果所述第一解码类型的所述帧是P帧,则所述第二解码类型的所述重新制作的帧是重新制作的I帧;以及
第二子***,所述第二子***被耦接并配置成响应于所述输入音频/视频位流而生成所述输出音频/视频位流,使得所述输出音频/视频位流包含所述音频和视频内容的片段,所述音频和视频内容的片段包含所述重新制作的帧,并且所述内容的所述片段以I帧开始并包含所述I帧之后的至少一个P帧,用于将所述视频内容的I帧与所述音频内容的I帧对齐。
26.根据权利要求25所述的***,其中所述***是基于网络的媒体处理NBMP实体。
27.一种用于处理音频/视频位流的***,所述***包含:
至少一个输入,所述至少一个输入被耦接成接收输入音频/视频位流,所述输入音频/视频位流包括:指示音频和视频内容的帧,所述帧包含第一解码类型的帧;以及元数据,所述元数据与所述帧中的每个帧相关联,其中所述第一解码类型的所述帧中的每个帧包括P帧或I帧,并且其中所述帧中的每个帧指示音频内容或视频内容;
多个子***,其被耦接并配置成:
将与所述第一解码类型的所述帧中的至少一个帧相关联的所述元数据中的一些元数据修改成不同的元数据,以生成至少一个不同于所述第一解码类型的第二解码类型的重新制作的帧,其中如果所述第一解码类型的所述帧是I帧,则所述第二解码类型的所述重新制作的帧是重新制作的P帧,或者如果所述第一解码类型的所述帧是P帧,则所述第二解码类型的所述重新制作的帧是重新制作的I帧;
响应于所述输入音频/视频位流而生成所述输出音频/视频位流,使得所述输出音频/视频位流包含所述音频和视频内容的片段,所述音频和视频内容的片段包含所述重新制作的帧,并且所述音频和视频内容的所述片段以I帧开始并包含所述I帧之后的至少一个P帧;以及
另一子***,其被耦接并配置成至少部分地基于将所述视频内容的I帧与所述音频内容的I帧对齐而适配所述输出音频/视频位流,由此生成经适配的输出音频/视频位流。
28.根据权利要求27所述的***,其中所述不同的元数据包括与所述第一解码类型的所述至少一个帧的前一个帧相关联的元数据。
29.根据权利要求27或28所述的***,其中为了生成所述输出音频/视频位流,所述多个子***进一步被配置成将所述输出音频/视频位流的所述音频和视频内容的所述片段确定为以I帧开始的所述视频内容的片段。
30.根据权利要求27或28所述的***,其中所述多个子***包括第一子***和第二子***,且其中:
所述第一子***被配置成生成包含所述帧的所述输入音频/视频位流并将所述输入音频/视频位流递送到所述第二子***;以及
所述第二子***被配置成生成所述输出音频/视频位流。
31.根据权利要求27或28所述的***,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述至少一个帧是音频P帧。
32.根据权利要求31所述的***,其中为了修改所述元数据中的一些元数据,所述多个子***进一步被配置成用从先前音频I帧中复制的不同的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述不同的元数据。
33.根据权利要求31所述的***,其中为了修改所述元数据中的一些元数据,所述多个子***进一步被配置成:
通过修改来自先前音频I帧的元数据来生成经修改的元数据;以及
用所述经修改的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述经修改的元数据。
34.根据权利要求31所述的***,其中为了修改所述元数据中的一些元数据,所述多个子***进一步被配置成将至少一个先前P帧复制到所述音频P帧中。
35.根据权利要求27或28所述的***,其中为了生成所述输出音频/视频位流,所述多个子***进一步被配置成传递所述音频和视频内容以及所述输入音频/视频位流的所述内容的片段的所述元数据,所述输入音频/视频位流尚未被修改为所述输出音频/视频位流。
36.根据权利要求27或28所述的***,其中所述多个子***被配置成生成所述输出音频/视频位流,使得所述输出音频/视频位流满足至少一个网络约束。
37.根据权利要求36所述的***,其中所述网络约束是所述输出音频/视频位流的可用位率、或调谐到节目的最大时间、或所述输出音频/视频位流的最大允许片段持续时间。
38.根据权利要求27或28所述的***,其中所述多个子***被配置成生成所述输出音频/视频位流,使得所述输出音频/视频位流满足至少一个约束,其中所述约束是所述输出音频/视频位流包括以预定速率出现的适配点,并且其中所述适配点中的每个适配点是所述输出音频/视频位流的视频I帧和所述输出音频/视频位流的至少一个对应的音频I帧的出现时间。
39.一种音频/视频处理单元,其包含:
音频/视频生成组件,其被配置成:
将与第一解码类型的帧中的至少一个帧相关联的元数据中的一些元数据修改成不同的元数据,以生成至少一个不同于所述第一解码类型的第二解码类型的重新制作的帧,其中如果所述第一解码类型的所述帧是I帧,则所述第二解码类型的所述重新制作的帧是重新制作的P帧,或者如果所述第一解码类型的所述帧是P帧,则所述第二解码类型的所述重新制作的帧是重新制作的I帧;
响应于输入音频/视频位流而生成输出音频/视频位流,使得所述输出音频/视频位流包含所述音频和视频内容的片段,所述音频和视频内容的片段包含所述重新制作的帧,并且所述音频和视频内容的所述片段以I帧开始并包含所述I帧之后的至少一个P帧;以及
至少部分地基于将所述视频内容的I帧与所述音频内容的I帧对齐而适配所述输出音频/视频位流,由此生成经适配的输出音频/视频位流;以及
缓冲存储器,其被配置成以非暂时性方式存储所述输出音频/视频位流的至少一个片段;以及
至少一个音频/视频处理子***,所述至少一个音频/视频处理子***耦接到所述缓冲存储器且被配置成处理来自所述缓冲存储器的所述输出音频/视频位流。
40.根据权利要求39所述的音频/视频处理单元,其中所述不同的元数据包括与所述第一解码类型的所述至少一个帧的前一个帧相关联的元数据。
41.根据权利要求39或40所述的音频/视频处理单元,其中为了生成所述输出音频/视频位流,所述音频/视频生成组件进一步被配置成将所述输出音频/视频位流的所述音频和视频内容的所述片段确定为以I帧开始的所述视频内容的片段。
42.根据权利要求39或40所述的音频/视频处理单元,其中所述音频/视频生成组件包括第一子***和第二子***,且其中:
所述第一子***被配置成生成包含所述帧的所述输入音频/视频位流并将所述输入音频/视频位流递送到所述第二子***;以及所述第二子***被配置成生成所述输出音频/视频位流。
43.根据权利要求39或40所述的音频/视频处理单元,其中所述重新制作的帧是音频I帧,所述第一解码类型的所述帧中的所述至少一个帧是音频P帧。
44.根据权利要求43所述的音频/视频处理单元,其中为了修改所述元数据中的一些元数据,所述音频/视频生成组件进一步被配置成用从先前音频I帧中复制的不同的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述不同的元数据。
45.根据权利要求43所述的音频/视频处理单元,其中为了修改所述元数据中的一些元数据,所述音频/视频生成组件进一步被配置成:
通过修改来自先前音频I帧的元数据来生成经修改的元数据;以及
用所述经修改的元数据替换所述音频P帧的所述元数据中的至少一些元数据,使得所述重新制作的帧包含所述经修改的元数据。
46.根据权利要求43所述的音频/视频处理单元,其中为了修改所述元数据中的一些元数据,所述音频/视频生成组件进一步被配置成将至少一个先前P帧复制到所述音频P帧中。
47.根据权利要求39或40所述的音频/视频处理单元,其中为了生成所述输出音频/视频位流,所述音频/视频生成组件进一步被配置成传递所述音频和视频内容以及所述输入音频/视频位流的所述内容的片段的所述元数据,所述输入音频/视频位流尚未被修改为所述输出音频/视频位流。
48.根据权利要求39或40所述的音频/视频处理单元,其中所述音频/视频生成组件被配置成生成所述输出音频/视频位流,使得所述输出音频/视频位流满足至少一个网络约束。
49.根据权利要求48所述的音频/视频处理单元,其中所述网络约束是所述输出音频/视频位流的可用位率、或调谐到节目的最大时间、或所述输出音频/视频位流的最大允许片段持续时间。
50.根据权利要求39或40所述的音频/视频处理单元,其中所述音频/视频生成组件被配置成生成所述输出音频/视频位流,使得所述输出音频/视频位流满足至少一个约束,其中所述约束是所述输出音频/视频位流包括以预定速率出现的适配点,并且其中所述适配点中的每个适配点是所述输出音频/视频位流的视频I帧和所述输出音频/视频位流的至少一个对应的音频I帧的出现时间。
51.一种具有指令的计算机可读介质,所述指令当由处理装置或***执行时使所述处理装置或***执行根据权利要求1到24中任一权利要求所述的方法。
CN201980043163.9A 2018-06-28 2019-06-27 用于自适应流传输对齐的帧转换 Active CN112369042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211544575.0A CN115802046A (zh) 2018-06-28 2019-06-27 用于自适应流传输对齐的帧转换

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862690998P 2018-06-28 2018-06-28
EP18180389.1 2018-06-28
US62/690,998 2018-06-28
EP18180389 2018-06-28
PCT/US2019/039535 WO2020006250A1 (en) 2018-06-28 2019-06-27 Frame conversion for adaptive streaming alignment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211544575.0A Division CN115802046A (zh) 2018-06-28 2019-06-27 用于自适应流传输对齐的帧转换

Publications (2)

Publication Number Publication Date
CN112369042A CN112369042A (zh) 2021-02-12
CN112369042B true CN112369042B (zh) 2022-12-09

Family

ID=67403003

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980043163.9A Active CN112369042B (zh) 2018-06-28 2019-06-27 用于自适应流传输对齐的帧转换
CN202211544575.0A Pending CN115802046A (zh) 2018-06-28 2019-06-27 用于自适应流传输对齐的帧转换

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202211544575.0A Pending CN115802046A (zh) 2018-06-28 2019-06-27 用于自适应流传输对齐的帧转换

Country Status (6)

Country Link
US (2) US11368747B2 (zh)
EP (1) EP3815387A1 (zh)
JP (1) JP7171772B2 (zh)
KR (1) KR102406318B1 (zh)
CN (2) CN112369042B (zh)
WO (1) WO2020006250A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11431817B2 (en) * 2018-12-04 2022-08-30 Samsung Electronics Co., Ltd. Method and apparatus for management of network based media processing functions
CN111831842A (zh) * 2019-04-23 2020-10-27 腾讯美国有限责任公司 Nbmp中处理媒体内容的方法、装置和存储介质
US11356534B2 (en) * 2019-04-23 2022-06-07 Tencent America LLC Function repository selection mode and signaling for cloud based processing
CN113316001B (zh) * 2021-05-25 2023-04-11 上海哔哩哔哩科技有限公司 视频对齐方法及装置
US11930189B2 (en) * 2021-09-30 2024-03-12 Samsung Electronics Co., Ltd. Parallel metadata generation based on a window of overlapped frames
CN114363791A (zh) * 2021-11-26 2022-04-15 赛因芯微(北京)电子科技有限公司 串行音频元数据生成方法、装置、设备及存储介质
US20240015369A1 (en) * 2022-07-08 2024-01-11 Disney Enterprises, Inc. Surgical Micro-Encoding of Content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1774925A (zh) * 2003-03-17 2006-05-17 高通股份有限公司 用于无线多媒体传输的局部帧内编码***和方法
CN102100077A (zh) * 2008-07-17 2011-06-15 思科技术公司 加密视频/音频内容的拼接
CN104427356A (zh) * 2013-08-30 2015-03-18 汤姆逊许可公司 对内容加水印的方法
CN105981397A (zh) * 2014-02-10 2016-09-28 杜比国际公司 将编码音频嵌入到传输流中以供用于完美拼接

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574113B2 (en) 2002-05-06 2009-08-11 Sony Corporation Video and audio data recording apparatus, video and audio data recording method, video and audio data reproducing apparatus, and video and audio data reproducing method
US7949047B2 (en) 2003-03-17 2011-05-24 Qualcomm Incorporated System and method for partial intraframe encoding for wireless multimedia transmission
JP4176573B2 (ja) 2003-07-29 2008-11-05 京セラ株式会社 データ編集装置およびデータ編集方法
US9544602B2 (en) 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
WO2007119236A2 (en) * 2006-04-13 2007-10-25 Yosef Mizrachi Method and apparatus for providing gaming services and for handling video content
US7738676B1 (en) * 2006-11-02 2010-06-15 Qurio Holdings, Inc. Client-side watermarking using hybrid I-frames
US7983440B1 (en) * 2006-11-02 2011-07-19 Qurio Holdings, Inc. Selection of I-frames for client-side watermarking
US8335266B2 (en) 2007-06-29 2012-12-18 Cisco Technology, Inc. Expedited splicing of video streams
US8621044B2 (en) 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
JPWO2011013349A1 (ja) * 2009-07-31 2013-01-07 パナソニック株式会社 映像データ処理装置及び映像データ処理システム
TW202405797A (zh) 2010-12-03 2024-02-01 美商杜比實驗室特許公司 音頻解碼裝置、音頻解碼方法及音頻編碼方法
WO2013037069A1 (en) * 2011-09-15 2013-03-21 Libre Communications Inc. Method, apparatus and computer program product for video compression
WO2014204366A1 (en) * 2013-06-19 2014-12-24 Telefonaktiebolaget L M Ericsson (Publ) Arrangements and method thereof for a channel change during streaming
BR102014011263B1 (pt) 2014-05-09 2019-07-02 Tqtvd Software Ltda Método para encapsular streams de conteúdo audiovisual em mpeg2-private-sections, dispositivo para encapsular conteúdo audiovisual em mpeg2-private-sections para sermultiplexados em um mpeg2-transport-stream, protocolo de comunicação em redes e método para transmissão de conteúdo audiovisual e/ou dados para dispositivos do usuário sem recursos para sintonizar um broadcast de sinal de tv digital através de um broadcast de sinal de tv digital
US20150358622A1 (en) 2014-06-10 2015-12-10 Empire Technology Development Llc Video Encoding for Real-Time Streaming Based on Audio Analysis
US20150373075A1 (en) 2014-06-23 2015-12-24 Radia Perlman Multiple network transport sessions to provide context adaptive video streaming
US10349057B2 (en) * 2015-04-01 2019-07-09 Cox Communications, Inc. Systems and methods for optimizing video coding efficiency based on characteristics of video content
US9819480B2 (en) * 2015-08-04 2017-11-14 Ibiquity Digital Corporation System and method for synchronous processing of analog and digital pathways in a digital radio receiver
US10951914B2 (en) * 2015-08-27 2021-03-16 Intel Corporation Reliable large group of pictures (GOP) file streaming to wireless displays
KR20180109890A (ko) 2016-02-12 2018-10-08 소니 주식회사 정보 처리 장치 및 정보 처리 방법
JP6835306B2 (ja) 2016-04-14 2021-02-24 株式会社ユピテル 装置、車載機器およびシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1774925A (zh) * 2003-03-17 2006-05-17 高通股份有限公司 用于无线多媒体传输的局部帧内编码***和方法
CN102100077A (zh) * 2008-07-17 2011-06-15 思科技术公司 加密视频/音频内容的拼接
CN104427356A (zh) * 2013-08-30 2015-03-18 汤姆逊许可公司 对内容加水印的方法
CN105981397A (zh) * 2014-02-10 2016-09-28 杜比国际公司 将编码音频嵌入到传输流中以供用于完美拼接

Also Published As

Publication number Publication date
CN115802046A (zh) 2023-03-14
KR102406318B1 (ko) 2022-06-10
US11770582B2 (en) 2023-09-26
US11368747B2 (en) 2022-06-21
JP7171772B2 (ja) 2022-11-15
KR20210024131A (ko) 2021-03-04
US20210258632A1 (en) 2021-08-19
CN112369042A (zh) 2021-02-12
EP3815387A1 (en) 2021-05-05
WO2020006250A1 (en) 2020-01-02
US20220286730A1 (en) 2022-09-08
JP2021529478A (ja) 2021-10-28

Similar Documents

Publication Publication Date Title
CN112369042B (zh) 用于自适应流传输对齐的帧转换
CA2449124C (en) Splicing of digital video transport streams
EP1827030A2 (en) Method and apparatus for changing codec to reproduce video and/or audio data streams encoded by different codecs within a channel
US9883213B2 (en) Embedding encoded audio into transport stream for perfect splicing
JP4503858B2 (ja) 遷移ストリームの生成/処理方法
US20120159530A1 (en) Micro-Filtering of Streaming Entertainment Content Based on Parental Control Setting
US20170048564A1 (en) Digital media splicing system and method
CN112740325B (zh) 即时播放帧(ipf)的生成、传输及处理的方法、设备及***
US10554711B2 (en) Packet placement for scalable video coding schemes
US20180295415A1 (en) Digital media splicing system and method

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
GR01 Patent grant
GR01 Patent grant