IP Library › Granted Patent US 12,732,402
Granted Patent B2
US 12,732,402 · App. 18/821,891 · Granted Sep 8, 2026

DC balanced transition encoding

Inventor: Aliazam Abbasfar (Santa Clara, CA)
Assignee: Samsung Display Co., Ltd.
H04L25/493H04L25/45H04L9/0662
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 12,732,402
App. No.
18/821,891
Granted
Sep 8, 2026
Kind
B2
Abstract

A system and method for DC balanced transition encoding. In some embodiments, the method includes: generating a set of candidate encoding keys for a set of raw data words; selecting a first encoding key, of the set of candidate encoding keys, based on a first disparity contribution; and encoding the raw data words with the first encoding key, the first disparity contribution being a difference between the number of ones and the number of zeros in the result of encoding the set of raw data words with the first encoding key.

Claims (88)

1 . A method, comprising:

generating a set of candidate encoding keys for a set of raw data words;

encoding the set of the raw data words using the set of candidate encoding keys to generate encoded packets;

determining a disparity for each of the encoded packets;

selecting an encoded packet, from among the encoded packets with a minimum disparity from among the disparity for each of the encoded packets; and

transmitting the encoded packet to a driver.

2 . The method of claim 1 , wherein the disparity for each packet is a difference between a number of ones and a number of zeroes in each of the encoded packets.

3 . The method of claim 1 , wherein the determining the disparity for each of the encoded packets comprises:

calculating a set of bit level disparities, each corresponding to a bit level of the raw data words;

changing a sign of each bit level disparity corresponding to a one in a corresponding encoding key from among the set of candidate encoding keys, to form a set of polarity-adjusted bit level disparities; and

summing:

the polarity-adjusted bit level disparities; and

a disparity of a corresponding encoding key,

wherein:

an absolute value of the bit level disparity at each bit level is equal to the absolute value of a difference between

a number of ones, at the bit level, in all of the raw data words, and

a number of zeros at the bit level, in all of the raw data words; and

an absolute value of the disparity of the corresponding encoding key is equal to an absolute value of a difference between a number of ones of the corresponding encoding key and a number of zeros of the corresponding encoding key.

4 . The method of claim 3 , wherein the calculating a bit level disparity, of the set of bit level disparities, at a first bit level, comprises calculating a difference between

twice the number of ones at the first bit level and

the number of raw data words.

5 . The method of claim 1 , wherein a result of the encoding the set of the raw data words with a corresponding encoding key comprises:

the corresponding encoding key; and

an exclusive-OR of the corresponding encoding key with each of the raw data words.

6 . The method of claim 1 , wherein a result of the encoding the set of the raw data words with a corresponding encoding key is a set of encoded data words having a maximum run length not exceeding a first threshold.

7 . The method of claim 6 , wherein the result of the encoding the set of the raw data words with the corresponding encoding key comprises:

the corresponding encoding key; and

an exclusive-OR of the corresponding encoding key with each of the raw data words.

8 . A system, comprising:

a processing circuit; and

a memory connected to the processing circuit, the memory storing instructions that, when executed by the processing circuit, cause the system to perform a method, the method comprising:

generating a set of candidate encoding keys for a set of raw data words;

encoding the set of the raw data words using the set of candidate encoding keys to generate encoded packets;

determining a disparity for each of the encoded packets;

selecting an encoded packet, from among the encoded packets with a minimum disparity from among the disparity for each of the encoded packets; and

transmitting the encoded packet to a driver.

9 . The system of claim 8 , wherein the disparity for each packet is a difference between a number of ones and a number of zeroes in each of the encoded packets.

10 . The system of claim 8 , wherein the determining the disparity for each of the encoded packets comprises:

calculating a set of bit level disparities, each corresponding to a bit level of the raw data words;

changing a sign of each bit level disparity corresponding to a one in a corresponding encoding key from among the set of candidate encoding keys, to form a set of polarity-adjusted bit level disparities; and

summing:

the polarity-adjusted bit level disparities; and

a disparity of a corresponding encoding key,

wherein:

an absolute value of the bit level disparity at each bit level is equal to the absolute value of a difference between

a number of ones, at the bit level, in all of the raw data words, and

a number of zeros at the bit level, in all of the raw data words; and

an absolute value of the disparity of the corresponding encoding key is equal to an absolute value of a difference between a number of ones of the corresponding encoding key and a number of zeros of the corresponding encoding key.

11 . The system of claim 10 , wherein the calculating a bit level disparity, of the set of bit level disparities, at a first bit level, comprises calculating a difference between

twice the number of ones at the first bit level and

the number of raw data words.

12 . The system of claim 8 , wherein a result of the encoding the set of the raw data words with a corresponding encoding key comprises:

the corresponding encoding key; and

an exclusive-OR of the corresponding encoding key with each of the raw data words.

13 . The system of claim 8 , wherein a result of the encoding the set of the raw data words with a corresponding encoding key is a set of encoded data words having a maximum run length not exceeding a first threshold.

14 . The system of claim 13 , wherein the result of the encoding the set of the raw data words with the corresponding encoding key comprises:

the corresponding encoding key; and

an exclusive-OR of the corresponding encoding key with each of the raw data words.

15 . A display, comprising:

a timing controller; and

a driver integrated circuit,

the timing controller comprising:

a processing circuit; and

a memory connected to the processing circuit, the memory storing instructions that, when executed by the processing circuit, cause the timing controller to perform a method, the method comprising:

generating a set of candidate encoding keys for a set of raw data words;

encoding the set of the raw data words using the set of candidate encoding keys to generate encoded packets;

determining a disparity for each of the encoded packets;

selecting an encoded packet, from among the encoded packets with a minimum disparity from among the disparity for each of the encoded packets; and

transmitting the encoded packet to the driver integrated circuit.

16 . The display of claim 15 , wherein the disparity for each packet is a difference between a number of ones and a number of zeroes in each of the encoded packets.

17 . The display of claim 15 , wherein the determining the disparity for each of the encoded packets comprises:

calculating a set of bit level disparities, each corresponding to a bit level of the raw data words;

changing a sign of each bit level disparity corresponding to a one in a corresponding encoding key from among the set of candidate encoding keys, to form a set of polarity-adjusted bit level disparities; and

summing:

the polarity-adjusted bit level disparities; and

a disparity of a corresponding encoding key,

wherein:

an absolute value of the bit level disparity at each bit level is equal to the absolute value of a difference between

a number of ones, at the bit level, in all of the raw data words, and

a number of zeros at the bit level, in all of the raw data words; and

an absolute value of the disparity of the corresponding encoding key is equal to an absolute value of a difference between a number of ones of the corresponding encoding key and a number of zeros of the corresponding encoding key.

18 . The display of claim 17 , wherein the calculating a bit level disparity, of the set of bit level disparities, at a first bit level, comprises calculating a difference between

twice the number of ones at the first bit level and

the number of raw data words.

19 . The display of claim 15 , wherein a result of the encoding the set of the raw data words with a corresponding encoding key comprises:

the corresponding encoding key; and

an exclusive-OR of the corresponding encoding key with each of the raw data words.

