LogicoolのStreamCamがいいなって話

LogicoolのStreamCamがいいなって話
Photo by Emiliano Cicero / Unsplash

LogicoolのWebカメラの一つ、StreamCamをコロナによるオンラインミーティング以降からずっと使ってきている。結局当時はカメラオフの場面が多く、さほど使うことがなかったが、大学生となりカメラをオンにしたミーティングに参加する機会が多くなった。

StreamCam
StreamCamを購入。1080p 60 FPS、高性能オートフォーカスと露出、縦方向ビデオ / ポートレート方向、汎用マウント、USB-C、デュアルマイクなどが特徴です

きっかけは使っているラップトップのちょっとした不具合(キーボードバックライトが点灯しなくなった)を修理する際、メーカーのミスで画面を割ってしまい、ディスプレイの交換修理になった。出張修理ということで、メーカー委託の業者が修理してくれたのだが、ディスプレイ交換の際、内臓Webカメラを指でべったり触ってしまったらしく、カメラの保護フィルムの粘着層に指紋がついてしまったようで、使い物にならないほど白ぼけてしまった。

とはいえ別にオンライン授業で高画質な映像を届ける機会などないし、複数回にわたる修理で呆れていたので、特に何もせずそのままにしていた。

しかし、就活が始まり、オンライン面接に参加することが多くなり、さすがに白ぼけた画面のままではまずいとなり、しまっていたStreamCamを引っ張り出してきて使ったところ感動したというわけだ。

まず、つくりとしてレンズ部分がガラスで作られているので、写りが抜群にキレイだ。ずんぐりむっくりした見た目をしているので、画質に関して相当期待していたが、HDビデオという条件では全く文句のつけようがない。

そもそも画角が異なるので写りこみが多くなり結構焦る。今まで写っていなかった部屋のスミまで写りこむことになるので、気を付けないとぐうたら過ごしていることがばれてしまう!そもそもWebカメラとして設計されていて、そこそこ近い距離で使うことを想定しているのだろう。手元を写すときなどに便利なように広角レンズを設計されたのだと思う。相手視点ではむしろ顔面度アップにならずに、程よい距離考えられていいのだろうなとポジティブにとらえている。

贅沢にも質の良いマイクが二つ付いている。これが結構いい。ステレオで使うこともできるが、私はモノラルとして使っている。マイクのビーム機能があり、実際パソコンの内臓マイクを使っていたときには「ちょっと声が遠いです」といわれることもあったが、StreamCamを使ってからはそんなこともなくなった。

ソフトについて

ソフトウェアはどうやらLogicoolが迷走しているのか、いろいろなソフトを使えるようになっている。

使えるソフトウェアは次のとおり。

ダウンロード - ロジクール StreamCam

公式ページではLogicool Captureとの連携をうたっているが、なぜか今見てみるとダウンロードページにLogicool Captureの文字はない。まあ気にせず進みましょう。たぶんG HubかTuneが後継ソフトなのだろう。

  1. Logitech G HUB
  2. Logi Tune
  3. Logicool Capture

Logicoolの出しているソフトでWebカメラのコントロールを提供するソフトなら何でも使えるわけだが、どのソフトでコントロールをするにしてもまあまあ処理が重たい。しかも、設定だけして終わりというわけではなく、性能をフルで発揮するにはカメラを使用する際は常にソフトを裏で立ち上げていなければならない。正直クロマキー合成などは一切しないで、カメラとして普通に動作さえしてくれればいいので、私はLogitech G HUBを利用し、ソフトでの動作は意図的に切るようにしている。

おまけという名の本編

さて、ここから少しディープなお話をしよう。

せっかくスペックシートにいろいろ書いてくれているのだから、カメラ・レンズとしての性能を調べてみよう。

レンズスペック

StreamCamの公式スペック

レンズ
プレミアム フルHDガラスレンズ
f/2.0 - 焦点距離3.7 mm
視野: 78°(対角)
StreamCam
StreamCamを購入。1080p 60 FPS、高性能オートフォーカスと露出、縦方向ビデオ / ポートレート方向、汎用マウント、USB-C、デュアルマイクなどが特徴です

スペックシートからの抜粋

視野角からセンサーの対角線の長さを求める

視野角は以下の公式で求められる

$$\text{視野角} = 2 \times \arctan\left(\frac{\text{センサー対角線の半分}}{\text{焦点距離}}\right)$$

ということでセンサーの対角線の長さを求めよう。

$$78° = 2 \times \arctan\left(\frac{d/2}{3.7\,\mathrm{mm}}\right)$$

$$39° = \arctan\left(\frac{d/2}{3.7\,\mathrm{mm}}\right)$$

$$\tan(39°) = \frac{d/2}{3.7\,\mathrm{mm}}$$

\(\tan(39°) \approx 0.8098\) なので

$$\frac{d}{2} = 3.7\,\mathrm{mm} \times 0.8098 \approx 2.996\,\mathrm{mm}$$

$$d \approx 6.0\,\mathrm{mm}$$

センサーの対角線の長さが \(6.00\,\mathrm{mm}\) といわれても単位が \(\mathrm{mm}\) ではイマイチぴんと来ないと思うが、これは一般的なWebカメラで使われる1/2.9インチセンサー(対角線約 \(6.2\,\mathrm{mm}\))とほぼ一致する。

ここまで計算できたら、ボケの大きさも気になってくる。

クロップファクターを求める

ということで、センサーサイズのクロップファクターを求めよう。

フルサイズセンサー: \(36\,\mathrm{mm} \times 24\,\mathrm{mm}\)

$$\text{対角線} = \sqrt{36^2 + 24^2} \approx 43.3\,\mathrm{mm}$$

StreamCamセンサー: 対角線 \(\approx 6.0\,\mathrm{mm}\)

$$\text{クロップファクター} = \frac{43.3\,\mathrm{mm}}{6.0\,\mathrm{mm}} \approx 7.2\text{倍}$$

フルサイズ換算のボケ量を求める

ということで結論

フルサイズで同じボケ量を得るには、StreamCamの \(f/2.0\) に対して

$$f/2.0 \times 7.2 \approx f/14.4$$

💡
つまり、StreamCamの \(f/2.0\) でのボケ量は、フルサイズカメラの \(f/14\) 程度に相当する。

フルサイズ換算焦点距離を求める

クロップファクターが求まっているので、これは簡単

$$3.7\,\mathrm{mm} \times 7.2 \approx 26.6\,\mathrm{mm}$$

これまでの数値をまとめるとこういうこと

  • フルサイズ換算焦点距離: 約 \(27\,\mathrm{mm}\)(標準域の広角寄り)
  • センサーサイズ: 1/2.9インチ相当
  • ボケ量: フルサイズの \(f/14.4\) 相当

画質を考える

画質は画素数でもセンサーサイズでもなくセンサーの画素ピッチ(一画素の大きさ)によって決まります。

画素ピッチを求める

仮にセンサーのアスペクト比を記録画素の通り \(1920 : 1080 = 16 : 9\) として考えてみる。

センサーの実サイズを計算すると

  • 水平方向: \(6.0\,\mathrm{mm} \times 16/\sqrt{16^2 + 9^2} = 6.0 \times 16/\sqrt{337} \approx 5.37\,\mathrm{mm}\)
  • 垂直方向: \(6.0\,\mathrm{mm} \times 9/\sqrt{16^2 + 9^2} = 6.0 \times 9/\sqrt{337} \approx 3.02\,\mathrm{mm}\)

画素ピッチを計算

  • 水平方向: \(5.37\,\mathrm{mm} / 1920\text{画素} = 2.8\,\mathrm{μm} / \text{画素}\)
  • 垂直方向: \(3.02\,\mathrm{mm} / 1080\text{画素} = 2.8\,\mathrm{μm} / \text{画素}\)

すると画素ピッチがどちらも \(2.8\,\mathrm{μm}\) とそれっぽい値が出てきたので、これを画素ピッチとして考えよう。

