JP3589648B2 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP3589648B2
JP3589648B2 JP2001356985A JP2001356985A JP3589648B2 JP 3589648 B2 JP3589648 B2 JP 3589648B2 JP 2001356985 A JP2001356985 A JP 2001356985A JP 2001356985 A JP2001356985 A JP 2001356985A JP 3589648 B2 JP3589648 B2 JP 3589648B2
Authority
JP
Japan
Prior art keywords
data
circuit
bits
output
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001356985A
Other languages
English (en)
Other versions
JP2002223442A (ja
Inventor
淳一 岡村
達男 辻田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
THine Electronics Inc
Original Assignee
THine Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/JP2001/000446 external-priority patent/WO2001091306A1/ja
Application filed by THine Electronics Inc filed Critical THine Electronics Inc
Priority to JP2001356985A priority Critical patent/JP3589648B2/ja
Publication of JP2002223442A publication Critical patent/JP2002223442A/ja
Application granted granted Critical
Publication of JP3589648B2 publication Critical patent/JP3589648B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般的に、半導体集積回路に関し、特に、ディジタル画像信号を高速伝送するための符号化回路を実現する半導体集積回路に関する。
【0002】
【従来の技術】
ディジタル画像信号の高速伝送方式の1つとして、DVI(Digital Visual Interface)の規格がある。以下においては、この規格を「DVI規格」といい、この規格に関する規格書を「DVI規格書」という。DVI規格書は、http://www.ddwg.org/downloads.htmlより入手することができる。本発明において扱う符号化方式は、DVI規格書Rev.1.0の28及び29ページに定められている。以下においては、この符号化方式を「DVI符号化方式」という。DVI符号化方式の基礎となる回路に関しては、USP第6026124号に記載されている。
【0003】
図1〜図3は、DVI符号化方式を示すフローチャートである。DVI規格において用いられる伝送方式は、送信側において、画像データのRGB(Red、Green、Blue)のそれぞれについての8ビットの入力データを10ビットに符号化し、その並列10ビットのデータを直列化(シリアル化)し、それらにクロック信号を加えた4つの差動ペア信号を伝送する方式である。
【0004】
DVI符号化方式は、8ビットの入力データを10ビットに符号化することで信号の隣り合うビット間での遷移の確率を最小化し、それと共に、”H”レベル(以下においては”1”と記述する場合もある)のビット数と”L”レベル(以下においては”0”と記述する場合もある)のビット数とのバランスをとっている。
【0005】
隣り合うビット間での遷移の確率を最小化することにより、並列10ビットのデータをシリアル化して伝送する際にデータのレベルが変化する回数が少なくなり、余分な電磁波の放出を低減させることができる。また、”H”レベルのビット数と”L”レベルのビット数とのバランスをとることにより、差動ペアで送られる信号において、ペア間の直流的な偏りが少なくなる。
【0006】
具体的には、単位時間において8ビットの画像データD[0:7]を1キャラクタ分入力し、10ビットのデータq_out[0:9]を1TMDSキャラクタ分出力する。TMDS(Transition Minimized Differential Signaling)とは、DVI規格の基礎となっている符号化方式であり、TMDSキャラクタとは、符号化された10ビット分のデータを意味する。この符号化は、信号DEが”H”レベルのときになされる。
【0007】
Cnt(t)は、連続する複数TMDSキャラクタ内で”1”の個数と”0”の個数とのバランスを保つために、時刻tにおいて内部レジスタに保持される値であり、”1”の個数から”0”の個数を減じた値と時刻(t−1)における内部レジスタの値Cnt(t−1)との和である。例えば、時刻tにおいて信号が「1011000001」であるとき、”1”の数4から、”0”の数6を減じた「−2」を時刻(t−1)における内部レジスタの値Cnt(t−1)に加えた値がCnt(t)となる。
【0008】
なお、図1〜図3において、N{x}は、多ビットの変数xの中に”1”がいくつ含まれているかを算出する式である。同様に、N{x}は、多ビット変数xの中に”0”がいくつ含まれているかを算出する式である。また、q_m[i](i=0、1、2、・・・、7)は、8ビットの入力データD[0:7]の隣り合うビット間の遷移数が少なくなるように処理を加えた結果である。
【0009】
隣り合うビット間の遷移数について、「10010010」という8ビットの入力データを例にとって説明する。入力データを左から右に順に見ていくと、”1”から”0”へ、又は、”0”から”1”へと値が遷移している部分が5ヶ所あるため、隣り合うビット間の遷移数は5となる。また、q_out[0:9]は、さらにDCバランスを取るための処理を加えた10ビットの符号化された出力データを表す。
【0010】
図1のステップS101に示すように、DVI規格書によると、信号の遷移の確率を最小化するために、8ビットの入力データの”H”レベルのビット数を数えて、「”H”レベルのビット数が4個よりも多い場合、又は、第0ビットが”L”レベルであり、かつ”H”レベルのビット数が4個である場合」と、そうでない場合とを判別する必要がある。
【0011】
”H”レベルのビット数が少ない場合には、図1のステップS102に示すように、XOR(エクスクルーシブOR)ゲートを用いた符号化により、隣り合うビット間の遷移の数を減らすことができる。また、”H”レベルのビット数が多い場合には、図1のステップS103に示すように、XNOR(エクスクルーシブNOR)ゲートを用いた符号化により、隣り合うビット間の遷移の数を減らすことができる。
【0012】
DVI規格書において図1のステップS101を実現する回路は、図4に示すように、ビットスライスアダー2と、条件判別回路3とを組み合わせて実現することができる。しかし、この回路は、最終結果が求まるまでに通らなければならないゲートの段数が多いために、信号処理に時間がかかってしまう。例えば、通常のCMOS方式の論理回路を用いた場合には、全加算器(FA)7〜10において、入力された信号は、桁上げ信号Cを求めるためにゲートを2段、和信号Sを求めるためにゲートを3段通る必要があり、半加算器(HA)4〜6において、入力された信号は、桁上げ信号Cを求めるためにゲートを2段、和信号Sを求めるためにゲートを2段通る必要がある。従って、ビットスライスアダー2の入力データは、条件判別回路3にたどりつくまでに最大10段ゲートを通らなければならない。最終的な結果を得るためには、この入力データは、条件判別回路3においてさらに数段ゲートを通る必要がある。
【0013】
また、図1のステップS102、S103に示すように、DVI規格によると、入力データの第0ビットと第1ビットとのXORもしくはXNORをとり、それ以降、その計算結果と隣のビットとのXORもしくはXNORを取っていくという処理を行うことにより、遷移の数が少なくなるようにしている。この動作を行う回路は、DVI規格書通りの解釈をすると、図5に示すような回路になる。この回路においては、XNORゲート11a〜11gとXORゲート12a〜12gとが並列に配置されていて、後段のセレクタ13でいずれかの結果を選ぶようになっている。この回路も、最後のビットが決まるまでに通るゲートの段数が多いという欠点を有している。
【0014】
次に、DVI規格によると、図2のステップS106及びS107において、出力コードのDC的なバランスを取るための判断が行われる。具体的には、時刻(t−1)における内部レジスタの値Cnt(t−1)が正か負か零かという判断が行われる。また、隣り合うビット間の遷移数を少なくする処理をした後の8ビットの信号q_m[0:7]について、”H”レベルのビットの個数と”L”レベルのビットの個数とをそれぞれ数え、”H”レベルのビット数の方が多いか、又は”L”レベルのビット数の方が多いか、又は、”H”レベルのビット数と”L”レベルのビット数とが等しいかという判断が行われる。
【0015】
その結果を受けて、図2のステップS110及びS111と図3のステップS112及びS113において、DCバランスが取れるように出力データq_out[0:9]の値を決めると共に、内部のレジスタの更新を行う。この動作と近い動作をする回路が、USP第6026124号のFIG.7Bに示されている。図6は、これに基づく回路の動作を説明するための簡略化したブロック図である。
【0016】
まず、隣り合うビット間の遷移数が少なくなるように符号化された信号q_m[0:7]を、2ビットづつに分ける。それぞれのビットの組について、ビットの値が”11”か”00”かを、”11”/”00”検出回路14a〜14dで評価する。もし2ビットの組の値が”01”もしくは”10”であれば、その2ビット内ではすでにDCバランスが取れているために無視する。その結果を受けて、カウンタ15及び16が、”11”と”00”の数をそれぞれ数える。2つのカウンタのカウント値の差を引算器17a及び17bで計算して、その結果と内部レジスタの値とq_m[8]の値とを条件判定回路18が評価する。条件判定回路18における評価結果に基づいて、引算器17aと17bとの内のいずれかの出力値をセレクタ19で選び、その出力値と条件判定回路18の出力値と4ビットレジスタ21に記憶されている値との和を4ビット加算器20で求め、4ビットレジスタ21に記憶されている値を更新すると共に、最終的な符号化結果を反転するか否かを表す信号q_out[9]を出力する。しかしながら、この回路は、遷移の数を少なくする回路の出力を受けて動作するために、最終的な結果が求まるまでに時間がかかるという欠点を有している。
【0017】
【発明が解決しようとする課題】
そこで、上記の点に鑑み、本発明は、DVI符号化方式における上記の欠点を克服し、少ないハードウェア量で高速に、かつ低消費電力で行うための符号化回路を実現する半導体集積回路を提供することを目的とする。
【0018】
以上の課題を解決するため、本発明の第1の観点に係る半導体集積回路は、8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、入力データの所定の7ビットの内で4ビット以上が第1のレベルであるか否かによって変化すると共に出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路と、第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路と、第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路とを具備する。
【0019】
従来のレベル数比較回路においては、8ビットの入力データを受けて条件を判断して出力の状態を切り換えていた。これに対し、本発明の第1の観点に係る半導体集積回路におけるレベル数比較回路によれば、7ビットで同等の機能を実現できるので、回路面積や消費電力の点で従来よりも有利である。
【0020】
本発明の第2の観点に係る半導体集積回路は、8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路であって、第1のデータに従って、8ビットの符号化された入力データの内の所定の4ビットを反転させるビット反転回路を含む遷移数低減回路と、第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路と、第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路とを具備する。
【0021】
本発明の第3の観点に係る半導体集積回路は、8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路と、第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路であって、出力データにおける第1のレベルのビット数と第2のレベルのビット数との差の半分の履歴を4ビット分記憶するためのレジスタと、第2のデータにおける第1のレベルのビット数と第2のレベルのビット数との差の半分を計算するためのレベル数差計算回路と、第1のデータとレジスタから出力されるデータとレベル数差計算回路から出力されるデータとを受けて、条件データを作成する条件判定回路と、条件データに従って、レベル数差計算回路から出力されるデータを反転させるビット反転回路と、第1のデータとレジスタから出力されるデータとビット反転回路から出力されるデータの和を計算してレジスタ出力する加算回路とを含むDCバランス回路と、第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路とを具備する。
【0022】
従来のDCバランス回路においては、加算回路に与える値を決めるために、2つの判断を行う必要があった。これに対し、本発明の第3の観点に係る半導体集積回路におけるDCバランス回路によれば、条件判定回路がレベル数差計算回路の出力を反転させるかさせないかという1つの条件のみを判断すれば、加算回路に与える値が求まる。
【0023】
本発明の第4の観点に係る半導体集積回路は、8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路と、第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路であって、第2のデータにおける第1のレベルのビット数と第2のレベルのビット数との差の半分を計算するためのレベル数差計算回路を含み、レベル数差計算回路が、第2のデータに加えて、8ビットの入力データの内の所定の4ビットを入力する、DCバランス回路と、第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路とを具備する。
【0024】
本発明の第5の観点に係る半導体集積回路は、8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路であって、第1のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第1の回路と、第2のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第2の回路と、第1のデータに従って、第1の回路から出力されるデータと第2の回路から出力されるデータとの内の一方を選択するセレクタとを含み、第1の回路及び/又は第2の回路が並列処理を行うことにより、直列に接続されるXORゲート及び/又はXNORゲートの段数を減少させた遷移数低減回路と、第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路と、第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路とを具備する。
【0025】
本発明の第6の観点に係る半導体集積回路は、8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路であって、第1のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第1の回路、又は、第2のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第2の回路と、第1のデータに従って1又は第2の回路から出力されるデータに含まれる8ビットの内の所定の4ビットを反転させるビット反転回路とを含み、第1又は第2の回路が並列処理を行うことにより、直列に接続されるXORゲート又はXNORゲートの段数を減少させた遷移数低減回路と、第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路と、第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路とを具備する。
【0026】
以上において、第1のレベルは、”H”レベルと”L”レベルとの内の一方を表し、第2のレベルは、”H”レベルと”L”レベルとの内の他方を表す。
【0027】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については同一の参照番号で示し、説明を省略する。
まず、本発明の一実施形態に係る半導体集積回路において用いられるアルゴリズムについてフローチャートを用いて説明し、その後に、そのアルゴリズムを実現するための半導体集積回路の構成について説明する。
【0028】
(1)アルゴリズムの説明
本発明は、図1〜図3に示すDVI符号化方式のフローと論理的に等価なフローが、図7と図8に示すようなフローによっても実現できること、及び、図7と図8のフローチャートに基づいて回路を構成した場合に、図1〜図3のフローチャートをそのまま回路化した場合と比べて効率がよく、少ないハードウェア資源で高速かつ低消費電力の回路が実現できることに着目してなされたものである。図1〜図3に示すフローチャートと比較して、図7と図8に示すフローチャートの方が、共通化できる部分をできるだけ共通化することにより、信号が分岐した際に行われる処理が少なくなっており、少ないハードウェア資源で実現できることが分る。
【0029】
まず、図1のステップS101〜S103は、図7のステップS501〜S504に置き換えることが可能である。
【0030】
(ステップS501の説明)
ステップS501は、図1のステップS101と、ステップS102及びS103におけるq_m[8]の値を代入する部分とを合わせた処理を行うステップである。ステップS101で行う条件判断をステップS501に示すような条件に置き換えることにより、信号処理を効率化することができる。
【0031】
すなわち、図1のステップS101においては、
(N {D}>4) OR (N {D}==4 AND D[0]==0)
という判別条件を用いるが、図7のステップS501においては、これと等価な、
{D[1:7]}>=4
という条件を用いている。
【0032】
(ステップS502〜S504の説明)
ステップS502においては、図1のステップS102におけるのと同様の計算式を用いてq_m[0:7]を求める。ただし、具体的な回路化においてはさらに効率化を行うが、それについては後述する。また、ステップS502においては、ステップS102ではなくステップS103におけるのと同様の計算式を用いるように変更することも可能である。
【0033】
次に、ステップS502〜S504を合わせて説明する。
図1〜図3のフローチャートの通りに実現した回路は、8ビット分のXORを用いたエンコーダ(ステップS102に相当)と、8ビット分のXNORを用いたエンコーダ(ステップS103に相当)と、それら2つのエンコーダの内の1つの結果を選択する8ビットのセレクタ(ステップS101に相当)によって構成される。しかしながら、同じ動作をする回路は、8ビット分のXORを用いたエンコーダと、4ビット分の反転回路のみで構成することが可能である。なぜならば、(8ビット分のXORを用いたエンコーダの結果)+(4ビット反転)=(8ビット分のXNORを用いたエンコーダの結果)となるからである。具体的には、(N{D[7:1]}>=4)のときに、次式が成立する。
【数1】
Figure 0003589648
【0034】
これらの式を書き下すと、次のようになる。
【数2】
Figure 0003589648
【0035】
ここで、偶数回のXNOR演算に対して、
【数3】
Figure 0003589648
の関係が成り立つことを利用すると、式(1)は、次のように変形できる。
【数4】
Figure 0003589648
【0036】
一方、(N{D[7:1]}<4)のときには、次式が成立する。
【数5】
Figure 0003589648
【0037】
これらの式を書き下すと、次のようになる。
【数6】
Figure 0003589648
【0038】
式(2)と式(3)とを比較すると、その差は、q_m[8]の場合を除いて、iが奇数であるビット(以下、奇数ビットという)のq_m[i]が反転しているだけである。従って、図1のステップS101における場合分けとステップS103における計算とを行うことなく、ステップS102におけるXORの計算のみを行ってq_m[0:8]を求めた上で、図7のステップS503及びS504における計算を行えば足りることが分かる。
以上のように、本発明においては、従来技術である図1のステップS101〜S103が、図7におけるステップS501〜S504のように置換されている。
【0039】
(ステップS505及びS506の説明)
図7のステップS505及びS506は、図1のステップS104及びS105と同じである。
【0040】
(ステップS507〜S514の説明)
図8のステップS507〜S514は、図2と図3のステップS106〜S113に対応する。
【0041】
ステップS110〜S113によると、カウンタの値の更新のためには、次の4つの式を条件に応じて使い分ける必要がある。
【数7】
Figure 0003589648
ここで、NはN{q_m[0:7]}を、NはN{q_m[0:7]}を表している。
【0042】
上記の式において、q_m[8]は、0又は1であるので、次のようになる。
【数8】
Figure 0003589648
2進数におけるnビットの引き算は、補数を用いた演算により次のように表すことができる。
【数9】
Figure 0003589648
ここで、記号“〜A”は、Aの全ビット反転を表している。例えば、A=1の場合には、−A=−1=1111であり、〜A+1=〜(0001)+1=1110+1=1111となる。
【0043】
このことと、NとNの差は必ず偶数になるために式全体を2で割ることができることとを利用して、Cnt/2をhCntと置き直すと以下の式になる。
【数10】
Figure 0003589648
ここで、N=(N−N)/2である。このように、カウンタ値hCntの計算は、全反転・1ビット加算・全加算の3つの演算で実現することができる。
【0044】
次に、ステップS110〜S113の各条件の計算について詳しく説明する。ステップS110においては、次の計算を行う。
【数11】
Figure 0003589648
ここで、最後の“1−(〜q_m[8])”という項は、q_m[8]が0のときには0となり、q_m[8]が1のときには1となるため、q_m[8]に置き換える事が可能である。従って、上式は、次のように表すことができる。
【数12】
Figure 0003589648
【0045】
また、ステップS111は、次のように置き換えられる。
【数13】
Figure 0003589648
さらに、ステップS112は、次のように置き換えられる。
【数14】
Figure 0003589648
ステップS112の条件が実行されるのは、ステップS109を見ると分るように、q_m[8]が0のときである。このため、hCnt(t)の計算式を次のように置き換えても構わない。
【数15】
Figure 0003589648
【0046】
また、ステップS113については、次のように表すことができる。
【数16】
Figure 0003589648
しかしながら、ステップS112の場合と同様に考えると、この計算はq_m[8]が1のときにのみ実行されるため、次のように表すことができる。
【数17】
Figure 0003589648
【0047】
これらの式変形を行うことで、ステップS110とS113、ステップS111とS112は全く同じ式で計算できるようになり、計算式は次のように2つの式に単純化される。
【数18】
Figure 0003589648
ここで、ステップS110とS113が実行されるときはNを反転し、ステップS111とS112が実行されるときにはNを反転しない。図8においては、ステップS507においてNを計算し、ステップS508においてNを反転するかしないかを判別する。その結果に応じて、ステップS509においてはNを反転せずに、ステップS510においてはNを反転して、ステップS511においてhCnt(t)の値を計算している。
【0048】
次に、ステップS509とS510で使われている今まで説明しなかったq_m[9]という値について説明する。この値は、最終的に、ステップS513及びS514においてq_out[9]にそのまま代入する値であり、従って、図2のステップS110及びS111と、図3のステップS108で用いられているq_out[9]と等価である。順に値を見てみると、ステップS110においては、q_out[9]は0である。さらに、ステップS111においては、q_out[9]は1である。次に、ステップS108においては、q_out[9]に〜q_m[8]を代入している。
【0049】
q_m[8]の値によって、ステップS112を実行するかステップS113を実行するかにフローが分かれるため、それぞれの場合について検討する。ステップS112においては、q_m[8]が0であるため、q_out[9]は1となる。ステップS113においては、q_m[8]が1であるため、q_out[9]は0となる。ということは、Nの反転条件と同様に、ステップS110とS113が同じq_out[9]の値を用い、ステップS111とS112が同じq_out[9]の値を用いるということが分る。
【0050】
次に、図8のステップS512〜S514において、最終的に出力する値であるq_out[0:9]を決めている。ステップS512においてq_m[9]が0か1かを判別し、その結果に応じて、ステップS513においてはq_m[0:9]をそのままq_out[0:9]として出力し、ステップS514においてはq_m[0:7]を反転してq_out[0:7]として出力している。これらの違いは、q_m[0:7]を反転するかしないかである。これについても、図2と図3の中では、ステップS106とS107で条件分岐してステップS108、S110、S111の3箇所で値を決めている。しかし、q_m[9]の値を求める際と同様に、ステップS108において代入している値は結局q_m[8]に依存しているため、ステップS109で分岐した後のステップS112とS113のどちらを実行するかによって決まる。
【0051】
ステップS110〜S113において、q_m[0:7]が反転されるか否かについて検討する。ステップS110においては、q_m[0:7]を反転していない。ステップS111においては、q_m[0:7]を反転している。ステップS112においては、q_m[8]が0であるために、q_m[0:7]を反転する。ステップS113においては、q_m[8]が1であるために、q_m[0:7]を反転しない。つまり、q_out[0:9]を決めるときにも、ステップS110とS113、ステップS111とS112は、それぞれ同じ処理を行っても良いことが分る。
【0052】
以上のように、本実施形態においては、従来技術である図2と図3のステップS106〜S113が、図8におけるステップS507〜S514のように置換されている。なお、図7と図8に示すアルゴリズムは、次に説明する図10の回路構成に対応させるため冗長な部分があるが、アルゴリズムのみを考慮したフローチャート(後半部)は、図9に示すように、より簡単なものとなる。
【0053】
(2)半導体集積回路の説明
図10は、図7と図8のフローチャートを回路化したブロック図である。以下、図10を参照しながら、本発明の一実施形態に係る半導体集積回路によって実現される符号化回路の構成について説明する。
【0054】
まず、8ビットの入力データD[0:7]のうち、2ビット目から8ビット目までの7ビット分の信号D[1:7]が、レベル数比較回路22に供給される。レベル数比較回路22は、供給された7ビットのデータの内の”H”レベルのビット数を数えて、そのビット数が4よりも大きいか小さいかを判断して出力を発生する。その出力は、遷移数低減回路23及びDCバランス回路24に加えられるほか、q_out[8]として出力される。
【0055】
それとは別に、8ビットの入力データD[0:7]は、遷移数低減回路23に供給される。ここで符号化した結果とレベル数比較回路22の出力とに基づいて、隣り合うビット間の遷移数を低減した8ビットのデータが出力される。遷移低減回路23の出力は、出力反転回路25に加えられる。出力反転回路25は、DCバランス回路24の出力に従って、全てのビットをそのまま又は反転して、q_out[0:7]として出力する。また、遷移数低減回路23の出力は、DCバランス回路24にも加えられる。
【0056】
DCバランス回路24は、遷移数低減回路23の出力データと入力データD[0:7]との内で変数が奇数であるビットのデータD[1]、D[3]、D[5]、D[7]と、レベル数比較回路22の出力とを受けて、現在のデータのDCバランスを計算し、内部レジスタに保持している過去に出力したデータのDCバランスと合わせてカウンタの値を求め、その値を新たな値としてレジスタに保持すると共に、その時点で出力するデータを反転するか反転しないかを示す出力信号を出力反転回路25に供給する。
【0057】
また、DCバランス回路24は、DE信号が”L”レベルのときに、4ビットの内部レジスタの値をクリアする。なお、DE信号が”L”レベルのときに、Commaと呼ばれる同期を取るために挿入される特殊なデータを出力する必要があるが、本発明はDE信号が”H”レベルのときの符号化回路の実現方法を問題としているため、Commaを生成するための回路については省略する。以上のようにして、DVI規格に従った符号化が行われる。
【0058】
図7と図8のフローチャートと、図10のブロック図の対応は、以下の通りである。
図7のステップS501 :図10の参照番号22
図7のステップS502 :図10の参照番号23
図7のステップS503、S504:図10の参照番号26
図8のステップS507 :図10の参照番号27
図8のステップS508 :図10の参照番号28
図8のステップS509、S510:図10の参照番号29
図8のステップS511 :図10の参照番号30、31
図8のステップS512〜S514:図10の参照番号25
【0059】
図10に示す各部の動作について、さらに詳しく説明する。
まず、レベル数比較回路22について説明する。図7のフローチャートにおいては、ステップS501の部分に相当する。
【0060】
レベル数比較回路22は、入力データ中の”H”レベルのビット数を数え、4個以上あるか否かを判断する回路である。DVI規格書によると、次のように規定されている。
(N {D}>4) OR (N {D}==4 AND D[0]==0)
従って、8ビットの入力データD[7:0]を評価して、”H”レベルのビット数が4個よりも多い場合と、D[0]が”L” レベルのときに”H” レベルのビット数が4個である場合とを検出しなればならない。しかし、この条件は、D[0]のビットを評価しなくても良いように変形できる。すなわち、上式は次式と等価である。
{D[1:7]}>=4
従って、D[1:7]の7ビットの入力データの内で、”H”レベルのビット数が4以上であるか否かを判断すれば良い。この式を用いることにより、評価に必要なビット数が1ビット少なくなる。またD[0]の値により場合分けしていたものが場合分けしなくても良くなるので、条件判断回路が不要となり、回路規模が小さく回路動作が高速になるという利点がある。
【0061】
図11に、このアルゴリズムを具体的な回路として構成した例を示す。前述したように、レベル数比較回路は、7ビットのデータ中に”1”のビット数が4個よりも多いか少ないかを判別する回路である。入力データに含まれている7ビットデータD[7:1]を、D[6:1]の6ビットとD[7]の1ビットとに分ける。6ビットの部分については、さらに2ビットづつに分ける。それらを、D[2i−1]、D[2i](i=1、2、3)とする。ここで、
【数19】
Figure 0003589648
とすると、2つのビットが”00”のときにNN[i]が”1”になり、2つのビットが”11”のときにPP[i]が”1”になる。このため、NN[i]もPP[i]も”0”の場合には、2つのビットは”01”であるか”10” であるかのいずれかになる。NN[1]、NN[2]、NN[3]の内で”1”になっている個数と、PP[1]、PP[2]、PP[3]の内で”1”になっている個数と、D[7]が”0” であるか”1” であるかとの条件によって場合分けをして、D[7:1]の7ビットの中に”1”が4個以上あるケースを選び出すと、以下のようになる。
【表1】
Figure 0003589648
【0062】
NN[i]==”1”となる個数が0個であるという条件をNN0とすると、この条件は次式でチェックできる。
【数20】
Figure 0003589648
NN[i]==”1”となる個数が1個であるという条件をNN1とすると、この条件は次式でチェックできる。
【数21】
Figure 0003589648
【0063】
PP[i]==”1”となる個数が0個以外であるという条件をPP0_とすると、この条件は次式でチェックできる。
【数22】
Figure 0003589648
PP[i]==”1”となる個数が2個であるという条件をPP2とすると、この条件は次式でチェックできる。
【数23】
Figure 0003589648
【0064】
これらの条件式を使用して、D[7:1]の7ビットのデータ中に”1”が4個以上あるための条件式を整理すると、
【数24】
Figure 0003589648
と表すことができる。
【0065】
この式を用いると、理想的にはゲート5段の遅延で求めることができる。しかし、バッファとして挿入しているインバータが14個、トランジスタ数で28個分あり、それらを加えて図11に示した回路ではトランジスタ数130個、クリティカルパスの長さはゲート8段分となっている。同様の回路は、フルアダーを用いたビットスライスアダーによって構成することも可能である。この場合、単純に計算してトランジスタ数で112個、クリティカルパスの長さは理想的にはゲート8段分になる。しかし、実際に半導体集積回路として実現するためには途中にバッファ等を挿入する可能性があるため、本実施形態における回路を用いることにより、同等の回路規模で少ないゲート遅延の回路を実現できる。
【0066】
次に、図10の遷移数低減回路23(ビット反転部26を含む)について説明する。図7のフローチャートではステップS502〜S504の部分に相当する。
遷移数低減回路23は、図1に示すステップS102の演算を行う回路を実現したものである。すなわち、遷移数低減回路23は、図12に示すように、レベル数比較回路22の出力をq_m[8]として、XNORゲート11a〜11gをベースにした符号化を行った後、奇数ビットを反転させるビット反転回路26(図7のステップS503、S504に相当)に通すという形で実現できる。また、同様にして、図13に示すように、XORゲート12a〜12gをベースにした符号化を行った後、奇数ビットを反転させるビット反転回路26に通すという形でも実現できる。
【0067】
図12及び図13に示す回路は、図5に示す従来の遷移数低減回路と比較して、7個のXNORゲート11a〜11gと7個のXORゲート12a〜12gとの内のいずれかを削減できるだけでなく、図5のセレクタ13を、奇数ビットを反転させる回路26によって置き換えることができるので、必要とされるトランジスタの数がCMOS回路では半分になる。このため、回路を構成するトランジスタの数がおよそ半分になり、それと共に、消費電力も削減される。
【0068】
また、遷移数低減回路23は、さらに効率の良い図14に示す回路として実現することが可能である。図14の破線で囲っていない部分(ビット反転回路26以外の部分)が、図7のステップS502を実現する回路である。
この部分は、DVI規格(図1のステップS102)の通りに計算すると
【数25】
Figure 0003589648
となり、q_m[7]を求めるためには、q_m[0]から順にq_m[6]まで求めなければならないために時間がかかる。
【0069】
そこで、次のように置き換える。
【数26】
Figure 0003589648
このように、q_m[5]〜q_m[7]については、括弧の中を先に並列に計算しておいてq_m[3]とXORを取ることで早く計算結果を得ることができる。しかし、これでもq_m[3]が求まるまでにXORゲートを3段通らなければならない。
【0070】
このため、さらに並列化を行う。
【数27】
Figure 0003589648
【0071】
このように計算を行うことでq_m[3]が求まるまでにXORゲートを2段、最も時間がかかるものでもXORゲートを3段通るだけで結果が求まるようになる。ゲート数は増えるものの、XORゲートを7段通らないと求まらなかった結果が3段で求まるようになり、短い遅延時間で出力を求められる回路になっている。
【0072】
図14の破線で囲った部分はビット反転回路26であり、図7のフローチャートのステップS503とS504で表される部分であることは、図12、図13の場合と同様である。q_m[8]の値に応じて奇数ビットを反転させている。また、この回路は、図12と図13との関係と同様に、XORゲートだけでなくXNORゲートを用いても同様の機能の回路を実現することができる。
【0073】
次に、図10に示すDCバランス回路24について説明する。
DCバランス回路24は、遷移数低減回路23の8ビットの出力データにおいて”H”レベルのビット数が多いのか”L”レベルのビット数が多いのかを内部レジスタを含めて判断し、最終的な出力を反転するか否かを決定して、出力データが複数のTMDSキャラクタ内においてDC的にバランスがとれるようにするための回路である。
【0074】
このDCバランス回路24は、8ビットのデータのうち”H” レベルのビット数と”L” レベルのビット数の差の半分を計算するレベル数差計算回路27と、所定の条件を計算する条件判定回路28と、条件判定回路28によって与えられる条件に従って入力4ビットを反転させるビット反転回路29と、キャリー入力付の4ビット全加算回路30と、過去のDCバランス状態を記憶する4ビットレジスタ31とによって構成されている。
【0075】
従来の条件判定回路は、カウンタの値を計算する式を4種類持っていたため、内部カウンタの値Cnt(t−1)に加える値として(N−N)と(N−N)とのどちらを選ぶのかという判断と、q_m[8]を加えるか否かという判断との2つの判断を行う必要があった。一方、本発明によれば、条件判定回路28において、カウンタの値を計算する式が2種類で足りるため、Nを反転させるか反転させないかという1つの条件のみを判断すれば良い。
【0076】
また、従来のレベル数差計算回路は、図6の参照番号17aと17bで示すように、NとNの2つの引き算回路を必要とする。これに対し、本実施形態においては、セレクタ19の代わりに、図10に示すようにビット反転回路29を用いるので、引き算回路が1つで足り、ハードウェア量が少なくなる。このため、図6に示す従来の回路構成と比較して、本実施形態によれば、レベル数差計算回路27及び条件判定回路28が簡単になるのでハードウェア量が少なくなり、消費電力を低減できる。
【0077】
次に、DCバランス回路24を構成するレベル数差計算回路27(図8のフローチャートのステップS507に相当)について、さらに詳しく述べる。
レベル数差計算回路27は、遷移数低減回路23の出力を受けて、”L” レベルのビット数と”H” レベルのビット数の差の半分(これを、Nと表す)を計算する回路である。ここで、次の関係がある。
(N{q_m[0:7]}−N{q_m[0:7]})/2
=4−N{q_m[0:7]}
=N{q_m[0:7]}−4
【0078】
このため、N{q_m[0:7]}が奇数ならばNも奇数であり、N{q_m[0:7]}が偶数ならばNも偶数であるということが分る。Nを2進数で表現した場合に、偶数か奇数かということは最下位ビットが”L”レベルか”H”レベルかということと等価である。従って、N{q_m[0:7]}が偶数か奇数かを判断することにより、Nの最下位のビットを求めることができる。
【0079】
8ビットのデータq_m[0]〜q_m[7]の和が偶数か奇数であるかは、式(4)によって求めることができる。
【数28】
Figure 0003589648
【0080】
q_m[n]の定義と、同じもの同士のXORは”L”になるということを利用して変形をすると、式(5)の関係がある。
【数29】
Figure 0003589648
【0081】
数式(4)を数式(5)を用いて変形すると、式(6)が得られる。
【数30】
Figure 0003589648
これを見ると分るように、Nの最下位のビットはD[1]、D[3]、D[5]、D[7]の4ビットで計算できる。従って、Nの最下位ビットは、遷移数低減回路23を通すことなく求めることができるため、遷移数低減回路23の遅延時間分だけ速く求めることができる。
【0082】
図15に、本実施形態におけるレベル数差計算回路の構成を示す。”11”/”00” 検出回路14a〜14dは、遷移数低減回路23の出力q_m[0]〜q_m[7]を受けて、入力の2ビットが”11”であるか”00”であるかを検出する。カウンタ回路34aと34bは、それらの出力を受けて、q_m[0]〜q_m[3]又はq_m[4]〜q_m[7]の4ビット分の”00”の個数と”11”の個数の差である”00”−”11”をそれぞれ計算する。”00”−”11”は、”0”の個数と”1”の個数との差の半分である(”0”−”1”)/2と等しいため、カウンタ回路34aと34bの出力を加算器35で加えることにより、Nを求めることができる。
【0083】
通常、加算回路は下位のビットから順に計算していくため、上位のビットが求まるまでに時間がかかる。一方、本発明によれば、下位ビット計算回路36を用いて最下位のビットをあらかじめ計算しておくことができるため、速く計算を行うことができる。しかも、D[1]、D[3]、D[5]、D[7]の4ビットの少ない入力データに基づいて下位ビットを計算することができるので、ハードウェア量が増加することはない。
【0084】
図16に、図15のレベル数差計算回路のより具体的な構成を示す。
q_m[0]〜q_m[7]において、“0”のビット数(N)と“1”のビット数(N)との差の半分を求める。このために、まずq_m[0]〜q_m[3]における“0”のビット数と“1”のビット数との差の半分と、q_m[4]〜q_m[7]における“0”のビット数と“1”のビット数との差の半分とを求める。得られた3ビットのデータ同士を足し算して、q_m[0]〜q_m[7]における“0”のビット数と“1”のビット数との差の半分を求める。
【0085】
このとき、最下位ビットは、図中の破線で囲ってある下位ビット計算回路36において求められ、遷移数低減部23の出力結果を用いる必要がない。このため、本実施形態によれば、遷移数低減回路23の結果が求められてから計算を開始するよりも、早く結果を求めることができる。
【0086】
このアルゴリズムについて、もう少し詳しく説明する。
q_m[0:3]における0の数と1の数との差は、−2〜2までの3ビットのデータS0、S1、S2で表される。
【表2】
Figure 0003589648
【0087】
S0、S1、S2のそれぞれに対して論理式を作ると、以下のようになる。
【数31】
Figure 0003589648
ここで、次の条件を用いて簡単化する。
【数32】
Figure 0003589648
【0088】
その結果、上記論理式は次のようになる。
【数33】
Figure 0003589648
【0089】
q_m[4:7]についても同様に、0の数と1の数との差を、−2〜2までの3ビットのデータT0、T1、T2で表す。
【数34】
Figure 0003589648
S0〜S2とT0〜T2を足し算して、(N−N)/2を求める。
【0090】
次に、DCバランス回路24に含まれているカウンタ更新部について説明する。カウンタ更新部は、図10において、参照番号28〜31で表されている部分である。図8のフローチャートにおいては、ステップS508〜S511に相当する。
【0091】
図17に、DCバランス回路に含まれているカウンタ更新部の構成を示す。フローチャートにおいて説明したように、重複する処理が共通化されているため、条件判定回路28の出力を受けて、ビット反転回路29がNのビットを反転し、その結果と4ビットレジスタ31の出力とq_m[8]とを加算回路30において加えるだけの単純な構成となっている。このため、本実施形態の回路構成においては、従来の回路構成に比べ、ハードウェア量が少なく、消費電力も少なくなっている。
【0092】
【発明の効果】
以上述べたように、本発明によれば、本発明は、DVI符号化方式における欠点を克服し、少ないハードウェア量で高速に、かつ低消費電力で行うための符号化回路を実現する半導体集積回路を提供することができる。
【図面の簡単な説明】
【図1】DVI符号化方式を示すフローチャートである。
【図2】DVI符号化方式を示すフローチャートである。
【図3】DVI符号化方式を示すフローチャートである。
【図4】従来の符号化器に含まれるレベル数比較回路の構成を示す図である。
【図5】従来の符号化器に含まれる遷移数低減回路の構成を示す図である。
【図6】従来の符号化器に含まれるDCバランス回路の構成を示すブロック図である。
【図7】本発明の一実施形態に係る半導体集積回路において用いられるアルゴリズムを示すフローチャートである。
【図8】本発明の一実施形態に係る半導体集積回路において用いられるアルゴリズムを示すフローチャートである。
【図9】本発明の一実施形態に係る半導体集積回路において用いることが可能な単純化されたアルゴリズムを示すフローチャート(後半部)である。
【図10】本発明の一実施形態に係る半導体集積回路によって実現される符号化回路の構成を示すブロック図である。
【図11】本発明の一実施形態に係る半導体集積回路に含まれるレベル数比較回路の構成例を示す回路図である。
【図12】本発明の一実施形態に係る半導体集積回路に含まれる遷移数低減回路の構成例を示す回路図である。
【図13】本発明の一実施形態に係る半導体集積回路に含まれる遷移数低減回路の他の構成例を示す回路図である。
【図14】本発明の一実施形態に係る半導体集積回路に含まれる遷移数低減回路のさらに別の構成例を示す回路図である。
【図15】本発明の一実施形態に係る半導体集積回路に含まれるDCバランス回路内のレベル数差計算回路の構成例を示すブロック図である。
【図16】本発明の一実施形態に係る半導体集積回路に含まれるDCバランス回路内のレベル数差計算回路の構成例を示す図である。
【図17】本発明の一実施形態に係る半導体集積回路に含まれるDCバランス回路内のカウンタ更新部の構成例を示す図である。
【符号の説明】
2 ビットスライスアダー
3 条件判別回路
4〜6 半加算器(HA)
7〜10 全加算器(FA)
11a〜11g XNORゲート
12a〜12g XORゲート
13 セレクタ
14a〜14d “11”/”00”検出回路
15、16 カウンタ
17a、17b 引算器
18 条件判定回路
19 セレクタ
20 4ビット加算器
21 4ビットレジスタ
22 レベル数比較回路
23 遷移数低減回路
24 DCバランス回路
25 出力反転回路
26 ビット反転回路
27 レベル数差計算回路
28 条件判定回路
29 ビット反転回路
30 4ビット全加算回路
31 4ビットレジスタ
34a、34b カウンタ回路
35 加算器
36 下位ビット計算回路

Claims (13)

  1. 8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、
    入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、入力データの所定の7ビットの内で4ビット以上が第1のレベルであるか否かによって変化すると共に出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、
    第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路と、
    第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路と、
    第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路と、
    を具備する半導体集積回路。
  2. 前記遷移数低減回路が、前記レベル数比較回路から出力される第1のデータに従って、8ビットの符号化された入力データの内の所定の4ビットを反転させるビット反転回路を含む、請求項1記載の半導体集積回路。
  3. 8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、
    入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、
    第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路であって、第1のデータに従って、8ビットの符号化された入力データの内の所定の4ビットを反転させるビット反転回路を含む前記遷移数低減回路と、
    第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一 部を構成する第3のデータを出力するDCバランス回路と、
    第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路と、
    を具備する半導体集積回路。
  4. 前記DCバランス回路が、
    出力データにおける第1のレベルのビット数と第2のレベルのビット数との差の半分の履歴を4ビット分記憶するためのレジスタと、
    前記遷移数低減回路から出力される第2のデータにおける第1のレベルのビット数と第2のレベルのビット数との差の半分を計算するためのレベル数差計算回路と、
    前記レベル数比較回路から出力される第1のデータと前記レジスタから出力されるデータと前記レベル数差計算回路から出力されるデータとを受けて、条件データを作成する条件判定回路と、
    条件データに従って、前記レベル数差計算回路から出力されるデータを反転させるビット反転回路と、
    前記レベル数比較回路から出力される第1のデータと前記レジスタから出力されるデータと前記ビット反転回路から出力されるデータの和を計算して前記レジスタ出力する加算回路と、
    を含む、請求項1〜3のいずれか1項記載の半導体集積回路。
  5. 8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、
    入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、
    第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路と、
    第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路であって、出力データにおける第1のレベルのビット数と第2のレベルのビット数との差の半分の履歴を4ビット分記憶するためのレジスタと、第2のデータにおける第1のレベルのビット数と第2のレベルのビット数との差の半分を計算するためのレベル数差計算回路と、第1のデータと前記レジスタから出力されるデータと前記レベル数差計算回路から出力されるデータとを受けて、条件データを作成する条件判定回路と、条件データに従って、前記レベル数差計算回路から出力されるデータを反転させるビット反転回路と、第1のデータと前記レジスタから出力されるデータと前記ビット反転回路から出力されるデータの和を計算して前記レジスタ出力する加算回路とを含む前記DCバランス回路と、
    第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路と、
    を具備する半導体集積回路。
  6. 前記レベル数差計算回路が、前記遷移数低減回路から出力される第2のデータに加えて、8ビットの入力データの内の所定の4ビットを入力する、請求項4又は5記載の半導体集積回路。
  7. 前記DCバランス回路が、前記遷移数低減回路から出力される第2のデータにおける第1のレベルのビット数と第2のレベルのビット数との差の半分を計算するためのレベル数差計算回路を含み、前記レベル数差計算回路が、第2のデータに加えて、8ビットの入力データの内の所定の4ビットを入力する、請求項1〜3のいずれか1項記載の半導体集積回路。
  8. 8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、
    入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、
    第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路と、
    第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一 部を構成する第3のデータを出力するDCバランス回路であって、第2のデータにおける第1のレベルのビット数と第2のレベルのビット数との差の半分を計算するためのレベル数差計算回路を含み、前記レベル数差計算回路が、第2のデータに加えて、8ビットの入力データの内の所定の4ビットを入力する、前記DCバランス回路と、
    第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路と、
    を具備する半導体集積回路。
  9. 前記遷移数低減回路が、
    記第1のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第1の回路と、
    記第2のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第2の回路と、
    前記レベル数比較回路から出力される第1のデータに従って、前記第1の回路から出力されるデータと前記第2の回路から出力されるデータとの内の一方を選択するセレクタと、
    を含み、前記第1の回路及び/又は前記第2の回路が並列処理を行うことにより、直列に接続されるXORゲート及び/又はXNORゲートの段数を減少させた、請求項1〜8のいずれか1項記載の半導体集積回路。
  10. 8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、
    入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、
    第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路であって、前記第1のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第1の回路と、前記第2のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第2の回路と、第1のデータに従って、前記第1の回路から出力されるデータと前記第2の回路から出力されるデータとの内の一方を選択するセレクタとを含み、前記第1の回路及び/又は前記第2の回路が並列処理を行うことにより、直列に接続されるXORゲート及び/又はXNORゲートの段数を減少させた前記遷移数低減回路と、
    第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路と、
    第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路と、
    を具備する半導体集積回路。
  11. 前記遷移数低減回路が、
    記第1のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第1の回路、又は、前記第2のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第2の回路と、
    前記レベル数比較回路から出力される第1のデータに従って、前記第1又は第2の回路から出力されるデータに含まれる8ビットの内の所定の4ビットを反転させるビット反転回路と、
    を含み、前記第1又は第2の回路が並列処理を行うことにより、直列に接続されるXORゲート又はXNORゲートの段数を減少させた、請求項1〜のいずれか1項記載の半導体集積回路。
  12. 8ビットの入力データを10ビットの出力デ−タに符号化する半導体集積回路であって、
    入力データの所定の複数ビットにおける第1のレベルのビット数と第2のレベルのビット数とを比較して、出力デ−タの一部を構成する第1のデータを出力するレベル数比較回路と、
    第1のデータに従って、入力データの隣合うビット間の遷移の数を低減させて、8ビットの第2のデータを出力する遷移数低減回路であって、前記第1のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第1の回路、又は、前記第2のレベルのビット数が所定の値よりも大きい場合に、入力データの隣合うビット間の遷移の数を低減させる第2の回路と、第1のデータに従って前記第1又は第2の回路から出力されるデータに含まれる8ビットの内の所定の4ビットを反転させるビット反転回路とを含み、前記第1又は第2の回路が並列処理を行うことにより、直列に接続されるXORゲート又はXNORゲートの段数を減少させた前記遷移数低減回路と、
    第1及び第2のデータに従って、10ビットの出力デ−タにおける第1のレベルのビット数と第2のレベルのビット数とのバランスをとって、出力デ−タの一部を構成する第3のデータを出力するDCバランス回路と、
    第3のデータに従って、第2のデータを反転させて、出力デ−タの一部を構成する第4のデータを出力する出力反転回路と、
    を具備する半導体集積回路。
  13. 前記第1又は第2の回路において、直列に接続されるXORゲート又はXNORゲートの段数が最大3段である、請求項9〜12のいずれか1項記載の半導体集積回路。
JP2001356985A 2001-01-24 2001-11-22 半導体集積回路 Expired - Fee Related JP3589648B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001356985A JP3589648B2 (ja) 2001-01-24 2001-11-22 半導体集積回路

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
PCT/JP2001/000446 WO2001091306A1 (fr) 2000-05-24 2001-01-24 Codeur pour transmission d'une image numerique
TW90111989 2001-05-18
TW90111989A TW515084B (en) 2000-05-24 2001-05-18 Semiconductor integrated circuit
TW01/00446 2001-05-18
JP2001356985A JP3589648B2 (ja) 2001-01-24 2001-11-22 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2002223442A JP2002223442A (ja) 2002-08-09
JP3589648B2 true JP3589648B2 (ja) 2004-11-17

Family

ID=33518534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001356985A Expired - Fee Related JP3589648B2 (ja) 2001-01-24 2001-11-22 半導体集積回路

Country Status (1)

Country Link
JP (1) JP3589648B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902088B2 (en) 2012-09-18 2014-12-02 Samsung Electronics Co., Ltd. Minimum energy coding method and apparatus for performing direct current (DC) balancing in body area network or low power network

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014186629A1 (en) * 2013-05-16 2014-11-20 Silicon Image, Inc. Encoding guard band data for transmission via a communications interface utilizing transition-minimized differential signaling (tmds) coding
US9665527B2 (en) * 2014-12-09 2017-05-30 Intel Corporation Dynamic bus inversion with programmable termination level to maintain programmable target ratio of ones and zeros in signal lines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902088B2 (en) 2012-09-18 2014-12-02 Samsung Electronics Co., Ltd. Minimum energy coding method and apparatus for performing direct current (DC) balancing in body area network or low power network

Also Published As

Publication number Publication date
JP2002223442A (ja) 2002-08-09

Similar Documents

Publication Publication Date Title
EP0471130B1 (en) Coding method and apparatus for pipelined and parallel processing
US6446107B1 (en) Circuitry for performing operations on binary numbers
US7120894B2 (en) Pass-transistor logic circuit and a method of designing thereof
EP0493835B1 (en) An arithmetic operation unit having bit inversion function
US20080282135A1 (en) Parity generator, priority encoder, and information processor
JP3589648B2 (ja) 半導体集積回路
US6362645B2 (en) Logic circuits and carry-lookahead circuits
US7095895B2 (en) Semiconductor integrated circuit for realizing coding circuit
US5450338A (en) Add-compare-select device
WO2005086675A2 (en) Arithmetic circuit with balanced logic levels for low-power operation
US6003059A (en) Carry select adder using two level selectors
US7057546B1 (en) Binary priority encoder
KR0146065B1 (ko) 절대값 계산 회로
JP4038634B2 (ja) Fod回路
JP2004171491A (ja) 加算回路および加算回路を備えた半導体装置
US6115424A (en) Coding method of dividing information block serving as conversion unit into a plurality of sub-blocks to perform coding for each sub-block, and coding apparatus
CN110598172B (zh) 一种基于csa加法器的卷积运算方法和电路
KR100201030B1 (ko) 이진-선택 인코더 네트워크
CN112953556A (zh) 基于斐波那契数列的抗串扰互联的编解码器及编码方法
US20040158599A1 (en) Fast incrementer using zero detection and increment method thereof
JP2000278538A (ja) 算術符号化・復号化装置および方法
KR100265619B1 (ko) 저전력 가산기
KR100206119B1 (ko) 가산기
JPH06242926A (ja) 加算器
JP4803829B2 (ja) ビットカウント方法およびビットカウント回路

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040817

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070827

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees