IP Library Granted Patent US 7,134,039
Granted Patent B2
US 7,134,039 · App. 10/894,340 · Granted Nov 7, 2006

Recovery of real-time video data after power loss

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,134,039
App. No.
10/894,340
Granted
Nov 7, 2006
Kind
B2
Abstract

A number of different subroutines or algorithms are provided for locating lost video data, reconstructing navigation data, and creating new navigation files or the like so that the DVD may be made readable by an ordinary DVD player. The present invention provides algorithms to recover video data for each of a number of different DVD formats, so that video data may be recovered regardless of which format DVD was being used at the time (e.g., DVD+RW, DVD+R, DVD-RW, DVD-R, or the like). In addition, the present invention provides a number of other algorithms that be used by one or more of the different recovery algorithms, to recover various aspects of data from a disc. The combination of these algorithms provides a complete package of data recovery techniques that allows for video data to be recovered in the event of a power loss or other interruption, and in most instances, creates recordable DVD which may be subsequently read by other DVD players and the like.

Claims (64)

1. A method of recording data on a recording media to allow for data recovery in the event the data is only partially recorded on the recording media, comprising:

setting a flag on the recording media before recording to a first value indicating recording is in progress,

recording the data on the recording media,

setting the flag on the recording media after recording the data to the recording media to a second value indicating that recording is completed; and

setting the flag to a third value after recording of the data to the recording media but before recording navigation data to the media describing the location of the data on the recording media;

wherein if recording is interrupted, the presence of partially recorded data is detected by detecting the third value of the flag on the recording media, and if the data is fully recorded on the recording media, the presence of partially recorded navigation data is detected by detecting the second value of the flag on the recording media.

2. A method of recovering partially recorded recording data on a recording medium, comprising:

detecting, on the recording medium, a pre-recorded recording flag and reading the recording flag value,

determining if the recording data was fully recorded when the recording flag value is a first value,

determining if the recording data was partially recorded when the recording flag is a second value, and

determining if the recording data was fully recorded but navigation data was partially recorded when the recording flag is a third value.

3. The method of claim 2 , further comprising:

reconstructing, if at least the recording data was partially recorded, navigation data for the recorded data by traversing at least a portion of the partially recorded recording data to detect navigation packs embedded in the recorded data, the navigation packs containing at least pointer data indicating the location of a next navigation pack; and

recording the navigation data to the recording medium such that the recorded data can be later read by a reading device for the recording medium.

4. The method of claim 3 , wherein traversing the at least partially recorded recording data further comprises:

sequentially traversing a plurality of Video Object Units (VOBUs) in at least a portion of the at least partially recorded recording data to locate a first navigation pack, the first navigation pack containing at least information as to the location of subsequent navigation packs,

processing through a chain of navigation packs starting with the first navigation pack until no more valid navigation packs are found, and

generating navigation data from the chain of navigation packs to indicate location of the recording data on the recording media.

5. The method of claim 4 , further comprising:

locating, on the recording media, state information for a last title recorded of the at least partially recorded recording data,

constructing navigation data from at least the state information for the last title recorded of the at least partially recorded recording data,

traversing any remaining portion of the at least partially recorded recording data to reconstruct navigation information for the remaining portion, and

combining the state information for the last title recorded of the at least partially recorded recording data with the navigation information for the remaining portion to create navigation data for the at least partially recorded recording data.

6. The method of claim 4 , further comprising:

retrieving a backup copy of state information for recorded titles of the at least partially recorded recording information,

combining the backup copy of the state information with navigation information from the stream traversal step to produce navigation data for the at least partially recorded recording data.

7. The method of claim 4 , wherein the recording media comprises at least two tracks of data, a first track for storing navigation data, and a second track for storing recording data and state information about the recording data, further comprising:

reconstructing state information data for the at least partially recorded recording data by reading state information for a least fully recorded title of the at least partially recorded recording data and traversing a remaining portion of the at least partially recorded recording data to retrieve embedded navigation information for the remaining portion of the at least partially recorded recording data, and

finalizing the recording media by recording to the first track navigation data constructed from reconstructed state information from said reconstructing state information.

8. The method of claim 4 , further comprising:

retrieving stored pre-stream information from selected unused locations inside navigation packs in the at least partially recorded recording data, the stored pre-stream information including a location of a last valid copy of state information for the at least partially recorded recording data.

9. The method of claim 8 , wherein the stored pre-stream information comprises the last 471 bytes of a navigation pack in the at least partially recorded recording data.

10. An apparatus for recording data on recording media to allow for data recovery in the event the data is only partially recorded on the recording media, comprising:

means for setting a flag on the recording media before recording, to a first value indicating recording is in progress,

means for recording the data on the recording media,

means for setting the flag on the recording media after recording the data to the recording media, to a second value indicating that recording is completed; and

