WO2012083841A1 - Method, terminal and system for changing channel - Google Patents

Method, terminal and system for changing channel Download PDF

Info

Publication number
WO2012083841A1
WO2012083841A1 PCT/CN2011/084289 CN2011084289W WO2012083841A1 WO 2012083841 A1 WO2012083841 A1 WO 2012083841A1 CN 2011084289 W CN2011084289 W CN 2011084289W WO 2012083841 A1 WO2012083841 A1 WO 2012083841A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
channel
cache
content
program content
Prior art date
Application number
PCT/CN2011/084289
Other languages
French (fr)
Chinese (zh)
Inventor
周茂林
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012083841A1 publication Critical patent/WO2012083841A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • 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 network multimedia technologies, and in particular, to a channel switching method, a terminal, and a system. Background technique
  • the media transmitted in Internet Protocol Television generally uses video and audio compression coding algorithms.
  • the pictures ie, frames
  • the I frame is an internally coded frame, which is the whole.
  • the frame is completely encoded; the P frame and the B frame record changes relative to the I frame. Without an I frame, P and B frames cannot be decoded.
  • the user can cut into the channel at any time point of the length of the GOP (Group of Pictures). Since the set-top box needs to receive the video after receiving the first complete I frame, the set-top box receives the content of a complete I-frame program.
  • the video content cannot be displayed within the receiving time, which is the main reason that the random access point (RAP, Random Access Point) causes the channel switching speed to be slow.
  • RAP Random Access Point
  • the denser the I frame the more likely the set-top box will receive the full I frame after entering the channel, and the faster the switching channel speed, but this will increase the code rate of the program and consume more bandwidth resources. Therefore, it is only considered to increase the density of I frames, which is not practical.
  • the existing channel switching schemes include: Deploying a channel fast-transmitting server in the network, specifically for buffering the latest channel media data.
  • the set-top box receives the channel play command, it requests the media data of the corresponding channel to the fast-transmitting server, and the fast-transmitting server sends the channel program content starting with the I frame to the set-top box through the unicast mode, and generally the sending speed is higher than the normal code at the beginning stage.
  • the rate is fast, so that the set top box can quickly display the video picture.
  • the set top box completely switches to the normal channel access mode receiving medium, and stops acquiring data from the fast sending server.
  • adding a fast-forward server to achieve fast switching of channels requires consideration of concurrency time and higher system performance requirements, thereby increasing operating costs. Summary of the invention
  • the main object of the present invention is to provide a channel switching method, terminal and system, which aim to improve the quality of IPTV service.
  • the present invention provides a channel switching method, where the method includes: a playback terminal transmitting a announcement message in a local area network to obtain a list of cache terminals that can provide a channel program content service;
  • the channel switching is performed by the cache terminal in the cache terminal list.
  • the channel switching by using the cache terminal in the cache terminal list includes: the playback terminal sending a request for acquiring the content of the destination channel program to one or more cache terminals in the cache terminal list;
  • the target channel program content is obtained from the channel multicast group.
  • the playing terminal selects a corresponding cache terminal according to a network minimum ping value of the cached terminal in the cached terminal list or according to a sequence of receiving the cached terminal response message.
  • the invention also provides a channel switching method, the method comprising:
  • the buffer terminal buffers the channel program content when receiving the multicast code stream for channel playback; Receiving a response message that can provide a channel program content service to the playback terminal when receiving the announcement message sent by the playback terminal;
  • the channel switching is performed for the playing terminal by means of unicast.
  • the performing channel switching for the playing terminal by means of unicasting comprises: sending, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
  • the broadcast terminal After the content channel of the target channel is synchronized with the channel multicast media, the broadcast terminal is notified to join the channel multicast group, and the first channel media packet from the channel multicast group sent by the play terminal is received;
  • the cache terminal matches the program content by sending or when the channel program is
  • the RTP header number is the same to determine that the channel program content buffer sent by the cache terminal is synchronized with the channel multicast medium.
  • the present invention also provides a channel switching terminal, where the channel switching terminal includes:
  • a cache terminal list obtaining module configured to send an announcement message in the local area network to obtain a cache terminal list that can provide a channel program content service
  • the first channel switching module is configured to perform channel switching by using the cache terminal in the cache terminal list when the play terminal receives the channel switching play command.
  • the first channel switching module includes:
  • a requesting unit configured to send, to the one or more cache terminals in the cache terminal list, a request for acquiring content of a target channel program
  • a buffer receiving unit configured to receive a destination channel that is sent by the cache terminal and starts with an I frame Program content cache
  • a notification message receiving unit configured to receive a notification message sent by the cache terminal after the destination channel program content cache and the channel multicast media are synchronized by the cache terminal;
  • the media packet receiving and sending unit is configured to join the channel multicast group according to the notification message, start receiving the channel media packet delivered by the channel multicast group, and send the received first channel media packet to the cache terminal. ;
  • a channel switching unit configured to: when the destination channel program content buffer sent by the cache terminal is connected to the channel media packet received by the play terminal from the channel multicast group, acquire a target channel program from the channel multicast group content.
  • the present invention also provides a channel switching terminal, where the channel switching terminal includes:
  • a cache module configured to cache channel program content when receiving a multicast stream for channel playback
  • a response message sending module configured to return, to the playing terminal, a response message that can provide a channel program content service when receiving the announcement message sent by the playing terminal;
  • the second channel switching module is configured to perform channel switching for the playing terminal by using a unicast manner when receiving the request for acquiring the content of the target channel program sent by the playing terminal.
  • the second channel switching module includes:
  • a buffer sending unit configured to send, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate
  • a notification sending and media packet receiving unit configured to notify the playing terminal to join the channel multicast group after the target channel program content cache is synchronized with the channel multicast media, and receive the channel group sent by the playing terminal The first channel media package of the broadcast group;
  • control unit configured to stop sending the target channel program content cache to the play terminal when the sent target channel program content cache is connected with the channel media package received by the play terminal from the channel multicast group .
  • the cached terminal matches the content of the program transmitted by the cache terminal, or when the channel program is encapsulated by the RTP, the channel program content cache sent by the cache terminal is synchronized with the channel multicast media by using the same RTP header number.
  • the present invention also provides a channel switching system, where the channel switching system includes: a playing terminal and a cache terminal, wherein:
  • the play terminal is configured to send an announcement message in a local area network to obtain a cache terminal list that can provide a channel program content service; when the play terminal receives a channel switch play command, perform a channel through the cache terminal in the cached terminal list.
  • the cache terminal is configured to buffer a channel program content when receiving a multicast code stream for channel playback; and return a response that provides a channel program content service to the play terminal when receiving the announcement message sent by the play terminal a message: when receiving the request for acquiring the content of the target channel program sent by the playing terminal, performing channel switching for the playing terminal by means of unicast.
  • the playing terminal is further configured to send a packet loss retransmission request to the cache terminal when detecting a packet loss during the program playing;
  • the cache terminal is further configured to receive the packet loss retransmission request, and retransmit the packet loss to the play terminal according to the retransmission request.
  • the channel switching method, the terminal and the system provided by the present invention through a UPnP-based Simple Service Discovery Protocol (SSDP), discover a cache terminal that can provide a channel program content service in the network, and receive a channel switching. After the command, the playing terminal quickly receives the channel program code stream from the cache terminal providing the service to start playing, thereby speeding up the channel switching speed and improving the IPTV service quality.
  • SSDP UPnP-based Simple Service Discovery Protocol
  • FIG. 1 is a schematic flow chart of an embodiment of a channel switching method according to the present invention.
  • FIG. 2 is a schematic diagram of a cache end in a cache terminal list according to an embodiment of the channel switching method of the present invention. Schematic diagram of the process of channel switching;
  • FIG. 3 is a schematic flow chart of another embodiment of a channel switching method according to the present invention.
  • FIG. 4 is a schematic flowchart of channel switching for a playback terminal in a unicast manner according to another embodiment of the channel switching method of the present invention.
  • FIG. 5 is a schematic structural diagram of an embodiment of a channel switching terminal according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a first channel switching module in an embodiment of a channel switching terminal according to the present invention.
  • FIG. 7 is a schematic structural diagram of another embodiment of a channel switching terminal according to the present invention.
  • FIG. 8 is a schematic structural diagram of a second channel switching module in another embodiment of the channel switching terminal of the present invention.
  • FIG. 9 is a schematic structural diagram of an embodiment of a channel switching system according to the present invention. detailed description
  • the solution of the embodiment of the present invention is mainly based on the SSDP protocol of the universal plug and play (UpnP), and the playback terminal sends an announcement message in the local area network to obtain a list of cache terminals that can provide the channel program content service;
  • the channel switching play command is performed, the channel switching is performed by the cache terminal in the cache terminal list, and the play terminal quickly receives the channel program code stream from the cache terminal providing the service to start playing, thereby speeding up the channel switching speed.
  • an embodiment of the present invention provides a channel switching method, where the method includes: Step S101: A playback terminal sends an announcement message in a local area network to obtain a cache terminal list that can provide a channel program content service;
  • the announcement message specifically uses the UPnP SSDP announcement message.
  • UPnP is an application layer technology standard designed for peer-to-peer interconnection in the local area network. It is designed to provide IP-based technology for homes, small businesses, and public places. The network service auto-discovery mechanism used.
  • SSDP is used for service discovery, whereby the control point can locate the resources of its interest in the network, and the device can inform their availability.
  • the SSDP client (control point) can send a Discovery message to the SSDP port (239.255.255.250: 1900) of the locally reserved multicast address to find the SSDP service; the SSDP service (device) can also send the SSDP indication in the same way to announce its existence.
  • the playback terminal After the playback terminal is started, the UPnP SSDP announcement message is sent in the local area network, and the list of cached terminals that can provide the channel program content service is found, and the table is maintained.
  • the buffer terminal needs to perform channel program content buffering when performing channel playing and receiving the multicast stream, and at least one complete GOP is buffered, and the buffer terminal in the multicast channel playing state (receiving the multicast program stream) can provide the channel program.
  • the content service can respond to the announcement message sent by the playback terminal.
  • Step S102 When the play terminal receives the channel switching play command, perform channel switching by using the cache terminal in the cache terminal list.
  • one or more cache terminals capable of providing the channel program content service are selected from the cache terminal list, and the destination channel program content is requested.
  • the cache terminal After receiving the request for the content of the destination channel program sent by the terminal, the cache terminal transmits the content of the target channel at a faster rate than the normal rate of the program, and the content of the program starts from the I frame; the content channel of the program channel and the channel of the destination channel that the cache terminal transmits After the multicast media is synchronized, the broadcast terminal is notified to join the channel multicast group; the media of the cache terminal continues to be sent, and the rate is smaller or the same as the normal rate of the program; after the channel is joined to the channel multicast group, the broadcast terminal starts to receive the channel multicast group. The media packet, and the first one received is sent to the cache terminal; to prevent the cache terminal from transmitting the redundant duplicate destination channel program content to the playback terminal.
  • the step of performing channel switching by using the cache terminal in the cache terminal list in step S102 includes:
  • Step S1021 The playback terminal sends a request for acquiring the content of the target channel program to one or more cache terminals in the cache terminal list.
  • Step S1022 Receive, by the cache terminal, a destination channel program content cache starting with an I frame;
  • the playback terminal may receive the response of the first cached terminal, and notify other terminals to stop sending the program cache of the destination channel.
  • Step S1023 Receive a notification message sent by the cache terminal after the content channel cache of the destination channel that it sends is synchronized with the channel multicast media.
  • Step S1024 adding a channel multicast group according to the notification message, starting to receive the channel media packet delivered by the channel multicast group, and sending the received first channel media packet to the cache terminal;
  • Step S1025 When the content channel cache of the destination channel sent by the cache terminal is connected to the channel media packet received by the broadcast terminal from the channel multicast group, the content of the target channel program is obtained from the channel multicast group.
  • the play terminal may select a corresponding cache terminal according to the network minimum ping value of the cached terminal in the cached terminal list or according to the order in which the cached terminal response message is received.
  • Determining the manner in which the cache terminal transmits the destination channel program content cache and the channel multicast media, and the program content may be consistently matched or the channel program may be transmitted in real time.
  • RTP Real-time Transport Protocol
  • the cache terminal and the play terminal may be the same type of terminal, such as a set top box, or may not be the same type of terminal, for example, the play terminal is a set top box, and the cache terminal is a personal computer (PC, Personal Computer). Wait. For example, when a set-top box performs channel switching and enters channel playback, if another set-top box is already playing the channel program, the channel program content required on the previous set-top box can be obtained from the next set-top box that has already played the channel program. Media data does not need to be sent from a dedicated fast delivery server.
  • the rate at which the cache terminal sends the content channel program content cache to the playback terminal is generally faster than the normal code rate. Otherwise, the content channel cache of the destination channel sent by the cache terminal cannot be synchronized with the media content sent by the channel multicast group, because The cache terminal continues to receive channel content.
  • the packet loss retransmission function can also be implemented according to the method in this embodiment.
  • the cache terminal may provide a packet loss retransmission function. If the play terminal detects a packet loss during the program play, the broadcast terminal may request a packet loss retransmission from the cache terminal. After receiving the packet loss retransmission request sent by the broadcast terminal, the cache terminal retransmits the packet loss to the playback terminal according to the retransmission request. This can reduce the dependence of IPTV on network quality and improve the video quality of users in the case of packet loss. The cost of the network, the playback terminal can display the video picture as soon as possible by the cache terminal in the cached terminal list. When the fast-transmitted media buffer synchronizes with the channel multicast group to send the media information, the switch to the normal channel multicast play state is shortened. Channel switching time improves IPTV service quality and improves user satisfaction.
  • another embodiment of the present invention provides a channel switching method, where the method includes:
  • Step S301 The buffer terminal caches the content of the channel program when receiving the multicast code stream for channel playback.
  • the buffer terminal needs to perform channel program content buffering when performing channel play to receive the multicast code stream, and at least caches a complete GOP, and is in a multicast channel playing state (receiving a multicast section)
  • the cache terminal of the destination stream stream can provide the channel program content service, and all can respond to the announcement message sent by the playback terminal.
  • Step S302 when receiving the announcement message sent by the playback terminal, returning a response message to the playback terminal that can provide the channel program content service;
  • the cache terminal listens to the running status of the playing terminal in the local area network through the simple service discovery protocol in UPnP, and gives a response when the playing terminal issues an SSDP notification message, informing the playing terminal that the target channel program content service can be provided.
  • Step S303 When receiving the request for acquiring the content of the target channel program sent by the playing terminal, performing channel switching for the playing terminal by using a unicast manner.
  • the buffering terminal After receiving the request from the playing terminal, the buffering terminal sends the media buffer starting with the I frame to the playing terminal at a controllable bit rate in a unicast manner, that is, the destination channel program content cache in the embodiment. At the same time, the content of the channel program that informs other terminals to provide the cache service by the announcement message has changed. When the cache terminal is shut down, it also needs to send a message to notify other terminals that the service cannot be provided.
  • the channel playing terminal After the content of the cached program sent by the channel buffering terminal is synchronized with the channel multicast content, the channel playing terminal is notified to join the multicast group; meanwhile, the channel buffering terminal continues to send the channel program content buffer at a synchronous or slower rate of the channel program content.
  • the content of the cached program sent by the channel buffer terminal and the channel multicast content can be determined by matching the content of the transmitted program, or can be judged by the RTP header number, etc., when the program content is consistent, or the RTP serial number is the same, then the two are considered Synchronize.
  • the code rate of the cache terminal is 2.2 M bps, which is 1/10 larger than the normal code rate.
  • the cache terminal buffers the data of 0.5s.
  • the content of the target channel program that should be sent by the cache terminal after 5s can be synchronized with the content of the channel program sent by the multicast group, and the cache terminal sends the content.
  • the program content to the playback terminal should be the content of the multicast group channel program newly received by the channel buffer terminal.
  • the cache terminal notification The channel playing terminal can join the multicast group and still need to continue to send the channel program content.
  • the code rate sent by the cache terminal is obviously 2M, and may be less than 2M.
  • the media content sent by the channel multicast group is received; when the playing terminal receives the first channel media packet, the media packet is immediately sent to the cache terminal.
  • the cache terminal After receiving the media packet information sent by the playing terminal, the cache terminal continues to send the content channel content cache of the destination channel until the content channel buffer of the transmitted destination channel and the media packet received by the playing terminal can be connected.
  • the first channel media packet received by the playback terminal may refer to the sequence number of the first multicast RTP packet received, or other information used to identify the load of the media program.
  • the first RTP packet sequence number received by the play terminal is 100.
  • the RTP sequence number of the last packet of the sent channel program content may be 99, so that the play The content of the program received by the terminal from the cache terminal and the content of the program received from the multicast group can be connected.
  • the last packet sequence number sent by the cache terminal can also be 100.
  • the basic principle is to ensure that at least the content of the two parts can be connected, and to minimize the duplication of the content of the two parts of the media program.
  • the playback to the full multicast mode is performed.
  • step S303 includes:
  • Step S3031 Send, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
  • Step S3032 After the destination channel program content cache is synchronized with the channel multicast media, notify the broadcast terminal to join the channel multicast group, and receive the first channel media package from the channel multicast group sent by the play terminal;
  • Step S3033 when the destination channel program content is buffered and the playback terminal is from the channel multicast group.
  • the transmission of the destination channel program content cache to the playback terminal is stopped.
  • the playback terminal obtains the cache terminal list that provides the destination channel program content service, and obtains the desired program content from the cache terminal in the list to play to the user to complete the channel switching, thereby shortening the channel switching time.
  • the playback terminal after receiving the media packet sent by the multicast group, the playback terminal immediately sends the packet information to the cache terminal, so that the cache terminal does not send the excess media packet to the playback terminal, and the network resource is not wasted. Seamless switching of media reception methods.
  • an embodiment of the present invention provides a channel switching terminal, including: a cache terminal list obtaining module 501, and a first channel switching module 502, where:
  • the cached terminal list is 501, configured to send an announcement message in the local area network to obtain a list of cached terminals that can provide the channel program content service;
  • the announcement message specifically uses the UPnP SSDP announcement message.
  • UPnP is an application layer technology standard designed for peer-to-peer interconnection in the local area network. It is designed to provide IP-based, easy-to-use automatic discovery mechanism for network services for homes, small businesses, and public places. .
  • the Simple Service Discovery Protocol (SSDP) is used for service discovery, whereby the control point can locate the resources of its interest in the network, and the device can inform their availability.
  • the SSDP client (control point) can send a Discovery message to the SSDP port (239.255.255.250: 1900) of the locally reserved multicast address to find the SSDP service; the SSDP service (device) can also send the SSDP indication in the same way to announce its existence.
  • the cached terminal list is sent to the UPnP SSDP announcement message in the local area network, and the list of cached terminals that can provide the channel program content service is found, and the table is maintained.
  • the buffer terminal needs to perform channel program content buffering when performing channel play to receive the multicast code stream, and at least caches a complete GOP, and is in a multicast channel playing state (receiving a multicast section)
  • the cache terminal of the destination stream stream can provide the channel program content service, and all can respond to the announcement message sent by the playback terminal.
  • the first channel switching module 502 is configured to perform channel switching by buffering the buffer terminal in the terminal list when the playing terminal receives the channel switching play command.
  • the first channel switching module 502 selects one or more cache terminals capable of providing the channel program content service from the cache terminal list, and requests the destination channel program content.
  • the cache terminal After receiving the request for the content of the destination channel program sent by the terminal, the cache terminal transmits the content of the target channel at a faster rate than the normal rate of the program, and the content of the program starts from the I frame; the content channel of the program channel and the channel of the destination channel that the cache terminal transmits After the multicast media is synchronized, the broadcast terminal is notified to join the channel multicast group; the media of the cache terminal continues to be sent, and the rate is smaller or the same as the normal rate of the program; after the channel is joined to the channel multicast group, the broadcast terminal starts to receive the channel multicast group. The media packet, and the first one received is sent to the cache terminal; to prevent the cache terminal from transmitting the redundant duplicate destination channel program content to the playback terminal.
  • the content of the target channel program is stopped from being sent to the playback terminal.
  • the first channel switching module 502 includes: a requesting unit 5021, a buffer receiving unit 5022, a notification message receiving unit 5023, a media packet receiving and transmitting unit 5024, and a channel switching unit 5025, where:
  • the requesting unit 5021 is configured to send, to the one or more cache terminals in the cached terminal list, a request for acquiring the content of the target channel program;
  • the buffer receiving unit 5022 is configured to receive a destination channel program content cache that is sent by the cache terminal and starts with an I frame.
  • the notification message receiving unit 5023 is configured to receive a notification message that is sent by the cache terminal after the destination channel program content cache and the channel multicast media are synchronized by the cache terminal;
  • the media packet receiving and sending unit 5024 is configured to join the channel multicast group according to the notification message, start receiving the channel media packet delivered by the channel multicast group, and send the received first channel media packet to the cache. terminal;
  • the channel switching unit 5025 is configured to obtain the target channel program content from the channel multicast group when the destination channel program content buffer sent by the buffer terminal is connected to the channel media packet received by the playing terminal from the channel multicast group.
  • another embodiment of the present invention provides a channel switching terminal, including: a cache module 701, a response message sending module 702, and a second channel switching module 703, where:
  • the cache module 701 is configured to cache the channel program content when receiving the multicast code stream for channel playback;
  • the cache terminal needs to cache the channel program content through the cache module 701 when performing channel play to receive the multicast code stream, and at least cache a complete GOP, and the cache terminal in the multicast channel play state (receiving the multicast program code stream)
  • the channel program content service can be provided, and all the announcement messages sent by the playing terminal can be responded to.
  • the response message sending module 702 is configured to: when receiving the announcement message sent by the playing terminal, return a response message that can provide the channel program content service to the playing terminal;
  • the buffer terminal response message sending module 702 listens to the running status of the playing terminal in the local area network through the simple service discovery protocol in the UPnP, and gives a response when the playing terminal issues the SSDP notification message, and informs the playing terminal that the target channel program content service can be provided.
  • the second channel switching module 703 is configured to perform channel switching for the playing terminal by using a unicast manner when receiving a request for acquiring the content of the target channel program sent by the playing terminal.
  • the second channel switching module 703 sends the media buffer starting from the I frame to the playing terminal at a controllable bit rate in a unicast manner, that is, the purpose as described in this embodiment.
  • Channel program content cache At the same time, the content of the channel program that informs other terminals to provide the cache service by the announcement message has changed. The message needs to be sent out when the cache terminal is shut down. Notify other terminals that the service is no longer available.
  • the channel playing terminal After the content of the cached program sent by the channel buffering terminal is synchronized with the channel multicast content, the channel playing terminal is notified to join the multicast group; meanwhile, the channel buffering terminal continues to send the channel program content buffer at a synchronous or slower rate of the channel program content.
  • the content of the cached program sent by the channel buffer terminal and the channel multicast content can be determined by matching the content of the transmitted program, or can be judged by the RTP header number, etc., when the program content is consistent, or the RTP serial number is the same, then the two are considered Synchronize.
  • the cache terminal buffers the data of 0.5s.
  • the content of the target channel program that should be sent by the cache terminal after 5s can be synchronized with the content of the channel program sent by the multicast group, and the cache terminal sends the content.
  • the program content to the playback terminal should be the content of the multicast group channel program newly received by the channel buffer terminal.
  • the cache terminal notifies the channel playing terminal that it can join the multicast group, and still needs to continue to send the channel program content.
  • the code rate sent by the cache terminal is obviously 2M, which is also less than 2M.
  • the media content sent by the channel multicast group is received; when the playing terminal receives the first channel media packet, the media packet is immediately sent to the cache terminal.
  • the cache terminal After receiving the media packet information sent by the playing terminal, the cache terminal continues to send the content channel content cache of the destination channel until the content channel buffer of the transmitted destination channel and the media packet received by the playing terminal can be connected.
  • the first channel media packet received by the playback terminal may refer to the sequence number of the first multicast RTP packet received, or other information used to identify the load of the media program.
  • the first RTP packet sequence number received by the play terminal is 100.
  • the RTP sequence number of the last packet of the sent channel program content may be 99, so that the play The content of the program received by the terminal from the cache terminal and the content of the program received from the multicast group can be connected.
  • the last packet number sent by the cache terminal can also be So it is 100.
  • the basic principle is to at least ensure that the content of the two parts can be connected, and to minimize the duplication of the content of the two parts of the media program.
  • the playback to the full multicast mode is performed.
  • the second channel switching module 703 includes: a buffer sending unit 7031, a notification sending and media packet receiving unit 7032, and a control unit 7033, where:
  • a buffer sending unit 7031 configured to send, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
  • the notification sending and media packet receiving unit 7032 is configured to notify the playing terminal to join the channel multicast group after the destination channel program content buffer is synchronized with the channel multicast medium, and receive the first channel from the channel multicast group sent by the playing terminal.
  • the control unit 7033 is configured to stop sending the target channel program content cache to the playing terminal when the transmitted destination channel program content buffer is connected to the channel media packet received by the playing terminal from the channel multicast group.
  • an embodiment of the present invention provides a channel switching system, including: a playback terminal 901 and a cache terminal 902, where:
  • the play terminal 901 is configured to send a announcement message in the local area network to obtain a cache terminal list that can provide a channel program content service; when the play terminal 901 receives the channel switch play command, perform channel switching by using the cache terminal 902 in the cache terminal list;
  • the buffer terminal 902 is configured to buffer the channel program content when receiving the multicast code stream for channel play, and return a response message for providing the channel program content service to the play terminal 901 when receiving the announcement message sent by the play terminal 901.
  • the channel switching is performed for the playback terminal 901 by means of unicast.
  • the playing terminal 901 is further configured to detect, when the packet is lost during the program playing, to The cache terminal 902 sends a packet loss retransmission request;
  • the cache terminal 902 is further configured to receive a packet loss retransmission request, and retransmit the lost packet to the play terminal 901 according to the retransmission request.
  • the cache terminal 902 can provide a packet loss retransmission function, and if the play terminal 901 detects a packet loss during the program play, the buffer terminal 902 can request a packet loss retransmission. After receiving the packet loss retransmission request sent by the play terminal 901, the cache terminal 902 retransmits the lost packet to the play terminal 901 according to the retransmission request. This can reduce the dependence of IPTV on network quality and improve the video quality of users in the case of packet loss.
  • the UPDP-based SSDP protocol is used, and the playback terminal is in the local area network. Sending an announcement message to obtain a cache terminal list that can provide a channel program content service; when the playback terminal receives the channel switching play command, performing channel switching by buffering the cache terminal in the terminal list, the play terminal quickly receives the cached terminal from the service providing terminal The channel program stream starts playing, which speeds up the channel switching speed and improves the user experience quality.
  • the cache terminal can provide the packet loss retransmission function. When the broadcast terminal detects the packet loss during the program play, the playback terminal can request the cache terminal to implement the packet loss retransmission, thereby reducing the network quality of the IPTV. Dependency improves the video quality of users in the case of packet loss.

