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

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

▶ 鴻穎創新有限公司の特許一覧

特許7499854ビデオデータをコーディングするデバイス及び方法
<>
  • 特許-ビデオデータをコーディングするデバイス及び方法 図1
  • 特許-ビデオデータをコーディングするデバイス及び方法 図2
  • 特許-ビデオデータをコーディングするデバイス及び方法 図3
  • 特許-ビデオデータをコーディングするデバイス及び方法 図4A
  • 特許-ビデオデータをコーディングするデバイス及び方法 図4B
  • 特許-ビデオデータをコーディングするデバイス及び方法 図4C
  • 特許-ビデオデータをコーディングするデバイス及び方法 図5A
  • 特許-ビデオデータをコーディングするデバイス及び方法 図5B
  • 特許-ビデオデータをコーディングするデバイス及び方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-06
(45)【発行日】2024-06-14
(54)【発明の名称】ビデオデータをコーディングするデバイス及び方法
(51)【国際特許分類】
   H04N 19/119 20140101AFI20240607BHJP
   H04N 19/109 20140101ALI20240607BHJP
   H04N 19/136 20140101ALI20240607BHJP
   H04N 19/176 20140101ALI20240607BHJP
【FI】
H04N19/119
H04N19/109
H04N19/136
H04N19/176
【請求項の数】 17
(21)【出願番号】P 2022528269
(86)(22)【出願日】2020-12-30
(65)【公表番号】
(43)【公表日】2023-01-18
(86)【国際出願番号】 CN2020141275
(87)【国際公開番号】W WO2021136349
(87)【国際公開日】2021-07-08
【審査請求日】2022-05-16
(31)【優先権主張番号】62/955,228
(32)【優先日】2019-12-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518446879
【氏名又は名称】鴻穎創新有限公司
【氏名又は名称原語表記】FG INNOVATION COMPANY LIMITED
【住所又は居所原語表記】Flat 2623,26/F Tuen Mun Central Square,22 Hoi Wing Road,Tuen Mun,New Territories,The Hong Kong Special Administrative Region of the People’s Republic of China
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】ヤン,ユチァオ
(72)【発明者】
【氏名】テン,チユ
【審査官】鉢呂 健
(56)【参考文献】
【文献】国際公開第2019/151279(WO,A1)
【文献】国際公開第2018/037853(WO,A1)
【文献】国際公開第2021/104433(WO,A1)
【文献】特表2022-506269(JP,A)
【文献】特表2022-545949(JP,A)
【文献】ESENLIK, Semih et al.,Non-CE4: Geometrical partitioning for inter blocks,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3-12 July 2019, [JVET- O0489-v4],JVET-O0489 (version 4),ITU-T,2019年07月07日,<URL:https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0489-v4.zip>: JVET-O0489_v4.docx: pp.1-9
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
電子デバイスによってビットストリームを復号する方法であって、
前記ビットストリームの画像フレームを受信するステップ、
前記受信した画像フレームからブロック幅及びブロック高さを有するブロックユニットを決定するステップ、
前記ブロック幅と前記ブロック高さとの比較に基づいて、前記ブロックユニットのために幾何学的分配モードが無効であるかどうかを判定するステップであって、前記比較が、前記ブロック幅と前記ブロック高さとの比率値が閾値以上であることを示すとき、前記幾何学的分配モードが前記ブロックユニットに対して無効であると判定し、前記比較が、前記比率値が前記閾値未満であることを示すとき、前記幾何学的分配モードが無効ではないと判定するステップ、
前記ブロック幅と、前記ブロック高さに前記閾値を乗算することによって生成された第1の拡大値とを比較するステップ、
前記ブロック高さと、前記ブロック幅に前記閾値を乗算することによって生成された第2の拡大値とを比較するステップを有し、
前記ブロック幅が前記第1の拡大値未満であり、前記ブロック高さが前記第2の拡大値未満であるとき、前記比較が、前記比率値が前記閾値未満であることを示し、
前記ブロック幅が前記第1の拡大値以上であるとき、前記比較が、前記比率値が前記閾値以上であることを示し、
前記ブロック高さが前記第2の拡大値以上であるとき、前記比較が、前記比率値が前記閾値以上であることを示し、
前記閾値が8であり、
前記ブロック幅が64であり、前記ブロック高さが64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック幅が64であり、前記ブロック高さが8である場合、前記幾何学的分配モードは無効であり、
前記ブロック高さが64であり、前記ブロック幅が64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック高さが64であり、前記ブロック幅が8である場合、前記幾何学的分配モードは無効であり、
前記ブロックユニットは、前記幾何学的分配モードが前記ブロックユニットに適用されるとき、分割され、前記ブロックユニットの異なるマージ候補によって予測される複数のサブブロックを生成し、
前記方法は、更に、
前記ブロックユニットに対して前記幾何学的分配モードが無効であるとき、前記幾何学的分配モードとは異なる予測モードに基づいて前記ブロックユニットを予測することによって、予測されたブロックを生成するステップ、及び
前記予測されたブロックに基づいて前記ブロックユニットを再構成するステップを含む、
方法。
【請求項2】
電子デバイスによってビットストリームを復号する方法であって、
前記ビットストリームの画像フレームを受信するステップ、
前記受信した画像フレームからブロック幅及びブロック高さを有するブロックユニットを決定するステップ、
前記ブロック幅と前記ブロック高さとの比較に基づいて、前記ブロックユニットのために幾何学的分配モードが無効であるかどうかを判定するステップであって、
前記比較が、前記ブロック幅と前記ブロック高さとの比率値が閾値以上であることを示すとき、前記幾何学的分配モードが前記ブロックユニットに対して無効であると判定し、 前記比較が、前記比率値が前記閾値未満であることを示すとき、前記幾何学的分配モードが無効ではないと判定し、
前記閾値が8であり、
前記ブロック幅が64であり、前記ブロック高さが64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック幅が64であり、前記ブロック高さが8である場合、前記幾何学的分配モードは無効であり、
前記ブロック高さが64であり、前記ブロック幅が64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック高さが64であり、前記ブロック幅が8である場合、前記幾何学的分配モードは無効であり、
前記ブロックユニットは、前記幾何学的分配モードが前記ブロックユニットに適用されるとき、分割され、前記ブロックユニットの異なるマージ候補によって予測される複数のサブブロックを生成し、
前記ブロックユニットに対して前記幾何学的分配モードが無効であるとき、前記幾何学的分配モードとは異なる予測モードに基づいて前記ブロックユニットを予測することによって、予測されたブロックを生成するステップ、及び
前記予測されたブロックに基づいて前記ブロックユニットを再構成するステップ、
前記ブロック幅及び前記ブロック高さに基づいて生成される比率パラメータを決定するステップ、
前記比率パラメータを比率閾値と比較するステップ、
前記比率パラメータが前記比率閾値以上であるとき、前記比較が、前記比率値が前記閾値以上であることを示すと判定するステップ、及び
前記比率パラメータが前記比率閾値未満であるとき、前記比較が、前記比率値が前記閾値未満であることを示すと判定するステップ
を含む、方法。
【請求項3】
前記比率パラメータは、前記ブロック幅が前記ブロック高さよりも大きいとき、前記ブロック幅を前記ブロック高さで割ることによって決定され、
前記比率パラメータは、前記ブロック高さが前記ブロック幅以上であるとき、前記ブロック高さを前記ブロック幅で割ることによって決定される、請求項2に記載の方法。
【請求項4】
前記比率パラメータは、前記ブロック幅の2を底とする対数から前記ブロック高さの2を底とする対数を減算することによって生成される差分値の絶対値に等しい、請求項2に記載の方法。
【請求項5】
前記幾何学的分配モードによって前記ブロックユニットが予測されるとき、前記ブロックユニットの分配インデックス、第1のマージインデックス、及び第2のマージインデックスを決定するステップ、
前記分配インデックスに基づいて、前記ブロックユニットを分割し、第1のサブブロック及び第2のサブブロックを生成するステップ、及び
前記第1のマージインデックスに基づいて複数のマージ候補から選択された第1のマージモードによって前記第1のサブブロックを予測し、前記第2のマージインデックスに基づいて前記複数のマージ候補から選択された第2のマージモードによって前記第2のサブブロックを予測し、前記予測されたブロックを生成するステップ、
を更に含む、請求項1または2に記載の方法。
【請求項6】
電子デバイスによってビットストリームを復号する方法であって、
前記ビットストリームの画像フレームを受信するステップ、
前記受信した画像フレームからブロック幅及びブロック高さを有するブロックユニットを決定するステップ、
前記ブロック幅と前記ブロック高さとの比較を決定するステップであって、前記比較が、前記ブロック幅と前記ブロック高さとの比率値が閾値以上であることを示すとき、幾何学的分配モードが前記ブロックユニットに対して無効であると判定し、前記比較が、前記比率値が前記閾値未満であることを示すとき、前記幾何学的分配モードが無効でないと判定するステップ、
前記ブロック幅と、前記ブロック高さに前記閾値を乗算することによって生成された第1の拡大値とを比較するステップ、
前記ブロック高さと、前記ブロック幅に前記閾値を乗算することによって生成された第2の拡大値とを比較するステップであって、
前記ブロック幅が前記第1の拡大値未満であり、前記ブロック高さが前記第2の拡大値未満であるとき、前記比較が、前記比率値が前記閾値未満であることを示し、
前記ブロック幅が前記第1の拡大値以上であるとき、前記比較が、前記比率値が前記閾値以上であることを示し、
前記ブロック高さが前記第2の拡大値以上であるとき、前記比較が、前記比率値が前記閾値以上であることを示し、
前記閾値が8であり、
前記ブロック幅が64であり、前記ブロック高さが64、32または16であ
る場合、前記幾何学的分配モードは無効ではなく、
前記ブロック幅が64であり、前記ブロック高さが8である場合、前記幾何学的分配モードは無効であり、
前記ブロック高さが64であり、前記ブロック幅が64、32または16であ
る場合、前記幾何学的分配モードは無効ではなく、
前記ブロック高さが64であり、前記ブロック幅が8である場合、前記幾何学的分配モードは無効であり、
前記方法は、更に、
前記比較が、前記ブロック幅と前記ブロック高さとの比率値が閾値以上であることを示すとき、幾何学的分配モードとは異なる第1の予測モードに基づいて前記ブロックユニットを予測することによって、予測されたブロックを生成するステップであって、前記ブロックユニットは、前記幾何学的分配モードが、前記ブロックユニットに適用されるとき、分割され、前記ブロックユニットの異なるマージ候補によって予測された複数のサブブロックを生成する、ステップ、及び
前記予測されたブロックに基づいて前記ブロックユニットを再構成するステップ
を含む、方法。
【請求項7】
電子デバイスによってビットストリームを復号する方法であって、
前記ビットストリームの画像フレームを受信するステップ、
前記受信した画像フレームからブロック幅及びブロック高さを有するブロックユニットを決定するステップ、
前記ブロック幅と前記ブロック高さとの比較を決定するステップであって、
前記比較が、前記ブロック幅と前記ブロック高さとの比率値が閾値以上であることを示すとき、幾何学的分配モードが前記ブロックユニットに対して無効であると判定し、
前記比較が、前記比率値が前記閾値未満であることを示すとき、前記幾何学的分配モードが無効でないと判定し
前記ブロック幅が64であり、前記ブロック高さが64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック幅が64であり、前記ブロック高さが8である場合、前記幾何学的分配モードは無効であり、
前記ブロック高さが64であり、前記ブロック幅が64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック高さが64であり、前記ブロック幅が8である場合、前記幾何学的分配モードは無効であり、
前記比較が、前記ブロック幅と前記ブロック高さとの比率値が閾値以上であることを示すとき、幾何学的分配モードとは異なる第1の予測モードに基づいて前記ブロックユニットを予測することによって、予測されたブロックを生成するステップであって、前記ブロックユニットは、前記幾何学的分配モードが、前記ブロックユニットに適用されるとき、分割され、前記ブロックユニットの異なるマージ候補によって予測された複数のサブブロックを生成する、ステップ、
前記予測されたブロックに基づいて前記ブロックユニットを再構成するステップ、
前記ブロック幅及び前記ブロック高さに基づいて生成される比率パラメータを決定するステップ、
前記比率パラメータを比率閾値と比較するステップ、及び
前記比率パラメータが前記比率閾値以上であるとき、前記比率値が前記閾値以上であることを前記比較が示すと決定するステップ
を更に含む、方法。
【請求項8】
前記ブロック幅が前記ブロック高さより大きいとき、前記比率パラメータは、前記ブロック幅を前記ブロック高さで割ることによって、決定され、
前記ブロック高さが前記ブロック幅以上であるとき、前記比率パラメータは、前記ブロック高さを前記ブロック幅で割ることによって決定される、請求項7に記載の方法。
【請求項9】
前記比率パラメータは、前記ブロック幅の2を底とする対数から前記ブロック高さの2を底とする対数を減算することによって生成される差分値の絶対値に等しい、請求項7に記載の方法。
【請求項10】
前記比率パラメータが前記比率閾値未満であるとき、前記比率値が前記閾値未満であることを前記比較が示すと決定するステップ、及び
前記比較が、前記比率値が前記閾値未満であることを示すとき、前記幾何学的分配モードを含む複数の候補モードから選択される第2の予測モードに基づいて前記ブロックユニットを予測することによって前記予測されたブロックを生成するステップ
を更に含む、請求項7に記載の方法。
【請求項11】
前記ブロック幅が前記第1の拡大値未満であり、前記ブロック高さが前記第2の拡大値未満であるとき、前記比較が、前記比率値が前記閾値未満であることを示すと決定するステップ、及び
前記比較が、前記比率値が前記閾値未満であることを表すとき、前記幾何学的分配モードを含む複数の候補モードから選択される第2の予測モードを使用することによって、前記予測されたブロックを生成するようにブロックユニットを予測するステップ
を更に含む、請求項に記載の方法。
【請求項12】
ビットストリームを復号するための電子デバイスであって、前記電子デバイスは、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサに結合され、前記少なくとも1つのプロセッサによって実
行されるとき、前記少なくとも1つのプロセッサに、
前記ビットストリームの画像フレームを受信すること、
前記受信した画像フレームからブロック幅及びブロック高さを有するブロックユニット
を決定すること、
前記ブロック幅と前記ブロック高さとの比較を決定することであって、前記比較が、前記ブロック幅と前記ブロック高さとの比率値が閾値以上であることを示すとき、幾何学的分配モードが前記ブロックユニットに対して無効であると判定し、前記比較が、前記比率値が前記閾値未満であることを示すとき、前記幾何学的分配モードが無効でないと判定すること、
前記ブロック幅と、前記ブロック高さに前記閾値を乗算することによって生成された第1の拡大値とを比較すること、
前記ブロック高さと、前記ブロック幅に前記閾値を乗算することによって生成された第2の拡大値とを比較することであって、
前記ブロック幅が前記第1の拡大値未満であり、前記ブロック高さが前記第2の拡大値未満であるとき、前記比較が、前記比率値が前記閾値未満であることを示すと判定し、
前記ブロック幅が前記第1の拡大値以上であるとき、前記比率値が前記閾値以上であることを示すと判定し、
前記ブロック高さが前記第2の拡大値以上であるとき、前記比率値が前記閾値以上であることを示すと判定し、
前記閾値が8であり、
前記ブロック幅が64であり、前記ブロック高さが64、32または16であ
る場合、前記幾何学的分配モードは無効ではなく、
前記ブロック幅が64であり、前記ブロック高さが8である場合、前記幾何学的分配モードは無効であり、
前記ブロック高さが64であり、前記ブロック幅が64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック高さが64であり、前記ブロック幅が8である場合、前記幾何学的分配モードは無効である、こと、
前記ブロック幅と前記ブロック高さの間の比率値が閾値以上であることを前記比較が示すとき、幾何学的分割モードと異なる第1の予測モードに基づいて前記ブロックユニットを予測することによって、予測されたブロックを生成すること、であって、前記ブロックユニットは、前記幾何学的分配モードが前記ブロックユニットに適用されたとき、分割され、前記ブロックユニットの異なるマージ候補によって予測される複数のサブブロックを生成すること、及び
前記予測されたブロックに基づいて前記ブロックユニットを再構成すること
を実行させるプログラムを保存する、記憶デバイスと、
を含む、電子デバイス。
【請求項13】
ビットストリームを復号するための電子デバイスであって、前記電子デバイスは、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサに結合され、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
前記ビットストリームの画像フレームを受信すること、
前記受信した画像フレームからブロック幅及びブロック高さを有するブロックユニットを決定すること、
前記ブロック幅と前記ブロック高さとの比較を決定することであって、前記比較が、前記ブロック幅と前記ブロック高さとの比率値が閾値以上であることを示すとき、幾何学的分配モードが前記ブロックユニットに対して無効であると判定し、前記比較が、前記比率値が前記閾値未満であることを示すとき、前記幾何学的分配モードが無効でないと判定すること、
前記閾値が8であり、
前記ブロック幅が64であり、前記ブロック高さが64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック幅が64であり、前記ブロック高さが8である場合、前記幾何学的分配モードは無効であり、
前記ブロック高さが64であり、前記ブロック幅が64、32または16である場合、前記幾何学的分配モードは無効ではなく、
前記ブロック高さが64であり、前記ブロック幅が8である場合、前記幾何学的分配モードは無効である、こと、
前記ブロック幅と前記ブロック高さの間の比率値が閾値以上であることを前記比較が示すとき、幾何学的分割モードと異なる第1の予測モードに基づいて前記ブロックユニットを予測することによって、予測されたブロックを生成すること、であって、前記ブロックユニットは、前記幾何学的分配モードが前記ブロックユニットに適用されたとき、分割され、前記ブロックユニットの異なるマージ候補によって予測される複数のサブブロックを生成すること、及び
前記予測されたブロックに基づいて前記ブロックユニットを再構成すること
前記ブロック幅及び前記ブロック高さに基づいて生成される比率パラメータを決定すること、
前記比率パラメータを比率閾値と比較すること、及び
前記比率パラメータが前記比率閾値以上であるとき、前記比率値が前記閾値以上であることを前記比較が示すと決定すること
を実行させるプログラムを保存する、記憶デバイスと、
を含む、電子デバイス。
【請求項14】
前記比率パラメータは、前記ブロック幅が前記ブロック高さより大きいとき、前記ブロック幅を前記ブロック高さで割ることによって決定され、
前記比率パラメータは、前記ブロック高さが前記ブロック幅以上であるとき、前記ブロック高さを前記ブロック幅で割ることによって決定される、
請求項13に記載の電子デバイス。
【請求項15】
前記比率パラメータは、前記ブロック幅の2を底とする対数から前記ブロック高さの2を底とする対数を減算することによって生成される差分値の絶対値に等しい、請求項13に記載の電子デバイス。
【請求項16】
前記プログラムは、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
前記比率パラメータが前記比率閾値未満であるとき、前記比率値が前記閾値未満であることを前記比較が示すと決定すること、及び
前記比較が、前記比率値が前記閾値未満であることを表すとき、前記幾何学的分配モードを含む複数の候補モードから選択される第2の予測モードに基づいて前記ブロックユニットを予測することによって、前記予測されたブロックを生成すること
を更に実行させる、請求項13に記載の電子デバイス。
【請求項17】
前記プログラムは、前記少なくとも1つのプロセッサによって実行されるとき、前記少なくとも1つのプロセッサに、
前記ブロック幅が前記第1の拡大値未満であり、前記ブロック高さが前記第2の拡大値未満であるとき、前記比較が、前記比率値が前記閾値未満であることを示すと決定すること、及び
前記比率値が前記閾値未満であることを前記比較が示すとき、前記幾何学的分配モードを含む複数の候補モードから選択される第2の予測モードに基づいて前記ブロックユニットを予測することによって、前記予測されたブロックを生成すること
を更に実行させる、請求項12に記載の電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
〔関連出願の相互参照〕
本開示は、“Adjustment of Partition Candidates for Geometric Partition Prediction”と題する、2019年12月30日に出願された米国仮特許出願第62/955228号(以下、「’228仮出願」と称する)の利益及び優先権を主張する。’228仮出願の開示は、参照により本開示に完全に組み込まれる。
【0002】
本開示は一般に、ビデオコーディングに関し、具体的には、画像フレームにおけるブロックユニットの幅及び高さの比率値に基づいて、ブロックユニットが幾何学的分配モードによって予測されるかどうかを判定するための技術に関する。
【背景技術】
【0003】
幾何学的分配モードは、ビデオコーディング方法におけるコーディングツールである。幾何学的分配モードにおいて、エンコーダは、画像フレーム内のブロックユニットを予測するための複数のマージ候補のうちの2つを選択し、選択されたマージ候補をデコーダが認識するために、2つのマージインデックスをビットストリームに提供してもよい。
【0004】
エンコーダ及びデコーダは、幾何学的分配モードがブロックユニットに適用されるとき、画像フレーム内のブロックユニットを分配線に沿って分割し、複数のサブブロックを生成することができる。サブブロックのいくつかは、2つのマージ候補の内の1つのみに基づいて予測されてもよく、サブブロックの内の他方は、2つのマージ候補の両方に基づいて予測されてもよい。従って、エンコーダがブロックユニットを予測するために幾何学的分配モードを含む複数の予測モードを試みるとき、エンコーダは、幾何学的結果を含む複数の候補結果からブロックユニットの予測結果を選択する必要がある。
【0005】
しかしながら、複数の候補ラインから分配ラインを選択し、複数のマージ候補から2つのマージ候補を選択することにより、エンコーダが幾何学的分配モードでブロックユニットを予測して幾何学的結果を生成するには、複雑すぎる。従って、エンコーディング処理の複雑さを低下させるために、エンコーダがブロックユニットを予測するための幾何学的分配モードの使用を制限することが重要であるかもしれない。デコーダはまた、幾何学的分配モードが無効化されていることを判定する方法を知る必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示は、ブロックユニットの幅と高さとの比較に基づいて、幾何学的分配モードがブロックユニットに適用されるかどうかを判定するためのデバイス及び方法に関する。
【0007】
本開示の第1の態様において、ビットストリームをデコードするための方法、及び本方法を実行するための電子デバイスが、提供される。本方法は、ビットストリームの画像フレームを受信するステップ、受信した画像フレームからブロック幅及びブロック高さを有するブロックユニットを決定するステップ、ブロック幅とブロック高さとの比較に基づいて、ブロックユニットに対して幾何学的分配モードが無効にされているかどうかを決定するステップであって、幾何学的分配モードがブロックユニットに適用されるとき、ブロックユニットは分割され、ブロックユニットの異なるマージ候補によって予測される複数のサブブロックを生成する、ステップ、ブロックユニットのために幾何学的分配モードが無効になっているとき、幾何学的分配モードとは異なる予測モードに基づいてブロックユニットを予測することによって、予測ブロックを生成するステップ、及び予測ブロックに基づいてブロックユニットを再構成するステップを含む。
【0008】
本開示の第2の態様において、ビットストリームをデコードするための方法、及び本方法を実行するための電子デバイスが、提供される。本方法は、ビットストリームの画像フレームを受信するステップ、受信した画像フレームからブロック幅及びブロック高さを有するブロックユニットを決定するステップ、ブロック幅とブロック高さとの比較を決定するステップ、ブロック幅とブロック高さとの比率値が閾値以上であることを比較が示すとき、幾何学的分配モードとは異なる第1の予測モードに基づいてブロックユニットを予測することによって、予測されたブロックを生成するステップであって、幾何学的分配モードが、ブロックユニットに適用されるとき、ブロックユニットは、分割され、ブロックユニットの異なるマージ候補によってそれぞれ予測される複数のサブブロックを生成する、ステップ、及び予測されたブロックに基づいてブロックユニットを再構成するステップを含む。
【図面の簡単な説明】
【0009】
本開示の態様は、以下の詳細な開示及び対応する図面から最もよく理解される。様々な特徴は、縮尺通りに描かれておらず、様々な特徴の寸法は、議論を明確にするために任意に増減されてもよい。
図1図1は、本開示の一例としての実施形態による、ビデオデータをエンコード及びデコードするように設定されたシステムのブロック図を示す。
図2図2は、本開示の一例としての実施形態による、図1に示される第2の電子デバイスのデコーダモジュールのブロック図を示す。
図3図3は、本開示の一例としての実施形態による、電子デバイスによるビデオデータをエンコード及びデコードする方法のフローチャートである。
図4図4A~4Cは、本開示の例としての実施形態による、異なったブロックサイズを有するブロックユニットの概略図である。
図5図5A及び図5Bは、本開示の例としての実施形態による、分配線に基づいて分離された異なったサブブロックを有するブロックユニットの概略図である。
図6図6は、本開示の一例としての実施形態による、図1に示される第1の電子デバイスのエンコーダモジュールのブロック図を示す。
【発明を実施するための形態】
【0010】
以下の開示は、本開示における例としての実施形態に関する具体的な事項を含む。図面及び対応する詳細な記載は、例としての実施形態に向けている。しかしながら、本開示は、これらの例としての実施形態に限定されるものではない。本開示の他の変形及び実施形態は、当業者に想起されるであろう。
【0011】
特に断りのない限り、図中の同様の又は対応する要素は、同様の又は対応する参照符号によって示され得る。本開示における図面及び例示は、一般的に縮尺通りではなく、実際の相対的寸法に対応することを意図していない。
【0012】
一貫性の目的及び理解の容易さのために、同様の特徴は、例示的な図面において(いくつかの実施例において、図示されていないが)符号によって識別されている。しかしながら、異なる実施形態における特徴は、他の点で異なってもよく、図に示されるものに狭く限定されるべきではない。
【0013】
開示は、「一実施形態において」、又は「いくつかの実施形態において」という語句を使用し、同一又は異なる実施形態の一つ又は複数を参照することがある。用語「結合された」は、直接的であろうと間接的であろうと、介在する部品を介して接続されたものとして定義され、必ずしも物理的接続に限定されない。用語「含む」は、「含むが、必ずしもそれに限定されない」ことを意味し、特に、そのように記載された組み合わせ、群、グループ及び同等物におけるオープンエンドの包含又はメンバーシップを示す。
【0014】
説明及び非限定の目的のために、開示された技術の理解を提供するために、機能エンティティ、技法、プロトコル、及び規格などの特定の詳細は、記載される。他の実施例において、周知の方法、技術、システム、及びアーキテクチャの詳細な開示は、本開示を不必要な詳細で曖昧にしないように省略される。
【0015】
当業者であれば、本開示に記載された任意の開示された符号化機能又はアルゴリズムは、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアとの組み合わせによって実装され得ることを直ちに認識するのであろう。開示される機能は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せであるモジュールに対応し得る。
【0016】
ソフトウェア実施形態は、メモリ又は他のタイプの記憶デバイスのようなコンピュータ読み取り可能な媒体上に記憶されたコンピュータ実行可能命令を有するプログラムを含み得る。例えば、通信処理能力を有する1つ以上のマイクロプロセッサ又は汎用コンピュータを実行可能命令でプログラムし、開示された機能又はアルゴリズムを実行することができる。
【0017】
マイクロプロセッサ又は汎用コンピュータは、特定用途向け集積回路(ASIC)、プログラマブル論理アレイ、及び/又は1つ又は複数のデジタル信号プロセッサ(DSP)を使用して形成することができる。開示されている実施形態のいくつかは、コンピュータハードウェア上にインストールされ実行されるソフトウェアを指向しているが、ファームウェアとして、又はハードウェアとして、又はハードウェアとソフトウェアの組合せとして実現される代替的な実施形態は、本開示の範囲内で十分である。コンピュータ読み取り可能媒体は、ランダムアクセスメモリ、読み取り専用メモリ、消去可能プログラマブル読み取り専用メモリ、電気的消去可能プログラマブル読み取り専用メモリ、フラッシュメモリ、コンパクトディスク読み取り専用メモリ、磁気カセット、磁気テープ、磁気ディスク記憶、又はコンピュータ読み取り可能命令を記憶することができる他の任意の同等の媒体を含むが、これらに限定されない。
【0018】
図1は、本開示の一例としての実施形態による、ビデオデータをエンコード及びデコードするように設定されたシステムのブロック図を示す。システム100は、第1の電子デバイス110、第2の電子デバイス120、及び通信媒体130を含む。
【0019】
第1の電子デバイス110は、ビデオデータをエンコードし、エンコードされたビデオデータを通信媒体130に送信するように設定された任意のデバイスを含むソースデバイスであってよい。第2の電子デバイス120は、通信媒体130を介して符号化されたビデオデータを受信し、エンコードされたビデオデータをデコードするように設定された任意の装置を含む宛先デバイスであってよい。
【0020】
少なくとも1つの実施形態において、第1の電子デバイス110は、通信媒体130を介して第2の電子デバイス120と有線又は無線で通信することができる。第1の電子デバイス110は、ソースモジュール112、エンコーダモジュール114、及び第1のインターフェース116を含むことができる。第2の電子デバイス120は、ディスプレイモジュール122、デコーダモジュール124、及び第2のインターフェース126を含むことができる。第1の電子デバイス110は、ビデオエンコーダであってよく、第2の電子デバイス120は、ビデオデコーダであってよい。
【0021】
少なくとも1つの実施形態において、第1の電子デバイス110及び/又は第2の電子デバイス120は、携帯電話、タブレット、デスクトップ、ノートブック、又は他の電子デバイスであってよい。図1は、第1の電子デバイス110及び第2の電子デバイス120の1つの実施例を示す。第1の電子デバイス110及び第2の電子デバイス120は、図示されたものよりも多い又は少ない部品を含むことができ、又は様々な図示された部品の異なる構成を有することができる。
【0022】
少なくとも1つの実施形態において、ソースモジュール112は、新しいビデオをキャプチャするためのビデオキャプチャデバイス、以前にキャプチャされたビデオを格納するためのビデオアーカイブ、及び/又はビデオコンテンツ提供者からビデオを受信するためのビデオフィードインターフェースを含むことができる。ソースモジュール112は、ソースビデオとしてコンピュータグラフィックスベースのデータを生成する、又はソースビデオとしてライブビデオ、アーカイブされたビデオ、及びコンピュータ生成ビデオの組み合わせを生成してもよい。ビデオキャプチャデバイスは、CCD(Charge-Coupled Device)イメージセンサ、CMOS(Complementary Metal-Oxide-Semiconductor)イメージセンサ、又はカメラであってもよい。
【0023】
少なくとも1つの実施形態において、エンコーダモジュール114及びデコーダモジュール124は、それぞれ、1つ又は複数のマイクロプロセッサ、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、システムオンチップ(SoC)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せなど、様々な適切なエンコーダ/デコーダ回路のいずれかとして実装され得る。ソフトウェア内で部分的に実装されるとき、デバイスは、ソフトウェアのための命令を有するプログラムを適切な非一時的コンピュータ読み取り可能媒体に記憶し、開示された方法を実行するために1つ又は複数のプロセッサを用いてハードウェアで命令を実行することができる。少なくとも1つの実施形態において、エンコーダモジュール114及びデコーダモジュール124のそれぞれは、1つ又は複数のエンコーダ又はデコーダに含まれてもよく、これらのエンコーダ又はデコーダの内の任意のものは、デバイス内の複合エンコーダ/デコーダ(CODEC)の一部として統合されてもよい。
【0024】
少なくとも1つの実施形態において、第1のインターフェース116及び第2のインターフェース126は、カスタマイズされたプロトコルを利用するか、あるいは既存の規格または事実上の標準規格に従うことができる。既存の規格または事実上の標準規格には、イーサネット、IEEE 802.11又はIEEE 802.15シリーズ、テレコミュニケーション規格が含まれるが、これらに限定されない。テレコミュニケーション規格には、移動通信のためのグローバルシステム(GSM)、コード分割多元アクセス2000(CDMA2000)、時分割同期符号分割多元接続(TD-SCDMA)、世界マイクロ波インターオペラビリティアクセスシステム(WiMAX)、第3世代パートナーシッププロジェクトロングタームエボリューション(3GPP-LTE)又は時分割LTE(TD-LTE)を含まれるが、これらに限定されない、少なくとも1つの実施形態において、第1のインターフェース116及び第2のインターフェース126は、通信媒体130を介して適合したビデオビットストリームを送信し/又は記憶するように構成され、かつ、通信媒体130を介して適合したビデオビットストリームを受信するように構成された任意のデバイスを含むことができる。
【0025】
少なくとも1つの実施形態において、第1のインターフェース116及び第2のインターフェース126は、適合したビデオビットストリームを記憶デバイスに記憶すること、又は記憶デバイスから受信することができるコンピュータシステムインターフェースを含んでもよい。例えば、第1のインターフェース116及び第2のインターフェース126は、ペリフェラルコンポーネントインターコネクト(PCI)及びペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)バスプロトコル、独自のバスプロトコル、ユニバーサルシリアルバス(USB)プロトコル、I2C、又はピアデバイスを相互接続するために使用することができる他の任意の論理及び物理構造をサポートするチップセットを含むことができる。
【0026】
少なくとも1つの実施形態において、ディスプレイモジュール122は、液晶ディスプレイ(LCD)技術、プラズマディスプレイ技術、有機発光ダイオード(OLED)ディスプレイ技術、又は発光ポリマーディスプレイ(LPD)技術を用いたディスプレイを、他の実施形態において使用される他のディスプレイ技術と共に含んでもよい。ディスプレイモジュール122は、高精細表示又は超高精細表示を含むことができる。
【0027】
図2は、本開示の一例としての実施形態に従って、図1に示された第2の電子デバイス120のデコーダモジュール124のブロック図を示す。デコーダモジュール124は、エントロピーデコーダ(例えば、エントロピーデコーディングユニット2241)、予測プロセッサ(例えば、予測プロセスユニット2242)、逆量子化/逆変換プロセッサ(例えば、逆量子化/逆変換ユニット2243)、加算器(例えば、加算器2244)、フィルタ(例えば、フィルタリングユニット2245)、及びデコードされた画像バッファ(例えば、デコードされた画像バッファ2246)を含む。予測プロセスユニット2242は更に、イントラ予測プロセスユニット(例えば、イントラ予測ユニット22421)、及びインター予測処理ユニット(例えば、インター予測ユニット22422)を含む。デコーダモジュール124は、ビットストリームを受信し、ビットストリームをデコードして、デコードされたビデオを出力する。
【0028】
エントロピーデコーディングユニット2241は、図1内の第2のインターフェース126から複数のシンタックス要素を含むビットストリームを受信し、ビットストリームからのシンタックス要素を抽出するパーシング動作をビットストリーム上で実行することができる。パーシング動作の一部として、エントロピーデコーディングユニット2241は、ビットストリームをエントロピーデコードし、量子化変換係数、量子化パラメータ、変換データ、モーションベクトル、イントラモード、パーティション情報、及び他のシンタックス情報を生成することができる。
【0029】
少なくとも1つの実施形態において、エントロピーデコーディングユニット2241は、量子化変換係数を生成するために、コンテキスト適応可変長符号化(CAVLC)、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックスベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔分配エントロピー(PIPE)コーディング、又は別のエントロピーコーディング技法を実行することができる。少なくとも1つの実施形態において、エントロピーデコーディングユニット2241は、量子化変換係数、量子化パラメータ、及び変換データを逆量子化/逆変換ユニット2243に提供し、モーションベクトル、イントラモード、パーティション情報、及び他のシンタックス情報を予測プロセスユニット2242に提供することができる。
【0030】
少なくとも1つの実施形態において、予測プロセスユニット2242は、エントロピーデコーディングユニット2241から、モーションベクトル、イントラモード、パーティション情報、及び他のシンタックス情報などのシンタックス要素を受信することができる。予測プロセスユニット2242は、パーティション情報を含むシンタックス要素を受信し、パーティション情報に従って画像フレームを分割することができる。
【0031】
少なくとも1つの実施形態において、各画像フレームは、パーティション情報に従って、少なくとも1つの画像ブロックに分割されてもよい。少なくとも1つの画像ブロックは、複数の輝度サンプルを再構成するための輝度ブロック、及び複数の色差サンプルを再構成するための少なくとも1つの色差ブロックを含むことができる。輝度ブロック及び少なくとも1つの色差ブロックは、マクロブロック、コーディングツリーユニット(CTU)、コーディングブロック(CB)、そのサブ分割、及び/又は別の同等のコーディングユニットを生成するために、更に分割されてもよい。
【0032】
少なくとも1つの実施形態において、デコーディングプロセスの間、予測プロセスユニット2242は、画像フレームの内の特定の1つの現在の画像ブロックのためのイントラモード又はモーションベクトルを含む予測されたデータを受信することができる。現在の画像ブロックは、輝度ブロックであっても、特定の画像フレームの中の色差ブロックの一つであってもよい。
【0033】
少なくとも1つの実施形態において、イントラ予測ユニット22421は、予測ブロックを生成するために、イントラモードに関連するシンタックス要素に基づいて、現在のブロックユニットと同じフレーム内の1つ又は複数の隣接ブロックに対する現在のブロックユニットのイントラ予測コーディングを実行することができる。イントラモードは、現在のフレーム内の隣接ブロックから選択された参照サンプルの位置を指定することができる。少なくとも1つの実施形態において、イントラ予測ユニット22421は、色差コンポーネントが予測プロセスユニット2242によって再構築されるとき、現在のブロックユニットの複数のルミナンスコンポーネントに基づいて、現在のブロックユニットの複数の色差コンポーネントを再構築してもよい。
【0034】
少なくとも1つの実施形態において、イントラ予測ユニット22421は、現在のブロックのルミナンスコンポーネントが予測プロセスユニット2242によって再構成されるとき、現在のブロックユニットの複数のルミナンスコンポーネントに基づいて、現在のブロックユニットの複数のクロミナンスコンポーネントを再構成してもよい。
【0035】
少なくとも1つの実施形態において、インター予測ユニット22422は、予測されたブロックを生成するために、モーションベクトルに関連するシンタックス要素に基づいて、1つ又は複数の参照画像ブロック内の1つ又は複数のブロックに対する現在のブロックユニットのインター予測コーディングを実行することができる。
【0036】
少なくとも1つの実施形態において、モーションベクトルは、参照画像ブロック内の参照ブロックユニットに対して、現在の画像ブロックユニット内の現在のブロックユニットの変位を示すことができる。参照ブロックユニットは、現在のブロックユニットと密接に一致するように決定されたブロックである。
【0037】
少なくとも1つの実施形態において、インター予測ユニット22422は、デコードされた画像バッファ2246に記憶された参照画像ブロックを受信し、受信した参照画像ブロックに基づいて現在のブロックユニットを再構成することができる。
【0038】
少なくとも1つの実施形態において、逆量子化/逆変換ユニット2243は、逆量子化及び逆変換を適用し、ピクセルドメイン内の残差ブロックを再構成してよい。逆量子化/逆変換ユニット2243は、残差量子化変換係数に逆量子化を適用し、残差変換係数を生成し、次いで残差変換係数に逆変換を適用してピクセルドメイン内に残差ブロックを生成してよい。
【0039】
少なくとも1つの実施形態において、逆変換は、離散コサイン変換(DCT)、離散サイン変換(DST)、適応多重変換(AMT)、モード依存非分離二次変換(MDNSST)、ハイパーキューブ-ギブンス変換(HyGT)、信号依存変換、カルーネン-レーベ変換(KLT)、ウェーブレット変換、整数変換、サブバンド変換又は概念的に類似した変換のような変換プロセスによって逆変換を逆に適用することができる。
【0040】
少なくとも1つの実施形態において、逆変換は、周波数ドメインなどの変換領域からの残差情報をピクセルドメインに戻すように変換することができる。少なくとも1つの実施形態において、逆量子化の度合いは、量子化パラメータを調整することによって修正されてもよい。加算器2244は、残差ブロックを予測プロセスユニット2242からの予測ブロックに追加して、再構成されたブロックを生成する。
【0041】
少なくとも1つの実施形態において、加算器2244は、再構成された残差ブロックを、予測プロセスユニット2242から提供される予測ブロックに追加し、再構成されたブロックを生成する。
【0042】
少なくとも1つの実施形態において、フィルタリングユニット2245は、再構成されたブロックからブロッキングアーチファクトを除去するために、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、バイラテラルフィルタ、及び/又は適応ループフィルタ(ALF)を含むことができる。デブロッキングフィルタ、SAOフィルタ、バイラテラルフィルタ、及びALFに加えて、追加のフィルタ(ループ又はポストループ)を使用することもできる。このようなフィルタは、簡潔にするために明示的に示されていないが、加算器2244の出力をフィルタリングすることができる。
【0043】
フィルタリングユニット2245は、フィルタリングユニット2245が特定の画像フレームの再構成されたブロックに対するフィルタリング処理を実行した後、デコードされたビデオをディスプレイモジュール122又は他のビデオ受信ユニットに出力することができる。
【0044】
少なくとも1つの実施形態において、デコードされた画像バッファ2246は、(インターコーディングモードで)ビットストリームをデコーディングする中で予測プロセスユニット2242によって使用される参照ブロックを記憶する参照画像メモリであってよい。デコードされた画像バッファ2246は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、又は他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)などの様々なメモリデバイスのいずれかによって形成され得る。
【0045】
少なくとも1つの実施形態において、デコードされた画像バッファ2246は、デコーダモジュール124の他のコンポーネントとオンチップであってもよく、又はそれらのコンポーネントに対してオフチップであってもよい。
【0046】
図3は、本開示の一例としての実施形態に従った、電子デバイスによるビデオデータのエンコーディング及びデコーディングの方法300のフローチャートを示す。方法300は、本方法を実行する様々な方法があるため、単なる実施例である。
【0047】
ビットストリームをデコーディングし、ブロックユニットを再構成するための方法300は、図1及び図2に示される構成を使用して実行されてもよく、これらの図の様々な要素は、方法300に関して参照される。図3に示される各ブロックは、実行される1つ又は複数のプロセス、方法、又はサブルーチンを表すことができる。
【0048】
図3内のブロックの順序は、例示的なものにすぎず、変更することができる。本開示から逸脱することなく、追加のブロックが追加されてもよく、又はより少ないブロックが利用されてもよい。
【0049】
ブロック310において、デコーダモジュール124は、ビデオデータの画像フレームを受信する。ビデオデータはビットストリームであってもよい。
【0050】
図1及び図2を参照すると、第2の電子デバイス120は、第1の電子デバイス110などのエンコーダ、又は第2のインターフェース126を介して他のビデオプロバイダーからビットストリームを受信することができる。第2のインターフェース126は、ビットストリームをデコーダモジュール124に提供することができる。
【0051】
少なくとも1つの実施形態において、エントロピーデコーディングユニット2241は、ビットストリームをデコードし、画像フレームのための複数の予測インディケーション及び複数の分配インディケーションを決定することができ、デコーダモジュール124は、予測インディケーション及び分配インディケーションに基づいて画像フレームを更に再構成することができる。予測インディケーション及び分割インディケーションは、複数のフラグ及び複数のインデックスを含むことができる。
【0052】
ブロック320において、デコーダモジュール124は、受信されたビデオデータからブロック幅及びブロック高さを有するブロックユニットを決定する。更に、図1及び図2を参照すると、デコーダモジュール124は、ビットストリームに含まれる分割インディケーションに従って、イメージフレームを分割し、ブロックユニットを決定することができる。例えば、デコーダモジュール124は、画像フレームを分割し、複数のコーディングツリーユニットを生成し、更に(例えば、ビデオ符号化規格に基づいて)、分配インディケーションに従って、コーディングツリーユニットの内の1つを分割し、ブロックユニットを決定することができる。
【0053】
図4A~4Cは、本開示の例としての実施形態に従った、異なるブロックサイズを有するブロックユニットの概略図である。少なくとも1つの実施形態において、ブロックユニットのブロックサイズは、ブロック高さHb及びブロック幅Wbを含むことができる。例えば、ブロックユニット410のブロックサイズは、ブロック高さH410及びブロック幅W410を含み、ブロックユニット430のブロックサイズは、ブロック高さH430及びブロック幅W430を含み、ブロックユニット450のブロックサイズは、ブロック高さH450及びブロック幅W450を含む。本実施形態において、ブロック高さH410は、ブロック幅W410に等しくてもよく、ブロック幅W430は、8×H430に等しくてもよく、ブロック高さH450は、4×W450に等しくてもよい。
【0054】
ブロック330において、デコーダモジュール124は、ブロック幅とブロック高さとの比較を決定する。更に、図1及び図2を参照すると、デコーダモジュール124は、不等式に基づいて、ブロック幅とブロック高さとの比較を決定することができる。
【0055】
例えば、ブロック幅Wbとブロック高さHbとの比率値Rは、閾値T以上(すなわち、R≧T)であってもよい。一実施形態において、幅Wbとブロック高さHbとの比率値Rは、閾値Tよりも小さくてもよい(すなわち、R<T)。別の実施形態において、幅Wbとブロック高さHbとの比率値Rは、閾値Tよりも大きくてもよい(すなわち、R>T)。他の実施形態において、幅Wbとブロック高さHbとの比率値Rは、閾値T以下であってもよい(すなわち、R<T)。
【0056】
少なくとも1つの実施形態において、デコーダモジュール124は、ブロック幅Wb及びブロック高さHbに基づいて計算された比率パラメータRPを決定することができる。少なくとも1つの実施形態において、第1の比率パラメータRP1は、除算に基づいて計算され得る。一実施形態において、ブロック幅Wbがブロック高さHb以上であるとき、第1の比率パラメータRP1は、ブロック幅Wbをブロック高さHbで割ることによって計算されてもよい(すなわち、RP1=Wb/Hb)。ブロック幅Wbがブロック高さHb未満であるとき、第1の比率パラメータRP1は、ブロック高さHbをブロック幅Wbで割ることによって計算されてもよい(すなわち、RP1=Hb/Wb)。他の実施形態において、ブロック幅Wbがブロック高さHbよりも大きい場合、第1の比率パラメータRP1は、ブロック幅Wbをブロック高さHbで割ることによって、計算することができる。従って、ブロック幅Wbがブロック高さHb以下であるとき、第1の比率パラメータRP1は、ブロック高さHbをブロック幅Wbで除算することによって、計算することができる。
【0057】
少なくとも1つの実施形態において、第2の比率パラメータRP2は、ブロック幅Wb及びブロック高さHbに基づいて、対数方程式によって計算することができる。なお、本実施形態において、ブロックユニットの比率パラメータRPとして、異なる式で計算される第1の比率パラメータRP1及び第2の比率パラメータRP2のいずれか一方をセットしてもよい。少なくとも1つの実施形態において、第2の比率パラメータRP2は、ブロック幅の2を底とする対数からブロック高さの2を底とする対数を減算することによって生成される差分値の絶対値に等しくてよい(すなわち、RP2=abs(log2Wb-log2Hb))。換言すれば、第2の比率パラメータRP2は、商値の2を底とする対数の絶対値に等しくてもよく、商値はブロック幅Wbをブロック高さHbで除算するか、又はブロック高さHbをブロック幅Wbで除算することによって生成される(すなわち、RP2=abs(log2Wb-log2Hb)=abs(log2(Wb/Hb))=abs(log2(Hb/Wb)))。第1の比率パラメータRP1は、第2の比率パラメータRP2のべき乗に等しくてもよい。
【0058】
少なくとも1つの実施形態において、デコーダモジュール124は、比率パラメータRPを比率閾値RTと比較することができる。比率パラメータRPが比率閾値RTよりも大きいとき、デコーダモジュール124は、比率値Rが閾値Tよりも大きいことを比較が示すと判定することができる。比率パラメータRPが比率閾値RTと等しいとき、デコーダモジュール124は、比率値Rが閾値Tに等しいことを比較が示すことを判定することができる。比率パラメータRPが比率閾値RT未満であるとき、デコーダモジュール124は、比率値Rが閾値T未満であることを比較が示すと判定することができる。
【0059】
少なくとも1つの実施形態において、第1の比率パラメータRP1が比率パラメータRPとしてセットされるとき、デコーダモジュール124は、比率パラメータRPを第1の比率閾値RT1と比較することができる。一実施形態において、第1の比率パラメータRP1が第1の比率閾値RT1以上であるとき、デコーダモジュール124は、比率値Rが閾値T以上であることを比較が示すと判定することができる。第1の比率パラメータRP1が第1の比率閾値RT1未満であるとき、デコーダモジュール124は、比率値Rが閾値T未満であることを比較が示すと判定することができる。他の実施形態において、第1の比率パラメータRP1が第1の比率閾値RT1以下であるとき、デコーダモジュール124は、比率値Rが閾値T以下であることを比較が示すと判定することができる。少なくとも1つの実施形態において、第1の比率閾値RT1は、正の整数であってよい。
【0060】
少なくとも1つの実施形態において、第1の比率閾値RT1は、2のn乗に等しくてもよく、数nは、正の整数である。第1の比率閾値RT1は、1、2、4、又は8に予めセットされてよい。例えば、第1の比率閾値RT1が8と等しいとき、ブロックユニット410の第1の比率パラメータRP1は、1に等しく、ブロックユニット450の第1の比率パラメータRP1=H450/W450は、4に等しく、第1の比率閾値RT1よりも小さい。第1の比率閾値RT1が8と等しいとき、8に等しいブロックユニット430の第1の比率パラメータRP1=W430/H430は、第1の比率閾値RT1以上である。
【0061】
少なくとも1つの実施形態において、第2の比率パラメータRP2が比率パラメータRPとしてセットされるとき、デコーダモジュール124は、比率パラメータRPを第2の比率閾値RT2と比較することができる。第2の比率パラメータRP2が第2の比率閾値RT2以上であるとき、デコーダモジュール124は、比率値Rが閾値T以上であることを比較が示すと判定することができる。第2の比率パラメータRP2が第2の比率閾値RT2未満であるとき、デコーダモジュール124は、比率値Rが閾値T未満であることを比較が示すと判定することができる。第2の比率パラメータRP2が第2の比率閾値RT2以下であるとき、デコーダモジュール124は、比率値Rが閾値T以下であることを比較が示すと判定することができる。
【0062】
少なくとも1つの実施形態において、第2の比率閾値RT2は、正の整数であってよい。第2の比率閾値RT2は、1、2、3、又は4に予めセットされてよい。例えば、第2の比率閾値RT2が3に等しいとき、0に等しいブロックユニット410の第2の比率パラメータRP2、及び2に等しいブロックユニット450の第2の比率パラメータRP2は、第2の比率閾値RT2よりも小さい。第2の比率閾値RT2が3に等しいとき、3に等しいブロックユニット430の第2の比率パラメータRP2は、第2の比率閾値RT2以上である。
【0063】
少なくとも1つの実施形態において、第1の比率パラメータRP1が第2の比率パラメータRP2の2のべき乗に等しいため、第1の比率閾値RT1は、第2の比率閾値RT2の2のべき乗に等しくてもよい。したがって、比較の結果は、デコーダモジュール124が比較を第1の不等式RP1<RT1から第2の不等式RP2<RT2に変更するとき、変更されないことがある。
【0064】
少なくとも1つの実施形態において、デコーダモジュール124がブロック幅Wbとブロック高さHbとの比較を決定するとき、デコーダモジュール124は、ブロック幅Wbをブロック高さHbから生成された第1の拡大値N1と比較し、ブロック高さHbを、ブロック幅Wbから生成された第2の拡大値N2と比較することができる。第1の拡大値N1は、ブロック高さHbに閾値Tを乗算することによって算出されてもよく、第2の拡大値N2は、ブロック幅Wbに閾値Tを乗算することによって算出されてもよい(すなわち、N1=T×Hb及びN2=T×Wb)。
【0065】
少なくとも1つの実施形態において、ブロック幅Wbが第1の拡大値N1未満であり、ブロック高さHbが第2の拡大値N2未満であるとき、デコーダモジュール124は、比率値Rが閾値T未満であることを比較が示すと判定することができる。ブロック幅Wbが第1の拡大値N1以上であるとき、デコーダモジュール124は、比率値Rが閾値T以上であることを比較が示すと判定することができる。ブロック高さHbが第2の拡大値N2以上であるとき、デコーダモジュール124は、比率値Rが閾値T以上であることを比較が示すと判定することができる。
【0066】
少なくとも1つの実施形態において、デコーダモジュール124が第1の拡大値N1及び第2の拡大値N2に基づいて比較を決定するとき、閾値Tは、第1の比率閾値RT1に等しくてよい。デコーダモジュール124は、第3の不等式Wb<N1=RT1×Hb及び第4の不等式Hb<N2=RT1×Wbに基づいて比較を決定することができる。
【0067】
少なくとも1つの実施形態において、第1の比率閾値RT1は、1、2、4、又は8に予めセットすることができる。したがって、デコーダモジュール124が第1の拡大値N1と第2の拡大値N2とに基づいて比較を決定するとき、閾値Tは、1、2、4、又は8に予めセットされてもよい。少なくとも1つの実施形態において、ブロック幅Wbがブロック高さHbよりも大きいとき、第1の除算値Hb/Wbは、1未満であってよい。したがって、ブロック幅Wbがブロック高さHbよりも大きいとき、第1の除算値Hb/Wbも、閾値T未満であり、第4の不等式Hb<RT1×Wbが成立する。
【0068】
換言すると、ブロック幅Wbがブロック高さHbよりも大きいときのみ、比較は、第3の不等式Wb<RT1×Hbの影響を受けてよい。したがって、ブロック幅Wbがブロック高さHbよりも大きいとき、第1の不等式RP1=Wb/Hb<RT1に基づいて決定された比較は、第3の不等式Wb<N1=RT1×Hb及び第4の不等式Hb<N2=RT1×Wbに基づいて決定された比較と同一である。
【0069】
別の実施形態において、ブロック幅Wbがブロック高さHb未満であるとき、第2の除算値Wb/Hbは、1未満であってよい。したがって、ブロック幅Wbがブロック高さHb未満であり、閾値Tが1、2、4、8に予めセットされているとき、第2の除算値Wb/Hbも、閾値T未満であり、第3の不等式Wb<RT1×Hbが成立する。
【0070】
換言すると、ブロック幅Wbがブロック高さHb未満である場合にのみ、比較は、第4の不等式Hb<RT1×Wbによって影響され得る。したがって、ブロック幅Wbがブロック高さHb未満であるとき、第1の不等式RP1=Hb/Wb<RT1に基づいて決定される比較は、第3の不等式Wb<N1=RT1×Hb及び第4の不等式Hb<N2=RT1×Wbに基づいて決定される比較と同一である。
【0071】
他の実施形態において、ブロック幅Wbがブロック高さHbに等しいとき、第1の除算値及び第2の除算値は、1に等しくてよい。したがって、ブロック幅Wbがブロック高さHbに等しく、閾値Tが2、4又は8に予めセットされているとき、第1の除算値及び第2の除算値は、閾値T未満であり、第3の不等式及び第4の不等式は、成立する。したがって、ブロック幅Wbがブロック高さHbに等しく、閾値Tが2、4又は8に予めセットされているとき、第1の不等式RP1=Hb/Wb<RT1に基づいて決定された比較は、第3の不等式Wb<N1=RT1×Hb及び第4の不等式Hb<N2=RT1×Wbに基づいて決定された比較と同一である。
【0072】
ブロック340において、デコーダモジュール124は、比較に基づいて、ブロックユニットのために幾何学的分配モードが無効にされているかどうかを判定する。幾何学的分配モードがブロックユニットのために無効にされているとデコーダモジュール124が判定したとき、方法300は、ブロック350に進むことができる。デコーダモジュール124がブロックユニットに対して幾何学的分配モードが有効にされていると判定したときに、本方法は、ブロック360に進むことができる。
【0073】
図1及び図2を更に参照すると、ブロック幅Wbとブロック高さHbとの比率値Rが閾値T以上であることを比較が示すとき、デコーダモジュール124は、幾何学的分配モードがブロックユニットのために無効であると判定することができる。ブロック幅Wbとブロック高さHbとの比率値Rが閾値T未満であることを比較が示すとき、デコーダモジュール124は、幾何学的分配モードがブロックユニットのために有効であると判定することができる。
【0074】
少なくとも1つの実施形態において、デコーダモジュール124は、ブロック幅とブロック高さとの比較を決定して、幾何学的分配モードの使用を制限することができる。ブロックユニットが狭すぎるとき、異なって隣接する分配線の予測結果は、互いに類似することがある。ブロックユニットは、ブロックユニットが狭すぎるとき、水平方向又は垂直方向に沿って更に分割され、それぞれ予測されるべき2つのブロックユニットを生成することができる。
【0075】
したがって、ブロックユニットが狭すぎるとき、幾何学的分配モードは、無効にすることができる。例えば、ブロック幅がブロック高さのT倍以上、又はブロック高さがブロック幅のT倍以上のとき、幾何学的分配モードは、無効にすることができる。少なくとも1つの実施形態において、閾値Tは、2、4、又は8に等しくてよい。
【0076】
少なくとも1つの実施形態において、デコーダモジュール124が第1の比率パラメータRP1が第1の比率閾値RT1以上であると判定したとき、ブロックユニットのために幾何学的分配モードを無効にすることができる。デコーダモジュール124が第1の比率パラメータRP1が第1の比率閾値RT1未満であると判定したとき、幾何学的分配モードは、ブロックユニットに対して有効にされ得る。
【0077】
例えば、第1の比率閾値RT1は、8に等しくてもよい。したがって、ブロックユニットの第1の比率パラメータRP1が8以上であるとき、幾何学的分配モードは、ブロックユニットに対して無効にすることができる。
【0078】
一般的な幾何学的分配モードにおいて、ブロック幅Wb及びブロック高さHbは、8以上である。したがって、第1の比率閾値RT1が8に等しいとき、幾何学的分配モードは、ブロックサイズ64×8又は8×64を有するブロックユニットに適用しなくてよい。第1の比率閾値RT1が4に等しいとき、幾何学的分配モードは、ブロックサイズ64×8、64×16、32×8、8×64、16×64、又は8×32を有するブロックユニットに適用しなくてもよい。
【0079】
少なくとも1つの実施形態において、第2の比率パラメータRP2が第2の比率閾値RT2以上であるとデコーダモジュール124が判定したとき、幾何学的分配モードは、ブロックユニットのために無効にすることができる。デコーダモジュール124が第2の比率パラメータRP2が第2の比率閾値RT2未満であると判定したとき、幾何学的分配モードは、ブロックユニットのために有効にされ得る。
【0080】
例えば、第2の比率閾値RT2が3に等しいとき、幾何学的分配モードは、ブロックサイズ64×8又は8×64を有するブロックユニットに適用されなくてもよい。第2の比率閾値RT2が2に等しいとき、幾何学的分配モードは、ブロックサイズ64×8、64×16、32×8、8×64、16×64、又は8×32を有するブロックユニットに適用しなくてもよい。
【0081】
少なくとも1つの実施形態において、ブロック幅Wbが第1の拡大値N1以上であるとデコーダモジュール124が判定したとき、幾何学的分配モードは、ブロックユニットのために無効にすることができる。別の実施形態において、ブロック高さHbが第2の拡大値N2以上であるとデコーダモジュール124が判定したとき、幾何学的分配モードは、ブロックユニットのために無効にされてもよい。ブロック幅Wbが第1の拡大値N1未満であり、ブロック高さHbが第2の拡大値N2未満であるとき、幾何学的分配モードは、ブロックユニットのために有効にされてもよい。
【0082】
例えば、閾値Tが8と等しいとき、幾何学的分配モードは、ブロックサイズ64×8、8×64を有するブロックユニットに適用しなくてよい。換言すると、ブロック幅Wbが第1の拡大値8×Hb以上、又はブロック高さHbが第2の拡大値8×Wb以上であるとき、幾何学的分配モードは、ブロックサイズ64×8又は8×64を有するブロックユニットに適用しなくてよい。ブロック幅Wbが第1の拡大値4×Hb以上、又はブロック高さHbが第2の拡大値4×Wb以上であるとき、幾何学的分配モードは、ブロックサイズ64×8、64×16、32×8、8×64、16×64、又は8×32を有するブロックユニットに適用しなくてよい。
【0083】
ブロック350において、デコーダモジュール124は、幾何学的分割モードとは異なる第1の予測モードを使用して、ブロックユニットを予測し、予測されたブロックを生成することができる。更に図1及び図2を参照すると、幾何学的分配モードがブロックユニットのために無効であるとき、デコーダモジュール124は、第1の予測モードを選択し、第1の予測モードに基づいてブロックユニットを予測し、予測されたブロックを生成することができる。ブロック幅Wbとブロック高さHbとの比率値Rが閾値T以上であることを比較が示すとき、デコーダモジュール124は、第1の予測モードに基づいてブロックユニットを予測し、予測されたブロックを生成することができる。
【0084】
少なくとも1つの実施形態において、第1の予測モードは、複数のオプションモードから選択されてよい。各選択肢モードは、幾何学的分配モードと異なる。
【0085】
少なくとも1つの実施形態において、オプションモードは、第1のマージインデックスによって第1の予測モードを選択するために決定され得る。したがって、第1の予測モードは、第1のマージインデックスに基づいて選択されたオプションモードの内の1つであってよい。
【0086】
本実施形態において、第1のマージインデックスは、マージ候補リストに含まれる第1の予測モードを示すことができる。少なくとも1つの実施形態において、オプションモードは、ブロックユニットに隣接する複数の隣接ブロックの複数の空間モーション予測モード、複数のコロケートされたブロックの複数の一時的モーション予測モード、先入れ先出し(FIFO)表に格納された履歴ベースモーション予測モード、複数のペアワイズ平均モーション予測モード、及びゼロモーションモードから決定されたマージ候補リスト内の複数のマージ候補モードであってよい。
【0087】
少なくとも1つの実施形態において、第1の予測モードは、第1の参照フレーム及び第1の参照ベクトルV0を有する第1のモーション情報を示すことができる。第1の参照フレームは、複数の参照リストから選択されてよい。少なくとも1つの実施形態において、第1のモーション情報は、第1の参照フレームを選択するために、参照リストの内の1つを決定するための第1のリストフラグを含んでよい。少なくとも1つの実施形態において、ブロックユニット内の複数のブロックコンポーネントは、第1の参照ベクトルV0及び第1の参照フレームに基づいて予測され得る。
【0088】
ブロック360において、デコーダモジュール124は、幾何学的分配モードを含む複数の候補モードから選択される第2の予測モードを使用することによって、ブロックユニットを予測し、予測されたブロックを生成する。更に図1及び図2を参照すると、幾何学的分配モードがブロックユニットのために有効であるとき、デコーダモジュール124は、第2の予測モードを選択し、第2の予測モードに基づいてブロックユニットを予測し、予測されたブロックを生成することができる。比率値Rが閾値T未満であることを比較が示すとき、デコーダモジュール124は、第2の予測モードに基づいてブロックユニットを予測し、予測されたブロックを生成することができる。
【0089】
少なくとも1つの実施形態において、第2の予測モードは、候補モードから選択され得る。本実施形態において、候補モードは、幾何学的分配モードを含むことができる。1つの実施形態において、候補モードは、オプションモード及び幾何学的分配モードを含むことができる。
【0090】
少なくとも1つの実施形態において、幾何学的分配モードがブロックユニットを予測するためにブロックユニットに適用されるとき、デコーダモジュール124は、ビットストリームからブロックユニットの分配インデックス、第2のマージインデックス、及び第3のマージインデックスを決定することができる。図5A及び図5Bは、本開示の例としての実施形態による、分配線に基づいて分離された異なるサブブロックを有するブロックユニットの概略図である。デコーダモジュール124は、分配インデックスから決定された分配線511に基づいて、ブロックユニット510を分割し、第1のサブブロック512、第2のサブブロック514、及び第3のサブブロック516を生成することができる。
【0091】
少なくとも1つの実施形態において、分配インデックスは、ブロックユニット510の分配線511を示すことができる。少なくとも1つの実施形態において、分配インデックスは、分配角度インデックス及び分配距離インデックスを示すことができる。分配角度インデックスは、分配線の分割角度を示し、分配距離インデックスは、分配線とブロックユニットの中心点との間の分割距離を示す。
【0092】
したがって、デコーダモジュール124は、分配インデックスによって示される分割角度及び分割距離に基づいて分配線を決定することができる。ビットストリームは、分配角度インデックス及び分配距離インデックスを直接含むことができる。
【0093】
少なくとも1つの実施形態において、デコーダモジュール124は、第2のマージインデックス及び第3のマージインデックスによって、マージ候補モードから決定された第2のモーション情報及び第3のモーション情報に基づいて、複数のサブブロック512、514、及び516を予測することができる。少なくとも1つの実施形態において、第2のマージインデックスによって示される第2のモーション情報は、マージ候補リストに含まれるマージ候補モードの内の1つであってよく、第3のマージインデックスによって示される第3のモーション情報は、マージ候補リストに含まれるマージ候補モードの内の1つであってよい。少なくとも1つの実施形態において、第2のモーション情報は、第2の参照フレーム及び第2の参照ベクトルV1を示すことができ、第3のモーション情報は、第3の参照フレーム及び第3の参照ベクトルV2を示すことができる。
【0094】
第2の参照フレーム及び第3の参照フレームは、複数の参照リストから選択され得る。一実施形態において、第2の参照フレーム及び第3の参照フレームは、参照リストの同一の1つから選択されてよい。他の実施形態において、第2の参照フレーム及び第3の参照フレームは、異なる参照リストから選択されてもよい。少なくとも1つの実施形態において、参照リストの数が2に等しいとき、参照リストは、L0及びL1としてセットされ得る。
【0095】
少なくとも1つの実施形態において、第2のモーション情報は、第2の参照フレームを選択するための第2のリストフラグを含み、第3のモーション情報は、第3のモーション情報を選択するための第3のリストフラグを含み得る。少なくとも1つの実施形態において、第2のリストフラグが第3のリストフラグと等しいとき、第2の参照フレーム及び第3の参照フレームは、同じ参照リストから選択されてよい。第2のリストフラグが第3のリストフラグと異なるとき、第2の参照フレーム及び第3の参照フレームは、異なる参照リストから選択することができる。
【0096】
少なくとも1つの実施形態において、第1のサブブロック512内の複数の第1のサブブロックコンポーネントは、第2の参照ベクトルV1及び第2の参照フレームに基づいて予測され得る。第2のサブブロック514内の複数の第2のサブブロックコンポーネントは、第3の参照ベクトルV2及び第3の参照フレームに基づいて予測され得る。その上、第3のサブブロック516内の複数の第3のサブブロックコンポーネントは、第2の参照ベクトルV1、第3の参照ベクトルV2、第2の参照フレーム、及び第3の参照フレームに基づいて予測され得る。第3のサブブロック516内の第3のサブブロックコンポーネントは、第2の参照ベクトルV1及び第2の参照フレームに基づいて決定された複数の第1の参照サンプル、及び第3の参照ベクトルV2及び第3の参照フレームに基づいて決定された複数の第2の参照サンプルを導出し、複数のブレンディングの重みに基づいて第2の参照サンプル及び第3の参照サンプルをマージすることによって予測され得る。少なくとも1つの実施形態において、ブレンディングの重みは、分配線511と第3の予測領域516内の第3のサブブロックコンポーネントとの間の複数のコンポーネント距離に基づいて導出されてもよい。
【0097】
ブロック370において、デコーダモジュール124は、予測されたブロックに基づいてブロックユニットを再構成する。更に図1及び図2を参照すると、デコーダモジュール124は、ブロックユニットのためのビットストリームから複数の残差コンポーネントを決定し、ブロックユニットを再構成するために、残差コンポーネントを予測されたブロックに加えることができる。デコーダモジュール222は、画像フレーム及びビデオを再構成するために、画像フレーム内の他のブロックユニットの全てを再構成することができる。
【0098】
図6は、本開示の一例としての実施形態による、図1に示される第1の電子デバイスのエンコーダモジュール114のブロック図を示す。エンコーダモジュール114は、予測プロセッサ(例えば、予測プロセスユニット6141)、少なくとも第1の加算器(例えば、第1の加算器6142)及び第2の加算器(例えば、第2の加算器6145)、変換/量子化プロセッサ(例えば、変換/量子化ユニット6143)、逆量子化/逆変換プロセッサ(例えば、逆量子化/逆変換ユニット6144)、フィルタ(例えば、フィルタリングユニット6146)、デコードされた画像バッファ(例えば、デコードされた画像バッファ6147)、及びエントロピーエンコーダ(例えば、エントロピーエンコーディングユニット6148)を含み得る。エンコーダモジュール114の予測プロセスユニット6141は、分配プロセッサ(例えば、分配ユニット61411)、イントラ予測プロセッサ(例えば、イントラ予測ユニット61412)、及びインター予測プロセッサ(例えば、インター予測ユニット61413)を更に含み得る。
【0099】
エンコーダモジュール114は、ソースビデオを受信し、ビットストリームを出力するためにソースビデオをエンコードすることができる。エンコーダモジュール114は、複数の画像フレームを含むソースビデオを受信し、次いで、コーディング構造に従って画像フレームを分割することができる。各画像フレームは、少なくとも1つの画像ブロックに分割されてもよい。
【0100】
少なくとも1つの画像ブロックは、複数の輝度サンプルを有する輝度ブロック、及び複数の色差サンプルを有する少なくとも1つの色差ブロックを含み得る。輝度ブロック及び少なくとも1つの色差ブロックは、マクロブロック、コーディングツリーユニット(CTU)、コーディングブロック(CB)、そのサブ分割、及び/又は別の同等のコーディングユニットを生成するために、更に分割されてよい。
【0101】
少なくとも1つの実施形態において、エンコーダモジュール114は、ソースビデオの追加のサブ分割を実行することができる。開示された実施形態は、エンコーディングの前及び/又は間にソースビデオがどのように分配されるかにかかわらず、一般にビデオコーディングに適用可能であることに留意されたい。
【0102】
少なくとも1つの実施形態において、エンコーディングプロセスの間に、予測プロセスユニット6141は、画像フレームの内の特定の1つの現在の画像ブロックを受信することができる。現在の画像ブロックは、輝度ブロックであっても、特定の画像フレームの中の色差ブロックの一つであってもよい。
【0103】
分配ユニット61411は、現在の画像ブロックを複数のブロックユニットに分割することができる。イントラ予測ユニット61412は、空間予測を提供するために、現在のブロックユニットと同じフレーム内の1つ又は複数の隣接ブロックに関連する現在のブロックユニットのイントラ予測コーディングを行ってもよい。インター予測ユニット61413は、時間予測を提供するために、1つ又は複数の参照画像ブロック内の1つ又は複数のブロックに関連する現在のブロックユニットのインター予測コーディングを実行することができる。
【0104】
少なくとも1つの実施形態において、予測プロセスユニット6141は、コスト関数などのモード選択方法に基づいて、イントラ予測ユニット61412及びインター予測ユニット61413によって生成されるコーディング結果の内の1つを選択してよい。モード選択方法は、レート歪み最適化(RDO)プロセスであってよい。
【0105】
予測プロセスユニット6141は、選択されたコーディング結果を決定し、選択されたコーディング結果に対応する予測されたブロックを、残差ブロックを生成するための第1の加算器6142、及びエンコードされたブロックユニットを再構成するための第2の加算器6145に提供することができる。予測プロセスユニット6141は、モーションベクトル、イントラモードインジケータ、パーティション情報、及び他のシンタックス情報などのシンタックス要素をエントロピーエンコーディングユニット6148に更に提供することができる。
【0106】
少なくとも1つの実施形態において、イントラ予測ユニット61412は、現在のブロックユニットをイントラ予測することができる。イントラ予測ユニット61412は、現在のブロックユニットをエンコードするために、現在のブロックユニットに隣接する再構築されたサンプルに向けられたイントラ予測モードを決定してもよい。
【0107】
少なくとも1つの実施形態において、イントラ予測ユニット61412は、様々なイントラ予測モードを使用して、現在のブロックユニットをエンコードしてよい。イントラ予測ユニット61412又は予測プロセスユニット6141は、選択されたモードから、適切なイントラ予測モードを選択してもよい。イントラ予測ユニット61412は、クロスコンポーネント予測モードを使用して、現在のブロックユニットのルマコンポーネントに基づいて、現在のブロックユニットの2つのクロマコンポーネントの内の1つを予測するために、現在のブロックユニットをエンコードしてもよい。イントラ予測ユニット61412は、現在のブロックユニットの2つのクロマコンポーネントの内の第2のクロマコンポーネントに基づいて、現在のブロックユニットの2つのクロマコンポーネントの内の第1の1つを予測してもよい。
【0108】
少なくとも1つの実施形態において、インター予測ユニット61413は、イントラ予測ユニット61412によって実行されるイントラ予測の代替として、現在のブロックユニットをインター予測してもよい。インター予測ユニット61413は、モーション推定を実行し、モーションベクトルを生成するための現在のブロックユニットのモーションを推定してもよい。
【0109】
モーションベクトルは、参照画像ブロック内の参照ブロックユニットに関連した、現在の画像ブロックユニット内の現在のブロックユニットの変位を示すことができる。インター予測ユニット61413は、デコードされた画像バッファ6147に格納された少なくとも1つの参照画像ブロックを受信し、受信した参照画像ブロックに基づいてモーションを推定してモーションベクトルを生成することができる。
【0110】
少なくとも1つの実施形態において、第1の加算器6142は、予測プロセスユニット6141によって決定される予測ブロックを、元の現在のブロックユニットから減算することによって、残留ブロックを生成してよい。第1の加算器6142は、この減算を実行するコンポーネントを表すことができる。
【0111】
少なくとも1つの実施形態において、変換/量子化ユニット6143は、残差変換係数を生成し、次いで、残差変換係数を量子化して、ビットレートを更に低減するために、残留ブロックに変換を適用してよい。変換は、DCT、DST、AMT、MDNSST、HyGT、信号依存変換、KLT、ウェーブレット変換、整数変換、サブバンド変換、又は概念的に同様の変換の内の1つとすることができる。
【0112】
少なくとも1つの実施形態において、変換は、残差情報をピクセル値ドメインから周波数ドメインなどの変換ドメインに変換することができる。量子化の度合いは、量子化パラメータを調整することによって修正されてもよい。
【0113】
少なくとも1つの実施形態において、変換/量子化ユニット6143は、量子化変換係数を含むマトリックスのスキャンを行ってよい。代替的に、エントロピーエンコーディングユニット6148は、スキャンを行ってもよい。
【0114】
少なくとも1つの実施形態において、エントロピーエンコーディングユニット6148は、量子化パラメータ、変換データ、モーションベクトル、イントラモード、パーティション情報、及び他のシンタックス情報を含む複数のシンタックス要素を予測プロセスユニット6141及び変換/量子化ユニット6143から受信することができる。エントロピーエンコーディングユニット6148は、シンタックス要素をビットストリームにエンコードしてよい。
【0115】
少なくとも1つの実施形態において、エントロピーエンコーディングユニット6148は、エンコードされたビットストリームを生成するために、CAVLC、CABAC、SBAC、PIPEコーディング、又は別のエントロピーコーディング技法を実行することによって、量子化された変換係数をエントロピーエンコードし得る。エンコードされたビットストリームは、別のデバイス(すなわち、図1内の第2の電子デバイス120)に送信されてもよく、又は後の送信又は検索のためにアーカイブされてもよい。
【0116】
少なくとも1つの実施形態において、逆量子化/逆変換ユニット6144は、逆量子化及び逆変換を適用し、後に参照ブロックとして使用するために、ピクセルドメイン内の残差ブロックを再構成してもよい。第2の加算器6145は、デコードされた画像バッファ6147に格納するための再構成されたブロックを生成するために、再構成された残差ブロックを、予測プロセスユニット6141から提供された予測ブロックに追加することができる。
【0117】
少なくとも1つの実施形態において、フィルタリングユニット6146は、再構成されたブロックからブロッキングアーチファクトを除去するために、デブロッキングフィルタ、SAOフィルタ、バイラテラルフィルタ、及び/又はALFを含むことができる。デブロッキングフィルタ、SAOフィルタ、バイラテラルフィルタ、及びALFに加えて、追加のフィルタ(ループ又はポストループ)を使用することができる。このようなフィルタは、簡潔にするために図示されておらず、第2の加算器6145の出力をフィルタリングすることができる。
【0118】
少なくとも1つの実施形態において、デコードされた画像バッファ6147は、イントラ又はインターコーディングモードなどでビデオをエンコードするためにエンコーダモジュール114によって使用される参照ブロックを記憶する参照画像メモリであってよい。デコードされた画像バッファ6147は、SDRAM、MRAM、RRAMを含むDRAM、又は他のタイプのメモリデバイスなどの様々なメモリデバイスを含むことができる。デコードされた画像バッファ6147は、エンコーダモジュール114の他のコンポーネントとオンチップであってもよく、又はこれらのコンポーネントに対してオフチップであってもよい。
【0119】
少なくとも1つの実施形態において、エンコーダモジュール114は、図3に示すように、ビデオをエンコードし、ブロックユニットを再構成するための方法300を実行することができる。方法300は、図1及び図8に示される構成を使用して実行されてもよく、これらの図の様々な要素は、方法300に関して参照される。図3に示されるそれぞれのブロックは、実行される1つ又は複数のプロセス、方法、又はサブルーチンを表すことができる。
【0120】
図3内のブロックの順序は、例示的なものにすぎず、変更することができる。本開示から逸脱することなく、追加のブロックが追加されてもよく、又はより少ないブロックが利用されてもよい。
【0121】
ブロック310において、エンコーダモジュール114は、ビデオデータの画像フレームを受信する。ビデオデータは、ビデオであってよい。図1及び図6を参照すると、第1の電子デバイス110は、ソースモジュール112を介してビデオを受信することができる。エンコーダモジュール114は、ビデオから画像フレームを決定することができる。
【0122】
ブロック320において、エンコーダモジュール114は、受信されたビデオデータからブロック幅及びブロック高さを有するブロックユニットを決定する。図1及び図6を参照すると、エンコーダモジュール114は、ブロックユニットを決定するために画像フレームを分割することができる。少なくとも1つの実施形態において、第1の電子デバイス110の予測プロセスユニット6141は、分配ユニット61411を介してビデオからブロックユニットを決定することができ、エンコーダモジュール114は、分配ユニット61411の分配結果に基づいて、複数の分配インディケーションをビットストリームに提供することができる。本実施形態において、(例えば、ビデオコーディング規格に基づいて、)エンコーダモジュール114は、複数のコーディングツリーユニットを生成するために画像フレームを分割し、ブロックユニットを決定するために、コーディングツリーユニットの内の1つを更に分割することができる。図4A~4Cを参照すると、ブロック高さH410は、ブロック幅W410に等しく、ブロック幅W430は、8×H430に等しく、ブロック高さH450は、4×W450に等しい。
【0123】
ブロック330において、エンコーダモジュール114は、ブロック幅とブロック高さとの比較を決定する。図1及び図6を参照して、エンコーダモジュール114は、不等式に基づいて、ブロック幅とブロック高さとの比較を決定することができる。例えば、ブロック幅Wbとブロック高さHbとの比率値Rは、閾値T以上(すなわち、R≧T)である。幅Wbとブロック高さHbとの比率値Rは、閾値T未満(すなわち、R<T)であってもよい。
【0124】
少なくとも1つの実施形態において、エンコーダモジュール114は、ブロック幅Wb及びブロック高さHbに基づいて計算された比率パラメータRPを決定することができる。少なくとも1つの実施形態において、第1の比率パラメータRP1は、除算によってブロック幅Wb及びブロック高さHbに基づいて計算され得る。一実施形態において、ブロック幅Wbがブロック高さHb以上であるとき、第1の比率パラメータRP1は、ブロック幅Wbをブロック高さHbで割ることによって計算されてもよい(すなわち、RP1=Wb/Hb)。本実施形態において、ブロック幅Wbがブロック高さHb未満であるとき、第1の比率パラメータRP1は、ブロック高さHbをブロック幅Wbで割ることによって計算されてもよい(すなわち、RP1=Hb/Wb)。
【0125】
少なくとも1つの実施形態において、第2の比率パラメータRP2は、対数方程式によって、ブロック幅Wb及びブロック高さHbに基づいて計算することができる。本実施形態において、異なる式で算出される第1の比率パラメータRP1及び第2の比率パラメータRP2の内の1つは、ブロックユニットの比率パラメータRPとして、セットされてよい。少なくとも1つの実施形態において、第2の比率パラメータRP2は、ブロック幅の2を底とする対数からブロック高さの2を底とする対数を減算することによって生成される差分値の絶対値に等しくてもよい(すなわち、RP2=abs(logWb-logHb))。本実施形態において、第1の比率パラメータRP1は、第2の比率パラメータRP2のべき乗に等しくてもよい。
【0126】
少なくとも1つの実施形態において、エンコーダモジュール114は、比率パラメータRPを比率閾値RTと比較することができる。本実施形態において、比率パラメータRPが比率閾値RT以上であるとき、エンコーダモジュール114は、比率値Rが閾値T以上であることを比較が示すと判定することができる。比率パラメータRPが比率閾値RT未満であるとき、エンコーダモジュール114は、比率値Rが閾値T未満であることを比較が示すと判定することができる。
【0127】
少なくとも1つの実施形態において、第1の比率パラメータRP1が比率パラメータRPとしてセットされるとき、エンコーダモジュール114は、比率パラメータRPを第1の比率閾値RT1と比較することができる。少なくとも1つの実施形態において、第2の比率パラメータRP2が比率パラメータRPとしてセットされるとき、エンコーダモジュール114は、比率パラメータRPを第2の比率閾値RT2と比較することができる。
【0128】
一実施形態において、第1の比率パラメータRP1が第1の比率閾値RT1以上である、又は第2の比率パラメータRP2が第2の比率閾値RT2以上であるとき、エンコーダモジュール114は、比率値Rが閾値T以上であることを比較が示すと判定することができる。第1の比率パラメータRP1が第1の比率閾値RT1未満である、又は第2の比率パラメータRP2が第2の比率閾値RT2未満である場合、エンコーダモジュール114は、比率値Rが閾値T未満であることを比較が示すと判定することができる。
【0129】
少なくとも1つの実施形態において、第1の比率閾値RT1及び第2の比率閾値RT2は、正の整数であってよい。少なくとも1つの実施形態において、第1の比率閾値RT1は、2のn乗に等しくてよく、数nは、正の整数である。第1の比率閾値RT1は、1、2、4、又は8に予めセットされてもよく、第2の比率閾値RT2は、1、2、3、又は4に予めセットされてもよい。
【0130】
少なくとも1つの実施形態において、第1の比率パラメータRP1が第2の比率パラメータRP2の2の累乗に等しいため、第1の比率閾値RT1は、第2の比率閾値RT2の2の累乗に等しくてもよい。したがって、エンコーダモジュール114が比較を第1の不等式RP1<RT1から第2の不等式RP2<RT2に変更するとき、比較の結果は、変更されないことがある。
【0131】
少なくとも1つの実施形態において、エンコーダモジュール114がブロック幅Wbとブロック高さHbとの比較を決定したとき、ブロック幅Wbと、ブロック高さHbに閾値Tを乗算することによって計算された第1の拡大値N1とを比較し、ブロック高さHbと、ブロック幅Wbに閾値Tを乗算することによって計算された第2の拡大値N2とを、エンコーダモジュール114は、比較することができる。
【0132】
少なくとも1つの実施形態において、ブロック幅Wbが第1の拡大値N1未満であり、ブロック高さHbが第2の拡大値N2未満であるとき、エンコーダモジュール114は、比率値Rが閾値T未満であることを比較が示すと判定することができる。別の実施形態において、ブロック幅Wbが第1の拡大値N1以上である、又はブロック高さHbが第2の拡大値N2以上であるとき、エンコーダモジュール114は、比率値Rが閾値T以上であることを比較が示すことを判定することができる。
【0133】
少なくとも1つの実施形態において、エンコーダモジュール114が第1の拡大値N1と第2の拡大値N2とに基づいて比較を判定するとき、閾値Tは、第1の比率閾値RT1と等しくてよい。エンコーダモジュール114は、第3の不等式Wb<N1=RT1×Hb及び第4の不等式Hb<N2=RT1×Wbに基づいて比較を判定することができる。
【0134】
少なくとも1つの実施形態において、ブロック幅Wbがブロック高さHbよりも大きいとき、第1の不等式RP1=Wb/Hb<RT1に基づいて判定された比較は、第3の不等式Wb<N1=RT1×Hb及び第4の不等式Hb<N2=RT1×Wbに基づいて判定された比較と同一であってよい。また、ブロック幅Wbがブロック高さHb未満であるとき、第1の不等式RP1=Hb/Wb<RT1に基づいて判定される比較は、第3の不等式Wb<N1=RT1×Hb及び第4の不等式Hb<N2=RT1×Wbに基づいて判定される比較と同一であってもよい。
【0135】
ブロック340において、エンコーダモジュール114は、比較に基づいて、ブロックユニットに対して幾何学的分配モードが無効であるかどうかを判定する。方法300は、エンコーダモジュール114がブロックユニットに対して幾何学的分配モードが無効であると判定したとき、ブロック350に進んでもよい。本方法は、エンコーダモジュール114がブロックユニットに対して幾何学的分配モードが有効であると判定したとき、ブロック360に進んでもよい。
【0136】
更に図1及び図6を参照すると、比値Rが閾値T以上であることを比較が示すとき、エンコーダモジュール114は、ブロックユニットのために幾何学的分配モードが無効であると判定することができ、比値Rが閾値T未満であることを比較が示すとき、エンコーダモジュール114は、ブロックユニットのために幾何学的分配モードが有効であると判定することができる。
【0137】
ブロック350において、エンコーダモジュール114は、幾何学的分配モードとは異なる第1の予測モードを使用して、ブロックユニットを予測し、予測ブロックを生成する。更に図1及び図6を参照すると、エンコーダモジュール114は、イントラ予測ユニット61412及びインター予測ユニット61413によって生成される複数のコーディング結果を生成してよい。次に、エンコーダモジュール114は、コスト関数などのモード選択方法に基づいてコーディング結果の内の1つを選択することができる。モード選択方法は、レート歪み最適化(RDO)プロセスであってよい。
【0138】
少なくとも1つの実施形態において、幾何学的分配モードがブロックユニットに対して無効にされるとき、エンコーダモジュール114は、複数のオプションモードから第1の予測モードを選択することができる。本実施形態において、比率値Rが閾値T以上であることを比較が示すとき、エンコーダモジュール114は、予測ブロックを生成するために、第1の予測モードに基づいてブロックユニットを予測することができる。各オプションモードは、幾何学的分配モードと異なる。少なくとも1つの実施形態において、オプションモードは、マージ候補リスト内に複数のマージ候補モードを含むことができる。
【0139】
ブロック360において、エンコーダモジュール114は、幾何学的分配モードを含む複数の候補モードから選択された第2の予測モードを使用し、ブロックユニットを予測し、予測されたブロックを生成する。更に図1及び図6を参照すると、エンコーダモジュール114は、イントラ予測ユニット61412及びインター予測ユニット61413によって生成されるコーディング結果を生成してよい。次に、エンコーダモジュール114は、モード選択方法に基づいて、コーディング結果の内の1つを選択することができる。
【0140】
少なくとも1つの実施形態において、幾何学的分配モードがブロックユニットに対して有効にされるとき、エンコーダモジュール114は、複数の候補モードから第2の予測モードを選択することができる。本実施形態において、比率値Rが閾値T未満であることを比較が示すとき、エンコーダモジュール114は、第2の予測モードに基づいてブロックユニットを予測し、予測ブロックを生成することができる。少なくとも1つの実施形態において、候補モードは、オプションモード及び幾何学的分配モードを含むことができる。
【0141】
ブロック370において、エンコーダモジュール114は、予測されたブロックに基づいてブロックユニットを再構成する。少なくとも1つの実施形態において、ブロックユニットは、複数のブロック要素を含むことができる。本実施形態において、各ブロック要素は、ピクセル要素であってよい。更に図1及び図2を参照すると、エンコーダモジュール114は、予測されたブロックをブロック要素から減算することによって複数の残留コンポーネントを判定し、残留コンポーネントに対応する複数の係数を含むビットストリームを提供することができる。エンコーダモジュール114は、係数に基づいて残留コンポーネントをリターンし、リターンされた残留コンポーネントを予測ブロックに追加して、再構成されたブロックユニットを生成することができる。
【0142】
開示された実施形態は、全ての点で、例示的なものと見なされるべきであり、限定的なものと見なされるべきではない。また、本開示は、特定の開示された実施形態に限定されず、本開示の範囲から逸脱することなく、多くの再構成、修正、及び置換が可能であることを理解されたい。
図1
図2
図3
図4A
図4B
図4C
図5A
図5B
図6