JP2021048456A - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP2021048456A
JP2021048456A JP2019168847A JP2019168847A JP2021048456A JP 2021048456 A JP2021048456 A JP 2021048456A JP 2019168847 A JP2019168847 A JP 2019168847A JP 2019168847 A JP2019168847 A JP 2019168847A JP 2021048456 A JP2021048456 A JP 2021048456A
Authority
JP
Japan
Prior art keywords
pixel
address value
scanning distance
image processing
scanning
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.)
Pending
Application number
JP2019168847A
Other languages
English (en)
Inventor
章 森谷
Akira Moriya
章 森谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2019168847A priority Critical patent/JP2021048456A/ja
Priority to US16/811,434 priority patent/US11044424B2/en
Publication of JP2021048456A publication Critical patent/JP2021048456A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/44Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array
    • H04N25/445Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array by skipping some contiguous pixels within the read portion of the array
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/50Control of the SSIS exposure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/71Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
    • H04N25/75Circuitry for providing, modifying or processing image signals from the pixel array

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

【課題】イベントカメラにより得られたデータをメインメモリへ転送する際のデータ転送量を削減することが可能な画像処理装置を提供する。【解決手段】実施形態の画像処理装置は、複数の画素を所定の走査順に走査することにより、輝度の変化が検出された画素毎に、画素位置を示す2次元のアドレス値と、輝度変化量と、を含む画素データを取得するカメラと併用される装置であって、アドレス値取得部と、走査距離算出部と、バイナリデータ生成部と、を有する。アドレス値取得部は、2次元のアドレス値を変換して1次元のアドレス値を取得する。走査距離算出部は、1次元のアドレス値に基づき、第1の画素から第2の画素までの走査距離を算出する。バイナリデータ生成部は、走査距離の算出結果に応じて異なるビット数を有するビット列と、輝度変化量を表すビット列と、を含むバイナリデータを生成する。【選択図】図1

Description

本発明の実施形態は、画像処理装置に関する。
被写体の動き検出に利用可能な技術として、例えば、当該被写体において明るさの変化が生じた領域に対応する画素毎の輝度の変化を示すデータを出力する一方で、当該被写体において明るさの変化が生じなかった領域に対応する画素群のデータを出力しないように構成されたイベントカメラ(Event Based Camera)に係る技術が近年提案されている。
前述のイベントカメラは、被写体の動きに応じて得られたデータを従来のカメラよりも高速に出力することができるという利点を有している反面、当該データをDRAM等のメインメモリへ転送する際のデータ転送量が当該被写体の動きの大きさに応じて増大してしまうおそれがあるという問題点を有している。
日本国特許第6266946号公報
植中太紀他:「光量変化検出センサーを対象とした物体追跡アルゴリズムの高精度化」(2017)
実施形態は、イベントカメラにより得られたデータをメインメモリへ転送する際のデータ転送量を削減することが可能な画像処理装置を提供することを目的とする。
実施形態の画像処理装置は、イメージセンサのセンサ面に格子状に配置された複数の画素を所定の走査順に走査することにより、被写体における輝度の変化が検出された画素毎に、前記センサ面における画素位置を示す2次元のアドレス値と、輝度変化量と、を含む画素データを取得するように構成されたカメラと併用される装置であって、アドレス値取得部と、走査距離算出部と、バイナリデータ生成部と、を有して構成されている。前記アドレス値取得部は、前記画素データに含まれる前記2次元のアドレス値に対し、前記所定の走査順及び前記センサ面における画素数に基づいて設定された所定の変換処理を適用することにより、1次元のアドレス値を取得する。前記走査距離算出部は、前記アドレス値取得部により取得された前記1次元のアドレス値に基づき、前記複数の画素のうち、第1のタイミングにおいて輝度の変化が検出された第1の画素から、前記第1のタイミングより後の第2のタイミングにおいて輝度の変化が検出された第2の画素までの走査距離を算出する。前記バイナリデータ生成部は、前記走査距離算出部による前記走査距離の算出結果に応じて異なるビット数を有するビット列と、前記輝度変化量を表すビット列と、を含むバイナリデータを生成して出力する。
実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す図。 実施形態に係る画像処理システムにおける画素データの流れを模式的に示す図。 実施形態に係る画像処理装置において行われる処理の具体例を説明するためのフローチャート。 実施形態に係る画像処理装置において行われる処理により得られるラスタアドレス値及び走査距離の一例を示す図。 実施形態に係る画像処理装置において行われる処理の具体例を説明するためのフローチャート。 図5のフローチャートに含まれる一部の処理の具体例を説明するためのフローチャート。 図5のフローチャートに含まれる一部の処理の具体例を説明するためのフローチャート。 図5のフローチャートに含まれる一部の処理の具体例を説明するためのフローチャート。 イメージセンサのセンサ面に配置された各画素をブロックラスタスキャン順に走査した場合の例を説明するための図。
以下、実施形態について、図面を参照しつつ説明を行う。
図1から図8は、実施形態に係るものである。
画像処理システム101は、例えば、図1に示すように、イベントカメラ1と、画像処理装置2と、を有して構成されている。図1は、実施形態に係る画像処理装置を含む画像処理システムの構成の一例を示す図である。
イベントカメラ1は、複数の画素をセンサ面に格子状に配置したイメージセンサ(図示省略)を有して構成されている。
イベントカメラ1は、例えば、イメージセンサのセンサ面に配置された各画素をラスタスキャン順に(左から右かつ上から下の順に)走査することにより、被写体において明るさの変化が生じた領域に対応する画素毎の輝度の変化を検出するとともに、当該検出した画素毎の輝度の変化を示す画素データを取得するように構成されている。また、イベントカメラ1は、前述のように取得した画素データを画像処理装置2へ順次出力するように構成されている。また、イベントカメラ1は、被写体のうちの明るさの変化が生じなかった領域に対応する画素群(イメージセンサに含まれる各画素のうちの輝度の変化が検出されなかった画素群)については、画素データを取得(及び画像処理装置2へ出力)しないように構成されている。
具体的には、イベントカメラ1は、例えば、イメージセンサに含まれる各画素のうちの輝度の変化が検出された一の画素の画素データとして、当該イメージセンサのセンサ面の水平方向における当該一の画素の位置を示す情報に相当する座標値Xと、当該センサ面の垂直方向における当該一の画素の位置を示す情報に相当する座標値Yと、当該一の画素における輝度の変化の検出タイミングを特定可能な情報に相当する時刻tと、当該一の画素において生じた輝度の変化の大きさを示す情報に相当する輝度変化量ΔLと、を含むデータを取得するように構成されている。
すなわち、イベントカメラ1は、イメージセンサのセンサ面に格子状に配置された複数の画素を所定の走査順に(ラスタスキャン順に)走査することにより、被写体における輝度の変化が検出された画素毎に、当該センサ面における画素位置を示す2次元のアドレス値に相当する座標値(X,Y)と、輝度変化量ΔLと、を含む画素データを取得するように構成されている。
画像処理装置2は、例えば、図1に示すように、FIFO(First In First Out)メモリ21と、エンコーダ部22と、ストリームバッファ23と、メモリコントローラ24と、DRAM25と、CPU26と、ハードウェアエンジン27と、を有して構成されている。
FIFOメモリ21は、イベントカメラ1から順次出力される画素データを時系列にかつ所定のデータ数に達するまで記録することができるように構成されている。また、FIFOメモリ21は、イベントカメラ1から出力される最新の画素データを記録するための動作と、時系列に記録されている所定のデータ数の画素データ群のうちの最古の画素データをエンコーダ部22へ出力するための動作と、を併せて行うように構成されている。
エンコーダ部22は、例えば、エンコーダ回路を有して構成されている。また、エンコーダ部22は、イベントカメラ1に設けられたイメージセンサの画素数等に基づき、FIFOメモリ21から順次出力される画素データ各々に対して符号化処理を施すとともに、当該符号化処理の処理結果として得られたバイナリデータをストリームバッファ23へ順次出力するように構成されている。また、エンコーダ部22は、アドレス値取得部22Aとしての機能と、走査距離算出部22Bとしての機能と、バイナリデータ生成部22Cとしての機能と、を有して構成されている。なお、エンコーダ部22により行われる符号化処理の具体例、及び、エンコーダ部22の各機能については、後程説明する。また、本実施形態においては、エンコーダ部22の各機能が、例えば、図示しないメモリ等の記憶媒体から読み込んだプログラムを実行することにより実現されるものであってもよい。
以上に述べた構成によれば、例えば、画素データPX0、PX1、PX2及びPX3の4つの画素データがこの順番で取得及び出力されるとともに、FIFOメモリ21が3つの画素データを記録可能な容量を有している場合には、当該4つの画素データの流れを図2のように表すことができる。図2は、実施形態に係る画像処理システムにおける画素データの流れを模式的に示す図である。
画素データPX0は、画素データPX3がFIFOメモリ21に記録されたタイミングにおいてエンコーダ部22へ出力された後、エンコーダ部22の符号化処理によりバイナリデータに変換される。また、画素データPX1は、画素データPX3の次の画素データPX4が記録されるまでの期間において、FIFOメモリ21により保持される。また、画素データPX2は、画素データPX4の次の画素データPX5が記録されるまでの期間において、FIFOメモリ21により保持される。また、画素データPX3は、画素データPX5の次の画素データPX6が記録されるまでの期間において、FIFOメモリ21により保持される。
ストリームバッファ23は、エンコーダ部22から順次出力されるバイナリデータを一時的に格納することができるように構成されている。
メモリコントローラ24は、ストリームバッファ23に格納されたバイナリデータを読み込むとともに、当該読み込んだバイナリデータをDRAM25に順次書き込むための動作を行うように構成されている。
DRAM25には、メモリコントローラ24の動作に応じたバイナリデータが順次書き込まれるように構成されている。また、DRAM25は、CPU26と、ハードウェアエンジン27と、によるデータの読み書きを行うことが可能なメインメモリとして構成されている。
CPU26は、DRAM25に書き込まれたバイナリデータをDRAM25に対する書き込みが行われた順序と同じ順序で読み込むように構成されている。また、CPU26は、DRAM25から読み込んだバイナリデータに対して復号化処理を施すことにより、FIFOメモリ21からエンコーダ部22へ出力される画素データに含まれるデータと同様のデータを取得するように構成されている。すなわち、CPU26は、DRAM25から読み込んだバイナリデータに対して復号化処理を施すことにより画素データを取得するデコーダ部としての機能を有して構成されている。なお、CPU26により行われる復号化処理の具体例については、後程説明する。また、本実施形態においては、CPU26の機能が、例えば、図示しないメモリ等の記憶媒体から読み込んだプログラムを実行することにより実現されるものであってもよい
CPU26は、イベントカメラ1に設けられたイメージセンサの画素数と同数の画素を含む1つの(1フレーム分の)画像に相当する画像データがDRAM25に格納されているか否かを検出するための動作を行うように構成されている。
CPU26は、DRAM25に画像データが格納されていないことを検出した場合、DRAM25から読み込んだバイナリデータを復号化して得られた画素データを用いて新規の画像データを生成するとともに、当該生成した新規の画像データをDRAM25に書き込むための動作を行うように構成されている。
CPU26は、DRAM25に画像データが格納されていることを検出した場合、DRAM25から既存の画像データを読み込むとともに、DRAM25から読み込んだバイナリデータを復号化して得られた画素データに含まれる輝度変化量ΔLを当該既存の画像データに対して適用することにより更新用の画像データを生成するように構成されている。また、CPU26は、前述のように生成した更新用の画像データをDRAM25に書き込むための動作を行うように構成されている。
なお、本実施形態においては、CPU26の代わりに、CPU26と同様の機能を有するDSP(デジタルシグナルプロセッサ)が画像処理装置2に設けられていてもよい。
続いて、本実施形態の作用について説明する。
イベントカメラ1は、イメージセンサのセンサ面に配置された各画素をラスタスキャン順に走査することにより、例えば、時刻t0において、当該イメージセンサに含まれる各画素のうちの輝度の変化が検出された画素P0に対応する画素データPD0を取得するとともに、当該取得した画素データPD0を画像処理装置2へ出力する。また、イベントカメラ1は、イメージセンサのセンサ面に配置された各画素をラスタスキャン順に走査することにより、例えば、時刻t0の次の時刻t1において、当該イメージセンサに含まれる各画素のうちの輝度の変化が検出された画素P1に対応する画素データPD1を取得するとともに、当該取得した画素データPD1を画像処理装置2へ出力する。
FIFOメモリ21は、イベントカメラ1から出力される画素データPD0及びPD1を時系列に記録する。また、FIFOメモリ21は、イベントカメラ1から出力される画素データを順次記録するための動作を行いつつ、画素データPD0及びPD1をエンコーダ部22へ順次出力するための動作を行う。
エンコーダ部22は、イベントカメラ1に設けられたイメージセンサの画素数等に基づき、FIFOメモリ21から出力される画素データPD0に対して符号化処理を施すとともに、当該符号化処理の処理結果として得られたバイナリデータBD0をストリームバッファ23へ出力する。また、エンコーダ部22は、イベントカメラ1に設けられたイメージセンサの画素数等に基づき、FIFOメモリ21から出力される画素データPD1に対して符号化処理を施すとともに、当該符号化処理の処理結果として得られたバイナリデータBD1をストリームバッファ23へ出力する。
ここで、本実施形態のエンコーダ部22により行われる処理の具体例について、図3を参照しつつ説明する。図3は、実施形態に係る画像処理装置において行われる処理の具体例を説明するためのフローチャートである。
なお、以降においては、画素P0の座標値X0及びY0と、当該画素P0における輝度変化量ΔL0と、が画素データPD0に含まれているものとして説明を行う。また、以降においては、画素P1の座標値X1及びY1と、当該画素P1における輝度変化量ΔL1と、が画素データPD1に含まれているものとして説明を行う。また、以降においては、画素データPD0に対応するバイナリデータBD0がストリームバッファ23へ出力された後に、画素データPD1に対応するバイナリデータBD1の生成が行われる場合を例に挙げて説明する。また、以降においては、イベントカメラ1に設けられたイメージセンサのセンサ面における水平方向の画素数PWと、当該センサ面における垂直方向の画素数PHと、がそれぞれ既知の値であるものとして説明を行う。また、以降においては、輝度変化量ΔLが、8ビットの(所定のビット数の)二進数として表されるものとして説明を行う。また、以降においては、イベントカメラ1のイメージセンサに含まれる各画素をラスタスキャン順に1回ずつ走査する際に必要な時間を1フレーム期間と称するものとする。
エンコーダ部22は、画素データPD1に含まれる座標値X1及びY1を下記数式(1)に適用することにより、当該画素データPD1が取得された画素のラスタアドレス値RAを取得するための処理を行う(図3のステップS1)。

RA=Y1×PW+X1 …(1)
上記数式(1)においては、0以上かつ(PW−1)以下の範囲に属する十進数の値が座標値X1として適用される。また、上記数式(1)においては、0以上かつ(PH−1)以下の範囲に属する十進数の値が座標値Y1として適用される。そのため、上記数式(1)を用いて算出されるラスタアドレス値RAは、0以上かつ(PW−1)×(PH−1)以下の範囲に属している。また、上記数式(1)を用いて算出されるラスタアドレス値RAは、イベントカメラ1におけるイメージセンサのセンサ面に配置された各画素に対してラスタスキャン順に割り当てられた値に相当するとともに、画素データPD1が取得された一の画素の位置を表す1次元の値に相当する。
すなわち、エンコーダ部22は、アドレス値取得部22Aとしての機能を具備し、画素データPD1に含まれる座標値(X1,Y1)に対し、ラスタスキャン順及び画素数PWに基づいて設定された所定の変換処理(上記数式(1))を適用することにより、1次元のアドレス値(ラスタアドレス値RA)を取得するように構成されている。
エンコーダ部22は、画素データPD1の次にFIFOメモリ21から出力される画素データにおけるラスタアドレス値を算出するまでの間、図3のステップS1の処理により算出したラスタアドレス値RAを保持する。
エンコーダ部22は、図3のステップS1の処理により算出したラスタアドレス値RAを下記数式(2)に適用して走査距離DAを算出するための処理を行う(図3のステップS2)。なお、下記数式(2)のPAは、画素データPD0に含まれる座標値X0及びY0に対して上記数式(1)を適用することにより得られたラスタアドレス値を表している。

DA=RA−PA …(2)
上記数式(2)を用いて算出される走査距離DAは、イベントカメラ1のイメージセンサに含まれる各画素のうち、第1のタイミングにおいて輝度の変化が検出された第1の画素から、当該第1のタイミングの次の第2のタイミングにおいて輝度の変化が検出された第2の画素までの区間をラスタスキャン順に一画素ずつ辿った場合の距離を表している。そのため、画素データPD0及びPD1が互いに異なる1フレーム期間で取得された場合には、上記数式(2)を用いて算出される走査距離DAが0以下の値になり得る。
すなわち、エンコーダ部22は、走査距離算出部22Bとしての機能を具備し、ラスタアドレス値RA及びPAに基づき、時刻t0において輝度の変化が検出された画素P0から、当該時刻t0の次の時刻t1において輝度の変化が検出された画素P1までの走査距離DAを算出するように構成されている。
エンコーダ部22は、図3のステップS2の処理により算出した走査距離DAが0以下であるか否かに係る判定処理を行う(図3のステップS3)。
エンコーダ部22は、図3のステップS2の処理により算出した走査距離DAが0より大きいとの判定結果を得た(S3:NO)場合に、後述の図3のステップS6の処理を続けて行う。
エンコーダ部22は、図3のステップS2の処理により算出した走査距離DAが0以下であるとの判定結果を得た(S3:YES)場合に、当該走査距離DAを破棄するとともに、図3のステップS1の処理により算出したラスタアドレス値RAを下記数式(3)に適用して走査距離DAを再算出するための処理を行う(図3のステップS4)。