せっかくなので比較してみよう

StreamCamは \(1\text{画素} = 2.8\,\mathrm{μm} \times 2.8\,\mathrm{μm}\) ということで面積: \((2.8\,\mathrm{μm})^2 = 7.84\,\mathrm{μm}^2\) となる。

手元のiPhoneが15 Proなのだが、どうやら調べてみると14 Proと15 Proは同じSony製センサーIMX803を採用しているらしい。ということでこのセンサーと比較してみよう。

iPhone イメージセンサー一覧|orangemeca
カメラ性能の指標としてはF値や解像度などがありますが、その中でもイメージセンサーのサイズに着目してiPhoneのカメラのイメージセンサーを整理しました。 イメージセンサーはサイズこそ正義なところがあり、大きいほど光を集めやすい=高画質になる傾向にあります。 公開されている仕様では画素ピッチが該当します。 (ただし1画素あたりのサイズになるので高解像度になると小さくなります) イメージセンサー一覧 iPhoneのイメージセンサーはSONY製のため、iPhoneのカメラの進化はSONYのイメージセンサーの進化とともにあるようです。 メインカメラでは15 Pro/Pro MaxはIMX903

素朴に画素ピッチを求めると \(1.22\,\mathrm{μm}\) と分かる。

が、iPhoneではピクセルビニングという仕組みを利用して見かけ上の画素ピッチを大きくしている。ピクセルビニングといわれると「なんだその意味不明な専門用語は」と思うが、英語で書けば単純。Pixel Binningということで隣接するピクセルをまとめているだけだ。つまり \(2 \times 2 = 4\) 画素を1画素として扱う技術で、これで画素ピッチが実質 \(2.44\,\mathrm{μm}\) とみなせるようになり、画質が若干高くなるという算段だ。

画素ピッチが分かったので、1画素の面積を求めよう

  • ピクセルビニング(高画質モード)では \((2.44\,\mathrm{μm})^2 = 5.95\,\mathrm{μm}^2\)
  • ノーマル(高精細モード)では \((1.22\,\mathrm{μm})^2 = 1.49\,\mathrm{μm}^2\)

次の表は、光子ノイズ \(\propto 1/\sqrt{\text{画素面積}}\) と考えた場合の比較結果だ

デバイス 画素ピッチ 画素面積 光量収集力比較
StreamCam \(2.8\,\mathrm{μm}\) \(7.84\,\mathrm{μm}^2\) 基準
iPhone Pro(個別) \(1.22\,\mathrm{μm}\) \(1.49\,\mathrm{μm}^2\) \(0.19\)倍
iPhone Pro(ビニング) \(2.44\,\mathrm{μm}\) \(5.95\,\mathrm{μm}^2\) \(0.76\)倍
フルサイズ参考 \(6\,\mathrm{μm}\) \(36\,\mathrm{μm}^2\) \(4.6\)倍

段数(stop)で考える方が写真の世界では実用的で、実際のノイズレベルも理解しやすくなる

デバイス 段数差 等価ISO 実用的評価
フルサイズ参考 基準 ISO 100 最高画質
StreamCam \(2.2\)段劣化 ISO 459 良好な画質
iPhone Pro(ビニング) \(2.6\)段劣化 ISO 605 やや劣化
iPhone Pro(個別) \(4.6\)段劣化 ISO 2416 高ノイズ

この数値が意味することを実際の撮影で考えてみると

フルサイズでISO100で撮れる明るさの環境で撮影した場合

  • StreamCamは理論上「ISO459で撮影したような」ノイズレベル
  • iPhone Proは「ISO605で撮影したような」ノイズレベル

つまり、StreamCamの方が約25%低いノイズを実現できる計算になる。

実用的な影響を考察

いろいろ計算をしてきたが、実用的な影響を考えてみよう。

この $0.4$ 段の差は実際にはどの程度の違いだろうか。

低照度撮影において

  • 理論上、StreamCamの方がiPhoneに比べてわずかにクリーンな画像を生成する可能性があると言える
  • ただし、$0.4$ 段の差は肉眼では判別困難なレベル
  • ピクセルビニングを行わないiPhoneの画像と比較すれば $2.4$ 段の差にもなるので、肉眼でも容易に判別できるほど画質が向上していることがわかるだろう

高照度(十分な明かり)では

  • 両者ともノイズが十分少なく、差はほぼ見えない
  • ソフトウェア処理の差の方が大きく影響

実際の使用ではその後ソフトウェアでの処理が入る。iPhoneでは複数枚の画像を合成してノイズを減らすこともあるし、そもそもノイズリダクション処理がなかなか洗練されている。

StreamCamとiPhone Pro個別画素の差は約 $2.4$ 段となる。これを光量で表現すると、StreamCamはiPhone Pro個別画素の約 $5.3$ 倍の光を集められることになる($2^{2.4} \approx 5.28$ 倍)。

この差の実用的な意味を考えてみよう。

同じ照明条件下で撮影した場合、iPhone Pro(個別画素)で発生するノイズは、StreamCamの5倍以上になる計算だ。これは確実に肉眼で分かるレベルの違いだ。具体的には、StreamCamでは滑らかに見える暗部の階調が、iPhone Pro個別画素では明らかにザラザラとしたノイズまみれになる感じ。

ここでも重要なポイントがあって、iPhone Proは実際には個別画素で動作することは滅多にない。

iPhone Proの動作モードを整理すると次のようになる

  • 通常撮影: 4画素ビニング($2.44\,\mathrm{μm}$ 相当)で12MP出力
  • ProRAW撮影時のみ: 個別画素($1.22\,\mathrm{μm}$)で48MP出力

つまり、一般的な使用では iPhone Pro は常にビニングモードで動作しており、StreamCamとの差は先ほど計算した $0.4$ 段程度に留まる。

それでも、iPhone ProのProRAWモード(個別画素)を解像度の観点から比較すれば面白い考察ができますヨ。つまり、48MPでわざわざ撮るときは、詳細な画像が求められる時であって解像度が必要な時というわけ。

ProRAWで48MP撮影する場合、確かにStreamCamよりもノイズは多くなるが、その代わりに約23倍の解像度(48MP vs 21MP)を得られる。つまりこういうこと

  • ノイズレベル: StreamCamが圧倒的に優位($2.4$ 段差)
  • 解像度: iPhone Pro個別画素が圧倒的に優位(23倍 $\approx 2.26$ 段)

23倍を段数に変換すると $23 = (4.8)^2$ なことから、$\log_2(4.8) \approx 2.26$ 段となる。人間の視覚は、解像度が2倍になっても2倍の細かさを感じ取れるわけじゃないのであまり参考にならないですが、まあざっくり解像度と画質がトレードオフになっていることを理解できると思います。

おわりに

綺麗!とかそういった定性的な分析はあてにならん!ということで、定量的に分析してみたよ。StreamCamに限らず、あらゆるカメラで分析手法は使えるわけで、気になったカメラで比較をしてみると面白いかもね!

と、いうわけでStreamCamとiPhoneのカメラを比較してきたわけですが、結局StreamCamはiPhoneのカメラぐらいなのかなって印象を持ったのじゃないでしょうか。

しょぼいと思うか、すごいと思うかはあなた次第。

僕はいい商品だなって思うよ。

Read more

なぜ静止画に4:2:2は存在しないのか

なぜ静止画に4:2:2は存在しないのか

はじめに 動画のコーデックを扱う際、「4:2:2」や「4:2:0」といった表記を目にすることが多い。これらはクロマサブサンプリング(色差サブサンプリング)のパターンを示す記法である。しかし、静止画フォーマットであるJPEGにおいても同様のサブサンプリングが適用されていることは、意外と知られていない。 本稿では、クロマサブサンプリングの数理的基礎から、各画像フォーマットにおける実装まで、技術的に正確な理解を構築することを目的とする。特に、「なぜ写真の世界では4:2:2がほとんど存在しないのか」という問いに対して、技術的・歴史的観点から考察する。 色空間とサブサンプリングの分離 クロマサブサンプリングを理解するには、まず「なぜ色情報を間引いても画質劣化が少ないのか」という根本的な問いに答える必要がある。この答えは、人間の視覚系の生理学的特性に深く根ざしている。 RGB色空間の特性 RGB色空間は、赤(R)・緑(G)・青(B)の3つの加法混色成分によって色を表現する色空間である。これは、ヒトの網膜に存在する3種類の錐体細胞の分光感度特性に対応している。 * L錐体(長波長

By Sakashita Yasunobu
ブログで使うWeb用の画像のフォーマットについて検討する

ブログで使うWeb用の画像のフォーマットについて検討する

背景と目的 普段から写真撮影を行っていると、画像ファイルが占める容量は無視できない規模になる。現在はNASとAmazon Photosに保存しているため、容量的な制約は少ないものの、ファイルサイズが小さくできるのであれば小さくしておく方が合理的だ。特にWeb公開を前提とする場合、ファイルサイズはアップロード・ダウンロード、そしてページ表示時間に直結するため、可能な限り小さい方が望ましい。 これまでは現像ソフトからJPEG品質100で出力し、Web用途など容量削減が望ましいケースではWebPに変換してきた。RAWファイルは別途バックアップしてアーカイブとして保存している。目視で画質劣化が認められないのであれば、全てWebPで保存しても問題ないのではないかと考えたが、より優れたフォーマットが存在する可能性があるため、現在利用可能な画像フォーマットについて調査した。 主要な画像フォーマットの特徴 JPEG 最も広く普及している画像フォーマットで、互換性に関する信頼性は高い。しかし、規格自体が古く、現代的な圧縮技術と比較すると効率は劣る。 JPEGについて知っておくべきすべての

By Sakashita Yasunobu
WebpとAVIFをWindowsでローカルに使ってみる

WebpとAVIFをWindowsでローカルに使ってみる

ブラウザツールはいろいろあるのだが、ローカルでやるのがやはり便利なのでその方法を模索する。 sharpで画像を一括圧縮、WebP・AVIF変換する - Web production note画像変換ライブラリsharpを用いて、画像をまとめて圧縮や変換(Webp・AVIF・JPG・PNG)できる方法をまとめました。Web production note 非公式なコマンドラインツールなどもあるが、開発が最新のバージョンに追随していなかったりするので、おとなしく公式実装を使うのがよさそう。 PNGやJPEG画像をAVIFフォーマットへ変換してくれるコマンドラインツール「cavif」がリリース。PNGやJPEG画像をAVIFフォーマットへ変換してくれるコマンドラインツール「cavif」がリリースされています。詳細は以下から。AAPL Ch.AAPL Ch. Webp WebpはGoogleが作ったナウい画像形式。古臭いJPEGに比べて画質を保ったまま小さくできるのがウリ。 WebpのダウンロードはGoogle公式ページの「Windows版をダウンロード」から。 WebP のダ

By Sakashita Yasunobu
Webpの向き不向き

Webpの向き不向き

WebpにはLosslessとLossyの2つのオプションがある。常識的に考えて、Losslessはファイル容量がデカくなりがちで、ファイル容量を小さくしたければLossyを使えばいいと思うが、意外とそんなことないので、用途を考えて使い分けましょうという話。 ウェブ用の画像形式 | WebP | Google for Developersウェブ用により小さい画像を作成するこの画像形式の詳細や、G4 Converter のダウンロードやサポートのためのリンクを確認できます。Google for Developers 最近、ScanSnapのix1300で本をスキャンするようになった。白黒の最高解像度でスキャンをする場合、PDFで画像が出力される。PDFよりも汎用的な画像ファイルのほうが都合がいいので、pdfimagesで画像を抜き出している。 PDFから画像をTiffで抜き出す PDFが一個だけ $base = (Get-Item *.pdf).BaseName; pdfimages -tiff *.pdf temp; Get-ChildItem temp-*.tif | F

By Sakashita Yasunobu