ES-1000 の CCD の解析

[Japanese] [English]

ICX054AK?

CCD についての情報を WWW で検索してみたところ、米ソニーの WWW サーバで CCD エリアセンサの データシートのページを見つけました。ここにはいろんな CCD が出てい ますが、ES-1000/DC-20 の 1/3インチ 27万画素というスペックに該当するの は ICX054AK です。たぶんこの CCD だろうと予想してデコーダ を書いてみたところちゃんと動いたので、以下では ES-1000/DC-20 で使 われている CCD は ICX054AK であると仮定して話を進めます。

いやそれは違う、本当はこれこれの CCD が使われている、という情報は大歓 迎です :-)


スペック概要

詳しいスペックは PDF フォーマッ トのデータシート (英語) を見て下さい。ソニーの CCD エリアセンサデー タブックには日本語で載っています。

出力形式

CyYeCyYe
GMgGMg
CyYeCyYe
MgGMgG
CCD は物理的には Ye (黄), Cy (シアン), Mg (マゼンタ), G (緑) の 4 色の カラーフィルタアレイ方式です。左のような配列になっています。

Cy+GYe+MgCy+GYe+Mg
Cy+MgYe+GCy+MgYe+G
実際の出力は各ピクセルのデータそのものではなく、これらを 2 行ずつ縦に 足し合わせた左のようなデータになります。

2G+B2R+G+B2G+B2R+G+B
R+G+2BR+2GR+G+2BR+2G
これに Ye = R + G, Cy = G + B, Mg = R + B を代入して RGB であらわすと 左のようになります。

結構複雑な形式ですが、左右に隣り合った任意の二つのデータを足し合わせる と 2R+3G+2B となり、輝度として使えるというのがミソです。


デコード方法

画像処理のことはあまりわからないのでだいぶ試行錯誤をしましたが、以下の ような方針でうまくデコードできるようです: これをもとに cmttoppm では以下のような手順 で実際のデコードを行なっています (信号1 が 2R+G+B、信号2 が 2G+B、信号3 が R+2G の場合のCCD データの例を示します):
    2G+B=452R+G+B=1082G+B=53
  1. CCD のデータを信号1として使う
  2. 水平方向の補間で信号2を求める
  3. 垂直方向の補間で信号3を求める
  4. 信号1, 2, 3から R, G, B を生成する
    2R+G+B=108
    2G+B=52.9
    R+2G=57.9
    R=33.6
    G=12.1
    B=28.7
  5. γ変換など後処理をいろいろやる
この方式への批判・改善案などありましたらぜひご連絡下さい。

ES-1000 のページに戻る


このページについてのご質問・ご意見は hideki@teikan.net までお願いします.