Abstract

The present invention relates to a method, terminal and system for changing channel. The method includes: a play terminal sends a declaration message in a local area network, so as to obtain a list of cache terminals which can provide channel program content service; and the play terminal changes the channel via a cache terminal in the list of cache terminals when the play terminal receives a play command for changing channel. The present invention is based on the SSDP protocol of UPnP, and the play terminal quickly receives a code stream of the channel program from the cache terminal which provides the service so as to start the playing, which increases the speed of channel changing and improves the quality of service of IPTV. At the same time, no superfluous media packets will be sent to the play terminal by the cache terminal, so that a seamless handover between media receiving methods can be achieved without wasting network resources. Moreover, the present invention can also realize the function of re-sending lost packets, thereby reducing the dependence of IPTV on the network quality and improving the video quality for the user in case of packet loss.

Description

频道切换方法、 终端及系统 技术领域  Channel switching method, terminal and system
本发明涉及网络多媒体技术领域, 尤其涉及一种频道切换方法、 终端 及系统。 背景技术  The present invention relates to the field of network multimedia technologies, and in particular, to a channel switching method, a terminal, and a system. Background technique
因特网协议电视 ( IPTV , Internet Protocol Television ) 中传输的媒体一 般使用视音频压缩编码算法, 画面(即帧)分为 I帧、 P帧以及 B帧等, 其 中, I帧为内部编码帧, 是整个画面完整编码的帧; P帧与 B帧记录的是相 对于 I帧的变化。 没有 I帧, P帧和 B帧无法解码。 用户可以画面组(GOP, Group of Pictures ) 长度的任意时间点切入频道, 由于机顶盒需要在收到第 一个完整的 I帧后才能有视频输出, 因此机顶盒在收到一个完整 I帧节目内 容之前的接收时间内均无法显示视频内容, 这即是随机接入点 ( RAP , Random Access Point )问题导致频道切换速度比较慢的主要原因。在理论上, I帧越密, 机顶盒进入频道后迅速接收到完整 I帧的可能性则越大, 切换频 道速度也越快, 但是这样会增加节目的码率, 需要消耗更大的带宽资源, 因此只考虑增加 I帧的密度, 不具有实用性。  The media transmitted in Internet Protocol Television (IPTV) generally uses video and audio compression coding algorithms. The pictures (ie, frames) are divided into I frames, P frames, and B frames. The I frame is an internally coded frame, which is the whole. The frame is completely encoded; the P frame and the B frame record changes relative to the I frame. Without an I frame, P and B frames cannot be decoded. The user can cut into the channel at any time point of the length of the GOP (Group of Pictures). Since the set-top box needs to receive the video after receiving the first complete I frame, the set-top box receives the content of a complete I-frame program. The video content cannot be displayed within the receiving time, which is the main reason that the random access point (RAP, Random Access Point) causes the channel switching speed to be slow. In theory, the denser the I frame, the more likely the set-top box will receive the full I frame after entering the channel, and the faster the switching channel speed, but this will increase the code rate of the program and consume more bandwidth resources. Therefore, it is only considered to increase the density of I frames, which is not practical.
为了提高频道切换速度, 现有的频道切换方案有: 在网络中布署一台 频道快发服务器, 专门用来緩存最新的频道媒体数据。 当机顶盒收到频道 播放命令时, 向快发服务器请求相应频道的媒体数据, 快发服务器通过单 播方式,给机顶盒发送以 I帧开始的频道节目内容, 而且一般开始阶段发送 速度会比正常码率速度要快, 这样机顶盒就能够很快地显示出视频画面, 当频道快发数据和频道正常数据同步后, 机顶盒完全切换到正常频道的接 入方式接收媒体, 停止从快发服务器获取数据。 但是, 增加一台快发服务器实现快速切换频道的方法, 需要考虑到并 发时间, 对系统性能要求较高, 由此增加了运营成本。 发明内容 In order to improve the channel switching speed, the existing channel switching schemes include: Deploying a channel fast-transmitting server in the network, specifically for buffering the latest channel media data. When the set-top box receives the channel play command, it requests the media data of the corresponding channel to the fast-transmitting server, and the fast-transmitting server sends the channel program content starting with the I frame to the set-top box through the unicast mode, and generally the sending speed is higher than the normal code at the beginning stage. The rate is fast, so that the set top box can quickly display the video picture. When the channel fast transmission data and the channel normal data are synchronized, the set top box completely switches to the normal channel access mode receiving medium, and stops acquiring data from the fast sending server. However, adding a fast-forward server to achieve fast switching of channels requires consideration of concurrency time and higher system performance requirements, thereby increasing operating costs. Summary of the invention
本发明的主要目的在于提供一种频道切换方法、 终端及系统, 旨在提 升 IPTV服务质量。  The main object of the present invention is to provide a channel switching method, terminal and system, which aim to improve the quality of IPTV service.
为了达到上述目的, 本发明提出一种频道切换方法, 所述方法包括: 播放终端在局域网内发送宣告消息获取可提供频道节目内容服务的緩 存终端列表;  In order to achieve the above object, the present invention provides a channel switching method, where the method includes: a playback terminal transmitting a announcement message in a local area network to obtain a list of cache terminals that can provide a channel program content service;
当所述播放终端收到频道切换播放命令时, 通过所述緩存终端列表中 的緩存终端进行频道切换。  When the playing terminal receives the channel switching play command, the channel switching is performed by the cache terminal in the cache terminal list.
优选地, 所述通过緩存终端列表中的緩存终端进行频道切换, 包括: 播放终端向所述緩存终端列表中一个或多个緩存终端发送获取目的频 道节目内容的请求;  Preferably, the channel switching by using the cache terminal in the cache terminal list includes: the playback terminal sending a request for acquiring the content of the destination channel program to one or more cache terminals in the cache terminal list;
接收所述緩存终端发送的以 I帧为起始的目的频道节目内容緩存; 接收所述緩存终端在其发送的目的频道节目内容緩存与频道组播媒体 同步后发送的通知消息;  Receiving, by the cache terminal, a destination channel program content cache starting with an I frame; receiving a notification message sent by the cache terminal after the destination channel program content cache sent by the cache terminal is synchronized with the channel multicast medium;
根据所述通知消息加入频道组播组, 开始接收所述频道组播组下发的 频道媒体包, 并将接收的第一个频道媒体包发送至所述緩存终端;  And adding the channel media packet delivered by the channel multicast group to the channel multicast group according to the notification message, and sending the received first channel media packet to the cache terminal;
当所述緩存终端发送的目的频道节目内容緩存与所述播放终端从所述 频道组播组接收到的频道媒体包衔接时, 从所述频道组播组获取目的频道 节目内容。  And when the destination channel program content buffer sent by the cache terminal is connected to the channel media packet received by the play terminal from the channel multicast group, the target channel program content is obtained from the channel multicast group.
优选地, 所述播放终端根据緩存终端列表中緩存终端的网络最小 Ping 值或根据接收到緩存终端响应报文的先后顺序选取相应的緩存终端。  Preferably, the playing terminal selects a corresponding cache terminal according to a network minimum ping value of the cached terminal in the cached terminal list or according to a sequence of receiving the cached terminal response message.
本发明还提出一种频道切换方法, 所述方法包括:  The invention also provides a channel switching method, the method comprising:
緩存终端在接收组播码流进行频道播放时, 对频道节目内容进行緩存; 当接收到播放终端发送的宣告消息时, 向所述播放终端返回可提供频 道节目内容服务的响应消息; The buffer terminal buffers the channel program content when receiving the multicast code stream for channel playback; Receiving a response message that can provide a channel program content service to the playback terminal when receiving the announcement message sent by the playback terminal;
当接收到所述播放终端发送的获取目的频道节目内容的请求时, 通过 单播的方式为所述播放终端进行频道切换。  When receiving the request for acquiring the content of the target channel program sent by the playing terminal, the channel switching is performed for the playing terminal by means of unicast.
优选地, 所述通过单播的方式为所述播放终端进行频道切换, 包括: 以可控的码率向所述播放终端发送以 I 帧为起始的目的频道节目内容 緩存;  Preferably, the performing channel switching for the playing terminal by means of unicasting comprises: sending, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
当所述目的频道节目内容緩存与频道组播媒体同步后, 通知所述播放 终端加入频道组播组, 并接收所述播放终端发送的来自所述频道组播组的 第一个频道媒体包;  After the content channel of the target channel is synchronized with the channel multicast media, the broadcast terminal is notified to join the channel multicast group, and the first channel media packet from the channel multicast group sent by the play terminal is received;
当发送的所述目的频道节目内容緩存与所述播放终端从所述频道组播 组接收到的频道媒体包衔接时, 停止向所述播放终端发送所述目的频道节 目内容緩存。  And when the sent content channel cache of the destination channel is connected with the channel media packet received by the play terminal from the channel multicast group, stopping sending the target channel program content cache to the play terminal.
优选地, 所述緩存终端通过发送的节目内容匹配一致或当频道节目以 Preferably, the cache terminal matches the program content by sending or when the channel program is
RTP封装时, 以 RTP头序号相同来判断所述緩存终端发送的频道节目内容 緩存与频道组播媒体同步。 In the RTP encapsulation, the RTP header number is the same to determine that the channel program content buffer sent by the cache terminal is synchronized with the channel multicast medium.
本发明还提出一种频道切换终端, 所述频道切换终端包括:  The present invention also provides a channel switching terminal, where the channel switching terminal includes:
緩存终端列表获取模块, 用于在局域网内发送宣告消息获取可提供频 道节目内容服务的緩存终端列表;  a cache terminal list obtaining module, configured to send an announcement message in the local area network to obtain a cache terminal list that can provide a channel program content service;
第一频道切换模块, 用于当所述播放终端收到频道切换播放命令时, 通过所述緩存终端列表中的緩存终端进行频道切换。  The first channel switching module is configured to perform channel switching by using the cache terminal in the cache terminal list when the play terminal receives the channel switching play command.
优选地, 所述第一频道切换模块包括:  Preferably, the first channel switching module includes:
请求单元, 用于向所述緩存终端列表中一个或多个緩存终端发送获取 目的频道节目内容的请求;  a requesting unit, configured to send, to the one or more cache terminals in the cache terminal list, a request for acquiring content of a target channel program;
緩存接收单元,用于接收所述緩存终端发送的以 I帧为起始的目的频道 节目内容緩存; a buffer receiving unit, configured to receive a destination channel that is sent by the cache terminal and starts with an I frame Program content cache;
通知消息接收单元, 用于接收所述緩存终端在其发送的目的频道节目 内容緩存与频道组播媒体同步后发送的通知消息;  a notification message receiving unit, configured to receive a notification message sent by the cache terminal after the destination channel program content cache and the channel multicast media are synchronized by the cache terminal;
媒体包接收发送单元, 用于根据所述通知消息加入频道组播组, 开始 接收所述频道组播组下发的频道媒体包, 并将接收的第一个频道媒体包发 送至所述緩存终端;  The media packet receiving and sending unit is configured to join the channel multicast group according to the notification message, start receiving the channel media packet delivered by the channel multicast group, and send the received first channel media packet to the cache terminal. ;
频道切换单元, 用于当所述緩存终端发送的目的频道节目内容緩存与 所述播放终端从所述频道组播组接收到的频道媒体包衔接时, 从所述频道 组播组获取目的频道节目内容。  a channel switching unit, configured to: when the destination channel program content buffer sent by the cache terminal is connected to the channel media packet received by the play terminal from the channel multicast group, acquire a target channel program from the channel multicast group content.
本发明还提出一种频道切换终端, 所述频道切换终端包括:  The present invention also provides a channel switching terminal, where the channel switching terminal includes:
緩存模块, 用于在接收组播码流进行频道播放时, 对频道节目内容进 行緩存;  a cache module, configured to cache channel program content when receiving a multicast stream for channel playback;
响应消息发送模块, 用于当接收到播放终端发送的宣告消息时, 向所 述播放终端返回可提供频道节目内容服务的响应消息;  a response message sending module, configured to return, to the playing terminal, a response message that can provide a channel program content service when receiving the announcement message sent by the playing terminal;
第二频道切换模块, 用于当接收到所述播放终端发送的获取目的频道 节目内容的请求时, 通过单播的方式为所述播放终端进行频道切换。  The second channel switching module is configured to perform channel switching for the playing terminal by using a unicast manner when receiving the request for acquiring the content of the target channel program sent by the playing terminal.
优选地, 所述第二频道切换模块包括:  Preferably, the second channel switching module includes:
緩存发送单元,用于以可控的码率向所述播放终端发送以 I帧为起始的 目的频道节目内容緩存;  a buffer sending unit, configured to send, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
通知发送及媒体包接收单元, 用于当所述目的频道节目内容緩存与频 道组播媒体同步后, 通知所述播放终端加入频道组播组, 并接收所述播放 终端发送的来自所述频道组播组的第一个频道媒体包;  a notification sending and media packet receiving unit, configured to notify the playing terminal to join the channel multicast group after the target channel program content cache is synchronized with the channel multicast media, and receive the channel group sent by the playing terminal The first channel media package of the broadcast group;
控制单元, 用于当发送的所述目的频道节目内容緩存与所述播放终端 从所述频道组播组接收到的频道媒体包衔接时, 停止向所述播放终端发送 所述目的频道节目内容緩存。 优选地, 所述緩存终端通过发送的节目内容匹配一致, 或当频道节目 以 RTP封装时以 RTP头序号相同来判断所述緩存终端发送的频道节目内容 緩存与频道组播媒体同步。 a control unit, configured to stop sending the target channel program content cache to the play terminal when the sent target channel program content cache is connected with the channel media package received by the play terminal from the channel multicast group . Preferably, the cached terminal matches the content of the program transmitted by the cache terminal, or when the channel program is encapsulated by the RTP, the channel program content cache sent by the cache terminal is synchronized with the channel multicast media by using the same RTP header number.
本发明还提出一种频道切换系统, 所述频道切换系统包括: 播放终端 以及緩存终端, 其中:  The present invention also provides a channel switching system, where the channel switching system includes: a playing terminal and a cache terminal, wherein:
所述播放终端, 用于在局域网内发送宣告消息获取可提供频道节目内 容服务的緩存终端列表; 当所述播放终端收到频道切换播放命令时, 通过 所述緩存终端列表中的緩存终端进行频道切换;  The play terminal is configured to send an announcement message in a local area network to obtain a cache terminal list that can provide a channel program content service; when the play terminal receives a channel switch play command, perform a channel through the cache terminal in the cached terminal list. Switch
所述緩存终端, 用于在接收组播码流进行频道播放时, 对频道节目内 容进行緩存; 当接收到播放终端发送的宣告消息时, 向所述播放终端返回 可提供频道节目内容服务的响应消息; 当接收到所述播放终端发送的获取 目的频道节目内容的请求时, 通过单播的方式为所述播放终端进行频道切 换。  The cache terminal is configured to buffer a channel program content when receiving a multicast code stream for channel playback; and return a response that provides a channel program content service to the play terminal when receiving the announcement message sent by the play terminal a message: when receiving the request for acquiring the content of the target channel program sent by the playing terminal, performing channel switching for the playing terminal by means of unicast.
优选地, 所述播放终端, 还用于在节目播放过程中检测到丟包时, 向 所述緩存终端发送丟包重传请求;  Preferably, the playing terminal is further configured to send a packet loss retransmission request to the cache terminal when detecting a packet loss during the program playing;
所述緩存终端, 还用于接收所述丟包重传请求, 根据所述重传请求向 所述播放终端重传丟包。  The cache terminal is further configured to receive the packet loss retransmission request, and retransmit the packet loss to the play terminal according to the retransmission request.
本发明提出的一种频道切换方法、终端及系统,通过基于 UPnP的简单 服务发现协议(SSDP, Simple Service Discovery Protocol ) , 发现网络中可 提供频道节目内容服务的緩存终端, 在收到频道切换的命令后, 播放终端 从提供服务的緩存终端迅速接收到频道节目码流启动播放, 从而加快频道 切换速度, 提高 IPTV服务质量。 附图说明  The channel switching method, the terminal and the system provided by the present invention, through a UPnP-based Simple Service Discovery Protocol (SSDP), discover a cache terminal that can provide a channel program content service in the network, and receive a channel switching. After the command, the playing terminal quickly receives the channel program code stream from the cache terminal providing the service to start playing, thereby speeding up the channel switching speed and improving the IPTV service quality. DRAWINGS
图 1是本发明频道切换方法一实施例流程示意图;  1 is a schematic flow chart of an embodiment of a channel switching method according to the present invention;
图 2是本发明频道切换方法一实施例中通过緩存终端列表中的緩存终 端进行频道切换的流程示意图; 2 is a schematic diagram of a cache end in a cache terminal list according to an embodiment of the channel switching method of the present invention. Schematic diagram of the process of channel switching;
图 3是本发明频道切换方法另一实施例流程示意图;  3 is a schematic flow chart of another embodiment of a channel switching method according to the present invention;
图 4是本发明频道切换方法另一实施例中通过单播的方式为播放终端 进行频道切换的流程示意图;  4 is a schematic flowchart of channel switching for a playback terminal in a unicast manner according to another embodiment of the channel switching method of the present invention;
图 5是本发明频道切换终端一实施例的组成结构示意图;  FIG. 5 is a schematic structural diagram of an embodiment of a channel switching terminal according to an embodiment of the present invention; FIG.
图 6是本发明频道切换终端一实施例中第一频道切换模块的结构示意 图;  6 is a schematic structural diagram of a first channel switching module in an embodiment of a channel switching terminal according to the present invention;
图 7是本发明频道切换终端另一实施例的组成结构示意图;  7 is a schematic structural diagram of another embodiment of a channel switching terminal according to the present invention;
图 8是本发明频道切换终端另一实施例中第二频道切换模块的结构示 意图;  8 is a schematic structural diagram of a second channel switching module in another embodiment of the channel switching terminal of the present invention;
图 9是本发明频道切换系统一实施例的组成结构示意图。 具体实施方式  FIG. 9 is a schematic structural diagram of an embodiment of a channel switching system according to the present invention. detailed description
为了使本发明的技术方案更加清楚、 明了, 下面将结合附图作进一步 评述。  In order to make the technical solutions of the present invention clearer and clearer, the following will be further reviewed in conjunction with the accompanying drawings.
本发明实施例解决方案主要是基于通用即插即用( UpnP, Universal Plug and Play ) 的 SSDP协议, 播放终端在局域网内发送宣告消息获取可提供频 道节目内容服务的緩存终端列表; 当播放终端收到频道切换播放命令时, 通过緩存终端列表中的緩存终端进行频道切换, 播放终端从提供服务的緩 存终端迅速接收到频道节目码流启动播放, 从而加快频道切换速度。  The solution of the embodiment of the present invention is mainly based on the SSDP protocol of the universal plug and play (UpnP), and the playback terminal sends an announcement message in the local area network to obtain a list of cache terminals that can provide the channel program content service; When the channel switching play command is performed, the channel switching is performed by the cache terminal in the cache terminal list, and the play terminal quickly receives the channel program code stream from the cache terminal providing the service to start playing, thereby speeding up the channel switching speed.
如图 1所示, 本发明一实施例提出一种频道切换方法, 该方法包括: 步驟 S101 , 播放终端在局域网内发送宣告消息获取可提供频道节目内 容服务的緩存终端列表;  As shown in FIG. 1 , an embodiment of the present invention provides a channel switching method, where the method includes: Step S101: A playback terminal sends an announcement message in a local area network to obtain a cache terminal list that can provide a channel program content service;
本实施例中宣告消息具体采用 UPnP SSDP宣告消息。  In this embodiment, the announcement message specifically uses the UPnP SSDP announcement message.
UPnP是针对局域网络范围内对等(peer-to-peer )互联而设计的一种应 用层技术标准, 旨在为家庭、 小型企业、 公共场所提供基于 IP技术、 易于 使用的网络服务自动发现机制。 UPnP is an application layer technology standard designed for peer-to-peer interconnection in the local area network. It is designed to provide IP-based technology for homes, small businesses, and public places. The network service auto-discovery mechanism used.
SSDP用于服务发现,控制点借此可定位其感兴趣的资源在网络中的位 置, 设备可借此告之它们的可用性。 SSDP客户 (控制点)可往本地保留的 多播地址的 SSDP端口 (239.255.255.250: 1900 )发送发现(Discovery )消 息来寻找 SSDP服务; SSDP服务(设备 )也可以同样的方式发送 SSDP指 示来宣告它的存在。  SSDP is used for service discovery, whereby the control point can locate the resources of its interest in the network, and the device can inform their availability. The SSDP client (control point) can send a Discovery message to the SSDP port (239.255.255.250: 1900) of the locally reserved multicast address to find the SSDP service; the SSDP service (device) can also send the SSDP indication in the same way to announce its existence.
当播放终端启动后, 在局域网内发送 UPnP SSDP宣告消息, 发现可以 提供频道节目内容服务的緩存终端列表, 并对该表进行维护。  After the playback terminal is started, the UPnP SSDP announcement message is sent in the local area network, and the list of cached terminals that can provide the channel program content service is found, and the table is maintained.
緩存终端在进行频道播放接收组播码流时需要进行频道节目内容緩 存, 至少緩存一个完整的 GOP, 处于组播频道播放状态 (接收的是组播节 目码流) 的緩存终端都能够提供频道节目内容服务, 都可以对播放终端发 送的宣告消息进行响应。  The buffer terminal needs to perform channel program content buffering when performing channel playing and receiving the multicast stream, and at least one complete GOP is buffered, and the buffer terminal in the multicast channel playing state (receiving the multicast program stream) can provide the channel program. The content service can respond to the announcement message sent by the playback terminal.
步驟 S102, 当播放终端收到频道切换播放命令时, 通过緩存终端列表 中的緩存终端进行频道切换。  Step S102: When the play terminal receives the channel switching play command, perform channel switching by using the cache terminal in the cache terminal list.
当播放终端收到频道切换播放命令时, 从緩存终端列表中选取一个或 者多个能够提供该频道节目内容服务的緩存终端, 请求目的频道节目内容。  When the playing terminal receives the channel switching play command, one or more cache terminals capable of providing the channel program content service are selected from the cache terminal list, and the destination channel program content is requested.
緩存终端收到播放终端发送的目的频道节目内容的请求后, 以比节目 正常速率更快的速率发送目的频道节目内容, 节目内容从 I帧开始;緩存终 端在发送的目的频道节目内容緩存与频道组播媒体同步后, 通知播放终端 加入频道组播组; 緩存终端的媒体继续发送, 速率比节目正常速率要小或 者相同; 播放终端在加入频道组播组后, 开始接收频道组播组下发的媒体 包, 并将收到的第一个发送给緩存终端; 以避免緩存终端发送多余重复的 目的频道节目内容给播放终端。  After receiving the request for the content of the destination channel program sent by the terminal, the cache terminal transmits the content of the target channel at a faster rate than the normal rate of the program, and the content of the program starts from the I frame; the content channel of the program channel and the channel of the destination channel that the cache terminal transmits After the multicast media is synchronized, the broadcast terminal is notified to join the channel multicast group; the media of the cache terminal continues to be sent, and the rate is smaller or the same as the normal rate of the program; after the channel is joined to the channel multicast group, the broadcast terminal starts to receive the channel multicast group. The media packet, and the first one received is sent to the cache terminal; to prevent the cache terminal from transmitting the redundant duplicate destination channel program content to the playback terminal.
当緩存终端发送的媒体信息与播放终端接收到的组播组媒体信息能够 衔接的时候, 停止向播放终端发送目的频道节目内容。 如图 2所示, 步驟 S102中通过緩存终端列表中的緩存终端进行频道切 换的步驟包括: When the media information sent by the cache terminal and the multicast group media information received by the playback terminal can be connected, the content of the target channel program is stopped from being sent to the playback terminal. As shown in FIG. 2, the step of performing channel switching by using the cache terminal in the cache terminal list in step S102 includes:
步驟 S1021 ,播放终端向緩存终端列表中一个或多个緩存终端发送获取 目的频道节目内容的请求;  Step S1021: The playback terminal sends a request for acquiring the content of the target channel program to one or more cache terminals in the cache terminal list.
步驟 S1022,接收緩存终端发送的以 I帧为起始的目的频道节目内容緩 存;  Step S1022: Receive, by the cache terminal, a destination channel program content cache starting with an I frame;
如果有多个緩存终端提供了目的频道节目内容, 播放终端可以以收到 第一个緩存终端响应为准, 同时通知其他终端停止发送目的频道节目緩存。  If there are multiple cache terminals providing the content of the target channel program, the playback terminal may receive the response of the first cached terminal, and notify other terminals to stop sending the program cache of the destination channel.
步驟 S1023 ,接收緩存终端在其发送的目的频道节目内容緩存与频道组 播媒体同步后发送的通知消息;  Step S1023: Receive a notification message sent by the cache terminal after the content channel cache of the destination channel that it sends is synchronized with the channel multicast media.
步驟 S1024,根据通知消息加入频道组播组,开始接收频道组播组下发 的频道媒体包, 并将接收的第一个频道媒体包发送至緩存终端;  Step S1024, adding a channel multicast group according to the notification message, starting to receive the channel media packet delivered by the channel multicast group, and sending the received first channel media packet to the cache terminal;
步驟 S1025 ,当緩存终端发送的目的频道节目内容緩存与播放终端从频 道组播组接收到的频道媒体包# "接时, 从频道组播组获取目的频道节目内 容。  Step S1025: When the content channel cache of the destination channel sent by the cache terminal is connected to the channel media packet received by the broadcast terminal from the channel multicast group, the content of the target channel program is obtained from the channel multicast group.
在本实施例中, 播放终端可以根据緩存终端列表中緩存终端的网络最 小 Ping值或根据接收到緩存终端响应报文的先后顺序选取相应的緩存终 端。  In this embodiment, the play terminal may select a corresponding cache terminal according to the network minimum ping value of the cached terminal in the cached terminal list or according to the order in which the cached terminal response message is received.
判断緩存终端在发送的目的频道节目内容緩存与频道组播媒体同步的 方式, 可以通过发送的节目内容匹配一致或当频道节目以实时传送协议 Determining the manner in which the cache terminal transmits the destination channel program content cache and the channel multicast media, and the program content may be consistently matched or the channel program may be transmitted in real time.
( RTP, Real-time Transport Protocol )封装时, RTP头序号相同来判断緩存 终端发送的频道节目内容緩存与频道组播媒体同步。 (RTP, Real-time Transport Protocol) When the RTP header number is the same, it is determined that the channel program content buffer sent by the cache terminal is synchronized with the channel multicast medium.
需要说明的是, 本实施例中緩存终端与播放终端可以是同一类型终端, 比如均为机顶盒, 也可以不为同一类终端, 比如播放终端为机顶盒, 緩存 终端为个人计算机 ( PC , Personal Computer )等。 比如, 一台机顶盒进行频道切换而进入频道播放时, 如果另外一台机 顶盒已经在播放该频道节目, 前一台机顶盒上需要的频道节目内容可以从 后一台已经在播放频道节目的机顶盒获取, 媒体数据不需要从专门的快速 发送服务器发送。 It should be noted that, in this embodiment, the cache terminal and the play terminal may be the same type of terminal, such as a set top box, or may not be the same type of terminal, for example, the play terminal is a set top box, and the cache terminal is a personal computer (PC, Personal Computer). Wait. For example, when a set-top box performs channel switching and enters channel playback, if another set-top box is already playing the channel program, the channel program content required on the previous set-top box can be obtained from the next set-top box that has already played the channel program. Media data does not need to be sent from a dedicated fast delivery server.
进一步的, 緩存终端发送目的频道节目内容緩存给播放终端的速率一 般都要比正常码率要快, 否则无法实现緩存终端发送的目的频道节目内容 緩存与频道组播组发送的媒体内容同步, 因为緩存终端一直在继续进行频 道内容接收。  Further, the rate at which the cache terminal sends the content channel program content cache to the playback terminal is generally faster than the normal code rate. Otherwise, the content channel cache of the destination channel sent by the cache terminal cannot be synchronized with the media content sent by the channel multicast group, because The cache terminal continues to receive channel content.
在实际应用中, 还可根据本实施例方法实现丟包重传功能。  In a practical application, the packet loss retransmission function can also be implemented according to the method in this embodiment.
具体地, 緩存终端可以提供丟包重传功能, 播放终端在节目播放过程 中如果检测到丟包, 则可以向緩存终端请求丟包重传。 緩存终端接收到播 放终端发送的丟包重传请求后, 根据重传请求向播放终端重传丟包。 由此 可以降低 IPTV对网络质量的依赖性, 提升了用户在丟包情况下的视频质 量。 网成本, 播放终端通过緩存终端列表中的緩存终端可以尽快的显示出视频 画面, 当快发的媒体緩存与频道组播组发送媒体信息同步后, 切换到正常 的频道组播播放状态, 缩短了频道切换时间, 提升了 IPTV服务质量, 提高 了用户满意度。  Specifically, the cache terminal may provide a packet loss retransmission function. If the play terminal detects a packet loss during the program play, the broadcast terminal may request a packet loss retransmission from the cache terminal. After receiving the packet loss retransmission request sent by the broadcast terminal, the cache terminal retransmits the packet loss to the playback terminal according to the retransmission request. This can reduce the dependence of IPTV on network quality and improve the video quality of users in the case of packet loss. The cost of the network, the playback terminal can display the video picture as soon as possible by the cache terminal in the cached terminal list. When the fast-transmitted media buffer synchronizes with the channel multicast group to send the media information, the switch to the normal channel multicast play state is shortened. Channel switching time improves IPTV service quality and improves user satisfaction.
如图 3 所示, 本发明另一实施例提出一种频道切换方法, 所述方法包 括:  As shown in FIG. 3, another embodiment of the present invention provides a channel switching method, where the method includes:
步驟 S301 , 緩存终端在接收组播码流进行频道播放时, 对频道节目内 容进行緩存;  Step S301: The buffer terminal caches the content of the channel program when receiving the multicast code stream for channel playback.
緩存终端在进行频道播放接收组播码流时需要进行频道节目内容緩 存, 至少緩存一个完整的 GOP, 处于组播频道播放状态 (接收的是组播节 目码流) 的緩存终端都能够提供频道节目内容服务, 都可以对播放终端发 送的宣告消息进行响应。 The buffer terminal needs to perform channel program content buffering when performing channel play to receive the multicast code stream, and at least caches a complete GOP, and is in a multicast channel playing state (receiving a multicast section) The cache terminal of the destination stream stream can provide the channel program content service, and all can respond to the announcement message sent by the playback terminal.
步驟 S302, 当接收到播放终端发送的宣告消息时, 向播放终端返回可 提供频道节目内容服务的响应消息;  Step S302, when receiving the announcement message sent by the playback terminal, returning a response message to the playback terminal that can provide the channel program content service;
緩存终端通过 UPnP 中简单服务发现协议监听局域网内播放终端的运 行状态, 并在播放终端发出 SSDP通知消息时给出响应, 告知播放终端可 以提供目的频道节目内容服务。  The cache terminal listens to the running status of the playing terminal in the local area network through the simple service discovery protocol in UPnP, and gives a response when the playing terminal issues an SSDP notification message, informing the playing terminal that the target channel program content service can be provided.
步驟 S303 ,当接收到播放终端发送的获取目的频道节目内容的请求时, 通过单播的方式为播放终端进行频道切换。  Step S303: When receiving the request for acquiring the content of the target channel program sent by the playing terminal, performing channel switching for the playing terminal by using a unicast manner.
緩存终端接收到播放终端的请求后, 通过单播的方式, 以可控的码率 向播放终端发送以 I 帧为起始的媒体緩存即本实施例中所称目的频道节目 内容緩存。 同时, 以宣告消息通知其他终端提供緩存服务的频道节目内容 已经变化。 在緩存终端关机时也需要向外发送消息, 通知其他终端不能再 提供服务。  After receiving the request from the playing terminal, the buffering terminal sends the media buffer starting with the I frame to the playing terminal at a controllable bit rate in a unicast manner, that is, the destination channel program content cache in the embodiment. At the same time, the content of the channel program that informs other terminals to provide the cache service by the announcement message has changed. When the cache terminal is shut down, it also needs to send a message to notify other terminals that the service cannot be provided.
当频道緩存终端发送的緩存节目内容与频道组播内容同步后, 通知频 道播放终端加入组播组; 同时, 频道緩存终端以频道节目内容同步或者更 慢的速率继续发送频道节目内容緩存。  After the content of the cached program sent by the channel buffering terminal is synchronized with the channel multicast content, the channel playing terminal is notified to join the multicast group; meanwhile, the channel buffering terminal continues to send the channel program content buffer at a synchronous or slower rate of the channel program content.
频道緩存终端发送的緩存节目内容与频道组播内容同步可以通过发送 的节目内容匹配来判断, 也可以通过 RTP头序号等来判断, 当节目内容一 致, 或者 RTP序号相同时, 则认为两者已经同步。  The content of the cached program sent by the channel buffer terminal and the channel multicast content can be determined by matching the content of the transmitted program, or can be judged by the RTP header number, etc., when the program content is consistent, or the RTP serial number is the same, then the two are considered Synchronize.
例如, 假设节目正常码率恒定为 2M bps, 緩存终端快发时码率为 2.2M bps, 比正常码率大 1/10。 在收到播放终端的快发请求时, 緩存终端緩存了 0.5s的数据, 通过计算, 应该在 5s后緩存终端发送的目的频道节目内容与 组播组发送的频道节目内容可以同步, 緩存终端发送给播放终端的节目内 容应是频道緩存终端新收到的组播组频道节目内容。 此时, 緩存终端通知 频道播放终端可以加入组播组, 同时仍然需要继续发送频道节目内容。 这 时緩存终端发送的码率显然最大即为 2M, 也可以小于 2M。 For example, assuming that the normal code rate of the program is constant at 2 M bps, the code rate of the cache terminal is 2.2 M bps, which is 1/10 larger than the normal code rate. When receiving the fast request from the playback terminal, the cache terminal buffers the data of 0.5s. By calculation, the content of the target channel program that should be sent by the cache terminal after 5s can be synchronized with the content of the channel program sent by the multicast group, and the cache terminal sends the content. The program content to the playback terminal should be the content of the multicast group channel program newly received by the channel buffer terminal. At this point, the cache terminal notification The channel playing terminal can join the multicast group and still need to continue to send the channel program content. At this time, the code rate sent by the cache terminal is obviously 2M, and may be less than 2M.
当播放终端加入组播组后, 接收频道组播组发送的媒体内容; 播放终 端收到第一个频道媒体包时, 立即将该媒体包发送给緩存终端。 緩存终端 收到播放终端发送的媒体包信息后, 继续发送目的频道节目内容緩存, 直 到发送的目的频道节目内容緩存与播放终端收到的媒体包能够衔接为止。  After the playing terminal joins the multicast group, the media content sent by the channel multicast group is received; when the playing terminal receives the first channel media packet, the media packet is immediately sent to the cache terminal. After receiving the media packet information sent by the playing terminal, the cache terminal continues to send the content channel content cache of the destination channel until the content channel buffer of the transmitted destination channel and the media packet received by the playing terminal can be connected.
当频道节目以 RTP封装时, 播放终端收到的第一个频道媒体包, 可以 指收到的第一个组播 RTP包的序号, 也可以是用来标识媒体节目负载的其 他信息。  When the channel program is encapsulated by RTP, the first channel media packet received by the playback terminal may refer to the sequence number of the first multicast RTP packet received, or other information used to identify the load of the media program.
例如, 播放终端加入组播组后, 播放终端收到的第一个 RTP包序号为 100, 緩存终端收到这个消息后, 发送的频道节目内容的最后一个包的 RTP 序号可以是 99, 这样播放终端从緩存终端收到的节目内容和从组播组收到 的节目内容则可以衔接起来。 当然, 緩存终端发送的最后一个包序号也可 以是 100。 其基本原则是至少保证两个部分的内容能够衔接, 又要尽量减少 两个部分媒体节目内容重复的部分。  For example, after the play terminal joins the multicast group, the first RTP packet sequence number received by the play terminal is 100. After the cache terminal receives the message, the RTP sequence number of the last packet of the sent channel program content may be 99, so that the play The content of the program received by the terminal from the cache terminal and the content of the program received from the multicast group can be connected. Of course, the last packet sequence number sent by the cache terminal can also be 100. The basic principle is to ensure that at least the content of the two parts can be connected, and to minimize the duplication of the content of the two parts of the media program.
当播放终端收到的目的频道节目緩存与组播组数据能够衔接后, 则进 入到完全组播模式的播放。  When the destination channel program buffer received by the playback terminal and the multicast group data can be connected, the playback to the full multicast mode is performed.
如图 4所示, 步驟 S303中通过单播的方式为播放终端进行频道切换的 步驟包括:  As shown in FIG. 4, the step of performing channel switching for the play terminal by means of unicast in step S303 includes:
步驟 S3031 , 以可控的码率向播放终端发送以 I帧为起始的目的频道节 目内容緩存;  Step S3031: Send, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
步驟 S3032, 当目的频道节目内容緩存与频道组播媒体同步后,通知播 放终端加入频道组播组, 并接收播放终端发送的来自频道组播组的第一个 频道媒体包;  Step S3032: After the destination channel program content cache is synchronized with the channel multicast media, notify the broadcast terminal to join the channel multicast group, and receive the first channel media package from the channel multicast group sent by the play terminal;
步驟 S3033 ,当发送的目的频道节目内容緩存与播放终端从频道组播组 接收到的频道媒体包衔接时, 停止向播放终端发送目的频道节目内容緩存。 本实施例播放终端通过获取提供目的频道节目内容服务的緩存终端列 表, 并从列表中的緩存终端获取所需节目内容播放给用户用以完成频道切 换, 缩短了频道切换时间。 同时, 由于播放终端在收到组播组发送的媒体 包后, 立即将该包信息发送给了緩存终端, 使緩存终端不会向播放终端发 送多余的媒体包, 不会造成网络资源浪费便能实现媒体接收方式的无缝切 换。 Step S3033, when the destination channel program content is buffered and the playback terminal is from the channel multicast group. When the received channel media package is connected, the transmission of the destination channel program content cache to the playback terminal is stopped. In this embodiment, the playback terminal obtains the cache terminal list that provides the destination channel program content service, and obtains the desired program content from the cache terminal in the list to play to the user to complete the channel switching, thereby shortening the channel switching time. At the same time, after receiving the media packet sent by the multicast group, the playback terminal immediately sends the packet information to the cache terminal, so that the cache terminal does not send the excess media packet to the playback terminal, and the network resource is not wasted. Seamless switching of media reception methods.
如图 5 所示, 本发明一实施例提出一种频道切换终端, 包括: 緩存终 端列表获取模块 501、 第一频道切换模块 502, 其中:  As shown in FIG. 5, an embodiment of the present invention provides a channel switching terminal, including: a cache terminal list obtaining module 501, and a first channel switching module 502, where:
緩存终端列表获耳 4莫块 501 ,用于在局域网内发送宣告消息获取可提供 频道节目内容服务的緩存终端列表;  The cached terminal list is 501, configured to send an announcement message in the local area network to obtain a list of cached terminals that can provide the channel program content service;
本实施例中宣告消息具体采用 UPnP SSDP宣告消息。  In this embodiment, the announcement message specifically uses the UPnP SSDP announcement message.
UPnP是针对局域网络范围内对等(peer-to-peer )互联而设计的一种应 用层技术标准, 旨在为家庭、 小型企业、 公共场所提供基于 IP技术、 易于 使用的网络服务自动发现机制。  UPnP is an application layer technology standard designed for peer-to-peer interconnection in the local area network. It is designed to provide IP-based, easy-to-use automatic discovery mechanism for network services for homes, small businesses, and public places. .
简单服务发现协议 ( SSDP, Simple Service Discovery Protocol )用于服 务发现, 控制点借此可定位其感兴趣的资源在网络中的位置, 设备可借此 告之它们的可用性。 SSDP客户(控制点)可往本地保留的多播地址的 SSDP 端口 (239.255.255.250: 1900 )发送发现(Discovery )消息来寻找 SSDP服 务; SSDP服务(设备 )也可以同样的方式发送 SSDP指示来宣告它的存在。  The Simple Service Discovery Protocol (SSDP) is used for service discovery, whereby the control point can locate the resources of its interest in the network, and the device can inform their availability. The SSDP client (control point) can send a Discovery message to the SSDP port (239.255.255.250: 1900) of the locally reserved multicast address to find the SSDP service; the SSDP service (device) can also send the SSDP indication in the same way to announce its existence.
播放终端启动后, 緩存终端列表获耳 4莫块 501 在局域网内发送 UPnP SSDP宣告消息, 发现可以提供频道节目内容服务的緩存终端列表, 并对该 表进行维护。  After the playback terminal is started, the cached terminal list is sent to the UPnP SSDP announcement message in the local area network, and the list of cached terminals that can provide the channel program content service is found, and the table is maintained.
緩存终端在进行频道播放接收组播码流时需要进行频道节目内容緩 存, 至少緩存一个完整的 GOP, 处于组播频道播放状态 (接收的是组播节 目码流) 的緩存终端都能够提供频道节目内容服务, 都可以对播放终端发 送的宣告消息进行响应。 The buffer terminal needs to perform channel program content buffering when performing channel play to receive the multicast code stream, and at least caches a complete GOP, and is in a multicast channel playing state (receiving a multicast section) The cache terminal of the destination stream stream can provide the channel program content service, and all can respond to the announcement message sent by the playback terminal.
第一频道切换模块 502, 用于当播放终端收到频道切换播放命令时,通 过緩存终端列表中的緩存终端进行频道切换。  The first channel switching module 502 is configured to perform channel switching by buffering the buffer terminal in the terminal list when the playing terminal receives the channel switching play command.
当播放终端收到频道切换播放命令时, 第一频道切换模块 502从緩存 终端列表中选取一个或者多个能够提供该频道节目内容服务的緩存终端, 请求目的频道节目内容。  When the playing terminal receives the channel switching play command, the first channel switching module 502 selects one or more cache terminals capable of providing the channel program content service from the cache terminal list, and requests the destination channel program content.
緩存终端收到播放终端发送的目的频道节目内容的请求后, 以比节目 正常速率更快的速率发送目的频道节目内容, 节目内容从 I帧开始;緩存终 端在发送的目的频道节目内容緩存与频道组播媒体同步后, 通知播放终端 加入频道组播组; 緩存终端的媒体继续发送, 速率比节目正常速率要小或 者相同; 播放终端在加入频道组播组后, 开始接收频道组播组下发的媒体 包, 并将收到的第一个发送给緩存终端; 以避免緩存终端发送多余重复的 目的频道节目内容给播放终端。  After receiving the request for the content of the destination channel program sent by the terminal, the cache terminal transmits the content of the target channel at a faster rate than the normal rate of the program, and the content of the program starts from the I frame; the content channel of the program channel and the channel of the destination channel that the cache terminal transmits After the multicast media is synchronized, the broadcast terminal is notified to join the channel multicast group; the media of the cache terminal continues to be sent, and the rate is smaller or the same as the normal rate of the program; after the channel is joined to the channel multicast group, the broadcast terminal starts to receive the channel multicast group. The media packet, and the first one received is sent to the cache terminal; to prevent the cache terminal from transmitting the redundant duplicate destination channel program content to the playback terminal.
当緩存终端发送的媒体信息与播放终端接收到的组播组媒体信息能够 衔接的时候, 停止向播放终端发送目的频道节目内容。  When the media information sent by the cache terminal and the multicast group media information received by the playback terminal can be connected, the content of the target channel program is stopped from being sent to the playback terminal.
如图 6所示, 第一频道切换模块 502包括: 请求单元 5021、 緩存接收 单元 5022、 通知消息接收单元 5023、 媒体包接收发送单元 5024 以及频道 切换单元 5025 , 其中:  As shown in FIG. 6, the first channel switching module 502 includes: a requesting unit 5021, a buffer receiving unit 5022, a notification message receiving unit 5023, a media packet receiving and transmitting unit 5024, and a channel switching unit 5025, where:
请求单元 5021 , 用于向緩存终端列表中一个或多个緩存终端发送获取 目的频道节目内容的请求;  The requesting unit 5021 is configured to send, to the one or more cache terminals in the cached terminal list, a request for acquiring the content of the target channel program;
緩存接收单元 5022, 用于接收緩存终端发送的以 I帧为起始的目的频 道节目内容緩存;  The buffer receiving unit 5022 is configured to receive a destination channel program content cache that is sent by the cache terminal and starts with an I frame.
通知消息接收单元 5023 , 用于接收緩存终端在其发送的目的频道节目 内容緩存与频道组播媒体同步后发送的通知消息; 媒体包接收发送单元 5024 , 用于根据所述通知消息加入频道组播组, 开始接收所述频道组播组下发的频道媒体包, 并将接收的第一个频道媒体 包发送至所述緩存终端; The notification message receiving unit 5023 is configured to receive a notification message that is sent by the cache terminal after the destination channel program content cache and the channel multicast media are synchronized by the cache terminal; The media packet receiving and sending unit 5024 is configured to join the channel multicast group according to the notification message, start receiving the channel media packet delivered by the channel multicast group, and send the received first channel media packet to the cache. terminal;
频道切换单元 5025 , 用于当緩存终端发送的目的频道节目内容緩存与 播放终端从频道组播组接收到的频道媒体包衔接时, 从频道组播组获取目 的频道节目内容。  The channel switching unit 5025 is configured to obtain the target channel program content from the channel multicast group when the destination channel program content buffer sent by the buffer terminal is connected to the channel media packet received by the playing terminal from the channel multicast group.
如图 7所示, 本发明另一实施例提出一种频道切换终端, 包括: 緩存 模块 701、 响应消息发送模块 702以及第二频道切换模块 703 , 其中:  As shown in FIG. 7, another embodiment of the present invention provides a channel switching terminal, including: a cache module 701, a response message sending module 702, and a second channel switching module 703, where:
緩存模块 701 , 用于在接收组播码流进行频道播放时,对频道节目内容 进行緩存;  The cache module 701 is configured to cache the channel program content when receiving the multicast code stream for channel playback;
緩存终端在进行频道播放接收组播码流时需要通过緩存模块 701 进行 频道节目内容緩存,至少緩存一个完整的 GOP,处于组播频道播放状态(接 收的是组播节目码流) 的緩存终端都能够提供频道节目内容服务, 都可以 对播放终端发送的宣告消息进行响应。  The cache terminal needs to cache the channel program content through the cache module 701 when performing channel play to receive the multicast code stream, and at least cache a complete GOP, and the cache terminal in the multicast channel play state (receiving the multicast program code stream) The channel program content service can be provided, and all the announcement messages sent by the playing terminal can be responded to.
响应消息发送模块 702, 用于当接收到播放终端发送的宣告消息时, 向 播放终端返回可提供频道节目内容服务的响应消息;  The response message sending module 702 is configured to: when receiving the announcement message sent by the playing terminal, return a response message that can provide the channel program content service to the playing terminal;
緩存终端响应消息发送模块 702通过 UPnP中简单服务发现协议监听局 域网内播放终端的运行状态, 并在播放终端发出 SSDP通知消息时给出响 应, 告知播放终端可以提供目的频道节目内容服务。  The buffer terminal response message sending module 702 listens to the running status of the playing terminal in the local area network through the simple service discovery protocol in the UPnP, and gives a response when the playing terminal issues the SSDP notification message, and informs the playing terminal that the target channel program content service can be provided.
第二频道切换模块 703 ,用于当接收到播放终端发送的获取目的频道节 目内容的请求时, 通过单播的方式为播放终端进行频道切换。  The second channel switching module 703 is configured to perform channel switching for the playing terminal by using a unicast manner when receiving a request for acquiring the content of the target channel program sent by the playing terminal.
緩存终端接收到播放终端的请求后, 第二频道切换模块 703通过单播 的方式,以可控的码率的向播放终端发送以 I帧为起始的媒体緩存即本实施 例中所称目的频道节目内容緩存。 同时, 以宣告消息通知其他终端提供緩 存服务的频道节目内容已经变化。 在緩存终端关机时也需要向外发送消息, 通知其他终端不能再提供服务。 After the buffering terminal receives the request of the playing terminal, the second channel switching module 703 sends the media buffer starting from the I frame to the playing terminal at a controllable bit rate in a unicast manner, that is, the purpose as described in this embodiment. Channel program content cache. At the same time, the content of the channel program that informs other terminals to provide the cache service by the announcement message has changed. The message needs to be sent out when the cache terminal is shut down. Notify other terminals that the service is no longer available.
当频道緩存终端发送的緩存节目内容与频道组播内容同步后, 通知频 道播放终端加入组播组; 同时, 频道緩存终端以频道节目内容同步或者更 慢的速率继续发送频道节目内容緩存。  After the content of the cached program sent by the channel buffering terminal is synchronized with the channel multicast content, the channel playing terminal is notified to join the multicast group; meanwhile, the channel buffering terminal continues to send the channel program content buffer at a synchronous or slower rate of the channel program content.
频道緩存终端发送的緩存节目内容与频道组播内容同步可以通过发送 的节目内容匹配来判断, 也可以通过 RTP头序号等来判断, 当节目内容一 致, 或者 RTP序号相同时, 则认为两者已经同步。  The content of the cached program sent by the channel buffer terminal and the channel multicast content can be determined by matching the content of the transmitted program, or can be judged by the RTP header number, etc., when the program content is consistent, or the RTP serial number is the same, then the two are considered Synchronize.
例如, 假设节目正常码率恒定为 2M bps, 緩存终端快发时码率为 2.2M bps, 比正常码率大 1/10。 在收到播放终端的快发请求时, 緩存终端緩存了 0.5s的数据, 通过计算, 应该在 5s后緩存终端发送的目的频道节目内容与 组播组发送的频道节目内容可以同步, 緩存终端发送给播放终端的节目内 容应是频道緩存终端新收到的组播组频道节目内容。 此时, 緩存终端通知 频道播放终端可以加入组播组, 同时仍然需要继续发送频道节目内容。 这 时緩存终端发送的码率显然最大即为 2M, 也可以小于 2M。  For example, suppose the normal code rate of the program is constant at 2M bps, and the code rate of the cache terminal is 2.2M bps, which is 1/10 larger than the normal code rate. When receiving the fast request from the playback terminal, the cache terminal buffers the data of 0.5s. By calculation, the content of the target channel program that should be sent by the cache terminal after 5s can be synchronized with the content of the channel program sent by the multicast group, and the cache terminal sends the content. The program content to the playback terminal should be the content of the multicast group channel program newly received by the channel buffer terminal. At this time, the cache terminal notifies the channel playing terminal that it can join the multicast group, and still needs to continue to send the channel program content. At this time, the code rate sent by the cache terminal is obviously 2M, which is also less than 2M.
当播放终端加入组播组后, 接收频道组播组发送的媒体内容; 播放终 端收到第一个频道媒体包时, 立即将该媒体包发送给緩存终端。 緩存终端 收到播放终端发送的媒体包信息后, 继续发送目的频道节目内容緩存, 直 到发送的目的频道节目内容緩存与播放终端收到的媒体包能够衔接为止。  After the playing terminal joins the multicast group, the media content sent by the channel multicast group is received; when the playing terminal receives the first channel media packet, the media packet is immediately sent to the cache terminal. After receiving the media packet information sent by the playing terminal, the cache terminal continues to send the content channel content cache of the destination channel until the content channel buffer of the transmitted destination channel and the media packet received by the playing terminal can be connected.
当频道节目以 RTP封装时, 播放终端收到的第一个频道媒体包, 可以 指收到的第一个组播 RTP包的序号, 也可以是用来标识媒体节目负载的其 他信息。  When the channel program is encapsulated by RTP, the first channel media packet received by the playback terminal may refer to the sequence number of the first multicast RTP packet received, or other information used to identify the load of the media program.
例如, 播放终端加入组播组后, 播放终端收到的第一个 RTP包序号为 100, 緩存终端收到这个消息后, 发送的频道节目内容的最后一个包的 RTP 序号可以是 99, 这样播放终端从緩存终端收到的节目内容和从组播组收到 的节目内容则可以衔接起来。 当然, 緩存终端发送的最后一个包序号也可 以是 100。 其基本原则是至少要能保证两个部分的内容能够衔接, 又要尽量 减少两个部分媒体节目内容重复的部分。 For example, after the play terminal joins the multicast group, the first RTP packet sequence number received by the play terminal is 100. After the cache terminal receives the message, the RTP sequence number of the last packet of the sent channel program content may be 99, so that the play The content of the program received by the terminal from the cache terminal and the content of the program received from the multicast group can be connected. Of course, the last packet number sent by the cache terminal can also be So it is 100. The basic principle is to at least ensure that the content of the two parts can be connected, and to minimize the duplication of the content of the two parts of the media program.
当播放终端收到的目的频道节目緩存与组播组数据能够衔接后, 则进 入到完全组播模式的播放。  When the destination channel program buffer received by the playback terminal and the multicast group data can be connected, the playback to the full multicast mode is performed.
如图 8所示, 第二频道切换模块 703包括: 緩存发送单元 7031、 通知 发送及媒体包接收单元 7032以及控制单元 7033 , 其中:  As shown in FIG. 8, the second channel switching module 703 includes: a buffer sending unit 7031, a notification sending and media packet receiving unit 7032, and a control unit 7033, where:
緩存发送单元 7031 , 用于以可控的码率向播放终端发送以 I帧为起始 的目的频道节目内容緩存;  a buffer sending unit 7031, configured to send, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
通知发送及媒体包接收单元 7032, 用于当目的频道节目内容緩存与频 道组播媒体同步后, 通知播放终端加入频道组播组, 并接收播放终端发送 的来自频道组播组的第一个频道媒体包;  The notification sending and media packet receiving unit 7032 is configured to notify the playing terminal to join the channel multicast group after the destination channel program content buffer is synchronized with the channel multicast medium, and receive the first channel from the channel multicast group sent by the playing terminal. Media package
控制单元 7033 , 用于当发送的目的频道节目内容緩存与播放终端从频 道组播组接收到的频道媒体包衔接时, 停止向播放终端发送目的频道节目 内容緩存。  The control unit 7033 is configured to stop sending the target channel program content cache to the playing terminal when the transmitted destination channel program content buffer is connected to the channel media packet received by the playing terminal from the channel multicast group.
如图 9所示, 本发明一实施例提出一种频道切换系统, 包括: 播放终 端 901以及緩存终端 902, 其中:  As shown in FIG. 9, an embodiment of the present invention provides a channel switching system, including: a playback terminal 901 and a cache terminal 902, where:
播放终端 901 ,用于在局域网内发送宣告消息获取可提供频道节目内容 服务的緩存终端列表; 当播放终端 901 收到频道切换播放命令时, 通过緩 存终端列表中的緩存终端 902进行频道切换;  The play terminal 901 is configured to send a announcement message in the local area network to obtain a cache terminal list that can provide a channel program content service; when the play terminal 901 receives the channel switch play command, perform channel switching by using the cache terminal 902 in the cache terminal list;
緩存终端 902, 用于在接收组播码流进行频道播放时,对频道节目内容 进行緩存; 当接收到播放终端 901发送的宣告消息时, 向播放终端 901返 回可提供频道节目内容服务的响应消息; 当接收到播放终端 901 发送的获 取目的频道节目内容的请求时, 通过单播的方式为播放终端 901 进行频道 切换。  The buffer terminal 902 is configured to buffer the channel program content when receiving the multicast code stream for channel play, and return a response message for providing the channel program content service to the play terminal 901 when receiving the announcement message sent by the play terminal 901. When receiving the request for acquiring the content of the destination channel program sent by the playback terminal 901, the channel switching is performed for the playback terminal 901 by means of unicast.
进一步的, 播放终端 901 , 还用于在节目播放过程中检测到丟包时, 向 緩存终端 902发送丟包重传请求; Further, the playing terminal 901 is further configured to detect, when the packet is lost during the program playing, to The cache terminal 902 sends a packet loss retransmission request;
緩存终端 902, 还用于接收丟包重传请求, 根据重传请求向播放终端 901重传丟包。  The cache terminal 902 is further configured to receive a packet loss retransmission request, and retransmit the lost packet to the play terminal 901 according to the retransmission request.
具体地, 緩存终端 902可以提供丟包重传功能, 播放终端 901在节目 播放过程中如果检测到丟包, 则可以向緩存终端 902请求丟包重传。 緩存 终端 902接收到播放终端 901发送的丟包重传请求后, 根据重传请求向播 放终端 901重传丟包。 由此可以降低 IPTV对网络质量的依赖性,提升了用 户在丟包情况下的视频质量。  Specifically, the cache terminal 902 can provide a packet loss retransmission function, and if the play terminal 901 detects a packet loss during the program play, the buffer terminal 902 can request a packet loss retransmission. After receiving the packet loss retransmission request sent by the play terminal 901, the cache terminal 902 retransmits the lost packet to the play terminal 901 according to the retransmission request. This can reduce the dependence of IPTV on network quality and improve the video quality of users in the case of packet loss.
相比现有技术中增加一台快发服务器实现快速切换频道的方法, 需要 考虑到并发时间, 对系统性能要求较高而造成运营成本增加, 本实施例基 于 UPnP的 SSDP协议,播放终端在局域网内发送宣告消息获取可提供频道 节目内容服务的緩存终端列表; 当播放终端收到频道切换播放命令时, 通 过緩存终端列表中的緩存终端进行频道切换, 播放终端从提供服务的緩存 终端迅速接收到频道节目码流启动播放, 从而加快频道切换速度, 提升了 用户体验质量。 同时, 本发明实施例緩存终端可以提供丟包重传功能, 播 放终端在节目播放过程中如果检测到丟包时, 通过向緩存终端请求实现丟 包重传, 由此可以降低 IPTV对网络质量的依赖性, 提升了用户在丟包情况 下的视频质量。  Compared with the prior art method of adding a fast-speed server to implement fast switching of channels, it is necessary to consider the concurrency time, and the system performance is high, which causes an increase in operating costs. In this embodiment, the UPDP-based SSDP protocol is used, and the playback terminal is in the local area network. Sending an announcement message to obtain a cache terminal list that can provide a channel program content service; when the playback terminal receives the channel switching play command, performing channel switching by buffering the cache terminal in the terminal list, the play terminal quickly receives the cached terminal from the service providing terminal The channel program stream starts playing, which speeds up the channel switching speed and improves the user experience quality. In the embodiment of the present invention, the cache terminal can provide the packet loss retransmission function. When the broadcast terminal detects the packet loss during the program play, the playback terminal can request the cache terminal to implement the packet loss retransmission, thereby reducing the network quality of the IPTV. Dependency improves the video quality of users in the case of packet loss.
以上所述仅为本发明的优选实施例, 并非因此限制本发明的专利范围 , 凡是利用本发明说明书及附图内容所作的等效结构或流程变换, 或直接或 间接运用在其它相关的技术领域, 均同理包括在本发明的专利保护范围内。  The above is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention, and equivalent structural or process changes made by the present specification and drawings may be directly or indirectly applied to other related technical fields. The same is included in the scope of patent protection of the present invention.

Claims

权利要求书 Claim
1、 一种频道切换方法, 其特征在于, 所述方法包括:  A channel switching method, the method comprising:
播放终端在局域网内发送宣告消息获取可提供频道节目内容服务的緩 存终端列表;  The playback terminal sends an announcement message in the local area network to obtain a list of cache terminals that can provide channel program content services;
当所述播放终端收到频道切换播放命令时, 通过所述緩存终端列表中 的緩存终端进行频道切换。  When the playing terminal receives the channel switching play command, the channel switching is performed by the cache terminal in the cache terminal list.
2、 根据权利要求 1所述的方法, 其特征在于, 所述通过緩存终端列表 中的緩存终端进行频道切换, 包括:  The method according to claim 1, wherein the performing channel switching by using the cache terminal in the cache terminal list comprises:
播放终端向所述緩存终端列表中一个或多个緩存终端发送获取目的频 道节目内容的请求;  The playback terminal sends a request for acquiring the content of the destination channel program to one or more cache terminals in the cache terminal list;
接收所述緩存终端发送的以 I帧为起始的目的频道节目内容緩存; 接收所述緩存终端在其发送的目的频道节目内容緩存与频道组播媒体 同步后发送的通知消息;  Receiving, by the cache terminal, a destination channel program content cache starting with an I frame; receiving a notification message sent by the cache terminal after the destination channel program content cache sent by the cache terminal is synchronized with the channel multicast medium;
根据所述通知消息加入频道组播组, 开始接收所述频道组播组下发的 频道媒体包, 并将接收的第一个频道媒体包发送至所述緩存终端;  And adding the channel media packet delivered by the channel multicast group to the channel multicast group according to the notification message, and sending the received first channel media packet to the cache terminal;
当所述緩存终端发送的目的频道节目内容緩存与所述播放终端从所述 频道组播组接收到的频道媒体包衔接时, 从所述频道组播组获取目的频道 节目内容。  And when the destination channel program content buffer sent by the cache terminal is connected to the channel media packet received by the play terminal from the channel multicast group, the target channel program content is obtained from the channel multicast group.
3、 根据权利要求 2所述的方法, 其特征在于, 所述播放终端根据緩存 终端列表中緩存终端的网络最 '』、 Ping值或根据接收到緩存终端响应报文的 先后顺序选取相应的緩存终端。  The method according to claim 2, wherein the playing terminal selects a corresponding cache according to a network of the cached terminal in the cached terminal list, a ping value, or a sequence of receiving a response message of the cached terminal. terminal.
4、 一种频道切换方法, 其特征在于, 所述方法包括:  A channel switching method, characterized in that the method comprises:
緩存终端在接收组播码流进行频道播放时, 对频道节目内容进行緩存; 当接收到播放终端发送的宣告消息时, 向所述播放终端返回可提供频 道节目内容服务的响应消息; 当接收到所述播放终端发送的获取目的频道节目内容的请求时, 通过 单播的方式为所述播放终端进行频道切换。 The buffering terminal buffers the channel program content when receiving the multicast code stream for channel playback; and when receiving the announcement message sent by the playback terminal, returns a response message to the playback terminal that can provide the channel program content service; When receiving the request for acquiring the content of the target channel program sent by the playing terminal, the channel switching is performed for the playing terminal by means of unicast.
5、 根据权利要求 4所述的方法, 其特征在于, 所述通过单播的方式为 所述播放终端进行频道切换, 包括:  The method according to claim 4, wherein the performing channel switching for the playing terminal by means of unicasting comprises:
以可控的码率向所述播放终端发送以 I 帧为起始的目的频道节目内容 緩存;  Sending, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
当所述目的频道节目内容緩存与频道组播媒体同步后, 通知所述播放 终端加入频道组播组, 并接收所述播放终端发送的来自所述频道组播组的 第一个频道媒体包;  After the content channel of the target channel is synchronized with the channel multicast media, the broadcast terminal is notified to join the channel multicast group, and the first channel media packet from the channel multicast group sent by the play terminal is received;
当发送的所述目的频道节目内容緩存与所述播放终端从所述频道组播 组接收到的频道媒体包衔接时, 停止向所述播放终端发送所述目的频道节 目内容緩存。  And when the sent content channel cache of the destination channel is connected with the channel media packet received by the play terminal from the channel multicast group, stopping sending the target channel program content cache to the play terminal.
6、 根据权利要求 5所述的方法, 其特征在于, 所述緩存终端通过发送 的节目内容匹配一致或当频道节目以实时传送协议 RTP封装时,以 RTP头 序号相同来判断所述緩存终端发送的频道节目内容緩存与频道组播媒体同 步。  The method according to claim 5, wherein the buffering terminal determines that the program content is consistently transmitted or when the channel program is encapsulated by the real-time transport protocol RTP, and the cache terminal is sent by using the same RTP header number. The channel program content cache is synchronized with the channel multicast media.
7、 一种频道切换终端, 其特征在于, 所述频道切换终端包括: 緩存终端列表获取模块, 用于在局域网内发送宣告消息获取可提供频 道节目内容服务的緩存终端列表;  A channel switching terminal, wherein the channel switching terminal comprises: a cache terminal list obtaining module, configured to send an announcement message in a local area network to obtain a cache terminal list that can provide a channel program content service;
第一频道切换模块, 用于当所述播放终端收到频道切换播放命令时, 通过所述緩存终端列表中的緩存终端进行频道切换。  The first channel switching module is configured to perform channel switching by using the cache terminal in the cache terminal list when the play terminal receives the channel switching play command.
8、 根据权利要求 7所述的终端, 其特征在于, 所述第一频道切换模块 包括:  The terminal according to claim 7, wherein the first channel switching module comprises:
请求单元, 用于向所述緩存终端列表中一个或多个緩存终端发送获取 目的频道节目内容的请求; 緩存接收单元,用于接收所述緩存终端发送的以 I帧为起始的目的频道 节目内容緩存; a requesting unit, configured to send, to the one or more cache terminals in the cached terminal list, a request for acquiring content of a destination channel program; a buffer receiving unit, configured to receive a destination channel program content cache that is sent by the cache terminal and starts with an I frame;
通知消息接收单元, 用于接收所述緩存终端在其发送的目的频道节目 内容緩存与频道组播媒体同步后发送的通知消息;  a notification message receiving unit, configured to receive a notification message sent by the cache terminal after the destination channel program content cache and the channel multicast media are synchronized by the cache terminal;
媒体包接收发送单元, 用于根据所述通知消息加入频道组播组, 开始 接收所述频道组播组下发的频道媒体包, 并将接收的第一个频道媒体包发 送至所述緩存终端;  The media packet receiving and sending unit is configured to join the channel multicast group according to the notification message, start receiving the channel media packet delivered by the channel multicast group, and send the received first channel media packet to the cache terminal. ;
频道切换单元, 用于当所述緩存终端发送的目的频道节目内容緩存与 所述播放终端从所述频道组播组接收到的频道媒体包衔接时, 从所述频道 组播组获取目的频道节目内容。  a channel switching unit, configured to: when the destination channel program content buffer sent by the cache terminal is connected to the channel media packet received by the play terminal from the channel multicast group, acquire a target channel program from the channel multicast group content.
9、 一种频道切换终端, 其特征在于, 所述频道切换终端包括: 緩存模块, 用于在接收组播码流进行频道播放时, 对频道节目内容进 行緩存;  A channel switching terminal, the channel switching terminal includes: a buffering module, configured to cache a channel program content when receiving a multicast code stream for channel playback;
响应消息发送模块, 用于当接收到播放终端发送的宣告消息时, 向所 述播放终端返回可提供频道节目内容服务的响应消息;  a response message sending module, configured to return, to the playing terminal, a response message that can provide a channel program content service when receiving the announcement message sent by the playing terminal;
第二频道切换模块, 用于当接收到所述播放终端发送的获取目的频道 节目内容的请求时, 通过单播的方式为所述播放终端进行频道切换。  The second channel switching module is configured to perform channel switching for the playing terminal by using a unicast manner when receiving the request for acquiring the content of the target channel program sent by the playing terminal.
10、 根据权利要求 9所述的终端, 其特征在于, 所述第二频道切换模 块包括:  The terminal according to claim 9, wherein the second channel switching module comprises:
緩存发送单元,用于以可控的码率向所述播放终端发送以 I帧为起始的 目的频道节目内容緩存;  a buffer sending unit, configured to send, to the playing terminal, a destination channel program content cache starting with an I frame at a controllable code rate;
通知发送及媒体包接收单元, 用于当所述目的频道节目内容緩存与频 道组播媒体同步后, 通知所述播放终端加入频道组播组, 并接收所述播放 终端发送的来自所述频道组播组的第一个频道媒体包;  a notification sending and media packet receiving unit, configured to notify the playing terminal to join the channel multicast group after the target channel program content cache is synchronized with the channel multicast media, and receive the channel group sent by the playing terminal The first channel media package of the broadcast group;
控制单元, 用于当发送的所述目的频道节目内容緩存与所述播放终端 从所述频道组播组接收到的频道媒体包衔接时, 停止向所述播放终端发送 所述目的频道节目内容緩存。 a control unit, configured to cache, when the destination channel program content is sent, and the playing terminal When the channel media packet received from the channel multicast group is connected, the transmission of the destination channel program content cache to the playback terminal is stopped.
11、 根据权利要求 9或 10所述的终端, 其特征在于, 所述緩存终端通 过发送的节目内容匹配一致,或当频道节目以 RTP封装时以 RTP头序号相 同来判断所述緩存终端发送的频道节目内容緩存与频道组播媒体同步。  The terminal according to claim 9 or 10, wherein the buffering terminal matches the content of the program to be transmitted, or when the channel program is encapsulated by RTP, the RTP header number is the same to determine the sending by the cache terminal. The channel program content cache is synchronized with the channel multicast media.
12、 一种频道切换系统, 其特征在于, 所述频道切换系统包括: 播放 终端以及緩存终端, 其中:  12. A channel switching system, wherein the channel switching system comprises: a playback terminal and a cache terminal, wherein:
所述播放终端, 用于在局域网内发送宣告消息获取可提供频道节目内 容服务的緩存终端列表; 当所述播放终端收到频道切换播放命令时, 通过 所述緩存终端列表中的緩存终端进行频道切换;  The play terminal is configured to send an announcement message in a local area network to obtain a cache terminal list that can provide a channel program content service; when the play terminal receives a channel switch play command, perform a channel through the cache terminal in the cached terminal list. Switch
所述緩存终端, 用于在接收组播码流进行频道播放时, 对频道节目内 容进行緩存; 当接收到播放终端发送的宣告消息时, 向所述播放终端返回 可提供频道节目内容服务的响应消息; 当接收到所述播放终端发送的获取 目的频道节目内容的请求时, 通过单播的方式为所述播放终端进行频道切 换。  The cache terminal is configured to buffer a channel program content when receiving a multicast code stream for channel playback; and return a response that provides a channel program content service to the play terminal when receiving the announcement message sent by the play terminal a message: when receiving the request for acquiring the content of the target channel program sent by the playing terminal, performing channel switching for the playing terminal by means of unicast.
13、 根据权利要求 12所述的系统, 其特征在于,  13. The system of claim 12, wherein
所述播放终端, 还用于在节目播放过程中检测到丟包时, 向所述緩存 终端发送丟包重传请求;  The playing terminal is further configured to send a packet loss retransmission request to the cache terminal when detecting a packet loss during the program playing;
所述緩存终端, 还用于接收所述丟包重传请求, 根据所述重传请求向 所述播放终端重传丟包。  The cache terminal is further configured to receive the packet loss retransmission request, and retransmit the packet loss to the play terminal according to the retransmission request.
PCT/CN2011/084289 2010-12-20 2011-12-20 Method, terminal and system for changing channel WO2012083841A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010596761.XA CN102547448B (en) 2010-12-20 2010-12-20 Channel switching method, terminal and system
CN201010596761.X 2010-12-20

