IP Library Granted Patent US 9,049,093
Granted Patent B2
US 9,049,093 · App. 12/955,410 · Granted Jun 2, 2015

Coded pulse data transmission using a look-up table

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,049,093
App. No.
12/955,410
Granted
Jun 2, 2015
Kind
B2
Abstract

Input data is encoded using a look-up table and then transmitted over a transmission medium as a series of pulses. The look-up table includes data elements. The length of each pulse is calibrated to correspond to one of the data elements in the look-up table. Upon receipt at another end of the transmission medium, the data is decoded using a look-up table. This decoding includes measuring the length of each received pulse to match the measured length to a corresponding one of data elements in the look-up table.

Claims (59)

1. A method for transmission of data, the method comprising:

accessing a plurality of data elements stored in a non-transitory computer readable storage medium;

determining the type of data represented by the plurality of data elements;

selecting a lookup table from a plurality of lookup tables based upon the type of data represented by the plurality of data elements, the plurality of lookup tables stored in a non-transitory computer readable storage medium;

determining, from the selected lookup table, a time duration value for each data element of the plurality of data elements;

forming a command that identifies the determined type of data, and encoded pulses with time durations that correspond to the time duration values; and

transmitting the command and the encoded pulses over a transmission medium.

2. The method of claim 1 , further including

accessing another plurality of data elements stored in a non-transitory computer readable storage medium;

determining another type of data represented by the other plurality of data elements;

selecting another lookup table from the plurality of lookup tables based upon the other type of data represented by the other plurality of data elements;

determining, from the other selected lookup table, another time duration value for each data element of the other plurality of data elements;

forming other encoded pulses with time durations that correspond to the other time duration values; and

transmitting the other encoded pulses over the transmission medium.

3. The method of claim 1 , wherein the type of data represented by the plurality of data elements comprises video input data, and at least one data element of the plurality of data elements corresponds to at least one of a pixel location and a color in a video image.

4. The method of claim 1 , wherein transmitting the encoded pulses over a transmission medium includes transmitting optical pulses over a fiber optic line using a laser.

5. The method of claim 1 , further including the steps of receiving feedback from a receiver of the transmitted encoded pulses, the feedback indicating information about received pulse lengths, and adjusting time durations during further formation of encoded pulses based upon the received feedback.

6. The method of claim 1 , wherein forming encoded pulses with time durations that correspond to the time duration values includes the use of an atomic clock as a timing reference.

7. The method of claim 1 , wherein the time duration of the encoded pulse is less than one thousandth of a second.

8. The method of claim 1 , wherein the encoded pulses form part of test data and wherein the test data is configured for decoding at a decoder, and further comprising compensating for variations in the transmission medium based on data received from the decoder corresponding to the test data.

9. The method of claim 1 , further including sending a command prior to transmitting the encoded pulses, wherein the command identifies the type of data represented by the plurality of data elements.

10. The method of claim 1 , further including storing the time durations of the lookup table from a plurality of lookup tables according to an expected occurrence rate of each of the data elements of the plurality of data elements.

11. The method of claim 1 , further including after transmitting the encoded pulses over the transmission medium, decoding the pulses by:

receiving a plurality of the encoded pulses from the transmission medium;

measuring time durations for the received encoded pulses of the plurality of encoded pulses;

determining the type of data represented by the plurality of received encoded pulses based on the command;

selecting a lookup table from a plurality of lookup tables based upon the type of data represented by the plurality of received encoded pulses as indicated via the command, the plurality of lookup tables stored in a non-transitory computer readable storage medium;

decoding, from the selected lookup table, a data element value for each time duration value of the plurality of encoded pulses; and

storing the data element values in a non-transitory computer readable storage medium.

12. A method for decoding a pulse received from a transmission medium, the method comprising:

receiving a command and a plurality of encoded pulses from the transmission medium;

measuring time durations for the encoded pulses of the plurality of encoded pulses;

determining the type of data represented by the plurality of encoded pulses, based on information in the command;

selecting a lookup table from a plurality of lookup tables based upon the type of data represented by the plurality of encoded pulses, the plurality of lookup tables stored in a non-transitory computer readable storage medium;

decoding, from the selected lookup table, a data element value for each time duration value of the plurality of encoded pulses; and

storing the data element values in a non-transitory computer readable storage medium.

13. The method of claim 12 , wherein the measuring includes comparing the time duration of the pulse to a timing reference.

14. The method of claim 12 , wherein the transmission medium is a fiber optic line; and the receiving further includes sensing the pulse using an optical sensor.

15. The method of claim 12 , further comprising:

selecting, in response to receiving a second command, another lookup table to use in decoding another plurality of encoded pulses from the transmission medium, based on data in the second command.

16. A system for transmission of encoded data over a transmission medium, the system comprising:

at least one non-transitory computer readable storage medium; and

an encoder that includes least one processor, that is coupled to the at least one memory and that is configured to:

access a plurality of data elements stored in the non-transitory computer readable storage medium;

determine the type of data represented by the plurality of data elements;

select a lookup table from a plurality of lookup tables based upon the type of data represented by the plurality of data elements, the plurality of lookup tables stored in a non-transitory computer readable storage medium;

determine, from the selected lookup table, a time duration value for each data element of the plurality of data elements;

form a command that identifies the determined type of data, and encoded pulses with time durations that correspond to the time duration values; and

transmit the command and the encoded pulses over the transmission medium.

17. The system of claim 16 , further comprising a laser to form the encoded pulses for transmission over a fiber optic line.

18. The system of claim 16 , further comprising a decoder that includes a decoder non-transitory computer readable storage medium and a decoder processor and that is configured to:

receive the encoded pulses from the transmission medium;

measure time durations for the received encoded pulses;

determine the type of data represented by the received encoded pulses;

select the lookup table from a plurality of lookup tables based upon the type of data represented by the received encoded pulses;

decode, from the selected lookup table, a data element value for each time duration value of the received encoded pulses; and

store the data element values in the decoder non-transitory computer readable storage medium.

19. The system of claim 16 , wherein the plurality of data elements represent video data that includes pixel locations in a video image.

20. The system of claim 16 , wherein the at least one processor is further configured to send a command prior to transmitting the encoded pulses, the command identifying the type of data as video data.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2025
From: THE BANK OF NOVA SCOTIA
To: SEAGATE TECHNOLOGY PUBLIC LIMITED COMPANY; SEAGATE TECHNOLOGY; SEAGATE TECHNOLOGY HDD HOLDINGS; I365 INC.; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL; SEAGATE HDD CAYMAN; SEAGATE TECHNOLOGY (US) HOLDINGS, INC.
Reel/Frame 072193/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2024
From: SEAGATE TECHNOLOGY LLC; SEAGATE SINGAPORE INTERNATIONAL HEADQUARTERS PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 067489/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2023
From: MERRITT, EDWARD; FEIN, GENE
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 065249/0235 →
SECURITY AGREEMENT Recorded Mar 24, 2011
From: SEAGATE TECHNOLOGY LLC
To: THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT
Reel/Frame 026010/0350 →