動画処理

動画処理とは?

動画処理は、動画の作成、処理、表示などをコンピュータアルゴリズムを使用して実行する技術です。これには、動画ファイルの読み込みを始め、動画に含まれるノイズの除去などの前処理から、オブジェクトの認識、三次元解析も含まれます。動画処理には、画像処理と同じ画像アルゴリズムが主に用いられますが、時間軸情報を持つため、静止画の処理とは異なる部分もあります。例えば、静止画と比較してデータ量が多く、それを指定された再生速度で表示するには、システムへの要件が高度になります。また、コンピュータビジョンアルゴリズムを利用して、フレームごとの相関関係などを考慮することにより、静止画では不可能な動きの解析などの処理も可能になります。 データ量を制限するために用いられる圧縮技術やインターレースなどにより発生するノイズや歪みなどの偽信号のへの対応も動画処理では重要な課題になります。

動画処理には以下のような技術が含まれます。

  • ビデオファイルの作成および読み込み
  • ビデオの表示および画像の重ね合わせ
  • インターレースされたビデオの偽信号の除去
  • フォーカスのずれた画像の補正
  • コントラストを強調し画質を向上
  • 複数フレームからの背景の推定や動きの検出
  • フレームごとのブレの補正

動画処理では、画像処理と同様に、入力元となる動画をフレーム単位で取り込み、そこから目的に応じて必要な情報を抽出するための画像変換を行い、抽出した情報を画像認識などの次の過程で利用するという手順が一般的です。この中で、大きな問題となるのが入力データの取り扱いです。いったん、ファイルとして保存する方法が一般的ですが、データ量が多い場合やライブ映像を取り扱う場合には、入力映像をリアルタイムで取り扱うストリーミング処理がシステムの開発上で重要になります。

Computer Vision Toolbox™ は、データの解析および可視化のための環境を提供するMATLAB上で、コンピューター ビジョン システムと動画処理システムの設計ならびにシミュレーションのためのアルゴリズムとツールを提供します。動画処理に必要な特徴抽出、動体検出、物体追跡、ステレオ ビジョン、動画および動画解析のための様々なアルゴリズムをサポートしています。また、入力映像をリアルタイムで取り扱うストリーミング処理機能もサポートされています。

参考: Steveによる画像処理, MATLAB を使った動画処理関連書籍, 画像強調, 画像セグメンテーション, 画像の各種変換, 画像解析, 空間変換, 画像レジストレーション, 画像および動画処理