DA=RA+1 …(3)
エンコーダ部22は、図3のステップS4の処理を行った後、所定のビット列を有するエスケープコードを生成してストリームバッファ23へ出力するエスケープ処理をさらに行う(図3のステップS5)。
なお、以降においては、前述のエスケープコードとして、ビット値「1」と、連続する8個のビット値「0」と、を並べた9ビットのビット列「100000000」が生成されるものとして説明を行う。
エンコーダ部22は、図3のステップS2またはステップS4の処理により算出した走査距離DAが1より大きいか否かに係る判定処理を行う(図3のステップS6)。
エンコーダ部22は、図3のステップS2またはステップS4の処理により算出した走査距離DAが1より大きいとの判定結果を得た(S6:YES)場合に、後述の図3のステップS7の処理を続けて行う。また、エンコーダ部22は、図3のステップS2またはステップS4の処理により算出した走査距離DAが1以下であるとの判定結果を得た(S6:NO)場合に、後述の図3のステップS10の処理を続けて行う。
ここで、本実施形態によれば、例えば、PW=1920かつPH=1080である場合において、イベントカメラ1から出力される画素データに含まれる座標値(X,Y)に応じ、図4に示すようなラスタアドレス値RA及び走査距離DAが取得される。なお、図4の各走査距離DAのうち、括弧が付されていないものは図3のステップS2の処理により算出された値を表し、括弧が付されているものは図3のステップS4の処理により再算出された値を表している。図4は、実施形態に係る画像処理装置において行われる処理により得られるラスタアドレス値及び走査距離の一例を示す図である。
図4に示した例によれば、1フレーム期間F1の最初に取得された画素データと、当該1フレーム期間F1の次の1フレーム期間F2の最初に取得された画素データと、当該1フレーム期間F2の次の1フレーム期間F3の最初に取得された画素データと、において、図3のステップS4の処理による走査距離DAの再算出が行われる。
エンコーダ部22は、走査距離DAをNビットの二進数として表すことができるか否かに応じ、当該Nビットに対して追加する追加ビット数Tを設定する処理を行う(図3のステップS7)。なお、本実施形態においては、例えば、N=18に設定されていればよい。
具体的には、エンコーダ部22は、例えば、走査距離DAが2N未満の値である場合には、追加ビット数Tを0に設定する。また、エンコーダ部22は、例えば、走査距離DAが2N以上の値である場合には、2N≦DA<2Mの関係を満たす最小のビット数Mからビット数Nを減じて得られた値を追加ビット数Tとして設定する。
エンコーダ部22は、図3のステップS7の処理により設定した追加ビット数Tに基づき、後述の図3のステップS9においてバイナリデータを生成する際に先頭部分に付与されるヘッダHAのデータを生成するための処理を行う(図3のステップS8)。
具体的には、エンコーダ部22は、ヘッダHAとして、連続するT個のビット値「0」と、2ビットのビット列「01」と、をこの順番で並べたビット列を生成する。そのため、エンコーダ部22は、例えば、T=0の場合には、2ビットのビット列「01」をヘッダHAとして生成する。また、エンコーダ部22は、例えば、T=3の場合には、連続する3個のビット値「0」と、2ビットのビット列「01」と、をこの順番で並べた5ビットのビット列「00001」をヘッダHAとして生成する。
エンコーダ部22は、画素データPD1に対応するバイナリデータBD1として、図3のステップS8の処理により生成したヘッダHAを表す(T+2)ビットのビット列と、走査距離DAを表す(N+T)ビットのビット列と、輝度変化量ΔL1を表す8ビットのビット列と、をこの順番で並べたデータを生成し(図3のステップS9)、当該生成したデータをストリームバッファ23へ出力する処理を行う。
具体的には、エンコーダ部22は、例えば、N=18かつT=0の場合には、ヘッダHAを表す2ビットのビット列「01」と、走査距離DAを表す18ビットのビット列と、輝度変化量ΔL1を表す8ビットのビット列と、をこの順番で並べたバイナリデータBD1を生成し、当該生成したバイナリデータBD1をストリームバッファ23へ出力する。
また、エンコーダ部22は、例えば、N=18かつT=3の場合には、ヘッダHAを表す5ビットのビット列「00001」と、走査距離DAを表す21ビットのビット列と、輝度変化量ΔL1を表す8ビットのビット列と、をこの順番で並べたバイナリデータBD1を生成し、当該生成したバイナリデータBD1をストリームバッファ23へ出力する。
エンコーダ部22は、後述の図3のステップS11においてバイナリデータを生成する際に先頭部分に付与されるヘッダHAのデータを(二進数の)「1」に設定するための処理を行う(図3のステップS10)。
エンコーダ部22は、画素データPD1に対応するバイナリデータBD1として、図3のステップS10の処理により設定したヘッダHAを表すビット値「1」と、輝度変化量ΔL1を表す8ビットのビット列と、をこの順番で並べたデータを生成し(図3のステップS11)、当該生成したデータをストリームバッファ23へ出力する処理を行う。
すなわち、図3のステップS6、ステップS10及びステップS11の処理によれば、画素データPD0及び画素データPD1の2つのデータにおいて互いに隣接するラスタアドレス値が取得された場合には、走査距離DAを表すデータを含まないバイナリデータBD1がストリームバッファ23へ出力される。また、図3のステップS6〜ステップS11の処理によれば、エンコーダ部22は、バイナリデータ生成部22Cとしての機能を具備し、走査距離DAの算出結果に応じて異なるビット数を有するビット列と、輝度変化量ΔL1を表すビット列と、を含むバイナリデータBD1を生成して出力するように構成されている。
メモリコントローラ24は、ストリームバッファ23に格納されたバイナリデータを読み込むとともに、当該読み込んだバイナリデータをDRAM25に順次書き込むための動作を行う。そして、このようなメモリコントローラ24の動作によれば、バイナリデータBD1を含む複数のデータがDRAM25に順次書き込まれる。
CPU26は、DRAM25に書き込まれたバイナリデータをDRAM25に対する書き込みが行われた順序と同じ順序で読み込む。また、CPU26は、DRAM25から読み込んだバイナリデータに対して復号化処理を施すことにより、FIFOメモリ21からエンコーダ部22へ出力される画素データに含まれるデータと同様のデータを取得する。
ここで、本実施形態のCPU26により行われる処理の具体例について、図5等を参照しつつ説明する。図5は、実施形態に係る画像処理装置において行われる処理の具体例を説明するためのフローチャートである。
なお、以降においては、DRAM25に画像データが格納されているものとして説明する。また、以降においては、エンコーダ部22の処理において用いられたビット数N及び画素数PWが、CPU26の処理において既知の値として用いられるものとして説明する。また、以降においては、CPU26によるバイナリデータに対する処理に応じ、当該バイナリデータの先頭ビットが当該バイナリデータに含まれる各ビットの並び順に入れ替わるものとして説明する。また、以降においては、CPU26の処理により、画素データPD1に含まれるデータと同様のデータが取得(復元)される場合を主な例として挙げつつ説明する。
CPU26は、DRAM25からバイナリデータ及び画像データを読み込んだ(図5のステップS31)後、例えば、図6に示すとともに以下に述べる処理を行うことにより、走査距離DAの表現に用いられたビット数Kを特定する(図5のステップS32)。図6は、図5のフローチャートに含まれる一部の処理の具体例を説明するためのフローチャートである。
具体的には、CPU26は、ビット数Kの初期値をN−1に設定した(図6のステップS51)後、現在処理対象となっているバイナリデータの先頭ビットのビット値MSBを取得する処理(図6のステップS52)と、当該バイナリデータを1ビット分シフトする処理(図6のステップS53)と、当該ビット値MSBが「1」であるか否かを判定する処理(図6のステップS54)と、を連続的に行う。
そして、CPU26は、ビット値MSBが「1」ではないとの判定結果を得た場合(S54:NO)に、現在保持しているビット数Kの値に1を加えた(図6のステップS55)後、図6のステップS52からステップS54までの処理を再度行う。
また、CPU26は、ビット値MSBが「1」であるとの判定結果を得た場合(S54:YES)に、現在保持しているビット数Kを走査距離DAの表現に用いられたビット数として特定する。
CPU26は、図5のステップS32の処理を経て得られたビット数K及びバイナリデータに基づき、例えば、図7に示すとともに以下に述べる処理を行うことにより、十進数の走査距離DAを取得する(図5のステップS33)。図7は、図5のフローチャートに含まれる一部の処理の具体例を説明するためのフローチャートである。
具体的には、CPU26は、図5のステップS32の処理を経て得られたビット数Kがビット数N未満であるか否かを判定する処理(図7のステップS61)を行う。
そして、CPU26は、図5のステップS32の処理を経て得られたビット数Kがビット数N未満であるとの判定結果を得た場合(S61:YES)に、十進数の走査距離DAとして1を取得する(図7のステップS62)。
また、CPU26は、図5のステップS32の処理を経て得られたビット数Kがビット数N以上であるとの判定結果を得た場合(S61:NO)に、現在処理対象となっているバイナリデータの先頭からKビット分のビット値を読み込む処理(図7のステップS63)と、当該読み込んだKビット分のビット値に応じた十進数の走査距離DAを取得する処理(図7のステップS64)と、当該バイナリデータを1ビット分シフトする処理(図7のステップS65)と、を連続的に行う。
CPU26は、図5のステップS33の処理を経て得られたバイナリデータに基づき、例えば、図8に示すとともに以下に述べる処理を行うことにより、十進数の輝度変化量ΔL1を取得する(図5のステップS34)。図8は、図5のフローチャートに含まれる一部の処理の具体例を説明するためのフローチャートである。
具体的には、CPU26は、現在処理対象となっているバイナリデータの先頭から8ビット分のビット値を読み込む処理(図8のステップS71)と、当該読み込んだ8ビット分のビット値に応じた十進数の輝度変化量ΔL1を取得する処理(図8のステップS72)と、当該バイナリデータを1ビット分シフトする処理(図8のステップS73)と、を連続的に行う。
CPU26は、図5のステップS34の処理を経て得られた輝度変化量ΔL1が0とは異なる値であるか否かを判定する処理(図5のステップS35)を行う。
そして、CPU26は、図5のステップS34の処理を経て得られた輝度変化量ΔL1が0とは異なる値であるとの判定結果を得た場合(S35:YES)に、後述の図5のステップS36の処理を続けて行う。また、CPU26は、図5のステップS34の処理を経て得られた輝度変化量ΔL1が0であるとの判定結果を得た場合(S35:NO)に、十進数のラスタアドレス値RAとして−1を取得した(図5のステップS39)後、後述の図5のステップS40の処理を続けて行う。
ここで、本実施形態においては、輝度変化量ΔL≠0の場合に限り、イベントカメラ1から画像処理装置2へ画素データが出力される。
そのため、例えば、図5のステップS34の処理を経て得られた輝度変化量ΔL1が図5のステップS35の条件を満たす場合には、図5のステップS33の処理を経て得られた走査距離DAと、当該輝度変化量ΔL1と、が画素データPD1に含まれているデータと同じ値であることが特定される。
また、例えば、図5のステップS34の処理を経て得られた輝度変化量ΔL1が図5のステップS35の条件を満たさない場合には、図5のステップS33の処理を経て得られた走査距離DAが図3のステップS5のエスケープ処理により生成されたエスケープコードにおける先頭のビット値「1」に対応する値であること、及び、当該輝度変化量ΔL1が当該ビット値「1」の直後に位置する8ビットのビット列「00000000」に対応する値であることがそれぞれ特定される。
CPU26は、図5のステップS33の処理を経て得られた走査距離DAと、画素データPD1の1つ前の画素データPD0に対応するラスタアドレス値PAと、を上記数式(2)に適用することにより、当該画素データPD1に対応する十進数のラスタアドレス値RAを取得する(図5のステップS36)。
なお、本実施形態のCPU26は、次のラスタアドレス値を取得するまでの間、図5のステップS36またはステップS39の処理により取得したラスタアドレス値RAを保持するものとする。
CPU26は、図5のステップS36の処理を経て得られたラスタアドレス値RAと、画素数PWと、に基づき、画素データPD1に対応する座標値X1及びY1を取得する(図5のステップS37)。
具体的には、CPU26は、ラスタアドレス値RAを画素数PWで除する演算により得られる商の値を座標値Y1として取得するとともに、当該演算により得られる剰余の値を座標値X1として取得する。
CPU26は、DRAM25から読み込んだ画像データに含まれる各画素の中から、図5のステップS37の処理を経て得られた座標値X1及びY1に対応する画素P1を特定する。また、CPU26は、図5のステップS34の処理を経て得られた輝度変化量ΔL1を画素P1の輝度値に対して適用した(図5のステップS38)後、後述の図5のステップS40の処理を続けて行う。
CPU26は、図5のステップS31において読み込んだバイナリデータの中に未処理のバイナリデータがあるか否かを判定する(図5のステップS40)。
CPU26は、図5のステップS31において読み込んだバイナリデータの中に未処理のバイナリデータがあるとの判定結果を得た場合(S40:YES)に、当該未処理のバイナリデータを用いて図5のステップS32以降の処理を再度行う。
CPU26は、図5のステップS31において読み込んだバイナリデータの中に未処理のバイナリデータがないとの判定結果を得た場合(S40:NO)に、図5の一連の処理を一旦終了する。そして、CPU26は、例えば、図5のステップS40の処理が終了してから一定時間が経過した際に、図5の一連の処理を再度行う。
以上に述べたように、本実施形態によれば、イベントカメラ1から出力される画素データに含まれる座標値(X,Y)に応じ、ラスタアドレス値RA及び走査距離DAが算出されるようにしている。また、以上に述べたように、本実施形態によれば、走査距離DAが1である場合に、当該走査距離DAを表すデータがエンコーダ部22から出力されないようにしている。そのため、本実施形態によれば、例えば、イベントカメラ1から出力される座標値(X,Y)を単に二進数に変換したデータがDRAM25へ転送される場合に比べ、DRAM25へ転送されるデータ転送量を低減させることができる。従って、本実施形態によれば、イベントカメラにより得られたデータをメインメモリへ転送する際のデータ転送量を削減することができる。
なお、本実施形態によれば、イベントカメラ1が、イメージセンサのセンサ面に配置された各画素を、ラスタスキャン順とは異なる走査順に走査するように構成されていてもよい。このような構成に応じた本実施形態の変形例に係る処理等について、以下に説明する。なお、以降においては、既述の動作等を適用可能な部分に関する具体的な説明を適宜省略するものとする。
イベントカメラ1は、イメージセンサのセンサ面に配置された各画素をブロックラスタスキャン順に走査することにより、例えば、時刻t8において、当該イメージセンサに含まれる各画素のうちの輝度の変化が検出された画素P8に対応する画素データPD8を取得するとともに、当該取得した画素データPD8を画像処理装置2へ出力する。また、イベントカメラ1は、イメージセンサのセンサ面に配置された各画素をブロックラスタスキャン順に走査することにより、例えば、時刻t8の次の時刻t9において、当該イメージセンサに含まれる各画素のうちの輝度の変化が検出された画素P9に対応する画素データPD9を取得するとともに、当該取得した画素データPD9を画像処理装置2へ出力する。画素データP8及びPD9は、例えば、後述の図9に示すような走査方法で取得される画素データに含まれている。
前述のブロックラスタスキャン順は、例えば、イベントカメラ1におけるイメージセンサのセンサ面に配置された各画素を2c×2cのサイズを有するZ(Z≧2)個の矩形のブロックに分割した状態において、当該Z個のブロックを走査する際の順番と、当該Z個のブロックのうちの一のブロックに含まれる2c×2c個の画素を走査する際の順番と、がそれぞれラスタスキャン順に設定された走査順として表される。そのため、前述のブロックラスタスキャン順によれば、イベントカメラ1におけるイメージセンサのセンサ面に配置された各画素が、例えば、図9に示すような順番で走査される。なお、前述のブロックラスタスキャン順においては、図9に示すように、Z個のブロックを走査する際の順番に応じたブロック番号がブロック毎に予め付与されているものとする。また、前述のブロックラスタスキャン順においては、図9に示すように、Z個のブロックのうちの一のブロックに含まれる2c×2c個の画素を走査する際の順番に応じた画素番号が画素毎に予め付与されているものとする。図9は、イベントカメラにおけるイメージセンサのセンサ面に配置された各画素をブロックラスタスキャン順に走査した場合の例を説明するための図である。
画素データPD8には、Z個のブロックのうちの画素P8が属する一のブロックの位置を特定可能なブロック番号B8(1≦B8≦Z)と、当該一のブロックにおける画素P8の位置を特定可能な画素番号I8(1≦I8≦2c×2c)と、当該画素P8において生じた輝度の変化の大きさを示す情報に相当する輝度変化量ΔL8と、が含まれている。また、画素データPD9には、Z個のブロックのうちの画素P9が属する一のブロックの位置を特定可能なブロック番号B9(1≦B9≦Z)と、当該一のブロックにおける画素P9の位置を特定可能な画素番号I9(1≦I9≦2c×2c)と、当該画素P9において生じた輝度の変化の大きさを示す情報に相当する輝度変化量ΔL9と、が含まれている。
すなわち、本変形例においては、被写体における輝度の変化が検出された画素P8の画素位置を示す2次元のアドレス値として、ブロック番号B8及び画素番号I8が取得される。また、本変形例においては、被写体における輝度の変化が検出された画素P9の画素位置を示す2次元のアドレス値として、ブロック番号B9及び画素番号I9が取得される。
エンコーダ部22は、図3のステップS1に代わる処理として、画素データPD8に含まれるブロック番号B8及び画素番号I8を下記数式(4)に適用することにより、画素P8の位置を表す1次元のアドレス値に相当するブロックラスタアドレス値SA8を取得するための処理を行う。また、エンコーダ部22は、図3のステップS1に代わる処理として、画素データPD9に含まれるブロック番号B9及び画素番号I9を下記数式(5)に適用することにより、画素P9の位置を表す1次元のアドレス値に相当するブロックラスタアドレス値SA9を取得するための処理を行う。

