CN1481643A - 音频和/或视频资料的传输和接收 - Google Patents

音频和/或视频资料的传输和接收 Download PDF

Info

Publication number
CN1481643A
CN1481643A CNA018205577A CN01820557A CN1481643A CN 1481643 A CN1481643 A CN 1481643A CN A018205577 A CNA018205577 A CN A018205577A CN 01820557 A CN01820557 A CN 01820557A CN 1481643 A CN1481643 A CN 1481643A
Authority
CN
China
Prior art keywords
file
data
terminal
subfile
data transfer
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.)
Granted
Application number
CNA018205577A
Other languages
English (en)
Other versions
CN1243442C (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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB0030706.6A external-priority patent/GB0030706D0/en
Priority claimed from GB0108094A external-priority patent/GB0108094D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN1481643A publication Critical patent/CN1481643A/zh
Application granted granted Critical
Publication of CN1243442C publication Critical patent/CN1243442C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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
    • H04L65/1106Call signalling protocols; H.323 and related
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • 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/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

通过将资料分割为一系列的子文件,终端独立地请求每一个子文件,通过远程通信链路(2)把记录的音频或者视频资料从服务器(1)传输到终端(3),从而能够控制传输的速率。可以对在代表不同数据率的传输模式的不同子文件集之间进行切换做出规定。

Description

音频和/或视频资料的传输和接收
技术领域
本发明涉及通过远程通信链路对数字编码资料进行传输,从而呈示给用户。
背景技术
在已知的此类型的系统中,通常称为“流服务器(streamer)”的专用服务器控制将信号传输到用户终端。通常,在该服务器中,将所要传输的资料项目存储在一个文件中;而美国专利5,610,841描述了一种视频服务器,其对分割为“媒体段文件”的信号进行存储。在已经公布的欧洲专利申请EP-A-669,587中,描述了另外一种此类系统,其中终端对其接收缓存器内容进行监视,并在合适的时候,请求服务器对其视频数据率进行调整,从而应对网络拥塞。
发明内容
根据本发明的一个方面,提供了一种用于播放音频或者视频资料的终端,该资料作为表示所述资料的连续时间部分的文件集而存储在远程服务器上,该终端包括:
远程通信接口,用于与服务器进行通信;
缓存器,用于从远程通信接口接收文件;
用于播放缓存器内容的装置;以及
控制装置,对缓存器的状态作出反应,以生成请求消息,请求对缓存器进行补充的更多文件。
另一方面,本发明提供了一种对数字编码的音频或者视频资料进行传输的方法,包括:
将该资料分为多个离散的文件,每一个文件均代表所述资料的连续时间部分;
在第一站点,对文件进行存储;
在第二站点
a)向第一站点发送请求,请求连续的各个文件;
b)接收文件;以及
c)对文件进行解码,以播放资料。
在权利要求中,指出了本发明的其它的、可选的方面。
附图说明
下面参照附图对本发明的一些实施例进行描述,附图中:
图1显示的是所要描述的系统的总体结构;
图2显示的是用于此类系统中的终端的方框图;
图3显示的是典型的索引文件的内容;
图4是一个时序图,解释了一种改进的子文件生成方法;
图5显示的是一种改进的结构。
具体实施方式
图1所示系统的目标是通过远程通信网络向用户传输数字编码音频信号(例如,所记录的音乐或者语音),传输给用户终端,在此处,将相应的声音播放给用户。但是,如同将在下面将要详细描述的,该系统可以用于传输视频信号,而不是,或者附加于音频信号。在本例中,网络是互联网或者根据超文本传输协议(请参考RFCs 1945/2068)进行操作的其它分组网络,虽然在原理上,也能够使用其它的数字链路或者网络。同时假设音频信号是使用ISO MPEG-1第三层标准(“MP3标准”)以压缩形式进行记录的。然而,也不必要使用此特别的格式。实际上,也不必使用该压缩形式,虽然事实上其是很可取的,尤其是如果可用的比特率有限,或者存储空间有限。在图1中,通过互联网2将服务器1连接到用户终端3,仅显示了其中之一。服务器1的功能是存储数据文件,从用户终端接收传输所要求数据文件的请求,响应于此请求,通过网络将文件传输到用户终端。通常,此类请求的第一部分指示网络传输机制(例如,对于超文本传输协议或者文件传输协议分别是http://或者file://),后面跟着服务器的网络地址(例如,www.serverl.com),后面为所请求文件的名称。注意,在给出的实例中,由于打字的原因,此类名称中由“\\”代替“//”。
在这些实例中,假设使用超文本传输协议;这并非是必要的,但是有益于允许使用由该协议所提供的验证和安全特征(诸如安全套接层)。
通常,用于传输MP3文件的服务器采用所谓的流服务器的形式,其包括根据用户终端处的播放要求对数据传输速率进行动态控制、掩蔽由于分组丢失所导致的错误、以及如果允许用户交互操作,则控制服务器和客户机之间的数据流的处理机制。但是此处,服务器1无需具有这些。因此,其仅仅是一个普通的“网络服务器”。
现在描述数据文件在服务器1上的存储方式。假设已经创建了MP3格式的文件,并且要存储在服务器上。假设其是D小调的J.S.巴赫的Toccata(BWV 565)的录音,其通常的演奏时间为9分钟。最初,将其创建为一个单独的数据文件,在普通的流服务器上存储为一个单独的文件。但是,此处,在将其存储到服务器1上之前,将该文件分割为多个较小的文件。我们希望这些较小文件中的每一个都具有与可能是4秒的固定演奏时间相对应的大小。使用诸如MP3的压缩格式,这可能意味着这些文件实际包含不同大小的比特数目。因此,将9分钟时间的巴赫文件分为135个小的文件,每一个具有4秒钟的演奏时间。在本实例中,这些文件的名称包括用于指示其在原始文件中的顺序的序号,例如:
000000.bin
000001.bin
000002.bin
000003.bin
.        \
.        \
000134.bin
将文件分为这些较小的子文件的操作,通常由准备将该文件装载到网络服务器1上的人员来完成。(这里使用术语“子文件”,以将其与包含整个记录的原始文件区分开来,然而必须强调的是,对于服务器而言,各个“子文件”就是一个与任何其它文件一样的文件)。下面将更为详尽的对其精确的生成方式进行描述。一旦创建完毕,就以通常的方式将这些子文件上载到服务器上去,就像上载到网络服务器上的任何其它文件一样。当然,文件名也可以包含用于识别特定记录的字符(子文件也可以使用附加信息进行“标签”——当你播放MP3文件时,你能够得到关于作者、版权等的信息),但是在此实例中,将这些子文件存储在服务器上的专用于该特定记录的目录或者文件夹中,例如,mp3_bwv565。因此,当需要的时候,可以以下面的形式请求子文件:
http:\\www.serverl.com/mp3_bwv565/000003.bin
其中,www.serverl.com是服务器1的URL。
对于准备将子文件上载到服务器上的人员而言,针对各个记录,创建一个同样存储在服务器上的链接页面(通常是HTML格式的)也是很方便的(或许其文件名为mp3_wv565/link.htm)。将在后面对其结构和目的进行描述。
对于网络服务器而言,存储一个或多个包含可用记录列表的(html)菜单页面(例如,menu.htm)也是很方便的,其具有到相应链接页面的超级链接。
对于终端,其通常是传统的台式计算机,但是具有用于处理接收所讨论的音频文件的附加软件。如果需要,终端也可以是便携计算机,或者甚至可以嵌入到移动电话中。因此,图2显示了这样的一个终端,其具有中央处理器30,存储器31,磁盘存储器32,键盘33,视频显示器34,通信接口35,以及音频接口(“声卡”)36。对于视频传输,可以使用视频卡代替卡36,或者在其基础之上进行添加。以通常的方式,程序存储在磁盘存储器中,能够由存储器31进行读取,由处理器30运行。这些程序包括通信程序37,用于对html页面进行调用和显示,即诸如NetscapeNavigator或者Microsoft Explorer的“网络浏览器”;还有程序38,此处称为“播放器程序”,其提供了播放根据本发明实施例的音频文件所需的功能。同样,还显示了存储器31的区域39,其用作缓存器。这是一个解码音频缓存器,包含等待播放的数据(通常,缓存器的播放时间为10秒)。音频接口或声卡36可以是通常的板卡,仅用于接收PCM音频,并且将其转换成为模拟音频信号,例如,用于通过扬声器进行播放。首先,我们对使用HTTP和嵌入式或“插入式”客户机时终端读取和播放所需记录的操作进行概述。
1、用户使用浏览器,从服务器1上对菜单页面menu.htm进行读取和显示;
2、用户在菜单页面中选择一个超级链接,其使得浏览器从服务器上读取所需记录的链接页面,并且进行显示,在本例中,该文件是mp3_bwv565_link.htm。该页面的实际显示并不重要(除了其可能会包含消息,用于使用户放心,系统正在正常工作)。对此页面,重要的是其包含一个命令(或者“嵌入标签”),用于在处理器30中调用次级进程,在其中运行播放器程序37。以此方式对次级进程进行调用是众所周知的(此类进程在Netscape系统中称为“plug-in”,而在Microsoft系统中称为“ActiveX”)。此命令还可以包含要传递到次级进程的参数,而在图1中的系统中,该命令包含记录的服务器URL,对于巴赫的记录,其为http:\\www.serverl/mp3_bwv565。
3、播放器程序37包括MP3解码器,其操作本身采用通常的方式。这里更重要的其控制功能,如下所述。
4、接收到URL的播放器程序将第一个子文件的文件名添加到该URL,以生成子文件的完整地址,例如,www.serverl/mp3_bwv565/000000.bin。注意到,本系统是基于以上述方式对子文件进行命名而构建的,从而不必将文件名通知给终端。该程序构建对具有此URL的文件的请求消息,并且通过通信接口35和互联网2,将其传输给服务器1。(将URL翻译为IP地址,以及对无效、不完整或者不可用URL的错误报告的处理,采用通常方式,此处不再赘述)。我们设想播放器程序将请求直接发送到通信接口,而不是通过浏览器。服务器通过传输所请求的子文件而进行响应。
5、播放器程序从文件中确定此子文件中使用的音频编码,并且根据相关的标准(在本例中为MP3),将文件解码还原为最初的PCM值,对此子文件的播放时间作出标记。通常,音频文件在文件的开始包含标识符,其说明所使用的编码方式。然后将解码的音频数据存储在音频缓存器38。
6、播放器程序具有称为播放时间Tp的参数。在本实例中,将其设定为10秒(如果需要,可以由用户进行选择)。其决定了终端所执行的缓冲级别。
7、播放器程序将文件名递增为000001.bin,并且按照上述(4)、(5)步骤,对此第二个子文件进行请求、接收、解码和存储。其重复此处理,直到缓存器的内容到达或者超过播放时间Tp。注意,不必要在缓存器之前进行解码,但是这样简化了处理,因为在将音频解码还原为PCM之后,缓存部分的持续时间就会很清楚。如果各个子文件都是相同的音频播放规格,则可以简化音频缓存器的控制。
8、当到达播放阈值Tp后,将解码的数据从缓存器发送到音频接口36,其通过扬声器(未显示)而播放声音。
9、当在上述的(8)中播放声音时,播放器程序连续地对缓存器的满存状态进行检测,当其低于Tp时,其再次递增文件名,并且从服务器获得下一个子文件。重复这个过程,直到返回“错误:未找到文件”。
10、在此过程中,如果缓存器变空,则播放器程序停止播放,直到又有数据到达。
此处优选使用的命名规则是从零开始的固定长度的序号,原因是易于实现,但是只要播放器程序包含(或者被传送了)第一个子文件的名称和能够使其计算后续子文件的算法,或者被传送了文件名的列表,就可以使用任意的命名规则。
注意到,上述的系统没有为用户提供在播放过程中进行干预的机会。也没有提供对缓存器下溢(例如,由于网络拥塞)的补救。因此,现在描述本发明的第二个更为完善的实施例,其提供了下述更多的特征:
a)服务器存储两个或者更多版本的记录,其以不同的压缩率进行记录(例如,分别以8、16、24、和32KB/s的(连续)数据率进行压缩),而播放器程序能够自动地在它们之间进行切换。
b)播放器程序为用户提供控制面板,从而用户可以开始播放,暂停,重新播放(从开始,或者从其暂停处开始),或者跳转到该记录的不同点(向前或者向后)。
注意,由于无需数据率切换即可进行用户控制,反之亦然,所以这些功能不是相互依赖的。
为了提供数据率切换,准备将文件装载到服务器上的人员通过以不同的数据率对同一个PCM文件进行多次编码,从而准备好数个源文件。然后,他按照前面的方式,将各个源文件分为子文件。可以将这些子文件装载到服务器对应于不同数据率的单独目录中,在下面的示例结构中,目录名中的“008k”、“024k”指的是8KB/s和24KB/s的数据率,其它依此类推。
他也可以创建索引文件(例如,index.htm),其主要目的是提供可用数据率的列表。
目录 子目录 文件名
mp3_bwv565 link.htmindex.htm
mp3_bwv565 008k_ll_m 000000.bin000001.bin000002.bin000003.bin . .000134.bin
mp3_bwv565 016k_ll_m 000000.bin000001.bin000002.bin000003.bin..000134.bin
mp3_bwv565  018k_ll_s 000000.bin000001.bin
 000002.bin000003.bin..000134.bin
Mp3_bwv565  024k_ll_s  000000.bin000001.bin000002.bin000003.bin..000134.bin
Mp3_bwv565  032k_ll_s  000000.bin000001.bin000002.bin000003.bin..000134.bin
注意,如上所述,由于子文件的长度对应于固定的时间长度,所以各个目录的子文件数目相同。子目录名称包括以KB/s为单位的数据率(三位数字),加上字母“k”;在本例中,附加了音频采样率(11.025kHz)和单/双声道标记,用于验证。
索引文件包括下面格式的语句:
<!--Audio=“024k_ll_s 032k_ll_s 018k_ll_s 016k_ll_m008k_ll_m”-->
(在html文件中(或者可以使用简单的文本文件),<!--…-->指的是语句作为注释而嵌入)。在图3中显示了典型的索引文件,其中包含了其它的信息:LFI是最大子文件数目(即,有45个子文件),而SL是总播放时间(178秒)。“Mode(模式)”指的是“recorded(录制)”(如此处所示)或者“live(现场)”(将在下面进行描述)。其它的条目或者是不需加以说明的,或者是标准的html命令。
开始,播放器程序从链接文件所指定的目录中请求索引文件,并且将可用数据率的列表进行本地存储,以备将来之用。(其可以清楚地请求此文件,或者仅仅指定目录:如果没有指定文件名,则大多数服务器缺省指向index.htm)。然后,其按照前面所述的方式,从索引文件中第一个提到的“数据率”目录—即024k_ll_s中,开始请求音频子文件(或者通过将其修改为该终端指定的缺省数据率,该终端能够越过此步骤)。从此开始,播放器程序对从服务器获得的实际数据率进行测量,对一段时间进行平均(例如,30秒)。其通过对每一个URL请求进行计时而实现这一功能;确定客户端和服务器之间所达到的传输率(每秒钟的比特数目)。随着请求数目的增加,此数字的精确度也得到提高。播放器保持两个所存储的参数,其分别指示当前数据率和测量的数据率。
下列情况会引发数据率的改变:
a)如果缓存器为空并且测量数据率小于当前数据率,并且测量的缓存器低百分比大于下调阈值(如下所述),则降低当前数据率;(在缓存器已经为空时,进行改变是有利的,因为声卡没有播放任何声音,并且如果改变了音频采样率、双/单声道或者比特宽度(每个采样中的比特数目),则有必要进行重新配置)。
b)如果测量的数据率不仅大于当前数据率,而且在给定的时间段中(例如,120秒:如果需要,这可以由用户进行调整),也大于后面的较高的数据率,则提高当前数据率。
缓存器低百分比指的是缓存器容量所占时间小于播放时间的25%(即,缓存器接近于空)的时间百分比。如果将下调阈值设定为0%,则当缓存器为空时,当满足其它条件的时候,系统总是下调。将下调阈值设定为5%(这是我们优选的缺省值),表示如果缓存器为空,而所测量的缓存器低百分比大于5%时,不进行下调。进一步的缓存器空显然将导致提高所测量的数据率,并且如果不能保持该数据率,则最终缓存器会再次为空,同时缓存器低百分比大于5%。将该值设定为100%表示客户端将永不下调。
播放器程序改变子文件地址的相关部分会影响实际数据率的改变,例如,将“008k”改变为“024k”,以将数据率从8增加到24KB/s,并且改变当前的数据率参数以进行匹配。结果,下一个对服务器的请求就变为请求更高的(或者更低的)数据率,并且从新的目录中读取子文件,进行解码,并且输入到缓存器。在下面的流程图中总结了上述的过程:
用户 终端 服务器
选择菜单页面
请求http:\serverl.com/menu.htm
发送http:\serverl.com/menu.htm
显示menu.htm
 从菜单中选择项目(巴赫)
从menu.htm中提取超级链接URL(mp3_bwv565/LInk.btm)
请求http:\serverl.com/mp3_bwv565/LInk.htm
发送http:\serverl.com/mp3_bwv565/link.htm
显示link.htm
使用在link.htm(http:\serverl.com/mp3_bwv565)中所指定的参数,运行在link.htm中所指定的次级进程(播放器程序)
将Stem设定为所指定的
设定URL=Stem+“index.htm”
请求此URL
发送所请求的文件
将数据率列表设定为index.htm中所指定的数据率;将LFI设定为在index.htm中所指定的值
设定Stem=Stem+“/”+RateList(iteml)设定CurrentRate(当前数据率)=数据率列表中所指定的值(item 1)设定RateU=列表中下一个更高的数据率,如果没有,则设定为0;设定StemU=Stem+“/”+在数据率列表中对应于此数据率的项目;设定RateD=列表中下一个更低的数据率,如
果没有,则设定为0;设定StemD=Stem+“/”+在数据率列表中对应于此数据率的项目
设定Current Subfile(当前子文件)=000000.bin
J1:设定URL=StemC+Current Subfile
请求此URL
如果所请求的子文件存在,则发送所请求的子文件;否则发送错误消息。
如果接收到错误消息则结束
对所接收的子文件进行解码
写入缓存器
    J1A:如果Buffer Fullness(缓存器容量)>Tp秒,则跳转到J3
J2:递增Current Subfile
跳转到J1
    J3:通过声卡,开始/继续播放缓存器的内容
J4:如果Buffer Fullness<Tp,跳转到J3
如果BufferFullness=0,并且Mrate<CurrentRate,并且BufferLow%(缓存器低百分比)>Td,跳转到Stepdown
如果Mrate>NextRate(下一个数据率),并且NextRate<>0,则跳转到Stepup
用户命令输入 如果UserCommand(用户命令)=Pause(暂停),那么:停止从缓存器进行读取;循环,直到UserCommand=Resume(重新开始);跳转到J3
如果UserCommand=Jump(j%)(跳转),则:清除缓存器;设定CurrentSubfile=Integer[(LFI+1)*j/100];跳转到步骤J1
跳转到步骤J1A
Stepup:清除缓存器;设定RateD=RateC;设定StemD=StemC;设定RateC=RateU;设定StemC=StemU设定RateU=列表中下一个更高的数据率,如果没有,则设定为0;设定StemU=Stem+“/”+在数据率列表值对应于此数据率的项目;跳转到步骤J1A
Stepdown:清除缓存器;设定RateU=RateC;设定StemU=StemC;设定RateC=RateD;设定StemC=StemD设定RateD=列表中下一个更低的数据率,如果没有,则设定为0;设定StemD=Stem+“/”+在数据率列表值对应于此数据率的项目;跳转到步骤J1A
用户控制由用户通过在屏幕上所提供的下列选项而实现,用户可以通过键盘或者诸如鼠标的其它输入设备进行选择:
a)开始:从步骤4开始,执行上述指定数目的步骤。开始选择了一个记录时,是自动播放,还是需要用户的“开始”指令,这是可选的;实际上,如果需要,可以通过链接文件中附加的“自动播放”参数的方式作出选择。
b)暂停:由对MP3解码器的指令实现,用于暂停从缓存器读取数据;
c)恢复:由对MP3解码器的指令实现,用于恢复从缓存器读取数据;
d)跳转:由用户实现,指出他希望跳转到记录的哪一部分,例如,通过将光标移动到代表记录总持续时间的显示条上的预定点;然后,播放器确定该点为显示条方向上的x%,并且计算所需的下一个子文件的数目,将其用于下一个请求。在具有125个子文件的巴赫实例中,请求播放记录的20%点,导致请求第26个子文件——即000025.bin。很明显,如果各个子文件均对应于同样的固定持续时间,则此计算就相当简单。我们希望,对于跳转的情况,要暂停解码,并且清空缓存器,从而能够立即发送新的请求,但是这并不是很必要的。
可选的,可以向用户显示文本标签或者索引的列表,用户可以选择(例如,使用鼠标)以进行跳转。这可以通过如下方式实现:
在终端的存储器中所保留的index.htm文件包含以下形式的行(假设将该信息作为注释嵌入到文档中):
<--!Odbits:Index=”0:01:44 Wireless”-->.
其中”Odbits:”是关键字,用于告诉播放器程序,下面的文本要由程序进行处理;”Index”指示播放器程序所要执行的功能;而引号内的文本包括时间(小时:分钟:秒),该时间是从开始播放的记录开始。
播放器程序读取index.htm文件,如果其识别出索引命令,则在所显示页面的预定位置显示标签,从而向link.htm页面生成一个消息(“事件”),其包含处理该事件的命令(通常用Javascript写),以生成对播放器程序的跳转(包含相应的时间),而对这些命令的选择进行响应。
下面对将原始文件分割为子文件的处理作进一步的讨论。首先,应该说明的是,如果子文件之后跟着的子文件不会超出原始顺序(如上所述),则子文件之间的边界位置并不重要。在此情况下,子文件的大小可以是固定的比特数目,或者是固定的播放时间长度(或者二者皆非),真正的决定仅仅是子文件的大小。当需要考虑跳转时(在时间上,或者在不同的数据率之间),则有其它的考虑。其中,如同很多类型的语音或者音频编码(包括MP3)一样,按照帧对信号进行编码,子文件应当包含完整数目的帧。对于数据率切换的情况,如果确实不必要,很希望对于各个数据率子文件的边界是相同的,从而所接收到的用于新数据率的第一个子文件,在记录中,是从旧的数据率结束处的最后一个子文件处继续的。为了使得各个子文件播放相同的固定时间间隔(例如,上面提到的4秒),这并不是实现此目的的唯一方法,但是其的确是最方便的。需要说明的是,根据所使用的编码系统,子文件应当包含完整数目的帧意味着子文件的播放时间会稍有不同。说明,在本发明的实施例中,尽管可用的数据率使用不同的量化级别,并且根据是否以单声道或者双声道进行编码而有所不同,但是所有的数据率均使用相同的音频采样率,从而具有相同的帧规格。下面对使用不同的帧规格时需要说明的问题进行描述。
对于实际的子文件长度,最好应当避免过短的子文件,原因是(a)它们导致更多的请求,从而产生额外的网络业务量;(b)在某些类型的分组网络中(包括IP网络),由于它们需要由更小的分组来进行传输,从而使得请求处理所占用的系统开销和分组报头相应较大,从而导致浪费。另一方面,在开始播放和/或调用跳转或数据率改变时,过大的子文件需要较大的缓存器,产生额外的延迟,所以也是不利的。介于播放时间的30%到130%之间的子文件大小,或者优选的为播放时间的一半的子文件大小是令人满意的。
根据所讨论的标准,使用计算机编程的方式,能够实现转换子文件的实际处理。或许在单独的计算机上进行这个操作是比较方便的,从该计算机上可以将子文件上载到服务器。
另外一个能够添加的改进是使用更加复杂的子文件命名规则,使未授权人员更难于对子文件进行拷贝并在另一台服务器上提供这些子文件,从而提高安全性。一个例子是通过使用伪随机序码发生器,例如,生成下列形式的文件名称:
01302546134643677534543134.bin
94543452345434533452134565.bin
在此情况下,播放器程序将包含相同的伪随机序码发生器。服务器发送第一个文件名,或者可能为4位的“种子”,而播放器中的发生器能够使其同步,并且以正确的序列生成所需要的子文件名。
在数据率切换的上述例子中,所使用的索引数据率具有相同的帧规格,具体而言,他们使用11.025KHz下采样的PCM音频的MP3编码以及1152个采样的(PCM)帧规格。如果要在具有不同帧规格的MP3(或者其它)记录之间实现数据率切换,由于要求子文件应该包含完整数目的帧,从而会引发问题,原因是此时的帧边界不一致。通过下面改进的创建子文件的处理,能够解决此问题。尤其应当说明的是,此处理能够用于需要数据率切换的任何情况,并且不限于上述讨论的特定的传输方法。
图4示意地显示了音频采样序列,基于此,通过边界标记(在图中)B1、B2等,对连续的4秒段进行划分。在11.025KHz的采样率下,在各个段中有44,100个采样。
1.对音频进行编码,在边界B1处开始,逐帧进行,以创建MP3子文件,连续进行,直到对具有至少4秒的总持续时间的完整数目的帧编码完毕。使用1152个采样的帧规格,4秒对应于38.3个帧,所以实际上对代表39个帧的子文件S1进行编码,代表总的持续时间为4.075秒。
2、从边界B2开始,以相同的方式,对音频进行编码。
3、每次从4秒边界开始重复上述操作,从而,以此方式,为所要编码的整个音频序列生成一组重叠的子文件。最后的段(其将短于4秒)之后当然不跟随任何东西,所以填入零(即静音)。
以相同的方式,对使用不同帧规格的其它数据率进行编码处理。
在终端,控制机理不变,但是对解码和缓存处理进行修改:
1、接收子文件S1;
2、对子文件S1进行解码;
3、仅将解码音频采样的第一个四秒写入缓存器(丢弃其它的);
4、接收子文件S1;
5、对子文件S1进行解码;
6、仅将解码音频采样的第一个四秒写入缓存器;
7、继续对子文件S3等进行处理。
以此方式,确保所有数据率的子文件集的子文件边界对应于原始PCM采样序列的相同点。
因此,在进行编码之前,除了最后一个4秒之外,利用后续4秒的音频采样对每个4秒进行填充,从而使子文件大小变成完整数目的MP3帧。如果需要,所填充的采样可以从前一个4秒的末端取,而不是(或者同时)从下一个4秒的开始取。
注意,MP3标准允许将某些信息从一个音频帧转移到另外一个音频帧(通过众所周知的“比特蓄积(bit reservoir)”方案)。在此,即使在子文件内部可以接受该方法,而在子文件之间就不可接受了。然而,由于该标准本质上不允许在记录末尾或者开始进行这样的转移,所以通过分别对各个子文件进行单独编码,就好像其是单个的记录一样,可以很容易地解决此问题。
对于音频接口36的操作而言,采样率的改变(以及在单声道和双声道之间的切换)具有一些实际的意义。尽管很多通常的声卡能够在不同的设定范围内进行操作,但是需要重新设定,以改变采样率,从而这必然会引起音频输出的中断。因此,在进一步的改进中,我们认为声卡能够在所期望的最高采样率下连续工作。当播放器程序在较低的采样率下为缓存器提供数据时,在缓存器之前或者之后,将此数据上采样为此最高数据率。类似的,如果通常以双声道模式对声卡进行操作,则并行地输入解码单声道信号,以为声卡输入端的左、右信道同时提供信号。还有,如果解码信号的每个采样中的比特数目低于声卡所期望的,则通过插入零而增加比特的数目。
前面早时所讨论的用于将数据率自动向下转换的标准,仅在缓存器下溢的时候才引起数据率的降低(从而引起输出中断),我们注意到,在这个改进中能够避免此类中断,最好有一种标准,能够预测下溢并在大多数情况下避免下溢。在此情况下,将忽略上面提到的三个“与”条件中的第一个(即,缓存器为空)。
在所描述的系统环境中,所提供的另外一个特征是,对诸如副标题或者静态图像(实质是放映幻灯片)之类的可视信息的显示是伴有声音的。
可以通过如下方法进行实现:
(a)所要显示的文档(index.htm)包含格式化信息,该信息指明了该可视信息要在页面上出现的位置。
(b)index.htm文件包含以下形式的行(假设该信息是作为注释嵌入到文档中):
<!--Odbits:Subtitle=″0:1:01 Subtitle text″-->.
<!--Odbits:Image=″0:2:04 http://………/picture.jpg″-->.其中″Odbits:″是关键字,用于告诉播放器程序,下面的文本要由程序进行处理;″Subtitle″或″Image″指示播放器程序所要执行的功能;而引号内的文本包括时间(小时:分钟:秒),该时间是从开始播放的记录开始,如有可能,后面跟着预定图像的实际副标题或者URL。
(c)播放器程序计算实际时间,为当前子文件索引和子文件长度之积,以当前子文件所播放的时间进行递增。
(d)播放器程序对实际时间和嵌入到index.htm文件中的时间进行比较,当相互匹配时,返回一条消息到link.htm页面(其调用播放器)。将此消息称为“事件”。link.htm页面如何处理该事件由书写link.htm页面的人决定。
(e)对于副标题,link.htm页面包含可执行命令(通常以Javascript进行书写),其从index.htm文件读取副标题文本,并且将其在预定位置进行显示,从而对事件做出响应。
(f)对于图像,link.htm页面包含命令,以对事件做出响应,该命令从index.htm文件中读取图像的URL,生成请求消息,请求对具有该URL的图像进行下载,并且在页面的预定位置进行显示。此下载在请求了该图像时进行,可选的,可以为用户提供具有预先上载的图像文件的选项。如果用户接收了此选项,则在播放任何音频之前,播放器程序将对所列的所有图像文件进行下载,并且将其存储在本地高速缓存中。
可以将相同的原则应用于视频记录的传输,或者,具有伴随声道的视频记录。在较为简单的情况下,当只有一个记录时,该系统与音频情况有所不同,仅仅在于该文件为视频文件(例如,H.261或者MPEG格式),并且播放器程序包含视频解码器。将文件分割为子文件的方式没有改变。
对于音频的情况,与不同的数据率相对应,有两个或者更多的记录,由上述的控制机制进行选择。同样,可以提供另外的记录,对应于诸如快进和快退之类的不同重放模式,该模式可以由上述的用户控制程序的扩展进行选择。同时,可以遵循文件和目录命名的系统惯例,例如,使得播放器程序能够通过修改子文件地址而对快进命令作出反应。
然而,如果允许切换或者跳转,那么对于文件分割而言,视频记录的传输具有更多的含义。对于对图像的各个帧单独进行编码的记录情况,子文件包含完整数目的图像帧就足够了。但是,如果使用了涉及帧间技术的压缩方法,情况就更加复杂了。一些此类系统(例如,MPEG标准)生成独立编码帧(“内帧”)和预测编码帧的混合帧;在此情况下,各个子文件应当优选的以内帧开始。
对于诸如ITUH.261标准的帧间编码系统(其不包含频繁的、规律的内帧),这是不可能的。这是因为,以数据率切换为例,如果某人要请求较高比特率记录的子文件n,其后紧跟较低比特率记录的子文件n+1,则较低比特率子文件的第一个帧会在帧间的基础上,利用较低数据率记录的子文件n的最后一个解码帧进行编码,但终端当然不会有这个解码帧,其具有较高数据率记录的子文件n的最后一个解码帧。从而,会产生解码器的严重错误跟踪。
对于在正常播放和快放模式之间进行转换的情况,事实上情况有所不同。例如,在以正常速度的5倍进行快放时,每隔5帧进行解码。从而,大大降低了帧间的相关性,而帧间编码就毫无吸引力了,所以通常把快放序列编码为内帧。所以,从正常播放到快放进行转换没有问题,原因是可以很容易地对内帧进行解码。但是,当转换到正常播放时,会再次出现错误跟踪问题,原因是此时终端以预测编码帧进行工作,而其不具有先前帧。
在任一情况下,通过利用在我们的国际专利申请WO 98/26604(在美国授权为6,002,440)中记载的原理,能够解决这个问题。这包括对帧的中间序列进行编码,该中间序列在前一序列的最后一帧和新序列的第一帧之间起到了联系作用。
现在,以快进操作(快退操作与此类似,但是恰恰相反)为例对本操作进行描述。在本实例中,假设根据H.261标准,以96KB/s,对9分钟的视频序列进行编码,同时,全部按照H.261内帧,以正常数据率的5倍进行编码,并且将文件分为4秒的子文件。此处,4秒指的是原始视频信号的播放时间,而不是快进播放时间。使用与上面所使用的命名规则类似的命名规则,这些子文件为:
目录 子目录  文件名
Mpg_name 096k_x1  000000.bin
 000001.bin
 …
 000134.bin
096k_x5  000000.bin
 …
 000134.bin
其中,“name(名称)”指的是用于识别特定记录的名称,“x1”指的是正常数据率,而“x5”指的是正常数据率的5倍,即快进。
对于播放器程序,为了从正常播放转换到快进,所必需的仅仅是将子文件地址修改为指向快进序列,例如:
Request mpg_name/096k_x1/000055.bin
后面跟着
Request mpg_name/096k_x1/000056.bin
为了构建用于转换回正常播放的连接序列,有必要为每一个可能的转换构建一个连接子文件。如同在上面提到的,在我们的国际专利申请中,对于连接而言,三个或者四个帧的序列通常就足够了,所以简单的实现方法就是,构建仅有4帧时间长度的连接子文件,例如
目录 子目录 文件名
mpg_name 096K_5>1  000001.bin
 …
 000133.bin
从而,通过一系列的请求而实现切换,例如
Request mpg_name/096k_x5/000099.bin
Request mpg_name/096k_5>1/000099.bin
Request mpg_name/096k_x1/000100.bin
按照如下方式生成连接子文件:
●对快进序列进行解码,以获得子文件99的最后一帧的解码版本,(每秒25帧,这将成为原始视频信号的第100,000帧)。
●对正常序列进行解码,以获得子文件100的第一帧(即,第100,001帧)的解码版本。基于所解码的帧100,000,利用H.261帧间编码将这一帧重新编码4次,作为初始的参考帧。
●因此,当解码器已经对快进子文件进行解码时,后面紧跟连接子文件,其将正确地重新构建帧100,000,并且能够对正常(x1)帧进行解码。顺便提及,将同一帧进行数次编码是因为如果仅作一次,那么会由于H.261的量化特性而导致生成很差的图像质量。
可以将同样的处理用于数据率切换(虽然现在在两个方向上均需要连接子文件)。然而,注意到,如上所述,连接子文件将导致四帧时间的图像冻结,即(以每秒25帧)160ms。在从快进转换到正常播放时,这是可以接受的,事实上,此时可能正要选择清空缓存器。对于数据率切换,这可能会,也可能不会被主动的接受。因此也可以构建4秒的连接序列。此时请求序列如下:
mpg_name/096k_x1/000099.bin
mpg_name/096/128_x1/000100.bin
mpg_name/128k_x1/000101.bin
在该情况下,可以通过以解码的96KB/s帧100,000作为参考帧,对解码的128KB/s序列的第五个解码帧进行四次重新编码,而构建连接子文件;或者以解码的96KB/s帧100,000作为参考帧,对解码的128KB/s序列的前4帧进行编码,而构建连接子文件。在两种情况下,连接子文件的其余96帧将是128KB/s子文件的拷贝。
所要传输的文件称为“记录”。然而,在开始传输之前,对所有的音频或者视频序列进行编码,或者所有的音频或者视频序列均已存在是不必要的。因此,需要计算机,用于接收有效输入,使用选定的编码方法对其进行编码,并且不停地生成子文件,将其上载到服务器,从而,当在服务器上有子文件时,就可以开始传输。
本传输系统的一个应用是语音消息系统,如图5所示,其中再次显示了服务器1,网络2,和终端3。语音消息接口4用于接收电话呼叫,例如,通过公共交换电话网络(PSTN)5,以对消息进行记录、编码,并且将其分割为子文件,并且将子文件上载到服务器1,在此,能够通过上述的方式对其进行访问。可以选择的是,可以使用第二接口6,其以与终端3类似的方式进行操作,但是由远程电话5通过PSTN进行远程控制,然后,将要播放的音频信号发送给该接口。
可以将同样的系统用于实时音频(或者视频)输入。在某种程度上,这也是一种“记录”,差别主要是在结束记录之前,就开始了传输和播放,尽管实际上,由于在对至少一个子文件进行记录并且上载到服务器1之前,必须进行等待,从而造成了固有延迟。
该系统能够以上述方式进行工作,除了不能满足用户所希望的从现在开始进行播放,即从最新创建的子文件开始播放,而是从开始处进行播放之外,还是很令人满意的。
对于长的音频序列,可以选择删除旧的子文件,以节省存储空间:对于连续的输入(即,每天24小时),这将是不可避免的,不仅如此,还需要对子文件名进行重新使用(在我们的原型系统中,使用000000.bin到009768.bin,然后重新从000000.bin开始),从而使用新的子文件连续地覆盖旧的子文件。确保从最新的子文件进行传输的一个简单方法是,在索引文件中包含附加命令,用于引导播放器程序通过请求合适的子文件而开始播放。然而,这也有缺点,即必须对索引文件进行频繁的修改,理论上,每生成一个新的子文件,就修改一次。因此,我们提出了一种方法,其中,播放器程序按照下面的方式对服务器进行扫描,以寻找开始的子文件。在索引文件中,将“Mode(模式)”参数设定为“live(实时)”,以触发播放器程序调用此方法。对LFI进行设定,以指示所可以存储的子文件的最大数目,即9678。该方法包括下面的步骤,并假定(约定的)已经确定了各个子文件的“最后修改的”时间和日期。当使用HTTP协议时,可以通过使用HEAD请求实现此目的,其不会导致对所请求的子文件进行传输,而是仅仅对用于指示将子文件写入服务器的时间的HEAD(报头)信息进行传输,如果不存在,则为零。将此时间表示为GetURL(LiveIndex),其中LiveIndex是所述的子文件的序号。在“//”之后是注释。
    1     LFI=9768//从index.htm文件中读取

          liveIndex=LFI/2

          StepSize=LFI/2

          LiveIndexModifiedAt=0;//开始时间

    10    ThisIndexWasModifiedAt=GetURL(LiveIndex);

    20    If(StepSize=1)

          {

           //LiveIndexModifiedAt包含文件写入时间,如果没有文件,

            则为零。LiveIndex包含索引。

           goto 30

          }

          StepSize=StepSize/2

          If(ThisIndexWasModifiedAt>LiveIndexModifiedAt)

          {

            LiveIndexModifiedAt=ThisIndexWasModifiedAt;

            LiveIndex=LiveIndex+StepSize

          }

        else

          {

          LiveIndex=LiveIndex-StepSize

          }

          Goto 10
        <!-- SIPO <DP n="22"> -->
        <dp n="d22"/>
    30    FINISH
在找到LiveIndex之后,就要跳返Tp(播放时间),开始作出请求,以从该处填充音频缓存器。以正常方式开始进行播放。
一旦结束记录,如果需要,对索引文件进行修改,以将“Mode(模式)”设定为“recorded(记录)”,以及任意的长度参数。
如果需要,播放器程序能够周期性地进行检查,以查看索引文件是否从“live(实时)”改变为“recorded(记录)”,如果经过改变,则转换到“recorded(记录)”播放模式。
现在,对一种更为简单和快速的对“最新的”子文件进行识别的方法进行描述,首先假设单一连续的子文件编号序列。
1.终端对第一个子文件(例如000000.bin)发出HEAD(报头)请求;
2.服务器通过发送该文件的报头而作出应答,并且包含该文件最后修改的日期和时间(MODTIME),以及发送应答的日期和时间(REPLYTIME)(这两者均为标准的http字段)。
3.终端通过对两个时间进行相减(ELTIME=REPLYTIME-MODTIME),而对经过时间(ELTIME)进行计算,并且根据子文件的播放时间(在这些实例中,为4秒),对其进行分割,以得到LIVEINDEX=ELTIME/4。
4.终端计算具有此索引的子文件的文件名。
5.终端发送具有此文件名的HEAD(报头)请求,如果需要,则接着请求各个文件名,直到其接收到零(未找到文件),基于此,则认为已经找到了最新的子文件,即“当前子文件”。
6.终端开始从点J1(在前面的流程图中所给出的)开始,开始请求文件。
本方法比上述用于循环计数的子文件的方法要快。注意,只要保存了开始的子文件,则可以删除旧的子文件,以降低存储要求。然而,能够对本方法进行修改,以适应重新使用的文件名(循环地址),但是需要:
(i)不重新使用开始的子文件名(例如,000000.bin),从而,总能够在步骤2提供报头信息。因此,对于子文件009768.bin的情况,子文件009768.bin后面跟的是子文件000001.bin。
(ii)在步骤3所计算的LIVEINDEX采用模9768(即ELTIME/4的值除以9768的余数)。
(iii)删除子文件后总会生成新的子文件,从而,在最新的子文件和最早删除的子文件之间不存在新的子文件名,从而在步骤5会发生所期望的“未找到文件”应答。
当以比记录操作稍快或者慢的速度对播放进行操作时,可能会有危险。为了防止前面所说的危险,可以安排播放器程序对其所接收的各个子文件进行检查,以确认其是否具有比其前一个子文件更新的时间,如果不是,则丢弃该子文件,并且重复进行请求(或许3次)。如果这些请求不成功,则检查索引文件。
如果播放滞后于记录,这可以通过播放器对服务器进行随机的检查,以确认存在大量的比当前所请求的子文件更新的子文件而进行识别,而如果存在这样的子文件,则启动“紧追”处理,即有规律地丢弃少量的数据。

Claims (32)

1.一种用于播放音频或者视频资料的终端,该资料以表示所述资料的连续时间部分的文件集的形式存储在远程服务器中,该终端包括:
远程通信接口,用于与服务器进行通信;
缓存器,用于从远程通信接口接收文件;以及
用于播放缓存器的内容的装置;
所述终端的特征在于控制装置,其确定所要请求的更多文件的地址,并且响应于缓存器的状态生成包含这些地址的请求消息,以请求对缓存器进行补充的更多文件。
2.根据权利要求1的终端,其在操作上安排为在将文件存储在缓存器之前对其进行解码。
3.根据权利要求1或2的终端,包括用于生成一系列试请求,以识别最新的文件,并且从所识别的子文件开始解码的装置。
4.根据权利要求1、2或3的终端,其与存储了多个文件集的服务器一起使用,这些文件集对应于不同的传输模式,该终端包括:
装置,其规定后续的请求消息应该从不同于正在进行的请求所涉及的文件集的文件集中请求文件,从而影响模式切换。
5.根据权利要求4的终端,其与服务器一起使用,其中所述文件集中的至少一些对应于不同的数据率,其中:
终端包括用于监视所接收数据率的装置;
在所测量的数据率低于当前所请求文件所属的文件集所需的数据率时,模式切换装置规定后续的所述请求消息应该从对应于较低数据率的文件集中请求文件。
6.根据权利要求4或5的终端,其与服务器一起使用,其中所述文件集的至少一些对应于不同的数据率,其中:
终端包括用于监视所接收数据率的装置;
与当前所请求的文件所属的文件集的数据率相比,当所测量的数据率能够支持对具有更高数据率的文件进行传输时,切换装置规定后续的所述请求消息应该从对应于较高数据率的文件集中请求文件。
7.根据权利要求4、5或6的终端,其与服务器一起使用,其中所述文件集中的至少一些对应于不同的播放模式,其中:
终端包括从终端的用户处接收命令的装置,以执行从当前播放模式到对应于该命令的预期播放模式的所述模式切换;以及
当接收到命令时,模式切换装置规定后面的所述请求消息应该从对应于所述预期播放模式的文件集中请求文件。
8.根据权利要求1到7中任何一项的终端,用于在根据权利要求19到22中任何一项所述的方法中使用,其中,当接收到文件时,终端对文件进行解码,并且丢弃所解码资料中对应于后续部分的所述开头部分。
9.根据权利要求4到7中任何一项的终端,其与服务器一起使用,该服务器以视频记录的形式对所述资料进行存储,至少一些所述文件的至少一些帧已经利用帧间编码进行了编码,其中,在生成从不同文件集中请求文件的请求消息之前,终端生成一个请求消息,请求用于解码器跟踪校正的文件。
10.根据上述权利要求中任何一项的终端,其中,根据预定的算法为文件分配地址,并且对于所述的请求消息,该终端包括用于根据所述算法计算包含在请求消息中的地址的装置。
11.一种对数字编码的音频或者视频资料进行传输的方法,包括:
将该资料分割为多个离散的文件,每一个文件均代表所述资料的连续时间部分;
在第一站点对文件进行存储;
在第二站点
a)向第一站点发送请求,请求连续的各个文件;
b)接收文件;以及
c)对文件进行解码,以播放资料。
12.根据权利要求11的方法,其中将资料存储在缓存器中,并且根据缓存器的状态生成请求消息。
13.根据权利要求12的方法,其中,在解码之后,将资料存储在缓存器中。
14.根据权利要求11、12或13的方法,包括在第二站点处生成对第一文件的试请求,从第一站点接收应答,该应答包括表示第一文件的初始时间和所述应答的时间的数据,并且由这些数据估计第一终端中最新文件的估计身份。
15.根据权利要求11、12、13或14的方法,包括在第二站点处生成一系列试请求,以识别第一终端的最新文件,并且从所识别的文件开始所述的解码。
16.根据权利要求11到15中任何一项的方法,包括存储多个文件集,这些文件集对应于不同的传输模式,并且包括在第二站点处规定后面的请求消息应该从与正在进行的请求所涉及的文件集不同的文件集中请求文件,从而影响模式切换。
17.根据权利要求16的方法,其中,至少某些所述的文件集对应于不同的数据率,包括:
在第二站点处对所接收的数据率进行监视;
当所测量的数据率低于当前请求的文件所属的文件集所需的数据率时,执行模式切换,规定后面的所述请求消息应该从对应于较低数据率的文件集中请求文件。
18.根据权利要求16或17的方法,其中,至少某些所述的文件集对应于不同的数据率,包括:
在第二站点处对所接收的数据率进行监视;
与当前所请求的文件所属的文件集的数据率相比,当所测量的数据率能够支持对具有较高数据率的文件进行传输时,执行模式切换,规定后面的所述请求消息应该从对应于较高数据率的文件集中请求文件。
19.根据权利要求16、17或18的方法,其中,至少某些所述的文件集对应于不同的播放模式,其中:
第二站点包括从第二站点的用户处接收命令,以执行从当前播放模式到与该命令所对应的预期播放模式的所述模式切换的装置;以及
当接收到命令时,模式切换装置规定后面的所述请求消息应该从与所述预期播放模式相对应的文件集中请求文件。
20.根据权利要求11到19中任何一项的方法,其中,所述的资料为音频资料,其中:
a)使用具有帧结构的音频编码方法对文件进行编码;
b)将资料分割为多个离散文件的步骤包括:在概念上将资料分为多个时间部分,并且通过对各个时间部分及其后续部分的开头部分进行编码,生成除最后一个之外的各个所述文件,这些部分一起表示完整数目的帧;
c)在解码之后,丢弃对应于后续部分的所述开头部分的解码资料部分。
21.根据权利要求11到19中任何一项的方法,其中,所述的资料为音频资料,其中:
a)使用具有帧结构的音频编码方法对文件进行编码;
b)将资料分割为多个离散文件的步骤包括:在概念上将资料分为多个时间部分,并且通过对各个时间部分和紧接在前的时间部分的末尾和/或紧接在后的时间部分的开头进行编码,从而生成所述文件中的至少一些,这些末尾和/或开头部分与所述的一个时间部分一起构成了完整数目的所述帧结构的帧;以及
c)在解码之后,抛弃对应于所述紧接在前时间部分的末尾和/或所述紧接在后时间部分的开头的解码资料部分。
22.根据权利要求20或21的方法,其中,所述的文件集包括第一文件集和第二文件集,第一文件集的帧长度与用于对第二文件集进行编码的帧长度不同,而对两者而言,时间部分的划分是相同的。
23.根据权利要求20、21或22的方法,当从属于权利要求13时,对应于所述后续部分的所述开头部分的解码资料部分不存储在缓存器中。
24.根据权利要求16的方法、或者权利要求17到23中任何一项从属于权利要求16时,其中,所述资料是视频记录的形式,至少某些所述的文件的至少某些帧已经使用帧间编码进行了编码,并且包括:在生成从不同的文件集中请求文件的请求消息之前,在第二站点处生成一个请求消息,请求用于解码器跟踪校正的文件。
25.根据权利要求11到24中任何一项的方法,其中,根据预定的算法为文件分配地址,并且该方法包括:根据所述的算法,在第二站点处计算要包含在请求消息中的地址。
26.根据权利要求25的方法,其中,所述的算法根据关键码生成地址,该方法包括将关键码传输到第二站点的步骤,以供用户计算地址。
27.根据权利要求26的方法,其中,所述的算法根据伪随机序列而生成地址。
28.根据权利要求27的方法,其中,所述的算法根据伪随机序列而生成地址,而所述关键码是用于设定伪随机序列起始点的“种子值”。
29.根据权利要求11到28中任何一项的方法,其中在第二站点包括如下步骤:
(a)从第一站点接收一个列表,该列表包含时间和定义要在这些时间执行的动作的数据;
(b)计算相对于资料开始的时间,该时间由当前播放点表示;
(c)对所计算的时间和列表中的时间进行比较,在匹配时,生成包含用于启动所述动作的各个数据的命令。
30.根据权利要求29的方法,其中,该动作包括显示子标题。
31.根据权利要求29或30的方法,其中,该动作包括显示图像。
32.根据权利要求31的方法,包括向第一站点发送一个请求,请求由所述数据标识的图像,并且将图像存储在第二站点处,直到用于显示。
CNB018205577A 2000-12-15 2001-12-14 音频和/或视频资料的传输和接收 Expired - Lifetime CN1243442C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
GB0030706.6 2000-12-15
GBGB0030706.6A GB0030706D0 (en) 2000-12-15 2000-12-15 Delivery of audio and or video material
GB0108094.4 2001-03-30
GB0108094A GB0108094D0 (en) 2001-03-30 2001-03-30 Delivery of audio and or video material
GBPCT/GB01/05090 2001-11-19
PCT/GB2001/005090 WO2002049342A1 (en) 2000-12-15 2001-11-19 Delivery of audio and/or video material

Publications (2)

Publication Number Publication Date
CN1481643A true CN1481643A (zh) 2004-03-10
CN1243442C CN1243442C (zh) 2006-02-22

Family

ID=32031868

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018205577A Expired - Lifetime CN1243442C (zh) 2000-12-15 2001-12-14 音频和/或视频资料的传输和接收

Country Status (7)

