JP3729540B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP3729540B2
JP3729540B2 JP23167495A JP23167495A JP3729540B2 JP 3729540 B2 JP3729540 B2 JP 3729540B2 JP 23167495 A JP23167495 A JP 23167495A JP 23167495 A JP23167495 A JP 23167495A JP 3729540 B2 JP3729540 B2 JP 3729540B2
Authority
JP
Japan
Prior art keywords
data
instruction
memory
image data
length codes
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
JP23167495A
Other languages
English (en)
Other versions
JPH0984004A (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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=16927212&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3729540(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP23167495A priority Critical patent/JP3729540B2/ja
Priority to US08/611,051 priority patent/US6009205A/en
Priority to DE1996628980 priority patent/DE69628980T2/de
Priority to EP19960104508 priority patent/EP0762328B1/en
Priority to KR1019960019853A priority patent/KR100261374B1/ko
Publication of JPH0984004A publication Critical patent/JPH0984004A/ja
Priority to US10/029,385 priority patent/USRE39645E1/en
Publication of JP3729540B2 publication Critical patent/JP3729540B2/ja
Application granted granted Critical
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Description

【0001】
【発明の属する技術分野】
本発明は圧縮された画像データを伸張する画像処理装置に関する。特に、画像データの伸張処理の内の演算を多く含む部分を汎用マイクロプロセッサがソフトウェアで処理し、メモリからのデータ読み出しを多く含む処理を専用回路がハードウェアで処理することにより、汎用マイクロプロセッサと専用回路とが協調動作して効率よく画像データを伸張する画像処理装置に関する。
【0002】
【従来の技術】
画像データは非常に大きいデータであるため、それを蓄積したり、あるいは通信する際にはディジタルデータに符号化し、更に圧縮して扱う場合が多い。特に、動画像の符号化及び圧縮に関しては従来既に多くの研究がなされており、国際標準化機構によりMPEG(Moving Picture Experts Group)等の標準となる画像データのフォーマットが定められている。
【0003】
MPEG標準として定められた動画データに代表される圧縮された画像データから元の画像データを再現するためにはデータの伸張処理が必要である。そのような目的で、これまでにHyundai Electronics America 社のHDM8211M, 三菱電機株式会社のM65771FP及びM65770FP等の種々の動画データ伸張処理用LSI の開発がなされてきた。たとえば、HDM8211Mに関しては文献Dave Bursky, "Single Chip Performs Both Audio and Video Decoding," Elecronic Design, April 3, 1995 に記述されている。
【0004】
【発明が解決しようとする課題】
しかし、これらの動画データの伸張処理を行なう従来の専用LSI は伸張処理のアルゴリズムに従って多くの演算器を集積した構成を採用しているため、ハードウェアの規模が大きく、価格も高価であった。また、それらはいずれも専用LSI として構成されていて他の用途には使用できないため、画像データの種類に比例した種類のLSI を開発する必要が生じる等、使用目的に柔軟に対応できないという問題があった。
【0005】
このような問題を解決するために、専用ハードウェアを用いず、汎用マイクロプロセッサにいくつかのMPEG画像データ処理専用の命令を追加することにより、ソフトウェアで画像データの伸張処理を行なう試みもなされている。このような試みに関してはたとえば文献Ruby B. Lee, "Acceleratring Multimedia with Enhanced Microprocessors," IEEE Micro, pp. 22-32, April 1995. に記述されている。しかし、汎用プロセッサの演算性能あるいはメモリアクセス速度に比べて、MPEG標準の画像データの伸張処理の負荷は過大であり、従来のソフトウェア処理では低品質の動画データの伸張処理あるいは非実時間の伸張処理は可能ではあるものの、高品質の動画データの実時間伸張処理は不可能であった。
【0006】
本発明は上述のような問題点に鑑みてなされたものであり、ソフトウェア処理を行なう汎用マイクロプロセッサとハードウェア処理を行なう周辺回路とを協調動作させることにより、MPEGに代表される画像データの伸張処理を効率的に行なうことが可能であり、且つ製造コストの面でも比較的安価な画像処理装置の提供を目的とする。
【0007】
【課題を解決するための手段】
本発明に係る画像処理装置は端的には、逆離散型コサイン変換等のような比較的複雑な演算を多く含む部分は並列処理可能な高性能汎用プロセッサを用いてソフトウェアで処理し、フレーム間予測符号化画像の処理のための他フレームデータの読み出し等のような比較的単純な処理内容ではあるがメモリを頻繁にアクセスする処理及び可変長符号化された画素値のデコード処理等のような比較的単純な演算ではあるが並列化が本質的に困難な処理は専用の周辺回路を用いてハードウェアで処理し、ソフトウェア処理を行なう汎用マイクロプロセッサとハードウェア処理を行なう周辺回路とを協調動作させるような構成を採っている。
【0008】
本発明に係る画像処理装置の第1の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、該プロセッサ部に接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記プロセッサ部へ出力する可変長符号デコード部とを備えている
【0009】
この第1の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記可変長符号デコード部から出力された第2の種類のデータを画像データに復元して出力する
【0010】
本発明に係る画像処理装置の第2の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、該メモリに接続しており、複数の固定長符号からなるデータを画像データに復元するためのプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、前記メモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記メモリに書き込む可変長符号デコード部とを備えている
【0011】
この第2の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記メモリに前記可変長符号デコード部が書き込んだ第2の種類のデータを読み出して画像データに復元して出力する
【0012】
本発明に係る画像処理装置の第3の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の可変長符号からなるデータを画像データに復元するためのプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、該プロセッサ部に接続しており、復元されるべき画像データの元となる元画像データを前記プロセッサ部へ出力するデータロード部とを備えている
【0013】
この第3の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、第3の種類のデータと前記データロード部から出力された元画像データとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力する
【0014】
本発明に係る画像処理装置の第4の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、該メモリに接続しており、複数の可変長符号からなるデータを画像データに復元するためのプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、前記メモリに接続しており、復元されるべき画像データの元となる元画像データを前記メモリに書き込むデータロード部とを備えている
【0015】
この第4の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、前記メモリに前記データロード部が書き込んだ元画像データを読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力する
【0016】
本発明に係る画像処理装置の第5の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、該メモリに接続しており、複数の可変長符号からなるデータを画像データに復元するためのプログラムの複数の命令をデコードする命令デコーダと、該命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、前記メモリに接続しており、復元されるべき画像データの元となる元画像データを半画素単位又は整数画素単位で前記メモリから読み出すデータ読み出し部と、該データ読み出し部に接続しており、半画素単位で処理される場合は前記読み出し部により読み出された元画像データの少なくとも二つの隣接する画素のデータを加算し、整数画素単位で処理される場合は前記読み出し部により読み出された元画像データの画素のデータのビット幅を拡張する加算部と、該加算部に接続しており、前記加算部による加算結果又は前記加算部によりビット幅が拡張されたデータを前記メモリに書き込むデータ書き込み部とを含むデータロード部とを備えている
【0017】
この第5の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラム命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、半画素単位で処理される場合は前記メモリに前記データロード部により書き込まれた加算結果のデータを読み出すことにより、整数画素単位で処理される場合は前記メモリに前記データロード部により書き込まれたビット幅が拡張されたデータを読み出すことにより、第3の種類のデータと加算結果のデータ又はビット幅が拡張されたデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力すると共に、元画像データとして前記メモリへ出力する
【0018】
本発明に係る画像処理装置の第6の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、該プロセッサ部に接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記プロセッサ部へ出力する可変長符号デコード部と、前記プロセッサ部に接続しており、復元されるべき画像データの元となる元画像データを前記プロセッサ部へ出力するデータロード部とを備えている
【0019】
この第6の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記可変長符号デコード部から出力された第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、第3の種類のデータと前記データロード部から出力された元画像データとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力する
【0020】
本発明に係る画像処理装置の第7の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、前記メモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記メモリへ出力する可変長符号デコード部と、前記プロセッサ部に接続しており、復元されるべき画像データの元となる元画像データを前記プロセッサ部へ出力するデータロード部とを備えている
【0021】
この第7の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記メモリに前記可変長符号デコード部により書き込まれた第2の種類のデータを読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記メモリに前記データロード部により書き込まれた元画像データを読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力する
【0022】
本発明に係る画像処理装置の第8の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するための第1のメモリ及び第2のメモリと、前記第1のメモリに接続しており、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令をデコードする第1の命令デコーダと、該第1の命令デコーダからの出力に従って命令を実行する第1の命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力する第1のプロセッサ部と、前記第2のメモリに接続しており、前記プログラムの複数の命令をデコードする第2の命令デコーダと、該第2の命令デコーダからの出力に従って命令を実行する第2の命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力する第2のプロセッサ部と、前記第1のメモリ及び第2のメモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、デコード結果を前記第1のメモリ及び第2のメモリに書き込む可変長符号デコード部と、前記第1のメモリ及び第2のメモリに接続しており、復元されるべき画像データの元となる元画像データを前記第1のメモリ及び第2のメモリに書き込むデータロード部とを備えている
【0023】
この第8の発明では、前記第1のプロセッサ部及び第2のプロセッサ部はそれぞれ並列に、前記命令デコーダが前記プログラムの命令をデコードした出力に従って前記第1及び第2の命令実行部にそれぞれ命令を実行させることにより、前記第1のメモリ及び第2のメモリに前記可変長符号デコード部により書き込まれた第2の種類のデータをそれぞれ読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記第1のメモリ及び第2のメモリに前記データロード部により書き込まれた元画像データをそれぞれ読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとしてそれぞれ出力する
【0024】
本発明に係る画像処理装置の第9の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するための第1のメモリ及び第2のメモリと、前記第1のメモリに接続しており、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令をデコードする第1の命令デコーダと、該第1の命令デコーダからの出力に従って命令を実行する第1の命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力する第1のプロセッサ部と、前記第2のメモリに接続しており、前記プログラムの複数の命令をデコードする第2の命令デコーダと、該第2の命令デコーダからの出力に従って命令を実行する第2の命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力する第2のプロセッサ部と、前記第1のメモリ及び第2のメモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、デコード結果を前記第1のメモリ及び第2のメモリに書き込む可変長符号デコード部と、前記第1のメモリ及び第2のメモリに接続しており、復元されるべき画像データの元となる元画像データを読み出すデータ読み出し部と、該データ読み出し部に接続しており、前記データ読み出し部により読み出された元画像データの少なくとも二つの隣接する画素のデータを加算する加算部と、該加算部に接続しており、前記加算部による加算結果を前記第1のメモリ及び第2のメモリに書き込むデータ書き込み部とを含むデータロード部とを備えている
【0025】
この第9の発明では、前記第1のプロセッサ部及び第2のプロセッサ部はそれぞれ並列に、前記命令デコーダが前記プログラムの命令をデコードした出力に従って前記第1及び第2の命令実行部にそれぞれ命令を実行させることにより、前記第1のメモリ及び第2のメモリに前記可変長符号デコード部により書き込まれた第2の種類のデータをそれぞれ読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記第1のメモリ及び第2のメモリに前記データロード部により書き込まれた加算結果をそれぞれ読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとしてそれぞれ出力する
【0026】
本発明に係る画像処理装置の第10の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、複数の固定長符号からなるデータを画像データに復元するためのプログラムを記憶するための読み出し専用メモリと、前記メモリ及び読み出し専用メモリに接続しており、前記読み出し専用メモリに記憶されている前記プログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、前記メモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記メモリに書き込む可変長符号デコード部と、前記メモリに接続しており、復元されるべき画像データの元となる元画像データを前記メモリに書き込むデータロード部とを備えている
【0027】
この第10の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記メモリに前記可変長符号デコード部により書き込まれた第2の種類のデータを読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記メモリに前記データロード部により書き込まれた元画像データを読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力する
【0028】
本発明に係る画像処理装置の第11の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、外部から画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを入力する入力手段と、前記プロセッサ部及び前記入力手段に接続しており、該入力手段を通じて外部から入力された第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記プロセッサ部へ出力する可変長符号デコード部とを備えている
【0029】
この第11の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記可変長符号デコード部から出力された第2の種類のデータを画像データに復元して出力する
【0030】
本発明に係る画像処理装置の第12の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、外部から複数の可変長符号からなる第1の種類のデータを入力する入力手段と、該入力手段に接続しており、複数の可変長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、該プロセッサ部に接続しており、復元されるべき画像データの元となる元画像データを前記プロセッサ部へ出力するデータロード部とを備えている
【0031】
この第12の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、外部から前記入力手段を通じて入力された画像データに復元されるべき第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、第3の種類のデータと前記データロード部から出力された元画像データとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力する
【0032】
本発明に係る画像処理装置の第13の発明は、複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するための第1のメモリ及び第2のメモリと、該第1のメモリ及び第2のメモリに接続しており、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、前記第1のメモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記第1のメモリに書き込む可変長符号デコード部と、前記第2のメモリに接続しており、復元されるべき画像データの元となる元画像データを前記第2のメモリに書き込むデータロード部とを備えている
【0033】
この第13の発明では、前記プロセッサ部が、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記第1のメモリに前記可変長符号デコード部により書き込まれた第2の種類のデータを読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記第2のメモリに前記データロード部により書き込まれた元画像データを読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力すると共に、元画像データとして前記データロード部へ出力する
【0034】
本発明に係る画像処理装置の第14の発明は、第1乃至4、6、7、10乃至13のいずれかの発明において、前記プロセッサ部が、前記複数の演算回路にそれぞれ異なるバスを介して接続されたレジスタを更に備えている
【0035】
この第14の発明では、第1乃至4、6、7、10乃至13のいずれかの発明において、前記命令デコーダによりデコードされた命令の複数の演算指定フィールドそれぞれにより指定される演算のオペランドとして、前記レジスタの異なる部分を指定することが可能である
【0036】
本発明に係る画像処理装置の第15の発明は、第1乃至4、6、7、10乃至13のいずれかの発明において、前記プロセッサ部が、前記複数の演算回路にそれぞれ異なるバスを介して接続されたレジスタを更に備えている
【0037】
この第15の発明では、第1乃至4、6、7、10乃至13のいずれかの発明において、前記命令デコーダによりデコードされた命令の複数の演算指定フィールドそれぞれにより指定される演算のオペランドとして、前記レジスタの異なる部分をそれぞれ指定すること、又は前記レジスタの全体を指定することが可能である
【0038】
本発明に係る画像処理装置の第16の発明は、第8又は9の発明において、前記第1のプロセッサ部及び第2のプロセッサ部に接続しており、前記プログラムの命令を複数記憶するための第3のメモリを備えている
【0039】
この第16の発明では、第8又は9の発明において、前記第1のプロセッサ部及び第2のプロセッサ部はそれぞれ、前記第3のメモリから命令を読み出して互いに並列に処理する
【0046】
【発明の実施の形態】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
【0047】
〔実施の形態1〕
(1) 「全体構成」
図1に本発明の画像処理装置の実施の形態1の一構成例をメモリに接続したシステムのブロック図を示す。なお、図1において参照符号1で示されている部分が本発明の画像処理装置が構築されているチップであり、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0048】
本発明の画像処理装置は、1ブロックが8×8=64個の画素からなり、1フレームが90×60= 5,400個のブロックからなる圧縮された画像データを1秒間に30フレーム伸張処理するMPEG標準のビデオデータと、そのビデオデータに付属するオーディオデータ及びデコードシステムの動作に関するシステムデータの三種類のデータを主として処理する。
【0049】
本発明の画像処理装置の中心となる演算処理部は第1のプロセッサ部としての第1マイクロプロセッサ10と第2のプロセッサ部としての第2マイクロプロセッサ11とで構成されており、これらの第1マイクロプロセッサ10及び第2マイクロプロセッサ11がマルチプロセッサ手法に従って負荷分散を行なうことにより、高効率で画像データを処理する。
【0050】
参照符号12は第1のメモリとしての第1高速メモリを、参照符号13は第2のメモリとしての第2高速メモリをそれぞれ示している。第1高速メモリ12はバス24を介して第1マイクロプロセッサ10と、第2高速メモリ13はバス25を介して第2マイクロプロセッサ11とそれぞれ接続しており、各マイクロプロセッサ10, 11のローカルメモリとして動作する。
【0051】
参照符号14は可変長符号デコード部としての VLC(Variable Length Code:可変長符号) デコーダを示している。この VLCデコーダ14は、前述の64個の画素からなるブロックの可変長符号化された各画像データを64個の固定長画素データを要素とする配列にデコードし、デコード結果を内部バス20を介して高速メモリ12, 13へ出力する。
【0052】
参照符号15はデータロード部としてのブロックローダを示している。このブロックローダ15は、フレーム間予測技法に従って、差分データを加算する対象となる隣接フレームのブロックを外部メモリ2から読み出して内部バス20を介して高速メモリ12, 13へ出力する。なお、 VLCデコーダ14及びブロックローダ15は高速メモリ12, 13と内部バス20により接続されており、内部バス20のバス権を相互に調停して高速メモリ12, 13にデータを書き込む。なお、内部バス20はアドレスバス (IA バス) とデータバス (IDバス) とにより構成されている。
【0053】
参照符号16は第1, 第2マイクロプロセッサ10, 11により共通使用される命令キャッシュである。この命令キャッシュ16は、外部メモリ2から外部バス21を介してフェッチした命令をキャッシングし、第1, 第2マイクロプロセッサ10, 11それぞれに命令を供給する。また、命令キャッシュ16は第1, 第2マイクロプロセッサ10, 11に同一の命令を同時に供給することも、いずれか一方のマイクロプロセッサ10または11のみに命令を供給することも可能である。なお、外部バス21は、アドレスバス (EAバス) とデータバス (EDバス) とにより構成されており、、本発明の画像処理装置と外部メモリ2との間を接続している。
【0054】
参照符号17は画像表示回路であり、伸張処理が終了した画像データを外部バス21を介して外部メモリ2から読み出し、バス28を介して外部へ出力する。参照符号18はシリアル入力回路であり、外部からシリアル信号線27を介して入力された圧縮画像のシリアルデータをパラレルデータに変換し、外部バス21を介して外部メモリ2に書き込む。従って、たとえばシリアル信号線27は外部アンテナあるいはディジタルビデオディスク(DVD) 再生装置の出力ラインと接続されており、バス28は CRTディスプレイ等の画像表示装置と接続されている。
【0055】
なお、第1, 第2マイクロプロセッサ10, 11、 VLCデコーダ14、ブロックローダ15、命令キャッシュ16、画像表示回路17及びシリアル入力回路18は外部バス21のバス権を調停して外部メモリ2をアクセスする。
【0056】
参照符号19は外部バス21のアドレスバス (EAバス) と外部メモリ2との間に備えられたDRAMコントローラであり、外部バス21へ出力されたアドレスをDRAMの行アドレスと列アドレスとに変換して外部メモリ2をアクセスするために備えられている。
【0057】
(2) 「マイクロプロセッサ」
次に、第1, 第2マイクロプロセッサ10, 11について説明するが、両者は同一の構成を有する。本第1の実施の形態では、画像処理プログラムの実行中に第1マイクロプロセッサ10のみが動作する期間と、第2マイクロプロセッサ11のみが動作する期間と、両マイクロプロセッサ10, 11が共に動作する期間とがあるが、両マイクロプロセッサ10, 11の命令、レジスタ構成及びハードウェア機能は基本的に同一であるので、ここでは第1マイクロプロセッサ10についてのみ説明するが、その説明はそのまま第2マイクロプロセッサ11にもあてはまる。
【0058】
(2.1) 「命令セットとレジスタ」
図2の模式図にマイクロプロセッサ10の命令フォーマットを示す。マイクロプロセッサ10の命令フォーマットには、一つの命令で二つの演算を指示する2演算命令のフォーマット101 と、一つの命令で一つの演算を指示する1演算命令のフォーマット102 とがある。
【0059】
2演算命令のフォーマット101 には、各1ビットのフィールド103 及びフィールド104 からなるフォーマットフィールドと、二つの演算フィールド106, 107と、各演算フィールド106, 107に一つずつ付属する3ビットの実行条件フィールド105 とが含まれる。また、1演算命令のフォーマット102 には、各1ビットのフィールド103 及びフィールド104 からなるフォーマットフィールドと、フィールド108 及びフィールド109 からなる演算フィールドと、一方の演算フィールド108 のみに付属する3ビットの実行条件フィールド105 とが含まれる。
【0060】
図3はフォーマットフィールド103 及び104 の内容の詳細を示す模式図である。フォーマットフィールドの値FMが”00”である場合、この命令は2演算命令であり、演算フィールド106 で指示されたoperation _0 の演算がデコード直後のクロックサイクルに実行され、演算フィールド107 で指示されたoperation _1 の演算がoperation _0 の演算に対して1クロックサイクル遅れて実行されることを意味している。
【0061】
フォーマットフィールドの値FMが”01”である場合、この命令は2演算命令であり、演算フィールド106 で指示されたoperation _0 の演算と演算フィールド107 で指示されたoperation _1 の演算とがデコード直後のクロックサイクルで並列に実行されることを意味している。
【0062】
フォーマットフィールドの値FMが”10”である場合、この命令は2演算命令であり、演算フィールド107 で指示されたoperation _1 の演算がデコード直後のクロックサイクルに実行され、演算フィールド106 で指示されたoperation _0 の演算がoperation _1 の演算に対して1クロックサイクル遅れて実行されることを意味している。
【0063】
フォーマットフィールドの値FMが”11”である場合、この命令は1演算命令であり、108 及び109 からなる演算フィールドで指示された一つの演算がデコード直後のクロックサイクルに実行されることを意味している。
【0064】
図4は実行条件フィールド105 の内容の詳細を示す模式図である。実行条件フィールド105 は、後述するマイクロプロセッサ10の状態フラグF0及びF1の値に依存して、演算フィールド106, 107でそれぞれ示されたoperation _0 の演算及びoperation _1 の演算、更には演算フィールド108 及び109 で示された演算が有効であるか無効であるかを定める。ここで、演算が有効であるとは、演算結果がレジスタ, メモリ, フラグに反映され、その演算により定義された動作結果が残ることを意味する。また、演算が無効であるとは、演算結果がレジスタ, メモリ, フラグに反映されず、定められた演算の種類には拘わらずにその演算により無効演算(NOP:no operation)と同様の結果がレジスタあるいはフラグに残ることを意味する。
【0065】
実行条件フィールド105 の値CCが”000 ”である場合、演算はフラグF0, F1の値に拘わらずに常に有効である。実行条件フィールド105 の値CCが”001 ”である場合、演算はF1の値には拘わらずF0が”10”である場合にのみ有効である。実行条件フィールド105 の値CCが”010 ”である場合、演算はF0が”10”であり且つF1が”10”である場合にのみ有効である。実行条件フィールド105 の値CCが”011 ”である場合、演算はF0が”10”であり且つF1が”11”である場合にのみ有効である。実行条件フィールド105 の値CCが”101 ”である場合、演算はF1の値に拘わらずF0が 11 である場合にのみ有効である。実行条件フィールド105 の値CCが”110 ”である場合、演算はF0が”11”であり且つF1が”10”である場合にのみ有効である。実行条件フィールド105 の値CCが”111 ”である場合、演算はF0が”11”であり且つF1が”11”である場合にのみ有効である。実行条件フィールド105 の値CCが”100 ”である場合の動作は未定義であり、この値が命令で用いられることはない。
【0066】
図5は28ビットで表現される短型の演算フィールド106, 107と58ビットで表現される長型の演算フィールド(108 及び109 で構成)のビット構成例を示す模式図である。短型の演算フィールドには三種類のフォーマット111, 112, 113 があり、長型の演算フィールドには一種類のフォーマット114 のみがある。
【0067】
フォーマット111 は演算内容を指定するフィールド115 及び117 と、レジスタ番号または6ビットの即値を指定するフィールド121 と、レジスタの番号を指定する二つのフィールド122, 123とで構成される。このフォーマット111 の演算には、レジスタ間及びレジスタと即値の算術演算, 論理演算, シフト演算, ビット演算、あるいはレジスタ間接アドレッシングのメモリアクセス演算, ジャンプ演算等が含まれる。
【0068】
フォーマット112 は16ビット長のデータのレジスタ間演算のためのフォーマットであり、演算内容を指定するフィールド116 と、レジスタの番号を指定する三つのフィールド122, 123及び124 と、各レジスタ番号修飾情報118, 120とで構成される。マイクロプロセッサ10は後述するように32ビット長の汎用レジスタを64個備えている (図6参照) 。16ビットデータは各汎用レジスタの上位側または下位側の16ビットに格納される。このため、レジスタ上の16ビット長のオペランド位置を特定するためにレジスタ番号と上位または下位の格納位置を示す1ビット修飾情報とがそれぞれに必要になる。レジスタ番号修飾情報118 及び120 は合計3ビットのフィールドであり、このために使用される。このフォーマット112 は16ビットで表現される画像データを扱う演算において多用される。
【0069】
フォーマット113 は分岐命令のためのフォーマットであり、演算内容を指定するフィールド115 及び117 と、分岐変位のフィールド125 とで構成される。このフォーマット113 の演算には分岐命令とサブルーチン分岐命令とが含まれる。
【0070】
フォーマット114 は32ビットの分岐変位または即値を必要とする演算のためのフォーマットであり、演算の内容を指定するフィールド115 と、三つのレジスタの番号を指定するフィールド122, 123及び124 と、分岐変位または即値を指定するフィールド126 とで構成される。このフォーマット114 の演算には複雑な算術演算, 大きな即値を用いる算術演算, 大きなディスプレースメント付きレジスタ間接アドレッシングのメモリアクセス演算, 大きな分岐変位の分岐演算, 絶対番地へのジャンプ演算等が含まれる。
【0071】
図6はマイクロプロセッサ10のレジスタ構成例を示す模式図である。マイクロプロセッサ10にはR0乃至R63 の64本の32ビット長の汎用レジスタ130 と、6本の32ビット長の制御レジスタ140 と、2本の64ビット長のアキュムレータ136 とが備えられている。制御レジスタ140 には、プロセッサ状態語(PSW)134と、プログラムカウンタ(PC)135 と、その他の各種の専用レジスタとが含まれる。
【0072】
フォーマット112 の演算では64本の汎用レジスタ130 のそれぞれの上位16ビットと下位16ビットとを別々にアクセス可能である。また、2本のアキュムレータ136 はそれぞれ上位32ビットと下位32ビットとを別々にアクセス可能である。汎用レジスタ(R0)131 はその内容が読み出された場合には常に”0”であり、書き込みは無視される。汎用レジスタ(R63) はスタックポインタ(SPI) であり、 PSW134 のSMフィールドの値に依存してユーザスタックポインタ(SPU)132または割り込みスタックポインタ(SPI)133のいずれかが動作する。
【0073】
図7は PSW134 の詳細な内容を示す模式図である。 PSW134 の上位16ビットのフィールド142 には、スタックポインタを切り替えるSM フィールド, アドレス変換動作の有無を制御するATフィールド, デバッグ機構の動作を制御するDBフィールド, 外部割り込みの受け付け動作を制御する IMASKフィールドが含まれる。下位16ビットのフィールド143 はフラグフィールドである。フラグフィールド143 には8個のフラグがあり、その内のF0フラグ144 とF1フラグ145 とは演算の有効/無効を制御する。各フラグの値は比較演算あるいは算術演算の結果に依存して変化するほか、フラグ初期化演算で初期化される場合、あるいはフラグ値書き込み演算で任意の値をフラグフィールド143 に書き込むことにより変化する場合がある。また、フラグ値読み出し演算でフラグフィールド143 の値を読み出すことも可能である。
【0074】
(2.2) 「ハードウェア構成」
本発明の画像処理装置の実施の形態1のマイクロプロセッサ10の全体の構成例を図8のブロック図に示す。
【0075】
図8において、参照符号163 はマイクロプロセッサ10を外部バス21, 命令キャッシュ16及び高速メモリ12と接続するバスインタフェイス部である。バスインタフェイス部163 はマイクロプロセッサ10内部では、IAバス及びBDバスを介して命令フェッチ部161 と、またOAバス及びBDバスを介してオペランドアクセス部162 とそれぞれ接続している。
【0076】
命令フェッチ部161 は、命令をバスインタフェイス部163 を介して命令キャッシュ16あるいは外部メモリ2からフェッチし、64ビットのIIバスを経由して命令マッパ150 へ送る。また、オペランドアクセス部162 は、データをバスインタフェイス部163 を介して高速メモリ12または外部メモリ2からフェッチしてメモリアクセス部159 へ送り、あるいはメモリアクセス部159 から送られてきたデータをバスインタフェイス部163 を介して高速メモリ12または外部メモリ2に書き込む。
【0077】
命令マッパ150 は命令フェッチ部161 から送られてきた64ビットの命令をそれに含まれるフォーマットフィールド103 と104 とに従って演算フィールドに分解し、指定された順序で命令デコーダ170 へ転送する。この際、命令マッパ150 は演算の種類に応じて各演算フィールドを四つのデコーダ151, 152, 153 及び154 の内の対応するデコーダへ再配置して転送する。
【0078】
命令デコーダ170 は、ジャンプ演算, 分岐演算の演算コードをデコードするデコーダであるPCD 151 と、算術演算, シフト演算等の汎用レジスタにあるオペランドに関する演算の演算コードをデコードするデコーダであるIAD 152 及びIBD 153 と、メモリアクセス演算の演算コードをデコードするデコーダであるMD 154とで構成される。これらのデコーダ151, 152, 153 及び154 によるデコード結果は制御回路155 に与えられる。制御回路155 には PSW134 が含まれており、命令デコーダ170 の各デコーダによるデコード結果と PSW134 の内容とに従って演算部180 を制御する。
【0079】
演算部180 は命令デコーダ170 の四つのデコーダ151, 152, 153 及び154 に対応してPC部156 と、2部分からなる整数演算部160 と、メモリアクセス部159 との計4ブロックで構成される。
【0080】
PC部156 には前述のプログラムカウンタ135 あるいは図示されていない加算器が備えられている。PC部156 は、有効なジャンプ演算または分岐演算を含まない命令が実行された場合には、その命令のPC値に”8”を加えることにより次に実行すべき命令の PC 値を計算し、ジャンプ演算あるいは分岐演算が実行された場合には、その命令のPC値に分岐変位を加算するか、または演算で指定されたアドレッシングモードに従う計算を行なうことによりジャンプ先命令のPC値を計算する。
【0081】
整数演算部160 には前述の7ポートの汎用レジスタ130,制御レジスタ140 及びアキュムレータ136 と、後述するバレルシフタ,ALU及び乗算器が備えられており、整数演算を並列に実行する二つの整数演算機構であるIA部157 とIB部158 とで構成されている。なお、PC 156 と整数演算部160 のIA部157 及びIB部158 とはそれぞれ他と独立に動作するが、必要に応じてSバス, Dバスを経由して相互にデータを送受信する場合もある。
【0082】
メモリアクセス部159 は整数演算部160 のIA部157 またはIB部158 と協調して動作し、オペランドアクセス部162 との間でデータを送受信する。
【0083】
なお、演算部180 と命令フェッチ部161 あるいはオペランドアクセス部162 との間はJAバス, AAバス及びDDバスで結合されており、それぞれ演算部180 と命令アドレス, データアドレス及びデータを送受信する。
【0084】
図9は整数演算部160 の詳細な構成例を示すブロック図であり、整数演算部160 とメモリアクセス部159 との間の接続関係が併せて示されている。整数演算部160 は、レジスタファイル166 と二つの演算部167 及び168 とで構成されている。
【0085】
レジスタファイル166 には前述の図6に示されている汎用レジスタ130,制御レジスタ140 及びアキュムレータ136 が含まれており、IA部157 とIB部158 とで共有される。また、演算部167 はIA部157 に、演算部168 はIB部158 にそれぞれ含まれる。換言すれば、IA部157 は演算部167 とレジスタファイル166 とで、IB部158 は演算部168 とレジスタファイル166 とでそれぞれ構成されている。
【0086】
レジスタファイル166 内の汎用レジスタ130 と演算部167 及び168 とはそれぞれ3本のバスで結合されており、独立に二つの演算が実行可能に構成されている。また、汎用レジスタ130 はもう1本のバスでメモリアクセス部159 と結合している。演算部167 にはALU 167A, バレルシフタ167B及び乗算器167Mが、演算部168 にはALU 168A, バレルシフタ168B及び乗算器168Mがそれぞれ備えられている。また、図示されてはいないが、アキュムレータ136 の一つは演算部167 に、もう一つが演算部168 に備えられており、それぞれ乗算器167M, 168Mによる乗算の結果を蓄積加算または蓄積減算して保持する。
【0087】
(3) 「ブロックローダ」
図10はブロックローダ15の詳細な構成例を示すブロック図である。
【0088】
図10において、参照符号171 は入力データキューを示している。入力データキュー171 は外部メモリ2から8バイトまたは9バイトのデータを整置された4バイト毎に読み込んでバッファリングし、1バイト毎に出力する。但し、入力データキュー171 が外部メモリ2から1回に読み込むデータの長さはそのデータの先頭番地が4バイト境界に対してどのような位置にあるかに依存する。
【0089】
参照符号172 はラッチであり、入力データキュー171 から現在出力されているデータの1回前に出力された1バイトのデータを保持する。
【0090】
参照符号173 はオフセットアドレス格納用のレジスタ(Offset)であり、8×8の画素データをブロック単位に外部メモリ2からロードするために、第n行の画素データの読み込み後に第(n+1) 行の画素データを読み込むために必要なオフセットアドレスを格納する。
【0091】
参照符号174 は、高速メモリ12または13に画素データを書き込む際のアドレスを保持するためのレジスタ(IAR) であり、4アドレス単位のインクリメント機能を有する。このレジスタ174 が保持するアドレスは内部バス20のIAバスへ出力される。参照符号175 は、外部メモリ2から画素データを読み出す際のアドレスを保持するためのレジスタ(EAR) であり、4アドレス単位のインクリメント機能を有する。このレジスタ175 が保持するアドレスは外部バス21のEAバスへ出力される。
【0092】
参照符号176 は加算器であり、入力データキュー171 から出力されているデータとラッチ172 に保持されているデータとを加算して出力データキュー177 に書き込むか、またはレジスタ173 と175 との値を加算してレジスタ175 に書き込む動作を行なう。出力データキュー177 は、加算器176 から出力される2個の16ビットデータをバッファリングして4バイト毎に高速メモリ12または13へ出力する。
【0093】
なお、上述の入力データキュー171,レジスタ173, 174及び175 は外部バス21のEDバスからの入力経路を有する。入力データキュー171,ラッチ172,レジスタ173 及び175 は加算器 176 への出力経路を有する。なお、入力データキュー171 はラッチ172 への出力をも有する。更に、加算器176 はレジスタ175 及び出力データキュー177 への出力経路を有する。
【0094】
ところで、MPEG標準の動画処理では、フレーム間予測のための予測データとして他フレームの整数画素単位のデータを扱う場合と、半画素単位のデータを扱う場合とがある。整数画素単位のデータを扱う場合は、入力データキュー171 から出力されているデータとラッチ172 に保持されているデータとを加算器176 で加算する処理は不必要であり、入力データキュー171 から出力されている8ビットのデータが加算器176 で16ビットにゼロ拡張されて出力データキュー177 に書き込まれる。
【0095】
一方、半画素単位のデータを扱う場合は、入力データキュー171 から出力されている8ビットの画素値とラッチ172 から出力されている8ビットの画素値とが加算器176 で加算されて隣接2画素値の和として16ビットのデータが出力データキュー177 に書き込まれる。このため、ブロックローダ15内では予測データの1画素が常時16ビットで表現され、出力データキュー177 は予測データが半画素単位のデータであるか、または整数画素単位のデータであるかには拘わらず、常に1画素が16ビットであり且つブロックの各行が8個のデータで構成されるデータを高速メモリ12または13に書き込む。
【0096】
(4) 「MPEG標準の動画データ処理例」
以下に本発明の画像処理装置による動画データ処理について説明するが、それに先立って、MPEG標準の動画データの処理 (原画像の圧縮符号化処理及びその再生のための伸張処理) の概要について説明する。
【0097】
(4.1) 「MPEG標準の動画データ処理の概要」
本発明の画像処理装置は動画像を圧縮符号化して得られた符号化データを伸張処理する装置であるが、符号化データは基本的には外部からシリアル信号線 27を介して入力される。このような動画データの圧縮符号化手法としては、主として以下の三種類の手法が利用される。第1は画面内相関による圧縮であり、同一フレーム内の各画素間の相関関係が利用される。第2は画面間相関関係による圧縮であり、フレーム間の対応する画素のデータの差分が利用される。フレーム間で対応する画素相互の差分のデータは生のデータに比してバラツキが非常に小さくなる。第3は符号の出現確率の偏りによる圧縮であり、可変長符号(VLC:Variable Length Code)が利用される。これは、第2の手法により得られた差分のデータ(コード)を対象として行なわれ、具体的には出現確率が高いデータのコードに対しては短いビット長のコードを割り当て、出現確率が低いデータのコードに対しては長いビット長のコードを割り当てることにより、データ量を圧縮する。
【0098】
まず、第1の画面内相関関係を利用する手法について説明する。図11(a) に示されているように、たとえば 352×288 画素で構成される1フレームの原画像をそれぞれが8×8=64画素のブロックに分割し、その一つを取り出す。なお、64個の画素はa1 〜a64にて示されており、それぞれの画素値はこの時点ではランダムである。そして、この図11(a) に示されている8×8=64画素のブロックに対して画面内相関関係による圧縮が行なわれる。具体的には、図11(a) に示されている原画像をまずDCT(Discrete Cosine Transform:離散コサイン変換) 変換する。
【0099】
自然画像は一般的に、ある正方形の領域に対して所謂直交変換処理を行なうと、領域全体が一様な画素値を有する平均的な画像から始まって除々に精細な画像へ順に分解される。このようにして得られた精細さが異なる複数の画像の内、より精細なことを周波数が高いと言う。従って、自然画像は低周波数項 (平均的な画像) から順に高周波数項へと分解された複数の画像を重ね合わせて表現されていることになる。
【0100】
上述のような直交変換の一種として、MPEG標準では前述のDCT を採用している。このような DCT変換が行なわれた後の画像は、変換前にはランダムに分布していた画素値が変換後には低周波数側の項に大きな値が集中するという特性がある。従って、そのような DCT変換後の画像データから高周波数項を除けばデータを圧縮することが可能である。具体的には、図11(a) に示されている原画像を DCT変換すると図11(b) に示されているような、それぞれの画素の係数b1 〜b64が低周波数項から高周波数項へジグザグ状に配列された画像データが得られる。
【0101】
次に、 DCT変換により得られた画像データの個々の画素の係数をある除数Dで除算して剰余を丸めることにより量子化して1フレームの画像データそのものが圧縮される。具体的には、図11(b) に示されている DCT変換後の画像データを量子化すると、前述のようにそれぞれの画素の係数b1 〜b64が低周波数項側から高周波数項側へジグザグに配列されているため、ある除数Dで除算して剰余を丸めると、図11(c) に示されているように、各画素の商としては低周波数項側のc1 〜c5 までのみが得られ、他の画素の商は全て”0”になるような画像データが得られる。この図11(c) に示されている量子化後の画像データの内の値が”0”の画素に関するデータを圧縮することが可能である。
【0102】
このようにして圧縮された画像データは、上述と逆の処理を行なうことにより、即ちまず図11(c) に示されている画像データに量子化の際の除数Dを乗算することにより、図12(d) に示されているような、各画素の係数b’1 〜b’5 が復元された逆量子化画像データが得られる。次に、この逆量子化画像データを逆DCT 変換すれば、図12(e) に示されているような、各画素値がa’1 〜a’64で表されるほぼ原画像に近い再生画像が得られる。
【0103】
次に、画面間相関関係を利用した第2の圧縮手法について説明する。画像が全く別の画像に切り替わる場合は別として、一般的には時系列上で隣接するフレーム間で対応する画素相互の差分のデータは生のデータに比してバラツキが非常に小さくなる。従って、1フレーム前の各画素のデータとの差分のデータを上述の画面内相関関係を利用した圧縮手法に利用すれば、更に圧縮効率が向上する。また更に、そのような差分データを以下に説明する第3の手法である可変長符号を利用して表現すれば、より一層のデータ圧縮が可能になる。
【0104】
第3の圧縮手法は符号の出現確率の偏りによる圧縮であり、可変長符号(VLC:Variable Length Code)が利用される。
【0105】
MPEG標準では、主として上述の三種類のデータ圧縮手法を利用して動画像圧縮を行なうことにより可変長符号を生成し、この可変長符号を送信したり、あるいは記録媒体に記録する。従って、そのようなデータの再生、換言すれば圧縮符号化データを伸張処理するには上述の処理とは逆の処理、即ち可変長符号化された圧縮符号化データをデコードする可変長符号のデコード (復号) 処理, フレーム間で対応する画素間のデータへの差分の加算, 量子化の際の除数を乗算することによる逆量子化処理, 逆量子化処理により得られたデータの逆DCT 変換等が必要であり、それらの処理を行なうことにより、ほぼ原画像に近い再生画像が得られる。
【0106】
(4.2) 「本発明の画像処理装置によるMPEG標準の動画データ処理例」
MPEG標準で扱われる符号化データは大きく分けて、デコーダシステムの動作に関するシステムデータと、ビデオに関するビデオデータと、オーディオに関するオーディオデータとの三種類である。従って、MPEG標準のデータをすべてデコードするデコードシステムではこれら三種類のデータの全てをデコードする必要がある。
【0107】
ところで、これらの三種類のデータをデコード処理する場合の負荷を比較するとビデオデータのデコード処理の負荷が非常に大きく、他の二種類のデータのデコード処理の負荷はビデオデータのデコードの負荷に比べると非常に小さい。また、ビデオデータには、8×8画素単位のブロックデータである本来の画像データと、各ブロック単位のデータの修飾情報及び複数のブロックデータで一つのフレームデータを構成するための修飾情報等の付加データとが含まれる。そして、付加データのデコード処理の負荷はブロックデータのデコード処理の負荷に比べると非常に小さい。
【0108】
従って、本発明の画像処理装置の実施の形態1では、ブロックデータ以外のデータのデコード処理は第1, 第2マイクロプロセッサ10, 11によりソフトウェア処理のみで対処するように構成されている。なお、8×8画素単位のブロックデータのデコード処理は図13のフローチャートに示されているアルゴリズムに従って第1, 第2マイクロプロセッサ10, 11とその周辺回路とが協調して行なう。以下、図13のフローチャートに示されている処理の流れを詳しく説明する。
【0109】
たとえば、外部アンテナにより受信された可変長符号に符号化された入力ブロックデータはシリアル信号線27から本発明の画像処理装置のチップ1にシリアルに入力され、シリアル入力回路18により32ビット単位のパラレルデータに変換され、更に外部バス21を介して外部メモリ2に書き込まれてバッファリングされる (ステップS11)。
【0110】
次に、外部メモリ2に書き込まれているデータを VLCデコーダ14が外部バス21を介して読み込み(ステップS12)、1画素が8ビットの固定長データにデコードする(ステップS13)。この VLCデコーダ14によるデコード結果の内の第1マイクロプロセッサ10が処理するブロックのデータは高速メモリ12に、第2マイクロプロセッサ11が処理するブロックのデータは高速メモリ13にそれぞれ書き込まれる。
【0111】
このようにして固定長データにデコードされたブロック単位の画素データは第1マイクロプロセッサ10により第1高速メモリ12から、第2マイクロプロセッサ11により第2高速メモリ13からそれぞれ読み出されて両マイクロプロセッサ10, 11においてそれぞれ逆量子化処理 (ステップS14)が並列に行なわれる。ステップS14 での逆量子化処理では各画素データに二つの数が乗算されることにより、インデックス値がジグザグ順に付与されたマトリクスのブロックがn行×m列の画素がインデックス値(8n+m)となるような標準的なインデクス順のマトリクスのブロックに変換される。
【0112】
逆量子化されたブロック単位の画素データは第1, 第2マイクロプロセッサ10, 11の汎用レジスタ130 内にそれぞれ保持され、次に行なわれるステップS15 での逆DCT 処理の際に使用される。このステップS15 での逆DCT 処理では、第1, 第2マイクロプロセッサ10, 11がそれぞれの担当する8×8画素からなる2次元のブロックが8点の1次元逆DCT 高速アルゴリズムを使用して高速に変換処理される。
【0113】
なお、1次元高速逆DCT アルゴリズムについてはたとえば文献C. Loeffler, A. Ligtenberg, and G. Moschytz: "Practical Fast I-DCT Algorithms with 11 Multiplications," Proc. Int'l Conf. on Acoustics, Speech , and Signal Processing 1989 (ICASSP'89), pp. 988-991. に詳細な記述がある。
【0114】
次に、逆DCT 処理された画素データに対して予測データとの加算を行なうか否かがブロックの修飾情報に従って決定される(ステップS16)。この判断は、現在処理しているブロックのデータが隣接フレームとの差分データであるか否かに従う。具体的には、現在処理しているブロックのデータが隣接フレームとの差分データである場合には予測データとの加算を行なう必要がある。
【0115】
ステップS16 において予測データとの加算を行なうと決定された場合、ブロックローダ15は外部メモリ2から隣接フレームの予測対象ブロックのデータを読み出し (ステップS17)、第1高速メモリ12には第1マイクロプロセッサ10が使用する予測対象ブロックのデータを、第2高速メモリ13には第2マイクロプロセッサ11が使用する予測対象ブロックのデータをそれぞれ書き込む。
【0116】
なお、MPEG標準の動画データでは予測データとの加算の必要性はブロックデータ6個毎に付加される修飾情報により示される。このため、ブロックローダ15による予測対象ブロックデータの読み込みは図13に示されている各ブロックデータのデコード処理開始と同時に始めることが可能である。従って、第1, 第2マイクロプロセッサ10, 11によるステップS14 での逆量子化処理とステップS15 での逆DCT 処理とが行なわれている間に、ブロックローダ15によるステップS17 での予測データの読み込み処理が並列に実行可能である。
【0117】
次に、第1, 第2マイクロプロセッサ10, 11がそれぞれ第1, 第2高速メモリ12, 13から予測データを読み出し、それぞれの逆DCT 処理後のデータと加算し(ステップS18)、加算結果をデコード済みデータとして外部メモリ2に書き込む(ステップS19)。
【0118】
なお、前述のステップS16 の処理において予測データとの加算を行なわないと決定された場合は、上述のステップS19 へ直接処理が進められる。この場合、第1, 第2マイクロプロセッサ10, 11はそれぞれの逆DCT 処理済み画素データをそのままデコード処理済みデータとして、外部メモリ2に書き込む。
【0119】
第1, 第2マイクロプロセッサ10, 11による逆量子化処理 (ステップS14), 逆DCT 処理 (ステップS15)及び予測データとの加算処理 (ステップS18)では、両マイクロプロセッサ10, 11が扱うブロックデータは異なるが処理内容は全く同一であるため、両マイクロプロセッサ10, 11が命令キャッシュ16から入力された同一の命令を並列に実行することにより処理可能である。デコード済みデータの外部メモリ2への書き込み処理 (ステップS19)では、両マイクロプロセッサ10, 11が共に外部バス21を介して外部メモリ2へのデータの書き込みを行なうため、両マイクロプロセッサ10, 11は異なる時間に外部メモリ2をアクセスする。
【0120】
外部メモリ2に書き込まれたデコード済みデータはフレーム単位で画像表示回路17により読み出され、バス28を介して外部へ出力される (ステップS20)。従って、バス28が画像表示装置の入力ラインに接続されていれば、画像表示装置に動画像が表示される。
【0121】
以上のような図13に示されている処理の内、ステップS11 の処理はシリアル入力回路18により行なわれる。ステップS12 及びS13 の処理は VLCデコーダ14により行なわれる。ステップS17 の処理はブロックローダ15により行なわれる。ステップS14, S15, S16, S18及びS19 の処理はマイクロプロセッサ10及び11により行なわれる。ステップS20 の処理は画像出力回路17により行なわれる。
【0122】
MPEG標準の動画処理では1フレームあたりそれぞれが64画素で構成される 5,400個ものブロックデータを処理するため、シリアル入力回路18, VLCデコーダ14, ブロックローダ15, マイクロプロセッサ10及び11の4種類のハードウェアが並列に動作してパイプライン処理の原理に基づいて多数のブロックデータを次々に処理する。また、両マイクロプロセッサ10及び11で行なわれるステップS14, S15, S16, S18 及び S19 の処理の間にはそれぞれの処理間のブロックデータの受け渡しが汎用レジスタ130 を介して行なわれ、途中の演算結果をメモリに書き込む必要なしに処理が進められる。
【0123】
(5) 「効果」
以上に詳述した実施の形態1においては、本発明の画像処理装置を構成する四つのハードウェア、即ち VLCデコーダ14, ブロックローダ15及び二つのマイクロプロセッサ10, 11が協調動作して動画データを処理するため、高速な画像処理が行なわれる。具体的には、外部メモリ2からのデータの読み出し量が多く、しかも並列処理が困難な可変長符号のデコード処理を VLCデコーダ14が担当してハードウェア処理し、また外部メモリ2からのデータ読み出し量が非常に多い予測データの読み出し処理をブロックローダ15が担当してハードウェア処理し、複雑ではあるが並列演算が可能なデータ変換処理を二つのマイクロプロセッサ10, 11が担当してソフトウェア処理する。
【0124】
また、上述の実施の形態1では、図10に示されているように、ブロックローダ15は、加算器176 が備えられていることにより画素データの加算機能を有している。このため、半画素単位の予測データをブロックローダ15が外部メモリ2から読み出す処理を行なう際には、外部メモリ2から読み出された各行が9個の要素からなるブロックデータの隣接要素間の加算を行なって各行が8個の要素からなるブロックデータに変換するので、半画素単位の予測データを処理する場合にも VLCデコーダ14, ブロックローダ15及び二つのマイクロプロセッサ10及び11が高速で効率のよい画像処理を行なうことが可能である。
【0125】
また、上述の実施の形態1では、 VLCデコーダ14及びブロックローダ15と二つのマイクロプロセッサ10及び11それぞれとの間には中間処理データをバッファリングする高速メモリ12, 13が備えられている。このため、 VLCデコーダ14とブロックローダ15とが共通の高速メモリ12, 13に二つのマイクロプロセッサ10, 11が将来必要とするそれぞれのデータを事前に書き込んでおくことが可能である。従って、両マイクロプロセッサ10, 11は必要とするデータを必要とする時点で高速メモリ12, 13からそれぞれ高速に読み出すことが可能である。
【0126】
また、上述の実施の形態1では、図10に示されているように、ブロックローダ15は、入力データキュー171 から出力されている8ビットのデータが加算器176 で16ビットにゼロ拡張されて出力データキュー177 に書き込まれるという画素データのゼロ拡張機能を有する。従って、整数画素単位の予測データをブロックローダ15が外部メモリ2から読み出す処理を行なう場合には、外部メモリ2から読み出された各要素が8ビットで各行が8個の要素からなるブロックデータの各要素が16ビットにゼロ拡張されることにより16ビットの要素8個に変換されて高速メモリ12及び13に書き込まれる。また、半画素単位の予測データをブロックローダ15が外部メモリ2から読み出す処理を行なう場合には、外部メモリ2から読み出された各要素が8ビットで各行が9個の要素からなるブロックデータの隣接要素間の加算が行なわれて16ビットの要素8個に変換されて高速メモリ12及び13に書き込まれる。このため、両マイクロプロセッサ10, 11は整数画素単位の予測データを処理する場合と半画素単位の予測データを処理する場合とでそれぞれ同一フォーマットのデータを高速メモリ12, 13から読み出して処理することになるため、高速且つ高効率に画像処理を行なうことが可能である。
【0127】
また、上述の第1の実施の形態では、両マイクロプロセッサ10, 11が共通の命令キャッシュ16から同一の命令を並列に読み出して画像処理プログラムを実行する。このため、二つのマイクロプロセッサ10, 11が画像処理プログラムの多くの部分でプログラムを共有することが可能であり、二つのマイクロプロセッサ10, 11が独立に命令キャッシュを備える場合に比して命令を保持するためのメモリ容量が小さくなる。
【0128】
〔実施の形態2〕
(1) 「全体構成」
図14に本発明の画像処理装置の実施の形態2の一構成例をメモリに接続したシステムのブロック図を示す。なお、図14において参照符号5で示されている部分が本発明の画像処理装置のチップであり、前述の実施の形態1と同様に、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0129】
本実施の形態2の画像処理装置は、前述の図1に示されている実施の形態1の画像処理装置に備えられているマイクロプロセッサ10, 11に代えて、それらの処理速度の2倍の処理速度を有する一つのマイクロプロセッサ30を備え、それに伴って高速メモリも参照符号12にて示されている一つのみを備えている。更に、本実施の形態2では、前述の実施の形態1において二つのプロセッサ10, 11に命令を供給していた命令キャッシュ16をマイクロプロセッサ30専用の命令キャッシュ29に置き換えている。なお、高速メモリ12とマイクロプロセッサ30との間はバス24により接続されている。
【0130】
前述の実施の形態1の画像処理装置においては、負荷分散のために二つのマイクロプロセッサ10, 11が備えられていたが、本実施の形態2の画像処理装置に備えられているマイクロプロセッサ30の性能がそれらの少なくとも2倍であればマイクロプロセッサは一つのみで済み、従って実施の形態1の画像処理装置において備えられていた二つの高速メモリ12, 13も一つのみを備えていればよいことになる。
【0131】
本発明の画像処理装置の実施の形態2のマイクロプロセッサ30の全体構成を図15のブロック図に示す。なお、マイクロプロセッサ30の命令セット及びレジスタ構成は前述の実施の形態1のマイクロプロセッサ10(11)と同様である。
【0132】
本実施の形態2の画像処理装置のマイクロプロセッサ30と前述の実施の形態1の画像処理装置のマイクロプロセッサ10との相違はバスインタフェイス部163 及び命令フェッチ部161 の接続に関する部分のみである。マイクロプロセッサ30の命令フェッチ部161 は、命令のアドレスに従って命令キャッシュ29をアクセスするか、またはバスインタフェイス部163 を介して外部メモリ2をアクセスするかを決定し、命令キャッシュ29または外部メモリ2から命令をフェッチする。このため、マイクロプロセッサ30の命令フェッチ部161 は命令キャッシュ29から命令を直接読み込む経路を有し、バスインタフェイス部163 は命令キャッシュ29から命令を読み込む経路を有していない。
【0133】
(2) 「MPEG標準の動画処理例」
本第2の実施の形態の画像処理装置がMPEG標準の動画データを処理する場合、8×8画素単位のブロックデータをデコードする処理以外の処理は前述の実施の形態1の場合と全く同様である。ブロックデータのデコード処理の手順も図13に示されている実施の形態1の手順と基本的に同様である。異なる点は、図13に示されているステップS14, S15, S16, S18及びS19 の各処理を実施の形態1では二つのマイクロプロセッサ10, 11が行なっていた代わりに本実施の形態2では一つのマイクロプロセッサ30が行なう点のみである。
【0134】
(3) 「効果」
以上に詳述した実施の形態2においては、本発明の画像処理装置を構成する三つのハードウェア、即ち VLCデコーダ14, ブロックローダ15及びマイクロプロセッサ30が協調動作して動画データを処理するため、高速な画像処理が行なわれる。具体的には、外部メモリ2からのデータ読み出し量が多く、しかも並列処理が困難な可変長符号のデコード処理を VLCデコーダ14が担当してハードウェア処理し、また外部メモリ2からのデータ読み出し量が非常に多い予測データの読み出し処理をブロックローダ15が担当してハードウェア処理し、データ変換処理をマイクロプロセッサ30が担当してソフトウェア処理する。
【0135】
また、上述の実施の形態2では、 VLCデコーダ14及びブロックローダ15とマイクロプロセッサ30との間には中間処理データをバッファリングする高速メモリ12が備えられている。このため、 VLCデコーダ14とブロックローダ15とが高速メモリ12にマイクロプロセッサ30が将来必要とするデータを事前に書き込んでおくことが可能である。従って、マイクロプロセッサ30は必要とするデータを必要とする時点で高速メモリ12から高速に読み出すことが可能である。
【0136】
なお、本実施の形態2においては、ブロックローダ15の構成は図10に示されている実施の形態1のそれと同様であるので、ブロックローダ15が画素データの加算機能を有していること、及び画素データのゼロ拡張機能を有していることも同様であり、それによる効果も同様であることは言うまでもない。
【0137】
〔実施の形態3〕
(1) 「全体構成」
図16に本発明の画像処理装置の実施の形態3の一構成例をメモリに接続したシステムのブロック図を示す。なお、図16において参照符号6で示されている部分が本発明の画像処理装置のチップであり、前述の各実施の形態と同様に、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0138】
本実施の形態3の画像処理装置は、前述の図14に示されている実施の形態2の画像処理装置からブロックローダ15を取り除いた構成を採っている。このため、本実施の形態3の画像処理装置のマイクロプロセッサ30は、予測データを外部メモリ2から直接読み出す必要があり、従って実施の形態2の画像処理装置のマイクロプロセッサ30よりも更に高速に動作する必要があるが、ブロックローダ15が必要とするハードウェア量が削減される。但し、外部メモリ2からの予測データの読み出しはマイクロプロセッサ30がソフトウェアで処理するため、新たな機能をマイクロプロセッサ30に付加する必要なはい。
【0139】
(2) 「MPEG標準の動画処理例」
本実施の形態3の画像処理装置がMPEG標準の動画データを処理する場合、8×8画素単位のブロックデータのデコード以外の処理は前述の実施の形態1の場合と全く同様である。ブロックデータのデコード処理の手順も図13に示されている実施の形態1の手順と基本的に同様である。異なる点は、図13に示されているステップS14, S15, S16, S18及びS19 の各処理を二つのマイクロプロセッサ10, 11が行なう代わりに一つのマイクロプロセッサ30が行なう点と、ステップS17 の処理をブロックローダ15がハードウェア処理で行なう代わりにマイクロプロセッサ30がソフトウェア処理で行なう点のみである。
【0140】
(3) 「効果」
以上に詳述した実施の形態3においては、本発明の画像処理装置を構成する二つのハードウェア、即ち VLCデコーダ14及びマイクロプロセッサ30が協調動作して動画データを処理するため、高速な画像処理が行なわれる。具体的には、外部メモリ2からのデータ読み出し量が多く、しかも並列処理が困難な可変長符号のデコード処理を VLCデコーダ14が担当してハードウェア処理し、またデータ変換処理と外部メモリ2からの予測データの読み出し処理とをマイクロプロセッサ30が担当してソフトウェア処理する。
【0141】
また、上述の実施の形態3では、 VLCデコーダ14とマイクロプロセッサ30との間には中間処理データをバッファリングする高速メモリ12が備えられている。このため、 VLCデコーダ14が高速メモリ12にマイクロプロセッサ30が将来必要とするデータを事前に書き込んでおくことが可能である。従って、マイクロプロセッサ30は必要とするデータを必要とする時点で高速メモリ12から高速に読み出すことが可能である。
【0142】
〔実施の形態4〕
(1) 「全体構成」
図17に本発明の画像処理装置の実施の形態4の一構成例をメモリに接続したシステムのブロック図を示す。なお、図17において参照符号7で示されている部分が本発明の画像処理装置のチップであり、前述の各実施の形態と同様に、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0143】
本実施の形態4の画像処理装置は、前述の図14に示されている実施の形態2の画像処理装置から VLCデコーダ14を取り除いた構成を採っている。このため、本実施の形態4の画像処理装置のマイクロプロセッサ30は、外部メモリ2から可変長符号データを直接読み出して1画素が8ビットの固定長データにデコードする必要があり、従って実施の形態2の画像処理装置のマイクロプロセッサ30よりも更に高速に動作する必要があるが、 VLCデコーダ14が必要とするハードウェア量が削減される。但し、可変長符号のデコードはマイクロプロセッサ30がソフトウェアで処理するため、新たな機能をマイクロプロセッサ30に付加する必要なはい。
【0144】
(2) 「MPEG標準の動画処理例」
本実施の形態4の画像処理装置がMPEG標準の動画データを処理する場合、8×8画素単位のブロックデータのデコード以外の処理は前述の実施の形態1の場合と全く同様である。ブロックデータのデコード処理の手順も図13に示されている実施の形態1の手順と基本的に同様である。異なる点は、図13に示されているステップS14, S15, S16, S18及びS19 の各処理を二つのマイクロプロセッサ10, 11が行なう代わりに一つのマイクロプロセッサ30が行なう点と、ステップS12 とS13 との両処理を VLCデコーダ14が行なう代わりにマイクロプロセッサ30が行なう点のみである。
【0145】
(3) 「効果」
以上に詳述した実施の形態4においては、本発明の画像処理装置を構成する二つのハードウェア、即ちブロックローダ15及びマイクロプロセッサ30が協調動作して動画データを処理するため、高速な画像処理が行なわれる。具体的には、外部メモリ2からのデータ読み出し量が非常に多い予測データの読み出し処理をブロックローダ15が担当してハードウェア処理し、データ変換処理と可変長符号のデコード処理とをマイクロプロセッサ30が担当してソフトウェア処理する。
【0146】
また、上述の実施の形態4では、ブロックローダ15とマイクロプロセッサ30との間には中間処理データをバッファリングする高速メモリ12が備えられている。このため、ブロックローダ15が高速メモリ12にマイクロプロセッサ30が将来必要とするデータを事前に書き込んでおくことが可能である。従って、マイクロプロセッサ30は必要とするデータを必要とする時点で高速メモリ12から高速に読み出すことが可能である。
【0147】
なお、本実施の形態4においては、ブロックローダ15の構成は図10に示されている実施の形態1のそれと同様であるので、ブロックローダ15が画素データの加算機能を有していること、及び画素データのゼロ拡張機能を有していることも同様であり、それによる効果も同様であることは言うまでもない。
【0148】
〔実施の形態5〕
(1) 「全体構成」
図18に本発明の画像処理装置の実施の形態5の一構成例をメモリに接続したシステムのブロック図を示す。なお、図18において参照符号8で示されている部分が本発明の画像処理装置のチップであり、前述の各実施の形態と同様に、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0149】
本実施の形態5の画像処理装置は、前述の図1に示されている実施の形態1の画像処理装置の命令キャッシュ16を命令ROM 31に置き換えた構成を採っている。命令ROM 31には第1, 第2マイクロプロセッサ10, 11が実行するプログラムの内の図13に示されているステップS14, S15, S16, S18及びS19 の各処理に関する部分等のような特に高速処理する必要がある部分が格納されている。命令ROM 31は第1マイクロプロセッサ10または第2マイクロプロセッサ11の内のいずれか一方のみに命令を供給することも、両マイクロプロセッサ10, 11に同一の命令を並列に供給することも可能である。また、両マイクロプロセッサ10, 11は命令ROM 31のほかに外部メモリ2からも命令をフェッチして実行する。
【0150】
なお、本発明の画像処理装置の実施の形態5の両マイクロプロセッサ10, 11はバスインタフェイス部163 の外部との接続関係を除いて図8に示されている実施の形態1の場合と同一の構成を有しており、またその命令セット及びレジスタ構成も前述の実施の形態1の場合と同様である。相違点は、命令キャッシュ16が命令ROM 31と置換されたことに伴って、バスインタフェイス部163 が外部バス21, 第1高速メモリ12及び命令ROM 31と接続されていることである。従って、バスインタフェイス部163 は命令のアドレスに従って命令ROM 31をアクセスするか、または外部メモリ2をアクセスするかを決定し、命令ROM 31または外部メモリ2から命令をフェッチする。
【0151】
(2) 「MPEG標準の動画処理例」
本実施の形態5の画像処理装置がMPEG標準の動画データを処理する場合、8×8画素単位のブロックデータのデコード以外の処理は前述の実施の形態1の場合と全く同様である。ブロックデータのデコード処理も実施の形態1の手順とほとんど同様である。異なる点は、両マイクロプロセッサ10, 11が命令のアドレスに依存して命令ROM 31または外部メモリ2のいずれかから命令をフェッチする点のみである。図13に示されているステップS14, S15, S16 及びS18 の各処理では、二つのマイクロプロセッサ10, 11が命令ROM 31から供給された同一の命令を並列に実行する。
【0152】
(3) 「効果」
本実施の形態5では、二つのマイクロプロセッサ10, 11が共通の命令ROM 31から同一の命令を並列に読み出して画像処理プログラムを実行する。このため、両マイクロプロセッサ10, 11が画像処理プログラムの多くの部分でプログラムを共有でき、それぞれが独立して命令ROM を備える場合に比して命令を保持するメモリ容量を削減することが可能になる。
【0153】
〔実施の形態6〕
(1) 「全体構成」
図19に本発明の画像処理装置の実施の形態6の一構成例をメモリに接続したシステムのブロック図を示す。なお、図19において参照符号9で示されている部分が本発明の画像処理装置のチップであり、前述の各実施の形態と同様に、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0154】
本実施の形態6の画像処理装置は、前述の図14に示されている実施の形態2の画像処理装置の命令キャッシュ29を命令ROM 32に置き換えた構成を採っている。命令ROM 32にはマイクロプロセッサ30が実行するプログラムの内の図13に示されているステップS14, S15, S16, S18及びS19 の各処理に関する部分等のような特に高速処理する必要がある部分が記憶されている。マイクロプロセッサ30は命令ROM 32または外部メモリ2から命令をフェッチして実行する。
【0155】
なお、本発明の画像処理装置の実施の形態6のマイクロプロセッサ30は命令フェッチ部161 の接続関係を除いて図15に示されている実施の形態2の場合と同一の構成を有しており、またその命令セット及びレジスタ構成も前述の実施の形態2の場合と同様である。相違点は、命令キャッシュ16が命令ROM 32と置換されたことに伴って、命令フェッチ部161 が命令キャッシュ29ではなくて命令ROM 32と接続されている点である。従って、命令フェッチ部161 は、命令のアドレスに従って命令ROM 32をアクセスするか、またはバスインタフェイス部163 を介して外部メモリ2をアクセスするかを決定し、命令ROM 32または外部メモリ2から命令をフェッチする。
【0156】
(2) 「MPEG標準の動画処理例」
本実施の形態6の画像処理装置がMPEG標準の動画データを処理する場合、8×8画素単位のブロックデータのデコード以外の処理は前述の実施の形態1の場合と全く同様である。ブロックデータのデコード処理の手順も図13に示されている実施の形態1の手順と基本的に同様である。異なる点は、図13に示されているステップS14, S15, S16, S18及びS19 の各処理を二つのマイクロプロセッサ10, 11が行なう代わりに一つのマイクロプロセッサ30が行なう点と、命令をそのアドレスに依存して命令ROM 32または外部メモリ2からフェッチする点のみである。
【0157】
(3) 「効果」
本実施の形態6では、マイクロプロセッサ30が特に高速処理する必要がある命令を、命令キャッシュよりも単位面積当たりの記憶容量が大きくしかも命令キャッシュとアクセス速度が同等の命令ROM 32から読み出して画像処理プログラムを実行するので、命令キャッシュを用いる場合に比べてチップ上での専有面積が小さな画像処理装置を実現できる。
【0158】
〔実施の形態7〕
(1) 「全体構成」
図20に本発明の画像処理装置の実施の形態7の一構成例をメモリに接続したシステムのブロック図を示す。なお、図20において参照符号35で示されている部分が本発明の画像処理装置のチップであり、前述の各実施の形態と同様に、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0159】
本実施の形態7の画像処理装置は、前述の図19に示されている実施の形態6の画像処理装置にメモリ 33を追加すると共に、その出力信号を VLCデコーダ14に入力するためのバス34を備えた構成を採っている。具体的には、メモリ33はシリアル入力回路18の出力信号である可変長符号のデータを入力してバッファリングし、このメモリ33にバッファリングされたデータを VLCデコーダ14がバス34を介して読み出すように構成されている。即ち、シリアル入力回路18から画像処理装置のチップ35内へ入力された可変長符号の信号を外部メモリ2にバッファリングする代わりにメモリ33にバッファリングするように構成されている。
【0160】
(2) 「MPEG標準の動画処理例」
本実施の形態7の画像処理装置がMPEG標準の動画データを処理する場合の動作は前述の実施の形態6の手順とほとんど同様である。異なる点は、図13に示されているステップS11 に相当する処理で可変長符号が外部メモリ2の代わりにメモリ33に書き込まれ、ステップS12 に相当する処理で可変長符号が外部メモリ2の代わりにメモリ33から読み出される点のみである。
【0161】
(3) 「効果」
本実施の形態7では、可変長符号をバッファリングする専用のメモリ33を備えたため、シリアル入力回路18及び VLCデコーダ14が外部メモリ2をアクセスする必要がなくなり、外部バス21を介した外部メモリ2のアクセス権制御が実施の形態6の場合に比してより単純になる。
【0162】
〔実施の形態8〕
(1) 「全体構成」
図21に本発明の画像処理装置の実施の形態8の一構成例をメモリに接続したシステムのブロック図を示す。なお、図21において参照符号36で示されている部分が本発明の画像処理装置のチップであり、前述の各実施の形態と同様に、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0163】
本実施の形態8の画像処理装置36は、前述の図17に示されている VLCデコーダ14が備えられていない構成の実施の形態4の画像処理装置に上述の実施の形態7と同様のメモリ33及びバス34を追加した構成を採っている。但し、本実施の形態8では VLCデコーダ14が備えられていないため、バス34はメモリ33とマイクロプロセッサ30とを直接接続している。具体的には、メモリ33はシリアル入力回路18の出力信号である可変長符号のデータを入力してバッファリングし、このメモリ33にバッファリングされたデータをマイクロプロセッサ30がバス34を介して直接読み出すように構成されている。
【0164】
(2) 「MPEG標準の動画処理例」
本実施の形態8の画像処理装置36がMPEG標準の動画データを処理する場合の動作は前述の実施の形態4の手順とほとんど同様である。異なる点は、図13に示されているステップS11 に相当する処理で可変長符号が外部メモリ2の代わりにメモリ33に書き込まれ、ステップS12 に相当する処理で可変長符号が外部メモリ2の代わりにメモリ33から読み出される点のみである。
【0165】
(3) 「効果」
本実施の形態8では、可変長符号をバッファリングする専用のメモリ33を設けたため、シリアル入力回路18が外部メモリ2をアクセスする必要がなく、外部バス21を介した外部メモリ2のアクセス権制御を実施の形態4の場合よりも単純にできる。
【0166】
〔実施の形態9〕
(1) 「全体構成」
図22に本発明の画像処理装置の実施の形態9の一構成例をメモリに接続したシステムのブロック図を示す。なお、図22において参照符号40で示されている部分が本発明の画像処理装置のチップであり、前述の各実施の形態と同様に、複数のDRAMチップで構成される外部メモリ2にデータバス3及びアドレスバス4等を介して接続されている。
【0167】
本実施の形態9の画像処理装置は、前述の図19に示されている実施の形態6の画像処理装置に備えられている高速メモリ12に加えて更に VLCデコーダ14専用の高速メモリ37を追加した構成を採っている。なお、高速メモリ37と VLCデコーダ14との間はバス39にて、マイクロプロセッサ30との間はバス38にてそれぞれ接続されている。従って、 VLCデコーダ14とブロックローダ15とがそれぞれ独立の高速メモリ37と12とを介してデータをマイクロプロセッサ30へ転送することが可能になっている。具体的には、 VLCデコーダ14は外部メモリ2からフェッチした可変長符号を1画素が8ビットの固定長データにデコードしてバス39を介して高速メモリ37に書き込むように構成されている。一方、マイクロプロセッサ30はバス38を介して高速メモリ37からこの固定長データを読み出す。また、ブロックローダ15は外部メモリ2から読み出した予測データを内部バス20を介して高速メモリ12に書き込む。マイクロプロセッサ30はバス24を介してこの予測データをメモリ12から読み出す。
【0168】
(2) 「MPEG標準の動画処理例」
本実施の形態9の画像処理装置40がMPEG標準の動画データを処理する場合の動作は前述の実施の形態6の手順とほとんど同様である。異なる点は、図13に示されているステップS13 とS17 とに相当する処理の結果がそれぞれ独立した高速メモリ37及び12に書き込まれることと、ステップS14 とS18 とに相当する処理でそれぞれ独立する高速メモリ37及び12からデータが読み出される点のみである。
【0169】
(3) 「効果」
本実施の形態9では、 VLCデコーダ14とブロックローダ15とがそれそれ独立した高速メモリ37と12とを介してデータをマイクロプロセッサ30へ転送するため、実施の形態6の画像処理装置で必要であった内部バス20のアクセス権制御を考慮することなしに、高速メモリ37及び12へのデータの書き込みが行なえると共に、高速メモリ12, 37への書き込み制御が単純になる。
【0170】
〔他の実施の形態〕
上述の実施の形態1〜9ではいずれも、高速メモリ12あるいは13を介して VLCデコーダ14あるいはブロックローダ15からマイクロプロセッサ10, 11あるいは30にデータを受け渡すように構成されているが、マイクロプロセッサがレジスタ上にデータをプリフェッチする機能を有している場合には高速メモリ12, 13が備えられていなくとも同様に動画データの処理が可能である。
【0171】
また、上述の実施の形態1, 2, 4〜9ではいずれも、ブロックローダ15が整数画素単位の予測データを扱う場合に外部メモリ2から読み出した8ビットの画素値を16ビットの画素値にゼロ拡張して高速メモリ12あるいは13に書き込む構成を採っているが、整数画素単位の予測データを扱う場合には、外部メモリ2から読み出した8ビットの画素値を8ビットの画素値のまま高速メモリ12あるいは13へ書き込むように構成することも勿論可能である。
【0172】
また、上述の実施の形態1, 2, 4〜9ではいずれも、ブロックローダ15がブロックデータのロード時に同一行内の隣接画素値のみを加算するように構成されているが、ブロックローダ15に1行分の画素データの全てを保持するレジスタを設けて隣接行間の画素値を加算する機能を付加すすることにより、ブロックデータのロードに際して隣接行間の画素値を加算したり、あるいは縦横隣接4点の画素値を加算するようにしてもよい。
【0173】
また、上述の実施の形態5〜7, 9ではいずれも、マイクロプロセッサ10, 11あるいは30が命令を命令ROM 31, 32あるいは外部メモリ2からフェッチして実行するように構成されているが、命令ROM 31, 32に画像処理に必要な全てのプログラムを格納させた場合には、マイクロプロセッサ10, 11あるいは30が外部メモリ2から命令をフェッチする必要はない。
【0174】
また、上述の実施の形態1〜6ではいずれも、シリアル信号線27から可変長符号化データが入力され、処理済みデータをバス28を介して外部の画像表示装置へ出力するように構成されているが、予め外部メモリ2に格納されている可変長符号化データを処理して処理済みデータを再度外部メモリ2に書き戻す場合は、それぞれの実施の形態においてシリアル入力回路18及び画像表示回路17が備えられていなくてもよい。
【0175】
また、DRAMコントローラが外部メモリ2に含まれている場合、あるいは外部メモリ2がDRAM以外のメモリで構成される場合には、各実施の形態の画像処理装置にDRAMコントローラ19が備えられている必要はない。
【0176】
【発明の効果】
以上に詳述した如く本発明の画像処理装置の各実施の形態によれば、必要な処理の内の可変長符号のデコード及びフレーム間予測データの読み出し等のような、大容量のメモリからのデータの読み出し量は多いが演算内容は比較的単純な処理を VLCデコーダ及び/又はブロックローダ等の専用の回路がハードウェア処理し、逆離散型コサイン変換等のような複雑な演算を多く含む処理をマイクロプロセッサがソフトウェア処理する。
【0177】
換言すれば、本発明の画像処理装置の各実施の形態によれば、専用ハードウェアとマイクロプロセッサとが協調してパイプライン的に画像データを処理するため、全体のハードウェア規模を抑制することが可能になり、比較的低速な大容量メモリを用いても処理速度を高速化することが可能になり、従って安価で高性能な画像処理装置が実現される。
【0178】
また、本発明の画像処理装置の各実施の形態では、複雑な演算処理をマイクロプロセッサでソフトウェア処理しているため、MPEG標準に限定されることなく、他の画像処理方式にも適用可能であり、それぞれの方式に対応してソフトウェアを変更することにより柔軟に対応することが可能になる。
【図面の簡単な説明】
【図1】 本発明の画像処理装置の実施の形態1の一構成例をメモリに接続したシステムのブロック図である。
【図2】 本発明の画像処理装置のマイクロプロセッサの命令フォーマットを示す模式図である。
【図3】 本発明の画像処理装置のマイクロプロセッサの命令のフォーマットフィールドの内容の詳細を示す模式図である。
【図4】 本発明の画像処理装置のマイクロプロセッサの命令の実行条件フィールドの内容の詳細を示す模式図である。
【図5】 本発明の画像処理装置のマイクロプロセッサの演算フィールドのビット構成例を示す模式図である。
【図6】 本発明の画像処理装置のマイクロプロセッサのレジスタ構成例を示す模式図である。
【図7】 本発明の画像処理装置のマイクロプロセッサのプロセッサ状態語の内容を示す模式図である。
【図8】 本発明の画像処理装置の実施の形態1のマイクロプロセッサの全体の構成例を示すブロック図である。
【図9】 本発明の画像処理装置の実施の形態1のマイクロプロセッサの整数演算部の構成例を示すブロック図である。
【図10】 本発明の画像処理装置の実施の形態1のマイクロプロセッサのブロックローダの構成例を示すブロック図である。
【図11】 動画像の圧縮符号化処理の概略を説明するための模式図である。
【図12】 圧縮符号化された動画像データの伸張処理の概略を説明するための模式図である。
【図13】 本発明の画像処理装置の実施の形態1のマイクロプロセッサがMPEG標準の画像データを処理する場合のアルゴリズムの一部であるブロックデータによる処理手順を示すフローチャートである。
【図14】 本発明の画像処理装置の実施の形態2の一構成例をメモリに接続したシステムのブロック図である。
【図15】 本発明の画像処理装置の実施の形態2のマイクロプロセッサの全体の構成例を示すブロック図である。
【図16】 本発明の画像処理装置の実施の形態3の一構成例をメモリに接続したシステムのブロック図である。
【図17】 本発明の画像処理装置の実施の形態4の一構成例をメモリに接続したシステムのブロック図である。
【図18】 本発明の画像処理装置の実施の形態5の一構成例をメモリに接続したシステムのブロック図である。
【図19】 本発明の画像処理装置の実施の形態6の一構成例をメモリに接続したシステムのブロック図である。
【図20】 本発明の画像処理装置の実施の形態7の一構成例をメモリに接続したシステムのブロック図である。
【図21】 本発明の画像処理装置の実施の形態8の一構成例をメモリに接続したシステムのブロック図である。
【図22】 本発明の画像処理装置の実施の形態9の一構成例をメモリに接続したシステムのブロック図である。
【符号の説明】
2 外部メモリ、10 第1マイクロプロセッサ、11 第2マイクロプロセッサ、12 第1高速メモリ、13 第2高速メモリ、14 VLC(可変長符号) デコーダ、15 ブロックローダ、16 命令キャッシュ、17 画像比較回路、18 シリアル入力回路、33 メモリ、170 命令デコーダ、166 レジスタファイル、167 演算部、168 演算部、160 整数演算部。

Claims (16)

  1. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    該プロセッサ部に接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記プロセッサ部へ出力する可変長符号デコード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記可変長符号デコード部から出力された第2の種類のデータを画像データに復元して出力するようにしてあること
    を特徴とする画像処理装置。
  2. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、
    該メモリに接続しており、複数の固定長符号からなるデータを画像データに復元するためのプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    前記メモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記メモリに書き込む可変長符号デコード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記メモリに前記可変長符号デコード部が書き込んだ第2の種類のデータを読み出して画像データに復元して出力するようにしてあること
    を特徴とする画像処理装置。
  3. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の可変長符号からなるデータを画像データに復元するためのプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    該プロセッサ部に接続しており、復元されるべき画像データの元となる元画像データを前記プロセッサ部へ出力するデータロード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、第3の種類のデータと前記データロード部から出力された元画像データとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力するようにしてあること
    を特徴とする画像処理装置。
  4. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、
    該メモリに接続しており、複数の可変長符号からなるデータを画像データに復元するためのプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    前記メモリに接続しており、復元されるべき画像データの元となる元画像データを前記メモリに書き込むデータロード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、前記メモリに前記データロード部が書き込んだ元画像データを読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力するようにしてあること
    を特徴とする画像処理装置。
  5. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、
    該メモリに接続しており、複数の可変長符号からなるデータを画像データに復元するためのプログラムの複数の命令をデコードする命令デコーダと、該命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    前記メモリに接続しており、復元されるべき画像データの元となる元画像データを半画素単位又は整数画素単位で前記メモリから読み出すデータ読み出し部と、該データ読み出し部に接続しており、半画素単位で処理される場合は前記読み出し部により読み出された元画像データの少なくとも二つの隣接する画素のデータを加算し、整数画素単位で処理される場合は前記読み出し部により読み出された元画像データの画素のデータのビット幅を拡張する加算部と、該加算部に接続しており、前記加算部による加算結果又は前記加算部によりビット幅が拡張されたデータを前記メモリに書き込むデータ書き込み部とを含むデータロード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラム命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、画像データに復元されるべき複数の 可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、半画素単位で処理される場合は前記メモリに前記データロード部により書き込まれた加算結果のデータを読み出すことにより、整数画素単位で処理される場合は前記メモリに前記データロード部により書き込まれたビット幅が拡張されたデータを読み出すことにより、第3の種類のデータと加算結果のデータ又はビット幅が拡張されたデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力すると共に、元画像データとして前記メモリへ出力するようにしてあること
    を特徴とする画像処理装置。
  6. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    該プロセッサ部に接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記プロセッサ部へ出力する可変長符号デコード部と、
    前記プロセッサ部に接続しており、復元されるべき画像データの元となる元画像データを前記プロセッサ部へ出力するデータロード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記可変長符号デコード部から出力された第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、第3の種類のデータと前記データロード部から出力された元画像データとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力するようにしてあること
    を特徴とする画像処理装置。
  7. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、
    複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    前記メモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記メモリへ出力する可変長符号デコード部と、
    前記プロセッサ部に接続しており、復元されるべき画像データの元となる元画像データを前記プロセッサ部へ出力するデータロード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前 記メモリに前記可変長符号デコード部により書き込まれた第2の種類のデータを読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記メモリに前記データロード部により書き込まれた元画像データを読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力するようにしてあること
    を特徴とする画像処理装置。
  8. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するための第1のメモリ及び第2のメモリと、
    前記第1のメモリに接続しており、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令をデコードする第1の命令デコーダと、該第1の命令デコーダからの出力に従って命令を実行する第1の命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力する第1のプロセッサ部と、
    前記第2のメモリに接続しており、前記プログラムの複数の命令をデコードする第2の命令デコーダと、該第2の命令デコーダからの出力に従って命令を実行する第2の命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力する第2のプロセッサ部と、
    前記第1のメモリ及び第2のメモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、デコード結果を前記第1のメモリ及び第2のメモリに書き込む可変長符号デコード部と、
    前記第1のメモリ及び第2のメモリに接続しており、復元されるべき画像データの元となる元画像データを前記第1のメモリ及び第2のメモリに書き込むデータロード部と
    を備え、
    前記第1のプロセッサ部及び第2のプロセッサ部はそれぞれ並列に、前記命令デコーダが前記プログラムの命令をデコードした出力に従って前記第1及び第2の命令実行部にそれぞれ命令を実行させることにより、前記第1のメモリ及び第2のメモリに前記可変長符号デコード部により書き込まれた第2の種類のデータをそれぞれ読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記第1のメモリ及び第2のメモリに前記データロード部により書き込まれた元画像データをそれぞれ読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとしてそれぞれ出力するようにしてあること
    を特徴とする画像処理装置。
  9. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するための第1のメモリ及び第2のメモリと、
    前記第1のメモリに接続しており、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令をデコードする第1の命令デコーダと、該第1の命令デコーダからの出力に従って命令を実行する第1の命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力する第1のプロセッサ部と、
    前記第2のメモリに接続しており、前記プログラムの複数の命令をデコードする第2の命令デコーダと、該第2の命令デコーダからの出力に従って命令を実行する第2の命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力する第2のプロセッサ部と、
    前記第1のメモリ及び第2のメモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデー タにデコードし、デコード結果を前記第1のメモリ及び第2のメモリに書き込む可変長符号デコード部と、
    前記第1のメモリ及び第2のメモリに接続しており、復元されるべき画像データの元となる元画像データを読み出すデータ読み出し部と、該データ読み出し部に接続しており、前記データ読み出し部により読み出された元画像データの少なくとも二つの隣接する画素のデータを加算する加算部と、該加算部に接続しており、前記加算部による加算結果を前記第1のメモリ及び第2のメモリに書き込むデータ書き込み部とを含むデータロード部と
    を備え、
    前記第1のプロセッサ部及び第2のプロセッサ部はそれぞれ並列に、前記命令デコーダが前記プログラムの命令をデコードした出力に従って前記第1及び第2の命令実行部にそれぞれ命令を実行させることにより、前記第1のメモリ及び第2のメモリに前記可変長符号デコード部により書き込まれた第2の種類のデータをそれぞれ読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記第1のメモリ及び第2のメモリに前記データロード部により書き込まれた加算結果をそれぞれ読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとしてそれぞれ出力するようにしてあること
    を特徴とする画像処理装置。
  10. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するためのメモリと、
    複数の固定長符号からなるデータを画像データに復元するためのプログラムを記憶するための読み出し専用メモリと、
    前記メモリ及び読み出し専用メモリに接続しており、前記読み出し専用メモリに記憶されている前記プログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    前記メモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記メモリに書き込む可変長符号デコード部と、
    前記メモリに接続しており、復元されるべき画像データの元となる元画像データを前記メモリに書き込むデータロード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記メモリに前記可変長符号デコード部により書き込まれた第2の種類のデータを読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記メモリに前記データロード部により書き込まれた元画像データを読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力するようにしてあること
    を特徴とする画像処理装置。
  11. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複 数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    外部から画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを入力する入力手段と、
    前記プロセッサ部及び前記入力手段に接続しており、該入力手段を通じて外部から入力された第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記プロセッサ部へ出力する可変長符号デコード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記可変長符号デコード部から出力された第2の種類のデータを画像データに復元して出力するようにしてあること
    を特徴とする画像処理装置。
  12. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    外部から複数の可変長符号からなる第1の種類のデータを入力する入力手段と、
    該入力手段に接続しており、複数の可変長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    該プロセッサ部に接続しており、復元されるべき画像データの元となる元画像データを前記プロセッサ部へ出力するデータロード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、外部から前記入力手段を通じて入力された画像データに復元されるべき第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードし、第2の種類のデータを元画像データとの差分を表わす第3の種類のデータに変換し、第3の種類のデータと前記データロード部から出力された元画像データとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力するようにしてあること
    を特徴とする画像処理装置。
  13. 複数の固定長符号からなるデータに変換され、更に複数の可変長符号からなるデータにエンコードされた画像データを復元する画像処理装置において、
    複数の固定長符号からなるデータを画像データに復元する際に必要なデータを記憶するための第1のメモリ及び第2のメモリと、
    該第1のメモリ及び第2のメモリに接続しており、複数の固定長符号からなるデータを画像データに復元するための命令を記述したプログラムの複数の命令の内の実行すべき演算を指定する演算指定フィールドを複数含む命令をデコードする命令デコーダと、該命令デコーダが演算指定フィールドを複数含む命令をデコードした場合に複数の演算指定フィールドにより指定される各演算を並列に実行する複数の演算回路を含むと共に前記命令デコーダからの出力に従って命令を実行する命令実行部とを有し、前記プログラムに記述されている命令に従って所定の演算を行ない、演算結果を出力するプロセッサ部と、
    前記第1のメモリに接続しており、画像データに復元されるべき複数の可変長符号からなる第1の種類のデータを複数の固定長符号からなる第2の種類のデータにデコードして前記第1のメモリに書き込む可変長符号デコード部と、
    前記第2のメモリに接続しており、復元されるべき画像データの元となる元画像データ を前記第2のメモリに書き込むデータロード部と
    を備え、
    前記プロセッサ部は、前記命令デコーダが前記プログラムの演算指定フィールドを複数含む命令をデコードした出力に従って前記命令実行部に命令を実行させることにより、前記第1のメモリに前記可変長符号デコード部により書き込まれた第2の種類のデータを読み出して元画像データとの差分を表わす第3の種類のデータに変換し、前記第2のメモリに前記データロード部により書き込まれた元画像データを読み出して前記第3の種類のデータとの間で所定の演算を行ない、該演算により得られたデータを復元された画像データとして出力すると共に、元画像データとして前記データロード部へ出力するようにしてあること
    を特徴とする画像処理装置。
  14. 前記プロセッサ部が、前記複数の演算回路にそれぞれ異なるバスを介して接続されたレジスタを更に備え、
    前記命令デコーダによりデコードされた命令の複数の演算指定フィールドそれぞれにより指定される演算のオペランドとして、前記レジスタの異なる部分を指定することが可能であることを特徴とする請求項1乃至4、6、7、10乃至13のいずれかに記載の画像処理装置。
  15. 前記プロセッサ部が、前記複数の演算回路にそれぞれ異なるバスを介して接続されたレジスタを更に備え、
    前記命令デコーダによりデコードされた命令の複数の演算指定フィールドそれぞれにより指定される演算のオペランドとして、前記レジスタの異なる部分をそれぞれ指定すること、又は前記レジスタの全体を指定することが可能であることを特徴とする請求項1乃至4、6、7、10乃至13のいずれかに記載の画像処理装置。
  16. 前記第1のプロセッサ部及び第2のプロセッサ部に接続しており、前記プログラムの命令を複数記憶するための第3のメモリを備え、
    前記第1のプロセッサ部及び第2のプロセッサ部はそれぞれ、前記第3のメモリから命令を読み出して互いに並列に処理するようにしてあること
    を特徴とする請求項8又は9に記載の画像処理装置。
JP23167495A 1995-09-08 1995-09-08 画像処理装置 Expired - Fee Related JP3729540B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP23167495A JP3729540B2 (ja) 1995-09-08 1995-09-08 画像処理装置
US08/611,051 US6009205A (en) 1995-09-08 1996-03-05 Compressed image decompressing device
DE1996628980 DE69628980T2 (de) 1995-09-08 1996-03-21 Bildverarbeitungsvorrichtung
EP19960104508 EP0762328B1 (en) 1995-09-08 1996-03-21 Image processing device
KR1019960019853A KR100261374B1 (ko) 1995-09-08 1996-06-04 화상처리장치
US10/029,385 USRE39645E1 (en) 1995-09-08 2001-12-28 Compressed image decompressing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23167495A JP3729540B2 (ja) 1995-09-08 1995-09-08 画像処理装置

Publications (2)

Publication Number Publication Date
JPH0984004A JPH0984004A (ja) 1997-03-28
JP3729540B2 true JP3729540B2 (ja) 2005-12-21

Family

ID=16927212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23167495A Expired - Fee Related JP3729540B2 (ja) 1995-09-08 1995-09-08 画像処理装置

Country Status (5)

Country Link
US (2) US6009205A (ja)
EP (1) EP0762328B1 (ja)
JP (1) JP3729540B2 (ja)
KR (1) KR100261374B1 (ja)
DE (1) DE69628980T2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285796B1 (en) * 1997-11-03 2001-09-04 Intel Corporation Pseudo-fixed length image compression scheme
DE69825710T2 (de) 1997-11-28 2005-07-14 Matsushita Electric Industrial Co., Ltd., Kadoma Audio-Video Dekodierungssystem
JP2000207205A (ja) * 1999-01-14 2000-07-28 Sony Corp 演算装置
JP2000305781A (ja) 1999-04-21 2000-11-02 Mitsubishi Electric Corp Vliw方式プロセッサ、コード圧縮装置、コード圧縮方法およびコード圧縮プログラムを記録した媒体
EP1113575B1 (en) * 1999-12-24 2006-04-05 Matsushita Electric Industrial Co., Ltd. Signal processing device and method
TW488155B (en) * 2000-01-27 2002-05-21 Hewlett Packard Co Task-partitioned hybrid codec
US7441104B2 (en) * 2002-03-30 2008-10-21 Hewlett-Packard Development Company, L.P. Parallel subword instructions with distributed results
US20030202603A1 (en) * 2002-04-12 2003-10-30 William Chen Method and apparatus for fast inverse motion compensation using factorization and integer approximation
US7190724B2 (en) * 2002-04-12 2007-03-13 Seiko Epson Corporation Method and apparatus for transform domain video processing
JP3680845B2 (ja) 2003-05-28 2005-08-10 セイコーエプソン株式会社 圧縮動画像の伸張装置及びそれを用いた画像表示装置
JP3680846B2 (ja) 2003-05-28 2005-08-10 セイコーエプソン株式会社 動画像の圧縮装置及びそれを用いた撮像装置
JP4214532B2 (ja) * 2006-04-25 2009-01-28 セイコーエプソン株式会社 画像処理装置及び画像処理方法
JP4789200B2 (ja) * 2006-08-07 2011-10-12 ルネサスエレクトロニクス株式会社 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
US7862131B2 (en) * 2007-03-01 2011-01-04 Camoplast Inc. Dual mode undercarriage for tracked vehicle
JP4356028B2 (ja) 2007-05-17 2009-11-04 ソニー株式会社 情報処理装置および方法
JP2008299610A (ja) 2007-05-31 2008-12-11 Toshiba Corp マルチプロセッサ
JP2011077564A (ja) * 2008-04-13 2011-04-14 Thomson Canopus Co Ltd 映像および音声データの符号化装置とその符号化方法、及びビデオ編集システム
RU2452125C1 (ru) * 2011-06-23 2012-05-27 Федеральное государственное унитарное предприятие "Научно-производственное объединение автоматики имени академика Н.А. Семихатова" Система обработки изображений
JP2017174291A (ja) * 2016-03-25 2017-09-28 ルネサスエレクトロニクス株式会社 画像処理装置、画像処理方法、及び自動車制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939583A (en) * 1987-09-07 1990-07-03 Hitachi, Ltd. Entropy-coding system
KR920006283B1 (ko) * 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
US5239654A (en) * 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
US5568278A (en) * 1991-03-19 1996-10-22 Olympus Optical Co., Ltd. Image data coding and decoding method and apparatus with a plurality of DCT's, quantizers, and VLC's
KR950009680B1 (ko) * 1992-05-19 1995-08-25 주식회사금성사 영상 압축/신장 시스템의 영상 디코더
JPH05324583A (ja) * 1992-05-26 1993-12-07 Dainippon Screen Mfg Co Ltd 画像データ処理装置
CA2096584A1 (en) * 1992-05-28 1993-11-29 Frank H. Liao Variable length code decoder for video decompression operations
US5440345A (en) * 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
US5699460A (en) * 1993-04-27 1997-12-16 Array Microsystems Image compression coprocessor with data flow control and multiple processing units
US5486876A (en) * 1993-04-27 1996-01-23 Array Microsystems, Inc. Video interface unit for mapping physical image data to logical tiles
JP3085024B2 (ja) * 1993-06-01 2000-09-04 松下電器産業株式会社 画像再圧縮器及び画像記録装置
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
US5502493A (en) * 1994-05-19 1996-03-26 Matsushita Electric Corporation Of America Variable length data decoder for use with MPEG encoded video data

Also Published As

Publication number Publication date
EP0762328A2 (en) 1997-03-12
JPH0984004A (ja) 1997-03-28
EP0762328A3 (en) 1997-07-30
USRE39645E1 (en) 2007-05-22
DE69628980D1 (de) 2003-08-14
US6009205A (en) 1999-12-28
DE69628980T2 (de) 2004-05-27
KR100261374B1 (ko) 2000-07-01
KR970016930A (ko) 1997-04-28
EP0762328B1 (en) 2003-07-09

Similar Documents

Publication Publication Date Title
JP3729540B2 (ja) 画像処理装置
Peleg et al. Intel MMX for multimedia PCs
JP4750157B2 (ja) データを右方向平行シフトマージする方法及び装置
US6877020B1 (en) Method and apparatus for matrix transposition
US7548248B2 (en) Method and apparatus for image blending
US6573846B1 (en) Method and apparatus for variable length decoding and encoding of video streams
US6336180B1 (en) Method, apparatus and system for managing virtual memory with virtual-physical mapping
US5673407A (en) Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US5893145A (en) System and method for routing operands within partitions of a source register to partitions within a destination register
US7305540B1 (en) Method and apparatus for data processing
US5630160A (en) Floating point exponent compare using repeated two bit compare cell
US6141673A (en) Microprocessor modified to perform inverse discrete cosine transform operations on a one-dimensional matrix of numbers within a minimal number of instructions
US6173366B1 (en) Load and store instructions which perform unpacking and packing of data bits in separate vector and integer cache storage
US6009505A (en) System and method for routing one operand to arithmetic logic units from fixed register slots and another operand from any register slot
US6697076B1 (en) Method and apparatus for address re-mapping
US7681013B1 (en) Method for variable length decoding using multiple configurable look-up tables
US7015921B1 (en) Method and apparatus for memory access
US5941938A (en) System and method for performing an accumulate operation on one or more operands within a partitioned register
US7467287B1 (en) Method and apparatus for vector table look-up
US7055018B1 (en) Apparatus for parallel vector table look-up
US6822654B1 (en) Memory controller chipset
JP2005348410A (ja) 圧縮装置及びその方法
US6931511B1 (en) Parallel vector table look-up with replicated index element vector
US6247112B1 (en) Bit manipulation instructions
US20050286633A1 (en) Image processing using unaligned memory load instructions

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050217

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: 20051004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051004

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: 20081014

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091014

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees