いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

スマホのカメラの「焦点距離」。誰か教えて……

 スマホに付いているカメラの話です。多分「オートフォーカス」というやつですよね? つまり、ピントが合っているとかいないとか気にしなくてもシャッターを押すだけで写真が撮れます。それとは別に、被写体が映っているとき、画面をタップするとそこにピタリとピントが合うようですが。機種によるのかも。

 昔のカメラだと、レンズが動いたりするので「ああ、カメラも頑張ってピントを合わせているな」という感じだったんですが、スマホはどうも分からない部分があります。スマホのカメラはピントを合わせるとき、内部で何か(レンズとか、その他の部品)が動いているのでしょうか。それとも部品はそのままで、完全にソフト的に処理しているのでしょうか。音はしていなさそうなので後者かも知れません。しかしその場合、どうやってそれを実現しているのでしょうか。

 そして、レンズにはいわゆる「焦点距離」というのがありますよね。中学校や高校で作図したこともあるでしょう。レンズの前にろうそくかなんかがあり、その像がどこに映るか描いた、あれです。そのときに焦点距離をf(レンズの中心からそのレンズの焦点までの距離)としていたでしょう。スマホにもレンズが搭載されているのですから、当然fがあるはずです。オートフォーカスというのは、もちろんfは固定ですがレンズの位置が変わって(あるいは他の方法で)ピントが合うんですよね?

 要するにいったい何が起こってスマホのカメラで写真がうまく撮れるのか、全く分からないのです。ちなみに……物理の先生に後半を確認してみたんですがよく分からないようでした。

 前、カメラを使っていくつか実験をしていました。この段落は周辺の理屈を知らないと難しいので、その場合は雰囲気で!

www.omoshiro-suugaku.com

例えカメラ内部で何か起こっているのかは分からなくても、分かっていることだけを組み合わせて色々できます。実は、空間内の点の座標を(X, Y, Z)、それが映っている写真上での座標を (u, v) とすると、以下が成立します。

sは空間内の点に応じて変化する定数です。Aはカメラ固有の情報(fとか、いろいろ)の詰まった行列で、「内部パラメータ行列」と言います。[R t]はカメラの回転、移動を表す行列なのですが、今は気にしないで大丈夫です。

当然、スマホのカメラでもこの式が成立しているはずなのですが、行列A(fに関係する量が成分になっている)はオートフォーカスによってカメラの状態が変わったとき、やはり変わるのでしょうか?

 

 最後の疑問については実験すれば結論は出ます。先ほどの式を使うのです。立体の写真を撮り、空間内の点と写真上での点の対応(何組か使う)からAを求めることができます。そして、アングルや距離を変えて写真を撮って、同じように点の対応からAを求めます。こうして得た2つのAを比較すればよいのです。実験するだけなんですが、こういうのは勢いが必要で、先延ばしにしています……。

 

 結局、これに関してはあまり分かっていないのです。カメラなど毎日使っているから分かった気になっているだけなんですね。

 ……というわけで、分かったらまた記事にします。