(57)【要約】 【課題】  転送装置から転送されてくる画像データを効率的に処理できる情報処理装置およびメモリ管理方法を提供することを目的とする。【解決手段】  実施形態によれば、情報処理装置は、メモリと、テーブルと、変更手段と、通知手段とを有する。メモリは、複数の画像データを保持する複数のバッファ領域を有する。テーブルは、複数のバッファ領域を画像データが書き込まれる受信バッファと画像データを保持する保持バッファとに割り当てる。変更手段は、前記受信バッファに書き込まれた画像データを保持する場合、前記保持すべき画像データが書き込まれた受信バッファと保持バッファとを入れ替える。通知手段は、変更手段により受信バッファと保持バッファとを入れ替えた場合、変更後の受信バッファを示す情報を画像転送元へ通知する。【選択図】図１
2013069056.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像データを保持する複数のバッファ領域を有するメモリと、
複数のバッファ領域を画像データが書き込まれる受信バッファと画像データを保持する保持バッファとに割り当てるテーブルと、
前記受信バッファに書き込まれた画像データを保持する場合、前記保持すべき画像データが書き込まれた受信バッファと保持バッファとを入れ替える変更手段と、
前記変更手段により受信バッファと保持バッファとを入れ替えた場合、変更後の受信バッファを示す情報を画像転送元へ通知する通知手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
保持バッファに保持した画像データに画像処理を施す画像処理部を有し、
前記変更手段は、前記画像処理部が前記受信バッファに書き込まれた画像データを処理対象とする場合、前記処理対象とする画像データが書き込まれた受信バッファと保持バッファとを入れ替える、
ことを特徴とする前記請求項１に記載の情報処理装置。
【請求項３】
前記テーブルは、前記受信バッファのアドレスと前記保持バッファのアドレスを保持し、
前記変更手段は、前記テーブルにおいて前記処理対象の画像データを記憶した受信バッファのアドレスと保持バッファのアドレスとを入れ替える、
ことを特徴とする前記請求項１又は２の何れかに記載の情報処理装置。
【請求項４】
前記受信バッファは、前記画像転送元としてのＤＭＡ転送装置により画像データが書き込まれるバッファ領域である、
ことを特徴とする前記請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
複数のバッファ領域を有するメモリに用いられるメモリ管理方法であって、
複数のバッファ領域を画像データが書き込まれる受信バッファと画像データを保持する保持バッファとに割り当て、
前記受信バッファに書き込まれた画像データを保持する場合、前記保持すべき画像データが書き込まれた受信バッファと保持バッファとを入れ替え、
前記受信バッファと前記保持バッファとを入れ替えた場合、変更後の受信バッファを示す情報を画像転送元へ通知する、
ことを特徴とするメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置及びメモリ管理方法に関する。
【背景技術】
【０００２】
情報処理装置には、転送装置から順次転送されてくる画像データに対して画像処理を施すものがある。また、ＤＭＡ転送装置は、情報処理装置の制御部を介さずに、直接的に情報処理装置内のメモリに設けられた受信バッファに画像データを書き込む機能を有する。ＤＭＡ転送装置により受信バッファに書き込まれた画像データに対して画像処理を施す場合、情報処理装置は、ＤＭＡ転送装置によってバッファ上の画像データが上書きされないように、画像データを受信バッファから保持バッファへ物理的にコピーする処理が必要となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２４８００３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明は、転送装置から転送されてくる画像データを効率的に処理できる情報処理装置及びメモリ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態によれば、情報処理装置は、メモリと、テーブルと、変更手段と、通知手段とを有する。メモリは、複数の画像データを保持する複数のバッファ領域を有する。テーブルは、複数のバッファ領域を画像データが書き込まれる受信バッファと画像データを保持する保持バッファとに割り当てる。変更手段は、前記受信バッファに書き込まれた画像データを保持する場合、前記保持すべき画像データが書き込まれた受信バッファと保持バッファとを入れ替える。通知手段は、変更手段により受信バッファと保持バッファとを入れ替えた場合、変更後の受信バッファを示す情報を画像転送元へ通知する。
【図面の簡単な説明】
【０００６】
【図１】図１は、画像転送システムの構成例を概略的に示す図である。
【図２】図２は、バッファ参照テーブルの例を示す図である。
【図３】図３は、画像処理システムにける全体的な処理の流れを説明するためのフローチャートである。
【図４】図４は、バッファ参照テーブルにおける状態遷移の例を示す図である。
【図５】図５は、情報処理装置におけるメモリ管理処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
以下、実施形態について、図面を参照して説明する。  
図１は、実施形態に係る画像処理システムのハードウエア構成例を概略的に示す図である。  
画像処理システムは、カメラ１、ＤＭＡ（Direct Memory Access）転送装置２、および、情報処理装置３を有する。カメラ１は、画像データを生成する画像生成部として機能する。たとえば、カメラ１は、撮影した画像をデジタル画像データとして出力するデジタルカメラにより構成する。カメラ１は、撮影した画像の画像データをＤＭＡ転送装置２へ送信する。
【０００８】
ＤＭＡ転送装置２は、データを直接的に外部のメモリに書き込めるデータ転送装置である。ＤＭＡ転送装置２は、制御部１１およびバッファメモリ１２を有する。制御部１１は、ＤＭＡ転送装置２の動作を司るものであり、データ転送の制御を行う。バッファメモリ１２は、データを一時的に保持する。バッファメモリ１２は、たとえば、ＦＩＦＯ方式のメモリであり、カメラ１からの画像データを受信する受信バッファメモリとして機能する。
【０００９】
制御部１１は、データの転送先を指定する転送アドレステーブル１１ａを有する。制御部１１は、情報処理装置３から転送用のバッファ（受信バッファ）のアドレスを示す通知を受けて転送アドレステーブル１１ａを随時更新する。制御部１１は、転送アドレステーブル１１ａを参照してデータの転送先（書込先）となる情報処理装置３内の外部メモリにおけるアドレス（転送アドレス）を決定する。
【００１０】
すなわち、図１に示す構成の画像処理システムにおいては、情報処理装置３の外部メモリへ転送するＤＭＡ転送装置２は、カメラ１から出力される画像データを一時的にバッファメモリ１２に保持する。ＤＭＡ転送装置２の制御部１１は、転送アドレステーブル１１ａを参照して、情報処理装置３内の外部メモリに設けられた受信バッファのアドレス（転送アドレス）を決定する。転送アドレスを決定すると、制御部１１は、バッファメモリ１２に記憶した画像データを情報処理装置３内の外部メモリにおける受信バッファへ直接的に転送する（書き込む）。
【００１１】
次に、情報処理装置３の構成について説明する。  
図１に示す構成例では、情報処理装置３は、制御部２１、外部メモリ２２、および、画像処理部２３を有する。制御部２１は、情報処理装置３全体の動作を司るものである。制御部２１は、プロセッサ（ＣＰＵ）、ＲＡＭおよびＲＯＭなどを有し、プロセッサがＲＯＭなどに記憶したプログラムを実行することにより様々な処理を実現する。たとえば、制御部２１は、ＤＭＡ転送装置２から転送される画像データを記憶するために、外部メモリ２２に設けたバッファ領域（バッファメモリ）を管理するメモリ管理機能を有する。
【００１２】
外部メモリ２２は、複数のバッファ領域Ｒ１、Ｒ２、Ｒ３を有する。外部メモリ２２の複数のバッファ領域Ｒ１、Ｒ２、Ｒ３には、受信バッファあるいは保持バッファが割り当てられる。外部メモリ２２の受信バッファは、ＤＭＡ転送装置２から直接的にデータが転送されるバッファメモリである。言い換えれば、本画像処理システムにおいては、ＤＭＡ転送装置２は、情報処理装置３の制御部２１を介さないで、外部メモリ２２の受信バッファにデータが書き込めるようになっている。
【００１３】
なお、図１に示す構成例において、複数のバッファ領域を有する外部メモリ２２とメモリ管理機能により複数のバッファ領域の動作を制御する制御部２１とは、メモリ管理部２５として機能する。
【００１４】
また、画像処理部２３は、ＤＭＡ転送装置２から転送されてきた画像データ（カメラ１が撮影した画像）に対して画像処理を施すものである。画像処理部２３は、画像処理中に画像データが更新（上書き）されないように、外部メモリ２２における保持バッファに記憶された画像データに対して画像処理を施すように制御される。
【００１５】
制御部２１は、受信バッファおよび保持バッファの割り当てを示すバッファ参照テーブル２４を有する。図１に示す構成例では、外部メモリ２２に３つのバッファ領域ＲＡ、ＲＢ、ＲＣが設けられる例を示している。この場合、バッファ参照テーブル２４は、３つのバッファ領域を２つの受信バッファ（ダブルバッファ）と保持バッファとに割り当てられた情報を保持する。
【００１６】
図２は、バッファ参照テーブル２４の構成例を示す図である。  
図２に示す例において、バッファ参照テーブル２４は、２つの受信バッファと１つの保持バッファとを設定する。各バッファには、たとえば、外部メモリ２２における先頭アドレスで指定されるバッファ領域ＲＡ、ＲＢ、ＲＣが割り当てられる。図２に示す例では、第１の受信バッファには先頭アドレスが「ａ」のバッファ領域ＲＡが割り当てられ、第２の受信バッファには先頭アドレスが「ｂ」のバッファ領域ＲＢが割り当てられ、保持バッファには先頭アドレスが「ｃ」のバッファ領域ＲＣが割り当てられている。また、図２に示す構成例では、画像データの転送先として選択した領域（使用状況）を示す情報も付加されている。
【００１７】
２つの受信バッファは、順番（交互）にＤＭＡ転送装置２から画像データが直接的に書き込まれるバッファとして使用される。保持バッファは、ＤＭＡ転送装置２から上書きされることがないように、画像データを保持するバッファメモリである。たとえば、画像処理部２３から画像取得要求があった場合に、処理対象となる画像データを記憶している受信バッファが保持バッファと入れ替えられる。保持バッファと受信バッファとの入れ替えは、バッファ参照テーブル２４において、保持バッファのアドレス情報と受信バッファのアドレス情報とを入れ替える（互いの先頭アドレスを書き換える）ことにより実現できる。
【００１８】
なお、本実施形態では、２つの受信バッファと１つの保持バッファとがバッファ参照テーブルにより定義される例を想定して説明するが、これに限定されるものではない。たとえば、受信バッファは、３以上の複数であっても良い。この場合、受信バッファは、順番にローテーションして使用すれば良い。
【００１９】
次に、画像処理システム全体における処理の流れについて説明する。  
図３は、画像処理システムにおける動作シーケンス図である。  
まず、メモリ管理部２５としての情報処理装置３の制御部２１は、バッファ参照テーブル２４を参照して、ＤＭＡ転送装置２から次に画像データが転送されるべき受信バッファを決定する（ステップＳ１１、Ｓ１５、Ｓ１９）。制御部２１は、複数の受信バッファに対して順番に画像データが書き込まれるように、ＤＭＡ転送装置２から次に画像データが転送されるべき受信バッファを決定する。
【００２０】
たとえば、図２に示すように２つの受信バッファが設定されている場合、制御部２１は、２つの受信バッファに対して交互に画像データが書き込まれるように、ＤＭＡ転送装置２から次に画像データが転送されるべき受信バッファを決定する。  
画像データを受信する受信バッファを決定すると、制御部２１は、決定した受信バッファを示す情報として外部メモリ２２における先頭アドレス（転送アドレス）をＤＭＡ転送装置２へ通知する（ステップＳ１２、Ｓ１６、Ｓ２０）。
【００２１】
ＤＭＡ転送装置２は、情報処理装置３から通知された受信バッファを示す情報を制御部１１の転送アドレステーブル１１ａに保存する。この状態において、ＤＭＡ転送装置２のバッファメモリ１２には、カメラ１が撮影した画像データが書き込まれる（ステップＳ１３、Ｓ１７、Ｓ２１）。カメラ１からの画像データがバッファメモリ１２に書き込まれると、ＤＭＡ転送装置２の制御部１１は、転送アドレステーブル１１ａで指定される情報処理装置３内の外部メモリ２２における転送アドレスにバッファメモリ１２に書き込まれた画像データを直接的に書き込む画像転送処理を行う（ステップＳ１４、Ｓ１８、Ｓ２２）。
【００２２】
ＤＭＡ転送装置２と情報処理装置３（のメモリ管理部２５）とは、上記ステップＳ１１〜Ｓ１４の処理を繰り返し実行する。これにより、カメラ１が撮影した画像データは、情報処理装置３の複数の受信バッファに順番に書き込まれる。
【００２３】
また、情報処理装置３では、任意のタイミングで、画像処理部２３が制御部２１に対して処理対象とする画像データを要求する（ステップＳ２３）。画像処理部２３から画像要求を受信した場合、制御部２１は、処理対象とする画像データを記憶している受信バッファを決定する。処理対象とする画像データを記憶している受信バッファを決定すると、制御部２１は、処理対象の画像データを保持する受信バッファと現在の保持バッファとを入れ替える（ステップＳ２４、Ｓ２５）。すなわち、制御部２１は、バッファ参照テーブル２４において、処理対象の画像データを保持する受信バッファのアドレスと保持バッファのアドレスとを交換する。処理対象の画像データを保持する受信バッファと保持バッファとを入れ替えると、制御部２１は、保持バッファに変更された領域に記憶している画像データを処理対象の画像データとして画像処理部２３へ通知する（Ｓ２６）。
【００２４】
たとえば、図２に示す例において、第１受信バッファに設定されている先頭アドレス「ａ」の領域ＲＡに記憶した画像データを画像処理の処理対象とする場合、制御部２１は、テーブル２４において、保持バッファの先頭アドレスを「ａ」に書き換え、第１受信バッファの先頭アドレスを「ｃ」に書き換える。これにより。画像データを物理的にコピーすることなく、第１受信バッファと保持バッファとを論理的に入れ替えることができ、受信バッファで受信した画像データを高速に画像処理部２３へ提供できる。
【００２５】
また、第１受信バッファと保持バッファとの入れ替えによりバッファ参照テーブル２４を更新した後、制御部２１は、上記ステップＳ１１〜Ｓ１４の処理と同様に、テーブル２４を参照して受信バッファの領域を決定し（Ｓ２７、Ｓ３１）、決定した受信バッファの先頭アドレス（転送アドレス）をＤＭＡ転送装置２へ通知する（Ｓ２８、Ｓ３２）。ＤＭＡ転送装置２は、通知された転送アドレスを設定し、カメラ１からの画像データをバッファメモリ１２で受信し（Ｓ２９、Ｓ３３）、バッファメモリ１２に格納した画像データを設定した転送アドレスへ転送する（Ｓ３０、Ｓ３４）。
【００２６】
次に、図３に示す処理の流れを具体例を挙げて説明する。  
図４は、図３に示す処理によるバッファ参照テーブル２４の遷移状態の例を示す図である。  
たとえば、図３に示す例において、情報処理装置３の制御部２１は、まず、バッファ参照テーブル２４を参照して受信バッファを領域ＲＡに決定するものとする（ステップＳ１１）。すると、制御部２１は、転送アドレスとして領域ＲＡの先頭アドレス「ａ」をＤＭＡ転送装置２へ通知する（ステップＳ１２）。ＤＭＡ転送装置２は、通知された転送アドレス「ａ」を設定し、カメラ１からの第１の画像データをバッファメモリ１２で受信し（ステップＳ１３）、バッファメモリ１２に格納した第１の画像データを転送アドレス「ａ」へ転送する（ステップＳ１４）。
【００２７】
次に、情報処理装置３の制御部２１は、バッファ参照テーブル２４を参照して領域ＲＡの次に画像データを受信する受信バッファを領域ＲＢに決定し（ステップＳ１５）、転送アドレスとして領域ＲＢの先頭アドレス「ｂ」をＤＭＡ転送装置２へ通知する（ステップＳ１６）。ＤＭＡ転送装置２は、情報処理装置３から通知された転送アドレス「ｂ」を設定し、カメラ１からの第２の画像データをバッファメモリ１２で受信し（ステップＳ１７）、バッファメモリ１２に格納した第２の画像データを転送アドレス「ｂ」へ転送する（ステップＳ１８）。
【００２８】
次に、情報処理装置３の制御部２１は、バッファ参照テーブル２４を参照して、領域ＲＢの次に画像データを受信する受信バッファを領域ＲＡに決定し（ステップＳ１９）、転送アドレスとして領域ＲＡの先頭アドレス「ａ」をＤＭＡ転送装置２へ通知する（ステップＳ２０）。ＤＭＡ転送装置２は、情報処理装置３から通知された転送アドレス「ａ」を設定し、カメラ１からの第３の画像データをバッファメモリ１２で受信し（ステップＳ２１）、バッファメモリ１２に格納した第３の画像データを転送アドレス「ｂ」へ転送する（ステップＳ２２）。
【００２９】
上記ステップＳ１１〜Ｓ２２の処理によれば、図４の（１）に示すように、バッファ参照テーブル２４の状態が遷移する。すなわち、２つの受信バッファを設定する場合、情報処理装置３の制御部２１は、２つの受信バッファにはＤＭＡ転送装置２から交互に画像データが書き込まれるようにメモリを管理する。
【００３０】
さらに、情報処理装置３の制御部２１は、画像処理部２３から画像取得要求を受信した場合（ステップＳ２３）、バッファ参照テーブル２４を参照して、処理対象となる画像データを記憶している受信バッファを領域ＲＡに決定する。処理対象となる画像データを記憶している受信バッファが先頭アドレス「ａ」の領域ＲＡであると判断した場合、制御部２１は、バッファ参照テーブル２４において、処理対象の画像データを保持している受信バッファの先頭アドレス「ａ」と保持バッファの先頭アドレス「ｃ」とを交換する（ステップＳ２４、Ｓ２５）。受信バッファと保持バッファとを入れ替えると、制御部２１は、保持バッファに変更した領域ＲＡに記憶した画像データを処理対象の画像データとして画像処理部２３へ通知する（ステップＳ２６）。
【００３１】
すなわち、制御部２１は、画像処理部２３からの画像要求に応じて、処理対象の画像データを保持した先頭アドレス「ａ」の領域ＲＡを保持バッファに設定変更し（ステップＳ２４）、先頭アドレス「ｃ」の領域ＲＣを受信バッファに設定変更する（ステップＳ２５）。上記ステップＳ２４〜２５の処理によれば、図４の（２）に示すように、バッファ参照テーブル２４の状態が遷移する。すなわち、受信バッファであった領域ＲＡを保持バッファに変更し、保持バッファであった領域ＲＣを受信バッファに変更する（入替える）ようにメモリを管理する。
【００３２】
また、バッファ参照テーブル２４を更新した後（受信バッファと保持バッファとを入れ替えた後）、情報処理装置３の制御部２１は、バッファ参照テーブル２４を参照して、次に画像データを受信する受信バッファを先頭アドレスが「ｂ」の領域ＲＢに決定し（ステップＳ２７）、転送アドレスとして領域ＲＢの先頭アドレス「ｂ」をＤＭＡ転送装置２へ通知する（ステップＳ２８）。ＤＭＡ転送装置２は、情報処理装置３から通知された転送アドレス「ｂ」を設定し、カメラ１からの第４の画像データをバッファメモリ１２で受信し（ステップＳ２９）、バッファメモリ１２に格納した第４の画像データを転送アドレス「ｂ」へ転送する（ステップＳ３０）。
【００３３】
次に、情報処理装置３の制御部２１は、バッファ参照テーブル２４を参照して、領域ＲＢの次に画像データを受信する受信バッファを領域ＲＣに決定し（ステップＳ３１）、転送アドレスとして領域ＲＣの先頭アドレス「ｃ」をＤＭＡ転送装置２へ通知する（ステップＳ３２）。ＤＭＡ転送装置２は、情報処理装置３から通知された転送アドレス「ｃ」を設定し、カメラ１からの第５の画像データをバッファメモリ１２で受信し（ステップＳ３３）、バッファメモリ１２に格納した第５の画像データを転送アドレス「ｃ」へ転送する（ステップＳ３４）。
【００３４】
上記ステップＳ２７〜Ｓ３４の処理によれば、受信バッファと保持バッファとを入れ替えた後のバッファ参照テーブル２４は、図４の（３）に示すように、状態が遷移する。すなわち、情報処理装置３の制御部２１は、受信バッファと保持バッファとを入れ替えた後も、２つの受信バッファにＤＭＡ転送装置２から交互に画像データが書き込まれるようにメモリを管理する。
【００３５】
上記のような処理によれば、ＤＭＡ転送装置が情報処理装置内のメモリに画像を連続して書き込む画像処理システムにおいて、情報処理装置の画像処理部が画像データにアクセスする場合、処理対象とする画像データの物理的なコピー処理を行わず、仮想的に受信（転送）バッファと保持バッファとのアドレスを交換し、画像データを保持するようにしたものである。これにより、情報処理装置は、画像処理部が処理対象とする画像データの物理的なコピー処理を行わずに当該画像データを保持でき、その結果として処理を高速化することができる。
【００３６】
次に、情報処理装置３におけるメモリ管理処理について説明する。  
ＤＭＡ転送装置２からの画像転送を許可する場合、メモリ管理部２５としての情報処理装置３の制御部２１は、バッファ参照テーブル２４を参照して、次に画像データが転送されるべき受信バッファを決定し、当該受信バッファのアドレスを示す情報として転送アドレスをＤＭＡ転送装置２へ通知する。（ステップＳ５１）。ＤＭＡ転送装置２は、情報処理装置から通知された転送アドレスに対してカメラ１から取得した画像データを書き込む。ＤＭＡ転送装置２からの画像データの転送（書込み）がなかった場合（ステップＳ５２，ＮＯ）、ステップＳ５２へ戻る。
【００３７】
また、画像処理部２３から画像取得要求を受けた場合（ステップＳ５３、ＹＥＳ）、制御部２１は、画像処理の対象とする画像データを記憶している受信バッファを決定し、当該受信バッファのアドレスを保持バッファのアドレスに更新する（ステップＳ５４）。これとともに、制御部２１は、受信バッファを保持バッファに変更する前の保持バッファのアドレスを受信バッファのアドレスに更新する（ステップＳ５５）。
【００３８】
すなわち、制御部２１は、画像処理部２３から画像取得要求を受けた場合（ステップＳ５３、ＹＥＳ）、バッファ参照テーブル２４において、処理対象の画像データを記憶している受信バッファのアドレスと保持バッファのアドレスとを入れ替える。受信バッファと保持バッファとを入れ替えた後、制御部２１は、上記ステップＳ５１へ戻り、新たに設定された受信バッファを順番に使用してＤＭＡ転送装置２からの画像データの転送（書込み）を受け入れる。
【００３９】
上記のようなメモリ管理処理によれば、画像処理の対象とする画像データを記憶している受信バッファは、物理的な画像コピー処理を行わすに、論理的に保持バッファに変更でき、保持バッファに指定されていたバッファ領域は、論理的に受信バッファに変更できる。この結果として、情報処理装置３では、画像処理などの処理を高速化できる。
【００４０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４１】
ＲＡ…バッファ領域、ＲＢ…バッファ領域、ＲＣ…バッファ領域、１…カメラ、２…ＤＭＡ転送装置、３…情報処理装置、１１…制御部、１１ａ…転送アドレステーブル、１２…バッファメモリ、２１…制御部、２２…外部メモリ、２３…画像処理部、２４…バッファ参照テーブル、２５…メモリ管理部。
【図１】
2013069056.tif 000003
【図２】
2013069056.tif 000004
【図３】
2013069056.tif 000005
【図４】
2013069056.tif 000006
【図５】
2013069056.tif 000007