JP2016187134A - 予測モード判定方法及び予測モード判定プログラム - Google Patents
予測モード判定方法及び予測モード判定プログラム Download PDFInfo
- Publication number
- JP2016187134A JP2016187134A JP2015067060A JP2015067060A JP2016187134A JP 2016187134 A JP2016187134 A JP 2016187134A JP 2015067060 A JP2015067060 A JP 2015067060A JP 2015067060 A JP2015067060 A JP 2015067060A JP 2016187134 A JP2016187134 A JP 2016187134A
- Authority
- JP
- Japan
- Prior art keywords
- prediction mode
- motion vector
- prediction
- mode determination
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】符号化効率の低下を抑えつつ、演算量削減を実現することができる予測モード判定を行う。【解決手段】符号化対象ブロックについて動きベクトル差分を符号化する第1の予測モードの動きベクトルを算出するステップと、符号化対象ブロックについて動きベクトル差分を符号化しない第2の予測モードの動きベクトルを算出するステップと、第1の予測モードと第2の予測モードの動きベクトルの差異を算出するステップと、符号化対象ブロックに関する特徴量から動きベクトルを除外するか否かを判定するための条件を決定するステップと、算出された動きベクトルの差異が条件を満たすか否かを判定するステップと、判定の結果、条件を満たさない場合には符号化対象ブロックに対する第1の予測モードまたは第2の予測モードの中から予測モードを除外するステップとを有する。【選択図】図1
Description
本発明は、映像符号化において予測モードを判定する予測モード判定方法及び予測モード判定プログラムに関する。
映像符号化の標準規格であるH.264/AVCやH.265/HEVC(High Efficiency Video Coding)では符号化対象ピクチャの符号化をブロック単位で行う。以下の説明ではHEVCを例に説明する。HEVCでは符号化対象ピクチャをLCU(Largest Coding Unit)と呼ばれるブロックに分け、LCU毎に符号化を行う。LCUは四分木で最大3回まで分割することができる。LCUは最大64画素×64画素(以下、n画素×n画素をnxn(nは、8、16、32、64)と称する)から8x8までのCU(Coding Unit)と呼ばれるブロックから構成され、CU単位で異なる予測モードの符号化を行うことができる。HEVCでは予測モードとして符号化対象ブロックの隣接画素から予測を行うイントラ予測モード、符号化済みフレームから予測を行うインター予測モード、スキップモード、マージモードが規定されている。
インター予測モードとスキップモード、マージモードは動きベクトル情報の符号化方法が異なる。インター予測モードは符号化対象ブロックの周囲或いは符号化済みフレームの符号化済みブロックから取得した予測動きベクトルとの差分、予測動きベクトルインデックス、参照フレームインデックス、予測方向情報を符号化する。これに対し、スキップモードとマージモードは周囲或いは符号化済みフレームの符号化済みブロックから最大5つの候補リスト(以下、マージ候補リストと称する)を作成し、インデックスのみを符号化する。また、スキップモードとマージモードでは動きベクトルで動き補償した際の予測残差を符号化するか否かの違いがあり、スキップモードは残差を符号化せず、マージモードは符号化する。
前述したようにスキップモードとマージモードはそれぞれ最大5つの候補から選択することができる。このため、全ての動きベクトル候補について最適な予測モードであるかを判定すると、予測モード判定処理に要する演算量が増大する。
このような問題に対して、HEVCの参照ソフトウェア(HM)(例えば、非特許文献1参照)では次のような方法で対処している。まずマージ候補リスト内の各動きベクトル候補に対して順に動き補償、残差計算、変換処理及び量子化を施し、量子化後の変換係数に有意係数(0ではない係数)があるか否かのチェックを行う。有意係数が無い場合にはその時点でチェックしていない動きベクトル候補に対してはマージモードの計算を省略(動き補償以降の計算を省略)することで演算量を削減する。
[online]、[平成27年3月12日検索]、インターネット<https://hevc.hhi.fraunhofer.de/trac/hevc/>、HEVCの参照ソフトウェア(HM)
しかしながら、非特許文献1に記載のHEVCの参照ソフトウェアにあっては、特に符号化対象ピクチャが複雑な動きを含む場合には有意係数が存在するケースが多くなる。このため、全ての動きベクトル候補に対して計算することになり演算量を削減できないという問題がある。
本発明は、このような事情に鑑みてなされたもので、符号化効率の低下を抑えつつ、演算量削減を実現することができる予測モード判定方法及び予測モード判定プログラムを提供することを目的とする。
本発明は、映像符号化において画像領域を分割した符号化対象ブロックの予測モードを判定する予測モード判定方法であって、前記符号化対象ブロックについて動きベクトル差分を符号化する1つ以上の第1の予測モードの動きベクトルを算出する第1の動きベクトル算出ステップと、前記符号化対象ブロックについて動きベクトル差分を符号化しない1つ以上の第2の予測モードの動きベクトルを算出する第2の動きベクトル算出ステップと、前記第1の予測モードと前記第2の予測モードの動きベクトルの差異を算出する動きベクトル差異算出ステップと、前記符号化対象ブロックに関する1つ以上の特徴量から前記第1の予測モードまたは前記第2の予測モードの中から1つ以上の動きベクトルを除外するか否かを判定するための条件を決定するモード判定条件決定ステップと、前記動きベクトル差異算出ステップにおいて算出された前記動きベクトルの差異が前記条件を満たすか否かを判定するモード判定ステップと、前記モード判定ステップによる判定の結果、前記条件を満たさない場合には前記符号化対象ブロックに対する第1の予測モードまたは第2の予測モードの中から1つ以上の予測モードを除外するモード除外ステップとを有することを特徴とする。
本発明は、前記第1の動きベクトル算出ステップでは、前記第2の予測モードの動きベクトルが指す参照画像のみを動き探索の対象とすることを特徴とする。
本発明は、前記特徴量は、前記符号化対象ブロックの量子化パラメータ、予測ブロックサイズ、第1の予測モードにおける予測画像と原画像の誤差及びそれらの分散、第1の予測モードの動きベクトルと第2の予測モードの動きベクトルそれぞれの予測方向及びそれらの組み合わせのうち、少なくとも1つであることを特徴とする。
本発明は、前記条件は閾値を用いた不等式で表現され、当該閾値は、量子化パラメータ、予測ブロックサイズ、第1の予測モードにおける予測画像と原画像の誤差、当該誤差の分散のうち少なくとも1つを引数とし、前記量子化パラメータ、前記予測ブロックサイズの逆数、前記第1の予測モードにおける前記予測画像と前記原画像の誤差の逆数及びそれらの分散の逆数のそれぞれについて単調増加する性質を有する関数を用いることを特徴とする。
本発明は、前記条件は閾値を用いた不等式で表現され、当該閾値は、第1の予測モードの動きベクトルの予測方向と第2の予測モードの動きベクトルの予測方向の組み合わせを引数とし、当該組み合わせが双方向−片方向、片方向−片方向、片方向−双方向または双方向−双方向の順に単調増加する性質を有する関数を用いることを特徴とする。
本発明は、前記条件は閾値を用いた不等式で表現され、当該閾値は前記符号化対象ブロックに関する特徴量のいずれか1つ以上の線形結合として表現される関数を用いることを特徴とする。
本発明は、前記条件に第1の予測モードの動きベクトルと第2の予測モードの動きベクトルの参照画像インデックスの一致度を含むことを特徴とする。
本発明は、コンピュータに、前記予測モード判定方法を実行させるための予測モード判定プログラムである。
本発明によれば、映像符号化において、符号化効率の低下を抑えつつ、演算量削減を実現することができるという効果が得られる。
<第1実施形態>
以下、図面を参照して、本発明の第1実施形態による予測モード判定装置を説明する。以下では一例としてHEVCに準拠した映像符号化装置に本発明による予測モード判定装置を適用した場合の実施形態を説明する。なお、説明を簡単にするため、LCUサイズ及びCUサイズは固定(例えば64x64)として記載するが、ブロック分割をした場合においても各CUに対して同様の処理を行うことで本発明を適用可能である。
以下、図面を参照して、本発明の第1実施形態による予測モード判定装置を説明する。以下では一例としてHEVCに準拠した映像符号化装置に本発明による予測モード判定装置を適用した場合の実施形態を説明する。なお、説明を簡単にするため、LCUサイズ及びCUサイズは固定(例えば64x64)として記載するが、ブロック分割をした場合においても各CUに対して同様の処理を行うことで本発明を適用可能である。
図1は予測モード判定装置が用いられる映像符号化装置全体の構成を示すブロック図である。図1に示す映像符号化装置100の構成は、一般的な公知の構成であるため、ここでは、説明を簡単に行う。映像符号化装置100には符号化対象入力映像の各符号化対象ピクチャについてLCU(CU)ブロック単位で入力され、このブロックに対応した符号化データが出力される。これが符号化対象ピクチャの各ブロックについてラスタスキャン順に繰り返し実行されることで、符号化対象ピクチャが符号化されることになる。
減算器1は、入力された入力画像とイントラ予測またはインター予測を行った結果得られる予測画像との差分を出力する。直交変換/量子化部2は、減算器1から出力する差分を入力し、直交変換と量子化を施し、可変長符号化部3と逆量子化/逆直交変換部4へ出力する。
可変長符号化部3は、直交変換/量子化部2から出力された量子化係数を可変長符号化し、符号化データとして映像符号化装置100から出力する。可変長符号化部3は、符号量を予測モード判定部11とイントラ予測部8に対して出力する。逆量子化/逆直交変換部4は、直交変換/量子化部2から出力された量子化係数に対して逆量子化と逆直交変換を施す。
加算器5は、逆量子化/逆直交変換部4から出力された画像と予測画像との和を出力する。ループフィルタ部6は、加算器5から出力される逆量子化/逆直交変換部4から出力された画像と予測画像との和にループフィルタを適用する。
復号ピクチャメモリ7は、ループフィルタ部6の出力を格納するとともに、インター予測部9へ出力し、後の符号化対象ブロックのインター予測において参照画像として利用される。
イントラ予測部8は、加算器5の出力される逆量子化/逆直交変換部から出力された画像と予測画像との和を参照画像として符号化対象ブロックのイントラ予測画像を生成する。インター予測部9は、復号ピクチャメモリ7の参照画像を用いて符号化対象ブロックのインター予測画像を生成する。
イントラ/インター切り替えスイッチ10は、予測モード判定部11からの出力に応じて、イントラ予測部8またはインター予測部9を切り替えて減算器1へ予測画像を出力する。予測モード判定部11は対象ブロックをどの予測モードで符号化するかを判定する。
次に、図2を参照して、図1に示す予測モード判定部11の詳細な構成を説明する。図2は、図1に示す予測モード判定部11の詳細な構成を示すブロック図である。動きベクトル算出部111は対象ブロックの動きベクトルを算出する。マージ候補リスト算出部112は周囲の符号化済みブロックからマージ候補リストを作成する。
動きベクトル差異算出部113は動きベクトル算出部で求めた動きベクトルとマージ候補リストの各動きベクトル候補について差異を計算する。予測モード判定条件決定部114は動きベクトル算出部111で求めた動きベクトルとマージ候補リストの各動きベクトル候補と後述する対象ブロックの特徴量に基づいてインター予測モード、スキップモード及びマージモードのそれぞれについて判定条件を決定する。
予測モード除外部115は予測モード判定条件決定部114で決定した各条件に基づいて動きベクトル差異算出部113の出力に対し、各予測モードの動きベクトルを評価値算出の計算対象から除外するか否かを判定する。評価値算出部116は除外されなかった動きベクトル候補に対する各予測モードとイントラ予測モードの評価値を算出する。評価値比較部117は算出した評価値の比較を行い、最小評価値の予測モードを出力する。
次に、図3を参照して、図2に示す予測モード判定部11の処理動作を説明する。図3は、図2に示す予測モード判定部11の処理動作を示すフローチャートである。
まず始めに、マージ候補リスト算出部112は、対象ブロックのマージ候補リスト(最大5つ)を作成する(ステップS1)。続いて、動きベクトル算出部111は対象ブロックについて動きベクトルを算出する(ステップS2)。
次に、予測モード除外部115は、インター予測モードの評価値算出フラグを無効にセットする(ステップS3)。そしてマージ候補リストの各動きベクトル候補について以下の処理を行う。
まず、動きベクトル差異算出部113は、算出した動きベクトルMV_Interとマージ候補リストの動きベクトルMV_Skipの差異dMVを計算する(ステップS4)。MV_InterとMV_Skipはそれぞれx成分とy成分を要素とする2次元ベクトルである。差異の計算は以下の式で表されるユークリッド距離を用いる。
dMV=√((MV_Inter_x−MV_Skip_x)2+(MV_Inter_y−MV_Skip_y)2)
dMV=√((MV_Inter_x−MV_Skip_x)2+(MV_Inter_y−MV_Skip_y)2)
MV_Inter_x,MV_Inter_yはそれぞれMV_Interのx成分、y成分、MV_Skip_x, MV_Skip_yはそれぞれMV_Skipのx成分、y成分を表す。差異の計算はその他にも各成分の差分の絶対値和や二乗和、重み付け線形和などが適用でき、これらを利用してもよいし、成分毎にdMVを算出して、後述する判定条件を成分毎に定義して判定してもよい。また、MV_InterとMV_Skipの参照画像が異なる場合には動きベクトルをいずれかの参照画像に統一するように参照距離に応じたスケーリングを行ってから差異を計算する。
さらに、一方が片方向予測で他方が双方向予測だった場合には双方向予測側の片方向予測と同じ予測方向の動きベクトルのみの差異を計算する。また、両方とも双方向予測だった場合にはそれぞれの予測方向の動きベクトルについて差異を計算し、それらの和として算出する。この計算はその他にも最大値、最小値、平均値、重み付け線形和などで計算してもよい。また、MV_Interの算出で各予測方向(片方向(L0及びL1)、双方向)でそれぞれ最適な動きベクトルを保存しておき、差異の計算においてMV_Skipと同じ予測方向のMV_Interを用いるようにしてもよい。
次に、予測モード判定条件決定部114は、対象ブロックの特徴量に基づき、インター予測モード判定条件、スキップモード判定条件及びマージモード判定条件を決定する(ステップS5)。ここで用いる特徴量と決定方法については後述する。そして、予測モード除外部115は、インター予測モード判定を行い(ステップS6)、dMVがインター予測モード判定条件を満たすか否かを判定する(ステップS7)。この判定の結果、インター予測モード判定条件を満たす場合、予測モード除外部115はインター予測モードの評価値算出フラグを有効にセットする(ステップS8)。
次に、予測モード除外部115は、スキップモード判定を行い(ステップS9)、dMVがスキップモード判定条件を満たすか否かを判定する(ステップS10)。この判定の結果、スキップモード判定条件を満たす場合、評価値算出部116は当該動きベクトル候補について対象ブロックのスキップモードの評価値を算出する(ステップS11)。
同様に、予測モード除外部115は、マージモード判定を行い(ステップS12)、dMVがマージモード判定条件を満たすか否かを判定する(ステップS13)。この判定の結果、マージモード判定条件を満たす場合、評価値算出部116は、当該動きベクトル候補について対象ブロックのマージモードの評価値を算出する(ステップS14)。
評価値には以下の式で表されるRDコストを用いる。
RDコスト=D+λR
Dは復元信号と原信号の画素単位での差分の二乗和、Rは符号化するデータの符号量、λはラグランジアンパラメータである。
RDコスト=D+λR
Dは復元信号と原信号の画素単位での差分の二乗和、Rは符号化するデータの符号量、λはラグランジアンパラメータである。
マージ候補リストの全ての動きベクトル候補について終了したら、インター予測モードの評価値算出フラグが有効であれば、評価値算出部116は、対象ブロックのインター予測モードの評価値を算出する(ステップS15)。また、評価値算出部116は、対象ブロックのイントラ予測モードに対しても評価値を算出する(ステップS16)。そして、評価値比較部117は、計算した各予測モードの中で最小評価値の予測モードを対象ブロックの最適予測モードとして決定する(ステップS17)。なお、評価値はRDコストでなく、Dだけを用いてもよく、各予測モードを比較することが可能な評価値であればよい。
このように、インター予測モード、スキップモード或いはマージモードの予測モード決定についての評価値計算を行う前に、符号化対象ブロックの動きベクトルを算出し、マージ候補リストの各動きベクトル候補との差異を計算する。差異がインター予測モード、スキップモード或いはマージモードの各モード判定条件を満たさない場合にはその動きベクトル候補を評価値の計算対象から除外する。この時の条件は符号化対象ブロックに関する1つ以上の特徴量から適応的に決定する。
符号化対象ブロックの動きベクトルとマージ候補リストの各動きベクトル候補との比較を先に行うことで、少ない演算量で予測モードの判定が行える。また、符号化対象ブロックの動きベクトルとスキップモード或いはマージモードの動きベクトル候補との差異が大きくなるほどスキップモード或いはマージモードにおける予測画像と原画像との誤差が大きくなり、スキップモード或いはマージモードが最適な予測モードとして選択されなくなると想定される。このため、符号化効率の低下を抑えつつスキップモード或いはマージモードとならない動きベクトルを除外することができる。また、逆に差異が小さいほどスキップモード或いはマージモードが選択されやすいため、条件判定でインター予測モードを除外することもできる。この時、比較する際の条件を符号化対象ブロックの特徴に合わせて適応的に切り替えることで適切な条件判定を行うことができる。
<第2実施形態>
次に、本発明の第2実施形態による予測モード判定装置を説明する。図4は、第2実施形態よる予測モード判定部11の構成を示すブロック図である。図4に示す予測モード判定部11が、図2に示す予測モード判定部11と異なる点は、参照画像インデックス抽出部118と動きベクトル算出部119が追加されている点である。参照画像インデックス抽出部118はマージ候補リストの各動きベクトル候補から参照画像インデックスを抽出する。動きベクトル算出部111では抽出した参照インデックスについてのみ動き探索を行い、動きベクトルを算出する。動きベクトル算出部119では後述するインター予測モードの評価値算出フラグが有効な場合にのみ対象ブロックについて計算していない参照画像の動き探索を行う。
次に、本発明の第2実施形態による予測モード判定装置を説明する。図4は、第2実施形態よる予測モード判定部11の構成を示すブロック図である。図4に示す予測モード判定部11が、図2に示す予測モード判定部11と異なる点は、参照画像インデックス抽出部118と動きベクトル算出部119が追加されている点である。参照画像インデックス抽出部118はマージ候補リストの各動きベクトル候補から参照画像インデックスを抽出する。動きベクトル算出部111では抽出した参照インデックスについてのみ動き探索を行い、動きベクトルを算出する。動きベクトル算出部119では後述するインター予測モードの評価値算出フラグが有効な場合にのみ対象ブロックについて計算していない参照画像の動き探索を行う。
次に、図5を参照して、図4に示す予測モード判定部11の処理動作について説明する。図5は、図4に示す予測モード判定部11の処理動作を示すフローチャートである。図5において、図3に示す動作と同じ動作には同じ符号を付与してその詳細な説明を省略する。
対象ブロックについてマージ候補リストを作成した(ステップS1)後、参照画像インデックス抽出部118はループ内においてマージ候補リストの各動きベクトルと同じ参照画像についてのみ動き探索を行い、動きベクトルを算出する(ステップS18)。この時、ループの途中で既に計算済みの参照画像であれば動き探索は省略可能である。そして、ループが終了した後、インター予測モードの評価値算出フラグが有効であれば、動きベクトル算出部119が、対象ブロックについて計算していない参照画像の動き探索を実施してからインター予測モードの評価値を算出する(ステップS19)。
この処理動作によって、もしインター予測モードの評価値算出フラグが有効にならなければ、マージ候補リストの動きベクトルにない参照画像の動き探索の分だけ演算量が削減できる。
このように、インター予測モードの動きベクトルを算出する際に、スキップモードの動きベクトルが指す参照画像のみを探索する。この処理動作により、他の参照画像に対する動き探索を省略できるため、演算量が削減できる。また、インター予測モードの動きベクトルとスキップモードの動きベクトルの差異を計算する際に、参照画像が異なることによるスケーリング処理を行う必要が無くなる効果もある。
<モード判定条件の第1の決定方法>
次に、インター予測モード判定条件、スキップモード判定条件及びマージモード判定条件の決定方法について説明する。インター予測モード判定条件に利用する閾値をTh_Inter、スキップモード判定条件に利用する閾値をTh_Skip、マージモード判定条件に利用する閾値をTh_Mergeとすると、第1実施形態におけるスキップモード判定条件とマージモード判定条件はそれぞれ以下となる。
(インター予測モード判定条件)・・・dMV > Th_Inter
(スキップモード判定条件)・・・dMV < Th_Skip
(マージモード判定条件)・・・dMV < Th_Merge
次に、インター予測モード判定条件、スキップモード判定条件及びマージモード判定条件の決定方法について説明する。インター予測モード判定条件に利用する閾値をTh_Inter、スキップモード判定条件に利用する閾値をTh_Skip、マージモード判定条件に利用する閾値をTh_Mergeとすると、第1実施形態におけるスキップモード判定条件とマージモード判定条件はそれぞれ以下となる。
(インター予測モード判定条件)・・・dMV > Th_Inter
(スキップモード判定条件)・・・dMV < Th_Skip
(マージモード判定条件)・・・dMV < Th_Merge
なお、ここではそれぞれ条件が1つずつしか記載していないが、2つ以上の条件で判定してもよい。Th_Inter、Th_Skip及びTh_Mergeは任意の値を用いてもよいが、ここでは各閾値の決定に対象ブロックについて下記(1)〜(4)の特徴量を用いる。
(1)量子化パラメータQP
(2)予測ブロックサイズBS
(3)インター予測モードの動きベクトルとスキップモードの動きベクトルそれぞれの予測方向及びそれらの組み合わせDir_X(Xには下記A,B,C,Dのいずれかが入る)
インター予測モードの動きベクトルとスキップモードの動きベクトルのそれぞれの予測方向の組み合わせを「Dir_A:双方向−片方向」、「Dir_B:片方向−片方向」、「Dir_C:片方向−双方向」、「Dir_D:双方向−双方向」とそれぞれ表記する。
(1)量子化パラメータQP
(2)予測ブロックサイズBS
(3)インター予測モードの動きベクトルとスキップモードの動きベクトルそれぞれの予測方向及びそれらの組み合わせDir_X(Xには下記A,B,C,Dのいずれかが入る)
インター予測モードの動きベクトルとスキップモードの動きベクトルのそれぞれの予測方向の組み合わせを「Dir_A:双方向−片方向」、「Dir_B:片方向−片方向」、「Dir_C:片方向−双方向」、「Dir_D:双方向−双方向」とそれぞれ表記する。
(4)インター予測モードの予測画像と原画像の誤差SAD及びそれらの分散VAR
閾値を上記パラメータの値或いは組み合わせに応じて複数のテーブルに予め用意しておいてもよいが、ここでは以下のように上記パラメータを入力変数とした関数から算出する。こうすることで大量のテーブルが不要になる。Th_Inter、Th_Skip及びTh_Mergeを算出するための関数をそれぞれf_Inter,f_Skip,f_Mergeとすると、下記のように表せる。
Th_Inter=f_Inter(QP,BS,Dir_X,SAD,VAR)
Th_Skip=f_Skip(QP,BS,Dir_X,SAD,VAR)
Th_Merge=f_Merge(QP,BS,Dir_X,SAD,VAR)
f_Inter,f_Skip,f_Mergeは任意の関数を用いてもよい。
閾値を上記パラメータの値或いは組み合わせに応じて複数のテーブルに予め用意しておいてもよいが、ここでは以下のように上記パラメータを入力変数とした関数から算出する。こうすることで大量のテーブルが不要になる。Th_Inter、Th_Skip及びTh_Mergeを算出するための関数をそれぞれf_Inter,f_Skip,f_Mergeとすると、下記のように表せる。
Th_Inter=f_Inter(QP,BS,Dir_X,SAD,VAR)
Th_Skip=f_Skip(QP,BS,Dir_X,SAD,VAR)
Th_Merge=f_Merge(QP,BS,Dir_X,SAD,VAR)
f_Inter,f_Skip,f_Mergeは任意の関数を用いてもよい。
なお、以下のいずれかの条件を満たすような関数を用いてもよい。
(条件1)Th_Skip≦Th_Merge
(条件2)QP、BSの逆数、SADの逆数、VARの逆数それぞれに関してf_Inter, f_Skip及びf_Mergeが単調増加
(条件3)Dir_Xはその他のパラメータが同じだった場合はf(Dir_A)≦f(Dir_B)≦f(Dir_C)=f(Dir_D)
fはf_Inter、f_Skipまたはf_Mergeを表す。
(条件1)Th_Skip≦Th_Merge
(条件2)QP、BSの逆数、SADの逆数、VARの逆数それぞれに関してf_Inter, f_Skip及びf_Mergeが単調増加
(条件3)Dir_Xはその他のパラメータが同じだった場合はf(Dir_A)≦f(Dir_B)≦f(Dir_C)=f(Dir_D)
fはf_Inter、f_Skipまたはf_Mergeを表す。
f_Inter,f_Skip,f_Mergeが(条件1)、(条件2)、(条件3)のいずれか一つの条件を満たすとき、膨大な閾値の組み合わせに対して適切な閾値を算出可能な関数を容易に決定できるという効果がある。
これらを満たすような関数の一例としてそれぞれの特徴量の線形結合とした場合を以下に示す。
f_Inter(QP,BS,Dir_X,SAD,VAR)=a1×QP+a2×BS−1+a3×SAD−1+a4×VAR−1+a5×g(Dir_X)
f_Skip(QP,BS,Dir_X,SAD,VAR)=b1×QP+b2×BS−1+b3×SAD−1+b4×VAR−1+b5×g(Dir_X)
f_Merge(QP,BS,Dir_X,SAD,VAR)=c1×QP+c2×BS−1+c3×SAD−1+c4×VAR−1+c5×g(Dir_X)
a1〜a5,b1〜b5及びc1〜c5は任意の正の実数で、b1≦c1,b2≦c2,…,b5≦c5である。また、gはDir_Xを変数とする関数であり、g(Dir_A)≦g(Dir_B)≦g(Dir_C)=g(Dir_D)を満たす。また、上記では全ての特徴量を用いて閾値を決定しているが、任意の組み合わせだけで求めてもよい。
f_Inter(QP,BS,Dir_X,SAD,VAR)=a1×QP+a2×BS−1+a3×SAD−1+a4×VAR−1+a5×g(Dir_X)
f_Skip(QP,BS,Dir_X,SAD,VAR)=b1×QP+b2×BS−1+b3×SAD−1+b4×VAR−1+b5×g(Dir_X)
f_Merge(QP,BS,Dir_X,SAD,VAR)=c1×QP+c2×BS−1+c3×SAD−1+c4×VAR−1+c5×g(Dir_X)
a1〜a5,b1〜b5及びc1〜c5は任意の正の実数で、b1≦c1,b2≦c2,…,b5≦c5である。また、gはDir_Xを変数とする関数であり、g(Dir_A)≦g(Dir_B)≦g(Dir_C)=g(Dir_D)を満たす。また、上記では全ての特徴量を用いて閾値を決定しているが、任意の組み合わせだけで求めてもよい。
このように、インター予測モード、スキップモード、マージモードの各モード判定条件に以下の(1)〜(4)の特徴量を用いることで適切な条件判定を実現する。
(1)量子化パラメータ
量子化パラメータが大きい場合には動きベクトルの差異が大きくても有意係数の数が0になりやすいため、スキップモード或いはマージモードが選ばれやすくなる。一方で、量子化パラメータが小さい場合には動きベクトルの差異が大きいほど有意係数が0になりにくくなるため、スキップモード或いはマージモードが選ばれにくくなる。したがって、量子化パラメータを用いて単調増加するように判定条件の閾値を決定することで適切な判定が可能となる。
(1)量子化パラメータ
量子化パラメータが大きい場合には動きベクトルの差異が大きくても有意係数の数が0になりやすいため、スキップモード或いはマージモードが選ばれやすくなる。一方で、量子化パラメータが小さい場合には動きベクトルの差異が大きいほど有意係数が0になりにくくなるため、スキップモード或いはマージモードが選ばれにくくなる。したがって、量子化パラメータを用いて単調増加するように判定条件の閾値を決定することで適切な判定が可能となる。
(2)予測ブロックサイズ
大きい予測ブロックサイズは小さい予測ブロックサイズと比較して、動きベクトルが1だけずれたときの予測画像と原画像の誤差増加量が大きい。すなわち、大きい予測ブロックサイズと小さい予測ブロックサイズでは同じ動きベクトルの差異でも大きい予測ブロックサイズの方がスキップモード或いはマージモードが選ばれにくい。よって、判定対象ブロックの予測ブロックサイズの逆数を用いて単調増加するように判定条件の閾値を決定することで適切な判定が可能となる。
大きい予測ブロックサイズは小さい予測ブロックサイズと比較して、動きベクトルが1だけずれたときの予測画像と原画像の誤差増加量が大きい。すなわち、大きい予測ブロックサイズと小さい予測ブロックサイズでは同じ動きベクトルの差異でも大きい予測ブロックサイズの方がスキップモード或いはマージモードが選ばれにくい。よって、判定対象ブロックの予測ブロックサイズの逆数を用いて単調増加するように判定条件の閾値を決定することで適切な判定が可能となる。
(3)インター予測モードにおける予測画像と原画像の誤差及びそれらの分散
対象ブロックの動き探索中に求まる各動きベクトルの予測画像と原画像の誤差とそれらに対する分散を用いる。一般的に、これらの誤差或いは誤差分散が大きい場合には対象ブロック内の物体の動きが複雑である可能性が高く、スキップモード或いはマージモードの動きベクトルのずれによる予測画像と原画像の誤差増加量が大きくなる。このため、動きベクトルの差異が小さくてもスキップモード或いはマージモードが選ばれにくくなると想定される。一方で、インター予測モードの誤差或いは誤差分散が小さい場合には対象ブロック内の物体の動きが単純或いは平坦領域である可能性が高く、スキップモード或いはマージモードの動きベクトルのずれによる予測画像と原画像の誤差増加量は小さくなる。このため、動きベクトルの差異が大きくてもスキップモードが選ばれやすい。したがって、インター予測モードにおける予測画像と原画像の誤差の逆数及びそれらの分散の逆数を用いてそれぞれに単調増加するように判定条件の閾値を決定することで適切な判定が可能となる。
対象ブロックの動き探索中に求まる各動きベクトルの予測画像と原画像の誤差とそれらに対する分散を用いる。一般的に、これらの誤差或いは誤差分散が大きい場合には対象ブロック内の物体の動きが複雑である可能性が高く、スキップモード或いはマージモードの動きベクトルのずれによる予測画像と原画像の誤差増加量が大きくなる。このため、動きベクトルの差異が小さくてもスキップモード或いはマージモードが選ばれにくくなると想定される。一方で、インター予測モードの誤差或いは誤差分散が小さい場合には対象ブロック内の物体の動きが単純或いは平坦領域である可能性が高く、スキップモード或いはマージモードの動きベクトルのずれによる予測画像と原画像の誤差増加量は小さくなる。このため、動きベクトルの差異が大きくてもスキップモードが選ばれやすい。したがって、インター予測モードにおける予測画像と原画像の誤差の逆数及びそれらの分散の逆数を用いてそれぞれに単調増加するように判定条件の閾値を決定することで適切な判定が可能となる。
(4)インター予測モードの動きベクトルとスキップモードの動きベクトルそれぞれの予測方向及びそれらの組み合わせ
インター予測モードの動きベクトルとスキップモードの動きベクトルのそれぞれの予測方向の組み合わせをそれぞれ「A:双方向−片方向」、「B:片方向−片方向」、「C:片方向−双方向」、「D:双方向−双方向」と表記する。
(AとBの比較)・・・Aではインター予測モードの動きベクトルに双方向が選択されているにも関わらずスキップモードの動きベクトルが片方向であるため、スキップモードは最適な予測画像が得られない。すなわち、動きベクトルの差異が小さくてもスキップモードが選ばれにくいと予想される。対してBはインター予測モードの動きベクトルが片方向であるので動きベクトルの差異が小さければスキップモードが選ばれやすくなる。したがって、判定条件の閾値はA≦Bとするのが有効である。
(BとC(D)の比較)・・・C(D)はBと比較してスキップモードの予測画像が双方向の動きベクトルそれぞれの動き補償画像の平均となるため、片方の動きベクトルがずれた時の予測画像と原画像の誤差増加量はほぼ半分になる。つまりBとC(D)では同じスキップモードの動きベクトルのずれに対する予測画像と原画像の誤差増加量がBよりもC(D)の方が小さくなる。このため、同じ動きベクトルの差異であった場合BよりもC(D)の方がスキップモードが選ばれやすい。したがって、判定条件の閾値はB≦C(D)とするのが有効である。
インター予測モードの動きベクトルとスキップモードの動きベクトルのそれぞれの予測方向の組み合わせをそれぞれ「A:双方向−片方向」、「B:片方向−片方向」、「C:片方向−双方向」、「D:双方向−双方向」と表記する。
(AとBの比較)・・・Aではインター予測モードの動きベクトルに双方向が選択されているにも関わらずスキップモードの動きベクトルが片方向であるため、スキップモードは最適な予測画像が得られない。すなわち、動きベクトルの差異が小さくてもスキップモードが選ばれにくいと予想される。対してBはインター予測モードの動きベクトルが片方向であるので動きベクトルの差異が小さければスキップモードが選ばれやすくなる。したがって、判定条件の閾値はA≦Bとするのが有効である。
(BとC(D)の比較)・・・C(D)はBと比較してスキップモードの予測画像が双方向の動きベクトルそれぞれの動き補償画像の平均となるため、片方の動きベクトルがずれた時の予測画像と原画像の誤差増加量はほぼ半分になる。つまりBとC(D)では同じスキップモードの動きベクトルのずれに対する予測画像と原画像の誤差増加量がBよりもC(D)の方が小さくなる。このため、同じ動きベクトルの差異であった場合BよりもC(D)の方がスキップモードが選ばれやすい。したがって、判定条件の閾値はB≦C(D)とするのが有効である。
このように、インター予測モードの動きベクトルとスキップモードの動きベクトルそれぞれの予測方向及びそれらの組み合わせを用いて判定条件の閾値がA≦B≦C=Dとなるように判定条件を決定することで適切な判定が可能となる。
さらに上記を踏まえて閾値を各パラメータの線形結合として算出することで、各特徴量の組み合わせによる大量のテーブルを予め用意する必要が無く閾値の算出が可能となる。
なお、量子化パラメータ、予測ブロックサイズ、インター予測モードにおける予測画像と原画像の誤差及びそれらの分散、インター予測モードの動きベクトルとスキップモードの動きベクトルそれぞれの予測方向及びそれらの組み合わせの各特徴量はすべて用いる必要はなく、1つのみ用いてモード判定を行ってもよい。
<モード判定条件の第2の決定方法>
また、モード判定条件の決定にインター予測モードの動きベクトルとスキップモードの動きベクトルの参照画像インデックスの一致度を加えてもよい。具体的に、インター予測モード判定条件、スキップモード判定条件及びマージモード判定条件を示す。
(インター予測モード判定条件)・・・RefIdx_Inter≠RefIdx_Skip且つdMV>Th_Inter
(スキップモード判定条件)・・・RefIdx_Inter=RefIdx_Skip且つdMV<Th_Skip
(マージモード判定条件)・・・RefIdx_Inter=RefIdx_Skip且つdMV<Th_Merge
また、モード判定条件の決定にインター予測モードの動きベクトルとスキップモードの動きベクトルの参照画像インデックスの一致度を加えてもよい。具体的に、インター予測モード判定条件、スキップモード判定条件及びマージモード判定条件を示す。
(インター予測モード判定条件)・・・RefIdx_Inter≠RefIdx_Skip且つdMV>Th_Inter
(スキップモード判定条件)・・・RefIdx_Inter=RefIdx_Skip且つdMV<Th_Skip
(マージモード判定条件)・・・RefIdx_Inter=RefIdx_Skip且つdMV<Th_Merge
RefIdx_InterとRefIdx_Skipはそれぞれインター予測モードの動きベクトルの参照画像インデックス、スキップモードの動きベクトルの参照画像インデックスを表す。インター予測モードの動きベクトルとスキップモードの動きベクトルで予測方向(片方向或いは双方向)が異なる場合には、片方向の揃っている方の参照画像インデックスを判定する。双方向同士の場合はどちらか一方或いは両方の参照画像インデックスを判定する。この判定により、インター予測モード判定ではインター予測モードの動きベクトルとスキップモードの動きベクトルの参照画像が異なる場合を含む時にのみ条件を満たすと判定され、スキップモード判定とマージモード判定ではその逆となる。
このように、モード判定条件にインター予測モードの動きベクトルとスキップモードの動きベクトルの参照画像インデックスの一致度を加える。
スキップモードの動きベクトルは対象ブロックの周囲のブロックの動きベクトルを組み合わせたものである。このため、インター予測モードの動きベクトルとスキップモードの動きベクトルの参照画像インデックスが異なるということは対象ブロックが周囲のブロックとは異なる物体である可能性が高い。その場合、一般的にスキップモード或いはマージモードが選択される可能性は低い。したがって、判定条件に参照画像インデックスの一致度を加味することでさらに精度の高い予測モードの判定を行うことが可能となる。
以上説明したように、画像符号化における予測モード判定する際に、各予測モードにおける評価値を算出する前に、符号化対象ブロックの特徴量に応じた判定条件を用いて符号化対象ブロックの動きベクトルとマージ候補リスト中の動きベクトルとを比較することにより、予測モード判定に係る演算を削減することが可能になる。
前述した実施形態における予測モード判定部11の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
映像符号化において予測モードを判定する際に、符号化効率の低下を抑えつつ、演算量削減を実現することが不可欠な用途に適用できる。
1・・・減算器、2・・・直交変換/量子化部、3・・・可変長符号化部、4・・・逆量子化/逆直交変換部、5・・・加算器、6・・・ループフィルタ部、7・・・復号ピクチャメモリ、8・・・イントラ予測部、9・・・インター予測部、10・・・イントラ/インター切替スイッチ、11・・・予測モード判定部、111・・・動きベクトル算出部、112・・・マージ候補リスト算出部、113・・・動きベクトル差異算出部、114・・・予測モード判定条件決定部、115・・・予測モード除外部、116・・・評価値算出部、117・・・評価値比較部、118・・・参照画像インデックス抽出部、119・・・動きベクトル算出部
Claims (8)
- 映像符号化において画像領域を分割した符号化対象ブロックの予測モードを判定する予測モード判定方法であって、
前記符号化対象ブロックについて動きベクトル差分を符号化する1つ以上の第1の予測モードの動きベクトルを算出する第1の動きベクトル算出ステップと、
前記符号化対象ブロックについて動きベクトル差分を符号化しない1つ以上の第2の予測モードの動きベクトルを算出する第2の動きベクトル算出ステップと、
前記第1の予測モードと前記第2の予測モードの動きベクトルの差異を算出する動きベクトル差異算出ステップと、
前記符号化対象ブロックに関する1つ以上の特徴量から前記第1の予測モードまたは前記第2の予測モードの中から1つ以上の動きベクトルを除外するか否かを判定するための条件を決定するモード判定条件決定ステップと、
前記動きベクトル差異算出ステップにおいて算出された前記動きベクトルの差異が前記条件を満たすか否かを判定するモード判定ステップと、
前記モード判定ステップによる判定の結果、前記条件を満たさない場合には前記符号化対象ブロックに対する第1の予測モードまたは第2の予測モードの中から1つ以上の予測モードを除外するモード除外ステップと
を有することを特徴とする予測モード判定方法。 - 前記第1の動きベクトル算出ステップでは、前記第2の予測モードの動きベクトルが指す参照画像のみを動き探索の対象とすることを特徴とする請求項1に記載の予測モード判定方法。
- 前記特徴量は、前記符号化対象ブロックの量子化パラメータ、予測ブロックサイズ、第1の予測モードにおける予測画像と原画像の誤差及びそれらの分散、第1の予測モードの動きベクトルと第2の予測モードの動きベクトルそれぞれの予測方向及びそれらの組み合わせのうち、少なくとも1つであることを特徴とする請求項1または2に記載の予測モード判定方法。
- 前記条件は閾値を用いた不等式で表現され、当該閾値は、量子化パラメータ、予測ブロックサイズ、第1の予測モードにおける予測画像と原画像の誤差、当該誤差の分散のうち少なくとも1つを引数とし、前記量子化パラメータ、前記予測ブロックサイズの逆数、前記第1の予測モードにおける前記予測画像と前記原画像の誤差の逆数及びそれらの分散の逆数のそれぞれについて単調増加する性質を有する関数を用いることを特徴とする請求項1または2に記載の予測モード判定方法。
- 前記条件は閾値を用いた不等式で表現され、当該閾値は、第1の予測モードの動きベクトルの予測方向と第2の予測モードの動きベクトルの予測方向の組み合わせを引数とし、当該組み合わせが双方向−片方向、片方向−片方向、片方向−双方向または双方向−双方向の順に単調増加する性質を有する関数を用いることを特徴とする請求項1または2に記載の予測モード判定方法。
- 前記条件は閾値を用いた不等式で表現され、当該閾値は前記符号化対象ブロックに関する特徴量のいずれか1つ以上の線形結合として表現される関数を用いることを特徴とする請求項1または2に記載の予測モード判定方法。
- 前記条件に第1の予測モードの動きベクトルと第2の予測モードの動きベクトルの参照画像インデックスの一致度を含むことを特徴とする請求項4から6のいずれか1項に記載の予測モード判定方法。
- コンピュータに、請求項1から7のいずれか1項に記載の予測モード判定方法を実行させるための予測モード判定プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015067060A JP2016187134A (ja) | 2015-03-27 | 2015-03-27 | 予測モード判定方法及び予測モード判定プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015067060A JP2016187134A (ja) | 2015-03-27 | 2015-03-27 | 予測モード判定方法及び予測モード判定プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016187134A true JP2016187134A (ja) | 2016-10-27 |
Family
ID=57202684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015067060A Pending JP2016187134A (ja) | 2015-03-27 | 2015-03-27 | 予測モード判定方法及び予測モード判定プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016187134A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018124249A1 (ja) * | 2016-10-06 | 2018-07-05 | 日本放送協会 | 符号化装置、復号装置及びプログラム |
CN113709478A (zh) * | 2018-12-29 | 2021-11-26 | 华为技术有限公司 | 帧间预测方法、装置以及相应的编码器和解码器 |
-
2015
- 2015-03-27 JP JP2015067060A patent/JP2016187134A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018124249A1 (ja) * | 2016-10-06 | 2018-07-05 | 日本放送協会 | 符号化装置、復号装置及びプログラム |
US10757441B2 (en) | 2016-10-06 | 2020-08-25 | Nippon Hoso Kyokai | Encoding device, decoding device, and program |
CN113709478A (zh) * | 2018-12-29 | 2021-11-26 | 华为技术有限公司 | 帧间预测方法、装置以及相应的编码器和解码器 |
CN113709478B (zh) * | 2018-12-29 | 2023-08-04 | 华为技术有限公司 | 帧间预测方法、装置以及相应的编码器和解码器 |
US11956444B2 (en) | 2018-12-29 | 2024-04-09 | Huawei Technologies Co., Ltd. | Inter prediction method and apparatus, and corresponding encoder and decoder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11425392B2 (en) | Method and apparatus for encoding and decoding video using skip mode | |
RU2683495C1 (ru) | Нововведения в предсказание блочных векторов и оценку восстановленных значений отсчетов в области перекрытия | |
US9172959B2 (en) | Method and encoding/decoding of video using common merging candidate set of asymmetric partitions | |
JP5277257B2 (ja) | 動画像復号化方法および動画像符号化方法 | |
JP6495835B2 (ja) | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化プログラム及び映像復号プログラム | |
WO2013042888A2 (ko) | 머지 후보 블록 유도 방법 및 이러한 방법을 사용하는 장치 | |
CN112385231B (zh) | 图像编码/解码方法和装置 | |
KR20140095607A (ko) | 인터 예측 방법 및 그 장치 | |
US20120320985A1 (en) | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof | |
JP5613319B2 (ja) | 映像符号化装置、映像符号化方法および映像符号化プログラム | |
US20230421782A1 (en) | Method and apparatus for encoding/decoding image signal | |
KR102553665B1 (ko) | 비디오 코딩 시스템에서 인터 예측 방법 및 장치 | |
US20200304810A1 (en) | Method and apparatus for encoding/decoding image signal | |
WO2017010073A1 (ja) | 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体 | |
JP6259272B2 (ja) | 映像符号化装置及び映像符号化プログラム | |
JP2016187134A (ja) | 予測モード判定方法及び予測モード判定プログラム | |
JP2014204208A (ja) | 予測モード決定方法、動画像符号化装置、及び予測モード決定プログラム | |
JP6696889B2 (ja) | 画像符号化装置、画像符号化方法及びコンピュータプログラム | |
JP6694086B2 (ja) | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム | |
JP6438376B2 (ja) | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化プログラム及び映像復号プログラム | |
KR102319033B1 (ko) | 효율적인 움직임 정보 예측을 이용한 영상 부호화/복호화 방법과 장치 | |
JP6491587B2 (ja) | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化プログラム及び映像復号プログラム | |
KR102031120B1 (ko) | 인트라 예측 부호화 및 복호화 방법과 상기 방법을 수행하는 장치 | |
JP6841709B2 (ja) | 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム | |
JP2020058068A (ja) | 画像符号化装置、画像符号化方法及びコンピュータプログラム |