IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エスケーハイニックス株式会社の特許一覧

特開2025-13122イメージ信号処理装置およびそれを含む撮影システム
<>
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図1
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図2
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図3
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図4
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図5
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図6
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図7
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図8
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図9
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図10
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図11
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図12
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図13
  • 特開-イメージ信号処理装置およびそれを含む撮影システム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025013122
(43)【公開日】2025-01-24
(54)【発明の名称】イメージ信号処理装置およびそれを含む撮影システム
(51)【国際特許分類】
   H04N 23/60 20230101AFI20250117BHJP
【FI】
H04N23/60
H04N23/60 500
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024001186
(22)【出願日】2024-01-09
(31)【優先権主張番号】10-2023-0091693
(32)【優先日】2023-07-14
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】310024033
【氏名又は名称】エスケーハイニックス株式会社
【氏名又は名称原語表記】SK hynix Inc.
【住所又は居所原語表記】2091, Gyeongchung-daero,Bubal-eub,Icheon-si,Gyeonggi-do,Korea
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】白石 大介
【テーマコード(参考)】
5C122
【Fターム(参考)】
5C122EA56
5C122FH07
5C122HA63
5C122HA71
(57)【要約】
【課題】イメージ信号プロセッサのバッファサイズを減らし、処理時間を減らすことができるようにする撮影システムを提供する。
【解決手段】本発明の一実施形態に係る撮影システム1は、イメージデータの読み取り動作または書き込み動作が行われるフレームメモリ20と、既に設定された順序で入力されるイメージデータをフレームメモリ20に書き込み、フレームメモリ20から読み取られたデータを処理し、処理されたイメージデータを出力するイメージ信号処理装置200と、を含み、イメージ信号処理装置200は、イメージデータの入力が進行する方向とは異なる方向にイメージデータの処理順序を変換して処理し、処理されたイメージデータの順序を既に設定された順序に整列して出力することができる。
【選択図】図1
【特許請求の範囲】
【請求項1】
イメージデータの読み取り動作または書き込み動作が行われるフレームメモリと、
既に設定された順序で入力される前記イメージデータを前記フレームメモリに書き込み、前記フレームメモリから読み取られたデータを処理し、処理されたイメージデータを出力するイメージ信号処理装置と、
を含み、
前記イメージ信号処理装置は、
前記イメージデータの入力が進行する方向とは異なる方向に前記イメージデータの処理順序を変換して処理し、前記処理されたイメージデータの順序を前記既に設定された順序に整列して出力する、撮影システム。
【請求項2】
前記イメージ信号処理装置は、
前記イメージデータの入力が進行する方向と垂直な方向に前記イメージデータを処理する、請求項1に記載の撮影システム。
【請求項3】
前記イメージ信号処理装置は、
前記イメージデータを処理するデータ処理部と、
前記イメージデータを前記フレームメモリに書き込み、前記フレームメモリに格納されたデータを読み取って処理順序を任意の順序に変換して前記データ処理部に伝達し、前記データ処理部により処理されたイメージデータの順序を前記既に設定された順序に整列して前記フレームメモリに書き込み、前記フレームメモリに書き込まれたデータを入出力インターフェースに出力するバッファ回路と、を含む、請求項1に記載の撮影システム。
【請求項4】
前記イメージ信号処理装置は、
前記フレームメモリと前記バッファ回路との間で前記イメージデータを互いに伝達するメモリインターフェースをさらに含む、請求項3に記載の撮影システム。
【請求項5】
前記バッファ回路は、
前記イメージデータを前記フレームメモリに伝達する第1バッファと、
前記フレームメモリから印加される前記イメージデータの処理順序を変換して前記データ処理部に伝達し、前記データ処理部により処理されたデータを整列して前記フレームメモリに伝達する第2バッファと、
前記フレームメモリに格納されたデータを出力する第3バッファと、を含む、請求項3に記載の撮影システム。
【請求項6】
前記バッファ回路は、
前記フレームメモリから読み取られたデータのうち一部のデータだけをフリップフロップに格納し演算処理に用いる、請求項3に記載の撮影システム。
【請求項7】
前記データ処理部は、
前記イメージデータに基づいてマルチスケール処理を行う複数のマルチスケール処理部を含む、請求項3に記載の撮影システム。
【請求項8】
前記マルチスケール処理は、
前記イメージデータを互いに異なる解像度を有するイメージに再調整し、それぞれ異なるスケールを有する複数のイメージを処理する、請求項7に記載の撮影システム。
【請求項9】
前記既に設定された順序は、
ラスタスキャン順である、請求項1に記載の撮影システム。
【請求項10】
前記イメージ信号処理装置は、
前記イメージデータにおいてフィルタリング処理対象となるターゲットピクセルが特定の数以上である場合に並列時分割で処理する、請求項1に記載の撮影システム。
【請求項11】
前記イメージ信号処理装置は、
前記ターゲットピクセル数を入力ピクセルよりも増加させて処理する、請求項10に記載の撮影システム。
【請求項12】
前記イメージ信号処理装置は、
前記ターゲットピクセルが水平方向に配置されている場合、
垂直方向にデータ処理を行う、請求項10に記載の撮影システム。
【請求項13】
前記イメージ信号処理装置は、
前記ターゲットピクセルが垂直方向に配置されている場合、
水平方向にデータ処理を行う、請求項10に記載の撮影システム。
【請求項14】
前記イメージ信号処理装置は、
前記イメージデータが水平方向に複数のレーンを有する場合に垂直方向にデータ処理を進行し、
前記イメージデータが垂直方向に複数のレーンを有する場合に水平方向にデータ処理を進行する、請求項1に記載の撮影システム。
【請求項15】
イメージデータを格納するフレームメモリと、
既に設定された順序で入力されるイメージデータを前記フレームメモリに書き込み、前記フレームメモリから読み取られたデータを処理して前記フレームメモリに書き込み、前記フレームメモリから読み取られた処理されたイメージデータを出力するバッファ回路と、
を含み、
前記バッファ回路は、
第1方向にイメージデータの入力が進行する場合、第2方向に前記イメージデータの処理順序を変換して処理し、処理されたイメージデータの順序を前記既に設定された順序に整列して出力する、イメージ信号処理装置。
【請求項16】
前記第1方向と前記第2方向とは互いに垂直な方向である、請求項15に記載のイメージ信号処理装置。
【請求項17】
前記既に設定された順序は、
ラスタスキャン順である、請求項15に記載のイメージ信号処理装置。
【請求項18】
前記バッファ回路から印加されるイメージデータを処理するデータ処理部と、
前記フレームメモリと前記バッファ回路との間で前記イメージデータを互いに伝達するメモリインターフェースと、をさらに含む、請求項15に記載のイメージ信号処理装置。
【請求項19】
前記バッファ回路は、
前記イメージデータを前記フレームメモリに伝達する第1バッファと、
前記フレームメモリから印加される前記イメージデータの処理順序を変換して前記データ処理部に伝達し、前記データ処理部により処理されたデータを整列して前記フレームメモリに伝達する第2バッファと、
前記フレームメモリに格納されたデータを出力する第3バッファと、を含む、請求項18に記載のイメージ信号処理装置。
【請求項20】
前記データ処理部は、
前記イメージデータに基づいてマルチスケール処理を行う複数のマルチスケール処理部を含む、請求項18に記載のイメージ信号処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光を感知してイメージデータを生成することができる撮影システムに関する。
【背景技術】
【0002】
イメージセンサ(image sensor)は、光に反応する光感知半導体物質の性質を用いて光学イメージをキャプチャ(capture)する装置である。自動車、医療、コンピュータ、および通信などの産業の発展に伴い、スマートフォン、デジタルカメラ、ゲーム機器、モノのインターネット(Internet of Things)、ロボット、セキュリティ用カメラ、医療用マイクロカメラなどの様々な分野において、高性能(high-performance)のイメージセンシング装置の需要が増大している。
【0003】
イメージセンシング装置の技術が発展するにつれ、イメージセンシング装置より撮影されるデータの容量が増加している。イメージデータの容量が増加すると、それをバッファリングするためにさらに多いバッファを必要とし、イメージデータを処理する速度が増加し得る。そこで、イメージデータを処理するバッファ数と処理速度を下げるためのイメージ信号処理技術が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、イメージ信号プロセッサのバッファサイズを減らし、処理時間を減らすことができるようにする撮影システムを提供する。
【課題を解決するための手段】
【0005】
本発明の実施形態に係る撮影システムは、イメージデータの読み取り動作または書き込み動作が行われるフレームメモリと、既に設定された順序で入力されるイメージデータをフレームメモリに書き込み、フレームメモリから読み取られたデータを処理し、処理されたイメージデータを出力するイメージ信号処理装置と、を含み、イメージ信号処理装置は、イメージデータの入力が進行する方向とは異なる方向にイメージデータの処理順序を変換して処理し、処理されたイメージデータの順序を既に設定された順序に整列して出力することができる。
【0006】
本発明の他の実施形態に係るイメージ信号処理装置は、イメージデータを格納するフレームメモリと、既に設定された順序で入力されるイメージデータをフレームメモリに書き込み、フレームメモリから読み取られたデータを処理してフレームメモリに書き込み、フレームメモリから読み取られた処理されたイメージデータを出力するバッファ回路と、を含み、バッファ回路は、第1方向にイメージデータの入力が進行する場合、第2方向にイメージのデータの処理順序を変換して処理し、処理されたイメージデータの順序を既に設定された順序に整列して出力することができる。
【発明の効果】
【0007】
本発明の実施形態は、イメージ信号プロセッサのバッファサイズを減らし、処理時間を減らすことができるようにする効果を提供することができる。
【0008】
さらに、本発明の実施形態は例示のためのものであり、当業者であれば、添付の特許請求の範囲の技術的思想および範囲を通じて様々な修正、変更、代替、および付加が可能であり、このような修正、変更などは以下の特許請求の範囲に属するものと見なされるべきである。
【図面の簡単な説明】
【0009】
図1】本発明の一実施形態に係る撮影システムを示したブロック図である。
図2図1のイメージ信号処理装置の動作を説明するための図である。
図3図1のイメージ信号処理装置における垂直にデータの入力が進行する場合を説明するための図である。
図4図1のイメージ信号処理装置における水平にデータの入力が進行する場合を説明するための図である。
図5図1のイメージ信号処理装置におけるデータ処理部の動作を説明するための図である。
図6図1のイメージ信号処理装置におけるアクセス動作を説明するための図である。
図7図1のイメージ信号処理装置における書き込み動作を説明するための図である。
図8図1のイメージ信号処理装置における書き込み動作を説明するための図である。
図9図1のイメージ信号処理装置における読み取り動作を説明するための図である。
図10図1のイメージ信号処理装置における読み取り動作を説明するための図である。
図11図1のイメージ信号処理装置における読み取り動作を説明するための図である。
図12図1のイメージ信号処理装置における読み取りおよび書き込み動作時のデータ整列処理を説明するための図である。
図13図1のイメージ信号処理装置における読み取りおよび書き込み動作時のデータ整列処理を説明するための図である。
図14図1のフレームメモリからの出力アクセス動作を説明するための図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して様々な実施形態が説明される。ただし、本開示は、特定の実施形態に限定されず、実施形態の様々な変更(modification)、等価物(equivalent)、および/または代替物(alternative)を含むものと理解しなければならない。本開示の実施形態は、本開示により直間接的に認識可能な様々な効果を提供することができる。
【0011】
図1は、本発明の一実施形態に係る撮影システムを示したブロック図である。
図1を参照すると、撮影システム1は、静止画を撮影するデジタルスチルカメラ、または動画を撮影するデジタルビデオカメラなどの装置を意味し得る。例えば、撮影装置10はデジタル一眼レフカメラ(Digital Single Lens Reflex;DSLR)、ミラーレス(mirrorless)カメラ、または携帯電話(特に、スマートフォン)で実現可能であるが、これに限定されない。撮影装置10は、レンズおよび撮像素子を含むことで、被写体を撮影し、イメージを生成できる装置を含む概念であってもよい。
【0012】
撮影システム1は、撮影装置(imaging device)10、フレームメモリ(frame memory)20、およびホスト装置(host device)30を含むことができる。
【0013】
ここで、撮影装置10は、イメージセンシング部(image sensor)100、タイミングコントローラ(timing controller)110、読み出し回路(readout circuit)120、イメージ信号処理装置(ISP;image signal processor)200、および入出力インターフェース(I/O interface)300を含むことができる。
【0014】
イメージセンシング部100は、光学信号を電気信号に変換するCIS(Complementary Metal Oxide Semiconductor Image Sensor)であってもよい。イメージセンシング部100は、タイミングコントローラ110により、オン/オフ(on/off)、動作モード、動作タイミング、感度などの全般的な動作が制御されることができる。イメージセンシング部100は、タイミングコントローラ110の制御に応じて、光学信号を電気信号に変換したイメージデータを読み出し回路120に伝送することができる。
【0015】
タイミングコントローラ110は、イメージセンシング部100の各構成の動作に求められるクロック信号、タイミング制御のための制御信号、行を選択するための行アドレス信号、および列を選択するための列アドレス信号をイメージセンシング部100に提供することができる。一実施形態によると、タイミングコントローラ110は、ロジック制御回路(Logic control circuit)、位相ロックループ(Phase Lock Loop、PLL)回路、タイミング制御回路(timing control circuit)、および通信インターフェース回路(communication interface circuit)などを含むことができる。
【0016】
読み出し回路120は、2つのサンプル(基準信号と画像信号)間の差を除去するためにピクセル信号を2回サンプリングすることで、固定パターンノイズのようなピクセルの所望しないオフセット値を除去できるように相関二重サンプリングを用いることができる。読み出し回路120は、相関二重サンプリングされた信号をデジタル信号に変換するADC(analog-to-digital converter)を含むことができる。読み出し回路120は、ADCから提供されるそれぞれの列単位のイメージデータを一時的にホールドして出力する出力バッファを含むことができる。読み出し回路120は、タイミングコントローラ110の制御信号に基づいて出力バッファの列を選択し、出力バッファの選択された列に一時的に格納されたイメージデータが順次出力されるように制御する列ドライバを含むことができる。
【0017】
イメージ信号処理装置200は、読み出し回路120から入力されるイメージデータに対して画像信号処理を行うことができる。イメージ信号処理装置200は、補正されたイメージデータに対してノイズを低減させ、ガンマ補正(Gamma Correction)、カラーフィルタアレイ補間(color filter array interpolation)、カラーマトリクス(color matrix)、カラー補正(color correction)、カラーエンハンスメント(color enhancement)などの画質改善のための画像信号処理を行うことができる。また、イメージ信号処理装置200は、画質改善のための画像信号処理を行って生成した画像データを圧縮処理して画像ファイルを生成することができ、または前記画像ファイルから画像データを復元することができる。画像の圧縮形式は、可逆形式または非可逆形式であってもよい。圧縮形式の例として、静止画の場合、JPEG(Joint Photographic Experts Group)形式やJPEG2000形式などを用いることができる。また、動画の場合、MPEG(Moving Picture Experts Group)標準に従って複数のフレームを圧縮して動画ファイルを生成することができる。画像ファイルは、例えば、Exif(Exchangeable image file format)標準に従って生成されることができる。
【0018】
イメージ信号処理装置200は、バッファ回路210、データ処理部220、およびメモリインターフェース230を含むことができる。
ここで、バッファ回路210は、読み出し回路120から印加されるイメージデータを一時的に格納し、メモリインターフェース230を介してフレームメモリ20に書き込むことができる。そして、バッファ回路210は、フレームメモリ20に書き込まれたイメージデータをメモリインターフェース230を介して読み取って一時的に格納し、データ処理部220に伝達することができる。
【0019】
また、バッファ回路210は、データ処理部220から処理されたデータを一時的に格納し、メモリインターフェース230を介してフレームメモリ20に書き込むことができる。そして、バッファ回路210は、フレームメモリ20に書き込まれたイメージデータをメモリインターフェース230を介して読み取って一時的に格納し、入出力インターフェース300に伝達することができる。ただし、バッファ回路210の動作はこれに限定されない。一例として、バッファ回路210は、読み出し回路120、データ処理部220、フレームメモリ20、ホスト装置30、およびその他の構成の間で所定のデータを一時的に格納し伝達する一連の動作を行うことができる。バッファ回路210にデータを伝達するかまたはバッファ回路210からデータの伝達を受ける構成は、図1に示された構成に限定されない。
【0020】
このようなバッファ回路210は、複数のバッファ211~215を含むことができる。複数のバッファ211~215それぞれはフリップフロップまたは揮発性メモリ(例えば、SRAM)を含むことができるが、メモリの種類はこれに限定されない。
【0021】
ここで、バッファ211は、読み出し回路120とメモリインターフェース230との間に連結されることができる。バッファ211は、読み出し回路120から入力されるイメージデータをメモリインターフェース230を介してフレームメモリ20に格納する動作(T1)を行うことができる。バッファ212~214は、メモリインターフェース230とデータ処理部220との間に連結されることができる。バッファ212~214は、メモリインターフェース230から印加されたデータを格納し、それぞれに対応するマルチスケール処理部221~223に伝達する動作(T2)を行うことができる。さらに、バッファ212~214は、それぞれに対応するマルチスケール処理部221~223から印加されたデータを格納し、再びメモリインターフェース230に伝達する動作(T3)を行うことができる。バッファ215は、メモリインターフェース230と入出力インターフェース300との間に連結されることができる。バッファ215は、メモリインターフェース230を介してフレームメモリ20から印加されるイメージデータを入出力インターフェース300に出力する動作(T4)を行うことができる。このような構成を有するバッファ回路210に関するより詳細な内容は後述する。
【0022】
そして、データ処理部220は、バッファ回路210から印加されるイメージデータに基づいてマルチスケール処理を行うことができる。データ処理部220は、マルチスケール処理が行われたイメージデータをバッファ回路210に伝達することができる。ここで、マルチスケール処理とは、前処理過程により原本イメージを互いに異なる解像度を有するイメージに再調整し、それぞれ異なるスケールを有する複数のイメージを処理することを意味し得る。
【0023】
このようなデータ処理部220は、複数のマルチスケール処理部221~223を含むことができる。マルチスケール処理部221~223は、バッファ212~214と対応するように連結されることができる。マルチスケール処理部221~223は、それぞれに対応するバッファ212~214を介してフレームメモリ20から伝達されたデータを処理した後、処理されたデータを再びバッファ212~214に伝達することができる。このような構成を有するデータ処理部220に関するより詳細な内容は後述する。
【0024】
メモリインターフェース230は、フレームメモリ20とバッファ回路210との間でデータインターフェーシングを行うことができる。バッファ回路210からのイメージデータは、メモリインターフェース230を介してフレームメモリ20に書き込まれることができる。そして、フレームメモリ20から読み取られたイメージデータは、メモリインターフェース230を介してバッファ回路210に伝達されることができる。
【0025】
イメージ信号処理装置200は、画像信号処理されたイメージデータを入出力インターフェース300に伝送することができる。入出力インターフェース300は、ホスト装置30との通信を行い、画像信号処理されたイメージデータをホスト装置30に伝送することができる。一実施形態によると、入出力インターフェース300はMIPI(mobile industry processor interface)インターフェースであってもよいが、本発明の範囲はこれに限定されない。
【0026】
フレームメモリ20は、イメージ信号処理装置200から受信するイメージデータを書き込み(すなわち、格納)、フレームメモリ20に格納されたイメージデータは、読み取られてイメージ信号処理装置200に伝達されることができる。フレームメモリ20は揮発性メモリ(例えば、DRAM)を含むことができるが、メモリの種類はこれに限定されない。フレームメモリ20は、イメージセンシング部100のピクセルアレイが一度に撮影したフレームに対応するイメージデータを格納することができる。
【0027】
図1の実施形態ではフレームメモリ20が撮影装置10の外部に位置するものとして示しているが、本発明の実施形態はこれに限定されない。一例として、フレームメモリ20は、撮影装置10の内部に位置するか、またはイメージ信号処理装置200の内部に位置してもよい。
【0028】
ホスト装置30は、撮影装置10から受信する画像信号処理されたイメージデータを処理するプロセッサ(例えば、アプリケーションプロセッサ(application processor))、イメージデータを格納するメモリ(例えば、不揮発性メモリ)、またはイメージデータを視覚的に出力するディスプレイ装置(例えば、LCD(liquid crystal display))であってもよい。
【0029】
図2は、図1のイメージ信号処理装置の動作を説明するための図である。
図2の実施形態は、処理対象のピクセルが水平8レーン(Lane)である場合にデータを処理する過程を一例として示すことができる。
【0030】
図2の(A)のように、入力されるイメージデータが1サイクル間処理(P1処理)され、その後、次のイメージデータの処理(P2処理)が必要である。周辺ピクセルが必要なフィルタ処理の場合、全てのピクセルの計算を同時に完了する必要がある。すなわち、高解像度であり、フレームレートが定められている処理には、スループット(Throughput)1サイクルが必要である。イメージ信号処理装置200内のクロック周波数を減少させるために、水平方向に8ピクセルずつデータの入力が進行するため、水平8ピクセルを1サイクルとして処理しなければならない。8ピクセルを1サイクルとして並列処理する場合、処理速度は減少可能であるが、同一の回路を8個備えなければならないため、1ピクセル処理に比べて回路の規模が大きくなり得る。
【0031】
本発明の実施形態は、図2の(B)のように、イメージデータの入力が進行する方向(ラスタスキャン順)と垂直になるようにイメージデータの方向を垂直並列形態に変更して処理することができる。イメージデータの処理方向を垂直方向に変更してピクセルの処理順序を変更することで、並列データの時分割処理が可能である。ここで、時分割処理とは、時間-分割多重化(TDM、time-division multiplexing)方式で複数の入力イメージを処理することを意味し得る。
【0032】
イメージデータに含まれる多くのピクセルのうち周辺ピクセルのデータを用いて処理対象ピクセルのフィルタリングを行うことができる。周辺ピクセルが必要なフィルタ処理の場合にも、水平1ピクセルを1サイクルとして処理するため、並列データの時分割処理が可能である。
【0033】
例えば、ピクセルの処理順序が任意に変更されると、並列処理を行うためのデータ量も変更されるため、水平8レーンのデータを12レーンに増やして処理することができる。イメージデータが1サイクル間処理(P3処理)され、その後、並列データであるイメージデータの処理(P4処理)が必要である。
【0034】
すなわち、本発明の実施形態は、入力されるイメージデータをフレームメモリ20に格納し、格納されたイメージデータを読み取ってイメージデータの入力が進行する方向と垂直な方向にピクセルデータの順序を変更して処理した後、処理されたピクセルデータを再びフレームメモリ20に格納し、フレームメモリ20に格納されたデータを再び読み取ってピクセルデータの順序を再び戻し、整列したイメージデータを出力することができる。
【0035】
本発明の実施形態において、イメージ信号処理装置200は、ラスタ(Raster)スキャン順にイメージデータが入出力されることを仮定することにする。ここで、ラスタスキャン順は、例えば、左側から右側に複数のピクセルの全行を順次スキャンすることを意味し得る。
【0036】
しかし、上記のようにバッファ回路210(例えば、図1のバッファ211~214)においてピクセルの処理順序を変更する場合、データ処理部220は、ラスタ順に関係なく、任意のピクセルの順序でデータを処理することができる。そして、バッファ回路210(例えば、図1のバッファ211~214)においては、ピクセルの順序を入力ピクセルの順序と同じように元通りに整列して出力することができる。
【0037】
実施形態により、前述した図1で説明した(T1)~(T4)の動作を例示としてバッファ回路210の動作を説明する。バッファ211は、(T1)動作時に水平方向にデータの入力を受けてメモリインターフェース230に伝達することができる。そして、バッファ211~214は、(T2)動作時にメモリインターフェース230から水平方向にデータが入力されるが、垂直方向にデータを処理してデータ処理部220に伝達することができる。さらに、バッファ211~214は、(T3)動作時にデータ処理部220から垂直方向にデータが入力されるが、水平方向にデータを処理してメモリインターフェース230に伝達することができる。バッファ215は、(T4)動作時に水平方向にデータの入力を受けて入出力インターフェース300に伝達することができる。このような、バッファ回路210の書き込みおよび読み取り動作は、後述する図7図14でさらに詳細に説明する。
【0038】
したがって、データを並列時分割で迅速に処理するために、イメージ信号処理装置200内部のデータ処理部220では任意のピクセルの順序で処理されるが、撮影装置10内のイメージ信号処理装置200に入出力されるピクセルの順序は変更されない。
【0039】
例えば、本発明の実施形態はタップ(Tap)数の大きい二次元デジタルフィルタを実装する場合に適用可能であるが、これに限定されない。例えば、本発明の実施形態は1フレームに処理時間の制約がある静止画または画像モードのように全ピクセルを使用しないイメージ信号処理装置に適用可能であるが、これに限定されない。
【0040】
イメージデータが水平方向に複数のレーン(Lane)を有する場合、水平方向にデータ処理を進行するためには重複する回路が必要であり、各レーンで同時に結果を出す必要があるため、重複する回路を減らすことができない。しかし、水平方向に複数のレーンを有する場合に垂直方向にデータ処理を進行するか、または垂直方向に複数のレーンを有する場合に水平方向にデータ処理を進行することで、重複する回路を減らすことができる。これにより、本発明の実施形態に係るイメージ信号処理装置は、イメージデータに対応するピクセル数よりも少ない数のバッファだけでデータ処理を行うことができる。すなわち、本発明の実施形態によると、データ処理のために必要なバッファ数および時間を減らすことができる。
【0041】
図3は、図1のイメージ信号処理装置における垂直にデータの入力が進行する場合を説明するための図である。
図3を参照すると、イメージ信号処理装置200において処理しようとするイメージデータが(A)のようにベイヤーパターンである場合を仮定することにする。図3の実施形態では、二次元デジタルフィルタにおいて水平方向に配置された8レーン(Lane)のデータを処理する場合、演算のために20ピクセル×13ラインのピクセルが必要である。総14ラインのうち7番目のラインにフィルタリング処理対象となる8レーンのターゲットピクセル(TPX)が水平方向に含まれることができる。
【0042】
例えば、(B)のようにグリーン(Green)ピクセルにおいて、垂直方向にデータの入力が進行する場合、水平方向に配列された10個のグリーンピクセルまたは9個のグリーンピクセルを用いて時分割でデータ処理を行うことができる。例えば、イメージ信号処理装置200は、1クロックに1つの水平ライン(10個のグリーンピクセルまたは9個のグリーンピクセル)に対し演算を行うことを繰り返すことで(一例として、パイプライン処理)、13クロックに13ラインに対し演算を行うことができる。
【0043】
例えば、(C)のようにレッド(Red)ピクセルにおいて、垂直方向にデータの入力が進行される場合、水平方向に配列された10個のレッドピクセルを用いて時分割でデータ処理を行うことができる。例えば、イメージ信号処理装置200は、1クロックに1つの水平ライン(10個のレッドピクセル)に対し演算を行うことを繰り返すことで(一例として、パイプライン処理)、13クロックに13ラインに対し演算を行うことができる。
【0044】
例えば、(D)のようにブルー(Blue)ピクセルにおいて、垂直方向にデータの入力が進行される場合、水平方向に配列された10個のブルーピクセルを用いて時分割でデータ処理を行うことができる。例えば、イメージ信号処理装置200は、1クロックに1つの水平ライン(10個のブルーピクセル)に対し演算を行うことを繰り返すことで(一例として、パイプライン処理)、13クロックに13ラインに対し演算を行うことができる。
【0045】
一例として、二次元デジタルフィルタから8レーンのデータを同時に出力するために、水平方向に10個のピクセルを演算し、13サイクル後の演算結果を用いることができる。例えば、各ピクセルのデータを二乗する演算がある場合を仮定する。各ピクセルのデータを残したまま最後に演算を行う場合、遅延単位だけのバッファ(例えば、フリップフロップ)が必要である。しかし、各ピクセルのデータを加算するかまたは他の演算が必要な場合、全ての演算結果をバッファに格納せず、演算結果のみを格納することで回路数を減らすことができる。
【0046】
図4は、図1のイメージ信号処理装置における水平にデータの入力が進行する場合を説明するための図である。
図4を参照すると、イメージ信号処理装置200において処理しようとするイメージデータが(E)のようにベイヤーパターンである場合を仮定することにする。図4の実施形態では、二次元デジタルフィルタにおいて垂直方向に配置された8レーン(Lane)のデータを処理する場合、演算のために13ピクセル×20ラインのピクセルが必要である。総14ピクセルのうち7番目のピクセルにフィルタリング処理対象となる8レーン(Lane)のターゲットピクセル(TPX)が垂直方向に含まれることができる。
【0047】
例えば、(F)のようにグリーン(Green)ピクセルにおいて、水平方向にデータの入力が進行される場合、垂直方向に配列された10個のグリーンピクセルまたは9個のグリーンピクセルを用いて時分割でデータ処理を行うことができる。例えば、イメージ信号処理装置200は、1クロックに1つの垂直ライン(10個のグリーンピクセルまたは9個のグリーンピクセル)に対し演算を行うことを繰り返すことで(一例として、パイプライン処理)、13クロックに13ラインに対し演算を行うことができる。
【0048】
例えば、(G)のようにレッド(Red)ピクセルにおいて、水平方向にデータの入力が進行される場合、垂直方向に配列された10個のレッドピクセルを演算することができる。例えば、イメージ信号処理装置200は、1クロックに1つの垂直ライン(10個のレッドピクセル)に対し演算を行うことを繰り返すことで(一例として、パイプライン処理)、13クロックに13ラインに対し演算を行うことができる。
【0049】
例えば、(H)のようにブルー(Blue)ピクセルにおいて、水平方向にデータの入力が進行される場合、垂直方向に配列された10個のブルーピクセルを演算することができる。例えば、イメージ信号処理装置200は、1クロックに1つの垂直ライン(10個のブルーピクセル)に対し演算を行うことを繰り返すことで(一例として、パイプライン処理)、13クロックに13ラインに対し演算を行うことができる。
【0050】
一例として、二次元デジタルフィルタから8レーンのデータを同時に出力するために、垂直方向に10個のピクセルを演算し、13サイクル後の演算結果を用いることができる。これにより、ターゲットピクセルが配置された方向とは異なる方向(水平方向)にデータを時分割で演算することで、スループット(Throughput)が変化せず、かつ、演算のための回路数を減らすことができる。
【0051】
図5は、図1のイメージ信号処理装置におけるデータ処理部の動作を説明するための図である。本発明の実施形態ではフレームメモリが必要な処理動作のうちマルチスケール処理を一例として説明するが、本発明の実施形態はこれに限定されない。
【0052】
図5を参照すると、データ処理部220は、フレームメモリ20に書き込まれたイメージデータに対してマルチスケール処理を行うことができる。すなわち、バッファ212~214を介してフレームメモリ20から読み取られたイメージデータがデータ処理部220に入力されると、データ処理部220は、マルチスケール処理を行い、処理されたイメージデータをバッファ212~214を介して再びフレームメモリ20に書き込むことができる。
【0053】
例えば、複数のマルチスケール処理部221~223それぞれは、入力されるイメージデータをダウンスケーリングし、解像度が互いに異なる(半分の大きさを有する)イメージを生成することができる。ここで、複数のマルチスケール処理部221~223それぞれは、ダウンスケーリングごとに生成されたイメージをフレームメモリ20に格納することができる。
【0054】
例えば、マルチスケール処理部221~223は、イメージデータ(3840×2160サイズ)をダウンスケーリングして生成されたイメージデータ(1920×1080サイズ)をフレームメモリ20に格納することができる。このように、マルチスケール処理部221~223は、入力されるイメージデータを特定の大きさ(半分の大きさ)にダウンスケーリングし、入力イメージデータよりも小さいサイズを有するそれぞれのイメージデータ(960×540サイズ、480×270サイズ、240×135サイズなど)をフレームメモリ20に格納することができる。
【0055】
そして、複数のマルチスケール処理部221~223それぞれは、ダウンスケーリングされたイメージを以前のサイズのイメージと比較して処理されたイメージデータを出力することができる。ここで、複数のマルチスケール処理部221~223それぞれは、イメージの処理時ごとに処理結果をフレームメモリ20に格納することができる。一例として、マルチスケール処理部221~223それぞれにより行われるイメージ処理動作は、2つの異なる大きさを有するイメージを比較してノイズ低減を行う動作を意味し得る。
【0056】
例えば、マルチスケール処理部221~223は、ダウンスケーリングされたイメージデータ(240×135サイズ)と以前のイメージデータ(480×270サイズ)を比較して処理されたイメージデータをフレームメモリ20に格納することができる。このように、マルチスケール処理部221~223は、他のスケーリングされたイメージデータを比較および処理し、入力イメージデータよりも大きいサイズを有するそれぞれのイメージデータ(960×540サイズ、1920×1080サイズ、3840×2160サイズなど)をフレームメモリ20に格納することができる。
【0057】
マルチスケール処理部221~223により行われるマルチスケール処理は、1つのスケールの専用処理ではなく、各スケールで共通の演算ができる処理であってもよい。そして、マルチスケール処理部221~223は、1フレームを処理する間、マルチスケール数だけ複数回繰り返し使用することができる。
【0058】
図6および図7は、図1のイメージ信号処理装置における書き込み動作を説明するための図である。図6および図7は、バッファ211が読み出し回路120から印加されたイメージデータをメモリインターフェース230を介してフレームメモリ20に伝達する動作(T1)を説明するための図である。
【0059】
図6を参照すると、(A)のように、8レーン単位のイメージデータが読み出し回路120からバッファ211に印加されることができる。バッファ211は、前述した図1の(T1)動作のように、水平方向に印加される8レーン単位のイメージデータをメモリインターフェース230に伝達することができる。よって、10ビット×8レーン単位のイメージデータがフレームメモリ20に格納されることができる。
【0060】
例えば、バッファ211は、(B)のように、6クロック当たり1回の周期で8レーン(Lane0~Lane7)のデータをフレームメモリ20に書き込むことができるようにデータを整列することができる。例えば、メモリインターフェース230が512ビット単位でフレームメモリ20にアクセスする場合、バッファ211は、8レーンのデータを6クロックの周期として48ピクセル(480ビット)のデータをフレームメモリ20に格納することができる。
【0061】
図6の(C)は、フレームメモリ20におけるイメージデータの格納状態の例示を示すことができる。一例として、フレームメモリ20に格納されるデータの幅が16ビットであると仮定すると、1つのアクセス動作の場合、16ビット×32バーストにより512ビットが格納されることができる。例えば、512ビットのうち480ビットは、ピクセルのビット値(48ピクセル)を示し、残りの32ビットは、リザーブド(reserved)として用いられることができる。
【0062】
図7を参照すると、バッファ211は、読み出し回路120からイメージデータ(10ビット×8レーン単位のイメージデータ)が入力されると、メモリインターフェース230を介してフレームメモリ20にデータを書き込むことができる。例えば、バッファ211は、複数のフリップフロップ(FF)を含むことができる。バッファ211は、8ピクセル(10ビット×8レーン)のデータを6クロックの周期として総512ビットのデータをフレームメモリ20に書き込むことができる。
【0063】
図8図10は、図1のイメージ信号処理装置における読み取り動作を説明するための図である。図8図10は、バッファ212~214がメモリインターフェース230を介してフレームメモリ20からデータを読み取る動作(T2)を説明するための図である。
【0064】
図8は、フレームメモリ20に1つのアクセスだけのデータ(480ビット(48ピクセルデータ))を格納した状態の例示を示すことができる。例えば、0x0000~0x09FFまでが1番目のラインのピクセルデータとして格納されることができ、0x0A00~0x13FFまでが2番目のラインのピクセルデータとして格納されることができ、0x1400~0x1DFFまでが3番目のラインのピクセルデータとして格納されることができ、0x1E00~0x27FFまでが4番目のラインのピクセルデータとして格納されることができる。
【0065】
図9は、図1のイメージ信号処理装置におけるアクセス動作を説明するための図である。図9は、前述した図1の(T2)動作のように、フレームメモリ20に格納されたデータがバッファ212~214にアクセスされる動作を示すことができる。バッファ211~214は、水平方向に入力されたデータを垂直方向に整列することができる。
【0066】
フレームメモリ20とバッファ回路210との間のアクセス時にラスタ(Raster)スキャン順の制約がある場合、フレームメモリ20のデータを1ラインずつ読み取ってバッファ回路210に格納することができる。
【0067】
しかし、図9を参照すると、本発明の実施形態は、バッファ212~214(例えば、バッファ212)においてイメージデータの処理順序を変更し、データ処理部220において任意の順序でデータ処理を行うため、フレームメモリ20とバッファ212~214との間のアクセス時にラスタ(Raster)スキャン順の制約を受けない。
【0068】
バッファ212~214は、フレームメモリ20に書き込まれたデータ(例えば、1~4番目のラインのデータ)のうち、演算に用いられる各ラインの開始部分の一部のデータ(I)を集めて演算処理に用いることができる。そして、バッファ212~214においてまだ使用していない領域(RNR)のデータは読み取っていないため、バッファが不要である。
【0069】
図10は、前述した図1の(T2)動作のように、バッファ212~214に格納されたデータを読み取る動作を示すことができる。バッファ212~214は、メモリインターフェース230を介してフレームメモリ20から印加されるイメージデータを読み取ってデータ処理部220に伝達することができる。例えば、バッファ212~214は、複数のフリップフロップ(FF)を含むことができる。バッファ212~214は、10ビット×48ピクセル(480ビット)のデータを読み取ることができる。バッファ212~214は、2ピクセル×24レーンのデータを1クロックごとに読み取ることができる。バッファ212~214は、書き込み動作と読み取り動作が重なり得るため、2倍のライン数を有することができる。すなわち、バッファ212~214は、ライン1~ライン24の第1バッファグループ、およびライン25~ライン48の第2バッファグループを含むことができる。
【0070】
フレームメモリ20は、ラスタ順にデータを格納することができる。しかし、前述したように、本発明の実施形態は、データの入力が進行する方向と垂直な方向にデータを並列処理することができる。これにより、バッファ回路210は、データのアクセスが容易なフリップフロップ(FF)を含むことができる。本発明の実施形態ではバッファ回路210がフリップフロップを含むものを一例として説明したが、バッファ回路210の構成は、これに限定されず、SRAMまたは他の揮発性メモリを含んでもよい。
【0071】
図11は、図1のイメージ信号処理装置における読み取り動作時のデータ整列処理を説明するための図である。図11は、バッファ212~214において、メモリインターフェース230を介してフレームメモリ20からデータの入力を受けて整列する動作(T2)を説明するための図である。
【0072】
図11の(A)のように、読み取ろうとする目標データは、2×12サイズのピクセル(並列ピクセル)を1クロックの周期として処理することに設定することができる。例えば、並列処理のためのデータ格納容量は、10ビット×48ピクセル×24ライン×2面である場合に23,040ビットに設定されることができる。
【0073】
図11の(B)は、フレームメモリ20の格納状態を示すことができる。例えば、横48、縦1の大きさを有する1ラインのメモリ領域に10ビット×8レーン×6サイクルである場合、480ビットを24サイクルにわたって格納することができる。
【0074】
そして、図11の(C)は、バッファ212~214がフレームメモリ20に格納されたデータを整列することを示すことができる。一例として、バッファ212~214は、フレームメモリ20から読み取られた48ピクセルを24ラインに分割し、分割されたデータを24回読み取って格納することができる。
【0075】
図11の(D)は、バッファ212~214において1クロックで並列処理を完了した結果を示すことができる。本発明の実施形態は、垂直並列処理を行うことができるため、1回の処理で24クロックで得ることができるだけのデータを格納することができる。
【0076】
図12は、図1のイメージ信号処理装置において読み取り動作時にデータを処理する動作を説明するための図である。図12は、バッファ212~214においてデータを処理しマルチスケール処理部221~223に伝達する動作(T2)を説明するための図である。
【0077】
図12は、96ピクセル(48ピクセル×2)および12ラインの処理対象ピクセルサイズを有するパターンを示すことができる。イメージ信号処理装置200は、7×7フィルタリング処理のために、上端および下端の一部ラインをミラーリングし、処理対象ピクセルだけでなく、周辺ピクセルを含ませた24ラインのデータを読み取ることができる。
【0078】
複数ラインのデータを処理するために各ラインの左側のピクセルを含むデータを読み取ることができる。例えば、バッファ212~214は、フレームメモリ20の1番目のラインアドレス(0x0000000)からデータを読み取り、次に2番目のラインのアドレス(0x0001400)からデータを読み取る方式で、12番目のラインまでデータを読み取ることができる。
【0079】
例えば、図12の実施形態は、4K(3840×2160サイズのデータ)ベイヤー配列のイメージデータに対して7×7フィルタリング処理を行う場合に必要なバッファを示すことができる。図12の実施形態によると、バッファ212~214で処理されマルチスケール処理部221~223に出力されるデータは2ピクセル×12ラインであり得る。よって、マルチスケール処理部221~223は、2ピクセル×12ラインのデータを同時に処理し、8レーンと比較して3倍の処理速度でデータを処理することができる。
【0080】
図13は、書き込み動作時のデータ整列を説明するための図である。図13は、バッファ212~214においてマルチスケール処理部221~223から印加された処理データをメモリインターフェース230を介してフレームメモリ20に書き込む動作(T3)を説明するための図である。
【0081】
図13の(A)のように、バッファ211に入力された目標データは、2×12サイズのピクセルを1クロックで処理してフレームメモリ20に伝達されることができる。例えば、整列処理のためのデータ維持容量は、10ビット×48ピクセル×12ライン×2面である場合に11,520ビットに設定されることができる。
【0082】
そして、図13の(B)は、フレームメモリ20にデータを書き込むためにバッファ212~214に入力された垂直データを水平データに変換して整列処理することを示すことができる。一例として、バッファ回路210は、入力されたデータを12ラインだけのデータで処理するために横2、縦1のデータに分割し、24サイクルだけのデータを格納することができる。図13の(C)は、フレームメモリ20の格納状態を示すことができる。例えば、横48、縦1の大きさを有する1ラインのメモリ領域に10ビット×2ピクセル×24サイクルである場合、480ビットを24サイクルにわたって格納することができる。
【0083】
図14は、図1のフレームメモリからの出力アクセス動作を説明するための図である。図14は、バッファ215においてメモリインターフェース230を介してフレームメモリ20から印加されるデータを入出力インターフェース300に伝達する動作(T4)を説明するための図である。
【0084】
図14の(A)は、フレームメモリ20におけるイメージデータの格納状態の例示を示すことができる。一例として、フレームメモリ20に格納されるデータの幅が16ビットであると仮定すると、1つのアクセス動作の場合、16ビット×32バーストにより512ビットが格納されることができる。例えば、512ビットのうち480ビットは、ピクセルのビット値(48ピクセル)を示し、残りの32ビットは、リザーブド(reserved)として用いられることができる。
【0085】
バッファ215は、(B)のように、6クロック当たり1回の周期で8レーン(Lane0~Lane7)のデータを読み取ることができる。例えば、メモリインターフェース230が512ビット単位でフレームメモリ20にアクセスする場合、バッファ215は、8レーンのデータを6クロックの周期として48ピクセル(480ビット)のデータを読み取ることができる。(C)のように、バッファ215は、10ビット×8レーン単位のイメージデータをフレームメモリ20から順次読み取ることができる。
【0086】
本発明の実施形態において、データの読み取り、書き込み、およびアクセス動作時に用いられるデータの幅、ビット数、および大きさなどは、理解を助けるための一実施形態にすぎず、これに限定されない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14