以下、本発明に係る画像情報処理装置の実施例について図面を参照しながら説明する。この実施例は、静止画像から動画像までの広範囲の画像の生成、色変換、合成、編集等の画像情報処理を行う画像情報処理装置であり、例えばフレーム間圧縮処理が施された圧縮画像信号を取り扱うことができる。フレーム間圧縮処理が施された画像としては、MPEG(Moving Picture Coding Experts Group、蓄積用動画像符号化の検討組織)で標準化されたような符号化方法で圧縮された画像がある。また、上記画像情報処理装置は、JPEG(Joint Photographic Coding Experts Group、カラー静止画像符号化の検討組織)で標準化された符号化方法で圧縮された画像も取り扱うことができる。
先ず、本実施例の構成について説明する前に、MPEGにより標準化された画像圧縮処理について説明しておく。この画像圧縮処理により圧縮された画像には、フレーム符号化画像であるI(Intra)ピクチャ、フレーム間順方向予測符号化画像であるP(Predictive)ピクチャ、双方向予測符号化画像であるB(Bidirectional Predictive)ピクチャの3種類がある。以下では、説明の簡略化のために、これらIピクチャ、Pピクチャ及びBピクチャを、Iフレーム、Pフレーム及びBフレームとして説明する。すなわち、Iフレームはフレーム内圧縮されたフレーム、Pフレームは前のIフレームの予測情報を用い圧縮されたフレーム、Bフレームは前後のフレームであるIフレームとPフレームの予測情報を用い圧縮されたフレームである。圧縮画像は、これらのフレームの集合からなるグループオブピクチャ(Group of Pictures、以下GOPという。)と呼ばれる圧縮単位からなる。GOPは、一つのIフレームを有し、例えば、“IBBPBBPBBPBBPBB”のように15フレームからなる。
そして、上記画像情報処理装置は、図1に示すように、例えばVTRやデータレコーダのような複数の外部入力装置から供給される複数の上記圧縮画像を選択的に取り込むと共に、上記GOP内でPフレームをIフレーム化し、かつBフレームの予測データの変更を行うマトリックススイッチャ1と、上記圧縮画像を元の画像に復元するように伸張するデコーダ2と、デコーダ2で伸張された画像信号をY、R−Y、G−Y又はR、G、Bのコンポーネント信号に変換すると共に、上記画像信号の転送レートを変換する機能を有する入力バッファメモリ部3と、入力バッファメモリ部3の出力信号である画像信号に色変換や変形や縮小や幾何変換等の各種画像情報処理を施す機能を有する画像処理部4と、画像処理部4の出力信号である画像処理信号を圧縮する機能を有するエンコーダ5と、エンコーダ5の圧縮画像処理信号である送り出しデータの転送レートを変換する機能を有する出力バッファメモリ部6と、マトリックススイッチャ1、デコーダ2、入力バッファメモリ部3、画像処理部4、エンコーダ5及び出力バッファメモリ部6の各処理を制御する制御部7とを有している。また、この画像情報処理装置には、処理パラメータや処理制御データを外部から与える手段であるキーボード8と、処理結果や入力画像を表示するモニター9が接続されている。
マトリックススイッチャ1は、図2に示すように、クロスポイントスイッチ10と、GOP再構成部11及び12と、合成部13とからなる。クロスポイントスイッチ10は、上記複数の外部入力装置からの複数の圧縮画像を入力し、制御部7の指示でその内の例えば2系統を選択する。GOP再構成部11及び12は、例えば一方の連続画像をあるGOPの途中で切り、他方の画像と接続する際に、途中から切られた一方の画像の不完全なGOPを完全なGOPに再構成する。合成部13は、GOP再構成部11及び12で再構成された2つのGOP画像を接続する。
GOP再構成部11及び12は、図3に示すように、入力側バッファメモリ14と、可変長符号復号器15と、逆量子化器16と、加算器17と、バッファメモリ18と、量子化器19と、前向き補償回路20と、後ろ向き補償回路21と、フレームメモリ22と、フレームメモリ23と、ワークメモリ24と、予測データ修正回路25と、符号化器26と、GOP組立回路27と、ワークメモリ/出力側バッファメモリ28とから構成される。
入力側バッファメモリ14は、後段の処理に必要な圧縮画像のデータを一時的に蓄える。可変長符号復号器15は、可変長符号化されている上記圧縮画像データを復号する。逆量子化器16は、可変長符号復号器15で復号された画像データに量子化テーブルの逆数を掛け周波数領域の値に戻す。前向き補償回路20は、フレームメモリ22から時間の流れと同じ方向である前向き方向の逆量子化された画像データを取り出して画像を再構成する。後ろ向き補償回路21は、フレームメモリ23から時間の流れと逆方向である後ろ向き方向の逆量子化された画像データを取り出して画像を再構成する。加算器17は、前向き補償回路20及び後ろ向き補償回路23から出力された再構成画像データと逆量子化器16の処理結果である画像データとを加算する。バッファメモリ18は、後段の処理で必要な例えば1GOP分のデータを一時的に蓄える。量子化器19は、バッファメモリ18から取り出した上記加算画像データに、量子化テーブルの係数で各離散的コサイン変換値を掛ける処理を行うと共に、最終的なGOP総データ量を、予め決められたある一定値(基準データ量)以内に収める処理も行う。予測データ修正回路25は、Bフレームの圧縮画像データを、前向き、及び後ろ向き予測データを追加/削除し修正する。ワークメモリ24は、予測データ修正回路25が予測したBフレーム圧縮画像データに修正処理を施すためのワークメモリである。符号化器26は、量子化したデータをハフマン符号とランレングス符号に変換する。GOP組立回路27は、基準データ量超えの判定、復号、再量子化、ハフマン・テーブル更新、符号化などの機能を有し、予測データ修正回路25で修正された符号化データと、修正する必要のない他のデータとから新しいGOPを再構成し、組み立てる。ワークメモリ/出力側バッファメモリ28は、GOP組立回路27の組立処理を行うワークエリアの機能と、あるまとまった結果が得られ出力されるまで処理結果データを蓄えるメモリの機能を有する。
次に、上述したように構成されたマトリックススイッチャ1の動作について説明する。図2に示したクロスポイントスイッチ10は、複数の外部入力装置より供給される複数の圧縮画像データから、制御部7の指示に従い、例えば2つの圧縮画像データを選択する。フレーム間圧縮をした圧縮画像データを扱う場合、クロスポイントスイッチ10は選択の切り替えを切り替えフレームを含むGOPの最後で行う。正確なフレーム切り替えは、後段のGOP再構成部11及び12で行われる。ここで、二つの画像を切り替え、一つの連続画像にする場合、既に選択されている画像を既存画像、新たに選択される画像を新画像と呼ぶことにする。既存画像は、GOP再構成部11又は12を通り、合成部13を通り、出力される。切り替え前では、GOP再構成処理や合成処理は必要ないため既存画像はこれらを単に通過するだけである。
切り替え指示がくると、新画像は既存画像が供給されていない方のGOP再構成部11又は12に入力され、それぞれ指定されたフレームで切り替えられるよう、既存画像は指定フレームで終る新たなGOPに、また、新画像は指定フレームで始まる新たなGOPに再構成される。合成部13はそれぞれの画像をGOP単位で接続し一つの連続画像にする。
ここで、GOP再構成部11及び12の動作の詳細を、図3乃至図10を参照しながら説明する。
図3において、入力側バッファメモリ14、可変長符号復号器15、逆量子化器16、加算器17、バッファメモリ18及び量子化器19からなる系と、閉ループを構成する加算器17、フレームメモリ23、フレームメモリ22、前向き補償回路20及び後ろ向き補償回路21とからなる系とは、PフレームからIフレームを生成するパスである。後述するように、新たにIフレームを作る場合は前向き補償回路20だけを、また、Bフレームの予測情報を修正するためにPフレームをIフレーム化する場合は前向き補償回路20と後ろ向き補償回路21の両方を用いる。
PフレームからIフレームを生成するには、前のIフレームを使いPフレームをIフレーム化すればよい。このPフレームのIフレーム化と後述のBフレームの予測情報修正について説明する。
一つのGOPは、一つのIフレームを有し、例えば、“IBBPBBPBBPBBPBB”のように15フレームからなることについては上述した。このGOPのフレーム列の符号化順序は図4の(A)に示すようになり、入力順序は図4の(B)に示すようになる。入力順序は、“BBIBBPBBPBBPBBP”であるが、符号化順序は、Iが先頭に来るようにIとPを前にずらし、“IBBPBBPBBPBBPBB”となる。
マトリックススイッチャ1に入力された上記圧縮画像データのGOPは、可変長符号復号器15で図4の(A)に示すような符号化順序を解かれ、図4の(B)に示すような入力順序とされている。図5にこの入力順序とされたGOPの“IBBP”部分を取り出して示す。もちろん、各フレームは、左から入力順序で配列され、符号化を解かれた周波数領域のスペクトル値である。
IフレームFIのスペクトル値を、予測ベクトルを持つPフレームFPのブロックのスペクトル値に加算する。ここで、ブロックは、8×8の64画素分のスペクトル値から成る。動きベクトルである上記予測ベクトルは、IフレームFIのあるブロックがPフレームFPのあるブロックとある誤差内で同じであるという対応関係を示し、IフレームFIからそのブロックを持って来ることにより、対応するPフレームFPのブロックが再生できる。この操作を全ブロックについて行うと、PフレームをIフレーム化できる。可変長符号復号器15、ワークメモリ24及び予測データ修正回路25からなる系は、前向き予測情報の埋め込み、又は、後ろ向き予測情報の埋め込み等、BフレームFB1及びFB2の修正を行う。前向きと後ろ向き両方の予測情報がある場合、どちらか一方のみにする。この操作は予測データ修正回路25で行われる。BフレームFB1及びFB2の修正は、上述のIフレーム化した後のフレームFP’の情報を用いて行う。これは、Iフレーム化したフレームFP’を捨てる前に、Bフレーム再生に必要な情報をBフレームFB1及びFB2に移すために必要である。具体的には、ベクトル情報に基づきIフレーム化したフレームFP’からスペクトル値を移動し、フレーム間の依存関係をなくす処理を行う。このように、PフレームFPのIフレーム化には、二つの目的がある。一つは、BフレームFB1及びFB2の予測情報修正のため捨てるPフレームFPをIフレーム化することと、もう一つはIフレームFIを捨てるためにPフレームFPから新たなIフレームFP’を作ることである。また、IフレームFIからBフレームFB1及びFB2に予測ブロックのスペクトル値を供給しているのは、伸張の際の操作である。ここでは、フレームの圧縮情報を予測情報としている。PフレームやBフレームの予測情報には、動きベクトルを用いて差分化してから量子化した情報と、動きベクトルを用いない情報の2つがある。BフレームFB1及びFB2の予測情報修正はIフレームFIあるいはPフレームFPを捨てる時に必要になる。IフレームFIやPフレームFPには動きベクトルを求めた元データ(動きベクトルを用いない情報)があるので、これをBフレームFB1及びFB2に埋め込む必要がある。これが、動きベクトルを用い差分化してから量子化した情報を、動きベクトルを用いない情報に修正する理由である。Pフレームに元データがあるとは限らず、最悪の場合、Iフレームまでさかのぼることも有り得る。このようにして、GOP再構成部11及び12は、PフレームのIフレーム化とBフレームの予測情報修正を行っている。
そして、このGOP再構成部11及び12は、符号化順序が“IBBPBBPBBPBBPBB”であるようなGOPのフレーム列を切り替え位置の違いによって図6及び図7に示すように再構成する。なお、ここではGOP再構成部11が上記既存画像を図6のように、GOP再構成部12が上記新画像を図7のように再構成する。また、例えば、GOP再構成部11及び12は、Pフレームがなく、IフレームとBフレームだけから構成されている“IBBBIBBBIBBBIBBB”であるようなGOPのフレーム列を切り替え位置の違いによって図8及び図9に示すように再構成する。なお、ここではGOP再構成部11が上記既存画像を図8のように、GOP再構成部12が上記新画像を図9のように再構成する。
図6及び図7に示したGOP再構成処理の例では、既存画像のPフレームを捨て、Bフレームに後ろ向き予測情報を加える処理と、新画像のPフレームをIフレームにし、Bフレームに前向き予測情報を加える処理をする。上記既存画像の処理では、前のIフレームから次のPフレームをIフレーム化し、これを順次繰り返し対象のPフレームをIフレーム化し、これを用いてBフレームの予測情報を修正する。また、上記新画像の処理では、前のIフレームから対象のPフレームをIフレーム化し、前のIフレームの情報を用いBフレームの予測情報を修正する。
また、図8及び図9に示したGOP再構成処理の例では、Pフレームが存在しないので、PフレームからIフレームを作る必要がないが、Bフレームの修正のためPフレームからIフレームを生成するパスでIフレームをワークメモリ24に持って来る。
これらの処理が施された処理フレームデータは、ワークメモリ24から符号化器26に供給されてハフマン符号とランレングス符号に変換されてから、ワークメモリ/出力側バッファメモリ28に入る。ワークメモリ/出力側バッファメモリ28には、入力側バッファメモリ14の出力も供給される。この入力側バッファメモリ14から直接供給されるデータは、GOPの再構成において、処理する必要のない未処理フレームデータである。ワークメモリ/出力側バッファメモリ28の出力データは、GOP組立回路27に入る。このGOP組立回路27は、上記処理フレームデータと上記未処理フレームデータを組合せ、新たなGOPを作る。ここで、不要となったフレーム情報が捨てられる。あるいは入力側バッファメモリ14の出力で選択的に捨てることもできる。
以下、GOP再構成部11及び12が行う上記図6及び図7、上記図8及び図9の二つの例について詳しく説明する。
図6の(A)は、上記既存画像のGOPの入力順序フレーム列の後半部分f,d,h,i,g,k,l,j,n,o,mと、切り替え位置S1,S2,S3,S4,S5,S6,S7,S8を示す。ここで、d,g,j,mは、Pフレームであり、f,h,i,k,l,n,oはBフレームである。また、各切り替え位置S1,S2,S3,S4,S5,S6,S7,S8での切り替えは、制御部7により指示される。図6の(B)乃至図6の(I)には、切り替え位置S1,S2,S3,S4,S5,S6,S7,S8が指示された場合のGOP再構成部11で行われる再構成処理の様子を示す。ここで、GOPの基本的な符号化順序は、Bフレームであるh,iを符号化するにはPフレームであるgフレームが既に分かっていなければならないので、h,iよりもgを早く符号化するため、Pフレームであるgを前のPフレームの位置に移動した順序となる。Pフレームのj,mも同様である。
制御部7からの指示により図6の(A)のように切り替え位置S1が示されると、GOP再構成部11では特に、上記基本的な符号化順序を変更することなく、図6の(B)に示すように、GOP単位での切り替えを行う。
上記切り替え位置S2が示されると、GOP再構成部11は図6の(C)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるn,oにPフレームであるmの後ろ向き予測情報を加え、修正n’,o’としてから該mを捨てる。後ろ向き予測情報を加えるのは、Bフレームのnとoに実際のブロック画像情報を加えることによって、nとoからmによって与えられたベクトル情報を削除するためである。Pフレームのブロック画像情報は、IフレームとPフレームとの差分値を、あるいはPフレームの値を離散的コサイン変換したものである。IフレームとPフレームの差分値を離散的コサイン変換する場合は、GOP内に以前のIフレームとPフレームから対象のPフレームであるmの画像を再構成する必要がある。つまり、GOP内の前からBフレームの予測情報付加に必要なPフレームまでのすべてをIフレームから一時的にIフレーム化する。
上記切り替え位置S3が示されると、GOP再構成部11は図6の(D)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるnにPフレームであるmの後ろ向き予測情報を加え、n’に修正してから、o’とmを捨てる。
上記切り替え位置S4が示されると、GOP再構成部11は図6の(E)に示すように、上記基本的な符号化順序とされたフレーム列の、n,m,oを捨てる。
上記切り替え位置S5が示されると、GOP再構成部11は図6の(F)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるk,lにPフレームであるjの後向き予測を加え、修正k’,l’としてから、j,n,o,mを捨てる。
上記切り替え位置S6が示されると、GOP再構成部11は図6の(G)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるkにPフレームであるjの後向き予測を加え、修正k’としてから、l,j,n,o,mを捨てる。
上記切り替え位置S7が示されると、GOP再構成部11は図6の(H)に示すように、上記基本的な符号化順序とされたフレーム列のk,l,j,n,m,oを捨てる。
上記切り替え位置S8が示されると、GOP再構成部11は図6の(I)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるh,iにPフレームであるgの後向き予測情報を加え、修正h’、i’としてからg,k,l,j,n,m,oを捨てる。
図7の(A)は、上記新画像のGOPの入力順序フレーム列の前半部分b,c,a,e、f,d,h,i,g,kと、切り替え位置s1,s2,s3,s4,s5,s6,s7,s8を示す。ここで、aはIフレームであり、d,g,jはPフレームであり、b,c,e,f,h,i,kはBフレームである。また、各切り替え位置s1,s2,s3,s4,s5,s6,s7,s8での切り替えは、制御部7により指示される。図7の(B)乃至図7の(I)には、切り替え位置s1,s2,s3,s4,s5,s6,s7,s8の場合のGOP再構成部12で行われる再構成処理の様子を示す。また、GOPの基本的な符号化順序は、Iフレームであるaが先頭になるように、該aとPフレームであるd,g,jを前のI又はPフレームの位置に移動した順序となる。
制御部7からの指示により、図7の(A)のように切り替え位置s1が示されると、GOP再構成部12では特に、上記符号化順序を変更することなく、GOP単位での切り替えを行う。
上記切り替え位置s2が示されると、GOP再構成部12は図7の(C)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるbを捨てる。
上記切り替え位置s3が示されると、GOP再構成部12は図7の(D)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるb,cを捨てる。
上記切り替え位置s4が示されると、GOP再構成部12は図7の(E)に示すように、上記基本的な符号化順序とされたフレーム列のPフレームであるdをIフレーム化し、BフレームであるeとfにIフレームであるaの前向き予測情報を加え、修正e’,f’としてから、a,b,cを捨てる。前向き予測情報を加えるのは、Bフレームのeとfに実際のブロック画像情報を加えることによって、eとfからaによって与えられたベクトル情報を削除するためである。
上記切り替え位置s5が示されると、GOP再構成部12は図7の(F)に示すように、上記基本的な符号化順序とされたフレーム列のPフレームであるdをIフレーム化し、BフレームであるfにIフレームであるaの前向き予測情報を加え、修正f’としてから、a,b,c,eを捨てる。
上記切り替え位置s6が示されると、GOP再構成部12は図7の(G)に示すように、上記基本的な符号化順序とされたフレーム列のPフレームであるdをIフレーム化し、a,b,c,e,fを捨てる。
上記切り替え位置s7が示されると、GOP再構成部12は図7の(H)に示すように、上記基本的な符号化順序とされたフレーム列のPフレームであるgをIフレーム化し、hとiにdの前向き予測情報を加え、修正h’,i’としてから、a,b,c,d,e,fを捨てる。
上記切り替え位置s8が示されると、GOP再構成部12は図7の(I)に示すように、上記基本的な符号化順序とされたフレーム列のPフレームであるgをIフレーム化し、iにdの前向き予測情報を加え、修正i’としてから、a,b,c,d,e,f,hを捨てる。
このように、GOP再構成部11及び12は、既存画像及び新画像をそれぞれ独立に再構成する。そして、合成部13は、それぞれの画像をGOP単位で接続し、一つの連続画像にする。
図8の(A)は、上記既存画像のGOPの入力順序フレーム列の後半部分h,e,j,k,l,i,o,p,q,mと、切り替え位置S1,S2,S3,S4,S5,S6,S7,S8を示す。ここで、e,i,mはIフレームであり、h,j,k,l,o,p,qはBフレームである。また、各切り替え位置S1,S2,S3,S4,S5,S6,S7,S8での切り替えは、制御部7の指示により示される。図8の(B)乃至図8の(I)には、切り替え位置S1,S2,S3,S4,S5,S6,S7,S8の場合のGOP再構成部11で行われるGOP再構成の様子を示す。ここで、GOPの基本的な符号化順序は、Iフレームであるe,i,mを前のIフレームの位置に移動した順序となる。
制御部7の指示により図8の(A)のように切り替え位置S1が示されると、GOP再構成部11では特に、上記基本的な符号化順序を変更することなく、図8の(B)に示すように、GOP単位での切り替えを行う。
上記切り替え位置S2が示されると、GOP再構成部11は、図8の(C)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるo,p,qにIフレームであるmの後ろ向き予測情報を加え、修正o’,p’,q’としてからmを捨てる。
上記切り替え位置S3が示されると、GOP再構成部11は、図8の(D)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるo,pにIフレームであるmの後ろ向き予測情報を加え、修正o’,p’としてからm,qを捨てる。
上記切り替え位置S4が示されると、GOP再構成部11は、図8の(E)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるoにIフレームであるmの後ろ向き予測情報を加え、修正o’としてからm、p,qを捨てる。
上記切り替え位置S5が示されると、GOP再構成部11は、図8の(F)に示すように、上記基本的な符号化順序とされたフレーム列のo,p,q,mを捨てる。
上記切り替え位置S6が示されると、GOP再構成部11は、図8の(G)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるj,k,lにIフレームであるiの後ろ向き予測情報を加え、修正j’,k’,l’としてから、i,o,p,q,mを捨てる。
上記切り替え位置S7が示されると、GOP再構成部11は、図8の(H)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるj,k,にIフレームであるiの後ろ向き予測情報を加え、修正j’,k’としてから、l,i,o,p,q,mを捨てる。
上記切り替え位置S8が示されると、GOP再構成部11は、図8の(I)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるjにIフレームであるiの後ろ向き予測情報を加え、修正jとしてから、k,l,i,o,p,q,mを捨てる。
図9の(A)は、上記新画像のGOPの入力順序フレーム列の前半部分b,c,d,a,f,g,h,e,j,kと、切り替え位置s1,s2,s3,s4,s5,s6,s7,s8を示す。ここで、a,eはIフレームであり、b,c,d,f,g,h,j,kはBフレームである。また、各切り替え位置s1,s2,s3,s4,s5,s6,s7,s8での切り替えは、制御部7により指示される。図9の(B)乃至図9の(I)には、切り替え位置s1,s2,s3,s4,s5,s6,s7,s8の場合のGOP再構成部12で行われるGOP再構成処理の様子を示す。また、GOPの基本的な符号化順序は、Iフレームであるa,e,iを前のIフレームの位置に移動した順序となる。
制御部7の指示により、図9の(A)のように切り替え位置s1が示されると、GOP再構成部12では特に、上記符号化順序を変更することなく、GOP単位での切り替えを行う。
上記切り替え位置s2が示されると、GOP再構成部12は図9の(C)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるbを捨てる。
上記切り替え位置s3が示されると、GOP再構成部12は図9の(D)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるb,cを捨てる。
上記切り替え位置s4が示されると、GOP再構成部12は図9の(E)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるb,c,dを捨てる。
上記切り替え位置s5が示されると、GOP再構成部12は図9の(F)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるf,g,hにaの前向き予測情報を加え、修正f’,g’,h’としてから、b,c,d,aを捨てる。
上記切り替え位置s6が示されると、GOP再構成部12は図9の(G)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるg,hにIフレームであるaの前向き予測情報を加え、修正g’,h’としてから、b,c,d,a,fを捨てる。
上記切り替え位置s7が示されると、GOP再構成部12は図9の(H)に示すように、上記基本的な符号化順序とされたフレーム列のBフレームであるhにIフレームであるaの前向き予測情報を加え、修正h’としてから、b,c,d,a,f,gを捨てる。
上記切り替え位置s8が示されると、GOP再構成部12は図9の(I)に示すように、上記基本的な符号化順序とされたフレーム列のb,c,d,a,f,g,hを捨てる。
このように、GOP再構成部11及び12は、既存画像及び新画像をそれぞれ独立に再構成する。そして、合成部13は、それぞれの画像をGOP単位で接続し、一つの連続画像にする。
ここで、GOP再構成部11及び12で行われるGOP組替えに伴いGOPの総データ量が予め決められたデータ総量である基準データ量を超える場合が生じる。この場合は、GOP組立部27は、上記処理フレームデータと上記未処理フレームデータからなる総データ量を基準データ量以内に収めるためのデータ圧縮処理を行う。このGOP組立部27のデータ圧縮処理を図10のフローチャートを参照しながら説明する。
先ず、GOP組立部27は、ステップST1に示すように、ワークメモリ/出力側バッファメモリ28に格納されている処理対象のGOPの総データ量を算出する。そして、算出したGOPの総データ量が予め決められた基準データ量以下か否かをステップST2で判定する。ここで、基準データ量は、GOPを構成するフレーム数により変わる。上記GOPの総データ量が上記基準データ以下である場合、GOP組立回路27は、ステップST3に進み、上記GOPの総データをワークメモリ/出力側バッファメモリ28から読み出して、後段の合成部13に供給する。このステップST3の処理が完了すればGOP組立部27のデータ圧縮処理は終了する。
しかし、ステップST2でGOPの総データ量が基準データ量よりも大きいと判断すると、GOP組立回路27は、ステップST4に進み、ワークメモリ/出力側バッファメモリ28からGOPの総データを読み出した後、ステップST5に示すように、該読みだしたGOPの総データを可変長符号復号器で復号化する。そして、GOP組立回路27は、復号化したGOPの総データのデータ量が基準データ量以下になるように、ステップST6で再度量子化を行いデータ量を修正する。その後、GOP組立回路27は、上記データ量が修正されたGOPデータをステップST7で符号化し、ワークメモリ/出力側バッファメモリ28に戻してから、ステップST8に示すように、該再量子化されたGOPデータをワークメモリ/出力側バッファメモリ28から読み出す。
ステップST8で読み出されたGOPデータは、ステップST1に戻り総データ量が算出される。その後は、ステップST2で該データ量が基準データ以下か否かの判断を受け、YESが判断されれば、ステップST3で合成部13に供給される。NOが判断されれば、ステップST4からステップST8の処理を繰り返す。
ここで、ステップST6で行われる再量子化は、量子化器19で用いた量子化テーブルの各係数に重み係数を掛けることにより、割当ビット数を減らす。この再量子化は、Iフレーム、Pフレーム及びBフレームの全てに対して行う。上記重み係数は、基準データ量を総データ量で割り算した値に定数を掛けたものを用いる。定数は、符号化する際に基準データ量を超えないように定める。
GOP総データ量を基準データ量以内に収めるには、さらに符号化器26のハフマンテーブルの更新機能を用意し、符号化する際の基準データ超えが生じないようにする処置をとってもよい。
このようにして、マトリックススイッチャ1は、フレーム間圧縮処理をした圧縮画像の切り替えを、指定したフレームで正確に行える。また、切り替え後の圧縮画像は、伸張処理に影響を及ぼさない。また、切り替え後のGOPのフレーム構成が同じである必要はない。また、切り替え画像のGOPの位相は一致する必要はない。切り替え合成後の画像のGOP情報量の増加を抑えられる。また、画像の伸張を不要として、カット編集を行える。
次に、本実施例の画像情報処理装置は、上述したマトリックススイッチャ1によって上述したように接続された上記圧縮画像データを図1に示したデコーダ2により、元の画像に復元する。また、デコーダ2は、圧縮画像を元の画像に復元する機能の他、入力信号から画像信号と音声信号とそれらの属性情報を分離する機能と、制御部7との通信機能も備えている。
ここで、属性情報とは信号の性質や特徴を示す情報で、例えば画像信号の場合、圧縮/非圧縮状態識別情報、圧縮方式情報、水平・垂直方向の画素数に応じる画像サイズ情報、処理領域を指定する処理画面サイズ情報、例えばNTSC、PAL、RGB等の画像方式情報、入出力信号レート情報等がある。この属性情報は、制御部7経由でデコーダ2に与えることもできる。
具体的に、デコーダ2は、制御部7の指示に従い伸張方法を換えながら外部入力装置からの圧縮画像信号を伸張する。属性情報の圧縮/非圧縮状態識別情報で非圧縮状態とされた伸張する必要のない画像には圧縮処理を施さないで、バイパスする。
このデコーダ2は、図11に示すように、例えばハフマン復号化等の復号化を行う復号器31と、IDCT回路32と、逆ブロック化回路33からなり、上記JPEGで標準化された符号化方法によって圧縮された画像をデコードするJPEG用デコーダ30と、バッファメモリ41と、可変長符号復号器42と、逆量子化器43と、IDCT回路44と、加算器45と、前向き補償回路46と、前向き+後向き補償回路47と、後ろ向き補償回路48と、フレームメモリ49と、フレームメモリ50とからなり、上記MPEGで標準化された符号化方法で圧縮された画像をデコードするMPEG用デコーダ40とを有して構成される。
JPEG用デコーダ30とMPEG用デコーダ40の入力側には、どちらのデコーダにデータを通すかを選択するデコーダ選択器34が設けられている。また、このJPEG用デコーダ30とMPEG用デコーダ40の出力側には、出力選択器35が設けられている。
JPEG用デコーダ30の復号器31は、例えばハフマン符号化されたデータを復号化する。IDCT回路32は、上記復号化データに離散的コサイン逆変換処理を施す。逆ブロック化回路33は、ブロック化されていたデータを元に戻し一枚の画像にする。
MPEG用デコーダ40のバッファメモリ41は、後段のデコード処理に必要なデータを一時的に蓄える。可変長符号復号器42は、可変長で符号化されたデータを復号化する。逆量子化器43は、可変長符号復号器42の出力データに量子化数を掛け周波数領域の値に戻す。IDCT回路44は、逆量子化器43の出力データに離散的コサイン逆変換処理を施す。前向き補償回路46は、フレームメモリ49から時間の流れと同じ方向である前向き方向の画像情報を取り出して画像を再構成する。後ろ向き補償回路48は、フレームメモリ50から時間の流れと逆方向である後ろ向き方向の画像情報を取り出して画像を再構成する。前向き+後ろ向き補償回路47は、フレームメモリ49とフレームメモリ50から上記両方向の画像情報を取り出して画像を再構成する。加算器45は、前向き補償回路46、前向き+後ろ向き補償回路47及び後ろ向き補償回路48から出力された再構成画像とIDCT回路44の処理結果の画像を加算する。このデコーダ2の伸張処理は、例えば8×8画素ブロック単位であるような任意の大きさの画像も受け入れられるようにパラメトリックになっており、属性情報の画像サイズ情報に従い指定された大きさの画像を伸張できる。例えば8×8画素ブロックで端数のでる画像の場合は、ダミーデータを付加し端数のでない大きさにして処理する。
次に、入力バッファメモリ部3は、上記画像信号を例えばコンポーネント信号に変換すると共に上記画像信号の転送レートを変換する機能の他、制御部6との通信機能も備える。
入力バッファメモリ部3は、図12に示すように、方式変換エンコーダ51と、レート変換機能付バッファメモリ52とから構成される。方式変換エンコーダ51は、デコーダ2で伸張されたコンポジット信号や、Y/C信号を本装置の内部処理で取り扱われるY、R−Y、G−Y又はR、G、B等のコンポーネント信号に変換する。この方式変換は、制御部7から与えられる属性情報の画像サイズ情報と画像方式情報に従い処理される。ただし、単なるフレームの切り換えの場合等には、コンポジット信号、Y/C信号のままでもよいので、コンポーネント信号への変換は不要となる。
また、レート変換機能付バッファメモリ52は、上記画像信号の画像サイズとは無関係で、かつ十分な容量を持っている。レート変換機能付バッファメモリ52への書き込みは、該バッファメモリ52への入力のレートで行い、読み出しは内部の処理レートで行う。上記バッファメモリ52への入力のレートは、方式変換エンコーダ51の出力レートである。書き込みレートに対して読み出しレートが速い場合は、読み出しの途中で待ち状態が入る。レート変換機能付バッファメモリ52は、2枚のメモリから成り、一方が書き込みメモリの時、もう一方は読み出しメモリになる。読み出し/書き込みの役割は交互に入れ替わる。すなわち、レート変換機能付バッファメモリ52は、ダブルバッファメモリ構造をとる。二つのメモリのそれぞれは、独立に働くアドレス生成器を持つ。入力レートは制御部7から与えられる属性情報の画像入出力レート情報に従いそれぞれのメモリにあるアドレス生成器がアドレスを生成する。アドレス生成ブロックの大きさとブロックアドレスの間隔を調整することによりさまざまなレートの入力を処理系の内部レートに変換できる。なお、本実施例では、画像データをブロックで扱うので、上記レートは時間の平均レートである。
画像処理部4は、画像の生成や合成やペイントや特殊効果等の画像処理を行う機能の他、制御部7との通信機能も備えている。
この画像処理部4は、図13に示すように、色変換回路53と、可変タップ低域フィルタ54と、画像メモリ55と、補間フィルタ56と、合成回路57と、アドレス生成器58と、画像処理制御部59とから構成される。
色変換回路53は、画像処理制御部59の指示に従い画像の各画素の色を変える。一般に、各色はR、G、BあるいはY、R−Y、B−Yの3色からなり、その混合比を変えることにより色変換される。可変タップ低域通過フィルタ54は、縮小処理に先だってアンチエリアシング処理を行うための低域通過フィルタ機能を備える。この可変タップ低域通過フィルタ54は、画像処理制御部59の指示に従い、タップ係数を変えられるので、縮小の程度に応じ、作用する低域範囲を変えられる。また、上記低域通過フィルタ機能は、特殊効果の一つであるデフォーカスと呼ばれるぼかし処理にも用いられる。画像メモリ55は、幾何学変換と呼ばれる座標変換を行うためのワーキングメモリである。変換のためのアドレスは、アドレス生成器58で生成される。補間フィルタ56は、座標変換により生じた空の画素を周囲の画素値を用い穴埋めするための補間機能を有する。合成回路57は、複数の処理画像を合成する。アドレス生成器58は、画像メモリ55上の画像を幾何学変換するためのアドレスを生成する。画像処理制御部59は、色変換回路53、可変タップ低域通過フィルタ54、アドレス生成器58、補間フィルタ56、合成回路57に制御信号を出し処理を指示する。この画像処理制御部59には、制御部7からの制御信号が供給されている。ここで、画像の処理範囲や画像をメモリにしまう領域は、制御部7から伝えられる属性情報の処理画面サイズ情報と画像サイズ情報に従ったパラメータにより設定される。これにより任意のサイズの画像を任意の処理画面サイズで処理できる。
エンコーダ5は、上記画像信号を圧縮する機能の他、画像方式変換機能と、制御部7との通信機能も備えている。ここで、エンコーダ5は、制御部7の指示に従い圧縮方法を変えながら画像を圧縮するが、圧縮する必要のない画像はバイパスする。また、エンコーダ5は、上記画像方式変換機能により、上述したコンポーネントによる画像方式を制御部7から供給される属性情報の画像方式情報に従った出力画像方式に変換する。この変換も制御部7からの属性情報の画像サイズ情報に従い処理されるので任意の画像を扱うことができる。属性情報の伝達は、制御部7との通信機能を用いて行われる。
このエンコーダ5は、図14に示すように、デコーダ2と同様に、JPEG用エンコーダ60と、MPEG用エンコーダ70の2系統から構成される。これら2系統は、エンコーダ選択器36で分かれ、出力選択器37で一緒になる。また、エンコーダ選択器36の前には、上記画像方式変換機能を実行する方式変換デコーダ38を備えている。
JPEG用エンコーダ60は、ブロック化回路61と、DCT回路62と、量子化器63と、ハフマン符号化器64と、ランレングス符号化器65と、マルチプレックス回路66とからなる。
一方、MPEG用エンコーダ70は、バッファメモリ71と、DCT回路72と、量子化器73と、ハフマン符号化器74と、バッファメモリ75と、動きベクトル検出回路76と、前向き予測回路77と、後ろ向き予測回路78と、フレームメモリ79と、フレームメモリ80と、逆量子化器81と、IDCT回路82とからなる。
これら2つのエンコーダ60又は70の選択は、エンコーダ選択器36が制御部7から供給される属性情報の圧縮方式情報に従って行う。
JPEG用エンコーダ60のブロック化回路61は、一枚の画像を小さなブロック、例えば8×8画素からなるブロックに分割する。DCT回路62は、例えば8×8画素からなる各ブロックに離散的コサイン変換処理を施す。量子化器63は、各ブロック毎の64個の画素データのパワーを量子化係数で割り、量子化する。ハフマン符号化器64は、量子化器63の出力である例えば64個のスペクトルの内の直流成分をハフマン符号にする。ランレングス符号化器65は、量子化した残りの交流成分をランレングス符号にする。マルチプレックス回路66は、ハフマン符号化されたデータとランレングス符号化されたデータを選択合成する。
MPEG用エンコーダ70のバッファメモリ71は、エンコード処理で必要とされるデータを一時的に蓄える。一般には、1GOP分のデータを蓄える。DCT回路72は、上記DCT回路62と同様、離散的コサイン変換処理を行う。量子化器73は、量子化数で各離散的コサイン変換値を割る処理をする。ハフマン符号化器74は、量子化したデータをハフマン符号にする。バッファメモリ75は、所定のまとまった結果が得られ、出力されるまで、処理結果データを蓄える。動きベクトル検出回路76は、参照フレームと呼ばれる基準の画像のブロック(一般には16×16画素から成る)が、別の画像のどの位置に移動したか、すなわち移動ベクトルを求める。前向き予測回路77は、フレームメモリ80から時間的に以前の画像から求めたベクトルに対応するブロックを抜き出す。後ろ向き予測回路78は、フレームメモリ79から時間的に以後の画像から求めたベクトルに対応するブロックを抜き出す。逆量子化器81は、BフレームやPフレームに相当する符号化フレームを作るために、量子化器73での量子化を解く。IDCT回路82は、同じくDCT回路72での離散的コサイン変換処理を解くため、離散的コサイン逆変換処理を行う。フレームメモリ79とフレームメモリ80は、逆量子化器81とIDCT回路82で再生された画像を、それぞれ、前向き予測回路77と後ろ向き予測回路78で行われる予測処理のために蓄える。バッファメモリ71とDCT回路72の間に設けられた減算器83には、切り換えスイッチ84の選択片aが接続されている。切り換えスイッチ84の被選択端子bには“0”が供給され、被選択端子cには前向き予測回路77の出力が供給され、被選択端子eには後ろ向き予測回路78の出力が供給される。また、被選択端子dには前向き予測回路77の出力と後ろ向き予測回路78の出力を加算する加算器85の加算出力が供給される。したがって、減算器83は、バッファメモリ71の出力から、切り換えスイッチ84で切り換えられた上記被選択端子b、c、d又はeの出力を減算する。すなわち、減算器83は、符号化されるフレームから、予測できなかった場合は“0”を、前向き予測のみの場合は前向き予測値(抜き出されたブロック値)を、前向きと後ろ向きの予測がある場合は2つの合成値を、後ろ向き予測値のみの場合は後ろ向き予測値を引く。加算器85は、前向きと後ろ向きの予測値を加算合成する。加算器86は、前後の予測フレームの平均で予測フレームを作り予測する方式の場合、選択片a、被選択端子b及びcを持つ切り換えスイッチ87と共に用いられ、フレーム加算を行う。
出力バッファメモリ部6は、エンコーダ5からの送り出しデータの転送レートを変換する機能の他、制御部7との通信機能を備える。
この出力バッファメモリ部6は、図15に示すように、レート変換機能付バッファメモリ89で構成される。レート変換機能付バッファメモリ89は、圧縮した画像あるいは出力画像をレート調整のため一旦蓄える。このレート変換機能付バッファメモリ89は、上記入力バッファメモリ部3のレート変換機能付バッファメモリ52と同様に、上記画像信号の画像サイズとは無関係で、かつ十分な容量を持ち、ダブルバッファメモリ方式であり、それぞれのメモリは独立に動作するアドレス生成器を持つ。入力レートは、制御部7から与えられる属性情報の画像サイズ情報と画像入出力レート情報に従いそれぞれのメモリにあるアドレス生成器がアドレスを生成する。アドレス生成ブロックの大きさとブロックアドレスの間隔を調整することにより処理系の内部レートをさまざまなレートの出力レートに変換できる。すなわち、この出力バッファメモリ部5でも任意のレート変換を行える。
制御部7は、マトリックススイッチャ1、デコーダ2、入力バッファメモリ部3、画像処理部4、エンコーダ5、出力バッファメモリ部6の各処理を制御する機能を有する。
以上のように構成された画像情報処理装置の動作を以下に説明する。
マトリックススイッチャ1で上述したように、取り込まれ、切り換え選択された圧縮画像信号は、データの先頭に、圧縮/非圧縮状態識別情報、圧縮方式情報、水平・垂直方向の画素数に応じる画像サイズ情報、処理領域を決定する処理画面サイズ情報、例えばNTSC、PAL、RGB等の画像方式情報、入出力信号レート情報等の属性情報が入ったヘッダ情報を持つ。
デコーダ2は、上記ヘッダ情報を読み、制御部7に上記画像属性情報を送る。制御部7は、上記属性情報から、圧縮/非圧縮識別情報、圧縮方式情報、画像サイズ情報をデコーダ2に再び送る。デコーダ2は、制御部7から上記属性情報を受け取らないで、デコーダ2自身が読み取った上記属性情報をそのまま使うことも変更することもできる。また、上記属性情報は、キーボード8から与えることもできる。制御部7は、上記属性情報の画像サイズ情報、画像方式情報、画像入出力レート情報を入力バッファメモリ部3に供給する。また、制御部7は、上記属性情報の画像サイズ情報、処理画面サイズ情報を画像処理部4に供給する。また、制御部7は、上記属性情報の圧縮/非圧縮状態識別情報、圧縮方式情報、画像サイズ情報、画像方式情報をエンコーダ5に供給する。また、制御部7は、上記属性情報の画像サイズ情報、画像入出力レート情報を出力バッファメモリ部6に供給する。
上記制御部7から切り換えの指示がマトリックススイッチャ1に供給されると、マトリックススイッチャ1は、上述したように、GOPの単位で圧縮画像データを切り替える。
デコーダ2は、制御部7からの属性情報に従い、伸張処理が不要な信号をそのまま入力バッファメモリ部3に出力する一方、伸張処理が必要な信号には選択情報に従い選択した伸張処理を施す。伸張処理は、画像サイズ情報に従い処理する範囲を決める。これによりデコーダ2は、任意の大きさの画像を伸張できる。
入力バッファメモリ部3は、制御部7からの画像方式情報に従い方式変換エンコーダ51を使って、コンポジット信号又はY/C信号の上記画像信号を内部処理に適したコンポーネント信号に方式変換する。この方式変換処理の際、制御部7からの画像サイズ情報に従い処理範囲を決める。これによりこの入力バッファメモリ部3での方式変換処理も、任意の大きさの画像に対して有効になる。コンポーネント信号は、内部処理レートに変換されるためレート変換機能付バッファメモリ52に入力レートで書き込まれ、改めて内部レートで読み出される。このレート変換機能付バッファメモリ52は、上述したように画像サイズとは無関係で、かつ十分な容量を持ち、ダブルバッファ構造とされ、それぞれ独立のアドレス生成器があり、異なるブロックレートで読み書きされる。アドレス生成器で生成するアドレス領域は制御部7からの画像サイズ情報に従い決定されるので、この入力バッファメモリ部3での転送レートの変換は、任意の大きさの画像に対しても有効となる。
画像処理部4は、制御部7からの画像サイズ情報に従い、任意の大きさの画像をしまう画像メモリ55の領域を指定して確保したり読み書きするアドレス範囲を決める。これにより画像処理部4は、任意の大きさの画像に画像処理を施すことができる。また、制御部7からの処理画面サイズ情報に従い画像処理範囲を決める。これにより画像処理部4は、指定した範囲の処理だけに処理系リソースを使うことができ、従来結果に反映されなかった処理に使われた無駄な処理系リソースを他の処理に有効利用できるようになった。
ここで、この画像処理部4の画像処理について説明する。入力バッファメモリ部3の出力である画像信号は、画像処理部4に供給される。画像処理部4に入った上記画像信号には、制御部7の指示に従った各種画像処理が施される。画像処理部4には、図13に示したように、この画像処理部4内の制御を行う画像処理制御部59がある。画素や複数画素ブロック単位の色変換は、画像処理制御部59の指示に従い色変換回路53で行われる。色変換が必要ない場合、色変換回路53は画像処理制御部59の指示で上記画像信号をバイパスする。色変換回路53を介した画像信号は、可変タップ低域フィルタ54に供給され、後述する後段の回路で行われる変形や縮小に備えて、高域の信号が除去される。この高域の信号の除去処理は、変形や縮小処理に伴い周波数的に高域信号が低域信号にエリアシング等の悪影響を及ぼすのを防ぐために必要である。どの程度、高域信号を除去するかは、画像処理制御部59が変形や縮小の程度に依存して、除去する高域幅を指示することによって行われる。帯域制限する必要がない場合、画像処理制御部59の指示でこの処理機能は、バイパスされる。可変タップ低域フィルタ54を介した画像信号は、画像メモリ55に供給される。この画像メモリ55は、2次元及び3次元幾何変換を行うためのワーキングメモリである。幾何変換を行うアドレス生成は、アドレス生成器58で行われ、画像メモリ55に供給される。アドレス生成器58でどのようなアドレスを生成するかは、画像処理制御部59が指示する。この指示は、モデリングデータと変換則データで行うのが一般的である。画像メモリ55から読み出されたデータ群は、一般にラスターデータとしては不完全で画素の抜けがたくさん存在する。この抜けを周囲の画素を用い埋める補間処理を補間フィルタ56で行う。画像処理制御部59が補間の精度を指示する。補間方法には、最近傍法、線形補間法、3次補間法などがあり、後者ほど精度の高い補間値が得られる。抜けを補間で埋めたラスター信号は、合成回路57に供給される。この合成回路57は、複数の処理画像を2次元あるいは3次元的に合成する。合成の際の奥行き情報等の制御信号は、画像処理制御部59が供給する。合成の最終段で画像は2次元画像にされ、モニター9に表示される。
また、上記2次元画像は、エンコーダ5に供給され、方式変換され圧縮される。コンポーネント信号からの方式変換は、制御部7から供給される属性情報の画像方式情報に従い決められる。圧縮するか否かや圧縮方式は制御部7から供給される属性情報の圧縮/非圧縮状態識別情報及び圧縮方式情報に従い決められる。方式変換処理と圧縮処理が必要でない場合は処理されないで出力バッファメモリ部6に送られる。方式変換処理と圧縮処理の際、制御部7からの画像サイズ情報に従い指定された画像範囲の処理が行われる。これによりエンコーダ5でも任意の大きさの画像を取り扱える。
エンコーダ5の出力は、出力バッファメモリ部6に入る。出力バッファメモリ部6は、入力バッファメモリ部3のレート変換機能付バッファメモリ52と同様の、画像サイズとは無関係で、かつ十分な容量を持ち、ダブルバッファ構造とされ、それぞれ独立のアドレス生成器があり、異なるブロックレートで読み書きされるレート変換機能付バッファメモリ89を備えているので、送り出しデータのレート変換を行える。アドレス生成器で生成するアドレス領域は制御部7からの画像サイズ情報に従い決定されるので、この出力バッファメモリ部6でも任意の大きさの画像のレートを変換することができる。
以上のように、本実施例の画像情報処理装置は、解像度、転送レート、画像サイズに依存しない画像の入出力や処理を可能とすると共に、フレーム間圧縮処理をしたような圧縮画像の切り替えをスムーズに正確に行える。特に、上述したマトリックススイッチャ1を備えることにより、切り替え後の圧縮画像は、伸張処理に影響を及ぼさない。また、切り替え後のGOPのフレーム構成が同じである必要はない。また、切り替え画像のGOPの位相は一致する必要はない。切り替え合成後の画像のGOP情報量の増加を抑えられる。また、画像の伸張を不要として、カット編集を行える。
次に、本発明に係る画像情報処理装置の実施例の変形例を図16を参照しながら説明する。この変形例は、ハード処理部100と、ソフト処理部110と、入出力制御部120と、データ記憶部130とから成る。
この変形例は、処理をハード処理部100とソフト処理部110に分けることにより、装置の全体処理の柔軟性と拡張性を高めている。ハード処理部100は、主としてフィルタ等機械的処理やソフト処理で負荷が大きい処理を行う。ソフト処理部110はインテリジェントな処理や拡張性に富む処理を行う。
ハード処理部100は、上記図1を用いて説明した上記実施例の画像情報処理装置とほぼ同様の構成である。すなわち、二つの外部入力装置101及び102から供給される複数の圧縮画像は、マトリックススイッチャ1で切り換えられて、デコーダ2に供給され、該デコーダ2で伸張される。このデコーダ2で、伸張された画像信号は、入力バッファメモリ部3に供給される。入力バッファメモリ部3を介した信号は、色変換器53、可変タップ低域フィルタ54、フレームメモリ55、補間フィルタ56、合成回路57及びアドレス生成器58で構成される画像処理部4に供給される。これら各部は、ソフト処理の際、ハードの各機能を、ソフトから利用できるハードモジュールとしてできるように、ローカルバス103で接続されている。画像処理部4で画像処理された画像信号は、エンコーダ5、出力バッファメモリ部6を介して外部出力装置104に出力される。ここで、上記各部は、ハードモジュール制御部105で制御される。
ソフト処理部110は、CPU111、キャッシュメモリ112、主メモリ113、CPUバス114、メモリバス制御部115から成る。メモリバス制御部115は、ローカルバス103と、ハードモジュール制御部105に接続されており、ローカルバス103に画像データを、ハードモジュール制御部105に制御信号を伝送している。メモリバス制御部115は、ペリフェラルバス116経由でグラフィックモニタ制御部121と、メディア制御部122と、スイッチャ制御部123と、スモールコンピュータシステムインターフェース(以下SCSIという。)アダプタ124と、操作パネル125とに接続されている。グラフィックモニタ制御部121は、ビデオメモリを内蔵しており、グラフィックモニタ126の表示制御を該ビデオメモリを用いて行う。メディア制御部122は、例えばVTRやデータレコーダのような外部入力装置101及び102や、例えばVTRやデータレコーダのような外部出力装置104の画像情報入出力タイミングを制御する。スイッチャ制御部123は、マトリックススイッチャ70を制御する。SCSIアダプタ124は、SCSIバス127で結ばれた光磁気ディスク(図中、MOと記す。)装置131、CD−ROM132、ハードディスク装置(図中、HDDと記す。)133等のデータ記憶装置のインターフェースである。操作パネル125は、画像情報の処理や入出力を指示するのに用いられる。
ソフトから利用できるハードモジュールを実現する方法は、CPU111で実行中のプログラムからサブルーチンライブラリがコールされると、そのサブルーチンライブラリがソフトライブラリの場合は、リンク時に決定された対応するプログラムアドレスにジャンプし実行される。また、サブルーチンライブラリがハードライブラリの場合も、リンク時に決定されたハードモジュールに対応するアドレスにジャンプする。ハードモジュールに対応するアドレスには、ハードモジュールに必要なデータを送り、実行を起動し、実行終了を確認しソフトウェアのメインプログラムに実行を戻す手続きが格納されている。例えば、ハードモジュールとして可変タップ低域フィルタ34がコールされた場合、CPU111の指示で主メモリ113からデータがメモリバス制御部115とローカルバス103経由で可変タップ低域フィルタ34に送られる。次に、CPU111は、メモリバス制御部115とローカルバス103経由で可変タップ低域フィルタ34に実行を指示する。CPU111は、実行終了を確認し、処理済みデータを、ローカルバス103と、メモリバス制御部115経由え主メモリ113に回収する。そして、メインプログラムに戻り、次のステップの実行に移る。
以上のように、図16に示した変形例である画像情報処理装置は、装置の全体処理の柔軟性と拡張性を高めながら、静止画像から動画像までの広範囲の画像や、解像度に依存しないフリーフォーマット画像や、転送レートや画像サイズの異なるスケーラブル・フォーマット画像に生成、色変換、合成、編集等の画像処理を施すことができる。また、フレーム間圧縮処理をしたような圧縮画像の切り替えをスムーズに正確に行える。
なお、他の変形例としては、CPU111とキャッシュメモリ112からなるユニットを複数用いてCPUバス114に接続するような装置が考えられる。このため、この他の変形例は、負荷が重いときに、並列処理を行うことにより、負荷を軽減できる。