(57)【要約】【課題】一画面を構成する画像（圧縮データ）を適宜読み出して復号化し、少ないメモリで再構成する。また、直交変換によるブロック歪を除去する。【解決手段】一画面を構成する画像を８×８のブロックに分割し、それぞれＤＣＴにより圧縮する。この圧縮された画像データを復号する際、８×８のブロック２×２を単位として順次読み出し、Ａ側メモリ４７ｃ，Ｂ側メモリ４７ｄの一方に、走査線に沿って配列する。他方の側のメモリからは、走査線に従ってデータを読み出す。１６ライン内に含まれるブロック間に生じる歪は、縦方向については、まずメモリに書き込む前に加重平均を取って除去し、横方向については表示のために読み出すとき除去する。１６ラインを単位とする領域間のブロック歪は、Ａ側メモリ４７ｃからの最後のラインの読み出し時に、Ｂ側メモリ４７ｄの最初のラインを読み出すことで除去する。【選択図】　　　　図１１
2004048727.tif 000002
【特許請求の範囲】
【請求項１】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として符号化された圧縮データから、画像データを復号する画像復号化装置であって、
前記ブロックを単位として符号化された前記圧縮データを、画像を構成する一方向に沿って入力する圧縮データ入力手段と、
該入力された圧縮データを復号し、前記ブロックに対応した画像データを得る復号化手段と、
該復号された画像データを順次記憶し、前記一方向に沿った圧縮データについての復号化が完了したとき、復号化された前記画像データを、少なくともｎライン分のデータとして読み出し可能に構成する記憶手段と、
前記復号化とは異なるタイミングで、前記ｎライン分のデータを、ラインを単位として読み出す読出手段と
を備えた画像復号化装置。
【請求項２】
請求項１記載の画像復号化装置であって、
前記記憶手段が、復号化された画像データを、前記一方向に沿った圧縮データの２列分についての復号化が完了したとき、復号化された前記画像データを、２×ｎライン分のデータとして読出可能に構成する手段である画像復号化装置。
【請求項３】
請求項１または２記載の画像復号化装置であって、
前記記憶手段を、前記一方向に沿った全圧縮データについて交互に動作するよう２つ設け、
前記読出手段は、非動作中の記憶手段から、画像データの読出を行なう手段である
画像復号化装置。
【請求項４】
請求項１記載の画像復号化装置であって、
読出手段による画像データの読出タイミングにおいて、前記記憶手段が復号化された画像データの構成を完了していない場合には、復号化中の圧縮データについての画像データを無効データまたは透明データとする手段、もしくは読み出しを禁止する手段を備えた画像復号化装置。
【請求項５】
請求項１記載の画像復号化装置であって、
前記復号化手段は、
復号方式の異なる２以上の復号手段と、
前記圧縮データ内に記録された復号化方式の情報に基づいて、該方式の異なる２以上の復号手段の一つを起動する復号起動手段と
を備えた画像復号化装置。
【請求項６】
請求項５記載の画像復号化装置であって、
前記復号手段のひとつは、画像データをｎ×ｎドットのブロック毎に直交変換したデータをゼロが続く長さと数値データとに分けてハフマン符号化を用いて符号化した圧縮データに対応し、該圧縮データを復号する手段であり、
前記復号手段の他の一つは、画像データをその色を表わす数値とその色が続く長さの組合わせとしこれをランレングス符号化によって符号化した圧縮データに対応し、該圧縮データを復号する手段である
画像復号化装置。
【請求項７】
請求項１記載の画像復号化装置であって、
前記読出手段は、外部表示装置の同期信号に同期して、復号された画像データの１ライン分を読み出す同期読出手段を備え、
該同期読出手段に、該同期信号との同期のタイミングを設定する同期タイミング設定手段を備えた
画像復号化装置。
【請求項８】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として符号化された圧縮データから、画像データを復号する画像復号化装置であって、
前記ブロックを単位として符号化された前記圧縮データを、表示装置の走査線方向に沿って入力する入力回路と、
該読み出された圧縮データを復号し、前記ブロックに対応した画像データを得る復号器と、
該復号されたｎ×ｎの画素からなる画像データを、前記走査線方向に沿って配列し、少なくともｎライン分のデータとして読み出し可能に記憶するメモリと、
前記復号化による前記メモリへのデータの記憶より遅い読み出し速度で、前記ｎライン分のデータから、前記表示装置の走査線に従って各画素のデータを読み出す読出回路と
を備えた画像復号化装置。
【請求項９】
請求項８記載の画像復号化装置であって、
前記メモリは、同一の構成を少なくとも２組有し、
ｎ×ｎの画素からなる画像データを走査線方向に一列分、該一つのメモリに記憶させ、次の走査線方向の一列分は他のメモリに記憶させるメモリ切替回路を備えると共に、
前記読出回路は、一方のメモリに記憶している間は他方のメモリから、各ラインのデータを読み出す読出切替回路を備える
画像復号化装置。
【請求項１０】
予め蓄積された画像を動的に再生し、表示装置に表示する画像再生装置であって、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として符号化された圧縮データを記憶する圧縮データ記憶手段と、
前記記憶された圧縮データを、画像を構成する一方向に沿って入力する圧縮データ入力手段と、
該入力された圧縮データを復号し、前記ブロックに対応した画像データを得る復号化手段と、
該復号された画像データを順次記憶し、前記一方向に沿った圧縮データについての復号化が完了したとき、復号化された前記画像データを、少なくともｎライン分のデータとして読み出し可能に構成する復号データ記憶手段と、
前記表示装置の表示タイミングに合わせて、前記復号データ記憶手段に構成されたｎライン分のデータを、順次読み出す読出手段と、
を備えた画像再生装置。
【請求項１１】
請求項１０記載の画像再生装置であって、
前記圧縮データ入力手段による圧縮データの入力または前記読出手段によるデータの読み出しを、前記圧縮データ記憶手段に記憶された情報により制御する再生制御手段を備えた画像再生装置。
【請求項１２】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として否可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
画像を構成する一方向に沿って復号されたｎライン分の該画像データを記憶する第１のメモリと、この画像データに隣接したｎライン分の画像データを記憶する第２のメモリとを備え、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう演算処理部を設けたブロック歪除去フィルタ。
【請求項１３】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として否可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
前記復号された画像データを、画像を構成する一方向に沿ったｍブロック分（ｍは値１以上の整数）、２列以上を基本単位として扱うものとし、
該画像データのブロックを単位とする読み出しにおいては、列方向を優先的な読み出し方向として読み出す読出手段と、
該隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶する最終ラインデータ記憶手段と、
次のブロックの最初のラインのデータの読み出し時に、該最初のラインのデータと前記最終ラインデータ記憶手段に記憶された最終ラインのデータと、画素単位で所定のフィルタ演算を行なう演算処理部と
を備えたブロック歪除去フィルタ。
【請求項１４】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として否可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
前記復号された画像データを、画像を構成する一方向に沿ったｍブロック分（ｍは値１以上の整数）、２列以上を基本単位として扱うものとし、
該画像データブロックを単位とする読み出しにおいては、列方向を優先的な読み出し方向として読み出す読出手段と、
該隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶する最終ラインデータ記憶手段と、
次のブロックの最初のラインのデータの読み出し時に、該最初のラインのデータと前記最終ラインデータ記憶手段に記憶された最終ラインのデータと、画素単位で所定のフィルタ演算を行なう第１の演算処理部と、
２列×ｍブロックの前記基本単位による上記処理を前記方向に繰り返して２×ｎライン分の画像データを記憶する第１のメモリと、この画像データに隣接した２×ｎライン分の画像データを記憶する第２のメモリとを有し、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう第２の演算処理部と
を備えたブロック歪除去フィルタ。
【請求項１５】
請求項１２もしくは１４記載のブロック歪除去フィルタであって、
前記第１または第２のメモリから、画像表示用にライン毎の画像データを連続的に読み出す際、前記ｍブロック方向の終端のデータを記憶する終端データ記憶手段と、
該基本単位内の最初のブロックに対応した開始端のデータを読み出す際、前記記憶された終端のデータとの間で所定の演算を行なう第３の演算処理部と
を備えたブロック歪除去フィルタ。
【請求項１６】
ｍが値１である請求項１２ないし１５記載のブロック歪フィルタ。
【請求項１７】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、
該ブロックを単位として非可逆符号化方式により符号化し、
該符号化の処理を、画像の走査方向とは異なる方向に少なくとも２個のブロックを連続して行ない、
該符号化により圧縮されたデータの形態で記憶する
画像圧縮方法。
【請求項１８】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として非可逆符号化方式により符号化した圧縮データを復号する方法であって、
復号した各ブロックの画像データを、画像の走査方向とは異なる方向に少なくとも２個連続して読み出し、
該連続する２個のブロックの境界でブロック歪を除去するフィルタ処理を施し、
該フィルタ処理を施した画像データを、前記画像の走査方向に連続して記憶し、
該記憶した画像データを表示用に読み出す際、該走査方向に隣接するブロックの境界でブロック歪を除去するフィルタ処理を施す
画像復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像復号化装置，画像再生装置，ブロック間除去フィルタ並びにこれに適した画像圧縮方法および画像復号方法に関し、詳しくは一画面を構成する画像をｎ×ｎ画素からなるブロックを単位として分割し、このブロックを単位としてデータの符号化，復号化等の処理を行なう画像処理技術に関する。本発明は、テレビゲーム機、パソコン用表示装置、マルチメディア機器等に使用される画像処理技術に適用可能であり、特に画像圧縮された符号化データを復号再生する技術に関する。
【０００２】
【従来の技術】
近年、自然画像や動画を扱う要求の高まりに応じて、画像データを効率よく圧縮し、必要に応じて高速に復号して表示する様々な画像処理装置が提案されている。画像処理を行なう装置や画像を読み出す装置の動作速度が極めて高速になれば、圧縮された形で記録された画像データを、メモリを全く持たずに直接再生することも不可能ではないが、毎秒数十フレーム以上の画像データの再生が必要となる動画の再生の場合、通常の画像処理装置は、少なくとも一画面分のフレームバッファを備えていた。
【０００３】
こうした画像データの圧縮については、画面を構成する画像データをｎ×ｎ画素のブロックに分割し、このブロックを単位として直交変換，離散コサイン変換などの符号化、更にはハフマンコード化などが知られている。ＤＣＴ変換を用いたＹＵＶ形式のカラー画像の圧縮方式として、例えばオーム社刊、テレビジョン学会編、原島博監修「画像情報圧縮」の第２８８〜２９７頁には、Ｊ−ＰＥＧ（Ｊｏｉｎｔ　Ｐｈｏｔｏｇｒａｐｉｃｓ　Ｅｘｐｅｒｔ　Ｇｒｏｕｐ）アルゴリズムによる画像の符号化方式が詳細に記載されている。この他、ＣＣＩＴＴ（国際電信電話諮問委員会）のＨ．２６１の画像符号化方式など、直交変換による画像符号化・圧縮方式が知られている。
【０００４】
これらの画像圧縮では、ブロック単位で処理がなされ、復号時に元のデータを完全には復元できない非可逆的変換が採用されているので、各ブロックの境目では原画像の連続性が失われ、不連続な境界が出現することが有り得る。そこで、従来復号した画像データを一旦記憶し、隣接するブロックのデータを読み出す際に、隣接する画素のデータの荷重平均を演算する等のフィルタ演算を行ない、ブロック歪を除去する処理がなされていた。この処理を行なうものを、ブロック歪除去フィルタと呼んでいる。
【０００５】
なお、こうした圧縮画像符号化方式についての従来技術の概要は、トリケップスＮｏ．１３７「画像符号化標準と応用技術」（トリケップス出版、川内健）第１９頁〜第２９頁に記載されている。この記載に基づいて、静止画像符号化標準の概要について説明する。本文献第２３頁に述べられいるように、画像の符号化方式には、復号画像の表示順序の観点から２つに分けられ、ひとつは、最終的な画像品質の復号画像が上から順次表示されるシーケンシャル符号化方式であり、いまひとつは、解像度および階調性の低い大まかな復号画像が上から下まで表示された後に順次解像度および階調性が向上してゆくプログレッシブ符号化方式である。また、第２７頁に述べられているように、圧縮データはＩｍａｇｅ／Ｆｒａｍｅ／Ｓｃａｎという３つの階層構造をとっている。シーケンシャル符号化の場合、１つのＩｍａｇｅ（画像）は１つのＦｒａｍｅ（１画面分）の圧縮データをもつ。プログレッシブ符号化の場合、１つのＩｍａｇｅ（画像）は複数のＦｒａｍｅ（１画面分）を含み、Ｆｒａｍｅの先頭にはＦｒａｍｅに対応するヘッダコードが付き、その後に１以上のＳｃａｎがつながっている。Ｓｃａｎとは、画像の上から下までに対する圧縮データを示し、総ての色成分が入っている場合には、Ｆｒａｍｅの中には一つのＳｃａｎしか含まれないが、それ以外の場合には、複数のＳｃａｎが含まれる。以上のように、シーケンシャル符号化方式およびプログレッシブ符号化方式のいずれにしても、圧縮データは画像の上から下までを単位として構成されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、こうした画像復号化装置および画像処理の方法は、次の問題があった。
（１）従来の装置では、圧縮データに対応して少なくとも一画面分のフレームバッファを用意するため、メモリの実装面積が大きく、コストも高くなるといった問題があった。特に、動画の表示などのために、画像の再生中に画像データの復号結果の書き込みを行なおうとすれば、デュアルポートメモリなどの特殊かつ高価なメモリを使用するか、フレームバッファを２組持つことになり、実装コストの更なる上昇などの問題を招致する。
【０００７】
（２）従来の画像データの圧縮は、一画面の上から下までを一単位としているので、一画面内では１種類の表示色モード（１６７７万色モード、３２７６８色モード、２５６色モード等）の再生しかできない。従って、画像圧縮された自然画像や色数の少ないアニメ画像等を復号し同一画面内に同時に表示しようとすると、それぞれに対応したフレームバッファを用意して重ね合わせの処理を行なうといった構成を取らない限り困難であった。他方、こうしたハードウェア上の対応を採用することは、メモリの増大、配線の増大、画像合成回路の付加などを招来し、システム全体の複雑化、大型化を結果してしまう。そのため、実装コストや実装面積も増大し、テレビゲーム機等に搭載することは困難であった。
【０００８】
（３）一定の画素からなるブロックを対象として画像圧縮を行なう変換符号化の場合、復号化もブロックを単位として行なわれるから、ＣＲＴ等の表示装置に表示するために画像を表示装置の走査線に沿って読み出そうとすると、ブロック単位で復号したデータを一旦メモリに蓄積し、改めて走査線に沿ってライン単位で読み出す処理（ブロック−ライン変換処理）が必要となる。この時、走査線に直交する方向でブロック境界を跨ぐ際の歪除去を行なおうとすると、ブロックの最終ラインについては１ライン分の画像データを一旦ラインバッファに記憶しておかなければならない。その次のライン、即ちブロックの最初のラインに対応した画像データを読み出す時、ラインバッファに記憶したデータとの間でフィルタ演算を行ない、その結果を表示する画像データとして扱うのである。そうすると、ラインバッファは、画面の走査線方向の画素数に対応した大きさのものが必要になってしまう。
【０００９】
本発明は、これらの問題点を解決し、フレームバッファを格段に小さなメモリ容量で実現すると共に、一画面内で扱える表示色モードの制限を実質的に解消し、更にブロック歪の除去をできるだけ少ないハードウェアの付加により実現することを目的としてなされた。
【００１０】
【課題を解決するための手段】
かかる目的を実現するために本発明の第１の画像復号化装置は、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として符号化された圧縮データから、画像データを復号する画像復号化装置であって、
前記ブロックを単位として符号化された前記圧縮データを、画像を構成する一方向に沿って入力する圧縮データ入力手段と、
該入力された圧縮データを復号し、前記ブロックに対応した画像データを得る復号化手段と、
該復号された画像データを順次記憶し、前記一方向に沿った圧縮データについての復号化が完了したとき、復号化された前記画像データを、少なくともｎライン分のデータとして読み出し可能に構成する記憶手段と、
前記復号化とは異なるタイミングで、前記ｎライン分のデータを、ラインを単位として読み出す読出手段と
を備えたことを要旨とする。
【００１１】
本発明の第２の画像復号化装置は、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として符号化された圧縮データから、画像データを復号する画像復号化装置であって、
前記ブロックを単位として符号化された前記圧縮データを、表示装置の走査線方向に沿って入力する入力回路と、
該読み出された圧縮データを復号し、前記ブロックに対応した画像データを得る復号器と、
該復号されたｎ×ｎの画素からなる画像データを、前記走査線方向に沿って配列し、少なくともｎライン分のデータとして読み出し可能に記憶するメモリと、前記復号化による前記メモリへのデータの記憶より遅い読み出し速度で、前記ｎライン分のデータから、前記表示装置の走査線に従って各画素のデータを読み出す読出回路と
を備えたことを要旨とする。
【００１２】
また、本発明の画像再生装置は、
予め蓄積された画像を動的に再生し、表示装置に表示する画像再生装置であって、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として符号化された圧縮データを記憶する圧縮データ記憶手段と、
前記記憶された圧縮データを、画像を構成する一方向に沿って入力する圧縮データ入力手段と、
該入力された圧縮データを復号し、前記ブロックに対応した画像データを得る復号化手段と、
該復号された画像データを順次記憶し、前記一方向に沿った圧縮データについての復号化が完了したとき、復号化された前記画像データを、少なくともｎライン分のデータとして読み出し可能に構成する復号データ記憶手段と、
前記表示装置の表示タイミングに合わせて、前記復号データ記憶手段に構成されたｎライン分のデータを、順次読み出す読出手段と、
を備えたことを要旨とする。
【００１３】
更に、本発明のブロック歪除去フィルタは、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として否可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
画像を構成する一方向に沿って復号されたｎライン分の該画像データを記憶する第１のメモリと、この画像データに隣接したｎライン分の画像データを記憶する第２のメモリとを備え、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう演算処理部を設けたこと
を要旨とする。
【００１４】
また、本発明の第２のブロック歪除去フィルタは、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として否可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
前記復号された画像データを、画像を構成する一方向に沿ったｍブロック分（ｍは値１以上の整数）、２列以上を基本単位として扱うものとし、
該画像データのブロックを単位とした読み出しにおいては、列方向を優先的な読み出し方向として読み出す読出手段と、
該隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶する最終ラインデータ記憶手段と、
次のブロックの最初のラインのデータの読み出し時に、該最初のラインのデータと前記最終ラインデータ記憶手段に記憶された最終ラインのデータと、画素単位で所定のフィルタ演算を行なう演算処理部と
を備えたことを要旨とする。
【００１５】
更に、第３のブロック歪除去フィルタは、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として否可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
前記復号された画像データを、画像を構成する一方向に沿ったｍブロック分（ｍは値１以上の整数）、２列以上を基本単位として扱うものとし、
該画像データのブロックを単位とした読み出しにおいては、列方向を優先的な読み出し方向として読み出す読出手段と、
該隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶する最終ラインデータ記憶手段と、
次のブロックの最初のラインのデータの読み出し時に、該最初のラインのデータと前記最終ラインデータ記憶手段に記憶された最終ラインのデータと、画素単位で所定のフィルタ演算を行なう第１の演算処理部と、
２列×ｍブロックの前記基本単位による上記処理を前記方向に繰り返して２×ｎライン分の画像データを記憶する第１のメモリと、この画像データに隣接した２×ｎライン分の画像データを記憶する第２のメモリとを有し、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう第２の演算処理部と
を備えたことを要旨とする。
【００１６】
次に、こうした画像復号化処理およびブロック歪除去フィルタに適した画像圧縮方法の発明は、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、
該ブロックを単位として非可逆符号化方式により符号化し、
該符号化の処理を、画像の走査方向とは異なる方向に少なくとも２個のブロックを連続して行ない、
該符号化により圧縮されたデータの形態で記憶する
ことを要旨とする。
【００１７】
他方、この画像圧縮方法に対応した画像復号方法の発明は、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、該ブロックを単位として非可逆符号化方式により符号化した圧縮データを復号する方法であって、
復号した各ブロックの画像データを、画像の走査方向とは異なる方向に少なくとも２個連続して読み出し、
該連続する２個のブロックの境界でブロック歪を除去するフィルタ処理を施し、
該フィルタ処理を施した画像データを、前記画像の走査方向に連続して記憶し、
該記憶した画像データを表示用に読み出す際、該走査方向に隣接するブロックの境界でブロック歪を除去するフィルタ処理を施す
ことを要旨とする。
【００１８】
【作用】
かかる構成を備えた本発明の第１の画像復号化装置は、圧縮データ入力手段が、一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として符号化した圧縮データを、画像を構成する一方向（水平方向またはこれに直交する方向）に沿って入力する。入力された圧縮データを復号化手段が復号し、ブロックに対応した画像データを得る。復号された画像データは、記憶手段に順次記憶されるが、記憶手段は、一方向に沿った圧縮データについての復号化が完了したとき、復号化された画像データを、少なくともｎライン分のデータとして読み出し可能に構成する。この復号化とは異なるタイミングで、読出手段が、ｎライン分のデータを、ラインを単位として読み出す。こうして、最小では、ｎライン幅のメモリがあれば、一画面の画像の表示が可能となる。
【００１９】
ここで、記憶手段が、復号化された画像データを、一方向に沿った圧縮データの２列分についての復号化が完了したとき、復号化された前記画像データを、２×ｎライン分のデータとして読出可能に構成するものとすれば、ＪＰＥＧなどの規格のように２×２ブロックを単位として画像の圧縮を行なうものに対応することが容易である。
【００２０】
また、記憶手段を、前記一方向に沿った全圧縮データについて交互に動作するよう２つ設け、読出手段は、非動作中の記憶手段から、画像データの読出を行なうようにすれば、通常のメモリなどを記憶手段として用いることができ、簡単な構成で、データの復号に伴う書き込みと、外部に取り出すための読み出しとを、並行して行なうことができる。
【００２１】
更に、読出手段による画像データの読出タイミングにおいて、前記記憶手段が復号化された画像データの構成を完了していない場合には、復号化中の圧縮データについての画像データを無効データまたは透明データとする手段、もしくは読み出しを禁止する手段を備えれば、何らかの事情で、画像データが整わなかった場合でも、正常でない画像データによる影響を最小限度にとどめることができる。この場合、記憶手段は、全画面分ではないので、画像の欠落範囲も僅かにとどめられ、更に動画の場合には画像の欠落は僅かな時間に過ぎないから、画像を見ているものに違和感を抱かせることもない。
【００２２】
復号化には、種々の方法が提案されているが、ここで、復号化手段として、復号方式の異なる２以上の復号手段と、圧縮データ内に記録された復号化方式の情報に基づいて、方式の異なる２以上の復号手段の一つを起動する復号起動手段とを設けることも、異なる表示色モードに対応することができ、好適である。
【００２３】
ここで、復号手段のひとつを、画像データをｎ×ｎドットのブロック毎に直交変換したデータをゼロが続く長さと数値データとに分けてハフマン符号化を用いて符号化した圧縮データに対応し、圧縮データを復号する手段とし、復号手段の他の一つを、画像データをその色を表わす数値とその色が続く長さの組合わせとしこれをランレングス符号化によって符号化した圧縮データに対応し、圧縮データを復号する手段とすることができる。前者は、自然画の圧縮に、後者は、アニメーションなどの圧縮に適する。
【００２４】
更に、読出手段は、外部表示装置の同期信号に同期して、復号された画像データの１ライン分を読み出す同期読出手段を備え、この同期読出手段に、同期信号との同期のタイミングを設定する同期タイミング設定手段を備えることも、有用である。同期タイミングの設定を可変することで、ラインの開始位置を変更することが可能となる。
【００２５】
一方、本発明の第２の画像復号化装置は、入力回路が、一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として符号化した圧縮データを、表示装置の走査線方向に沿って入力する。入力された圧縮データを復号器が復号し、ブロックに対応した画像データを得る。復号された画像データは、メモリに順次記憶され、復号化されたｎ×ｎ画素からなる画像データを、走査線方向に沿って配列し、少なくともｎライン分のデータとして読み出し可能に記憶される。こうして記憶されたメモリから、復号化によるメモリへの記憶より遅い読み出し速度で、読出回路が、ｎライン分のデータを、ラインを単位として、表示装置の走査線に従って読み出す。こうして、最小ｎライン幅のメモリにより、一画面の画像の表示が可能となる。
【００２６】
ここで、メモリは、同一の構成を少なくとも２組有し、ｎ×ｎの画素からなる画像データを走査線方向に一列分、この一つのメモリに記憶させ、次の走査線方向の一列分は他のメモリに記憶させるメモリ切替回路を備えると共に、読出回路は、一方のメモリに記憶している間は他方のメモリから、各ラインのデータを読み出す読出切替回路を備えるものとすれば、通常のメモリをそのまま用いることができ、好適である。
【００２７】
次に本発明の画像再生装置によれば、圧縮データ記憶手段が、一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、このブロックを単位として符号化された圧縮データを記憶している。この圧縮データを、圧縮データ入力手段が、画像を構成する一方向（例えば走査線方向）に沿って入力する。入力された圧縮データは、復号化手段により、復号され、ブロックに対応した画像データが得られる。復号データ記憶手段は、復号された画像データを順次記憶し、一方向に沿った圧縮データについての復号化が完了したとき、復号化された画像データを、少なくともｎライン分のデータとして読み出し可能に構成する。こうして復号データ記憶手段により構成されたｎライン分のデータを、読出手段が、表示装置の表示タイミングに合わせて順次読み出す。従って、一画面に対応したフレームバッファなしでも、画像を復号し、
順次表示することができる。
【００２８】
ここで、圧縮データ入力手段による圧縮データの入力または読出手段によるデータの読み出しを、圧縮データ記憶手段に記憶された情報により制御する再生制御手段を備えることで、ゲームのように、提供されるメディアに予め記憶したプログラムやデータにより画像の再生の様子を変更することが可能である。
【００２９】
次に、ブロック歪除去フィルタ関する発明について説明する。本発明のブロック歪除去フィルタは、画像を構成する一方向に沿って復号されたｎライン分の画像データであり第１のメモリが記憶する画像データと、この画像データに隣接したｎライン分の画像データであって第２のメモリが記憶する画像データとの間で、所定のフィルタ処理を行なうものである。即ち、演算処理部が、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、同時に第２または第１のメモリの第１ラインを読み出し、両データの加重平均値を取るなどのフィルタ処理を行なうのである。
【００３０】
また、本発明の第２のブロック歪除去フィルタは、復号された画像データを、画像を構成する一方向に沿ったｍブロック分（ｍは値１以上の整数）×２列以上を基本単位として扱うものとする。この単位は、ＪＰＥＧ等のように、輝度情報と色差信号とで圧縮の度合いを異ならせている符号化を採用している場合に、有用な単位である。ここで、読出手段は、画像データのブロックを単位とした読み出しにおいては、列方向を優先的な読み出し方向として読み出す。この方向に隣接するブロックに対応した画像データの読み出し時に、最終ラインデータ記憶手段は、前のブロックの最終ラインのデータを記憶しておき、次のブロックの最初のラインのデータの読み出し時の処理供するのである。即ち、演算処理部が、次のブロックの最初のラインのデータと、最終ラインデータ記憶手段に記憶しておいた最終ラインのデータとに対し、画素単位で所定のフィルタ演算を行なうのである。この結果、ｍブロック×少なくとも２列の単位のなかでのブロック間の歪は、その内部でフィルタ処理されることになる。
【００３１】
更に、第３のブロック歪除去フィルタは、第２発明としてのブロック歪除去フィルタのフィルタ機能に加えて以下の機能を果たす。即ち、２列×ｍブロックの基本単位による上記の処理をブロックのｍ個の並びの方向に繰り返して２×ｎライン分の画像データを第１のメモリに記憶し、この画像データに隣接した２×ｎライン分の画像データを第２のメモリに記憶する。そこで、第２の演算処理部が、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう。この結果、２×ｎラインの幅の画像同士の境界でのブロック歪が除去される。
【００３２】
ここで、第１または第２のメモリから、画像表示用にライン毎の画像データを連続的に読み出す際、ｍブロック方向の終端のデータを記憶する終端データ記憶手段と、基本単位内の最初のブロックに対応したの開始端のデータを読み出す際、前記記憶された終端のデータとの間で所定の演算を行なう第３の演算処理部を備えるものとすれば、ｍブロック方向のブロック間の歪を除去するフィルタ処理を容易に実現することができる。
【００３３】
なお、これらのブロック歪除去フィルタにおける基本単位は、ｍが値１、即ち列方向にのみ２列以上連続するブロックの集合とすることもできる。この場合、総てのブロック間の除去フィルタを最も容易に構成することができる。
【００３４】
次に、本発明の画像圧縮方法によれば、一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として分割し、このブロックを単位として非可逆符号化方式により符号化する。この符号化の処理を、画像の走査方向とは異なる方向に少なくとも２個のブロックを連続して行ない、符号化により圧縮されたデータの形態で記憶するのである。走査方向とは異なる方向に少なくとも２個のブロックを連続して符号化しているので、復号化の処理においてこの符号化の順序をそのまま利用してブロック歪を除去するフィルタ処理を行なう際、ブロック間の歪の処理のうち、走査方向と異なる方向の処理を少ない記憶容量で実施することができる。
【００３５】
更に、本発明の画像復号方法によれば、復号した各ブロックの画像データを、画像の走査方向とは異なる方向に少なくとも２個連続して読み出し、連続する２個のブロックの境界でブロック歪を除去するフィルタ処理を施し、フィルタ処理を施した画像データを、画像の走査方向に連続して記憶し、記憶した画像データを表示用に読み出す際、走査方向に隣接するブロックの境界でブロック歪を除去するフィルタ処理を施す。この方法では、復号化の際に走査方向とは異なる方向に２個連続して読み出せればよく、符号化が走査方向と異なる方向に隣接するブロックの順になされていなくとも差し支えない。
【００３６】
【発明の実施の形態】
以上説明した本発明の作用効果を一層明らかにするために、次に本発明の好適に実施例について説明する。図１は、本発明の一実施例としての画像処理装置を組み込んだビデオゲーム装置２０の外観図、図２は、その内部構成を示すブロック図である。
【００３７】
このビデオゲーム装置２０は、図１に示すように、ＣＤ−ＲＯＭ２１が装着可能なゲーム機本体２２と、この本体２２に接続されたゲームパッド２４，２６と、ビデオ信号をカラーテレビ２８に出力するビデオ信号ケーブル３０と、音声を出力するスピーカ３４等から構成されている。本体２２は、開閉可能なカバー３１を備え、このカバー３１を開いてＣＤ−ＲＯＭ２１を、ＣＤ−ＲＯＭドライブ３２に装着する。この状態でカバー３１を閉めると、ＣＤ−ＲＯＭドライブ３２のターンテーブルが回転し、ＣＤ−ＲＯＭ２１に記録されたゲームプログラムや画像および音声情報（以下、ＡＶ情報と呼ぶ）が本体２２内のマイクロプロセッサにより読み出され、ゲームが開始される。ゲームは、通常ゲームパッド２４，２６のスイッチ２４ａやカーソルスティック２４ｂ等を操作することにより進行する。
【００３８】
本体２２内には、ＣＤ−ＲＯＭ２１に記録されたデータを用いて動画を表示する種々の回路が内蔵されている。これを図２のブロック図に示す。図示するように、このビデオゲーム装置２０は、ＳＣＳＩバス３６を介して接続されたＣＤ−ＲＯＭドライブ３２の他、画像処理とこれに関する総ての処理を統括的に司るマイクロプロセッサ（以下、ＭＰＵという）４０と、このＭＰＵ４０に直接接続されたメインメモリ（以下、Ｍ−ＲＡＭと呼ぶ）４１と、同じくＢＩＯＳプログラムを記憶したＲＯＭ４２と、ＭＰＵ４０のバス（Ｍ−ＢＵＳ）４３に接続された各種ユニット、即ち画像信号コントロールユニット４５、画像データ伸長ユニット４７、特定の画像信号を出力するＶＤＰユニット４９、ビデオ信号の合成と出力を行なうビデオエンコーダユニット５０、音声データを扱う音声データ出力ユニット５２とを備える。
【００３９】
また、このビデオゲーム装置２０内には、画像信号コントロールユニット４５のローカルバス（Ｋ−ＢＵＳ）５４に接続されたメモリ（以下、Ｋ−ＲＡＭと呼ぶ）５５、画像データ伸長ユニット４７のローカルバスに接続された２個のメモリ（以下、Ａ側メモリ４７ｃおよびＢ側メモリ４７ｄと呼ぶ）、ＶＤＰユニット４９のローカルバスに接続されたビデオメモリ（以下、Ｖ−ＲＡＭと呼ぶ）５９、ビデオエンコーダユニット５０からの出力信号を通常の映像信号（ＮＴＳＣ）に変換し、カラーテレビ２８に出力するＮＴＳＣコンバータ６０が備えられている。
【００４０】
ＭＰＵ４０は、高速演算可能なものであり、浮動小数点演算を含む算術論理演算可能な演算部４０ａと、ダイナミックメモリ用のコントローラ４０ｂを備える。このＭＰＵ４０は、メインメモリ４１に展開されたプログラムに従い、予めＲＯＭ４２に組み込まれたＢＩＯＳを利用して、ゲームパッド２４，２６やＣＤ−ＲＯＭ２１等との入出力を行ないつつ、各ユニットを制御して、動画の表示や音声の出力を行なって、ゲームを進行する。
【００４１】
画像信号コントロールユニット４５，画像データ伸長ユニット４７，ビデオエンコーダユニット５０および音声データ出力ユニット５２は、それぞれ大規模な論理回路により構成されている。各ユニットの構成と簡単な働きを説明する。
【００４２】
画像信号コントロールユニット４５：このユニット４５は、Ｍ−ＢＵＳ４３を介してＭＰＵ４０とのデータのやり取りを行なうＭＰＵＩ／Ｆ４５ａ、ＳＣＳＩ−ＢＵＳ３６を介してＣＤ−ＲＯＭドライブ３２などとデータのやり取りを行なうＳＣＳＩコントローラ４５ｂ、ＣＤ−ＲＯＭ２１などから入力した画像データに対してアフィン変換を行なうＡＦＦＩＮコンバータ４５ｃ、ＣＤ−ＲＯＭ２１等から受け取った画像データの出力を制御するグラフィックコントローラ４５ｄ、同じく音声データの出力を制御するサウンドコントローラ４５ｅ等から構成されている。この画像信号コントロールユニット４５は、ＣＤ−ＲＯＭ２１等から受け取ったデータから画像データと音声データとを取り出し、Ｋ−ＲＡＭ５５にこれらのデータを一時的に蓄える。蓄えられたデータは、ＭＰＵ４０の制御を受け、グラフィックコントローラ４５ｄやサウンドコントローラ４５ｅにより、所定のタイミングで、画像データ伸長ユニット４７や音声データ出力ユニット５２などに出力される。なお、画像データに対して、ＭＰＵ４０から所定のアフィン変換を指示された場合には、ＡＦＦＩＮコンバータ４５ｃにより、必要なアフィン変換を施し、画像データの線形変換（画像の変形）を行なう。
【００４３】
画像データ伸長ユニット４７：このユニット４７が、本発明の画像復号化装置，ブロック歪除去フィルタ，画像復号方法の実施例に相当するので、その構成は、画像の符号化を含めて後で詳細に説明する。その機能を概説すれば、受け取った画像データに対してハフマン復号化を行ない、ハフマン復号化がなされたデータに対してＤＣＴ逆変換（ＩＤＣＴ）を行なったり、データによってはランレングスによる伸長を行なう。更に、ＩＤＣＴがなされた画像データに対してブロック歪を除去するフィルタ処理を行ない、カラーテレビ２８に表示可能な走査線方向の画像データに並べ直すブロック−ライン変換を行なうのである。これらの処理を行なうため、このユニット４７には、必要な処理回路と共に、これらの制御を司るコントローラ４７ｅが設けられている。
【００４４】
ＶＤＰユニット４９：このユニット４９は、実際には同じチップが２個搭載されている。機能としては同一であり、それぞれ特定のパターン，色彩による背景画像とスプライトと呼ばれるブロック単位の画像とを生成する機能を有する。スプライトは、ゲームなどにおける動き回るキャラクタや生成・消滅を頻繁に行なうブロックなどを容易に表示できるにように特化した画像であり、ＭＰＵ４０からの信号に基づいて、複数個のブロックの映像信号を、背景画像と共に出力する。ＶＤＰユニット４９に接続されたＶ−ＲＡＭ５９には、スプライトの画像、即ち必要なキャラクタ等が記憶される。ＭＰＵ４０がコマンド、例えばある地点から他の地点までキャラクタを移動せよと言ったコマンドを出力すると、ＶＤＰユニット４９は、このコマンドを解析し、Ｖ−ＲＡＭ５９に記憶されたスプライトを、例えば移動の経路に沿って順次展開・消去して行くことで、そのコマンドに対応した動きを容易に実現する。
【００４５】
ビデオエンコーダユニット５０：このユニット５０は、画像信号コントロールユニット４５，画像データ伸長ユニット４７，ＶＤＰユニット４９からの画像データを入力するインタフェース部５０ａ、画像データの色彩を決定するルックアップテーブルや入力される複数の画像データの優先順位を設定する回路などを内蔵し設定された優先順位に基づいて複数の画像データを合成する画像合成部５０ｂ、合成された画像データをアナログ信号に変換するＤＡＣ部５０ｃ、および画像合成部５０ｂを制御するコントロール部５０ｄを備える。各部の詳細については、後述するが、このビデオエンコーダユニット５０では、画像信号コントロールユニット４５からの画像信号と、画像データ伸長ユニット４７からの画像信号と、ＶＤＰユニット４９からの２セットの画像信号（背景画像とスプライト）とを入力し、優先順位を付けて、これらの画像を合成する。各画像間の合成の度合いは、手前側の（優先順位の高い）画像が向こう側の画像に対して、透明から不透明まで、複数の段階に亘って設定可能である。
【００４６】
音声データ出力ユニット５２：このユニット５２は、スピーカ３４から音声，音楽などを出力するためのユニットであり、適応差動パルス符号変調（ＡＤＰＣＭ）により音声合成を行なうＡＤＰＣＭ部５２ａ、予め定められた複数の音源を同時に生成可能な音源ジェネレータ（ＰＳＧ）５２ｂ、これらの合成音や音源からの音を合成するミキサー５２ｃを備える。このユニット５２は、画像信号コントロールユニット４５またはＭＰＵ４０からのデータに従って音声を合成したり、音源を利用して音楽を演奏するなどし、これをスピーカ３４に出力する。なお、本体２２に内蔵のスピーカ３４は一つであり、モノラルとなるが、外部への出力はステレオとなっている。
【００４７】
まず、ＣＤ−ＲＯＭ２１に記憶されている圧縮されたデータの生成について説明する。画像の復号化の処理について説明するためには、圧縮されたデータに対する理解が必要だからである。図３は、画像データの圧縮装置１００と伸長装置２００の機能を示すブロック図である。
【００４８】
画像データ圧縮装置１００は、ここでは、ＣＤ−ＲＯＭ２１に記録するデータを作成する装置であり、原画像データｆ（ｘ，ｙ）に対してディスクリートコサイン変換を行なうＤＣＴ部１１０と、ＤＣＴ変換で得られた変換係数Ｆ（ｕ，ｖ）を量子化する量子化部１２０と、量子化された変換係数ＱＦ（ｕ，ｖ）をハフマン符号化して圧縮画像データＺＺを作成するハフマン符号化部１３０と、量子化テーブル作成部１４０と、ハフマン符号テーブルメモリ１５０とを備えている。量子化テーブル作成部１４０は、後述するように、基本量子化テーブルＢＱＴと量子化レベル係数ＱＣｘとに基づいて量子化テーブルＱＴを作成する。画像データ圧縮装置１００により圧縮生成された圧縮画像データＺＺは、ＣＤ−ＲＯＭ２１に記憶されて、本実施例のビデオゲーム装置２０に供給される。
【００４９】
ビデオゲーム装置２０では、ＣＤ−ＲＯＭ２１に記録されている圧縮データは様々な処理を受けることになるが、この圧縮されたデータは、実際には画像データ伸長ユニット４７に入力される。画像データ伸長ユニット４７内で特にこのデータの復号化を行なう部分が、画像データ伸長装置２００である。図３の下半分に、画像データ圧縮装置１００の構成に対応する形で、伸長装置２００の構成を示した。この画像データ伸長装置２００は、圧縮画像データＺＺをハフマン復号化するハフマン復号化部２１０と、復号された量子化後の変換係数ＱＦ（ｕ，ｖ）を逆量子化する逆量子化部２２０と、逆量子化された変換係数ＦＦ（ｕ，ｖ）にディスクリートコサイン逆変換を行なって画像データｆｆ（ｘ，ｙ）を得るＩＤＣＴ部２３０と、ハフマン符号テーブルメモリ２４０と、逆量子化テーブル作成部２５０とを備えている。逆量子化テーブル作成部２５０は、圧縮画像データＺＺから復号された基本量子化テーブルＢＱＴと量子化レベル係数ＱＣｘとをハフマン復号化部２１０から受取り、これらに基づいて量子化テーブルＱＴを作成する。この量子化テーブルＱＴは、圧縮装置１００で用いられた量子化テーブルＱＴと同じである。また、ハフマン符号テーブルメモリ２４０に記憶されているハフマン符号テーブルＨＴも圧縮装置１００のハフマン符号テーブルメモリ１５０に記憶されているものと同じである。
【００５０】
図４（Ａ）は、ゲームの背景画像となる原画像の一例を示す平面図である。この原画像は、一様な色で塗られた背景ＢＧに火山の自然画がはめ込まれた画像である。図４（Ｂ）は、１つの画素ブロックＰＢを含む原画像の一部を拡大して示している。一般に、画素ブロックＰＢは、Ｍ×Ｎ個の画素ＰＸを含むように設定できる。２つの整数Ｍ，Ｎの値としては８または１６が好ましく、この実施例では、Ｍ＝Ｎ＝８である。なお、整数ＭとＮを異なる値に設定しても良い。後述するように、圧縮画像データＺＺの中で背景ＢＧを表わすデータ部分は、一様色の画素ブロックＰＢが連続することを示す特別なデータ形式（ヌルランデータ）を有している。
【００５１】
画像データ伸長ユニット４７内には、ランレングスによって圧縮されたデータを伸長する回路なども内蔵されており、データ圧縮とデータの伸長の手法については、本発明に直接対応した部分ではないが、本発明の実施例が扱う画像データに密接に結びついているので、本発明の対応した実施例部分の説明のあとで詳しく説明する。ただし、以後の説明の都合上、符号化が行なわれた圧縮データの構造については、先に説明しておく。
【００５２】
図５は、圧縮データの構成を示す説明図である。圧縮データの全体（その一単位を、以下データ構造体と呼ぶ）は、図５（Ａ）に示すように、ヘッダ部と圧縮データ部とダミー部とで構成されている。ヘッダ部は、それぞれ１バイトの４つのデータＤＦＨ，ＤＦＬ，ＤＬＨ，ＤＬＬを有している。最初の２つのデータＤＦＨ，ＤＦＬは、圧縮データ部に含まれるデータの種類を示している。圧縮データ部のデータには、基本量子化テーブルＢＱＴのデータ、フルカラー自然画像圧縮データ、ランレングス画像圧縮データなどの種類がある。即ち、データの種類とは、自然画像やアニメ画像の色数の違いなどを示しており、画像データ伸長ユニット４７では、このデータＤＦＨ，ＤＦＬに基づいて、後述するように、内部の処理方法を切り替えている。ヘッダの後部１６ビットのデータ（ＤＬＨ＋ＤＬＬ）は、圧縮データ部とダミー部の合計のデータ長を示している。このデータは、圧縮データ全体のデータ領域の大きさを示し、画像データ伸長ユニット４７では、このコード（ＤＬＨ＋ＤＬＬ）によりデータをカウントし、規定数のデータが入力されたら、画像信号コントロールユニット４５に対するデータのリクエストを解除している。
【００５３】
圧縮データ領域は、実際の画像データを圧縮したデータが収納されている部分であり、一つのデータ構造体には、走査線の数で言うと１６ライン分のデータが含まれている。実施例で取り扱っている画像は水平方向２５６画素×垂直方向２４０ライン（走査線数）であり、一画面を構成するには、図５のデータ構造体を１５個転送することになる。画面とデータ構造体との関係を模式的に示したのが、図６である。一画面を構成する１５個のデータ構造体ＤＤ１ないしＤＤ１５に含まれる画像データの種類（モード）は、各データ構造体毎に一つに限られるから、１６ライン分のデータは、その内部ではいずれか一種類のデータに定まる。換言すれば、一画面について一種類の画像データではなく、複数種類の画像データが、１６ライン幅を単位としてではあるが、混在可能となっているのである。なお、図５に戻って、ダミー部とは、圧縮データ部がハフマン符号を含む可変長のデータなので、合計のデータ長が、ワード（＝２バイト）の整数倍の長さになるように調整するためのものである。
【００５４】
図５（Ｂ）は、基本量子化テーブルＢＱＴを表わす圧縮データの構成を示している。この１セットの圧縮データは、Ｙ信号用の基本量子化テーブルＢＱＴを表わすデータと、Ｕ信号／Ｖ信号共用の基本量子化テーブルＢＱＴを表わすデータとを含んでいる。なお、基本量子化テーブルＢＱＴを表わすデータはハフマン符号化しておかなくてもよい。
【００５５】
図５（Ｃ）は、フルカラー自然画像の圧縮データの構成を示している。圧縮データ部には、量子化レベル係数ＱＣｘを表わす符号データと、各画素ブロックの符号データであるブロックデータと、一様色の複数の画素ブロックを示すヌルランデータとを含んでいる。
【００５６】
図５（Ｄ）に示すように、１ユニットのブロックデータは４組のＹ信号用データと、１組のＵ信号データと、１組のＶ信号用データとで構成されている。図７は、ＹＵＶの各信号のブロックの関係を示す説明図である。図７（Ａ）に示すように、この実施例における１画面は、２５６画素×２４０走査線の大きさを有している。Ｙ信号に関しては、間引きをせずに、８×８画素の画素ブロック毎にＤＣＴ変換が行なわれる。一方、Ｕ信号とＶ信号に関しては、図７（Ｂ）に示すように、横方向と縦方向に１／２に間引き（サブサンプリング）されて、間引き後の８×８画素のブロックに対してＤＣＴ変換が行なわれる。従って、図７（Ｃ）に示すように、Ｙ信号の４つの画素ブロックＹ１〜Ｙ４の領域がＵ信号とＶ信号の１つの画素ブロックの領域に対応している。なお、Ｙ信号を間引きせずにＵ信号とＶ信号を間引きするのは、人間の目が輝度の変化（Ｙ信号の変化）には比較的敏感であるが、色の変化（Ｕ信号とＶ信号の変化）には比較的鈍感だからである。Ｕ信号とＶ信号のみを間引くことによって、画質を過度に劣化させずに圧縮率を高めることができる。なお、図５（Ｄ）に示す１ユニットのブロックデータは、図７（Ｃ）に示す各領域のハフマン符号データを順に並べたものである。図５（Ｅ）以下のデータ構造については、実施例の説明の後で説明する。
【００５７】
次に、画像データ伸長ユニット４７の全体構成について説明する。図８は、画像データ伸長ユニット４７の内部構成を示すブロック図である。画像データ伸長ユニット４７には、記述した画像データ伸長装置２００，コントローラ４７ｅの他に、圧縮データ取り込みブロック４７ａ、ランレングス復号ブロック２６０、メモリコントロールブロック４７ｂ、第１のメモリであるＡ側メモリ４７ｃ、第２のメモリであるＢ側メモリ４７ｄが設けられている。
【００５８】
圧縮データ取り込みブロック４７ａは、画像信号コントロールユニット４５からのデータを受け取る回路であり、その内部構成を更に図９に示す。図示するように、圧縮データ取り込みブロック４７ａは、ヘッダ検出回路２７１、モード識別回路２７２、データ長検出回路２７３、圧縮データカウント回路２７４、データ選択回路２７５を備える。ヘッダ検出回路２７１は、ヘッダ部（図５参照）の特定の符号を検出してヘッダ検出信号（パルス信号）ＨＤＰを出力する回路である。このヘッダ検出信号ＨＤＰは、メモリコントロールブロック４７ｂにおいて、データを蓄積するメモリを切り替えるのに用いられる。モード識別回路２７２は、画像のモード（図５のＤＦＨ＋ＤＦＬ）を識別して、画像の圧縮モードが直交変換によるものであることを示す復号モード信号ＲＭＳあるいはランレングスによる圧縮モードであることを示す判別信号ＲＳＧを出力する回路である。この復号モード信号ＲＭＳは、画像データ伸長装置２００およびメモリコントロールブロック４７ｂに出力され、画像データ伸長装置２００の起動および後述するブロック歪の除去フィルタの起動に用いられる。一方、判別信号ＲＳＧは、ランレングス復号ブロック２６０に出力され、その起動に用いられる。
【００５９】
データ長検出回路２７３は、ヘッダ部のデータ長を示すコード（ＤＬＨ＋ＤＬＬ）を検出しこれを出力する回路である。このコードは、圧縮データカウント回路２７４に出力される。圧縮データカウント回路２７４は、データ長検出回路２７３からのコード（ＤＬＨ＋ＤＬＬ）をセットするカウンタを備え、データ構造体のデータ領域に存在する圧縮データを入力する度にこのカウンタをカウントダウンしてゆく。カウンタの値がゼロになったとき、データ要求信号ＤＲＱをインアクティブとして、画像信号コントロールユニット４５に対するデータ要求を解除する。画像信号コントロールユニット４５からのデータの転送は、図６に示したように、１６水平ラインを単位として行なわれるが、実際の１６ラインの表示に要する時間と較べると、データの転送時間の方がかなり短くなっている。従って、圧縮データカウント回路２７４からのデータ要求信号ＤＲＱは、１６水平ラインの表示期間よりかなり以前にインアクティブとなる。１６水平ライン分の表示期間が終了した時点で、圧縮データカウント回路２７４は、再びデータ要求信号ＤＲＱをアクティブとし、画像信号コントロールユニット４５から圧縮データの転送を開始させる。なお、画像信号コントロールユニット４５には、ＣＤ−ＲＯＭ２１からの圧縮データが、そのＫ−ＲＡＭ５５に蓄積されており、圧縮データカウント回路２７４からのデータ要求信号を受けて、直ちに次の１６ライン分に相当するデータ構造体の転送を開始する。
【００６０】
データ選択回路２７５は、モード識別回路２７２からの復号モード信号ＲＭＳを受けて、圧縮データＣＤＴを振り分ける回路である。図では、以後の説明の都合上、自然画像を直交変換により圧縮した自然画像圧縮データＮＣＤとランレングスにより圧縮したランレングス圧縮データＲＬＤとを異なる符号を付けて示したが、これらは圧縮データＣＤＴを、その圧縮モードに従って振り分けたものに過ぎない。
【００６１】
圧縮データ取り込みブロック４７ａから出力される各種の信号は、図８に示したように、画像データ伸長装置２００，ランレングス復号ブロック２６０，メモリコントロールブロック４７ｂ，コントローラ４７ｅに出力されている。画像データ伸長装置２００の内部構成は、既に説明したが、画像データ伸長装置２００は、復号モード信号ＲＭＳを受けて、圧縮データＮＣＤをＩＤＣＴにより復号し、伸長する。その画像データは、８×８のブロック４個からなる１６×１６の画像を基本単位としている。画像データ伸長装置２００は、自然画像圧縮データＮＣＤをまずハフマン符号化のアルゴリズムにより伸長し、次に８×８ドットのＹＵＶ成分それぞれとしてＩＤＣＴ変換し、復号されたデータを再生自然画像データＲＮＤとして出力する。また、再生自然画像データＲＮＤを出力している場合には、出力するデータが復号済みの有効なデータであることを示すデータ有効信号ＤＥ１も出力する。
【００６２】
一方、ランレングス復号ブロック２６０は、判別信号ＲＳＧを受けて、色を表わす数値とその色の続く長さの組合わせとして構成された圧縮データをランレングスにより復号し、その伸長されたデータを再生ランレングス画像データＲＲＤとして、出力データが復号済みの有効なデータであることを示す有効信号ＤＥ２と共に出力する。再生ランレングス画像データＲＲＤは、画素の色の数値データとなる。ここで、ランレングス復号用の圧縮データは、表示色のモード（２５６色、１６色等）によって色の数値の領域の続く長さの領域を変化させて、圧縮の効率を高めている。従って、ランレングス復号ブロック２６０は、圧縮データ取り込みブロック４７ａのモード識別回路２７２が表示色のモードを判別した判別信号ＲＳＧを入力し、表示色のモードに対応した復号を行なうよう復号処理を変更している。なお、ランレングスによるデータの圧縮は、１水平表示分の単位で符号化することが可能であるが、自然画像の圧縮の単位（１６ライン分）に合わせてランレングス符号化も１６水平表示分を単位としてなされている。
【００６３】
画像データ伸長装置２００およびランレングス復号ブロック２６０の出力は、メモリコントロールブロック４７ｂに入力され、ここで必要に応じて合成され、ブロック−ライン変換を施されて、一画面を構成する画像データとして出力される。このメモリコントロールブロック４７ｂの回路の一例を図１０に示す。このメモリコントロールブロック４７ｂには、Ａ側メモリ４７ｃとＢ側メモリ４７ｄが接続されており、メモリコントロールブロック４７ｂは、画像データ伸長装置２００およびランレングス復号ブロック２６０から入力した画像データを、Ａ側もしくはＢ側メモリの一方に順次記憶し、他方から順次読み出し、これをＡ側メモリ，Ｂ側メモリについて交互に行なう処理を実行する。
【００６４】
メモリコントロールブロック４７ｂは、Ａ側メモリ４７ｃ用のアドレスを発生するＡ側アドレス発生回路２８１、Ｂ側メモリ４７ｄ用のアドレスを発生するＢ側アドレス発生回路２８３、Ａ側メモリ４７ｃに対して読み書きされるデータのパスを切り替えるＡ側切替回路２８２、同じくＢ側切替回路２８４、復号後のデータおよび有効信号ＤＥ１，２を切り替える切替回路２８６、水平同期信号をカウントするカウント回路２８７、アドレスの一致を判断して一致信号を出力するアドレス一致検出回路２８８を備える。
【００６５】
画像データ伸長装置２００もしくはランレングス復号ブロック２６０からの各種信号は、切替回路２８６に入力され、ここで切り替えられる。即ち、切替回路２８６は、復号モード信号ＲＭＳにより信号を選択する回路であり、復号モード信号ＲＭＳが自然画像データの側が有効であることを示している場合には、再生自然画像データＲＮＤおよび有効信号ＤＥ１側を選択して出力し、逆の場合には、再生ランレングス画像データＲＲＤおよび有効信号ＤＥ２側を選択して出力する。選択された有効データＤＥ１もしくはＤＥ２は、Ａ側アドレス発生回路２８１，Ｂ側アドレス発生回路２８３に接続されており、画像データ伸長装置２００もしくはランレングス復号ブロック２６０が画像データを復号し、有効なデータを画素単位に順次出力している間だけ、選択信号ＳＥＬにより有効とされている側の書込回路の側から書き込み用アドレスを発生させるのである。
【００６６】
ここで、選択信号ＳＥＬは、カウント回路２８７により次のように生成される。カウント回路２８７は、初期状態では、内部のカウンタに初期値１６がセットされる。次に水平同期信号ＳＹＣが入力するたびにカウンタをダウンカウントし、その間、選択信号ＳＥＬをハイレベルに保持する。カウンタがゼロになると、選択信号ＳＥＬを反転すると共に、内部のカウンタには同様に値１６をセットする。従って、再び水平同期信号ＳＹＣによるカウント動作が開始されるが、この間、選択信号ＳＥＬは、ロウレベルに保たれる。即ち、選択信号ＳＥＬは、水平同期信号ＳＹＣが１６個入力するたびに反転する信号となる。
【００６７】
切替回路２８６において切り替えられた再生自然画像データＲＮＤもしくは再生ランレングス画像データＲＲＤの一方は、Ａ側切替回路２８２およびＢ側切替回路２８４に入力される。このＡ側切替回路２８２およびＢ側切替回路２８４は、同様に選択信号ＳＥＬにより排他的に接点を切り替えられる。Ａ側切替回路２８２，Ｂ側切替回路２８４の働きについて、Ａ側アドレス発生回路２８１，Ｂ側アドレス発生回路２８３の動作と共に説明する。
【００６８】
Ａ側アドレス発生回路２８１は、内部に、書き込み用のアドレスを発生する書込回路２８１ａと、読み出し用のアドレスを発生する読出回路２８１ｂとを有する。同様に、Ｂ側アドレス発生回路２８３は、内部に、書き込み用のアドレスを発生する書込回路２８３ａと、読み出し用のアドレスを発生する読出回路２８３ｂとを有する。これらの回路は、Ａ側とＢ側とで読み出しと書き込みが排他的に機能するように構成されている。具体的には、カウント回路２８７からの選択信号ＳＥＬは、インバータＩＮＶで反転されており（図１０では、反転された信号をＳＥＬ＼で示した）、Ａ側アドレス発生回路２８１の書込回路２８１ａおよびＢ側アドレス発生回路２８３の読出回路２８３ｂに入力されている信号は、Ａ側アドレス発生回路２８１の読出回路２８１ｂおよびＢ側アドレス発生回路２８３の書込回路２８３ａに入力されている信号を反転した信号となっている。また、この選択信号ＳＥＬはＢ側切替回路２８４に、一方選択信号ＳＥＬの反転信号ＳＥＬ＼はＡ側切替回路２８２に、それぞれの切替信号として入力されている。
【００６９】
従って、選択信号ＳＥＬがハイレベルの場合には、Ａ側アドレス発生回路２８１の読出回路２８１ｂがアクティブとなり、水平同期信号ＳＹＣに同期して、かつ水平同期信号を入力するたびに更新される読み出し用アドレスＲＡＤＡを出力する。この時、Ａ側切替回路２８２の接点は、図示Ｒ側に切り替えられている。従って、読出回路２８１ｂからの読み出し用アドレスＲＡＤＡを受けてＡ側メモリ４７ｃから読み出されたデータＤＡは、Ａ側切替回路２８２および信号路ＤＣを介して、次段のビデオエンコーダユニット５０へと出力されることになる。また、この状態では、選択信号ＳＥＬは、Ｂ側アドレス発生回路２８３の書込回路２８３ａをアクティブとしており、有効信号ＤＥ１もしくはＤＥ２が有効になるたびに、この書込回路２８３ａから書き込み用アドレスＷＡＤＢが、順次更新されつつ出力される。この時、Ｂ側切替回路２８４の接点は、図示Ｗ側に切り替えられている。従って、画像データ伸長装置２００もしくはランレングス復号ブロック２６０からの再生自然画像データＲＮＤもしくは再生ランレングス画像データＲＲＤは、Ｂ側切替回路２８４を介してＢ側メモリ４７ｄに書込データＤＢとして出力され、書込回路２８３ａからの書き込み用アドレスＷＡＤＢにより指定されたＢ側メモリ４７ｄのアドレスに書き込まれる。
【００７０】
一方、選択信号ＳＥＬがロウレベルの場合には、Ａ側アドレス発生回路２８１の書込回路２８１ａがアクティブとなり、有効信号ＤＥ１，ＤＥ２が有効となるたびに、書き込み用アドレスＷＡＤＡを順次更新しつつ出力する。この時、Ａ側切替回路２８２の接点は、図示Ｗ側に切り替えられる。従って、画像データ伸長装置２００もしくはランレングス復号ブロック２６０からの再生自然画像データＲＮＤもしくは再生ランレングス画像データＲＲＤは、Ａ側切替回路２８２を介してＡ側メモリ４７ｃに書込データＤＡとして出力され、書込回路２８１ａからの書き込み用アドレスＷＡＤＡにより指定されたＡ側メモリ４７ｃのアドレスに書き込まれる。また、この状態では、選択信号ＳＥＬの反転信号は、Ｂ側アドレス発生回路２８３の読出回路２８３ｂをアクティブとしており、この読出回路２８３ｂから、水平同期信号ＳＹＣに同期して、かつ水平同期信号を入力するたびに更新されつつ読み出し用アドレスＲＡＤＢが出力される。この時、Ｂ側切替回路２８４の接点は、図示Ｒ側に切り替えられている。従って、読出回路２８３ｂからの読み出し用アドレスＲＡＤＢを受けてＢ側メモリ４７ｄから読み出されたデータＤＢは、Ｂ側切替回路２８４を介して、次段のビデオエンコーダユニット５０へと出力されることになる。
【００７１】
なお、復号モード信号ＲＭＳが、Ａ側アドレス発生回路２８１およびＢ側アドレス発生回路２８３に入力されており、両回路は、復号されたデータの種類によって、各書込回路もしくは読出回路が発生するアドレスの更新の状態を変更している。これは、例えば再生自然画像データＲＮＤの場合、ＣＤ−ＲＯＭ２１から取り出されるデータは、図１１（Ａ）に示すように、８×８を２行２列、順次配列した形式で再生されており、これをメモリに書き込んだ後、読み出す時には、表示のタイミングに合わせて、１６水平ライン分を順次ライン単位でシリアルに読み出す必要があるからである。この場合には、メモリコントロールブロック４７ｂが受け取る順序は、図１１（Ｂ）に示すように、８×８のブロックを左上（１，１）→右上（１，２）→左下（２，１）→右下（２，２）の順であり、これを図１１（Ｃ）に示すように、１６ラインの配列に順次変換しておけば、読出は容易である。
【００７２】
一方、再生ランレングス画像データＲＲＤの場合には、色の数値データの形式をとり、１６×１６の領域を単位として再生しているから、同様に書込の順序と読出の順序は異ならざる得ない。このような書込と読出とを実現するためには、読出の場合のアドレスが連続アドレスになるよう書込用のアドレスを不連続なものとするか、逆に書込のアドレスを連続なものとしておき、読出のアドレスを不連続にするか、あるいは、両者いずれも連続なアドレスではなく所定の順序で変換しつつ書込・読出を行なうものとするか、様々な組合わせが可能である。更に、書込回路のみ再生自然画像データＲＮＤ用と再生ランレングス画像データＲＲＤ用とを別々に発生させ、どちらのデータであってもメモリには順序よく格納し、読み出し用のアドレスは同一とすることも、あるいはその逆の構成とすることも可能である。
【００７３】
以上説明したメモリコントロールブロック４７ｂの機能をタイミングチャートにしたのが、図１２である。図示するように、１６水平同期信号ＳＹＣごとに、Ａ側メモリ４７ｃ，Ｂ側メモリ４７ｄが交互に、読出側，書込側に切り替えられる。また、データの読み出しは、水平同期信号ＳＹＣに同期して行なわれるが、データの書き込みは、復号され再生されたデータが用意されて有効信号ＤＥ１もしくはＤＥ２が有効となったときに行なわれる。普通にデータの復号化が行なわれていれば、水平同期信号ＳＹＣの１６個分の時間のうちに、１６ライン分のデータの復号が完了するよう設定されているが、ＣＤ−ＲＯＭ２１からのデータの読み出しにエラーを起こしたケースなどで、データの復号が間に合わない場合も考えられる。こうした事態の発生を検出するのが、図１０に示したアドレス一致検出回路２８８である。このアドレス一致検出回路２８８は、選択信号ＳＥＬが反転したとき、書き込まれるデータの最終アドレスを計算して、これを内部のレジスタにセットする。次に、Ａ側アドレス発生回路２８１の書込回路２８１ａおよびＢ側アドレス発生回路２８３の書込回路２８３ａの出力するアドレスＷＡＤＡ，ＷＡＤＢを監視し、一致するアドレスが出力されるか否かを判別する。選択信号ＳＥＬが次に反転するまでに、計算した最終アドレスに一致するアドレスＷＡＤＡ，ＷＡＤＢが出力されなかった場合には、データ無効信号ＤＩＳを出力する。このデータ無効信号ＤＩＳは、次段のビデオエンコーダユニット５０に対して、次の１６ライン分のデータが無効であることを示す信号であり、この信号を受けてビデオエンコーダユニット５０は、次の１６ライン分のデータを有効な画像データとして扱わない。具体的には、実施例では、透明データとして扱っているが、無効データとして、スキップしても差し支えない。あるいは、ビデオエンコーダユニット５０の停止を命じる信号として扱っても良い。
【００７４】
以上説明した画像データ伸長ユニット４７によれば、図６に示した一画面について、１６ライン分を単位として圧縮されたデータ（図５にその構造を示したデータ構造体）が１５個送られてくることにより、一画面を再生するが、最初の１６ライン分の圧縮データが送られてくると、そのヘッダ情報に基づき圧縮のモードを検出して、対応する画像データ伸長装置２００もしくはランレングス復号ブロック２６０を起動してデータを伸長する。画像データ伸長装置２００もしくはランレングス復号ブロック２６０から送り出された復号後のデータは、有効信号ＤＥ１もしくはＤＥ２に従って、Ａ側メモリ４７ｃに順次蓄積される。
【００７５】
次の１６ライン分の圧縮データが送られる状態になると、選択信号ＳＥＬが反転し、データを記憶するメモリをＢ側メモリ４７ｄに切り替える。その後、Ａ側メモリ４７ｃに対して復号後のデータを蓄積したのと同様に、Ｂ側メモリ４７ｄに対して復号後のデータを蓄積するが、同時に先にデータを蓄積したＡ側メモリ４７ｃからは、水平同期信号ＳＹＣに同期して１ライン毎にデータが読み出され、ビデオエンコーダユニット５０に出力される。ビデオエンコーダユニット５０では、この１ライン、即ち水平走査線に従うデータに基づいて、カラーテレビ２８に画像を表示する。
【００７６】
なお、水平同期信号ＳＹＣに同期して画像データを読み出した場合、カラーテレビ２８の表示のタイミングから見ると、水平帰線期間分の遅れが必要になる場合があるが、この遅れは、Ａ側アドレス発生回路２８１，Ｂ側アドレス発生回路２８３の読出回路２８１ｂ，２８３ｂがアドレスを発生するタイミングとして生成しても良いし、ビデオエンコーダユニット５０の内部において、必要なディレイを設けることでタイミングを調整しても差し支えない。
【００７７】
通常は、ＣＤ−ＲＯＭ２１から画像信号コントロールユニット４５を介して圧縮された画像データを読み出し復号して１６ライン分の画像データをメモリに蓄積する処理の方が先に終了するから、水平同期信号ＳＹＣに基づく１６ライン分の画像データが読み出された時点では、反対側のメモリには次の１６ライン分の画像データが用意されている。従って、水平同期信号ＳＹＣを１６個カウントするたびに切り替わる選択信号ＳＥＬにより、Ａ側メモリ４７ｃとＢ側メモリ４７ｄへの画像データの蓄積および反対側のメモリからの画像データの読み出しを切り替えることで、１６ラインを単位として連続した画像データの読み出しが可能となる。
【００７８】
また、この処理を繰り返せば、一画面の表示はもとより、これを毎秒６０フレーム繰り返すことで、通常のテレビと同様の動画の再生が可能となる。しかも、２５６×２４０の画面を再生するのに要するメモリは、輝度信号Ｙの解像度とを８ビット（１バイト）、色差信号Ｕ，Ｖの解像度が各々がその１／４（２ビット）とすると、１画素当たり従来２５６×２４０×１．５バイト＝９２１６０バイト＝７３７２８０ビットとなり、１メガビットのメモリが必要であったのが、１６×２５６×１．５バイト＝６１４４バイト＝４９１５２ビットとなり、６４Ｋビットメモリ２個（Ａ側およびＢ側）で済ませることができる。
【００７９】
また、データの読み出しに要する時間を検討すると、水平帰線期間を８５ドット、垂直帰線期間を２２．５ライン分と考えると、１ドット（画素）当たりの時間は、１／｛６０×（２５６＋８５）×（２４０＋２２．５）｝秒＝１８６ナノ秒となる。１ドット当たりに許容される時間は、色差信号Ｕ，Ｖが、図７（Ｂ）に示したようにサブサンプリングされていることから、２ドットで輝度信号Ｙ１，Ｙ２、色差信号Ｕ，Ｖの４個のデータを読み出せば良く、その時間は、１８６×２／４＝９３ナノ秒となる。従って、特に高速なメモリを必要とせず、容量、動作速度とも通常のダイナミックＲＡＭを使用することができる。また、Ａ側メモリ４７ｃ，Ｂ側メモリ４７ｄへの信号線を考えても、本実施例では、アドレス本数１３，データ本数８となり、２セット必要とは言え、同一タイプのメモリを使用できるからそのアートワークは極めて単純である。これに対して、従来の一画面分のメモリを用意する構成では、アドレス本数１７，データ本数８となる。書き込み用の画面と読み出し用の画面を別と考えれば、計５０本となる。
【００８０】
以上説明した本実施例によれば、１６ライン分の画像データを記憶するわずか６４Ｋビットのメモリを２組用意するだけで、２５６×２４０画素の画面を動画として再生することができる。しかも、ＣＤ−ＲＯＭ２１には、画像の特性に応じた手法で圧縮したデータを記憶しておき、これを圧縮方法に対応した復号化方法により復号して再生することができる。圧縮方法を１６ライン分の領域に応じて変更することができるので、自然画像とアニメーション画像が一画面内に混在するような場合でも、効率よくデータの圧縮、再生を行なうことができる。結果的に、全画像データの圧縮効率は向上する。また、性質の異なる画像を一画面内に混在させることができるので、両画像をそれぞれ復号した後合成するといった繁雑な手間、回路を要せず、全体を極めて簡略なシステムとして構成することができる。この結果、装置の小型化，低価格化等を達成することができる。これは、ビデオゲーム装置２０として極めて好適である。
【００８１】
本実施例では、図６に示したように、一画面を先頭から１６ラインずつの領域に分割して表示を行なうものとして説明した。つまり、各領域は、水平同期信号ＳＹＣに１から２４０の連続番号をつけたとすると、１，１７，３３，・・・，１＋１６×ｎ（ｎは０から１４までの整数）番から固定的に開始されているものとして説明したが、一つの領域をどの水平同期信号から始めるかを可変することも可能である。この設定は、実施例では画像データ伸長ユニット４７のコントローラ４７ｅを介してＭＰＵ４０から与えられる。コントローラ４７ｅからの指示に基づいて、圧縮データ取り込みブロック４７ａが圧縮データを取り込むタイミングを、水平同期信号ＳＹＣを単位としてずらすことが可能である。例えば、水平同期信号ＳＹＣで５本分後ろにずらすということは、各領域の開始位置が、６，２２，・・・，（１＋５）＋１６×ｎになるということである。一般式で記載すれば、ずらす量をｍ本（ｍ＝−１５〜＋１５）とすれば、各領域の開始位置ＢＳは、
ＢＳ＝（１＋ｍ）＋１６×ｎ
となる。即ち、ずらす量ｍをコントローラ４７ｅを介して指示することで、１６ライン分の画像をその領域内の所望の走査線位置から開始することができる。この指示は、ブロック単位に行なうことができる。
【００８２】
この結果、画像を上下にスクロールすることが容易に可能となる。即ち、全ブロックについて、読み込みのタイミングを１ラインずつ早くすれば、画像は全体として１水平走査線だけ上に移動し、次のタイミングで更に１ラインずつ早くすれば更に１走査線だけ上に移動する。従って、この処理を１５ライン上に移動するまで繰り返し、その次には、画像データの読み出しのブロックを１６ライン分そっくりずらすものとし、読み込みのタイミングを正常に（ｍ＝０）に戻し、再度ここから読み出しのタイミングを１ラインずつ早くしてゆけば、画面全体をスムースに上方にスクロールできる。下方向のスクロールも全く同様に行なうことができる。更に、画面を構成する一部の領域についてのみ、上記の読み込みのタイミングをずらす処理を行なえば、画面の一部のみをスクロールすることができる。また、一部は上方向のスクロール、他は下方向のスクロールとしたり、順次読み込みのタイミングをずらしてゆく量を可変すれば、同一の画面内で異なる早さのスクロールなども実現することができる。従って、スクロール中の全画面を総てＣＤ−ＲＯＭ２１に記憶しておく必要がなく、用意する画像データを低減してＲＯＭ内に記憶する実質的なデータを増やすことができる。
【００８３】
更に、次の処理により、１６ラインを単位とする領域の内部で、途中までで表示を取りやめることができる。復号されるデータは、１６ラインを単位としているので、Ａ側メモリ４７ｃおよびＢ側メモリ４７ｄに用意されるデータは１６ライン分まるごとである。そこで、画像信号コントロールユニット４５は、現在の表示のタイミングを見計らって、コントローラ４７ｅに対して初期化の命令を発行する。コントローラ４７ｅは、初期化の命令を受け付けると、次の水平同期信号ＳＹＣに同期して、画像データ伸長ユニット４７内部にリセット信号ＩＲＴを出力し、この装置全体を初期化する。
【００８４】
この処理を実行するコントローラ４７ｅの内部構成を図１３に示す。図示するように、コントローラ４７ｅ内部には、ＣＰＵデータ格納レジスタ２９１とラッチ回路２９５、およびオアゲート２９６が備えられており、このレジスタ２９１には、画像信号コントロールユニット４５のＭ−ＢＵＳおよび書込制御信号ＷＲＴが接続されている。画像信号コントロールユニット４５から、初期化の命令がこのレジスタ２９１に書き込まれると、レジスタ２９１はその出力をハイレベルに設定する。この出力を受けるラッチ回路２９５は、次の水平同期信号ＳＹＣが入力した時点でその出力Ｑをハイレベルとするから、この時、オアゲート２９６を介して、リセット信号ＩＲＴが出力される。なお、２入力のオアゲート２９６の他の入力には、ビデオゲーム装置２０全体のリセット信号ＲＳＴが接続されている。
【００８５】
画像信号コントロールユニット４５は、現在の表示の状況を監視しつつ、例えば特定の表示領域中の８番目の水平表示期間内に初期化の命令をコントローラ４７ｅに書き込む。すると、次の水平同期信号ＳＹＣが入った時点で画像データ伸長ユニット４７内部にリセット信号ＩＲＴが出力され、その領域内の９ライン目からは表示がなされなくなる。この実施例では、リセット信号ＩＲＴは、画像データ伸長ユニット４７内の総てのブロック，回路に出力されているので、データの蓄積なども初期化される。従って、表示を再開する場合には、少なくとも１６ライン前にそのリセット信号を解除するデータをＣＰＵデータ格納レジスタ２９１に書き込んでおく。次の水平同期信号に同期してラッチ回路２９５が、データをラッチし、内部のリセット信号ＩＲＴを解除する。この結果、画像データ伸長ユニット４７は動作状態に復し、表示させたい画像の復号と蓄積を開始する。水平同期信号ＳＹＣ１６個分の時間が経過して選択信号ＳＥＬが切り替わると、蓄積された画像データは、蓄積されていた側のメモリから水平同期信号ＳＹＣ毎に読み出され、通常の表示が開始される。
【００８６】
この結果、１６ライン分の領域の内部で所望の位置以降の表示を取りやめ、その後その領域と次の領域とを除けば、所望の位置から表示を再開することができる。表示データによっては１ライン単位で徐々に表示を増やしたり減らしたりすることが必要になることがあり、こうした要請に、本実施例の装置は容易に応えることができる。この機能を、ソフトウェアリセットと呼ぶ。なお、本実施例では、ソフトウェアリセットにより画像データ伸長ユニット４７内部の全回路・ブロックがリセットされるものとして説明したが、Ａ側切替回路２８２，Ｂ側切替回路２８４からビデオエンコーダユニット５０への画像データを出力する信号路ＤＣにゲートを設け、このゲートのみをリセット信号ＩＲＴでマスクする構成としても差し支えない。この場合に、圧縮データの復号化やメモリへの蓄積，メモリからの読み出しなどは、通常の表示時と同様に行なわれるので、どのタイミングからも画像の再表示が可能である。
【００８７】
なお、コントローラ４７ｅのＣＰＵデータ格納レジスタ２９１は、ソフトウェアリセットのみに用いられるものではなく、圧縮データの復号のタイミングやＡ側メモリ４７ｃ，Ｂ側メモリ４７ｄに蓄積された画像データの読み出しのタイミング等の制御に用いられる。例えば、水平方向の読み出しタイミングをセットすることで、水平方向のスクロールを行なうことも可能である。図１４（Ａ）は、この場合の回路構成を示すブロック図である。メモリから読み出された画像データがビデオエンコーダユニット５０に出力される信号路に遅延回路２９８を設け、この回路２９８の遅延時間をＣＰＵデータ格納レジスタ２９１の出力をラッチする８ビットラッチ２８７の出力により設定するのである。メモリからの画像データの読み出しは水平同期信号ＳＹＣに同期して読み出されているから、これを遅延すれば、水平同期信号ＳＹＣに対して表示の開始タイミングは遅延する。従って、図１４（Ｂ）に示すように、１ラインの画像は開始位置がずれ、その末尾は次の走査線上に表示される。結果的に画像は右側にスクロールしたことになる。
【００８８】
図１４（Ａ）の構成では、１ラインの画像データを遅延させることしかできないので、スクロールは右方向にしか行なえないが、図１５に示す構成を取れば、左スクロールも可能である。この場合には、ＣＰＵデータ格納レジスタ２９１の出力によりＡ側アドレス発生回路２８１の読出回路２８１ｂおよびＢ側アドレス発生回路２８３の読出回路２８３ｂに対して、データの読出タイミングをずらすように指示するのである。この指示を受けた各読出回路２８１ｂ，２８３ｂは、Ａ側メモリ４７ｃ，Ｂ側メモリ４７ｄから画像データを読み出すタイミングを水平同期信号ＳＹＣに対して前後にある程度ずらすことができる。水平同期信号ＳＹＣの場合、その信号の立ち上がりから実際の表示位置までには時間的な間隔があるから、水平同期信号ＳＹＣの直後からデータの読出を行なえば、画像を左方向に一定量スクロールすることができる。更に、各読出回路２８１ｂ，２８３ｂがデータを読み出す先頭アドレスを一定量オフセットしてしまえば、画像の表示開始位置を自在に変更することができ、左スクロール、右スクロールも、１６ライン分の領域を単位として自在に設定可能である。
【００８９】
次に、本発明の第２実施例としてのブロック歪除去フィルタについて説明する。図１６は、実施例としてのブロック歪除去フィルタ３００の概略構成図である。このブロック歪除去フィルタ３００は、後述するように、第１実施例の画像データ伸長ユニット４７の内部に組み込んで使用可能なものであるが、ここで、その動作の理解の便を図って、単独で構成した場合を図示する。図示するように、このブロック歪除去フィルタ３００は、直交変換によりブロックを単位として圧縮された画像を復号するブロック画像発生装置（第１実施例で言えば画像データ伸長装置２００）２００ａの後段に設けられるものである。
【００９０】
このブロック歪除去フィルタ３００は、第１，第２，第３のフィルタ３０１，３０２，３０３と、１６ラインを単位として復号後の画像を記憶するＡ側メモリ３０７ａ，Ｂ側メモリ３０７ｂ、第１のフィルタ３０１，３０２，３０３およびＡ側メモリ３０７ａ，Ｂ側メモリ３０７ｂを制御する画像メモリコントローラ３２０から構成されている。第３のフィルタ３０３の出力、即ちこのブロック歪除去フィルタ３００の出力は、ディジタルデータをアナログデータに変換して、ＣＲＴ等に表示を行なうビデオ回路（第１実施例で言えば、ビデオエンコーダユニット５０，ＮＴＳＣコンバータ６０）に接続されている。
【００９１】
第１，第２，第３のフィルタ３０１，３０２，３０３は、いずれも隣接する画像のデータを記憶しておき、フィルタ処理を施そうとする画像データとの間で加重平均を取る処理を行なうものである。具体的には、第１のフィルタ３０１は、８ビットのシリアル−シリアルのシフトレジスタ３３１と、加重平均を演算する演算器３３２と、第１の切替回路３１１から構成されている。また、第２のフィルタ３０２は、加重平均を演算する演算器３３５と第２，第３の切替回路３１２，３１３とから構成されている。第３のフィルタ３０３は、１ビットのラッチ３４１と加重平均を演算する演算器３４２と第４の切替回路３１４から構成されている。
【００９２】
第１のフィルタ３０１のシフトレジスタ３３１は、ブロック画像発生装置２００ａからドット（画素）単位で入力される画像データを、ドット単位のクロックＤＣＬに同期して入力し、８ドット分遅れて出力する。演算器３３２は、画像データを入力し、シフトレジスタ３３１の出力との加重平均を演算し、その結果を常時出力している。シフトレジスタ３３１の出力と演算器３３２の出力とは、第１の切替回路３１１の各接点に接続されており、画像メモリコントローラ３２０からの第１の制御信号ＣＳ１により選択された側の出力が、Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂへと出力される。
【００９３】
ブロック画像発生装置２００ａにより出力された画像データは、第１のフィルタ３０１を通過した後、Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂのいずれかに走査線の順序に配列して記憶される。２つのメモリの切替や画像データの配列の入れ替えなどは、第１実施例で説明した通りであり、画像メモリコントローラ３２０から書き込み用アドレスＷＡＤＡ，ＷＡＤＢ、読み出し用アドレスＲＡＤＡ，ＲＡＤＢなどが出力される点は、第１実施例と同一である。この２つのメモリから読み出された画像データＤＡ，ＤＢは、走査線方向に沿ったデータとなっているが、これが第２のフィルタ３０２に入力され、演算器３３５により加重平均の演算がなされたデータＤＤと併せて、計３種類の画像データＤＡ，ＤＢ，ＤＤが存在する。
【００９４】
画像データＤＡおよびＤＢは、切替回路３１２に入力され、画像メモリコントローラ３２０からの第２の制御信号ＣＳ２によりいずれか一方が選択される。この選択後の信号と画像データＤＤとが第３の切替回路３１３に入力され、画像メモリコントローラ３２０からの第３の制御信号ＣＳ３により、いずれか一方が選択される。選択後の信号が、第３のフィルタ３０３へと出力される。
【００９５】
第３のフィルタ３０３の１ビットのラッチ３４１には、第４の制御信号ＣＳ４がアクティブとなったとき画素単位で言えば一つ前のドットの画像データが記憶される。演算器３４２は、このラッチ３４１の出力と現在の画像データとの間で加重平均を演算する。第３のフィルタ３０３からの２つの出力は第４の切替回路３１４に入力され、画像メモリコントローラ３２０からの第５の制御信号ＣＳ５により、そのいずれか一方が出力される。これが、最終的な画像データとなり、その後のビデオ回路に出力される。
【００９６】
図１６に示したブロック歪除去フィルタ３００によるブロック間歪の除去動作について説明する。直交変換により符号化され圧縮されたデータは、図１７に示すように、輝度信号Ｙについては、８×８のブロックを単位として符号化されており、このブロック４つで１６×１６ドットの画像の輝度情報を表わしている。これに対して、色差信号Ｕ，Ｖは、サブサンプリングされており、各々８×８のデータとなっている。ブロック画像発生装置２００ａは、これらのデータを入力し、図１８に示す画像データを復号し、これをＡ側メモリ３０７ａおよびＢ側メモリ３０７ｂに交互に蓄積してゆく。Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂに蓄積される画像データは、１６ライン（走査線）分のデータされており、Ｂ（１，１）〜Ｂ（２，３２）までが最初のデータ領域に相当する画像データ、Ｂ（３，１）〜Ｂ（４，３２）までが次のデータ領域に相当する画像データ、以下同じようにＢ（２９，１）〜Ｂ（３０，３２）まで存在し、全体で、２５６画素×２４０ライン分の画面を構成している。
【００９７】
このように展開された画像データを更に詳細に示したのが、図１９である。復号されて得られた８×８のブロックの内部には、Ｄ（１，１）からＤ（８，８）まで、計６４点の画素のデータが並んでおり、その読み出し方向は、図１９（Ａ）に示すように、走査線の方向（横方向）である。従って、ブロックの内部では、画素のデータはＤ（１，１）からＤ（１，２）・・・・Ｄ（１，８）の順に読み出される。一方、このブロック自体は、図１９（Ｂ）に示すように、走査線方向と直交する方向に２個並び、これを一組として走査線方向に１６個配列されている。即ち、ブロックＢのつながり方は、Ｂ（１，１），Ｂ（２，１），Ｂ（１，２），Ｂ（２，２）・・・・・Ｂ（１，３２），Ｂ（２，３２）の順である。なお、この配列は、カラー静止画像符号化方式の世界的な標準であるＪ−ＰＥＧアルゴリズムとは、異なっている。Ｊ−ＰＥＧアルゴリズムに従うブロック配列の場合の扱いについては、後述する。復号された直後のデータの配列は以上の通りであるが、これがＡ側メモリ３０７ａ，Ｂ側メモリ３０７ｂに記憶され後は、図１９（Ｃ）に示すように、走査線に沿って画像データが配列された形式になっている。
【００９８】
実施例では、ＤＣＴ変換によりデータを符号化して圧縮するとき、８×８のブロックを単位としてデータを扱ってから、圧縮により高周波成分に対応した情報は失われる。この結果、復号しても完全に元の画像が復元できる訳ではなく、ブロックとブロックとの境目には、符号化により失われた情報による歪が現われ易い。これが、ブロック歪である。図１８からも明らかなように、こうしたブロック歪は、実施例のケースでは３種類あり、図１９に示したブロックＢの配列の順序に従って通過する境界の順に示せば、ｍ，ｎ，ｐ（ｍ＝１〜１５，ｎ＝１〜３２，ｐ＝１〜３０）を配列を示す変数として次のように表わすことができる。
【００９９】
境界ＳＡ：ブロックＢ（２ｍ−１，ｎ）とＢ（２ｍ，ｎ）との境界
境界ＳＢ：ブロックＢ（２ｍ，ｎ）とＢ（２ｍ＋１，ｎ）との境界
境界ＳＣ：ブロックＢ（ｐ，ｎ）とＢ（ｐ，ｎ＋１）との境界
【０１００】
そこで、図１６に示したブロック歪除去フィルタ３００によるブロック歪の除去の様子を、この境界ＳＡ，ＳＢ，ＳＣ毎に説明する。まず、第１のフィルタ３０１は、シフトレジスタ３３１を備え、常時８ドット前の画像データを出力しており、そのデータＤＯ１と現在の画像データとの間で演算器３３２による加重平均を求め、演算後のデータＤＯ２を出力している。ブロックＢ（１，１）とＢ（２，１）との境界ＳＡを例に取って説明する。画像メモリコントローラ３２０は、図２０に示すように、Ｂ（２，１）のデータの最初の８ドットＤ（１，１）からＤ（１，８）を出力するタイミングになると、第１の制御信号ＣＳ１をアクティブとし、第１の切替回路３１１を切り替える。この期間には、演算器３３２は、直前の８ドット、即ちシフトレジスタ３３１から読み出されているブロックＢ（１，１）の最後の８ビットＤ（８，１）〜Ｄ（８，８）までのデータと現在のデータとの加重平均を演算し、出力しているから、第１のフィルタ３０１の出力は、この期間だけ、直前の画像データとの間で加重平均された画像データＤＯ２となる。従って、第１のフィルタ３０１により、１６ラインのデータを構成する前の段階で、８×８のブロック間の境界ＳＡにおけるブロック歪が除去される。なお、上記説明では、ブロックＢ（１，１）とＢ（２，１）との間を例として取り上げたが、同様の処理が、ブロックＢ（２ｍ−１，ｎ）とＢ（２ｍ，ｎ）との境界でなされることは、当然である。画像メモリコントローラ３２０における第１の制御信号は、画素を単位とする画像データの基準クロックＣＬＫをカウントし、画像データの開始から８クロック分ハイレベルとなり、他の５６クロックの期間中ロウレベルとなる単純なカウンタ回路として容易に実現することができる。
【０１０１】
次に、第２のフィルタ３０２の働きについて、図２１を参照しつつ説明する。第１のフィルタ３０１により１６ライン内の走査線方向に直交する方向に並んだブロック間の歪は除去されるが、第１のフィルタ３０１によっては、１６ラインを単位として隣接する領域間のブロックの境界ＳＢにおける歪まで除去することはできない。第２のフィルタ３０２は、この歪を除去するためのものである。画像メモリコントローラ３２０は、第２の制御信号ＣＳ２を水平同期信号ＳＹＣ１６個毎に反転する信号として出力する。これは第１実施例における選択信号ＳＥＬと等価の信号である。
【０１０２】
この第２の制御信号ＣＳ２は、Ａ側メモリ３０７ａもしくはＢ側メモリ３０７ｂのうち、現在データが読み出されている側からの出力が有効となるよう、第２のフィルタ３０２の第２の切替回路３１２を切り替る。この第２の制御信号ＣＳ２に同期して画像メモリコントローラ３２０は、Ａ側メモリ３０７ａにデータの書き込み用アドレスＷＡＤＡを（あるいはＢ側メモリ３０７ｂにデータの書き込み用のアドレスＷＡＤＢを）、Ｂ側メモリ３０７ｂにデータの読み出し用アドレスＲＡＤＢを（あるいはＡ側メモリ３０７ａにデータの読み出し用アドレスＲＡＤＡを）、各々出力する。読み出し用，書き込み用、いずれのアドレスが出力されるかは、第２の制御信号ＣＳ２の状態により、結局Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂは、交互にデータの書き込み状態もしくは読み出し状態とされるのである。
【０１０３】
いま、図２１上段に示すように、ブロックＢ（２，１），Ｂ（２，２）・・・の各ラインの画像データが読み出されているとしよう。詳細は示さないが、書き込み用アドレスＷＡＤＡは、画像データが用意されるたびに更新されてゆき、通常データの読み出しに要する時間、即ち水平同期信号ＳＹＣの１６個分の期間よりかなり以前に、次の１６ライン分のデータの書き込みは完了する。他方、読み出し用アドレスＲＡＤＡは、水平同期信号ＳＹＣ毎に次のラインの先頭からデータを読み出すよう更新される。
【０１０４】
Ｂ側メモリ３０７ｂに出力されている読み出し用アドレスは、水平同期信号ＳＹＣ毎に新たなラインの画像データに対応して出力されており、Ｂ側メモリ３０７ｂからは、各ラインの画像データが順次出力される。１６個目の水平同期信号ＳＹＣが出力されたとき、Ｂ側メモリ３０７ｂからは、１６ラインからなる一つの領域の最後のラインＬ１６の画像データが読み出される。この時、画像メモリコントローラ３２０は、第２の制御信号ＣＳ２に先だって、第３の制御信号ＣＳ３を出力すると共に、Ａ側メモリ３０７ａに対して、次の領域の第１ラインＬ１のアドレスに相当する読み出し用アドレスＲＡＤＡを出力する。この結果、一つの領域の第１６ラインＬ１６の画像データＤＢをＢ側メモリ３０７ｂから読み出しているときには、Ａ側メモリ３０７ａから次の領域の第１ラインＬ１の画像データＤＡも同時に読み出される。
【０１０５】
第２のフィルタ３０２の演算器３３５は、この両画像データＤＢ，ＤＡの加重平均を演算し、これを出力する。この時、第３の制御信号ＣＳ３により、第３の切替回路３１３は演算器３３５からの出力を有効とする側に切り替えられているから、第２のフィルタ３０２からは、加重平均を取った画像データＤＤが出力されることになる。この結果、この第２のフィルタ３０２により、１６ラインを単位とする領域間のブロック歪は除去される。
【０１０６】
次に、第３のフィルタ３０３の働きについて説明する。このフィルタ３０３に対して画像メモリコントローラ３２０は、図２２に示すように、一つのライン内の画像データの８ドット目毎にアクティブとなる第４の制御信号ＣＳ４を出力する。この第４の制御信号ＣＳ４を受けて、第３のフィルタ３０３内のラッチ３４１は、８ドット目の画像データを記憶し、これを保持する。次のドット、即ちブロックの最初のドットの画像データが読み出されたとき、演算器３４２は、ラッチ３４１に保持された一つ前の画素の画像データと現在の画像データとの加重平均を求める演算を行ない、その結果ＤＦ２を出力する。画像メモリコントローラ３２０は、この期間中にのみアクティブとなる第５の制御信号ＣＳ５を出力し、第４の切替回路３１４を、この期間中のみ演算器３４２の出力が有効となるよう切り替える。この結果、第３のフィルタ３０３の出力は、各ブロックＢの最初の１ドットに対応する画像データを出力するときのみ、演算器３４２の出力ＤＦ２を出力し、その他の７ドットに対応する画像データを出力するときには、第２のフィルタ３０２から出力された画像データＤＦ１をラッチ３４１を介してそのまま出力する。以上の処理により、走査線方向に隣接するブロック同士の境界ＳＣでの歪は除去される。
【０１０７】
なお、実施例の第３のフィルタ３０３では、ラッチ３４１を設け、第４の制御信号ＣＳ４により、８ドット毎にデータをラッチするよう構成したが、第１のフィルタ３０１のシフトレジスタ３３１と同様に、１ビットのシフトレジスタを設け、常にその出力が１画素分遅れた画像データとなるようし、演算器３４２において常時一つ前の画素の画像データと現在の画像データとの間で加重平均を演算する構成とすれば、第４の制御信号ＣＳ４を用意する必要はない。
【０１０８】
以上のように構成されたブロック歪除去フィルタ３００は、ＤＣＴ変換により符号化された圧縮データを復号した際、各ブロック間に発生するブロック歪を総て除去することができる。しかも、Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂを巧みに利用して、各領域間の境界ＳＢでのブロック歪を除去しているので、この境界ＳＢでのブロック歪を除去するために特別なラインバッファを設ける必要がない。また、１６ラインを単位とする領域内部のブロック間の歪は、Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂにデータを格納する以前に除去してしまうので、このためのメモリにわずか８ビットのシフトレジスタを用意するだけで足りるという大きな利点が得られる。
【０１０９】
本実施例では、図１９（Ｂ）に示したように、ブロックの配列はＢ（１，１）→Ｂ（２，１）→Ｂ（１，２）→Ｂ（２，２）・・・の順となっている。このため、境界ＳＡでのブロック歪を除去するのに、データの記憶手段としわずか８ビットのシフトレジスタ３３１を備えただけの第１のフィルタ３０１を用いることができるのであるが、他の配列であっても、本発明の考え方を適用することができる。ＤＣＴによる画像圧縮の国際的な標準であるＪ−ＰＥＧアルゴリズムでは、図２３に示すブロックの配列が基本であり、更に図２４に示す拡張された配列が規定されている。図２３に示す基本配列では、ブロックの配列は、Ｂ（１，１）→Ｂ（１，２）→Ｂ（２，１）→Ｂ（２，２）→Ｂ（１，３）・・・の順である。
【０１１０】
また、拡張配列では、図２４に示すように、ブロックは、Ｂ（１，１）→Ｂ（２，１）→Ｂ（１，２）→Ｂ（１，３）・・・→Ｂ（１，２ｎ　）→Ｂ（２，１）→Ｂ（２，２）・・・→Ｂ（２，２ｎ　）→Ｂ（１，２ｎ　＋１）→Ｂ（１，２ｎ　＋２）・・・→Ｂ（１，２ｎ＋１　）・・・の順である。即ち、走査線方向に２ｎ　個（ｎは自然数）毎にグループ化し、これを走査線方向にいくつか並べた構造である。ｎ＝１の場合が基本配列となる。
【０１１１】
画像の配列がＪ−ＰＥＧアルゴリズムに従う場合のブロック歪除去フィルタ４００の構成を、図２５に示した。このブロック歪除去フィルタ４００は、先の実施例に示したブロック歪除去フィルタ３００の第２のフィルタ３０２および第３のフィルタ３０３に加えて、ブロック歪除去フィルタ３００の第１のフィルタ３０１とは異なる第４のフィルタ４０１から構成されている。第４のフィルタ４０１は、１６ビットのラインバッファ４３１と、加重平均の演算を行なう演算器４３２と、画像データの切替を行なう切替回路４１１とから構成されている。
【０１１２】
切替回路４１１は、画像メモリコントローラ３２０の第１の制御信号ＣＳ１により切り替えられる。一方、ラインバッファ４３１は、画像メモリコントローラ３２０から出力される制御信号ＣＳ０により駆動される。この第４のフィルタ４０１の動作を、図２６に従って説明する。
【０１１３】
第４のフィルタ４０１は、先の実施例の第１のフィルタ３０１に変わるものであり、１６ラインを単位とする領域内のブロック間の歪を除去するものである。そこで、画像データがＪ−ＰＥＧアルゴリズムの基本配列（図２３）に従って圧縮されているものとし、ブロックＢ（１，１）Ｂ（１，２）Ｂ（２，１）Ｂ（２，２）を例として説明する。Ｊ−ＰＥＧアルゴリズムの基本配列では、データはこの順にブロック画像発生装置２００ａから出力されてくる。更に、各ブロックの内部では、走査線方向の８ビットずつデータは取り出される。図では、この８ビットのデータをＤ１１，Ｄ２１，Ｄ３１・・・Ｄ８１として示した。
【０１１４】
画像メモリコントローラ３２０は、８×８のブロックＢ（１，１）の最後の８ビットのデータＤ８１がブロック画像発生装置２００ａから出力されるタイミングで、制御信号ＣＳ０を出力する。この制御信号ＣＳ０を受けて、ラインバッファ４３１は、８ビットの画像データＤ８１を記憶する。その後、次のブロックＢ（１，２）の画像データが順次出力され、同様に最後の８ビットのデータＤ８２が出力されるとき、制御信号ＣＳ０は再びアクティブとなり、ラインバッファ４３１は、８ビットの画像データＤ８２を記憶する。この結果、ラインバッファ４３１には、計１６ビットのデータＤ８１，Ｄ８２が記憶されたことになる。
【０１１５】
その後、次のブロックＢ（２，１）の画像データＤ１１が、ブロック画像発生装置２００ａから出力されるが、このタイミングで第１の制御信号ＣＳ１は、アクティブとなる。第１の制御信号ＣＳ１がアクティブとなると、ラインバッファ４３１から８ビットの画像データを読み出すと共に、切替回路４１１を演算器４３２からの出力が有効となるよう切り替える。ラインバッファ４３１から読み出される画像データは、図２６に示すブロックＢ（１，１）の最終ラインのデータＤ８１なので、演算器４３２では、このデータＤ８１と現在読み出し中のデータＤ１１との加重平均となる。
【０１１６】
このデータＤＯ２が第４のフィルタ４０１の出力として、後段の第２のフィルタ３０２に出力される。第２のフィルタ３０２以下の構成は、先に説明した実施例と同一である。また、ブロックＢ（２，１）の全データＤ１１〜Ｄ８１が読み出された後、ブロックＢ（２，２）の画像データが読み出されるとき、同様に第１の制御信号ＣＳ１が出力され、ラインバッファ４３１から、先に記憶されたブロックＢ（１，２）のデータＤ８２が出力される。従って、同様に、ブロックＢ（２，２）のデータＤ１２と、ブロックＢ（１，２）のデータＤ８２との加重平均が演算器４３２により演算され、このデータＤＯ２が出力される。
【０１１７】
以上説明した実施例によれば、画像データがＪ−ＰＥＧアルゴリズムの基本形式で符号化・圧縮されている場合でも、僅かな記憶容量（この実施例では１６ビット）のラインバッファ４３１を用意するだけで、１６ラインを単位とする領域内のブロック間の歪を除去することができる。更に、１６ラインを単位とする領域間のブロック歪は第２のフィルタ３０２により、走査線方向に隣接するブロック間の歪は第３のフィルタ３０３により、おのおの容易に除去することができる。
【０１１８】
本実施例では、画像の圧縮の形式はＪ−ＰＥＧアルゴリズムの基本形式を採用しているものとして説明したが、画像がＪ−ＰＥＧアルゴリズムの拡張形式により各ブロックが配列されている場合（図２４参照）でも、同様の構成によりブロック歪を除去できることは言うまでもない。この場合には、第４のフィルタ４０１のラインバッファ４３１のビット数を、８ビット×２ｎ　とすればよい。
【０１１９】
ここで、ｎ＝８の場合には、走査線方向の画素数が２ｎ　＝２５６となり、Ｊ−ＰＥＧアルゴリズムの拡張形式でのグループは一つとなる。即ち、この場合には、１ライン分のバッファを持つ場合と等しくなる。この場合には、図２７に示すように、第２のフィルタ３０２，第３のフィルタ３０３の後段に、第５のフィルタ４５０を設ければよい。第５のフィルタ４５０は、１ライン分のラインバッファ４５１、加重平均を求める演算器４５３、データを切り替える切替回路４５５から構成されている。このラインバッファ４５１は、２５６ビットのシリアル入出力のシフトレジスタであり、画像データが入力されると、常に一つ前のラインの画像データを出力することになる。演算器４５３は、ラインバッファ４５１から読み出される一つ前のラインの画像データと現在読み出し中のラインの画像データとの加重平均を演算している。切替回路４５５は、ラインバッファ４５１の出力と演算器４５３の出力を、画像メモリコントローラ３２０からの制御信号ＣＳ６により切り替える。この制御信号ＣＳ６は、第８走査線から走査線１６本毎にアクティブとなり、演算器４５３からの出力を有効とする。この結果、１６ラインを単位とする領域内のブロック間の歪を除去することが可能となる。
【０１２０】
なお、１６ラインを単位とする領域間の歪は、第２のフィルタ３０２により、Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂからの画像データの読み出し時に除去する点は、先に説明した実施例と同様である。なお、こうしたラインバッファ４５１を設けるのであれば、第２のフィルタ３０２は、切替回路３１２を除いて省略し、１６ラインを単位とする領域内のブロック間歪のみならず、領域間の歪も第５のフィルタ４５０により除去するものとしても差し支えない。この場合には、画像メモリコントローラ３２０からの制御信号ＣＳ６を、水平走査線８本毎に出力されるものとすれば良い。
【０１２１】
以上、ブロック歪フィルタのいくつかの実施例について説明したが、この歪フィルタは、第１実施例の画像復号化装置と簡単に組み合わせることができる。図２８に、第１実施例のメモリコントロールブロック４７ｂにブロック歪除去フィルタを組み込んだ構成を示す。即ち、切替回路２８６からの出力信号路に第１のフィルタ３０１を介装し、Ａ側切替回路２８２およびＢ側切替回路２８４の出力をそのまま第２のフィルタ３０２の入力とし、その出力を第３のフィルタ３０３を通して、後段のビデオエンコーダユニット５０に出力するものとすればよい。なお、切替回路２８６から出力される画像データが再生ランレングス画像データＲＲＤである場合には、ブロック歪は生じていないので、各フィルタ３０１，３０２，３０３の動作を停止し、信号をそのまま通過させるものとすればよい。
【０１２２】
以上説明したブロック歪除去フィルタは、画像復号時のブロックの大きさにより、各バッファやメモリの容量も変更される。また、Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂの容量は、１６ラインを単位とするものに限る必要はなく、各種のメモリ容量のものが設計可能である。更に、これらのメモリが一画面分の容量を持ち、動画の場合に両メモリを交互に切り替えて再生する構成であれば、両メモリを切り替える際の境界は画面に表示されないので、この部分の歪を除去するフィルタは、用いる必要がない。
【０１２３】
また、実施例では、８×８ドットのブロックの縦方向（走査線に直交する方向）の数はいずれも２として説明したが、３以上のブロックが縦方向に連続するよう配列された場合でも、同じように本発明のブロック除去フィルタを構成・適用することができる。この場合にも、図１６の構成は何等変更する必要がなく、Ａ側メモリ３０７ａ，Ｂ側メモリ３０７ｂの容量を増加するだけで良い。
【０１２４】
以上の実施例の説明では、画像の圧縮については、詳しく説明しなかったが、本実施例では、画像の圧縮にＤＣＴ（ディスクリートコーサイン変換）を用いた。これらの画像の圧縮の一例および画像データ伸長装置２００における画像伸長の詳細について、説明する。
【０１２５】
画像データ圧縮装置１００のＤＣＴ部１１０は、次の数式１に従って、各画素ブロックＰＢ毎に２次元ＤＣＴ変換を行なう。
【０１２６】
【数１】
2004048727.tif 000003
【０１２７】
ここで、ｆ（ｘ，ｙ）は１つの画素ブロックＰＢに含まれる８×８個の画像データの配列、ｘ，ｙは各画素ブロックＰＢ内の各画素の位置を示す座標、Ｆ（ｕ，ｖ）は変換係数の配列、ｕ，ｖは周波数空間の座標である。
【０１２８】
図２９は、変換係数Ｆ（ｕ，ｖ）の配列を示す説明図である。変換係数Ｆ（ｕ，ｖ）は画素ブロックＰＢと同じ８×８の配列である。左上端の変換係数Ｆ（０，０）はＤＣ成分（またはＤＣ係数）と呼ばれており、その他の変換係数はＡＣ成分（またはＡＣ係数）と呼ばれている。ＤＣ成分は、画素ブロックＰＢにおける画像データの平均値を示している。また、ＡＣ成分は、画素ブロックＰＢ内における画像データの変化を示している。隣接する画素の画像データにはある程度の相関があるので、ＡＣ係数の中で低周波成分の値は比較的大きく、高周波成分の値は比較的小さい。また、高周波成分が画質に与える影響は比較的小さい。
【０１２９】
図３０は、画像データ圧縮装置１００と画像データ伸長装置２００の基本動作を示す説明図である。ＤＣＴ部１１０は、図３０（ａ）に示すＤＣＴ係数Ｆ（ｕ，ｖ）を作成する。
【０１３０】
量子化テーブル作成部１４０は、次の数式２に示すように、基本量子化テーブルＢＱＴ（図３０（ｃ））と量子化レベル係数ＱＣｘとを乗ずることによって量子化テーブルＱＴ（図３０（ｄ））を作成する。
【０１３１】
【数２】
2004048727.tif 000004
【０１３２】
図３０の例ではＱＣｘ＝１なので、量子化テーブルＱＴは基本量子化テーブルＢＱＴと同一である。
【０１３３】
量子化部１２０は、ＤＣＴ係数Ｆ（ｕ，ｖ）を量子化テーブルＱＴで線形量子化することによって、図３０（ｂ）に示す量子化されたＤＣＴ係数ＱＦ（ｕ，ｖ）を求める。線形量子化とは、除算を行なって、その除算結果を整数に丸める処理である。
【０１３４】
ハフマン符号化部１３０は、このＤＣＴ係数ＱＦ（ｕ，ｖ）をハフマン符号化することによって圧縮画像データＺＺ（図３０（ｅ））を作成する。なお、ハフマン符号化の方法については更に後述する。圧縮画像データＺＺは、後述するように、基本量子化テーブルＢＱＴを表わす第１のデータと、量子化レベル係数ＱＣｘと変換係数ＱＦ（ｕ，ｖ）を表わす第２のデータとを含んでいる。
【０１３５】
圧縮画像データＺＺが画像データ伸長装置２００に与えられると、ハフマン復号化部２１０が圧縮画像データＺＺを復号化してＤＣＴ係数ＱＦ（ｕ，ｖ）（図３０（ｆ））を求める。ハフマン符号化は可逆符号化なので、このＤＣＴ係数ＱＦ（ｕ，ｖ）は、画像データ圧縮装置１００の量子化部１２０によって求められた量子化後のＤＣＴ係数ＱＦ（ｕ，ｖ）（図３０（ｂ））と同一である。なお、ハフマン復号化部２１０は、ＤＣＴ係数ＱＦ（ｕ，ｖ）の他に、圧縮画像データＺＺに含まれている基本量子化テーブルＢＱＴ（図３０（ｃ））と量子化レベル係数ＱＣｘも復号化して逆量子化テーブル作成部２５０に与える。
【０１３６】
逆量子化テーブル作成部２５０は、基本量子化テーブルＢＱＴと量子化レベル係数ＱＣｘとを乗算することによって量子化テーブルＱＴ（図３０（ｄ））を作成する。逆量子化部２２０は、この量子化テーブルＱＴとＤＣＴ係数ＱＦ（ｕ，ｖ）とを乗算し、図３０（ｇ）に示す復号されたＤＣＴ係数ＦＦ（ｕ，ｖ）を求める。
【０１３７】
ＩＤＣＴ部２３０は、このＤＣＴ係数ＦＦ（ｕ，ｖ）に対して次の数式３に示す２次元ＤＣＴ逆変換を行ない、復元された画像データｆｆ（ｘ，ｙ）を作成する。
【０１３８】
【数３】
2004048727.tif 000005
【０１３９】
次に、量子化レベル係数ＱＣｘによる量子化テーブルＱＴの調整について説明する。量子化テーブルＱＴは、前記数式２に従って基本量子化テーブルＢＱＴと量子化レベル係数ＱＣｘとを乗算することによって作成されるので、量子化レベル係数ＱＣｘの値を大きくすれば量子化テーブルＱＴ内の各量子化レベルを大きくすることができる。量子化レベル係数ＱＣｘの値は、画像データ圧縮装置１００において画像データを圧縮する際に、予め定められた複数の値（０〜１５）の中からオペレータが選択する。
【０１４０】
ところで、ＤＣＴ係数のＤＣ成分は画素ブロックＰＢ内における画像データの平均値を示しているので、画質に対する影響がかなり大きい。従って、量子化レベル係数ＱＣｘの値に係わらずに、ＤＣ成分用の量子化レベルを基本量子化テーブルＢＱＴにおける値と同じに保つようにするのが好ましい。
【０１４１】
次に、ハフマン符号化と圧縮データの構成について説明する。画像データ圧縮装置１００のハフマン符号化部１３０（図３）は、ＤＣ係数符号化部とＡＣ係数符号化部とで構成されている。図３１（Ａ）は、ＤＣ係数符号化部の機能を示すブロック図である。ブロック遅延部１３１と加算器１３２は、図３１（Ｂ）に示すように、各画素ブロックＰＢのＤＣ係数ＤＣｉ　と１つ前の画素ブロックＰＢのＤＣ係数ＤＣｉ−１　との差分ΔＤＣを算出する。
【０１４２】
カテゴリ化処理部１３３は、図３２に示すカテゴリ化テーブルに従って、ＤＣ係数の差分△ＤＣに対応するカテゴリＳＳＳＳと識別データＩＤとを求める。カテゴリＳＳＳＳは、ＤＣ係数の差分△ＤＣの範囲を示す番号である。識別データＩＤは、カテゴリＳＳＳＳで指定される複数の差分△ＤＣの中の小さい方から何番目の値であるかを示すデータである。
【０１４３】
カテゴリＳＳＳＳは、さらに１次元ハフマン符号化部１３４（図３１）においてＤＣ係数用のハフマン符号語ＨＦＤＣに変換される。図３３は、１次元ハフマン符号化部１３４によって使用されるハフマン符号テーブルＨＴＤＣの一例を示す説明図である。この実施例では、原画像データｆ（ｘ，ｙ）がＹＵＶ信号（輝度信号Ｙと２つの色差信号Ｕ，Ｖ）で表現されているものとする。Ｕ信号／Ｖ信号共用のＤＣ係数用ハフマン符号テーブルは、０〜９のカテゴリＳＳＳＳの符号語を含むだけである。一方、Ｙ信号用のＤＣ係数用ハフマン符号テーブルは、０〜９のカテゴリＳＳＳＳの符号語の他に、１５〜３１のカテゴリＳＳＳＳの符号語を含んでいる。ＳＳＳＳ＝１５のハフマン符号語は、後述するヌルランデータであることを示している。ヌルランデータは、一様色の画素ブロックＰＢが連続することを示すデータである。また、ＳＳＳＳ＝１６〜３１のハフマン符号語は、量子化レベル係数ＱＣｘの値を示す符号である。例えば、ＳＳＳＳ＝１６に対するハフマン符号語「　１１１１１００００」はＱＣｘ＝０を示しており、ＳＳＳＳ＝３１に対するハフマン符号語「　１１１１１１１１１」はＱＣｘ＝１５を示している。なお、図３３のハフマン符号語は、カテゴリＳＳＳＳ＝１〜９、および１５〜３１のすべてに関して一意復号可能で、かつ、瞬時復号可能である。
【０１４４】
図３４は、ハフマン符号化部１３０内のＡＣ係数符号化部の機能を示すブロック図である。ＡＣ係数の配列Ｆ（ｕ，ｖ）（ｕ＝ｖ＝０を除く）は、まずジグザグスキャン部１３５によって１次元に並び直される。図３５は、ジグザグスキャンの順路を示す説明図である。
【０１４５】
判定部１３６は、１次元に並び直されたＡＣ係数の値が０か否かを判定する。ＡＣ係数の値が０であれば、ランレングスカウンタ１３７が、連続する０のＡＣ係数をゼロラン長ＮＮＮＮに変換する。ＡＣ係数が０でなければ、そのＡＣ係数の値がカテゴリ化部１３８によってカテゴリＳＳＳＳと識別データＩＤに変換される。この際、図３２に示すカテゴリ化テーブルが参照される。
【０１４６】
ゼロラン長ＮＮＮＮとカテゴリＳＳＳＳとは、２次元ハフマン符号化部１３９においてＡＣ係数用のハフマン符号語ＨＦＡＣに変換される。図３６は、ＡＣ係数用の２次元ハフマン符号テーブルＨＴＡＣを示す説明図である。また、図３７は、ハフマン符号テーブルＨＴＡＣの中で、ＮＮＮＮ＝０とＮＮＮＮ＝１の部分（図３６における最上部２行）のハフマン符号語の一例を示している。なお、ＮＮＮＮ／ＳＳＳＳ＝０／０のハフマン符号語「　１１１１１」は、１つの画素ブロックに対する符号データの終了を示している。
【０１４７】
図３８は、ハフマン符号化の一例を示す説明図である。図３８（Ｂ）は、ＤＣ係数の符号化を示している。１つ前の画素ブロックにおけるＤＣ係数の値を０と仮定すると、△ＤＣ＝Ｆ（０，０）＝１２である。図３２のカテゴリ化テーブルによれば△ＤＣ＝１２のカテゴリＳＳＳＳは４であり、識別データＩＤは「１１００」である。また、図３３のＤＣ係数用ハフマン符号テーブルによれば、カテゴリＳＳＳＳ＝４のハフマン符号語ＨＦＤＣは「　０１１」である。なお、ここではＹ信号用のハフマン符号テーブルを使用する。ＤＣ係数に対するハフマン符号（ＨＦ＋ＩＤ）は、図３８（Ｂ）に示すように「　０１１１１００」となる。
【０１４８】
図３８（Ｃ）はＡＣ係数の符号化を示している。まず、ジグザグスキャンによって、ＡＣ係数が一次元の配列に並べられる。この配列は、ゼロラン長ＮＮＮＮと、ゼロでない値のカテゴリＳＳＳＳ（図３２参照）とに変換される。ゼロラン長ＮＮＮＮとカテゴリＳＳＳＳの組み合わせは、図３６および図３７に示すＡＣ係数用ハフマン符号テーブルによってハフマン符号語ＨＦＡＣに変換され、ゼロでないＡＣ係数の識別データＩＤと組み合わされて、図３８（Ｃ）に示すようにハフマン符号（ＨＦＡＣ＋ＩＤ）が作成される。
【０１４９】
ブロックデータ内の１つの画素ブロックに対する符号データは、図５（Ｆ）に示すように、ＤＣ係数の１つのハフマン符号データと、ＡＣ係数の複数のハフマン符号データとで構成されている。ＤＣ係数のハフマン符号データは、前述したように、カテゴリＳＳＳＳのハフマン符号語ＨＦＤＣと識別データＩＤとで構成される（図５（Ｇ））。また、ＡＣ係数のハフマン符号データは、ゼロラン長ＮＮＮＮとカテゴリＳＳＳＳとの組み合わせに対するハフマン符号語ＨＦＡＣと、識別データＩＤとで構成される（図５（Ｈ））。
【０１５０】
量子化レベル係数ＱＣｘの符号データは、圧縮データ部の先頭と、量子化レベル係数ＱＣｘの値を変更したい画素ブロックのブロックデータの直前に挿入されている。２番目の量子化レベル係数ＱＣｘが挿入される前の複数の画素ブロックに対しては、先頭の量子化レベル係数ＱＣｘが共通に使用される。また、３番目の量子化レベル係数ＱＣｘ（図示せず）が挿入される前の複数のブロックに対しては、２番目の量子化レベル係数ＱＣｘが共通に使用される。
【０１５１】
なお、圧縮データ部の先頭に量子化レベル係数ＱＣｘの符号語が含まれていない場合には、ＱＣｘ＝１であると見なされる。従って、圧縮データ部の先頭に量子化レベル係数ＱＣｘが挿入されておらず、途中に量子化レベル係数ＱＣｘが１回だけ挿入されている場合にも、量子化レベル係数ＱＣｘが２つ指定されていることと等価である。
【０１５２】
量子化レベル係数ＱＣｘを表わすハフマン符号は、ブロックデータの間に挿入されているので、新たな量子化レベル係数ＱＣｘが復号化された時点の次のブロックデータに対してこの新たな量子化レベル係数ＱＣｘを容易に適用することができる。また、図３３に示すように、量子化レベル係数ＱＣｘの符号データはＤＣ係数用のハフマン符号語で表わされているので、これがブロックデータの間に挿入されていても、この符号データがブロックＹ１用のＤＣ係数の符号データであるか、量子化レベル係数ＱＣｘの符号データであるかを直ちに判断することが可能である。
【０１５３】
圧縮データ部に含まれているヌルランデータは、図５（Ｅ）に示すように、ヌルランデータであることを示すＤＣ係数用符号語「ＮＲＬ」と、ブロック数と、識別データＩＤとで構成されている。
【０１５４】
図３９は、ヌルランデータによって表わされる画像を示す説明図である。図３９（Ａ）の原画像の背景ＢＧは一様色で塗られている。図３９（Ａ）の楕円の部分は、図３９（Ｂ）に示すようにすべての画素が同じ画像データ値（ｆ（ｘ，ｙ）＝１２）を有する画素ブロックが１８個連続しているものと仮定する。図３９（Ｃ）は、これらの画素ブロックを表わすヌルランデータを示している。このヌルランデータは、１６画素ブロック分の第１のヌルランデータＮＲＤ１と、２画素ブロック分の第２のヌルランデータＮＲＤ２を含んでいる。
【０１５５】
各ヌルランデータＮＲＤ１，ＮＲＤ２の先頭には、ヌルランデータであることを示すＤＣ係数用符号語「ＮＲＬ」（図３３のカテゴリＳＳＳＳ＝１５の符号語「　１１１１０１１」）を有している。図５（Ｆ）に示すように、通常のブロックデータの先頭にはＤＣ係数のハフマン符号が配置されているので、先頭にあるＤＣ係数用符号語を復号化することによって、ヌルランデータと、ブロックデータと、量子化レベル係数ＱＣｘの符号データとを一意にかつ瞬時に識別することができる。
【０１５６】
図３９（Ｃ）に示すように、ブロック数は、ＡＣ係数用ハフマン符号語で表わされている。図４０は、ＡＣ係数用ハフマン符号テーブル（図３６）のうちでヌルランデータに使用される部分を示す図である。ヌルランデータに使用される場合には、ゼロラン長ＮＮＮＮは（［ブロック数］−１）に等しいと設定される。また、ＡＣ係数の値は１であるとして、カテゴリＳＳＳＳ＝１のハフマン符号語が使用される。図３９（Ｃ）に示す第１のヌルランデータＮＲＤ１におけるブロック数のデータ（ＮＮＮＮ／ＳＳＳＳ＝１５／１）は一様色の画素ブロックが１６個連続していることを示している。また、第２のヌルランデータＮＲＤ２におけるブロック数のデータ（ＮＮＮＮ／ＳＳＳＳ＝１／１）は一様色の画素ブロックが２個連続していることを示している。
【０１５７】
各ヌルランデータＮＲＤ１，ＮＲＤ２の後端には、識別データＩＤが付加されている。この実施例では、ＩＤ＝１に固定されている。
【０１５８】
ヌルランデータは、このように、２０ビット程度のデータによって連続した複数の画素ブロックが一様色であることを表わすことが可能である。一方、通常のブロックデータによって一様色の１セットのブロック（図７に示すＹ信号を４画素ブロック、Ｕ信号，Ｖ信号を各１画素ブロック含む）を表わすには、約３００〜約４００ビット必要である。しかも、複数セットの画素ブロックが一様色であることを示す場合にも、各セットについて約３００〜約４００ビット必要である。従って、ヌルランデータを使用すれば、連続する一様色の多数の画素ブロックを表わす圧縮データのデータ量をかなり低減することが可能である。
【０１５９】
なお、ヌルランデータで表わされる一様色の画素ブロックの輝度信号Ｙや色差信号Ｕ，Ｖの値は、圧縮データには含まれておらず、ビデオゲームを記述するソフトウェアプログラムの中において指定されている。オペレータは、ビデオゲーム用のソフトウェアプログラムを作成する際に、一様色の画素ブロックの領域（図３９（Ａ）では背景ＢＧ）の範囲をマウス等で指定するとともに、これらのブロックの輝度や色調をキーボードやマウスを用いて指定する。こうすれば、例えばビデオゲーム装置２０（図１）を用いてゲームを実行している途中に特定のイベントが発生した場合に、背景ＢＧの色を時間的に変化させるなどの特殊な視覚的効果を生じさせることができる。
【０１６０】
以上、本発明の画像復号化装置とブロック歪除去フィルタのいくつかの実施例について説明したが、本発明は、これらの実施例に何等限定されるものではなく、例えばビデオゲーム装置２０以外の用途（例えばＣＡＤ，３Ｄモデル作成装置，コンピュータグラフィックの作成装置等）に使用した構成、ＤＣＴ以外の直交変換を利用した構成、ｎライン分のデータを記憶するメモリを一つにし同時に読み書きできるデュアルポートメモリにより構成したものなど、本発明の要旨を変更しない範囲内において、種々の態様により実施し得ることは勿論である。
【０１６１】
【発明の効果】
以上説明したように、本発明の第１の画像復号化装置によれば、一方向に沿った圧縮データについての復号化が完了したとき、記憶手段には、復号化された画像データが、少なくともｎライン分のデータとして読み出し可能に構成され、この復号化とは異なるタイミングで、読出手段が、ｎライン分のデータを、ラインを単位として読み出すから、最小では、ｎライン幅の記憶手段があれば、一画面の画像の表示が可能となるという優れた効果を奏する。
【０１６２】
本発明の第２の画像復号化装置によれば、直交変換により符号化された圧縮データについての復号化が走査線方向に沿って完了したとき、メモリには、復号化された画像データが、少なくともｎライン分のデータとして読み出し可能に構成され、この復号化された画像データの書き込み速度より遅い読み出し速度で、読出回路が、ｎライン分のデータを、ラインを単位として、表示装置の走査線に従って読み出すから、最小では、ｎライン幅のメモリがあれば、一画面の画像の表示が可能となるという優れた効果を奏する。
【０１６３】
特に、Ｊ−ＰＥＧアルゴリズムなどのように、ｎ×ｎドットのブロックを２×２個まとめて符号化した画像データに対して、そのブロックの２列分について復号化が完了したとき、記憶手段（メモリ）に２×ｎライン分のデータを読み出し可能に構成するものとすれば、２×２ブロックを単位として画像の圧縮を行なうものに容易に対応でき、復号化装置の構成を簡略することができるという利点がある。また、２つの記憶手段（メモリ）を切り替えて使用するので、特殊な構造のものを利用する必要がなく、通常の安価なメモリを使用することができる。
【０１６４】
本発明の画像再生装置によれば、一方向に沿った圧縮データについての復号化が完了したとき、復号データ記憶手段には、復号化された画像データが、少なくともｎライン分のデータとして読み出し可能に構成され、読出手段が、ｎライン分のデータを、ラインを単位として表示装置の表示タイミングに併せて順次読み出すから、一画面の画像に対応したフレームバッファなしでも、画像を復号し、順次表示することが可能となるという優れた効果を奏する。
【０１６５】
また、本発明の第１のブロック歪除去フィルタは、画像を構成する一方向に沿って復号されたｎライン分の画像データであり第１のメモリが記憶する画像データと、この画像データに隣接したｎライン分の画像データであって第２のメモリが記憶する画像データとの間で、所定のフィルタ処理を行なうから、ｎライン分の画像データ間のブロック歪を、簡易な構成により除去することができるという優れた効果を奏する。
【０１６６】
なお、本発明の第２のブロック歪除去フィルタは、画像データのブロックを単位とした読み出しにおいては、列方向を優先的な読み出し方向として読み出し、この方向に隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶しておき、次のブロックの最初のラインのデータの読み出し時の処理において両データについて、画素単位で所定のフィルタ演算を行なうから、ｍブロック×少なくとも２列の単位のなかでのブロック間の歪を、極めて簡単な構成により除去することができるという優れた効果を奏する。こうした処理は、画像を構成する一方向に沿ったｍブロック分（ｍは値１以上の整数）×２列以上を基本単位として扱うもの、例えばＪ−ＰＥＧ等のように、輝度情報と色差信号とで圧縮の度合いを異ならせている符号化を採用している場合、その内部のブロック間に生じる歪を除去するのに有効である。
【０１６７】
更に本発明の第３のブロック歪除去フィルタは、２列×ｍブロックの基本単位における第２発明の処理をブロックのｍ個の並びの方向に繰り返して２×ｎライン分の画像データを第１のメモリに記憶し、この画像データに隣接した２×ｎライン分の画像データを第２のメモリに記憶し、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なうから、２×ｎラインの幅の画像同士の境界でのブロック歪が除去されるという優れた効果を奏する。
【０１６８】
本発明の画像圧縮方法によれば、走査方向とは異なる方向に少なくとも２個のブロックを連続して符号化しているので、この画像データを復号化する処理において、この符号化の順序をそのまま利用してブロック歪を除去するフィルタ処理を行なう際、ブロック間の歪の処理のうち、走査方向と異なる方向の処理を少ない記憶容量で実施することができるという優れた効果を奏する。
【０１６９】
本発明の画像復号方法は、復号した各ブロックの画像データを、画像の走査方向とは異なる方向に少なくとも２個連続して読み出し、連続する２個のブロックの境界でブロック歪を除去するフィルタ処理を施し、フィルタ処理を施した画像データを、画像の走査方向に連続して記憶し、記憶した画像データを表示用に読み出す際、走査方向に隣接するブロックの境界でブロック歪を除去するフィルタ処理を施すから、少ない記憶容量で隣接するブロックの境界での歪の除去を実現することができるという優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施例としての画像処理装置を組み込んだビデオゲーム装置２０の外観図である。
【図２】同じくその内部構成を示すブロック図である。
【図３】画像データ伸長装置２００の具体的な構成を画像データ圧縮装置１００と対応付けて示すブロック図である。
【図４】原画像の一例を示す説明図である。
【図５】圧縮データの構造を示す説明図である。
【図６】一画面を構成す画素×ライン数と、これに対応した画像データの構成を示す説明図である。
【図７】ＹＵＶ各信号のブロックの関係を示す説明図である。
【図８】画像データ伸長ユニット４７の構成を示すブロック図である。
【図９】圧縮データ取り込みブロック４７ａの構成を示すブロック図である。
【図１０】メモリコントロールブロック４７ｂの構成を示す回路図である。
【図１１】復号化されたブロックのデータとラインデータとの関係を例示する説明図である。
【図１２】メモリコントロールブロック４７ｂにおける動作を示すタイミングチャートである。
【図１３】コントローラ４７ｅの一部を例示するブロック図である。
【図１４】同じくコントローラ４７ｅの他の構成部分とその働きを示す説明図である。
【図１５】同じくコントローラ４７ｅの他の構成例を示すブロック図である。
【図１６】ブロック歪除去フィルタ３００の概略構成を示すブロック図である。
【図１７】ＹＵＶの各信号の対応関係を例示する説明図である。
【図１８】ブロック歪が生じる境界を示す説明図である。
【図１９】復号化された画像データの構造を示す説明図である。
【図２０】境界ＳＡでのブロック歪の除去処理を示す説明図である。
【図２１】境界ＳＢでのブロック歪の除去処理を示す説明図である。
【図２２】境界ＳＣでのブロック歪の除去処理を示す説明図である。
【図２３】Ｊ−ＰＥＧアルゴリズムの基本配列を示す説明図である。
【図２４】同じくＪ−ＰＥＧアルゴリズムの拡張配列を示す説明図である。
【図２５】ブロック歪除去フィルタ４００の概略構成を示すブロック図である。
【図２６】第４のフィルタ４０１の動作の実際を示す説明図である。
【図２７】ブロック歪除去フィルタの他の構成例を示すブロック図である。
【図２８】実施例の画像データ復号化装置のメモリコントロールブロック４７ｂに実施例のブロック歪除去フィルタを組み込んだ構成を示すブロック図である。
【図２９】ＤＣＴ係数Ｆ（ｕ、ｖ）の配列を示す説明図である。
【図３０】圧縮／伸長の基本動作を示す説明図である。
【図３１】ＤＣ係数符号部の機能を示すブロック図である。
【図３２】ハフマン符号化におけるカテゴリ化テーブルを示す説明図である。
【図３３】ＤＣ係数用のハフマン符号テーブルＨＴＤＣの一例を示す説明図である。
【図３４】ＡＣ係数符号化部の機能を示すブロック図である。
【図３５】ＡＣ係数のジグザクスキャンの順路を示す説明図である。
【図３６】ＡＣ係数用の２次元ハフマン符号テーブルを示す説明図である。
【図３７】ハフマン符号テーブルの内容を示す説明図である。
【図３８】ハフマン符号化の一例を示す説明図である。
【図３９】ヌルランデータによって表わされる画像の一例を示す説明図である。
【図４０】ＡＣ係数用のハフマン符号テーブルの他の部分を示す説明図である。
【符号の説明】
２０…ビデオゲーム装置
２１…ＲＯＭ
２２…ゲーム機本体
２４，２６…ゲームパッド
２４ａ…スイッチ
２４ｂ…カーソルスティック
２８…カラーテレビ
３０…ビデオ信号ケーブル
３１…カバー
３２…ＲＯＭドライブ
３４…スピーカ
３６…ＳＣＳＩバス
４０…ＭＰＵ
４０ａ…演算部
４０ｂ…コントローラ
４１…メインメモリ
４２…ＲＯＭ
４３…ＢＵＳ
４５…画像信号コントロールユニット
４５ａ…ＭＰＵＩ／Ｆ
４５ｂ…ＳＣＳＩコントローラ
４５ｃ…ＡＦＦＩＮコンバータ
４５ｄ…グラフィックコントローラ
４５ｅ…サウンドコントローラ
４７…画像データ伸長ユニット
４７ａ…圧縮データ取り込みブロック
４７ｂ…メモリコントロールブロック
４７ｃ…Ａ側メモリ
４７ｄ…Ｂ側メモリ
４７ｅ…コントローラ
４９…ＶＤＰユニット
５０…ビデオエンコーダユニット
５０ａ…インタフェース部
５０ｂ…画像合成部
５０ｃ…ＤＡＣ部
５０ｄ…コントロール部
５２…音声データ出力ユニット
５２ａ…ＡＤＰＣＭ部
５２ｂ…音源ジェネレータ（ＰＳＧ）
５２ｃ…ミキサー
５５…ＲＡＭ
５９…ＲＡＭ
６０…ＮＴＳＣコンバータ
１００…画像データ圧縮装置
１１０…ＤＣＴ部
１２０…量子化部
１３０…ハフマン符号化部
１４０…量子化テーブル作成部
１５０…ハフマン符号テーブルメモリ
２００…画像データ伸長装置
２００ａ…ブロック画像発生装置
２１０…ハフマン復号化部
２２０…逆量子化部
２３０…ＩＤＣＴ部
２４０…ハフマン符号テーブルメモリ
２５０…逆量子化テーブル作成部
２６０…ランレングス復号ブロック
２７１…ヘッダ検出回路
２７２…モード識別回路
２７３…データ長検出回路
２７４…圧縮データカウント回路
２７５…データ選択回路
２８１…Ａ側アドレス発生回路
２８１ａ…書込回路
２８１ｂ…読出回路
２８２…Ａ側切替回路
２８３…Ｂ側アドレス発生回路
２８３ａ…書込回路
２８３ｂ…読出回路
２８４…Ｂ側切替回路
２８６…切替回路
２８７…カウント回路
２８８…アドレス一致検出回路
２９１…ＣＰＵデータ格納レジスタ
２９５…ラッチ
２９６…オアゲート
２９７…ラッチ
２９８…遅延回路
３００…ブロック歪除去フィルタ
３０１…第１のフィルタ
３０２…第２のフィルタ
３０３…第３のフィルタ
３０７ａ…Ａ側メモリ
３０７ｂ…Ｂ側メモリ
３１１…第１の切替回路
３１２…第２の切替回路
３１３…第３の切替回路
３１４…第４の切替回路
３２０…画像メモリコントローラ
３３１…シフトレジスタ
３３２…演算器
３３５…演算器
３４１…ラッチ
３４２…演算器
４００…ブロック歪除去フィルタ
４０１…第４のフィルタ
４１１…切替回路
４３１…ラインバッファ
４３２…演算器
４５０…第５のフィルタ
４５１…ラインバッファ
４５３…演算器
４５５…切替回路
Ｂ…ブロック
ＢＱＴ…基本量子化テーブル
ＣＤＴ…圧縮データ
ＣＬＫ…基準クロック
ＣＳ０…制御信号
ＣＳ１…第１の制御信号
ＣＳ２…第２の制御信号
ＣＳ３…第３の制御信号
ＣＳ４…第４の制御信号
ＣＳ５…制御信号
ＣＳ６…制御信号
ＤＡ…画像データ
ＤＢ…画像データ
ＤＣ…信号路
ＤＣＬ…クロック
ＤＤ…画像データ
ＤＤ１…データ構造体
ＤＥ１，２…有効信号
ＤＦ１…画像データ
ＤＩＳ…データ無効信号
ＤＲＱ…データ要求信号
ＨＤＰ…ヘッダ検出信号
ＨＴ…ハフマン符号テーブル
ＩＮＶ…インバータ
ＩＲＴ…リセット信号
ＮＣＤ…自然画像圧縮データ
ＱＣｘ…量子化レベル係数
ＱＴ…量子化テーブル
ＲＬＤ…ランレングス圧縮データ
ＲＭＳ…復号モード信号
ＲＮＤ…再生自然画像データ
ＲＲＤ…再生ランレングス画像データ
ＲＳＧ…判別信号
ＲＳＴ…リセット信号
ＳＡ…境界
ＳＢ…境界
ＳＣ…境界
ＳＥＬ…選択信号
ＳＹＣ…水平同期信号
ＷＲＴ…書込制御信号
Ｙ…輝度信号
【図１】
2004048727.tif 000006
【図２】
2004048727.tif 000007
【図３】
2004048727.tif 000008
【図４】
2004048727.tif 000009
【図５】
2004048727.tif 000010
【図６】
2004048727.tif 000011
【図７】
2004048727.tif 000012
【図８】
2004048727.tif 000013
【図９】
2004048727.tif 000014
【図１０】
2004048727.tif 000015
【図１１】
2004048727.tif 000016
【図１２】
2004048727.tif 000017
【図１３】
2004048727.tif 000018
【図１４】
2004048727.tif 000019
【図１５】
2004048727.tif 000020
【図１６】
2004048727.tif 000021
【図１７】
2004048727.tif 000022
【図１８】
2004048727.tif 000023
【図１９】
2004048727.tif 000024
【図２０】
2004048727.tif 000025
【図２１】
2004048727.tif 000026
【図２２】
2004048727.tif 000027
【図２３】
2004048727.tif 000028
【図２４】
2004048727.tif 000029
【図２５】
2004048727.tif 000030
【図２６】
2004048727.tif 000031
【図２７】
2004048727.tif 000032
【図２８】
2004048727.tif 000033
【図２９】
2004048727.tif 000034
【図３０】
2004048727.tif 000035
【図３１】
2004048727.tif 000036
【図３２】
2004048727.tif 000037
【図３３】
2004048727.tif 000038
【図３４】
2004048727.tif 000039
【図３５】
2004048727.tif 000040
【図３６】
2004048727.tif 000041
【図３７】
2004048727.tif 000042
【図３８】
2004048727.tif 000043
【図３９】
2004048727.tif 000044
【図４０】
2004048727.tif 000045
【手続補正書】
【提出日】平成15年7月2日(2003.7.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
　一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、該ブロックを単位として非可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
画像を構成する前記符号化された圧縮データから、前記縦横のいずれか一方向に沿って復号されたｎライン分の画像データを記憶する第１のメモリと、この画像データに隣接したｎライン分の画像データを記憶する第２のメモリとを備え、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう演算処理部を設けたブロック歪除去フィルタ。
【請求項２】
　一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、該ブロックを単位として非可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
前記復号された画像データを、画像を構成する前記縦横のいずれか一方向に沿ったｍブロック分（ｍは値１以上の整数）、２列以上を基本単位として扱うものとし、
該画像データのブロックを単位とする読み出しにおいては、列方向を優先的な読み出し方向として読み出す読出手段と、
該隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶する最終ラインデータ記憶手段と、
次のブロックの最初のラインのデータの読み出し時に、該最初のラインのデータと前記最終ラインデータ記憶手段に記憶された最終ラインのデータと、画素単位で所定のフィルタ演算を行なう演算処理部と
を備えたブロック歪除去フィルタ。
【請求項３】
　一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、該ブロックを単位として非可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
前記復号された画像データを、画像を構成する前記縦横のいずれか一方向に沿ったｍブロック分（ｍは値１以上の整数）、２列以上を基本単位として扱うものとし、
該画像データブロックを単位とする読み出しにおいては、列方向を優先的な読み出し方向として読み出す読出手段と、
該隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶する最終ラインデータ記憶手段と、
次のブロックの最初のラインのデータの読み出し時に、該最初のラインのデータと前記最終ラインデータ記憶手段に記憶された最終ラインのデータと、画素単位で所定のフィルタ演算を行なう第１の演算処理部と、
２列×ｍブロックの前記基本単位による上記処理を前記方向に繰り返して２×ｎライン分の画像データを記憶する第１のメモリと、この画像データに隣接した２×ｎライン分の画像データを記憶する第２のメモリとを有し、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう第２の演算処理部と
を備えたブロック歪除去フィルタ。
【請求項４】
　請求項１または請求項３記載のブロック歪除去フィルタであって、
前記第１または第２のメモリから、画像表示用にライン毎の画像データを連続的に読み出す際、前記ｍブロック方向の終端のデータを記憶する終端データ記憶手段と、
該基本単位内の最初のブロックに対応した開始端のデータを読み出す際、前記記憶された終端のデータとの間で所定の演算を行なう第３の演算処理部と
を備えたブロック歪除去フィルタ。
【請求項５】
ｍが値１である請求項２ないし請求項４のいずれか記載のブロック歪フィルタ。
【請求項６】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、
該ブロックを単位として非可逆符号化方式により符号化し、
該符号化の処理を、画像の走査方向とは異なる方向に少なくとも２個のブロックを連続して行ない、
該符号化により圧縮されたデータの形態で記憶する
画像圧縮方法。
【請求項７】
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、該ブロックを単位として非可逆符号化方式により符号化した圧縮データを復号する方法であって、
復号した各ブロックの画像データを、画像の走査方向とは異なる方向に少なくとも２個連続して読み出し、
該連続する２個のブロックの境界でブロック歪を除去するフィルタ処理を施し、
該フィルタ処理を施した画像データを、前記画像の走査方向に連続して記憶し、
該記憶した画像データを表示用に読み出す際、該走査方向に隣接するブロックの境界でブロック歪を除去するフィルタ処理を施す
画像復号方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
【発明の属する技術分野】
本発明は、ブロック間除去フィルタ並びにこれに適した画像圧縮方法および画像復号方法に関し、詳しくは一画面を構成する画像をｎ×ｎ画素からなるブロックを単位として分割し、このブロックを単位としてデータの処理を行なう画像処理技術に関する。本発明は、テレビゲーム機、パソコン用表示装置、マルチメディア機器等に使用される画像処理技術に適用可能であり、特に画像圧縮された符号化データを復号再生する技術に関する。


【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
【発明が解決しようとする課題】
一定の画素からなるブロックを対象として画像圧縮を行なう変換符号化の場合、復号化もブロックを単位として行なわれるから、ＣＲＴ等の表示装置に表示するために画像を表示装置の走査線に沿って読み出そうとすると、ブロック単位で復号したデータを一旦メモリに蓄積し、改めて走査線に沿ってライン単位で読み出す処理（ブロック−ライン変換処理）が必要となる。この時、走査線に直交する方向でブロック境界を跨ぐ際の歪除去を行なおうとすると、ブロックの最終ラインについては１ライン分の画像データを一旦ラインバッファに記憶しておかなければならない。その次のライン、即ちブロックの最初のラインに対応した画像データを読み出す時、ラインバッファに記憶したデータとの間でフィルタ演算を行ない、その結果を表示する画像データとして扱うのである。そうすると、ラインバッファは、画面の走査線方向の画素数に対応した大きさのものが必要になってしまう。


【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明は、上記の問題点を解決し、ブロック歪の除去をできるだけ少ないハードウェアの付加により実現することを目的としてなされた。


【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
【課題を解決するための手段】
本発明のブロック歪除去フィルタは、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、該ブロックを単位として非可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
画像を構成する前記符号化された圧縮データから、前記縦横のいずれか一方向に沿って復号されたｎライン分の画像データを記憶する第１のメモリと、この画像データに隣接したｎライン分の画像データを記憶する第２のメモリとを備え、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう演算処理部を設けたこと
を要旨とする。


【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
また、本発明の第２のブロック歪除去フィルタは、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、該ブロックを単位として非可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
前記復号された画像データを、画像を構成する前記縦横いずれか一方向に沿ったｍブロック分（ｍは値１以上の整数）、２列以上を基本単位として扱うものとし、
該画像データのブロックを単位とした読み出しにおいては、列方向を優先的な読み出し方向として読み出す読出手段と、
該隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶する最終ラインデータ記憶手段と、
次のブロックの最初のラインのデータの読み出し時に、該最初のラインのデータと前記最終ラインデータ記憶手段に記憶された最終ラインのデータと、画素単位で所定のフィルタ演算を行なう演算処理部と
を備えたことを要旨とする。


【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
更に、第３のブロック歪除去フィルタは、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、該ブロックを単位として非可逆符号化方式により符号化された圧縮データを画像データに復号する際、用いられるブロック歪除去フィルタであって、
前記復号された画像データを、画像を構成する前記縦横いずれか一方向に沿ったｍブロック分（ｍは値１以上の整数）、２列以上を基本単位として扱うものとし、
該画像データのブロックを単位とした読み出しにおいては、列方向を優先的な読み出し方向として読み出す読出手段と、
該隣接するブロックに対応した画像データの読み出し時に、前のブロックの最終ラインのデータを記憶する最終ラインデータ記憶手段と、
次のブロックの最初のラインのデータの読み出し時に、該最初のラインのデータと前記最終ラインデータ記憶手段に記憶された最終ラインのデータと、画素単位で所定のフィルタ演算を行なう第１の演算処理部と、
２列×ｍブロックの前記基本単位による上記処理を前記方向に繰り返して２×ｎライン分の画像データを記憶する第１のメモリと、この画像データに隣接した２×ｎライン分の画像データを記憶する第２のメモリとを有し、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、第２または第１のメモリの第１ラインを読み出し、両データ間で所定のフィルタ処理を行なう第２の演算処理部と
を備えたことを要旨とする。


【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
次に、こうした画像復号化処理およびブロック歪除去フィルタに適した画像圧縮方法の発明は、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、
該ブロックを単位として非可逆符号化方式により符号化し、
該符号化の処理を、画像の走査方向とは異なる方向に少なくとも２個のブロックを連続して行ない、
該符号化により圧縮されたデータの形態で記憶する
ことを要旨とする。


【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
他方、この画像圧縮方法に対応した画像復号方法の発明は、
一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、該ブロックを単位として非可逆符号化方式により符号化した圧縮データを復号する方法であって、
復号した各ブロックの画像データを、画像の走査方向とは異なる方向に少なくとも２個連続して読み出し、
該連続する２個のブロックの境界でブロック歪を除去するフィルタ処理を施し、
該フィルタ処理を施した画像データを、前記画像の走査方向に連続して記憶し、
該記憶した画像データを表示用に読み出す際、該走査方向に隣接するブロックの境界でブロック歪を除去するフィルタ処理を施す
ことを要旨とする。


【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】削除
【補正の内容】
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】削除
【補正の内容】
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】削除
【補正の内容】
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】削除
【補正の内容】
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】削除
【補正の内容】
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
【作用】
ブロック歪除去フィルタ関する発明について説明する。本発明のブロック歪除去フィルタは、画像を構成する縦横いずれか一方向に沿って復号されたｎライン分の画像データであり第１のメモリが記憶する画像データと、この画像データに隣接したｎライン分の画像データであって第２のメモリが記憶する画像データとの間で、所定のフィルタ処理を行なうものである。即ち、演算処理部が、画像表示用に第１または第２のメモリの最終ラインを読み出す際には、同時に第２または第１のメモリの第１ラインを読み出し、両データの加重平均値を取るなどのフィルタ処理を行なうのである。


【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
また、本発明の第２のブロック歪除去フィルタは、復号された画像データを、画像を構成する縦横いずれか一方向に沿ったｍブロック分（ｍは値１以上の整数）×２列以上を基本単位として扱うものとする。この単位は、ＪＰＥＧ等のように、輝度情報と色差信号とで圧縮の度合いを異ならせている符号化を採用している場合に、有用な単位である。ここで、読出手段は、画像データのブロックを単位とした読み出しにおいては、列方向を優先的な読み出し方向として読み出す。この方向に隣接するブロックに対応した画像データの読み出し時に、最終ラインデータ記憶手段は、前のブロックの最終ラインのデータを記憶しておき、次のブロックの最初のラインのデータの読み出し時の処理供するのである。即ち、演算処理部が、次のブロックの最初のラインのデータと、最終ラインデータ記憶手段に記憶しておいた最終ラインのデータとに対し、画素単位で所定のフィルタ演算を行なうのである。この結果、ｍブロック×少なくとも２列の単位のなかでのブロック間の歪は、その内部でフィルタ処理されることになる。


【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
次に、本発明の画像圧縮方法によれば、一画面を構成する画像データをｎ×ｎ画素からなるブロックを単位として縦横に分割し、このブロックを単位として非可逆符号化方式により符号化する。この符号化の処理を、画像の走査方向とは異なる方向に少なくとも２個のブロックを連続して行ない、符号化により圧縮されたデータの形態で記憶するのである。走査方向とは異なる方向に少なくとも２個のブロックを連続して符号化しているので、復号化の処理においてこの符号化の順序をそのまま利用してブロック歪を除去するフィルタ処理を行なう際、ブロック間の歪の処理のうち、走査方向と異なる方向の処理を少ない記憶容量で実施することができる。


【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
【発明の実施の形態】
以上説明した本発明の作用効果を一層明らかにするために、次に本発明の好適に実施例について説明する。図１は、本発明の一実施例としてのブロック歪除去フィルタを組み込んだ画像処理装置を組み込んだビデオゲーム装置２０の外観図、図２は、その内部構成を示すブロック図である。ブロック歪除去フィルタについて説明する前に、このビデオゲーム装置２０において行なわれる画像データの復号化の処理の概要について説明する。
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】００８９
【補正方法】変更
【補正の内容】
【００８９】
次に、本発明の第１実施例としてのブロック歪除去フィルタについて説明する。図１６は、実施例としてのブロック歪除去フィルタ３００の概略構成図である。このブロック歪除去フィルタ３００は、後述するように、第１実施例の画像データ伸長ユニット４７の内部に組み込んで使用可能なものであるが、ここで、その動作の理解の便を図って、単独で構成した場合を図示する。図示するように、このブロック歪除去フィルタ３００は、直交変換によりブロックを単位として圧縮された画像を復号するブロック画像発生装置（第１実施例で言えば画像データ伸長装置２００）２００ａの後段に設けられるものである。


【手続補正３１】
【補正対象書類名】明細書
【補正対象項目名】０１６１
【補正方法】削除
【補正の内容】
【手続補正３２】
【補正対象書類名】明細書
【補正対象項目名】０１６２
【補正方法】削除
【補正の内容】
【手続補正３３】
【補正対象書類名】明細書
【補正対象項目名】０１６３
【補正方法】削除
【補正の内容】
【手続補正３４】
【補正対象書類名】明細書
【補正対象項目名】０１６４
【補正方法】削除
【補正の内容】
【手続補正３５】
【補正対象書類名】明細書
【補正対象項目名】０１６５
【補正方法】変更
【補正の内容】
【０１６５】
【発明の効果】
本発明の第１のブロック歪除去フィルタは、画像を構成する縦横いずれか一方向に沿って復号されたｎライン分の画像データであり第１のメモリが記憶する画像データと、この画像データに隣接したｎライン分の画像データであって第２のメモリが記憶する画像データとの間で、所定のフィルタ処理を行なうから、ｎライン分の画像データ間のブロック歪を、簡易な構成により除去することができるという優れた効果を奏する。