CN1859562A - 视频点播方法、系统、服务器和终端 - Google Patents

视频点播方法、系统、服务器和终端 Download PDF

Info

Publication number
CN1859562A
CN1859562A CNA2006100570354A CN200610057035A CN1859562A CN 1859562 A CN1859562 A CN 1859562A CN A2006100570354 A CNA2006100570354 A CN A2006100570354A CN 200610057035 A CN200610057035 A CN 200610057035A CN 1859562 A CN1859562 A CN 1859562A
Authority
CN
China
Prior art keywords
program data
terminal
multicast
program
clean culture
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
CNA2006100570354A
Other languages
English (en)
Other versions
CN100428796C (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.)
Shenzhen Huawei Cloud Computing Technology Co ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006100570354A priority Critical patent/CN100428796C/zh
Publication of CN1859562A publication Critical patent/CN1859562A/zh
Priority to PCT/CN2007/000722 priority patent/WO2007104236A1/zh
Application granted granted Critical
Publication of CN100428796C publication Critical patent/CN100428796C/zh
Active 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/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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/26616Channel 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 for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
    • 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
    • H04N21/47202End-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 for requesting content on demand, e.g. video on demand
    • 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/64Addressing
    • H04N21/6405Multicasting
    • 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/64Addressing
    • H04N21/6408Unicasting

Landscapes

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

Abstract

本发明公开了一种视频点播方法,该方法包括:服务器接收到来自终端的点播请求后,响应该请求,以单播方式向终端发送点播的节目数据,终端接收所述单播的节目数据并播放;服务器为点播相同的所述节目数据的终端建立组播,以组播方式发送所述节目数据,并将所述组播信息通知给所述点播相同节目的终端;接收到组播信息的终端根据该组播信息接收所述组播的节目数据并存储;当终端接收的所述单播的节目数据与该终端中存储的所述组播的节目数据重合后,服务器停止以单播方式向终端发送节目数据,终端读取所述存储的组播节目数据并播放。本发明还公开了一种视频点播系统、一种视频点播服务器和一种视频点播终端。

Description

视频点播方法、系统、服务器和终端
技术领域
本发明涉及音视频网络播放技术领域,特别是指一种视频点播方法、一种视频点播系统、一种视频点播服务器和一种视频点播终端。
背景技术
本发明涉及的技术领域是音视频网络播放系统中的视频点播功能,视频点播是因特网数字电视(IPTV),个人电脑电视(PCTV)等领域中的最为重要的功能之一。视频点播可以让用户通过视频点播终端按照自己的需求随意的选择收视节目,随时点播自己喜欢的节目进行收看。目前的视频点播功能主要实现分为两种方式:一是通过对每个点播在视频点播服务器与视频点播终端之间建立单播来发送节目数据实现点播功能。二是利用固定时间间隔的组播,让用户等待加入不同的组播组收视节目。这两种方式都存在自己的不足,一是视频点播服务器负载大,视频点播服务器网络带宽要求高,二是响应延迟时间较长,用户体验差。为描述方便,在本说明书中以下将视频点播服务器简称为服务器,将视频点播终端简称为终端。
为了实现真正的视频点播(VOD)功能,及时地响应用户点播通常利用IP网的单播来实现。通过单播的方式实现VOD的主要流程如图1所示,包括步骤:
步骤101、终端选择一个节目,并向服务器发送点播请求;
步骤102、服务器接收到上述点播请求,根据终端的IP地址和点播内容利用单播方式向终端发送节目数据;
步骤103、终端接收服务器发送的节目数据,解码播放实现VOD。
这种采用IP网的单播发送节目数据的方法,可以快速的响应用户的点播,实现点播的即时响应,提供较好的用户感受。
利用单播的方式实现VOD功能,针对每一个点播服务器都需要建立一个连接并发送数据。当同一时刻大量的点播发生时,服务器的负荷将会很大,同时服务器将消耗大量的带宽。在现有的服务器功能和网络带宽的情况下,大量发生的点播将会导致服务器的响应缓慢,网络堵塞。
针对利用单播方式下的实现VOD对服务器的功能和网络要求都过高的缺点,有相关技术人员提出了利用组播技术实现VOD功能的方法。通常利用组播技术实现VOD技术的方法是利用将节目分不同的时间发起多个组播。常用的方法就是每隔一段时间建立一个组播,并向整个网络发送节目数据。当终端点播节目后,服务器将该节目对应的下一个组播地址发送给终端,通知终端加入下一个组播接收节目数据;终端根据接收的组播地址接收服务器以组播方式发送的节目数据。
还有一种现有技术是针对一个节目固定建立多个组播,将每个节目按时间分成多个节目片,并将节目片按照一定的算法排序。组播中,按照节目片排序顺序循环的播放。终端点播节目是就是同时加入多个组播,接收数据并存储,当接收到节目开始的第一个节目片时开始播放。具体的方法例子如下:
例如一个50分钟的,节目流为1Mbps的原始节目文件。将节目分为51块,分别附给从0到50的块号,将节目块按照以下顺序进行发送:
            0,0,50,36,35,1,19;
            0,9,6,3,2,20,1;
            0,49,38,37,21,3,1;
            0,10,5,4,22,2,1;
            0,40,39,23,7,5,1;
            0,24,11,6,3,2,1;
            0,46,42,41,25,7,1;
            0,12,8,26,4,2,1;
            0,44,43,27,9,3,1;
            0,28,13,10,5,2,1;
            0,45,30,29,14,11,1;
            0,12,6,4,3,2,1;
            0,48,47,33,31,13,1;
            0,32,15,14,7,2,1;
            0,16,17,15,5,3,1;
            0,34,18,8,4,2,1。
