IP Library Granted Patent US 7,215,712
Granted Patent B2
US 7,215,712 · App. 11/001,118 · Granted May 8, 2007

Systems and methods for decoding of partially corrupted reversible variable length code (RVLC) intra-coded macroblocks and partial block decoding of corrupted macroblocks in a video decoder

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 7,215,712
App. No.
11/001,118
Granted
May 8, 2007
Kind
B2
Abstract

The invention is related to methods and apparatus that recover usable video data from partially corrupted data. Embodiments inspect corrupted data packets and identify the location or locations of an error, whether the corrupted data packet contains data expected to be error-free, and whether the error-free data should be used. Decoding of a packet in both the forward direction and the backward direction can be used to locate a position of an error. Intra-coded macroblocks can also be recovered. A decoder can elect to use or to drop an intra-coded macroblock recovered from a corrupted data packet according to further criteria that is applied to the recovered intra-coded macroblock. One embodiment inspects video bitstream data that has been encoded with an optional data partitioning feature enabled, and retrieves specified data in areas of a corrupted packet that are expected to be free from error.

Claims (7)

1. A circuit adapted to recover useful data from a video packet that is at least partially corrupted, the circuit comprising: a decoding circuit configured to decode a video packet in a forward direction and in a backward direction, where the decoding circuit detects bit locations of errors first encountered in the forward direction and in the backward direction; a counter adapted to maintain a count of complete macroblocks decoded in the forward direction and in the backward direction; and a control circuit adapted to discard at least a portion of the video packet that corresponds to an overlapping region, where the control circuit is further configured to further discard additional data corresponding to a backtracking amount when there is no overlapping region, where the control circuit is further configured to discard information in incomplete macroblocks, and where the control circuit is adapted to permit use of at least a portion of the remaining data.

2. The circuit as defined in claim 1 , wherein the backtracking amount is 90 bits in each direction.

3. The circuit as defined in claim 1 , wherein the control circuit is further configured to discard an intra-coded macroblock from a partially corrupted video packet.

4. The circuit as defined in claim 1 , further comprising a ring buffer, which stores a video bitstream and is coupled to the decoding circuit such that the decoding circuit can access a video packet in both the forward direction and in the backward direction.

5. A circuit adapted to recover useful data from a video packet that is at least partially corrupted, the circuit comprising: a data parsing circuit adapted to determine whether a video packet is encoded with data partitioning enabled; an error checking circuit configured to determine whether an error exists ahead of a motion marker of the video packet; and a decoder coupled to the data parsing circuit and to the error checking circuit, where the decoder is adapted to decode at least a portion of the data in the corrupted video packet ahead of the motion marker when data parsing circuit indicates that the video packet is encoded with data partitioning enabled and when the error checking circuit indicates that the error does not exist ahead of the motion marker.

6. The circuit as defined in claim 5 , wherein the error checking circuit further comprises: a prediction circuit that generates a predicted location for the motion marker; a circuit that detects an actual location of the motion marker; and a comparison circuit that indicates that the error exists ahead of the motion marker when the actual location and the predicted location do not match.

7. A circuit adapted to recover useful data from a video packet that is at least partially corrupted, the circuit comprising: means for receiving the video packet; means for ending without recovering data when corruption is detected in at least one of a video packet header of the video packet, a DC portion of the video packet, and a motion vector portion of the video packet; means for initiating decoding of the video packet in a forward direction; means for maintaining a first count of a number of macroblocks decoded without error in the forward direction; means for storing codewords decoded in the forward direction; means for storing a first bit location when an error is first detected in the forward direction; means for initiating decoding of the video packet in a reverse direction; means for maintaining a second count of a number of macroblocks decoded without error in the reverse direction; means for storing codewords decoded in the reverse direction; means for storing a second bit location when an error is first detected in the reverse direction; means for determining if there is an overlapping region, where the overlapping region corresponds to a region identified in both the forward direction and in the reverse direction as having an error; means for discarding the data in the overlapping region and for using the data in a remaining portion of the video packet if there is an overlapping region; and means for discarding the data between a first backtracking amount ahead of the first error location in the forward direction and a second backtracking amount behind the second error location in the first location, and for recovering the remaining portion of the video packet if there is no overlapping region.

