TWLは、本体内に2つのカメラを内蔵しています。
2つのカメラは個別に制御できますが、同時に2つのカメラの画像を得ることはできません。
カメラライブラリは CODEC-DS モードでは使用することはできません。必ず CODEC-TWL モードにしてください。
カメラの操作は、すべてAPI経由で行ってください。
カメラの基本スペックは次の通りです。
このうち、解像度、エフェクト、反転処理については、それぞれのカメラでそれぞれ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ライン |
具体的なパラメータの意味については、リンク先の説明を参照してください。
カメラからの画像データは、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
2009/06/09 カメラの基本スペックについての説明更新
2008/10/06 カメラライブラリを使用するための CODEC の制限について説明追加
2008/09/11 カメラの初期値について説明追加
2008/04/21 カメラ設定の初期値について、撮影モードを追加
2008/03/17 ハードウェアリセット時とスリープ時の動作について説明追加
2007/11/14 初版