在以7Mbps的速度的发送情况下节目的点播响应时间为60秒左右。要达到即时响应,即以两秒为标准的话则需要以210Mbps的速率进行组播。
通常的利用组播的方式发送节目来实现VOD功能的方法的响应时间较长。响应的时间与服务器负担成反比,当要求响应节目时间为2秒时,一个2小时的节目在同一时间内将要求3600个组播。在快速响应的情况下,起不到降低服务器负担的作用。
针对一个节目进行分片排序组播的方法,分片的算法复杂。同时在以这种方法的响应时间以服务器和终端之间的传送速度为代价,响应时间每减小一倍,传送节目的速率要增大一倍,同时当节目的长度增大一倍时,节目的传送速率也将增大一倍。例如一个100分钟的节目,节目码流为1Mbps,那么2秒响应时间的点播则要求终端的接收带宽为7×30×2=420Mbps;这对终端的要求过高。
由此可见利用组播方式实现VOD功能的方法存在较长延迟时间的问题。这个问题的解决要么起不到降低服务器负担的作用,要么对终端要求太高。
发明内容
有鉴于此,本发明的目的在于提供一种视频点播方法、一种视频点播系统、一种视频点播服务器和一种视频点播终端,能够解决现有技术中存在的组播时延长的问题,并能够降低服务器负担,降低对终端的要求。
为了达到上述目的的第一个方面,本发明提供了一种视频点播方法,该方法包含以下步骤:
A、视频点播服务器接收到来自视频点播终端的点播请求后,响应该请求,以单播方式向视频点播终端发送点播的节目数据,视频点播终端接收所述单播的节目数据并播放;
B、视频点播服务器为点播相同的所述节目数据的视频点播终端建立组播,以组播方式发送所述节目数据,并将所述组播信息通知给所述点播相同节目的视频点播终端;
C、接收到组播信息的视频点播终端根据该组播信息接收所述组播的节目数据并存储;
D、当视频点播终端接收的所述单播的节目数据与该视频点播终端中存储的所述组播的节目数据重合后,视频点播服务器停止以单播方式向视频点播终端发送节目数据,视频点播终端读取所述存储的组播节目数据并播放。
较佳地,所述步骤B包括:
B1、视频点播服务器判断当前是否存在发送所述节目数据的组播,如果是,执行步骤B2;否则执行所述步骤B3;
B2、视频点播服务器将所述组播的信息通知给该组播对应的视频点播终端;
B3、视频点播服务器建立组播发送所述节目数据,然后执行步骤B2。
较佳地,所述步骤B3中进一步包括:视频点播服务器存储所建立的组播信息;
所述步骤B1中,视频点播服务器根据存储的组播信息执行所述判断步骤。
较佳地,所述存储的组播信息包括:包括节目的ID号、组播的时间标记和组播地址;
则所述步骤B2中,通知给视频点播终端的组播信息为:组播地址。
较佳地,所述组播的时间标记为:该组播所对应单播中最早开始的单播的开始时间;或为:在该组播所对应单播中最早开始的单播的开始时间之后预先设定延迟时间的时刻。
较佳地,所述步骤B3之前进一步包括:
B30、视频点播服务器判断是否可以建立组播,如果是执行所述步骤B3;否则直接结束该流程。
步骤B1中所述的判断步骤可以为:
B11、视频点播服务器判断在该时刻之前预先设定的时间之内是否存在发送所述节目数据的组播;
步骤B30中所述的判断步骤为:
B301、视频点播服务器判断在该时刻之前预先设定的时间之内是否存在针对所述节目数据的单播,如果是,在步骤B3之后执行的步骤B2中,所述的组播对应的视频点播终端为所述视频点播终端和所述存在的针对所述节目数据的单播对应的视频点播终端。
步骤B1中所述的判断步骤还可以为:
B12、视频点播服务器判断在该时刻所在的预先设定的时间跨度内,是否存在发送所述相同节目数据的组播;
步骤B30中所述的判断步骤为:
B302、视频点播服务器判断在该时刻所在的预先设定的时间跨度内,针对所述节目数据的单播数量是否达到或超过了预先设定的最小单播数量,如果是,在步骤B3之后执行的步骤B2中,所述的组播对应的视频点播终端为所述视频点播终端和所述针对所述节目数据的单播对应的视频点播终端。
较佳地,步骤A中进一步包括:视频点播服务器记录所述单播信息;
则步骤B30中,视频点播服务器根据所述记录的单播信息判断是否可以建立组播。
较佳地,所述步骤D为:
视频点播终端确定出自身接收的所述单播的节目数据和自身中存储的所述组播的节目数据重合后,向视频点播服务器发送中止单播请求,然后读取所述存储的组播节目数据并播放。
较佳地,所述视频点播终端确定自身接收的所述单播的节目数据和自身中存储的所述组播的节目数据重合的方法为:
将节目数据划分为块,并为每块设置块号,当视频点播终端识别出所存储的组播节目数据中存在与当前接收的单播节目数据的块号相同时,确定出自身接收的单播节目数据和自身中存储的组播节目数据重合;
或为:所述节目数据中包括时间信息,当视频点播终端识别出所存储的组播节目数据中存在与当前接收的单播节目数据包括相同时间信息时,确定出自身接收的单播节目数据和自身中存储的组播节目数据重合。
较佳地,所述步骤D为:
视频点播服务器根据向视频点播终端以单播形式和组播形式发送数据的时间,确定出视频点播终端接收的单播节目数据和该视频点播终端中存储的组播节目数据重合后,停止所述的以单播方式向视频点播终端发送节目数据。
为达到上述目的的第二个方面,本发明提供了一种视频点播系统,该系统包括:
该视频点播系统包括视频点播服务器和视频点播终端;其中,
视频点播服务器用于根据来自视频点播终端的点播请求向其以单播形式发送对应节目数据;和发送组播节目数据,并将确定的所述视频点播终端加入的组播信息发送给视频点播终端;和根据接收单播节目数据和组播节目数据的视频点播终端所接收的数据重合的信息,停止向视频点播终端发送单播节目数据;
视频点播终端用于根据用户的点播请求向视频点播服务器发送点播请求,接收并播放视频点播服务器以单播方式发送的节目数据;和根据来自视频点播服务器的组播信息接收组播节目数据;和根据自身以单播方式接收的节目数据和以组播方式接收的节目数据重合的信息,读取存储的组播节目数据并播放。
为达到上述目的的第三个方面,本发明提供了一种视频点播服务器,该服务器包括通讯模块、决策模块和存储模块;其中,
通讯模块用于接收来自终端点播请求,响应该请求读取并以单播方式发送存储模块中的对应节目数据,并将点播请求传送给决策模块;和将来自决策模块的组播信息发送给终端,并根据来自决策模块的发起组播的信息从存储模块中读取并以组播方式发送对应的节目数据,以及根据来自终端的中止请求停止读取和发送对应的节目数据;
决策模块用于根据来自通讯模块的点播请求确定是否将终端加入已有的组播,或是否需要发起组播,并根据确定出的将终端加入已有组播的信息或发起组播的信息,将组播信息发送给通讯模块;和将发起的组播的信息存储在存储模块;
存储模块,用于存储节目数据和组播信息。
进一步地,所述决策模块可以用于根据向同一视频点播终端发送单播节目数据的时间和组播节目数据的时间,确定终端接收的单播节目数据和组播节目数据的视频点播终端所接收的数据是否重合,并将确定出的重合的信息发送给通讯模块;
则所述通讯模块进一步用于接收来自决策模块的所述重合的信息,并根据该重合的信息停止以单播方式发送存储模块中的对应节目数据。
为达到上述目的的第四个方面,本发明提供了一种视频点播终端,该终端包括通讯模块、播放控制模块和存储模块;其中,
通讯模块用于接收来自服务器的单播节目数据并将单播节目数据传送给播放控制模块,以及根据来自服务器的组播信息接收组播节目数据并存储到存储模块中;并用于将用户发起的点播请求和来自播放控制模块的中止单播请求发送给服务器;
播放控制模块用于接收来自通讯模块的单播节目数据并进行解码播放;或根据确定出的单播节目数据中止的信息读取存储模块中存储的组播节目数据并进行节目播放;
存储模块用于存储组播节目数据。
所述终端中可以进一步包括:
判断模块,用于判断所的接收的单播节目数据和存储模块中存储的组播节目数据是否重合,并将确定出的单播节目数据和组播节目数据重合的信息发送给播放控制模块和通讯模块;
所述播放控制模块进一步用于根据来自判断模块的所述重合的信息停止播放所述单播节目数据,读取存储模块中存储的组播节目数据并播放;
所述通讯模块进一步用于根据来自判断模块的所述重合的信息向视频点播服务器发送中止单播请求。
从以上方案可以看出,本发明中通过视频点播服务器接收到来自视频点播终端的点播请求后,以单播形式向终端发送所点播的节目数据,达到了对终端点播请求的即时响应;此后,服务器为多个点播相同节目数据的终端建立组播组,并向所述多个终端以组播方式发送所述相同的节目数据,终端接收以组播方式发送的节目数据并存储;当终端接收的服务器以单播方式发送的节目数据与终端存储的服务器以组播方式发送的节目数据重合时,服务器停止以单播方式向终端发送节目数据,从而又通过组播向多个终端发送数据而降低了对资源的占用。
附图说明
图1为现有技术的单播流程图;
图2为本发明方法的总体流程图;
图3为本发明方法第一实施例中服务器与终端交互的流程图;
图4为本发明的系统组成示意图;
图5为本发明方法第一实施例中服务器内部处理流程图;
图6为本发明方法第一实施例中终端内部处理流程图;
图7为本发明方法第一实施例一种案例的系统示意图;
图8为本发明方法第二实施例中服务器与终端交互的流程图;
图9为本发明方法第三实施例中服务器与终端交互的流程图;
图10为本发明方法第四实施例中服务器内部的处理流程图;
图11为本发明方法第四实施例中终端内部的处理流程图;
图12为终端播放控制示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明的主要思想是,视频点播服务器,以下简称服务器,接收到来自视频点播终端,以下简称终端,的点播请求后,立即以单播形式向终端发送所点播的节目数据,以达到即时响应;此后,服务器为多个点播相同节目数据的终端建立组播组,并向所述多个终端以组播方式发送所述相同的节目数据,终端接收以组播方式发送的节目数据并存储;当终端接收的服务器以单播方式发送的节目数据与终端存储的服务器以组播方式发送的节目数据重合时,服务器停止以单播方式向终端发送节目数据,从而又通过组播向多个终端发送数据而降低了对资源的占用。
本发明的总体流程如图2所示,包括以下步骤:
步骤201、服务器接收到来自终端的点播请求后,响应该请求,以单播方式向终端发送点播的节目数据,终端接收所述单播的节目数据并播放;
步骤202、服务器为点播相同的所述节目数据的终端建立组播,以组播方式发送所述节目数据,并将所述组播信息通知给所述点播相同节目的终端;
步骤203、接收到组播信息的终端根据该组播信息接收所述组播的节目数据并存储;
步骤204、当终端接收的所述单播的节目数据与该终端中存储的所述组播的节目数据重合后,服务器停止以单播方式向终端发送节目数据,终端读取所述存储的组播节目数据并播放。
为了降低服务器的负担,在上述步骤202中,服务器可以根据预先设定的条件建立组播,该条件可以是在一定时间跨度T内对同一节目发起单播达到或超过了最小单播数量N;该条件还可以是在当前单播之前的T′时间内没有组播,但存在针对相同节目的单播;该条件也可以只是没有针对相同节目的组播。
另外,为了保证终端在接收组播节目数据一段时间后,可以停止接收单播节目数据,在建立组播后,以组播方式发送的节目数据进度需要与该组播对应的单播中最早开始的单播的进度同步或稍快于该单播的进度。
在步骤204中,确定终端接收的单播的节目数据与终端中存储的组播的节目数据是否重合,可以由终端来执行,则终端根据接收的节目数据信息确定出节目数据重合后,需要通知服务器停止以单播方式向该终端发送节目数据;也可以是由服务器来执行,则服务器根据发送的节目进度确定出终端以两种方式接收的节目数据重合后,停止以单播方式向该终端发送数据。
以下通过具体实施例对本发明进行详细说明。
在本发明的第一实施例中,服务器预先设定建立组播的时间跨度T和最小单播数量N。其中,时间跨度T可以根据服务器的能力、网络状况以及终端的存储能力确定,如果服务器的能力较强,网络状况较好,则可以将时间跨度设置的小一些,这样对于终端存储能力的要求就低;如果终端的存储能力较强,则可以将时间跨度设置的大一些。而最小单播数量N,则根据组播和单播的资源耗费情况确定,最小单播数量应该满足在这个值N时,组播的代价和N个单播的代价近似相等,或组播的代价稍小于N个单播的代价,该值的范围可以为10至100。
在确定了建立组播的时间跨度T和最小单播数量N后,本发明具体实施例中终端与服务器交互的流程如图3所示,具体包括以下步骤:
步骤301、终端选择节目后,利用IP网络向服务器发送点播请求。
步骤302、服务器接收到点播请求后,响应该请求,以单播方式向上述终端发送对应节目数据,并记录该单播信息。
这里,在终端点播一个节目后,服务器可以通过几个单播分别发送不同类型的数据内容进行响应,例如音频和视频分别通过两个单播发送给用户,此时可以将这几个单播作为一个整体,本发明中所提及的单播都是针对这个整体而言;类似地,后续的组播,服务器也可以通过几个组播分别发送不同类型的数据内容,但本发明所提及的组播都是针对这几个组播的整体而言。
本步骤中,记录的单播信息包括:节目的ID号,单播的时间标记,单播的目的地址等。其中,单播的时间标记可以是该单播开始的时间。
步骤303、服务器判断当前时间所在的时间跨度内是否有对应节目的组播存在,如果有则执行步骤304;否则执行步骤306;
步骤304、服务器将该组播的地址发送给终端,通知终端加入该组播接收节目数据,并在上述记录的单播信息中将该单播标识为已加入组播;
步骤305、终端根据接收的组播地址加入对应的组播接收组播节目数据,然后执行步骤308;
步骤306、服务器判断是否可以建立组播,即统计当前时间所在的时间跨度内所记录的未被标识为已加入组播的单播数量,并判断该数量是否达到预先设定的最小单播数量N,如果是执行步骤307;否则执行步骤312;
步骤307、服务器建立组播发送数据,将该组播的地址发送给该时间跨度内所记录的未被标识为已加入组播的单播对应的终端,并记录该组播信息,将加入该组播的单播标识为已加入组播,然后执行步骤305;
本步骤中,服务器建立组播时,该组播所发送节目数据的起始点需要根据该组播中最早开始的单播的发送进度确定,可以与该最早开始的单播发送进度相同,也可以该最早开始的单播当前所发送进度之后预先设定的延迟时间t所对应的节目数据开始发送。该延迟时间t的大小的设定可以根据网络情况和响应速度进行,能够保证终端接收的组播节目数据比同时接收的单播节目数据晚即可。
另外,本步骤中所记录的组播信息包括节目的ID号、组播的时间标记、和组播地址。其中,组播的时间标记可以是该组播组中最早开始的单播的开始时间。
步骤308~309、终端识别出所接收的单播节目数据和最早接收并存储的组播节目数据重合后,读取存储的对应进度的组播节目数据进行播放,并向服务器发送中止单播请求。
本步骤中,终端识别单播节目数据和组播节目数据是否重合,可以有两种方式,下面分别说明。
一种方式为将节目分块的方式。该方式中,服务器将节目数据划分成多块,块的大小以每块能够在较短时间内传输完毕,保证用户点播后,收看节目时等待第一块传输完毕的时间较短,可以及时的响应用户点播请求为尺度,并将每一节目块按顺序连续地设置块号,在发送节目数据时,将块号设置在节目块的头部与节目块一起发送。则终端在判断出存储的组播节目块的块号存在与当前接收的单播节目块的块号相同时,确定出单播节目数据与组播节目数据重合。
另一种方式为根据音视频数据编码中的时间信息(time_code)识别的方式。该方式中,当节目数据以MPEG-4或H.264编码时,终端可以根据视频对象组(GOP)头中的time_code信息来确定单播节目数据与存储的组播节目数据是否重合;当节目数据以MPEG-2或AVS编码时,终端可以根据图组头中的time_code信息来确定单播节目数据与存储的组播节目数据是否重合。具体为当终端确定出存储的组播节目中存在time_code与当前接收的单播节目的time_code相同的节目数据时,确定出单播节目数据与组播节目数据重合。
本步骤中读取对应进度的组播节目数据,可以是在识别出重合后,即读取重合的组播节目数据开始播放;也可以是在完成当前节目块、或视频对象组、或图组的播放后,读取存储的组播节目数据中的下一个对应的节目块、或视频对象组或图组进行播放,此后顺序播放存储的组播节目数据。
此外,如果在本步骤之前,终端识别出用户中途停止播放,则停止播放单播节目数据,通知服务器停止单播,并退出组播。服务器接收到停止单播通知后,停止以单播方式向终端发送节目数据。
步骤310、服务器接收到来自终端的中止单播请求后,停止向终端发送单播节目数据,并删除该单播信息,然后执行步骤313。
步骤311、终端在用户中途中止播放或完成所点播节目的播放后,退出组播。
步骤312、终端在用户中途中止播放或完成所点播的节目数据的播放后,通知服务器停止单播,服务器接收到该通知后,停止向终端发送该单播节目数据,并删除该单播信息,然后结束该流程。
步骤313、服务器在完成组播节目数据的播放后,删除该组播信息。
以上是本实施例中终端与服务器交互的流程,通过该流程交互的服务器和终端的内部组成如图4所示。在图4中,服务器41与终端42之间通过IP网络43进行连接;服务器41中具体包括通信模块411、决策模块412和存储模块413;终端42中具体包括通讯模块421、播放控制模块422、存储模块423和判断模块424。
其中,服务器内部各模块之间交互的流程如图5所示,包括以下步骤:
步骤501、服务器的通讯模块接收到来自终端的点播请求后,将该请求传送给决策模块。
步骤502、决策模块响应该请求,以单播方式向上述终端发送对应的节目数据,并将该单播信息记录在存储模块中。
步骤503、决策模块查询存储模块中是否存储有在当前时间所在的预先设定的时间跨度T内针对该节目的组播,如果是执行步骤504;否则执行步骤505。
步骤504、决策模块通过通讯模块向终端发送消息通知上述终端加入该组播,并将存储模块中存储的该单播信息标记为已加入组播,然后执行步骤508。
步骤505、决策模块查询存储模块中记录的针对该节目未标记为已加入组播的单播信息,并判断这些单播的数量是否达到或超过预先设定的最小单播数量N,如果是则执行步骤506;否则执行步骤508。
步骤506、决策模块建立组播,通过通讯模块向上述未标记为已加入组播的单播信息对应的终端发送该组播地址,通知加入该组播接收节目数据,并将这些单播信息标记为已加入组播。
步骤507、决策模块将该组播信息存储到存储模块中。
步骤508、通讯模块在接收到终端发送的中止单播的信息后,将该信息转发给决策模块。
步骤509、决策模块根据接收的中止单播的信息停止向对应终端发送单播节目数据,并将该单播信息从存储模块中删除。
步骤510、决策模块在确定出单播或组播节目数据发送完成后,停止向对应终端发送单播或组播节目数据,并将对应的单播或组播信息从存储模块中删除。
终端内部的处理流程如图6所示,具体包括以下步骤:
步骤601、终端的判断模块接收到用户的点播请求后向通讯模块发送点播请求。
步骤602、通讯模块将点播请求通过IP网络发送给服务器。
步骤603、通讯模块在接收到服务器以单播形式发送的节目数据后,将接收的节目数据传送给播放控制模块。
步骤604、播放控制模块根据接收的单播形式的节目数据进行播放。
步骤605、通讯模块在接收到来自服务器的加入组播的通知后,加入对应组播接收节目数据,并将接收的组播节目数据存储到存储模块中。
步骤606、判断模块判断以单播形式接收的节目数据和以组播形式接收的节目数据是否重合,如果重合执行步骤607;否则执行步骤612。
步骤607、判断模块通过通讯模块向服务器发送中止点播请求,并将上述重合的信息发送给播放控制模块。
步骤608、播放控制模块读取存储的组播节目数据并顺序播放。
步骤609、播放控制模块判断是否接收到了用户的中止播放请求,如果是,则执行步骤611,退出组播,然后结束该流程;否则,执行步骤610,判断是否完成了节目的播放,如果是返回执行步骤611;否则返回执行步骤609。
步骤612、判断模块判断是否接收到了用户的中止播放请求,如果是执行步骤613,通过通讯模块向服务器发送中止单播请求,并通知播放控制模块停止播放节目数据,然后结束该流程;否则执行步骤614,判断是否完成了节目的播放,如果是返回执行步骤613;否则返回执行步骤612。
下面再以应用本实施例的一种案例进一步对本实施例进行说明。
如图7所示,本实施例的一种案例所基于的系统包括服务器41、IP网络43、终端4201、4202......420n。其中,服务器中包括有CPU、硬盘、网卡、内存和点播软件服务端。终端中包括有CPU、硬盘、网卡、内存和点播软件客户端,显示卡等设备。服务器的网卡为通讯模块,硬盘为存储模块,服务器点播软件为决策模块;CPU与内存为运行所需环境。终端的网卡作为通讯模块,点播软件客户端为判断模块,硬盘为存储模块,显示卡等显示设备作为播放控制模块。
假设一个节目时长100分钟,预先设定的时间跨度T为10分钟,最小单播数量N为10。终端1最先在10:00进行节目点播,服务器向它发送单播节目数据,并存储这个单播的信息。终端1在不考虑延迟的情况下,等待时间为0。此后分别有8个终端加入点播同一个节目,他们的处理与终端1相同。终端10在10:03又点播了这个节目,服务器立即发送单播数据给它并存储这个单播的信息,做到点播的立即响应。然后点播软件客户端确定出此前10分钟内的点播节目数量已经为10个,故建立组播发送数据,并将这些点播终端对应的单播信息标记为已加入组播。发现这十个节目的点播最早的终端1已经播放到3分钟,由于考虑网络延迟,从第四分钟节目的内容开始发送组播数据,将组播信息记录下来,其组播时间标记为10:00即第一个单播的发起时间,并通知所有终端加入组播接收数据。考虑处理的延迟,假设终端1接收到的组播数据为从第4分10秒开始的节目数据,终端1此后同时接收组播和单播数据,并将接收到的组播数据存储到硬盘中;当到10:04:10时终端发现接收的单播节目数据与存储的组播节目数据已经重合,通知服务器不再发送单播节目数据,服务器中止发网终端1的单播数据并将这个单播的信息从存储模块中删除;而终端1开始从硬盘中读取存储的组播节目数据进行播放。10:07:10时服务器发往所有的终端1到10的单播全部中止,所有点播节目通过一个组播发送。当10:09有一个终端11点播节目时,服务器先通过单播发送数据到终端11并存储这个单播的信息,同时服务器通知终端加入组播接收组播数据,将这个单播的信息设置为已加入组播,终端11加入接收组播数据并将接收到的组播数据存储到硬盘中。当到10:13:10时终端11发现点单播数据与组播内容重合通知服务器中止单播的发送数据并删除这个单播的信息,然后该终端11开始从硬盘中读取存储的组播数据,并播放。当10:11终端12发起点播请求时,服务器立即响应以单播方式向终端12发送节目数据,同时查找10分钟内是否有组播,确定出没有,同时查找10分钟未标记为已加入组播的单播的信息,此时也没有,故服务器将不通知终端12加入组播,直到到达建立新组播的条件并且该终端满足加入该新组播的条件为止。
单播 组播 分片组播   本发明所举案例
响应时间 0   5分钟(可选择)   60秒(可选择) 0
  最小用户数服务器负担(单播)   0   0   0   0
  最小用户数服务器负担(组播)(单倍速率)   0   20   14   0
