# カメラライブラリ全般 (overview)

TWLは、本体内に2つのカメラを内蔵しています。
2つのカメラは個別に制御できますが、同時に2つのカメラの画像を得ることはできません。
カメラライブラリは CODEC-DS モードでは使用することはできません。必ず CODEC-TWL モードにしてください。
カメラの操作は、すべてAPI経由で行ってください。

## カメラの基本スペック

カメラの基本スペックは次の通りです。

- 絞り: F2.8(固定)
- 画角: 対角 66° 水平 約54° 垂直 約42°(最大解像度で撮影時の値)
- 撮影可能範囲：20cm〜無限遠 (パンフォーカス。マクロスイッチ非搭載)
- 最大解像度：VGA
- 最大フレームレート: 30fps (fps: 1秒間のフレーム数)
- 出力フォーマット: YCrYCb (YUV -> RGB変換回路により RGB555 として出力可能)
- 解像度の設定 (設定の高速変更に対応)
- フレームレートの設定
- エフェクト処理 (設定の高速変更に対応)
- 反転処理 (設定の高速変更に対応)
- 撮影モードの設定
- ホワイトバランスの設定
- 露光の設定
- シャープネスの設定

このうち、解像度、エフェクト、反転処理については、それぞれのカメラでそれぞれ2つのコンテキストを扱え、個別に設定する場合に比べて高速にコンテキストスイッチすることができます。
カメラはハードウェアリセット及びスリープ時にライブラリ内で自動的にスタンバイ状態となるようになっています。
スリープ復帰時にカメラを有効にしたい場合は、アプリケーション側で対処する必要があります。

## カメラ設定の初期値について

カメラ起動時（`CAMERA_Init()` を呼び出した際）の初期値のなかで、コンテキストで扱えるものは、次のようになっています。

内側カメラ：コンテキストA

解像度 | CAMERA_SIZE_DS_LCD
エフェクト | CAMERA_EFFECT_NONE
反転処理 | CAMERA_FLIP_HORIZONTAL

内側カメラ：コンテキストB

解像度 | CAMERA_SIZE_VGA
エフェクト | CAMERA_EFFECT_NONE
反転処理 | CAMERA_FLIP_HORIZONTAL

外側カメラ：コンテキストA

解像度 | CAMERA_SIZE_DS_LCD
エフェクト | CAMERA_EFFECT_NONE
反転処理 | CAMERA_FLIP_NONE

外側カメラ：コンテキストB

解像度 | CAMERA_SIZE_VGA
エフェクト | CAMERA_EFFECT_NONE
反転処理 | CAMERA_FLIP_NONE

デフォルトのコンテキストは、内側カメラ、外側カメラどちらもコンテキストAになります。
それ以外の、コンテキストで扱えないものの初期値は、次のようになっています。

内側カメラ

フレームレート | CAMERA_FRAME_RATE_15
撮影モード | CAMERA_PHOTO_MODE_PORTRAIT

外側カメラ

フレームレート | CAMERA_FRAME_RATE_15
撮影モード | CAMERA_PHOTO_MODE_NORMAL

内側カメラ、外側カメラ共通の設定についての初期値は、次のようになっています。

出力形式 | CAMERA_OUTPUT_YUV
転送ライン数 | 1ライン

具体的なパラメータの意味については、リンク先の説明を参照してください。

## RGB変換について

カメラからの画像データは、YCrYCb (YUV4:2:2) フォーマットまたは RGB (RGB5:5:5) で得られます。
YUV4:2:2からRGB8:8:8への変換式は次の通りです。

    R = 1.000 x Y                     + 1.402 x (V - 128)
    G = 1.000 x Y - 0.344 x (U - 128) - 0.714 x (V - 128)
    B = 1.000 x Y + 1.772 x (U - 128)

計算結果が0以下または255以上となった場合は丸められます。
その後、0〜31にスケーリングされ、RGB5:5:5となります。
なお、逆変換式は次のようになります。

    Y =  0.299 x R + 0.587 x G + 0.114 x B
    U = -0.169 x R - 0.331 x G + 0.500 x B + 128
    V =  0.500 x R - 0.419 x G - 0.081 x B + 128

## 参照

`CAMERA 関数一覧
`

## 履歴

2009/06/09 カメラの基本スペックについての説明更新
2008/10/06 カメラライブラリを使用するための CODEC の制限について説明追加
2008/09/11 カメラの初期値について説明追加
2008/04/21 カメラ設定の初期値について、撮影モードを追加
2008/03/17 ハードウェアリセット時とスリープ時の動作について説明追加
2007/11/14 初版