本発明は、2019年06月21日に提出された出願番号201910544430.2、発明名称「予測モードの復号化、符号化の方法および装置」の中国特許出願の優先権を主張し、その全ての内容は参照により本明細書に援用する。
本発明は、マルチメディア技術の分野に関し、特に予測モードの復号化、符号化の方法および装置に関するものである。
予測モードとは、ビデオフレームにおける画像ブロックを復号化または符号化するモードを指す。予測モードが複数種類のモードを含むので、各予測モードに対して1つの指示情報を配置し、指示情報は、対応する予測モードをオンにしたかどうかを指示するために使用される。符号化側は、指示情報を符号化することにより、当該画像ブロックがどの予測モードを有効にするかを指示する。復号化側は、符号化された後の指示情報を復号化することにより、当該画像ブロックが採用する予測モードを確定することができる。
関連技術では、現在のブロックを符号化する際に、いずれかの予測モードについて、符号化側は、当該予測モードが有効にされるかどうかを判断し、有効にされた場合、予測モードAの指示情報を1に符号化する。予測モードAがオンにされない場合、予測モードAの指示情報を0に符号化する。このように各予測モードの指示情報を符号化した後、現在のブロックを復号化する際に、復号化側は、当該予測モードの指示情報を復号化し、復号化された指示情報が1である場合、現在のブロックが当該予測モードを有効にすると確定する。
当該形態では、復号化側は、指示情報を復号化することにより、現在のブロックが当該予測モードを有効にするかどうかを確定する必要であり、この結果、予測モードを符号化・復号化する効率が低い。
本発明の実施例は、予測モードを復号化する効率を向上させるための予測モードの復号化、符号化の方法および装置を提供する。技術案は以下の通りである。
一側面において、巡回待ち予測モードの有効化状況を取得し、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含むことと、前記巡回待ち予測モードの有効化状況に基づいて、前記現在の候補予測モードの指示情報を復号化するかどうかを確定し、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、前記巡回待ち予測モードがいずれも有効にできない場合、前記現在のブロックが前記現在の候補予測モードを有効にすると確定することと、を含む予測モードの復号化の方法に関する。
別の側面において、巡回待ち予測モードの有効化状況を取得し、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含むことと、前記巡回待ち予測モードの有効化状況に基づいて、前記現在の候補予測モードの指示情報を符号化するかどうかを確定し、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、前記巡回待ち予測モードがいずれも有効にできない場合、前記現在のブロックが前記現在の候補予測モードを有効にすると確定することと、を含む予測モードの符号化の方法に関する。
別の側面において、巡回待ち予測モードの有効化状況を取得するために使用され、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む取得モジュールと、
前記巡回待ち予測モードの有効化状況に基づいて、前記現在の候補予測モードの指示情報を復号化するかどうかを確定するために使用され、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、前記巡回待ち予測モードがいずれも有効にできない場合、前記現在のブロックが前記現在の候補予測モードを有効にすると確定する確定モジュールと、
を含む、
復号化の装置に関する。
別の側面において、巡回待ち予測モードの有効化状況を取得するために使用され、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む取得モジュールと、
前記巡回待ち予測モードの有効化状況に基づいて、前記現在の候補予測モードの指示情報を符号化するかどうかを確定するために使用され、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、前記巡回待ち予測モードがいずれも有効にできない場合、前記現在のブロックが前記現在の候補予測モードを有効にすると確定する確定モジュールと、
を含む、
符号化の装置に関する。
別の側面において、プロセッサと、
プロセッサ実行可能指令を記憶するためのメモリと、
を含み、
ここで、前記プロセッサは、上記予測モードの復号化の方法のいずれかに記載の方法のステップを実行するように構成されている、
復号化の装置に関する。
別の側面において、プロセッサと、
プロセッサ実行可能指令を記憶するためのメモリと、
を含み、
ここで、前記プロセッサは、上記予測モードの符号化の方法のいずれかに記載の方法のステップを実行するように構成されている、
符号化の装置に関する。
別の側面において、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、上記予測モードの復号化の方法のいずれかに記載の方法のステップを実現するコンピュータ可読記憶媒体に関する。
別の側面において、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、上記予測モードの符号化の方法のいずれかに記載の方法のステップを実現するコンピュータ可読記憶媒体に関する。
本発明の実施例に係る技術案による有益な効果は、以下の通りである。
現在のブロックがどの予測モードを有効にするかを確定するときに、現在の候補予測モードについて、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を復号化するステップをスキップして、現在のブロックが前記現在の候補予測モードを有効にすると直接に確定することができる。関連技術のように、現在のブロックが現在の候補予測モードを有効にするかどうかを確定するために、現在の候補予測モードの指示情報を復号化する必要がなく、この結果、予測モードを復号化するプロセスを簡略化し、予測モードを復号化する効率を向上させる。
本発明の実施例における技術案をより明確に説明するために、以下、実施例の説明に使用される図面を簡単に説明し、以下の説明における図面は、本発明のいくつかの実施例にすぎず、当業者にとっては、創造的な労働をしない前提で、これらの図面に基づいて他の図面を得ることもできることは明らかである。
本発明の実施例による予測モードの復号化の方法のフローチャートである。
本発明の実施例による予測モードの符号化の方法のフローチャートである。
本発明の実施例による復号化の装置の構造概略図である。
本発明の実施例による符号化の装置の構造概略図である。
本発明の実施例による符号化・復号化の装置の構造概略図である。
本発明の目的、技術案および利点をより明確にするために、以下、図面を参照して本発明の実施形態をさらに詳細に説明する。
後の説明を容易にするために、ここで本発明の実施例に係る用語を説明しておく。
フラグ符号化(flag coding)について、ビデオの符号化には多くの予測モードが存在する。あるブロックについて、そのうちの1つのモードを採用することができる。どの予測モードを採用するかを示すために、各ブロックは、対応するフラグを符号化することによりマークする必要がある。つまり、符号化側では、符号化側の決定によって、当該予測モードのフラグの値を確定し、次いで、符号化して復号化側に伝達する。復号化側は、フラグを解析することにより、対応する予測モードが有効にされるかどうかを確定する。
融合モード(merge mode)について、融合モードには5種類の予測モデルが含まれ、すなわち、通常融合(normal merge)モード、三角予測(triangular prediction mode)に基づく融合モード、符号化動きベクトル差分に基づく融合(merge motion vector difference)モード、サブブロック動き情報に基づく融合(sub-block merge)モード、およびイントラ-インター連携予測(combine intra inter prediction mode)に基づく融合モードである。現在のブロックが融合モードを採用する場合、予測モードは、上記5種類の予測モデルのうちの1つしか採用できない。また、融合モードについて、具体的な予測モードによって予測値を得た後、再構築残差値を加えて再構築値を取得する必要がある。
スキップモード(skip mode)について、スキップモードは、特殊な融合モードである。当該モードでは、符号化の際に残差を符号化する必要がない。したがって、現在のブロックがスキップモードを採用する場合、すなわち残差を符号化する必要がない場合、イントラ-インター連携予測に基づく融合モードは、デフォルトでオフになる。したがって、スキップモードには4種類の予測モデルのみが含まれ、すなわち、通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モードである。また、スキップモードには残差がないので、再構築値がそのまま予測値に等しい。
以下、上記各予測モードを簡単に説明する。
以下、各モードを簡単に説明する。
通常融合モードは、伝統的な融合モードである。当該方法では、候補動き情報リストから1つの動き情報を選択し、当該動き情報に基づいて現在のブロックの予測値を生成する。当該候補動き情報リストには、空間領域隣接ブロック候補動き情報、時間領域隣接ブロック候補動き情報、空間領域非隣接ブロック候補動き情報、既存の動き情報に基づいて組み合わせることにより取得された動き情報、デフォルト動き情報などが含まれる。
符号化動きベクトル差分に基づく融合モードについて、当該方法では、通常融合モードにおける候補動き情報リストのいずれかの動き情報を基準動き情報として選択し、テーブルルックアップ法により動き情報差分を取得する。基準動き情報と動き情報差分に基づいて、最終的な動き情報を取得する。当該最終的な動き情報に基づいて、現在のブロックの予測値を生成する。
サブブロック動き情報に基づく融合モードには、アフィン(affine)融合モードとSBTMVP(subblock-based temporal motion vector prediction、サブブロックに基づく時間動きベクトル予測)モードが含まれる。
アフィン融合モードは、通常融合モードと同様であり、当該方法でも、候補動き情報リストから1つの動き情報を選択し、当該動き情報に基づいて現在のブロックの予測値を生成する。異なるのは、通常融合モードの候補動き情報リストの動き情報がいずれも2パラメータの並進動きベクトルであるのに対して、アフィン融合モードの候補動き情報リストの動き情報が4パラメータまたは6パラメータのアフィン動き情報であることである。
SBTMVPモードについて、当該方法では、時間領域参照フレームでは、現在のブロックの予測値を生成するために、あるブロックの動き情報を直接に多重化する。当該ブロック内の各サブブロックの動き情報は異なることができる。
イントラ-インター連携予測に基づく融合モードについて、当該方法では、イントラ予測値とインター予測値とを組み合わせることにより、現在のブロックの新しい予測値を取得する。
三角予測に基づく融合モードについて、当該方法では、1つのブロックを2つの三角サブブロック(45度と135度の2種類の三角サブブロックがある)に分ける。この2つの三角サブブロックは、異なる一方向動き情報を持っている。当該モードは、融合/スキップモードのみに使用され、且つ予測プロセスのみに使用され、後の変換、量子化プロセスに影響を与えない。ここでの一方向動き情報も、候補動き情報リストから直接に取得される。
上記から分かるように、本実施形態における融合/スキップモードとは、候補動き情報リストから1つの動き情報を直接に選択し、現在のブロックの予測値を生成する予測モードを指す。これらの予測モードについて、符号化側で動き検索プロセスを行う必要がなく、符号化動きベクトル差分に基づく融合モード以外の他の予測モードについて、動き情報差分を符号化する必要がなく、すなわち候補動き情報リスト内のある動き情報を直接に多重化する。
フレームタイプ(frame type)について、現在の画像フレームが他のフレームの情報を参照して符号化することができない場合、現在の画像フレームは、Iフレームである。現在の画像フレームが他のある1フレーム(ただし、1フレームを超えてはならない)の情報を参照して符号化することができる場合、現在の画像フレームは、Pフレームである。すなわち、Pフレームとは、現在のフレームには1つの参照フレームリストしか存在せず、且つ現在のフレームの各ブロックについて最大で1フレームの参照画像フレームによる符号化のみを可能にする画像を指す。現在の画像フレームには2つの参照フレームリストが存在し、且つ現在のフレームの各ブロックについて他のある1フレームまたはある2フレームの情報を参照して符号化することができる場合、現在の画像フレームは、Bフレームである。
シーケンスパラメータセット(sequence parameter set)について、ビデオ符号化および復号がビデオシーケンスに従って行われるので、各ビデオシーケンスが複数のビデオフレームを含む。ビデオシーケンスに対してシーケンスパラメータセットが設定され、シーケンスパラメータセットには、ビデオシーケンスにおける各ビデオフレームに対して符号化・復号化を行う際に必要なパラメータが含まれる。ここで、シーケンスパラメータセットにおけるある予測モードに対するシーケンスレベルスイッチは、当該予測モードのオンまたはオフを指示するために使用される。例えば、ある予測モードに対するシーケンスレベルスイッチが1である場合、当該シーケンスレベルスイッチがオン状態にあることを指示するために使用される。シーケンスレベルスイッチが0である場合、当該シーケンスレベルスイッチがオフ状態にあることを指示するために使用される。
図1は、本発明の実施例による予測モードの復号化の方法のフローチャートである。図1に示すように、当該方法は以下のステップを含む。
ステップ101において、巡回待ち予測モードの有効化状況を取得し、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。
本発明の実施例において、予測モードの指示情報を復号化することにより、現在のブロックが当該予測モードを有効にするかどうかを確定できることを避けるために、当該予測モードを復号化する前に、まずステップ101を通じて巡回待ち予測モードの有効化状況を判断することができ、この結果、後で当該予測モードを復号化せずに、現在のブロックが当該予測モードを有効にするかどうかを確定することができる。巡回待ち予測モードの有効化状況とは、現在のブロックが巡回待ち予測モードにおける候補予測モードを有効にすることができるかどうかを指す。
現在の候補予測モードとは、現時点で有効にするかどうかを確定する必要がある予測モードを指す。現在のブロックとは、現在復号化されるべきである画像ブロックを指す。巡回待ち予測モードとは、現在の候補予測モードに加えて、現在のブロックが有効にするかどうかが確定されていない予測モードを指す。
また、予測モードの指示情報は、予測モードのフラグであってもよい。例えば、予測モードのフラグが1である場合、現在のブロックが当該予測モードを有効にすることを指示するために使用される。予測モードのフラグが0である場合、現在のブロックが当該予測モードを有効にしないことを指示するために使用される。
いくつかの実施例において、各予測モードを復号化する際に、指定モードの復号化順序に従って復号化することにより、既に復号化された予測モードの復号化の繰り返しを避けることができるので、ステップ101では、当該指定モードの復号化順序に従って、巡回待ち予測モードの有効化状況を取得することができる。このような場合、一例として、ステップ101の実施形態は、以下の通りであり、即ち、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得し、巡回順序とは、巡回待ち予測モードにおいて各候補予測モードが有効にできるかどうかを順次に判断する判断順序を指し、現在の候補予測モードは、巡回待ち予測モードの前にあり、巡回順序における最後の候補予測モードに巡回したときに、最後の候補予測モードが有効にできない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
一例として、いずれかの候補予測モードに巡回したときに、いずれかの候補予測モードをオンにすることができる場合、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定する。
一例として、上記巡回待ち予測モードの巡回順序とは、予め設定された指定モードの復号化順序における巡回待ち予測モードの順序を指す。例えば、予め設定された指定モードの復号化順序は、予測モード1、予測モード2、予測モード3、…、予測モードnである。現在の候補予測モードがモードiである場合、巡回待ち予測モードの巡回順序は、予測モードi+1、予測モードi+2、…、予測モードnである。nは、正の整数であり、iは、1以上且つn未満の正の整数である。
一例として、巡回待ち予測モードの有効化状況を取得する実施形態は、以下の通りであり、即ち、予測モードi+1、予測モードi+2、…、予測モードnを順次に巡回し、巡回中に、1つの予測モードが有効であると確定されると、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定する。最後の予測モードnに巡回したときに、有効にできる予測モードがない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
一例として、上記現在の候補予測モードは、予測モードセットにおけるいずれかの予測モードであり、予測モードセットは、少なくとも通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードのうちの1つ以上を含む。巡回待ち予測モードは、予測モードセットにおける現在の候補予測モード以外の他の予測モードのうちの1つ以上である。
例えば、予測モードセットは、通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含むことができる。このような場合、予測モードセットは、融合モードセットと呼ばれることもできる。また、予め設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードであってもよい。もちろん、予め設定された指定モードの復号化順序は、他の順序であってもよく、本発明はこれについて限定しない。
また例えば、予測モードセットは、通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、およびサブブロック動き情報に基づく融合モードを含むことができる。このような場合、予測モードセットは、スキップモードセットと呼ばれることもできる。また、予め設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、三角予測に基づく融合モードであってもよい。もちろん、予め設定された指定モードの復号化順序は、他の順序であってもよく、本発明はこれについて同様に限定しない。
上記予測モードセットは、本発明で提供される2つの可能な予測モードセットにすぎず、本発明は予測モードセットに含まれた予測モードのタイプについて同様に限定しない。つまり、予測モードセットにはどのタイプの予測モードが含まれていても、現在の候補予測モードについては、ステップ101によって巡回待ち予測モードの有効化状況を確定することができる。
1つの可能な実施形態において、いずれかの予測モードに対して、当該予測モードに対するモード制限条件、モード制限条件が当該予測モードを有効にするときに満たす必要があるいくつかの条件が予め設定される。つまり、現在のブロックが当該予測モードのモード制限条件の全ての条件を満たす場合にのみ、現在のブロックは、当該予測モードを有効にする権限を有する。現在のブロックが当該予測モードのモード制限条件のいずれかを満たしていない場合、現在のブロックは、当該予測モードを有効にする権限を有しない。この前提に基づいて、現在の候補予測モードを符号化する際に、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件を満たすかどうかを判断することができ、ひいては巡回待ち予測モードの有効化状況を取得する。
一例として、ステップ101において巡回待ち予測モードの有効化状況を取得する実施形態は、以下の通りであり、即ち、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する。ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
後の説明を容易にするために、以下、モード制限条件を例として説明する。表1は、本発明の実施例によるモード制限条件の概略説明である。
表1のサイズ制限条件とは、いずれも現在のブロックが満たす必要があるサイズ条件を指し、サイズ閾値CTU_ SIZEは128であり、他の値であってもよい。
以下、具体的な状況と上記表1を参照して、ステップ101をさらに詳細に説明する。
例1として、現在の候補予測モードは、通常融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含む。
例1において、ステップ101において現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する実施形態は、以下の通りであり、即ち、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、巡回待ち予測モードがいずれも有効にできないと確定し、または、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、且つ現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
表1から分かるように、現在の候補予測モードが通常融合モードである場合、巡回待ち予測モードにおける各候補予測モードのシーケンスレベルスイッチ制限条件において、対応する候補予測モードのオンが要求される。したがって、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチが0である場合、現在のブロックが巡回待ち予測モードにおける各候補予測モードのシーケンスレベルスイッチ制限条件を満たしていないことを示し、このように、現在のブロックは、巡回待ち予測モードにおける各候補予測モードを有効にすることができない。
現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である場合、表1から分かるように、現在のブロックが、符号化動きベクトル差分に基づく融合モードという予測モードのシーケンスレベルスイッチ制限条件を満たさず、したがって、現在のブロックが、符号化動きベクトル差分に基づく融合モードという予測モードを有効にすることができない。この条件に基づいて、現在のブロックのサイズが4×8または8×4である場合、表1から分かるように、現在のブロックが、巡回待ち予測モードにおける他の3つの候補予測モードのサイズ制限条件を満たさず、したがって、現在のブロックが、他の3つの候補予測モードを有効にすることができない。このようにすると、現在のブロックが、巡回待ち予測モードにおける各候補予測モードを有効にすることができない。
一例として、上記現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていないということは、現在のブロックの面積が面積閾値S未満であることを指してもよい。当該面積閾値Sは、巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件に基づいて確定される。後で説明を容易にするために、ここでの面積閾値を面積閾値Sと表記する。
例えば、表1から分かるように、現在のブロックの面積が64より小さい場合、表1の最後の3つの予測モードは、いずれも有効にできない。したがって、当該面積閾値Sを64に設定することができる。
例1の実施形態について、上述したものは、巡回待ち予測モードがいずれも有効にできないと判断する2つの方法を列挙したものであって、本発明を限定するものではない。例1では、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たさないと確定できる方法は、ステップ101に適用するために使用されることができ、ここでは説明を省略する。
例2として、現在の候補予測モードは、符号化動きベクトル差分に基づく融合モードであり、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、および三角予測に基づく融合モードを含む。
例2において、ステップ101において現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する実施形態は、以下の通りであり、即ち、現在のブロックの面積が面積閾値Sより小さい場合、巡回待ち予測モードがいずれも有効にできないと確定し、面積閾値Sは、巡回待ち予測モードにおける各候補予測モードのサイズ制限条件に基づいて確定される。
例1から分かるように、現在のブロックの面積が64より小さい場合、表1の最後の3つの予測モードは、いずれも有効にできない。したがって、当該面積閾値Sを64に設定することができる。このとき、現在のブロックの面積及び面積閾値Sに基づいて、巡回待ち予測モードがいずれも有効にできないかどうかを直接に確定することができる。
同様に、例2の実施形態について、上述したものは、巡回待ち予測モードがいずれも有効にできないと判断する1つの方法を列挙したものであって、本発明を限定するものではない。例2では、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たさないと確定できる方法は、ステップ101に適用するために使用されることができ、同様に、ここでは説明を省略する。
例3として、現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含む。
例3において、ステップ101において現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する実施形態は、以下の通りであり、即ち、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないときに、現在のブロックが指定条件を満たしている場合、巡回待ち予測モードがいずれも有効にできないと確定する。指定条件は、以下の条件のうちの1つ以上を含み、即ち、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあるという条件であり、現在のブロックの予測モードがスキップモードに属するという条件であり、現在のブロックの面積が、イントラ-インター連携予測に基づく融合モードに対して設定された面積閾値より小さく、および/または、現在のブロックの高さおよび/または幅が、イントラ-インター連携予測に基づく融合モードに対して設定されたサイズ閾値より大きいという条件である。
表1に示すように、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0である場合、または、現在のブロックの予測モードがスキップモードに属する場合、または、現在のブロックの面積がSより小さい場合、または、現在のブロックの高さまたは幅がCTU_SIZE以上である場合、上記のどの条件を満たしても、現在のブロックがイントラ-インター連携予測に基づく融合モードを有効にすることができないことを示す。このとき、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することができる。
例3において、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないことは、以下のいくつかの状況を含み、即ち、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、および/または、現在のブロックがある画像フレームがPフレームである。
例えば、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である場合、現在のブロックが三角予測に基づく融合モードのモード制限条件を満たしていないと確定することができる。
同様に、例1の実施形態について、上述したものは、巡回待ち予測モードがいずれも有効にできないと判断する1つの方法を列挙したものであって、本発明を限定するものではない。例1では、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たさないと確定できる方法は、ステップ101に適用するために使用されることができ、同様に、ここでは説明を省略する。
例4として、現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含む。
例4において、ステップ101において現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する実施形態は、以下の通りであり、即ち、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない実施形態について、例3を参照することができ、ここでは説明を省略する。
上記の例1~例4は、単なる例示にすぎず、本発明の具体的な実施例を限定するものではない。現在の候補予測モード及び巡回待ち予測モードが他のタイプのモードである場合、上記実施形態を参照して、巡回待ち予測モードの有効化状況を確定することができる。
ステップ102において、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定し、指示情報は、指示情報は、現在のブロックが現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、巡回待ち予測モードがいずれも有効にできない場合、現在のブロックが現在の候補予測モードを有効にすると確定する。
予測モードの指示情報の復号化が指定モードの復号化順序に従って復号化されるので、現在の候補予測モードまでに復号化した場合、指定モードの復号化順序において現在の候補予測順序の前の予測順序がいずれも有効にできないことを示す。このとき、指定モードの復号化順序において現在の候補予測順序の後の予測順序もいずれも有効にできないと確定した場合、現在のブロックは、必ず現在の候補予測モードを有効にする。したがって、このような場合、指示情報を復号化するステップをスキップして、現在のブロックが現在の候補予測モードを有効にすると直接に確定することができる。例えば、現在の候補予測モードのモードフラグを1に直接に設定することができる。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況をより直感的に表現するために、1つの変数、すなわち巡回待ち予測モードではオンにされることができる予測モードの数を導入することができる。このとき、巡回待ち予測モードの有効化状況は、当該変数に対応する数値で指示されることができる。当該変数が0である場合、巡回待ち予測モードがいずれも有効にできないことを示す。当該変数が0ではない場合、巡回待ち予測モードには有効にできる候補予測モードが存在することを示す。
ステップ103において、巡回待ち予測モードには有効にできる候補予測モードが存在する場合、指示情報を復号化する。
巡回待ち予測モードには有効にできる候補予測モードが存在する場合、現在の条件に基づいて、現在のブロックが現在の候補予測モードをオンにしたかどうかを確定することができないので、指示情報を復号化することにより、現在のブロックが現在の候補予測モードをオンにしたかどうかを確定する必要がある。
例えば、ステップ103において、現在の候補予測モードのモードフラグを復号化し、復号化して得られた値が1である場合、現在のブロックが現在の候補予測モードを有効にすると確定する。復号化して得られた値が0である場合、現在のブロックが現在の候補予測モードを有効にしないと確定する。
ステップ101の前に、現在の候補予測モードに対して、現時点で現在の候補予測モードを有効にすることができない場合、このとき、ステップ101とステップ103を通じて、現在の候補予測モードを有効にするかどうかを判断する必要はない。したがって、一例として、巡回待ち予測モードの有効化状況を取得する前に、現在のブロックが現在の候補予測モードを有効にすることができるかどうかを判断することもできる。現在のブロックが現在の候補予測モードを有効にすることができる場合、ステップ101とステップ103を通じて、現在の候補予測モードを有効にするかどうかを判断する。
一例として、現在のブロックが現在の候補予測モードを有効にすることができない場合、このとき、現在のブロックが現在の候補予測モードを有効にしないと直接に確定することができる。例えば、現在の候補予測モードのモードフラグを0に直接に設定し、現在の候補予測モードのモードフラグの復号プロセスをスキップすることができる。
上記の現在のブロックが現在の候補予測モードを有効にすることができるかどうかの判断について、現在のブロックが現在の候補予測モードのモード制限条件を満たすかどうかによって判断してもよい。現在のブロックが現在の候補予測モードのモード制限条件の全ての条件を満たす場合、現在のブロックが現在の候補予測モードを有効にすることができると確定する。現在のブロックが現在の候補予測モードのモード制限条件のいずれかを満たさない場合、現在のブロックが現在の候補予測モードを有効にすることができないと確定する。
例えば、現在のブロックにおいて現在の候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、このとき、ステップ101~ステップ102を実行する必要がなく、現在の候補予測モードのフラグを0に直接に設定する。
復号化側と符号化側は一致し、現在のブロックを符号化するプロセスにおいて、現在のブロックがどの予測モードを有効にするかを確定する必要がある場合、現在の候補予測モードに対して、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を復号化するステップをスキップし、現在のブロックが前記現在の候補予測モードを有効にすると直接に確定することができる。
しかしながら、関連技術では、予測モードの符号化の方法について、符号化側は、指定された順序に従って各予測モードの指示情報を順次に符号化する。後の説明を容易にするために、通常融合モードを予測モード1と呼び、符号化動きベクトル差分に基づく融合モードを予測モード2と呼び、サブブロック動き情報に基づく融合モードを予測モード3と呼び、イントラ-インター連携予測に基づく融合モードを予測モード4と呼び、三角予測に基づく融合モードを予測モード5と呼ぶ。表2は、関連技術において融合モードに対する予測モードの符号化順序を指示するために使用される。表3は、関連技術において融合モードに対する予測モードの符号化順序を指示するために使用される。表2に示すように、予測モード1の指示情報を符号化する際に、まず予測モード1がオンにされるかどうかを判断し、オンにされる場合、予測モード1の指示情報は、1である。予測モード1がオンにされない場合、予測モード1の指示情報を0に符号化し、予測モード2がオンにされるかどうかを判断し、オンにされる場合、予測モード2の指示情報を1に符号化する。予測モード2がオンにされない場合、予測モード2の指示情報を0に符号化し、予測モード3がオンにされるかどうかを判断し、オンにされる場合、予測モード3の指示情報を1に符号化する。予測モード3がオンにされない場合、予測モード3の指示情報を0に符号化する。表3の符号化プロセスは、表2の符号化プロセスと基本的に同じであるので、ここでは説明を省略する。
表2または表3によって予測モードを符号化した後、現在のブロックを復号化するとき、関連技術において、現在の候補予測モードのフラグは、現在のブロックが当該現在の候補予測モードを有効にするかどうかを確定するために、復号化されなければならない。しかしながら、本発明の実施例では、巡回待ち予測モードがいずれも有効にできない場合、指示情報を復号化するステップをスキップして、現在のブロックが前記現在の候補予測モードを有効にすると直接に確定することができる。この結果、予測モードを復号化するプロセスを簡略化し、予測モードを復号化する効率を向上させる。
以下、異なる実施例を通じて、図1に示された実施例をさらに説明する。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、融合における通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードの5つの予測モードについては、現在のブロックに対する指定モードの復号化順序は、これらの5つの予測モードに基づく任意の順序であってもよい。
スキップモードにおける通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、三角予測に基づく融合モードの4つの予測モードについては、現在のブロックに対する指定モードの復号化順序は、これらの4つの予測モードに基づく任意の順序であってもよい。
例示的に、指定モードの復号化順序には、予測モード1、予測モード2、予測モード3、予測モード4、および予測モード5が含まれる。予測モード1を復号化する必要がある場合、残りの予測モード2、予測モード3、予測モード4、および予測モード5が利用可能であるかどうかを判断することができる。4つの予測モードの利用可能な数を統計する。当該数が0である場合、予測モード1のフラグを復号化する必要はなく、当該フラグを1に直接に設定する。もちろん、融合/スキップモードに含まれる各予測モードの数が5つでない場合、同様に上記の復号化プロセスを参照してもよい。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、n個の予測モードがある場合、その指定モードの復号化順序は、予測モード1、予測モード2、…、予測モードnである。予測モードiを復号化するときに、残りの予測モードi+1、予測モードi+2から、予測モードNまでが利用可能であるかどうかを順次に判断し、利用可能な予測モードの数が0である場合、予測モードiのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、上記実施例において、予測モードi+1、予測モードi+2から、予測モードNまでが利用可能であるかどうかを判断するときに、全ての予測モードを巡回する必要はなく、1つの予測モードが利用可能である限り、利用可能な予測モードの数は0より大きく、後の予測モードが利用可能であるかどうかを再検出する必要はない。したがって、予測モードiを復号化するときに、残りの予測モードi+1、予測モードi+2から、予測モードnまでが利用可能であるかどうかを順次に判断する。予測モードi+1から予測モードnまでのある予測モードjが利用可能である場合、予測モードj+1から予測モードnまでが利用可能であるかどうかを再検出する必要はなく、予測モードiのフラグの復号化プロセスを直接に行う。予測モードnに至るまで、利用可能な予測モードがない場合、予測モードiのフラグを復号化する必要がなく、当該フラグを1に直接に設定する。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードが通常融合モードである場合、巡回待ち予測モードは、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含む。
このとき、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、および三角予測に基づく融合モードのこの4つの予測モードにおける各予測モードに対するシーケンスレベルスイッチが0である場合、通常融合モードのフラグを復号化する必要はなく、通常融合モードのフラグを1に直接に設定する。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0であり、且つ現在のブロックのサイズが4x8または8x4である場合(このような場合、残りの3つの予測モードはいずれも有効にできない)、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、および三角予測に基づく融合モードのこの4つの予測モードについて、サイズ、その他のモード、フレームタイプ、シーケンスレベルスイッチの条件を逐次に巡回する。この4つの予測モードを有効にすることができるかどうかを逐次に確定する。この4つの予測モードのうち有効にできる数を統計する。当該数が0である場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0であり、且つ現在のブロックの面積が面積閾値Sより小さい場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。上記面積閾値Sは、64であってもよい。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、4x8または8x4のブロックについては、符号化動きベクトル差分に基づく融合モードと通常融合モードのみを使用することができ、且つ4x4のブロックは符号化動きベクトル差分に基づく融合モードと通常融合モードを採用することができない。したがって、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0であり、且つ現在のブロックの面積(幅x高さ)が面積閾値SEに等しい場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。面積閾値SEは、32であってもよい。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードがスキップモードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、現在のブロックが符号化動きベクトル差分に基づく融合モードを有効にすることを許可しなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、三角予測に基づく融合モードも有効にできず(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)、現在のブロックの幅が4であり、高さが16以上であり、または高さが4であり、幅が16以上である場合(このような場合、サブブロック動き情報に基づく融合モードも有効にできない)、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードがスキップモードに属すると、現在のブロックが符号化動きベクトル差分に基づく融合モードを有効にすることを許可しなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、三角予測に基づく融合モードも有効にできず(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)、現在のブロックの幅が4であり、高さがサイズ閾値CTU_ SIZE以上であり、または高さが4であり、幅がサイズ閾値CTU_ SIZE以上である場合(この場合、サブブロック動き情報に基づく融合モードとイントラ-インター連携予測に基づく融合モードはいずれも有効にできない)、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、現在のブロックが下記の2つの条件のいずれかを満たす場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件1として、現在のブロックは、符号化動きベクトル差分に基づく融合モードを有効にすることができなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つ現在のブロックの面積(幅x高さ)は、面積閾値SEに等しい(このとき、サブブロック動き情報に基づく融合モードと三角予測に基づく融合モードは、いずれも有効にできない)。面積閾値SEは、32であってもよい。
条件2として、現在のブロックは、符号化動きベクトル差分に基づく融合モードを有効にすることができなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つサブブロック動き情報に基づく融合モードと三角予測に基づく融合モードがいずれも有効にできないことを同時に満たす。ここで、サブブロック動き情報に基づく融合モードが有効にできないことは、現在のブロックにおいてアフィンモードとSBTMVPモードに対するシーケンスレベルスイッチがいずれも0であり、または、現在のブロックの幅が4または高さが4に等しいことを含む。三角予測に基づく融合モードが有効にできないことは、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であることを含む。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると、現在のブロックが下記の2つの条件のいずれかを満たす場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件1として、現在のブロックが符号化動きベクトル差分に基づく融合モードを有効にすることを許可しなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つ現在のブロックの面積(幅x高さ)が、面積閾値SEに等しい場合(このとき、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードはいずれも有効にできなく且つ有効にされない)、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。面積閾値SEは、32であってもよい。
条件2として、現在のブロックが符号化動きベクトル差分に基づく融合モードを有効にすることを許可しなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つサブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードがいずれも有効にできないことを同時に満たす。ここで、サブブロック動き情報に基づく融合モードが有効にできないことは、現在のブロックにおいてアフィンモードとSBTMVPモードに対するシーケンスレベルスイッチがいずれも0であり、または、現在のブロックの幅が4または高さが4に等しいことを含む。イントラ-インター連携予測に基づく融合モードが有効にできないことは、現在のブロックにおいてイントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックの幅がサイズ閾値CTU_ SIZEまたは高さがサイズ閾値CTU_ SIZEに等しいことを含む。三角予測に基づく融合モードが有効にできないことは、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であることを含む。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
また、現在のブロックが通常融合モードのモード制限条件の全ての条件を満たす場合、上記復号化プロセスを実行する。現在のブロックが通常融合モードのモード制限条件のいずれかを満たしていない場合、当該フラグを0に直接に設定し、上記復号化プロセスを実行する必要はない。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードが符号化動きベクトル差分に基づく融合モードである場合、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含む。
このとき、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの面積が面積閾値Sより小さい(このような場合、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードは、いずれも利用できない)場合、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はない。このとき、符号化動きベクトル差分に基づく融合モードのフラグは、通常融合モードのフラグのビット反転である。つまり、通常融合モードのフラグが1である場合、符号化動きベクトル差分に基づく融合モードのフラグは0であり、通常融合モードのフラグが0である場合、符号化動きベクトル差分に基づく融合モードのフラグは1である。上記面積閾値Sは、32であってもよい。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの面積が面積閾値SEに等しい場合、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はない。このとき、符号化動きベクトル差分に基づく融合モードのフラグは、通常融合モードのフラグのビット反転である。面積閾値SEは、32であってもよい。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、三角予測に基づく融合モードも有効にできなく(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つ現在のブロックの幅が4であり、高さが16以上であり、または高さが4であり、幅が16以上である場合(このような場合、サブブロック動き情報に基づく融合モードも有効にできない)、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はない。このとき、符号化動きベクトル差分に基づく融合モードのフラグは、通常融合モードのフラグのビット反転である。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると、三角予測に基づく融合モードも有効にできなく(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つ現在のブロックの幅が4であり、高さがサイズ閾値CTU_ SIZE以上であり、または高さが4であり、幅がサイズ閾値CTU_ SIZE以上である場合(この場合、サブブロック動き情報に基づく融合モードとイントラ-インター連携予測に基づく融合モードはいずれも有効にできない)、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はない。このとき、符号化動きベクトル差分に基づく融合モードのフラグは、通常融合モードのフラグのビット反転である。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、現在のブロックが下記の2つの条件のいずれかを満たす場合、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件1として、現在のブロックの面積(幅x高さ)は、面積閾値SEに等しい(このとき、サブブロック動き情報に基づく融合モードと三角予測に基づく融合モードは、いずれも有効にできない)。面積閾値SEは、32であってもよい。
条件2として、現在のブロックは、サブブロック動き情報に基づく融合モードと三角予測に基づく融合モードがいずれも有効にできないことを同時に満たす。ここで、サブブロック動き情報に基づく融合モードが有効にできないことは、現在のブロックにおいてアフィンモードとSBTMVPモードに対するシーケンスレベルスイッチがいずれも0であり、または、現在のブロックの幅が4または高さが4に等しいことを含む。三角予測に基づく融合モードが有効にできないことは、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であることを含む。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると、現在のブロックが下記の2つの条件のいずれかを満たす場合、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件1として、現在のブロックの面積(幅x高さ)は、面積閾値SEに等しい(このとき、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードはいずれも有効にできなく且つ有効にされない)。面積閾値SEは、32であってもよい。
条件2として、現在のブロックは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードがいずれも有効にできないことを同時に満たす。ここで、サブブロック動き情報に基づく融合モードが有効にできないことは、現在のブロックにおいてアフィンモードとSBTMVPモードに対するシーケンスレベルスイッチがいずれも0であり、または、現在のブロックの幅が4または高さが4に等しいことを含む。イントラ-インター連携予測に基づく融合モードが有効にできないことは、現在のブロックにおいてイントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックの幅がサイズ閾値CTU_ SIZEまたは高さがサイズ閾値CTU_ SIZEに等しいことを含む。三角予測に基づく融合モードが有効にできないことは、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であることを含む。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
また、現在のブロックが符号化動きベクトル差分に基づく融合モードのモード制限条件の全ての条件を満たす場合、上記復号化プロセスを実行する。現在のブロックが符号化動きベクトル差分に基づく融合モードのモード制限条件のいずれかを満たさない場合、当該フラグを0に直接に設定し、上記復号化プロセスを実行する必要はない。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含む。
このとき、サブブロック動き情報に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックがある画像フレームがPフレームである場合、
(1)現在のブロックにおいてイントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0であると、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
(2)現在のブロックの予測モードが融合モードに属すると、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
現在のブロックの面積が面積閾値Sより小さく、または現在のブロックの幅または高さがサイズ閾値CTU_ SIZE以上であると、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。面積閾値Sは、64であってもよく、サイズ閾値CTU_ SIZEは、128であってもよい。
サブブロック動き情報に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、三角予測に基づく融合モードも有効にできない(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)場合、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
または、サブブロック動き情報に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると、下記条件(a)と条件(b)を同時に満たす場合、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件(a)として、イントラ-インター連携予測に基づく融合モードは利用できない。例えば、現在のブロックにおいてイントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックの幅がサイズ閾値CTU_ SIZEまたは高さがサイズ閾値CTU_ SIZEに等しい。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
条件(b)として、三角予測に基づく融合モードは利用できない。例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である。
また、現在のブロックがサブブロック動き情報に基づく融合モードのモード制限条件の全ての条件を満たす場合、上記復号化プロセスを実行する。現在のブロックがサブブロック動き情報に基づく融合モードのモード制限条件のいずれかを満たさない場合、当該フラグを0に直接に設定し、上記復号化プロセスを実行する必要はない。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含む。
このとき、イントラ-インター連携予測に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、三角予測に基づく融合モードは利用できなく、例えば現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックがある画像フレームがPフレームである場合、イントラ-インター連携予測に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
また、現在のブロックがイントラ-インター連携予測に基づく融合モードのモード制限条件の全ての条件を満たす場合、上記復号化プロセスを実行する。現在のブロックがイントラ-インター連携予測に基づく融合モードのモード制限条件のいずれかを満たさない場合、当該フラグを0に直接に設定し、上記復号化プロセスを実行する必要はない。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードは、三角予測に基づく融合モードである。このとき、三角予測に基づく融合モードの復号化プロセスは、以下の通りである。
このとき、三角予測に基づく融合モードのフラグを復号化する必要はなく、現在のブロックが三角予測に基づく融合モードのモード制限条件の全ての条件を満たす場合、三角予測に基づく融合モードのフラグを1に設定し、逆の場合、0に設定する。
上記のいくつかの実施例において、いずれかの予測モードについて、当該予測モードのフラグを1に設定する場合、現在のブロックが当該現在の候補予測モードを有効にすることを指示するために使用される。当該予測モードのフラグを0に設定する場合、現在のブロックが当該現在の候補予測モードを有効にしないことを指示するために使用される。
また、上記のいくつかの実施例において、いずれもIBC(intra block copy merge、イントラブロックコピー融合)モードが有効にされない場合、すなわち現在のブロックにおいてIBCモードに対するシーケンスレベルスイッチが0であり、または、現在のブロックがイントラ予測ブロック(非IBCモードの予測ブロック)である場合に関するものである。ここで、IBCモードでは、BV(block vector、候補ブロックベクトル)リストから1つのブロックベクトルを選択し、当該ブロックベクトルに基づいて現在のブロックの予測値を生成する。ここでのブロックベクトルとは、現在のフレームにおける現在のブロックからの参照ブロックのオフセットベクトルを指す。
図1に示された実施例は、予測モードを復号化するプロセスを説明するためのものである。本発明の実施例では、現在のブロックの各予測モードを符号化する場合、関連技術のように各予測モードを一つずつ符号化することができる。しかしながら、図1に示された実施例から分かるように、いくつかの例では、予測モードを復号化せずに、現在のブロックが当該予測モードを有効にするかどうかを確定することができる。このような場合、当該予測モードを符号化する必要はなく、したがって、本発明の実施例は、コードレートのオーバヘッドを節約するために予測モードの符号化の方法をさらに提供する。
図2は、本発明の実施例による予測モードの符号化の方法のフローチャートである。図2に示すように、当該方法は以下のステップを含む。
ステップ201において、巡回待ち予測モードの有効化状況を取得し、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況を取得することは、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得し、巡回順序とは、巡回待ち予測モードにおいて各候補予測モードが有効にできるかどうかを順次に判断する判断順序を指し、現在の候補予測モードは、巡回待ち予測モードの前にあることと、巡回順序における最後の候補予測モードに巡回したときに、最後の候補予測モードが有効にできない場合、巡回待ち予測モードがいずれも有効にできないと確定することと、を含む。
1つの可能な実施形態において、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得することの後、いずれかの候補予測モードに巡回したときに、いずれかの候補予測モードをオンにすることができる場合、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定することをさらに含む。
1つの可能な実施形態において、現在の候補予測モードは、予測モードセットにおけるいずれかの予測モードであり、予測モードセットは、少なくとも通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードのうちの1つ以上を含み、巡回待ち予測モードは、予測モードセットにおける現在の候補予測モード以外の他の予測モードのうちの1つ以上である。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況を取得することは、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを含み、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、現在の候補予測モードは、通常融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含み、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することは、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、巡回待ち予測モードがいずれも有効にできないと確定すること、または、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、且つ現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを含む。
1つの可能な実施形態において、現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていないことは、現在のブロックの面積が面積閾値より小さく、面積閾値が、巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件に基づいて確定されることを含む。
1つの可能な実施形態において、現在の候補予測モードは、符号化動きベクトル差分に基づく融合モードであり、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含み、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することは、現在のブロックの面積が面積閾値より小さい場合、巡回待ち予測モードがいずれも有効にできないと確定し、面積閾値が、巡回待ち予測モードにおける各候補予測モードのサイズ制限条件に基づいて確定されることを含む。
1つの可能な実施形態において、現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含み、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することは、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないときに、現在のブロックが指定条件を満たしている場合、巡回待ち予測モードがいずれも有効にできないと確定することを含み、指定条件は、以下の条件のうちの1つ以上を含み、即ち、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあるという条件であり、現在のブロックの予測モードがスキップモードに属するという条件であり、現在のブロックの面積が、イントラ-インター連携予測に基づく融合モードに対して設定された面積閾値より小さく、および/または、現在のブロックの高さおよび/または幅が、イントラ-インター連携予測に基づく融合モードに対して設定されたサイズ閾値より大きいという条件である。
1つの可能な実施形態において、現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含み、現在のブロックが巡回待ち予測モードにおける各予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することは、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを含む。
1つの可能な実施形態において、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないことは、
現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、および/または、現在のブロックがある画像フレームがPフレームであることを含む。
上記ステップ201における各実施形態の詳細な説明について、図1に示された実施例におけるステップ101の説明を参照してもよく、ここでは説明を省略する。
ステップ202において、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定し、指示情報は、現在のブロックが現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、巡回待ち予測モードがいずれも有効にできない場合、現在のブロックが現在の候補予測モードを有効にすると確定する。
ステップ203において、巡回待ち予測モードには有効にできる候補予測モードが存在する場合、指示情報を符号化する。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況を取得することの前に、現在のブロックが現在の候補予測モードを有効にすることができる場合、巡回待ち予測モードの有効化状況を取得するステップを実行することをさらに含む。
1つの可能な実施形態において、現在のブロックが現在の候補予測モードを有効にすることができない場合、現在のブロックが現在の候補予測モードを有効にしないと確定する。ここで、現在のブロックが現在の候補予測モードを有効にすることができないということは、現在のブロックが現在の候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを指し、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定することは、巡回待ち予測モードにおいてオンにすることができる予測モードの数が0である場合、現在のブロックが現在の候補予測モードを有効にすると直接に確定することを含む。
上記ステップ202からステップ203における各実施形態の詳細な説明について、図1に示された実施例におけるステップ102からステップ103の説明を参照してもよく、同様に、ここでは説明を省略する。つまり、本発明の実施例による予測モードの符号化プロセスは、予測モードの復号化と全く同じであり、復号化を符号化に変更するだけであり、且つ符号化側については、各予測モードのフラッグは既知であり、再設定は不要である。
現在のブロックを符号化するプロセスにおいて、現在のブロックがどの予測モードを有効にするかを確定する必要がある場合、現在の候補予測モードに対して、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を符号化するステップをスキップし、現在のブロックが現在の候補予測モードを有効にすると直接に確定することができる。関連技術のように、現在の候補予測モードの指示情報を符号化する必要がなく、この結果、予測モードを符号化するプロセスを簡略化し、予測モードを符号化する効率を向上させ、同時にコードレートのオーバヘッドを節約する。
図3は、本発明の実施例による復号化の装置の概略図であり、図3に示すように、当該装置300は、
巡回待ち予測モードの有効化状況を取得するために使用され、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む取得モジュール301と、
巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定するために使用され、指示情報は、現在のブロックが現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、巡回待ち予測モードがいずれも有効にできない場合、現在のブロックが現在の候補予測モードを有効にすると確定する確定モジュール302と、
を含む。
1つの可能な実施形態において、確定モジュールは、具体的に、巡回待ち予測モードには有効にできる候補予測モードが存在する場合、指示情報を復号化するために使用される。
1つの可能な実施形態において、取得モジュールは、具体的に、以下ように使用され、即ち、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得し、巡回順序とは、巡回待ち予測モードにおいて各候補予測モードが有効にできるかどうかを順次に判断する判断順序を指し、現在の候補予測モードは、巡回待ち予測モードの前にあり、巡回順序における最後の候補予測モードに巡回したときに、最後の候補予測モードが有効にできない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
1つの可能な実施形態において、取得モジュールは、具体的に、いずれかの候補予測モードに巡回したときに、いずれかの候補予測モードをオンにすることができる場合、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定するために使用される。
1つの可能な実施形態において、現在の候補予測モードは、予測モードセットにおけるいずれかの予測モードであり、予測モードセットは、少なくとも通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードのうちの1つ以上を含み、巡回待ち予測モードは、予測モードセットにおける現在の候補予測モード以外の他の予測モードのうちの1つ以上である。
1つの可能な実施形態において、取得モジュールは、具体的に、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、現在の候補予測モードは、通常融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、巡回待ち予測モードがいずれも有効にできないと確定し、または、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、且つ現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用される。
1つの可能な実施形態において、現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていないことは、現在のブロックの面積が面積閾値より小さく、面積閾値が、巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件に基づいて確定されることを含む。
1つの可能な実施形態において、現在の候補予測モードは、符号化動きベクトル差分に基づく融合モードであり、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックの面積が面積閾値より小さい場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、面積閾値が、巡回待ち予測モードにおける各候補予測モードのサイズ制限条件に基づいて確定される。
1つの可能な実施形態において、現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないときに、現在のブロックが指定条件を満たしている場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、指定条件は、以下の条件のうちの1つ以上を含み、即ち、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあるという条件であり、現在のブロックの予測モードがスキップモードに属するという条件であり、現在のブロックの面積が、イントラ-インター連携予測に基づく融合モードに対して設定された面積閾値より小さく、および/または、現在のブロックの高さおよび/または幅が、イントラ-インター連携予測に基づく融合モードに対して設定されたサイズ閾値より大きいという条件である。
1つの可能な実施形態において、現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用される。
1つの可能な実施形態において、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないことは、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、および/または、現在のブロックがある画像フレームがPフレームであることを含む。
1つの可能な実施形態において、取得モジュールは、現在のブロックが現在の候補予測モードを有効にすることができる場合、巡回待ち予測モードの有効化状況を取得するステップを実行するためにも使用される。
1つの可能な実施形態において、確定モジュールは、現在のブロックが現在の候補予測モードを有効にすることができない場合、現在のブロックが現在の候補予測モードを有効にしないと確定するためにも使用される。ここで、現在のブロックが現在の候補予測モードを有効にすることができないということは、現在のブロックが現在の候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを指し、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、確定モジュールは、具体的に、
巡回待ち予測モードにおいてオンにすることができる予測モードの数が0である場合、現在のブロックが現在の候補予測モードを有効にすると確定するために使用される。
現在のブロックを符号化するプロセスにおいて、現在のブロックがどの予測モードを有効にするかを確定する必要がある場合、現在の候補予測モードに対して、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を復号化するステップをスキップして、現在のブロックが現在の候補予測モードを有効にすると直接に確定する。関連技術のように、現在のブロックが現在の候補予測モードを有効にするかどうかを確定するために、現在の候補予測モードの指示情報を復号化する必要がなく、この結果、予測モードを復号化するプロセスを簡略化し、予測モードを復号化する効率を向上させる。
なお、上記実施例による復号化の装置は、予測モードを復号化する際に、上記の各機能モジュールの分割のみを例に挙げて説明し、実際の応用では、上記の機能は、必要に応じて異なる機能モジュールによって行われるように割り当てられてもよく、即ち、以上で説明された機能の全部または一部を達成するために、装置の内部構造を異なる機能ブロックに分割してもよい。上記実施例による復号化の装置と予測モードの復号化の方法の実施例は、同じ概念に属し、その具体的な実現プロセスについては、方法の実施例を参照し、ここでは説明を省略する。
図4は、本発明の実施例による符号化の装置の概略図であり、図4に示すように、当該装置400は、
巡回待ち予測モードの有効化状況を取得するために使用され、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む取得モジュール401と、
巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定するために使用され、指示情報は、現在のブロックが現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、巡回待ち予測モードがいずれも有効にできない場合、現在のブロックが現在の候補予測モードを有効にすると確定する確定モジュール402と、
を含む。
1つの可能な実施形態において、確定モジュールは、具体的に、巡回待ち予測モードには有効にできる候補予測モードが存在する場合、指示情報を符号化するために使用される。
1つの可能な実施形態において、取得モジュールは、具体的に、以下のように使用され、即ち、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得し、巡回順序とは、巡回待ち予測モードにおいて各候補予測モードが有効にできるかどうかを順次に判断する判断順序を指し、現在の候補予測モードは、巡回待ち予測モードの前にあり、巡回順序における最後の候補予測モードに巡回したときに、最後の候補予測モードが有効にできない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
1つの可能な実施形態において、取得モジュールは、具体的に、いずれかの候補予測モードに巡回したときに、いずれかの候補予測モードをオンにすることができる場合、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定するために使用される。
1つの可能な実施形態において、現在の候補予測モードは、予測モードセットにおけるいずれかの予測モードであり、予測モードセットは、少なくとも通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードのうちの1つ以上を含み、巡回待ち予測モードは、予測モードセットにおける現在の候補予測モード以外の他の予測モードのうちの1つ以上である。
1つの可能な実施形態において、取得モジュールは、具体的に、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、現在の候補予測モードは、通常融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、巡回待ち予測モードがいずれも有効にできないと確定し、または、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、且つ現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用される。
1つの可能な実施形態において、現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていないことは、現在のブロックの面積が面積閾値より小さく、面積閾値が、巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件に基づいて確定されることを含む。
1つの可能な実施形態において、現在の候補予測モードは、符号化動きベクトル差分に基づく融合モードであり、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックの面積が面積閾値より小さい場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、面積閾値が、巡回待ち予測モードにおける各候補予測モードのサイズ制限条件に基づいて確定される。
1つの可能な実施形態において、現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないときに、現在のブロックが指定条件を満たしている場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、指定条件は、以下の条件のうちの1つ以上を含み、即ち、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあるという条件であり、現在のブロックの予測モードがスキップモードに属するという条件であり、現在のブロックの面積が、イントラ-インター連携予測に基づく融合モードに対して設定された面積閾値より小さく、および/または、現在のブロックの高さおよび/または幅が、イントラ-インター連携予測に基づく融合モードに対して設定されたサイズ閾値より大きいという条件である。
1つの可能な実施形態において、現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用される。
1つの可能な実施形態において、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないことは、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、および/または、現在のブロックがある画像フレームがPフレームであることを含む。
1つの可能な実施形態において、取得モジュールは、現在のブロックが現在の候補予測モードを有効にすることができる場合、巡回待ち予測モードの有効化状況を取得するステップを実行するためにも使用される。
1つの可能な実施形態において、確定モジュールは、現在のブロックが現在の候補予測モードを有効にすることができない場合、現在のブロックが現在の候補予測モードを有効にしないと確定するためにも使用される。ここで、現在のブロックが現在の候補予測モードを有効にすることができないということは、現在のブロックが現在の候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを指し、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、確定モジュールは、具体的に、
巡回待ち予測モードにおいてオンにすることができる予測モードの数が0である場合、現在のブロックが現在の候補予測モードを有効にすると確定するために使用される。
現在のブロックを符号化するプロセスにおいて、現在のブロックがどの予測モードを有効にするかを確定する必要がある場合、現在の候補予測モードに対して、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を符号化するステップをスキップし、現在のブロックが現在の候補予測モードを有効にすると直接に確定することができる。関連技術のように、現在の候補予測モードの指示情報を符号化する必要がなく、この結果、予測モードを符号化するプロセスを簡略化し、予測モードを符号化する効率を向上させ、同時にコードレートのオーバヘッドを節約する。
なお、上記実施例による符号化の装置は、予測モードを符号化する際に、上記の各機能モジュールの分割のみを例に挙げて説明し、実際の応用では、上記の機能は、必要に応じて異なる機能モジュールによって行われるように割り当てられてもよく、即ち、以上で説明された機能の全部または一部を達成するために、装置の内部構造を異なる機能ブロックに分割してもよい。また、上記実施例による符号化の装置と予測モードの符号化の方法の実施例は、同じ概念に属し、その具体的な実現プロセスについては、方法の実施例を参照し、ここでは説明を省略する。
図5は、本発明の実施例による電子装置500の構成ブロック図である。当該電子装置500は、スマートフォン、タブレット、MP3プレーヤー(Moving Picture Experts Group Audio Layer III、エムペグオーディオレイヤー3)、MP4プレーヤー(Moving Picture Experts Group Audio Layer IV、エムペグオーディオレイヤー4)、ノートパソコンまたはデスクトップパソコンであってもよい。電子装置500は、ユーザ機器、携帯電子装置、ラップトップ電子装置、デスクトップ電子装置などの他の名称と呼ばれることもある。本発明の実施例に係る復号化の装置と符号化の装置は、いずれも図5に示された電子装置によって実現されることができる。
通常、電子装置500は、プロセッサ501とメモリー502とを含む。
プロセッサ501は、例えば4コアプロセッサ、8コアプロセッサなどの1つ以上の処理コアを含むことができる。プロセッサ501は、DSP(Digital Signal Processing、デジタル信号処理)、FPGA(Field-Programmable Gate Aray、フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Aray、プログラマブル論理アレイ)の少なくとも1つのハードウェアにより実現されることができる。プロセッサ501は、メインプロセッサおよびコプロセッサを含んでもよく、メインプロセッサは、起動状態のデータを処理するためのプロセッサであり、CPU(Central Processing Unit、中央処理装置)とも呼ばれ、コプロセッサは、スタンバイ状態のデータを処理するための低消費電力プロセッサである。いくつかの実施例では、プロセッサ501は、GPU(Graphics Processing Unit、画像プロセッサ)を統合してもよく、GPUは、ディスプレイが表示する必要があるコンテンツのレンダリングと描画に使用される。いくつかの実施例では、プロセッサ501は、AI(Artificial Intelligence、人工知能)プロセッサをさらに含んでもよく、当該AIプロセッサは、機械学習に関連する計算操作を処理するために使用される。
メモリー502は、1つ以上のコンピュータ読取可能な記憶媒体を含むことができ、当該コンピュータ読取可能な記憶媒体は、非一時的であってもよい。メモリー502は、1つ以上のディスク記憶装置、フラッシュストレージデバイスなどの、高速ランダムアクセスメモリ、および不揮発性メモリを含んでもよい。いくつかの実施例では、メモリ502内の非一時的なコンピュータ読取可能な記憶媒体は、少なくとも1つの指令を記憶するために使用され、当該少なくとも1つの指令は、プロセッサ501によって実行されることにより、本発明の方法の実施例による予測モードの復号化の方法または予測モードの符号化の方法を実現する。
いくつかの実施例では、選択肢の一つとして、電子装置500は、周辺機器インターフェース503と少なくとも1つの周辺機器とを含んでもよい。プロセッサ501、メモリ502、および周辺機器インターフェース503は、バスまたは信号線を介して接続されていてもよい。各周辺機器は、バス、信号線、または回路基板を介して周辺機器インターフェース503に接続されていてもよい。具体的に、周辺機器は、無線周波数回路504、タッチディスプレイ505、カメラ506、オーディオ回路507、位置決めアセンブリ508および電源509の少なくとも1つを含む。
周辺機器インターフェース503は、I/O(Input/Output、入力/出力)に関連する少なくとも1つの周辺機器をプロセッサ501およびメモリ502に接続するために使用されてもよい。いくつかの実施例では、プロセッサ501、メモリ502、および周辺機器インターフェース503は、同一のチップまたは回路基板に集積され、いくつかの他の実施例では、プロセッサ501、メモリ502、および周辺機器インターフェース503のいずれか1つまたは2つは、個別のチップまたは回路基板上に実現されてもよく、本実施例はこれに対して限定しない。
無線周波数回路504は、RF(Radio Frequency、無線周波数)信号を受信および送信するために使用され、電磁信号とも呼ばれる。無線周波数回路504は、電磁信号を介して通信ネットワークおよび他の通信デバイスと通信する。無線周波数回路504は、電気信号を電磁信号に変換して送信するか、または受信した電磁信号を電気信号に変換する。選択肢の一つとして、無線周波数回路504は、アンテナシステム、RFトランシーバ、1つ以上の増幅器、チューナー、発振器、デジタル信号プロセッサ、コーデックチップセット、加入者識別モジュールカードなどを含む。無線周波数回路504は、少なくとも1つの無線通信プロトコルを介して他の電子装置と通信することができる。当該無線通信プロトコルには、メトロポリタンエリアネットワーク、すべての世代のモバイル通信ネットワーク(2G、3G、4G、および5G)、無線LANおよび/またはWiFi(Wireless Fidelity、ワイヤレスフィデリティ)ネットワークが含まれるが、これらに限定されない。いくつかの実施例では、無線周波数回路504は、NFC(Near Field Communication、近距離無線通信)に関する回路を含んでもよく、本実施例はこれに対して限定しない。
ディスプレイ505は、UI(User Interface、ユーザインターフェース)を表示するために使用される。当該UIは、グラフィック、テキスト、アイコン、ビデオ、およびそれらの任意の組み合わせを含めることができる。ディスプレイ505がタッチディスプレイである場合、ディスプレイ505は、ディスプレイ505の表面または表面の上方にあるタッチ信号を収集する能力をさらに有する。当該タッチ信号は、制御信号としてプロセッサ501に入力されて処理されてもよい。このとき、ディスプレイ505は、仮想ボタンおよび/または仮想キーボードを提供するために使用されてもよく、ソフトボタンおよび/またはソフトキーボードとも呼ばれる。いくつかの実施例では、ディスプレイ505は、1つでもよく、電子装置500のフロントパネルを設定し、いくつかの他の実施形態では、ディスプレイ505は、少なくとも2つでもよく、電子装置500の異なる表面にそれぞれ設けられ、または折り畳みの形で設計され、いくつかのさらに別の実施例では、ディスプレイ505は、フレキシブルディスプレイであってもよく、電子装置500の曲げ面または折り畳み面に設けられる。さらに、ディスプレイ505は、非矩形の不規則な形状、すなわち特殊な形状のスクリーンに設定されてもよい。ディスプレイ505は、LCD(Liquid Crystal Display、液晶ディスプレイ)およびOLED(Organic Light-Emitting Diode、有機発光ダイオード)などの材料で作られてもよい。
カメラアセンブリ506は、画像またはビデオを収集するために使用される。選択肢の一つとして、カメラアセンブリ506は、フロントカメラとリアカメラを含む。通常、フロントカメラは電子装置のフロントパネルに設置され、リアカメラは電子装置の背面に設置される。いくつかの実施例では、メインカメラと被写界深度カメラとの融合によって背景ぼかし機能を実現し、メインカメラと広角カメラとの融合によってパノラマ撮影及びVR(Virtual Reality、仮想現実)撮影機能またはその他の融合撮影機能を実現するために、リアカメラは少なくとも2つで、それぞれがメインカメラ、被写界深度カメラ、広角カメラ、長焦点カメラのいずれかである。いくつかの実施例では、カメラアセンブリ506は、フラッシュをさらに含むことができる。フラッシュは、モノクロ温度フラッシュであってもよいし、デュアルカラー温度フラッシュであってもよい。デュアルカラー温度フラッシュとは、暖光フラッシュと冷光フラッシュとの組み合わせを指し、異なる色温度での光線補償に使用できる。
オーディオ回路507は、マイクおよびスピーカーを含むことができる。マイクロフォンは、ユーザおよび環境の音波を収集し、音波を電気信号に変換してプロセッサ501に入力して処理し、または無線周波数回路504に入力することにより、音声通信を実現する。ステレオ収集またはノイズ低減の目的で、マイクは複数であってもよく、電子装置500の異なる部位にそれぞれ配置される。マイクは、アレイマイクまたは全指向性収集型マイクであってもよい。スピーカは、プロセッサ501または無線周波数回路504からの電気信号を音波に変換するために使用される。スピーカは、従来のフィルムスピーカであってもよく、圧電セラミックスピーカであってもよい。スピーカが圧電セラミックスピーカである場合、電気信号を人間に聞こえる音波に変換するだけでなく、電気信号を人間に聞こえない音波に変換することにより測距するなどの用途も考えられる。いくつかの実施例では、オーディオ回路507は、ヘッドフォンジャックをさらに含むことができる。
位置決めアセンブリ508は、電子装置500の現在の地理的位置を位置決めすることにより、ナビゲーションまたはLBS(Location Based Service、位置情報に基づくサービス)を実現する。位置決めアセンブリ508は、米国のGPS(Global Positioning System、全地球測位システム)、中国の北斗システム、ロシアのガリレオシステム又は欧州連合のガリレオシステムに基づく位置決めアセンブリであってもよい。
電源509は、電子装置500の各アセンブリに電力を供給するために使用される。電源509は、交流、直流、使い捨て電池、または充電式電池であってもよい。電源509が充電式電池を含む場合、当該充電式電池は、有線充電または無線充電に対応できる。当該充電式電池は、クイックチャージ技術にも対応できる。
いくつかの実施例では、電子装置500は、1つ以上のセンサ510をさらに含む。当該1つ以上のセンサ510は、加速度センサ511、ジャイロセンサ512、圧力センサ513、指紋センサ514、光学センサ515、および近接センサ516を含むが、これらに限定されない。
加速度センサ511は、電子装置500により確立された座標系の3つの座標軸上の加速度の大きさを検出することができる。例えば、加速度センサ511は、3つの座標軸上の重力加速度の成分を検出するために使用されることができる。プロセッサ501は、加速度センサ511によって収集された重力加速度信号に基づいて、横方向または縦方向のビューでユーザインタフェースの表示を行うようにタッチディスプレイ505を制御することができる。加速度センサ511は、ゲームまたはユーザの動きデータの収集にも利用できる。
ジャイロセンサ512は、電子装置500の機体の方向および回動角度を検出することができ、ジャイロセンサ512は、加速度センサ511と協働して、ユーザによる電子装置500の3D動作を収集することができる。プロセッサ501は、ジャイロセンサ512によって収集されたデータに基づいて、動作感知(例えば、ユーザの傾き操作に応じてUIを変化させる)、撮影時の画像安定、ゲーム制御、および慣性ナビゲーションなどの機能を実現することができる。
圧力センサ513は、電子装置500の側面枠および/またはタッチディスプレイ505の下層に配置されてもよい。圧力センサ513が電子装置500の側面枠に配置されると、電子装置500へのユーザの保持信号を検出することができ、プロセッサ501は、圧力センサ513によって収集された保持信号に基づいて、左右手の識別または迅速な操作を行うことができる。圧力センサ513がタッチディスプレイ505の下層に配置されると、プロセッサ501は、タッチディスプレ505へのユーザの圧力操作に応じて、UIインターフェイス上の操作可能なコントロールを制御する。操作可能なコントロールには、ボタンコントロール、スクロールバーコントロール、アイコンコントロール、メニューコントロールの少なくとも1つが含まれる。
指紋センサ514は、ユーザの指紋を収集するために使用され、プロセッサ501は、指紋センサ514によって収集された指紋に基づいてユーザーの身元を認識し、または、指紋センサ514は、収集された指紋に基づいてユーザーの身元を認識する。ユーザの身元が信頼できる身元であると認識された場合、プロセッサ501によって、当該ユーザに関連する敏感な操作を実行させ、当該敏感な操作は、スクリーンのロック解除、暗号化された情報の閲覧、ソフトウェアのダウンロード、支払いおよび設定変更などを含む。指紋センサ514は、電子装置500の前面、背面、または側面に設けられてもよい。電子装置500には物理的なボタンまたはメーカーのロゴが配置された場合、指紋センサ514は物理的なボタンまたはメーカーのロゴと統合されてもよい。
光センサ515は、環境の光強度を収集するために使用される。一実施例では、プロセッサ501は、光学センサ515によって収集された環境の光強度に基づいて、タッチディスプレイ505の表示輝度を制御することができる。具体的に、環境の光強度が高い場合、タッチディスプレイ505の表示輝度を上げ、周囲の光強度が低い場合、タッチディスプレイ505の表示輝度を下げる。別の実施例では、プロセッサ501は、光学センサ515によって収集された環境の光強度に基づいて、カメラアセンブリ506の撮影パラメータを動的に調整することができる。
近接センサ516は、距離センサとも呼ばれ、通常、電子装置500のフロントパネルに配置される。近接センサ516は、ユーザと電子装置500の正面との間の距離を取得するために使用される。一実施例では、ユーザと電子装置500の正面との間の距離が徐々に小さくなることを近接センサ516が検出した場合、プロセッサ501は、明るい画面状態から閉じた画面状態に切り替えるようにタッチディスプレイ505を制御し、ユーザと電子装置500の正面との間の距離が徐々に大きくなることを近接センサ516が検出した場合、プロセッサ501は、閉じた画面状態から明るい画面状態に切り替えるようにタッチディスプレイ505を制御する。
当業者であれば、図5に示される構造は、電子装置500を限定するものではなく、図示よりも多いまたは少ないアセンブリを含んでもよく、または、いくつかのアセンブリを組み合わせたり、あるいは異なるアセンブリ配置を採用したりすることができることを理解できる。
本発明の実施例において、非一時的なコンピュータ可読記憶媒体をさらに提供し、前記記憶媒体における指令が電子装置のプロセッサによって実行されるとき、上記の実施例による予測モードの復号化の方法または予測モードの符号化の方法を電子装置に実行させることを可能にする。
本発明の実施例において、指令を含むコンピュータプログラム製品をさらに提供し、電子装置上で動作するとき、上記の実施例による予測モードの復号化の方法または予測モードの符号化の方法を電子装置に実行させる。
当業者にとって、上記の実施例のステップの全部または一部をハードウェアによって完了してもよく、プログラムを利用して関連するハードウェアを指令することにより完了してもよいことを理解することができ、前記プログラムは、コンピュータ可読記憶媒体に記憶されることができ、上記記憶媒体は、読み出し専用メモリ、磁気ディスク、または光ディスク等であってもよい。
上記は、本発明の好ましい実施例に過ぎない、本発明を限定するものではなく、本発明の精神および原則内でなされた任意の変更、等効な置換、改善などは、本発明の範囲に含まれるものとする。
300、400 符号化の装置
301、401 取得モジュール
302、402 確定モジュール
本発明は、2020年06月19日に提出された国際出願No.PCT/CN2020/097177の日本国家段階であり、2019年06月21日に提出された出願番号201910544430.2、発明名称「予測モードの復号化、符号化の方法および装置」の中国特許出願の優先権を主張し、その全ての内容は参照により本明細書に援用する。
本発明は、マルチメディア技術の分野に関し、特に予測モードの復号化の方法、符号化の方法、復号化の装置、符号化の装置および記憶媒体に関するものである。
予測モードとは、ビデオフレームにおける画像ブロックを復号化または符号化するモードを指す。予測モードが複数種類のモードを含むので、各予測モードに対して1つの指示情報を配置し、指示情報は、対応する予測モードをオンにしたかどうかを指示するために使用される。符号化側は、指示情報を符号化することにより、当該画像ブロックがどの予測モードを有効にするかを指示する。復号化側は、符号化された後の指示情報を復号化することにより、当該画像ブロックが採用する予測モードを確定することができる。
本発明の実施例は、予測モードを復号化する効率を向上させるための予測モードの復号化の方法、符号化の方法、復号化の装置、符号化の装置および記憶媒体を提供する。技術案は以下の通りである。
第1側面において、本発明の実施例は、予測モードの復号化の方法を提供する。前記方法は、
現在のブロックが融合モードを採用し、且つ前記現在のブロックが現在の候補予測モードを有効にすることができると確定したとき、以下のステップを実行し、即ち、
巡回待ち予測モードの有効化状況を取得し、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の前記現在のブロックの予測のための候補予測モードを含むこと、
前記巡回待ち予測モードには有効にできる候補予測モードが存在する場合、コードストリームから前記現在の候補予測モードの指示情報を解析し、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用されること、
前記巡回待ち予測モードがいずれも有効にできない場合、前記コードストリームから前記現在の候補予測モードの指示情報を解析することなく、前記現在のブロックが前記現在の候補予測モードを有効にすると直接に確定すること、
である。
いくつかの実施例において、前記現在の候補予測モードと前記巡回待ち予測モードにおける候補予測モードは、いずれも前記融合モードに基づく予測モードであり、前記融合モードに基づく予測モードは、少なくとも通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含む。
いくつかの実施例において、前記巡回待ち予測モードの有効化状況を取得することは、
前記現在のブロックが前記巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、前記巡回待ち予測モードがいずれも有効にできないと確定することを含み、ここで、前記モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびスイッチ制限条件を含む。
いくつかの実施例において、前記方法は、
前記現在のブロックが前記現在の候補予測モードを有効にすることができない場合、前記現在のブロックが前記現在の候補予測モードを有効にしないと確定することをさらに含み、
ここで、前記現在のブロックが前記現在の候補予測モードを有効にすることができないということは、前記現在のブロックが前記現在の候補予測モードのモード制限条件のいずれかを満たさないことを指し、前記モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびスイッチ制限条件を含む。
いくつかの実施例において、前記現在の候補予測モードが前記イントラ-インター連携予測に基づく融合モードであるとき、前記イントラ-インター連携予測の融合モードのスイッチがオン状態であり、前記現在のブロックの面積が64以上であり、前記現在のブロックの高さと幅がともにサイズ閾値よりも小さい場合、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができると確定し、
逆の場合、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができないと確定する。
いくつかの実施例において、前記現在のブロックが前記現在の候補予測モードを有効にすることができると確定することは、前記現在のブロックが前記現在の候補予測モードのモード制限条件の全ての条件を有効にできることを満たす場合、前記現在のブロックが前記現在の候補予測モードを有効にすることができると確定することを含む。
いくつかの実施例において、前記方法は、
前記現在のブロックが前記現在の候補予測モードを有効にすることができない場合、前記現在の候補予測モードのモードフラグの復号プロセスをスキップして、前記現在の候補予測モードのモードフラグの値を0に直接に設定することをさらに含む。
いくつかの実施例において、前記巡回待ち予測モードのいずれかの候補予測モードに対して、前記現在のブロックが前記いずれかの候補予測モードのモード制限条件の全ての条件を満たすとき、前記現在のブロックは、前記いずれかの候補予測モードを有効にすることができる権限を有する。
いくつかの実施例において、前記現在の候補予測モードがイントラ-インター連携予測に基づく融合モードである場合、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができないと確定した場合、現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にしないと確定し、前記イントラ-インター連携予測に基づく融合モードのモードフラグの値を0に設定することをさらに含む。
いくつかの実施例において、前記イントラ-インター連携予測に基づく融合モードに対して、前記イントラ-インター連携予測に基づく融合モードのシーケンスレベルスイッチの値が0である場合、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができないと確定し、前記シーケンスレベルスイッチの値は、シーケンスパラメータセットSPSに存在する。
いくつかの実施例において、前記イントラ-インター連携予測に基づく融合モードに対して、前記現在のブロックのサイズが、高さおよび幅の両方が128未満であることを満たさない場合、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができないと確定する。
いくつかの実施例において、前記現在のブロックが採用している融合モードがスキップモードに属する場合、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができないと確定する。
いくつかの実施例において、前記符号化動きベクトル差分に基づく融合モードに対して、前記符号化動きベクトル差分に基づく融合モードのシーケンスレベルスイッチの値が0である場合、前記現在のブロックが前記符号化動きベクトル差分に基づく融合モードを有効にすることができないと確定し、前記シーケンスレベルスイッチの値は、シーケンスパラメータセットSPSに存在する。
いくつかの実施例において、前記サブブロック動き情報に基づく融合モードに対して、前記現在のブロックのサイズが4×8または8×4である場合、前記現在のブロックが前記サブブロック動き情報に基づく融合モードを有効にすることができないと確定する。
いくつかの実施例において、前記現在の候補予測モードが前記イントラ-インター連携予測に基づく融合モードであり、且つ前記巡回待ち予測モードが第1候補予測モードを含むとき、前記方法は、
前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができるかどうかを確定することと、
前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができる場合、前記第1候補予測モードに対する前記現在のブロックの有効化状況を取得することと、
前記現在のブロックが前記第1候補予測モードを有効にすることができる場合、前記イントラ-インター連携予測に基づく融合モードのフラグ指示情報を取得して復号化し、前記フラグ指示情報の復号化情報に基づいて、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にするかどうかを確定することと、
をさらに含み、
ここで、前記第1候補予測モードは、前記現在のブロックの動き情報に基づいて、前記現在のブロックをプリセットされた角度で分けて得られた2つの三角サブブロックを予測するために使用され、前記プリセットされた角度は、45度や135度を含み、
前記現在のブロックが前記第1候補予測モードを有効にすることができると確定することは、
前記通常融合モード、前記符号化動きベクトル差分に基づく融合モード、前記サブブロック動き情報に基づく融合モード、前記イントラ-インター連携予測に基づく融合モードがいずれもオフになる場合、前記現在のブロックが前記第1候補予測モードを有効にすることができると確定すること、を含む。
いくつかの実施例において、前記現在の候補予測モードが前記イントラ-インター連携予測に基づく融合モードであり、且つ前記巡回待ち予測モードが第1候補予測モードを含むとき、前記方法は、
前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができるかどうかを確定することと、
前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができる場合、前記第1候補予測モードに対する前記現在のブロックの有効化状況を取得することと、
前記現在のブロックが前記第1候補予測モードを有効にすることができない場合、前記フラグ指示情報を復号化する必要がなく、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすると直接に確定することと、
をさらに含み、
ここで、前記第1候補予測モードは、現在のブロックの動き情報に基づいて、前記現在のブロックをプリセットされた角度で分けて得られた2つの三角サブブロックを予測するために使用され、前記プリセットされた角度は、45度や135度を含み、
前記前記現在のブロックが前記第1候補予測モードを有効にすることができないと確定することは、
前記第1候補予測モードのシーケンスレベルスイッチの値が0である場合、前記現在のブロックが前記第1候補予測モードを有効にすることができないと確定し、前記シーケンスレベルスイッチの値は、シーケンスパラメータセットSPSに存在すること、
または、
前記現在のブロックがある現在のフレームがPフレームである場合、前記現在のブロックが前記第1候補予測モードを有効にすることができないと確定すること、
を含む。
第2側面において、本発明の実施例は、予測モードの符号化の方法を提供する。前記方法は、
現在のブロックが融合モードを採用し、且つ前記現在のブロックが現在の候補予測モードを有効にすることができると確定したとき、以下のステップを実行し、即ち、
巡回待ち予測モードの有効化状況を取得し、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の前記現在のブロックの予測のための候補予測モードを含むこと、
前記巡回待ち予測モードには有効にできる候補予測モードが存在する場合、前記現在の候補予測モードの指示情報をコードストリームに書き込み、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用されること、
前記巡回待ち予測モードがいずれも有効にできない場合、前記現在の候補予測モードの指示情報を前記コードストリームに書き込まないこと、
である。
いくつかの実施例において、前記現在の候補予測モードと前記巡回待ち予測モードにおける候補予測モードは、いずれも前記融合モードに基づく予測モードであり、前記融合モードに基づく予測モードは、少なくとも通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含む。
いくつかの実施例において、前記巡回待ち予測モードの有効化状況を取得することは、
前記現在のブロックが前記巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、前記巡回待ち予測モードがいずれも有効にできないと確定することを含み、ここで、前記モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびスイッチ制限条件を含む。
いくつかの実施例において、前記方法は、
前記現在のブロックが前記現在の候補予測モードを有効にすることができない場合、前記現在のブロックが前記現在の候補予測モードを有効にしないと確定することをさらに含み、
ここで、前記現在のブロックが前記現在の候補予測モードを有効にすることができないということは、前記現在のブロックが前記現在の候補予測モードのモード制限条件のいずれかを満たしていないことを指し、前記モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびスイッチ制限条件を含む。
いくつかの実施例において、前記現在の候補予測モードが前記イントラ-インター連携予測に基づく融合モードであるとき、前記イントラ-インター連携予測の融合モードのスイッチがオン状態であり、前記現在のブロックの面積が64以上であり、前記現在のブロックの高さと幅がともにサイズ閾値よりも小さい場合、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができると確定し、
逆の場合、前記現在のブロックが前記イントラ-インター連携予測に基づく融合モードを有効にすることができないと確定する。
第3側面において、本発明の実施例は、復号化の装置を提供する。前記装置は、
現在のブロックが融合モードを採用し、且つ前記現在のブロックが現在の候補予測モードを有効にすることができると確定したとき、以下のステップを実行するように構成され、即ち、
巡回待ち予測モードの有効化状況を取得し、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の前記現在のブロックの予測のための候補予測モードを含むこと、
前記巡回待ち予測モードには有効にできる候補予測モードが存在する場合、コードストリームから前記現在の候補予測モードの指示情報を解析し、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用されること、
前記巡回待ち予測モードがいずれも有効にできない場合、前記コードストリームから前記現在の候補予測モードの指示情報を解析することなく、前記現在のブロックが前記現在の候補予測モードを有効にすると直接に確定すること、
である。
第4側面において、本発明の実施例は、符号化の装置を提供する。前記装置は、
現在のブロックが融合モードを採用し、且つ前記現在のブロックが現在の候補予測モードを有効にすることができると確定したとき、以下のステップを実行するように構成され、即ち、
巡回待ち予測モードの有効化状況を取得し、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の前記現在のブロックの予測のための候補予測モードを含むこと、
前記巡回待ち予測モードには有効にできる候補予測モードが存在する場合、前記現在の候補予測モードの指示情報をコードストリームに書き込み、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用されること、
前記巡回待ち予測モードがいずれも有効にできない場合、前記現在の候補予測モードの指示情報を前記コードストリームに書き込まないこと、
である。
第5側面において、本発明の実施例は、復号化のデバイスを提供する。前記デバイスは、プロセッサと、
プロセッサ実行可能指令を記憶するためのメモリと、
を含み、
ここで、前記プロセッサは、上記第1側面のいずれかに記載の方法を実行するように構成されている。
第6側面において、本発明の実施例は、符号化のデバイスを提供する。前記デバイスは、プロセッサと、
プロセッサ実行可能指令を記憶するためのメモリと、
を含み、
ここで、前記プロセッサは、上記第2側面のいずれかに記載の方法を実行するように構成されている。
第7側面において、本発明の実施例は、プロセッサと、
プロセッサ実行可能指令を記憶するためのメモリと、
を含み、
ここで、前記プロセッサは、上記第1側面または上記第2側面のいずれかに記載の方法を実行するように構成されている、
電子デバイスに関する。
第8側面において、本発明の実施例は、不揮発性記憶媒体を提供し、前記不揮発性記憶媒体には指令が記憶され、前記指令がプロセッサによって実行されるとき、上記第1側面または上記第2側面のいずれかに記載の方法を実現する。
一側面において、巡回待ち予測モードの有効化状況を取得し、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含むことと、前記巡回待ち予測モードの有効化状況に基づいて、前記現在の候補予測モードの指示情報を復号化するかどうかを確定し、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、前記巡回待ち予測モードがいずれも有効にできない場合、前記現在のブロックが前記現在の候補予測モードを有効にすると確定することと、を含む予測モードの復号化の方法に関する。
別の側面において、巡回待ち予測モードの有効化状況を取得し、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含むことと、前記巡回待ち予測モードの有効化状況に基づいて、前記現在の候補予測モードの指示情報を符号化するかどうかを確定し、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、前記巡回待ち予測モードがいずれも有効にできない場合、前記現在のブロックが前記現在の候補予測モードを有効にすると確定することと、を含む予測モードの符号化の方法に関する。
別の側面において、巡回待ち予測モードの有効化状況を取得するために使用され、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む取得モジュールと、
前記巡回待ち予測モードの有効化状況に基づいて、前記現在の候補予測モードの指示情報を復号化するかどうかを確定するために使用され、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、前記巡回待ち予測モードがいずれも有効にできない場合、前記現在のブロックが前記現在の候補予測モードを有効にすると確定する確定モジュールと、
を含む、
復号化の装置に関する。
別の側面において、巡回待ち予測モードの有効化状況を取得するために使用され、前記巡回待ち予測モードは、少なくとも1つの前記現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む取得モジュールと、
前記巡回待ち予測モードの有効化状況に基づいて、前記現在の候補予測モードの指示情報を符号化するかどうかを確定するために使用され、前記指示情報は、前記現在のブロックが前記現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、前記巡回待ち予測モードがいずれも有効にできない場合、前記現在のブロックが前記現在の候補予測モードを有効にすると確定する確定モジュールと、
を含む、
符号化の装置に関する。
別の側面において、プロセッサと、
プロセッサ実行可能指令を記憶するためのメモリと、
を含み、
ここで、前記プロセッサは、上記予測モードの復号化の方法のいずれかに記載の方法のステップを実行するように構成されている、
復号化の装置に関する。
別の側面において、プロセッサと、
プロセッサ実行可能指令を記憶するためのメモリと、
を含み、
ここで、前記プロセッサは、上記予測モードの符号化の方法のいずれかに記載の方法のステップを実行するように構成されている、
符号化の装置に関する。
別の側面において、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、上記予測モードの復号化の方法のいずれかに記載の方法のステップを実現するコンピュータ可読記憶媒体に関する。
別の側面において、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、上記予測モードの符号化の方法のいずれかに記載の方法のステップを実現するコンピュータ可読記憶媒体に関する。
本発明の実施例に係る技術案による有益な効果は、以下の通りである。
現在のブロックがどの予測モードを有効にするかを確定するときに、現在の候補予測モードについて、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を復号化するステップをスキップして、現在のブロックが前記現在の候補予測モードを有効にすると直接に確定することができる。関連技術のように、現在のブロックが現在の候補予測モードを有効にするかどうかを確定するために、現在の候補予測モードの指示情報を復号化する必要がなく、この結果、予測モードを復号化するプロセスを簡略化し、予測モードを復号化する効率を向上させる。
本発明の実施例における技術案をより明確に説明するために、以下、実施例の説明に使用される図面を簡単に説明し、以下の説明における図面は、本発明のいくつかの実施例にすぎず、当業者にとっては、創造的な労働をしない前提で、これらの図面に基づいて他の図面を得ることもできることは明らかである。
本発明の実施例による予測モードの復号化の方法のフローチャートである。
本発明の実施例による予測モードの符号化の方法のフローチャートである。
本発明の実施例による復号化の装置の構造概略図である。
本発明の実施例による符号化の装置の構造概略図である。
本発明の実施例による符号化・復号化の装置の構造概略図である。
本発明の目的、技術案および利点をより明確にするために、以下、図面を参照して本発明の実施形態をさらに詳細に説明する。
関連技術では、現在のブロックを符号化する際に、いずれかの予測モードについて、例えばモードAについて、符号化側は、当該予測モードが有効にされるかどうかを判断し、有効にされた場合、予測モードAの指示情報を1に符号化する。予測モードAがオンにされない場合、予測モードAの指示情報を0に符号化する。このように各予測モードの指示情報を符号化した後、現在のブロックを復号化する際に、復号化側は、当該予測モードの指示情報を復号化し、復号化された指示情報が1である場合、現在のブロックが当該予測モードを有効にすると確定する。
当該形態では、復号化側は、指示情報を復号化することにより、現在のブロックが当該予測モードを有効にするかどうかを確定する必要であり、この結果、予測モードを符号化・復号化する効率が低い。
後の説明を容易にするために、ここで本発明の実施例に係る用語を説明しておく。
フラグ符号化(flag coding)について、ビデオの符号化には多くの予測モードが存在する。あるブロックについて、そのうちの1つのモードを採用することができる。どの予測モードを採用するかを示すために、各ブロックは、対応するフラグを符号化することによりマークする必要がある。つまり、符号化側では、符号化側の決定によって、当該予測モードのフラグの値を確定し、次いで、符号化して復号化側に伝達する。復号化側は、フラグを解析することにより、対応する予測モードが有効にされるかどうかを確定する。
融合モード(merge mode)について、融合モードには5種類の予測モデルが含まれ、すなわち、通常融合(normal merge)モード、三角予測(triangular prediction mode)に基づく融合モード、符号化動きベクトル差分に基づく融合(merge motion vector difference)モード、サブブロック動き情報に基づく融合(sub-block merge)モード、およびイントラ-インター連携予測(combine intra inter prediction mode)に基づく融合モードである。現在のブロックが融合モードを採用する場合、予測モードは、上記5種類の予測モデルのうちの1つしか採用できない。また、融合モードについて、具体的な予測モードによって予測値を得た後、再構築残差値を加えて再構築値を取得する必要がある。
スキップモード(skip mode)について、スキップモードは、特殊な融合モードである。当該モードでは、符号化の際に残差を符号化する必要がない。したがって、現在のブロックがスキップモードを採用する場合、すなわち残差を符号化する必要がない場合、イントラ-インター連携予測に基づく融合モードは、デフォルトでオフになる。したがって、スキップモードには4種類の予測モデルのみが含まれ、すなわち、通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モードである。また、スキップモードには残差がないので、再構築値がそのまま予測値に等しい。
以下、上記各予測モードを簡単に説明する。
以下、各モードを簡単に説明する。
通常融合モードは、伝統的な融合モードである。当該方法では、候補動き情報リストから1つの動き情報を選択し、当該動き情報に基づいて現在のブロックの予測値を生成する。当該候補動き情報リストには、空間領域隣接ブロック候補動き情報、時間領域隣接ブロック候補動き情報、空間領域非隣接ブロック候補動き情報、既存の動き情報に基づいて組み合わせることにより取得された動き情報、デフォルト動き情報などが含まれる。
符号化動きベクトル差分に基づく融合モードについて、当該方法では、通常融合モードにおける候補動き情報リストのいずれかの動き情報を基準動き情報として選択し、テーブルルックアップ法により動き情報差分を取得する。基準動き情報と動き情報差分に基づいて、最終的な動き情報を取得する。当該最終的な動き情報に基づいて、現在のブロックの予測値を生成する。
サブブロック動き情報に基づく融合モードには、アフィン(affine)融合モードとSBTMVP(subblock-based temporal motion vector prediction、サブブロックに基づく時間動きベクトル予測)モードが含まれる。
アフィン融合モードは、通常融合モードと同様であり、当該方法でも、候補動き情報リストから1つの動き情報を選択し、当該動き情報に基づいて現在のブロックの予測値を生成する。異なるのは、通常融合モードの候補動き情報リストの動き情報がいずれも2パラメータの並進動きベクトルであるのに対して、アフィン融合モードの候補動き情報リストの動き情報が4パラメータまたは6パラメータのアフィン動き情報であることである。
SBTMVPモードについて、当該方法では、時間領域参照フレームでは、現在のブロックの予測値を生成するために、あるブロックの動き情報を直接に多重化する。当該ブロック内の各サブブロックの動き情報は異なることができる。
イントラ-インター連携予測に基づく融合モードについて、当該方法では、イントラ予測値とインター予測値とを組み合わせることにより、現在のブロックの新しい予測値を取得する。
三角予測に基づく融合モードについて、当該方法では、1つのブロックを2つの三角サブブロック(45度と135度の2種類の三角サブブロックがある)に分ける。この2つの三角サブブロックは、異なる一方向動き情報を持っている。当該モードは、融合/スキップモードのみに使用され、且つ予測プロセスのみに使用され、後の変換、量子化プロセスに影響を与えない。ここでの一方向動き情報も、候補動き情報リストから直接に取得される。
上記から分かるように、本実施形態における融合/スキップモードとは、候補動き情報リストから1つの動き情報を直接に選択し、現在のブロックの予測値を生成する予測モードを指す。これらの予測モードについて、符号化側で動き検索プロセスを行う必要がなく、符号化動きベクトル差分に基づく融合モード以外の他の予測モードについて、動き情報差分を符号化する必要がなく、すなわち候補動き情報リスト内のある動き情報を直接に多重化する。
フレームタイプ(frame type)について、現在の画像フレームが他のフレームの情報を参照して符号化することができない場合、現在の画像フレームは、Iフレームである。現在の画像フレームが他のある1フレーム(ただし、1フレームを超えてはならない)の情報を参照して符号化することができる場合、現在の画像フレームは、Pフレームである。すなわち、Pフレームとは、現在のフレームには1つの参照フレームリストしか存在せず、且つ現在のフレームの各ブロックについて最大で1フレームの参照画像フレームによる符号化のみを可能にする画像を指す。現在の画像フレームには2つの参照フレームリストが存在し、且つ現在のフレームの各ブロックについて他のある1フレームまたはある2フレームの情報を参照して符号化することができる場合、現在の画像フレームは、Bフレームである。
シーケンスパラメータセット(sequence parameter set)について、ビデオ符号化および復号がビデオシーケンスに従って行われるので、各ビデオシーケンスが複数のビデオフレームを含む。ビデオシーケンスに対してシーケンスパラメータセットが設定され、シーケンスパラメータセットには、ビデオシーケンスにおける各ビデオフレームに対して符号化・復号化を行う際に必要なパラメータが含まれる。ここで、シーケンスパラメータセットにおけるある予測モードに対するシーケンスレベルスイッチは、当該予測モードのオンまたはオフを指示するために使用される。例えば、ある予測モードに対するシーケンスレベルスイッチが1である場合、当該シーケンスレベルスイッチがオン状態にあることを指示するために使用される。シーケンスレベルスイッチが0である場合、当該シーケンスレベルスイッチがオフ状態にあることを指示するために使用される。
図1は、本発明の実施例による予測モードの復号化の方法のフローチャートである。図1に示すように、当該方法は以下のステップを含む。
ステップ101において、巡回待ち予測モードの有効化状況を取得し、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。
本発明の実施例において、予測モードの指示情報を復号化することにより、現在のブロックが当該予測モードを有効にするかどうかを確定できることを避けるために、当該予測モードを復号化する前に、まずステップ101を通じて巡回待ち予測モードの有効化状況を判断することができ、この結果、後で当該予測モードを復号化せずに、現在のブロックが当該予測モードを有効にするかどうかを確定することができる。巡回待ち予測モードの有効化状況とは、現在のブロックが巡回待ち予測モードにおける候補予測モードを有効にすることができるかどうかを指す。
現在の候補予測モードとは、現時点で有効にするかどうかを確定する必要がある予測モードを指す。現在のブロックとは、現在復号化されるべきである画像ブロックを指す。巡回待ち予測モードとは、現在の候補予測モードに加えて、現在のブロックが有効にするかどうかが確定されていない予測モードを指す。
また、予測モードの指示情報は、予測モードのフラグであってもよい。例えば、予測モードのフラグが1である場合、現在のブロックが当該予測モードを有効にすることを指示するために使用される。予測モードのフラグが0である場合、現在のブロックが当該予測モードを有効にしないことを指示するために使用される。
いくつかの実施例において、各予測モードを復号化する際に、指定モードの復号化順序に従って復号化することにより、既に復号化された予測モードの復号化の繰り返しを避けることができるので、ステップ101では、当該指定モードの復号化順序に従って、巡回待ち予測モードの有効化状況を取得することができる。このような場合、一例として、ステップ101の実施形態は、以下の通りであり、即ち、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得し、巡回順序とは、巡回待ち予測モードにおいて各候補予測モードが有効にできるかどうかを順次に判断する判断順序を指し、現在の候補予測モードは、巡回待ち予測モードの前にあり、巡回順序における最後の候補予測モードに巡回したときに、最後の候補予測モードが有効にできない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
一例として、いずれかの候補予測モードに巡回したときに、いずれかの候補予測モードをオンにすることができる場合、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定する。
一例として、上記巡回待ち予測モードの巡回順序とは、予め設定された指定モードの復号化順序における巡回待ち予測モードの順序を指す。例えば、予め設定された指定モードの復号化順序は、予測モード1、予測モード2、予測モード3、…、予測モードnである。現在の候補予測モードがモードiである場合、巡回待ち予測モードの巡回順序は、予測モードi+1、予測モードi+2、…、予測モードnである。nは、正の整数であり、iは、1以上且つn未満の正の整数である。
一例として、巡回待ち予測モードの有効化状況を取得する実施形態は、以下の通りであり、即ち、予測モードi+1、予測モードi+2、…、予測モードnを順次に巡回し、巡回中に、1つの予測モードが有効であると確定されると、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定する。最後の予測モードnに巡回したときに、有効にできる予測モードがない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
一例として、上記現在の候補予測モードは、予測モードセットにおけるいずれかの予測モードであり、予測モードセットは、少なくとも通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードのうちの1つ以上を含む。巡回待ち予測モードは、予測モードセットにおける現在の候補予測モード以外の他の予測モードのうちの1つ以上である。
例えば、予測モードセットは、通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含むことができる。このような場合、予測モードセットは、融合モードセットと呼ばれることもできる。また、予め設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードであってもよい。もちろん、予め設定された指定モードの復号化順序は、他の順序であってもよく、本発明はこれについて限定しない。
また例えば、予測モードセットは、通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、およびサブブロック動き情報に基づく融合モードを含むことができる。このような場合、予測モードセットは、スキップモードセットと呼ばれることもできる。また、予め設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、三角予測に基づく融合モードであってもよい。もちろん、予め設定された指定モードの復号化順序は、他の順序であってもよく、本発明はこれについて同様に限定しない。
上記予測モードセットは、本発明で提供される2つの可能な予測モードセットにすぎず、本発明は予測モードセットに含まれた予測モードのタイプについて同様に限定しない。つまり、予測モードセットにはどのタイプの予測モードが含まれていても、現在の候補予測モードについては、ステップ101によって巡回待ち予測モードの有効化状況を確定することができる。
1つの可能な実施形態において、いずれかの予測モードに対して、当該予測モードに対するモード制限条件、モード制限条件が当該予測モードを有効にするときに満たす必要があるいくつかの条件が予め設定される。つまり、現在のブロックが当該予測モードのモード制限条件の全ての条件を満たす場合にのみ、現在のブロックは、当該予測モードを有効にする権限を有する。現在のブロックが当該予測モードのモード制限条件のいずれかを満たしていない場合、現在のブロックは、当該予測モードを有効にする権限を有しない。この前提に基づいて、現在の候補予測モードを符号化する際に、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件を満たすかどうかを判断することができ、ひいては巡回待ち予測モードの有効化状況を取得する。
一例として、ステップ101において巡回待ち予測モードの有効化状況を取得する実施形態は、以下の通りであり、即ち、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する。ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
後の説明を容易にするために、以下、モード制限条件を例として説明する。表1は、本発明の実施例によるモード制限条件の概略説明である。
表1のサイズ制限条件とは、いずれも現在のブロックが満たす必要があるサイズ条件を指し、サイズ閾値CTU_ SIZEは128であり、他の値であってもよい。
以下、具体的な状況と上記表1を参照して、ステップ101をさらに詳細に説明する。
例1として、現在の候補予測モードは、通常融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含む。
例1において、ステップ101において現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する実施形態は、以下の通りであり、即ち、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、巡回待ち予測モードがいずれも有効にできないと確定し、または、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、且つ現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
表1から分かるように、現在の候補予測モードが通常融合モードである場合、巡回待ち予測モードにおける各候補予測モードのシーケンスレベルスイッチ制限条件において、対応する候補予測モードのオンが要求される。したがって、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチが0である場合、現在のブロックが巡回待ち予測モードにおける各候補予測モードのシーケンスレベルスイッチ制限条件を満たしていないことを示し、このように、現在のブロックは、巡回待ち予測モードにおける各候補予測モードを有効にすることができない。
現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である場合、表1から分かるように、現在のブロックが、符号化動きベクトル差分に基づく融合モードという予測モードのシーケンスレベルスイッチ制限条件を満たさず、したがって、現在のブロックが、符号化動きベクトル差分に基づく融合モードという予測モードを有効にすることができない。この条件に基づいて、現在のブロックのサイズが4×8または8×4である場合、表1から分かるように、現在のブロックが、巡回待ち予測モードにおける他の3つの候補予測モードのサイズ制限条件を満たさず、したがって、現在のブロックが、他の3つの候補予測モードを有効にすることができない。このようにすると、現在のブロックが、巡回待ち予測モードにおける各候補予測モードを有効にすることができない。
一例として、上記現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていないということは、現在のブロックの面積が面積閾値S未満であることを指してもよい。当該面積閾値Sは、巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件に基づいて確定される。後で説明を容易にするために、ここでの面積閾値を面積閾値Sと表記する。
例えば、表1から分かるように、現在のブロックの面積が64より小さい場合、表1の最後の3つの予測モードは、いずれも有効にできない。したがって、当該面積閾値Sを64に設定することができる。
例1の実施形態について、上述したものは、巡回待ち予測モードがいずれも有効にできないと判断する2つの方法を列挙したものであって、本発明を限定するものではない。例1では、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たさないと確定できる方法は、ステップ101に適用するために使用されることができ、ここでは説明を省略する。
例2として、現在の候補予測モードは、符号化動きベクトル差分に基づく融合モードであり、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、および三角予測に基づく融合モードを含む。
例2において、ステップ101において現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する実施形態は、以下の通りであり、即ち、現在のブロックの面積が面積閾値Sより小さい場合、巡回待ち予測モードがいずれも有効にできないと確定し、面積閾値Sは、巡回待ち予測モードにおける各候補予測モードのサイズ制限条件に基づいて確定される。
例1から分かるように、現在のブロックの面積が64より小さい場合、表1の最後の3つの予測モードは、いずれも有効にできない。したがって、当該面積閾値Sを64に設定することができる。このとき、現在のブロックの面積及び面積閾値Sに基づいて、巡回待ち予測モードがいずれも有効にできないかどうかを直接に確定することができる。
同様に、例2の実施形態について、上述したものは、巡回待ち予測モードがいずれも有効にできないと判断する1つの方法を列挙したものであって、本発明を限定するものではない。例2では、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たさないと確定できる方法は、ステップ101に適用するために使用されることができ、同様に、ここでは説明を省略する。
例3として、現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含む。
例3において、ステップ101において現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する実施形態は、以下の通りであり、即ち、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないときに、現在のブロックが指定条件を満たしている場合、巡回待ち予測モードがいずれも有効にできないと確定する。指定条件は、以下の条件のうちの1つ以上を含み、即ち、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあるという条件であり、現在のブロックの予測モードがスキップモードに属するという条件であり、現在のブロックの面積が、イントラ-インター連携予測に基づく融合モードに対して設定された面積閾値より小さく、および/または、現在のブロックの高さおよび/または幅が、イントラ-インター連携予測に基づく融合モードに対して設定されたサイズ閾値より大きいという条件である。
表1に示すように、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0である場合、または、現在のブロックの予測モードがスキップモードに属する場合、または、現在のブロックの面積がSより小さい場合、または、現在のブロックの高さまたは幅がCTU_SIZE以上である場合、上記のどの条件を満たしても、現在のブロックがイントラ-インター連携予測に基づく融合モードを有効にすることができないことを示す。このとき、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することができる。
例3において、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないことは、以下のいくつかの状況を含み、即ち、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、および/または、現在のブロックがある画像フレームがPフレームである。
例えば、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である場合、現在のブロックが三角予測に基づく融合モードのモード制限条件を満たしていないと確定することができる。
同様に、例1の実施形態について、上述したものは、巡回待ち予測モードがいずれも有効にできないと判断する1つの方法を列挙したものであって、本発明を限定するものではない。例1では、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たさないと確定できる方法は、ステップ101に適用するために使用されることができ、同様に、ここでは説明を省略する。
例4として、現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含む。
例4において、ステップ101において現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する実施形態は、以下の通りであり、即ち、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない実施形態について、例3を参照することができ、ここでは説明を省略する。
上記の例1~例4は、単なる例示にすぎず、本発明の具体的な実施例を限定するものではない。現在の候補予測モード及び巡回待ち予測モードが他のタイプのモードである場合、上記実施形態を参照して、巡回待ち予測モードの有効化状況を確定することができる。
ステップ102において、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定し、指示情報は、現在のブロックが現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、巡回待ち予測モードがいずれも有効にできない場合、現在のブロックが現在の候補予測モードを有効にすると確定する。
予測モードの指示情報の復号化が指定モードの復号化順序に従って復号化されるので、現在の候補予測モードまでに復号化した場合、指定モードの復号化順序において現在の候補予測順序の前の予測順序がいずれも有効にできないことを示す。このとき、指定モードの復号化順序において現在の候補予測順序の後の予測順序もいずれも有効にできないと確定した場合、現在のブロックは、必ず現在の候補予測モードを有効にする。したがって、このような場合、指示情報を復号化するステップをスキップして、現在のブロックが現在の候補予測モードを有効にすると直接に確定することができる。例えば、現在の候補予測モードのモードフラグを1に直接に設定することができる。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況をより直感的に表現するために、1つの変数、すなわち巡回待ち予測モードではオンにされることができる予測モードの数を導入することができる。このとき、巡回待ち予測モードの有効化状況は、当該変数に対応する数値で指示されることができる。当該変数が0である場合、巡回待ち予測モードがいずれも有効にできないことを示す。当該変数が0ではない場合、巡回待ち予測モードには有効にできる候補予測モードが存在することを示す。
ステップ103において、巡回待ち予測モードには有効にできる候補予測モードが存在する場合、指示情報を復号化する。
巡回待ち予測モードには有効にできる候補予測モードが存在する場合、現在の条件に基づいて、現在のブロックが現在の候補予測モードをオンにしたかどうかを確定することができないので、指示情報を復号化することにより、現在のブロックが現在の候補予測モードをオンにしたかどうかを確定する必要がある。
例えば、ステップ103において、現在の候補予測モードのモードフラグを復号化し、復号化して得られた値が1である場合、現在のブロックが現在の候補予測モードを有効にすると確定する。復号化して得られた値が0である場合、現在のブロックが現在の候補予測モードを有効にしないと確定する。
ステップ101の前に、現在の候補予測モードに対して、現時点で現在の候補予測モードを有効にすることができない場合、このとき、ステップ101とステップ103を通じて、現在の候補予測モードを有効にするかどうかを判断する必要はない。したがって、一例として、巡回待ち予測モードの有効化状況を取得する前に、現在のブロックが現在の候補予測モードを有効にすることができるかどうかを判断することもできる。現在のブロックが現在の候補予測モードを有効にすることができる場合、ステップ101とステップ103を通じて、現在の候補予測モードを有効にするかどうかを判断する。
一例として、現在のブロックが現在の候補予測モードを有効にすることができない場合、このとき、現在のブロックが現在の候補予測モードを有効にしないと直接に確定することができる。例えば、現在の候補予測モードのモードフラグを0に直接に設定し、現在の候補予測モードのモードフラグの復号プロセスをスキップすることができる。
上記の現在のブロックが現在の候補予測モードを有効にすることができるかどうかの判断について、現在のブロックが現在の候補予測モードのモード制限条件を満たすかどうかによって判断してもよい。現在のブロックが現在の候補予測モードのモード制限条件の全ての条件を満たす場合、現在のブロックが現在の候補予測モードを有効にすることができると確定する。現在のブロックが現在の候補予測モードのモード制限条件のいずれかを満たさない場合、現在のブロックが現在の候補予測モードを有効にすることができないと確定する。
例えば、現在のブロックにおいて現在の候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、このとき、ステップ101~ステップ102を実行する必要がなく、現在の候補予測モードのフラグを0に直接に設定する。
復号化側と符号化側は一致し、現在のブロックを符号化するプロセスにおいて、現在のブロックがどの予測モードを有効にするかを確定する必要がある場合、現在の候補予測モードに対して、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を復号化するステップをスキップし、現在のブロックが前記現在の候補予測モードを有効にすると直接に確定することができる。
しかしながら、関連技術では、予測モードの符号化の方法について、符号化側は、指定された順序に従って各予測モードの指示情報を順次に符号化する。後の説明を容易にするために、通常融合モードを予測モード1と呼び、符号化動きベクトル差分に基づく融合モードを予測モード2と呼び、サブブロック動き情報に基づく融合モードを予測モード3と呼び、イントラ-インター連携予測に基づく融合モードを予測モード4と呼び、三角予測に基づく融合モードを予測モード5と呼ぶ。表2は、関連技術において融合モードに対する予測モードの符号化順序を指示するために使用される。表3は、関連技術において融合モードに対する予測モードの符号化順序を指示するために使用される。表2に示すように。予測モード1の指示情報を符号化する際に、まず予測モード1がオンにされるかどうかを判断し、オンにされる場合、予測モード1の指示情報は、1である。予測モード1がオンにされない場合、予測モード1の指示情報を0に符号化し、予測モード2がオンにされるかどうかを判断し、オンにされる場合、予測モード2の指示情報を1に符号化する。予測モード2がオンにされない場合、予測モード2の指示情報を0に符号化し、予測モード3がオンにされるかどうかを判断し、オンにされる場合、予測モード3の指示情報を1に符号化する。予測モード3がオンにされない場合、予測モード3の指示情報を0に符号化する。表3の符号化プロセスは、表2の符号化プロセスと基本的に同じであるので、ここでは説明を省略する。
表2または表3によって予測モードを符号化した後、現在のブロックを復号化するとき、関連技術において、現在の候補予測モードのフラグは、現在のブロックが当該現在の候補予測モードを有効にするかどうかを確定するために、復号化されなければならない。しかしながら、本発明の実施例では、巡回待ち予測モードがいずれも有効にできない場合、指示情報を復号化するステップをスキップして、現在のブロックが前記現在の候補予測モードを有効にすると直接に確定することができる。この結果、予測モードを復号化するプロセスを簡略化し、予測モードを復号化する効率を向上させる。
以下、異なる実施例を通じて、図1に示された実施例をさらに説明する。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、融合モードにおける通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードの5つの予測モードについては、現在のブロックに対する指定モードの復号化順序は、これらの5つの予測モードに基づく任意の順序であってもよい。
スキップモードにおける通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、三角予測に基づく融合モードの4つの予測モードについては、現在のブロックに対する指定モードの復号化順序は、これらの4つの予測モードに基づく任意の順序であってもよい。
例示的に、指定モードの復号化順序には、予測モード1、予測モード2、予測モード3、予測モード4、および予測モード5が含まれる。予測モード1を復号化する必要がある場合、残りの予測モード2、予測モード3、予測モード4、および予測モード5が利用可能であるかどうかを判断することができる。4つの予測モードの利用可能な数を統計する。当該数が0である場合、予測モード1のフラグを復号化する必要はなく、当該フラグを1に直接に設定する。もちろん、融合/スキップモードに含まれる各予測モードの数が5つでない場合、同様に上記の復号化プロセスを参照してもよい。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、n個の予測モードがある場合、その指定モードの復号化順序は、予測モード1、予測モード2、…、予測モードnである。予測モードiを復号化するときに、残りの予測モードi+1、予測モードi+2から、予測モードnまでが利用可能であるかどうかを順次に判断し、利用可能な予測モードの数が0である場合、予測モードiのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、上記実施例において、予測モードi+1、予測モードi+2から、予測モードNまでが利用可能であるかどうかを判断するときに、全ての予測モードを巡回する必要はなく、1つの予測モードが利用可能である限り、利用可能な予測モードの数は0より大きく、後の予測モードが利用可能であるかどうかを再検出する必要はない。したがって、予測モードiを復号化するときに、残りの予測モードi+1、予測モードi+2から、予測モードnまでが利用可能であるかどうかを順次に判断する。予測モードi+1から予測モードnまでのある予測モードjが利用可能である場合、予測モードj+1から予測モードnまでが利用可能であるかどうかを再検出する必要はなく、予測モードiのフラグの復号化プロセスを直接に行う。予測モードnに至るまで、利用可能な予測モードがない場合、予測モードiのフラグを復号化する必要がなく、当該フラグを1に直接に設定する。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードが通常融合モードである場合、巡回待ち予測モードは、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含む。
このとき、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、および三角予測に基づく融合モードのこの4つの予測モードにおける各予測モードに対するシーケンスレベルスイッチが0である場合、通常融合モードのフラグを復号化する必要はなく、通常融合モードのフラグを1に直接に設定する。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0であり、且つ現在のブロックのサイズが4x8または8x4である場合(このような場合、残りの3つの予測モードはいずれも有効にできない)、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、および三角予測に基づく融合モードのこの4つの予測モードについて、サイズ、その他のモード、フレームタイプ、シーケンスレベルスイッチの条件を逐次に巡回する。この4つの予測モードを有効にすることができるかどうかを逐次に確定する。この4つの予測モードのうち有効にできる数を統計する。当該数が0である場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0であり、且つ現在のブロックの面積が面積閾値Sより小さい場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。上記面積閾値Sは、64であってもよい。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、4x8または8x4のブロックについては、符号化動きベクトル差分に基づく融合モードと通常融合モードのみを使用することができ、且つ4x4のブロックは符号化動きベクトル差分に基づく融合モードと通常融合モードを採用することができない。したがって、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0であり、且つ現在のブロックの面積(幅x高さ)が面積閾値SEに等しい場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。面積閾値SEは、32であってもよい。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードがスキップモードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、現在のブロックが符号化動きベクトル差分に基づく融合モードを有効にすることを許可しなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、三角予測に基づく融合モードも有効にできず(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)、現在のブロックの幅が4であり、高さが16以上であり、または高さが4であり、幅が16以上である場合(このような場合、サブブロック動き情報に基づく融合モードも有効にできない)、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードがスキップモードに属すると、現在のブロックが符号化動きベクトル差分に基づく融合モードを有効にすることを許可しなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、三角予測に基づく融合モードも有効にできず(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)、現在のブロックの幅が4であり、高さがサイズ閾値CTU_ SIZE以上であり、または高さが4であり、幅がサイズ閾値CTU_ SIZE以上である場合(この場合、サブブロック動き情報に基づく融合モードとイントラ-インター連携予測に基づく融合モードはいずれも有効にできない)、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、現在のブロックが下記の2つの条件のいずれかを満たす場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件1として、現在のブロックは、符号化動きベクトル差分に基づく融合モードを有効にすることができなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つ現在のブロックの面積(幅x高さ)は、面積閾値SEに等しい(このとき、サブブロック動き情報に基づく融合モードと三角予測に基づく融合モードは、いずれも有効にできない)。面積閾値SEは、32であってもよい。
条件2として、現在のブロックは、符号化動きベクトル差分に基づく融合モードを有効にすることができなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つサブブロック動き情報に基づく融合モードと三角予測に基づく融合モードがいずれも有効にできないことを同時に満たす。ここで、サブブロック動き情報に基づく融合モードが有効にできないことは、現在のブロックにおいてアフィンモードとSBTMVPモードに対するシーケンスレベルスイッチがいずれも0であり、または、現在のブロックの幅が4または高さが4に等しいことを含む。三角予測に基づく融合モードが有効にできないことは、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であることを含む。
または、通常融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると、現在のブロックが下記の2つの条件のいずれかを満たす場合、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件1として、現在のブロックが符号化動きベクトル差分に基づく融合モードを有効にすることを許可しなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つ現在のブロックの面積(幅x高さ)が、面積閾値SEに等しい場合(このとき、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードはいずれも有効にできない)、通常融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。面積閾値SEは、32であってもよい。
条件2として、現在のブロックが符号化動きベクトル差分に基づく融合モードを有効にすることを許可しなく(例えば、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つサブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードがいずれも有効にできないことを同時に満たす。ここで、サブブロック動き情報に基づく融合モードが有効にできないことは、現在のブロックにおいてアフィンモードとSBTMVPモードに対するシーケンスレベルスイッチがいずれも0であり、または、現在のブロックの幅が4または高さが4に等しいことを含む。イントラ-インター連携予測に基づく融合モードが有効にできないことは、現在のブロックにおいてイントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックの幅がサイズ閾値CTU_ SIZEまたは高さがサイズ閾値CTU_ SIZEに等しいことを含む。三角予測に基づく融合モードが有効にできないことは、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であることを含む。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
また、現在のブロックが通常融合モードのモード制限条件の全ての条件を満たす場合、上記復号化プロセスを実行する。現在のブロックが通常融合モードのモード制限条件のいずれかを満たしていない場合、当該フラグを0に直接に設定し、上記復号化プロセスを実行する必要はない。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードが符号化動きベクトル差分に基づく融合モードである場合、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含む。
このとき、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの面積が面積閾値Sより小さい(このような場合、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードは、いずれも利用できない)場合、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はない。このとき、符号化動きベクトル差分に基づく融合モードのフラグは、通常融合モードのフラグのビット反転である。つまり、通常融合モードのフラグが1である場合、符号化動きベクトル差分に基づく融合モードのフラグは0であり、通常融合モードのフラグが0である場合、符号化動きベクトル差分に基づく融合モードのフラグは1である。上記面積閾値Sは、32であってもよい。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの面積が面積閾値SEに等しい場合、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はない。このとき、符号化動きベクトル差分に基づく融合モードのフラグは、通常融合モードのフラグのビット反転である。面積閾値SEは、32であってもよい。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、三角予測に基づく融合モードも有効にできなく(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つ現在のブロックの幅が4であり、高さが16以上であり、または高さが4であり、幅が16以上である場合(このような場合、サブブロック動き情報に基づく融合モードも有効にできない)、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はない。このとき、符号化動きベクトル差分に基づく融合モードのフラグは、通常融合モードのフラグのビット反転である。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると、三角予測に基づく融合モードも有効にできなく(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)、且つ現在のブロックの幅が4であり、高さがサイズ閾値CTU_ SIZE以上であり、または高さが4であり、幅がサイズ閾値CTU_ SIZE以上である場合(この場合、サブブロック動き情報に基づく融合モードとイントラ-インター連携予測に基づく融合モードはいずれも有効にできない)、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はない。このとき、符号化動きベクトル差分に基づく融合モードのフラグは、通常融合モードのフラグのビット反転である。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、現在のブロックが下記の2つの条件のいずれかを満たす場合、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件1として、現在のブロックの面積(幅x高さ)は、面積閾値SEに等しい(このとき、サブブロック動き情報に基づく融合モードと三角予測に基づく融合モードは、いずれも有効にできない)。面積閾値SEは、32であってもよい。
条件2として、現在のブロックは、サブブロック動き情報に基づく融合モードと三角予測に基づく融合モードがいずれも有効にできないことを同時に満たす。ここで、サブブロック動き情報に基づく融合モードが有効にできないことは、現在のブロックにおいてアフィンモードとSBTMVPモードに対するシーケンスレベルスイッチがいずれも0であり、または、現在のブロックの幅が4または高さが4に等しいことを含む。三角予測に基づく融合モードが有効にできないことは、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であることを含む。
または、符号化動きベクトル差分に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると、現在のブロックが下記の2つの条件のいずれかを満たす場合、符号化動きベクトル差分に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件1として、現在のブロックの面積(幅x高さ)は、面積閾値SEに等しい(このとき、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードはいずれも有効にできない)。面積閾値SEは、32であってもよい。
条件2として、現在のブロックは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードがいずれも有効にできないことを同時に満たす。ここで、サブブロック動き情報に基づく融合モードが有効にできないことは、現在のブロックにおいてアフィンモードとSBTMVPモードに対するシーケンスレベルスイッチがいずれも0であり、または、現在のブロックの幅が4または高さが4に等しいことを含む。イントラ-インター連携予測に基づく融合モードが有効にできないことは、現在のブロックにおいてイントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックの幅がサイズ閾値CTU_ SIZEまたは高さがサイズ閾値CTU_ SIZEに等しいことを含む。三角予測に基づく融合モードが有効にできないことは、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であることを含む。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
また、現在のブロックが符号化動きベクトル差分に基づく融合モードのモード制限条件の全ての条件を満たす場合、上記復号化プロセスを実行する。現在のブロックが符号化動きベクトル差分に基づく融合モードのモード制限条件のいずれかを満たさない場合、当該フラグを0に直接に設定し、上記復号化プロセスを実行する必要はない。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含む。
このとき、サブブロック動き情報に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックがある画像フレームがPフレームである場合、
(1)現在のブロックにおいてイントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0であると、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
(2)現在のブロックの予測モードが融合モードに属すると、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
現在のブロックの面積が面積閾値Sより小さく、または現在のブロックの幅または高さがサイズ閾値CTU_ SIZE以上であると、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。面積閾値Sは、64であってもよく、サイズ閾値CTU_ SIZEは、128であってもよい。
サブブロック動き情報に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると(この場合、イントラ-インター連携予測に基づく融合モードは利用できない)、三角予測に基づく融合モードも有効にできない(例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である)場合、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
または、サブブロック動き情報に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、現在のブロックの予測モードが融合モードに属すると、下記条件(a)と条件(b)を同時に満たす場合、サブブロック動き情報に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
条件(a)として、イントラ-インター連携予測に基づく融合モードは利用できない。例えば、現在のブロックにおいてイントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックの幅がサイズ閾値CTU_ SIZEまたは高さがサイズ閾値CTU_ SIZEに等しい。サイズ閾値CTU_ SIZEは、128であり、他の値であってもよい。
条件(b)として、三角予測に基づく融合モードは利用できない。例えば、現在のブロックがある画像フレームがPフレームであり、または、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0である。
また、現在のブロックがサブブロック動き情報に基づく融合モードのモード制限条件の全ての条件を満たす場合、上記復号化プロセスを実行する。現在のブロックがサブブロック動き情報に基づく融合モードのモード制限条件のいずれかを満たさない場合、当該フラグを0に直接に設定し、上記復号化プロセスを実行する必要はない。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含む。
このとき、イントラ-インター連携予測に基づく融合モードの復号化プロセスは、以下の通りであり、即ち、三角予測に基づく融合モードは利用できなく、例えば現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチが0であり、または、現在のブロックがある画像フレームがPフレームである場合、イントラ-インター連携予測に基づく融合モードのフラグを復号化する必要はなく、当該フラグを1に直接に設定する。
また、現在のブロックがイントラ-インター連携予測に基づく融合モードのモード制限条件の全ての条件を満たす場合、上記復号化プロセスを実行する。現在のブロックがイントラ-インター連携予測に基づく融合モードのモード制限条件のいずれかを満たさない場合、当該フラグを0に直接に設定し、上記復号化プロセスを実行する必要はない。
本発明の実施例では、別の予測モードの復号化の方法をさらに提供する。当該方法では、予測モードに対して設定された指定モードの復号化順序は、通常融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、三角予測に基づく融合モードである。現在の候補予測モードは、三角予測に基づく融合モードである。このとき、三角予測に基づく融合モードの復号化プロセスは、以下の通りである。
このとき、三角予測に基づく融合モードのフラグを復号化する必要はなく、現在のブロックが三角予測に基づく融合モードのモード制限条件の全ての条件を満たす場合、三角予測に基づく融合モードのフラグを1に設定し、逆の場合、0に設定する。
上記のいくつかの実施例において、いずれかの予測モードについて、当該予測モードのフラグを1に設定する場合、現在のブロックが当該現在の候補予測モードを有効にすることを指示するために使用される。当該予測モードのフラグを0に設定する場合、現在のブロックが当該現在の候補予測モードを有効にしないことを指示するために使用される。
また、上記のいくつかの実施例において、いずれもIBC(intra block copy merge、イントラブロックコピー融合)モードが有効にされない場合、すなわち現在のブロックにおいてIBCモードに対するシーケンスレベルスイッチが0であり、または、現在のブロックがイントラ予測ブロック(非IBCモードの予測ブロック)である場合に関するものである。ここで、IBCモードでは、BV(block vector、候補ブロックベクトル)リストから1つのブロックベクトルを選択し、当該ブロックベクトルに基づいて現在のブロックの予測値を生成する。ここでのブロックベクトルとは、現在のフレームにおける現在のブロックからの参照ブロックのオフセットベクトルを指す。
図1に示された実施例は、予測モードを復号化するプロセスを説明するためのものである。本発明の実施例では、現在のブロックの各予測モードを符号化する場合、関連技術のように各予測モードを一つずつ符号化することができる。しかしながら、図1に示された実施例から分かるように、いくつかの例では、予測モードを復号化せずに、現在のブロックが当該予測モードを有効にするかどうかを確定することができる。このような場合、当該予測モードを符号化する必要はなく、したがって、本発明の実施例は、コードレートのオーバヘッドを節約するために予測モードの符号化の方法をさらに提供する。
図2は、本発明の実施例による予測モードの符号化の方法のフローチャートである。図2に示すように、当該方法は以下のステップを含む。
ステップ201において、巡回待ち予測モードの有効化状況を取得し、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況を取得することは、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得し、巡回順序とは、巡回待ち予測モードにおいて各候補予測モードが有効にできるかどうかを順次に判断する判断順序を指し、現在の候補予測モードは、巡回待ち予測モードの前にあることと、巡回順序における最後の候補予測モードに巡回したときに、最後の候補予測モードが有効にできない場合、巡回待ち予測モードがいずれも有効にできないと確定することと、を含む。
1つの可能な実施形態において、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得することの後、いずれかの候補予測モードに巡回したときに、いずれかの候補予測モードをオンにすることができる場合、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定することをさらに含む。
1つの可能な実施形態において、現在の候補予測モードは、予測モードセットにおけるいずれかの予測モードであり、予測モードセットは、少なくとも通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードのうちの1つ以上を含み、巡回待ち予測モードは、予測モードセットにおける現在の候補予測モード以外の他の予測モードのうちの1つ以上である。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況を取得することは、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを含み、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、現在の候補予測モードは、通常融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含み、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することは、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、巡回待ち予測モードがいずれも有効にできないと確定すること、または、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、且つ現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを含む。
1つの可能な実施形態において、現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていないことは、現在のブロックの面積が面積閾値より小さく、面積閾値が、巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件に基づいて確定されることを含む。
1つの可能な実施形態において、現在の候補予測モードは、符号化動きベクトル差分に基づく融合モードであり、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含み、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することは、現在のブロックの面積が面積閾値より小さい場合、巡回待ち予測モードがいずれも有効にできないと確定し、面積閾値が、巡回待ち予測モードにおける各候補予測モードのサイズ制限条件に基づいて確定されることを含む。
1つの可能な実施形態において、現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含み、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することは、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないときに、現在のブロックが指定条件を満たしている場合、巡回待ち予測モードがいずれも有効にできないと確定することを含み、指定条件は、以下の条件のうちの1つ以上を含み、即ち、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあるという条件であり、現在のブロックの予測モードがスキップモードに属するという条件であり、現在のブロックの面積が、イントラ-インター連携予測に基づく融合モードに対して設定された面積閾値より小さく、および/または、現在のブロックの高さおよび/または幅が、イントラ-インター連携予測に基づく融合モードに対して設定されたサイズ閾値より大きいという条件である。
1つの可能な実施形態において、現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含み、現在のブロックが巡回待ち予測モードにおける各予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することは、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを含む。
1つの可能な実施形態において、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないことは、
現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、および/または、現在のブロックがある画像フレームがPフレームであることを含む。
上記ステップ201における各実施形態の詳細な説明について、図1に示された実施例におけるステップ101の説明を参照してもよく、ここでは説明を省略する。
ステップ202において、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定し、指示情報は、現在のブロックが現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、巡回待ち予測モードがいずれも有効にできない場合、現在のブロックが現在の候補予測モードを有効にすると確定する。
ステップ203において、巡回待ち予測モードには有効にできる候補予測モードが存在する場合、指示情報を符号化する。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況を取得することの前に、現在のブロックが現在の候補予測モードを有効にすることができる場合、巡回待ち予測モードの有効化状況を取得するステップを実行することをさらに含む。
1つの可能な実施形態において、現在のブロックが現在の候補予測モードを有効にすることができない場合、現在のブロックが現在の候補予測モードを有効にしないと確定する。ここで、現在のブロックが現在の候補予測モードを有効にすることができないということは、現在のブロックが現在の候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを指し、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定することは、巡回待ち予測モードにおいてオンにすることができる予測モードの数が0である場合、現在のブロックが現在の候補予測モードを有効にすると直接に確定することを含む。
上記ステップ202からステップ203における各実施形態の詳細な説明について、図1に示された実施例におけるステップ102からステップ103の説明を参照してもよく、同様に、ここでは説明を省略する。つまり、本発明の実施例による予測モードの符号化プロセスは、予測モードの復号化と全く同じであり、復号化を符号化に変更するだけであり、且つ符号化側については、各予測モードのフラッグは既知であり、再設定は不要である。
現在のブロックを符号化するプロセスにおいて、現在のブロックがどの予測モードを有効にするかを確定する必要がある場合、現在の候補予測モードに対して、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を符号化するステップをスキップし、現在のブロックが現在の候補予測モードを有効にすると直接に確定することができる。関連技術のように、現在の候補予測モードの指示情報を符号化する必要がなく、この結果、予測モードを符号化するプロセスを簡略化し、予測モードを符号化する効率を向上させ、同時にコードレートのオーバヘッドを節約する。
図3は、本発明の実施例による復号化の装置の概略図であり、図3に示すように、当該装置300は、
巡回待ち予測モードの有効化状況を取得するために使用され、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む取得モジュール301と、
巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定するために使用され、指示情報は、現在のブロックが現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、巡回待ち予測モードがいずれも有効にできない場合、現在のブロックが現在の候補予測モードを有効にすると確定する確定モジュール302と、
を含む。
1つの可能な実施形態において、確定モジュールは、具体的に、巡回待ち予測モードには有効にできる候補予測モードが存在する場合、指示情報を復号化するために使用される。
1つの可能な実施形態において、取得モジュールは、具体的に、以下ように使用され、即ち、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得し、巡回順序とは、巡回待ち予測モードにおいて各候補予測モードが有効にできるかどうかを順次に判断する判断順序を指し、現在の候補予測モードは、巡回待ち予測モードの前にあり、巡回順序における最後の候補予測モードに巡回したときに、最後の候補予測モードが有効にできない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
1つの可能な実施形態において、取得モジュールは、具体的に、いずれかの候補予測モードに巡回したときに、いずれかの候補予測モードをオンにすることができる場合、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定するために使用される。
1つの可能な実施形態において、現在の候補予測モードは、予測モードセットにおけるいずれかの予測モードであり、予測モードセットは、少なくとも通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードのうちの1つ以上を含み、巡回待ち予測モードは、予測モードセットにおける現在の候補予測モード以外の他の予測モードのうちの1つ以上である。
1つの可能な実施形態において、取得モジュールは、具体的に、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、現在の候補予測モードは、通常融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、巡回待ち予測モードがいずれも有効にできないと確定し、または、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、且つ現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用される。
1つの可能な実施形態において、現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていないことは、現在のブロックの面積が面積閾値より小さく、面積閾値が、巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件に基づいて確定されることを含む。
1つの可能な実施形態において、現在の候補予測モードは、符号化動きベクトル差分に基づく融合モードであり、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックの面積が面積閾値より小さい場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、面積閾値が、巡回待ち予測モードにおける各候補予測モードのサイズ制限条件に基づいて確定される。
1つの可能な実施形態において、現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないときに、現在のブロックが指定条件を満たしている場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、指定条件は、以下の条件のうちの1つ以上を含み、即ち、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあるという条件であり、現在のブロックの予測モードがスキップモードに属するという条件であり、現在のブロックの面積が、イントラ-インター連携予測に基づく融合モードに対して設定された面積閾値より小さく、および/または、現在のブロックの高さおよび/または幅が、イントラ-インター連携予測に基づく融合モードに対して設定されたサイズ閾値より大きいという条件である。
1つの可能な実施形態において、現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用される。
1つの可能な実施形態において、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないことは、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、および/または、現在のブロックがある画像フレームがPフレームであることを含む。
1つの可能な実施形態において、取得モジュールは、現在のブロックが現在の候補予測モードを有効にすることができる場合、巡回待ち予測モードの有効化状況を取得するステップを実行するためにも使用される。
1つの可能な実施形態において、確定モジュールは、現在のブロックが現在の候補予測モードを有効にすることができない場合、現在のブロックが現在の候補予測モードを有効にしないと確定するためにも使用される。ここで、現在のブロックが現在の候補予測モードを有効にすることができないということは、現在のブロックが現在の候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを指し、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、確定モジュールは、具体的に、
巡回待ち予測モードにおいてオンにすることができる予測モードの数が0である場合、現在のブロックが現在の候補予測モードを有効にすると確定するために使用される。
現在のブロックを符号化するプロセスにおいて、現在のブロックがどの予測モードを有効にするかを確定する必要がある場合、現在の候補予測モードに対して、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を復号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を復号化するステップをスキップして、現在のブロックが現在の候補予測モードを有効にすると直接に確定する。関連技術のように、現在のブロックが現在の候補予測モードを有効にするかどうかを確定するために、現在の候補予測モードの指示情報を復号化する必要がなく、この結果、予測モードを復号化するプロセスを簡略化し、予測モードを復号化する効率を向上させる。
なお、上記実施例による復号化の装置は、予測モードを復号化する際に、上記の各機能モジュールの分割のみを例に挙げて説明し、実際の応用では、上記の機能は、必要に応じて異なる機能モジュールによって行われるように割り当てられてもよく、即ち、以上で説明された機能の全部または一部を達成するために、装置の内部構造を異なる機能ブロックに分割してもよい。上記実施例による復号化の装置と予測モードの復号化の方法の実施例は、同じ概念に属し、その具体的な実現プロセスについては、方法の実施例を参照し、ここでは説明を省略する。
図4は、本発明の実施例による符号化の装置の概略図であり、図4に示すように、当該装置400は、
巡回待ち予測モードの有効化状況を取得するために使用され、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む取得モジュール401と、
巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定するために使用され、指示情報は、現在のブロックが現在の候補予測モードを有効にするかどうかを指示するために使用され、ここで、巡回待ち予測モードがいずれも有効にできない場合、現在のブロックが現在の候補予測モードを有効にすると確定する確定モジュール402と、
を含む。
1つの可能な実施形態において、確定モジュールは、具体的に、巡回待ち予測モードには有効にできる候補予測モードが存在する場合、指示情報を符号化するために使用される。
1つの可能な実施形態において、取得モジュールは、具体的に、以下のように使用され、即ち、巡回待ち予測モードの巡回順序に基づいて、巡回待ち予測モードにおける各候補予測モードの有効化状況を取得し、巡回順序とは、巡回待ち予測モードにおいて各候補予測モードが有効にできるかどうかを順次に判断する判断順序を指し、現在の候補予測モードは、巡回待ち予測モードの前にあり、巡回順序における最後の候補予測モードに巡回したときに、最後の候補予測モードが有効にできない場合、巡回待ち予測モードがいずれも有効にできないと確定する。
1つの可能な実施形態において、取得モジュールは、具体的に、いずれかの候補予測モードに巡回したときに、いずれかの候補予測モードをオンにすることができる場合、巡回待ち予測モードには有効にできる候補予測モードが存在すると確定するために使用される。
1つの可能な実施形態において、現在の候補予測モードは、予測モードセットにおけるいずれかの予測モードであり、予測モードセットは、少なくとも通常融合モード、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードのうちの1つ以上を含み、巡回待ち予測モードは、予測モードセットにおける現在の候補予測モード以外の他の予測モードのうちの1つ以上である。
1つの可能な実施形態において、取得モジュールは、具体的に、現在のブロックが巡回待ち予測モードにおける各候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、現在の候補予測モードは、通常融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モード、符号化動きベクトル差分に基づく融合モード、サブブロック動き情報に基づく融合モード、およびイントラ-インター連携予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックにおいて、巡回待ち予測モードにおける各候補予測モードに対するシーケンスレベルスイッチがオフ状態にある場合、巡回待ち予測モードがいずれも有効にできないと確定し、または、現在のブロックにおいて、符号化動きベクトル差分に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、且つ現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用される。
1つの可能な実施形態において、現在のブロックのサイズが巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件を満たしていないことは、現在のブロックの面積が面積閾値より小さく、面積閾値が、巡回待ち予測モードにおける他の各候補予測モードのサイズ制限条件に基づいて確定されることを含む。
1つの可能な実施形態において、現在の候補予測モードは、符号化動きベクトル差分に基づく融合モードであり、巡回待ち予測モードは、サブブロック動き情報に基づく融合モード、イントラ-インター連携予測に基づく融合モード、及び三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックの面積が面積閾値より小さい場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、面積閾値が、巡回待ち予測モードにおける各候補予測モードのサイズ制限条件に基づいて確定される。
1つの可能な実施形態において、現在の候補予測モードは、サブブロック動き情報に基づく融合モードであり、巡回待ち予測モードは、イントラ-インター連携予測に基づく融合モードおよび三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないときに、現在のブロックが指定条件を満たしている場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用され、指定条件は、以下の条件のうちの1つ以上を含み、即ち、現在のブロックにおいて、イントラ-インター連携予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあるという条件であり、現在のブロックの予測モードがスキップモードに属するという条件であり、現在のブロックの面積が、イントラ-インター連携予測に基づく融合モードに対して設定された面積閾値より小さく、および/または、現在のブロックの高さおよび/または幅が、イントラ-インター連携予測に基づく融合モードに対して設定されたサイズ閾値より大きいという条件である。
1つの可能な実施形態において、現在の候補予測モードは、イントラ-インター連携予測に基づく融合モードであり、巡回待ち予測モードは、三角予測に基づく融合モードを含み、取得モジュールは、具体的に、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定するために使用される。
1つの可能な実施形態において、現在のブロックが三角予測に基づく融合モードのモード制限条件のいずれかを満たしていないことは、現在のブロックにおいて、三角予測に基づく融合モードに対するシーケンスレベルスイッチがオフ状態にあり、および/または、現在のブロックがある画像フレームがPフレームであることを含む。
1つの可能な実施形態において、取得モジュールは、現在のブロックが現在の候補予測モードを有効にすることができる場合、巡回待ち予測モードの有効化状況を取得するステップを実行するためにも使用される。
1つの可能な実施形態において、確定モジュールは、現在のブロックが現在の候補予測モードを有効にすることができない場合、現在のブロックが現在の候補予測モードを有効にしないと確定するためにも使用される。ここで、現在のブロックが現在の候補予測モードを有効にすることができないということは、現在のブロックが現在の候補予測モードのモード制限条件のいずれかを満たしていない場合、巡回待ち予測モードがいずれも有効にできないと確定することを指し、ここで、モード制限条件は、サイズ制限条件、他のモード制限条件、フレームタイプ制限条件、およびシーケンスレベルスイッチ制限条件を含む。
1つの可能な実施形態において、確定モジュールは、具体的に、
巡回待ち予測モードにおいてオンにすることができる予測モードの数が0である場合、現在のブロックが現在の候補予測モードを有効にすると確定するために使用される。
現在のブロックを符号化するプロセスにおいて、現在のブロックがどの予測モードを有効にするかを確定する必要がある場合、現在の候補予測モードに対して、巡回待ち予測モードの有効化状況を取得する。ここで、巡回待ち予測モードは、少なくとも1つの現在の候補予測モード以外の現在のブロックの予測のための候補予測モードを含む。この後、巡回待ち予測モードの有効化状況に基づいて、現在の候補予測モードの指示情報を符号化するかどうかを確定することができる。巡回待ち予測モードがいずれも有効にできない場合、指示情報を符号化するステップをスキップし、現在のブロックが現在の候補予測モードを有効にすると直接に確定することができる。関連技術のように、現在の候補予測モードの指示情報を符号化する必要がなく、この結果、予測モードを符号化するプロセスを簡略化し、予測モードを符号化する効率を向上させ、同時にコードレートのオーバヘッドを節約する。
なお、上記実施例による符号化の装置は、予測モードを符号化する際に、上記の各機能モジュールの分割のみを例に挙げて説明し、実際の応用では、上記の機能は、必要に応じて異なる機能モジュールによって行われるように割り当てられてもよく、即ち、以上で説明された機能の全部または一部を達成するために、装置の内部構造を異なる機能ブロックに分割してもよい。また、上記実施例による符号化の装置と予測モードの符号化の方法の実施例は、同じ概念に属し、その具体的な実現プロセスについては、方法の実施例を参照し、ここでは説明を省略する。
図5は、本発明の実施例による電子装置500の構成ブロック図である。当該電子装置500は、スマートフォン、タブレット、MP3プレーヤー(Moving Picture Experts Group Audio Layer III、エムペグオーディオレイヤー3)、MP4プレーヤー(Moving Picture Experts Group Audio Layer IV、エムペグオーディオレイヤー4)、ノートパソコンまたはデスクトップパソコンであってもよい。電子装置500は、ユーザ機器、携帯電子装置、ラップトップ電子装置、デスクトップ電子装置などの他の名称と呼ばれることもある。本発明の実施例に係る復号化の装置と符号化の装置は、いずれも図5に示された電子装置によって実現されることができる。
通常、電子装置500は、プロセッサ501とメモリー502とを含む。
プロセッサ501は、例えば4コアプロセッサ、8コアプロセッサなどの1つ以上の処理コアを含むことができる。プロセッサ501は、DSP(Digital Signal Processing、デジタル信号処理)、FPGA(Field-Programmable Gate Aray、フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Aray、プログラマブル論理アレイ)の少なくとも1つのハードウェアにより実現されることができる。プロセッサ501は、メインプロセッサおよびコプロセッサを含んでもよく、メインプロセッサは、起動状態のデータを処理するためのプロセッサであり、CPU(Central Processing Unit、中央処理装置)とも呼ばれ、コプロセッサは、スタンバイ状態のデータを処理するための低消費電力プロセッサである。いくつかの実施例では、プロセッサ501は、GPU(Graphics Processing Unit、画像プロセッサ)を統合してもよく、GPUは、ディスプレイが表示する必要があるコンテンツのレンダリングと描画に使用される。いくつかの実施例では、プロセッサ501は、AI(Artificial Intelligence、人工知能)プロセッサをさらに含んでもよく、当該AIプロセッサは、機械学習に関連する計算操作を処理するために使用される。
メモリー502は、1つ以上のコンピュータ読取可能な記憶媒体を含むことができ、当該コンピュータ読取可能な記憶媒体は、非一時的であってもよい。メモリー502は、1つ以上のディスク記憶装置、フラッシュストレージデバイスなどの、高速ランダムアクセスメモリ、および不揮発性メモリを含んでもよい。いくつかの実施例では、メモリ502内の非一時的なコンピュータ読取可能な記憶媒体は、少なくとも1つの指令を記憶するために使用され、当該少なくとも1つの指令は、プロセッサ501によって実行されることにより、本発明の方法の実施例による予測モードの復号化の方法または予測モードの符号化の方法を実現する。
いくつかの実施例では、選択肢の一つとして、電子装置500は、周辺機器インターフェース503と少なくとも1つの周辺機器とを含んでもよい。プロセッサ501、メモリ502、および周辺機器インターフェース503は、バスまたは信号線を介して接続されていてもよい。各周辺機器は、バス、信号線、または回路基板を介して周辺機器インターフェース503に接続されていてもよい。具体的に、周辺機器は、無線周波数回路504、ディスプレイ505、カメラアセンブリ506、オーディオ回路507、位置決めアセンブリ508および電源509の少なくとも1つを含む。
周辺機器インターフェース503は、I/O(Input/Output、入力/出力)に関連する少なくとも1つの周辺機器をプロセッサ501およびメモリ502に接続するために使用されてもよい。いくつかの実施例では、プロセッサ501、メモリ502、および周辺機器インターフェース503は、同一のチップまたは回路基板に集積され、いくつかの他の実施例では、プロセッサ501、メモリ502、および周辺機器インターフェース503のいずれか1つまたは2つは、個別のチップまたは回路基板上に実現されてもよく、本実施例はこれに対して限定しない。
無線周波数回路504は、RF(Radio Frequency、無線周波数)信号を受信および送信するために使用され、電磁信号とも呼ばれる。無線周波数回路504は、電磁信号を介して通信ネットワークおよび他の通信デバイスと通信する。無線周波数回路504は、電気信号を電磁信号に変換して送信するか、または受信した電磁信号を電気信号に変換する。選択肢の一つとして、無線周波数回路504は、アンテナシステム、RFトランシーバ、1つ以上の増幅器、チューナー、発振器、デジタル信号プロセッサ、コーデックチップセット、加入者識別モジュールカードなどを含む。無線周波数回路504は、少なくとも1つの無線通信プロトコルを介して他の電子装置と通信することができる。当該無線通信プロトコルには、メトロポリタンエリアネットワーク、すべての世代のモバイル通信ネットワーク(2G、3G、4G、および5G)、無線LANおよび/またはWiFi(Wireless Fidelity、ワイヤレスフィデリティ)ネットワークが含まれるが、これらに限定されない。いくつかの実施例では、無線周波数回路504は、NFC(Near Field Communication、近距離無線通信)に関する回路を含んでもよく、本実施例はこれに対して限定しない。
ディスプレイ505は、UI(User Interface、ユーザインターフェース)を表示するために使用される。当該UIは、グラフィック、テキスト、アイコン、ビデオ、およびそれらの任意の組み合わせを含めることができる。ディスプレイ505がタッチディスプレイである場合、ディスプレイ505は、ディスプレイ505の表面または表面の上方にあるタッチ信号を収集する能力をさらに有する。当該タッチ信号は、制御信号としてプロセッサ501に入力されて処理されてもよい。このとき、ディスプレイ505は、仮想ボタンおよび/または仮想キーボードを提供するために使用されてもよく、ソフトボタンおよび/またはソフトキーボードとも呼ばれる。いくつかの実施例では、ディスプレイ505は、1つでもよく、電子装置500のフロントパネルを設定し、いくつかの他の実施形態では、ディスプレイ505は、少なくとも2つでもよく、電子装置500の異なる表面にそれぞれ設けられ、または折り畳みの形で設計され、いくつかのさらに別の実施例では、ディスプレイ505は、フレキシブルディスプレイであってもよく、電子装置500の曲げ面または折り畳み面に設けられる。さらに、ディスプレイ505は、非矩形の不規則な形状、すなわち特殊な形状のスクリーンに設定されてもよい。ディスプレイ505は、LCD(Liquid Crystal Display、液晶ディスプレイ)およびOLED(Organic Light-Emitting Diode、有機発光ダイオード)などの材料で作られてもよい。
カメラアセンブリ506は、画像またはビデオを収集するために使用される。選択肢の一つとして、カメラアセンブリ506は、フロントカメラとリアカメラを含む。通常、フロントカメラは電子装置のフロントパネルに設置され、リアカメラは電子装置の背面に設置される。いくつかの実施例では、メインカメラと被写界深度カメラとの融合によって背景ぼかし機能を実現し、メインカメラと広角カメラとの融合によってパノラマ撮影及びVR(Virtual Reality、仮想現実)撮影機能またはその他の融合撮影機能を実現するために、リアカメラは少なくとも2つで、それぞれがメインカメラ、被写界深度カメラ、広角カメラ、長焦点カメラのいずれかである。いくつかの実施例では、カメラアセンブリ506は、フラッシュをさらに含むことができる。フラッシュは、モノクロ温度フラッシュであってもよいし、デュアルカラー温度フラッシュであってもよい。デュアルカラー温度フラッシュとは、暖光フラッシュと冷光フラッシュとの組み合わせを指し、異なる色温度での光線補償に使用できる。
オーディオ回路507は、マイクおよびスピーカーを含むことができる。マイクロフォンは、ユーザおよび環境の音波を収集し、音波を電気信号に変換してプロセッサ501に入力して処理し、または無線周波数回路504に入力することにより、音声通信を実現する。ステレオ収集またはノイズ低減の目的で、マイクは複数であってもよく、電子装置500の異なる部位にそれぞれ配置される。マイクは、アレイマイクまたは全指向性収集型マイクであってもよい。スピーカは、プロセッサ501または無線周波数回路504からの電気信号を音波に変換するために使用される。スピーカは、従来のフィルムスピーカであってもよく、圧電セラミックスピーカであってもよい。スピーカが圧電セラミックスピーカである場合、電気信号を人間に聞こえる音波に変換するだけでなく、電気信号を人間に聞こえない音波に変換することにより測距するなどの用途も考えられる。いくつかの実施例では、オーディオ回路507は、ヘッドフォンジャックをさらに含むことができる。
位置決めアセンブリ508は、電子装置500の現在の地理的位置を位置決めすることにより、ナビゲーションまたはLBS(Location Based Service、位置情報に基づくサービス)を実現する。位置決めアセンブリ508は、米国のGPS(Global Positioning System、全地球測位システム)、中国の北斗システム、ロシアのガリレオシステム又は欧州連合のガリレオシステムに基づく位置決めアセンブリであってもよい。
電源509は、電子装置500の各アセンブリに電力を供給するために使用される。電源509は、交流、直流、使い捨て電池、または充電式電池であってもよい。電源509が充電式電池を含む場合、当該充電式電池は、有線充電または無線充電に対応できる。当該充電式電池は、クイックチャージ技術にも対応できる。
いくつかの実施例では、電子装置500は、1つ以上のセンサ510をさらに含む。当該1つ以上のセンサ510は、加速度センサ511、ジャイロセンサ512、圧力センサ513、指紋センサ514、光学センサ515、および近接センサ516を含むが、これらに限定されない。
加速度センサ511は、電子装置500により確立された座標系の3つの座標軸上の加速度の大きさを検出することができる。例えば、加速度センサ511は、3つの座標軸上の重力加速度の成分を検出するために使用されることができる。プロセッサ501は、加速度センサ511によって収集された重力加速度信号に基づいて、横方向または縦方向のビューでユーザインタフェースの表示を行うようにディスプレイ505を制御することができる。加速度センサ511は、ゲームまたはユーザの動きデータの収集にも利用できる。
ジャイロセンサ512は、電子装置500の機体の方向および回動角度を検出することができ、ジャイロセンサ512は、加速度センサ511と協働して、ユーザによる電子装置500の3D動作を収集することができる。プロセッサ501は、ジャイロセンサ512によって収集されたデータに基づいて、動作感知(例えば、ユーザの傾き操作に応じてUIを変化させる)、撮影時の画像安定、ゲーム制御、および慣性ナビゲーションなどの機能を実現することができる。
圧力センサ513は、電子装置500の側面枠および/またはディスプレイ505の下層に配置されてもよい。圧力センサ513が電子装置500の側面枠に配置されると、電子装置500へのユーザの保持信号を検出することができ、プロセッサ501は、圧力センサ513によって収集された保持信号に基づいて、左右手の識別または迅速な操作を行うことができる。圧力センサ513がディスプレイ505の下層に配置されると、プロセッサ501は、ディスプレ505へのユーザの圧力操作に応じて、UIインターフェイス上の操作可能なコントロールを制御する。操作可能なコントロールには、ボタンコントロール、スクロールバーコントロール、アイコンコントロール、メニューコントロールの少なくとも1つが含まれる。
指紋センサ514は、ユーザの指紋を収集するために使用され、プロセッサ501は、指紋センサ514によって収集された指紋に基づいてユーザーの身元を認識し、または、指紋センサ514は、収集された指紋に基づいてユーザーの身元を認識する。ユーザの身元が信頼できる身元であると認識された場合、プロセッサ501によって、当該ユーザに関連する敏感な操作を実行させ、当該敏感な操作は、スクリーンのロック解除、暗号化された情報の閲覧、ソフトウェアのダウンロード、支払いおよび設定変更などを含む。指紋センサ514は、電子装置500の前面、背面、または側面に設けられてもよい。電子装置500には物理的なボタンまたはメーカーのロゴが配置された場合、指紋センサ514は物理的なボタンまたはメーカーのロゴと統合されてもよい。
光センサ515は、環境の光強度を収集するために使用される。一実施例では、プロセッサ501は、光学センサ515によって収集された環境の光強度に基づいて、ディスプレイ505の表示輝度を制御することができる。具体的に、環境の光強度が高い場合、ディスプレイ505の表示輝度を上げ、周囲の光強度が低い場合、ディスプレイ505の表示輝度を下げる。別の実施例では、プロセッサ501は、光学センサ515によって収集された環境の光強度に基づいて、カメラアセンブリ506の撮影パラメータを動的に調整することができる。
近接センサ516は、距離センサとも呼ばれ、通常、電子装置500のフロントパネルに配置される。近接センサ516は、ユーザと電子装置500の正面との間の距離を取得するために使用される。一実施例では、ユーザと電子装置500の正面との間の距離が徐々に小さくなることを近接センサ516が検出した場合、プロセッサ501は、明るい画面状態から閉じた画面状態に切り替えるようにディスプレイ505を制御し、ユーザと電子装置500の正面との間の距離が徐々に大きくなることを近接センサ516が検出した場合、プロセッサ501は、閉じた画面状態から明るい画面状態に切り替えるようにディスプレイ505を制御する。
当業者であれば、図5に示される構造は、電子装置500を限定するものではなく、図示よりも多いまたは少ないアセンブリを含んでもよく、または、いくつかのアセンブリを組み合わせたり、あるいは異なるアセンブリ配置を採用したりすることができることを理解できる。
本発明の実施例において、非一時的なコンピュータ可読記憶媒体をさらに提供し、前記記憶媒体における指令が電子装置のプロセッサによって実行されるとき、上記の実施例による予測モードの復号化の方法または予測モードの符号化の方法を電子装置に実行させることを可能にする。
本発明の実施例において、指令を含むコンピュータプログラム製品をさらに提供し、電子装置上で動作するとき、上記の実施例による予測モードの復号化の方法または予測モードの符号化の方法を電子装置に実行させる。
当業者にとって、上記の実施例のステップの全部または一部をハードウェアによって完了してもよく、プログラムを利用して関連するハードウェアを指令することにより完了してもよいことを理解することができ、前記プログラムは、コンピュータ可読記憶媒体に記憶されることができ、上記記憶媒体は、読み出し専用メモリ、磁気ディスク、または光ディスク等であってもよい。
上記は、本発明の好ましい実施例に過ぎない、本発明を限定するものではなく、本発明の精神および原則内でなされた任意の変更、等効な置換、改善などは、本発明の範囲に含まれるものとする。
300、400 符号化の装置
301、401 取得モジュール
302、402 確定モジュール