JP3602855B2 - 演算装置 - Google Patents
演算装置 Download PDFInfo
- Publication number
- JP3602855B2 JP3602855B2 JP50207199A JP50207199A JP3602855B2 JP 3602855 B2 JP3602855 B2 JP 3602855B2 JP 50207199 A JP50207199 A JP 50207199A JP 50207199 A JP50207199 A JP 50207199A JP 3602855 B2 JP3602855 B2 JP 3602855B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data
- input
- output
- digital data
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Image Input (AREA)
Description
本発明は演算装置に関し、特に信号プロセッサとして用いられるものに関する。
背景技術
現在、MPEG1、MPEG2、MPEG4、H.261、H.263等に代表される画像符号化方式が国際標準として規格化されている。
第14図はこれらの規格に依拠した画像処理システムの構成を示すブロック図である。
図において、1は符号化器、9は復号化器である。符号化器1は、入力回路2、離散コサイン変換回路3、量子化回路4、可変長符号化回路5、及びビットストリーム送出回路6で構成され、復号化器9は、ビットストリーム取り込み回路10、可変長復号化回路11、逆量子化回路12、逆離散コサイン変換回路13、及び出力回路14で構成されている。
このように構成された画像処理システムでは、符号化器1において、まず、入力回路2から画像データが入力され、該入力された画像データは、離散コサイン変換回路3でコサイン変換され、次いで、量子化され、次いで、可変長符号化回路5で可変長符号化されて様々なコード長のコードとされる。そして、このコード及びコード長7がビットストリーム送出回路6に出力され、該ビットストリーム送出回路6で、コードがコード長7を用いて多重化されてビットストリーム8とされ、復号化器9に出力される。
復号化器9では、この出力されたビットストリーム8がビットストリーム取り込み回路10に取り込まれ、ビットストリーム取り込み回路10と可変長復号化回路との共同動作により、可変長復号化されるとともにコード長16を用いて元のコード15に分離される。この復号化され分離されたコード15は、逆量子化回路12で逆量子化され、逆離散コサイン変換回路13で逆離散コサイン変換されて元の画像データに再生され、出力回路14から外部に出力される。
ところで、ビットストリーム送出回路6における多重化処理、及びビットストリーム取り込み回路10における分離処理は、専用演算器により行われるか、もしくは、ソフトウェアにより行われる。
第9(a)図〜第9(c)図は、この従来のソフトウェアによる多重化処理を示す模式図であり、第9(a)図は、ある順番のコードを含む処理単位データのマスク処理を示す図、第9(b)図は、次の順番のコードを含む処理単位データのシフト処理を示す図、図9(c)図は、ある順番のコードへの次の順番のコードの多重化処理を示す図である。
第9(a)図において、901は、miビットのコード長(ビット長)を有するコード(i)を含むiワード目のデータを表しており、LSB(Least Significant Bit)は最下位ビットを、MSB(Most Significant Bit)は最上位ビットをそれぞれ表している。可変長のコードを多重化するに際しては、該可変長のコードを含む所定ビット長のデータを用いて処理が行われる。このiワード目のデータは、そのように用いられるある処理単位データを表している。また、該iワード目のデータ901は、MSB側から処理されるため、MSB側の端部にコード(i)を有している。
この多重化処理を行うには、まず、iワード目のデータ901と同じビット長を有し、コード(i)に相当する部分のビットに“1"の値を、他の部分のビットに“0"の値を有するマスクデータ902を生成する。
次いで、該生成したマスクデータ902とiワード目のデータ901との論理和演算を実行し、それにより、iワード目のデータ901に対し、コード(i)以外のビットの値を“0"とするマスク処理を施す(903)。
次いで、第9(b)図に示すように、iワード目のデータ901の次の順番の処理単位データで、mi+1ビットのコード長を有するコード(i+1)を含むi+1ワード目のデータ904を、コード(i)のビット長に相当するmiビットだけ右へ(MSBからLSBの方向へ)論理シフトし、それにより、コード(i+1)を多重化位置へ移動する。その結果、i+1ワード目のデータ904は、MSB側の端からmi番目までのビットに“0"の値を有し、それに続くビットの部分にコード(i+1)を有するものとなる(905)。
次いで、第9(c)図に示すように、マスク処理したiワード目のデータ903と右シフト処理したi+1ワード目のデータ905との論理和演算を実行し、それにより、コード(i)に次の順番のコードであるコード(i+1)を多重化してなるデータ906を得る。
以上のような処理を順次行うことにより、順次入力されるコードを多重化してなるビットストリームが生成される。
第10(a)図〜第10(c)図は、上記従来のソフトウェアによる分離処理を示す模式図であり、第10(a)図は、ある処理単位データからある順番のコードを引き抜く処理を示す図、第10(b)図は、次の処理単位データのコードのシフト処理を示す図、第10(c)図は、コードを引き抜いた後の処理単位データに対する次の処理単位データからのデータの補充を示す図である。
第10(a)図において、911は、miビットのコード長を有するコード(i)、mi+1ビットのコード長を有するコード(i+1)、及びmi+2'ビットのコード長を有するコード(i+2)’からなるjワード目のデータを表している。多重化されたコードを分離処理するに際しては、入力されたビットストリームは、入力レジスタに一旦取り込まれ、その取り込まれた際の単位、すなわち、該入力レジスタのビット数の単位で処理される。このjワード目のデータ911は、ビットストリームのそのようなある処理単位データを表している。ここで、該jワード目のデータ911は、コード(i)が復号化処理が完了しており、コード(i+1)が次の復号化対象であるとする。
この分離処理を行うには、まず、このjワード目のデータ911を、コード(i)のビット長に相当するmiビットだけ左へ(LSBからMSBの方向へ)論理シフトと、それにより、コード(i)を引き抜く。その結果、jワード目のデータは、MSB側の端からmi+1+mi+2'番目までのビットの部分に順にコード(i+1)、コード(i+2)’を有し、他の部分のビットに“0"の値を有するものとなる(912)。
次いで、第10(b)図に示すように、次の順番の処理単位データで、mi+2"ビットのコード長を有するコード(i+2)”、及びmi+3ビットのコード長を有するコード(i+3)からなるj+1ワード目のデータを、mi+1+mi+2'ビット右へ論理シフトする。それにより、j+1ワード目のデータは、MSB側の端からmi+1+mi+2'番目までのビットに“0"の値を有し、他のビットの部分にコード(i+2)”とコード(i+3)の一部とを有するものとなる(914)。
次いで、第10(c)図に示すように、左シフト処理したjワード目のデータ912と右シフト処理したj+1ワード目のデータ914との論理和演算を実行し、それにより、jワード目のデータ911のコード(i)を引き抜いて生じた空きビットの部分に、j+1ワード目のデータ914の一部を補充してなるデータ915を得る。
以上のような処理を順次行うことにより、順次入力されるビットストリームからコードが順次分離される。
なお、上記の説明では、マスクデータの生成過程,及びシフト値の設定等の説明を省略している。
しかしながら、上記従来の画像処理システムでは以下のような問題があった。
すなわち、MPEG2画像符号化方式を用いる画像処理システムでは、一般に実時間処理が要求されかつ扱う画像データが大きく、また市場規模も大きいことから、上記コードの多重化処理、及びコードの分離処理には高速演算が可能な専用演算器(ハードウェア)が用いられている。
しかるに、MPEG1、MPEG4、H.261、H.263等の画像符号化方式を用いる画像処理システムでは、市場規模がさほど大きくないため、上記コードの多重化処理、及びコードの分離処理に専用演算器を用いると、画像処理システムを構成する上でコストあるいは入手可能性における制約が増加する可能性があり、一方、ソフトウェアを用いると、第9(a)図,第9(b)図,第10(a)図,及び第10(b)図で説明したように、データを処理するのに複数のステップを要することから処理時間が増大し、実時間処理を行うことが困難であるという問題があった。
本発明はかかる問題点を解決するためになされたもので、コードの多重化処理、及びコードの分離処理を高速で実行することが可能であり、かつ汎用性を有する演算装置を提供することを目的としている。
発明の開示
本発明の演算装置は、外部から入力されるデジタルデータを、Pビットのデジタルデータとして、後のデータで先のデータを更新するようにして記憶し、該記憶したPビットのデジタルデータを出力する入力レジスタと、デジタルデータを入力とし、該入力されるデジタルデータを、Qビットのデジタルデータとして、後のデータで先のデータを更新するようにして記憶し、該記憶したQビットのデジタルデータを出力する出力レジスタと、上記入力レジスタから出力されるPビットのデジタルデータを第1の入力データ、上記出力レジスタから出力されるQビットのデジタルデータを第2の入力データとし、外部から入力される制御データに従って、該第1の入力データのビット,及び該第2の入力データのビットの中からその値を出力すべきビットを選択し、該選択したビットの値からなるQビットのデジタルデータを上記出力レジスタに出力する出力ビット選択手段とを備えたものである。この構成によれば、出力レジスタに記憶されたデジタルデータと入力レジスタに記憶されたデジタルデータとが制御データに従ってビット単位で組み合わされ、その組み合わせにより生成されたデジタルデータが出力レジスタに出力される。従って、上記組み合わせにより生成されるデジタルデータが、所定のビットに出力レジスタに記憶されたデジタルデータの所定のビットの値を有し、他のビットに入力レジスタに記憶されたデジタルデータの所定のビットの値を有するよう出力ビット選択手段を制御することにより、出力レジスタに記憶されたデジタルデータの所定のビットからなる部分に入力レジスタに記憶されたデジタルデータの所定のビットからなる部分を多重し、あるいは、出力レジスタに記憶されたデジタルデータの所定のビット以外のビットを抜き取った部分に入力レジスタに記憶されたデジタルデータの所定のビットからなる部分を補充することができ、かつ、この動作を1サイクルで行うことができる。このため、画像処理システムにおける符号化装置,および復号化装置に用いた場合に、コードの多重化処理、又は分離処理を高速に実行することが可能となる。また、第2の入力データを用いないようにすることにより、従来のシフタとして使用することができるため、汎用性を有するものとなる。
また、本発明の演算装置は、上記改良した演算装置において、上記出力ビット選択手段が、整数mを上記制御データとし、該制御データが入力されたとき、その一端からm番目までのビットがそれぞれ上記第2の入力データの同じ位のビットの値を有し、m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最上位側か最下位側かに関して同じである端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであるようにしたものである。この構成によれば、整数mが制御データとして入力されると、出力レジスタに記憶されたQビットのデジタルデータが、端からm番目までのビットがそのまま残り、他のビットに、入力レジスタに記憶されたデジタルデータの同じ側の端の部分がmビットづつシフトして移動するようにして更新される。このため、画像処理システムにおける符号化装置に用いた場合に、コードの多重化処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段が、その最上位側の端からm番目までのビットがそれぞれ上記第2の入力データの同じ位のビットの値を有し、m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最上位側の端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであるようにしたものである。従って、コードの最上位側の端からの多重化処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段が、その最下位側の端からm番目までのビットがそれぞれ上記第2の入力データの同じ位のビットの値を有し、m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最下位側の端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであるようにしたものである。従って、コードの最下位側の端からの多重化処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段は、上記整数mに加えて動作モード,シフト方向,及びシフト量を上記制御データとし、第1の動作を行うモードを表す動作モード,及び上記整数mを有する制御データが入力されたとき、上記動作を行い、第2の動作を行うモードを表す動作モード,上記シフト方向,及び上記シフト量を有する制御データが入力されたとき、上記第1の入力データを、ビットの値について、上記シフト方向へ上記シフト量だけシフトしてなるデジタルデータを、上記Qビットのデジタルデータとして出力するものであるようにしたものである。これにより、所定の制御データを入力するだけで従来例と同様にシフタとしても使用できる。その結果、高速で多重化処理可能な演算装置を、容易に汎用性を有するものとすることができ、かつ、多重化処理において必要とされるシフト動作を行うことができる。
また、本発明の演算装置は、上記改良した演算装置において、上記出力ビット選択手段が、整数mを上記制御データとし、該制御データが入力されたとき、その一端からQ−m番目までのビットが、それぞれ、順に、上記第2の入力データの最上位側か最下位側かに関して同じである端からm+1番目以降に並ぶビットの値を有し、Q−m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最上位側か最下位側かに関して同じである端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであるようにしたものである。この構成によれば、整数mが制御データとして入力されると、出力レジスタに記憶されたQビットのデジタルデータが、端からm番目までのビットが抜けて他のビットが、その分、該端側にシフトし、該シフトして空いたビットに入力レジスタに記憶されたデジタルデータの同じ側の端からm番目のビットまでの部分がQ−mビットづつシフトして移動するようにして更新される。このため、画像処理システムにおける復号化装置に用いた場合に、コードの分離処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段が、その最上位側の端からQ−m番目までのビットが、それぞれ、順に、上記第2の入力データの最上位側の端からm+1番目以降に並ぶビットの値を有し、Q−m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最上位側の端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであるようにしたものである。従って、コードの最上位側の端からの分離処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段が、その最下位側の端からQ−m番目までのビットが、それぞれ、順に、上記第2の入力データの最下位側の端からm+1番目以降に並ぶビットの順に有し、Q−m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最下位側の端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するようにしたものである。従って、コードの最下位側の端からの分離処理を高速に実行することができる。
また、本発明の演算装置は、上記さらに改良した演算装置において、上記出力ビット選択手段は、上記整数mに加えて動作モード,シフト方向,及びシフト量を上記制御データとし、第1の動作を行うモードを表す動作モード,及び上記整数mを有する制御データが入力されたとき、上記動作を行い、第2の動作を行うモードを表す動作モード,上記シフト方向,及び上記シフト量を有する制御データが入力されたとき、上記第1の入力データを、ビットの値について、上記シフト方向へ上記シフト量だけシフトしてなるデジタルデータを、上記Qビットのデジタルデータとして出力するものであるようにしたものである。これにより、所定の制御データを入力するだけで従来例と同様にシフタとしても使用できる。その結果、高速で分離処理可能な演算装置を、容易に汎用性を有するものとすることができる。
【図面の簡単な説明】
第1(a)図は、本発明の実施の形態1による演算装置の構成及び動作を示すブロック図であって、演算開始前の状態を示す図である。
第1(b)図は、本発明の実施の形態1による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図である。
第2図は、第1(a)図の演算装置における出力ビット選択手段の詳細な構成を示す回路図である。
第3図は、本発明の実施の形態2による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図である。
第4図は、第3図の演算装置における出力ビット選択手段の詳細な構成を示す回路図である。
第5(a)図は、本発明の実施の形態3による演算装置の構成及び動作を示すブロック図であって、演算開始前の状態を示す図である。
第5(b)図は、本発明の実施の形態3による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図である。
第6図は、第5(a)図の演算装置における出力ビット選択手段の詳細な構成を示す回路図である。
第7図は、本発明の実施の形態4による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図である。
第8図は、第7図の演算装置における出力ビット選択手段の詳細な構成を示す回路図である。
第9(a)図は、従来の画像処理システムにおけるソフトウェアによる多重化処理を示す模式図であって、ある順番のコードを含む処理単位データのマスク処理を示す図である。
第9(b)図は、従来の画像処理システムにおけるソフトウェアによる多重化処理を示す模式図であって、次の順番のコードを含む処理単位データのシフト処理を示す図である
第9(c)図は、従来の画像処理システムにおけるソフトウェアによる多重化処理を示す模式図であって、ある順番のコードへの次の順番のコードの多重化処理を示す図である。
第10(a)図は、従来の画像処理システムにおけるソフトウェアによる分離処理を示す模式図であって、ある処理単位データからある順番のコードを引き抜く処理を示す図である。
第10(b)図は、従来の画像処理システムにおけるソフトウェアによる分離処理を示す模式図であって、次の処理単位データのコードのシフト処理を示す図である。
第10(c)図は、従来の画像処理システムにおけるソフトウェアによる分離処理を示す模式図であって、コードを引き抜いた後の処理単位データに対する次の処理単位データからのデータの補充を示す図である。
第11図は、第2図の出力ビット選択手段における第1,第2のビット選択回路の詳細な構成を示す回路図である。
第12図は、第2図の出力ビット選択手段のシフト動作を示す回路図である。
第13図は、第1(a)図の演算装置のシフト動作を示す回路図である。
第14図は、従来の画像処理システムの構成を示すブロック図である。
発明を実施するための最良の形態
以下、本発明をより詳細に説明するために、添付図面に従って、本発明に係る演算装置の実施の形態を説明する。
実施の形態1.
本発明の実施の形態1は、符号化装置におけるビットストリーム送出回路に用いられる演算装置を示したものである。
第1(a)図,及び第1(b)図は、本実施の形態1による演算装置の構成及び動作を示すブロック図であり、第1(a)図は演算開始前の状態を示す図、第1(b)図は演算終了後の状態を示す図である。
これらの図において、演算装置は、コードを含むデータ110を取り込むための8ビットの入力レジスタ101と、多重化処理されたデータを後段のメモリ(図示せず)に出力するための8ビットの出力レジスタ107と、入力レジスタ101から出力される8ビットのデジタルデータ102を第1の入力データ、出力レジスタ107から出力される8ビットのデジタルデータ103を第2の入力データとし、制御データ104に従って、第1の入力データ102のビット,及び第2の入力データ103のビットの中からその値を出力すべきビットを選択し、該選択したビットの値からなる8ビットのデジタルデータ106を出力データとして出力レジスタ107に出力する出力ビット選択手段105とを有している。
入力レジスタ101には、従来の技術で説明したように(第9(a)図参照)、コードをMSB側に含んだ所定ビット長(本実施の形態1では8ビット)の処理単位データ110が、ビットストリーム送出回路の他の回路(図示せず)を介して入力される。IN0〜IN7、及びOUT0〜OUT7は、あるサイクルの開始時点において、それぞれ、入力レジスタ101、及び出力レジスタ107に格納(記憶)されているLSB〜MSBの各位のビットの値を表している。また、IN'0〜IN'7は、次のサイクルの開始時点において、入力レジスタ101に格納されているLSB〜MSBの各位のビットの値を表している。
出力ビット選択手段105には、上記制御データ104として、動作モードと残留コード長,又は動作モードとシフト量とシフト方向を含むデータが、ビットストリーム送出回路の主制御回路(図示せず)から入力される。
次に、出力ビット選択手段105の構成を詳しく説明する。第2図は、出力ビット選択手段105の構成を示す回路図である。
図において、出力ビット選択手段105は、第1のビット選択回路201と、第2のビット選択回路202と、入力データ選択回路と203と、セレクタ制御回路204とを有している。
第1のビット選択回路201,及び第2のビット選択回路202は、それぞれ、8つの入力端子201a,202aと、8つの出力端子201b,202bとを有している。第1のビット選択回路の8つの出力端子201bの各々は、第1のセレクタ制御信号311に従って、8つの入力端子201aのいずれかに接続されるように構成されており、同様に、第2のビット選択回路の8つの出力端子202bの各々は、第2のセレクタ制御信号312に従って、8つの入力端子202aのいずれかに接続されるように構成されている。ここで、第1,第2のビット選択回路201,202の入力端子201a,202a、及び出力端子201b,202bの各端子に付された0〜7の番号は、該各端子に入力される又は該各端子から出力される8ビットのデジタルデータのビットの位を表している。第1のビット選択回路201の入力端子201aの各端子は、入力レジスタの対応する位のビットの出力端子(図示せず)に接続され、第2のビット選択回路202の入力端子202aの各端子は、出力レジスタの対応する位のビットの出力端子(図示せず)に接続されている。
入力データ選択回路203は、第1のビット選択回路201の出力端子201b,及び第2のビット選択回路202の出力端子202bの対応する位のビットの出力端子について、各位のビットの出力端子毎に、それらのうちのいずれかを、第3のセレクタ制御信号313に従って選択し、該選択したものを、出力レジスタの対応する位のビットの入力端子(図示せず)に接続するよう構成されている。
ここで、図では、図を分かり易くするため、第1のビット選択回路201,及び第2のビット選択回路202における各出力端子201b,202bの入力端子201a,202aへの接続は、その出力が入力データ選択回路203で入力レジスタへの出力として選択されたもののみを実線で示している。なお、これら以外の各出力端子201b,202bの入力端子201a,202aへの接続は、入力データ選択回路203で出力として選択されないので、任意のものとすることができる。
セレクタ制御回路204は、制御データ104を入力とし、該制御データ104が入力されると、出力ビット選択手段105が制御データ104に示される動作をするような第1〜第3のセレクタ制御信号311〜313を生成し、該生成したセレクタ制御信号311〜313を、それぞれ、第1のビット選択回路201,第2のビット選択回路202,及び入力データ選択回路203に出力する。すなわち、セレクタ制御回路204は、第1のビット選択回路201,及び第2のビット選択回路202における入力端子への出力端子の接続、並びに入力データ選択回路203におけるビット毎の入力元の選択が、第1のビット選択回路201,第2のビット選択回路202,及び入力データ選択回路203全体で、制御データ104により要求される出力データを出力するものとなるようなセレクタ制御信号311〜313を出力する。従って、本実施の形態1による演算装置は、適宜な制御データを出力ビット選択手段105のセレクタ制御回路204に入力することにより、第1の入力データの各ビットの値,及び第2の入力データの各ビットの値のうちの任意のものを選択して組み合わせ、そのように組み合わせたものを出力データとして出力するように構成することができる。
本実施の形態1では、出力ビット選択手段105に、制御データ104として、多重化動作(第1の動作)を行う場合には動作モードと残留コード長、シフト動作(第2の動作)を行う場合には動作モードとシフト量とシフト方向を含むデータが入力され、出力ビット選択手段105では、セレクタ制御回路204が、第1のビット選択回路201,第2のビット選択回路202,及び入力データ選択回路203をして制御データ104の動作モード,残留コード長,シフト量,及びシフト方向に示された動作を可能ならしめるようなセレクタ制御信号311〜313を出力するように構成されている。
本図は、出力ビット選択手段105に、動作モードと残留コード長を有する制御データ104が入力された場合を示しており、この場合、制御データ104として、動作モードとして「多重化」、残留コード長として「mビット」の指示データを有するものが入力される。そしてこのような制御データ104が入力されると、例えばm=3である場合、出力ビット選択手段105では、第1のビット選択回路201においてMSB側の端から4(=m+1)番目から8番目までのビットの出力端子(4〜0の番号の出力端子)がMSB側の端から5番目までのビットの入力端子(7〜3の番号の入力端子)に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から4(=m+1)番目から8番目までのビットの入力端子(図示せず)への出力として選択され、第2のビット選択回路202においてMSB側の端から3(=m)番目までのビットの出力端子(7〜5の番号の出力端子)がMSB側の端から3(=m)番目までのビットの入力端子(7〜5の番号の入力端子)に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から3(−m)番目までのビットの入力端子(図示せず)への出力として選択される。
第11図は、出力ビット選択手段における第1のビット選択回路,及び第2のビット選択回路の構成を示す回路図である。
図において、第1のビット選択回路201と第2のビット選択回路202とは同じ構成を有しているため、これらを共通の図で示す。また、本図の説明では、第1のビット選択回路,及び第2のビット選択回路を単にビット選択回路201,202と記載する。
ビット選択回路201,202は、第1〜第8のセレクタ301〜308を有している。第1〜第8のセレクタ301〜308は、それぞれ、9つの入力端子と1つの出力端子とを有し、各セレクタ301〜308の9つの入力端子は、ビット選択回路201,202の入力端子201a,202a、及び“0"値入力線314にそれぞれ接続され、第1〜第8のセレクタ301〜308の出力端子は、ビット選択回路201,202の0〜7の番号の出力端子201b,202bにそれぞれ接続されている。また第1〜第8のセレクタ301〜308には、セレクタ制御信号311,312が入力されており、各セレクタ301〜308は、セレクタ制御信号311,312に従って、その出力端子を、その9つの入力端子のいずれかに接続する。従って、ビット選択回路201,202は、適宜なセレクタ制御信号311,312を入力することにより、その出力端子201b,202bの任意のものに、その入力端子201a,202a、及び“0"値入力線314のうちの任意のものを接続することができ、従って、入力端子201a,202aに入力される8ビットのデジタルデータ(ここでは第1の入力データ、又は第2の入力データ)の各ビットの値、又は“0"の値を任意に選択して組み合わせ、そのように組み合わせたものを8ビットのデジタルデータとして、その出力端子201b,202bから出力することができる。但し、本実施の形態1では、この組み合わせは、多重化処理又はシフト処理を行うことが可能なように行われ、ビット選択回路201,202には、そのように行うことが可能なようなセレクタ制御信号311,312が入力される。ここで、“0"値入力線314は、演算装置を従来例と同様のシフタとして動作させたときに、シフトにより生じる空きビットに“0"の値を入れるためのものである。
また、第2図の入力データ選択回路203も、本図に示すビット選択回路201,202と同様の構成を有している。すなわち、入力データ選択回路203は、入力データ及び出力データの各ビットに対応する8つのセレクタを有し、該8つのセレクタは、それぞれ、第1のビット選択回路201の出力端子,及び第2のビット選択回路202の出力端子に接続された2つ入力端子と、出力レジスタの入力端子に接続された1つの出力端子とを有し、該8つのセレクタが、第3のセレクタ制御信号313に従って、それぞれ、第1のビット選択回路201からの入力又は第2のビット選択回路202からの入力を選択し、該選択したものを入力レジスタへ出力するように構成されている。
第12図,及び第13図は、演算装置のシフト動作を示す回路図であり、第12図はシフト動作を行っている際、中の状態を示す図、第13図はシフト動作を行った後の状態を示す図である。
これらの図において、出力ビット選択手段105は、動作モードとしてシフトモードを示す制御データ104が入力されると、セレクタ制御回路204は、第1のビット選択回路201に対し、該第1のビット選択回路201をして、第1の入力データを、ビットについて制御データ104に示された方向及び量のシフトをして出力せしめるような第1のセレクタ制御信号311を出力するとともに、入力データ選択回路203に対し、該入力データ選択回路203をして、出力データの全てのビットについて、第1のビット選択回路201からの入力のみを選択して出力せしめるような第3の制御信号313を出力する。この第1のセレクタ制御信号311を受け、第1のビット選択回路201は、第1の入力データを制御データ104に示された方向及び量のシフトをして出力し、上記第3のセレクタ制御信号313を受け、入力データ選択回路203は、第1のビット選択回路201からの入力のみを選択して、これを入力レジスタに出力する。図では、左方向へ2ビットシフトした場合を示しており、シフトして生じた空きビットには“0"の値が入れられる。また、右シフトした場合には、シフトして生じた空きビットには“0"の値、又はMSBの値が入れられる。
次に、以上のように構成された演算装置の多重化処理の動作を、第1(a)図,第1(b)図,第2図,第11図,第12図,第13図を用いて説明する。
これらの図において、OUT0〜OUT7,IN0〜IN7,IN'0〜IN'7,及びIN"0〜IN"7は、それぞれ、従来技術で説明したiワード目,i+1ワード目,i+2ワード目,及びi+3ワード目のデータであり、また、OUT0〜OUT7,IN0〜IN7,及びIN'0〜IN'7は、それぞれ、3ビット,3ビット,及び4ビットのコード長のコードを有しているものとする。
また、あるサイクルの開始時点において、出力レジスタ107にOUT0〜OUT7のデータが、入力レジスタ101にIN0〜IN7に、それぞれ、格納されており、以降、入力レジスタ101に、順次、i+2ワード目,及びi+3ワード目のデータが入力されるものとする。
多重化処理においては、まず、あるサイクルの開始時点である第1(a)図の状態で、主制御回路から出力ビット選択手段105に、動作モードとして「多重化」、残留コード長として、出力レジスタ107に格納されているOUT0〜OUT7のデータに含まれるコードのコード長に相当する「3ビット」の指示データを有する制御データ104が入力される。
この入力を受け、出力ビット選択手段105では、セレクタ制御回路204が、第1のビット選択回路201,第2ビット選択回路202,及び入力データ選択回路203をして、以下の動作を行わしめるような第1〜第3の制御信号311〜313を出力する。
すなわち、第1のビット選択回路201においてMSB側の端から4番目から8番目までのビットの出力端子がMSB側の端から5番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から4番目から8番目までのビットの入力端子への出力として選択され、第2のビット選択回路202においてMSB側の端から3番目までのビットの出力端子がMSB側の端から3番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から3番目までのビットの入力端子への出力として選択される。これにより、出力レジスタ107に格納されているデータは、MSB側の端から3番目までのビットに、順に、OUT7,OUT6,OUT5の値を有し、4番目から8番目までのビットに、順に、IN7,IN6,IN5,IN4,IN3の値を有するデータに更新され、iワード目のデータのコードにi+1ワード目のデータのコードが多重化される。
次いで、次のサイクルが開始すると、第1(b)図に示すように、入力レジスタ101にi+2ワード目のデータが取り込まれ、該入力レジスタ101に格納されているデータがIN'7〜IN'0のデータに更新されるとともに、主制御回路から出力ビット選択手段105に、動作モードとして「多重化」、残留コード長として、出力レジスタ107に格納されているデータに含まれるiワード目のデータのコード,及びi+1ワード目のデータのコードの双方のコード長の和に相当する「6ビット」の指示データを有する制御データ104が入力される。
この入力を受け、出力ビット選択手段105は、上記と同様にして、MSB側の端から3番目までのビットに、順に、OUT7,OUT6,OUT5の値を有し、4番目から6番目までのビットに、順に、IN7,IN6,IN5の値を有し、7番目から8番目までのビットに、順に、IN'7,IN'6の値を有するデータを出力し、それにより、出力レジスタ107に格納されているデータがこのデータに更新される。これにより、iワード目のデータのコードにi+1ワード目のデータのコード,及びi+2ワード目のデータのコードの一部(半分)が多重化される。
これにより、出力レジスタ107がコードを多重化してなるデータで満たされたため、次のサイクルで、このデータがメモリに転送される。
次いで、次のサイクルが開始すると、第12図,及び第13図に示すように、主制御回路から出力ビット選択手段105に、動作モードとして「シフト」、シフト方向として「左方向」、及びシフト量として、i+2ワード目のデータのコードの残りの部分のビット長に相当する「2ビット」の指示データを有する制御データ104が入力される。
この入力を受け、出力ビット選択手段105では、セレクタ制御回路204が、第1のビット選択回路201,及び入力データ選択回路203をして、以下の動作を行わしめるような第1,第3の制御信号311,313を出力する。
すなわち、第1のビット選択回路201は、第1の入力データを左方向へ2ビットシフトして出力し、入力データ選択回路203は、第1のビット選択回路201からの入力のみを選択して、これを入力レジスタに出力する。
これにより、入力レジスタ101に格納されたIN'7〜IN'0のデータが左方向へ2ビットシフトされ、MSB側の端から、順に、IN'5,IN'4,IN'3,IN'2,IN'1,IN'0,0,0の値を有するデータが出力レジスタ107に格納される。
次いで、次のサイクルが開始すると、入力レジスタ101にi+3ワード目のデータが取り込まれ、以降、上記と同様にして多重化処理が行われる。
以上のように、本実施の形態1においては、出力レジスタ107に格納されたデジタルデータと入力レジスタ101に格納されたデジタルデータとが制御データ104に従ってビット単位で組み合わされ、その組み合わせにより生成されたデジタルデータ106が出力レジスタ107に出力され、かつ、この動作を1サイクルで行うことができるので、画像処理システムにおける符号化装置に用いた場合に、コードの多重化処理を高速に実行することができる。
実施の形態2.
本発明の実施の形態2は、符号化装置におけるビットストリーム送出回路に用いられる演算装置を示したものである。
第3図は、本実施の形態2による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図、第4図は第3図の演算装置の出力ビット選択手段の詳細な構成を示す回路図である。
これらの図において、第1図(a),第1図(b),及び第2図と同一符号は同一又は相当する部分を示し、本実施の形態2による演算装置は、入力レジスタ101に入力される処理単位データ110がLSB側の端にコードを有しており、従って、出力レジスタ107に格納されているデータがLSB側の端から多重化されていくように構成されている点が実施の形態1と異なっているものである。
すなわち、実施の形態1の第1(a)図に示す状態で、主制御回路から出力ビット選択手段105に、残留コード長として「3ビット」を有する制御データ104が入力されると、出力ビット選択手段105では、セレクタ制御回路204が、第1のビット選択回路201,第2ビット選択回路202,及び入力データ選択回路203をして、以下の動作を行わしめるような第1〜第3の制御信号311〜313を出力する。
すなわち、第1のビット選択回路201においてLSB側の端から4番目から8番目までのビットの出力端子がLSB側の端から5番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのLSB側の端から4番目から8番目までのビットの入力端子への出力として選択され、第2のビット選択回路202においてLSB側の端から3番目までのビットの出力端子がLSB側の端から3番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのLSB側の端から3番目までのビットの入力端子への出力として選択される。これにより、出力レジスタ107に格納されているデータは、LSB側の端から3番目までのビットに、順に、OUT0,OUT1,OUT2の値を有し、4番目から8番目までのビットに、順に、IN0,IN1,IN2,IN3,IN4の値を有するデータに更新される。これにより、iワード目のデータのコードにi+1ワード目のデータのコードがLSB側の端から多重化される。
従って、本実施の形態2によれば、コードのLSB側の端からの多重化処理を高速に実行することができる。
実施の形態3.
本発明の実施の形態3は、復号化装置におけるビットストリーム取り込み回路に用いられる演算装置を示したものである。
第5(a)図,及び第5(b)図は、本実施の形態3による演算装置の構成及び動作を示すブロック図であり、第5(a)図は演算開始前の状態を示す図、第5(b)図は演算終了後の状態を示す図である。
図において、第1(a)図,及び第1(b)図と同一符号は同一又は相当する部分を示し、本実施の形態3による演算装置は、分離処理を行うように構成されている点が実施の形態1と異なっているものである。
すなわち、入力レジスタ101には、従来の技術で説明したように(第10(a)図参照)、ビットストリーム110が、ビットストリーム取り込み回路の他の回路(図示せず)を介して入力され、入力レジスタ101は、このビットストリーム110を、分離すべきコードをMSB側から順に含むようにして、その記憶容量に相当する所定ビット長(本実施の形態3では8ビット)のデータ単位で取り込む。そして、この入力レジスタ101に取り込んだデータ単位で分離処理が行われる。
また、出力レジスタ107は可変長復号化回路に接続されており、該出力レジスタ107に格納されているデジタルデータのMSB側の端に位置するコードが可変長復号化回路により可変長復号化される。
また、出力ビット選択手段105には、制御データ104として、動作モードとコード長,又は動作モードとシフト量とシフト方向を含むデータが、ビットストリーム取り込み回路の主制御回路(図示せず)から入力される。
次に、出力ビット選択手段105の構成を詳しく説明する。第6図は、本実施の形態3における出力ビット選択手段105の構成を示す回路図である。
図において、第2図と同一符号は同一又は相当する部分を示している。
分離動作(第1の動作)を行う場合は、出力ビット選択手段105に、制御データ104として、動作モードとコード長を含むデータが入力される。この場合、制御データ104は、動作モードとして「分離」、コード長として、出力レジスタのMSB側の端に位置するコードのコード長に相当する「mビット」の指示データを有するものとされる。また、シフト動作(第2の動作)を行う場合は、制御データ104として、動作モードとシフト量とシフト方向を含むデータが入力される。
出力ビット選択手段105に、動作モードとして「分離」、コード長として例えば「3ビット」の指示データを有する制御データが入力されると、出力ビット選択手段105では、セレクタ制御回路204が、第1のビット選択回路201,第2のビット選択開路202,及び入力データ選択回路203をして分離動作を可能ならしめるようなセレクタ制御信号311〜313を出力する。
すなわち、第2のビット選択回路202においてMSB側の端から5(=8−m)番目までのビットの出力端子がMSB側の端から4(=m+1)番目から8番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から5(=8−m)番目までのビットの入力端子(図示せず)への出力として選択され、第1のビット選択回路201においてMSB側の端から6(=8−m+1)番目から8番目までのビットの出力端子がMSB側の端から3(=m)番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から6(=8−m+1)番目から8番目までのビットの入力端子(図示せず)への出力として選択される。
また、出力ビット選択手段105に、動作モードとシフト量とシフト方向を含む制御データ104が入力された場合の動作は、実施の形態1と全く同様である。
次に、以上のように構成された演算装置の分離処理の動作を、第5(a)図,第5(b)図,第6図を用いて説明する。
これらの図において、OUT0〜OUT7,及びIN0〜IN7,及びIN'0〜IN'7(図示せず)は、それぞれ、従来技術で説明したjワード目のデータ,j+1ワード目のデータ,及びj+2ワード目のデータであり、OUT0〜OUT7は、MSB側の端から順に3ビットのコード長のコード(i),3ビットのコード長のコード(i+1),4ビットのコード長のコード(j+2)の半分を有しており、IN0〜IN7は、MSB側の端にコード(i+2)の残り半分を有しているものとする。
また、あるサイクルの開始時点において、出力レジスタ107にOUT0〜OUT7のデータが、入力レジスタ101にIN0〜IN7が、それぞれ、格納されており、以降、入力レジスタ101に、順次、j+2ワード目以降のデータが入力されるものとする。
分離処理においては、まず、あるサイクルの開始時点である第5(a)図の状態で、出力レジスタ107に格納されているOUT0〜OUT7のデータのMSB側の端に位置するコード(i)が復号化される。
次いで、主制御回路から出力ビット選択手段105に、動作モードとして「分離」、コード長として、出力レジスタ107に格納されているOUT0〜OUT7のデータのMSB側の端に位置するコード(i)のコード長に相当する「3ビット」を有する制御データ104が入力される。
この入力を受け、出力ビット選択手段105では、セレクタ制御回路204が、第1のビット選択回路201,第2ビット選択回路202,及び入力データ選択回路203をして、以下の動作を行わしめるような第1〜第3の制御信号311〜313を出力する。
すなわち、第2のビット選択回路202においてMSB側の端から5番目までのビットの出力端子がMSB側の端から4番目から8番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から5番目までのビットの入力端子への出力として選択され、第1のビット選択回路201においてMSB側の端から6番目から8番目までのビットの出力端子がMSB側の端から3番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのMSB側の端から6番目から8番目までのビットの入力端子への出力として選択される。これにより、出力レジスタ107に格納されているデータは、MSB側の端から5番目までのビットに、順に、OUT4,OUT3,OUT2,OUT1,OUT0の値を有し、6番目から8番目までのビットに、順に、IN7,IN6,IN5の値を有するデータに更新され、jワード目のデータからコード(i)が分離され(引き抜かれ)、該jワード目のデータの空いたビットにj+1ワード目のデータの一部が補充される(第5(b)図)。
次いで、次のサイクルにおいて、出力レジスタ107に格納されているOUT4,OUT3,OUT2,OUT1,OUT0,IN7,IN6,IN5のデータのうち、コード(i+1)に相当する部分であるOUT4,OUT3,OUT2の部分が復号化される。次いで、コード長としてコード(i+1)のコード長に相当する「3ビット」を有する制御データ104が入力され、上記と同様にして、出力レジスタ107に格納されているデータが、MSB側の端から順に、OUT1,OUT0,IN7,IN6,IN5,IN4,IN3,IN2の値を有するデータに更新される。これにより、jワード目のデータからコード(i+1)が分離され、該jワード目のデータの空いたビットにj+1ワード目のデータのIN7,IN6,IN5,IN4,IN3,IN2の部分が補充される。
次いで、次のサイクルにおいて、出力レジスタ107に格納されているOUT1,OUT0,IN7,IN6,IN5,IN4,IN3,IN2のデータのうち、コード(i+2)の半分に相当する部分であるOUT1,OUT0の部分が復号化される。次いで、コード長としてコード(i+2)の半分のコード長に相当する「2ビット」を有する制御データ104が入力され、上記と同様にして、出力レジスタ107に格納されているデータが、MSB側の端から順に、IN7,IN6,IN5,IN4,IN3,IN2,IN1,IN0の値を有するデータに更新される。これにより、jワード目のデータからコード(i+1)の半分が分離され、該jワード目のデータの空いたビットにj+1ワード目のデータの全部であるIN7,IN6,IN5,IN4,IN3,IN2,IN1,IN0のデータが補充される。
これにより、入力レジスタ101に取り込まれたj+1ワード目のデータが空になった(出力レジスタ107に全て移動した)ので、次のサイクルにおいて、入力レジスタ101にj+2ワード目のデータであるIN'0〜IN'7のデータが取り込まれる。
次いで、次のサイクルにおいて、出力レジスタ107に格納されているIN7,IN6,IN5,IN4,IN3,IN2,IN1,IN0のデータのうち、コード(i+2)の残り半分に相当する部分であるIN7,IN6の部分が復号化される。次いで、コード長としてコード(i+2)の残り半分のコード長に相当する「2ビット」を有する制御データ104が入力され、上記と同様にして、出力レジスタ107に格納されているデータが、MSB側の端から順に、IN5,IN4,IN3,IN2,IN1,IN0,IN'7,IN'6の値を有するデータに更新される。これにより、j+1ワード目のデータからコード(i+2)の残り半分が分離され、該j+1ワード目のデータの空いたビットにj+2ワード目のデータのIN'7,IN'6の部分が補充される。
以降、上記と同様にして分離処理が行われる。
以上のように、本実施の形態3においては、コード長として「mビット」を有する制御データ104が入力されると、出力レジスタ107に格納された8ビットのデジタルデータが、MSB側の端からm番目までのビットが抜けて他のビットが、その分、MSB側にシフトし、該シフトして空いたビットに入力レジスタ101に格納されたデジタルデータのMSB側の端からm番目のビツトまでの部分が8−mビットづつシフトして移動するようにして更新され、かつこの動作が1サイクルで行われるので、画像処理システムにおける復号化装置に用いた場合に、コードの分離処理を高速に実行することができる。
実施の形態4.
本発明の実施の形態4は、復号化装置におけるビットストリーム取り込み回路に用いられる演算装置を示したものである。
第7図は、本実施の形態4による演算装置の構成及び動作を示すブロック図であって、演算終了後の状態を示す図、第8図は第7図の演算装置の出力ビット選択手段の詳細な構成を示す回路図である。
これらの図において、第5図(a),第5図(b),及び第6図と同一符号は同一又は相当する部分を示し、本実施の形態4による演算装置は、入力レジスタ101が、入力されるビットストリームを、分離すべきコードをLSB側から順に含むようにして取り込み、かつ出力レジスタ107に格納されているデータのLSB側の端に位置するコードが可変長復号化されるように構成されている点が実施の形態3と異なっているものである。
すなわち、実施の形態3の第5(a)図に示す状態で、主制御回路から出力ビット選択手段105に、コード長として「3ビット」の指示データを有する制御データが入力されると、出力ビット選択手段105では、セレクタ制御回路204が、第1のビット選択回路201,第2のビット選択回路202,及び入力データ選択回路203をして、以下の動作を行わしめるようなセレクタ制御信号311〜313を出力する。
すなわち、第2のビット選択回路202においてLSB側の端から5番目までのビットの出力端子がLSB側の端から4番目から8番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのLSB側の端から5番目までのビットの入力端子への出力として選択され、第1のビット選択回路201においてLSB側の端から6番目から8番目までのビットの出力端子がLSB側の端から3番目までのビットの入力端子に接続されるとともに、これらの出力が入力データ選択回路203で入力レジスタのLSB側の端から6番目から8番目までのビットの入力端子への出力として選択される。
これにより、出力レジスタ107に格納されているデータは、LSB側の端から5番目までのビットに、順に、OUT3,OUT4,OUT5,OUT6,OUT7の値を有し、6番目から8番目までのビットに、順に、IN0,IN1,IN2の値を有するデータに更新され、jワード目のデータからコード(i)が分離され、該jワード目のデータの空いたビットにj+1ワード目のデータの一部が補充される(第7図)。
従って、本実施の形態4によれば、コードのLSB側の端からの分離処理を高速に実行することができる。
なお、上記実施の形態1〜4では、第1の入力データのビット長と出力データのビット長とを同じにしているが、第1の入力データnビット長と出力データのビット長とを異なるようにしてもよい。
また、上記実施の形態1,2では演算装置を多重化処理に用いているが、これらの演算装置の用途はこれに限定されるものではなく、例えば、画像処理装置において、2種類の8ビット長の画像データを結合せしめて16ビット長の画像メモリに格納するような場合におけるその2種類の8ビット長の画像データの結合処理に用いることができる。また、上記実施の形態3,4では演算装置を分離処理に用いているが、これらの演算装置の用途はこれに限定されるものではなく、例えば、上記画像処理装置において、画像メモリに格納された16ビット長の画像データを取り出して2種類の8ビット長の画像データに分離するような場合におけるその16ビット長の画像データの分離処理に用いることができる。
また、上記実施の形態1〜4による演算装置は、従来のシフタとして使用することができ、例えば、第14図に示す符号化装置1,及び復号化装置9の各回路3〜5、11〜13において、シフタとして用いることができる。この場合、上記実施の形態1〜4で説明したように、所定の制御データを入力することによりシフタとして動作せしめることができる。このように、上記実施の形態1〜4による演算装置は、従来のシフタとして使用することができるため、汎用性を有するものとなる。
産業上の利用可能性
以上のように、本発明に係る演算装置は画像処理システムにおいてコードの多重化装置,及びコードの分離処理を行う演算装置として有用であり、特に高速処理が必要とされる画像処理システムに用いるのに適している。
Claims (9)
- 外部から入力されるデジタルデータを、Pビットのデジタルデータとして、後のデータで先のデータを更新するようにして記憶し、該記憶したPビットのデジタルデータを出力する入力レジスタと、
デジタルデータを入力とし、該入力されるデジタルデータを、Qビットのデジタルデータとして、後のデータで先のデータを更新するようにして記憶し、該記憶したQビットのデジタルデータを出力する出力レジスタと、
上記入力レジスタから出力されるPビットのデジタルデータを第1の入力データ、上記出力レジスタから出力されるQビットのデジタルデータを第2の入力データとし、外部から入力される制御データに従って、該第1の入力データのビット,及び該第2の入力データのビットの中からその値を出力すべきビットを選択し、該選択したビットの値からなるQビットのデジタルデータを上記出力レジスタに出力する出力ビット選択手段とを備えたことを特徴とする演算装置。 - 請求の範囲第1項に係る演算装置において、
上記出力ビット選択手段は、整数mを上記制御データとし、
該制御データが入力されたとき、その一端からm番目までのビットがそれぞれ上記第2の入力データの同じ位のビットの値を有し、m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最上位側か最下位側かに関して同じである端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであることを特徴とする演算装置。 - 請求の範囲第2項に係る演算装置において、
上記出力ビット選択手段は、その最上位側の端からm番目までのビットがそれぞれ上記第2の入力データの同じ位のビットの値を有し、m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最上位側の端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであることを特徴とする演算装置。 - 請求の範囲第2項に係る演算装置において、
上記出力ビット選択手段は、その最下位側の端からm番目までのビットがそれぞれ上記第2の入力データの同じ位のビットの値を有し、m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最下位側の端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであることを特徴とする演算装置。 - 請求の範囲第2項に係る演算装置において、
上記出力ビット選択手段は、上記整数mに加えて動作モード,シフト方向,及びシフト量を上記制御データとし、
第1の動作を行うモードを表す動作モード,及び上記整数mを有する制御データが入力されたとき、上記動作を行い、
第2の動作を行うモードを表す動作モード,上記シフト方向,及び上記シフト量を有する制御データが入力されたとき、上記第1の入力データを、ビットの値について、上記シフト方向へ上記シフト量だけシフトしてなるデジタルデータを、上記Qビットのデジタルデータとして出力するものであることを特徴とする演算装置。 - 請求の範囲第1項に係る演算装置において、
上記出力ビット選択手段は、整数mを上記制御データとし、
該制御データが入力されたとき、その一端からQ−m番目までのビットが、それぞれ、順に、上記第2の入力データの最上位側か最下位側かに関して同じである端からm+1番目以降に並ぶビットの値を有し、Q−m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最上位側か最下位側かに関して同じである端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであることを特徴とする演算装置。 - 請求の範囲第6項に係る演算装置において、
上記出力ビット選択手段は、その最上位側の端からQ−m番目までのビットが、それぞれ、順に、上記第2の入力データの最上位側の端からm+1番目以降に並ぶビットの値を有し、Q−m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最上位側の端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであることを特徴とする演算装置。 - 請求の範囲第6項に係る演算装置において、
上記出力ビット選択手段は、その最下位側の端からQ−m番目までのビットが、それぞれ、順に、上記第2の入力データの最下位側の端からm+1番目以降に並ぶビットの値を有し、Q−m+1番目以降のビットが、それぞれ、順に、上記第1の入力データの最下位側の端から並ぶビットの値を有するデジタルデータを、上記Qビットのデジタルデータとして出力するものであることを特徴とする演算装置。 - 請求の範囲第6項に係る演算装置において、
上記出力ビット選択手段は、上記整数mに加えて動作モード,シフト方向,及びシフト量を上記制御データとし、
第1の動作を行うモードを表す動作モード,及び上記整数mを有する制御データが入力されたとき、上記動作を行い、
第2の動作を行うモードを表す動作モード,上記シフト方向,及び上記シフト量を有する制御データが入力されたとき、上記第1の入力データを、ビットの値について、上記シフト方向へ上記シフト量だけシフトしてなるデジタルデータを、上記Qビットのデジタルデータとして出力するものであることを特徴とする演算装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14961997 | 1997-06-06 | ||
PCT/JP1998/002493 WO1998055917A1 (fr) | 1997-06-06 | 1998-06-05 | Dispositif arithmetique |
Publications (1)
Publication Number | Publication Date |
---|---|
JP3602855B2 true JP3602855B2 (ja) | 2004-12-15 |
Family
ID=15479183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50207199A Expired - Lifetime JP3602855B2 (ja) | 1997-06-06 | 1998-06-05 | 演算装置 |
Country Status (8)
Country | Link |
---|---|
US (3) | US6535899B1 (ja) |
EP (1) | EP0996056A4 (ja) |
JP (1) | JP3602855B2 (ja) |
KR (1) | KR100336235B1 (ja) |
CN (3) | CN101051263A (ja) |
CA (1) | CA2293584C (ja) |
TW (1) | TW374885B (ja) |
WO (1) | WO1998055917A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW374885B (en) * | 1997-06-06 | 1999-11-21 | Matsushita Electric Ind Co Ltd | The arithmetic unit |
US6490673B1 (en) * | 1998-11-27 | 2002-12-03 | Matsushita Electric Industrial Co., Ltd | Processor, compiling apparatus, and compile program recorded on a recording medium |
JP4058223B2 (ja) * | 1999-10-01 | 2008-03-05 | 日本碍子株式会社 | 圧電/電歪デバイス及びその製造方法 |
EP1543451A4 (en) * | 2002-07-12 | 2010-11-17 | Cadence Design Systems Inc | PROCESS AND SYSTEM FOR CONTEX-SPECIFIC MASK WRITING |
US20060101105A1 (en) * | 2004-11-10 | 2006-05-11 | Roy Glasner | Double shift mechanism and methods thereof |
US7548727B2 (en) * | 2005-10-26 | 2009-06-16 | Broadcom Corporation | Method and system for an efficient implementation of the Bluetooth® subband codec (SBC) |
US8275978B1 (en) * | 2008-07-29 | 2012-09-25 | Marvell International Ltd. | Execution of conditional branch instruction specifying branch point operand to be stored in jump stack with branch destination for jumping to upon matching program counter value |
JP5815390B2 (ja) | 2011-12-08 | 2015-11-17 | ルネサスエレクトロニクス株式会社 | 半導体装置及び画像処理方法 |
US11385897B2 (en) * | 2019-10-01 | 2022-07-12 | Marvell Asia Pte, Ltd. | Merge execution unit for microinstructions |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4139899A (en) * | 1976-10-18 | 1979-02-13 | Burroughs Corporation | Shift network having a mask generator and a rotator |
US4914675A (en) * | 1988-01-28 | 1990-04-03 | General Electric Company | Apparatus for efficiently packing data in a buffer |
US5130578A (en) * | 1989-11-30 | 1992-07-14 | Hughes Aircraft Company | Efficient high speed N-word comparator |
US5099445A (en) * | 1989-12-26 | 1992-03-24 | Motorola, Inc. | Variable length shifter for performing multiple shift and select functions |
US5125011A (en) * | 1990-02-13 | 1992-06-23 | Chips & Technologies, Inc. | Apparatus for masking data bits |
JPH0520029A (ja) | 1991-07-09 | 1993-01-29 | Matsushita Electric Ind Co Ltd | デジタル掛算器 |
US5321398A (en) * | 1991-09-27 | 1994-06-14 | Sony Corporation | Variable length coder and data packing circuit |
JPH05165602A (ja) * | 1991-12-16 | 1993-07-02 | Toshiba Corp | バレルシフタ |
US5715470A (en) * | 1992-09-29 | 1998-02-03 | Matsushita Electric Industrial Co., Ltd. | Arithmetic apparatus for carrying out viterbi decoding at a high speed |
US5493523A (en) * | 1993-12-15 | 1996-02-20 | Silicon Graphics, Inc. | Mechanism and method for integer divide involving pre-alignment of the divisor relative to the dividend |
TW237534B (en) * | 1993-12-21 | 1995-01-01 | Advanced Micro Devices Inc | Method and apparatus for modifying the contents of a register via a command bit |
US5487159A (en) * | 1993-12-23 | 1996-01-23 | Unisys Corporation | System for processing shift, mask, and merge operations in one instruction |
US5535899A (en) * | 1995-04-11 | 1996-07-16 | Carlson; Dave M. | Reinforced nursing nipple |
GB9509988D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Matrix transposition |
TW374885B (en) * | 1997-06-06 | 1999-11-21 | Matsushita Electric Ind Co Ltd | The arithmetic unit |
-
1998
- 1998-06-04 TW TW087108832A patent/TW374885B/zh not_active IP Right Cessation
- 1998-06-05 US US09/445,059 patent/US6535899B1/en not_active Expired - Lifetime
- 1998-06-05 EP EP98923137A patent/EP0996056A4/en not_active Ceased
- 1998-06-05 CN CNA2007100921270A patent/CN101051263A/zh active Pending
- 1998-06-05 KR KR1019997011455A patent/KR100336235B1/ko not_active IP Right Cessation
- 1998-06-05 CN CNA2007101410732A patent/CN101101538A/zh active Pending
- 1998-06-05 JP JP50207199A patent/JP3602855B2/ja not_active Expired - Lifetime
- 1998-06-05 CN CNB988058553A patent/CN100340971C/zh not_active Expired - Lifetime
- 1998-06-05 CA CA002293584A patent/CA2293584C/en not_active Expired - Fee Related
- 1998-06-05 WO PCT/JP1998/002493 patent/WO1998055917A1/ja active IP Right Grant
-
2003
- 2003-02-14 US US10/366,355 patent/US6901419B2/en not_active Expired - Lifetime
-
2004
- 2004-11-29 US US10/998,012 patent/US7676527B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2293584C (en) | 2002-05-14 |
TW374885B (en) | 1999-11-21 |
EP0996056A4 (en) | 2004-12-29 |
CN100340971C (zh) | 2007-10-03 |
US20050108307A1 (en) | 2005-05-19 |
KR100336235B1 (ko) | 2002-05-09 |
US20030126167A1 (en) | 2003-07-03 |
KR20010013452A (ko) | 2001-02-26 |
CN101051263A (zh) | 2007-10-10 |
CA2293584A1 (en) | 1998-12-10 |
WO1998055917A1 (fr) | 1998-12-10 |
CN1259211A (zh) | 2000-07-05 |
US7676527B2 (en) | 2010-03-09 |
US6535899B1 (en) | 2003-03-18 |
US6901419B2 (en) | 2005-05-31 |
CN101101538A (zh) | 2008-01-09 |
EP0996056A1 (en) | 2000-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1162847B1 (en) | Variable length decoder | |
US4472788A (en) | Shift circuit having a plurality of cascade-connected data selectors | |
US7109896B2 (en) | Variable length coding apparatus and variable length coding method | |
KR100455011B1 (ko) | 정값화처리및포화연산처리로이루어진라운딩처리를적합하게행할수있는프로세서 | |
JP2000059234A (ja) | 可変長符号処理装置 | |
JPH0799812B2 (ja) | 信号符号化装置および信号復号化装置、並びに信号符号化復号化装置 | |
JP3602855B2 (ja) | 演算装置 | |
CN100538624C (zh) | 用于处理数据的方法和设备 | |
US4745569A (en) | Decimal multiplier device and method therefor | |
EP0658982B1 (en) | System for bi-level symbol coding-decoding with saved storage and method for the same | |
US5359549A (en) | Orthogonal transformation processor for compressing information | |
EP1795014B1 (en) | Programmable data processor for a variable length encoder/decoder | |
JPH0946237A (ja) | 可変長コードの符号化及び分割装置 | |
EP0683569B1 (en) | Decoding circuit for variable length code | |
JPH06121172A (ja) | 画像符号化装置 | |
JP3083532B2 (ja) | 情報信号復号装置 | |
EP0928114B1 (en) | Video data decoding apparatus | |
EP0928113A1 (en) | Method and apparatus for data manipulation | |
JP3108243B2 (ja) | 符号化及び復号化装置 | |
JPH1198026A (ja) | 可変長符号接続装置 | |
JPH0799492B2 (ja) | ビツトシフト装置 | |
JPH0789620B2 (ja) | デ−タ復号装置 | |
JPH11112354A (ja) | ビットストリーム供給回路 | |
JPH04263317A (ja) | 演算装置 | |
JPS6331372A (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: 20040831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040927 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081001 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091001 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101001 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111001 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121001 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 9 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |