(57)【特許請求の範囲】
【請求項１】
圧縮される動画を供給する動画供給手段と、
所定時間の動画のフレームのシーケンスを一時的に保持し、前記フレームのシーケンスから前記フレームの一つの軸方向をワークフレームの第１軸とし、シーケンス方向をワークフレームの第２軸とし、前記フレームの他方の軸方向をシーケンスとしたワークフレームのシーケンスを作成する第１フレーム作成手段と、
作成されたワークフレームをシーケンスにしたがってフラクタル圧縮する圧縮手段と、
圧縮されたワークフレームのシーケンスを保持する第１保持手段と、
第１保持手段に保持された圧縮されたワークフレームをシーケンスにしたがってフラクタル伸長する伸長手段と、
伸長されたワークフレームのシーケンスを保持する第２保持手段と、
第２保持手段からワークフレームのシーケンスを読み出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成して出力する第１の第２フレーム作成手段と、
出力されたフレームをシーケンスにしたがって再生する再生手段と、
前記第１の第２フレーム作成手段から出力されたフレームのシーケンスが前記再生手段に出力されている間に、第２保持手段からワークフレームのシーケンスを読み出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成し、前記第１の第２フレーム作成手段から出力されたフレームのシーケンスの前記再生手段への出力が終了した後に、作成したフレームのシーケンスを前記再生手段に出力する第２の第２フレーム作成手段と
を備えることを特徴とする動画圧縮伸長装置。
【請求項２】
請求項１に記載の動画圧縮伸長装置において、更に、
隣接するフレームの差分をとり、所定時間の動画のフレームのシーケンスにおいてフレームの中の動きのある画像ブロックを検出する検出手段を備え、
前記検出手段により検出した画像ブロックについてのみ、所定時間の動画のフレームのシーケンスの前記フレームとして、動画圧縮処理を行うことを特徴とする動画圧縮伸長装置。
【請求項３】
請求項２に記載の動画圧縮伸長装置において、
前記検出手段は、動画像のフレームの時間軸方向の輝度の変化座標と新輝度のみを抽出し記憶して、フレームの中の動きのある画像ブロックを検出する
ことを特徴とする動画圧縮伸長装置。
【請求項４】
圧縮される動画を供給する動画供給手段と、
所定時間の動画のフレームのシーケンスを一時的に保持し、前記フレームのシーケンスから前記フレームの一つの軸方向をワークフレームの第１軸とし、シーケンス方向をワークフレームの第２軸とし、前記フレームの他方の軸方向をシーケンスとしたワークフレームのシーケンスを作成し、作成されたワークフレームの所定の複数枚毎に、当該ワークフレームのシーケンス方向が前記ワークフレームの第１軸と一致する方向に並べた中間フレームを作成する中間フレーム作成手段と、
中間フレームを全体としてフラクタル圧縮する圧縮手段と、
圧縮された中間フレームのシーケンスを保持する第１保持手段と、
前記第１保持手段に保持された圧縮された中間フレームをシーケンスにしたがってフラクタル伸長する伸長手段と、
伸長された中間フレームのシーケンスを保持する第２保持手段と、
第２保持手段から中間フレームのシーケンスを読み出し、中間フレームから所定の複数枚毎のワークフレームを取り出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成し、出力する第１の第２フレーム作成手段と、
出力されたフレームをシーケンスにしたがって再生する再生手段と、
前記第１の第２フレーム作成手段から出力されたフレームのシーケンスが前記再生手段に出力されている間に、第２保持手段から中間フレームのシーケンスを読み出し、中間フレームから複数枚毎の各々のワークフレームを取り出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成し、前記第１の第２フレーム作成手段から出力されたフレームのシーケンスの前記再生手段への出力が終了した後に、作成したフレームのシーケンスを前記再生手段に出力する第２の第２フレーム作成手段と
を備えることを特徴とする動画圧縮伸長装置。
【請求項５】
請求項４に記載の動画圧縮伸長装置において、中間フレーム生成手段は、更に、
前記ワークフレームの列ベクトルとそれに隣接する列ベクトルの類似性を比較する比較手段と、
比較手段による比較結果を示す情報に基づき許容値以下で類似している列ベクトルを削除する削除手段と
を備えることを特徴とする動画圧縮伸長装置。
【請求項６】
請求項４に記載の動画圧縮伸長装置において、中間フレーム生成手段は、
作成されたワークフレームの所定の複数枚毎に、当該ワークフレームのシーケンス方向が前記ワークフレームの第１軸と一致する方向に並べて中間フレームを作成する際、
ワークフレームのシーケンス方向をそれぞれのワークフレームについて順に反転して中間フレームを作成する
ことを特徴とする動画圧縮伸長装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、映画，アニメーションなどの動画、特に、蓄積メディア用の動画を効率よく圧縮し、また、圧縮した動画を効率よく伸長できる動画圧縮伸長装置に関する。
【０００２】
【従来の技術】
パーソナルコンピュータにおいて扱うマルチメディアの中で、画像データの処理においては、特に大容量のデータを取り扱わなければならない。その中でも、特に、動画データの処理については、一つの静止画に比べ１００倍から１０００倍ものデータを取り扱わなければならない。例えば、２時間の映画を質の良い画像で表現するためには数ギガの単位の容量が必要となる。更に、長時間の画像をリアルタイムで遠隔地に送ろうとした時には、送信しなければならないデータ量が多く、伝送路の容量によってはその伝送時間に時間がかかり、ひいてはそれに伴ったコストの増大を引き起こす。
【０００３】
このため、画像データの圧縮によって蓄積容量の軽減およびコストの低減が必要となる。画像圧縮技術としては、これまでに、ＪＰＥＧやＭＰＥＧによる規格のものが開発されている。
【０００４】
ＪＰＥＧの画像圧縮技術は、静止画像のデータ圧縮に適用される。ＪＰＥＧの圧縮方法は、いわゆる空間領域にある画像をフーリ工変換により（実際にはその特殊な例としてＤＣＴ（Discrete Cosine Transform）を用いて）変換して周波数領域のデータとして記述してやる方法である。その変換されたデータは、低周波数領域のものに偏在することが知られている。このため、高周波数領域をいくらか無視しても、復号された画像がある程度見栄えのあるものができる。
【０００５】
しかしながら、上記のようなＪＰＥＧによる画像の変換は、例えぱ、８×８ビットのブロツク毎になされるため、データの量子化の影響で、復号された画像にいわゆるブロックノイズが発生する。現在においては、研究段階では２００分の１の圧縮率を達成するＪＰＥＧが開発されているが、実用的には１０分の１から２０分の１位の圧縮率が多く使われている。
【０００６】
また、実用的な意味での画像のデータ圧縮技術の例として、ファクシミリのデータ（主に文書中の文字イメージのデータ）の圧縮技術がある。初期のファクシミリ伝送においては、伝送される内容が文書画像であることが多かった。このため、文書中の文字イメージのデータを高密度で圧縮するデータ圧縮技術が、これまで開発されてきた。
【０００７】
文書中の文字イメージのデータは、その文書をスキャンラインで区切ると、各ラインにおいて、長い空白の部分（ビット“０”の連）と短い文字の部分（ビット“１”の連）の繰り返しが続く。または、ビット“０”とビット“１”の連が交互に現れる。したがって、全てのビットをそのまま送るのではなく、スキャンラインの始まりは常にビット“０”で始まるとして、ビット“１”の連の始まりの位置と長さを記録して送れば充分である。
【０００８】
文書画像のデータでは、第１のスキャンラインのデータと、それに続く第２のスキャンラインのデータはあまり変わらないことが多く、また、ファクシミリのデータは一般的に文書であることが多いので、白色の部分（文書の地の部分）のビット“０”の連（ランレングス）は、ビット“１”の連よりきわめて長い。したがって、第２のスキャンラインのデータとしては、第１のラインのデータとのビット“０”またはビット“１”のビットの違いがあるところだけを記録し、伝送する相手側に送れば、更に、高密度にデータ圧縮が可能である。ビットの位置は、通常、ラインの左端から測るが、左端からの位置ではなく、前回のビットの変わった位置からの相対的位置、すなわち、ビットの変わり目から次の変わりまでのビットで測った距離を送ってやることもできる。また、更に別の方法としては、予め決められた（ビット“０”およびビット“１”）の連の標準の組み合わせからなる所定のコードにより、各ラインの情報を表現する方法も開発されている。
【０００９】
また、近年、ベクトル量子化による画像圧縮方法と画像の自己相似性を利用したフラクタル画像圧縮方法が発明された。ここでのベクトル量子化方法とは、原画像を有限の種類の標準の小画像に分解し、小画像の集まりをその標準画像へのレファランスのみで表現するようにデータ圧縮を行う方法である。この圧縮方法では、画像圧縮に先立って、どのようにしてその標準画像を選ぶか（それに時間がかかる）という問題がある。データの伸長（復号）の際にも、その標準画像のリストを持っていなけれぱならない。したがって、データの伸長の処理（復号処理）が遠隔地で行われる場合には、その標準リストを画像信号とともに送ってやらなければならないという問題がある。
【００１０】
フラクタル圧縮方法は、M. Barnsleyによって発明されたものであり（USP 4,941,193）であり、更に、A. Jacquinらによってブロックの対ごとに縮小変換式を求めるという改良が加えられて、実用化されるに至っている(Image coding based on a fractal theory of iterated contractive image transformation，IEEE Transaction on Image Processing, Vol.1, No.1, Jan. 1992, pp. 18-30 および USP 5,065,447 参照)。
【００１１】
これらのフラクタル圧縮方法および伸長方法の原理は、与えられた画像を自己または自己の一部の縮小画像で近似的に覆いつくすことができると、初期値にかかわらず、その一連の画像変換を繰り返すと元の画像が復元されるという性質に基づいている。具体例で説明すると、例えば、図２０に示すように、画像２０４が与えられた場合、ここでの画像を包含する領域２００をブロックで区切り、そのブロックをレンジブロック２０１とし、このレンジブロックの４倍の大きさの領域をドメインブロック２０２とすると、ドメインブロック２０２の図形は、当該ドメインブロック２０２の図形を半分に縮小し（第１の画像変換操作）、９０度反時計回りに回転させ（第２の画像変換操作）、ｘ軸方向およびｙ軸方向に共に２ブロック分だけ、マイナスの方向に移動させる（第３の画像変換操作）と、レンジブロック２０３の図形に重ねあわせることができる。
【００１２】
つまり、どのレンジブロックもドメインブロックの画像変換の操作の記述だけでそれを表現することができる。更に、その画像変換の操作の記述の中で、ピクセルのシャッフルや、輝度の変化、コントラストの変化を考慮して、その画像変換の操作を記述することにより、どのような複雑な画像でも、画像変換操作の記述で表現できることになる。
【００１３】
次に、このような原理によって、画像のデータ圧縮操作を行う場合のアルゴリズムについて説明する。この場合、すべてのレンジブロツクの画像について、レンジブロックの４倍の大きさのドメインブロックの画像のどれかの線形変換で近似することを試みる。その場合に、任意のデータから始めて、全てのレンジブロックについて、上述したような画像変換の過程で見つかつた線形変換の写像を行うと、もとの画像に近い画像が得られる。
【００１４】
このような画像変換操作を行うことにより、画像が収束する原理は、数学的には「Collage  Theorem」と呼ばれているものである。画像の変換操作は、線形変換の係数のみで構成されるので、もし、与えられた画像に対する縮小変換式の数が少なければ、原画像に対して高い圧縮率で画像が圧縮できることになる。別の言葉で言い換えれば、自己相似性の高い画像では、少ない線形変換の式（画像変換操作）で画像が表現でき、画像データの高い圧縮率が達成できる。この圧縮率は、個々の画像の内容に依存するが、一般に、その圧縮率はＪＰＥＧなどと比べて、１桁から２桁高いことが知られている。また、このようなデータ圧縮方法は、ベクトル量子化法のように、標準画像のリストを復号の際に必要としない。しかし、その変換式を得るために、多量の画像ブロックと画像ブロックとのマッチングにきわめて長い時間を費やさなければならないという問題がある。
【００１５】
動画の各フレーム毎にＪＰＥＧを利用して画像圧縮を行い、復号の際にも各画像を静止画として復号する方法は、ＪＰＥＧ−Ｍｏｔｉｏｎと呼ばれ、広く普及してきている。しかしながら、この方法では、フレームと隣接するフレームの相関関係をまったく考慮に入れないで、圧縮を行つているため、高い圧縮率が得られず、長時間の動画を扱うには無理がある。
【００１６】
これに対して、近年、フレーム間の画像の冗長度を考慮して、データ圧縮を行う方法の標準として、ＭＰＥＧ１の規格が開発された。このＭＰＥＧ１の圧縮方法では、フレームとフレームの間の画像の差分を記録した後に圧縮し、再生の際には、その画像の差分を利用する。画像の差分が、全体の画像に比べて、そのデータ量が飛躍的に少ないことを利用して効率よく圧縮を行うものである。更に、画像に現れる対象物（特に閉領域で囲まれた部分）の動きを予測して、対象物の予測位置と実際の位置との動きの誤差のみを、復号側に送る方法を使うと、更に高い圧縮がなされる。このような圧縮方法は動き補償方式と呼ばれているものである。
【００１７】
ＭＰＥＧ１は、蓄積メディア用の動画を扱うために利用される。ＭＰＥＧ１の特徴は、時間軸について双方向で動き補償フレーム間予測を行うことである。すなわち、対象物の動きを予測し、予測後の対象物と実際の対象物の差分を動き補償の値とする。蓄積メディアの動画の処理においては、特定のフレームを復号する際、そのフレームより時間的に後のフレームを復号することができる。このため、特定のフレームの復号には、そのフレームより時間的に前のみならず、後のフレームを復号し、それらの復号値を利用して、本来のフレームを復号する。また、更に、その補償値をＤＣＴ（Discrete Cosine Transform）で変換した後、量子化を行っている。量子化されたデータは、更に、可変長符号化（ハフマンコード)で圧縮される。復号の際には、予測画像にＩＤＣＴ（Inverse Discrete Cosine Transform）の出力の差分画像を加算して、最終的な復号画像を得る。
【００１８】
ＭＰＥＧ１では、画像のランダムアクセス性を考慮して、参照フレーム（Ｉ−flame）というものが、幾つかのフレーム間隔で設定されている。この参照フレームは、画像全体をＤＣＴで変換し、他のフレームは、動き補償値をＤＣＴで変換する。したがって、ＤＣＴの特徴からブロックノイズがでる可能性があり、また、圧縮率にも限界がある。
【００１９】
これに対して、更に、動画のデータ圧縮の規格として、ＭＰＥＧ２が開発されている。ＭＰＥＧ２の規格は、デジタル・ビデオとそれに付随するオーディオなど、主に、リアルタイムの映像に対する圧縮符号化方式として利用されている。このＭＰＥＧ２では、ＭＰＥＧ１で使われている動き補償方式の手法と、ＤＣＴの手法の他に、インターレース画像を効率よく符号化する手法が使われる。
【００２０】
ところで、前述したフラクタル圧縮方法を動画のデータ圧縮に応用することが可能ならば、より高い圧縮率を得ることが期待できる。このため、従来においても、フラクタル圧縮方法を、画像データの圧縮に用いることが一部で提案されてきた。具体的には、単純に既存の画像のデータ圧縮にフラクタル圧縮方法を取り入れたものがある。このような例としては、例えば、特開平７−３２２２５５号公報で提案されている「ディジタル画像信号の階層符号化装置」や、特開平６−９８３１０号公報で提案されている「画像符号化／復号化装置」が挙げられる。また、より本質的にフラクタル圧縮方法を動画に応用する例としては、文献「今村幸祐，黒田英夫，“フレーム間フラクタル画像符号化方式”，画像ラボ，１９９６．５，pp.２０〜２３」で紹介されているものなどがある。
【００２１】
まず、フラクタル圧縮方法を単純に動画に応用した例について説明する。特開平７−３２２２５５号公報で提案されている「ディジタル画像信号の階層符号化装置」は、画像を複数のレベルの解像度に分け、その低解像度のものについてフラクタル圧縮を行うというものである。ここでの低解像度の画像は、もとの画像を縮小して得られるものであり、原画像をそのままフラクタル圧縮する場合に比べ、フラクタル圧縮する時間を軽減できる。このフラクタル圧縮されたものを、一時的に伸長し、かつズームアップを行い、解像度の高い画像との差分をとり、復号相手には、解像度の低い画像のフラクタル圧縮されたものとその解像度の高い画像との差分とを送るようにする。
【００２２】
また、特開平６−９８３１０号公報で提案されている「画像符号化／復号化装置」は、画像のブロック毎の平均を利用して、縮小変換（差分ＰＣＭなど）によって得られる画素パターンの数を減し、更に、画素パターンを順序付けることによって復号の手続きを減らすようにしたものである。動画信号に対しては、画素パターンを生成する際に、複数のフレーム毎に定期的に行うことによって全体の計算負荷を減らすようにしている。
【００２３】
次に、フラクタル圧縮方法を、より本質的に動画圧縮に応用する場合の例について説明する。第１の方法は、文献「今村幸祐，黒田英夫，“フレーム間フラクタル画像符号化方式”，画像ラボ，１９９６．５，pp.２０〜２３」において紹介されている方法である。この方法の場合、
（１）まず参照フレームを従来の２次元のフラクタル圧縮を行い、
（２）次に動きのあるブロックを検出し、
（３）フレーム間の差分についてフラクタル圧縮を行う。
復号の際には、参照フレームはそのままフラクタル伸長して画像を伸長する。差分の画像の場合には、伸長した差分の画像を前のフレームに付加してもとの画像を得る。
【００２４】
しかし、この第１の方法によると、伸長された画像はもとの画像と異なり、差分の画像は、自己相似的なものが差分を取ることにより取り除かれているので、フラクタル圧縮に有効な自己相似画像を多量に含む保証はない。
【００２５】
第２の方法は、文献「Yuval Fisher，“Fractal Image Compression”，Springer-Verlag， 1995， pp.300」，「Y. Fisher, D. Rogovin and T. P. Shen, “Fractal (Self-VQ) Encoding of Video Sequences, in Visual Communication and image processing '94(VCIP'94),” Volume 2304-16, Chicago, IL, September 28-29, 1994)」において紹介されている方法である。この第２の方法では、動画像において、動きのあるブロックを検出した後に、無効ブロック（動きが見られないブロック）については、前フレームの画像をそのまま持ってくる。すなわち、フレームからフレームへの同型写像を行う。そして、有効ブロック（動きが見られるブロック）についてのみ、フラクタル圧縮を行う。つまり、この場合は、各々の有効ブロックに写像近似するドメインブロックの集まりで、フラクタル圧縮を行う。
【００２６】
しかしながら、この第２の方法によると、もし、この写像されるドメインブロックの画像の中に１つも有効ブロックを含まないと、書き換えられるレンジブロックは実質上、一回だけドメインブロックから写像されるだけであり、その解像度が上がらなくなる。更に、フレームからフレームへの写像が、縮小変換とは完全にいえない。したがって、フレーム間の変換を進める毎に誤差が累積するという問題もある。
【００２７】
第３の方法として、文献「Li，Novak，Forchheimer，“Fractal‐based image sequence compression scheme”， Optica1 Engineering， Vo1. 32， No. 7， July， 1993， pp.1588〜1595」において紹介されている方法がある。この第３の方法によると、動画像を、座標（ｘ，ｙ）と時間ｔの３次元の変数からなる関数の値と考え、３次元データそのものをフラクタル圧縮する方法である。この方法によると、ドメインブロックやレンジブロックは、３次元のブロックと考えて処理を行っており、このため、静止画像に比べて多大な計算が必要となる。このような場合の計算量を減らすためには、例えば、ブロックのサイズを大きくとることが考えられるが、その場合は、解像度が落ちるという弱点がある。
【００２８】
これらに対し、処理時間の増大を防ぎながら、解像度をあげるため、上記の文献の著者らは、更に、線形変換を２次の項まで含めた一般化したものを考えて、その有効性を論じている。すなわち、自己相関変換は、幾何学的変換の部分と画像のコントラストと輝度の変換があり、後者については、２次元の静止画像の時には、０次近似や１次近似を使ったが、動画の時には、２次の近似（２次の多項式近似）を採用することにした。このような２次の近似を使うことにより、ブロックの大きさは前のままで、０次近似を使う場合と比べて、時間的にも、また、解像度においても、遜色のない動画像のフラクタル圧縮が可能であることが分かったと結論付けている。
【００２９】
具体的に説明すると、例えば、ここでは、座標（ｘ，ｙ，ｔ）における輝度をＩ（ｘ，ｙ，ｔ）とし、変換後の輝度をＪ（ｘ′，ｙ′，ｔ′）とすると、この座標（ｘ′，ｙ′，ｔ′）は、写像される座標（ｘ，ｙ，ｔ）の線形変換後の座標である。線形変換はＷは３×３の行列で表現されるとし、
【数１】
0003716570.tif 000002
とすると、輝度の０次近似は、
J(x′, y′, t′) = p0Ｉ(x,y,t) + p1
となり、１次の近似は、
J(x′, y′, t′) = p0Ｉ(x,y,t) + p1 + p2x + p3y + p4t
となる。また、２次の近似は、
0003716570.tif 000003
となる。
【００３０】
係数ｐ0，ｐ1，…，ｐ10を求めるためには、少なくとも１１個のサンプリング点とそれから定義される１１個の連立方程式を解かなけれぱならない。したがって、０次や１次の近似に比べて、多大な計算量が発生する。しかしながら、その計算量は、ブロックの大きさを大きくしたことによるマッチングの計算量の減少に比べて見合うものであった。
【００３１】
ところで、人間の目は、動きがあるところを注目して詳しくみようとする傾向があり、実験サンプルの結果の画像（動画像）が実用に耐えうるか否かは、いまだ疑問である。特に、時間軸に関する冗長度が有効に利用されていない。
【００３２】
【発明が解決しようとする課題】
上記のような従来の技術において、更に、改善されるべき問題として、次のような問題点が挙げられる。つまり、ブロック毎に縮小変換するフラクタル圧縮の方式では、動きのあるブロックに動きのないブロックが写像される時に、解像度が上がらないという問題である。
【００３３】
本発明は、このような従来の技術の問題点を解決するためになされたものであり、したがって、本発明の第１の目的は、高い動画の圧縮率を達成し、なお且つ動きのある部分において視聴者が見て見栄えの高い解像度を維持する動画の圧縮技術を提供することにある。また、本発明の第２の目的は、映画，アニメーションなどの動画、特に、蓄積メディア用動画を効率よく圧縮し、圧縮した動画を効率よく伸長できる動画圧縮伸長装置を提供することにある。
【００３４】
【課題を解決するための手段】
上記のような目的を達成するため、本発明の動画圧縮伸長装置は、第１の特徴として、圧縮される動画を供給する動画供給手段と、所定時間の動画のフレームのシーケンスを一時的に保持し、前記フレームのシーケンスから前記フレームの一つの軸方向をワークフレームの第１軸とし、シーケンス方向をワークフレームの第２軸とし、前記フレームの他方の軸方向をシーケンスとしたワークフレームのシーケンスを作成する第１フレーム作成手段と、作成されたワークフレームをシーケンスにしたがってフラクタル圧縮する圧縮手段と、圧縮されたワークフレームのシーケンスを保持する第１保持手段と、第１保持手段に保持された圧縮されたワークフレームをシーケンスにしたがってフラクタル伸長する伸長手段と、伸長されたワークフレームのシーケンスを保持する第２保持手段と、第２保持手段からワークフレームのシーケンスを読み出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成して出力する第１の第２フレーム作成手段と、出力されたフレームをシーケンスにしたがって再生する再生手段と、前記第１の第２フレーム作成手段から出力されたフレームのシーケンスが前記再生手段に出力されている間に、第２保持手段からワークフレームのシーケンスを読み出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成し、前記第１の第２フレーム作成手段から出力されたフレームのシーケンスの前記再生手段への出力が終了した後に、作成したフレームのシーケンスを前記再生手段に出力する第２の第２フレーム作成手段とを備えることを特徴とする。
【００３５】
また、本発明の動画圧縮伸長装置は、第２の特徴として、更に、隣接するフレームの差分をとり、所定時間の動画像のフレームのシーケンスにおいてフレームの中の動きのある画像ブロックを検出する検出手段を備え、検出した画像ブロックを、所定時間の動画像のフレームのシーケンスの前記フレームとすることを特徴とする。
【００３６】
また、本発明の動画圧縮伸長装置は、第３の特徴として、前記検出手段は、動画像のフレームの時間軸方向の輝度の変化座標と新輝度のみを抽出し記憶して、フレームの中の動きのある画像ブロックを検出することを特徴とする。
【００３７】
このような特徴を有する本発明の動画圧縮伸長装置においては、動画供給手段から、圧縮される動画が供給されると、この動画供給手段から供給される動画に対して、第１フレーム作成手段は、所定時間の動画像のフレームのシーケンスを一時的に保持し、前記フレームのシーケンスから前記フレームの一つの軸方向をワークフレームの第１軸とし、シーケンス方向をワークフレームの第２軸とし、前記フレームの他方の軸方向をシーケンスとしたワークフレームのシーケンスを作成する。圧縮手段においては、このワークフレームをシーケンスにしたがってフラクタル圧縮する。そして、圧縮されたワークフレームのシーケンスを第１保持手段に保持する。
【００３８】
このようにフラクタル圧縮された動画像を伸長する場合、伸長手段が、第１保持手段に保持された圧縮されたワークフレームをシーケンスにしたがってフラクタル伸長する。ここで、伸長されたワークフレームのシーケンスは、第２保持手段に保持する。次に第１の第２フレーム作成手段が、第２保持手段からワークフレームのシーケンスを読み出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸方向を当該フレームのシーケンスとしたフレームのシーケンスを作成し、出力する。これにより、動画像のフレームのシーケンスが作成されるので、再生手段が、出力されたフレームをシーケンスにしたがって再生する。また、この場合に、第２の第２フレーム作成手段は、前記第１の第２フレーム作成手段から出力されたフレームのシーケンスが前記再生手段に出力されている間に、第２保持手段からワークフレームのシーケンスを読み出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成し、前記第１の第２フレーム作成手段から出力されたフレームのシーケンスの前記再生手段への出力が終了した後に、作成したフレームのシーケンスを前記再生手段に出力する。これにより、続いて、再生手段が、第２の第２フレーム作成手段により、出力されたフレームをシーケンスにしたがって再生する。
【００３９】
従来は基本的にはフレーム毎の圧縮がなされて、時間軸に対する冗長性は間接的に考慮されたが、本発明の動画圧縮伸長装置によると、動画の時間軸に対する冗長性を直接利用したフラクタル圧縮ができるようになる。また、時間軸方向で構成されるフレーム（ワークフレーム）は原画像に比ベ、自己相似性の高い画像であるので、圧縮率が従来の方法（同じフレームの集まりをフレーム毎にフラクタル圧縮）に比べて高まるという効果を奏する。また、各ワークフレームは、静止画像として圧縮されるので、従来の方法での動きのあるブロックに動きのないブロックが写像されて、解像度が上がらないという問題が解決できる。
【００４０】
このように、ここでは通常のｘ軸とｙ軸からなる動画の各フレームを時間軸に沿って並べ、その時間軸に直角な方向からみたフレーム（ワークフレーム；ｙ軸と時間軸からなるフレーム）を利用する。これは、カメラで撮影を行う場合、通常は被写体を追跡するようにして撮影を行うので、時間軸に直角の方向からみたフレームの画像は、通常のｘ軸とｙ軸からなるフレームの画像より、いわゆる冗長度が高い画像である場合が多いからである。
【００４１】
また、更に圧縮率を高めるために、本発明においては、この時間軸に直角の方向からみたフレームを第１のワークフレームとすると、この第１のワークフレームを更に所定の基準により複数枚を並べて、第２のワークフレーム（中間フレーム）を構成する。ここで構成する第２のワークフレームは、自己相似の高いフレーム画像となっており、これをフラクタル圧縮することにより、更に高い圧縮率での画像圧縮が実現できる。
【００４２】
このような構成とする本発明の画像圧縮伸長装置においては、更に別の特徴として、圧縮される動画を供給する動画供給手段と、所定時間の動画のフレームのシーケンスを一時的に保持し、前記フレームのシーケンスから前記フレームの一つの軸方向をワークフレームの第１軸とし、シーケンス方向をワークフレームの第２軸とし、前記フレームの他方の軸方向をシーケンスとしたワークフレームのシーケンスを作成し、作成されたワークフレームの所定の複数枚毎に、当該ワークフレームのシーケンス方向が前記ワークフレームの第１軸と一致する方向に並べた中間フレームを作成する中間フレーム作成手段と、中間フレームを全体としてフラクタル圧縮する圧縮手段と、圧縮された中間フレームのシーケンスを保持する第１保持手段と、前記第１保持手段に保持された圧縮された中間フレームをシーケンスにしたがってフラクタル伸長する伸長手段と、伸長された中間フレームのシーケンスを保持する第２保持手段と、第２保持手段から中間フレームのシーケンスを読み出し、中間フレームから所定の複数枚毎のワークフレームを取り出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成し、出力する第１の第２フレーム作成手段と、出力されたフレームをシーケンスにしたがって再生する再生手段と、前記第１の第２フレーム作成手段から出力されたフレームのシーケンスが前記再生手段に出力されている間に、第２保持手段から中間フレームのシーケンスを読み出し、中間フレームから複数枚毎の各々のワークフレームを取り出し、当該ワークフレームのシーケンスから当該ワークフレームの第１軸方向をフレームの第１軸とし、当該ワークフレームのシーケンス方向をフレームの第２軸とし、当該ワークフレームの第２軸をシーケンスとしてフレームのシーケンスを作成し、前記第１の第２フレーム作成手段から出力されたフレームのシーケンスの前記再生手段への出力が終了した後に、作成したフレームのシーケンスを前記再生手段に出力する第２の第２フレーム作成手段とを備える。
【００４３】
また、本発明による動画圧縮伸長装置において、ここでの中間フレーム生成手段は、更に、前記ワークフレームの列ベクトルとそれに隣接する列ベクトルの類似性を比較する比較手段と、比較手段による比較結果を示す情報に基づき許容値以下で類似している列ベクトルを削除する削除手段とを備えることを特徴とする。これにより、隣接する列ベクトルの冗長性が取り除かれ、更に高い圧縮率を達成できる。
【００４４】
また、更に別の特徴として、本発明の動画圧縮伸長装置において、中間フレーム生成手段は、作成されたワークフレームの所定の複数枚毎に、当該ワークフレームのシーケンス方向が前記ワークフレームの第１軸と一致する方向に並べて中間フレームを作成する際、ワークフレームのシーケンス方向をそれぞれのワークフレームについて順に反転して中間フレームを作成する。これにより、複数枚のワークフレームが並べられる際に、隣接するワークフレーム間での人工的なエッジが生じることを防ぎ、この結果、輝度の急激な変化の少ない中間フレームが生成され、より多くのブロックの比較ができ、よって、より精度の高い圧縮が可能となる。
【００４５】
【発明の実施の形態】
（第１の実施例）
以下、本発明を実施する場合の形態について、図面を参照して具体的に説明する。本発明の一実施例にかかる動画圧縮伸長装置は、動画データを圧縮し、圧縮した動画データを記憶し、時間的に遅らせ、または空間的に異ならる場所で再生するため、動画圧縮装置と動画伸長装置とに分けて構成する。図１は、本発明の動画圧縮伸長装置の第１の実施例にかかる動画圧縮装置の構成を示すブロック図であり、図２は、本発明の動画圧縮伸長装置の第１の実施例にかかる動画伸長装置の構成を示すブロック図である。
【００４６】
図１において、１１０はコントローラ、１１１は動画供給装置、１１２はフレーム・ｔフレーム変換装置、１１３はフラクタル圧縮装置、１１４はフラクタル圧縮化動画蓄積装置である。また、図２において、１２０はコントローラ、１２１はフラクタル圧縮化動画蓄積装置、１２２はフラクタル伸長装置、１２３は第１・ｔフレーム・フレーム変換装置、１２４は第２・ｔフレーム・フレーム変換装置、１２５は動画ディスプレイ装置である。
【００４７】
これらのブロック要素によって構成される動画圧縮装置および動画伸長装置の動作の概要について説明する。これらブロック要素の装置の起動と終了および画像のデータの流れはコントローラ１１０，１２０によって制御される。つまり、動画圧縮装置は、コントローラ１１０によって制御され、動画伸長装置は、コントローラ１２０によって制御される。
【００４８】
動画を圧縮して記憶する場合は、初めに、コントローラ１１０によって、動画供給装置１１１に信号が送られ、動画供給装置１１１から、圧縮する対象の動画データを取り出し、動画のフレームの一連のシーケンスをフレーム・ｔフレーム変換装置１１２に送る。フレーム・ｔフレーム変換装置１１２においては、動画のフレームの一連のシーケンスのデータを一時的に記憶し、フレームのＹ軸と時間軸ｔからなる作業用のワークフレーム（これをｔフレームと称する）を、Ｘ軸のピクセル数だけＸ軸にそって生成する。すなわち、所定時間の動画のフレームのシーケンスを一時的に保持し、前記フレームのシーケンスから前記フレームの一つの軸方向を第１軸とし、時間軸方向を第２軸としたワークフレーム（ｔフレーム）を、当該フレームのシーケンスを前記フレームの他方の軸方向にとって作成する。
【００４９】
このようにして、フレーム・ｔフレーム変換装置１１２は、動画のフレームの一連のシーケンスのデータを一時的に記憶し、ｔフレームを作成するので、フレーム・ｔフレーム変換装置１１２から、ｔフレームを一つづつ取り出して、フラクタル圧縮装置１１３に送る。フラクタル圧縮装置１１３は、ｔフレームのデータを順次にフラクタル符号化によるフラクタル圧縮する。フラクタル圧縮されたｔフレームのデータは、フラクタル化動画蓄積装置１１４において保持される。このようにして、フラクタル圧縮された動画データは、フラクタル化動画蓄積装置１１４において記憶された後、時間的に遅れて、または、空間的に異なる場所に転送されて再生される。このため、圧縮された画像データを伸長する処理が続いて行われる。
【００５０】
フラクタル圧縮された動画データを伸長する場合、コントローラ１２０によって、フラクタル圧縮化動画蓄積装置１２１に信号が送られ、フラクタル圧縮化動画蓄積装置１２１からフラクタル圧縮された動画データが読み出され、フラクタル伸長装置１２２に送られる。フラクタル伸長装置１２２は、一連の（フレームのＸ軸のピクセル数の一連の）シーケンスの圧縮されたｔフレームのデータを取り出してフラクタル伸長する処理を行う。伸長されたｔフレームのデータは、一連のシーケンス（フレームのＸ軸のピクセル数のｔフレームのシーケンス）が終わるまで、第１・ｔフレーム・フレーム変換装置１２３に順次に保持される。続いて、次の一連のシーケンスのフラクタル伸長されたｔフレームのデータは、この一連のシーケンスが終わるまで、第２・ｔフレーム・フレーム変換装置１２４に順次に保持される。つまり、一連のシーケンスの単位（フレームのＸ軸のピクセル数のシーケンスの単位）に、第１・ｔフレーム・フレーム変換装置１２３および第２・ｔフレーム・フレーム変換装置１２４に交互に保持される。
【００５１】
そして、第１・ｔフレーム・フレーム変換装置１２３では、フラクタル伸長されたｔフレームの一連のシーケンスのデータが一時的に保持されると、Ｘ軸とＹ軸からなるフレームのシーケンスのデータ（動画データ）をｔ軸（時間軸）に沿って生成して、動画ディスプレイ装置１２５に送出する。動画ディスプレイ装置１２５においては、Ｘ軸とＹ軸からなるフレームのシーケンスのデータから動画像を再生する。また、動画ディスプレイ装置１２５は、第１・ｔフレーム・フレーム変換装置１２３から供給されるＸ軸とＹ軸からなるフレームのシーケンスのデータ（動画データ）の再生が終了すると、次に、再生する画像データの供給路を切り替え、第２・ｔフレーム・フレーム変換装置１２４から供給されるＸ軸とＹ軸からなるフレームのシーケンスのデータ（動画データ）の再生を行う。つまり、一連のｔフレームのシーケンスの単位に、第１・ｔフレーム・フレーム変換装置１２３および第２・ｔフレーム・フレーム変換装置１２４から交互にデータの供給を受けて、動画データの再生を行う。
【００５２】
これは、動画ディスプレイ装置１２５において、第１・ｔフレーム・フレーム変換装置１２３から変換した動画データを取り出し、再生している間に、次の一連の圧縮されたｔフレームをフラクタル圧縮化動画蓄積装置１２１から取り出して、フラクタル伸長装置１２２においてフラクタル伸長を行い、伸長したデータを第２・ｔフレーム・フレーム変換装置１２４に保持する動作を行う。そして、動画ディスプレイ装置１２５において、第１・ｔフレーム・フレーム変換装置１２３からの動画データの再生が終了すると、直ちに、再生する動画データを第２・ｔフレーム・フレーム変換装置１２４からの動画データに切り替え、動画データの再生を続行する。
【００５３】
次に、動画圧縮装置および動画伸長装置を構成する各ブロックの要素の装置構成について具体的に説明する。前述したように、動画圧縮装置のコントローラ１１０および動画伸長装置のコントローラ１２０の制御動作は、制御プログラムの処理により実行され、各ブロック要素の動作にかかる全てのプロシージャの起動および終了を管理する。コントローラ１１０およびコントローラ１２０は、例えば、マイクロプロセッサ（ＣＰＵ）で構成されており、ここから供給される制御信号は細線の実線で示されている。また、圧縮および伸長される画像データの情報の流れは、二重線の矢印で表現されている。
【００５４】
次に、この動画圧縮装置のコントローラ１１０の制御動作にかかる動画圧縮処理について、図を参照して説明する。図３は、コントローラ１１０による動画データのフラクタル圧縮の動作の流れを示すフローチャートである。
【００５５】
コントローラ１１０が、動作開始信号を各装置に供給して、動画データの圧縮動作を開始する。動作開始信号が供給されると、動画供給装置１１１は、圧縮対象の動画情報から動画データを供給するため、出力バッファのフレームバッファに溜めて、この動画データのフレームのデータを取り出す。すなわち、処理を開始すると、まず、ステップ３０１において、動画供給装置１１１からフレームを取り出し、具体的には、動画データからそのフレームの画像を一定の間隔で１フレームごとに、動画供給装置１１１のフレームバッファから取り出して、フレーム・ｔフレーム変換装置１１２に供給する。
【００５６】
次に、ステップ３０２において、未処理フレームがあるか否かを判定する。未処理フレームがない場合には、処理すべきデータがないので動作を終了するが、未処理フレームがある場合に、ｔフレーム変換を行うため、次のステップ３０３に進む。
【００５７】
ステップ３０３においては、取り出したフレーム数が、ｘ軸のピクセル数と同じであるか否かを判定する。つまり、ｔフレームを構成するｘ軸のピクセル数だけの動画データのフレームのシーケンスを記憶領域に取り込んだか否かを判定する。このシーケンスの単位が、フレーム・ｔフレーム変換の単位となる。フレーム・ｔフレーム変換は、動画データのフレームのシーケンスを記憶領域に取り込み、元の動画データの画像のフレームのシーケンスの時間軸方向をｔフレームのｘ軸方向とし、ｔフレームのシーケンスを、元のフレームのｘ軸方向として、データを読み出すことにより行う。つまり、別の言葉で表現すれば、順次に記憶領域に動画データのフレームの軸方向を変えてデータを格納することにより、ｔフレームへの変換を行う。データの格納が終ると、その変換は終了している。変換されたｔフレームは、元のフレームのｘ軸方向を時間軸とみなした方向のフレームとして、３次元配列の記憶領域から読み出すだけである。
【００５８】
次に、ステップ３０４からの処理により、ｔフレームのデータをフラクタル圧縮する。このため、まず、ステップ３０４において、未処理のｔフレームがあるか否かを判定し、未処理のｔフレームがある場合に、次のステップ３０５において、ｔフレームを取り出して、ｔフレームをフラクタル圧縮装置１１３のバッファに送る。次に、ステップ３０６において、フラクタル圧縮装置１１３により、ｔフレームをフラクタル圧縮し、ステップ３０７において、圧縮されたｔフレームをフラクタル圧縮化動画蓄積装置１１４に送り保持する。そして、次のｔフレームをフラクタル圧縮するため、ステップ３０４に戻り、ステップ３０４からの処理を続行する。ステップ３０４の判定処理において、未処理のｔフレームがないことが判定できると、次のフレームのシーケンスの単位での圧縮処理を行うため、ステップ３０１に戻り、ステップ３０１からの処理を続行する。
【００５９】
次に、動画供給装置１１１の構成について説明する。動画供給装置１１１は、圧縮される動画データを供給できる装置で構成される。例えば、動画を保持している記録媒体とその駆動装置である。ここでの動画とは、具体的には、テレビジョン映像の動画であり、また、ビデオテープレコーダ（ＶＴＲ）から供給される動画である。すなわち、テレピ、ピデオ、８ｍｍビデオ等の動画である。動画圧縮装置（図１）においては、動画の画像情報の圧縮のみを扱う。画像情報は一般的には、カラー画像であるため、ＲＧＢ信号からなるが、ここでは単色のＧｒａｙスケールで表現されたものとして説明する。ＲＧＢ信号のへの適用および拡張は容易になされる。動画供給装置１１１には、動画の画像情報を動画データとして取り出すため、出カバッファとして１６０×１２０のフレームバッファが備えられている。
【００６０】
次に、フレーム・ｔフレーム変換装置１１２の構成について説明する。フレーム・ｔフレーム変換装置１１２は、複数のフレームからなるシーケンスを保持する記憶領域を備えており、その記憶領域に複数のフレームのシーケンスの動画データを一時的に記憶し、時間軸を主体としたフレーム（ｔフレーム）への変換を行う。具体的には、ここでの動画データのフレームのシーケンスをｔフレームに変換する処理単位として、例えぱ、２５６枚のフレームを保持することができる記憶領域を有し、２５６枚のフレームのシーケンスからなる動画データを単位として、ｔフレーム変換する。
【００６１】
図１６，図１７および図１８は、フレーム・ｔフレーム変換装置１１２の構成を具体的に説明する図である。図１６は、フレーム・ｔフレーム変換装置の記憶領域の全体の構成を説明する図であり、図１７は、フレーム・ｔフレーム変換装置内の記憶素子の構成の説明図である。また、図１８は、フレーム・ｔフレーム変換装置の記憶領域のｙ・ｔフレームの構成を説明する図である。ここでの動画データのフレームが、例えば、１６０×１２０のピクセル（画素）から構成されている場合、座標（ｘ，ｙ，ｔ）での各ピクセルの値は、２５６のグレースケール（８ビット表現可能な値）での輝度を表わすものとする。このような動画データを記憶する記憶領域は、通常のコンピュータシステムのハードディスク装置における記憶領域で代用することも可能であるが、動画の再生動作を実時間で処理するには、データの入出力の時間が遅いので、ＶＬＳｌやＩＣなどの半導体メモリのチップで構成する。
【００６２】
フレーム・ｔフレーム変換装置１１２は、図１６に示すように、入力バッファとしてのフレームバッファ１６１と、ｔフレーム変換のための三次元的配列の記憶領域１６２を備えている。フレームバッファ１６１は、図１６（Ａ）に示すように、フレームの画像データを一時記憶する８ビットからなる記憶素子を１６０×１２０のアレー上に並べたものである。また、三次元的配列の記憶領域１６２は、図１６（Ｂ）に示すように、フレームバッファ１６１からのデータを２５６セット分（２５６枚のフレームに対応する分）だけ記憶する記憶領域を備えたものであり、その各フレームの（ｘ，ｙ）座標が重なるように並べて、三次元的配列の記憶領域としているものである。
【００６３】
この三次元的配列の記憶領域１６２において、動画のフレームのシーケンスの方向（時間軸）の並びの方向をｔ軸と呼ぶ。記憶領域のフレームの向かって左から右にｘ座標の値は増大し、ｙ座標の値は上から下へ増大するものとする。つまり、ここでの記憶領域の各アレー（フレームのデータを記憶する二次元配列領域）の左上の角が座標値（ｘ，ｙ，ｔ）＝（０，０，ｔ）の座標とする。
【００６４】
フレーム・ｔフレーム変換装置１１２の記憶領域における各々の記憶素子の構成は、三次元配列の記憶領域１６２の各アレーにおいて、図１７に示すように、一つの座標点の画素（８ビットの記憶素子）について、その（ｘ，ｙ，ｔ）座標の画素の記憶素子に対して、それを囲む周囲の４画素（ｘ−１，ｙ，ｔ）、（ｘ＋１，ｙ，ｔ）、（ｘ，ｙ−１，ｔ）、（ｘ，ｙ＋１，ｔ）の座標の記憶素子（アレーの端では４つの画素の記憶素子のいくつかが無い場合もある）は、８ビットのパラレルバスで繋がれ、また、図示されていないが、この（ｘ，ｙ，ｔ）の座標の記憶素子について、そのｔ軸方向の隣合っている各アレーの同じ座標の（ｘ，ｙ，ｔ−１），（ｘ，ｙ，ｔ＋１）の記憶素子も８ビットのパラレルバスで繋がれている。
【００６５】
なお、以後の説明において、各座標の変数値が固定されており、その内容が明確な場合において、座標の表記が煩雑となることを避けるため、その座標の変数値のパラメータを省略して、記載を簡潔にすることとする。
【００６６】
フレーム・ｔフレーム変換装置１１２におけるデータ転送の動作について説明すると、動画データの各画素の値は、すなわち、フレームバッファの（ｘ，ｙ）座標の輝度値は、記憶領域のｔ＝０（ｔ軸が０）のフレームに対応するアレーの（ｘ，ｙ）座標の記憶素子に、その画素のデータが転送されて、１枚のフレームのデータが記憶される。そのデータ転送は、図１７に示すように、８ビットのパラレルバスで繋がれている各座標に対応する画素の記憶素子の間で、１６０×１２０の各画素の記憶素子にパラレルに転送することにより行われる。
【００６７】
具体的には、フレーム・ｔフレーム変換装置１１２では、図１６（Ｂ）に示すように、記憶領域のｔ＝０のフレームのアレー１６３において、（ｘ＝Ｘ，ｙ＝０），（ｘ＝Ｘ，ｙ＝１），…，（ｘ＝Ｘ，ｙ＝１１９）の各座標のデータを、（ｘ＝Ｘ＋１，ｙ＝０），（ｘ＝Ｘ＋１，ｙ＝１），…，（ｘ＝Ｘ＋１，ｙ＝１１９）の各座標の対応する記憶素子に、そのデータをパラレルに送る動作が行われる。すなわち、ｙ軸方向の列ベクトルのデータをｘ軸方向にシフトする転送動作が行われる。
【００６８】
このため、フレームバッファ１６１から次の２５６×８ビットのデータを第１のアレーのｘ＝０の座標の記憶素子にパラレルに送る。つまり、フレーム内でｘ座標が固定されたデータ、例えば、座標が（ｘ＝ｈ，ｙ＝０），（ｘ＝ｈ，ｙ＝１），…，（ｘ＝ｈ，ｙ＝１１９）であるようなデータを、第１のアレー１６３のｘ＝０の座標の記憶素子にパラレルに送る。この動作を１つのフレームのｘ軸方向のピクセル数である１６０回分だけ繰り返すことにより、フレームのデータの書き込みを行う。これにより、フレームバッフア１６１から、ｔ＝０に対応する第１のアレー１６３には、１つのフレームの情報が書き込まれる。もちろん、フレームバッファ１６１の１６０×１２０の記憶素子全体をパラレルに第１のアレー１６３に移すことも可能である。
【００６９】
そして、次のフレームの画像データが読み込まれる前に、１６０×１２０の記憶素子のデータが、８ビットのパラレルバスで隣接する第２のアレーの１６０×１２０の記憶素子に送られる。一般的な表現により記述すると、ｔ＝ｎ番目のアレーのデータがｔ＝（ｎ＋１）番目のアレーの対応する記憶素子にそのデータが転送される。そして、その後、動画供給装置１１１から次の１つのフレームのデータが、フレームバッファ１６１に読み込まれ、続いて、最初のアレー１６３に読み込まれる。この実施例ではフレームのｘ軸方向のピクセル数を１６０とし、この同じ数の１６０のフレームを読み込んだ後、時間軸方向を主体としたｔフレームに変換することとしているが、この読み込まれるフレームの数は１６０とは限らない。
【００７０】
次に、ｔフレームへの変換について説明する。図１６（Ｂ）に示すように、フレーム・ｔフレーム変換装置１１２において、三次元配列の記憶領域１６２にフレームのデータが読み込まれると、この三次元配列の記憶領域１６２を、ｙ軸およびｔ軸で構成されるフレームを１つのフレームと見ると、このフレームは既にｔフレームとなっている。すなわち、任意のｘ座標において、（ｙ，ｔ）座標からなるアレーは、（ｙ，ｔ）座標を持つフレーム（ｔフレーム）のデータを保持している。なお、図１７で説明したように、ここでの任意の（ｙ，ｔ）記憶素子は、隣接するｙ軸方向およびｔ軸方向の座標（ｙ−１，ｔ），（ｙ＋１，ｔ），（ｙ，ｔ−１），（ｙ，ｔ＋１）の記憶素子は、８ビットのパラレルバスで繋がれているので、ｙ軸およびｔ軸で構成されるフレームのデータ（ｔフレーム）についても、そのまま読み出せる。このため、ここでのｔフレーム変換は、三次元配列の記憶領域１６２に読み込んだデータを、ｔ軸を主体としたフレームとして読み出すことにより行う。
【００７１】
すなわち、フレーム・ｔフレーム変換装置１１２において、動画データの１６０枚のフレームのシーケンスを読み込み、三次元配列の記憶領域１６２のフレームのデータを記憶する１６０個のアレーが一杯になったところで、そのデータ読み込み完了の信号がコントローラ１１０に伝えられる。読み込み完了の信号がコントローラ１１０に伝えられると、コントローラ１１０からは、フレーム・ｔフレーム変換装置１１２に対し、ｔフレームを読み出し、そのｔフレームをフラクタル圧縮装置１１３に転送する信号が送られる。
【００７２】
そして、まず、ｘ＝０のｔフレームのデータが、フラクタル圧縮装置１１３のフレームバッファに送られる。そのデータ転送は、前述した動画供給装置１１１のフレームバッファからフレーム・ｔフレーム変換装置１１２にフレームが送られる場合と同様である。まず、ｔ＝１５９である座標の記憶素子の一列のデータをフレームバッファにパラレルで移し、次に、一般的な表現により記述すると、ｔ＝Ｔであるような（ｙ，ｔ）座標からなる記憶素子のデータがｔ＝（Ｔ＋１）の（ｙ，ｔ）座標からなる記憶素子にパラレルに移動させる。すなわち、ｔフレームにおいて各列のデータをｔ軸方向に一つだけシフトする動作を行う。このような動作（一列データの転送とシフト）をｔ軸方向のピクセルの数（１６０回）だけ繰り返す。
【００７３】
フラクタル圧縮装置１１３に送られたｔフレームは、フラクタル圧縮装置１１３によって圧縮化される。このフラクタル圧縮装置１１３のフラクタル圧縮方法は、既に開発され実用されているものを利用する。例えば、前述した「Ｊａｃｑｕｉｎの論文」や「Ｙｕｖａｌ  Ｆｉｓｈｅｒ編著」の文献の中に記述されているドメインブロックとレンジブロックの比較を利用する方法などを利用する。フラクタル圧縮化されたものは、フラクタル圧縮化動画蓄積装置１１４で保持される。ｔフレームの移動およびその圧縮は、ｔフレームの数、つまり、１６０回繰り返される。
【００７４】
このようにして、ｔフレームとしてフラクタル圧縮することにより、動画データは高い圧縮率により圧縮することができる。これは、動画データが時間軸に対して冗長度が高いことに注目して圧縮しているからである。つまり、動画データをｔ軸に垂直な方向から眺める（ｔフレームをみる）と、動画データの各フレームの画像（少しずつ位置がずれた画像）の冗長性のために、動画データのフレームのシーケンスをｔフレーム変換したｔフレームは、異なった輝度のストライプと時析その輝度が変化するのが見られる。このため、ここでのｔフレームは自己相似形の高いデータとなっている。したがって、ｔフレームをフラクタル圧縮方法による圧縮を行うことにより、圧縮率が高くなった圧縮データが得られることになる。
【００７５】
また、従来技術で行われる時間軸に沿って元来のフレームをフラクタル圧縮する場合において、動きのあるブロックに動きのないブロックが写像されて、解像度が上がらなくなるという問題も回避できる。
【００７６】
次に、フラクタル圧縮された動画の圧縮データを元の動画データに戻すため、伸長し復号する処理について、ｔフレームがフラクタル圧縮化された動画データを伸長する動画伸長装置（図２）の構成に基づいて動作を説明する。図４は、コントローラ１２０の制御による動画データの伸長の処理の動作の流れを示すフローチャートであり、図５は、コントローラ１２０の制御による動画データの再生処理の動作の流れを示すフローチャートである。
【００７７】
図４のフローチャートを参照して、コントローラ１２０の制御動作にかかる動画データの伸長処理を説明する。この処理では、コントローラ１２０が、フラクタル伸長装置１２２と、第１・ｔフレーム・フレーム変換装置１２３と、第２・ｔフレーム・フレーム変換装置１２４とを制御することにより行う。処理を開始すると、ステップ４０１において、フラクタル圧縮化動画蓄積装置からｔフレームを取り出す。次に、ステップ４０２において、未処理フレームがあるか否かを判定し、未処理フレームがなくなると、全てのｔフレームの伸長処理は終了したので処理を終了する。
【００７８】
次に、ステップ４０３において、フラクタル圧縮化動画蓄積装置１２１から取り出したｔフレームをフラクタル伸長し、次のステップ４０４において、第２・ｔフレーム・フレーム変換装置１２４が使用中であり、ここから動画ディスプレイ装置に表示中であるか否かを判定する。この判定の結果、第２・ｔフレーム・フレーム変換装置１２４から表示中である場合、つまり、第２・ｔフレーム・フレーム変換装置１２４が使用中の場合は、ステップ４０５に進み、伸長されたｔフレームのデータを第１・ｔフレーム・フレーム変換装置１２３に送り、保持してフレーム変換する。そして、次のｔフレームに対する処理を行うため、ステップ４０１に戻り、ステップ４０１からの処理を続行する。
【００７９】
また、ステップ４０４の判定で第２・ｔフレーム・フレーム変換装置１２４から表示中でない場合には、つまり、第２・ｔフレーム・フレーム変換装置１２４が使用中でない場合には、ステップ４０６に進み、伸長されたｔフレームのデータを第２・ｔフレーム・フレーム変換装置１２４に送り、保持してフレーム変換する。次のｔフレームに対する処理を行うため、ステップ４０１に戻り、ステップ４０１からの処理により、ｔフレームをフラクタル伸長し、フレーム変換するためｔフレーム・フレーム変換装置に送る処理を続ける。なお、ここでの第１・ｔフレーム・フレーム変換装置１２３および第２・ｔフレーム・フレーム変換装置１２４には、１つの伸長されたｔフレームが送られるのではなく、１６０セットのｔフレームが続けて送られる。ｔフレームが送られ終った時点でコントローラ１２０からの信号によりフレームに変換され、各フレームが動画ディスプレイ装置１２５に送られる。
【００８０】
次に、図５のフローチャートを参照して、コントローラ１２０の制御動作にかかる動画データの再生処理ついて説明する。この再生処理は、コントローラ１２０が第１・ｔフレーム・フレーム変換装置１２３と、第２・ｔフレーム・フレーム変換装置１２４と、動画ディスプレイ装置１２５を制御することにより行う。動画データの再生処理を開始すると、ステップ４０７において、第２・ｔフレーム・フレーム変換装置１２４が復号中であるか否かを判定する。つまり、第１・ｔフレーム・フレーム変換装置１２３から変換された動画データのフレームを表示中であるか否かを判定する。
【００８１】
第２・ｔフレーム・フレーム変換装置１２４が復号中である場合、すなわち、第２・ｔフレーム・フレーム変換装置１２４に、フラクタル伸長されたｔフレームの書き込み中の場合は、ステップ４０８に進み、第１・ｔフレーム・フレーム変換装置１２３から復号されたフレームを動画ディスプレイ装置１２５に送る。第２・ｔフレーム・フレーム変換装置１２４が復号中でない場合には、ステップ４０９に進み、第２・ｔフレーム・フレーム変換装置１２４から復号されたフレームを動画ディスプレイ装置１２５に送る。そして、ステップ４１０に進み、動画ディスプレイ装置１２５を制御して、送られてきたフレームを動画ディスプレイ装置１２５に表示する。そして、ステップ４０７に戻り、ステップ４０７からの処理により、第１・ｔフレーム・フレーム変換装置１２３と、第２・ｔフレーム・フレーム変換装置１２４とを切換えて、コマ落ちがないようにして、動画データのフレームの再生処理を続行する。
【００８２】
ここでの動画データの再生処理では、圧縮の場合と異なり、伸長された動画データの画像は、途切れなく動画ディスプレイ装置１２５に送られなくてはならない。このため、ｔフレーム・フレーム変換装置（１２３、１２４）は、デュアル構成とする。つまり、第１・ｔフレーム・フレーム変換装置１２３と第２・ｔフレーム・フレーム変換装置１２４は同じ構成のものを設けているのは、動画ディスプレイ装置１２５に再生される動画データにおいて、その再生画像のフレームのコマ落ちを防ぐためである。
【００８３】
また、第１・ｔフレーム・フレーム変換装置１２３および第２ｔフレーム・フレーム変換装置１２４は、共に、動画圧縮のためにｔフレーム変換するフレーム・ｔフレーム変換装置１１２とほとんど同じ構成のものとなっている。
【００８４】
つまり、この第１・ｔフレーム・フレーム変換装置１２３および第２・ｔフレーム・フレーム変換装置１２４においても、三次元配列的な記憶領域を備え、ｔフレームは１６０×１２０の大きさであり、伸長したｔフレームのデータを三次元配列的な記憶領域に格納し、その格納した三次元配列的な記憶領域からのフレームのデータの読み出すことにより、ｔフレームのデータを動画データのフレームのデータに逆変換する。この場合、三次元配列的な記憶領域からのデータの読み出し方を、ｘ・ｙ軸に対して行えぱ、１６０×１２０のサイズのフレームのシーケンスが順次に読み出される。
【００８５】
デュアル構成にした第１・ｔフレーム・フレーム変換装置１２３および第２・ｔフレーム・フレーム変換装置１２４は、第１・ｔフレーム・フレーム変換装置１２３からフレームを送り出している間に、第２・ｔフレーム・フレーム変換装置１２４に、伸長されたｔフレームを格納する。そして、第１・ｔフレーム・フレーム変換装置１２３からフレームが全て送り出されると、コントローラ１２０は、第２・ｔフレーム・フレーム変換装置１２４に信号を送り、そこから、読み出した（フレーム変換した）フレームが動画ディスプレイ装置１２５に送られ、表示される。
【００８６】
伸長されたｔフレームを第１・ｔフレーム・フレーム変換装置１２３または第２・ｔフレーム・フレーム変換装置１２４に送ることと、第１・ｔフレーム・フレーム変換装置１２３および第２・ｔフレーム・フレーム変換装置１２４からフレーム変換した動画データのフレームを読み出し、動画ディスプレイ装置１２５に送ることは、第１・ｔフレーム・フレーム変換装置１２３および第２・ｔフレーム・フレーム変換装置１２４で交互に行われ、伸長されるｔフレームがなくなるまで続けられる。
【００８７】
上述した第１の実施例において、動画データをｔフレームにして、フラクタル圧縮法により圧縮することによる効果は次の通りである。
【００８８】
すなわち、動画像の特徴は、一般的には、大部分が背景で、静止していて背景の中の画像の対象物が少し動いている場合、背景も対象物もゆっくり動いている場合、景色など画面全体が動いている場合がほとんどである。背景と対象物が激しく動いている場合は少ない。
【００８９】
したがって、このような特徴の動画像のフレームのシーケンスについて、各フレームの画像の任意の点（ｘ，ｙ）を時間軸（ｔ軸）の方向に見た場合、大部分の輝度は変化がなく、このことは、ｔフレームの上では同じ領域に対応する所は殆ど同じ輝度である。このため、ｔフレームの画像を見ると、同じ輝度のもののｔ軸方向に対しストライプ状のものが、時折、輝度を変えながら見えるようなものとなる。このようなｔフレームは、自己相似形の多い画像となっており、フラクタル圧縮がなされると、高い圧縮率でデータ圧縮が行われる。
【００９０】
なお、フラクタル圧縮すると、全ての部分のブロック（レンジブロック、ドメインブロック）の比較がなされるので圧縮に時間がかかるが、ｔフレームの圧縮として、既存の圧縮方法、例えぱ、ベクトル量子化法やＤＣＴ変換を利用しても良い。
【００９１】
このように、従来は基本的には、フレーム毎の圧縮がなされて、時間軸に対する冗長性は間接的にしか考慮されなかったものが、本実施例の動画圧縮装置および動画伸長装置によれば、動画像の時間軸に対する冗長性を直接利用したフラクタル圧縮ｔフレームの圧縮）ができるようになった。また、ｔフレームは原画像に比ベ、自己相似性の高い画像であるので、圧縮率が従来の方法（同じフレームの集まりをフレーム毎にフラクタル圧縮）に比べて高まった。また、従来の方法における動きのあるブロックに動きのないブロックが写像されて画像の一部の解像度が上がらないという問題点が解決された。
【００９２】
ところで、動画データの圧縮率を更に高めるために、動画像の特徴を利用し、フレームとフレームとの間の差分をとって、動きのある画像ブロックを検出し、背景画像のある一番目のフレームを除き、動きのある画像ブロック部分のみを圧縮するようにしてもよい。
【００９３】
（第２の実施例）
このような本発明の変形例を、第２の実施例として説明する。図６は、本発明の動画圧縮伸長装置の第２の実施例にかかわる動画圧縮装置の構成を示すブロック図であり、図７は、本発明の動画圧縮伸長装置の第２の実施例にかかる動画伸長装置の構成を示すブロック図である。
【００９４】
図６において、２１０はコントローラ、２１１は動画供給装置、２１２はフレーム・ｔフレーム変換装置、２１３はフラクタル圧縮装置、２１４はフラクタル圧縮化動画蓄積装置、２１５は動きブロック検出装置である。図７において、２２０はコントローラ、２２１はフラクタル圧縮化動画蓄積装置、２２２はフラクタル伸長装置、２２３は第１・ｔフレーム・フレーム変換装置、２２４は第２・ｔフレーム・フレーム変換装置、２２５は動画ディスプレイ装置である。
【００９５】
これらのブロック要素によって構成される動画圧縮装置および動画伸長装置の動作の概要について説明する。これらブロック要素の装置の起動と終了および画像のデータの流れはコントローラ２１０，２２０によって制御される。つまり、動画圧縮装置はコントローラ２１０によって、また、動画伸長装置はコントローラ２２０によって制御される。これらは、前述した第１の実施例の動画圧縮伸長装置と同様である。
【００９６】
この第２の実施例の動画圧縮伸長装置においては、第１の実施例の構成に加えて、動きブロック検出装置２１５が設けられている。この動きブロック検出装置２１５により、動画のフレームとフレームとの間の差分をとって、動きのある画像ブロックを検出する。そして、動画データの圧縮データの蓄積では、背景を含む第１のフレームをそのまま記録し、後続するフレームから動きのある画像ブロック部分のみを取り出して、ｔフレームに変換し、順次に圧縮して蓄積するようにする。これにより、更に高い圧縮率で動画データを圧縮することができる。なお、この場合、フレームは同じ大きさの画像ブロックの集まりから成り立っているものを前提として、動画データの圧縮処理を行う（今村幸祐，黒田英夫，「フレーム間フラクタル画像符号化方式」，画像ラボ，１９９６．５，第２０頁〜第２３頁）
【００９７】
図面を参照して、具体的に動作の概略を説明する。一連のフレーム（この第２の実施例では８枚のフレームとする）を動画供給装置２１１からフレーム・ｔフレーム変換装置２１２に送る。フレーム・ｔフレーム変換装置２１３から最初のフレームをそのままフラクタル圧縮装置２１３に送り、フラクタル圧縮する。圧縮したフレームのデータは、フラクタル圧縮化動画蓄積装置２１４に送り、保持する。
【００９８】
また、フレーム・ｔフレーム変換装置２１２に送られたフレームのデータは、８枚のフレームのデータが保持された後、そのフレームを時間軸にそって隣接するフレーム対毎に動きブロック検出装置２１５に送られる。動きブロック検出装置２１５では、順次に対のフレームの差分をとって、動きのあるブロックを検出し、そのブロック番号を記録する。この動きブロックの検出は、フレーム・ｔフレーム変換装置２１２に保持されているフレーム対の数（「総フレームの数」−１）だけ行う。
【００９９】
なお、ここでのフレーム・ｔフレーム変換装置２１２は、検出された動きのあるブロック番号を動きブロック検出装置２１５から受け取り、動きのあるブロック毎に、そのブロック部分のみからなるｔフレームを作る。ｔフレームはフラクタル圧縮装置２１３に送られて圧縮される。そして、ｔフレームの所属するブロック番号とともにフラクタル圧縮化動画蓄積装置２１４に送られ、これらがフラクタル圧縮化動画蓄積装置２１４に保持される。
【０１００】
このようにして、フラクタル圧縮されて、フラクタル圧縮化動画蓄積装置２１１に保持されたフラクタル圧縮された動画データの画像の復号は、次のように処理がなされて動画データが再生される。
【０１０１】
図７を参照する。フラクタル圧縮化動画蓄積装置２２１からフラクタル圧縮された動画データを読み出し、まず、最初のフレーム（ブロック番号なしのフレーム）を、フラクタル伸長装置２２２に送り、フラクタル伸長する。伸長された最初のフレームは、第１・ｔフレーム・フレーム変換装置２２３に送られて保持される。第１・ｔフレーム・フレーム変換装置２２３は、送られてきた最初のフレームのコピーを、後続して伸長する一連のｔフレームが格納される全ての場所に作成する。
【０１０２】
そして、動きブロック（動きのある画像ブロック）については、フラクタル圧縮されたｔフレームのデータのシーケンスを、フレーム毎にフラクタル伸長装置２２２で伸長し、第１・ｔフレーム・フレーム変換装置２２３に送る。第１・ｔフレーム・フレーム変換装置２２３は、送られてきたｔフレームを、そのフレームの属するブロック番号に対応するブロック部分に上書きして、そのフレーム画像を完成させる。ブロック番号が付けられた全てのブロックについて、フレーム画像を完成させると、第１フレーム・ｔフレーム変換装置２２３は、フレーム変換して、そのフレーム画像を最初のフレームから順に動画ディスプレイ装置２２５に送り、動画ディスプレイ装置２２５が動画データを再生表示する。
【０１０３】
この間に、つまり、第１・フレーム・ｔフレーム変換装置２２３からフレーム変換された動画データのフレームが動画ディスプレイ装置２２５に送られ、当該フレームが動画ディスプレイ装置２２５で再生されている間に、次の一連のブロック毎のｔフレームのフラクタル圧縮された動画データを、フラクタル圧縮化動画保持装置２２１から取り出し、フラクタル伸長装置２２２で伸長し、第２・ｔフレーム・フレーム変換装置２２４に対し上述した動作と同じ動作を行ってフレーム変換し、動画データのフレームを復号する。そして、第１・ｔフレーム・フレーム変換装置２２３に保持されている動画データの一連のフレームの再生が、動画ディスプレイ装置２２５において終了した後、続いて、動画ディスプレイ装置２２５で再生される動画データを、第２・ｔフレーム・フレーム変換装置２２４に保持されている動画データのフレームに切り替えて、動画データの再生を続行する。これにより、再生される動画データのフレームの画像は、コマ落ちすることなく、再生される。このようにして、フラクタル圧縮された動画データの伸長と再生は、第１・ｔフレーム・フレーム変換装置２２３および第２・ｔフレーム・フレーム変換装置２２４に対して交互に行われ、フラクタル圧縮された画像がなくなるまで繰りかえされる。
【０１０４】
前述した第１の実施例と同様に、動画圧縮装置のコントローラ２２０の制御動作を中心にして、各々構成要素の装置について説明する。第２の実施例の動画圧縮装置は、前述のように、第１の実施例の動画圧縮装置の構成に、動きブロック検出装置２１５を加えたものから構成されている。
【０１０５】
動きブロック検出装置２１５の検出動作に係るフレームのブロックは、互いにオーバーラップしない画素の領域からなる小画像とする。ここでは、ブロックは８×８ピクセルからなる小画像とするが、このブロックの大きさは８×８に限らず、任意に指定できる。したがって、１フレームは１６０×１２０のピクセルの画像領域から構成されているので、１つのフレームのブロックの数は、２０×１５＝３００のブロックとなる。つまり、１つのフレームは３００個のブロックから成り立っている。
【０１０６】
このような画像データの各フレームにおいて、隣接するフレームの間でブロック毎の比較演算（例えば差分または相関の演算）を行い、その演算結果の値が、ある閾値を超えたものを動きのあるブロックと見倣して、そのブロックに対応する部分（各フレームのブロックの対応する部分の集まり）のみからなる画像についてｔフレーム（ｙ・ｔ軸からなるフレーム）への変換を行い、変換したｔフレームをフラクタル圧縮する。各ブロックについてのフレームの処理は、８フレーム（ブロックのｘ軸方向のピクセル数）で１サイクルが終わる。このフレーム数は、もちろん別のフレーム数となるように構成してもよい。
【０１０７】
次に、動画圧縮装置のコントローラ２２０の制御動作にかかる動画圧縮処理について、図を参照して説明する。図８は、コントローラ２２０の制御動作による動画データのフラクタル圧縮動作の処理の流れを示すフローチャートである。
【０１０８】
コントローラ２２０が、動作開始信号を動画圧縮装置の各装置に供給して、動画データの圧縮動作を開始する。処理を開始すると、ステップ７０１において、未処理フレームがあるか否かを判定する。未処理フレームがない場合は、ここでの圧縮処理を終了とするが、未処理フレームがある場合には、次のステップ７０２において、動画供給装置２１１から、圧縮対象の動画データの８フレームのデータを取り出し、フレーム・ｔフレーム変換装置２１２に送る。
【０１０９】
次に、ステップ７０３において、フレーム・ｔフレーム変換装置２１２に送ったフレームについて、最初のフレームをフラクタル圧縮装置２１３に送り、フラクタル圧縮する。そして、ステップ７０４において、圧縮された最初のフレームをフラクタル圧縮化動画蓄積装置２１４に送り記憶する。次に、ステップ７０５において、フレーム・ｔフレーム変換装置２１２から動きブロック検出装置２１５にフレーム対を送り、動きのあるブロック（「動きブロック」と略称する）を検出し、そのブロックの番号を記憶する。ここで検出した動きブロックのみをｔフレーム変換してフラクタル圧縮する。１対でも動きブロックが検出されたならば、８フレーム全体について、そのブロックでは動きがあるものとみなす。
【０１１０】
このため、次のステップ７０６において、未処理の動きブロックがあるか否かを判定する。未処理の動きブロックがある場合に、ステップ７０７に進み、動きブロックに対応する仮想直方体においてｔフレームを作成する。そして、次のステップ７０８において、作成したｔフレームをｘ座標の大きくなる順序にフラクタル圧縮装置２１３に送り、フラクタル圧縮する。次に、ステップ７０９において、圧縮された各ｔフレームをフラクタル圧縮化動画蓄積装置２１４に送って記憶する。そして、次の未処理のブロックに対する処理を行うため、ステップ７０６に戻り、ステップ７０６からの処理を続行する。
【０１１１】
一方、ステップ７０６の判定処理において、未処理の動きブロックがない場合には、そのブロックのｔフレームの圧縮処理は終了しているので、ステップ７０１に戻り、動画データの次の一連のフレームについてフラクタル圧縮するため、ステップ７０１からの処理を続行し、未処理フレームがなくなるまで、この処理を繰り返し行う。
【０１１２】
これらの処理は、基本的には前述した第１の実施例の動画圧縮装置の場合と同様である。つまり、最初に、動画データの８フレームの画像データが、動画供給装置２１１からフレーム・ｔフレーム変換装置２１２に送られる。未処理のフレームがなくなれば処理を終了する。
【０１１３】
次に、フレーム・ｔフレーム変換装置２１２から第１のフレーム（ｘ・ｙ軸のフレーム）をフラクタル圧縮装置２１３に送り、フラクタル圧縮する。圧縮された画像はフラクタル化動画像蓄積装置２１４に送られる。
【０１１４】
動きブロック検出装置２１５には、フレーム・ｔフレーム変換装置２１２から隣接するフレームの対を取って送る。動きブロック検出装置２１５は、フレームの対をブロック毎に比較して、動きのあるブロックの番号（ブロック番号）を記録する。ブロック番号は、例えば、（ｘ座標値，ｙ座標値）の形式をとり、座標（ｂｘ，ｂｙ）となる。ここで、ｂｘ＝１，２，３，…，２０、ｂｙ＝１，２，３，…，１５とする。この座標値“２０”および“１５”は、フレームのｘ軸およびｙ軸のピクセル数の“１６０”および“１２０”をそれぞれブロックのｘ軸およびｙ軸のピクセル数の“８”で割った数である。
【０１１５】
なお、フレームの対のブロックの比較は、例えば、差分または相関係数の値を求め、その比較により行う。そして、求めた値がある閾値を超えた場合に、そのブロックは動きのあるブロックと見なし、閾値を超えない場合には、そのブロックは動きの無いブロックと見なすこととする。このようにして、動きのあるブロックを検出することにすると、検出される動きのあるブロックの番号は、必ずしも、各フレームの対で同じでない場合もあるが、この実施例では、８フレームからできる対の内の一つでも動きがブロック内に検出されたならば、そのブロックを動きのあるブロックと見なして処理を行う。
【０１１６】
その後、フレーム・ｔフレーム変換装置２１２は、動きブロック検出装置２１５に記録されているブロツク番号にしたがって、各ブロックのすべてに対して、次のようにして、ｔフレーム変換を行い、変換したｔフレームのフラクタル圧縮を行う。
【０１１７】
図１９は、動きブロックに対応してｔフレーム変換するための仮想直方体を形成するｙ・ｔフレームの概念を説明する図である。フレーム・ｔフレーム変換装置２１２に記憶されているフレームのシーケンスのうち、検出された動きのあるブロックに対して、そのブロックの番号（ｂｘ，ｂｙ）で代表される記憶領域の仮想直方体を形成して、ｔフレーム変換する。
【０１１８】
図１９に示すように、ｔフレームのブロックに対応する部分は、その座標が（ｘ，ｙ，ｔ）＝（８（ｂｘ−１），８（ｂｙ−１），０）と、（８（ｂｘ−１）＋７，８（ｂｙ−１），０）と、（８（ｂｘ−１），８（ｂｙ−１）＋７，０）と、（８（ｂｘ−１）＋７，８（ｂｙ−１）＋７，０）との４点からなる正方形の記憶領域（記憶素子）からなり、最後のフレームのブロックに対応する部分は、その座標が（ｘ，ｙ，ｔ）＝（８（ｂｘ−１），８（ｂｙ−１），７）と、（８（ｂｘ−１）＋７，８（ｂｙ−１），７）と、（８（ｂｘ−１），８（ｂｙ−１）＋７，７）と、（８（ｂｘ−１）＋７，８（ｂｙ−１）＋７，７）の４点からなる正方形の記憶領域（記憶素子）からなる。これらの２つのフレームのブロックに対応する部分により仮想直方体を形成し、この仮想直方体により、動きのあるブロックに対するｔフレームを形成する。
【０１１９】
ｔフレームを形成するためには、仮想直方体の記憶領域（記憶素子）のブロックから時間軸方向を主体としてフレームを形成する。したがって、この動きのあるブロックに関する最初のｔフレームは、座標が（ｙ，ｔ，ｘ）＝（８（ｂｙ−１），０，８（ｂｘ−１））と、（８（ｂｙ−１）＋７，０，８（ｂｘ−１））と、（８（ｂｙ−１），７，８（ｂｘ−１））と、（８（ｂｙ−１）＋７，７，８（ｂｘ−１））の４点からなる正方形の座標に囲まれた記憶領域（記憶素子）からなるフレームとなる。そして、ｘ軸方向に進めて、順番にｔフレームを形成し、最後のｔフレームは、座標が（ｙ，ｔ，ｘ）＝（８（ｂｙ−１），０，８（ｂｘ−１）＋７）と、（８（ｂｙ−１）＋７，０，８（ｂｘ−１）＋７）と、（８（ｂｙ−１），７，８（ｂｘ−１）＋７）と、（８（ｂｙ−１）＋７，７，８（ｂｘ−１）＋７）との４点からなる正方形の記憶素子からなる。
【０１２０】
このようにして、ｔフレーム変換し、更にフラクタル圧縮したブロックのｔフレームのデータを記録する。その場合、まず、ブロック番号をそのまま動きブロック検出装置２１５からフラクタル圧縮化動画蓄積装置２１４に送り、続いて、そのｔフレームを最初のものから最後のものまで（この第２の実施例では各ブロックに付き８個のフレーム）を、フラクタル圧縮装置２１３に送る。フラクタル圧縮装置２１３に送られてきたｔフレームは、フラクタル圧縮され、フラクタル圧縮化された画像は、順次にフラクタル圧縮化動画蓄積装置２１４に送られて記憶される。
【０１２１】
次に、フラクタル圧縮化されたｔフレームの動画データの伸長処理および動画の再生処理について説明する。図を参照して説明する。図９は、コントローラ２２０の制御による動画データの伸長の処理の動作の流れを示すフローチャートであり、図１０は、コントローラ２２０の制御による動画データの再生処理の動作の流れを示すフローチャートである。
【０１２２】
コントローラ２２０の制御動作について、図９のフローチャートを参照して、コントローラ２２０の制御動作にかかる動画データの伸長処理を説明する。この処理では、コントローラ２２０が、フラクタル伸長装置２２２と、第１・ｔフレーム・フレーム変換装置２２３と、第２・ｔフレーム・フレーム変換装置２２４とを制御することにより行う。処理を開始すると、ステップ８０１において、未処理フレームがあるか否かを判定し、未処理フレームがなくなると、全てのｔフレームの伸長処理は終了したので処理を終了するが、未処理データがある場合、次のステップ８０２に進み、圧縮された動画データをフラクタル圧縮化動画蓄積装置２２１から取り出す。
【０１２３】
次に、ステップ８０３において、取り出しデータは、ｘ・ｙフレームを圧縮したものか否かを判定する。この判定処理では、まず、一番めの圧縮されたフレームのデータをフラクタル圧縮化動画蓄積装置２２１から取り出し、取り出したフレームの画像は、ブロック番号が先行しているか否かで、ｘ・ｙフレームが圧縮されたものか否かを判定する。この判定の結果、もし、ｘ・ｙフレームが圧縮されたものであれば、ステップ８０４に進み、その圧縮データをフラクタル伸長装置２２２に送り、取り出したデータから画像を伸長する。
【０１２４】
次に、ステップ８０５において、第２・ｔフレーム・フレーム変換装置２２４が使用中であり、ここから動画ディスプレイ装置２２５に表示中であるか否かを判定する。この判定の結果、第２・ｔフレーム・フレーム変換装置２２４からの表示中である場合、つまり、第２・ｔフレーム・フレーム変換装置２２４が使用中の場合には、ステップ８０６に進み、伸長した画像を第１・ｔフレーム・フレーム変換装置２２３に送り、次のステップ８０７において、第１・ｔフレーム・フレーム変換装置２２３に伸長した画像のコピーを全てのフレーム記憶場所に作る。そして、次のデータに対する処理を行い、動きブロックのｔフレームを作成するため、ステップ８０１に戻り、ステップ８０１からの処理を行う。
【０１２５】
また、ステップ８０５の判定において、第２・ｔフレーム・フレーム変換装置２２４からの表示中でなく、第１・ｔフレーム・フレーム変換装置２２３からの表示中である場合、つまり、第１・ｔフレーム・フレーム変換装置２２３が使用中の場合には、ステップ８０８に進み、伸長した画像を第２・ｔフレーム・フレーム変換装置２２４に送り、次のステップ８０９において、第２・ｔフレーム・フレーム変換装置２２４に伸長した画像のコピーを全てのフレーム記憶場所に作る。そして、次のデータに対する処理を行うため、ステップ８０１に戻り、ステップ８０１からの処理を行う。
【０１２６】
一方、ステップ８０３の判定処理で、もし、ｘ・ｙフレームが圧縮されたものでなく、ブロックに対応するｔフレームが圧縮されたものであれば、ステップ８１０に進み、その圧縮データをフラクタル画像伸長装置２２２に送り、フラクタル伸長してｔフレームを生成する。そして、ステップ８１１に進み、作成したｔフレーム（動きブロックに対応するフレーム）を、第１・ｔフレーム・フレーム変換装置２２３または第２・ｔフレーム・フレーム変換装置２２４において、先に伸長した画像の最初のフレームのコピーを記憶した記憶場所に格納する。
【０１２７】
次に、ステップ８１１において、第２・ｔフレーム・フレーム変換装置２２４からの表示中であるか否かを判定する。この判定の結果、第２・ｔフレーム・フレーム変換装置２２４からの表示中である場合、つまり、第２・ｔフレーム・フレーム変換装置２２４が使用中の場合は、ステップ８１２に進み、生成したｔフレームを、所属するブロック番号にしたがって、第１・ｔフレーム・フレーム変換装置２２３の対応する記憶場所に上書きする。また、ステップ８１１の判定において、第２・ｔフレーム・フレーム変換装置２２４からの表示中でない場合には、つまり、第１・ｔフレーム・フレーム変換装置２２３が使用中の場合は、ステップ８１３に進み、生成したｔフレームを、所属するブロック番号にしたがって、第２・ｔフレーム・フレーム変換装置２２４の対応する記憶場所に上書きする。そして、次のシーケンス単位の圧縮された動画データに対する伸長処理を行うため、ステップ８０１に戻り、ステップ８０１からの処理を行う。
【０１２８】
ここでの動画データを伸長する処理において、フレームは本来のｘ・ｙ軸からなるものでｔフレームの座標を持っていない。したがって、最初のフレームの場合、次はｘ・ｙフレームを変換装置（２２３，２２４）に送る処理に移る。このため、第１・ｔフレーム・フレーム変換装置２２３または第２・ｔフレーム・フレーム変換装置２２４のどちらが動画フレームを動画ディスプレイ装置２２５に送っているかを調べ、使われていない方に伸長したフレームを送る。
【０１２９】
また、動画の最初のフレームの場合は、第１・ｔフレーム・フレーム変換装置２２３において、座標（ｘ，ｙ，ｔ）＝（０，０，０）、（１５９，０，０）、（０，１１９，０）および（１５９，１１９，０）で囲まれた記憶領域（記憶素子）に伸長されたフレームを送る。その後に、最初のフレームのデータは第１・ｔフレーム・フレーム変換装置２２３において、前述の第１の実施例で示した方法と同じ方法で、７個（一度に処理されるフレームの数）のコピーが各フレームに対応する場所の記憶領域（記憶素子）になされる。すなわち、ｔ軸に関しｔ＝０のフレームのアレー上の記憶領域（記憶素子）からｔ＝７までのアレー上の記憶領域（記憶素子）まで同じフレームのデータが保持される。
【０１３０】
そして、第１の圧縮されたフレームに続くデータは、ブロック番号と一連の圧縮されたｔフレームであるので、これらのｔフレームのデータを伸長して、フレーム変換する。この第２の実施例では、そのようなｔフレームは各ブロックについて８枚ある。ｔフレームはｘ座標の小さいものから順番にフラクタル伸長装置２２２に送られて伸長される。
【０１３１】
伸長されたｔフレームは、第１・ｔフレーム・フレーム変換装置２２３に順次送られる。この時のブロツク番号が（ｂｘ，ｂｙ）である場合、ｉ番目の伸長されたｔフレームは、第１・ｔフレーム・フレーム変換装置２２３において座標（ｙ，ｔ，ｘ）＝（８（ｂｙ−１），０，８（ｂｘ−１）＋（ｉ−１））、（８（ｂｙ−ｌ）＋７，０，８（ｂｘ−１）＋（ｉ−１））、（８（ｂｙ−１）），７，８（ｂｘ−１）＋（ｉ−１））および（８（ｂｙ−１）＋７，７，８（ｂｘ−１）＋（ｉ−１））で囲まれた記憶領域（記憶素子）に上書きされる。全てのブロックのデータについてｔフレームの上書きが終わると、第１・ｔフレーム・フレーム変換装置２２３に動画データのフレームが生成される。
【０１３２】
動画データのフレームが生成されると、第１・ｔフレーム・フレーム変換装置２２３からフレーム（ｘ・ｙ軸フレーム）が一枚づつ８枚取り出され、動画ディスプレイ装置２２５に送られて表示される。
【０１３３】
次に、図１０のフローチャートを参照して、コントローラ２２０の制御動作にかかる動画データの再生処理ついて説明する。この処理は、コントローラ２２０が第１・ｔフレーム・フレーム変換装置２２３と、第２・ｔフレーム・フレーム変換装置２２４と、動画ディスプレイ装置２２５を制御することにより行う。この動画データの再生処理では、処理を開始すると、ステップ８１４において、第２・ｔフレーム・フレーム変換装置２２４が復号中であるか否かを判定する。つまり、第１・ｔフレーム・フレーム変換装置２２３から変換された動画データのフレームを表示中であるか否かを判定する。
【０１３４】
この判定の結果、第２・ｔフレーム・フレーム変換装置２２４が復号中である場合、すなわち、第２・ｔフレーム・フレーム変換装置２２４に、生成された動きブロックに対応するｔフレームの書き込み中の場合には、ステップ８１５に進み、第１・ｔフレーム・フレーム変換装置２２３から復号されたフレームを動画ディスプレイ装置２２５に送る。また、第２・ｔフレーム・フレーム変換装置２２４が復号中でない場合には、ステップ８１６に進み、第２・ｔフレーム・フレーム変換装置２２４から復号されたフレームを動画ディスプレイ装置２２５に送る。そして、ステップ８１７に進み、動画ディスプレイ装置２２５を制御して、送られてきた動画データのフレームを動画ディスプレイ装置２２５で表示する。そして、ステップ８１４に戻り、ステップ８１４からの処理により、第１・ｔフレーム・フレーム変換装置２２３と、第２・ｔフレーム・フレーム変換装置２２４とを切換えて、コマ落ちがないようにして、動画データのフレームの再生処理を続行する。
【０１３５】
この間、すなわち、第１・ｔフレーム・フレーム変換装置２２３から動画データのフレームが動画ディスプレイ装置２２５に送られている間、次の一連の圧縮された最初のフレームと動きブロックのｔフレームの伸長がなされ、第２・ｔフレーム・フレーム変換装置２２４に格納される。そして、第１・ｔフレーム・フレーム変換装置２２３における全てのフレームが動画ディスプレイ装置２２５で表示された後、引き続いて直ちに第２・ｔフレーム・フレーム変換装置２２４のフレームが動画ディスプレイ装置２２５に送られる。このようにして、フレームの伸長処理と表示処理とが、第１・ｔフレーム・フレーム変換装置２２３と、第２・ｔフレーム・フレーム変換装置２２４とを交互に切換えて、コマ落ちがないようにして動画データのフレームの再生処理を続行する。
【０１３６】
このように第２の実施例によれば、第１番目のフレームを除き、大部分のフレームは動きのあるブロックのみが圧縮されるので、時間に対する冗長度を有効に利用して圧縮がなされ、圧縮率が従来と比べて向上する。
【０１３７】
また、人間の目は動画を見る場合にその動きのある所に注目し、詳しく見ようとするので、動きのあるブロックのみについて、そのｔフレームの圧縮を行うようにすることによって、人間の視覚特性による画像の冗長度を、有効に利用できるようになる。動きのあるブロックについてのｔフレームは、原フレームの対応する部分に比べて自己相似性の高い画像であるので、更に、フラクタル圧縮の圧縮度が高められる。
【０１３８】
すなわち、従来は、レンジブロックに写像されるドメインブロックに動きがない場合には解像度が上がらなくなる問題があったが、この第２の実施例のように構成すると、ｔフレームは全て静止画像として扱え、動きのない部分が動きのある部分に変換されることがないので、そのような問題が無くなる。
【０１３９】
このように、第１の実施例および第２の実施例によれば、従来、基本的にはフレーム毎の圧縮がなされて、時間軸に対する冗長性は間接的にしか考慮されなかったものが、動画像の時間軸に対する冗長性を直接利用したフラクタル圧縮（ｔフレームの圧縮）ができるようになる。
【０１４０】
（第３の実施例）
また、動きのない部分については、例えば、ｌｏｓｓｌｅｓｓ符号化と復号化を行うことにより、充分な解像度を与えることができるようにも変形できる。このような変形例について、第３の実施例として説明する。図１１は、本発明の動画圧縮伸長装置の第３の実施例にかかる動画圧縮装置の構成を示すブロック図であり、図１２は、本発明の動画圧縮伸長装置の第３の実施例にかかる動画伸長装置の構成を示すブロック図である。
【０１４１】
図１１において、３１０はコントローラ、３１１は動画供給装置、３１２はフレーム・ｔフレーム変換装置、３１３はフラクタル圧縮装置、３１４はフラクタル圧縮化動画蓄積装置、３１５は動きブロック検出装置、３１６は輝度変化検出装置である。また、図１２において、３２０はコントローラ、３２１はフラクタル圧縮化動画蓄積装置、３２２はフラクタル伸長装置、３２３は第１・ｔフレーム・フレーム変換装置、３２４は第２・ｔフレーム・フレーム変換装置、３２５は動画ディスプレイ装置、３２６は輝度変化復号装置である。
【０１４２】
これらのブロック要素によって構成される動画圧縮装置および動画伸長装置の動作の概要について説明する。これらブロック要素の装置の起動と終了および画像のデータの流れはコントローラ３１０，３２０によって制御される。つまり、動画圧縮装置はコントローラ３１０によって、また、動画伸長装置はコントローラ３２０によって制御される。これらは、前述した第２の実施例の動画圧縮伸長装置と同様である。
【０１４３】
第３の実施例の動画圧縮伸長装置においては、第２の実施例の構成に加えて、輝度変化検出装置３１６および輝度変化復号装置３２６が設けられている。この輝度変化検出装置３１６は、時間軸方向のｔフレームから輝度の変化座標と新輝度のみを抽出して記憶する。この場合の動画データの圧縮処理の動作は、前述した第２の実施例の場合とはフレーム画像の輝度の変化を記録することにおいて異なるが、それ以外は同様である。
【０１４４】
すなわち、動きのあるブロックのみから定義されるｔフレームの集まりそれぞれについて、ｙ・ｔ軸からなるｔフレームそれぞれに対し、各ｙ座標毎に、ｔ軸にそってスキャンを行い、その輝度の変化を検出し記録する。この場合、まず、一番始めの輝度を記録し、次に輝度の変化があった場合に、その位置と新しい輝度を記録する。各ブロックの輝度の変化の位置とその輝度はブロック番号とともに、フラクタル圧縮化動画記憶装置に送って保持する。
【０１４５】
圧縮した動画データのフレームの伸長の動作では、各々の動きのあるブロツクに関するデータの集まり毎に、次のような伸長処理を行う。すなわち、ブロックを表わす（ｘ，ｙ，ｔ）軸についての仮想直方体の記憶領域に、ブロックに関するデータ（ｙ軸値，ｔ軸値，輝度値）が、フラクタル圧縮化動画記憶装置から送られてくると、（ｙ軸値、ｔ軸値）に対応するデータ値を、入力の輝度値に変更する。つまり、ブロックに関する次のデータを読み、更に、ｔ軸の値を１つづつ増やす。具体的には、（ｙ，ｔ＋１），（ｙ，ｔ＋２），（ｙ，ｔ＋３），…のようにスキャンする。
【０１４６】
このようにして、ｔ軸の値がブロックのｔの最大値またはｙ軸の値が同じであるデータの次のデータのｔ軸の値の手前まで、その輝度値を前のデータの輝度値に変更する。このような輝度値の変更を全てのブロックに関するデータが終わるまで繰り返す。
【０１４７】
第３の実施例の動画圧縮伸長装置においては、第２の実施例の動画圧縮伸長装置において動きブロックの圧縮をフラクタル圧縮で行ったが、これに替えて、動画データのフレームの輝度変化を検出し、これを記録して、動きのある部分については、ｌｏｓｓｌｅｓｓ符号化と復号化を行うようにしている。このため、充分な解像度を与えることができるようになり、人間の視覚が注目する動きに対しより自然な動画像が得られるようになる。また、従来のフラクタル圧縮を使った動画圧縮方式では、レンジブロックに写像されるドメインブロックに動きがない場合には、画像の解像度が上がらなくなるが、動きのない部分が動きのある部分に変換されることがないので、そのような問題が無くなる。
【０１４８】
次に、具体例により動画圧縮の処理動作について説明する。なお、ここでは一度に処理されるフレームの数は５として説明する。動画圧縮処理の基本的な動作は、第２の実施例の動画圧縮装置の場合（図８）と同様である。ただし、第３の実施例の場合には、輝度変化検出装置３１６が設けられているので、この装置に関係する処理が加わる。その処理は、図８のフローチャートにより説明したステップ７０８の処理が、図１３に示すような処理に変えられる。
【０１４９】
図１３は、第３の実施例の動画圧縮処理の要部の処理フローを示すフローチャートである。つまり、第３の実施例の動画圧縮処理の全体の動作の流れは図８のフローチャートに示すとおりであるが、そのステップ７０８の「ｔフレームをｘ座標の大きくなる順序にフラクタル圧縮装置に送り、フラクタル圧縮する」という処理が、図１３に示すような処理に置き換えられたものとなる。
【０１５０】
輝度変化検出装置３１６は、フレーム・ｔフレーム変換装置３１２の記憶領域（記憶素子）に記憶されている内容（画像の輝度）を座標を指定することで任意にアクセスすることができるように構成される。このため、座標位置を指定する３本の制御線があり、その３本の制御線により座標（ｘ，ｙ，ｔ）の記憶素子を指定する。これは通常のコンピュータに使われている２次元の主記憶のデータアクセスの方法と同じである。アクセスされた記憶素子のデータは、８ビツトバスで輝度変化検出装置３１６に運ばれる。
【０１５１】
輝度変化の検出については、図１３のフローチャートを参照する説明の中で具体的に説明するが、４重ループの簡単なアルゴリズムで実現される。図１３に示すフローチャートでは、一番外の全てのブロックについては省略してあるが、その中で、まず、動きブロック検出装置３１５から動きのあるブロック番号を取ってきて、その処理を開始し、この処理を動きのあるブロック全てについて行う。このアルゴリズムで出力される座標値と輝度は、そのまま、フラクタル圧縮化動画蓄積装置３１４に送られて記憶される。もちろん、可変長符号化の手法を使って輝度変化のデータを更に圧縮しても良い。
【０１５２】
図１３を参照する。輝度変化の検出処理では、まず、始めに、ステップ１１０１において、ポインタ（ＩＸ，ＩＹ，ＩＴ）およびメモリ（Ｍ１）を初期値にリセットする。次に、ステップ１１０２において、ｘ軸のポインタ（ｘ座標値）ＩＸがブロックサイズＩＸＭＡＸに既になっているか否かを判定し、ＩＸ＞ＩＸＭＡＸとなっていれば、ｘ＝ＩＸＭＡＸのｙ・ｔフレームにおける輝度変換の検出は既に終わっているので、このブロックの輝度変化検出の処理をは終了する。
【０１５３】
また、ステツプ１１０２の判定で、ＩＸ＞ＩＸＭＡＸとなっていなければ、ステップ１１０３に進み、ｙ軸のポインタ（ｙ座標値）ＩＹがブロックサイズＩＹＭＡＸより既に大きくなっているか否かを判定する。この判定で、ＩＹ＞ＩＹＭＡＸとなっている場合には、あるｙ・ｔフレームの最後のｙ座標のデータ列の輝度検出は終わっているので、ステップ１１０４に進み、ｙ座標のポインタＩＸをリセツトし、次のステップ１１０５において、ｘ軸のポインタＩＸを一つ大きくして、次のデータに対する処理を行うため、ステップ１１０２に戻る。そして、次のデータを取りにゆき、ステップ１１０２からの処理を続行する。
【０１５４】
ステツプ１１０３の判定で、ＩＹ＞ＩＹＭＡＸとなっていなければ、ステップ１１０６に進み、ｔ軸のポインタ（ｔ軸の値）ＩＴが入力フレーム数ＩＴＭＡＸより既に大きくなっているか否かを判定する。この判定の結果、ＩＴ＞ＩＴＭＡＸとなっている場合には、あるｙ・ｔフレームでｔ座標のの最後のデータの輝度検出は終わっているので、ステップ１１０７に進み、ｔ軸のポインタＩＴをリセツトして、次のステップ１１０８において、ｙ軸のポインタＩＹを一つ大きくして、次のデータに対する処理を行うため、ステップ１１０３に戻る。そして、次のデータを取りにゆき、ステップ１１０３からの処理を続行する。
【０１５５】
また、ステップ１１０６の判定の結果、ＩＴ＞ＩＴＭＡＸでない場合には、次のステップ１１０９において、現在のアクセスポインタ（ＩＸ，ＩＹ，ＩＴ）で指示されている記憶素子の輝度ｆ（ＩＸ，ＩＹ，ＩＴ）をメモリＭ２に移す。そして、次のステップ１１１０において、Ｍ１＝Ｍ２となっているか否かを判定する。メモリＭ２の輝度が以前からメモリＭ１に記憶されている輝度と同じであれば、輝度の変化が無かったので、次のデータに対する処理に進むため、ステップ１１１２において、ｔ軸のポインタＩＴを１つ増やして、ステップ１１０６に戻り、ステップ１１０６からの処理を続行する。
【０１５６】
また、ステップ１１１０の判定処理で、Ｍ１＝Ｍ２でなければ、輝度の変化が検出されたので、ステップ１１１１に進み、現在のアクセスポインタ（ＩＸ，ＩＹ，ＩＴ）で指示されている座標とその輝度Ｍ２を出力し、Ｍ１の内容をＭ２の内容で置き換え、次のデータに対する処理を行うため、ステップ１１１２において、ｔ軸のポインタＩＴを１つ増やした後、ステップ１１０６に戻り、ステップ１１０６からの処理を続行する。
【０１５７】
なお、ｔ＝０の時の輝度の値は、処理を開始してから一番初めにＭ１＝Ｍ２をテストする時には、Ｍ１とＭ２とは等しくなっており、ステップ１１１１の処理は行わないので、メモリＭ２の輝度は出力されないが、この座標値は最初のフレームであり、前の処理でｘ・ｙフレームが伸長されて直ちに記憶されている（ステップ１２０７，１２０９）。
【０１５８】
次に、第３の実施例の動画伸長装置（図１２）において、圧縮された動画データを伸長する場合の処理について説明する。この動画伸長装置においては、輝度変化復号装置３２６が設けられている。前述した各実施例の装置と同様に、ここでの処理は、コントローラ３２０により制御される。
【０１５９】
図１４は、コントローラ３２０の制御動作にかかる動画伸長処理を示すフローチャートであり、また、図１５は、コントローラ３２０の制御動作にかかる動画再生処理を示すフローチャートである。これらのフローチャートを参照して、コントローラ３２０の制御動作にかかる動画データの伸長処理および動画データの再生処理について説明する。これらの処理では、コントローラ３２０が、フラクタル圧縮化動画蓄積装置３２１と、フラクタル伸長装置３２２と、第１・ｔフレーム・フレーム変換装置３２３と、第２・ｔフレーム・フレーム変換装置３２４と、輝度変化復号装置３２６と、動画ディスプレイ装置３２５とを制御することにより行う。図１４のフローチャートを参照すると、動画データの伸長処理においては、処理を開始すると、まず、ステップ１２０１において、未処理フレームがあるか否かを判定し、未処理フレームがなくなると、全てのｔフレームの伸長処理は終了したので処理を終了するが、未処理データがある場合、次のステップ１２０２に進み、圧縮された動画データをフラクタル圧縮化動画蓄積装置３２１から取り出す。
【０１６０】
次に、ステップ１２０３において、取り出しデータは、ｘ・ｙフレームを圧縮したものか否かを判定する。この判定処理では、まず、一番めの圧縮されたフレームのデータをフラクタル圧縮化動画蓄積装置３２１から取り出し、取り出したフレームの画像は、ブロック番号が先行しているか否かで、ｘ・ｙフレームが圧縮されたものか否かを判定する。この判定の結果、もし、ｘ・ｙフレームが圧縮されたものであれば、ステップ１２０４に進み、その圧縮データをフラクタル伸長装置３２２に送り、取りだしたデータから画像を伸長する。
【０１６１】
この場合の最初の画像は、ｘ・ｙフレームの圧縮画像であり、ｔフレームではないことに注意する。次に、ステップ１２０５において、第２・ｔフレーム・フレーム変換装置３２４が使用中であり、ここから動画ディスプレイ装置３２５に表示中であるか否かを判定する。この判定の結果、第２・ｔフレーム・フレーム変換装置３２４からの表示中である場合、つまり、第２・ｔフレーム・フレーム変換装置３２４が使用中の場合は、ステップ１２０６に進み、伸長した画像を第１・ｔフレーム・フレーム変換装置３２３に送り、次のステップ１２０７において、第１・ｔフレーム・フレーム変換装置３２３に伸長した画像のコピーを全てのフレーム記憶場所に作る。そして、次のデータに対する処理を行い、動きブロックのｔフレームを作成するため、ステップ１２０１に戻り、ステップ１２０１からの処理を行う。
【０１６２】
また、ステップ１２０５の判定において、第２・ｔフレーム・フレーム変換装置３２４からの表示中でなく、第１・ｔフレーム・フレーム変換装置３２３からの表示中である場合、つまり、第１・ｔフレーム・フレーム変換装置３２３が使用中の場合は、ステップ１２０８に進み、伸長した画像を第２・ｔフレーム・フレーム変換装置３２４に送り、次のステップ１２０９において、第２・ｔフレーム・フレーム変換装置３２４に伸長した画像のコピーを全てのフレーム記憶場所に作る。そして、次のデータに対する処理を行うため、ステップ１２０１に戻って、ステップ１２０１からの処理を行う。
【０１６３】
一方、ステップ１２０３の判定処理で、もし、ｘ・ｙフレームが圧縮されたものでなく、ブロツクに対応するｔフレームであれば、ステップ１２１０からの処理により、輝度変化復号装置３２６と、第１・ｔフレーム・フレーム変換装置３２３または第２・ｔフレーム・フレーム変換装置３２４において、ｔフレームの輝度変化の復号を行い、先に伸長してある最初のフレームの一連のコピーを記憶した記憶場所（３２３，３２４）に格納する。
【０１６４】
このため、ステップ１２１０においては、第２・ｔフレーム・フレーム変換装置３２４からの表示中であるか否かを判定する。この判定の結果、第２・ｔフレーム・フレーム変換装置３２４からの表示中である場合、つまり、第２・ｔフレーム・フレーム変換装置３２４が使用中の場合は、ステップ１２１１に進んで、第１・ｔフレーム・フレーム変換装置３２３において、輝度変化の復号を行う。つまり、データが（ｘ，ｙ，ｔ，Ｉ）なら、第１・ｔフレーム・フレーム変換装置３２３の座標（ｘ，ｙ，ｉｔ＝ｔ〜４）の記憶素子の輝度の値を全て“１”とする。また、ステップ１２１０の判定において、第２・ｔフレーム・フレーム変換装置３２４からの表示中でない場合には、つまり、第１・ｔフレーム・フレーム変換装置３２３が使用中の場合には、ステップ１２１２に進み、ｔフレームの輝度変化のデータが（ｘ，ｙ，ｔ，Ｉ）なら、第２・ｔフレーム・フレーム変換装置３２４の座標（ｘ，ｙ，ｉｔ＝ｔ〜４）の記憶素子の輝度の値を全て“１”とする。そして、次のデータに対する伸長処理を行うため、ステップ１２０１に戻り、ステップ１２０１からの処理を行う。
【０１６５】
すなわち、第１・ｔフレーム・フレーム変換装置３２３または第２・ｔフレーム・フレーム変換装置３２４のいずれが、動画ディスプレイ装置３２５に動画のフレームを送っているかによって、第１・ｔフレーム・フレーム変換装置３２３または第２・ｔフレーム・フレーム変換装置３２４のいずれかの変換装置を選ぶので、一番始めの状態の場合は、伸長された画像が、第１・ｔフレーム・フレーム変換装置３２３に送られる。第１・ｔフレーム・フレーム変換装置３２３では、送られてきた画像をｔ＝０のフレームの場所に格納するとともに、そのコピーを他のｔ＝１からｔ＝４のフレームの場所にも作る。
【０１６６】
フラクタル圧縮化動画蓄積装置３２１からは、（ｘ，ｙ，ｔ）の座標値と輝度ｉが、輝度変化復号装置３２６に順次送られてくる。輝度変化復号装置３２６は、輝度変化の復号を行い、第１・ｔフレーム・フレーム変換装置３２３または第２・ｔフレーム・フレーム変換装置３２４の任意の座標の記憶素子をアクセスし、またその内容を変更する。
【０１６７】
第１・ｔフレーム・フレーム変換装置３２３または第２・ｔフレーム・フレーム変換装置３２４のいずれで復号を行うかは、その変換装置が動画フレームのデータを送ることに使用されているかどうかで決まる。すなわち、フレームを送り出している場合は、使用していない方に輝度の復号を行う。
【０１６８】
輝度の復号は、各動きのあるブロック毎に、座標値（ｘ，ｙ，ｔ）およびその輝度Ｉのデータを受け取った時、次のデータに関わらず、（ｘ，ｙ，ｉｔ），ｉｔ＝ｔ，…，４の記憶素子の値を“Ｉ”に変更する。これにより、この処理が完了した時点で、第１・ｔフレーム・フレーム変換装置３２３に伸長された動画データのフレーム画像が、５フレーム用意されたことになる。このフレームを、ｔ＝０〜４の値にしたがって、動画ディスプレイ装置３２５に送って再生する。
【０１６９】
また、より高速に処理するには、次のように処理する。すなわち、（ｘ，ｙ，ｔ）およびＩのデータを受け取った時、（ｘ，ｙ，ｔ）の記憶素子の値を“Ｉ”に変更する。そして、次のデータを読み込み、アクセスポインタ（ｘ，ｙ，ｔ）の座標のｔのみを１づつ増やし、ｔの値が４（圧縮が同時にかけられるフレームの数）になるか、または、次のデータの（ｘ，ｙ，ｔ）と一致する手前まで、その座標での輝度の値を“Ｉ”に変更する。そして、最初に戻る。このような処理を全ての輝度変化のデータがなくなるまで繰り返す。
【０１７０】
次に、図１５のフローチャートを参照して、コントローラ３２０の制御動作にかかる動画データの再生処理ついて説明する。この再生処理は、コントローラ３２０が、第１・ｔフレーム・フレーム変換装置３２３と、第２・ｔフレーム・フレーム変換装置３２４と、動画ディスプレイ装置３２５を制御することにより行う。この動画データの再生処理では、処理を開始すると、ステップ１２１４において、第２・ｔフレーム・フレーム変換装置３２４が復号中であるか否かを判定する。つまり、第１・ｔフレーム・フレーム変換装置３２３から変換された動画データのフレームを表示中であるか否かを判定する。
【０１７１】
この判定の結果、第２・ｔフレーム・フレーム変換装置３２４が復号中である場合、すなわち、第２・ｔフレーム・フレーム変換装置３２４に、生成された動きブロックに対応するｔフレームの書き込み中の場合には、ステップ１２１５に進み、第１・ｔフレーム・フレーム変換装置３２３から復号されたフレームを動画ディスプレイ装置３２５に送る。第２・ｔフレーム・フレーム変換装置３２４が復号中でない場合には、ステップ１２１６に進み、第２・ｔフレーム・フレーム変換装置３２４から復号されたフレームを動画ディスプレイ装置に送る。そして、ステップ１２１７に進み、動画ディスプレイ装置３２５を制御し、送られてきた動画データのフレームを動画ディスプレイ装置３２５で表示する。そして、ステップ１２１４に戻り、ステップ１２１４からの処理により、第１・ｔフレーム・フレーム変換装置３２３と、第２・ｔフレーム・フレーム変換装置３２４とを切換えて、コマ落ちがないようにして、動画データのフレームの再生処理を続行する。
【０１７２】
この間、すなわち、第１・ｔフレーム・ｔフレーム変換装置３２３から動画データのフレームが動画ディスプレイ装置３２５に送られている間、次の一連の圧縮された最初のフレームと動きブロックのｔフレームの伸長がなされ、第２・ｔフレーム・フレーム変換装置３２４に格納される。そして、第１・ｔフレーム・フレーム変換装置３２３における全てのフレームが動画ディスプレイ装置３２５で表示された後、引き続いて直ちに第２・ｔフレーム・フレーム変換装置３２４のフレームが動画ディスプレイ装置３２５に送られる。このようにして、フレームの伸長処理と表示処理とが、第１・ｔフレーム・フレーム変換装置３２３と、第２・ｔフレーム・フレーム変換装置３２４とを交互に切換えて、コマ落ちがないようにして動画データのフレームの再生処理を続行する。
【０１７３】
フレームの再生は５枚のフレーム毎に行うが、ｔ軸方向の輝度補正のため、５枚のフレーム全てが用意されるまで再生できない。コマ落ちを防ぐため、第２・ｔフレーム・フレーム変換装置３２４が設けられているので、そこに、次の５枚のフレームを伸長して格納する。このように、動画データの画像の伸長処理と再生処理は、第２の実施例と同様に、第１・ｔフレーム・フレーム変換装置３２３および第２・ｔフレーム・フレーム変換装置３２４の間で交互に行われる。なお、圧縮の度合いが高くなり、伸長処理に時間がかかるようであれば、第３および第４のフレームシーケンス記憶装置を付加すればよい。
【０１７４】
具体的に、ここで、ある任意の座標（ｘ，ｙ）座標において、ｔ軸における輝度の変化（ｔ＝０から４）を計算してみると、輝度の変化を単位時間において、輝度がＩのままである場合、Ｉが（Ｉ＋１）に変わる場合、Ｉが（Ｉ−１）に変わる場合について、それぞれの場合の確率が等確率であるとし、また、輝度の最大値ＩＭＡＸから、ＩＭＡＸのままである場合と、（ＩＭＡＸ−１）に変わる確率を等確率とし、その他の変化の確率は０として、単純マルコフプロセスでモデル化すると、輝度の変化の平均値は約２．５前後となる。実際の映像では、任意の座標の輝度が単位時間後にそのままである確率は、輝度が変化する確率より遥かに高いので、上記の時間内での輝度の変化の平均値は２以下となる。したがって、記憶しなければならないデータ（（ｘ，ｙ，ｔ）、Ｉ（ｘ，ｙ，ｔ））は、各（ｘ，ｙ）において、０または１個か、多くてもせいぜい２個となる。
【０１７５】
このような第３の実施例にかかる動画圧縮伸長装置によると、元の動画データの圧縮において、次のような効果が期待できる。すなわち、
（１）動きの無い部分の冗長度を有効に利用できる。
（２）動きのある部分についてはｌｏｓｓｌｅｓｓ符号化と復号化を行い、動きのある部分について視聴覚的に良い再生が可能となる。
（３）従来のフラクタル圧縮法は、レンジブロックに写像されるドメインブロックに動きがない場合に解像度が上がらなくなる問題があったが、この第３の実施例によれぱ、動きのない部分が動きのある部分に変換されることがないので、そのような間題が無くなる。
【０１７６】
ところで、前述した第２の実施例および第３の実施例において、更に、次のように変形することにより更に圧縮率を高める改良を行える。すなわち、動きブロック検出装置２１５および動きブロック検出装置３１５は、隣接するフレームを対に比較して、動きのあるブロックを検出していたが、この時、予め決められた数の一連のフレームを検査していた。したがって、動きのあるブロックを検出したが、そのブロックからなる一連のフレーム内に動きが１ヶ所だけあって、残りは動きのないフレームが出てくる場合がある。よって、効率をよくするため、このフレームの一連の数を可変にする。つまり、最初のフレーム対で検出された動きのあるブロック番号を記憶しておき、新しいフレーム対が検査される時に、一つでも新しい動きのあるブロックが現れるか、または、既存の動きブロックが、動きブロックであると見なされなくなった時、フレーム対に最初のものまでのフレームを一まとめにして圧縮の対象とする。
【０１７７】
これにより、動きの無い冗長分をさらに削減して符号化を置き換えるので、圧縮率を高めることができる。
【０１７８】
（第４の実施例）
また、更に圧縮率を高めるための別の変形として、ｔフレームの画像をフラクタル圧縮する場合、ｔフレームの画像の複数枚を、例えばｘ軸の方向に並べることにより、その画像を自己相似の高いフレーム画像とすることができる。このようにして、フラクタル圧縮するためのフレーム画像を変形してからフラクタル圧縮することにより、更に圧縮率を高めて、動画の画像情報を圧縮することができる。このような変形例について、第４の実施例として説明する。
【０１７９】
図２１は、本発明の動画圧縮伸長装置の第４の実施例にかかる動画圧縮装置の構成を示すブロック図であり、図２２は、本発明の動画圧縮伸長装置の第４の実施例にかかる動画伸長装置の構成を示すブロック図である。
【０１８０】
図２１において、４４０はコントローラ、４４１は動画供給装置、４４２はフレーム・ｔフレーム変換装置、４４２ａは第１ワークフレーム保持部、４４２ｂは第２ワークフレーム保持部である。４４３はフラクタル圧縮装置、４４４はフラクタル圧縮化動画蓄積装置である。また、図２２において、４５０はコントローラ、４５１はフラクタル圧縮化動画蓄積装置、４５２はフラクタル伸長装置、４５３は第１・ｔフレーム・フレーム変換装置、４５４は第２・ｔフレーム・フレーム変換装置、４５５は動画ディスプレイ装置である。
【０１８１】
これらのブロック要素によって構成される動画圧縮装置および動画伸長装置の動作の概要について説明する。これらブロック要素の装置の起動と終了および画像のデータの流れはコントローラ４４０，４５０によって制御される。つまり、動画圧縮装置はコントローラ４４０によって制御され、また、動画伸長装置はコントローラ４５０によって制御される。
【０１８２】
動画の圧縮を行う場合、始めに、コントローラ４４０によって、動画供給装置４４１に信号が送られ、動画フレームの一連のシークエンスがフレーム・ｔフレーム変換装置４４２に送られる。フレーム・ｔフレーム変換装置４４２は、第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂを備えており、この第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂを用いて、動画の圧縮率を高めるためのフレーム変換を行う。
【０１８３】
すなわち、フレーム・ｔフレーム変換装置４４２では、動画のフレームのｙ軸と時間軸のｔ軸からなる中間ｔフレーム（第１ワークフレーム）を、フレームのｘ軸方向のピクセル数だけｘ軸にそって生成し、第１ワークフレーム保持部４４２ａに保持する。この中間ｔフレームを１６フレーム生成すると、続いて、フレーム・ｔフレーム変換装置４４２は、ここで生成した中間ｔフレームに対して、そのｔ軸（時間軸）の方向に一つづつ取り出し、取り出したフレームを新フレームのｘ軸の方向に一致するように順番に並べて、新ｔフレーム（第２ワークフレーム）を生成し、第２ワークフレーム保持部４４２ｂに保持する。この結果、第２ワークフレーム保持部４４２ｂに保持される新ｔフレームは、後の処理が行い易いように、元のフレームのｘ軸の方向に区切られ、複数枚（例えば１０枚）の中間ｔフレームから１枚の新ｔフレームが構成されているフレームとなる。
【０１８４】
次に、フレーム・ｔフレーム変換装置４４２において生成された新ｔフレームを、フラクタル圧縮装置４４３で圧縮し、圧縮された新ｔフレームはフラクタル化動画蓄積装置４４４に保持する。このようにして、フラクタル圧縮された動画データは、フラクタル化動画蓄積装置４４４において記憶された後、時間的に遅れて、または、空間的に異なる場所に転送されて再生される。このため、圧縮された画像データを伸長する処理が続いて行われる。
【０１８５】
フラクタル圧縮された動画データを伸長する場合、コントローラ４５０によって、フラクタル圧縮化動画蓄積装置４５１に信号が送られ、フラクタル圧縮化動画蓄積装置４５１からフラクタル圧縮された動画データが読み出され、フラクタル伸長装置４５２に送られる。ここでのフラクタル圧縮された動画データは、図２１に示すような動画圧縮装置により圧縮されたものである。
【０１８６】
フラクタル伸長装置４５２は、次に、フラクタル化動画蓄積装置４５１から一連の圧縮された新ｔフレームを取り出し伸長する。伸長されたものは第１・フレーム・ｔフレーム変換装置４５３に供給される。図示しないが、第１・ｔフレーム・フレーム変換装置４５３および第２・ｔフレーム・フレーム変換装置４５４には、フレーム・ｔフレーム変換装置４４２と同様に、第１ワークフレーム保持部および第２ワークフレーム保持部をそれぞれに備えており、この第１ワークフレーム保持部および第２ワークフレーム保持部を用いて、動画圧縮の際に行ったフレーム変換の逆の変換を行う。
【０１８７】
フラクタル伸長装置４５２により伸長された新ｔフレームは、第１・ｔフレーム・フレーム変換装置４５３の第２ワークフレーム保持部（図示せず）に保持され、第１・ｔフレーム・フレーム変換装置４５３において、ｘ軸とｙ軸からなるフレームをｔ軸（時間軸）に沿って再構成する。つまり、第２ワークフレーム保持部に保持され生成されたフレームを、ｘ軸に沿って一枚ずつ取り出し、第１・ｔフレーム・フレーム変換装置４５３における第１ワークフレーム保持部（図示せず）に、ｔ軸に沿って並べる。
【０１８８】
この結果、第１・ｔフレーム・フレーム変換装置４５３の第１ワークフレーム保持部には、ｘ軸とｙ軸についてみれば、元のフレームが再現される。これを動画ディスプレイ装置４５５に送り、動画を再生する。
【０１８９】
第１・ｔフレーム・フレーム変換装置４５３において再現された動画を再生している間、フラクタル伸長装置４５２は、次の一連の圧縮された新ｔフレームを取り出して伸長し、伸長された新ｔフレームを、第２・ｔフレーム・フレーム変換装置４５４の第２ワークフレーム保持部（図示せず）に保持する。そして、第２・ｔフレーム・フレーム変換装置４５４において、ｘ軸とｙ軸からなるフレームをｔ軸（時間軸）に沿って再構成し、第２ワークフレーム保持部に保持され生成されたフレームを、ｘ軸に沿って一枚ずつ取り出し、第１・ｔフレーム・フレーム変換装置４５３における第１ワークフレーム保持部（図示せず）に、ｔ軸に沿って並べる。
【０１９０】
この結果、第２・ｔフレーム・フレーム変換装置４５４の第１ワークフレーム保持部には、ｘ軸とｙ軸についてみれば、元のフレームが再現される。この間の第１・ｔフレーム・フレーム変換装置４５３から元のフレームが取り出されて、動画ディスプレイ装置４５５で再生し終わった後、既に、第２・ｔフレーム・フレーム変換装置４５４で再現されている元のフレームを時間軸にしたがって取り出し、動画ディスプレイ装置に取り出して再生する。つまり、一連のｔフレームの伸長は、第１・ｔフレーム・フレーム変換装置４５３および第２・ｔフレーム・フレーム変換装置４５４との間で交互に行われる。
【０１９１】
次に、図２１および図２２にそれぞれ示した動画圧縮装置および動画伸長装置を構成する各ブロックの要素の装置構成について具体的に説明する。前述したように、動画圧縮装置および動画伸長装置においては、コントローラ４４０およびコントローラ４５０の制御動作は、制御プログラムの処理により実行され、各ブロックの要素の動作にかかる全てのプロシージャの起動および終了を管理する。コントローラ４４０およびコントローラ４５０は、例えば、マイクロプロセッサ（ＣＰＵ）で構成されており、ここから供給される制御信号は細線の実線で示され、画像情報の流れは二重線で表現されている。動画蓄積装置４４１が圧縮される動画を保持している。ここでの動画とは、例えば、テレビジョン、ビデオテープレコーダ、８ｍｍビデオカメラなどからのビデオソース信号である。また、動画の画像情報はＲＧＢ系の信号からなるが、ここではグレイスケールで表現されたものとして説明する。ＲＧＢ系の信号の場合への応用および拡張は容易になされる。また、動画蓄積装置４４１は、画像信号の出力バッファとして、１６０×１２０のフレームバッファを有している。
【０１９２】
次に、この動画圧縮装置のコントローラ４４０の制御動作にかかる動画圧縮処理について、図を参照して説明する。図２３は、動画圧縮装置における圧縮処理の処理フローを示すフローチャートである。
【０１９３】
コントローラ４４０が、動作開始信号を各装置に供給して、動画データの圧縮動作を開始する。動作開始信号が供給されると、動画供給装置４４１は、圧縮対象の動画の画像情報から動画データを供給するため、出力バッファのフレームバッファに溜めて、この動画データのフレームのデータを取り出す。すなわち、処理を開始すると、まず、ステップ２３１において、動画供給装置４４１からフレームを取り出し、具体的には、動画データからそのフレームの画像を一定の間隔で１フレームごとに、動画供給装置４４１のフレームバッファから取り出して、フレーム・ｔフレーム変換装置４４２に供給する。
【０１９４】
次に、ステップ２３２において、未処理フレームがあるか否かを判定する。未処理フレームがない場合には、処理すべきデータがないので動作を終了するが、未処理フレームがある場合に、フレーム変換を行うため、次のステップ２３３に進む。
【０１９５】
ステップ２３３においては、取り出したフレーム数が１６であるか否かを判定する。つまり、新ｔフレームを構成するｘ軸のピクセル数だけの動画データのフレームのシーケンスを記憶領域に取り込んだか否かを判定する。このシーケンスの単位が、フレーム・ｔフレーム変換の単位となる。そして、次のステップ２３４において、フレーム・ｔフレーム変換装置４４２を制御して、フレーム・ｔフレーム変換装置４４２によるフレーム・ｔフレーム変換を行う。ここでのフレーム・ｔフレーム変換は、動画データのフレームのシーケンスを３次元配列の記憶領域に取り込み、元の動画データの画像のフレームのシーケンスの時間軸方向を中間ｔフレーム（第１ワークフレーム）のｘ軸方向とし、中間ｔフレームのシーケンスへの変換を、元のフレームのｘ軸方向としてデータを読み出すことにより行い、更に、この中間ｔフレームの複数枚（１０枚）毎に、更に、次のフレーム変換を行い、新ｔフレーム（第２ワークフレーム）への変換を行う。
【０１９６】
つまり、ステップ２３４において、動画データのフレームのシーケンスを３次元配列の記憶領域に取り込み、第１ワークフレームとして、第１ワークフレームのｙ・ｔフレームの複数枚（１０枚）を軸方向を変えて第２ワークフレーム保持部に移し、新ｔフレームを構成する。別の言葉で表現すれば、順次に記憶領域に動画データのフレームの軸方向を変えてデータを格納することにより、中間ｔフレームへの変換を行い、第１ワークフレーム保持部４４２ａに格納し、第１ワークフレーム保持部４４２ａに格納された中間ｔフレームの複数枚を、更にフレームの軸方向を変えて第２ワークフレーム保持部４４２ｂに格納して、新ｔフレームへの変換を行う。
【０１９７】
そして、次のステップ２３５からの処理により、新ｔフレームのデータをフラクタル圧縮する。このため、まず、ステップ２３５において、未処理の新ｔフレームがあるか否かを判定し、未処理の新ｔフレームがある場合に、次のステップ２３６において、新ｔフレームを取り出して、新ｔフレームをフラクタル圧縮装置４４３のバッファに送る。次に、ステップ２３７において、フラクタル圧縮装置４４３により、新ｔフレームをフラクタル圧縮し、次のステップ２３８において、圧縮された新ｔフレームをフラクタル圧縮化動画蓄積装置４４４に送り保持する。そして、次の新ｔフレームをフラクタル圧縮するため、ステップ２３５に戻り、ステップ２３５からの処理を続行する。ステップ２３５の判定処理において、未処理のｔフレームがないことが判定できると、次のフレームのシーケンスの単位での圧縮処理を行うため、ステップ２３１に戻り、ステップ２３１からの処理を続行する。
【０１９８】
次に、動画伸長装置のコントローラ４５０の制御動作にかかる動画伸長処理について、図を参照して説明する。図２４は、動画伸長装置における伸長処理の処理フローを示すフローチャートである。
【０１９９】
図２４のフローチャートを参照して、コントローラ４５０の制御動作にかかる動画データの伸長処理を説明する。この伸長処理では、コントローラ４５０が、フラクタル伸長装置４５２と、第１・ｔフレーム・フレーム変換装置４５３と、第２・ｔフレーム・フレーム変換装置４５４とを制御することにより、処理を実行する。処理を開始すると、ステップ２４１において、フラクタル圧縮化動画蓄積装置４５１から圧縮された新ｔフレームを取り出す。次に、ステップ２４２において、未処理フレームがあるか否かを判定し、未処理フレームがなくなると、全ての圧縮された新ｔフレームの伸長処理は終了したので処理を終了する。
【０２００】
ステップ２４２の判定処理により、未処理フレームがある場合、次に、ステップ２４３において、フラクタル圧縮化動画蓄積装置４５１から取り出した新ｔフレームを、フラクタル伸長装置４５２によりフラクタル伸長し、次のステップ２４４において、第２・ｔフレーム・フレーム変換装置４５４が使用中であり、この第２・ｔフレーム・フレーム変換装置４５４から動画ディスプレイ装置に表示中であるか否かを判定する。この判定の結果、第２・ｔフレーム・フレーム変換装置４５４からの表示中である場合、つまり、第２・ｔフレーム・フレーム変換装置４５４が使用中の場合は、ステップ２４５に進み、伸長された新ｔフレームのデータを第１・ｔフレーム・フレーム変換装置４５３に送り、新ｔフレームのデータを保持してフレーム変換する。このフレーム変換では、前述したように、第１ワークフレーム保持部および第２ワークフレーム保持部を利用したフレーム変換を行う。そして、次の新ｔフレームに対する処理を行うため、ステップ２４１に戻り、ステップ２４１からの処理を続行する。
【０２０１】
また、ステップ２４４の判定で第２・ｔフレーム・フレーム変換装置４５４からの表示中でない場合には、つまり、第２・ｔフレーム・フレーム変換装置４５４が使用中でない場合には、ステップ２４６に進み、伸長された新ｔフレームのデータを第２・ｔフレーム・フレーム変換装置４５４に送り、保持してフレーム変換する。そして、次の新ｔフレームに対する処理を行うため、ステップ２４１に戻り、ステップ２４１からの処理により、新ｔフレームをフラクタル伸長し、フレーム変換するため、第１・ｔフレーム・フレーム変換装置４５３または第２・ｔフレーム・フレーム変換装置４５４に送る処理を続ける。
【０２０２】
なお、ここでの第１・ｔフレーム・フレーム変換装置４５３および第２・ｔフレーム・フレーム変換装置４５４には、１つの伸長された新ｔフレームが送られるのではなく、１６フレームの新ｔフレームが続けて送られ、１６フレームの新ｔフレームが送られ終った時点で、コントローラ４５０からの信号によりフレームに変換され、各フレームが動画ディスプレイ装置４５５に送られる。
【０２０３】
次に、フレーム・ｔフレーム変換装置４４２に設けられる第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂによるフレーム変換について、具体的に説明する。図２５は、第４の実施例のフレーム・ｔフレーム変換装置の構成を説明する図であり、図２６は、第４の実施例の第１ワークフレーム保持部の構成を説明する図である。
【０２０４】
図２５に示すように、第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂは、それぞれ同じ記憶容量を持つ３次元配列の記憶部であり、それぞれ複数枚のフレームを保持することができる記憶容量を備えている。具体的には、図２６に示すように、１６フレームを保持することができる記憶容量を備えている。
【０２０５】
ここでのフレーム変換される単位のフレーム数、すなわち、第１ワークフレーム保持部４４２ａで保持されるフレーム数の“１６”は、フラクタル画像圧縮に使われるドメインブロックのサイズの倍数である。その理由は、第２ワークフレーム保持部４４２ｂに作成される新ｔフレームのデータ（画像データ）が、複数枚（１０枚）のｙ・ｔフレームの画像から構成されることになり、自己相似の高いフレーム画像とすることができるからであり、これにより、フラクタル画像圧縮する際により精度を高めることができる。
【０２０６】
前述したように、フレーム・ｔフレーム変換装置４４２は、第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂを備えており、この第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂを用いて、動画圧縮率を高めるためのフレーム変換を行う。このフレーム変換のため、図２５に示すように、第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂの間は、１２０×８ビットのバス４６０により相互に繋がれている。
【０２０７】
第１ワークフレーム保持部４４２ａにより保持される動画の画像フレームは、１６０×１２０のピクセル（画素）から成り立っており、各画素の座標値（ｘ，ｙ，ｔ）は、その座標のみならず、２５６のグレースケール（８ビットで表現可能な値）の輝度をも表すものとする。この動画データを記憶する記憶領域は、通常のコンピュータシステムのハードディスク装置における記憶領域で代用することも可能であるが、動画の再生動作を実時間で処理するには、データの入出力の時間が遅いので、入出力の速度がより速いＶＬＳＩやＩＣなどのチップで構成されたものを用いる。
【０２０８】
第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂに保持されるデータは、それぞれが３次元配列の記憶領域に保持されるので、その保持部分は、原点を（０，０，０）で表せる。すなわち、第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂは、２つの（ｘ，ｙ，ｔ）＝１６０×１２０×１６の直方体の整数点の座標に、８ビットの記憶素子をもつものから成り立っている。
【０２０９】
別の言葉で述べると、フレーム・ｔフレーム変換装置４４２の第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂは、８ビットからなる記憶素子を１６０×１２０のアレー状に並べたものを、更に、１６セット分を、その（ｘ，ｙ）座標が重なるように並べたものである。その並びの方向をｔ軸とし、ここでの動画のフレームは、フレームに向かって左から右にｘ座標値は増大し、ｙ座標は上から下へ増大するものとする。つまり、各フレーム保持部のアレーの左上の角の座標は、その座標値（ｘ，ｙ，ｔ）＝（０，０，ｔ）、ｔ＝０，１，…，１５である。
【０２１０】
図２７は、第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂにおける各々のアレーの記憶素子の接続状態を説明する図である。図２７に示すように、更に、第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂの各々のアレーにおいて、座標（ｘ，ｙ，ｔ）の記憶素子とそれを囲む座標（ｘ−１，ｙ，ｔ）、座標（ｘ＋１，ｙ，ｔ）、座標（ｘ，ｙ−１，ｔ）、座標（ｘ，ｙ＋１，ｔ）の記憶素子（アレーの端では４記憶素子が無い場合もある）は、８ビットのパラレルバスで繋がれている。また、ｔ軸方向についても、その隣り合った各アレーの同じ座標（ｘ，ｙ，ｔ），座標（ｘ，ｙ，ｔ−１），座標（ｘ，ｙ，ｔ＋１）の記憶素子同士も、８ビットのパラレルバスで繋がれている。
【０２１１】
図２８は、フレーム・ｔフレーム変換装置の第１ワークフレーム保持部の構成を具体的に説明する図であり、図２９は、フレーム・ｔフレーム変換装置の第２ワークフレーム保持部の構成を具体的に説明する図である。また、図３０は、フレーム・ｔフレーム変換装置において第１ワークフレーム保持部の座標点が第２ワークフレーム保持部に写像される座標点を説明する図である。これらの図を参照して説明する。フレーム・ｔフレーム変換装置４４２によるフレーム変換は、コントローラからの開始信号により開始される。処理が開始されると、図２８に示すように、動画供給装置４４１から動画の画像データが一定の間隔で１フレームごとに、フレームバッファ４６１に溜められる。フレームバッファ４６１の座標（ｘ，ｙ）の輝度値は、フレーム・ｔフレーム変換装置の第１ワークフレーム保持部４４２ａのｔ＝０（ｔ軸の座標値が０）のフレームに対応するアレーの座標（ｘ，ｙ）の記憶素子に、そのデータを転送する。このデータ転送は、１６０×１２０の素子にパラレルに転送する。
【０２１２】
そして、次のフレームが読みこまれる前に、１６０×１２０の記憶素子のデータが８ビットのパラレルバスで隣接するアレーの１６０ｘ１２０の記憶素子に送られる。一般的に表現すれば、ｔ軸の方向にデータが転送される。すなわち、ｔ＝ｎ番目のアレーのデータが、ｔ＝ｎ＋１番目のアレーの対応する記憶素子にそのデータが転送される。そして、その後、１フレームが動画供給装置４４１からフレームバッファ４６１を通して最初のアレーに読み込まれる。そして、フレーム変換の単位の１６フレームが読まれる。
【０２１３】
第１ワークフレーム保持部４４２ａに、フレーム変換の単位の１６フレームが読まれると、続いて、その読み出し方向の軸を変えて、ｙ・ｔフレームを読み出し、中間ｔフレームの生成を行う。すなわち、図２９に示すように、フレーム・ｔフレーム変換装置４４２の第１ワークフレーム保持部４４２ａにおいて、ｘ座標の値を固定し、座標（ｙ，ｔ）からなるアレー（Ａ１，Ａ２，Ａ３，…）を、中間ｔフレームとして読み出す。つまり、（ｙ，ｔ）座標を持つフレームのデータ（ｙ・ｔフレーム）を中間ｔフレームとして読み出す。
【０２１４】
具体的には、前述した図２５および図２９に示すように、フレーム・ｔフレーム変換装置の第１ワークフレーム保持部４４２ａにおいて、その座標（０，０，０）、座標（０，１１９，０）、座標（０，０，１５）、座標（０，１１９，１５）で囲まれた部分からなる１枚目のｙ・ｔフレーム（中間ｔフレーム：Ａ１）を読み出し、より正確には、これらの座標で囲まれた座標で表わされている記憶素子の内容の集まりを読み出して、第２ワークフレーム保持部４４２ｂにおいて新ｔフレームを構成する一部分の領域である座標（０，０，０）、座標（０，１１９，０）、座標（１５，０，０）および座標（１５，１１９，０）からなる領域（Ａ１）に送る。
【０２１５】
続いて、第１ワークフレーム保持部４４２ａの第２枚目のｙ・ｔフレーム（中間ｔフレーム：Ａ２）を読み出して、すなわち、座標（１，０，０）、座標（１，１１９，０）、座標（１，０，１５）および座標（１，１１９，１５）からなる２枚目のｙ・ｔフレーム（中間ｔフレーム）を読み出して、第２ワークフレーム保持部４４２ｂにおいて、新ｔフレームを構成する次の一部分の領域である座標（１６，０，０）、座標（１６，１１９，０）、座標（３１，０，０）、座標（３１，１１９，０）からなる領域（Ａ２）に送る。
【０２１６】
この転送処理、第１ワークフレーム保持部４４２ａのｙ・ｔフレーム（中間ｔフレーム）を読み出し第２ワークフレーム保持部４４２ｂにおいて新ｔフレームを構成する一部分の領域に送るデータ転送処理を、１０回繰り返し行い、第２ワークフレーム保持部４４２ｂに１枚の新ｔフレーム４６２を構成する。
【０２１７】
つまり、第２ワークフレーム保持部４４２ｂにおいて、新ｔフレーム４６２を作成する場合には、第１ワークフレーム保持部４４２ａから、複数枚（１０枚）のｙ・ｔフレームを読み出し、ｘ軸の増える方向にｙ・ｔフレームのｔ軸の増える方向を合わせて、新ｔフレームを作成する。この動作を、１枚の新ｔフレームを構成するまで、つまり、Ｉ＝（１６０／１６）＝１０回繰り返す。Ｉはｔフレームのｘ軸のピクセル数をｙ・ｔフレームのｔ軸方向のピクセル数で割ったものである。そうすると、フレーム・ｔフレーム変換装４４２の第２ワークフレーム保持部４４２ｂには、ｔ＝０の座標に新ｔフレーム４６２の一枚が完成する。この場合の第１ワークフレーム保持部４４２ａと第２ワークフレーム保持部４４２ｂとの間の各々の座標点の写像関係は、図３０に示すように、第ｍ番目（０≦ｍ≦Ｉ−１）のｙ・ｔフレームの任意の点、すなわち、座標（ｍ，ｙ，ｔ）の点は、新ｔフレームの座標点（ｍ×１６＋ｔ，ｙ，０）に写像される。なお、第２ワークフレーム保持部４４２ｂにおいて、そのｔ軸は、本来の時間軸（ｔが増えるに従って単調に時間が進む時間軸）とは意味の異なるものであることに注意されるべきである（図２９および図３０参照）。
【０２１８】
更に、同様な動作を、残りのｙ・ｔフレームに対して行い、最終的には１６枚の新ｔフレームが、フレーム・ｔフレーム変換装置４４２の第２ワークフレーム保持部４４２ｂに構成される。フレーム・ｔフレーム変換装置４４２の第２ワークフレーム保持部４４２ｂの１６個のアレーが新ｔフレームで一杯になったところで、その信号がコントローラ４４０に伝えられ、コントローラ４４０からはフレーム・ｔフレーム変換装置４４２に新ｔフレームをフラクタル圧縮装置４４３に転送する信号が送られる。
【０２１９】
フラクタル圧縮装置４４３に対しては、まず、ｔ軸がｔ＝０の新ｔフレームがフラクタル圧縮装置４４３のフレームバッファに送られる。その転送方法は、例えば、動画供給装置４４１のフレームバッファから、フレーム・ｔフレーム変換装置４４２に対して、動画の画像データのフレームが送られる転送方法と同じ方式で送られる。すなわち、ｔ軸がｔ＝０であるアレーの一連の記憶素子の内容をフラクタル圧縮装置４４３のフレームバッファにパラレル転送で移す。次に、ｔ軸がｔ＝Ｔであるような座標（ｘ，ｙ）の記憶素子のデータが、ｔ軸がｔ＝Ｔ−１である座標（ｘ，ｙ）の記憶素子にパラレル転送により移動される。つまり、新ｔフレームおいて、各列のデータをｔ軸の負の方向に一つだけシフトしたものである。この動作（１フレームのデータの転送とシフト）をｔ軸方向のピクセルの数だけ、すなわち、１６回だけ繰り返す。
【０２２０】
フラクタル圧縮装置４４３に新ｔフレームのデータが移動されると、新ｔフレームのデータは、フラクタル圧縮装置４４３によってフラクタル圧縮化される。ここでの圧縮方法は、公知の技術のものを利用する。例えば、この明細書で従来の技術として説明し、先に参照したJacquinの論文や、Yuval Fisher編著の論文の中に記述されている「ドメインブロックとレンジブロックの比較を利用する方法」などを利用する。フラクタル圧縮化されたものは、フラクタル化動画蓄積装置４４４で保持される。この新ｔフレームのデータ転送処理、および、そのフラクタル圧縮化の処理は、フレーム変換の処理の単位が、新ｔフレームの数、すなわち、１６枚のフレーム数となっており、それぞれに１６回が繰り返される。
【０２２１】
このようにして、新ｔフレームにフレーム変換して、フラクタル圧縮することにより、動画データは更に高い圧縮率により圧縮される。ここでは、動画データが時間軸に対して冗長度が高いことに注目して圧縮しており、更に、新ｔフレーム変換されたフレームの画像データは、ｔ軸に対して更に冗長度が高いことに注目して圧縮している。画像をｔ軸に垂直な方向から眺めると、その冗長性のために、ｙ・ｔフレームの画像は異なった輝度のストライプと時折その輝度が変化するのが見られる。この場合、ｙ・ｔフレームが横方向に１０枚並べられて新ｔフレームが構成されており、この新ｔフレームは更に自己相似形の高い画像となっている。これにより、新ｔフレームをフラクタル圧縮することにより、これまでより更に圧縮率の高い圧縮画像が得られる。
【０２２２】
次に、新ｔフレームに変換されて、フラクタル圧縮された画像を伸長し復号する場合の処理過程について、具体例に基づき説明する。この場合において、前述した図２２に示す動画伸長装置、および、図２４により説明した動画伸長処理のフローチャートを参照する。圧縮された動画データを伸長して再生する場合は、圧縮処理と違って、伸長され再生される動画の画像は、途切れなくディスプレイ装置に送られなくてはならない。このため、ｔフレーム・フレーム変換装置は、デュアル構成とされ、ディスプレイ装置に再生されるフレームのコマ落ちを防ぐように構成される。
【０２２３】
この場合に、第１・ｔフレーム・フレーム変換装置４５３および第２・ｔフレーム・フレーム変換装置４５４は、同じ構成のハードウェアで実現される。これらは、また、動画圧縮装置におけるフレーム・ｔフレーム変換装置４４２とも、同じ構成のハードウェアのとなっている。第１・ｔフレーム・フレーム変換装置４５３および第２・ｔフレーム・フレーム変換装置４５４は、フレーム・ｔフレーム変換装置４４２と同様に、それぞれ第１ワークフレーム保持部および第２ワークフレーム保持部を有している。
【０２２４】
動画データの伸長処理では、フラクタル圧縮化動画蓄積装置４５１から一つの圧縮された新ｔフレームをフラクタル画像伸長装置４５２に送り、フラクタル伸長装置４５２により、圧縮データを伸長して、新ｔフレームを作成し、例えば、第２・ｔフレーム・フレーム変換装置４５４の第２ワークフレーム保持部に格納する。これを１６回繰り返し、第２ワークフレーム保持部のｔ軸方向に１６枚の新ｔフレームが格納されると、この１６枚のｔフレームから、中間ｔフレームを作る過程の逆のデータ転送を行い、元のフレームを再生する。
【０２２５】
すなわち、第２・ｔフレーム・フレーム変換装置４５４の第２ワークフレーム保持部の座標（０，０，０）、座標（０，１１９，０）、座標（１５，０，０）および（１５，１１９，０）で囲まれたフレームの一部を、第２・ｔフレーム・フレーム変換装置４５４の第１ワークフレーム保持部の座標（０，０，０）、座標（０，１１９，０）、座標（０，０，１５）および座標（０，１１９，１５）の座標で囲まれた領域、いわゆる第１番目のｙ・ｔフレームの部分に転送する。同様にして、続いて、第２・ｔフレーム・フレーム変換装置４５４の第２ワークフレーム保持部の座標（１６，０，０），座標（１６，１１９，０），座標（３１，０，０）および座標（３１，１１９，０）で囲まれた領域のフレームの次の一部を、第２・ｔフレーム・フレーム変換装置４５４の第１ワークフレーム保持部の座標（１，０，０）、座標（１，１１９，０）、座標（１，０，１５）および座標（１，１１９，１５）の座標で囲まれた領域、いわゆる第２番目のｙ・ｔフレームに転送する。この動作を１６枚の新ｔフレーム全てについて行う。
【０２２６】
これにより、最終的に第２・ｔフレーム・フレーム変換装置４５４の第１ワークフレーム保持部に、１６０枚のｙ・ｔフレームができ、このｙ・ｔフレームの同じ情報を（ｘ，ｙ）軸で見れば、ｔ軸方向に１６枚の元のフレームが再合成されている。
【０２２７】
第１・ｔフレーム・フレーム変換装置４５３または第２・ｔフレーム・フレーム変換装置４５４のどちらの変換装置が、再合成されたフレームを出力しているかを判断し、使われていない方に、フラクタル伸長装置４５２は、次の伸長されたフレーム変換の単位の１６枚の新ｔフレームを送る。
【０２２８】
最初の１６枚の新ｔフレームは、伸長された後、どちらの変換装置も使われていないので、第１・ｔフレーム・フレーム変換装置４５３の第２ワークフレーム保持部に送る。データの転送方法は、前述したように、動画供給装置４４１から動画の画像データのフレームが、フレーム・ｔフレーム変換装置４４２に送られるデータ転送方法と同じである。
【０２２９】
伸長された新ｔフレームの１６枚のフレームを第１・ｔフレーム・フレーム変換装置４５３の第２ワークフレーム保持部におき、更に、その新ｔフレームからｙ・ｔフレームだけ切りだして、第１ワークフレーム保持部に移す。このフレーム変換の処理過程は、動画の画像データのフレームを圧縮する時に、ｙ・ｔフレームを幾つかならべ、フレーム・ｔフレーム変換装置４４２の第２ワークフレーム保持部に新ｔフレームを生成した過程とは、逆の処理過程である。
【０２３０】
１６枚の元の動画の画像データのフレームが生成された後、そのフレームを動画ディスプレイ装置４５５に送る。そして、送られてきたフレームを動画ディスプレイ装置４５５が表示する。第１・ｔフレーム・フレーム変換装置４５３からフレームを送り出している間、第２・ｔフレーム・フレーム変換装置４５４に伸長された新ｔフレームが格納され、第１・ｔフレーム・フレーム変換装置４５３から生成されたフレームが全て送り出されれば、コントローラ４５０は、第２・ｔフレーム・フレーム変換装置４５４に信号を送り、そこから、次の合成されたフレームが動画ディスプレイ装置４５５に送られて表示される。
【０２３１】
新ｔフレームの伸長処理と、フレーム変換された画像データのフレームを動画ディスプレイ装置４５５に送ることは、第１・ｔフレーム・フレーム変換装置４５３および第２・ｔフレーム・フレーム変換装置４５４で交互に行われ、伸長される新ｔフレームがなくなるまで続けられる。
【０２３２】
新ｔフレームとしてフラクタル圧縮すること（以下、ｔフラクタル化と略称する）による効果は次の通りである。動画の画像は、一般的には、例えば、大部分が背景で静止しており、画像の対象が少し動いている場合、また、背景も対象物もゆっくり動いている場合、または、景色など画面全体が動いている場合が殆どであり、背景と対象物が激しく動いている場合は少ない。その理由は、普通、カメラは被写体の動きにしたがって、それを追跡するようにその方向を変えるからである。したがって、画像の任意の点、すなわち、座標（ｘ，ｙ）の点を時間軸（ｔ軸）の方からみた場合、短い時間に限って見れば、大部分の輝度は変化がない。特に、中心的な被写体の輝度は変化がない。これは、ｙ・ｔフレームの上では、同じ領域に対応する所は殆ど同じ輝度であるので、同じ輝度のものがｔ軸方向に対して、ストライプ状をなして時折輝度を変えながら見えるということである。このような画像は、フラクタル圧縮すると、高い圧縮率で圧縮される。
【０２３３】
更に、新ｔフレームは、複数枚（１０枚）の（ｘ座標軸が隣接する）ｙ・ｔフレームの繰り返しで構成されているので、新ｔフレームは自己相似形の多い画像となっており、フラクタル圧縮がなされると、更に圧縮度が高くなる効果を奏する。なお、この新ｔフレームの圧縮に、既存の圧縮方法、例えば、ベクトル量子化法やＤＣＴ変換を利用するようにしても良い。
【０２３４】
この第４の実施例の動画圧縮装置および動画伸長装置の各々のシステム要素をソフトウェア構成により実験的に実装し、その場合のフラクタル画像圧縮のための処理装置としては、既存のソフトウエアを利用した。これによると、複数枚のｙ・ｔフレーム、すなわち、新ｔフレーム内に所謂シーンの変わり目がなければ、雑音の少ない画像圧縮が可能であることが確認された。
【０２３５】
（第５の実施例）
また、圧縮率を高めるための更に別の変形として、前述した第４の実施例の動画圧縮装置において、中間ｔフレームから新ｔフレームを合成する際に、フレーム内の隣接する列ベクトルの類似性を検査し、その冗長性を省くように変形することにより、更に圧縮率を高められる。この場合、その具体的な変形では、フレーム内の隣接する列ベクトルの類似性を検査し、もし隣接する列ベクトルが許容以下の近さの場合、２番目のベクトルを捨て、１番目のベクトルのカウンタを１だけ増やすように構成する。このような実施例について、第５の実施例として説明する。
【０２３６】
すなわち、第５の実施例の動画圧縮装置は、第４の実施例の動画圧縮装置に、列ベクトル比較装置および各列ベクトルに８ビットの付加情報を付加するように変形することにより構成される。これらの変形は、フレーム・ｔフレーム変換装置４４２の内部に実現される。
【０２３７】
第５の実施例の動画圧縮装置では、ｔフレーム・フレーム変換装置４４２の第２ワークフレーム保持部４４２ｂの３次元配列の記憶領域（直方体）において、そのｙ軸方向の記憶素子を１つだけ増やしたものとする。つまり、ｙ軸の長さを１だけ増やして、この方向のフレームの画素数を“１２１”とする。
【０２３８】
具体的には、第１ワークフレーム保持部および第２ワークフレーム保持部の３次元配列の記憶領域の座標（ｘ，ｙ，１２０）の記憶素子において、そのフレームの冗長性を列ベクトルとして記憶するように構成する。すなわち、列ベクトル「座標（ｘ，ｙ，１２０），ｙ＝０，…，１１９」に、そのフレームの冗長性を記憶するように構成する。
【０２３９】
この冗長性（類似性）は、元のｙ・ｔフレームにおいて、その列ベクトルから誤差の範囲内での同じベクトルの並びの数（もし、なければ“１”）が記憶される。ここでの隣接する列ベクトルの比較処理は、ｙ・ｔフレームから新ｔフレームに変換するため、第１ワークフレーム保持部から第２ワークフレーム保持部４４２ｂに、データを転送される際に行われる。
【０２４０】
図３１は、列ベクトルの比較装置の構成例を示すブロック図である。図３１に示すように、列ベクトル比較装置は、コントローラ５１０、シフトレジスタ５１１、Ｒ２レジスタ５１２、Ｒ１レジスタ５１３、加算回路５１４、差分回路５１５、許容誤差設定部５１６、カウンタ５１７およびクロック回路５１８から構成される。
【０２４１】
Ｒ１レジスタ５１３およびＲ２レジスタ５１２は、それぞれフレームの列ベクトルを構成する１２０の要素データを保持する各８ビットの記憶素子から構成されている。また、Ｒ１レジスタ５１３およびＲ２レジスタ５１２の２つのレジスタにより差分回路を構成する。この差分の結果は、次にシフトレジスタ５１１に入れられて二乗される。また、二乗された差分の結果が、シフトレジスタ５１１によりシフトされて順次に加算回路５１４に送られて加算される。そして、差分回路５１５に送られ、差分回路５１５によって、許容誤差設定部５１６に設定されている誤差の許容値Ｅと比較される。この比較結果は、カウンタ５１７においてカウントされる。つまり、許容誤差の範囲の列ベクトルの要素がカウントされる。これらの演算動作は、クロック回路５１８およびコントローラ５１０によって、動作のタイミングが制御される。
【０２４２】
このように構成されている列ベクトル比較装置による比較のアルゴリズムについて説明する。図３２は、列ベクトルの比較装置による比較処理のアルゴリズムを説明するフローチャートである。この図３２に示す比較アルゴリズムは、ｙ・ｔフレームの一つについての手続きを示している。
【０２４３】
図３２を参照して説明する。処理を開始すると、ステップ３２０１において、カウンタを“０”にリセットし、Ｒ１レジスタ５１３に比較対象の列ベクトルとなるｙ・ｔフレームの第一列をセットする。次に、ステップ３２０２において、ｙ・ｔフレームの未検査の列ベクトルがあるか否かを判定する。未検査の列ベクトルがない場合には、これまでの処理で列ベクトルの比較処理は終了したので、ステップ３２０３に進み、処理結果のＲ１レジスタおよびカウンタの内容を、ｔフレーム・フレーム変換装置の第２ワークフレーム保持部に出力して処理を終了する。
【０２４４】
また、ステップ３２０２の判定処理において、未検査の列ベクトルがある場合には、ステップ３２０４に進み、Ｒ２レジスタに次の列ベクトルをセットする。そして、次のステップ３２０５において、Ｒ１レジスタおよびＲ２レジスタにそれぞれセットされた列ベクトルの差分を取り、シフトレジスタにより二乗し、更に、その内容を加算して総和ｓｕｍを得る。そして、次のステップ３２０６において、総和ｓｕｍが許容誤差Ｅの範囲に入っているか否かを判定する。総和ｓｕｍが許容誤差Ｅの範囲に入っている場合には、ステップ３２０７に進み、２つ目の列ベクトル（Ｒ２レジスタにセットした内容）を破棄し、カウンタの値を１増やす。そして、次の列ベクトルに対する処理を行うため、ステップ３２０２に戻り、ステップ３２０２からの処理を繰り返し行う。
【０２４５】
また、ステップ３２０６の判定処理において、総和ｓｕｍが許容誤差Ｅの範囲に入っていない場合には、ステップ３２０８に進み、Ｒ１レジスタおよびカウンタの内容を、ｔフレーム・フレーム変換装置の第２ワークフレーム保持部に出力すると共に、Ｒ２レジスタにセットした内容をＲ１レジスタに移動させ、カウンタを“０”にリセットして、そして、次の列ベクトルに対する処理を行うため、ステップ３２０２に戻り、ステップ３２０２からの処理を繰り返し行う。
【０２４６】
このように、ここでの列ベクトルの比較処理では、未検査の列ベクトルがあるかどうかを調べ、なければ、Ｒ１レジスタとカウンタの内容をｔフレーム・フレーム変換装置の第２ワークフレーム保持部に移す。すなわち、Ｒ１レジスタの内容を第２ワークフレーム保持部の最初の使われていない列ベクトルに、また、その列ベクトルと同じｘ座標とｔ座標のｙ＝１２０の座標値の記憶素子にカウンタの内容を転送する。まだ、未検査の列ベクトルがあれば、次の列ベクトルを、第１ワークフレーム保持部に保持されているｙ・ｔフレームからＲ２レジスタに移し、Ｒ１レジスタとＲ２レジスタの差分、つまり、列ベクトルの差分をｙ座標毎にとって二乗して、その総和ｓｕｍを得る。そして、差分の総和ｓｕｍが許容値Ｅより小さいか調べる。
【０２４７】
もし、二つのベクトルの差分の二乗の総和ｓｕｍが、所定の閾値Ｅ以下であれば、２つ目の列ベクトルを破棄し、カウンタの値を１増やし、そうで無ければ、１つ目の列ベクトルとカウンタの内容を、第２ワークフレーム保持部に送る。また、２つ目の列ベクトルを次の比較対象ベクトルとして、Ｒ１レジスタにセットする。すなわち、Ｒ２レジスタの内容をＲ１レジスタに移す。そして、次の列ベクトルがあるかどうかを判断する手続きに戻る。
【０２４８】
なお、ここでのカウンタの内容は、フラクタル画像圧縮の対象とならない（他の圧縮方法による適用可能である）。フレーム・ｔフレーム変換装置の第２ワークフレーム保持部のｔフレームの集まりを、フラクタル画像圧縮したものと、このカウンタの内容は一塊として記憶装置に保存される。
【０２４９】
また、このように作成され、第２ワークフレーム保持部に保持される新ｔフレームにおいては、同じ輝度の列ベクトルは冗長なく記憶されることになる。フレーム・ｔフレーム変換装置の第２ワークフレーム保持部では、サイズ１６０×１２０の１つの新ｔフレームが、第１番目の格納場所に作成されしだい、次の新ｔフレームの格納場所に次のデータが記憶される。
【０２５０】
ところで、画像を圧縮する処理の一形態として、例えば、特開平５―２８９６５０号公報の記載によると、複数のフレームから列ベクトルをサンプリングし、画像の要約を作る試みがなされている。図３３は、画像の要約を作成する場合の問題点を説明する図である。ここでのサンプリングは、隣接する複数のフレーム（フレームのシーケンス）からなる直方体を、上からみて斜め切りしたようなものである。つまり、この方法によると、図３３に示すように、斜め切りされたサンプリング列の前部分（Ａ部分）と後の部分（Ｂ部分）で示されている部分で、イベントが発生し、かつ消滅したものについては、全くこのサンプリングに現れないという問題点を有している。
【０２５１】
前述した第５の実施例の動画圧縮装置において、作成されるｔフレームは、フレームの列ベクトル全てを埋め尽くし、冗長のあるもののみが破棄されているので、全てのイベントを記録することができており、例えば、前述した公報に記載のように、画像の要約を作成する際にも、その欠点を補える。更に、許容誤差の値Ｅを変えることによって、イベントの抽出をコントロールすることができる。つまり、許容誤差の値Ｅが小さければ、マイナーな出来事まで抽出でき、許容誤差の値Ｅが大きければ、大きな出来事のみが抽出されるようにできる。
【０２５２】
このように、本発明の第５の実施例の動画圧縮装置によれば、隣接する列ベクトルの冗長性がとり除かれるているので、更に高い圧縮率を達成できる。また、画像の要約を生成することができ、その要約に現れるイベントの大きさを選択することもできる。
【０２５３】
（第６の実施例）
また、更に別の圧縮率を高めるための変形として、前述した第４の実施例の動画圧縮装置において、中間ｔフレームから新ｔフレームを合成する際に、中間ｔフレームのｔ軸の方向を新ｔフレームのｘ軸の方向に対し、交互に反転させてから、新ｔフレームを合成する。これにより、複数枚の中間ｔフレームから新ｔフレームを合成する際のフレームの間のつながりの不連続性を少なくでき、特に第４の実施例のように、人工的に発生する輝度の変化を軽減でき、更に圧縮率を高められる。このような変形例について、第６の実施例として説明する。
【０２５４】
この第６の実施例の動画圧縮装置を具体的に実現する構成では、前述した第４の実施例の動画圧縮装置（図２１）のフレーム・ｔフレーム変換装置４４２の一部を変形するだけでよい。
【０２５５】
つまり、第４の実施例の動画圧縮装置のフレーム・ｔフレーム変換装置４４２において、第１ワークフレーム保持部４４２ａから、その複数枚のｙ・ｔフレームを中間ｔフレームとして、第２ワークフレーム保持部４４２ｂにデータ転送する際、データ転送の順番で偶数番目のｙ・ｔフレームの転送の際に反転操作を加えればよい。
【０２５６】
具体的には、第１ワークフレーム保持部４４２ａから、その最初のｙ・ｔフレームとして、座標（０，０，０）、座標（０，１１９，０），座標（０，０，１５）および座標（０，１１９，１５）で囲まれた領域のフレームを読み出して、第２ワークフレーム保持部４４２ｂの新ｔフレームを構成する一部分の領域である座標（０，０，０）、座標（０，１１９，０）、座標（１５，０，０）、座標（１５，１１９，０）からなる領域にデータ転送する場合は、前述した第４の実施例と同様であるが、続いて、第２番目のｙ・ｔフレームとして、座標（１，０，０）、座標（１，１１９，０）、座標（１，０，１５）および座標（１，１１９，１５）で囲まれた領域のフレームを読み出した場合には、第２ワークフレーム保持部４４２ｂにおいては、新ｔフレームを構成する次の一部分の領域である座標（３１，０，０）、座標（３１，１１９，０）および座標（１６，０，０）、座標（１６，１１９，０）からなる領域に送る。つまり、２番目のｙ・ｔフレームは、時間軸の減る方向にその列ベクトルが第２ワークフレーム保持部４４２ｂに送られる（図２９参照）。
【０２５７】
したがって、第１番目の中間ｔフレーム（ｙ・ｔフレーム）と第２番目の中間ｔフレーム（ｙ・ｔフレーム）は、時間軸について逆方向に記憶される。以下、同様にして、第１ワークフレーム保持部からの複数枚のｙ・ｔフレームを第２ワークフレーム保持部の新ｔフレームの一部の領域に記憶させる際には、その時間軸の向きを交互に反転させて記憶させる。一般的に表現すれば、第１ワークフレーム保持部の第ｍ番めのｙ・ｔフレームの座標点（ｍ，ｙ，ｔ）は、第２ワークフレーム保持部の新ｔフレームの座標点（ｍ×１６＋１６−ｔ，ｙ，０）の座標点に写像されるようにする（図３０参照）。
【０２５８】
このようにして作成された第６の実施例の新ｔフレームは、第４の実施例のそれとに比べ、輝度がそれぞれのｙ・ｔフレームの変わり目で急激な変化がないように作成されている。例えば、ｘ軸の座標ｘ＝１５とｘ＝１６の境界は、元々のｙ・ｔフレームではｔ＝１５に対応する通常のフレームにおいて隣接する座標ｘ＝１５と座標ｘ＝１６の列ベクトルの輝度であるので、急激な変化がない。同様にして、座標ｘ＝３１と座標ｘ＝３２の境界に於いても、元々のフレームではｔ＝３１に対応する通常のフレームにおいて隣接する座標ｘ＝３１と座標ｘ＝３２の列ベクトルの輝度であるので、新ｔフレームおいて、この境界で輝度が急激に変わることがない。実験の結果、第４の実施例のように、全てのｙ・ｔフレームが一方的に時間増える方向に並べられて、新ｔフレームを構成している場合に比べ、統計的に有意の差で、誤差の少ないフラクタル画像圧縮ができた。
【０２５９】
このように、第６の実施例においては、第４の実施例に比べ、中間ｔフレームを新ｔフレームに入れる際、その時間軸方向を、交互にその方向を変えることによって、常に時間軸方向に入れる場合に比べて、新ｔフレーム内に人工的なエッジが生じるのを防いでいる。この結果、輝度の急激な変化の少ないｔフレームが生成され、より多くのブロックの比較ができ、これにより、より精度の高い圧縮が可能になる。
【図面の簡単な説明】
【図１】  図１は本発明の動画圧縮伸長装置の第１の実施例にかかる動画圧縮装置の構成を示すブロック図、
【図２】  図２は本発明の動画圧縮伸長装置の第１の実施例にかかる動画伸長装置の構成を示すブロック図、
【図３】  図３はコントローラ１１０による動画データのフラクタル圧縮の動作の流れを示すフローチャート、
【図４】  図４はコントローラ１２０の制御による動画データの伸長の処理の動作の流れを示すフローチャート、
【図５】  図５はコントローラ１２０の制御による動画データの再生処理の動作の流れを示すフローチャート、
【図６】  図６は本発明の動画圧縮伸長装置の第２の実施例にかかる動画圧縮装置の構成を示すブロック図、
【図７】  図７は本発明の動画圧縮伸長装置の第２の実施例にかかる動画伸長装置の構成を示すブロック図、
【図８】  図８はコントローラ２２０の制御動作による動画データのフラクタル圧縮動作の処理の流れを示すフローチャート、
【図９】  図９はコントローラ２２０の制御による動画データの伸長の処理の動作の流れを示すフローチャート、
【図１０】  図１０はコントローラ２２０の制御による動画データの再生処理の動作の流れを示すフローチャート、
【図１１】  図１１は本発明の動画圧縮伸長装置の第３の実施例にかかる動画圧縮装置の構成を示すブロック図、
【図１２】  図１２は本発明の動画圧縮伸長装置の第３の実施例にかかる動画伸長装置の構成を示すブロック図、
【図１３】  図１３は第３の実施例の動画圧縮処理の要部の処理フローを示すフローチャート、
【図１４】  図１４はコントローラ３２０の制御動作にかかる動画伸長処理を示すフローチャート、
【図１５】  図１５はコントローラ３２０の制御動作にかかる動画再生処理を示すフローチャート、
【図１６】  図１６はフレーム・ｔフレーム変換装置の記憶領域の全体の構成を説明する図、
【図１７】  図１７はフレーム・ｔフレーム変換装置内の記憶素子の構成の説明図、
【図１８】  図１８はフレーム・ｔフレーム変換装置の記憶領域のｙ・ｔフレームの構成を説明する図、
【図１９】  図１９は動きブロックに対応してｔフレーム変換するための仮想直方体を形成するｙ・ｔフレームの概念を説明する図、
【図２０】  図２０は、フラクタル圧縮の原理を説明するドメインブロックおよびレンジブロックの関係を示す図である。
【図２１】  図２１は本発明の動画圧縮伸長装置の第４の実施例にかかる動画圧縮装置の構成を示すブロック図、
【図２２】  図２２は本発明の動画圧縮伸長装置の第４の実施例にかかる動画伸長装置の構成を示すブロック図、
【図２３】  図２３は動画圧縮装置における圧縮処理の処理フローを示すフローチャート、
【図２４】  図２４は動画伸長装置における伸長処理の処理フローを示すフローチャート、
【図２５】  図２５は第４の実施例のフレーム・ｔフレーム変換装置の構成を説明する図、
【図２６】  図２６は第４の実施例の第１ワークフレーム保持部の構成を説明する図、
【図２７】  図２７は第１ワークフレーム保持部４４２ａおよび第２ワークフレーム保持部４４２ｂにおける各々のアレーの記憶素子の接続状態を説明する図、
【図２８】  図２８はフレーム・ｔフレーム変換装置の第１ワークフレーム保持部の構成を具体的に説明する図、
【図２９】  図２９はフレーム・ｔフレーム変換装置の第２ワークフレーム保持部の構成を具体的に説明する図、
【図３０】  図３０はフレーム・ｔフレーム変換装置において第１ワークフレーム保持部の座標点が第２ワークフレーム保持部に写像される座標点を説明する図である。
【図３１】  図３１は列ベクトルの比較装置の構成例を示すブロック図、
【図３２】  図３２は列ベクトルの比較装置による比較処理のアルゴリズムを説明するフローチャート、
【図３３】  図３３は画像の要約を作成する場合の問題点を説明する図である。
【符号の説明】
１１０…はコントローラ、１１１…動画供給装置、１１２…フレーム・ｔフレーム変換装置、１１３…フラクタル圧縮装置、１１４…フラクタル圧縮化動画蓄積装置、１２０…コントローラ、１２１…フラクタル圧縮化動画蓄積装置、１２２…フラクタル伸長装置、１２３…第１・ｔフレーム・フレーム変換装置、１２４…第２・ｔフレーム・フレーム変換装置、１２５…動画ディスプレイ装置、２１０…コントローラ、２１１…動画供給装置、２１２…フレーム・ｔフレーム変換装置、２１３…フラクタル圧縮装置、２１４…フラクタル圧縮化動画蓄積装置、２１５…動きブロック検出装置、２２０…コントローラ、２２１…フラクタル圧縮化動画蓄積装置、２２２…フラクタル伸長装置、２２３…第１・ｔフレーム・フレーム変換装置、２２４…第２・ｔフレーム・フレーム変換装置、２２５…動画ディスプレイ装置、３１０…コントローラ、３１１…動画供給装置、３１２…フレーム・ｔフレーム変換装置、３１３…フラクタル圧縮装置、３１４…フラクタル圧縮化動画蓄積装置、３１５…動きブロック検出装置、３１６…輝度変化検出装置、３２０…コントローラ、３２１…フラクタル圧縮化動画蓄積装置、３２２…フラクタル伸長装置、３２３…第１・ｔフレーム・フレーム変換装置、３２４…第２・ｔフレーム・フレーム変換装置、３２５…動画ディスプレイ装置、３２６…輝度変化復号装置、４４０…コントローラ、４４１…動画供給装置、４４２…フレーム・ｔフレーム変換装置、４４２ａ…第１ワークフレーム保持部、４４２ｂ…第２ワークフレーム保持部、４４３…フラクタル圧縮装置、４４４…フラクタル圧縮化動画蓄積装置、４５０…コントローラ、４５１…フラクタル圧縮化動画蓄積装置、４５２…フラクタル伸長装置、４５３…第１・ｔフレーム・フレーム変換装置、４５４…第２・ｔフレーム・フレーム変換装置、４５５…動画ディスプレイ装置、５１０…コントローラ、５１１…シフトレジスタ、５１２…Ｒ２レジスタ、５１３…Ｒ１レジスタ、５１４…加算回路、５１５…差分回路、５１６…許容誤差設定部、５１７…カウンタ、５１８…クロック回路。
【図１】
0003716570.tif 000004
【図２】
0003716570.tif 000005
【図３】
0003716570.tif 000006
【図４】
0003716570.tif 000007
【図５】
0003716570.tif 000008
【図６】
0003716570.tif 000009
【図７】
0003716570.tif 000010
【図８】
0003716570.tif 000011
【図９】
0003716570.tif 000012
【図１０】
0003716570.tif 000013
【図１１】
0003716570.tif 000014
【図１２】
0003716570.tif 000015
【図１３】
0003716570.tif 000016
【図１４】
0003716570.tif 000017
【図１５】
0003716570.tif 000018
【図１６】
0003716570.tif 000019
【図１７】
0003716570.tif 000020
【図１８】
0003716570.tif 000021
【図１９】
0003716570.tif 000022
【図２０】
0003716570.tif 000023
【図２１】
0003716570.tif 000024
【図２２】
0003716570.tif 000025
【図２３】
0003716570.tif 000026
【図２４】
0003716570.tif 000027
【図２５】
0003716570.tif 000028
【図２６】
0003716570.tif 000029
【図２７】
0003716570.tif 000030
【図２８】
0003716570.tif 000031
【図２９】
0003716570.tif 000032
【図３０】
0003716570.tif 000033
【図３１】
0003716570.tif 000034
【図３２】
0003716570.tif 000035
【図３３】
0003716570.tif 000036