20 . The display of claim 15 , wherein a result of the encoding the set of the raw data words with a corresponding encoding key is a set of encoded data words having a maximum run length not exceeding a threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2024
From: ABBASFAR, ALIAZAM
To: SAMSUNG DISPLAY CO., LTD.
Reel/Frame 068905/0452 →
Continuity (3)
Continuation 17831354 · Jun 2, 2022
Provisional Application 63276178 · Nov 5, 2021
Related Publication 20240422034A1 · Dec 19, 2024
References Cited (70)
US 5162791A · Heegard · 1992 [cited by applicant]
US 5229769A · Gleichert · 1993 [cited by applicant]
US 5304996A · Hsu et al. · 1994 [cited by applicant]
US 5671236A · Denissen et al. · 1997 [cited by applicant]
US 5689278A · Barker · 1997 [cited by examiner]
US 5771238A · Sutton · 1998 [cited by examiner]
US 5825824A · Lee et al. · 1998 [cited by applicant]
US 5854810A · Denissen et al. · 1998 [cited by applicant]
US 5999571A · Shin et al. · 1999 [cited by applicant]
US 6587088B2 · Kasai · 2003 [cited by examiner]
US 6747580B1 · Schmidt · 2004 [cited by applicant]
US 6909385B2 · Vasic et al. · 2005 [cited by applicant]
US 6920604B2 · Coakeley et al. · 2005 [cited by applicant]
US 6970522B1 · Morling et al. · 2005 [cited by applicant]
US 7064683B1 · Westby · 2006 [cited by applicant]
US 7138930B1 · Paul et al. · 2006 [cited by applicant]
US 7221351B2 · Senda · 2007 [cited by examiner]
US 7791507B2 · Coene et al. · 2010 [cited by applicant]
US 8078935B2 · Cai et al. · 2011 [cited by applicant]
US 8155215B2 · Ichiyama et al. · 2012 [cited by applicant]
US 8275080B2 · Jordan · 2012 [cited by applicant]
US 8402354B2 · Ogiso · 2013 [cited by applicant]
US 8659450B1 · Wu et al. · 2014 [cited by applicant]
US 8891520B2 · Alicherry et al. · 2014 [cited by applicant]
US 8941513B1 · Dupont · 2015 [cited by examiner]
US 9097755B2 · Dmitriev-Zdorov · 2015 [cited by applicant]
US 9491830B2 · Lee · 2016 [cited by examiner]
US 9515675B2 · Bae et al. · 2016 [cited by applicant]
US 9831979B2 · Goulahsen · 2017 [cited by applicant]
US 10290252B2 · Chen · 2019 [cited by examiner]
US 11146430B1 · Lee et al. · 2021 [cited by applicant]
US 20060012594A1 · Worley · 2006 [cited by examiner]
US 20060126751A1 · Bessios · 2006 [cited by applicant]
US 20070285416A1 · Wang · 2007 [cited by examiner]
US 20080303767A1 · Ludden · 2008 [cited by examiner]
US 20130151194A1 · Hawken · 2013 [cited by examiner]
US 20130151928A1 · Leggette · 2013 [cited by examiner]
US 20130257916A1 · Kao · 2013 [cited by examiner]
US 20130275757A1 · Harrington · 2013 [cited by examiner]
US 20140119486A1 · Mendel · 2014 [cited by applicant]
US 20140198837A1 · Fox et al. · 2014 [cited by applicant]
US 20150382352A1 · Dupont · 2015 [cited by examiner]
US 20160012788A1 · Lee · 2016 [cited by examiner]
US 20160072610A1 · Goulahsen · 2016 [cited by applicant]
US 20160180789A1 · Hur · 2016 [cited by examiner]
US 20160189670A1 · Kim · 2016 [cited by examiner]
US 20180006668A1 · Wieland · 2018 [cited by applicant]
US 20180006765A1 · Wieland · 2018 [cited by applicant]
US 20180226009A1 · Lin · 2018 [cited by examiner]
US 20180286310A1 · Yang · 2018 [cited by examiner]
US 20180367161A1 · Ki · 2018 [cited by examiner]
US 20190097794A1 · Nix · 2019 [cited by examiner]
US 20200321079A1 · Huang et al. · 2020 [cited by applicant]
US 20210142133A1 · Gaubatz et al. · 2021 [cited by applicant]
US 20220397931A1 · Song et al. · 2022 [cited by applicant]
US 20230108230A1 · Abbasfar · 2023 [cited by applicant]
US 20230146120A1 · Abbasfar · 2023 [cited by examiner]
US 20230163943A1 · Koo · 2023 [cited by examiner]
US 20250284393A1 · Cooper · 2025 [cited by examiner]
EP 1484872B1 · 2009 [cited by applicant]
EP 2892156A3 · 2015 [cited by applicant]
JP 6229322A · 1987 [cited by applicant]
JP 2013239940A · 2013 [cited by applicant]
WO WO2020203548A1 · 2020 [cited by applicant]
WO WO2021039098A1 · 2021 [cited by applicant]
Anonymous: “Constant-weight code,” Wikipedia, Sep. 2021, 3 pages, Retrieved from the Internet: URL:https://en.wikipedia.org/w/index.php?title=Constant-weight_code&oldid=1045733408 [retrieved on Mar. 7, 2023]. [cited by applicant]
Anonymous: “Paired disparity code,” Wikipedia, Jun. 2021, 1 page, Retrieved from the Internet: URL:https://en.wikipedia.org/w/index.php?title=Paired_disparity_code&oldid=1027088253 [retrieved on Mar. 7, 2023]. [cited by applicant]
EPO Extended European Search Report dated Mar. 21, 2023, issued in corresponding European Patent Application No. 22205488.4 (11 pages). [cited by applicant]
Japanese Office Action dated Jan. 9, 2024, issued in corresponding Japanese Patent Application No. 2022-175674, 5 pages. [cited by applicant]
Zhang, Z. et al., “Multi-Bit-Flipping Decoding of Polar Codes Based on Medium-Level Bit-Channels Sets”, 2019 IEEE Wireless Communications and Networking Conference, 6 pages, IEEE Xplore. [cited by applicant]