CN100426865C - 根据内容属性自适应控制缓冲量的设备和方法 - Google Patents

根据内容属性自适应控制缓冲量的设备和方法 Download PDF

Info

Publication number
CN100426865C
CN100426865C CNB2005100888428A CN200510088842A CN100426865C CN 100426865 C CN100426865 C CN 100426865C CN B2005100888428 A CNB2005100888428 A CN B2005100888428A CN 200510088842 A CN200510088842 A CN 200510088842A CN 100426865 C CN100426865 C CN 100426865C
Authority
CN
China
Prior art keywords
frame
bag
stored
data
compiler
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.)
Expired - Fee Related
Application number
CNB2005100888428A
Other languages
English (en)
Other versions
CN1728829A (zh
Inventor
崔峻会
安哲弘
柳浩晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1728829A publication Critical patent/CN1728829A/zh
Application granted granted Critical
Publication of CN100426865C publication Critical patent/CN100426865C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供一种在接收音频-视频数据中根据内容属性自适应控制缓冲量的设备和方法。该方法包括:根据从接收到的包提取的帧信息确定将被存储的帧的数目;在确定的帧的数目范围内按帧连接并存储包;和将按帧连接并存储的包输出到解码器。

Description

根据内容属性自适应控制缓冲量的设备和方法
技术领域
根据本发明的设备和方法涉及在接收音频-视频(AV)数据中根据内容属性自适应控制缓冲量。
背景技术
在过去的几十年中,经电视以模拟格式传输视频数据和音频数据。然而,由于数字信号的多种优势,更多的视频信息正以数字格式被表示和记录。近来,数字音频和视频已经通过卫星广播、地面广播或有线广播被传输,并且用户能使用机顶盒和电视观看数字音频和视频。
同时,与互联网技术的发展一起,诸如互联网电影和互联网音乐站的视频点播(VOD)服务已经在迅速成长。例如,服务提供者通过互联网实时地向用户发送用户使用计算机请求的电影,并且用户能在计算机上观看该电影。在数字电视和VOD服务二者中,通过经互联网或无线连接实时接收数据,用户能播放电影或音乐。
因为数字数据巨大,所以对具有较少信息损失的压缩数字数据的技术的研究已经被继续。联合图像专家组(JPEG)已经提出用于静止图像的标准。H.261和H.263标准已经被提出用于视频编码。运动图像专家组(MPEG)已经提出MPEG1、MPEG2和MPEG4标准,并且还在准备用于视频编码的MPEG21标准。
视频或音频数据通常通过下载或流方案被使用。在下载方案中,包括视频或音频数据的文件被存储在本地或个人存储装置中。在流方案中,文件没有被接收,而是视频或音频数据被实时输出。在流方案中,数据在理论上被实时输出,但是当考虑网络状态和文件属性时,预定部分的数据需要被提前存储在当地区域(例如存储装置或数字装置)中。因此,流客户机通常接收数据并在诸如缓冲器的临时存储装置中存储数据,然后输出存储的数据。从流客户机请求视频或音频数据直到存储在缓冲器中的视频或音频数据被输出时的时间,称为初始延迟时间。另外,将视频或音频数据在缓冲器中存储一段预定时间,该时间称为延迟时间。传统的流客户机将该延迟时间定义为在算术上填充预定数目的比特或缓冲器的预定部分所花费的时间,并且不能灵活地适应实际接收到的数据的属性。
发明内容
本发明提供一种在接收AV数据中自适应控制存储在缓冲器中的数据量的设备和方法。
本发明还提供一种根据AV数据的属性控制存储在缓冲器中的数据量从而减少在AV数据的流中发生的延迟的设备和方法。
根据本发明的一方面,提供一种在接收AV数据中根据内容属性自适应控制缓冲量的方法,该方法包括:根据从接收到的包提取的帧信息确定将被存储的帧的数目;在确定的帧的数目范围内按帧连接并存储包;和将按帧连接并存储的包输出到解码器。
根据本发明的另一方面,提供一种在接收AV数据中根据内容属性自适应控制缓冲量的设备,该设备包括:帧编译器,按帧连接并存储接收到的包;帧编译控制器,根据从包提取的帧信息确定将被存储在帧编译器中的帧的数目;和帧推动器,将在帧编译器中按帧连接并存储的包输出到解码器。
附图说明
通过参考附图对其示例性实施例进行详细的描述,本发明以上和其它方面将会变得更清楚,其中:
图1是示出传统流客户机的操作的方框图;
图2是显示根据本发明示例性实施例的帧被以不同的数据大小存储在缓冲器中的例子的示意图;
图3是示出视频流的结构的例子的示意图;
图4是根据本发明示例性实施例的流客户机的方框图;
图5示出根据本发明示例性实施例的由帧编译器管理的包和帧的结构;
图6A、6B和6C示出在本发明示例性实施例中从包的接收直到帧的输出为止在帧编译器中的变化;
图7示出在本发明示例性实施例中当帧的属性变化时,发生在帧编译器和帧编译控制器中的变化;
图8是显示在本发明示例性实施例中存储在帧编译器中的帧数据量的曲线图;和
图9是根据本发明示例性实施例的流客户机以帧为单位存储和输出数据的程序的流程图。
具体实施方式
现在将参考附图更全面地描述本发明,在附图中,本发明的示例性实施例被显示。
在提出本发明示例性实施例之前,将简要解释用在本说明书中的术语。
-帧
帧是包括图像信号的空间信息的一组行。单一帧表示单一的静止图像,一组帧实现视频图像。MPEG定义包括独立的图像信息的I帧、参考其它帧的信息的B帧和P帧。在其它的标准中,基于帧执行视频编码。这里,帧是单一的静止图像被压缩成的数据块,并且可以是独立的静止图像或可以参考其它帧的信息。
-初始延迟时间
流客户机从流服务器请求数据,接收来自流服务器的数据,将该数据存储在临时存储装置中,并输出存储在临时存储装置中的预定数量的数据。初始延迟时间是从流客户机请求数据时的时间到流客户机输出该数据时的时间。如果存储在缓冲器中的数据量很大,那么初始延迟时间很长,但是因为有大量的将最初输出的数据,所以数据被不中断地输出。
-延迟时间
流是经互联网或无线网络传输AV数据的方案,因此依赖于网络速度。因此,为了不中断地输出数据,流客户机需要提前存储预定数量的数据以输出。延迟时间是在由于网络问题接收不到更多数据的状态下能输出数据的时间,并且可以是用来输出存储在缓冲器中的预定数量的数据的时间。当延迟时间增加时,将被存储在缓冲器中的数据量也增加,但是该数据能被无缝地输出。
-流客户机
流客户机通常表示在流方案中接收从服务器发送的AV数据并再现该AV数据的设备。计算机、移动电话、数字电视、个人数字助手(PDA)等,可以是流客户机。流客户机具有存储空间(即,缓冲器)来存储预定数量的流数据或存储一段预定时间的流数据,并提供对根据不同的AV数据编码标准编码的数据解码的功能。
-多媒体内容接收器
有多种再现多媒体内容的设备。这些设备的例子可以是计算机、如同数字电视机的家用电子用具、膝上电脑、PDA、移动电话和移动电视。另外,接收和输出多媒体内容的数字机顶盒也可以是多媒体内容接收器的例子。
图1是示出传统的流客户机100的操作的方框图。图1示出接收提供高画面质量高比特率的帧210和220与接收提供低画面质量低比特率的帧310和320之间存在的不同。传统的流客户机100包括:包接收器20,用于从服务器接收数据;缓冲器30,用于临时存储接收到的包;缓冲器控制器10,用于控制存储在缓冲器30中的数据量;和解码器150,用于执行解码以输出包含在包中的AV数据。
缓冲器30是存储初始延迟时间或延迟时间的预定数量的数据的空间。根据接收到的包的大小来确定存储在缓冲器30中的数据量的最大限。例如,通过在接收到的包中的数据量是否满足比如2兆比特或3兆比特的预定容量来确定最大限。
在这种情形中,缓冲器30的容量并不精确地表示关于高比特率数据和低比特率数据的延迟时间。例如,根据MPEG2标准,能以两种格式产生数据:高清晰度(HD)和标准清晰度(SD)。表达单一帧信息的数量,即在HD格式下数据大小大于在SD格式下。例如,当1兆字节的HD数据被显示30秒时,1兆字节的SD数据可被显示50秒,长于30秒。
可仅考虑处理HD数据所必需的延迟时间来设置缓冲器30的容量。例如,当用于HD数据的延迟时间为1分钟时,缓冲器30的容量可被设置为2兆字节。在这种情况下,需要相应于1分40秒的持续时间的2兆字节的SD数据来填充缓冲器30。然而流客户机100基于1分钟的延迟时间已经设置了缓冲器30,因此,当接收SD数据时,需要相应于40秒的持续时间的更多数据。结果,用户对通过SD数据快速输出的需求不能被满足。参考图1,为了填充流客户机100的缓冲器30,当接收到高比特率数据时,需要N个帧210和220,而当接收到低比特率数据时,需要M个帧310和320,其中,N<M。在传统技术中,基于数据大小而不考虑内容属性来控制缓冲器30。
为克服这个限制,在本发明中,根据接收到的内容的属性来控制将被存储到缓冲器30中的数据量,以使流客户机100能适当地调整延迟时间。
内容属性包括画面质量。在高画面质量的情况下,单一帧的数据大小很大。相反地,在低画面质量的情况下,单一帧的数据的尺寸受限。另外,内容属性包括每秒帧的数目。当以每秒30帧的速率创建数据并且延迟时间是30秒时,在缓冲器30中需要存储900帧。然而,当以每秒25帧的速率创建数据时,在缓冲器30中仅存储750帧就可以了。
除了这些属性,当数据被存储在缓冲器30中时,无缝传输或快速重放对内容是否重要可以被考虑。当无缝传输对内容重要时,需要在缓冲器30中存储许多帧。当快速重放对内容重要时,因为需要在缓冲器30中仅存储最少的必需的帧,所以需要设置延迟时间为短,以使缓冲根本不需要大量时间。
图2是显示根据本发明示例性实施例的帧被以不同的数据大小存储在缓冲器中的例子的示意图。
当使用相同的方法对视频编码时,基于需要多少数据来构建帧可确定画面质量。当单一帧用3兆字节的数据来表现时,该帧包含多得多的信息,因此具有比用1兆字节的数据表现的帧更高的画面质量。例如,在MPEG中,可在I帧之间、在P帧之间或在B帧之间比较画面质量,但是在I帧和P帧或B帧之间比较画面质量是不合适的。图2所示的两个视频数据200和300使用相同的方法以相同的每秒帧速率被编码,但在表现单一帧的数据量上是不同的。
至于高比特率数据200和低比特率数据300二者,当流客户机100设置延迟时间为T秒时,因为播放视频T秒需要N个帧,所以需要N个帧来填充T秒。尽管需要的帧的数目相同,但是低比特率数据300具有较小的每帧比特率,因此与高比特率数据200相比具有较小量的数据将被存储在缓冲器30中。因此,当接收低比特率数据300时,在具有与应用于高比特率数据200的延迟时间相同的延迟时间的同时,可减少在缓冲器30中存储数据需要的时间。当考虑到在如图1所示的传统技术中需要低比特率数据300的M个帧并且N<M时,能容易地推断这个事实。
图3是示出视频流的结构的例子的示意性示图。在图3中MPEG2视频数据作为例子被利用。MPEG2视频数据包括数据序列900。该数据序列基于比特流,并且包括画面(以下,称为“帧”)920上的信息。帧920表现关于单一静止图像的信息,并包括多个片930。每一片930包括多个宏块940。每一宏块940包括包含关于像素的信息的块950。在MPEG2中,视频信息具有上述结构,其它编码的视频数据也具有与图3所示的结构相似的结构。
为使视频成为流,必须接收视频序列。包括在视频序列中的帧和头信息具有以现在的通信和数据处理速度不能以单一的数据包被传输或被处理的大量的数据。因此,视频序列被分成具有预定长度的包,并以包为单位被传输。
包是具有预定长度(可以是可变的或固定的)的单位,按照所述的单位来划分包括比特流的视频流。MPEG2定义了包括固定长度包的传输流和包括可变长度包的节目流。传输流能一次传输很多节目,但是数据可能丢失。节目流对多媒体应用最适宜。因此,使用上述包传输多媒体数据。
同时,有被用于通信的数据单元。这种数据单元可称为包。用于通信的数据单元随通信状态和协议而变化,并且数据的定义在传输控制协议/互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等之中不同。
传输流包具有188字节的长度。例如,在具有1024字节的传输单元的通信协议中,能发送5个传输流包。
下面描述的包是视频流被划分成的各种比特流。通过通信传输的数据单元包括诸如头的附加信息和相应于实际上期望被传输的数据的多媒体信息。因此,作为多媒体信息的一部分,例如视频流,被传输的比特流称为包。
图4是根据本发明的示例性实施例的流客户机100的方框图。
如在这里使用的术语“模块”指软件或硬件组件,例如执行某些任务的现场可编程门阵列(FPGA)或专用集成电路(ASIC),但不限定于此。模块可被方便地配置以驻留在可寻址存储介质上,并可被配置以在一个或多个处理器上执行。因此,作为例子,模块可以包括诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、进程、函数、属性、过程、子例程、程序源代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、数组和变量。在组件和模块中提供的功能性可以被结合成较少的组件和模块或进一步被分离为另外的组件和模块。另外,组件和模块可以这种方式被实现,即在通信系统中在一个或多个计算机上执行该组件和模块。
流客户机100包括延迟控制器110、包接收器120、网络适配器125、帧编译器130、帧编译控制器135、帧推动器140和解码器150。流客户机100接收从流服务器900流出的数据。如上所述,该数据是参考图3描述的包括在帧中的包和视频流的一部分。如果包具有比帧的小的大小,那么需要多个包来形成单一帧。如果关于网络和多媒体的编码技术被提高,那么单一包可包括至少一帧信息。另外,根据内容特性,单一包还可包括至少一帧信息。
换句话说,使用至少两个包形成单一帧是基于传统技术,并且不是必然需要多个包以形成单一帧。在本发明示例性实施例中,需要至少一个包以形成单一帧。然而,它只是例子,本发明不被限定于其。然后,随着关于网络和帧编码的技术被发展,单一包可以包括多个帧。本发明也能被用于这种情况。
流客户机100通过网络适配器125将数据发送到流服务器900和从流服务器900接收数据。同时,如果流客户机100仅从流服务器900接收数据,那么网络适配器125仅执行包接收和数据请求。
通过网络适配器125接收到的数据被发送到包接收器120。由包接收器120接收到的数据是比特流。关于比特流,如上所述,可假定当单一帧被发送时,单一帧被分成多个包并且多个包需要被结合以形成帧。因此,与将接收到的包立即存储在缓冲器中的传统技术不同,包被发送到管理接收到的关于相应帧的包的帧编译器130。
使用从每一包提取的帧信息可管理接收到的关于每一帧的包。例如,如果从包提取的帧信息包含帧的头,那么该包是新帧的开始,因此,该包被与帧管理列表上的新帧链接。如果该包不包括帧的头,那么该包被包括在与先前包相同的帧中,因此,该包可通过链接与包的当前连接列表结合,或可被顺序地存储在先前包被存储的部分的后面的部分。
为了顺序存储,帧编译器130可结合从包接收器120接收的比特流。结合是通过相加接收到的包来编译单一帧的比特流。
帧推动器140连续地检查由帧编译器130存储的帧的数目。当帧的数目达到预定数时,帧推动器140取得在帧编译器130中的帧,并将它们推到解码器150。换句话说,帧推动器140将由帧编译器130结合的帧以比特流的形式发送到解码器150。这个操作与以比特流的形式发送存储在传统缓冲器中的包类似,解码器150可以以与传统解码器从传统缓冲器接收数据相同的方式从帧推动器140接收数据。在开始推动之后,帧推动器140持续推动直到在帧编译器130中没有数据存在为止或直到用户请求停止重放为止。为了向用户提供无缝多媒体重放,帧推动器140的推动率和包接收器120的接收率能由延迟控制器110控制。
如果接收到的包仅仅是视频或音频流的一部分,那么它可以仅被附加地存储。如果接收到的包不是视频或音频流的一部分,而是包括其它信息,那么它可在被顺序存储之前被适当地处理。
解码器150执行解码以输出帧,并将解码结果发送到显示单元或音频输出单元。这里,需要与视频或音频解码相关的操作。
帧编译控制器135确定并存储关于将被存储在帧编译器130中的帧的数目的信息和关于延迟时间的信息。关于帧的数目的信息可以包括能由帧编译器130容纳的帧的最大和最小数目以及最初输出所需的帧的数目。帧编译控制器135可附加存储关于画面的质量的信息。这种信息与帧的属性相对应。根据该属性,能确定多少帧将被存储。例如,如果延迟时间已经被设置,则将被存储的帧的数目能根据接收到的帧的属性被确定。例如,如果延迟时间已经被设置为1分钟,并且接收到的帧已经以每秒25帧的速率被编码,那么帧编译控制器135将1500确定为被存储在帧编译器130中的帧的数目。另外,最大或最小帧数可分别基于最大或最小延迟时间以及帧的属性被设置。
在高画面质量的情况下,因为大量的包需要被接收,所以由于延迟可导致中断增加。为克服这个问题,帧编译控制器135可以增加可存储的帧数。相反地,在低画面质量的情况下,帧编译控制器135可以减少可存储的帧数。可存储的帧数可根据系统和多媒体内容被不同地设置。高画面质量和低画面质量的情况仅为例子,本发明不被限定于其。
如果存储在帧编译器130中的由包组成的帧的数目大于或远小于由帧编译控制器135设置的可存储帧数,那么延迟控制器110控制包接收率和包推动率。例如,如果存储在帧编译器130中的帧的数目小于由帧编译控制器135设置的最小帧数,那么可请求快速传输以使更多的帧被发送到帧编译器130。如果快速传输难以实现,那么帧推动率可以被减小以使比最小帧数更多的帧存在于帧编译器130中。延迟控制器110通过控制帧推动器140能控制推动率,并通过控制通过网络适配器125从流服务器900接收数据来控制接收率。
相反地,如果存储在帧编译器130中的帧的数目超出最大的帧数,那么帧编译器130可以不管理存储的帧。在这种情况下,流客户机100可以请求流服务器900减少或片刻停止数据发送。在流技术中,如果流客户机100使用拉策略取得数据,那么流客户机100能执行流控制,因此,延迟控制器110能控制与数据接收相关的操作。即便当流服务器900使用推策略将数据发送到流客户机100时,如果使用允许流客户机100控制数据率的协议,那么延迟控制器110能请求流服务器900停止数据发送或通过网络适配器125以低传输率发送数据。
图5示出根据本发明示例性实施例的由帧编译器130管理的包和帧的结构。在图5示出的示例性实施例中,单一帧包括至少一个包。
帧编译器130能存储从包接收器120接收的关于每一帧的包。帧编译器130能确定接收到的包是否是帧的头部。如果接收到的包是帧的头部,那么新的连接列表可以被创建。如果接收到的包不是帧的头部,那么接收到的包可通过链接被连接到现有的连接列表,这被称为链接方案。在另一示例性实施例中,关于每一帧的开始位置的信息可以通过帧管理列表被保持,因为包是比特流,所以关于相应帧的包可以相加。这个方案被称为结合方案。
在链接方案中,如果形成单一帧需要k个包,那么这k个包可通过链接被连接并被存储。各个包链接的头部可以以该包链接被输入到解码器150的顺序被连接。当单一帧已经包括k个包时,关于存储在帧编译器130中的帧的数目的信息被改变。这个信息被存储在帧编译控制器135中。帧编译控制器135还可以设置与最大或最小延迟时间相对应的帧数。
当在一定的每秒帧速率下满足延迟时间T的帧的数目是四时,包括在每一帧中的包的数目随画面的质量即比特率变化。
参考图5,帧编译器130为每一帧创建包的连接列表,并使用另一连接列表来管理各帧的头部包。然而,在本发明的另一示例性实施例中,通过使用结合方案,可以将包结合成帧,并且为每一帧创建连接列表。
图6A、6B和6C示出在本发明的实施例中从接收到包直到输出帧为止在帧编译器130中的变化。阶段(1)、(2)和(3)显示以间顺序接收到的包怎样被存储和被输出。
在图6A的阶段(1)中,包接收器120存储包。基于包的头部可确定该包是帧的开始包还是帧的结束包。当包是开始包时,帧编译器130排列用于形成单一帧的包的组211或212,例如,连接用于形成单一帧的包或被顺序地存储的包的列表,并创建与帧管理列表800的新的连接以形成另一帧。该包的组包括比特流的包的连接。该包的组可以通过在存储空间中顺序地存储包被获得。至于被顺序地存储的包,帧管理列表800保存指示帧的头部包被存储的位置的指针,以使帧推动器140能取得该帧。
在图6A的阶段(1)中,被存储在帧编译器130中的帧的数目大于最小帧数并小于最大帧数。帧编译控制器135具有关于最大和最小帧数的信息。需要关于最大和最小帧数的信息以控制接收率。根据系统结构,控制接收率所需的信息不是必须包含最大和最小帧数,而是可以仅包含可存储的帧数。
在图6B的阶段(2)中,和最大帧数一样多的帧已经被存储在帧编译器130中。在这个情形下,存储在帧编译器130中的帧必须被输出以存储后来由包接收器120接收到的包。因此,帧推动器140从帧编译器130取得包,并将所述包发送到解码器150,以使在帧编译器130中剩余的由包组成的帧的数目至少是最小帧数。帧推动器140根据在帧管理列表800上的帧的顺序取得每一帧的包。如果所述包使用链接方案被连接,那么帧推动器140能根据链接的顺序取得所述包。另一方面,如果所述包已经顺序地被存储,那么帧推动器140能以它们已经被存储的顺序取得所述包。因此,先于其它包被存储的包211和包212被首先输出。帧推动器140可以使用包构建帧,并将该帧发送到解码器150。这里,帧推动器140可以从帧编译器130取得相应于单一帧的包,将这些包转换成帧,并将该帧发送到解码器150。如果帧推动器140具有大的存储空间,那么帧推动器140可以同时取得组成预定数目的帧的很多包,并创建相应的帧。帧推动器140的这个操作可随系统结构而变化。
在图6C的阶段(3)中,因为存储在帧编译器130中的帧的当前数目小于最大帧目,所以帧编译器130能接收更多的包。在帧编译器130接收包的同时,帧推动器140能从帧编译器130不断地取得包,并将它们发送给解码器150。在这个操作期间,流控制可被执行,以使存储在帧编译器130中的帧的当前数目至少是最小帧数,并且不大于最大帧数。
图7示出在本发明示例性实施例中当帧的属性变化时在帧编译器130和帧编译控制器135中发生的变化。
因为根据内容,每秒帧速率可以不同,所以由帧编译控制器135设置的最大帧数和最小帧数可随媒体类型而变化。参考图7,内容A具有每秒25帧的速率。所以,当延迟时间是10秒时,基于估计的最大延迟时间15秒,将最小帧数设置为250和将最大帧数设置为375。内容B具有每秒30帧的速率。因此,当延迟时间是10秒时,基于估计的最大延迟时间15秒,将最小帧数设置为300和将最大帧数设置为450。如上所述,因为延迟时间能保持恒定,所以即使内容属性不同,不必要的缓冲仍能被防止。
同时,在本发明示例性实施例中,形成帧所需的信息不一定是每秒帧速率。例如,诸如HD或SD的定义画面质量特征的字段的值可以被使用。如果以相同的每秒帧速率编码的内容具有不同的画面质量,即高画面质量和低画面质量,则关于每秒帧速率和画面质量的信息可以被包含在帧头部中。
另外,将被存储的帧的数目可基于组成单一帧信息的大小被确定。基于这个信息,帧编译器130能根据由接收到的包组成的帧的属性计算将存储的数据量。此外,根据内容需要无缝重放还是快速重放,将被存储的帧的数目可以不同。例如,如果按照网络状态,内容传输慢,那么依照这个情况,可以将存储的帧的数目增加。因此,内容属性可以包括帧的数目、画面质量、关于重放和内容的传输的信息等。关于内容属性的这样的信息可以被包含在帧编译器130中。
图8是显示在本发明示例性实施例中被存储在帧编译器130中的帧数据量的曲线图。如图7所示,当接收到的内容的属性变化时,存储的包的数量也变化。
假定有两个属性A和B。具有属性A的内容可以是低比特率的内容,并且更期望快速传输而非无缝传输。相反地,具有属性B的内容可以是高比特率的内容,并且更期望无缝传输而非快速传输。在描述图8中,假定属性A是低比特率而属性B是高比特率。参考图8,因为当相应于存储的包的帧的数目达到最大帧数时,包被输出到帧推动器140,存储的包的数量有规律地增加,然后而减少。
当初始延迟时间已经过去时(1),因为相应于初始延迟时间的帧的数目可以与最大帧数或最小帧数不同,所以帧编译器130以初始所需的数量输出缓冲的内容。属性A的最大和最小帧数分别称为Amax和Amin。当帧编译器130存储比最大帧数Amax多的帧时,它输出帧。延迟控制器110控制帧编译器130以使其保持存储比最小帧数Amin多的帧。
当存储在帧编译器130中的数目达到最大帧数Amax时(2),帧编译器130输出包。其后,帧编译器130不断地输出数据并将存储的帧数保持在最大帧数Amax和最小帧数Amin之间。同时,当由于更好的网络性而传输具有属性B的内容时,最大帧数和最小帧数可以变化。用于属性B的最大帧数和最小帧数分别称为Bmax和Bmin,并能基于接收到的帧信息被获得。用于具有属性B的内容的存储模式可以与用于具有属性A的内容的存储模式不同。当具有属性B的内容被接收时(3),将包存储在帧编译器130中的存储模式变化。其后,当由于退化的网络状态导致具有属性A的内容被接收时(4),最大和最小帧数分别从最大帧数Bmax和最小帧数Bmin改变成最大帧数Amax和最小帧数Amin,并且控制被执行以保持帧编译器130存储在最大帧数Amax和最小帧数Amin之间的数据。
最大帧数Amax和Bmax以及最小帧数Amin和Bmin通过帧编译控制器135被设置以使帧编译器130识别保持在其中的数据量。
图9是根据本发明示例性实施例的流客户机100以帧为单位存储和输出数据的程序的流程图。
在操作S110中,包接收器120接收网络适配器125从流服务器900接收的数据中的帧中包括的包,并将该包发送到帧编译器130。在操作S120中,帧编译器130检测包的帧信息以确定该包是否具有与先前包不同的帧属性。例如,在低比特率内容被接收期间网络通信量减少之后,当高比特率内容被接收时,或当没有帧被接收从而当前没有形成帧所需的信息时,帧的属性改变。如果确定该包具有与先前包不同的帧属性,那么在操作S122中,存储在帧编译控制器135中的信息被改变,并且程序走向操作S124。如果确定该包具有与先前包相同的帧属性而没有执行操作S122,那么在操作S124中,确定该包是否是帧的开始。
如果该包不是帧的开始,并且没有帧正在构建中,那么帧不是从开始而是在中间的某处发送的。换句话说,当用户选择与流多媒体的中间相对应的位置时,不是包括帧的开始的包而是与帧的中间相对应的包被接收。因为这些包不能构建完全的帧,所以这些包可能被丢弃。包的组或集合是通过经链接连接用于一帧的包或通过顺序存储用于一帧的包而获得的单元帧。
如果该包不是新帧的开始而是被包括在正在构建的当前帧中,那么在操作S130中,该包被加在顺序地存储以构建当前帧的包的组(或集合)中。如果该包是新帧的开始,则因为由先前包的组构建的帧与当前接收到的包的新帧不同,所以在操作S132中,结束用于构建帧的先前包的组(或集合)。因为当前包是新帧的第一包,所以在结束先前包以后,在操作S134中,用于新帧的新的包的组被创建。
因为用于单一帧的包被结束,所以在操作S136中,在帧编译控制器135中设置的当前的帧数被增加一。在操作S138中,确定当前的帧数是否超过预定值,所述预定值根据系统状态可以为最大帧数或最小帧数。例如,如果被存储在帧编译器130中的帧的当前数目超过考虑延迟时间而足以输出的帧数,那么在操作S140中,帧推动器140从帧编译器130取得帧并将它们推向解码器150。同时,即使在操作S138中,当帧的当前数目没有超过该预定值时,为了连续地输出内容,存储在帧编译器130中的帧仍可以被输出直到帧的当前数目小于或等于最小帧数为止。这个输出操作可以随内容属性和流点变化。
根据该设备和方法,在接收AV数据中,存储在缓冲器中的数据量能自适应地被控制。
另外,存储在缓冲器中的数据量可根据AV数据的属性而被控制,因此,在AV数据流动中所发生的延迟可被减小。
本领域的普通技术人员应该理解,在不脱离由下面的权利要求限定本发明的精神和范围的情况下,可以对其进行形式和细节的各种改变。因此,应该理解,上面描述的示例性实施例仅是为了示出的目的,不能被理解为是本发明的限定。本发明的范围是通过所附的权利要求而不是前面的描述给出,落于权利要求的范围内的所有的变化和等同物包含在其中。

Claims (14)

1、 一种在接收音频-视频数据中根据内容属性自适应控制缓冲量的方法,该方法包括:
根据从接收到的包提取的帧信息确定将被存储的帧的数目;
在确定的帧的数目范围内按帧连接并存储包;和
如果与存储的包相对应的帧的数目超过确定的将被存储的帧的数目,那么将按帧连接并存储的包输出到解码器。
2、 根据权利要求1所述的方法,其中,帧信息包括帧的画面质量、每秒帧速率和组成单一帧信息的大小中的一个。
3、 根据权利要求1所述的方法,其中,帧信息包括帧的内容的传输率和关于帧的内容的重放的信息中的一个.
4、 根据权利要求1所述的方法,其中,确定将被存储的帧的数目的步骤包括:根据包被接收的网络状态计算延迟时间,并基于该延迟时间确定将被存储的帧的数目。
5、 根据权利要求1所述的方法,其中,连接并存储包的步骤包括:为每一帧创建并存储包的链接.
6、 根据权利要求1所述的方法,其中,连接并存储包的步骤包括:按帧顺序地存储包。
7、 根据权利要求1所述的方法,还包括:如果与存储的包相对应的帧的数目小于确定的将被存储的帧的数目,那么控制包的推动率和接收率中的一个。
8、 一种在接收音频-视频数据中根据内容属性自适应控制缓冲量的设备,该设备包括:
帧编译器,按帧连接并存储包;
帧编译控制器,根据从所述包提取的帧信息确定将被存储在帧编译器中的帧的数目;和
帧推动器,如果与存储的包相对应的帧的数目超过确定的将被存储的帧的数目,那么将在帧编译器中按帧连接并存储的包输出到解码器。
9、 根据权利要求8所述的设备,其中,帧编译器为每一帧创建包的链接以按帧连接并存储包,并包括帧管理列表以管理帧.
10、 根据权利要求8所述的设备,其中,帧编译器按帧顺序地存储包以按帧连接并存储包,帧编译器包括帧管理列表以管理帧.
11、 据权利要求8所述的设备,其中,帧信息包括帧的画面质量、每秒帧速率和组成单一帧信息的大小中的一个。
12、 根据权利要求8所述的设备,其中,帧信息包括帧的内容的传输率和关于帧的内容的重放的信息中的一个.
13、 根据权利要求8所述的设备,其中,帧编译控制器根据包被接收的网络状态计算延迟时间并基于该延迟时间确定将被存储的帧的数目。
14、 根据权利要求8所述的设备,还包括:延迟控制器,如果与存储的包相对应的帧的数目小于确定的将被存储的帧的数目,那么控制包的推动率和接收率中的一个.
CNB2005100888428A 2004-07-30 2005-07-29 根据内容属性自适应控制缓冲量的设备和方法 Expired - Fee Related CN100426865C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2004-0060270 2004-07-30
KR1020040060270 2004-07-30
KR20040060270A KR100678891B1 (ko) 2004-07-30 2004-07-30 Av데이터 수신시 버퍼량을 컨텐츠 속성에 따라탄력적으로 조절하는 방법 및 장치

Publications (2)

Publication Number Publication Date
CN1728829A CN1728829A (zh) 2006-02-01
CN100426865C true CN100426865C (zh) 2008-10-15

Family

ID=35732117

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100888428A Expired - Fee Related CN100426865C (zh) 2004-07-30 2005-07-29 根据内容属性自适应控制缓冲量的设备和方法

Country Status (4)

Country Link
US (1) US20060023729A1 (zh)
JP (1) JP2006050604A (zh)
KR (1) KR100678891B1 (zh)
CN (1) CN100426865C (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135951B2 (en) * 2006-10-10 2015-09-15 Qualcomm Incorporated System and method for dynamic audio buffer management
KR100787314B1 (ko) * 2007-02-22 2007-12-21 광주과학기술원 미디어내 동기화를 위한 적응형 미디어 재생 방법 및 장치
JP5087985B2 (ja) * 2007-04-27 2012-12-05 ソニー株式会社 データ処理装置、データ処理方法、及びプログラム
JP2010109529A (ja) * 2008-10-29 2010-05-13 Renesas Technology Corp 多重化制御装置
KR101104728B1 (ko) * 2008-10-31 2012-01-11 에스케이플래닛 주식회사 가변 버퍼링을 이용한 스트리밍 서비스 제공 방법 및 장치
KR100979311B1 (ko) * 2008-11-06 2010-08-31 주식회사 엘지유플러스 VoD 서비스를 위한 버퍼링 처리 방법, 및 적응적 버퍼링기능을 갖는 IPTV 셋톱박스
JP5278059B2 (ja) * 2009-03-13 2013-09-04 ソニー株式会社 情報処理装置及び方法、プログラム、並びに情報処理システム
WO2012040837A1 (en) * 2010-09-01 2012-04-05 Jigsee Inc. Systems and methods for resilient media streaming
US8723913B2 (en) * 2010-10-07 2014-05-13 T-Mobile Usa, Inc. Rate adaptation for video calling
KR101147793B1 (ko) * 2010-12-29 2012-05-18 전자부품연구원 방송 송신 장치용 다중화기 및 그 다중화기의 rs 프레임 생성 방법
US8498401B2 (en) 2011-07-21 2013-07-30 T-Mobile Usa, Inc. Mobile-to-mobile call determination
US9118801B2 (en) 2011-10-24 2015-08-25 T-Mobile Usa, Inc. Optimizing video-call quality of service
US20140136643A1 (en) * 2012-11-13 2014-05-15 Motorola Mobility Llc Dynamic Buffer Management for a Multimedia Content Delivery System
EP3120520B1 (en) * 2014-03-17 2023-05-24 bitmovin GmbH Media streaming
KR102133012B1 (ko) * 2014-04-07 2020-07-10 삼성전자주식회사 미디어 스트리밍 방법 및 그 전자 장치
KR101706573B1 (ko) * 2015-07-02 2017-02-15 서울대학교산학협력단 멀티캐스트 스크린 미러링 장치 및 방법
US11432086B2 (en) 2019-04-16 2022-08-30 Biamp Systems, LLC Centrally controlling communication at a venue
US11438266B2 (en) * 2020-02-04 2022-09-06 Mellanox Technologies, Ltd. Generic packet header insertion and removal
KR20220130394A (ko) * 2021-03-18 2022-09-27 삼성전자주식회사 복수의 미디어 스트림을 전송하는 전자 장치 및 그 방법
CN115134641B (zh) * 2022-07-05 2023-10-27 北京字跳网络技术有限公司 投屏方法、装置和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145154A (zh) * 1994-12-28 1997-03-12 菲利浦电子有限公司 可变比特率压缩系统中的缓冲器管理
CN1145153A (zh) * 1994-12-28 1997-03-12 菲利浦电子有限公司 利用联合比特率控制的数字视频信号编码器的缓冲存储
US5822524A (en) * 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
US6188792B1 (en) * 1995-10-27 2001-02-13 Kabushiki Kaisha Toshiba Video encoding and decoding apparatus
CN1293871A (zh) * 1998-11-18 2001-05-02 皇家菲利浦电子有限公司 流式视频接收机的解码器缓冲器
US6711126B1 (en) * 1999-11-12 2004-03-23 Alcatel Congestion control of AAL2 connections

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1118083A (ja) * 1997-06-25 1999-01-22 Sony Corp ディジタル信号符号化方法及び装置、信号記録媒体並びに信号伝送方法
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US6882711B1 (en) * 1999-09-20 2005-04-19 Broadcom Corporation Packet based network exchange with rate synchronization
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
KR20010093875A (ko) * 2000-04-01 2001-10-31 이승룡 멀티미디어 스트리밍 환경에서 클라이언트 측에서 통합된푸시/풀 버퍼 관리 방법
US7218610B2 (en) * 2001-09-27 2007-05-15 Eg Technology, Inc. Communication system and techniques for transmission from source to destination

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145154A (zh) * 1994-12-28 1997-03-12 菲利浦电子有限公司 可变比特率压缩系统中的缓冲器管理
CN1145153A (zh) * 1994-12-28 1997-03-12 菲利浦电子有限公司 利用联合比特率控制的数字视频信号编码器的缓冲存储
US5822524A (en) * 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
US6188792B1 (en) * 1995-10-27 2001-02-13 Kabushiki Kaisha Toshiba Video encoding and decoding apparatus
CN1293871A (zh) * 1998-11-18 2001-05-02 皇家菲利浦电子有限公司 流式视频接收机的解码器缓冲器
US6711126B1 (en) * 1999-11-12 2004-03-23 Alcatel Congestion control of AAL2 connections

Also Published As

Publication number Publication date
US20060023729A1 (en) 2006-02-02
CN1728829A (zh) 2006-02-01
JP2006050604A (ja) 2006-02-16
KR20060011426A (ko) 2006-02-03
KR100678891B1 (ko) 2007-02-05

Similar Documents

Publication Publication Date Title
CN100426865C (zh) 根据内容属性自适应控制缓冲量的设备和方法
US11196786B2 (en) Interface apparatus and method for transmitting and receiving media data
US8135040B2 (en) Accelerated channel change
US7984179B1 (en) Adaptive media transport management for continuous media stream over LAN/WAN environment
US8837586B2 (en) Bandwidth-friendly representation switching in adaptive streaming
CN101222616B (zh) 点播服务中的mpeg传送流的传输处理方法
US20140325572A1 (en) Method for linking mmt media and dash media
CN101651826B (zh) 发送和接收媒体的方法、装置以及系统
KR102012528B1 (ko) 수신 비트율 및 연관된 수신기의 동적 적응 방법
US20040034870A1 (en) Data streaming system and method
KR20130005873A (ko) 방송 시스템에서 컨텐츠 수신 방법 및 장치
CN105376613A (zh) 一种快速频道切换方法、服务器及iptv系统
WO2021143360A1 (zh) 资源传输方法及计算机设备
US11647242B2 (en) Methods and systems for low latency streaming
CN104427400A (zh) 流媒体传输方法、系统以及流媒体服务器
CN109413456A (zh) 一种面向基于http的动态自适应流媒体多假设码率自适应系统及方法
CN106612462B (zh) 快进快退的处理方法及终端
JP2014090419A (ja) 通信パラメータに従ってコンテンツをダウンロードするための方法、および、関連するコンテンツ受信機
JP2011511554A (ja) ビデオデータをストリーミングするための方法
CN103139188B (zh) 流媒体传输方法与系统
KR101625663B1 (ko) 콘텐트를 수신하기 위한 방법 및 장치
US20220030300A1 (en) Quick streaming reconnect by preserving streaming context on app exit
WO2009080114A1 (en) Method and apparatus for distributing media over a communications network
CN105491394A (zh) 发送mmt包的方法及装置、接收mmt包的方法
WO2010110241A1 (ja) コンテンツ受信装置、コンテンツ配信装置、コンテンツ配信システム、コンテンツ受信方法およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081015