Assignments (15)
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded May 6, 2026
From: CANTOR FITZGERALD SECURITIES, AS COLLATERAL AGENT
To: CLEARSLIDE INC.; COREL CORPORATION (AS SUCCESSOR IN INTEREST TO CASCADE BIDCO CORP.)
Reel/Frame 075522/0510 →
RELEASE OF SECURITY INTEREST Recorded May 5, 2026
From: CITIBANK, N.A., AS AGENT
To: COREL CORPORATION; CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
Reel/Frame 075559/0953 →
SECURITY INTEREST Recorded Jul 3, 2019
From: CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
To: CITIBANK, N.A.
Reel/Frame 049678/0950 →
SECURITY INTEREST Recorded Jul 3, 2019
From: CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
To: CANTOR FITZGERALD SECURITIES
Reel/Frame 049678/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2019
From: KATSAVOUNIDIS, IOANNIS; KIM, CHANG-SU; KIM, JONG WON
To: INTERVIDEO, INC.
Reel/Frame 049134/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2019
From: COREL SOFTWARE LLC
To: COREL CORPORATION
Reel/Frame 048067/0586 →
CHANGE OF NAME Recorded Nov 29, 2018
From: 8324450 CANADA INC.
To: COREL SOFTWARE LLC
Reel/Frame 047675/0950 →
ENTITY DOMICILE CHANGE Recorded Dec 17, 2014
From: 8324450 CANADA INC.
To: 8324450 DELAWARE LLC
Reel/Frame 034651/0817 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE, AND REPLACE THE ASSIGNMENT PREVIOUSLY RECORDED ON REEL 030427 FRAME 0331. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT TO 8324450 CANADA INC. Recorded Aug 1, 2013
From: COREL CORPORATION
To: 8324450 CANADA INC.
Reel/Frame 030986/0268 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2013
From: JPMORGAN CHASE BANK, N.A.
To: COREL CORPORATION; COREL INC.; WINZIP INTERNATIONAL LLC; WINZIP COMPUTING LP; WINZIP COMPUTING LLC; CAYMAN LTD. HOLDCO; WINZIP COMPUTING, S.L.U.; WINZIP HOLDINGS SPAIN, S.L.U.; COREL US HOLDINGS, LLC; INTERVIDEO, INC.; INTERVIDEO DIGITAL TECHNOLOGY CORP.
Reel/Frame 030591/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2013
From: VECTOR CC HOLDINGS, SRL; VECTOR CC HOLDINGS III, SRL; VECTOR CC HOLDINGS IV, SRL
To: 8324450 CANADA INC.
Reel/Frame 030427/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2013
From: COREL CORPORATION
To: VECTOR CC HOLDINGS, SRL; VECTOR CC HOLDINGS III, SRL; VECTOR CC HOLDINGS IV, SRL
Reel/Frame 030427/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2010
From: COREL INCORPORATED
To: COREL CORPORATION
Reel/Frame 025404/0624 →
MERGER Recorded Mar 11, 2009
From: INTERVIDEO, INC.
To: COREL INC.
Reel/Frame 022380/0266 →
REAFFIRMATION AND JOINDER AGREEMENT Recorded Dec 28, 2006
From: COREL CORPORATION; COREL INC.; WINZIP INTERNATIONAL LLC; WINZIP COMPUTING LLC; WINZIP COMPUTING LP; CAYMAN LTD. HOLDCO; WINZIP COMPUTING, S.L.U.; WINZIP HOLDINGS SPAIN, S.L.U.; INTERVIDEO, INC.; INTERVIDEO DIGITAL TECHNOLOGY CORP.; COREL US HOLDINGS, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 018688/0199 →