Microsoft レンズは、書類やホワイトボードの画像を読みやすくする製品です。Microsoft レンズチームは、カメラとカメラ機能のサポートを含む Android フレームワーク API である Camera1 API が、最新の Android デバイスで動作に一貫性がないことを懸念していました。新しい技術の開発を検討した結果、最速の開発手段は CameraX を使用してカメラ付きスマートフォンの最新機能を入手することであると判断しました。
Eyecon の取り組み
Microsoft は、Microsoft レンズを使用する一連の生産性向上アプリに CameraX を使用することにしました。CameraX はオープンソースの Android Jetpack サポート ライブラリであり、デベロッパーはこれを使用して Android アプリでのカメラ機能を簡単に構築できます。CameraX は Microsoft レンズのすべてのツールと統合されており、一部のアプリで高品質の画像を使用できます。また、CameraX はよりシンプルな API を提供することでデベロッパー エクスペリエンスを向上させ、Android デバイスの 94% で機能します。CameraX に移行することで、Microsoft レンズチームは、パフォーマンスの問題を解決し、デベロッパーの生産性を向上させ、製品化までの時間を短縮することができました。
結果
Microsoft レンズのチームは、CameraX ライブラリを実装することで、テストと最適化のサイクルが減ったことで、開発者の大幅な時間の節約を実現しました。Camera2 は約 6 か月かかっていたのに対し、CameraX ではエンジニアリング チームが統合に約 4 か月かかると推定しています。
「CameraX を使用すると、統合の労力と時間に役立つ Camera1 API と比較して、解像度、アスペクト比、画像の回転、キャプチャ品質などの属性を簡単に構成できます。CameraX が内部で状態(カメラの開閉)を処理している間に、アプリを切り替えることで統合するコード行が削減されました。また、デベロッパーの生産性がアプリの状態をリセットするのではなくビジネス ロジックに集中できるようになりました」と、Microsoft のプリンシパル ソフトウェア エンジニア マネージャーである Vishal Bhatnagar 氏は語ります。
CameraX を使用することで、Microsoft は Camera1 と比較して起動とキャプチャのパフォーマンスが向上しました。最新の Android デバイスでは、リリースとキャプチャでパフォーマンスが 2 倍向上し、3 倍になったデバイスもあります(デバイスによって異なります)。さらに、コアスキャン機能の有効化は、Camera2 の推定よりも簡単でした。デバイスの断片化に関しては、CameraX により、多くの OEM デバイスにおける実装で多くのデバイスの Camera2 バリエーションが効果的に隠されます。
Microsoft チームは現在、Office、Teams、OneDrive、Word、Excel、PowerPoint、Microsoft レンズ、マイハブなどの他の Android アプリに CameraX を統合しています。これらのアプリはすべて、ドキュメント スキャンや画像からエンティティへの抽出(画像からテーブル、画像からテキストなど)での画像キャプチャ機能に CameraX を使用します。Microsoft チームは、まもなく Outlook に CameraX を実装し、Kaizala などの他のアプリへの可能性を検討する予定です。
始める
アプリに CameraX を実装する方法について詳しくは、ドキュメントをご覧ください。