Publications (1)

Publication Number Publication Date
WO2012083841A1 true WO2012083841A1 (en) 2012-06-28

Family

ID=46313169

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/084289 WO2012083841A1 (en) 2010-12-20 2011-12-20 Method, terminal and system for changing channel

Country Status (2)

Country Link
CN (1) CN102547448B (en)
WO (1) WO2012083841A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162022A (en) * 2015-04-08 2016-11-23 深圳市尼得科技有限公司 Method, system and the mobile terminal of a kind of quick broadcasting video

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104518889A (en) * 2013-10-08 2015-04-15 中兴通讯股份有限公司 Multicast message responding method and multicast message responding device
CN103702202A (en) * 2013-12-13 2014-04-02 乐视致新电子科技(天津)有限公司 Method and device for realizing fast playing during channel switching
CN105791894A (en) * 2014-12-24 2016-07-20 中兴通讯股份有限公司 Channel code stream processing method, device and system and terminal
CN106341727A (en) * 2016-10-08 2017-01-18 北京邦天信息技术有限公司 Channel switching method and apparatus, and video terminal
CN109756774A (en) * 2017-11-07 2019-05-14 中兴通讯股份有限公司 A kind of method and device of OTT multicast channel switching
CN111093090A (en) * 2018-10-24 2020-05-01 玲珑视界科技(北京)有限公司 TCP-based multicast channel fast switching system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050008240A1 (en) * 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
CN101123717A (en) * 2007-09-25 2008-02-13 中兴通讯股份有限公司 A device and method for quick switching of channels
CN101753973A (en) * 2008-12-12 2010-06-23 华为技术有限公司 Channel switching method, device and system
CN101854533A (en) * 2010-06-10 2010-10-06 华为技术有限公司 Frequency channel switching method, device and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050008240A1 (en) * 2003-05-02 2005-01-13 Ashish Banerji Stitching of video for continuous presence multipoint video conferencing
CN101123717A (en) * 2007-09-25 2008-02-13 中兴通讯股份有限公司 A device and method for quick switching of channels
CN101753973A (en) * 2008-12-12 2010-06-23 华为技术有限公司 Channel switching method, device and system
CN101854533A (en) * 2010-06-10 2010-10-06 华为技术有限公司 Frequency channel switching method, device and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162022A (en) * 2015-04-08 2016-11-23 深圳市尼得科技有限公司 Method, system and the mobile terminal of a kind of quick broadcasting video

Also Published As

Publication number Publication date
CN102547448B (en) 2014-03-19
CN102547448A (en) 2012-07-04

Similar Documents

Publication Publication Date Title
JP6382317B2 (en) Session management and control procedures to support multiple groups of sink devices in a peer-to-peer wireless display system
CN109889543B (en) Video transmission method, root node, child node, P2P server and system
US8935736B2 (en) Channel switching method, channel switching device, and channel switching system
JP5930429B2 (en) Distribution of IP broadcast streaming service using file distribution method
WO2012083841A1 (en) Method, terminal and system for changing channel
JP5650197B2 (en) Method and apparatus for a system for providing media through multicast distribution
WO2010054543A1 (en) Method, device and system for channel switching
CN107819809B (en) Method and device for synchronizing content
WO2016203850A1 (en) Reception apparatus, transmission apparatus, and data processing method
US20150067110A1 (en) Media Playing Method, Apparatus, and System
WO2011022994A1 (en) Method, apparatus and system for rapid acquisition of multicast realtime transport protocol sessions
US20070160048A1 (en) Method for providing data and data transmission system
WO2009015611A1 (en) Method, system and apparatus for quick switching media source
MX2011012652A (en) Method, apparatus and system for reducing media delay.
WO2012174956A1 (en) Iptv channel switching method and device
JP5428734B2 (en) Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system
TW201204037A (en) Use of picture-in-picture stream for internet protocol television fast channel change
JP5610743B2 (en) Content receiving method and apparatus
WO2010108416A1 (en) Method, device and communication system for forwarding scalable video coding data messages
WO2009140909A1 (en) Method and system for forcibly transferring multicast message, route apparatus and terminal apparatus
WO2011095118A1 (en) Method, apparatus and system for processing network time shift
US8255556B2 (en) Multicast and synchronization emulation for content transformed streams
US10230660B2 (en) Method and system for centralized controller for audio visual broadcasts
KR101235093B1 (en) Delivering streaming data
WO2011022983A1 (en) Method, device and system of multi-cast video data

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: 11851222

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: 11851222

Country of ref document: EP

Kind code of ref document: A1