IP Library Granted Patent US 9,549,179
Granted Patent B2
US 9,549,179 · App. 13/955,372 · Granted Jan 17, 2017

Personal video recorder

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 9,549,179
App. No.
13/955,372
Granted
Jan 17, 2017
Kind
B2
Abstract

A sequence of picture slices is encoded as reference slices and non-reference slices, wherein the reference slices include B slices, by forming, for each B slice, at least one data packet containing data values derived from brightness and color information pertaining to the slice. The data packet for each B slice includes a header element indicating whether the B slice is a reference slice. The header element of each reference B slice has a value that depends on depth of the reference B slice in a hierarchy of discardability.

Claims (64)

1. A method of creating a bitstream, by an encoder, the bitstream including at least one coded picture comprised of picture slices encoded as at least one of reference slices or non-reference slices, said method comprising:

for the at least one coded picture, including in the bitstream at least one header element indicating a coded picture type or slice types included in the at least one coded picture;

for the at least one coded picture, including in the at least one header element an indicator of whether one or more slices of the at least one coded picture is a reference slice; and

including in the at least one header element a value that indicates a level in a hierarchy of data dependency where the picture slices in the at least one coded picture are located,

wherein discardable reference slices in the bitstream for rendering one or more trick play operations formatted to be identifiable based on multiple levels for reference slices included in the hierarchy of data dependency.

2. The method according to claim 1 , wherein, for a picture that includes at least two reference slices, the method comprises setting the header element of each reference slice to the same value.

3. The method according to claim 2 , further comprising decoding the bitstream and selectively discarding pictures that contain reference B slices in accordance with the value of the header element of each reference B slice.

4. The method according to claim 1 , further comprising encoding a sequence of pictures each containing at least one picture slice, including a reference B slice in at least one reference B picture, and setting the header elements of all reference B slices in a given reference B picture to the same value.

5. The method according to claim 1 , comprising encoding a sequence of pictures each containing at least one picture slice, including each reference slice in a reference picture, and limiting reference pictures to three levels of importance.

6. The method according to claim 5 , comprising encoding reference B pictures in a manner such that a reference B picture at a lower level of importance is not used as reference for a reference B picture at a higher level of importance and is not used as reference for a P picture.

7. The method according to claim 1 , wherein the header element includes a two-bit syntax element and the method comprises:

assigning a first value to the syntax element in the event that a picture slice is a non-reference slice,

assigning a second value to the syntax element in the event that the picture slice is a reference slice and is a slice of a picture having a first level of discardability based on the hierarchy of data dependency including multiple levels for of reference pictures,

assigning a third value to the syntax element in the event that the picture slice is a reference slice and is a slice of a picture having a second level of discardability based on the hierarchy of data dependency including multiple levels for of reference pictures, and

assigning a fourth value to the syntax element in the event that the picture slice is a reference slice and is a slice of a picture having a third level of discardability based on the hierarchy of data dependency including multiple levels for of reference pictures,

said hierarchy of data dependency comprising a ranking of the picture slices by how much degradation to a sequence of picture slices will be experienced by a discarding of each picture slice.

8. Apparatus for creating a bitstream including at least one coded picture comprised of picture slices encoded as at least one of reference slices or non-reference slices, said apparatus comprising:

a processor; and

a non-transitory computer readable memory including computer readable instructions which, when executed by the processor, cause the processor to:

for the at least one coded picture, include in the bitstream at least one header element indicating the at least one coded picture type or slice types included in the at least one coded picture;

for the at least one coded picture, include in the at least one header element an indicator of whether one or more slices of the at least one coded picture is a reference slice; and

include in the at least one header element a value that indicates a level in a hierarchy of data dependency where the picture slices in the at least one coded picture are located,

wherein discardable reference slices in the bitstream for rendering one or more trick play operations are formatted to be identifiable based on multiple levels for reference slices included in the hierarchy of data dependency.

9. A method of decoding a bitstream conveying coded pictures comprised of picture slices, wherein each picture slice is encoded as a reference slice or a non-reference slice, said method comprising:

for at least one coded picture, interpreting at least one header element to determine a coded picture type or slice types of the at least one coded picture;

for the at least one coded picture, interpreting at least one header element to determine whether one or more slices of the at least one coded picture is a reference slice;

in response to a trick play command, determining from at least one header element a value associated with the at least one coded picture that indicates a level in a hierarchy of data dependency where the picture slices in the at least one coded picture are located,

determining whether to discard the at least one coded picture to render the trick play command, wherein discardable reference slices in the bitstream for rendering one or more trick play operations are formatted to be identifiable based on multiple levels for reference slices included in the hierarchy of data dependency; and

decoding coded pictures in the bitstream for playback in accordance with the trick play command.

10. The method according to claim 9 , wherein the header element is a two-bit syntax element.

11. Apparatus for decoding a bitstream conveying coded pictures comprised of picture slices, wherein each picture slice is encoded as a reference slice or a non-reference slice, the apparatus comprising:

a processor; and

a non-transitory computer readable memory including computer readable instructions which, when executed by the processor, cause a decoder to:

for at least one coded picture, interpret at least one header element to determine a coded picture type or slice types of the at least one coded picture;

