Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
First Claim
1. A method for processing multiple streams of video frames comprising:
- analyzing said multiple streams of video frames to determine relative complexity of the video frames comprising said multiple streams of video frames, wherein said analyzing comprises obtaining picture statistics on said relative complexity of said video frames prior to encoding of said multiple streams of video frames;
encoding said multiple streams of video frames in parallel using said relative complexity of the video frames, wherein said encoding comprises adaptively encoding said multiple streams of video frames with change in said relative complexity;
during said encoding, analyzing each stream of video frames to derive coding statistics on at least one characteristic thereof, said coding statistics comprising at least one of an intraframe characteristic or an interframe characteristic, and wherein said adaptively encoding comprises employing both said picture statistics and said coding statistics in adaptively encoding said multiple streams of video frames; and
wherein said adaptively encoding comprises adjusting at least one encode bit rate employed by said encoding to encode said multiple streams of video frames with change in said relative complexity, and wherein said adjusting at least one encode bit rate for at least one stream of said multiple streams of video frames only occurs upon beginning of a new group of frames (GOP) within said at least one stream, wherein for said at least one stream of video frames said encode bit rate is constant within each GOP and is variable between GOPs.
1 Assignment
0 Petitions
Accused Products
Abstract
A control strategy is provided for dynamically encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel. The control strategy allows individual encode bit rates to be dynamically adjusted for each video data stream based in part on relative complexity of the multiple streams of video data, as well as fullness of compressed video data buffers and a channel buffer coupled between the encoders and the constant bit rate channel. The control strategy includes analyzing the multiple streams of video to determine relative complexity thereof, encoding the multiple streams of video frames in parallel, and dynamically adapting encoding of at least one stream of the video frames based on the relative complexity of the video frames. The bit rate for each stream of video frames is only changed at GOP boundaries, or if a scene change occurs. The calculated bit rate is preferably further modified based upon buffer fullness.
-
Citations
32 Claims
-
1. A method for processing multiple streams of video frames comprising:
-
analyzing said multiple streams of video frames to determine relative complexity of the video frames comprising said multiple streams of video frames, wherein said analyzing comprises obtaining picture statistics on said relative complexity of said video frames prior to encoding of said multiple streams of video frames;
encoding said multiple streams of video frames in parallel using said relative complexity of the video frames, wherein said encoding comprises adaptively encoding said multiple streams of video frames with change in said relative complexity;
during said encoding, analyzing each stream of video frames to derive coding statistics on at least one characteristic thereof, said coding statistics comprising at least one of an intraframe characteristic or an interframe characteristic, and wherein said adaptively encoding comprises employing both said picture statistics and said coding statistics in adaptively encoding said multiple streams of video frames; and
wherein said adaptively encoding comprises adjusting at least one encode bit rate employed by said encoding to encode said multiple streams of video frames with change in said relative complexity, and wherein said adjusting at least one encode bit rate for at least one stream of said multiple streams of video frames only occurs upon beginning of a new group of frames (GOP) within said at least one stream, wherein for said at least one stream of video frames said encode bit rate is constant within each GOP and is variable between GOPs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for processing multiple streams of video frames comprising:
-
analyzing said multiple streams of video frames to derive picture statistics on at least one characteristic thereof, said at least one characteristic comprising at least one of an intraframe characteristic or an interframe characteristic;
encoding said multiple streams of video frames in parallel, said encoding including employing at least one controllable encode parameter for each stream of video frames;
adapting said encoding of said multiple streams of video frames using relative information from said picture statistics obtained from said multiple streams of video frames, said adapting including adjusting said at least one controllable encode parameter employed in said encoding of at least one stream of video frames, wherein said encoding of said multiple streams of video frames is adaptive to relative changes in said at least one characteristic;
during said encoding, analyzing each stream of video frames to derive coding statistics on at least one coding characteristic, said at least one coding characteristic comprising at least one of an intraframe coding characteristic or an interframe coding characteristic, and wherein said adapting comprises employing said coding statistics in combination with said picture statistics in adapting said encoding of said at least one stream of video frames; and
wherein said at least one controllable encode parameter comprises at least one encode bit rate, and wherein said adapting said encoding for at least one stream only occurs upon beginning of a new group of frames (GOP) within said at least one stream, wherein for said at least one stream of video frames said encode bit rate is constant within each GOP and is variable between GOPs. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for processing multiple streams of video frames comprising:
-
means for analyzing said multiple streams of video frames to determine picture statistics representative of relative complexity of the video frames comprising said multiple streams of video frames;
multiple encoders for encoding said multiple streams of video frames in parallel, each encoder receiving one stream of video frames of said multiple streams of video frames, said multiple encoders each comprising means for generating coding statistics on at least one characteristic of said stream of video frames being encoded thereby, said coding statistics comprising at least one of an intraframe characteristic or an interframe characteristic;
a joint controller coupled to each encoder of said multiple encoders and to said means for analyzing for dynamically adapting encoding of at least one stream of video frames of the multiple streams of video frames based on said picture statistics and said coding statistics derived from the video frames comprising the multiple streams of video frames; and
wherein the joint controller comprises means for adjusting at least one encode bit rate employed by at least one encoder of said multiple encoders, wherein said adjusting only occurs upon beginning of a new group of frames (GOP) within said at least one stream, wherein for said at least one stream of video frames said encode bit rate is constant within each GOP and is variable between GOPs. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A system for processing multiple streams of video frames comprising:
-
means for analyzing said multiple streams of video frames to derive picture statistics on at least one characteristic thereof, said at least one characteristic comprising at least one of an intraframe characteristic or an interframe characteristic;
multiple encoders for encoding said multiple streams of video frames in parallel, each encoder receiving one stream of video frames of said multiple streams of video frames, and each encoder employing an encode bit rate in encoding its stream of video frames, wherein said multiple encoders further comprises coding means for analyzing each stream of video frames during said encoding to derive coding statistics on at least one coding characteristic, said at least one coding characteristic comprising at least one of an intraframe coding characteristic or an interframe coding characteristic; and
a joint controller coupled to each encoder of said multiple encoders and to said means for analyzing for dynamically adapting encoding of at least one stream of video frames of the multiple streams of video frames based on relative information derived from said picture statistics and said coding statistics, said adapting including adjusting said encode bit rate employed in said encoding of at least one stream of video frames, wherein said adjusting only occurs upon beginning of a new group of frames (GOP) within said at least one stream of video frames, wherein for said at least one stream said encode bit rate is constant within each GOP and is variable between GOPs. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. An article of manufacture, comprising:
at least one computer usable medium having computer readable program code means embodied therein for causing the processing of multiple streams of video frames, the computer readable program code means in the article of manufacture comprising;
(i) computer readable program code means for causing a computer to effect analyzing the multiple streams of video frames to determine relative complexity of the video frames comprising the multiple streams of video frames, wherein said analyzing comprises obtaining picture statistics on said relative complexity of said video frames prior to encoding of said multiple streams of video frames;
(ii) computer readable program code means for causing a computer to effect encoding the multiple streams of video frames in parallel using the relative complexity of the video frames, wherein the encoding comprises adaptively encoding the multiple streams of video frames with a change in said relative complexity;
(iii) computer readable program code means for causing a computer to effect analyzing each stream of video frames during said encoding to derive coding statistics on at least one characteristic thereof, said coding statistics comprising at least one of an intraframe characteristic or an interframe characteristic, and wherein said computer readable program code means for causing a computer to effect adaptively encoding comprises computer readable program code means for causing a computer to effect employing both said picture statistics and said coding statistics in adaptively encoding said multiple streams of video frames; and
(iv) computer readable program code means for causing a computer to effect adjusting at least one encode bit rate employed by said encoding to encode said multiple streams of video frames, and wherein said adjusting the at least one encode bit rate for at least one stream of the multiple streams of video frames only occurs upon beginning of a new group of frames (GOP) within said at least one stream, wherein for said at least one stream of video frames said encode bit rate is constant within each GOP and is variable between GOPs. - View Dependent Claims (30)
-
31. An article of manufacture, comprising:
at least one computer usable medium having computer readable program code means embodied therein for causing the processing of multiple streams of video frames, the computer readable program code means in the article of manufacture comprising;
(i) computer readable program code means for causing a computer to effect analyzing said multiple streams of video frames to derive picture statistics on at least one characteristic thereof, said at least one characteristic comprising at least one of an intraframe characteristic or an interframe characteristic;
(ii) computer readable program code means for causing a computer to effect encoding said multiple streams of video frames in parallel, said encoding including employing at least one controllable encode parameter for each stream of video frames;
(iii) computer readable program code means for causing a computer to effect adapting said encoding of said multiple streams of video frames using relative information from said picture statistics obtained from said multiple streams of video frames, said adapting including adjusting said at least one controllable encode parameter employed in said encoding of at least one stream of video frames, wherein said encoding of said multiple streams of video frames is adaptive to changes in said relative information;
(iv) computer readable program code means for causing a computer to effect analyzing each stream of video frames during said encoding to derive coding statistics on at least one coding characteristic, said at least one coding characteristic comprising at least one of an intraframe coding characteristic or an interframe coding characteristic, and wherein said computer readable program code means for causing a computer to effect adapting comprises computer readable program code means for causing a computer to effect employing said coding statistics in combination with said picture statistics in adapting said encoding of said at least one stream of video frames; and
(v) wherein said at least one controllable encode parameter comprises at least one encode bit rate, and wherein said adapting said encoding for at least one stream only occurs upon beginning of a new group of frames (GOP) within said at least one stream, wherein for said at least one stream of video frames said encode bit rate is constant within each GOP and is variable between GOPs. - View Dependent Claims (32)
Specification