(57)【特許請求の範囲】
【請求項１】
多数の入力コードと各入力コードに関連するコード・レングスとを整列する可変長コードの整列化装置であって、
マスクを作るために、入力コードのレングスに等しい１にセットされた多数のビットを有する第１のビット列を出力する優先符号化器と、
シフトパラメータを出力するために、入力コードのレングス値を前の入力コードのレングス値に加算する加算器と、
シフトパラメータに従って、符号化器から入力した第１のビット列を第２のビット列に変換する第１のシフタ回路と、
シフトパラメータに従って、コードを第３のビット列に変換する第２のシフタ回路と、
第１のシフタ回路から第２のビット列を入力させ、第２のシフタ回路から第３のビット列を入力させ、第２のビット列の対応ビットセットを有する各ビットに対して、ビット・バイ・ビットで、第３のビット列の内容を入力するレジスタと、
加算器出力の最上位ビット（ＭＳＢ）に従って、結合コード・ワードを出力するために、レジスタの一部分を選択するマルチプレクサと、
を有する可変長コードの整列化装置。
【請求項２】
第１のシフタ回路が符号化器の出力と同じ数のビットを有するバレルシフタを含み、
バレルシフタの出力を並んだ２セットに配置することで、第１のシフタ回路が符号化器から入力されるビットの数の２倍の数のビットを出力する、
請求項１に記載の可変長コードの整列化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像信号等に基く可変長コードの処理に関し、特にＭＰＥＧの符号化において使用され得る可変長コードの整列化に関する。
【０００２】
【従来の技術及びその課題】
ＭＰＥＧ標準規格においては高能率符号化のために可変長符号化が採用されている。可変長符号化は、量子化したＤＣＴ係数を伝送のために効率的に符号化するために行われ、発生確率の高いシンボルに短い符号語を与え、低いシンボルに長い符号語を与えることにより、伝送データ量を削減することを目的とするものである。
【０００３】
この可変長コードの出力に関する従来技術としては、図１に示すように、並列／直列変換部３から直列／並列変換部４へのシリアルビットを、制御ロジック部２への入力とし、“レングス”の大きさと等しくなったところで次のデータをＦＩＦＯ１から並列／直列変換部３に入力している。この場合コード／レングスの入力クロックより２８倍（コードの並列数）以上速く並列／直列変換部３及び直列／並列変換部４が処理できない場合、当然並列／直列変換部３の前段にＦＩＦＯ１のようなバッファを設ける必要が生じる。即ち並列／直列変換部３及び直列／並列変換部４の処理速度がこれを含む全てのシステムの処理速度の制約となる。
【０００４】
本発明に関連する可変長コードの整列化とは、図２に示すように２８ビットのコードの中の有効なデータ（その長さは“レングス”に示されている）を抜き取って図３のように詰めてゆき、一定の長さになった時点で出力することを意味している。即ち、コードの有効部をバッファに格納し（図３（ａ））次のコードのレングス分だけバッファの最初のコードをシフトしてコードをバッファに格納し（図３（ｂ））、それを繰り返してバッファが一杯になった時点で出力する（図３（ｃ））。この整列化においてコードを１ビットずつバッファに移し、それと同時にバッファ内で１ビットずつシフトしており、処理速度の点で改良が望まれている。
【０００５】
【課題を達成するための手段及び作用】
本発明は、レングス値をその値に従って第１ビット列に変換する符号化部と、前記符号化部から入力した第１ビット列をシフトパラメータに従って第２ビット列に変換する第１シフタと、コード値をシフトパラメータに従って第３ビット列に変換する第２シフタと、前記第１シフタから第２ビット列を、前記第２シフタから第３ビット列を入力し、第２ビット列の所定値を示すビットのビット位置に対応する第３ビット列のビット位置のビット内容のみを出力のために格納するレジスタを含む可変長コードの整列化装置を提供する。
【０００６】
【実施例】
本発明の一実施例を図面を参照して説明する。
図４は本発明の一実施例に係る可変長コード整列化装置を示すブロック図である。“レングス”が加算器４１と優先符号化器４３に入力する。優先符号化器４３は入力したレングスの値だけビットをＭＳＢ側から“１”にして３２ビットの出力を行う。例えばレングスの値が“３”の場合はＭＳＢ側から３ビットまでを“１”にして“１１１０……０”の３２ビットの出力を行う。バレルシフタ４４は図５に示すようにその３２ビット入力にもう一方の入力である３２ビットの“０”入力を付加し、加算器４１からの入力値だけ循環シフトし、その値を出力する。他のバレルシフタ４２は図６に示すように、入力したコードの値を加算器４１の出力の下位５ビットで示される値だけシフトし出力する。バレルシフタ４４及び４２の各出力は２つのレジスタ４５に入力されるが、後述するように入力されるバレルシフタ４４からの上位又は下位の３２ビットのうち“１”を示すビットに対応するバレルシフタ４２からの入力ビット部分だけがレジスタ４５に書込まれる。そして２つのレジスタ４５の内一杯に書込まれた方のレジスタの出力がマルチプレクサ４６の出力となり、加算器４１からのＭＳＢ出力の低から高又は高から低の変化点で同期出力を作ることができる。
【０００７】
“コード”から必要な部分だけを抜き出す動作を図７を用いて説明する。バレルシフタ４２に入力したコード（２８ビット）は有効なビット列と無意味なビット列を含んでいるとする。この２８ビットは、加算器４１の出力の下位５ビットで示される値だけシフトする（図７（ａ））。バレルシフタ４４に入力した６４ビットは加算器４１からの入力値だけ（ＭＳＢ）シフトする（図７（ｂ））。そしてバレルシフタ４４において所定値、即ち“１”を示すビット位置に対応するバレルシフタ４２の部分のみがレジスタ４５に書込まれる（図７（ｃ））。レジスタ４５はバレルシフタ４４と４２の出力によってリングバッファの構造になる（図７（ｄ））。
【０００８】
上述の実施例における加算器４１、バレルシフタ４２及び優先符号化器４３でのように、入力信号と同じ並列数を維持して処理できるため、従来におけるＦＩＦＯ１のような入力段バッファが不要となる。又、バレルシフタ４２、バレルシフタ４４及びレジスタ５５でのように、並列処理が実行できるため、入力信号と同等の周波数で動作できる。
【０００９】
次に、バレルシフタ４４を小型化する方法を図８を用いて説明する。図５に示したようにバレルシフタ４４の下位３２ビットは“０”で固定である。従って優先符号化器４３から入力した３２ビットを加算器４１の出力の下位５ビットの値でシフトし、そのシフト結果を２つ並べて、上位１６ビット及び下位１６ビットをはずすことによって、図５に示したものと同じシフト結果を得ることができる。これを達成する回路を図９に示すが、この回路は前述した６４ビットのシフトレジスタ４４を使用した場合に比べ２／３程度の面積となる。
【００１０】
上述の通り実施例に関し説明したが本発明はこれに限られるものではない。
【００１１】
【発明の効果】
本発明は、入力信号と同じ並列数を維持して処理できるため、従来におけるＦＩＦＯ１のような入力段バッファが不要となる。又、可変長コードの整列化が周波数と同等の速度で実行できる。
【図面の簡単な説明】
【図１】従来技術のブロック図。
【図２】可変長コードの整列化を説明する図。
【図３】可変長コードの整列化を説明する図。
【図４】本発明の一実施例に係る可変長コード整列化装置のブロック図。
【図５】バレルシフタ４４における動作を説明する図。
【図６】バレルシフタ４２における動作を説明する図。
【図７】バレルシフタ４５への書込み動作を説明する図。
【図８】バレルシフタ４４を小型化する方法を説明する図。
【図９】図８の方法を達成する回路のブロック図。
【符号の説明】
４１  加算器
４２  バレルシフタ
４３  優先符号化器
４４  バレルシフタ
４５  レジスタ
４６  マルチプレクサ
【図１】
0003863652.tif 000002
【図２】
0003863652.tif 000003
【図３】
0003863652.tif 000004
【図４】
0003863652.tif 000005
【図５】
0003863652.tif 000006
【図６】
0003863652.tif 000007
【図７】
0003863652.tif 000008
【図８】
0003863652.tif 000009
【図９】
0003863652.tif 000010