EP3089471A1 - Procédé et dispositif de lissage vidéo - Google Patents

Procédé et dispositif de lissage vidéo Download PDF

Info

Publication number
EP3089471A1
EP3089471A1 EP14875371.8A EP14875371A EP3089471A1 EP 3089471 A1 EP3089471 A1 EP 3089471A1 EP 14875371 A EP14875371 A EP 14875371A EP 3089471 A1 EP3089471 A1 EP 3089471A1
Authority
EP
European Patent Office
Prior art keywords
videos
played
frame
vsync
event detecting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP14875371.8A
Other languages
German (de)
English (en)
Other versions
EP3089471A4 (fr
Inventor
Kai PING
Jiangjie TANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Le Holdings Beijing Co Ltd
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Original Assignee
Le Holdings Beijing Co Ltd
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Le Holdings Beijing Co Ltd, Leshi Zhixin Electronic Technology Tianjin Co Ltd filed Critical Le Holdings Beijing Co Ltd
Publication of EP3089471A1 publication Critical patent/EP3089471A1/fr
Publication of EP3089471A4 publication Critical patent/EP3089471A4/fr
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/89Time-base error compensation

Definitions

  • the present disclosure relates to a field of computer technology, and particularly to a method and an apparatus for smoothing videos.
  • videos need to be played by firstly obtaining frames of videos to be played, from a video player, then surface-rendering the frames of videos to be played, and finally outputting the frames of videos.
  • the play precision of the video player in the existing Android system is low, that is, there is generally an error of at least ⁇ 10ms between a timing when a frame of videos to be played is obtained from the video player and a timestamp of the frame of videos to be played.
  • the frame of videos to be played with the timestamp of 30ms is obtained at the timing of 20ms.
  • the timings when frames of videos to be played are obtained from the video player may vary due to the above error, and the obtained frames of videos to be played are surface-rendered in the Android system at a fixed rate. Accordingly when the frames of videos to be played are surface-rendered with reference to the timings when the frames of videos to be played are obtained, then some frames of videos may be discarded, and some frames of videos may be played for a prolonged period of time, thereby resulting in serious jitter of the videos.
  • Embodiments of the present disclosure are to provide a method and an apparatus for smoothing videos with an object of alleviating jitter of videos to be played.
  • a method for smoothing videos including:
  • the determining whether the Vsync event detecting thread is to be resumed may include:
  • a condition that the timestamps carried in the frames of videos to be played satisfy a first relationship wherein the first relationship is as follow: t 1 ⁇ a ⁇ PTS ⁇ T 1 + T ⁇ a , where t1 represents a current clock time of the Vsync event detecting thread, a represents a predetermined clock offset, PTS represents a timestamp carried by a frame of videos to be played, and T represents the surface render period.
  • the predetermined clock offset in the first relationship satisfies a second condition, wherein the second condition is as follow: 0 ⁇ a ⁇ T .
  • an apparatus for smoothing videos including:
  • the determining module may be configured:
  • the predetermined condition may include:
  • the predetermined clock offset in the first relationship satisfies a second condition, wherein the second condition is as follow: 0 ⁇ a ⁇ T .
  • the embodiments of the present disclosure provides a method and an apparatus for smoothing videos.
  • the apparatus for smoothing videos receives a first indication message, and initiates a Vsync event detecting thread in response to the first indication message, where the Vsync event detecting thread is configured, upon being resumed, to detect whether a frame of videos to be played which satisfies a predetermined condition is stored; the apparatus obtains an N-th frame of videos to be played, and stores it in a first queue created in advance, where the N-th frame of videos to be played carries a corresponding timestamp, and the apparatus synchronizes a clock time of the Vsync event detecting thread with a first timestamp when the first frame of videos to be played is obtained, where N ⁇ 1 and N is a positive, and the first timestamp is a timestamp corresponding to the first frame of videos to be played; and the apparatus determines whether the Vsync event detecting thread is to be resumed, and if it is determined that
  • the Vsync event detecting thread is initiated, if the Vsync event detecting thread is resumed (awoken), then whether a frame of videos to be played which satisfies a predetermined condition is stored in the first queue is detected (checked) according to the timestamps corresponding to the frames of videos to be played in the first queue, and if the frame of videos to be played which satisfies the predetermined condition is detected, then the frame of videos to be played is rendered; and since periodicity of the timestamps corresponding to the frames of videos to be played is uniform, the frame of videos to be played which satisfies the predetermined condition can be selected with reference to the timestamps of the frames of videos to be played, and be rendered so that the frames of videos to be played can be rendered at a uniform rate, thereby alleviating jitter of the videos to be played.
  • a method for smoothing videos includes:
  • the apparatus for smoothing videos will firstly receive the first indication message generated as a result of the user triggering the video player, where the first indication message indicates that the video player starts playing.
  • the apparatus for smoothing videos in the embodiment of the present disclosure may particularly be a separate apparatus installed in an Android video playing device, or may be an apparatus integrated in the Android video playing device, and the embodiments of the present disclosure will not be limited thereto, although the apparatus for smoothing videos receives the first indication message which indicates that the video player starts playing.
  • Step102 the apparatus for smoothing videos initiates a frame synchronization (Vertical Synchronization (Vsync)) event detecting thread in response to the first indication message.
  • Vsync Vertical Synchronization
  • Vsync event detecting thread is configured, upon being resumed (awoken), to detect whether a frame of videos to be played which satisfies a predetermined condition is stored.
  • the apparatus for smoothing videos initiates the Vsync event detecting thread in response to the first indication message upon reception of the first indication message.
  • the Vsync event detecting thread is configured to detect a Vsync signal generated by the system periodically within surface render periods, and if there is no Vsync signal arriving, then the Vsync event detecting thread will be suspended; or if there is a Vsync signal arriving, then the Vsync event detecting thread will be resumed once and further detect whether appropriate data of a frame of videos to be played are stored, and if there are such data, then the data of the frame of videos will be surface-rendered.
  • Vsync in the embodiment of the present disclosure may be synchronization of a video frame or synchronization of another frame to be rendered, so the resumed Vsync event detecting thread will detect not only synchronization information of the video frames, but also synchronization information of the other frames to be rendered.
  • the embodiment of the present disclosure will not be limited thereto, but the videos will be smoothed as described in the embodiment of the present disclosure, so only the synchronization information of the video frames will be described in the embodiment of the present disclosure, while the Vsync event detecting thread will not handle the other frames to be rendered in the embodiment of the present disclosure.
  • Step103 the apparatus for smoothing videos obtains an N-th frame of videos to be played, and stores it in a first queue created in advance, where the N-th frame of videos to be played carries a corresponding timestamp, and synchronizes a clock time of the Vsync event detecting thread with a first timestamp when the first frame of videos to be played is obtained.
  • N ⁇ 1 and N is an integer
  • the first timestamp is a timestamp corresponding to the first frame of videos to be played.
  • the apparatus for smoothing videos obtains the N-th frame of videos to be played, and stores the N-th frame of videos to be played in the first queue created in advance, where the N-th frame of videos to be played carries the corresponding timestamp.
  • the clock time of the Vsync event detecting thread will be synchronized with the timestamp corresponding to the first frame of videos to be played when the first frame of videos to be played is obtained, that is, if the timestamp of the first frame of videos to be played is 25ms, then the clock time of the Vsync event detecting threshold is synchronized to 25ms when the first frame of videos to be played is obtained, thereby ensuring timestamps of all the frames of videos to be played which are started with the first frame of videos to be played to lie in a detection period of time of the Vsync event detecting thread.
  • Step104 the apparatus for smoothing videos determines whether the Vsync event detecting thread is to be resumed.
  • the apparatus for smoothing videos may determine whether the Vsync event detecting thread is to be resumed, as follows:
  • the surface render frequency is typically 60Hz, that is, the render period is 16ms, so a Vsync signal will be generated by the system at an interval of 16ms, and be sent to the apparatus for smoothing videos, and the apparatus for smoothing videos can determine that the Vsync event detecting thread is to be resumed, and further perform the following respective steps, upon reception of the Vsync signal; and of course, if there is no Vsync signal arriving, then the Vsync event detecting thread will be suspended, so the following respective steps will temporality not be performed.
  • Step105 if it is determined that the Vsync event detecting thread is to be resumed, then the apparatus for smoothing videos detects the frame of video to be played which satisfies the predetermined condition is stored in the first queue, according to the timestamps corresponding to the frames of videos to be played in the first queue.
  • the apparatus for smoothing videos detects the frame of videos to be played which satisfies the predetermined condition is stored in the first queue, according to the timestamps corresponding to the frames of videos to be played in the first queue, where the predetermined condition may particularly include:
  • the timestamps carried in the frames of videos to be played satisfy a first relationship, and the first relationship may be as follow: t 1 ⁇ a ⁇ PTS ⁇ T 1 + T ⁇ a , Where t1 represents a current clock time of the Vsync event detecting thread, a represents a predetermined clock offset, PTS represents a timestamp carried by a frame of videos to be played in the first queue, and T represents the surface render period, i.e., a Vsync period.
  • the predetermined clock offset in the embodiment of the present disclosure is a predetermined reference variable to reflect a whole offset of a timestamp of a frame of videos to be played which are to be surface-rendered, relative to a surface render time.
  • the whole offset may be a reference variable less than T, or may be a reference variable no less than T, and the embodiment of the present disclosure will not be limited thereto.
  • the predetermined clock offset in the first relationship satisfies a second condition, which may be 0 ⁇ a ⁇ T.
  • the predetermined clock offset in the first relationship is defined as less than the surface render period, so that jitter of the videos can be further alleviated.
  • the value of a is 1/2T, so the first relationship is t1-1/2T ⁇ PTS ⁇ t1+1/2T, and at this time, the frame of videos to be played can be ensured to be rendered at the closest time to the timestamp thereof, so that jitter of the videos can be still further alleviated.
  • the periods of the timestamps of the frames of videos to be played are typically more than the surface render period, whether a frame of video to be played which satisfies the predetermined condition is stored in the first queue is detected with reference to the timestamps of the frames of videos to be played, then such an instance will not occur that there are two frames of videos to be played which both satisfy the predetermined condition. And if there is an error of at least ⁇ 10ms between the acquisition time and the timestamps of the frames of videos, then more than one frame of videos will be stored in a display buffer for subsequent surface rendering, but only one of the frames can be rendered, and the other frames of videos will be discarded, thereby alleviating jitter of the videos.
  • Step106 if a frame of videos to be played which satisfies the predetermined condition is stored in the first queue, then the apparatus for smoothing videos is to render the frame of videos to be played which satisfies the predetermined condition.
  • the apparatus for smoothing videos will render the frame of videos to be played which satisfies the predetermined condition.
  • the predetermined condition is that a timestamp carried in a frame of videos in the first queue satisfies the relationship t1-1/2T ⁇ PTS ⁇ t1+1/2T, the surface render period is 16m, and the period of the timestamp of the frame of videos is 25ms, then several frames of videos to be played from obtaining of the first frame of videos to be played until synchronization of the clock time of the Vsync event detecting thread with the first timestamp will be rendered as listed below in Table 1.
  • a frame of video to be played, with a timestamp of 25ms is acquired at the time of 35ms
  • a frame of video to be played, with a timestamp of 50ms is acquired at the time of 45ms, then there will be two frames of videos to be played at the surface render time of 48ms, and at this time one of the frames of videos will be discarded.
  • the rate at which the frames of videos are acquired is not uniform, thus resulting in serious jitter of the video; and in the embodiments of the present disclosure, since the period of the timestamps of the frames of videos to be played is uniform, as can be apparent from Table 1, the frames of videos to be played are surface-rendered at a uniform rate to thereby alleviate jitter of the videos being played.
  • the process in the steps 104 to 106 is performed repeatedly, that is, the apparatus for smoothing videos determines all the time whether the Vsync event detecting thread is to be resumed, and if the Vsync event detecting thread is to be resumed, then the process will proceed to the step Step05, and further selectively to the step Step 106.
  • the embodiment of the present disclosure provides a method for smoothing videos, the method including: receiving a first indication message, and initiating a Vsync event detecting thread in response to the first indication message, where the Vsync event detecting thread is configured, upon being resumed, to detect whether a frame of videos to be played which satisfies a predetermined condition is stored; obtaining an N-th frame of videos to be played, and storing it in a first queue created in advance, where the N-th frame of videos to be played carries a corresponding timestamp, and synchronizing a clock time of the Vsync event detecting thread with a first timestamp when the first frame of videos to be played is obtained, where N ⁇ 1 and N is an integer, and the first timestamp is a timestamp corresponding to the first frame of videos to be played; and determining whether the Vsync event detecting thread is to be resumed, and if it is determined that the Vsync event detecting thread is to be resumed,
  • the Vsync event detecting thread is initiated, if the Vsync event detecting thread is resumed, then a frame of videos to be played which satisfies a predetermined condition is stored in the first queue is detected according to the timestamps corresponding to the frames of videos to be played in the first queue, and if a frame of videos to be played which satisfies the predetermined condition is detected, then the frame of videos to be played is rendered; and since the periods of the timestamps corresponding to the frames of videos to be played are uniform, the frame of videos to be played which satisfies the predetermined condition can be selected with reference to the timestamp of the frame of videos to be played, and be rendered so that the frame of videos to be played can be rendered at a uniform rate, thereby alleviating jitter of the videos being played.
  • a method for smoothing videos includes:
  • the apparatus for smoothing videos will firstly receive the first indication message generated as a result of the user triggering the video player, where the first indication message indicates that the video player starts playing.
  • the apparatus for smoothing videos in the embodiment of the present disclosure may particularly be a separate apparatus installed in an Android video playing device, or may be an apparatus integrated in the Android video playing device, and the embodiments of the present disclosure will not be limited thereto, although the apparatus for smoothing videos receives the first indication message which indicates that the video player starts playing.
  • Step202 the apparatus for smoothing videos initiates a Vsync event detecting thread in response to the first indication message.
  • Vsync event detecting thread is configured, upon being resumed, to detect a frame of videos to be played which satisfies a predetermined condition is stored.
  • the apparatus for smoothing videos starts the Vsync event detecting thread in response to the first indication message upon reception of the first indication message.
  • the Vsync event detecting thread is configured to detect a Vsync signal generated by the system periodically within surface render periods, and if there is no Vsync signal arriving, then the Vsync event detecting thread will be suspended; or if there is a Vsync signal arriving, then the Vsync event detecting thread will be resumed once and further detect whether appropriate data of a frame of videos to be played are stored, and if there are such data, then the data of the frame of videos will be surface-rendered.
  • Vsync in the embodiment of the present disclosure may be synchronization of a video frame or synchronization of another frame to be rendered, so the resumed Vsync event detecting thread will detect not only synchronization information of the video frames, but also synchronization information of the other frames to be rendered.
  • the embodiment of the present disclosure will not be limited thereto, but the videos will be smoothed as described in the embodiment of the present disclosure, so only the synchronization information of the video frames will be described in the embodiment of the present disclosure, while the Vsync event detecting thread will not handle the other frames to be rendered in the embodiment of the present disclosure.
  • the apparatus for smoothing videos obtains an N-th frame of videos to be played, and stores it in a first queue created in advance, where the N-th frame of videos to be played carries a corresponding timestamp, and synchronizes a clock time of the Vsync event detecting thread with a first timestamp when the first frame of videos to be played is obtained.
  • N ⁇ 1 and N is an integer
  • the first timestamp is a timestamp corresponding to the first frame of videos to be played.
  • the apparatus for smoothing videos obtains the N-th frame of videos to be played, and stores the N-th frame of videos to be played in the first queue created in advance, where the N-th frame of videos to be played carries the corresponding timestamp.
  • the clock time of the Vsync event detecting thread will be synchronized with the timestamp corresponding to the first frame of videos to be played when the first frame of videos to be played is obtained, that is, if the timestamp of the first frame of videos to be played is 25ms, then the clock time of the Vsync event detecting threshold is synchronized to 25ms when the first frame of videos to be played is obtained, thereby ensuring timestamps of all the frames of videos to be played which are started with the first frame of videos to be played to lie in a detection period of time of the Vsync event detecting thread.
  • Step204 the apparatus for smoothing videos determines whether the Vsync event detecting thread is to be resumed.
  • the apparatus for smoothing videos may determine whether the Vsync event detecting thread is to be resumed, as follows:
  • the surface render frequency is typically 60Hz, that is, the render period is 16ms, so a Vsync signal will be generated by the system at an interval of 16ms, and be sent to the apparatus for smoothing videos, and the apparatus for smoothing videos can determine that the Vsync event detecting thread is to be resumed, and further perform the following respective steps, upon reception of the Vsync signal; and of course, if there is no Vsync signal arriving, then the Vsync event detecting thread will be suspended, so the following respective steps will temporality not be performed.
  • the apparatus for smoothing videos determines whether the timestamps carried in the frames of videos to be played in the first queue satisfy a first relationship, as follow: t 1 ⁇ a ⁇ PTS ⁇ T 1 + T ⁇ a ,
  • t1 represents a current clock time of the Vsync event detecting thread
  • a represents a predetermined clock offset
  • PTS represents a timestamp carried by a frame of video to be played in the first queue
  • T represents the surface render period, i.e., a Vsync period.
  • the predetermined clock offset in the embodiment of the present disclosure is a predetermined reference variable to reflect a whole offset of a timestamp of a frame of videos to be played which are to be surface-rendered, relative to a surface render time.
  • the whole offset may be a reference variable less than T, or may be a reference variable no less than T, and the embodiment of the present disclosure will not be limited thereto.
  • the predetermined clock offset in the first relationship satisfies a second condition, which may be 0 ⁇ a ⁇ T.
  • the predetermined clock offset in the first relationship is defined as less than the surface render period, so that jitter of the videos can be further alleviated.
  • the value of a is 1/2T, so the first relationship is t1-1/2T ⁇ PTS ⁇ t1+1/2T, and at this time, the frame of videos to be played can be ensured to be rendered at the closest time to the timestamp thereof, so that jitter of the videos can be still further alleviated.
  • Step206 if there is such a frame of videos to be played in the first queue that carries a timestamp satisfying the first relationship above, then the apparatus for smoothing videos determines that a frame of videos to be played which satisfies the predetermined condition is stored in the first queue.
  • the periods of the timestamps of the frames of videos to be played are typically more than the surface render period, whether a frame of video to be played which satisfies the predetermined condition is stored in the first queue is detected with reference to the timestamps of the frames of videos to be played, then such an instance will not occur that there are two frames of videos to be played which both satisfy the predetermined condition, so such an instance in the prior art will not occur that with reference to the acquisition time of the frame of videos to be played.
  • Step207 the apparatus for smoothing videos renders the frame of videos to be played which satisfies the predetermined condition.
  • the apparatus for smoothing videos will render the frame of videos to be played which satisfies the predetermined condition.
  • the process in the steps 204 to 207 is performed repeatedly, that is, the apparatus for smoothing videos determines all the time whether the Vsync event detecting thread is to be resumed, and if the Vsync event detecting thread is to be resumed, then the process will proceed to the step205, and further selectively to the step206 and the step207.
  • the embodiment of the present disclosure provides a method for smoothing videos, the method including: receiving a first indication message, and initiating a Vsync event detecting thread in response to the first indication message, where the Vsync event detecting thread is configured, upon being resumed, to detect whether a frame of videos to be played, which satisfies a predetermined condition is stored; obtaining an N-th frame of videos to be played, and storing it in a first queue created in advance, where the N-th frame of videos to be played carries a corresponding timestamp, and synchronizing a clock time of the Vsync event detecting thread with a first timestamp when the first frame of videos to be played is obtained, where N ⁇ 1 and N is an integer, and the first timestamp is a timestamp corresponding to the first frame of videos to be played; and determining whether the Vsync event detecting thread is to be resumed, and if it is determined that the Vsync event detecting thread is to be resumed
  • the Vsync event detecting thread is initiated, if the Vsync event detecting thread is resumed, then a frame of videos to be played which satisfies a predetermined condition is stored in the first queue is detected according to the timestamps corresponding to the frames of videos to be played in the first queue, and if a frame of videos to be played which satisfies the predetermined condition is detected, then the frame of videos to be played is rendered; and since the periods of the timestamps corresponding to the frames of videos to be played are uniform, the frame of videos to be played which satisfies the predetermined condition can be selected with reference to the timestamp of the frame of videos to be played, and be rendered so that the frame of videos to be played can be rendered at a uniform rate, thereby alleviating jitter of the videos being played.
  • An embodiment of the present disclosure provides an apparatus 300 for smoothing videos, and as particularly illustrated in Fig.3 , the apparatus 300 may include: a receiving module 301, an initiating module 302, an obtaining module 303, a storing module 304, a clock synchronizing module 305, a determining module 306, a detecting module 307, and a rendering module 308.
  • the receiving module 301 is configured to receive a first indication message which indicates that a video player starts playing.
  • the initiating module 302 is configured to initiate a Vsync event detecting thread in response to the first indication message received by the receiving module 301, where the event detecting thread is configured, upon being resumed, to detect whether a frame of videos to be played which satisfies a predetermined condition is stored.
  • the obtaining module 303 is configured to obtain an N-th frame of videos to be played.
  • the storing module 304 is configured to store the N-th frame of videos to be played which is obtained by the obtaining module 303 in a first queue created in advance, where the N-th frame of videos to be played carries a corresponding timestamp.
  • the clock synchronizing module 305 is configured to synchronize a clock time of the Vsync event detecting thread with a first timestamp when the obtaining module 303 obtains the first frame of videos to be played, where N ⁇ 1 and N is an integer, and the first timestamp is a timestamp corresponding to the first frame of videos to be played.
  • the determining module 306 is configured to determine whether the Vsync event detecting thread is to be resumed.
  • the detecting module 307 is configured, if the determining module 306 determines that the Vsync event detecting thread is to be resumed, to detect whether the frame of videos to be played which satisfies the predetermined condition is stored in the first queue, according to the timestamps corresponding to the frames of videos to be played which are stored by the storing module 304 in the first queue.
  • the rendering module 308 is configured, if the detecting module 307 detects the frame of videos to be played which satisfies the predetermined condition is stored by the storing module 304 in the first queue, to render the frame of videos to be played which satisfies the predetermined condition.
  • determining module 306 may be specifically configured:
  • the predetermined condition may specifically include:
  • t1 represents a current clock time of the Vsync event detecting thread
  • a represents a predetermined clock offset
  • PTS represents a timestamp carried by a frame of videos to be played
  • T represents the surface render period
  • the predetermined clock offset in the first relationship satisfies a second condition that: 0 ⁇ a ⁇ T .
  • An embodiment of the present disclosure further provides a computer readable recording medium on which programs for performing any one of the methods according to the above embodiments of the present disclosure are recorded.
  • the computer readable recording medium includes any mechanism for storing or transporting computer (for example, a PC) readable information.
  • the machine readable medium includes a Read Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk storage medium, an optical storage medium, a flash memory medium, an electric, optical, acoustic or another form of propagated signal (e.g., a carrier wave, an infrared signal, a digital signal, etc.), etc.
  • the embodiment of the present disclosure provides an apparatus for smoothing videos, where if a receiving module receives a first indication message, then an initiating module initiates a Vsync event detecting thread, if a determining module determines that the Vsync event detecting thread is to be resumed, then a detecting module detects a frame of videos to be played which satisfies a predetermined condition is stored in a first queue according to timestamps of frames of videos to be played in the first queue, and if the detecting module detects the frame of videos to be played which satisfies the predetermined condition is stored, then the rendering module renders the frame of videos to be played; and since the period of the timestamps corresponding to the frames of videos to be played are uniform, the frame of videos to be played which satisfies the predetermined condition can be selected with reference to the timestamps of the frames of videos to be played, and be rendered so that the frames of videos to be played can be rendered at a uniform rate, thereby alleviating
  • modules described as separate components may or may not be physically separate, and the components illustrated as modules may be one or more physical modules, that is, they can be collocated or can be distributed at a number of places. A part or all of the modules can be selected as needed in reality for the purpose of the solution according to the embodiments of the present disclosure.
  • respective functional modules in the respective embodiments of the present disclosure can be integrated in a processing module, or the respective modules can be physically embodied separately, or two or more of the modules can be integrated in a module.
  • the integrated modules can be embodied in the form of hardware or can be embodied in the form of software functional modules.
  • the integrated modules are embodied in the form of software functional modules, and sold or used as a separate product, then they can be stored in a readable storage medium.
  • the technical solutions of the present disclosure essentially or their parts contributing to the prior art or all or a part of the technical solutions can be embodied in the form of a software product stored in a storage medium, which includes several instructions to cause a device (e.g., a monolithic processor, a chip, etc.) or a processor to perform all or a part of the steps in the method according to the respective embodiments of the present disclosure.
  • the storage medium includes a U-disk, a mobile hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, an optic disk, and any other medium in which program codes can be stored.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
EP14875371.8A 2013-12-25 2014-12-11 Procédé et dispositif de lissage vidéo Withdrawn EP3089471A4 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310750815.7A CN103747332B (zh) 2013-12-25 2013-12-25 一种视频的平滑处理方法和装置
PCT/CN2014/093599 WO2015096622A1 (fr) 2013-12-25 2014-12-11 Procédé et dispositif de lissage vidéo

Publications (2)

Publication Number Publication Date
EP3089471A1 true EP3089471A1 (fr) 2016-11-02
EP3089471A4 EP3089471A4 (fr) 2016-12-14

Family

ID=50504314

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14875371.8A Withdrawn EP3089471A4 (fr) 2013-12-25 2014-12-11 Procédé et dispositif de lissage vidéo

Country Status (4)

Country Link
US (1) US20160301961A1 (fr)
EP (1) EP3089471A4 (fr)
CN (1) CN103747332B (fr)
WO (1) WO2015096622A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747332B (zh) * 2013-12-25 2018-08-10 乐视致新电子科技(天津)有限公司 一种视频的平滑处理方法和装置
WO2020019139A1 (fr) * 2018-07-23 2020-01-30 深圳市大疆创新科技有限公司 Procédé d'affichage uniforme de vidéo, dispositif terminal, et support de stockage lisible par ordinateur
CN109697156A (zh) * 2018-11-19 2019-04-30 北京奇艺世纪科技有限公司 一种启动时间获取方法、装置、终端设备及存储介质
WO2021134452A1 (fr) * 2019-12-31 2021-07-08 Qualcomm Incorporated Procédés et appareil pour faciliter une commutation de fréquence d'images par seconde par l'intermédiaire de signaux d'événement tactile
CN112312191A (zh) * 2020-10-30 2021-02-02 湖南快乐阳光互动娱乐传媒有限公司 一种视频广告素材的显示方法及装置
CN112153082B (zh) * 2020-11-25 2021-03-09 深圳乐播科技有限公司 一种在安卓系统中平滑显示实时流视频画面的方法及装置
CN113382300B (zh) * 2021-06-08 2023-03-21 三星电子(中国)研发中心 一种音视频播放方法和装置
CN115550708B (zh) * 2022-01-07 2023-12-19 荣耀终端有限公司 数据处理方法及电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219129B2 (en) * 2006-01-06 2012-07-10 Proxense, Llc Dynamic real-time tiered client access
JP4746442B2 (ja) * 2006-02-24 2011-08-10 株式会社東芝 端末装置
US9544638B2 (en) * 2006-04-17 2017-01-10 Broadcom Corporation Method for reconstructing system time clock (STC) without carrying PCR
JP4658860B2 (ja) * 2006-05-30 2011-03-23 Okiセミコンダクタ株式会社 画像データ転送回路
US20090109955A1 (en) * 2007-10-31 2009-04-30 Qualcomm Incorporated Method and apparatus for improved frame synchronization in a wireless communication network
JP4682185B2 (ja) * 2007-12-13 2011-05-11 富士通東芝モバイルコミュニケーションズ株式会社 携帯電話機
US8396133B2 (en) * 2009-04-21 2013-03-12 Qualcomm Incorporated Synchronizing video frames without hardware timestamps
CN102413382B (zh) * 2011-12-27 2014-06-11 四川九洲电器集团有限责任公司 一种提高实时视频平滑性的方法
CN103002354A (zh) * 2012-12-14 2013-03-27 四川九洲电器集团有限责任公司 一种消除视频数据传输网络抖动的方法及系统
EP3063616A1 (fr) * 2013-10-30 2016-09-07 Barco Control Rooms GmbH Synchronisation de vidéos dans un mur d'écrans
CN103747332B (zh) * 2013-12-25 2018-08-10 乐视致新电子科技(天津)有限公司 一种视频的平滑处理方法和装置

Also Published As

Publication number Publication date
CN103747332B (zh) 2018-08-10
EP3089471A4 (fr) 2016-12-14
US20160301961A1 (en) 2016-10-13
CN103747332A (zh) 2014-04-23
WO2015096622A1 (fr) 2015-07-02

Similar Documents

Publication Publication Date Title
EP3089471A1 (fr) Procédé et dispositif de lissage vidéo
CN107277594B (zh) 一种视音频与弹幕同步方法及装置
CN111510237B (zh) 修改时钟信号的控制器和方法、同步装置
WO2019047956A1 (fr) Procédé et appareil permettant d'améliorer une fluidité d'image
KR20150057421A (ko) 다중화면 디스플레이 시스템 및 이를 위한 영상신호 보정방법
CN106533399B (zh) 修改时钟信号的电路和方法及执行时间敏感任务的装置
CN109144858B (zh) 流畅度检测方法、装置、计算设备及存储介质
CN111668800A (zh) 基于无线通信和绝对时刻的线路差动保护同步方法和系统
CN105991857A (zh) 一种实现参考信号调整的方法及装置
US8913190B2 (en) Method and apparatus for regenerating a pixel clock signal
CN106331820B (zh) 音视频的同步处理方法和装置
CN115426515A (zh) 多设备同步校准的方法、设备、系统和存储介质
CN108573710A (zh) 一种实时去除录音回声的方法及装置
US9742966B2 (en) Data processing system
CN106533598B (zh) 事件之间的发生时间差的估计电路和方法、计算机可读存储介质
CN106057222B (zh) 一种多媒体文件的播放方法及电子设备
US20180034749A1 (en) System and method for distributing and replaying trigger packets via a variable latency bus interconnect
WO2016183955A1 (fr) Procédé et dispositif de synchronisation de la parole
US11860689B2 (en) Time synchronization method, service board, and network device
US9635633B2 (en) Multimedia synchronization system and method
CN103973386B (zh) 一种数据采集系统中1553b数据与adc数据的时间对齐方法
CN115604514A (zh) 音频传输同步方法及装置
CN107580247B (zh) 震动播放方法及装置、电子设备
KR20190033983A (ko) 오디오장치 및 그 오디오장치의 제어방법
CN104679546B (zh) 一种信息处理方法及电子设备

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20160523

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

A4 Supplementary search report drawn up and despatched

Effective date: 20161111

RIC1 Information provided on ipc code assigned before grant

Ipc: H04N 21/8547 20110101AFI20161107BHEP

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20170610