動画像圧縮(コーデック)
DESCRIPTION
勉強会での発表資料. コーデックの基礎の基礎を発表。 下記にKEYファイルも置いています. http://tniky1.com/study/TRANSCRIPT
動画像圧縮
そうだったのか!
http://www.tniky1.com/study
今日の内容
最近についてコーデックの基礎の基礎Firefoxアドイン開発
動画像圧縮(コーデック)
動画像技術の基本圧縮対象はどのように圧縮してるか基本概念について説明(コードなどは示しません)
なぜ圧縮?何を圧縮?資源(帯域)の有効活用
多くの情報を保存!
通信
蓄積
MPEG
H26X
圧縮の規格H.261Mpeg-1Mpeg-2H.263H.264 / MPEG4HEVC
H.26Xが通信Mpegが蓄積
統合
NEW!!
規格の範囲
規格化されているのはDecodeのみその他の部分で会社による差異化
前処理ノイズ処理
後処理フレーム変換
Encode
Decode
規格化
圧縮技術
基本的なコンセプト冗長度を減らす!
3つの冗長性空間的冗長時間的冗長統計的冗長
不要なデータを削減する。
それぞれ見ていきましょう。
空間的冗長性大雑把にいうと?画像内で削減できる部分。
この特徴を利用して、情報をつめつめ
するイメージ
例えば、こんな特徴を利用画像の隣接する部分は同じような色や明るさを持つ
DCT(離散コサイン変換)
実際は数式圧縮し易いように、情報を変換
う!?っとくるかもしれませんが(^^;)
画像表示 周波数表現DCT変換
相互に変換可能
低周波数に集中
量子化(離散値)することで圧縮できる。
0000
4032
31
・・・
・・ ・・ ・
時間的冗長性
大雑把にいうと?画像間で削減できる部分。
こんな特徴を利用。動画では前の画像と次の画像は同じ箇所がある。画像の差分だけを保持する。
割と、イメージし易いかな?
動き補償
移動動きベクトル
単純なフレーム間予測
動き補償フレーム間予測
予測画像 差分だけ!
動きベクトルと差分だけでよい。
統計的冗長性
大雑把にいうと?符号の出現確率の偏りによる圧縮
こんな特徴を利用出現確率が高いものにビット数が少ないものを割り当てる。
なんか聞いたことある話ではないですか??
ハフマン符号
1
110
0
0
1
01
001
000
代表的な可変長符号化(EX)出現確率a(0.6) b(0.2) c(0.1) d(0.1)
平均符号長0.6*1+0.2*2+0.1*3+0.1*3=1.6
比較(固定長)
0.6*2+0.2*2+0.1*2+0.1*2=2
真っ先にこの木が思い浮かぶと思います(^^)
出現確率がわかっていないとだめ
CAVLC (コンテキスト適応型可変長符号化)
隣接ブロックの情報でなんとかする
画像を逐次的に処理をしながら可変長のビットを割り当てていく
画像表示
順に圧縮
上と左部分の情報取得可能
上と左部分の情報をインデックスとしてテーブル引きを行なう
圧縮の原則
一つの技術だけではない複数の技術の集合体一つ一つ把握するしかない
参考書籍規格書 H.264神様。これが理解できれば完璧。http://www.itu.int/rec/T-REC-H.264/e
改訂版 H.264/AVC 教科書 赤本。規格書の前か、併せて読むと良い。
Thank you!!