2012/07/04

SK17iをICSにして撮影した画像のファイルサイズが増えている件について

ExifPMというAndroidアプリを作成している事もあって、Xperia Mini Pro (SK17i) で撮影した写真データのExifデータをチェックしていると、ICSへのアップデート前後でファイルサイズが違っている事に気がつきました。

Exifデータを比較してみると、画素データのサンプリング方法がYCbCr420からYCbCr422へと変更されていた事が原因でした。

元々500万画素のカメラなのに、生成される写真データは700[KB]から900[KB]程度のファイルサイズだったので、 カメラアプリの不具合かなぁと思っていたのですが、これはデータをYCbCr420で処理していた事が原因でした。

色データの扱いは対象の特性によって異っていて、ディスプレイへの出力はRGBで考えて、印刷をする時にはマゼンダなどの中間色を使ったCMYKが使われます。JPEGの場合にはYCbCrやYCbCrと呼ばれるような、輝度と色差のデータを使う事になります。

基本的にはYCbCr420は縦横4ピクセルで色差情報を共有するので、横並びの2ピクセルで色差情報を共有するYCbCr422と比較してデータ量が落ちるため、画質が落ちるといわれています。

データ量が少ない分だけ劣化するのは事実ですが、まぁそんなに単純な話しでもないので、 サンプリング方法の詳しい説明はGoogleでいくつかのサイトの記述を確認されるのがお勧めです。

問題はICSにアップデートしたSK17iではカメラの画質が上がっているのだろうか、という疑問に対する答えがあるのかどうかです。

結論からいえば情報不足でよく分からないという事になるのですが、とりあえずまとめたところをメモにしておきます。

撮影した画像の見た目の違い

残念ながら同一条件で、同一被写体を撮影した画像がないので、正確な比較はできません。

撮影する時間帯はずれているので照明の条件は同じになりませんが、似たようなアングルで撮影した画像をみてみると、古い画像は絹のような質感が感じられて何か靄のようなもので覆われている印象があります。それと比較するとICS以降に撮影した画像は鮮明に感じられます。

画像をみてICSで撮影された画像かどうか区別できるものもあれば、難しいと感じるものもあって、単純に画質が向上したというのは難しいかなと感じています。

レンズの汚れや撮影環境の条件をちゃんと揃えないと、見た目の判断だけでは何ともいえないところです。

画像ファイルサイズの違い

対象によってファイルサイズは変化しますが、室内・屋外で撮影した手元の画像を眺めると、だいたいファイルサイズは次のようになっています。

  • Android 2.3: 500[KB]〜900[KB]
  • Android 4.0: 1.2[MB]〜1.8[MB]

画質の違いは別にして、ファイルサイズは確実に増えています。

APIからみた画質の変化について

自作アプリを作った時にカメラAPIから渡されたデータは、YUV420SPという形式でした。 ちょっと調べたところ、このAPIに変化はなさそうです。

Androidのカメラアプリを作って気になったのは、カメラからのRAWデータにアクセスする方法がないところでもありました。APIとしては準備されているんですが、あれが有効なデータを返すデバイスを寡聞にして聞いた事がありません。

使えたとして、大抵のデバイスでは、ほぼ確実にヒープ領域が確保できないでしょうから、処理を始める前にアプリが落ちるんでしょうけれど。

カメラ固有のAPIからデータを取得してYCbCr422データを作らない限りは、YCbCr422のデータをYUV420SPをYCbCr422に変換してもデータサイズが大きいだけで画質の向上は見込めない事になります。

現状では満足していますが、画質が向上したのかという疑問にははっきりとした答えが出せないでいます。

さいごに

SK17iを入手して比較的すぐにICSにアップデートしてしまったので、カメラアプリの挙動の違いが本当に正しいのか、設定の違いなんじゃないのか、という点について良くわかっていません。

体験として嘘は書いてませんが、十分に調査したとはいえないので、ひょっとすると勘違いが含まれているかもしれません。その際はご指摘頂ければ幸いです。

ただICSにアップデートした事自体は公開していません。Xperiaのドコモ端末の中でRAM 512MB未満はICSへのアップデートが不適とされて行なわれない事になりました。

理由がRAMサイズにあるという事ですが、それで何が問題なのかという点はよく分かっていません。

ただしばらくSK17iを使っていて、落ち着いて使っている時は良いのですが、ソフトウェアキーボードを急いで操作する時には、ひっかかるように感じる時があります。

その反面、ハードウェアキーボードを使ってメールやtwitterを使う場面で、何か問題が起こった事はないので、細かい違いを気にするのであれば、ICSへのアップデートは避けた方がいいのかもしれません。

それを除けば、いまのところICSだから問題だという現象には遭遇していないところです。 カメラの件は裏の仕組みがどうなっているか分からないので、良いのかどうか分かりませんが、基本的に新しいものが好きなのでICSにして満足しています。

0 件のコメント: