WO2009039741A1 - A method and device for realizing the switching of iptv channels - Google Patents

A method and device for realizing the switching of iptv channels Download PDF

Info

Publication number
WO2009039741A1
WO2009039741A1 PCT/CN2008/072062 CN2008072062W WO2009039741A1 WO 2009039741 A1 WO2009039741 A1 WO 2009039741A1 CN 2008072062 W CN2008072062 W CN 2008072062W WO 2009039741 A1 WO2009039741 A1 WO 2009039741A1
Authority
WO
WIPO (PCT)
Prior art keywords
media stream
stream data
buffer queue
user terminal
iptv
Prior art date
Application number
PCT/CN2008/072062
Other languages
French (fr)
Chinese (zh)
Inventor
Junli Liu
Guowei Feng
Zhongbao Zhang
Ke Sun
Xu Yang
Lijun Yan
Yingtao Duan
Xuehui Zhang
Zhengqiang Dong
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.
Publication of WO2009039741A1 publication Critical patent/WO2009039741A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Definitions

  • the present invention relates to the field of IPTV (Internet Protocol Television) technology, and in particular, to a method and apparatus for implementing IPTV channel switching.
  • IPTV Internet Protocol Television
  • IPTV also known as IPTV or broadband TV
  • IPTV is a service that provides users with interactive services based on IP networks and uses broadband networks to provide digitally processed audio and video programs in a multicast manner. user.
  • the IPTV service includes a live broadcast service.
  • Live broadcast services are implemented through multicast.
  • Multicast is a network technology that allows one or more senders to simultaneously send a single packet to multiple recipients. With multicast technology, the media stream will occupy a large amount of IP network bandwidth. In the IP public network, when the network data traffic is large, the media stream data will be unstable, and the programs viewed by the user will be jittery.
  • one method of the prior art is to add a buffer to the STB (Set Top Box) connected to the user terminal. After receiving the message of the user terminal requesting to switch channels, the STB first stores the received media stream data of the channel into the buffer, and when the media stream data in the cache reaches a certain amount, the STB is allowed to be decoded. .
  • STB Set Top Box
  • the drawback of this method is: Since the user switches the channel every time, the STB first caches the media stream data of the channel in the buffer, and does not play until a certain amount is reached, so that when the user When switching channels frequently and frequently, you have to wait until the media stream data in the buffer is enough to play, which will obviously delay the channel switching.
  • the prior art also discloses a method for channel switching, which is to add a live processing server to the output end of the live server for receiving short-term video frame data streams of all live channels output by the live server, and save the data streams.
  • the buffer A parses the key frame data from the short-term video frame data stream, and the key frame data is Saved in buffer B on the live processing server.
  • two buffers A and ⁇ are set on the user terminal.
  • the user terminal first sends an IGMP (Internet Group Management Protocol leave) exit message to the live server.
  • IGMP Internet Group Management Protocol leave
  • the live processing server sends the key of the channel to be switched in the buffer B to the terminal after receiving the request message.
  • the frame data the terminal caches the key frame data in its own buffer A, and displays it in the terminal.
  • the terminal sends an IGMP message requesting to join the channel to the live broadcast server, and after receiving the response from the live broadcast server, receives the media stream data of the channel from the live broadcast server, and saves the data in the terminal.
  • the terminal On the flush area B, until the media stream data in the buffer B reaches a certain number, the terminal will switch to the buffer B for playing.
  • the terminal since the terminal first buffers the media stream data in the buffer B to a certain amount, it can switch from the buffer A to the buffer B for playing. Therefore, the buffer B does not reach a certain number. Before, the user sees the picture displayed by the key frame data in the buffer A, and the picture is still. Therefore, when the user switches channels, since the still picture freezes for too long, the delay of channel switching can also be perceived.
  • Embodiments of the present invention provide a method and apparatus for implementing IPTV channel switching, which can implement fast switching of an IPTV live channel.
  • the embodiment of the present invention further provides an apparatus for implementing IPTV channel switching, including a data receiving unit, a message receiving unit, a storage unit, a reading unit, and a sending unit, where
  • the storage unit is configured to buffer, respectively, media stream data of each IPTV live channel received by the data receiving unit from a program source;
  • the reading unit is configured to, when receiving a message requesting to switch channels of the message receiving unit from the user terminal, read media stream data corresponding to the channel to be switched in the storage unit, and The media stream data is sent to the user terminal for playing by the sending unit.
  • Cached up when the user terminal requests to switch channels, the media stream data of the channel to be switched to can be directly sent from the buffered media stream data to the user terminal, so that the user terminal can receive the required time as soon as possible.
  • the media stream data and plays it, thereby shortening the waiting time of the user terminal channel switching.
  • FIG. 1 is a flow chart of a first embodiment of a method according to the present invention.
  • FIG. 2 is a schematic structural diagram of a system of the method embodiment shown in FIG. 1;
  • FIG. 3 is a schematic structural diagram of a system according to Embodiment 2 of the method of the present invention.
  • FIG. 4 is a schematic structural diagram of a system according to Embodiment 3 of the method of the present invention.
  • FIG. 5 is a structural block diagram of Embodiment 1 of the apparatus of the present invention.
  • Embodiment 2 is a structural block diagram of Embodiment 2 of the apparatus of the present invention.
  • FIG. 7 is a structural block diagram of Embodiment 3 of the apparatus of the present invention.
  • FIG. 8 is a structural block diagram of Embodiment 4 of the apparatus of the present invention.
  • FIG. 1 is a block diagram of a first embodiment of a method according to the present invention.
  • the method includes the following steps: Step 101: Allocate a buffer queue for each IPTV live channel on the DSAM's DSLAM (Digital Subscriber Line Access Multiplexer) in advance.
  • the media stream data of each IPTV live channel sent by the program source is buffered, and the corresponding relationship between the IPTV live channel and the multicast address is also set. For example, as shown in FIG.
  • a buffer queue is allocated for each IPTV live channel on the DSLAM, and all IPTV live channels recorded on the live channel information table maintained by the DSLAM are simultaneously a multicast address, and a correspondence between a multicast address and an IPTV live channel is set on the multicast channel information table. For example, if a multicast address corresponds to an IPTV live channel, the relationship between the two can be set to Yes; If a multicast address does not correspond to an IPTV live channel, you can set the corresponding relationship to No.
  • Step 102 When receiving the multicast packet sent by the BAS (Broadband Access Server) or the multicast router, the DSLAM determines the multicast group according to the multicast address of the received multicast packet. Whether it corresponds to an IPTV live channel, and if so, the media stream data in the multicast packet is stored in a buffer queue of the IPTV live channel corresponding to the multicast address of the multicast packet in the DSLAM.
  • BAS Broadband Access Server
  • Step 103 After receiving the message requesting the switching channel of the user terminal, the DSLAM reads the media stream data from the buffer queue corresponding to the channel to be switched according to the channel number that is requested to be switched in the message, and The media stream data is sent to the user terminal for playing.
  • the media stream data may be buffered into the buffer queue by using a circular queue, or the media stream data in the buffer queue may be read, and the circular queue is equivalent to one.
  • the sliding window, the head pointer of the circular queue points to the location of the next media stream data to be read by the DSLAM, and the tail pointer of the circular queue points to the location where the next newly received media stream data is to be stored.
  • the DSLAM sends the media stream data to the user terminal
  • the media stream data is read from the position indicated by the head pointer of the loop queue, and each time the media stream data is read, the head pointer is moved to point to the next one.
  • the location of the read media stream data for example, the head pointer of the circular queue is incremented by one; when the DSLAM receives the multicast packet sent by the BAS or the multicast router, the media stream data in the multicast packet is saved.
  • the tail pointer is moved to point to the location where the next newly received media stream data is to be saved, for example, the tail pointer of the loop queue is plus 1.
  • step 102 of performing the foregoing mode embodiment when the DSLAM stores new media stream data, when the media stream data in the buffer queue is full, and then new media stream data is sent.
  • the DSLAM can process the new media stream data sent by the following methods:
  • Method 1 The DSLAM discards media stream data of the head pointer in the buffer queue, and The first media stream data after the head pointer is moved to the media stream data of the head pointer, and the newly received media stream data is saved as the media stream data of the tail pointer in the buffer queue.
  • the DSLAM adds 1 to the head pointer and the tail pointer of the buffer queue, and then shifts the window for receiving the media stream data, and then stores the received new media stream data into the last of the buffer queue. On one, the other new media stream data is also received in this way and so on.
  • Method 2 The DSLAM discards the newly received media stream data, and maintains the head pointer and the tail pointer of the buffer queue unchanged.
  • the DSLAM of the above method can buffer media stream data of all IPTV live channels to different buffer queues.
  • the media stream data in the buffer queue corresponding to the specified channel can be directly sent to the The terminal plays, so that the time that the user waits for playing when switching channels is the time when the DSLAM processes the media stream data, and the time from the DSLAM to the user terminal for playing, and the time of the media stream data buffer is omitted. Therefore, the time to wait for playback when the user channel is switched is greatly reduced. Moreover, even if the user frequently switches channels at a faster speed, it is also possible to switch to the corresponding channel at a faster speed.
  • step 103 of the foregoing embodiment after receiving the message requesting the switching channel of the user terminal, the DSLAM sequentially reads the streaming media data from the buffer queue corresponding to the designated channel and sends the data to the terminal.
  • the DSLAM needs to process the media stream data, for example, encapsulating the media stream data originally located at the application layer into an underlying protocol packet (such as an IP packet, an ATM cell, etc.). And this requires a certain amount of processing time. Therefore, in order to reduce the time for the user terminal to receive the media stream data, in the above step 103, the DSLAM may further package the media stream data in all the buffer queues before receiving the message of the user terminal requesting to switch the channel.
  • an underlying protocol packet such as an IP packet, an ATM cell, etc.
  • the underlying protocol package is saved and saved. In this way, when the DSLAM receives the message requesting the switching of the channel, the DSLAM can directly send the corresponding underlying protocol packet to the user terminal, thereby further reducing the time for the user terminal to receive the media stream data, and shortening the IPTV live channel switching time. .
  • the DSLAM receives the same multicast
  • the DSLAM stops transmitting the media stream data of the channel to the user terminal.
  • the DSLAM may not notify the multicast router of the exit message, and the purpose is that the DSLAM can receive and save the media stream data of the exit channel sent by the multicast router.
  • the media stream data of the head pointer in the buffer queue may be discarded, and the first media stream data after the head pointer is moved to the head pointer.
  • the media stream data stores the newly received media stream data as the media stream data of the tail pointer in the buffer queue to keep the media stream data of the channel valid in real time.
  • the MPEG compression format involves four image types: intra frame image (I frame, no reference to other frames), predicted frame (P frame, motion compensation frame coding with reference to the previous I frame or P frame), bidirectional prediction frame (B frame, refer to the previous and next I frame or P frame ⁇ 1 bidirectional motion compensation coding), DC frame (D frame).
  • I frame intra frame image
  • P frame predicted frame
  • B frame bidirectional prediction frame
  • D frame DC frame
  • I frame pointer points to the location of the first I frame in the buffer queue.
  • the DSLAM can send the I frame data pointed by the I frame pointer in the buffer queue corresponding to the designated channel to the terminal, so that the first media received by the terminal
  • the stream data is I frame data, which can be decoded and played, thereby shortening the playing time and reducing the channel switching time.
  • the present invention also discloses a second embodiment of the method, as shown in FIG. 3, in order to prevent other user terminals from receiving media stream data independently of each other.
  • a schematic diagram of the system structure of the second embodiment of the inventive method On the basis of the foregoing method embodiment 1, the embodiment also sets a queue head pointer for each user terminal that views the same channel on the DSLAM, that is, corresponding to the buffer queue in each buffer queue.
  • Each user terminal in the multicast group sets a queue head pointer to respectively indicate the location of the next user channel to read the media stream data.
  • the queue tail pointer of each user terminal in the same multicast group is the tail pointer of the corresponding buffer queue.
  • the head pointer of the set buffer queue is the queue head pointer of the user terminal with the largest window in the queue
  • the tail pointer of the buffer queue is the same as the queue tail pointer of all user terminals in the queue.
  • the I-frame pointer of the buffer queue points to the location of the first I-frame in the queue with the largest window.
  • the buffer queue When receiving the multicast packet sent by the BAS or the multicast router, the buffer queue saves the media stream data in the multicast packet at the end of the queue of the cache queue, and each time a data packet is stored, The tail pointer of the buffer queue can be incremented by one.
  • the DSLAM determines whether the media stream data stored in the buffer queue is the I frame data, that is, the buffer queue is determined.
  • the head pointer is I frame data, and if so, discarding the newly received media stream data; otherwise, discarding the media stream data of the head pointer in the buffer queue, and after the head pointer
  • the first media stream data is moved to the media stream data of the head pointer, and the newly received media stream data is saved as the media stream data of the tail pointer in the buffer queue. For example, it may be determined whether the media stream data corresponding to the head pointer of the buffer queue is an I frame, and if yes, the newly received media stream data packet is discarded, and the head pointer and the tail pointer of the original window are maintained unchanged; Otherwise, the head pointer and the tail pointer of the queue are simultaneously incremented by one, and the new media stream packet is stored in the last bit of the buffer queue.
  • the DSLAM When receiving the message of the new user terminal requesting to switch channels, the DSLAM copies the I frame pointer in the buffer queue corresponding to the designated channel to the queue head pointer of the user terminal, so that the user terminal receives the first The frame is the I frame pointed by the queue head pointer of the user terminal, thereby further shortening the time for switching channels.
  • the above method is equally applicable to media streams having other media stream compression formats of I frames and P frames similar to the MPEG format.
  • Method Embodiment 3 The above embodiments are all modifications to the DSLAM.
  • the present invention in addition to the buffer queue corresponding to the media stream data of all IPTV live channels, the present invention can also be used in the embodiment of the present invention.
  • the method is applied to a separate device.
  • FIG. 4 it is a schematic structural diagram of a system according to Embodiment 3 of the method, where the independent device may be located between the DSLAM and the BAS, or located in the DSLAM and BRAS (Broadband Remote Access Server, broadband access) Between servers), and can distinguish between multicast packets and other data packets of live programs, It can cache multicast packets of live programs and forward other types of multicast packets.
  • the independent device may also be a three-layer switching device such as a multicast router.
  • the method for buffering all live program media stream data in the above embodiment of the present invention may be directly applied to an upper layer device of the DSLAM, such as BAS/BRAS.
  • the user terminal or STB/soft terminal
  • the user terminal that directly connects to the Internet to watch the program without the DSLAM can also achieve fast switching of the IPTV live channel.
  • the embodiment of the present invention further discloses an apparatus for implementing IPTV live channel switching, where the apparatus may be integrated on a DSLAM, a BAS or a BRAS, or may be integrated in a layer 3 switching device such as a multicast router. Up, or integrated on other standalone devices.
  • FIG. 5 it is a structural block diagram of Embodiment 1 of the apparatus of the present invention, where the apparatus includes: a data receiving unit 501, a message receiving unit 502, a sending unit 503, a storage unit 504, and a reading unit 505, where The data receiving unit 501 is configured to receive media stream data of all IPTV live channels sent by the program source;
  • the message receiving unit 502 is configured to receive a common request message, such as a message requesting to switch channels, or a channel exit message, sent by the user terminal;
  • the storage unit 504 is configured to cache media stream data of each IPTV live channel received by the data receiving unit 501;
  • the reading unit 505 is configured to, when receiving a message requesting to switch channels from the user terminal forwarded by the message receiving unit 502, read the storage unit 504 according to an indication of a channel to be switched in the message. Media stream data corresponding to the channel to be switched, and transmitting the media stream data to the user terminal through the sending unit 503.
  • the storage unit 504 of the foregoing embodiment can buffer the media stream data of all the received IPTV live channels respectively.
  • the reading unit 505 can directly read and send the media stream data corresponding to the specified channel to the The terminal enables the user terminal to receive and play the required media stream data as soon as possible, thereby shortening the waiting time of the user terminal channel switching.
  • the method of the present invention can also switch to the corresponding channel at a relatively fast speed.
  • a block diagram of a second embodiment of the apparatus of the present invention includes: a data receiving unit 601, a message receiving unit 602, a sending unit 603, a storage unit 604, a reading unit 605, a determining unit 606, and a first processing unit 607, wherein
  • Each of the IPTV live channels may be assigned a corresponding buffer queue in the storage unit 604 for buffering media stream data of all IPTV live channels received from the program source received by the data receiving unit 601. To the buffer queue corresponding to each live channel.
  • the correspondence between the IPTV live channel and the multicast address can also be set, so that the storage unit 604 can receive the multicast according to the received multicast packet when receiving the multicast packet sent by the BAS or the multicast router.
  • the address, the media stream data in the multicast packet is stored in a buffer queue of the IPTV live channel corresponding to the multicast address of the multicast packet in the DSLAM.
  • the reading unit 605 is configured to: when receiving the message requesting the switching channel from the user terminal forwarded by the message receiving unit 602, according to the indication of the IPTV live channel to be switched in the message, from the storage unit 604 Reading the media stream data in the buffer queue corresponding to the channel to be switched, and sending the media stream data to the user terminal through the sending unit 603;
  • the determining unit 606 is configured to determine, after the buffer queue in the storage unit 604 is full, and then receive the new media stream data sent by the data receiving unit 601. Whether the head pointer of the queue refers to the I frame data, and the corresponding judgment result is obtained;
  • the first processing unit 607 is configured to: when it is determined by the determining result of the determining unit 606, when the head pointer in the buffer queue refers to the I frame data, the newly received media stream data is lost. Discarding, or discarding media stream data of the head pointer in the buffer queue and notifying the first media stream data after the head pointer when it is learned from the determining unit 606 that it is not I frame data Moving to the media stream data of the head pointer, saving the newly received media stream data as media stream data of the tail pointer in the buffer queue.
  • the determining unit 606 can first determine whether the head pointer of the buffer queue is I when the new media stream data is received again. Frame data, so as to process the newly received media stream data according to the judgment result, thereby avoiding the loss of the I frame data, and for the user terminal that only decodes the I frame to be able to decode the broadcast:
  • the first media stream data received by the user terminal is guaranteed to be I frame data, thereby shortening this
  • the class user terminal switches the waiting time of the channel.
  • the embodiment of the present invention further discloses a device for implementing IPTV live channel switching.
  • FIG. 7 it is a structural block diagram of Embodiment 3 of the device, where the device includes: a data receiving unit 701 and a message receiving unit 702. a transmitting unit 703, a storage unit 704, a reading unit 705, and a second processing unit 706, wherein
  • the data receiving unit 701 is configured to receive media stream data of each IPTV live channel sent by the program source;
  • the message receiving unit 702 is configured to receive a common request message, such as a message requesting to switch channels, or a channel exit message, sent by the user terminal;
  • Each of the IPTV live channels may be assigned a corresponding buffer queue in the storage unit 704 for buffering media stream data of all IPTV live channels received by the data receiving unit 701 from the program source. To the buffer queue corresponding to each live channel.
  • the correspondence between the IPTV live channel and the multicast address can also be set, so that the storage unit 704 can receive the multicast packet according to the received multicast packet when receiving the multicast packet sent by the BAS or the multicast router.
  • the address, the media stream data in the multicast packet is stored in a buffer queue of the IPTV live channel corresponding to the multicast address of the multicast packet in the DSLAM.
  • the reading unit 705 is configured to: when receiving a message requesting to switch channels from the user terminal forwarded by the message receiving unit 702, read the storage according to an indication of an IPTV live channel to be switched in the message.
  • the media stream data in the buffer queue corresponding to the channel to be switched in the unit 704, and the read media stream data is sent to the user terminal through the sending unit 703;
  • the second processing unit 706 is configured to: after learning that the buffer queue in the storage unit 704 is full, and then receiving the new media stream data sent by the data receiving unit 701, Media stream data of the head pointer in the buffer queue is discarded, and the first media stream data after the head pointer is moved to the media stream data of the head pointer, and the newly received media stream data is saved as The media stream data of the tail pointer in the buffer queue.
  • the second processing unit 706 can discard the earliest stored media stream data in the buffer queue, and the newly received media. After the stream data has the last received media stream data, the real-time validity of the media stream data in the buffer queue can be maintained all the time, so that when a new user terminal switches to the channel, the channel can be The newer media stream data is sent to the user terminal.
  • the embodiment of the present invention further discloses a device capable of realizing IPTV live channel switching.
  • FIG. 8 it is a structural block diagram of Embodiment 4 of the device, where the device includes: a data receiving unit 801 and a message receiving unit. 802, a transmitting unit 803, a storage unit 804, a reading unit 805, and a third processing unit 806, wherein
  • the data receiving unit 801 is configured to receive media stream data of all IPTV live channels sent by the program source;
  • the message receiving unit 802 is configured to receive a common request message, such as a message requesting to switch channels, or a channel exit message, sent by the user terminal;
  • the storage unit 804 may include a buffer queue corresponding to each IPTV live channel, and is used to buffer media stream data of all IPTV live channels received from the program source received by the data receiving unit 801 to corresponding channels. Buffer queue.
  • the reading unit 805 is configured to: when receiving a message requesting to switch channels from the user terminal forwarded by the message receiving unit 802, read the storage according to an indication of an IPTV live channel to be switched in the message.
  • the media stream data in the buffer queue corresponding to the channel to be switched in the unit 804, and the read media stream data is sent to the user terminal through the sending unit 803;
  • the third processing unit 806 is configured to: after learning that the buffer queue in the storage unit 804 is full, and then receiving the new media stream data sent by the data receiving unit 801, The received media stream data is discarded.
  • the storage unit 804 can separately buffer the media stream data of all the received IPTV live channels, and when the user terminal switches channels, the reading unit 805 can directly read the media stream data corresponding to the specified channel. Sending to the user terminal enables the user terminal to receive the required media stream data and play it as soon as possible, thereby shortening the waiting time of the user terminal channel switching. Moreover, even if the user frequently switches channels at a relatively fast speed, the method of the present invention can also switch to the corresponding channel at a relatively fast speed.
  • each functional unit in various embodiments of the present invention may be integrated into one processing module. It is also possible that each unit physically exists alone, or two or more units may be integrated in one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated modules, if implemented in the form of software functional modules and sold or used as separate products, may also be stored in a computer readable storage medium.
  • the above-mentioned storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the media stream data of each IPTV live channel sent by the program source is cached separately.
  • the device may directly switch from the buffered media stream data to The media stream data of the channel is directly sent to the user terminal, so that the user terminal can receive the required media stream data and play it as soon as possible, thereby shortening the waiting time of the user terminal channel switching.
  • the media stream data of each IPTV live channel is separately cached according to the embodiment of the present invention, even if the user frequently switches channels at a faster speed, the media stream of the channel to be switched can be read and played at a faster speed. data.
  • the technical solution of the present invention is simple to implement, and has strong portability, and can realize fast switching of the IPTV live channel without modifying the terminal.

Abstract

A method for realizing the switching of IPTV live channels includes: buffering media stream data of respective IPTV live channels distributed by a program source respectively; when a message for requesting to switch a channel is received from a user terminal, reading the buffered media stream data corresponding to the channel to be switched; sending the read media stream data to the user terminal. Meanwhile, the embodiment of the present invention also discloses a device for realizing the switching of IPTV live channels.

Description

一种实现 IPTV频道切换的方法和装置  Method and device for realizing IPTV channel switching
本申请要求于 2007 年 9 月 25 日提交中国专利局、 申请号为 200710151338.7、 发明名称为"一种实现 IPTV频道切换的方法和装置"的中国 专利申请的优先权, 其全部内容通过引用结合在本申请中。  The present application claims priority to Chinese Patent Application No. 200710151338.7, entitled "A Method and Apparatus for Implementing IPTV Channel Switching", filed on September 25, 2007, the entire contents of which are incorporated by reference. In this application.
技术领域 Technical field
本发明涉及 IPTV ( Internet Protocol Television , 交互式网络电视)技术领 域, 尤其涉及一种实现 IPTV频道切换的方法和装置。  The present invention relates to the field of IPTV (Internet Protocol Television) technology, and in particular, to a method and apparatus for implementing IPTV channel switching.
背景技术 Background technique
IPTV又称网络电视或宽带电视, 是以 IP网络为基础, 利用宽带网络为用 户提供交互式服务的一种业务,通过流媒体方式将经数字化处理后的音视频节 目以组播的方式提供给用户。  IPTV, also known as IPTV or broadband TV, is a service that provides users with interactive services based on IP networks and uses broadband networks to provide digitally processed audio and video programs in a multicast manner. user.
就用户终端来说, IPTV业务包括直播类业务。 直播类业务都是通过组播 实现的,组播是一种允许一个或多个发送者同时发送单一的数据包到多个接收 者的网络技术。 釆用组播技术, 会使媒体流占用大量的 IP网络带宽, 而在 IP 公共网中, 当网络数据流量较大时, 媒体流数据会出现不稳定, 用户观看的节 目会出现抖动。  For the user terminal, the IPTV service includes a live broadcast service. Live broadcast services are implemented through multicast. Multicast is a network technology that allows one or more senders to simultaneously send a single packet to multiple recipients. With multicast technology, the media stream will occupy a large amount of IP network bandwidth. In the IP public network, when the network data traffic is large, the media stream data will be unstable, and the programs viewed by the user will be jittery.
因此, 为了防止用户在观看节目时, 由于网络流量不稳定而导致的画面抖 动, 现有技术的一种方法是在与用户终端连接的 STB ( Set Top Box, 机顶盒) 中增加一个缓冲区, 当收到用户终端的请求切换频道的消息后, STB首先将接 收到的该频道的媒体流数据存入緩冲区中,当所述緩存中的媒体流数据达到一 定的数量, 才允许被解码播放。  Therefore, in order to prevent picture jitter caused by unstable network traffic when the user is watching the program, one method of the prior art is to add a buffer to the STB (Set Top Box) connected to the user terminal. After receiving the message of the user terminal requesting to switch channels, the STB first stores the received media stream data of the channel into the buffer, and when the media stream data in the cache reaches a certain amount, the STB is allowed to be decoded. .
然而, 该方法的缺陷是: 由于用户每次在切换频道时, STB 都要先将该 频道的媒体流数据緩存在所述緩冲区中,并直到达到一定数量才能播放,这样, 当用户以较快速度频繁切换频道时,每次都要等到緩冲区中的媒体流数据存够 才能播放, 这样会明显感到频道切换会有延迟。  However, the drawback of this method is: Since the user switches the channel every time, the STB first caches the media stream data of the channel in the buffer, and does not play until a certain amount is reached, so that when the user When switching channels frequently and frequently, you have to wait until the media stream data in the buffer is enough to play, which will obviously delay the channel switching.
现有技术还公开了一种频道切换的方法,是在直播服务器的输出端增加直 播处理服务器,以用于接收直播服务器输出的所有直播频道的短时视频帧数据 流, 并将这些数据流保存在所述直播处理服务器上的緩冲区 A中, 所述緩冲 区 A将从所述短时视频帧数据流中解析出关键帧数据, 并将这些关键帧数据 保存在所述直播处理服务器上的緩冲区 B 中。 同时, 对应地, 在用户终端上 也设置两个緩冲区 A和 ^ 用户在切换频道时, 用户终端首先向所述直播服 务器发送 IGMP ( Internet Group Management Protocol leave , 因特网组管理协 议)的退出消息, 以退出当前频道, 然后再向所述直播处理服务器发送请求切 换频道的 IGMP消息,所述直播处理服务器在收到该请求消息后向所述终端发 送緩冲区 B 中要切换的频道的关键帧数据, 终端将所述关键帧数据緩存在自 身的緩冲区 A中, 并在终端显示。 然后, 终端向所述直播服务器发送请求加 入该频道的 IGMP消息, 并在收到所述直播服务器的响应后,接收来自于所述 直播服务器的该频道的媒体流数据, 并保存在终端的緩冲区 B 上, 直到所述 緩冲区 B中的媒体流数据达到一定数量时, 所述终端将切换到緩冲区 B进行 播放。 The prior art also discloses a method for channel switching, which is to add a live processing server to the output end of the live server for receiving short-term video frame data streams of all live channels output by the live server, and save the data streams. In the buffer A on the live processing server, the buffer A parses the key frame data from the short-term video frame data stream, and the key frame data is Saved in buffer B on the live processing server. At the same time, correspondingly, two buffers A and ^ are set on the user terminal. When the user switches channels, the user terminal first sends an IGMP (Internet Group Management Protocol leave) exit message to the live server. To exit the current channel, and then send an IGMP message requesting to switch the channel to the live processing server, and the live processing server sends the key of the channel to be switched in the buffer B to the terminal after receiving the request message. The frame data, the terminal caches the key frame data in its own buffer A, and displays it in the terminal. Then, the terminal sends an IGMP message requesting to join the channel to the live broadcast server, and after receiving the response from the live broadcast server, receives the media stream data of the channel from the live broadcast server, and saves the data in the terminal. On the flush area B, until the media stream data in the buffer B reaches a certain number, the terminal will switch to the buffer B for playing.
然而,在进行本发明创造过程中,发明人发现现有技术的第二种方法存在 ^下问题:  However, in carrying out the creation process of the present invention, the inventors found that the second method of the prior art has the following problems:
首先, 由于终端也要先将緩冲区 B 中的媒体流数据緩冲至一定数量后, 才能从緩冲区 A切换到緩冲区 B进行播放, 因此, 在緩冲区 B未达到一定数 量前, 用户看到的都是緩冲区 A 中关键帧数据显示的画面, 而该画面是静止 的。 因此, 当用户在切换频道时, 由于静止画面定格的时间过长, 因此还能感 觉到频道切换的时延。  First, since the terminal first buffers the media stream data in the buffer B to a certain amount, it can switch from the buffer A to the buffer B for playing. Therefore, the buffer B does not reach a certain number. Before, the user sees the picture displayed by the key frame data in the buffer A, and the picture is still. Therefore, when the user switches channels, since the still picture freezes for too long, the delay of channel switching can also be perceived.
其次, 由于该现有技术需要在终端上增加两个緩冲区 A和 B, 来配合新 增的直播处理服务器, 而且在播放时, 终端需要在这两个緩冲区 A和 B之间 切换, 因此, 增加了终端的实现复杂度和开发成本。  Secondly, since the prior art needs to add two buffers A and B to the terminal to cooperate with the newly added live processing server, and during playback, the terminal needs to switch between the two buffers A and B. Therefore, the implementation complexity and development cost of the terminal are increased.
发明内容 Summary of the invention
本发明实施例提供一种实现 IPTV频道切换的方法和装置,能够实现 IPTV 直播频道的快速切换。  Embodiments of the present invention provide a method and apparatus for implementing IPTV channel switching, which can implement fast switching of an IPTV live channel.
本发明实施例提供的一种实现 IPTV频道切换的方法, 包括:  A method for implementing IPTV channel switching according to an embodiment of the present invention includes:
分别緩存由节目源发出的各 IPTV直播频道的媒体流数据;  Separating media stream data of each IPTV live channel sent by the program source separately;
当收到用户终端的请求切换频道的消息时,读取与要切换的频道对应的所 緩存的媒体流数据;  When receiving the message of the user terminal requesting to switch channels, reading the cached media stream data corresponding to the channel to be switched;
将所读取的媒体流数据发送给所述用户终端。 基于上述技术方案, 本发明实施例还提供了一种实现 IPTV频道切换的装 置, 包括数据接收单元、 消息接收单元、 存储单元、 读取单元和发送单元, 其 中, The read media stream data is sent to the user terminal. Based on the foregoing technical solution, the embodiment of the present invention further provides an apparatus for implementing IPTV channel switching, including a data receiving unit, a message receiving unit, a storage unit, a reading unit, and a sending unit, where
所述存储单元, 用于将所述数据接收单元接收的来自于节目源的各 IPTV 直播频道的媒体流数据分别緩存;  The storage unit is configured to buffer, respectively, media stream data of each IPTV live channel received by the data receiving unit from a program source;
所述读取单元,用于当收到所述消息接收单元的来自用户终端的请求切换 频道的消息时,读取所述存储单元中与要切换的频道对应的媒体流数据, 并将 所述媒体流数据通过所述发送单元发送给所述用户终端进行播放。 緩存起来, 当用户终端请求切换频道时, 可直接从所緩存的媒体流数据中, 将 要切换到的频道的媒体流数据直接发送给所述用户终端 ,使得用户终端能够尽 快地收到所需的媒体流数据并进行播放,从而缩短了用户终端频道切换的等待 时间。  The reading unit is configured to, when receiving a message requesting to switch channels of the message receiving unit from the user terminal, read media stream data corresponding to the channel to be switched in the storage unit, and The media stream data is sent to the user terminal for playing by the sending unit. Cached up, when the user terminal requests to switch channels, the media stream data of the channel to be switched to can be directly sent from the buffered media stream data to the user terminal, so that the user terminal can receive the required time as soon as possible. The media stream data and plays it, thereby shortening the waiting time of the user terminal channel switching.
附图说明 DRAWINGS
图 1为本发明方法实施例一的流程框图;  1 is a flow chart of a first embodiment of a method according to the present invention;
图 2为图 1所示方法实施例的系统结构示意图;  2 is a schematic structural diagram of a system of the method embodiment shown in FIG. 1;
图 3为本发明方法实施例二的系统结构示意图;  3 is a schematic structural diagram of a system according to Embodiment 2 of the method of the present invention;
图 4为本发明方法实施例三的系统结构示意图;  4 is a schematic structural diagram of a system according to Embodiment 3 of the method of the present invention;
图 5为本发明装置实施例一的结构框图;  Figure 5 is a structural block diagram of Embodiment 1 of the apparatus of the present invention;
图 6为本发明装置实施例二的结构框图;  6 is a structural block diagram of Embodiment 2 of the apparatus of the present invention;
图 7为本发明装置实施例三的结构框图;  Figure 7 is a structural block diagram of Embodiment 3 of the apparatus of the present invention;
图 8为本发明装置实施例四的结构框图。  FIG. 8 is a structural block diagram of Embodiment 4 of the apparatus of the present invention.
具体实施方式 detailed description
下面结合附图对本发明实施例的具体实施方式做进一步的详细阐述。  The specific embodiments of the embodiments of the present invention are further described in detail below with reference to the accompanying drawings.
如图 1所示,为本发明方法实施例一的流程框图。所述方法包括以下步骤: 步骤 101 : 预先在 STB的上一级 DSLAM ( Digital Subscriber Line Access Multiplexer, 数据用户线接入复用器)上为每一个 IPTV直播频道分配一个緩 冲队列, 用于分别緩存由节目源发出的各 IPTV直播频道的媒体流数据, 同时 还设置 IPTV直播频道与组播地址的对应关系。 例如, 如图 2所示, 为本方法实施例的系统结构示意图, 在 DSLAM上为 每一个 IPTV直播频道分配一个緩冲队列, 同时根据 DSLAM维护的直播频道 信息表上记录的所有 IPTV直播频道的组播地址, 在该组播频道信息表上设置 一个组播地址与一个 IPTV直播频道的对应关系, 例如, 如果一个组播地址对 应一个 IPTV直播频道, 可将两者对应关系设置为是; 如果一个组播地址并不 对应一个 IPTV直播频道, 则可将两者对应关系设置为否。 FIG. 1 is a block diagram of a first embodiment of a method according to the present invention. The method includes the following steps: Step 101: Allocate a buffer queue for each IPTV live channel on the DSAM's DSLAM (Digital Subscriber Line Access Multiplexer) in advance. The media stream data of each IPTV live channel sent by the program source is buffered, and the corresponding relationship between the IPTV live channel and the multicast address is also set. For example, as shown in FIG. 2, a schematic diagram of a system structure of an embodiment of the method, a buffer queue is allocated for each IPTV live channel on the DSLAM, and all IPTV live channels recorded on the live channel information table maintained by the DSLAM are simultaneously a multicast address, and a correspondence between a multicast address and an IPTV live channel is set on the multicast channel information table. For example, if a multicast address corresponds to an IPTV live channel, the relationship between the two can be set to Yes; If a multicast address does not correspond to an IPTV live channel, you can set the corresponding relationship to No.
步骤 102: 所述 DSLAM在收到 BAS ( Broadband Access Server, 宽带接入 服务器)或者组播路由器发来的组播包时,根据所接收到的组播包的组播地址, 判断该组播组是否对应一个 IPTV直播频道, 如果是, 则将该组播包中的媒体 流数据保存在所述 DSLAM中与该组播包的组播地址所对应的 IPTV直播频道 的緩冲队列。  Step 102: When receiving the multicast packet sent by the BAS (Broadband Access Server) or the multicast router, the DSLAM determines the multicast group according to the multicast address of the received multicast packet. Whether it corresponds to an IPTV live channel, and if so, the media stream data in the multicast packet is stored in a buffer queue of the IPTV live channel corresponding to the multicast address of the multicast packet in the DSLAM.
步骤 103: 所述 DSLAM收到用户终端的请求切换频道的消息后, 根据该 消息中指定的请求切换的频道号,从与要切换频道对应的緩冲队列中读取媒体 流数据, 并将所述媒体流数据发送给所述用户终端进行播放。  Step 103: After receiving the message requesting the switching channel of the user terminal, the DSLAM reads the media stream data from the buffer queue corresponding to the channel to be switched according to the channel number that is requested to be switched in the message, and The media stream data is sent to the user terminal for playing.
其中,所述步骤 102和步骤 103中可釆用循环队列的方式将媒体流数据緩 存入所述緩存队列, 或对所述緩存队列中的媒体流数据进行读取, 所述循环队 列相当于一个滑动窗口,该循环队列的头指针指向 DSLAM下一个要读取的媒 体流数据的位置,循环队列的尾指针指向下一个新收到的媒体流数据要存储的 位置。 所述 DSLAM在向用户终端发送媒体流数据时,从循环队列的头指针所 指的位置开始读取媒体流数据,每读取完一个媒体流数据, 移动所述头指针使 其指向下一个要读取的媒体流数据的位置, 例如将循环队列的头指针加 1 ; 所 述 DSLAM在收到由 BAS或者组播路由器发来的组播包时, 将该组播包中的 媒体流数据保存在循环队列的尾指针所指的位置, 并且,每存入一个媒体流数 据, 移动所述尾指针使其指向下一个新收到媒体流数据要保存的位置, 例如, 将循环队列的尾指针加 1。  In the step 102 and the step 103, the media stream data may be buffered into the buffer queue by using a circular queue, or the media stream data in the buffer queue may be read, and the circular queue is equivalent to one. The sliding window, the head pointer of the circular queue points to the location of the next media stream data to be read by the DSLAM, and the tail pointer of the circular queue points to the location where the next newly received media stream data is to be stored. When the DSLAM sends the media stream data to the user terminal, the media stream data is read from the position indicated by the head pointer of the loop queue, and each time the media stream data is read, the head pointer is moved to point to the next one. The location of the read media stream data, for example, the head pointer of the circular queue is incremented by one; when the DSLAM receives the multicast packet sent by the BAS or the multicast router, the media stream data in the multicast packet is saved. At the position pointed by the tail pointer of the loop queue, and each time a media stream data is stored, the tail pointer is moved to point to the location where the next newly received media stream data is to be saved, for example, the tail pointer of the loop queue is plus 1.
在执行上述方式实施例的步骤 102中,所述 DSLAM在存储新的媒体流数 据时, 当所述緩冲队列中的媒体流数据存满时, 而此时又有新的媒体流数据发 来, 则所述 DSLAM可对发来的新媒体流数据进行以下方法的处理:  In the step 102 of performing the foregoing mode embodiment, when the DSLAM stores new media stream data, when the media stream data in the buffer queue is full, and then new media stream data is sent. The DSLAM can process the new media stream data sent by the following methods:
方法一: 所述 DSLAM将所述緩沖队列中的头指针的媒体流数据丟弃, 并 将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收 到的媒体流数据保存为所述緩冲队列中的尾指针的媒体流数据。 Method 1: The DSLAM discards media stream data of the head pointer in the buffer queue, and The first media stream data after the head pointer is moved to the media stream data of the head pointer, and the newly received media stream data is saved as the media stream data of the tail pointer in the buffer queue.
例如: 所述 DSLAM将所述緩冲队列的头指针和尾指针同时加 1 , 即将接 收媒体流数据的窗口平移, 然后, 将所收到的新媒体流数据存入所述緩冲队列 的最后一位上, 其他新收到媒体流数据也按此方法并依次类推。  For example: the DSLAM adds 1 to the head pointer and the tail pointer of the buffer queue, and then shifts the window for receiving the media stream data, and then stores the received new media stream data into the last of the buffer queue. On one, the other new media stream data is also received in this way and so on.
或者, 例如: 将緩冲队列中的头指针的媒体流数据移出该緩冲队列, 同时 将緩冲队列中所述被移出数据后的媒体流数据依次往前移至前一个媒体流数 据的位置上,将新收到的媒体流数据保存为所述緩冲队列中的尾指针的媒体流 数据, 即该緩冲队列的最后一位上。  Or, for example, moving the media stream data of the head pointer in the buffer queue out of the buffer queue, and moving the media stream data after the data is removed from the buffer queue to the position of the previous media stream data. The newly received media stream data is saved as the media stream data of the tail pointer in the buffer queue, that is, the last bit of the buffer queue.
方法二: 所述 DSLAM丟弃后面新收到的媒体流数据, 维持所述緩冲队列 的头指针和尾指针不变。  Method 2: The DSLAM discards the newly received media stream data, and maintains the head pointer and the tail pointer of the buffer queue unchanged.
上述方法所述 DSLAM能够将所有 IPTV直播频道的媒体流数据緩存至不 同的緩冲队列中, 当用户终端切换频道时, 可直接将指定频道对应的緩冲队列 中的媒体流数据发送至所述终端进行播放,这样用户在切换频道时等待播放的 时间为所述 DSLAM处理媒体流数据的时间,以及从所述 DSLAM发送至用户 终端进行播放的时间, 而省去了媒体流数据緩存的时间, 因此, 大大减少了用 户频道切换时等待播放的时间。 并且, 即便用户以较快的速度频繁切换频道, 也同样能以较快的速度切换到相应的频道。  The DSLAM of the above method can buffer media stream data of all IPTV live channels to different buffer queues. When the user terminal switches channels, the media stream data in the buffer queue corresponding to the specified channel can be directly sent to the The terminal plays, so that the time that the user waits for playing when switching channels is the time when the DSLAM processes the media stream data, and the time from the DSLAM to the user terminal for playing, and the time of the media stream data buffer is omitted. Therefore, the time to wait for playback when the user channel is switched is greatly reduced. Moreover, even if the user frequently switches channels at a faster speed, it is also possible to switch to the corresponding channel at a faster speed.
上述实施例的步骤 103中,所述 DSLAM是在收到用户终端的请求切换频 道的消息后, 从与指定频道对应的緩冲队列中依次读取流媒体数据发给该终 端。 通常, 媒体流数据在发送给终端前, 所述 DSLAM还需要将媒体流数据打 包处理, 例如, 将原本位于应用层的媒体流数据封装为底层协议包(如 IP包、 ATM信元等)。 而这需要一定的处理时间。 因此, 为了减少用户终端接收媒体 流数据的时间,在上述步骤 103中所述 DSLAM还可以在收到用户终端的请求 切换频道的消息前,事先将所有緩冲队列中的媒体流数据经过打包封装成底层 协议包并保存。 这样, 当所述 DSLAM在收到终端的请求切换频道的消息后, 可直接将对应的底层协议包发送给用户终端,从而进一步减少用户终端接收媒 体流数据的时间, 缩短了 IPTV直播频道切换时间。  In step 103 of the foregoing embodiment, after receiving the message requesting the switching channel of the user terminal, the DSLAM sequentially reads the streaming media data from the buffer queue corresponding to the designated channel and sends the data to the terminal. Generally, before the media stream data is sent to the terminal, the DSLAM needs to process the media stream data, for example, encapsulating the media stream data originally located at the application layer into an underlying protocol packet (such as an IP packet, an ATM cell, etc.). And this requires a certain amount of processing time. Therefore, in order to reduce the time for the user terminal to receive the media stream data, in the above step 103, the DSLAM may further package the media stream data in all the buffer queues before receiving the message of the user terminal requesting to switch the channel. The underlying protocol package is saved and saved. In this way, when the DSLAM receives the message requesting the switching of the channel, the DSLAM can directly send the corresponding underlying protocol packet to the user terminal, thereby further reducing the time for the user terminal to receive the media stream data, and shortening the IPTV live channel switching time. .
此外,在上述方法实施例的基础上, 所述 DSLAM当收到来自于同一组播 组中所有用户终端的退出消息时,所述 DSLAM停止向用户终端发送该频道的 媒体流数据。 同时, 所述 DSLAM可以不将所述退出消息通知给组播路由器, 其目的在于所述 DSLAM 能够一直接收并保存所述组播路由器发出的所述退 出频道的媒体流数据。并且在当该频道的緩冲队列存满时, 可将所述緩冲队列 中头指针的媒体流数据丟弃,并将所述头指针后的第一个媒体流数据移动为所 述头指针的媒体流数据,将新收到的媒体流数据保存为所述緩冲队列中的尾指 针的媒体流数据, 以保持该频道的媒体流数据实时有效。 In addition, based on the foregoing method embodiment, the DSLAM receives the same multicast When the exit message of all user terminals in the group, the DSLAM stops transmitting the media stream data of the channel to the user terminal. Meanwhile, the DSLAM may not notify the multicast router of the exit message, and the purpose is that the DSLAM can receive and save the media stream data of the exit channel sent by the multicast router. And when the buffer queue of the channel is full, the media stream data of the head pointer in the buffer queue may be discarded, and the first media stream data after the head pointer is moved to the head pointer. The media stream data stores the newly received media stream data as the media stream data of the tail pointer in the buffer queue to keep the media stream data of the channel valid in real time.
此外, 由于流媒体多釆用 MPEG压缩格式。 所述 MPEG压缩技术涉及四 种图像类型: 帧内帧图像(I帧, 不参照其他帧)、 预测帧(P帧, 参照前一幅 I帧或者 P帧进行运动补偿帧编码)、 双向预测帧( B帧, 参照前一幅和后一幅 I帧或者 P帧 ^1双向运动补偿编码)、 直流帧( D帧)。 对于 MPEG压缩格式的 流媒体, 由于有些播放器只有在收到 I帧数据后才开始解码播放。 因此, 在这 种情况下, 本发明实施例为了缩短接收 I帧的时间, 在所述 DSLAM的緩冲队 列中不仅设置了队列的头指针和尾指针, 而且还设置了 I帧指针, 所述 I帧指 针指向该緩冲队列中的第一个 I帧的位置。所述 DSLAM当收到新用户终端的 请求切换频道的消息时, 能够将指定频道对应的緩冲队列中 I帧指针所指的 I 帧数据发给该终端, 使得终端收到的第一个媒体流数据为 I帧数据, 即可进行 解码播放, 从而缩短了播放的时间, 减少了频道切换的时间。  In addition, because of streaming media, the MPEG compression format is used. The MPEG compression technology involves four image types: intra frame image (I frame, no reference to other frames), predicted frame (P frame, motion compensation frame coding with reference to the previous I frame or P frame), bidirectional prediction frame (B frame, refer to the previous and next I frame or P frame ^1 bidirectional motion compensation coding), DC frame (D frame). For streaming media in MPEG compression format, some players start decoding and playback only after receiving I frame data. Therefore, in this case, in order to shorten the time for receiving the I frame, in the buffer queue of the DSLAM, not only the head pointer and the tail pointer of the queue but also the I frame pointer are set, The I frame pointer points to the location of the first I frame in the buffer queue. When receiving the message of the new user terminal requesting to switch channels, the DSLAM can send the I frame data pointed by the I frame pointer in the buffer queue corresponding to the designated channel to the terminal, so that the first media received by the terminal The stream data is I frame data, which can be decoded and played, thereby shortening the playing time and reducing the channel switching time.
同时,由于不同的用户终端切换频道的时间不同,对于新加入的用户终端, 需要发送 I帧指针所指的 I帧数据, 而对于同一组播组中的其他正在接收媒体 流数据的用户终端, 由于需要接收的媒体流数据并不是所述 I帧数据, 因此, 为了不影响其他各用户终端彼此独立地接收媒体流数据,本发明还公开了方法 实施例二, 如图 3所示, 为本发明方法实施例二的系统结构示意图。 该实施例 在上述方法实施例一的基础上,在所述 DSLAM上还为观看同一个频道的各用 户终端分别设置一个队列头指针,即在每个緩冲队列中分别为该緩冲队列对应 的组播组中的每一个用户终端设置一个队列头指针,以分别指示不同的用户终 端下一个读取媒体流数据的位置。 同时, 同一组播组中的各用户终端的队列尾 指针都为所对应的緩冲队列的尾指针。通过上述设定,使得同一组播组中的每 个用户终端都有各自的读取媒体流数据的窗口,因此能够彼此独立的读取各自 队列头指针所指的媒体流数据。 At the same time, because different user terminals switch channels with different times, for newly added user terminals, I frame data pointed by the I frame pointer needs to be sent, and for other user terminals in the same multicast group that are receiving media stream data, Since the media stream data that needs to be received is not the I frame data, the present invention also discloses a second embodiment of the method, as shown in FIG. 3, in order to prevent other user terminals from receiving media stream data independently of each other. A schematic diagram of the system structure of the second embodiment of the inventive method. On the basis of the foregoing method embodiment 1, the embodiment also sets a queue head pointer for each user terminal that views the same channel on the DSLAM, that is, corresponding to the buffer queue in each buffer queue. Each user terminal in the multicast group sets a queue head pointer to respectively indicate the location of the next user channel to read the media stream data. At the same time, the queue tail pointer of each user terminal in the same multicast group is the tail pointer of the corresponding buffer queue. Through the above setting, each user terminal in the same multicast group has its own window for reading media stream data, so that each of them can read each other independently. The media stream data pointed to by the queue head pointer.
由于每个用户终端的队列头指针所指的位置不同,而队列尾指针都是相同 的, 因此不同用户终端的窗口大小不尽相同。 此时, 设置緩冲队列的头指针为 该队列中窗口最大的用户终端的队列头指针,緩冲队列的尾指针, 与该队列中 所有用户终端的队列尾指针相同。緩冲队列的 I帧指针指向窗口最大的队列中 的第一个 I帧的位置。  Since the location of the queue head pointer of each user terminal is different, and the queue tail pointers are the same, the window sizes of different user terminals are not the same. At this time, the head pointer of the set buffer queue is the queue head pointer of the user terminal with the largest window in the queue, and the tail pointer of the buffer queue is the same as the queue tail pointer of all user terminals in the queue. The I-frame pointer of the buffer queue points to the location of the first I-frame in the queue with the largest window.
所述緩冲队列在收到由 BAS或者组播路由器发来的组播包时, 将该组播 包中的媒体流数据保存在所述緩存队列的队列尾, 并且, 每存储一个数据包, 可以将所述緩冲队列的尾指针加 1。 当所述緩冲队列存满后, 又收到新媒体流 数据时,所述 DSLAM判断所述緩冲队列中最早存入的媒体流数据是否为 I帧 数据, 即判断所述緩冲队列中的头指针是否为 I帧数据, 若是, 则将新收到的 媒体流数据丟弃; 否则, 将所述緩冲队列中的头指针的媒体流数据丟弃, 并将 所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据 ,将新收到 的媒体流数据保存为所述緩冲队列中的尾指针的媒体流数据。 例如, 可判断所 述緩冲队列的头指针对应的媒体流数据是否为 I帧, 如果是, 则将新收到的媒 体流数据包丟弃, 维持原窗口的头指针和尾指针不变; 否则, 将队列的头指针 和尾指针同时加 1 , 将所述新媒体流数据包存入緩冲队列的最后一位上。  When receiving the multicast packet sent by the BAS or the multicast router, the buffer queue saves the media stream data in the multicast packet at the end of the queue of the cache queue, and each time a data packet is stored, The tail pointer of the buffer queue can be incremented by one. When the buffer queue is full and the new media stream data is received, the DSLAM determines whether the media stream data stored in the buffer queue is the I frame data, that is, the buffer queue is determined. Whether the head pointer is I frame data, and if so, discarding the newly received media stream data; otherwise, discarding the media stream data of the head pointer in the buffer queue, and after the head pointer The first media stream data is moved to the media stream data of the head pointer, and the newly received media stream data is saved as the media stream data of the tail pointer in the buffer queue. For example, it may be determined whether the media stream data corresponding to the head pointer of the buffer queue is an I frame, and if yes, the newly received media stream data packet is discarded, and the head pointer and the tail pointer of the original window are maintained unchanged; Otherwise, the head pointer and the tail pointer of the queue are simultaneously incremented by one, and the new media stream packet is stored in the last bit of the buffer queue.
当收到新用户终端的请求切换频道的消息时,所述 DSLAM将指定频道对 应的緩冲队列中的 I帧指针复制给该用户终端的队列头指针,使得所述用户终 端收到的第一个帧为该用户终端的队列头指针所指的 I帧,从而进一步缩短了 切换频道的时间。  When receiving the message of the new user terminal requesting to switch channels, the DSLAM copies the I frame pointer in the buffer queue corresponding to the designated channel to the queue head pointer of the user terminal, so that the user terminal receives the first The frame is the I frame pointed by the queue head pointer of the user terminal, thereby further shortening the time for switching channels.
此外, 上述方法还同样适用于存在与 MPEG格式类似的 I帧和 P帧的其 他媒体流压缩格式的媒体流。  Furthermore, the above method is equally applicable to media streams having other media stream compression formats of I frames and P frames similar to the MPEG format.
方法实施例三: 上述实施例都是对 DSLAM的改造, 此外, 本发明实施例 除了在所述 DSLAM上设置所有 IPTV直播频道的媒体流数据对应的緩冲队列 夕卜, 还可以将本发明所述方法应用在一个独立设备上。 例如, 如图 4所示, 为 本发明方法实施例三的系统结构示意图,所述独立设备可位于所述 DSLAM和 BAS之间, 或者位于所述 DSLAM和 BRAS ( Broadband Remote Access Server, 宽带接入服务器)之间, 并能够区分直播节目的组播包和其他数据包, 同时, 能够緩存直播节目的组播包, 而转发其他类型的组播包。 此外, 所述独立设备 还可以是组播路由器等三层交换设备。 Method Embodiment 3: The above embodiments are all modifications to the DSLAM. In addition, in addition to the buffer queue corresponding to the media stream data of all IPTV live channels, the present invention can also be used in the embodiment of the present invention. The method is applied to a separate device. For example, as shown in FIG. 4, it is a schematic structural diagram of a system according to Embodiment 3 of the method, where the independent device may be located between the DSLAM and the BAS, or located in the DSLAM and BRAS (Broadband Remote Access Server, broadband access) Between servers), and can distinguish between multicast packets and other data packets of live programs, It can cache multicast packets of live programs and forward other types of multicast packets. In addition, the independent device may also be a three-layer switching device such as a multicast router.
或者,还可直接将本发明上述实施例中緩存所有直播节目媒体流数据的方 法直接应用在所述 DSLAM 的上层设备, 如 BAS/BRAS。 这样使得不通过 DSLAM, 而直接连接 internet观看节目的用户终端 (或 STB/软终端)可同样 实现 IPTV直播频道的快速切换。  Alternatively, the method for buffering all live program media stream data in the above embodiment of the present invention may be directly applied to an upper layer device of the DSLAM, such as BAS/BRAS. In this way, the user terminal (or STB/soft terminal) that directly connects to the Internet to watch the program without the DSLAM can also achieve fast switching of the IPTV live channel.
基于上述技术方案, 本发明实施例还公开了一种实现 IPTV直播频道切换 的装置, 所述装置可集成在 DSLAM、 BAS或者 BRAS上, 或者还可以集成在 一个如组播路由器等三层交换设备上, 或者集成在其他独立设备上。 如图 5 所示, 为本发明装置实施例一的结构框图, 所述装置包括: 数据接收单元 501、 消息接收单元 502、 发送单元 503、 存储单元 504、 和读取单元 505 , 其中, 所述数据接收单元 501 , 用于接收节目源发送的所有 IPTV直播频道的媒 体流数据;  Based on the foregoing technical solution, the embodiment of the present invention further discloses an apparatus for implementing IPTV live channel switching, where the apparatus may be integrated on a DSLAM, a BAS or a BRAS, or may be integrated in a layer 3 switching device such as a multicast router. Up, or integrated on other standalone devices. As shown in FIG. 5, it is a structural block diagram of Embodiment 1 of the apparatus of the present invention, where the apparatus includes: a data receiving unit 501, a message receiving unit 502, a sending unit 503, a storage unit 504, and a reading unit 505, where The data receiving unit 501 is configured to receive media stream data of all IPTV live channels sent by the program source;
所述消息接收单元 502 , 用于接收由用户终端发送的如请求切换频道的消 息、 或者频道退出消息等常用请求消息;  The message receiving unit 502 is configured to receive a common request message, such as a message requesting to switch channels, or a channel exit message, sent by the user terminal;
所述存储单元 504, 用于将所述数据接收单元 501接收到的各 IPTV直播 频道的媒体流数据分别緩存;  The storage unit 504 is configured to cache media stream data of each IPTV live channel received by the data receiving unit 501;
所述读取单元 505 , 用于当收到所述消息接收单元 502转发的来自于用户 终端的请求切换频道的消息时, 根据该消息中要切换的频道的指示,读取所述 存储单元 504中与要切换的频道对应的媒体流数据,并将所述媒体流数据通过 所述发送单元 503发送给所述用户终端。  The reading unit 505 is configured to, when receiving a message requesting to switch channels from the user terminal forwarded by the message receiving unit 502, read the storage unit 504 according to an indication of a channel to be switched in the message. Media stream data corresponding to the channel to be switched, and transmitting the media stream data to the user terminal through the sending unit 503.
上述实施例存储单元 504能够将收到的所有 IPTV直播频道的媒体流数据 分别緩存, 当用户终端切换频道时, 所述读取单元 505可直接将指定频道对应 的媒体流数据读取并发送至所述终端,使得用户终端能够尽快地收到所需媒体 流数据并进行播放, 从而缩短了用户终端频道切换的等待时间。 并且, 即便用 户以较快的速度频繁切换频道,釆用本发明方法同样能够以较快的速度切换到 相应的频道。  The storage unit 504 of the foregoing embodiment can buffer the media stream data of all the received IPTV live channels respectively. When the user terminal switches channels, the reading unit 505 can directly read and send the media stream data corresponding to the specified channel to the The terminal enables the user terminal to receive and play the required media stream data as soon as possible, thereby shortening the waiting time of the user terminal channel switching. Moreover, even if the user frequently switches channels at a relatively fast speed, the method of the present invention can also switch to the corresponding channel at a relatively fast speed.
与此同时, 本发明实施例还公开了一种能够实现 IPTV直播频道切换的装 置,该实施例能够为各 IPTV直播频道分配一个緩冲队列, 当緩冲队列存满后, 还能够根据所述緩冲队列中头指针是否为 I帧数据, 来对新收到的媒体流数据 进行相应的处理。 如图 6所示, 为本发明装置实施例二的结构框图, 所述装置 包括: 数据接收单元 601、 消息接收单元 602、 发送单元 603、 存储单元 604、 读取单元 605、 判断单元 606、 和第一处理单元 607 , 其中, At the same time, the embodiment of the present invention further discloses an apparatus capable of realizing IPTV live channel switching. This embodiment can allocate a buffer queue for each IPTV live channel. When the buffer queue is full, It is also possible to perform corresponding processing on the newly received media stream data according to whether the head pointer in the buffer queue is I frame data. As shown in FIG. 6, a block diagram of a second embodiment of the apparatus of the present invention includes: a data receiving unit 601, a message receiving unit 602, a sending unit 603, a storage unit 604, a reading unit 605, a determining unit 606, and a first processing unit 607, wherein
在所述存储单元 604中可为各 IPTV直播频道分别分配一个与之对应的緩 冲队列, 分别用于将所述数据接收单元 601接收的所有来自于节目源的 IPTV 直播频道的媒体流数据緩存至各直播频道对应的緩冲队列中。 同时,还可以设 置 IPTV直播频道与组播地址的对应关系 ,使得所述存储单元 604在收到 BAS 或者组播路由器发来的组播包时, 能够根据所接收到的组播包的组播地址,将 该组播包中的媒体流数据保存在所述 DSLAM 中与该组播包的组播地址所对 应的 IPTV直播频道的緩冲队列中。  Each of the IPTV live channels may be assigned a corresponding buffer queue in the storage unit 604 for buffering media stream data of all IPTV live channels received from the program source received by the data receiving unit 601. To the buffer queue corresponding to each live channel. At the same time, the correspondence between the IPTV live channel and the multicast address can also be set, so that the storage unit 604 can receive the multicast according to the received multicast packet when receiving the multicast packet sent by the BAS or the multicast router. The address, the media stream data in the multicast packet is stored in a buffer queue of the IPTV live channel corresponding to the multicast address of the multicast packet in the DSLAM.
所述读取单元 605 , 用于当收到所述消息接收单元 602转发的来自用户终 端的请求切换频道的消息时, 根据该消息中要切换的 IPTV直播频道的指示, 从所述存储单元 604中与要切换的频道对应的緩冲队列中读取媒体流数据,并 将所述媒体流数据通过所述发送单元 603发送给所述用户终端;  The reading unit 605 is configured to: when receiving the message requesting the switching channel from the user terminal forwarded by the message receiving unit 602, according to the indication of the IPTV live channel to be switched in the message, from the storage unit 604 Reading the media stream data in the buffer queue corresponding to the channel to be switched, and sending the media stream data to the user terminal through the sending unit 603;
所述判断单元 606, 用于在得知所述存储单元 604中的緩沖队列存满后, 而此时又收到所述数据接收单元 601发来的新媒体流数据时,判断所述緩冲队 列的头指针所指的是否为 I帧数据, 得到相应的判断结果;  The determining unit 606 is configured to determine, after the buffer queue in the storage unit 604 is full, and then receive the new media stream data sent by the data receiving unit 601. Whether the head pointer of the queue refers to the I frame data, and the corresponding judgment result is obtained;
所述第一处理单元 607 , 用于当从所述判断单元 606的判断结果得知, 所 述緩冲队列中的头指针所指的是 I帧数据时, 将新收到的媒体流数据丟弃, 或 者当从所述判断单元 606中得知不是 I帧数据时,将所述緩冲队列中的头指针 的媒体流数据丟弃,并将所述头指针后的第一个媒体流数据移动为所述头指针 的媒体流数据,将新收到的媒体流数据保存为所述緩冲队列中的尾指针的媒体 流数据。  The first processing unit 607 is configured to: when it is determined by the determining result of the determining unit 606, when the head pointer in the buffer queue refers to the I frame data, the newly received media stream data is lost. Discarding, or discarding media stream data of the head pointer in the buffer queue and notifying the first media stream data after the head pointer when it is learned from the determining unit 606 that it is not I frame data Moving to the media stream data of the head pointer, saving the newly received media stream data as media stream data of the tail pointer in the buffer queue.
上述实施例中, 当緩冲队列中的媒体流数据存满后, 所述判断单元 606 能够在又收到新媒体流数据时, 先判断所述緩冲队列的头指针所指的是否为 I 帧数据, 以便根据判断结果对新收到的媒体流数据进行相应处理,从而能够避 免 I帧数据的丟失, 并且对于只有收到 I帧才能解码播^:的用户终端而言, 能 够尽可能地保证用户终端收到的第一个媒体流数据为 I帧数据,从而缩短了此 类用户终端切换频道的等待播放时间。 In the above embodiment, after the media stream data in the buffer queue is full, the determining unit 606 can first determine whether the head pointer of the buffer queue is I when the new media stream data is received again. Frame data, so as to process the newly received media stream data according to the judgment result, thereby avoiding the loss of the I frame data, and for the user terminal that only decodes the I frame to be able to decode the broadcast: The first media stream data received by the user terminal is guaranteed to be I frame data, thereby shortening this The class user terminal switches the waiting time of the channel.
此外, 本发明实施例还公开了一种实现 IPTV直播频道切换的装置, 如图 7所示,为本发明装置实施例三的结构框图,所述装置包括:数据接收单元 701、 消息接收单元 702、 发送单元 703、 存储单元 704、 读取单元 705、 和第二处理 单元 706, 其中,  In addition, the embodiment of the present invention further discloses a device for implementing IPTV live channel switching. As shown in FIG. 7 , it is a structural block diagram of Embodiment 3 of the device, where the device includes: a data receiving unit 701 and a message receiving unit 702. a transmitting unit 703, a storage unit 704, a reading unit 705, and a second processing unit 706, wherein
所述数据接收单元 701 , 用于接收节目源发送的各 IPTV直播频道的媒体 流数据;  The data receiving unit 701 is configured to receive media stream data of each IPTV live channel sent by the program source;
所述消息接收单元 702 , 用于接收由用户终端发送的如请求切换频道的消 息、 或者频道退出消息等常用请求消息;  The message receiving unit 702 is configured to receive a common request message, such as a message requesting to switch channels, or a channel exit message, sent by the user terminal;
在所述存储单元 704中可为各 IPTV直播频道分别分配一个与之对应的緩 冲队列, 分别用于将所述数据接收单元 701接收的所有来自于节目源的 IPTV 直播频道的媒体流数据緩存至各直播频道对应的緩冲队列中。 同时,还可以设 置 IPTV直播频道与组播地址的对应关系,使得所述存储单元 704在收到 BAS 或者组播路由器发来的组播包时, 能够根据所接收到的组播包的组播地址,将 该组播包中的媒体流数据保存在所述 DSLAM 中与该组播包的组播地址所对 应的 IPTV直播频道的緩冲队列中。  Each of the IPTV live channels may be assigned a corresponding buffer queue in the storage unit 704 for buffering media stream data of all IPTV live channels received by the data receiving unit 701 from the program source. To the buffer queue corresponding to each live channel. At the same time, the correspondence between the IPTV live channel and the multicast address can also be set, so that the storage unit 704 can receive the multicast packet according to the received multicast packet when receiving the multicast packet sent by the BAS or the multicast router. The address, the media stream data in the multicast packet is stored in a buffer queue of the IPTV live channel corresponding to the multicast address of the multicast packet in the DSLAM.
所述读取单元 705 , 用于当收到所述消息接收单元 702转发的来自于用户 终端的请求切换频道的消息时,根据该消息中要切换的 IPTV直播频道的指示, 读取所述存储单元 704中与要切换的频道对应的緩冲队列中的媒体流数据,并 将所读取的媒体流数据通过所述发送单元 703发送给所述用户终端;  The reading unit 705 is configured to: when receiving a message requesting to switch channels from the user terminal forwarded by the message receiving unit 702, read the storage according to an indication of an IPTV live channel to be switched in the message. The media stream data in the buffer queue corresponding to the channel to be switched in the unit 704, and the read media stream data is sent to the user terminal through the sending unit 703;
所述第二处理单元 706, 用于在得知所述存储单元 704中的緩冲队列存满 后, 而此时又收到所述数据接收单元 701发来的新媒体流数据时,将所述緩冲 队列中的头指针的媒体流数据丟弃,并将所述头指针后的第一个媒体流数据移 动为所述头指针的媒体流数据,将新收到的媒体流数据保存为所述緩冲队列中 的尾指针的媒体流数据。  The second processing unit 706 is configured to: after learning that the buffer queue in the storage unit 704 is full, and then receiving the new media stream data sent by the data receiving unit 701, Media stream data of the head pointer in the buffer queue is discarded, and the first media stream data after the head pointer is moved to the media stream data of the head pointer, and the newly received media stream data is saved as The media stream data of the tail pointer in the buffer queue.
上述实施例中, 当緩冲队列中的媒体流数据存满后, 所述第二处理单元 706能够将所述緩冲队列中最早存入的媒体流数据丟弃, 并将新收到的媒体流 数据存在最后收到的媒体流数据之后,从而能够一直保持所述緩冲队列中的媒 体流数据的实时有效性,使得当有新用户终端切换到该频道时, 能够将该频道 中较新的媒体流数据发送给所述用户终端。 In the foregoing embodiment, after the media stream data in the buffer queue is full, the second processing unit 706 can discard the earliest stored media stream data in the buffer queue, and the newly received media. After the stream data has the last received media stream data, the real-time validity of the media stream data in the buffer queue can be maintained all the time, so that when a new user terminal switches to the channel, the channel can be The newer media stream data is sent to the user terminal.
此外, 本发明实施例还公开了一种能够实现 IPTV直播频道切换的装置, 如图 8所示, 为本发明装置实施例四的结构框图, 所述装置包括: 数据接收单 元 801、 消息接收单元 802、 发送单元 803、 存储单元 804、 读取单元 805、 和 第三处理单元 806, 其中,  In addition, the embodiment of the present invention further discloses a device capable of realizing IPTV live channel switching. As shown in FIG. 8 , it is a structural block diagram of Embodiment 4 of the device, where the device includes: a data receiving unit 801 and a message receiving unit. 802, a transmitting unit 803, a storage unit 804, a reading unit 805, and a third processing unit 806, wherein
所述数据接收单元 801 , 用于接收节目源发送的所有 IPTV直播频道的媒 体流数据;  The data receiving unit 801 is configured to receive media stream data of all IPTV live channels sent by the program source;
所述消息接收单元 802 , 用于接收由用户终端发送的如请求切换频道的消 息、 或者频道退出消息等常用请求消息;  The message receiving unit 802 is configured to receive a common request message, such as a message requesting to switch channels, or a channel exit message, sent by the user terminal;
所述存储单元 804, 可包括与各 IPTV直播频道对应的緩冲队列, 分别用 于将所述数据接收单元 801接收的所有来自于节目源的 IPTV直播频道的媒体 流数据緩存至各频道对应的緩冲队列中。  The storage unit 804 may include a buffer queue corresponding to each IPTV live channel, and is used to buffer media stream data of all IPTV live channels received from the program source received by the data receiving unit 801 to corresponding channels. Buffer queue.
所述读取单元 805 , 用于当收到所述消息接收单元 802转发的来自于用户 终端的请求切换频道的消息时,根据该消息中要切换的 IPTV直播频道的指示, 读取所述存储单元 804中与要切换的频道对应的緩冲队列中的媒体流数据,并 将所读取媒体流数据通过所述发送单元 803发送给所述用户终端;  The reading unit 805 is configured to: when receiving a message requesting to switch channels from the user terminal forwarded by the message receiving unit 802, read the storage according to an indication of an IPTV live channel to be switched in the message. The media stream data in the buffer queue corresponding to the channel to be switched in the unit 804, and the read media stream data is sent to the user terminal through the sending unit 803;
所述第三处理单元 806 , 用于在得知所述存储单元 804中的緩冲队列存满 后, 而此时又收到所述数据接收单元 801发来的新媒体流数据时,将新收到的 媒体流数据丟弃。  The third processing unit 806 is configured to: after learning that the buffer queue in the storage unit 804 is full, and then receiving the new media stream data sent by the data receiving unit 801, The received media stream data is discarded.
上述实施例中, 存储单元 804能够将收到的所有 IPTV直播频道的媒体流 数据分别緩存, 当用户终端切换频道时, 所述读取单元 805可直接将指定频道 对应的媒体流数据读取并发送至所述用户终端,使得用户终端能够尽快地收到 所需媒体流数据并进行播放,从而缩短了用户终端频道切换的等待时间。并且, 即便用户以较快的速度频繁切换频道,釆用本发明方法同样能够以较快的速度 切换到相应的频道。  In the foregoing embodiment, the storage unit 804 can separately buffer the media stream data of all the received IPTV live channels, and when the user terminal switches channels, the reading unit 805 can directly read the media stream data corresponding to the specified channel. Sending to the user terminal enables the user terminal to receive the required media stream data and play it as soon as possible, thereby shortening the waiting time of the user terminal channel switching. Moreover, even if the user frequently switches channels at a relatively fast speed, the method of the present invention can also switch to the corresponding channel at a relatively fast speed.
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步 骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机 可读存储介质中, 该程序在执行时, 包括方法实施例的步骤之一或其组合。  A person skilled in the art can understand that all or part of the steps carried by the method of the foregoing embodiment can be completed by a program to instruct related hardware, and the program can be stored in a computer readable storage medium. , including one or a combination of the steps of the method embodiments.
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理模块中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块 中。上述集成的模块既可以釆用硬件的形式实现, 也可以釆用软件功能模块的 形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品 销售或使用时, 也可以存储在一个计算机可读取存储介质中。 In addition, each functional unit in various embodiments of the present invention may be integrated into one processing module. It is also possible that each unit physically exists alone, or two or more units may be integrated in one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. The integrated modules, if implemented in the form of software functional modules and sold or used as separate products, may also be stored in a computer readable storage medium.
上述提到的存储介质可以是只读存储器, 磁盘或光盘等。  The above-mentioned storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
由上可知, 本发明实施例由于先将节目源发来的各 IPTV直播频道的媒体 流数据分别緩存起来, 当用户终端请求切换频道时, 可直接从所緩存的媒体流 数据中,将要切换到的频道的媒体流数据直接发送给所述用户终端,使得用户 终端能够尽快地收到所需的媒体流数据并进行播放,从而缩短了用户终端频道 切换的等待时间。 并且, 由于本发明实施例将各 IPTV直播频道的媒体流数据 都分别緩存了, 即便用户以较快的速度频繁切换频道,也能够以较快的速度读 取并播放要切换的频道的媒体流数据。 而且, 本发明技术方案实现简单, 可移 植性强, 可以在不需要改造终端的前提下, 实现 IPTV直播频道的快速切换。  As can be seen from the above, in the embodiment of the present invention, the media stream data of each IPTV live channel sent by the program source is cached separately. When the user terminal requests to switch channels, the device may directly switch from the buffered media stream data to The media stream data of the channel is directly sent to the user terminal, so that the user terminal can receive the required media stream data and play it as soon as possible, thereby shortening the waiting time of the user terminal channel switching. Moreover, since the media stream data of each IPTV live channel is separately cached according to the embodiment of the present invention, even if the user frequently switches channels at a faster speed, the media stream of the channel to be switched can be read and played at a faster speed. data. Moreover, the technical solution of the present invention is simple to implement, and has strong portability, and can realize fast switching of the IPTV live channel without modifying the terminal.
以上所述的本发明实施方式, 并不构成对本发明保护范围的限定。任何在 本发明的精神和原则之内所作的修改、等同替换和改进等, 均应包含在本发明 的保护范围之内。  The embodiments of the present invention described above are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the invention are intended to be included within the scope of the invention.

Claims

权 利 要 求 Rights request
1、 一种实现 IPTV频道切换的方法, 其特征在于, 包括:  A method for implementing IPTV channel switching, which is characterized by comprising:
分别緩存由节目源发出的各 IPTV直播频道的媒体流数据;  Separating media stream data of each IPTV live channel sent by the program source separately;
当收到用户终端的请求切换频道的消息时,读取与要切换的频道对应的所 緩存的媒体流数据;  When receiving the message of the user terminal requesting to switch channels, reading the cached media stream data corresponding to the channel to be switched;
将所读取的媒体流数据发送给所述用户终端。  The read media stream data is sent to the user terminal.
2、 如权利要求 1所述的实现 IPTV频道切换的方法, 其特征在于, 所述 分别缓存由节目源发出的各 IPTV 直播频道的媒体流数据之前包括: 为每个 IPTV直播频道分配一个緩冲队列;  2. The method for implementing IPTV channel switching according to claim 1, wherein the separately buffering the media stream data of each IPTV live channel sent by the program source comprises: allocating a buffer for each IPTV live channel. Queue
所述分别緩存由节目源发出的各 IPTV直播频道的媒体流数据具体为: 将 由节目源发出的各 IPTV直播频道的媒体流数据分别保存在为其所分配的緩冲 队列中。  The media stream data of each IPTV live channel that is respectively sent by the program source is cached by: respectively, media stream data of each IPTV live channel sent by the program source is stored in a buffer queue allocated thereto.
3、 如权利要求 2所述的实现 IPTV频道切换的方法, 其特征在于, 所述 緩冲队列中的头指针指向下一个要读取的媒体流数据的位置,所述緩冲队列中 的尾指针指向下一个新收到的媒体流数据要保存的位置;  3. The method for implementing IPTV channel switching according to claim 2, wherein a header pointer in the buffer queue points to a location of a next media stream data to be read, and a tail in the buffer queue The pointer points to the location where the next newly received media stream data is to be saved;
当从所述緩冲队列中读取一个媒体流数据时,移动所述头指针使其指向下 一个要读取的媒体流数据的位置;  When a media stream data is read from the buffer queue, the head pointer is moved to point to the location of the next media stream data to be read;
当向所述緩冲队列中存入一个媒体流数据时,移动所述尾指针使其指向下 一个新收到媒体流数据要保存的位置。  When a piece of media stream data is stored in the buffer queue, the tail pointer is moved to point to the location where the next newly received media stream data is to be saved.
4、 如权利要求 3所述的实现 IPTV频道切换的方法, 其特征在于, 还包 括: 为所述缓冲队列设置一个 I帧指针, 所述 I帧指针指向该緩冲队列中第一 个 I针的位置;  The method for implementing IPTV channel switching according to claim 3, further comprising: setting an I frame pointer for the buffer queue, the I frame pointer pointing to the first I pin in the buffer queue s position;
当收到用户终端的请求切换频道的消息时,所述读取和发送媒体流数据具 体为:  When receiving a message from the user terminal requesting to switch channels, the read and send media stream data is specifically:
从所述 I帧指针处开始读取媒体流数据,并将所述媒体流数据发送给所述 用户终端。  The media stream data is read from the I frame pointer and transmitted to the user terminal.
5、 如权利要求 4所述的实现 IPTV频道切换的方法, 其特征在于, 当所 述緩冲队列中的媒体流数据存满后,又收到新媒体流数据时,所述方法还包括: 判断所述緩冲队列中的头指针是否为 I帧数据, 若是, 则将新收到的媒体 流数据丟弃; 否则, 将所述緩冲队列中的头指针的媒体流数据丟弃, 并将所述 头指针后的第一个媒体流数据移动为所述头指针的媒体流数据,将新收到的媒 体流数据保存为所述緩冲队列中的尾指针的媒体流数据。 The method for implementing the IPTV channel switching according to claim 4, wherein when the media stream data in the buffer queue is full and the new media stream data is received, the method further includes: Determining whether the head pointer in the buffer queue is I frame data, and if so, the newly received media Streaming data discarding; otherwise, discarding the media stream data of the head pointer in the buffer queue, and moving the first media stream data after the head pointer to the media stream data of the head pointer, The newly received media stream data is saved as media stream data of the tail pointer in the buffer queue.
6、 如权利要求 2所述的实现 IPTV频道切换的方法, 其特征在于, 所述 方法还包括:  The method for implementing IPTV channel switching according to claim 2, wherein the method further comprises:
为所述緩冲队列中的每一个用户终端分别设置一个队列头指针,所述用户 终端的队列头指针指向所述用户终端下一个要读取的媒体流数据的位置,所述 用户终端的队列尾指针指示所述緩冲队列的尾指针;  Setting a queue head pointer for each user terminal in the buffer queue, the queue head pointer of the user terminal points to a location of the next media stream data to be read by the user terminal, and the queue of the user terminal a tail pointer indicating a tail pointer of the buffer queue;
当收到用户终端的请求切换频道的消息时,所述读取和发送媒体流数据具 体为:  When receiving a message from the user terminal requesting to switch channels, the read and send media stream data is specifically:
从所述用户终端的队列头指针处开始读取所述緩冲队列中的媒体流数据, 并将所述媒体流数据发送给所述用户终端。  Reading media stream data in the buffer queue from a queue head pointer of the user terminal, and transmitting the media stream data to the user terminal.
7、 如权利要求 1所述的实现 IPTV频道切换的方法, 其特征在于, 当收 到同一 IPTV直播频道中所有用户终端的退出消息时, 该方法还包括:  The method for implementing the IPTV channel switching according to claim 1, wherein when the exit message of all the user terminals in the same IPTV live channel is received, the method further includes:
停止向用户终端发送所述退出消息中指定退出的频道的媒体流数据; 继续接收并緩存从节目源发来的所述指定退出频道的媒体流数据。  Stop sending the media stream data of the designated exit channel in the exit message to the user terminal; continue to receive and buffer the media stream data of the specified exit channel sent from the program source.
8、 如权利要求 2所述的实现 IPTV频道切换的方法, 其特征在于, 当所 述媒体流数据存满后, 又收到新媒体流数据时,将所述緩冲队列中的头指针的 媒体流数据丟弃,并将所述头指针后的第一个媒体流数据移动为所述头指针的 媒体流数据,将新收到的媒体流数据保存为所述緩冲队列中的尾指针的媒体流 数据。  The method for implementing IPTV channel switching according to claim 2, wherein when the media stream data is full and new media stream data is received, the head pointer in the buffer queue is The media stream data is discarded, and the first media stream data after the head pointer is moved to the media stream data of the head pointer, and the newly received media stream data is saved as a tail pointer in the buffer queue. Media stream data.
9、 如权利要求 1所述的实现 IPTV频道切换的方法, 其特征在于, 当所 述媒体流数据存满后, 又收到新媒体流数据时, 丟弃新收到的媒体流数据。  The method for implementing IPTV channel switching according to claim 1, wherein when the new media stream data is received after the media stream data is full, the newly received media stream data is discarded.
10、 一种实现 IPTV频道切换的装置, 包括数据接收单元、 消息接收单元 和发送单元, 其特征在于, 所述装置还包括:  A device for implementing IPTV channel switching, comprising: a data receiving unit, a message receiving unit, and a sending unit, wherein the device further comprises:
存储单元, 用于将所述数据接收单元接收的来自于节目源的各 IPTV直播 频道的媒体流数据分别緩存;  a storage unit, configured to cache media stream data of each IPTV live channel received by the data receiving unit from the program source;
读取单元,用于当收到所述消息接收单元转发的来自用户终端的请求切换 频道的消息时,读取所述存储单元中与要切换的频道对应的媒体流数据, 并将 所述媒体流数据通过所述发送单元发送给所述用户终端。 a reading unit, configured to read media stream data corresponding to the channel to be switched in the storage unit when receiving a message requesting to switch channels from the user terminal forwarded by the message receiving unit, and The media stream data is sent to the user terminal by using the sending unit.
11、 如权利要求 10所述的实现 IPTV频道切换的装置, 其特征在于, 所 述存储单元中包括与各 IPTV直播频道对应的緩冲队列, 所述緩冲队列分别用 于緩存所对应的 IPTV直播频道的媒体流数据。  The device for implementing IPTV channel switching according to claim 10, wherein the storage unit includes a buffer queue corresponding to each IPTV live channel, and the buffer queue is used to cache the corresponding IPTV. Media stream data for live channels.
12、 如权利要求 11所述的实现 IPTV频道切换的装置, 其特征在于, 所 述緩冲队列的头指针指向下一个要读取的媒体流数据的位置,所述緩冲队列中 的尾指针指向下一个新收到的媒体流数据要保存的位置, 所述装置还包括: 判断单元, 用于在所述緩冲队列中的媒体流数据存满后, 又收到所述接收 单元发来的新媒体流数据时, 判断所述緩冲队列中的头指针是否为 I帧数据, 得到是或否结果;  12. The apparatus for implementing IPTV channel switching according to claim 11, wherein a head pointer of the buffer queue points to a location of a next media stream data to be read, and a tail pointer in the buffer queue Pointing to a location where the next newly received media stream data is to be saved, the device further includes: a determining unit, configured to: after the media stream data in the buffer queue is full, receive the receiving unit When the new media stream data, determining whether the head pointer in the buffer queue is an I frame data, and obtaining a yes or no result;
笫一处理单元, 用于当所述判断单元得到的结果为是时,将新收到的媒体 流数据丟弃; 或者当所述判断单元得到的结果为否时,将所述緩冲队列中的头 指针的媒体流数据丟弃,并将所述头指针后的第一个媒体流数据移动为所述头 指针的媒体流数据,将新收到的媒体流数据保存为所述緩冲队列中的尾指针的 媒体流数据。  a processing unit, configured to: when the result obtained by the determining unit is yes, discard the newly received media stream data; or when the result obtained by the determining unit is no, the buffer queue is The media stream data of the head pointer is discarded, and the first media stream data after the head pointer is moved to the media stream data of the head pointer, and the newly received media stream data is saved as the buffer queue. Media stream data for the tail pointer in .
13、 如权利要求 11所述的实现 IPTV频道切换的装置, 其特征在于, 所 述装置还包括:  The device for implementing IPTV channel switching according to claim 11, wherein the device further comprises:
第二处理单元, 用于在所述緩冲队列中的媒体流数据存满后, 又收到所述 接收单元发来的新媒体流数据时,将所述緩冲队列中的头指针的媒体流数据丟 弃, 并将所述头指针后的第一个媒体流数据移动为所述头指针的媒体流数据, 将新收到的媒体流数据保存为所述緩冲队列中的尾指针的媒体流数据。  a second processing unit, configured to: when the media stream data in the buffer queue is full, and receive the new media stream data sent by the receiving unit, the media of the head pointer in the buffer queue Streaming data is discarded, and the first media stream data after the head pointer is moved to the media stream data of the head pointer, and the newly received media stream data is saved as a tail pointer in the buffer queue. Media stream data.
14、 如权利要求 11所述的实现 IPTV频道切换的装置, 其特征在于, 所 述装置还包括:  The device for implementing IPTV channel switching according to claim 11, wherein the device further comprises:
第三处理单元, 用于在所述緩冲队列中的媒体流数据存满后, 又收到所述 接收单元发来的新媒体流数据时, 将新收到的媒体流数据丟弃。  The third processing unit is configured to discard the newly received media stream data when the media stream data in the buffer queue is full and the new media stream data sent by the receiving unit is received.
15、 如权利要求 10所述的实现 IPTV频道切换的装置, 其特征在于, 所 述装置集成在数据用户线接入复用器、 宽带接入服务器、 或三层交换设备上。  15. The apparatus for implementing IPTV channel switching according to claim 10, wherein the apparatus is integrated on a data subscriber line access multiplexer, a broadband access server, or a layer 3 switching device.
PCT/CN2008/072062 2007-09-25 2008-08-20 A method and device for realizing the switching of iptv channels WO2009039741A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNA2007101513387A CN101132521A (en) 2007-09-25 2007-09-25 Method and device for switching IPTV channels
CN200710151338.7 2007-09-25

