SYSTEM AND METHOD FOR DETERMINING BIT STREAM COMPATIBILITY
Systems and methods for determining whether a decoder can playback compressed video identified as being encoded with an operating profile and/or level unsupported by the decoder are shown. Systems and methods are described for playing back video encoded as an elementary bitstream, where the elementary bitstream has a specified encoding profile and satisfies at least one playback condition. A number of embodiments include a decoder that is incapable of playing back video encoded in accordance with the specified encoding profile. In addition, the decoder is configured to locate the specified encoding profile within the elementary bitstream. The decoder is also configured to determine whether the elementary bitstream satisfies the at least one playback condition in response to the location of the specified encoding profile within the elementary bitstream. Furthermore, the decoder is configured to commence playback of the elementary bitstream based upon the determination that the at least one playback condition is satisfied.
1 . A system for playing back video encoded as an elementary bitstream, where the elementary bitstream has a specified encoding profile and satisfies at least one playback condition, the system comprising:
a decoder that is incapable of playing back video encoded in accordance with the specified encoding profile;
wherein the decoder is configured to locate the specified encoding profile within the elementary bitstream;
wherein the decoder is configured to determine whether the elementary bitstream satisfies the at least one playback condition in response to the location of the specified encoding profile within the elementary bitstream; and
wherein the decoder is configured to commence playback of the elementary bitstream based upon the determination that the at least one playback condition is satisfied.
2 . The system of claim 1 , wherein the specified encoding profile includes at least a bit stream profile.
3 . The system of claim 2 , wherein the specified encoding profile further comprises a bit stream level.
4 . The system of claim 3 , wherein the specified encoding profile includes a bitstream profile and a bitstream level in the sequence parameter set in a raw byte sequence payload within an H.264 bitstream.
5 . The system of claim 1 , wherein the specified encoding profile comprises:
at least one identifier specifying an encoder;
a value specifying a rate-control mode; and
a value specifying a maximum value for a quantizer parameter.
6 . The system of claim 5 , wherein the at least one identifier is a Universally Unique Identifier (UUID).
7 . The system of claim 6 , wherein the at least one identifier also includes user data.
8 . The system of claim 7 , wherein the at least one playback condition is satisfied where:
the UUID is 16 bytes;
the user data starts with x264; and
the rate-control mode is 2pass and the maximum value for a quantizer parameter is 51.
9 . The system of claim 7 , wherein the at least one playback condition is satisfied where:
the UUID is 16 bytes;
the user data starts with x264; and
the rate-control mode is adjustable bit rate and the maximum value for a quantizer parameter is 51.
10 . The system of claim 6 , wherein the at least one playback condition is satisfied where:
the UUID is 16 bytes;
the UUID is 0xdc, 0x45, 0xe9, 0xbd, 0xe6, 0xd9, 0x48, 0xb7, 0x96, 0x2c, 0xd8, 0x20, 0xd9, 0x23, 0xee, 0xef; and
the rate-control mode is 2pass and the maximum value for a quantizer parameter is 51.
11 . The system of claim 6 , wherein the at least one playback condition is satisfied where:
the UUID is 16 bytes;
the UUID is 0xdc, 0x45, 0xe9, 0xbd, 0xe6, 0xd9, 0x48, 0xb7, 0x96, 0x2c, 0xd8, 0x20, 0xd9, 0x23, 0xee, 0xef; and
the rate-control mode is adjustable bit rate and the maximum value for a quantizer parameter is 51.
12 . The system of claim 5 , wherein the at least one identifier is a User Data Unregistered SEI message.
13 . The system of claim 12 , wherein the at least one identifier also includes user data.
14 . The system of claim 13 , wherein the at least one playback condition is satisfied where:
the User Data Unregistered SEI message is 16 bytes;
the user data starts with x264; and
the rate-control mode is 2pass and the maximum value for a quantizer parameter is 51.
15 . The system of claim 13 , wherein the at least one playback condition is satisfied where:
the User Data Unregistered SEI message is 16 bytes;
the user data starts with x264; and
the rate-control mode is adjustable bit rate and the maximum value for a quantizer parameter is 51.
16 . The system of claim 12 , wherein the at least one identifier also includes a Universally Unique Identifier (UUID).
17 . The system of claim 16 , wherein the at least one playback condition is satisfied where:
the User Data Unregistered SEI message is 16 bytes;
the UUID is 0xdc, 0x45, 0xe9, 0xbd, 0xe6, 0xd9, 0x48, 0xb7, 0x96, 0x2c, 0xd8, 0x20, 0xd9, 0x23, 0xee, 0xef; and
the rate-control mode is 2pass and the maximum value for a quantizer parameter is 51.
18 . The system of claim 16 , wherein the at least one playback condition is satisfied where:
the User Data Unregistered SEI message is 16 bytes;
the UUID is 0xdc, 0x45, 0xe9, 0xbd, 0xe6, 0xd9, 0x48, 0xb7, 0x96, 0x2c, 0xd8, 0x20, 0xd9, 0x23, 0xee, 0xef; and
the rate-control mode is adjustable bit rate and the maximum value for a quantizer parameter is 51.
19 . The system of claim 1 , wherein the at least one playback condition is a characteristic of the elementary bitstream that is indicative of the ability of the decoder to play back the bit stream.
20 . The system of claim 19 , wherein the data to evaluate the playback condition is in user data.
21 . The system of claim 20 , wherein the user data is in the User Data Unregistered SEI message in the first 1024 bytes of the bitstream.
22 . The system of claim 20 , wherein the user data is in a message concerning the bitstream.
23 . The system of claim 19 , wherein the at least one playback condition is an average bit rate.
24 . The system of claim 23 , wherein the at least one playback condition is satisfied where the average bit rate is less than or equal to 10,000.
25 . The system of claim 19 , wherein the at least one playback condition is satisfied where:
the average bit rate is less than or equal to 20,000;
Hypothetical Reference Decoder (HRD) maximum bit rate is less than or equal to 20,000; and
Coded Picture Buffer (CPB) maximum buffer size is less than or equal to 25,000.
26 . A method of playing back video encoded as an elementary bitstream using a decoder, where the decoder is incapable of playing back video encoded in accordance with at least one encoding profile, the method comprising:
parsing the elementary bit stream to locate a specified encoding profile;
evaluating whether the decoder is capable of playing back video encoded in accordance with the specified encoding profile;
parsing the elementary bit stream to evaluate at least one playback condition when the decoder is incapable of playing back video encoded with the stated encoding profile; and
commencing playback of the elementary bitstream when the elementary bit stream satisfies the at least one playback condition.