IP Library Patent Application 14673378
Patent Application
App. No. 14/673,378

Orthogonal Data Organization for Error Detection and Correction in Serial Video Interfaces

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 None
App. No.
14/673,378
Abstract

A source device receives digital data comprising uncompressed video data and its associated metadata and compresses the video data. The source device generates an error code for each data word representing the compressed video data and its associated metadata. The data word and its corresponding error code are combined to form a code word. The source device organizes code words of the video data and its metadata into orthogonal data blocks and transmits the data blocks to a sink device. The sink device decodes corrupted data bits in the received data based on analysis of the error codes of the code words in the data blocks. Organizing code words into orthogonal data blocks helps isolate corrupted data bits in data blocks and enables the sink device to detect and correct corrupted data bits resulting from a single transmission error and to detect corrupted data bits resulting from multiple transmission errors.

Claims (66)

1 . A method for generating error codes for digital data, the method comprising:

receiving the digital data, the digital data comprising uncompressed video data and metadata associated with the uncompressed digital video data;

encoding the uncompressed video data to generate compressed video data, the compressed video data having a plurality of data words;

generating an error code for each of the plurality of data words of the compressed video data and for each of a plurality of data words of the metadata;

for each data word, combining the data word and its corresponding error code to form a code word; and

organizing a plurality of code words into one or more data blocks according to a data structure.

2 . The method of claim 1 , wherein a code word comprise a data portion and an error correction portion, the data portion of the code word having a plurality of data bits representing digital content of the code word and the error correction portion having a plurality of syndrome bits for detecting errors in the data portion.

3 . The method of claim 1 , wherein generating an error code for a data word of the digital data comprises:

applying an error correction scheme to the data word; and

generating an error code for the data word based on the application of the error correction scheme.

4 . The method of claim 1 , wherein organizing the plurality of code words into one or more data blocks according to a data structure comprises:

selecting a number of code words to form a data block, the data block having a width and height, the width of the data block being equal to the size of the code word and the height of the data block being equal to the number of data bits encoded into each line code symbol; and

selecting corresponding bits from the selected code words at a same bit position of the data block for digital line encoding.

5 . The method of claim 4 , wherein the number of code words of a data block is equal to the number of data bits encoded into each line code symbol and the number of bit errors resulting from a single transmission error that are corrected in the data block is equal to the number of data bits encoded into each line code symbol.

6 . The method of claim 1 , further comprising:

digitally line encoding the data blocks; and

transmitting the line encoded data blocks in series to a sink device.

7 . The method of claim 6 , wherein line encoding a data block comprises one of the following:

encoding eight data bits of the data block into a ten-bit representation; and

encoding sixteen data bits of the data block into an eighteen-bit representation.

8 . A method for detecting errors in transmitted digital data, the method comprising:

receiving the digital data, the digital data comprising code words representing video data and code words representing metadata associated with the video data;

line decoding the code words of the digital data and organizing the code words into a plurality of data blocks based on a data structure, each data block having a plurality of code words;

analyzing the code words in each data block; and

detecting one or more corrupted data bits in each data block.

9 . The method of claim 8 , wherein detecting a bit error in a code word of the digital data comprises:

analyzing error correction portion of the code word;

comparing the error correction code with a predetermined threshold code;

comparing the error correction portion of the code word with corresponding error correction portions of the remaining code words in the same data block; and

detecting the bit error based on the comparisons.

10 . The method of claim 8 , further comprising:

responding to the corrupted data bits in a data block resulting from a single transmission error, correcting the corrupted data bits; and

responding to the corrupted data bits in a data block resulting from multiple single transmission errors, reporting detection of the corrupted data bits.

11 . A non-transitory computer readable storage medium storing computer program instructions for generating error codes for digital data, the computer program instructions comprising instructions that when executed by a computer processor cause the computer processor to:

receive the digital data, the digital data comprising uncompressed video data and metadata associated with the uncompressed digital video data;

encode the uncompressed video data to generate compressed video data, the compressed video data having a plurality of data words;

generate an error code for each of the plurality of data words of the compressed video data and for each of a plurality of data words of the metadata;

for each data word, combine the data word and its corresponding error code to form a code word; and

organize a plurality of code words into one or more data blocks according to a data structure.

12 . The computer readable storage medium of claim 11 , wherein a code word comprise a data portion and an error correction portion, the data portion of the code word having a plurality of data bits representing digital content of the code word and the error correction portion having a plurality of syndrome bits for detecting errors in the data portion.

13 . The computer readable storage medium of claim 11 , wherein the computer program instructions for generating an error code for a data word of the digital data comprise instructions that when executed by the computer processor cause the computer processor to:

apply an error correction scheme to the data word; and

generate an error code for the data word based on the application of the error correction scheme.

14 . The computer readable storage medium of claim 11 , wherein the computer program instructions for organizing the plurality of code words into one or more data blocks according to a data structure comprise instructions that when executed by the computer processor cause the computer processor to:

select a number of code words to form a data block, the data block having a width and height, the width of the data block being equal to the size of the code word and the height of the data block being equal to the number of data bits encoded into each line code symbol; and

select corresponding bits from the selected code words at a same bit position of the data block for digital line encoding.

15 . The computer readable storage medium of claim 11 , wherein the number of code words of a data block is the number of data bits encoded into each line code symbol and the number of bit errors resulting from a single transmission error that are corrected in the data block is the number of data bits encoded into each line code symbol.

16 . The computer readable storage medium of claim 11 , further comprising computer program instructions that when executed by the computer processor cause the computer processor to:

digitally line encode the data blocks; and

transmit the line encoded data blocks in series to a sink device.

17 . The computer readable storage medium of claim 16 , wherein the computer program instructions for line encoding a data block comprise instructions that when executed by the computer processor cause the computer processor to encode as one of the following:

encode eight data bits of the data block into a ten-bit representation; and

encode sixteen data bits of the data block into an eighteen-bit representation.

18 . A non-transitory computer readable storage medium storing computer program instructions for detecting errors in transmitted digital data, the computer program instructions comprising instructions that when executed by a computer processor cause the computer processor to:

receive the digital data, the digital data comprising code words representing video data and code words representing metadata associated with the video data;

line decode the code words of the digital data and organizing the code words into a plurality of data blocks based on a data structure, each data block having a plurality of code words;

analyze the code words in each data block; and

detect one or more corrupted data bits in each data block.

19 . The computer readable storage medium of claim 18 , wherein the computer program instructions for detecting a bit error in a code word of the digital data comprise instructions that when executed by the computer processor cause the computer processor to:

analyze error correction portion of the code word;

compare the error correction code with a predetermined threshold code;

compare the error correction portion of the code word with corresponding error correction portions of the remaining code words in the same data block; and

detect the bit error based on the comparisons.

20 . The computer readable storage medium of claim 18 , further comprising computer program instructions that when executed by the computer processor cause the computer processor to:

responding to the corrupted data bits in a data block resulting from a single transmission error, correct the corrupted data bits; and

responding to the corrupted data bits in a data block resulting from multiple single transmission errors, report detection of the corrupted data bits.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2016
From: YI, JU HWAN; THOMPSON, LAURENCE ALAN
To: SILICON IMAGE, INC.
Reel/Frame 038985/0152 →
SECURITY INTEREST Recorded Mar 8, 2016
From: LATTICE SEMICONDUCTOR CORPORATION; SILICON IMAGE, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 037924/0839 →
MERGER Recorded Aug 21, 2015
From: SILICON IMAGE, INC.
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 036419/0792 →