Streaming adaption based on clean random access (CRA) pictures
Systems, methods, and devices for processing video data are disclosed. Some examples systems, methods, and devices receive an external indication at a video decoder. The example systems, methods, and devices treat a clean random access (CRA) picture as a broken link access (BLA) picture based on the external indication.
1. A method of processing video data, the method comprising:
receiving, at a video decoding device, a message comprising an external indication from a network entity, the network entity being distinct and separate from the video decoding device;
receiving, at the video decoding device, a video bitstream, wherein the video bitstream comprises compressed video data and wherein the video bitstream is received separately from the message comprising the external indication; and
treating a clean random access (CRA) picture as a broken link access (BLA) picture based on the external indication.
2. The method of claim 1 , wherein the external indication indicates whether a value of a flag should be set, by the video decoding device, to one of a default value or a set value, the method further comprising:
setting the value of the flag to a value specified by the network entity,
wherein treating the CRA picture as a BLA picture based on the external indication comprises treating the CRA picture as a BLA picture based on the value of the flag being set to the value specified by the network entity.
3. The method of claim 2 , wherein the flag is associated with the CRA picture.
4. The method of claim 2 , wherein the default value of the flag indicates that the CRA picture is not to be treated as a BLA picture.
5. The method of claim 2 , further comprising, decoding a coded slice Network Abstraction Layer (NAL) unit and, when decoding a coded slice NAL unit, changing a NAL unit type of the coded slice NAL unit based on the flag being set to the set value.
6. The method of claim 2 , wherein the flag comprises a first flag, the method further comprising, when decoding a coded slice NAL unit, based on the first flag being set to the set value, changing a value of a second flag, the second flag controlling the output of prior decoded pictures.
7. The method of claim 2 , wherein the flag comprises a first flag, the method further comprising, when decoding a coded slice NAL unit, based on the first flag being set to the set value, setting the value of a second flag to “1”.
8. The method of claim 5 , wherein decoding the coded slice NAL unit includes parsing the coded slice NAL unit to identify the NAL unit type.
9. The method of claim 2 , wherein the flag comprises a first flag and wherein, when decoding a coded slice Network Abstraction Layer (NAL) unit, if the first flag is equal to 1 and a NAL unit type of a coded slice NAL unit indicates a CRA picture, the method further comprises changing the value of the NAL unit type to indicate a BLA picture.
10. The method of claim 2 , wherein the flag is a HandleCraAsBlaFlag, the HandleCraAsBlaFla indicating whether a articular CRA picture is to be treated as a BLA picture.
11. The method of claim 2 , further comprising, based on the value of the flag, setting a value of a second flag, the second flag being indicative of whether at least one picture decoded prior to decoding of the CRA picture is to be output.
12. A video decoding device, comprising:
memory configured to store video data; and
a processor in communication with the memory, the processor configured to:
receive, at the video decoding device, a message comprising an external indication from a network entity, the network entity being separate and distinct from the video decoding device;
receive, at the video decoding device, a video bitstream, wherein the video bitstream comprises compressed video data and wherein the video bitstream is received separately from the message comprising the external indication; and
treat a clean random access (CRA) picture as a broken link access (BLA) picture based on the external indication.
13. The video decoding device of claim 12 , wherein the external indication indicates whether a value of a flag should be set, by the video decoding device, to one of a default value or a set value and wherein the processor is further configured to:
set, the value of the flag to a value specified by the network entity,
wherein treating the CRA picture as a BLA pictures based on the external indication comprises treating the CRA picture as a BLA picture based on the value of the flag being set to the value specified by the network entity.
14. The video decoding device of claim 13 , wherein the flag is associated with the CRA picture.
15. The video decoding device of claim 13 , wherein the default value of the flag indicates that the CRA picture is not to be treated as a BLA picture.
16. The video decoding device of claim 13 , the processor further configured to, when decoding a coded slice Network Abstraction Layer (NAL) unit change a NAL unit type of the coded slice NAL unit based on the flag being set to the set value.
17. The video decoding device of claim 13 , wherein the flag comprises a first flag and the processor is further configured to, when decoding a coded slice NAL unit, based on the first flag being set to the set value, change a value of a second flag.
18. The video decoding device of claim 13 , wherein the flag comprises a first flag, the processor is further configured to, when decoding a coded slice NAL unit based on the first flag being set to the set value, set the value of a second flag to “1”.
19. The video decoding device of claim 16 , the processor is further configured to parse the coded slice NAL unit to identify the NAL unit type.
20. The video decoding device of claim 19 , wherein the flag comprises a first flag and wherein, when decoding a coded slice NAL unit, if the first flag is equal to 1 and a NAL unit type of a coded slice NAL unit indicates a CRA picture, the processor is further configured to change the value of the NAL unit type to indicate a BLA picture.
21. The video decoding device of claim 13 , wherein the flag is a HandleCraAsBlaFlag, the HandleCraAsBlaFlag indicating whether a CRA picture is to be treated as a BLA picture.
22. The video decoding device of claim 13 , wherein the processor is further configured to, based on the value of the flag, set a value of a second flag, the second flag being indicative of whether at least one picture decoded prior to decoding of the CRA picture is to be output.
23. A video decoding device, comprising:
a memory;
means, in communication with the memory, for receiving, at the video decoding device, a message comprising an external indication from a network entity, the network entity being separate and distinct from the video decoding device;
means, in communication with the memory, for receiving, at the video decoding device, a video bitstream, wherein the video bitstream comprises compressed video data and wherein the video bitstream is received separately from the message comprising the external indication; and
means, in communication with the memory, for treating a clean random access (CRA) picture as a broken link access (BLA) picture based on the external indication.
24. The video decoding device of claim 23 , wherein the external indication indicates whether a value of a flag should be set, by the video decoding device, to one of a default value or a set value, the video decoding device further comprising:
means for setting the value of the flag to a value specified by the network entity,
wherein treating the CRA picture as a BLA picture based on the external indication comprises treating the CRA picture as a BLA picture based on the value of the flag being set to the value specified by the network entity.
25. The video decoding device of claim 24 , wherein the flag is associated with the CRA picture.
26. The video decoding device of claim 24 , wherein the default value of the flag indicates that the CRA picture is not to be treated as a BLA picture.
27. The video decoding device of claim 24 , further comprising means, when decoding a coded slice Network Abstraction Layer (NAL) unit, for changing a NAL unit type of the coded slice NAL unit based on the flag being set to the set value.
28. The video decoding device of claim 24 , the flag comprising a first flag and the video decoding device further comprising means, when decoding a coded slice NAL unit and based on the first flag being set to the set value, for changing the value of a second flag, the second flag controlling the output of prior decoded pictures.
29. The video decoding device of claim 24 , wherein the flag comprises a first flag, the video decoding device further comprising means, when decoding a coded slice NAL unit, and based on the first flag being set to the set value, for setting the value of a second flag to “1,” the second flag controlling the output of prior decoded pictures.
30. The video decoding device of claim 27 , wherein decoding the coded slice NAL unit includes parsing the coded slice NAL unit to identify the NAL unit type.
31. The video decoding device of claim 24 , wherein the flag comprises a first flag and wherein, when decoding a coded slice Network Abstraction Layer (NAL) unit, if the first flag is equal to 1 and a NAL unit type of a coded slice NAL unit indicates a CRA picture, the the video decoding device changes the value of the NAL unit type to indicate a BLA picture.
32. The video decoding device of claim 24 , wherein the flag is a HandleCraAsBlaFlag, the HandleCraAsBlaFlag indicating whether a CRA picture is to be treated as a BLA picture.
33. The video decoding device of claim 24 , wherein the video decoding device further comprises means for setting, based on the value of the flag, a value of a second flag, the second flag being indicative of whether at least one picture decoded prior to decoding of the CRA picture is to be output.
34. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors of a video decoding device to:
receive, at the video decoding device, a message comprising an external indication from a network entity, the network entity being separate and distinct from the video decoding device;
receive, at the video decoding device, a video bitstream, wherein the video bitstream comprises compressed video data and wherein the video bitstream is received separately from the message comprising the external indication; and
treat a clean random access (CRA) picture as a broken link access (BLA) picture based on the external indication.
35. The non-transitory computer-readable storage medium of claim 34 , wherein the external indication indicates whether a value of a flag should be set, by the video decoding device, to one of a default value or a set value, wherein the instructions, when executed, further cause the one or more processors of a device to:
set the value of the flag to a value specified by the network entity,
wherein treating the CRA picture as a BLA picture based on the external indication comprises treating the CRA picture as a BLA picture based on the value of the flag being set to the value specified by the network entity.
36. The non-transitory computer-readable storage medium of claim 35 , wherein the flag is associated with the CRA picture.
37. The non-transitory computer-readable storage medium of claim 35 , wherein the instructions are further configured to cause the one or more processors to, when decoding a coded slice NAL unit, change a NAL unit type of the coded slice NAL unit based on the flag being set to the set value.
38. The non-transitory computer-readable storage medium of claim 35 , wherein the flag comprises a first flag and the computer-readable medium is further configured to cause the one or more processors to, when decoding a coded slice NAL unit and based on the first flag being set to the set value, change the value of a second flag, the second flag controlling the output of prior decoded pictures.
39. The non-transitory computer-readable storage medium of claim 37 , further configured to cause the one or more processors to parse the coded slice NAL unit to identify the NAL unit type.
40. The non-transitory computer-readable storage medium of claim 35 , wherein the flag comprises a first flag, the non-transitory computer-readable storage medium further having stored thereon instructions that, when executed, cause one or more processors of the device to, when decoding a coded slice NAL unit and based on the first flag being set to the set value, change a value of a second flag, the second flag controlling the output of prior decoded pictures.
41. The non-transitory computer-readable storage medium of claim 35 , the non-transitory computer-readable storage medium further having stored thereon instructions that, when executed, cause one or more processors of the device to, based on the value of the flag, set a value of a second flag, the second flag being indicative of whether at least one picture decoded prior to decoding of the CRA picture is to be output.