(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024151637
(43)【公開日】2024-10-25
(54)【発明の名称】半導体装置および画像処理システム
(51)【国際特許分類】
H04L 65/70 20220101AFI20241018BHJP
G06F 13/16 20060101ALI20241018BHJP
【FI】
H04L65/70
G06F13/16 510E
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023065148
(22)【出願日】2023-04-12
(71)【出願人】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】永吉 功
(72)【発明者】
【氏名】寺島 和昭
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160GA07
5B160KA08
(57)【要約】
【課題】メモリの使用効率を高められる半導体装置および画像処理システムを提供する。
【解決手段】インタフェース回路は、第1のチャネルの画像データ IMGに含まれるkライン目のラインデータを第1のパケット PKTに搭載して出力したのち、第2のチャネルの画像データ IMGに含まれるkライン目のラインデータを第2のパケット PKTに搭載して出力する。チャネル複合回路 21aは、メモリ MEMに対して、第1のチャネルの画像データ IMGに含まれるkライン目のラインデータを第1のアドレス範囲に書き込んだのち、第2のチャネルの画像データ IMGに含まれるkライン目のラインデータを第1のアドレス範囲に連続する第2のアドレス範囲に書き込む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
第1のチャネルおよび第2のチャネルを含む複数のチャネルの画像データを入力し、前記複数のチャネルの画像データを搭載した複数のパケットを出力するインタフェース回路と、
前記複数のパケットを入力し、前記複数のパケットに搭載される前記複数のチャネルの画像データをメモリに書き込むチャネル複合回路と、
を備え、
前記複数のチャネルの画像データのそれぞれは、複数本のラインデータを含み、
前記インタフェース回路は、前記第1のチャネルの画像データに含まれるkライン目のラインデータを第1のパケットに搭載して出力したのち、前記第2のチャネルの画像データに含まれるkライン目のラインデータを第2のパケットに搭載して出力し、
前記チャネル複合回路は、前記メモリに対して、前記第1のチャネルの画像データに含まれるkライン目のラインデータを第1のアドレス範囲に書き込んだのち、前記第2のチャネルの画像データに含まれるkライン目のラインデータを前記第1のアドレス範囲に連続する第2のアドレス範囲に書き込む、
半導体装置。
【請求項2】
請求項1に記載の半導体装置において、
前記複数のパケットは、MIPI(Mobile Industry Processor Interface) CSI-2(Camera Serial Interface 2)規格に基づくフォーマットを有する、
半導体装置。
【請求項3】
請求項1に記載の半導体装置において、
前記チャネル複合回路は、
前記複数のチャネルの画像データにおけるラインサイズの合計値よりも大きい値であり、かつ、iを1以上の整数、BWを前記メモリのバス幅として、iが最小となる、BWのi倍の値を有するラインストライドが設定されるラインストライドレジスタを備え、
LCUNTを整数として、前記メモリに対して、全てのチャネルの画像データに含まれるkライン目のラインデータを、前記ラインストライドのLCUNT倍に基づくライン開始アドレスから連続して書き込み、全てのチャネルの画像データに含まれる<k+1>ライン目のラインデータを、前記ラインストライドの<LCUNT+1>倍に基づくライン開始アドレスから連続して書き込む、
半導体装置。
【請求項4】
請求項3に記載の半導体装置において、
前記インタフェース回路は、前記複数のチャネルの画像データに含まれるラインデータをそれぞれ搭載した前記複数のパケットを、ライン毎に、固定のチャネル順で出力し、
前記チャネル複合回路は、ライン毎の前記ライン開始アドレスからの相対的なアドレスであり、前記固定のチャネル順に基づいて定まる、ラインデータのチャネル毎の開始アドレスを、レジスタまたはメモリである記憶領域に格納する、
半導体装置。
【請求項5】
請求項3に記載の半導体装置において、
前記インタフェース回路は、前記複数のチャネルの画像データに含まれるラインデータをそれぞれ搭載した前記複数のパケットを、ライン毎に、可変のチャネル順で出力し、
前記チャネル複合回路は、ライン毎の前記ライン開始アドレスからの相対的なアドレスであり、ライン毎の前記可変のチャネル順を認識することで定まる、ラインデータのライン毎かつチャネル毎の開始アドレスを、レジスタまたはメモリである記憶領域に格納する、
半導体装置。
【請求項6】
請求項2に記載の半導体装置において、
前記チャネル複合回路は、
前記複数のチャネルの画像データに対して共通に設けられ、前記複数のパケットがそれぞれ属するチャネルを、各パケットのヘッダ情報に基づいて識別するパケット識別回路と、
前記複数のチャネルの画像データに対して共通に設けられ、各パケットに含まれるラインデータを抽出するデータ抽出回路と、
を備える、
半導体装置。
【請求項7】
請求項6に記載の半導体装置において、
前記パケット識別回路は、前記ヘッダ情報に含まれる仮想チャネル領域の値とデータタイプ領域の値との組み合わせに基づいて、前記複数のパケットがそれぞれ属するチャネルを識別する、
半導体装置。
【請求項8】
対象物を撮像し、第1のチャネルおよび第2のチャネルを含む複数のチャネルの画像データを作成するイメージセンサと、
前記複数のチャネルの画像データが格納されるメモリと、
前記複数のチャネルの画像データを入力し、前記複数のチャネルの画像データを搭載した複数のパケットを出力するインタフェース回路と、
前記複数のパケットを入力し、前記複数のパケットに搭載される前記複数のチャネルの画像データを前記メモリに書き込むチャネル複合回路と、
前記メモリに格納された前記複数のチャネルの画像データ、または前記チャネル複合回路から転送された画像データに対して、デモザイク処理を含む画像処理を実行し、画像処理後の画像データを前記メモリに書き込むISP(Image Signal Processor)と、
を備え、
前記複数のチャネルの画像データのそれぞれは、複数本のラインデータを含み、
前記インタフェース回路は、前記第1のチャネルの画像データに含まれるkライン目のラインデータを第1のパケットに搭載して出力したのち、前記第2のチャネルの画像データに含まれるkライン目のラインデータを第2のパケットに搭載して出力し、
前記チャネル複合回路は、前記メモリに対して、前記第1のチャネルの画像データに含まれるkライン目のラインデータを第1のアドレス範囲に書き込んだのち、前記第2のチャネルの画像データに含まれるkライン目のラインデータを前記第1のアドレス範囲に連続する第2のアドレス範囲に書き込む、
画像処理システム。
【請求項9】
請求項8に記載の画像処理システムにおいて、
さらに、前記ISPによって前記メモリに書き込まれた前記画像処理後の画像データ、または前記チャネル複合回路によって前記メモリに書き込まれた前記複数のチャネルの画像データに対して画像認識処理を実行するイメージプロセッサを備える、
画像処理システム。
【請求項10】
請求項8に記載の画像処理システムにおいて、
前記複数のパケットは、MIPI(Mobile Industry Processor Interface) CSI-2(Camera Serial Interface 2)規格に基づくフォーマットを有する、
画像処理システム。
【請求項11】
請求項9に記載の画像処理システムにおいて、
前記チャネル複合回路は、
前記複数のチャネルの画像データにおけるラインサイズの合計値よりも大きい値であり、かつ、iを1以上の整数、BWを前記メモリのバス幅として、iが最小となる、BWのi倍の値を有するラインストライドが設定されるラインストライドレジスタを備え、
LCUNTを整数として、前記メモリに対して、全てのチャネルの画像データに含まれるkライン目のラインデータを、前記ラインストライドのLCUNT倍に基づくライン開始アドレスから連続して書き込み、全てのチャネルの画像データに含まれる<k+1>ライン目のラインデータを、前記ラインストライドの<LCUNT+1>倍に基づくライン開始アドレスから連続して書き込む、
画像処理システム。
【請求項12】
請求項11に記載の画像処理システムにおいて、
前記インタフェース回路は、前記複数のチャネルの画像データに含まれるラインデータをそれぞれ搭載した前記複数のパケットを、ライン毎に、固定のチャネル順で出力し、
前記チャネル複合回路は、ライン毎の前記ライン開始アドレスからの相対的なアドレスであり、前記固定のチャネル順に基づいて定まる、ラインデータのチャネル毎の開始アドレスを、レジスタまたはメモリである記憶領域に格納し、
前記ISPまたは前記イメージプロセッサは、前記メモリに格納された前記複数のチャネルの画像データに対して処理を実行する場合、前記記憶領域に格納された前記ラインデータのチャネル毎の開始アドレスを参照することで、前記複数のチャネルの画像データを前記メモリから読み出す、
画像処理システム。
【請求項13】
請求項11に記載の画像処理システムにおいて、
前記インタフェース回路は、前記複数のチャネルの画像データに含まれるラインデータをそれぞれ搭載した前記複数のパケットを、ライン毎に、可変のチャネル順で出力し、
前記チャネル複合回路は、ライン毎の前記ライン開始アドレスからの相対的なアドレスであり、前記ライン毎の可変のチャネル順を認識することで定まる、ラインデータのライン毎かつチャネル毎の開始アドレスを、レジスタまたはメモリである記憶領域に格納し、
前記ISPまたは前記イメージプロセッサは、前記メモリに格納された前記複数のチャネルの画像データに対して処理を実行する場合、前記記憶領域に格納された前記ラインデータのライン毎かつチャネル毎の開始アドレスを参照することで、前記複数のチャネルの画像データを前記メモリから読み出す、
画像処理システム。
【請求項14】
請求項10に記載の画像処理システムにおいて、
前記チャネル複合回路は、
前記複数のチャネルの画像データに対して共通に設けられ、前記複数のパケットがそれぞれ属するチャネルを、各パケットのヘッダ情報に基づいて識別するパケット識別回路と、
前記複数のチャネルの画像データに対して共通に設けられ、各パケットに含まれるラインデータを抽出するデータ抽出回路と、
を備える、
画像処理システム。
【請求項15】
請求項14に記載の画像処理システムにおいて、
前記パケット識別回路は、前記ヘッダ情報に含まれる仮想チャネル領域の値とデータタイプ領域の値との組み合わせに基づいて、前記複数のパケットがそれぞれ属するチャネルを識別する、
画像処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置および画像処理システムに関する。
【背景技術】
【0002】
特許文献1には、異なる領域のデータを並行して取り込んで記憶回路に転送することが可能なマイクロコンピュータが示される。当該マイクロコンピュータは、カメラからの画像データの中から所定領域の画像データを取り込んでメモリブロックに転送するダイレクトRAMインタフェース(DRI)と、カメラからの画像データの中のそれぞれ異なる領域の画像データをメモリブロックに転送するようにDRIを制御するCPUとを含む。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、MIPI(Mobile Industry Processor Interface) CSI-2(Camera Serial Interface 2)規格等に基づくインタフェース回路は、イメージセンサ、すなわちカメラによって生成されたRAWデータ等の画像データと、メタデータとをパケットに搭載して出力する。このパケットに搭載された画像データおよびメタデータは、メモリに格納されると共に、ISP(Image Signal Processor)等によっても処理される。ISPは、デモザイク処理によって、RAWデータをRGBフォーマットまたはYUVフォーマット等に変換したのち、変換後の画像データをメモリに書き込む。画像認識等の処理は、例えば、この変換後の画像データを用いて行われる。
【0005】
一方、近年、MIPI CSI-2規格では、サラウンドビューシステム等に鑑みて、16個の仮想チャネル(VC)、すなわち16個のカメラと、216種類の画像フォーマット、すなわち216種類のデータタイプ(DT)とに対応可能となっている。また、各カメラは、例えば、露出量(エクスポージャ)が異なる最大4種類の画像を出力可能、すなわち4個のエクスポージャチャネル(EC)に対応可能となっている。これらに基づくと、インタフェース回路から出力される画像データの種類は、最大で<VC x EC x DT> = <16 x 4 x 65535>種類となる。このため、メモリを効率的に使用することが求められる。また、このような多種類の画像データを種類別に区別してメモリに格納するための効率的な仕組みが求められる。
【0006】
後述する実施の形態は、このようなことに鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記載および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0007】
一実施の形態の半導体装置は、インタフェース回路と、チャネル複合回路とを備える。インタフェース回路は、第1のチャネルおよび第2のチャネルを含む複数のチャネルの画像データを入力し、複数のチャネルの画像データを搭載した複数のパケットを出力する。チャネル複合回路は、複数のパケットを入力し、複数のパケットに搭載される複数のチャネルの画像データをメモリに書き込む。ここで、複数のチャネルの画像データのそれぞれは、複数本のラインデータを含む。インタフェース回路は、第1のチャネルの画像データに含まれるkライン目のラインデータを第1のパケットに搭載して出力したのち、第2のチャネルの画像データに含まれるkライン目のラインデータを第2のパケットに搭載して出力する。チャネル複合回路は、メモリに対して、第1のチャネルの画像データに含まれるkライン目のラインデータを第1のアドレス範囲に書き込んだのち、第2のチャネルの画像データに含まれるkライン目のラインデータを第1のアドレス範囲に連続する第2のアドレス範囲に書き込む。
【発明の効果】
【0008】
一実施の形態の半導体装置を用いることで、メモリの使用効率を高められる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、第1の実施の形態による画像処理システムの構成例を示す概略図である。
【
図2】
図2は、
図1におけるチャネル複合回路の概略的な構成例および動作例を示す模式図である。
【
図3】
図3は、
図1におけるインタフェース回路によって出力されるパケットの、フォーマットの一例を示す概略図である。
【
図4】
図4は、
図2に示されるチャネル複合回路へのパケットの入力タイミングを模式的に表すタイミングチャートである。
【
図5A】
図2に示されるチャネル複合回路と、
図15に示されるチャネル複合回路とで、形成されるメモリマップの具体例を比較する模式図である。
【
図5B】
図2に示されるチャネル複合回路と、
図15に示されるチャネル複合回路とで、形成されるメモリマップの具体例を比較する模式図である。
【
図6A】
図6Aは、
図2に示されるチャネル複合回路の詳細な構成例を示す回路ブロックである。
【
図7】
図7は、
図2に示されるチャネル複合回路と、
図15に示されるチャネル複合回路とで、各種性能を比較した結果を示す図である。
【
図8】
図8は、第2の実施の形態による画像処理システムにおいて、
図1におけるチャネル複合回路の概略的な構成例および動作例を示す模式図である。
【
図9】
図9は、
図8に示されるチャネル複合回路へのパケットの入力タイミングを模式的に表すタイミングチャートである。
【
図10】
図10は、
図8に示されるチャネル複合回路によって生成される開始アドレスデータの構成例を示す概略図である。
【
図12】
図12は、
図8に示されるチャネル複合回路と、
図15に示されるチャネル複合回路とで、各種性能を比較した結果を示す図である。
【
図13】
図13は、第3の実施の形態による画像処理システムにおいて、
図1におけるチャネル複合回路の概略的な構成例および動作例を示す模式図である。
【
図14】
図14は、
図13に示されるチャネル複合回路によって生成されるマップデータの構成例を示す概略図である。
【
図15】
図15は、
図2に対する比較例となるチャネル複合回路の概略的な構成例および動作例を示す模式図である。
【発明を実施するための形態】
【0010】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【0011】
以下、実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
【0012】
(第1の実施の形態)
<画像処理システムの概略>
図1は、第1の実施の形態による画像処理システムの構成例を示す概略図である。当該画像処理システムは、例えば、ADAS(Advanced Driver Assistance Systems)といった車載用のシステム等である。画像処理システムは、イメージセンサ 11と、半導体装置 10と、外部メモリであるRAM(Random Access Memory) 12と、ディスプレイ 13と、を備える。イメージセンサ 11は、マトリックス状に配置されたCMOS(Complementary Metal Oxide Semiconductor)型またはCCD(Charge Coupled Device)型の撮像素子、言い換えれば画素を含む。イメージセンサ 11は、対象物を撮像し、例えば、複数のチャネルの画像データ IMGを生成する。
【0013】
RAM 12は、例えば、DRAM(Dynamic RAM)等である。ディスプレイ 13は、例えば、液晶ディスプレイ、または、有機EL(Electro Luminescence)ディスプレイ等である。半導体装置 10は、例えば、車載用LSI(Large Scale Integration)であり、1個の半導体チップで構成されるSoC(System on a Chip)またはマイクロコントローラ等である。なお、イメージセンサ 11は、複数設けられもよい。
【0014】
半導体装置 10は、イメージセンサ 11からの画像データ IMGを対象として、画像処理および画像認識処理を実行する。また、半導体装置 10は、必要に応じて、画像をディスプレイ 13に表示させる。半導体装置 10は、インタフェース回路 20と、チャネル複合回路 21と、ISP 22と、スケーラ23と、イメージプロセッサ 24と、メインプロセッサ 25と、内部メモリであるRAM 26と、メモリコントローラ 27と、システムバス 28とを備える。
【0015】
システムバス 28は、ここでは、チャネル複合回路 21、ISP 22、スケーラ 23、イメージプロセッサ 24、メインプロセッサ 25、RAM 26、およびメモリコントローラ 27を相互に接続する。RAM 26は、例えば、DRAMおよびSRAM(Static RAM)の組み合わせで構成される。メモリコントローラ 27は、外部メモリであるRAM 12へのアクセスを制御する。RAM 12とRAM 26との違いは、外部メモリか内部メモリかであり、明細書では、特に区別する必要がない場合、RAM 12,26をメモリ MEMと総称する。なお、図示は省略されるが、半導体装置 10は、プログラム等が格納される不揮発性メモリも備える。
【0016】
インタフェース回路 20は、例えば、MIPI CSI-2規格に基づく各種機能を有する回路である。インタフェース回路 20は、イメージセンサ 11から伝送されるデータを入力する。イメージセンサ 11から伝送されるデータは、複数のチャネルの画像データ IMGを含む。画像データ IMGは、例えば、ベイヤー配列に基づく各画素の画素値を含んだRAWデータである。
【0017】
また、イメージセンサ 11から伝送されるデータはメタデータも含む。メタデータには、例えば、イメージセンサ 11の設定値等を代表に、製品固有の様々な情報が記載される。そして、インタフェース回路 20は、当該複数のチャネルの画像データ IMGと、メタデータとを適宜パケット PKTに搭載し、画像データ IMGまたはメタデータを搭載した複数のパケット PKTを出力する。当該複数のパケット PKTは、MIPI CSI-2規格に基づくフォーマットを有する。
【0018】
チャネル複合回路 21は、詳細は後述するが、インタフェース回路 20からの複数のパケット PKTを入力し、複数のパケット PKTに搭載される複数のチャネルの画像データ IMGおよびメタデータをメモリ MEMに書き込む。この際に、チャネル複合回路 21は、画像データ IMGとメタデータとを識別し、さらに、各データが属するチャネルも識別した上で、各データをメモリ MEMに書き込む。また、チャネル複合回路 21は、必要に応じて、予め定めた設定内容に基づく画像データ IMG、例えば特定チャネルの画像データ IMG等を、ISP 22へ転送する。
【0019】
ISP 22は、メモリ MEMに格納された複数のチャネルの画像データIMG、またはチャネル複合回路 21から転送された画像データ IMGに対して、後述するデモザイク処理、複数の露光量(エクスポージャ)を持った画像を合成してHDR(High-Dynamic-Range)画像を生成するHDR画像生成処理、HDR画像に対するトーンマッピング処理、黒レベル補正処理、色空間変換処理などの処理を行う。すなわち、これらの処理は、キャプチャしたRAW画像データに対してスケーラ 23やイメージプロセッサ 24等での画像認識処理を行うための前段階における補正やフォーマット変換処理である。例えば、デモザイク処理では、ISP 22は、対象の画像データ IMG、例えばベイヤー配列に基づくRAWデータに対して欠落する色の画素値を補間する処理等を行う。これによってRGBフォーマットまたはYUVフォーマット等を有する画像データが生成される。そして、ISP 22は、画像処理後の画像データをメモリ MEMに書き込む。
【0020】
スケーラ 23は、例えば、メモリ MEMに格納された画像処理後の画像データに対して画像の縮尺を変更することで、全体縮小画像等を生成する。イメージプロセッサ 24は、例えば、GPU(Graphics Processing Unit)またはアクセラレータといった画像認識用の処理回路である。イメージプロセッサ 24は、ISP 22によってメモリ MEMに書き込まれた画像処理後の画像データ、またはチャネル複合回路 21によってメモリ MEMに書き込まれた複数のチャネルの画像データ IMGに対して画像認識処理を実行する。画像認識処理は、例えば、ニューラルネットワークを用いた物体検知処理等である。
【0021】
メインプロセッサ 25は、例えば、CPU(Central Processing Unit)、またはCPUとDSP(Digital Signal Processor)との組み合わせによって構成される。メインプロセッサ 25は、RAM 26等に格納されたプログラムを実行することで、画像処理および画像認識処理を含む、半導体装置 10全体の処理シーケンスを制御する。すなわち、メインプロセッサ 25は、半導体装置 10に含まれる各種内部回路と適宜連携しながら、半導体装置 10全体の処理シーケンスを制御する。
【0022】
<チャネル複合回路の概略>
図2は、
図1におけるチャネル複合回路の概略的な構成例および動作例を示す模式図である。
図3は、
図1におけるインタフェース回路によって出力されるパケットの、フォーマットの一例を示す概略図である。
図4は、
図2に示されるチャネル複合回路へのパケットの入力タイミングを模式的に表すタイミングチャートである。
【0023】
図3に示されるように、MIPI CSI-2規格では、ショートパケット PKT_Sとロングパケット PKT_Lとが規定される。ショートパケット PKT_Sは、例えば、画像データ IMGの開始/終了を表すFS(Frame Start)/FE(Frame End)や、画像データ IMGを構成するH本のライン L[0]-L[H-1]のそれぞれの開始/終了を表すLS(Line Start)/LE(Line End)等を通知するためのパケットである。
【0024】
ショートパケット PKT_Sは、仮想チャネル(VC)の値およびデータタイプ(DT)の値を含む。仮想チャネル(VC)の値およびデータタイプ(DT)の値は、イメージセンサ 11から送信されるデータに付加されている情報に基づいて設定される。仮想チャネル(VC)には、例えば、個々のイメージセンサ 11、すなわち個々のカメラを識別するための値が設定される。データタイプ(DT)には、例えば、画像データ、メタデータ、黒レベル補正用データといったデータの種類、または画像フォーマットの種類等を識別するための値が設定される。また、ショートパケット PKT_Sは、<Data Field>を含む。当該<Data Field>には、例えば、FS(Frame Start)/FE(Frame End)、またはLS(Line Start)/LE(Line End)等を表す値が設定される。
【0025】
一方、ロングパケット PKT_Lは、画像データ IMGに含まれるH本のライン L[0]-L[H-1]のそれぞれのラインデータ DATを伝送するためのパケットである。ロングパケット PKT_Lは、当該ラインデータ DATに加えて、ヘッダ情報 PHを含んでいる。ヘッダ情報 PHは、ショートパケット PKT_Sの場合と同様の仮想チャネル(VC)の値およびデータタイプ(DT)の値に加えて、ワードカウント(WC)の値を含む。
【0026】
ワードカウント(WC)の値は、パケットに搭載されたラインデータ DATのサイズを表す。例えば、1本のラインデータ DATを1個のロングパケット PKT_Lで伝送する場合、ワードカウント(WC)の値は、画像データ IMGのラインサイズ Wとなる。なお、メタデータも、ラインデータ DATの場合と同様にして、ロングパケット PKT_Lによって伝送される。
【0027】
図2の例では、チャネル複合回路 21aは、図示しないインタフェース回路 20を介して、3個のチャネルの画像データ IMG1-IMG3をそれぞれ搭載した3つのパケットPKT、詳細には3つのロングパケット PKT_Lを入力する。チャネル複合回路 21aは、ヘッダ情報 PHに含まれる仮想チャネル(VC)の値とデータタイプ(DT)の値との組み合わせに基づいて3個のチャネルを認識する。3個のチャネルの画像データ IMG1-IMG3は、それぞれ、ラインサイズ W1-W3およびライン本数 H1-H3を有する。この例では、{W1 > W2 > W3}および{H1 > H3 >H2}の関係となっている。
【0028】
このような3個のチャネルの画像データ IMG1-IMG3を前提とした場合、インタフェース回路 20は、例えば、
図4に示されるようなタイミングでパケット PKTを出力する。すなわち、
図4では、インタフェース回路 20は、3個のチャネルの画像データ IMG1-IMG3に含まれるラインデータをそれぞれ搭載した複数のパケット PKTを、ライン毎に、固定のチャネル順で出力する。
【0029】
具体的には、インタフェース回路 20は、まず、3個のチャネルの画像データ IMG1-IMG3にそれぞれ含まれるライン L[0]のラインデータ DAT[0]を、詳細には、ラインデータ DAT[0]を搭載した3個のロングパケット PKT_Lを、チャネル1,2,3の順で出力する。この際に、インタフェース回路 20は、あるチャネルのラインデータ DAT[0]をアクティブ期間 Tactで出力したのち、所定のブランク期間 Tblnkを経て、次のチャネルのラインデータ DAT[0]を出力する。
【0030】
続いて、インタフェース回路 20は、3個のチャネルの画像データIMG1-IMG3にそれぞれ含まれる次のライン L[1]のラインデータ DAT[1]を、詳細には、ラインデータ DAT[1]を搭載した3個のロングパケット PKT_Lを、同じくチャネル1,2,3の順で出力する。以降も同様の出力が行われる。なお、ライン L[H2-1]は、画像データ IMG2の最終ラインであるため、次のライン L[H2]以降では、画像データ IMG2の出力は行われない。同様に、ライン L[H3-1]は、画像データ IMG3の最終ラインであるため、次のライン L[H3]以降では、画像データ IMG3の出力は行われない。
【0031】
図2において、チャネル複合回路 21aは、キャプチャ回路 35aと、設定レジスタ 36aと、アドレス生成器 37とを備える。チャネル複合回路 21aは、概略的には、次のように動作する。まず、チャネル複合回路 21aへの入力として、
図4に示したように、インタフェース回路 20は、第1のチャネルの画像データ、例えばIMG1に含まれるkライン目のラインデータ、例えばDAT[k]を第1のパケット PKTに搭載して出力する。その後、インタフェース回路 20は、第2のチャネルの画像データ IMG2に含まれるkライン目のラインデータ DAT[k]を第2のパケット PKTに搭載して出力する。
【0032】
一方、チャネル複合回路 21aは、第1のパケット PKTを入力した際に、メモリ MEMに対して、第1のチャネルの画像データ IMG1に含まれるkライン目のラインデータ DAT[k]を第1のアドレス範囲に書き込む。その後、チャネル複合回路 21aは、第2のパケット PKTを入力した際に、メモリ MEMに対して、第2のチャネルの画像データ IMG2に含まれるkライン目のラインデータ DAT[k]を、第1のアドレス範囲に連続する第2のアドレス範囲に書き込む。
【0033】
詳細には、設定レジスタ 36aは、例えば、チャネル設定レジスタと、ラインストライドレジスタとを含む。チャネル設定レジスタには、チャネル識別子 IMG_ID毎の仮想チャネル(VC)の値およびデータタイプ(DT)の値が設定される。すなわち、各チャネルは、仮想チャネル(VC)の値とデータタイプ(DT)の値との組み合わせによって区別される。ラインストライドレジスタには、ラインストライド STRDが設定される。
【0034】
ラインストライド STRDは、複数のチャネルの画像データ IMGにおけるラインサイズ Wの合計値よりも大きい値に定められる。その条件の下で、ラインストライド STRDは、iを1以上の整数、BWをメモリ MEMのバス幅として、望ましくは、iが最小となる、BWのi倍の値に定められる。
【0035】
図2の例では、ラインストライド STRDは、メモリマップ 30aに示されるように、画像データ IMG1-IMG3におけるラインサイズの合計値 <W1+W2+W3>によりも若干大きい値に定められる。ただし、仮に、ラインサイズの合計値 <W1+W2+W3>がBWのi倍の値に一致する場合、ラインストライド STRDの値は、ラインサイズの合計値 <W1+W2+W3>であってよい。このような設定により、例えば、メモリ MEMのバス幅 BWが32バイトである場合、ラインストライド STRDの値と、ラインサイズの合計値 <W1+W2+W3>との差分は、32バイト未満の値となる。
【0036】
キャプチャ回路 35aは、設定レジスタ 36aにおけるチャネル設定レジスタの設定内容、すなわち仮想チャネル(VC)の値およびデータタイプ(DT)の値に基づき、入力された複数のパケット PKTが属するチャネルをそれぞれ識別する。そして、キャプチャ回路 35aは、当該パケット PKTに含まれるラインデータ DATを、識別したチャネルのラインデータ DATとして抽出する。この抽出されたラインデータ DATは、メモリ MEMに書き込まれる。アドレス生成器 37は、抽出されたラインデータ DATをメモリ MEMに書き込む際のメモリアドレス MADRを生成する。アドレス生成器 37は、詳細には、式(1)に基づいて、メモリアドレス MADRを生成する。
【0037】
MADR = STRD x LCUNT + SADR + WCUNT …(1)
【0038】
式(1)において、LCUNTは、ラインカウント数である。例えば、キャプチャ回路 35aは、ライン毎に、全てのチャネル、
図2の例では3個のチャネルのラインデータをメモリ MEMに書き込んだ際に、ラインカウント数 LCUNTをインクリメントする。その結果、<STRD x LCUNT>は、ライン毎のライン開始アドレスを表す。
【0039】
また、SADRは、ライン毎のライン開始アドレスからの相対的なアドレスであり、ラインデータ DATのチャネル毎の開始アドレスを表す。
図2の例では、
図4に示したように、入力されるラインデータ DATのチャネル順が固定であるため、開始アドレス SADRも固定的に定められる。
図2の例では、開始アドレス SADRは、画像データ IMG1,IMG2,IMG3に対して、それぞれ、0,W1,<W1+W2>である。なお、ラインサイズ W1-W3は、既知の値であり、例えば、設定レジスタ 36aに予め設定される。
【0040】
WCUNTは、開始アドレス SADRからの相対的なアドレスを表し、ラインサイズ W内でのバイト位置を定めるライン内カウント値である。ライン内カウント値 WCUNTは、メモリ MEMへの書き込みが完了したデータサイズに基づいて順次更新される。
【0041】
このような構成および動作により、メモリ MEMに、
図2に示されるようなメモリマップ 30aが形成される。すなわち、チャネル複合回路 21aは、ラインカウント数 LCUNTを整数として、メモリ MEMに対して、全てのチャネルの画像データ IMG1-IMG3に含まれるkライン目のラインデータ DATを、ラインストライド STRDのLCUNT倍に基づくライン開始アドレスから連続して書き込む。さらに、チャネル複合回路 21aは、全てのチャネルの画像データ IMG1-IMG3に含まれる<k+1>ライン目のラインデータ DATを、ラインストライド STRDの<LCUNT+1>倍に基づくライン開始アドレスから連続して書き込む。
【0042】
なお、メモリ MEMに
図2に示されるようなメモリマップ 30aが形成された場合、当該メモリ MEMから必要なチャネルの画像データ IMGを読み出す際に、ラインデータのチャネル毎の開始アドレス SADRが必要となる。そこで、チャネル複合回路 21aは、当該ラインデータのチャネル毎の開始アドレス SADRを、開始アドレスデータ SADR_DT1として、レジスタまたはメモリである所定の記憶領域に格納する。各チャネルの開始アドレス SADRは、ライン開始アドレスからの相対的なアドレスを示す。
【0043】
そして、例えば、ISP 22またはイメージプロセッサ 24は、メモリ MEMに格納された複数のチャネルの画像データ IMGに対して処理を実行する場合、所定の記憶領域に格納された開始アドレスデータ SADR_DT1を参照する。開始アドレスデータ SADR_DT1に基づいて、ISP 22またはイメージプロセッサ 24は、必要なチャネルの画像データ IMGが格納されているメモリアドレス MADRを認識し、当該画像データ IMGをメモリ MEMから読み出す。このため、所定の記憶領域は、ISP 22またはイメージプロセッサ 24等から参照可能な箇所に設けられる。
【0044】
<比較例について>
図15は、
図2に対する比較例となるチャネル複合回路の概略的な構成例および動作例を示す模式図である。
図15に示されるチャネル複合回路は、チャネル毎にキャプチャ回路を備え、ここでは、3個のチャネルに応じて3個のキャプチャ回路 45[1]-45[3]を備える。キャプチャ回路 45[1]-45[3]のそれぞれは、自身に割り当てられた仮想チャネル(VC)の値およびデータタイプ(DT)の値を有するパケット PKTのみを入力する。
【0045】
また、アドレス生成器 47は、式(2)に基づいてメモリアドレス MADRを生成する。BADRは、チャネル毎の開始アドレスが設定されるベースアドレスである。STRD,LCUNT,WCUNTは、式(1)の場合と同様に、それぞれ、ラインストライド、ラインカウント数、ライン内カウント値である。ただし、ラインストライド STRDは、
図2の場合と異なり、3個のチャネルの画像データ IMG1-IMG3が有するラインサイズ W1-W3の中から、最大のラインサイズ、ここではW1に基づいて定められる。
【0046】
MADR = BADR + STRD x LCUNT + WCUNT …(2)
【0047】
このような構成および動作により、比較例となるチャネル複合回路は、メモリMEMに、
図15に示されるようなメモリマップ 50を形成する。すなわち、当該チャネル複合回路は、ベースアドレス BADR1からベースアドレス BADR2までの領域に画像データ IMG1を書き込み、ベースアドレス BADR2からベースアドレス BADR3までの領域に画像データ IMG2を書き込み、ベースアドレス BADR3以降の領域に画像データ IMG3を書き込む。また、当該チャネル複合回路は、各チャネルにおいて、1個のラインデータ DATを書き終えたのちにラインストライド STRDを単位としてアドレスを更新する。
【0048】
このように、比較例となるチャネル複合回路では、チャネルの数の増加に応じてキャプチャ回路の数も増加する。例えば、カメラ毎に4個のエクスポージャチャネルを有する16個のカメラを備えたサラウンドビューシステムでは、64(=16 x 4)個のチャネルの画像データ DATが入力される。この場合、64個のキャプチャ回路が必要とされる。このため、特に、サラウンドビューシステム等のように、取り扱うチャネルの数が多いシステムにおいて、回路面積の低減、言い換えれば回路の効率化が求められる。
【0049】
さらに、ラインストライド STRDは、メモリ MEMに効率的にアクセスするため、
図2の場合と同様に、バス幅 BWの整数倍に設定される。その結果、1個のチャネルにおける1本のラインデータ DAT毎に、デッドスペースが生じ得る。このデッドスペースは、チャネルの数が増加するにつれて蓄積される。このため、メモリ MEMの使用効率を高めることが求められる。
【0050】
一方、
図2に示した第1の実施の形態によるチャネル複合回路 21aでは、複数のチャネルでキャプチャ回路 35aを共用している。このため、特に、取り扱うチャネルの数が多いシステムにおいて、回路面積を低減できる、言い換えれば回路を効率化できる。さらに、当該チャネル複合回路 21aでは、複数のチャネルにおける複数本のラインデータ DAT、
図2の例では3本のラインデータ DAT毎に、デッドスペースが生じ得る。このため、デッドスペースは、チャネルの数が増加しても特に蓄積されない。その結果、メモリ MEMの使用効率を高められる。
【0051】
<チャネル複合回路の詳細>
図5Aおよび
図5Bは、
図2に示されるチャネル複合回路と、
図15に示されるチャネル複合回路とで、形成されるメモリマップの具体例を比較する模式図である。
図5Aには、チャネル複合回路の入力となる3個のチャネルの画像データ IMG1-IMG3が示される。ここでは、説明の簡素化のため、画像データ IMG1-IMG3のライン本数 H1,H2,H3は、それぞれ、4本、2本、4本である。また、画像データ IMG1-IMG3のラインサイズ W1,W2,W3は、それぞれ、80バイト、64バイト、48バイトである。また、
図5Bに示されるように、メモリ MEMのバス幅 BWは、32バイトである。
【0052】
この場合、
図5Bにおける比較例によるメモリマップに示されるように、
図15に示されるチャネル複合回路では、ベースアドレス BADRとして、画像データ IMG1用に0バイト目のアドレス、画像データ IMG2用に384バイト目のアドレス、画像データ IMG3用に576バイト目のアドレスがそれぞれ設定される。また、ラインストライド STRDとして、最大のラインサイズ W1に基づく96(= BW x 3)バイトが設定される。このような設定で、メモリ MEMに画像データ IMG1-IMG3が書き込まれることで、比較例によるメモリマップが形成される。
【0053】
一方、
図5Bにおける実施の形態によるメモリマップに示されるように、
図2に示されるチャネル複合回路 21aでは、ラインストライド STRDとして、ラインサイズ W1-W3の合計値に基づく192(= BW x 6)バイトごとにライン開始アドレスが設定される。このような設定で、メモリ MEMに画像データ IMG1-IMG3が書き込まれることで、実施の形態によるメモリマップが形成される。当該2個のメモリマップの比較から分かるように、
図2に示されるチャネル複合回路 21aを用いることで、デッドスペースの発生を抑制でき、メモリ MEMの使用効率を高められる。
【0054】
なお、実施の形態によるメモリマップにおいて、例えば、64バイト目から95バイト目までの記憶領域 MAには、メモリ MEMのバス幅 BWの中の前半分に画像データ IMG1のラインデータ DATが含まれ、後半分に画像データ IMG2のラインデータ DATが含まれる。例えば、画像データ IMG1、画像データ IMG2の順番で各ラインデータ DATが書き込まれる場合、チャネル複合回路 21aは、画像データ IMG2のラインデータ DATを記憶領域 MAに書き込む際に、前半分にデータマスク信号を適用すればよい。
【0055】
または、チャネル複合回路 21aは、画像データ IMG1のラインデータ DATを一次的に保持し、画像データ IMG2のラインデータ DATを抽出した段階で、記憶領域 MAに書き込むデータを生成してもよい。なお、記憶領域 MAからラインデータ DATを読み出す際には、
図2に示した開始アドレスデータ SADR_DT1を用いることで、前半分を画像データ IMG1のラインデータ DAT、後半分を画像データ IMG2のラインデータ DATとして認識できる。
【0056】
図6Aは、
図2に示されるチャネル複合回路の詳細な構成例を示す回路ブロックであり、
図6Bは、
図6Aにおけるアドレス生成器の詳細な構成例を示す回路ブロックである。
図6Aに示されるチャネル複合回路 21aは、
図2に示したキャプチャ回路 35aとして、パケット識別回路 40aとデータ抽出回路 41とを備える。
【0057】
また、設定レジスタ 36aは、
図2で述べたチャネル設定レジスタおよびラインストライドレジスタに加えて、開始アドレスレジスタを備える。開始アドレスレジスタには、
図2に示した開始アドレスデータ SADR_DT1が設定される。なお、チャネル設定レジスタには、チャネル識別子 IMG_ID毎の仮想チャネル(VC)の値およびデータタイプ(DT)の値が設定され、ラインストライドレジスタには、ラインストライド STRDが設定される。
【0058】
パケット識別回路 40aは、概略的には、入力されたロングパケット PKT_Lおよびショートパケット PKT_Sを識別する。また、パケット識別回路 40aは、
図2で述べたように、ISP 22またはイメージプロセッサ 24等による読み出し動作を正常に行わせるために、開始アドレスデータ SADR_DT1をレジスタまたはメモリである記憶領域 38に格納する。記憶領域 38は、設定レジスタ 36a、またはメモリ MEMであってもよい。
【0059】
詳細には、パケット識別回路 40aは、入力された複数のパケット PKT、例えばロングパケット PKT_Lがそれぞれ属するチャネルを、各パケット PKTのヘッダ情報 PHに基づいて識別する。すなわち、パケット識別回路 40aは、ヘッダ情報 PHに含まれる仮想チャネル(VC)の値およびデータタイプ(DT)の値を用いてチャネル設定レジスタを参照することで、チャネルを識別する。
【0060】
また、パケット識別回路 40aは、各ラインにおいて、チャネルの切り替わりを検出する毎に、開始アドレスレジスタに基づいて、対象のチャネルの開始アドレス SADRをアドレス生成器 37に出力する。さらに、パケット識別回路 40aは、ライン毎に、全てのチャネルのラインデータ DATを入力したのちに、ラインカウント数 LCUNTをインクリメントする。パケット識別回路 40aは、インクリメントされたラインカウント数 LCUNTをアドレス生成器 37に出力する。
【0061】
ここで、ライン毎に、全てのチャネルのラインデータ DATを入力したか否かの判定は、例えば、ショートパケット PKT_Sに含まれるLE(Line End)に基づいて行われてもよい。また、ライン毎のチャネルの数は、各画像データ IMGのライン本数 Hに応じて変化する。パケット識別回路 40aは、例えば、ショートパケット PKT_Sに含まれるFE(Frame End)に基づいて、ライン毎のチャネルの数の変化を認識できる。
【0062】
データ抽出回路 41は、パケット識別回路 40aからの制御信号 CTLに基づいて、各パケット PKT、詳細にはロングパケット PKT_Lに含まれるラインデータ DATを抽出する。そして、データ抽出回路 41は、抽出したラインデータ DATを、メモリ MEMのバス幅 BWに基づいて区画し、区画されたラインデータ DATを、順次、メモリ MEMに向けて出力する。この際に、データ抽出回路 41は、
図5Bで述べたような、記憶領域 MAで必要な処理も実行する。
【0063】
アドレス生成器 37は、
図6Bに示されるように、乗算器 370と、2個の加算器 371,372と、ライン内カウンタ 373とを備える。乗算器 370は、パケット識別回路 40aからのラインカウント数 LCUNTと、設定レジスタ 36aからのラインストライド STRDとを乗算する。加算器 371は、乗算器 370からの乗算結果に、パケット識別回路 40aからの開始アドレス SADRを加算する。
【0064】
ライン内カウンタ 373は、例えば、メモリ MEMのバス幅 BWを単位として、順次、カウントを行うことで、ライン内カウント値 WCUNTを出力する。また、ライン内カウンタ 373は、パケット識別回路 40aが新たな開始アドレス SADRを出力した際に、リセット信号 RSTを用いてカウント値をリセットする。加算器 372は、加算器 371からの加算結果に、ライン内カウント値 WCUNTを加算することで、メモリアドレス MADRを生成する。これにより、式(1)に示したメモリアドレス MADRが生成される。
【0065】
図7は、
図2に示されるチャネル複合回路と、
図15に示されるチャネル複合回路とで、各種性能を比較した結果を示す図である。ここでは、両者を、回路の効率化、バンド幅、待機電力、メモリ容量の観点で比較する。回路の効率化、バンド幅、および待機電力に関しては、
図15に示される比較例の方式を1とした場合の比率によって表す。メモリ容量の削減効果に関しては、実施の形態の方式によって削減可能なメモリ容量によって表す。
【0066】
[回路の効率化]
実施の形態の方式を用いると、比較例の方式と比べて、同一の回路面積の下でキャプチャ可能なチャネルの数を増やせる。このため、1個のキャプチャ回路 35aでM個のチャネルの画像データ IMGをキャプチャする場合、回路をM倍に効率化できる。言い換えれば、回路面積を<1/M>にできる。
【0067】
[バンド幅]
実施の形態の方式では、比較例の方式に対して、開始アドレスデータ SADR_DT1の通知に伴うオーバヘッドが生じる。開始アドレス SADRが32ビット(= 4バイト)であり、チャネルの数がM個である場合、開始アドレスデータ SADR_DT1のサイズは、<M x 4>バイトである。一方、イメージセンサ 11による出力データのサイズは、例えば、1個の画素を1バイトとして、フルHDサイズの画像データで1個のカメラにつき<1920 x 1080>バイトであり、メタデータで<1920 x 2>バイト等である。また、サラウンドビューシステム等では、Mの値は、通常、100以下である。したがって、開始アドレスデータ SADR_DT1のサイズは、キャプチャ対象のデータサイズに比べて十分に少なく、バンド幅のオーバヘッド(a’)も無視できる程度に小さい。
【0068】
[待機電力]
実施の形態の方式では、チャネルの数をM個として、比較例の方式と比べて、キャプチャ回路の数を<1/M>にできる。このため、実施の形態の方式による1個のキャプチャ回路の待機電力は、比較例の方式によるM個のキャプチャ回路の待機電力、例えば、クロック供給に伴う待機電力に比べて<1/M>となる。
【0069】
[メモリ容量]
例えば、メモリ MEMのバス幅 BWを32バイトとして、比較例の方式では、M個のチャネルのラインデータ DATのそれぞれに対して32バイト未満のデッドスペースが生じる。仮に、デッドスペースのサイズがランダムに定められるとすると、デッドスペースのサイズの平均値は、1本のラインデータ DATに対して16バイトとなる。この場合、M個のチャネルのラインデータ DATに対して生じるデッドスペースのサイズは、<M x 16>バイトとなる。一方、実施の形態の方式では、M個のチャネルのラインデータ DATに対してデッドスペースが生じるため、デッドスペースのサイズを<1/M>に圧縮できる。
【0070】
<変形例について>
ここでは、1個のキャプチャ回路 35aは、M個のチャネルに対応した。ただし、チャネルの数が増えると、例えば、ラインストライド STRDの値が大きくなり、アドレス生成器 37に含まれる各回路のビット幅を大きくする必要がある。このため、例えば、ビット幅に制限が設けられるような場合には、ビット幅に基づく上限値までのチャネルに対応するキャプチャ回路 35aを、複数設けてもよい。
【0071】
また、1個のキャプチャ回路 35aが対応するM個のチャネルは、イメージプロセッサ 24による処理において関連性の高い複数のチャネルであってもよい。例えば、複数のイメージセンサがそれぞれ複数の露光量(エクスポージャ)およびメタデータを転送する場合、イメージプロセッサ 24の処理において関連性の高いキャプチャデータをまとめて1つのキャプチャ回路35aで処理してメモリに格納してもよい。この結果、イメージプロセッサ 24で効率よく処理できるようになる。したがって、ISP 22またはイメージプロセッサ 24による処理において関連性の高い複数のチャネルを処理する複数のキャプチャ回路を設けてもよい。さらに、イメージデータとメタデータとでメモリ領域を分離したい場合には、複数のチャネルのメタデータを処理するキャプチャ回路と、イメージデータを処理するキャプチャ回路とを別々に設けてもよい。このように、1個のキャプチャ回路35aで対応するチャネルの割り当ては、システムに応じて適宜変更すればよい。
【0072】
<第1の実施の形態の主要な効果>
以上、第1の実施の形態では、ライン毎に各チャネルのラインデータを連続するアドレス範囲に書き込むチャネル複合回路が設けられる。これにより、メモリの使用効率を高められる。さらに、回路を効率化できる。これらの効果は、チャネルの数が増加するほど、より顕著に得られる。
【0073】
(第2の実施の形態)
<チャネル複合回路の概略>
図8は、第2の実施の形態による画像処理システムにおいて、
図1におけるチャネル複合回路の概略的な構成例および動作例を示す模式図である。
図9は、
図8に示されるチャネル複合回路へのパケットの入力タイミングを模式的に表すタイミングチャートである。
図8に示されるチャネル複合回路 21bは、
図2の場合とは、設定レジスタ 36bの構成と、キャプチャ回路 35bの構成および動作とが若干異なっている。第2の実施の形態では、
図1におけるインタフェース回路 20は、
図9に示されるように、複数のチャネルの画像データ IMGに含まれるラインデータ DATをそれぞれ搭載した複数のパケット PKTを、ライン L[0]-L[7]毎に、可変のチャネル順で出力する。
【0074】
図9において、例えば、ライン L[0]では、
図4の場合と同様に、画像データ IMG1のラインデータ DAT[0]、画像データ IMG2のラインデータ DAT[0]、画像データ IMG3のラインデータ DAT[0]の順に出力される。一方、次のライン L[1]では、
図4の場合と異なり、画像データ IMG3のラインデータ DAT[1]、画像データ IMG1のラインデータ DAT[1]、画像データ IMG2のラインデータ DAT[1]の順に出力される。さらに、次のライン L[2]でも、
図4の場合と異なり、画像データ IMG1のラインデータ DAT[2]、画像データ IMG3のラインデータ DAT[2]、画像データ IMG2のラインデータ DAT[2]の順に出力される。
【0075】
これに伴い、
図8に示されるチャネル複合回路 21bは、
図2の場合とは異なり、ライン毎のチャネル順を認識する。それぞれのチャネルは、
図2の場合と同様に、パケット PKTのヘッダ情報 PHに基づいて認識される。また、チャネル複合回路 21bは、
図2の場合と同様に、メモリ MEMにおける連続するアドレス範囲に、ライン毎のラインデータ DATを、入力されたチャネル順に書き込む。ただし、
図8では、メモリマップ 30bに示されるように、書き込まれるチャネル順は、ライン毎に異なる。
【0076】
そこで、チャネル複合回路 21b、ここではキャプチャ回路35bは、
図2の場合とは異なる開始アドレスデータ SADR_DT2を生成し、レジスタまたはメモリである所定の記憶領域に格納する。
図10は、
図8に示されるチャネル複合回路によって生成される開始アドレスデータの構成例を示す概略図である。
図2に示した開始アドレスデータ SADR_DT1は、ラインデータ DATのチャネル毎の開始アドレス SADRを有する。言い換えれば、開始アドレスデータ SADR_DT1は、ライン共通で用いられる開始アドレス SADRを表している。一方、
図10に示される開始アドレスデータ SADR_DT2は、ラインデータ DATのライン毎のチャネルの開始アドレス SADRを表している。
【0077】
具体例として、ライン L[1]のラインデータ DAT[1]を受信するときのキャプチャ回路35bの動作について説明する。キャプチャ回路 35bは、ライン L[1]のラインデータ DAT[1]を、画像データ IMG3、画像データ IMG1、画像データIMG2の順に受信する。キャプチャ回路35bは、例えば、ラインL[1]において、1番目に画像データ IMG3のラインデータ DAT[1]を受信すると、
図10における開始アドレスデータ SADR_DT2のライン L[1]かつ画像データ IMG3に対応する領域に、開始アドレス SADR(ライン開始アドレスからの相対的なアドレス)として0を格納する。
【0078】
続いて、キャプチャ回路35bは、ライン L[1]の2番目のデータとして、画像データ IMG1のラインデータ DAT[1]を受信すると、
図10における開始アドレスデータ SADR_DT2のライン L[1]かつ画像データ IMG1に対応する領域に、開始アドレス SADRとしてW3を格納する。W3は、1番目に書き込んだ画像データ IMG3のラインサイズである。
【0079】
次いで、キャプチャ回路35bは、ラインL[1]の3番目のデータとして、画像データ IMG2のラインデータ DAT[1]を受信すると、
図10における開始アドレスデータ SADR_DT2のライン L[1]かつ画像データ IMG2を表す領域に、開始アドレス SADRとして<W3 + W1>を書き込む。W1は、2番目に書き込んだ画像データ IMG1のラインサイズであり、<W3 + W1>は、1番目と2番目に書き込んだラインサイズの合計値である。
【0080】
ここで、各ラインサイズ W1-W3の値は、予め設定レジスタ 36bに設定されている。キャプチャ回路35bは、認識した可変のチャネル順と、当該設定レジスタ 36bの値とに基づいて、開始アドレスデータ SADR_DT2を生成する。また、キャプチャ回路35bは、開始アドレスデータ SADR_DT2における各開始アドレス SADRを定めると共に、定めた開始アドレス SADRをアドレス生成器 37に出力する。これにより、アドレス生成器 37は、式(1)に基づくメモリアドレス MADRを生成できる。
【0081】
キャプチャ回路 35bに入力された各チャネルのラインデータ DATは、アドレス生成器 37で生成されたメモリアドレス MADRに基づいてメモリ MEMに書き込まれる。また、第1の実施の形態と同様に、開始アドレスデータSADR_DT2は、ISP 22またはイメージプロセッサ 24が、処理に必要なチャネルの画像データ IMGをメモリ MEMから読み出すためのメモリアドレス MADRを生成するために参照される。
【0082】
なお、
図10に示される開始アドレスデータ SADR_DT2において、開始アドレス SADRが存在しない領域には、不要情報<->が格納される。例えば、キャプチャ回路35bは、ラインL[4]の後に入力したショートパケット PKT_Sに含まれる、画像データ IMG2のFE(Frame End)を識別する。これに基づいて、キャプチャ回路35bは、ラインL[5]以降では、画像データ IMG2の開始アドレス SADRに、不要情報<->を格納する。
【0083】
<チャネル複合回路の詳細>
図11Aは、
図8に示されるチャネル複合回路の詳細な構成例を示す回路ブロックであり、
図11Bは、
図11Aにおける設定レジスタに設定されるオフセットアドレスデータの構成例を示す図である。
図11Aに示されるチャネル複合回路 21bでは、
図6Aの場合と異なり、設定レジスタ 36bは、さらに、オフセットアドレスレジスタを備える。オフセットアドレスレジスタには、
図11Bに示されるように、3個のチャネルの画像データ IMG1-IMG3がそれぞれ有するラインサイズ W1-W3が、オフセットアドレスデータ OADR_DTとして設定される。
【0084】
キャプチャ回路35bは、パケット識別回路 40bと、データ抽出回路 41とを備える。データ抽出回路 41は、
図6Aの場合と同様である。パケット識別回路 40bは、
図6Aの場合と異なり、入力されたチャネル順と、オフセットアドレスデータ OADR_DTとに基づいて開始アドレス SADRおよび開始アドレスデータ SADR_DT2を生成する。開始アドレス SADRは、
図6Aの場合と同様に、アドレス生成器 37に出力される。また、開始アドレスデータ SADR_DT2は、レジスタまたはメモリである記憶領域 38に格納される。ただし、開始アドレスデータ SADR_DT2は、サイズが大きくなり得るため、記憶領域 38は、メモリであることが望ましい。
【0085】
図12は、
図8に示されるチャネル複合回路と、
図15に示されるチャネル複合回路とで、各種性能を比較した結果を示す図である。ここでも、
図7の場合と同様に、両者を、回路の効率化、バンド幅、待機電力、メモリ容量の観点で比較する。
図12では、
図7の場合と比較して、バンド幅の内容が異なる。すなわち、実施の形態2の方式では、実施の形態1の方式よりも、開始アドレスデータ SADR_DT2の通知に伴うオーバヘッドが大きくなる。
【0086】
具体的には、開始アドレス SADRが32ビット(= 4バイト)であり、チャネルの数がM個であり、各チャネルにおけるライン本数がH本である場合、開始アドレスデータ SADR_DT2のサイズは、<M x H x 4>バイトとなる。一方、イメージセンサ 11による出力データ、例えば画像データのサイズは、
図7で述べたように、例えば、1個のカメラにつき<1920 x 1080>バイトであり、M個のチャネルの場合には、<M x 1920 x 1080>バイトである。したがって、開始アドレスデータ SADR_DT2のサイズは、キャプチャ対象のデータサイズに比べて十分に少なく、バンド幅のオーバヘッド(a”)も無視できる程度に小さい。ただし、
図12で示したオーバヘッド(a”)は、
図7で示したオーバヘッド(a’)よりは大きくなる。
【0087】
<第2の実施の形態の主要な効果>
以上、第2の実施の形態の方式を用いることで、ライン毎に可変のチャネル順が用いられる場合であっても、第1の実施の形態で述べた各種効果と同様の効果が得られる。さらに、このように、可変のチャネル順に対応できるため、チャネル複合回路の前段部分、例えば、インタフェース回路 20やイメージセンサ 11等において、チャネル順を固定する仕組みが不要となる。その結果、画像処理システム全体としてのコストを低減できる。
【0088】
(第3の実施の形態)
<チャネル複合回路の概略>
図13は、第3の実施の形態による画像処理システムにおいて、
図1におけるチャネル複合回路の概略的な構成例および動作例を示す模式図である。
図14は、
図13に示されるチャネル複合回路によって生成されるマップデータの構成例を示す概略図である。
図13に示されるチャネル複合回路 21cは、
図8等の場合と同様に、キャプチャ回路 35cと、設定レジスタ 36cと、アドレス生成器 37cとを備える。ただし、これら各部の構成および動作は、
図8の場合とは、若干異なる。
【0089】
具体的には、チャネル複合回路 21cは、
図8の場合と異なり、3個のチャネルの画像データ IMG1-IMG3において、全てのチャネルでラインを同期せずに、ラインデータ DATが不規則に入力される場合にも対応できる構成となっている。例えば、ラインデータ DATは、
図13におけるメモリマップ 30cに示されるように、画像データ IMG1のラインL[0]、画像データ IMG2のラインL[0]、画像データ IMG1のラインL[1]、画像データ IMG1のラインL[2]、...といったように、不規則な順番で入力される。
【0090】
チャネル複合回路 21cは、入力されたラインデータ DATを、入力順にメモリ MEMに書き込む。この際に、チャネル複合回路 21c、詳細にはキャプチャ回路 35cは、この例では、3つのラインデータが入力された段階で、Yカウント数 YCUNTをインクリメントし、ラインストライド STRDのYCUNT倍に基づくアドレス更新を行う。このため、ラインストライド STRDは、例えば、最大のラインサイズ W1の3倍以上の値に設定される。
【0091】
また、キャプチャ回路 35cは、このような不規則なラインデータ DATの入力に応じて、
図14に示されるようなマップデータ MAP_DTを生成する。マップデータ MAP_DTには、3個の画像データ IMG1-IMG3における各ライン L[0]-L[8]のラインデータ DATが、メモリ MEMにおける何番目のYライン Y[0]-Y[7]をYライン開始アドレスとして、どの程度の大きさのオフセットで格納されるかが示される。
【0092】
例えば、キャプチャ回路 35cは、1番目として、画像データ IMG1のラインL[0]のラインデータ DATをメモリ MEMに書き込むために、対応するマップデータ MAP_DTの領域に、Yライン Y[0]と、オフセット値である0とを格納する。続いて、キャプチャ回路 35cは、2番目として、画像データ IMG2のラインL[0]のラインデータ DATをメモリ MEMに書き込むために、対応するマップデータ MAP_DTの領域に、Yライン Y[0]と、オフセット値であるW1、すなわち、1番目で書き込んだラインサイズとを格納する。
【0093】
次いで、キャプチャ回路 35cは、3番目として、画像データ IMG1のラインL[1]のラインデータ DATをメモリ MEMに書き込むために、対応するマップデータ MAP_DTの領域に、Yライン Y[0]と、オフセット値である<W1 + W2>、すなわち、1番目と2番目で書き込んだラインサイズの合計値とを格納する。続いて、キャプチャ回路 35cは、4番目として、画像データ IMG1のラインL[2]のラインデータ DATをメモリ MEMに書き込むために、対応するマップデータ MAP_DTの領域に、Yカウント数 YCUNT の更新に伴うYライン Y[1]と、オフセット値である0とを格納する。
【0094】
アドレス生成器 37cは、マップデータ MAP_DTに格納されたデータを参照して、キャプチャ回路 35cに入力されたラインデータ DATをメモリ MEMに書き込むためのメモリアドレス MADRを生成する。キャプチャ回路 35cに入力されたラインデータは、このように生成されたメモリアドレスに基づいてメモリMEMに書き込まれる。また、第1および第2の実施の形態と同様に、ISP 22またはイメージプロセッサ 24は、マップデータ MAP_DTに格納されているデータを参照して、処理対象のチャネルの画像データ IMGが格納されているメモリアドレスを特定することができる。
【0095】
<第3の実施の形態の主要な効果>
以上、第3の実施の形態の方式を用いることで、ラインデータが不規則に入力される場合であっても、第1の実施の形態で述べた各種効果と同様の効果が得られる。さらに、このように、ラインデータが不規則に入力されてもよいため、チャネル複合回路の前段部分、例えば、インタフェース回路 20やイメージセンサ 11等において、全てのチャネルでラインを同期するような仕組みが不要となる。その結果、画像処理システム全体としてのコストを低減できる。
【0096】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【0097】
10 半導体装置
11 イメージセンサ
20 インタフェース回路
21 チャネル複合回路
22 ISP
24 イメージプロセッサ
35a-35c キャプチャ回路
36a-36c 設定レジスタ
37 アドレス生成器
38 記憶領域
40a-40b パケット識別回路
41 データ抽出回路
DAT ラインデータ
IMG 画像データ
MEM メモリ
PH ヘッダ情報
PKT パケット
SADR_DT1,SADR_DT2 開始アドレスデータ
SADR 開始アドレス
STRD ラインストライド