JP2013545198A - 複数のプロセッサを使用した並列画像処理 - Google Patents

複数のプロセッサを使用した並列画像処理 Download PDF

Info

Publication number
JP2013545198A
JP2013545198A JP2013538814A JP2013538814A JP2013545198A JP 2013545198 A JP2013545198 A JP 2013545198A JP 2013538814 A JP2013538814 A JP 2013538814A JP 2013538814 A JP2013538814 A JP 2013538814A JP 2013545198 A JP2013545198 A JP 2013545198A
Authority
JP
Japan
Prior art keywords
image data
processors
image
processor
segments
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
Application number
JP2013538814A
Other languages
English (en)
Other versions
JP2013545198A5 (ja
JP5654134B2 (ja
Inventor
ホワン、ハウ
チェウン、ジョセフ
ゴマ、セルジウ・アール.
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2013545198A publication Critical patent/JP2013545198A/ja
Publication of JP2013545198A5 publication Critical patent/JP2013545198A5/ja
Application granted granted Critical
Publication of JP5654134B2 publication Critical patent/JP5654134B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/45Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from two or more image sensors being of different type or operating in different modes, e.g. with a CMOS sensor for moving images in combination with a charge-coupled device [CCD] for still images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

複数のプロセッサを使用した並列画像処理のための電子機器を開示する。電子機器は、画像データを提供する複数のイメージセンサを備える。電子機器はまた、セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成する複数のプロセッサを備える。各プロセッサは、イメージセンサのうちの1つに専用である。マルチプルプロセッサインターフェースもまた備わっている。マルチプルプロセッサインターフェースは、画像データをプロセッサにマッピングし、画像データをセグメントに区分して、セグメントに区分された画像データを生成し、セグメントに区分された画像データをプロセッサのクロックレートに同期させる。
【選択図】 図1

Description

本開示は、一般的に、電子機器に関する。さらに詳細には、本開示は、複数のプロセッサを使用した並列画像処理に関する。
背景
過去数十年、電子機器の使用は、一般的になってきた。特に、電子技術の進歩は、ますます複雑化し有用性を増している電子機器のコストを削減してきた。コストの削減および消費者の需要は、電子機器が現在の社会において事実上ユビキタスになるように電子機器の使用を激増させた。電子機器の使用が拡大するにつれ、電子機器の新しい改善された特徴に対する需要も拡大した。より詳細には、より迅速に、より効率的に、またはより高い品質で機能を実行する電子機器が、求められることが多い。
いくつかの機能は、所望の時間量で完了するために、大量の処理リソースを必要とするデータ集中型(例えば、画像処理)であるかもしれない。しかしながら、テレビジョン、スマートフォン、コンピュータ、カメラ、および音楽プレーヤーのような電子機器は、それらが、ある機能をいかに速く実行できるかを決定する処理制約を有している。さらに、移動電話機またはデジタルカメラのようなこれらの電子機器のうちのいくつかは、それらがバッテリーに記憶している電力の量によって制限されている。より高い品質のデータ集中機能を提供しながら、処理効率を向上させ、電力消費を減少させる電子機器を経済的に設計して製造することは難しいかもしれない。
先の議論からわかるように、電子機器の処理能力および/または効率を向上させるのは有益であるかもしれない。電子機器の能力および/または効率を向上させるシステムおよび方法をここでは開示する。
概要
複数のプロセッサを使用した並列画像処理のための電子機器が開示されている。電子機器は、画像データを提供する複数のイメージセンサと、セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成する複数のプロセッサとを備える。複数のプロセッサの各プロセッサは、複数のイメージセンサのうちの1つに専用である。電子機器はまた、マルチプルプロセッサインターフェースを備える。マルチプルプロセッサインターフェースは、画像データを複数のプロセッサにマッピングし、画像データをセグメントに区分してセグメントに区分された画像データを生成し、セグメントに区分された画像データを複数のプロセッサのクロックレートに同期させる。
電子機器は、処理された、セグメントに区分された画像データを結合して、処理された画像を生成する結合モジュールも備え得る。複数のプロセッサのうちの少なくとも1つのプロセッサは、少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理し得る。マルチプルプロセッサインターフェースは、複数のプロセッサから、画像データの処理のためにプロセッサを動的に追加し得る。画像データの処理のためにプロセッサを動的に追加することは、作業負荷に基づき得る。
マルチプルプロセッサインターフェースは、画像データをセグメントに区分するのが有益であるか否かを決定し得る。各プロセッサは、マルチプルプロセッサインターフェースが、画像データをセグメントに区分するのは有益でないと決定した場合に、各プロセッサに専用であるイメージセンサからの画像データのみを処理し得る。マルチプルプロセッサインターフェースは、セグメントに区分されているなら、画像データをより速く処理できる場合に、画像データをセグメントに区分するのが有益であると決定し得る。マルチプルプロセッサインターフェースは、複数のプロセッサのうちの少なくとも1つが、画像データを各個で処理する能力がない場合に、画像データをセグメントに区分するのは有益であると決定し得る。マルチプルプロセッサインターフェースは、セグメントに区分されているなら、画像データをより少ない電力を使用して処理できる場合に、画像データをセグメントに区分するのは有益であると決定し得る。
マルチプルプロセッサインターフェースは、画像データを複数のプロセッサにマッピングするためのマッピングを決定し得る。マルチプルプロセッサインターフェースは、画像データの区分け(segmentation)を決定し得る。複数のプロセッサのうちの少なくとも1つは、複数のプロセッサのうちの別のものとは異なる能力を有し得る。複数のイメージセンサのうちの少なくとも1つは、複数のイメージセンサのうちの別のものとは異なる能力を有し得る。
複数のプロセッサは、画像データを各個で処理する能力がないかもしれない。セグメントに区分された画像データのセグメントは、オーバーラップし得る。複数のプロセッサは、セグメントに区分された画像データを、リアルタイムで並列に処理し得る。電子機器は、ワイヤレス通信デバイスであり得る。複数のプロセッサは、イメージシグナルプロセッサ(ISP)であり得る。電子機器は、画像データが処理の前に記憶されないように、画像データをストリーミングし得る。結合モジュールは、出力バッファを備え得る。結合モジュールは、出力インターフェースおよび出力バッファを備え得る。
複数のプロセッサを使用した並列画像処理のための方法もまた、開示されている。方法は、複数のイメージセンサを使用して、画像データを電子機器に提供することと、画像データを複数のプロセッサにマッピングすることとを含む。各プロセッサは、複数のイメージセンサのうちの1つに専用である。方法はまた、画像データをセグメントに区分して、セグメントに区分された画像データを生成することと、セグメントに区分された画像データを複数のプロセッサのクロックレートに同期させることと、セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成することとを含む。
複数のプロセッサを使用した並列画像処理のためのコンピュータプログラム製品もまた、開示されている。コンピュータプログラム製品は、非一過性のコンピュータ読取可能媒体上に命令を有している。命令は、複数のイメージセンサを使用して、画像データを提供するためのコードと、画像データを複数のプロセッサにマッピングするためのコードとを含む。各プロセッサは、複数のイメージセンサのうちの1つに専用である。命令は、さらに、画像データをセグメントに区分して、セグメントに区分された画像データを生成するためのコードと、セグメントに区分された画像データを複数のプロセッサのクロックレートに同期させるためのコードと、セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成するためのコードとを含む。
複数のプロセッサを使用した並列画像処理のための装置もまた、開示されている。装置は、複数のイメージセンサを使用して、画像データを提供する手段と、画像データを複数のプロセッサにマッピングする手段とを備える。各プロセッサは、複数のイメージセンサのうちの1つに専用である。装置は、さらに、画像データをセグメントに区分して、セグメントに区分された画像データを生成する手段と、セグメントに区分された画像データを複数のプロセッサのクロックレートに同期させる手段と、セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成する手段とを備える。
図1は、複数のプロセッサを使用した並列画像処理のためのシステムおよび方法を実現し得る、電子機器の1つのコンフィギュレーションを図示したブロック図である。 図2は、複数のプロセッサを使用して、画像を並列処理するための方法の1つのコンフィギュレーションを図示したフロー図である。 図3は、複数のプロセッサを使用した並列画像処理のための方法のより詳細なコンフィギュレーションを図示したフロー図である。 図4は、複数のプロセッサを使用した並列画像処理の1つの例を図示したブロック図である。 図5は、複数のプロセッサを使用した並列画像処理の別の例を図示したブロック図である。 図6は、マルチプルプロセッサインターフェースの1つのコンフィギュレーションに関するさらなる詳細を図示したブロック図である。 図7は、画像データは区分けの1つの例を図示した図である。 図8は、電子機器で利用され得るさまざまなコンポーネントを図示する。 図9は、ワイヤレス通信デバイス中で利用され得るさまざまなコンポーネントを図示する。
詳細な説明
先に論じたように、電子機器に関する向上した能力は、有益であり、望ましい。特に、より高いフレーム/秒(FPS)処理および/またはより大きなメガピクセル(MP)センサをサポートを有するイメージセンサモジュールは、有益である。例えば、より大きなMPセンサは、より高い解像度またはより精細なディテールを有する画像を取り込むことができる。さらに、電子機器におけるより高いFPSサポートは、よりスムーズなビデオの取り込みを可能にする。しかしながら、より大きなMPセンサおよび/またはより高いFPSサポートは、より大きな処理スループットを必要とするかもしれない。例えば、イメージシグナルプロセッサ(ISP)に関する処理スループットは、12MPセンサのための30FPS出力レートをサポートするためにかなり増加する必要があるかもしれない。
処理スループットのかなりの増加を伴うイメージシグナルプロセッサ(ISP)の設計は、時間がかかり、非常にコストもかかる。しかしながら、ここで開示するシステムおよび方法は、所望のスループットを達成するために、2つ以上の“標準品の(off-the-shelf)”イメージシグナルプロセッサ(ISP)モジュールの組み合わせにより、並列に処理できるようになる。2つ以上のイメージシグナルプロセッサ(ISP)モジュールが、いくつかの電子機器で既に使用されていることから、ここで開示するシステムおよび方法は特に有益であるかもしれない。これらの電子機器のうちのいくつかは、ステレオ(例えば、3次元(3D))ビデオのために、または、メインカメラと補助的なカメラとが含まれるテレビ会議アプリケーションのために、使用される、各カメラ用のイメージシグナルプロセッサ(ISP)を有する2つのカメラを備えていてもよい。大きな処理スループットを達成するために、ここで開示するシステムおよび方法を使用して、これらの異なるカメラモジュールを組み合わせることができる。すなわち、ここで開示するシステムおよび方法を実現する電子機器は、並列処理のために、画像データを動的におよび任意に区分(partition)してもよい。このアプローチの1つの利点は、既存のイメージシグナルプロセッサ(ISP)コアを使用して、より大きなスループットパイプラインを再設計する必要なく、所望の性能を達成できるということである。例えば、1つのコンフィギュレーションでは、N個のプロセッサを使用して、M個のセンサの出力を処理するように、ここで開示するシステムおよび方法が適用されてもよく、ここで、M<Nである。
“結合する”、“結合”、“結合された”という用語、または、ここで使用されるような単語“結合”の他のバリエーションは、間接的な接続または直接的な接続のいずれかを示してもよいことに留意すべきである。例えば、第1のコンポーネントが第2のコンポーネントに“結合されている”場合に、第1のコンポーネントは、第2のコンポーネントに間接的に接続されるか、または、第2のコンポーネントに直接的に接続されるかのいずれかであってもよい。ここで使用されるような、“複数の”という用語は、2つ以上のことを指す。例えば、複数のコンポーネントは、2つ以上のコンポーネントを示す。
さまざまなコンフィギュレーションは、ここで図を参照して説明する。これらの図では、同一の参照番号は、機能的に類似したエレメントを示してもよい。ここでの図において概して説明し、図示するシステムおよび方法は、幅広いさまざまなコンフィギュレーションで配置および設計できる。したがって、図に表すような、いくつかのコンフィギュレーションについての以下のより詳細な説明は、特許請求の範囲に記載された範囲を制限することを意図したものではなく、単にシステムおよび方法を表したものにすぎない。
図1は、複数のプロセッサを使用した並列画像処理のためのシステムおよび方法を実現し得る、電子機器102の1つのコンフィギュレーションを図示したブロック図である。電子機器102は、1つ以上のイメージセンサ104a〜nと、2つ以上のプロセッサ120a〜nとを備える。電子機器102は、同じ数または異なる数のイメージセンサ104a〜nとプロセッサ102a〜nとを備え得る。イメージセンサ104a〜nの例は、電荷結合素子(CCD)センサと相補形金属酸化膜半導体(CMOS)センサとを含む。プロセッサ120a〜nの例は、専用イメージシグナルプロセッサ(ISP)と、プロセッサのソフトウェア実現とを含む。例えば、プロセッサA 120aは、イメージセンサA 104aに専用であり、プロセッサB 120bは、イメージセンサB 104bに専用である。すなわち、イメージセンサA 104aおよびプロセッサA 120aは、センサ−プロセッサ専用(sensor-processor dedication)A 106aを共有し、イメージセンサB 104bおよびプロセッサB 120bは、センサ−プロセッサ専用B 106bを共有し、イメージセンサN 104nとプロセッサN 120nとによって共有されるセンサ−プロセッサ専用N 106nまで続く。センサ−プロセッサ専用106a〜nは、本システムおよび方法が使用されないときに、各プロセッサ120a〜nが、特定のイメージセンサ104a〜nからの画像データのみを処理すること、あるいは、各プロセッサ120a〜nが、特定のイメージセンサ104a〜nからの画像データを処理するように設計されたことを示すかもしれない。例えば、イメージセンサA 104aおよびプロセッサA 120aは、電子機器102で使用するための単一のモジュールとして、製造および/またはパッケージ化されてもよい。この組み合わされたイメージセンサ104/プロセッサ120モジュールは、“標準品の”パッケージであってもよく、ここで、1つ以上のプロセッサ120a〜nは、1つ以上のイメージセンサ104a〜nに専用である106。
ここで使用するような、“専用プロセッサ”または、“センサ−プロセッサ専用”を有するプロセッサは、ここでのシステムおよび方法が使用されないときに、プロセッサが、特定のイメージセンサからの画像データのみを処理することを示す。このプロセッサ専用は、異なるタイプの専用を含んでもよい。包含的な専用は、特定のプロセッサが、1つのイメージセンサからのデータのみを処理することを意味するが、1つ以上の追加のプロセッサが、そのイメージセンサに専用であってもよく、そのイメージセンサからの画像データを処理してもよい。これらの包含的な専用プロセッサは、ここで開示するシステムおよび方法が使用されないときに、そのイメージセンサからのデータのみを処理するだろう。例えば、2つのプロセッサは、ここでのシステムおよび方法が使用されないときに、それぞれ、単一のイメージセンサに専用であってもよく、それぞれが、単一のイメージセンサからのデータを処理する。例えば、デュアルプロセッサは、1つの特定のイメージセンサからのデータのみを処理するように特に設計されていてもよい。排他的な専用は、プロセッサが、ここでのシステムおよび方法が使用されないときに、特定のイメージセンサからの画像データのみを処理し、プロセッサは、その特定のイメージセンサからのデータを処理する唯一のプロセッサであることを意味する。ここで使用するような用語“専用プロセッサ”、“センサ−プロセッサ専用”、および、他のバリエーションは、包含的な専用および排他的な専用の双方を開示する。1つのコンフィギュレーションでは、1つ以上のプロセッサ120は、それぞれ、イメージセンサ104に包含的に専用である。別のコンフィギュレーションでは、1つ以上のプロセッサ120は、それぞれ、イメージセンサ104に排他的に専用である。ここで開示するシステムおよび方法は、包含的に専用のプロセッサ、排他的に専用のプロセッサ、および/または、その双方に適用されてもよい。
プロセッサ120a〜nは、画像処理動作を実行する。画像処理動作の例は、切り取り(cropping)、(例えば、異なる解像度への)スケーリング、画像フォーマット変換、カラー補間、カラー処理、画像フィルタリング(例えば、空間画像フィルタリング)、レンズアーティファクトまたは欠陥の補正等を含む。プロセッサ120a〜nのそれぞれが、異なる処理能力を有していてもよい。例えば、プロセッサA 120aは、プロセッサB 120bより高いクロックレートで画像データを処理する。同様に、イメージセンサ104a〜nのそれぞれが、異なる能力を有していてもよい。例えば、イメージセンサA 104aは、イメージセンサB 104bより高いフレームレートおよび/または解像度で、画像データを提供してもよい。
ここで開示するシステムおよび方法にしたがうと、マルチプルプロセッサインターフェース108は、たとえ、2つ以上のプロセッサ120a〜nが、特定のイメージセンサ104a〜nに専用である106a〜n場合でさえ、2つ以上のプロセッサ120a〜nの処理能力を組み合わせてもよい。例えば、マルチプルプロセッサインターフェース108は、インターフェイシング118を使用して、1つ以上のイメージセンサ104a〜nからの画像データを、1つ以上のプロセッサ120a〜nにマッピングし得る。いくつかのコンフィギュレーションでは、マルチプルプロセッサインターフェース108およびインターフェイシング118は、単一のモジュールである。他のコンフィギュレーションでは、マルチプルプロセッサインターフェース108およびインターフェイシング118は、別々のものである。1つのコンフィギュレーションでは、ハードウェアコンポーネント(例えば、1つ以上のイメージセンサ104a〜nからの画像データを1つ以上のプロセッサ120a〜nにマッピングするための、スイッチおよび/またはマルチプレクサ)として、マルチプルプロセッサインターフェース108および/またはインターフェイシング118が実現される。別のコンフィギュレーションでは、(例えば、1つ以上のイメージセンサ104a〜nからの画像データを、1つ以上のプロセッサ120a〜nに、アドレス指定(address)またはマッピングするための)ソフトウェアとして、マルチプルプロセッサインターフェース108および/またはインターフェイシング118が実現される。さらに別のコンフィギュレーションでは、(例えば、1つ以上のイメージセンサ104a〜nからの画像データを1つ以上のプロセッサ120a〜nにマッピングするために使用される)ハードウェアとソフトウェアの組み合わせとして、マルチプルプロセッサインターフェース108および/またはインターフェイシング118が実現される。したがって、マルチプルプロセッサインターフェース108および/またはインターフェイシング118は、マッピング112機能を提供してもよい。
マルチプルプロセッサインターフェース108および/またはインターフェイシング118は、セグメント化114および同期116のような他の機能を提供する。セグメント化モジュール114は、1つ以上のイメージセンサ104a〜nからの画像データをセグメントに区分する。各画像データセグメントは、処理のためにプロセッサ120a〜nに送られる。同期モジュール116は、画像データレートと、プロセッサ120a〜nのクロックレートとを同期させて、プロセッサ120a〜nが、セグメントに区分された画像を処理するのを可能にする。これにより、並列におよび/またはリアルタイムで画像処理が起こるのを可能にする。処理がリアルタイムで起こることから、画像データまたは画像セグメントは、処理後まで、バッファまたはメモリに記憶されないかもしれない。すなわち、画像データおよび/または画像データセグメントは、処理後まで、リアルタイムで連続してストリーミングされてもよい。画像データレートは、(例えば、各イメージセンサ104a〜nに対して)同じであってもよく、または、異なっていてもよい。同様に、プロセッサ120a〜nのクロックレートは、同じであってもよく、または、異なっていてもよい。
マルチプルプロセッサインターフェース108に含まれるコントローラ110は、マルチプルプロセッサインターフェース108および/またはインターフェイシング118の動作を制御するために使用される、ハードウェアならびに/あるいはソフトウェアモジュールであってもよい。1つのコンフィギュレーションでは、コントローラ110は、マッピング112、セグメント化114、および/または、同期116の機能を制御するためのハードウェアモジュールとして実現される。別のコンフィギュレーションでは、コントローラ110は、マッピング112、セグメント化114、および/または、同期116を制御するために使用される命令を含む、ソフトウェアモジュールとして実現される。さらに別のコンフィギュレーションでは、コントローラ110モジュールは、ハードウェアとソフトウェアの組み合わせとして実現される。
コントローラ110は、マッピング112、セグメント化114、および/または、同期116の機能を制御する。例えば、コントローラ110は、1つ以上のイメージセンサ104a〜nからの画像データを1つ以上のプロセッサ120a〜nにどのようにマッピングするか、画像データをどのようにセグメント化114するか、および/または、画像データレートとプロセッサ120a〜nのクロックレートとをどのように同期116させるかを決定してもよい。コントローラ110はまた、セグメント化114(例えば、並列処理)が特定のケースで有益であるか否かを決定し得る。この決定は、現在のイメージセンサ104a〜nならびにプロセッサ120a〜nの使用率(usage)、所望の画像取り込みの解像度および/またはフレームレート、並列処理あり/なしで画像データを処理するのに必要とされる時間の量、イメージセンサ104a〜nおよび/またはプロセッサa〜nの能力、ならびに/あるいは、電力消費等のような、考慮に基づいていてもよい。
結合モジュール122は、(“処理された画像セグメント”または“処理されたセグメント”とも呼ばれる)処理された画像データセグメントそれぞれを結合する。結合モジュール122は、出力インターフェースおよび/または出力バッファを備えてもよい。1つのコンフィギュレーションでは、結合モジュール122は、処理された画像セグメントを出力バッファに送る前に、処理された画像セグメントを結合する出力インターフェースを備える。別のコンフィギュレーションでは、結合モジュール122は、処理された画像セグメントを直接出力バッファに送る出力インターフェースを備える。さらに別のコンフィギュレーションでは、結合モジュール122は、出力インターフェースを備えていないが、処理された画像セグメントがプロセッサ120a〜nのそれぞれから送られる出力バッファを備える。
例えば、高解像度の画像が、イメージセンサA 104aによって取り込まれたと仮定する。また、コントローラ110が、画像データセグメント化114は有益であると決定したと仮定する。マッピングモジュール112は、画像データをマルチプルプロセッサ120a〜nにマッピングし、画像データがセグメント化114され、いいかえれば、複数のセグメントまたはスライスに分割されて、各プロセッサ120a〜nのクロックレートに同期116される。各プロセッサ120a〜nは、画像データのそのそれぞれのセグメントを処理し、処理された画像セグメントを結合モジュール122に出力する。結合モジュール122は、処理された画像セグメントを結合して、処理された画像124を生成する。この手順は、複数の処理された画像群124を生成するように続いてもよい。
電子機器102(例えば、コントローラ110)が、並列処理のために画像データをセグメントに区分することが有益でないと決定した場合に、電子機器102は、画像データを、専用でないプロセッサ120にマッピングしなくてもよい。すなわち、そのケースでは、電子機器102は、イメージセンサ104a〜nからの画像データを専用プロセッサ120にのみマッピングしてもよい(例えば、通常の動作を実行してもよい)。要約すると、プロセッサ120a〜nは、個別に使用されてもよく(例えば、各プロセッサ120a〜nは、特定のイメージセンサ104a〜nに専用であり)、または、画像を処理してより大きなスループットを達成するために並列に使用されてもよい。一般に、N個のプロセッサ120a〜nが使用されてもよく、ここで、N≧2である。したがって、画像データは、プロセッサ120a〜nによる並列リアルタイム処理のために、N個のストリップ(例えば、垂直または水平)または領域に分けられてもよい。1つのコンフィギュレーションでは、イメージセンサ104は、ラスタスキャン順に画像データを送り出す。したがって、画像データは、垂直にセグメントに区分されてもよい。例えば、画像データをラインで受信したときに、第1のグループのピクセルが、1つのプロセッサに送られてもよく、第2のグループのピクセルが、第2のプロセッサに送られる等してもよい。
複数のプロセッサ120を使用した並列画像処理のさらに詳細な例は、以下の通りである。この例では、電子機器102は、2つのプロセッサ:プロセッサA 102aおよびプロセッサB 120bを有すると仮定する。また、プロセッサB 120bは、イメージセンサA 104a専用ではないと仮定する。イメージセンサA 104aは、リアルタイム画像データを電子機器102に(例えば、マルチプルプロセッサインターフェース108および/またはインターフェイシング118に)ストリーミングする。マルチプルプロセッサインターフェース108および/またはインターフェイシング118は、画像データの左の部分(例えば、垂直ストリップ)をプロセッサA 120aにストリーミングする一方で、画像データの右の部分をプロセッサB 120bに送る。この例では、マルチプルプロセッサインターフェース108および/またはインターフェイシング118は、2つの切り取り(crop)モジュールとして実現されてもよく、ここで、第1の切り取りモジュールは、プロセッサA 120aのためのピクセル(例えば、第1のセグメント)を選択する一方で、第2の切り取りモジュールは、プロセッサB 120bのためのピクセル(例えば、第2のセグメント)を選択する。プロセッサA 120aおよびプロセッサB 120bは、画像データセグメントをリアルタイムで並列に処理する。結合モジュール122は、処理された画像セグメントを出力バッファに直接送るか、または、処理された画像セグメントを出力バッファに送る前に、処理された画像セグメントを結合してもよい。あるいは、結合モジュール122は、出力インターフェースを備えていなくともよく、このケースでは、プロセッサ120は、処理された画像セグメントを出力バッファに直接書き込む。
図2は、複数のプロセッサ120を使用して、画像を並列処理するための方法200の1つのコンフィギュレーションを図示したフロー図である。電子機器102は、1つ以上のイメージセンサ104から画像データを取得する202。例えば、1つ以上のイメージセンサ104が、画像データを取り込んで提供する。電子機器102は、2つ以上のプロセッサ120に画像データをマッピングする204。1つのコンフィギュレーションでは、マルチプルプロセッサインターフェース108および/またはインターフェイシング118は、2つ以上のプロセッサ120に画像データをマッピングする204ように制御できるいくつかのマルチプレクサを備える。
電子機器102は、画像データをセグメントに区分して206、セグメントに区分された画像データつまりセグメントを生成する。例えば、コントローラ110は、画像データを分けるまたはセグメントに区分する206、セグメント化114モジュールまたは機能を制御してもよい。画像データは、2つ以上のセグメントに区分されてもよい206。各画像データセグメントは、例えば、多数のピクセルを含んでもよい。画像データセグメントは、同じサイズまたは異なるサイズであってもよい。1つのコンフィギュレーションでは、画像データセグメントは、セグメントの“シーム”における望ましくないアーティファクトを回避するために、オーバーラップしたデータ(例えば、“パッド”または“パディング”)を含む。
電子機器102は、2つ以上のプロセッサ120のクロックレートに画像データを同期させる208。画像データがセグメントに区分される206ときに、画像データは、2つ以上の画像データストリームに分けられてもよい。処理がリアルタイムで起こるために、電子機器102は、2つ以上のプロセッサ120のクロックレートに、画像データストリームを同期させてもよい208。これにより、処理がリアルタイムで進行する。言い換えると、各プロセッサ120のものと一致するように、画像データストリームのレートが調整されてもよい。1つのコンフィギュレーションでは、先入れ先出し(FIFO)バッファを使用して、同期が達成されてもよい。これにより、ソースによって、画像データを1つのレートで書き込み(例えば、イメージセンサ104データ)、シンク(例えば、プロセッサ120)によって、画像データを異なるレートで読み出すことが可能になってもよい。FIFOバッファは、データレートがバッファ中でオーバーフローを生じさせないよう十分大きくなるように、大きさが調整されてもよい。
電子機器102は、(“画像データセグメント”または“セグメント”とも呼ばれる)セグメントに区分された画像データを処理して210、(“処理されたセグメント”とも呼ばれる)処理された画像セグメントを生成する。例えば、各プロセッサ120が、画像データセグメントを処理してもよい210。上述したように、処理210のいくつかの例は、切り取り(cropping)、スケーリング、画像フォーマットの変換、カラー補間、カラー処理、画像のフィルタリング(例えば、画像の空間的なフィルタリング)、レンズアーティファクトまたは欠陥の補正等を含む。処理210は、並列におよび/またはリアルタイムで起こってもよい。画像データセグメントは、(画像データを取り込んだ)1つ以上のイメージセンサ104から、1つ以上のイメージセンサ104専用ではない1つ以上のプロセッサ120に送られてもよい。言い換えると、画像データセグメントを処理するための1つ以上の専用プロセッサ120に加えて、または、画像データセグメントを処理するための1つ以上の専用プロセッサ120とは代替的に、1つ以上の専用でないプロセッサ120が使用されてもよい。セグメントに区分された画像データの処理210は、処理された画像セグメントを生成する。電子機器102は、処理された画像124を生成するために、処理された画像セグメントを結合する212。処理された画像124は、例えば、表示され、記憶され、および/または、送信される。
図3は、複数のプロセッサ120を使用した並列画像処理のための方法300のより詳細なコンフィギュレーションを図示したフロー図である。電子機器102は、1つ以上のイメージセンサ104からの画像データを取得する302。例えば、1つ以上のイメージセンサ104は、画像データを取り込んで、その画像データを電子機器102に提供する。
電子機器102は、並列処理のために画像データをセグメントに区分することが有益であるか否かを決定してもよい304。先に論じたように、この決定304は、現在のイメージセンサ104ならびにプロセッサ120の使用率、所望の画像取り込みの解像度および/またはフレームレート、並列処理あり/なしで画像データを処理するのに必要とされる時間の量、イメージセンサ104および/またはプロセッサ120の能力、ならびに/あるいは、電力消費等のような、考慮に基づいていてもよい。1つの例では、コントローラ110は、専用プロセッサ120単独で、所定量の時間内に(例えば、所定の解像度および/またはフレームレートで)画像データを処理できるか否かを決定する。専用プロセッサ120が、所定量の時間内に、または、所望のフレームレートで、画像データを処理する能力がない(または、処理できない)場合に、コントローラ110は、並列処理のためにデータをセグメントに区分するのが有益であると決定する304。言い換えると、画像データを処理するのに使用されるプロセッサ120の数は、到来するまたは現在の作業負荷(例えば、画像データの、量、解像度、および/またはフレームレート)に基づいて、動的に調整されてもよい(例えば、追加されてもよい、または、取り除かれてもよい)。
別の例では、コントローラ110は、その決定304の基礎を現在のプロセッサ120の使用率に置く。1つのプロセッサ120が、特定のフレームレートでのビデオ画像の処理に忙しく、静止画像を処理する追加の能力を有していないと仮定する。このケースでは、コントローラ110は、並列処理のために画像データをセグメントに区分するのが有益でないと決定してもよい304。あるいは、コントローラ110は、このケースでは、画像データをセグメントに区分するのが有益であると決定してもよい304。例えば、コントローラ110は、ビデオ処理のうちのいくつかの、別のプロセッサ120へのマッピングと、静止画像処理の、双方のプロセッサ120へのマッピングとが、ビデオストリームを維持して、専用プロセッサ120を使用するよりも速く、静止画像を処理すると決定してもよい。したがって、電子機器102は、それが有益であるときに、ビデオまたは画像の処理のために、プロセッサ120を動的に追加してもよく、または、グループ化してもよい。
さらに別の例では、コントローラ110は、画像の並列処理のために画像データをセグメントに区分することが、電力リソース(例えば、バッテリー)の節約に有益であると決定する304。この例では、専用プロセッサ120が、許容できる量の時間で画像を処理する能力があるが、そのようにすると、高クロックレートで動作するように専用プロセッサ120が要求されるため、比較的大きな量の電力を浪費すると仮定する。高クロックレートで専用プロセッサを動作するよりも全体で少ない電力を使用する、より低いクロックレートで2つのプロセッサ120を動作させることにより、このケースでは、並列処理のために画像データをセグメントに区分するのが有益であるとコントローラ110は決定してもよい304。
電子機器102が、並列処理のために画像データをセグメントに区分するのが有益でないと決定した304場合に、電子機器102は、各イメージセンサ104の専用プロセッサ120を使用して、各イメージセンサ104からの画像データを処理し得る306。例えば、コントローラ110は、各イメージセンサ104からの画像データを、その専用プロセッサ120にマッピングして、それにしたがって画像データを処理し得る306。
電子機器102が、並列処理のために画像データをセグメントに区分するのが有益であると決定した304場合に、電子機器102は、マッピングを決定し得る308。すなわち、コントローラ110は、画像データをどのプロセッサ120にマッピングするかを決定し得る308。1つのコンフィギュレーションでは、コントローラ110は、現在の解像度および/またはフレームレートで画像データを処理するのに、どのプロセッサ120(および、どのくらい多くのプロセッサ120)が必要とされるかを決定する。このマッピングの決定308は、現在のイメージセンサ104ならびにプロセッサ120の使用率、所望の画像取り込みの解像度および/またはフレームレート、並列処理あり/なしで画像データを処理するのに必要とされる時間の量、イメージセンサ104および/またはプロセッサの能力、ならびに/あるいは、電力消費等のような、考慮に基づいていてもよい。
例えば、第1のプロセッサ120が単独で、または、各個で、所望の解像度および/またはフレームレートで画像データを処理する能力が現在ない場合に、コントローラ110は、画像データを処理するのに十分な処理電力が利用可能になるまで、画像データを追加のプロセッサ120に追加してもよく、または、マッピングしてもよい。例えば、画像データを処理するのに使用されるプロセッサ120の数は、到来するまたは現在の作業負荷(例えば、画像データの、量、解像度、および/またはフレームレート)に基づいて、動的に調整されてもよい(例えば、追加されてもよい、または、取り除かれてもよい)。マッピングを決定する308ための他のアプローチを使用してもよい。例えば、コントローラ110は、できるだけ多くのプロセッサ120に画像データをマッピングしてもよく、電力消費または平均処理レートを最小化するプロセッサ120の組み合わせに画像データをマッピングしてもよい。
別のコンフィギュレーションでは、マッピングの決定308は、現在のプロセッサ120の使用率または作業負荷に基づいていてもよい。1つのプロセッサ120が、特定のフレームレートでのビデオ画像の処理に忙しく、静止画像を処理する追加の能力を有していないと仮定する。このケースでは、静止画像処理を1つ以上の他のプロセッサ120にマッピングするマッピングを決定してもよい308。あるいは、ビデオストリームを維持して、静止画像を処理するために、ビデオ処理のうちのいくつかを別のプロセッサ120にマッピングし、静止画像処理を双方のプロセッサ120にマッピングするように、マッピングを決定してもよい308。したがって、電子機器102は、ビデオ処理または画像処理のためにプロセッサ120をマッピングしてもよい308。
さらに別の例では、電力リソース(例えば、バッテリー)の節約に基づいて、マッピングが決定される308。この例では、専用プロセッサ120が、許容できる量の時間で画像を処理する能力があるが、そのようにすると、高クロックレートで動作するように専用プロセッサ120が要求されるため、比較的大きな量の電力を浪費すると仮定する。高クロックレートで専用プロセッサを動作させるよりも全体で少ない電力を使用する、より低いクロックレートで動作している複数のプロセッサ120に、画像データがマッピングされるように、マッピングを決定してもよい308。
電子機器102は、2つ以上のプロセッサ120に画像データをマッピングする310。例えば、電子機器102またはコントローラ110は、マルチプレクサのアレイ、スイッチ、および/または、他のアドレッシングスキームを使用して、画像データを2つ以上のプロセッサ120にマッピングまたはルーティングする。
電子機器102は、区分けを決定してもよい312。例えば、電子機器102またはコントローラ110は、区分けの基礎を、プロセッサ120の容量、スピード(または、処理レート)、現在の使用率等に置いてもよい。1つのシンプルな例では、コントローラ110は、プロセッサ120の容量または能力に基づいて、比例的な区分けを決定する312。例えば、1つのプロセッサ120は、別のプロセッサ120の2倍の容量または能力を有すると仮定する。コントローラ110は、画像データを、2対1の割合でセグメントに区分し、他のプロセッサ120と比較して、1つのプロセッサ120に、2倍の数のピクセルを提供する。別の例では、コントローラ110は、十分な処理容量または能力が画像データを処理するために割り振られるまで、連続した各プロセッサ120の最大処理容量または処理能力まで使用されるように、画像データをセグメントに区分する。画像データが、垂直ストリップ、水平ストリップ、および/または、画像データのサブセットである他の領域に、区分されてもよいことに留意すべきである。1つのコンフィギュレーションでは、イメージセンサ104は、ラスタスキャン順に画像データを送り出す。したがって、画像データは、垂直に、セグメントに区分されてもよい。例えば、画像データをラインで受信したときに、第1のグループのピクセルが、1つのプロセッサに送られてもよく、第2のグループのピクセルが、第2のプロセッサに送られる等してもよい。
区分けの決定312は、画像データのオーバーラップまたは“パディング”を含んでもよい。さらに詳細には、電子機器102(例えば、プロセッサ120)が、フィルタリング(例えば、空間フィルタリング)を使用する場合に、並列プロセッサ120に送られる画像データセグメントは、シームまたはエッジの状態に気を配る必要があるだろう。これは、(例えば、“パディング”を持つ)オーバーラップしている画像データセグメントが、並列プロセッサ120に送られてもよいことを意味する。オーバーラップの量は、空間または処理パイプライン中のフィルタリング構造をサポートするのに必要な量によって決定されてもよい。例えば、プロセッサ120は、垂直の区分けとともに、水平方向へのフィルタリング(例えば、空間フィルタリング)を使用すると仮定する。電子機器102が、3×3のフィルタリングカーネルを使用する場合に、各区分けのシームに沿って、左右のセグメントがそれぞれ、1つのピクセルのオーバーラップを必要とする。しかしながら、プロセッサ120のそれぞれがピクセル単位で画像データを処理する場合には、オーバーラップは何ら必要とされない。
電子機器102は、画像データをセグメントに区分して314、セグメントに区分された画像データ(例えば、2つ以上の画像データセグメント)を生成する。例えば、電子機器102またはセグメント化モジュール114は、コントローラ110によって決定された区分け312にしたがって、画像データをセグメントに区分する314。電子機器102はまた、セグメントのシームにおけるエッジアーティファクトを回避するために、オーバーラップしたセグメントまたはパディングを使って画像データをセグメントに区分してもよい314。電子機器102またはセグメント化モジュール114は、特定のセグメントに対応していない画像データを棄却または切り取ることによって、あるいは、(適用可能なパディングまたはオーバーラップを持つ)特定のセグメントにのみ対応した画像データを受け入れるまたは受け取ることによって、画像データをセグメントに区分してもよい。電子機器102またはセグメント化モジュール114は、例えば、垂直ストリップ、水平ストリップ、または他の領域に、画像データを区分し得る。
プロセッサ120がピクセルごとの処理を利用するか、または、ピクセルごとのベースですべての処理が行われる場合に、並列プロセッサ120に送られる画像セグメントは、オーバーラップしていなくてもよい。このケースでは、シームまたはエッジアーティファクトが処理の結果何ら起こらないかもしれないことから、オーバーラップは何ら必要ないかもしれない。しかしながら、プロセッサ120が、水平方向での(例えば、垂直セグメントによる)または垂直方向での(例えば、水平セグメントによる)、フィルタリング(例えば、空間フィルタリング)を利用する場合に、並列プロセッサ120に送られる画像セグメントは、シームまたはエッジの状態に適切に対処するために(例えば、アーティファクトを回避するために)画像データ中でのオーバーラップを必要とするかもしれない。
電子機器102は、2つ以上のプロセッサ120のクロックレートに画像データを同期させる316。例えば、電子機器102または同期モジュール116は、画像データセグメントがマッピングされている310プロセッサ120のクロックレートに一致するように、画像データセグメントに関する画像データストリームのレートを調整する。1つのコンフィギュレーションでは、このことは、上述したようなFIFOバッファを使用して達成されてもよい。
電子機器102は、2つ以上のプロセッサ120を使用して、セグメントに区分された画像データを処理して318、処理された画像セグメント(例えば、“処理されたセグメント”)を生成する。先に論じたように、セグメントに区分された画像データの処理318は、切り取り、スケーリング、画像フォーマットの変換、カラー補間、カラー処理、画像のフィルタリング(例えば、画像の空間的なフィルタリング)、レンズアーティファクトまたは欠陥の補正等を含んでもよい。セグメントに区分された画像データの処理318は、処理された画像セグメントを生成する。
電子機器102または結合モジュール122は、出力インターフェースおよび/または出力バッファを使用して、処理された画像セグメントを結合する320。処理された画像セグメントの結合320は、処理された画像124を生成する。例えば、電子機器102は、処理された画像124を出力バッファに送る前に、処理された画像セグメントを結合する320出力インターフェースを備えてもよい。別のコンフィギュレーションでは、出力インターフェースは、使用されないかもしれず、または、必要とされないかもしれない。このケースでは、プロセッサ120は、処理された画像セグメントを出力バッファに直接書き込んでもよい。各パイプライン(例えば、プロセッサ120)は、もしある場合には、オーバーラップしている部分または“パディング”を有するものから、余分なピクセルを切り取り(crop out)してもよい。あるいは、結合モジュール122(例えば、出力インターフェース)は、結合モジュール122が、処理された画像セグメントを結合する320ときに、余分なピクセルを取り除いてもよい。別のコンフィギュレーションでは、結合モジュール122は、オーバーラップしているピクセルと、隣接する処理されたセグメント中のピクセルとを結合する320。
電子機器102は、表示、記憶、および/または、送信のために、処理された画像124を出力してもよい322。例えば、電子機器102は、処理された画像124をメモリに記憶してもよい。あるいはまたは加えて、電子機器102は、処理された画像124を表示してもよく、および/または、処理された画像124を別のデバイス(例えば、別の電子機器、ワイヤレス通信デバイス、コンピュータ等)に送信してもよい。
図4は、複数のプロセッサを使用した並列画像処理の1つの例を図示したブロック図である。この例では、イメージセンサA 404aが、画像を取得する、または、取り込む426。イメージセンサA 404aは、その後、マルチプルプロセッサインターフェース408に画像データ428を提供する。マルチプルプロセッサインターフェース408は、画像データ428をプロセッサA 420aとプロセッサB 420bとにマッピングして、画像データ428を、セグメントA 430aとセグメントB 430bとに区分する。マルチプルプロセッサインターフェース408はまた、セグメントA 430aとセグメントB 430bとを、プロセッサA 420aおよびプロセッサB 420bのそれぞれのクロックレートに同期させる。マルチプルプロセッサインターフェース408は、セグメントA 430aをプロセッサA 420aに提供し、セグメントB 430bをプロセッサB 420bに提供する。プロセッサA 420aは、セグメントA 430aを処理して、処理されたセグメントA 432aを生成し、プロセッサB 420bは、セグメントB 430bを処理して、処理されたセグメントB 432bを生成する。処理されたセグメントA 432aおよび処理されたセグメント432bは、出力インターフェース422に提供される。出力インターフェース422は、処理されたセグメントA 432aと処理されたセグメントB 432bとを結合して、処理された画像424を生成する。
さらに特定の例が以下に続く。30FPSにおいて4000x3000の解像度のイメージセンサの入力を処理するのに、毎秒360メガピクセル(MP/sec)のスループットが必要とされると仮定する。パイプライン中の唯一のフィルタリングは、3x3の有限インパルス応答(FIR)空間フィルタであると仮定する。この例では、センサのブランキングは何ら仮定されていない。プロセッサA 420aは、3504ピクセルのライン幅まで、260MP/secの性能を持つ、イメージシグナルプロセッサ(ISP)であると、さらに仮定する。このタイプのイメージシグナルプロセッサ(ISP)は、通常、8MPカメラのために使用されてもよい。
現在の解像度およびフレームレートで画像データ428を処理するためにプロセッサB 420bが提供することが必要な性能が、決定されてもよい。プロセッサA 420aは、ラインで(in a line)3504ピクセルまで処理できるが、3504*3000*30FPSが260 MP/secよりも大きいことから、その処理スループットによってプロセッサA 420aが制限される。プロセッサA 420aは、以下のピクセル幅のみを処理できる。
Figure 2013545198
3x3の空間フィルタもあることから、1つの余分な列のパディングもまた必要とされる。したがって、セグメントA 430a(プロセッサA 420aに対する入力)は、2888ピクセル幅×3000ピクセル高であってもよい一方で、処理されたセグメントA 432a(プロセッサA 420aからの出力)は、2887×3000ピクセルである。したがって、プロセッサB 420bは、ライン当たり1114ピクセル=4000−2887+1つのパディング列を処理できるにちがいない。したがって、プロセッサB420bのスループットは、少なくとも以下の通りでなければならない。
Figure 2013545198
プロセッサB 420bが、この性能を有していない場合に、1つ以上のプロセッサ420が追加されてもよい。
2つ以上のプロセッサを組み合わせることによって、個別のプロセッサによって処理できるより大きな解像度のセンサからの画像データを処理できる。ここで開示するシステムおよび方法のこの利点を、以下の表(1)で図示する。例えば、プロセッサA 402aは、5.04MPの画像を処理することができ、プロセッサB 420bは、3.15MPの画像を処理できると仮定する。表(1)にしたがうと、プロセッサA 420aおよびプロセッサB 420bは、共に、15.27MPの解像度のセンサからのデータを処理できる。これは、プロセッサA 420aが、画像データのある部分(例えば、左のセグメント)を処理し、プロセッサB 420bが、画像データの別の部分(例えば、右のセグメント)を処理するためである。したがって、複数のプロセッサは、高解像度のイメージセンサからの画像データを処理してもよい。表(1)では、便宜上、“幅”(単位はピクセル)は、“W”と省略され、“高さ”(単位はピクセル)は、“H”と省略される。
Figure 2013545198
イメージシグナルプロセッサ(例えば、プロセッサ420)は、それらが処理できる画像の幅によって制限されてもよいことに留意すべきである。例えば、1600の幅を持つプロセッサA 420aと、2048の幅を持つプロセッサB 420bとは、おおよそ9MPである、ほぼ1600+2048の幅を有する画像を処理してもよい。表(1)では、組み合わされた幅は、この例では128に設定されている何らかのパディングに対処するために、幅の単なる合計として示されていない。さらに詳細には、1600のプロセッサA 420aの幅と、2048のプロセッサB 420bの幅との組み合わせは、合計で3648であるが、パディングに対処するために、3520の幅で示されている。イメージセンサにとっては一般的である、4:3のピクチャアスペクト比を仮定して、示されている高さが決定されることにも留意すべきである。
図5は、複数のプロセッサを使用した並列画像処理の別の例を図示したブロック図である。さらに詳細には、図5は、単一のイメージセンサ504/複数のイメージシグナルプロセッサ520のケースを図示する。イメージセンサ504は、画像データ528を取り込む、または、取得する。この例では、イメージセンサ504は、単一の高帯域幅のデータストリーム534として、画像データ528を、マッピング、セグメント化、および同期モジュール536に提供する。マッピング、セグメント化、および同期モジュール536は、画像データ528を複数のプロセッサ520a〜nにマッピングして、セグメントN 530nまで、画像データ528を、セグメントA 530a、セグメントB 530b、セグメントC 530c等に区分する。すなわち、画像データ528は、2つ以上のセグメント530に区分される。各セグメント530は、低帯域幅データストリーム538a〜nとして、並列処理イメージシグナルプロセッサ540に提供される。したがって、複数の低帯域幅データストリーム538a〜nが、並列処理イメージシグナルプロセッサ540に送られる。さらに詳細には、セグメントA 530aは、低帯域幅データストリームA 538aとして、イメージシグナルプロセッサA 520aに提供され、セグメントB 530bは、低帯域幅データストリームB 538bとして、イメージシグナルプロセッサB 520bに提供され、セグメントC 530cは、低帯域幅データストリームC 538cとして、イメージシグナルプロセッサC 520cに提供され、低帯域幅データストリームN 538nとして、イメージシグナルプロセッサN 520nに提供されるセグメントN 530nまで続く。データマッピング、セグメント化、および同期モジュール536はまた、各低帯域幅データストリーム538a〜nを、各イメージシグナルプロセッサ520a〜nのそれぞれのクロックレートに同期させる。図5で図示されているように、ここで開示するシステムおよび方法は、複数のプロセッサを使用した並列処理により、データレートの減少をもたらす。
イメージシグナルプロセッサ520a〜nのそれぞれは、処理されたセグメント532a〜nを結合モジュール522に提供する。結合モジュール522は、処理された画像セグメントAないしN 532a〜nを結合して、処理された画像524を生成する。図5中の例によって図示されているように、画像処理は、ここで開示するシステムおよび方法にしたがって、並列にリアルタイムで達成されてもよい。
図6は、複数のプロセッサインターフェース608の1つのコンフィギュレーションに関するさらなる詳細を図示したブロック図である。1つ以上のイメージセンサ604a〜mが、マルチプルプロセッサインターフェース608に結合されていてもよい。マルチプルプロセッサインターフェース608は、2つ以上のプロセッサ620a〜nに結合されていてもよい。マルチプルプロセッサインターフェース608は、ハードウェアおよび/またはソフトウェアモジュールとして実現されてもよい。例えば、マルチプルプロセッサインターフェース608は、ここで開示したシステムおよび方法を実現するように使用されるコンポーネントを含む集積回路(IC)として実現されてもよい。あるいは、マルチプルプロセッサインターフェース608は、ここで開示したシステムおよび方法を実現するように使用される命令あるいはコードを含むソフトウェアモジュールとして実現されてもよい。あるいは、マルチプルプロセッサインターフェース608は、ハードウェアとソフトウェアとの組み合わせとして実現されてもよい。したがって、マルチプルプロセッサインターフェース608を、機能性の観点から説明する。
マルチプルプロセッサインターフェース608は、マルチプレクサアレイ644、2つ以上のインターフェースモジュール650a〜n、および2つ以上のシンクロナイザ654a〜nを備えていてもよい。マルチプレクサアレイ644は、マッピング612機能を提供してもよい。例えば、マルチプレクサアレイ644は、(図6では、便宜上、“データMux”とラベルされた)1つ以上のデータマルチプレクサ646a〜mと、(図6では、便宜上、“クロックMux”とラベルされた)1つ以上のクロックマルチプレクサ648a〜mとを備えていてもよい。データマルチプレクサ646a〜mは、画像データ628a〜mを、2つ以上のプロセッサ620a〜nにマッピングする。さらに詳細には、データマルチプレクサ646a〜mは、1つ以上のイメージセンサ604a〜mのうちのいずれかからの画像データ628a〜mを、2つ以上のプロセッサ620a〜nのうちのいずれかにマッピングしてもよい。
クロックマルチプレクサ648a〜mは、センサクロック信号642a〜mをインターフェースモジュール650a〜nとシンクロナイザモジュール654a〜nとにマッピングするように使用される。センサクロック信号642a〜mは、画像データ628a〜mが取り込まれたフレームレートまたはレートを示してもよい。言い換えると、クロックマルチプレクサ648a〜mは、センサクロック信号642a〜mを、クロック信号652a〜nとして、インターフェースブロック650a〜nと、シンクロナイザ654a〜nとにマッピングしてもよい。例えば、センサクロックB 642bは、クロック信号A 652aとして、インターフェースA 650aと、シンクロナイザA 654aとにマッピングされてもよい。
インターフェースモジュール650a〜nは、セグメント化の614a〜n機能を提供する。例えば、インターフェース650a〜nは、イメージセンサ604a〜mからの画像データ628a〜mをセグメントに区分する“クロッパー(cropper)”として実現されてもよい。インターフェースモジュール650a〜nは、クロック信号652a〜nを使用してもよい。例えば、インターフェースモジュール650a〜nは、クロック信号652a〜nを使用して回路を動作するように、ハードウェア中で実現されてもよい。センサクロック642a〜mは、画像データ628a〜mと(例えば、それぞれ)同期されてもよい。したがって、クロック信号652a〜nにより、各サイクルが、イメージセンサ604からの各データエレメントに対応するように、ハードウェアがタイミングをとれる(time)ようになる。このように、インターフェースモジュール650a〜nは、データがいつ配信されるのかと、データのタイミングとを“理解”してもよい。データのタイミングを使用して、切り取りのような動作のために使用されるロジックを同期的に駆動させてもよい。一般に、クロック信号652a〜nは、セグメント化ロジックが、イメージセンサ604a〜mからセグメント化ロジックに、有効なデータがいつ配信されるかを理解するための、1つ以上のタイミング信号を提供してもよい。
インターフェースモジュール650a〜nは、セグメントに区分された画像データをシンクロナイザ654a〜nに提供する。シンクロナイザ654a〜nは、同期616a〜n機能を提供する。シンクロナイザ654a〜nは、セグメントに区分された画像データを、プロセッサ620a〜nのクロックドメインに同期させるために、クロック信号652a〜nと、プロセッサクロック信号656a〜nとを使用してもよい。このように、セグメントに区分された画像データを、プロセッサ620a〜nによって、並列にリアルタイムで処理してもよい。1つのコンフィギュレーションでは、各プロセッサ620a〜nは、異なるクロックレートで動作する。したがって、各画像セグメントの適切な処理を調整するために、セグメントに区分された画像データを、各プロセッサ620a〜nのクロックドメインに同期させること616a〜nが必要とされてもよい。図6で図示されているように、各プロセッサ620a〜nは、処理された画像データ658a〜nを出力する。ここでのシステムおよび方法にしたがって、プロセッサ620a〜nとは異なる数のイメージセンサ604a〜mが存在してもよいことに留意すべきである。代替的に、プロセッサ620a〜nと同じ数のイメージセンサ604a〜mが存在してもよい。
図7は、画像データの区分けの1つの例を図示した図である。特に、2つのプロセッサ120を使用して処理するための、画像データの垂直的な区分けを図示する。アクティブピクセル774およびブランキング764は、イメージセンサ104によって提供される画像データの2つの領域である。アクティブピクセル774は、画像を生成させるのに使用される画像データ中のピクセル群である。言い換えると、アクティブピクセル774は、処理された画像124を生成させるために処理されることになるピクセルである。ブランキング764は、アクティブピクセル774を囲む領域である。ブランキング領域764は、アクティブピクセル領域774の一部ではない領域を含んでもよい。例えば、イメージセンサ104は、ブランキング領域764のピクセルを送ってもよく、または、送らなくてもよい。例えば、ブランキング領域764は、作業を終了し且つデータの次のセグメントを取り扱う準備をするための多数のサイクルをイメージセンサ104の回路に提供するために、フレーム間で、および/または、フレーム内のライン間で使用され得るこの時間の間に、提示されることになる何らかの有効なデータがないために、結果として、ブランキング領域764になることがある。
図7では、いくつかの文字が、画像データのさまざまなディメンジョンを表す。さらに詳細には、m760は、ブランキング764を含む第1のセグメントの水平ディメンジョンを表し、n762は、ブランキング764を含む第2のセグメントの水平ディメンジョンを表し、p776は、アクティブピクセル774およびブランキング764の垂直ディメンジョンを表し、q766は、アクティブピクセル774の第1のセグメントの水平ディメンジョンを表し、r772は、アクティブピクセルの第2のセグメントの水平ディメンジョンを表し、s778は、アクティブピクセル774の垂直ディメンジョンを表す。この例では、1つのイメージセンサ104からの画像データは、2つのプロセッサ120上での処理のために、2つのセグメントに区分される。この例にしたがうと、イメージセンサ104は、式(1)で示すような解像度(例えば、単位はピクセル)を有すると仮定する。
Figure 2013545198
画像データ入力レートは式(2)で示すように規定され得る。
Figure 2013545198
式(2)では、fpsは、フレームレート(例えば、単位はFPS)である。Input_Rateは、画像データが、イメージセンサ104からマルチプルプロセッサインターフェース108に入力されるレートである。
この例では、画像データは、シーム780によって、2つのセグメントに区分されている。(アクティブピクセル774の)第1のセグメントは、q766×s778のディメンジョンを有する。しかしながら、パッド1 768×s778のディメンジョンを持つ第1のパッドもまた、第1のプロセッサ120によって処理されてもよい。したがって、第1のプロセッサ120の入力の解像度を、式(3)で示す。
Figure 2013545198
それにしたがって、第1のプロセッサ120は、式(4)で示すような処理レートを有する。
Figure 2013545198
そして、第1のプロセッサ120の出力の解像度を、式(5)で示す。
Figure 2013545198
同様に、第2のプロセッサ120の入力の解像度、処理レート、および出力の解像度が、式(6)、(7)、および(8)で、それぞれ与えられる。
Figure 2013545198
式(6)では、Input_Resolution2は、第2のプロセッサ120の入力の解像度であり、パッド2 770は、第2のパッドの水平ディメンジョンである。パッド1およびパッド2のサイズは、先に論じたようなシーム780におけるアーティファクトを回避するのに必要とされるパディングの量によって決定されてもよいことに留意すべきである。
Figure 2013545198
式(7)では、Processing_Rate2は、第2のプロセッサ120の処理レートである。式(8)は、第2のプロセッサ120の出力の解像度(Output_Resolution2)を示す。
Figure 2013545198
図8は、電子機器802で利用されてもよいさまざまなコンポーネントを示す。図示されているコンポーネントは、同じ物理構造内に、あるいは、別個のハウジングまたは構造に、配置されていてもよい。図1に関して論じた電子機器102は、電子機器802と同様に構成されていてもよい。電子機器802は、1つ以上のイメージセンサ804を備える。1つ以上のイメージセンサ804は、光信号(例えば、画像)を取り込む、あるいは、光信号(例えば、画像)を電子信号または画像データに変換する1つ以上のデバイスであってもよい。イメージセンサ804の例は、電荷結合素子(CCD)センサおよび相補形金属酸化膜半導体(CMOS)センサを含む。
電子機器802は、2つ以上のイメージシグナルプロセッサ820を備える。2つ以上のイメージシグナルプロセッサ820は、1つ以上のイメージセンサ804に直接的および/または間接的に結合されていてもよい。2つ以上のイメージシグナルプロセッサ820は、汎用シングルチップマイクロプロセッサまたは汎用マルチチップマイクロプロセッサ(例えば、ARM(登録商標))、特殊目的マイクロプロセッサ(例えば、デジタルシグナルプロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイ等であってもよい。2つ以上のイメージシグナルプロセッサ820を使用して、画像処理機能を実行してもよい。例えば、2つ以上のイメージシグナルプロセッサは、切り取り、(例えば、異なる解像度への)スケーリング、画像フォーマット変換、カラー補間、カラー処理、画像フィルタリング(例えば、空間画像フィルタリング)、レンズアーティファクトまたは欠陥の補正等を実行してもよい。
電子機器802は、プロセッサ888を備える。プロセッサ888は、汎用シングルチップマイクロプロセッサまたは汎用マルチチップマイクロプロセッサ(例えば、ARM)、特殊目的マイクロプロセッサ(例えば、デジタルシグナルプロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイ等であってもよい。プロセッサ888は、中央処理ユニット(CPU)と呼ばれてもよい。図8の電子機器802には単一のプロセッサ888だけが示されているが、代替的な構成では、プロセッサの組み合わせ(例えば、ARMとDSP)を使用することができる。
電子機器802はまた、プロセッサ888と電子通信するメモリ882を備える。すなわち、プロセッサ888は、メモリ882から情報を読み取ることおよび/またはメモリ882に情報を書き込むことができる。メモリ882は、電子情報を記憶可能な任意の電子コンポーネントであってもよい。メモリ882は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAMにおけるフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、プログラマブルリードオンリーメモリ(PROM)、消去可能プログラマブルリードオンリーメモリ(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、およびそれらの組み合わせ等であってもよい。
データ886aおよび命令884aは、メモリ882に記憶されてもよい。命令884aは、1つ以上のプログラム、ルーチン、サブルーチン、関数、プロシージャ等を含んでもよい。命令884aは、単一のコンピュータ読取可能ステートメントまたは多数のコンピュータ読取可能ステートメントを含んでもよい。命令884aは、上述した方法を実現するためにプロセッサ888によって実行可能であってもよい。命令884aを実行することは、メモリ882に記憶されたデータ886aを使用することを含んでもよい。図8は、いくつかの命令884bおよびデータ886bがプロセッサ888にロードされていることを示す。
電子機器802はまた、他の電子機器と通信するための1つ以上の通信インターフェース890を含んでもよい。通信インターフェース890は、ワイヤード通信技術、ワイヤレス通信技術、またはその双方に基づいていてもよい。さまざまなタイプの通信インターフェース890の例は、シリアルポート、パラレルポート、ユニバーサルシリアルバス(USB)、イーサネット(登録商標)アダプタ、IEEE1394バスインターフェース、小型コンピュータシステムインターフェース(SCSI)、バスインターフェース、赤外線(IR)通信ポート、ブルートゥース(登録商標)ワイヤレス通信アダプタ等を含む。
電子機器802はまた、1つ以上の入力デバイス892および1つ以上の出力デバイス894を備えてもよい。さまざまな種類の入力デバイス892の例は、キーボード、マウス、マイクロフォン、リモート制御デバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペン等を含む。さまざまな種類の出力デバイス894の例は、スピーカ、プリンタ等を含む。通常、電子機器802に含まれてもよい出力デバイスの1つの特定のタイプは、ディスプレイデバイス896である。ここで開示したコンフィギュレーションとともに使用されるディスプレイデバイス896は、ブラウン管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、ガスプラズマ、エレクトロルミネセンス、または、これらに類するもののような、任意の適切な画像投影技術を利用してもよい。(示されていない)ディスプレイコントローラはまた、メモリ882に記憶されたデータを、ディスプレイデバイス896上に示されるテキスト、グラフィック、および/または動画(必要に応じて)に変換するために提供されてもよい。
電子機器802はまた、電源および/またはインターフェース898を備えてもよい。電源および/またはインターフェース898は、電子機器802に電力を供給してもよい。例えば、電源/インターフェース898は、バッテリーであってもよい。代替的に、電源/インターフェースは、そこを通して電力が供給されてもよいポートであってもよい。例えば、電源/インターフェース898は、交流(AC)または直流(DC)の電力を受け入れるポートであってもよい。1つのコンフィギュレーションでは、電源アウトレットに差し込む電源アダプタを受け入れるために、電源/インターフェース898が使用される。代替的に、電源/インターフェース898は、USBポートを介して電力を受け入れてもよい。さらに別のコンフィギュレーションでは、(例えば、誘導電荷デバイスまたは、近接充電デバイスを使用して、)電源/インターフェース898は、電力をワイヤレスに受信する。
電子機器802のさまざまなコンポーネントは、電力バス、制御信号バス、ステータス信号バス、データバス等を含んでもよい1つ以上のバスによって互いに結合されてもよい。簡単にするために、さまざまなバスを、バスシステム811として図8に図示した。図8が、電子機器802の1つの可能性あるコンフィギュレーションだけを図示していることに留意すべきである。他のさまざまなアーキテクチャおよびコンポーネントを利用してもよい。
図9は、ワイヤレス通信デバイス901中で利用されてもよいさまざまなコンポーネントを図示する。ワイヤレス通信デバイス901は、他の電子機器とワイヤレスに通信するのに使用される、ある種の電子機器102、802であってもよい。ワイヤレス通信デバイス901の例は、セルラ電話機、スマートフォン、パーソナルデジタルアシスタント(PDA)、電子リーダ、ゲーミングシステム、音楽プレーヤー、ネットブック、ワイヤレスモデム、ラップトップコンピュータ、タブレットデバイス等を含む。図1に関して論じた電子機器102は、ワイヤレス通信デバイス901と同様に構成されていてもよい。
ワイヤレス通信デバイス901に含まれるコンポーネントの多くは、図8に関して説明したコンポーネントと同様に構成されていてもよく、同様に機能してもよい。例えば、ワイヤレス通信デバイスは、1つ以上のイメージセンサ904、2つ以上のイメージシグナルプロセッサ920、命令984aおよび/またはデータ986aを含むメモリ982、命令984bおよび/またはデータ986bをメモリ982からロードするプロセッサ988、1つ以上の通信インターフェース990、1つ以上の入力デバイス992、ディスプレイデバイス996のような1つ以上の出力デバイス994、および電源/インターフェース998を備えてもよい。ワイヤレス通信デバイス901は、送信機905および受信機907をさらに備えてもよい。送信機905および受信機907は、まとめて、トランシーバ903と呼ばれてもよい。トランシーバ903は、ワイヤレス信号の送信および/または受信のために、1つ以上のアンテナ909に結合されていてもよい。図8に関連して上述した電子機器802と同様に、ワイヤレス通信デバイス901は、図9ではバスシステム911として図示されている1つ以上のバスを備えていてもよい。バスシステム911は、説明したコンポーネントを互いに結合して、協調した動作を可能にしてもよい。
ここで使用するような、“ワイヤレス通信デバイス”という用語は、一般的に、別の電子機器(例えば、基地局)にワイヤレスに接続されることがある電子機器(例えば、アクセス端末、クライアントデバイス、クライアント局(STA)等)を示す。ワイヤレス通信デバイスは、代わりに、移動デバイス、移動局、加入者局、ユーザ機器(UE)、遠隔局、アクセス端末、移動端末、端末、ユーザ端末、加入者ユニット等とも呼ばれてもよい。ワイヤレス通信デバイスの例は、ラップトップコンピュータまたはデスクトップコンピュータ、セルラ電話、スマートフォン、ワイヤレスモデム、電子リーダ、タブレットデバイス、ゲーミングシステム等を含む。ワイヤレス通信デバイスは、第3世代パートナーシッププロジェクト(3GPP)のような、1つ以上の業界標準にしたがって動作してもよい。このように、“ワイヤレス通信デバイス”という一般用語は、業界標準にしたがったさまざまな名称(例えば、アクセス端末、ユーザ機器(UE)、遠隔端末等)で記述されるワイヤレス通信デバイスを含んでいてもよい。
先の説明では、参照番号は、時に、さまざまな用語に関連して使用されていた。用語が参照番号に関連して使用される場合、これは、図のうちの1つ以上で示されている特定のエレメントを指すことを意味してもよい。用語が参照番号なしに使用される場合、これは、いずれか特定の図に限定されない用語のことを一般的に指すことを意味してもよい。
“決定する”という用語は、幅広いさまざまな動作を含んでおり、それゆえ、“決定する”は、算出する、計算する、処理する、導出する、調べる、検索する(例えば、表、データベース、または、別のデータ構造中で検索する)、確認する、および、これらに類するものを含むことができる。同様に、“決定する”は、受信する(例えば、情報を受信する)、アクセスする(例えば、メモリ中のデータにアクセスする)、および、これらに類するものを含むことができる。また、“決定する”は、解決する、選択する、選ぶ、確立する、および、これらに類するものを含むことができる。
“に基づいて”というフレーズは、明確に指定されていない限り、“のみに基づいて”を意味しない。言い換えると、“に基づいて”というフレーズは、“のみに基づいて”と“に少なくとも基づいて”との双方を説明する。
ここで説明した機能は、1つ以上の命令として、プロセッサ読取可能媒体上またはコンピュータ読取可能媒体上に記憶されてもよい。“コンピュータ読取可能媒体”という用語は、コンピュータまたはプロセッサによってアクセスできる任意の利用可能な媒体を指す。これらに限定されないが、一例として、このような媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、または、コンピュータによってアクセスでき、命令やデータ構造の形で所望のプログラムコードを記憶するために使用できる他の何らかの媒体を含んでいてもよい。ここで使用するようなディスク(diskおよびdisc)は、コンパクトディスク(CD)、レーザディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、および、ブルーレイ(登録商標)ディスクを含むが、一般的に、ディスク(disk)は、データを磁気的に再生する一方で、ディスク(disc)は、データをレーザによって光学的に再生する。コンピュータ読取可能媒体が、有形および非一時的であってもよいことに留意すべきである。“コンピュータプログラムプロダクト”という用語は、コンピューティングデバイスまたはプロセッサによって実行、処理、または計算されてもよいコードまたは命令(例えば、“プログラム”)と組み合わせたコンピューティングデバイスまたはプロセッサを指す。ここで使用するような、“コード”という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コードまたはデータを指すことがある。
ソフトウェアまたは命令は、送信媒体を通しても送信されてもよい。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、あるいは、赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して、ソフトウェアが、ウェブサイトから、サーバから、あるいは、他の遠隔ソースから送信された場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、あるいは、赤外線、無線、およびマイクロ波のようなワイヤレス技術は、送信媒体の定義に含まれる。
ここで開示した方法は、説明した方法を達成するための1つ以上のステップまたはアクションを含む。方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく、互いに交換可能であってもよい。言い換えると、ステップまたはアクションの特定の順序が、説明した方法の適切な動作に必要とされない限り、特定のステップならびに/あるいはアクションの順序および/または使用は、特許請求の範囲から逸脱することなく、修正されてもよい。
特許請求の範囲は、先に示したまさにそのコンフィギュレーションおよびコンポーネントに限定されるものではないことを理解すべきである。さまざまな修正、変更、および、バリエーションが、ここで説明したシステム、方法、ならびに、装置の構成、運用、および、詳細において、特許請求の範囲から逸脱することなく行われてもよい。
特許請求の範囲は、先に示したまさにそのコンフィギュレーションおよびコンポーネントに限定されるものではないことを理解すべきである。さまざまな修正、変更、および、バリエーションが、ここで説明したシステム、方法、ならびに、装置の構成、運用、および、詳細において、特許請求の範囲から逸脱することなく行われてもよい。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]複数のプロセッサを使用した並列画像処理のための電子機器であって、
画像データを提供する複数のイメージセンサと、
セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成する複数のプロセッサであって、前記複数のプロセッサの各プロセッサは、前記複数のイメージセンサのうちの1つに専用である、複数のプロセッサと、
マルチプルプロセッサインターフェースであって、前記画像データを前記複数のプロセッサにマッピングし、前記画像データをセグメントに区分して前記セグメントに区分された画像データを生成し、前記セグメントに区分された画像データを複数のプロセッサのクロックレートに同期させるマルチプルプロセッサインターフェースとを具備する電子機器。
[2]前記処理された、セグメントに区分された画像データを結合して、処理された画像を生成する結合モジュールをさらに具備する上記[1]に記載の電子機器。
[3]前記複数のプロセッサのうちの少なくとも1つのプロセッサは、前記少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理する上記[1]に記載の電子機器。
[4]前記マルチプルプロセッサインターフェースは、前記複数のプロセッサから、画像データ処理のためにプロセッサを動的に追加する上記[1]に記載の電子機器。
[5]画像データ処理のためにプロセッサを動的に追加することは、作業負荷に基づいている上記[4]に記載の電子機器。
[6]前記マルチプルプロセッサインターフェースは、前記画像データをセグメントに区分することが有益である否かを決定し、各プロセッサは、前記マルチプルプロセッサインターフェースが、前記画像データをセグメントに区分することが有益でないと決定した場合に、各プロセッサに専用であるイメージセンサからの画像データのみを処理する上記[1]に記載の電子機器。
[7]前記マルチプルプロセッサインターフェースは、セグメントに区分されているなら、前記画像データをより速く処理できる場合に、前記画像データをセグメントに区分することが有益であると決定する上記[6]に記載の電子機器。
[8]前記マルチプルプロセッサインターフェースは、前記複数のプロセッサのうちの少なくとも1つが、前記画像データを各個で処理する能力がない場合に、前記画像データをセグメントに区分することが有益であると決定する上記[6]に記載の電子機器。
[9]前記マルチプルプロセッサインターフェースは、セグメントに区分されているなら、前記画像データをより少ない電力を使用して処理できる場合に、前記画像データをセグメントに区分することが有益であると決定する上記[6]に記載の電子機器。
[10]前記マルチプルプロセッサインターフェースは、前記画像データを前記複数のプロセッサにマッピングするためのマッピングを決定する上記[1]に記載の電子機器。
[11]前記マルチプルプロセッサインターフェースは、前記画像データの区分けを決定する上記[1]に記載の電子機器。
[12]前記複数のプロセッサのうちの少なくとも1つは、前記複数のプロセッサのうちの別のものとは異なる能力を有する上記[1]に記載の電子機器。
[13]前記複数のイメージセンサのうちの少なくとも1つは、前記複数のイメージセンサのうちの別のものとは異なる能力を有する上記[1]に記載の電子機器。
[14]前記複数のプロセッサは、前記画像データを各個で処理する能力がない上記[1]に記載の電子機器。
[15]前記セグメントに区分された画像データのセグメントは、オーバーラップしている上記[1]に記載の電子機器。
[16]前記複数のプロセッサは、前記セグメントに区分された画像データを、リアルタイムで並列に処理する上記[1]に記載の電子機器。
[17]前記電子機器は、ワイヤレス通信デバイスである上記[1]に記載の電子機器。
[18]前記複数のプロセッサは、イメージシグナルプロセッサ(ISP)である上記[1]に記載の電子機器。
[19]前記電子機器は、前記画像データが処理の前に記憶されないように、前記画像データをストリーミングする上記[1]に記載の電子機器。
[20]前記結合モジュールは、出力バッファを備える上記[2]に記載の電子機器。
[21]前記結合モジュールは、出力インターフェースおよび出力バッファを備える上記[2]に記載の電子機器。
[22]複数のプロセッサを使用した並列画像処理のための方法であって、
複数のイメージセンサを使用して、画像データを電子機器に提供することと、
前記画像データを前記複数のプロセッサにマッピングすることであって、各プロセッサは、前記複数のイメージセンサのうちの1つに専用である、マッピングすることと、
前記画像データをセグメントに区分して、セグメントに区分された画像データを生成することと、
前記セグメントに区分された画像データを前記複数のプロセッサのクロックレートに同期させることと、
前記セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成することとを具備する方法。
[23]前記処理された、セグメントに区分された画像データを結合して、処理された画像を生成することをさらに具備する上記[22]に記載の方法。
[24]前記複数のプロセッサのうちの少なくとも1つのプロセッサは、前記少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理する上記[22]に記載の方法。
[25]前記電子機器は、前記複数のプロセッサから、画像データ処理のためにプロセッサを動的に追加する上記[22]に記載の方法。
[26]画像データ処理のためにプロセッサを動的に追加することは、作業負荷に基づいている上記[25]に記載の方法。
[27]前記画像データをセグメントに区分することが有益である否かを決定することをさらに具備し、各プロセッサは、前記マルチプルプロセッサインターフェースが、前記画像データをセグメントに区分することが有益でないと決定した場合に、各プロセッサに専用であるイメージセンサからの画像データのみを処理する上記[22]に記載の方法。
[28]前記画像データをセグメントに区分することが有益であるか否かを決定することは、セグメントに区分されているなら、前記画像データをより速く処理できるか否かに基づいている上記[27]に記載の方法。
[29]前記画像データをセグメントに区分することが有益であると決定することは、前記複数のプロセッサのうちの少なくとも1つが、前記画像データを各個で処理する能力がないか否かに基づいている上記[27]に記載の方法。
[30]前記画像データをセグメントに区分することが有益であるか否かを決定することは、セグメントに区分されているなら、前記画像データをより少ない電力を使用して処理できるか否かに基づいている上記[27]に記載の方法。
[31]前記画像データを前記複数のプロセッサにマッピングするためのマッピングを決定することをさらに具備する上記[22]に記載の方法。
[32]前記画像データの区分けを決定することをさらに含む上記[22]に記載の方法。
[33]前記複数のプロセッサのうちの少なくとも1つは、前記複数のプロセッサのうちの別のものとは異なる能力を有する上記[22]に記載の方法。
[34]前記複数のイメージセンサのうちの少なくとも1つは、前記イメージセンサのうちの別のものとは異なる能力を有する上記[22]に記載の方法。
[35]前記複数のプロセッサは、前記画像データを各個で処理する能力がない上記[22]に記載の方法。
[36]前記セグメントに区分された画像データは、オーバーラップしている上記[22]に記載の方法。
[37]前記セグメントに区分された画像データを処理することは、リアルタイムで並列に行われる上記[22]に記載の方法。
[38]前記電子機器は、ワイヤレス通信デバイスである上記[22]に記載の方法。
[39]前記複数のプロセッサは、イメージシグナルプロセッサ(ISP)である上記[22]に記載の方法。
[40]前記画像データが処理の前に記憶されないように、前記画像データをストリーミングすることをさらに具備する上記[22]に記載の方法。
[41]前記処理された、セグメントに区分された画像データは、出力バッファを使用して結合される上記[23]に記載の方法。
[42]前記処理された、セグメントに区分された画像データは、出力インターフェースおよび出力バッファを使用して結合される上記[23]に記載の方法。
[43]複数のプロセッサを使用した並列画像処理のためのコンピュータプログラム製品において、
前記コンピュータプログラム製品は、その上に命令を有している非一過性のコンピュータ読取可能媒体を具備し、
前記命令は、
複数のイメージセンサを使用して、画像データを提供するためのコードと、
前記画像データを前記複数のプロセッサにマッピングするためのコードであって、各プロセッサは、前記複数のイメージセンサのうちの1つに専用である、コードと、
前記画像データをセグメントに区分して、前記セグメントに区分された画像データを生成するためのコードと、
前記セグメントに区分された画像データを前記複数のプロセッサのクロックレートに同期させるためのコードと、
前記セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成するためのコードとを具備するコンピュータプログラム製品。
[44]前記複数のプロセッサのうちの少なくとも1つのプロセッサは、前記少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理する上記[43]に記載のコンピュータプログラム製品。
[45]前記複数のプロセッサから、画像データ処理のためにプロセッサを動的に追加するためのコードをさらに具備する上記[43]に記載のコンピュータプログラム製品。
[46]画像データの処理のためにプロセッサを動的に追加することは、作業負荷に基づいている上記[45]に記載のコンピュータプログラム製品。
[47]複数のプロセッサを使用した並列画像処理のための装置において、
複数のイメージセンサを使用して、画像データを提供する手段と、
前記画像データを前記複数のプロセッサにマッピングする手段であって、各プロセッサは、前記複数のイメージセンサのうちの1つに専用である、手段と、
前記画像データをセグメントに区分して、前記セグメントに区分された画像データを生成する手段と、
前記セグメントに区分された画像データを前記複数のプロセッサのクロックレートに同期させる手段と、
前記セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成する手段とを具備する装置。
[48]前記複数のプロセッサのうちの少なくとも1つのプロセッサは、前記少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理する上記[47]に記載の装置。
[49]前記複数のプロセッサから、画像データ処理のためにプロセッサを動的に追加する手段をさらに具備する上記[47]に記載の装置。
[50]前記画像データの処理のためにプロセッサを動的に追加する手段は、作業負荷に基づいている上記[49]に記載の装置。

Claims (50)

  1. 複数のプロセッサを使用した並列画像処理のための電子機器であって、
    画像データを提供する複数のイメージセンサと、
    セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成する複数のプロセッサであって、前記複数のプロセッサの各プロセッサは、前記複数のイメージセンサのうちの1つに専用である、複数のプロセッサと、
    マルチプルプロセッサインターフェースであって、前記画像データを前記複数のプロセッサにマッピングし、前記画像データをセグメントに区分して前記セグメントに区分された画像データを生成し、前記セグメントに区分された画像データを前記複数のプロセッサのクロックレートに同期させるマルチプルプロセッサインターフェースとを具備する電子機器。
  2. 前記処理された、セグメントに区分された画像データを結合して、処理された画像を生成する結合モジュールをさらに具備する請求項1記載の電子機器。
  3. 前記複数のプロセッサのうちの少なくとも1つのプロセッサは、前記少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理する請求項1記載の電子機器。
  4. 前記マルチプルプロセッサインターフェースは、前記複数のプロセッサから、画像データ処理のためにプロセッサを動的に追加する請求項1記載の電子機器。
  5. 画像データ処理のためにプロセッサを動的に追加することは、作業負荷に基づいている請求項4記載の電子機器。
  6. 前記マルチプルプロセッサインターフェースは、前記画像データをセグメントに区分することが有益である否かを決定し、各プロセッサは、前記マルチプルプロセッサインターフェースが、前記画像データをセグメントに区分することが有益でないと決定した場合に、各プロセッサに専用であるイメージセンサからの画像データのみを処理する請求項1記載の電子機器。
  7. 前記マルチプルプロセッサインターフェースは、セグメントに区分されているなら、前記画像データをより速く処理できる場合に、前記画像データをセグメントに区分することが有益であると決定する請求項6記載の電子機器。
  8. 前記マルチプルプロセッサインターフェースは、前記複数のプロセッサのうちの少なくとも1つが、前記画像データを各個で処理する能力がない場合に、前記画像データをセグメントに区分することが有益であると決定する請求項6記載の電子機器。
  9. 前記マルチプルプロセッサインターフェースは、セグメントに区分されているなら、前記画像データをより少ない電力を使用して処理できる場合に、前記画像データをセグメントに区分することが有益であると決定する請求項6記載の電子機器。
  10. 前記マルチプルプロセッサインターフェースは、前記画像データを前記複数のプロセッサにマッピングするためのマッピングを決定する請求項1記載の電子機器。
  11. 前記マルチプルプロセッサインターフェースは、前記画像データの区分けを決定する請求項1記載の電子機器。
  12. 前記複数のプロセッサのうちの少なくとも1つは、前記複数のプロセッサのうちの別のものとは異なる能力を有する請求項1記載の電子機器。
  13. 前記複数のイメージセンサのうちの少なくとも1つは、前記複数のイメージセンサのうちの別のものとは異なる能力を有する請求項1記載の電子機器。
  14. 前記複数のプロセッサは、前記画像データを各個で処理する能力がない請求項1記載の電子機器。
  15. 前記セグメントに区分された画像データのセグメントは、オーバーラップしている請求項1記載の電子機器。
  16. 前記複数のプロセッサは、前記セグメントに区分された画像データを、リアルタイムで並列に処理する請求項1記載の電子機器。
  17. 前記電子機器は、ワイヤレス通信デバイスである請求項1記載の電子機器。
  18. 前記複数のプロセッサは、イメージシグナルプロセッサ(ISP)である請求項1記載の電子機器。
  19. 前記電子機器は、前記画像データが処理の前に記憶されないように、前記画像データをストリーミングする請求項1記載の電子機器。
  20. 前記結合モジュールは、出力バッファを備える請求項2記載の電子機器。
  21. 前記結合モジュールは、出力インターフェースおよび出力バッファを備える請求項2記載の電子機器。
  22. 複数のプロセッサを使用した並列画像処理のための方法であって、
    複数のイメージセンサを使用して、画像データを電子機器に提供することと、
    前記画像データを前記複数のプロセッサにマッピングすることであって、各プロセッサは、前記複数のイメージセンサのうちの1つに専用である、マッピングすることと、
    前記画像データをセグメントに区分して、セグメントに区分された画像データを生成することと、
    前記セグメントに区分された画像データを前記複数のプロセッサのクロックレートに同期させることと、
    前記セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成することとを具備する方法。
  23. 前記処理された、セグメントに区分された画像データを結合して、処理された画像を生成することをさらに具備する請求項22記載の方法。
  24. 前記複数のプロセッサのうちの少なくとも1つのプロセッサは、前記少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理する請求項22記載の方法。
  25. 前記電子機器は、前記複数のプロセッサから、画像データ処理のためにプロセッサを動的に追加する請求項22記載の方法。
  26. 画像データ処理のためにプロセッサを動的に追加することは、作業負荷に基づいている請求項25記載の方法。
  27. 前記画像データをセグメントに区分することが有益である否かを決定することをさらに具備し、各プロセッサは、前記マルチプルプロセッサインターフェースが、前記画像データをセグメントに区分することが有益でないと決定した場合に、各プロセッサに専用であるイメージセンサからの画像データのみを処理する請求項22記載の方法。
  28. 前記画像データをセグメントに区分することが有益であるか否かを決定することは、セグメントに区分されているなら、前記画像データをより速く処理できるか否かに基づいている請求項27記載の方法。
  29. 前記画像データをセグメントに区分することが有益であると決定することは、前記複数のプロセッサのうちの少なくとも1つが、前記画像データを各個で処理する能力がないか否かに基づいている請求項27記載の方法。
  30. 前記画像データをセグメントに区分することが有益であるか否かを決定することは、セグメントに区分されているなら、前記画像データをより少ない電力を使用して処理できるか否かに基づいている請求項27記載の方法。
  31. 前記画像データを前記複数のプロセッサにマッピングするためのマッピングを決定することをさらに具備する請求項22記載の方法。
  32. 前記画像データの区分けを決定することをさらに含む請求項22記載の方法。
  33. 前記複数のプロセッサのうちの少なくとも1つは、前記複数のプロセッサのうちの別のものとは異なる能力を有する請求項22記載の方法。
  34. 前記複数のイメージセンサのうちの少なくとも1つは、前記イメージセンサのうちの別のものとは異なる能力を有する請求項22記載の方法。
  35. 前記複数のプロセッサは、前記画像データを各個で処理する能力がない請求項22記載の方法。
  36. 前記セグメントに区分された画像データは、オーバーラップしている請求項22記載の方法。
  37. 前記セグメントに区分された画像データを処理することは、リアルタイムで並列に行われる請求項22記載の方法。
  38. 前記電子機器は、ワイヤレス通信デバイスである請求項22記載の方法。
  39. 前記複数のプロセッサは、イメージシグナルプロセッサ(ISP)である請求項22記載の方法。
  40. 前記画像データが処理の前に記憶されないように、前記画像データをストリーミングすることをさらに具備する請求項22記載の方法。
  41. 前記処理された、セグメントに区分された画像データは、出力バッファを使用して結合される請求項23記載の方法。
  42. 前記処理された、セグメントに区分された画像データは、出力インターフェースおよび出力バッファを使用して結合される請求項23記載の方法。
  43. 複数のプロセッサを使用した並列画像処理のためのコンピュータプログラム製品において、
    前記コンピュータプログラム製品は、その上に命令を有している非一過性のコンピュータ読取可能媒体を具備し、
    前記命令は、
    複数のイメージセンサを使用して、画像データを提供するためのコードと、
    前記画像データを前記複数のプロセッサにマッピングするためのコードであって、各プロセッサは、前記複数のイメージセンサのうちの1つに専用である、コードと、
    前記画像データをセグメントに区分して、前記セグメントに区分された画像データを生成するためのコードと、
    前記セグメントに区分された画像データを前記複数のプロセッサのクロックレートに同期させるためのコードと、
    前記セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成するためのコードとを具備するコンピュータプログラム製品。
  44. 前記複数のプロセッサのうちの少なくとも1つのプロセッサは、前記少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理する請求項43記載のコンピュータプログラム製品。
  45. 前記複数のプロセッサから、画像データ処理のためにプロセッサを動的に追加するためのコードをさらに具備する請求項43記載のコンピュータプログラム製品。
  46. 画像データの処理のためにプロセッサを動的に追加することは、作業負荷に基づいている請求項45記載のコンピュータプログラム製品。
  47. 複数のプロセッサを使用した並列画像処理のための装置において、
    複数のイメージセンサを使用して、画像データを提供する手段と、
    前記画像データを前記複数のプロセッサにマッピングする手段であって、各プロセッサは、前記複数のイメージセンサのうちの1つに専用である、手段と、
    前記画像データをセグメントに区分して、前記セグメントに区分された画像データを生成する手段と、
    前記セグメントに区分された画像データを前記複数のプロセッサのクロックレートに同期させる手段と、
    前記セグメントに区分された画像データを処理して、処理された、セグメントに区分された画像データを生成する手段とを具備する装置。
  48. 前記複数のプロセッサのうちの少なくとも1つのプロセッサは、前記少なくとも1つのプロセッサに専用でない少なくとも1つのイメージセンサからの、セグメントに区分された画像データを処理する請求項47記載の装置。
  49. 前記複数のプロセッサから、画像データ処理のためにプロセッサを動的に追加する手段をさらに具備する請求項47記載の装置。
  50. 前記画像データの処理のためにプロセッサを動的に追加する手段は、作業負荷に基づいている請求項49記載の装置。
JP2013538814A 2010-11-12 2011-11-07 複数のプロセッサを使用した並列画像処理 Active JP5654134B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/944,971 2010-11-12
US12/944,971 US8736695B2 (en) 2010-11-12 2010-11-12 Parallel image processing using multiple processors
PCT/US2011/059647 WO2012064672A1 (en) 2010-11-12 2011-11-07 Parallel image processing using multiple processors

Publications (3)

Publication Number Publication Date
JP2013545198A true JP2013545198A (ja) 2013-12-19
JP2013545198A5 JP2013545198A5 (ja) 2014-08-21
JP5654134B2 JP5654134B2 (ja) 2015-01-14

Family

ID=45099163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013538814A Active JP5654134B2 (ja) 2010-11-12 2011-11-07 複数のプロセッサを使用した並列画像処理

Country Status (6)

Country Link
US (1) US8736695B2 (ja)
EP (1) EP2638523B1 (ja)
JP (1) JP5654134B2 (ja)
KR (1) KR101490067B1 (ja)
CN (1) CN103201764B (ja)
WO (1) WO2012064672A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909149B2 (en) * 2011-08-26 2014-12-09 Hewlett-Packard Development Company, L.P. Media module of a device
EP2860927A4 (en) * 2012-06-11 2015-09-23 Huawei Tech Co Ltd DECODER PROCESS AND DECORER FOR RECEIVING A SIGNAL IN A MICROWAVE MIMO SYSTEM
KR102186383B1 (ko) * 2013-03-13 2020-12-03 삼성전자주식회사 이미지를 처리하는 전자장치 및 방법
EP3496389B1 (en) 2013-03-13 2024-05-01 Samsung Electronics Co., Ltd. Electronic device and method for processing image
KR102124188B1 (ko) * 2013-03-13 2020-06-26 삼성전자주식회사 이미지를 처리하는 전자장치 및 방법
JP6134281B2 (ja) 2013-03-13 2017-05-24 三星電子株式会社Samsung Electronics Co.,Ltd. イメージを処理する電子装置及びその動作方法
US9924165B1 (en) * 2013-07-03 2018-03-20 Ambarella, Inc. Interleaved video coding pipeline
KR102023501B1 (ko) * 2013-10-02 2019-09-20 삼성전자주식회사 설정가능한 이미지 처리 파이프라인을 포함하는 시스템 온 칩과, 상기 시스템 온 칩을 포함하는 시스템
TWI526980B (zh) 2013-10-16 2016-03-21 聯詠科技股份有限公司 用於液晶顯示器之非重疊資料資料傳輸之方法以及相關傳輸電路
CN104637454B (zh) * 2013-11-13 2017-05-24 联咏科技股份有限公司 非重迭数据传输的方法以及相关传输电路
US9402018B2 (en) 2013-12-17 2016-07-26 Amazon Technologies, Inc. Distributing processing for imaging processing
US9294263B2 (en) * 2014-01-02 2016-03-22 Advanced Micro Devices, Inc. Methods and systems of synchronizer selection
KR102128468B1 (ko) * 2014-02-19 2020-06-30 삼성전자주식회사 복수의 이미지 신호 프로세서들을 포함하는 이미지 처리 장치 및 이미지 처리 방법
JP6246625B2 (ja) 2014-03-11 2017-12-13 株式会社東芝 紙葉類処理装置およびデータ転送方法
JP6343163B2 (ja) * 2014-04-07 2018-06-13 キヤノン株式会社 集積回路装置
US9582852B2 (en) * 2014-04-11 2017-02-28 Vixs Systems, Inc. Video scaling using multiple video paths
KR101487454B1 (ko) * 2014-06-17 2015-01-28 (주)이지스 Lod 영상 병렬처리방법
CN104123178B (zh) * 2014-07-25 2017-05-17 南京大学 基于图形处理器的并行化约束检测方法
EP2991031A1 (en) * 2014-08-27 2016-03-02 Thomson Licensing Method and apparatus for accelerated pixel-recursive processing of an image signal
KR102254676B1 (ko) * 2014-10-31 2021-05-21 삼성전자주식회사 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
KR102305470B1 (ko) 2015-02-13 2021-09-28 삼성전자주식회사 복수의 영상 처리 채널을 통해 병렬로 영상 신호 처리를 수행하는 영상 신호 처리 장치
US10291813B2 (en) * 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
GB2544333B (en) * 2015-11-13 2018-02-21 Advanced Risc Mach Ltd Display controller
KR102433293B1 (ko) * 2015-12-24 2022-08-18 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
JP6743427B2 (ja) * 2016-03-08 2020-08-19 株式会社リコー 情報処理装置、撮像システムおよびデータ転送方法
CN105827974A (zh) * 2016-04-25 2016-08-03 乐视控股(北京)有限公司 基于单isp芯片打开双摄像头的方法和系统
EP3469547B1 (en) * 2016-06-14 2023-09-20 Razer (Asia-Pacific) Pte. Ltd. Image processing devices, methods for controlling an image processing device, and computer-readable media
GB2551745B (en) * 2016-06-29 2020-04-08 Advanced Risc Mach Ltd Data processing systems
US9992467B2 (en) * 2016-06-30 2018-06-05 Apple Inc. Parallel computer vision and image scaling architecture
CN109196548B (zh) * 2016-07-02 2023-09-01 英特尔公司 用于在高分辨率显示器上提供多个屏幕区域的机制
JP2018133710A (ja) * 2017-02-15 2018-08-23 キヤノン株式会社 画像処理装置および撮像装置
US10922556B2 (en) * 2017-04-28 2021-02-16 Intel Corporation Storage system of DNN outputs for black box
KR102204596B1 (ko) * 2017-06-02 2021-01-19 삼성전자주식회사 프로세서, 이를 포함하는 이미지 프로세싱 장치 및 이미지 프로세싱 방법
EP3661431A2 (en) 2017-08-04 2020-06-10 University College Cork-National University of Ireland Cork Tissue penetrating surgical systems and methods
CN107633477B (zh) * 2017-10-20 2021-04-20 上海兆芯集成电路有限公司 图像处理方法及其装置
US10956770B1 (en) * 2017-11-14 2021-03-23 Snap Inc. Systems and methods for multi-device image processing
US10796180B2 (en) 2018-02-12 2020-10-06 Securiport Llc Parallel image processing for multiple biometrics capture
KR102637732B1 (ko) * 2018-09-21 2024-02-19 삼성전자주식회사 이미지 신호 프로세서, 상기 이미지 신호 프로세서의 동작 방법 및 상기 이미지 신호 프로세서를 포함하는 애플리케이션 프로세서
CN110264473B (zh) * 2019-06-13 2022-01-04 Oppo广东移动通信有限公司 基于多帧图像的图像处理方法、装置及电子设备
US10997401B2 (en) * 2019-06-27 2021-05-04 RoundhouseOne Inc. Computer vision system that provides information relative to animal wellness
TWI701948B (zh) * 2019-07-18 2020-08-11 香港商京鷹科技股份有限公司 影像感測裝置及影像感測方法
CN112165572A (zh) * 2020-09-10 2021-01-01 Oppo(重庆)智能科技有限公司 图像处理方法、装置、终端及存储介质
US11995012B2 (en) * 2022-03-15 2024-05-28 Samsung Electronics Co., Ltd. High speed interface for multi image sensor device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0314186A (ja) * 1989-06-13 1991-01-22 Nippon Steel Corp 並列画像処理装置
JP2005025599A (ja) * 2003-07-04 2005-01-27 Hitachi High-Technologies Corp 画像処理装置
JP2010153992A (ja) * 2008-12-24 2010-07-08 Panasonic Corp 画像処理装置および固体撮像装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493643A (en) * 1994-05-03 1996-02-20 Loral Aerospace Corp. Image generator architecture employing tri-level fixed interleave processing and distribution buses
US5606707A (en) 1994-09-30 1997-02-25 Martin Marietta Corporation Real-time image processor
US5917962A (en) 1995-06-06 1999-06-29 Apple Computer, Inc. Method and apparatus for partitioning an image
US6879341B1 (en) * 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
WO2001069919A1 (en) 2000-03-10 2001-09-20 Datacube, Inc. Image processing system using an array processor
US7027665B1 (en) 2000-09-29 2006-04-11 Microsoft Corporation Method and apparatus for reducing image acquisition time in a digital imaging device
JP4335516B2 (ja) * 2001-12-04 2009-09-30 パナソニック株式会社 複数のプロセッサを用いた動画像符号化装置およびその方法
JP2004289631A (ja) * 2003-03-24 2004-10-14 Fuji Photo Film Co Ltd デジタルカメラ
US7492390B2 (en) * 2003-07-14 2009-02-17 Arecont Vision, Llc. Dual spectral band network camera
US7680192B2 (en) * 2003-07-14 2010-03-16 Arecont Vision, Llc. Multi-sensor panoramic network camera
US7075541B2 (en) 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7554589B2 (en) * 2004-08-20 2009-06-30 Micron Technology, Inc. Redundancy in column parallel or row architectures
US7649537B2 (en) 2005-05-27 2010-01-19 Ati Technologies, Inc. Dynamic load balancing in multiple video processing unit (VPU) systems
JP4415978B2 (ja) 2006-08-02 2010-02-17 ソニー株式会社 画像信号処理装置、画像信号処理方法
JP2009010821A (ja) * 2007-06-29 2009-01-15 Sony Corp 撮像装置および撮像方法、記録媒体、並びに、プログラム
KR101473215B1 (ko) * 2008-04-18 2014-12-17 삼성전자주식회사 파노라마 이미지 생성장치 및 그 방법
CN101487694B (zh) * 2009-03-03 2011-08-03 无锡易斯科电子技术有限公司 一种处理图像的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0314186A (ja) * 1989-06-13 1991-01-22 Nippon Steel Corp 並列画像処理装置
JP2005025599A (ja) * 2003-07-04 2005-01-27 Hitachi High-Technologies Corp 画像処理装置
JP2010153992A (ja) * 2008-12-24 2010-07-08 Panasonic Corp 画像処理装置および固体撮像装置

Also Published As

Publication number Publication date
CN103201764A (zh) 2013-07-10
EP2638523A1 (en) 2013-09-18
WO2012064672A1 (en) 2012-05-18
KR101490067B1 (ko) 2015-02-11
EP2638523B1 (en) 2017-06-28
JP5654134B2 (ja) 2015-01-14
KR20130111579A (ko) 2013-10-10
US20120120256A1 (en) 2012-05-17
US8736695B2 (en) 2014-05-27
CN103201764B (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
JP5654134B2 (ja) 複数のプロセッサを使用した並列画像処理
US8619085B2 (en) Method and system for compressing tile lists used for 3D rendering
US10176560B2 (en) Multi-block memory reads for image de-warping
TW201519650A (zh) 串流中捲動快門補償
US9427665B2 (en) Game providing server
US9443281B2 (en) Pixel-based warping and scaling accelerator
US8798386B2 (en) Method and system for processing image data on a per tile basis in an image sensor pipeline
CN111726597A (zh) 用于连贯且完整的视图合成的多通道附加工具
US8527689B2 (en) Multi-destination direct memory access transfer
US8797325B2 (en) Method and system for decomposing complex shapes into curvy RHTs for rasterization
GB2538797B (en) Managing display data
US20080292216A1 (en) Method and system for processing images using variable size tiles
US10747692B2 (en) Image processing accelerator
US9239697B2 (en) Display multiplier providing independent pixel resolutions
US8447035B2 (en) Contract based memory management for isochronous streams
US10785512B2 (en) Generalized low latency user interaction with video on a diversity of transports
JP2015096920A (ja) 画像処理装置および画像処理システムの制御方法
JP2013025618A (ja) 画像処理システム、画像処理方法、及びコンピュータプログラム
US9135036B2 (en) Method and system for reducing communication during video processing utilizing merge buffering
CN113728622A (zh) 用于无线传输图像的方法及装置、存储介质及电子设备
CN115880156B (zh) 一种多图层拼接显示控制方法和装置
US20130286007A1 (en) Apparatus and method for displaying stereo-scopic image in electronic device
JP5901952B2 (ja) 画像処理装置およびそれを備える画像表示端末
TW202236209A (zh) 像素對像素神經網路中的資料處理
TW201314624A (zh) 處理影像旋轉的方法與裝置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140630

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140729

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140910

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: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141119

R150 Certificate of patent or registration of utility model

Ref document number: 5654134

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250