![]() METHOD AND SYSTEM FOR MANAGING A VIDEO FRAME WAITING LINE.
专利摘要:
The invention relates to a method of managing the queue of video frames between a decoder and the renderer, based on determining the current queue fill level and adjusting the output to the renderer based on at least the current fill level. from the queue; and to a combination of said method with frame estimation and / or a combination with display control. 公开号:BE1022040B1 申请号:E2013/0873 申请日:2013-12-24 公开日:2016-02-08 发明作者:Mirko Gunther;Mirek Chalinski 申请人:Barco Nv.;Barco Control Rooms Gmbh; IPC主号:
专利说明:
METHOD AND SYSTEM FOR MANAGING A WAITING VIDEO FRAMES Subject field of the invention The invention relates to methods, systems and software for managing one or more queues of video frames. Background In control room and observation applications, compressed video streams, from coding facilities from different manufacturers, are delivered as network packages via non-trivial network architectures. These video streams are expected to be displayed in an evenly distributed manner over time so that the viewer observes smooth constant movements. A number of network video standards provide for so-called PTSs (Presentation TimeStamps; hereinafter also "presentation time registration") for each frame. Frame repetition frequencies can also be coded in the video streams. With the help of frame repetition frequency and the PTS information, the video frame distribution can be reconstructed over time. Unfortunately, this is not always feasible in practice because: (1) Not all coding provider suppliers support correct PTS. This includes: missing PTSs or even incorrectly calculated PTSs. (2) Not all coding features support valid frame repetition frequency information in their streams. (3) Delays may occur on network switches, transmitters or receivers that introduce network jitter into the network packages of the video frames. (4) Due to changing bandwidth requirements for CPUs during the coding process, it can also happen that jitter is introduced into a network stream. v ^ Usually a queue is used to eliminate the jitter from the incoming stream. The frames are stored in the queue as they are received from the decoding device. The incoming frames are stored in this queue during, for example, a predetermined period of time. The frames can then be taken out of the queue by the viewer (renderer) with a constant output speed. If the average reception speed of the frames in the queue is equal to the constant output speed, then the queue allows the withdrawal of the frames with a constant output speed even though the frames were received at an irregular speed. This eliminates irregular arrival times, but introduces an additional delay and therefore increases the total delay. If the queue delay is set to a sufficiently large value to cover the worst jitter, then a regular delivery of frames to the viewer would be guaranteed. In practical applications, however, this would result in a large queue delay and an unacceptable total delay. Opposite to the fixed jitter queue management described above, a number of adaptive jitter queue management concepts have been proposed. In 6,684,273 B2 a method is described to adjust the queue size to the measured delay of the received packets. In 7,983,309 B2, a buffer time for one or more frames received by a frame buffer is determined based on a specific buffer time associated with a specific frame and from information representing a specific amount of data stored in the frame buffer. US8015306 describes synchronizing streaming media with multiple output devices (plural), wherein these streaming media are served by one or more media servers. A master device is described that takes action to effect this synchronization. This action includes: requesting the media server to put more data in the buffer. US 8015306 also describes how each (slave) output device performs actions on its own initiative to maintain buffer fill levels, but limits this action to playback corrections (speeding up or slowing down), and specifies that this serves to keep the buffer filling between a low and high limit. US8015306 solves a problem with synchronization, in which the master device can thereby try to maintain a nominal buffer level and this is achieved by input check on the buffer. The slave device actions do not focus on nominal level control but on border control. US8015306 also indicates a concept of conditional time marking. US5812699 mentions maintaining a buffer level, but in the context of compression, for delivery to an encoder. US2012 / 0106651 describes the use of a concept of time, in particular transfer time, and uses the control on a working mode of a decoding device. While Fig. 6 does mention control actions on the display buffer between the decoder and the reproducer (in addition to control actions on the decoder buffer), this is done by changing the operating mode of the decoder (stopping and only resuming if a lower level is reached). US 5677969 discusses actions with regard to a decoding provision buffer level (i.e. before the decoding provision), but only describes actions with regard to the speed controller and coding provision. US 2008107031 discusses the control of transfer rates and the filtering of video packets if a packet queue is full in a context of dynamically changing links. Object of the invention The object of the invention is to present methods, systems and software that do not require presentation time registration and also no frame repeat frequency information encoded in the video frames, while in the meantime allowing smooth and constant presentation of random video streams. Brief description of the invention The various aspects of the invention are described in claims 1 to 49. In a first aspect of the invention a method is described for managing a queue of video frames, for example between a decoder and a reproducer (display unit for the decoded video frames), the method comprising: - determining the current fill level of the queue (for example: counting the amount of video frames in the queue); and - adjusting or adjusting the output to the display by comparing the current fill level of the queue with a first predetermined fill level to keep the current fill level P as close as possible to this first predetermined fill level. In one embodiment thereof, the step of adjusting the release can only be used when the current fill level is higher than a second predetermined fill level, wherein in particular in such a case the release of the video frames is delayed, preferably with a delay depending on of the difference (e.g. proportional) between the current fill level and the second predetermined fill level. In one embodiment thereof, in the case that a reliable estimate of the video frame repetition frequency can be calculated, time information is attached to a video frame before the video frame is delivered to the reproducer, in particular a reliable estimate is deemed to be available when a predefined minimum amount video frames has passed through the queue and / or when the video frame repetition frequency (according to the estimate) exceeds a predefined minimum frame repetition frequency, the estimation of the video frame repetition frequency preferably being determined from the total residence time in the queue of a predetermined amount of video frames (preferably equal to the predefined minimum quantity). The method according to the first aspect of the invention and the embodiments thereof that can be combined is part of the handling of video frames by a viewer, wherein: the viewer drops the video frame if the video frame is delivered when the viewer's video frame memory is full is; and / or - treating a video frame comprising providing a delivered video frame with a time indication and, if the playback speed of the reproducer is not capable of displaying the video frame such that the time indication attached to the video frame falls within a predetermined time window , the viewer drops the video frame; and / or - the viewer displays the video frame in accordance with the attached time indication. In a second aspect of the invention there is a control device suitable for managing the queue of a system, comprising a decoding device, a queue for temporarily storing a plurality of video frames and a reproducer, the control device comprising means (hardware or a combination of hardware and software) for performing one of the presented methods. A third aspect of the invention provides a system, which system comprises: a decoder, a queue for temporarily storing a plurality of video frames and a reproducer, further comprising a controller for managing the queue, which controller comprises means for performing one of the methods presented. A fourth aspect of the invention relates to a computer program product and a related machine-readable storage medium comprising code segments which, when executed on a suitable processing machine, implement the steps in one of the presented methods. In one aspect, the present invention makes methods and systems available for managing a queue of video frames between a specific device (e.g., a decoder) of specific media (e.g., video) and a specific single output device (e.g., a viewer). A step may be provided in which the output to the specific single output device, e.g. to the display, is adjusted, e.g., by comparing at least the current fill level of the queue with a first predetermined fill level, and not synchronizing it but so close possibly keeping the current filling level P at this first predetermined filling level. A step can be provided in which the current filling level P is kept as close as possible to this first predetermined filling level. Optionally, the specific single output device, for example the viewer, is not allowed to take further actions. It is possible to drop video frames when the specific single output device, for example, the video frame memory of the viewer, is full or busy performing more time-based dropping of video frames. A nominal buffer level can be obtained by controlling the delivery from the queue. Described are time labeling and / or an indication of the reliable video frame repeat frequency estimation, for example by using the time labeling for conditional use or for determining the time indication or how such an estimate or label-based dropping or display can be calculated. Accordingly, queue buffer level management of video data is obtained from a decoder as described. Control preferably acts on the video compression processing. A comparison with a threshold value can be made, this threshold value being dynamically formed to achieve a higher and lower level control (as shown in Fig. 5). Thus, delivery to the reproducer is adjusted and a buffer level is maintained. Furthermore, management of a queue is described after the decoding provision by acting on the delivery towards the reproducer. A fixed link can be provided between a decoder and a viewer, which manages the queue between them but acts on delivery from the queue to the viewer, while maintaining the buffer level instead of relying on a mechanism when the queue is full is. Brief description of the drawings Fig. 1: Sample queue for decoded frames with Fig. 2 shows a flow chart of the method in accordance with an embodiment of the invention. Fig. 3 shows a diagram of the invented systems and subsystems. Fig. 4 shows a generic flow chart of the invented methods. Detailed description of the invention The invention provides methods, systems and software for queue management and enables, among other things, the uniform display of the video frames over time. A method is described in which the jitter of the incoming stream is eliminated with a minimal increase in the total delay, with a constant queue size. The queue or frame buffer has a closed loop control system to keep the queue fill level constant. The average frame repetition frequency of the decoding output current may differ from the screen frame repetition frequency. Note that the invented methods can be implemented in a specific ASIC or can be implemented as software on a general-purpose unit or a GPU (Graphic Processing Unit) or a combination of these. In contrast to US8015306, the present invention provides for managing the queue of video frames between a specific device (a decoding device) of specific media (video) and a specific single output device (a reproducer). The present invention provides for adjusting the delivery to the reproducer, which is achieved by comparing at least the current fill level of the queue with a first predetermined fill level and not by synchronizing but maintaining the current fill level P as close as possible to this first predetermined fill level. The present invention provides for keeping the current fill level P as close as possible to this first predetermined fill level. The invention also allows the viewer to take further actions and describes the dropping of video frames when the video frame memory of the viewer is full or busy performing more extensive time-based dropping of video frames. The invention provides for maintaining a nominal buffer level by controlling delivery from the queue. In addition to discussing time labeling, the invention provides the reliable video frame repeat frequency estimation based approaches that use time labeling for conditional use or for determining the time indication or how such an estimate or label-based dropping or display can be calculated. In contrast to US5812699, the invention provides queue buffer level management of video data obtained from a decoder. The control is therefore completely different, since it acts instead on the video compression processing, whereby the indicated context or goals are also completely different. Moreover, while a comparison with a threshold value is being made, this threshold value is dynamically executed to achieve a higher and lower level control, as shown in Fig. 5. In contrast to US2012 / 0106651, it is in the invention the delivery to the reproducer that is adjusted, the purpose of which is to maintain a buffer level. The concept of time and use thereof is also completely different. In contrast to US 5677969, the invention is about queue management of a queue after the decoding provision by acting on the delivery towards the reproducer. In contrast to US 2008107031, the invention focuses primarily on a fixed link between a decoder and a reproducer, which manages the queue between them but acts on delivery from the queue to the reproducer, while maintaining the buffer level, rather than a mechanism is called to help when the queue is full. Embodiment To overcome missing or incorrect PTS and frame repeat frequency information and to obtain a smooth and even presentation of a video stream, we apply here: a frame buffer or queue in a kind of closed-loop control system as a solution to the problem described above. In the first part of the description, it is assumed that the average frame repetition frequency of the decoding provision output is equal to the screen frame repetition frequency, but the invention is not limited thereto. Frame refresh rate calculation The average frame repetition frequency of the output current of the decoding device is indicated by fs. Since no within-the-band frame repeat frequency can be used, we calculate the average frame repeat frequency fs by deriving it from the total time frame Taccn of n previously decoded frames. This is preferably calculated as a moving average. The average frame repetition frequency is updated at the end of the decoding of each frame. The average frame duration Ts = = is updated according to fs. fs The average frame repetition frequency is calculated over the time intervals of, for example, the last 60 frames received by the queue. in front of As long as n <60 frames, the frame repeat frequency is not used to generate new frame repeat frequency and time information. If a frame repetition rate below 10 fps (frames per second) is calculated, the frame repetition frequency is also not used to generate new frame repetition frequency and time information, because such a low frame repetition frequency indicates in most cases the existence of either an unstable current or an unstable current. lost / found situation signal. If the stream has a frame repetition frequency below a certain value, for example 10 fps, because there is a mini-picture stream or the like, experience shows that it is better to let the reproducer do his best to display such a stream. Queue for decoded frames Decoded frames are included in order in the frame buffer. The maximum queue size is indicated as Qmax and the minimum fill level of the queue is indicated as Qmin. The actual fill level is indicated as P. In general: If the queue is full (P = Qmax) 'new frames to be added to the queue will cause the oldest frames in the queue to be dropped. The choice of and Qmin is important. The memory size required to store the frames in the queue is proportional to (Qmax + 1) · The queue delay is proportional to because is the number of frames to be held in the queue. It is therefore important to find a minimum value of Qmax and Qmin that under practical circumstances do not result in queue overcrowding or understaffing. Closed loop to keep the queue fill level equal to Qmin The current fill level of the queue is used as the closed loop rule value. The command of the closed loop is to keep the current fill level P as close as possible to Qmtn. After starting the flow, the queue does not start delivering the frames to the viewer as long as the fill level P <Qmin. Once the minimum fill level is reached, the queue will attempt to maintain P = Qmin by adjusting the rate of delivery to the display. There are two temporary situations: (1) Initially, the closed loop with frame delivery waits until p = Qmin is reached. (2) If P = Qmin is reached or P> Qmin, but fs cannot be calculated yet, the following frames are delivered immediately. Neither time information nor a duration are added to the frame information; the viewer immediately tries to work on the frame. If the internal structures of the viewer are full, it will drop the frame. There are two regime situations: (1) If P> Qmin and fs can be derived, the following frame is delivered immediately. The current time tnow and its duration Ts, derived from fs. Typically, the viewer is driven by the screen frame repetition rate V-Sync of the graphics device. If the viewer cannot handle the frame before tnow + Ts, it will drop the frame. (2) If P <Qmin, the delivery of frames from the queue will be delayed during a time tsep. The delay time depends on the difference between Qmin 6Π P · (comparison 1) The default value of and (condition 1) the default value of (condition 2) Equation 1 and conditions 1 and 2 are both experimentally determined for jitter-free operation, lowest total delay and minimum memory size, using a large number of coding provisions from different manufacturers and with different network conditions. This means that the queue must contain 4 frames for optimal operation (.P = Qmin) and tslee% in front of The average Tdeiay delay caused by the queue is: If the delivery of frame k to the viewer is delayed by a time, the viewer will repeat frame (k - 1). If the viewer is unable to process frames, due to the expiration of tnow + Ts or due to overcrowding in the queue, then a few frames are dropped. Queue understaffed If the queue runs out of frames due to a signal loss from the stream or excessive jitter in the stream, the viewer must double the last frame. Queue busy If the queue overflows due to a burst in the stream or because it is not possible to deliver the frames as fast as required, the queue drops the oldest frames in the queue to make way for the new frame. Disconnect from queue and viewer Accepting frames in the queue and delivering frames to the viewer must be separate. The queue must work in a thread (executable program (part)) separate from the threads of the display tasks. This prevents the queue capacity to accept further frames from being blocked by display delays. Average frame repetition frequency of the incoming stream fs differs from the screen frame repetition frequency fd. The relevant algorithm also works if the average frame repetition frequency fs of the incoming stream differs from the screen frame repetition frequency fd. The purpose of the queue is to make the power jitter free. The queue is filled with frames of the decoder with an average speed equal to fs. This means that the queue must deliver frames to the viewer also with an average speed fs. (1) If the average frame repetition frequency of the stream is lower than the frame repetition frequency of the screen, the viewer must repeat frames himself. (2) If the frame repetition frequency of the stream is higher than the frame repetition frequency of the screen, the queue overflows and drops frames, because the viewer does not accept more data than it can process. Other embodiments of the invention The invention is useful for all cases where video frames are to be presented, displayed or shown in accordance with any time requirement either in absolute time or relative to each other or both, e.g. time requirements related to the realization of a smooth presentation of a video stream, e.g. by performing an even presentation at the pace of the video frames. Furthermore, it will be understood that the invention can also be applied in situations where multiple queues are used (e.g. related to different types of video frames) and that the parameters such as minimum buffer fill level, maximum buffer fill level, delay calculation parameters may differ per queue. The invention relates to managing one or more queues (referred to as frame buffer (s)) for decoded frames, wherein decoded frames are recorded in sequence, in particular performing the invented methods in one or more different situations such as (1) if the queue is full (P = Qmax) or almost full, with a replacement strategy (for example new frames to be added to the queue, the oldest frames in the queue are dropped) or alternative strategies; or (2) in other situations. As explained above, a closed loop can be used to keep the queue fill level equal to Qmin, but in fact any target number between Qmiri and Qmax can be selected. The current fill level of the queue is used as the control value and any control strategy (for example PID) can be used (open loop, closed loop) based on the current fill level P, but also from previous values or even predicted values, preferably with the command to keep the current filling level P as close as possible to a target value (fixed or varying over time) Of course, the invented methods are capable of recognizing initialization or temporary aspects when filling the queue. In one embodiment of the invented methods, calculated or estimated frame repetition frequency data is used and the invented methods (for queue management perspective or display management or both) are capable of operating even when such data are not reliable (or are deemed not to be reliable). Furthermore, the invented methods provide a solution to avoid blocking due to display delays, by accepting frames in the queue and further delivering frames to the display from each other, by using multi-threading, the different sub-methods have separate threads. As indicated above, the invented methods can be based on frame repetition frequency calculations, starting from historical average data, these methods preferably being enabled only when they can produce reliable data. Finally, it can be said that the invention relates to a method for managing the queue of video frames between a decoder and the reproducer, on the basis of determining the current fill level of the queue and adjusting the output to the reproducer from least the current fill level of the queue; and on the combination of said method with frame estimation and / or the combination with viewer control. Fig. 3 shows a system with a first subsystem (e.g. a decoding facility) (10), a queue (20) and a second subsystem (e.g. a viewer) (30), first means (CPU, GPU, ASIC) (40), measuring of queue information (current and / or preceding) and the creation, on that basis, of signals for accepting frames in the queue and / or transferring frames outside the queue; and further second means (CPU, GPU, ASIC) (50) for generating control signals for the second subsystem. Said means can communicate with each other and can further receive first subsystem information. Note that (30) (40) may be one system, but preferably the methods for queue and second subsystem management (or even management of the first subsystem) use its own control thread. Fig. 4 shows a general flow chart of a method (100) for determining a release rate (as part of managing the queue zero level), a method (120) for managing the display (as part of establishing quality display) and / or a method (130) for determining estimated frame repetition frequency information, in particular the filling level (105) being input, resulting in a release rate (115), while the result (125) is: either display based on added time information (such as based on an estimated frame repetition frequency) or display based on simply repeating a frame or dropping a frame. The entry (135) relates to the time spent in a queue and is based on the reliability of the estimate, providing time information to be appended (145).
权利要求:
Claims (49) [1] Conclusions A method for managing the queue of video frames between a decoder and the reproducer, comprising the steps of: - determining the current fill level of the queue; and - adjusting the delivery to the reproducer by comparing at least the current fill level of the queue with a first predetermined fill level to keep the current fill level P as close as possible to this first predetermined fill level. [2] The method of claim 1, wherein said step of adjusting the release can only be performed when the current fill level is higher than a second predetermined fill level. [3] The method of claim 2, wherein, if said step of adjusting the release cannot be performed, release of the video frames is delayed. [4] The method of claim 3, wherein the delay is dependent on the difference between the current fill level and the second predetermined fill level. [5] The method of claim 2, 3 or 4, wherein the first and second predetermined fill levels are the same. [6] A method according to any of the preceding claims, wherein if the current fill level exceeds a third predetermined fill level, new frames to be included in the queue drop the oldest frames into the queue. [7] The method according to any of the preceding claims, wherein, in the case that a reliable estimate of the video frame repetition frequency can be calculated, time information is attached to a video frame before the video frame is delivered to the reproducer. [8] The method of claim 7, wherein a reliable estimate is deemed to be available when a predefined minimum amount of video frames has passed through the queue. [9] The method of claim 7 or 8, wherein a reliable estimate is deemed to be available when the video frame repetition frequency (according to the estimate) exceeds a predefined minimum frame repetition frequency. [10] The method of claim 7, 8 or 9, wherein the estimate of the video frame repetition frequency is determined from the total residence time in the queue of a predetermined amount of video frames (equal to the predefined minimum amount). [11] The method according to claim 9 or 10, wherein this estimate is updated when decoding a new frame [12] The method of claim 9, 10 or 11, wherein said estimate is calculated as a moving average. [13] A method of handling video frames by a viewer, based on the method of any one of the preceding claims, for delivering video frames from the queue between a decoder and the viewer; the viewer dropping the video frame when delivered when the video frame memory of the viewer is full. [14] A method for handling video frames by a viewer, based on the method according to any of the preceding claims, for delivering video frames from the queue between a decoder and the viewer; further comprising the following steps: - attaching a time indication to a delivered video frame; and - dropping, by the reproducer, the video frame if the reproducer cannot display the video frame at such a display speed that the time indication attached to the video frame falls within a predetermined time window. [15] A method according to any one of the preceding claims for treating video frames by a viewer, the viewer displaying the video frame in accordance with the attached time indication. [16] The method of any one of the preceding claims, wherein the time indication is based on the estimated video frame repetition frequency. [17] A method according to any preceding claim for treating video frames by a viewer, the viewer repeating display of a previous video frame if other video frames are delayed. [18] A controller suitable for managing the queue of a system, comprising a decoder, a queue for temporarily storing multiple video frames and a reproducer, the controller comprising: - means for determining the current filling level of the queue; and - means for adjusting the delivery to the reproducer by comparing at least the current filling level of the queue with a first predetermined filling level to keep the current filling level P as close as possible to this first predetermined filling level. [19] The controller of claim 18, wherein the means for adjusting is adjusted so that delivery can only take place when the current fill level is higher than a second predetermined fill level. [20] The controller of claim 19, wherein the means for adjusting is adjusted so that if the delivery cannot be performed, delivery of the video frames is delayed. [21] The controller of claim 20, adapted so that the delay is dependent on the difference between the current fill level and the second predetermined fill level. [22] The controller of claim 19, 20 or 21, adapted so that the first and second predetermined fill levels are equal. [23] A controller according to any of claims 18 to 22, adapted so that if the current fill level exceeds a third predetermined fill level, new frames to be included in the queue drop the oldest frames into the queue. [24] A controller according to any of claims 18 to 23, adapted so that, in the case that a reliable estimate of the video frame repeat frequency can be calculated, time information is attached to a video frame before the video frame is delivered to the reproducer. [25] The controller of claim 24, adapted so that a reliable estimate is deemed to be available when a predefined minimum amount of video frames has passed through the queue. [26] A controller according to claim 24 or 25, adapted so that a reliable estimate is deemed to be available when the video frame repeat frequency (according to the estimate) exceeds a predefined minimum frame repeat frequency. [27] A controller according to claim 24, 25 or 26, adapted so that the estimate of the video frame repetition frequency is determined from the total residence time of a predetermined amount of video frames (equal to the predefined minimum amount) in the queue. [28] A controller according to claim 26 or 27, adapted so that this estimate is updated when decoding a new frame. [29] The controller of claim 26, 27, 28, adapted so that said estimate is calculated as a moving average. [30] A system comprising a decoder, a queue for temporarily storing a plurality of video frames and a reproducer, further comprising a controller for managing the queue, which controller comprises:. - means for determining the current filling level of the queue; and - means for adjusting the delivery to the reproducer by comparing at least the current fill level of the queue with a first predetermined fill level to keep the current fill level P as close as possible to this first predetermined fill level. [31] The system of claim 30, wherein the means for adjusting is adjusted so that delivery can only take place when the current fill level is higher than a second predetermined fill level. [32] The system of claim 31, wherein the means for adjusting is adjusted so that delivery cannot take place and delivery of the video frames is delayed. [33] The system of claim 32, adapted so that the delay depends on the difference between the current fill level and the second predetermined fill level. [34] The system of claim 31, 32 or 33, adapted so that the first and second predetermined fill levels are equal. [35] The system of any of claims 30 to 34, adapted so that if the current fill level exceeds a third predetermined fill level, new frames to be included in the queue drop the oldest frames into the queue. [36] A system according to any of claims 30 to 35, adapted so that, in the case that a reliable estimate of the video frame repetition frequency can be calculated, time information is attached to a video frame before the video frame is delivered to the reproducer. [37] The system of claim 36 adapted so that a reliable estimate is deemed to be available when a predefined minimum amount of video frames has passed through the queue. [38] The system of claim 36 or 37, adapted so that a reliable estimate is deemed to be available when the video frame repetition frequency (according to the estimate) exceeds a predefined minimum frame repetition frequency. [39] The system of claim 36, 37 or 38, adapted so that the estimate of the video frame repetition frequency is determined from the total residence time in the queue of a predetermined amount of video frames (equal to the predefined minimum amount). [40] The system of claim 38 or 39, adapted so that this estimate is updated when decoding a new frame. [41] The system of claim 38, 39 or 40, wherein said estimate is calculated as a moving average. [42] The system of any of claims 30 to 41, wherein the viewer drops the video frame if it is delivered when the video frame memory of the viewer is full. [43] A system according to any of claims 30 to 42, further comprising: - means for attaching a time indication to a delivered video frame; wherein the reproducer is adapted so that if the reproducer cannot display the video frame at such a display speed that the time indication attached to the video frame falls within a predetermined time window, the reproducer drops the video frame. [44] The system of claim 43, wherein the viewer is adapted to display the video frame in accordance with the attached time indication. [45] The system of any of claims 30 to 44, adapted so that the time indication is based on the estimated video frame repetition frequency. [46] The system of any of claims 20 to 45, wherein the viewer is adapted to repeat the display of a previous video frame if other video frames have been delayed. [47] A computer program product comprising code segments which, when executed on a suitable processing machine, implement the steps of any of the methods of claims 1 to 17. [48] The computer program product of claim 47, wherein the steps of the methods of claims 1 to 17 associated with queue management and the steps of the methods of claims 1 to 17 associated with the viewer use separate threads. [49] A machine-readable signal storage medium, wherein the computer program product according to claim 47 or 48 is stored.
类似技术:
公开号 | 公开日 | 专利标题 US10499071B2|2019-12-03|Dynamic bit rate adaptation over bandwidth varying connection CA2888218C|2018-10-02|Playback stall avoidance in adaptive media streaming EP3391654B1|2019-11-13|Variable buffer handling for adaptive bitrate streaming US9276989B2|2016-03-01|Buffering in HTTP streaming client EP3448041A1|2019-02-27|Video player client, system, and method for live broadcast video synchronization EP2633690A1|2013-09-04|Delivery quality of experience | in a computer network BE1022040B1|2016-02-08|METHOD AND SYSTEM FOR MANAGING A VIDEO FRAME WAITING LINE. KR101931407B1|2018-12-20|Integral controller based pacing for http pseudo-streaming US20190364311A1|2019-11-28|Managing congestion response during content delivery US20120089730A1|2012-04-12|Modifying command sequences WO2011119132A2|2011-09-29|Variable bit rate video streaming over peer-to-peer networks US20190172181A1|2019-06-06|Systems and methods for frame time smoothing based on modified animation advancement and use of post render queues JP2010287973A|2010-12-24|Information processing device and method, and program JP6711120B2|2020-06-17|Video playback device, video playback method, and video playback program CN112929741A|2021-06-08|Video frame rendering method and device, electronic equipment and storage medium US10356159B1|2019-07-16|Enabling playback and request of partial media fragments JP6501691B2|2019-04-17|Client device of content distribution system, method and program for determining playback start timing of content EP2988466B1|2017-05-24|Methods and devices for transmission of media content AU2018275194A1|2019-11-07|Temporal placement of a rebuffering event US11206295B1|2021-12-21|System and method for streaming content selection US20130141596A1|2013-06-06|Transmitter, transmission method, and program EP3479581B1|2020-12-02|Methods and nodes for synchronized streaming of a first and a second data stream US9207900B2|2015-12-08|Rendering graphical data for presenting for display at a remote computer EP3001688A1|2016-03-30|System and method for transferring adaptive streaming video between a server and a client
同族专利:
公开号 | 公开日 GB2509313A|2014-07-02| WO2014102337A1|2014-07-03| GB201223407D0|2013-02-06|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US5812699A|1995-12-07|1998-09-22|Intel Corporation|Counter-based controller for video compression| US6690645B1|1999-12-06|2004-02-10|Nortel Networks Limited|Method and apparatus for active queue management based on desired queue occupancy| WO2004045197A2|2002-11-07|2004-05-27|Thomson Licensing S.A.|A system and method for determining lip synchronization between audio and video in a digitized environment using buffer calculation| US5677969A|1995-02-23|1997-10-14|Motorola, Inc.|Method, rate controller, and system for preventing overflow and underflow of a decoder buffer in a video compression system| US7684336B2|2006-11-09|2010-03-23|Sri International|Real-time video packet monitoring and processing for enhanced quality of service| US8483286B2|2010-10-27|2013-07-09|Cyberlink Corp.|Batch processing of media content|US20150350656A1|2014-05-30|2015-12-03|Qualcomm Innovation Center, Inc.|Dynamic video core clock and voltage scaling| CN113347488B|2021-08-04|2021-11-19|腾讯科技(深圳)有限公司|Video rendering method, device, equipment and storage medium|
法律状态:
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 GB1223407.6A|GB2509313A|2012-12-27|2012-12-27|Managing a queue of video frames using the current queue fill level| GB12234076|2012-12-27| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|