Country Link
US (1) US7447791B2 (zh)
EP (1) EP2071827A3 (zh)
KR (1) KR100908954B1 (zh)
CN (1) CN1243442C (zh)
AT (1) ATE464740T1 (zh)
DE (1) DE60141850D1 (zh)
ES (1) ES2342357T3 (zh)

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055773A (zh) * 2009-11-09 2011-05-11 华为技术有限公司 实现基于http的流媒体业务的方法、系统和网络设备
CN102549999A (zh) * 2009-09-22 2012-07-04 高通股份有限公司 使用协作式并行http和前向纠错的增强型块请求流送
CN101729876B (zh) * 2008-10-15 2012-11-28 佳能株式会社 图像处理设备及其控制方法
CN102812673A (zh) * 2009-11-13 2012-12-05 三星电子株式会社 发送和接收数据的方法和装置
CN103222277A (zh) * 2010-06-04 2013-07-24 三星电子株式会社 基于用于确定内容质量的多个元素的自适应流传输的方法和装置
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9197689B2 (en) 2010-03-19 2015-11-24 Samsung Electronics Co., Ltd. Method and apparatus for adaptively streaming content including plurality of chapters
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9338216B2 (en) 2009-11-09 2016-05-10 Snaptrack, Inc. Method, system and network device for implementing HTTP-based streaming service
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
CN103222277B (zh) * 2010-06-04 2016-12-14 三星电子株式会社 基于用于确定内容质量的多个元素的自适应流传输的方法和装置
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
CN106658176A (zh) * 2016-11-07 2017-05-10 广州视源电子科技股份有限公司 远程视频显示方法及系统
US9699486B2 (en) 2010-02-23 2017-07-04 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data
US9756364B2 (en) 2009-12-07 2017-09-05 Samsung Electronics Co., Ltd. Streaming method and apparatus operating by inserting other content into main content
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9860573B2 (en) 2009-11-13 2018-01-02 Samsung Electronics Co., Ltd. Method and apparatus for providing and receiving data
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
CN107911332A (zh) * 2009-11-04 2018-04-13 阿莫泰克有限公司 媒体内容流播的系统和方法
US9967598B2 (en) 2009-11-13 2018-05-08 Samsung Electronics Co., Ltd. Adaptive streaming method and apparatus
CN109862193A (zh) * 2019-04-12 2019-06-07 珠海天燕科技有限公司 一种终端中来电视频的控制方法及装置
US10425666B2 (en) 2009-11-13 2019-09-24 Samsung Electronics Co., Ltd. Method and apparatus for adaptive streaming using segmentation
USRE48360E1 (en) 2009-11-13 2020-12-15 Samsung Electronics Co., Ltd. Method and apparatus for providing trick play service

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085845B2 (en) * 2001-05-09 2006-08-01 Gene Fein Method, apparatus and computer program product for identifying a playing media file and tracking associated user preferences
US7536725B2 (en) * 2003-07-28 2009-05-19 Limelight Networks, Inc. Authentication of content download
US8805966B2 (en) 2003-07-28 2014-08-12 Limelight Networks, Inc. Rich content download
US8122100B2 (en) * 2003-07-28 2012-02-21 Limelight Networks, Inc. Multiple object download
WO2005013141A1 (en) * 2003-07-28 2005-02-10 Limelight Networks, Llc Consistent browser file download
BRPI0414840A (pt) * 2003-10-03 2006-11-21 Limelight Networks Inc método de download de arquivo de conteúdo e de recebimento de conteúdo adicional com uma janela e respectivo sistema de download de conteúdo, meios legìveis em computador e sistemas de computador
US9323571B2 (en) * 2004-02-06 2016-04-26 Intel Corporation Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor
US20050275566A1 (en) * 2004-06-14 2005-12-15 Nokia Corporation System and method for transferring content
US20060083194A1 (en) * 2004-10-19 2006-04-20 Ardian Dhrimaj System and method rendering audio/image data on remote devices
US7962854B2 (en) * 2004-10-19 2011-06-14 Sony Ericsson Mobile Communications Ab Systems, methods and computer program products for displaying content on multiple display screens using handheld wireless communicators
US20060140162A1 (en) * 2004-12-23 2006-06-29 Yojak Vasa Alternate-location content delivery apparatus, methods and computer program products
WO2006076516A2 (en) * 2005-01-12 2006-07-20 Howard Friedman Customizable delivery of audio information
US8589508B2 (en) * 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US7738768B1 (en) 2005-12-16 2010-06-15 The Directv Group, Inc. Method and apparatus for increasing the quality of service for digital video services for mobile reception
US8606966B2 (en) * 2006-08-28 2013-12-10 Allot Communications Ltd. Network adaptation of digital content
US20080062322A1 (en) * 2006-08-28 2008-03-13 Ortiva Wireless Digital video content customization
US7743161B2 (en) * 2006-10-10 2010-06-22 Ortiva Wireless, Inc. Digital content buffer for adaptive streaming
US20080120371A1 (en) * 2006-11-16 2008-05-22 Rajat Gopal Relational framework for non-real-time audio/video collaboration
US8520852B2 (en) * 2006-12-22 2013-08-27 Ibiquity Digital Corporation Method and apparatus for store and replay functions in a digital radio broadcasting receiver
US8635360B2 (en) * 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
US8543720B2 (en) * 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
US20090150259A1 (en) * 2007-12-09 2009-06-11 Arjun Yetukuri Collection of Magazine Articles
US7979557B2 (en) * 2008-04-11 2011-07-12 Mobitv, Inc. Fast setup response prediction
US7979570B2 (en) 2008-05-12 2011-07-12 Swarmcast, Inc. Live media delivery over a packet-based computer network
WO2009155356A1 (en) 2008-06-18 2009-12-23 Onion Networks, KK Traffic and cost containment for internet access by adapting the coding rate when distributing- media content
US8996547B2 (en) * 2008-10-31 2015-03-31 Microsoft Technology Licensing, Llc Dynamic fragmentation of digital media
US8375140B2 (en) * 2008-12-04 2013-02-12 Google Inc. Adaptive playback rate with look-ahead
ES2524966T3 (es) 2008-12-05 2014-12-16 Abbvie Bahamas Ltd. Derivados de tieno[3,2-c]piridina como inhibidores de quinasas para uso en el tratamiento del cáncer
US8474001B2 (en) * 2009-02-10 2013-06-25 Cisco Technology, Inc. Near real time delivery of variable bit rate media streams
WO2010141460A1 (en) * 2009-06-01 2010-12-09 Swarmcast, Inc. Data retrieval based on bandwidth cost and delay
CN102055789B (zh) * 2009-11-09 2013-10-09 华为技术有限公司 实现基于http的流媒体业务的方法、系统和网络设备
JP4904564B2 (ja) * 2009-12-15 2012-03-28 シャープ株式会社 コンテンツ配信システム、コンテンツ配信装置、コンテンツ再生端末およびコンテンツ配信方法
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
EP2410743A1 (en) * 2010-07-23 2012-01-25 Alcatel Lucent Method for transferring video chunks, server entity, client entity and intermediate network entity realizing such a method
US9531579B2 (en) 2010-08-10 2016-12-27 Telefonaktiebolaget Lm Ericsson (Publ) Session control for media stream transmission
KR101472032B1 (ko) 2010-09-20 2014-12-16 (주)휴맥스 홀딩스 Http 스트리밍에서 표현 스위칭시 처리 방법
US8953752B2 (en) * 2011-02-17 2015-02-10 Sonus Networks, Inc. Systems and methods for playing recorded announcements
JP2013031151A (ja) 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
WO2013012909A1 (en) 2011-07-20 2013-01-24 Abbott Laboratories Kinase inhibitor with improved aqueous solubility
US20130227106A1 (en) * 2012-02-23 2013-08-29 Edward Grinshpun Method and apparatus for video session management
KR101904053B1 (ko) * 2012-03-13 2018-11-30 삼성전자 주식회사 단말장치의 멀티미디어 처리장치 및 방법
US9386308B2 (en) * 2013-07-16 2016-07-05 Cisco Technology, Inc. Quality optimization with buffer and horizon constraints in adaptive streaming
KR102422493B1 (ko) * 2014-06-30 2022-07-20 소니그룹주식회사 정보 처리 장치 및 정보 처리 방법
US11076187B2 (en) 2015-05-11 2021-07-27 Mediamelon, Inc. Systems and methods for performing quality based streaming
WO2016183251A1 (en) 2015-05-11 2016-11-17 Mediamelon, Inc. Systems and methods for performing quality based streaming
KR102321859B1 (ko) 2016-07-21 2021-11-03 한화테크윈 주식회사 자바 스크립트를 이용한 실시간 미디어 스트리밍 방법 및 그 장치
CN111164900B (zh) * 2017-09-28 2021-08-31 英国电讯有限公司 控制关于局域网的通信的方法、设备、网关装置和存储介质
CN111201718B (zh) 2017-10-10 2021-10-01 英国电讯有限公司 识别局域网中的干扰链路

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US595716A (en) * 1897-12-21 Process of printing on two-color lithographic presses
US5701582A (en) * 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US5610841A (en) * 1993-09-30 1997-03-11 Matsushita Electric Industrial Co., Ltd. Video server
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5608450A (en) * 1994-09-07 1997-03-04 Intel Corporation Video conferencing system with fast packet loss recovery
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US5835495A (en) * 1995-10-11 1998-11-10 Microsoft Corporation System and method for scaleable streamed audio transmission over a network
KR19990072122A (ko) * 1995-12-12 1999-09-27 바자니 크레이그 에스 실시간 영상 전송 방법 및 장치
CA2196622C (en) 1996-02-06 2001-10-16 Hiroshi Jinzenji Network data distribution system
US6065050A (en) 1996-06-05 2000-05-16 Sun Microsystems, Inc. System and method for indexing between trick play and normal play video streams in a video delivery system
US6118790A (en) * 1996-06-19 2000-09-12 Microsoft Corporation Audio server system for an unreliable network
US5732216A (en) 1996-10-02 1998-03-24 Internet Angles, Inc. Audio message exchange system
WO1998026604A1 (en) 1996-12-10 1998-06-18 British Telecommunications Public Limited Company Video coding
US6029194A (en) * 1997-06-10 2000-02-22 Tektronix, Inc. Audio/video media server for distributed editing over networks
CN1248336A (zh) 1997-10-30 2000-03-22 皇家菲利浦电子有限公司 对一种表示进行编码的方法
JP3407287B2 (ja) 1997-12-22 2003-05-19 日本電気株式会社 符号化復号システム
EP1040419B1 (en) 1997-12-24 2002-08-07 Avid Technology, Inc. Computer system for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6374336B1 (en) * 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6515976B1 (en) 1998-04-06 2003-02-04 Ericsson Inc. Demodulation method and apparatus in high-speed time division multiplexed packet data transmission
US6591305B2 (en) * 1998-06-30 2003-07-08 Sun Microsystems, Inc. Method and system for delivering data from a server object to a client object using a non-proprietary data transfer protocol
JP2000059755A (ja) 1998-08-07 2000-02-25 Matsushita Electric Ind Co Ltd データサーバシステム、データ受信装置およびデータ送信装置
US6016166A (en) * 1998-08-31 2000-01-18 Lucent Technologies Inc. Method and apparatus for adaptive synchronization of digital video and audio playback in a multimedia playback system
WO2000042773A1 (en) 1999-01-19 2000-07-20 Sony Electronics Inc. System and method for implementing interactive video
US6993788B1 (en) * 1999-08-20 2006-01-31 Mediaone Group, Inc. Method and system for manipulating broadcast signals
WO2001078346A2 (en) * 2000-04-08 2001-10-18 Sun Microsystems, Inc. Resynchronizing media during streaming
US7103668B1 (en) * 2000-08-29 2006-09-05 Inetcam, Inc. Method and apparatus for distributing multimedia to remote clients

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9236887B2 (en) 2004-05-07 2016-01-12 Digital Fountain, Inc. File download and streaming system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
CN101729876B (zh) * 2008-10-15 2012-11-28 佳能株式会社 图像处理设备及其控制方法
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9660763B2 (en) 2009-08-19 2017-05-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9876607B2 (en) 2009-08-19 2018-01-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
CN102549999B (zh) * 2009-09-22 2016-08-24 高通股份有限公司 使用协作式并行http和前向纠错的增强型块请求流送
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
CN102549999A (zh) * 2009-09-22 2012-07-04 高通股份有限公司 使用协作式并行http和前向纠错的增强型块请求流送
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
CN107911332B (zh) * 2009-11-04 2021-01-08 阿莫泰克有限公司 媒体内容流播的方法、系统和计算机可读介质
CN107911332A (zh) * 2009-11-04 2018-04-13 阿莫泰克有限公司 媒体内容流播的系统和方法
US9338216B2 (en) 2009-11-09 2016-05-10 Snaptrack, Inc. Method, system and network device for implementing HTTP-based streaming service
CN102055773A (zh) * 2009-11-09 2011-05-11 华为技术有限公司 实现基于http的流媒体业务的方法、系统和网络设备
US10425666B2 (en) 2009-11-13 2019-09-24 Samsung Electronics Co., Ltd. Method and apparatus for adaptive streaming using segmentation
US9967598B2 (en) 2009-11-13 2018-05-08 Samsung Electronics Co., Ltd. Adaptive streaming method and apparatus
CN102812673B (zh) * 2009-11-13 2016-02-17 三星电子株式会社 发送和接收数据的方法和装置
USRE48360E1 (en) 2009-11-13 2020-12-15 Samsung Electronics Co., Ltd. Method and apparatus for providing trick play service
US9860573B2 (en) 2009-11-13 2018-01-02 Samsung Electronics Co., Ltd. Method and apparatus for providing and receiving data
CN102812673A (zh) * 2009-11-13 2012-12-05 三星电子株式会社 发送和接收数据的方法和装置
US9756364B2 (en) 2009-12-07 2017-09-05 Samsung Electronics Co., Ltd. Streaming method and apparatus operating by inserting other content into main content
US9699486B2 (en) 2010-02-23 2017-07-04 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data
US9197689B2 (en) 2010-03-19 2015-11-24 Samsung Electronics Co., Ltd. Method and apparatus for adaptively streaming content including plurality of chapters
US9277252B2 (en) 2010-06-04 2016-03-01 Samsung Electronics Co., Ltd. Method and apparatus for adaptive streaming based on plurality of elements for determining quality of content
CN103222277B (zh) * 2010-06-04 2016-12-14 三星电子株式会社 基于用于确定内容质量的多个元素的自适应流传输的方法和装置
CN103222277A (zh) * 2010-06-04 2013-07-24 三星电子株式会社 基于用于确定内容质量的多个元素的自适应流传输的方法和装置
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9992555B2 (en) 2010-06-29 2018-06-05 Qualcomm Incorporated Signaling random access points for streaming video data
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9602802B2 (en) 2010-07-21 2017-03-21 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
CN106658176A (zh) * 2016-11-07 2017-05-10 广州视源电子科技股份有限公司 远程视频显示方法及系统
CN109862193A (zh) * 2019-04-12 2019-06-07 珠海天燕科技有限公司 一种终端中来电视频的控制方法及装置

