2008年11月17日

KTAソフトウェアに関して

修正して、再喝。 こっそり覗かせていただいているタンタン的思考さんがKTAについて記事にしていたので私も一言。Beyond H.264 (H.265に取り込まれるかもしれない)の技術が盛り込まれているKTAソフトウェア、核の部分はJMで作ってあって(だからコードが汚い)、ほとんどJMと同じ感覚で使える。今回はその次世代符号化の要素技術候補で符号化効率の改善に大きく寄与している、「適応予測誤差符号化(APEC)」について述べたいと思う。 この技術は、他の技術に比べてかなりインパクトがある。手元の資料だと低解像度(低ビットレート)では平均して8%くらい、高解像度(高ビットレート)では平均して3%くらい符号化効率の改善が見られる。効果もインパクトがあるのだが、もっとインパクトがあるのはそのシンプルなアルゴリズム。具体的にどういったことをやっているかというと、今までイントラ/動き補償予測をした後にDCT・量子化(周波数領域符号化)をしていたのをそのまま量子化するモード(空間領域符号化)も追加してブロック毎に切り替える、というものだ。また、空間領域符号化では係数のスキャン順をジグザグじゃなくてLine by line scanというものを使っている。これはその行の最後までスキャンしたら次の行の先頭に戻るという、いわゆる順次スキャンである。 この方法で効果があるというのは、DCT(DCT-II)は1次AR過程でモデル化される自然画像に対して準最適な変換であるから、1次AR過程でモデル化できなそうな予測誤差に対してDCTをやっても効果が薄いということをあらわしている結果だと思う。これをやると結構な数のマクロブロックで空間領域符号化が選択される。エンコーダはモードが増えてモードを選択する手間が増えるが、デコーダ側ではDCTをやらなくなるから演算量も削減できて個人的にとても期待している技術だ。他の予測関連の技術の性能が向上したら将来は、基本は空間領域符号化で、予測でとりきれない相関があるマクロブロックだけ周波数領域符号化というアルゴリズムもあり得る。 「予測誤差に対してDCTは効果があるのか」という問題に関しては私自身も前から思っていたのだが、そこから「予測誤差に対して最適な変換はないのか」ばかり考えていて、「予測誤差をそのまま量子化する」という発想には至らなかった。なのでこの技術を見つけたときはすごい悔しかった。最近の情報では、NHK研究所が今までのDCT、検討中のAPECに替えて、DCT/DSTを提案しているようだ。しかし、復号側の処理が軽くなるAPECがやはり個人的には好きなので、H.265では是非採用して欲しい。