ご相談・お問い合わせはこちら

  • サービスに関するお問い合わせ
  • 個人情報保護に関するお問い合わせ
  • セールスパートナーに関するお問い合わせ
  • アライアンスパートナーに関するお問い合わせ
フリーダイヤル:0120-65-8140 TEL:03-5765-7000 受付時間:10:00~18:00(土日祝を除く)
2014/6/13 掲載

高精細な動画エンコードのためにおさえておきたい5つのポイント【前編】

ネット動画の画質は、ビットレートとほぼ比例します。しかし、むやみにビットレートを高くするとファイル容量が増大してしまいます。
 ・ビットレートを低く抑える
 ・ファイルの容量が小さくなる
 ・アップロードの時間が短縮される
この3つは連動しており、ビットレートを抑えながら高精細にエンコードできたら言うことなしです。

また、冒頭でビットレートと画質はほぼ比例と書きましたが、「ビットレートを上げてエンコードをしてみたけれど、いまひとつ画質に満足できない」というご経験をなさった方もいらっしゃるかと思います。そこで今回は、より高精細な動画エンコードを実現させるに際して、よく使われる5つのポイントをご紹介します。



【エンコードの仕組み】視覚に影響のない範囲で情報を間引き、データを圧縮

最初に簡単にエンコードの仕組みを解説します。
映像とは連続する画像(フレーム)の集まりで、これを短い時間でパラパラ漫画のように切り替えることで視覚的に動いているように見えています。日本のテレビ映像は1秒間に29.97枚のフレーム(29.97fps / frame per secondの略)で、映画・アニメの多くは24 fpsという規格になっています。映像では大量のフレームが必要なため、データ量も膨大になります。そのため、ネットで動画を配信するにはデータの圧縮が不可欠になります。

エンコードをする際は、
 1)1フレーム内でデータを圧縮する「フレーム内予測
 2)連続するフレームの中で、データを圧縮する「フレーム間予測
の2つの掛けあわせで圧縮を行っています。

データ圧縮については、さまざまな方法論があるためここでは詳細は割愛しますが、「フレーム内予測」のベースとなる考え方は、1フレームをセルと言われる小さなブロックに分割し、ブロック内で隣あった色が同じまたは似た場合に、これをまとめてデータ圧縮するというものです。例えば、分割したブロック内で、「青青青青青青青青青青青赤赤黄黄黄」という情報があった場合、これを青11、赤2、黄3とまとめることで、データ量を削減するといったイメージです(図1-1)。


【図1-1】フレーム内予測におけるデータ圧縮の一例(イメージ図)
隣り合う色が同じまたは似た場合、情報をまとめデータを軽量化


ただし、フレーム内予測だけでは、時間軸のある映像の場合はフレーム数が多いため、全体の軽量化には限界があります。
そこで、2)の「フレーム間予測」では、「連続するフレームの前後は内容が似ている」という考え方に基づき、前のフレームと変化がないセルは情報を使い回すことでデータ量を軽くし、変化があるセルを差分情報としてデータ化します(図1-2)。


【図1-2】フレーム間予測(イメージ図)
フレーム間予測では、変化のない部分のセルは使い回し、変化のある部分のみをデータ化


ここから、具体的なエンコードのポイントを5つあげていきます。

【ポイント1】フレームサイズに適したビットレート目安を把握する


以下3種類の画像をご覧ください。

640×360pxの画像を抜粋
1MB 250kB 50kB
1MB 250kB 50kB

上記3つは、同じ640×360pxの画像からの抜粋ですが1MB、250kB、50kBとファイルサイズが異なります。1MBに比べ250kBは画質が劣りますし、50kBになるとずいぶんと粗くなっています。これは、1ピクセルあたりに割り当てられるデータ量が減ってしまうため、画質劣化してしまうからです。

同様の現象は、動画にも言えます。ビットレートとは1秒間に割り当てるデータ量のことで、動画の画質を左右します。パソコンやテレビモニター上でのフル画面視聴といった大画面で動画を見せたい場合は、フレームサイズにあわせた十分なビットレートが必要です。逆に、小さなフレームサイズで見せる場合は、ビットレートを低くしてもあまり粗さが目立ちません。むしろ、高いビットレートでエンコードしても画質の差を実感できず、ファイル容量が大きくなるだけということも多いです。

以下に、現在、ネット配信の際によく使われているフレームサイズと適性ビットレートの目安を列記します。

■フレームサイズと適性ビットレート
フレームサイズ
※左は16:9、右は4:3の場合
適性ビットレート(目安)
パソコン(ナローバンドユーザー向け) 426×240px、320×240 px 300kps~500kbps
パソコン向け(SD画質) 640×360px、480×360 px 500 kps~1Mbps
854×480px、640×480 px 1Mbps~2.4Mbps
パソコン向け(HD画質) 1,280×720px、960×720 px 2.4Mbps~4.5Mbps
1,920✕1,080px、1,440×1,080px 4.5Mbps~9Mbps
スマートフォン向け 480×270px、360×270 px 300kbps
640×360px、480×360 px 600kbps

2014年6月時点での当社見解によるとりまとめ
※適性ビットレートは、映像内容によって多少前後することがあります

ただし、動画の場合は、「動きの多い・少ない」映像素材かによって同ビットレートでもエンコード時の画質の違いが生じます。そのため、映像素材にあわせて、フレームサイズだけでなく、この後解説するフレームレートやキーフレーム等の設定を総合的に判断しエンコードを行う必要があります。高精彩さを決めるひとつの要素として、フレームサイズと適正ビットレートの関係がある、とご理解いただければと思います。



【ポイント2】動き重視ならフレームレートを上げ、画質重視ならフレームレートを下げる

テレビは29.97fps、映画は24fpsとフレームレート(フレーム数)の規格が決められているのに対し、ネット動画のエンコードではフレームレートを自由に設定できます。【エンコードの仕組み】の部分で前述しましたが、映像とはパラパラ漫画のように連続する画像(フレーム)の集まりで、1秒あたりのフレーム数が多ければ多いほど、より動きを滑らかに表現することができます。

動画エンコードでは、1秒あたりのビットレートは決まっていますので、フレームレートを上げればパラパラ漫画の画像の数が増え、動きが滑らかになる一方で、1フレームあたりに割り当てられるデータ量は減るため画質は落ちます。逆に、フレーム数を下げるとパラパラ漫画の画像の数が減る分、動きの滑らかさは多少鈍りますが、1フレームあたりに多くのデータ量を割り当てることになるため画質は向上します。

動きの多い映像で、動きの滑らかさを重視するならばフレームレートを上げます(動画デモ1)。一方、動きの少ない映像ならば、(程度にもよりますが)フレーム数をそれほど多くする必要性がありませんので、フレームレートを下げて画質向上を優先させるのが有効です(動画デモ2)。

動画デモ1)動きの多い映像

※音声はありません


動画デモ2)動きの少ない映像

※音声はありません



【ポイント3】動きの多い映像には「キーフレーム 」を短い間隔で入れる

キーフレームとは、1枚の静止画(フレーム間圧縮を行っていない画像)として存在していて、差分情報の起点となるフレームのことです(図2)。エンコーダーの設定にもよりますが、キーフレームは、シーン変更があった場合に挿入されるほか、○フレーム、○秒に1回というように差分情報を一定の間隔で取得できるように挿入されます。


【図2】キーフレームのイメージ図


動きの激しい映像は、短い時間でモノが大きく移動したり変化します。そのため、キーフレームを短い間隔で入れると細かな動きに対する再現性が高くなります。また、キーフレームの多い映像のほうが、シークがスムーズになるというメリットもあります。理由としては、シークはキーフレームをもとに行われるため、キーフレームが多ければ狙ったシーンで止めやすくなるからです。シークを止めた位置が、キーフレームではなく差分情報のフレームだった場合は、近くのキーフレームに情報を取得しにいくのですが、その時間が短くて済みます。ただし、キーフレーム数をあまり増やしすぎると、キーフレームにビットレートをとられてしまい全体の映像品質が低下してしまうので注意が必要です。

動きの少ない映像は差分情報が少ないので、キーフレームが少なくても変化の違いはあまり感じないでしょう。ただし、キーフレームを入れる間隔を長くしすぎると、シークがスムーズに機能せず再生開始までに時間がかかってしまうことがあります。キーフレームが多い場合と逆で、巻き戻した位置がキーフレームから遠いと読み取りにいく時間がかかってしまうからです。目安としては、動きの多い映像の場合は3秒に1回、動きの少ないものの場合は6-8秒に1回くらいです。

ここまでの「高精細な動画エンコードのためにおさえておきたい5つのポイント前編」では、「配信したいフレームサイズに適したビットレートを把握すること」、動き重視か画質重視かによって「フレームレート」や「キーフーレームの入れ方」を変えるといった3つのポイントをご紹介しました。後編では、内容に応じてビットレートの配分を変える設定方法や、「エンコードしたら何だか仕上がりが変!?」というトラブル時によく見られる原因について解説していきます。

■関連情報■
高精細な動画エンコードのためにおさえておきたい5つのポイント【後編】
動画配信に必要なコーデックの基礎知識【動画コーデック解説コラム・前編】
最適な動画コーデック選択のための3つの視点【動画コーデック解説コラム・後編】

■関連サービス■
エンコードサービス
http://www.jstream.jp/service/creation/encode/

お急ぎの方はお電話ください。[フリーダイヤル] 0120-65-8140