(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-29
(45)【発行日】2024-11-07
(54)【発明の名称】予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体
(51)【国際特許分類】
H04N 19/593 20140101AFI20241030BHJP
【FI】
H04N19/593
(21)【出願番号】P 2024014820
(22)【出願日】2024-02-02
(62)【分割の表示】P 2021549572の分割
【原出願日】2019-09-24
【審査請求日】2024-02-02
(73)【特許権者】
【識別番号】516227559
【氏名又は名称】オッポ広東移動通信有限公司
【氏名又は名称原語表記】GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
【住所又は居所原語表記】No. 18 Haibin Road,Wusha, Chang’an,Dongguan, Guangdong 523860 China
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(74)【代理人】
【識別番号】100137523
【氏名又は名称】出口 智也
(72)【発明者】
【氏名】フオ、チュンイェン
(72)【発明者】
【氏名】マー、イェンチュオ
(72)【発明者】
【氏名】ワン、シューアイ
(72)【発明者】
【氏名】ヤン、フーチョン
(72)【発明者】
【氏名】チャン、ウェイ
(72)【発明者】
【氏名】ワン、ハイシン
(72)【発明者】
【氏名】スン、イー
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/249633(WO,A1)
【文献】Jonathan Pfaff, et al.,CE3: Affine linear weighted intra prediction (CE3-4.1, CE3-4.2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0217,14th Meeting: Geneva, CH,2019年03月,pp.1-17
【文献】Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 6),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O2001 (version 14),15th Meeting: Gothenburg, SE,2019年07月31日,pp.168-178
【文献】Junyan Huo, et al.,Non-CE3: MIP Simplification,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0136-v1,16th Meeting: Geneva, SE,2019年09月,pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
エンコーダに適用される予測値の確定方法であって、
現在のブロックに隣接するサンプルの再構成値を取得することと、
前記隣接するサンプルの再構築値に対してフィルタリング処理を行って、前記現在のブロックの参照値セットを取得することであって、前記現在のブロックの上方のサンプルに対してフィルタリング処理を行って取得したサンプル数と前記現在のブロックの左方のサンプルに対してフィルタリング処理を行って取得したサンプル数は同じであることと、
前記現在のブロックのサイズが予め設定された閾値よりも小さい場合、前記現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算することと、
予測入力値セットの第一予測入力値は、前記第一定数値から前記参照値セットの第一参照値を減算して獲得した差値であると確定することと、
前記参照値セットに基づいて、前記予測入力値セットにおける前記第一予測入力値以外の他の予測入力値を確定することと、
前記予測入力値セットに基づいて、前記現在のブロックの特定の位置にあるサンプルの予測値を計算することと、
前記特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、前記現在のブロックにおける全てのサンプルの予測値を取得することと、
を含む、
ことを特徴とする予測値の確定方法。
【請求項2】
前記隣接するサンプルの再構築値に対してフィルタリング処理を行って、前記現在のブロックの参照値セットを取得することは、
前記隣接するサンプルの再構成値をNグループに分割することと、
各グループの再構築値の平均値を計算することと、
前記平均値を前記参照値セットの参照値とすることと、
を含み、Nは正の整数である、
ことを特徴とする請求項1に記載の方法。
【請求項3】
Nは、予め設定された前記現在のブロックのサイズに対応する正の整数値に設定される、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算することは、
前記第一定数値は、数値1に対してバイナリビット左シフト演算を実行して得られた値に設定されることを含み、
前記バイナリビット左シフト演算で使用される左シフトビット数は、前記ビット深度値から1を引いた値と等しい、
ことを特徴とする請求項1の記載の方法。
【請求項5】
前記特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、前記現在のブロックにおける全てのサンプルの予測値を取得することは、
前記特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、前記現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得することを含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
デコーダに適用される予測値の確定方法であって、
ビットストリームを解析して、現在のブロックのサイズと現在のブロックのコーディングモードを取得することと、
前記現在のブロックのコーディングモードがマトリックスに基づくイントラ予測(MIP)モードである場合、前記現在のブロックに隣接するサンプルの再構成値が取得し、前記隣接するサンプルの再構成値に対してフィルタリング処理を行って、前記現在のブロックの参照値セットを取得することであって、前記現在のブロックの上方のサンプルに対してフィルタリング処理を行って取得したサンプル数と前記現在のブロックの左方のサンプルに対してフィルタリング処理を行って取得したサンプル数は同じであることと、
前記現在のブロックのサイズが予め設定された閾値よりも小さい場合、前記現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算することと、
予測入力値セットの第一予測入力値は、前記第二定数値から前記参照値セットの第一参照値を減算して獲得した差値であると確定することと、
前記参照値セットに基づいて、前記予測入力値セットにおける前記第一予測入力値以外の他の予測入力値を確定することと、
前記予測入力値セットに基づいて、前記現在のブロックの特定の位置にあるサンプルの予測値を計算することと、
前記特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、前記現在のブロックにおける全てのサンプルの予測値を取得することと、
を含む、
ことを特徴とする予測値の確定方法。
【請求項7】
前記隣接するサンプルの再構成値に対してフィルタリング処理を行って、前記現在のブロックの参照値セットを取得することは、
前記隣接するサンプルの再構成値をNグループに分割することと、
各グループの再構築値の平均値を計算することと、
前記平均値を前記参照値セットの参照値とすることと、
を含み、Nは正の整数である、
ことを特徴とする請求項6に記載の方法。
【請求項8】
Nは、予め設定された前記現在のブロックのサイズに対応する正の整数値に設定される、
ことを特徴とする請求項7に記載の方法。
【請求項9】
前記現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算することは、
前記第二定数値は、数値1に対してバイナリビット左シフト演算を実行して得られた値に設定されることを含み、
前記バイナリビット左シフト演算で使用される左シフトビット数は、前記ビット深度値から1を引いた値と等しい、
ことを特徴とする請求項6に記載の方法。
【請求項10】
前記特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、前記現在のブロックにおける全てのサンプルの予測値を取得することは、
前記特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、前記現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得することを含む、
ことを特徴とする請求項6に記載の方法。
【請求項11】
エンコーダーであって、
第一取得モジュール、第一処理モジュール、第一計算モジュール、第一確定モジュール、第二計算モジュール、第三計算モジュール及び第二処理モジュールを備え、
前記第一取得モジュールは、現在のブロックに隣接するサンプルの再構成値を取得するために用いられ、
前記第一処理モジュールは、前記隣接するサンプルの再構築値に対してフィルタリング処理を行って、前記現在のブロックの参照値セットを取得するために用いられ、前記現在のブロックの上方のサンプルに対してフィルタリング処理を行って取得したサンプル数と前記現在のブロックの左方のサンプルに対してフィルタリング処理を行って取得したサンプル数は同じであり、
前記第一計算モジュールは、前記現在のブロックのサイズが予め設定された閾値よりも小さい場合、前記現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算するために用いられ、
前記第一確定モジュールは、予測入力値セットの第一予測入力値は、前記第一定数値から前記参照値セットの第一参照値を減算して獲得した差値であると確定するために用いられ、
前記第二計算モジュールは、前記参照値セットに基づいて、前記予測入力値セットにおける前記第一予測入力値以外の他の予測入力値を確定するために用いられ、
前記第三計算モジュールは、前記予測入力値セットに基づいて、前記現在のブロックの特定の位置にあるサンプルの予測値を計算するために用いられ、
前記第二処理モジュールは、前記特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、前記現在のブロックにおける全てのサンプルの予測値を取得するために用いられる、
ことを特徴とするエンコーダー。
【請求項12】
デコーダであって、
第二取得モジュール、第三処理モジュール、第四計算モジュール、第二確定モジュール、第五計算モジュール、第六計算モジュール及び第四処理モジュールを備え、
前記第二取得モジュールは、ビットストリームを解析して、現在のブロックのサイズと現在のブロックのコーディングモードを取得するために用いられ、
前記第三処理モジュールは、前記現在のブロックのコーディングモードがマトリックスに基づくイントラ予測(MIP)モードである場合、前記現在のブロックに隣接するサンプルの再構成値を取得し、前記隣接するサンプルの再構成値に対してフィルタリング処理を行って、前記現在のブロックの参照値セットを取得するために用いられ、前記現在のブロックの上方のサンプルに対してフィルタリング処理を行って取得したサンプル数と前記現在のブロックの左方のサンプルに対してフィルタリング処理を行って取得したサンプル数は同じであり、
前記第四計算モジュールは、前記現在のブロックのサイズが予め設定された閾値よりも小さい場合、前記現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算するために用いられ、
前記第二確定モジュールは、予測入力値セットの第一予測入力値は、前記第二定数値から前記参照値セットの第一参照値を減算して獲得した差値であると確定するために用いられ、
前記第五計算モジュールは、前記参照値セットに基づいて、前記予測入力値セットにおける前記第一予測入力値以外の他の予測入力値を確定するために用いられ、
前記第六計算モジュールは、前記予測入力値セットに基づいて、前記現在のブロックの特定の位置にあるサンプルの予測値を計算するために用いられ、
前記第四処理モジュールは、前記特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、前記現在のブロックにおける全てのサンプルの予測値を取得するために用いられる、
ことを特徴とするデコーダー。
【請求項13】
エンコーダであって、
プロセッサと、前記プロセッサによって実行可能な命令を格納する記憶媒体と、を備え、前記記憶媒体は通信バスを介して前記プロセッサによって操作可能であり、前記命令が前記プロセッサによって実行されると、請求項1~5のいずれか一項に記載の予測値の確定方法を実行する、
ことを特徴とするエンコーダー。
【請求項14】
デコーダーであって、
プロセッサと、前記プロセッサによって実行可能な命令を格納する記憶媒体と、を備え、前記記憶媒体は通信バスを介して前記プロセッサによって操作可能であり、前記命令が前記プロセッサによって実行されると、請求項6~10のいずれか一項に記載の予測値の確定方法を実行する
ことを特徴とするデコーダー。
【請求項15】
コンピューター可読記憶媒体であって、
前記コンピュータ可読記憶媒体は実行可能命令を格納し、前記実行可能命令が1つ又は複数のプロセッサによって実行されると、前記プロセッサは請求項1~5のいずれか一項に記載の予測値の確定方法を実行するか又は請求項6~10のいずれか一項に記載の予測値の確定方法を実行する、
ことを特徴とするコンピューター可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願の実施形態は、ビデオ符号化分野のイントラ予測におけるマトリックスに基づくイントラ予測(matrix-based intra prediction,MIP)技術に関し、さらに具体的に、予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体に関する。
【背景技術】
【0002】
現在、ビデオの符号化と復号化において、MIPを採用して予測値を確定するとき、関連する3つの値があり、別々にMIPマトリックス、重み付けパラメータ及びビット右シフトパラメータである。3つの値は、予測値を計算するときに取得することを必要とする。従来の予測値確定方法において、数値範囲の完全な表現を保証するために、ビット右シフトパラメータの値を大きくしすぎることはできない。その結果、予測値を確定するとき、予測入力値の値範囲は大きすぎ、予測値の予測精度を影響し、さらに符号化と復号化の効率を影響する。従って、従来のビデオの符号化と復号化において、予測方法の予測精度が低い。
【発明の概要】
【0003】
本出願の実施形態は、予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体を提供し、ビデオの符号化と復号化における予測方法の予測精度を向上させ、符号化及び復号化の効率を向上させることができる。
【0004】
本出願の実施形態の技術的解決策は次の操作又は構成によって実現することができる。
【0005】
第一態様において、本出願の実施形態はエンコーダに適用される予測値の確定方法を提供する。予測値の確定方法は、現在のブロックに隣接するサンプルの再構成値を取得することと、隣接するサンプルの再構築値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得することと、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネント(luma component)のビット深度値に基づいて、第一定数値を計算することと、予測入力値セットの第一予測入力値は、第一定数値と参照値セットの第一参照値の差であると確定することと、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定することと、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算することと、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得することと、を含む。
【0006】
第二態様において、本出願の実施形態はデコーダに適用される予測値の確定方法を提供する。予測値の確定方法は、ビットストリームを解析して、現在のブロックのサイズと現在のブロックのコーディングモードを取得することと、現在のブロックのコーディングモードがマトリックスに基づくイントラ予測(MIP)モードである場合、現在のブロックに隣接するサンプルの再構成値を取得し、隣接するサンプルの再構成値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得することと、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算することと、予測入力値セットの第一予測入力値は、第二定数値と参照値セットの第一参照値の差であると確定することと、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定することと、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算することと、特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得することと、を含む。
【0007】
第三態様において、本出願の実施形態はエンコーダを提供する。 エンコーダーは、第一取得モジュール、第一処理モジュール、第一計算モジュール、第一確定モジュール、第二計算モジュール、第三計算モジュール及び第二処理モジュールを備える。第一取得モジュールは、現在のブロックに隣接するサンプルの再構成値を取得するために用いられる。第一処理モジュールは、隣接するサンプルの再構築値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得するために用いられる。第一計算モジュールは、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算するために用いられる。第一確定モジュールは、予測入力値セットの第一予測入力値は、第一定数値と参照値セットの第一参照値の差であると確定するために用いられる。第二計算モジュールは、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定すために用いられる。第三計算モジュールは、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算するために用いられる。第二処理モジュールは、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得するために用いられる。
【0008】
第四態様において、本出願の実施形態はデコーダを提供する。デコーダは、第二取得モジュール、第三処理モジュール、第四計算モジュール、第二確定モジュール、第五計算モジュール、第六計算モジュール及び第四処理モジュールを備える。第二取得モジュールは、ビットストリームを解析して、現在のブロックのサイズと現在のブロックのコーディングモードを取得するために用いられる。第三処理モジュールは、現在のブロックのコーディングモードがマトリックスに基づくイントラ予測(MIP)モードである場合、現在のブロックに隣接するサンプルの再構成値を取得し、隣接するサンプルの再構成値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得するために用いられる。第四計算モジュールは、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算するために用いられる。第二確定モジュールは、予測入力値セットの第一予測入力値は、第二定数値と参照値セットの第一参照値の差であると確定するために用いられる。第五計算モジュールは、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定するために用いられる。第六計算モジュールは、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算するために用いられる。第四処理モジュールは、特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得するために用いられる。
【0009】
第五態様において、本出願の実施形態はエンコーダを提供する。エンコーダーは、プロセッサと、プロセッサによって実行可能な命令を格納する記憶媒体と、を備える。記憶媒体は、通信バスを介して、プロセッサによって操作可能である。命令がプロセッサによって実行されると、上述した1つ又は複数の実施形態に係わる予測値の確定方法を実行する。
【0010】
第六態様において、本出願の実施形態はデコーダーを提供する。デコーダーは、プロセッサと、プロセッサによって実行可能な命令を格納する記憶媒体と、を備える。記憶媒体は、通信バスを介して、プロセッサによって操作可能である。命令は、プロセッサによって実行されると、上述した1つ又は複数の実施形態に係わる予測値の確定方法を実行する。
【0011】
第七態様において、本出願の実施形態はコンピューター可読記憶媒体を提供する。コンピュータ可読記憶媒体は、実行可能命令を格納する。実行可能命令が1つ又は複数のプロセッサによって実行されると、プロセッサは上述した1つ又は複数の実施形態に係わる予測値の確定方法を実行する。
【0012】
本出願の実施形態は、予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体を提供する。予測値の確定方法は、エンコーダは、現在のブロックに隣接するサンプルの再構成値を取得し、隣接するサンプルの再構築値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得し、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算し、予測入力値セットの第一予測入力値は、第一定数値と参照値セットの第一参照値の差であると確定し、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定し、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算し、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得する。換言すると、本出願の実施形態において、第一定数値を計算し、第一定数値と参照値セットの第一参照値の差が予測入力値セットの第一予測入力値であると確定し、予測入力値セットに基づいて現在のブロックの予測値を計算することにより、MIPモードで予測するときの予測入力値の動的値範囲を効果的に縮小することができる。従って、従来の技術と比較して、同じビット数で予測入力値セットとMIPマトリックスを表す場合、ダイナミックレンジのデータをより正確に表すことができ、MIPモードでの予測値計算中の精度が高くなり、符号化効率が向上する。
【図面の簡単な説明】
【0013】
【
図1】
図1は、ビデオ符号化システムの概略構造図である。
【
図2】
図2は、ビデオ復号化システムの概略構造図である。
【
図3】
図3は、MIPモードでサンプルを符号化するプロセスを示す概略図である。
【
図4】
図4は、MIPモードで符号化するプロセスを示す概略図である。
【
図5】
図5は、本出願の実施形態に係わる予測値の確定方法のフローチャートである。
【
図6】
図6は、本出願の別の実施形態に係わる予測値の確定方法のフローチャートである。
【
図7】
図7は、本出願の実施形態に係わるエンコーダーの構造を示す概略図である。
【
図8】
図8は、本出願の実施形態に係わるデコーダーの構造を示す概略図である。
【
図9】
図9は、本出願の別の実施形態に係わるエンコーダーの構造を示す概略図である。
【
図10】
図10は、本出願の別の実施形態に係わるデコーダーの構造を示す概略図である。
【発明を実施するための形態】
【0014】
以下、本出願の実施形態の図面を参照しながら本出願の実施形態の技術方案を明確且つ完全に説明する。本明細書に記載された具体的な実施形態は、関連する出願を説明するために用いられ、本出願を限定するものではないことは理解できる。なお、説明を容易にするために、関連する出願に関連する部分のみを図面に示している。
【0015】
ビデオエンコーディングの分野において、最新の多用途ビデオコーディング(versatile video coding,VVC)は、HHIがJVET(joint video experts team)-N0217で提案されたアフィン線形加重イントラ予測(affine linear weighted intra prediction)を採用し、MIP技術に名前を変更した。MIPテクノロジーにおいて、異なるサイズのイントラルマコーディングブロック(略して「ルマブロック」と称する)に基づいて、イントラルマ予測過程で異なる数量のMIPモードを増加した。
【0016】
MIP技術において、ルマブロックのサイズに応じて、ルマブロックは3種類に分類される。ルマブロックのサイズがW*Hであると、ルマブロックのサイズに応じて、ルマブロックを3種類に分類することができる。サイズが4×4のルマブロックは、第一クラスのルマブロックに属し、サイズが8×4、4×8、8×8のルマブロックは、第二クラスのルマブロックに属し、他のサイズのルマブロックは第三クラスのルマブロックに属する。これらの3種類のイントラルマブロックに対して、MIP技術は67種類の従来のイントラ予測モードに基づいてM種類のMIPモードを追加した。
【0017】
図1は、ビデオ符号化システムの概略構造図である。
図1に示されたように、ビデオ符号化システム100は、変換及び量子化モジュール101、イントラ推定モジュール102、イントラ予測モジュール103、動き補償モジュール104、動き推定モジュール105、逆変換及び逆量子化モジュール106、フィルタ制御分析モジュール107、デブロッキング(deblocking,DBK)フィルタリング及びサンプル適応オフセット(sample adaptive offset,SAO)フィルタリングモジュール108、ヘッダー情報コーディング及びコンテキストベースの適応バイナリ算術コーディング(context-based adaptive binary arithmatic coding,CABAC)コーディングモジュール109、復号化された画像キャッシュモジュール110などを含む。
【0018】
図2は、ビデオ復号化システムの概略構造図である。
図2に示されたように、ビデオ復号化システム200は、ヘッダー情報デコーディング及びCABACデコーディングモジュール201、逆変換及び逆量子化モジュール202、イントラ予測モジュール203、動き補償モジュール204、DBKフィルタリング及びSAOフィルタリングモジュール205、復号化された画像キャッシュモジュール206などを含む。ビデオ画像は、ビデオ符号化システム100の変換及び量子化モジュール101、イントラ推定モジュール102、イントラ予測モジュール103、動き補償モジュール104、動き推定モジュール105、DBKフィルタリング及びSAOフィルタリングモジュール108及びヘッダー情報コーディング及びCABACコーディングモジュール109などによって処理された後、ビデオ画像のビットストリームを出力する。ビットストリームはビデオ復号化システム200に入力され、ビデオ復号化システム200のヘッダー情報デコーディング及びCABACデコーディングモジュール201、逆変換及び逆量子化モジュール202、イントラ予測モジュール203、動き補償モジュール204などによって処理されて、最後に元のビデオ画像に復元する。
【0019】
本出願の実施形態によって提供される、MIPモードを採用して符号化及び復号化する際、予測値の確定方法は、主に、ビデオ符号化システムのイントラ予測モジュール103及びビデオ復号化システムのイントラ予測モジュール203に適用され、エンコード側とデコード側の両方に適用される。
【0020】
第一クラスのルマブロックの場合、M=35であり、第二クラスのルマブロックの場合、M=19であり、第三クラスのルマブロックの場合、M=11である。
【0021】
具体的には、MIP技術は、イントラ輝度予測のみに適用される。従来のモードと同様に、MIP予測の入力は現在のブロック(以下の符号化される画像ブロックに相当する)の頂行と左列のデータであり、出力は現在のブロックの予測値である。具体的な予測過程は、平均、マトリックスベクトルの乗算、補間の3つのステップが含まれる。つまり、入力された現在のブロックの頂行と左列に隣接するサンプルの再構成輝度値に対して上記の3つの操作を実行することにより、現在のブロックの輝度予測値を取得することができる。
【0022】
図3は、MIPモードでサンプルを符号化するプロセスを示す概略図である。
図3に示されるように、プロセスは以下のステップを含む。
【0023】
ステップ1:現在のルマブロックの上側隣接参照ポイントに対して平均操作を実行して、N個の値を含むベクトルredTを取得する。現在のルマブロックの左側隣接参照ポイントに対して平均操作を実行して、N個の値を含むベクトルredLを取得する。ルマブロックが第一クラスのルマブロックに属する場合、N=2であり、ルマブロックが第二クラスのルマブロック又は第三クラスのルマブロックに属する場合、N=4である。ベクトルredTとベクトルredLは、後続の操作に使用される新しいベクトルpTempを構成する。
【0024】
ステップ2:マトリックmWeight、重み付けパラメータfO及びビット右シフトパラメータsWを取得する。次の式によって計算して、
図3におけるクロスラインで識別される現在のブロックの部分予測値を取得する。
【数1】
【0025】
MipSizeId=0又は1である場合、次の式によって計算する。
【数2】
【0026】
MipSizeId=2である場合、次の式によって計算する。
【数3】
【0027】
predMip[x,y]は、位置(x,y)のサンプルの予測値を表す。pTemp [i]は、MIPモードで予測するとき、現在のブロックの参照値セットのi番目の参照値を表す。p [x]は、MIPモードで予測するとき、i番目の予測入力値を表す。inSizeは、MIPのシリアル番号であるMipSizeIdに基づいて確定されたものであり、MipSizeId=0である場合、inSize=4であり、MipSizeId=1である場合、inSize=8であり、MipSizeId=2である場合、inSize=7である。MipSizeIdの値は、現在のブロックのサイズによって確定される。現在のブロックのサイズが4x4である場合、MipSizeId=0であり、現在のブロックのサイズが4x8、8x4又は8x8である場合、MipSizeId=1であり、現在のブロックのサイズが8x8より大きい場合、MipSizeId=2である。BitDepthは、ルマコンポーネントのビット深度(つまり、ルマコンポーネントのサンプル値を表すために使用されるバイナリビットの数)を表す。mWeightはMIPマトリックスを表す。predC、incH及びincWは、サンプル位置(x、y)に対応するマトリックス要素のパラメーターを確定するために用いられる。「>>」はビット右シフト演算子である。oWは、ビット右シフト操作で使用されるシフトオフセットを表す。sWは、右シフトのビットを表す。fOは、重み付けパラメータを表す。sWとfOは、少なくとも現在のブロックのサイズ又はMipSizeIdの値に基づいて確定することができる。例えば、MipSizeIdの値に関連するマッピングテーブルを使用して、sWとfOの値を確定することができる。マッピングテーブルには、少なくとも異なるMipSizeIdの値に対応するsWの値とfOの値が記録されている。
【0028】
ステップ3:線形補間によって、現在のブロック内の残りの予測値を取得し、即ち、
図3の複数のドットによって識別される現在のブロック内の部分予測値を取得することができる。
【0029】
MIP技術に関連する3つの値、mWeight、fO及びsWは、予測値を確定するときに取得することを必要とする。mWeightの値は、予測モードとサンプル空間位置の両方に関連しているが、fOの値とsWの値は、予測モードのみに関連してる。p [i]は、式(3)、(4)、(5)によって計算して得られる。mWeightの値とfOの値は、全て符号なし7桁の2進数(7-digit binary number)として保存される。sWは、予測モードに対応するオフセットを表す。予測モード(以下の表1に示す)に応じて、5、6、7のうちの1つの値を取り、表1を参照して取得することができる。マトリックスベクトル積を計算することにより、サンプルのサンプル値を取得することができ、全体的なメモリ要件は4.5395キロバイトである。
【表1】
【0030】
MIPモードで予測するとき、現在のブロックにとって、先ず予測モードのインデックスを確定する。予測モードのインデックスに基づいて、表を参照して、現在のブロックの固定sW値を取得し、mWeight-fOを取得する。sWビットで右シフトすることにより、予測値を計算するために用いられる原始浮動小数点数行列(original floating-point number matrix)を取得する。
図4は、MIPモードで符号化するプロセスを示す概略図である。
【0031】
図4に示されたように、先ず、MIPモードのインデックス番号を取得する。次に、MIPモードのインデックス番号に基づいて、マッピングテーブルからマシンでトレーニングされたmWeightとfOを取得し、MIPモードのインデックス番号に基づいて、マッピングテーブルからsWを取得する。最後に、予測のために
【数4】
が実行され、予測値を取得する。
【0032】
つまり、既存のVVCのMIP技術において、mWeightの全ての値の原始浮動小数点数mWeightf [x] [y]は、最小値(多くの場合、負の値であり、fOで表す)から始まるオフセットの固定小数点値で表す。
【数5】
【0033】
mWeight [x] [y]は、符号なし7桁の2進数として保存されるので、表現精度が低下する。ここで、sWが大きいほど、精度が高いが、値の範囲を完全に表現するために、sWの値を大きくしすぎることはできない。マトリックス全体で同じsW値が無差別に使用されるので、値の範囲が小さいパラメータは、マトリックス全体の全てのパラメータの共通の値変化範囲に適応するために、表現精度をさらに下げることを必要とする。元のマトリックスのパラメータ変動範囲は、p [i]データの取得方式にも関連している。関連技術におけるp[i]の計算方法は、パラメータ変動範囲の拡張を引き起こし、重み行列内のデータの精度を低下させ、MIPモードの予測差を増大させ、従って符号化効率を低下させる。
【0034】
MIPモードの予測精度を高めて、符号化効率を改善するために、本出願の実施形態は予測値の確定方法を提供する。
図5は、本出願の実施形態に係わる予測値の確定方法のフローチャートである。
図5に示されたように、この方法はエンコーダに適用可能である。この方法は以下の内容を含む。
【0035】
ブロックS501、現在のブロックに隣接するサンプルの再構成値を取得する。
【0036】
具体的には、エンコーダは、符号化する過程において、現在のブロックの予測値を確定するために、先ず現在のブロックに隣接するサンプルの再構成値を取得することを必要とする。現在のブロックに隣接するサンプルは、現在のブロックの頂行と左列のサンプルを含む。
【0037】
ブロックS502、隣接するサンプルの再構築値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得する。
【0038】
隣接するサンプルの再構成値を取得した後、例えば、取得された現在のブロックの頂行のサンプルの再構成値はredT(N個の値を含む)であり、取得された現在のブロックの左列のサンプルの再構成値はredL(N個の値を含む)であり、redTとredLは、現在のブロックの参照値セットとする新しいベクトルpTempを構成する。
【0039】
フィルタリング処理を実行して現在のブロックの参照値セットを取得するために、選択的な1つの実施形態において、ブロックS502の操作は以下の内容を含む。隣接するサンプルの再構成値をNグループに分割し、各グループの再構築値の平均値を計算し、平均値を参照値セットの参照値とする。ここで、Nは正の整数である。
【0040】
Nは、予め設定された現在のブロックのサイズに対応する正の整数値に設定される。換言すると、ブロックS502における、隣接するサンプルの再構築値に対してフィルタリング処理を行うことは、具体的には、redTとredLをN個のグループに分割し、各グループの再構成値の平均値を計算してN個の平均値が得られ、N個の平均値を参照値セットの参照値とすることである。
【0041】
例えば、現在のブロックのサイズが4x4である場合、inSize=4であり、現在のブロックのサイズが4x8、8x4又は8x8である場合、inSize=8であり、現在のブロックのサイズが8x8より大きい場合、inSize=7である。
【0042】
ブロックS503、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算する。
【0043】
実際には、現在のブロックのサイズはMipSizeIdで表すことができる。MipSizeIdが2より小さい数である場合、即ち、MipSizeIdが0又は1と等しい場合、第一定数値は、現在のブロック内のサンプルの輝度コンポーネントのビット深度値に基づいて計算する。
【0044】
第一定数値を計算するために、選択的な1つの実施形態において、ブロックS503の操作は以下の内容を含む。第一定数値は、数値1に対してバイナリビット左シフト演算を実行して得られた値に設定される。ここで、バイナリビット左シフト演算で使用される左シフトビット数は、ビット深度値から1を引いた値と等しい。
【0045】
具体的には、第一定数値は、数値1に対してビット左シフト演算を実行して得られた値であり、左シフトビット数はビット深度から1を引いたものと等しい。
【0046】
ブロックS504、予測入力値セットの第一予測入力値は、第一定数値と参照値セットの第一参照値の差であると確定する。
【0047】
予測入力値セットは、MIPに基づいて現在のブロックの予測値を計算するために用いられる。第一定数値を取得した後、S504において、第一定数値と参照値セットの第一参照値の差を第一予測入力値として確定することができる。 第一予測入力値p[0]は、次の式によって計算して取得できる。
【数6】
【0048】
ブロックS505、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定する。
【0049】
他の予測入力値p[i]は、現在のブロックのサイズが予め設定された閾値よりも小さい場合、第一予測入力値以外の予測入力値を含む。他の予測入力値p[i]は、現在のブロックのサイズが予め設定された閾値以上である場合の予測入力値をさらに含むことができる。 他の予測入力値p [i]は、次の式によって計算して取得できる。
【数7】
【0050】
ブロックS506、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算する。
【0051】
具体的には、全ての予測入力値が確定された後、予測入力値セットを取得することができる。予測入力値セットに基づいて予測を実行して、現在のブロックの特定の位置にあるサンプルの予測値、例えば、
図3の十字線によって識別される位置にあるサンプルの予測値を取得することができる。
【0052】
現在のブロックの特定の位置にあるサンプルの予測値をを確定するために、選択的な1つの実施形態において、ブロックS506の操作は以下の内容を含む。予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定する。予測入力値セット、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算する。
【0053】
換言すると、1つ又は複数のマッピングテーブルがエンコーダに予め保存されている。 1つ又は複数のマッピングテーブルによって、現在のブロックのMIPマトリックス(mWeit)、現在のブロックのビット右シフトパラメータ(sW)、および現在のブロックの重み付けパラメータ(fO)を確定することができる。
【0054】
sW及びfOは、少なくとも現在のブロックのサイズ又はMipSizeIdの値に基づいて確定することができる。例えば、MipSizeIdの値に関連するマッピングテーブルによって、sWの値とfOの値を確定することができる。マッピングテーブルには、少なくとも異なるMipSizeIdの値に対応するsWの値とfOの値が記録されている。
【0055】
上記のマッピングテーブルの数値は定数である。即ち、マッピングテーブルの数値は、MIP予測値の計算中に更新されない。マッピングテーブルの定数の値は、上記の式(7)に基づいてオフライントレーニング方法を使用して取得することができる。 あるいは、マッピングテーブルの定数の値は、上記の式(7)に基づいて、p[0]を計算する異なる方法に対応するマッピングテーブルから導出することができる。特に、本出願の実施形態において、VVC委員会ドラフト(CD)のMIPマッピングテーブルから導出したマッピングテーブルは次のとおりである。
【0056】
MipSizeId=0及びmodeId=0である場合、mWeight[x][y]=
{
{31,59,77,28},{36,92,85,25},{37,69,100,24},{35,36,106,29},{44,49,104,48},{44,21,94,59},{39,0,80,72},{33,2,66,84},{36,13,35,99},{29,11,34,103},{23,21,34,106},{17,24,40,105},{18,28,43,101},{12,32,49,101},{7,31,53,102},{7,32,54,100}
},
【0057】
MipSizeId=0及びmodeId=1である場合、mWeight[x][y]=
{{22,14,70,0},{24,17,53,5},{28,70,32,12},{40,82,11,19},{20,17,63,52},{22,17,46,63},{25,21,29,71},{30,25,16,74},{20,19,16,85},{21,19,17,85},{20,18,20,83},{20,18,23,82},{20,19,22,80},{20,18,22,80},{20,20,22,80},{21,21,22,80}},
【0058】
MipSizeId=0及びmodeId=2である場合、mWeight[x][y]=
{{6,7,62,10},{7,0,33,9},{7,12,2,6},{7,63,3,6},{7,7,73,6},{7,8,71,9},{7,1,50,9},{7,9,14,7},{6,7,55,22},{7,7,72,5},{7,9,74,7},{7,3,62,9},{8,6,2,77},{7,6,33,45},{7,7,62,14},{7,8,70,8}},
【0059】
MipSizeId=0及びmodeId=3である場合、mWeight[x][y]=
{{32,32,54,34},{32,38,34,34},{32,94,38,30},{34,110,40,28},{32,30,80,32},{32,52,56,30},{34,106,48,30},{44,104,38,40},{32,30,56,72},{48,64,38,80},{68,90,20,86},{76,78,8,90},{50,32,0,122},{76,68,4,106},{86,74,8,96},{82,74,8,94}},
【0060】
MipSizeId=0及びmodeId=4である場合、mWeight[x][y]=
{{27,19,44,22},{27,35,23,27},{26,88,29,28},{28,91,27,27},{32,21,87,25},{35,22,46,20},{32,69,26,20},{29,87,29,23},{32,23,40,81},{44,16,46,66},{53,17,17,50},{46,37,3,40},{31,25,21,92},{36,24,24,91},{43,16,23,88},{52,11,0,81}},
【0061】
MipSizeId=0及びmodeId=5である場合、mWeight[x][y]=
{{24,24,82,26},{24,22,76,26},{24,32,66,24},{24,58,56,24},{24,26,88,22},{24,28,88,26},{26,26,88,26},{24,26,86,28},{24,26,72,40},{24,26,84,24},{22,28,86,22},{26,34,82,24},{26,24,0,110},{26,24,14,98},{42,26,44,62},{80,38,76,8}},
【0062】
MipSizeId=0及びmodeId=6である場合、mWeight[x][y]=
{{20,22,48,19},{22,20,43,18},{21,35,35,19},{30,62,25,17},{21,22,47,29},{22,21,48,27},{23,31,45,24},{55,44,24,8},{21,21,25,48},{18,23,25,51},{39,19,23,38},{76,27,22,0},{22,21,20,53},{23,19,18,54},{60,5,12,35},{77,25,19,3}},
【0063】
MipSizeId=0及びmodeId=7である場合、mWeight[x][y]=
{{13,10,73,12},{13,3,54,15},{13,0,29,14},{13,22,13,13},{13,13,80,10},{14,14,86,7},{15,11,84,8},{14,3,68,11},{13,12,30,59},{14,10,45,43},{15,11,63,26},{17,11,75,15},{16,10,6,83},{18,9,6,83},{19,8,9,78},{24,5,21,63}},
【0064】
MipSizeId=0及びmodeId=8である場合、mWeight[x][y]=
{{24,22,74,30},{24,20,22,44},{26,68,6,32},{26,90,20,28},{24,26,46,66},{24,20,36,74},{24,44,10,58},{38,82,6,30},{24,24,34,76},{24,24,40,74},{24,26,32,78},{86,42,10,32},{26,22,38,74},{22,26,38,74},{40,16,36,72},{118,0,34,32}},
【0065】
MipSizeId=0及びmodeId=9である場合、mWeight[x][y]=
{{14,39,85,0},{15,49,42,39},{17,30,22,66},{17,18,19,74},{18,19,24,73},{17,11,13,83},{17,12,18,78},{17,15,19,75},{16,15,14,78},{16,16,19,75},{17,17,18,75},{18,17,18,75},{16,16,19,75},{17,16,18,76},{17,16,18,76},{18,16,19,75}},
【0066】
MipSizeId=0及びmodeId=10である場合、mWeight[x][y]=
{{26,24,57,22},{30,14,30,24},{28,61,25,25},{26,100,29,27},{29,27,92,30},{31,19,72,25},{40,15,37,21},{46,70,24,18},{29,26,30,89},{30,26,34,87},{41,14,27,81},{67,12,0,65},{29,26,24,92},{29,27,24,92},{28,29,27,93},{36,22,25,89}},
【0067】
MipSizeId=0及びmodeId=11である場合、mWeight[x][y]=
{{21,19,60,7},{26,12,35,9},{26,14,27,11},{22,50,24,13},{24,18,75,38},{29,16,60,39},{38,6,30,41},{41,0,3,45},{22,19,21,84},{23,19,21,85},{25,20,22,84},{28,18,16,83},{20,20,20,83},{20,21,21,82},{19,21,21,83},{19,22,22,82}},
【0068】
MipSizeId=0及びmodeId=12である場合、mWeight[x][y]=
{{16,14,75,3},{16,43,57,16},{18,63,20,43},{14,46,0,65},{15,20,54,52},{15,22,23,76},{13,17,15,83},{10,17,17,82},{14,17,11,84},{12,18,14,83},{11,20,16,81},{9,21,16,81},{12,18,18,80},{10,19,17,81},{9,20,16,82},{8,20,16,82}},
【0069】
MipSizeId=0及びmodeId=13である場合、mWeight[x][y]=
{{7,6,82,0},{7,4,83,0},{7,2,83,0},{7,3,80,0},{7,8,59,16},{7,8,58,17},{7,8,58,17},{7,7,57,18},{7,7,7,70},{7,7,7,71},{7,7,6,71},{7,8,7,70},{6,7,8,71},{6,7,8,70},{6,7,8,70},{6,7,9,69}},
【0070】
MipSizeId=0及びmodeId=14である場合、mWeight[x][y]=
{{21,16,39,18},{19,35,27,17},{19,56,17,28},{30,46,8,40},{17,26,47,25},{21,40,24,40},{41,31,9,46},{57,13,10,41},{22,25,15,55},{49,14,12,46},{65,3,18,36},{63,4,19,35},{49,8,13,46},{65,0,19,33},{63,1,19,35},{61,3,18,36}},
【0071】
MipSizeId=0及びmodeId=15である場合、mWeight[x][y]=
{{23,43,54,26},{23,56,50,24},{22,57,49,25},{23,61,47,24},{24,51,57,20},{21,55,51,27},{23,56,52,24},{24,59,51,23},{23,43,60,24},{27,55,58,12},{23,58,52,23},{24,59,52,23},{64,26,13,80},{89,48,51,0},{43,57,59,7},{24,57,54,22}},
【0072】
MipSizeId=0及びmodeId=16である場合、mWeight[x][y]=
{{20,20,51,22},{21,22,51,22},{21,29,50,22},{21,32,48,22},{21,23,53,22},{21,24,53,22},{21,23,53,22},{21,24,53,22},{18,24,47,28},{18,24,48,27},{19,25,48,26},{20,25,48,26},{30,16,0,71},{35,14,1,67},{38,14,2,64},{38,13,4,63}},
【0073】
MipSizeId=0及びmodeId=17である場合、mWeight[x][y]=
{{25,21,34,25},{27,34,3,39},{30,55,24,23},{26,41,40,18},{28,22,13,48},{44,38,6,29},{35,44,43,10},{25,30,45,21},{35,29,12,44},{56,34,31,2},{33,30,47,14},{24,28,44,25},{39,37,33,19},{48,29,40,0},{31,25,44,19},{25,28,44,24}},
【0074】
MipSizeId=1及びmodeId=0である場合、mWeight[x][y]=
{{18,22,18,20,72,43,9,19},{18,8,22,26,56,58,5,20},{19,21,10,35,35,72,3,20},{21,21,21,29,18,78,7,18},{19,16,16,19,3,70,46,8},{21,18,15,20,4,58,61,4},{25,16,18,18,8,42,73,3},{28,14,20,18,13,30,76,6},{20,18,17,17,19,4,69,40},{24,18,17,16,19,3,55,51},{30,14,18,15,17,5,39,63,{31,14,18,16,16,8,28,70},{22,15,18,16,16,20,2,92},{26,14,18,15,15,19,0,91},{29,15,18,16,14,19,3,88},{29,16,17,17,15,17,7,84}},
【0075】
MipSizeId=1及びmodeId=1である場合、mWeight[x][y]=
{{20,35,18,20,58,35,18,20},{20,75,26,19,32,31,20,20},{21,6,93,22,20,25,21,20},{24,25,0,99,18,21,21,18},{20,28,20,20,8,78,30,19},{20,67,22,20,10,59,27,19},{22,7,93,18,15,30,25,20},{26,25,1,97,20,18,22,18},{20,28,19,20,15,14,81,25},{20,59,20,20,12,22,65,23},{23,7,93,16,14,24,34,22},{30,24,3,95,19,20,20,18},{20,29,20,20,14,23,8,90},{20,51,19,21,14,19,15,77},{24,7,88,16,14,20,21,43},{33,22,6,91,19,18,20,21}},
【0076】
MipSizeId=1及びmodeId=2である場合、mWeight[x][y]=
{{10,19,10,12,81,14,10,11},{10,26,15,10,79,6,12,11},{11,16,31,12,69,2,14,10},{11,13,8,44,54,3,14,10},{11,11,12,11,1,83,13,9},{11,12,12,12,11,83,4,12},{11,15,11,13,24,77,0,12},{11,14,13,16,38,63,2,12},{11,12,11,11,14,2,82,12},{11,13,12,12,10,14,79,5},{11,12,12,13,6,29,70,3},{11,12,11,16,3,45,55,4},{11,12,11,12,10,12,1,84},{11,13,11,12,12,8,13,76},{11,12,12,13,14,3,29,64},{11,13,10,17,15,0,45,49}},
【0077】
MipSizeId=1及びmodeId=3である場合、mWeight[x][y]=
{{21,50,24,20,19,38,22,24},{22,53,41,23,14,22,27,27},{22,22,66,37,19,17,25,28},{27,19,12,92,19,18,21,28},{21,51,25,20,19,23,48,27},{21,41,48,24,17,11,36,37},{24,17,58,43,14,17,23,39},{39,22,4,91,15,20,16,33},{20,44,27,21,16,20,35,54},{22,31,53,24,13,19,21,55},{30,14,47,50,10,20,16,48},{57,28,0,82,19,14,18,30},{22,34,30,21,15,22,21,70,{24,22,52,26,12,24,16,61},{38,17,33,56,14,18,16,49},{66,32,0,75,26,4,22,30}},
【0078】
MipSizeId=1及びmodeId=4である場合、mWeight[x][y]=
{{18,32,15,16,60,34,10,19},{18,68,28,13,31,37,11,,17},{19,8,73,23,15,30,22,14},{19,18,0,85,11,17,33,15},{18,18,19,17,9,56,56,9},{19,19,20,16,13,30,73,12},{19,20,20,18,13,13,71,28},{18,18,16,26,12,8,54,47},{17,16,17,17,17,10,54,51},{16,17,16,18,16,15,28,73},{16,18,15,18,16,20,14,83},{15,19,17,18,15,21,14,82},{16,17,16,18,17,18,7,90},{15,18,16,19,16,17,11,87},{14,18,16,20,17,15,15,84},{13,19,16,22,17,15,18,81}},
【0079】
MipSizeId=1及びmodeId=5である場合、mWeight[x][y]=
{{11,6,13,11,75,6,12,11},{12,3,8,13,48,2,13,10},{12,45,1,13,19,9,12,10},{12,42,37,8,10,12,11,10},{11,11,10,12,18,74,6,11},{11,12,10,12,53,47,2,12},{12,6,10,12,71,16,9,11},{12,15,6,13,53,5,13,10},{12,12,10,11,9,17,77,5},{12,11,9,12,3,51,50,2},{12,11,9,12,11,72,18,8},{12,11,9,12,36,57,7,10},{12,10,10,11,10,10,16,71},{13,11,10,11,14,0,56,39},{13,11,9,12,12,8,76,13},{13,12,9,12,8,35,57,7}},
【0080】
MipSizeId=1及びmodeId=6である場合、mWeight[x][y]=
{{23,21,23,23,101,30,19,25},{24,13,23,24,101,29,19,25},{24,24,14,23,101,29,18,24},{24,23,25,17,98,29,18,24},{23,24,23,23,0,97,36,17},{24,25,24,22,1,97,35,17},{24,22,25,23,1,96,36,17},{24,22,23,24,3,94,36,17},{24,23,23,22,31,0,93,34},{24,23,24,23,31,2,93,33},{24,22,24,23,31,1,92,34},{24,22,23,23,30,3,90,35},{23,24,23,23,19,31,2,102},{23,23,23,24,19,30,3,101},{23,23,24,24,19,30,3,101},{23,23,23,24,19,31,4,100}}
【0081】
MipSizeId=1及びmodeId=7である場合、mWeight[x][y]=
{{10,5,10,10,56,4,11,9},{11,22,6,10,13,9,10,10},{11,67,22,6,10,10,10,10},{11,6,68,18,11,9,11,9},{10,10,10,10,40,53,3,11},{11,6,10,9,61,9,10,9},{11,17,6,10,23,7,9,10},{11,56,15,8,10,11,9,10},{10,9,11,9,4,42,54,3},{11,10,11,9,22,67,8,8},{10,7,11,9,57,23,7,10},{11,11,10,10,36,8,10,9},{10,10,11,9,13,0,41,50},{11,9,11,9,8,24,64,8},{10,10,11,9,15,63,18,10},{11,10,11,10,44,33,10,11}},
【0082】
MipSizeId=1及びmodeId=8である場合、mWeight[x][y]=
{{21,44,37,20,24,68,10,23},{21,1,55,39,14,39,41,18},{21,25,0,68,18,18,42,39},{22,24,19,36,19,14,25,72},{21,11,28,30,18,23,80,19},{22,25,8,38,21,13,45,62},{22,22,18,25,19,18,16,90},{23,21,21,24,19,21,12,91},{21,22,15,28,21,20,23,82},{22,21,19,24,20,22,9,95},{23,21,21,22,20,21,13,92},{23,22,21,22,19,21,15,90},{22,21,20,22,21,22,15,90},{22,21,21,22,20,21,16,89},{23,21,20,23,19,22,15,89},{24,21,20,23,19,23,15,87}},
【0083】
MipSizeId=1及びmodeId=9である場合、mWeight[x][y]=
{{8,15,18,15,51,68,39,23},{7,4,10,20,22,76,51,27},{7,16,1,17,13,78,55,29},{7,13,24,0,12,76,55,27},{7,8,10,14,10,66,72,25},{6,12,8,14,12,59,75,27},{5,13,9,12,13,58,75,28},{4,14,8,13,14,60,71,29},{7,10,11,12,12,42,79,41},{4,14,8,14,13,45,79,39},{3,14,8,14,12,44,81,38},{2,15,10,14,13,45,78,36},{7,11,12,13,13,24,73,62},{4,15,8,13,15,28,89,43},{1,14,10,14,16,29,85,45},{1,16,9,15,17,33,78,46}},
【0084】
MipSizeId=2及びmodeId=0である場合、mWeight[x][y]=
{{46,7,14,92,23,20,10},{32,22,17,52,50,25,12},{1,36,21,27,61,30,14},{0,30,27,17,61,32,17},{13,12,37,13,59,35,18},{14,13,38,11,56,38,18},{10,27,29,9,55,39,17},{10,27,32,7,53,38,17},{8,17,14,15,92,27,13},{2,16,18,8,84,38,15},{4,12,22,7,76,44,17},{8,8,25,7,72,46,18},{8,8,26,8,69,46,19},{10,11,23,9,68,47,17},{10,11,23,8,67,47,18},{10,12,26,9,64,43,20},{7,10,16,11,86,37,17},{7,9,18,9,73,47,20},{8,8,21,9,67,50,22},{7,9,22,9,66,50,22},{7,9,23,8,67,48,22},{8,9,24,8,67,48,21},{8,9,26,8,66,49,20},{9,8,29,8,64,48,20},{8,8,16,8,69,56,19},{6,9,17,8,64,55,25},{7,8,19,8,62,53,27},{7,8,21,8,61,52,28},{7,9,22,7,62,52,25},{7,9,23,6,62,53,24},{8,7,26,6,62,52,23},{8,8,28,6,61,51,22},{7,9,14,7,49,74,23},{7,7,17,7,51,65,30},{7,8,18,6,53,57,33},{7,8,20,5,56,57,31},{7,8,22,6,56,57,29},{8,8,23,5,57,57,27},{8,7,26,5,57,56,26},{8,6,27,5,57,55,25},{7,8,14,6,36,65,47},{7,7,18,5,44,59,44},{7,7,19,5,47,59,40},{7,7,20,5,50,59,35},{8,6,22,5,51,58,33},{8,5,25,5,51,59,30},{7,6,26,5,51,59,29},{9,6,27,5,50,59,28},{7,8,14,6,27,44,76},{6,8,16,5,38,57,53},{6,7,19,4,44,63,40},{7,6,21,4,47,62,37},{8,6,22,4,47,62,35},{8,6,24,5,46,64,32},{8,6,26,5,46,63,31},{8,6,28,6,45,62,30},{8,7,15,6,22,43,81},{6,8,16,5,32,64,51},{8,8,19,5,37,66,41},{9,5,21,4,41,67,36},{8,7,22,5,42,65,35},{8,6,25,6,42,64,34},{9,5,27,7,43,63,32},{9,5,29,8,40,60,34}},
【0085】
MipSizeId=2及びmodeId=1である場合、mWeight[x][y]=
{{50,47,46,61,50,45,46},{59,49,47,57,51,45,46},{64,52,48,55,51,46,46},{58,61,50,53,51,46,46},{52,66,53,52,51,46,46},{48,62,62,50,51,46,46},{47,49,76,49,51,46,46},{45,33,92,49,52,46,46},{50,48,46,57,63,45,46},{55,52,48,55,63,45,46},{57,56,50,53,63,45,46},{55,60,53,51,63,46,46},{51,60,59,51,63,46,46},{48,55,69,49,63,46,46},{46,42,84,48,62,46,46},{43,28,99,48,61,47,46},{49,49,47,48,73,47,46},{52,52,49,47,73,48,46},{52,55,53,47,72,48,46},{51,56,58,46,72,48,46},{48,54,65,46,71,48,46},{46,47,76,45,71,49,46},{44,34,91,44,70,49,46},{41,23,04,45,68,50,46},{48,48,48,44,68,59,45},{50,51,51,43,69,58,45},{49,52,56,43,68,58,45},{48,52,62,42,68,58,45},{45,48,71,42,68,58,45},{43,38,84,41,68,59,45},{41,27,98,41,67,59,45},{38,19,109,42,66,59,45},{47,47,49,44,52,74,45},{48,48,53,43,54,74,45},{47,48,60,43,55,73,45},{45,46,68,43,55,73,45},{43,40,78,42,56,72,45},{41,30,91,42,57,72,45},{38,20,105,41,57,71,45},{36,13,114,41,57,70,46},{46,47,50,45,43,77,51},{46,46,56,44,44,78,51},{45,43,64,43,45,77,51},{43,39
,73,43,45,77,51},{40,31,85,42,46,77,51},{38,22,98,42,46,77,51},{35,12,111,42,47,76,51},{33,7,19,41,48,75,52},{46,46,51,45,44,57,71},{45,43,59,44,44,58,70},{43,37,68,43,45,58,70},{40,31,80,43,45,58,70},{38,22,92,43,46,58,70},{36,13,105,43,46,58,70},{33,5,117,42,47,58,70},{31,2,123,42,48,57,71},{45,41,55,45,51,24,96},{44,36,64,44,52,23,97},{42,29,75,43,53,23,97},{39,22,86,43,52,24,97},{37,14,98,43,53,24,97},{34,7,109,42,53,25,97},{32,1,118,41,53,25,97},{30,0,123,41,53,26,96}},
【0086】
MipSizeId=2及びmodeId=2である場合、mWeight[x][y]=
{{20,16,16,76,9,8,16},{37,15,16,71,11,17,16},{65,13,17,67,12,17,16},{63,30,15,63,14,17,16},{30,62,13,57,16,17,16},{14,62,28,52,18,16,16},{21,22,64,46,21,15,16},{26,0,81,40,24,15,17},{23,16,16,69,48,8,18},{28,18,16,66,50,8,17},{36,17,17,61,54,7,18},{40,20,17,56,57,7,18},{34,29,18,50,61,6,18},{27,34,22,44,64,5,18},{25,22,37,37,67,5,18},{26,9,51,31,68,6,18},{18,17,17,17,87,9,17},{19,17,17,15,88,9,17},{20,18,17,14,88,10,17},{22,17,18,12,87,12,17},{23,18,19,11,85,15,16},{23,20,19,11,83,18,16},{22,19,22,10,79,22,16},{22,16,28,11,74,26,15},{16,17,16,7,58,50,10},{17,17,16,8,53,55,10},{18,17,17,10,47,60,9},{18,16,17,11,43,64,9},{19,16,17,12,38,68,9},{20,17,18,13,35,72,9},{20,17,19,14,31,74,9},{20,16,21,13,29,74,11},{17,16,16,16,15,86,11},{18,15,17,16,13,86,13},{18,16,16,16,13,84,15},{18,15,17,16,12,82,18},{19,16,17,16,12,79,21},{18,16,17,16,12,76,24},{18,16,17,15,12,73,28},{19,16,19,15,14,68,31},{17,17,16,17,10,59,43},{17,16,16,17,10,54,47},{18,16,16,17,11,48,52},{18,16,16,16,12,44,56},{17,17,
16,16,13,40,59},{17,17,16,16,13,37,62},{17,17,17,15,14,34,65},{18,16,18,16,14,32,66},{17,16,16,15,16,17,79},{17,16,16,16,16,15,81},{18,16,16,16,16,14,82},{18,16,16,15,16,13,83},{17,18,16,15,16,13,83},{17,17,17,15,16,13,84},{17,17,17,15,16,13,84},{17,16,18,15,16,13,83},{16,16,16,16,17,3,92},{17,16,16,15,17,4,91},{18,17,17,14,18,4,90},{18,17,16,14,18,4,91},{17,18,16,15,18,4,91},{17,18,17,15,18,4,90},{17,17,18,14,18,4,90},{18,16,19,15,18,5,89}},
【0087】
MipSizeId=2及びmodeId=3である場合、mWeight[x][y]=
{{13,9,10,43,11,12,9},{43,2,11,22,15,12,10},{73,2,11,16,16,12,9},{52,38,5,13,16,12,10},{11,71,6,12,14,13,10},{3,50,35,10,14,13,9},{11,12,68,11,13,13,10},{13,3,74,12,11,15,10},{20,9,10,51,29,11,10},{41,5,10,37,26,13,10},{58,9,10,23,27,14,9},{41,36,6,15,24,16,10},{14,57,11,11,21,18,9},{7,39,37,9,18,19,9},{12,9,63,10,15,20,9},{15,2,68,11,12,21,10},{16,11,11,19,60,11,11},{27,11,11,20,50,16,10},{35,15,11,17,42,20,10},{29,29,11,12,35,23,10},{17,37,18,8,29,26,9},{13,26,35,6,24,27,9},{15,8,53,7,19,27,10},{16,4,57,9,14,28,11},{12,11,11,5,51,36,8},{15,13,12,8,45,36,9},{19,16,14,9,38,38,9},{19,21,16,8,32,39,10},{18,22,21,7,27,39,10},{18,16,31,7,22,39,11},{18,9,41,6,18,39,11},{19,7,44,7,15,37,13},{11,12,11,9,18,64,10},{11,12,13,10,18,61,11},{13,13,15,10,17,58,12},{15,14,17,10,16,56,13},{17,14,20,9,14,55,13},{18,11,26,9,13,52,14},{19,9,31,8,11,50,15},{19,9,33,8,10,46,17},{10,11,12,11,4,59,28},{11,10,13,11,4,60,26},{12,10,15,11,5,59,25},{14,10,16,11,5,58,24},{15,10,18,11,4,57,24},{17,9,21,11,4,56,2
4},{19,9,23,10,4,53,24},{19,9,26,10,5,49,25},{10,10,12,11,5,27,60},{11,8,14,11,3,34,54},{13,8,15,12,2,38,50},{13,8,15,13,1,41,47},{15,8,17,13,0,42,45},{16,8,18,13,0,44,43},{18,8,19,12,0,44,41},{19,9,21,12,1,43,39},{11,8,12,11,6,9,77},{13,7,13,12,4,16,72},{15,6,14,13,2,21,67},{15,6,14,13,1,25,63},{15,7,15,14,0,27,61},{16,8,15,14,0,29,58},{17,8,17,14,0,29,56},{18,8,18,14,1,30,53}},
【0088】
MipSizeId=2及びmodeId=4である場合、mWeight[x][y]=
{{15,13,13,55,12,13,13},{21,13,13,34,14,13,13},{39,12,13,22,14,13,13},{55,18,12,18,14,14,13},{48,37,11,16,14,14,13},{23,62,13,14,14,13,13},{11,53,35,14,14,13,12},{15,13,72,14,14,13,12},{16,13,13,63,27,12,13},{17,13,13,58,19,13,13},{22,13,13,43,18,13,13},{33,14,12,31,17,14,13},{45,18,12,24,16,14,12},{44,32,12,19,15,14,13},{29,49,15,17,14,14,12},{18,44,33,16,15,13,12},{15,13,13,32,60,10,13},{16,13,13,45,44,12,13},{17,14,13,49,32,13,12},{21,14,13,44,25,14,12},{30,14,13,37,21,14,12},{39,16,13,30,18,14,12},{39,27,13,24,17,14,12},{31,38,16,21,17,13,12},{13,13,13,13,64,27,11},{14,13,13,23,61,19,12},{15,14,13,34,51,16,12},{17,14,13,40,42,15,12},{20,14,13,40,34,14,12},{27,14,13,37,29,14,12},{33,16,13,32,25,13,12},{33,24,14,27,23,13,12},{13,13,13,13,33,61,9},{13,13,13,15,47,44,10},{14,13,13,20,54,31,11},{15,13,13,27,53,23,11},{16,14,13,32,49,18,12},{19,14,13,34,43,15,12},{24,14,13,34,37,14,12},{28,17,13,31,32,14,12},{13,14,13,15,10,71,20},{13,13,13,15,22,66,13},{14,13,13,15,37,53,11},{14,13,13,
18,47,40,11},{14,13,13,23,52,29,11},{15,14,13,27,51,23,11},{18,14,13,30,47,19,11},{22,15,13,30,42,17,12},{13,13,13,14,12,34,57},{13,13,13,15,14,50,38},{13,13,13,15,21,58,23},{14,13,13,16,32,54,16},{13,13,13,18,41,45,13},{13,14,13,21,47,36,12},{14,14,13,24,49,28,12},{17,14,13,26,46,24,12},{13,13,13,13,19,0,85},{13,13,13,13,20,12,72},{13,13,13,15,20,30,53},{13,13,13,16,23,44,35},{13,14,12,17,29,47,24},{13,14,13,18,36,44,18},{13,14,13,20,41,38,16},{15,14,14,22,42,33,15}},
【0089】
MipSizeId=2及びmodeId=5である場合、mWeight[x][y]=
{{24,9,10,52,13,10,12},{53,9,10,25,26,6,13},{48,30,9,11,30,7,13},{15,59,12,6,25,13,11},{5,48,34,7,18,19,10},{10,15,62,8,12,20,13},{13,2,70,8,9,19,19},{13,3,62,9,6,16,30},{25,14,10,40,51,0,14},{20,28,11,16,55,5,13},{8,38,18,6,41,20,11},{5,28,34,6,23,31,12},{9,12,48,8,12,33,18},{12,2,53,9,6,30,28},{14,1,50,9,4,23,40},{14,5,42,8,4,15,51},{8,20,12,5,72,12,12},{2,24,19,5,46,35,9},{5,16,29,9,21,48,13},{9,6,36,10,9,45,25},{12,3,37,11,5,36,38},{13,4,34,11,4,25,51},{13,6,29,10,4,16,61},{13,9,26,10,6,11,66},{6,14,15,6,31,60,6},{7,10,22,11,12,64,15},{10,6,26,13,6,50,32},{11,4,27,12,5,33,49},{12,5,25,11,6,20,62},{12,7,22,11,7,13,69},{12,9,19,11,7,8,74},{12,10,19,10,8,7,74},{10,9,16,12,6,67,20},{11,6,20,13,5,46,41},{11,5,21,12,7,26,59},{11,7,19,12,9,14,70},{11,8,18,11,10,8,75},{11,9,16,11,10,5,78},{12,10,15,11,10,4,80},{11,10,15,10,10,4,78},{11,9,15,12,8,34,54},{11,7,17,11,10,16,69},{11,7,17,11,11,7,76},{11,8,16,11,11,4,80},{10,10,14,11,11,3,81},{11,10,13,11,12,2,82},{11,10,13,11,12,2,82},{11,11,13,10,12,3,80},{11,9,14,11,11,8,77},{11,8,14,11,12,3,81},{11,9,14,11,12,1,83},{10,10,13,11,12,2,83},{10,11,12,11,12,2,82},{10,11,12,11,12,3,82},{11,11,11,11,12,3,81},{11,11,11,11,13,5,79},{11,10,13,11,13,2,82},{11,9,13,11,13,1,83},{11,10,12,11,13,2,82},{10,11,12,11,12,3,81},{10,11,12,11,12,4,80},{10,11,11,11,12,5,80},{11,11,11,11,13,5,79},{11,11,11,11,12,6,77}}.
【0090】
マッピングテーブルから上記のパラメータ(即ち、mWeight、sW及びfO)を取得した後、上記のパラメータ及び予測入力値セットを式(1)及び式(2)に入力して、現在のブロックの特定の位置にあるサンプルの予測値を計算して取得できる。
【0091】
現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを取得するために、選択的な1つの実施形態において、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定することは、
現在のブロックのサイズに基づいて、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定することを含む。
【0092】
換言すると、現在のブロックのサイズに応じて、マッピングテーブルから現在のブロックのサイズに対応する現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを取得する。例えば、現在のブロックのサイズが4x4である場合、MipSizeId=0であり、現在のブロックのサイズが4x8、8x4又は8x8である場合、MipSizeId=1であり、現在のブロックのサイズが8x8より大きい場合、MipSizeId=2である。MipSizeIdの値に応じて、マッピングテーブルから現在のブロックのサイズに対応する現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータを見つけることができる。
【0093】
ブロックS507、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得する。
【0094】
ブロックS506で特定の位置にあるサンプルの予測値を確定してから、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得することができる。
【0095】
現在のブロックにおける全てのサンプルの予測値を取得するために、選択的な1つの実施形態において、ブロックS507は、以下の内容を含むことができる。特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得する。
【0096】
ここで、主に特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行うことにより、特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得して、現在のブロックにおける全てのサンプルの予測値を取得することができる。
【0097】
換言すると、本出願の実施形態に係わるエンコーダによって実行されるMIP技術に基づく予測方法は、従来の予測方法の式(1)~(5)と異なり、式(7)のp[0]の計算と式(3)の計算符号が逆になる。従って、式(3)と式(7)の全てのp[x]値は形式上でより統一な効果に達した。即ち、式(3)と式(7)の両方でpTemp[0]が減算され、式(1)の平均補償は直接にpTemp [0]を使用するので、predMip[x][y]の計算式において、pTemp[0] 係数は次のように統一される。
【数8】
【0098】
従来の予測方法の係数は次のとおりである。
y=0である場合:
【数9】
その他の場合:
【数10】
【0099】
MIPのフィルター本質を考慮すると、係数の値は-1~1の範囲にある確率がさらに高い。 従って、係数を
に統一することにより、
の値は正の値になる傾向があり、全体の変動範囲は小さくなる傾向にある。
【0100】
これに基づいて、トレーニングによって取得したMIPマトリックスmWeightfの第一列のパラメーターの値は、元のMIPマトリックスmWeightfの第一列のパラメーターの値を逆にすることによって得られた値になる。このようにして、MIPマトリックスmWeightf全体のパラメーターの値の範囲は、元のMIPマトリックスmWeightfのパラメーターの値の範囲に比べて小さくなり、表現の精度を向上させるのに役立ち、従って予測の精度を向上させる。
【0101】
元のMIPマトリックスmWeightfにおいて、データの第一列が逆になった後の値の範囲の変化について、例えば、表1に示されている、MipSizeIdが0及び1である28個の原始浮動小数点数行列に対して、その第一列を逆にして取得された値の範囲は変更されないか、又は縮小される。以下の表2に示されたように、28個のマトリックスにおいて、11個のマトリックスの値の範囲が縮小され、残りの17個のマトリックスの値の範囲は変更されない。値の範囲が縮小された11個のマトリックスにおいて、現在の既知のトレーニングによって取得された重み付きの表現精度を向上させることができる4つのマトリックスがある。
【表2】
【0102】
見てわかるように、表2は、MipSizeId=0及び1であり、逆にしてから値の範囲が縮小されたマトリックスと、逆にしてから値の範囲が縮小され且つsW値が大きくなるマトリックスのマトリックスIDを示す。
【0103】
以下の表3~表5は具体例である。各テーブルは2つの部分(左側と右側)に分かれている。表3と表5において、左側の部分はmWeightfであり、右側の部分はmWeightf ’である。表4において、左側の部分はmWeightf ’’であり、右側の部分はmWeightである。表3と表5において、第一列はmWeightf[x][0]の値を表し、右側の第一列はmWeightf[x][0]を逆にした後の値を表す。
【0104】
表3及び表4は、同じMIPモードでの本技術を採用した後の変化を表す。mWeightf[x][0]を逆にした後の値の範囲は小さくなり、元のsW値は5から6に変更される。式(6)によって得られたmWeight[x][y]の各値は127以下であり、7ビットの有効表示範囲内にある。表5は、mWeightf[x][0]を逆にした後の値の範囲が変更されない例を表す。
【表3】
【0105】
表3は、MipSizeId=0及びmodeId=3である原始浮動小数点数行列の第一列が逆になっている例を示す(左の部分は元の値を示し、右の部分は逆にされた値を示す)。
【表4】
【0106】
表4は、MipSizeId=0及びmodeId=3であるマトリックスを示している。ここで本出願の技術方案を採用することにより、
右シフトビットはsW=6であり、7ビット表示範囲を超えない。
【表5】
【0107】
表5は、MipSizeId=0及びmodeId=16である原始浮動小数点数行列の第一列が逆になっている例を示す(左の部分は元の値を示し、右の部分は逆にされた値を示す)。
【0108】
表3~表5の実施例から分かるように、本出願の実施形態に係わる予測値の確定方法は、MIPトレーニングによって得られる浮動小数点数行列の値範囲を縮小することができ、固定小数点処理(fixed-point processing)の精度を向上させることができ、従って予測精度を向上させ、最終にエンコード効率を高める。
【0109】
本出願の実施形態は、予測値の確定方法を提供する。この方法はエンコーダーに適用される。本出願の実施形態において、第一定数値を計算し、第一定数値と参照値セットの第一参照値の差は予測入力値セットの第一予測入力値であると確定し、予測入力値セットは現在のブロックの予測値を計算するために用いられ、MIPモードで予測するときの予測入力値の動的値範囲を効果的に縮小することができる。従って、従来の技術と比較して、同じビット数で予測入力値セットとMIPマトリックスを表す場合、ダイナミックレンジのデータをより正確に表すことができ、MIPモードでの予測値計算中の精度が高くなり、符号化効率が向上する。
【0110】
MIPモードの予測精度を高めて、符号化効率を改善するために、本出願の実施形態は予測値の確定方法を提供する。
図6は、本出願の別の実施形態に係わる予測値の確定方法のフローチャートである。
図6に示されたように、この方法はデコーダに適用可能である。この方法は以下の内容を含む。
【0111】
ブロックS601、ビットストリームを解析して、現在のブロックのサイズと現在のブロックのコーディングモードを取得する。
【0112】
具体的には、デコーダは、ビットストリームを受信すると、先ずビットストリームを解析して、現在のブロックのサイズと現在のブロックのコーディングモードを取得する。コーディングモードは、従来のイントラ予測モードのうちの1つであることができ、MIPモードのうちの1つであることもできる。ここで、コーディングモードは主にMIPモードのうちの1つを指す。
【0113】
ブロックS602、現在のブロックのコーディングモードがMIPモードである場合、現在のブロックに隣接するサンプルの再構成値が取得し、隣接するサンプルの再構成値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得する。
【0114】
例えば、現在のブロックのサイズが4x4、4x8、8x4、又は8x8であることができる。現在のブロックのサイズが4x4である場合、コーディングモードはM=35のコーディングモードのうちの1つである。現在のブロックのサイズが4x8、8x4、又は8x8である場合、コーディングモードはM=19のコーディングモードのうちの1つである。現在のブロックが他のサイズである場合、コーディングモードはM=11のコーディングモードのうちの1つである。
【0115】
換言すると、現在のブロックのコーディングモードがMIPモードである場合、デコーダは、先ず現在のブロックに隣接するサンプルの再構成値を取得し、現在のブロックに隣接するサンプルの再構成値は、現在のブロックの頂行のサンプルの再構成値と、現在のブロックの左列のサンプルの再構築値を含む。
【0116】
隣接するサンプルの再構成値を取得した後、例えば、取得された現在のブロックの頂行のサンプルの再構成値はredT(N個の値を含む)であり、取得された現在のブロックの左列のサンプルの再構成値はredL(N個の値を含む)であり、redTとredLは、現在のブロックの参照値セットとする新しいベクトルpTempを構成する。
【0117】
フィルタリング処理を行って現在のブロックの参照値セットを取得するために、選択的な1つの実施形態において、S602において、隣接するサンプルの再構成値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得することは、隣接するサンプルの再構成値をNグループに分割し、各グループの再構築値の平均値を計算し、平均値を参照値セットの参照値とすることを含む。ここで、Nは正の整数である。
【0118】
Nは、予め設定された現在のブロックのサイズに対応する正の整数値に設定される。
【0119】
換言すると、ブロックS602における、隣接するサンプルの再構築値に対してフィルタリング処理を行うことは、具体的には、redTとredLをN個のグループに分割し、各グループの再構成値の平均値を計算してN個の平均値が得られ、N個の平均値を参照値セットの参照値とすることである。
【0120】
例えば、現在のブロックのサイズが4x4である場合、inSize=4であり、現在のブロックのサイズが4x8、8x4又は8x8である場合、inSize=8であり、現在のブロックのサイズが8x8より大きい場合、inSize=7である。
【0121】
ブロックS603、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算する。
【0122】
実際には、現在のブロックのサイズはMipSizeIdで表すことができる。MipSizeIdが2より小さい数である場合、即ち、MipSizeIdが0又は1と等しい場合、第二定数値は、現在のブロック内のサンプルの輝度コンポーネントのビット深度値に基づいて計算する。
【0123】
第二定数値を計算するために、選択的な1つの実施形態において、ブロックS603において、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算することは、
第二定数値は、数値1に対してバイナリビット左シフト演算を実行して得られた値に設定されることを含む。ここで、バイナリビット左シフト演算で使用される左シフトビット数は、ビット深度値から1を引いた値と等しい。
【0124】
具体的には、第二定数値は、数値1に対してビット左シフト演算を実行して得られた値であり、左シフトビット数はビット深度から1を引いたものと等しい。
【0125】
ブロックS604、予測入力値セットの第一予測入力値は、第二定数値と参照値セットの第一参照値の差であると確定する。
【0126】
予測入力値セットは、MIPに基づいて現在のブロックの予測値を計算するために用いられる。
【0127】
第二定数値を取得した後、S604において、第二定数値と参照値セットの第一参照値の差を第一予測入力値として確定することができる。第一予測入力値は、上記の式(7)を採用して計算することによって取得することができる。
【0128】
ブロックS605、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定する。
【0129】
他の予測入力値p[i]は、現在のブロックのサイズが予め設定された閾値よりも小さい場合、第一予測入力値以外の予測入力値を含む。他の予測入力値p[i]は、現在のブロックのサイズが予め設定された閾値以上である場合の予測入力値をさらに含むことができる。 他の予測入力値は、上記の式(8)によって計算して取得できる。
【0130】
ブロックS606、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算する。
【0131】
具体的には、全ての予測入力値が確定された後、予測入力値セットを取得することができる。予測入力値セットに基づいて予測を実行して、現在のブロックの特定の位置にあるサンプルの予測値、例えば、
図3の十字線によって識別される位置にあるサンプルの予測値を取得することができる。
【0132】
現在のブロックの特定の位置にあるサンプルの予測値をを確定するために、選択的な1つの実施形態において、ブロックS606は以下の内容を含む。予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定する。予測入力値セット、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算する。
【0133】
換言すると、1つ又は複数のマッピングテーブルがエンコーダに予め保存されている。 1つ又は複数のマッピングテーブルによって、現在のブロックのMIPマトリックス(mWeit)、現在のブロックのビット右シフトパラメータ(sW)、および現在のブロックの重み付けパラメータ(fO)を確定することができる。
【0134】
マッピングテーブルから上記のパラメータを取得した後、上記のパラメータ及び予測入力値セットを式(1)及び式(2)に入力して、現在のブロックの特定の位置にあるサンプルの予測値を計算して取得できる。
【0135】
現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを取得するために、選択的な1つの実施形態において、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定することは、
現在のブロックのサイズに基づいて、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定することを含む。
【0136】
換言すると、現在のブロックのサイズに応じて、マッピングテーブルから現在のブロックのサイズに対応する現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを取得する。例えば、現在のブロックのサイズが4x4である場合、MipSizeId=0であり、現在のブロックのサイズが4x8、8x4又は8x8である場合、MipSizeId=1であり、現在のブロックのサイズが8x8より大きい場合、MipSizeId=2である。MipSizeIdの値に応じて、マッピングテーブルから現在のブロックのサイズに対応する現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータを見つけることができる。
【0137】
ブロックS607、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得する。
【0138】
ブロックS606で特定の位置にあるサンプルの予測値を確定してから、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得することができる。
【0139】
現在のブロックにおける全てのサンプルの予測値を取得するために、選択的な1つの実施形態において、ブロックS60は、以下の内容を含むことができる。特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得する。
【0140】
ここで、主に特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行うことにより、特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得して、現在のブロックにおける全てのサンプルの予測値を取得することができる。
【0141】
本出願の実施形態は、予測値の確定方法を提供する。この方法はデコーダーに適用される。本出願の実施形態において、第二定数を計算し、第二定数値と参照値セットの第一参照値の差は予測入力値セットの第一予測入力値であると確定し、予測入力値セットは現在のブロックの予測値を計算するために用いられ、MIPモードで予測するときの予測入力値の動的値範囲を効果的に縮小することができる。従って、従来の技術と比較して、同じビット数で予測入力値セットとMIPマトリックスを表す場合、ダイナミックレンジのデータをより正確に表すことができ、MIPモードでの予測値計算中の精度が高くなり、符号化効率が向上する。
【0142】
第二実施例
【0143】
同じ発明の概念に基づいて、本出願の実施形態はエンコーダーを提供する。
図7は、本出願の実施形態に係わるエンコーダーの構造を示す概略図である。
図7に示されたように、エンコーダーは、第一取得モジュール71、第一処理モジュール72、第一計算モジュール73、第一確定モジュール74、第二計算モジュール75、第三計算モジュール76及び第二処理モジュール77を備える。第一取得モジュール71は、現在のブロックに隣接するサンプルの再構成値を取得するために用いられる。第一処理モジュール72は、隣接するサンプルの再構築値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得するために用いられる。第一計算モジュール73は、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算するために用いられる。第一確定モジュール74は、予測入力値セットの第一予測入力値は、第一定数値と参照値セットの第一参照値の差であると確定するために用いられる。第二計算モジュール75は、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定すために用いられる。第三計算モジュール76は、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算するために用いられる。第二処理モジュール77は、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得するために用いられる。
【0144】
選択的な1つの実施形態において、第一処理モジュール72は、具体的に、隣接するサンプルの再構成値をNグループに分割し、各グループの再構築値の平均値を計算し、平均値を参照値セットの参照値とするために用いられ、Nは正の整数である。
【0145】
Nは、予め設定された現在のブロックのサイズに対応する正の整数値に設定される。
【0146】
選択的な1つの実施形態において、第一計算モジュール73は、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算することは、第一定数値は、数値1に対してバイナリビット左シフト演算を実行して得られた値に設定されることを含み、ここで、バイナリビット左シフト演算で使用される左シフトビット数は、ビット深度値から1を引いた値と等しい。
【0147】
選択的な1つの実施形態において、第三計算モジュール76は、具体的に、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定し、予測入力値セット、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算するために用いられる。
【0148】
選択的な1つの実施形態において、第三計算モジュール76は、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定することは、
現在のブロックのサイズに基づいて、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定することを含む。
【0149】
選択的な1つの実施形態において、第二処理モジュール77は、具体的に、特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得するために用いられる。
【0150】
本出願の実施形態はデコーダーを提供する。
図8は、本出願の実施形態に係わるデコーダーの構造を示す概略図である。
図8に示されたように、デコーダーは、第二取得モジュール81、第三処理モジュール82、第四計算モジュール83、第二確定モジュール84、第五計算モジュール85、第六計算モジュール86及び第四処理モジュール87を備える。第二取得モジュール81は、ビットストリームを解析して、現在のブロックのサイズと現在のブロックのコーディングモードを取得するために用いられる。第三処理モジュール82は、現在のブロックのコーディングモードがマトリックスに基づくイントラ予測(MIP)モードである場合、現在のブロックに隣接するサンプルの再構成値を取得し、隣接するサンプルの再構成値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得するために用いられる。第四計算モジュール83は、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算するために用いられる。第二確定モジュール84は、予測入力値セットの第一予測入力値は、第二定数値と参照値セットの第一参照値の差であると確定するために用いられる。第五計算モジュール85は、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定するために用いられる。第六計算モジュール86は、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算するために用いられる。第四処理モジュール87は、特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得するために用いられる。
【0151】
選択的な1つの実施形態において、第三処理モジュール82は、隣接するサンプルの再構成値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得することは、
隣接するサンプルの再構成値をNグループに分割し、各グループの再構築値の平均値を計算し、平均値を参照値セットの参照値とすることを含み、ここで、Nは正の整数である。
【0152】
Nは、予め設定された現在のブロックのサイズに対応する正の整数値に設定される。
【0153】
選択的な1つの実施形態において、第四計算モジュール83は、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第二定数値を計算することは、
第二定数値は、数値1に対してバイナリビット左シフト演算を実行して得られた値に設定されることを含む。ここで、バイナリビット左シフト演算で使用される左シフトビット数は、ビット深度値から1を引いた値と等しい。
【0154】
選択的な1つの実施形態において、第六計算モジュール86は、具体的に、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定し、予測入力値セット、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算するために用いられる。
【0155】
選択的な1つの実施形態において、第六計算モジュール86は、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定することは、
現在のブロックのサイズに基づいて、予め保存された1つ以上のマッピングテーブルから、現在のブロックのMIPマトリックス、現在のブロックのビット右シフトパラメータ及び現在のブロックの重み付けパラメータを確定することを含む。
【0156】
選択的な1つの実施形態において、第四処理モジュール87は、具体的に、特定の位置にあるサンプルの予測値に対して補間フィルタリング処理を行って、現在のブロックにおける特定の位置にあるサンプル以外の他の位置にあるサンプルの予測値を取得するために用いられる。
【0157】
図9は、本出願の別の実施形態に係わるエンコーダーの構造を示す概略図である。
図9に示されたように、本出願の実施形態に係わるエンコーダー900は、プロセッサ91と、プロセッサ91によって実行可能な命令を格納する記憶媒体92と、を備える。記憶媒体92は、通信バス93を介して、プロセッサ91によって操作可能である。命令は、プロセッサ91によって実行されると、上述した1つ又は複数の実施形態に係わる予測値の確定方法を実行する。
【0158】
実際には、エンコーダーの各構成要素は、通信バス93を介して一緒に結合される。通信バス93は、これらの構成要素間の接続通信を実現するために用いられることを理解され得る。通信バス93は、データバスに加えて、電力バス、制御バス及び状態信号バスをさらに含む。説明を明確にするために、
図9において、様々なバスは通信バス93としてマークされている。
【0159】
図10は、本出願の別の実施形態に係わるデコーダーの構造を示す概略図である。
図10に示されたように、本出願の実施形態に係わるデコーダー1000は、プロセッサ101と、プロセッサ101によって実行可能な命令を格納する記憶媒体102と、を備える。記憶媒体102は、通信バス103を介して、プロセッサ101によって操作可能である。命令は、プロセッサ101によって実行されると、上述した1つ又は複数の実施形態に係わる予測値の確定方法を実行する。
ブロックの重み付けパラメータを確定することを含む。
【0160】
実際には、エンコーダーの各構成要素は、通信バス103を介して一緒に結合される。通信バス103は、これらの構成要素間の接続通信を実現するために用いられることを理解され得る。通信バス103は、データバスに加えて、電力バス、制御バス及び状態信号バスをさらに含む。説明を明確にするために、
図10において、様々なバスは通信バス103としてマークされている。
【0161】
本出願の実施形態は、コンピューター可読記憶媒体を提供する。コンピュータ可読記憶媒体は、実行可能命令を格納する。実行可能命令が1つ又は複数のプロセッサによって実行されると、プロセッサは上述した1つ又は複数の実施形態に係わる予測値の確定方法を実行する。
【0162】
本出願の実施形態のメモリは、揮発性メモリ又は不揮発性メモリであることができるか、又は揮発性メモリ及び不揮発性メモリの両方を含むことができる。不揮発性メモリは、読み取り専用メモリ(Read-Only Memory,ROM)、プログラム可能な読み取り専用メモリ(Programmable Read-Only Memory, PROM)、消去可能なプログラム可能な読み取り専用メモリ(Erasable Programmable Read-Only Memory, EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(Electrically Erasable Programmable Read-Only Memory, EEPROM)、フラッシュメモリ(Flash Memory)であることができる。揮発性メモリは、外部高速キャッシュとして機能するランダムアクセスメモリ(Random Access Memory,RAM)であることができる。例示的であるが限定的ではない例として、多い形式のRAMが利用可能であり、例えば、スタティックランダムアクセスメモリ(Static Random Access Memory,SRAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory,DRAM)、同期ダイナミックランダムアクセスメモリ(Synchronous Dynamic Random Access Memory,SDRAM)、ダブルデータレート同期ダイナミックランダムアクセスメモリ(Double Data Rate Synchronous Dynamic Random Access Memory,DDRSDRAM)、拡張同期ダイナミックランダムアクセスメモリ(Enhanced Synchronous Dynamic Random Access Memory,ESDRAM)、同期接続ダイナミックランダムアクセスメモリ(Synch-link Dynamic Random Access Memory,SLDRAM)、ダイレクトランバスランダムアクセスメモリ(Direct Rambus Random Access Memory,DR RAM)である。本明細書に記載されたシステム及び方法のメモリは、これら及び他の任意の適切なタイプのメモリを含むことができるが、これらに限定されない。
【0163】
プロセッサは、信号処理能力を有する集積回路チップであることができる。実施過程において、上述した方法実施例の各ステップは、プロセッサのハードウェア形態の集積論理回路(integrated logic circuit)又はソフトウェア形態の命令によって完成することができる。上述したプロセッサは、汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processor,DSP)、特定用途向け集積回路(Application Specific Integrated Circuit,ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array,FPGA)又は他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントであることができる。プロセッサは、本出願の実施例で開示された方法、ステップ及び論理ブロック図を実現又は実行することができる。汎用プロセッサは、マイクロプロセッサ又は任意の従来のプロセッサなどであることができる。本出願の実施例で開示された方法のステップは、直接にハードウェア復号化プロセッサによって実行及び完成することができるか、又は復号化プロセッサ内のハードウェア及びソフトウェアモジュールの組合せによって実行及び完成することができる。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み取り専用メモリ、プログラム可能な読み取り専用メモリ、又は電気的に消去可能なプログラム可能なメモリ、レジスタなど本技術分野の成熟した記憶媒体内にあることができる。記憶媒体は、メモリ内にある。プロセッサは、メモリ内の情報を読み取り、プロセッサのハードウェアとともに上述したの方法のステップを完成する。
【0164】
本明細書に記載された実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード又はその組合によって実現できることが理解され得る。ハードウェアによって実現する場合、処理ユニットは、1つ又は複数の特定用途向け集積回路(Application Specific Integrated Circuits,ASIC)、デジタル信号処理(Digital Signal Processing,DSP)、DSPデバイス(DSP Device)、プログラマブルロジックデバイス(Programmable Logic Device,PLD)、フィールドプログラマブルゲートアレイ(Field-Programmable Gate Array,FPGA)、汎用プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、その他の電子ユニット又はその組合で実現することができる。
【0165】
ソフトウェアによって実現する場合、本明細書に記載された技術は、本明細書に記載された機能を実行するためのモジュール(例えば、手順、機能など)によって実現することができる。ソフトウェアコードはメモリに格納され且つプロセッサで実行される。メモリは、プロセッサ内又はプロセッサの外部で実現することができる。
【0166】
本明細書において、「備える」、「含む」、又はそれらの変形という用語は、非排他的な包含をカバーすることを意図するので、一連のステップ又はユニットを含むプロセス、方法、オブジェクト又は装置は、リストされたステップ又はユニットだけではなく、リストされていない他のステップ又はユニットを含み、あるいはプロセス、方法、オブジェクト又は装置に固有の他のステップ又はユニットを含むことができる。さらに多い制限がない場合、「…を含む」というステートメントによって限定された要素を含むプロセス、方法、オブジェクト又は装置に他の同じ要素が存在するこをを除外しない。
【0167】
上述した実施形態のシーケンス番号は、実施形態の優劣を表すものではなく、ただ説明するために採用される。
【0168】
上述した実施形態に対する説明によって、当業者は、上述した実施形態の方法は、ソフトウェア及び必要なユニバーサルハードウェアプラットフォームによって実施され得ることを明確に理解することができる。もちろん、ハードウェアのみによって実現することができるが、前者は好ましい実施形態である。このような理解に基づいて、本出願の技術方案の本質的な部分、又は先行技術に寄与する部分は、ソフトウェア製品として具体化され得る。コンピュータソフトウェア製品は、記憶媒体(ROM/RAM、磁気ディスク、又は光ディスクなど)に格納することができ、端末(携帯電話、コンピュータ、サーバー、ネットワークデバイスなど)に本出願の各実施形態の方法を実行させる複数の命令を含む。
【0169】
実際には、デコーダーの各構成要素は、通信バス103を介して一緒に結合される。通信バス103は、これらの構成要素間の接続通信を実現するために用いられることを理解され得る。通信バス103は、データバスに加えて、電力バス、制御バス及び状態信号バスをさらに含む。説明を明確にするために、
図10において、様々なバスは通信バス103としてマークされている。
【0170】
産業上の利用可能性
【0171】
本出願の実施形態は、予測値の確定方法、エンコーダー、デコーダー及びコンピューター記憶媒体を提供する。エンコーダに適用される予測値の確定方法は、現在のブロックに隣接するサンプルの再構成値を取得することと、隣接するサンプルの再構築値に対してフィルタリング処理を行って、現在のブロックの参照値セットを取得することと、現在のブロックのサイズが予め設定された閾値よりも小さい場合、現在のブロックにおけるサンプルの輝度コンポーネントのビット深度値に基づいて、第一定数値を計算することと、予測入力値セットの第一予測入力値は、第一定数値と参照値セットの第一参照値の差であると確定することと、参照値セットに基づいて、予測入力値セットにおける第一予測入力値以外の他の予測入力値を確定することと、予測入力値セットに基づいて、現在のブロックの特定の位置にあるサンプルの予測値を計算することと、特定の位置にあるサンプルの予測値に対してフィルタリング処理を行って、現在のブロックにおける全てのサンプルの予測値を取得することと、を含む。ビデオの符号化と復号化における予測精度を向上させ、それによって符号化及び復号化の効率を向上させることができる。