(57)【要約】【課題】複数の経路を使用したデータ転送において、誤り訂正による経路毎のデータの遅延差を抑制することが可能な誤り訂正装置を提供する。【解決手段】誤り訂正装置は、入力された複数のデータのそれぞれの誤り数を検出する検出手段と、データに含まれる誤りを訂正する誤り訂正処理を、複数のデータに対して並列に行う訂正手段と、誤り訂正処理による複数のデータの遅延差が小さくなるように、誤り数に応じて複数のデータのそれぞれの出力タイミングを制御する遅延手段とを備えることを特徴とする。【選択図】図３
2018207164.tif 000002
【特許請求の範囲】
【請求項１】
入力された複数のデータのそれぞれの誤り数を検出する検出手段と、
前記データに含まれる誤りを訂正する誤り訂正処理を、前記複数のデータに対して並列に行う訂正手段と、
前記誤り訂正処理による前記複数のデータの遅延差が小さくなるように、前記誤り数に応じて前記複数のデータのそれぞれの出力タイミングを制御する遅延手段とを備えることを特徴とする誤り訂正装置。
【請求項２】
前記遅延手段は、前記誤り数が少ないほど前記出力タイミングを遅延させることを特徴とする請求項１に記載の誤り訂正装置。
【請求項３】
前記遅延手段は、前記誤り訂正処理にかかる処理時間と第１の遅延との合計時間の差が前記複数のデータ間で小さくなるように、前記複数のデータのそれぞれについて前記第１の遅延を決定することを特徴とする請求項２に記載の誤り訂正装置。
【請求項４】
前記遅延手段は、前記誤り訂正処理で訂正可能な最大の誤り数に対応する前記処理時間から、各データの誤り数に対応する前記処理時間を差し引いた時間を前記第１の遅延とすることを特徴とする請求項３に記載の誤り訂正装置。
【請求項５】
前記遅延手段は、前記複数のデータのうち最大の誤り数に対応する前記処理時間から、各データの誤り数に対応する前記処理時間を差し引いた時間を前記第１の遅延とすることを特徴とする請求項３に記載の誤り訂正装置。
【請求項６】
前記複数のデータのそれぞれの入力タイミングを前記遅延手段に通知する通知手段を備え、
前記遅延手段は、前記複数のデータのうち最も早く入力された第１データの入力タイミングと、前記複数のデータのうち最も遅く入力された第２データの入力タイミングの差が小さくなるように、前記複数のデータのそれぞれについて第２の遅延を決定し、前記第２の遅延に基づいて前記第１データ以外の前記出力タイミングを制御することを特徴とする請求項１乃至５のいずれか１項に記載の誤り訂正装置。
【請求項７】
前記複数のデータは、第３データと第４データを含み、前記遅延手段は、前記第１データの入力タイミングと前記第２データの入力タイミングとの差を前記第２データについての前記第２の遅延とし、前記第１データの入力タイミングと前記第３データの入力タイミングとの差を前記第３データについての前記第２の遅延とし、前記第１データの入力タイミングと前記第４データの入力タイミングとの差を前記第４データについての前記第２の遅延とすることを特徴とする請求項６に記載の誤り訂正装置。
【請求項８】
前記複数のデータは、シリアル通信を行う複数の経路を介して入力された前記経路毎のデータであることを特徴とする請求項１乃至７のいずれか１項に記載の誤り訂正装置。
【請求項９】
前記検出手段、前記訂正手段、前記遅延手段は、前記経路毎のデータに対応してそれぞれ複数設けられることを特徴とする請求項８に記載の誤り訂正装置。
【請求項１０】
前記複数のデータのそれぞれは、１フレームの画像データの異なる領域に対応する領域画像データであることを特徴とする請求項１乃至９のいずれか１項に記載の誤り訂正装置。
【請求項１１】
請求項１０に記載の誤り訂正装置と、
被写体を撮像して前記画像データを取得し、複数の前記領域画像データのそれぞれを前記複数の経路を介して前記誤り訂正装置に送信する撮像センサとを備えることを特徴とする撮像装置。
【請求項１２】
入力された複数のデータのそれぞれの誤り数を検出するステップと、
前記データに含まれる誤りを訂正する誤り訂正処理を、前記複数のデータに対して並列に行うステップと、
前記誤り訂正処理による前記複数のデータの遅延差が小さくなるように、前記誤り数に応じて前記複数のデータのそれぞれの出力タイミングを制御するステップとを有することを特徴とする誤り訂正装置の制御方法。
【請求項１３】
撮像センサと誤り訂正装置とを備える撮像装置の制御方法であって、
被写体を撮像して画像データを取得するステップと、
１フレームの前記画像データを分割し、前記画像データの異なる領域に対応する複数の領域画像データを生成するステップと、
前記領域画像データのそれぞれを前記複数の経路を介して前記撮像センサから前記誤り訂正装置に入力するステップと、
入力された複数のデータのそれぞれの誤り数を検出するステップと、
前記データに含まれる誤りを訂正する誤り訂正処理を、前記複数のデータに対して並列に行うステップと、
前記誤り訂正処理による前記複数のデータの遅延差が小さくなるように、前記誤り数に応じて前記複数のデータのそれぞれの出力タイミングを制御するステップとを有することを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正装置、撮像装置および制御方法に関する。
【背景技術】
【０００２】
複数の経路を用いてシリアル通信を行う技術が知られている。この技術において、送信側は送信する画像データを分割し、分割された各データをそれぞれの経路を用いて送信する。受信側は、それぞれの経路で並列に受信したデータを同期させ、送信された画像データを復元する。このように複数の経路を用いたデータ転送の場合、それぞれの経路のデータを同期させるためのバッファが受信側に設けられる。経路間でのデータの遅延差が大きいほど、必要となるバッファのサイズが増大する。
【０００３】
高速なシリアル通信では、受信されたデータの誤りを訂正可能とするために、誤り訂正符号化技術が用いられる。特許文献１には、伝送速度が異なる複数の経路において誤り訂正復号化と符号化を行う中継器が開示されている。この中継器は、誤り訂正復号化と符号化に要する時間がそれぞれの経路で同じになるように、伝送速度に応じて遅延を加えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２３９１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示された技術では、データに含まれる誤りの数が考慮されていない。誤り訂正処理にかかる処理時間は誤りの数に応じて異なるため、データに含まれる誤り数が異なると、誤り訂正処理によって経路毎のデータの遅延差が増大する可能性がある。
【０００６】
本発明は、上述の問題に鑑みてなされたものであって、複数の経路を使用したデータ転送において、誤り訂正による経路毎のデータの遅延差を抑制することが可能な誤り訂正装置、撮像装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る誤り訂正装置は、入力された複数のデータのそれぞれの誤り数を検出する検出手段と、前記データに含まれる誤りを訂正する誤り訂正処理を、前記複数のデータに対して並列に行う訂正手段と、前記誤り訂正処理による前記複数のデータの遅延差が小さくなるように、前記誤り数に応じて前記複数のデータのそれぞれの出力タイミングを制御する遅延手段とを備えることを特徴とする。
【０００８】
本発明の一実施形態に係る誤り訂正装置の制御方法は、入力された複数のデータのそれぞれの誤り数を検出するステップと、前記データに含まれる誤りを訂正する誤り訂正処理を、前記複数のデータに対して並列に行うステップと、前記誤り訂正処理による前記複数のデータの遅延差が小さくなるように、前記誤り数に応じて前記複数のデータのそれぞれの出力タイミングを制御するステップとを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数の経路を使用したデータ転送において、誤り訂正による経路毎のデータの遅延差を抑制することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態における撮像装置のブロック図である。
【図２】第１実施形態における撮像センサのブロック図である。
【図３】第１実施形態における画像処理ＩＣのブロック図である。
【図４】第１実施形態における誤り訂正部の動作を示すフローチャートである。
【図５】第１実施形態における第１の遅延処理の詳細なフローチャートである。
【図６】第１実施形態における誤り訂正部の動作を示すタイミングチャートである。
【図７】第２実施形態における画像処理ＩＣのブロック図である。
【図８】第２実施形態における誤り訂正部の動作を示すフローチャートである。
【図９】第２実施形態における第２の遅延処理の詳細なフローチャートである。
【図１０】第２実施形態における誤り訂正部の動作を示すタイミングチャートである。
【図１１】第３実施形態における画像処理ＩＣのブロック図である。
【図１２】第３実施形態における第１の遅延処理の詳細なフローチャートである。
【図１３】第３実施形態における誤り訂正部の動作を示すタイムチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
［第１実施形態］
図１は、本実施形態における撮像装置１のブロック図である。撮像装置１は、例えばデジタルカメラ、デジタルビデオカメラ、カメラヘッド、携帯端末、監視カメラ、車載カメラなどであり得る。撮像装置１は、光学ユニット１０、撮像センサ１１、画像処理ＩＣ（Integrated Circuit）１２、メモリ１３、記録媒体１４、出力部１５を備える。出力部１５には、表示装置１６が接続される。
【００１２】
光学ユニット１０は、フォーカスレンズ、ズームレンズ、光学フィルタ、シャッタ、絞りなどから構成される撮像光学系と、撮像光学系を制御するための制御部とを含む。光学ユニット１０は、撮像装置１の外部から光を受光して、撮像センサ１１に入力する。
【００１３】
撮像センサ１１は、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）、ＣＣＤ（Charge Coupled Device）などの光電変換素子と、複数の送信部とを含み、光学ユニット１０によって形成される光学像（光学情報）を画像データ（電気情報）に変換する。以下の説明において、撮像センサ１１は、４つの送信部を有するものとする。撮像センサ１１は、例えば１フレームの画像データを４つに分割した領域画像データを各送信部から出力する。
【００１４】
画像処理ＩＣ１２は、ＣＰＵ（Central Processing Unit）、キャッシュメモリ、インターフェースなどを含み、撮像センサ１１からの領域画像データを受信し、領域画像データに基づいて画像データを生成する。さらに、画像処理ＩＣ１２は、画像データに対して所定のデジタル画像処理を施す。画像処理された画像データは、メモリ１３、記録媒体１４、出力部１５のうちの少なくとも１つに出力される。
【００１５】
メモリ１３は、例えばＤＲＡＭ（Dynamic Random Access Memory）であって、画像処理ＩＣ１２に備えられたＣＰＵのワーク領域、コンピュータプログラムのロード領域などとして機能する。なお、メモリ１３は、フラッシュメモリなどの不揮発性のメモリであってもよい。
【００１６】
記録媒体１４は、例えばＨＤＤ（Hard Disk Drive）であって、画像処理ＩＣ１２から出力された画像データを記録する。画像処理ＩＣ１２は、記録媒体１４に記録された画像データを読み出すこともできる。記録媒体１４は、ＳＳＤ（Solid State Drive）、ＳＤ（登録商標）メモリカードなどであってもよい。
【００１７】
出力部１５は、画像処理ＩＣ１２から出力された画像データを外部に出力するためのインターフェースである。出力部１５は、例えばＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）規格、ＳＤＩ（Serial Digital Interface）規格などの出力端子と、表示制御部を含む。表示制御部は、画像処理ＩＣ１２からの画像データを表示装置１６が表示可能な画像信号に変換する。表示装置１６は、例えば液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイであって、出力部１５からの画像信号に基づいて表示を行う。
【００１８】
図２は、本実施形態における撮像センサ１１のブロック図である。撮像センサ１１は、画素アレイ１１０、読み出し部１２０、符号化部１３０ａ〜１３０ｄ、送信部１４０ａ〜１４０ｄを備える。符号化部１３０ａ〜１３０ｄは同様の構成を有し、送信部１４０ａ〜１４０ｄは同様の構成を有する。以下の説明において、同様の構成を有する要素を区別しない場合には、符号の後に付された「ａ」〜「ｄ」を省略することがある。また、符号化部１３０、送信部１４０の数は４に限定されず、２、３または５以上であってもよい。
【００１９】
画素アレイ１１０は、２次元配列された複数の画素（光電変換素子）、カラーフィルタ、マイクロレンズなどを含む。複数の画素は、光学ユニット１０からの被写体像に応じた画素信号を出力する。
【００２０】
読み出し部１２０は、垂直走査回路、水平走査回路、増幅回路、Ａ／Ｄ（Analog/Digital）変換回路、ラインメモリなどを含む。読み出し部１２０は、画素アレイ１１０の画素信号を行単位で読み出し、デジタルの画素データに変換してラインメモリに格納する。ラインメモリに格納された画素データは、符号化部１３０ａ〜１３０ｄのそれぞれに順次出力される。
【００２１】
符号化部１３０は、読み出し部１２０からの画素データに対して、例えばリードソロモン符号などの手法を用いて誤り訂正符号化を行う。符号化部１３０は、領域画像データに基づいて誤り訂正符号を生成し、誤り訂正符号を領域画像データに付加する。誤り訂正符号化は、１つの符号語を構成する所定のブロック単位で行われる。なお、誤り訂正符号化の手法は特に限定されず、畳み込み符号などの他の手法を用いてもよい。
【００２２】
送信部１４０は、Ｐ／Ｓ（Parallel/Serial）変換回路、送信回路を含む。送信部１４０ａ〜１４０ｄは、符号化部１３０ａ〜１３０ｄによって誤り訂正符号化されたパラレル形式のデータをシリアルのビット列に変換し、それぞれ経路２００ａ〜２００ｄを介して画像処理ＩＣ１２に送信する。経路２００は、撮像センサ１１と画像処理ＩＣ１２間でシリアル通信を行うための伝送路である。経路２００の数は４に限定されず、２、３または５以上であってもよい。
【００２３】
図３は、本実施形態における画像処理ＩＣ１２のブロック図である。画像処理ＩＣ１２は、ＣＰＵ２０１、ＲＯＭ（Read Only Memory）２０２、ＲＡＭ（Random Access Memory）２０３、受信部２１０ａ〜２１０ｄ、誤り訂正部２２０ａ〜２２０ｄ、データ結合部２３０、画像処理部２４０を備える。受信部２１０ａ〜２１０ｄは同様の構成を有し、誤り訂正部２２０ａ〜２２０ｄは同様の構成を有する。受信部２１０、誤り訂正部２２０の数は４に限定されず、２、３または５以上であってもよい。
【００２４】
ＣＰＵ２０１は、ＲＯＭ２０２に格納されている制御プログラムを実行することによって、画像処理ＩＣ１２の各部の動作を制御する。ＲＯＭ２０２は不揮発性のメモリであって、制御プログラム、各種パラメータなどを格納する。ＲＡＭ２０３は、例えばＳＲＡＭ（Static Random Access Memory）であって、誤り訂正部２２０による誤り訂正処理のためのデータ記憶領域として用いられる。
【００２５】
受信部２１０は、受信回路、Ｓ／Ｐ（Serial/Parallel）変換回路を含み、経路２００を介して画像処理ＩＣ１２から受信したシリアル形式のデータをパラレル形式のデータに変換する。以下、受信部２１０ａ〜２１０ｄのそれぞれが受信したデータを受信データと呼び、送信部１４０ａ〜１４０ｄのそれぞれが送信したデータを送信データと呼ぶ。送信データが送信部１４０から経路２００を介して受信部２１０へ伝送される際には、経路２００におけるノイズなどの要因により誤りが発生し、受信データに誤りが含まれる可能性がある。受信データは、受信部２１０ａ〜２１０ｄからそれぞれ誤り訂正部２２０ａ〜２２０ｄに入力される。
【００２６】
誤り訂正部２２０は、検出部２２１、訂正部２２２、遅延部２２３を備える。誤り訂正部２２０は、半導体素子などから構成された誤り訂正装置であって、検出部２２１、訂正部２２２、遅延部２２３はそれぞれ検出手段、訂正手段、遅延手段として機能する。検出部２２１、訂正部２２２、遅延部２２３は、経路毎の受信データに対応してそれぞれ複数設けられる。誤り訂正部２２０ａ〜２２０ｄは、それぞれ受信部２１０ａ〜２１０ｄから入力された経路毎の受信データに対して誤り訂正処理を行い、誤り訂正処理により生成された訂正データをデータ結合部２３０に出力する。
【００２７】
誤り訂正処理は、検出部２２１と訂正部２２２によって行われる。検出部２２１は、受信データに対して所定のブロック単位で誤りがあるか否かを判断し、誤りがある場合はその誤り数を検出する。本実施形態において、検出部２２１は、誤り数として０個、１個、２個の３パターンを検出できるものとして説明する。検出部２２１は、誤り数を訂正部２２２と遅延部２２３に通知する。
【００２８】
訂正部２２２は、受信データに対して誤り復号化を行うことにより、訂正データを生成する。すなわち、訂正部２２２は、誤り訂正符号が付加された領域画像データの誤りを訂正した後、誤り訂正符号を削除する。本実施形態において、誤り訂正処理で訂正可能な最大の誤り数は２個であり、受信データの誤り数が０個の場合は０サイクル、誤り数が１個の場合は２０サイクル、誤り数が２個の場合は３０サイクルの時間が誤り訂正処理に必要であるものとする。誤り訂正処理にかかる時間（サイクル数）は、本実施形態の例に限定されず、誤り訂正部２２０の性能に応じて定められる。
【００２９】
遅延部２２３は、検出部２２１で検出された誤り数を基に、訂正部２２２で生成された訂正データに第１の遅延を加える。本実施形態において、遅延部２２３は、誤り数が０個の場合は３０サイクル、誤り数が１個の場合は１０サイクル、誤り数が２個の場合は０サイクルの第１の遅延を加える。すなわち、訂正可能な最大の誤り数に対応する誤り訂正処理の処理時間（最大処理時間）から、各データの誤り数に対応する誤り訂正の処理時間を差し引いた時間を前記第１の遅延とする。これにより、検出部２２１、訂正部２２２による誤り訂正処理と、遅延部２２３による第１の遅延とで合わせて最大処理時間に等しい３０サイクルの遅延が、誤り数によらず受信データに加えられることになる。遅延部２２３は、遅延させた訂正データをデータ結合部２３０に出力する。
【００３０】
データ結合部２３０は、誤り訂正部２２０ａ〜２２０ｄのそれぞれから出力された訂正データを同期させ、訂正データを結合して１フレームの画像データを復元する。画像処理部２４０は、画像データに対して、画素補間、色変換、ホワイトバランス調整、ガンマ補正、ノイズリダクション、圧縮などの画像処理を行う。画像処理された画像データは、記録媒体１４などに出力される。
【００３１】
以下、説明を簡単にするために訂正部２２２から遅延部２２３へ直接訂正データを出力するものとして説明する。しかしながら、本発明はこの方法に限定するものではない。訂正部２２２と遅延部２２３とは共通のＦＩＦＯ（First In First Out）バッファを有していてもよい。この場合、訂正部２２２は、訂正データをＦＩＦＯバッファに記憶させるとともに、遅延部２２３に対して誤り訂正処理が完了したことを示す信号を出力する。遅延部２２３は、訂正部２２２からの信号に応じて、ＦＩＦＯバッファから訂正データを出力する。
【００３２】
図４は、本実施形態における誤り訂正部２２０の動作を示すフローチャートである。図４のフローチャートによる処理は、誤り訂正処理の処理単位（ブロック）毎に実行される。まず、誤り訂正部２２０は、受信部２１０からの受信データを入力する（ステップＳ１１）。受信データは、検出部２２１に入力されるとともに、検出部２２１を介して訂正部２２２にも入力される。
【００３３】
続いて、誤り訂正部２２０は、受信データに対して誤り訂正処理を行う（ステップＳ１２）。検出部２２１は、受信データに基づいてシンドロームを生成し、シンドロームの行列式から誤り数を算出する。訂正部２２２は、シンドロームと誤り数から誤り位置多項式と誤り数値多項式を生成し、これらの多項式に基づいて誤り位置と誤り数値を算出する。訂正部２２２は、誤り位置と誤り数値を用いて受信データの誤りを訂正する。これにより、訂正データが生成される。
【００３４】
次に、誤り訂正部２２０は、訂正データに対して第１の遅延処理を行う（ステップＳ１３）。遅延部２２３は、受信データの誤り数に応じた第１の遅延を訂正データに加えることにより、訂正部２２２により生成された訂正データがデータ結合部２３０に出力されるタイミングを遅延させる。そして、誤り訂正部２２０は、遅延させた訂正データをデータ結合部２３０に出力する（ステップＳ１４）。訂正データが出力されるタイミングは、遅延部２２３によって制御される。
【００３５】
図５は、本実施形態における第１の遅延処理の詳細なフローチャートである。遅延部２２３は、検出部２２１からの通知によって受信データの誤り数を取得し（ステップＳ１０１）、誤り数が０個であるか否かを判断する（ステップＳ１０２）。誤り数が０個である場合（ステップＳ１０２でＹＥＳ）、遅延部２２３は、第１の遅延を３０サイクルに決定する（ステップＳ１０３）。誤り数が１または２個である場合（ステップＳ１０２でＮＯ）、遅延部２２３は、誤り数が１個であるか否かを判断する（ステップＳ１０４）。誤り数が１個である場合（ステップＳ１０４でＹＥＳ）、遅延部２２３は、第１の遅延を１０サイクルに決定する（ステップＳ１０５）。誤り数が２個である場合（ステップＳ１０４でＮＯ）、遅延部２２３は、第１の遅延を０サイクルに決定する（ステップＳ１０６）。遅延部２２３は、決定されたサイクル数だけ訂正データを遅延させるように、訂正データの出力タイミングを制御する（ステップＳ１０７）。
【００３６】
図６は、本実施形態における誤り訂正部２２０ａ〜２２０ｄの動作を示すタイミングチャートである。ここでは、誤り訂正部２２０ａ〜２２０ｄがそれぞれ１つの処理ブロックを処理する際の動作を説明する。図６の横軸は、誤り訂正部２２０ａ〜２２０ｄの入力が開始されてからの経過時間をサイクル数で表している。１つの処理ブロック分のデータの入出力には４０サイクルを要するものとし、誤り訂正部２２０ａ〜２２０ｄの入力に含まれる誤り数をそれぞれ１個、０個、２個、１個とする。
【００３７】
誤り訂正部２２０ａは、サイクル１において受信データの入力（ステップＳ１１）を開始する。誤り訂正部２２０ａは、サイクル４０において受信データの入力を完了し、サイクル４１において誤り訂正処理（ステップＳ１２）を開始する。誤り訂正処理において、検出部２２１ａは、受信データの誤りを１個検出し、訂正部２２２ａは、１個の誤りが訂正された訂正データを生成する。誤り訂正部２２０ａは、サイクル６０において誤り訂正処理を完了し、サイクル６１において第１の遅延処理（ステップＳ１３）を開始する。第１の遅延処理において、遅延部２２３ａは、１個の誤りに対応して第１の遅延を１０サイクルに決定し、訂正データの出力タイミングを１０サイクル遅延させる。誤り訂正部２２０ａは、サイクル７０において第１の遅延処理を完了し、サイクル７１において訂正データの出力（ステップＳ１４）を開始する。誤り訂正部２２０ａは、サイクル１１０において訂正データの出力を完了する。
【００３８】
誤り訂正部２２０ｂは、サイクル１において受信データの入力（ステップＳ１１）を開始する。誤り訂正部２２０ｂは、サイクル４０において受信データの入力を完了し、サイクル４１において誤り訂正処理（ステップＳ１２）を開始する。誤り訂正処理において、検出部２２１ｂは、受信データの誤りを０個検出し、訂正部２２２ｂは、０個の誤りが訂正された訂正データを生成する。すなわち、誤り訂正処理は実質的に行われず、誤り訂正部２２０ｂは、サイクル４１において第１の遅延処理（ステップＳ１３）を開始する。第１の遅延処理において、遅延部２２３ｂは、０個の誤りに対応して第１の遅延を３０サイクルに決定し、訂正データの出力タイミングを３０サイクル遅延させる。誤り訂正部２２０ｂは、サイクル７０において第１の遅延処理を完了し、サイクル７１において訂正データの出力（ステップＳ１４）を開始する。誤り訂正部２２０ｂは、サイクル１１０において訂正データの出力を完了する。
【００３９】
誤り訂正部２２０ｃは、サイクル２１において受信データの入力（ステップＳ１１）を開始する。誤り訂正部２２０ｃに受信データが入力されるタイミングは、経路２００ａ〜２００ｄ間のスキューなどにより、誤り訂正部２２０ａ、２２０ｂ、２２０ｄに受信データが入力されるタイミングと比較して２０サイクルの遅延差３００が生じている。誤り訂正部２２０ｃは、サイクル６０において受信データの入力を完了し、サイクル６１において誤り訂正処理（ステップＳ１２）を開始する。誤り訂正処理において、検出部２２１ｃは、受信データの誤りを２個検出し、訂正部２２２ｃは、２個の誤りが訂正された訂正データを生成する。誤り訂正部２２０ｃは、サイクル９０において誤り訂正処理を完了し、サイクル９１において第１の遅延処理（ステップＳ１３）を開始する。第１の遅延処理において、遅延部２２３ｃは、２個の誤りに対応して第１の遅延を０サイクルに決定し、訂正データの出力タイミングを０サイクル遅延させる。すなわち、第１の遅延処理は実質的に行われず、誤り訂正部２２０ｃは、サイクル９１において訂正データの出力（ステップＳ１４）を開始する。誤り訂正部２２０ｃの出力タイミングは、誤り訂正部２２０ａ、２２０ｂ、２２０ｄの出力タイミングと比較して２０サイクルの遅延差３０１が生じている。誤り訂正部２２０ｃは、サイクル１３０において訂正データの出力を完了する。
【００４０】
誤り訂正部２２０ｄの動作は、誤り訂正部２２０ａの動作と同様であるため、詳細な説明を省略する。
【００４１】
図６に示すように、遅延部２２３ａ〜２２３ｄで第１の遅延を加えることにより、誤り訂正部２２０ａ〜２２０ｄに入力される受信データ間の遅延差３００と、誤り訂正部２２０ａ〜２２０ｄから出力される訂正データ間の遅延差３０１が同じとなる。例えば、誤り訂正部２２０ｂと誤り訂正部２２０ｃを比較すると、データの入力タイミングにおける２０サイクルの遅延差は、データの出力タイミングにおいても２０サイクルの遅延差のままである。
【００４２】
本実施形態によれば、誤り訂正部２２０は、経路２００ａ〜２００ｄから入力された経路毎のデータに対して、誤り訂正処理を並列して行う。誤り訂正部２２０は、誤り訂正処理後のデータ（訂正データ）が出力される出力タイミングの遅延差が小さくなるように、誤り数に応じて訂正データの出力タイミングを制御する。例えば、誤り訂正部２２０は、各データの誤り訂正処理にかかる処理時間と第１の遅延による遅延の合計時間が、誤り数によらず一定になるように、誤り数に応じて第１の遅延を決定する。したがって、経路毎のデータの誤り数が異なる場合であっても、誤り訂正処理による経路毎のデータの遅延差を抑制することができる。
【００４３】
［第２実施形態］
次に、第２実施形態における撮像装置について説明する。本実施形態の撮像装置は、第１実施形態の撮像装置１と同様に構成されているため、第１実施形態と異なる点を中心に説明する。
【００４４】
図７は、本実施形態における画像処理ＩＣ１２のブロック図である。画像処理ＩＣ１２は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、受信部２１０ａ〜２１０ｄ、誤り訂正部２２０ａ〜２２０ｄ、データ結合部２３０、画像処理部２４０を備える。受信部２１０ａ〜２１０ｄは同様の構成を有し、誤り訂正部２２０ａ〜２２０ｄは同様の構成を有する。受信部２１０は通知部２１１を備え、誤り訂正部２２０は検出部２２１、訂正部２２２、遅延部２２３、ＦＩＦＯバッファ２２４を備える。
【００４５】
通知部２１１は、受信部２１０が受信データの出力を開始したタイミングを示す基準信号を遅延部２２３へ出力する。例えば、撮像センサ１１の送信部１４０が水平方向のライン単位で画像データを４つに分割した領域画像データを送信し、受信部２１０が領域画像データを受信したものとする。この場合、通知部２１１は、受信部２１０が領域画像データのラインの先頭のデータを出力したタイミングで基準信号を遅延部２２３へ出力する。通知部２１１は、通知手段として機能する。
【００４６】
通知部２１１ａ〜２１１ｄのそれぞれからの基準信号は、遅延部２２３ａ〜２２３ｄのすべてに対して出力される。例えば、通知部２１１ａからの基準信号は、遅延部２２３ａ〜２２３ｄのすべてに対して出力される。他の通知部２１１ｂ〜２１１ｄからの基準信号についても同様である。
【００４７】
遅延部２２３は、第１実施形態における第１の遅延に加え、通知部２１１からの基準信号を基にさらに第２の遅延を訂正データに加える。本実施形態において、ＦＩＦＯバッファ２２４は、訂正部２２２と遅延部２２３に共通して使用され、最大で４０サイクルの遅延を加えることができる。
【００４８】
図８は、本実施形態における誤り訂正部２２０の動作を示すフローチャートである。まず、誤り訂正部２２０は、受信部２１０からの受信データを入力する（ステップＳ２１）。受信データは、検出部２２１に入力されるとともに、ＦＩＦＯバッファ２２４に格納される。
【００４９】
続いて、誤り訂正部２２０は、受信データに対して誤り訂正処理を行う（ステップＳ２２）。検出部２２１は、受信データに基づいてシンドロームを生成し、シンドロームの行列式から誤り数を算出する。訂正部２２２は、シンドロームと誤り数から誤り位置多項式と誤り数値多項式を生成し、これらの多項式に基づいて誤り位置と誤り数値を算出する。訂正部２２２は、誤り位置と誤り数値を用いてＦＩＦＯバッファ２２４に格納された受信データの誤りを訂正する。これにより、訂正データが生成される。
【００５０】
次に、誤り訂正部２２０は、訂正データに対して第１の遅延処理を行う（ステップＳ２３）。遅延部２２３は、受信データの誤り数に応じた第１の遅延を訂正データに加えることにより、訂正部２２２により生成された訂正データがＦＩＦＯバッファ２２４からデータ結合部２３０に出力されるタイミングを遅延させる。
【００５１】
さらに、誤り訂正部２２０は、訂正データに対して第２の遅延処理を行う（ステップＳ２４）。遅延部２２３は、通知部２１１からの基準信号に基づく第２の遅延を訂正データに加えることにより、訂正部２２２により生成された訂正データがデータ結合部２３０に出力されるタイミングをさらに遅延させる。そして、誤り訂正部２２０は、遅延させた訂正データをデータ結合部２３０に出力する（ステップＳ２５）。
【００５２】
図９は、本実施形態における第２の遅延処理の詳細なフローチャートである。まず、遅延部２２３は、通知部２１１から基準信号を受信する（ステップＳ２０１）。すなわち、遅延部２２３ａ〜２２３ｄのそれぞれは、受信データの入力タイミングを通知部２１１ａ〜２１１ｄから取得する。
【００５３】
次に、遅延部２２３は、受信データの入力タイミングの差を検出する（ステップＳ２０２）。例えば、遅延部２２３ａは、通知部２１１ａ〜２１１ｄの基準信号に基づいて、受信部２１０ａからの受信データと受信部２１０ｂからの受信データ間に０サイクルの入力タイミングの差があることを検出できる。さらに、遅延部２２３ａは、受信部２１０ａからの受信データと受信部２１０ｃからの受信データ間に２０サイクル、受信部２１０ａからの受信データと受信部２１０ｄからの受信データ間に０サイクルの入力タイミングの差があることを検出できる。これらの情報を基に、遅延部２２３ａは、誤り訂正部２２０ａに入力された受信データに対して、入力タイミングの差が最大で２０サイクルの受信データがあることを検出できる。
【００５４】
遅延部２２３ａと同様に、遅延部２２３ｂは、誤り訂正部２２０ｂに入力された受信データに対して、入力タイミングの差が最大で２０サイクルの受信データがあることを検出できる。遅延部２２３ｃは、誤り訂正部２２０ｃに入力された受信データに対して、入力タイミングの差が最大で０サイクルの受信データがあることを検出できる。遅延部２２３ｄは、誤り訂正部２２０ｄに入力された受信データに対して、入力タイミングの差が最大で２０サイクルの受信データがあることを検出できる。
【００５５】
次に、遅延部２２３は、受信データの遅延差がＦＩＦＯバッファ２２４の空きよりも小さいか否かを判断する（ステップＳ２０３）。ここでＦＩＦＯバッファ２２４の空きとは、遅延させることができる最大のサイクル数から、誤り訂正処理に要するサイクル数と第１の遅延によるサイクル数を差し引いたものである。例えば、誤り訂正処理で２０サイクル、第１の遅延で１０サイクルの遅延が行われたＦＩＦＯバッファ２２４ａ、２２４ｄの空きは１０サイクルである。誤り訂正処理で０サイクル、第１の遅延で３０サイクルの遅延が行われたＦＩＦＯバッファ２２４ｂの空きは１０サイクルである。誤り訂正処理で３０サイクル、第１の遅延で０サイクルの遅延が行われたＦＩＦＯバッファ２２４ｃの空きは１０サイクルである。
【００５６】
受信データの入力タイミングの差がＦＩＦＯバッファ２２４の空きよりも小さい場合（ステップＳ２０３でＹＥＳ）、遅延部２２３は、受信データの入力タイミングの差を第２の遅延とする（ステップＳ２０４）。すなわち、遅延部２２３ｃは、受信データの入力タイミングの差が０サイクルであり、ＦＩＦＯバッファ２２４ｃの空きが１０サイクルであるため、第２の遅延を０サイクルに決定する。一方、受信データの入力タイミング差がＦＩＦＯバッファ２２４の空き以上である場合（ステップＳ２０３でＮＯ）、遅延部２２３は、ＦＩＦＯバッファ２２４の空きに等しい遅延時間を第２の遅延とする（ステップＳ２０５）。すなわち、遅延部２２３ａ、２２３ｂ、２２３ｄは、受信データの入力タイミングの差が２０サイクルであり、ＦＩＦＯバッファ２２４ａ、２２４ｂ、２２４ｄの空きが１０サイクルであるため、第２の遅延を１０サイクルに決定する。遅延部２２３は、決定されたサイクル数だけ訂正データを遅延させるように、ＦＩＦＯバッファ２２４からの訂正データの出力タイミングを制御する（ステップＳ２０６）。このように、遅延部２２３は、ＦＩＦＯバッファ２２４の上限まで遅延を加えることで、受信データの入力タイミングの差を吸収することが可能である。
【００５７】
図１０は、本実施形態における誤り訂正部２２０ａ〜２２０ｄの動作を示すタイミングチャートである。ここでは、誤り訂正部２２０ａ〜２２０ｄがそれぞれ１つの処理ブロックを処理する際の動作を説明する。図１０の横軸は、誤り訂正部２２０ａ〜２２０ｄの入力が開始されてからの経過時間をサイクル数で表している。１つの処理ブロック分のデータの入出力には４０サイクルを要するものとし、誤り訂正部２２０ａ〜２２０ｄの入力に含まれる誤り数をそれぞれ１個、０個、２個、１個とする。
【００５８】
誤り訂正部２２０ａ〜２００ｄの受信データの入力から第１の遅延処理まで（ステップＳ２１〜ステップＳ２３）は、第１実施形態のステップＳ１１〜ステップＳ１３と同様であるため、詳細な説明を省略する。誤り訂正部２２０ａ、２２０ｂ、２２０ｄは、サイクル７１において第２の遅延処理（ステップＳ２４）を開始する。遅延部２２３ａ、２２３ｂ、２２３ｄは、第２の遅延を１０サイクルに決定し、訂正データの出力タイミングを１０サイクル遅延させる。誤り訂正部２２０ａ、２２０ｂ、２２０ｄは、サイクル８０において第２の遅延処理を完了し、サイクル８１において訂正データの出力（ステップＳ２５）を開始する。誤り訂正部２２０ａ、２２０ｂ、２２０ｄは、サイクル１２０において訂正データの出力を完了する。
【００５９】
誤り訂正部２２０ｃは、サイクル９１において第２の遅延処理（ステップＳ２４）を開始する。第２の遅延処理において、遅延部２２３ｃは、第２の遅延を０サイクルに決定し、訂正データの出力タイミングを０サイクル遅延させる。すなわち、第２の遅延処理は実質的に行われず、誤り訂正部２２０ｃは、サイクル９１において訂正データの出力（ステップＳ２５）を開始する。誤り訂正部２２０ｃの出力タイミングは、誤り訂正部２２０ａ、２２０ｂ、２２０ｄの出力タイミングと比較して１０サイクルの遅延差３０１が生じている。誤り訂正部２２０ｃは、サイクル１２０において訂正データの出力を完了する。
【００６０】
図１０に示すように、遅延部２２３で第２の遅延を加えることにより、誤り訂正部２２０ａ〜２２０ｄに入力される受信データの遅延差３００よりも、誤り訂正部２２０ａ〜２２０ｄから出力される訂正データの遅延差３０１を小さくすることができる。例えば、誤り訂正部２２０ｂと誤り訂正部２２０ｃを比較すると、受信データの入力タイミングにおける２０サイクルの遅延差は、訂正データの出力タイミングにおいて１０サイクルの遅延差となり、遅延差を小さくすることができている。
【００６１】
本実施形態によれば、遅延部２２３は、通知部２１１からの基準信号に基づいて、受信データが入力される入力タイミングを取得する。遅延部２２３は、受信部２１０ａ〜２１０ｄのそれぞれから入力される経路毎の受信データから、最も早くＦＩＦＯバッファ２２４に入力された受信データ（第１データ）の入力タイミングを検出する。さらに遅延部２２３は、受信部２１０ａ〜２１０ｄのそれぞれから入力される経路毎の受信データから、最も遅くＦＩＦＯバッファ２２４に入力された受信データ（第２データ）の入力タイミングを検出する。遅延部２２３は、これらの入力タイミングの差を補正するように、第１データ以外の受信データがＦＩＦＯバッファ２２４から出力される出力タイミングを制御する。したがって、経路２００ａ〜２００ｄのスキューなどにより、誤り訂正装置に入力される受信データに遅延差が生じている場合に、受信データの遅延差を低減することができる。
【００６２】
［第３実施形態］
次に、本発明の第３実施形態における撮像装置について説明する。本実施形態の撮像装置は、第１実施形態の撮像装置１と同様に構成されているため、第１実施形態と異なる点を中心に説明する。
【００６３】
図１１は、本実施形態における画像処理ＩＣ１２のブロック図である。画像処理ＩＣ１２は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、受信部２１０ａ〜２１０ｄ、誤り訂正部２２０ａ〜２２０ｄ、データ結合部２３０、画像処理部２４０を備える。受信部２１０ａ〜２１０ｄは同様の構成を有し、誤り訂正部２２０ａ〜２２０ｄは同様の構成を有する。本実施形態において、検出部２２１ａ〜２２１ｄは、受信データの誤り数を遅延部２２３のすべてに通知する。例えば、検出部２２１ａは、遅延部２２３ａ〜２２３ｄに誤り数を通知する。
【００６４】
図１２は、本実施形態における第１の遅延処理の詳細なフローチャートである。遅延部２２３は、検出部２２１からの通知によって経路毎の受信データの誤り数を取得する（ステップＳ３０１）。すなわち、遅延部２２３ａ〜２２３ｄのそれぞれは、検出部２２１ａ〜２２１ｄのそれぞれから受信データの誤り数を取得する。ここで、検出部２２１ａ、２２１ｃ、２２１ｄは受信データ内で１個の誤りを検出し、検出部２２１ｂは受信データ内で０個の誤りを検出したものとする。続いて、遅延部２２３は、経路毎の受信データの中で最大の誤り数を有する受信データを検出する（ステップＳ３０２）。すなわち、遅延部２２３ａ〜２２３ｄのそれぞれは、検出部２２１ａ、２２１ｃ、２２１ｄが最大数の誤りを検出したことを認識する。
【００６５】
遅延部２２３は、受信データの誤り数に応じた処理時間を取得する（ステップＳ３０３）。例えば、最大の誤り数（１個）を有する受信データに対して誤り訂正処理を行う際にかかる処理時間（以下、最大処理時間）は２０サイクルであり、誤り数が０個であるその他の受信データに対して誤り訂正処理を行う際にかかる処理時間は０サイクルである。誤り訂正処理の処理時間は、ＲＯＭ２０２に予め記憶される。
【００６６】
遅延部２２３ａ〜２２３ｄのそれぞれは、最大処理時間から、対応する処理時間を差し引いた時間を第１の遅延とする（ステップＳ３０４）。例えば、遅延部２２３ａに対応する処理時間とは、検出部２２１ａで検出された数の誤りを訂正部２２２ａが訂正する際にかかる処理時間のことである。同様に、遅延部２２３ｂ〜２２３ｄに対応する処理時間とは、それぞれ検出部２２１ｂ〜２２１ｄで検出された数の誤りを訂正部２２２ｂ〜２２２ｄが訂正する際にかかる処理時間のことである。したがって、遅延部２２３ａ、２２３ｂ、２２３ｄは第１の遅延を０サイクルに決定し、遅延部２２３ｃは第１の遅延を２０サイクルに決定する。そして、遅延部２２３は、決定されたサイクル数だけ訂正データを遅延させるように、訂正データの出力タイミングを制御する（ステップＳ３０５）。
【００６７】
図１３は、本実施形態における誤り訂正部２２０ａ〜２２０ｄの動作を示すタイミングチャートである。ここでは、誤り訂正部２２０ａ〜２２０ｄがそれぞれ１つの処理ブロックを処理する際の動作を説明する。図１３の横軸は、誤り訂正部２２０ａ〜２２０ｄの入力が開始されてからの経過時間をサイクル数で表している。１つの処理ブロック分のデータの入出力には４０サイクルを要するものとし、誤り訂正部２２０ａ〜２２０ｄの入力に含まれる誤り数をそれぞれ１個、０個、１個、１個とする。
【００６８】
誤り訂正部２２０ａは、サイクル１において受信データの入力（ステップＳ１１）を開始する。誤り訂正部２２０ａは、サイクル４０において受信データの入力を完了し、サイクル４１において誤り訂正処理（ステップＳ１２）を開始する。誤り訂正処理において、検出部２２１ａは、受信データの誤りを１個検出し、訂正部２２２ａは、１個の誤りが訂正された訂正データを生成する。誤り訂正部２２０ａは、サイクル６０において誤り訂正処理を完了し、サイクル６１において第１の遅延処理（ステップＳ１３）を開始する。第３の遅延処理において、遅延部２２３ａは、第１の遅延を０サイクルに決定し、訂正データの出力タイミングを０サイクル遅延させる。すなわち、第１の遅延処理は実質的に行われず、誤り訂正部２２０ａは、サイクル６１において訂正データの出力（ステップＳ１４）を開始する。誤り訂正部２２０ａは、サイクル１００において訂正データの出力を完了する。
【００６９】
誤り訂正部２２０ｂは、サイクル１において受信データの入力（ステップＳ１１）を開始する。誤り訂正部２２０ｂは、サイクル４０において受信データの入力を完了し、サイクル４１において誤り訂正処理（ステップＳ１２）を開始する。誤り訂正処理において、検出部２２１ｂは、受信データの誤りを０個検出し、訂正部２２２ｂは、０個の誤りが訂正された訂正データを生成する。すなわち、誤り訂正処理は実質的に行われず、誤り訂正部２２０ｂは、サイクル４１において第１の遅延処理（ステップＳ１３）を開始する。第３の遅延処理において、遅延部２２３ｂは、第１の遅延を２０サイクルに決定し、訂正データの出力タイミングを２０サイクル遅延させる。誤り訂正部２２０ｂは、サイクル６０において第２の遅延処理を完了し、サイクル６１において訂正データの出力（ステップＳ１４）を開始する。誤り訂正部２２０ｂは、サイクル１００において訂正データの出力を完了する。
【００７０】
誤り訂正部２２０ｃは、サイクル２１において受信データの入力（ステップＳ１１）を開始する。誤り訂正部２２０ｃに受信データが入力されるタイミングは、経路２００ａ〜２００ｄ間のスキューなどにより、誤り訂正部２２０ａ、２２０ｂ、２２０ｄに受信データが入力されるタイミングと比較して２０サイクルの遅延差３００が生じている。誤り訂正部２２０ｃは、サイクル６０において受信データの入力を完了し、サイクル６１において誤り訂正処理（ステップＳ１２）を開始する。誤り訂正処理において、検出部２２１ｃは、受信データの誤りを１個検出し、訂正部２２２ｃは、１個の誤りが訂正された訂正データを生成する。誤り訂正部２２０ａは、サイクル８０において誤り訂正処理を完了し、サイクル８１において第１の遅延処理（ステップＳ１３）を開始する。第１の遅延処理において、遅延部２２３ｃは、第１の遅延を０サイクルに決定し、訂正データの出力タイミングを０サイクル遅延させる。すなわち、第１の遅延処理は実質的に行われず、誤り訂正部２２０ｃは、サイクル８１において訂正データの出力（ステップＳ１４）を開始する。誤り訂正部２２０ｃの出力タイミングは、誤り訂正部２２０ａ、２２０ｂ、２２０ｄの出力タイミングと比較して２０サイクルの遅延差３０１が生じている。誤り訂正部２２０ｃは、サイクル１２０において訂正データの出力を完了する。
【００７１】
誤り訂正部２２０ｄの動作は、誤り訂正部２２０ａの動作と同様であるため、詳細な説明を省略する。
【００７２】
図１３に示すように、遅延部２２３ａ〜２２３ｄで第３の遅延を加えることにより、誤り訂正部２２０ａ〜２２０ｄに入力される受信データ間の遅延差３００と、誤り訂正部２２０ａ〜２２０ｄから出力される訂正データ間の遅延差が同じとなる。例えば、誤り訂正部２２０ｂと誤り訂正部２２０ｃを比較すると、入力された受信データの誤り数が異なるが、訂正データの２０サイクルの遅延差は、受信データの２０サイクルの遅延差と同じであり、増大していない。
【００７３】
本実施形態においても、第１実施形態と同様に、経路毎のデータの誤り数が異なる場合であっても、誤り訂正処理による経路毎のデータの遅延差を抑制することができる。さらに、第１実施形態と比較して、第１の遅延の長さを低減することができる。
【００７４】
[変形実施形態]
以上、本発明の好ましい実施形態について説明したが、本発明は上述の実施形態に限定されず、その要旨の範囲内で様々の変形及び変更が可能である。例えば、第３実施形態において、第１の遅延に加えて第２実施形態における第２の遅延を加えてもよい。すなわち、図８のフローチャートと同様に、第１の遅延処理の後に第２の遅延処理を行ってもよい。第２の遅延処理を行うことにより、図１３に示した遅延差３００を低減することが可能となる。
【００７５】
本発明が適用され得る対象は、上述の実施形態で説明した撮像装置１、画像処理ＩＣ１２、誤り訂正部２２０の構成に限定されるものではない。例えば、１つの誤り訂正部２２０が複数の検出部２２１ａ〜２２１ｄ、複数の訂正部２２２ａ〜２２２ｄ、複数の遅延部２２３ａ〜２２３ｄを備える場合であっても上述の実施形態と同様の機能を実現することが可能である。
【００７６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７７】
１  撮像装置
１１  撮像センサ
１２  画像処理ＩＣ
１４０  送信部
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２１０  受信部
２２０  誤り訂正部
２２１  検出部
２２２  訂正部
２２３  遅延部
【図１】
2018207164.tif 000003
【図２】
2018207164.tif 000004
【図３】
2018207164.tif 000005
【図４】
2018207164.tif 000006
【図５】
2018207164.tif 000007
【図６】
2018207164.tif 000008
【図７】
2018207164.tif 000009
【図８】
2018207164.tif 000010
【図９】
2018207164.tif 000011
【図１０】
2018207164.tif 000012
【図１１】
2018207164.tif 000013
【図１２】
2018207164.tif 000014
【図１３】
2018207164.tif 000015