IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三星ディスプレイ株式會社の特許一覧

特開2023-36033データエンコーディング方法、エンコーダおよびデータデコーディング方法
<>
  • 特開-データエンコーディング方法、エンコーダおよびデータデコーディング方法 図1a
  • 特開-データエンコーディング方法、エンコーダおよびデータデコーディング方法 図1b
  • 特開-データエンコーディング方法、エンコーダおよびデータデコーディング方法 図2
  • 特開-データエンコーディング方法、エンコーダおよびデータデコーディング方法 図3
  • 特開-データエンコーディング方法、エンコーダおよびデータデコーディング方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023036033
(43)【公開日】2023-03-13
(54)【発明の名称】データエンコーディング方法、エンコーダおよびデータデコーディング方法
(51)【国際特許分類】
   H03M 7/14 20060101AFI20230306BHJP
【FI】
H03M7/14 B
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022137344
(22)【出願日】2022-08-30
(31)【優先権主張番号】63/239,281
(32)【優先日】2021-08-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/556,899
(32)【優先日】2021-12-20
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】512187343
【氏名又は名称】三星ディスプレイ株式會社
【氏名又は名称原語表記】Samsung Display Co.,Ltd.
【住所又は居所原語表記】1, Samsung-ro, Giheung-gu, Yongin-si, Gyeonggi-do, Republic of Korea
(74)【代理人】
【識別番号】110002619
【氏名又は名称】弁理士法人PORT
(72)【発明者】
【氏名】アバスファー アリアザム
(72)【発明者】
【氏名】デイル エフ. ストリツカ
(57)【要約】      (修正有)
【課題】フレキシブルなワードサイズとラン長の制限を有する伝送ストリームの遷移エンコーディングシステムおよび方法を提供する。
【解決手段】入力データのエンコーディング方法は、プレビット、グループIDビットおよびポストビットをそれぞれ含む複数の入力ワードを含む入力データの入力パケットを識別する段階と、前記複数の入力ワードのグループIDビットに基づいて前記複数の入力ワードを複数のグループに編成する段階と、前記各複数のグループ内の入力ワードの数に基づいて前記複数のグループのうちキーグループを識別する段階と、前記複数の入力ワードのうち前記キーグループに対応する入力ワードの前記プレビット、前記グループIDビットおよび前記ポストビットに基づいてキー値を決定する段階と、前記キー値および前記複数の入力ワードに基づいて複数のエンコードワードを生成する段階と、を含む。
【選択図】図3
【特許請求の範囲】
【請求項1】
プレビット、グループIDビットおよびポストビットをそれぞれ含む複数の入力ワードを含む入力データの入力パケットを識別する段階と、
前記複数の入力ワードのグループIDビットに基づいて前記複数の入力ワードを複数のグループに編成する段階と、
前記各グループ内の入力ワードの数に基づいて前記複数のグループのうちキーグループを識別する段階と、
前記複数の入力ワードのうち前記キーグループに対応する入力ワードの前記プレビット、前記グループIDビットおよび前記ポストビットに基づいてキー値を決定する段階と、
前記キー値および前記複数の入力ワードに基づいて複数のエンコードワードを生成する段階と、
を含む、入力データのエンコーディング方法。
【請求項2】
前記入力データを受信する段階と、
前記入力データを前記入力パケットを含む複数のデータパケットに分割する段階と、
をさらに含む、請求項1に記載の入力データのエンコーディング方法。
【請求項3】
前記入力ワードそれぞれは[PRB GID POB]で表され、PRBは前記プレビットを示し、GIDは前記グループIDビットを示し、POBは前記ポストビットを示し、iは0より大きい整数である、請求項1に記載の入力データのエンコーディング方法。
【請求項4】
前記入力パケットは31個の入力ワードを含み、前記複数の入力ワードそれぞれは8ビットを含み、前記プレビットは前記複数の入力ワードのうち対応するワードの2つのMSB(most significant bit)を含み、前記グループIDビットは前記対応するワードの4つの中間ビットを含み、前記ポストビットは前記対応するワードの2つのLSB(least significant bit)を含み、前記複数のグループは8個のグループを含み、前記入力パケットのラン長は10である、請求項1に記載の入力データのエンコーディング方法。
【請求項5】
前複数の入力ワードを複数のグループに編成する段階は、
前記複数の入力ワードのうち同じグループIDビットまたは同じグループIDビットの補数を有する入力ワードを前記複数のグループのうち同じグループにグループ化する段階
を含み、
前記複数のグループの数は前記グループIDビット内のビット数の半分である、請求項1に記載の入力データのエンコーディング方法。
【請求項6】
前記複数の入力ワードを複数のグループに編成する段階は、
複数の入力ワードのうち(2-1)/2より小さくて第1値と同じグループIDビット値を有するワードを一つにグループ化し、(2-1)/2より大きくて前記第1値の補数と同じグループIDビット値を有するワードを同じグループの他の一つにグループ化する段階
を含み、
前記gは前記グループIDビットのビット長を示す、請求項1に記載の入力データのエンコーディング方法。
【請求項7】
前記キーグループを識別する段階は、
前記キーグループを前記複数のグループのうち最小入力ワード数またはしきい値を下回る入力ワード数を有するグループとして定義する段階
を含む、請求項1に記載の入力データのエンコーディング方法。
【請求項8】
前記キー値を決定する段階は、
キーグループIDビットを前記複数のワードのうち前記キーグループに対応するワードのグループIDビットとして決定する段階と、
キープレビットを前記複数のワードのうち前記キーグループに対応するワードのプレビットから欠落したビットとして決定する段階と、
キーポストビットを前記複数のワードのうち前記キーグループに対応するワードのポストビットから欠落したビットとして決定する段階と、
前記キープレビット、前記キーグループIDビットおよび前記キーポストビットに基づいて前記キー値を生成する段階と、
を含む、請求項1に記載の入力データのエンコーディング方法。
【請求項9】
前記キー値は[PRB GID POB]で表され、PRBは前記キープレビットを示し、GIDは前記キーグループIDビットを示し、POBは前記キーポストビットを示す、請求項8に記載の入力データのエンコーディング方法。
【請求項10】
前記キー値は前記複数の入力ワードのうち一つと同じビット長を有し、前記複数の入力ワードのうちいずれとも同じでない、請求項1に記載の入力データのエンコーディング方法。
【請求項11】
前記複数のエンコードワードは第1エンコードワードおよび第2エンコードワードを含み、前記第1エンコードワードは少なくとも前記キー値に基づき、前記第2エンコードワードは前記キー値と前記複数の入力ワードのうち第1入力ワードに基づく、請求項1に記載の入力データのエンコーディング方法。
【請求項12】
前記複数のエンコードワードを生成する段階は、
前記キー値に基づいて変更キー値を生成する段階と、
前記第1エンコードワードを前記変更キー値として生成する段階と、
前記複数の入力ワードのうち一つと前記キー値に2進XOR演算を行って前記第1エンコードワードを生成する段階と、
を含む、請求項11に記載の入力データのエンコーディング方法。
【請求項13】
前記複数のエンコードワードは{K’,x^K,x^K,…,x^K}で表され、Kは前記キー値を示し、K’は前記キー値に基づいた変更キー値を示し、x,x,…,xは前記入力パケットの前記複数の入力ワードを示し、Nは2より大きい整数であり、^は2進XOR演算を記号化したものである、請求項1に記載の入力データのエンコーディング方法。
【請求項14】
前記複数のエンコードワードを含む伝送データを通信チャネルを介して受信機に伝送する段階をさらに含む、請求項1に記載の入力データのエンコーディング方法。
【請求項15】
プロセッサと、
前記プロセッサに従属して命令(instruction)を保存するプロセッサメモリと、
を含み、
前記プロセッサが前記命令を行うと前記プロセッサは、
プレビット、グループIDビットおよびポストビットをそれぞれ含む複数の入力ワードを含む入力データの入力パケットを識別し、
前記入力ワードのグループIDビットに基づいて前記複数の入力ワードを複数のグループに編成し、
前記複数のグループのうちしきい値より小さい入力ワードの数に対応するキーグループを識別し、
前記複数の入力ワードのうち前記キーグループに対応する入力ワードの前記プレビット、前記グループIDビットおよび前記ポストビットに基づいてキー値を決定し、
前記キー値および前記複数の入力ワードに基づいて複数のエンコードワードを生成する、入力データエンコーディング用遷移エンコーダ。
【請求項16】
変更キー値を含み、第1エンコードワードを含む複数のエンコードワードを含む伝送データを受信する段階と、
前記変更キー値に基づいてキー値を生成する段階と、
前記キー値と前記第1エンコードワードに2進XOR演算を行って複数のデコードワードのうち第1デコードワードを生成する段階と、
を含む、伝送データのデコーディング方法。
【請求項17】
前記変更キー値は[PRB GID POB]で表され、PRBは前記変更キー値のプレビットを示し、GIDは前記変更キー値のグループIDビットを示し、POBは前記変更キー値のポストビットを示し、
前記変更キー値に基づいてキー値を生成する段階は、
前記キー値の前記グループIDビットのMSBを0に変えて前記キー値を生成する段階
を含む、請求項16に記載の伝送データのデコーディング方法。
【請求項18】
前記変更キー値に基づいてキー値を生成する段階は、
前記変更キー値のビットのうちの一つを0に設定して前記キー値を生成する段階
を含む、請求項16に記載の伝送データのデコーディング方法。
【請求項19】
前記複数のエンコードワードは{K’,x^K,x^K,…,x^K}で表され、x,x,…,xは入力パケットの複数の入力ワードを示し、Kは前記複数のエンコードワードをエンコードするために用いられる前記キー値を示し、K’は前記変更キー値を示し、^は2進XOR演算を記号化したものである、請求項16に記載の伝送データのデコーディング方法。
【請求項20】
前記伝送データを受信する段階は、
前記伝送データを通信チャネルを介して送信機から受信する段階
を含む、請求項16に記載の伝送データのデコーディング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ通信システムに関し、特にデータエンコーディング方法、エンコーダおよびデータデコーディング方法に関する。
【0002】
本出願は2021年8月31日付で米国特許庁に出願した米国特許出願番号第63/239,281号(発明の名称:FLEXIBLE WORD-SIZE TRANSITION ENCODING CODES)の優先権を主張し、ここに引用することによってこの出願の全体内容を本願に含む。
【背景技術】
【0003】
一般に直列データ通信は有線通信システム、光ファイバ通信システムだけでなく無線通信システムにも通常使用される。デジタルデータの直列通信において、送信機がデータストリームと共にクロック信号を送信しない場合は、受信機がデータストリームに入っている時間情報を使用してクロックを再生しなければならない。直列データストリームで時間情報を抽出する過程はクロックリカバリと知られており、受信機回路が伝送されたシンボルをデコードする際に重要である。
【0004】
伝送されたデータを変更してデータストリーム内に十分な数の遷移(transition)が存在するようにすることによって受信機でのクロックリカバリを助けることができる。言い換えると、最悪の場合である遷移がないラン長(no-transition run-length)が制限されなければならない。遷移を頻繁に発生させるために、送信機は遷移エンコーディングアルゴリズムを使用して遷移が周期的に起きるようにローデータ(raw data)をエンコードすることができる。
【0005】
背景技術の項目で説明した前記の情報は本発明の理解を深めるためだけのものであり、当業者に既に知られている従来技術をなさない情報を含むことができる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明が解決しようとする課題は、フレキシブルな(flexible)ワードサイズとラン長の制限を有する伝送ストリームの遷移エンコーディングシステムおよび方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の一実施形態によれば、遷移エンコーディングは、データパケット内の各ワードのビットの部分集合をそのワードのグループIDとして使用し、そのグループIDに基づいてパケットのワードを互いに異なるグループに編成し、最小ワード数を有するキーグループを識別し、次いでグループIDとキーグループの欠落ビットパターンに基づいてエンコードキー値を決定する。次に、遷移エンコーダはエンコードワードを受信機に送る前にキー値を使用して各ワードをエンコードする。本発明の一実施形態によれば、任意の所期のワードサイズおよびラン長の制限に対しても遷移エンコーディングは容易に変更することができる。
【0008】
本発明の一実施形態による入力データのエンコーディング方法は、プレビット、グループIDビットおよびポストビットをそれぞれ含む複数の入力ワードを含む入力データの入力パケットを識別する段階、前記複数の入力ワードのグループIDビットに基づいて前記複数の入力ワードを複数のグループに編成する段階、前記各複数のグループ内の入力ワードの数に基づいて前記複数のグループのうちキーグループを識別する段階、前記複数の入力ワードのうち前記キーグループに対応する入力ワードの前記プレビット、前記グループIDビットおよび前記ポストビットに基づいてキー値を決定する段階、そして前記キー値および前記複数の入力ワードに基づいて複数のエンコードワードを生成する段階を含む。
【0009】
本発明の一実施形態による入力データのエンコーディング方法は、前記入力データを受信する段階、そして前記入力データを前記入力パケットを含む複数のデータパケットに分割する段階をさらに含み得る。
【0010】
本発明の一実施形態によれば、前記入力ワードそれぞれは[PRB GID POB]で表され、PRBは前記プレビットを示し、GIDは前記グループIDビットを示し、POBは前記ポストビットを示し、iは0より大きい整数であり得る。
【0011】
本発明の一実施形態によれば、前記入力パケットは31個の入力ワードを含み、前記複数の入力ワードそれぞれは8ビットを含み、前記プレビットは前記複数の入力ワードのうち対応ワードの2つのMSB(most significant bit)を含み、前記グループIDビットは前記対応ワードの4つの中間ビットを含み、前記ポストビットは前記対応ワードの2つのLSB(least significant bit)を含み、前記複数のグループは8個のグループを含み、前記入力パケットのラン長は10であり得る。
【0012】
本発明の一実施形態によれば、前記複数の入力ワードを複数のグループに編成する段階は、前記複数の入力ワードのうち同じグループIDビットまたは同じグループIDビットの補数を有する入力ワードを前記複数のグループのうち同じグループにグループ化する段階を含み、前記複数のグループの数は前記グループIDビット内のビット数の半分であり得る。
【0013】
本発明の一実施形態によれば、前記複数の入力ワードを複数のグループに編成する段階は、複数の入力ワードのうち(2-1)/2より小さくて第1値と同じグループIDビット値を有するワードを一つにグループ化し、(2-1)/2より大きくて前記第1値の補数と同じグループIDビット値を有するワードを同じグループの他の一つにグループ化する段階を含み、前記gは前記グループIDビットのビット長を示し得る。
【0014】
本発明の一実施形態によれば、前記キーグループを識別する段階は、前記キーグループを前記複数のグループのうち最小入力ワード数またはしきい値の下の入力ワード数を有するグループとして定義する段階を含み得る。
【0015】
本発明の一実施形態によれば、前記キー値を決定する段階は、キーグループIDビットを前記複数のワードのうち前記キーグループに対応するワードのグループIDビットとして決定する段階、キープレビットを前記複数のワードのうち前記キーグループに対応するワードのプレビットから欠落したビットとして決定する段階、キーポストビットを前記複数のワードのうち前記キーグループに対応するワードのポストビットから欠落したビットとして決定する段階、そして前記キープレビット、前記キーグループIDビットおよび前記キーポストビットに基づいて前記キー値を生成する段階を含み得る。
【0016】
本発明の一実施形態によれば、前記キー値は[PRB GID POB]で表され、PRBは前記キープレビットを示し、GIDは前記キーグループIDビットを示し、POBは前記キーポストビットを示し得る。
【0017】
本発明の一実施形態によれば、前記キー値は前記複数の入力ワードのうち一つと同じビット長を有し、前記複数の入力ワードのうちいずれとも同じでなくてもよい。
【0018】
本発明の一実施形態によれば、前記複数のエンコードワードは第1エンコードワードおよび第2エンコードワードを含み、前記第1エンコードワードは少なくとも前記キー値に基づき、前記第2エンコードワードは前記キー値と前記複数の入力ワードのうち第1入力ワードに基づき得る。
【0019】
本発明の一実施形態によれば、前記複数のエンコードワードを生成する段階は、前記キー値に基づいて変更キー値を生成する段階、前記第1エンコードワードを前記変更キー値として生成する段階、そして前記複数の入力ワードのうち一つと前記キー値に2進XOR演算を行って前記第1エンコードワードを生成する段階を含み得る。
【0020】
本発明の一実施形態によれば、前記複数のエンコードワードは{K’,x^K,x^K,…,x^K}で表され、Kは前記キー値を示し、K’は前記キー値に基づいた変更キー値を示し、x,x,…,xは前記入力パケットの前記複数の入力ワードを示し、Nは2より大きい整数であり、^は2進XOR演算を記号化したものであり得る。
【0021】
本発明の一実施形態による入力データのエンコーディング方法は、前記複数のエンコードワードを含む伝送データを通信チャネルを介して受信機に伝送する段階をさらに含み得る。
【0022】
本発明の一実施形態による入力データエンコーディング用遷移エンコーダは、プロセッサ、そして前記プロセッサに従属して命令(instruction)を保存するプロセッサメモリを含み、前記プロセッサが前記命令を行うと前記プロセッサは、プレビット、グループIDビットおよびポストビットをそれぞれ含む複数の入力ワードを含む入力データの入力パケットを識別し、前記入力ワードのグループIDビットに基づいて前記複数の入力ワードを複数のグループに編成し、前記複数のグループのうちしきい値より小さい入力ワードの数に対応するキーグループを識別し、前記複数の入力ワードのうち前記キーグループに対応する入力ワードの前記プレビット、前記グループIDビットおよび前記ポストビットに基づいてキー値を決定し、前記キー値および前記複数の入力ワードに基づいて複数のエンコードワードを生成する。
【0023】
本発明の一実施形態による伝送データのデコーディング方法は、変更キー値を含み、第1エンコードワードを含む複数のエンコードワードを含む伝送データを受信する段階、前記変更キー値に基づいてキー値を生成する段階、そして前記キー値と前記第1エンコードワードに2進XOR演算を行って複数のデコードワードのうち第1デコードワードを生成する段階を含む。
【0024】
本発明の一実施形態によれば、前記変更キー値は[PRB GID POB]で表され、PRBは前記変更キー値のプレビットを示し、GIDは前記変更キー値のグループIDビットを示し、POBは前記変更キー値のポストビットを示し、前記変更キー値に基づいてキー値を生成する段階は、前記キー値の前記グループIDビットのMSBを0に変えて前記キー値を生成する段階を含み得る。
【0025】
本発明の一実施形態によれば、前記変更キー値に基づいてキー値を生成する段階は、前記変更キー値のビットのうちの一つを0に設定して前記キー値を生成する段階を含み得る。
【0026】
本発明の一実施形態によれば、前記複数のエンコードワードは{K’,x^K,x^K,…,x^K}で表され、x,x,…,xは入力パケットの複数の入力ワードを示し、Kは前記複数のエンコードワードをエンコードするために用いられる前記キー値を示し、K’は前記変更キー値を示し、^は2進XOR演算を記号化したものであり得る。
【0027】
本発明の一実施形態によれば、前記伝送データを受信する段階は、前記伝送データを通信チャネルを介して送信機から受信する段階を含み得る。
【発明の効果】
【0028】
本発明は任意の適切なワードサイズを有するデータでもエンコードして任意の適切なラン長の制限を生成することができる。本発明の一実施形態では、遷移エンコーダが特別な方式で入力データに基づいてキー値を決定することによってこのような所期の特性を可能にし、これはバイト-ワードアライメントハードウェア(byte-to-word alignment hardware)またはビットパディング(bit padding)を具現する必要性をなくし、送信機/受信機の設計を簡単にし、全体システムコストを減らす。また、本発明の一実施形態によれば、通信システムは遷移エンコーディング方式にオーバーヘッドを加えずにこのような所期の効果を達成する。
【図面の簡単な説明】
【0029】
図1a】本発明の一実施形態による直列データ通信システムのブロック図である。
図1b】本発明の一実施形態による直列データ通信システムの送信機/受信機のブロック図である。
図2】本発明の一実施形態により多数のワードに分割されたパケットを示す。
図3】本発明の一実施形態による入力データエンコーディング過程を示す。
図4】本発明の一実施形態による入力データデコーディング過程を示す。
【発明を実施するための形態】
【0030】
以下、後述する詳細な説明は直列通信におけるデータ遷移エンコーディング/デコーディングシステムおよび方法の実施形態に関するものであり、本発明によって具現または利用される唯一の形態を示すものではない。以下、添付する図面を参照して本発明の実施形態について詳細に説明する。しかし、互いに異なる実施形態で具現されるものと同一または均等の機能および構造も本発明の範囲内に含まれる。明細書全体にわたって同一または類似の構成要素に対しては同じ図面符号を付けた。
【0031】
関連技術として、ラン長制限伝送(run-length-limited transmission)を達成するために、送信機は入力データ伝送のためのエンコード(された)ワードに変換できるが、これは入力データに基づいてキーを定義し、そのキーを使用して各ワードをエンコードし、エンコード(された)ワードと共にそのキーを受信機に伝送することによって可能である。エンコードされたデータは特定のラン長制限を有している。再び受信機は伝送データ内のキーを識別してこれを使用して受信したエンコードワードをデコードしてオリジナル入力データを得る。しかし、関連技術のエンコーダはプロトコル層(protocol layer)が生成したバイト-サイズ直列データと整列しない(すなわち、異なる)ワードサイズで動作する場合が多い。例えば、プロトコル層は8-ビットバイト単位でデータを生成することに対して、エンコーダは6ビット単位で遷移エンコードを行うことができる。この場合、エンコーダは遷移エンコーディングパケットでオーバーヘッド(overhead)を増加させるビットパディング/スタッフィング(padding/stuffing)を使用しなければならない場合もあり、高価な不動産(real estate)を占めて追加的なコストと複雑さを加える追加的な整列ハードウェアに依存しなければならないこともある。
【0032】
本発明の一実施形態によれば、遷移エンコーダはバイト-サイズデータまたは適正のビット数を有するワードサイズをエンコードして多様なラン長制限を生成することができる。遷移エンコーダは任意の適正ラン長制限を有することもでき、特定のラン長に限定されない。これはビットパディングや追加的なバイト-ワードアライメントハードウェアの必要性を除去し、これは送信機/受信機の設計を単純化してシステムコストを減らすことができる。
【0033】
図1aは本発明の一実施形態による直列データ通信システム1のブロック図である。図1bは本発明の一実施形態による直列データ通信システム1の送信機/受信機のブロック図である。
【0034】
図1aを参照すると、本発明の一実施形態による直列データ通信システム1は送信機10、通信チャネル(すなわち、直列通信チャネル)15および受信機20を含む。送信機10は入力データストリームに圧縮を行ったりエンコードを行って通信チャネル15(例:一つ以上の導体を備えた伝送線)を介して受信機20に伝送する伝送データを生成するデータ圧縮器および/またはエンコーダ12を含むことができる。受信機20は受信機20が受信したデータストリームに圧縮解除またはデコードを行って入力データストリームをリカバリするデータ圧縮解除器および/またはデコーダ22を含むことができる。受信機20はまた、クロックリカバリ回路24を含むことができる。
【0035】
本発明の一実施形態によれば、送信機10は遷移エンコーダ100を含み、遷移エンコーダ100は遷移が少なくとも特定の周波数に応じて発生するようにすることによって伝送データストリームをエンコードするが、ここで特定周波数は受信機20が通信チャネル15を介して伝送された(例えば、遷移エンコードされた)エンコーディングデータストリームからクロック信号を抽出できるようにする周波数である。すなわち、遷移エンコーダ100はエンコーディングデータストリームのラン長を制限する。
【0036】
図1bに示すように、送信機10と受信機20の構成要素が行う動作は「処理回路」または「処理器」または「プロセッサ」30によって具現されることができる。「処理回路」はハードウェア、ファームウェア、ソフトウェアまたはこれらの組み合わせを使用して具現することができる。処理回路は例えば、特定用途集積回路(ASIC)、汎用または専用中央処理装置(CPU)、デジタル信号処理器(DSP)、グラフィックス処理装置(GPU)、FPGAなどのプログラム可能な論理装置を含むことができる。処理回路において、それぞれの関数はその機能を行うハード・ワイヤード(hard-wired)ハードウェアまたは非一時的(non-transitory)保存媒体に保存された命令を行うCPUなどの汎用ハードウェアで行われることができる。処理回路は一つのプリント配線基板(PWB:printed wiring board)に製作されるか互いに連結されたPWBに分散配置されることができる。処理回路は他の処理回路を含むことができるが、例えばPWB上で互いに連結されたFPGAとCPUを含むことができる。プロセッサ30に従属するプロセッサメモリ32は命令を含むことができ、プロセッサ30はこの命令を実行すると図1a、図2ないし図4を参照して説明する動作を行うことができる。
【0037】
図2は本発明の一実施形態により多数のワードに分割されたパケットを示す。
【0038】
図1aおよび図2を参照すると、本発明の一実施形態では、遷移エンコーダ100が(データ圧縮器および/またはエンコーダ12によって圧縮/エンコードされているかそうでない)入力データを多数の入力データパケット(例:ビットストリーム)に分割する。各入力データパケット(入力パケットともいう)はN個のワード/ディジット(word/digit)に分割され、各ワード/ディジットはq個のビットを含む。したがって、データパケット(X)は次のように表すことができる。
【0039】
【数1】
【0040】
ここでx1,x2,…,xNは入力パケットをなすN個のワード/ディジットを示し、これらそれぞれは0と2-1の間の値を有する。図2の例で、各ワードは8ビットを含み(すなわち、q=8)、[0:255]範囲の値を有する。しかし、本発明の実施形態はこれに限定されず、各ワードが任意のビット数(例:6ビット、10ビットなど)を有することもできる。
【0041】
遷移エンコーダ100は各ワードをエンコード/スクランブル(scramble)して各ワード/ディジットに遷移を確保して伝送されたデータのラン長を所期の値に制限する。本発明の一実施形態では、遷移エンコーダ100がパケットのワードをこのような方式でエンコードしてラン長/2より大きい先頭(leading)または後端(trailing)のラン長を有するワードが伝送されることを防止する。8ビットワードおよび10の所期の伝送ラン長の例において、遷移エンコーダ100は次のようなワードを除去する。
000000xx
xx000000
111111xx
xx111111
【0042】
ここで「x」は0または1[「ドントケアビット(don’t-care bit)」]であり得る。ここで、二つの連続ワードで最悪のランシナリオはxx100000 000001xxおよびxx011111 111110xxであり、両方とも10のラン長を有する。
【0043】
受信した入力ワードをエンコードするために、遷移エンコーダ100は先に各入力ワードのビットをプレビット(PRB:pre bits)、グループIDビット(GID:group ID bits)およびポストビット(POB:post bits)に分割する。すなわち、各入力ワードは[PRB GID POB]で表すことができ、PRBが最上位ビット(MSB:most significant bits)、GIDが中間ビット(middle bits)、POBが最下位ビット(LSB:least significant bits)である。GIDにある中間ビット数は次のとおりである。
【0044】
【数2】
【0045】
ここでRLは所期のエンコーディングラン長を示し、WBLは入力ワードビット長を示す。前の例で、GIDのビット数は4(=10-8+2)である。したがって、前出の禁止ワード(forbidden words)は2ビットのPRB、4ビットのGID、および2ビットのPOBに分割され得、次の表1に示すとおりである。
【0046】
【表1】
【0047】
表1からわかるように、GIDがすべて0またはすべて1でなければ、禁止ワードは回避される。また、GIDがすべて0またはすべて1の場合、PRBとPOBは両方ともGIDと同じビットを有しない時のみ禁止ワードが回避されることができる。したがって、遷移エンコーダ100は多くのエンコードされたワードがすべて0またはすべて1であるGIDを有しないように入力ワードのGIDをエンコードし、すべて0またはすべて1であるGIDを有するエンコードワードがGIDと同様にすべて0またはすべて1を有しないようにPRBとPOBをエンコードする。
【0048】
本発明の一実施形態では、ワードが分割されると、入力ワードはそのGIDに基づいてグループ化される。ここで、同じGIDおよび補数(complement)(すなわち、1の補数)GID(例:0000 and 1111)を有するワードは共にグループ化される。すなわち、GIDがgビットを有すると、(2-1)/2より小さいGID値を有するワードはそのGIDとマッチするグループ数に編成され、(2-1)/2より大きいGID値を有するワードはその補数[逆(inverse)]GIDとマッチするグループ数に編成される。このように、入力ワードが編成されるグループの数は2g-1である。GIDに基づいて編成される入力ワードグループは正規ワード(regular word)とし、補数GIDに基づいて編成される入力ワードグループは補数ワード(complement word)とする。
【0049】
入力ワードを互いに異なるグループに編成することは下の表2の助けにより視角化することができる。表2の例で、例示したパケットの各入力ワードは8ビットであり、GIDは4ビット(すなわち、g=4)であり、PRBおよびPOBそれぞれは2ビットを有する。したがって、遷移エンコーダ100は入力ワードを8個のグループ(すなわち、0~7)に編成する。
【0050】
【表2】
【0051】
本発明の一実施形態では、遷移エンコーダ100が最小メンバーを有するグループ(例:表2のグループ1)またはしきい値(例:4)より小さい数のメンバーを有するグループを識別し、このグループをキーグループ(key group)という。キーグループ内のすべてのワードのGIDまたは補数GIDはグループGIDを示すことができる。表2の例で、グループ1はワードメンバー数が最小(すなわち、3)であり、キーグループとして識別されることができる。このグループ内のワードはGID(または補数GID)が0001である。このように、0001または1110はキーグループのGID(GID0で表記できる)として識別されることができる。本発明の一実施形態では、キーグループのGID(補数GIDではない)はGID0として選択される。GID0のMSBが0であると仮定し、GID0の残りのビット(例:表2の例で001)のみが受信機20に伝送されることができる。このような方式に合わせて、受信機20は送信機10から受けたGID0の残りのビット(例:001)に0のMSBを付け加えることができる。0のMSBを伝送しないことによって遷移エンコーダ100は減った数のオーバーヘッドビットを伝送する向上したエンコード効率を得ることができる。
【0052】
キーグループのGID0がメンバーワードのGID(例:GID0=0001)に基づく実施形態において、キーグループのPRBは任意の正規ワードのPRBおよび任意の補数ワードの補数PRBとして識別されることができる。キーグループのPRBとPOBはそれぞれPRB0とPOB0とすることができる。キーグループのGID0がメンバーワードの補数GID(例:GID0=1110)に基づく場合は、PRB0およびPOB0は、対応する正規メンバーワードの補数PRBおよび補数POBと対応する補数ワードのPRBおよびPOBからの欠落ビットパターン(missing bit pattern)に基づくことができる。
【0053】
次に、遷移エンコーダ100はキーグループのGID、PRBおよびPOBに基づいてエンコードキー値(coding key value)(単に「キー値」という)を生成する。本発明の一実施形態によれば、遷移エンコーダ100はキーグループのGIDをキー値(GID0)のGIDとして使用し、キー値のPRBおよびPOB(すなわち、PRB0 and POB0)をそれぞれキーグループのPRB0およびPOB0から欠落したビットパターンと決定する。一つ以上のビットパターンがPRB/POBから欠落している場合、欠落パターンのうちいずれもPRB0/POB0として使用することができる。表2の例で、GID0は0001であり、PRBは00であり、POBは00または01であり得る。したがって、キー値は[00 0001 00]、[00 0001 01]、[00 1110 00]または[00 1110 01]であり得る。ここで、キー値は入力ワードと同じビット数(すなわち、ビット長)を有する。
【0054】
パケットが31個のワードを含む表2の例で、少なくとも一つのグループは3個またはそれより少ない数のメンバーを有する。このように、キーグループのPRBおよびPOBから欠落した一つ以上のビットパターンを見つけることができる。この条件は入力パケットのワード数Nがグループ数にPRB/POBフィールドで可能なパターン数を掛けた値より小さい限り満たされる(表2の例で、8個のグループとPRBおよびPOBに4個のパターンがあるのでパケットサイズは8×4=32より小さい)。
【0055】
本発明の一実施形態では、遷移エンコーダ100がキー値を使用して入力ワードをエンコードして受信機20に伝送する複数のエンコードワードを含むエンコードされたパケットを生成する。各エンコードワードは対応入力ワードとキー値にXOR演算を行った結果である。このように、エンコードされたパケット(Y)は次のように表すことができる。
【0056】
【数3】
【0057】
ここでKはキー値を示し、x,x,…,xは入力パケットをなすN個の入力ワードを示し、記号^は2進XOR演算を記号化したものである。エンコードされたパケットがエンコードワードだけでなくキー値も含むのでエンコードされたパケットのワード長が変換されたパケットより1だけさらに大きい(すなわち、N+1個のワードを含む)。ここでは全体キーワードがエンコードワード(y)として受信機に伝送されるが、本発明の実施形態はこれに限定されない。例えば、遷移エンコーダ100が変更(された)キー値(K’)を作ってこれをキー値(K)の代わりに受信機20に伝送することができる。キー値のGID0のMSBが0であると仮定した実施形態において、遷移エンコーダ100は変更キー値(K’)をキー値(K)と同一にさせるが、GID0のMSBをGID0の次の上位ビット(next significant bit)の補数(complement)に代替することができる。例えば、表2を参照すると、キー値のGID0 0001である時、変更キー値のGID0は1001であり得る。これはK’に遷移があり、K’の伝送の間、ラン長が違背しないように保障するために行われる。このような実施形態で、エンコードされたパケット(Y)は次のように表すことができる。
【0058】
【数4】
【0059】
数式3、4はキー値/変更キー値をエンコードされたパケットの最初のワードとして表すが、本発明の実施形態はこれに限定されない。例えば、キー値/変更キー値はエンコードされたパケット(Y)の最後のワードであり得、または、受信機20がパケット内のキー値/変更キー値の位置を認識している限りパケット内の適切などの位置でも可能である。キー値/変更キー値が決定される方式のために、エンコードされたワードは受信機20が伝送されたパケットからクロックをリカバリすることができるようにする所期のラン長を示す。
【0060】
表2は例示の入力ワードと生成されたキー値に基づいて生成されたエンコードされた値を提供する。キー値のGID(および、これと同等に、キーグループのGID)はその定義によって他のグループのものとは異なるので、キー値と他のグループの入力ワードをXOR演算すると結果的なエンコードワードのGIDにビット遷移が発生する。したがって、表2に示すように、キー値のGIDはキーグループでないグループに対応する少なくともこのようなワードに対して10のラン長を保障する。また、キーグループのワードのPRBおよびPOBと異なるキー値のPRB0およびPOB0を使用することによって、キーグループ内のワードとキー値のXOR演算がエンコードされたワードのPRBおよびPOB両方にビット遷移(すなわち、連続する0と1ビット)を確実に起こすようにすることができる。その結果、キーグループ内のワードでさえエンコードされて所期のラン長(例:表2での10)を満たす。
【0061】
送信機10は通信チャネル15を介して受信機20にエンコードされたパケット(Y)を伝達する。エンコードされたパケット(Y)が(例えば式3にある)キー値(K)を含む実施形態で、受信機20がエンコードされたパケットを受信すると、遷移デコーダ200はキー値(例:受信したパケットの最初のワード)を識別し、キー値に基づいて残りのエンコードワードをデコードしてデコード(された)パケット(X’)を生成し、これは{x’,x’,…,x’}で表される。遷移デコーダ200は二番目およびその後のワードをキー値とXOR演算する。本発明の一実施形態では、デコード(された)ワード(x’)(iは1以上の整数)は次のように表すことができる。
【0062】
【数5】
【0063】
したがって、遷移デコーダ200はオリジナル入力ワードを再生することができる。エンコードされたパケットが(例えば、式4に示すキー値(K)の代わりに)変更キー値(K’)を含む実施形態で、遷移デコーダ200は変更キー値(例:受信したパケットでの最初のワード)を識別し、キー値のGID0のMSBを0に代替することによって変更キー値(K’)に基づいてキー値(K)を生成し、先立って説明したように、残りのエンコードされたワードをキー値(K)に基づいてデコードする。
【0064】
図3は本発明の一実施形態による入力データエンコーディング過程300を示す。
【0065】
遷移のために入力データを処理する際、遷移エンコーダ100は入力データ(例:入力データストリーム)を受信し、入力データを複数のデータパケットに分割し、入力データの入力パケットを識別する(S302)。入力パケットは複数の入力ワードを含み、各入力ワードはプレビット、グループIDビットおよびポストビットを含む。
【0066】
本発明の一実施形態では、遷移エンコーダ100が複数の入力ワードをそのグループIDビットに基づいて複数のグループに編成する(S304)。このようにするとき、遷移エンコーダ100は複数の入力ワードのうち同じグループIDビットと同じ補数グループIDビットを有するものを複数のグループのうち同じグループにグループ化する。本発明の一実施形態では、遷移エンコーダ100が複数の入力ワードのうち(2-1)/2より小さくて第1値と同じグループIDビット値を有するワードを一つにグループ化し、(2g-1)/2より大きくて第1値の補数と同じグループIDビット値を有するワードを同じグループの他の一つにグループ化する。グループの数はグループIDビット内のビット数の半分であり得る。
【0067】
本発明の一実施形態では、入力パケットが31個の入力ワードを含み、複数の入力ワードそれぞれは8ビットを含み、プレビットは複数の入力ワードのうち対応するワードの2つのMSBを含み、グループIDビットは対応ワードの4つの中間ビットを含み、ポストビットは対応ワードの2つのLSBを含み、複数のグループは8個のグループを含み、入力パケットのラン長は10である。次に遷移エンコーダ100は複数のグループのうち入力ワード数が最小であるキーグループを識別する(S306)。
【0068】
本発明の一実施形態では、遷移エンコーダ100が複数のワードのうちキーグループに対応するワードのプレビット、グループIDビットおよびポストビットに基づいてキー値を決定する(S308)。このようにするとき、遷移エンコーダ100はキーグループIDビットを複数のワードのうちキーグループに対応するワードのグループIDビットとして決定し、キープレビットを複数のワードのうちキーグループに対応するワードのプレビットから欠落したビットとして決定し、キーポストビットを複数のワードのうちキーグループに対応するワードのポストビットから欠落したビットとして決定し、キープレビット、キーグループIDビットおよびキーポストビットに基づいてキー値を生成する。ここで、キー値は複数の入力ワードのうち一つと同じビット長を有し、複数の入力ワードのうちいずれとも同じでない。
【0069】
遷移エンコーダ100はキー値および複数の入力ワードに基づいて複数のエンコード(された)ワードを生成する(S310)。複数のエンコードワードは第1エンコードワードおよび第2エンコードワードを含み、第1エンコードワードは少なくともキー値に基づき、第2エンコードワードはキー値と第1入力ワードに基づく。遷移エンコーダ100は第1エンコードワードをキー値として生成し、複数の入力ワードのうち一つとキー値に2進XOR演算を行うことによって第2エンコードワードを生成する。
【0070】
次に、遷移エンコーダ100はエンコードワードを含む伝送データを通信チャネル15を介して受信機20に伝送する。
【0071】
図4は本発明の一実施形態による伝送データデコーディング過程400を示す。
【0072】
本発明の一実施形態では、受信機20が複数のエンコードワードを含む伝送データを通信チャネル15を介して送信機10から受信する(S402)。エンコードワードは第1エンコードワードおよび第2エンコードワードを含む。本発明の一実施形態によれば、第1および第2エンコードワードは連続するワードであり得る。受信機20(例:遷移デコーダ200)は第1および第2エンコードワードに2進XOR演算を行って複数のデコード(された)ワードのうち第1デコードワードを生成することによって複数のデコードワードを生成する(S404)。第1エンコードワードのビット長は第1デコードワードと同一であってもよい。
【0073】
先立って説明した通り、本発明の一実施形態による遷移エンコーダ100は任意の適切なワードサイズを有するデータでもエンコードして任意の適切なラン長制限を生成することができる。本発明の一実施形態では、遷移エンコーダ100が特別な方式で入力データに基づいてキー値を決定することによってこのような所期の特性を可能にし、これはバイト-ワードアライメントハードウェアまたはビットパディングを具現する必要性をなくし、送信機/受信機の設計を簡単にし、全体システムコストを減らすことができる。また、本発明の一実施形態によれば、通信システム1は遷移エンコーディング方式にオーバーヘッドを加えずにこのような所期の効果を達成する。
【0074】
「第1」、「第2」、「第3」などの用語を様々な元素、成分、領域、層、部分などに使用するが、これらはこのような修飾語によって限定されない。このような用語はある元素、成分、領域、層、部分を他の元素、成分、領域、層、部分と区別するために使用するものであり、本発明の主旨および範囲から外れない。
【0075】
ここで使用された用語は特定の実施形態を説明することのみを目的としており、本発明を制限しようとするものではない。ここで数を特に言及しない限り単数または複数の場合をすべて含む。ある特徴、段階、動作、部分、成分などを「含む」という表現は該当部分の他に、他の特徴、段階、動作、部分、成分なども含み得ることを意味する。「および/または」という表現は羅列されたもの一つまたは二つ以上のすべての組み合わせを含む。また、本発明の実施形態を説明するときに使用する「することができる」という表現は「本発明の一つ以上の実施形態」に適用可能であることを意味する。「例示的な」という用語は例または図面を示す。
【0076】
「使用」、「利用」などはこれと類似の他の表現と共に同義の意味で使用されることができる。
【0077】
本発明の実施形態を説明する際「することができる(may)」の表現の使用は発明の一つ以上の実施形態と関連する。また「例示の(exemplary)」という用語は例を示すためのものである。
【0078】
以上では具体的な実施形態を挙げて詳細に説明したが、ここで説明した実施形態は本発明の範囲を記載したとおりに限定するためのものでない。当業者であれば前述した結合および動作の構造および方法を次の特許請求の範囲およびその等価物に表現された発明の原理および範囲から大きく外れることなく変更または修正できることを理解することができる。
【符号の説明】
【0079】
1 直列データ通信システム
10 送信機
12 データエンコーダ/圧縮機
15 通信チャネル
20 受信機
22 データデコーダ/圧縮解除器
24 クロックリカバリ回路
30 プロセッサ
32 プロセッサメモリ
100 遷移エンコーダ
200 遷移デコーダ
図1a
図1b
図2
図3
図4