Also Published As

Publication number Publication date
US7447791B2 (en) 2008-11-04
ATE464740T1 (de) 2010-04-15
US20040064573A1 (en) 2004-04-01
CN1243442C (zh) 2006-02-22
KR100908954B1 (ko) 2009-07-22
KR20030061853A (ko) 2003-07-22
ES2342357T3 (es) 2010-07-06
EP2071827A2 (en) 2009-06-17
DE60141850D1 (de) 2010-05-27
EP2071827A3 (en) 2010-08-25

Similar Documents

Publication Publication Date Title
CN1243442C (zh) 音频和/或视频资料的传输和接收
CN1217317C (zh) 音频信号编码
EP1342363B1 (en) Transmission and reception of audio and/or video material
AU2002220927A1 (en) Transmission and reception of audio and/or video material
CN102577307A (zh) 使用url模板和构造规则的增强型块请求流送
CN102577308A (zh) 使用可伸缩编码的增强型块请求流送
CN1488195A (zh) 分布式随选媒体代码转换系统和方法
CN102549999A (zh) 使用协作式并行http和前向纠错的增强型块请求流送
CN102577411A (zh) 使用信令或块创建的增强型块请求流送系统
KR20110101051A (ko) 북마크 정보를 생성하는 방법 및 장치
CN101060623A (zh) 运动图像再现设备和方法
AU2002215122A1 (en) Encoding audio signals
CN1650628A (zh) 用于支持mp4中的avc的方法和设备
CN1714554A (zh) 视听媒体编码系统
JP4315914B2 (ja) 画像再生装置及び画像再生方法
KR100982111B1 (ko) 리치 미디어 전송 시스템 및 그 제어방법
JPH0818622A (ja) 情報通信端末装置
CN1202073A (zh) 图象数据结构、传送方法、译码装置及数据记录媒体
JP5144771B2 (ja) 画像処理装置、画像再生装置、画像記録装置、画像処理方法、画像再生方法、及び画像記録方法
CN101326822A (zh) 用于编辑/创作地面数字多媒体广播内容的设备、地面数字多媒体广播的交互式内容提供系统
WO2002049342A1 (en) Delivery of audio and/or video material
JP3886892B2 (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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060222