Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
動画ファイル入門
Search
nixeneko
May 23, 2017
Technology
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
動画ファイル入門
動画はよくわからないけど扱わないといけないという人に、動画形式やエンコードについて説明するためにつくったスライドです。
nixeneko
May 23, 2017
Other Decks in Technology
See All in Technology
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
310
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
200
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
160
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
990
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
230
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
270
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
170
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
590
Featured
See All Featured
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
How to train your dragon (web standard)
notwaldorf
96
6.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
620
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
The SEO Collaboration Effect
kristinabergwall1
1
590
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
GitHub's CSS Performance
jonrohan
1033
470k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Transcript
おおざっぱな 動画ファイル入門 にせねこ (@nixeneko)
動画って何? 動画とは…… 映像と音声を同期させたもの 映像 音声 同期 ここでは便宜的に「映像」を視覚要素のみ、「動画」を視覚・聴覚要素を合わせたものとする + +
動画って何? 動画をコンピュータで扱うには…… 映像 コーデック 音声 コーデック コンテナ フォーマット 映像 音声
同期 + +
3つのフォーマット • 映像コーデック 視覚要素の符号化 例: H.264, WMV9, MPEG-2, … •
音声コーデック 聴覚要素の符号化 例: AAC, MP3, リニアPCM, … • コンテナ・フォーマット 映像と音声をまとめて一つのファイルに格納 同時に再生されるようにする 動画形式というとこれを指すことも多い 例: MP4, AVI, FLV, MOV, … 映像 コーデック 音声 コーデック コンテナ フォーマット 動画ファイル 「動画形式」という場合に、映像コーデックとコンテナフォーマットを指す場合があってややこしい
コンテナフォーマットとコーデックの組み合わせ コンテナフォーマットには • コーデックを自由に選べるもの(AVIなど) • 選べるコーデックが決まっているもの(MP4など) がある
コンテナフォーマットとコーデックの組み合わせ例 AVIファイルの一例 ブルーレイ コンテナ AVI 動画 DIVX 音声 Vorbis コンテナ
MPEG-2 TS(Transport Stream) 動画 MPEG-2 音声 AAC
何使っとけばいいの? • だいたい↓で事足りる YouTube, ニコニコ動画, Twitter, スマホなどに対応 ネットに上げるならこれ • 動画共有サイトにはファイルサイズやビットレート等の
制限がある ファイルサイズと品質を決めるもの: ビットレート コンテナ MP4 動画 H.264 (MPEG-4 AVC) 音声 AAC
ビットレート データサイズ = 動画の長さ[秒数] × (ビットレート ÷ 8) 問題 •
2分40秒(160秒)の動画を80MB以内に収めたい。平均ビッ トレートは最大で何bpsか? • 80 * 8 / 160 = 4 [Mbps]
H.264エンコーダの画質設定 • 2種類の画質設定 品質一定(VBR) 動きのないところなどはビットレートを小さくし、動きの激し い複雑な部分ではビットレートを上げる ビットレート一定(CBR) 一定時間における平均ビットレートが目標値になるよう変換 • CBRの方が変換後のファイルサイズを制御しやすい
• ビットレートからファイルサイズの計算 動画の長さ(秒数) × (ビットレート ÷ 8) [Bytes] ファイルサイズ = 映像のサイズ + 音声のサイズ
Adobe AfterEffecs
Adobe Premiere
画質に関わる要員 情報量が増える(同画質だとビットレートが大きくなる) 原因 • フレームレートが高い • 画面サイズが大きい(解像度が高い) • 色情報が多い (YUV
4:2:0 < 4:4:4 とか) • インタレース ブラウン管時代にチラツキをおさえるために、1つのフレー ムを2回に分けて描画することで、縦方向解像度が半分で擬 似的な60fpsとすることにしたもの
映像圧縮 しくみと傾向
映像って? • 映像とは 時間方向に順序をもった静止画の集まり パラパラ漫画の原理 • 映像圧縮は2種類からなる 静止画の圧縮技術(フレーム単位での圧縮) 映像用の圧縮技術(フレーム間の圧縮)
静止画圧縮 ― JPEG JPEG圧縮の流れ 1. 輝度情報と色情報を分ける 色空間をRGB→YUVに変換 2. 画像を8×8ピクセルのブロックに分割 3.
ブロック毎に離散コサイン変換(DCT) 空間周波数成分に変換 4. 画質設定に応じて高周波成分を取り除く 5. 係数を周波数の小さい順に並べてランレングス圧縮
離散コサイン変換(DCT) • 画像を周波数成分(右図の 各ブロック)の足し引きで 表現 • 低周波成分ほど重要な情 報であることが多い 青空など高周波成分をほ とんど含まないものも
• 高周波成分を間引くこと でデータ圧縮! © 2011 Hanakus
PhotoshopのJPEG書き出し: 画質 12 (398 KB) © Unity Technologies Japan/UCL
PhotoshopのJPEG書き出し: 画質 0 (60.4 KB) © Unity Technologies Japan/UCL
差分: 高い圧縮率により失われた成分 (338KB相当) © Unity Technologies Japan/UCL
JPEGの圧縮率を高くすると失われるもの 画質 12 398 KB 画質 0 60.4 KB データサイズが15%に(85%減少)
© Unity Technologies Japan/UCL 差分 338 KB 参考: 圧縮前 697 KB
JPEG 他の工夫 • 色情報を間引く 人の目は輝度変化に敏感だが色には鈍感 4ピクセルに対して1つの色を割り当てる、など 映像圧縮でもJPEGの圧縮方式が基本
時間方向を考慮した映像圧縮 映像用の圧縮技術……時間方向の変化を考慮 • アイデア 画が変化した部分(差分)だけを記録 動かない同じ画を何枚も記録するのは容量のムダ • 動き予測 物体の動きを予測 •
動き補償 動き予測と異なるものは前 フレームからの移動ベクト ルを記録 前のフレームから“引用” 加古孝・鈴木雅也『MPEG理論と実践』NTT出版, 2003. p. 128
動きベクトル • 可視化例 © 2006, Blender Foundation / Netherlands Media
Art Institute / www.elephantsdream.org
例: 三者三葉OP 差分(?) ©荒井チェリー・芳文社/三者三葉製作委員会 最初のフレームがエラーで 読み取れなかった時の画像→
圧縮効率がよくない映像とは • 高周波成分を多く持つ画像 細かい模様 ライブ会場のLEDディスプレイとか…(つぶつぶ) • 動きの規則性が見えないもの(予測不能) →エンコードに高いビットレートを要する ビットレートが低いと元映像を再現できない
例: メイドラゴンOP (TOKYO MX): MPEG-2, 約12Mbps, 1440x1080, 60i, 4:2:0 ©クール教信者・双葉社/ドラゴン生活向上委員会
モザイクか? • ブロックノイズ 原因 • 割と絵が細かい • 動きが激しすぎて動き予測がうまくできてない スタッフクレジットの文字の後ろを映像が流れるのもつらい •
結果、データ量を節約する工夫がうまく使えず、ビット レートが足りなくなりモザイク状態に
まとめ • H.264(.mp4ファイル)使っとけばだいたいOK • 動画の利用方法に従って適切なビットレートを設定 ファイルサイズ 動画共有サイトの制限 • ビットレートが下がりすぎると… 細かい模様が死ぬ
速い動きが死ぬ
参考書籍 参考にしたけど必ずしもお勧めできるかはわかりません • 瀧本往人『MPEG4入門 改訂版』工学社, 2012. • 加古孝・鈴木雅也『MPEG理論と実践』NTT出版, 2003.