最大用户数服务器负担(单播)   N(点播数量决定) 0 0 90
  最大用户数服务器负担(组播)   0   20   14   10
  终端带宽要求(播放速度倍数)   1   1   14   2
平均负担 N/2单播 20组播 14组播   45单播或5组播
  服务器负担   大   大   小   小
  网络拥塞概率   大   中   中   小
  网络利用灵活性   灵活   固定   固定   灵活
                                            表1
表1通过上述应用了本发明的情形与现有技术的单播、组播和分片组播的各种性能分析对比说明了本发明的有益效果。
从表1中可以看出利用传统组播方式需要很长的响应时间,若减小到两秒则分别需1800倍个单播放速度组播或420倍播放速度组播,更可怕的时后者需要终端的接收带宽为420倍的节目播放速度,即1Mbps的MPEG-4节目要420Mbps的带宽。传统单播的方式在多终端点播时对服务器的性能和带宽要求过高。采用本发明的方法即实现了单播的即时响应,又克服了传统单播实现VOD的对服务器过高的要求,同时也克服传统组播方式在无人点播时还需占用大量带宽和响应速度慢的缺陷。
以上是对本发明方法第一实施例的说明,在第一实施例中,发起组播的条件为在一定的时间跨度T内单播的数量达到或超过最小单播数量N个,并且由终端对接收的单播节目数据和组播节目数据是否重合进行判决。在本发明中,发起组播的条件也可以是在当前单播之前的建立组播时间门限T′时间内没有针对相同节目的组播,但存在针对相同节目的单播,下面通过第二实施例对这种情况进行说明。
在本发明的第二实施例中,预先在服务器中设定建立组播时间门限T′的值,该值可以根据节目长度确定,例如可以为节目长度的1/20至1/5之间的值,或者可以为预先确定的值,例如为5至20之间的值。
本实施例中,服务器与终端交互的流程如图8所示,该流程与第一实施例中服务器与终端的交互流程基本相同,区别仅在于:在步骤803中,服务器根据存储的组播信息判断在当前时间之前的T′时间内是否有发送上述节目数据的组播,如果是执行步骤804;否则执行步骤806。在步骤806中,服务器根据存储的单播信息判断是否有与当前单播针对相同节目数据的其他单播,如果是执行步骤807;否则执行步骤812。在步骤807中,服务器将组播地址发送给当前单播和服务器中记录的与当前单播节目数据相同其他单播对应的终端。
服务器内部处理的流程与第一实施例中基本相同,区别仅在于上述服务器与终端交互流程中所提及的判断内容不同。而终端内部处理的流程在本实施例中与第一实施例相同,这里不再详细说明。
在本发明中,发起组播的条件也可以是在当前单播之前没有针对相同节目的组播,下面通过第三实施例对这种情况进行说明。
本实施例中,服务器与终端交互的流程如图9所示,该流程与第一实施例中服务器与终端的交互流程也基本相同,区别仅在于:在步骤902中,可以不记录单播信息;在步骤903中,服务器判断是否已存在针对相同节目的组播,如果是执行步骤904,由于在步骤902中可以不记录单播信息,在步骤904中也可以不执行标记单播信息的步骤;否则直接执行步骤906。在步骤906中,服务器建立组播,将该组播地址发送给终端,并记录该组播信息,然后执行步骤905,步骤905与步骤305相同。此后的步骤907至步骤912与步骤308至步骤313基本相同,区别在于,在步骤909和步骤911中可以不删除单播信息。
在本实施例中,服务器内部处理的流程与第一实施例中基本相同,区别仅在于上述服务器与终端交互流程中所提及的判断内容不同。而终端内部处理的流程在本实施例中与第一实施例相同,这里不再详细说明。
在本发明中,对以单播和组播两种方式接收相同节目的终端在何时停止接收单播节目数据,也可以由服务器控制来实现。下面通过第四实施例来详细说明。
本发明的第四实施例可以基于上述第一至第三实施例中的任意一个,区别在于,在上述三个实施例的流程中,在通知终端加入组播的同时,即上述步骤304、307、804、807、904和步骤906中,服务器进一步读取该组播开始的时间Tg,该组播开始的时间为对应所有单播中最早开始的时间,并读取加入该组播的各个终端的单播开始时间Ts,服务器为每个终端计算停止发送单播节目数据时间Tstop,Tstop=Ts-Tg。则终端侧不执行判断单播节目数据和组播节目数据是否重合的步骤,而只是根据来自服务器侧的信息接收和存储节目数据,并在单播节目数据停止后读取最先接收的组播节目数据播放。而在服务器侧根据为终端计算的Tstop,在该时间到达后,停止向该终端发送单播节目数据。
本实施例中服务器内部的处理流程如图10所示,其中步骤1001和步骤1002与步骤501和步骤502相同。在步骤1003、决策模块判断是否已有终端可以加入的组播,如果是执行步骤1004;否则执行步骤1005。
步骤1004、决策模块通过通讯模块向终端发送消息通知上述终端加入该组播,并根据该组播的开始的时间和该终端单播开始的时间计算Tstop,然后执行步骤1008。
步骤1005、决策模块判断是否可以建立组播,如果是则执行步骤1006;否则执行步骤1007。
步骤1006、决策模块建立组播,将该组播信息存储到存储模块中,通过通讯模块发送组播节目数据,并通知对应终端加入该组播接收节目数据,然后分别为这些终端计算Tstop。
步骤1007、决策模块在达到了为终端计算的时间Tstop或在通过通讯模块接收到了来自终端的中止单播请求后,停止向终端发送单播节目数据,并删除该单播信息。
步骤1008、决策模块在确定出单播或组播节目数据发送完成后,停止向对应终端发送单播或组播节目数据,并将对应的单播或组播信息从存储模块中删除。
终端内部的处理流程如图11所示,其中步骤1101至步骤1105与图6中的步骤601至步骤605相同。区别在于,在步骤1105后,执行1106:播放控制模块判断是否接收到了用户的中止点播请求,如果是执行步骤1107,通过通讯模块向服务器发送中止点播请求,并停止播放,然后结束该流程;否则,执行步骤1108,播放控制模块在识别出单播节目数据已经结束接收,并且节目未播放完成后,顺序读取存储模块中存储的组播节目数据进行播放。
在本实施例中,由于直接由服务器决定停止向终端发送单播节目数据的时机,减少了终端与服务器之间的交互,节约了网络资源,并降低了终端的负担。
以上是对本发明方法具体实施例的详细说明。下面再对本发明的系统、服务器和终端的各组成部分及连接关系进行详细说明。
图4已经示出了本发明的系统,其中主要包括服务器41和终端42,在服务器41和终端42的通信过程中可以通过IP网络43进行。
其中,服务器41用于根据来自终端的点播请求向其以单播形式发送对应节目数据;和根据确定出的存在该终端可以加入的组播的信息,或根据确定出的为该单播建立对应组播的信息,将对应组播地址发送给终端;和根据确定的建立组播的信息发送组播节目数据;和根据来自终端的中止单播信息,或根据确定出的同时接收单播节目数据和组播节目数据的终端所接收的数据重合的信息,停止向终端发送单播节目数据。
终端42用于根据用户的点播请求向服务器发送点播请求,接收并播放服务器以单播方式发送的节目数据;和根据来自服务器的组播地址接收和存储服务器以组播方式发送的节目数据;和根据用户的中止播放请求或确定出的以单播方式接收的节目数据和以组播方式接收的节目数据重合的信息,向服务器发送中止单播信息;或进一步根据确定出的以单播方式接收的节目数据和以组播方式接收的节目数据重合的信息,顺序播放存储的组播节目数据。
服务器41中具体又可以包括通讯模块411、决策模块412、存储模块413。
其中,通讯模块411用于将服务器中的决策模块412、存储模块413和IP网络43连接,将通过IP网络43接收的信息传送给对应的决策模块412或存储模块413,以及将来自服务器中决策模块412、存储模块413的信息通过IP网络发送给终端。具体包括:接收终端通过IP网络43发送的点播请求,响应该请求以单播方式读取存储模块中的对应节目数据,将该单播信息记录到存储模块中,并将点播请求传送给决策模块;和将来自决策模块的组播信息通过IP网络43发送给终端,并根据来自决策模块412的发起组播的信息从存储模块413中读取并以组播方式发送对应的节目数据,以及根据来自终端的中止请求或来自决策模块的停止请求,停止读取和发送对应的节目数据。
决策模块412用于根据来自通讯模块412的点播请求确定是否将终端加入已有的组播,或是否需要发起组播,并根据确定出的将终端加入已有组播的信息或发起组播的信息,将组播信息发送给通讯模块412;和将发起的组播的信息存储在存储模块;或进一步用于根据向每个用户所发送的单播和组播的时间信息确定停止单播,并将确定的停止单播的停止请求发送给通讯模块421。
存储模块413,用于存储节目数据、单播信息及组播信息。
终端42中主要包括通讯模块421、播放控制模块422、存储模块423和判断模块424。
通讯模块421用于接收来自服务器的单播节目数据并将单播节目数据传送给播放控制模块,以及根据来自服务器的组播信息接收组播节目数据并存储到存储模块中;将用户发起的点播请求发送给服务器;根据用户发起的中止请求或根据来自判断模块的接收的单播节目数据和组播节目数据重合的信息向服务器发送中止单播请求;和根据来自用户的中止点播请求停止接收组播数据。
播放控制模块422用于接收来自通讯模块的单播节目数据并进行解码播放;根据来自判断模块的单播节目数据与组播节目数据重合的信息停止播放单播节目数据,并读取存储模块中存储的组播节目数据进行解码播放,或根据确定出的单播节目数据中止的信息读取存储模块中存储的组播节目数据并进行节目播放。
存储模块423主要用于存储组播节目数据。
判断模块424,用于确定所的接收的单播节目数据和存储模块中存储的组播节目数据是否重合,并将确定出的单播节目数据和组播节目数据重合的信息发送给播放控制模块和通讯模块。当由服务器确定停止向终端发送单播节目数据的情况下,终端中可以不包括判断模块424。
如图12所示,为终端播放控制的示意图,其中当图中所示开关121处于当前位置时,表示播放控制模块对单播节目数据进行解码播放,并将接收的组播节目数据存储到存储模块中。当图中所示开关连接存储模块和播放控制模块时,表示播放控制模块停止接收单播节目数据,而读取存储模块中存储的组播节目数据并解码播放。
可以理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1、一种视频点播方法,其特征在于,该方法包括以下步骤:
A、视频点播服务器接收到来自视频点播终端的点播请求后,响应该请求,以单播方式向视频点播终端发送点播的节目数据,视频点播终端接收所述单播的节目数据并播放;
B、视频点播服务器为点播相同的所述节目数据的视频点播终端建立组播,以组播方式发送所述节目数据,并将所述组播信息通知给所述点播相同节目的视频点播终端;
C、接收到组播信息的视频点播终端根据该组播信息接收所述组播的节目数据并存储;
D、当视频点播终端接收的所述单播的节目数据与该视频点播终端中存储的所述组播的节目数据重合后,视频点播服务器停止以单播方式向视频点播终端发送节目数据,视频点播终端读取所述存储的组播节目数据并播放。
2、根据权利要求1所述的方法,其特征在于,所述步骤B包括:
B1、视频点播服务器判断当前是否存在发送所述节目数据的组播,如果是,执行步骤B2;否则执行所述步骤B3;
B2、视频点播服务器将所述组播的信息通知给该组播对应的视频点播终端;
B3、视频点播服务器建立组播发送所述节目数据,然后执行步骤B2。
3、根据权利要求2所述的方法,其特征在于,所述步骤B3中进一步包括:视频点播服务器存储所建立的组播信息;
所述步骤B1中,视频点播服务器根据存储的组播信息执行所述判断步骤。
4、根据权利要求3所述的方法,其特征在于,所述存储的组播信息包括:包括节目的ID号、组播的时间标记和组播地址;
则所述步骤B2中,通知给视频点播终端的组播信息为:组播地址。
5、根据权利要求4所述的方法,其特征在于,所述组播的时间标记为:该组播所对应单播中最早开始的单播的开始时间;或为:在该组播所对应单播中最早开始的单播的开始时间之后预先设定延迟时间的时刻。
6、根据权利要求2至5中任一所述的方法,其特征在于,所述步骤B3之前进一步包括:
B30、视频点播服务器判断是否可以建立组播,如果是执行所述步骤B3;否则直接结束该流程。
7、根据权利要求6所述的方法,其特征在于,步骤B1中所述的判断步骤为:
B11、视频点播服务器判断在该时刻之前预先设定的时间之内是否存在发送所述节目数据的组播;
步骤B30中所述的判断步骤为:
B301、视频点播服务器判断在该时刻之前预先设定的时间之内是否存在针对所述节目数据的单播,如果是,在步骤B3之后执行的步骤B2中,所述的组播对应的视频点播终端为所述视频点播终端和所述存在的针对所述节目数据的单播对应的视频点播终端。
8、根据权利要求6所述的方法,其特征在于,步骤B1中所述的判断步骤为:
B12、视频点播服务器判断在该时刻所在的预先设定的时间跨度内,是否存在发送所述相同节目数据的组播;
步骤B30中所述的判断步骤为:
B302、视频点播服务器判断在该时刻所在的预先设定的时间跨度内,针对所述节目数据的单播数量是否达到或超过了预先设定的最小单播数量,如果是,在步骤B3之后执行的步骤B2中,所述的组播对应的视频点播终端为所述视频点播终端和所述针对所述节目数据的单播对应的视频点播终端。
9、根据权利要求6所述的方法,其特征在于,步骤A中进一步包括:视频点播服务器记录所述单播信息;
则步骤B30中,视频点播服务器根据所述记录的单播信息判断是否可以建立组播。
10、根据权利要求1所述的方法,其特征在于,所述步骤D为:
视频点播终端确定出自身接收的所述单播的节目数据和自身中存储的所述组播的节目数据重合后,向视频点播服务器发送中止单播请求,然后读取所述存储的组播节目数据并播放。
11、根据权利要求10所述的方法,其特征在于,所述视频点播终端确定自身接收的所述单播的节目数据和自身中存储的所述组播的节目数据重合的方法为:
将节目数据划分为块,并为每块设置块号,当视频点播终端识别出所存储的组播节目数据中存在与当前接收的单播节目数据的块号相同时,确定出自身接收的单播节目数据和自身中存储的组播节目数据重合;
或为:所述节目数据中包括时间信息,当视频点播终端识别出所存储的组播节目数据中存在与当前接收的单播节目数据包括相同时间信息时,确定出自身接收的单播节目数据和自身中存储的组播节目数据重合。
12、根据权利要求1所述的方法,其特征在于,所述步骤D为:
视频点播服务器根据向视频点播终端以单播形式和组播形式发送数据的时间,确定出视频点播终端接收的单播节目数据和该视频点播终端中存储的组播节目数据重合后,停止所述的以单播方式向视频点播终端发送节目数据。
13、一种视频点播系统,其特征在于,该视频点播系统包括视频点播服务器和视频点播终端;其中,
视频点播服务器用于根据来自视频点播终端的点播请求向其以单播形式发送对应节目数据;和发送组播节目数据,并将确定的所述视频点播终端加入的组播信息发送给视频点播终端;和根据接收单播节目数据和组播节目数据的视频点播终端所接收的数据重合的信息,停止向视频点播终端发送单播节目数据;
视频点播终端用于根据用户的点播请求向视频点播服务器发送点播请求,接收并播放视频点播服务器以单播方式发送的节目数据;和根据来自视频点播服务器的组播信息接收组播节目数据;和根据自身以单播方式接收的节目数据和以组播方式接收的节目数据重合的信息,读取存储的组播节目数据并播放。
14、一种视频点播服务器,其特征在于,该服务器包括通讯模块、决策模块和存储模块;其中,
通讯模块用于接收来自终端点播请求,响应该请求读取并以单播方式发送存储模块中的对应节目数据,并将点播请求传送给决策模块;和将来自决策模块的组播信息发送给终端,并根据来自决策模块的发起组播的信息从存储模块中读取并以组播方式发送对应的节目数据,以及根据来自终端的中止请求停止读取和发送对应的节目数据;
决策模块用于根据来自通讯模块的点播请求确定是否将终端加入已有的组播,或是否需要发起组播,并根据确定出的将终端加入已有组播的信息或发起组播的信息,将组播信息发送给通讯模块;和将发起的组播的信息存储在存储模块;
存储模块,用于存储节目数据和组播信息。
15、根据权利要求14所述的视频点播服务器,其特征在于,所述决策模块进一步用于根据向同一视频点播终端发送单播节目数据的时间和组播节目数据的时间,确定终端接收的单播节目数据和组播节目数据的视频点播终端所接收的数据是否重合,并将确定出的重合的信息发送给通讯模块;
则所述通讯模块进一步用于接收来自决策模块的所述重合的信息,并根据该重合的信息停止以单播方式发送存储模块中的对应节目数据。
16、一种视频点播终端,其特征在于,该终端包括通讯模块、播放控制模块和存储模块;其中,
通讯模块用于接收来自服务器的单播节目数据并将单播节目数据传送给播放控制模块,以及根据来自服务器的组播信息接收组播节目数据并存储到存储模块中;并用于将用户发起的点播请求和来自播放控制模块的中止单播请求发送给服务器;
播放控制模块用于接收来自通讯模块的单播节目数据并进行解码播放;或根据确定出的单播节目数据中止的信息读取存储模块中存储的组播节目数据并进行节目播放;
存储模块用于存储组播节目数据。
17、根据权利要求16所述的视频点播终端,其特征在于,所述终端中进一步包括:
判断模块,用于判断所的接收的单播节目数据和存储模块中存储的组播节目数据是否重合,并将确定出的单播节目数据和组播节目数据重合的信息发送给播放控制模块和通讯模块;
所述播放控制模块进一步用于根据来自判断模块的所述重合的信息停止播放所述单播节目数据,读取存储模块中存储的组播节目数据并播放;
所述通讯模块进一步用于根据来自判断模块的所述重合的信息向视频点播服务器发送中止单播请求。
CNB2006100570354A 2006-03-13 2006-03-13 视频点播方法、系统、服务器和终端 Active CN100428796C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNB2006100570354A CN100428796C (zh) 2006-03-13 2006-03-13 视频点播方法、系统、服务器和终端
PCT/CN2007/000722 WO2007104236A1 (en) 2006-03-13 2007-03-06 Method of providing vedio-on-demand, method, server and terminal for video-on-demand

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100570354A CN100428796C (zh) 2006-03-13 2006-03-13 视频点播方法、系统、服务器和终端

