(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-28
(45)【発行日】2023-12-06
(54)【発明の名称】映像符号化装置、映像符号化方法および映像システム
(51)【国際特許分類】
H04N 19/11 20140101AFI20231129BHJP
H04N 19/157 20140101ALI20231129BHJP
H04N 19/176 20140101ALI20231129BHJP
H04N 19/136 20140101ALI20231129BHJP
【FI】
H04N19/11
H04N19/157
H04N19/176
H04N19/136
(21)【出願番号】P 2022079888
(22)【出願日】2022-05-16
【審査請求日】2022-05-16
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】八巻 裕哉
(72)【発明者】
【氏名】徳満 健太
(72)【発明者】
【氏名】飯田 健太
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】国際公開第2021/117091(WO,A1)
【文献】米国特許出願公開第2020/0169752(US,A1)
【文献】韓国公開特許第10-2012-0090584(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
少なくともイントラ予測機能を有する映像符号化装置であって、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから
、当該複数のサブブロックの総数未満のサブブロックを選択するサブブロック選択手段と、
選択された前記
サブブロック
の各々に対応するイントラ予測モード
を予測モード候補
として選択する予測モード取得手段と、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段と
を備えた映像符号化装置。
【請求項2】
前記サブブロック選択手段は、水平方向の画素数と垂直方向の画素数との比が、前記ブロックの当該比と同じであるサブブロックを優先して選択する
請求項
1記載の映像符号化装置。
【請求項3】
前記サブブロック選択手段は、サブブロックについてイントラ予測が行われるときに参照される画素領域と前記ブロックについてイントラ予測が行われるときに参照される画素領域とが重なる領域の面積が所定値よりも大きいサブブロックを選択する
請求項
1記載の映像符号化装置。
【請求項4】
前記サブブロック選択手段は、サブブロックのうち、イントラ予測が行われるときに参照される画素領域と前記ブロックについてイントラ予測が行われるときに参照される画素領域とが重なる領域の面積が所定値よりも大きいサブブロックから、
サブブロックを順に選択する
請求項
3記載の映像符号化装置。
【請求項5】
前記ブロックが長方形であり、サブブロックが正方形である場合に、前記サブブロック選択手段は、長方形の短辺方向に位置するサブブロックよりも、長方形の長辺方向に位置するサブブロックを優先して選択する
請求項
1記載の映像符号化装置。
【請求項6】
前記ブロックが長方形であり、サブブロックに長方形のサブブロックと正方形のサブブロックとが含まれる場合に、前記サブブロック選択手段は、長方形のサブブロックを優先して選択する
請求項1記載の映像符号化装置。
【請求項7】
少なくともイントラ予測機能を有する映像符号化方法であって、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから
、当該複数のサブブロックの総数未満のサブブロックを選択し、
選択された前記
サブブロック
の各々に対応するイントラ予測モード
を予測モード候補
として選択し、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する
映像符号化方法。
【請求項8】
コンピュータに、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから
、当該複数のサブブロックの総数未満のサブブロックを選択させ、
選択された前記
サブブロック
の各々に対応するイントラ予測モード
を予測モード候補
として選択させ、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定させる
ための映像符号化プログラム。
【請求項9】
請求項1記載の映像符号化装置と、
少なくともイントラ予測機能を有し、前記映像符号化装置からのビットストリームを入力して映像復号処理を行う映像復号装置と
を含む映像システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、少なくともイントラ予測符号化処理を行う映像符号化装置、映像符号化方法および映像システムに関する。
【背景技術】
【0002】
VVC(Versatile Video Coding)と呼ばれる映像符号化方式では、映像の各フレームは符号化ツリーユニット(CTU:Coding Tree Unit)と呼ばれるブロックに分割され、ラスタスキャン順に各CTUの符号化処理が実施される。各CTUは、四分木(QT:Quad-Tree)構造またはマルチタイプ木(MMT:Multi-Type Tree)構造で、符号化ユニット(CU:Coding Unit)に分割されて符号化される。四分木構造を用いる分割では、ブロックが、水平および垂直に等分割される。マルチタイプ木構造を用いる分割では、ブロックが、水平もしくは垂直に2分割または3分割される。
【0003】
イントラ予測は、符号化対象フレームと表示時刻が同一の再構築画像から予測画像を生成する予測である。VVC方式では、
図18に示す65種類の角度イントラ予測が定義されている。
図18において、数字は、予測モード番号を示す。角度イントラ予測では、符号化対象ブロック周辺の再構築画素を65種類の方向のいずれかに外挿して、イントラ予測信号が生成される。VVC方式では、角度予測に加えて、符号化対象ブロック周辺の再構築画素を平均するDC予測、および、符号化対象ブロック周辺の再構築画素を線形補間するPlanar予測が定義されている。
【0004】
イントラ符号化時には、映像符号化装置は、67の予測モード(イントラ予測モード)から、最適な予測モードを選択する。以下、予測モードを選択することを、予測モード決定処理ということがある。映像符号化装置は、予測モード決定処理において、67の予測モードのそれぞれに関してコスト計算を行う。映像符号化装置は、コストを最小にする予測モードを選択する。
【0005】
そして、映像符号化装置は、選択した予測モードを使用して符号化処理を行う。
図19は、イントラ予測の画素参照領域を説明するための説明図である。映像符号化装置は、イントラ符号化処理において、
図19に示すように、予測モードに応じて、符号化対象CUの左側と上側の画素値を参照して予測処理を実行する。
図19において、矢印は、符号化対象画素と参照画素との関係(参照関係)を示す。
図19の左側には、水平方向8画素および垂直方向4画素のサイズの符号化対象ブロック(符号化対象CU)が例示されている。
図19の右側には、水平方向4画素および垂直方向8画素のサイズの符号化対象ブロックが例示されている。以下、水平方向n画素および垂直方向m画素のサイズを、n×mと表現する。なお、
図19において、Mode xは、予測モード番号(予測モードx)を示す。Diag.modeは、対角モードを意味する。range of intra prediction angleは、複数の角度予測の各々の角度の範囲を示す。Wは、水平方向の画素数を示す。Hは、垂直方向の画素数を示す。
【0006】
67の予測モードのそれぞれに関してコスト計算を行うと、予測モード決定処理の計算量が増大する。
【0007】
特許文献1には、予測モード決定処理の計算量を抑制するための方法が開示されている。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1に開示された方法では、映像符号化装置は、符号化対象ブロックのサイズがM×Nである場合に、ブロックのサイズがm×n(M>m、N>n)の複数のサブブロックのそれぞれを対象としてイントラ予測を行って、予測画像を生成する。例えば、符号化対象ブロックのサイズが8×8である場合に、4つの4×4のサブブロックのそれぞれを対象としてイントラ予測を行って、予測画像を生成する。それぞれサブブロックについてコストを最小にする予測モードが事前に決定されている。なお、サブブロックは、符号化対象ブロックが分割されることによって生成されるブロックである。当然、サブブロックのサイズは、符号化対象ブロックのサイズよりも小さい。
【0010】
特許文献1に開示された方法では、映像符号化装置は、4つのサブブロックのそれぞれに関する差分の絶対値和(SAD:Sum of Absolute Difference)を計算する。それぞれの差分は、サブブロックの予測画像と入力画像または再構築画像との差分である。映像符号化装置は、SADを最小にする予測モードを、サブブロックの最適な予測モードとして選択する。すなわち、映像符号化装置は、各々のサブブロックに対応する予測モードを決定する。
【0011】
映像符号化装置は、符号化対象ブロックに関して、67の予測モードを対象として予測モード決定処理を実行せず、4つのサブブロックのそれぞれに対応する予測モード、すなわち、4つの予測モードを探索の対象として予測モード決定処理を実行する。
【0012】
特許文献1に開示された方法では、符号化対象ブロックの予測モードを決定するためのすべてのサブブロックのコスト計算を行うので、予測モード決定処理での計算量の削減の効果は十分ではない。
【0013】
本発明は、予測モードを決定するための計算量をより削減できる映像符号化装置、映像符号化方法および映像システムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明による映像符号化装置は、複数画素からなるブロックを分割して得られる複数のサブブロックのうちから、当該複数のサブブロックの総数未満のサブブロックを選択するサブブロック選択手段と、選択されたサブブロックの各々に対応するイントラ予測モードを予測モード候補として選択する予測モード取得手段と、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段とを含む。
【0015】
本発明による映像符号化方法は、複数画素からなるブロックを分割して得られる複数のサブブロックのうちから、当該複数のサブブロックの総数未満のサブブロックを選択し、選択されたサブブロックの各々に対応するイントラ予測モードを予測モード候補として選択し、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する。
【0016】
本発明による映像符号化プログラムは、コンピュータに、複数画素からなるブロックを分割して得られる複数のサブブロックのうちから、当該複数のサブブロックの総数未満のサブブロックを選択させ、選択されたサブブロックの各々に対応するイントラ予測モードを予測モード候補として選択させ、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定させる。
【0017】
本発明による映像システムは、上記の映像符号化装置と、少なくともイントラ予測機能を有し、映像符号化装置からのビットストリームを入力して映像復号処理を行う映像復号装置とを含む。
【発明の効果】
【0018】
本発明によれば、予測モードを決定するための計算量をより削減できる。
【図面の簡単な説明】
【0019】
【
図1】映像符号化を実行可能な映像符号化装置の構成例を示すブロック図である。
【
図2】イントラ予測部の構成例を示すブロック図である。
【
図3】予測モード決定部が実行する処理の前提としての処理を説明するための説明図である。
【
図4】予測モード決定部が実行する処理の一例を説明するための説明図である。
【
図5】イントラ予測部の動作を示すフローチャートである。
【
図6】符号化対象ブロックの分割の仕方の一例を示す説明図である。
【
図7】選択されるサブブロックの数の例を示す説明図である。
【
図8】サブブロックを選択するときの選択の基準の一例を説明するための説明図である。
【
図9】参照画素領域の重なりをより詳しく説明するための説明図である。
【
図10】長方形のサブブロックを選択するときの選択の基準の一例を説明するための説明図である。
【
図11】長方形のCUの分割の仕方の一例を示す説明図である。
【
図12】正方形のサブブロックと長方形のサブブロックとを選択するときの選択の基準の一例を説明するための説明図である。
【
図13】サブブロックを選択するときの選択の基準の他の例を説明するための説明図である。
【
図14】映像復号装置の構成例を示すブロック図である。
【
図15】映像システムの一例を示すブロック図である。
【
図16】CPUを有するコンピュータの一例を示すブロック図である。
【
図17】映像符号化装置の主要部を示すブロック図である。
【
図18】65種類の角度イントラ予測の例を示す説明図である。
【
図19】イントラ予測の画素参照領域を説明するための説明図である。
【発明を実施するための形態】
【0020】
実施形態1.
図1は、映像符号化を実行可能な映像符号化装置の構成例を示すブロック図である。
図1に示す映像符号化装置100は、減算器101、変換/量子化器102、逆量子化/逆変換器103、エントロピー符号化器104、加算器105、ブロックメモリ106、インループフィルタ107、フレームメモリ108、および予測部110を含む。予測部110は、イントラ予測部111とインター予測部112とを含む。
【0021】
なお、
図1に示す映像符号化装置は、VVC規格に基づいて符号化処理を実行するが、他の規格、例えば、HEVC規格、H.264/AVC規格に基づいて符号化処理を実行してもよい。
【0022】
減算器101は、ブロック(例えば、PU)ごとに、入力信号(入力画素値)から予測信号を減算し、予測誤差信号を生成する。予測誤差信号は、予測残差または予測残差信号とも呼ばれる。なお、PUのサイズはCUのサイズと等しく設定されることが多いので、以下、ブロックはCUであることを想定する。
【0023】
変換/量子化器102は、予測誤差信号を周波数変換して変換係数を得る。変換/量子化器102は、さらに、周波数変換された予測誤差信号(変換係数)を量子化する。以下、量子化された変換係数を変換量子化値という。
【0024】
エントロピー符号化器104は、予測パラメータ(符号化情報)と変換量子化値とをエントロピー符号化する。予測パラメータは、予測部110が決定した予測モード(イントラ予測、インター予測)、イントラ予測ブロックサイズ、イントラ予測方向、インター予測ブロックサイズ、および動きベクトルなど、CTU(Coding Tree Unit)およびブロックの予測に関連した情報である。エントロピー符号化器104から供給されるエントロピー符号化データと他のデータとが多重化され、ビットストリームとして出力される。
【0025】
逆量子化/逆変換器103は、変換量子化値を逆量子化して変換係数を復元する。さらに、逆量子化/逆変換器103は、逆量子化した変換係数を逆周波数変換して予測誤差信号を復元する。加算器105は、復元された予測誤差信号と予測信号とを加算して再構築信号(再構築画像)を生成する。ブロックメモリ106およびインループフィルタ107は、再構築信号を入力する。
【0026】
ブロックメモリ106は、符号化対象ピクチャ内の参照ブロックを格納するためのバッファメモリである。
【0027】
インループフィルタ107は、例えば、デブロッキングフィルタ、サンプル適応オフセットフィルタおよび適応ループフィルタを含み、適切なフィルタリングを行う。インループフィルタ107でフィルタリングされた再構築信号は、フレームメモリ108に格納される。
【0028】
イントラ予測部111は、符号化対象ブロックとは異なるフレームメモリ108内の参照ブロックを参照して、符号化対象ブロックについてイントラ予測を行い、予測信号(この場合には、イントラ予測信号)を生成する。
【0029】
予測モード決定処理が実行されるときに、イントラ予測部111は、符号化対象のブロックのための予測方向を決定する。VVC方式が用いられている場合、イントラ予測部111は、67種類の予測方向から、符号化効率が最もよい予測方向を選択する。例えば、イントラ予測部111は、符号化コストを最小にする予測モードを、予測方向として選択する。後述するように、本実施形態では、イントラ予測部111は、サブブロックを利用して予測方向を選択する。また、本実施形態では、予測方向と予測モード(厳密には、角度予測の予測モード)とは1対1に対応する。
【0030】
なお、予測モード決定処理は、イントラ予測部111の外部で実行されてもよい。
【0031】
図2は、イントラ予測部111の構成例を示すブロック図である。イントラ予測部111は、予測器201、ブロック分割部202、サブブロック選択部203、サブブロック予測モード決定部204、および予測モード決定部205を含む。ブロック分割部202、サブブロック選択部203、サブブロック予測モード決定部204、および予測モード決定部205は、予測モード決定処理を実行する予測モード決定処理部を構成する。
【0032】
予測器201は、イントラ予測を行う。ブロック分割部202は、処理対象ブロックを所定のサイズの複数のサブブロックに分割する。
【0033】
サブブロック選択部203は、所定の基準に従って、ブロック分割部202が得た複数のサブブロックから、所定数のサブブロックを選択する。所定数として、サブブロックの総数以下の任意の数が選択されうる。しかし、予測モードを決定するための計算量をより削減するために、所定数は、サブブロックの総数未満であることが好ましい。以下、所定数がサブブロックの総数未満である場合を例にする。選択されるサブブロックの数をkとする。
【0034】
サブブロック予測モード決定部204は、選択されたサブブロックの各々を対象として、複数の予測方向のそれぞれを使用してサブブロックが符号化されたときの、それぞれの発生符号量に対応する符号量コストを計算する。サブブロック予測モード決定部204は、さらに、複数の予測方向のそれぞれを使用してサブブロックが符号化されたときの、それぞれの符号化歪みを計算する。サブブロック予測モード決定部204は、各々の符号量Rと各々の符号化歪みDとを使用して、符号化コストを計算する。例えば、サブブロック予測モード決定部204は、下記の(1)式で表されるRD(Rate-distortion)コストを計算する。下記の(1)式において、λは、ラグランジュ乗数である。そして、サブブロック予測モード決定部204は、最小のRDコストに対応する予測方向を、符号化効率を最も高くする予測方向すなわちサブブロックの予測モードとして決定する。以上のような処理によって、複数のサブブロックの各々に対応する最適な予測モードが決定される。
【0035】
Cost=D+λR ・・・(1)
【0036】
なお、予測モードの選択方法は、RDコストを用いる方法に限定されない。予測モードを選択するときに、例えば、予測画像と入力画像(この例では、サブブロック)または再構築画像との差分の絶対値和(SAD)等を用いてもよい。
【0037】
本実施形態では、サブブロック予測モード決定部204が、サブブロックの各々に対応する予測モード(サブブロック各々の予測モード)を決定する処理を実行する。しかし、後述するように、既に決定されているサブブロック各々の予測モードを流用して、サブブロックの予測モードを決定するようにしてもよい。
【0038】
なお、映像符号化装置100が、ブロックの形状を決定するときなどに、各々のサイズ(例えば、4×4、8×8)のサブブロックの予測モードを決定する処理が実行されるように構成されていることもある。その場合には、サブブロック予測モード決定部204は、既に決定されている予測モードから、選択されたサブブロックの予測モードを選択できる。
【0039】
一例として、サブブロックのサイズが8×8であることを想定する。当該サブブロックが包含する4つの4×4のサブブロック(下位のサブブロックといえる。)のそれぞれに適する予測モードが決定されている場合、サブブロック予測モード決定部204は、下位のサブブロックのそれぞれに適する予測モードから予測モード候補を選択する。この場合、サブブロック予測モード決定部204は、例えば、下位のサブブロックのそれぞれに適する予測モードを用いて、サブブロック(この例では、8×8のサブブロック)に関する符号化コストを計算し、符号化コストを最小にする予測モードを、予測モード候補とする。なお、下位のサブブロックの予測モードは、8×8のサブブロックに対応する予測モードに相当する。なお、サブブロックのサイズが8×8であることは一例であって、サブブロックのサイズが他の値であっても、上記の考え方を適用可能である。
【0040】
予測モード決定部205は、符号化対象ブロックの予測モードを決定する。具体的には、予測モード決定部205は、選択された複数のサブブロックの予測モードから、符号化対象ブロックの予測モードを選択する。例えば、選択されたサブブロックの数が3であり、それぞれに対応する予測モードが、予測モード2、予測モード3、予測モード4である場合には、予測モード決定部205は、予測モード2、予測モード3、および予測モード4のうちから予測モードを選択する。予測モード決定部205は、符号化対象ブロックの予測モードを決定するときに、上記のサブブロックの予測モードを決定するときに用いた方法と同じ方法を用いることができる。
【0041】
次に、予測モード決定部205が実行する処理を説明する。
図3は、予測モード決定部205が実行する処理の前提としての処理を説明するための説明図である。
図3に示す例では、符号化対象ブロックのサイズは8×8であり、4つのサブブロックのサイズは、それぞれ、4×4である。なお、
図3には、前提としての処理を説明するための例が示されているのであり、本実施形態における予測モード決定部205は、
図3に示す例で説明される処理を実行しない。
【0042】
図3において、符号化対象ブロックは、太線で囲われているブロックである。また、
図3において、選択されるサブブロックは、太線で囲われているブロックである。
図3以外の図面でも、符号化対象ブロックは、太線で囲われるように示される。また、選択されるサブブロックは、太線で囲われるように示される。
図3において、矢印は、符号化対象画素と参照画素との関係(参照関係)を示す。
図3以外の図面でも、矢印は、参照関係を示す。
【0043】
符号化対象ブロックの予測モードを決定するときに、RDコストが用いられる場合を例にする。左上のサブブロックを第1サブブロック601とする。右上のサブブロックを第2サブブロック602とする。左下のサブブロックを第3サブブロック603とする。右下のサブブロックを第4サブブロック604とする。
【0044】
一例として、第1サブブロック601に対して決定された予測モードを、予測モード2とする。第2サブブロック602に対して決定された予測モードを、予測モード3とする。第3サブブロック603に対して決定された予測モードを、予測モード4とする。第4サブブロック604に対して決定された予測モードを、予測モード5とする。
【0045】
符号化対象ブロック(8×8のブロック)の予測モードを決定するときに、符号化対象ブロックが予測モード2、すなわち、第1サブブロック601に対して決定された予測モードを用いてイントラ符号化された場合のRDコストが計算される。符号化対象ブロックが予測モード3、すなわち、第2サブブロック602に対して決定された予測モードを用いてイントラ符号化された場合のRDコストが計算される。符号化対象ブロックが予測モード4、すなわち、第3サブブロック603に対して決定された予測モードを用いてイントラ符号化された場合のRDコストが計算される。符号化対象ブロックが予測モード5、すなわち、第4サブブロック604に対して決定された予測モードを用いてイントラ符号化された場合のRDコストが計算される。その結果、4つのRDコストが得られる。
【0046】
そして、4つのRDコストのうち、最小のRDコストを呈した予測モード(最小のRDコストに対応する予測モード)が、符号化対象ブロックがイントラ符号化されるときに使用されるべき最適な予測モードとして決定される。
【0047】
図4は、本実施形態における予測モード決定部205が実行する処理の一例を説明するための説明図である。
【0048】
予測モード決定部205は、符号化対象ブロックを対象として、第1~第4サブブロック601~604のうち、所定の基準に従って選択されたサブブロックに対応する予測モードのみに関するRDコストを算出する。
図4には、第1~第3サブブロック601~603が選択されたことが示されている。すなわち、予測モード決定部205は、符号化対象ブロックが予測モード2、すなわち、第1サブブロック601に対して決定された予測モードを用いてイントラ符号化した場合のRDコストを計算する。また、予測モード決定部205は、符号化対象ブロックが予測モード3、すなわち、第2サブブロック602に対して決定された予測モードを用いてイントラ符号化した場合のRDコストを計算する。さらに、予測モード決定部205は、符号化対象ブロックが予測モード4、すなわち、第3サブブロック603に対して決定された予測モードを用いてイントラ符号化した場合のRDコストを計算する。その結果、3つのRDコストが得られる。
【0049】
そして、予測モード決定部205は、3つのRDコストのうち、最小のRDコストに対応する予測モードを、符号化対象ブロックがイントラ符号化されるときに使用されるべき予測モードとして決定する。
【0050】
図3に示された例で説明される処理と、
図4に示された例で説明される処理とを比較すると、
図4に示された例で説明される処理の方が、符号化対象ブロックで使用されるべき予測モードを決定するための計算量は少ない。すなわち、本実施形態では、イントラ予測部111が、サブブロックの予測モードを利用して符号化対象ブロックの予測モードを決定するように構成されている場合に、計算量を削減することができる。また、複数のサブブロックのうちには、符号化対象ブロックに適する予測モードとは大きく異なる予測モードが最適な予測モードとされるものがある可能性がある。そのような予測モードについても符号化対象ブロックの予測モードの探索対象とするのは無駄である。しかし、本実施形態では、そのような無駄の発生を低減することもできる。
【0051】
次に、イントラ予測部111の動作を説明する。
図5は、イントラ予測部111の動作を示すフローチャートである。
【0052】
ブロック分割部202は、処理対象ブロックを所定のサイズの複数のサブブロックに分割する(ステップS101)。サブブロックのサイズは、あらかじめ決められるが、任意に設定可能である。なお、サブブロックのサイズは、要求される画質や装置の処理能力などを勘案して決定される。
【0053】
図6は、符号化対象ブロックの分割の仕方の一例を示すブロック図である。
図6には、16×16の符号化対象ブロックが例示されている。また、8×8のサブブロックと4×4のサブブロックとが例示されている。すなわち、符号化対象ブロックが4分割される例と、符号化対象ブロックが16分割される例とが示されている。
【0054】
図6に示す例では、サブブロックのサイズが8×8である場合には、ブロック分割部202は、符号化対象ブロックを4個のサブブロックに分割する。サブブロックのサイズが4×4である場合には、サブブロック選択部203は、符号化対象ブロックを16個のサブブロックに分割する。
【0055】
4個のサブブロックが生成された場合、サブブロック選択部203は、4個未満(一例として3個)のサブブロックを選択する。16個のサブブロックが生成された場合、サブブロック選択部203は、16個未満(一例として、5個)のサブブロックを選択する。
【0056】
図6に例示された符号化対象ブロックの分割の仕方は一例であって、符号化対象ブロッは、任意のサイズのサブブロックに分割可能である。
【0057】
サブブロック選択部203は、ブロック分割部202が生成したサブブロックの総数未満のサブブロックを選択する(ステップS102)。
【0058】
予測器201は、サブブロックの各々を対象として、67種類の予測モードの各々を用いてイントラ符号化を行う。サブブロック予測モード決定部204は、サブブロックの各々を対象として、RDコストを計算する。サブブロック予測モード決定部204は、サブブロックの各々について、符号化効率が最もよい予測モードを、サブブロックの予測モードに決定する(ステップS103)。なお、例えば、符号化効率が最もよい予測モードを推測可能である場合には、予測器201は、推測される予測モードを含む複数の予測モード(67未満の予測モード)のみを用いてイントラ予測を行ってもよい。
【0059】
ステップS103の処理で、予測モード候補に相当するk個の予測モードが取得される。なお、各々のサブブロックに対応する予測モードが決定済みである場合には、サブブロック予測モード決定部204は、ステップS103において、決定済みの予測モードに基づいて、予測モード候補を取得できる。上述したように、サブブロックに対応する予測モードは、例えば、下位のサブブロックのそれぞれに適するとされた予測モードである。
【0060】
なお、k個の予測モードのうちに重複する予測モードが存在する場合には、サブブロック予測モード決定部204は、重複する予測モードを1つの予測モードと見なす。例えば、k個の予測モードのうちに、予測モード2が2つある場合には、サブブロック予測モード決定部204は、(k-1)個の予測モードを決定することになる。
【0061】
サブブロック選択部203によって選択されるサブブロックの数は、任意である。
図7は、選択されるサブブロックの数の例を示す説明図である。
図7における左側には、4個のサブブロックから3個のサブブロックが選択される例が示されている。
図7における中央には、16個のサブブロックから7個のサブブロックが選択される例が示されている。
図7における右側には、16個のサブブロックから5個のサブブロックが選択される例が示されている。
【0062】
サブブロック選択部203によって選択されるサブブロックの数は、例えば、要求される予測精度や装置の処理能力などを勘案してあらかじめ決定される。
【0063】
なお、ブロック分割部202は、4個のサブブロックへの分割と16個のサブブロックへの分割とを、排他的に実行してもよいし、ともに実行してもよい。ブロック分割部202によって4個のサブブロックへの分割と16個のサブブロックへの分割とがともに実行される場合には、ブロック分割部202は、4個の8×8のサブブロックを特定可能な情報(データ)と、16個の4×4のサブブロックを特定可能な情報とを、サブブロック選択部203に出力する。
【0064】
サブブロック選択部203は、4個の8×8のサブブロックから4個未満のサブブロックを選択するとともに、16個の4×4のサブブロックから16個未満のサブブロックを選択する。サブブロック選択部203は、選択したブロックを予測器201に通知する。なお、選択されるサブブロックの数が20未満であれば、4個の8×8のサブブロックを選択したり、16個の4×4のサブブロックを選択してもよい。
【0065】
予測器201は、k個の予測モードのそれぞれを用いて符号化対象ブロックをイントラ符号化する。なお、上述したように、予測モードの数はkよりも少ないことがある。
【0066】
そして、予測モード決定部205は、k個の予測モードの各々を使用して符号化された場合の符号化コスト(本実施形態では、RDコスト)を計算する(ステップS104)。予測モード決定部205は、符号化コストを最小にする予測モードを選択する(ステップS105)。予測モード決定部205は、選択した予測モードを、符号化対象ブロックが実際に符号化されるときに使用されるべき予測モードに決定する。
【0067】
次に、複数のサブブロックから所定数のサブブロックを選択するときの選択の基準の例を説明する。
【0068】
図8は、サブブロックを選択するときの選択の基準の一例を説明するための説明図である。
図8に示す例では、8×8の符号化対象ブロックが、4個の4×4のサブブロックに分割される。
図8における符号Aで示されている部分には、左上のサブブロックにおける符号化対象画素と参照画素との関係(参照関係)が例示されている。
【0069】
図8における符号Bで示されている部分には、右下のサブブロックにおける参照関係が例示されている。
図8に示すように、右下のサブブロックの符号化対象画素に対する参照画素領域(イントラ予測が行われるときに参照される画素領域)は、符号化対象ブロックにおける符号化対象画素に対する参照画素領域とは異なっている。一般に、あるブロックの参照画素領域と他のブロックの参照画素領域とが異なる場合には、双方のブロックに対する最適予測モードがかけ離れる。すなわち、双方のブロックに適する予測モード番号がかけ離れる。そのような状況において、あるブロックに適する予測モードを用いて他のブロックのイントラ符号化を実行すると、予測精度が低下する。
【0070】
換言すれば、サブブロックの符号化対象画素に対する参照画素領域と符号化対象ブロックにおける符号化対象画素に対する参照画素領域とが重なるような場合には、サブブロックについての予測モードおよび予測結果と、符号化対象ブロックについての予測モードおよび予測結果との相関度が高い。そのような状況において、サブブロックに適する予測モードを用いて符号化対象ブロックのイントラ符号化を実行すると、予測精度が高くなる。
【0071】
そこで、本実施形態では、サブブロック選択部203は、符号化対象ブロックにおける符号化対象画素の参照画素領域と重なる面積(重なる領域の面積)が大きい参照画素領域を有するサブブロックを優先して選択する。
図8に示す例では、右下のサブブロックの参照画素領域と符号化対象ブロックにおける符号化対象画素の参照画素領域との重なりはない。
【0072】
そこで、
図8における符号Cで示されている部分に例示されているように、サブブロック選択部203は、例えば、参照画素領域が符号化対象画素の参照画素領域と重なる面積が大きい、左上のサブブロック、右上のサブブロックおよび左下のサブブロックを選択する。
【0073】
なお、サブブロックが選択される基準となる参照画素領域が重なる面積(しきい値)があらかじめ決められている場合、例えば、サブブロック選択部203は、しきい値を超えるサブブロックを選択する。
【0074】
図9は、参照画素領域の重なりをより詳しく説明するための説明図である。
図9に示す例では、8×8の符号化対象ブロックが、16個の4×4のサブブロックに分割される。左上のサブブロックに着目すると、そのサブブロックについての参照画素領域は、符号化対象ブロックについての参照画素領域に包含されている。
【0075】
図10は、長方形のサブブロックを選択するときの選択の基準の一例を説明するための説明図である。VVC方式では、長方形のCUも使用可能である。
図8および
図9に例示された正方形の符号化対象ブロックの場合の基準を、長方形の符号化対象ブロックにも適用できる。
【0076】
図10には、8×16の長方形の符号化対象ブロックと、4×8の4個のサブブロックが例示されている。サブブロックの形状が正方形である場合と同様に、右下のサブブロックの参照画素領域と符号化対象ブロックの参照画素領域とが重なる面積は小さい。
【0077】
サブブロック選択部203は、右下のサブブロックを選択しない。例えば、サブブロック選択部203は、参照画素領域が符号化対象画素の参照画素領域と重なる面積が大きい、左上のサブブロック、右上のサブブロックおよび左下のサブブロックを選択する。
【0078】
図11は、長方形のCUの分割の仕方の一例を示す説明図である。
図11には、8×16の長方形の符号化対象ブロックが例示されている。この場合、ブロック分割部202は、正方形のサブブロックを生成できるとともに、長方形のサブブロックを生成できる。
図11には、4×4の8個のサブブロックと、4×8の4個のサブブロックとが例示されている。
【0079】
本実施形態を使用しない場合には、予測モード決定部は、予測モード決定処理において、12個のサブブロックの各々に対応する予測モードから、符号化対象ブロックに対する最適な予測モードを選択する。
【0080】
図12は、正方形のサブブロックと長方形のサブブロックとを選択するときの選択の基準の一例を説明するための説明図である。
【0081】
本実施形態では、サブブロック選択部203は、上述したように、正方形のサブブロックに関して、符号化対象ブロックにおける符号化対象画素の参照画素領域と重なる面積が大きい参照画素領域を有するサブブロックを優先して選択する。また、長方形のサブブロックに関しても、符号化対象ブロックにおける符号化対象画素の参照画素領域と重なる面積が大きい参照画素領域を有するサブブロックを優先して選択する。
図12には、サブブロック選択部203は、12個のサブブロックから、8個のサブブロックを選択することが例示されている。
【0082】
図13は、サブブロックを選択するときの選択の基準の他の例を説明するための説明図である。
図13には、8×16の符号化対象ブロックが例示されている。また、
図13には、4×4の8個のサブブロックと、4×8の4個のサブブロックとが例示されている。
【0083】
なお、本実施形態では、サブブロック選択部203は、符号化対象ブロックの形状と同じ形状のサブブロックを優先して選択する。同じ形状は、符号化対象ブロックの水平方向の画素数と垂直方向の画素数との比と、サブブロックの水平方向の画素数と垂直方向の画素数との比とが同じであることを意味する。
【0084】
符号化対象ブロックの形状と同じ形状のサブブロックを優先して選択する理由は、形状が同じであれば、サブブロックについての予測モードおよび予測結果と、符号化対象ブロックについての予測モードおよび予測結果との相関度が高いと考えられるからである。
【0085】
また、符号化対象ブロックが長方形であるときに、ブロック分割部202が長方形のサブブロックと正方形のサブブロックとを生成した場合には、サブブロック選択部203は、長方形のサブブロックを優先して選択する。長方形のサブブロックを優先して選択する理由は、長方形のサブブロックの方が、符号化対象ブロックの参照画素領域と重なる面積が大きい参照画素領域を有するからである。
【0086】
また、符号化対象ブロックが長方形であるときに、ブロック分割部202が長方形のサブブロックを生成した場合には、サブブロック選択部203は、長方形の短辺方向に位置するサブブロックよりも、長方形の長辺方向に位置するサブブロックを優先して選択する。
図13に示す例では、サブブロック選択部203は、左上のサブブロックaに対して長方形の長辺方向に位置するサブブロックbを、短辺方向に位置するサブブロックcよりも優先して選択する。長辺方向に位置するサブブロックを優先して選択する理由は、長辺方向に位置するサブブロックの方が、短辺方向に位置するサブブロックに比べて、符号化対象ブロックの参照画素領域と重なる面積が大きい参照画素領域を有するからである。
【0087】
なお、
図13には、サブブロック選択部203によって選択されるサブブロックの数が5である場合が例示されている。
【0088】
サブブロック選択部203は、上記の基準すなわち参照画素領域が重なる面積に基づいて、サブブロックa、サブブロックb、サブブロックc、サブブロックd、サブブロックeの順にサブブロックを選択する。
【0089】
以上に説明したように、本実施形態では、映像符号化装置は、複数のサブブロックの各々の予測モードを利用して符号化対象ブロックの予測モードを決定するように構成されている場合に、所定の基準に従って、生成されたサブブロックから、所定数のサブブロックを選択する。そして、映像符号化装置は、選択されたサブブロックの各々の予測モードに基づいて、符号化対象ブロックの予測モードを決定する。したがって、予測モード決定処理の計算量を削減することができる。
【0090】
上記の実施形態では、符号化対象ブロックがサブブロックで構成される場合を例にして、映像符号化装置の構成および動作が説明された。しかし、上記の実施形態を、符号化対象ブロックの予測モードを決定する処理における中途の処理にも適用可能である。
【0091】
一例として、最小CUサイズを8×8とする。また、最大CUサイズを32×32とする。32×32のブロックは、4個の16×16のサブブロック(第1サブブロック)を含む。16×16のサブブロックは、4個の8×8のサブブロック(第2サブブロック)を含む。
【0092】
予測モード決定処理部は、4個の第2サブブロックの各々に対する最適な予測モードを、67の予測モードから選択する。すなわち、予測モード決定処理部は、4つの予測モードを得る。予測モード決定処理部は、例えば、上述したように符号化コストに基づいて予測モードを選択する。
【0093】
次いで、予測モード決定処理部は、4個の第1サブブロックの各々に対する最適な予測モードを、第2サブブロックについての4つの予測モードから選択する。すなわち、予測モード決定処理部は、4つの予測モードを得る。予測モード決定処理部は、例えば、上述したように符号化コストに基づいて予測モードを選択する。このとき、第1サブブロックをブロックと見なし、第2サブブロックをサブブロックと見なせば、予測モード決定処理部は、所定数のサブブロックの予測モードから、ブロックがイントラ符号化されるときに用いられる予測モードを選択することになる。
【0094】
さらに、予測モード決定処理部は、32×32のブロックに対する最適な予測モードを、第1サブブロックについての4つの予測モードから選択する。予測モード決定処理部は、例えば、上述したように符号化コストに基づいて予測モードを選択する。このとき、第1サブブロックをサブブロックと見なせば、予測モード決定処理部は、所定数のサブブロックの予測モードから、32×32のブロックがイントラ符号化されるときに用いられる予測モードを選択することになる。
【0095】
以上のように、第1~第3の段階における予測モードを決定する処理に対して、上記の実施形態を適用可能である。なお、上記の例では、第1の段階は、8×8のサブブロックの最適な予測モードを決定する段階に相当する。第2の段階は、16×16のサブブロックの最適な予測モードを決定する段階に相当する。第3の段階は、32×32のサブブロックの最適な予測モードを決定する段階に相当する。
【0096】
サブブロックの形状が正方形である場合の例が説明されたが、長方形のサブブロックが扱われる場合、および、長方形のサブブロックと正方形のサブブロックとがともにが扱われる場合(長方形のサブブロックと正方形のサブブロックとが混在する場合)にも、上記の第1~第3の段階における予測モードを決定する処理を適用可能である。なお、段階数は3に限られない。4以上の段階があってもよい。
【0097】
また、映像符号化装置が、ブロックの形状を決定するときなどに、上記の複数の段階を経て最終的なブロック(上記の例では、32×32のブロック)に対する最適な予測モードを決定する処理を実行するように構成されることがある。その場合には、予測モード決定処理部は、既に決定されている予測モードを、サブブロックの予測モードとして使用してもよい。
【0098】
実施形態2.
図14は、映像復号装置の構成例を示すブロック図である。
図14に示す映像復号装置300は、エントロピー復号器301、逆量子化/逆変換器302、加算器303、予測部310、およびバッファ304を含む。予測部310は、イントラ予測部311およびインター予測部312を含む。なお、
図14に示す映像復号装置は、例えば、第1の実施形態の映像符号化装置からのビットストリームを受信することができる。
【0099】
エントロピー復号器301は、エントロピー符号化データをエントロピー復号する。エントロピー符号化データは、予測パラメータがエントロピー符号化されたデータと変換量子化値がエントロピー符号化されたデータとを含む。エントロピー復号器301は、エントロピー復号した変換量子化値を逆量子化/逆変換器302に供給する。また、エントロピー復号器301は、エントロピー復号した予測パラメータを、予測部310に供給する。
【0100】
逆量子化/逆変換器302は、変換量子化値を逆量子化する。さらに、逆量子化/逆変換器302は、逆量子化した周波数変換係数を逆周波数変換する。
【0101】
予測部310は、予測パラメータに基づいて、各ブロックの予測信号を生成する。なお、予測パラメータがイントラ予測を示している場合には、イントラ予測部311が予測信号を生成する。予測パラメータがインター予測を示している場合には、インター予測部312が予測信号を生成する。
【0102】
なお、イントラ予測部311は、予測パラメータ(具体的には、イントラ予測に関するシンタクス)から、予測モードを特定する。
【0103】
逆量子化/逆変換器302で逆周波数変換された予測誤差信号は、加算器303によって、予測部310から供給される予測信号が加えられた後、再構築画像としてバッファ304に供給される。バッファ304は、再構築画像を格納する。バッファ304に格納された各再構築画像は、表示順に復号映像として出力される。
【0104】
映像復号装置300が、上記のように構成され、かつ、上記のように動作するので、第1の実施形態の映像符号化装置と映像復号装置との相互運用性が確保される。
【0105】
実施形態3.
図15は、映像システムの一例を示すブロック図である。
図15に示す映像システムは、第1の実施形態の映像符号化装置と第2の実施形態の映像復号装置300とが、無線伝送路または有線伝送路400で接続されるシステムである。
【0106】
映像符号化装置100の構成および動作は、
図1に示された映像符号化装置の構成および動作と同じである。映像復号装置300の構成および動作は、
図14に示された映像復号装置300の構成および動作と同じである。
【0107】
また、上記の各実施形態を、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
【0108】
図16は、CPUを有するコンピュータの一例を示すブロック図である。コンピュータは、
図1に示された映像符号化装置100と
図14に示された映像復号装置300のそれぞれに実装可能である。CPU1000は、記憶装置1001に格納されたプログラム(映像符号化プログラムまたは映像復号プログラム)に従って処理を実行することによって、上記の各実施形態における各機能を実現する。
【0109】
すなわち、コンピュータが
図1に示された映像符号化装置100に実装される場合には、映像符号化装置100における、減算器101、変換/量子化器102、逆量子化/逆変換器103、エントロピー符号化器104、加算器105、インループフィルタ107、ならびに予測部110におけるイントラ予測部111およびインター予測部112の機能を実現する。
【0110】
コンピュータが
図14に示された映像復号装置300に実装される場合には、映像復号装置300における、エントロピー復号器301、逆量子化/逆変換器302、加算器303、ならびに予測部310におけるイントラ予測部311およびインター予測部312の機能を実現する。
【0111】
記憶装置1001は、例えば、非一時的なコンピュータ可読媒体(non-transitory computer readable medium )である。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium )を含む。非一時的なコンピュータ可読媒体の具体例として、磁気記録媒体(例えば、ハードディスク)、CD-ROM(Compact Disc-Read Only Memory )、CD-R(Compact Disc-Recordable )、CD-R/W(Compact Disc-ReWritable )、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM )、フラッシュROM)がある。
【0112】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium )に格納されてもよい。一時的なコンピュータ可読媒体には、例えば、有線通信路または無線通信路を介して、すなわち、電気信号、光信号または電磁波を介して、プログラムが供給される。
【0113】
メモリ1002は、例えばRAM(Random Access Memory)で実現される。メモリ1002は、CPU1000が処理を実行するときに一時的にデータを格納する記憶手段である。メモリ1002に、記憶装置1001または一時的なコンピュータ可読媒体が保持するプログラムが転送され、CPU1000がメモリ1002内のプログラムに基づいて処理を実行するような形態も想定しうる。
【0114】
また、メモリ1002は、
図1に示されたブロックメモリ106およびフレームメモリ108として使用可能である。メモリ1002は、
図14に示されたバッファ304として使用可能である。
【0115】
図17は、映像符号化装置の主要部を示すブロック図である。
図17に示す映像符号化装置10は、複数画素からなるブロック(例えば、符号化対象ブロック)を分割して得られる複数のサブブロックのうちから所定数のサブブロック(k個のサブブロック)を選択するサブブロック選択手段11(実施形態では、ブロック分割部202で実現される。)と、所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得する予測モード取得手段12(実施形態では、サブブロック予測モード決定部204で実現される。)と、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段13(実施形態では、予測器201および予測モード決定部205で実現される。)とを備えている。
【0116】
上記の実施形態および実施例の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
【0117】
(付記1)少なくともイントラ予測機能を有する映像符号化装置であって、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択するサブブロック選択手段と、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得する予測モード取得手段と、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段と
を備えた映像符号化装置。
【0118】
(付記2)前記所定数は、前記複数のサブブロックの総数未満である
付記1記載の映像符号化装置。
【0119】
(付記3)前記サブブロック選択手段は、水平方向の画素数と垂直方向の画素数との比が、前記ブロックの当該比と同じであるサブブロックを優先して選択する
付記1または付記2記載の映像符号化装置。
【0120】
(付記4)前記サブブロック選択手段は、サブブロックについてイントラ予測が行われるときに参照される画素領域と前記ブロックについてイントラ予測が行われるときに参照される画素領域とが重なる領域の面積が所定値よりも大きいサブブロックを選択する
付記1または付記2記載の映像符号化装置。
【0121】
(付記5)前記サブブロック選択手段は、サブブロックのうち、イントラ予測が行われるときに参照される画素領域と前記ブロックについてイントラ予測が行われるときに参照される画素領域とが重なる領域の面積が所定値よりも大きいサブブロックから、前記所定数のサブブロックを順に選択する
付記4記載の映像符号化装置。
【0122】
(付記6)前記ブロックが長方形であり、サブブロックが正方形である場合に、前記サブブロック選択手段は、長方形の短辺方向に位置するサブブロックよりも、長方形の長辺方向に位置するサブブロックを優先して選択する
付記1または付記2記載の映像符号化装置。
【0123】
(付記7)前記ブロックが長方形であり、サブブロックに長方形のサブブロックと正方形のサブブロックとが含まれる場合に、前記サブブロック選択手段は、長方形のサブブロックを優先して選択する
付記1または付記2記載の映像符号化装置。
【0124】
(付記8)前記予測モード決定手段は、選択された予測モードの各々を用いて前記ブロックがイントラ符号化された場合の符号化コストを計算し、符号化コストを最小にする予測モードを、前記ブロックがイントラ符号化されるときに用いられる予測モードとする
付記1または付記2記載の映像符号化装置。
【0125】
(付記9)少なくともイントラ予測機能を有する映像符号化方法であって、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択し、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得し、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する
映像符号化方法。
【0126】
(付記10)コンピュータに、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択させ、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得させ、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定させる
ための映像符号化プログラム。
【0127】
(付記11)付記1記載の映像符号化装置と、
少なくともイントラ予測機能を有し、前記映像符号化装置からのビットストリームを入力して映像復号処理を行う映像復号装置と
を含む映像システム。
【符号の説明】
【0128】
10 映像符号化装置
11 サブブロック選択手段
12 予測モード取得手段
13 予測モード決定手段
100 映像符号化装置
101 減算器
102 変換/量子化器
103 逆量子化/逆変換器
104 エントロピー符号化器
105 加算器
106 ブロックメモリ
107 インループフィルタ
108 フレームメモリ
110 予測部
111 イントラ予測部
112 インター予測部
201 予測器
202 ブロック分割部
203 サブブロック選択部
204 サブブロック予測モード決定部
205 予測モード決定部
300 映像復号装置
301 エントロピー復号器
302 逆量子化/逆変換器
303 加算器
304 バッファ
310 予測部
311 イントラ予測部
312 インター予測部
1000 CPU
1001 記憶装置
1002 メモリ