Abstract:
This invention provides a method that when the disturbance of the bandwidth or the signal quality occurs during the digital program broadcasting, so that the broadcasting quality of the currently broadcast normal program is below a predetermined value, a prearranged program having a specific broadcasting quality, such as advertisements, will be inserted. The prearranged program may have an regular relation to the currently broadcast normal program, thereby the user would rather appreciate some program than suffer bad screen showing or wait until the program returns back to a good condition to be watched normally. This invention further provides a method for making statistics of the inserted prearranged program, said statistical information could be used for charging.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The present invention relates to a method and system for broadcasting digital programs and particularly, to a method/system for IP broadcasting and a method/system for terrestrial digital video broadcasting (DVB-T).  
         [0002]     The MPEG-2 (Motion Picture Experts Group) standard (ISO/IEC 131818-1) is a relatively widespread standard used in digital video broadcasting recently. That standard is a standard for providing digital data stream to digital devices such as set top box (STB), digital television (DTV), interactive digital television (iDTV), personal computer, hand-held devices, and other interactive devices, etc.  
         [0003]     The MPEG-2 over IP is a method of packetizing data streams conforming with the MPEG-2standard into packets such as the TCP/IP (Transmission Control Protocol/Internet Protocol) packets or UDP (User Datagram Protocol)/IP packets and transmitting them over the Internet. That method is a preferable method of IP broadcasting .  
         [0004]     In the near future, digital television broadcast via broadband Internet will become a reality and widespread, this will provide a new entertainment service for the users, and this will also provide a new opportunity for offering value-added services for the service providers. However, since the quality of service (QoS) of the network can not be always guaranteed, e.g., the network bandwidth variations which will result in temporary interrupts of broadcasting, causing still pictures or variable and fuzzy pictures or even no contents at all on the user interface such as the TV screen, thus giving unpleasant impressions to the users.  
         [0005]     Furthermore, during the broadcasting of the existing terrestrial digital television program, broadcasting signal quality variations may occur in a certain time period at certain areas, especially for the moving users, the signal quality variation will be more significant due to the effect of moving velocity or the masking of buildings, thus the temporary interrupts of broadcasting, still pictures or variable and fuzzy pictures or even no contents on the user interface, such as the TV screen may also occur, giving unpleasant impressions to the users.  
         [0006]     Therefore, there is a need for a method and system of new digital video broadcasting which can, at least, ensure the user to watch certain programs during the occurrence of network variations or signal quality variations.  
       SUMMARY OF THE INVENTION  
       [0007]     The present invention provides (a method for) interposing a prearranged program, such as advertisement, of specific broadcasting quality when the broadcasting quality of the currently broadcasting normal program is below a predetermined value due to the occurrence of bandwidth variation or signal quality variation, wherein the prearranged program may have certain association with the currently broadcasting program, thereby the user may watch some programs without enduring the vibrating and fuzzy pictures or just waiting the normal program to resume watchable level.  
         [0008]     For IP broadcasting, said prearranged program may come from a local server which has a specific broadcasting service quality, or a local storage. The prearranged program stored in the local storage may be stored in advance prior to the broadcasting of the normal program to be broadcast, or may be another program attached to the normal program which is stored during the broadcasting of the normal program, or may be downloaded from the network broadcast server or the local server when spare network bandwidth is available during the broadcasting of the normal program. Furthermore, the present invention can reacquire the lost segments of the normal program and connect them to the succeeding program to relieve the user from suffering bandwidth variation.  
         [0009]     As for terrestrial digital video broadcasting, said prearranged program comes from a local storage, the prearranged program stored in the local storage can be stored in advance prior to the broadcasting of the normal program to be broadcast, it can also be another program attached to the normal program stored during the broadcasting of the normal program.  
         [0010]     The present invention further provides a method of collecting statistics of the interposeed prearranged program, and relevant parties are charged by the broadcasting service provider according to the statistical information.  
         [0011]     The present invention has not only resolved the problem that no program can be watched or only variable and fuzzy pictures can be watched by the user during the occurrence of network variation or signal quality variation, but also has made relevant value-added service provided by the broadcasting service provider technically possible.  
         [0012]     Other objects and achievements of the present invention will be obvious and a more comprehensive understanding of the present invention will be attained with reference to the following description made in association with the accompanying figures and the claims. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]     The present invention will be explained in detail in the form of embodiments and with reference to the accompanying figures, wherein:  
         [0014]      FIG. 1  is a schematic diagram showing a system for interposing prearranged programs during network digital broadcasting according to an embodiment of the present invention;  
         [0015]      FIG. 2  is a schematic flowchart of interposing prearranged programs during network digital broadcasting according to an embodiment of the present invention;  
         [0016]      FIG. 3  is a schematic diagram showing the network service quality variations during network digital broadcasting according to an embodiment of the present invent ion;  
         [0017]      FIG. 4  is a schematic flowchart of connecting the lost normal program to its succeeding program during network digital broadcasting according to an embodiment of the present invention;  
         [0018]      FIG. 5  is a schematic diagram showing a system for interposing prearranged programs during terrestrial digital broadcasting according to another embodiment of the present invention; and  
         [0019]      FIG. 6  is a schematic flowchart of interposing prearranged programs during terrestrial digital broadcasting according to yet another embodiment of the present invention. 
     
    
       [0020]     Like reference signs denote similar or same features and functions throughout the accompanying figures.  
       DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0021]      FIG. 1  is a schematic diagram showing a system for interposing prearranged programs during network digital broadcasting according to an embodiment of the present invention. In addition to a program broadcasting apparatus as included in an existing broadcasting system, that digital video broadcasting system further comprises a detecting apparatus for detecting the broadcasting quality of the currently broadcasting normal program, and a switching apparatus for interposing a prearranged program, i.e. another program when the detected broadcasting quality is below a predetermined value, wherein the broadcasting quality of the another program is above the level acceptable by the user, that is, it reaches a predetermined level. The program broadcasting apparatus normally further comprises a network interface  112 , a protocol parser  114 , a network buffer  116 , a PID filter  121 , a normal program buffer  123 , a demultiplexer  127  and a decoder  129 .  
         [0022]     Firstly, a network digital broadcasting program stream is downloaded to the local area of the user via the network interface  112 , if the broadcasting program provides opportunity of interaction with the local user, the program stream is normally composed of UDP/IP packets; if the broadcasting program does not provide opportunity of interaction with the local user, the program steam is normally composed of TCP/IP packets. The broadcasting program stream, after being processed by the protocol parser  114  to remove the IP packet header and the UDP or TCP packet header, becomes a program transmission stream conforming with the MPEG-2standard and is sent to the network buffer  116 .  
         [0023]     If the program transmission stream is a multi-program transmission stream, transmission stream of the program selected according to the program selection information of the user is sent to the normal program buffer  123  via a PID (Packet Identifier) filter  121 , the selected program transmission stream is further sent to a demultiplexer  127  via a buffer switching means  142  to be demultiplexed into a PES (Packetized Element Stream), finally the PES is decoded by a decoder  129  into an audio/video signal output to the display. Since the user controller for selecting programs by the user and the conditional access controller for controlling the access of programs by a user in said digital video broadcasting system are not the focal points of the present invention, they are not described in detail here and not shown in relevant figures.  
         [0024]     Phenomena of loss of packets and late arrival of program packets occur when bandwidth variation of the network appears, especially when the service quality of the network degrades to a predetermined value, the packets arrived latter are discarded by the network buffer according to their PCR (Program Clock Reference) values. Since it is impossible to perform Correctly the subsequent process, such as decoding of the latter arrived packets, the filling level of the normal program buffer is greatly lowered, thereby, still pictures or variable pictures appear.  
         [0025]     Meanwhile the present embodiment determines that the normal program can not be broadcast with guaranteed quality based on the filling level of the normal program buffer  123 , this determination is made by a detecting apparatus, such as the buffer control apparatus  140 . Then, the buffer control apparatus  140  sends a switching information to a switching apparatus such as the buffer switching apparatus  142  which connects another program buffer  130  to the demultiplexer  127 . The another program buffer  130  may acquire other program streams such as advertisement program stream from a local storage  132  for storing other programs to replace the normal program stream, sends it to the demultiplexer to be processed and finally to be presented to the user.  
         [0026]     At the same time with the interposing of another program, the normal program stream can still be filled into the normal program buffer  123  through the network buffer  116  and the PID filter  121 , and its filling level is detected by the buffer control apparatus  140 . When the filling level of the normal program buffer restores to a predetermined value, it indicates that the available broadcasting quality of the normal program has restored to the level acceptable by the user. Meanwhile the buffer control apparatus  140  sends a switching information to the buffer switching apparatus  142  which switches back the demultiplexer  127  to the status of connecting the normal program buffer  123  again, thus to resume broadcasting the normal program. The switching flow will be detailed in the following.  
         [0027]     The present embodiment further provides a time shift function for the normal program. This function may acquire the lost segments of the normal program during interposing other programs, and connect those segments to the succeeding program for broadcasting, thereby the user may be ignorant of the bandwidth variation.  
         [0028]     In order to implement the time shift function, the protocol parser  114  may send a request to the server (not shown in the figure) such as the network server broadcasting the normal program during the interposing of another program. This request includes the information about the lost segments of the normal program and requests the network server to transmit again the lost segments of the normal program, then the received lost segments of the normal program and their succeeding segments of the normal program are stored in order into a local storage  160  for storing the normal program. Those programs stored in the local storage are further sent to the normal program buffer  123 . This time shift function will be detailed in the following.  
         [0029]     The digital video broadcasting system of the present embodiment further comprises a statistical apparatus  148  for making statistics of the times and the content types of the interposeed other prearranged programs. This statistical apparatus can also be included in the buffer switching apparatus  142 , and is capable of making statistics of the broadcasting information of other programs such as the content types of broadcasting, the time intervals of broadcasting and the like. Those information are stored in a local storage  150  in the form of a file, or they may be transmitted in real time to a network server such as a network broadcasting server via a network. The network broadcasting service provider may charge relevant parties based on the statistical information in the file, and if the contents of other programs are advertisements, the advertiser may be charged.  
         [0030]     The statistical function may be implemented by the PID values of the transmission small packets of the other program stream. According to the specification of the MPEG-2 standard, besides a portion of the values are defined by the standard, there remains a segment of the value domain to be defined by the user. The mapping relationships between the type of the stream and PID are recorded in a program map table, where the values 0X80-0XFF of the stream types are to be defined by the users themselves. For example, the stream type 0X88 may be defined as advertisement type programs, the corresponding PID=0X30 may be defined as the program transmission stream of the advertiser A, thus, the statistical apparatus  148  may collect all the broadcasting information with PID=0X33 to be used to charge the advertiser A.  
         [0031]     The local storage mentioned in the present invention may be a hard disk drive (HDD), an optical disk drive (CD or DVD), a magnetic tape drive or other types of magnetic/optical storages. The plurality of local storages mentioned in the present invention may be combined into one storage, provided that they can achieve the same functionality.  
         [0032]      FIG. 2  is a schematic flowchart of interposing prearranged program during network digital broadcasting according to an embodiment of the present invention. This flow is a flow of switching the broadcasting between a normal program and a prearranged program, i.e. another program. Firstly, an network broadcasting program stream is received over the network (step S 210 ), the IP packet header and the UDP packet header are removed (step S 212 ) to make the program transmission stream conform to MPEG-2, then the PID value is filtered according to the choice of the user (step S 214 ), every transmission small packet relevant to the program chosen by the user is selected for further processing.  
         [0033]     Secondly, it is determined whether the broadcasting of the normal program is completed according to the IP broadcasting protocol (step S 220 ), if not, the filling level of the normal program buffer is detected (step S 230 ).  
         [0034]     If the filling level of the normal program buffer is sufficient, for example &gt;60%, the normal program is broadcast, and if the program being broadcast is another program attached to the normal program (step S 240 ), then other attached program can be stored into a local storage at the same time with the broadcasting (step S 242 ) for future interposing.  
         [0035]     If the filling level of the normal program buffer is insufficient, that is, the buffer is underflow, another program stream is fetched from a local storage and interposeed for broadcasting (step S 250 ). The broadcasting quality of another program stream may reach the predetermined standard to surely satisfy the requirement of the user, because this program stream is from the local area. Of course, if the local network is of specific service quality, that is the service quality thereof is guaranteed, another program stream for interposing can also be directly fetched from a local server.  
         [0036]     There are three main sources of other program streams stored in the local storage: 
    1) Other program streams stored in advance in the local storage prior to the broadcasting of the normal program;     2) Other program streams acquired from a network server, especially a local area network server when spare bandwidth is available, and stored in the local storage during the broadcasting of the normal program;     3) Whether a segment is another program attached to the normal program can be determined by determining whether the PID value of a transmission small packet is a specific value during the broadcasting of the normal program (step S 240 ), and another program stream is a portion of the normal program stream. If so, it is stored into a local storage and at the same time transferred for further processing (step S 242 ); if not, it is directly transferred for further processing.    
 
         [0040]     Finally, the normal program or other programs are demultiplexed (step S 260 ) and further decoded (step S 270 ), and subsequently it is presented to the user in certain form (step S 280 ).  
         [0041]     During the above mentioned switching procedure, because the program clock references of the normal program and the another program are different, it is necessary to adjust the program clock in the program switching procedure, and this adjustment method is specified by the MPEG-2standard. In order to achieve this object, the corresponding program clock references and transmitting code rates shall be stored while storing other programs into the local storage.  
         [0042]     At the same time, in the above mentioned switching procedure, in order to broadcast surely a complete segment of the another program, the segments of the another program can be set to a fixed length, or specific labels can be interposeed into the other programs to indicate the segments that shall be broadcast (referring to US Patent Application Publication No. US 20020065678 A1, Publication Date: May 30, 2002, the disclosure of that application is incorporated herein by reference), a decision step is added between the step S 220  and the step S 230  for determining whether the another program is completely broadcast. If not, another program stream is fetched directly from the local storage without detecting the filling level of the normal program buffer, and if another program has been completely broadcast, then the filling level of the normal program buffer is further detected.  
         [0043]     Other programs mentioned in the present invention may be advertisements associated with the program, for example, if movies of the “007” series are broadcasting, an advertisement segment played by the male leading role may be interposeed.  
         [0044]      FIG. 3  is a schematic diagram showing the network service quality variations during the IP digital broadcasting according to an embodiment of the present invention. Before the time t 1 , the filling level of the normal program buffer  123  in  FIG. 1  is 100%, indicating that the network is completely normal. In the period from t 1  to t 2 , the filling level of the normal program buffer  123  falls from 100% to 75%, indicating that bandwidth variation begins to occur in the network and the network service quality begins to degrade but still meets the requirements of broadcasting.  
         [0045]     Between time t 2  and time t 3 , the filling level of the normal program buffer is decreased from 75% to 5%, indicating that the network service quality is worse but broadcasting can still continue, while once the filling level of the normal program buffer  123  becomes below a threshold 75%, the buffer control apparatus  140  in  FIG. 1  issues an instruction to start to read a prearranged program, i.e. another program from the local storage  132  used for storing other programs to prefill the other program buffer  130 . The object of doing so is that once the demultiplexer  127  in  FIG. 1  is connected to the other program buffer  130  by the buffer switching apparatus  142 , another program can be broadcast immediately.  
         [0046]     Immediately after the time t 3 , the filling level of the normal program buffer has been decreased to less than the predetermined value 50%, indicating that the network service quality can not meet the requirement of broadcasting, therefore, the buffer control apparatus  140  issues an instruction at time t 3  to connect the demultiplexer  127  to the other program buffer  130  by the buffer switching apparatus  142 , where another program begins to be broadcast.  
         [0047]     Before the time t 4 , that is, before the filling level of the normal program buffer  123  is increased to another predetermined value 80%, another program is interposeed all the time. When the filling level of the normal program buffer  123  is increased to 80%, that is, the network service quality has fully restored, and the available broadcasting quality has reached the requirement of broadcasting, then the buffer control apparatus  140  issues an instruction to connect the demultiplexer  127  to the normal program buffer  123  by the buffer switching apparatus  142 , and the broadcasting of the normal program resumes. The reason that the requirement for the network service quality at switching back to the normal program broadcasting is higher than that at switching to the another program broadcasting is to ensure that the network service quality has been restored definitely rather than an occasional variation.  
         [0048]     Of course, the service quality of the network can also be determined based on the filling level of the network buffer  116  at the exit of the network, especially when it is a single program broadcasting stream, the filling level of the network buffer  116  is substantially equal to that of the normal program buffer  123  in that case.  
         [0049]      FIG. 4  is a schematic flowchart of connecting the lost normal program to its succeeding program during network digital broadcasting according to an embodiment of the present invention. This flow is a flow of the time shift of a normal program. Firstly, at the same time with interposing a prearranged program, i.e. another program, the protocol parser  114  in  FIG. 1  issues to the network server a request including information about the loss of a normal program (step S 420 ), this request includes the starting time and ending time of the lost normal program segment and etc. This request can be issued to the network broadcasting server currently broadcasting the normal program, and this network broadcasting server takes the priority of sending back the lost normal program stream when the network service quality restores. Alternatively, it is issued to a local server which can ensure the service quality, and the network broadcasting server currently broadcasting the normal program takes the priority to guarantee transmitting normal program stream to the local server when the bandwidth variations in the network occur.  
         [0050]     When a lost normal program stream segment is received (step S 430 ), it is directly stored in a local storage for storing normal programs after the IP and TCP packet headers are removed by the protocol parser (step S 440 ). At the same time, the subsequent normal program stream is received (step S 450 ), which is stored after the lost normal program stream segments in temporal order of the program after passing through the network buffer and the PID filter (step S 460 ).  
         [0051]     Finally, the normal program is read to the normal program buffer from the local storage for storing normal programs (step S 470 ), once the filling level of the normal program buffer meets the requirement for switching back to broadcasting the normal program, the broadcasting of the normal program resumes immediately (step S 480 ).  
         [0052]     During this process, since another program is of fixed length, the remaining broadcasting time of another program can be predicted. The buffer control apparatus  140  in  FIG. 1  may issue an instruction to read normal program stream from the local storage for storing the normal program to prefill the normal program buffer based on the remaining broadcasting time.  
         [0053]      FIG. 5  is a schematic diagram showing a system for interposing prearranged program during terrestrial digital broadcasting according to another embodiment of the present invention. This system is substantially the same as that shown in  FIG. 1 , only that the signal sources are different, hence there are some differences on the program receiving means, for example, the network interface  112 , protocol parser  114  and network buffer  116  are replaced by a front-end decoder/channel decoder  512  and a channel buffer  516 ; at the same time, this system does not have the time shift functionality. The similar parts are no more described, only those different parts are described in the following.  
         [0054]     A terrestrial digital broadcasting program stream is first processed by the front-end decoder/channel decoder  512  to form a program transmission stream conforming to the MPEG-2 standard, which is transferred to the channel buffer  516 . This program transmission stream is further transferred to the PID filter  121  for further processing, and the subsequent system is substantially similar to the system in  FIG. 1 . The terrestrial digital video broadcasting system has no time shift functionality, thus there may be no local storage in the system for storing the normal program.  
         [0055]      FIG. 6  is a schematic flowchart of interposing prearranged programs during terrestrial digital video broadcasting according to another embodiment of the present invention. This system is substantially the same as the flow shown in  FIG. 2 , only that the signal sources are different and the flow of receiving program stream is some what different.  
         [0056]     The similar portions are no more described, and only the different portions are described in the following.  
         [0057]     Firstly, a terrestrial broadcasting program stream is received from the terrestrial broadcast signal (step S 610 ), and it becomes a program transmission stream conforming to the MPEG-2 standard after front-end demodulation and channel decoding (step S 612 ). During front-end demodulation and channel decoding, the bit error ratio (BER) and signal noise ratio (SNR) are calculated. The PID values of the program transmission stream are filtered according to the choice of the user (step S 214 ), and all the transmission small-packets associated with the program chosen by the user are selected for further processing.  
         [0058]     Secondly, it is determined whether the broadcasting of the normal program is ended (step S 220 ), for example, the normal program broadcasting can be considered as having been ended if its SNR has been steadily lower than a predetermined value (e.g. 15 dB) for a certain time period (e.g. 5 minutes).  
         [0059]     If the broadcasting of the normal program has not been ended, it is further determined whether SNR/BER is within the acceptable range (step S 630 ). If SNR is greater than or equal to a predetermined value, e.g. SNR≧18 dB, then the normal program broadcasting continues; if SNR is less than the predetermined value (18 dB), indicating that the current terrestrial broadcasting signal does not meet certain requirement of broadcasting quality, a prearranged program, i.e. another program, can be acquired from the local storage and interposeed for broadcasting (step S 250 ). Of course, the determination of interposing another program can also be made on the basis of whether BER is less than a predetermined value (e.g. 3.0×10 −3 ).  
         [0060]     Finally, the normal program or another program is demultiplexed (step S 260 ), further decoded (step S 270 ), and finally presented to the user in certain form (step S 280 ).  
         [0061]     There are two main sources of the other program streams stored in the local storage: 
    1) Other program streams stored in advance in the local storage prior to the broadcasting of the normal program; and     2) During the broadcasting of a normal program, it may be determined that whether a segment is another program attached to the normal program by determining whether the PID value of a transmission small-packet is a specific value, if it is, the segment is stored into a local storage and transmitted for further processing; if not, it is transmitted directly for further processing.    
 
         [0064]     While the present invention has been described with reference to its specific embodiments, it is obvious for those skilled in the art to make many alternations, modifications and variations based on the above description. Therefore, when those alternations, modifications and variations fall into the spirit and scope of the appended claims, they shall be regarded as included in the present invention.