(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161516
(43)【公開日】2024-11-19
(54)【発明の名称】イントラインター予測を制御する方法、エンコーダ、デコーダ、及びプログラム
(51)【国際特許分類】
H04N 19/13 20140101AFI20241112BHJP
H04N 19/157 20140101ALI20241112BHJP
H04N 19/176 20140101ALI20241112BHJP
H04N 19/70 20140101ALI20241112BHJP
H04N 19/107 20140101ALI20241112BHJP
【FI】
H04N19/13
H04N19/157
H04N19/176
H04N19/70
H04N19/107
【審査請求】有
【請求項の数】1
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024137497
(22)【出願日】2024-08-19
(62)【分割の表示】P 2023102092の分割
【原出願日】2019-11-12
(31)【優先権主張番号】62/767,473
(32)【優先日】2018-11-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/454,294
(32)【優先日】2019-06-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
(57)【要約】 (修正有)
【課題】イントラインター予測を制御する方法及び装置を提供する。
【解決手段】方法は、現在ブロックの隣接ブロックがイントラインター予測モードによって符号化されているかどうかを決定し、隣接ブロックがイントラインター予測モードによって符号化されていると決定したことに基づいて、イントラインター予測モードに関連付けられているイントラ予測モードを利用して現在ブロックのイントラモード符号化を実行し;隣接ブロックに関連付けられている予測モードフラグを設定し、隣接ブロックに関連付けられている予測モードフラグに基づいて、コンテキスト値を取得し、取得したコンテキスト値を利用して、現在ブロックがイントラ符号化されていることを示す、現在ブロックに関連付けられている予測モードフラグに対するエントロピー符号化を実行する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
エンコーダが実行する、ビデオシーケンスの符号化のためにイントラインター予測を制御する方法であって、
現在ブロックの上又は左の隣接ブロックに関連付けられる第1予測モードフラグpred_mode_flagを、前記隣接ブロックがインター予測モードであるのか、それともイントラ予測モードであるのかを示すように設定するステップと、
決定フラグを用いて、前記現在ブロックの上又は左の前記隣接ブロックがインター予測モードで符号化されているのか、それともイントラインター予測モードで符号化されているのかを最終決定するステップと、
前記隣接ブロックに関連付けられる前記第1予測モードフラグpred_mode_flagに基づき、前記現在ブロックに関連付けられる第2予測モードフラグpred_mode_flagに関するコンテキスト値を導出するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願の相互参照〕
本出願は、米国特許商標庁に、2018年11月14日にて提出された米国仮特許出願第62/767.473号、及び2019年6月27日にて提出された米国出願第16/454.294号の優先権を主張し、それらの全内容が援用により本明細書に組み込まれる。
【0002】
実施形態に該当する方法及び装置はビデオ符号化に関し、特に、予測モードとコーディングブロックフラグ(CBF)をエントロピー符号化するための改善されたコンテキスト設計の方法及び装置に関する。
【背景技術】
【0003】
図1Aは、高効率ビデオ符号化(High Efficiency Video Coding、HEVC)において利用されるイントラ予測モードを示す。HEVCにおいて、合計35のイントラ予測モードがあり、これらのイントラ予測モードにおいて、モード10(101)は水平モードであり、モード26(102)は垂直モードであり、モード2(103)、モード18(104)及びモード34(105)は対角モードである。これらのイントラ予測モードは、3つの最確モード(MPM)と残りの32個のモードによってシグナリングされる。
【0004】
多用途ビデオコーディング(versatile video coding、VVC)について、一部のコーディングユニット構文テーブルが以下に示されている。スライスタイプがイントラではなく、且つスキップモードが選択されない場合、フラグpred_mode_flagをシグナリングするとともに、1つのコンテキスト(例えば、変数pred_mode_flag)のみを利用して当該フラグを符号化する。一部のコーディングユニットの構文テーブルは次の通りである。
【表1】
【0005】
図1Bを参照し、VVCにおいて、合計87のイントラ予測モードがあり、これらのイントラ予測モードにおいて、モード18(106)は水平モードであり、モード50(107)は垂直モードであり、モード2(108)、モード34(109)及びモード66(110)は対角モードである。モード―1からモード―10(111)、及びモード67からモード76(112)は広角イントラ予測(Wide―Angle Intra Prediction、WAIP)モードと呼ばれる。
【0006】
イントラコーディングブロックの色度成分について、符号器は、平面モード(モードインデックス0)、DCモード(モードインデックス1)、水平モード(モードインデックス18)、垂直モード(モードインデックス50)及び対角モード(モードインデックス66)を含む5つのモードのうちの最適な色度予測モードを選択するとともに、関連する輝度成分のイントラ予測モードの直接コピー、即ち、DMモードを選択する。以下の表1は、色度のイントラ予測方向とイントラ予測モードの番号との間のマッピングを示す。
【表2】
【発明の概要】
【発明が解決しようとする課題】
【0007】
重複モードを避けるために、DMモード以外の4つのモードは、関連する輝度(Luma)成分のイントラ予測モードに基づき割り当てられる。色度(Chroma)成分のイントラ予測モードの番号が4である場合、輝度成分のイントラ予測方向を、色度成分のイントラ予測サンプルの生成に適用する。色度成分のイントラ予測モードの番号が4ではなく、輝度成分のイントラ予測モードの番号と同じである場合、イントラ予測方向66を、色度成分のイントラ予測サンプルの生成に適用する。
【0008】
マルチ仮説イントラインター予測は、1つのイントラ予測と1つのマージインデックス付き予測を組み合わせ、即ち、イントラインター予測モードになる。マージコーディングユニット(Coding unit、CU)において、マージモードに対して、1つのフラグを信号で送信することで、当該フラグが真である場合、イントラ候補リストからイントラモードを選択する。輝度成分に対して、イントラ候補リストは、DCモード、平面モード、水平モード及び垂直モードを含む4つのイントラ予測モードから取得され、ブロック形状に応じて、イントラ候補リストの大きさは3又は4であってもよい。CUの幅がCUの高さの2倍より大きい場合、イントラ候補リストから水平モードを除去し、CUの高さがCUの幅の2倍より大きい場合、イントラ候補リストから垂直モードを除去する。加重平均を利用して、イントラモードインデックスによって選択された1つのイントラ予測モードと、マージインデックスによって選択された1つのマージインデックス付き予測とを組み合わせる。色度成分に対して、追加のシグナリングを必要としなく、常にDMを利用する。
【0009】
予測を組み合わせるための重みは以下のように説明される。DCモード、又は平面モードが選択されたか、又はコーディングブロック(Coding Block、CB)の幅又は高さが4よりも小さい場合、等しい重みを適用する。CBの幅又は高さが4以上であるこれらのCBについて、水平/垂直モードが選択された場合、まず、1つのCBを垂直/水平に4つの等面積領域に分割する。各領域に、対応する(w_intrai,w_interi)として示される重みセットを適用し、iは1から4であり、(w_intra1,w_inter1)=(6,2)、(w_intra2,w_inter2)=(5,3)、(w_intra1,w_inter3)=(3,5)、(w_intra4,w_inter4)=(2,6)である。(w_intra1,w_inter1)は、参照サンプルに最も近い領域に対応し、(w_intra4,w_inter4)は、参照サンプルから最も遠い領域に対応する。そして、2つの重み付け予測を合計し、3ビットだけ右シフトすることで、組み合わせられた予測を計算する。また、予測器のイントラ仮説のイントラ予測モードは、その後の、隣接CBがイントラ符号化される場合、これらのCBに対してイントラモード符号化を行うために保存できる。
【課題を解決するための手段】
【0010】
実施形態によれば、ビデオシーケンスの復号化又は符号化のためのイントラインター予測を制御するための方法は、少なくとも1つのプロセッサによって実行される。当該方法は、現在ブロックの隣接ブロックがイントラインター予測モードによって符号化されるかどうかを決定するステップと、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、イントラインター予測モードに関連付けられたイントラ予測モードを利用して、現在ブロックのイントラモード符号化を実行し、隣接ブロックに関連付けられた予測モードフラグを設定し、設定された隣接ブロックに関連付けられた予測モードフラグに基づいてコンテキスト値を取得し、取得されたコンテキスト値を利用して、現在ブロックがイントラ符号化されていることを示す、現在ブロックに関連付けられた予測モードフラグに対する、エントロピー符号化を実行するという操作を実行するステップと、を含む。
【0011】
実施形態によれば、ビデオシーケンスの復号化又は符号化のためのイントラインター予測を制御するための装置は、コンピュータプログラムコードを記憶するように配置される少なくとも1つのメモリと、前記少なくとも1つのメモリにアクセスするとともに、コンピュータプログラムコードに基づき動作するように配置される少なくとも1つのプロセッサと、を含む。コンピュータプログラムコードは、少なくとも1つのプロセッサに、現在ブロックの隣接ブロックがイントラインター予測モードによって符号化されるかどうかを決定させるように配置される第1決定コードと、少なくとも1つのプロセッサに、隣接ブロックがイントラインター予測モードによって符号化されたと決定されていることに基づいて、イントラインター予測モードに関連付けられたイントラ予測モードを利用して現在ブロックのイントラモード符号化を実行させるように配置される実行コードと、少なくとも1つのプロセッサに、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、隣接ブロックに関連付けられた予測モードフラグを設定し、設定された、隣接ブロックに関連付けられた予測モードフラグに基づいて、コンテキスト値を取得し、取得されたコンテキスト値を利用して、現在ブロックがイントラ符号化されていることを示す、現在ブロックに関連付けられた予測モードフラグに対する、エントロピー符号化を実行するという操作を実行させるように配置される設定コード設定コードと、を含む。
【0012】
実施形態によれば、命令が記憶された非一時的コンピュータ可読記憶媒体であって、当該命令は少なくとも1つのプロセッサに、現在ブロックの隣接ブロックがイントラインター予測モードによって符号化されるかどうかを決定するステップと、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、イントラインター予測モードに関連付けられたイントラ予測モードを利用して、現在ブロックのイントラモード符号化を実行し、隣接ブロックに関連付けられた予測モードフラグを設定し、設定された、隣接ブロックに関連付けられた予測モードフラグに基づいて、コンテキスト値を取得し、取得されたコンテキスト値を利用して、現在ブロックがイントラ符号化されていることを示す、現在ブロックに関連付けられた予測モードフラグに対する、エントロピー符号化を実行するという操作を実行するステップとを、実行させる。
【図面の簡単な説明】
【0013】
【
図1A】HEVCにおけるイントラ予測モードの図である。
【
図1B】VVCにおけるイントラ予測モードの図である。
【
図2】実施形態による、通信システムの簡略化ブロック図である。
【
図3】実施形態による、ビデオ符号器とビデオ復号器のストリーミング環境における配置の図である。
【
図4】実施形態による、ビデオ復号器の機能ブロック図である。
【
図5】実施形態による、ビデオ符号器の機能ブロック図である。
【
図6】実施形態による、現在ブロック及び現在ブロックの隣接ブロックの図である。
【
図7】実施形態による、ビデオシーケンスの復号化又は符号化のためのイントラインター予測を制御する方法を示すフローチャートである。
【
図8】実施形態による、ビデオシーケンスの復号化又は符号化のためのイントラインター予測を制御するための装置の簡略化ブロック図である。
【
図9】実施形態を実現するのに適したコンピュータシステムの図面である。
【発明を実施するための形態】
【0014】
図2は、実施形態による通信システム(200)の簡略化ブロック図である。通信システム(200)は、ネットワーク(250)を介して相互接続される少なくとも2つの端末(210~220)を含み得る。一方向のデータ伝送の場合、第1端末(210)は、ローカル位置にあるビデオデータを符号化することで、ネットワーク(250)を介して他の端末(220)に伝送することができる。第2端末(220)は、ネットワーク(250)から他の端末の符号化されたビデオデータを受信し、符号化されたビデオデータを復号化し、復元されたビデオデータを表示することができる。一方向のデータ伝送は、メディアサービスアプリケーションなどでは一般的であり得る。
【0015】
図2は、例えばビデオ会議中に発生する可能性がある符号化されたビデオの双方向伝送をサポートするために提供される第2対の終端(230、240)を示す。双方向のデータ伝送の場合、各端末(230、240)は、ローカル位置でキャプチャされたビデオデータを符号化することで、ネットワーク(250)を介して他の端末に伝送することができる。各端末(230、240)はまた、他の端末から伝送された、符号化されたビデオデータを受信し、符号化されたビデオデータを復号化して、復元されたビデオデータをローカル表示機器に表示することができる。
【0016】
図2において、端末(210~240)はサーバ、パーソナルコンピュータ及びスマートフォンとして示されるが、実施形態の原理はこれに限定されていない。実施形態はラップトップコンピュータ、タブレット、メディアプレイヤー及び/又は専用のビデオ会議機器に適用される。ネットワーク(250)は、端末(210~240)の間で符号化されたビデオデータを伝送するための、例えば有線及び/又は無線通信ネットワークが含まれた任意の数のネットワークを示す。通信ネットワーク(250)は、回路交換及び/又はパケット交換チャネルにおいてデータを交換することができる。代表的なネットワークは電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本出願の検討の目的のために、ネットワーク(250)のアーキテクチャ及びトポロジは、以下に本明細書で説明されない限り、実施形態の操作にとって重要ではないかもしれない。
【0017】
図3は、実施形態による、ビデオ符号器とビデオ復号器の、ストリーミング環境における配置の図である。開示されたテーマは等価的に、例えばビデオ会議、デジタルTV、圧縮されたビデオなどのCD、DVD、メモリースティックなどが含まれるデジタル媒体への記憶を含む、ビデオをサポートするための他のアプリケーションに適用され得る。
【0018】
ストリーミングシステムは、キャプチャサブシステム(313)を含んでもよく、当該キャプチャサブシステムは、例えば非圧縮のビデオサンプルストリーム(302)を作成するためのビデオソース(301)(例えばデジタルカメラ)を含んでもよい。符号化されたビデオビットストリームと比較して、当該サンプルストリーム(302)はデータ量が多いことを強調するように太線として描画され、当該サンプルストリーム(302)は撮影装置(301)に連結される符号器(303)によって処理され得る。符号器(303)は、以下でより詳細に説明する開示されたテーマの各態様を実現又は実施するために、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み得る。サンプルストリームと比較して、符号化されたビデオビットストリーム(304)はデータ量が少ないことを強調するように細線として描画され、符号化されたビデオビットストリーム(304)は、将来の使用のために、ストリーミングサーバ(305)に記憶され得る。1つ以上のストリーミングクライアント(306、308)は、ストリーミングサーバ(305)にアクセスして、符号化されたビデオビットストリーム(304)のレプリカ(307、309)を検索することができる。クライアント(306)は、符号化されたビデオデータの着信レプリカ(307)を復号化するとともに、ディスプレイ(312)又は他のレンダリング機器(図示せず)にレンダリングされる発信ビデオサンプルストリーム(311)を作成するためのビデオ復号器(310)を含むことができる。いくつかのストリーミングシステムにおいて、いくつかのビデオ符号化/圧縮規格に基づき、ビデオビットストリーム(304、307、309)を符号化できる。これらの規格の例はITU―T H.265提案書を含む。非公式的にVVCと呼ばれるビデオ符号化規格は開発中である。開示されたテーマはVVCのコンテキストに適用され得る。
【0019】
図4は、実施形態によるビデオ復号器(310)の機能ブロック図である。
【0020】
受信機(410)は、復号器(310)によって復号化される1つ以上のコーデックビデオシーケンスを受信することができ、同一の実施形態又は他の実施形態において、一度に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスと独立している。チャネル(412)から符号化されたビデオシーケンスを受信することができ、当該チャネルは、符号化されたビデオデータを記憶するための記憶機器へのハードウェア/ソフトウェアリンクであってもよい。受信機(410)は、符号化されたビデオデータ及び他のデータ、例えば、それぞれの使用エンティティ(図示せず)に転送され得る符号化されたオーディオデータ及び/又は補助データストリームを受信することができる。受信機(410)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークのジッタを対処するために、受信機(410)とエントロピー復号器/パーサー(以下、「パーサ」と呼ばれる)との間にバッファメモリ(415)を連結することができる。受信機(410)は十分な帯域幅及び制御可能性を有する記憶/転送機器、又は等時性リアルタイムネットワークからデータを受信する場合、バッファメモリ(415)を必要としない場合があり、又は、バッファ(615)が小さくてもよい。インターネットのようなパケットネットワークをなるべく利用するために、バッファメモリ(415)を必要とする場合があり、バッファメモリは比較的大きく、有利に適応的なサイズを有してもよい。
【0021】
ビデオ復号器(310)は、エントロピー符号化されたビデオシーケンスに基づきシンボル(421)を再構築するために、パーサー(420)を含み得る。これらのシンボルのカテゴリは、ビデオ復号器(310)の操作を管理するための情報、及びディスプレイ(312)のようなレンダリング機器を制御するための潜在的な情報が含まれ、
図4に示すように、当該レンダリング機器は復号器の構成部分ではないが、復号器に連結され得る。レンダリング機器のための制御情報は、補充拡張情報(Supplemental Enhancement Information、SEIメッセージ)又はビデオユーザビリティ情報(Video Usability Information、VUI)パラメータセットフラグメント(図示せず)という形式であってもよい。パーサー(420)は、受信された符号化されたビデオシーケンスに対して解析/エントロピー復号化を行う。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に拠することができ、可変長符号、ハフマン符号(Huffman coding)、文脈依存の有無にかかわらず算術符号化などを含む当業者に周知の原理に従うことができる。パーサーはグループに対応する少なくとも1つのパラメータに基づき、符号化されたビデオシーケンスからビデオ復号器における画素のサブグループのうちの少なくとも1つのサブグループのためのサブグループパラメータセットを抽出する。サブグループには、ピクチャグループ(Groups of Picture、GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(Coding Unit、CU)、ブロック、変換ユニット(Transform Unit、TU)、予測ユニット(Prediction Unit、PU)などが含まれる。エントロピー復号器/パーサーはさらに、符号化されたビデオシーケンスから、変換係数、量子化器パラメータ(quantizer parameter、QP)値、動きベクトルなどのような情報を抽出してもよい。
【0022】
パーサー(420)はバッファメモリ(415)から受信されたビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、シンボル(421)を作成することができる。パーサーは、符号化されたデータを受信するとともに、特定のシンボル(421)を選択的に復号化してもよい。また、パーサーは、特定のシンボル(421)が動き補償予測ユニット(453)、スケーラ/逆変換ユニット(451)、イントラ予測ユニット(452)又はループフィルタ(454)に提供されるかどうかを判定することができる。
【0023】
符号化されたビデオピクチャ又は符号化されたビデオピクチャの一部のタイプ(例えば、インターピクチャとイントラピクチャ、インターブロックとイントラブロック)及び他の要因によって、シンボル(421)の再構築は、複数の異なるユニットに関与することができる。関与するユニット及び関与方式は、符号化されたビデオシーケンスからパーサー(420)が解析したサブグループ制御情報によって制御される。簡潔のために、パーサー(420)と以下の複数のユニットとの間にあるこのようなサブグループ制御情報の流れは説明していない。
【0024】
既に言及された機能ブロックに加えて、復号器(310)は、概念的に、以下に説明する複数の機能ユニットに細分され得る。商業的な制約の下で実行する実際の実現方式において、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されてもよい。しかしながら、開示されたテーマを説明するために、概念的には、以下の機能ユニットに細分されることは適切である。
【0025】
第1ユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、パーサー(420)から、使用する変換方式、ブロックのサイズ、量子化因子、量子化スケーリング行列などを含む、シンボル(421)としての量子化変換係数及び制御情報を受信する。アグリゲーター(455)に入力され得るサンプル値を含むブロックを出力することができる。
【0026】
いくつかの場合、スケーラ/逆変換(451)の出力サンプルは、イントラコーディングブロック、即ち、以前に再構築されたピクチャからの予測情報を使用しなく、現在ピクチャの以前に再構築された部分からの予測情報を使用できるブロックに属することができる。このような予測情報は、イントラ予測ユニット(452)によって提供され得る。いくつかの場合、イントラ予測ユニット(452)は、現在(部分的に再構築された)ピクチャ(456)から取得された、周辺が既に再構築された情報を利用して、再構築しているブロックと同じサイズ及び形状のブロックを生成する。いくつかの場合、アグリゲーター(455)は、各サンプルに基づいて、イントラ予測ユニット(452)によって生成された予測情報を、スケーラ/逆変換ユニット(451)から提供された出力サンプル情報に追加する。
【0027】
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルはインター符号化され、且つ潜在的に動き補償されたブロックに属し得る。このような場合、動き補償予測ユニット(453)は参照ピクチャバッファ(457)にアクセスして、予測のためのサンプルを取得することができる。ブロックに属するシンボル(421)に基づき、取得されたサンプルに対して動き補償を行った後、これらのサンプルはアグリゲーター(455)によってスケーラ/逆変換ユニットの出力(この場合、残差サンプル又は残差信号と呼ばれる)に追加されることで、出力サンプル情報を生成することができる。動き補償予測ユニットが予測サンプルを抽出するための参照ピクチャメモリ内のアドレスは、動きベクトルによって制御されてもよく、動きベクトルはシンボル(421)の形で、動き補償予測ユニットによって使用されることができ、シンボル(421)は、例えばX、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルの正確な動きベクトルが使用される際に参照ピクチャメモリから取得されたサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【0028】
アグリゲーター(455)の出力サンプルはループフィルタユニット(454)において、様々なループフィルタリング技術によって処理されてもよい。ビデオ圧縮技術はループ内フィルタ技術を含んでもよく、ループ内フィルタ技術は、符号化されたビデオビットストリームに含まれるパラメータによって制御され、前記パラメータはパーサー(420)からのシンボル(421)として、ループフィルタユニット(454)に適用されることができ、しかしながら、ビデオ圧縮技術はさらに、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号化順序での)前の部分を復号化する期間に取得されたメタ情報に応答してもよいし、以前に構築されループフィルタリング処理されたサンプル値に応答してもよい。
【0029】
ループフィルタユニット(454)の出力はサンプルストリームであってもよく、当該サンプルストリームは、将来のピクチャ間予測で使用されるために、レンダリング機器(312)に出力され、参照ピクチャバッファ(456)に記憶されてもよい。
【0030】
ある符号化されたピクチャは、完全に再構築されたと、参照ピクチャとして、将来の予測のために用いられる。符号化されたピクチャは完全に再構築され、当該符号化されたピクチャは(例えばパーサー(420)によって)参照ピクチャとして認識されると、現在参照ピクチャ(456)は参照ピクチャバッファ(457)の一部になり、その後の符号化されたピクチャの再構築を開始する前に、新たな現在ピクチャメモリを再割当てることができる。
【0031】
ビデオ復号器(310)は例えばITU―T H.265提案書の規格に記録された所定のビデオ圧縮技術に基づき、復号化操作を実行してもよい。符号化されたビデオシーケンスは、例えば、ビデオ圧縮技術ドキュメント又は規格において、そのプロファイルで明確に指定されたビデオ圧縮技術又は規格の構文に従う意味で、符号化されたビデオシーケンスは使用されるビデオ圧縮技術又は規格によって指定される構文に合う。コンプライアンスについて、符号化されたビデオシーケンスの複雑度がビデオ圧縮技術又は規格のレベルによって限定される範囲内にあることも要求する。いくつかの場合、レベルは、最大ピクチャのサイズ、最大フレームレート、最大再構築サンプルレート(例えば、1秒あたりのメガのサンプルを単位として測定する)、最大参照ピクチャサイズなどを制限する。いくつかの場合、レベルによって設定される制限は、仮想参照復号器(Hypothetical Reference Decoder、HRD)の仕様、及び符号化されたビデオシーケンスにおいてシグナリングされるHRDバッファ管理のメタデータによってさらに限定されてもよい。
【0032】
実施形態において、受信機(410)は、符号化されたビデオとともに追加(冗長)データを受信できる。追加データは符号化されたビデオシーケンスの一部として含まれる。追加データはビデオ復号器(310)によって利用されることで、データを適切に復号化し、及び/又は元のビデオデータをより正確に再構築する。追加データは、例えば時間、空間、又は信号対雑音比(SNR)拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形式であってもよい。
【0033】
図5は、実施形態によるビデオ符号器(303)の機能ブロック図であり得る。
【0034】
符号器(303)は、ビデオソース(301)(符号器の一部ではない)からビデオサンプルを受信でき、当該ビデオソースは、符号器(303)によって符号化されるビデオ画像をキャプチャすることができる。
【0035】
ビデオソース(301)は、符号器(303)によって符号化される、デジタルビデオサンプルストリームの形であるソースビデオシーケンスを提供してもよく、デジタルビデオサンプルストリームは任意の適切なビット深度(例えば、8ビット、10ビット、12ビットなど)、任意の色空間(例えば、BT.601 Y CrCB、RGBなど)、及び任意の適切なサンプリング構成(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)を含んでもよい。メディアサービスシステムにおいて、ビデオソース(301)は以前に準備されたビデオを記憶するための記憶機器であってもよい。ビデオ会議システムにおいて、ビデオソース(301)は、ビデオシーケンスとして、ローカル画像情報をキャプチャするための撮影装置であってもよい。ビデオデータは、順番に見る際に動きが与えられる複数の個別のピクチャとして提供されてもよい。ピクチャそのものは、空間画素アレイとして組織されてもよく、なお、使用されるサンプリング構成、色空間などによって、各画素には1つ以上のサンプルが含まれてもよい。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下の記載はサンプルに着目する。
【0036】
実施形態によれば、符号器(303)は、リアルタイムで、又はアプリケーションに必要な任意の他の時間の制約で、ソースビデオシーケンスのピクチャを符号化するとともに、符号化されたビデオシーケンス(543)として圧縮される。適切な符号化速度で実行することは、コントローラ(550)の機能の1つである。コントローラは、以下に説明する他の機能ユニットを制御し、機能的にこれらの機能ユニットに結合される。簡潔のために、結合は図示されていない。コントローラによって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値など・・・)、ピクチャのサイズ、ピクチャグループ(GOP)の配置、最大動きベクトルの検索範囲などを含んでもよい。当業者は容易に、コントローラ(550)の他の機能を、特定のシステム設計に対して最適化されたビデオ符号器(303)に関するものとして認識できる。
【0037】
いくつかのビデオ符号器は、当業者にとって容易に了解できる「符号化ループ」で操作する。非常に簡略化した説明として、符号化ループは、符号器(530)(その後、「ソース符号器」と呼ばれる)の(符号化対象となる入力ピクチャと参照ピクチャに基づいて、シンボルを作成することを担当する)符号化部分、及び符号器(303)に埋め込まれる(ローカル)復号器(533)を含んでもよく、復号器(533)は、(リモート)復号器によっても作成しようとするサンプルデータを作成するように、シンボルを再構築する(なぜならば、本開示のテーマで考慮されるビデオ圧縮技術において、シンボルと符号化されたビデオビットストリームとの間の任意の圧縮は可逆であるからだ)。当該再構築されたサンプルストリームは参照ピクチャメモリ(534)に入力される。シンボルストリームの復号化は、復号器位置(ローカル又はリモート)と関係がないビットが正確である結果が得られるため、参照ピクチャバッファのコンテンツはローカル符号器とリモート符号器との間でビットが正確である。つまり、符号器の予測部分から「見られる」参照ピクチャサンプルは、復号器が復号化中に予測を利用する際に「見られる」サンプル値とは全く同じである。このような参照ピクチャの同期性という基本原理(及び、例えばチャネル誤差のため、同期性を維持できない場合に発生するドリフト)は当業者にとって周知である。
【0038】
「ローカル」復号器(533)の動作は、以上で
図4を参照して詳細に説明された「リモート」復号器(310)の動作と同じであってもよい。しかしながら、
図4を簡単に参照し、シンボルは利用可能であり、エントロピー符号器(545)とパーサー(420)が無損失でシンボルを符号化されたビデオシーケンスに符号化/復号化することができる場合、チャネル(412)、受信機(410)、バッファメモリ(415)及びパーサーが含まれた復号器(310)のエントロピー復号化部分を、復号器(533)で完全に実現する必要がない。
【0039】
この場合、復号器に存在する解析/エントロピー復号化以外の任意の復号器技術も、必然的に、基本的に同じ機能形式で対応する符号器に存在することが観察され得る。符号器技術と完全に説明された復号器技術とは相互に逆であるため、符号器技術に対する説明を簡略化できる。より詳しい説明は、いくつかの箇所のみにとって必要であり、以下で提供される。
【0040】
ソース符号器(530)の動作の一部として、ソース符号器(530)は、動き補償予測符号化を実行することができ、動き補償予測符号化はビデオシーケンスからの、「参照フレーム」として指定された1つ以上の以前に符号化されたフレームを参照して、入力フレームに対して予測符号化を行う。このようにして、符号化エンジン(532)は入力フレームの画素ブロックと、入力フレームの予測参照の参照フレームとして選択され得る画素ブロックとの間の差を符号化してもよい。
【0041】
復号器(533)はソース符号器(530)によって作成された符号に基づいて、参照フレームとして指定されるフレームの以前に符号化されたビデオデータを復号化する。符号化エンジン(532)の操作は有利的に非可逆処理であってもよい。符号化されたビデオデータはビデオ復号器(
図4において図示せず)で復号化されると、再構築されたビデオシーケンスは、一般的にいくつかの誤差を有するソースビデオシーケンスのレプリカであってもよい。復号器(533)は、ビデオ復号器によって参照フレームに対して実行され得る復号化処理をコピーするとともに、再構築された参照フレームを参照ピクチャキャッシュ(534)に記憶させることができる。このようにして、ビデオ符号器(303)は、再構築された参照フレームのレプリカをローカルに記憶することができ、これらのレプリカは、リモートビデオ復号器によって取得される再構築された参照フレームと共通のコンテンツを有する(伝送誤差が存在していない)。
【0042】
予測器(535)は符号化エンジン(532)に対して予測検索を実行する。つまり、符号化対象となる新たなフレームに対して、予測器(535)は参照ピクチャメモリ(534)から、新たなピクチャの適切な予測参照として使用得るサンプルデータ(候補参照画素ブロックとして)、又は例えば参照ピクチャの動きベクトル、ブロック形状などの特定のメタデータを検索してもよい。予測器(535)はサンプルブロックに基づいて画素ブロックごとに動作することで、適切な予測参照を見つけることができる。いくつかの場合、予測器(535)によって取得された検索結果から決定されるように、入力ピクチャは参照ピクチャメモリ(534)に記憶された複数の参照ピクチャから取得される予測参照を有してもよい。
【0043】
コントローラ(550)は、例えばビデオデータを符号化するためのパラメータとサブグループパラメータの設定を含む、ソース符号器(530)の符号化操作を管理することができる。
【0044】
エントロピー符号器(545)において、以上の全ての機能ユニットの出力に対して、エントロピー符号化を行ってもよい。エントロピー符号器は、当業者の既知技術(例えばハフマン符号、可変長符号、算術符号など)に基づき、各種機能ユニットによって生成されたシンボルに対して可逆圧縮を行うことで、これらのシンボルを符号化されたビデオシーケンスに変換する。
【0045】
伝送器(540)は、通信チャネル(560)を介した伝送の準備をするように、エントロピー符号器(545)によって作成された、符号化されたビデオシーケンスをバッファリングすることができ、当該通信チャネルは、符号化されたビデオデータを記憶するための記憶機器へのハードウェア/ソフトウェアリンクであってもよい。伝送器(540)はソース符号器(530)からの符号化されたビデオデータと、伝送対象となる他のデータ、例えば符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とをマージすることができる。
【0046】
コントローラ(550)は、符号器(303)の動作を管理することができる。符号化中に、コントローラ(550)は各符号化されたピクチャに、特定の符号化されたピクチャタイプを割り当てもよく、これは、対応するピクチャに適用される符号化技術に影響する可能性がある。例えば、一般的に、ピクチャは以下のフレームタイプのうちの1つとして割り当てられる。
【0047】
イントラピクチャ(Iピクチャ)は、シーケンス内の任意の他のフレームを予測のソースとして使用せずに符号化及び復号化されるピクチャであってもよい。一部のビデオコーデックは、例えば、独立復号器リフレッシュピクチャ(Independent Decoder Refresh」)を含む異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのそれらの変形及び対応する用途と特徴を知っている。
【0048】
予測ピクチャ(Pピクチャ)は、多くとも1つの動きベクトル及び参照インデックスを使用して各ブロックのサンプル値を予測するためのイントラ予測又はインター予測を使用して、符号化及び復号化を行うピクチャであってもよい。
【0049】
双方向予測性ピクチャ(Bピクチャ)は、多くとも2つの動きベクトルと参照インデックスを使用して各ブロックのサンプル値を予測するためのイントラ予測又はインター予測を使用して、符号化及び復号化を行うピクチャであってもよい。同様に、複数の予測ピクチャは、2つを超える参照画像及び関連メタデータを単一のブロックの再構成に使用できる。
【0050】
ソースピクチャは一般的に、空間的に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8又は16×16サンプルのブロック)に細分され、ブロックごとに符号化しされてもよい。ブロックは、該ブロックの対応するピクチャに適用される符号化割り当てによって決定される他の(既に符号化された)ブロックを参照して予測的に符号化されてもよい。例えば、Iピクチャのブロックは、非予測的に符号化されてもよいし、同一のピクチャの符号化されたブロックを参照して予測的に符号化されてもよい(空間的予測又はイントラ予測)。Pピクチャの画素ブロックは、非予測的に、1つの以前に符号化された参照ピクチャを参照して空間的予測又は時間的予測を介して符号化されてもよい。Bピクチャのブロックは、非予測的に、1つ又は2つの以前に符号化された参照ピクチャを参照して、空間的予測又は時間的予測を介して非予測的に符号化されてもよい。
【0051】
ビデオ符号器(303)は例えばITU―T H.265提案書の所定のビデオ符号化技術又は規格に基づき、符号化操作を実行し得る。ビデオ符号器(303)の動作中に、ビデオ符号器(303)は、入力ビデオシーケンスにおける時間的及び空間的冗長性による予測符号化操作を含む様々な圧縮動作を実行することができる。従って、符号化されたビデオデータは、使用されているビデオ符号化技術又は規格によって指定された構文に準拠し得る。
【0052】
実施形態において、伝送器(540)は符号化されたビデオとともに、追加データを伝送できる。ソース符号器(530)は符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加データは時間/空間/SNR拡張層、例えば冗長ピクチャ及びスライスのような他の形式の冗長データ、補充拡張情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットセグメントなどを含んでもよい。
【0053】
従来技術において、ブロックがイントラ符号化されるかそれともインター符号化されるかということを指示するためのフラグpred_mode_flagを符号化するために、隣接ブロックに適用されるフラグの値ではなく、1つのコンテキストのみを利用する。また、隣接ブロックがイントラインター予測モードによって符号化される場合、イントラ予測モードとインター予測モードの組み合わせを使用して、当該隣接ブロックを予測し、そして、そのため、フラグpred_mode_flagをシグナリングするコンテキスト設計について、イントラインター予測モードによって隣接ブロックを符号化するかどうかを考慮することは、より効果的であり得る。
【0054】
本明細書に記載の実施形態は、単独、又は任意の順序で組み合わせて利用されてもよい。以下は、フラグpred_mode_flagは、現在ブロックがイントラ符号化されるか、それともインター符号化されるかということを指示する。
【0055】
図6は、実施形態による、現在ブロック及び現在ブロックの隣接ブロックの図である。
【0056】
図6を参照して、現在ブロック(610)及び現在ブロック(610)のトップ隣接ブロック(620)と左側隣接ブロック(630)を示す。トップ隣接ブロック(620)と左側隣接ブロック(630)のそれぞれの幅は4であり、高さは4である。
【0057】
実施形態において、隣接ブロック(例えば、トップ隣接ブロック(620)と左側隣接ブロック(630))がイントラ予測モード、インター予測モード、又はイントラインター予測モードのいずれによって符号化されるかという情報を使用して、現在ブロック(例えば、現在ブロック(610))のフラグpred_mode_flagをエントロピー符号化するためのコンテキスト値を取得する。詳細には、隣接ブロックがイントラインター予測モードによって符号化される場合、関連付けられたイントラ予測モードは、現在ブロックのイントラモード符号化及び/又はMPMの導出に適用されるが、現在ブロックのフラグpred_mode_flagをエントロピー符号化するためのコンテキスト値を導出する場合、隣接ブロックに対してイントラ予測を利用したにも関わらず、当該隣接ブロックはインターコーディングブロックであると見なされる。
【0058】
一例において、イントラインター予測モードの関連付けられたイントラ予測モードは、常に平面モードである。
【0059】
他の例において、イントラインター予測モードの関連付けられたイントラ予測モードは、常にDCモードである。
【0060】
さらに他の例において、関連付けられるイントラ予測モードは、イントラインター予測モードで適用されるイントラ予測モードとアライメントする。
【0061】
実施形態において、イントラインター予測モードによって隣接ブロック(例えば、トップ隣接ブロック(620)と左側隣接ブロック(630))を符号化する場合、関連付けられたイントラ予測モードは現在ブロック(例えば、現在ブロック(610))のイントラモード符号化及び/又はMPMの導出に適用され、現在ブロックのフラグpred_mode_flagをエントロピー符号化するためのコンテキスト値を導出する場合に、隣接ブロックもイントラコーディングブロックであると見なされる。
【0062】
一例において、イントラインター予測モードの関連付けられたイントラ予測モードは常に平面モードである。
【0063】
他の例において、イントラインター予測モードの関連付けられたイントラ予測モードは常にDCモードである。
【0064】
さらに他の例において、関連付けられたイントラ予測モードは、イントラインター予測モードで適用されるイントラ予測モードとアライメントする。
【0065】
一実施形態において、隣接ブロックがそれぞれイントラ予測モード、インター予測モード及びインター―イントラ予測モードによって符号化された場合、コンテキストインデックス又は値をそれぞれ2、0及び1だけインクリメントする。
【0066】
他の実施形態において、隣接ブロックがそれぞれイントラ予測モード、インター予測モード及びインター―イントラ予測モードによって符号化された場合、コンテキストインデックス又は値をそれぞれ1、0及び0.5だけインクリメントして、最終的なコンテキストインデックスを、最も近い整数に丸める。
【0067】
現在ブロックの全ての隣接ブロックに対してコンテキストインデックス又は値をインクリメントして、最終的なコンテキストインデックスを決定した後、決定された最終的なコンテキストインデックスを隣接ブロックの数で除算して、最も近い整数に丸めることで、平均コンテキストインデックスを決定することができる。決定された平均コンテキストインデックスに基づいて、フラグpred_mode_flagを、現在ブロックがイントラ符号化又はインター符号化されることを指示するように設定するとともに、算術符号化を実行することで、現在ブロックのpred_mode_flagを符号化する。
【0068】
実施形態において、現在ブロック(例えば、現在ブロック(610))がイントラ予測モード、インター予測モード、又はインター―イントラ予測モードのいずれによって符号化されるかという情報を使用して、現在ブロックのCBFをエントロピー符号化するための1つ以上のコンテキスト値を取得する。
【0069】
一実施形態において、3つの別個のコンテキスト(例えば、変数)は、CBFをエントロピー符号化するために使用され、1つのコンテキストは、現在ブロックがイントラ予測モードによって符号化される場合に使用され、1つのコンテキストは、現在ブロックがインター予測モードによって符号化される場合に使用され、及び、1つのコンテキストは、現在ブロックがイントラインター予測モードによって符号化される場合に使用される。当該3つの別個のコンテキストは、輝度CBFを符号化するためにのみ、色度CBFを符号化するためにのみ、又は輝度CBFと色度CBFの両方を符号化するためにのみ適用されてもよい。
【0070】
他の実施形態において、2つの別個のコンテキスト(例えば、変数)は、CBFをエントロピー符号化するために使用され、1つのコンテキストは、現在ブロックがイントラ予測モードによって符号化される場合に使用され、1つのコンテキストは現在ブロックがインター予測モード又はイントラインター予測モードによって符号化される場合に使用される。当該2つの別個のコンテキストは、輝度CBFを符号化するためにのみ、色度CBFを符号化するためにのみ、又は輝度CBFと色度CBFの両方を符号化するためにのみ適用されてもよい。
【0071】
さらなる他の実施形態において、2つの別個のコンテキスト(例えば、変数)は、CBFをエントロピー符号化するために使用され、1つのコンテキストは、現在ブロックがイントラ予測モード又はイントラインター予測モードによって符号化される場合に使用され、1つのコンテキストは、現在ブロックがインター予測モードによって符号化される場合に使用される。当該2つの別個のコンテキストは、輝度CBFを符号化するためにのみ、色度CBFを符号化するためにのみ、又は輝度と色度CBFの両方を符号化するためにのみに適用されてもよい。
【0072】
図7は、実施形態による、ビデオシーケンスの復号化又は符号化のためのイントラインター予測を制御する方法(700)を示すフローチャートである。いくつかの実現方法において、
図7の1つ以上の処理ブロックは復号器(310)によって実行され得る。いくつかの実現方式において、
図7の1つ以上の処理ブロックは、復号器(310)と別の、又は復号器(310)を含む他の機器、又は機器グループ(例えば、符号器(303))によって実行され得る。
【0073】
図7を参照し、第1ブロック(710)において、方法(700)は、現在ブロックの隣接ブロックがイントラインター予測モードによって符号化されるかどうかを決定するステップを含む。隣接ブロックがイントラインター予測モードによって符号化されていないと決定された(710―NO)ことに基づいて、方法(700)は終了する。
【0074】
隣接ブロックがイントラインター予測モードによって符号化されていると決定された(710―YES)ことに基づいて、第2ブロック(720)において、方法(700)はイントラインター予測モードに関連付けられたイントラ予測モードを使用して現在ブロックのイントラモード符号化を実行するステップを含む。
【0075】
第3ブロック(730)において、方法(700)は、隣接ブロックに関連付けられた予測モードフラグを設定するステップを含む。
【0076】
第4ブロック(740)において、方法(700)は、設定された、隣接ブロックに関連付けられた予測モードフラグに基づいて、コンテキスト値を取得するステップを含む。
【0077】
第5ブロック(750)において、方法(700)は、取得されたコンテキスト値を使用して、現在ブロックがイントラ符号化されていることを示す、現在ブロックに関連付けられた予測モードフラグのエントロピー符号化を実行するステップを含む。
【0078】
方法(700)はさらに、隣接ブロックがイントラインター予測モードによって符号化されていると決定された(710―YES)ことに基づいて、イントラインター予測モードに関連付けられたイントラ予測モードを利用して現在ブロックのMPMの導出を実行するステップを含む。
【0079】
イントラインター予測モードに関連付けられたイントラ予測モードは、平面モード、DCモード、又はイントラインター予測モードで適用されるイントラ予測モードであってもよい。
【0080】
隣接ブロックに関連付けられた予測モードフラグを設定することは、当該隣接ブロックがイントラ符号化されていることを示すように、隣接ブロックに関連付けられた予測モードフラグを設定するステップを含んでもよい。
【0081】
隣接ブロックに関連付けられた予測モードフラグを設定することは、当該隣接ブロックがインター符号化されていることを示すように、隣接ブロックに関連付けられた予測モードフラグを設定するステップを含んでもよい。
【0082】
方法(700)はさらに、隣接ブロックがイントラ予測モード、インター予測モード、又はイントラインター予測モードのいずれによって符号化されるかを決定するステップと、隣接ブロックがイントラ予測モードによって符号化されていると決定されたことに基づいて、現在ブロックに関連付けられた予測モードフラグのコンテキストインデックスを2だけインクリメントし、隣接ブロックがインター予測モードにより符号化されていると決定されたことに基づいて、コンテキストインデックスを0だけインクリメントし、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、コンテキストインデックスを1だけインクリメントするステップと、インクリメントされたコンテキストインデックス、及び現在ブロックの隣接ブロックの数に基づいて、平均コンテキストインデックスを決定するステップと、決定された平均コンテキストインデックスに基づいて、現在ブロックに関連付けられた予測モードフラグを設定するステップと、を含んでもよい。
【0083】
方法はさらに、隣接ブロックがイントラ予測モード、インター予測モード、又はイントラインター予測モードのいずれによって符号化されるかを決定するステップと、隣接ブロックがイントラ予測モードによって符号化されていると決定されたことに基づいて、現在ブロックに関連付けられた予測モードフラグのコンテキストインデックスを1だけインクリメントし、隣接ブロックがインター予測モードによって符号化されていると決定されたことに基づいて、コンテキストインデックスを0だけインクリメントし、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、コンテキストインデックスを0.5だけインクリメントするステップと、インクリメントされたコンテキストインデックス、及び現在ブロックの隣接ブロックの数に基づいて、平均コンテキストインデックスを決定するステップと、決定された平均コンテキストインデックスに基づいて、現在ブロックに関連付けられた予測モードフラグを設定するステップと、を含んでもよい。
【0084】
図7は方法(700)のブロック例を示したが、いくつかの実現方式において、
図7に描画されたこれらのブロックよりも、方法(700)は、追加のブロック、より少ないブロック、異なるブロック、又は異なる配置のブロックを含んでもよい。追加又は代わりとして、方法(700)のブロックのうちの2つ又は複数のブロックを並行して実行してもよい。
【0085】
また、提案された方法は、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実現されてもよい。一例において、1つ以上のプロセッサは、非一時的なコンピュータ可読媒体に記憶された、提案された方法のうちの1つ以上の方法を実行するためのプログラムを実行する。
【0086】
図8は、実施形態による、ビデオシーケンスの復号化又は符号化のためのイントラインター予測を制御するための装置(800)の簡略化ブロック図である。
【0087】
図8を参照し、装置(800)は、第1決定コード(810)と、実行コード(820)と、設定コード(830)とを含む。装置(800)はさらに、インクリメントコード(840)と、第2決定コード(850)とを含んでもよい。
【0088】
第1決定コード(810)は、少なくとも1つのプロセッサに、現在ブロックの隣接ブロックがイントラインター予測モードによって符号化されるかどうかを決定させるように配置される。
【0089】
実行コード(820)は、少なくとも1つのプロセッサに、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、イントラインター予測モードに関連付けられたイントラ予測モードを利用して、現在ブロックのイントラモード符号化を実行させるように配置される。
【0090】
設定コード(830)は、少なくとも1つのプロセッサに、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、以下のように動作させるように配置され、即ち、隣接ブロックに関連付けられた予測モードフラグを設定し、設定された、隣接ブロックに関連付けられた予測モードフラグに基づいて、コンテキスト値を取得し、取得されたコンテキスト値を利用して、現在ブロックに関連付けられた予測モードフラグのエントロピー符号化を実行し、当該予測モードフラグは、現在ブロックがイントラ符号化されていることを示す。
【0091】
実行コード(820)はさらに、少なくとも1つのプロセッサに、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、イントラインター予測モードに関連付けられたイントラ予測モードを利用して、現在ブロックの最確モード(MPM)の導出を実行させるように配置されてもよい。
【0092】
イントラインター予測モードに関連付けられたイントラ予測モードは平面モード、DCモード、又はイントラインター予測モードで適用されるイントラ予測モードであってもよい。
【0093】
設定コード(830)はさらに、少なくとも1つのプロセッサに、当該隣接ブロックがイントラ符号化されていることを示すように、隣接ブロックに関連付けられた予測モードフラグを設定させるように配置されてもよい。
【0094】
設定コード(830)はさらに、少なくとも1つのプロセッサに、当該隣接ブロックがインター符号化されていることを示すように、隣接ブロックに関連付けられた予測モードフラグを設定させるように配置されてもよい。
【0095】
第1決定コード(810)はさらに、少なくとも1つのプロセッサに、隣接ブロックがイントラ予測モード、インター予測モード、又はイントラインター予測モードのいずれによって符号化されるかを決定させるように配置されてもよい。インクリメントコード(840)は、少なくとも1つのプロセッサに、隣接ブロックがイントラ予測モードによって符号化されていると決定されたことに基づいて、現在ブロックに関連付けられた予測モードフラグのコンテキストインデックスを2だけインクリメントするステップと、隣接ブロックがインター予測モードによって符号化されていると決定されたことに基づいて、コンテキストインデックスを0だけインクリメントするステップと、隣接ブロックがイントラインター予測モードによって符号化されていると決定されたことに基づいて、前記コンテキストインデックスを1だけインクリメントステップと、実行させるように配置されてもよい。第2決定コード(850)はさらに、少なくとも1つのプロセッサに、インクリメントされたコンテキストインデックス、及び現在ブロックの隣接ブロックの数に基づいて、平均コンテキストインデックスを決定させるように配置されてもよい。設定コード(830)はさらに、少なくとも1つのプロセッサに、決定された平均コンテキストインデックスに基づいて、現在ブロックに関連付けられた予測モードフラグを設定させるように配置されてもよい。
【0096】
第1決定コード(810)はさらに、少なくとも1つのプロセッサに、隣接ブロックがイントラ予測モード、インター予測モード、又はイントラインター予測モードのいずれにより符号化されるかを決定させるように配置されてもよい。インクリメントコード(840)は、少なくとも1つのプロセッサに、隣接ブロックがイントラ予測モードによって符号化されていると決定されたことに基づいて、現在ブロックに関連付けられた予測モードフラグのコンテキストインデックスを1だけインクリメントするステップと、隣接ブロックがインター予測モードによって符号化されていると決定されたことに基づいて、コンテキストインデックスを0だけインクリメントするステップと、隣接ブロックがイントラインター予測モードによって符号化されたと決定されていることに基づいて、前記コンテキストインデックスを0.5だけインクリメントするステップと、を実行させるように配置されてもよい。第2決定コード(850)は、少なくとも1つのプロセッサに、インクリメントされたコンテキストインデックス、及び現在ブロックの隣接ブロックの数に基づいて、平均コンテキストインデックスを決定させるように配置されてもよい。設定コード(830)はさらに、少なくとも1つのプロセッサに、決定された平均コンテキストインデックスに基づいて、現在ブロックに関連付けられた予測モードフラグを設定させるように配置されてもよい。
【0097】
上記の技術はコンピュータ可読命令を使用してコンピュータソフトウェアとして実現され、1つ以上のコンピュータ可読媒体に物理的に記憶されてもよい。。
【0098】
図9は実施形態を実現するのに適したコンピュータシステム(900)の図である。
【0099】
コンピュータソフトウェアは、任意の適切なマシンコード又はコンピュータ言語によって符号化することができ、マシンコード又はコンピュータ言語に対して、アセンブル、コンパイル、リンクなどのメカニズムを実行することで、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、又は解釈、マイクロコードなどによって実行される命令を含むコードを作成することができる。
【0100】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む、様々なタイプのコンピュータ又はそれらのコンポーネントで実行されることができる。
【0101】
図9に示すコンピュータシステム(900)のためのコンポーネントは、本質的に例示であり、各実施形態を実現するためのコンピュータソフトウェアの使用範囲又は機能に制限を加えることを意図するものではない。コンポーネントの配置も、コンピュータシステム(900)の例示的な実施形態に示めされるコンポーネントのいずか、又はそれらの組み合わせに関連する任意の依存性又は要件を有するものとして解釈されるべきではない。
【0102】
コンピュータシステム(900)はいくつかのヒューマンインタフェース入力機器を含んでもよい。このようなヒューマンインタフェース入力機器は、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:声、手をたたく音)、視覚入力(例えば:姿勢)、嗅覚入力(図示せず)などの、1つ以上の人間ユーザーによる入力に応答することができる。ヒューマンインタフェース機器は例えば、オーディオ(例えば、音声、音楽、環境音)、画像(例えば、スキャンした画像、静的画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、ステレオビデオが含まれる3次元ビデオ)などの、人間の意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【0103】
ヒューマンインタフェース入力機器は、キーボード(901)、マウス(902)、タッチパッド(903)、タッチパネル(910)、データグローブ(904)、ジョイスティック(905)、マイク(906)、スキャナ(907)、撮影装置(908)のうちの1つ以上を含んでもよい(それぞれが1つのみ図示される)。
【0104】
コンピュータシステム(900)はさらにいくつかのヒューマンインタフェース出力機器を含んでもよい。このようなヒューマンインタフェース出力機器は、例えば触覚出力、音、光及び匂い/味を介して1つ以上の人間ユーザーの感覚を刺激することができる。このようなヒューマンインタフェース出力機器は、触覚出力機器(例えば、タッチパネル(910)、データグローブ(904)又はジョイスティック(905)による触覚フィードバック機器があるが、入力機器として用いられていない触覚フィードバック機器も存在する)、オーディオ出力機器(例えばスピーカー(909)、ヘッドフォン(図示せず))、視覚出力機器(例えばスクリーン(910)であって、陰極線管(CRT)スクリーン、液晶ディスプレイ(LCD)スクリーン、プラズマスクリーン、有機発光ダイオード(OLED)スクリーンを含み、各々はタッチスクリーン入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかのスクリーンは、立体グラフィックス出力のような手段で、2次元視覚出力又は3次元以上の出力を出力できる可能性があり、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))、及びプリンター(図示せず)を含む。
【0105】
コンピュータシステム(900)はさらに人間がアクセスし得る記憶機器及びその関連する媒体を含んでもよく、例えばCD/DVDなどの媒体(921)を有するCD/DVD ROM/RW(920)が含まれた光学媒体、サムドライブ(922)、取り外し可能なハードドライブ又はソリッドステートドライブ(923)、磁気テープとフロッピーディスクのような従来の磁気媒体(図示せず)、セキュリティドングル(図示せず)ような、専用ROM/ASIC/PLDに基づく機器などを含む。
【0106】
また、当業者は、現在開示されたテーマに関連して使用される「コンピュータ可読媒体」という用語には、伝送媒体、搬送波又は他の一時的な信号が含まれていないことを理解するべきである。
【0107】
コンピュータシステム(900)はさらに1つ以上の通信ネットワークへのインタフェースを含んでもよい。ネットワークは、例えば無線、有線、光学などであってもよい。ネットワークはさらに、ローカルエリア、ワイドエリア、メトロポリタン、車両及び工業、リアルタイム、遅延耐性などであってもよい。ネットワークの例は、イーサネットなどのローカルエリアネットワーク、無線LAN、セルラーネットワーク(グローバルモバイルコミュニケーションシステム(GSM)、第三世代(3G)、第四世代(4G)、第五世代(5G)、ロングタームエボリューション(LTE)などが含まれる)、テレビ有線又は無線広域デジタルネットワーク(有線テレビ、衛星テレビ及び地上波テレビが含まれる)、車両及び工業(CANBusが含まれる)などを含む。いくつかのネットワークは一般的に、特定の汎用データポート又は周辺バス(949)(例えば、コンピュータシステム(900)のユニバーサルシリアルバス(USB)ポート)に接続される外部ネットワークインタフェースアダプタを必要とし、他のネットワークは一般的に、以下で説明されるシステムバスに接続されることで、コンピュータシステム(900)のコアに集積される(例えば、PCコンピュータシステムのイーサネットインタフェース、又はスマートフォンコンピュータシステムのセルラーネットワークインタフェースに集積される)。これらのネットワークのいずれかを使用して、コンピュータシステム(900)は他のエンティティと通信できる。このような通信は一方向受信のみ(例えば、放送テレビ)、一方向送信のみ(例えば、あるCANbus機器へのCANbus)、又は双方向(例えば、ローカルエリア又はワイドエリアデジタルネットワークを介して他のコンピュータシステムに達する)であってもよい。上記のようなこれらのネットワーク及びネットワークインタフェースのそれぞれに、特定のプロトコル及びプロトコルスタックを使用することができる。
【0108】
以上のヒューマンインタフェース機器、人間がアクセスし得る記憶機器及びネットワークインタフェースは、コンピュータシステム(900)のコア(940)に接続され得る。
【0109】
コア(940)は1つ以上の中央処理ユニット(CPU)(941)、グラフィック処理ユニット(GPU)(942)、フィールドプログラム可能なゲートアレイ(FPGA)(943)という形式の専門プログラム可能な処理ユニット、いくつかのタスクのためのハードウェアアクセラレータ(944)などを含む。これらの機器は、読み取り専用メモリ(ROM)(945)、ランダムアクセスメモリ(RAM)(946)、内部大容量記憶装置(例えば内部のユーザーがアクセスできないハードディスクドライブ、ソリッドステートドライブ(SSD)など)(947)とともに、システムバス(948)を介して接続される。いくつかのコンピュータシステムにおいて、1つ以上の物理プラグという形式で、システムバス(948)にアクセスすることで、追加されたCPU、GPUなどによる拡張を可能にすることができる。周辺機器は、直接的又は周辺バス(949)を介してコアのシステムバス(948)に接続され得る。周辺バスのアーキテクチャは周辺コンポーネント相互接続(PCI)、USBなどを含む。
【0110】
CPU(941)、GPU(942)、FPGA(943)及びアクセラレータ(944)はいくつかの命令を実行することができ、これらの命令を組み合わせると、上記のコンピュータコードを構成することができる。当該コンピュータコードはROM(945)又はRAM(946)に記憶されてもよい。一時的なデータもRAM(946)に記憶され、永久データは例えば内部大容量記憶装置(947)に記憶されてもよい。キャッシュメモリによって記憶機器のいずれかへの高速記憶及び検索を実現することができ、当該キャッシュメモリは1つ以上のCPU(941)、GPU(942)、大容量記憶装置(947)、ROM(945)、RAM(946)などに密接に関連することができる。
【0111】
コンピュータ可読媒体は、コンピュータが実現する各種操作を実行するためのコンピュータコードをその上に有することができる。媒体とコンピュータコードとは、実施形態の目的のために、特別に設計及び構築される媒体とコンピュータコードであってもよいし、又は、コンピュータソフトウェアの当業者にとって周知且つ利用可能なタイプのものであってもよい。
【0112】
限定ではなく、例示として、アーキテクチャを有するコンピュータシステム(900)、特にコア(940)は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ以上の有形コンピュータ可読媒体に実装されるソフトウェアを実行することで、機能を提供することができる。このようなコンピュータ可読媒体は、以上に紹介された、ユーザーがアクセスし得る大容量記憶装置に関する媒体、及びコア内部大容量記憶装置(947)又はROM(945)などの非一時的な性質を持つコア(940)のいくつかの記憶装置であってもよい。各種実施形態を実現するためのソフトウェアはこのような機器に記憶されるとともに、コア(940)によって実行される。特定のニーズに応じて、コンピュータ可読媒体には1つ以上のメモリ機器又はチップが含まれてもよい。ソフトウェアは、コア(940)、特にそのうちのプロセッサ(CPU、GPU、FPGAなどを含む)に、本明細書で説明された、RAM(946)に記憶されるデータ構成を限定すること、及びソフトウェアによって限定されたプロセスに基づきこれらのデータ構成を修正することが含まれる特定プロセス又は特定プロセスの特定部分を実行させる。また、さらに又は代替として、コンピュータシステムは、ハードワイヤード又は他の方式で回路(例えば、アクセラレータ(944))に実装されるロジックによって機能を提供し、当該ロゾックは、ソフトウェアの代わりとして、又はソフトウェアとともに動作することで、本明細書で説明された特定プロセス又は特定プロセスの特定部分を実行することができる。適切な場合、ソフトウェアに対する言及にはロジックが含まれ、逆に、ロジックに対する言及にはソフトウェアが含まれてもよい。適切な場合、コンピュータ可読媒体に対する言及には、実行するためのソフトウェアが記憶される回路(例えば、集積回路(IC))、実行するためのロジックを具現化する回路、又はその両方が含まれてもよい。実施形態にはハードウェアとソフトウェアとの任意の適切な組み合わせが含まれる。
【0113】
本開示には既にいくつかの例示的な実施形態が説明されたが、本開示の範囲内に含まれる変更、置き換え及び様々な代替の均等物が存在する。従って、当業者は、本明細書では明示的に示されていないか、又は説明されていないが、本開示の原理を具現化したのでその精神及び範囲内にある多数のシステム及び方法を考案できることが理解されたい。
【外国語明細書】