(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024116148
(43)【公開日】2024-08-27
(54)【発明の名称】クロマブロック予測方法及び装置
(51)【国際特許分類】
H04N 19/11 20140101AFI20240820BHJP
H04N 19/136 20140101ALI20240820BHJP
H04N 19/186 20140101ALI20240820BHJP
H04N 19/176 20140101ALI20240820BHJP
H04N 19/70 20140101ALI20240820BHJP
H04N 19/593 20140101ALI20240820BHJP
【FI】
H04N19/11
H04N19/136
H04N19/186
H04N19/176
H04N19/70
H04N19/593
【審査請求】有
【請求項の数】13
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024080410
(22)【出願日】2024-05-16
(62)【分割の表示】P 2023031553の分割
【原出願日】2019-12-10
(31)【優先権主張番号】201910005667.3
(32)【優先日】2019-01-03
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】マ,シアン
(72)【発明者】
【氏名】ムゥ,ファン
(72)【発明者】
【氏名】ジャオ,イン
(72)【発明者】
【氏名】ヤン,ハイタオ
(57)【要約】 (修正有)
【課題】クロマブロック予測効率を向上させるクロマブロック予測方法及び装置を提供する。
【解決手段】方法は、クロマブロックの隣接サンプルからプリセット位置のクロマサンプルのクロマ値を取得し、クロマブロックに対応するルマブロックの隣接サンプルに基づいて、クロマサンプルに対応するルマサンプルのルマ値を取得し、取得したルマ値を第1、第2のルマセットに分類して夫々グループ化し、第1のルマセット内のルマ値の平均値、第2のルマセット内のルマ値の平均値、第1のクロマセット内のクロマ値の平均値及び第2のクロマセット内のクロマ値の平均値に基づいて、線形モデルにおけるスケーリング係数を決定し、スケーリング係数に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタを決定し、スケーリング係数、オフセットファクタ及びクロマブロックに対応するルマ再構成情報に基づいて、クロマブロックの予測情報を決定する。
【選択図】
図11
【特許請求の範囲】
【請求項1】
符号化方法であって、
クロマブロックに対応するイントラ予測モードに基づいてプリセット位置を決定し、
前記クロマブロックの隣接サンプルから前記プリセット位置のクロマサンプルの4つのクロマ値を取得し、
前記クロマブロックに対応するルマブロックの隣接サンプルに基づいて、前記プリセット位置の前記4つのクロマサンプルに対応するルマサンプルの4つのルマ値を取得し、
前記4つのルマ値を並べ替えることにより、前記4つのルマ値を2つの小さい方のルマ値と2つの大きい方のルマ値とに分類し、
前記2つの小さい方のルマ値を第1のルマセットにグループ化し、前記2つの大きい方のルマ値を第2のルマセットにグループ化し、
前記第1のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第1のクロマセットにグループ化し、前記第2のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第2のクロマセットにグループ化し、
前記第1のルマセット内の前記ルマ値の平均値、前記第2のルマセット内の前記ルマ値の平均値、前記第1のクロマセット内の前記クロマ値の平均値、及び前記第2のクロマセット内の前記クロマ値の平均値に基づいて、前記クロマブロックに対応する線形モデルにおけるスケーリング係数を決定し、
前記スケーリング係数に基づいて、前記クロマブロックに対応する前記線形モデルにおけるオフセットファクタを決定し、
前記スケーリング係数、前記オフセットファクタ、及び前記クロマブロックに対応するルマ再構成情報に基づいて、前記クロマブロックの予測情報を決定し、
指示情報をビットストリームに符号化し、該指示情報は、前記クロマブロックに対応する前記イントラ予測モードを示すために使用されるものであり、前記イントラ予測モードは線形モード上(LMA)モードであり、
前記クロマブロックの前記予測情報と前記クロマブロックとに基づいて残差情報を取得し、
前記残差情報を前記ビットストリームに符号化する、
ことを有する方法。
【請求項2】
クロマブロックの隣接サンプルから前記プリセット位置のクロマサンプルの4つのクロマ値を前記取得することは、
イントラ予測モードとプリセット位置との間の予め定められた対応関係と、前記クロマブロックに対応する前記イントラ予測モードとに基づいて、前記クロマブロックの前記隣接サンプルから前記プリセット位置の前記クロマサンプルの前記4つのクロマ値を取得する、
ことを有する、請求項1に記載の方法。
【請求項3】
前記4つのルマ値を並べ替えることにより、前記4つのルマ値を2つの小さい方のルマ値と2つの大きい方のルマ値とに前記分類することは、
前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記4つのルマ値を昇順に並べ替えて第1のルマ値キューを取得し、該第1のルマ値キュー内の1番目の半分部分が、該第1のルマ値キューの前記2つの小さい方のルマ値を有し、該第1のルマ値キュー内の2番目の半分部分が、該第1のルマ値キューの前記2つの大きい方のルマ値を有する、又は
前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記4つのルマ値を降順に並べ替えて第2のルマ値キューを取得し、該第2のルマ値キュー内の1番目の半分部分が、該第2のルマ値キューの前記2つの大きい方のルマ値を有し、該第2のルマ値キュー内の2番目の半分部分が、該第2のルマ値キューの前記2つの小さい方のルマ値を有する、
ことを有する、請求項1又は2に記載の方法。
【請求項4】
前記スケーリング係数に基づいて、前記クロマブロックに対応する前記線形モデルにおけるオフセットファクタを前記決定することは、
前記スケーリング係数、前記第1のクロマセット内の前記クロマ値の前記平均値、及び前記第1のルマセット内の前記ルマ値の前記平均値に基づいて、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタを決定する、
ことを有する、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記スケーリング係数、前記第1のクロマセット内の前記クロマ値の前記平均値、及び前記第1のルマセット内の前記ルマ値の前記平均値に基づいて、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタを前記決定することは、
β=CLmean-α*LLmeanであることを有し、ここで、αは、前記スケーリング係数であり、βは、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタであり、CLmeanは、前記第1のクロマセット内の前記クロマ値の前記平均値であり、LLmeanは、前記第1のルマセット内の前記ルマ値の前記平均値である、
請求項4に記載の方法。
【請求項6】
符号化装置であって、
クロマブロックに対応するイントラ予測モードに基づいてプリセット位置を決定するように構成された決定モジュールと、
前記クロマブロックの隣接サンプルから前記プリセット位置のクロマサンプルの4つのクロマ値を取得し、前記クロマブロックに対応するルマブロックの隣接サンプルに基づいて、前記プリセット位置の前記4つのクロマサンプルに対応するルマサンプルの4つのルマ値を取得するように構成された取得モジュールと、
前記4つのルマ値を並べ替えることにより、前記4つのルマ値を2つの小さい方のルマ値と2つの大きい方のルマ値とに分類し、前記2つの小さい方のルマ値を第1のルマセットにグループ化し、前記2つの大きい方のルマ値を第2のルマセットにグループ化し、前記第1のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第1のクロマセットにグループ化し、前記第2のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第2のクロマセットにグループ化するように構成された分類モジュールであり、
前記決定モジュールが更に、前記第1のルマセット内の前記ルマ値の平均値、前記第2のルマセット内の前記ルマ値の平均値、前記第1のクロマセット内の前記クロマ値の平均値、及び前記第2のクロマセット内の前記クロマ値の平均値に基づいて、前記クロマブロックに対応する線形モデルにおけるスケーリング係数を決定し、該スケーリング係数に基づいて、前記クロマブロックに対応する前記線形モデルにおけるオフセットファクタを決定し、該スケーリング係数、該オフセットファクタ、及び前記クロマブロックに対応するルマ再構成情報に基づいて、前記クロマブロックの予測情報を決定するように構成される、分類モジュールと、
指示情報をビットストリームに符号化するように構成された符号化モジュールであり、前記指示情報は、前記クロマブロックに対応する前記イントラ予測モードを示すために使用されるものであり、前記イントラ予測モードは線形モード上(LMA)モードである、符号化モジュールと、
前記クロマブロックの前記予測情報と前記クロマブロックとに基づいて残差情報を取得するように構成された残差ブロックと、
を有し、
前記符号化モジュールは更に、前記残差情報を前記ビットストリームに符号化するように構成される、
装置。
【請求項7】
前記取得モジュールは更に、
イントラ予測モードとプリセット位置との間の予め定められた対応関係と、前記クロマブロックに対応する前記イントラ予測モードとに基づいて、前記クロマブロックの前記隣接サンプルから前記プリセット位置の前記クロマサンプルの前記4つのクロマ値を取得する、
ように構成される、請求項6に記載の装置。
【請求項8】
前記分類モジュールは、
前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記4つのルマ値を昇順に並べ替えて第1のルマ値キューを取得し、該第1のルマ値キュー内の1番目の半分部分が、該第1のルマ値キューの前記2つの小さい方のルマ値を有し、該第1のルマ値キュー内の2番目の半分部分が、該第1のルマ値キューの前記2つの大きい方のルマ値を有する、又は
前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記4つのルマ値を降順に並べ替えて第2のルマ値キューを取得し、該第2のルマ値キュー内の1番目の半分部分が、該第2のルマ値キューの前記2つの大きい方のルマ値を有し、該第2のルマ値キュー内の2番目の半分部分が、該第2のルマ値キューの前記2つの小さい方のルマ値を有する、
ように構成される、請求項6又は7に記載の装置。
【請求項9】
前記決定モジュールは、
前記スケーリング係数、前記第1のクロマセット内の前記クロマ値の前記平均値、及び前記第1のルマセット内の前記ルマ値の前記平均値に基づいて、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタを決定する、
ように構成される、請求項6乃至8のいずれか一項に記載の装置。
【請求項10】
前記決定モジュールは、
β=CLmean-α*LLmeanであり、ここで、αは、前記スケーリング係数であり、βは、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタであり、CLmeanは、前記第1のクロマセット内の前記クロマ値の前記平均値であり、LLmeanは、前記第1のルマセット内の前記ルマ値の前記平均値である、
ように構成される、請求項9に記載の装置。
【請求項11】
メモリ及びプロセッサを有する符号化装置であって、前記メモリは、プロセッサ実行可能命令を格納するように構成され、
前記プロセッサは、前記プロセッサ実行可能命令を実行して、請求項1乃至5のいずれか一項に記載の符号化方法を実行するように構成されている、
符号化装置。
【請求項12】
コンピュータ読み取り可能記憶媒体であって、当該コンピュータ読み取り可能記憶媒体は命令を格納しており、前記命令がコンピューティング装置上で実行されるとき、前記コンピューティング装置が請求項1乃至5のいずれか一項に記載の符号化方法を実行することが可能にされる、コンピュータ読み取り可能記憶媒体。
【請求項13】
命令を有するコンピュータプログラムプロダクトであって、前記命令がコンピューティング装置上で実行されるとき、前記コンピューティング装置が請求項1乃至5のいずれか一項に記載の符号化方法を実行することが可能にされる、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、“クロマブロック予測方法及び装置”と題されて2019年1月3日に出願された中国特許出願第201910005667.3号の優先権を主張するものであり、それを、その全体にてここに援用する。
【0002】
この出願は、映像符号化及び復号技術の分野に関し、特に、クロマブロック予測方法及び装置に関する。
【背景技術】
【0003】
インターネット技術の発達に伴い、映像アプリケーションプログラムの量がますます増加し、映像アプリケーションプログラムは、高精細映像に対して、ますます多くの量の要求を課している。しかしながら、高精細映像のデータ量は比較的大きいため、限られたネットワーク帯域内で高精細映像を伝送する必要がある場合、高精細映像を符号化する必要がある。一般に、符号化処理は、主として、イントラ予測、インター予測、変換、量子化、エントロピー符号化、イントラループフィルタリング、及びこれらに類するものを含む。
【0004】
関連技術において、イントラ予測を行う必要があるとき、クロマ(chroma)ブロックの予測情報が、クロスコンポーネント線形モード(Cross Component Linear Mode、CCLM)(これは、クロスコンポーネント予測(Cross-Component Prediction、CCP)モード、又はクロスコンポーネントイントラ予測(Cross-Component Intra Prediction、CCIP)モード、又は略して線形モード(linear mode、LM)と称されることもある)を用いることによって決定され得る。これは、ルミナンス(luminance)とクロミナンス(chrominance)との間の相関を用いて行われるクロマイントラ予測方法である。この方法では、現在クロマブロックの予測情報が、再構成されたルマ(luma)コンポーネントを用いて、線形モデルに従って導出され、これは次式:
【数1】
を用いて表され得る。ここで、α及びβはイントラ予測モデルパラメータであり、αはスケーリング係数であり、βはオフセットファクタであり、pred
C(i,j)は、位置(i,j)のクロマサンプルの予測子であり、そして、rec
i
L(i,j)は、現在クロマブロックに対応するルマ再構成ブロックがクロマコンポーネント解像度にダウンサンプリングされた後の位置(i,j)のルマ再構成サンプル値である。スケーリング係数及びオフセットファクタは、伝送のために符号化される必要はなく、現在クロマブロックの隣接再構成ブロックのエッジサンプル及びそれらエッジサンプルに対応するルマサンプルを用いることによって導出される。一方法は:
【数2】
とし得る。ここで、Nは、隣接再構成ブロックのエッジサンプルの数であり、L(n)は、n番目のルマサンプルであり、そして、C(n)は、n番目のクロマサンプルである。
【0005】
斯くして、CCLMが使用される各クロマブロックに対して、スケーリング係数及びオフセットファクタを決定する必要がある。しかしながら、上述の決定プロセスは、多量の乗算を必要とし、比較的複雑である。その結果、クロマブロック予測効率が比較的低い。
【発明の概要】
【0006】
関連技術における問題を解決すべく、この出願の実施形態はクロマブロック予測方法及び装置を提供する。その技術的ソリューションは以下の通りである。
【0007】
第1の態様によれば、クロマブロック予測方法が提供される。当該方法は、
クロマブロックの隣接サンプルからプリセット位置のクロマサンプルのクロマ値を取得し、前記クロマブロックに対応するルマブロックの隣接サンプルに基づいて、前記プリセット位置の前記クロマサンプルに対応するルマサンプルのルマ値を取得し、前記取得したルマ値を第1のルマセットと第2のルマセットとに分類し、前記第1のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第1のクロマセットにグループ化し、前記第2のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第2のクロマセットにグループ化し、前記第1のルマセット内の前記ルマ値の平均値、前記第2のルマセット内の前記ルマ値の平均値、前記第1のクロマセット内の前記クロマ値の平均値、及び前記第2のクロマセット内の前記クロマ値の平均値に基づいて、前記クロマブロックに対応する線形モデルにおけるスケーリング係数を決定し、前記スケーリング係数に基づいて、前記クロマブロックに対応する前記線形モデルにおけるオフセットファクタを決定し、前記スケーリング係数、前記オフセットファクタ、及び前記クロマブロックに対応するルマ再構成情報に基づいて、前記クロマブロックの予測情報を決定する、ことを含む。
【0008】
この出願のこの実施形態に示されるソリューションでは、現在クロマブロック(以下ではこれをクロマブロックと略称することがある)に対してイントラ予測を実行する必要があるとき、クロマブロックの隣接サンプルから、プリセット位置のクロマサンプルのクロマ値が取得され得る。次いで、クロマブロックに対応するルマブロックが決定され得るとともに、該ルマブロックの隣接サンプルに基づいて、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値が取得され得る。取得されたルマ値が、第1のルマセットと第2のルマセットとに分類される。ルマ値に基づいて自動的にクロマ値が第1のクロマセットと第2のクロマセットとに分類される。次いで、第1のルマセット内のルマ値の平均値、第2のルマセット内のルマ値の平均値、第1のクロマセット内のクロマ値の平均値、及び第2のクロマセット内のクロマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数が決定される。次いで、スケーリング係数に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタが決定される。最後に、クロマブロックに対応するルマ再構成情報、スケーリング係数、及びオフセットファクタに基づいて、クロマブロックの予測情報が取得され、クロマブロックに対応するルマ再構成情報は、クロマブロックに対応するルマ再構成ブロックのダウンサンプリング情報を含む。
【0009】
斯くして、より少量の乗算のみを必要とするので、計算量を減らすことができ、さらに、クロマブロック予測効率を向上させることができる。
【0010】
取り得る一実装において、当該方法は更に、指示情報を取得し、該指示情報に基づいて、前記クロマブロックに対応するイントラ予測モードを決定し、該イントラ予測モードは、線形モードLM、線形モード上(linear mode above、LMA)、及び線形モード左(linear mode left、LML)のうちの少なくとも1つを含み、前記クロマブロックに対応する前記イントラ予測モードに基づいて前記プリセット位置を決定する、ことを含む。
【0011】
この出願のこの実施形態に示されるソリューションでは、符号化を実行するとき、エンコーダ側が、指示情報をビットストリームにエンコードし、次いで、該ビットストリームをデコーダ側に送り得る。デコーダ側は、受信したビットストリームから指示情報を取得し、該指示情報に基づいて、クロマブロックに対応するイントラ予測モードを決定し得る。そして、デコーダ側は、クロマブロックに対応するイントラ予測モードに基づいてプリセット位置を決定する。斯くして、デコーダ側は、クロマブロックに使用されるイントラ予測モードを決定し、次いで、該イントラ予測モードに基づいてプリセット位置を決定し得る。
【0012】
取り得る一実装において、クロマブロックの隣接サンプルからプリセット位置のクロマサンプルのクロマ値を前記取得することは、イントラ予測モードとプリセット位置との間の予め定められた対応関係と、前記クロマブロックに対応する前記イントラ予測モードとに基づいて、前記クロマブロックの前記隣接サンプルから前記プリセット位置の前記クロマサンプルの前記クロマ値を取得する、ことを含む。
【0013】
この出願のこの実施形態に示されるソリューションでは、復号を実行するとき、デコーダ側は、イントラ予測モードと位置との間の予め定められた対応関係を取得し、該対応関係から、クロマブロックのイントラ予測モードに対応するプリセット位置を決定し得る。そして、デコーダ側は、プリセット位置に基づいて、クロマブロックの隣接サンプルから、プリセット位置のクロマサンプルのクロマ値を取得する。
【0014】
斯くして、異なるイントラ予測モードに対して異なるプリセット位置を選択することができ、クロマブロック予測結果がいっそう正確であるようにすることができる。
【0015】
取り得る一実装において、前記クロマブロックの上隣接サンプルの位置座標は、(0,-1)、(1,-1)、…、及び(X-1,-1)であり、前記クロマブロックの左隣接サンプルの位置座標は、(-1,0)、(-1,1)、…、及び(-1,Y-1)であり、Xは、前記クロマブロックの幅を表し、Yは、前記クロマブロックの高さを表し、前記クロマブロックに対応する前記イントラ予測モードがクロスコンポーネント線形モードLMである場合、前記プリセット位置の前記クロマサンプルの位置座標は、(0,-1)、(X-1,-1)、(-1,-0)、及び(-1,Y-1)である。
【0016】
この出願のこの実施形態に示されるソリューションでは、対応して、クロマブロックに対して矩形平面座標系が確立される。クロマブロックの左上隅にある最初のクロマサンプルが座標原点として使用され、右への水平方向がx軸の正方向であり、下への垂直方向がy軸の正方向である。斯くして、クロマブロックの上隣接サンプルの位置座標は、(0,-1)、(1,-1)、…、及び(X-1,-1)であり、クロマブロックの左隣接サンプルの位置座標は、(-1,0)、(-1,1)、…、及び(-1,Y-1)であり、Xは、クロマブロックの幅(すなわち、クロマブロックの幅方向のサンプルの数)を表し、Yは、クロマブロックの高さ(すなわち、クロマブロックの高さ方向のサンプルの数)を表す。イントラ予測モードがLMであるとき、プリセット位置のクロマサンプルの位置座標は、(0,-1)、(X-1,-1)、(-1,-0)、及び(-1,Y-1)である。
【0017】
取り得る一実装において、前記クロマブロックの前記上隣接サンプルの前記位置座標は、(0,-1)、(1,-1)、…、及び(X-1,-1)であり、Xは、前記クロマブロックの前記幅を表し、前記クロマブロックに対応する前記イントラ予測モードがクロスコンポーネント線形モード上LMAである場合、前記プリセット位置の前記位置座標は、(0,-1)、(X/4,-1)、(X-1-X/4,-1)、及び(X-1,-1)であり、又は(0,-1)、(X/4,-1)、(3×X/4,-1)、及び(X-1,-1)である。
【0018】
この出願のこの実施形態に示されるソリューションでは、対応して、クロマブロックに対して矩形平面座標系が確立される。クロマブロックの左上隅にある最初のクロマサンプルが座標原点として使用され、右への水平方向がx軸の正方向であり、下への垂直方向がy軸の正方向である。イントラ予測モードがLMAであるとき、プリセット位置の位置座標は、(0,-1)、(X/4,-1)、(X-1-X/4,-1)、及び(X-1,-1)であり、又は(0,-1)、(X/4,-1)、(3×X/4,-1)、及び(X-1,-1)であり、Xは、クロマブロックの幅(すなわち、クロマブロックの幅方向のサンプルの数)を表す。
【0019】
取り得る一実装において、前記クロマブロックの前記左隣接サンプルの前記位置座標は、(-1,0)、(-1,1)、…、及び(-1,Y-1)であり、Yは、前記クロマブロックの前記高さを表し、前記クロマブロックに対応する前記イントラ予測モードがクロスコンポーネント線形モード左LMLである場合、前記プリセット位置の前記位置座標は、(-1,0)、(-1,Y/4)、(-1,Y-1-Y/4)、及び(-1,Y-1)であり、又は(-1,0)、(-1,Y/4)、(-1,3×Y/4)、及び(-1,Y-1)である。
【0020】
この出願のこの実施形態に示されるソリューションでは、対応して、クロマブロックに対して矩形平面座標系が確立される。クロマブロックの左上隅にある最初のクロマサンプルが座標原点として使用され、右への水平方向がx軸の正方向であり、下への垂直方向がy軸の正方向である。イントラ予測モードがLMLであるとき、プリセット位置の位置座標は、(-1,0)、(-1,Y/4)、(-1,Y-1-Y/4)、及び(-1,Y-1)であり、又は(-1,0)、(-1,Y/4)、(-1,3×Y/4)、及び(-1,Y-1)であり、Yは、クロマブロックの高さ(すなわち、クロマブロックの高さ方向のサンプルの数)を表す。
【0021】
取り得る一実装において、前記クロマブロックに対応するルマブロックの隣接サンプルに基づいて、前記プリセット位置の前記クロマサンプルに対応するルマサンプルのルマ値を前記取得することは、前記ルマブロックの前記隣接サンプルから、前記プリセット位置内のi番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標が(2×Xi,2×Yi)であると決定し、前記i番目のプリセット位置の前記クロマサンプルの位置座標が(Xi,Yi)であり、そして、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの位置座標に基づいて、前記クロマブロックに対応する前記ルマブロックの前記隣接サンプルから、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値を取得する、又は、前記プリセット位置内のj番目のプリセット位置のクロマサンプルの位置座標に基づいて、前記ルマブロックの前記隣接サンプルから、前記j番目のプリセット位置に対応する複数のサンプルの位置座標を決定し、該複数のサンプルの該位置座標に基づいて、前記j番目のプリセット位置の前記クロマサンプルに対応するルマサンプルの位置座標を決定し、そして、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの位置座標に基づいて、前記クロマブロックに対応する前記ルマブロックの前記隣接サンプルから、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値を取得する、ことを含む。
【0022】
この出願のこの実施形態に示されるソリューションでは、クロマブロックが復号されるとき、プリセット位置内のi番目のプリセット位置のクロマサンプルの位置座標が(Xi,Yi)であり、そして、ルマブロックの隣接サンプルから、i番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標が(2×Xi,2×Yi)であると決定され得る。斯くして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標が取得され得る。
【0023】
あるいは、クロマブロックが復号されるとき、プリセット位置内のj番目のプリセット位置のクロマサンプルの位置座標が(Xj,Yj)である。j番目のプリセット位置のクロマサンプルに対し、(Xj,Yj)に対応するルマブロックの隣接サンプルの複数のサンプル位置が決定され、次いで、該複数のサンプル位置の位置座標に基づいて、j番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標が取得される。例えば、重み付け法が使用され得る。複数のサンプル位置の位置座標は、(2×Xj,2×Yj)、(2×Xj,2×Yj+1)、(2×Xj+1,2×Yj)、(2×Xj+1,2×Yj+1)、(2×Xj+2,2×Yj)、及び(2×Xj+2,2×Yj+1)とすることができ、これら全てのサンプル位置が、それぞれ2/8、1/8、1/8、2/8、1/8、及び1/8である重み値に対応する。重み付けを行った後、j番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標(2×Xj,2×Yj+0.5)が取得され得る。また、重み付け法は使用されなくてもよい。これは、この出願のこの実施形態において限定されることではない。斯くして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標が取得され得る。そして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標に基づいて、対応するルマサンプルからルマ値が取得され得る。
【0024】
斯くして、より迅速にルマ値を決定することができる。
【0025】
取り得る一実装において、指示情報は、受信したビットストリームから取得される。
【0026】
この出願のこの実施形態に示されるソリューションでは、符号化を実行するとき、エンコーダ側が、イントラ予測モードを指し示す指示情報をビットストリームにエンコードし、次いで、該ビットストリームをデコーダ側に送り得る。デコーダ側は、受信したビットストリームから指示情報を取得し得る。
【0027】
斯くして、デコーダ側は、クロマブロックに使用されるイントラ予測モードを決定し得る。
【0028】
取り得る一実装において、前記取得したルマ値を第1のルマセットと第2のルマセットとに前記分類することは、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値の平均値を決定し、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値の中にあって前記ルマ値の前記平均値以下であるルマ値を、前記第1のルマセットにグループ化し、且つ、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値の中にあって前記ルマ値の前記平均値よりも大きいルマ値を、前記第2のルマセットにグループ化する、ことを含む。
【0029】
この出願のこの実施形態で示されるソリューションでは、取得された全てのルマ値の中にあってルマ値の平均値以下であるルマ値が決定され、これらのルマ値が第1のルマセットにグループ化される。さらに、取得された全てのルマ値の中にあってルマ値の平均値よりも大きいルマ値を決定することができ、これらのルマ値が第2のルマセットにグループ化される。斯くして、第1のルマセット内のルマ値は、第2のルマセット内のルマ値よりも小さい。
【0030】
斯くして、符号化性能を低下させることなく、クロマブロック予測速度を高めることができる。
【0031】
取り得る一実装において、前記取得したルマ値を第1のルマセットと第2のルマセットとに前記分類することは、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値を昇順に並べ替えて第1のルマ値キューを取得し、そして、該第1のルマ値キュー内のルマサンプルの数が偶数である場合、該第1のルマ値キューの前半部分のルマ値を前記第1のルマセットにグループ化し、且つ、該ルマ値キューの後半部分のルマ値を前記第2のルマセットにグループ化する、又は、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値を降順に並べ替えて第2のルマ値キューを取得し、そして、該第2のルマ値キュー内のルマサンプルの数が偶数である場合、該第2のルマ値キューの後半部分のルマ値を前記第1のルマセットにグループ化し、且つ、該ルマ値キューの前半部分のルマ値を前記第2のルマセットにグループ化する、ことを含む。
【0032】
この出願のこの実施形態で示されるソリューションでは、取得されたルマ値が昇順に並べ替えられて、第1のルマ値キューが取得される。第1のルマ値キュー内のルマサンプルの数が偶数である場合、第1のルマ値キューの前半部分のルマ値が決定されて第1のルマセットにグループ化され得るとともに、さらに、第1のルマ値キューの後半部分のルマ値が決定されて第2のルマセットにグループ化され得る。あるいは、取得されたルマ値が降順に並べ替えられて、第2のルマ値キューが取得される。第2のルマ値キュー内のルマサンプルの数が偶数である場合、第2のルマ値キューの後半部分のルマ値が決定されて第1のルマセットにグループ化され得るとともに、さらに、第2のルマ値キューの前半部分のルマ値が決定されて第2のルマセットにグループ化され得る。
【0033】
斯くして、符号化性能を低下させることなく、クロマブロック予測速度を高めることができる。
【0034】
取り得る一実装において、前記第1のルマセット内の前記ルマ値の平均値、前記第2のルマセット内の前記ルマ値の平均値、前記第1のクロマセット内の前記クロマ値の平均値、及び前記第2のクロマセット内の前記クロマ値の平均値に基づいて、前記クロマブロックに対応する線形モデルにおけるスケーリング係数を前記決定することは、α=(CLmean-CRmean)/(LLmean-LRmean)であることを含み、ここで、αは、前記クロマブロックに対応する前記線形モデルにおける前記スケーリング係数であり、CLmeanは、前記第1のクロマセット内の前記クロマ値の前記平均値であり、CRmeanは、前記第2のクロマセット内の前記クロマ値の前記平均値であり、LLmeanは、前記第1のルマセット内の前記ルマ値の前記平均値であり、LRmeanは、前記第2のルマセット内の前記ルマ値の前記平均値である。
【0035】
取り得る一実装において、前記スケーリング係数に基づいて、前記クロマブロックに対応する前記線形モデルにおけるオフセットファクタを前記決定することは、前記スケーリング係数、前記第1のクロマセット内の前記クロマ値の前記平均値、及び前記第1のルマセット内の前記ルマ値の前記平均値に基づいて、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタを決定する、ことを含む。
【0036】
この出願のこの実施形態に示されるソリューションでは、第1のクロマセット内のクロマ値の平均値が決定され得るとともに、第1のルマセット内のルマ値の平均値が決定され得る。そして、スケーリング係数と、第1のクロマセット内のクロマ値の平均値と、第1のルマセット内のルマ値の平均値とに基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタが決定される。
【0037】
取り得る一実装において、前記スケーリング係数、前記第1のクロマセット内の前記クロマ値の前記平均値、及び前記第1のルマセット内の前記ルマ値の前記平均値に基づいて、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタを前記決定することは、β=CLmean-α*LLmeanであることを含み、ここで、αは、前記スケーリング係数であり、βは、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタであり、CLmeanは、前記第1のクロマセット内の前記クロマ値の前記平均値であり、LLmeanは、前記第1のルマセット内の前記ルマ値の前記平均値である。
【0038】
取り得る一実装において、前記スケーリング係数に基づいて、前記クロマブロックに対応する前記線形モデルにおけるオフセットファクタを前記決定することは、前記スケーリング係数、前記プリセット位置の前記クロマサンプルの前記クロマ値の平均値、及び前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値の前記平均値に基づいて、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタを決定する、ことを含む。
【0039】
この出願のこの実施形態に示されるソリューションでは、取得された全てのクロマ値の平均値が決定され得るとともに、取得された全てのルマ値の平均値が決定され得る。そして、スケーリング係数と、全てのクロマ値の平均値と、全てのルマ値の平均値とに基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタが決定される。
【0040】
取り得る一実装において、前記スケーリング係数、前記プリセット位置の前記クロマサンプルの前記クロマ値の平均値、及び前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値の前記平均値に基づいて、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタを前記決定することは、β=Cmean-α*Lmeanであることを含み、ここで、αは、前記スケーリング係数であり、βは、前記クロマブロックに対応する前記線形モデルにおける前記オフセットファクタであり、Cmeanは、前記プリセット位置の前記クロマサンプルの前記クロマ値の前記平均値であり、Lmeanは、前記プリセット位置の前記クロマサンプルに対応する前記ルマサンプルの前記ルマ値の前記平均値である。
【0041】
第2の態様によれば、クロマブロック予測装置が提供される。当該予測装置は、プロセッサ及びメモリを含み、前記メモリは、プロセッサ実行可能命令を格納するように構成され、前記プロセッサは、前記命令を実行することによって、第1の態様で提供されるクロマブロック予測方法を実行する。
【0042】
第3の態様によれば、クロマブロック予測装置が提供される。当該装置は、第1の態様で提供されるクロマブロック予測方法を実装するように構成された1つ以上のモジュールを含む。
【0043】
第4の態様によれば、コンピュータ読み取り可能記憶媒体が提供される。当該コンピュータ読み取り可能記憶媒体は命令を格納しており、当該コンピュータ読み取り可能記憶媒体がコンピューティング装置上で実行されるとき、第1の態様で提供されるクロマブロック予測方法を前記コンピューティング装置が実行することが可能にされる。
【0044】
第5の態様によれば、命令を含むコンピュータプログラムプロダクトが提供される。当該コンピュータプログラムプロダクトがコンピューティング装置上で実行されるとき、第1の態様で提供されるクロマブロック予測方法を前記コンピューティング装置が実行することが可能にされる。
【0045】
この出願の実施形態で提供される技術的ソリューションによってもたらされる有益な効果は、少なくとも次のものを含む。
【0046】
この出願の実施形態では、符号化又は復号の間に、プリセット位置のクロマサンプルのクロマ値が、クロマブロックの隣接サンプルから取得され得る。次いで、クロマブロックに対応するルマブロックの隣接サンプルから、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値が取得され、取得されたルマ値が、第1のルマセットと第2のルマセットとに分類され、ルマ値の分類に基づいて、対応してクロマ値が第1のクロマセットと第2のクロマセットとに分類される。次に、第1のルマセット内のルマ値の平均値、第2のルマセット内のルマ値の平均値、第1のクロマセット内のクロマ値の平均値、及び第2のクロマセット内のクロマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数が決定されることができ、そして、スケーリング係数が決定された後に、スケーリング係数に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタが決定され得る。最後に、スケーリング係数と、オフセットファクタと、クロマブロックに対応するルマ再構成情報とに基づいて、クロマブロックの予測情報が決定される。斯くして、符号化又は復号において、プリセット数のクロマ値が選択され、次いで、2つのクロマセットに分類されるとともに、プリセット数のルマ値が選択され、次いで、2つのルマセットに分類される。各ルマセット内のルマ値の平均値と各クロマセット内のクロマ値の平均値とに基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数が決定され、そして更に、オフセットファクタが決定される。より少量の乗算のみを必要とするので、符号化時間及び復号時間を短縮することができる。
【図面の簡単な説明】
【0047】
【
図1】この出願の一実施形態を実装する映像符号化システムの一例を示すブロック図である。
【
図2】
図3のエンコーダ20及び
図4のデコーダ30のうちのいずれか1つ又は2つを含む映像コーディングシステムの一例のブロック図である。
【
図3】この出願の一実施形態を実装するビデオエンコーダの構成例を示すブロック図である。
【
図4】この出願の一実施形態を実装するビデオデコーダの構成例を示すブロック図である。
【
図5】符号化装置又は復号装置の一例を示すブロック図である。
【
図6】他の符号化装置又は他の復号装置の一例を示すブロック図である。
【
図7】YUVフォーマットにおけるサンプリンググリッドの一例を示している。
【
図8】クロスコンポーネント予測モードの一実施形態を示している。
【
図11】クロマブロック予測方法の概略フローチャートである。
【
図13】プリセット位置のクロマサンプルの概略図である。
【
図14(a)】
図14(a)及び
図14(b)は、プリセット位置のクロマサンプルの概略図である。
【
図14(b)】
図14(a)及び
図14(b)は、プリセット位置のクロマサンプルの概略図である。
【
図15(a)】
図15(a)及び
図15(b)は、プリセット位置のクロマサンプルの概略図である。
【
図15(b)】
図15(a)及び
図15(b)は、プリセット位置のクロマサンプルの概略図である。
【
図16(a)】
図16(a)-
図16(d)は、プリセット位置のクロマサンプルの概略図である。
【
図16(b)】
図16(a)-
図16(d)は、プリセット位置のクロマサンプルの概略図である。
【
図16(c)】
図16(a)-
図16(d)は、プリセット位置のクロマサンプルの概略図である。
【
図16(d)】
図16(a)-
図16(d)は、プリセット位置のクロマサンプルの概略図である。
【
図17】クロマブロック予測装置の概略構成図である。
【発明を実施するための形態】
【0048】
この出願の目的、技術的ソリューション、及び利点をいっそう明瞭にするために、以下にて更に、添付の図面を参照して、この出願の実装を詳細に説明する。
【0049】
この出願の理解を容易にするために、以下にて先ず、システムアーキテクチャ及びこの出願の用語の概念を説明する。
【0050】
映像コーディングは、通常、映像又は映像シーケンスを形成する一連のピクチャを処理する。映像符号化の分野において、用語“ピクチャ(picture)”、“フレーム(frame)”及び“画像(image)”は、同義語として使用され得る。この出願(又はこの開示)で使用される映像コーディングは、映像符号化又は映像復号を指し示す。映像符号化は、ソース側で実行され、通常、原映像ピクチャを(例えば、圧縮を通じて)処理して、(より効率的な保管及び/又は伝送のために)映像ピクチャを表すのに必要なデータの量を減らすことを含む。映像復号は、デスティネーション側で実行され、通常、映像ピクチャを再構成するために、エンコーダに対して逆の処理を含む。実施形態における映像ピクチャの“符号化”は、映像シーケンスに関する“符号化”又は“復号”として理解されるべきである。符号化と復号との組み合わせを、コーディング(符号化及び復号)とも称する。
【0051】
映像シーケンス内の各ピクチャは、通常、一組の重なり合わないブロックに分割され、コーディングは通常、ブロックレベルで実行される。具体的には、エンコーダ側で、通常、映像がブロック(これはピクチャブロック又は映像ブロックとも称される)レベルで処理され、すなわち、符号化される。例えば、空間(イントラピクチャ)予測及び時間(インターピクチャ)予測を通じて予測ブロックが生成され、該予測ブロックが現在ブロック(処理中又は処理対象のブロック)から差し引かれることで残差ブロックが得られ、残差ブロックが変換ドメインで変換され量子化されて、伝送(圧縮)されることになるデータの量が減少する。デコーダ側で、符号化された又は圧縮されたブロックに、エンコーダに対して逆の処理が適用されて、表現のために現在ブロックが再構成される。さらに、エンコーダは、後続ブロックを処理すなわち符号化するためにエンコーダとデコーダとが同じ予測(例えば、イントラ予測及びインター予測)及び/又は再構成を生成するよう、デコーダの処理ループを複製する。
【0052】
用語“ブロック”は、ピクチャ又はフレームの一部であるとし得る。この出願においてキーとなる用語は、以下のように定義される。
【0053】
現在ブロック: 現在ブロックは処理中のブロックである。例えば、符号化において、現在ブロックは符号化中のブロックであり、復号において、現在ブロックは復号中のブロックである。処理中のブロックがクロマコンポーネントブロックである場合、そのブロックは現在クロマブロックと呼ばれる。現在クロマブロックに対応するルマブロックが現在ルマブロックと呼ばれ得る。
【0054】
参照ブロック: 参照ブロックは、現在ブロックに対する参照信号を提供するブロックである。探索プロセスにおいて、最適な参照ブロックを発見するために複数の参照ブロックが検討され得る。
【0055】
予測ブロック: 現在ブロックに対する予測を提供するブロックが予測ブロックと呼ばれる。例えば、複数の参照ブロックが検討された後、最適な参照ブロックが発見される。その最適な参照ブロックは、現在ブロックに対する予測を提供し、そのブロックは予測ブロックと呼ばれる。
【0056】
ピクチャブロック信号: ピクチャブロック信号は、ピクチャブロック内のサンプル値、サンプリング値、又はサンプリング信号である。
【0057】
予測信号: 予測ブロック内のサンプル値、サンプリング値、又はサンプリング信号が予測信号と呼ばれる。
【0058】
以下、
図1及び
図2から
図4に基づいて、エンコーダ20、デコーダ30、及び符号化システム10の実施形態を説明する。
【0059】
図1は、例えばこの出願(この開示)の技術を使用し得る映像符号化システム10といった、符号化システム10の一例を示す概念的又は概略的なブロック図である。映像符号化システム10内のエンコーダ20(例えば、ビデオエンコーダ20)及びデコーダ30(例えば、ビデオデコーダ30)は、この出願に記載される様々な例に従ってイントラ予測を実行するように構成され得るデバイス例を表す。
図1に示すように、符号化システム10は、例えば符号化ピクチャ13などの符号化データ13を、当該符号化データ13を復号するためのデスティネーション装置14などに提供するように構成されたソース装置12を含む。
【0060】
ソース装置12は、エンコーダ20を含み、追加で又はオプションで、ピクチャ源16、例えば、ピクチャ前処理ユニット18などの前処理ユニット18、及び通信インタフェース若しくは通信ユニット22を含み得る。
【0061】
ピクチャ源16は、実世界のピクチャ及びそれに類するものをキャプチャするように構成された任意のタイプのピクチャキャプチャデバイス、及び/又は、例えばコンピュータアニメーションピクチャを生成するように構成されたコンピュータグラフィックス処理ユニットといった、ピクチャ若しくはコメント(スクリーンコンテンツ符号化のためのものであり、スクリーン上の一部のテキストも符号化対象ピクチャ若しくはピクチャの一部と考えられる)を生成する任意のタイプのデバイス、又は、実世界のピクチャ若しくはコンピュータアニメーションピクチャ(例えば、スクリーンコンテンツ若しくは仮想現実(virtual reality、VR)ピクチャ)及び/又はこれらの任意の組み合わせ(例えば、拡張現実(augmented reality、AR)ピクチャ)を取得及び/又は提供するように構成された任意のタイプのデバイスを含むことができ、あるいは、それであることができる。
【0062】
ピクチャは、ルマ値を持つサンプルの二次元アレイ又はマトリクスとみなされ得る。アレイ内のサンプルは、ピクセル(pixel)(ピクチャエレメント(picture element)の短縮形)又はペル(pel)とも称され得る。アレイ又はピクチャの水平及び垂直方向(又は軸)のサンプルの数が、ピクチャのサイズ及び/又は解像度を定める。色の表現のため、通常、3つの色コンポーネントが使用され、すなわち、ピクチャは、3つのサンプルアレイとして表現されることができ、あるいは、それらを含むことができる。RBGフォーマット又は色空間では、ピクチャは対応する赤、緑、及び青のサンプルアレイを含む。しかしながら、映像コーディングにおいて、各サンプルは、通常、ルミナンス/クロミナンスフォーマット又は色空間で表現され、例えば、YCbCrフォーマットの画像は、Yによって示されるルミナンスコンポーネント(Lによって示されるときもある)と、Cb及びCrによって示される2つのクロミナンスコンポーネントとを含む。ルミナンス(略してルマ)コンポーネントYは、輝度又はグレーレベル強度(例えば、グレースケールピクチャではこれら2つは同じである)を示し、2つのクロミナンス(略してクロマ)コンポーネントCb及びCrは、色度又は色情報の成分を表す。従って、YCbCrフォーマットのピクチャは、ルミナンスサンプル値(Y)のルミナンスサンプルアレイと、クロミナンス値(Cb及びCr)の2つのクロミナンスサンプルアレイとを含む。RGBフォーマットのピクチャがYCbCrフォーマットのピクチャに変換されることがあり、その逆もまた然りである。このプロセスは色変換(color transformation又はcolor conversion)とも呼ばれる。ピクチャがモノクロである場合、そのピクチャはルミナンスサンプルアレイのみを含み得る。
【0063】
ピクチャ源16(例えば、映像源16)は、例えば、ピクチャをキャプチャするように構成されたカメラ、例えば、以前にキャプチャ若しくは生成されたピクチャを含む又は格納するものであるピクチャメモリなどのメモリ、及び/又は、ピクチャを取得若しくは受信するための任意のタイプの(内部若しくは外部)インタフェースとし得る。カメラは、例えば、ローカルカメラ、又はソース装置に一体化された集積カメラとすることができ、メモリは、ローカルメモリ、又はソース装置に一体化された集積メモリとすることができる。インタフェースは、例えば、外部の映像源からピクチャを受信するための外部インタフェースとし得る。外部の映像源は、例えば、カメラなどの外部のピクチャキャプチャ装置、外部メモリ、又は外部のピクチャ生成装置である。外部のピクチャ生成装置は、例えば、外部のコンピュータグラフィックス処理ユニット、コンピュータ、又はサーバである。インタフェースは、例えば有線若しくは無線インタフェース又は光インタフェースといった、任意の独自の又は標準化されたインタフェースプロトコルに従った任意のタイプのインタフェースとし得る。ピクチャデータ17を取得するためのインタフェースは、通信インタフェース22と同じインタフェースであってもよいし、あるいは、通信インタフェース22の一部であってもよい。
【0064】
前処理ユニット18とも、前処理ユニット18によって実行される処理とも異なり、ピクチャ17又はピクチャデータ17(例えば、映像データ16)は、原ピクチャ17又は原ピクチャデータ17とも称され得る。
【0065】
前処理ユニット18は、(原)ピクチャデータ17を受信してピクチャデータ17に対して前処理を行うことで、前処理されたピクチャ19又は前処理されたピクチャデータ19を得るように構成される。例えば、前処理ユニット18によって実行される前処理は、トリミング、カラーフォーマット変換(例えば、RGBからYCbCrへ)、色補正、又はノイズ低減を含み得る。理解され得ることには、前処理ユニット18はオプションのコンポーネントとし得る。
【0066】
エンコーダ20(例えば、ビデオエンコーダ20)は、前処理されたピクチャデータ19を受信し、符号化ピクチャデータ21を提供するように構成される(詳細は、例えば
図3又は
図5に基づいて、さらに後述する)。一例において、エンコーダ20は、以下の実施形態1乃至7を実行するように構成され得る。
【0067】
ソース装置12の通信インタフェース22は、符号化ピクチャデータ21を受信し、符号化ピクチャデータ21を、保管又は直接的な再構成のために、例えばデスティネーション装置14又は何らかの他の装置といった別装置に送信するように構成されることができ、又は、対応して符号化データ13を格納する及び/又は符号化データ13を別装置に送信する前に、符号化ピクチャデータ21を処理するように構成されることができる。別装置は、例えば、デスティネーション装置14又は復号若しくは保管のために使用される任意の他の装置である。
【0068】
デスティネーション装置14は、デコーダ30(例えば、ビデオデコーダ30)を含み、追加で又はオプションで、通信インタフェース若しくは通信ユニット28、後処理ユニット32、及び表示デバイス34を含み得る。
【0069】
例えば、デスティネーション装置14の通信インタフェース28は、符号化ピクチャデータ21又は符号化データ13を、ソース装置12又は任意の他のソースから直接受信するように構成される。任意の他のソースは、例えば、ストレージ装置であり、ストレージ装置は、例えば、符号化ピクチャデータストレージ装置である。
【0070】
通信インタフェース22及び通信インタフェース28は、ソース装置12とデスティネーション装置14との間の直接的な通信リンク上で、又は任意のタイプのネットワーク上で、符号化ピクチャデータ21又は符号化データ13を送信又は受信するように構成され得る。直接的な通信リンクは、例えば、直接有線又は無線接続であり、任意のタイプのネットワークは、例えば、有線若しくは無線ネットワーク又はこれらの任意の組み合わせ、又は任意のタイプの私設ネットワーク若しくは公衆ネットワーク又はこれらの任意の組み合わせである。
【0071】
通信インタフェース22は、例えば、符号化ピクチャデータ21を、通信リンク又は通信ネットワーク上で伝送するために、例えばパケットなどの適切なフォーマットにカプセル化するように構成され得る。
【0072】
通信インタフェース22の対応部分としての通信インタフェース28は、符号化データ13のカプセル化を解いて、符号化ピクチャデータ21を得るなどするように構成され得る。
【0073】
通信インタフェース22及び通信インタフェース28の両方は、一方向通信インタフェースとして構成されてもよく、例えば、ソース装置12からデスティネーション装置14を指す矢印が、
図1の符号化ピクチャデータ13に使用され、あるいは、双方向通信インタフェースとして構成されてもよく、例えば、接続を確立するためにメッセージを送受信するとともに、通信リンク及び/又は例えば符号化ピクチャデータ伝送などのデータ伝送に関係する他の情報を確認及び交換するように構成されてもよい。
【0074】
デコーダ30は、符号化ピクチャデータ21を受信し、復号ピクチャデータ31又は復号ピクチャ31を提供するように構成される(詳細は、例えば
図4又は
図6に基づいて、さらに後述する)。一例において、デコーダ30は、以下の実施形態1乃至7を実行するように構成され得る。
【0075】
デスティネーション装置14の後処理ユニット32は、例えば復号ピクチャ131などの復号ピクチャデータ31(再構成ピクチャデータとも称される)を後処理して、例えば後処理されたピクチャ33などの後処理されたピクチャデータ33を得るように構成される。後処理ユニット32によって実行される後処理は、例えば、カラーフォーマット変換(例えば、YCbCrからRGBへ)、色補正、トリミング、再サンプリング、又は表示デバイス34による表示のために復号ピクチャデータ31を準備するための何らかの他の処理を含み得る。
【0076】
デスティネーション装置14の表示デバイス34は、後処理されたピクチャデータ33を受信して、ピクチャをユーザ、視聴者、又はこれらに類するものに表示するように構成される。表示デバイス34は、例えば一体化された又は外付けのディスプレイ又はモニタなど、再構成ピクチャを提示するように構成された任意のタイプのディスプレイとすることができ、あるいは、それを含むことができる。例えば、ディスプレイは、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶・オン・シリコン(liquid crystal on silicon、LCoS)ディスプレイ、デジタル光プロセッサ(digital light processor、DLP)、又は任意の他のタイプのディスプレイを含み得る。
【0077】
図1は、ソース装置12及びデスティネーション装置14を別々の装置として描いているが、装置実施形態はまた、ソース装置12及びデスティネーション装置14の両方、又はソース装置12の機能及びデスティネーション装置14の機能の両方、すなわち、ソース装置12若しくは対応する機能、及びデスティネーション装置14若しくは対応する機能の両方を含んでもよい。そのような実施形態において、ソース装置12若しくは対応する機能、及びデスティネーション装置14若しくは対応する機能は、同一のハードウェア及び/又はソフトウェアを用いて実装されてもよいし、別々のハードウェア及び/又はソフトウェアを用いて実装されてもよいし、あるいは、これらの何らかの組み合わせを用いて実装されてもよい。
【0078】
これらの説明に基づき当業者が容易に理解することには、
図1に示したソース装置12及び/又はデスティネーション装置14の複数/1つの機能又は異なるユニットの機能の存在及び(正確な)分割は、実際の装置及び用途によって変わり得る。
【0079】
エンコーダ20(例えば、ビデオエンコーダ20)及びデコーダ30(例えば、ビデオデコーダ30)は各々、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、ディスクリートロジック、ハードウェア、又はこれらの任意の組み合わせといった、様々な適切な回路のうちのいずれか1つとして実装され得る。技術が部分的にソフトウェアで実装される場合、装置は、ソフトウェア命令を適切な非一時的コンピュータ読み取り可能記憶媒体に格納し得るとともに、1つ以上のプロセッサを用いてハードウェアで該命令を実行することで、この開示における技術を実行し得る。上述の内容(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせ、及びこれらに類するものを含む)のいずれも、1つ以上のプロセッサとしてみなされてもよい。ビデオエンコーダ20及びビデオデコーダ30は各々、1つ以上のエンコーダ又はデコーダに含められてもよく、また、該エンコーダ又はデコーダのいずれか1つが、対応する装置における結合されたエンコーダ/デコーダ(コーデック)の一部として統合されてもよい。
【0080】
ソース装置12は、映像符号化装置又は映像符号化機器と称され得る。デスティネーション装置14は、映像復号装置又は映像復号機器と称され得る。ソース装置12及びデスティネーション装置14は各々、映像符号化装置又は映像復号機器の一例とし得る。
【0081】
ソース装置12及びデスティネーション装置14は各々、例えば、ノートブック若しくはラップトップコンピュータ、携帯電話、スマートフォン、タブレット若しくはタブレットコンピュータ、ビデオカメラ、デスクトップコンピュータ、セットトップボックス、テレビジョン、ディスプレイ装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング伝送装置(例えばコンテンツサービスサーバ又はコンテンツ配信サーバなど)、放送受信器装置、又は放送送信器装置といった、任意のタイプの手持ち式装置又は固定装置を含む様々な装置のうちのいずれか1つを含むことができ、また、何らかのタイプのオペレーティングシステムを使用してもよいし使用しなくてもよい。
【0082】
一部のケースにおいて、ソース装置12及びデスティネーション装置14は、無線通信用に備えられ得る。従って、ソース装置12及びデスティネーション装置14は無線通信装置とし得る。
【0083】
一部のケースにおいて、
図1に示した映像符号化システム10は単なる一例に過ぎず、この出願における技術は、符号化装置と復号装置との間に如何なるデータ通信も含む必要がない映像符号化設定(例えば、映像符号化又は映像復号)に適用されてもよい。他の例において、データは、ローカルメモリから取り出されたり、ネットワーク上でストリーミングされたり、などされることができる。映像符号化装置は、データを符号化して該データをメモリに格納することができ、及び/又は映像復号装置は、メモリからデータを取り出して該データを復号することができる。一部の例において、符号化及び復号は、互いに通信せずに、ただ、メモリにデータをエンコードし及び/又はメモリから該データを取り出して該データを復号するだけの装置によって実行される。
【0084】
理解されるべきことには、ビデオエンコーダ20を参照して説明した上述の例の各々に対し、ビデオデコーダ30は、逆のプロセスを実行するように構成され得る。シグナリング構文要素について、ビデオデコーダ30は、構文要素を受信して解析し、それに従って関連する映像データを復号するように構成され得る。一部の例において、ビデオエンコーダ20は、構文要素を符号化映像ビットストリーム内にエントロピー符号化し得る。そのような例において、ビデオデコーダ30は、構文要素を解析し、それに従って関連する映像データを復号し得る。
【0085】
図2は、一実施形態例に従った、
図3のエンコーダ20及び/又は
図4のデコーダ30を含む映像コーディングシステム40の一例を示す図である。システム40は、この出願の様々な技術の組み合わせを実装し得る。図示した実装において、映像コーディングシステム40は、撮像デバイス41、ビデオエンコーダ20、ビデオデコーダ30(及び/又は、処理ユニット46の論理回路47によって実装されるビデオデコーダ)、アンテナ42、1つ以上のプロセッサ43、1つ以上のメモリ44、及び/又は表示デバイス45を含み得る。
【0086】
図2に示すように、撮像デバイス41、アンテナ42、処理ユニット46、論理回路47、ビデオエンコーダ20、ビデオデコーダ30、プロセッサ43、メモリ44、及び/又は表示デバイス45は、互いに通信することができる。説明するように、映像コーディングシステム40は、ビデオエンコーダ20及びビデオデコーダ30の両方を有して示されているが、異なる例では、映像コーディングシステム40は、ビデオエンコーダ20のみ又はビデオデコーダ30のみを含んでいてもよい。
【0087】
一部の例において、
図2に示すように、映像コーディングシステム40はアンテナ42を含み得る。例えば、アンテナ42は、映像データの符号化ビットストリームを送信又は受信するように構成され得る。さらに、一部の例において、映像コーディングシステム40は表示デバイス45を含み得る。表示デバイス45は、映像データを提示するように構成され得る。一部の例において、
図2に示すように、論理回路47は、処理ユニット46によって実装され得る。処理ユニット46は、特定用途向け集積回路(application-specific integrated circuit、ASIC)ロジック、グラフィックス処理ユニット、汎用プロセッサ、又はこれらに類するものを含み得る。映像コーディングシステム40はまた、オプションのプロセッサ43を含み得る。オプションのプロセッサ43は、同様に、特定用途向け集積回路ロジック、グラフィックス処理ユニット、汎用プロセッサ、又はこれらに類するものを含み得る。一部の例において、論理回路47は、例えば映像符号化専用ハードウェアなどのハードウェアによって実装されてもよく、また、プロセッサ43は、ユニバーサルソフトウェア、オペレーティングシステム、又はこれらに類するものによって実装されてもよい。さらに、メモリ44は、例えば、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)若しくはダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM))又は不揮発性メモリ(例えば、フラッシュメモリ)といった、任意のタイプのメモリとし得る。非限定的な一例において、メモリ44は、キャッシュメモリによって実装され得る。一部の例において、論理回路47は、メモリ44にアクセスし得る(例えば、ピクチャバッファを実装するために)。他の例において、論理回路47及び/又は処理ユニット46は、ピクチャバッファ又はそれに類するものを実装するためのメモリ(例えば、キャッシュ)を含んでいてもよい。
【0088】
一部の例において、論理回路によって実装されるビデオエンコーダ20は、ピクチャバッファ(例えば、処理ユニット46又はメモリ44によって実装される)及びグラフィックス処理ユニット(例えば、処理ユニット46によって実装される)を含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理ユニットは、
図2を参照して説明される様々なモジュール及び/又はこの明細書中で説明される何らかの他のエンコーダシステム若しくはサブシステムを実装するために、論理回路47によって実装されたビデオエンコーダ20を含み得る。論理回路は、この明細書中で説明される様々な動作を実行するように構成され得る。
【0089】
ビデオデコーダ30は、同様に、
図4のデコーダ30を参照して説明される様々なモジュール及び/又はこの明細書中で説明される何らかの他のデコーダシステム若しくはサブシステムを実装するよう、論理回路47によって実装され得る。一部の例において、論理回路によって実装されるビデオデコーダ30は、ピクチャバッファ(処理ユニット46又はメモリ44によって実装される)及びグラフィックス処理ユニット(例えば、処理ユニット46によって実装される)を含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理ユニットは、
図4を参照して説明される様々なモジュール及び/又はこの明細書中で説明される何らかの他のデコーダシステム若しくはサブシステムを実装するために、論理回路47によって実装されたビデオデコーダ30を含み得る。
【0090】
一部の例において、映像コーディングシステム40のアンテナ42は、映像データの符号化ビットストリームを受信するように構成され得る。説明するように、符号化ビットストリームは、例えば、符号化分割(例えば、変換係数又は量子化された変換係数、オプションのインジケータ(説明する)、及び/又は符号化分割を定めるデータ)に関係するデータといった、この明細書中で説明される映像フレーム符号化に関係するデータ、インジケータ、インデックス値、モード選択データ、又はこれらに類するものを含み得る。映像コーディングシステム40は更に、アンテナ42に結合され且つ符号化ビットストリームを復号するように構成されたビデオデコーダ30を含み得る。表示デバイス45は、映像フレームを提示するように構成される。
【0091】
エンコーダ&符号化方法
図3は、この出願(開示)における技術を実装するように構成されたビデオエンコーダ20の一例の概略的/概念的なブロック図である。
図3の例において、ビデオエンコーダ20は、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタユニット220、復号ピクチャバッファ(decoded picture buffer、DPB)230、予測処理ユニット260、及びエントロピー符号化ユニット270を含んでいる。予測処理ユニット260は、インター予測ユニット244、イントラ予測ユニット254、及びモード選択ユニット262を含み得る。インター予測ユニット244は、動き推定ユニット及び動き補償ユニット(図には示さず)を含み得る。
図3に示すビデオエンコーダ20は、ハイブリッドビデオエンコーダ又はハイブリッド映像コーデックベースのビデオエンコーダとも称され得る。
【0092】
例えば、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、予測処理ユニット260、及びエントロピー符号化ユニット270は、エンコーダ20の前方信号パスを形成し、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループフィルタ220、復号ピクチャバッファ230、予測処理ユニット260などは、エンコーダの後方信号パスを形成する。エンコーダの後方信号パスは、デコーダ(
図4のデコーダ30を参照)の信号パスに対応する。
【0093】
エンコーダ20は、例えば映像又は映像シーケンスを形成する一連のピクチャ内のピクチャといった、ピクチャ201、又はピクチャ201のブロック203を、入力202又はそれに類するものを用いることによって受信する。ピクチャブロック203は、現在ピクチャブロック又は符号化対象ピクチャブロックと呼ばれることもあり、ピクチャ201は、現在ピクチャ又は符号化対象ピクチャと呼ばれることもある(特に、現在ピクチャが映像コーディングにおける別のピクチャと区別される場合、例えば同一の映像シーケンス内のものである他のピクチャはまた、現在ピクチャの映像シーケンス内の以前に符号化及び/又は復号されたピクチャも含む)。
【0094】
分割
エンコーダ20の実施形態は、ピクチャ201を例えばブロック203などの複数の重なり合わないブロックに分割するように構成された分割ユニット(
図3には示さず)を含み得る。分割ユニットは、映像シーケンス内の全てのピクチャに対して同じブロックサイズと、該ブロックサイズを定める対応するラスタとを使用するように構成されてもよいし、あるいは、ピクチャ、サブセット、又はピクチャグループの間でブロックサイズを変化させて、各ピクチャを対応するブロックに分割するように構成されてもよい。
【0095】
一例において、ビデオエンコーダ20の予測処理ユニット260は、上述の分割技術の任意の組み合わせを実行するように構成され得る。
【0096】
例えば、ピクチャ201内で、ブロック203のサイズはピクチャ201のサイズより小さいものの、ブロック203も、ルミナンス値(サンプル値)を持つサンプルの二次元アレイ又はマトリクスであり、あるいは該二次元アレイ又はマトリクスとみなされることができる。換言すれば、ブロック203は、例えば、1つのサンプルアレイ(例えば、モノクロピクチャ201の場合のルミナンスアレイ)、3つのサンプルアレイ(例えば、カラーピクチャの場合の1つのルミナンスアレイと2つのクロミナンスアレイ)、又は、使用されるカラーフォーマットに基づく何らかの他の数及び/又はタイプのアレイを含み得る。ブロック203の水平及び垂直方向(又は軸)のサンプルの数が、ブロック203のサイズを定める。
【0097】
図3に示すエンコーダ20は、ピクチャ201をブロックごとに符号化するように構成され、例えば、各ブロック203に対して符号化及び予測を実行するように構成される。
【0098】
残差計算
残差計算ユニット204は、ピクチャブロック203及び予測ブロック265(予測ブロック265についての更なる詳細は後で提供する)に基づいて残差ブロック205を計算するように構成され、例えば、サンプルごとに(sample by sample)ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を差し引くことによって、サンプルドメインにおける残差ブロック205を得るように構成される。
【0099】
変換
変換処理ユニット206は、例えば離散コサイン変換(discrete cosine transform、DCT)又は離散サイン変換(discrete sine transform、DST)などの変換を残差ブロック205のサンプル値に適用して、変換ドメインにおける変換係数207を得るように構成される。変換係数207は、残差変換係数と呼ばれることもあり、変換ドメインにおける残差ブロック205を示す。
【0100】
変換処理ユニット206は、例えばHEVC/H.265で指定されている変換といった、DCT/DSTの整数近似を適用するように構成されてもよい。この整数近似は、通常、直交DCT変換と比較したファクタによって比例的にスケーリングされる。順変換及び逆変換を通じて得られる残差ブロックのノルムを維持するために、変換プロセスの一部として追加のスケールファクタが適用される。該スケールファクタは通常、例えば、2のべき乗であること、変換係数のビット深さ、又はシフト演算に使用される精度と実装コストとの間のトレードオフといった、何らかの制約条件に基づいて選択される。例えば、逆変換処理ユニット212を用いることによって、デコーダ30側での逆変換に対して(及び、それに対応して、逆変換処理ユニット212などを用いることによって、エンコーダ20側での逆変換に対して)、特定のスケールファクタが指定され、それに対応して、変換処理ユニット206を用いることによって、エンコーダ20側での順変換に対して、対応するスケールファクタが指定され得る。
【0101】
量子化
量子化ユニット208は、スケール量子化、ベクトル量子化、又はこれらに類するものを適用することによって変換係数207を量子化して、量子化された変換係数209を得るように構成される。量子化された変換係数209は、量子化された残差係数209と呼ばれることもある。量子化プロセスは、一部の又は全ての変換係数207に関するビット深さを減少させ得る。例えば、nはmより大きいとして、nビット変換係数が量子化においてmビット変換係数に切り捨てられ得る。量子化の度合いは、量子化パラメータ(quantization parameter、QP)を調整することによって変更され得る。例えば、スケール量子化では、より細かい又はより粗い量子化を達成するために複数の異なるスケールが適用され得る。より小さい量子化刻み(step)は、より細かい量子化に対応し、より大きい量子化刻みは、より粗い量子化に対応する。量子化パラメータを用いることによって、適切な量子化刻みが指し示されてもよい。例えば、量子化パラメータは、適切な量子化刻みの所定セットのインデックスであってもよい。例えば、より小さい量子化パラメータがより細かい量子化(より小さい量子化刻み)に対応するとともに、より大きい量子化パラメータがより粗い量子化(より大きい量子化刻み)に対応することができ、その逆もまた然りである。量子化は、量子化刻みによる除算と、対応する量子化又は逆量子化ユニット210などによって実行される逆量子化とを含むことができ、あるいは、量子化刻みによる乗算を含んでもよい。例えばHEVCなどの一部の標準に従った実施形態では、量子化パラメータを用いて量子化刻みを決定し得る。一般に、量子化刻みは、除算を含む式の不動点近似を介して量子化パラメータに基づいて計算され得る。残差ブロックのものであるノルムであって、量子化刻み及び量子化パラメータに用いられる式の不動点近似に使用されるスケールのために変更されることがあるノルム、を復元するために、更なるスケールファクタが量子化及び逆量子化に導入されてもよい。一実装例において、逆変換のスケールが逆量子化のスケールと結合されてもよい。あるいは、カスタマイズされた量子化テーブルを使用し、それをエンコーダからデコーダへ例えばビットストリーム内でシグナリングしてもよい。量子化は、損失を伴う演算であり、より大きい量子化刻みは、より大きい損失を示す。
【0102】
逆量子化ユニット210は、量子化された係数に量子化ユニット208の逆量子化を適用して、逆量子化された係数211を得るように構成され、例えば、量子化ユニット208と同じ量子化刻みに基づいて又はそれを用いて、量子化ユニット208によって適用される量子化スキームの逆量子化スキームを適用するように構成される。逆量子化された係数211は、逆量子化された残差係数211と呼ばれることもあり、変換係数207に対応し得るが、通常、量子化によって生じる損失が変換係数とは異なる。
【0103】
逆変換処理ユニット212は、例えば逆離散コサイン変換又は逆離散サイン変換といった、変換処理ユニット206によって適用される変換の逆変換を適用して、サンプルドメインにおける逆変換ブロック213を得るように構成される。逆変換ブロック213は、逆変換逆量子化ブロック213又は逆変換残差ブロック213と呼ばれることもある。
【0104】
再構成ユニット214(例えば、加算器214)は、例えば再構成残差ブロック213のサンプル値と予測ブロック265のサンプル値とを足し合わせることによって、逆変換ブロック213(すなわち、再構成残差ブロック213)を予測ブロック265に足し合わせて、サンプルドメインにおける再構成ブロック215を得るように構成される。
【0105】
オプションで、再構成ブロック215及び対応するイントラ予測などのサンプル値をバッファリング又は格納するように、例えばラインバッファ216などのバッファユニット216(又は略して“バッファ”216)が構成される。他の実施形態において、エンコーダは、例えばイントラ予測などの任意のタイプの推定及び/又は予測のためにバッファユニット216に格納された、フィルタリングされていない再構成ブロック及び/又は対応するサンプル値を使用するように構成されてもよい。
【0106】
例えば、エンコーダ20の実施形態は、バッファユニット216がイントラ予測のために再構成ブロック215を格納するように構成されるだけでなくループフィルタユニット220(
図3には示さず)のフィルタリングされたブロック221を格納するようにも構成されるように、及び/又はバッファユニット216及び復号ピクチャバッファユニット230が1つのバッファを形成するように、構成されてもよい。他の実施形態は、フィルタリングされたブロック221及び/又は復号ピクチャバッファ230からのブロック若しくはサンプル(
図3には示さず)を入力又はイントラ予測のための基礎として使用するように用いられてもよい。
【0107】
ループフィルタユニット220(又は略して“ループフィルタ”220)は、サンプル変換をスムーズに実行するように又は映像品質を向上させるように、再構成ブロック215に対してフィルタリングを実行して、フィルタリングされたブロック221を得るように構成される。ループフィルタユニット220は、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、又は例えばバイラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、鮮明化若しくは平滑化フィルタ、又はコオペラティブフィルタなどの他のフィルタといった、1つ以上のループフィルタを表すことを意図している。ループフィルタユニット220は、
図3ではインループフィルタとして示されているが、ループフィルタユニット220は、他の構成ではポストループフィルタとして実装されてもよい。フィルタリングされたブロック221は、フィルタリングされた再構成ブロック221と呼ばれることもある。ループフィルタユニット220が再構成符号化ブロックに対してフィルタリング処理を行った後、復号ピクチャバッファ230が再構成符号化ブロックを格納し得る。
【0108】
エンコーダ20(対応して、ループフィルタユニット220)の実施形態を用いて、ループフィルタパラメータ(例えば、サンプル適応オフセット情報)を出力することができ、例えば、ループフィルタパラメータを直接出力したり、あるいは、エントロピー符号化ユニット270又は何らかの他のエントロピー符号化ユニットがエントロピー符号化を実行した後にループフィルタパラメータを出力したりすることができ、それにより、デコーダ30が同じループフィルタパラメータを受信して復号に適用することなどを可能にし得る。
【0109】
復号ピクチャバッファ230は、ビデオエンコーダ20が映像データを符号化するための参照ピクチャデータを格納する参照ピクチャメモリとし得る。DPB230は、例えば、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)(同期DRAM(synchronous DRAM、SDRAM)、磁気抵抗RAM(magnetoresistive RAM、MRAM)、又は抵抗RAM(resistive RAM、RRAM)を含む)、又は他のタイプのメモリといった、複数のメモリのうちの任意の1つとし得る。DPB230及びバッファ216は、同一のメモリによって提供されてもよいし、別々のメモリによって提供されてもよい。一例において、復号ピクチャバッファ(decoded picture buffer、DPB)230は、フィルタリングされたブロック221を格納するように構成される。復号ピクチャバッファ230は更に、同じ現在ピクチャ又は例えば先行再構成ピクチャなどの異なるピクチャの、先行する再構成されてフィルタリングされたブロック221などの他の先行するフィルタリングされたブロックを格納するように構成されてもよく、また、インター予測などのために、先行する完全な再構成すなわち復号されたピクチャ(並びに対応する参照ブロック及び対応するサンプル)、及び/又は部分的に再構成された現在ピクチャ(並びに対応する参照ブロック及び対応するサンプル)を提供してもよい。一例において、再構成ブロック215がインループフィルタリングなしで再構成される場合、復号ピクチャバッファ230は、再構成ブロック215を格納するように構成される。
【0110】
予測処理ユニット260は、ブロック予測処理ユニット260とも称され、ブロック203(現在ピクチャ201の現在ブロック203)と、例えばバッファ216内の同じ(現在)ピクチャからの参照サンプル及び/又は復号ピクチャバッファ230内の1つ以上の先行復号ピクチャからの参照ピクチャデータ231といった再構成ピクチャデータとを受信又は取得し、そして、そのようなデータを予測のために処理する、すなわち、インター予測ブロック245又はイントラ予測ブロック255とし得る予測ブロック265を提供するように構成される。
【0111】
モード選択ユニット262は、残差ブロック205を計算して再構成ブロック215を再構成するために、予測モード(例えば、イントラ予測モード又はインター予測モード)及び/又は予測ブロック265としての対応する予測ブロック245又は255を選択するように構成され得る。
【0112】
モード選択ユニット262の実施形態を用いて、(例えば、予測処理ユニット260によってサポートされる予測モードから)予測モードを選択し得る。予測モードは、最良の一致又は最小の残差(最小の残差は伝送又は保管におけるいっそう良好な圧縮を意味する)を提供し、あるいは、最小のシグナリングオーバヘッド(最小のシグナリングオーバヘッドは伝送又は保管におけるいっそう良好な圧縮を意味する)を提供し、あるいは、これら2つを考慮したりバランスさせたりする。モード選択ユニット262は、レート歪み最適化(Rate Distortion Optimization、RDO)に基づいて予測モードを決定する、すなわち、最小のレート歪み最適化を提供する予測モードを選択する、あるいは、関連するレート歪みが少なくとも予測モード選択基準を満たす予測モードを選択する、ように構成され得る。
【0113】
エンコーダ20の一例によって実行される予測処理(例えば、予測処理ユニット260を用いることによる)及びモード選択(例えば、モード選択ユニット262を用いることによる)については詳細に後述する。
【0114】
上述のように、エンコーダ20は、(所定の)予測モードセットから最良又は最適な予測モードを決定又は選択するように構成される。予測モードセットは、例えば、イントラ予測モード及び/又はインター予測モードを含み得る。
【0115】
イントラ予測モードセットは、35個の異なるイントラ予測モードを含むことができ、あるいは、67個の異なるイントラ予測モードを含むことができ、あるいは、H.266に規定される開発中のイントラ予測モードを含むことができる。
【0116】
インター予測モードセットは、利用可能な参照ピクチャ(例えば、DBP230に格納された復号ピクチャの少なくとも一部)及び他のインター予測パラメータに依存し、例えば、参照ピクチャ全体が使用されるのか、それとも、例えば最良一致の参照ブロックについて現在ブロックの領域を取り囲む探索ウィンドウ領域が探索されるなど、参照ピクチャの一部のみが使用されるのかに依存し、且つ/或いは、例えば1/2サンプル及び/又は1/4サンプル補間などのサンプル補間が適用されるのかに依存する。
【0117】
上述の予測モードに加えて、スキップモード及び/又はダイレクトモードも適用され得る。
【0118】
予測処理ユニット260は更に、ブロック203を、例えば四分木(quad-tree、QT)分割、二分木(binary-tree、BT)分割、三分木(triple-tree、TT)分割、又はこれらの何らかの組み合わせを繰り返し用いることによって、より小さいブロックパーティション又はサブブロックに分割し、そして、ブロックパーティション又はサブブロックの各々に対して予測及びそれに類するものを実行するように構成され得る。モード選択は、分割されるブロック203のツリー構造を選択すること、及びブロックパーティション又はサブブロックの各々に適用される予測モードを選択することを含む。
【0119】
インター予測ユニット244は、動き推定(motion estimation、ME)ユニット(
図3には示さず)及び動き補償(motion compensation、MC)ユニット(
図3には示さず)を含み得る。動き推定ユニットは、動き推定を実行するために、ピクチャブロック203(現在ピクチャ201の現在ピクチャブロック203)と復号ピクチャ231、又は、例えば先行復号ピクチャ231とは異なる1つ以上の他の再構成ブロックといった少なくとも1つ以上の先行再構成ブロック、を受信又は取得するように構成される。例えば、映像シーケンスは、現在ピクチャ及び先行復号ピクチャ31を含み得る。換言すれば、現在ピクチャ及び先行復号ピクチャ31が、映像シーケンスを形成する、すなわち、ピクチャシーケンスを形成する一連のピクチャの一部であるとし得る。
【0120】
例えば、エンコーダ20は、複数の他のピクチャの中の同一ピクチャ又は複数の異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ及び/又は参照ブロックの位置(X-Y座標)と現在ブロックの位置との間のオフセット(空間オフセット)を、インター予測パラメータとして、動き推定ユニット(
図3には示さず)に提供するように構成され得る。このオフセットは、動きベクトル(motion vector、MV)とも呼ばれる。
【0121】
動き補償ユニットは、インター予測パラメータを例えば受信するなどして取得し、インター予測パラメータに基づいて又はそれを用いることによってインター予測を実行して、インター予測ブロック245を得るように構成される。動き補償ユニット(
図3には示さず)によって実行される動き補償は、動き推定を通じて決定された動き/ブロックベクトルに基づいて、予測ブロックをフェッチ又は生成することを含み得る(場合により、サブサンプル精度での補間を実行する)。補間フィルタリングにおいて、既知のサンプルから追加サンプルを生成することができ、それにより、ピクチャブロックを符号化するのに使用され得る候補予測ブロックの数を増やせる可能性がある。現在ピクチャブロックのPUに使用される動きベクトルを受信すると、動き補償ユニット246は、動きベクトルが指す予測ブロックを参照ピクチャリスト内で位置特定し得る。動き補償ユニット246は更に、ブロック及び映像スライスに関連する構文要素を生成することができ、ビデオデコーダ30が映像スライスのピクチャブロックを復号するときに該構文要素を使用するようにし得る。
【0122】
イントラ予測ユニット254は、イントラ推定を実行するために、同じピクチャのピクチャブロック203(現在ピクチャブロック)と、例えば再構成された隣接ブロックなどの1つ以上の先行再構成ブロックとを、例えば受信するなどして取得するように構成される。例えば、エンコーダ20は、複数のイントラ予測モードからイントラ予測モードを選択するように構成され得る。
【0123】
エンコーダ20の実施形態は、例えば最小残差(例えば、現在ピクチャブロック203に最も類似する予測ブロック255を提供するイントラ予測モード)又は最小レート歪みに基づいてなど、最適化基準に基づいてイントラ予測モードを選択するように構成され得る。
【0124】
イントラ予測ユニット254は更に、選択されたイントラ予測モードのイントラ予測パラメータに基づいてイントラ予測ブロック255を決定するように構成される。いずれにしても、ブロックに使用されるイントラ予測モードを選択した後、イントラ予測ユニット254は更に、エントロピー符号化ユニット270にイントラ予測パラメータを提供する、すなわち、ブロックに使用される選択されたイントラ予測モードを指し示す情報を提供するように構成される。一例において、イントラ予測ユニット254は、以下のイントラ予測技術の何らかの組み合わせを実行するように構成され得る。
【0125】
エントロピー符号化ユニット270は、量子化された残差係数209、インター予測パラメータ、イントラ予測パラメータ、及び/又はループフィルタパラメータのうちの1つ以上(又は無し)に対して、エントロピー符号化アルゴリズム又はスキーム(例えば、可変長符号化(variable length coding、VLC)スキーム、コンテキスト適応VLC(context adaptive VLC、CAVLC)スキーム、算術符号化スキーム、コンテキスト適応バイナリ算術符号化(context adaptive binary arithmetic coding、CABAC)スキーム、構文スベースコンテキスト適応バイナリ算術符号化(syntax-based context-adaptive binary arithmetic coding、SBAC)スキーム、確率インターバルパーティショニングエントロピー(probability interval partitioning entropy、PIPE)符号化スキーム、又は他のエントロピー符号化方法若しくは技術)を適用して、出力272を用いて出力されることができる符号化ピクチャデータ21を例えば符号化ビットストリームの形態で得るように構成される。符号化ビットストリームは、ビデオデコーダ30に送信されてもよいし、あるいは、後の送信又はビデオデコーダ30による取り出しのためにアーカイブされてもよい。エントロピー符号化ユニット270は更に、符号化中の現在映像スライスの別の構文要素に対してエントロピー符号化を実行するように構成されてもよい。
【0126】
映像ストリームを符号化するために、構造的に少し異なる別のビデオエンコーダ20が構成されてもよい。例えば、非変換ベースのエンコーダ20は、一部のブロック又はフレームに対して、変換処理ユニット206を用いずに直接的に残差信号を量子化し得る。他の一実装において、エンコーダ20は、1つのユニットに結合された量子化ユニット208及び逆量子化ユニット210を有していてもよい。
【0127】
図4は、この出願における技術を実装するように構成されたビデオデコーダ30の一例を示している。ビデオデコーダ30は、エンコーダ20又はそれに類するものによって符号化された符号化ピクチャデータ(例えば、符号化ビットストリーム)21を受信して、復号ピクチャ31を得るように構成される。復号プロセスにおいて、ビデオデコーダ30は、ビデオエンコーダ20から、例えば符号化映像スライスのピクチャブロック及び関連する構文要素を示す符号化映像ビットストリームといった、映像データを受信する。
【0128】
図4の例において、デコーダ30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、加算器314)、バッファ316、ループフィルタ320、復号ピクチャバッファ330、及び予測処理ユニット360を含んでいる。予測処理ユニット360は、インター予測ユニット344、イントラ予測ユニット354、及びモード選択ユニット362を含み得る。一部の例において、ビデオデコーダ30は、
図3のビデオエンコーダ20を参照して説明した符号化計算に対して概して逆の復号計算を実行し得る。
【0129】
エントロピー復号ユニット304は、符号化ピクチャデータ21に対してエントロピー復号を実行して、量子化された係数309、復号された符号化パラメータ(
図4には示さず)、及び/又はこれらに類するもの、例えば、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、及び/又は他の(復号された)構文要素のうちのいずれか1つ又は全てを得るように構成される。エントロピー復号ユニット304は更に、インター予測パラメータ、イントラ予測パラメータ、及び/又は他の構文要素を、予測処理ユニット360に転送するように構成される。ビデオデコーダ30は、映像スライスレベルの構文要素及び/又は映像ブロックレベルの構文要素を受信し得る。
【0130】
逆量子化ユニット310は、逆量子化ユニット110と同じ機能を持つことができ、逆変換処理ユニット312は、逆変換処理ユニット212と同じ機能を持つことができ、再構成ユニット314は、再構成ユニット214と同じ機能を持つことができ、バッファ316は、バッファ216と同じ機能を持つことができ、ループフィルタ320は、ループフィルタ220と同じ機能を持つことができ、そして、復号ピクチャバッファ330は、復号ピクチャバッファ230と同じ機能を持つことができる。
【0131】
予測処理ユニット360は、インター予測ユニット344及びイントラ予測ユニット354を含み得る。インター予測ユニット344は、インター予測ユニット244の機能と同様の機能を持つことができ、イントラ予測ユニット354は、イントラ予測ユニット254の機能と同様の機能を持つことができる。予測処理ユニット360は、通常、ブロック予測を実行する及び/又は符号化データ21から予測ブロック365を取得するとともに、例えばエントロピー復号ユニット304から、予測関連パラメータ及び/又は選択された予測モードについての情報を(明示的又は暗示的に)受信又は取得するように構成される。
【0132】
また、映像スライスがイントラ符号化(I)スライスとして符号化されるとき、予測処理ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードと、現在フレーム又はピクチャの先行復号ブロックからのデータとに基づいて、現在映像スライスのピクチャブロックに使用される予測ブロック365を生成するように構成される。映像フレームが、インター符号化(すなわち、B又はP)スライスとして符号化されるとき、予測処理ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピー復号ユニット304から受信した動きベクトル及び他の構文要素に基づいて、現在映像スライスの映像ブロックに使用される予測ブロック365を生成するように構成される。インター予測では、1つの参照ピクチャリスト内の参照ピクチャのうちの1つから予測ブロックが生成され得る。ビデオデコーダ30は、DPB330に格納された参照ピクチャに基づいて、デフォルトの構築技術を使用することによって、リスト0及びリスト1なる参照フレームリストを構築し得る。
【0133】
予測処理ユニット360は、動きベクトル及び他の構文要素を解析することによって、現在映像スライスの映像ブロックに使用される予測情報を決定し、該予測情報を用いて、復号中の現在映像ブロックに使用される予測ブロックを生成するように構成される。例えば、予測処理ユニット360は、受信した一部の構文要素を用いることによって、映像スライスの映像ブロックを符号化するのに使用される予測モード(例えば、イントラ予測又はインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)と、スライスに使用される参照ピクチャリスト内のピクチャのうちの1つ以上の構成情報と、スライスに使用される各インター符号化映像ブロックの動きベクトルと、スライスに使用される各インター符号化映像ブロックのインター予測状態と、他の情報とを決定して、現在映像スライスの映像ブロックを復号する。
【0134】
逆量子化ユニット310は、ビットストリーム内で提供されてエントロピー復号ユニット304によって復号された、量子化された変換係数に対して、逆量子化(すなわち、脱量子化)を実行するように構成され得る。逆量子化プロセスは、映像スライス内の各映像ブロックに対してビデオエンコーダ20によって計算された量子化パラメータを用いて、適用されるべき量子化の度合いを決定し、適用されるべき逆量子化の度合いを決定することを含み得る。
【0135】
逆変換処理ユニット312は、変換係数に逆変換(例えば、逆DCT、逆整数変換、又は概念的に類似した逆変換プロセス)を適用して、サンプルドメインにおける残差ブロックを生成するように構成される。
【0136】
再構成ユニット314(例えば、加算器314)は、例えば再構成残差ブロック313のサンプル値を予測ブロック365のサンプル値に足し合わせることによって、逆変換ブロック313(すなわち、再構成残差ブロック313)を予測ブロック365に足し合わせて、サンプルドメインにおける再構成ブロック315を得るように構成される。
【0137】
ループフィルタユニット320(符号化ループの中又は符号化ループの後)は、サンプル変換をスムーズに実行するように又は映像品質を向上させるように、再構成ブロック315をフィルタリングして、フィルタリングされたブロック321を得るように構成される。一例において、ループフィルタユニット320は、以下のフィルタリング技術の何らかの組み合わせを実行するように構成され得る。ループフィルタユニット320は、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、又は例えばバイラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、鮮明化若しくは平滑化フィルタ、又はコオペラティブフィルタなどの他のフィルタといった、1つ以上のループフィルタを表すことを意図している。ループフィルタユニット320は、
図4ではインループフィルタとして示されているが、ループフィルタユニット320は、他の構成ではポストループフィルタとして実装されてもよい。
【0138】
所与のフレーム又はピクチャ内のフィルタリングされたブロック321は、次いで、後続の動き補償に使用される参照ピクチャを格納する復号ピクチャバッファ330に格納される。
【0139】
デコーダ30は、復号ピクチャ31をユーザに提示する又はユーザが見るために復号ピクチャ31を提供するために、出力332及びそれに類するものを用いて復号ピクチャ31を出力するように構成される。
【0140】
圧縮ビットストリームを復号するために、ビデオデコーダ30の別のバリエーションが構成されてもよい。例えば、デコーダ30は、ループフィルタユニット320を用いずに出力映像ストリームを生成してもよい。例えば、非変換ベースのデコーダ30は、一部のブロック又はフレームに対して、逆変換処理ユニット312を用いずに直接的に残差信号を脱量子化し得る。他の一実装において、ビデオデコーダ30は、1つのユニットに結合された逆量子化ユニット310及び逆変換処理ユニット312を有していてもよい。
【0141】
図5は、この出願の一実施形態に従った映像コーディング装置400(例えば、映像符号化装置400又は映像復号装置400)の概略構成図である。映像コーディング装置400は、この明細書に記載される一実施形態を実装するのに適している。一実施形態において、映像コーディング装置400は、ビデオデコーダ(例えば、
図1のビデオデコーダ30)又はビデオエンコーダ(例えば、
図1のビデオエンコーダ20)とし得る。他の一実施形態において、映像コーディング装置400は、
図1のビデオデコーダ30又は
図1のビデオエンコーダ20の中の1つ以上のコンポーネントであってもよい。
【0142】
映像コーディング装置400は、データを受信するように構成された入口ポート410及び受信器ユニット(Rx)420と、データを処理するように構成されたプロセッサ、論理ユニット、又は中央演算処理ユニット(CPU)430と、データを送信するように構成された送信器ユニット(Tx)440及び出口ポート450と、データを格納するように構成されたメモリ460とを含んでいる。映像コーディング装置400は更に、光信号又は電気信号の出口又は入口として機能するために、入口ポート410、受信器ユニット420、送信器ユニット440、及び出口ポート450に結合された、光-電気変換コンポーネント及び電気-光(EO)変換コンポーネントを含み得る。
【0143】
プロセッサ430は、ハードウェア及びソフトウェアを使用することによって実装される。プロセッサ430は、1つ以上の、CPUチップ、コア(例えば、マルチコアプロセッサ)、FPGA、ASIC、又はDSPとして実装され得る。プロセッサ430は、入口ポート410、受信器ユニット420、送信器ユニット440、出口ポート450、及びメモリ460と通信する。プロセッサ430は、コーディングモジュール470(例えば、符号化モジュール470又は復号モジュール470)を含む。符号化/復号モジュール470は、上で開示した実施形態を実施する。例えば、符号化/復号モジュール470は、様々なコーディング動作を実行し、処理し、又は提供する。従って、符号化/復号モジュール470は、映像コーディング装置400の機能を実質的に拡張し、映像コーディング装置400の複数の異なる状態への変換に影響を与える。あるいは、符号化/復号モジュール470は、メモリ460に格納されてプロセッサ430によって実行される命令を使用することによって実装される。
【0144】
メモリ460は、1つ以上のディスク、テープドライブ、及びソリッドステートドライブを含み、オーバーフローデータ記憶デバイスとして使用されることができ、プログラムが選択的に実行されるときにそれらプログラムを格納するように構成され、プログラム実行中に読み出される命令及びデータを格納する。メモリ460は、揮発性及び/又は不揮発性とすることができ、読み出し専用メモリ(Read Only Memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、三値連想メモリ(ternary content-addressable memory、TCAM)、及び/又はスタティックランダムアクセスメモリ(SRAM)とし得る。
【0145】
図6は、一実施形態例に従った、
図1のソース装置12及びデスティネーション装置14のうちのいずれか一方又は双方として使用されることができる装置500の簡略ブロック図である。装置500は、この出願における技術を実装し得る。クロマブロック予測を実装するように構成される装置500は、複数のコンピューティング装置を含むコンピューティングシステムの形態を使用してもよいし、あるいは、例えば携帯電話、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、又はデスクトップコンピュータなどの単一のコンピューティング装置の形態を使用してもよい。
【0146】
装置500内のプロセッサ502は、中央演算処理ユニットとし得る。あるいは、プロセッサ502は、情報を制御又は処理することができる任意の他のタイプの既存の又は将来の1つ以上のデバイスであってもよい。
図6に示すように、開示される実装は、例えばプロセッサ502などの単一のプロセッサを使用することによって実施され得るものの、2つ以上のプロセッサを使用することによって速度及び効率における利点を達成してもよい。
【0147】
一実装において、装置500内のメモリ504は、読み出し専用メモリデバイス又はランダムアクセスメモリデバイスとし得る。何らかの他の適切なタイプの記憶デバイスがメモリ504として使用されてもよい。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコード及びデータ506を含み得る。メモリ504は更に、オペレーティングシステム508及びアプリケーションプログラム510を含み得る。アプリケーションプログラム510は、この明細書に記載される方法をプロセッサ502が実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム510はアプリケーション1乃至Nを含んでもよく、そして更に、アプリケーション1乃至Nは、この明細書に記載される方法を実行するための映像符号化アプリケーションを含む。装置500は更に、二次メモリ514の形態の更なるメモリを含んでもよい。二次メモリ514は、例えば、モバイルコンピューティング装置と共に使用されるメモリカードとし得る。映像通信セッションは大量の情報を含み得るので、情報は、完全に又は部分的に二次メモリ514に格納され、必要に応じて処理のためにメモリ504にロードされ得る。
【0148】
装置500は更に、例えばディスプレイ518といった1つ以上の出力装置を含み得る。一例において、ディスプレイ518は、タッチ入力をセンシングするように動作されることが可能なタッチ感知素子とディスプレイを組み合わせたタッチ感知ディスプレイとし得る。ディスプレイ518は、バス512を使用することによってプロセッサ502に結合され得る。ディスプレイ518に加えて、ユーザが装置500をプログラムする又は別のやり方で装置500を使用することを可能にする別の出力装置が更に設けられてもよく、あるいは、ディスプレイ518の代わりとして別の出力装置が設けられてもよい。出力装置がディスプレイである又はディスプレイを含む場合、該ディスプレイは、様々に実装されることができ、例えば、液晶ディスプレイ、陰極線管(cathode-ray tube、CRT)ディスプレイ、プラズマディスプレイ、又は例えば有機LED(organic LED、OLED)ディスプレイなどの発光ダイオード(light emitting diode、LED)ディスプレイを用いて実装され得る。
【0149】
装置500は更に、ピクチャセンシング装置520を含むことができ、あるいは、ピクチャセンシング装置520に接続されることができる。ピクチャセンシング装置520は、例えば、カメラ、又はピクチャをセンシングすることができる何らかの他の既存の又は将来のピクチャセンシング装置520である。ピクチャは、例えば、装置500を動作させるユーザのピクチャである。ピクチャセンシング装置520は、装置500を動作させるユーザに直に面して配置され得る。一例において、ピクチャセンシング装置520の視野が、ディスプレイ518に隣接する領域を含み、その領域からディスプレイ518を見ることができるように、ピクチャセンシング装置520の位置及び光軸が設定され得る。
【0150】
装置500は更に、サウンドセンシング装置522を含むことができ、あるいは、サウンドセンシング装置522に接続されることができる。サウンドセンシング装置522は、例えば、マイクロフォン、又は装置500の近くの音をセンシングすることができる何らかの他の既存の又は将来のサウンドセンシング装置である。サウンドセンシング装置522は、装置500を動作させるユーザに直に面して配置されてもよいし、あるいは、ユーザが装置500を動作させるときに例えば音声又はユーザによって立てられる別の音などの音を受けるように構成されてもよい。
【0151】
装置500のプロセッサ502及びメモリ504は、
図6に示すように1つのユニットに統合されるが、他の構成を用いてもよい。プロセッサ502の実行は、直接的に結合され得る複数のマシン(各マシンが1つ以上のプロセッサを有する)に分散されてもよいし、あるいは、ローカルな領域内又は別のネットワーク内で分散されてもよい。メモリ504は、例えばネットワークベースのメモリ及び装置500を動作させる複数のマシン内のメモリなど、複数のマシン内で分散されてもよい。ここでは単一のバスが描かれているが、装置500の複数のバス512が存在してもよい。さらに、二次メモリ514は、装置500の他のコンポーネントに直接的に結合されてもよいし、あるいは、ネットワークを介してアクセスされてもよく、また、例えばメモリカードなどの単一の集積ユニット、又は例えば複数のメモリカードなどの複数のユニットを含み得る。従って、装置500は、複数の構成で実装され得る。
【0152】
この出願において上述したように、カラー映像は、ルマ(Y)コンポーネントに加えて、クロマコンポーネント(U,V)を更に含む。従って、ルマコンポーネントに加えて、クロマコンポーネントも符号化される必要がある。カラー映像のルマコンポーネント及びクロマコンポーネントをサンプリングするための異なる方法に従って、YUV4:4:4、YUV4:2:2、及びYUV4:2:0が一般に存在する。
図7に示すように、×印はルマコンポーネントサンプルを表し、〇印はクロマコンポーネントサンプルを表す。
【0153】
4:4:4フォーマット: クロマコンポーネントがダウンサンプリングされない。
【0154】
4:2:2フォーマット: 対ルマコンポーネントでクロマコンポーネントについて2:1の水平ダウンサンプリングが実行され、垂直ダウンサンプリングは実行されない。2つのUサンプル又はVサンプルごとに、各行が4つのYサンプルを含む。
【0155】
4:2:0フォーマット: 対ルマコンポーネントでクロマコンポーネントについて2:1の水平ダウンサンプリングが実行され、且つ2:1の垂直ダウンサンプリングが実行される。
【0156】
YUV4:2:0が最も一般的なフォーマットである。映像ピクチャがYUV4:2:0サンプリングフォーマットである場合において、ピクチャブロックのルマコンポーネントが2M×2Nピクチャブロックである場合、該ピクチャブロックのクロマコンポーネントはM×Nピクチャブロックである。従って、ピクチャブロックのクロマコンポーネントは、この出願ではクロマブロック又はクロマコンポーネントブロックとも呼ばれる。この出願は、一例としてYUV4:2:0を用いて説明されるが、ルマコンポーネント及びクロマコンポーネントをサンプリングするための別の方法にも適用可能である。
【0157】
この出願では、クロマピクチャ(picture)内のサンプルをクロマサンプル(chroma sample)又はクロマポイントと略称し、ルマピクチャ(picture)内のサンプルをルマサンプル(luma sample)又はルマポイントと略称する。
【0158】
ルマコンポーネントと同様に、クロマイントラ予測では、現在クロマブロックの周りの隣接再構成ブロックの境界サンプルも、現在ブロックの参照サンプルとして使用され、参照サンプルは、具体的な予測モードに従って現在クロマブロック内のサンプルにマッピングされて、現在クロマブロック内のサンプルの予測子としての役割を果たす。クロマコンポーネントのテクスチャは通常は比較的単純であるため、クロマコンポーネント向けのイントラ予測モードの数は、通常、ルマコンポーネント向けのイントラ予測モードの数より少ない、という点に違いがある。
【0159】
クロスコンポーネント予測モードは、クロスコンポーネントイントラ予測モード又はCCLM予測モードとも称される。CCLM予測モードは、線形モデルモードとも略称されることがある。LMモード(線形モデル又は線形モードと略称される)は、ルミナンスとクロミナンスとの間のテクスチャ相関が使用されるクロマイントラ予測方法である。LMでは、現在クロマブロックの予測子が、再構成されたルマコンポーネントを用いて、線形モデルに従って導出され、これは次式:
【数3】
を用いて表される。
【0160】
ここで、α及びβは線形モデル係数であり、αはスケーリング係数であり、βはオフセットファクタであり、predC(i,j)は、位置(i,j)のクロマサンプルの予測子であり、そして、reci
L(i,j)は、現在クロマブロックに対応するルマ再構成ブロック(以下では対応ルマブロックと略称する)がクロマコンポーネント解像度にダウンサンプリングされた後の位置(i,j)のルマ再構成サンプル値である。YUV4:2:0フォーマットの映像では、ルマコンポーネントの解像度は、クロマコンポーネントの解像度の4倍である(ルマコンポーネントの幅及び高さが各々、クロマコンポーネントのそれらの2倍である)。クロマブロックと同じ解像度を持つルマブロックを得るには、ルマコンポーネントを、クロマコンポーネント用のそれと同じダウンサンプリング法に従って、クロマ解像度までダウンサンプリングする必要がある。
【0161】
線形モデル係数α及びβは、伝送のために符号化される必要はなく、現在クロマブロックの隣接再構成ブロックのエッジサンプル及びそれらエッジサンプルに対応するルマサンプルを用いることによって導出される。
図8は、クロスコンポーネント予測モードの一実施形態を示している。
図8において、recLは再構成ルマブロックであり(現在クロマブロックはルマブロックの再構成ブロック及び隣接参照サンプルに対応する)、recL’はダウンサンプリングされたルマブロックであり、recC’は現在クロマブロックの隣接再構成参照サンプルである。現在クロマブロックのサイズはW×Hであり、現在クロマブロックの上隣接再構成サンプル及び左隣接再構成サンプルを参照サンプルとして用いることにより、対応するルマブロックのサイズは2W×2Hである。ルマブロックとルマブロックの参照サンプルとがクロマ解像度までダウンサンプリングされることで、
図8(b)に示すサンプルブロックが得られる。
図8(b)及び
図8(c)の隣接参照サンプルは、一対一の対応関係を持つ。
【0162】
説明を容易にするために、この出願では、線形モデル係数を計算するのに使用される上隣接サンプル及び左隣接サンプルを隣接サンプルと呼び、上にあるサンプルが上隣接サンプルであり、左にあるサンプルが左隣接サンプルである。クロマブロックに隣接するサンプルを隣接サンプル(これは上隣接サンプルと左隣接サンプルとを含む)と呼び、ルマブロックに隣接するサンプルを隣接サンプル(これは上隣接サンプルと左隣接サンプルとを含む)と呼ぶ。クロマサンプルはルマサンプルと一対一の対応関係にあり、サンプルの値が値ペアを形成する。
【0163】
この出願の実施形態において、ルマサンプルは通常、ダウンサンプリングを通じて取得される必要があり(何故なら、クロマコンポーネントの解像度がルマコンポーネントの解像度と異なるため)、Luma’サンプルと表記される。クロマサンプル(Chroma samples)は通常、現在クロマブロックの一行又は二行の上隣接サンプル並びに現在クロマブロックの一列又は二列の左隣接サンプルである。
図9は、一行及び一列を使用することの概略図であり、
図10は、二行及び二列を使用することの概略図である。
【0164】
LMモードでは、ルマコンポーネントとクロマコンポーネントとの間の相関を有効利用することができる。方向予測モードと比較して、LMモードはより柔軟であり、従って、クロマコンポーネントについて、より正確な予測信号を提供する。
【0165】
さらに、マルチモデル線形モデル(Multiple model linear model、略してMMLM)モードも存在し、また、複数個のα及びβが存在する。2つの線形モデルの一例では、α1及びβ1と、α2及びβ2との、2つのグループの線形モデル係数が存在する。
【0166】
この出願はクロマブロック予測方法を提供する。以下、特定の実装を参照して、
図11に示す処理手順を詳細に説明する。このプロセスは、符号化プロセス及び復号プロセスの両方に存在する。この出願のこの実施形態では、デコーダ側をソリューション説明の一例として使用し、内容は以下の通りとし得る。
【0167】
ステップ1101: クロマブロックの隣接サンプルからプリセット位置のクロマサンプルのクロマ値を取得する。
【0168】
当該クロマブロックは、現在イントラ予測が実行されるべきクロマブロックである。プリセット位置のクロマサンプルの数(これをプリセット数と略称することがある)はプリセットされ得る。例えば、プリセット数は2、4、6、又は8である。クロマブロックの隣接サンプルは、クロマブロックに隣接する再構成サンプルであり、
図9及び
図10を参照されたい。
【0169】
特定の一実装において、現在クロマブロック(以下ではこれをクロマブロックと略称することがある)に対してイントラ予測を実行する必要があるとき、プリセット位置のクロマサンプルのクロマ値が、クロマブロックの隣接サンプルから取得されて、セットφとして表されることができ、ここで、φ={C0,C1,…,CM-1}であり、Mはプリセット数、すなわち、取得されるクロマ値の数を表す。
【0170】
オプションで、1つの線形モード(イントラ線形予測モードと呼ぶこともある)のみが存在する場合、
図12に示す座標系において、プリセット位置は通常、(0,-1)、(X-1,-1)、(-1,0)、及び(-1,Y-1)であり、プリセット位置のクロマサンプルのクロマ値は、クロマブロックの隣接サンプルから取得され得る。
【0171】
オプションで、デコーダ側は、ビットストリーム内の指示情報に基づいて、クロマブロックに対応するイントラ予測モードを決定し、該イントラ予測モードに基づいてプリセット位置を決定し得る。対応する処理は、
指示情報を取得し、該指示情報に基づいて、クロマブロックに対応するイントラ予測モードを決定し、そして、クロマブロックに対応するイントラ予測モードに基づいてプリセット位置を決定する、ことを含み得る。
【0172】
クロマブロックに対応するイントラ予測モードは、LM、LMA、及びLMLのうちの少なくとも1つを含み得る。指示情報は、クロマブロックに対応するイントラ予測モードを指し示すために使用される。
【0173】
特定の一実装において、符号化を実行するとき、エンコーダ側が、クロマブロックに対応するイントラ予測モードをエンコードし、そして、イントラ予測モードをデコーダ側に送信する(このプロセスについては後述する)。
【0174】
デコーダ側は、受信したビットストリームから指示情報を取得し、該指示情報に基づいて、クロマブロックに対応するイントラ予測モードを決定し得る。そして、デコーダ側は、クロマブロックに対応するイントラ予測モードに基づいてプリセット位置を決定する。
【0175】
オプションで、指示情報は、表1に示すような構文テーブルで設定され得る。
【表1】
【0176】
表1において、構文テーブル内の構文要素CuPredMode[x0][y0]は、現在クロマブロックの予測モードがイントラ予測モードであるのか、それともインター予測モードであるのかを指し示すために使用される。例えば、CuPredMode[x0][y0]がMODE_INTRAである場合、それは、現在クロマブロックに対してイントラ予測モードが使用されることを指し示し、CuPredMode[x0][y0]がMODE_INTERである場合、それは、現在クロマブロックに対してインター予測モードが使用されることを指し示す。ここで、x0及びy0は映像ピクチャ内の現在クロマブロックの座標を表す。
【0177】
構文要素intra_croma_pred_mode[x0][y0]は、現在クロマブロックのイントラ予測モード情報(すなわち、上述の指示情報)を指し示すために使用される。例えば、intra_croma_pred_mode[x0][y0]=0であるとき、それは、現在ブロックに対してLM0モードが使用されることを指し示し、intra_croma_pred_mode[x0][y0]=1であるとき、それは、現在クロマブロックに対してLM1モードが使用されることを指し示し、intra_croma_pred_mode[x0][y0]=2であるとき、それは、現在クロマブロックに対してLM2モードが使用されることを指し示し、そして、intra_croma_pred_mode[x0][y0]=N-1のとき、それは、現在クロマブロックに対してLM(N-1)モードが使用されることを指し示す。ここで、Nは、現在クロマブロックに対してエンコーダ側で選択され得るN個の異なるLMを表し、LM0、LM1、…、及びLM(N-1)は相異なるイントラ予測モードを表す。
【0178】
オプションで、複数の線形モードが存在する場合、異なる線形モードに対して異なるプリセット位置が存在し、ステップ1101での対応する処理は、
イントラ予測モードとプリセット位置との間の予め定められた対応関係と、クロマブロックに対応するイントラ予測モードとに基づいて、クロマブロックの隣接サンプルからプリセット位置のクロマサンプルのクロマ値を取得する、ことを含み得る。
【0179】
特定の一実装において、復号を実行するとき、デコーダ側は、クロマブロックに対応するイントラ予測モードを決定し、次いで、イントラ予測モードとプリセット位置との間の予め定められた対応関係を取得し、該対応関係から、クロマブロックのイントラ予測モードに対応するプリセット位置を決定し得る。そして、デコーダ側は、クロマブロックの隣接サンプルから、プリセット位置のクロマサンプルのクロマ値を取得する。
【0180】
なお、上述の対応関係において、記録されるプリセット位置は、プリセット位置の位置座標とし得る。
【0181】
オプションで、プリセット位置をより十分に説明するために、
図12に示すように、この出願のこの実施形態にて、対応してクロマブロックに対して矩形平面座標系が確立される。クロマブロックの左上隅にある最初のクロマサンプルが座標原点として使用され、右への水平方向がx軸の正方向であり、下への垂直方向がy軸の正方向である。斯くして、クロマブロックの上隣接サンプルの位置座標は、(0,-1)、(1,-1)、…、及び(X-1,-1)であり、クロマブロックの左隣接サンプルの位置座標は、(-1,0)、(-1,1)、…、及び(-1,Y-1)であり、Xは、クロマブロックの幅(すなわち、クロマブロックの幅方向のサンプルの数)を表し、Yは、クロマブロックの高さ(すなわち、クロマブロックの高さ方向のサンプルの数)を表す。
【0182】
イントラ予測モードがLM0である場合、対応関係において、プリセット位置の位置座標は、(0,-1)、(X-1,-1)、(-1,0)、及び(-1,Y-1)とし得る。
【0183】
イントラ予測モードがLM1である場合、対応関係において、プリセット位置の位置座標は、(0,-1)、(X/4,-1)、(X-1-X/4,-1)、及び(X-1,-1)とし得る。
【0184】
イントラ予測モードがLM2である場合、対応関係において、プリセット位置の位置座標は、(-1,0)、(-1,Y/4)、(-1,Y-1-Y/4)、及び(-1,Y-1)とし得る。
【0185】
イントラ予測モードがLM3である場合、対応関係において、プリセット位置の位置座標は、(X-2,-1)、(X-1,-1)、(-1,Y-2)、及び(-1,Y-1)とし得る。
【0186】
イントラ予測モードがLM(N-1)である場合、対応関係において、プリセット位置の位置座標は、(0,-1)、(1,-1)、(X-2,-1)、及び(X-1,-1)とし得る。
【0187】
分かることには、複数の線形モードが存在する場合、異なる線形モードが異なるプリセット位置に対応し得る。
【0188】
また、線形モードがLM、LMA、及びLMLであるとき、プリセット位置の位置座標が更に別途にリスト化され、それは以下の通りとし得る。
【0189】
イントラ予測モードがLMである場合、対応関係において、プリセット位置の位置座標は、
図13に影斜線付きの〇印で示すように、(0,-1)、(X-1,-1)、(-1,0)、及び(-1,Y-1)とし得る。
【0190】
イントラ予測モードがLMAである場合、対応関係において、プリセット位置の位置座標は、
図14(a)に斜線で充たした〇印で示すように、(0,-1)、(X/4,-1)、(X-1-X/4,-1)、及び(X-1,-1)、又は、
図14(b)に斜線で充たした〇印で示すように、(0,-1)、(X/4,-1)、(3×X/4,-1)、及び(X-1,-1)とし得る。
【0191】
イントラ予測モードがLMLである場合、対応関係において、プリセット位置の位置座標は、
図15(a)に斜線で充たした〇印で示すように、(-1,0)、(-1,Y/4)、(-1,Y-1-Y/4)、及び(-1,Y-1)、又は
図15(b)に斜線で充たした〇印で示すように、(-1,0)、(-1,Y/4)、(-1,3×Y/4)、及び(-1,Y-1)とし得る。
【0192】
なお、これらプリセット位置の位置座標は単なる例である。これは、この出願のこの実施形態において限定されるものではない。
【0193】
さらに、イントラ予測モードがLMであるとき、プリセット数は代わりに2であってもよく、プリセット位置の位置座標は、
図16(a)に斜線で充たした〇印で示すように、(X-1,-1)及び(-1,Y-1)としてもよく、あるいは、
図16(b)に斜線で充たした〇印で示すように、(X/2,-1)及び(-1,Y/2)としてもよく、あるいは、
図16(c)に斜線で充たした〇印で示すように、(X/2,-1)及び(-1,Y-1)としてもよく、あるいは、
図16(d)に斜線で充たした〇印で示すように、(X-1,-1)及び(-1,Y/2)としてもよい。これは単なる例に過ぎず、この出願のこの実施形態において限定されるものではない。
【0194】
なお、X及びYは通常、4以上である。
図13及び
図16(a)乃至
図16(d)でのX及びYはそれぞれ8及び8であり、
図14(a)でのXは8であり、
図14(b)でのXは16であり、
図15(a)でのYは8であり、
図15(b)でのYは16である。上述の値は単に取り得る一実装に過ぎない。これは、この出願のこの実施形態において限定されるものではない。また、
図12乃至
図16(d)において、ボックスがクロマブロックを表している。
【0195】
ステップ1102: クロマブロックに対応するルマブロックの隣接サンプルに基づいて、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を取得する。
【0196】
特定の一実装において、クロマ値が取得された後、クロマブロックに対応するルマブロックが決定されることができ、そして、ルマブロックの隣接サンプルから、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値が取得されて、セットΨとして表されることができ、ここで、Ψ={L0,L1,…,LM-1}であり、Mはプリセット数、すなわち、取得されるルマ値の数を表す。
【0197】
オプションで、ステップ1102で、ルマ値は複数の手法で選択され得る。以下にて、2つの実現可能な処理手法を提供する。
【0198】
手法1: ルマブロックの隣接サンプルから、プリセット位置内のi番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標が(2×Xi,2×Yi)であると決定し、i番目のプリセット位置のクロマサンプルの位置座標が(Xi,Yi)であり、そして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標に基づいて、クロマブロックに対応するルマブロックの隣接サンプルから、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を取得する。
【0199】
i番目のプリセット位置は、プリセット位置のうちのいずれか1つである。
【0200】
特定の一実装において、クロマブロックが復号されるとき、プリセット位置内のi番目のプリセット位置のクロマサンプルの位置座標は(X
i,Y
i)であり(X
iは、
図12に示す座標系におけるi番目のプリセット位置の水平座標であり、Y
iは、
図12に示す座標系におけるi番目のプリセット位置の垂直座標である)、ルマブロックの隣接サンプルから、i番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標が(2×X
i,2×Y
i)であると決定され得る。斯くして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標が取得され得る。そして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標に基づいて、対応するルマサンプルからルマ値が取得され得る。
【0201】
手法2:プリセット位置内のj番目のプリセット位置のクロマサンプルの位置座標に基づいて、ルマブロックの隣接サンプルから、j番目のプリセット位置に対応する複数のサンプルの位置座標を決定し、該複数のサンプルの該位置座標に基づいて、j番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標を決定し、そして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標に基づいて、クロマブロックに対応するルマブロックの隣接サンプルから、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を取得する。
【0202】
j番目のプリセット位置は、プリセット位置のうちのいずれか1つである。
【0203】
特定の一実装において、クロマブロックが復号されるとき、プリセット位置内のj番目のプリセット位置のクロマサンプルの位置座標は(X
j,Y
j)である(X
jは、
図12に示す座標系におけるj番目のプリセット位置の水平座標であり、Y
jは、
図12に示す座標系におけるj番目のプリセット位置の垂直座標である)。j番目のプリセット位置のクロマサンプルに対し、j番目のプリセット位置のクロマサンプルの位置座標に基づいて、(X
j,Y
j)に対応するルマブロックの隣接サンプルの複数のサンプル位置が決定され得るとともに、次いで、該複数のサンプル位置の位置座標に基づいて、j番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標が取得され得る。
【0204】
例えば、重み付け法が使用され得る。複数のサンプル位置の位置座標は、(2×Xj,2×Yj)、(2×Xj,2×Yj+1)、(2×Xj+1,2×Yj)、(2×Xj+1,2×Yj+1)、(2×Xj+2,2×Yj)、及び(2×Xj+2,2×Yj+1)とすることができ、これら全てのサンプル位置が、それぞれ2/8、1/8、1/8、2/8、1/8、及び1/8である重み値に対応する。重み付けを行った後、j番目のプリセット位置のクロマサンプルに対応するルミナンスサンプルの位置座標(2×Xj,2×Yj+0.5)が取得され得る。また、重み付け法は使用されなくてもよい。これは、この出願のこの実施形態において限定されることではない。斯くして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標が取得され得る。そして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標に基づいて、対応するルマサンプルからルマ値が取得され得る。
【0205】
ステップ1103: 取得したルマ値を第1のルマセットと第2のルマセットとに分類する。
【0206】
特定の一実装において、ルマ値が取得された後、取得されたルマ値が、第1のルマセットと第2のルマセットとに分類され得る。
【0207】
オプションで、これらのルマセットは、複数の手法で取得され得る。この出願のこの実施形態は、3つの実施可能な手法を提供する。
【0208】
手法1:プリセット位置のクロマサンプルに対応するルマサンプルのルマ値の平均値を決定し、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値の中にあってルマ値の平均値以下であるルマ値を、第1のルマセットにグループ化し、且つ、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値の中にあってルマ値の平均値よりも大きいルマ値を、第2のルマセットにグループ化する。
【0209】
特定の一実装において、ステップ1102で取得されたルマ値の平均値が決定され得る。そして、ステップ1102で取得されたルマ値の中にあってルマ値の平均値以下であるルマ値が決定されて第1のルマセットにグループ化される。さらに、ステップ1102で取得されたルマ値の中にあってルマ値の平均値よりも大きいルマ値が決定されて第2のルマセットにグループ化される。斯くして、第1のルマセット内のルマ値は、第2のルマセット内のルマ値よりも小さい。
【0210】
表すために次式を使用する:
ルマ値の平均値は、
【数4】
であり、
得られる第1のルマセットは、Ψ
L={L
i0,L
i1,…,L
ij,…,L
iS}であり、ただし、L
ij≦L
meanであり、
得られる第2のルマセットは、Ψ
R={L
j0,L
j1,…,L
ji,…,L
jT}であり、ただし、L
ji>L
meanである。
【0211】
手法2:プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を昇順に並べ替えて第1のルマ値キューを取得し、そして、該第1のルマ値キュー内のルマサンプルの数が偶数である場合、該第1のルマ値キューの前半部分のルマ値を第1のルマセットにグループ化し、且つ、該ルマ値キューの後半部分のルマ値を第2のルマセットにグループ化する。
【0212】
特定の一実装において、ステップ1102で取得されたルマ値が昇順に並べ替えられて、第1のルマ値キューが取得され得る。第1のルマ値キュー内のルマサンプルの数が偶数である場合、第1のルマ値キューの前半部分のルマ値が決定されて第1のルマセットにグループ化され得るとともに、さらに、第1のルマ値キューの後半部分のルマ値が決定されて第2のルマセットにグループ化され得る。
【0213】
例えば、ステップ1102で、順にL1、L2、L3、及びL4である4つのルマ値が取得され、L4<L2<L1<L3である場合、第1のルマ値キューは、L4、L2、L1、及びL3である。この場合、第1のルマセットは{L4,L2}であり、第2のルマセットは{L1,L3}である。
【0214】
手法3:プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を降順に並べ替えて第2のルマ値キューを取得し、そして、該第2のルマ値キュー内のルマサンプルの数が偶数である場合、該第2のルマ値キューの後半部分のルマ値を第1のルマセットにグループ化し、且つ、該ルマ値キューの前半部分のルマ値を第2のルマセットにグループ化する。
【0215】
特定の一実装において、ステップ1102で取得されたルマ値が降順に並べ替えられて、第2のルマ値キューが取得され得る。第2のルマ値キュー内のルマサンプルの数が偶数である場合、第2のルマ値キューの後半部分のルマ値が決定されて第1のルマセットにグループ化され得るとともに、さらに、第2のルマ値キューの前半部分のルマ値が決定されて第2のルマセットにグループ化され得る。
【0216】
例えば、ステップ1102で、順にL1、L2、L3、及びL4である4つのルマ値が取得され、L3>L1>L2>L4である場合、第2のルマ値キューは、L3、L1、L2、及びL4である。この場合、第1のルマセットは{L4,L2}であり、第2のルマセットは{L1,L3}である。
【0217】
さらに、手法2での第1のルマ値キュー内のルマサンプルの数が奇数である場合において、第1のルマ値キューがN個のルマ値を含む場合、最初の(N-1)/2個のルマ値が第1のルマセットにグループ化されるとともに、最後の(N+1)/2個のルマ値が第2のルマセットにグループ化されてもよいし、あるいは、最初の(N+1)/2個のルマ値が第1のルマセットにグループ化されるとともに、最後の(N-1)/2個のルマ値が第2のルマセットにグループ化されてもよい。同様に、手法3での第2のルマ値キュー内のルマサンプルの数が奇数である場合において、第2のルマ値キューがN個のルマ値を含む場合、最初の(N-1)/2個のルマ値が第2のルマセットにグループ化されるとともに、最後の(N+1)/2個のルマ値が第1のルマセットにグループ化されてもよいし、あるいは、最初の(N+1)/2個のルマ値が第2のルマセットにグループ化されるとともに、最後の(N-1)/2個のルマ値が第1のルマセットにグループ化されてもよい。
【0218】
ステップ1104: 第1のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第1のクロマセットにグループ化し、第2のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第2のクロマセットにグループ化する。
【0219】
特定の一実装において、第1のルマセット及び第2のルマセットが取得された後、第1のルマセット内の全てのルマ値に対応するクロマ値が第1のクロマセットに分類され得るとともに、第2のルマセット内の全てのルマ値に対応するクロマ値が第2のクロマセットに分類され得る。表すために次式を使用し得る:
第1のクロマセットは、φL={Ci0,Ci1,…,Cij,…,CiS}であり、
得られる第2のクロマセットは、φR={Cj0,Cj1,…,Cji,…,CjT}である。
【0220】
なお、ステップ1101で、クロマサンプルに対応するルマサンプルを使用してルマ値が決定される。ここでのルマ値に対応するクロマ値は、ルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値である。
【0221】
ステップ1105: 第1のルマセット内のルマ値の平均値、第2のルマセット内のルマ値の平均値、第1のクロマセット内のクロマ値の平均値、及び第2のクロマセット内のクロマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数を決定する。
【0222】
特定の一実装において、第1のルマセット、第2のルマセット、第1のクロマセット、及び第2のクロマセットが決定された後、第1のルマセット内のルマ値の平均値及び第2のルマセット内のルマ値の平均値が決定され得るとともに、第1のクロマセット内のクロマ値の平均値及び第2のクロマセット内のクロマ値の平均値が決定され得る。手法1に対応して、表すために次式を使用する:
第1のルマセット内のルマ値の平均値は、
【数5】
であり、
第2のルマセット内のルマ値の平均値は、
【数6】
であり、
第1のクロマセット内のクロマ値の平均値は、
【数7】
であり、
第2のクロマセット内のクロマ値の平均値は、
【数8】
である。
【0223】
次いで、第1のルマセット内のルマ値の平均値、第2のルマセット内のルマ値の平均値、第1のクロマセット内のクロマ値の平均値、及び第2クロマセット内のクロマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数が決定される。
【0224】
オプションで、スケーリング係数は、式を使用することによって決定されることができ、対応する処理は以下の通りとし得る:
【数9】
であり、ここで、αは、クロマブロックに対応する線形モデルにおけるスケーリング係数であり、C
Lmeanは、第1のクロマセット内のクロマ値の平均値であり、C
Rmeanは、第2のクロマセット内のクロマ値の平均値であり、L
Lmeanは、第1のルマセット内のルマ値の平均値であり、L
Rmeanは、第2のルマセット内のルマ値の平均値である。
【0225】
特定の一実装において、スケーリング係数についての予め定められた計算式を得ることができ、そして、スケーリング係数についての計算式α=(CLmean-CRmean)/(LLmean-LRmean)にCLmean、CRmean、LLmean、及びLRmeanを代入することで、クロマブロックに対応する線形モデルにおけるスケーリング係数が得られる。
【0226】
ステップ1106: スケーリング係数に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタを決定する。
【0227】
特定の一実装において、スケーリング係数が決定された後、クロマブロックに対応する線形モデルにおけるオフセットファクタが、スケーリング係数に基づいて決定され得る。オフセットファクタは、複数の手法で決定され得る。この出願のこの実施形態は、2つの実現可能な手法を提供する。
【0228】
手法1:スケーリング係数、第1のクロマセット内のクロマ値の平均値、及び第1のルマセット内のルマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタを決定する。
【0229】
特定の一実装において、第1のクロマセット内のクロマ値の平均値:
【数10】
が決定され得るとともに、第1のルマセット内のルマ値の平均値:
【数11】
が決定され得る。
【0230】
そして、スケーリング係数、第1のクロマセット内のクロマ値の平均値、及び第1のルマセット内のルマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタが決定される。
【0231】
オプションで、オフセットファクタは、次式を使用することによって決定されることができ、対応する処理は以下の通りとし得る:
β=CLmean-α*LLmeanであり、ここで、αは、スケーリング係数であり、βは、クロマブロックに対応する線形モデルにおけるオフセットファクタであり、CLmeanは、第1のクロマセット内のクロマ値の平均値であり、LLmeanは、第1のルマセット内のルマ値の平均値である。
【0232】
特定の一実装において、オフセットファクタについての予め定められた計算式を得ることができ、そして、オフセットファクタについての計算式β=CLmean-α*LLmeanに、ステップ1105で得られたスケーリング係数CLmean及びLLmeanを代入することで、クロマブロックに対応する線形モデルにおけるオフセットファクタが得られる。
【0233】
手法2:スケーリング係数、プリセット位置のクロマサンプルのクロマ値の平均値、及びクロマサンプルに対応するルマサンプルのルマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタを決定する。
【0234】
特定の一実装において、プリセット位置のクロマサンプルのクロマ値の平均値:
【数12】
が決定され得るとともに、クロマサンプルに対応するルマサンプルのルマ値の平均値:
【数13】
が決定され得る。
【0235】
そして、スケーリング係数Cmean及びLmeanを用いることによって、クロマブロックに対応するオフセットファクタが決定される。
【0236】
オプションで、オフセットファクタは、次式を使用することによって決定されることができ、対応する処理は以下の通りとし得る:
β=Cmean-α*Lmeanであり、ここで、αは、スケーリング係数であり、βは、クロマブロックに対応する線形モデルにおけるオフセットファクタであり、Cmeanは、プリセット位置のクロマサンプルのクロマ値の平均値であり、Lmeanは、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値の平均値である。
【0237】
特定の一実装において、オフセットファクタについての予め定められた計算式を得ることができ、そして、オフセットファクタについての計算式に、ステップ1105で得られたスケーリング係数Cmean及びLmeanを代入することで、クロマブロックに対応する線形モデルにおけるオフセットファクタが得られる。
【0238】
ステップ1107: スケーリング係数、オフセットファクタ、及びクロマブロックに対応するルマ再構成情報に基づいて、クロマブロックの予測情報を決定する。
【0239】
クロマブロックに対応するルマ再構成情報は、クロマブロックに対応するルマ再構成ブロックのダウンサンプリング情報を含む。
【0240】
特定の一実装において、クロマブロックに対応するスケーリング係数及びオフセットファクタが得られた後、クロマブロックに対応するルマ再構成情報、スケーリング係数、及びオフセットファクタを用いて、クロマブロックの予測情報を取得し得る。
【0241】
オプションで、クロマブロックの予測情報を得るために、式:
【数14】
を使用してもよく、ここで、αはスケーリング係数であり、βはオフセットファクタであり、pred
C(i,j)は、位置(i,j)のクロマサンプルの予測子であり、そして、rec
i
L(i,j)は、現在クロマブロックに対応するルマブロックの位置(i,j)のルマ再構成サンプル値である。
【0242】
この出願のこの実施形態がエンコーダ側に適用される場合、イントラ予測モードを決定する手法にのみ違いがある。エンコーダ側では、クロマブロックに対してイントラ予測方法が使用されると決定される場合、該クロマブロックは、各イントラ予測モードを用いて符号化される。次いで、レート歪み最適化(Rate-distortion optimization、RDO)基準を用いて、最良の符号化効果を有するイントラ予測モードを決定し、そのイントラ予測モードを上述の構文テーブルに書き込み、そして、そのイントラ予測モードをビットストリームに追加する。斯くして、デコーダ側は、ビットストリームから直接、復号に使用すべきイントラ予測モードを決定し得る。
【0243】
オプションで、RDO基準を用いることによってイントラ予測モードを決定する手法は、以下の通りとし得る。
【0244】
クロマブロックの予測情報が、ステップ1101乃至ステップ1107の手法で決定され、予測情報をクロマブロックの原情報から差し引くことで残差情報を取得し、残差情報に対して変換処理を実行して変換係数を取得し、変換係数に対して量子化処理を実行して量子化係数を取得し、そして、量子化係数に対してエントロピー符号化処理を実行してビットストリームを得る。そして、ビットストリームに対して逆エントロピー符号化処理、逆量子化処理、及び逆変換処理を順次に行ってイントラ予測を実行することで再構成情報を取得し、再構成情報を原情報と比較し、そして、再構成情報と原情報との間の差が最も小さいイントラ予測モードを、最終的に使用されるイントラ予測モード、すなわち、上述の構文テーブルに書き込まれるイントラ予測モードとして決定する。
【0245】
なお、エンコーダ側は、H.263、H.264、MPEG-2、MPEG-4、VP8、又はVP9を用いるエンコーダ側とすることができ、対応して、デコーダ側は、H.263、H.264、MPEG-2、MPEG-4、VP8、又はVP9を用いるデコーダ側とすることができる。
【0246】
なお、さらには、この出願のこの実施形態は、一例として一行の隣接サンプルのみを使用して説明されている。この出願のこの実施形態は、
図10に示した二行の隣接サンプルのシナリオにも適用されることができ、処理手法は一行のサンプルの場合のそれと同じであるが、プリセット数の位置ポイントの位置座標が異なる。
【0247】
この出願の実施形態では、符号化又は復号の間に、プリセット位置のクロマサンプルのクロマ値が、クロマブロックの隣接サンプルから取得され得る。次いで、クロマブロックに対応するルマブロックの隣接サンプルから、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値が取得され、取得されたルマ値が、第1のルマセットと第2のルマセットとに分類され、ルマ値の分類に基づいて、対応してクロマ値が第1のクロマセットと第2のクロマセットとに分類される。次に、第1のルマセット内のルマ値の平均値、第2のルマセット内のルマ値の平均値、第1のクロマセット内のクロマ値の平均値、及び第2のクロマセット内のクロマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数が決定されることができ、そして、スケーリング係数が決定された後に、スケーリング係数に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタが決定され得る。最後に、スケーリング係数と、オフセットファクタと、クロマブロックに対応するルマ再構成情報とに基づいて、クロマブロックの予測情報が決定される。斯くして、符号化又は復号において、プリセット数のクロマ値が選択され、次いで、2つのクロマセットに分類されるとともに、プリセット数のルマ値が選択され、次いで、2つのルマセットに分類される。各ルマセット内のルマ値の平均値と各クロマセット内のクロマ値の平均値とに基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数が決定され、そして更に、オフセットファクタが決定される。より少量の乗算のみを必要とするので、符号化時間及び復号時間を短縮することができる。
【0248】
図17は、この出願の一実施形態に従ったクロマブロック予測装置の構成図である。装置は、ソフトウェア、ハードウェア、又はそれらの組み合わせを用いることによって、装置の一部又は装置全体として実装され得る。この出願のこの実施形態で提供される装置は、この出願の実施形態における
図11から
図16(d)の手順を実装し得る。当該装置は、取得モジュール1710、分類モジュール1720、及び決定モジュール1730を含む。
【0249】
取得モジュール1710は、クロマブロックの隣接サンプルからプリセット位置のクロマサンプルのクロマ値を取得し、そして、クロマブロックに対応するルマブロックの隣接サンプルに基づいて、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を取得するように構成され、特に、
図11における取得機能及び
図11に含まれる暗黙のステップを実装するように構成され得る。
【0250】
分類モジュール1720は、取得したルマ値を第1のルマセットと第2のルマセットとに分類し、第1のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第1のクロマセットにグループ化し、第2のルマセット内のルマ値に関連するルマサンプルに対応するクロマサンプルのクロマ値を第2のクロマセットにグループ化するように構成され、特に、
図11における分類機能及び
図11に含まれる暗黙のステップを実装するように構成され得る。
【0251】
決定モジュール1730は、第1のルマセット内のルマ値の平均値、第2のルマセット内のルマ値の平均値、第1のクロマセット内のクロマ値の平均値、及び第2のクロマセット内のクロマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数を決定し、該スケーリング係数に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタを決定し、そして、スケーリング係数、オフセットファクタ、及びクロマブロックに対応するルマ再構成情報に基づいて、クロマブロックの予測情報を決定し、クロマブロックに対応するルマ再構成情報は、クロマブロックに対応するルマ再構成ブロックのダウンサンプリング情報を含む、ように構成され、特に、
図11における決定機能及び
図11に含まれる暗黙のステップを実装するように構成され得る。
【0252】
オプションで、取得モジュール1710は更に、
指示情報を取得し、該指示情報に基づいて、クロマブロックに対応するイントラ予測モードを決定し、該イントラ予測モードは、線形モードLM、線形モード上LMA、及び線形モード左LMLのうちの少なくとも1つを含み、
クロマブロックに対応するイントラ予測モードに基づいてプリセット位置を決定する、
ように構成される。
【0253】
オプションで、取得モジュール1710は、
イントラ予測モードとプリセット位置との間の予め定められた対応関係と、クロマブロックに対応するイントラ予測モードとに基づいて、クロマブロックの隣接サンプルからプリセット位置のクロマサンプルのクロマ値を取得する、
ように構成される。
【0254】
オプションで、クロマブロックの上隣接サンプルの位置座標は、(0,-1)、(1,-1)、…、及び(X-1,-1)であり、クロマブロックの左隣接サンプルの位置座標は、(-1,0)、(-1,1)、…、及び(-1,Y-1)であり、
クロマブロックに対応するイントラ予測モードがクロスコンポーネント線形モードLMである場合、プリセット位置のクロマサンプルの位置座標は、(0,-1)、(X-1,-1)、(-1,-0)、及び(-1,Y-1)である。
【0255】
オプションで、クロマブロックの上隣接サンプルの位置座標は、(0,-1)、(1,-1)、…、及び(X-1,-1)であり、
クロマブロックに対応するイントラ予測モードがクロスコンポーネント線形モード上LMAである場合、プリセット位置の位置座標は、(0,-1)、(X/4,-1)、(X-1-X/4,-1)、及び(X-1,-1)であり、又は(0,-1)、(X/4,-1)、(3×X/4,-1)、及び(X-1,-1)である。
【0256】
オプションで、クロマブロックの左隣接サンプルの位置座標は、(-1,0)、(-1,1)、…、及び(-1,Y-1)であり、
クロマブロックに対応するイントラ予測モードがクロスコンポーネント線形モード左LMLである場合、プリセット位置の位置座標は、(-1,0)、(-1,Y/4)、(-1,Y-1-Y/4)、及び(-1,Y-1)であり、又は(-1,0)、(-1,Y/4)、(-1,3×Y/4)、及び(-1,Y-1)である。
【0257】
オプションで、取得モジュール1710は、
ルマブロックの隣接サンプルから、プリセット位置内のi番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標が(2×Xi,2×Yi)であると決定し、i番目のプリセット位置のクロマサンプルの位置座標が(Xi,Yi)であり、そして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標に基づいて、クロマブロックに対応するルマブロックの隣接サンプルから、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を取得する、又は、
プリセット位置内のj番目のプリセット位置のクロマサンプルの位置座標に基づいて、ルマブロックの隣接サンプルから、j番目のプリセット位置に対応する複数のサンプルの位置座標を決定し、該複数のサンプルの該位置座標に基づいて、j番目のプリセット位置のクロマサンプルに対応するルマサンプルの位置座標を決定し、そして、プリセット位置のクロマサンプルに対応するルマサンプルの位置座標に基づいて、クロマブロックに対応するルマブロックの隣接サンプルから、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を取得する、
ように構成される。
【0258】
オプションで、分類モジュール1720は、
プリセット位置のクロマサンプルに対応するルマサンプルのルマ値の平均値を決定し、
プリセット位置のクロマサンプルに対応するルマサンプルのルマ値の中にあってルマ値の平均値以下であるルマ値を、第1のルマセットにグループ化し、且つ、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値の中にあってルマ値の平均値よりも大きいルマ値を、第2のルマセットにグループ化する、
ように構成される。
【0259】
オプションで、分類モジュール1720は、
プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を昇順に並べ替えて第1のルマ値キューを取得し、そして、該第1のルマ値キュー内のルマサンプルの数が偶数である場合、該第1のルマ値キューの前半部分のルマ値を第1のルマセットにグループ化し、且つ、該ルマ値キューの後半部分のルマ値を第2のルマセットにグループ化する、又は、
プリセット位置のクロマサンプルに対応するルマサンプルのルマ値を降順に並べ替えて第2のルマ値キューを取得し、そして、該第2のルマ値キュー内のルマサンプルの数が偶数である場合、該第2のルマ値キューの後半部分のルマ値を第1のルマセットにグループ化し、且つ、該ルマ値キューの前半部分のルマ値を第2のルマセットにグループ化する、
ように構成される。
【0260】
オプションで、決定モジュール1730は、
α=(CLmean-CRmean)/(LLmean-LRmean)であるように構成され、ここで、αは、クロマブロックに対応する線形モデルにおけるスケーリング係数であり、CLmeanは、第1のクロマセット内のクロマ値の平均値であり、CRmeanは、第2のクロマセット内のクロマ値の平均値であり、LLmeanは、第1のルマセット内のルマ値の平均値であり、LRmeanは、第2のルマセット内のルマ値の平均値である。
【0261】
オプションで、決定モジュール1730は、
スケーリング係数、第1のクロマセット内のクロマ値の平均値、及び第1のルマセット内のルマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタを決定する、
ように構成される。
【0262】
オプションで、決定モジュール1730は、
β=CLmean-α*LLmeanであるように構成され、ここで、αは、スケーリング係数であり、βは、クロマブロックに対応する線形モデルにおけるオフセットファクタであり、CLmeanは、第1のクロマセット内のクロマ値の平均値であり、LLmeanは、第1のルマセット内のルマ値の平均値である。
【0263】
オプションで、決定モジュール1730は、
スケーリング係数、プリセット位置のクロマサンプルのクロマ値の平均値、及びクロマサンプルに対応するルマサンプルのルマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタを決定する、
ように構成される。
【0264】
オプションで、決定モジュール1730は、
β=Cmean-α*Lmeanであるように構成され、ここで、αは、スケーリング係数であり、βは、クロマブロックに対応する線形モデルにおけるオフセットファクタであり、Cmeanは、プリセット位置のクロマサンプルのクロマ値の平均値であり、Lmeanは、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値の平均値である。
【0265】
この出願の実施形態では、符号化又は復号の間に、プリセット位置のクロマサンプルのクロマ値が、クロマブロックの隣接サンプルから取得され得る。次いで、クロマブロックに対応するルマブロックの隣接サンプルから、プリセット位置のクロマサンプルに対応するルマサンプルのルマ値が取得され、取得されたルマ値が、第1のルマセットと第2のルマセットとに分類され、ルマ値の分類に基づいて、対応してクロマ値が第1のクロマセットと第2のクロマセットとに分類される。次に、第1のルマセット内のルマ値の平均値、第2のルマセット内のルマ値の平均値、第1のクロマセット内のクロマ値の平均値、及び第2のクロマセット内のクロマ値の平均値に基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数が決定されることができ、そして、スケーリング係数が決定された後に、スケーリング係数に基づいて、クロマブロックに対応する線形モデルにおけるオフセットファクタが決定され得る。最後に、スケーリング係数と、オフセットファクタと、クロマブロックに対応するルマ再構成情報とに基づいて、クロマブロックの予測情報が決定される。斯くして、符号化又は復号において、プリセット数のクロマ値が選択され、次いで、2つのクロマセットに分類されるとともに、プリセット数のルマ値が選択され、次いで、2つのルマセットに分類される。各ルマセット内のルマ値の平均値と各クロマセット内のクロマ値の平均値とに基づいて、クロマブロックに対応する線形モデルにおけるスケーリング係数が決定され、そして更に、オフセットファクタが決定される。より少量の乗算のみを必要とするので、符号化時間及び復号時間を短縮することができる。
【0266】
なお、上述の実施形態で提供されるクロマブロック予測装置がクロマブロック予測情報を決定するとき、上述の機能モジュールの分割は単に説明の一例として用いられているにすぎない。実際の適用では、上述の機能は、必要に応じて異なる機能モジュールに割り当てられ得る。換言すれば、装置の内部構造が、説明された機能の全て又は一部を完了するように複数の異なる機能モジュールに分割される。また、上述の実施形態で提供されるクロマブロック予測装置は、クロマブロック予測方法の実施形態と同じ概念を有する。クロマブロック予測装置の具体的な実施プロセスに関する詳細については、方法実施形態を参照されたい。詳細をここで再び説明することはしない。
【0267】
この出願は更に、コンピュータ読み取り可能記憶媒体を提供する。当該コンピュータ読み取り可能記憶媒体は命令を格納しており、当該コンピュータ読み取り可能記憶媒体がコンピューティング装置上で実行されるとき、該コンピューティング装置がクロマブロック予測方法を実行することが可能にされる。
【0268】
この出願は更に、命令を含むコンピュータプログラムプロダクトを提供する。当該コンピュータプログラムプロダクトがコンピューティング装置上で実行されるとき、該コンピューティング装置がクロマブロック予測方法を実行することが可能にされる。
【0269】
上述の実施形態の全て又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はこれらの何らかの組み合わせを用いることによって実装され得る。実装にソフトウェアが使用される場合、実施形態の全て又は一部は、コンピュータプログラムプロダクトの形態で実装され得る。コンピュータプログラムプロダクトは、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令がサーバ又は端末にロードされて実行されるときに、この出願の実施形態に従った手順又は機能の全て又は一部が生成される。コンピュータ命令は、コンピュータ読み取り可能記憶媒体に格納されることができ、あるいは、コンピュータ読み取り可能記憶媒体から別のコンピュータ読み取り可能記憶媒体に送られることができる。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、又はデータセンターから、有線(例えば、同軸光ケーブル、光ファイバ、又はデジタル加入者回線)方式又は無線(例えば、赤外線、無線、又はマイクロ波)方式で、別のウェブサイト、コンピュータ、サーバ、又はデータセンターに送られ得る。コンピュータ読み取り可能記憶媒体は、サーバ又は端末によってアクセス可能な任意の使用可能な媒体であってもよいし、あるいは、1つ以上の使用可能な媒体を統合する例えばサーバ若しくはデータセンターなどのデータストレージ装置であってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、及び磁気テープ)、光媒体(例えば、デジタルビデオディスク(Digital Video Disk、DVD))、又は半導体媒体(例えば、ソリッドステートドライブ)とし得る。
【0270】
上述の説明は、単にこの出願の特定の実装であり、この出願を限定することを意図するものではない。この出願の精神及び原理から逸脱することなく為される如何なる変更、均等置換、又は改良も、この出願の保護範囲に含まれるはずである。
【外国語明細書】