for the at least one coded picture, interpret at least one header element to determine whether one or more slices of the at least one coded picture is a reference slice;

in response to a trick play command, determine from at least one header element a value associated with the at least one coded picture that indicates a level in a hierarchy of data dependency where the picture slices in the at least one coded picture are located;

determine whether to discard the at least one coded picture to render the trick play command, wherein discardable reference slices in the bitstream for rendering one or more trick play operations are formatted to be identifiable based on multiple levels for reference slices included in the hierarchy of data dependency; and

decode coded pictures in the bitstream for playback in accordance with the trick play command.

12. A non-transitory computer readable medium containing instructions that, when executed by a computing machine receiving a bitstream including at least one coded picture comprised of picture slices encoded as at least one of reference slices or non-reference slices, cause the computing machine to perform a method comprising:

for the at least one coded picture, including in the bitstream at least one header element indicating the at least one coded picture type or slice types included in the at least one coded picture;

for the at least one coded picture, including in the at least one header element an indicator of whether the one or more slices of the at least one coded picture is a reference slice; and

including in the at least one header element a value that indicates a level in a hierarchy of data dependency where the picture slices in the at least one coded picture are located,

wherein discardable reference slices in the bitstream for rendering one or more trick play operations are formatted to be identifiable based on multiple levels for reference slices included in the hierarchy of data dependency.

13. A method of assisting in trick play operation of a video recording and playback device, comprising:

at a transmitting location,

encoding, using an encoder, a sequence of pictures, each containing at least one picture slice, selectively in either a normal mode or a trick play assist mode, and

in the trick play assist mode, encoding each slice in the sequence of pictures as one of at least two different types depending on prediction needed to decode the slice and, for each slice of at least one type, forming at least one data packet containing data values derived from image information pertaining to the slice, creating at least one data value for each slice of said one type,

said value indicating a level in a hierarchy of data dependency where the picture slices in a coded picture are located,

wherein discardable reference slices in the bitstream for rendering one or more trick play operations are to be formatted identifiable based on multiple levels for reference slices included in the hierarchy of data dependency,

at the receiving location,

extracting the data packets from the transport stream and temporarily storing the data packets for later playback in normal operation or trick play operation, and

in trick play operation, detecting, using a decoder, the value indicating the level in the hierarchy of data dependency for each picture in the sequence of pictures,

identifying discardable reference slices in the bitstream for rendering the trick play operation from the multiple levels for reference slices included in the hierarchy of data dependency,

selecting the identified reference pictures for discarding from the sequence of pictures,

and decoding non-discarded coded pictures in the bitstream for playback in accordance with the trick play operation.

14. The method according to claim 13 , comprising encapsulating the data packets in an MPEG transport stream wherein a descriptor indicates whether the sequence of pictures has been encoded in the trick play assist mode.

15. The method according to claim 13 , comprising, in the trick play assist mode, generating supplementary assist information that indicates that the sequence of pictures has been encoded in the trick play assist mode and communicated the trick play assist information to the receiving location.

16. The method according to claim 13 , wherein each slice is either an I slice, a P slice or a B slice, each B slice is a reference B slice or a non-reference B slice, each reference B slice is included in a reference B picture, each reference B picture has one of three levels of importance, and the method comprises encoding the reference B pictures in a manner such that a reference B picture at a lower level of importance is not used as reference for a reference B picture at a higher level of importance and is not used as reference for a P picture.

17. A method of creating a bitstream, by an encoder, the bitstream including picture slices encoded as slices of at least two different types depending on prediction needed to decode the slice, said method comprising:

for at least one coded picture, including by the encoder in the bitstream at least one header element indicating the at least one coded picture type or slice types included in the at least one coded picture; and

for the at least one coded picture, including by the encoder in the at least one header element an indicator of whether one or more slices of the at least one coded picture is a reference slice,

wherein in the event that said slice is a reference slice the header element has a value, said value indicating a level in a hierarchy of data dependency where the reference slice is located, wherein discardable reference slices in the bitstream for rendering one or more trick play operations are formatted to be identifiable based on multiple levels for reference slices included in the hierarchy of data dependency.

18. The method according to claim 17 , wherein the slices of said one type are B slices.

19. The method according to claim 17 , comprising encoding a sequence of pictures as intra-coded pictures and predictive coded pictures, wherein the predictive coded pictures include reference pictures, and the method includes limiting reference pictures of at least one type of predictive coded picture to three levels of importance.

Assignments (13)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: ARRIS TECHNOLOGY, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 060791/0583 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 049820 FRAME: 0495. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jul 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049858/0161 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
CHANGE OF NAME Recorded Jul 2, 2019
From: ARRIS ENTERPRISES. INC
To: ARRIS
Reel/Frame 049669/0652 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
Reel/Frame 050721/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2015
From: ARRIS TECHNOLOGY, INC
To: ARRIS ENTERPRISES, INC.
Reel/Frame 037328/0341 →
SECURITY INTEREST Recorded Jun 26, 2015
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036020/0789 →
MERGER AND CHANGE OF NAME Recorded Mar 10, 2015
From: GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT CORPORATION
To: ARRIS TECHNOLOGY, INC.
Reel/Frame 035176/0620 →