説明

画像復号装置、画像復号方法、プログラム及び画像符号化装置

【課題】輝度信号が分割されても色差信号を分割せずに変換処理を行うことを許容することで、符号化効率の向上を図ること。
【解決手段】画像を複数の符号化ブロックに分割し、符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像符号化されたデータを取得し、データに含まれる変換ブロックの分割回数情報を復号する分割回数情報復号部と符号化ブロックが最大サイズであり、かつ変換ブロックの分割回数が0である場合、輝度信号に対する変換ブロックの分割回数を1に設定する回数制御部と、輝度信号及び色差信号に対する変換ブロックの分割回数に基づいて、直交変換係数の復号処理を行う復号部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像をブロック状の小領域に分割して符号化を行うブロックベース符号化を行う画像復号装置、画像復号方法、プログラム及び画像符号化装置に関する。
【背景技術】
【0002】
近年マルチメディア化が進み、動画像を扱う機会が多くなってきている。画像データは情報量が大きく、静止画像の集合である動画像は、テレビ放送の主流であるハイビジョン(1920×1080)放送で1Gbit/secを超える情報量である。
【0003】
そのため、動画像データは、H.264/AVC(Advanced Video Coding)や規格化作業中のHEVC(High Efficiency Video Coding)などに代表される符号化標準技術によって、情報量を圧縮して伝送・蓄積が行われている。
【0004】
MPEG(Moving Picture Experts Group)に代表される符号化方式では映像信号を符号化の最小単位であるマクロブロックと呼ばれる小ブロックに分割してブロックごとに符号化を行う。
【0005】
映像信号は、一般的に輝度信号と2つの色差信号とによって構成され、局所的にそれぞれに相関をもつ。そのため、符号化方式では、符号化のブロック境界がそれぞれのコンポーネント信号における同一の内容を含む領域で分割し、符号化を行っている。例えば、輝度信号と色差信号とが同じ解像度である4:4:4フォーマットであれば、輝度及び色差ともに同じ大きさ、同じ位置でブロック分割が行われる。
【0006】
しかし、例えば、輝度信号と色差信号との解像度が異なるフォーマットである4:2:0の場合、画面内の同じ相対位置でブロック分割を行うため、色差信号は縦、横の画素数が輝度信号に対して半分のブロックサイズで分割を行う。
【0007】
ここで、現在規格化がすすめられているHEVCでは、色差信号の分割サイズについて、輝度のサイズに連動して決定している。ただし、最低ブロックサイズの制限により、輝度の4×4のブロックに対し、色差の2×2のブロックが生成できないため、輝度の8×8のブロックに対応して色差の4×4のブロックが選択される。
【0008】
図1は、輝度の分割例を示す図である。図1に示すように、輝度信号は、例えば、32×32、16×16、8×8、4×4に分割される。
【0009】
図2は、色差の分割例を示す図である。図2に示すように、色差信号は、例えば、16×16、8×8、4×4に分割される。
【0010】
また、MPEG−2やH.264/AVCでは、マクロブロックのサイズが、輝度の場合は8×8に対し、色差の場合は4×4である。よって、従来の符号化技術では、一般的に輝度と色差とのサイズを連動させて符号化している。
【0011】
また、HEVCでは、従来の符号化技術のように画面を左上から符号化単位であるブロック状に単純に分割するのではなく、新たに階層分割を採用し、複数階層のブロック分割を可能とする。また、複数のブロックに分割された符号化単位は、CU(Coding Unit)や符号化ブロックとも呼ぶ。
【0012】
また、HEVCでは、予測誤差信号を効率的に表現するため、CUを階層分割し、変換単位に分けることができる。変換単位は、TU(Transform Unit)や変換ブロックとも呼ぶ。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】B.Bross,「JCTVC-F805 WD4: Woking Draft 4 of High-Efficiency Video Coding」, Torino Meeting, 8 October, 2011
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、一般的に輝度信号に比べ色差信号の信号変動は小さいため、色差信号をより大きなサイズで領域分割した方が、符号化効率がよいことがある。現在規格化が行われているHEVCでは、輝度の最大の符号化ブロック(CU)は64×64、変換ブロック(TU)は32×32、色差の最大CUサイズは32×32、TUは16×16と設定して検討が行われている。
【0015】
変換ブロックの最大サイズが32×32であるため、符号化装置は32×32の変換処理を備えており、輝度信号の場合にのみ、この変換処理が利用される。
【0016】
また、HEVCでは、階層分割を採用しており、TUはCUと同じサイズを最大サイズとして、現在の検討では3階層の4分木分割により最適なサイズを選択している。CUが最大サイズ64×64の場合、本来第0階層では64×64のTUが選択されるべきであるが、64×64の二次元直交変換は処理量の問題から採用されていない。そのため、第0階層はスキップして第1階層(輝度のTUサイズ32×32、色差のTUサイズ16×16)から分割が行われる。
【0017】
図3は、第0階層のスキップを説明するための図である。図3に示す例では、CUが最大サイズ(64×64)であれば、第0階層はスキップして、第1階層(TU depth=1)から分割が行われる。従って、従来技術では、色差信号において、符号化効率がよいと考えられる大きなサイズで変換処理を行うことができないという問題点があった。
【0018】
そこで、本発明は上記問題点に鑑みてなされたものであり、輝度信号が分割されても色差信号を分割せずに変換処理を行うことを許容することで、符号化効率の向上を図ることができる画像復号装置、画像復号方法、プログラム及び画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【0019】
本発明の一態様における画像復号装置は、画像を複数の符号化ブロックに分割し、前記符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像符号化されたデータを取得し、該データに含まれる前記変換ブロックの分割回数情報を復号する分割回数情報復号部と、前記符号化ブロックが最大サイズであり、かつ前記変換ブロックの分割回数が0である場合、輝度信号に対する前記変換ブロックの分割回数を1に設定する回数制御部と、前記輝度信号及び前記色差信号に対する前記変換ブロックの分割回数に基づいて、直交変換係数の復号処理を行う復号部と、を備える。
【0020】
また、前記最大サイズは64×64であり、分割回数が0である場合の前記色差信号に対する前記変換ブロックのサイズは、32×32であり、分割回数が1である場合の前記輝度信号に対する前記変換ブロックのサイズは、32×32であってもよい。
【0021】
また、他の態様における画像復号方法は、画像を複数の符号化ブロックに分割し、前記符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像符号化されたデータを取得し、該データに含まれる前記変換ブロックの分割回数情報を復号する分割回数情報復号ステップと、前記符号化ブロックが最大サイズであり、かつ前記変換ブロックの分割回数が0である場合、輝度信号に対する前記変換ブロックの分割回数を1に設定する回数制御ステップと、前記輝度信号及び前記色差信号に対する前記変換ブロックの分割回数に基づいて、直交変換係数の復号処理を行う復号ステップと、を有する。
【0022】
また、他の態様におけるプログラムは、画像を複数の符号化ブロックに分割し、前記符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像符号化されたデータを取得し、該データに含まれる前記変換ブロックの分割回数情報を復号する分割回数情報復号ステップと、前記符号化ブロックが最大サイズであり、かつ前記変換ブロックの分割回数が0である場合、輝度信号に対する前記変換ブロックの分割回数を1に設定する回数制御ステップと、前記輝度信号及び前記色差信号に対する前記変換ブロックの分割回数に基づいて、直交変換係数の復号処理を行う復号ステップと、をコンピュータに実行させる
また、他の態様における画像符号化装置は、画像を複数の符号化ブロックに分割し、前記符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像を符号化する画像符号化装置であって、前記符号化ブロックが最大サイズである場合、輝度信号に対する前記変換ブロックの分割回数を前記色差信号に対する前記変換ブロックの分割回数よりも1つ多く制御する分割制御部と、前記輝度信号及び前記色差信号に対する変換ブロックの分割回数により決定されるサイズで、直交変換処理を行う変換部と、を備える。
【発明の効果】
【0023】
本発明によれば、輝度信号が分割されても色差信号を分割せずに変換処理を行うことを許容することで、符号化効率の向上を図ることができる。
【図面の簡単な説明】
【0024】
【図1】輝度の分割例を示す図。
【図2】色差の分割例を示す図。
【図3】第0階層のスキップを説明するための図。
【図4】第0階層を有効にした階層分割を説明するための図。
【図5】実施例1における画像符号化装置の概略構成の一例を示すブロック図。
【図6】直交変換部の構成の一例を示すブロック図。
【図7】インターTUの分割決定処理の一例を示すフローチャート。
【図8】Cbfの格納イメージを示す図。
【図9】直交変換係数の格納イメージを示す図。
【図10】各クラスの解像度の映像に対し、各符号化コンディションで符号化した場合の符号化結果を示す図。
【図11】実施例2における画像復号装置の概略構成の一例を示すブロック図。
【図12】エントロピー復号部の構成の一例を示すブロック図。
【図13】分割回数制御を行って復号する処理の一例を示すフローチャート。
【図14】実施例3における画像処理装置の構成の一例を示すブロック図。
【発明を実施するための形態】
【0025】
まず、以下に説明する各実施例の前提となる階層分割について説明する。図4は、第0階層を有効にした階層分割を説明するための図である。図4に示す例では、CUが最大ブロック(64×64)であるとき、第0階層(Additional mode TU depth=0)を有効にし、色差のTUサイズ32×32を選択可能にしている。
【0026】
前述した通り、第0階層は、輝度の64×64直交変換が実装されていないためにスキップされる。しかし、第0階層の色差信号は32×32であり、32×32直交変換はすでに輝度の符号化のために実装されている。そこで、実施例では、次のようにして第0階層を有効にする。
・輝度に関しては64×64直交変換がないため、第0階層での符号化を示す場合、暗黙的に第1階層で分割を行う
・色差に関しては32×32直交変換を行う
上記を実現するために、第0階層における分割を示すフラグsplit_transform_flagと、分割した4ブロックの符号化、非符号化を示すCbf(Coded block flag)とを追加する。
【0027】
なお、どの階層で符号化を実施するかは、各階層において発生符号量と符号化歪量をもとに算出されるRDコストの比較によって決定される。RDコストの算出方法は、例えば非特許文献(G.J. Sullivan, T. Wiegand, "Rate-distortion optimization for video compression," IEEE Signal Processing Magazine, pp. 74-90, Vol. 15 , No. 6, 1998)を参照されたい。また、画像は、動画像(映像)を含む。
【0028】
以上の階層分割に基づく各実施例について、以下、添付図面を参照しながら詳細に説明する。なお、各実施例は、輝度信号と色差信号との解像度が異なるフォーマットであることを想定する。
【0029】
[実施例1]
<構成>
図5は、実施例1における画像符号化装置10の概略構成の一例を示すブロック図である。図5に示す例では、画像符号化装置10は、前処理部100、予測誤差信号生成部101、直交変換部102、量子化部103、エントロピー符号化部104、逆量子化部105、逆直交変換部106、復号画像生成部107、デブロッキングフィルタ部108、ループフィルタ部109、復号画像記憶部110、イントラ予測部111、インター予測部112、動きベクトル計算部113、符号化制御及びヘッダ生成部114及び予測画像選択部115を有する。各部についての概略を以下に説明する。
【0030】
前処理部100は、ピクチャタイプに合わせてピクチャを並べ替え、ピクチャタイプ及びフレームごとのフレーム画像等を順次出力する。また、前処理部100は、符号化のためのブロック分割なども行う。
【0031】
予測誤差信号生成部101は、入力された動画像データの符号化対象画像が、例えば32×32、16×16、8×8画素などのブロックに分割されたブロックデータを取得する。
【0032】
予測誤差信号生成部101は、そのブロックデータと、予測画像選択部115から出力される予測画像のブロックデータとにより、予測誤差信号を生成する。予測誤差信号生成部101は、生成された予測誤差信号を直交変換部102に出力する。
【0033】
直交変換部102は、入力された予測誤差信号を直交変換処理する。直交変換部102は、例えば、輝度信号、色差信号に対して同様に分割するのではなく、輝度信号を分割しても、色差信号を分割しないよう制御して直交変換することができる。これにより、輝度信号のブロックに対応する領域よりも大きな領域の色差信号で直交変換をすることができる。直交変換部102の詳細は、図6を用いて後述する。直交変換部102は、直交変換処理によって水平及び垂直方向の周波数成分に分離された信号を量子化部103に出力する。
【0034】
量子化部103は、直交変換部102からの出力信号を量子化する。量子化部103は、量子化することによって出力信号の符号量を低減し、この出力信号をエントロピー符号化部104及び逆量子化部105に出力する。また、量子化部103は、RDコスト計算のために量子化後の信号を直交変換部102に出力する。
【0035】
エントロピー符号化部104は、量子化部103からの出力信号や動きベクトル計算部113から出力された動きベクトル情報やループフィルタ部109からのフィルタ係数などをエントロピー符号化して出力する。エントロピー符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる方式をいう。
【0036】
逆量子化部105は、量子化部103からの出力信号を逆量子化してから逆直交変換部106に出力する。逆直交変換部106は、逆量子化部105からの出力信号を逆直交変換処理してから復号画像生成部107に出力する。これら逆量子化部105及び逆直交変換部106によって復号処理が行われることにより、符号化前の予測誤差信号と同程度の信号が得られる。逆直交変換部106は、RDコスト計算のために逆直交変換した信号を直交変換部102に出力する。
【0037】
復号画像生成部107は、インター予測部112で動き補償された画像のブロックデータと、逆量子化部105及び逆直交変換部106により復号処理された予測誤差信号とを加算する。復号画像生成部107は、加算して生成した復号画像のブロックデータを、デブロッキングフィルタ部108に出力する。
【0038】
デブロッキングフィルタ部108は、復号画像生成部107から出力された復号画像に対し、ブロック歪を低減するためのフィルタをかけ、ループフィルタ部109に出力する。
【0039】
ループフィルタ部109は、例えばALF(Adaptive Loop Filter)であり、デブロッキングフィルタ処理された復号画像と、入力画像とを用いてフィルタ処理を行う。フィルタ処理は、例えばウィナーフィルタ(Wiener Filter)が用いられるが、その他のフィルタでも良い。
【0040】
また、ループフィルタ部109は、入力画像を所定サイズ毎のグループに分け、グループ毎に適切なフィルタ係数を生成する。ループフィルタ部109は、デブロッキングフィルタ処理された復号画像を、所定サイズ毎にグループ分けし、生成したフィルタ係数を用いてグループ毎にフィルタ処理を行う。ループフィルタ部109は、フィルタ処理結果を復号画像記憶部110に出力し、参照画像として蓄積させる。所定サイズは、例えば、直交変換サイズである。
【0041】
復号画像記憶部110は、入力した復号画像のブロックデータを新たな参照画像のデータとして記憶し、イントラ予測部111、インター予測部112及び動きベクトル計算部113に出力する。
【0042】
イントラ予測部111は、符号化対象画像の処理対象ブロックに対して、すでに符号化された参照画素から予測画像を生成する。イントラ予測部111は、複数の予測方向を用いて予測を行い、最適な予測方向を決定する。
【0043】
インター予測部112は、復号画像記憶部110から取得した参照画像のデータを動きベクトル計算部113から提供される動きベクトルで動き補償する。これにより、動き補償された参照画像としてのブロックデータが生成される。
【0044】
動きベクトル計算部113は、符号化対象画像におけるブロックデータと、復号画像記憶部110から取得する参照画像とを用いて、動きベクトルを求める。動きベクトルとは、ブロック単位で参照画像内から処理対象ブロックに最も類似している位置を探索するブロックマッチング技術を用いて求められるブロック単位の空間的なずれを示す値である。
【0045】
動きベクトル計算部113は、求めた動きベクトルをインター予測部112に出力し、動きベクトルや参照画像を示す情報を含む動きベクトル情報をエントロピー符号化部104に出力する。
【0046】
イントラ予測部111とインター予測部112から出力されたブロックデータは、予測画像選択部115に入力される。
【0047】
予測画像選択部115は、イントラ予測部111とインター予測部112から取得したブロックデータのうち、どちらか一方のブロックデータを予測画像として選択する。選択された予測画像は、予測誤差信号生成部101に出力される。
【0048】
また、符号化制御及びヘッダ生成部114は、符号化の全体制御とヘッダ生成を行う。符号化制御及びヘッダ生成部114は、イントラ予測部111に対して、スライス分割有無の通知、デブロッキングフィルタ部108に対して、デブロッキングフィルタ有無の通知、動きベクトル計算部113に対して参照画像の制限通知などを行う。
【0049】
符号化制御及びヘッダ生成部114は、その制御結果を用いて、ヘッダ情報を生成する。生成されたヘッダ情報は、エントロピー符号化部104に出力され、画像データ、動きベクトルデータとともにストリームとして出力される。
【0050】
画像符号化装置10の上記構成はあくまでも一例であり、実装の仕方によって構成を変更してもよく、例えば複数の部をまとめて構成してもよい。
【0051】
<直交変換部の構成>
次に、直交変換部102の構成について説明する。図6は、直交変換部102の構成の一例を示すブロック図である。図6に示す直交変換部102は、分割制御部201、変換部202、コスト計算部203、分割決定部204を有する。
【0052】
分割制御部201は、輝度信号及び色差信号に対して、階層分割のブロック分割を制御する。ここで、分割制御部201は、CUが最大サイズ(64×64)の場合、第0階層を有効にする。分割制御部201は、例えば、輝度信号に対しては32×32の4つのブロックに分割し、色差信号に対しては32×32のブロックのままに制御する。分割制御部201は、例えばCUが最大サイズではない場合や、CUが最大サイズの場合で第1階層以上の場合、輝度と色差とを連動させて分割するよう制御する。
【0053】
変換部202は、分割制御部201により制御された分割のブロックサイズで直交変換処理を行う。変換部202は、直交変換後の信号を量子化部103に出力する。
【0054】
コスト計算部203は、分割制御部201により制御された分割階層に対し、RDコストを計算する。コスト計算部203は、例えば各階層における発生符号量と、符号化歪量とを用いてRDコストを計算する。発生符号量は、量子化部103から取得した信号に基づき計算され、符号化歪量は、逆直交変換部106から取得した信号に基づき計算される。
【0055】
分割決定部204は、コスト計算部203により計算されたRDコストに基づいて階層分割を行うか否かを決定する。決定された階層分割の情報は、エントロピー符号化部104に出力され、ビットストリームに含まれる。これにより、エントロピー符号化部104は、決定された階層に基づいて量子化信号をエントロピー符号化する。
【0056】
なお、直交変換部102は、インター予測の場合の予測誤差信号、イントラ予測の場合の予測誤差信号に対して同様の処理を行ってもよいし、イントラ予測の場合には、輝度信号のみに基づいてTU分割を決定するようにしてもよい。直交変換部102は、輝度信号のみに基づいてTU分割を決める際、第0階層にするか第1階層にするかは、split_transform_flagを含むヘッダのビット量に基づいて決定すればよい。
【0057】
以上の構成を有することで、色差信号に対して比較的大きなサイズ(例えば32×32)で直交変換処理を行うことができ、符号化効率の向上を図ることができる。
【0058】
<動作>
次に、実施例1における画像符号化装置10の動作について説明する。図7は、インターTUの分割決定処理の一例を示すフローチャートである。図7に示す処理は、インター予測における変換ブロックの分割決定処理を示す。
【0059】
図7に示すステップS101で、分割制御部201は、CUのサイズが64×64、かつRQT階層が0(分割回数0)であるか否かを判定する。この条件が満たされればuiPartが0に設定されて(ステップS101−YES)ステップS102に進み、この条件が満たされなければ(ステップS101−NO)ステップS104に進む。uiPartは、処理したブロック数を示す変数である。
【0060】
ステップS102で、分割制御部201は、uiPartが4未満であるか否かを判定する。uiPartが4未満であれば(ステップS102−YES)ステップS103に進み、uiPartが4以上であれば(ステップS102−NO)ステップS105に進む。
【0061】
ステップS103で、分割制御部201は、uiPartに1を加算する。変換部202、量子化部103は、輝度信号に対して32×32サイズで直交変換、量子化処理を行う。ステップS103の処理が終わるとステップS102の処理に戻る。
【0062】
ステップS104で、変換部202、量子化部103は、所定サイズの輝度信号に対して、直交変換、量子化処理を行う。
【0063】
ステップS105で、変換部202、量子化部103は、所定サイズの色差信号に対して、直交変換、量子化処理を行う。
【0064】
ステップS106で、分割制御部201は、CUのサイズが64×64、かつRQT階層が0(分割回数0)であるか否かを判定する。この条件が満たされればuiPartが0に設定されて(ステップS106−YES)ステップS107に進み、この条件が満たされなければ(ステップS106−NO)ステップS109に進む。
【0065】
ステップS107で、分割制御部201は、uiPartが4未満であるか否かを判定する。uiPartが4未満であれば(ステップS107−YES)ステップS108に進み、uiPartが4以上であれば(ステップS107−NO)ステップS110に進む。
【0066】
ステップS108で、分割制御部201は、uiPartに1を加算する。コスト計算部203は、輝度信号に対して32×32サイズで直交変換係数のビットコスト計算を行う。ステップS108の処理が終わるとステップS107の処理に戻る。
【0067】
ステップS109で、コスト計算部203は、所定サイズの輝度信号に対して、直交変換係数のビットコスト計算を行う。
【0068】
ステップS110で、コスト計算部203は、所定サイズの色差信号に対して、直交変換係数のビットコスト計算を行う。
【0069】
ステップS111で、分割制御部201は、CUのサイズが64×64、かつRQT階層が0(分割回数0)であるか否かを判定する。この条件が満たされればuiPartが0に設定されて(ステップS111−YES)ステップS112に進み、この条件が満たされなければ(ステップS111−NO)ステップS114に進む。
【0070】
ステップS112で、分割制御部201は、uiPartが4未満であるか否かを判定する。uiPartが4未満であれば(ステップS112−YES)ステップS113に進み、uiPartが4以上であれば(ステップS112−NO)ステップS115に進む。
【0071】
ステップS113で、分割制御部201は、uiPartに1を加算する。コスト計算部203は、輝度信号に対して32×32サイズで逆量子化、逆直交変換係数の有無比較を行い、符号化歪量を計算する。ステップS113の処理が終わるとステップS112の処理に戻る。
【0072】
ステップS114で、コスト計算部203は、所定サイズの輝度信号に対して、逆量子化・逆直交変換係数の有無比較を行い、符号化歪量を計算する。
【0073】
ステップS115で、コスト計算部203は、所定サイズの色差信号に対して、逆量子化・逆直交変換係数の有無比較を行い、符号化歪量を計算する。
【0074】
ステップS116で、コスト計算部203は、輝度・色差のRDコストの合計を計算する。ここで、分割決定部204は、uiPartを0に設定する。
【0075】
ステップS117で、分割決定部204は、uiPartが4未満であるか否かを判定する。uiPartが4未満であれば(ステップS117−YES)ステップS118に進み、uiPartが4以上であれば(ステップS117−NO)ステップS119に進む。
【0076】
ステップS118で、直交変換部102は、uiPartに1を加算し、RQT階層を1つ増やし(分割数を1つ増やし)、インターTUの分割決定処理(ステップS101以降の処理)を再帰的に行う。ステップS118の処理が終わるとステップS117に戻る。
【0077】
ステップS119で、分割決定部204は、分割時と、非分割時とのRDコストを比較し、RDコストが小さい方を選択して決定する。
【0078】
これにより、CUが64×64の場合に、第0階層を含めて分割階層を決定することができ、符号化効率の向上を図ることができる。
【0079】
なお、図7に示す処理は、インター予測の場合で説明したが、イントラ予測の場合に用いてもよい。また、イントラ予測の場合は、前述した通り、輝度信号のみに基づいてTU分割を決定するようにしてもよい。
【0080】
<データ格納>
次に、本実施例で、新たに発生する符号化情報の格納方法について説明する。格納された符号化情報はエントロピー符号化され伝送される。実施例では、輝度信号の符号化結果は、64×64直交変換が存在しないため、階層分割が1回相当で暗黙的に処理が行われる。しかし、処理としては、階層分割単位で行なわれるため、輝度及び色差ともに階層分割0回の符号化結果として新たに格納される。
【0081】
(1)Cbf
Cbfは、その階層における変換ブロック(TU)が符号化されるか、符号化されないかを示すフラグである。このブロックの情報伝達が必要ない場合、Cbfは0として何らの情報を送らないことを明示する。情報伝達が必要ない場合とは、例えば予測によって、信号が十分な品質を持って再構成できる場合などを示す。
【0082】
Cbfの値は、RQT階層分だけ、左へシフトしてブロックに対応する全てのuiAbsPartIdxに格納される。輝度信号のCbfは、次のようにして格納される。
pcCU->setCbfSubParts( uiCbf<<uiTrDepth, TEXT_LUMA, uiAbsPartSubIdx, uiDepth);
pcTU:TcomDataCUクラスのインスタンス
TcomDataCU:CUのパラメータを格納する配列
uiTrDepth:RQT階層(1)
uiAbsPartSubIdx:輝度信号を4分割したブロックのuiAbsPartIdx
uiAbsPartIdx:CU内のTUの絶対的な位置
uiDepth:CUの階層(0)+RQT階層(1)
setCbfSubPartsは、Cbfをメモリに格納する処理である。上記処理は、uiTrDepthやuiAbsPartSubIdxやuiDepthを調整することで各階層にCbfを格納する関数である。これにより、輝度信号は、RQT階層1、色差信号はRQT階層0として格納される。
【0083】
図8は、Cbfの格納イメージを示す図である。図8に示すように、輝度信号は、RQT階層1の4つのブロックにCbfが格納される。色差信号は、RQT階層0にCbfが格納される。
【0084】
TComDataCUのm_puhCbf[0], m_puhCbf[1], m_puhCbf[2]は、それぞれCbfを格納した配列である。これは、TU単位の符号化、もしくは非符号化の状態を示すフラグである。
【0085】
(2)RQT階層情報
TComDataCU::setTrIdxSubParts関数を用いてRQT階層に情報が格納される。C32TU(色差信号のサイズが32×32)の場合はRQT階層0なので、CU内のすべてのuiAbsPartIdxに0が格納される。
pcCU->setTrIdxSubParts( uiTrDepth, uiAbsPartIdx, uiDepth );
pcCU:TComDataCUクラスのインスタンス
uiTrDepth:RQT階層(0)
uiAbsPartIdx:0
uiDepth:CUの階層+RQT階層(0)
上記関数は、RQT階層情報を格納する処理を示している。階層0相当部分へ格納するかどうかは、uiTrDepth、uiAbsPartIdx、uiDepthの各変数の設定によって変化する。例えば、前述したuiAbsPartIdxに対応するブロックのRQTの情報を格納する配列にRQTが0であれば、対応するTUのインデックスに0を格納するということを表す。
【0086】
(3)直交変換係数
TU分割を決定する際には、RQT階層0にあたるuiQTTempAccessLayer=0へ直交変換係数を格納する。
【0087】
図9は、直交変換係数の格納イメージを示す図である。図9に示す例では、輝度信号の直交変換係数は、32×32の4つのブロックに対応する記憶領域に直交変換係数が格納される。色差信号は、2つの色差に対する各記憶領域に直行変換係数が記憶される。
【0088】
TComDataCU::m_pcTrCoeffY,TEncSearch::m_pcQTTempCoeffY[0]は、輝度信号の直交変換係数を格納したメモリである。また、TComDataCU::m_pcTrCoeffCb,TComDataCU::m_pcTrCoeffCr,TEncSearch::m_pcQTTempCoeffCb[0],TEncSearch::m_pcQTTempCoeffCr[0]は、色差信号(Cb,Cr)の直交変換係数を格納したメモリである。
【0089】
<Syntaxの拡張>
split_transform_flagは、TU分割を行うか、行わないかを表すフラグである。TU分割は、CUを複数の変換ブロックに階層的に分割することをいう。最大TUサイズ32×32かつCUが64×64の場合、従来技術ではRQT階層0のsplit_transform_flagは必ず1(分割)である。
【0090】
一方、本実施例では、RQT階層0のsplit_transform_flagが0の場合、C32TUモードのTU分割が行われることを表すこととする。C32TUモードとは、輝度が32×32で、色差が32×32の符号化モードをいう。
【0091】
復号化の際、RQT階層0でsplit_transform_flagが0の場合は、輝度信号のSyntaxはsplit_transform_flagが1の場合と同様にして、分割されたTUのCbf、直交変換係数をそれぞれ4つエントロピー復号する。
【0092】
・cbp_and_split_transform
LCEC(Low Complexity Entropy Coding)において、C32TUモードを符号化時のcbp_and_split_transformは、RQT階層0としてflagPattern15で符号化される。
flagPattren:15は、(cbf_luma=1, cbf_cr=1, cbf_cb=1, subdiv=0) -<---cbp_and_split_transform(階層0)を表す。
【0093】
輝度信号の符号化は、RQT階層1としてflagPattern8で分割された4つの直交変換ブロックのcbfを符号化する。flagPattren:8は、 (cbf_luma(uiAbsPartIdx:0)=1,cbf_luma(uiAbsPartIdx:64)=1,cbf_luma(uiAbsPartIdx:128)=1, cbf_luma(uiAbsPartIdx:192)=1 ) <---cpb_and_split_transform(階層1)を表す。
【0094】
例えば、デコーダはflagPattren:15を受け取ると自動的にcbf_luma=1, cbf_cr=1, cbf_cb=1, subdiv=0をデコードする。デコーダは、同様にしてflagPattren:8を受け取ると、階層1を示すフラグをデコードする。
【0095】
<エントロピー符号化部への入力bin例>
C32TUモードで全ての輝度信号ブロックと、色差信号ブロックとが符号化される場合(cbf==1)、以下のようなbinが出力される。
【0096】
[CABAC]
transform_split_transform_flag = 0
cbf_cr(uiAbsPartIdx:0) = 1
cbf_cb(uiAbsPartIdx:0) = 1
cbf_luma(uiAbsPartIdx:0) = 1
cbf_luma(uiAbsPartIdx:64) = 1
cbf_luma(uiAbsPartIdx:128) = 1
cbf_luma(uiAbsPartIdx:192) = 1
coeff_luma(uiAbsPartIdx:0/32x32)
coeff_luma(uiAbsPartIdx:64/32x32)
coeff_luma(uiAbsPartIdx:128/32x32)
coeff_luma(uiAbsPartIdx:192/32x32)
coeff_crluma(uiAbsPartIdx:0/32x32)
coeff_cbluma(uiAbsPartIdx:0/32x32)
[LCEC]
flagPattren:15
(cbf_luma=1, cbf_cr=1, cbf_cb=1, subdiv=0) -<---cpb_and_split_transform(階層0)
flagPattren:8
(cbf_luma(uiAbsPartIdx:0)=1,cbf_luma(uiAbsPartIdx:64)=1,cbf_luma(uiAbsPartIdx:128)=1, cbf_luma(uiAbsPartIdx:192)=1 ) <---cpb_and_split_transform(階層1)
coeff_luma(uiAbsPartIdx:0/32x32)
coeff_luma(uiAbsPartIdx:64/32x32)
coeff_luma(uiAbsPartIdx:128/32x32)
coeff_luma(uiAbsPartIdx:192/32x32)
coeff_crluma(uiAbsPartIdx:0/32x32)
coeff_cbluma(uiAbsPartIdx:0/32x32)
<実験結果>
次に、実施例における処理の効果について説明する。図10は、各クラスの解像度の映像に対し、各符号化コンディションで符号化した場合の符号化結果を示す図である。
【0097】
・各クラス
Class A:
Cropped areas of size 2560x1600 taken from the following sequences
(frame rates unchanged): First 5 s of "映像1" (4096x2048p 30 fps),
"映像2" (3840x2160p 30 fps). "映像3" (7680x4320 60fps).
"映像4" (7680x4320 60fps)
Class B:
1920x1080p 24 fps: "映像5", "映像6"
1920x1080p 50-60 fps: "映像8", "映像8", "映像9"
Class C:
832x480p 30-60 fps (WVGA): "映像7", "映像10",
"映像11", "映像12"
Class D:
416x240p 30-60 fps (WQVGA): "映像13", "映像14", "映像15", "映像16"
Class E:
1280x720p 60fps: "映像17", "映像18" and "映像19"
映像1〜19は、コーデック技術におけるテスト画像である。
【0098】
・各符号化コンディション
"All Intra ":全てのフレームをイントラ符号化
・"Random access ":約1秒おきにイントラ符号化(フレーム周波数によって異なる)
"Low-delay B ":最初の1枚以外すべてBピクチャで符号化
"Low-delay P " (optional):最初の1枚以外すべてPピクチャで符号化
HE(High Efficiency):多少処理量が多くても性能を追求したツールを使用した符号化
LC(Low Complexity):処理量を重視して性能が少し劣るツールを使用した符号化
HEとLCの詳細なツール内容については、「次世代映像符号化(HEVC)の標準化動向,映像情報メディア学会誌 Vol.65,No.3,pp.302-308,2011」を参照されたい。
【0099】
図10に示す例では、本実施例の方法と、CU64×64に対し、第0階層をスキップする従来の方法とを比較する。本実施例の方法の方が従来の方法よりもいい場合にマイナスの値になり、値が小さいほど、本実施例の改善の度合いが大きくなることを表す。図10に示すとおり、本実施例の方法は、符号化効率がよいことが分かる。
【0100】
以上、実施例1によれば、輝度信号が分割されても色差信号を分割せずに変換処理を行うことを許容することで、符号化効率の向上を図ることができる。
【0101】
[実施例2]
次に、実施例2における画像復号装置30について説明する。実施例2における画像復号装置30は、実施例1における画像符号化装置10で符号化されたビットストリームを復号する装置である。
【0102】
図11は、実施例2における画像復号装置30の概略構成の一例を示すブロック図である。図11に示すように、画像復号装置30は、エントロピー復号部301、逆量子化部302、逆直交変換部303、イントラ予測部304、復号情報記憶部305、インター予測部306、予測画像選択部307、復号画像生成部308、デブロッキングフィルタ部309、ループフィルタ部310、及びフレームメモリ311を有する。各部についての概略を以下に説明する。
【0103】
エントロピー復号部301は、ビットストリームが入力されると、画像符号化装置10のエントロピー符号化に対応するエントロピー復号を行う。エントロピー復号部301により復号された予測誤差信号などは逆量子化部302に出力される。また、復号したフィルタ係数や、インター予測されている場合の、復号された動きベクトルなどは復号情報記憶部305に出力される。
【0104】
また、エントロピー復号部301は、イントラ予測の場合、イントラ予測部304にその旨通知する。また、エントロピー復号部301は、復号対象画像がインター予測されているか、イントラ予測されているかを予測画像選択部307に通知する。
【0105】
また、エントロピー復号部301は、分割回数情報を復号し、最大符号化ブロックサイズ(最大サイズ)の場合(例えばCUが64×64)の色差信号のTUの分割回数が0であった場合、輝度信号のTUの分割回数を1であると解釈し、輝度信号のTUの分割回数を1に設定する。これにより、画像符号化装置10により符号化されたビットストリームを適切に復号できる。エントロピー復号部301の詳細は、図12を用いて説明する。
【0106】
逆量子化部302は、エントロピー復号部301からの出力信号に対して逆量子化処理を行う。逆量子化された出力信号は逆直交変換部303に出力される。逆直交変換部303は、逆量子化部302からの出力信号の復号ブロックに対して逆直交変換処理を行い、残差信号を生成する。残差信号は復号画像生成部308に出力される。
【0107】
イントラ予測部304は、フレームメモリ311から取得する復号対象画像のすでに復号化された周辺画素から、複数の予測方向を用いて予測画像を生成する。予測画像の生成に用いた予測方向や予測ブロックの情報を予測情報として逆直交変換部303に出力する。
【0108】
復号情報記憶部305は、復号されたループフィルタのフィルタ係数や動きベクトルや分割モードなどの復号情報を記憶する。
【0109】
インター予測部306は、フレームメモリ311から取得した参照画像のデータを復号情報記憶部305から取得する動きベクトルや分割モードを用いて動き補償する。これにより、動き補償された参照画像としてのブロックデータが生成される。
【0110】
予測画像選択部307は、イントラ予測画像、又はインター予測画像どちらか一方の予測画像を選択する。選択されたブロックデータは、復号画像生成部308に出力される。
【0111】
復号画像生成部308は、予測画像選択部307から出力される予測画像と、逆直交変換部303から出力される残差信号とを加算し、復号画像を生成する。生成された復号画像はデブロッキングフィルタ部309に出力される。
【0112】
デブロッキングフィルタ部309は、復号画像生成部308から出力された復号画像に対し、ブロック歪を低減するためのフィルタをかけ、ループフィルタ部310に出力する。
【0113】
ループフィルタ部310は、復号情報記憶部305から取得したフィルタ係数を用いて、復号画像の所定サイズ毎にフィルタ処理を行う。所定サイズは、例えば逆直交変換サイズである。ループフィルタ処理後の復号画像をフレームメモリ311に出力する。なお、ループフィルタ後の復号画像は表示装置などに出力されてもよい。
【0114】
フレームメモリ311は、参照画像となる復号画像などを記憶する。なお、復号情報記憶手段305とフレームメモリ311は、分けた構成にしているが、同じ記憶部であってもよい。
【0115】
<エントロピー復号部の構成>
次に、エントロピー復号部301の構成について説明する。図12は、エントロピー復号部301の構成の一例を示すブロック図である。図12に示すエントロピー復号部301は、分割回数復号部401、回数制御部402及び復号部403を有する。図12に示す構成は、実施例1に対する符号化データを適切に復号することを主に説明するための構成であり、以下に示すような処理を行うことができれば、この例に限られない。
【0116】
分割回数復号部401は、ビットストリームから分割回数情報(例えばsplit_transform_flag)を復号する。
【0117】
回数制御部402は、最大符号化ブロックサイズ(例えばCU=32×32サイズ)であり、色差信号の変換ブロックTUの分割回数が0の場合は、輝度信号の変換ブロックTUの分割回数を1と解釈する。回数制御部402は、その他の場合は復号した通りの分割回数と判断する。
【0118】
復号部403は、輝度信号の分割回数、色差信号の分割回数に基づいて、分割回数情報とは異なるパラメータのエントロピー復号を行う。このパラメータは、例えば、分割回数に基づくブロックサイズの量子化された直交変換係数などである。復号部403は、復号した情報を逆量子化部302に出力する。
【0119】
回数制御部402の制御により、最大符号化ブロックサイズの場合に第0階層が有効であっても、適切に復号することができる。
【0120】
<動作>
次に、画像復号装置30の動作について説明する。図13は、分割回数制御を行って復号する処理の一例を示すフローチャートである。
【0121】
ステップS201で、回数制御部402は、CUが最大サイズか否かを判定する。CUの最大サイズは、例えば64×64とする。CUが64×64であれば(ステップS201−YES)ステップS202に進み、CUが64×64でなければ(ステップS201−NO)ステップS204に進む。
【0122】
ステップS202で、回数制御部402は、色差の変換ブロックTUの分割回数が0であるか否かを判定する。色差のTUが分割回数0であれば(ステップS202−YES)ステップS203に進み、色差のTUが分割回数0でなければ(ステップS202−NO)ステップS204に進む。
【0123】
ステップS203で、回数制御部402は、輝度の分割回数を1と解釈し、輝度信号の分割回数を1に設定する。
【0124】
ステップS204で、復号部403以降の処理部は、従来のHEVC同様、輝度の分割回数、色差の分割回数に基づくブロックサイズで、直交変換係数を含むパラメータを復号して復号処理を行う。ブロックサイズが決まれば従来の方法で復号処理を行えばよい。
【0125】
以上、実施例2によれば、実施例1における画像符号化装置10で符号化したビットストリームを適切に復号することができる。
【0126】
[実施例3]
図14は、実施例3における画像処理装置50の構成の一例を示すブロック図である。図14に示す画像処理装置50は、上述した実施例1で説明した画像符号化処理又は実施例2で説明した画像復号処理をソフトウェアで実装した装置の一例である。
【0127】
図14に示すように、画像処理装置50は、制御部501、主記憶部502、補助記憶部503、ドライブ装置504、ネットワークI/F部506、入力部507、表示部508を有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【0128】
制御部501は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部501は、主記憶部502又は補助記憶部503に記憶された画像符号化処理のプログラム、又は画像復号処理のプログラムを実行する演算装置である。制御部501は、入力部507や記憶装置からデータを受け取り、演算、加工した上で、表示部508や記憶装置などに出力する。
【0129】
制御部501は、画像符号化処理、又は画像復号処理のプログラムを実行することで、各実施例で説明した処理を実現することができる。
【0130】
主記憶部502は、ROM(Read Only Memory)やRAM(Random Access Memory)などである。主記憶部502は、制御部501が実行する基本ソフトウェアであるOS(Operating System)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【0131】
補助記憶部503は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【0132】
ドライブ装置504は、記録媒体505、例えばフレキシブルディスクからプログラムを読み出し、記憶部にインストールする。
【0133】
また、記録媒体505に、所定のプログラムを格納し、この記録媒体505に格納されたプログラムはドライブ装置504を介して画像処理装置50にインストールされる。インストールされた所定のプログラムは、画像処理装置50により実行可能となる。
【0134】
ネットワークI/F部506は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置50とのインターフェースである。
【0135】
入力部507は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部508の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部507は、ユーザが制御部501に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
【0136】
表示部508は、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等により構成され、制御部501から入力される表示データに応じた表示が行われる。
【0137】
なお、図6に示す復号画像記憶部111は、例えば主記憶部502又は補助記憶部503により実現され、図6に示す復号画像記憶部111以外の構成は、例えば制御部501及びワークメモリとしての主記憶部502により実現されうる。
【0138】
また、図11に示す復号情報記憶部305及びフレームメモリ311は、例えば主記憶部502又は補助記憶部503により実現され、図11に示す復号情報記憶部305及びフレームメモリ311以外の構成は、例えば制御部501及びワークメモリとしての主記憶部502により実現されうる。
【0139】
画像処理装置50で実行されるプログラムは、実施例1や実施例2で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部501が補助記憶部503からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部502上にロードされ、1又は複数の各部が主記憶部502上に生成されるようになっている。
【0140】
このように、上述した実施例1で説明した画像符号化処理や実施例2で説明した画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、各実施例で説明した処理を実現することができる。
【0141】
また、このプログラムを記録媒体505に記録し、このプログラムが記録された記録媒体505をコンピュータや携帯端末に読み取らせて、前述した画像符号化処理又は画像復号処理を実現させることも可能である。なお、記録媒体505は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。また、上述した各実施例で説明した処理は、1つ又は複数の集積回路に実装してもよい。
【0142】
なお、実施例3における画像処理装置50は、上記の通り、画像符号化装置10、画像復号装置30としての機能を有する。
【0143】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。
【符号の説明】
【0144】
10 画像符号化装置
30 画像復号装置
50 画像処理装置
101 予測画像生成部
102 直交変換部
103 量子化部
104 エントロピー符号化部
105 逆量子化部
106 逆直交変換部
107 復号画像生成部
108 デブロッキングフィルタ部
109 ループフィルタ部
110 復号画像記憶部
111 イントラ予測部
112 インター予測部
113 動きベクトル計算部
114 符号化制御及びヘッダ生成部
115 予測画像選択部
201 分割制御部
202 変換部
203 コスト計算部
204 分割決定部
301 エントロピー復号部
302 逆量子化部
303 逆直交変換部
401 分割回数復号部
402 回数制御部
403 復号部
501 制御部
502 主記憶部
503 補助記憶部
504 ドライブ装置

【特許請求の範囲】
【請求項1】
画像を複数の符号化ブロックに分割し、前記符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像符号化されたデータを取得し、該データに含まれる前記変換ブロックの分割回数情報を復号する分割回数情報復号部と、
前記符号化ブロックが最大サイズであり、かつ前記変換ブロックの分割回数が0である場合、輝度信号に対する前記変換ブロックの分割回数を1に設定する回数制御部と、
前記輝度信号及び前記色差信号に対する前記変換ブロックの分割回数に基づいて、直交変換係数の復号処理を行う復号部と、
を備える画像復号装置。
【請求項2】
前記最大サイズは64×64であり、分割回数が0である場合の前記色差信号に対する前記変換ブロックのサイズは、32×32であり、分割回数が1である場合の前記輝度信号に対する前記変換ブロックのサイズは、32×32である請求項1記載の画像復号装置。
【請求項3】
画像を複数の符号化ブロックに分割し、前記符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像符号化されたデータを取得し、該データに含まれる前記変換ブロックの分割回数情報を復号する分割回数情報復号ステップと、
前記符号化ブロックが最大サイズであり、かつ前記変換ブロックの分割回数が0である場合、輝度信号に対する前記変換ブロックの分割回数を1に設定する回数制御ステップと、
前記輝度信号及び前記色差信号に対する前記変換ブロックの分割回数に基づいて、直交変換係数の復号処理を行う復号ステップと、
を有する画像復号方法。
【請求項4】
画像を複数の符号化ブロックに分割し、前記符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像符号化されたデータを取得し、該データに含まれる前記変換ブロックの分割回数情報を復号する分割回数情報復号ステップと、
前記符号化ブロックが最大サイズであり、かつ前記変換ブロックの分割回数が0である場合、輝度信号に対する前記変換ブロックの分割回数を1に設定する回数制御ステップと、
前記輝度信号及び前記色差信号に対する前記変換ブロックの分割回数に基づいて、直交変換係数の復号処理を行う復号ステップと、
をコンピュータに実行させるためのプログラム。
【請求項5】
画像を複数の符号化ブロックに分割し、前記符号化ブロックを、直交変換対象の1又は複数の変換ブロックに分割するブロック分割を用いて画像を符号化する画像符号化装置であって、
前記符号化ブロックが最大サイズである場合、輝度信号に対する前記変換ブロックの分割回数を前記色差信号に対する前記変換ブロックの分割回数よりも1つ多く制御する分割制御部と、
前記輝度信号及び前記色差信号に対する変換ブロックの分割回数により決定されるサイズで、直交変換処理を行う変換部と、
を備える画像符号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2013−102305(P2013−102305A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−244009(P2011−244009)
【出願日】平成23年11月7日(2011.11.7)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】