(57)【要約】      （修正有）【課題】カメラ本体へ、レンズデータを転送する際に、転送途中であっても光学特性に関するレンズデータを利用した画像処理が可能となる撮像システムを提供する。【解決手段】レンズ１２１、光学部１２１、第１の記憶部１２４、撮影レンズ通信部１２３、撮影レンズ制御部１２２、通信部１０４と、撮像部１０３、記憶部１０７、転送手段、進捗判定手段、画像処理部１０５、補正データ作成手段、を各々有する。光学部の所定の状態に対応した光学補正データを量子化し階層的な光学補正データとして第１の記憶部から第２の記憶部に転送し、進捗判定手段によって光学補正データが第２の記憶部に転送途中であると判断された場合に、補正データ作成手段は第２の記憶部に転送済みの階層的な光学補正データから画像処理部で用いるための光学補正データを生成し、生成された光学補正データを用いて画像処理部が撮像部から得られる画像データに対して光学補正を施す。【選択図】図１
2016122948.tif 000002
【特許請求の範囲】
【請求項１】
レンズと駆動系から成る光学部と、
前記光学部の光学特性を光学補正データとして保持している第１の記憶部と、
前記第１の記憶部において記憶されている光学補正データを送信するための撮影レンズ通信部と、
前記光学部と、第１の記憶部と、撮影レンズ通信部との各部の動作を制御する撮影レンズ制御部と、
前記撮影レンズ通信部から、光学補正データを受信する通信部と、
前記光学部が集光することにより生成される被写体像を電気信号へ変換する撮像部と、
前記第１の記憶部とは異なる第２の記憶部と、
前記光学補正データを前記第１の記憶部から前記第２の記憶部に転送する転送手段と、
前記転送手段により転送される光学補正データの転送の進捗を判定する進捗判定手段と、
前記撮像部から得られる画像データに対して、補正を施す画像処理部と、
前記転送手段によって第２の記憶部に転送された光学補正データから、前記画像処理部に用いるための光学補正データを生成する補正データ作成手段と、を有し、
前記転送手段は、前記光学部の所定の状態に対応した光学補正データを量子化し階層的な光学補正データとして前記第１の記憶部から前記第２の記憶部に転送し、
前記進捗判定手段によって前記光学補正データが前記第２の記憶部に転送途中であると判断された場合に、
前記補正データ作成手段は、前記第２の記憶部に転送済みの階層的な光学補正データをから前記画像処理部で用いるための光学補正データを生成し、
生成された光学補正データを用いて、前記画像処理部が前記撮像部から得られる画像データに対して光学補正を施す、
ことを特徴とする撮像システム。
【請求項２】
請求項１に記載の撮像システムであって、
前記転送手段が、前記光学部の所定の状態に対応した光学補正データを量子化し階層的なデータとして前記第１の記憶部から前記第２の記憶部に転送する際に、
階層毎に、その階層の内容を示すような特定の表記をとるインデックスで区切られている、
ことを特徴とする撮像システム。
【請求項３】
請求項２に記載の撮像システムであって、
前記転送手段が、前記光学部の所定の状態に対応した光学補正データを量子化し階層的なデータとして前記第１の記憶部から前記第２の記憶部に転送する際に、
階層毎にインデックスで区切られた前記階層的なデータの１つの階層の中に、量子化された１種類以上の光学補正データを含んでおり、
前記補正データ作成手段は、前記転送手段によって第２の記憶部に転送された階層的な光学補正データから、前記画像処理部で用いるための１種類以上の光学補正データを生成する、
ことを特徴とする撮像システム。
【請求項４】
請求項３に記載の撮像システムであって、
階層毎にインデックスで区切られた前記階層的なデータの１つの階層の中に、量子化された１種類以上の光学補正データを含んでおり、
各階層によって各種の光学補正データのデータ量が変化する、
ことを特徴とする撮像システム。
【請求項５】
請求項４に記載の撮像システムであって、
各階層によって各種光学補正データのデータ量が変化する場合において、該当の階層のインデックスに、各種光学補正データのデータ量に関する情報が表記されている、
ことを特徴とする撮像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影レンズを着脱可能に取り付け可能な撮像装置に関し、特に撮影レンズとの間でデータの送受信が行われる撮像装置に関する。
【背景技術】
【０００２】
一般に、一眼レフカメラなどの撮像装置は、撮影レンズの着脱を自由に行うことができるよう構成されている。撮像装置に取り付け可能な撮影レンズの中には、撮影レンズに関する光学特性等のデータ（以下、レンズデータという）を撮像装置へ送信する撮影レンズが存在する。このような撮影レンズを撮像装置へ取り付けた場合、撮像装置は、撮影レンズから受信したレンズデータに基づいて、歪曲補正などの画像補正を行う。特許文献１では、撮影レンズを取り付けたときに撮影レンズから分光透過率特性のデータを受信するカメラが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３５４４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されているカメラでは、撮影レンズがカメラ本体へ取り付けられた後に、撮影レンズとカメラ本体が通信を開始し、その撮影レンズに記録されているレンズデータをカメラ本体が取得する。その後、ユーザーが撮影し得られる画像に対して、カメラ本体は撮影レンズから取得したレンズデータを用いて画像補正を行う。
【０００５】
しかしながら、撮影レンズのカメラ本体への取り付けが行われた直後は、撮影レンズからのレンズデータの取得が完了していないため、そのときにユーザーが撮影を実行すると、撮影された画像に対しては、レンズデータに基づく画像補正を行うことができない。また、撮像装置の仕様によっては、レンズデータの取得が完了するまで、ユーザーは撮影そのものを実行することができない、という問題がある。
本発明の目的は、撮影レンズからカメラ本体へ、撮影レンズの光学特性に関するレンズデータを転送する際に、レンズデータを量子化し階層的なデータとして転送することにより、転送途中であっても光学特性に関するレンズデータを利用した画像処理が可能となる撮像システムを提供することにある。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明の撮像システムは、
レンズと駆動系から成る光学部と、
前記光学部の光学特性を光学補正データとして保持している第１の記憶部と、
前記第１の記憶部において記憶されている光学補正データを送信するための撮影レンズ通信部と、
前記光学部と、第１の記憶部と、撮影レンズ通信部との各部の動作を制御する撮影レンズ制御部と、
前記撮影レンズ通信部から、光学補正データを受信する通信部と、
前記光学部が集光することにより生成される被写体像を電気信号へ変換する撮像部と、
前記第１の記憶部とは異なる第２の記憶部と、
前記光学補正データを前記第１の記憶部から前記第２の記憶部に転送する転送手段と、
前記転送手段により転送される光学補正データの転送の進捗を判定する進捗判定手段と、
前記撮像部から得られる画像データに対して、補正を施す画像処理部と、
前記転送手段によって第２の記憶部に転送された光学補正データから、前記画像処理部に用いるための光学補正データを生成する補正データ作成手段と、を有し、
前記転送手段は、前記光学部の所定の状態に対応した光学補正データを量子化し階層的な光学補正データとして前記第１の記憶部から前記第２の記憶部に転送し、
前記進捗判定手段によって前記光学補正データが前記第２の記憶部に転送途中であると判断された場合に、
前記補正データ作成手段は、前記第２の記憶部に転送済みの階層的な光学補正データをから前記画像処理部で用いるための光学補正データを生成し、
生成された光学補正データを用いて、前記画像処理部が前記撮像部から得られる画像データに対して光学補正を施すことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、撮影レンズからカメラ本体へ、撮影レンズの光学特性に関するレンズデータを転送する際に、レンズデータを量子化し階層的なデータとして転送することにより、転送途中であっても光学特性に関するレンズデータを利用した画像処理が可能となる撮像システムの提供を実現できる。
【図面の簡単な説明】
【０００８】
【図１】実施例１、実施例２における、撮像システムの構成を示す図である。
【図２】実施例１、実施例２における、周辺光量補正データを示す図である。
【図３】実施例１、実施例２における、歪曲収差補正データを示す図である。
【図４】実施例１、実施例２における、色収差補正データを示す図である。
【図５】実施例１における、レンズデータを転送する際のデータ形式を示す図である。
【図６】実施例１における、レンズデータを転送する際のインデックスを示す図である。
【図７】実施例１における、撮像システムの処理フローを示す図である。
【図８】実施例１における、補正値を示す図である。
【図９】実施例１における、補正値を示す図である。
【図１０】実施例１における、補正値を示す図である。
【図１１】実施例２における、レンズデータを転送する際のデータ形式を示す図である。
【図１２】実施例２における、レンズデータを転送する際のインデックスを示す図である。
【図１３】実施例２における、撮像システムの処理フローを示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施例を詳細に説明するが、この発明は以下の実施の形態に限定されない。
【００１０】
［実施例１］
まず、図１を用いて本実施例における撮像システムの全体構成を説明する。図１における撮像システムは、カメラ本体１００と、カメラ本体に接続し通信可能な撮影レンズ１２０から構成される。
カメラ本体１００は、操作部１０１、制御部１０２、撮像部１０３、第１撮影レンズ通信部１０４、画像処理部１０５、画像出力部１０６、記録部１０７、メモリ１０８、メモリバス１０９、制御線１１０、から構成される。また、撮影レンズ１２０は、光学部１２１（レンズ）、撮影レンズ制御部１２２、撮影レンズ通信部１２３、レンズデータ記憶部１２４、制御線１２５から構成される。
【００１１】
まず、カメラ本体１００の各ブロックについて説明する。以下に説明するカメラ本体１００内の多くのブロックはメモリバス１０９に接続され、メモリ１０８に対してデータのやり取りを行なってデータ処理を行なっている。メモリ１０８は、高速でランダムアクセス可能なダイナミックＲＡＭである。メモリ内はレンズデータ領域、画像データ領域、制御信号領域がある。
【００１２】
メモリバス１０９は、いわゆる信号線であり、各ブロックからのメモリアクセス要求を調停し、時分割で１０８メモリへのデータ読み書きが行なえるよう制御している。制御線１１０は、制御部１０２からの制御信号を各ブロックへと送信するための信号線である。操作部１０１は、ユーザーが操作するボタン、タッチパネル、ズームレバー等を備えており、これらのデバイスをユーザーが操作した結果は、制御部１０２へ出力される。
【００１３】
制御部１０２は、カメラ本体１００の動作を制御する、いわゆるＣＰＵである。制御部１０２は、ユーザーが選択したカメラ本体１００の動作に関わる様々な制御信号を、制御線１１０を通して各ブロックへ出力し、各ブロックの動作を制御する。また、制御部１０２は、カメラ本体１００の動作に係る様々な情報を、メモリバス１０９を通して各ブロックへ出力することができる。例えば、ユーザーが操作部１０１でシャッターを切るという動作を選択した場合、シャッターを切るという動作に関する制御信号を、制御線１１０を通して各ブロックに送信することでカメラ本体１００はシャッターを切るという処理を行う。また、制御部１０２は、シャッターを切ったときの様々な情報（露出等の撮影情報や、日時など）を、メモリバス１０９を通して各ブロックへ送信することができる。
【００１４】
撮像部１０３は、ズーム機能を備えたレンズ、絞り、撮像センサーにより構成される。撮像部１０３は、撮影レンズ１２０における光学部１２１によって集光された光を撮像センサーで受光し、Ａ／Ｄ変換し、メモリ１０８の画像データ領域に画像データとして記憶する。
【００１５】
通信部１０４は、カメラ本体１００に取り付けられた撮影レンズ１２０と通信を行い、撮影レンズ１２０内のレンズデータ記憶部１２４に記憶されているレンズデータを、撮影レンズ通信部１２３を通して受信し、メモリ１０８のレンズデータ領域に記憶する。ここでいうレンズデータとは、撮影レンズ１２０の光学特性に関するデータ（例えば、歪曲特性、収差特性に関するデータ）のことを示す。レンズデータについての詳細は後述する。通信部１０４は、撮影レンズ１２０から送信されるレンズデータの受信の進捗を判断することができる。撮影レンズ１２０との通信の進捗判断についての詳細は後述する。
【００１６】
また、通信部１０４は、撮影レンズ１２０への電力供給を行う。通信部１０４による撮影レンズ１２０への電力供給は、通信部１０４に電力が供給されている場合にのみ行われる。また、通信部１０４は、制御部１０２から送信される制御信号を、撮影レンズ通信部１２３を通して撮影レンズ制御部１２２へ送信することができる。
【００１７】
画像処理部１０５は、撮像部１０３にて得られメモリ１０８の画像データ領域に記憶されている画像データに対して、画像処理を行う。このとき、画像処理部１０５は、通信部１０４にて得られメモリ１０８のレンズデータ領域に記憶されているレンズデータを用いて、撮影レンズ１２０の光学系を補正するような画像処理（歪曲補正、収差補正、等）を行うこともできる。画像処理部１０５は、処理を終えた画像データをメモリ１０８の画像データ領域へ書き戻す。
【００１８】
画像出力部１０６は、いわゆる表示パネルであり、メモリ１０８の画像データ領域に記憶された画像データを読み出して表示する。記録部１０７は、いわゆるＳＤカード等の記録媒体であり、制御部１０２から制御信号により、メモリ１０８の画像データ領域に記憶されている画像データを、制御部１０２から送信される情報と共に画像ファイルとして記録する。
【００１９】
以上が、本実施例における、カメラ本体１００の構成の概要である。つづいて、撮影レンズ１２０の各ブロックについて説明する。以下に説明する撮影レンズ１２０内の各ブロックは、撮影レンズ制御部１２２から送信される制御信号によって動作する。
【００２０】
光学部（レンズ）１２１は、少なくとも１枚以上のレンズから構成されるレンズ群、及びレンズ群や絞りを駆動し集光するための駆動系から構成される。光学部１２１は、撮影レンズ制御部１２２から送信される、制御信号を受けて、光学部１２１内の駆動系を駆動させ、レンズ群を通して集光する。集光された光線は、カメラ本体の撮像部１０３にて受光される。また、光学部１２１内の駆動系は、ユーザーが手動で動かすこともできる。ユーザーの手動で動かしたときの駆動系の情報（駆動量など）は、撮影レンズ制御部１２２にて読み出される。
【００２１】
撮影レンズ制御部１２２は、いわゆるマイコンであり、カメラ本体１００の通信部１０４を通して制御部１０２から送信される信号を、撮影レンズ通信部１２３を通して受信する。撮影レンズ制御部１２２は、通信部１０４、撮影レンズ通信部１２３を通して送信されたカメラ本体１００からの制御信号を受けて、撮影レンズ１２０内の各ブロックへ制御信号を送信する。また、撮影レンズ制御部１２２は、光学部１２１が駆動した際の、レンズ位置などの情報を読み出すことができる。また、撮影レンズ制御部１２２は、レンズデータ記憶部１２４から、撮影レンズ１２０のレンズデータを読み出して、撮影レンズ通信部１２３へ送信する。
【００２２】
撮影レンズ通信部１２３は、カメラ本体１００に撮影レンズ１２０が取り付けられた際、通信部１０４を通してカメラ本体１００と通信を行う通信モジュール、及び、カメラ本体１００から通信部１０４を通して電力供給される電気接点から構成される。撮影レンズ通信部１２３は、撮影レンズ制御部１２２からの制御信号をうけて、カメラ本体１００の通信部１０４との通信を行う。
【００２３】
レンズデータ記憶部１２４は、撮影レンズ１２０の特性に関するデータ（レンズデータ）を記憶しているＲＯＭである。レンズデータ記憶部１２４にて記憶されているレンズデータは、撮影レンズ制御部１２２によって読み出され、撮影レンズ通信部１２３へ送信される。
【００２４】
以上が、本実施例で記載する撮像システムの構成である。つづいて、レンズデータ記憶部１２４に記憶されているレンズデータに対する詳細な説明を行う。レンズデータは、撮影レンズ１２０の特性を表すデータであり、個々の撮影レンズごとに設定された固定データである。レンズデータには、撮影レンズ１２０の光学的特性に関するデータと、撮影レンズの個体ごとに異なるレンズ識別子（レンズＩＤ）とが含まれる。撮影レンズ１２０の光学的特性に関するデータとしては、たとえば、色収差補正データや、歪曲収差補正データ、周辺光量補正データ、などがある。
【００２５】
なお上記のうち例えば収差補正データなどは、撮影レンズ１２０に含まれるレンズ駆動の位置によって変動するものである。このような収差補正データは、撮影レンズ１２０の像高位置毎に収差補正データに変換する変換テーブルデータの形式、又は像高位置毎の収差を表す近似式の係数の形式で、駆動するレンズの位置に応じた補正データとして、撮影レンズ１２０内のレンズデータ記憶部１２４に記憶されている。
【００２６】
なお、レンズデータが、上述した３種類とは異なるデータを含んでいてもよい。たとえば、カメラ本体１００側からのレンズ駆動指令１パルスあたりの像面移動量に関するデータや、レンズ駆動系メカのガタつきに関するデータ（駆動量差分情報）等のような情報を含んでいてもよい。以上で述べたレンズデータはすべてレンズデータ記憶部１２４に記憶されている。
【００２７】
以上のように、レンズデータは、多様な種類の大量のデータを含むものである。次に、レンズデータが、撮影レンズ制御部１２２に読み出されて、撮影レンズ通信部１２３を通してカメラ本体１００へ送信されるときのデータ形式について図２、図３、図４、図５を用いて説明する。なお、ここでは説明を分かり易くするために、前述の光学的特性に関するデータは、周辺光量補正データ（図２）、歪曲収差補正データ（図３）、色収差補正データ（図４）の３つとするが、本発明のレンズデータは、この３つから成るデータに限定されない。
【００２８】
図５は、撮影レンズ制御部１２２に読み出されて、撮影レンズ通信部１２３を通してカメラ本体１００へ送信されるときのレンズＩＤとレンズデータの形式の一例を示している図である。
【００２９】
カメラ本体１００と撮影レンズ１２０が通信を開始すると、最初に32bitのレンズＩＤが、撮影レンズ１２０よりカメラ本体１００へ送信される。カメラ本体では、このレンズＩＤより、その撮影レンズ１２０の機種等の判別、カメラ本体１００と撮影レンズ１２０との通信速度を決定することができる。これは、撮影レンズの機種によって、上限となる通信速度が異なるためである。
【００３０】
つづいてレンズＩＤの次に送信されるレンズデータの構成を説明する。ここで、レンズデータは図５で示されるように階層的な構成になっており、各階層の頭には、16bitのIndexが格納されている。各階層のデータ量は既知である。Indexは、図６で示される構成をとる。
【００３１】
図６のようにレンズＩＤの次にくるIndex0はレンズデータ全体の情報が格納されている。レンズデータ全体の情報というのは、例えば、レンズデータ全体のデータ量（バイト数）や、レンズデータが何階層で構成されているかという情報や、１階層のデータ量（バイト数）、どの階層になんおデータが格納されているか、などの情報である。カメラ本体は、このIndex0を取得することにより、レンズ」データ全体の構成を知ることができる。
次に各構成の頭にIndex1以降が格納されている。これは各階層の階層番号を示している。カメラ本体はIndex0からの情報により、階層のデータ量（バイト数）を知ることができるため、各階層の頭のIndexのアドレスは既知の情報となる。カメラ本体は、各階層の頭のIndexを取得することにより、撮影レンズとの通信の進捗を判断することができる。
【００３２】
各階層のIndex値の次には、階層化された補正データが入る。第１階層の補正データには、それぞれの補正データ（周辺光量補正データ（図２）、歪曲収差補正データ（図３）、色収差補正データ（図４））の上位ビット２４〜ビット３１(b24〜b31)が格納されている。第２階層の補正データには、各補正データのビット１６〜ビット２３(b16〜b23)が格納されている。第３階層の補正データには、各補正データのビット８〜ビット１５(b8〜b15)が格納されている。第４階層の補正データには、各補正データのビット０〜ビット７(b0〜b7)が格納されている。
【００３３】
本発明では、撮影レンズ１２０から送信されるレンズデータがこのような階層的な構成をとることにより、全レンズデータの取得が完了していない場合においても、ある程度の補正を施した画像を取得することができる。課題となっているケースにおける処理の詳細を、図１の構成図と、図７の処理フローを用いて説明する。
【００３４】
まず、処理７００にて、カメラ本体１００と、撮影レンズ１２０が物理的に接続される。このとき、通信部１０４の電気接点と、撮影レンズ通信部１２３の電気接点が接続する。処理７０１へ移る。
【００３５】
次に、処理７０１にて、カメラ本体１００と、撮影レンズ１２０との間でシリアル通信が開始される。ただし、本発明はシリアル通信には限定されない。制御部１０２から通信部１０４を通して撮影レンズ１２０へ送信された信号が、撮影レンズ通信部１２３を通して、撮影レンズ制御部１２２に受信される。撮影レンズ制御部１２２は、カメラ本体から送信された信号を受けて、撮影レンズ通信部１２３を通して、信号を返信する。撮影レンズ制御部１２２から返信された信号は、通信部１０４を通して、制御部１０２へ送信され、制御部１０２はカメラ本体１００と撮影レンズ１２０が接続されたことを検知する。処理７０２へ移る。
【００３６】
次に、処理７０２にて、カメラ本体１００は、撮影レンズのレンズＩＤを取得する。制御部１０２から通信部１０４を通して、レンズＩＤ取得のリクエスト信号が、撮影レンズ１２０へ送信される。撮影レンズ１２０では、レンズＩＤ取得のリクエスト信号を、撮影レンズ通信部１２３を通して撮影レンズ制御部１２２が受信する。撮影レンズ制御部１２２はレンズＩＤ取得のリクエスト信号を受けて、レンズデータ記憶部１２４に記憶されているレンズＩＤを読み出し、撮影レンズ通信部１２３を通してカメラ本体１００へ送信する。カメラ本体１００は、撮影レンズ１２０から送信されたレンズＩＤを、通信部１０４を通して、制御部１０２受信する。処理７０３へ移る。
【００３７】
次に、処理７０３にて、制御部１０２は受信したレンズＩＤより、そのレンズの通信可能速度を判定し、シリアル通信の速度を決定する。処理７０４へ移る。
【００３８】
次に、処理７０４にて、カメラ本体１００は撮影レンズ１２０のレンズデータの取得を開始する。制御部１０２から通信部１０４を通して、レンズデータ取得のリクエスト信号が、撮影レンズ１２０へ送信される。撮影レンズ１２０では、レンズデータ取得のリクエスト信号を、撮影レンズ通信部１２３を通して撮影レンズ制御部１２２が受信する。撮影レンズ制御部１２２はレンズデータ取得のリクエスト信号を受けて、光学部１２１の駆動系の情報（レンズ位置等）を読み出す。撮影レンズ制御部１２２は、読み出した駆動系の情報より、該当するレンズデータをレンズデータ記憶部１２４より読み出す。
【００３９】
撮影レンズ制御部１２２は、読み出したレンズデータを、撮影レンズ通信部１２３を通してカメラ本体１００へ順次シリアル通信にて送信する。カメラ本体１００は、撮影レンズ１２０から送信されてくるレンズデータを、通信部１０４を通して、制御部１０２が順次受信していく（処理７０５）。制御部１０２で受信されたレンズデータは、メモリ１０８のレンズデータ記憶部に記憶されていく。処理７０６へ移る。
【００４０】
次に、処理７０６において、カメラ本体１００の操作部１０１にてユーザーがシャッターを押下した（撮影操作をした）か、どうかを判定する。シャッターが押されていた場合、処理７０７へ移る。シャッターが押されていない場合、処理７１２へ移る。
【００４１】
処理７０６でシャッターが押されていた場合は、処理７０７にてカメラ本体１００と撮影レンズ１２０で撮影が実行される。操作部１０１にてシャッターが押されると、その信号が制御部１０２へ送信され、制御部１０２は撮像部１０３へ撮影実行の制御信号が送信される。撮像部１０３は、撮影実行の制御信号を受けて、撮影レンズ１２０にて集光された光線をセンサーで受光し撮像する。撮像されたＲＡＷ画像は、メモリ１０８の画像データ領域に記憶される。処理７０８へ移る。
【００４２】
次に、処理７０８にて、カメラ本体１００が撮影レンズ１２０から受信したレンズデータの取得の進捗を判定する。制御部１０２は、撮影時点におけるメモリ１０８のレンズデータ領域に記憶されているレンズデータを読み出し、Indexの検知を行う。まずIndex0を取得し、レンズデータ全体の情報を取得する。このIndex0により得られる情報からIndex1以降の各階層のIndexの位置が判断できる。
【００４３】
Index1の値、0まで取得できている場合は、レンズデータ取得無し、Index2の値、1まで取得できている場合は、第１階層のレンズデータまで取得済み、Index3の値、2まで取得できている場合は、第２階層のレンズデータまで取得済み、Index4の値、3まで取得できている場合は、第３階層のレンズデータまで取得済み、Index0で得られる、レンズデータ全体のデータ量よりが取得できている場合は、全てのレンズデータを取得済み、となる。処理７０９へ移る。
【００４４】
処理７０９にて、制御部１０２はメモリ１０８のレンズデータ領域に記憶されているレンズデータを読み出して、画像処理部１０５が補正処理を行えるような補正データに変換する。
【００４５】
Index1の値、0まで取得できている場合は、レンズデータが存在しないため、補正データは作成しない。Index2の値、1まで取得できている場合は、第１階層のレンズデータまで取得済みである。この第１階層のレンズデータは、本来のレンズデータのビット番号、２４ビット〜３１ビットのデータである。ここで取得済みの第１階層のレンズデータをLens_data1[n]、制御部１０２にて取得済みのレンズデータから作成される補正データをHosei_data1[n]、とするとその関係は式（1）となる。
【００４６】
【数１】
2016122948.tif 000003
【００４７】
このとき、全てのレンズデータを取得した場合の補正値と、取得済みのレンズデータから作成される補正データは、図８のような関係になる。図８内のstepは全て同値(2^24)である。
【００４８】
Index2の値、1まで取得できている場合は、第２階層のレンズデータまで取得済みである。この第２階層までレンズデータは、本来のレンズデータのビット番号、１６ビット〜３１ビットのデータである。ここで取得済みの第１階層のレンズデータをLens_data1[n]、第２階層のレンズデータをLens_data2[n]、制御部１０２にて取得済みのレンズデータから作成される補正データをHosei_data2[n]、とするとその関係は式（2）となる。
【００４９】
【数２】
2016122948.tif 000004
【００５０】
このとき、全てのレンズデータを取得した場合の補正値と、取得済みのレンズデータから作成される補正データは、図９のような関係になる。図９内のstepは全て同値(2^16)である。
【００５１】
Index3の値、2まで取得できている場合は、第３階層のレンズデータまで取得済みである。この第３階層までレンズデータは、本来のレンズデータのビット番号、８ビット〜３１ビットのデータである。ここで取得済みの第１階層のレンズデータをLens_data1[n]、第２階層のレンズデータをLens_data2[n]、第３階層のレンズデータをLens_data3[n]、制御部１０２にて取得済みのレンズデータから作成される補正データをHosei_data3[n]、とするとその関係は式（3）となる。
【００５２】
【数３】
2016122948.tif 000005
【００５３】
このとき、全てのレンズデータを取得した場合の補正値と、取得済みのレンズデータから作成される補正データは、図１０のような関係になる。図１０内のstepは全て同値(2^8)である。
【００５４】
Index0で得られる、全レンズデータ量（バイト数）が取得できている場合は、全てのレンズデータを取得済みである。ここで取得済みの第１階層のレンズデータをLens_data1[n]、第２階層のレンズデータをLens_data2[n]、第３階層のレンズデータをLens_data3[n]、第４階層のレンズデータをLens_data4[n]、制御部１０２にて取得済みのレンズデータから作成される補正データをHosei_data4[n]、とするとその関係は式（4）となる。
【００５５】
【数４】
2016122948.tif 000006
【００５６】
以上のように、処理７０９にて、補正内容を決定する。処理７１０へ移る。処理７１０にて、撮影した画像に処理７０９で作成された補正データを用いて画像補正が行われる。制御部１０２にて作成された補正データは、画像処理部１０５へ送信される。また、画像処理部１０５は、メモリ１０８の画像データ領域から撮像された画像データを読み出す。画像処理部１０５は、読み出した画像データに対して、送信された補正データを用いて補正処理を行う。また、読み出した画像データがＲＡＷ画像データの場合は、現像処理を行ってもよい。画像処理部１０５は、補正した画像データをメモリ１０８の画像データ領域へ書き戻す。処理７１１へ移る。
【００５７】
処理７１１にて、メモリ１０８の画像データ領域に記憶されている、補正された画像データは、記録部１０７にて読み出され、ＳＤカード等の記録媒体に記録される。処理７０６へ戻る。
【００５８】
処理７０６でシャッターが押されていなかった場合は、処理７１２にて全レンズデータが取得されているかを判定する。制御部１０２は、メモリ１０８のレンズデータ領域に記憶されているレンズデータを読み出し、各階層のIndexから撮影レンズとカメラ本体の通信の進捗を判定する。各階層のIndexはIndex0で得られるデータ量毎に格納されており、全レンズデータの取得が完了していない場合は、処理７０５へ移る。全レンズデータの取得が完了していた場合は処理７１３に写る。処理７１３にて、カメラは撮影待機の状態となり、ユーザーからの操作を待機する。
【００５９】
本実施例における撮像システムは、以上説明した動作を行うことにより、全レンズデータの取得が完了していない状態でユーザーが撮影を実行した場合においても、レンズの光学特性に関する画像補正処理を施した画像データを撮影することができる。
【００６０】
［実施例２］
実施例１の図５に記載したレンズデータの形式について、図１１のような形式を用いてもよい。図１１は、階層によって、各補正データのデータ量が違うことを特徴としている。各階層におけるデータ量は、撮影レンズの機種によって違っていてもよいし、ユーザーが操作部から設定できるようになっていてもよい。
【００６１】
例えば、撮影レンズが周辺減光の傾向が強いレンズであった場合、図１１のように、上位の階層に周辺光量補正データを多く配置することにより、レンズデータの通信が完了していない段階でユーザーが撮影を実行したとしても、実施例１の場合よりも適切に周辺光量補正処理を施した画像データを得ることが可能となる。またこのとき、図１１のようにIndexのビット数を増やし、各階層における補正データに関する情報（階層の各補正データ量など）が分かるようになっていてもよい（図１２）。
【００６２】
Index0には、実施例１と同様にレンズデータ全体の構成を示す情報が格納されている。
図１２を用いて、Index1以降の各階層のIndexについて説明する。実施例１とは異なり、Index1以降の各階層のIndexの最初の２ビットには階層を示す階層番号が格納されている。次の１４ビットには、Indexと分かるようなsyncコードが格納されている。この場合、レンズデータの中で、syncコード以外において、syncコードと同値がでないような処理が必要となる。つぎのIndex1の２４ビット（補正データ量を示すビット）には、各補正データのバイト数の４分の１の値を格納する。本発明はこれに限定されず、ビット数を増やして、バイト数そのものを格納するようにしてもよい。
【００６３】
図１１のように、第１階層の各補正データ量が、
周辺光量補正データ  ５１２バイト
歪曲収差補正データ  ２５６バイト
色収差補正データ    ０バイト
の場合、第１階層のIndex1値は次のようになる。
【００６４】
Index1[b00〜b15] = 0(階層番号) + syncコード
Index1[b16〜b23] = 0x80
Index1[b24〜b31] = 0x40
Index1[b32〜b39] = 0x00
【００６５】
図１１のように、第２階層の各補正データ量が、
周辺光量補正データ   ５１２バイト
歪曲収差補正データ   ０バイト
色収差補正データ     ２５６バイト
の場合、第２階層のIndex2値は次のようになる。
【００６６】
Index2[b00〜b15] = 1(階層番号) + syncコード
Index2[b16〜b23] = 0x80
Index2[b24〜b31] = 0x00
Index2[b32〜b39] = 0x40
【００６７】
図１１のように、第３階層の各補正データ量が、
周辺光量補正データ   ０バイト
歪曲収差補正データ   ５１２バイト
色収差補正データ     ２５６バイト
の場合、第３階層のIndex3値は次のようになる。
【００６８】
Index3[b00〜b15] = 2(階層番号) + syncコード
Index3[b16〜b23] = 0x00
Index3[b24〜b31] = 0x80
Index3[b32〜b39] = 0x40
【００６９】
図１１のように、第４階層の各補正データ量が、
周辺光量補正データ   ０バイト
歪曲収差補正データ   ２５６バイト
色収差補正データ     ５１２バイト
の場合、第４階層のIndex値は次のようになる。
【００７０】
Index4[b00〜b15] = 3(階層番号) + syncコード
Index4[b16〜b23] = 0x00
Index4[b24〜b31] = 0x40
Index4[b32〜b39] = 0x80
【００７１】
このような形式のレンズデータが、撮影レンズ１２０よりカメラ本体１００へ送信されるとき、処理は図１３のようになる。図１３の処理については、図７との差分のみを説明する。図１３の処理は、処理１３０９以外は図７の同名の処理と同じ動作を行う。処理１３０９にて、制御部１０２はメモリ１０８のレンズデータ領域に記憶されているレンズデータを読み出して、画像処理部１０５が補正処理を行えるような補正データに変換する。Index1まで取得できている場合は、レンズデータが存在しないため、補正データは作成しない。
【００７２】
第２階層のIndex2まで取得できている場合は、第１階層のレンズデータまで取得済みである。このとき、第１階層のIndex1値のビット番号、１６ビット〜３９ビットを読み出して、第１階層のレンズデータの各補正データ量を判別する。読みだされたレンズデータのうち、第１階層の周辺光量補正データをLens_dataA1[n]、歪曲収差補正データをLens_dataB1[n]、色収差補正データをLens_dataC1[n]、とし、それぞれ画像補正を行うための補正データ作成に必要なビットシフト量をSA1、SB1、SC1、とし、それぞれの各補正データについて得られる補正値を、Hosei_dataA1[n]、Hosei_dataB1[n]、Hosei_dataC1[n]、としたとき、式（５）、式（６）、式（７）の関係が得られる。
【００７３】
【数５】
2016122948.tif 000007
【００７４】
ただし、第１階層の補正データには、色収差補正データは０バイトであるため、このときの色収差補正データはLens_dataC1[n]=0となる。ビットシフト量SA1、SB1、SC1の算出方法について説明する。本発明は以下に記す算出方法に限定されず、Index1の補正データ量に関する値から適正な補正データを作成することができる方法であればなんでもよい。
【００７５】
第１階層のIndex1の値が次のようになっていた場合、これらのIndex1値を用いて、レンズデータから画像補正が可能な補正データを作成するためのビットシフト量SA1、SB1、SC1を算出する。第１階層の補正データに対する基本ビットシフト量、S_basic1＝32とすると、各補正データを作成するためのビットシフト量は式（８）、式（９）、式（１０）で示される。ただし、ビットシフト量が負の値になる場合は、ビットシフト量を0とする。
【００７６】
Index1[b16〜b23] = 0x80 ⇒ SA1 = S_basic1-((Index1[b16〜b23]>>6)*8）  式（８）
Index1[b24〜b31] = 0x40 ⇒ SB1 = S_basic1-((Index1[b24〜b31]>>6)*8）  式（９）
Index1[b32〜b39] = 0x00 ⇒ SC1 = S_basic1-((Index1[b32〜b39]>>6)*8）式（１０）
第３階層のIndex3まで取得できている場合は、第２階層のレンズデータまで取得済みである。このとき、第２階層のIndex2の値のビット番号、１６ビット〜３９ビットを読み出して、第２階層のレンズデータの各補正データ量を判別する。
【００７７】
読みだされたレンズデータのうち、第２階層の周辺光量補正データをLens_dataA2[n]、歪曲収差補正データをLens_dataB2[n]、色収差補正データをLens_dataC2[n]、とし、それぞれ画像補正を行うための補正データ作成に必要なビットシフト量をSA2、SB2、SC2、とし、それぞれの各補正データについて得られる補正値を、Hosei_dataA2[n]、Hosei_dataB2[n]、Hosei_dataC2[n]、としたとき、式（１１）、式（１２）、式（１３）の関係が得られる。
【００７８】
【数６】
2016122948.tif 000008
【００７９】
ただし、第２階層の補正データには、歪曲収差補正データは０バイトであるため、このときの歪曲収差補正データはLens_dataB2[n]=0となる。ビットシフト量SA2、SB2、SC2の算出方法について説明する。本発明は以下に記す算出方法に限定されず、Index2の補正データ量に関する値から適正な補正データを作成することができる方法であればなんでもよい。第２階層のIndex2の値が次のようになっていた場合、これらのIndex2の値を用いて、レンズデータから画像補正が可能な補正データを作成するためのビットシフト量SA2、SB2、SC2を算出する。各補正データを作成するためのビットシフト量は式（14）、式（15）、式（16）で示される。ただし、ビットシフト量が負の値になる場合は、ビットシフト量を0とする。
【００８０】
Index2[b16〜b23] = 0x80 ⇒ SA2 = SA1-((Index2[b16〜b23]>>6)*8）  式（１４）
Index2[b24〜b31] = 0x00 ⇒ SB2 = SB1-((Index2[b24〜b31]>>6)*8）  式（１５）
Index2[b32〜b39] = 0x40 ⇒ SC2 = SC1-((Index2[b32〜b39]>>6)*8）  式（１６）
第４階層のIndex4まで取得できている場合は、第３階層のレンズデータまで取得済みである。このとき、第３階層のIndex値のビット番号、１６ビット〜３９ビットを読み出して、第３階層のレンズデータの各補正データ量を判別する。
【００８１】
読みだされたレンズデータのうち、第３階層の周辺光量補正データをLens_dataA3[n]、歪曲収差補正データをLens_dataB3[n]、色収差補正データをLens_dataC3[n]、とし、それぞれ画像補正を行うための補正データ作成に必要なビットシフト量をSA3、SB3、SC3、とし、それぞれの各補正データについて得られる補正値を、Hosei_dataA3[n]、Hosei_dataB3[n]、Hosei_dataC3[n]、としたとき、式（17）、式（18）、式（19）の関係が得られる。
【００８２】
【数７】
2016122948.tif 000009
【００８３】
ただし、第３階層の補正データには、周辺光量補正データは０バイトであるため、このときの周辺光量補正データはLens_dataA3[n]=0となる。ビットシフト量SA3、SB3、SC3の算出方法について説明する。本発明は以下に記す算出方法に限定されず、Indexの補正データ量に関する値から適正な補正データを作成することができる方法であればなんでもよい。第３階層のIndex3値が次のようになっていた場合、これらのIndex3の値を用いて、レンズデータから画像補正が可能な補正データを作成するためのビットシフト量SA3、SB3、SC3を算出する。各補正データを作成するためのビットシフト量は式（20）、式（21）、式（22）で示される。ただし、ビットシフト量が負の値になる場合は、ビットシフト量を0とする。
【００８４】
Index3[b16〜b23] = 0x00 ⇒ SA3 = SA2-((Index3[b16〜b23]>>6)*8）  式（２０）
Index3[b24〜b31] = 0x80 ⇒ SB3 = SB2-((Index3[b24〜b31]>>6)*8）  式（２１）
Index3[b32〜b39] = 0x40 ⇒ SC3 = SC2-((Index3[b32〜b39]>>6)*8）  式（２２）
全レンズデータが取得できている場合は、第４階層のレンズデータまで取得済みである。このとき、第４階層のIndex4値のビット番号、１６ビット〜３９ビットを読み出して、第４階層のレンズデータの各補正データ量を判別する。
【００８５】
読みだされたレンズデータのうち、第４階層の周辺光量補正データをLens_dataA4[n]、歪曲収差補正データをLens_dataB4[n]、色収差補正データをLens_dataC4[n]、とし、それぞれ画像補正を行うための補正データ作成に必要なビットシフト量をSA4、SB4、SC4、とし、それぞれの各補正データについて得られる補正値を、Hosei_dataA4[n]、Hosei_dataB4[n]、Hosei_dataC4[n]、としたとき、式（２３）、式（２４）、式（２５）の関係が得られる。
【００８６】
【数８】
2016122948.tif 000010
【００８７】
ただし、第４階層の補正データには、周辺光量補正データは０バイトであるため、このときの周辺光量補正データはLens_dataA4[n]=0となる。ビットシフト量SA4、SB4、SC4の算出方法について説明する。本発明は以下に記す算出方法に限定されず、Index4の補正データ量に関する値から適正な補正データを作成することができる方法であればなんでもよい。
【００８８】
第４階層のIndex4値が次のようになっていた場合、これらのIndex4の値を用いて、レンズデータから画像補正が可能な補正データを作成するためのビットシフト量SA4、SB4、SC4を算出する。各補正データを作成するためのビットシフト量は式（２６）、式（２７）、式（２８）で示される。ただし、ビットシフト量が負の値になる場合は、ビットシフト量を0とする。
Index4[b16〜b23] = 0x00 ⇒ SA4 = SA3-((Index4[b16〜b23]>>6)*8）  式（２６）
Index4[b24〜b31] = 0x40 ⇒ SB4 = SB3-((Index4[b24〜b31]>>6)*8）  式（２７）
Index4[b32〜b39] = 0x80 ⇒ SC4 = SC3-((Index4[b32〜b39]>>6)*8）  式（２８）
以上のように、処理１３０９にて、補正内容を決定する。処理１３１０へ移る。図１３における、処理１３０９以外の処理動作は、図７の同名の処理動作と同様の処理となる。
【００８９】
本実施例における撮像システムは、以上説明した動作を行うことにより、全レンズデータの取得が完了していない状態でユーザーが撮影を実行した場合においても、レンズの光学特性に関する画像補正処理を施した画像データを撮影することができる。
【符号の説明】
【００９０】
１００  カメラ本体、１２０  撮影レンズ、１０１  操作部、１０２  制御部、
１０３  撮像部、１０４  第１撮影レンズ通信部、１０５  画像処理部、
１０６  画像出力部、１０７  記録部、１０８  メモリ、１０９  メモリバス、
１１０  制御線、１２１  光学部（レンズ）、１２２  撮影レンズ制御部、
１２３  撮影レンズ通信部、１２４  レンズデータ記憶部、１２５  制御線
【図１】
2016122948.tif 000011
【図２】
2016122948.tif 000012
【図３】
2016122948.tif 000013
【図４】
2016122948.tif 000014
【図５】
2016122948.tif 000015
【図６】
2016122948.tif 000016
【図７】
2016122948.tif 000017
【図８】
2016122948.tif 000018
【図９】
2016122948.tif 000019
【図１０】
2016122948.tif 000020
【図１１】
2016122948.tif 000021
【図１２】
2016122948.tif 000022
【図１３】
2016122948.tif 000023