Publications (2)

Publication Number Publication Date
CN1859562A true CN1859562A (zh) 2006-11-08
CN100428796C CN100428796C (zh) 2008-10-22

Family

ID=37298419

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100570354A Active CN100428796C (zh) 2006-03-13 2006-03-13 视频点播方法、系统、服务器和终端

Country Status (2)

Country Link
CN (1) CN100428796C (zh)
WO (1) WO2007104236A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394539B (zh) * 2007-09-17 2011-01-26 巨家科技有限公司 影视节目的播放方法及系统
CN101964787A (zh) * 2010-09-17 2011-02-02 深圳市同洲电子股份有限公司 实现多终端断点续播节目的方法和装置及系统
CN101399690B (zh) * 2007-09-28 2011-05-11 中国科学院软件研究所 一种多媒体数据传输方法及其系统
CN101090546B (zh) * 2007-07-24 2011-05-11 中兴通讯股份有限公司 一种实现通讯终端切换业务的方法及系统
CN102656895A (zh) * 2009-12-15 2012-09-05 夏普株式会社 内容分发系统、内容分发装置、内容重放终端及内容分发方法
CN101909194B (zh) * 2009-06-08 2013-01-23 华为技术有限公司 提供频道切换服务的方法、系统及频道切换服务器
CN103493517A (zh) * 2011-04-29 2014-01-01 英特尔公司 处理大量互联网实时单播内容流
CN104219549A (zh) * 2014-10-08 2014-12-17 成都恒云世纪网络技术有限公司 一种实现多用户共享点播的系统及其实现方法
CN104270683A (zh) * 2014-10-08 2015-01-07 成都恒云世纪网络技术有限公司 一种根据业务在广播和ip通道中进行智能路由的系统及其实现方法
CN105049954A (zh) * 2015-07-02 2015-11-11 中兴通讯股份有限公司 Ott媒体的组播传输方法、装置及系统
CN105282566A (zh) * 2014-05-28 2016-01-27 中国电信股份有限公司 将交互式电视点播节目转换为组播节目的方法和系统
CN105657570A (zh) * 2016-01-18 2016-06-08 北京佰才邦技术有限公司 缓存平台的资源传输方法及装置
CN103716658B (zh) * 2012-09-28 2017-05-17 株式会社日立制作所 视频点播服务装置与方法
CN107360448A (zh) * 2017-08-11 2017-11-17 中广热点云科技有限公司 一种视频数据单播组播切换方法
CN107743274A (zh) * 2017-11-02 2018-02-27 华数传媒网络有限公司 视频点播方法、装置及电子设备
CN108538115A (zh) * 2018-03-30 2018-09-14 重庆智考信息技术有限公司 教学直播系统及方法
CN111200789A (zh) * 2020-01-07 2020-05-26 中国联合网络通信集团有限公司 一种业务数据的传输方法及装置
CN112511894A (zh) * 2020-09-11 2021-03-16 深圳市华曦达科技股份有限公司 一种ott频道切换方法、装置、电子设备及存储介质
WO2022063079A1 (zh) * 2020-09-28 2022-03-31 中国移动通信有限公司研究院 多播数据的处理方法、核心网网关、业务服务器及终端

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973081B1 (en) * 2000-10-12 2005-12-06 Realnetworks, Inc. System and method for seamlessly joining multicast session
JP2002353964A (ja) * 2001-05-30 2002-12-06 Sony Corp コンテンツ提供装置及びコンテンツ提供方法
KR20040071200A (ko) * 2001-12-15 2004-08-11 톰슨 라이센싱 소시에떼 아노님 화상회의 대역폭 선택 메커니즘
KR100449018B1 (ko) * 2002-05-28 2004-09-18 삼성전자주식회사 멀티캐스트 서비스 제공방법과 그 방법을 적용한 서버
JP2004260293A (ja) * 2003-02-24 2004-09-16 Nippon Telegr & Teleph Corp <Ntt> トラヒック集約システムおよびトラヒック集約方法並びにそのプログラム
CN100384252C (zh) * 2005-06-15 2008-04-23 北京交通大学 一种覆盖网络组播下视频点播实现方法

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090546B (zh) * 2007-07-24 2011-05-11 中兴通讯股份有限公司 一种实现通讯终端切换业务的方法及系统
CN101394539B (zh) * 2007-09-17 2011-01-26 巨家科技有限公司 影视节目的播放方法及系统
CN101399690B (zh) * 2007-09-28 2011-05-11 中国科学院软件研究所 一种多媒体数据传输方法及其系统
CN101909194B (zh) * 2009-06-08 2013-01-23 华为技术有限公司 提供频道切换服务的方法、系统及频道切换服务器
CN102656895A (zh) * 2009-12-15 2012-09-05 夏普株式会社 内容分发系统、内容分发装置、内容重放终端及内容分发方法
WO2012034373A1 (zh) * 2010-09-17 2012-03-22 深圳市同洲电子股份有限公司 实现多终端断点续播节目的方法、装置及系统
CN101964787B (zh) * 2010-09-17 2013-07-10 深圳市同洲电子股份有限公司 实现多终端断点续播节目的方法和装置及系统
CN101964787A (zh) * 2010-09-17 2011-02-02 深圳市同洲电子股份有限公司 实现多终端断点续播节目的方法和装置及系统
CN103493517A (zh) * 2011-04-29 2014-01-01 英特尔公司 处理大量互联网实时单播内容流
CN103493517B (zh) * 2011-04-29 2017-06-27 英特尔公司 处理大量互联网实时单播内容流
CN103716658B (zh) * 2012-09-28 2017-05-17 株式会社日立制作所 视频点播服务装置与方法
CN105282566B (zh) * 2014-05-28 2018-04-06 中国电信股份有限公司 将交互式电视点播节目转换为组播节目的方法和系统
CN105282566A (zh) * 2014-05-28 2016-01-27 中国电信股份有限公司 将交互式电视点播节目转换为组播节目的方法和系统
CN104219549A (zh) * 2014-10-08 2014-12-17 成都恒云世纪网络技术有限公司 一种实现多用户共享点播的系统及其实现方法
CN104270683A (zh) * 2014-10-08 2015-01-07 成都恒云世纪网络技术有限公司 一种根据业务在广播和ip通道中进行智能路由的系统及其实现方法
WO2017000720A1 (zh) * 2015-07-02 2017-01-05 中兴通讯股份有限公司 Ott媒体的组播传输方法、装置及系统
US10462529B2 (en) 2015-07-02 2019-10-29 Xi'an Zhongxing New Software Co., Ltd. Multicast transmission method, apparatus and system for OTT media
CN105049954B (zh) * 2015-07-02 2020-07-10 中兴通讯股份有限公司 Ott媒体的组播传输方法、装置及系统
CN105049954A (zh) * 2015-07-02 2015-11-11 中兴通讯股份有限公司 Ott媒体的组播传输方法、装置及系统
CN105657570A (zh) * 2016-01-18 2016-06-08 北京佰才邦技术有限公司 缓存平台的资源传输方法及装置
CN105657570B (zh) * 2016-01-18 2019-11-08 北京佰才邦技术有限公司 缓存平台的资源传输方法及装置
CN107360448B (zh) * 2017-08-11 2019-07-12 中广热点云科技有限公司 一种视频数据单播组播切换方法
CN107360448A (zh) * 2017-08-11 2017-11-17 中广热点云科技有限公司 一种视频数据单播组播切换方法
CN107743274A (zh) * 2017-11-02 2018-02-27 华数传媒网络有限公司 视频点播方法、装置及电子设备
CN108538115A (zh) * 2018-03-30 2018-09-14 重庆智考信息技术有限公司 教学直播系统及方法
CN111200789A (zh) * 2020-01-07 2020-05-26 中国联合网络通信集团有限公司 一种业务数据的传输方法及装置
CN111200789B (zh) * 2020-01-07 2022-04-26 中国联合网络通信集团有限公司 一种业务数据的传输方法及装置
CN112511894A (zh) * 2020-09-11 2021-03-16 深圳市华曦达科技股份有限公司 一种ott频道切换方法、装置、电子设备及存储介质
WO2022063079A1 (zh) * 2020-09-28 2022-03-31 中国移动通信有限公司研究院 多播数据的处理方法、核心网网关、业务服务器及终端

