トップ 検索 一覧 ヘルプ RSS ログイン

HEVC(H.265/HVC)の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
このページの全ては誤っているかもしれません。[[x264関連の記事に関して]]を読んでください。

!!!HEVC(H.265/HVC)

猫科研究所ではMPEG-4 Part10 AVC / H.264(所謂H.264/AVC)関連の記事が増えてきているが、この記事では'''HEVC (High Efficiency Video Coding)'''、または''H.265/HVC''と呼ばれる次世代の映像圧縮技術を紹介する。
現在のところまだ正式に規格としてリリースされておらず、''検討中のもの''であるため、時間と共に大きく変わる可能性がある点はご了承いただきたい。
このため、テクニカルな記事というより''興味本位の読み物''と思ってほしい。

2010年現在、このHEVCはH.265と呼ぶべきなのかどうかも微妙だ。
そもそもH.265という名前はITU-Tで勧告後に正式決定するはずのものであって、勧告前にどう呼ぶべきかは難しい。
そのため''H.NGVC (Next-generation Video Coding)''という呼称も使われていたのだが…。
一方でH.264/AVCのAVCの側であるMPEGでも次世代の映像圧縮技術が検討されており、こちらは''HVC (High-performance Video Coding)''と呼ばれていた。
2010年の1月に、両者はH.264/AVCと同様に協力して推進されることが決まり、同年4月の会合でHEVCと呼ばれることになったようだ。

元々H.265を紹介していた[Vcodex|http://www.vcodex.com/h265.html]によれば、2010年中にモデル的なリファレンスコーデックが開発され、2011-2012年にドラフト作成、2012-2013年に勧告される予定となっている(HVCとの統合前と同じ)。

ひとまず、[英語版WikipediaのHigh Efficiency Video Codingのページ|http://en.wikipedia.org/wiki/High_Efficiency_Video_Coding]から概要を抜き出してみよう。
Wikipediaかよ、という意見はあるかと思うが所詮読み物なのでご勘弁を。

!!!英語版Wikipediaの抜粋&和訳

High Efficiency Video Codingとは、H.264/AVCの後継で、ISO/IECのMPEGとITU-TのVCEGの共同チーム(JCT-VC:Joint Collaborative Team on Video Coding)が開発中の映像圧縮の規格である。
HEVCはAVCのHigh Profileと比較して大幅に符号化効率を向上することを目指しており、計算複雑性の増加と引き換えに''ビットレートを半減できる見込み''になっている。
また、HEVCはQVGA(320x240)から1080pやスーパーハイビジョンまでのプログレッシブ表示のHDTVを照準としており、色範囲やダイナミックレンジ、ノイズレベル等の品質面の向上も目指している。

!!機能

(訳注:どれも、採用が確定しているわけではないので注意。2010年10月中にある程度決まると思われる。)

!現在ある機能を修正・向上するもの。
::adaptive loop filter (ALF)
:::適応的ループフィルタ。
::extended macroblock size (EMS)
:::拡張マクロブロックサイズ。
::larger transform size (LTS)
:::大サイズ変換(訳注:DCT等の変換)。
::internal bit depth increasing (IBDI)
:::内部ビット深度増加。
::adaptive quantization matrix selection (AQMS)
:::適応的量子化マトリックス選択。

!新しい機能。
::modified intra prediction
:::変形intra予測。
::modified de-block filter
:::変形デブロックフィルタ。
::decoder-side motion vector derivation
:::デコード時動きベクタ導出。

!その他提案されているもの。
::2-D non-separable adaptive interpolation filter (AIF)
:::2次元・分割不能・適応的補完フィルタ。
::Separable AIF
:::分割可能AIF。
::Directional AIF
:::指向性AIF。
::"Supermacroblock" structure up to 64x64 with additional transforms
:::最大64x64までのスーパーマクロブロック構造と追加の変換(訳注:DCT等の変換)。
::Adaptive prediction error coding (APEC) in spatial and frequency domain
:::空間・周波数領域での適応的予測エラー符号化。
::Competition-based scheme for motion vector selection and coding
:::動きベクタ選択と符号化に対する競争ベースのスキーム(計画法)。
::Mode-dependent KLT for intra coding
:::イントラ符号化に対するモード依存型KLT。

これらはマルチパスエンコードで最も効果が高いと考えられている。

!!歴史

ITU-TのVCEGは2004年頃にH.264の後継ともなりうる新しいコーデックの規格を考え始め、
2004年10月には様々なH.264に対する潜在的改良技術が俯瞰されていた。
2005年1月にVCEGはさらなる調査のため、KTA (Key Technical Area)というトピックを立て、その評価のためにH.264/AVCのJoint Model (JM)をベースのKTAコードベースが作成された。
その後の4年間、新たに提案された技術はこれに統合され、テスト・評価された。

NGVCの主な要求仕様は、H.264/AVC High Profileと同等の主観的画質の場合で、1/2〜3倍程度の計算複雑性と50%のビットレート削減であった。
これに対し、''25%のビットレート削減と50%の計算複雑性の削減''が見込まれた。

全く新しい規格と、H.264/AVCの改良という2つのアプローチが考慮され、2010年にHEVCへと展開するまでH.265またはH.NGVCという仮の名を与えられていた。H.265という名は新規格を窺わせる名前であった。
しかし、2009年の早期には目標に関して幾らかの合意が為されたものの、全てはH.264/AVCの設計をベースとしたものであった。

一方ISO/IECのMPEGは同様のプロジェクトを2007年に開始し、仮にHVCと名付けた。
初期の評価はKTAをベースに行われ、2009年の7月にはH.264/AVC High Profileに対し20%のビットレート削減が示された。
この結果を受けてMPEGはVCEGとの協調に傾いた。

2010年1月にVCEGとMPEGは正式に共同での提案の募集(CfP: Call for Proposals)をした。
2010年4月に行われた評価には、27もの提案が集まった。
H.264/AVC High Profileに比べ、いくつかの提案は約半分のビットレートを、2〜10倍程度の計算複雑性で実現すること、そしてまたいくつかの提案が、より低い計算複雑性で良好なビットレートと主観的画質を達成することを示した。
2010年7月と10月には、これらの結果から1つの規格を作るべく、JCT-VCの会合が行われている。

!!!英語版Wikipediaからわかること

まず、取り敢えず名称に付いては、H.265と呼ぶよりは''HEVCと呼ぶ方が良い状況''にある。
H.264/AVCと同じくISO/IECとITUの共同策定となる運びである。
そして、どうやらJMを改良したKTAベースとなる方向性であり、H.264'''+'''的な色彩が濃い。
様々な提案方式が検証され、実際にビットレートを数十%レベルで削減するような、良い成績が出ているようだ。
ちなみにKTAはその発祥が古いため、JM11ベースであり、最新のH.264/AVCのリファレンスコードをベースにしているわけでは無い点に注意。

機能的に猫科研究所で分かるのは…
*マクロブロックやDCTのサイズの選択肢が増え、より最適なパターンを探れること。
*ビット深度が増加し表現力が増す(ノイズが少なく鮮やかになる)こと。
*量子化マトリックスが適応的に変更可能になり、視覚心理最適化が図れること。
*イントラ符号化がより効率よくなりそう(圧縮率向上)なこと。
*デブロックが改良された(恐らくは視覚的により最適なもの)こと。
*動きベクタの予測に改良が入る(圧縮率向上)こと。
といったところ。

実際には提案されている色々な要素の中から取捨選択されるので、採用されるものもあれば無くなるものもあるだろう。
実際、当初H.NGVCに向けて考案されていた1/8ピクセル単位の動き補償はなくなったらしい。

そして今現在、採用する機能を決定する段階にあり、これが終了すればいよいよ「お試し版」のリファレンス実装がなされる。
その後、リファレンス実装で判明するであろう諸事情を踏まえて、ドラフトの規格書が書かれていくことになる。

!!!その他の情報源

英語版Wikipedia以外の情報源のメモ。

!!各論

空間・周波数領域での適応的予測エラー符号化(APEC)に関しては、どうやら[hiki blog: KTAソフトウェアに関して|http://mhiki.blogspot.com/2008/11/kta.html]で語られている、動き補償などによって差分を得た後に''DCTをかけない''方式を指すようだ。
つまり、これまで周波数領域でのみ行っていた処理に対し、空間領域のままの方が良さそうならそっちで符号化しようということらしい。
確かに、高精度な動き補償によってある程度PCMが単純化しているのであれば、そこに量子化なり差分予測(ADPCM)的な変換をかけてもよいのかもしれない。

KLTは画像の特徴点の移動を追う、つまりMV検索に使用できるアルゴリズムのことで、既にその理論は[MPEGにも使用されている|http://journal.mycom.co.jp/series/interview/178/index.html]らしい。実装も[KLT: Kanade-Lucas-Tomasi Feature Tracker|http://www.ces.clemson.edu/~stb/klt/]でソースコードがパブリックドメインに付されている。これをintra符号化にどう使用するのかは追ってない。

その他、一部は[h265.net|http://www.h265.net/]でも解説されているので、英語が読めるなら読んでみるのも面白いだろう。例えば[AIFの解説記事|http://www.h265.net/2010/07/adaptive-interpolation-filter-for-video-coding.html]や[2010年4月のドレスデン会合のまとめ|http://www.h265.net/2010/06/the-first-jct-vc-meeting-dresden-de.html]は興味深い。

!!日立の提案

この[[記事の前身|H.265]]で、CEATEC2009で日立がH.264の3倍の圧縮効率を持つ映像符号化方式を開発したと発表し、これを[H.265に提案した|http://www.nikkeibp.co.jp/it/article/NEWS/20091007/338536/]という件を紹介した。
この時筆者は''「縮小」''という用語に反応してしまい、ウェーブレット関連かと推測したのだが…筆者の予想は外れたようだ。

どうやら日立が「縮小」と呼んでいるのはウェーブレット的な意味合いのものというより、純粋な縮小で、これを所謂''「超解像技術」で「補完する」''ものらしい。
そして上記の機能リストの中のAIF(日立はEnhanced Adaptive Interpolation Filter (EAIF)と呼んでいるので多少違いがあるかも)が、これに相当しそうだ。
超解像技術自体に詳しくないのでこれ以上の言及は避けるが、日立の方がこの記事の前身を読んでいたら、「ばかだなぁ」と笑われていたことだろう。

あくまで補完技術がベースにあるというのは、個人的に何か納得が行かないのだが、検証の結果として効果は高いらしい。
ただし、計算複雑性はエンコーダ側もデコーダ側もそれなりに上がりそうだ。

!!三菱の提案

CEATECのニュース報道として、三菱がプレゼンテーションを行っていたことが報道されている([ファイル・ウェブ|http://www.phileweb.com/news/d-av/201010/06/27008.html])([インプレス|http://av.watch.impress.co.jp/docs/news/20101005_398226.html])が、記事に書かれている説明がどうも要領を得ない。

スーパーマクロブロックや変換ブロックサイズの追加に言及しているものと思われるが、H.264もパーティションという形で動き予測の単位は可変であるし、FRExt(High Profile)でわざわざ追加されたように、DCTのブロックサイズも一応可変である。

少し調べてみたところ、三菱の提案は細かな改善が多く、その中で大きなもの(''素人にも説明しやすそうなもの'')が「各種ブロックサイズの柔軟性」になりそうだ。
細かなツールの改善を積み重ねるというのは、ある意味''正統なH.264/AVCの進化系''ではあるのだが、その分パッとしないのは仕方ないところか。

他にもDirect-MVの改善など、コツコツと積み重ねる堅実な内容となっている。
既存の機能の拡張が多いため、計算複雑性の増加も知れているだろう。
他の提案とも共存しやすく、多くの部分の採用可能性は高いように思われる。

!!JCT-VC

ニュースリリースに出た上記ふたつは個別に言及したが、それ以外の方式もJCT-VCに提案されたものに関するファイルは[ITUのサイト|http://wftp3.itu.int/av-arch/jctvc-site/](もちろん英語)にある。

筆者自身は、一つ一つを吟味するには時間も技術も足りないが、企業名を眺めるだけでも、ほほぅ、と思える。例えば2010年4月のドレスデンでの会合の資料にはCfP responseがあるが、そこには以下のような名前が並ぶ。

*Texas Instruments
*''Hitachi''
*''Sony''
*''NEC''
*''Sharp''
*''Intel''
*''Mitsubishi Electric''
*''JVC Kenwood''
*Mediatek
*LG Electronics
*Huawei Technologies and Hisilicon Technologies
*RWTH Aachen University
*SK telecom, Sejong University and Sungkyunkwan University
*France Telecom, ''NTT'', ''NTT DoCoMo'', ''Panasonic'' and Technicolor
*''Fujitsu''
*Fraunhofer HHI
*''Toshiba''
*''Microsoft'' (and the University of Science and Technology of China)
*Tandberg, Nokia, and Ericsson
*Research in Motion
*Qualcomm
*''NHK'' and ''Mitsubishi''
*National Chiao Tung University (NCTU)
*Samsung (and BBC)
*BBC (and Samsung)
*''Renesas''
*Electronics and Telecommunications Research Institute (ETRI)

世界の名だたる企業たちの中で、日本の電機メーカーは結構頑張って割り込んでいるように見えるが、どうだろうか。
また、NokiaやQualcomm等の携帯電話に関連の強い会社が入っているのも注目だ。Level 1bのような醜い後付けは是非繰り返さないで欲しい。

なお、技術的な内容というより人・団体の動きとしては、[<MPEG標準動向レポート>第1回:H.264/AVCの後継規格「H.265/HVC」を標準化へ | WBB Forum|http://wbb.forum.impressrd.jp/feature/20100405/791]が詳しい。

!!まとめ

H.265という名前の方が通りが良いが、次世代映像圧縮技術の名前はMPEGと共同で、''HEVC''と名付けられている。
内容的には最低限H.264+的なものになるだろう。
恐らくはMPEG-4 Part2 Video(xvidやDivX)に対するH.264/AVCくらいの進化は期待できそうだ。

2004年から始まったにも関わらず、どうにも歩みの遅かったH.NGVCだが、JCT-VCも発足してなんとか進み始めた。
リファレンス実装が完成すれば、その性能は大まかに実証されることになる。
どの提案が採用されるかも含め、これからの動向は非常に興味深いところだ。