IP Library Granted Patent US 10,659,847
Granted Patent B2
US 10,659,847 · App. 15/678,846 · Granted May 19, 2020

Frame dropping method for video frame and video sending apparatus

Inventors: Yang Fu (Shenzhen, CN); Tizheng Wang (Shenzhen, CN)
Assignee: Huawei Technologies Co., Ltd.
H04N21/64769H04N19/114H04N19/132H04N19/152H04N19/177H04N21/23406H04N21/23805H04N21/64792
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,659,847
App. No.
15/678,846
Granted
May 19, 2020
Kind
B2
Abstract

A frame dropping method for a video frame and a video sending apparatus are used to perform frame dropping processing on video frames in order to reduce a quantity of dropped frames, enhance video playing smoothness, and improve user experience. A specific solution includes obtaining a video frame sequence of a to-be-sent video, establishing a reference relationship between video frames in the video frame sequence according to a preset criterion, and detecting a data occupation length of buffered video frames in a video sending buffer during a process of sending the video frame sequence, dropping a current to-be-buffered video frame when the data occupation length is greater than a preset threshold, and dropping all video frames in the video frame sequence that reference the current to-be-buffered video frame according to the reference relationship.

Claims (46)

1. A frame dropping method for a video frame, comprising:

obtaining a video frame sequence of a to-be-sent video;

establishing a reference relationship between video frames in the video frame sequence according to a preset criterion, wherein the reference relationship comprises that in the video frame sequence, an m th frame references an (m−h) th frame, and an n th frame is referenced by at least two video frames of video frames after the n th frame, wherein m, h, and n are all natural numbers, wherein m is greater than 1 and h, and wherein a quantity of the video frames in the video frame sequence is not less than n+2;

detecting a data occupation length of buffered video frames in a video sending buffer during a process of sending the video frame sequence;

responsive to detecting that the data occupation length is greater than a first preset threshold, dropping a current to-be-buffered video frame and all video frames in the video frame sequence referencing the current to-be-buffered video frame according to the reference relationship;

responsive to detecting that the data occupation length is less than the first preset threshold, storing the current to-be-buffered video frame in the video sending buffer if the data occupation length is less than a second preset threshold, wherein the second preset threshold is less than the first preset threshold;

responsive to detecting that the data occupation length is less than the first preset threshold and greater than the second threshold;

storing the current to-be-buffered video frame if the current to-be-buffered video frame is an instantaneous decoding refresh (IDR) frame; and

dropping the current to-be-buffered video frame if the current to-be-buffered video frame is a non-IDR frame.

2. The method according to claim 1 , wherein the preset criterion is a requirement on video playing smoothness, wherein in the reference relationship, a higher requirement on the video playing smoothness indicates that a larger quantity of video frames directly reference an instantaneous decoding refresh (IDR) frame, and wherein the IDR frame is a first frame of the video frame sequence.

3. The method according to claim 1 , wherein the preset criterion is importance of each video frame in the video frame sequence, and wherein in the reference relationship, a video frame of greater importance is directly referenced by a video frame of lesser importance.

4. The method according to claim 1 , wherein the preset criterion is a benchmark sending rate of a network, wherein a higher benchmark sending rate of the network indicates a larger quantity of video frames in the reference relationship that directly reference an instantaneous decoding refresh (IDR) frame, and wherein the IDR frame is a first frame of the video frame sequence.

5. The method according to claim 1 , wherein the reference relationship between the video frames in the video frame sequence further comprises that video frames after an instantaneous decoding refresh (IDR) frame all reference the IDR frame when a first frame of the video frame sequence is the IDR frame.

6. The method according to claim 1 , further comprising determining whether an unoccupied portion of the video sending buffer is capable of storing the current to-be-buffered video frame if the current to-be-buffered video frame is an IDR frame when the data occupation length is greater than the first threshold.

7. The method according to claim 1 , wherein the non-IDR frame is a P frame comprising less data than the IDR frame.

8. A video sending apparatus, comprising:

a memory comprising an application program code; and

a processor coupled to the memory, wherein the application program code causes the processor to be configured to:

obtain a video frame sequence of a to-be-sent video;

establish, according to a preset criterion, a reference relationship between video frames in the video frame sequence, wherein the reference relationship comprises that in the video frame sequence, an m th frame references an (m−h) th frame, and an n th frame is referenced by at least two video frames of video frames after the n th frame, wherein m, h, and n are all natural numbers, wherein m is greater than 1 and h, and wherein a quantity of the video frames in the video frame sequence is not less than n+2;

detect a data occupation length of buffered video frames in a video sending buffer during a process of sending the video frame sequence;

responsive to detecting that the data occupation length is greater than a first preset threshold, drop a current to-be-buffered video frame and all video frames in the video frame sequence that reference the current to-be-buffered video frame according to the reference relationship;

responsive to detecting that the data occupation length is less than the first preset threshold, store the current to-be-buffered video frame in the video sending buffer if the data occupation length is less than a second preset threshold, wherein the second preset threshold is less than the first preset threshold;

responsive to detecting that the data occupation length is less than the first preset threshold and greater than the second threshold;

storing the current to-be-buffered video frame if the current to-be-buffered video frame is an instantaneous decoding refresh (IDR) frame; and

dropping the current to-be-buffered video frame if the current to-be-buffered video frame is a non-IDR frame.

9. The apparatus according to claim 8 , wherein the preset criterion is a requirement on video playing smoothness, wherein the reference relationship between the video frames in the video frame sequence comprises that a higher requirement on the video playing smoothness indicates a larger quantity of video frames that directly reference an instantaneous decoding refresh (IDR) frame, and wherein the IDR frame is a first frame of the video frame sequence.

10. The apparatus according to claim 8 , wherein the preset criterion is importance of each video frame in the video frame sequence, and wherein the reference relationship between the video frames in the video frame sequence comprises that a video frame of greater importance is directly referenced by a video frame of lesser importance.

11. The apparatus according to claim 8 , wherein the preset criterion is a benchmark sending rate of a network, and wherein the reference relationship between the video frames in the video frame sequence comprises that a higher benchmark sending rate of the network indicates a larger quantity of video frames that directly reference an instantaneous decoding refresh (IDR) frame.

12. The apparatus according to claim 8 , wherein the reference relationship between the video frames in the video frame sequence further comprises that video frames after an instantaneous decoding refresh (IDR) frame all reference the IDR frame when a first frame of the video frame sequence is the IDR frame.

13. The apparatus according to claim 8 , wherein the processor is configured to determine whether an unoccupied portion of the video sending buffer is capable of storing the current to-be-buffered video frame if the current to-be-buffered video frame is an IDR frame when the data occupation length is greater than the first threshold.

14. The apparatus according to claim 8 , wherein the non-IDR frame is a P frame comprising less data than the IDR frame.

15. A computer program product comprising a non-transitory computer readable storage medium storing program code thereon for frame dropping, the program code comprising instructions for executing a method that comprises:

obtaining a video frame sequence of a to-be-sent video;

establishing a reference relationship between video frames in the video frame sequence according to a preset criterion, wherein the reference relationship comprises that in the video frame sequence, an m th frame references an (m−h) th frame, and an n th frame is referenced by at least two video frames of video frames after the n th frame, wherein m, h, and n are all natural numbers, wherein m is greater than 1 and h, and wherein a quantity of the video frames in the video frame sequence is not less than n+2;

detecting a data occupation length of buffered video frames in a video sending buffer during a process of sending the video frame sequence; and

responsive to detecting that the data occupation length is greater than a first preset threshold, dropping a current to-be-buffered video frame and all video frames in the video frame sequence referencing the current to-be-buffered video frame according to the reference relationship;

responsive to detecting that the data occupation length is less than the first preset threshold, storing the current to-be-buffered video frame in the video sending buffer if the data occupation length is less than a second preset threshold, wherein the second preset threshold is less than the first preset threshold;

responsive to detecting that the data occupation length is less than the first preset threshold and greater than the second threshold;

storing the current to-be-buffered video frame if the current to-be-buffered video frame is an instantaneous decoding refresh (IDR) frame; and

dropping the current to-be-buffered video frame if the current to-be-buffered video frame is a non-IDR frame.

16. The computer program product according to claim 15 , wherein the preset criterion is a requirement on video playing smoothness, wherein in the reference relationship, a higher requirement on the video playing smoothness indicates that a larger quantity of video frames directly reference an instantaneous decoding refresh (IDR) frame, and wherein the IDR frame is a first frame of the video frame sequence.

17. The computer program product according to claim 15 , wherein the preset criterion is importance of each video frame in the video frame sequence, and wherein in the reference relationship, a video frame of greater importance is directly referenced by a video frame of lesser importance.

18. The computer program product according to claim 15 , wherein the preset criterion is a benchmark sending rate of a network, wherein a higher benchmark sending rate of the network indicates a larger quantity of video frames in the reference relationship directly reference an instantaneous decoding refresh (IDR) frame, and wherein the IDR frame is a first frame of the video frame sequence.

19. The computer program product according to claim 15 , wherein the reference relationship between the video frames in the video frame sequence further comprises that video frames after an instantaneous decoding refresh (IDR) frame all reference the IDR frame when a first frame of the video frame sequence is the IDR frame.

20. The computer program product according to claim 15 , wherein the method further comprises determining whether an unoccupied portion of the video sending buffer is capable of storing the current to-be-buffered video frame if the current to-be-buffered video frame is an IDR frame when the data occupation length is greater than the first threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2017
From: FU, YANG; WANG, TIZHENG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 044372/0739 →
Priority Claims (1)
CN 2015 1 0091898 · Feb 17, 2015 · national
Continuity (2)
Continuation PCTCN2015083667 · Jul 9, 2015
Related Publication 20170347158A1 · Nov 30, 2017