IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

<>
  • 特許-符号化装置、復号装置、及びプログラム 図1
  • 特許-符号化装置、復号装置、及びプログラム 図2
  • 特許-符号化装置、復号装置、及びプログラム 図3
  • 特許-符号化装置、復号装置、及びプログラム 図4
  • 特許-符号化装置、復号装置、及びプログラム 図5
  • 特許-符号化装置、復号装置、及びプログラム 図6
  • 特許-符号化装置、復号装置、及びプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-21
(45)【発行日】2024-03-01
(54)【発明の名称】符号化装置、復号装置、及びプログラム
(51)【国際特許分類】
   H04N 19/129 20140101AFI20240222BHJP
   H04N 19/159 20140101ALI20240222BHJP
   H04N 19/18 20140101ALI20240222BHJP
   H04N 19/70 20140101ALI20240222BHJP
【FI】
H04N19/129
H04N19/159
H04N19/18
H04N19/70
【請求項の数】 8
(21)【出願番号】P 2019221549
(22)【出願日】2019-12-06
(65)【公開番号】P2021093575
(43)【公開日】2021-06-17
【審査請求日】2022-11-04
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】根本 慎平
(72)【発明者】
【氏名】岩村 俊輔
(72)【発明者】
【氏名】井口 和久
(72)【発明者】
【氏名】市ヶ谷 敦郎
【審査官】岩井 健二
(56)【参考文献】
【文献】米国特許出願公開第2018/0027236(US,A1)
【文献】国際公開第2013/099892(WO,A1)
【文献】国際公開第2013/003581(WO,A1)
【文献】Jani Lainema, et al.,Intra Coding of the HEVC Standard,IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,IEEE,2012年12月,VOL. 22, NO. 12,pp.1792 - 1801
【文献】Thomas Davies,BBC’s Response to the Call for Proposals on Video Compression Technology,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,JCTVC-A125,1st Meeting: Dresden, DE,2010年04月,pp.1-6,19
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
画像を構成するブロック単位で符号化を行う符号化装置であって、
符号化対象ブロックの周辺の復号済み画素を用いるイントラ予測によって、前記符号化対象ブロックに対応する予測ブロックを生成するイントラ予測部と、
前記符号化対象ブロックと前記予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部と、
前記変換・量子化部が出力する変換係数を符号化するエントロピー符号化部と、
前記イントラ予測に用いたイントラ予測モードを示すシンタックスに応じて、前記エントロピー符号化部が前記変換係数を符号化するときのスキャン順を複数のスキャン順候補の中から決定するスキャン制御部と、を備え、
前記スキャン制御部は、前記シンタックスから前記イントラ予測モードを特定することなく、前記シンタックスから前記スキャン順を直接的に決定することを特徴とする符号化装置。
【請求項2】
前記イントラ予測部は、
前記符号化対象ブロックの周辺のブロックに適用されたイントラ予測モードに基づいて、前記符号化対象ブロックに優先的に適用する複数の優先イントラ予測モードと、前記複数の優先イントラ予測モード以外の複数の非優先イントラ予測モードとを決定する優先モード決定部と、
前記イントラ予測に用いたイントラ予測モードが前記複数の優先イントラ予測モード及び前記複数の非優先イントラ予測モードのいずれに含まれるかを示すフラグを有する前記シンタックスを生成するシンタックス生成部と、を有し、
前記スキャン制御部は、前記イントラ予測に用いたイントラ予測モードが前記複数の非優先イントラ予測モードに含まれることを前記フラグが示す場合、前記シンタックスから前記スキャン順を直接的に決定することを特徴とする請求項1に記載の符号化装置。
【請求項3】
前記シンタックス生成部は、前記イントラ予測に用いたイントラ予測モードが前記複数の非優先イントラ予測モードに含まれる場合、前記イントラ予測に用いたイントラ予測モードを示す非優先イントラ予測モード番号をさらに含む前記シンタックスを生成し、
前記スキャン制御部は、前記イントラ予測に用いたイントラ予測モードが前記複数の非優先イントラ予測モードに含まれることを前記フラグが示す場合、各非優先イントラ予測モード番号をスキャン順候補と対応付ける対応付け情報を用いて、前記シンタックスに含まれる前記非優先イントラ予測モード番号に対応するスキャン順候補を前記スキャン順として決定することを特徴とする請求項2に記載の符号化装置。
【請求項4】
画像を構成するブロック単位で復号を行う復号装置であって、
符号化ストリームを復号することで、復号対象ブロックのイントラ予測に用いるイントラ予測モードを示すシンタックスと、前記復号対象ブロックの変換係数とを出力するエントロピー復号部と、
前記シンタックスに応じて、前記エントロピー復号部が前記変換係数を復号するときのスキャン順を複数のスキャン順候補の中から決定するスキャン制御部と、
前記復号対象ブロックの周辺の復号済み画素を用いるイントラ予測によって、前記復号対象ブロックに対応する予測ブロックを生成するイントラ予測部と、
前記エントロピー復号部が出力する前記変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部と、
前記復元した予測残差と前記予測ブロックとを合成して前記復号対象ブロックを復元する合成部と、を備え、
前記スキャン制御部は、前記シンタックスから前記イントラ予測モードを特定することなく、前記シンタックスから前記スキャン順を直接的に決定することを特徴とする復号装置。
【請求項5】
前記イントラ予測部は、前記復号対象ブロックの周辺のブロックに適用されたイントラ予測モードに基づいて、前記復号対象ブロックに優先的に適用する複数の優先イントラ予測モードと、前記複数の優先イントラ予測モード以外の複数の非優先イントラ予測モードとを決定する優先モード決定部を有し、
前記シンタックスは、前記復号対象ブロックのイントラ予測に用いるイントラ予測モードが前記複数の優先イントラ予測モード及び前記複数の非優先イントラ予測モードのいずれに含まれるかを示すフラグを有し、
前記スキャン制御部は、前記復号対象ブロックのイントラ予測に用いるイントラ予測モードが前記複数の非優先イントラ予測モードに含まれることを前記フラグが示す場合、前記シンタックスから前記スキャン順を直接的に決定することを特徴とする請求項4に記載の復号装置。
【請求項6】
前記シンタックスは、前記復号対象ブロックのイントラ予測に用いるイントラ予測モードが前記複数の非優先イントラ予測モードに含まれる場合、前記イントラ予測に用いるイントラ予測モードを示す非優先イントラ予測モード番号をさらに有し、
前記スキャン制御部は、前記イントラ予測に用いるイントラ予測モードが前記複数の非優先イントラ予測モードに含まれることを前記フラグが示す場合、各非優先イントラ予測モード番号をスキャン順候補と対応付ける対応付け情報を用いて、前記シンタックスに含まれる前記非優先イントラ予測モード番号に対応するスキャン順候補を前記スキャン順として決定することを特徴とする請求項5に記載の復号装置。
【請求項7】
コンピュータを請求項1乃至3のいずれか1項に記載の符号化装置として機能させることを特徴とするプログラム。
【請求項8】
コンピュータを請求項4乃至6のいずれか1項に記載の復号装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置、復号装置、及びプログラムに関する。
【背景技術】
【0002】
静止画像や動画像の伝送時や保存時のデータ量を圧縮するための映像符号化方式の研究が行われている。近年、8K-SHVに代表されるような超高解像度映像の普及が進んでおり、膨大なデータ量の動画像を伝送するための手法としてAVC/H.264やHEVC/H.265などの符号化方式が知られている。
【0003】
MPEG及びITUが合同で標準化を行っている次世代映像符号化方式であるVVCの評価用ソフトウェア(VTM)では、フレーム内の空間的な相関を利用したイントラ予測が利用されている(例えば、非特許文献1参照)。
【0004】
イントラ予測では、符号化対象ブロックの周辺の復号済み参照画素を利用して、Planar予測、DC予測、及び65通りの方向性予測の、計67通りの予測モードから符号化装置側で最適なモードが選択され、その情報が復号装置側へ送られる。
【0005】
また、符号化対象ブロック及びその周辺ブロックにおいて利用される予測モードは高い相関があるため、符号化対象ブロックの左及び上のブロックで利用された予測モードと、それらの予測モードに近い方向の予測モードに優先順位をつけて、他の予測モードに対して相対的に少ないデータ量を割り当てる優先イントラ予測モード(MPM:Most Probable Modes)の適用を可能としている。
【0006】
HEVCにおいては、所定サイズの符号化対象ブロックについて、変換係数の二値化の際の符号化及び復号順を示すスキャン順がイントラ予測モードに応じて切り替えられる。具体的には、イントラ予測モードに応じた予測残差の分布の統計的な偏りを利用し、適応的にスキャン順を切り替えることにより、符号化効率の改善が可能である。
【先行技術文献】
【非特許文献】
【0007】
【文献】JVET-O2001 Versatile Video Coding (Draft 6)
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述のように、イントラ予測モードに応じて予測残差の分布に統計的な偏りが生じる。例えば、イントラ予測モードが垂直に近い方向性予測モードである場合、ブロック上部に大きな値の変換係数が現れる可能性が高い。その場合は水平方向スキャンでブロック下部から上部にかけてスキャンすることで効率が改善する。
【0009】
しかしながら、従来の符号化方式ではストリーミングの構文解析時にイントラ予測モードの特定が必要になる場合、その時点で次の構文解析処理を続けられないため、復号装置側のスループットの低減を招くという問題がある。
【0010】
そこで、本発明は、復号装置側のスループット低減を抑制しつつ、符号化効率の改善が可能な符号化装置、復号装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
第1の態様に係る符号化装置は、画像を構成するブロック単位で符号化を行う符号化装置であって、符号化対象ブロックの周辺の復号済み画素を用いるイントラ予測によって、前記符号化対象ブロックに対応する予測ブロックを生成するイントラ予測部と、前記符号化対象ブロックと前記予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部と、前記変換・量子化部が出力する変換係数を符号化するエントロピー符号化部と、前記イントラ予測に用いたイントラ予測モードを示すシンタックスに応じて、前記エントロピー符号化部が前記変換係数を符号化するときのスキャン順を複数のスキャン順候補の中から決定するスキャン制御部と、を備え、前記スキャン制御部は、前記シンタックスから前記イントラ予測モードを特定することなく、前記シンタックスから前記スキャン順を直接的に決定することを要旨とする。
【0012】
第2の態様に係る復号装置は、画像を構成するブロック単位で復号を行う復号装置であって、符号化ストリームを復号することで、復号対象ブロックのイントラ予測に用いるイントラ予測モードを示すシンタックスと、前記復号対象ブロックの変換係数とを出力するエントロピー復号部と、前記シンタックスに応じて、前記エントロピー復号部が前記変換係数を復号するときのスキャン順を複数のスキャン順候補の中から決定するスキャン制御部と、前記復号対象ブロックの周辺の復号済み画素を用いるイントラ予測によって、前記復号対象ブロックに対応する予測ブロックを生成するイントラ予測部と、前記エントロピー復号部が出力する前記変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部と、前記復元した予測残差と前記予測ブロックとを合成して前記復号対象ブロックを復元する合成部と、を備え、前記スキャン制御部は、前記シンタックスから前記イントラ予測モードを特定することなく、前記シンタックスから前記スキャン順を直接的に決定することを要旨とする。
【0013】
第3の態様に係るプログラムは、コンピュータを第1の態様に係る符号化装置として機能させることを要旨とする。
【0014】
第4の態様に係るプログラムは、コンピュータを第2の態様に係る復号装置として機能させることを要旨とする。
【発明の効果】
【0015】
本発明によれば、復号装置側のスループット低減を抑制しつつ、符号化効率の改善が可能な符号化装置、復号装置、及びプログラムを提供できる。
【図面の簡単な説明】
【0016】
図1】実施形態に係る符号化装置の構成を示す図である。
図2】実施形態に係るスキャン順を示す図である。
図3】実施形態に係る非MPMモード番号の一例を示す図である。
図4】実施形態に係るイントラ予測モードの候補を示す図である。
図5】実施形態に係る対応付け情報を示す図である。
図6】実施形態に係る復号装置の構成を示す図である。
図7】実施形態に係るスキャン制御部の動作を示す図である。
【発明を実施するための形態】
【0017】
図面を参照して、実施形態に係る符号化装置及び復号装置について説明する。実施形態に係る符号化装置及び復号装置は、MPEGに代表される動画像の符号化及び復号をそれぞれ行う。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【0018】
<符号化装置の構成>
まず、本実施形態に係る符号化装置の構成について説明する。図1は、本実施形態に係る符号化装置1の構成を示す図である。
【0019】
図1に示すように、符号化装置1は、ブロック分割部100と、減算部110と、変換・量子化部120と、エントロピー符号化部130と、スキャン制御部131と、逆量子化・逆変換部140と、合成部150と、メモリ160と、予測部170とを有する。
【0020】
ブロック分割部100は、動画像を構成するフレーム(或いはピクチャ)単位の入力画像である原画像を複数の画像ブロックに分割し、分割により得た画像ブロックを減算部110に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックの形状は正方形に限らず長方形(非正方形)であってもよい。画像ブロックは、符号化装置1が符号化を行う単位(すなわち、符号化対象ブロック)であり、且つ復号装置が復号を行う単位(すなわち、復号対象ブロック)である。このような画像ブロックはCU(Coding Unit)と呼ばれることがある。
【0021】
例えば、ブロック分割部100は、画像を構成する輝度信号及び色差信号に対してブロック分割を行うことで、輝度ブロック及び色差ブロックを出力する。輝度信号と色差信号とで分割を独立に制御可能であってもよい。輝度ブロック及び色差ブロックを特に区別しないときは単に符号化対象ブロックと呼ぶ。
【0022】
減算部110は、ブロック分割部100から出力される符号化対象ブロックと、符号化対象ブロックを予測部170が予測して得た予測ブロックとの差分(誤差)を表す予測残差を算出する。具体的には、減算部110は、ブロックの各画素値から予測ブロックの各画素値を減算することにより予測残差を算出し、算出した予測残差を変換・量子化部120に出力する。
【0023】
変換・量子化部120は、ブロック単位で変換処理及び量子化処理を行う。変換・量子化部120は、変換部121と、量子化部122とを有する。
【0024】
変換部121は、減算部110から出力される予測残差に対して変換処理を行って変換係数を算出し、算出した変換係数を量子化部122に出力する。変換処理とは、例えば、離散コサイン変換(DCT)や離散サイン変換(DST)、カルーネンレーブ変換(KLT)等をいう。但し、変換処理には、画素領域の信号を周波数領域の信号に変換することなくスケーリング等により調整する変換スキップを含んでもよい。変換部121は、符号化対象ブロックに適用する変換処理に関する情報をエントロピー符号化部130に出力する。
【0025】
変換部121は、複数の変換基底を切り替えるMTSを輝度信号の符号化において用いてもよい。具体的には、変換部121は、水平方向及び垂直方向のそれぞれについて、DCT-2、DST-7、DCT-8の中から選択した変換基底(変換タイプ)を適用してもよい。
【0026】
量子化部122は、変換部121から出力される変換係数を量子化パラメータ(Qp)及び量子化行列を用いて量子化し、量子化した変換係数をエントロピー符号化部130及び逆量子化・逆変換部140に出力する。
【0027】
エントロピー符号化部130は、量子化部122から出力される変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化データ(ビットストリーム)を生成し、符号化データを符号化装置1の外部に出力する。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)等を用いることができる。
【0028】
具体的には、エントロピー符号化部130は、2次元に配列された変換係数を所定のスキャン順で読み出し、サブブロック単位で符号化を行う。図2は、本実施形態に係るスキャン順を示す図である。
【0029】
図2において、符号化対象ブロックが水平方向に8画素且つ垂直方向に8画素(すなわち、8×8画素)のサイズを有し、各サブブロックSB1乃至SB4が水平方向に4画素且つ垂直方向に4画素(すなわち、4×4画素)のサイズを有する一例を示している。
【0030】
図2に示すように、スキャン順の候補には、斜め方向スキャン、垂直方向スキャン、及び水平方向スキャンの3つがある。斜め方向スキャンは、図2(a)に示すように、各サブブロック内において高域側から低域側に向けて、斜め方向にスキャンを行うスキャン順である。垂直方向スキャンは、図2(b)に示すように、各サブブロック内において高域側から低域側に向けて、垂直方向にスキャンを行うスキャン順である。水平方向スキャンは、図2(c)に示すように、各サブブロック内において高域側から低域側に向けて、水平方向にスキャンを行うスキャン順である。
【0031】
エントロピー符号化部130は、このような変換係数のスキャン処理及び符号化処理に加えて、変換部121から出力される変換処理に関する情報の符号化や、予測部170から出力される予測処理に関する情報の符号化も行う。
【0032】
ここで、予測処理に関する情報は、予測部170が符号化対象ブロックのイントラ予測に用いたイントラ予測モードを示すシンタックス(以下、「イントラ予測モードシンタックス」と呼ぶ)を含む。輝度ブロックについてイントラ予測モードを示すイントラ予測モードシンタックスには、例えば、intra_luma_mpm_flag、intra_luma_not_planar_flag、intra_luma_mpm_idx、及びintra_luma_mpm_remainderがある。
【0033】
intra_luma_mpm_flagは、イントラ予測に用いたイントラ予測モードが複数の優先イントラ予測モード(以下、「MPMモード」と呼ぶ)に含まれるか否かを示すフラグである。intra_luma_mpm_flagが“1”である場合、イントラ予測モードがMPMモードに含まれることを示す。一方、intra_luma_mpm_flagが“0”である場合、イントラ予測モードがMPMモードに含まれない、すなわち、イントラ予測モードが複数の非優先イントラ予測モード(以下、「非MPMモード」と呼ぶ)に含まれることを示す。
【0034】
intra_luma_not_planar_flagは、intra_luma_mpm_flagが“1”である場合において、イントラ予測モードがPlanarモードであるか否かを示すフラグである。intra_luma_not_planar_flagが“1”である場合、イントラ予測モードがPlanarモードではないことを示す。一方、intra_luma_not_planar_flagが“0”である場合、イントラ予測モードがPlanarモードであることを示す。
【0035】
intra_luma_mpm_idxは、intra_luma_not_planar_flagが“1”である場合において、イントラ予測モードがMPMの何番目であるかを示すインデックスである。なお、intra_luma_mpm_idxはTruncated Unary encodingを用いてMPM1からMPM5までのいずれかの番号を示す。
【0036】
intra_luma_mpm_remainderは、intra_luma_mpm_flagが“0”である場合において、非MPMのイントラ予測モードのいずれかを示す非MPMモード番号である。図3は、本実施形態に係る非MPMモード番号の一例を示す図である。
【0037】
図3に示すように、intra_luma_mpm_remainderは、Truncated binary encodingを用いて61モードの中のいずれかの番号を示す。この61モードは、MPMモード以外の61のイントラ予測モードについて、参照方向が左下から右上にかけて小さい番号から順に割り当てて表している。
【0038】
スキャン制御部131は、エントロピー符号化部130が変換係数を符号化するときのスキャン順を制御する。具体的には、スキャン制御部131は、符号化対象ブロックのイントラ予測に用いたイントラ予測モードを示すイントラ予測モードシンタックスに応じて複数のスキャン順候補の中からスキャン順を決定し、決定したスキャン順に応じてエントロピー符号化部130を制御する。本実施形態において、複数のスキャン順候補は、図2に示すように、斜め方向スキャン、垂直方向スキャン、及び水平方向スキャンの3つであるものとする。スキャン制御部131の詳細については後述する。
【0039】
逆量子化・逆変換部140は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部140は、逆量子化部141と、逆変換部142とを有する。
【0040】
逆量子化部141は、量子化部122が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部141は、量子化部122から出力される変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより変換係数を復元し、復元した変換係数を逆変換部142に出力する。
【0041】
逆変換部142は、変換部121が行う変換処理に対応する逆変換処理を行う。例えば、変換部121が離散コサイン変換を行った場合には、逆変換部142は逆離散コサイン変換を行う。逆変換部142は、逆量子化部141から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部150に出力する。
【0042】
合成部150は、逆変換部142から出力される復元予測残差を、予測部170から出力される予測ブロックと画素単位で合成する。合成部150は、復元予測残差の各画素値と予測ブロックの各画素値を加算して符号化対象ブロックを復号(再構成)し、復号済みブロックをメモリ160に出力する。なお、復号済みブロックは、再構成ブロックと呼ばれることもある。
【0043】
メモリ160は、合成部150から出力される復号済みブロックを記憶し、復号済みブロックをフレーム単位で復号済み画像として蓄積する。メモリ160は、記憶している復号済みブロック若しくは復号済み画像を予測部170に出力する。なお、合成部150とメモリ160との間にループフィルタが設けられてもよい。
【0044】
予測部170は、ブロック単位で予測処理を行う。予測部170は、インター予測部171と、イントラ予測部172と、切替部173とを有する。
【0045】
インター予測部171は、フレーム間の相関を利用したインター予測を行う。具体的には、インター予測部171は、メモリ160に記憶された復号済み画像を参照画像として用いて、ブロックマッチングなどの手法により動きベクトルを算出し、インター予測の対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを切替部173に出力する。ここで、インター予測部171は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。インター予測部171は、インター予測に関する情報(動きベクトル等)をエントロピー符号化部130に出力する。
【0046】
イントラ予測部172は、フレーム内の空間的な相関を利用したイントラ予測を行う。具体的には、イントラ予測部172は、メモリ160に記憶された復号済み画像のうち、イントラ予測の対象ブロックの周辺にある復号済み画素を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部173に出力する。イントラ予測部172は、複数のイントラ予測モードの中から、イントラ予測の対象ブロックに適用するイントラ予測モードを選択し、選択したイントラ予測モードを用いて対象ブロックを予測する。イントラ予測部172は、選択したイントラ予測モードを示すイントラ予測モードシンタックスをエントロピー符号化部130に出力する。
【0047】
図4は、本実施形態に係るイントラ予測モードの候補を示す図である。図4に示すように、輝度ブロックについて、イントラ予測モードの候補は、0から66までの67通りがある。イントラ予測モードのモード「0」はPlanar予測であり、イントラ予測モードのモード「1」はDC予測であり、イントラ予測モードのモード「2」乃至「66」は方向性予測である。方向性予測において、矢印の方向は参照方向を示し、矢印の起点は予測対象の画素の位置を示し、矢印の終点はこの予測対象画素の予測に用いる参照画素の位置を示す。ブロックの右上頂点及び左下頂点を通る対角線に平行な参照方向として、左下方向を参照するイントラ予測モードであるモード「2」と、右上方向を参照するイントラ予測モードであるモード「66」とがあり、モード「2」からモード「66」まで時計回りに所定角度ごとにモード番号が割り振られている。
【0048】
切替部173は、インター予測部171から出力されるインター予測ブロックとイントラ予測部172から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを減算部110及び合成部150に出力する。
【0049】
このように、本実施形態に係る符号化装置1は、符号化対象ブロックの周辺の復号済み画素を用いるイントラ予測によって、符号化対象ブロックに対応する予測ブロックを生成するイントラ予測部172と、符号化対象ブロックと予測ブロックとの差を表す予測残差に対して変換処理及び量子化処理を行う変換・量子化部120と、変換・量子化部120が出力する変換係数を符号化するエントロピー符号化部130と、イントラ予測に用いたイントラ予測モードを示すイントラ予測モードシンタックスに応じて、エントロピー符号化部130が変換係数を符号化するときのスキャン順を複数のスキャン順候補の中から決定するスキャン制御部131と、を有する。
【0050】
本実施形態において、符号化装置1は、符号化対象ブロックの左及び上のブロックで利用された予測モードと、それらの予測モードに近い方向の予測モードに優先順位をつけて、他の予測モードに対して相対的に少ないデータ量を割り当てるMPMを適用する。
【0051】
具体的には、本実施形態に係るイントラ予測部172は、MPM決定部1721と、シンタックス生成部1722とを有する。MPM決定部1721は、優先モード決定部に相当する。
【0052】
MPM決定部1721は、符号化対象ブロックの周辺のブロックに適用されたイントラ予測モードに基づいて、符号化対象ブロックに優先的に適用する複数の優先イントラ予測モード(MPMモード)と、複数の優先イントラ予測モード以外の複数の非優先イントラ予測モード(非MPMモード)とを決定する。MPM決定部1721は、決定したMPMモードからなるリストを生成する。このようなリストは、MPMリストと呼ばれることがある。例えば、MPMリストは、6つの優先イントラ予測モードからなる。
【0053】
シンタックス生成部1722は、イントラ予測部172が符号化対象ブロックのイントラ予測に用いたイントラ予測モードを示すイントラ予測モードシンタックスを生成し、生成したイントラ予測モードシンタックスをエントロピー符号化部130及びスキャン制御部131に出力する。上述したように、輝度ブロックについてイントラ予測モードを示すイントラ予測モードシンタックスは、intra_luma_mpm_flag、intra_luma_not_planar_flag、intra_luma_mpm_idx、及びintra_luma_mpm_remainderを含む。
【0054】
特に、シンタックス生成部1722は、イントラ予測に用いたイントラ予測モードがMPMモード及び非MPMモードのいずれに含まれるかを示すフラグであるintra_luma_mpm_flagを有するイントラ予測モードシンタックスを生成する。また、シンタックス生成部1722は、イントラ予測に用いたイントラ予測モードが非MPMモードに含まれる場合、イントラ予測に用いたイントラ予測モードを示す非MPMモード番号であるintra_luma_mpm_remainderをさらに含むイントラ予測モードシンタックスを生成する。
【0055】
本実施形態において、スキャン制御部131は、符号化対象ブロックのイントラ予測に用いたイントラ予測モードを示すイントラ予測モードシンタックスに応じて複数のスキャン順候補の中からスキャン順を決定する。ここで、スキャン制御部131は、イントラ予測モードを示すイントラ予測モードシンタックスからイントラ予測モードを特定することなく、イントラ予測モードを示すイントラ予測モードシンタックスからスキャン順を直接的に決定する。
【0056】
具体的には、スキャン制御部131は、イントラ予測に用いたイントラ予測モードが非MPMモードに含まれることをintra_luma_mpm_flagが示す場合、すなわち、intra_luma_mpm_flagが“0”である場合、イントラ予測モードを示すイントラ予測モードシンタックスからスキャン順を直接的に決定する。
【0057】
例えば、スキャン制御部131は、イントラ予測に用いたイントラ予測モードが非MPMモードに含まれることをintra_luma_mpm_flagが示す場合、各非MPMモード番号をスキャン順候補と対応付ける対応付け情報を用いて、イントラ予測モードを示すイントラ予測モードシンタックスに含まれる非MPMモード番号(intra_luma_mpm_remainder)に対応するスキャン順候補をスキャン順として決定する。
【0058】
図5は、本実施形態に係る対応付け情報を示す図である。
【0059】
図5に示すように、6つのMPMモード以外の61の非MPMモード(non-MPM mode)について、参照方向が左下から右上にかけて小さい番号から順に番号を割り当てて表している。各非MPMモード番号には、スキャン順候補(scan)が対応付けられている。
【0060】
具体的には、非MPMモード番号は、第1グループ乃至第3グループにグループ分けされている。第1グループは、方向性予測モードであって、予測方向が垂直方向よりも水平方向に近いイントラ予測モードと対応付けられたグループである。第2グループは、方向性予測モードであって、予測方向が水平方向よりも垂直方向に近いイントラ予測モードと対応付けられたグループである。第3グループは、第1グループ及び第2グループ以外のグループである。
【0061】
図5において、非MPMモード番号“9”乃至“20”が第1グループに相当し、非MPMモード番号“39”乃至“52”が第2グループに相当し、それ以外の非MPMモード番号が第3グループに相当する。対応付け情報は、第1グループを垂直方向スキャン(scan=1)と対応付け、第2グループを垂直方向スキャン(scan=2)と対応付け、第3グループを斜め方向スキャン(scan=0)と対応付ける。
【0062】
ここで、どのようなイントラ予測モードがMPMモードに選択されても、水平方向又は垂直方向にある程度近い非MPMモードがscan=1又はscan=2に含まれるように範囲を設定している。また、この範囲は図5に示す例に固定されるものではなく、範囲は可変であるものとする。
【0063】
スキャン制御部131は、イントラ予測モードが非MPMモードに含まれることをintra_luma_mpm_flagが示す場合、図5に示すようなテーブル(対応付け情報)を用いて、イントラ予測モードシンタックスに含まれる非MPMモード番号(intra_luma_mpm_remainder)をスキャン順の番号(“0”、“1”、“2”のいずれか)に変換できるため、非MPMモード番号からスキャン順を直接的に決定できる。
【0064】
<復号装置の構成>
次に、本実施形態に係る復号装置の構成について、符号化装置1との相違点を主として説明する。図6は、本実施形態に係る復号装置2の構成を示す図である。
【0065】
図6に示すように、復号装置2は、エントロピー復号部200と、スキャン制御部201と、逆量子化・逆変換部210と、合成部220と、メモリ230と、予測部240とを有する。
【0066】
エントロピー復号部200は、符号化装置1により生成された符号化データを構文解析し、符号化装置1がイントラ予測に用いたイントラ予測モードを示すイントラ予測モードシンタックスを取得し、取得したイントラ予測モードシンタックスをスキャン制御部201及び予測部240に出力する。輝度ブロックについてイントラ予測モードシンタックスには、intra_luma_mpm_flag、intra_luma_not_planar_flag、intra_luma_mpm_idx、及びintra_luma_mpm_remainderがある。
【0067】
イントラ予測モードシンタックスの復号においては、エントロピー復号部200は、intra_luma_mpm_flagを復号し、“1”の場合にはイントラ予測モードがPlanarモードか否かを示すintra_luma_not_planar_flagを復号する。intra_luma_not_planar_flagが“0”の場合はイントラ予測モードとしてPlanarモードを特定する。また、エントロピー復号部200は、intra_luma_not_planar_flagが“1”の場合は、次にintra_luma_mpm_idxを復号し、MPMの何番目かを特定する。一方、エントロピー復号部200は、intra_luma_mpm_flagが“0”の場合にはintra_luma_mpm_remainderを復号し、MPMに含まれないいずれのイントラ予測モードであるかを特定する。
【0068】
また、エントロピー復号部200は、変換処理に関する情報を取得し、取得した情報を逆量子化・逆変換部210に出力する。
【0069】
さらに、エントロピー復号部200は、符号化データに対する算術復号処理が行われた後の変換係数の多値化処理において、スキャン順に応じたスキャン処理を行うことにより、復号対象ブロックに対応する変換係数(具体的には、量子化された変換係数)を逆量子化・逆変換部210に出力する。
【0070】
スキャン制御部201は、エントロピー復号部200から出力されるイントラ予測モードシンタックスに応じて、エントロピー復号部200が変換係数を復号するときのスキャン順を複数のスキャン順候補の中から決定する。具体的には、スキャン制御部201は、復号対象ブロックのイントラ予測に用いるべきイントラ予測モードシンタックスに応じて複数のスキャン順候補の中からスキャン順を決定し、決定したスキャン順に応じてエントロピー符号化部130を制御する。上述したように、スキャン順の候補には、斜め方向スキャン、垂直方向スキャン、及び水平方向スキャンの3つがある。スキャン制御部201の詳細については後述する。
【0071】
逆量子化・逆変換部210は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部210は、逆量子化部211と、逆変換部212とを有する。
【0072】
逆量子化部211は、符号化装置1の量子化部122が行う量子化処理に対応する逆量子化処理を行う。逆量子化部211は、エントロピー復号部200から出力される量子化変換係数を、量子化パラメータ(Qp)及び量子化行列を用いて逆量子化することにより、復号対象ブロックの変換係数を復元し、復元した変換係数を逆変換部212に出力する。
【0073】
逆変換部212は、符号化装置1の変換部121が行う変換処理に対応する逆変換処理を行う。逆変換部212は、逆量子化部211から出力される変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差(復元予測残差)を合成部220に出力する。
【0074】
合成部220は、逆変換部212から出力される予測残差と、予測部240から出力される予測ブロックとを画素単位で合成することにより、元のブロックを復号(再構成)し、復号済みブロックをメモリ230に出力する。
【0075】
メモリ230は、合成部220から出力される復号済みブロックを記憶し、復号済みブロックをフレーム単位で復号済み画像として蓄積する。メモリ230は、復号済みブロック若しくは復号済み画像を予測部240に出力する。また、メモリ230は、フレーム単位の復号済み画像を復号装置2の外部に出力する。なお、合成部220とメモリ230との間にループフィルタが設けられてもよい。
【0076】
予測部240は、ブロック単位で予測を行う。予測部240は、インター予測部241と、イントラ予測部242と、切替部243とを有する。
【0077】
インター予測部241は、フレーム間の相関を利用したインター予測を行う。具体的には、インター予測部241は、エントロピー復号部200から出力されるインター予測に関する情報(例えば、動きベクトル情報)に基づいて、メモリ230に記憶された復号済み画像を参照画像として用いてインター予測の対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを切替部243に出力する。
【0078】
イントラ予測部242は、フレーム内の空間的な相関を利用したイントラ予測を行う。具体的には、イントラ予測部242は、エントロピー復号部200から出力されるイントラ予測に関する情報(すなわち、イントラ予測モードシンタックス)に応じたイントラ予測モードを用いて、メモリ230に記憶された復号済み画像のうちイントラ予測の対象ブロックの周辺にある復号済み画素を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部243に出力する。
【0079】
本実施形態において、復号装置2は、符号化対象ブロックの左及び上のブロックで利用された予測モードと、それらの予測モードに近い方向の予測モードに優先順位をつけて、他の予測モードに対して相対的に少ないデータ量を割り当てるMPMを適用する。
【0080】
具体的には、本実施形態に係るイントラ予測部242は、MPM決定部2421を有する。MPM決定部2421は、優先モード決定部に相当する。
【0081】
MPM決定部2421は、復号対象ブロックの周辺のブロックに適用されたイントラ予測モードに基づいて、復号対象ブロックに優先的に適用するMPMモードと、MPMモード以外の非MPMモードとを決定する。MPM決定部2421は、決定したMPMモードからなるリスト(MPMリスト)を生成する。例えば、MPMリストは、6つの優先イントラ予測モードからなる。
【0082】
イントラ予測部242は、intra_luma_mpm_flagが“1”の場合において、intra_luma_not_planar_flagが“0”の場合はイントラ予測モードとしてPlanarモードを特定する。また、イントラ予測部242は、intra_luma_not_planar_flagが“1”の場合は、次にintra_luma_mpm_idxを復号し、MPM決定部2421が決定したMPMの何番目かを特定する。一方、イントラ予測部242は、intra_luma_mpm_flagが“0”の場合には、intra_luma_mpm_remainderに基づいて、MPMに含まれないいずれのイントラ予測モードであるかを特定する。
【0083】
切替部243は、インター予測部241から出力されるインター予測ブロックとイントラ予測部242から出力されるイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを合成部220に出力する。
【0084】
このように、本実施形態に係る復号装置2は、符号化ストリームを復号することで、復号対象ブロックのイントラ予測に用いるイントラ予測モードを示すイントラ予測モードシンタックスと、復号対象ブロックの変換係数とを出力するエントロピー復号部200と、イントラ予測モードシンタックスに応じて、エントロピー復号部200が変換係数を復号するときのスキャン順を複数のスキャン順候補の中から決定するスキャン制御部201と、復号対象ブロックの周辺の復号済み画素を用いるイントラ予測によって、復号対象ブロックに対応する予測ブロックを生成するイントラ予測部242と、エントロピー復号部200が出力する変換係数に対して逆量子化処理及び逆変換処理を行って予測残差を復元する逆量子化・逆変換部210と、復元した予測残差と予測ブロックとを合成して復号対象ブロックを復元する合成部220とを有する。
【0085】
本実施形態において、スキャン制御部201は、符号化装置1のスキャン制御部131と同様にして、イントラ予測モードシンタックスからイントラ予測モードを特定することなく、イントラ予測モードシンタックスからスキャン順を直接的に決定する。
【0086】
具体的には、スキャン制御部201は、イントラ予測に用いるべきイントラ予測モードが非MPMモードに含まれることをintra_luma_mpm_flagが示す場合、すなわち、intra_luma_mpm_flagが“0”である場合、イントラ予測モードを示すイントラ予測モードシンタックスからスキャン順を直接的に決定する。
【0087】
例えば、スキャン制御部201は、イントラ予測に用いるべきイントラ予測モードが非MPMモードに含まれることをintra_luma_mpm_flagが示す場合、各非MPMモード番号をスキャン順候補と対応付ける対応付け情報(図5参照)を用いて、イントラ予測モードを示すイントラ予測モードシンタックスに含まれる非MPMモード番号(intra_luma_mpm_remainder)に対応するスキャン順候補をスキャン順として決定する。スキャン制御部201は、非MPMモード番号(intra_luma_mpm_remainder)をスキャン順の番号(“0”、“1”、“2”のいずれか)に変換できるため、非MPMモード番号からスキャン順を直接的に決定できる。
【0088】
これにより、スキャン制御部201は、イントラ予測モードシンタックスを構文解析するだけで、エントロピー復号部200におけるスキャン順を適応的に切り替えることができる。言い換えると、イントラ予測モードシンタックスに対する復号処理によってイントラ予測モードを特定するのを待たずにスキャン処理を開始できる。よって、復号装置2側のスループット低減を抑制しつつ、符号化効率の改善が可能である。
【0089】
<スキャン制御部の動作>
次に、本実施形態に係るスキャン制御部131及び201の動作について説明する。スキャン制御部131及び201は同様な動作を行うため、ここではスキャン制御部201の動作を例に挙げて説明する。図7は、本実施形態に係るスキャン制御部201の動作を示す図である。
【0090】
図7に示すように、ステップS1において、スキャン制御部201は、エントロピー復号部200が出力するイントラ予測モードシンタックスに含まれるintra_luma_mpm_flagが“0”であるか又は“1”であるかを判定する。
【0091】
intra_luma_mpm_flagが“0”である場合(ステップS1:YES)、ステップS2において、スキャン制御部201は、エントロピー復号部200が出力するイントラ予測モードシンタックスに含まれるintra_luma_mpm_remainderと、図5に示すようなテーブルとに基づいて、スキャン順を直接的に決定する。
【0092】
具体的には、スキャン制御部201は、intra_luma_mpm_remainderをスキャン順の番号(“0”、“1”、“2”のいずれか)に変換することにより、intra_luma_mpm_remainderからスキャン順を直接的に決定する。スキャン順を決定すると、スキャン制御部201は、決定したスキャン順で処理を行うようにエントロピー復号部200を制御する。
【0093】
<その他の実施形態>
符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。復号装置2が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0094】
符号化装置1が行う各処理を実行する回路を集積化し、符号化装置1を半導体集積回路(チップセット、SoC)により構成してもよい。復号装置2が行う各処理を実行する回路を集積化し、復号装置2を半導体集積回路(チップセット、SoC)により構成してもよい。
【0095】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0096】
1 :符号化装置
2 :復号装置
100 :ブロック分割部
110 :減算部
120 :変換・量子化部
121 :変換部
122 :量子化部
130 :エントロピー符号化部
131 :スキャン制御部
140 :逆量子化・逆変換部
141 :逆量子化部
142 :逆変換部
150 :合成部
160 :メモリ
170 :予測部
171 :インター予測部
172 :イントラ予測部
173 :切替部
200 :エントロピー復号部
201 :スキャン制御部
210 :逆量子化・逆変換部
211 :逆量子化部
212 :逆変換部
220 :合成部
230 :メモリ
240 :予測部
241 :インター予測部
242 :イントラ予測部
243 :切替部
1721 :MPM決定部
1722 :シンタックス生成部
2421 :MPM決定部
図1
図2
図3
図4
図5
図6
図7