JP5647318B2 - Information processing apparatus, information processing apparatus control method, and program - Google Patents
Information processing apparatus, information processing apparatus control method, and program Download PDFInfo
- Publication number
- JP5647318B2 JP5647318B2 JP2013215106A JP2013215106A JP5647318B2 JP 5647318 B2 JP5647318 B2 JP 5647318B2 JP 2013215106 A JP2013215106 A JP 2013215106A JP 2013215106 A JP2013215106 A JP 2013215106A JP 5647318 B2 JP5647318 B2 JP 5647318B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- size
- information processing
- divided
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a program.
データを保持するデジタル装置からデータを外部制御装置であるコンピュータに転送する方法として、コンピュータ側からの指定サイズ分のデータをデジタル装置が転送して行う方法がある。この場合、デジタル装置には、マス・ストレージや、PTP(Picture Transfer Protocol)のプロトコル機能が搭載される。一方、データの送信元であるデジタル装置では、DMAコントローラ(DMAC)を用いて、CPUを介さずに内部メモリと転送用のI/Oデバイス間で直接データ転送を行っている。DMAコントローラは、DMA(Direct Memory Access)を実現するためのデータ転送用専用コントローラである。DMAコントローラでは、連続的なメモリ領域のアドレスを指定してデータ転送が行われる。 As a method of transferring data from a digital device that holds data to a computer that is an external control device, there is a method in which the digital device transfers data of a specified size from the computer side. In this case, the digital device is equipped with mass storage and PTP (Picture Transfer Protocol) protocol functions. On the other hand, in a digital apparatus that is a data transmission source, a DMA controller (DMAC) is used to directly transfer data between an internal memory and a transfer I / O device without using a CPU. The DMA controller is a dedicated controller for data transfer for realizing DMA (Direct Memory Access). In the DMA controller, data transfer is performed by designating continuous memory area addresses.
従って、複数の不連続なメモリ領域を転送する際には、DMA転送前に複数メモリ領域を別の単一メモリ領域に統合してDMA転送を実行するか、連続的なメモリ領域のそれぞれにつき順にDMA転送を複数回実行している。前者の場合、データの転送元であるデジタル装置内で十分なメモリリソースを確保できなければならず、かつ、メモリ統合のための処理時間が必要となる。後者の場合、連続的なメモリ領域の1つに転送を行ったのち次のメモリ領域へ転送を行うまでにデジタル装置のCPUを使用する必要があり、CPUへの負担がかってしまう。なお、DMAコントローラによる複数の連続的なメモリ領域のアドレス指定を可能とすることで、DMA転送の実行回数を削減してCPU負荷を軽減し、転送の効率化を図る技術が知られている(特許文献1)。 Therefore, when transferring a plurality of discontinuous memory areas, the plurality of memory areas are integrated into another single memory area before the DMA transfer, or the DMA transfer is executed, or each continuous memory area is sequentially assigned. DMA transfer is executed multiple times. In the former case, sufficient memory resources must be secured in the digital device that is the data transfer source, and processing time for memory integration is required. In the latter case, it is necessary to use the CPU of the digital device after transferring to one of the continuous memory areas and before transferring to the next memory area, which places a burden on the CPU. A technique is known in which the DMA controller can address a plurality of continuous memory areas, thereby reducing the number of executions of DMA transfer, reducing the CPU load, and improving transfer efficiency ( Patent Document 1).
しかし、特許文献1に記載の技術ではデジタル装置搭載のDMAコントローラ自体を専用コントローラに改良する必要があり、連続的なメモリ領域アドレスを複数指定できないDMAコントローラを搭載するデジタル装置には適用できなかった。 However, in the technique described in Patent Document 1, it is necessary to improve the DMA controller mounted on the digital device itself to a dedicated controller, and it cannot be applied to a digital device including a DMA controller that cannot specify a plurality of continuous memory area addresses. .
また、複数のメモリ領域を指定してDMA転送を行うには、転送先の複数のデータメモリをデジタル装置内のRAM上に展開しておく必要がある。よって、例えばデジタル装置内のメモリカード等の記録媒体からデータを読出してデジタル装置に接続されるコンピュータへデータ転送する場合、データを記録媒体から読出してデジタル装置のRAM上に展開しなければならない。その際、デジタル装置でのRAM容量に制約がある場合は有効ではない。 In order to perform DMA transfer by designating a plurality of memory areas, it is necessary to develop a plurality of data memories as transfer destinations on a RAM in the digital device. Therefore, for example, when data is read from a recording medium such as a memory card in the digital device and transferred to a computer connected to the digital device, the data must be read from the recording medium and developed on the RAM of the digital device. At that time, it is not effective when there is a restriction on the RAM capacity of the digital device.
そこで本発明では、メモリ領域のサイズを利用することで効率的なデータ転送を実現することを目的とする。 Therefore, an object of the present invention is to realize efficient data transfer by utilizing the size of the memory area.
上記課題の少なくとも1つを解決するために、本発明は、接続されたデータ転送装置からデータを分割取得する情報処理装置であって、
前記データ転送装置に対し、取得サイズを指定してデータ取得要求を送信する送信手段と、
前記データ取得要求で指定されたサイズに分割された分割データを受信する第1の受信手段と、
前記第1の受信手段により分割データを受信するたびに、前記データ転送装置から、次に分割取得するデータのサイズを受信する第2の受信手段とを有し、
前記第2の受信手段により受信されるデータサイズは、前記次に分割取得するデータが含まれる前記データ転送装置のメモリ領域の境界に基づくものであり、
前記送信手段は、前記第2の受信手段により受信したデータのサイズに基づき、前記取得サイズを指定することを特徴とする。
In order to solve at least one of the above-described problems, the present invention provides an information processing apparatus that separately acquires data from a connected data transfer apparatus,
Transmitting means for designating an acquisition size and transmitting a data acquisition request to the data transfer device;
First receiving means for receiving divided data divided into a size specified in the data acquisition request;
A second receiving means for receiving, from the data transfer device, the size of the data to be divided and acquired next each time the divided data is received by the first receiving means;
The data size received by the second receiving means is based on the boundary of the memory area of the data transfer device including the data to be divided and acquired next,
The transmission means designates the acquisition size based on the size of data received by the second reception means.
本発明によれば、メモリ領域のサイズを利用することで効率的なデータ転送を実現することができる。 According to the present invention, efficient data transfer can be realized by using the size of the memory area.
以下、図面を用いて本発明の最良な実施の形態を詳細に説明する。本実施形態では転送側デジタル装置として転送通信機能を備えた撮像装置を用いて説明する。ただし、本実施形態において例示される構成要素の寸法、形状、それらの相対配置などは、本発明が適用される装置の構成や各種条件により適宜変更されるべきものであり、本発明がそれらの例示に限定されるものではない。 Hereinafter, the best mode for carrying out the present invention will be described in detail with reference to the drawings. In the present embodiment, description will be made using an imaging apparatus having a transfer communication function as the transfer-side digital apparatus. However, the dimensions, shapes, relative arrangements, and the like of the components exemplified in the present embodiment should be changed as appropriate according to the configuration of the apparatus to which the present invention is applied and various conditions. It is not limited to the illustration.
[実施形態1]
次に、図1(A)を参照して、発明の実施形態におけるデータ転送システムの構成例を説明する。本実施形態では、パーソナルコンピュータのような情報処理装置であるところの外部制御装置100と、該外部制御装置100にデータ転送を行うデータ転送装置200とが直接に接続されてシステムが構築されている。データ転送装置200は、画像ファイル等のコンテンツデータを外部制御装置100へ転送する。本実施形態では、データ転送装置をデジタルカメラのような撮像装置として説明するが、データ転送装置の具体例はこれに限定されるものではない。例えば、デジタルカメラ以外にも、パーソナルコンピュータ等の外部制御装置と接続してコンテンツデータを転送可能な情報処理装置(端末)を用いることができる。このような情報処理装置には、例えば、携帯電話、携帯型のメディアプレーヤ、PDA、ノートPCなどが含まれる。なお、外部制御装置100と撮像装置200との間の接続は、例えばUSB、IEEE1394、HDMI(登録商標)等のデータ転送用の有線インタフェースや、IEEE802.11xや赤外線のような無線インタフェースを利用することができる。
[Embodiment 1]
Next, a configuration example of the data transfer system according to the embodiment of the invention will be described with reference to FIG. In this embodiment, a system is constructed by directly connecting an
次に、図1(B)を参照して、外部制御装置としての情報処理装置(パーソナルコンピュータ)のハードウェア構成の一例を説明する。図1(B)において、CPU101は、HD(ハードディスク)103に格納されているOS、アプリケーションプログラム等を実行し、RAM102にプログラムの実行に必要な情報、データ等を一時的に格納する制御を行う。RAM102は、CPU101の主メモリ、ワークエリア等として機能する。HD103は、アプリケーションプログラム、ドライバプログラム、OS、制御プログラム、本実施形態に対応する処理を実行するための処理プログラム等を格納している。
Next, an example of a hardware configuration of an information processing apparatus (personal computer) as an external control apparatus will be described with reference to FIG. In FIG. 1B, a
ディスプレイ104は、操作部109から入力したコマンドや、外部から取得した情報等を表示するための表示部である。ネットワークインターフェイス(以下、I/Fという)105は、ネットワーク11に接続するための通信インターフェイスである。ROM106には、基本I/Oプログラム等のプログラムを記憶する。
The
外部記憶ドライブ107は、メディア108に記憶されたプログラム等を本コンピュータシステムにロードすることができる。記録媒体としてのメディア108は、所定のプログラムおよび関連データを格納する。操作部109は、本装置の操作者が、指示入力を行うためのユーザインタフェースであり、キーボードやマウスで構成される。システムバス110は、装置内のデータの流れを司るものである。
The
図2は、本発明の実施形態における撮像装置200の全体構成を示すブロック図である。まず、図2を参照しながら各部の構成及び動作を説明する。制御部211はプログラム記憶部212にあらかじめ格納されているプログラムに従って、撮像装置200における全体の動作を制御する。
FIG. 2 is a block diagram illustrating the overall configuration of the
被写体からの光線Lは、撮影レンズ213および絞り214を介して撮像素子215で受光される。撮像素子215は、受けた光を電気信号に変換する素子であり、CCDやCMOSデバイス等の固定撮像素子により構成される。センサ制御部216は、撮像素子215からのデータ読み出しを行うタイミング制御のためのクロック制御を行う。A/D変換器217は入力されたアナログ信号をデジタル出力信号に変換する。デジタル変換された画像信号は画像処理回路218に導かれ、そこで輪郭補償、ガンマ補正、ホワイトバランス補正等の画像処理が行われてメモリ制御部219に出力される。
A light beam L from the subject is received by the
メモリ制御部219は画像処理回路218で生成された画像信号を外部記録媒体I/F回路220を経由してメモリーカードなどの外部記録媒体221に記憶させる。また、撮像装置200に具備される内部記憶装置(RAM)222のメモリ使用状況の管理等を行う。測光センサ225はレンズ213を通して得られる光の量の計測を行う装置であり、測光センサ225で得られた光量を基に露出決定部223により適正な露出値が決定される。これにより撮像素子215のセンサ感度の制御や、絞り214によるレンズの絞り制御、シャッター装置227による撮像素子215に光を供給する為にシャッターを開放する時間を制御が、制御部211により制御される。
The
測距センサ226は側距点に対応した公知のCCDやCMOS等のライセンサで構成され、被写体までの距離に応じた測距点ずれ信号として制御部211へ出力する。AFモード制御部224はカメラにおけるピントを自動的に決定する為のモードを制御する装置であり、マニュアルフォーカス、ワンショットオートフォーカス、AIオートフォーカス、AIサーボオートフォーカス等の制御を行う装置である。ストロボ制御装置237はカメラに内蔵されるストロボ及び、外付けのストロボの制御を行う装置である。これは、絞り214やシャッター装置227などで設定された設定値での露出が制御部211により、アンダーであると判断された場合に、自動的にストロボ発光させたり、ユーザー操作によるストロボ操作の制御を行う為の装置である。
The
第1外部表示装置228は主に露出制御や撮影可能枚数などの撮影に関する各種設定を中心に表示する液晶素子である。第2外部表示装置229は、主に画像処理に関する各種の設定情報を中心に表示する液晶素子である。第3外部表示装置230は、撮影画像の再生や、撮影素子から得られた撮影画像に関する情報や更には撮像装置の詳細な各種設定状態等も表示することが可能なカラー液晶素子である。
The first
撮影用スイッチには、撮影準備スイッチ(SW1)231a及び撮影スイッチ(SW2)231bがある。第1情報入力部232は、各種の撮影設定情報を入力すると共に、通常再生時は再生する画像の横方向の情報を入力する際に用いられる。第2情報入力部233は、各種の撮影設定情報を入力すると共に、通常再生時は再生する画像の縦方向の情報を入力する際に用いられる。モード設定部234,235,236は各種の撮影設定モードを設定するために用いられ、撮影モード選択ボタン234、AFモード選択ボタン235、測光モード選択ボタン236である。
The photographing switches include a photographing preparation switch (SW1) 231a and a photographing switch (SW2) 231b. The first
外部装置接続I/F238は、データ受信側の記憶媒体との物理的な接続を行うためのI/Fであり、外部装置へのデータ転送を行うDMAコントローラ238aを具備している。外部制御装置100とのデータ及び画像ファイルなどの送受信のやり取りがこのI/Fを通じて行われる。本実施形態ではUSB接続I/Fを用いるが、本発明では、外部制御装置100との接続をUSBに代表される他のシリアル接続や、有線や無線の区別なく、用いることが可能である。転送処理部247は外部制御装置100との通信を行う際の通信プロトコルや通信データの作成を行うものである。
The external device connection I /
メモリ分割情報生成部246は、メモリ制御部219が内部記憶装置222を管理するためのメモリ分割情報を生成する。メモリ分割情報は、一つのデータ(画像ファイル)が複数のメモリ領域に記憶されている場合に、各領域のアドレス情報を管理する情報である。メモリ分割情報は、データを識別するための情報(データ名、データID等)と、内部記憶装置222においてデータが分割記憶されているメモリ領域のアドレス情報及びデータを再構成するためのメモリ領域の接続情報等を含むことができる。
The memory partition
デジタル系設定選択部239から244は各種の設定や選択を行うために用いられる。主に第3外部表示装置230に対応した撮影機能やデータ転送処理に関する各種設定、撮影画像を暗号化するかの有無などの選択を行う為に用いる。メニューボタン239は、第3外部表示装置230に撮像装置の設定メニューを表示させる際に用いられる。セレクトボタン240は、メニューボタン239の押下により第3外部表示装置230に撮像装置200の設定メニューが表示されている際の各種選択の際に用いられる。キャンセルボタン241は、各種設定のキャンセル時に用いられる。Infoボタン242は、データの詳細情報表示を行う際に用いられる。データ消去ボタン243はデータ消去時に用いられる。画像再生ボタン244は、外部記録媒体221より読み出された画像ファイルを第3外部表示装置230に表示するために用いられる。回転ボタン245は、画像再生ボタン244により第3外部表示装置230に表示された画像ファイルを画像処理回路218により回転させて第3外部表示装置230に表示しなおし、外部記録媒体221に保存するために用いられる。
Digital system
なお、ハードウェアの構成は上記のものに限定されない。例えば外部制御装置100や撮像装置200における制御動作は1つのハードウェアが行ってもよいし、複数のハードウェアが処理を分担することで全体として制御を行ってもよい。
The hardware configuration is not limited to the above. For example, the control operation in the
次に、撮像装置200において撮影が行われた場合のRAM222の使用方法について説明する。図3(A)は撮影前の撮像装置200のRAM222の使用状況を示している。斜線領域301が現在使用中であるメモリ領域を表しており、空白領域302が現在未使用のメモリ領域を表している。撮像装置200において撮影が行われると、被写体からの光線Lは、撮影レンズ213および絞り224を介して撮像素子215で受光される。センサ制御部216は、撮像素子215からデータを読出すタイミングを制御するためにクロック制御を行い、A/D変換器217は撮像素子215からのアナログ出力をデジタル出力信号に変換する。デジタル変換された画像信号は画像処理回路218に導かれ、そこで輪郭補償、ガンマ補正、ホワイトバランス補正等の画像処理が行われてメモリ制御部219に出力される。メモリ制御部219は、RAM222上で現在未使用の領域301に画像ファイルを展開する。本実施形態では撮影画像が1つの連続したメモリ領域で展開できない場合は、複数の不連続なメモリ領域に分割して画像ファイルが展開される構成となっている。
Next, a method of using the
図3(B)では撮影画像ファイルが複数のデータに分割され、撮像装置200のRAM222上の複数の不連続なメモリ領域にそれぞれ展開された場合の、RAM222の使用状況を示す。斜線領域301は現在使用中のメモリ領域を表し、空白領域302が現在未使用のメモリ領域を表す。また、画像1(1)〜画像1(4)と記載された領域303は、撮影した画像ファイルが複数データに分割されて展開された領域を表している。メモリ制御部219は分割して展開された画像ファイルを1つの画像ファイルとして扱うための管理機能を備え、RAM222に展開されている画像ファイルにつき所望の位置のデータを含むメモリ領域を提供する。
FIG. 3B shows a usage state of the
また、撮像装置200の外部記録媒体221に保存されている画像ファイルを読み出してRAM222に展開する場合、メモリ制御部219は、現在未使用のメモリ領域において画像ファイルサイズ分のメモリ領域を確保する。このとき画像ファイルサイズ分を1つの連続したメモリ領域として確保できない場合、画像ファイルを複数のデータに分割して複数の不連続なメモリ領域にそれぞれ保存することとなる。複数の不連続なメモリ領域を確保した場合、前述の撮影画像ファイルのRAM222への展開と同様、外部記録媒体I/F回路220経由で外部記録媒体221から画像ファイルが読み出され、RAM222の各メモリ領域に展開される。
In addition, when an image file stored in the
次に本発明のデータ転送技術を利用しない場合の撮像装置200から外部制御装置100への画像ファイル転送の流れについて図4と図5のフローチャートを用いて説明する。図4は外部制御装置100が撮像装置200から、画像ファイルを構成するデータ単位に複数回に分けて1枚の画像ファイルを取得する場合の処理のフローチャートである。
Next, the flow of image file transfer from the
外部制御装置100側でデータの取得作業が行われると、まずS401にて、CPU101が1つの画像ファイル全体を取得するための情報であるデータの取得位置を特定するためのオフセット量と1回の取得サイズの初期化を行う。画像ファイル全体を取得する場合なのでオフセット値は0となり、1回の取得サイズは外部制御装置100側で決められる任意の値(Ddef)となる。ここでは取得サイズは任意の固定サイズとしている。次のS402により1画像ファイル分のデータの取得が完了するまでS403からS405までデータの分割取得が繰り返される。
When the data acquisition operation is performed on the
S403において、CPU101は指定されている現在のオフセット値と分割サイズDdefを指定して撮像装置200にデータの取得要求を発行する。S404においてS403で指定した値に対応したデータが撮像装置200から転送されるので、I/F105を介してその受信を行う。S405においてCPU101は、S403にて次の分割取得を行う際のパラメータを変更するために取得完了した分のオフセット値をインクリメントする。以上のS403からS405までの作業は、1画像ファイルの取得を完了するまで繰り返される。
In step S <b> 403, the
図5は図4のS403において外部制御装置100からデータ取得要求を受けた際の、撮像装置200における処理の流れを示したフローチャートである。撮像装置200はS501にて、外部装置接続I/F238を介して制御部211が外部制御装置100からデータ取得要求を受ける。続くS502では、指定された取得サイズに相当するデータ転送が完了するまでS503からS506の処理を繰り返す。
FIG. 5 is a flowchart showing the flow of processing in the
撮像装置200の制御部211はS503において、外部制御装置100から指定された画像ファイルにおけるオフセット値と取得サイズから転送すべきデータが1つのメモリ領域内で収まっているか否かを判定する。もし、1つのメモリ領域内に収まっている場合(S503で「NO」)、S506に移行する。S506では、指定されたオフセット分に対応したメモリアドレスと外部制御装置100から指定された転送サイズをメモリ制御部219が指定して、DMAコントローラ238aがDMA転送を行う。
In step S <b> 503, the
一方、1つのメモリ領域内に収まっていない場合(S503で「YES」)、S504に移行する。S504ではメモリ制御部219が指定されたオフセット分に対応したメモリアドレスとそのメモリアドレスを含むメモリ領域の終端までのサイズを指定してDMAコントローラ238aがDMA転送を行う。S505ではメモリ制御部219はS504またはS506で転送したサイズ分だけ、転送完了サイズを更新する。以上のS503からS506までの処理は、外部制御装置100から指定された取得サイズDdef分のデータ転送が完了するまで繰り返す。
On the other hand, when it does not fit in one memory area (“YES” in S503), the process proceeds to S504. In S504, the
このように本発明の転送技術を用いない場合に、外部制御装置100から指定される取得サイズとオフセット値により特定される転送対象のデータが複数の不連続なメモリ領域に跨ることになれば、以下の問題が発生する。一つ目に、DMAによる転送を複数回実行するために撮像装置200の制御部211やメモリ制御部219を使用した演算処理が発生し負荷がかかってしまう。二つ目に、取得要求を受けてからデータ転送を行う際に先行しているDMA転送から次のDMA転送までにソフトウェアでの処理時間が発生し、転送処理時間が長くなってしまう。
Thus, when the transfer technique of the present invention is not used, if the transfer target data specified by the acquisition size and the offset value specified from the
本発明はこのような問題点を解決するものである。以下、本発明の転送技術を用いた場合、撮像装置200から外部制御装置100へのデータ転送の流れについて図6と図7のフローチャートを参照して説明する。図6は外部制御装置100側で1枚の画像ファイルを撮像装置200から数回に分割して取得する場合の処理のフローチャートである。外部制御装置100側でファイルの取得作業を行わう場合、まずS601にて、CPU101が取得すべきデータのファイル内における位置(取得位置)を特定するためのオフセット値と1回の取得サイズの初期化を行なう。ここでは画像ファイル全体を取得するので、オフセット値の初期値は0となり、取得サイズの初期値は外部制御装置100側で決められる任意の値(Ddef)となる。
The present invention solves such problems. Hereinafter, when the transfer technique of the present invention is used, the flow of data transfer from the
次のS602により1画像ファイル分のデータの取得が完了するまでS603からS607までのデータの分割取得が繰り返される。S603では、CPU101が指定されている現在のオフセット値と取得サイズを指定して撮像装置200にデータ取得要求を発行する。S604ではS603で指定されたオフセット値と取得サイズと対応したデータが撮像装置200から転送されるので、I/F105を介してその受信を行う。S605では撮像装置200から、該撮像装置内で管理されているメモリ分割情報に基づき、次のデータ取得要求送信の際に指定すべき取得サイズ(通知サイズ)が通知される。この通知方法については後述の図7のフローチャート内で説明する。
The divisional acquisition of data from S603 to S607 is repeated until acquisition of data for one image file is completed in the next S602. In step S <b> 603, the
S606では、CPU101がS603にて次のデータ取得を行う際のオフセット値を変更するために取得完了したデータ分だけオフセット値をインクリメントする。S607ではS605にて撮像装置200からの上記通知サイズを次に送信するデータ取得要求における取得サイズに設定する。S603からS607までの作業が1つの画像ファイル全体の取得が完了するまで繰り返される。
In step S606, the
図7は撮像装置200において図6のフローチャートにおけるS603でデータ取得要求を受けた際の流れを示したものであり、次にこれについて説明する。撮像装置200は、S701にて外部装置接続I/F238を介して制御部211が外部制御装置100からのデータ取得要求を受ける。続くS702では、データ取得要求に含まれる取得サイズに相当するデータ転送が完了するまでS703からS706の処理が繰り返される。
FIG. 7 shows a flow when the data acquisition request is received in S603 in the flowchart of FIG. 6 in the
S703では、制御部211がメモリ制御部219が管理するメモリ分割情報に従い、外部制御装置100から指定されたオフセット値と取得サイズから転送すべきデータが1つのメモリ領域内に収まっているかを判定する。もし、1つのメモリ領域内に収まっている場合(S703で「NO」)、S706に移行する。S706では、指定されたオフセット分に対応したメモリアドレスと外部制御装置100から指定された転送サイズをメモリ制御部219が指定して、DMAコントローラ238aがDMA転送を行う。1つのメモリ領域内で収まっていない場合(S703で「YES」)、S704に移行する。S704では、指定されたオフセット分に対応したメモリアドレスとそのメモリアドレスを含むメモリ領域の終端までのサイズをメモリ制御部219が指定して、DMAコントローラ238aがDMA転送を行う。
In step S <b> 703, the
S705では、メモリ制御部219がS704またはS706で転送を行ったサイズ分だけ転送完了サイズの更新を行う。以上のS703からS706までの処理は、外部制御装置100から指定された取得サイズ分のデータ転送が完了するまで繰り返される。外部制御装置100からの取得サイズ分のデータ転送が完了するとS707に移行する。S707では、撮像装置200での画像ファイルが複数のデータに分割され展開されている複数の不連続なメモリ領域において、次のメモリ領域の終端までのサイズをメモリ制御部219が算出する。算出されたサイズは、S708にて制御部211から外部装置接続I/F238を介して外部制御装置100に通知される。この通知による受信が図6のフローチャートにおけるS605にあたる。外部制御装置100からの次のデータ取得の際にはS708で通知したサイズを分割取得サイズとして指定して取得要求が発生するようになる。S708で通知した2回目以降のデータ取得要求では、外部制御装置100からのデータ取得要求の送信直前に通知したサイズが外部制御装置100から指定される取得サイズとなる。よって、複数の不連続なメモリ領域を跨ってデータ転送を行うことはなくなる。
In S705, the
以上の実施形態によれば、外部制御装置100からの取得要求を受けてからデータ転送を行う際のDMA転送の実行回数を1回にすることができる。よって、撮像装置200の制御部211やメモリ制御部219を使用した演算処理の時間を削減して、処理負荷を軽減できる。また、取得要求を受け付けてからデータ転送を行う際のソフトウェアでの処理時間を短縮できるので、転送時間の短縮が可能となる。
According to the above embodiment, it is possible to reduce the DMA transfer execution count to 1 when data transfer is performed after receiving an acquisition request from the
[実施形態2]
次に実施形態2を説明する。本実施形態におけるシステム構成、外部制御装置及び撮像装置の構成は、図1及び図2に記載したものと同様であるので説明は省略する。実施形態1において撮像装置200の内部記憶装置222内で複数の不連続なメモリ領域で画像ファイルが展開されている場合、各メモリ領域のサイズによっては以下の状況が発生することが考えられる。例えば、分割サイズがあまりにも小さいために外部制御装置100との通信トランザクション数が増加してしまい、転送時間の短縮が図れず、十分な効果が得られない場合が想定される。また、分割サイズが大きすぎる場合、外部制御装置100からの分割で取得したいといった要望に応えられない場合もある。本実施形態は、このような状況においても本発明の効果を発揮することを可能とする。
[Embodiment 2]
Next, Embodiment 2 will be described. Since the system configuration, the external control device, and the imaging device in the present embodiment are the same as those described in FIGS. 1 and 2, the description thereof is omitted. In the first embodiment, when an image file is developed in a plurality of discontinuous memory areas in the
図8は、本実施形態における撮像装置200側の処理の一例を示すフローチャートである。撮像装置200は、S801にて外部装置接続I/F238を介して制御部211が外部制御装置100からのデータ取得要求を受ける。続くS802では、指定された取得サイズ分のデータ転送が完了するまでS803からS806の処理が繰り返される。
FIG. 8 is a flowchart illustrating an example of processing on the
S803では、制御部211がメモリ制御部219が管理するメモリ分割情報に従い、外部制御装置100からのデータ取得要求で指定されたオフセット値と取得サイズから転送すべきデータが1つのメモリ領域内で収まっているかを判定する。もし、1つのメモリ領域内で収まっている場合(S803で「NO」)、S806に移行する。
In S803, according to the memory partition information managed by the
S806では、指定されたオフセット値に対応したメモリアドレスと外部制御装置100から指定された取得サイズをメモリ制御部219が指定して、DMAコントローラ238aがDMA転送を行う。1つのメモリ領域内で収まっていない場合(S803で「YES」)、はS804に移行する。S804では、指定されたオフセット値に対応したメモリアドレスとそのメモリアドレスを含むメモリ領域の終端までのサイズをメモリ制御部219が指定して、DMAコントローラ238aがDMA転送を行う。
In S806, the
S805では、メモリ制御部219がS804またはS806で転送を行ったサイズ分転送完了サイズの更新を行う。以上のS803からS806までの処理は、外部制御装置100から指定された取得サイズ分のデータ転送が完了するまで繰り返される。外部制御装置100からの取得サイズ分のデータ転送が完了するとS807に移行する。S807では、撮像装置200での画像ファイルが展開されている複数の不連続なメモリ領域において、次のメモリ領域の終端までのサイズをメモリ制御部219が算出する。S808では、メモリ制御部219が、算出されたサイズが外部制御装置100からの次の取得サイズとして適切か否かを判定する。メモリ制御部219は、十分な転送速度が得られない下限閾値(THmin)や外部制御装置100からの分割取得に十分な効果が得られない上限閾値(THmax)を保持し、その閾値のサイズとの比較を行う。算出サイズDcalが上限閾値と下限閾値との間の所定範囲内の値を取る場合には、適切なサイズと判定する。一方、所定範囲から外れ、上限を上回る場合や、下限を下回る場合には不適切としてサイズの補正を行う。
In S805, the
下限閾値の設定方法としては、以下の方法が考えられる。例えば、あるデータサイズ(例えば、Dn)を図7の方法により取得サイズの補正なしに複数回に分けてDMA転送する場合に要する転送時間と、補正を行った結果発生する制御部211等の処理による処理時間とを比較する。この比較の結果、転送時間よりも処理時間の方が短くなる境界に相当するDnの値を絞り込み、その値を下限閾値とする。また、上限閾値の設定方法としては、外部制御装置100が初期値として指定する取得サイズであるDdefとすることができる。
The following method can be considered as a method for setting the lower threshold. For example, the transfer time required when a certain data size (for example, Dn) is DMA-transferred in a plurality of times without correcting the acquisition size by the method of FIG. 7, and the processing of the
適切なサイズと判定された場合(S808で「YES」)、S809に移行する。S809では、S807で算出されたサイズが制御部211から外部装置接続I/F238を介して外部制御装置100に通知される。この通知による受信が図6のフローチャートにおけるS605にあたる。一方、適切なサイズでないと判定された場合(S808で「NO」)、S810に移行する。S810では、メモリ制御部219が取得サイズを再計算して、外部制御装置100からの次の分割取得サイズとするように通知する。この通知による受信が図6のフローチャートにおけるS605にあたる。これにより、外部制御装置100からの次のデータを取得する場合、S809またはS810で通知したサイズが取得サイズとして指定されて取得要求が行われることとなる。
When it is determined that the size is appropriate (“YES” in S808), the process proceeds to S809. In step S809, the size calculated in step S807 is notified from the
再計算の方法としては、例えば、S807で取得したサイズが下限を下回る場合は、下限閾値THmin以上となるまで、そのメモリ領域以降のメモリ領域の終端までのサイズを順に加算することができる。例えば、図2(B)の状況で、画像1(3)のサイズでは、下限閾値THminを下回る場合に、画像1(4)のデータサイズを加算して取得サイズを再計算する。これにより下限閾値THmin以上になれば、適正値とする。仮に、画像1(4)では足りなければ後続する画像1(5)等を加算して再計算する。また、S807で取得したサイズが上限を上回る場合は、S801で最初に外部制御装置100から通知された取得サイズであるDdefと一致するサイズに補正することができる。
As a recalculation method, for example, when the size acquired in S807 is below the lower limit, the sizes up to the end of the memory area after that memory area can be added in order until the size reaches the lower limit threshold THmin. For example, in the situation of FIG. 2B, if the size of the image 1 (3) is below the lower limit threshold THmin, the data size of the image 1 (4) is added to recalculate the acquisition size. As a result, when the value becomes equal to or higher than the lower limit threshold THmin, the value is set to an appropriate value. If the image 1 (4) is not sufficient, the subsequent image 1 (5) is added and recalculated. If the size acquired in S807 exceeds the upper limit, it can be corrected to a size that matches Ddef that is the acquisition size first notified from the
本実施形態によれば、撮像装置200の内部記憶装置222上で複数の不連続なメモリ領域を利用して画像ファイルが展開されている場合でも、メモリ領域の分割サイズに応じて最も転送効率に適した転送方法を実現しつつ処理負荷を軽減できる。
According to this embodiment, even when an image file is developed using a plurality of discontinuous memory areas on the
[実施形態3]
次に実施形態3として、撮像装置200内で撮影された画像を撮像装置200に接続される外部制御装置100に転送する場合を説明する。本実施形態におけるシステム構成、外部制御装置及び撮像装置の構成は、図1及び図2に記載したものと同様であるので説明は省略する。
[Embodiment 3]
Next, as a third exemplary embodiment, a case where an image captured in the
まず、図9のフローチャートを用いて撮像装置200に接続された外部制御装置100に撮影した画像の取得要求を行う場合を説明する。まず、撮像装置200は、S901にて撮像素子215を利用して撮影を行う。続くS902では、メモリ制御部219が撮影により生成された画像ファイルを複数のデータに分割し、RAMとしての内部記憶装置222上で複数の不連続なメモリ領域に展開する。このときのデータの格納の様子は、図3(B)に示す通りである。このとき、メモリ分割情報生成部246が内部記憶装置222に格納された画像ファイルについてメモリ分割情報を生成する。続くS903では、制御部211が外部装置接続I/F238を介して、このメモリ分割情報を撮像装置200に接続される外部制御装置100に通知する。通知される情報は撮影画像ファイル1枚分のメモリ分割情報となる。次に、S904にて制御部211は、外部制御装置100に画像ファイルの取得を行わせるべく、データ取得要求を外部装置接続I/F238を介して外部制御装置100に送信する。
First, a case where an acquisition request for captured images is made to the
次に本実施形態により、撮影画像のメモリ分割サイズ情報通知を受け取った際の、外部制御装置100における画像ファイル取得の流れを図10のフローチャートを用いて説明する。本実施形態では、外部制御装置100がデータ取得要求の送信を開始する以前にメモリ分割情報を取得して、これを用いて取得サイズを指定する点に特徴がある。
Next, the flow of image file acquisition in the
まずS1001では、外部制御装置100は、CPU101がI/F105を介して撮像装置200からの撮影画像のメモリ分割情報を受信する。受信したメモリ分割情報は、外部制御装置100内のRAM102に格納する。次にS1002にて、CPU101はI/F105を介して撮像装置200からデータ取得要求を受信する。その後、S1003からS1008において撮像装置200からの撮影画像の取得を行う。
First, in step S <b> 1001, in the
まず、CPU101は、S1003にて1つの画像ファイル全体を取得するための情報であるデータの取得位置を特定するためのオフセット値と1回の取得サイズの初期化を行う。データを取得するための情報である、データのオフセット値と1回の取得サイズの初期化を行う。画像ファイル全体を取得する場合なのでオフセット値は0となり、1回目の取得サイズはS1001で受信したメモリ分割情報の先頭のメモリ領域のサイズに従う値とする。
First, in step S <b> 1003, the
続くS1004では、1枚分の画像ファイルの取得が完了するまでS1005からS1008までのデータの分割取得が繰り返される。S1005ではCPU101は、設定したオフセット値と取得サイズとを含むデータ取得要求を撮像装置200に対して発行する。S1006ではS1005で指定した情報に対応したデータが撮像装置200から転送されるので、CPU101はI/F105を介して受信して、RAM102に格納する。S1007では、CPU101は、S1005に戻って次のデータの取得を行う際のパラメータを変更するため、S1006で取得したデータ分だけオフセット値をインクリメントする。続く、S1008では、CPU101はS1001にて撮像装置200から通知されたメモリ分割情報に従い、次に読み出すべきメモリ領域のサイズに基づいて取得サイズを設定する。このようにして、メモリ分割情報に記述された全てのメモリ領域からのデータの取得が完了するまで、S1005からS1008までの作業が反復される。
In subsequent S1004, the divisional acquisition of data from S1005 to S1008 is repeated until acquisition of one image file is completed. In step S <b> 1005, the
なお、本実施形態でも、図8のステップS808からS810のような処理を外部制御装置100側で行って、メモリ領域が小さすぎる場合や、大きすぎる場合にそのサイズを補正しても良い。また、上記の処理が実行されるタイミングは、撮影による画像生成時のみに限定されるものではない。例えば、データ転送装置200がデジタルカメラのような撮像装置でない場合には、外部記録媒体221に新しい画像ファイル等が格納された場合に実行してもよい。
In this embodiment as well, the processing in steps S808 to S810 in FIG. 8 may be performed on the
以上の本実施形態では、撮像装置200が内部記憶装置222における画像ファイルの展開状況をメモリ分割情報として外部制御装置100へ通知し、外部制御装置100は、当該メモリ分割情報を利用して、DMA転送の指示を行うことができる。これにより、メモリ領域の分割サイズに応じて、最も転送効率に適した転送方法を実現しつつ、撮像装置側での処理負荷を軽減することができる。
In the present embodiment described above, the
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
[Other Embodiments]
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.
Claims (8)
前記データ転送装置に対し、取得サイズを指定してデータ取得要求を送信する送信手段と、
前記データ取得要求で指定されたサイズに分割された分割データを受信する第1の受信手段と、
前記第1の受信手段により分割データを受信するたびに、前記データ転送装置から、次に分割取得するデータのサイズを受信する第2の受信手段とを有し、
前記第2の受信手段により受信されるデータサイズは、前記次に分割取得するデータが含まれる前記データ転送装置のメモリ領域の境界に基づくものであり、
前記送信手段は、前記第2の受信手段により受信したデータのサイズに基づき、前記取得サイズを指定することを特徴とする情報処理装置。 An information processing device that acquires and divides data from a connected data transfer device,
Transmitting means for designating an acquisition size and transmitting a data acquisition request to the data transfer device;
First receiving means for receiving divided data divided into a size specified in the data acquisition request;
A second receiving means for receiving, from the data transfer device, the size of the data to be divided and acquired next each time the divided data is received by the first receiving means;
The data size received by the second receiving means is based on the boundary of the memory area of the data transfer device including the data to be divided and acquired next,
The information processing apparatus according to claim 1, wherein the transmitting unit specifies the acquisition size based on a size of data received by the second receiving unit.
前記データ転送装置のメモリに前記データがどのように分割して記録されているかを示すメモリ分割情報を受信する第1の受信手段と、
前記データ転送装置に対し、取得サイズを指定してデータ取得要求を送信する送信手段と、
前記データ取得要求で指定されたサイズに分割された分割データを受信する第2の受信手段と
を有し、
前記送信手段は、前記第1の受信手段により受信したメモリ分割情報にしたがって、次に分割取得するデータが含まれる前記データ転送装置のメモリ領域の境界に基づくサイズを前記取得サイズとして指定することを特徴とする情報処理装置。 An information processing device that acquires and divides data from a connected data transfer device,
First receiving means for receiving memory division information indicating how the data is divided and recorded in the memory of the data transfer device;
Transmitting means for designating an acquisition size and transmitting a data acquisition request to the data transfer device;
Second receiving means for receiving the divided data divided into the size specified in the data acquisition request,
The transmission means specifies, as the acquisition size, a size based on a boundary of a memory area of the data transfer device including data to be divided and acquired next according to the memory division information received by the first reception means. A characteristic information processing apparatus.
送信手段が、前記データ転送装置に対し、取得サイズを指定してデータ取得要求を送信する送信工程と、
第1の受信手段が、前記データ取得要求で指定されたサイズに分割された分割データを受信する第1の受信工程と、
第2の受信手段が、前記第1の受信工程において分割データを受信するたびに、前記データ転送装置から、次に分割取得するデータのサイズを受信する第2の受信工程とを有し、
前記第2の受信工程において受信されるデータサイズは、前記次に分割取得するデータが含まれる前記データ転送装置のメモリ領域の境界に基づくものであり、
前記送信工程では、前記第2の受信工程において受信したデータのサイズに基づき、前記取得サイズを指定することを特徴とする情報処理装置の制御方法。 A method of controlling an information processing apparatus for separately acquiring data from a connected data transfer apparatus,
A transmitting step of transmitting a data acquisition request specifying an acquisition size to the data transfer device;
A first receiving step in which the first receiving means receives the divided data divided into the size specified in the data acquisition request;
A second receiving step for receiving, from the data transfer device, the size of data to be divided and acquired next, each time the second receiving means receives the divided data in the first receiving step;
The data size received in the second receiving step is based on the boundary of the memory area of the data transfer device including the data to be divided and acquired next,
In the transmitting step, the acquisition size is designated based on the size of the data received in the second receiving step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013215106A JP5647318B2 (en) | 2013-10-15 | 2013-10-15 | Information processing apparatus, information processing apparatus control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013215106A JP5647318B2 (en) | 2013-10-15 | 2013-10-15 | Information processing apparatus, information processing apparatus control method, and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009197235A Division JP5390991B2 (en) | 2009-08-27 | 2009-08-27 | DATA TRANSFER SYSTEM, DATA TRANSFER DEVICE, DATA TRANSFER DEVICE CONTROL METHOD, AND PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014032695A JP2014032695A (en) | 2014-02-20 |
JP5647318B2 true JP5647318B2 (en) | 2014-12-24 |
Family
ID=50282413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013215106A Expired - Fee Related JP5647318B2 (en) | 2013-10-15 | 2013-10-15 | Information processing apparatus, information processing apparatus control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5647318B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2943710B2 (en) * | 1996-08-02 | 1999-08-30 | 日本電気株式会社 | Buffer busy control method |
US8037229B2 (en) * | 2002-11-21 | 2011-10-11 | Sandisk Technologies Inc. | Combination non-volatile memory and input-output card with direct memory access |
JP2006018642A (en) * | 2004-07-02 | 2006-01-19 | Victor Co Of Japan Ltd | Dma transfer controller |
JP2006155240A (en) * | 2004-11-29 | 2006-06-15 | Canon Inc | Usb connecting system, usb function device, method of communication, and program and storage medium |
JP2009009186A (en) * | 2007-06-26 | 2009-01-15 | Nec Electronics Corp | Dma transfer controller and dma transfer method |
-
2013
- 2013-10-15 JP JP2013215106A patent/JP5647318B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014032695A (en) | 2014-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5264539B2 (en) | Electronic device, control method therefor, and program | |
JP2012217166A (en) | Image sending apparatus, image recording apparatus and image recording method | |
JP5231942B2 (en) | Image processing apparatus, control method therefor, system, and program | |
US10896124B2 (en) | Recording control apparatus, control method thereof and non-transitory computer-readable storage medium | |
JP5647318B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
JP5390991B2 (en) | DATA TRANSFER SYSTEM, DATA TRANSFER DEVICE, DATA TRANSFER DEVICE CONTROL METHOD, AND PROGRAM | |
JP4871755B2 (en) | Imaging apparatus and control method thereof | |
JP7263017B2 (en) | Recording control device and its control method | |
JP2011024097A (en) | Imaging apparatus, photographing processing method, and program | |
JP7214400B2 (en) | Recording control device and its control method | |
JP7212477B2 (en) | Recording device, recording method, and program | |
JP7282491B2 (en) | Recording control device and its control method | |
JP2008077402A (en) | Image processor, its control method, computer program and storage medium | |
JP5436115B2 (en) | Imaging apparatus, control method thereof, and program | |
JP6552578B2 (en) | COMMUNICATION DEVICE, ITS CONTROL METHOD, PROGRAM | |
JP2005354621A (en) | Image pickup apparatus and control method thereof | |
JP2022129926A (en) | Imaging system | |
JP2004096623A (en) | Control method of information processing apparatus capable of controlling imaging device | |
JP2006345188A (en) | Image sensing device and method of controlling the same | |
JP6043381B2 (en) | Imaging system, imaging apparatus, control method, and program | |
JP4697927B2 (en) | Imaging device | |
US8855465B2 (en) | Moving image recording apparatus, moving image recording method, and program | |
JP2020036233A (en) | Recording apparatus and control method thereof | |
JP2016038736A (en) | Recording device, control method of recording device and program thereof | |
JP2015119213A (en) | Recording control device, method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131108 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140714 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140717 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141106 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5647318 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |