JPWO2017104084A1 - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents
データ処理装置、データ処理方法及びデータ処理プログラム Download PDFInfo
- Publication number
- JPWO2017104084A1 JPWO2017104084A1 JP2017556306A JP2017556306A JPWO2017104084A1 JP WO2017104084 A1 JPWO2017104084 A1 JP WO2017104084A1 JP 2017556306 A JP2017556306 A JP 2017556306A JP 2017556306 A JP2017556306 A JP 2017556306A JP WO2017104084 A1 JPWO2017104084 A1 JP WO2017104084A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage area
- camera
- buffer memory
- video
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims description 3
- 238000000034 method Methods 0.000 claims description 45
- 230000008569 process Effects 0.000 claims description 18
- 239000000872 buffer Substances 0.000 description 256
- 230000015654 memory Effects 0.000 description 207
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
- G09G5/397—Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/399—Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Image Processing (AREA)
Abstract
Description
以下では、一例として、カメラからの映像データ(カメラ映像ともいう)を記憶領域に格納する技術について説明する。
ティアリングとは、1つの画面に複数のフレームが表示されることにより、描画された画像が歪んだり、ちらついたりして見える現象のことである。
つまり、特許文献1の方法では、映像データの供給元であるカメラの台数の3倍以上のバッファが必要であり、カメラの台数が多くなると非常に多くの記憶領域を確保しなければならないという課題がある。
M個(M≧2であり、Mは整数)のデータソースからのM個のデータの記憶のために(2M+L)個(M>L≧1であり、Lは整数)の記憶領域を記憶装置に設定する記憶領域設定部と、
前記M個のデータソースからのM個のデータの中からL個のデータを書込み対象データとして指定するデータ指定部と、
前記(2M+L)個の記憶領域のうち、L個の書込み対象データの書き込み中にデータの読み出しが行われる記憶領域と、各データソースからのデータが最後に書き込まれた記憶領域と、各データソースからのデータの読み出しが最後に行われた記憶領域とを除く記憶領域の中から、前記L個の書込み対象データの書込み先の記憶領域を指定する書込み先指定部と、
前記書込み先指定部により指定された記憶領域に、前記L個の書込み対象データを書き込む書込み処理部とを有する。
実施の形態1では、M=2、L=1の例を説明する。つまり、実施の形態1に係るデータ処理装置は、2個のデータに対して5個の記憶領域を割り当てる。そして、実施の形態1に係るデータ処理装置は、2個のデータの中から1つのデータを書込み対象データとして指定し、1つの書込み対象データの書込み先の記憶領域を5個の記憶領域の中から指定する。
実施の形態2では、M個のデータに対して(2M+L)個の記憶領域を割り当てる例を説明する。実施の形態2に係るデータ処理装置は、M個のデータの中からL個のデータを書込み対象データとして指定し、L個の書込み対象データの書込み先の記憶領域を(2M+L)個の記憶領域の中から指定する。
なお、実施の形態1及び実施の形態2では、データ処理装置は、データソースごとに記憶領域を3個ずつ割り当てることもできる。つまり、データ処理装置は、M個のデータソースからのM個のデータに対して、3M個の記憶領域を割り当てることもできる。
実施の形態1及び実施の形態2に係るデータ処理装置は、M個のデータのデータサイズを参酌して、(2M+L)個の記憶領域の構成と、3M個の記憶領域の構成のうちのいずれかを選択する。
なお、実施の形態1及び実施の形態2では、M個のデータソースからのM個のデータの一例として、M個のカメラからのM個の映像データを説明する。
***構成の説明***
図1は、本実施の形態に係るデータ処理装置100のハードウェア構成例を示す。
本実施の形態に係るデータ処理装置100は、コンピュータである。
データ処理装置100は、ハードウェアとして、通信インタフェース101、メインプロセッサ102、映像処理用プロセッサ103、記憶装置104、ディスプレイ105を備える。
通信インタフェース101は、データソースであるカメラA300a及びカメラB300bからの映像データを通信路400を介して受信する。なお、カメラA300a及びカメラB300bを区別する必要がない場合は両者を総称してカメラ300と表記する。
メインプロセッサ102は、メインプログラムを実行する。
映像処理用プロセッサ103は、映像データの書込み及び読出し、グラフィックス描画を行う。
記憶装置104は、映像データの記憶領域として用いられる。すなわち、記憶装置104は、映像データを記憶するためのバッファメモリとして用いられる。また、記憶装置104は、画面フレームバッファとしても用いられる。更に、記憶装置104には、メインプロセッサ102及び映像処理用プロセッサ103で実行されるプログラムも記憶されている。
ディスプレイ105は、映像データを出力する。
システム制御部201は、データ処理装置100の動作を制御する。つまり、システム制御部201は、映像処理制御部202及びバッファメモリ管理部203を制御し、また、映像処理制御部202及びバッファメモリ管理部203の制御を通じてデジタルカメラ受信処理部205、アナログカメラ受信処理部206、書込み処理部207及びグラフィックスエンジン208を制御する。
映像処理制御部202は、カメラからの映像データの受信制御及びグラフィックスエンジン208の制御を行う。映像処理制御部202は、データ指定部の例である。また、映像処理制御部202により行われる処理はデータ指定処理の例に相当する。
バッファメモリ管理部203は、表示映像にティアリングが発生しないようにするための制御を行う。バッファメモリ管理部203は、記憶領域設定部及び書込み先指定部の例に相当する。また、バッファメモリ管理部203により行われる処理は記憶領域設定処理及び書込み先指定処理の例に相当する。
カメラ映像処理部204は、映像処理制御部202からの指示に従って、カメラ300からの映像データの受信制御を行い、更に、カメラ映像処理部204は、デジタルカメラ受信処理部205、アナログカメラ受信処理部206及び書込み処理部207の動作に関連する初期設定等を行う。
グラフィックスエンジン208は、グラフィックスの描画を行う。
カメラ映像処理部204には、デジタルカメラ受信処理部205、アナログカメラ受信処理部206及び書込み処理部207が含まれる。
デジタルカメラ受信処理部205は、通信インタフェース101からデジタル映像データを受信する。
アナログカメラ受信処理部206は、通信インタフェース101からアナログ映像データを受信する。
書込み処理部207は、デジタルカメラ受信処理部205で受信されたデジタル映像データ及びアナログカメラ受信処理部206で受信されたアナログ映像データを記憶装置104に書き込む。
これらプログラムは、記憶装置104に記憶されている。そして、メインプロセッサ102がシステム制御部201、映像処理制御部202及びバッファメモリ管理部203を実現するプログラムを実行して、後述するシステム制御部201、映像処理制御部202及びバッファメモリ管理部203の動作を行う。また、映像処理用プロセッサ103がカメラ映像処理部204、デジタルカメラ受信処理部205、アナログカメラ受信処理部206、書込み処理部207及びグラフィックスエンジン208を実現するプログラムを実行して、後述するカメラ映像処理部204、デジタルカメラ受信処理部205、アナログカメラ受信処理部206、書込み処理部207及びグラフィックスエンジン208の動作を行う。
図2では、メインプロセッサ102がシステム制御部201、映像処理制御部202及びバッファメモリ管理部203を実現するプログラムを実行している状態を模式的に表している。また、図2では、映像処理用プロセッサ103がカメラ映像処理部204、デジタルカメラ受信処理部205、アナログカメラ受信処理部206、書込み処理部207及びグラフィックスエンジン208を実現するプログラムを実行している状態を模式的に表している。
先ず、本実施の形態に係るデータ処理装置100のバッファ構成を説明する。
これに対し、図4に示すように、書込み処理部207が映像処理制御部202の指示に基づき、M個のカメラ300からのM個の映像データのうち、バッファメモリ209に同時に書き込み可能な映像データ数を1つに制限する。つまり、映像処理制御部202が、M個のカメラ300からのM個の映像データの中から1つの映像データを書込み対象データとして指定する。これにより、計(2M+1)個のバッファメモリでM個の映像データを格納することができる。
また、図4の例では、バッファメモリ管理部203により、(2M+1)個のバッファメモリが以下のように割り当てられる。M個のバッファメモリには読み出し対象のM個の映像データが格納され、別のM個のバッファメモリには直近に書き込まれたM個の映像データが格納され、そして、残りの1つのバッファメモリに、映像処理制御部202により指定された1つの書込み対象データが格納される。なお、図4のバッファメモリ構成を第2のバッファメモリ構成という。
つまり、カメラA300aからのカメラ映像AとカメラB300bからのカメラ映像Bを5つのバッファメモリに格納する。
この場合、1種類のバッファメモリで2種類の映像データを格納するため、1つのバッファメモリのサイズは、2つの映像データのうちデータサイズが大きい映像データを格納できるサイズにする必要がある。図4では、各バッファメモリのサイズは、データサイズが大きいカメラ映像Aのデータサイズである。
このため、図4に示す第2のバッファメモリ構成では、複数のカメラ映像間のサイズ比が小さいほど、メモリ容量を大きく削減することができる。また逆に、複数のカメラ映像間のサイズ比が大きくなると、使用しないメモリ領域が部分的に生じるため、図3に示す第1のバッファメモリ構成のほうが使用するメモリ総容量が小さくなり得る。
そこで、バッファメモリ管理部203が、使用するカメラの数、および、カメラ映像の1フレーム分のバッファサイズの情報を基に、図3の第1のバッファメモリ構成及び図4の第2のバッファメモリ構成のいずれでバッファメモリ209を構成するかを選択する。具体的には、M個のカメラの各バッファメモリのサイズをS[k](k=0〜M−1、並びは昇順)と表したとき、図4の第2のバッファメモリ構成を選択するための選択基準は、以下の式(1)で定義される。
カメラを2つ使用する場合は、(M−1)=1であり、S[M−2]=S[0]であることから、式(1)の左辺は2/3であり、右辺はS[0]/S[1]である。
このため、カメラ映像A用のバッファメモリのサイズ(つまり、カメラ映像Aのデータサイズ)とカメラ映像B用のバッファメモリのサイズ(つまり、カメラ映像Bのデータサイズ)との比が3:2より小さくなるとき(右辺の除算値が2/3未満であるとき)、図4のバッファメモリ構成の方が図3のバッファメモリ構成よりもメモリ容量を少なくすることができる。このため、式(1)が成立する場合は、バッファメモリ管理部203は、図4の第2のバッファメモリ構成を選択する。そして、バッファメモリ管理部203は、記憶装置104に第2のバッファメモリ構成にてバッファメモリ209を設定する。
逆に、カメラ映像A用のバッファメモリのサイズ(つまり、カメラ映像Aのデータサイズ)とカメラ映像B用のバッファメモリのサイズ(つまり、カメラ映像Bのデータサイズ)との比が3:2より大きい場合は、図3のバッファメモリ構成の方が図4のバッファメモリ構成よりもメモリ容量を少なくすることができる。このため、式(1)が成立しない場合は、バッファメモリ管理部203は、図3の第1のバッファメモリ構成を選択する。そして、バッファメモリ管理部203は、記憶装置104に第1のバッファメモリ構成にてバッファメモリ209を設定する。
図6及び図7は、データ処理装置100の動作例を示すフローチャートである。
図6は、メイン処理を示すフローチャートである。図7は、メイン処理とは別タスクとして動作させる映像書き込み処理を示すフローチャートである。
図6及び図7に示す動作手順は、データ処理方法及びデータ処理プログラムの例に相当する。
そして、バッファメモリ管理部203は、記憶装置104に、選択した構成のバッファメモリ209を設定する。以下では、図4の構成でバッファメモリが設定されたものとして説明を行う。
なお、映像書込み処理の詳細は図7に示しており、以降では、先に図7を参照して映像書き込み処理について説明する。
ここでは、映像処理制御部202は、書込み対象のカメラ映像を毎フレーム切り替え、複数のカメラ映像を順番に時分割で受信するよう制御する。これにより、図5に示すように、カメラ映像の同時受信チャンネル数を1つに限定したうえで、複数のカメラ映像の受信が可能になる。
バッファメモリ管理部203は、(2M+1)個のバッファメモリの各々の割当て状況が示される割当て状況情報を管理しており、この割当て状況情報を参照して、書込み対象のカメラ映像の書込み先のバッファメモリを指定する。
具体的には、バッファメモリ管理部203は、(2M+1)個のバッファメモリのうち、書込み対象のカメラ映像の書き込み中にカメラ映像の読み出しが行われるバッファメモリと、各データソースからのカメラ映像が最後に書き込まれたバッファメモリと、各データソースからのカメラ映像の読み出しが最後に行われたバッファメモリとを除くバッファメモリの中から、書込み対象のカメラ映像の書込み先のバッファメモリを指定する。
書込み対象のカメラ映像の書き込み中にカメラ映像の読み出しが行われるバッファメモリと、各データソースからのカメラ映像が最後に書き込まれたバッファメモリと、各データソースからのデータの読み出しが最後に行われたバッファメモリは一部が重複する。バッファメモリ管理部203は、これらバッファメモリの重複を排除した後のバッファメモリを除いて得られるバッファメモリの中から書込み先のバッファメモリを指定する。
バッファメモリ管理部203による書込み先のバッファメモリの指定については、具体例を用いて後述する。
そして、描画タイミングになると、バッファメモリ管理部203が、描画対象の映像データを格納しているバッファメモリ番号を選択する(ステップS606)。ここでは、バッファメモリ管理部203は、書き込みが完了した各カメラ映像の最新フレームを割り当てたバッファメモリを選択する。具体的には、現在書き込み対象としていないカメラの場合は、バッファメモリ管理部203は、当該カメラのカメラ画像が前回書き込まれたバッファメモリを選択する。一方、現在書き込み対象であるカメラの場合は、バッファメモリ管理部203は、以下の方法により当該カメラのカメラ映像が前回書き込まれたバッファメモリを選択する。書き込み完了をメインプロセッサに通知する仕組みをグラフィックスエンジン208に予め構築しておく。そして、描画タイミングから一定期間が経過するまでにカメラ映像の書き込みが完了していれば、バッファメモリ管理部203は、カメラ映像の書込みが完了したバッファメモリを選択する。描画タイミングから一定期間を経過しても書き込みが完了していなければ、バッファメモリ管理部203は、当該カメラのカメラ画像が前回書き込まれたバッファメモリを選択する。このようにすることで、バッファメモリ管理部203は、カメラ映像の最新フレームを指定することができる。
描画処理起動後は、グラフィックスエンジン208が、1画面分の描画処理を実施し、バッファメモリ管理部203から通知されたバッファメモリから映像データを読み出す。そして、グラフィックスエンジン208は、読み出した映像データに画像処理を行い、映像データの変形表示を実施する。
グラフィックスエンジン208は、例えば、テクスチャマッピング機能を活用し、映像データをテクスチャとして登録した後、テクスチャに対し、回転行列や拡大縮小行列などの行列演算を適用する。そして、グラフィックスエンジン208は、行列演算の結果を記憶装置104内の画面フレームバッファ210に格納する。これにより、カメラ映像が回転あるいは拡縮されて表示される。
また、図9は、第2のバッファメモリ構成での書込み手順及び読出し手順を示す。
図8及び図9では、カメラ数Mが2である。
また図8及び図9において、横方向が時間の経過を示す。また、時間の区分(実線で分けられた区分)はタイムロットを表す。
図8の第1のバッファメモリ構成では、カメラA300aのバッファメモリとしてバッファ(1)〜(3)を、カメラB300bのバッファメモリとしてバッファ(4)〜(6)を割り当て、カメラごとにバッファメモリを分けてカメラ映像を格納する。なお、図8において、「W」はカメラ映像の書込みを表し、「R」はカメラ映像の読出しを表す。図9〜図12においても同様に、「W」はカメラ映像の書込みを表し、「R」はカメラ映像の読出しを表す。
一方、図9の第2のバッファメモリ構成では、計5つのバッファメモリを、カメラA300aとカメラB300bで共有する。更に、バッファメモリ管理部203が、カメラA300aからのカメラ映像と、カメラB300bからのカメラ映像の書き込みが重複しないように制御する。
前述のように、第2のバッファメモリ構成では、バッファメモリ管理部203は、書込み対象のカメラ映像の書き込み中にカメラ映像の読み出しが行われるバッファメモリと、各データソースからのカメラ映像が最後に書き込まれたバッファメモリと、各データソースからのデータの読み出しが最後に行われたバッファメモリとを除くバッファメモリの中から、書込み対象のカメラ映像の書込み先のバッファメモリを指定する。
以下、図9のA:(3)のカメラ映像が書込み対象である場合に、A:(3)のカメラ映像の書込み先のバッファメモリの選択方法を説明する。A:(3)のカメラ映像の書込み中にカメラ映像の読み出しが行われるバッファメモリは、バッファ(1)とバッファ(2)である。また、各データソースからのカメラ映像が最後に書き込まれたバッファメモリは、バッファ(1)とバッファ(2)である。また、各データソースからのカメラ映像の読み出しが最後に行われたバッファメモリは、バッファ(4)とバッファ(5)である。バッファ(1)〜(5)のうち、これらバッファ(1)、バッファ(2)、バッファ(4)、バッファ(5)を除いた後のバッファ(3)がA:(3)のカメラ映像の書込み先のバッファメモリとして選択される。
図10のケースでも、図9のケースと同様に書込み先のバッファメモリの選択が行われる。
以下、図10のA:(3)のカメラ映像が書込み対象である場合に、A:(3)のカメラ映像の書込み先のバッファメモリの選択方法を説明する。A:(3)のカメラ映像の書込み中にカメラ映像の読み出しが行われるバッファメモリは、バッファ(4)とバッファ(5)である。また、各データソースからのカメラ映像が最後に書き込まれたバッファメモリは、バッファ(1)とバッファ(2)である。また、各データソースからのカメラ映像の読み出しが最後に行われたバッファメモリは、バッファ(4)とバッファ(5)である。バッファ(1)〜(5)のうち、これらバッファ(1)、バッファ(2)、バッファ(4)、バッファ(5)を除いた後のバッファ(3)がA:(3)のカメラ映像の書込み先のバッファメモリとして選択される。
図11のケースでも、図9のケースと同様に書込み先のバッファメモリの選択が行われる。
以下、図11のA:(3)のカメラ映像が書込み対象である場合に、A:(3)のカメラ映像の書込み先のバッファメモリの選択方法を説明する。A:(3)のカメラ映像の書込み中にカメラ映像の読み出しが行われるバッファメモリは、バッファ(1)とバッファ(2)である。また、各データソースからのカメラ映像が最後に書き込まれたバッファメモリは、バッファ(1)とバッファ(2)である。また、各データソースからのカメラ映像の読み出しが最後に行われたバッファメモリは、バッファ(1)とバッファ(2)である。バッファ(1)〜(5)のうち、これらバッファ(1)、バッファ(2)を除いた後のバッファ(3)〜(5)のうちからA:(3)のカメラ映像の書込み先のバッファメモリが選択される。図11では、バッファ(3)がA:(3)のカメラ映像の書込み先のバッファメモリとして選択されている。
図12のケースでも、図9のケースと同様に書込み先のバッファメモリの選択が行われる。
以下、図12のA:(3)のカメラ映像が書込み対象である場合に、A:(3)のカメラ映像の書込み先のバッファメモリの選択方法を説明する。A:(3)のカメラ映像の書込み中にカメラ映像の読み出しが行われるバッファメモリは、バッファ(1)とバッファ(2)である。また、各データソースからのカメラ映像が最後に書き込まれたバッファメモリは、バッファ(1)とバッファ(2)である。また、各データソースからのカメラ映像の読み出しが最後に行われたバッファメモリは、バッファ(1)とバッファ(2)である。バッファ(1)〜(5)のうち、これらバッファ(1)、バッファ(2)を除いた後のバッファ(3)〜(5)のうちからA:(3)のカメラ映像の書込み先のバッファメモリが選択される。図12では、バッファ(3)がA:(3)のカメラ映像の書込み先のバッファメモリとして選択されている。
以上、本実施の形態によれば、M個のデータを(2M+1)個の記憶領域のみを用いて格納できるため、少ない記憶領域で効率的にデータを格納することができる。
特に、複数のカメラ映像を拡縮、回転制御して表示するシステムにおいて、カメラ映像の書込み、読出しを非同期で行なった際に発生するティアリングを防止するとともに、映像データを保持するために必要なメモリ容量を削減することができる。
また、本実施の形態では、カメラの数や、解像度に依存するカメラ映像のバッファサイズ情報を基に、使用メモリ容量がより小さいバッファメモリ構成を選択することができる。
本実施の形態に係るデータ処理装置100を説明する。
なお、本実施の形態に係るデータ処理装置100の構成は図1及び図2に示す通りである。
また、本実施の形態に係るデータ処理装置100の動作例は、図6及び図7に示す通りである。
以下では、主に実施の形態1との違いを説明する。以下で説明していない事項は実施の形態1と同じである。
本実施の形態では、第2のバッファメモリ構成として、M個のカメラに対して(2M+L)個のバッファメモリを配置し、書込み対象データをL個のカメラ映像とする。なお、前述したように、M>L≧1であり、Lは整数である。
つまり、本実施の形態では、映像処理制御部202が、M個のカメラ300からのM個のカメラ映像の中からL個(L=1〜(M−1))のカメラ映像を書込み対象データとして指定する。また、バッファメモリ管理部203が、L個の書込み対象データの書込み先のバッファメモリを(2M+L)個のバッファメモリの中から指定する。そして、書込み処理部207が、バッファメモリ管理部203により指定されたL個のバッファメモリにL個の書込み対象データを書き込む。
また、本実施の形態でも、第1のバッファメモリ構成では、M個のカメラに対して3M個のバッファメモリが配置される。
つまり、バッファメモリ管理部203は、(2M+L)個のバッファメモリのうち、L個の書込み対象のカメラ映像の書き込み中にカメラ映像の読み出しが行われるバッファメモリと、各データソースからのカメラ映像が最後に書き込まれたバッファメモリと、各データソースからのカメラ映像の読み出しが最後に行われたバッファメモリとを除くバッファメモリの中から、L個の書込み対象のカメラ映像の書込み先のバッファメモリを指定する。
そして、書込み処理部207は、バッファメモリ管理部203により指定されたバッファメモリに、L個の書込み対象のカメラ映像を書き込む。
また、一度にL個のデータを書き込むことができるため、書込み処理の高速化が図られる。
***ハードウェア構成の説明***
最後に、データ処理装置100のハードウェア構成の補足説明を行う。
図1及び図2に示すメインプロセッサ102及び映像処理用プロセッサ103は、プロセッシングを行うIC(Integrated Circuit)である。
メインプロセッサ102は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)であり、映像処理用プロセッサ103は、例えば、GPU(Graphics Processing Unit)である。
記憶装置104は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
通信インタフェース101は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信インタフェース101は、例えば、通信チップ又はNIC(Network Interface Card)である。
記憶装置104は、例えば、LCD(Liquid Crystal Display)である。
そして、OSの少なくとも一部がメインプロセッサ102及び映像処理用プロセッサ103により実行される。
メインプロセッサ102はOSの少なくとも一部を実行しながら、システム制御部201、映像処理制御部202及びバッファメモリ管理部203の機能を実現するプログラムを実行する。
また、映像処理用プロセッサ103もOSの少なくとも一部を実行しながら、カメラ映像処理部204、デジタルカメラ受信処理部205、アナログカメラ受信処理部206、書込み処理部207及びグラフィックスエンジン208の機能を実現するプログラムを実行する。
また、システム制御部201、映像処理制御部202、バッファメモリ管理部203、カメラ映像処理部204、デジタルカメラ受信処理部205、アナログカメラ受信処理部206、書込み処理部207及びグラフィックスエンジン208の処理の結果を示す情報やデータや信号値や変数値が、記憶装置104、又は、メインプロセッサ102又は映像処理用プロセッサ103内のレジスタ又はキャッシュメモリに記憶される。
また、システム制御部201、映像処理制御部202、バッファメモリ管理部203、カメラ映像処理部204、デジタルカメラ受信処理部205、アナログカメラ受信処理部206、書込み処理部207及びグラフィックスエンジン208の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記憶媒体に記憶されてもよい。
また、データ処理装置100は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)といった電子回路により実現されてもよい。
この場合は、システム制御部201、映像処理制御部202、バッファメモリ管理部203、カメラ映像処理部204、デジタルカメラ受信処理部205、アナログカメラ受信処理部206、書込み処理部207及びグラフィックスエンジン208は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
Claims (8)
- M個(M≧2であり、Mは整数)のデータソースからのM個のデータの記憶のために(2M+L)個(M>L≧1であり、Lは整数)の記憶領域を記憶装置に設定する記憶領域設定部と、
前記M個のデータソースからのM個のデータの中からL個のデータを書込み対象データとして指定するデータ指定部と、
前記(2M+L)個の記憶領域のうち、L個の書込み対象データの書き込み中にデータの読み出しが行われる記憶領域と、各データソースからのデータが最後に書き込まれた記憶領域と、各データソースからのデータの読み出しが最後に行われた記憶領域とを除く記憶領域の中から、前記L個の書込み対象データの書込み先の記憶領域を指定する書込み先指定部と、
前記書込み先指定部により指定された記憶領域に、前記L個の書込み対象データを書き込む書込み処理部とを有するデータ処理装置。 - 前記記憶領域設定部は、
個々の記憶領域のサイズが前記M個のデータのうちの最大のデータのデータサイズに相当する、前記(2M+L)個の記憶領域を前記記憶装置に設定する請求項1に記載のデータ処理装置。 - 前記記憶領域設定部は、
前記M個のデータソースからのM個のデータを記憶するための記憶領域として、データソースごとに該当データのデータサイズに相当するサイズの記憶領域が3個ずつ割り当てられる3M個の記憶領域と、前記(2M+L)個の記憶領域とのいずれかを選択し、
前記(2M+L)個の記憶領域を選択した場合に、前記(2M+L)個の記憶領域を前記記憶装置に設定する請求項2に記載のデータ処理装置。 - 前記記憶領域設定部は、
前記M個のデータのうちの前記最大のデータ以外のデータのデータサイズの総和を、前記最大のデータのデータサイズで除算して得られる除算値に基づき、前記3M個の記憶領域と、前記(2M+L)個の記憶領域とのいずれかを選択する請求項3に記載のデータ処理装置。 - 前記記憶領域設定部は、
前記除算値が{(2M+L−3)/3}未満であれば、前記(2M+L)個の記憶領域を選択する請求項4に記載のデータ処理装置。 - 前記記憶領域設定部は、
前記M個のデータソースであるM個のカメラからのM個の映像データの記憶のために前記(2M+L)個の記憶領域を前記記憶装置に設定する請求項1に記載のデータ処理装置。 - コンピュータが、M個(M≧2であり、Mは整数)のデータソースからのM個のデータの記憶のために(2M+L)個(M>L≧1であり、Lは整数)の記憶領域を記憶装置に設定し、
前記コンピュータが、前記M個のデータソースからのM個のデータの中からL個のデータを書込み対象データとして指定し、
前記(2M+L)個の記憶領域のうち、L個の書込み対象データの書き込み中にデータの読み出しが行われる記憶領域と、各データソースからのデータが最後に書き込まれた記憶領域と、各データソースからのデータの読み出しが最後に行われた記憶領域とを除く記憶領域の中から、前記L個の書込み対象データの書込み先の記憶領域を指定し、
前記コンピュータが、書き込み先の記憶領域に、前記L個の書込み対象データを書き込むデータ処理方法。 - M個(M≧2であり、Mは整数)のデータソースからのM個のデータの記憶のために(2M+L)個(M>L≧1であり、Lは整数)の記憶領域を記憶装置に設定する記憶領域設定処理と、
前記M個のデータソースからのM個のデータの中からL個のデータを書込み対象データとして指定するデータ指定処理と、
前記(2M+L)個の記憶領域のうち、L個の書込み対象データの書き込み中にデータの読み出しが行われる記憶領域と、各データソースからのデータが最後に書き込まれた記憶領域と、各データソースからのデータの読み出しが最後に行われた記憶領域とを除く記憶領域の中から、前記L個の書込み対象データの書込み先の記憶領域を指定する書込み先指定処理と、
前記書込み先指定処理により指定された記憶領域に、前記L個の書込み対象データを書き込む書込み処理とをコンピュータに実行させるデータ処理プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/085583 WO2017104084A1 (ja) | 2015-12-18 | 2015-12-18 | データ処理装置、データ処理方法及びデータ処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6320652B2 JP6320652B2 (ja) | 2018-05-09 |
JPWO2017104084A1 true JPWO2017104084A1 (ja) | 2018-05-24 |
Family
ID=59056188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017556306A Active JP6320652B2 (ja) | 2015-12-18 | 2015-12-18 | データ処理装置、データ処理方法及びデータ処理プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10528278B2 (ja) |
JP (1) | JP6320652B2 (ja) |
CN (1) | CN108369794B (ja) |
WO (1) | WO2017104084A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4485402A (en) * | 1980-10-17 | 1984-11-27 | Micro Consultants Limited | Video image processing system |
JP2000267650A (ja) * | 1999-03-18 | 2000-09-29 | Mitsubishi Electric Corp | 画像表示装置 |
JP2001202069A (ja) * | 2000-01-20 | 2001-07-27 | Fujitsu Ltd | 映像処理システム及び映像格納装置 |
JP2012058514A (ja) * | 2010-09-09 | 2012-03-22 | Renesas Electronics Corp | 半導体集積回路およびその動作方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61184967A (ja) * | 1985-02-12 | 1986-08-18 | Mitsubishi Electric Corp | 画像処理装置 |
US6831649B2 (en) * | 2001-02-15 | 2004-12-14 | Sony Corporation | Two-dimensional buffer pages using state addressing |
US7084917B2 (en) * | 2001-07-18 | 2006-08-01 | Canon Kabushiki Kaisha | Image sensing apparatus for calculating a histogram of image data and its control method |
KR100561395B1 (ko) * | 2003-01-06 | 2006-03-16 | 삼성전자주식회사 | 이미지 티어링을 방지하기 위한 영상 재생 시스템의메모리 관리 장치 및 방법 |
US7542010B2 (en) * | 2005-07-28 | 2009-06-02 | Seiko Epson Corporation | Preventing image tearing where a single video input is streamed to two independent display devices |
JP5013446B2 (ja) | 2006-03-17 | 2012-08-29 | 株式会社リコー | メモリ制御装置およびこれを用いた表示装置 |
WO2008018626A2 (en) * | 2006-08-10 | 2008-02-14 | Canon Kabushiki Kaisha | Image decoding apparatus |
US7889191B2 (en) * | 2006-12-01 | 2011-02-15 | Semiconductor Components Industries, Llc | Method and apparatus for providing a synchronized video presentation without video tearing |
TWI360796B (en) * | 2007-01-15 | 2012-03-21 | Au Optronics Corp | Driver and method for driving display panel and re |
JP4312238B2 (ja) | 2007-02-13 | 2009-08-12 | 株式会社ソニー・コンピュータエンタテインメント | 画像変換装置および画像変換方法 |
JP2009267689A (ja) * | 2008-04-24 | 2009-11-12 | Panasonic Corp | 動画像符号化装置、及び動画像符号化方法 |
US8063910B2 (en) * | 2008-07-08 | 2011-11-22 | Seiko Epson Corporation | Double-buffering of video data |
EP2605244B1 (en) * | 2008-09-17 | 2015-11-04 | Panasonic Intellectual Property Management Co., Ltd. | Recording medium and playback device |
WO2012007993A1 (ja) * | 2010-07-14 | 2012-01-19 | 三菱電機株式会社 | 画像合成装置 |
JP5323781B2 (ja) | 2010-07-28 | 2013-10-23 | アイホン株式会社 | 住宅インターホンシステム |
JP5511577B2 (ja) | 2010-08-06 | 2014-06-04 | シャープ株式会社 | 画像処理装置 |
JP2012182763A (ja) | 2011-03-03 | 2012-09-20 | Fujitsu Ten Ltd | 画像処理装置、画像表示システム及び画像処理方法 |
JP5930276B2 (ja) | 2011-12-12 | 2016-06-08 | カシオ計算機株式会社 | 画像処理装置、画像処理方法、画像処理システム及びプログラム |
JP6507491B2 (ja) * | 2014-05-16 | 2019-05-08 | ヤマハ株式会社 | 画像処理装置 |
-
2015
- 2015-12-18 CN CN201580085190.4A patent/CN108369794B/zh active Active
- 2015-12-18 US US15/772,362 patent/US10528278B2/en not_active Expired - Fee Related
- 2015-12-18 WO PCT/JP2015/085583 patent/WO2017104084A1/ja active Application Filing
- 2015-12-18 JP JP2017556306A patent/JP6320652B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4485402A (en) * | 1980-10-17 | 1984-11-27 | Micro Consultants Limited | Video image processing system |
JP2000267650A (ja) * | 1999-03-18 | 2000-09-29 | Mitsubishi Electric Corp | 画像表示装置 |
JP2001202069A (ja) * | 2000-01-20 | 2001-07-27 | Fujitsu Ltd | 映像処理システム及び映像格納装置 |
JP2012058514A (ja) * | 2010-09-09 | 2012-03-22 | Renesas Electronics Corp | 半導体集積回路およびその動作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180335969A1 (en) | 2018-11-22 |
CN108369794A (zh) | 2018-08-03 |
CN108369794B (zh) | 2020-11-13 |
WO2017104084A1 (ja) | 2017-06-22 |
JP6320652B2 (ja) | 2018-05-09 |
US10528278B2 (en) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4002281A1 (en) | Layer composition method and apparatus, electronic device, and storage medium | |
US9984651B2 (en) | Method and apparatus for displaying composition screen image by composing screen images of operating systems (OSs) | |
JP5178961B2 (ja) | 画像合成装置 | |
EP3270371B1 (en) | Method and apparatus for managing graphics layers within a graphics display component | |
US11710213B2 (en) | Application processor including reconfigurable scaler and devices including the processor | |
US7830397B2 (en) | Rendering multiple clear rectangles using a pre-rendered depth buffer | |
JPWO2013021525A1 (ja) | 画像処理装置、画像処理方法、プログラム、及び集積回路 | |
JP5840451B2 (ja) | メモリ制御装置 | |
US9363412B2 (en) | Accelerator circuit and image processing apparatus | |
JP2006092217A (ja) | メモリ制御方法、グラフィックプロセッサおよび情報処理装置 | |
US7382376B2 (en) | System and method for effectively utilizing a memory device in a compressed domain | |
JP6320652B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
US20150317766A1 (en) | Image display system, image display method, and storage medium | |
US20140104283A1 (en) | Page flipping with backend scaling at high resolutions | |
US20080055286A1 (en) | Method And Apparatus For Displaying Bitmap Images | |
CN110347463B (zh) | 图像处理方法、相关设备及计算机存储介质 | |
JP2013195963A (ja) | 画像処理装置、集積回路装置及び画像表示システム | |
JP6120561B2 (ja) | 図形描画装置及び図形描画プログラム | |
JP5419783B2 (ja) | 画像再生装置及び画像再生装置の制御方法 | |
JP2018133772A (ja) | 画像処理装置および画像処理方法 | |
JP6112972B2 (ja) | 撮像装置 | |
JP2011081199A (ja) | 表示装置及びその制御方法 | |
JP2015034891A (ja) | レジスタ設定制御装置 | |
CN116954780A (zh) | 显示画面的渲染方法、装置、设备、存储介质及程序产品 | |
CN112925592A (zh) | 渲染主页面的内核软件驱动的颜色重新映射 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171227 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20171227 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180214 |
|
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: 20180306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180403 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6320652 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |