(57)【特許請求の範囲】
【請求項１】
画像を階層符号化して記憶する記憶装置であって、
下位階層の画像から上位階層の画像を求める上位階層算出手段と、
前記下位階層の画像のアクティビティを算出するアクティビティ算出手段と、
前記下位階層のアクティビティを記憶するアクティビティ記憶手段と、
前記上位階層の画像を記憶する画像記憶手段と
を備え、
前記アクティビティ記憶手段は、前記下位階層の画像を記憶し、
前記上位階層算出手段は、前記アクティビティ記憶手段に記憶された前記下位階層の画像から前記上位階層の画像を求め、
前記画像記憶手段は、前記上位階層算出手段が求めた前記上位階層の画像を記憶し、
前記アクティビティ算出手段は、前記アクティビティ記憶手段に記憶された前記下位階層の画像、および前記画像記憶手段に記憶された前記上位階層の画像から、前記下位階層のアクティビティを算出し、
前記アクティビティ記憶手段は、前記アクティビティ算出手段が算出した前記下位階層のアクティビティを、前記下位階層の画像に替えて記憶し、
前記上位階層算出手段、アクティビティ算出手段、アクティビティ記憶手段、および画像記憶手段が１チップ上に形成されている
ことを特徴とする記憶装置。
【請求項２】
前記上位階層算出手段は、前記下位階層の画像のＭ画素から、前記上位階層の画像の１画素を求める
ことを特徴とする請求項１に記載の記憶装置。
【請求項３】
前記アクティビティ算出手段は、前記下位階層の画像のＭ画素それぞれのアクティビティを、そのＭ画素から求められた前記上位階層の画像の１画素を用いて求める
ことを特徴とする請求項２に記載の記憶装置。
【請求項４】
下位階層の画像のアクティビティを記憶するアクティビティ記憶手段と、
上位階層の画像を記憶する画像記憶手段と
を１チップ上に備え、画像を階層符号化して記憶する記憶装置におけるデータ処理方法であって、
前記アクティビティ記憶手段に、前記下位階層の画像を書き込み、
前記アクティビティ記憶手段から、前記下位階層の画像を読み出し、
前記下位階層の画像から前記上位階層の画像を求め、
前記画像記憶手段に、前記上位階層の画像を書き込み、
前記アクティビティ記憶手段から、前記下位階層の画像を読み出すとともに、前記画像記憶手段から、前記上位階層の画像を読み出し、その下位階層および上位階層の画像から、前記下位階層のアクティビティを算出し、
前記下位階層のアクティビティを、前記下位階層の画像に替えて、前記アクティビティ記憶手段に書き込む
ことを特徴とするデータ処理方法。
【請求項５】
前記下位階層の画像のＭ画素から、前記上位階層の画像の１画素を求める
ことを特徴とする請求項４に記載のデータ処理方法。
【請求項６】
前記下位階層の画像のＭ画素それぞれのアクティビティを、そのＭ画素から求められた前記上位階層の画像の１画素を用いて求める
ことを特徴とする請求項５に記載のデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶装置およびデータ処理方法に関し、特に、例えば、画像を階層符号化して記憶する場合に用いて好適な記憶装置およびデータ処理方法に関する。
【０００２】
【従来の技術】
例えば、図７に示すように、高解像度の画像データ（原画像）を、最下位階層または第１の階層の画像データとして、それより画素数の少ない第２の階層の画像データを形成し、さらに、それより画素数の少ない第３の階層の画像データを形成し、以下、同様にして、所定の最上位階層（図７では、第Ｋ階層）までの画像データを形成する符号化手法がある。このような符号化は、階層符号化と呼ばれ、各階層の画像データは、その階層に対応した解像度（画素数）のモニタで表示される。従って、ユーザ側では、階層符号化された画像データのうち、自身が有するモニタの解像度に対応するものを選択することで、その画像データを視聴することができる。なお、上位階層の画素（画像データ）は、例えば、下位階層の画像を構成する画素の幾つかを加算することで求められる。
【０００３】
ところで、ある解像度の画像データを最下位階層（第１階層）の画像データとして、上位階層の画像データを、順次形成し、それらのすべてを、そのまま記憶や伝送などする場合には、最下位階層の画像データだけを記憶等する場合に比較して、上位階層の画像データの分だけ、記憶容量や伝送容量が余計に必要となる。
【０００４】
そこで、そのような記憶容量等の増加を低減する階層符号化方法を、本件出願人は先に提案している。
【０００５】
即ち、例えば、いま、下位階層の画像を構成する２×２画素（横×縦）を１ブロックとして、そのブロックを構成する４画素の加算値を、上位階層の画素（画素値）とする階層符号化を行う場合においては、図８（Ａ）に示すように、下位階層（図８では、第ｋ階層）の画像を構成する２×２画素ｘ1，ｘ2，ｘ3，ｘ4の加算値ｙが求められ、これが、上位階層（図８では、第ｋ＋１階層）の画素（画素値）とされる。下位階層の画像の他のブロックについても、同様にして４画素の加算値が求められ、これにより、上位階層の画像が形成される。
【０００６】
この場合、上位階層の画素ｙと、その画素ｙを求めるのに用いた下位階層の４画素ｘ1乃至ｘ4を、全部記憶などさせたのでは、上述のように、上位階層の画素ｙの分だけ余分に記憶容量等が必要となる。
【０００７】
そこで、図８（Ａ）に示すように、上位階層の画素ｙを、下位階層の２×２画素ｘ1乃至ｘ4のうちの、例えば、右下の画素ｘ4と置き換える。これにより、下位階層は、画素ｘ1乃至ｘ3およびｙで構成されることになる。
【０００８】
以上のようにすることで、全画素数は２×２の４画素となり、元の下位階層の画素数と変わらない。従って、この場合、記憶容量等の増加を低減することができる。
【０００９】
一方、以上のような階層符号化において、画素ｙと替えられた画素ｘ4の復号は、次のようにして行うことができる。
【００１０】
即ち、画素ｙは、画素ｘ1乃至ｘ4の加算値であるから、式ｙ＝ｘ1＋ｘ2＋ｘ3＋ｘ4が成り立つ。従って、画素ｘ4は、図８（Ｂ）に示すように、画素ｙから、画素ｘ1乃至ｘ3を減算することで、即ち、式ｘ4＝ｙ−（ｘ1＋ｘ2＋ｘ3）を演算することで求めることができる。
【００１１】
ここで、以上のような階層符号化により得られる画素数は、上述のように、下位階層の画素数と変わらないが、上位階層の画素ｙは、図９に示すように、ＬＳＢ（Least Significant Bit）を揃えた形で、下位階層の４つの画素ｘ1乃至ｘ4を加算することにより求められるため、そのデータ長（ビット長）は、画素ｘ1乃至ｘ4それぞれと比較して、２ビットだけ長くなる。
【００１２】
なお、上位階層の画素ｙを、下位階層の４つの画素ｘ1乃至ｘ4の加算値ではなく、例えば、平均値とすることで、上述のようなデータ長の増加を避けることができるが、この場合には、データの可逆性は失われる（上述の式ｘ4＝ｙ−（ｘ1＋ｘ2＋ｘ3）によって、下位階層の画素ｘ4の正確な値を求めることができなくなる）。
【００１３】
【発明が解決しようとする課題】
ところで、以上のように、下位階層の画素の加算値（あるいは、平均値など）を、上位階層のデータとする階層符号化を行う１チップの記憶装置を、本件出願人は先に提案しているが（例えば、特願平９−１７８０１０号（平成９年７月３日出願））、この記憶装置が出力するのは、各階層の画像を構成する画素であるため、例えば、解像度の低い画像が、徐々に、解像度の高い画像に変化していくような表示（以下、適宜、プログレッシブ表示という）を行うには、記憶装置の外部で、画像のアクティビティを計算する必要があった。
【００１４】
即ち、プログレッシブ表示は、例えば、上位階層の画像（解像度の低い画像）に、下位階層の画像（解像度の高い画像）のアクティビティを加算することで実現することができる。具体的には、例えば、上述のように、下位階層の４つの画素ｘ1乃至ｘ4を加算値ｙを、上位階層の１画素とする場合においては、下位階層の画素ｘi（ここでは、ｉ＝１，２，３，４）のアクティビティｚiは、例えば、式ｚi＝４ｘi−ｙと表すことができる。この場合、下位階層の画素ｘiは、式ｘi＝（ｙ＋ｚi）／４で求めることができる。従って、最上位階層の画像に、その１つ下の階層のアクティビティを加算し、その結果得られる画像に、さらにその１つ下の階層のアクティビティを加算し、以下、同様にして、順次、下位階層のアクティビティを加算していくことで、解像度の低い最上位階層の画像を、徐々に、解像度の高い画像に変化させていくことができる。
【００１５】
以上から、記憶装置が、各階層の画像を構成する画素を出力する場合において、プログレッシブ表示を行うときには、外部の回路で、式ｚi＝４ｘi−ｙを演算し、アクティビティを求める必要があり、このように外部の回路を用いる場合には、記憶装置の処理速度が制限され、また、その全体が大型化する課題があった。
【００１６】
本発明は、このような状況に鑑みてなされたものであり、外付けの回路を用いなくても、画像のアクティビティを得ることができるようにするものである。
【００１７】
【課題を解決するための手段】
本発明の記憶装置は、下位階層の画像から上位階層の画像データを求める上位階層算出手段と、下位階層の画像のアクティビティを算出するアクティビティ算出手段と、下位階層のアクティビティを記憶するアクティビティ記憶手段と、上位階層の画像を記憶する画像記憶手段とを備え、アクティビティ記憶手段は、下位階層の画像を記憶し、上位階層算出手段は、アクティビティ記憶手段に記憶された下位階層の画像から上位階層の画像を求め、画像記憶手段は、上位階層算出手段が求めた上位階層の画像を記憶し、アクティビティ算出手段は、アクティビティ記憶手段に記憶された下位階層の画像、および画像記憶手段に記憶された上位階層の画像から、下位階層のアクティビティを算出し、アクティビティ記憶手段は、アクティビティ算出手段が算出した下位階層のアクティビティを、下位階層の画像に替えて記憶し、上位階層算出手段、アクティビティ算出手段、アクティビティ記憶手段、および画像記憶手段が１チップ上に形成されていることを特徴とする。
【００１８】
本発明のデータ処理方法は、アクティビティ記憶手段に、下位階層の画像を書き込み、アクティビティ記憶手段から、下位階層の画像を読み出し、下位階層の画像から上位階層の画像を求め、画像記憶手段に、上位階層の画像を書き込み、アクティビティ記憶手段から、下位階層の画像を読み出すとともに、画像記憶手段から、上位階層の画像を読み出し、その下位階層および上位階層の画像から、下位階層のアクティビティを算出し、下位階層のアクティビティを、下位階層の画像に替えて、アクティビティ記憶手段に書き込むことを特徴とする。
【００１９】
本発明の記憶装置においては、アクティビティ記憶手段は、下位階層の画像を記憶し、上位階層算出手段は、アクティビティ記憶手段に記憶された下位階層の画像から上位階層の画像を求める。画像記憶手段は、上位階層算出手段が求めた上位階層の画像を記憶し、アクティビティ算出手段は、アクティビティ記憶手段に記憶された下位階層の画像、および画像記憶手段に記憶された上位階層の画像から、下位階層のアクティビティを算出する。アクティビティ記憶手段は、アクティビティ算出手段が算出した下位階層のアクティビティを、下位階層の画像に替えて記憶する。そして、上位階層算出手段、アクティビティ算出手段、アクティビティ記憶手段、および画像記憶手段が１チップ上に形成されている。
【００２０】
本発明のデータ処理方法においては、アクティビティ記憶手段に、下位階層の画像を書き込み、アクティビティ記憶手段から、下位階層の画像を読み出し、下位階層の画像から上位階層の画像を求め、画像記憶手段に、上位階層の画像を書き込み、アクティビティ記憶手段から、下位階層の画像を読み出すとともに、画像記憶手段から、上位階層の画像を読み出し、その下位階層および上位階層の画像から、下位階層のアクティビティを算出し、下位階層のアクティビティを、下位階層の画像に替えて、アクティビティ記憶手段に書き込むようになされている。
【００２１】
【発明の実施の形態】
図１は、本発明を適用した階層メモリのアーキテクチャの概要を示している。
【００２２】
階層メモリでは、ある隣接する２つの階層である第ｋ階層と第ｋ＋１階層に注目した場合、演算器１において、下位階層である第ｋ階層の、例えば、２×２画素ｘ1乃至ｘ4の加算値（総和）が求められ、これが、上位階層である第ｋ＋１階層の画素ｙとされる。第ｋ階層の、他の２×２画素についても、同様にしてそれらの加算値が求められ、これにより、第ｋ＋１階層の、他の画素が求められる。
【００２３】
さらに、階層メモリでは、演算器２iにおいて（ｉ＝１，２，３，４）、例えば、第ｋ階層の画素ｘiが、第ｋ＋１階層の１画素ｙを求めるのに用いた第ｋ階層の画素の数である４倍され（例えば、２ビット左シフトされ）、その４倍された画素ｘiから、第ｋ＋１階層の画素ｙが減算されることで、即ち、式ｚi＝４ｘi−ｙが演算されることで、第ｋ階層の画素ｘiのアクティビティｚiが求められる。従って、階層メモリでは、図２（Ａ）に示すように、第ｋ階層の画素ｘ1，ｘ2，ｘ3，ｘ4それぞれと、第ｋ＋１階層の画素ｙとの差分を、ＭＳＢ（Most Significant Bit）を揃えた形で求めることにより、図２（Ｂ）に示すように、第ｋ階層のアクティビティｚ1，ｚ2，ｚ3，ｚ4が求められる。第ｋ階層の、他の画素のアクティビティも、同様にして求められる。
【００２４】
ここで、前述したように、第ｋ＋１階層の画素ｙのビット数は、第ｋ階層の画素ｘ1，ｘ2，ｘ3，ｘ4それぞれより２ビットだけ多くなる（図２（Ａ））。また、第ｋ階層のアクティビティｚiは、第ｋ階層の画素ｘiと第ｋ＋１階層の画素ｙとを用いた減算を行うことにより求められるため、そのビット数は、第ｋ＋１階層の画素ｙのビット数に、符号ビットとなる１ビットを加えたビット数となる。なお、第ｋ階層のアクティビティｚiの値は、０付近に集中するため、それに割り当てるビット数は、第ｋ＋１階層の画素のビット数と同一であっても、基本的に大きな問題は生じない。但し、可逆性を完全に維持するためには（第ｋ階層のアクティビティと、第ｋ＋１階層の画素とから、第ｋ階層の画素の正確な値を求めるためには）、第ｋ階層のアクティビティｚiに割り当てるビット数は、第ｋ＋１階層の画素ｙのビット数に１を加えたビット数とする必要がある。
【００２５】
以上のようにして、下位階層の画像から、上位階層の画像を求め、さらに、下位階層および上位階層の画像を用いて、下位階層のアクティビティを求めることを繰り返すことで、図３に示すように、最上位階層（図３では、第Ｋ階層）のデータだけが、第Ｋ−１階層の２×２画素単位の加算値でなり、第Ｋ−１階層以下の階層のデータが、各階層のアクティビティでなる階層符号化結果を得ることができる。
【００２６】
階層メモリでは、この最上位階層（第Ｋ階層）の画素と、第Ｋ−１階層以下の階層それぞれのアクティビティとが記憶される。
【００２７】
次に、図４は、階層メモリの構成例を示している。
【００２８】
いま、例えば、階層メモリが、Ｋ階層までの階層符号化が可能なものとすると、階層メモリは、１個のデコーダ１０，Ｋ−１個のセレクタ１１1乃至１１K-1，Ｋ個のライトバッファ１２1乃至１２K，Ｋ個のメモリ１３1乃至１３K，Ｋ個のリードバッファ１４1乃至１４K，Ｋ−１個のアクティビティ算出回路１５1乃至１５K-1、１個の制御部３１で構成される。なお、これらは、例えば、すべて１チップのＣＭＯＳ（Complementary Metal Oxide Semiconductor）上などに構成に形成されており、従って、階層メモリは、１のＩＣ（Integrated Circuit）またはＬＳＩ（Large Scale IC）として構成されている。
【００２９】
デコーダ１０には、例えば、階層符号化対象の原画像を構成する各画素の位置に対応するアドレスが供給されるようになされており、デコーダ１０は、そのアドレスを必要に応じて加工し、さらに、所定のタイミングで、メモリ１３k（ｋ＝１，２，・・・，Ｋ）に供給するようになされている。即ち、これにより、メモリ１３kには、データの書き込みまたは読み出しの対象となるアドレスが与えられるようになされている。
【００３０】
セレクタ１１k（ｋ＝１，２，・・・，Ｋ−１）は、そこに供給されるセレクト信号Ｓk（ｋ＝１，２，・・・，Ｋ−１）に対応して、その入力端子Ｉ１またはＩ２に供給されるデータのうちのいずれか一方を選択し、ライトバッファ１２kに供給するようになされている。なお、セレクタ１１1を除くセレクタ１１kの入力端子Ｉ１またはＩ２には、アクティビティ算出回路１５k-1の出力またはアクティビティ算出回路１５kの出力が、それぞれ供給されるようになされている。また、セレクタ１１1の入力端子Ｉ１またはＩ２には、階層符号化対象の原画像またはアクティビティ算出回路１５1の出力が、それぞれ供給されるようになされている。
【００３１】
ライトバッファ１２k（ｋ＝１，２，・・・，Ｋ）は、セレクタ１１kから供給されるデータを一時記憶し、そのデータに対応するアドレスが、デコーダ１０からメモリ１３kに供給されるのを待って、記憶したデータを、メモリ１３kに供給して記憶させるようになされている。なお、ライトバッファ１２Kには、アクティビティ算出回路１５K-1の出力が、直接供給されるようになされている。
【００３２】
メモリ１３k（ｋ＝１，２，・・・，Ｋ）（画像記憶手段）（アクティビティ記憶手段）は、ライトバッファ１２kから供給されるデータを、デコーダ１０から供給されるアドレスに、第ｋ階層のデータとして記憶するようになされている。また、メモリ１３kは、デコーダ１０から供給されるアドレスに記憶されているデータを読み出し、リードバッファ１４kに供給するようにもなされている。リードバッファ１４k（ｋ＝１，２，・・・，Ｋ）は、メモリ１３kから読み出されたデータを一時記憶し、アクティビティ算出回路１５k-1および１５kに供給し、または、第ｋ階層のデータとして出力するようになされている。なお、リードバッファ１４1は、メモリ１３1から読み出されたデータを、アクティビティ算出回路１５1にのみ供給するか、または第１階層（ここでは、最下位階層）のデータとして出力するようになされている。また、リードバッファ１４Kは、メモリ１３Kから読み出されたデータを、アクティビティ算出回路１５k-1のみに供給するか、または第Ｋ階層（ここでは、最上位階層）のデータとして出力するようになされている。
【００３３】
アクティビティ算出回路１５k（ｋ＝１，２，・・・，Ｋ−１）（上位階層算出手段）（アクティビティ算出手段）は、リードバッファ１４kから供給される第ｋ階層のデータを用いて、第ｋ＋１階層のデータを算出し、セレクタ１１k+1の入力端子Ｉ１に供給する（但し、アクティビティ算出回路１５K-1は、第Ｋ階層のデータを、ライトバッファ１２Kに供給する）ようになされている。また、アクティビティ算出回路１５kは、リードバッファ１４kから供給される第ｋ階層のデータと、リードバッファ１４k+1から供給される第ｋ＋１階層のデータとを用いて、第ｋ階層のアクティビティを算出し、セレクタ１１kの入力端子Ｉ２に供給するようになされている。
【００３４】
即ち、アクティビティ算出回路１５kは、シフタ２１k、セレクタ２２k、および演算器２３kで構成されている。シフタ２１kは、リードバッファ１４kから供給される第ｋ階層のデータを、例えば、２ビットだけ左シフトすることにより４倍し、セレクタ２２kの入力端子Ｉ２に供給するようになされている。そして、セレクタ２２kの入力端子Ｉ１には、リードバッファ１４kから第ｋ階層のデータが供給されるようになされており、セレクタ２２kは、そこに供給されるセレクト信号ＳＥＬk（ｋ＝１，２，・・・，Ｋ−１）に対応して、入力端子Ｉ１またはＩ２に供給されるデータのうちのいずれか一方を選択し、演算器２３kの入力端子Ｉ１に供給するようになされている。演算器２３kの入力端子Ｉ２には、リードバッファ１４2から第ｋ＋１階層のデータが供給されるようになされており、演算器２３kは、その入力端子Ｉ１またはＩ２に供給されるデータを用い、制御信号Ａ／Ｓ（Add/Sub）にしたがって加算または減算を行い、その加算結果または減算結果を出力するようになされている。
【００３５】
制御部３１は、セレクト信号Ｓk，ＳＥＬk、制御信号Ａ／Ｓなどを、必要なブロックに与え、また、その他の必要な処理を行うようになされている。
【００３６】
次に、図５のフローチャートを参照して、図４の階層メモリにおけるデータの書き込み処理について説明する。
【００３７】
階層符号化の対象となる原画像が供給されると、まず最初に、ステップＳ１において、制御部３１は、階層をカウントする変数ｎを１に初期化する。そして、ステップＳ２に進み、原画像を構成する各画素が、メモリ１３1の対応するアドレスに記憶される。即ち、階層符号化の対象となる原画像は、セレクタ１１1の入力端子Ｉ１に供給される。このとき、制御部３１は、入力端子Ｉ１を選択するように指示するセレクト信号Ｓ1をセレクタ１１1に与えるようになされており、これにより、原画像を構成する画素は、セレクタ１１1で選択され、ライトバッファ１２1を介して、メモリ１３1に供給されて記憶される。
【００３８】
以上のようにして、メモリ１３1に、第１階層の画像としての原画像を構成するすべての画素が記憶されると、ステップＳ３に進み、アクティビティ算出処理が行われ、書き込み処理を終了する。
【００３９】
即ち、アクティビティ算出処理では、まず最初に、アクティビティ算出回路１５1において、メモリ１３1に記憶された第１階層の画像から、図１で説明したようにして、第２階層の画像が求められ、メモリ１３2に記憶される。さらに、アクティビティ算出回路１５1は、メモリ１３1に記憶された第１階層の画像と、メモリ１３2に記憶された第２階層の画像とを用い、図１で説明したようにして、第１階層のアクティビティを求める。この第１階層のアクティビティは、アクティビティ算出回路１５1から、セレクタ１１1およびライトバッファ１２1を介して、メモリ１３1に供給され、既に記憶されている第１階層の画像に替えて書き込まれる。
【００４０】
そして、アクティビティ算出回路１５2において、メモリ１３2に記憶された第２階層の画像から、上述の場合と同様に、第３階層の画像が求められ、メモリ１３3に記憶される。さらに、アクティビティ算出回路１５2は、メモリ１３2に記憶された第２階層の画像と、メモリ１３3に記憶された第３階層の画像とを用いて、上述の場合と同様に、第２階層のアクティビティを求める。この第２階層のアクティビティは、アクティビティ算出回路１５2から、セレクタ１１2およびライトバッファ１２2を介して、メモリ１３2に供給され、既に記憶されている第２階層の画像に替えて書き込まれる。
【００４１】
以下、同様にして、第４階層以上の階層の画像および第３階層以上の階層のアクティビティが、順次求められていく。そして、いま、Ｎ階層（Ｎ≦Ｋ）の階層符号化を行うとすると、最終的に、メモリ１３1乃至１３N-1には、第１乃至第Ｎ−１階層のアクティビティがそれぞれ書き込まれ、メモリ１３Nには、第Ｎ階層（最上位階層）の画像が書き込まれる。
【００４２】
次に、図６のフローチャートを参照して、図５のステップＳ３におけるアクティビティ算出処理について、さらに説明する。
【００４３】
アクティビティ算出処理では、まず最初に、ステップＳ１１において、第ｎ階層の画像を構成する画素を記憶しているメモリ１３nに対して、第ｎ＋１階層の１画素を求めるのに用いる２×２画素のブロックを構成する４画素ｘ1，ｘ2，ｘ3，ｘ4が記憶されているアドレスが、デコーダ１０によって与えられ、これにより、メモリ１３nから、第ｎ階層の画素ｘ1，ｘ2，ｘ3，ｘ4が順次読み出され、リードバッファ１４nを介して、アクティビティ算出回路１５nに供給される。
【００４４】
アクティビティ算出回路１５nでは、ステップＳ１２において、第ｎ階層の４画素ｘ1，ｘ2，ｘ3，ｘ4の加算値ｙが求められる。即ち、リードバッファ１４nを介して供給される第ｎ階層の４画素ｘ1，ｘ2，ｘ3，ｘ4は、セレクタ２２nの入力端子Ｉ１に供給される。このとき、制御部３１は、入力端子Ｉ１を選択するように指示するセレクト信号ＳＥＬnを、セレクタ２２nに与えるようになされており、従って、セレクタ２２nでは、その入力端子Ｉ１に供給される第ｎ階層の４画素ｘ1，ｘ2，ｘ3，ｘ4が選択され、演算器２３nの入力端子Ｉ１に供給される。
【００４５】
このとき、制御部３１は、入力端子Ｉ１に供給されるデータの加算を行うように指示する制御信号Ａ／Ｓを、演算器２３nに与えるようになされており、従って、演算器２３nでは、その入力端子Ｉ１に供給される第ｎ階層の４画素ｘ1，ｘ2，ｘ3，ｘ4の加算値ｙが求められ、即ち、式ｙ＝ｘ1＋ｘ2＋ｘ3＋ｘ4にしたがった演算が行われ、その結果得られる加算値ｙが、セレクタ１１n+1の入力端子Ｉ１に供給される。
【００４６】
このとき、制御部３１は、入力端子Ｉ１を選択するように指示するセレクト信号Ｓn+1を、セレクタ１１n+1に与えており、従って、セレクタ１１n+1では、その入力端子Ｉ１に供給される加算値ｙが選択され、ライトバッファ１２n+1を介して、メモリ１３n+1に供給される。
【００４７】
このとき、デコーダ１０は、メモリ１３n+1に対して、第ｎ階層の４画素ｘ1，ｘ2，ｘ3，ｘ4から求められる第ｎ＋１階層の画素に対応するアドレスを与えており、これにより、ステップＳ１３において、第ｎ階層の４画素ｘ1，ｘ2，ｘ3，ｘ4の加算値ｙは、第ｎ＋１階層の画素として、メモリ１３n+1の対応するアドレスに記憶される。
【００４８】
ここで、メモリ１３1乃至１３kそれぞれに対しては、デコーダ１０から必要なアドレスが供給されるものとし、以下では、アドレスについての記載は、適宜省略する。
【００４９】
その後、ステップＳ１４において、制御部３１は、画素数をカウントする変数ｉを１に初期化し、ステップＳ１５に進む。ステップＳ１５では、メモリ１３nから第ｎ階層の画素ｘiが読み出されるとともに、その画素ｘiを用いて求められた第ｎ＋１階層の画素（加算値ｙ）が、メモリ１３n+1から読み出される。メモリ１３nから読み出された第ｎ階層の画素ｘi、またはメモリ１３n+1から読み出された第ｎ＋１階層の画素ｙは、リードバッファ１４nまたは１４n+1をそれぞれ介して、いずれも、アクティビティ算出回路１５nに供給される。
【００５０】
アクティビティ算出回路１５nでは、ステップＳ１６において、そこに供給される第ｎ階層の画素ｘiおよび第ｎ＋１階層の画素ｙを用いて、第ｎ階層の画素ｘiのアクティビティｚiが求められる。
【００５１】
即ち、第ｎ階層の画素ｘiは、シフタ２１nに供給され、２ビット左シフトされることで、４倍にされた後、セレクタ２２nの入力端子Ｉ２に供給される。このとき、制御部３１は、入力端子Ｉ２を選択するように指示するセレクト信号ＳＥＬnを、セレクタ２２nに与えるようになされており、従って、セレクタ２２nでは、その入力端子Ｉ２に供給される第ｎ階層の画素ｘiを４倍したものが選択され、演算器２３nの入力端子Ｉ１に供給される。
【００５２】
一方、第ｎ＋１階層の画素ｙは、演算器２３nの入力端子Ｉ２に供給される。そして、このとき、制御部３１は、入力端子Ｉ１に供給されるデータから、入力端子Ｉ２に供給されるデータを減算するように指示する制御信号Ａ／Ｓを、演算器２３nに与えるようになされており、従って、演算器２３nでは、その入力端子Ｉ１に供給される第ｎ階層の画素ｘiを４倍したものから、第ｎ＋１階層の画素ｙが減算され、第ｎ階層の画素ｘiのアクティビティｚiが求められる。即ち、演算器２３nでは、式ｚi＝４ｘi−ｙにしたがった演算が行われ、その結果得られる画素ｘiのアクティビティｚiが、セレクタ１１nの入力端子Ｉ２に供給される。
【００５３】
このとき、制御部３１は、入力端子Ｉ２を選択するように指示するセレクト信号Ｓnを、セレクタ１１nに与えており、従って、セレクタ１１nでは、その入力端子Ｉ２に供給されるアクティビティｚiが選択され、ライトバッファ１２nを介して、メモリ１３nに供給される。これにより、ステップＳ１７において、画素ｘiのアクティビティｚiが、画素ｘiに替えて、メモリ１３nに書き込まれる。
【００５４】
その後、ステップＳ１８に進み、制御部３１において、変数ｉが１だけインクリメントされ、ステップＳ１９に進み、変数ｉが４より大きいかどうかが判定される。ステップＳ１９において、変数ｉが４より大きくないと判定された場合、ステップＳ１５に戻り、同様の処理を繰り返す。
【００５５】
また、ステップＳ１９において、変数ｉが４より大きいと判定された場合、即ち、第ｎ階層の４画素ｘ1，ｘ2，ｘ3，ｘ4それぞれのアクティビティｚ1，ｚ2，ｚ3，ｚ4の算出が終了した場合、ステップＳ２０に進み、第ｎ階層を構成する、２×２画素のブロックすべてについて、ステップＳ１１乃至Ｓ１９の処理を行ったかどうかが判定される。ステップＳ２０において、第ｎ階層を構成する、２×２画素のブロックすべてについて、まだ処理を行っていないと判定された場合、ステップＳ１１に戻り、まだ、処理を行っていないブロックを、新たに処理対象として、ステップＳ１１以下の処理を繰り返す。
【００５６】
また、ステップＳ２０において、第ｎ階層を構成する、２×２画素のブロックすべてについて、処理を行ったと判定された場合、ステップＳ２１に進み、制御部３１において、変数ｎが１だけインクリメントされる。そして、ステップＳ２２に進み、制御部３１において、変数ｎが、最上位階層であるＮに等しいかどうかが判定される。ステップＳ２２において、変数ｎが、最上位階層であるＮに等しくないと判定された場合、ステップＳ２３に進み、アクティビティ算出処理が行われ、リターンする。即ち、図６に示したアクティビティ算出処理が再帰的に呼び出される。
【００５７】
一方、ステップＳ２２において、変数ｎが、最上位階層であるＮに等しいと判定された場合、ステップＳ２３をスキップしてリターンする。
【００５８】
以上により、メモリ１３1乃至１３N-1には、第１階層乃至第Ｎ−１階層のアクティビティが書き込まれ、メモリ１３Nには、第Ｎ階層の画像を構成する画素（画素値）が書き込まれる。
【００５９】
次に、以上のようにして書き込まれた第１階層乃至第Ｎ−１階層のアクティビティ、および第Ｎ階層の画像を構成する画素の読み出し処理について説明する。
【００６０】
読み出し時においては、所望のメモリ１３k（ここでは、ｋ＝１，２，・・・，Ｎ）に対して、デコーダ１０からアドレスを与えることで、そのメモリ１３kから、第ｋ階層のデータが読み出され、リードバッファ１４kを介して、階層メモリから出力される。
【００６１】
即ち、本実施の形態では、第１階層乃至第Ｎ−１階層のデータとしては、第１階層乃至第Ｎ−１階層のアクティビティが、第Ｎ階層のデータとしては、第Ｎ階層の画像を構成する画素（第Ｎ−１階層の２×２画素の加算値）が、それぞれ出力される。
【００６２】
従って、外付けの回路を用いずに、画像のアクティビティを得ることができるので、プログレッシブ表示を、容易に行うことができる。即ち、まず最初に、第Ｎ階層のデータをメモリ１３Nから読み出して表示し、その後、第Ｎ−１階層のデータをメモリ１３N-1から読み出して、表示画像（いまの場合、第Ｎ階層の画像）に加算する。次に、第Ｎ−１階層のデータを読み出して、表示画像（いまの場合、第Ｎ−１階層の画像）に加算する。以下、同様にして、第Ｎ−２階層以下の階層のデータを順次読み出して、表示画像に加算していくことにより、表示画像は、解像度の低い画像から、徐々に、解像度の高い画像に変化していく。
【００６３】
さらに、上述したように、アクティビティは、０付近に集中するため、例えば、非線形量子化やエントロピー符号化などを施すことにより、そのデータ量を効率的に削減することができる。
【００６４】
なお、図４において、メモリ１３1乃至１３Kは、それぞれ物理的に１つのメモリである必要はなく、それらのすべてを、１のメモリで構成することも可能である。この場合、メモリ１３1乃至１３Kそれぞれに対して、１のメモリの所定の記憶領域を割り当てるようにすれば良い。
【００６５】
また、本実施の形態では、図４の階層メモリを構成する各ブロックを、１チップ上に構成するようにしたが、これらの各ブロックは、それぞれ独立のチップで構成することも可能であるし、そのうちの２以上を、独立のチップで構成することも可能である。
【００６６】
さらに、本発明は、インターレース走査される画像およびノンインターレース走査される画素のいずれにも適用可能である。
【００６７】
また、本実施の形態では、下位階層の隣接する２×２の４画素の加算値を、その１つ上位の上位階層の画素（画素値）とするようにしたが、上位階層の画素は、下位階層の２×２画素以外のＭ画素から生成することも可能である（但し、Ｍは２以上）。
【００６８】
さらに、図４の階層メモリは、基本的には、ハードウェアによって実現されるが、コンピュータに、上述の処理を行わせるようなプログラムを実行させることによっても実現可能である。
【００６９】
また、本実施の形態では、各階層のデータを、例えば、ＲＡＭ（Random Access Memory）などに代表されるメモリに記憶させるようにしたが、各階層のデータは、その他、例えば、磁気ディスクや、光磁気ディスク、磁気テープ、光カードなどの記録媒体に記憶（記録）させるようにすることも可能である。
【００７０】
さらに、階層メモリからのデータの読み出しは、１の階層についてだけ行うことも可能であるし、２以上の階層について同時に行うことも可能である。
【００７１】
また、本実施の形態では、第ｋ階層の画素が、すべて、メモリ１３kに記憶された後に、第ｋ＋１階層の画素を求めるようにしたが、その他、例えば、第ｋ＋１階層の画素の算出は、その画素を求めるのに必要な第ｋ階層の２×２画素がメモリ１３kに記憶された時点で行うようにすることも可能である。
【００７２】
さらに、本実施の形態では、メモリ１３1乃至１３N-1には、第１乃至第Ｎ−１階層のデータとして、対応する階層のアクティビティをそれぞれ記憶させるようにしたが、メモリ１３1乃至１３N-1には、従来の階層符号化における場合と同様に、第１乃至第Ｎ−１階層の画素をそれぞれ記憶させるようにすることも可能である。これは、図６で説明したアクティビティ算出処理において、ステップＳ１４乃至Ｓ１９の処理をスキップするようにすることで行うことが可能である。
【００７３】
また、図４の階層メモリにおいては、前述したように、上位階層の画素ｙを、下位階層の２×２画素ｘ1乃至ｘ4のうちの、例えば、右下の画素ｘ4と置き換えて記憶するようにすることも可能である。これは、セレクタ１１1に対するセレクト信号Ｓ1の与え方と、メモリ１３1に対するアドレスの与え方とを制御することで行うことができる。
【００７４】
さらに、画像のアクティビティの計算方法は、上述したものに限定されるものではない。
【００７５】
また、本実施の形態では、図６のアクティビティ算出処理を再帰的に行うことにより、各階層のデータを、順次求めるようにしたが、アクティビティ算出処理は、アクティビティ算出回路１５1乃至１５K-1それぞれにおいて、並列に行うことも可能である。
【００７６】
また、本実施の形態では、Ｋ−１個のアクティビティ算出回路１５1乃至１５K-1を設けるようにしたが、アクティビティ算出回路は、１つだけでも良い。但し、この場合、各階層のアクティビティを並列に求めるのは困難となる。
【００７７】
【発明の効果】
以上の如く、本発明の記憶装置によれば、下位階層の画像から上位階層の画像データを求める上位階層算出手段と、下位階層の画像のアクティビティを算出するアクティビティ算出手段と、下位階層のアクティビティを記憶するアクティビティ記憶手段と、上位階層の画像を記憶する画像記憶手段とが１チップ上に形成されているので、アクティビティを求めて記憶する記憶装置を小型に構成することが可能となる。
さらに、本発明の記憶装置によれば、アクティビティ記憶手段は、下位階層の画像を記憶し、上位階層算出手段は、アクティビティ記憶手段に記憶された下位階層の画像から上位階層の画像を求める。画像記憶手段は、上位階層算出手段が求めた上位階層の画像を記憶し、アクティビティ算出手段は、アクティビティ記憶手段に記憶された下位階層の画像、および画像記憶手段に記憶された上位階層の画像から、下位階層のアクティビティを算出する。アクティビティ記憶手段は、アクティビティ算出手段が算出した下位階層のアクティビティを、下位階層の画像に替えて記憶する。従って、外付けの回路を用いなくても、画像のアクティビティを得ることが可能となる。
【００７８】
また、本発明のデータ処理方法によれば、アクティビティ記憶手段に、下位階層の画像が書き込まれ、アクティビティ記憶手段から、下位階層の画像が読み出される。さらに、下位階層の画像から上位階層の画像が求められ、画像記憶手段に、上位階層の画像が書き込まれる。また、アクティビティ記憶手段から、下位階層の画像が読み出されるとともに、画像記憶手段から、上位階層の画像が読み出され、その下位階層および上位階層の画像から、下位階層のアクティビティが算出される。そして、下位階層のアクティビティが、下位階層の画像に替えて、アクティビティ記憶手段に書き込まれる。従って、外付けの回路を用いなくても、画像のアクティビティを得ることが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した階層メモリの一実施の形態の概要を説明するための図である。
【図２】図１の階層メモリの動作を説明するためのずである。
【図３】図１の階層メモリによる階層符号化結果を示す図である。
【図４】図１の階層メモリの詳細構成例を示すブロック図である。
【図５】図４の階層メモリの書き込み処理を説明するためのフローチャートである。
【図６】図５のステップＳ３の処理の詳細を説明するためのフローチャートである。
【図７】従来の階層符号化を説明するための図である。
【図８】本件出願人が先に提案した階層符号化を説明するための図である。
【図９】従来の階層符号化により得られる上位階層の画素のビット数を説明するための図である。
【符号の説明】
１，２1乃至２4  演算器，  １０  デコーダ，  １１1乃至１１K-1  セレクタ，  １２1乃至１２K  ライトバッファ，  １３1乃至１３K  メモリ（画像記憶手段）（アクティビティ記憶手段），  １４1乃至１４K  リードバッファ，  １５1乃至１５K-1  アクティビティ算出回路（上位階層算出手段）（アクティビティ算出手段），  ２１1乃至２１K-1  シフタ，  ２２1乃至２２K-1  セレクタ，  ２３1乃至２３K-1  演算器
【図１】
0003879110.tif 000002
【図２】
0003879110.tif 000003
【図３】
0003879110.tif 000004
【図４】
0003879110.tif 000005
【図５】
0003879110.tif 000006
【図６】
0003879110.tif 000007
【図７】
0003879110.tif 000008
【図８】
0003879110.tif 000009
【図９】
0003879110.tif 000010