SA8={(B8−1)×2c×2c}+I8 …(4)
SA9={(B9−1)×2c×2c}+I9 …(5)
エンコーダ部22は、図3のステップS2に代わる処理として、図3のステップS1により算出したブロックラスタアドレス値SA8及びSA9を下記数式(6)に適用して走査距離DBを算出するための処理を行う。

DB=SA9−SA8 …(6)
上記数式(6)を用いて算出される走査距離DBは、イベントカメラ1のイメージセンサに含まれる各画素のうち、第1のタイミングにおいて輝度の変化が検出された第1の画素から、当該第1のタイミングの次の第2のタイミングにおいて輝度の変化が検出された第2の画素までの区間をブロックラスタスキャン順に一画素ずつ辿った場合の距離を表している。
エンコーダ部22は、上記数式(6)により算出した走査距離DBを走査距離DAの代わりに用い、図3のステップS3以降の処理と同様の処理を行う。
本変形例に係る処理によれば、例えば、輝度の変化が生じた被写体のサイズがZ個のブロックのうちの一のブロック内に収まるサイズであるような場合に、図3のステップS7の処理により設定される追加ビット数Tを0にすることができる。そのため、本変形例に係る処理によれば、ブロックラスタスキャン順に走査される各ブロックのサイズ及び個数を適切に設定することにより、上記数式(2)により算出される走査距離DAを用いて処理を行った場合に比べ、DRAM25へ転送されるデータ転送量をさらに低減させることができる。
本発明の実施形態を説明したが、これらの実施形態は、例として示したものであり、本発明の範囲を限定することは意図していない。これら新規の実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 イベントカメラ
2 画像処理装置
21 FIFOメモリ
22 エンコーダ部
23 ストリームバッファ
24 メモリコントローラ
25 DRAM
26 CPU
27 ハードウェアエンジン
101 画像処理システム

Claims (8)

  1. イメージセンサのセンサ面に格子状に配置された複数の画素を所定の走査順に走査することにより、被写体における輝度の変化が検出された画素毎に、前記センサ面における画素位置を示す2次元のアドレス値と、輝度変化量と、を含む画素データを取得するように構成されたカメラと併用される画像処理装置であって、
    前記画素データに含まれる前記2次元のアドレス値に対し、前記所定の走査順及び前記センサ面における画素数に基づいて設定された所定の変換処理を適用することにより、1次元のアドレス値を取得するアドレス値取得部と、
    前記アドレス値取得部により取得された前記1次元のアドレス値に基づき、前記複数の画素のうち、第1のタイミングにおいて輝度の変化が検出された第1の画素から、前記第1のタイミングより後の第2のタイミングにおいて輝度の変化が検出された第2の画素までの走査距離を算出する走査距離算出部と、
    前記走査距離算出部による前記走査距離の算出結果に応じて異なるビット数を有するビット列と、前記輝度変化量を表すビット列と、を含むバイナリデータを生成して出力するバイナリデータ生成部と、
    を有することを特徴とする画像処理装置。
  2. 前記走査距離算出部は、前記第2の画素に対応する第2の画素データに含まれる前記2次元のアドレス値に対して前記所定の変換処理を適用することにより得られた前記1次元のアドレス値に相当する第2のアドレス値から、前記第1の画素に対応する第1の画素データに含まれる前記2次元のアドレス値に対して前記所定の変換処理を適用することにより得られた前記1次元のアドレス値に相当する第1のアドレス値を減じる第1の計算を行うことにより、前記走査距離を算出する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記走査距離算出部は、前記第1の計算を行って得られた前記走査距離の算出結果が0以下の値である場合に、前記第2のアドレス値に対して1を加える第2の計算を行うことにより、前記走査処理を再算出する
    ことを特徴とする請求項2に記載の画像処理装置。
  4. 前記バイナリデータ生成部は、前記第1の計算または前記第2の計算を行って得られた前記走査距離の算出結果が1である場合に、前記第2の画素データに対応する前記バイナリデータとして、ヘッダを表すビット値「1」と、前記輝度変化量を表す所定のビット数のビット列と、をこの順番で並べたデータを生成する
    ことを特徴とする請求項3に記載の画像処理装置。
  5. 前記バイナリデータ生成部は、前記第1の計算または前記第2の計算を行って得られた前記走査距離の算出結果が1より大きい場合に、前記走査距離をNビットの二進数として表すことができるか否かに応じ、前記Nビットに対して追加する追加ビット数Tを設定するとともに、連続するT個のビット値「0」と、2ビットのビット列「01」と、をこの順番で並べたヘッダを生成する
    ことを特徴とする請求項3に記載の画像処理装置。
  6. 前記バイナリデータ生成部は、前記第2の画素データに対応する前記バイナリデータとして、前記ヘッダを表す(T+2)ビットのビット列と、前記走査距離を表す(N+T)ビットのビット列と、前記輝度変化量を表す所定のビット数のビット列と、をこの順番で並べたデータを生成する
    ことを特徴とする請求項5に記載の画像処理装置。
  7. 前記所定の走査順がラスタスキャン順である
    ことを特徴とする請求項1に記載の画像処理装置。
  8. 前記所定の走査順がブロックラスタスキャン順である
    ことを特徴とする請求項1に記載の画像処理装置。
JP2019168847A 2019-09-17 2019-09-17 画像処理装置 Pending JP2021048456A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019168847A JP2021048456A (ja) 2019-09-17 2019-09-17 画像処理装置
US16/811,434 US11044424B2 (en) 2019-09-17 2020-03-06 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019168847A JP2021048456A (ja) 2019-09-17 2019-09-17 画像処理装置

Publications (1)

Publication Number Publication Date
JP2021048456A true JP2021048456A (ja) 2021-03-25

Family

ID=74868731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019168847A Pending JP2021048456A (ja) 2019-09-17 2019-09-17 画像処理装置

Country Status (2)

Country Link
US (1) US11044424B2 (ja)
JP (1) JP2021048456A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022220049A1 (ja) * 2021-04-13 2022-10-20 株式会社ソニー・インタラクティブエンタテインメント システム、情報処理方法および情報処理プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210000985A (ko) * 2019-06-26 2021-01-06 삼성전자주식회사 비전 센서, 이를 포함하는 이미지 처리 장치 및 비전 센서의 동작 방법
JP7344188B2 (ja) * 2020-09-18 2023-09-13 株式会社東芝 画像処理装置、及び画像処理システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001197479A (ja) 2000-01-13 2001-07-19 Victor Co Of Japan Ltd 差分画像処理方法および差分画像処理装置
JP2006107060A (ja) 2004-10-04 2006-04-20 Sharp Corp 入退室検知装置
JP4845801B2 (ja) * 2007-04-26 2011-12-28 キヤノン株式会社 画像処理装置及びメモリのアクセス制御方法
JP6266946B2 (ja) 2013-10-29 2018-01-24 セコム株式会社 監視カメラ及び画像監視装置
US10582196B2 (en) * 2017-06-30 2020-03-03 Intel Corporation Generating heat maps using dynamic vision sensor events

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022220049A1 (ja) * 2021-04-13 2022-10-20 株式会社ソニー・インタラクティブエンタテインメント システム、情報処理方法および情報処理プログラム

Also Published As

Publication number Publication date
US11044424B2 (en) 2021-06-22
US20210084242A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
JP2021048456A (ja) 画像処理装置
JP6216229B2 (ja) 撮像素子及び撮像システム
JP2005065227A (ja) 画像処理方法、プログラム、記憶媒体及び装置
US20190087945A1 (en) Device for recording information about defective pixels, and defective pixel value correction device and method
JP4892869B2 (ja) 画像圧縮装置、画像圧縮プログラム、電子カメラ、画像伸張装置、及び画像伸張プログラム
JP4574144B2 (ja) デジタルクランプ装置、デジタルクランプ方法、及びプログラム及び記憶媒体
JP2023553517A (ja) イベントベースのイメージセンサを動作させるためのデジタルイベント符号化
JP6726160B2 (ja) 撮像装置、撮像システム、信号処理装置及び信号処理方法
JP2006345321A (ja) データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
JP2007053536A (ja) 画像信号の符号化処理装置におけるラスタ/ブロック変換用のバッファメモリシステム
JP7175384B2 (ja) 圧縮装置、圧縮方法、および圧縮プログラム
JP4493551B2 (ja) データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
JP2013201562A (ja) 画像圧縮装置、画像処理システム、及び画像圧縮方法
TW201320738A (zh) 壞點修正方法與裝置
JP3943747B2 (ja) 画像処理装置および多値化処理方法
JP2017228821A (ja) 画像処理装置および画像処理方法
JP2005012496A (ja) 適応型可変長符号化装置、適応型可変長符号化方法及び適応型可変長符号化プログラム
JP2007042141A (ja) デジタル情報坦体
GB2617878A (en) Halftone secret sharing and extracting method based on optimal data allocation
JP5505639B2 (ja) 撮像装置の調整方法及び撮像装置
JP3179823B2 (ja) 画像処理装置
KR940001831B1 (ko) 캠코더의 화상떨림 보상방법 및 장치
JP2013058825A (ja) 情報処理装置及び情報処理プログラム
JPS63151269A (ja) 適応形データ削減装置
JP2005130345A (ja) 映像信号および静止画像の符号化方法