IP Library Granted Patent US 10,904,543
Granted Patent B2
US 10,904,543 · App. 16/716,141 · Granted Jan 26, 2021

Method and apparatus for video coding and decoding

Inventor: Miska Matias Hannuksela (Tampere, FI)
Assignee: NOKIA TECHNOLOGIES OY
H04N19/42H04N19/30H04N19/44H04N19/597H04N19/70
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,904,543
App. No.
16/716,141
Granted
Jan 26, 2021
Kind
B2
Abstract

The invention relates to concatenating or splicing of scalable video bitstreams. There are disclosed various methods, apparatuses and computer program products for video encoding and decoding and modifying coded video bitstreams. In some embodiments, indications are provided in the coded video bitstream to indicate a layer-wise decoding start-up process. These indications may be generated by encoders or splicers.

Claims (42)

1. An apparatus comprising at least one processor and at least one memory, said at least one memory stored with code thereon, which when executed by said at least one processor, causes an apparatus to perform at least the following:

receive a bitstream including coded pictures in two or more scalability layers, wherein the bitstream comprises a second coded video sequence concatenated after a first coded video sequence;

determine that a layer-wise start-up is to be initiated based upon identification of an indicator associated with the second coded video sequence, wherein the layer-wise start-up comprises:

controlling the layer-wise startup by a first array variable, wherein at least one scalability layer of index i is associated with an entry in the first array variable indicative of whether correct decoding of the scalability layer corresponding to the entry in the first array variable has been initialized; and

controlling the layer-wise startup by a second array variable, wherein at least one scalability layer of index i is associated with an entry in the second array variable indicative of whether a picture in the scalability layer corresponding to the entry in the second array variable has been decoded but may have been decoded incorrectly; and

cause one or more decoded pictures to be stored or output.

2. The apparatus according to claim 1 wherein the apparatus is further caused to determine that a layer-wise start-up is to be initiated based upon a modification of a first access unit of the second coded video sequence that triggers the layer-wise start-up.

3. The apparatus according to claim 1 wherein the apparatus is further caused to determine that a layer-wise start-up is to be initiated based upon identification of the indicator in a slice segment header of a base layer or a layer not dependent upon another layer.

4. The apparatus according to claim 1 , wherein the indicator associated with the second coded video sequence comprises a cross_layer_bla_flag.

5. The apparatus according to claim 1 , wherein the apparatus is further caused to determine that a layer-wise start-up is to be initiated in an instance in which the cross_layer_bla_flag is 1.

6. An apparatus comprising at least one processor and at least one memory, said at least one memory stored with code thereon, which when executed by said at least one processor, causes an apparatus to perform at least the following:

encode pictures into a bitstream in two or more scalability layers, wherein encoding pictures comprises concatenating a second coded video sequence after a first coded video sequence;

indicate that a layer-wise start-up is to be initiated by associating an indicator with the second coded video sequence, wherein the layer-wise start-up comprises:

controlling the layer-wise startup by a first array variable, wherein at least one scalability layer of index i is associated with an entry in the first array variable indicative of whether correct decoding of the scalability layer corresponding to the entry in the first array variable has been initialized; and

controlling the layer-wise startup by a second array variable, wherein at least one scalability layer of index i is associated with an entry in the second array variable indicative of whether a picture in the scalability layer corresponding to the entry in the second array variable has been decoded but may have been decoded incorrectly; and

cause one or more encoded pictures to be stored or output.

7. The apparatus according to claim 6 wherein the apparatus is further caused to indicate that a layer-wise start-up is to be initiated by modifying a first access unit of the second coded video sequence so as to trigger the layer-wise start-up.

8. The apparatus according to claim 6 wherein the apparatus is further caused to indicate that a layer-wise start-up is to be initiated by associating the indicator with a slice segment header of a base layer or a layer not dependent upon another layer.

9. The apparatus according to claim 6 wherein the indicator associated with the second coded video sequence comprises a cross_layer_bla_flag.

10. The apparatus according to claim 9 , wherein the apparatus is further caused to indicate that a layer-wise start-up is to be initiated in an instance in which the cross_layer_bla_flag is set to 1.

11. A method comprising:

receiving a bitstream including coded pictures in two or more scalability layers, wherein the bitstream comprises a second coded video sequence concatenated after a first coded video sequence;

determining that a layer-wise start-up is to be initiated based upon identification of an indicator associated with the second coded video sequence,

wherein the layer-wise start-up comprises:

controlling the layer-wise startup by a first array variable, wherein at least one scalability layer of index i is associated with an entry in the first array variable indicative of whether correct decoding of the scalability layer corresponding to the entry in the first array variable has been initialized; and

controlling the layer-wise startup by a second array variable, wherein at least one scalability layer of index i is associated with an entry in the second array variable indicative of whether a picture in the scalability layer corresponding to the entry in the second array variable has been decoded but may have been decoded incorrectly; and

causing one or more decoded pictures to be stored or output.

12. The method according to claim 11 wherein determining that a layer-wise start-up is to be initiated comprises determining that a layer-wise start-up is to be initiated based upon a modification of a first access unit of the second coded video sequence that triggers the layer-wise start-up.

13. The method according to claim 11 wherein determining that a layer-wise start-up is to be initiated comprises determining that a layer-wise start-up is to be initiated based upon identification of the indicator in a slice segment header of a base layer or a layer not dependent upon another layer.

14. The method according to claim 11 wherein the indicator associated with the second coded video sequence comprises a cross_layer_bla_flag.

15. The method according to claim 14 wherein determining that a layer-wise start-up is to be initiated comprises determining that a layer-wise start-up is to be initiated in an instance in which the cross_layer_bla_flag is 1.

16. A method comprising:

encoding pictures into a bitstream including coded pictures in two or more scalability layers, wherein encoding pictures comprises concatenating a second coded video sequence after a first coded video sequence;

indicating that a layer-wise start-up is initiated by associating an indicator with the second coded video sequence,

wherein the layer-wise start-up comprises:

controlling the layer-wise startup by a first array variable, wherein at least one scalability layer of index i is associated with an entry in the first array variable indicative of whether correct decoding of the scalability layer corresponding to the entry in the first array variable has been initialized; and

controlling the layer-wise startup by a second array variable, wherein at least one scalability layer of index i is associated with an entry in the second array variable indicative of whether a picture in the scalability layer corresponding to the entry in the second array variable has been decoded but may have been decoded incorrectly; and

causing one or more encoded pictures to be stored or output.

17. The method according to claim 16 wherein indicating that a layer-wise start-up is to be initiated comprises modifying a first access unit of the second coded video sequence so as to trigger the layer-wise start-up.

18. The method according to claim 16 wherein indicating that a layer-wise start-up is to be initiated comprises associating the indicator with a slice segment header of a base layer or a layer not dependent upon another layer.

19. The method according to claim 16 wherein the indicator associated with the second coded video sequence comprises a cross_layer_bla_flag.

20. The method according to claim 19 wherein indicating that a layer-wise start-up is to be initiated comprises determining that a layer-wise start-up is to be initiated in an instance in which the cross_layer_bla_flag is set to 1.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2019
From: HANNUKSELA, MISKA MATIAS
To: NOKIA CORPORATION
Reel/Frame 051297/0978 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2019
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 051897/0422 →