WO2017186067A1 - 视频传输处理方法及装置 - Google Patents
视频传输处理方法及装置 Download PDFInfo
- Publication number
- WO2017186067A1 WO2017186067A1 PCT/CN2017/081504 CN2017081504W WO2017186067A1 WO 2017186067 A1 WO2017186067 A1 WO 2017186067A1 CN 2017081504 W CN2017081504 W CN 2017081504W WO 2017186067 A1 WO2017186067 A1 WO 2017186067A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet loss
- video frame
- loss rate
- length
- video
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
Definitions
- the present invention relates to the field of communications technologies, and in particular, to a video transmission processing method and apparatus.
- Video transmission is generally transmitted over a wireless network.
- the video frame in the video frame transmission queue When the wireless network environment is poor, it is easy for the video frame in the video frame transmission queue to be sent out in time. When the length of the video frame transmission queue reaches the limit value, the video is transmitted during the subsequent video transmission. The video frame received by the device will be directly discarded. After the video frame transmission queue has space to put in the video frame, the subsequent received video frame will be put into the video frame transmission queue. If the situation of the poor wireless network environment lasts for a long time, it is likely that a continuous video frame is discarded in a centralized manner, which may cause the video frame received by the video receiving device to be incomplete, resulting in serious data loss.
- the obtained video frame is no longer a complete video picture, and the video picture is not clear, and even the video picture is stuck, and the video is not played smoothly. Therefore, how to perform smooth video playback on a wireless network with unstable network and limited bandwidth is an urgent problem to be solved.
- the present invention has been made in order to provide a video transmission processing method and a corresponding video transmission processing apparatus that overcome the above problems or at least partially solve the above problems.
- a video transmission processing method includes: receiving at least one video frame; calculating the deviation according to a length of a video frame transmission queue length and a reference queue length, and a packet loss rate obtained last time. The packet loss rate; and according to the current packet loss rate, it is determined whether the received video frame is discarded.
- a video transmission processing apparatus includes: a receiving module adapted to receive at least one video frame; and a calculating module adapted to deviate a value of a transmission frame length from a reference queue length according to a video frame and The packet loss rate calculated in one calculation is used to calculate the current packet loss rate; and the processing module is adapted to determine whether to discard the received video frame according to the current packet loss rate.
- a computer program comprising computer readable code causing the computing device to perform the video transmission when the computer readable code is run on a computing device Transfer processing method.
- a computer readable medium wherein the computer program is stored.
- the packet loss rate of the video frame can be dynamically adjusted, so that it is possible to accurately determine whether to discard the video frame, and avoid the unreasonable discarding problem caused by discarding the video frame by using only the same packet loss rate, and The problem of centralized discarding a continuous video frame caused by a problem in the network.
- the scheme makes the discarding of the video frame more reasonable, and realizes the effect of smoothly playing the video when the network condition is poor, and avoids the situation that the video picture is not clear, and even the video picture is stuck.
- FIG. 1 is a flow chart showing a video transmission processing method according to an embodiment of the present invention
- FIG. 2 is a schematic flowchart diagram of a video transmission processing method according to another embodiment of the present invention.
- FIG. 3 is a block diagram showing the structure of a video transmission processing apparatus according to an embodiment of the present invention.
- FIG. 4 is a block diagram showing the structure of a video transmission processing apparatus according to another embodiment of the present invention.
- Figure 5 shows a block diagram of a computing device for performing a video transmission processing method in accordance with the present invention
- Fig. 6 shows a storage unit for holding or carrying program code implementing the video transmission processing method according to the present invention.
- the embodiment of the present invention provides a video transmission processing method, which can be applied to an application scenario for performing network transmission of real-time video, such as video conference, video on demand, and the like.
- the embodiment of the present invention is described by taking an application scenario of video on demand as an example.
- a video on demand system includes a video transmitting device and a video receiving device.
- the video transmitting device acquires a video frame queue by imaging, and encodes the video frame queue and sends the video frame to the video receiving device through the network.
- the transmission method includes a broadband network, a 3G network, or a 4G network.
- the influence of the changing network environment on the smoothness of the video playback is very significant.
- the video transmission processing method provided by the embodiment of the present invention is aimed at the ever-changing network. Improve the smoothness of video playback when performing video network on demand in the environment.
- FIG. 1 is a flow chart showing a video transmission processing method according to an embodiment of the present invention. As shown in Figure 1, the method includes the following steps:
- Step S100 receiving at least one video frame.
- the video frame is a video frame of a minimum unit in the video, and one video is composed of a plurality of video frames, and the video transmitting device acquires a video frame queue by imaging, that is, receives at least one video frame.
- Step S101 Calculate the current packet loss rate according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate calculated last time.
- the length of the video frame transmission queue refers to the length of the video frame sent by the video sending device to the video receiving device through the network, and the number of video frames reflects the length of the video frame sending queue; the reference queue length is determined according to the limit value of the length of the video frame sending queue. In the actual situation, the length of the video frame transmission queue may be less than or equal to the reference queue length.
- the reference queue length is set according to the current network condition, etc., and can be set by a person skilled in the art according to actual needs, and is not specifically limited herein.
- the packet loss rate obtained last time needs to be used as a reference factor to calculate the current packet loss rate, that is, the packet loss obtained last time.
- the rate has a certain impact on the current packet loss rate.
- the deviation between the length of the video frame transmission queue and the length of the reference queue reflects the number of video frames that can be placed in the video frame transmission queue.
- the deviation value is used as a reference factor to calculate the current packet loss rate, that is, the deviation value pair.
- This packet loss rate has a certain impact. Specifically, the current packet loss rate is calculated according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate obtained last time.
- Step S102 Determine, according to the current packet loss rate, whether to discard the received video frame.
- step S101 After the current packet loss rate is calculated according to step S101, it can be determined whether the discarding process is performed on the received video frame.
- the video transmission processing method provided by the foregoing embodiment of the present invention, at least one video frame is received; and the current packet loss rate is calculated according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate obtained last time; According to the current packet loss rate, it is determined whether the received video frame is discarded.
- the packet loss rate of the video frame can be dynamically adjusted, so that it is possible to accurately determine whether to discard the video frame, and avoid the unreasonable discarding problem caused by discarding the video frame by using only the same packet loss rate, and The problem of centralized discarding a continuous video frame caused by a problem in the network.
- the program makes It is more reasonable to discard the video frame, which can achieve the effect of smooth video playback when the network is in poor condition, avoiding the unclear video picture and even the video picture jam.
- FIG. 2 is a flow chart showing a video transmission processing method according to another embodiment of the present invention. As shown in FIG. 2, the method includes the following steps:
- Step S200 receiving at least one video frame.
- Step S201 Calculate the current packet loss rate according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate calculated last time.
- the length of the video frame transmission queue refers to the length of the video frame sent by the video sending device to the video receiving device through the network, and the number of the video frames reflects the length of the video frame sending queue.
- the reference queue length is determined according to the limit value of the length of the video frame transmission queue. In actual situations, the length of the video frame transmission queue may be less than or equal to the reference queue length.
- the reference queue length is set according to the current network condition, etc., and can be set by a person skilled in the art according to actual needs, and is not specifically limited herein.
- the packet loss rate of the current time may be calculated by using the following method:
- the packet loss rate is calculated according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate calculated last time. That is, the packet loss rate needs to be set in advance.
- the time when the set time is reached the packet loss rate is calculated according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate calculated last time. For example, the packet loss rate is calculated every 5 seconds.
- the time of the last calculation of the packet loss rate is 5 seconds, the deviation between the length of the video frame transmission queue and the reference queue length and the last calculation are used.
- the packet loss rate obtained is calculated, and the packet loss rate of this time is calculated.
- the set time is only an example, and does not have any limiting function. Those skilled in the art can make settings according to actual needs, and details are not described herein again.
- the packet loss rate is calculated according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate calculated last time.
- the first preset threshold may be set according to the length of the reference queue. Generally, the first preset threshold is smaller than the reference queue length. For example, the first preset threshold may be set to be one-half of the length of the reference queue. When the length of the video frame transmission queue reaches the first preset threshold, it indicates that the packet loss rate of the received video frame needs to be calculated. Thereby, it is further determined whether the received video frame needs to be discarded.
- the setting of the first preset threshold is merely an example, and does not have any limiting function, and can be set by a person skilled in the art according to actual needs.
- the current packet loss rate is calculated according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate calculated last time.
- the length change value of the video frame transmission queue reflects the number of video frames newly put into the video frame transmission queue per unit time.
- the second preset threshold may be set to 20 frames/msec, every predetermined time, for example, 10 Detect the length of the video frame transmission queue and determine the length change value of the video frame transmission queue. When the length of the video frame transmission queue changes to 20 frames/millisecond, it indicates that the packet loss rate of the received video frame needs to be calculated. Further, it is determined whether the received video frame needs to be discarded. If the video frame transmission queue length change value does not reach 20 frames/msec, the packet loss rate calculation is not performed.
- the setting of the second preset threshold is merely an example, and does not have any limiting function, and can be set by a person skilled in the art according to actual needs.
- the k-th packet loss rate can be calculated by using the following formula:
- p(k) p(k-1)+K p [e(k)-e(k-1)]+K i e(k)+K d [e(k)-2e(k-1)+ e(k-2)];
- p(k) and p(k-1) represent the packet loss ratios of the kth and k-1th times, respectively;
- e(k), e(k-1), and e(k-2) represent the The deviation of the length of the video frame transmission queue of k times, k-1th and k-2th times from the reference queue length;
- K p , K i , K d respectively represent the proportional coefficient, the integral coefficient and the differential coefficient.
- the above formula can accurately calculate the current packet loss rate, and further improve the accuracy of the video frame discarding process.
- Step S202 Perform a recognition process on the video frame according to the flag bit to determine whether the video frame is a key frame. If not, execute step S203; if yes, execute step S206.
- the encoded video frame may be a key frame (I frame) or a non-key frame (P frame).
- the key frame records a complete video picture. If a video frame is a key frame, the video playback device can obtain a complete video picture by decoding the video frame.
- a non-key frame records a portion of a video frame different from another frame video (reference frame). If a video frame is a non-key frame, the video receiving device needs to decode the video frame based on the reference frame of the video to obtain a complete Video footage.
- a non-key frame can refer to a key frame as a reference frame. For a non-key frame, if its reference frame is lost, the video receiving device may display a frame or mosaic when playing the frame even if the video frame is received.
- each keyframe has a unique flag that distinguishes keyframes from each other, distinguishing keyframes from non-keyframes.
- it is determined whether the video frame is a key frame according to the flag bit, and determining whether the video frame is a key frame is mainly for determining whether to discard the video frame, and if not the key frame, according to the calculated
- the packet loss rate discards the video frame. If it is a key frame, it cannot be discarded. It needs to be placed in the video frame transmission queue.
- step S203 the random number generation interval is set, and the packet loss interval is set in the random number generation interval according to the current packet loss rate.
- a maximum value and a minimum value are set in advance to form a random number generation interval, that is, a random number generation interval is set in advance, and after the random number generation interval is set, the random number can only be generated in the random number generation interval. Generated in.
- the packet loss interval is set in the random number generation interval according to the current packet loss rate, that is, the packet loss interval determines that the non-key frame is discarded.
- the maximum and minimum values For example, the random number generation interval is set to [0, 1], and the current packet loss rate is calculated according to step S202, and the packet loss interval is set to [0 in the random number generation interval according to the current packet loss rate. , 0.6], also That is to say, the non-key frame is discarded during this interval.
- Step S204 generating a random number located in the random number generation interval, determining whether the random number is located in the packet loss interval, and if yes, executing step S205; if not, executing step 206.
- the discarding process of the video frame may be performed, and the discarding process for the video frame is random, that is, a value is randomly generated in the random number generating interval as a video. If the random number is in the packet loss interval, the video frame needs to be discarded. When the random number is not in the packet loss interval, the video frame is not discarded.
- Step S205 performing discard processing on the received video frame.
- the received non-key frame is discarded.
- Step S206 the undisposed video frames in the received video frames are placed in a video frame transmission queue.
- step S204 if it is determined in step S204 that the random number is not in the packet loss interval, the received non-key frame will not be discarded, but the non-key frame is placed in the video frame transmission queue. In the case that the video frame is a key frame, the key frame is placed in the video frame transmission queue and is awaiting transmission.
- the current packet loss rate is calculated according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate obtained last time.
- the video frame is identified according to the flag bit to determine whether the video frame is a key frame. If not, the random number generation interval is set, and the packet loss interval is set in the random number generation interval according to the current packet loss rate. A random number located in the random number interval determines whether the random number is located in the packet loss interval, and if so, discards the received video frame.
- the packet loss rate of the video frame can be dynamically adjusted, so that it is possible to accurately determine whether to discard the video frame, and avoid the unreasonable discarding problem caused by discarding the video frame by using only the same packet loss rate, and
- the problem of centralized discarding a continuous video frame caused by a problem in the network can perform discarding processing only for non-key frames, avoiding the defect that the non-key frame cannot display the picture correctly due to the absence of the reference frame due to discarding the key frame, so that the discarding processing of the video frame is more reasonable, and the network is realized.
- the situation is poor, the effect of playing the video can be smoothly played, and the video picture is not clear, and even the video picture is stuck.
- FIG. 3 is a block diagram showing the structure of a video transmission processing apparatus according to an embodiment of the present invention. As shown in FIG. 3, the apparatus includes: a receiving module 300, a computing module 310, and a processing module 320.
- the receiving module 300 is adapted to receive at least one video frame.
- the calculating module 310 is configured to calculate the current packet loss rate according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate calculated last time.
- the processing module 320 is adapted to determine whether to discard the received video frame according to the current packet loss rate.
- the video transmission processing apparatus receives at least one video frame; and calculates a current packet loss rate according to a deviation between a length of a video frame transmission queue and a reference queue length and a packet loss rate obtained last time; According to the current packet loss rate, it is determined whether the received video frame is discarded.
- the foregoing embodiment can dynamically adjust the packet loss rate of the video frame, so as to accurately determine whether to discard the video frame, and avoid the unreasonable discarding problem caused by discarding the video frame only by using the same packet loss rate, and The problem of centralized discarding a continuous video frame caused by a problem in the network.
- the scheme makes the discarding of the video frame more reasonable, and realizes the effect of smoothly playing the video when the network condition is poor, and avoids the situation that the video picture is not clear, and even the video picture is stuck.
- FIG. 4 is a block diagram showing the structure of a video transmission processing apparatus according to another embodiment of the present invention. As shown in FIG. 4, the device includes a receiving module 400, a computing module 410, and a processing module 420.
- the receiving module 400 is adapted to receive at least one video frame.
- the calculating module 410 is adapted to calculate the current packet loss rate according to the deviation between the length of the video frame transmission queue and the reference queue length and the packet loss rate obtained last time.
- the processing module 420 is adapted to determine whether to discard the received video frame according to the current packet loss rate.
- the calculating module 410 is further adapted to: when the timing time is reached, calculate the current packet loss rate according to the deviation value of the video frame transmission queue length from the reference queue length and the last calculated packet loss rate.
- the calculating module 410 is further adapted to: when the length of the video frame sending queue reaches the first preset threshold, calculate the offset according to the length of the video frame sending queue length and the reference queue length, and the last calculated packet loss rate. The rate of packet loss.
- the calculating module 410 is further adapted to: when the video frame sending queue length change value reaches the second preset threshold, according to the deviation value of the video frame sending queue length from the reference queue length and the last calculated packet loss rate, Calculate the packet loss rate of this time.
- the reference queue length is determined according to a limit value of the length of the video frame transmission queue.
- the processing module 420 further includes: a setting unit 421 and a processing unit 422.
- the setting unit 421 is adapted to set a random number generation interval, and set a packet loss interval in the random number generation interval based on the current packet loss rate.
- the processing unit 422 is adapted to generate a random number located in the random number generation interval, determine whether the random number is located in the packet loss interval, and if yes, discard the received video frame.
- the device further includes: an identification module 430, configured to perform a recognition process on the video frame according to the flag bit to determine whether the video frame is a key frame.
- an identification module 430 configured to perform a recognition process on the video frame according to the flag bit to determine whether the video frame is a key frame.
- the processing module 420 is further adapted to: determine, according to the current packet loss rate, whether to discard the received video frame, if the identification module recognizes that the video frame is not a key frame.
- calculation module 410 is further adapted to:
- p(k), p(k-1) represent the packet loss rate of the kth and k-1th times, respectively;
- e(k), e(k-1), and e(k-2) respectively indicate deviation values of the length of the video frame transmission queue of the kth, k-1th, and k-2th times from the reference queue length;
- K p , K i , K d represent the proportional coefficient, the integral coefficient, and the differential coefficient, respectively.
- the apparatus further includes: an adding module 440, configured to put the undiscovered video frames in the received video frame into the video frame sending queue.
- the video transmission processing apparatus receives at least one video frame, and calculates the current packet loss rate according to the deviation value of the length of the video frame transmission queue from the reference queue length and the packet loss rate obtained last time.
- the video frame is identified according to the flag bit to determine whether the video frame is a key frame. If not, the random number generation interval is set, and the packet loss interval is set in the random number generation interval according to the current packet loss rate. A random number located in the random number interval determines whether the random number is located in the packet loss interval, and if so, discards the received video frame.
- the packet loss rate of the video frame can be dynamically adjusted, so that it is possible to accurately determine whether to discard the video frame, and avoid the unreasonable discarding problem caused by discarding the video frame by using only the same packet loss rate, and
- the problem of centralized discarding a continuous video frame caused by a problem in the network can perform discarding processing only for non-key frames, avoiding the defect that the non-key frame cannot display the picture correctly due to the absence of the reference frame due to discarding the key frame, so that the discarding processing of the video frame is more reasonable, and the network is realized.
- the situation is poor, the effect of playing the video can be smoothly played, and the video picture is not clear, and even the video picture is stuck.
- modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
- the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
- any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
- each feature disclosed in the specification, including the accompanying claims, the abstract and the drawings may be replaced by alternative features that provide the same, equivalent or similar purpose.
- the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
- Those skilled in the art will appreciate that some or all of the functionality of some or all of the components of the video transmission processing device in accordance with embodiments of the present invention may be implemented in practice using a microprocessor or digital signal processor (DSP).
- DSP digital signal processor
- the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
- Such a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
- Figure 5 illustrates a block diagram of a computing device in which a video transmission processing method in accordance with the present invention may be implemented.
- the computing device conventionally includes a processor 510 and a computer program product or computer readable medium in the form of a memory 520.
- the memory 520 may be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM, a hard disk, or a ROM.
- Memory 520 has a storage space 530 that stores program code 531 for performing any of the method steps described above.
- storage space 530 storing program code may store respective program code 531 for implementing various steps in the above methods, respectively.
- the program code can be read from or written to one or more computer program products.
- Such computer program products include program code carriers such as hard disks, compact disks (CDs), memory cards or floppy disks.
- Such a computer program product is typically a portable or fixed storage unit such as that shown in FIG.
- the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to memory 520 in the computing device of FIG.
- the program code can be compressed, for example, in an appropriate form.
- the storage unit stores computer readable program code 531' for performing the steps of the method according to the present invention, ie program code readable by a processor such as 510, when the program code is run by a computing device, The computing device is caused to perform the various steps in the methods described above.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种视频传输处理方法及装置。其中,视频传输处理方法包括:接收至少一视频帧;根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率;根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。基于上述实施方案,可以动态调整视频帧的丢包率,从而能够精确地确定是否对视频帧进行丢弃处理,避免了仅用同一丢包率对视频帧进行丢弃处理造成的不合理丢弃问题,以及在网络出现问题时导致的集中丢弃一段连续的视频帧的问题。该方案使得对视频帧丢弃处理更为合理,实现了在网络状况较差时,也能够流畅播放视频的效果,避免出现视频画面不清晰,甚至出现视频画面卡住的情况。
Description
本发明涉及通信技术领域,具体涉及一种视频传输处理方法及装置。
随着Internet的不断发展,人们希望在网上传送更多的多媒体信息。视频信号的传输是多媒体信息传输的核心。视频传输一般是采用无线网络传输,然而,受无线网络的稳定性和带宽不足的影响,很容易出现不合理丢包的问题。
在无线网络环境较差时,很容易出现视频帧发送队列中的视频帧未被及时发送出去的情况,而当视频帧发送队列的长度达到极限值后,在后续的视频传输过程中,视频发送装置所接收到的视频帧将会被直接丢弃,待视频帧发送队列有空间放入视频帧后,才会将后续接收到的视频帧放入到视频帧发送队列。若无线网络环境差的情况持续时间较长时,就很可能出现一段连续的视频帧被集中丢弃,这样就会造成视频接收装置所接收到的视频帧也会不完整,导致严重的数据缺失,在对视频帧进行解码后,得到的不再是完整的视频画面,容易出现视频画面不清晰,甚至出现视频画面卡住的情况,视频的播放不流畅。因此如何在网络不稳定、带宽有限的无线网络上进行视频的流畅播放,是一个迫切需要解决的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的视频传输处理方法和相应的视频传输处理装置。
根据本发明的一个方面,提供了一种视频传输处理方法,包括:接收至少一视频帧;根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率;以及根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
根据本发明的另一方面,提供了一种视频传输处理装置,包括:接收模块,适于接收至少一视频帧;计算模块,适于根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率;以及处理模块,适于根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
根据本发明的又一个方面,提供了一种计算机程序,其包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行所述的视频传
输处理方法。
根据本发明的再一个方面,提供了一种计算机可读介质,其中存储了所述的计算机程序。
根据本发明提供的方案,接收至少一视频帧;根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率;根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。基于上述实施方案,可以动态调整视频帧的丢包率,从而能够精确地确定是否对视频帧进行丢弃处理,避免了仅用同一丢包率对视频帧进行丢弃处理造成的不合理丢弃问题,以及在网络出现问题时导致的集中丢弃一段连续的视频帧的问题。该方案使得对视频帧丢弃处理更为合理,实现了在网络状况较差时,也能够流畅播放视频的效果,避免出现视频画面不清晰,甚至出现视频画面卡住的情况。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的视频传输处理方法的流程示意图;
图2示出了根据本发明另一个实施例的视频传输处理方法的流程示意图;
图3示出了根据本发明一个实施例的视频传输处理装置的结构框图;
图4示出了根据本发明另一个实施例的视频传输处理装置的结构框图;
图5示出了用于执行根据本发明的视频传输处理方法的计算设备的框图;以及
图6示出了用于保持或者携带实现根据本发明的视频传输处理方法的程序代码的存储单元。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能
够将本公开的范围完整的传达给本领域的技术人员。
本发明的实施例提供一种视频传输处理方法,可以应用于进行实时视频的网络传输的应用场景中,例如视频会议,视频点播等。本发明的实施例以视频点播的应用场景为例进行说明。概括地讲,视频点播系统包括视频发送装置和视频接收装置。其中,视频发送装置通过摄像获取视频帧队列,并对视频帧队列进行编码后通过网络向视频接收装置发送。发送方式包括宽带网络、3G网络或者4G网络等,不断变化的网络环境对视频播放流畅度的影响十分显著,本发明的实施例所提供的视频传输处理方法,其目的即在于在不断变化的网络环境下进行视频网络点播时,提高视频播放的流畅度。
图1示出了根据本发明一个实施例的视频传输处理方法的流程示意图。如图1所示,该方法包括以下步骤:
步骤S100,接收至少一视频帧。
具体地,视频帧是视频中最小单位的视频画面,一个视频由多个视频帧组成,视频发送装置通过摄像获取视频帧队列,即接收至少一视频帧。
步骤S101,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
其中,视频帧发送队列长度指视频发送装置通过网络发送至视频接收装置的视频帧的长度,视频帧数体现了视频帧发送队列的长度;参考队列长度是根据视频帧发送队列长度的极限值确定的,在实际情况中,视频帧发送队列长度可能小于或等于参考队列长度。参考队列长度是根据当前网络状况等进行设定的,本领域技术人员可以根据实际需要进行设定,这里不做具体限定。
在本发明实施例中,在计算本次的丢包率时,需要将上一次计算得到的丢包率作为参考因数来计算本次的丢包率,也就是说,上一次计算得到的丢包率对本次的丢包率具有一定的影响。视频帧发送队列长度与参考队列长度的偏差值体现了视频帧发送队列还能放入的视频帧数,该偏差值作为参考因数来计算本次的丢包率,也就是说,该偏差值对本次的丢包率具有一定的影响。具体地,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
步骤S102,根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
在根据步骤S101计算得到本次的丢包率后,则能够确定是否对接收到的视频帧进行丢弃处理。
根据本发明上述实施例提供的视频传输处理方法,接收至少一视频帧;根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率;根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。基于上述实施方案,可以动态调整视频帧的丢包率,从而能够精确地确定是否对视频帧进行丢弃处理,避免了仅用同一丢包率对视频帧进行丢弃处理造成的不合理丢弃问题,以及在网络出现问题时导致的集中丢弃一段连续的视频帧的问题。该方案使得
对视频帧丢弃处理更为合理,实现了在网络状况较差时,也能够流畅播放视频的效果,避免出现视频画面不清晰,甚至出现视频画面卡住的情况。
图2示出了根据本发明另一个实施例的视频传输处理方法的流程示意图。如图2所示,该方法包括以下步骤:
步骤S200,接收至少一视频帧。
步骤S201,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
其中,视频帧发送队列长度指视频发送装置通过网络发送至视频接收装置的视频帧的长度,视频帧数体现了视频帧发送队列的长度。参考队列长度是根据视频帧发送队列长度的极限值确定的,在实际情况中,视频帧发送队列长度可能小于或等于参考队列长度。参考队列长度是根据当前网络状况等进行设定的,本领域技术人员可以根据实际需要进行设定,这里不做具体限定。
在本发明实施例中,具体可以采用如下方法计算本次的丢包率:
方法一:
当到达定时时间时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率,也就是说,需要预先设定好计算丢包率的时间,当到达设定时间时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。举例说明,预先设定每隔5秒钟计算一次丢包率,当距离上一次计算丢包率的时间为5秒钟时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。这里对所设定的时间仅仅是举例说明,不具有任何限定作用,本领域技术人员可以根据实际需要进行设定,在此不再赘述。
方法二:
当视频帧发送队列长度达到第一预设阈值时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
其中,第一预设阈值可以根据参考队列长度进行设定,一般情况下,第一预设阈值小于参考队列长度。例如可以将第一预设阈值设定为参考队列长度的二分之一,当视频帧发送队列长度达到第一预设阈值时,说明此时需要计算所接收到的视频帧的丢包率,从而进一步确定是否需要对接收到的视频帧进行丢弃处理。对于第一预设阈值的设定这里仅仅是举例说明,不具有任何限定作用,本领域技术人员可以根据实际需要进行设定。
方法三:
当视频帧发送队列长度变化值达到第二预设阈值时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
其中,视频帧发送队列长度变化值体现了单位时间内新放入到视频帧发送队列中的视频帧数。例如,可以设定第二预设阈值为20帧/毫秒,每隔预定时间例如10
毫秒检测一下视频帧发送队列长度,确定视频帧发送队列长度变化值,当视频帧发送队列长度变化值达到20帧/毫秒时,说明此时需要计算所接收到的视频帧的丢包率,从而进一步确定是否需要对接收到的视频帧进行丢弃处理,若视频帧发送队列长度变化值未达到20帧/毫秒,则不进行丢包率计算。对于第二预设阈值的设定这里仅仅是举例说明,不具有任何限定作用,本领域技术人员可以根据实际需要进行设定。
在本发明实施例中,可以利用如下公式计算第k次的丢包率:
p(k)=p(k-1)+Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)];
其中,p(k),p(k-1)分别表示第k次和第k-1次的丢包率;e(k),e(k-1),e(k-2)分别表示第k次、第k-1次和第k-2次的视频帧发送队列长度与参考队列长度的偏差值;Kp,Ki,Kd分别表示比例系数、积分系数和微分系数。
利用上述公式能够精确地计算得到本次的丢包率,进一步提升了对视频帧丢弃处理的准确性。
步骤S202,根据标志位对视频帧进行识别处理,确定视频帧是否为关键帧,若否,则执行步骤S203;若是,则执行步骤S206。
其中,经过编码所得的视频帧可以是关键帧(I帧)或者非关键帧(P帧)。关键帧记录了一帧完整的视频画面,如果一个视频帧为关键帧,视频播放装置通过解码该视频帧就可以得到完整的视频画面。非关键帧记录了一帧视频与另一帧视频(参考帧)所不同的部分,如果一个视频帧为非关键帧,视频接收装置需要基于该视频的参考帧对该视频帧进行解码,得到完整的视频画面。一个非关键帧可以引用关键帧为参考帧,对于一个非关键帧,如果其参考帧丢失,视频接收装置即使接收到该视频帧,在播放该帧时也可能出现花屏或者马赛克。
视频中,每个关键帧都有唯一的标志位,将关键帧彼此区分开,将关键帧与非关键帧区分开。在本实施例中,根据标志位可以确定视频帧是否为关键帧,而确定视频帧是否为关键帧主要是为了确定是否对视频帧进行丢弃处理,若不是关键帧,则可以根据所计算得到的丢包率对视频帧进行丢弃处理,若是关键帧,则不能丢弃,需要放入到视频帧发送队列。
步骤S203,设定随机数生成区间,并根据本次的丢包率在随机数生成区间内设定丢包区间。
具体地,预先设定一最大值和一最小值,构成随机数生成区间,即,预先设定随机数生成区间,在设定好随机数生成区间后,随机数仅能在该随机数生成区间中生成。
在根据步骤S202计算得到本次的丢包率后,根据本次的丢包率在随机数生成区间内设定丢包区间,也就是说,该丢包区间确定了对非关键帧进行丢弃处理的最大值和最小值。例如,设定随机数生成区间为[0,1],根据步骤S202计算得到本次的丢包率为0.6,根据本次的丢包率在随机数生成区间内设定丢包区间为[0,0.6],也
就是说,在该区间内将丢弃对非关键帧进行丢弃处理。
步骤S204,生成位于随机数生成区间内的一随机数,判断随机数是否位于丢包区间内,若是,则执行步骤S205;若否,则执行步骤206。
具体地,在根据步骤S203设定丢包区间后,便可以进行视频帧的丢弃处理,对于视频帧的丢弃处理是随机的,也就是说,在随机数生成区间中随机生成一数值,作为视频帧是否被丢弃处理的判断依据,当随机数位于丢包区间时,则需要对视频帧进行丢弃处理,当随机数不在丢包区间时,则不对视频帧进行丢弃处理。
步骤S205,对接收到的视频帧进行丢弃处理。
具体地,在根据步骤S204判断出随机数位于丢包区间内的情况下,将对接收到的非关键帧进行丢弃处理。
步骤S206,将接收的视频帧中的未被丢弃的视频帧放入视频帧发送队列。
具体地,在根据步骤S204判断出随机数不在丢包区间内的情况下,将不对接收到的非关键帧进行丢弃处理,而是将该非关键帧放入视频帧发送队列。在视频帧为关键帧的情况下,将该关键帧放入视频帧发送队列,等待发送。
根据本发明上述实施例提供的视频传输处理方法,接收至少一视频帧,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。根据标志位对视频帧进行识别处理,确定视频帧是否为关键帧,若否,则设定随机数生成区间,并根据本次的丢包率在随机数生成区间内设定丢包区间,生成位于随机数区间内的一随机数,判断随机数是否位于丢包区间内,若是,则对接收到的视频帧进行丢弃处理。基于上述实施方案,可以动态调整视频帧的丢包率,从而能够精确地确定是否对视频帧进行丢弃处理,避免了仅用同一丢包率对视频帧进行丢弃处理造成的不合理丢弃问题,以及在网络出现问题时导致的集中丢弃一段连续的视频帧的问题。而且,其可以仅针对非关键帧进行丢弃处理,避免了因丢弃关键帧而导致非关键帧因没有参考帧而无法正确显示画面的缺陷,使得对视频帧丢弃处理更为合理,实现了在网络状况较差时,也能够流畅播放视频的效果,避免出现视频画面不清晰,甚至出现视频画面卡住的情况。
图3示出了根据本发明一个实施例的视频传输处理装置的结构框图。如图3所示,该装置包括:接收模块300、计算模块310和处理模块320。
接收模块300,适于接收至少一视频帧。
计算模块310,适于根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
处理模块320,适于根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
根据本发明上述实施例提供的视频传输处理装置,接收至少一视频帧;根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率;根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。基于
上述实施方案,可以动态调整视频帧的丢包率,从而能够精确地确定是否对视频帧进行丢弃处理,避免了仅用同一丢包率对视频帧进行丢弃处理造成的不合理丢弃问题,以及在网络出现问题时导致的集中丢弃一段连续的视频帧的问题。该方案使得对视频帧丢弃处理更为合理,实现了在网络状况较差时,也能够流畅播放视频的效果,避免出现视频画面不清晰,甚至出现视频画面卡住的情况。
图4示出了根据本发明另一个实施例的视频传输处理装置的结构框图。如图4所示,该装置包括:接收模块400、计算模块410和处理模块420。
接收模块400,适于接收至少一视频帧。
计算模块410,适于根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
处理模块420,适于根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
可选地,计算模块410进一步适于:当到达定时时间时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
可选地,计算模块410进一步适于:当视频帧发送队列长度达到第一预设阈值时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
可选地,计算模块410进一步适于:当视频帧发送队列长度变化值达到第二预设阈值时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
可选地,参考队列长度是根据视频帧发送队列长度的极限值确定的。
可选地,处理模块420进一步包括:设定单元421和处理单元422。
设定单元421,适于设定随机数生成区间,并根据本次的丢包率在随机数生成区间内设定丢包区间。
处理单元422,适于生成位于随机数生成区间内的一随机数,判断随机数是否位于丢包区间内,若是,则对接收到的视频帧进行丢弃处理。
可选地,装置还包括:识别模块430,适于根据标志位对视频帧进行识别处理,确定视频帧是否为关键帧。
处理模块420进一步适于:在识别模块识别出视频帧不是关键帧的情况下,根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
可选地,计算模块410进一步适于:
利用公式:p(k)=p(k-1)+Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]计算第k次的丢包率;
其中,p(k),p(k-1)分别表示第k次和第k-1次的丢包率;
e(k),e(k-1),e(k-2)分别表示第k次、第k-1次和第k-2次的视频帧发送队列长度与参考队列长度的偏差值;
Kp,Ki,Kd分别表示比例系数、积分系数和微分系数。
可选地,装置还包括:添加模块440,适于将接收的视频帧中的未被丢弃的视频帧放入视频帧发送队列。
根据本发明上述实施例提供的视频传输处理装置,接收至少一视频帧,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。根据标志位对视频帧进行识别处理,确定视频帧是否为关键帧,若否,则设定随机数生成区间,并根据本次的丢包率在随机数生成区间内设定丢包区间,生成位于随机数区间内的一随机数,判断随机数是否位于丢包区间内,若是,则对接收到的视频帧进行丢弃处理。基于上述实施方案,可以动态调整视频帧的丢包率,从而能够精确地确定是否对视频帧进行丢弃处理,避免了仅用同一丢包率对视频帧进行丢弃处理造成的不合理丢弃问题,以及在网络出现问题时导致的集中丢弃一段连续的视频帧的问题。而且,其可以仅针对非关键帧进行丢弃处理,避免了因丢弃关键帧而导致非关键帧因没有参考帧而无法正确显示画面的缺陷,使得对视频帧丢弃处理更为合理,实现了在网络状况较差时,也能够流畅播放视频的效果,避免出现视频画面不清晰,甚至出现视频画面卡住的情况。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非
另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的视频传输处理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图5示出了可以实现根据本发明的视频传输处理方法的计算设备的框图。该计算设备传统上包括处理器510和以存储器520形式的计算机程序产品或者计算机可读介质。存储器520可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器520具有存储用于执行上述方法中的任何方法步骤的程序代码531的存储空间530。例如,存储程序代码的存储空间530可以存储分别用于实现上面的方法中的各种步骤的各个程序代码531。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图6所示的便携式或者固定存储单元。该存储单元可以具有与图5的计算设备中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元存储有用于执行根据本发明的方法步骤的计算机可读程序代码531’,即可以由例如诸如510之类的处理器读取的程序代码,当这些程序代码由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本发明的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以
及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
此外,还应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (20)
- 一种视频传输处理方法,包括:接收至少一视频帧;根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率;以及根据所述本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
- 根据权利要求1所述的方法,其中,所述根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率进一步包括:当到达定时时间时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
- 根据权利要求1所述的方法,其中,所述根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率进一步包括:当视频帧发送队列长度达到第一预设阈值时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
- 根据权利要求1所述的方法,其中,所述根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率进一步包括:当视频帧发送队列长度变化值达到第二预设阈值时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
- 根据权利要求1-4任一项所述的方法,其中,所述参考队列长度是根据视频帧发送队列长度的极限值确定的。
- 根据权利要求1-5任一项所述的方法,其中,所述根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理进一步包括:设定随机数生成区间,并根据本次的丢包率在所述随机数生成区间内设定丢包区间;生成位于所述随机数生成区间内的一随机数,判断所述随机数是否位于所述丢包区间内,若是,则对接收到的视频帧进行丢弃处理。
- 根据权利要求1-6任一项所述的方法,其中,在所述根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理之前,所述方法还包括:根据标志位对所述视频帧进行识别处理,确定所述视频帧是否为关键帧;若否,则根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
- 根据权利要求1-7任一项所述的方法,其中,所述根据视频帧发送队列长度 与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率进一步包括:利用公式:p(k)=p(k-1)+Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]计算第k次的丢包率;其中,p(k),p(k-1)分别表示第k次和第k-1次的丢包率;e(k),e(k-1),e(k-2)分别表示第k次、第k-1次和第k-2次的视频帧发送队列长度与参考队列长度的偏差值;Kp,Ki,Kd分别表示比例系数、积分系数和微分系数。
- 根据权利要求1-8任一项所述的方法,还包括:将接收的视频帧中的未被丢弃的视频帧放入视频帧发送队列。
- 一种视频传输处理装置,包括:接收模块,适于接收至少一视频帧;计算模块,适于根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率;以及处理模块,适于根据所述本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
- 根据权利要求10所述的装置,其中,所述计算模块进一步适于:当到达定时时间时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
- 根据权利要求10所述的装置,其中,所述计算模块进一步适于:当视频帧发送队列长度达到第一预设阈值时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
- 根据权利要求10所述的装置,其中,所述计算模块进一步适于:当视频帧发送队列长度变化值达到第二预设阈值时,根据视频帧发送队列长度与参考队列长度的偏差值以及上一次计算得到的丢包率,计算本次的丢包率。
- 根据权利要求10-13任一项所述的装置,其中,所述参考队列长度是根据视频帧发送队列长度的极限值确定的。
- 根据权利要求10-14任一项所述的装置,其中,所述处理模块进一步包括:设定单元,适于设定随机数生成区间,并根据本次的丢包率在所述随机数生成区间内设定丢包区间;处理单元,适于生成位于所述随机数生成区间内的一随机数,判断所述随机数是否位于所述丢包区间内,若是,则对接收到的视频帧进行丢弃处理。
- 根据权利要求10-15任一项所述的装置,还包括:识别模块,适于根据标志位对所述视频帧进行识别处理,确定所述视频帧是否为关键帧;所述处理模块进一步适于:在所述识别模块识别出所述视频帧不是关键帧的情况下,根据本次的丢包率,确定对接收到的视频帧是否进行丢弃处理。
- 根据权利要求10-16任一项所述的装置,其中,所述计算模块进一步适于:利用公式:p(k)=p(k-1)+Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]计算第k次的丢包率;其中,p(k),p(k-1)分别表示第k次和第k-1次的丢包率;e(k),e(k-1),e(k-2)分别表示第k次、第k-1次和第k-2次的视频帧发送队列长度与参考队列长度的偏差值;Kp,Ki,Kd分别表示比例系数、积分系数和微分系数。
- 根据权利要求10-17任一项所述的装置,其中,所述装置还包括:添加模块,适于将接收的视频帧中的未被丢弃的视频帧放入视频帧发送队列。
- 一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-9中的任一个所述的视频传输处理方法。
- 一种计算机可读介质,其中存储了如权利要求19所述的计算机程序。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610282505.0A CN105916059A (zh) | 2016-04-29 | 2016-04-29 | 视频传输处理方法及装置 |
| CN201610282505.0 | 2016-04-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017186067A1 true WO2017186067A1 (zh) | 2017-11-02 |
Family
ID=56753145
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/081504 Ceased WO2017186067A1 (zh) | 2016-04-29 | 2017-04-21 | 视频传输处理方法及装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN105916059A (zh) |
| WO (1) | WO2017186067A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112449190A (zh) * | 2019-09-05 | 2021-03-05 | 曙光网络科技有限公司 | 一种并发视频会话ipb帧图像组的解码方法 |
| CN112532943A (zh) * | 2020-11-30 | 2021-03-19 | 苏州浪潮智能科技有限公司 | 一种监控视频分发方法、装置、设备和存储介质 |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105916059A (zh) * | 2016-04-29 | 2016-08-31 | 北京奇虎科技有限公司 | 视频传输处理方法及装置 |
| CN106411600A (zh) * | 2016-10-31 | 2017-02-15 | 努比亚技术有限公司 | 一种测试设备及方法 |
| CN111263184B (zh) * | 2020-02-27 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 编解码一致性检测方法、装置、设备 |
| CN111601178B (zh) * | 2020-05-26 | 2022-09-23 | 维沃移动通信有限公司 | 视频数据处理方法、装置和电子设备 |
| WO2022052102A1 (zh) * | 2020-09-14 | 2022-03-17 | 华为技术有限公司 | 一种通信方法及装置 |
| CN113453054B (zh) * | 2021-06-30 | 2022-11-29 | 深圳万兴软件有限公司 | 音视频丢帧方法、装置、计算机设备及存储介质 |
| CN115037701B (zh) * | 2022-06-20 | 2023-12-19 | 北京达佳互联信息技术有限公司 | 视频处理方法、装置、服务器及介质 |
| CN116055803B (zh) * | 2022-07-29 | 2024-04-02 | 荣耀终端有限公司 | 视频播放方法和系统、电子设备 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050157752A1 (en) * | 2004-01-16 | 2005-07-21 | Hitachi., Ltd. | Storage switch with bandwidth control function |
| CN101079816A (zh) * | 2007-07-06 | 2007-11-28 | 北京航空航天大学 | 一种基于网络状态参数估计的快速控制方法 |
| CN101360052A (zh) * | 2008-09-28 | 2009-02-04 | 成都市华为赛门铁克科技有限公司 | 一种流量调度的方法和装置 |
| CN101414957A (zh) * | 2007-10-17 | 2009-04-22 | 北京中电华大电子设计有限责任公司 | 一种用于无线局域网的缓冲队列管理方法 |
| CN103685062A (zh) * | 2013-12-02 | 2014-03-26 | 华为技术有限公司 | 缓存管理方法及装置 |
| CN105916059A (zh) * | 2016-04-29 | 2016-08-31 | 北京奇虎科技有限公司 | 视频传输处理方法及装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1885824A (zh) * | 2006-06-07 | 2006-12-27 | 清华大学 | 主动队列管理的分类器实现方法 |
| CN101582842A (zh) * | 2008-05-16 | 2009-11-18 | 华为技术有限公司 | 拥塞控制方法与拥塞控制装置 |
| CN103414650B (zh) * | 2013-07-29 | 2016-12-07 | 上海华为技术有限公司 | 一种避免拥塞的路由方法和装置 |
-
2016
- 2016-04-29 CN CN201610282505.0A patent/CN105916059A/zh active Pending
-
2017
- 2017-04-21 WO PCT/CN2017/081504 patent/WO2017186067A1/zh not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050157752A1 (en) * | 2004-01-16 | 2005-07-21 | Hitachi., Ltd. | Storage switch with bandwidth control function |
| CN101079816A (zh) * | 2007-07-06 | 2007-11-28 | 北京航空航天大学 | 一种基于网络状态参数估计的快速控制方法 |
| CN101414957A (zh) * | 2007-10-17 | 2009-04-22 | 北京中电华大电子设计有限责任公司 | 一种用于无线局域网的缓冲队列管理方法 |
| CN101360052A (zh) * | 2008-09-28 | 2009-02-04 | 成都市华为赛门铁克科技有限公司 | 一种流量调度的方法和装置 |
| CN103685062A (zh) * | 2013-12-02 | 2014-03-26 | 华为技术有限公司 | 缓存管理方法及装置 |
| CN105916059A (zh) * | 2016-04-29 | 2016-08-31 | 北京奇虎科技有限公司 | 视频传输处理方法及装置 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112449190A (zh) * | 2019-09-05 | 2021-03-05 | 曙光网络科技有限公司 | 一种并发视频会话ipb帧图像组的解码方法 |
| CN112532943A (zh) * | 2020-11-30 | 2021-03-19 | 苏州浪潮智能科技有限公司 | 一种监控视频分发方法、装置、设备和存储介质 |
| CN112532943B (zh) * | 2020-11-30 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种监控视频分发方法、装置、设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN105916059A (zh) | 2016-08-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11669598B1 (en) | Authenticating media data based on metadata encoding | |
| CN105916059A (zh) | 视频传输处理方法及装置 | |
| WO2017161998A1 (zh) | 视频处理方法和装置、计算机存储介质 | |
| US20160366206A1 (en) | Platform for multiple device playout | |
| CN104702968A (zh) | 一种视频帧丢帧方法及视频发送装置 | |
| US11600302B2 (en) | System and methods for autonomous synchronous rendering of media objects obtained from a plurality of media sources | |
| JP2014502111A (ja) | モバイルデバイスのロケーションを決定するための方法および装置 | |
| CN114826384B (zh) | 遥感卫星数据误码率估计方法、装置、设备及介质 | |
| CN115734043B (zh) | 视频质量问题确定方法、装置、存储介质及程序产品 | |
| US12518769B2 (en) | Audio watermark addition method, audio watermark parsing method, device, and medium | |
| CN113347489B (zh) | 视频片段检测方法、装置、设备及存储介质 | |
| JP2017085560A5 (zh) | ||
| WO2017202060A1 (zh) | 一种视频播放方法及装置 | |
| CN111093083A (zh) | 数据传输方法及装置 | |
| CN106792264A (zh) | 一种视频帧传输方法及装置 | |
| CN114513651B (zh) | 视频设备关键帧碰撞检测方法、数据传输方法及相关装置 | |
| JP5440839B2 (ja) | 情報処理装置および方法、並びにプログラム | |
| WO2018121705A1 (zh) | 一种流数据的双向传输方法和装置 | |
| CN102833524B (zh) | 一种对本地音频及呼叫方音频同时录像的控制方法 | |
| CN104700830B (zh) | 一种语音端点检测方法及装置 | |
| US20110019581A1 (en) | Method for identifying packets and apparatus using the same | |
| CN108989905A (zh) | 媒体流控制方法、装置、计算设备及存储介质 | |
| CN118694533A (zh) | 用于提供具有可变粒度的签名音频比特流的方法和装置 | |
| CN113438503B (zh) | 视频文件还原方法、装置、计算机设备和存储介质 | |
| US20170039165A1 (en) | Multidimensional stage adaptive transmission control system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17788719 Country of ref document: EP Kind code of ref document: A1 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17788719 Country of ref document: EP Kind code of ref document: A1 |