Publications (1)

Publication Number Publication Date
WO2009039741A1 true WO2009039741A1 (en) 2009-04-02

Family

ID=39129618

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/072062 WO2009039741A1 (en) 2007-09-25 2008-08-20 A method and device for realizing the switching of iptv channels

Country Status (2)

Country Link
CN (1) CN101132521A (en)
WO (1) WO2009039741A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486666A (en) * 2014-12-31 2015-04-01 四川金网通电子科技有限公司 Method for achieving OTT live broadcast rapid channel switching through cache mechanism
CN111262874A (en) * 2020-01-21 2020-06-09 北京梦想加信息技术有限公司 Writing board information sharing method and system and writing board
CN112040309A (en) * 2020-09-08 2020-12-04 海信视像科技股份有限公司 Channel switching method and display device
CN113676744A (en) * 2021-07-28 2021-11-19 北京百度网讯科技有限公司 Switching control method and device for live broadcast room, electronic equipment and storage medium

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132521A (en) * 2007-09-25 2008-02-27 华为技术有限公司 Method and device for switching IPTV channels
CN101316357B (en) * 2008-06-30 2011-09-14 华为技术有限公司 Channel switching method and terminal
CN101662689B (en) * 2008-08-25 2011-07-06 华为技术有限公司 Method and system for switching interactive TV channels and method and device for sending audio and video streams
CN101742269A (en) * 2008-11-17 2010-06-16 华为技术有限公司 Channel switching over method, device and system
CN101753973B (en) * 2008-12-12 2013-01-02 华为技术有限公司 Channel switching method, device and system
CN101489101B (en) * 2008-12-31 2011-01-19 华为技术有限公司 Method, apparatus and system for IP television channel switching processing
CN102223373B (en) * 2011-06-21 2017-09-26 中兴通讯股份有限公司 The queuing strategy of online game, apparatus and system in IPTV system
CN103974092B (en) * 2013-01-31 2018-05-15 中兴通讯股份有限公司 A kind of method, apparatus and Web TV that Web broadcast is realized based on Web TV
CN103561285A (en) * 2013-10-11 2014-02-05 深圳市同洲电子股份有限公司 Program broadcasting method and network plug-flow server
CN105519121B (en) * 2014-06-27 2018-11-23 北京新媒传信科技有限公司 A kind of method and media server of key frame routing
CN104202676A (en) * 2014-09-12 2014-12-10 北京赛科世纪数码科技有限公司 Channel switching method and system
CN104506924B (en) * 2014-12-23 2018-09-11 成都德芯数字科技股份有限公司 A kind of IPTV system and its working method of high integration
CN105100888B (en) * 2015-07-17 2017-12-19 上海斐讯数据通信技术有限公司 A kind of method that IPTV channel switch based on OLT device accelerates
CN106375835B (en) * 2016-08-31 2019-03-29 北京奇艺世纪科技有限公司 A kind of flow media playing method and equipment
CN106792120B (en) * 2017-02-07 2020-06-16 海信视像科技股份有限公司 Video picture display method and device and terminal
CN110809168A (en) * 2018-08-06 2020-02-18 中兴通讯股份有限公司 Video live broadcast processing method and device, terminal and storage medium
CN111866581B (en) * 2020-07-23 2022-08-23 杭州国芯科技股份有限公司 Method for rapidly switching digital television programs
CN114007087B (en) * 2020-07-28 2023-04-11 华为技术有限公司 Media stream switching method and device
CN114449357A (en) * 2020-11-02 2022-05-06 青岛海信宽带多媒体技术有限公司 Method, device and terminal for optimizing IPTV multicast channel switching

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085828A1 (en) * 2004-10-15 2006-04-20 Vincent Dureau Speeding up channel change
CN1881925A (en) * 2006-05-10 2006-12-20 上海市电信有限公司 Method and structure for realizing live channel switching in Internet protocol audio-video broadcast network
US20070160038A1 (en) * 2006-01-09 2007-07-12 Sbc Knowledge Ventures, L.P. Fast channel change apparatus and method for IPTV
EP1811780A1 (en) * 2006-01-24 2007-07-25 Alcatel Lucent Access node with caching function for video channels
CN101047838A (en) * 2006-03-27 2007-10-03 中兴通讯股份有限公司 Method for reducing response time of direct broadcast band switchover
CN101132521A (en) * 2007-09-25 2008-02-27 华为技术有限公司 Method and device for switching IPTV channels

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085828A1 (en) * 2004-10-15 2006-04-20 Vincent Dureau Speeding up channel change
US20070160038A1 (en) * 2006-01-09 2007-07-12 Sbc Knowledge Ventures, L.P. Fast channel change apparatus and method for IPTV
EP1811780A1 (en) * 2006-01-24 2007-07-25 Alcatel Lucent Access node with caching function for video channels
CN101047838A (en) * 2006-03-27 2007-10-03 中兴通讯股份有限公司 Method for reducing response time of direct broadcast band switchover
CN1881925A (en) * 2006-05-10 2006-12-20 上海市电信有限公司 Method and structure for realizing live channel switching in Internet protocol audio-video broadcast network
CN101132521A (en) * 2007-09-25 2008-02-27 华为技术有限公司 Method and device for switching IPTV channels

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486666A (en) * 2014-12-31 2015-04-01 四川金网通电子科技有限公司 Method for achieving OTT live broadcast rapid channel switching through cache mechanism
CN111262874A (en) * 2020-01-21 2020-06-09 北京梦想加信息技术有限公司 Writing board information sharing method and system and writing board
CN112040309A (en) * 2020-09-08 2020-12-04 海信视像科技股份有限公司 Channel switching method and display device
CN112040309B (en) * 2020-09-08 2022-06-28 海信视像科技股份有限公司 Channel switching method and display device
CN113676744A (en) * 2021-07-28 2021-11-19 北京百度网讯科技有限公司 Switching control method and device for live broadcast room, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN101132521A (en) 2008-02-27

Similar Documents

Publication Publication Date Title
WO2009039741A1 (en) A method and device for realizing the switching of iptv channels
JP4936751B2 (en) Rapid media channel switching mechanism and access network node including the mechanism
US8356324B2 (en) Implementing network personal video recorder for digital video settop boxes
EP2385707B1 (en) Channel switching method, device, and system
US8495688B2 (en) System and method for fast start-up of live multicast streams transmitted over a packet network
US7668914B2 (en) Milestone synchronization in broadcast multimedia streams
KR101250825B1 (en) Fast video channel change
CN101938456B (en) Method, device and system for reducing media delays
WO2010054543A1 (en) Method, device and system for channel switching
WO2011153868A1 (en) Channel switching method, apparatus and system
WO2010133123A1 (en) Method, device and system for forwarding video data
WO2010048825A1 (en) Lost packet retransmission suppressing method, network node and system
EP2011332A1 (en) Method for reducing channel change times in a digital video apparatus
WO2008148333A1 (en) System and method for processing video stream
WO2008077302A1 (en) A digital media channels switching method and system
JP5428734B2 (en) Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system
WO2010075705A1 (en) Method, device and system for processing ip television channel switch
JP5610743B2 (en) Content receiving method and apparatus
WO2010115376A1 (en) Media stream switching method, apparatus and system
CN106937155B (en) Access device, Internet Protocol Television (IPTV) system and channel switching method
WO2009089755A1 (en) Method and device for improving user experience of internet protocol television

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08784053

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08784053

Country of ref document: EP

Kind code of ref document: A1