means for setting the flag to a third value after recording of the data to the recording media but before recording navigation data to the media describing the location of the data on the recording media;

wherein if the recording is interrupted, the presence of partially recorded data may be detected by detecting the third value of the flag on the recording media, and if the data is fully recorded on the recording media, the presence of partially recorded navigation data may be detected by detecting the second value of the flag on the recording media.

11. An apparatus for recovering partially recorded recording data on a recording medium comprising:

means for detecting, on the recording medium, a pre-recorded recording flag and reading the recording flag value,

means for determining if the recording data was fully recorded when the recording flag value is a first value,

means for determining if the recording data was partially recorded when the recording flag is a second value, and

means for determining if the recording data was fully recorded but navigation data was partially recorded when the recording flag is a third value.

12. The apparatus of claim 11 , further comprising:

means for reconstructing, if at least the recording data was partially recorded, navigation data for the recorded data by traversing at least a portion of the partially recorded recording data to detect navigation packs embedded in the recorded data, the navigation packs containing at least pointer data indicating the location of a next navigation pack; and

means for recording the navigation data to the recording medium such that the recorded data can be later read by a reading device for the recording medium.

13. The apparatus of claim 12 , wherein said means for traversing the at least partially recorded recording data further comprises:

means for sequentially traversing a plurality of Video Object Units (VOBUs) in at least a portion of the at least partially recorded recording data to locate a first navigation pack, the navigation pack containing at least information as to the location of subsequent navigation packs,

means for processing through a chain of navigation packs starting with the first navigation pack, until no more valid navigation packs are found, and

means for generating navigation data from the chain of navigation packs to indicate location of the recording data on the recording media.

14. The apparatus of claim 13 , further comprising:

means for locating on the recording media, state information for a last title recorded of the at least partially recorded recording data,

means for constructing navigation data from at least the state information for the last title recorded of the at least partially recorded recording data,

means for traversing any remaining portion of the at least partially recorded recording data to reconstruct navigation information for the remaining portion, and

means for combining the state information for the last title recorded of the at least partially recorded recording data with the navigation information for the remaining portion to create navigation data for the at least partially recorded recording data.

15. The apparatus of claim 13 , further comprising:

means for retrieving a backup copy of state information for recorded titles of the at least partially recorded recording information,

means for combining the backup copy of the state information with navigation information from the stream traversal to produce navigation data for the at least partially recorded recording data.

16. The apparatus of claim 13 , wherein the recording media comprises at least two tracks of data, a first track for storing navigation data, and a second track for storing recording data and state information about the recording data, the apparatus further comprising:

means for reconstructing state information data for the at least partially recorded recording data by reading state information for a least fully recorded title of the at least partially recorded recording data and traversing a remaining portion of the at least partially recorded recording data to retrieve embedded navigation information for the remaining portion of the at least partially recorded recording data, and

means for finalizing the recording media by recording to the first track navigation data constructed from reconstructed state information from said step of reconstructing state information.

17. The apparatus of claim 13 , further comprising:

means for retrieving stored pre-stream information from selected unused locations inside navigation packs in the at least partially recorded recording data, the stored pre-stream information including a location of a last valid copy of state information for the at least partially recorded recording data.

18. The apparatus of claim 13 , wherein the stored pre-stream information comprises the last 471 bytes of a navigation pack in the at least partially recorded recording data.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Apr 5, 2017
From: SILICON VALLEY BANK
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 042166/0405 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2016
From: CAPITAL IP INVESTMENT PARTNERS LLC
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 038440/0565 →
SECURITY AGREEMENT Recorded Apr 6, 2016
From: MAGNUM SEMICONDUCTOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 038366/0098 →
SHORT-FORM PATENT SECURITY AGREEMENT Recorded Oct 31, 2014
From: MAGNUM SEMICONDUCTOR, INC.
To: CAPITAL IP INVESTMENT PARTNERS LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 034114/0102 →
RELEASE OF SECURITY INTEREST Recorded Apr 29, 2013
From: SILICON VALLEY BANK , AS AGENT FOR THE BENEFIT OF THE LENDERS
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 030310/0985 →
RELEASE OF SECURITY INTEREST Recorded Apr 29, 2013
From: SILICON VALLEY BANK
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 030310/0764 →
SECURITY AGREEMENT Recorded Jun 13, 2006
From: MAGNUM SEMICONDUCTOR, INC.
To: SILICON VALLEY BANK AS AGENT FOR THE BENEFIT OF THE LENDERS
Reel/Frame 017766/0605 →
SECURITY AGREEMENT Recorded Jun 12, 2006
From: MAGNUM SEMICONDUCTOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 017766/0005 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2005
From: CIRRUS LOGIC, INC.
To: MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 016680/0280 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2004
From: WANG, SAMUEL C.
To: CIRRUS LOGIC, INC.
Reel/Frame 015920/0124 →