Also Published As

Publication number Publication date
CN100428796C (zh) 2008-10-22
WO2007104236A1 (en) 2007-09-20
WO2007104236A8 (fr) 2007-12-21

Similar Documents

Publication Publication Date Title
CN1859562A (zh) 视频点播方法、系统、服务器和终端
CN1254104C (zh) 广播节目记录方法、通信控制设备以及移动通信设备
CN1303549C (zh) 内容使用方法和系统,用于该系统的服务器和电子设备
CN1198473C (zh) 资源控制系统、方法及使用该系统、方法的基站和移动站
CN1164089C (zh) 数字广播中转换节目的方法及数字广播接收装置
CN101060427A (zh) 实现远程软件升级的系统及方法
CN1194551C (zh) 为数字视频记录器产生技巧模式信号
CN1859558A (zh) 基于无线传输的数字电视广播系统及其方法
CN1791205A (zh) 数据记录控制装置及方法、程序、数据记录系统及装置
CN1754159A (zh) 信息处理装置和内容信息处理方法
CN1794723A (zh) 一种离线消息处理方法
CN1852431A (zh) 实现实时视频信息共享的系统及方法
CN1579092A (zh) 信息处理系统、信息处理装置及方法、记录媒体及程序
CN1649292A (zh) 设置路由器的定时器
CN101060617A (zh) 一种视频点播控制方法、客户端设备和切换控制装置
CN1905455A (zh) 基于互联网和流媒体技术的开放式多媒体传输系统
CN1992775A (zh) 信息处理设备和信息处理方法
CN101043661A (zh) PoC业务媒体请求的处理方法及装置
CN1929422A (zh) 通信处理设备、通信控制方法及计算机程序
CN101048007A (zh) 从移动终端传送寻呼请求消息的方法
CN1631017A (zh) 发送装置、接收装置和发送/接收装置
CN1698335A (zh) 具有集成的记录权利控制的内容分发系统
CN1551589A (zh) 服务管理系统和方法、用于这种系统的通信设备和集成电路
CN1821946A (zh) 一种存储系统以及存储数据的方法和读取数据的方法
CN101047691A (zh) 一种对订阅进行集中控制的方法

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220209

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221202

Address after: 518129 Huawei Headquarters Office Building 101, Wankecheng Community, Bantian Street, Longgang District, Shenzhen, Guangdong

Patentee after: Shenzhen Huawei Cloud Computing Technology Co.,Ltd.

Address before: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee before: Huawei Cloud Computing Technologies Co.,Ltd.