(57)【特許請求の範囲】
【請求項１】
外部から入力されるデジタルデータを、Ｐビットのデジタルデータとして、後のデータで先のデータを更新するようにして記憶し、該記憶したＰビットのデジタルデータを出力する入力レジスタと、
デジタルデータを入力とし、該入力されるデジタルデータを、Ｑビットのデジタルデータとして、後のデータで先のデータを更新するようにして記憶し、該記憶したＱビットのデジタルデータを出力する出力レジスタと、
上記入力レジスタから出力されるＰビットのデジタルデータを第１の入力データ、上記出力レジスタから出力されるＱビットのデジタルデータを第２の入力データとし、外部から入力される制御データに従って、該第１の入力データのビット，及び該第２の入力データのビットの中からその値を出力すべきビットを選択し、該選択したビットの値からなるＱビットのデジタルデータを上記出力レジスタに出力する出力ビット選択手段とを備えたことを特徴とする演算装置。
【請求項２】
請求の範囲第１項に係る演算装置において、
上記出力ビット選択手段は、整数ｍを上記制御データとし、
該制御データが入力されたとき、その一端からｍ番目までのビットがそれぞれ上記第２の入力データの同じ位のビットの値を有し、ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最上位側か最下位側かに関して同じである端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであることを特徴とする演算装置。
【請求項３】
請求の範囲第２項に係る演算装置において、
上記出力ビット選択手段は、その最上位側の端からｍ番目までのビットがそれぞれ上記第２の入力データの同じ位のビットの値を有し、ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最上位側の端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであることを特徴とする演算装置。
【請求項４】
請求の範囲第２項に係る演算装置において、
上記出力ビット選択手段は、その最下位側の端からｍ番目までのビットがそれぞれ上記第２の入力データの同じ位のビットの値を有し、ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最下位側の端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであることを特徴とする演算装置。
【請求項５】
請求の範囲第２項に係る演算装置において、
上記出力ビット選択手段は、上記整数ｍに加えて動作モード，シフト方向，及びシフト量を上記制御データとし、
第１の動作を行うモードを表す動作モード，及び上記整数ｍを有する制御データが入力されたとき、上記動作を行い、
第２の動作を行うモードを表す動作モード，上記シフト方向，及び上記シフト量を有する制御データが入力されたとき、上記第１の入力データを、ビットの値について、上記シフト方向へ上記シフト量だけシフトしてなるデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであることを特徴とする演算装置。
【請求項６】
請求の範囲第１項に係る演算装置において、
上記出力ビット選択手段は、整数ｍを上記制御データとし、
該制御データが入力されたとき、その一端からＱ−ｍ番目までのビットが、それぞれ、順に、上記第２の入力データの最上位側か最下位側かに関して同じである端からｍ＋１番目以降に並ぶビットの値を有し、Ｑ−ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最上位側か最下位側かに関して同じである端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであることを特徴とする演算装置。
【請求項７】
請求の範囲第６項に係る演算装置において、
上記出力ビット選択手段は、その最上位側の端からＱ−ｍ番目までのビットが、それぞれ、順に、上記第２の入力データの最上位側の端からｍ＋１番目以降に並ぶビットの値を有し、Ｑ−ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最上位側の端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであることを特徴とする演算装置。
【請求項８】
請求の範囲第６項に係る演算装置において、
上記出力ビット選択手段は、その最下位側の端からＱ−ｍ番目までのビットが、それぞれ、順に、上記第２の入力データの最下位側の端からｍ＋１番目以降に並ぶビットの値を有し、Ｑ−ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最下位側の端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであることを特徴とする演算装置。
【請求項９】
請求の範囲第６項に係る演算装置において、
上記出力ビット選択手段は、上記整数ｍに加えて動作モード，シフト方向，及びシフト量を上記制御データとし、
第１の動作を行うモードを表す動作モード，及び上記整数ｍを有する制御データが入力されたとき、上記動作を行い、
第２の動作を行うモードを表す動作モード，上記シフト方向，及び上記シフト量を有する制御データが入力されたとき、上記第１の入力データを、ビットの値について、上記シフト方向へ上記シフト量だけシフトしてなるデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであることを特徴とする演算装置。
【発明の詳細な説明】
技術分野
本発明は演算装置に関し、特に信号プロセッサとして用いられるものに関する。
背景技術
現在、MPEG1、MPEG2、MPEG4、H.261、H.263等に代表される画像符号化方式が国際標準として規格化されている。
第14図はこれらの規格に依拠した画像処理システムの構成を示すブロック図である。
図において、１は符号化器、９は復号化器である。符号化器１は、入力回路２、離散コサイン変換回路３、量子化回路４、可変長符号化回路５、及びビットストリーム送出回路６で構成され、復号化器９は、ビットストリーム取り込み回路10、可変長復号化回路11、逆量子化回路12、逆離散コサイン変換回路13、及び出力回路14で構成されている。
このように構成された画像処理システムでは、符号化器１において、まず、入力回路２から画像データが入力され、該入力された画像データは、離散コサイン変換回路３でコサイン変換され、次いで、量子化され、次いで、可変長符号化回路５で可変長符号化されて様々なコード長のコードとされる。そして、このコード及びコード長７がビットストリーム送出回路６に出力され、該ビットストリーム送出回路６で、コードがコード長７を用いて多重化されてビットストリーム８とされ、復号化器９に出力される。
復号化器９では、この出力されたビットストリーム８がビットストリーム取り込み回路10に取り込まれ、ビットストリーム取り込み回路10と可変長復号化回路との共同動作により、可変長復号化されるとともにコード長16を用いて元のコード15に分離される。この復号化され分離されたコード15は、逆量子化回路12で逆量子化され、逆離散コサイン変換回路13で逆離散コサイン変換されて元の画像データに再生され、出力回路14から外部に出力される。
ところで、ビットストリーム送出回路６における多重化処理、及びビットストリーム取り込み回路10における分離処理は、専用演算器により行われるか、もしくは、ソフトウェアにより行われる。
第９（ａ）図〜第９（ｃ）図は、この従来のソフトウェアによる多重化処理を示す模式図であり、第９（ａ）図は、ある順番のコードを含む処理単位データのマスク処理を示す図、第９（ｂ）図は、次の順番のコードを含む処理単位データのシフト処理を示す図、図９（ｃ）図は、ある順番のコードへの次の順番のコードの多重化処理を示す図である。
第９（ａ）図において、901は、miビットのコード長（ビット長）を有するコード（ｉ）を含むｉワード目のデータを表しており、LSB（Least Significant Bit）は最下位ビットを、MSB（Most Significant Bit）は最上位ビットをそれぞれ表している。可変長のコードを多重化するに際しては、該可変長のコードを含む所定ビット長のデータを用いて処理が行われる。このｉワード目のデータは、そのように用いられるある処理単位データを表している。また、該ｉワード目のデータ901は、MSB側から処理されるため、MSB側の端部にコード（ｉ）を有している。
この多重化処理を行うには、まず、ｉワード目のデータ901と同じビット長を有し、コード（ｉ）に相当する部分のビットに“1"の値を、他の部分のビットに“0"の値を有するマスクデータ902を生成する。
次いで、該生成したマスクデータ902とｉワード目のデータ901との論理和演算を実行し、それにより、ｉワード目のデータ901に対し、コード（ｉ）以外のビットの値を“0"とするマスク処理を施す（903）。
次いで、第９（ｂ）図に示すように、ｉワード目のデータ901の次の順番の処理単位データで、mi＋１ビットのコード長を有するコード（ｉ＋１）を含むｉ＋１ワード目のデータ904を、コード（ｉ）のビット長に相当するmiビットだけ右へ（MSBからLSBの方向へ）論理シフトし、それにより、コード（ｉ＋１）を多重化位置へ移動する。その結果、ｉ＋１ワード目のデータ904は、MSB側の端からmi番目までのビットに“0"の値を有し、それに続くビットの部分にコード（ｉ＋１）を有するものとなる（905）。
次いで、第９（ｃ）図に示すように、マスク処理したｉワード目のデータ903と右シフト処理したｉ＋１ワード目のデータ905との論理和演算を実行し、それにより、コード（ｉ）に次の順番のコードであるコード（ｉ＋１）を多重化してなるデータ906を得る。
以上のような処理を順次行うことにより、順次入力されるコードを多重化してなるビットストリームが生成される。
第10（ａ）図〜第10（ｃ）図は、上記従来のソフトウェアによる分離処理を示す模式図であり、第10（ａ）図は、ある処理単位データからある順番のコードを引き抜く処理を示す図、第10（ｂ）図は、次の処理単位データのコードのシフト処理を示す図、第10（ｃ）図は、コードを引き抜いた後の処理単位データに対する次の処理単位データからのデータの補充を示す図である。
第10（ａ）図において、911は、miビットのコード長を有するコード（ｉ）、mi＋１ビットのコード長を有するコード（ｉ＋１）、及びmi＋2'ビットのコード長を有するコード（ｉ＋２）’からなるｊワード目のデータを表している。多重化されたコードを分離処理するに際しては、入力されたビットストリームは、入力レジスタに一旦取り込まれ、その取り込まれた際の単位、すなわち、該入力レジスタのビット数の単位で処理される。このｊワード目のデータ911は、ビットストリームのそのようなある処理単位データを表している。ここで、該ｊワード目のデータ911は、コード（ｉ）が復号化処理が完了しており、コード（ｉ＋１）が次の復号化対象であるとする。
この分離処理を行うには、まず、このｊワード目のデータ911を、コード（ｉ）のビット長に相当するmiビットだけ左へ（LSBからMSBの方向へ）論理シフトと、それにより、コード（ｉ）を引き抜く。その結果、ｊワード目のデータは、MSB側の端からmi＋１＋mi＋2'番目までのビットの部分に順にコード（ｉ＋１）、コード（ｉ＋２）’を有し、他の部分のビットに“0"の値を有するものとなる（912）。
次いで、第10（ｂ）図に示すように、次の順番の処理単位データで、mi＋2"ビットのコード長を有するコード（ｉ＋２）”、及びmi＋３ビットのコード長を有するコード（ｉ＋３）からなるｊ＋１ワード目のデータを、mi＋１＋mi＋2'ビット右へ論理シフトする。それにより、ｊ＋１ワード目のデータは、MSB側の端からmi＋１＋mi＋2'番目までのビットに“0"の値を有し、他のビットの部分にコード（ｉ＋２）”とコード（ｉ＋３）の一部とを有するものとなる（914）。
次いで、第10（ｃ）図に示すように、左シフト処理したｊワード目のデータ912と右シフト処理したｊ＋１ワード目のデータ914との論理和演算を実行し、それにより、ｊワード目のデータ911のコード（ｉ）を引き抜いて生じた空きビットの部分に、ｊ＋１ワード目のデータ914の一部を補充してなるデータ915を得る。
以上のような処理を順次行うことにより、順次入力されるビットストリームからコードが順次分離される。
なお、上記の説明では、マスクデータの生成過程，及びシフト値の設定等の説明を省略している。
しかしながら、上記従来の画像処理システムでは以下のような問題があった。
すなわち、MPEG2画像符号化方式を用いる画像処理システムでは、一般に実時間処理が要求されかつ扱う画像データが大きく、また市場規模も大きいことから、上記コードの多重化処理、及びコードの分離処理には高速演算が可能な専用演算器（ハードウェア）が用いられている。
しかるに、MPEG1、MPEG4、H.261、H.263等の画像符号化方式を用いる画像処理システムでは、市場規模がさほど大きくないため、上記コードの多重化処理、及びコードの分離処理に専用演算器を用いると、画像処理システムを構成する上でコストあるいは入手可能性における制約が増加する可能性があり、一方、ソフトウェアを用いると、第９（ａ）図，第９（ｂ）図，第10（ａ）図，及び第10（ｂ）図で説明したように、データを処理するのに複数のステップを要することから処理時間が増大し、実時間処理を行うことが困難であるという問題があった。
本発明はかかる問題点を解決するためになされたもので、コードの多重化処理、及びコードの分離処理を高速で実行することが可能であり、かつ汎用性を有する演算装置を提供することを目的としている。
発明の開示
本発明の演算装置は、外部から入力されるデジタルデータを、Ｐビットのデジタルデータとして、後のデータで先のデータを更新するようにして記憶し、該記憶したＰビットのデジタルデータを出力する入力レジスタと、デジタルデータを入力とし、該入力されるデジタルデータを、Ｑビットのデジタルデータとして、後のデータで先のデータを更新するようにして記憶し、該記憶したＱビットのデジタルデータを出力する出力レジスタと、上記入力レジスタから出力されるＰビットのデジタルデータを第１の入力データ、上記出力レジスタから出力されるＱビットのデジタルデータを第２の入力データとし、外部から入力される制御データに従って、該第１の入力データのビット，及び該第２の入力データのビットの中からその値を出力すべきビットを選択し、該選択したビットの値からなるＱビットのデジタルデータを上記出力レジスタに出力する出力ビット選択手段とを備えたものである。この構成によれば、出力レジスタに記憶されたデジタルデータと入力レジスタに記憶されたデジタルデータとが制御データに従ってビット単位で組み合わされ、その組み合わせにより生成されたデジタルデータが出力レジスタに出力される。従って、上記組み合わせにより生成されるデジタルデータが、所定のビットに出力レジスタに記憶されたデジタルデータの所定のビットの値を有し、他のビットに入力レジスタに記憶されたデジタルデータの所定のビットの値を有するよう出力ビット選択手段を制御することにより、出力レジスタに記憶されたデジタルデータの所定のビットからなる部分に入力レジスタに記憶されたデジタルデータの所定のビットからなる部分を多重し、あるいは、出力レジスタに記憶されたデジタルデータの所定のビット以外のビットを抜き取った部分に入力レジスタに記憶されたデジタルデータの所定のビットからなる部分を補充することができ、かつ、この動作を１サイクルで行うことができる。このため、画像処理システムにおける符号化装置，および復号化装置に用いた場合に、コードの多重化処理、又は分離処理を高速に実行することが可能となる。また、第２の入力データを用いないようにすることにより、従来のシフタとして使用することができるため、汎用性を有するものとなる。
また、本発明の演算装置は、上記改良した演算装置において、上記出力ビット選択手段が、整数ｍを上記制御データとし、該制御データが入力されたとき、その一端からｍ番目までのビットがそれぞれ上記第２の入力データの同じ位のビットの値を有し、ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最上位側か最下位側かに関して同じである端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであるようにしたものである。この構成によれば、整数ｍが制御データとして入力されると、出力レジスタに記憶されたＱビットのデジタルデータが、端からｍ番目までのビットがそのまま残り、他のビットに、入力レジスタに記憶されたデジタルデータの同じ側の端の部分がｍビットづつシフトして移動するようにして更新される。このため、画像処理システムにおける符号化装置に用いた場合に、コードの多重化処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段が、その最上位側の端からｍ番目までのビットがそれぞれ上記第２の入力データの同じ位のビットの値を有し、ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最上位側の端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであるようにしたものである。従って、コードの最上位側の端からの多重化処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段が、その最下位側の端からｍ番目までのビットがそれぞれ上記第２の入力データの同じ位のビットの値を有し、ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最下位側の端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであるようにしたものである。従って、コードの最下位側の端からの多重化処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段は、上記整数ｍに加えて動作モード，シフト方向，及びシフト量を上記制御データとし、第１の動作を行うモードを表す動作モード，及び上記整数ｍを有する制御データが入力されたとき、上記動作を行い、第２の動作を行うモードを表す動作モード，上記シフト方向，及び上記シフト量を有する制御データが入力されたとき、上記第１の入力データを、ビットの値について、上記シフト方向へ上記シフト量だけシフトしてなるデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであるようにしたものである。これにより、所定の制御データを入力するだけで従来例と同様にシフタとしても使用できる。その結果、高速で多重化処理可能な演算装置を、容易に汎用性を有するものとすることができ、かつ、多重化処理において必要とされるシフト動作を行うことができる。
また、本発明の演算装置は、上記改良した演算装置において、上記出力ビット選択手段が、整数ｍを上記制御データとし、該制御データが入力されたとき、その一端からＱ−ｍ番目までのビットが、それぞれ、順に、上記第２の入力データの最上位側か最下位側かに関して同じである端からｍ＋１番目以降に並ぶビットの値を有し、Ｑ−ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最上位側か最下位側かに関して同じである端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであるようにしたものである。この構成によれば、整数ｍが制御データとして入力されると、出力レジスタに記憶されたＱビットのデジタルデータが、端からｍ番目までのビットが抜けて他のビットが、その分、該端側にシフトし、該シフトして空いたビットに入力レジスタに記憶されたデジタルデータの同じ側の端からｍ番目のビットまでの部分がＱ−ｍビットづつシフトして移動するようにして更新される。このため、画像処理システムにおける復号化装置に用いた場合に、コードの分離処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段が、その最上位側の端からＱ−ｍ番目までのビットが、それぞれ、順に、上記第２の入力データの最上位側の端からｍ＋１番目以降に並ぶビットの値を有し、Ｑ−ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最上位側の端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであるようにしたものである。従って、コードの最上位側の端からの分離処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段が、その最下位側の端からＱ−ｍ番目までのビットが、それぞれ、順に、上記第２の入力データの最下位側の端からｍ＋１番目以降に並ぶビットの順に有し、Ｑ−ｍ＋１番目以降のビットが、それぞれ、順に、上記第１の入力データの最下位側の端から並ぶビットの値を有するデジタルデータを、上記Ｑビットのデジタルデータとして出力するようにしたものである。従って、コードの最下位側の端からの分離処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段は、上記整数ｍに加えて動作モード，シフト方向，及びシフト量を上記制御データとし、第１の動作を行うモードを表す動作モード，及び上記整数ｍを有する制御データが入力されたとき、上記動作を行い、第２の動作を行うモードを表す動作モード，上記シフト方向，及び上記シフト量を有する制御データが入力されたとき、上記第１の入力データを、ビットの値について、上記シフト方向へ上記シフト量だけシフトしてなるデジタルデータを、上記Ｑビットのデジタルデータとして出力するものであるようにしたものである。これにより、所定の制御データを入力するだけで従来例と同様にシフタとしても使用できる。その結果、高速で分離処理可能な演算装置を、容易に汎用性を有するものとすることができる。
【図面の簡単な説明】
第１（ａ）図は、本発明の実施の形態１による演算装置の構成及び動作を示すブロック図であって、演算開始前の状態を示す図である。
第１（ｂ）図は、本発明の実施の形態１による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図である。
第２図は、第１（ａ）図の演算装置における出力ビット選択手段の詳細な構成を示す回路図である。
第３図は、本発明の実施の形態２による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図である。
第４図は、第３図の演算装置における出力ビット選択手段の詳細な構成を示す回路図である。
第５（ａ）図は、本発明の実施の形態３による演算装置の構成及び動作を示すブロック図であって、演算開始前の状態を示す図である。
第５（ｂ）図は、本発明の実施の形態３による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図である。
第６図は、第５（ａ）図の演算装置における出力ビット選択手段の詳細な構成を示す回路図である。
第７図は、本発明の実施の形態４による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図である。
第８図は、第７図の演算装置における出力ビット選択手段の詳細な構成を示す回路図である。
第９（ａ）図は、従来の画像処理システムにおけるソフトウェアによる多重化処理を示す模式図であって、ある順番のコードを含む処理単位データのマスク処理を示す図である。
第９（ｂ）図は、従来の画像処理システムにおけるソフトウェアによる多重化処理を示す模式図であって、次の順番のコードを含む処理単位データのシフト処理を示す図である
第９（ｃ）図は、従来の画像処理システムにおけるソフトウェアによる多重化処理を示す模式図であって、ある順番のコードへの次の順番のコードの多重化処理を示す図である。
第10（ａ）図は、従来の画像処理システムにおけるソフトウェアによる分離処理を示す模式図であって、ある処理単位データからある順番のコードを引き抜く処理を示す図である。
第10（ｂ）図は、従来の画像処理システムにおけるソフトウェアによる分離処理を示す模式図であって、次の処理単位データのコードのシフト処理を示す図である。
第10（ｃ）図は、従来の画像処理システムにおけるソフトウェアによる分離処理を示す模式図であって、コードを引き抜いた後の処理単位データに対する次の処理単位データからのデータの補充を示す図である。
第11図は、第２図の出力ビット選択手段における第1,第２のビット選択回路の詳細な構成を示す回路図である。
第12図は、第２図の出力ビット選択手段のシフト動作を示す回路図である。
第13図は、第１（ａ）図の演算装置のシフト動作を示す回路図である。
第14図は、従来の画像処理システムの構成を示すブロック図である。
発明を実施するための最良の形態
以下、本発明をより詳細に説明するために、添付図面に従って、本発明に係る演算装置の実施の形態を説明する。
実施の形態1.
本発明の実施の形態１は、符号化装置におけるビットストリーム送出回路に用いられる演算装置を示したものである。
第１（ａ）図，及び第１（ｂ）図は、本実施の形態１による演算装置の構成及び動作を示すブロック図であり、第１（ａ）図は演算開始前の状態を示す図、第１（ｂ）図は演算終了後の状態を示す図である。
これらの図において、演算装置は、コードを含むデータ110を取り込むための８ビットの入力レジスタ101と、多重化処理されたデータを後段のメモリ（図示せず）に出力するための８ビットの出力レジスタ107と、入力レジスタ101から出力される８ビットのデジタルデータ102を第１の入力データ、出力レジスタ107から出力される８ビットのデジタルデータ103を第２の入力データとし、制御データ104に従って、第１の入力データ102のビット，及び第２の入力データ103のビットの中からその値を出力すべきビットを選択し、該選択したビットの値からなる８ビットのデジタルデータ106を出力データとして出力レジスタ107に出力する出力ビット選択手段105とを有している。
入力レジスタ101には、従来の技術で説明したように（第９（ａ）図参照）、コードをMSB側に含んだ所定ビット長（本実施の形態１では８ビット）の処理単位データ110が、ビットストリーム送出回路の他の回路（図示せず）を介して入力される。IN0〜IN7、及びOUT0〜OUT7は、あるサイクルの開始時点において、それぞれ、入力レジスタ101、及び出力レジスタ107に格納（記憶）されているLSB〜MSBの各位のビットの値を表している。また、IN'0〜IN'7は、次のサイクルの開始時点において、入力レジスタ101に格納されているLSB〜MSBの各位のビットの値を表している。
出力ビット選択手段105には、上記制御データ104として、動作モードと残留コード長，又は動作モードとシフト量とシフト方向を含むデータが、ビットストリーム送出回路の主制御回路（図示せず）から入力される。
次に、出力ビット選択手段105の構成を詳しく説明する。第２図は、出力ビット選択手段105の構成を示す回路図である。
図において、出力ビット選択手段105は、第１のビット選択回路201と、第２のビット選択回路202と、入力データ選択回路と203と、セレクタ制御回路204とを有している。
第１のビット選択回路201,及び第２のビット選択回路202は、それぞれ、８つの入力端子201a,202aと、８つの出力端子201b,202bとを有している。第１のビット選択回路の８つの出力端子201bの各々は、第１のセレクタ制御信号311に従って、８つの入力端子201aのいずれかに接続されるように構成されており、同様に、第２のビット選択回路の８つの出力端子202bの各々は、第２のセレクタ制御信号312に従って、８つの入力端子202aのいずれかに接続されるように構成されている。ここで、第1,第２のビット選択回路201,202の入力端子201a,202a、及び出力端子201b,202bの各端子に付された０〜７の番号は、該各端子に入力される又は該各端子から出力される８ビットのデジタルデータのビットの位を表している。第１のビット選択回路201の入力端子201aの各端子は、入力レジスタの対応する位のビットの出力端子（図示せず）に接続され、第２のビット選択回路202の入力端子202aの各端子は、出力レジスタの対応する位のビットの出力端子（図示せず）に接続されている。
入力データ選択回路203は、第１のビット選択回路201の出力端子201b,及び第２のビット選択回路202の出力端子202bの対応する位のビットの出力端子について、各位のビットの出力端子毎に、それらのうちのいずれかを、第３のセレクタ制御信号313に従って選択し、該選択したものを、出力レジスタの対応する位のビットの入力端子（図示せず）に接続するよう構成されている。
ここで、図では、図を分かり易くするため、第１のビット選択回路201,及び第２のビット選択回路202における各出力端子201b,202bの入力端子201a,202aへの接続は、その出力が入力データ選択回路203で入力レジスタへの出力として選択されたもののみを実線で示している。なお、これら以外の各出力端子201b,202bの入力端子201a,202aへの接続は、入力データ選択回路203で出力として選択されないので、任意のものとすることができる。
セレクタ制御回路204は、制御データ104を入力とし、該制御データ104が入力されると、出力ビット選択手段105が制御データ104に示される動作をするような第１〜第３のセレクタ制御信号311〜313を生成し、該生成したセレクタ制御信号311〜313を、それぞれ、第１のビット選択回路201,第２のビット選択回路202,及び入力データ選択回路203に出力する。すなわち、セレクタ制御回路204は、第１のビット選択回路201,及び第２のビット選択回路202における入力端子への出力端子の接続、並びに入力データ選択回路203におけるビット毎の入力元の選択が、第１のビット選択回路201,第２のビット選択回路202,及び入力データ選択回路203全体で、制御データ104により要求される出力データを出力するものとなるようなセレクタ制御信号311〜313を出力する。従って、本実施の形態１による演算装置は、適宜な制御データを出力ビット選択手段105のセレクタ制御回路204に入力することにより、第１の入力データの各ビットの値，及び第２の入力データの各ビットの値のうちの任意のものを選択して組み合わせ、そのように組み合わせたものを出力データとして出力するように構成することができる。
本実施の形態１では、出力ビット選択手段105に、制御データ104として、多重化動作（第１の動作）を行う場合には動作モードと残留コード長、シフト動作（第２の動作）を行う場合には動作モードとシフト量とシフト方向を含むデータが入力され、出力ビット選択手段105では、セレクタ制御回路204が、第１のビット選択回路201,第２のビット選択回路202,及び入力データ選択回路203をして制御データ104の動作モード，残留コード長，シフト量，及びシフト方向に示された動作を可能ならしめるようなセレクタ制御信号311〜313を出力するように構成されている。
本図は、出力ビット選択手段105に、動作モードと残留コード長を有する制御データ104が入力された場合を示しており、この場合、制御データ104として、動作モードとして「多重化」、残留コード長として「ｍビット」の指示データを有するものが入力される。そしてこのような制御データ104が入力されると、例えばｍ＝３である場合、出力ビット選択手段105では、第１のビット選択回路201においてMSB側の端から４（＝ｍ＋１）番目から８番目までのビットの出力端子（４〜０の番号の出力端子）がMSB側の端から５番目までのビットの入力端子（７〜３の番号の入力端子）に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から４（＝ｍ＋１）番目から８番目までのビットの入力端子（図示せず）への出力として選択され、第２のビット選択回路202においてMSB側の端から３（＝ｍ）番目までのビットの出力端子（７〜５の番号の出力端子）がMSB側の端から３（＝ｍ）番目までのビットの入力端子（７〜５の番号の入力端子）に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から３（−ｍ）番目までのビットの入力端子（図示せず）への出力として選択される。
第11図は、出力ビット選択手段における第１のビット選択回路，及び第２のビット選択回路の構成を示す回路図である。
図において、第１のビット選択回路201と第２のビット選択回路202とは同じ構成を有しているため、これらを共通の図で示す。また、本図の説明では、第１のビット選択回路，及び第２のビット選択回路を単にビット選択回路201,202と記載する。
ビット選択回路201,202は、第１〜第８のセレクタ301〜308を有している。第１〜第８のセレクタ301〜308は、それぞれ、９つの入力端子と１つの出力端子とを有し、各セレクタ301〜308の９つの入力端子は、ビット選択回路201,202の入力端子201a,202a、及び“0"値入力線314にそれぞれ接続され、第１〜第８のセレクタ301〜308の出力端子は、ビット選択回路201,202の０〜７の番号の出力端子201b,202bにそれぞれ接続されている。また第１〜第８のセレクタ301〜308には、セレクタ制御信号311,312が入力されており、各セレクタ301〜308は、セレクタ制御信号311,312に従って、その出力端子を、その９つの入力端子のいずれかに接続する。従って、ビット選択回路201,202は、適宜なセレクタ制御信号311,312を入力することにより、その出力端子201b,202bの任意のものに、その入力端子201a,202a、及び“0"値入力線314のうちの任意のものを接続することができ、従って、入力端子201a,202aに入力される８ビットのデジタルデータ（ここでは第１の入力データ、又は第２の入力データ）の各ビットの値、又は“0"の値を任意に選択して組み合わせ、そのように組み合わせたものを８ビットのデジタルデータとして、その出力端子201b,202bから出力することができる。但し、本実施の形態１では、この組み合わせは、多重化処理又はシフト処理を行うことが可能なように行われ、ビット選択回路201,202には、そのように行うことが可能なようなセレクタ制御信号311,312が入力される。ここで、“0"値入力線314は、演算装置を従来例と同様のシフタとして動作させたときに、シフトにより生じる空きビットに“0"の値を入れるためのものである。
また、第２図の入力データ選択回路203も、本図に示すビット選択回路201,202と同様の構成を有している。すなわち、入力データ選択回路203は、入力データ及び出力データの各ビットに対応する８つのセレクタを有し、該８つのセレクタは、それぞれ、第１のビット選択回路201の出力端子，及び第２のビット選択回路202の出力端子に接続された２つ入力端子と、出力レジスタの入力端子に接続された１つの出力端子とを有し、該８つのセレクタが、第３のセレクタ制御信号313に従って、それぞれ、第１のビット選択回路201からの入力又は第２のビット選択回路202からの入力を選択し、該選択したものを入力レジスタへ出力するように構成されている。
第12図，及び第13図は、演算装置のシフト動作を示す回路図であり、第12図はシフト動作を行っている際、中の状態を示す図、第13図はシフト動作を行った後の状態を示す図である。
これらの図において、出力ビット選択手段105は、動作モードとしてシフトモードを示す制御データ104が入力されると、セレクタ制御回路204は、第１のビット選択回路201に対し、該第１のビット選択回路201をして、第１の入力データを、ビットについて制御データ104に示された方向及び量のシフトをして出力せしめるような第１のセレクタ制御信号311を出力するとともに、入力データ選択回路203に対し、該入力データ選択回路203をして、出力データの全てのビットについて、第１のビット選択回路201からの入力のみを選択して出力せしめるような第３の制御信号313を出力する。この第１のセレクタ制御信号311を受け、第１のビット選択回路201は、第１の入力データを制御データ104に示された方向及び量のシフトをして出力し、上記第３のセレクタ制御信号313を受け、入力データ選択回路203は、第１のビット選択回路201からの入力のみを選択して、これを入力レジスタに出力する。図では、左方向へ２ビットシフトした場合を示しており、シフトして生じた空きビットには“0"の値が入れられる。また、右シフトした場合には、シフトして生じた空きビットには“0"の値、又はMSBの値が入れられる。
次に、以上のように構成された演算装置の多重化処理の動作を、第１（ａ）図，第１（ｂ）図，第２図，第11図，第12図，第13図を用いて説明する。
これらの図において、OUT0〜OUT7,IN0〜IN7,IN'0〜IN'7,及びIN"0〜IN"7は、それぞれ、従来技術で説明したｉワード目,i＋１ワード目,i＋２ワード目，及びｉ＋３ワード目のデータであり、また、OUT0〜OUT7,IN0〜IN7,及びIN'0〜IN'7は、それぞれ、３ビット,3ビット，及び４ビットのコード長のコードを有しているものとする。
また、あるサイクルの開始時点において、出力レジスタ107にOUT0〜OUT7のデータが、入力レジスタ101にIN0〜IN7に、それぞれ、格納されており、以降、入力レジスタ101に、順次、ｉ＋２ワード目，及びｉ＋３ワード目のデータが入力されるものとする。
多重化処理においては、まず、あるサイクルの開始時点である第１（ａ）図の状態で、主制御回路から出力ビット選択手段105に、動作モードとして「多重化」、残留コード長として、出力レジスタ107に格納されているOUT0〜OUT7のデータに含まれるコードのコード長に相当する「３ビット」の指示データを有する制御データ104が入力される。
この入力を受け、出力ビット選択手段105では、セレクタ制御回路204が、第１のビット選択回路201,第２ビット選択回路202,及び入力データ選択回路203をして、以下の動作を行わしめるような第１〜第３の制御信号311〜313を出力する。
すなわち、第１のビット選択回路201においてMSB側の端から４番目から８番目までのビットの出力端子がMSB側の端から５番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から４番目から８番目までのビットの入力端子への出力として選択され、第２のビット選択回路202においてMSB側の端から３番目までのビットの出力端子がMSB側の端から３番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から３番目までのビットの入力端子への出力として選択される。これにより、出力レジスタ107に格納されているデータは、MSB側の端から３番目までのビットに、順に、OUT7,OUT6,OUT5の値を有し、４番目から８番目までのビットに、順に、IN7,IN6,IN5,IN4,IN3の値を有するデータに更新され、ｉワード目のデータのコードにｉ＋１ワード目のデータのコードが多重化される。
次いで、次のサイクルが開始すると、第１（ｂ）図に示すように、入力レジスタ101にｉ＋２ワード目のデータが取り込まれ、該入力レジスタ101に格納されているデータがIN'7〜IN'0のデータに更新されるとともに、主制御回路から出力ビット選択手段105に、動作モードとして「多重化」、残留コード長として、出力レジスタ107に格納されているデータに含まれるｉワード目のデータのコード，及びｉ＋１ワード目のデータのコードの双方のコード長の和に相当する「６ビット」の指示データを有する制御データ104が入力される。
この入力を受け、出力ビット選択手段105は、上記と同様にして、MSB側の端から３番目までのビットに、順に、OUT7,OUT6,OUT5の値を有し、４番目から６番目までのビットに、順に、IN7,IN6,IN5の値を有し、７番目から８番目までのビットに、順に、IN'7,IN'6の値を有するデータを出力し、それにより、出力レジスタ107に格納されているデータがこのデータに更新される。これにより、ｉワード目のデータのコードにｉ＋１ワード目のデータのコード，及びｉ＋２ワード目のデータのコードの一部（半分）が多重化される。
これにより、出力レジスタ107がコードを多重化してなるデータで満たされたため、次のサイクルで、このデータがメモリに転送される。
次いで、次のサイクルが開始すると、第12図，及び第13図に示すように、主制御回路から出力ビット選択手段105に、動作モードとして「シフト」、シフト方向として「左方向」、及びシフト量として、ｉ＋２ワード目のデータのコードの残りの部分のビット長に相当する「２ビット」の指示データを有する制御データ104が入力される。
この入力を受け、出力ビット選択手段105では、セレクタ制御回路204が、第１のビット選択回路201,及び入力データ選択回路203をして、以下の動作を行わしめるような第1,第３の制御信号311,313を出力する。
すなわち、第１のビット選択回路201は、第１の入力データを左方向へ２ビットシフトして出力し、入力データ選択回路203は、第１のビット選択回路201からの入力のみを選択して、これを入力レジスタに出力する。
これにより、入力レジスタ101に格納されたIN'7〜IN'0のデータが左方向へ２ビットシフトされ、MSB側の端から、順に、IN'5,IN'4,IN'3,IN'2,IN'1,IN'0,0,0の値を有するデータが出力レジスタ107に格納される。
次いで、次のサイクルが開始すると、入力レジスタ101にｉ＋３ワード目のデータが取り込まれ、以降、上記と同様にして多重化処理が行われる。
以上のように、本実施の形態１においては、出力レジスタ107に格納されたデジタルデータと入力レジスタ101に格納されたデジタルデータとが制御データ104に従ってビット単位で組み合わされ、その組み合わせにより生成されたデジタルデータ106が出力レジスタ107に出力され、かつ、この動作を１サイクルで行うことができるので、画像処理システムにおける符号化装置に用いた場合に、コードの多重化処理を高速に実行することができる。
実施の形態2.
本発明の実施の形態２は、符号化装置におけるビットストリーム送出回路に用いられる演算装置を示したものである。
第３図は、本実施の形態２による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図、第４図は第３図の演算装置の出力ビット選択手段の詳細な構成を示す回路図である。
これらの図において、第１図（ａ），第１図（ｂ），及び第２図と同一符号は同一又は相当する部分を示し、本実施の形態２による演算装置は、入力レジスタ101に入力される処理単位データ110がLSB側の端にコードを有しており、従って、出力レジスタ107に格納されているデータがLSB側の端から多重化されていくように構成されている点が実施の形態１と異なっているものである。
すなわち、実施の形態１の第１（ａ）図に示す状態で、主制御回路から出力ビット選択手段105に、残留コード長として「３ビット」を有する制御データ104が入力されると、出力ビット選択手段105では、セレクタ制御回路204が、第１のビット選択回路201,第２ビット選択回路202,及び入力データ選択回路203をして、以下の動作を行わしめるような第１〜第３の制御信号311〜313を出力する。
すなわち、第１のビット選択回路201においてLSB側の端から４番目から８番目までのビットの出力端子がLSB側の端から５番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのLSB側の端から４番目から８番目までのビットの入力端子への出力として選択され、第２のビット選択回路202においてLSB側の端から３番目までのビットの出力端子がLSB側の端から３番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのLSB側の端から３番目までのビットの入力端子への出力として選択される。これにより、出力レジスタ107に格納されているデータは、LSB側の端から３番目までのビットに、順に、OUT0,OUT1,OUT2の値を有し、４番目から８番目までのビットに、順に、IN0,IN1,IN2,IN3,IN4の値を有するデータに更新される。これにより、ｉワード目のデータのコードにｉ＋１ワード目のデータのコードがLSB側の端から多重化される。
従って、本実施の形態２によれば、コードのLSB側の端からの多重化処理を高速に実行することができる。
実施の形態3.
本発明の実施の形態３は、復号化装置におけるビットストリーム取り込み回路に用いられる演算装置を示したものである。
第５（ａ）図，及び第５（ｂ）図は、本実施の形態３による演算装置の構成及び動作を示すブロック図であり、第５（ａ）図は演算開始前の状態を示す図、第５（ｂ）図は演算終了後の状態を示す図である。
図において、第１（ａ）図，及び第１（ｂ）図と同一符号は同一又は相当する部分を示し、本実施の形態３による演算装置は、分離処理を行うように構成されている点が実施の形態１と異なっているものである。
すなわち、入力レジスタ101には、従来の技術で説明したように（第10（ａ）図参照）、ビットストリーム110が、ビットストリーム取り込み回路の他の回路（図示せず）を介して入力され、入力レジスタ101は、このビットストリーム110を、分離すべきコードをMSB側から順に含むようにして、その記憶容量に相当する所定ビット長（本実施の形態３では８ビット）のデータ単位で取り込む。そして、この入力レジスタ101に取り込んだデータ単位で分離処理が行われる。
また、出力レジスタ107は可変長復号化回路に接続されており、該出力レジスタ107に格納されているデジタルデータのMSB側の端に位置するコードが可変長復号化回路により可変長復号化される。
また、出力ビット選択手段105には、制御データ104として、動作モードとコード長，又は動作モードとシフト量とシフト方向を含むデータが、ビットストリーム取り込み回路の主制御回路（図示せず）から入力される。
次に、出力ビット選択手段105の構成を詳しく説明する。第６図は、本実施の形態３における出力ビット選択手段105の構成を示す回路図である。
図において、第２図と同一符号は同一又は相当する部分を示している。
分離動作（第１の動作）を行う場合は、出力ビット選択手段105に、制御データ104として、動作モードとコード長を含むデータが入力される。この場合、制御データ104は、動作モードとして「分離」、コード長として、出力レジスタのMSB側の端に位置するコードのコード長に相当する「ｍビット」の指示データを有するものとされる。また、シフト動作（第２の動作）を行う場合は、制御データ104として、動作モードとシフト量とシフト方向を含むデータが入力される。
出力ビット選択手段105に、動作モードとして「分離」、コード長として例えば「３ビット」の指示データを有する制御データが入力されると、出力ビット選択手段105では、セレクタ制御回路204が、第１のビット選択回路201,第２のビット選択開路202,及び入力データ選択回路203をして分離動作を可能ならしめるようなセレクタ制御信号311〜313を出力する。
すなわち、第２のビット選択回路202においてMSB側の端から５（＝８−ｍ）番目までのビットの出力端子がMSB側の端から４（＝ｍ＋１）番目から８番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から５（＝８−ｍ）番目までのビットの入力端子（図示せず）への出力として選択され、第１のビット選択回路201においてMSB側の端から６（＝８−ｍ＋１）番目から８番目までのビットの出力端子がMSB側の端から３（＝ｍ）番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から６（＝８−ｍ＋１）番目から８番目までのビットの入力端子（図示せず）への出力として選択される。
また、出力ビット選択手段105に、動作モードとシフト量とシフト方向を含む制御データ104が入力された場合の動作は、実施の形態１と全く同様である。
次に、以上のように構成された演算装置の分離処理の動作を、第５（ａ）図，第５（ｂ）図，第６図を用いて説明する。
これらの図において、OUT0〜OUT7,及びIN0〜IN7,及びIN'0〜IN'7（図示せず）は、それぞれ、従来技術で説明したｊワード目のデータ,j＋１ワード目のデータ，及びｊ＋２ワード目のデータであり、OUT0〜OUT7は、MSB側の端から順に３ビットのコード長のコード（ｉ）,3ビットのコード長のコード（ｉ＋１）,4ビットのコード長のコード（ｊ＋２）の半分を有しており、IN0〜IN7は、MSB側の端にコード（ｉ＋２）の残り半分を有しているものとする。
また、あるサイクルの開始時点において、出力レジスタ107にOUT0〜OUT7のデータが、入力レジスタ101にIN0〜IN7が、それぞれ、格納されており、以降、入力レジスタ101に、順次、ｊ＋２ワード目以降のデータが入力されるものとする。
分離処理においては、まず、あるサイクルの開始時点である第５（ａ）図の状態で、出力レジスタ107に格納されているOUT0〜OUT7のデータのMSB側の端に位置するコード（ｉ）が復号化される。
次いで、主制御回路から出力ビット選択手段105に、動作モードとして「分離」、コード長として、出力レジスタ107に格納されているOUT0〜OUT7のデータのMSB側の端に位置するコード（ｉ）のコード長に相当する「３ビット」を有する制御データ104が入力される。
この入力を受け、出力ビット選択手段105では、セレクタ制御回路204が、第１のビット選択回路201,第２ビット選択回路202,及び入力データ選択回路203をして、以下の動作を行わしめるような第１〜第３の制御信号311〜313を出力する。
すなわち、第２のビット選択回路202においてMSB側の端から５番目までのビットの出力端子がMSB側の端から４番目から８番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から５番目までのビットの入力端子への出力として選択され、第１のビット選択回路201においてMSB側の端から６番目から８番目までのビットの出力端子がMSB側の端から３番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から６番目から８番目までのビットの入力端子への出力として選択される。これにより、出力レジスタ107に格納されているデータは、MSB側の端から５番目までのビットに、順に、OUT4,OUT3,OUT2,OUT1,OUT0の値を有し、６番目から８番目までのビットに、順に、IN7,IN6,IN5の値を有するデータに更新され、ｊワード目のデータからコード（ｉ）が分離され（引き抜かれ）、該ｊワード目のデータの空いたビットにｊ＋１ワード目のデータの一部が補充される（第５（ｂ）図）。
次いで、次のサイクルにおいて、出力レジスタ107に格納されているOUT4,OUT3,OUT2,OUT1,OUT0,IN7,IN6,IN5のデータのうち、コード（ｉ＋１）に相当する部分であるOUT4,OUT3,OUT2の部分が復号化される。次いで、コード長としてコード（ｉ＋１）のコード長に相当する「３ビット」を有する制御データ104が入力され、上記と同様にして、出力レジスタ107に格納されているデータが、MSB側の端から順に、OUT1,OUT0,IN7,IN6,IN5,IN4,IN3,IN2の値を有するデータに更新される。これにより、ｊワード目のデータからコード（ｉ＋１）が分離され、該ｊワード目のデータの空いたビットにｊ＋１ワード目のデータのIN7,IN6,IN5,IN4,IN3,IN2の部分が補充される。
次いで、次のサイクルにおいて、出力レジスタ107に格納されているOUT1,OUT0,IN7,IN6,IN5,IN4,IN3,IN2のデータのうち、コード（ｉ＋２）の半分に相当する部分であるOUT1,OUT0の部分が復号化される。次いで、コード長としてコード（ｉ＋２）の半分のコード長に相当する「２ビット」を有する制御データ104が入力され、上記と同様にして、出力レジスタ107に格納されているデータが、MSB側の端から順に、IN7,IN6,IN5,IN4,IN3,IN2,IN1,IN0の値を有するデータに更新される。これにより、ｊワード目のデータからコード（ｉ＋１）の半分が分離され、該ｊワード目のデータの空いたビットにｊ＋１ワード目のデータの全部であるIN7,IN6,IN5,IN4,IN3,IN2,IN1,IN0のデータが補充される。
これにより、入力レジスタ101に取り込まれたｊ＋１ワード目のデータが空になった（出力レジスタ107に全て移動した）ので、次のサイクルにおいて、入力レジスタ101にｊ＋２ワード目のデータであるIN'0〜IN'7のデータが取り込まれる。
次いで、次のサイクルにおいて、出力レジスタ107に格納されているIN7,IN6,IN5,IN4,IN3,IN2,IN1,IN0のデータのうち、コード（ｉ＋２）の残り半分に相当する部分であるIN7,IN6の部分が復号化される。次いで、コード長としてコード（ｉ＋２）の残り半分のコード長に相当する「２ビット」を有する制御データ104が入力され、上記と同様にして、出力レジスタ107に格納されているデータが、MSB側の端から順に、IN5,IN4,IN3,IN2,IN1,IN0,IN'7,IN'6の値を有するデータに更新される。これにより、ｊ＋１ワード目のデータからコード（ｉ＋２）の残り半分が分離され、該ｊ＋１ワード目のデータの空いたビットにｊ＋２ワード目のデータのIN'7,IN'6の部分が補充される。
以降、上記と同様にして分離処理が行われる。
以上のように、本実施の形態３においては、コード長として「ｍビット」を有する制御データ104が入力されると、出力レジスタ107に格納された８ビットのデジタルデータが、MSB側の端からｍ番目までのビットが抜けて他のビットが、その分、MSB側にシフトし、該シフトして空いたビットに入力レジスタ101に格納されたデジタルデータのMSB側の端からｍ番目のビツトまでの部分が８−ｍビットづつシフトして移動するようにして更新され、かつこの動作が１サイクルで行われるので、画像処理システムにおける復号化装置に用いた場合に、コードの分離処理を高速に実行することができる。
実施の形態4.
本発明の実施の形態４は、復号化装置におけるビットストリーム取り込み回路に用いられる演算装置を示したものである。
第７図は、本実施の形態４による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図、第８図は第７図の演算装置の出力ビット選択手段の詳細な構成を示す回路図である。
これらの図において、第５図（ａ），第５図（ｂ），及び第６図と同一符号は同一又は相当する部分を示し、本実施の形態４による演算装置は、入力レジスタ101が、入力されるビットストリームを、分離すべきコードをLSB側から順に含むようにして取り込み、かつ出力レジスタ107に格納されているデータのLSB側の端に位置するコードが可変長復号化されるように構成されている点が実施の形態３と異なっているものである。
すなわち、実施の形態３の第５（ａ）図に示す状態で、主制御回路から出力ビット選択手段105に、コード長として「３ビット」の指示データを有する制御データが入力されると、出力ビット選択手段105では、セレクタ制御回路204が、第１のビット選択回路201,第２のビット選択回路202,及び入力データ選択回路203をして、以下の動作を行わしめるようなセレクタ制御信号311〜313を出力する。
すなわち、第２のビット選択回路202においてLSB側の端から５番目までのビットの出力端子がLSB側の端から４番目から８番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのLSB側の端から５番目までのビットの入力端子への出力として選択され、第１のビット選択回路201においてLSB側の端から６番目から８番目までのビットの出力端子がLSB側の端から３番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのLSB側の端から６番目から８番目までのビットの入力端子への出力として選択される。
これにより、出力レジスタ107に格納されているデータは、LSB側の端から５番目までのビットに、順に、OUT3,OUT4,OUT5,OUT6,OUT7の値を有し、６番目から８番目までのビットに、順に、IN0,IN1,IN2の値を有するデータに更新され、ｊワード目のデータからコード（ｉ）が分離され、該ｊワード目のデータの空いたビットにｊ＋１ワード目のデータの一部が補充される（第７図）。
従って、本実施の形態４によれば、コードのLSB側の端からの分離処理を高速に実行することができる。
なお、上記実施の形態１〜４では、第１の入力データのビット長と出力データのビット長とを同じにしているが、第１の入力データｎビット長と出力データのビット長とを異なるようにしてもよい。
また、上記実施の形態1,2では演算装置を多重化処理に用いているが、これらの演算装置の用途はこれに限定されるものではなく、例えば、画像処理装置において、２種類の８ビット長の画像データを結合せしめて16ビット長の画像メモリに格納するような場合におけるその２種類の８ビット長の画像データの結合処理に用いることができる。また、上記実施の形態3,4では演算装置を分離処理に用いているが、これらの演算装置の用途はこれに限定されるものではなく、例えば、上記画像処理装置において、画像メモリに格納された16ビット長の画像データを取り出して２種類の８ビット長の画像データに分離するような場合におけるその16ビット長の画像データの分離処理に用いることができる。
また、上記実施の形態１〜４による演算装置は、従来のシフタとして使用することができ、例えば、第14図に示す符号化装置1,及び復号化装置９の各回路３〜５、11〜13において、シフタとして用いることができる。この場合、上記実施の形態１〜４で説明したように、所定の制御データを入力することによりシフタとして動作せしめることができる。このように、上記実施の形態１〜４による演算装置は、従来のシフタとして使用することができるため、汎用性を有するものとなる。
産業上の利用可能性
以上のように、本発明に係る演算装置は画像処理システムにおいてコードの多重化装置，及びコードの分離処理を行う演算装置として有用であり、特に高速処理が必要とされる画像処理システムに用いるのに適している。
【図１（ａ）】
0003602855.tif 000002
【図１（ｂ）】
0003602855.tif 000003
【図３】
0003602855.tif 000004
【図２】
0003602855.tif 000005
【図４】
0003602855.tif 000006
【図５（ａ）】
0003602855.tif 000007
【図５（ｂ）】
0003602855.tif 000008
【図６】
0003602855.tif 000009
【図７】
0003602855.tif 000010
【図９（ｂ）】
0003602855.tif 000011
【図８】
0003602855.tif 000012
【図９（ａ）】
0003602855.tif 000013
【図１３】
0003602855.tif 000014
【図９（ｃ）】
0003602855.tif 000015
【図１４】
0003602855.tif 000016
【図１０（ａ）】
0003602855.tif 000017
【図１０（ｂ）】
0003602855.tif 000018
【図１０（ｃ）】
0003602855.tif 000019
【図１１】
0003602855.tif 000020
【図１２】
0003602855.tif 000021