Adaptive GOP structure in video streaming
AssigneeQUALCOMM Incorporated
InventorsTao Tian, Vijayalakshmi R. Raveendran
Life of this patent
Estimating the term…
Abstract
This system adaptively assigns picture types used for temporal compression to frames of streaming video at the input. Based on threshold testing of two metrics that are measures of distance between the frames at the input, a frame may be assigned to be compressed as an I, P, or B frame or be skipped over by the system without being coded at all.
Claims22
A method of encoding video frames comprising:
- determining at least one metric indicative of a difference between a selected video frame and at least one adjacent video frame, wherein the metric is determined according to
- M
- =
- γ
- C
- γ
- P
- +
- λ
-
- (
- 2
-
-
- λ
- +
- 1
- )
- ,
- (
- 3
- )
- where γC is a ratio of luminance value differences between the selected video frame and each of a preceding adjacent video frame and a following adjacent video frame, γP is a preceding ratio of luminance value differences for the preceding adjacent video frame, and λ is a luminance histogram difference between the selected video frame and the preceding adjacent video frame;
- and
- adaptively assigning an encoding method to the selected video frame based on the determined metric, comprising:
- encoding the selected video frame as an intra-predictively coded (I) frame type when the determined metric is larger than a first threshold value indicative of a scene change;
- encoding the selected video frame as an unidirectional inter-predictively coded (P) frame type when the determined metric is larger than a second threshold value and less than the first threshold value, wherein the second threshold value is less than the first threshold value;
- and
- encoding the selected video frame as a bidirectional inter-predictively coded (B) frame type when the determined metric is larger than a third threshold value and less than the second threshold value, wherein the third threshold value is less than the second threshold value.
An apparatus for encoding video frames, comprising a processor including a metrics module and a decision module, wherein:
- the metrics module determines at least one metric indicative of a difference between a selected video frame and at least one adjacent frame, wherein the metric is determined according to
- M
- =
- γ
- C
- γ
- P
- +
- λ
-
- (
- 2
-
-
- λ
- +
- 1
- )
- ,
- (
- 3
- )
- where γC is a ratio of luminance value differences between the selected video frame and each of a preceding adjacent video frame and a following adjacent video frame, γP is a preceding ratio of luminance value differences for the preceding adjacent video frame, and λ is a luminance histogram difference between the selected video frame and the preceding adjacent video frame;
- and
- the decision module adaptively assigns an encoding method to the selected video frame based on the determined metric, wherein the adaptively assigned encoding method comprises:
- encoding the selected video frame as an intra-predictively coded (I) frame type when the determined metric is larger than a first threshold value indicative of a scene change;
- encoding the selected video frame as an unidirectional inter-predictively coded (P) frame type when the determined metric is larger than a second threshold value and less than the first threshold value, wherein the second threshold value is less than the first threshold value;
- and
- encoding the selected video frame as a bidirectional inter-predictively coded (B) frame type when the determined metric is larger than a third threshold value and less than the second threshold value, wherein the third threshold value is less than the second threshold value.
An apparatus for encoding video frames, comprising:
- means for determining at least one metric indicative of a difference between a selected frame and at least one adjacent frame, wherein the metric is determined according to
- M
- =
- γ
- C
- γ
- P
- +
- λ
-
- (
- 2
-
-
- λ
- +
- 1
- )
- ,
- (
- 3
- )
- where γC is a ratio of luminance value differences between the selected video frame and each of a preceding adjacent video frame and a following adjacent video frame, γP is a preceding ratio of luminance value differences for the preceding adjacent video frame, and λ is a luminance histogram difference between the selected video frame and the preceding adjacent video frame;
- and
- means for adaptively assigning an encoding method to the selected video frame based on the determined metric, comprising:
- the selected video frame as an intra-predictively coded (I) frame type when the determined metric is larger than a first threshold value indicative of a scene change;
- the selected video frame as an unidirectional inter-predictively coded (P) frame type when the determined metric is larger than a second threshold value and less than the first threshold value, wherein the second threshold value is less than the first threshold value;
- and
- the selected video frame as a bidirectional inter-predictively coded (B) frame type when the determined metric is larger than a third threshold value and less than the second threshold value, wherein the third threshold value is less than the second threshold value.
A non-transitory machine readable medium comprising instructions for encoding video frames, wherein the instructions upon execution cause a machine to:
- determine at least one metric indicative of a difference between a selected frame and adjacent frames, wherein the metric is determined according to
- M
- =
- γ
- C
- γ
- P
- +
- λ
-
- (
- 2
-
-
- λ
- +
- 1
- )
- ,
- (
- 3
- )
- where γC is a ratio of luminance value differences between the selected video frame and each of a preceding adjacent video frame and a following adjacent video frame, γP is a preceding ratio of luminance value differences for the preceding adjacent video frame, and λ is a luminance histogram difference between the selected video frame and the preceding adjacent video frame;
- and
- adaptively assign an encoding method to the selected video frame based on the determined metric, wherein the adaptively assigned encoding method comprises:
- encoding the selected video frame as an intra-predictively coded (I) frame type when the determined metric is larger than a first threshold value indicative of a scene change;
- encoding the selected video frame as an unidirectional inter-predictively coded (P) frame type when the determined metric is larger than a second threshold value and less than the first threshold value, wherein the second threshold value is less than the first threshold value;
- and
- encoding the selected video frame as a bidirectional inter-predictively coded (B) frame type when the determined metric is larger than a third threshold value and less than the second threshold value, wherein the third threshold value is less than the second threshold value.
A video encoding processor comprising a configuration to:
- determine at least one metric indicative of a difference between a selected frame and adjacent frames, wherein the metric is determined according to
- M
- =
- γ
- C
- γ
- P
- +
- λ
-
- (
- 2
-
-
- λ
- +
- 1
- )
- ,
- (
- 3
- )
- where γC is a ratio of luminance value differences between the selected video frame and each of a preceding adjacent video frame and a following adjacent video frame, γP is a preceding ratio of luminance value differences for the preceding adjacent video frame, and λ is a luminance histogram difference between the selected video frame and the preceding adjacent video frame;
- and
- adaptively assign an encoding method for the selected frame based on the determined metric, wherein the adaptively assigned encoding method comprises:
- encoding the selected frame as an intra-predictively coded (I) frame type when the determined metric is larger than a first threshold value indicative of a scene change;
- encoding the selected frame as an inter-predictively coded (P) frame type when the determined metric is larger than a second threshold value and less than the first threshold value, wherein the second threshold value is less than the first threshold value;
- and
- encoding the selected frame as a bidirectional inter-predictively coded (B) frame type when the determined metric is larger than a third threshold value and less than the second threshold value, wherein the third threshold value is less than the second threshold value.
Dependencies are inferred from the claim text.