WO2011153868A1 - 频道切换方法、装置及系统 - Google Patents

频道切换方法、装置及系统 Download PDF

Info

Publication number
WO2011153868A1
WO2011153868A1 PCT/CN2011/072648 CN2011072648W WO2011153868A1 WO 2011153868 A1 WO2011153868 A1 WO 2011153868A1 CN 2011072648 W CN2011072648 W CN 2011072648W WO 2011153868 A1 WO2011153868 A1 WO 2011153868A1
Authority
WO
WIPO (PCT)
Prior art keywords
timestamp
media
audio
video
stream
Prior art date
Application number
PCT/CN2011/072648
Other languages
English (en)
French (fr)
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 华为技术有限公司
Priority to EP11791859.9A priority Critical patent/EP2509320A4/en
Publication of WO2011153868A1 publication Critical patent/WO2011153868A1/zh
Priority to US13/566,647 priority patent/US8473997B2/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2408Monitoring of the upstream path of the transmission network, e.g. client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26616Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet

Definitions

  • IPTV Internet Protocol Television
  • the prior art proposes a Fast Channel Change (FCC) mechanism.
  • the basic idea is to deploy an FCC server on the network side and cache the multicast sent by the multicast device through the FCC server. Media stream.
  • the FCC server receives the channel switching request sent by the terminal, after selecting the latest key frame from the channel switching time in the cache, the unicast buffer is started from the key frame at a faster rate than the normal multicast channel rate.
  • the multicast media stream (the media stream unicast by the FCC server to the terminal, called the burst media stream) enables the terminal to play the FCC server unicast before receiving the multicast media stream sent by the multicast device corresponding to the target channel.
  • the burst of media stream so that the user can see the program content of the target channel as soon as possible.
  • the burst media stream sent by the FCC server to the terminal unicast is the same as the multicast media stream sent by the multicast device, and the burst media stream is sent at a higher rate than the multicast media stream, that is, the burst media stream.
  • the transmission rate is greater than the decoding rate of the terminal. Therefore, when the terminal receives the multicast media stream, it may also cache the burst media stream that has not been decoded in the cache. This part of the undecoded burst media stream may cause the content played by the terminal to be older than others.
  • the content played by the terminal of the fast channel switching, that is, the terminal that performs channel switching has a delay in playing the multicast media stream compared to the terminal that does not perform channel switching. Summary of the invention
  • the embodiment of the invention provides a channel switching method, device and system, which are beneficial for reducing the delay of playing a multicast media stream after fast channel switching.
  • the embodiment of the invention provides a channel switching method, including:
  • the terminal Transmitting, by the terminal, the timestamp difference, and transmitting, to the terminal, a burst media stream of the target channel in the cache from the key frame; the timestamp difference is used to make a
  • the terminal corrects a timestamp of the media message in the media stream received after the channel switching request time; and the media stream received after the channel switching request time includes the burst media stream.
  • the embodiment of the invention provides a channel switching method, including:
  • the media stream of the target channel includes a protrusion of the target channel received after sending a channel switching request Transmitting a media stream, or a burst media stream and a multicast media stream of the target channel received after transmitting a channel switching request;
  • An embodiment of the present invention provides a channel switching apparatus, including:
  • a recording module configured to record in real time the timestamp of the media message entering the cached multicast media stream and the key frame entering the cache;
  • a timestamp obtaining module configured to: when the channel switching request sent by the terminal is detected, obtain a first timestamp of the media message that enters the cached media message at the time of the channel switching request, and the target channel according to the recorded timestamp a second timestamp of the last media message of the key frame entering the cache before the channel switching request time;
  • a timestamp difference determining module configured to determine a timestamp difference between the first timestamp and the second timestamp
  • a sending module configured to send the timestamp difference to the terminal, from the key
  • the frame starts to unicast the burst media stream of the target channel in the cache to the terminal;
  • the timestamp difference is used to cause the terminal to modify the media in the media stream received after the channel switching request time Time stamp of the message; the time of the channel switching request
  • the subsequently received media stream includes the bursty media stream.
  • An embodiment of the present invention provides a terminal, including:
  • a handover requesting module configured to send a channel switching request to the network side, where the channel switching request carries target channel information
  • a timestamp difference receiving module configured to receive a timestamp difference sent by the network side
  • a media stream receiving module configured to receive a media stream of the target channel sent by the network side; a media stream of the target channel includes a burst media stream of the target channel, or a burst media of the target channel And receiving, by the terminal, the multicast media stream sent by the network side after joining the multicast group corresponding to the target frequency exhaustion;
  • the correction playing module is configured to correct a timestamp of the media message of the media stream according to the timestamp difference and play the media stream, and the corrected time of the two media messages in the corrected media stream The correction is stopped when the sum of the stamp interval values reaches the time stamp difference.
  • the embodiment of the present invention provides a channel switching system, including: the channel switching device and the terminal; and the method further includes: a multicast device, configured to: after the terminal joins the multicast group corresponding to the target channel, to the terminal Send a multicast media stream.
  • the network side records the timestamp of the media packet of the multicast media stream of each channel that is newly entered into the cache in real time, so that when receiving the channel switching request of the terminal, The timestamp difference between the timestamp of the media message of the multicast media stream that has entered the cached target channel and the timestamp of the media message of the key frame in the cache that is closest to the channel switching time.
  • the timestamp difference is sent to the terminal at the same time, so that the terminal sends the burst media stream to the decoding device, and the mediagram received after the channel switching request time according to the timestamp difference value.
  • FIG. 1 is a flowchart of a channel switching method according to an embodiment of the present invention
  • FIG. 2 is a flowchart of another channel switching method according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of still another channel switching method according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a channel switching apparatus according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of another channel switching apparatus according to an embodiment of the present disclosure
  • FIG. 7 is a schematic structural diagram of still another channel switching apparatus according to an embodiment of the present disclosure
  • FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of another terminal according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of still another terminal according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of still another terminal according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic structural diagram of a channel switching system according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The technical solutions of the embodiments of the present invention will be further described below with reference to the accompanying drawings and specific embodiments.
  • live programs are transmitted by multicast devices in a multicast manner.
  • the multicast device After the terminal performs channel switching, the multicast device sends the multicast media stream of the target channel to the terminal.
  • the successful channel switching of the terminal is divided into three phases: the terminal requests channel switching; after the FCC server monitors the channel switching signaling of the terminal, the unicast burst media stream is sent to the terminal; the terminal receives the burst containing the first complete key frame. Play the media stream after playing. Since the terminal needs to wait for key frames, it takes time. Taking the IPTV system coded by the MPEG2 standard as an example, after the terminal sends a channel switching request, the terminal needs to wait for the media stream including the initial intra-coded frame (I-frame).
  • I-frame initial intra-coded frame
  • the I frame can be decoded and displayed independently, and the predicted frame (Previous Frame, P frame for short) and the Bidirection Previous Frame (B frame) are required to be decoded when the I frame it refers to is received. Therefore, after transmitting the channel switching request, the terminal can play only when receiving the media stream containing the I frame.
  • FIG. 1 is a flowchart of a channel switching method according to an embodiment of the present invention.
  • the execution entity in this embodiment is a network side device, such as an FCC server or a network node in an IPTV system.
  • this embodiment includes: Step 11: Recording, in real time, a time stamp of a media packet entering a cached multicast media stream and a key frame entering the cache;
  • a multicast media stream for each channel is pre-cached on a network node or FCC server that provides fast channel switching.
  • the media stream bearer format is a Real Time Transport Protocol (RTP) message
  • RTP Real Time Transport Protocol
  • the media stream bearer format is a Moving Picture Experts Group (Moving Pictures Experts Group) MPEG) Transport Stream (TS), which records the field value of the Decode Time Stamp (DTS) and the Presentation Time Stamp (PTS) in the buffered TS message.
  • Key frame identification is performed on the received multicast media stream to indicate key frames that can be independently decoded. After the key frame identification is performed, the key frame identifier is recorded in the cache on the network side, so that when the channel switching request of the terminal is received, the last key frame that enters the buffer before the channel switching time is found in real time.
  • the audio data and the video data are transmitted in different media streams, that is, the audio stream and the video stream are respectively transmitted (for example,
  • the RTP protocol transmits the audio stream and the video stream separately, and the TS protocol combines the audio data and the video data into one media stream for transmission, and records the timestamp of the multicast audio stream entering the cache and the time stamp of the multicast video stream in real time. .
  • the time stamp of multiple audio streams entering the cache needs to be recorded in real time.
  • Step 12 When monitoring the channel switching request sent by the terminal, according to the recorded timestamp, obtain the first timestamp of the media message that the target channel enters the buffer at the channel switching request time and the last time before the channel switching request time of the target channel The second timestamp of the media packet in which the key frame of the cache is located;
  • the two media messages are: the multicast channel message of the target channel entering the buffer and the channel switching request at the time of the channel switching request time.
  • the timestamp recorded in step 11 the timestamp of the first media message is obtained, and is recorded as the first timestamp.
  • the key frame recorded in step 11 the last key frame that enters the cache before the channel switching request time is obtained, and the media message in which the key frame is located is searched, and then the time frame recorded in step 11 is obtained.
  • the timestamp of the media message is recorded as the second timestamp.
  • Step 13 determining a timestamp difference between the first timestamp and the second timestamp
  • the terminal Since the terminal only receives the media stream containing the key frame after the channel switching request is issued, the received media stream can be played to the terminal user. Therefore, it is necessary to determine in the cache the key frame closest to the channel switching time to unicast the media stream from the key frame to the terminal.
  • the timestamp of the multicast media packet in which the key frame is located is smaller than the timestamp of the latest (at the channel switching time) entering the cached multicast media packet. Therefore, the difference between the time stamps of the two multicast media messages may reflect that the playback time point of the burst media stream on the terminal that performs channel switching is later than the playback time point on the terminal that does not perform channel switching.
  • the audio timestamp difference between the first audio timestamp and the second audio timestamp, and the first video timestamp are separately determined.
  • the number of timestamp differences depends on the number of audio streams and video streams during transmission. There are multiple audio streams in a multi-channel system, and multiple audio timestamp differences need to be calculated.
  • Step 14 Send a timestamp difference to the terminal, and send the buffered target channel's burst media stream to the terminal unicast from the key frame.
  • the timestamp difference is used to correct the timestamp of the media message of the media stream received after the channel switching request time.
  • the media stream received after the channel switching request time including the burst media stream.
  • the terminal Since the terminal transmits the channel switching request, it can only play when it receives the media stream containing the key frame. Therefore, the network side sends the burst media stream to the terminal unicast from the media message where the key frame is located.
  • the network side stops the unicast burst media stream to the terminal.
  • the network side device can send the timestamp difference to the terminal in various ways. For example, in the case of no unicast interaction signaling, the first media message of the burst media stream unicast to the terminal carries the timestamp difference. In the case of unicast interaction signaling, a channel switching response message is sent to the terminal, and the channel switching response message carries a time stamp difference value.
  • the terminal After receiving the timestamp difference, the terminal starts to correct and play the timestamp of the media packet sent to the decoding module from the first media packet of the burst media stream, and the terminal and other terminals that do not perform channel switching.
  • the correction of the received media stream is stopped.
  • the main purpose of the terminal to correct the time stamp of the media stream is to: increase the rate at which the terminal plays the media stream (speed up the playing of the media stream). That is, in the same time, the terminal that performs channel switching plays more media packets than the terminal that does not perform channel switching, and shortens the delay of the terminal user watching the live program.
  • the burst audio stream and the burst video stream need to be separately transmitted to the terminal.
  • a method for determining a first audio media message of a burst audio stream, a method for determining a first video media message of a burst video stream, and a method for stopping a unicast transmission of a burst audio stream and a burst video stream Similar to the method of step 14: the first audio media message of the burst audio stream is the last audio media message that enters the buffer before the channel switching request time; the first video media message of the burst video stream is , when the channel switch request The last video media message that was placed in the cached keyframe before engraving.
  • a method of transmitting an audio timestamp difference and a video timestamp difference to a terminal is as follows:
  • the audio timestamp difference is carried in the first audio media message, and the video stream is unicast to the terminal, in the first
  • the video media packet carries the video time difference.
  • the handover response message is sent to the terminal, and the audio timestamp difference and the video timestamp difference are carried in the handover response message, and the burst audio stream and the burst are separately unicast to the terminal.
  • Video stream is sent to the terminal, and the audio timestamp difference and the video timestamp difference are carried in the handover response message, and the burst audio stream and the burst are separately unicast to the terminal.
  • the terminal After receiving the audio timestamp difference and the video timestamp difference, the terminal corrects the timestamp of the media message of the received audio stream according to the audio timestamp difference. And correcting the time stamp of the media message of the received video stream according to the video timestamp difference, thereby implementing synchronous playback of audio and video.
  • the network side records in real time the time stamp of the media message of the multicast media stream of each channel that is newly entered into the cache. Therefore, when the channel switching request time of the terminal is received, the time between the timestamp of the multicast media message of the latest incoming cached channel and the timestamp of the multicast media message of the key frame in the cache that is closest to the channel switching time is calculated. Poke the difference.
  • the timestamp difference sent by the network side terminal includes an audio timestamp difference value of each audio stream and a video timestamp difference value of the video stream, so that the terminal according to the audio timestamp The difference and the video timestamp difference are respectively corrected for the time stamp of the received audio stream and the time stamp of the video stream to realize synchronous playback of audio and video.
  • FIG. 2 is a flowchart of another channel switching method according to an embodiment of the present invention.
  • the execution body of this embodiment is a terminal.
  • the embodiment includes: Step 21: Send a channel switching request to the network side, where the channel switching request carries the target channel information; the terminal is a device for the user to watch the IPTV (playing device) and the device that initiates the channel switching request (For example, a set top box), the user's channel switching request can be triggered by the user operating a remote controller or other software or the like.
  • the network side caches the real-time multicast IPTV media stream.
  • the terminal to the network side can pass through the home gateway, access network equipment, aggregation network and other devices with routing functions.
  • Step 22 Receive a timestamp difference sent by the network side, and a media stream of the target channel sent by the network side;
  • the media stream of the target channel includes a burst media stream of a target channel that is unicastly transmitted from a key frame on the network side, and a multicast media stream that is sent by the network side after the terminal joins the multicast group corresponding to the target channel.
  • the key frame is the last key frame that enters the network side buffer before the channel switching request time.
  • the first media packet of the burst media stream is the multicast media packet in which the key frame is located.
  • the timestamp difference is used to cause the terminal to correct the time stamp of the media message received after the channel switching request time.
  • the timestamp difference value reflects the playback time point of the burst media stream on the terminal that performs channel switching, and how long is the playback time point on the terminal that is not performing channel switching, that is, the delay of the terminal playing the multicast media stream .
  • the time stamp difference carried in the first media message of the burst media stream is received.
  • the timestamp difference carried in the channel switching response message is received.
  • the terminal When the audio data and the video data are in different media streams, the terminal passes the first audio media message of the burst audio stream and the first video media message of the burst video stream respectively without unicast interaction signaling. Receive audio timestamp difference and video timestamp difference. In the case where the audio data and the video data are in different media streams, in the case of a unicast interactive signal, the terminal receives the audio time stamp difference value and the video time stamp difference value through the channel switching response message.
  • Step 23 Correct the timestamp of the media message received by the media stream according to the timestamp difference and play the media stream.
  • the corrected media stream the sum of the timestamp interval values of the two adjacent media messages is corrected. The correction is stopped when the difference is stamped.
  • the terminal sequentially corrects the timestamp of the media message sent to the decoding device according to the timestamp difference sent by the network side, so as to speed up the rate at which the terminal plays the media stream.
  • the corrected timestamp interval value (the difference between the time stamps of the two adjacent media packets)
  • the timestamp difference sent by the network side when the timestamp difference sent by the network side is reached, it indicates that the content of the target channel currently being played by the terminal has been compared with other
  • the target channel content played by the terminal that performs channel switching is synchronized, and the media message of the received media stream is stopped from being corrected.
  • the media stream that is modified includes burst media streams that are unicast on the network side, and may also include multicast media streams received from the multicast device.
  • the terminal When the audio data and the video data are in different media streams, the terminal respectively time stamps the audio media message in the received audio stream and the video media message in the video stream according to the audio time stamp difference value and the video time difference stamp difference value. The timestamp is corrected and played back to synchronize the audio and video.
  • the time stamp of the audio media message of the audio stream received after the channel switching request is sent is corrected and played according to the audio time stamp difference value.
  • the correction is stopped when the sum of the corrected audio timestamp interval values of the adjacent two audio media messages reaches the audio timestamp difference.
  • the video timestamp difference The value, corrects and plays the timestamp of the video media message received after the channel switching request is sent.
  • the correction is stopped when the sum of the video timestamp interval values after the correction of the adjacent two video media messages reaches the video timestamp difference.
  • the receiving network side starts to send the burst media stream of the target channel to the terminal unicast from the last key frame that enters the buffer before the channel switching time, and After the terminal joins the multicast group, it receives the multicast broadcast media stream sent by the network.
  • the terminal further receives a timestamp difference from the network side, and according to the time difference, corrects a time stamp of the burst media stream and the media packet of the multicast media stream received from the multicast source, thereby speeding up the
  • the rate at which the terminal plays the media stream is used to reduce the delay of the channel switching terminal playing the multicast media stream, so that the terminal performing the channel switching plays the multicast media stream synchronously with the terminal not performing the channel switching.
  • the modification of the timestamp in this embodiment does not involve the decoding module, and the modification to the terminal and the network side device is small.
  • FIG. 3 is a flowchart of still another channel switching method according to an embodiment of the present invention.
  • This embodiment illustrates a channel switching method according to an embodiment of the present invention from two perspectives of a network side device (including an FCC server and a multicast device) and a terminal (including a playback device and a set top box).
  • This embodiment is applicable to a scenario in which a terminal performs fast channel switching in the case of unicast interactive signaling.
  • this embodiment includes:
  • Step 31 The FCC server records the timestamp of the media packet entering the cached multicast media stream and the key frame entering the cache in real time;
  • the media stream bearer format can be either RTP or TS.
  • the field in which the timestamp is stored in the RTP packet is timestamp, and the field in which the timestamp is stored in the TS packet is PTS.
  • the FCC server records the timestamp value of the RTP packet entering the cache in real time, or records the PTS value of the TS packet entering the cache in real time.
  • Step 32 The terminal sends a channel switching request to the FCC server, where the channel switching request carries the target channel information.
  • the terminal transmits a channel switching request to the FCC server when the channel is switched.
  • Step 33 The FCC server searches for a first timestamp of the media packet that the target channel enters the cache at the time of the channel switching request.
  • the timestamp of the media packet that the target channel enters into the buffer at the time of the channel switching request is the value of the field timestamp (the first timestamp), which is recorded as timestamp_n; for the TS message, the target at the channel switching request time
  • the timestamp of the media message that the channel enters into the cache is the value of the field Pts (the first timestamp), which is denoted as pts_n.
  • Step 34 The FCC server searches for the media packet of the last key frame that enters the cache before the channel switching request time; After monitoring the signaling of the terminal requesting channel switching, it searches for the last key frame that enters the buffer, and then determines the media message where the key frame is located.
  • the key frame For the media stream encoded by the MPEG2 standard, the key frame is an I frame; for the media stream encoded by the H.264 standard, the key frame is an Instantaneous Decoder Refresh (IDR) frame.
  • IDR Instantaneous Decoder Refresh
  • Step 35 The FCC server searches for a second timestamp of the media packet where the key frame is located in the cache.
  • the timestamp of the media packet in which the key frame is located is the value of the field timestamp (the second timestamp), which is recorded as timestamp_i ;
  • the timestamp of the media packet in which the key frame is located is the field.
  • the value of pts (second timestamp) is denoted as pts_i.
  • the timestamp of the media message in which the key frame is located may represent the playback time point of the burst media stream that the FCC server will unicast to the terminal.
  • Step 36 The FCC server calculates a timestamp difference between the first timestamp and the second timestamp;
  • the timestamp (the second timestamp) of the media packet in which the key frame is located is the timestamp of the media packet that is cached in the FCC server at the time of the channel switching, as the media packet of the key frame is cached in the FCC server.
  • a timestamp is smaller, the first timestamp minus the timestamp difference delay obtained by the second timestamp, reflecting the playback time point of the burst media stream on the terminal relative to the playback on the terminal not switching the channel How long is the time later?
  • Step 37 The FCC server sends a channel switching response message carrying the timestamp difference delay to the terminal. If the audio data and the video data are in the same RTP stream, the channel switching response message carries only one difference: the timestamp difference dela y . If the audio data and the video data are in a plurality of RTP streams, the audio channel time difference value and the video time stamp difference value are carried in the channel switching response message.
  • Step 38 The FCC server starts to send the burst media stream to the terminal by starting the media message in which the key frame is located in the cache.
  • Step 39 After the terminal joins the multicast group, the terminal receives the real-time multicast media stream sent by the multicast device.
  • the terminal first receives the burst media stream sent by the FCC server, and receives the multicast media stream sent by the multicast device after joining the multicast group corresponding to the target channel.
  • Step 310 The terminal corrects and plays the timestamp of the received media message according to the timestamp difference delay, and the sum of the timestamp interval values of the two adjacent media messages in the corrected media stream reaches the stated The correction is stopped when the time stamp difference is delayed.
  • step 31 In audio data and video data in different media streams, ie audio streams (possibly multiple audio streams) and When the frequency streams are separately transmitted, the audio time stamp of each multicast audio message entering the cache and the video time stamp of each multicast video message are recorded in real time in step 31.
  • searching for the first timestamp in step 33 it is required to find the first audio timestamp of each audio message that enters the buffer at the time of the channel switching request, and the first of each video message that enters the buffer at the time of the channel switching request.
  • Video timestamp when searching for a key frame in step 34, searching for the last key frame of each multicast video stream that enters the buffer at the time of channel switching; when searching for the second timestamp in step 35, searching for the channel switching request time.
  • step 36 When the timestamp difference is calculated in step 36, the audio timestamp difference for each audio stream and the video timestamp difference for each video stream are calculated.
  • step 37 When the channel switch response message is sent in step 37, the audio time stamp difference value of each audio stream and the video time stamp difference value of each video stream are carried in the channel switch response message.
  • step 38 each burst audio stream and burst video stream are unicast to the terminal.
  • the terminal corrects the timestamp of the audio message in the corresponding audio stream according to each received audio timestamp difference; and corrects the video stream in the corresponding video stream according to each received video timestamp difference.
  • the timestamp of the text thus enabling audio and video synchronization correction and playback.
  • the specific method for the terminal to correct the time stamp of the media stream may be:
  • timestamp correction value of the first RTP packet timestamp value of the first RTP packet + timestamp difference The value is delay.
  • the current corrected media stream For other media messages except the first media message in the media stream received after the channel switching request is sent: according to the modified time stamp of the previous media message of the current media message, the current corrected media stream The timestamp and the preset corrected timestamp interval value are used to correct and play the timestamp of the currently modified media message. In the corrected media stream, the sum of the timestamp interval values of the two adjacent media messages is corrected. Stop the correction when the timestamp difference is reached.
  • the timestamp interval value is a preset value, which can be preset by the network side and then sent to the terminal, or can be pre-built in the terminal.
  • the corrected timestamp interval value is related to the experience of the end user watching the playback content. It should not be too large or too small. Too small will increase the delay of playing the real-time media stream. If the content is too fast, the end user experience will be better. difference.
  • the RTP packet carrying the media stream is modified.
  • the timestamp value of the text is the timestamp value of the previous RTP message.
  • the ratio of the X timestamp value interval is reduced to + The corrected timestamp value of the previous RTP message.
  • Timestamp interval value before correction current timestamp value of RTP message is one time timestamp value of RTP message
  • timestamp interval value after correction current correction RTP message correction timestamp value - correction timestamp value of the previous RTP message.
  • the corrected difference sum T of the two adjacent media messages is calculated.
  • ⁇ (currently correct the timestamp value of the RTP packet to the timestamp value of the previous RTP packet).
  • the ratio of the timestamp value is reduced to the ratio, on the network side of the accumulated value of T.
  • the burst media stream is 10 packets later than the multicast media stream.
  • the 10 packets make the burst media stream play at the terminal later than the playback time point on the terminal without channel switching.
  • Each 3600 timestamp corresponds to the playback time of one packet.
  • the timestamp difference delay sent by the network side is 36000, and the timestamp of the original message 1, 2, 3, 4 ⁇ is 3600, 7200. 10800, 14400 ⁇ Corrected message 1, 2, 3, 4 ⁇
  • the corresponding timestamp is 39600, 41400, 43200, 45000... the original timestamp of the message and the corrected time
  • Table 1 The comparison of the stamps is shown in Table 1.
  • the time stamp difference between adjacent messages is 1800.
  • the cumulative corrected difference T reaches the timestamp difference of 36000 sent by the network side, and the correction is stopped. Message timestamp.
  • the terminal After the terminal corrects the received media stream, the effect achieved is that, in the time period in which the channel switching terminal plays 20 messages, the terminal that does not perform channel switching plays 10 messages, SP: at the same time. In this case, the playback content is doubled, and the playback rate is twice the original playback rate. Thereby, the terminal that causes the channel switching plays the real-time media stream in synchronization with the terminal that has not switched the channel.
  • each frame of data may have multiple packets, and the batch of packets has the same timestamp.
  • the above RTP packet or TS packet may correspond to a batch of packets in actual applications. Text.
  • Table 1 compares the original timestamp of the packet with the corrected timestamp of the packet.
  • the P frame encodes a frame different from the previous frame
  • the B frame encodes a frame different from the previous frame and the subsequent frame. Therefore, the decoding of the P frame precedes the B frame, and the B frame display precedes the B frame.
  • the P frame that is, the display order of the B frame and the P frame is opposite to the decoding order.
  • the order of transmission in the message is generally transmitted in the decoding order. As shown in Table 2, the time stamp of the P frame is later than the B frame, but P The frame is transmitted and decoded before the B frame.
  • Table 2 shows the timestamps of the messages arranged in the order of transmission before and after the correction.
  • the terminal when there is unicast interaction signaling, the terminal sends a channel switching request to the FCC server, after determining the timestamp difference between the burst media stream and the real-time multicast media stream, The FCC server sends the timestamp difference to the terminal through the channel switch response message, and then unicasts the burst media stream to the terminal.
  • the timestamp difference received by the terminal the timestamp of the media packet in the received media stream is corrected according to the timestamp difference, and the sum of the timestamp interval differences after the correction of the adjacent two media messages is performed. Stop the correction when the timestamp difference is reached.
  • the terminal that performs channel switching plays more media streams than the terminal that does not perform channel switching. The delay of playing the multicast media stream by the channel switching terminal is reduced, so that the terminal performing channel switching plays the multicast media stream synchronously with the terminal that does not perform channel switching.
  • FIG. 4 is a flowchart of still another channel switching method according to an embodiment of the present invention. The difference between this embodiment and the embodiment corresponding to FIG. 3 is that: This embodiment is applicable to a scenario in which a terminal performs fast channel switching without unicast interaction signaling. As shown in FIG. 4, this embodiment includes:
  • Step 41 The FCC server records the timestamp of the media packet entering the cached multicast media stream and the key frame entering the cache in real time;
  • Step 42 The terminal sends an IGMP message to the multicast device corresponding to the target channel, and requests to join the multicast group of the target channel.
  • Step 43 The FCC server searches for a first timestamp of the media packet that the target channel enters the cache at the time of the channel switching request time.
  • IGMP Internet Group Management Protocol
  • the FCC server can obtain the join request sent by the terminal in time. For details, refer to the related art. After the FCC server learns that the terminal joins the multicast request, it searches for the first timestamp of the multicast media stream that the target channel enters the cache at the time of the channel switching request.
  • Step 44 The FCC server searches for the media packet of the last key frame that enters the cache before the channel switching request time;
  • Step 45 The FCC server searches for a second timestamp of the media packet where the key frame is located in the cache.
  • Step 46 The FCC server calculates a timestamp difference between the first timestamp and the second timestamp;
  • Step 47 The FCC server starts to send the burst media stream to the terminal by using the media packet where the key frame is located in the cache, and carries the timestamp difference in the first burst media packet.
  • the FTC server when the FCC server unicasts the burst media stream to the terminal, the FTC server carries the timestamp difference in the extension field of the first RTP packet.
  • a TS packet carrying a media stream carries a timestamp difference in the first TS packet header. Since only the DTS value has no PTS value and is invalid, setting PTS_DTS_flag to 1 in the first PES message and setting PTS_DTS_flag to 1 does not affect the normal broadcast message.
  • Step 48 After the terminal joins the multicast group, the terminal receives the real-time multicast media stream sent by the multicast device.
  • Step 49 The terminal performs the timestamp of the media packet in the media stream of the received target channel according to the timestamp difference delay. Correcting, and playing the media stream according to the modified timestamp, and stopping the correction when the sum of the timestamp interval values of the two adjacent media messages in the corrected media stream reaches the timestamp difference delay.
  • the terminal when there is no unicast interaction signaling, when the channel switching is required, the terminal directly sends a request for joining the multicast to the multicast device corresponding to the target channel.
  • the FCC server determines the timestamp difference between the burst media stream and the multicast media stream.
  • the timestamp difference reflects the delay of the terminal playing the multicast media stream.
  • the timestamp difference value is carried in the first burst media stream and sent to the terminal.
  • the terminal After receiving the timestamp difference, the terminal corrects the received media stream according to the time difference, and stops the correction when the sum of the difference between the corrected timestamps of the adjacent media streams reaches the timestamp difference. Therefore, the delay of playing the multicast media stream by the channel switching terminal is reduced, so that the terminal performing the channel switching plays the multicast media stream synchronously with the terminal not performing the channel switching.
  • FIG. 5 is a schematic structural diagram of a channel switching apparatus according to an embodiment of the present invention. As shown in FIG. 5, the embodiment includes: a recording module 51, a timestamp obtaining module 52, a timestamp difference determining module 53 and a sending module 54.
  • the recording module 51 is configured to record the time stamp of the media message entering the cached multicast media stream and enter the cache in real time. Key frame
  • the timestamp obtaining module 52 is configured to: when the channel switching request sent by the terminal is detected, obtain the first timestamp of the media message that the target channel enters the buffering at the channel switching request time according to the recorded timestamp, and the channel switching request time The second timestamp of the media message of the last key frame that entered the cache;
  • the timestamp difference determining module 53 is configured to determine a timestamp difference between the first timestamp and the second timestamp.
  • the sending module 54 is configured to send the timestamp difference value to the terminal, and send the buffer to the terminal unicast from the key frame. a burst media stream of the target channel; the timestamp difference is used to cause the terminal to correct the timestamp of the media packet in the media stream received after the channel switching request time; the media stream received after the channel switching request time, including the Send media stream.
  • the recording module 51 records in real time the timestamp of the media message entering the cached multicast media stream and the key frame entering the cache.
  • the timestamp acquisition module 52 monitors the channel switching request sent by the terminal, the first timestamp of the media message that the target channel enters into the cached channel at the time of the channel switching request is obtained according to the timestamp recorded by the recording module 51, and the target channel is obtained.
  • the timestamp difference determining module 53 determines the timestamp difference between the first timestamp and the second timestamp acquired by the timestamp obtaining module 52.
  • the sending module 54 sends the timestamp difference determined by the timestamp difference determining module 53 to the terminal, and unicasts the burst media stream of the target channel to the terminal.
  • the sending module 54 includes: a first switching response sub-module 541 and a unicast sub-module 542.
  • the unicast sub-module 542 is configured to send the burst media stream of the target channel to the terminal unicast, and carry the timestamp difference value to the terminal in the first media packet of the burst media stream.
  • the unicast sub-module 542 unicasts the burst media stream of the target channel to the terminal, and when transmitting the first burst media message to the terminal unicast, in the first burst
  • the media message carries the timestamp difference determined by the timestamp difference determining module 53.
  • the first handover response sub-module 541 is configured to send, to the terminal, a channel switch response message carrying a timestamp difference.
  • the unicast sub-module 542 is configured to unicast the burst media stream of the target channel to the terminal.
  • the first handover response sub-module 541 sends a channel handover response message carrying the timestamp difference determined by the timestamp difference determination module 53 to the terminal, and the unicast sub-module 542 sends the terminal to the terminal. Broadcast the burst media stream of the target channel.
  • the recording module 51 records in real time the timestamp of the media message of each channel that is newly entered into the cache and the key frame that enters the cache. Therefore, at the channel switching request time of the receiving terminal, the timestamp difference determining module 53 determines: the timestamp of the media message of the latest target channel that has entered the cache, and the time of the channel switching time in the cache. The timestamp difference between the timestamps of the media messages in which the keyframe is located.
  • the sending module 54 sends the burst media stream to the terminal unicast, and sends the timestamp difference to the terminal, so that the terminal plays the media stream in the media stream according to the timestamp difference before playing the media stream received after the channel switching request time. The timestamp of the text is corrected.
  • the terminal plays the media stream more than the media stream played by the terminal without channel switching in the same time. Therefore, in this embodiment, the delay of playing the multicast media stream by the terminal is reduced, so that the terminal performing channel switching plays the multicast media stream synchronously with the terminal that does not perform channel switching.
  • FIG. 7 is a schematic structural diagram of another channel switching apparatus according to an embodiment of the present invention.
  • the channel switching device of this embodiment is applicable to a scenario in which audio data and video data are transmitted in different media streams.
  • the recording module 51 of FIG. 5 includes: an audio time stamp recording sub-module 511 and a video time stamp recording sub-module 512.
  • the audio timestamp recording sub-module 511 is configured to record the audio timestamp of the audio media message entering the cache in real time
  • the video timestamp recording sub-module 512 is configured to record the video timestamp of the video media message entering the cache in real time
  • the timestamp acquisition module 52 in FIG. 5 includes: an audio timestamp acquisition sub-module 521 and a video timestamp acquisition sub-module 522.
  • the audio timestamp acquisition sub-module 521 is configured to acquire a first audio timestamp of the audio media message that the target channel enters into the buffer at the channel switching request time, and a second audio media message that is the last to enter the buffer before the channel switching request time. Audio time stamp
  • the video timestamp acquisition sub-module 522 is configured to acquire a first video timestamp of the video media message that the target channel enters into the buffer at the time of the channel switching request, and a video media message of the last key frame that enters the buffer before the channel switching request time Second video timestamp;
  • the time stamp difference determining module 53 includes an audio time stamp difference determining sub-module 531 and a video time stamp difference determining sub-module 532.
  • the audio timestamp difference determining submodule 531 is configured to determine an audio timestamp difference between the first audio timestamp and the second audio timestamp;
  • the video timestamp difference determining sub-module 532 is configured to determine a video timestamp difference between the first video timestamp and the second video timestamp;
  • the transmitting module 54 of FIG. 5 includes: a second handover response submodule 543, an audio unicast submodule 544, and a video unicast submodule 545.
  • a second handover response sub-module 543 configured to send, to the terminal, a channel switch response message carrying an audio timestamp difference value and a video timestamp difference value
  • the audio unicast sub-module 544 is configured to send the burst audio stream to the terminal unicast, and is further configured to: send the audio timestamp difference value to the terminal in the first audio media message in the burst audio stream;
  • the video unicast sub-module 545 is configured to send the burst video stream to the terminal unicast, and is further configured to send the video time stamp to the terminal in the first video media message of the burst video stream.
  • the second handover response sub-module 543 first sends a channel switching response message carrying the audio timestamp difference and the video timestamp difference to the terminal, and the audio unicast sub-module 544 goes to the terminal again.
  • the burst audio stream is transmitted unicast, and the video unicast sub-module 545 unicasts the burst video stream to the terminal.
  • each module in this embodiment is described in the corresponding embodiments of FIG. 1, FIG. 3 and FIG. 4, and details are not described herein.
  • the timestamp difference determining module 53 determines the difference between the first audio timestamp and the second audio timestamp acquired by the audio timestamp obtaining submodule 521: an audio timestamp difference; and determines a video timestamp.
  • the audio time stamp difference value is carried in the first audio stream of the burst audio stream and sent to the terminal.
  • the video timestamp difference value is carried in the first video stream of the burst video stream and sent to the terminal.
  • the audio time stamp difference value is carried in the first audio media message of the burst audio stream and sent to terminal.
  • the video timestamp difference value is carried in the first video media message of the burst video stream and sent to the terminal.
  • the terminal After receiving the audio timestamp difference and the video timestamp difference, the terminal corrects the timestamp of the received audio stream and the timestamp of the video stream according to the audio timestamp difference and the video timestamp difference, respectively. This enables simultaneous playback of audio and video.
  • FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present invention. As shown in FIG. 8, the embodiment includes: a handover requesting module 81, a timestamp difference receiving module 82, a media stream receiving module 83, and a modified playing module 84.
  • the switching request module 81 is configured to send a channel switching request to the network side, where the channel switching request carries the target channel.
  • the timestamp difference receiving module 82 is configured to receive a timestamp difference sent by the network side;
  • the media stream receiving module 83 is configured to receive the media stream of the target channel sent by the network side; the media stream of the target channel includes the burst media stream of the target channel, or the burst media stream of the target channel and the terminal join the target frequency exhaustion Receiving the multicast media stream sent by the network side after the corresponding multicast group;
  • the correction playing module 84 is configured to correct the time stamp of the media message of the media stream according to the time stamp difference and play the media The flow stops the correction when the sum of the corrected timestamp interval values of the adjacent two media messages in the corrected media stream reaches the timestamp difference.
  • the timestamp difference receiving module 82 receives the timestamp difference sent by the network side
  • the media stream receiving module 83 receives the media stream sent by the network side.
  • the modified play module 84 corrects the timestamp of the media message in the media stream received by the media stream receiving module 83 after the channel switching request is sent according to the timestamp difference received by the timestamp difference receiving module 82, and plays the media stream.
  • the correction is stopped when the sum of the timestamp interval values of the two adjacent media service corrections reaches the timestamp difference.
  • the modified play module 84 includes: a first modified play sub-module 841 and a second modified play sub-module 842.
  • the first modified play sub-module 841 is configured to correct and play the time stamp of the first media packet in the media stream according to the timestamp difference value
  • the second modified play sub-module 842 is configured to: according to the modified timestamp of the previous media message of the currently corrected media message, the timestamp of the currently corrected media message, and the preset corrected timestamp interval value, The timestamp of the corrected media message is corrected and played. In the corrected media stream, the correction is stopped when the sum of the timestamp interval values of the two adjacent media messages is corrected to the timestamp difference.
  • the first modified play sub-module 841 corrects and plays the timestamp of the first media message received by the media stream receiving module 83 according to the timestamp difference value received by the timestamp difference receiving module 82.
  • the second modified play sub-module 842 according to the modified time stamp obtained by the first modified play sub-module 841 for correcting the time stamp of the first media message, for the second media burst received by the media stream receiving module 83 The timestamp is corrected and played. And so on, the second modified play sub-module 842 corrects the timestamp of the previous media message of the current media stream, the timestamp of the current corrected media message, and the preset correction according to the current media message in the media stream.
  • the timestamp interval value is used to correct and play the time stamp of the currently modified media message. In the corrected media stream, the correction is performed when the sum of the timestamp interval values of the two adjacent media messages is corrected to the timestamp difference. .
  • the modified play module 84 corrects and plays the timestamp of the media message in the media stream of the media stream receiving module 83 according to the timestamp difference received by the timestamp difference receiving module 82. Because, the timestamp difference reflects the extent to which the burst media stream received by the terminal is stale in the real-time multicast media stream of the content relative to the target channel.
  • the timestamp of the received media message is corrected according to the timestamp difference, which can speed up the rate at which the terminal plays the media stream, thereby reducing the delay of the terminal playing the multicast media stream, and the terminal performing the channel switching does not perform the channel.
  • Switched terminal Synchronize the multicast media stream.
  • FIG. 10 is a schematic structural diagram of still another terminal according to an embodiment of the present invention.
  • the timestamp difference receiving module 82 includes: a timestamp difference receiving submodule 821 and a first switching response receiving submodule 822.
  • the timestamp difference receiving submodule 821 is configured to receive, by using the first media packet of the burst media stream, a timestamp difference sent by the network side;
  • the first handover response receiving submodule 822 is configured to receive a channel switching response message that is sent by the network side and carries a timestamp difference.
  • the first handover response receiving submodule 822 receives the timestamp difference value through the channel switching response message sent by the network side.
  • the first media packet in the media stream sent by the media stream receiving module 83 receives the time difference sent by the network side for correcting the media packet in the media stream. value.
  • the first handover acknowledgement receiving submodule 822 receives the timestamp difference sent by the network side. Therefore, in this embodiment, it is suitable for a scenario where there is no single-play interaction signaling, and is also suitable for a scenario with unicast interaction signaling, which is not limited by the application scenario.
  • FIG. 11 is a schematic structural diagram of still another terminal according to an embodiment of the present invention. This embodiment is suitable for scenarios in which audio data and video data are transmitted in different media streams. This embodiment is a specific implementation manner of the corresponding embodiment in FIG. 8. The embodiment is specifically:
  • the timestamp difference receiving module 82 includes: an audio timestamp difference receiving submodule 823, a video timestamp difference receiving submodule 824, and a second switching acknowledgement receiving submodule 825.
  • the audio timestamp difference receiving submodule 823 is configured to receive, by using the first audio media message of the burst audio stream, an audio timestamp difference sent by the network side;
  • the video timestamp difference receiving submodule 824 is configured to receive, by using the first video media message of the burst video stream, a video timestamp difference sent by the network side;
  • the second handover response receiving submodule 825 is configured to receive a channel switching response message that is sent by the network side and carries an audio timestamp difference and a video timestamp difference.
  • the media stream receiving module 83 includes a burst audio stream receiving submodule 831, a burst video stream receiving submodule 832, a multicast audio stream receiving submodule 833, and a multicast video stream receiving submodule 834.
  • a burst audio stream receiving submodule 831 configured to receive a burst audio stream unicasted by the network side;
  • a burst video stream receiving submodule 832 configured to receive a burst video stream that is unicast on the network side
  • the multicast audio stream receiving submodule 833 is configured to receive the multicast audio stream sent by the network side after joining the multicast group corresponding to the target channel;
  • the multicast video stream receiving sub-module 834 is configured to receive the multicast video stream sent by the network side after joining the multicast group corresponding to the target channel.
  • the audio timestamp difference receiving sub-module 823 receives the network side sending by the burst audio stream receiving sub-module 831 without the unicast interaction signaling.
  • the audio timestamp difference, the video stream timestamp difference receiving submodule receives the video timestamp difference sent by the network side through the burst video stream receiving submodule 832; in the case of unicast interaction signaling, the second switching
  • the response receiving sub-module 825 receives the audio timestamp difference and the video timestamp difference sent by the network side through the channel switching response message on the network side.
  • the playback module 84 is modified to include: an audio correction playback sub-module 843 and a video correction playback sub-module 844.
  • the audio correction playing sub-module 843 is configured to correct and play the timestamp of the audio media message in the audio stream received after the channel switching request is sent according to the audio timestamp difference, in the adjacent two audio media messages. The correction is stopped when the sum of the corrected audio timestamp interval values reaches the audio timestamp difference;
  • the video correction playing sub-module 844 is configured to modify and play the timestamp of the video media message in the video stream received after the channel switching request is sent according to the video timestamp difference, in the adjacent two video media messages. The correction is stopped when the sum of the corrected video timestamp interval values reaches the video timestamp difference.
  • the audio correction playing submodule 843 receives the audio time stamp difference value received by the submodule 823 according to the audio time stamp difference value, and receives the burst audio stream receiving submodule 831.
  • the time stamp of the audio media message in the burst audio stream is corrected and played, and it is possible to correct and play the audio media message in the multicast audio stream received by the multicast audio stream receiving submodule 833;
  • the video correction playing sub-module 844 receives the time stamp of the video media message in the burst video stream received by the burst video stream receiving sub-module 832 according to the video time stamp difference value received by the sub-module 824. After the modification and playback, it is possible to correct and play the video media message in the multicast video stream received by the multicast video stream receiving submodule 834.
  • the audio correction playback sub-module 843 receives the burst audio received by the burst audio stream receiving sub-module 831 according to the audio time stamp difference received by the second handover response receiving sub-module 825.
  • the timestamp of the audio media message in the stream is corrected and played. It is also possible to correct and play the audio media message in the multicast audio stream received by the multicast audio stream receiving submodule 833.
  • the video correction player Module 844 is based on The time difference of the video timestamp received by the second handover response receiving submodule 825 is corrected and played back to the timestamp of the video media message in the burst video stream received by the burst video stream receiving submodule 832.
  • the video media message in the multicast video stream received by the multicast video stream receiving sub-module 834 is corrected and played.
  • the audio timestamp difference receiving submodule 823 receives the audio timestamp difference and the video timestamp difference receiving submodule 824 sent by the network side to receive the video sent by the network side. Timestamp difference.
  • the second handover acknowledgement receiving sub-module 825 receives the audio timestamp difference and the video timestamp difference. Therefore, this embodiment is suitable for a scenario where there is no single-play interaction signaling, and is also suitable for a scenario with unicast interaction signaling, which is not limited by the application scenario.
  • the audio correction playing sub-module 843 corrects the timestamp of the audio media message received by the burst audio stream receiving sub-module 831 and the time of the audio media message received by the multicast audio stream receiving sub-module 833 according to the audio timestamp difference value. stamp.
  • the video correction playback sub-module 844 corrects the timestamp of the video media message received by the burst video stream receiving sub-module 832 and the time stamp of the video media message received by the multicast video stream receiving sub-module 834. Thereby, the corrected audio stream and the video stream are played in synchronization.
  • FIG. 12 is a schematic structural diagram of a channel switching system according to an embodiment of the present invention. As shown in FIG. 12, this embodiment includes: a channel switching device 121, a terminal 122, and a multicast device 123.
  • the channel switching device 121 may be the channel switching device described in Figures 5, 6 and 7, and the terminal 122 may be the terminal described in Figures 8, 9 and 10.
  • the multicast device 123 is configured to send the multicast media stream to the terminal after the terminal joins the multicast group corresponding to the target channel.
  • the terminal 122 after transmitting the channel switching request to the channel switching device 121 or the multicast device 123, the terminal 122 receives the timestamp difference and the burst media stream sent by the channel switching device 121. And after receiving the multicast group, the multicast media stream sent by the multicast device 123 is received. Since, the timestamp difference reflects the extent to which the burst media stream received by the terminal is stale in the real-time multicast media stream of the content relative to the target channel.
  • correcting the timestamp of the received media stream according to the timestamp difference can speed up the rate at which the terminal plays the media stream, thereby reducing the delay of the terminal playing the multicast media stream, and causing the terminal to perform channel switching without channel switching.
  • the terminal synchronously plays the multicast media stream.
  • the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

频道切换 ¾¾、 装 *¾系统 本申请要求于 2010年 6月 10日提交中国专利局、 申请号为 201010200935. 6、发明 名称为 "频道切换方法、 装置及系统"的中国专利申请的优先权, 其全部内容通过引用 结合在本申请中。 技术领域 本发明实施例涉及网络电视技术领域, 尤其涉及一种频道切换方法、 装置及系统。 背景技术 互联网协议电视 (Internet Protocol Television, 简称 IPTV) 系统已得到广泛应 用, 但频道切换过程存在时延的问题。 IPTV频道切换存在时延的原因很多, 其中最关键 的原因是等待能独立解码的关键帧需要消耗时间, 因为终端只有在接收到包括关键帧的 媒体流时才能进行播放。
为了缩短频道切换过程存在的时延, 现有技术提出了快速频道切换 (Fast Channel Change,简称 FCC) 机制, 其基本思想是在网络侧部署 FCC服务器, 通过 FCC 服务器缓 存组播设备发送的组播媒体流。 当 FCC服务器接收到终端发送的频道切换请求时, 在缓 存中选择距离频道切换时刻最新的关键帧后, 按比正常组播频道速率较快的速率, 从该 关键帧开始向终端单播缓存的组播媒体流 (FCC服务器向终端单播的媒体流, 称为突发 媒体流),使终端在接收到目标频道对应的组播设备发送的组播媒体流之前,可播放 FCC 服务器单播发送的突发媒体流, 从而使得用户能尽快看到目标频道的节目内容。
然而, FCC服务器向终端单播发送的突发媒体流在内容上旧于组播设备发送的组播 媒体流, 并且突发媒体流的发送速率大于组播媒体流的速率, 即突发媒体流的发送速率 大于终端的解码速率。 因此, 在终端接收到组播媒体流时在缓存里有可能还会缓存有还 未解码的突发媒体流,这部分未解码的突发媒体流会导致终端播放的内容较旧于其它未 进行快速频道切换的终端播放的内容, 也就是说, 与未进行频道切换的终端相比, 进行 频道切换的终端播放组播媒体流存在时延。 发明内容
本发明实施例提供一种频道切换方法、 装置及系统, 有利于减少快速频道切换后播 放组播媒体流的时延。 本发明实施例提供一种频道切换方法, 包括:
实时记录进入缓存的组播媒体流的媒体报文的时间戳和进入缓存的关键帧; 当监测到终端发送的频道切换请求时,根据记录的时间戳获取目标频道在频道切换 请求时刻进入所述缓存的媒体报文的第一时间戳以及所述目标频道在所述频道切换请 求时刻之前最后一个进入所述缓存的关键帧所在媒体报文的第二时间戳;
确定所述第一时间戳与所述第二时间戳的时间戳差值;
向所述终端发送所述时间戳差值, 从所述关键帧开始向所述终端单播发送所述缓存 中的所述目标频道的突发媒体流; 所述时间戳差值用于使所述终端修正在所述频道切换 请求时刻之后接收到的媒体流中媒体报文的时间戳;所述频道切换请求时刻之后接收到 的媒体流, 包括所述突发媒体流。
本发明实施例提供一种频道切换方法, 包括:
向网络侧发送频道切换请求, 所述频道切换请求携带有目标频道信息;
接收所述网络侧发送的时间戳差值, 以及所述网络侧发送的所述目标频道的媒体 流; 所述目标频道的媒体流包括在发送频道切换请求之后接收到的所述目标频道的突发 媒体流, 或, 在发送频道切换请求之后接收到的所述目标频道的突发媒体流和组播媒体 流;
根据所述时间戳差值修正所述媒体流的媒体报文的时间戳并播放所述媒体流,在被 修正的媒体流中相邻两个媒体报文修正后时间戳间隔值的总和达到所述时间戳差值时 停止修正。
本发明实施例提供一种频道切换装置, 包括:
记录模块,用于实时记录进入缓存的组播媒体流的媒体报文的时间戳和进入缓存的 关键帧;
时间戳获取模块, 用于当监测到终端发送的频道切换请求时, 根据记录的时间戳, 获取目标频道在频道切换请求时刻进入所述缓存的媒体报文的第一时间戳以及所述目 标频道在所述频道切换请求时刻之前最后一个进入所述缓存的关键帧所在媒体报文的 第二时间戳;
时间戳差值确定模块, 用于确定所述第一时间戳与所述第二时间戳的时间戳差值; 发送模块, 用于向所述终端发送所述时间戳差值, 从所述关键帧开始向所述终端单 播所述缓存中所述目标频道的突发媒体流; 所述时间戳差值用于使所述终端修正在所述 频道切换请求时刻之后接收到的媒体流中媒体报文的时间戳; 所述频道切换请求时刻之 后接收到的媒体流, 包括所述突发媒体流。
本发明实施例提供一种终端, 包括:
切换请求模块, 用于向网络侧发送频道切换请求, 所述频道切换请求携带有目标频 道信息;
时间戳差值接收模块, 用于接收所述网络侧发送的时间戳差值;
媒体流接收模块, 用于接收所述网络侧发送的所述目标频道的媒体流; 所述目标频 道的媒体流包括所述目标频道的突发媒体流, 或, 所述目标频道的突发媒体流和所述终 端在加入所述目标频疲道对应的组播组后接收到网络侧发送的组播媒体流;
修正播放模块,用于根据所述时间戳差值修正所述媒体流的媒体报文的时间戳并播 放所述媒体流,在被修正的媒体流中相邻两个媒体报文修正后的时间戳间隔值的总和达 到所述时间戳差值时停止修正。
本发明实施例提供一种频道切换系统, 包括: 上述频道切换装置和上述终端; 还包 括: 组播设备, 用于在所述终端加入所述目标频道对应的组播组后, 向所述终端发送组 播媒体流。
本发明实施例提供的频道切换方法、 装置及系统中, 网络侧实时记录最新进入缓存 的每个频道的组播媒体流的媒体报文的时间戳, 从而在接收到终端的频道切换请求时, 计算最新进入缓存的目标频道的组播媒体流的媒体报文的时间戳与缓存中距离频道切 换时刻最近的关键帧所在媒体报文的时间戳之间的时间戳差值。 向终端单播突发媒体流 时, 同时向终端发送该时间戳差值, 使终端将突发媒体流送往解码装置之前, 根据时间 戳差值对在频道切换请求时刻之后接收到的媒体报文的时间戳进行修正从而减少了终 端播放组播媒体流的时延,促使进行频道切换的终端与没有进行频道切换的终端同步播 放组播媒体流。 附图说明 图 1为本发明实施例提供的一种频道切换方法流程图;
图 2为本发明实施例提供的另一种频道切换方法流程图;
图 3为本发明实施例提供的又一种频道切换方法流程图;
图 4为本发明实施例提供的再一种频道切换方法流程图;
图 5为本发明实施例提供的一种频道切换装置结构示意图;
图 6为本发明实施例提供的另一种频道切换装置结构示意图; 图 7为本发明实施例提供的又一种频道切换装置结构示意图;
图 8为本发明实施例提供的一种终端的结构示意图;
图 9为本发明实施例提供的另一种终端的结构示意图;
图 10为本发明实施例提供的又一种终端的结构示意图;
图 11为本发明实施例提供的再一种终端的结构示意图;
图 12为本发明实施例提供的一种频道切换系统结构示意图。 具体实肺式 下面结合附图和具体实施例进一步说明本发明实施例的技术方案。
IPTV系统中,直播节目是由组播设备以组播的方式进行传输的。在终端进行频道切 换后, 组播设备将目标频道的组播媒体流发送给终端。 终端成功进行频道切换分为三个 阶段: 终端请求频道切换; FCC服务器监测到终端的频道切换信令后, 向终端单播突发 媒体流; 终端接收到包含第一个完整的关键帧的突发媒体流后进行播放。 由于终端需要 等待关键帧, 因此需要消耗时间。 以采用 MPEG2标准编码的 IPTV系统为例, 终端在发 出频道切换请求后, 需要等待包含起始内部编码帧 (Intra-coded Frame, 简称 I帧) 的媒体流。 因为 I帧可以独立解码显示, 而预知帧 (Previous Frame, 简称 P帧) 和双 向预知帧 (Bidirection Previous Frame, 简称 B帧) 等, 需要在它参照的 I帧接收到 时才能解码显示。 因此, 终端在发送频道切换请求后, 只有在接收到包含 I帧的媒体流 时才能进行播放。
图 1为本发明实施例提供的一种频道切换方法流程图,本实施例中的执行主体为网 络侧设备, 如: FCC服务器或 IPTV系统中的网络节点。 如图 1所示, 本实施例包括: 步骤 11 : 实时记录进入缓存的组播媒体流的媒体报文的时间戳和进入缓存的关键 帧;
在提供快速频道切换的网络节点或者 FCC服务器上预先缓存有每个频道的组播媒体 流。
若媒体流承载格式是实时传输协议 (Real Time Transport Protocol , 简称 RTP) 报文, 则记录 RTP报文里的 timestamp字段值; 如果媒体流承载格式是采用动态图像专 家组 (Moving Pictures Experts Group, 简称 MPEG) 的传输流 ( Transport Stream, 简称 TS ) , 则记录进入缓存的 TS报文里的解码时间标记 (Decode Time Stamp, 简称 DTS ) 及显示时间标记 (Presentation Time Stamp, 简称 PTS ) 的字段值。 对接收到的组播媒体流进行关键帧标识, 以标明可独立解码的关键帧。 在进行关键 帧标识后,将该键帧标识记录在网络侧的缓存中,以便在接收到终端的频道切换请求时, 实时查找到频道切换时刻之前最后一个进入缓存的关键帧。
若音频数据和视频数据在不同的媒体流中, 即音频流和视频流分别传输时 (例如,
RTP协议对音频流和视频流分别传输,而 TS协议将音频数据和视频数据合成一个媒体流 进行传输) , 则分别实时记录进入缓存的组播音频流的时间戳和组播视频流的时间戳。 在多声道系统中, 则需实时记录进入缓存的多个音频流的时间戳。
步骤 12: 当监测到终端发送的频道切换请求时, 根据记录的时间戳, 获取目标频道 在频道切换请求时刻进入缓存的媒体报文的第一时间戳以及目标频道在频道切换请求 时刻之前最后一个进入缓存的关键帧所在媒体报文的第二时间戳;
在接收到终端的频道切换请求时刻, 需确定两个媒体报文的时间戳, 这两个媒体报 文分别是: 在频道切换请求时刻目标频道进入缓存的组播媒体报文和在频道切换请求时 刻之前最后一个进入缓存的关键帧(缓存中距离频道切换时刻最近的关键帧)所在的组 播媒体报文。 在步骤 11 中记录的时间戳中, 获取上述第一个媒体报文的时间戳, 记为 第一时间戳。 在步骤 11记录的关键帧中, 先获取频道切换请求时刻之前最后一个进入 缓存的关键帧, 并查找该关键帧所在的媒体报文, 再在步骤 11记录的时间戳中, 获取 该关键帧所在媒体报文的时间戳, 记为第二时间戳。
若音频数据和视频数据在不同的媒体流中, 则需要获取以下信息:
分别获取目标频道在频道切换请求时刻进入缓存的音频报文的第一音频时间戳和 视频报文的第一视频时间戳;
分别获取在频道切换请求时刻之前最后一个进入缓存的音频报文的第二音频时间 戳和在频道切换请求时刻之前最后一个进入缓存的关键帧所在视频报文中的第二视频 时间戳。
步骤 13: 确定第一时间戳与第二时间戳的时间戳差值;
由于在频道切换请求发出后, 终端只有在接收到包含关键帧的媒体流时, 才能向终 端用户播放接收到的媒体流。因此,需要在缓存中确定距离频道切换时刻最近的关键帧, 以从该关键帧开始向终端单播发送媒体流。 该关键帧所在组播媒体报文的时间戳, 相对 于最新 (在频道切换时刻)进入缓存的组播媒体报文的时间戳较小。 因此, 上述两个组 播媒体报文的时间戳的差值, 可反映突发媒体流在进行频道切换的终端上的播放时间点 相对于在未进行频道切换的终端上的播放时间点晚多长时间, 换句话说, 终端接收到的 突发媒体流的内容相对于目标频道的实时组播媒体流陈旧的程度,也就是终端播放加入 组播组后接收到的组播媒体流的时延。 由于终端上控制播放速率的参数值是时间戳的 值, 因此在计算时间戳差值时。 不用运算成时间值。
若音频数据和视频数据在不同的媒体流中, 在计算时间戳差值时, 需分别确定第一 音频时间戳与第二音频时间戳之间的音频时间戳差值、 以及第一视频时间戳与第二视频 时间戳之间的视频时间戳差值。 时间戳差值的个数, 取决于在传输过程中音频流和视频 流的个数。 在多声道系统中有多个音频流, 需计算出多个音频时间戳差值。
步骤 14: 向终端发送时间戳差值,从关键帧开始向终端单播发送缓存的目标频道的 突发媒体流。
其中, 时间戳差值, 用于修正在频道切换请求时刻之后接收到的媒体流的媒体报文 的时间戳。 频道切换请求时刻之后接收到的媒体流, 包括突发媒体流。
由于终端在发送频道切换请求后, 只有在接收到包含关键帧的媒体流时才能进行播 放。 因此, 网络侧从关键帧所在的媒体报文开始向终端单播发送突发媒体流。 在网络侧 设备向终端单播发送的突发媒体流的媒体报文与终端从组播设备接收到的第一个媒体 报文相同时, 网络侧停止向终端单播突发媒体流。
网络侧设备可以通过多种方式向终端发送时间戳差值。 例如, 在没有单播交互信令 的情况下, 在向终端单播发送的突发媒体流的第一个媒体报文中携带时间戳差值。 在有 单播交互信令的情况下, 向终端发送频道切换应答消息, 频道切换应答消息中携带时间 戳差值。
终端接收到时间戳差值后, 从突发媒体流的第一个媒体报文开始, 对送往解码模块 的媒体报文的时间戳进行修正并播放,在终端与其它未进行频道切换的终端同步播放目 标频道的组播媒体流时, 停止对接收到媒体流进行修正。 终端对媒体流的时间戳进行修 正的主要目的是: 使终端播放媒体流的速率增大 (加快播放媒体流) 。 即在相同的时间 内, 进行频道切换的终端播放的媒体报文多于没有进行频道切换的终端播放的媒体报 文, 缩短终端用户观看直播节目的时延。
若音频数据和视频数据在不同的媒体流时, 需要分别向终端单播发送突发音频流和 突发视频流。 其中突发音频流的第一个音频媒体报文的确定方法、 突发视频流的第一个 视频媒体报文的确定方法, 以及停止单播发送突发音频流和突发视频流的方法, 与步骤 14的方法类似: 突发音频流的第一个音频媒体报文为,在频道切换请求时刻之前最后一 个进入缓存的音频媒体报文; 突发视频流的第一个视频媒体报文为, 在频道切换请求时 刻之前最后一个进入缓存的关键帧所在的视频媒体报文。
向终端发送音频时间戳差值和视频时间戳差值的方法, 如下:
在没有单播信令的情况下, 向终端单播发送突发音频流时, 在第一个音频媒体报文 中携带音频时间戳差值, 向终端单播发送视频流时, 在第一个视频媒体报文中携带视频 时间差值。 在有单播交互信令的情况下, 先向终端发送切换应答消息, 在切换应答消息 中携带音频时间戳差值和视频时间戳差值, 再分别向终端单播突发音频流和突发视频 流。
在音频数据和视频数据在不同的媒体流时, 终端接收到音频时间戳差值和视频时间 戳差值后, 根据音频时间戳差值对接收到的音频流的媒体报文的时间戳进行修正, 并根 据视频时间戳差值对接收到的视频流的媒体报文的时间戳进行修正, 从而实现音频和视 频的同步播放。
本实施例, 网络侧实时记录最新进入缓存的每个频道的组播媒体流的媒体报文的时 间戳。从而在接收到终端的频道切换请求时刻计算最新进入缓存的目标频道的组播媒体 报文的时间戳与缓存中距离频道切换时刻最近的关键帧所在组播媒体报文的时间戳之 间的时间戳差值。 向终端单播发送突发媒体流时的同时或之前向终端发送该时间戳差 值, 使终端播放在频道切换请求时刻之后接收到的媒体流之前, 根据时间戳差值对媒体 流中媒体报文的时间戳进行修正, 使该终端在相同时间内, 播放的媒体流多于没有进行 频道切换的终端播放的媒体流。 从而减少了终端播放组播媒体流的时延, 促使进行频道 切换的终端与没有进行频道切换的终端同步播放组播媒体流。 进一步, 在音频数据和视 频数据分开传输时, 网络侧向终端发送的时间戳差值包括每个音频流的音频时间戳差值 和视频流的视频时间戳差值, 从而使终端根据音频时间戳差值和视频时间戳差值, 分别 对接收到的音频流的时间戳和视频流的时间戳进行修正, 实现音频和视频的同步播放。
图 2为本发明实施例提供的另一种频道切换方法流程图,本实施例的执行主体为终 端。 其中, 网络侧内容可参见图 1对应实施例的描述。 如图 2所示, 本实施例包括: 步骤 21 : 向网络侧发送频道切换请求, 该频道切换请求携带有目标频道信息; 终端为用户观看 IPTV的设备 (播放设备) 和发起频道切换请求的设备 (例如, 机 顶盒) , 用户的频道切换请求可以由用户操作遥控器或其它软件等触发。 网络侧对实时 组播的 IPTV媒体流进行缓存。 终端到网络侧之间可以经过家庭网关, 接入网络设备, 汇聚网络等带路由功能的设备。
步骤 22: 接收网络侧发送的时间戳差值, 以及网络侧发送的目标频道的媒体流; 其中, 该目标频道的媒体流包括网络侧从关键帧开始单播发送的目标频道的突发媒 体流, 以及在终端加入目标频道对应的组播组后网络侧发送的组播媒体流。
其中, 关键帧为在频道切换请求时刻之前最后一个进入网络侧缓存的关键帧。 突发 媒体流的第一个媒体报文为所述关键帧所在的组播媒体报文。在当前向终端单播的突发 媒体流的媒体报文与终端接收到的第一个组播媒体报文相同时, 网络侧停止向终端单播 发送突发媒体流。
时间戳差值, 用于使终端修正在频道切换请求时刻之后接收到的媒体报文的时间 戳。 时间戳差值反映突发媒体流在进行频道切换的终端上的播放时间点, 相对于在未进 行频道切换的终端上的播放时间点晚多长时间, 即终端播放组播媒体流的时延。
在没有单播交互信令的情况下, 接收在突发媒体流的第一个媒体报文中携带的时间 戳差值。 在有单播交互信令的情况下, 接收频道切换应答消息中携带的时间戳差值。
在音频数据和视频数据在不同的媒体流时, 没有单播交互信令的情况下终端分别通 过突发音频流的第一个音频媒体报文和突发视频流的第一个视频媒体报文接收音频时 间戳差值和视频时间戳差值。 在音频数据和视频数据在不同的媒体流时, 有单播交互信 令的情况下, 终端通过频道切换应答消息接收音频时间戳差值和视频时间戳差值。
步骤 23 : 根据时间戳差值修正接收到媒体流的媒体报文的时间戳并播放媒体流, 在 被修正的媒体流中,相邻两个媒体报文修正后时间戳间隔值的总和达到时间戳差值时停 止修正。
终端根据网络侧发送的时间戳差值, 依次对送往解码装置中的媒体报文的时间戳进 行修正, 以加快终端播放媒体流的速率。 在修正后时间戳间隔值(相邻两个媒体报文修 正后时间戳的差值) 的总和, 达到网络侧发送的时间戳差值时, 表明终端当前播放的目 标频道的内容已与其它未进行频道切换的终端播放的目标频道内容同步,停止对接收到 的媒体流的媒体报文进行修正。 被修正的媒体流包括网络侧单播的突发媒体流, 还有可 能包括从组播设备中接收到的组播媒体流。
在音频数据和视频数据在不同的媒体流时, 终端分别根据音频时间戳差值和视频时 差戳差值,对接收到的音频流中音频媒体报文的时间戳和视频流中视频媒体报文的时间 戳进行修正并播放, 从而实现音频和视频的同步。
具体地, 根据音频时间戳差值, 对在发送频道切换请求之后接收到的音频流的音频 媒体报文的时间戳进行修正并播放。 在被修正的音频流中, 当相邻两个音频媒体报文修 正后的音频时间戳间隔值的总和达到音频时间戳差值时停止修正。 根据视频时间戳差 值, 对在发送频道切换请求之后接收到的视频媒体报文的时间戳进行修正并播放。 在被 修正的视频流中, 当相邻两个视频媒体报文修正后视频时间戳间隔值的总和达到视频时 间戳差值时停止修正。
本实施例中, 终端向 IPTV系统的网络侧发送频道切换请求后, 接收网络侧从在频 道切换时刻之前最后一个进入缓存的关键帧开始, 向终端单播发送目标频道的突发媒体 流, 并在终端加入组播组后接收网络侧发送的组播播媒体流。 此外, 终端还从网络侧接 收时间戳差值, 根据该时间差值, 对突发媒体流和从组播源中接收到的组播媒体流的媒 体报文的时间戳进行修正, 从而加快该终端播放媒体流的速率, 以减少频道切换的终端 播放组播媒体流的时延, 使进行频道切换的终端与没有进行频道切换的终端同步播放组 播媒体流。 本实施例中时间戳的修正不涉及到解码模块, 对终端及网络侧设备的改动较 小。
图 3为本发明实施例提供的又一种频道切换方法流程图。本实施例从网络侧设备 (包 括 FCC服务器和组播设备)和终端 (包括播放设备和机顶盒)两个角度, 说明本发明实 施例频道切换方法。本实施例适用于有单播交互信令的情况下终端进行快速频道切换的 场景。 如图 3所示, 本实施例包括:
步骤 31 : FCC服务器实时记录进入缓存的组播媒体流的媒体报文的时间戳和进入缓 存的关键帧;
媒体流承载格式可为 RTP, 也可为 TS。 RTP报文中存储时间戳的字段为 timestamp, TS报文中存储时间戳的字段为 PTS。 在组播媒体流进入缓存时, FCC服务器实时记录进 入缓存的 RTP报文的 timestamp值, 或实时记录进入缓存的 TS报文的 PTS值。
步骤 32: 终端向 FCC服务器发送频道切换请求,该频道切换请求中携带目标频道信 自 .
在有单播交互信令的情况下, 终端切换频道时向 FCC服务器发送频道切换请求。 步骤 33: FCC服务器查找在频道切换请求时刻目标频道进入缓存的媒体报文的第一 时间戳;
对于 RTP报文,在频道切换请求时刻目标频道进入缓存的媒体报文的时间戳为字段 timestamp的值 (第一时间戳) , 记为 timestamp— n; 对于 TS报文, 在频道切换请求时 刻目标频道进入缓存的媒体报文的时间戳为字段 Pts的值(第一时间戳), 记为 pts— n。
步骤 34: FCC服务器查找在频道切换请求时刻之前最后一个进入缓存的关键帧所在 的媒体报文; 监测到终端请求频道切换的信令后, 查找最后一个进入缓存的关键帧, 然后确定关 键帧所在的媒体报文。 对于 MPEG2标准编码的媒体流, 关键帧为 I帧; 对于采用 H. 264 标准编码的媒体流, 关键帧为即时解码刷新 (Instantaneous Decoder Refresh, 简称 IDR) 帧。
步骤 35: FCC服务器查找缓存中该关键帧所在媒体报文的第二时间戳;
对于 RTP报文, 该关键帧所在媒体报文的时间戳为字段 timestamp的值(第二时间 戳) , 记为 timestamp— i ; 对于 TS报文, 该关键帧所在媒体报文的时间戳为字段 pts 的值 (第二时间戳) , 记为 pts— i。 该关键帧所在媒体报文的时间戳, 可代表 FCC服务 器将向终端单播发送的突发媒体流的播放时间点。
步骤 36: FCC服务器计算第一时间戳与第二时间戳的时间戳差值 delay;
对于 RTP ί艮文, delay=timestamp_n-timestamp_i; 对于 TS ί艮文, delay= pts― n_ pts _ i。
由于该关键帧所在媒体报文缓存在 FCC服务器, 因此, 该关键帧所在媒体报文的时 间戳(第二时间戳)相对于在频道切换时刻进入 FCC服务器缓存的媒体报文的时间戳(第 一时间戳) 较小, 第一时间戳减去第二时间戳得到的时间戳差值 delay, 反映了突发媒 体流在终端上的播放时间点相对于在未进行频道切换的终端上的播放时间点晚多长时 间。
步骤 37: FCC服务器向终端发送携带有时间戳差值 delay的频道切换应答消息; 如果音频数据和视频数据在同一个 RTP流中,频道切换应答消息中只携带一个差值: 时间戳差值 delay。 如果音频数据和视频数据在多个 RTP流中, 在频道切换应答消息中 携带多个音频时间戳差值和视频时间戳差值。
步骤 38: FCC服务器从缓存中该关键帧所在的媒体报文开始, 向终端单播发送突发 媒体流;
步骤 39: 终端加入组播组后, 接收组播设备发送的实时组播媒体流;
终端先接收 FCC服务器发送的突发媒体流,在加入目标频道对应的组播组后接收组 播设备发送的组播媒体流。
步骤 310: 终端根据时间戳差值 delay对接收到的媒体报文的时间戳进行修正并播 放,在被修正的媒体流中相邻两个媒体报文修正后时间戳间隔值的总和达到所述时间戳 差值 delay时停止修正。
在音频数据和视频数据在不同的媒体流, 即音频流 (有可能存在多个音频流)和视 频流分开传输时, 在步骤 31 中实时记录进入缓存的每个组播音频报文的音频时间戳, 和每个组播视频报文的视频时间戳。 在步骤 33 中查找第一时间戳时, 需查找在频道切 换请求时刻进入缓存的每个音频报文的第一音频时间戳,和在频道切换请求时刻进入缓 存的每个视频报文的第一视频时间戳; 在步骤 34中查找关键帧时, 查找每个组播视频 流中在频道切换时刻最后一个进入缓存的关键帧; 在步骤 35 中查找第二时间戳时, 查 找在频道切换请求时刻之前最后一个进入缓存的每个音频报文的第二音频时间戳,和在 频道切换请求时刻之前最后一个进入缓存的关键帧所在视频报文的第二视频时间戳。
在步骤 36 中计算时间戳差值时, 计算每个音频流的音频时间戳差值和每个视频流 的视频时间戳差值。 在步骤 37 中发送频道切换应答消息时, 在频道切换应答消息中携 带每个音频流的音频时间戳差值和每个视频流的视频时间戳差值。 在步骤 38 中, 向终 端单播发送每个突发音频流和突发视频流。在步骤 310中, 终端根据接收到的每个音频 时间戳差值, 修正相应的音频流中音频报文的时间戳; 根据接收到的每个视频时间戳差 值修正相应的视频流中视频报文的时间戳, 从而实现音频和视频同步修正并播放。
终端对媒体流的时间戳进行修正的具体方法可为:
对于在发送频道切换请求之后接收到的媒体流中第一个媒体报文(即突发媒体流中 第一个突发媒体报文) : 根据时间戳差值, 修正第一个媒体报文的时间戳, 得到第一个 媒体报文的修正时间戳。
以承载媒体流的 RTP报文为例, 修正第一个 RTP报文的时间戳的公式可为: 第一个 RTP报文的 timestamp修正值 =第一个 RTP报文的 timestamp值 +时间戳差值 delay。
对于在发送频道切换请求之后接收到的媒体流中除第一个媒体报文之外的其它媒 体报文: 根据当前修正媒体报文的前一个媒体报文的修正时间戳、 当前修正媒体流的时 间戳和预设的修正后时间戳间隔值, 对当前修正媒体报文的时间戳进行修正并播放, 在 被修正的媒体流中,相邻两个媒体报文修正后时间戳间隔值的总和达到时间戳差值时停 止修正。
修正后时间戳间隔值为预设值, 可由网络侧预设后发送给终端, 也可预先内置在终 端。 修正后时间戳间隔值与终端用户观看播放内容的体验有关, 不宜过大也宜过小, 过 小会增加播放实时媒体流的时延, 过大由于播放内容过快会使终端用户的体验较差。
以承载媒体流的 RTP报文为例, 修正除第一个 RTP报文之外的其它 RTP报文的时间 戳的公式可为: 当前修正 RTP 报文的修正 t imestamp 值= (当前修正 RTP 报文的 timestamp值一前一个 RTP报文的 timestamp值) X timestamp值间隔减小到的比例 + 前一个 RTP报文的修正 timestamp值。
其中, timestamp 值间隔减小到的比例 =预设的修正后 timestamp 间隔值 /修正前 timestamp间隔值。 修正前 timestamp间隔值 =当前修正 RTP报文的 timestamp值一前 一个 RTP报文的 timestamp值, 修正后 timestamp 间隔值 =当前修正 RTP报文的修正 timestamp值—前一个 RTP报文的修正 timestamp值。
对媒体报文的时间戳修正时, 计算相邻两个媒体报文修正后的差值累计和 T。 以承 载媒体流的 RTP报文为例, Τ= Σ (当前修正 RTP报文的 timestamp值一前一个 RTP报文 的 timestamp值) X timestamp值间隔减小到的比例, 在 T的累计值网络侧发送的时间 戳差值 delay时, 停止对接收到的 RTP报文进行修正。
举例说明: 突发媒体流比组播媒体流晚 10个报文, 这 10个报文使突发媒体流在终 端上的播放时间点晚于在未进行频道切换的终端上的播放时间点。 每隔 3600时间戳对 应一个报文的播放时间, 网络侧发送的时间戳差值 delay为 36000, 原始报文 1, 2, 3, 4 ······对应的时间戳为 3600, 7200, 10800, 14400 ······修正后的报文 1, 2, 3, 4 ······对 应的时间戳为 39600, 41400 , 43200, 45000……报文原始时间戳与修正后时间戳的对比, 如表 1所示。
每修正一个报文, 相邻报文之间的时间戳差值为 1800, 在播放了 20个报文时, 累 计修正后的差值总和 T达到网络侧发送的时间戳差值 36000, 停止修正报文时间戳。 终 端对接收到的媒体流进行修正后, 达到的效果是, 进行频道切换的终端播放 20个报文 的时间段中, 没有进行频道切换的终端播放了 10个报文, SP : 在相同的时间里, 播放 的内容比原来多一倍, 播放速率为原播放速率的两倍。 从而, 使频道切换的终端与未进 行频道切换的终端同步播放实时媒体流。
另外, 如表 1所示, 每帧的数据可能有多个报文, 这一批报文具有相同的时间戳, 上述的一个 RTP报文或 TS报文在实际应用中可能对应着一批报文。 表 1为报文原始时间戳和报文修正后时间戳的对比
Figure imgf000014_0001
5 I 3600 39600
6 I 3600 39600
7 I 3600 39600
8 Bl 7200 41400
9 Bl 7200 41400
10 Bl 7200 41400
11 PI 10800 43200
12 PI 10800 43200
13 PI 10800 43200
14 B2 14400 45000
15 B2 14400 45000
16 P2 18000 46800
17 P2 18000 46800
18 P2 18000 46800
19 P2 18000 46800 进一步, 由于 P帧编码与前一帧差异的帧, B帧编码与前一帧和后一帧差异的帧, 因此, P帧的解码先于 B帧, 而 B帧显示先于 P帧, 即 B帧、 P帧的显示顺序和解码的 顺序相反, 报文中传输的顺序一般是以解码的顺序传输, 如表 2所示, P帧的时间戳晚 于 B帧, 但 P帧先于 B帧传输并解码。
表 2为按照传输顺序排列的报文在修正前后的时间戳
Figure imgf000015_0001
8 PI 10800 43200
9 PI 10800 43200
10 PI 10800 43200
11 Bl 7200 41400
12 Bl 7200 41400
13 Bl 7200 41400
14 P2 18000 46800
15 P2 18000 46800
16 P2 18000 46800
17 P2 18000 46800
18 B2 14400 45000
19 B2 14400 45000 本实施例, 在有单播交互信令的情况下, 终端向 FCC服务器发送频道切换请求, 在 确定出突发媒体流与实时组播媒体流之间的时间戳差值后, FCC服务器通过频道切换应 答消息将时间戳差值发送给终端, 之后向终端单播突发媒体流。 终端接收到的时间戳差 值后, 根据该时间戳差值, 对接收到的媒体流中媒体报文的时间戳进行修正, 在相邻两 个媒体报文修正后时间戳间隔差值的总和达到时间戳差值时停止修正。使得在相同时间 内, 进行频道切换的终端播放的媒体流, 多于没有进行频道切换的终端播放的媒体流。 减少了频道切换的终端播放组播媒体流的时延, 使进行频道切换的终端与没有进行频道 切换的终端同步播放组播媒体流。
图 4为本发明实施例提供的再一种频道切换方法流程图。本实施例与图 3对应实施 例的区别在于: 本实施例适用于没有单播交互信令的情况下终端进行快速频道切换的场 景。 如图 4所示, 本实施例包括:
步骤 41 : FCC服务器实时记录进入缓存的组播媒体流的媒体报文的时间戳和进入缓 存的关键帧;
步骤 42: 终端向目标频道对应的组播设备发送 IGMP消息, 请求加入目标频道的组 播组;
在没有单播交互信令的情况下, 终端切换频道时直接向组播设备发送网际分组管理 协议 (Internet Group Management Protocol , 简称 IGMP) 消息加入组播组。 步骤 43: FCC服务器查找在频道切换请求时刻目标频道进入缓存的媒体报文的第一 时间戳;
此场景下的网络架构中,终端向组播设备发送加入组播请求后, FCC服务器能及时 获知终端发送的加入组播请求, 具体可参见现有技术。 FCC服务器获知终端的加入组播 请求后, 查找在频道切换请求时刻目标频道进入缓存的组播媒体流的第一时间戳。
步骤 44: FCC服务器查找在频道切换请求时刻之前最后一个进入缓存的关键帧所在 的媒体报文;
步骤 45: FCC服务器查找缓存中该关键帧所在媒体报文的第二时间戳;
步骤 46: FCC服务器计算第一时间戳与第二时间戳的时间戳差值 delay;
步骤 47: FCC服务器从缓存中该关键帧所在的媒体报文开始, 向终端单播发送突发 媒体流, 在第一个突发媒体报文中携带有时间戳差值;
以承载媒体流的 RTP报文为例, FCC服务器向终端单播突发媒体流时,在第一个 RTP 报文的扩展字段中携带时间戳差值。 以承载媒体流的 TS报文为例, 在第一个 TS报文头 携带时间戳差值。 由于只有 DTS值没有 PTS值, 为无效值, 因此在第一个 PES报文中设 置 PTS— DTS— flag为 1, PTS— DTS— flag为 1不影响正常播放报文。
步骤 48: 终端加入组播组后, 终端接收组播设备发送的实时组播媒体流; 步骤 49:终端根据时间戳差值 delay对接收到的目标频道的媒体流中媒体报文的时 间戳进行修正, 并根据修正后的时间戳播放媒体流, 在被修正的媒体流中相邻两个媒体 报文修正后时间戳间隔值的总和达到时间戳差值 delay时停止修正。
具体修正过程参见图 3对应实施例中的描述。
本发明实施例, 在没有单播交互信令的情况下, 需要进行频道切换时终端直接向目 标频道对应的组播设备发送加入组播的请求。 FCC服务器在监测到终端的频道切换请求 后, 确定出突发媒体流与组播媒体流之间的时间戳差值。 该时间戳差值反映了终端播放 组播媒体流的时延。在向终端单播突发媒体流时, 将时间戳差值携带在第一个突发媒体 流中发送给终端。 终端接收到的时间戳差值后, 根据该时间差值, 对接收到媒体流进行 修正,在相邻媒体流修正后的时间戳之间的差值总和达到时间戳差值时停止修正。从而, 减少频道切换的终端播放组播媒体流的时延, 使进行频道切换的终端与没有进行频道切 换的终端同步播放组播媒体流。
图 5为本发明实施例提供的一种频道切换装置结构示意图。 如图 5所示, 本实施例 包括: 记录模块 51、 时间戳获取模块 52、 时间戳差值确定模块 53和发送模块 54。
记录模块 51,用于实时记录进入缓存的组播媒体流的媒体报文的时间戳和进入缓存 的关键帧;
时间戳获取模块 52,用于当监测到终端发送的频道切换请求时,根据记录的时间戳, 获取目标频道在频道切换请求时刻进入缓存的媒体报文的第一时间戳以及在频道切换 请求时刻之前最后一个进入缓存的关键帧所在媒体报文的第二时间戳;
时间戳差值确定模块 53, 用于确定第一时间戳与第二时间戳的时间戳差值; 发送模块 54,用于向终端发送时间戳差值,从关键帧开始向终端单播发送缓存中目 标频道的突发媒体流; 时间戳差值用于使终端修正在频道切换请求时刻之后接收到的媒 体流中媒体报文的时间戳; 频道切换请求时刻之后接收到的媒体流, 包括突发媒体流。
具体地, 记录模块 51 实时记录进入缓存的组播媒体流中媒体报文的时间戳和进入 缓存的关键帧。 时间戳获取模块 52监测到终端发送的频道切换请求时, 根据记录模块 51实时记录的时间戳,获取目标频道在频道切换请求时刻进入缓存的媒体报文的第一时 间戳, 并获取目标频道在频道切换请求时刻之前最后一个进入缓存的关键帧所在媒体报 文的第二时间戳。时间戳差值确定模块 53确定时间戳获取模块 52获取的第一时间戳与 第二时间戳之间的时间戳差值。发送模块 54向终端发送时间戳差值确定模块 53确定的 时间戳差值, 并向终端单播发送目标频道的突发媒体流。
如图 6所示, 发送模块 54包括: 第一切换应答子模块 541和单播子模块 542。 单播子模块 542, 用于向终端单播发送目标频道的突发媒体流, 并将时间戳差值携 带在突发媒体流的第一个媒体报文中发送给终端。
在没有单播交互信令的情况下, 单播子模块 542向终端单播发送目标频道的突发媒 体流, 在向终端单播发送第一个突发媒体报文时, 在第一突发媒体报文中携带时间戳差 值确定模块 53确定的时间戳差值。
第一切换应答子模块 541,用于向终端发送携带有时间戳差值的频道切换应答消息。 单播子模块 542, 用于向终端单播发送目标频道的突发媒体流。
在有单播交互信令的情况下,第一切换应答子模块 541向终端发送携带有时间戳差 值确定模块 53确定的时间戳差值的频道切换应答消息, 单播子模块 542向终端单播发 送目标频道的突发媒体流。
本实施例各模块的工作机理参见图 1对应实施例的描述, 在此不再赘述。
本实施例, 记录模块 51 实时记录最新进入缓存的每个频道的媒体报文的时间戳和 进入缓存的关键帧。 从而在接收到终端的频道切换请求时刻时间戳差值确定模块 53确 定出: 最新进入缓存的目标频道的媒体报文的时间戳, 与缓存中距离频道切换时刻最近 的关键帧所在媒体报文的时间戳之间的时间戳差值。 发送模块 54 向终端单播发送突发 媒体流, 并向终端发送该时间戳差值, 使终端播放在频道切换请求时刻之后接收到的媒 体流之前, 根据时间戳差值对媒体流中媒体报文的时间戳进行修正。 从而, 使该终端在 相同时间内, 播放的媒体流多于没有进行频道切换的终端播放的媒体流。 因此, 本实施 例减少了终端播放组播媒体流的时延, 使进行频道切换的终端与没有进行频道切换的终 端同步播放组播媒体流。
图 7为本发明实施例提供的又一种频道切换装置结构示意图。本实施例频道切换装 置适用于, 音频数据和视频数据在不同的媒体流中传输的场景。
如图 7所示, 图 5中记录模块 51包括: 音频时间戳记录子模块 511和视频时间戳 记录子模块 512。
音频时间戳记录子模块 511,用于实时记录进入缓存的音频媒体报文的音频时间戳; 视频时间戳记录子模块 512, 用于实时记录进入缓存的视频媒体报文的视频时间戳; 如图 7所示, 图 5中时间戳获取模块 52包括: 音频时间戳获取子模块 521和视频 时间戳获取子模块 522。
音频时间戳获取子模块 521, 用于获取目标频道在频道切换请求时刻进入缓存的音 频媒体报文的第一音频时间戳和在频道切换请求时刻之前最后一个进入缓存的音频媒 体报文的第二音频时间戳;
视频时间戳获取子模块 522, 用于获取目标频道在频道切换请求时刻进入缓存的视 频媒体报文的第一视频时间戳和在频道切换请求时刻之前最后一个进入缓存的关键帧 所在视频媒体报文的第二视频时间戳;
时间戳差值确定模块 53,包括:音频时间戳差值确定子模块 531和视频时间戳差值 确定子模块 532。
音频时间戳差值确定子模块 531, 用于确定第一音频时间戳与第二音频时间戳的音 频时间戳差值;
视频时间戳差值确定子模块 532, 用于确定第一视频时间戳与第二视频时间戳的视 频时间戳差值;
如图 7所示, 图 5中发送模块 54, 包括: 第二切换应答子模块 543、 音频单播子模 块 544和视频单播子模块 545。
第二切换应答子模块 543, 用于向终端发送携带有音频时间戳差值和视频时间戳差 值的频道切换应答消息; 音频单播子模块 544, 用于向终端单播发送突发音频流, 还用于将音频时间戳差值 携带在在突发音频流的第一个音频媒体报文中发送给终端;
视频单播子模块 545, 用于向终端单播发送突发视频流, 还用于将视频时间戳携带 在突发视频流的第一个视频媒体报文中发送给终端。
在有单播交互信令的情况下,第二切换应答子模块 543先向终端发送携带有音频时 间戳差值和视频时间戳差值的频道切换应答消息,音频单播子模块 544再向终端单播发 送突发音频流, 并且视频单播子模块 545向终端单播发送突发视频流。
本实施例各模块的工作机理参见图 1、 图 3和图 4对应实施例的描述, 在此不再赘 述。
本实施例, 时间戳差值确定模块 53确定音频时间戳获取子模块 521获取的第一音 频时间戳与第二音频时间戳之间的差值: 音频时间戳差值; 并确定视频时间戳获取子模 块 522获取的第一视频时间戳信息与第二视频时间戳之间的差值: 视频时间戳差值。 在 没有单播交互信令的情况下, 音频单播子模块 544向终端单播突发音频流时, 将音频时 间戳差值携带在突发音频流的第一个音频流中发送给终端。视频单播子模块 545向终端 单播突发视频流时, 将视频时间戳差值携带在突发视频流的第一个视频流中发送给终 端。 在没有单播交互信令的情况下, 音频单播子模块 544向终端单播突发音频流时, 将 音频时间戳差值携带在突发音频流的第一个音频媒体报文中发送给终端。视频单播子模 块 545向终端单播突发视频流时,将视频时间戳差值携带在突发视频流的第一个视频媒 体报文中发送给终端。 从而使终端接收到音频时间戳差值和视频时间戳差值后, 根据音 频时间戳差值和视频时间戳差值, 分别对接收到的音频流的时间戳和视频流的时间戳进 行修正, 从而实现音频和视频的同步播放。
图 8为本发明实施例提供的一种终端的结构示意图。 如图 8所示, 本实施例包括: 切换请求模块 81、 时间戳差值接收模块 82、 媒体流接收模块 83和修正播放模块 84。
切换请求模块 81,用于向网络侧发送频道切换请求,频道切换请求携带有目标频道 自 ■
I Ή、 ,
时间戳差值接收模块 82, 用于接收网络侧发送的时间戳差值;
媒体流接收模块 83,用于接收网络侧发送的目标频道的媒体流; 目标频道的媒体流 包括目标频道的突发媒体流, 或, 目标频道的突发媒体流和终端在加入目标频疲道对应 的组播组后接收到网络侧发送的组播媒体流;
修正播放模块 84,用于根据时间戳差值修正媒体流的媒体报文的时间戳并播放媒体 流,在被修正的媒体流中相邻两个媒体报文修正后的时间戳间隔值的总和达到时间戳差 值时停止修正。
具体地, 切换请求模块 81 向网络侧发送包括目标频道的频道切换请求后, 时间戳 差值接收模块 82接收网络侧发送的时间戳差值, 媒体流接收模块 83接收网络侧发送的 媒体流。 修正播放模块 84根据时间戳差值接收模块 82接收到的时间戳差值, 对在发送 频道切换请求之后媒体流接收模块 83接收到的媒体流中媒体报文的时间戳进行修正并 播放媒体流, 在被修正的媒体流中, 相邻两个媒体服文修正后时间戳间隔值的总和达到 时间戳差值时停止修正。
如图 9所示, 修正播放模块 84包括: 第一修正播放子模块 841、第二修正播放子模 块 842。
第一修正播放子模块 841, 用于根据时间戳差值, 对媒体流中第一个媒体报文的时 间戳进行修正并播放;
第二修正播放子模块 842, 用于根据当前被修正媒体报文的前一个媒体报文的修正 时间戳、 当前被修正媒体报文的时间戳和预设的修正后时间戳间隔值, 对当前被修正媒 体报文的时间戳进行修正并播放, 在被修正的媒体流中, 相邻两个媒体报文修正后时间 戳间隔值的总和达到时间戳差值时停止修正。
具体地,第一修正播放子模块 841,根据时间戳差值接收模块 82接收到的时间戳差 值, 对媒体流接收模块 83 中接收到第一个媒体报文的时间戳进行修正并播放。 第二修 正播放子模块 842, 根据第一修正播放子模块 841对第一个媒体报文的时间戳修正后得 到的修正时间戳, 对媒体流接收模块 83接收到的第二个媒体突发的时间戳进行修正并 播放。 依次类推, 第二修正播放子模块 842对媒体流中后续媒体报文时, 根据当前修正 媒体流的前一个媒体报文的修正时间戳、 当前修正媒体报文的时间戳和预设的修正后时 间戳间隔值, 对当前修正媒体报文的时间戳进行修正并播放, 在被修正的媒体流中, 相 邻两个媒体报文修正后时间戳间隔值的总和达到时间戳差值时停止修正。
本实施例中各模块的工作机理,参见图 2或图 3对应实施例的描述,在此不再赘述。 本实施例, 修正播放模块 84根据时间戳差值接收模块 82接收的时间戳差值, 对媒 体流接收模块 83 的媒体流中媒体报文的时间戳进行修正并播放。 由于, 时间戳差值反 映了终端接收到的突发媒体流在内容相对于目标频道的实时组播媒体流陈旧的程度。 因 此, 根据时间戳差值修正接收到的媒体报文的时间戳, 可加快终端播放媒体流的速率, 从 而减少了终端播放组播媒体流的时延, 使进行频道切换的终端与没有进行频道切换的终端 同步播放组播媒体流。
图 10为本发明实施例提供的又一种终端的结构示意图。 在图 9对应实施例的基础 上, 如图 10所示, 时间戳差值接收模块 82包括: 时间戳差值接收子模块 821和第一切 换应答接收子模块 822。
时间戳差值接收子模块 821, 用于通过突发媒体流的第一个媒体报文接收网络侧发 送的时间戳差值;
第一切换应答接收子模块 822, 用于接收网络侧发送的携带有时间戳差值的频道切 换应答消息。
在没有单播交互信令的情况下, 终端向网络侧发送频道切换请求后, 时间戳差值接 收子模块 821通过媒体流接收模块 83发送的突发媒体流中第一个媒体报文接收时间戳 差值。 在单播交互信令的情况下, 终端向网络侧发送频道切换请求后, 第一切换应答接 收子模块 822通过网络侧发送的频道切换应答消息接收时间戳差值。
本实施例, 在没有单播交互信令的情况下, 通过媒体流接收模块 83发送的媒体流 中第一个媒体报文, 接收网络侧发送的用于修正媒体流中媒体报文的时间差值。 在有单 播交互信令的情况下,通过第一切换应答接收子模块 822接收网络侧发送的时间戳差值。 因此,本实施例,适宜于没有单播放交互信令的场景,也适宜于有单播交互信令的场景, 不受应用场景的限制。
图 11 为本发明实施例提供的再一种终端的结构示意图。 本实施例适宜于音频数据 和视频数据在不同的媒体流中传输的场景。本实施例为图 8对应实施例的具体实现方式, 本实施例具体为:
时间戳差值接收模块 82, 包括; 音频时间戳差值接收子模块 823、 视频时间戳差值 接收子模块 824和第二切换应答接收子模块 825。
音频时间戳差值接收子模块 823, 用于通过突发音频流的第一个音频媒体报文接收 网络侧发送的音频时间戳差值;
视频时间戳差值接收子模块 824, 用于通过突发视频流的第一个视频媒体报文接收 网络侧发送的视频时间戳差值;
第二切换应答接收子模块 825, 用于接收网络侧发送的携带有音频时间戳差值和视 频时间戳差值的频道切换应答消息。
媒体流接收模块 83,包括:突发音频流接收子模块 831、突发视频流接收子模块 832、 组播音频流接收子模块 833和组播视频流接收子模块 834。 突发音频流接收子模块 831, 用于接收网络侧单播的突发音频流;
突发视频流接收子模块 832, 用于接收网络侧单播的突发视频流;
组播音频流接收子模块 833, 用于在加入目标频道对应的组播组后接收网络侧发送 的组播音频流;
组播视频流接收子模块 834, 用于在加入目标频道对应的组播组后接收网络侧发送 的组播视频流。
具体地, 频道切换请求模块 81 向网络侧发送频道切换请求后, 在没有单播交互信 令的情况下,音频时间戳差值接收子模块 823通过突发音频流接收子模块 831接收网络 侧发送的音频时间戳差值, 视频流时间戳差值接收子模块通过突发视频流接收子模块 832接收网络侧发送的视频时间戳差值; 在有单播交互信令的情况下, 第二切换应答接 收子模块 825通过网络侧的频道切换应答消息接收网络侧发送的音频时间戳差值和视频 时间戳差值。
修正播放模块 84, 包括: 音频修正播放子模块 843和视频修正播放子模块 844。 音频修正播放子模块 843, 用于根据音频时间戳差值, 对在发送频道切换请求之后 接收到的音频流中音频媒体报文的时间戳进行修正并播放,在相邻两个音频媒体报文修 正后音频时间戳间隔值的总和达到音频时间戳差值时停止修正;
视频修正播放子模块 844, 用于根据视频时间戳差值, 对在发送频道切换请求之后 接收到的视频流中视频媒体报文的时间戳进行修正并播放,在相邻两个视频媒体报文修 正后视频时间戳间隔值的总和达到视频时间戳差值时停止修正。
具体地, 在没有单播交互信令的情况下,音频修正播放子模块 843根据音频时间戳差 值接收子模块 823接收到的音频时间戳差值, 对突发音频流接收子模块 831接收到的突发 音频流中音频媒体报文的时间戳进行修正并播放, 有可能还需对组播音频流接收子模块 833接收到的组播音频流中音频媒体报文进行修正并播放; 同时,视频修正播放子模块 844 根据视频时间戳差值接收子模块 824接收到的视频时间戳差值, 对突发视频流接收子模块 832接收到的突发视频流中视频媒体报文的时间戳进行修正并播放, 有可能还需对组播视 频流接收子模块 834接收到的组播视频流中视频媒体报文进行修正并播放。
在有单播交互信令的情况下,音频修正播放子模块 843根据第二切换应答接收子模 块 825接收到的音频时间戳差值,对突发音频流接收子模块 831接收到的突发音频流中 音频媒体报文的时间戳进行修正并播放,有可能还需对组播音频流接收子模块 833接收 到的组播音频流中音频媒体报文进行修正并播放; 同时, 视频修正播放子模块 844根据 第二切换应答接收子模块 825接收到的视频时间戳差值, 对突发视频流接收子模块 832 接收到的突发视频流中视频媒体报文的时间戳进行修正并播放,有可能还需对组播视频 流接收子模块 834接收到的组播视频流中视频媒体报文进行修正并播放。
本实施例中各模块的工作机理, 参见图 2、 图 3和图 4对应实施例的描述, 在此不 再赘述。
本实施例, 在没有单播交互信令的情况下, 音频时间戳差值接收子模块 823接收网 络侧发送的音频时间戳差值和视频时间戳差值接收子模块 824接收网络侧发送的视频时 间戳差值。 在有单播交互信令的情况下, 第二切换应答接收子模块 825接收音频时间戳 差值和视频时间戳差值。 因此, 本实施例, 适宜于没有单播放交互信令的场景, 也适宜 于有单播交互信令的场景, 不受应用场景的限制。 音频修正播放子模块 843根据音频时 间戳差值,修正突发音频流接收子模块 831接收到的音频媒体报文的时间戳和组播音频 流接收子模块 833接收到的音频媒体报文的时间戳。 同时, 视频修正播放子模块 844修 正突发视频流接收子模块 832接收到的视频媒体报文的时间戳和组播视频流接收子模块 834接收到的视频媒体报文的时间戳。 从而, 使修正后的音频流和视频流同步播放。
图 12为本发明实施例提供的一种频道切换系统结构示意图。 如图 12所示, 本实施 例包括: 频道切换装置 121、 终端 122和组播设备 123。
其中, 频道切换装置 121可为图 5、 6和 7中描述的频道切换装置, 终端 122可为 图 8、 9和 10中描述的终端。
组播设备 123,用于在终端加入目标频道对应的组播组后, 向终端发送组播媒体流。 本实施例, 终端 122向频道切换装置 121, 或组播设备 123发送频道切换请求后, 接收 频道切换装置 121 发送的时间戳差值和突发媒体流。 并在加入组播组后接收组播设备 123发送的组播媒体流。 由于, 时间戳差值反映了终端接收到的突发媒体流在内容相对 于目标频道的实时组播媒体流陈旧的程度。 因此, 根据时间戳差值修正接收到的媒体流 的时间戳, 可加快终端播放媒体流的速率, 从而减少了终端播放组播媒体流的时延, 使 进行频道切换的终端与没有进行频道切换的终端同步播放组播媒体流。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步骤可以通过程 序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读取存储介质中, 该程序 在执行时, 执行包括上述方法实施例的步骤; 而前述的存储介质包括: R0M、 RAM, 磁碟 或者光盘等各种可以存储程序代码的介质。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对其限制; 尽管 参照前述实施例对本发明进行了详细的说明, 本领域的普通技术人员应当理解: 其依然 可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分技术特征进行等同替 换; 而这些修改或者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的 精神和范围。

Claims

权利要求
1、 一种频道切换方法, 其特征在于, 包括:
实时记录进入缓存的组播媒体流的媒体报文的时间戳和进入缓存的关键帧; 当监测到终端发送的频道切换请求时,根据记录的时间戳获取目标频道在频道切换 请求时刻进入所述缓存的媒体报文的第一时间戳以及所述目标频道在所述频道切换请 求时刻之前最后一个进入所述缓存的关键帧所在媒体报文的第二时间戳;
确定所述第一时间戳与所述第二时间戳的时间戳差值;
向所述终端发送所述时间戳差值, 从所述关键帧开始向所述终端单播发送所述缓存 中的所述目标频道的突发媒体流; 所述时间戳差值用于使所述终端修正在所述频道切换 请求时刻之后接收到的媒体流中媒体报文的时间戳;所述频道切换请求时刻之后接收到 的媒体流, 包括所述突发媒体流。
2、 根据权利要求 1所述的频道切换方法, 其特征在于, 向所述终端发送所述时间 戳差值, 包括:
将所述时间戳差值携带在所述突发媒体流的第一个媒体报文中发送给所述终端; 或,
将所述时间戳差值携带在频道切换应答消息中发送给所述终端。
3、 根据权利要求 1所述的频道切换方法, 其特征在于: 所述组播媒体流包括组播 视频流和组播音频流;
所述方法具体包括: 实时记录进入缓存的组播音频流的音频媒体报文的时间戳和组 播视频流的视频媒体报文的时间戳;
分别获取目标频道在频道切换请求时刻进入缓存的音频媒体报文的第一音频时间 戳和视频媒体报文的第一视频时间戳, 以及在频道切换请求时刻之前最后一个进入所述 缓存的音频媒体报文的第二音频时间戳和关键帧所在视频媒体报文的第二视频时间戳; 分别确定所述第一音频时间戳与所述第二音频时间戳的音频时间戳差值、 以及所述 第一视频时间戳与所述第二视频时间戳的视频时间戳差值;
向所述终端发送所述音频时间戳差值和所述视频时间戳差值;
向所述终端单播发送所述缓存中的所述目标频道的突发音频流和突发视频流;所述 音频时间戳差值和所述视频时间戳差值分别用于使所述终端修正所述频道切换请求之 后接收到的音频媒体流中媒体报文的时间戳和视频媒体流中媒体报文的时间戳。
4、 一种频道切换方法, 其特征在于, 包括: 向网络侧发送频道切换请求, 所述频道切换请求携带有目标频道信息;
接收所述网络侧发送的时间戳差值, 以及所述网络侧发送的所述目标频道的媒体 流; 所述目标频道的媒体流包括在发送频道切换请求之后接收到的所述目标频道的突发 媒体流, 或, 在发送频道切换请求之后接收到的所述目标频道的突发媒体流和组播媒体 流;
根据所述时间戳差值修正所述媒体流的媒体报文的时间戳并播放所述媒体流,在被 修正的媒体流中相邻两个媒体报文修正后时间戳间隔值的总和达到所述时间戳差值时 停止修正。
5、 根据权利要求 4所述的频道切换方法, 其特征在于, 根据所述时间戳差值修正 所述媒体流的媒体报文的时间戳并播放所述媒体流,在被修正的媒体流中相邻两个媒体 报文修正后的时间戳间隔值的总和达到所述时间戳差值时停止修正, 包括:
根据所述时间戳差值, 对所述媒体流中第一个媒体报文的时间戳进行修正并播放; 根据当前被修正媒体报文的前一个媒体报文的修正时间戳、所述当前被修正媒体报 文的时间戳和预设的修正后时间戳间隔值,对所述当前被修正媒体报文的时间戳进行修 正并播放, 在被修正的媒体流中, 相邻两个媒体报文修正后时间戳间隔值的总和达到所 述时间戳差值时停止修正。
6、 根据权利要求 4或 5所述的频道切换方法, 其特征在于, 接收所述网络侧发送 的时间戳差值, 包括:
通过所述突发媒体流的第一个媒体报文接收所述时间戳差值; 或,
通过所述网络侧发送的频道切换应答消息接收所述时间戳差值频道切换应答消息。
7、 根据权利要求 6所述的频道切换方法, 其特征在于:
接收所述网络侧发送的时间戳差值, 以及所述网络侧发送的所述目标频道的媒体 流, 包括:
接收所述网络侧发送的携带有音频时间戳差值和视频时间戳差值的频道切换应答 消息, 以及分别接收所述网络侧发送的突发音频流和突发视频流; 或, 分别接收所述网 络侧发送的携带有音频时间戳差值的突发音频流,和携带有视频时间戳差值的突发视频 流;
在加入所述目标频道对应的组播组后分别接收所述网络侧发送的组播音频流和组 播视频流;
根据所述时间戳差值修正所述媒体流的媒体报文的时间戳并播放所述媒体流,在被 修正的媒体流中相邻两个媒体报文修正后时间戳间隔值的总和达到所述时间戳差值时 停止修正, 包括:
根据所述音频时间戳差值,对在发送频道切换请求之后接收到的音频流中音频媒体 报文的时间戳进行修正并播放,在相邻两个音频媒体报文修正后音频时间戳间隔值的总 和达到所述音频时间戳差值时停止修正;
根据所述视频时间戳差值,对在发送频道切换请求之后接收到的视频流中视频媒体 报文的时间戳进行修正并播放,在相邻两个视频媒体报文修正后视频时间戳间隔值的总 和达到所述视频时间戳差值时停止修正。
8、 一种频道切换装置, 其特征在于, 包括:
记录模块,用于实时记录进入缓存的组播媒体流的媒体报文的时间戳和进入缓存的 关键帧;
时间戳获取模块, 用于当监测到终端发送的频道切换请求时, 根据记录的时间戳, 获取目标频道在频道切换请求时刻进入所述缓存的媒体报文的第一时间戳以及所述目 标频道在所述频道切换请求时刻之前最后一个进入所述缓存的关键帧所在媒体报文的 第二时间戳;
时间戳差值确定模块, 用于确定所述第一时间戳与所述第二时间戳的时间戳差值; 发送模块, 用于向所述终端发送所述时间戳差值, 从所述关键帧开始向所述终端单 播发送所述缓存中所述目标频道的突发媒体流; 所述时间戳差值用于使所述终端修正在 所述频道切换请求时刻之后接收到的媒体流中媒体报文的时间戳; 所述频道切换请求时 刻之后接收到的媒体流, 包括所述突发媒体流。
9、 根据权利要求 8所述的频道切换装置, 其特征在于, 所述发送模块, 包括: 第一切换应答子模块,用于向所述终端发送携带有所述时间戳差值的频道切换应答 消息;
单播子模块, 用于向所述终端单播发送所述目标频道的突发媒体流; 或所述单播子 模块, 用于向所述终端单播所述目标频道的突发媒体流, 并将所述时间戳差值携带在所 述突发媒体流的第一个媒体报文中发送给所述终端。
10、 根据权利要求 8所述的频道切换装置, 其特征在于:
所述记录模块, 包括:
音频时间戳记录子模块,用于实时记录进入缓存的组播音频流的媒体报文的音频时 间戳;
视频时间戳记录子模块,用于实时记录进入缓存的组播视频流的媒体报文的视频时 间戳; 所述时间戳获取模块, 包括:
音频时间戳获取子模块,用于获取目标频道在频道切换请求时刻进入缓存的音频媒 体报文的第一音频时间戳和在频道切换请求时刻之前最后一个进入所述缓存的音频媒 体报文的第二音频时间戳;
视频时间戳获取子模块,用于获取目标频道在频道切换请求时刻进入缓存的视频媒 体报文的第一视频时间戳和在频道切换请求时刻之前最后一个进入所述缓存的关键帧 所在视频媒体报文的第二视频时间戳;
所述时间戳差值确定模块, 包括:
音频时间戳差值确定子模块,用于确定所述第一音频时间戳与所述第二音频时间戳 的音频时间戳差值;
视频时间戳差值确定子模块,用于确定所述第一视频时间戳与所述第二视频时间戳 的视频时间戳差值;
所述发送模块, 包括:
第二切换应答子模块,用于向所述终端发送携带有所述音频时间戳差值和视频时间 戳差值的频道切换应答消息;
音频单播子模块, 用于向所述终端单播发送突发音频流, 还用于将所述音频时间戳 差值携带在在所述突发音频流的第一个音频媒体报文中发送给所述终端;
视频单播子模块, 用于向所述终端单播发送突发视频流, 还用于将所述视频时间戳 携带在所述突发视频流的第一个视频媒体报文中发送给所述终端。
11、 一种终端, 其特征在于, 包括:
切换请求模块, 用于向网络侧发送频道切换请求, 所述频道切换请求携带有目标频 道信息;
时间戳差值接收模块, 用于接收所述网络侧发送的时间戳差值;
媒体流接收模块, 用于接收所述网络侧发送的所述目标频道的媒体流; 所述目标频 道的媒体流包括所述目标频道的突发媒体流, 或, 所述目标频道的突发媒体流和所述终 端在加入所述目标频疲道对应的组播组后接收到网络侧发送的组播媒体流;
修正播放模块,用于根据所述时间戳差值修正所述媒体流的媒体报文的时间戳并播 放所述媒体流,在被修正的媒体流中相邻两个媒体报文修正后时间戳间隔值的总和达到 所述时间戳差值时停止修正。
12、 根据权利要求 11所述的终端, 其特征在于, 所述修正播放模块包括: 第一修正播放子模块, 用于根据所述时间戳差值, 对所述媒体流中第一个媒体报文 的时间戳进行修正并播放;
第二修正播放子模块,用于根据当前被修正媒体报文的前一个媒体报文的修正时间 戳、 所述当前被修正媒体报文的时间戳和预设的修正后时间戳间隔值, 对所述当前被修 正媒体报文的时间戳进行修正并播放, 在被修正的媒体流中, 相邻两个媒体报文修正后 时间戳间隔值的总和达到所述时间戳差值时停止修正。
13、 根据权利要求 11或 12所述的终端, 其特征在于, 所述时间戳差值接收模块包 括:
时间戳差值接收子模块,用于通过所述突发媒体流的第一个媒体报文接收所述网络 侧发送的时间戳差值;
第一切换应答接收子模块,用于接收所述网络侧发送的携带有所述时间戳差值的频 道切换应答消息。
14、 根据权利要求 11所述的终端, 其特征在于:
所述媒体流接收模块, 包括:
突发音频流接收子模块, 用于接收所述网络侧单播的突发音频流;
突发视频流接收子模块, 用于接收所述网络侧单播的突发视频流;
组播音频流接收子模块,用于在加入所述目标频道对应的组播组后接收所述网络侧 发送的组播音频流;
组播视频流接收子模块,用于在加入所述目标频道对应的组播组后接收所述网络侧 发送的组播视频流;
所述时间戳差值接收模块, 包括:
音频时间戳差值接收子模块,用于通过所述突发音频流的第一个音频媒体报文接收 所述网络侧发送的音频时间戳差值;
视频时间戳差值接收子模块,用于通过所述突发视频流的第一个视频媒体报文接收 所述网络侧发送的视频时间戳差值;
第二切换应答接收子模块,用于接收所述网络侧发送的携带有音频时间戳差值和视 频时间戳差值的频道切换应答消息;
修正播放模块, 包括:
音频修正播放子模块, 用于根据所述音频时间戳差值, 对在发送频道切换请求之后 接收到的音频流中音频媒体报文的时间戳进行修正并播放,在相邻两个音频媒体报文修 正后音频时间戳间隔值的总和达到所述音频时间戳差值时停止修正;
视频修正播放子模块, 用于根据所述视频时间戳差值, 对在发送频道切换请求之后 接收到的视频流中视频媒体报文的时间戳进行修正并播放,在相邻两个视频媒体报文修 正后视频时间戳间隔值的总和达到所述视频时间戳差值时停止修正。
15、 一种频道切换系统, 其特征在于, 包括: 如权利要求 8至 10任一所述的频道 切换装置, 和如权利要求 11至 14任一所述的终端; 还包括: 组播设备, 用于在所述终 端加入所述目标频道对应的组播组后, 向所述终端发送组播媒体流。
PCT/CN2011/072648 2010-06-10 2011-04-12 频道切换方法、装置及系统 WO2011153868A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP11791859.9A EP2509320A4 (en) 2010-06-10 2011-04-12 CHANNEL SWITCHING, DEVICE AND SYSTEM
US13/566,647 US8473997B2 (en) 2010-06-10 2012-08-03 Channel changing method, apparatus, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010200935.6 2010-06-10
CN201010200935.6A CN101854533B (zh) 2010-06-10 2010-06-10 频道切换方法、装置及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/566,647 Continuation US8473997B2 (en) 2010-06-10 2012-08-03 Channel changing method, apparatus, and system

Publications (1)

Publication Number Publication Date
WO2011153868A1 true WO2011153868A1 (zh) 2011-12-15

Family

ID=42805760

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/072648 WO2011153868A1 (zh) 2010-06-10 2011-04-12 频道切换方法、装置及系统

Country Status (4)

Country Link
US (1) US8473997B2 (zh)
EP (1) EP2509320A4 (zh)
CN (1) CN101854533B (zh)
WO (1) WO2011153868A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854533B (zh) 2010-06-10 2012-05-23 华为技术有限公司 频道切换方法、装置及系统
CN102143130B (zh) * 2010-06-30 2013-11-06 华为技术有限公司 一种快速频道切换时获取关键信息的方法、装置和系统
CN102547448B (zh) * 2010-12-20 2014-03-19 中兴通讯股份有限公司 频道切换方法、终端及系统
CN102647624A (zh) * 2011-02-18 2012-08-22 中兴通讯股份有限公司 一种码流数据的干扰处理方法和系统
GB2490659A (en) * 2011-05-04 2012-11-14 Nds Ltd Fast channel change using channel packs comprising independently decodable frame segments having differing qualities
US9762774B2 (en) 2011-08-12 2017-09-12 Samsung Electronics Co., Ltd. Receiving apparatus and receiving method thereof
TW201338528A (zh) * 2012-03-02 2013-09-16 Mstar Semiconductor Inc 數位電視資料處理方法以及使用此數位電視資料處理方法的數位電視系統
CN102710967A (zh) * 2012-05-22 2012-10-03 袁华安 一种云电视系统与方法
CN102710968A (zh) * 2012-05-22 2012-10-03 袁华安 云电视系统中视频流同步方法
EP2974314B1 (en) * 2013-03-15 2020-09-23 Robert Bosch GmbH Switching apparatus for switching compressed video streams, conference system with the switching apparatus
CN103414939B (zh) * 2013-07-29 2017-09-05 深圳Tcl新技术有限公司 一种频道切换方法和装置
CN103457793B (zh) * 2013-08-21 2017-10-10 华为技术有限公司 一种组播时延测量方法、设备及系统
CN104426875A (zh) * 2013-09-02 2015-03-18 中兴通讯股份有限公司 一种频道快速切换方法、服务器及系统
CN104469541A (zh) * 2013-09-18 2015-03-25 中兴通讯股份有限公司 一种iptv的频道切换方法和装置、终端
TWI507023B (zh) * 2013-09-30 2015-11-01 Synchronous playback system and its method
US10237628B2 (en) * 2014-02-03 2019-03-19 Oath Inc. Tracking and measurement enhancements in a real-time advertisement bidding system
EP3240337B1 (en) 2014-12-26 2019-12-04 Huawei Technologies Co. Ltd. Data transmission method and device
US10735823B2 (en) * 2015-03-13 2020-08-04 Telefonaktiebolaget Lm Ericsson (Publ) System and method for optimized delivery of live ABR media
US10432688B2 (en) * 2015-03-13 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for optimized delivery of live ABR media
CN104853240A (zh) * 2015-05-12 2015-08-19 四川金网通电子科技有限公司 通过慢放和快放机制实现机顶盒直播切台稳定播放的方法
EP3300326B1 (en) * 2015-06-19 2020-05-20 Huawei Technologies Co., Ltd. Group communication method, apparatus and device
WO2017080603A1 (en) * 2015-11-12 2017-05-18 Huawei Technologies Co., Ltd. Frame alignment technique for live stream television
CN105376613B (zh) 2015-12-10 2019-05-10 华为技术有限公司 一种快速频道切换方法、服务器及iptv系统
CN106937155B (zh) * 2015-12-29 2020-06-02 北京华为数字技术有限公司 接入设备、因特网协议电视iptv系统和频道切换方法
CN107566855B (zh) * 2016-06-30 2020-11-10 华为技术有限公司 频道快速切换的方法、服务器和机顶盒
CN106454394B (zh) 2016-08-03 2020-04-03 华为技术有限公司 一种dvb频道的快速切换方法以及设备和系统
CN107690073B (zh) * 2016-08-05 2021-07-16 阿里巴巴集团控股有限公司 一种视频直播方法及视频直播服务器
CN106488265A (zh) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 一种发送媒体流的方法和装置
CN106488255B (zh) * 2016-10-24 2019-05-14 广州酷狗计算机科技有限公司 一种切换媒体流的方法及装置
CN106791994B (zh) * 2016-12-30 2020-11-24 北京奇艺世纪科技有限公司 一种低延时快速开播方法及装置
CN106713941A (zh) * 2017-01-04 2017-05-24 北京百度网讯科技有限公司 一种音视频直播的实现方法和服务器
CN107277594B (zh) * 2017-07-06 2020-04-28 广州华多网络科技有限公司 一种视音频与弹幕同步方法及装置
CN108337552A (zh) * 2018-01-30 2018-07-27 庄再濠 一种网络电视的快速切台方法及装置
CN108200619B (zh) * 2018-02-01 2020-09-22 安徽创世科技股份有限公司 一种实现专网和公网智能切换的系统
CN110771175A (zh) * 2018-05-30 2020-02-07 深圳市大疆创新科技有限公司 视频播放速度的控制方法、装置及运动相机
CN114143606A (zh) * 2018-08-22 2022-03-04 华为技术有限公司 一种实现视频流切换的方法、装置和系统
CN109729404B (zh) * 2019-01-15 2021-06-04 晶晨半导体(上海)股份有限公司 一种基于嵌入式的播放器的同步调制方法
US11265596B2 (en) * 2019-03-21 2022-03-01 Arris Enterprises Llc Channel reporting during fast channel change
CN110943932B (zh) * 2019-11-14 2022-11-11 锐捷网络股份有限公司 一种信息处理方法及装置
CN112995649B (zh) * 2019-12-13 2024-04-16 青岛海信宽带多媒体技术有限公司 网络终端及网络终端评测方法
CN111741314A (zh) * 2020-06-18 2020-10-02 聚好看科技股份有限公司 视频播放方法及显示设备
CN114374871B (zh) * 2020-10-15 2023-11-14 瑞昱半导体股份有限公司 串流媒体的时戳处理方法
CN113242446B (zh) * 2021-04-30 2023-02-28 北京字节跳动网络技术有限公司 视频帧的缓存方法、转发方法、通信服务器及程序产品
CN117319689A (zh) * 2022-06-22 2023-12-29 中兴通讯股份有限公司 非签约内容提供商的服务资源分发方法和视频服务系统
WO2024032107A1 (en) * 2022-08-08 2024-02-15 Douyin Vision Co., Ltd. Method, apparatus, and medium for visual data processing
CN117156223B (zh) * 2023-10-31 2024-03-15 中央广播电视总台 实时流切换方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960485A (zh) * 2006-08-29 2007-05-09 中兴通讯股份有限公司 一种移动多媒体广播视音频同步播放的方法
US20080022320A1 (en) * 2006-06-30 2008-01-24 Scientific-Atlanta, Inc. Systems and Methods of Synchronizing Media Streams
CN101316357A (zh) * 2008-06-30 2008-12-03 华为技术有限公司 一种频道切换的方法、终端和媒体服务器
CN101690118A (zh) * 2007-06-20 2010-03-31 艾利森电话股份有限公司 用于改进的媒体会话管理的方法和设备
CN101854533A (zh) * 2010-06-10 2010-10-06 华为技术有限公司 频道切换方法、装置及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031306B2 (en) * 2000-04-07 2006-04-18 Artel Video Systems, Inc. Transmitting MPEG data packets received from a non-constant delay network
US20040160974A1 (en) * 2003-02-13 2004-08-19 Read Christopher Jensen Method and system for rapid channel change within a transport stream
US8483289B2 (en) * 2008-04-17 2013-07-09 Broadcom Corporation Method and system for fast channel change
WO2006091736A2 (en) * 2005-02-23 2006-08-31 Arroyo Video Solutions, Inc. Fast channel change with conditional return to multicasting
US20090222873A1 (en) * 2005-03-07 2009-09-03 Einarsson Torbjoern Multimedia Channel Switching
KR100800727B1 (ko) * 2005-06-24 2008-02-01 삼성전자주식회사 디지털멀티미디어방송 수신 장치에서 채널 전환을 위한 재생 장치 및 방법
US20070011343A1 (en) * 2005-06-28 2007-01-11 Microsoft Corporation Reducing startup latencies in IP-based A/V stream distribution
US7965771B2 (en) 2006-02-27 2011-06-21 Cisco Technology, Inc. Method and apparatus for immediate display of multicast IPTV over a bandwidth constrained network
CN101207822A (zh) 2006-12-22 2008-06-25 上海晨兴电子科技有限公司 流媒体终端的音频视频同步的方法
US7769035B1 (en) * 2007-07-13 2010-08-03 Microsoft Corporation Facilitating a channel change between multiple multimedia data streams
CN100583996C (zh) 2007-08-09 2010-01-20 中兴通讯股份有限公司 一种网页中切换视频播放内容的方法及装置
CN101374066B (zh) * 2007-08-24 2012-04-04 华为技术有限公司 一种组播/单播业务接纳控制的方法、装置及系统
US8356324B2 (en) * 2007-09-21 2013-01-15 Broadcom Corporation Implementing network personal video recorder for digital video settop boxes
CN101123717B (zh) * 2007-09-25 2012-07-04 中兴通讯股份有限公司 一种实现频道快速切换的装置和方法
US20090083811A1 (en) * 2007-09-26 2009-03-26 Verivue, Inc. Unicast Delivery of Multimedia Content
US8111971B2 (en) * 2007-12-05 2012-02-07 Cisco Technology, Inc. Systems and methods of reducing media stream delay through independent decoder clocks
US7830908B2 (en) * 2008-11-03 2010-11-09 Cisco Technologies, Inc. Systems and methods of reducing delay in decoding
US8650603B2 (en) * 2009-04-02 2014-02-11 Koninklijke Kpn N.V. Playing out interludes based on predicted duration of channel-switching delay or of invoked pause

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080022320A1 (en) * 2006-06-30 2008-01-24 Scientific-Atlanta, Inc. Systems and Methods of Synchronizing Media Streams
CN1960485A (zh) * 2006-08-29 2007-05-09 中兴通讯股份有限公司 一种移动多媒体广播视音频同步播放的方法
CN101690118A (zh) * 2007-06-20 2010-03-31 艾利森电话股份有限公司 用于改进的媒体会话管理的方法和设备
CN101316357A (zh) * 2008-06-30 2008-12-03 华为技术有限公司 一种频道切换的方法、终端和媒体服务器
CN101854533A (zh) * 2010-06-10 2010-10-06 华为技术有限公司 频道切换方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2509320A4 *

Also Published As

Publication number Publication date
EP2509320A1 (en) 2012-10-10
US20120304236A1 (en) 2012-11-29
CN101854533A (zh) 2010-10-06
US8473997B2 (en) 2013-06-25
CN101854533B (zh) 2012-05-23
EP2509320A4 (en) 2013-07-10

Similar Documents

Publication Publication Date Title
WO2011153868A1 (zh) 频道切换方法、装置及系统
JP5363473B2 (ja) 改善されたメディア・セッション管理の方法と装置
EP2952006B1 (en) Determining available media data for network streaming
EP2385707B1 (en) Channel switching method, device, and system
US8356324B2 (en) Implementing network personal video recorder for digital video settop boxes
JP6317872B2 (ja) 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法
EP3020204B1 (en) Synchronized data processing between receivers
EP2472857B1 (en) Media stream processing method and communication system and related devices
JP5366107B2 (ja) メディア遅延を低減するための方法、装置およびシステム
WO2010054543A1 (zh) 一种频道切换方法、装置和系统
EP3560205B1 (en) Synchronizing processing between streams
WO2017096935A1 (zh) 一种快速频道切换方法、服务器及iptv系统
WO2009039741A1 (fr) Procédé et dispositif permettant la commutation de chaînes iptv
US8286217B2 (en) Method and system for fast channel change
WO2010031273A1 (zh) 视频编码 / 解码方法、装置与视频播放方法、装置及系统
KR100948686B1 (ko) 채널 전환시 지연을 줄이기 위한 iptv 방송 시스템,가속 채널 스트림의 생성 및 재생방법
WO2010022598A1 (zh) 交互电视频道切换方法及系统、音视频流发送方法及装置
WO2018171567A1 (zh) 播放媒体流的方法、服务器及终端
WO2011095118A1 (zh) 网络时移的处理方法、装置及系统
WO2010115376A1 (zh) 一种媒体流切换方法、装置和系统
WO2010105550A1 (zh) 一种播放模式切换的方法和装置
WO2011022983A1 (zh) 组播视频数据的方法、装置及系统

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011791859

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE