(57)【要約】【課題】  連続撮影時において可能な限り多くの画像を撮影可能とする撮像装置を提供する。【解決手段】  撮像装置は、複数の画像処理回路（１１〜１５）と、実アドレス空間を有するメモリ（１８）と、仮想メモリ制御を行うメモリ管理装置（２０）と、画像処理回路を制御するＣＰＵ（１０）とを備える。各画像処理回路は所定のデータ処理機能を有し、仮想アドレス空間でメモリに対してデータの書込み、読出しを行う。メモリ管理装置は仮想アドレス空間における所定データ単位領域（仮想ページ）と、実アドレス空間における所定データ単位領域（実ページ）の対応づけを管理する対応情報を有し、画像処理回路によりメモリから所定データ単位のデータの読出しが終了したときに、その読み出したデータに関する仮想ページと実ページの対応づけを対応情報から削除する。【選択図】  図１
2005333623.tif 000002
【特許請求の範囲】
【請求項１】
画像を撮像し、デジタルデータとして記録する撮像装置において、
画像データを格納し、実アドレス空間を有するメモリと、
所定の画像データ処理機能を有し、仮想アドレス空間を用いて前記メモリに対して所定データ単位でデータの書き込み及び／又は読み出しを行う画像処理回路と、
実アドレス空間に仮想アドレス空間を対応づけて前記メモリのアドレスを管理する仮想メモリ制御を行うメモリ管理装置と、
前記画像処理回路を制御するＣＰＵとを備え、
前記メモリ管理装置は、
前記画像処理回路から指定された仮想アドレスを実アドレスへ変換するインタフェース回路と、
仮想アドレス空間における所定データ単位の領域である仮想アドレス単位領域と、実アドレス空間における所定データ単位の領域である実アドレス単位領域との対応づけを管理する対応情報を有し、前記インタフェース回路からの問い合わせにしたがい前記仮想アドレス単位領域に対応する実アドレス単位領域の情報を出力する対応登録回路とを含み、
前記画像処理回路により前記メモリから所定データ単位でデータの読み出しが終了したときに、前記対応登録回路において、その読み出したデータに関する仮想アドレス単位領域と実アドレス単位領域との対応づけを前記対応情報から削除する
ことを特徴とする撮像装置。
【請求項２】
前記インタフェース回路は、前記画像処理回路が以前にアクセスした仮想アドレス単位領域の情報を記憶し、その記憶した仮想アドレス領域と前記画像処理回路が新たにアクセスを要求している仮想アドレス領域とを比較し、その比較結果に従って前記対応登録回路の対応情報に、実ページと仮想ページの対応を登録することを特徴とする請求項１記載の撮像装置。
【請求項３】
前記対応登録回路は、前記対応情報として、実アドレス単位領域と仮想アドレス単位領域との対応を記憶する対応テーブルを含み、さらに、該対応テーブルを参照して、対応する仮想アドレス単位領域がない実アドレス単位領域を検索する制御回路を含むことを特徴とする請求項１記載の撮像装置。
【請求項４】
前記対応登録回路は、前記対応情報として、実アドレス単位領域毎に、実アドレス単位領域が有効なデータを格納するか否かを示す空きページテーブルを含み、さらに、対応する仮想アドレス単位領域がない実アドレス単位領域を検索する制御回路を含むことを特徴とする請求項１記載の撮像装置。
【請求項５】
前記対応登録回路は、前記インタフェース回路からのアクセスが無い期間に前記空きページテーブルにアクセスし、対応する仮想アドレス単位領域を持たない実アドレス単位領域を検索し、その検索結果を所定の記憶領域に格納することを特徴とする請求項４記載の撮像装置。
【請求項６】
前記ＣＰＵは、前記メモリの空き容量と画像撮影に必要な容量とを求め、前記空き容量が前記画像撮影に必要な容量以上ある場合に撮影を許可する、ことを特徴とする請求項１記載の撮像装置。
【請求項７】
前記画像処理回路を複数含み、さらに、複数の画像処理回路間の前記対応登録回路へのアクセス権を調整する調停回路を備えたことを特徴とする請求項１記載の撮像装置。
【請求項８】
前記画像処理回路の１つとして表示装置を含み、前記メモリにおいて、その表示装置に割当てられている記憶領域を、他の画像処理回路により処理されたデータの格納用に割当てることを特徴とする請求項７記載の撮像装置。
【請求項９】
前記画像処理回路は光学情報を電気信号に変換するＣＣＤを含み、該ＣＣＤを一時的に前記メモリの代わりに使用することを特徴とする請求項１記載の撮像装置。
【請求項１０】
画像を撮像し、デジタルデータとして記録する撮像装置において、
画像データを格納し、実アドレス空間を有するメモリと、
所定の画像データ処理機能を有し、仮想アドレス空間を用いて前記メモリに対して所定データ単位でデータの書き込み及び／又は読み出しを行う複数の画像処理回路と、
実アドレス空間に仮想アドレス空間を対応づけて前記メモリのアドレスを管理する仮想メモリ制御を行うメモリ管理装置と、
前記画像処理回路を制御するＣＰＵとを備え、
前記メモリ管理装置は、
前記画像処理回路に対応して設けられ、前記画像処理回路から指定された仮想アドレスを実アドレスへ変換する複数のインタフェース回路と、
仮想アドレス空間における所定データ単位の領域である仮想アドレス単位領域と、実アドレス空間における所定データ単位の領域である実アドレス単位領域との対応づけを管理する対応情報を有し、前記インタフェース回路からの問い合わせにしたがい前記仮想アドレス単位領域に対応する実アドレス単位領域の情報を出力する対応登録回路と、
前記複数のインタフェース回路間の前記対応登録回路へのアクセス権を調整する調停回路とを含み、
前記画像処理回路により前記メモリから所定データ単位でデータの読み出しが終了したときに、前記対応登録回路において、その読み出したデータに関する仮想アドレス単位領域と実アドレス単位領域との対応づけを前記対応情報から削除する
ことを特徴とする撮像装置。
【請求項１１】
前記インタフェース回路は、前記画像処理回路が以前にアクセスした仮想アドレス単位領域の情報を記憶し、その記憶した仮想アドレス領域と前記画像処理回路が新たにアクセスを要求している仮想アドレス領域とを比較し、その比較結果に従って前記対応登録回路の対応情報に、実ページと仮想ページの対応を登録することを特徴とする請求項１０記載の撮像装置。
【請求項１２】
前記対応登録回路は、前記対応情報として、実アドレス単位領域と仮想アドレス単位領域との対応を記憶する対応テーブルを含み、さらに、該対応テーブルを参照して、対応する仮想アドレス単位領域がない実アドレス単位領域を検索する制御回路を含むことを特徴とする請求項１０記載の撮像装置。
【請求項１３】
前記対応登録回路は、前記対応情報として、実アドレス単位領域毎に、実アドレス単位領域が有効なデータを格納するか否かを示す空きページテーブルを含み、さらに、対応する仮想アドレス単位領域がない実アドレス単位領域を検索する制御回路を含むことを特徴とする請求項１０記載の撮像装置。
【請求項１４】
前記対応登録回路は、前記インタフェース回路からのアクセスが無い期間に前記空きページテーブルにアクセスし、対応する仮想アドレス単位領域を持たない実アドレス単位領域を検索し、その検索結果を所定の記憶領域に格納することを特徴とする請求項１３記載の撮像装置。
【請求項１５】
前記ＣＰＵは、前記メモリの空き容量と画像撮影に必要な容量とを求め、前記空き容量が前記画像撮影に必要な容量以上ある場合に撮影を許可することを特徴とする請求項１０記載の撮像装置。
【請求項１６】
前記画像処理回路の１つとして表示装置を含み、前記メモリにおいて、その表示装置に割当てられている記憶領域を、他の画像処理回路により処理されたデータの格納用に割当てることを特徴とする請求項１０記載の撮像装置。
【請求項１７】
前記画像処理回路は光学情報を電気信号に変換するＣＣＤを含み、該ＣＣＤを一時的に前記メモリの代わりに使用することを特徴とする請求項１０記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルカメラのような撮像装置に関し、特に、仮想メモリ管理を行うメモリ管理装置を備えた撮像装置に関する。
【背景技術】
【０００２】
近年、デジタルカメラの技術的進歩は目覚しく、市場では従来のフィルム式カメラを追い越すような勢いがある。連写撮影に関して、フィルム式カメラにおいては、フィルムの巻き上げに時間がかかるという問題がある。一方、デジタルカメラにおいても、連写撮影の際に、画像データを記録媒体に書き込んでいる間は撮影ができなくなるという問題がある。デジタルカメラにおける、かかる問題の対策として幾つかの技術が提案されている。
【０００３】
例えば、特許文献１には、一時記憶手段に記憶可能な最大画像数を設定しておき、一方で記憶された画像数を計測し、この計測した画像数が一時記憶手段に記憶可能な最大画像数未満の時には、撮像を許可する撮像装置が示されている。しかしながら、この方法では、撮影モードに対して予め撮影画像の最大枚数が決められてしまうので、ユーザが連写撮影したいときに、シャッタチャンスを逃すことが多くなり、また、一時記憶手段を常時最大限に利用することができない、という問題がある。
【０００４】
また、特許文献２には、特許文献１の構成に加えて、撮像ボタンが押されている時間長に応じて連写枚数を制御する構成が示されている。しかし、この場合には、記憶可能な最大画像数によって、最大連写枚数は制限されてしまい、また、連写枚数が微妙な指先の制御に委ねられてしまうという使い難さがある。画像データは圧縮変換され、その圧縮変換処理時間は一枚の画像を撮影するのに要する時間に比べて長い。そこで、上記の構成においては、圧縮変換回路の前後にデータを蓄える二つのメモリを設け、一方のメモリが一杯になるまでは連写できるようにしている。しかし、メモリが一杯になればシャッタが押されていても連写を停止されるというように使い難さがある。
【特許文献１】特開２００２−１５２５７３号公報
【特許文献２】特開２００１−５７６４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の従来の構成は、共通して、記憶容量自体ではなく画像枚数でメモリ容量を管理するように制御しているので、連続撮影時の撮影枚数が制限されて、撮像装置の操作時の融通性に欠ける。
【０００６】
本発明は、かかる問題を解決すべくなされたものであり、その目的とするところは、撮像装置におけるメモリ管理を工夫し、連続撮影時において可能な限り多くの画像を撮影可能とする撮像装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は上記課題を解決するために仮想メモリ管理手法を用い、メモリ管理装置（ＭＭＵ）の考えを撮像装置に特有な形で適用し、しかも、記憶装置の記憶容量をページ単位で時々刻々管理するようにものである。
【０００８】
本発明の第１の態様において、画像を撮像し、デジタルデータとして記録する撮像装置は、画像データを格納し、実アドレス空間を有するメモリと、所定の画像データ処理機能を有し、仮想アドレス空間を用いてメモリに対して所定データ単位でデータの書き込み及び／又は読み出しを行う画像処理回路と、実アドレス空間に仮想アドレス空間を対応づけてメモリのアドレスを管理する仮想メモリ制御を行うメモリ管理装置と、画像処理回路を制御するＣＰＵとを備える。
【０００９】
メモリ管理装置は、画像処理回路から指定された仮想アドレスを実アドレスへ変換するインタフェース回路と、対応登録回路とを含む。対応登録回路は、仮想アドレス空間における所定データ単位の領域である仮想アドレス単位領域と、実アドレス空間における所定データ単位の領域である実アドレス単位領域との対応づけを管理する対応情報を有し、インタフェース回路からの問い合わせにしたがい仮想アドレス単位領域に対応する実アドレス単位領域の情報を出力する。メモリ管理装置は、画像処理回路によりメモリから所定データ単位のデータの読み出しが終了したときに、対応登録回路において、その読み出したデータに関する仮想アドレス単位領域と実アドレス単位領域との対応づけを対応情報から削除する。
【００１０】
本発明の第２の態様において、画像を撮像し、デジタルデータとして記録する撮像装置は、複数の画像処理回路と、画像データを格納し、実アドレス空間を有するメモリと、実アドレス空間に仮想アドレス空間を対応づけてメモリのアドレスを管理する仮想メモリ制御を行うメモリ管理装置と、画像処理回路を制御するＣＰＵとを備える。各画像処理回路は、所定の画像データ処理機能を有し、仮想アドレス空間を用いてメモリに対して所定データ単位でデータの書き込み及び／又は読み出しを行う。
【００１１】
メモリ管理装置は、画像処理回路に対応して設けられ、画像処理回路から指定された仮想アドレスを実アドレスへ変換する複数のインタフェース回路と、対応登録回路と、複数のインタフェース回路間の対応登録回路へのアクセス権を調整する調停回路とを含む。対応登録回路は、仮想アドレス空間における所定データ単位の領域である仮想アドレス単位領域と、実アドレス空間における所定データ単位の領域である実アドレス単位領域との対応づけを管理する対応情報を有し、インタフェース回路からの問い合わせにしたがい仮想アドレス単位領域に対応する実アドレス単位領域の情報を出力する。メモリ管理装置は、画像処理回路によりメモリから所定データ単位のデータの読み出しが終了したときに、対応登録回路において、その読み出したデータに関する仮想アドレス単位領域と実アドレス単位領域との対応づけを対応情報から削除する。
【発明の効果】
【００１２】
本発明の撮像装置は、仮想メモリ管理によりメモリの実アドレス空間よりも大きな仮想アドレス空間を対応づけ、メモリからデータを読み出し後、即座に読み出したデータに関する仮想アドレス領域と実アドレス領域の対応関係を解消する。これにより、メモリに不要なデータが蓄積されることがないため、実アドレス空間の空き容量を大きくでき、多くの画像が撮影可能となる。
【００１３】
また、本発明の撮像装置は、メモリの空き容量をページ単位で監視し、少なくとも１枚の撮影に必要な記憶容量より大きい空き容量があれば撮影を許可してもよい。これにより、連写撮影の後などで撮影できずにシャッタチャンスを逃がすことが少なくなり、撮影できない場合でも、従来の撮像装置より短い時間で撮影可能な状態に回復する、という利点がある。
【００１４】
また、本発明の撮像装置は、インタフェース回路からのアクセスが無い期間に空きページテーブルにアクセスし、対応する仮想ページが存在しない実ページを常に検索して次のアクセス要求に備えるようにしてもよい。このようにインタフェース回路からのアクセスが無い期間を利用して、インタフェース回路からの要求に先立って対応する仮想ページが存在しない実ページを予め検索し用意しておくことにより、インタフェース回路から空いている実ページの検索を要求された時に直ちに実ページ番号を応答することが可能になる。これにより、実ページと仮想ページの対応の登録の際にインタフェース回路が処理を待つ時間を大幅に短縮できる、という利点がある。
【発明を実施するための最良の形態】
【００１５】
以下、添付の図面を参照して本発明の撮像装置の実施形態を説明する。
【００１６】
１．  撮像装置の構成
１．１  全体構成
図１は、本発明の撮像装置の構成例を示した図である。撮像装置は、複数の画像処理回路１１〜１５と、処理すべき画像データを一時的に格納するメモリ１８と、メモリ１８の記憶可能容量を所定のデータ単位であるページ単位で管理するメモリ管理装置（以下「ＭＭＵ」という。）２０と、メモリ１８に対するデータの書き込み、読み出しを制御するメモリコントローラ３０と、画像処理回路１１、１２、・・・等を制御するＣＰＵ１０と、ユーザが操作を行う操作部１６とを備える。画像処理回路として、具体的には、撮像回路１１、ＹＣ処理回路１２、圧縮処理回路１３、表示処理回路１４、記録回路１５が含まれる。
【００１７】
撮像回路１１は光学情報を電気信号に変換する回路であり、例えばＣＣＤを含む。撮像回路１１はＣＣＤにより電気信号に変換されたデータにさらにホワイトバランス処理を施したデータをＲＡＷデータとして出力する。ＲＡＷデータは、ＭＭＵ２０のアドレス制御に基づき割当てられたメモリ１８上の記憶領域に直接格納される。
【００１８】
ＹＣ処理回路１２は、その後の圧縮処理を容易化するために画像データ（ＲＡＷデータ）のＹ信号（輝度成分）とＣ信号（色成分）を分離する画像の前処理装置である。ＹＣ処理回路１２は、撮像回路１１により処理されたＲＡＷデータをメモリ１８から読み出し、ＹＣ分離し、ＭＭＵ２０のアドレス制御に基づき指定されたメモリ１８上の領域に直接格納する。
【００１９】
圧縮処理回路１３は、ＹＣ処理回路１２によりＹＣ分離された画像データを圧縮する。すなわち、圧縮回路１３は、ＹＣ分離された後格納されている画像データをメモリ１８から読み出し、例えばＪＰＥＧで画像圧縮した後、ＭＭＵ２０のアドレス制御に基づき指定されたメモリ１８の領域に直接格納する。
【００２０】
表示処理回路１４は例えば液晶表示装置（ＬＣＤ）のような表示装置を含む。表示処理回路１４は、ＹＣ処理回路１２によりＹＣ分離され格納された画像データをメモリ１８から読み出し、所定の画像処理を施した後に表示装置に表示する。
【００２１】
記録回路１５は、フラッシュメモリなど書き換え可能な半導体メモリからなるメモリカード等の記録媒体２００に対してデータを記録する。すなわち、記録回路１５は、例えば、撮像回路１１により処理されたＲＡＷデータ又は圧縮処理回路１１によりＪＰＥＧで圧縮された画像データを、メモリ１８から直接読み出し、記録媒体２００に記録する処理を行う。
【００２２】
操作部１６はユーザが本撮像装置の機能設定やシャッタ押下等の操作をするための手段である。ＣＰＵ１０は操作部１６上の操作にしたがい、バス１００を介して各画像処理回路１１、１２、１３、１４、１５の処理の開始と終了を制御する。
【００２３】
以上のように、各画像処理回路１１〜１５により、メモリ１８を介してアクセスしながら画像データが順次処理されていく。このとき、各画像処理回路１１〜１５は所定のデータ単位（ページ単位）毎にデータを処理し、メモリ１８にアクセスする。画像処理回路１１〜１５のそれぞれはＣＰＵ１０と独立に動作することが可能である。撮像回路１１、ＹＣ処理回路１２、圧縮回路１３は、ＭＭＵ２０のアドレス制御に基づき、ＣＰＵ１０の介在なしに１画面分の処理を実行できる。
【００２４】
ＭＭＵ２０は、アドレス制御に基づきページ単位で仮想メモリ管理を行うメモリ管理装置であり、各画像処理回路１１、１２，１３がメモリ１８にアクセスする際に、仮想アドレスと実アドレス間のアドレス変換を行う。このアドレス変換において、ＭＭＵ２０は、アドレスの中継を保留し、アドレス変換に成功した場合のみメモリ１８へのアクセスを認めるよう制御する。ＭＭＵ２０の詳細な構成、動作については後述する。
【００２５】
メモリ１８は複数の画像処理回路１１〜１５からのアクセス要求を受付可能である。各画像処理回路１１〜１５は各々独立かつ並列にメモリ１８にアクセスできる。
【００２６】
１．２  仮想メモリ管理
ＭＭＵ２０により実現される仮想メモリ管理について説明する。本実施形態における仮想メモリ管理では、図２に示すように、メモリ１８の実際のアドレス空間（以下「実メモリ空間」という。）Ｒ４０に、実メモリ空間Ｒ４０よりも大きな論理的なアドレス空間（以下「仮想メモリ空間」という。）Ｖ４０を対応させ、その際、実メモリ空間Ｒ４０と仮想メモリ空間Ｖ４０とを所定のデータ単位（ページ）で対応させる。これにより、複数の画像処理回路１１、１２、…からのメモリ１８への同時アクセスを可能とする。
【００２７】
書込み番地Ｗ２３と読出し番地Ｒ２４はデータの保持が必要な部分と必要でない部分の境界に当る。仮想メモリ空間Ｖ４０上で、画像処理毎に領域（ＲＡＷ領域、ＹＣ領域、ＪＰＥＧ領域、表示領域）が割当てられているが、それらの領域において未だデータが書かれていない領域には実メモリ空間Ｒ４０を割当てない。データが書き込まれた後、未だ読み出されていない領域Ｖ４２、Ｖ４３、Ｖ４４、Ｖ４６は、後の処理のためにデータを保持する必要があるので、実メモリ空間Ｒ４２、Ｒ４３、Ｒ４４、Ｒ４６を割当てている。書き込まれたデータのうち読み出しが終わった部分は保持が不要なので、実メモリ空間を割当てない。
【００２８】
ＭＭＵ２０は、仮想メモリ空間Ｖ４０と実メモリ空間Ｒ４０を「ページ」と呼ばれる６４Ｋバイト単位に分割して管理しており、実メモリの割当てと開放は、このページ単位で行われる。本実施形態では、図３に示すように仮想メモリ空間のアドレスの上位ビットを仮想ページ番号とし、実メモリ空間のアドレスの上位ビットを実ページ番号とする。
【００２９】
例えば、実メモリ空間における画像のＲＡＷデータの記憶領域Ｒ４２には、最初のＲＡＷデータが書き込まれる時に実メモリの最初の１ページが割当てられ、以後、書込みアドレスがページ境界を越える毎に新たな１ページが割当てられる。ＲＡＷデータの最初の１ページの読出しが終わると、このページの実メモリは開放され、以後、読出しアドレスがページ境界を越える毎に１ページが開放される。
【００３０】
実メモリ空間Ｒ４０のうち仮想メモリ空間Ｖ４０に割当てられていない領域が空き領域Ｒ４５である。空き領域Ｒ４５のページ数は割当てと開放により増減するので、後述するように、ＭＭＵ２０は空き領域Ｒ４５のページ数を常時監視している。すなわち、ＭＭＵ２０はメモリ１８の空き領域Ｒ４５のページ数とデータ毎の割当てられたページ数を随時参照する。
【００３１】
撮像回路１１は、撮像した画像ＲＡＷデータを、ＭＭＵ２０のアドレス制御に基づき割当てられたメモリ１８のＲＡＷデータ領域Ｒ４４に直接格納する。ＹＣ処理回路１２は、ＭＭＵ２０の制御により、メモリ１８のＲＡＷデータ領域Ｒ４４からＲＡＷデータを読み出し、色空間変換を行ってＹＣデータを得る。その後、ＹＣ処理回路１２は、生成したＹＣデータＲ４３を、ＭＭＵ２０により指定されたメモリ１８の領域に書き込む。圧縮回路１３はＭＭＵ２０の制御により、ＹＣデータＲ４３をメモリ１８から読み出し、ＪＰＥＧデータＲ４２に圧縮変換して、ＪＰＥＧデータＲ４２をメモリ１８に直接書き込む。記録回路１５はＭＭＵ２０のアドレス制御に基づき、直接メモリ１８の領域Ｒ４２からＪＰＥＧデータを読み出して、最終的に記録媒体２００に保存する。表示装置を含む表示処理回路１４はメモリ１８のデータ領域Ｒ４３からＹＣデータを読み出し、液晶等からなる表示装置に表示する。これらの各処理回路によるアクセスは、全てＭＭＵ２０のアドレス制御に基づき行われており、メモリ空間の記憶領域の割当て及び開放もＭＭＵ２０が行う。他方、画像処理回路１１、１２、１３、１４、１５は、それぞれメモリ１８と直接データのやり取りを行う。
【００３２】
図４Ａ〜図４Ｃは、ＭＭＵ２０のアドレス制御による仮想メモリ空間と実メモリ空間における領域割当ての具体例を説明した図である。
【００３３】
まず、図４Ａに示すように、撮像回路１１により撮像されたＲＡＷデータが仮想メモリ空間の仮想ページ０に記録される。この場合、メモリ１８の実メモリ空間においては、ＭＭＵ２０により割り当てられた実ページ０の領域にＲＡＷデータが記録される。
【００３４】
続いて、図４Ｂに示すように、撮像回路１１により、次のＲＡＷデータが仮想ページ１に記録される。実際には、このデータは実ページ１の領域に記録される。その後、仮想ページ０に記録されたデータはＹＣ処理回路１２により処理され、処理後のデータが仮想メモリ空間のＹＣデータ領域におけるページｍに記録される。実際には、実メモリ空間のページ２に記録される。
【００３５】
その後、図４Ｃに示すように、撮像回路１１により次のＲＡＷデータが仮想ページ２に対応する実ページ３に記録される。ＹＣ処理回路１２により、仮想ページ１に記録されたＲＡＷデータが処理され、処理後のデータが仮想ページｍ＋１に対応する実ページ４に記録される。さらに、仮想ページｍに記録されたデータが圧縮回路１３により処理され、処理後のデータが仮想ぺージｎに対応する実ページ５に記録される。
【００３６】
このように、実メモリ空間において、処理中のデータを含むページのみ、ページ単位で仮想メモリ空間との対応付けを行うことにより、実メモリ空間中の使用領域を増大させずに複数の画像処理回路からの同時アクセスを可能とする。
【００３７】
図５（ａ）、（ｂ）は、メモリのページ単位の割当てと開放を説明した図である。図５（ａ）は、横軸が時間を表し、縦軸が仮想アドレスを表している。順次記憶されるべき仮想ページＶ１〜Ｖ９が時間経過と共に示され、これらに対する仮想メモリ空間上のメモリ使用量の合計がＣvである。図５（ａ）には書込み仮想アドレスの軌跡Ａw、読出し仮想アドレスの軌跡Ａr、及び仮想ページの有効期間１０６が示されている。図５（ｂ）は、横軸が時間を表し、縦軸が実アドレスを表している。実ページＲ１、Ｒ２、Ｒ３が順次繰返し使用され、実ページの有効期間１０７の間、断続的に有効になる様子を示している。実メモリ空間上のメモリ使用量はＣrである。
【００３８】
図５（ａ）、（ｂ）を参照し、メモリ１８に対するページ単位の割当てと開放の動作を説明する。時刻０からメモリ１８へのデータの書込みが始まると、最初の仮想メモリ空間の仮想ページＶ１の仮想アドレスに対して実ページＲ１が割当てられる。すなわち、この時に書込みが行われるページは仮想アドレス空間上では仮想ページＶ１であり、実アドレス空間上では実ページＲ１である。書込みアドレスが次のページとの境界に達すると（時刻ｔ0）、２番目の実ページＲ２が仮想ページＶ２に対応付けられる。その後も書込みアドレスが次のページとの境界に達する毎に実ページが仮想ページに対応付けられる。
【００３９】
図５（ａ）、（ｂ）の例では、書込みから少し遅れて読み出しを行っている。読出しは、書込み開始アドレスからスタートし、書込みと同じ速度で平行して進行する。読出しアドレスがページ境界に達すると、読み終えたデータは不要なので、実ページと仮想ページの対応関係を解消し、実ページの開放を行う。開放された実ページは、再び別の仮想ページに割当てることができる。この例では、時刻ｔ1で実ページＲ１が開放された後、時刻ｔ2で仮想ページＶ４に対して実ページＲ１が再び割当てられている。続いて時刻ｔ3、ｔ5で実ページＲ２とＲ３もそれぞれ開放され、これらはそれぞれ、その後、時刻ｔ4、ｔ6で仮想ページＶ５とＶ６に対して再び割当てられる。
【００４０】
このように実ページは繰返し利用されるので、仮想アドレス空間上で書込みアドレスと読出しアドレスが仮想アドレスＶ１０８の範囲、言い替えるとメモリ容量Ｒ１０９の範囲を動く時に、実アドレス空間上でデータが読み書きされる領域は実アドレスＲ１０９の範囲内、言い替えるとメモリ容量Ｒ１０９の範囲であり、これは仮想アドレス上での容量Ｖ１０８よりもずっと小さくなる。
【００４１】
１．３  メモリ管理装置（ＭＭＵ）の構成
図６を参照し、ＭＭＵ２０の具体的な構成を示す。ＭＭＵ２０は、複数のインタフェース回路２１、２２、２３、２４、２５と、調停回路４０と、対応登録回路６０とを備えている。インタフェース回路２１、２２、２３、２４、２５は画像処理回路１１、１２、１３、１４、１５にそれぞれ対応して設けられている。
【００４２】
図７に、撮像回路１１に対するインタフェース回路２１の構成を示す。インタフェース回路２１はアドレス変換バッファ１０１及び制御回路５８を備える。アドレス変換バッファ１０１は、３つのレジスタ５９、６１、６３と、セレクタ６４とを含む。アドレス変換バッファ１０１は、実ページと仮想ページとの対応を示す情報を格納し、その対応に従って仮想アドレスを実アドレスに変換する。制御回路５８は、調停回路４０との間で情報をやり取りしてメモリ１８に対するアクセス権を調整するように、アドレス変換バッファ１０１の動作を制御する。
【００４３】
記録回路１５に対するインタフェース回路２５も、図７に示す構成と同様の構成を有する。しかし、記録回路１５はメモリ１５に対して読み出し動作のみを行うのに対し、撮像回路１１はメモリ１５に対して書き込み動作のみを行うため、撮像回路１１に対するインタフェース回路２１と記録回路１５に対するインタフェース回路２５とは同様の構成を有するが、その動作において若干異なる。
【００４４】
ＹＣ処理回路１２、圧縮処理回路１３及び表示処理回路１４はメモリ１８に対して読み出しと書き込みの双方の動作を行う。このため、ＹＣ処理回路１２、圧縮処理回路１３及び表示処理回路１４に対するインタフェース回路２２〜２４は、図６に示すように、メモリ１８からのデータ読み出し時に動作させるインタフェース回路２２ａ〜２４ａと、メモリ１８へのデータ書き込み時に動作させるインタフェース回路２２ｂ〜２４ｂとを含む。
【００４５】
なお、通常、圧縮処理回路１３がＪＰＥＧ圧縮する場合には、画像のヘッダ部の処理は圧縮回路１３自身が行う。しかし、圧縮回路１３は必ずしもヘッダ部の処理機能を持たなくてもよく、そのような場合には、ＣＰＵ１０用に別にインタフェース回路（図示せず）を設け、そのインタフェース回路がヘッダ部を付加する処理を行い、ＣＰＵ１０がメモリ１８にアクセスできるようにすればよい。また、圧縮回路１３の圧縮画像に不適切なヘッダがついている場合は、同様に、ＣＰＵ１０用に別にインタフェース回路（図示せず）を設け、そのインタフェース回路が、ＣＰＵ１０がメモリ１８にアクセスできるようにヘッダ部の付け替え処理を行うようにすればよい。
【００４６】
対応登録回路６０は、アクセスされたメモリ１８の全ての実ページと仮想ページの対応関係を管理する対応情報を格納する。すなわち、対応登録回路６０は、図８に示すように、実ページと仮想ページの対応情報として、対応テーブル７３と、有効ビットテーブル７４と、空きページテーブル７５と、ローダブルカウンタ８２とを有する。また、対応登録回路６０はセレクタ７０と、制御回路７１とを有する。
【００４７】
制御回路７１はアップダウンカウンタ７７を含む。アップダウンカウンタ７７は実メモリ空間の空きページ数を管理する。アップダウンカウンタ７７は、制御回路７１が、実ページと仮想ページの対応付けを要求する「対応登録要求コード」に応答して「成功コード」を返す時には値を１だけ減らし、実ページと仮想ページの対応の解消を要求する「対応削除要求コード」に応答して「成功コード」を返す時には値を１だけ増やす。アップダウンカウンタ７７は、制御回路７１が「対応登録要求コード」に対して「失敗コード」を返す時には値を変えない。このようにすることにより、アップダウンカウンタ７７は実メモリ空間の空きページ数の増減を逐次反映することができる。よって、アップダウンカウンタ７７の値を参照することで、空きページの状態を知ることができる。
【００４８】
対応テーブル７３は図９Ａに示すように、仮想ページ番号と実ページ番号の対応を格納する。対応テーブル７３は、選択された仮想ページ番号に対応する実ページ番号を、対象のインタフェース回路に出力する。
【００４９】
有効ビットテーブル７４は図９Ｂに示すように、仮想ページ毎に、各仮想ページに対応する実ページの有無を示す情報を格納する。有効ビットテーブル７４は仮想ページに対応して設けられた複数の有効ビットを含み、その有効ビットの値を制御回路７１に出力する。有効ビットが「１」のときは、そのビットに対応する仮想ページが、それに対応する実ページを有してないことを示す。
【００５０】
空きページテーブル７５は図９Ｃに示すように、実ページ毎に、各実ページに対応する仮想ページの有無を示す情報を格納する。言い換えると、空きページテーブル７５は、各実ページが空きであるか否かを示す情報を格納する。空きページテーブル７５は、実ページ番号をアドレスとするビット列からなる。ビットの値が「１」の場合は、対応する実ページが空きであることを示す。ビットの値が「０」の場合は、対応する実ページが使用中であること、すなわち、そのページに有効なデータが格納されていることを示す。空きページテーブル７５は３２ビット幅のデータ線を有するＲＡＭで構成される。１ビットが１ページに対応し、空きページテーブル７５からは、３２ページ分の実ページについて、それらに対応する仮想ページの有無を一度に参照できる。
【００５１】
ローダブルカウンタ８２は、空きページテーブル７５に対する読み出しアドレスを与える。ローダブルカウンタ８２の値は、空きページ番号の上位ビットとなる。より具体的には、制御回路７１は、ローダブルカウンタ８２の示す値を、アドレスとして空きページテーブル７５に与えて、空きページテーブル７５のデータを３２ビット毎に読み出し、３２ビット中の１であるビットの位置から空きページ番号の下位ビットを得る。ローダブルカウンタ８２は、制御回路７１からの指示により「ロード」と「インクリメント」のどちらか一方の動作を行う。インクリメントの場合は、カウントアップ毎に３２ページ分の空きページ情報が得られるので、高速に空きページの番号を取得できる。制御回路７１は、空きページを発見するとローダブルカウンタ８２のインクリメントを停止し、空きページの番号を保持させる。
【００５２】
セレクタ７０は複数のインタフェース回路２１〜２５からの入力のうち、有効な要求コードを伴う１つの入力を選択する。選択された入力に含まれる仮想ページ番号は、対応テーブル７３と有効ビットテーブル７４に対してアドレスとして入力される。インタフェース回路２１〜２５は対応登録回路６０にアクセスする前に、調停回路４０に対してアクセス権を要求する。
【００５３】
調停回路４０は、複数の画像処理回路１１〜１５から同時にアクセス要求があった時にそれらを調停し、インタフェース回路２１〜２５の中の一時に一つだけに対応登録回路６０へのアクセス権を与える。例えば、アクセス権を得たインタフェース回路２１は対応登録回路６０にアクセスして実ページと仮想ページとの対応情報を取得する。複数のアクセス要求が同時に発生することが稀にあるので、撮像回路１１のように特にリアルタイム性が要求される画像処理回路のインタフェース回路に高い優先順位を与えておくのが好ましい。これにより、撮像回路１１は、アクセス権獲得の待ち時間が最短になり、ユーザがシャッタチャンスを逃すことが少なくなり、リアルタイム処理を実現できる。このようにして、複数の画像処理回路１１〜１５が個別に仮想メモリ空間にアクセスでき、画像データをメモリ１８と複数の画像処理回路１１〜１５との間で、それぞれ直接に伝送する。
【００５４】
インタフェース回路２１〜２５は、実ページと仮想ページの対応付けを要求し、対応登録回路６０は直ちに対応付けを登録するので、ＣＰＵ１０の介在を待つ必要がない。従って、実ページと仮想ページとの対応の登録操作が処理速度上のボトルネックになることが無くなる。本発明はこのような利点を実現する。言い替えると、複数の画像処理回路１１〜１５が仮想メモリ空間にアクセスできるメモリ管理装置（ＭＭＵ）２０を用い、仮想メモリ空間へのアクセス処理におけるアドレス変換の負荷が画像処理回路１１〜１５に対応するインタフェース回路２１〜２５にそれぞれ分散されている。これにより、仮想ページから実ページへのアドレス変換が処理速度上のボトルネックにならない、という利点を有する。
【００５５】
インタフェース回路２１〜２５の中の少なくとも一つ、例えば、インタフェース回路２１は、ＣＣＤを含む撮像回路１１が過去にアクセスした仮想ページの番号を記憶する機能と、この記憶した仮想ページの番号と、撮像回路１１がアクセスを要求している仮想ページの番号とを比較する機能とを有している。この比較結果に基づいて、インタフェース回路２１は、アクセスする仮想ページに対応した実ページを記憶していない場合に限って対応登録回路６０にアクセスして実ページと仮想ページの対応を登録する。その結果、対応登録回路６０の対応登録処理は、アドレスがページの境界を超えた時にだけ発生するので、実ページと仮想ページの対応の登録処理は処理速度上のボトルネックにならない。
【００５６】
本撮像装置において、インタフェース回路２１〜２５の中の少なくとも一つのインタフェース回路は、アクセスが終わった実ページについて、調停回路４０の調停結果に従って対応登録回路６０にアクセスし、画像処理回路１１〜１５の中の該当の画像処理回路が過去にアクセスした仮想ページと実ページの対応を抹消する機能を有する。これにより、アクセスが終わった実ページを該当のインタフェース回路２１〜２５が直ちに開放するため、不必要な期間にわたって実ページが拘束されることがなくなる、という利点を有する。
【００５７】
また、対応登録回路６０の制御回路７１は空きページテーブル７５にアクセスし、対応する仮想ページが存在しない実ページを検索する。この場合、制御回路７１を対応テーブル７３と一体化することによりページ検索の為の回路の総和を小さくし、かつ検索速度を高速化することが出来る、という利点を有する。
【００５８】
また、対応登録回路６０の制御回路７１は、インタフェース回路２１〜２５からのアクセスがない期間に、空きページテーブル７５にアクセスし、対応する仮想ページが存在していない実ページを検索し、検索により発見した実ページの番号を空きページ番号として保持しておき、次の対応付けに備えている。インタフェース回路２１〜２５からのアクセスがない期間を利用して、インタフェース回路２１〜２５からの要求に先立って対応する仮想ページが存在しない実ページを予め検索して用意おくことにより、インタフェース回路２１〜２５から、対応付けを要求された時に、直ちに実ページ番号を応答することが可能になり、実ページと仮想ページとの対応の登録の際に、インタフェース回路２１〜２５が処理を待つ時間を大幅に短縮できる、という利点を有する。
【００５９】
２．  撮像装置の動作
最初に、調停回路４０の役割を説明する。インタフェース回路２１〜２５のそれぞれは個別にアドレス変換を行い、その結果にしたがい対応登録回路６０にアクセスする。各々の画像処理回路１１〜１５は独立に動作するため、対応登録回路６０へのアクセスが同時に発生することがある。調停回路４０は、そのような場合に、同時の複数のアクセス要求を調停し、一度に一つずつアクセスを実行させる。
【００６０】
例えば、画像処理回路１１、１２から同時に２つのアクセス要求があると、インタフェース回路２１、２２から、調停回路４０に調停依頼が伝えられる。調停回路４０における優先順位の制御は各種の方法があるが、本実施形態では、各インタフェース回路について事前に設定した固定の優先順位を使用する。要求したインタース回路２１、２２中最も優先順位が高いものに対してアクセス権を与えるよう制御している。
【００６１】
調停回路４０は、調停した結果、インタフェース回路２１にアクセス権を与えることをインタフェース回路２１、２２に伝える。その結果、インタフェース回路２１だけがアクセス権を得て対応登録装置６０にアクセスできる。
【００６２】
この場合、撮像回路１１に最高位の優先順位を付与されており、アクセスした仮想ページに対応する実ページが無い場合にも調停回路４０から優先的に遅滞無くアクセス権を与えられる。アクセス権を得ると、制御回路５８は、対応登録回路６０に仮想ページ番号と同時に対応登録要求コードを出力する。対応登録回路６０は対応登録要求コードに応じて対応関係の存在していない実ページを、要求された仮想ページに対応付ける。
【００６３】
２．１  メモリへのデータ書き込み時の動作
図１０を参照してＭＭＵ２０によるメモリ１８へのデータ書き込み時の動作を説明する。ここでは、画像処理回路として撮像回路１１からデータ書き込み要求があった場合を例として説明する。
【００６４】
撮像回路１１からライトアクセス要求があると（Ｓ１１）、ライトアクセス要求とともに指定されたアドレスの上位ビットすなわちページが、前回処理されたときのページと同じであるか否かを判断する（Ｓ１２）。具体的には、インタフェース回路２１の制御回路５８は、撮像回路１１が出力する仮想アドレスのアドレス有効信号を制御線上で監視し、アドレスが有効である場合にはその仮想アドレスの上位ビットとレジスタ５９が記憶する仮想ページ番号を比較する。ここで、レジスタ５９には、制御回路５８の制御により、直前のアクセスにおける仮想アドレスの上位ビットが仮想ページ番号として記憶されている。従って、比較結果が一致している場合には、仮想アドレスの上位ビットが前回のアクセスと同じであることを意味する。
【００６５】
今回指定されたページ番号が前回のページ番号と同じであれば、前回の実ページのページ番号を用いてメモリ１８への書き込みを行う（Ｓ１６）。具体的には、レジスタ６１は制御回路５８の制御により、前回のアクセスにおける実ページ番号を記憶しているので、この実ページ番号を、実アドレスの上位ビットとしてメモリ１８に出力する。つまり、比較結果が一致する場合、直ちに実アドレスの有効信号をメモリ１８に出力する。その結果、メモリ１８は実アドレスの有効信号に基づいてアクセスが可能となる。
【００６６】
一方、先の比較結果が不一致である場合、すなわち、仮想アドレスの上位ビットが前回のアクセスと異なる場合（Ｓ１２でＮＯ）、指定された仮想ページ番号に対応する新しい実ページ番号を取得する必要がある。そこで、インタフェース回路２１は対応登録回路６０へのアクセスが必要になる。
【００６７】
制御回路５８は先ず調停回路４０にインタフェース回路２１のアクセス権を要求し、アクセス権が得られるまで待つ（Ｓ１３）。調停回路４０からアクセス権が付与されると（Ｓ１３でＹｅｓ）、指定された仮想ページに対応する実ページを、対応登録回路６０に対して要求する対応登録処理を行う（Ｓ１４）。対応登録処理（Ｓ１４）の詳細は後述する。
【００６８】
対応登録回路６０から、仮想ページに対応する実ページ番号を得ると、制御回路５８は、この実ページ番号をレジスタ６１に格納する（Ｓ１５）。同時に、制御回路５８は仮想アドレスの上位ビット（ページ）をレジスタ５９に格納する。これにより仮想アドレスの上位ビットと、レジスタ５９の出力は一致するので、この時点で、対応登録回路６０は実アドレスの有効信号を、メモリコントローラ３０を介してメモリ１８に出力する。メモリ１８はメモリコントローラ３０の制御にしたがい、撮像回路１１から出力されたデータを書き込む（Ｓ１６）。
【００６９】
図１１を用いて、図１０中の対応登録処理（Ｓ１４）の詳細を説明する。対応登録処理において、制御回路５８は、セレクタ６４を制御して仮想アドレスの上位ビットを仮想ページ番号として対応登録回路６０に出力し、同時に、「対応登録要求コード」を対応登録回路６０に出力する。
【００７０】
対応登録回路６０の制御回路７１は、インタフェース回路２１から「対応登録要求コード」を受信すると、先ず有効ビットテーブル７４を参照し（Ｓ２０）、書き込みを行おうとする仮想アドレスに対応の実アドレスがあるか否かを判断する。具体的には、有効ビットが「１」（対応実ページあり）であれば、「成功コード」を応答コードとして、対応参照要求コードを送信したインタフェース回路２１に出力する。応答コードは、セレクタ７０を介して、インタフェース回路２１〜２５中の有効な要求コードを出力している一つのインタフェース回路だけに出力される。実ページ番号は、対応テーブル７３から、全てのインタフェース回路２１〜２５に出力される。前述のように、全インタフェース回路の中の１つだけが成功コードを受取る。
【００７１】
同時に、有効ビットが「１」であれば（Ｓ２１でＹＥＳ）、対応テーブル７３から、実ページ番号を出力する（Ｓ２６）。
【００７２】
一方、有効ビットが「０」であれば（Ｓ２１でＮＯ）、対応登録回路６０により、仮想アドレスと実アドレスの新たな対応付けが実施される（Ｓ２２〜Ｓ２５）。
【００７３】
すなわち、対応登録回路６０の制御回路７１は、有効ビットが「０」であれば（Ｓ２１でＮＯ）、ローダブルカウンタ８２の値と空きページテーブル７５の出力から得た空きページ番号を実ページ番号として出力する。（Ｓ２２）。具体的には、制御回路７１は、ローダブルカウンタ８２から読み出した値をアドレスとして空きページテーブル７５に与え、空きページテーブル７５から、３２ビットデータを読み出し、そのビット列において値が「１」となるビットの有無を判断する。値が「１」のビットが含まれる場合、値が「１」のビットのうち最も下位のビットのビット位置を下位５ビットとし、空きページテーブル７５に与えられたアドレスを上位ビットとして、空いている実ページ番号を求める。求めた実ページ番号を仮想ページと対応づけて対応テーブル７３に登録する（Ｓ２３）。
【００７４】
同時に、制御回路７１は、有効ビットテーブル７４において、指定された仮想ページに対応する位置のビットに「１」を書き込む（Ｓ２４）。さらに、制御回路７１は、空きページテーブル７５から読み出した３２ビットのデータにおいて、値が「１」であるビットのうちの最も下位のビットを「０」にして、空きページテーブル７５の同じ番地に書き戻す（Ｓ２５）。これにより、実メモリ空間において、空きページが一つ減ることになる。同時に対応テーブル７３は実ページ番号を各インタフェース回路２１〜２５に出力する（Ｓ２６）。それと同時に、制御回路７１は「成功コード」をインタフェース回路２１〜２５中の有効な要求コードを出力している一つのインタフェース回路だけに出力する。前述のように、全インタフェース回路の中の１つだけが成功コードを受取る。
【００７５】
なお、このとき、ローダブルカウンタ８２は、空きページテーブル７５から読み出した３２ビットのデータが全て「０」であれば、インクリメントされ、空きページテーブル７５から次の３２ビットのデータを読み出して、「１」であるビットが有れば上記の操作を行う。次に読み出した３２ビットのデータに「１」であるビットが含まれていなければ、ローダブルカウンタ８２は、一巡する回数を上限としてインクリメントが繰り返される。ローダブルカウンタ８２が一巡しても「１」であるビットが無ければ、その時点で制御回路７１は、インタフェース回路２１〜２５中の有効な要求コードを出力している一つのインタフェース回路だけに失敗コードを出力する。
【００７６】
２．２  メモリからのデータ読み出し時の動作
図１２を参照し、データ読み出し時の処理を説明する。ここでは、画像処理回路として記録回路１５からデータ読み出し要求があった場合を例として説明する。
【００７７】
記録回路１５からリードアクセス要求があると（Ｓ４１）、リードアクセス要求とともに指定されたアドレスの上位ビット（ページ）が、前回処理されたときのページと同じであるか否かを判断する（Ｓ４２）。今回指定されたページが前回のアクセス時のページと同じであれば、前回の実ページを用いてメモリ１８からデータを読み出す（Ｓ４７）。
【００７８】
今回指定されたページが前回のものと異なるときは（Ｓ４２でＮｏ）、調停回路４０にアクセス権を要求し、調停回路４０からアクセス権が付与されると（Ｓ４３でＹｅｓ）、指定された仮想ページに対応する実ページがあるか否かを対応登録回路６０に要求する（Ｓ４４）。このため、制御回路５８は対応登録回路６０に対して対応参照要求コードを出力する。
【００７９】
対応登録回路６０は、仮想ページに対応する実ページがなければ、対応がない旨を回答する（Ｓ４８）。すなわち、応答として失敗コードを送信する。対応の実ページがあれば、その実ページをレジスタ６１に格納する（Ｓ４６）。同時に、レジスタ５９の値をレジスタ６３に退避する。レジスタ６３は、データが処理され、不要になった仮想ページと実ページの対応関係を消去するために参照される。その後、レジスタ５９に、仮想アドレスの上位ビット（ページ）を格納する。そのレジスタ６１の値を用いて、メモリ１８からデータを読み出す（Ｓ４７）。
【００８０】
その後、１ページ分の読み出しが終了したか否かを判断し（Ｓ４９）、終了していれば、対応テーブル７３においてそのページに関する対応登録を解消する（Ｓ５０）。これは、読み出し終えた仮想ページにはそれ以降アクセスする必要が無いからである。そのため、インタフェース回路２５は、直ちに直前にアクセスした実アドレスに対応する、アクセスし終えた実ページを開放する。レジスタ６３は、直前のアクセスに使用された仮想ページ番号を格納しており、制御回路５８は、実ページ番号の保存後、直ちにセレクタ６４をレジスタ６３の出力に切替えて直前の仮想ページ番号を対応登録回路６０に出力する。それと同時に、制御回路５８は、対応登録回路６０に「対応削除要求コード」を出力する。対応登録回路６０は、対応削除要求コードに応じて、仮想ページ番号に関する対応を解消する。
【００８１】
「対応削除要求コード」を受信した場合の対応登録回路６０の動作の詳細を説明する。
対応登録回路６０が「対応削除要求コード」を受信すると、制御回路７１は有効ビットテーブル７４における、削除を要求するページに該当するビットに「０」を書き込む。それと同時に、対応テーブル７３は、実ページ番号をローダブルカウンタ８２にロードする。
【００８２】
前述のように、空きページテーブル７５からは、３２ページ分の実ページについて、それらに対応する仮想ページの有無を一度に参照できる。
【００８３】
次に、制御回路７１は、有効ビットテーブル７４に続いて、空きページテーブル７５を参照する。空きページテーブル７５は３２ビット幅のＲＡＭで構成され、１ビットが１ページに対応する。各ビット値は「０」であれば、実ページと仮想ページとが「対応している」ことを示す。アドレス線８３のアドレスのビット位置は、実アドレスに対応する。「対応削除要求コード」に対して、制御回路７１は、空きページテーブル７５から、３２ビットのデータを読み出し、その読み出した３２ビットのデータにおいて、消去すべき実ページ番号の下位５ビットが指す位置のビットを「１」にした値を、空きページテーブル７５の同じ番地に書き戻す。その結果、指定の仮想ページに対応していた実ページは空きページとなり登録は削除されるので、制御回路７１は、成功コードを対応削除要求コードを送信したインタフェース回路に出力する。
【００８４】
なお、制御回路７１は、インタフェース回路から有効な要求コードを受けていない時に、常に空きページテーブル７５から３２ビットのデータを読み出し、３２ビット全てが「０」（実ページに対応する仮想ページがない）であれば、ローダブルカウンタ８２をインクリメントする操作を常に繰り返している。その結果、値が「１」のビットがあると（すなわち、対応の仮想ページがない実ページがあると）、ローダブルカウンタ８２は空きページ番号の上位アドレスを指して停止する。このとき、値が「１」のビットの位置が空きページ番号の下位アドレスを指す。このようにして空きページに関する情報を予め保持してあるので、必要が生じた時に遅滞なく実アドレスの指定が可能となる。また、この構成では、空きページを１ページずつ探すのではなく、空きページを３２ページ分まとめて検索できるので、短い時間で検索を終えることができる。
【００８５】
以上のような構成と動作により、対応登録回路６０は対応の参照または削除の要求に対して必ず一定時間内に操作を完了することができ、登録の要求に対しても空きページがある限り一定時間内に操作を完了することができる。従って、撮像装置からのデータの取り込みのように遅滞が許されない極めてリアルタイム性の高い処理にも本発明の撮像装置にＭＭＵ２０を適用することにより、使用済みの実ページは各々のインタフェース回路の働きにより遅滞無く開放されるので、メモリ１８を効率的に利用することが可能である。
【００８６】
２．３  撮影許可動作
撮像装置における撮影許可動作について説明する。その動作説明の前にメモリ１８の実メモリ空間上でのメモリ容量の変化について説明する。
【００８７】
図１３は各データが撮影時に実メモリ空間上でメモリの占める容量の時間変化を表した図である。横軸は時間、縦軸は容量を表す。同図において、曲線Ｃ３１はＲＡＷデータによるメモリ使用量、曲線Ｃ３２はＹＣデータによるメモリ使用量、曲線Ｃ３３はＪＰＥＧデータによるメモリ使用量、曲線Ｃ３４は総メモリ使用量である。同図において、メモリ１８全体の記憶容量から総メモリ使用量Ｃ３４を除いた部分、すなわち、破線Ｃtの値から曲線Ｃ３４の値を除算した容量がメモリ１８の空き容量を示す。
【００８８】
撮像回路１１がＲＡＷデータ領域Ｒ４２に対してＲＡＷデータ出力を開始すると、メモリ使用量Ｃ３１が増加を始める。
【００８９】
ＹＣ処理回路１２は、撮像回路１１がＲＡＷデータ領域Ｒ４４にＲＡＷデータ出力を開始後、それから少し遅れて処理を開始する。ＹＣ処理回路１２がＲＡＷデータを処理する速度は撮像回路１１がＲＡＷデータを出力する速度と同じであり、ＲＡＷデータに割当てられたページは処理済みのものから開放される。そのため、撮像回路１１から一定量ずつＲＡＷデータ領域Ｒ４４にＲＡＷデータが出力される場合は、実メモリ空間上でのＲＡＷデータのＲＡＷデータ領域Ｒ４４のメモリ使用量Ｃ３１は、ＹＣ処理回路１２が処理を開始してから一定になる。しかし、図１３では、説明の便宜上、ＹＣ処理回路１２の処理開始後、撮像回路１１からのＲＡＷデータ領域Ｒ４４への継続的なデータ供給はない例を示しており、よって、ＲＡＷデータ領域Ｒ４４のメモリ使用量Ｃ３１は、ＹＣ処理回路１２が時刻ｔａにて処理を開始してから減少している。
【００９０】
圧縮処理回路１３は、ＹＣ処理回路１２がＹＣデータ領域Ｒ４３のＹＣデータ出力を開始すると、少し遅れて（時刻ｔｂにて）変換を開始する。圧縮処理回路１３の変換速度はＹＣ処理回路１２の処理速度と同じなので、実メモリ空間上でのＹＣデータのＹＣデータ領域Ｒ４３のメモリ使用量Ｃ３２は、圧縮処理回路１３が変換を開始してから一定になる。
【００９１】
記録回路１５は、圧縮処理回路１３がＪＰＥＧデータ領域Ｒ４２へＪＰＥＧデータ出力を開始すると、少し遅れて転送を開始する。しかし、記録媒体への転送は速度が遅いので、ＪＰＥＧデータが生成されるのと同じ速度では転送できない。従って、ＪＰＥＧデータに割当てられたページの開放速度は、ＪＰＥＧデータにページが割当てられる速度に及ばない。そのため、圧縮処理回路１３の動作中にはＪＰＥＧデータのＪＰＥＧデータ領域Ｒ４２のメモリ使用量Ｃ３３は増加する。時刻ｔcにて圧縮処理回路１３が停止してからは、開放だけが進行するので、ＪＰＥＧデータのＪＰＥＧデータ領域Ｒ４２のメモリ使用量Ｃ３３は減少し、最後にはゼロになる。
【００９２】
図１３において、ＲＡＷデータ領域Ｒ４４におけるＲＡＷデータのメモリ使用量Ｃ３１と、ＹＣデータ領域Ｒ４３におけるＹＣデータのメモリ使用量Ｃ３２と、ＪＰＥＧデータ領域Ｒ４２におけるＪＰＥＧデータのメモリ使用量Ｃ３３との和が、総メモリ使用量Ｃ３４である。総メモリ使用量Ｃ３４は図１３に示すように時々刻々と変化している。図１３で明らかなように、総メモリ使用量Ｃ３４は、撮像回路１１がＲＡＷデータＲ４２の出力を終了した時点（時刻ｔa）で最大値をとり、この時点での総メモリ使用量Ｃ３４が、撮影に要する記憶容量である。
【００９３】
記録回路１５による転送を行わない場合と比較すると、撮影に要する記憶容量は、記録回路１５が転送を開始してから撮像回路１１がＲＡＷデータの出力を終了するまでに転送されたＪＰＥＧデータの分だけ小さくなっている。従って、撮影に要する記憶容量は、記録媒体への転送速度に依存し、記録媒体２００への転送速度をより速くすれば、より小さくなる。よって、撮影に要する記憶容量Ｃ３５は、記録媒体２００への転送速度が十分に速ければ、撮影画像１枚のＪＰＥＧデータ量よりも小さくなる。
【００９４】
以上のように、撮影に要する記憶容量は、積み上げ算で求められるが、ＭＭＵ２０のアップダウンカウンタ７７による空き領域のページ数をカウントする機能を用いれば、より簡単に求められる。
【００９５】
上記のメモリ容量の変化を踏まえて、以下に、撮像装置における撮影許可動作について図１４のフローチャートを用いて説明する。
【００９６】
撮影開始前に、ＣＰＵ１０はメモリ１８の空き容量（空きページ数）をアップダウンカウンタ７７から取得し、記憶する（Ｓ６１）。撮影開始後、撮像回路１１がＲＡＷデータを出力し終えた時点で、空きページ数をアップダウンカウンタ７７から取得し、記憶する（Ｓ６３）。ＲＡＷデータ出力時点で取得した空きページ数を、撮影開始前の空きページ数から差し引くことで、撮影に要する記憶容量（すなわち、撮影に要するページ数）を求める（Ｓ６４）。なお、記録媒体２００への転送速度は同一の記録媒体であっても必ずしも一定とならないので、求めた値に１より少し大きい適当な計数を乗じて余裕を持たせるとよい。
【００９７】
以上のようにして求めた撮影に要するページ数を、読み出した空きページ数と比較し、その時点で撮影可能かどうかを判断する（Ｓ６５）。撮影に要するページ数が、ＭＭＵ２０から読み出した空きページ数よりも大きいときは、撮影不可能であると判断する。
【００９８】
なお、転送速度は記録媒体２００によって変わる場合があるので記録媒体２００を交換した直後では、撮影に要するページ数が正確には予測できない。しかし、メモリ１８にＪＰＥＧデータが残ったまま記録媒体２００を交換することはないので、メモリ１８全体が空に近い場合は、無条件に撮影可能と判断できる。撮影を短い間隔で繰り返した後は、撮影に要するページ数が測定済みであり、これとＭＭＵ２０から読み出した空きページ数を比較すればその時点で撮影可能かどうかを的確に判断できる。
【００９９】
ＣＰＵ１０は、判断した結果、撮影不可能である場合は、ＭＭＵ２０から空きページ数の読出しを続け（Ｓ６６）、撮影に要するページ数を上回った時点で撮像回路１１に対し撮影を許可する（Ｓ６７）。アップダウンカウンタ７７は空きページ数を時々刻々計数しているので、アップダウンカウンタ７７を用いることで撮影可能かどうかを即座に判断できる。
【０１００】
さらにまた、ＭＭＵ２０は、撮影開始前の空き容量Ｃ３７を空きページ数として時々刻々記憶し、それに基づいて空き容量Ｃ３７の増減を予測し、空き容量Ｃ３７が常に負にならないと予測した場合に（すなわち、空き容量が常にゼロ以上を維持できると予測した場合に）、撮像回路１１に対し撮像を許可する、すなわち、撮像回路１１の撮像動作の開始を許可するよう制御してもよい。この予測は、撮像回路１１がＲＡＷデータを送り出す速度と、空き容量Ｃ３７の変化とを監視しておくことにより実現できる。
【０１０１】
以上のように、撮像装置は、メモリ１８の空き容量をページ数で監視し、空き容量のページ数と１枚の撮影に要する記憶容量に該当するページ数とを比較し、少なくとも１枚の画像撮影に必要な記憶容量より大きい空き容量があれば撮影を許可する。これにより、連写撮影の後などに撮影できないことが少なくなり、撮影できない場合でも、直ちに最短の時間で再び撮影可能になる。
【０１０２】
なお、本撮像装置において、メモリ１８のメモリ容量が不足すると判断される場合、ＭＭＵ２０により、表示処理回路１４に割当てられているメモリ１８の記憶領域を、ＲＡＷデータ保存用に割当てるようにしてもよい。また、撮像回路１１に含まれるＣＣＤを一時的にメモリ１８の代わりに活用してもよい。すなわち、操作部１６で撮影が指示された時には先ず撮影を行い、１枚の画像撮影に必要なページ数まで空きページ数が回復までの間、撮像回路１１に含まれるＣＣＤからのメモリ１８へのデータ出力を停止させることで、ＣＣＤをＲＡＷデータ保存用に使用することができる。このようにすれば、メモリ１８のメモリ容量が不足する場合も、これを補填して撮影を行うことが可能になり、さらにシャッタチャンスを逃すことを少なくできる。
【０１０３】
また、上記説明では、ＭＭＵ２０において複数の画像処理回路１１〜１５に対応してインタフェース回路２１〜２５を設けていたが、ページを格納するレジスタ５９、６１、６３をそれぞれの画像処理回路に対して設ければ、インタフェース回路は１つだけでもよい。
【産業上の利用可能性】
【０１０４】
本発明は、撮像機能を有する電子機器に適用できる。例えば、デジタルスチルカメラ、デジタルビデオカメラ、アナログカメラ、カメラ付き携帯電話端末、カメラ付きＰＨＳ端末等に適用できる。
【図面の簡単な説明】
【０１０５】
【図１】本発明によるメモリ管理装置を用いた撮像装置の構成を示すブロック図
【図２】実メモリ空間と仮想メモリ空間の対応を説明した図
【図３】仮想アドレスと実アドレスの対応を説明した図
【図４Ａ】本発明による仮想メモリ管理における仮想ページと実ページの対応を説明した図
【図４Ｂ】本発明による仮想メモリ管理における仮想ページと実ページの対応を説明する図
【図４Ｃ】本発明による仮想メモリ管理における仮想ページと実ページの対応を説明する図
【図５】仮想アドレス空間及び実アドレス空間におけるページ単位の割当てと開放を説明する図
【図６】メモリ管理装置（ＭＭＵ）の構成を示す図
【図７】インタフェース回路の構成を示す図
【図８】対応登録回路の構成を示す図
【図９Ａ】対応テーブルの構成を示す図
【図９Ｂ】有効ビットテーブルの構成を示す図
【図９Ｃ】空きページテーブルの構成を示す図
【図１０】データ書き込み処理のフローチャート
【図１１】対応登録処理のフローチャート
【図１２】データ読み出し処理のフローチャート
【図１３】メモリの記憶容量の時間的変化を示した図
【図１４】撮影許可動作のフローチャート
【符号の説明】
【０１０６】
１０  ＣＰＵ
１１  撮像回路
１２  ＹＣ処理回路
１３  圧縮処理回路
１４  表示処理回路
１５  記録回路
１６  操作部
１８  メモリ
２０  メモリ管理装置（ＭＭＵ）
２１〜２５  インタフェース回路
４０  調停回路
６０  対応登録回路
７３  対応テーブル
７４  有効ビットテーブル
７５  空きページテーブル
７７  アップダウンカウンタ
８２  ローダブルカウンタ
２００  記録媒体（メモリカード）
【図１】
2005333623.tif 000003
【図２】
2005333623.tif 000004
【図３】
2005333623.tif 000005
【図４Ａ】
2005333623.tif 000006
【図４Ｂ】
2005333623.tif 000007
【図４Ｃ】
2005333623.tif 000008
【図５】
2005333623.tif 000009
【図６】
2005333623.tif 000010
【図７】
2005333623.tif 000011
【図８】
2005333623.tif 000012
【図９Ａ】
2005333623.tif 000013
【図９Ｂ】
2005333623.tif 000014
【図９Ｃ】
2005333623.tif 000015
【図１０】
2005333623.tif 000016
【図１１】
2005333623.tif 000017
【図１２】
2005333623.tif 000018
【図１３】
2005333623.tif 000019
【図１４】
2005333623.tif 000020