IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特許7635341映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い
<>
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図1
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図2
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図3
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図4
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図5
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図6
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図7
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図8
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図9
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図10
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図11
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図12
  • 特許-映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-14
(45)【発行日】2025-02-25
(54)【発明の名称】映像コーディングにおける参照ピクチャリサンプリングに対する双方向オプティカルフロー(BIO)コーディングツールの取扱い
(51)【国際特許分類】
   H04N 19/109 20140101AFI20250217BHJP
   H04N 19/157 20140101ALI20250217BHJP
   H04N 19/174 20140101ALI20250217BHJP
   H04N 19/176 20140101ALI20250217BHJP
   H04N 19/70 20140101ALI20250217BHJP
【FI】
H04N19/109
H04N19/157
H04N19/174
H04N19/176
H04N19/70
【請求項の数】 30
【外国語出願】
(21)【出願番号】P 2023191422
(22)【出願日】2023-11-09
(62)【分割の表示】P 2021568304の分割
【原出願日】2020-05-14
(65)【公開番号】P2024012555
(43)【公開日】2024-01-30
【審査請求日】2023-11-27
(31)【優先権主張番号】62/848,409
(32)【優先日】2019-05-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】ワーン,イエ-クイ
【審査官】田中 純一
(56)【参考文献】
【文献】特表2022-531965(JP,A)
【文献】特表2018-536320(JP,A)
【文献】米国特許出願公開第2022/0264086(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
ビデオデコーダによって実装される、映像ビットストリームを復号する方法であって、
前記映像ビットストリームから復号すべき現在ピクチャに対応する符号化データを有するビットストリームを受信することと、
前記現在ピクチャを複数のスライスにパーティショニングすることと、
各スライスを複数のブロックにパーティショニングすることと、
前記映像ビットストリームからsps_bdof_enabled_flagを復号することであり、0に等しいsps_bdof_enabled_flagは、双方向オプティカルフロー(BDOF)インター予測が無効にされることを規定し、1に等しいsps_bdof_enabled_flagは、前記BDOFインター予測が有効にされることを規定する、復号することと、
復号している現在ピクチャの解像度が、前記現在ピクチャに関連する参照ピクチャリストによって特定される参照ピクチャの解像度と同じであるかを決定することであり、前記現在ピクチャに対して参照ピクチャリサンプリング(RPR)が有効にされている、決定することと、
以下の条件の全てが真であるとき、すなわち、前記現在ピクチャの前記解像度が前記参照ピクチャの各々の前記解像度と同じであると決定され、且つmerge_subblock_flagが存在しないとき、前記現在ピクチャの現在ブロックに対して前記BDOFを有効にすることと、
前記現在ピクチャの前記解像度が前記参照ピクチャのうちのいずれかの前記解像度と異なると決定されたとき、前記現在ピクチャの前記現在ブロックに対して前記BDOFを無効にすることと、
前記映像ビットストリームから前記現在ブロックを復号することと、
を有する方法。
【請求項2】
前記BDOFを有効にすることは、BDOFフラグを第1の値に設定することを有し、前記BDOFを無効にすることは、前記BDOFフラグを第2の値に設定することを有する、請求項1に記載の方法。
【請求項3】
双方向インター予測モードに従って、前記参照ピクチャリストに基づいて、前記現在ピクチャに対する前記参照ピクチャを生成すること、を更に有する請求項1乃至2のいずれか一項に記載の方法。
【請求項4】
複数のピクチャ内のブロックに対して、各ピクチャの前記解像度が前記ピクチャに関連する参照ピクチャの前記解像度と異なるのか、それとも同じであるのかに応じて、前記BDOFを選択的に有効にする及び無効にすること、を更に有する請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記BDOFが無効にされるとき、前記現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)を有効にすること、を更に有する請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
前記現在ピクチャの前記解像度は、前記映像ビットストリームのパラメータセット内に配され、前記現在ブロックは、前記現在ピクチャのスライスから取得される、請求項1乃至5のいずれか一項に記載の方法。
【請求項7】
前記現在ブロックを用いて生成された画像を、エレクトロニクス装置のディスプレイ上に表示すること、を更に有する請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
ビデオエンコーダによって実装される、映像ビットストリームを符号化する方法であって、
符号化すべき現在ピクチャを取得することと、
前記現在ピクチャを複数のスライスにパーティショニングすることと、
各スライスを複数のブロックにパーティショニングすることと、
符号化している現在ピクチャの解像度が、前記現在ピクチャに関連する参照ピクチャリストにおいて特定される参照ピクチャの解像度と同じであるかを決定することであり、前記現在ピクチャに対して参照ピクチャリサンプリング(RPR)が有効にされている、決定することと、
以下の条件の全てが真であるとき、すなわち、前記現在ピクチャの前記解像度が前記参照ピクチャの各々の前記解像度と同じであると決定され、且つmerge_subblock_flagが存在しないとき、前記現在ピクチャの現在ブロックに対して双方向オプティカルフロー(BDOF)を有効にすることと、
前記現在ピクチャの前記解像度が前記参照ピクチャのうちのいずれかの前記解像度と異なると決定されたとき、前記現在ピクチャの前記現在ブロックに対して前記BDOFを無効にすることと、
sps_bdof_enabled_flagを前記映像ビットストリームに符号化することであり、0に等しいsps_bdof_enabled_flagは、前記BDOFが無効にされることを規定し、1に等しいsps_bdof_enabled_flagは、前記BDOFが有効にされることを規定する、符号化することと、
前記現在ブロックを前記映像ビットストリームに符号化することと、
を有する方法。
【請求項9】
当該方法は更に、
前記参照ピクチャに基づいて前記現在ピクチャに関する動きベクトルを決定することと、
前記動きベクトルに基づいて前記現在ピクチャを符号化することと、
を有する、請求項8に記載の方法。
【請求項10】
前記BDOFを有効にすることは、BDOFフラグを第1の値に設定することを有し、前記BDOFを無効にすることは、前記BDOFフラグを第2の値に設定することを有する、請求項8乃至9のいずれか一項に記載の方法。
【請求項11】
双方向インター予測モードに従って、参照ピクチャリストに基づいて、前記現在ピクチャに対する前記参照ピクチャを生成すること、を更に有する請求項8乃至10のいずれか一項に記載の方法。
【請求項12】
複数のピクチャ内のブロックに対して、各ピクチャの前記解像度が前記ピクチャに関連する参照ピクチャの前記解像度と異なるのか、それとも同じであるのかに応じて、前記BDOFを選択的に有効にする及び無効にすること、を更に有する請求項8乃至11のいずれか一項に記載の方法。
【請求項13】
前記BDOFが無効にされるときであっても、前記現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)を有効にすること、を更に有する請求項8乃至12のいずれか一項に記載の方法。
【請求項14】
前記現在ブロックを含む前記映像ビットストリームをビデオデコーダに向けて送信すること、を更に有する請求項8乃至請求項13のいずれか一項に記載の方法。
【請求項15】
復号装置であって、
コーディングされた映像ビットストリームを受信するように構成された受信器と、
前記受信器に結合されたメモリであり、命令を格納したメモリと、
前記メモリに結合されたプロセッサであり、前記命令を実行して当該復号装置に、
前記映像ビットストリームから復号すべき現在ピクチャに対応する符号化データを有するビットストリームを受信させ、
前記現在ピクチャを複数のスライスにパーティショニングさせ、
各スライスを複数のブロックにパーティショニングさせ、
前記映像ビットストリームからsps_bdof_enabled_flagを復号させ、0に等しいsps_bdof_enabled_flagは、双方向オプティカルフロー(BDOF)インター予測が無効にされることを規定し、1に等しいsps_bdof_enabled_flagは、前記BDOFインター予測が有効にされることを規定し、
復号している現在ピクチャの解像度が、前記現在ピクチャに関連する参照ピクチャリストによって特定される参照ピクチャの解像度と同じであるかを決定させ、前記現在ピクチャに対して参照ピクチャリサンプリング(RPR)が有効にされており、
以下の条件の全てが真であるとき、すなわち、前記現在ピクチャの前記解像度が前記参照ピクチャの各々の前記解像度と同じであると決定され、且つmerge_subblock_flagが存在しないとき、前記現在ピクチャの現在ブロックに対して前記BDOFを有効にさせ、
前記現在ピクチャの前記解像度が前記参照ピクチャのうちのいずれかの前記解像度と異なると決定されたとき、前記現在ピクチャの前記現在ブロックに対して前記BDOFを無効にさせ、
前記映像ビットストリームから前記現在ブロックを復号させる、
ように構成されたプロセッサと、
を有する復号装置。
【請求項16】
前記BDOFが無効にされるとき、前記現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)が有効にされる、請求項15に記載の復号装置。
【請求項17】
前記現在ブロックに基づいて生成された画像を表示するように構成されたディスプレイ、を更に有する請求項15乃至16のいずれか一項に記載の復号装置。
【請求項18】
符号化装置であって、
命令を格納したメモリと、
前記メモリに結合されたプロセッサであり、前記命令を実装して当該符号化装置に、
符号化すべき現在ピクチャを取得させ、
前記現在ピクチャを複数のスライスにパーティショニングさせ、
各スライスを複数のブロックにパーティショニングさせ、
符号化している現在ピクチャの解像度が、前記現在ピクチャに関連する参照ピクチャリストによって特定される参照ピクチャの解像度と同じであるかを決定させ、前記現在ピクチャに対して参照ピクチャリサンプリング(RPR)が有効にされており、
以下の条件の全てが真であるとき、すなわち、前記現在ピクチャの前記解像度が前記参照ピクチャの各々の前記解像度と同じであると決定され、且つmerge_subblock_flagが存在しないとき、前記現在ピクチャの現在ブロックに対して双方向オプティカルフロー(BDOF)を有効にさせ、
前記現在ピクチャの前記解像度が前記参照ピクチャのうちのいずれかの前記解像度と異なると決定されたとき、前記現在ピクチャの前記現在ブロックに対して前記BDOFを無効にさせ、
sps_bdof_enabled_flagを映像ビットストリームに符号化させ、0に等しいsps_bdof_enabled_flagは、前記BDOFが無効にされることを規定し、1に等しいsps_bdof_enabled_flagは、前記BDOFが有効にされることを規定し、
前記現在ブロックを前記映像ビットストリームに符号化させる、
ように構成されたプロセッサと、
前記プロセッサに結合された送信器であり、前記現在ブロックを含む映像ビットストリームをビデオデコーダに向けて送信するように構成された送信器と、
を有する符号化装置。
【請求項19】
前記BDOFが無効にされるときであっても、前記現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)が有効にされる、請求項18に記載の符号化装置。
【請求項20】
前記送信器が前記映像ビットストリームを前記ビデオデコーダに向けて送信することに先立って、前記メモリが前記映像ビットストリームを格納する、請求項18乃至19のいずれか一項に記載の符号化装置。
【請求項21】
号するビットストリームを受信するように構成された受信器と、
前記受信器に結合された送信器であり、復号された画像をディスプレイに送信するように構成された送信器と、
前記受信器又は前記送信器のうちの少なくとも一方に結合されたメモリであり、命令を格納するように構成されたメモリと、
前記メモリに結合されたプロセッサであり、前記メモリに格納された前記命令を実行して、請求項1乃至のいずれか一項に記載の方法を実行するように構成されたプロセッサと、
を有するコーディング装置。
【請求項22】
画像を表示するように構成されたディスプレイ、を更に有する請求項21に記載のコーディング装置。
【請求項23】
ビットストリームに符号化するピクチャを受信するように構成された受信器と、
前記受信器に結合された送信器であり、前記ビットストリームをデコーダに送信するように構成された送信器と、
前記受信器又は前記送信器のうちの少なくとも一方に結合されたメモリであり、命令を格納するように構成されたメモリと、
前記メモリに結合されたプロセッサであり、前記メモリに格納された前記命令を実行して、請求項8乃至14のいずれか一項に記載の方法を実行するように構成されたプロセッサと、
を有するコーディング装置。
【請求項24】
エンコーダと、
前記エンコーダと通信するデコーダと、
を有し、前記エンコーダが、請求項18乃至20のいずれか一項に記載の符号化装置を含前記デコーダが、請求項15乃至17のいずれか一項に記載の復号装置を含む、
システム。
【請求項25】
号するビットストリームを受信するように構成された受信手段と、
前記受信手段に結合された送信手段であり、復号された画像を表示手段に送信するように構成された送信手段と、
前記受信手段又は前記送信手段のうちの少なくとも一方に結合されたストレージ手段であり、命令を格納するように構成されたストレージ手段と、
前記ストレージ手段に結合されたプロセッシング手段であり、前記ストレージ手段に格納された前記命令を実行して、請求項1乃至のいずれか一項に記載の方法を実行するように構成されたプロセッシング手段と、
を有するコーディングのための手段。
【請求項26】
ビットストリームに符号化するピクチャを受信するように構成された受信手段と、
前記受信手段に結合された送信手段であり、前記ビットストリームを復号手段に送信するように構成された送信手段と、
前記受信手段又は前記送信手段のうちの少なくとも一方に結合されたストレージ手段であり、命令を格納するように構成されたストレージ手段と、
前記ストレージ手段に結合されたプロセッシング手段であり、前記ストレージ手段に格納された前記命令を実行して、請求項8乃至14のいずれか一項に記載の方法を実行するように構成されたプロセッシング手段と、
を有するコーディングのための手段。
【請求項27】
請求項1乃至14のいずれか一項に記載の方法を実行するプロセッシング回路を有するコーダ。
【請求項28】
プロセッサによって実行されることが可能なコンピュータプログラムを格納したコンピュータ読み取り可能記憶媒体であって、前記コンピュータプログラムが前記プロセッサによって実行されるとき、前記プロセッサが請求項1乃至14のいずれか一項に記載の方法を実行する、コンピュータ読み取り可能記憶媒体。
【請求項29】
プロセッサによって実装される、映像ビットストリームを格納する方法であって、
符号化している現在ピクチャの解像度が、前記現在ピクチャに関連する参照ピクチャリストにおいて特定される参照ピクチャの解像度と同じであるかを決定することであり、前記現在ピクチャに対して参照ピクチャリサンプリング(RPR)が有効にされている、決定することと、
以下の条件の全てが真であるとき、すなわち、前記現在ピクチャの前記解像度が前記参照ピクチャの各々の前記解像度と同じであると決定され、且つmerge_subblock_flagが存在しないとき、前記現在ピクチャの現在ブロックに対して双方向オプティカルフロー(BDOF)を有効にすることと、
前記現在ピクチャの前記解像度が前記参照ピクチャのうちのいずれかの前記解像度と異なると決定されたとき、前記現在ピクチャの前記現在ブロックに対して前記BDOFを無効にすることと、
sps_bdof_enabled_flagを前記映像ビットストリームに符号化することであり、0に等しいsps_bdof_enabled_flagは、前記BDOFが無効にされることを規定し、1に等しいsps_bdof_enabled_flagは、前記BDOFが有効にされることを規定する、符号化することと、
前記現在ブロックを前記映像ビットストリームに符号化することと、
前記映像ビットストリームを記憶媒体に格納することと、
を有する方法。
【請求項30】
コンピュータ又はプロセッサ上で実行されるときに請求項1乃至14のいずれか一項に記載の方法を実行するためのプログラムコードを有するプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この特許出願は、Jianle Chenらにより2019年5月15日に出願された、“Handling of Bi-Directional Optical Flow (BIO) Coding Tool for Reference Picture Resampling in Video Coding”と題された米国仮特許出願第62/848,409号の利益を主張するものであり、それをここに援用する。
【0002】
概して、この開示は、映像コーディングにおいて双方向オプティカルフロー(bi-direction optical flow;BDOF)をサポートするための技術を記述する。より具体的には、この開示は、参照ピクチャリサンプリングに対してBDOFを可能にするが、現在ピクチャと参照ピクチャの空間解像度が異なるときにブロック又はサンプルに対してBDOFが無効にされることを許す。
【背景技術】
【0003】
比較的短い映像であってもそれを描写するために必要とされる映像データの量はかなりになり得るものであり、それが、限られた帯域幅容量を持つ通信ネットワークを介してデータをストリーミングする又はその他の方法で通信するときに困難をもたらし得る。従って、映像データは一般に、今日の遠隔通信ネットワークを介して通信される前に圧縮される。映像のサイズはまた、メモリリソースが限られ得るために、映像がストレージ装置に格納されるときにも問題となり得る。映像圧縮装置は、しばしば、伝送又は記憶に先立って、ソースにてソフトウェア及び/又はハードウェアを用いて映像データをコーディングし、それにより、デジタル映像画像を表すのに必要なデータの量を減少させる。そして、圧縮されたデータが、送り先で、映像データを復号する映像解凍装置によって受信される。限られたネットワークリソースと、増加の一途をたどるいっそう高い映像品質の要求とに伴い、画質の犠牲を殆ど乃至は全く伴わずに圧縮比を向上させる改良された圧縮及び解凍技術が望ましい。
【発明の概要】
【0004】
第1の態様は、ビデオデコーダによって実装される、コーディングされた映像ビットストリームを復号する方法に関する。当該方法は、ビデオデコーダにより、復号している現在ピクチャの解像度が、現在ピクチャに関連する参照ピクチャリストによって特定される参照ピクチャの解像度と同じであるかを決定することと、現在ピクチャの解像度が参照ピクチャの各々の解像度と同じであると決定されたとき、ビデオデコーダにより、現在ピクチャの現在ブロックに対して双方向オプティカルフロー(BDOF)を有効にすることと、現在ピクチャの解像度が参照ピクチャのうちのいずれかの解像度と異なると決定されたとき、ビデオデコーダにより、現在ピクチャの現在ブロックに対してBDOFを無効にすることと、現在ブロックに対してBDOFが有効にされるとき、ビデオデコーダにより、BDOFを用いて現在ブロックに対応する動きベクトルを精緻化することと、を含む。
【0005】
当該方法は、参照ピクチャリサンプリング(RPR)が有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にする技術を提供する。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、プロセッサ、メモリ、及び/又はネットワークリソースの使用が、エンコーダ及びデコーダの双方で削減され得る。従って、映像コーディングにおけるコーダ/デコーダ(“コーデック”としても知られる)が、現行コーデックに対して改善される。実際問題として、改善された映像コーディングプロセスは、映像が送信され、受信され、及び/又は見られるときに、ユーザにより良いユーザ体験を提供する。
【0006】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、BDOFを有効にすることが、BDOFフラグを第1の値に設定することを有し、BDOFを無効にすることが、BDOFフラグを第2の値に設定することを有する、ことを提供する。
【0007】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、双方向インター予測モードに従って、参照ピクチャリストに基づいて、現在ピクチャに対する参照ピクチャを生成すること、を提供する。
【0008】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、複数のピクチャ内のブロックに対して、各ピクチャの解像度がピクチャに関連する参照ピクチャの解像度と異なるのか、それとも同じであるのかに応じて、BDOFを選択的に有効にする及び無効にすること、を提供する。
【0009】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、BDOFが無効にされるとき、現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)を有効にすること、を提供する。
【0010】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、現在ピクチャの解像度が、コーディングされた映像ビットストリームのパラメータセット内に配され、現在ブロックが、現在ピクチャのスライスから取得される、ことを提供する。
【0011】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、現在ブロックを用いて生成された画像を、エレクトロニクス装置のディスプレイ上に表示すること、を提供する。
【0012】
第2の態様は、ビデオエンコーダによって実装される、映像ビットストリームを符号化する方法に関する。当該方法は、ビデオエンコーダにより、符号化している現在ピクチャの解像度が、現在ピクチャに関連する参照ピクチャリストにおいて特定される参照ピクチャの解像度と同じであるかを決定することと、現在ピクチャの解像度が参照ピクチャの各々の解像度と同じであると決定されたとき、ビデオエンコーダにより、現在ピクチャの現在ブロックに対して双方向オプティカルフロー(BDOF)を有効にすることと、現在ピクチャの解像度が参照ピクチャのうちのいずれかの解像度と異なると決定されたとき、ビデオエンコーダにより、現在ピクチャの現在ブロックに対してBDOFを無効にすることと、現在ブロックに対してBDOFが有効にされるとき、ビデオエンコーダにより、BDOFを用いて現在ブロックに対応する動きベクトルを精緻化することと、を含む。
【0013】
当該方法は、参照ピクチャリサンプリング(RPR)が有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にする技術を提供する。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、プロセッサ、メモリ、及び/又はネットワークリソースの使用が、エンコーダ及びデコーダの双方で削減され得る。従って、映像コーディングにおけるコーダ/デコーダ(“コーデック”としても知られる)が、現行コーデックに対して改善される。実際問題として、改善された映像コーディングプロセスは、映像が送信され、受信され、及び/又は見られるときに、ユーザにより良いユーザ体験を提供する。
【0014】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、ビデオエンコーダにより、参照ピクチャに基づいて現在ピクチャに関する動きベクトルを決定することと、ビデオエンコーダにより、動きベクトルに基づいて現在ピクチャを符号化することと、ビデオエンコーダにより、仮説的リファレンスデコーダを用いて現在ピクチャを復号することと、を提供する。
【0015】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、BDOFを有効にすることは、BDOFフラグを第1の値に設定することを有し、BDOFを無効にすることは、BDOFフラグを第2の値に設定することを有する、ことを提供する。
【0016】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、双方向インター予測モードに従って、参照ピクチャリストに基づいて、現在ピクチャに対する参照ピクチャを生成すること、を提供する。
【0017】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、複数のピクチャ内のブロックに対して、各ピクチャの解像度がピクチャに関連する参照ピクチャの解像度と異なるのか、それとも同じであるのかに応じて、BDOFを選択的に有効にする及び無効にすること、を提供する。
【0018】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、BDOFが無効にされるときであっても、現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)を有効にすること、を提供する。
【0019】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、現在ブロックを含む映像ビットストリームをビデオデコーダに向けて送信すること、を提供する。
【0020】
第3の態様は復号装置に関する。当該復号装置は、コーディングされた映像ビットストリームを受信するように構成された受信器と、受信器に結合されたメモリであり、命令を格納したメモリと、メモリに結合されたプロセッサであり、命令を実行して当該復号装置に、復号している現在ピクチャの解像度が、現在ブロックに関連する参照ピクチャリストによって特定される参照ピクチャの解像度と同じであるかを決定させ、現在ピクチャの解像度が参照ピクチャの各々の解像度と同じであると決定されたとき、現在ピクチャの現在ブロックに対して双方向オプティカルフロー(BDOF)を有効にさせ、現在ピクチャの解像度が参照ピクチャのうちのいずれかの解像度と異なると決定されたとき、現在ピクチャの現在ブロックに対してBDOFを無効にさせ、現在ブロックに対してBDOFが有効にされるとき、現在ブロックに対応する動きベクトルを精緻化させる、ように構成されたプロセッサと、を含む。
【0021】
当該復号装置は、参照ピクチャリサンプリング(reference picture resampling;RPR)が有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にする技術を提供する。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、プロセッサ、メモリ、及び/又はネットワークリソースの使用が、エンコーダ及びデコーダの双方で削減され得る。従って、映像コーディングにおけるコーダ/デコーダ(“コーデック”としても知られる)が、現行コーデックに対して改善される。実際問題として、改善された映像コーディングプロセスは、映像が送信され、受信され、及び/又は見られるときに、ユーザにより良いユーザ体験を提供する。
【0022】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、BDOFが無効にされるとき、現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)が有効にされる、ことを提供する。
【0023】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、現在ブロックに基づいて生成された画像を表示するように構成されたディスプレイ、を提供する。
【0024】
第4の態様は符号化装置に関する。当該符号化装置は、命令を格納したメモリと、メモリに結合されたプロセッサであり、命令を実装して当該符号化装置に、符号化している現在ピクチャの解像度が、現在ピクチャに関連する参照ピクチャリストによって特定される参照ピクチャの解像度と同じであるかを決定させ、現在ピクチャの解像度が参照ピクチャの各々の解像度と同じであると決定されたとき、現在ピクチャの現在ブロックに対して双方向オプティカルフロー(BDOF)を有効にさせ、現在ピクチャの解像度が参照ピクチャのうちのいずれかの解像度と異なると決定されたとき、現在ピクチャの現在ブロックに対してBDOFを無効にさせ、現在ブロックに対してBDOFが有効にされるとき、現在ブロックに対応する動きベクトルを精緻化させる、ように構成されたプロセッサと、プロセッサに結合された送信器であり、現在ブロックを含む映像ビットストリームをビデオデコーダに向けて送信するように構成された送信器と、を含む。
【0025】
当該符号化装置は、参照ピクチャリサンプリング(RPR)が有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にする技術を提供する。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、プロセッサ、メモリ、及び/又はネットワークリソースの使用が、エンコーダ及びデコーダの双方で削減され得る。従って、映像コーディングにおけるコーダ/デコーダ(“コーデック”としても知られる)が、現行コーデックに対して改善される。実際問題として、改善された映像コーディングプロセスは、映像が送信され、受信され、及び/又は見られるときに、ユーザにより良いユーザ体験を提供する。
【0026】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、BDOFが無効にされるときであっても、現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)が有効にされる、ことを提供する。
【0027】
オプションで、前述の態様のいずれかにおいて、その態様の他の一実装は、送信器がビットストリームをビデオデコーダに向けて送信することに先立って、メモリが映像ビットストリームを格納する、ことを提供する。
【0028】
第5の態様はコーディング装置に関する。当該コーディング装置は、符号化するピクチャを受信するように、又は復号するビットストリームを受信するように構成された受信器と、受信器に結合された送信器であり、ビットストリームをデコーダに送信するように、又は復号された画像をディスプレイに送信するように構成された送信器と、受信器又は送信器のうちの少なくとも一方に結合されたメモリであり、命令を格納するように構成されたメモリと、メモリに結合されたプロセッサであり、メモリに格納された命令を実行して、ここに開示される方法のうちのいずれかを実行するように構成されたプロセッサと、を含む。
【0029】
当該コーディング装置は、参照ピクチャリサンプリング(RPR)が有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にする技術を提供する。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、プロセッサ、メモリ、及び/又はネットワークリソースの使用が、エンコーダ及びデコーダの双方で削減され得る。従って、映像コーディングにおけるコーダ/デコーダ(“コーデック”としても知られる)が、現行コーデックに対して改善される。実際問題として、改善された映像コーディングプロセスは、映像が送信され、受信され、及び/又は見られるときに、ユーザにより良いユーザ体験を提供する。
【0030】
第6の態様はシステムに関する。当該システムは、エンコーダと、エンコーダと通信するデコーダと、を含み、エンコーダ又はデコーダが、ここに開示される復号装置、符号化装置、又はコーディング装置を含む。
【0031】
当該システムは、参照ピクチャリサンプリング(RPR)が有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にする技術を提供する。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、プロセッサ、メモリ、及び/又はネットワークリソースの使用が、エンコーダ及びデコーダの双方で削減され得る。従って、映像コーディングにおけるコーダ/デコーダ(“コーデック”としても知られる)が、現行コーデックに対して改善される。実際問題として、改善された映像コーディングプロセスは、映像が送信され、受信され、及び/又は見られるときに、ユーザにより良いユーザ体験を提供する。
【図面の簡単な説明】
【0032】
この開示のいっそう完全なる理解のため、同様の部分を同様の参照符号が表す添付図面及び詳細説明に関連して、ここで以下の簡単な説明を参照しておく。
図1】映像コーディング技術を利用し得るコーディングシステムの一例を示すブロック図である。
図2】映像コーディング技術を実装し得るビデオエンコーダの一例を示すブロック図である。
図3】映像コーディング技術を実装し得るビデオデコーダの一例を示すブロック図である。
図4】復号順及び提示順での、リーディングピクチャ及びトレーリングピクチャに対するIRAPピクチャの関係を表したものである。
図5】空間スケーラビリティのための多層コーディングの一例を示している。
図6】片方向インター予測の一例を示す概略図である。
図7】双方向インター予測の一例を示す概略図である。
図8】映像ビットストリームを示している。
図9】ピクチャに対するパーティショニング技術を示している。
図10】コーディングされた映像ビットストリームを復号する方法の一実施形態である。
図11】コーディングされた映像ビットストリームを符号化する方法の一実施形態である。
図12】映像コーディング装置の概略図である。
図13】コーディングのための手段の一実施形態の概略図である。
【発明を実施するための形態】
【0033】
最初に理解されるべきことには、1つ以上の実施形態の例示的な実装が以下にて提示されるが、開示されるシステム及び/又は方法は、現に知られている又は存在しているのであろうとなかろうと、幾つもの技術を用いて実装され得る。この開示は決して、ここに図示して記述される例示的な設計及び実装を含めて、以下に例示される例示的な実装、図及び技術に限定されるべきものでなく、添付の請求項の範囲及びそれらの完全なる均等範囲の中で変更され得るものである。
【0034】
ここで使用されるとき、解像度は、映像ファイル内のピクセルの数を記述する。すなわち、解像度は、ピクセル単位で測定される投影画像の幅及び高さである。例えば、映像は、1280(水平ピクセル)×720(垂直ピクセル)の解像度を持ち得る。これは通常、単純に1280×720と書かれ、あるいは720pと略される。BDOFは、予測ブロックについて動き又は動きベクトルを精緻化するのに使用されるプロセス、アルゴリズム、又はコーディングツールである。BDOFは、2つの参照ピクチャ間の差の勾配に基づいて、サブコーディングユニットに対して動きベクトルを見つけることを可能にする。RPR機能は、解像度が変わる位置におけるピクチャのイントラコーディングの必要なしに、ビットストリームの途中で、コーディングされたピクチャの空間解像度を変化させる能力である。
【0035】
図1は、ここに記載される映像コーディング技術を利用し得るコーディングシステム10の一例を示すブロック図である。図1に示すように、コーディングシステム10は、後の時点でデスティネーション装置14によって復号されることになる符号化された映像データを提供するソース装置12を含む。特に、ソース装置12は、コンピュータ読み取り可能媒体16を介して、映像データをデスティネーション装置14に提供し得る。ソース装置12及びデスティネーション装置14は、デスクトップコンピュータ、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、例えば所謂“スマート”フォンなどの電話機、所謂“スマート”パッド、テレビジョン、カメラ、ディスプレイ装置、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミング装置、又はこれらに類するものを含め、広範囲の装置のうちのいずれかを有し得る。一部の例において、ソース装置12及びデスティネーション装置14は、無線通信のために備えられ得る。
【0036】
デスティネーション装置14は、コンピュータ読み取り可能媒体16を介して、復号すべき符号化された映像データを受信し得る。コンピュータ読み取り可能媒体16は、符号化された映像データをソース装置12からデスティネーション装置14に移動させることができる任意のタイプの媒体又は装置を有し得る。一例において、コンピュータ読み取り可能媒体16は、符号化された映像データをソース装置12が直接的にデスティネーション装置14にリアルタイムで送信することを可能にする通信媒体を有し得る。符号化された映像データは、例えば無線通信プロトコルなどの通信標準に従って変調されてデスティネーション装置14に送信され得る。通信媒体は、例えば無線周波数(RF)スペクトル又は1つ以上の物理的伝送線路などの任意の無線又は有線通信媒体を有し得る。通信媒体は、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又は例えばインターネットなどのグローバルネットワークなどの、パケットベースのネットワークの一部を形成してもよい。通信媒体は、ルータ、スイッチ、基地局、又はソース装置12からデスティネーション装置14への通信を容易にするのに有用な任意の他の機器を含み得る。
【0037】
一部の例において、符号化されたデータが、出力インタフェース22からストレージ装置に出力され得る。同様に、符号化されたデータは、入力インタフェースによってストレージ装置からアクセスされ得る。ストレージ装置は、例えばハードドライブ、Blu-rayディスク、デジタルビデオディスク(DVD)、コンパクトディスク読み出し専用メモリ(CD-ROM)、フラッシュメモリ、揮発性若しくは不揮発性メモリ、又は符号化された映像データを格納するのに好適な任意の他のデジタルストレージ媒体などの、多様な分散された又はローカルにアクセスされるデータストレージ媒体のうちのいずれかを含み得る。更なる一例において、ストレージ装置は、ソース装置12によって生成された符号化された映像を格納し得るファイルサーバ又は他の中間ストレージ装置に相当してもよい。デスティネーション装置14は、ストリーミング又はダウンロードを介して、ストレージ装置からの格納された映像データにアクセスし得る。ファイルサーバは、符号化された映像データを格納すること及びその符号化された映像データをデスティネーション装置14に送信することが可能な任意のタイプのサーバとし得る。ファイルサーバ例は、ウェブサーバ(例えば、ウェブサイト用)、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)装置、又はローカルディスクドライブを含む。デスティネーション装置14は、インターネット接続を含め、任意の標準データ接続を介して、符号化された映像データにアクセスし得る。これは、無線チャネル(例えば、Wi-Fi接続)、有線接続(例えば、デジタル加入者回線(DSL)、ケーブルモデムなど)、又はファイルサーバに格納された符号化された映像データにアクセスするのに適した両方の組み合わせを含み得る。ストレージ装置からの符号化された映像データの伝送は、ストリーミング伝送、ダウンロード伝送、又はこれらの組み合わせとし得る。
【0038】
この開示の技術は必ずしも無線用途又は設定に限定されるものではない。当該技術は、例えば無線(over-the-air)テレビジョン放送、ケーブルテレビジョン伝送、衛星テレビジョン伝送、ダイナミックアダプティブストリーミング・オーバ・HTTP(DASH)などのインターネットストリーミング映像伝送、データストレージ媒体上に符号化されたデジタル映像、データストレージ媒体に格納されたデジタル映像の復号、又は他の用途などの、多様なマルチメディア用途のうちのいずれかをサポートして映像コーディングに適用され得る。一部の例において、コーディングシステム10は、例えばビデオストリーミング、ビデオ再生、ビデオ放送、及び/又はビデオ電話などの用途をサポートするために、一方向又は二方向の映像伝送をサポートするように構成され得る。
【0039】
図1の例において、ソース装置12は、映像ソース18、ビデオエンコーダ20、及び出力インタフェース22を含んでいる。デスティネーション装置14は、入力インタフェース28、ビデオデコーダ30、及び表示装置32を含んでいる。この開示によれば、ソース装置12のビデオエンコーダ20及び/又はデスティネーション装置14のビデオデコーダ30が、映像コーディングのための当該技術を適用するように構成され得る。他の例において、ソース装置及びデスティネーション装置は、他のコンポーネント又は構成を含んでもよい。例えば、ソース装置12は、例えば外付けカメラなどの外部映像ソースから映像データを受信してもよい。同様に、デスティネーション装置14は、一体化された表示装置を含むのではなく、外付け表示装置とインタフェースをとってもよい。
【0040】
図1の図示したコーディングシステム10は単に一例に過ぎない。映像コーディングのための技術は、任意のデジタル映像符号化及び/又は復号装置によって実行され得る。この開示の技術は、一般に、映像コーディング装置によって実行されるが、当該技術はまた、典型的に“CODEC”と呼ばれるビデオエンコーダ/デコーダによって実行されてもよい。さらに、この開示の技術はまた、ビデオプリプロセッサによって実行されてもよい。ビデオエンコーダ及び/又はデコーダは、グラフィックス処理ユニット(GPU)又は類似のデバイスとし得る。
【0041】
ソース装置12及びデスティネーション装置14は、単に、ソース装置12がデスティネーション装置14への送信のためにコーディングされた映像データを生成するそのようなコーディング装置の例に過ぎない。一部の例において、ソース装置12及びデスティネーション装置14は、ソース装置及びデスティネーション装置12、14の各々が映像符号化及び復号コンポーネントを含むように、実質的に対称的な方式で動作し得る。従って、コーディングシステム10は、例えばビデオストリーミング、ビデオ再生、ビデオ放送、又はビデオ電話のために、映像装置12、14間での一方向又は二方向の映像伝送をサポートし得る。
【0042】
ソース装置12の映像ソース18は、例えばビデオカメラなどの映像キャプチャ装置、以前にキャプチャされた映像を収容する映像アーカイブ、及び/又は映像コンテンツプロバイダから映像を受信する映像フィードインタフェースを含み得る。更なる代わりのものとして、映像ソース18は、ソース映像としてのコンピュータグラフィックスベースのデータ、又はライブ映像、アーカイブ映像、及びコンピュータ生成された映像の組み合わせを生成し得る。
【0043】
一部のケースにおいて、映像ソース18がビデオカメラであるとき、ソース装置12及びデスティネーション装置14は、所謂カメラフォン又はビデオフォンを形成し得る。しかしながら、上述のように、この開示に記載される技術は、一般に映像コーディングに適用可能であり、無線及び/又は有線用途に適用され得る。各ケースにおいて、キャプチャされた、予めキャプチャされた、又はコンピュータ生成された映像が、ビデオエンコーダ20によって符号化され得る。そして、符号化された映像情報が、出力インタフェース22によってコンピュータ読み取り可能媒体16に出力され得る。
【0044】
コンピュータ読み取り可能媒体16は、例えば無線ブロードキャスト又は有線ネットワーク伝送などの一時的媒体、又は例えばハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-rayディスク、又は他のコンピュータ読み取り可能媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。一部の例において、ネットワークサーバ(図示せず)が、ソース装置12から符号化された映像データを受信し、該符号化された映像データを、例えばネットワーク伝送を介して、デスティネーション装置14に提供し得る。同様に、例えばディスクスタンピング設備などの媒体生産設備のコンピューティング装置が、ソース装置12から符号化された映像データを受信し、該符号化されたビデオデータを含むディスクを生産し得る。従って、コンピュータ読み取り可能媒体16は、様々な例において、様々な形態の1つ以上のコンピュータ読み取り可能媒体を含むように理解され得る。
【0045】
デスティネーション装置14の入力インタフェース28が、コンピュータ読み取り可能媒体16から情報を受信する。コンピュータ読み取り可能媒体16の情報は、ビデオエンコーダ20によって定義された構文情報を含むことができ、この構文情報はまた、ビデオデコーダ30にも使用されるものであり、ブロック及び/又は例えばグループ・オブ・ピクチャ(GOP)といった他のコーディングユニットの特徴及び/又は処理を記述する構文要素を含む。表示装置32は、復号された映像データをユーザに対して表示するものであり、例えば陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置などの、多様な表示装置のうちのいずれかを含み得る。
【0046】
ビデオエンコーダ20及びビデオデコーダ30は、現在開発中のハイエフィシェンシビデオコーディング(HEVC)標準などの映像コーディング標準に従って動作し得るとともに、HEVCテストモデル(HM)に準拠し得る。代わりに、ビデオエンコーダ20及びビデオデコーダ30は、例えばムービングピクチャエキスパートグループ(MPEG)-4パート10とも別称される国際電気通信連合標準化部門(ITU-T)H.264標準、アドバンストビデオコーディング(AVC)、H.265/HEVC、又はこのような標準の拡張などの、他の独占所有権標準又は産業標準に従って動作してもよい。しかしながら、この開示の技術は、如何なる特定のコーディング標準にも限定されるものではない。映像コーディング標準の他の例は、MPEG-2及びITU-T H.263を含む。図1には示していないが、一部の態様において、ビデオエンコーダ20及びビデオデコーダ30は各々、オーディオエンコーダ及びデコーダと一体化されてもよく、共通のデータストリーム又は別々のデータストリームでのオーディオ及び映像の両方の符号化を取り扱うのに適したマルチプレクサ-デマルチプレクサ(MUX-DEMUX)ユニット、又は他のハードウェア及びソフトウェアを含んでもよい。該当する場合、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又は例えばユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
【0047】
ビデオエンコーダ20及びビデオデコーダ30は各々、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はこれらの任意の組み合わせなどの、多様な好適エンコーダ回路のうちのいずれかとして実装され得る。当該技術が部分的にソフトウェアで実装される場合、装置が、好適な非一時的コンピュータ読み取り可能媒体に該ソフトウェアの命令を格納し、それらの命令を、1つ以上のプロセッサを用いてハードウェアにて実行することで、この開示の技術を実行し得る。ビデオエンコーダ20及びビデオデコーダ30は各々、1つ以上のエンコーダ又はデコーダに含められることができ、それらはいずれも、それぞれの装置内の結合されたエンコーダ/デコーダ(CODEC)の部分として一体化されてもよい。ビデオエンコーダ20及び/又はビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、及び/又は例えば携帯電話などの無線通信装置を有し得る。
【0048】
図2は、映像コーディング技術を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、映像スライス内の映像ブロックのイントラコーディング及びインターコーディングを実行し得る。イントラコーディングは、所与の映像フレーム又はピクチャ内の映像における空間的冗長性を低減又は除去するために空間予測を当てにする。インターコーディングは、映像シーケンスの隣接するフレーム又はピクチャ内の映像における時間的冗長性を低減又は除去するために時間予測を当てにする。イントラモード(Iモード)は、幾つかの空間ベースのコーディングモードのうちのいずれかを指し得る。例えば片方向(uni-directional)(片予測(uni prediction))予測としても知られる)(Pモード)又は双予測(bi-prediction)(bi predictionとしても知られる)(Bモード)などのインターモードは、幾つかの時間ベースのコーディングモードのうちのいずれかを指し得る。
【0049】
図2に示すように、ビデオエンコーダ20は、符号化すべき映像フレーム内の現在映像ブロックを受信する。図2の例において、ビデオエンコーダ20は、モード選択ユニット40、参照フレームメモリ64、加算器50、変換処理ユニット52、量子化ユニット54、及びエントロピーコーディングユニット56を含んでいる。代わって、モード選択ユニット40は、動き補償ユニット44、動き推定ユニット42、イントラ予測(intra-prediction)(intra predictionとしても知られる)ユニット46、及びパーティションユニット48を含んでいる。映像ブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58、逆変換ユニット60、及び加算器62を含んでいる。再構成映像からブロック状アーチファクトを除去するためにブロック境界をフィルタリングするデブロッキングフィルタ(図2には示さず)も含められ得る。望ましい場合に、デブロッキングフィルタは典型的に、加算器62の出力をフィルタリングする。また、デブロッキングフィルタに加えて、更なるフィルタ(インループ又はポストループ)も使用され得る。このようなフィルタは、簡略化のために示していないが、望ましい場合に、(インループフィルタとして)加算器50の出力をフィルタリングし得る。
【0050】
符号化プロセスにおいて、ビデオエンコーダ20は、コーディングすべき映像フレーム又はスライスを受信する。フレーム又はスライスは、複数の映像ブロックに分割され得る。動き推定ユニット42及び動き補償ユニット44が、時間予測を提供するために、1つ以上の参照フレーム内の1つ以上のブロックに対する受信した映像ブロックのインター予測コーディングを実行する。代わりに、イントラ予測ユニット46が、空間予測を提供するために、コーディングすべきブロックと同じフレーム又はスライス内の1つ以上の隣接ブロックに対する受信した映像ブロックのイントラ予測コーディングを実行してもよい。ビデオエンコーダ20は、例えば映像データの各ブロックに対して適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【0051】
さらに、パーティションユニット48は、先行するコーディングパスにおける先行パーティショニング方式の評価に基づいて、映像データのブロックをサブブロックにパーティショニングし得る。例えば、パーティションユニット48は、最初に、フレーム又はスライスを最大コーディングユニット(LCU)にパーティショニングし、該LCUの各々をレート歪み解析(例えば、レート歪み最適化)に基づいてサブコーディングユニットにパーティショニングし得る。モード選択ユニット40は更に、LCUをサブCUへのパーティショニングを指し示す四分木データ構造を作成し得る。四分木のリーフノードCUは、1つ以上の予測ユニット(PU)及び1つ以上の変換ユニット(TU)を含み得る。
【0052】
本開示は、用語“ブロック”を、HEVCの文脈におけるCU、PU、又はTUのいずれか、又は他の標準の文脈における類似のデータ構造(例えば、H.264/AVCにおけるマクロブロック及びそのサブブロック)を指すように使用する。CUは、コーディングノード、PU、及び、コーディングノードに関連するTUを含む。CUの大きさはコーディングノードの大きさに対応し、正方形の形状である。CUの大きさは、8×8ピクセルから、64×64ピクセル以上を最大としてツリーブロックの大きさまでの範囲とし得る。各CUは、1つ以上のPU及び1つ以上のTUを含み得る。CUに関連する構文データが、例えば、1つ以上のPUへのCUのパーティショニングを記述し得る。パーティショニングモードは、CUがスキップ若しくはダイレクトモード符号化されるのか、イントラ予測モード符号化されるのか、それともインター予測(inter-prediction)(inter predictionとしても知られる)モード符号化されるのかで異なり得る。PUは、非正方形の形状にパーティショニングされてもよい。CUに関連する構文データはまた、例えば、四分木に従った1つ以上のTUへのCUのパーティショニングを記述し得る。TUは、正方形又は非正方形(例えば、長方形)の形状とすることができる。
【0053】
モード選択ユニット40は、例えば誤差結果に基づいて、イントラ又はインターの、コーディングモードの1つを選択することができ、得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する加算器50と、参照フレームとして使用するための符号化ブロックを再構成する加算器62とに提供し得る。モード選択ユニット40はまた、例えば動きベクトル、イントラモードインジケータ、パーティション情報、及び他のこのような構文情報などの構文要素を、エントロピーコーディングユニット56に提供する。
【0054】
動き推定ユニット42及び動き補償ユニット44は、高度に集積され得るが、概念上の目的で別々に図示されている。動き推定ユニット42によって実行される動き推定は、映像ブロックに関する動きを推定するものである動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在フレーム内のコーディングされている現在ブロック(又は他のコーディングされるユニット)に対する参照フレーム内の予測ブロック(又は他のコーディングされるユニット)に対する現在映像フレーム又はピクチャ内の映像ブロックのPUの変位を指し示し得る。予測ブロックは、絶対差の和(SAD)、二乗差の和(SSD)、又は他の差分メトリックによって決定され得るものであるピクセル差に関して、コーディングされるブロックによく一致することが見出されたブロックである。一部の例において、ビデオエンコーダ20は、参照フレームメモリ64に格納された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、又は他の分数ピクセル位置の値を補間し得る。従って、動き推定ユニット42は、フルピクセル位置及び分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度を有する動きベクトルを出力し得る。
【0055】
動き推定ユニット42は、インターコーディングされるスライス内の映像ブロックのPUに関する動きベクトルを、該PUの位置を参照ピクチャの予測ブロックの位置と比較することによって計算する。参照ピクチャは、それらの各々が参照フレームメモリ64に格納された1つ以上の参照ピクチャを特定するものである第1参照ピクチャリスト(List0)又は第2参照ピクチャリスト(List1)から選択され得る。動き推定ユニット42は、計算した動きベクトルを、エントロピー符号化ユニット56及び動き補償ユニット44に送る。
【0056】
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含み得る。繰り返しとなるが、一部の例において、動き推定ユニット42及び動き補償ユニット44は機能的に集積され得る。現在映像ブロックのPUに関する動きベクトルを受信して、動き補償ユニット44は、参照ピクチャリストの一方内で動きベクトルが指す予測ブロックを位置特定し得る。加算器50が、後述するように、コーディングされている現在映像ブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差映像ブロックを形成して、ピクセル差の値を形成する。一般に、動き推定ユニット42はルマ成分に対して動き推定を実行し、動き補償ユニット44は、ルマ成分に基づいて計算された動きベクトルをクロマ成分及びルマ成分の双方に使用する。モード選択ユニット40はまた、映像ブロック及び映像スライスに関連する構文要素を、映像スライスの映像ブロックを復号する際のビデオデコーダ30による使用のために生成し得る。
【0057】
イントラ予測ユニット46は、上述したように、動き推定ユニット42及び動き補償ユニット44によって実行されるインター予測の代わりとして、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在ブロックを符号化するのに使用するイントラ予測モードを決定し得る。一部の例において、イントラ予測ユニット46は、例えば、別々の符号化パスの間に、様々なイントラ予測モードを用いて現在ブロックを符号化することができ、イントラ予測ユニット46(又は、一部の例において、モード選択ユニット40)は、テストされたモードから、使用するのに適切なイントラ予測モードを選択し得る。
【0058】
例えば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードについてレート歪み解析を用いてレート歪み値を計算し、それらテストされたモードの中で最良のレート歪み特性を持つイントラ予測モードを選択し得る。レート歪み解析は、一般に、符号化ブロックと、符号化されて該符号化ブロックを生成した元の符号化されていないブロックとの間の歪み(又は誤差)の量と、該符号化ブロックを生成するのに使用されたビットレート(すなわち、ビットの数)とを決定する。イントラ予測ユニット46は、様々な符号化ブロックについての歪み及びレートから比を計算し、そのブロックに対してどのイントラ予測モードが最良のレート歪み値を示すのかを決定する。
【0059】
加えて、イントラ予測ユニット46は、深さモデリングモード(depth modeling mode;DMM)を使用して深さマップの深さブロックをコーディングするように構成され得る。モード選択ユニット40は、利用可能なDMMモードが、イントラ予測モード及び他のDMMモードよりも良好なコーディング結果を生み出すかを、例えばレート歪み最適化(RDO)を用いて決定し得る。深さマップに対応するテクスチャ画像のデータは、参照フレームメモリ64に格納され得る。動き推定ユニット42及び動き補償ユニット44はまた、深さマップの深さブロックをインター予測するように構成されることもできる。
【0060】
ブロックに対するイントラ予測モード(例えば、従来からのイントラ予測モード、又はDMMモードのうちの1つ)を選択した後、イントラ予測ユニット46は、該ブロックに対して選択されたイントラ予測モードを指し示す情報をエントロピーコーディングユニット56に提供し得る。エントロピーコーディングユニット56は、選択されたイントラ予測モードを指し示す情報を符号化し得る。ビデオエンコーダ20は、送信するビットストリームにコンフィギュレーションデータを含めることができ、該コンフィギュレーションデータは、複数のイントラ予測モードインデックステーブル及び複数の変更イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)、様々なブロックに対する符号化コンテキストの定義、並びに、それらコンテキストの各々に使用される最も可能性の高いイントラ予測モード、イントラ予測モードインデックステーブル、及び変更イントラ予測モードインデックステーブルを含み得る。
【0061】
ビデオエンコーダ20は、モード選択ユニット40からの予測データを、コーディングしている元の映像ブロックから減算することによって、残差映像ブロックを形成する。加算器50が、この減算演算を実行する1つ以上のコンポーネントを表す。
【0062】
変換処理ユニット52は、例えば離散コサイン変換(DCT)又は概念的に類似した変換などの変換を残差ブロックに適用して、残差変換係数値を有する映像ブロックを生成する。変換処理ユニット52は、概念的にDCTに類似した他の変換を実行してもよい。ウェーブレット変換、整数変換、サブバンド変換、又は他のタイプの変換も使用され得る。
【0063】
変換処理ユニット52は、変換を残差ブロックに適用して、残差変換係数のブロックを生成する。該変換は、残差情報をピクセル値ドメインから例えば周波数ドメインなどの変換ドメインに変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートを更に低下させるために変換係数を量子化する。量子化プロセスは、係数の一部又は全てに関連するビット深度を低減させ得る。量子化の程度は、量子化パラメータを調節することによって変更され得る。一部の例において、量子化ユニット54は、次いで、量子化された変換係数を含む行列の走査を行い得る。代わりに、エントロピー符号化ユニット56が走査を行ってもよい。
【0064】
量子化に続いて、エントロピーコーディングユニット56が、量子化された変換係数をエントロピーコーディングする。例えば、エントロピーコーディングユニット56は、コンテキスト適応可変長コーディング(context adaptive variable length coding;CAVLC)、コンテキスト適応バイナリ算術コーディング(context adaptive binary arithmetic coding;CABAC)、構文スベースコンテキスト適応バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding;SBAC)、確率インターバルパーティショニングエントロピー(probability interval partitioning entropy;PIPE)コーディング、又は他のエントロピーコーディング技術)を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピーコーディングユニット56によるエントロピーコーディングに続いて、符号化されたビットストリームが、別の装置(例えば、ビデオでデコーダ30)に送信されたり、あるいは後の伝送又は取り出しのためにアーカイブされたりし得る。
【0065】
逆量子化ユニット58及び逆変換ユニット60は、それぞれ、逆量子化及び逆変換を適用して、例えば参照ブロックとしての後の使用のために、ピクセルドメインの残差ブロックを再構成する。動き補償ユニット44が、参照フレームメモリ64のフレームのうちの1つの予測ブロックに残差ブロックを加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成残差ブロックに1つ以上の補間フィルタを適用して、動き推定に使用されるサブ整数ピクセル値を計算し得る。加算器62が、再構成残差ブロックを、動き補償ユニット44によって生成された動き補償された予測ブロックに加算して、参照フレームメモリ64に記憶される再構成映像ブロックを生成する。再構成映像ブロックは、後続映像フレーム内のブロックをインターコーディングするための参照ブロックとして動き推定ユニット42及び動き補償ユニット44によって使用され得る。
【0066】
図3は、映像コーディング技術を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例において、ビデオデコーダ30は、エントロピー復号ユニット70、動き補償ユニット72、イントラ予測ユニット74、逆量子化ユニット76、逆変換ユニット78、参照フレームメモリ82、及び加算器80を含んでいる。ビデオデコーダ30は、一部の例において、ビデオエンコーダ20(図2)に関して説明した符号化パスに対して概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受け取った動きベクトルに基づいて予測データを生成することができ、イントラ予測ユニット74は、エントロピー復号ユニット70から受け取ったイントラ予測モードインジケータに基づいて予測データを生成することができる。
【0067】
復号プロセスにおいて、ビデオデコーダ30は、ビデオエンコーダ20からの符号化映像スライスの映像ブロック及び関連する構文要素を表す符号化映像ビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、ビットストリームをエントロピー復号して、量子化された係数と、動きベクトル又はイントラ予測モードインジケータと、他の構文要素とを生成する。エントロピー復号ユニット70は、動きベクトル及び他の構文要素を動き補償ユニット72に転送する。ビデオデコーダ30は、映像スライスレベル及び/又は映像ブロックレベルで構文要素を受信し得る。
【0068】
映像スライスがイントラコーディングされた(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在フレーム又はピクチャの先行復号ブロックからのデータとに基づいて、現在映像スライスの映像ブロックについての予測データを生成し得る。映像フレームが、インターコーディングされた(例えば、B、P、又はGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信した動きベクトル及び他の構文要素に基づいて、現在映像スライスの映像ブロックについての予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照フレームメモリ82に格納された参照ピクチャに基づいて、デフォルトの構築技術を使用して、List0及びList1なる参照フレームリストを構築し得る。
【0069】
動き補償ユニット72は、動きベクトルと他の構文要素とを構文解析することによって、現在映像スライスの映像ブロックについての予測情報を決定し、該予測情報を使用して、復号している現在映像ブロックについての予測ブロックを生成する。例えば、動き補償ユニット72は、受け取った構文要素の一部を用いて、映像スライスの映像ブロックをコーディングするのに使用された予測モード(例えば、イントラ予測又はインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスに関する参照ピクチャリストのうちの1つ以上の構築情報、スライスの各インター符号化映像ブロックについての動きベクトル、スライスの各インターコーディングされた映像ブロックについてのインター予測ステータス、及び現在映像スライス内の映像ブロックを復号するための他の情報を決定する。
【0070】
動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、映像ブロックの符号化においてビデオエンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルに対する補間値を計算し得る。このケースにおいて、動き補償ユニット72は、受け取った構文要素から、ビデオエンコーダ20によって使用された補間フィルタを決定し、該補間フィルタを用いて予測ブロックを生成し得る。
【0071】
深さマップに対応するテクスチャ画像についてのデータは、参照フレームメモリ82に格納され得る。動き補償ユニット72はまた、深さマップの深さブロックをインター予測するように構成され得る。
【0072】
一実施形態において、ビデオデコーダ30は、ユーザインタフェース(UI)84を含む。ユーザインタフェース84は、ビデオデコーダ30のユーザ(例えば、ネットワーク管理者)からの入力を受信するように構成される。ユーザインタフェース84を介して、ユーザは、ビデオデコーダ30についての設定を管理又は変更することができる。例えば、ユーザは、ユーザ嗜好に従ってビデオデコーダ30のコンフィギュレーション及び/又は動作を制御するために、パラメータ(例えば、フラグ)に関する値を入力する又はその他の方法で提供することができる。ユーザインタフェース84は、例えば、グラフィカルアイコン、ドロップダウンメニュー、及びチェックボックスなどを介してユーザがビデオデコーダ30とインタラクトすることを可能にするグラフィカルユーザインタフェース(GUI)とし得る。一部のケースにおいて、ユーザインタフェース84は、ユーザからの情報を、キーボード、マウス、又は他の周辺装置を介して受信し得る。一実施形態において、ユーザは、ビデオデコーダ30からはリモートに置かれたスマートフォン、タブレット装置、及びパーソナルコンピュータなどを介して、ユーザインタフェース84にアクセスすることができる。ここで使用されるとき、ユーザインタフェース84は、外部入力又は外部手段として参照されてもよい。
【0073】
以上を念頭に置いて、映像圧縮技術は、映像シーケンスに内在する冗長性を低減又は除去するために、空間(イントラピクチャ)予測及び/又は時間(インターピクチャ)予測を実行する。ブロックベースの映像コーディングでは、映像スライス(すなわち、映像ピクチャ、又は映像ピクチャの一部)が、ツリーブロック、コーディングツリーブロック(CTB)、コーディングツリーユニット(CTU)、コーディングユニット(CU)及び/又はコーディングノードとも称され得るものである複数の映像ブロックにパーティショニングされ得る。ピクチャのイントラコーディングされる(I)スライス内の映像ブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間予測を用いて符号化される。ピクチャのインターコーディングされる(P又はB)スライス内の映像ブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間予測、又は他の参照ピクチャ内の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと称されることがあり、参照ピクチャは参照フレームと称されることがある。
【0074】
空間予測又は時間予測は、コーディングすべきブロックについての予測ブロックをもたらす。残差データは、コーディングすべき元のブロックと予測ブロックとの間のピクセル差を表す。インターコーディングされるブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データが、コーディングされるブロックと予測ブロックとの間の差を示す。イントラコーディングされるブロックは、イントラコーディングモードと残差データとに従って符号化される。更なる圧縮のために、残差データがピクセルドメインから変換ドメインに変換されて、次いで量子化され得るものである残差変換係数をもたらし得る。当初は二次元アレイに配列されている量子化された変換係数が、変換係数の一次元ベクトルを生成するために走査され、そして、よりいっそうの圧縮を達成するためにエントロピーコーディングが適用され得る。
【0075】
画像及び映像圧縮は急速な成長を経て、様々なコーディング標準につながってきた。そのような映像コーディング標準は、ITU-T H.261、国際標準化機構/国際電気標準会議(ISO/IEC)MPEG-1パート2、ITU-T H.262又はISO/IEC MPEG-2パート2、ITU-T H.263、ISO/IEC MPEG-4パート2、ITU-T H.264又はISO/IEC MPEG-4パート10としても知られるアドバンストビデオコーディング(AVC)、及びITU-T H.265又はMPEG-Hパート2としても知られるハイエフィシェンシビデオコーディング(HEVC)を含む。AVCは、例えばスケーラブルビデオコーディング(SVC)、マルチビュービデオコーディング(MVC)及びマルチビュービデオコーディング・プラス・デプス(MVC+D)、及び3D AVC(3D-AVC)などの拡張を含む。HEVCは、例えばスケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)及び3D HEVC(3D-HEVC)などの拡張を含む。
【0076】
また、ITU-TとISO/IECとのジョイントビデオエキスパートチーム(JVET)によって開発中のバーサタイルビデオコーディング(VVC)という名の新たな映像コーディング標準も存在する。VVC標準は幾つか作業原案を有するが、特に、B.Bross、J.Chen、及びS.Liuの“Versatile Video Coding (Draft 5)”、JVET-N1001-v3、第13回JVETミーティング、2019年3月27日(VVCドラフト5)という、VVCの1つの作業原案(WD)をその全体にてここに援用する。
【0077】
ここに開示される技術の説明は、ITU-TとISO/IECとのジョイントビデオエキスパートチーム(JVET)によって開発中の映像コーディング標準であるバーサタイルビデオコーディング(VVC)に基づいている。しかしながら、当該技術は他のビデオコーデック仕様にも適用される。
【0078】
図4は、復号順408及び提示順410での、リーディングピクチャ404及びトレーリングピクチャ406に対するイントラランダムアクセスポイント(intra random access point;IRAP)ピクチャ402の関係を表したもの400である。一実施形態において、IRAPピクチャ402は、クリーンランダムアクセス(clean random access;CRA)ピクチャと称され、あるいはランダムアクセスデコーダブル(random access decodable;RADL)ピクチャを有する即時デコーダリフレッシュ(instantaneous decoder refresh;IDR)ピクチャと称される。HEVCでは、IDRピクチャ、CRAピクチャ、及びブロークンリンクアクセス(Broken Link Access;BLA)ピクチャは全て、IRAPピクチャ402とみなされる。VVCでは、2018年10月の第12回JVETミーティングにおいて、IDRピクチャ及びCRAピクチャの両方をIRAPピクチャとして持つことが合意された。一実施形態では、ブロークンリンクアクセス(BLA)ピクチャ及び段階的デコーダリフレッシュ(Gradual Decoder Refresh;GDR)ピクチャも、IRAPピクチャであるとみなされてもよい。コーディングされた映像シーケンスの復号プロセスは、常にIRAPにて始まる。
【0079】
図4に示すように、リーディングピクチャ404(例えば、ピクチャ2及び3)は、復号順408ではIRAPピクチャ402の後ろであるが、提示順410ではIRAPピクチャ402に先行する。トレーリングピクチャ406は、復号順408においてと提示順410においての両方で、IRAPピクチャ402の後ろである。図4には2つのリーディングピクチャ404と1つのトレーリングピクチャ406とを示しているが、当業者が理解することには、実際の適用においては復号順408及び提示順410で、より多数又は少数のリーディングピクチャ404及び/又はトレーリングピクチャ406が存在し得る。
【0080】
図4におけるリーディングピクチャ404は、ランダムアクセススキップリーディング(random access skipped leading;RASL)とRADLとである2つのタイプに分割されている。復号がIRAPピクチャ402(例えば、ピクチャ1)で始まるとき、RADLピクチャ(例えば、ピクチャ3)は適切に復号されることができるが、RASLピクチャ(例えば、ピクチャ2)は適切に復号されることができない。従って、RASLピクチャは破棄される。RADLピクチャとRASLピクチャとの区別に照らして、効率的で適切なコーディングのためには、IRAPピクチャ402に関連するリーディングピクチャ404のタイプがRADL又はRASLのいずれかとして特定されるべきである。HEVCでは、RASLピクチャ及びRADLピクチャが存在するとき、同じIRAPピクチャ402に関連するRASLピクチャ及びRADLピクチャについて、提示順410でRASLピクチャがRADLピクチャに先行することとするという制約がある。
【0081】
IRAPピクチャ402は、以下の2つの重要な機能/利益を提供する。第1に、IRAPピクチャ402の存在は、復号プロセスがそのピクチャから始まることができることを指し示す。この機能は、IRAPピクチャ402がその位置に存在する限り、復号プロセスが、必ずしもビットストリームの始まりではなく、ビットストリーム内のその位置にて始まるというランダムアクセス性を可能にする。第2に、IRAPピクチャ402の存在は、RASLピクチャを除いて、IRAPピクチャ402にて始まるコーディングされるピクチャが、先行ピクチャへの如何なる参照もなしにコーディングされるように、復号プロセスをリフレッシュする。ビットストリーム内にIRAPピクチャ402が存在することは、従って、IRAPピクチャ402に先立ってコーディングされるピクチャの復号中に発生し得るエラーが、IRAPピクチャ402及び復号順408でIRAPピクチャ402の後ろにあるピクチャに伝播することを止めることになる。
【0082】
IRAPピクチャ402は重要な機能を提供する一方で、圧縮効率に対する不利益を伴う。IRAPピクチャ402の存在はビットレートのサージを引き起こす。圧縮効率に対するこの不利益は2つの理由による。第1に、IRAPピクチャ402はイントラ予測ピクチャであるので、該ピクチャそれ自体が、インター予測ピクチャである他のピクチャ(例えば、リーディングピクチャ404、トレーリングピクチャ406)と比較して、表現するのに比較的多くのビットを必要とする。第2に、IRAPピクチャ402の存在は時間予測を途切れさせるため(これは、デコーダが復号プロセスをリフレッシュすることになり、これのための復号プロセスの動作の1つが復号ピクチャバッファ(DPB)内の先行参照ピクチャを除去するものであるからである)、IRAPピクチャ402は、復号順408でIRAPピクチャ402の後にあるピクチャのコーディングをあまり効率的でないものにさせる(すなわち、表現するのにいっそう多くのビットを必要とする)。何故なら、それらのピクチャが有する、それらのインター予測コーディングのための参照ピクチャが、少なくなるからである。
【0083】
IRAPピクチャ402とみなされるピクチャタイプの中で、HEVCにおけるIDRピクチャは、他のピクチャタイプと比較して異なるシグナリング及び導出を有する。相違点のうち一部は以下の通りである。
【0084】
IDRピクチャのピクチャオーダカウント(POC)値のシグナリング及び導出では、POCの最上位ビット(MSB)部分は、先行するキーピクチャから導出されず、単純に0に等しく設定される。
【0085】
参照ピクチャ管理に必要な情報をシグナリングすることに関し、IDRピクチャのスライスヘッダは、参照ピクチャ管理を補助するためにシグナリングされる必要のある情報を含まない。他のピクチャタイプ(すなわち、CRA、トレーリング、時間サブレイヤアクセス(temporal sub-layer access;TSA)など)の場合、参照ピクチャマーキングプロセス(すなわち、参照のために使用と参照のために不使用とのいずれかで、復号ピクチャバッファ(decoded picture buffer;DPB)内の参照ピクチャのステータスを決定するプロセス)のために、例えば後述する参照ピクチャセット(reference picture set;RPS)又は他の形態の同様の情報(例えば、参照ピクチャリスト)などの情報が必要とされる。しかし、IDRピクチャの場合、そのような情報はシグナリングされる必要がない。何故なら、IDRの存在が、復号プロセスが単純に、DPB内の全ての参照ピクチャを、参照のために不使用としてマークするものであることを指し示すからである。
【0086】
HEVC及びVVCでは、IRAPピクチャ402及びリーディングピクチャ404は各々、単一のネットワーク抽象化層(network abstraction layer;NAL)ユニット内に含まれ得る。NALユニットのセットがアクセスユニットと呼ばれることがある。IRAPピクチャ402とリーディングピクチャ404は、それらがシステムレベルアプリケーションによって容易に識別されることができるように、異なるNALユニットタイプを与えられる。例えば、ビデオスプライサは、特に、非IRAPピクチャからIRAPピクチャ402を識別するため、及び、RASLピクチャ及びRADLピクチャを決定することを含めて、トレーリングピクチャ406からリーディングピクチャ404を特定するために、コーディングされたビットストリーム内の構文要素のあまりにも多くの詳細を理解する必要なく、コーディングされたピクチャタイプを理解する必要がある。トレーリングピクチャ406は、IRAPピクチャ402に関連付けられ且つ提示順410でIRAPピクチャ402の後にあるピクチャである。あるピクチャが、復号順408で特定のIRAPピクチャ402の後にあり且つ復号順408でいずれか他のIRAPピクチャ402に先行することがある。これに対し、IRAPピクチャ402及びリーディングピクチャ404にそれら自身のNALユニットタイプを与えることがこのような適用を助ける。
【0087】
HEVCでは、IRAPピクチャ向けのNALユニットタイプは以下を含む:
リーディングピクチャを伴うBLA(BLA_W_LP):復号順で1つ以上のリーディングピクチャに続かれ得るブロークンリンクアクセス(BLA)ピクチャのNALユニット;
RADLを伴うBLA(BLA_W_RADL):復号順で1つ以上のRADLピクチャに続かれ得るがRASLピクチャには続かれないBLAピクチャのNALユニット;
リーディングピクチャを伴わないBLA(BLA_N_LP):復号順でリーディングピクチャに続かれないBLAピクチャのNALユニット;
RADLを伴うIDR(IDR_W_RADL):復号順で1つ以上のRADLピクチャに続かれ得るがRASLピクチャには続かれないIDRピクチャのNALユニット;
リーディングピクチャを伴わないIDR(IDR_N_LP):復号順でリーディングピクチャに続かれないIDRピクチャのNALユニット;
CRA:リーディングピクチャ(すなわち、RASLピクチャ若しくはRADLピクチャのいずれか、又は両方)に続かれ得るクリーンランダムアクセス(CRA)ピクチャのNALユニット;
RADL:RADLピクチャのNALユニット;
RASL:RASLピクチャのNALユニット。
【0088】
VVCでは、IRAPピクチャ402及びリーディングピクチャ404向けのNALユニットタイプは以下の通りである:
RADLを伴うIDR(IDR_W_RADL):復号順で1つ以上のRADLピクチャに続かれ得るがRASLピクチャには続かれないIDRピクチャのNALユニット;
リーディングピクチャを伴わないIDR(IDR_N_LP):復号順でリーディングピクチャに続かれないIDRピクチャのNALユニット;
CRA:リーディングピクチャ(すなわち、RASLピクチャ若しくはRADLピクチャのいずれか、又は両方)に続かれ得るクリーンランダムアクセス(CRA)ピクチャのNALユニット;
RADL:RADLピクチャのNALユニット;
RASL:RASLピクチャのNALユニット。
【0089】
参照ピクチャリサンプリング(RPR)機能は、解像度変化位置にあるピクチャのイントラコーディングの必要なしに、ビットストリームの途中で、コーディングされるピクチャの空間解像度を変更する能力である。これを可能にするには、ピクチャが、インター予測目的で、空間解像度が現在ピクチャのそれとは異なる1つ以上の参照ピクチャを参照することができる必要がある。従って、そのような参照ピクチャ又はその一部のリサンプリングが、現在ピクチャの符号化及び復号のために必要とされる。それ故に、RPRという名称である。この機能は、適応解像度変更(adaptive resolution change;ARC)又は他の名称で呼ばれることもある。以下を含めて、RPR機能の恩恵を受けるユースケース又は適用シナリオが存在する。
【0090】
ビデオ電話及び会議におけるレート適応。これは、変化するネットワーク状態に対して、コーディングされる映像を適応させるためのものである。ネットワーク状態が悪化して、利用可能な帯域幅が小さくなるとき、エンコーダは、より低解像度のピクチャを符号化することによって、それに適応し得る。
【0091】
マルチパーティビデオ会議におけるアクティブスピーカ変化。マルチパーティビデオ会議では、アクティブスピーカに対する映像サイズが、残りの会議参加者に対する映像サイズよりも大きい又は広いことが一般的である。アクティブスピーカが変わるとき、各参加者に対するピクチャ解像度も調節される必要があり得る。ARC機能を持つことの必要性は、アクティブスピーカが変わることが頻繁に発生する場合にいっそう重要になる。
【0092】
ストリーミングにおける高速スタート。ストリーミングアプリケーションでは、ピクチャを表示し始める前に、アプリケーションが、ある一定長さの復号ピクチャに至るまでバッファリングするのが一般的である。より低い解像度でビットストリームを始めることは、アプリケーションが、より速く表示を開始するのに十分なピクチャをバッファ内に持つことを可能にする。
【0093】
ストリーミングにおける適応ストリームスイッチング。ダイナミックアダプティブストリーミング・オーバ・HTTP(DASH)仕様は、@mediaStreamStructureIdという名称の機能を含んでいる。この機能は、例えばHEVCにおける関連RASLピクチャを伴うCRAピクチャといった、復号不可能なリーディングピクチャを有するオープンGOPランダムアクセスポイントで、異なる表現間での切り換えを可能にする。同じ映像の2つの異なる表現が異なるビットレートを持つが、空間分解能は同じで、それらが同じ値の@mediaStreamStructureIdを持つとき、関連RASLピクチャを伴うCRAピクチャにて2つの表現間の切り換えを行うことができ、切り換え位置のCRAピクチャに伴うRASLピクチャを許容可能な品質で復号することができ、それ故にシームレスな切り換えを可能にする。ARCを用いることで、@mediaStreamStructureId機能はまた、異なる空間解像度を持つDASH表現間での切り換えにも使用できる。
【0094】
例えばピクチャ解像度のリスト、DPB内の参照ピクチャのリサンプリングの何らかの制約などのシグナリングなど、様々な方法が、RPR/ARCをサポートするための基本的な技術を支援する。また、ジュネーブでの第14回JVETミーティングにおいて、RPRをサポートするためにVVCに適用されるべき制約を提案する幾つかの寄稿があった。提案された制約は、以下を含む。
【0095】
現在ピクチャが当該現在ピクチャとは異なる解像度を持つ参照ピクチャを参照するとき、当該現在ピクチャ内のブロックのコーディングに対して、一部のツールは無効にされるものとする。それらツールは以下を含む。
【0096】
時間動きベクトル予測(temporal motion vector prediction;TMVP)及びアドバンストTMVP(ATMVP)。これは、JVET-N0118によって提案されたものである。
【0097】
デコーダ側動きベクトル精緻化(decoder side motion vector refinement;DMVR)。これは、JVET-N0279によって提案されたものである。
【0098】
双方向オプティカルフロー(bi-directional optical flow;BIO)。これは、JVET-N0279によって提案されたものである。
【0099】
現在ピクチャとは異なる解像度を持つ参照ピクチャからのブロックの双予測は許可されない。これは、JVET-N0118によって提案されたものである。
【0100】
動きの補償に関し、サンプルフィルタリングは1回だけ適用することとし、すなわち、より微細なペル解像度(例えば、1/4ペル解像度)に達するためにリサンプリング及び補間が必要とされる場合に、これら2つのフィルタを組み合わせて1回だけ適用する必要がある。これは、JVET-N0118によって提案されたものである。
【0101】
映像コーディングにおけるスケーラビリティは、通常、マルチレイヤコーディング技術を使用することによってサポートされる。マルチレイヤビットストリームは、ベースレイヤ(BL)及び1つ以上のエンハンスメントレイヤ(EL)を含む。スケーラビリティの例は、空間スケーラビリティ、品質/信号対雑音(SNR)スケーラビリティ、マルチビュースケーラビリティなどを含む。マルチレイヤコーディング技術が使用されるとき、ピクチャ又はその一部は、(1)参照ピクチャを使用せずに、すなわち、イントラ予測を用いて、(2)同じレイヤ内にある参照ピクチャを参照することによって、すなわち、インター予測を用いて、又は(3)(1つ以上の)他のレイヤ内にある参照ピクチャを参照することによって、すなわち、インターレイヤ予測を用いて、コーディングされ得る。現在ピクチャのインターレイヤ予測に用いられる参照ピクチャは、インターレイヤ参照ピクチャ(ILRP)と呼ばれる。
【0102】
図5は、空間スケーラビリティ500のためのマルチレイヤコーディングの一例を示している。レイヤN内のピクチャ502は、レイヤN+1内のピクチャ504とは異なる解像度(例えば、より低い解像度)を持つ。一実施形態において、レイヤNがベース層であるとみなされ、レイヤN+1が上述のエンハンスメントレイヤであるとみなされる。レイヤN内のピクチャ502、及びレイヤN+1内のピクチャ504は、(実線の矢印によって示すように)インター予測を用いてコーディングされ得る。ピクチャ502はまた、(破線の矢印によって示すように)インターレイヤ予測を用いてコーディングされてもよい。
【0103】
RPRの文脈において、参照ピクチャは、より下位のレイヤから参照ピクチャを選択することによって、又はインターレイヤ予測を用いて、より下位のレイヤの参照ピクチャに基づいて、より上位のレイヤの参照ピクチャを生成することによって、のいずれかでリサンプリングされ得る。
【0104】
以前のH.26x映像コーディングファミリは、シングルレイヤコーディング向けの(1つ以上の)プロファイルとは別の(1つ以上の)プロファイルにて、スケーラビリティのサポートを提供してきた。スケーラブルビデオコーディング(SVC)は、空間、時間及び品質スケーラビリティのサポートを提供するAVC/H.264のスケーラブル拡張である。SVCでは、ELピクチャ内の各マクロブロック(MB)内で、当該EL MBが下位レイヤからのコロケートブロックを用いて予測されるかを指し示すフラグがシグナリングされる。コロケートブロックからの予測は、テクスチャ、動きベクトル、及び/又はコーディングモードを含み得る。SVCの実装は、それらの設計において、変更なしのH.264/AVC実装をそのまま再利用することができない。SVC ELマクロブロック構文及び復号プロセスは、H.264/AVC構文及び復号プロセスとは異なる。
【0105】
スケーラブルHEVC(SHVC)は、空間及び品質スケーラビリティのサポートを提供するHEVC/H.265標準の拡張であり、マルチビューHEVC(MV-HEVC)は、マルチビュースケーラビリティのサポートを提供するHEVC/H.265の拡張であり、3D HEVC(3D-HEVC)は、MV-HEVCよりも高度で効率的な三次元(3D)映像コーディングのサポートを提供するHEVC/H.264の拡張である。なお、時間スケーラビリティはシングルレイヤHEVCコーデックの不可分な部分として含められている。HEVCのマルチレイヤ拡張の設計は、インターレイヤ予測に使用される復号ピクチャは、同一のアクセスユニット(AU)のみに由来して長期参照ピクチャ(LTRP)として扱われ、且つ現在レイヤ内の他の時間参照ピクチャと共に(1つ以上の)参照ピクチャリストにおける参照インデックスを割り当てられる、という考えを採用している。インターレイヤ予測(ILP)は、(1つ以上の)参照ピクチャリスト内の(1つ以上の)インターレイヤ参照ピクチャを参照するための参照インデックスの値を設定することによって、予測ユニット(PU)レベルで達成される。
【0106】
特に、参照ピクチャリサンプリング機能及び空間スケーラビリティ機能はどちらも、参照ピクチャ又はその一部のリサンプリングを必要とする。参照ピクチャリサンプリングは、ピクチャレベル又はコーディングブロックレベルのいずれかで実現されることができる。しかしながら、RPRをコーディング機能として参照するとき、それはシングルレイヤコーディング向けの機能である。そうであっても、シングルレイヤコーディングのRPR機能と、マルチレイヤコーディング向けの空間スケーラビリティ機能との両方に、同じリサンプリングフィルタを使用することは可能であり、また、コーデック設計の観点からは好ましいものでさえある。
【0107】
JVET-N0279は、RPRに対してBIOを無効にすることを提案した。より正確には、それが提案したのは、RPRが有効にされるとき、コーディングされる映像シーケンス(CVS)全体に対してBIO(BDOFとしても知られる)の使用を無効にするというものである。分かることには、RPR機能が有効にされるときであっても、現在ピクチャは、多くの場合に、異なる解像度を持つ参照ピクチャを参照しない。従って、CVS全体に対してBIOを無効にすることは、コーディング効率を不必要に制限して損ね得る。
【0108】
ここに開示されるのは、RPRが有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にする技術である。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、プロセッサ、メモリ、及び/又はネットワークリソースの使用が、エンコーダ及びデコーダの双方で削減され得る。従って、映像コーディングにおけるコーダ/デコーダ(“コーデック”としても知られる)が、現行コーデックに対して改善される。実際問題として、改善された映像コーディングプロセスは、映像が送信され、受信され、及び/又は見られるときに、ユーザにより良いユーザ体験を提供する。
【0109】
図6は、片方向インター予測600の一例を示す概略図である。片方向インター予測600は、ピクチャをパーティショニングするときに作り出される符号化及び/又は復号ブロックに対する動きベクトルを決定するために使用されることができる。
【0110】
片方向インター予測600は、現在フレーム610内の現在ブロック611を予測するために、参照ブロック631を有する参照フレーム630を使用する。参照フレーム630は、図示のように、時間的に現在フレーム610の後に(例えば、後続の参照フレームとして)位置し得るが、一部の例において、時間的に現在フレーム610の前に(例えば、先行する参照フレームとして)位置することもできる。現在フレーム610は、ある特定の時点に符号化/復号されているフレーム/ピクチャの例である。現在フレーム610は、現在ブロック611内に、参照フレーム630の参照ブロック631内のオブジェクトと一致するオブジェクトを含む。参照フレーム630は、現在フレーム610を符号化するための基準として使用されるフレームであり、参照ブロック631は、現在フレーム610の現在ブロック611にも含まれるオブジェクトを含んだ参照フレーム630内のブロックである。
【0111】
現在ブロック611は、コーディングプロセスにおける特定の時点に符号化/復号されている任意のコーディングユニットである。現在ブロック611は、パーティショニングされたブロックの全体であってもよいし、あるいは、アフィンインター予測モードを使用するときのサブブロックであってもよい。現在フレーム610は、いくらかの時間距離(TD)633だけ参照フレーム630から離隔している。TD633は、映像シーケンスにおける現在フレーム610と参照フレーム630との間の時間の量を示し、フレーム単位で測定され得る。現在ブロック611に対する予測情報は、参照フレーム630及び/又は参照ブロック631を、これらのフレーム間の方向及び時間距離を指し示す参照インデックスによって参照し得る。TD633によって表される期間を通じて、現在ブロック611内のオブジェクトは、現在フレーム610内の位置から参照フレーム630内の別の位置(例えば、参照ブロック631の位置)に移動する。例えば、オブジェクトは、経時的なオブジェクトの移動の方向である動き軌跡613に沿って移動し得る。動きベクトル635が、TD633を通じての動き軌跡613に沿ったオブジェクトの移動の方向及び大きさを記述する。従って、符号化された動きベクトル635と、参照ブロック631と、現在ブロック611と参照ブロック631との間の差を含む残差とで、現在ブロック611を再構成するとともに現在フレーム610内で現在ブロック611を位置決めするのに十分な情報を提供する。
【0112】
図7は、双方向インター予測700の一例を示す概略図である。双方向インター予測700は、ピクチャをパーティショニングするときに作り出される符号化及び/又は復号ブロックに対する動きベクトルを決定するために使用されることができる。
【0113】
双方向インター予測700は、片方向インター予測600と同様であるが、現在フレーム710内の現在ブロック711を予測するために一対の参照フレームを使用する。従って、現在フレーム710及び現在ブロック711は、それぞれ、現在フレーム610及び現在ブロック611と実質的に同様である。現在フレーム710は、時間的に、映像シーケンス内で現在フレーム710の前に現れる先行参照フレーム720と、映像シーケンス内で現在フレーム710の後に現れる後続参照フレーム730との間に位置する。先行参照フレーム720及び後続参照フレーム730は、他の点では参照フレーム630と実質的に同様である。
【0114】
現在ブロック711は、先行参照フレーム720内の先行参照ブロック721と、後続参照フレーム730内の後続参照ブロック731とに一致している。このような一致は、映像シーケンスの過程において、オブジェクトが、先行参照ブロック721での位置から、動き軌跡713に沿って、現在ブロック711を介して、後続参照ブロック731での位置まで移動することを指し示す。現在フレーム710は、いくらかの先行時間距離(TD0)723だけ先行参照フレーム720から離隔するとともに、いくらかの後続時間距離(TD1)733だけ後続参照フレーム730から離隔している。TD0 723は、映像シーケンスにおける先行参照フレーム720と現在フレーム710との間の時間の量をフレーム単位で示す。TD1 733は、映像シーケンスにおける現在フレーム710と後続参照フレーム730との間の時間の量をフレーム単位で示す。従って、オブジェクトは、TD0 723によって示される期間を通じて、動き軌跡713に沿って、先行参照ブロック721から現在ブロック711まで移動する。物体はまた、TD1 733によって示される期間を通じて、動き軌跡713に沿って、現在ブロック711から後続参照ブロック731まで移動する。現在ブロック711に対する予測情報は、先行参照フレーム720及び/又は先行参照ブロック721並びに後続参照フレーム730及び/又は後続参照ブロック731を、これらのフレーム間の方向及び時間距離を指し示す一対の参照インデックスによって参照し得る。
【0115】
先行動きベクトル(MV0)725は、(例えば、先行参照フレーム720と現在フレーム710との間の)TD0 723を通じての動き軌跡713に沿ったオブジェクトの移動の方向及び大きさを記述する。後続動きベクトル(MV1)735は、(例えば、現在フレーム710と後続参照フレーム730との間の)TD1 733を通じての動き軌跡713に沿ったオブジェクトの移動の方向及び大きさを記述する。従って、双方向インター予測700において、現在ブロック711は、先行参照ブロック721及び/又は後続参照ブロック731、MV0 725、及びMV1 735を使用することによってコーディング及び再構成されることができる。
【0116】
一実施形態において、インター予測及び/又は双方向インター予測は、ブロック毎に基づいてではなく、サンプル毎(例えば、ピクセル毎)に基づいて実行され得る。すなわち、現在ブロック711内の各サンプルに対して、先行参照ブロック721及び/又は後続参照ブロック731内の各サンプルを指す動きベクトルを決定することができる。そのような実施形態では、図7に示した動きベクトル725及び動きベクトル735は、現在ブロック711、先行参照ブロック721、及び後続参照ブロック731内の複数のサンプルに対応する複数の動きベクトルを表す。
【0117】
マージモード及びアドバンスト動きベクトル予測(AMVP)モードのどちらでも、候補リスト決定パターンによって定義された順序で候補動きベクトルを候補リストに追加することによって、候補リストが生成される。そのような候補動きベクトルは、片方向インター予測600、双方向インター予測700、又はこれらの組み合わせに従った動きベクトルを含み得る。具体的には、隣接ブロックに対して、それらのブロックが符号化されるときに動きベクトルが生成される。そのような動きベクトルが現在ブロック向けの候補リストに追加され、そして、該候補リストから、現在ブロックに対する動きベクトルが選択される。そして、動きベクトルは、候補リスト内の選択された動きベクトルのインデックスとしてシグナリングされることができる。デコーダは、エンコーダと同じプロセスを用いて候補リストを構築することができ、シグナリングされたインデックスに基づいて候補リストから選択された動きベクトルを決定することができる。従って、候補動きベクトルは、このような隣接ブロックが符号化されるときにどのアプローチが用いられたかに応じて、片方向インター予測600及び/又は双方向インター予測700に従って生成された動きベクトルを含む。
【0118】
図8は、映像ビットストリーム800を示している。ここで使用されるとき、映像ビットストリーム800は、コーディングされた映像ビットストリーム、ビットストリーム、又はこれらの変形としても参照され得る。図8に示すように、ビットストリーム800は、シーケンスパラメータセット(SPS)802、ピクチャパラメータセット(PPS)804、スライスヘッダ806、及び画像データ808を含む。
【0119】
SPS802は、一連のピクチャ(sequence of pictures;SOP)内の全てのピクチャに共通のデータを含む。対照的に、PPS804は、ピクチャ全体に共通のデータを含む。スライスヘッダ806は、例えば、スライスタイプ、及び参照ピクチャのうちのどれが使用されることになるかなど、現在スライスについての情報を含む。SPS802及びPPS804は、概してパラメータセットと称されることがある。SPS802、PPS804、及びスライスヘッダ806は、ネットワーク抽象化層(NAL)ユニットのタイプである。NALユニットは、従うデータのタイプ(例えば、コーディングされた映像データ)のインジケーションを含む構文構造体である。NALユニットは、映像コーディングレイヤ(VCL)と非VCL NALユニットとに分類される。VCL NALユニットは、映像ピクチャ内のサンプルの値を表すデータを含み、非VCL NALユニットは、例えばパラメータセット(多数のVCL NALユニットに適用することができる重要なヘッダデータ)及び補足強化情報(映像ピクチャ内のサンプルの値を復号するのに必要ではないが、復号映像信号の有用性を高め得るタイミング情報及びその他の補足データ)などの、何らかの関連する追加情報を含む。当業者が理解することには、実際の用途において、ビットストリーム800は他のパラメータ及び情報を含み得る。
【0120】
図8の画像データ808は、符号化又は復号されている画像又は映像に関連するデータを有する。画像データ808は、単にビットストリーム800内で搬送されるペイロード又はデータとして参照されてもよい。一実施形態において、画像データ808は、複数のピクチャ810を含むCVS 814(又はCLVS)を有する。CVS 814は、映像ビットストリーム800内の全てのコーディングされたレイヤ映像シーケンス(coded layer video sequence;CLVS)についての、コーディングされた映像シーケンスである。特に、映像ビットストリーム800が単一のレイヤを含むときには、CVSとCLVSは同じである。CVSとCLVSは、映像ビットストリーム800が複数のレイヤを含むときにのみ異なる。
【0121】
図8に示すように、各ピクチャ810のスライスは、それ自身のVCL NALユニット812の中に含まれ得る。CVS814内のVCL NALユニット812のセットをアクセスユニットと称することがある。
【0122】
図9は、ピクチャ910に対するパーティショニング技術900を示している。ピクチャ910は、図8のピクチャ810のいずれとも同様とし得る。図示のように、ピクチャ910は、複数のスライス912にパーティショニングされ得る。スライスは、同一フレーム内のいずれの他の領域とも別々に符号化される、フレーム(例えば、ピクチャ)の空間的に異なる領域である。図9には3つのスライス912を示しているが、実際の適用では、より多数又は少数のスライスが使用され得る。各スライス912は、複数のブロック914にパーティショニングされ得る。図9のブロック914は、図7の現在ブロック711、先行参照ブロック721、及び後続参照ブロック731と同様とし得る。ブロック914はCUを表すことがある。図9には4つのブロック914を示しているが、実際の適用では、より多数又は少数のブロックが使用され得る。
【0123】
各ブロック914は、複数のサンプル916(例えば、ピクセル)にパーティショニングされ得る。一実施形態において、各ブロック914のサイズはルマサンプルで測定される。図9には16個のサンプル916を示しているが、実際の適用では、より多数又は少数のサンプルが使用され得る。
【0124】
図10は、ビデオデコーダ(例えば、ビデオデコーダ30)によって実装される、コーディングされた映像ビットストリームを復号する方法1000の一実施形態である。方法1000は、復号されるビットストリームがビデオエンコーダ(例えば、ビデオエンコーダ20)から直接的又は間接的に受信された後に実行され得る。方法1000は、RPRが有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にすることによって、復号プロセスを改善する。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、実際問題として、コーデックの性能が改善され、それが、より良いユーザ体験につながる。
【0125】
ブロック1002にて、ビデオデコーダは、復号している現在ピクチャの解像度が、参照ピクチャリストによって特定される参照ピクチャの解像度と同じであるかを決定する。一実施形態において、ビデオデコーダは、コーディングされた映像ビットストリーム(例えば、ビットストリーム800)を受信する。コーディングされた映像ビットストリームは、参照ピクチャリストを含み、現在ピクチャの解像度を指し示し、且つ双方向インター予測モードを指し示す。一実施形態において、参照ピクチャリスト構造が参照ピクチャリストを含む。一実施形態において、参照ピクチャリストは、双方向インター予測のために使用される。一実施形態において、現在ピクチャの解像度は、コーディングされた映像ビットストリームのパラメータセット内に配される。一実施形態において、参照ピクチャの解像度は、現在ピクチャに基づいて導出され、現在のピクチャの解像度に基づいて推定され、ビットストリームから構文解析され、あるいは他の方法で取得される。一実施形態において、現在ピクチャに対する参照ピクチャは、双方向インター予測モードに従って、参照ピクチャリストに基づいて生成される。
【0126】
ブロック1004にて、現在ピクチャの解像度が参照ピクチャの各々の解像度と同じであると決定されたとき、ビデオデコーダは、現在ピクチャの現在ブロックに対してBDOFを有効にする。一実施形態において、ビデオデコーダは、BDOFフラグを第1の値(例えば、真、1など)に設定することによってBDOFを有効にする。一実施形態において、BDOFが有効にされるときであっても、BDOFはオプションのプロセスである。すなわち、BDOFが有効にされるときであっても、BDOFを実行する必要があるというわけではない。
【0127】
ブロック1006にて、現在ピクチャの解像度が参照ピクチャのうちのいずれかの解像度と異なるとき、ビデオデコーダは、現在ピクチャの現在ブロックに対してBDOFを無効にする。一実施形態において、ビデオデコーダは、BDOFフラグを第2の値(例えば、偽、0)に設定することによってBDOFを無効にする。
【0128】
ブロック1008にて、BDOFフラグが第1の値に設定されたとき、ビデオデコーダは、現在ブロックに対応する動きベクトルを精緻化する。一実施形態において、方法1000は更に、現在ピクチャ内の他のブロックに対して、現在ピクチャの解像度が参照ピクチャの解像度と異なるのか、それとも同じであるのかに応じて、BDOFを選択的に有効にする及び無効にすることを有する。
【0129】
一実施形態において、当該方法は更に、BDOFが無効にされるときであっても、現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)を有効にすることを有する。
【0130】
一実施形態において、現在ブロックは、現在ピクチャのスライスから取得される。一実施形態において、現在ピクチャは複数のスライスを有し、現在ブロックは、該複数のスライスからのスライスから取得される。
【0131】
一実施形態において、現在ピクチャに基づいて生成された画像が、エレクトロニクス装置(例えば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のユーザに対して表示される。
【0132】
図11は、ビデオエンコーダ(例えば、ビデオエンコーダ20)によって実装される、映像ビットストリームを符号化する方法1100の一実施形態である。方法900は、(例えば、ビデオからの)ピクチャを映像ビットストリームへと符号化し、そして、ビデオデコーダ(例えば、ビデオデコーダ30)に向けて送信されるときに実行され得る。方法1100は、RPRが有効にされるときにCVS全体に対してBDOFを無効にしなければならないことに代えて、現在ピクチャの空間解像度が参照ピクチャの空間解像度と異なるときにBDOFが選択的に無効にされることを可能にすることによって、符号化プロセスを改善する。斯くしてBDOFを選択的に無効にする能力を持つことにより、コーディング効率が改善され得る。従って、実際問題として、コーデックの性能が改善され、それが、より良いユーザ体験につながる。
【0133】
ブロック1102にて、ビデオエンコーダは、符号化している現在ピクチャの解像度が、参照ピクチャリストによって特定される参照ピクチャの解像度と同じであるかを決定する。一実施形態において、参照ピクチャリスト構造が参照ピクチャリストを含む。一実施形態において、参照ピクチャリストは、双方向インター予測のために使用される。一実施形態において、現在ピクチャの解像度は、映像ビットストリームのパラメータセット内に符号化される。一実施形態において、現在ピクチャに対する参照ピクチャは、双方向インター予測モードに従って、参照ピクチャリストに基づいて生成される。
【0134】
ブロック1104にて、現在ピクチャの解像度が参照ピクチャの各々の解像度と同じであると決定されたとき、ビデオエンコーダは、現在ピクチャの現在ブロックに対してBDOFを有効にする。一実施形態において、ビデオエンコーダは、BDOFフラグを第1の値(例えば、真、1など)に設定することによってBDOFを有効にする。一実施形態において、BDOFが有効にされるときであっても、BDOFはオプションのプロセスである。すなわち、BDOFが有効にされるときであっても、BDOFを実行する必要があるというわけではない。
【0135】
一実施形態において、当該方法は、参照ピクチャに基づいて現在ピクチャに関する動きベクトルを決定することと、動きベクトルに基づいて現在ピクチャを符号化することと、仮説的リファレンスデコーダ(hypothetical reference decoder;HRD)を用いて前記現在ピクチャを復号することと、を含む。
【0136】
ブロック1106にて、現在ピクチャの解像度が参照ピクチャのうちのいずれかの解像度と異なるとき、ビデオエンコーダは、現在ピクチャの現在ブロックに対してBDOFを無効にする。一実施形態において、ビデオエンコーダは、BDOFフラグを第2の値(例えば、偽、0)に設定することによってBDOFを無効にする。
【0137】
ブロック1108にて、BDOFフラグが第1の値に設定されたとき、ビデオエンコーダは、現在ブロックに対応する動きベクトルを精緻化する。一実施形態において、方法1100は更に、現在ピクチャ内の他のブロックに対して、現在ピクチャの解像度が参照ピクチャの解像度と異なるのか、それとも同じであるのかに応じて、BDOFを選択的に有効にする及び無効にすることを有する。
【0138】
一実施形態において、当該方法は更に、BDOFが無効にされるときであっても、現在ピクチャを含むコーディングされた映像シーケンス(CVS)全体に対して参照ピクチャリサンプリング(RPR)を有効にすることを有する。
【0139】
一実施形態において、現在ブロックは、現在ピクチャのスライスから取得される。一実施形態において、現在ピクチャは複数のスライスを有し、現在ブロックは、該複数のスライスからのスライスから取得される。
【0140】
一実施形態において、ビデオエンコーダは、現在ブロックを含む映像ビットストリームを生成し、該映像ビットストリームをビデオデコーダに向けて送信する。一実施形態において、ビデオエンコーダは、ビデオデコーダに向けた伝送のために映像ビットストリームを格納する。
【0141】
一実施形態において、映像ビットストリームを復号する方法が開示される。映像ビットストリームは、少なくとも1つのピクチャを有する。各ピクチャが複数のスライスを有する。複数のスライスの各スライスが、複数のコーディングブロック及び複数の参照ピクチャリストを有する。複数の参照ピクチャリストの各参照ピクチャリストが、スライス内のコーディングブロックのインター予測のために使用され得る複数の参照ピクチャを有する。
【0142】
当該方法は、パラメータセットを構文解析して、現在ピクチャの解像度情報を取得することと、現在ピクチャ内の現在スライスの2つの参照ピクチャリストを取得することと、現在スライス内の現在コーディングブロックを復号するための参照ピクチャを決定することと、参照ピクチャの解像度を決定することと、現在ピクチャ及び参照ピクチャの解像度に基づいて、現在コーディングブロックの復号に対して双方向オプティカルフロー(BIO)が使用される又は有効にされるかを決定することと、現在コーディングブロックを復号することと、を含む。
【0143】
一実施形態において、当該方法は、現在ピクチャと参照ピクチャの解像度が相異なるときに、現在コーディングブロックの復号に対してBIOが使用されない又は無効にされることを含む。
【0144】
一実施形態において、映像ビットストリームを復号する方法が開示される。映像ビットストリームは、少なくとも1つのピクチャを有する。各ピクチャが複数のスライスを有する。複数のスライスの各スライスに、複数の構文要素を含むヘッダが付随する。複数のスライスの各スライスが、複数のコーディングブロック及び複数の参照ピクチャリストを有する。複数の参照ピクチャリストの各参照ピクチャリストが、現在スライス内のコーディングブロックのインター予測のために使用され得る複数の参照ピクチャを有する。
【0145】
当該方法は、パラメータセットを構文解析して、現在のコーディングされた映像シーケンス内のピクチャの復号に双方向オプティカルフロー(BIO)コーディングツール/技術が使用され得るかを規定するフラグを取得することと、現在ピクチャ内の現在スライスを取得することと、現在のコーディングされた映像シーケンス内のピクチャの復号に双方向オプティカルフロー(BIO)コーディングツール/技術が使用され得るかを規定するフラグの値が、BIOが使用され得ることを規定するときに、現在スライスに付随するスライスヘッダを構文解析して、現在スライス内のコーディングブロックの復号にBIOコーディングツールが使用され得るかを規定するフラグを取得することと、を含む。
【0146】
一実施形態において、現在スライス内の現在コーディングブロックの復号にBIOコーディングツールが使用され得るかを規定するフラグの値が、現在スライスの復号に該コーディングツールは使用されることができないことを規定するとき、現在コーディングブロックの復号に対して、BIOコーディングツールは使用されない又は無効にされる。
【0147】
一実施形態において、存在しないとき、現在スライス内の現在コーディングブロックの復号にBIOコーディングツールが使用され得るかを規定するフラグの値は、現在のコーディングされた映像シーケンス内のピクチャの復号に双方向オプティカルフロー(BIO)コーディングツール/技術が使用され得るかを規定するフラグの値とあると推定される。
【0148】
一実施形態において、映像ビットストリームを符号化する方法が開示される。映像ビットストリームは、少なくとも1つのピクチャを有する。各ピクチャが複数のスライスを有する。複数のスライスの各スライスに、複数の構文要素を含むヘッダが付随する。複数のスライスの各スライスが、複数のコーディングブロック及び複数の参照ピクチャリストを有する。複数の参照ピクチャリストの各参照ピクチャリストが、現在スライス内のコーディングブロックのインター予測のために使用され得る複数の参照ピクチャを有する。
【0149】
当該方法は、現在のコーディングされた映像シーケンス内のピクチャの符号化に双方向オプティカルフロー(BIO)コーディングツール/技術が使用され得るかを決定することと、パラメータセットを構文解析して、各ピクチャビットストリームの解像度情報を取得することと、現在ピクチャ内の現在スライスの2つの参照ピクチャリストを取得することと、現在スライスの参照ピクチャリストを構文解析して、現在スライスのコーディングブロックの復号に使用され得るアクティブ参照ピクチャを取得することと、以下の条件、すなわち、現在のコーディングされた映像シーケンス内のピクチャの符号化にBIOコーディングツールは使用されることができないという条件、及び現在ピクチャの解像度と参照ピクチャのうちの少なくとも1つの解像度とが異なるという条件、のうち少なくとも1つが満たされる場合に、現在スライス内のコーディングブロックの符号化に対してBIOコーディングツールは使用されることができないと制約することと、を含む。
【0150】
一実施形態において、映像ビットストリームを復号する方法が開示される。ビットストリームは、少なくとも1つのピクチャを有する。各ピクチャが複数のスライスを有する。複数のスライスの各スライスに、複数の構文要素を含むヘッダが付随する。複数のスライスの各スライスが、複数のコーディングブロック及び複数の参照ピクチャリストを有する。複数の参照ピクチャリストの各参照ピクチャリストが、現在スライス内のコーディングブロックのインター予測のために使用され得る複数の参照ピクチャを有する。
【0151】
当該方法は、パラメータセットを構文解析して、現在のコーディングされた映像シーケンス内のピクチャの復号に双方向オプティカルフロー(BIO)コーディングツール/技術が使用され得るかを規定するフラグを取得することと、パラメータセットを構文解析して、ピクチャパラメータセット(PPS)であるパラメータセットを参照するピクチャの復号に双方向オプティカルフロー(BIO)コーディングツール/技術が使用され得るかを規定するフラグを取得することと、を含む。
【0152】
一実施形態において、PPSを参照するピクチャの復号にBIOコーディングツール/技術が使用され得るかを規定するフラグの値が、該コーディングツールは使用されることができないことを規定するとき、現在コーディングブロックの復号に対して、BIOコーディングツールは使用されない又は無効にされる。
【0153】
一実施形態において、映像ビットストリームを符号化する方法が開示される。映像ビットストリームは、少なくとも1つのピクチャを有する。各ピクチャが複数のスライスを有する。複数のスライスの各スライスに、複数の構文要素を含むヘッダが付随する。複数のスライスの各スライスが、複数のコーディングブロック及び複数の参照ピクチャリストを有する。複数の参照ピクチャリストの各参照ピクチャリストが、現在スライス内のコーディングブロックのインター予測のために使用され得る複数の参照ピクチャを有する。
【0154】
一実施形態において、当該方法は、現在のコーディングされる映像シーケンス内のピクチャの符号化に双方向オプティカルフロー(BIO)コーディングツール/技術が使用され得るかを決定することと、現在PPSを参照するピクチャの符号化に双方向オプティカルフロー(BIO)コーディングツール/技術が使用され得るかを決定することと、現在のコーディングされるシーケンス内のピクチャの符号化にBIOコーディングツールは使用されることができないときに、現在PPSを参照するピクチャの符号化に対してBIOコーディングツールは使用されることができないと制約することと、を含む。
【0155】
ここに開示される実施形態を実装するために、以下の構文及びセマンティクスが使用され得る。以下の説明は、最新のVVCドラフト仕様である基本テキストと比較してのものである。換言すれば、違いのみを説明し、以下で言及されない基本テキスト内のテキストはそのまま適用される。基本テキストに対して追加するテキストは太字で示し、削除するテキストは斜字体で示す。
【0156】
参照ピクチャリスト構築プロセスを以下のように更新する。
【0157】
参照ピクチャリストRefPicList[0]とRefPicList[1]が以下のように構築される:
(外1)
【0158】
BIOが使用されるか否かを決定するフラグの導出。
【0159】
predSamplesL0L、predSamplesL1L、及びpredSamplesIntraLを、予測ルマサンプル値の(cbWidth)×(cbHeight)配列であるとするとともに、predSamplesL0Cb、predSamplesL1Cb、predSamplesL0Cr、及びpredSamplesL1Cr、predSamplesIntraCb、及びpredSamplesIntraCrを、予測クロマサンプル値の(cbWidth/2)×(cbHeight/2)配列であるとする。
(外2)
【0160】
シーケンスパラメータセット構文及びセマンティクス。
(外3)
【0161】
0に等しいsps_bdof_enabled_flagは、双方向オプティカルフローインター予測が無効にされることを規定する。1に等しいsps_bdof_enabled_flagは、双方向オプティカルフローインター予測が有効にされることを規定する。
【0162】
スライスヘッダ構文及びセマンティクス。
(外4)
【0163】
(外5)
【0164】
BIOが使用されるか否かを決定するフラグの導出。
【0165】
predSamplesL0L、predSamplesL1L、及びpredSamplesIntraLを、予測ルマサンプル値の(cbWidth)×(cbHeight)配列であるとするとともに、predSamplesL0Cb、predSamplesL1Cb、predSamplesL0Cr、及びpredSamplesL1Cr、predSamplesIntraCb、及びpredSamplesIntraCrを、予測クロマサンプル値の(cbWidth/2)×(cbHeight/2)配列であるとする。
(外6)
【0166】
シーケンスパラメータセット構文及びセマンティクス。
(外7)
【0167】
0に等しいsps_bdof_enabled_flagは、双方向オプティカルフローインター予測が無効にされることを規定する。1に等しいsps_bdof_enabled_flagは、双方向オプティカルフローインター予測が有効にされることを規定する。
【0168】
ピクチャパラメータセット構文及びセマンティクス。
(外8)
【0169】
(外9)
【0170】
(外10)
【0171】
BIOが使用されるか否かを決定するフラグの導出。
【0172】
predSamplesL0L、predSamplesL1L、及びpredSamplesIntraLを、予測ルマサンプル値の(cbWidth)×(cbHeight)配列であるとするとともに、predSamplesL0Cb、predSamplesL1Cb、predSamplesL0Cr、及びpredSamplesL1Cr、predSamplesIntraCb、及びpredSamplesIntraCrを、予測クロマサンプル値の(cbWidth/2)×(cbHeight/2)配列であるとする。
(外11)
【0173】
図12は、開示の一実施形態に従った映像コーディング装置1200(例えば、ビデオエンコーダ20又はビデオデコーダ30)の概略図である。映像コーディング装置1200は、ここに記載される開示実施形態を実装するのに適している。映像コーディング装置1200は、データを受信するための入口ポート1210及び受信器ユニット(Rx)1220と、データを処理するプロセッサ、論理ユニット、又は中央演算処理ユニット(CPU)1230と、データを送信するための送信器ユニット(Tx)1240及び出口ポート1250と、データを格納するためのメモリ1260とを含んでいる。映像コーディング装置1200はまた、光信号又は電気信号の出口又は入口のために、入口ポート1210、受信器ユニット1220、送信器ユニット1240、及び出口ポート1250に結合された、光-電気(OE)コンポーネント及び電気-光(EO)コンポーネントを有し得る。
【0174】
プロセッサ1230は、ハードウェア及びソフトウェアによって実装される。プロセッサ1230は、1つ以上の、CPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、及びデジタル信号プロセッサ(DSP)として実装され得る。プロセッサ1230は、入口ポート1210、受信器ユニット1220、送信器ユニット1240、出口ポート1250、及びメモリ1260と連通している。プロセッサ1230は、コーディングモジュール1270を有する。コーディングモジュール1270は、上述の開示実施形態を実装する。例えば、コーディングモジュール1270は、様々なコーデック機能を実装し、処理し、準備し、又は提供する。コーディングモジュール1270を含むことは、それ故に、映像コーディング装置1200の機能への実質的な改良を提供し、異なる状態への映像コーディング装置1200の変換を実現する。あるいは、コーディングモジュール1270は、メモリ1260に格納されてプロセッサ1230によって実行される命令として実装される。
【0175】
映像コーディング装置1200はまた、ユーザに及びからデータを通信するための入力及び/又は出力(I/O)装置1280を含み得る。I/O装置1280は、例えば映像データを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力装置を含み得る。I/O装置1280はまた、例えばキーボード、マウス、トラックボールなどの入力装置、及び/又はそのような出力装置とインタラクトするための対応するインタフェースを含み得る。
【0176】
メモリ1260は、1つ以上のディスク、テープドライブ、及びソリッドステートドライブを有し、また、オーバーフローデータ記憶デバイスとして使用されて、プログラムが実行のために選択されるときにそのようなプログラムを格納するとともに、プログラム実行中に読み出される命令及びデータを格納し得る。メモリ1260は、揮発性及び/又は不揮発性とすることができ、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想メモリ(ternary content-addressable memory、TCAM)、及び/又はスタティックランダムアクセスメモリ(SRAM)とし得る。
【0177】
図13は、コーディングのための手段1300の一実施形態の概略図である。一実施形態において、コーディングのための手段1300は、映像コーディング装置1302(例えば、ビデオエンコーダ20又はビデオデコーダ30)に実装される。映像コーディング装置1302は、受信手段1301を含んでいる。受信手段1301は、符号化すべきピクチャを受信するように、又は復号すべきビットストリームを受信するように構成される。映像コーディング装置1302は、受信手段1301に結合された送信手段1307を含んでいる。送信手段1307は、ビットストリームをデコーダに送信するように、又は復号画像を表示手段(例えば、I/O装置1280のうちの1つ)に送信するように構成される。
【0178】
映像コーディング装置1302は、ストレージ手段1303を含んでいる。ストレージ手段1303は、受信手段1301又は送信手段1307のうちの少なくとも一方に結合される。ストレージ手段1303は、命令を格納するように構成される。映像コーディング装置1302はまた、プロセッシング手段1305を含んでいる。プロセッシング手段1305は、ストレージ手段1303に結合される。プロセッシング手段1305は、ストレージ手段1303に格納された命令を実行して、ここに開示される方法を実行するように構成される。
【0179】
これまた理解されるべきことには、ここに記載された例示的な方法のステップは、必ずしも、記載された順序で実行される必要はなく、そのような方法のステップの順序は、単に例示的なものであると理解されるべきである。同様に、そのような方法に追加のステップが含められてもよく、また、本開示の様々な実施形態と一致する方法において、ある特定のステップが省略されたり組み合わされたりしてもよい。
【0180】
本開示にて幾つかの実施形態を提示したが、理解されるべきことには、開示されたシステム及び方法は、本開示の精神又は範囲を逸脱することなく、数多くのその他の具体的形態でも具現化され得るものである。ここでの例は、限定的なものではなく、例示的なものと見なされるべきであり、意図することは、ここに与えられた詳細事項に限定されるべきでないということである。例えば、これらの様々な要素又はコンポーネントは、他のシステムにおいて結合あるいは統合されてもよく、あるいは、特定の機構が省略されたり、実装されなかったりしてもよい。
【0181】
また、様々な実施形態において個別あるいは別個であるように記載及び図示された技術、システム、サブシステム及び方法が、本開示の範囲を逸脱することなく、他のシステム、モジュール、技術又は方法と結合あるいは統合され得る。互いに結合されたり、又は直接結合されたり、又は通信したりするとして示された又は説明された他のアイテムは、電気的であるか、機械的であるか、又は他の方法であるかにかかわらず、何らかのインタフェース、デバイス、又は中間コンポーネントを介して間接的に結合されたり、又は通信したりしてもよい。変形、代用及び改変のその他の例が、当業者によって解明可能であり、ここに開示された精神及び範囲を逸脱することなく為され得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13