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

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

▶ 杭州海康威視数字技術股▲ふん▼有限公司の特許一覧

特開2024-63099復号化方法、復号化デバイス、電子デバイス、機械可読記憶媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024063099
(43)【公開日】2024-05-10
(54)【発明の名称】復号化方法、復号化デバイス、電子デバイス、機械可読記憶媒体
(51)【国際特許分類】
   H04N 19/577 20140101AFI20240501BHJP
   H04N 19/109 20140101ALI20240501BHJP
   H04N 19/136 20140101ALI20240501BHJP
   H04N 19/176 20140101ALI20240501BHJP
【FI】
H04N19/577
H04N19/109
H04N19/136
H04N19/176
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2024028586
(22)【出願日】2024-02-28
(62)【分割の表示】P 2022513845の分割
【原出願日】2020-09-16
(31)【優先権主張番号】201910901352.7
(32)【優先日】2019-09-23
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】519061479
【氏名又は名称】杭州海康威視数字技術股▲ふん▼有限公司
【氏名又は名称原語表記】Hangzhou Hikvision Digital Technology Co.,Ltd.
【住所又は居所原語表記】No.555 Qianmo Road,Binjiang District,Hangzhou,Zhejiang 310051,China
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】陳方棟
(57)【要約】      (修正有)
【課題】コーデック方法、装置及びデバイスを提供する。
【解決手段】復号化方法は、現在の画像ブロックが双方向オプティカルフローモードを適用する場合、現在の画像ブロックが満たす適用条件は、現在の画像ブロックの参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであり、且つ、参照ピクチャーが長期参照ピクチャーではないことを含み、現在の画像ブロックは任意の1つの予測ユニットであり、予測ユニットは、4分木分割、水平2分木分割、垂直2分木分割、水平3分木分割、垂直3分木分割の方式のうちのいずれか1つ又は任意の組み合わせによって分割されて得たものであり、現在の画像ブロックが双方向オプティカルフローモードを適用する場合、現在の画像ブロックに対して双方向オプティカルフローモードで復号化を行う過程を含む。
【選択図】図14
【特許請求の範囲】
【請求項1】
現在の画像ブロックが双方向オプティカルフローモードの適用条件を満たすか否かを判断することと、
満たす場合、双方向オプティカルフローモードの適用を許可することと、
満たさない場合、双方向オプティカルフローモードの適用を拒否することと、を含み、
前記現在の画像ブロックが双方向オプティカルフローモードを適用する場合、前記現在の画像ブロックが満たす適用条件は、現在の画像ブロックの参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであり、且つ、前記参照ピクチャーが長期参照ピクチャーではないことを含み、
前記現在の画像ブロックは任意の1つの予測ユニットであり、前記予測ユニットは、4分木分割、水平2分木分割、垂直2分木分割、水平3分木分割、垂直3分木分割の方式のうちのいずれか1つ又は任意の組み合わせによって分割されて得たものであり、
前記現在の画像ブロックが双方向オプティカルフローモードを適用する場合、前記現在の画像ブロックに対して双方向オプティカルフローモードで復号化を行う過程を含み、当該復号化の過程は、
現在の画像ブロックの各画素点の予測値を確定することと、
前記現在の画像ブロックの各画素点の予測値に基づいて、前記現在の画像ブロックの各画素点の勾配値を確定することと、
前記現在の画像ブロックの各画素点のオフセットベクトルを確定することと、
前記現在の画像ブロックの各画素点の勾配値及びオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の予測補償値を確定することと、
前記現在の画像ブロックの各画素点の予測値及び予測補償値に基づいて、前記現在の画像ブロックの各画素点の最終予測値を確定することと、を含む、
ことを特徴とする、復号化方法。
【請求項2】
前記現在の画像ブロックは双方向予測ブロックであり、前記現在の画像ブロックに対して双方向オプティカルフローモードで復号化を行う過程は、
現在の画像ブロックの動き情報に基づいて、現在の画像ブロックの各画素点の前方向と後方向の勾配値をそれぞれ確定することと、
現在の画像ブロックの各画素点の前方向と後方向のオフセットベクトルを確定することと、
現在の画像ブロックの各画素点の前方向と後方向の勾配値、及び現在の画像ブロックの各画素点の前方向と後方向のオフセットベクトルに基づいて、現在の画像ブロックの各画素点の前方向と後方向の予測補償値をそれぞれ確定することと、
現在の画像ブロックの各画素点の前方向と後方向の予測値、及び現在の画像ブロックの各画素点の前方向と後方向の予測補償値に基づいて、現在の画像ブロックの各画素点の前方向と後方向の最終予測値をそれぞれ確定することと、
現在の画像ブロックの各画素点の前方向と後方向の最終予測値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定することと、を含む、
ことを特徴とする、請求項1に記載の方法。
【請求項3】
前記現在の画像ブロックは、複数の4*4のサブブロックを含み、各4*4のサブブロックに対して復号化を行う過程は、
当該4*4のサブブロックにおける各画素点の予測値を確定することと、
当該4*4のサブブロックにおける各画素点の予測値に基づいて、当該4*4のサブブロックにおける各画素点の勾配値、及び当該4*4のサブブロックにおける各画素点のオフセットベクトルを確定することと、
当該4*4のサブブロックにおける各画素点の勾配値、及びオフセットベクトルに基づいて、当該4*4のサブブロックにおける各画素点の予測補償値を確定することと、
当該4*4のサブブロックにおける各画素点の予測値、及び当該4*4のサブブロックにおける各画素点の予測補償値に基づいて、当該4*4のサブブロックの最終予測値を確定することと、を含む、
ことを特徴とする、請求項1又は請求項2に記載の方法。
【請求項4】
現在の画像ブロックの参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なる場合、前記現在の画像ブロックに対して双方向オプティカルフローモードの適用を拒否し、
前記現在の画像ブロックの2つの参照ピクチャーが長期参照ピクチャーである場合、前記現在の画像ブロックに対して双方向オプティカルフローモードの適用を拒否する、
ことを特徴とする、請求項1に記載の方法。
【請求項5】
前記予測ユニットの形状は、長方形又は正方形である、
ことを特徴とする、請求項1に記載の方法。
【請求項6】
プロセッサーと機械可読記憶媒体とを備える復号化デバイスであって、
前記機械可読記憶媒体に前記プロセッサーの実行可能な機械実行可能な命令が記憶されており、
前記プロセッサーが機械実行可能な命令を実行することによって、
現在の画像ブロックが双方向オプティカルフローモードの適用条件を満たすか否かを判断することと、
満たす場合、双方向オプティカルフローモードの適用を許可することと、
満たさない場合、双方向オプティカルフローモードの適用を拒否することと、を実現し、
前記現在の画像ブロックが双方向オプティカルフローモードを適用する場合、前記現在の画像ブロックが満たす適用条件は、現在の画像ブロックの参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであり、且つ、前記参照ピクチャーが長期参照ピクチャーではないことを含み、
前記現在の画像ブロックは任意の1つの予測ユニットであり、前記予測ユニットは、4分木分割、水平2分木分割、垂直2分木分割、水平3分木分割、垂直3分木分割の方式のうちのいずれか1つ又は任意の組み合わせによって分割されて得たものであり、
前記現在の画像ブロックが双方向オプティカルフローモードを適用する場合、前記プロセッサーが機械実行可能な命令を実行することによって、前記現在の画像ブロックに対して双方向オプティカルフローモードで復号化を行うことを実現し、
当該復号化の過程は、
現在の画像ブロックの各画素点の予測値を確定することと、
前記現在の画像ブロックの各画素点の予測値に基づいて、前記現在の画像ブロックの各画素点の勾配値を確定することと、
前記現在の画像ブロックの各画素点のオフセットベクトルを確定することと、
前記現在の画像ブロックの各画素点の勾配値及びオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の予測補償値を確定することと、
前記現在の画像ブロックの各画素点の予測値及び予測補償値に基づいて、前記現在の画像ブロックの各画素点の最終予測値を確定することと、を含む、
ことを特徴とする、復号化デバイス。
【請求項7】
前記現在の画像ブロックは双方向予測ブロックであり、前記現在の画像ブロックに対して双方向オプティカルフローモードで復号化を行う過程は、
現在の画像ブロックの動き情報に基づいて、現在の画像ブロックの各画素点の前方向と後方向の勾配値をそれぞれ確定することと、
現在の画像ブロックの各画素点の前方向と後方向のオフセットベクトルを確定することと、
現在の画像ブロックの各画素点の前方向と後方向の勾配値、及び現在の画像ブロックの各画素点の前方向と後方向のオフセットベクトルに基づいて、現在の画像ブロックの各画素点の前方向と後方向の予測補償値をそれぞれ確定することと、
現在の画像ブロックの各画素点の前方向と後方向の予測値、及び現在の画像ブロックの各画素点の前方向と後方向の予測補償値に基づいて、現在の画像ブロックの各画素点の前方向と後方向の最終予測値をそれぞれ確定することと、
現在の画像ブロックの各画素点の前方向と後方向の最終予測値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定することと、を含む、
ことを特徴とする、請求項6に記載の復号化デバイス。
【請求項8】
前記現在の画像ブロックは、複数の4*4のサブブロックを含み、各4*4のサブブロックに対して復号化を行う過程は、
当該4*4のサブブロックにおける各画素点の予測値を確定することと、
当該4*4のサブブロックにおける各画素点の予測値に基づいて、当該4*4のサブブロックにおける各画素点の勾配値、及び当該4*4のサブブロックにおける各画素点のオフセットベクトルを確定することと、
当該4*4のサブブロックにおける各画素点の勾配値、及びオフセットベクトルに基づいて、当該4*4のサブブロックにおける各画素点の予測補償値を確定することと、
当該4*4のサブブロックにおける各画素点の予測値、及び当該4*4のサブブロックにおける各画素点の予測補償値に基づいて、当該4*4のサブブロックの最終予測値を確定することと、を含む、
ことを特徴とする、請求項6又は7に記載の復号化デバイス。
【請求項9】
現在の画像ブロックの参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なる場合、前記現在の画像ブロックに対して双方向オプティカルフローモードの適用を拒否し、
前記現在の画像ブロックの2つの参照ピクチャーが長期参照ピクチャーである場合、前記現在の画像ブロックに対して双方向オプティカルフローモードの適用を拒否する、
ことを特徴とする、請求項6に記載の復号化デバイス。
【請求項10】
プロセッサーと、プロセッサーが実行可能な命令を記憶するためのメモリと、を備える電子デバイスであって、
前記プロセッサーは、請求項1~請求項5のいずれか1項に記載の復号化方法を実行するように構成される、ことを特徴とする、電子デバイス。
【請求項11】
命令が格納される機械可読記憶媒体であって、
前記命令がプロセッサーによって実行されると、請求項1~請求項5のいずれか1項に記載の復号化方法を実現する、ことを特徴とする、機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願はビデオコーデック技術に関し、特に復号化方法、復号化デバイス、電子デバイス、機械可読記憶媒体に関する。
【背景技術】
【0002】
従来、共同ビデオ・エキスパートチーム(Joint Video Experts Team、略称JVET)会議は、現在の画像ブロックの各サブブロックの最初の動き情報に基づいて各サブブロックの最初の予測値を取得して、各サブブロックの最初の予測値に基づいて各サブブロックの補償値を取得して、さらに、各サブブロックの補償値と最初の予測値に基づいて現在の画像ブロックの最終予測値を取得する予測補償調整方法を提出した。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、実際には、従来の予測補償調整方法が、双方向予測モードを用い、かつ、各サブブロックの動きベクトルが対応するサブブロックの各画素点の動きベクトルといずれも同じである画像ブロックのみに適用でき、サブブロックの動きベクトルと当該サブブロックの画素点の動きベクトルと異なる画像ブロックに対して、予測補償調整を行うことができない。
【課題を解決するための手段】
【0004】
これに鑑みて、本願はコーデック方法、装置及びデバイスを提供する。
【0005】
具体的に、本願は以下のような技術案で実現される。
【0006】
本願の実施例の第1の方面によれば、
現在の画像ブロックの各画素点の予測値を確定することと、
前記現在の画像ブロックの各画素点の予測値に基づいて、前記現在の画像ブロックの各画素点の勾配値を確定することと、
前記現在の画像ブロックの各画素点のオフセットベクトルを確定することと、
前記現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の予測補償値を確定することと、
前記現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、前記現在の画像ブロックの各画素点の最終予測値を確定すること、
を含むコーデック方法を提供する。
【0007】
本願の実施例の第2の方面によれば、
現在の画像ブロックの各画素点の予測値を確定するように構成される第1の確定手段と、前記現在の画像ブロックの各画素点の予測値に基づいて、前記現在の画像ブロックの各画素点の勾配値を確定するように構成される第2の確定手段と、
前記現在の画像ブロックの各画素点のオフセットベクトルを確定するように構成される第3の確定手段と、
前記現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の予測補償値を確定するように構成される第4の確定手段と、前記現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、前記現在の画像ブロックの各画素点の最終予測値を確定するように構成される第5の確定手段と、
を有するコーデック装置を提供する。
【0008】
本願の実施例の第3の方面によれば、
プロセッサーと機械可読記憶媒体とを備える符号化デバイスを提供し、前記機械可読記憶媒体に前記プロセッサーの実行可能な機械実行可能な命令が記憶されており、前記プロセッサーが機械実行可能な命令を実行して、以下のステップを実現するように、構成される。
現在の画像ブロックの各画素点の予測値を確定し、
前記現在の画像ブロックの各画素点の予測値に基づいて、前記現在の画像ブロックの各画素点の勾配値を確定し、
前記現在の画像ブロックの各画素点のオフセットベクトルを確定し、
前記現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の予測補償値を確定し、
前記現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、前記現在の画像ブロックの各画素点の最終予測値を確定する。
【0009】
本願の実施例の第4の方面によれば、
プロセッサーと機械可読記憶媒体とを備える復号化デバイスを提供し、前記機械可読記憶媒体に前記プロセッサーの実行可能な機械実行可能な命令を記憶されており、前記プロセッサーが機械実行可能な命令を実行して、以下のステップを実現するように構成される。現在の画像ブロックの各画素点の予測値を確定し、
前記現在の画像ブロックの各画素点の予測値に基づいて、前記現在の画像ブロックの各画素点の勾配値を確定し、
前記現在の画像ブロックの各画素点のオフセットベクトルを確定し、
前記現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の予測補償値を確定し、
前記現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、前記現在の画像ブロックの各画素点の最終予測値を確定する。
【0010】
本願の実施例のコーデック方法は、現在の画像ブロックの各画素点の予測値を確定した後、現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の予測補償値を確定する。さらに、現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定する。予測補償調整は、双方向予測モードを用いる画像ブロックに限られず、各サブブロックの動きベクトルがいずれもそれに対応するサブブロックの各画素点の動きベクトルと同じである画像ブロックにも限られない。そのため、予測補償調整の適用範囲が広がる。
【図面の簡単な説明】
【0011】
図1A】本願の例示的な実施例に係るブロック分割を示す模式図である。
図1B】本願の例示的な実施例に係るブロック分割を示す模式図である。
図2図2は本願の一例示的な実施例に係る8タップの内挿を示す模式図である。
図3図3は本願の一例示的な実施例に係るコーデック方法のを示すフローチャートである。
図4図4は本願の一例示的な実施例に係るアファイン動きモードの制御点の動きベクトルを示す模式図。
図5A図5Aは本願の一例示的な実施例に係る整数画素ブロックを示す模式図である。
図5B図5Bは本願の一例示的な実施例に係る整数画素点を1行/列充填することを示す模式図である。
図5C図5Cは本願の一例示的な実施例に係る整数画素点を2行/列充填することを示す模式図である。
図5D図5Dは本願の他の一例示的な実施例に係る整数画素点を2行/列充填することを示す模式図である。
図6図6は本願の一例示的な実施例に係るコーデック方法のを示すフローチャートである。
図7A】本願の例示的な実施例に係る整数画素点を1行/列充填することを示す模式図である。
図7B】本願の例示的な実施例に係る整数画素点を1行/列充填することを示す模式図である。
図7C】本願の例示的な実施例に係る整数画素点を1行/列充填することを示す模式図である。
図7D】本願の例示的な実施例に係る整数画素点を1行/列充填することを示す模式図である。
図7E】本願の例示的な実施例に係る整数画素点を1行/列充填することを示す模式図である。
図8図8は本願の一例示的な実施例に係る候補動きベクトルの選択方法を示すフローチャートである。
図9図9は本願の一例示的な実施例に係る候補動きベクトルの選択方法を示すフローチャートである。
図10図10は本願の一例示的な実施例に係る予測モードの選択方法を示すフローチャートである。
図11図11は本願の一例示的な実施例に係る予測モードの選択方法を示すフローチャートである。
図12図12は本願の一例示的な実施例に係るコーデック装置の構成を示す模式図ある。
図13図13は本願の一例示的な実施例に係る符号化デバイスのハードウェア構成を示す模式図ある。
図14図14は本願の一例示的な実施例に係る復号化デバイスのハードウェア構成を示す模式図ある。
【発明を実施するための形態】
【0012】
ここで、例示的な実施例を詳細的に説明し、その例を図面に示す。以下の説明が図面を参照する場合、特別に説明されていない限り、異なる図面における同じ符号は、同じ又は類似する要素を示す。以下の例示的な実施例に記載している実施形態は、本願と一致する全ての実施形態を含まない。逆に、それらは、特許請求の範囲に記載されている、本願の一部と一致する装置及び方法の例にすぎない。
【0013】
本願に用いられる用語は特定の実施例を説明することのみを目的としており、本願に限定する意図はない。本願と特許請求の範囲で使用される「一」や「前記」、「当該」は、その意味が文脈で明示されていない限り、単数形とされる以外、複数形ともされる。
【0014】
当業者が本願の実施例で提供される技術案をより理解できるため、まず、ビデオ符号化標準におけるブロック分割技術、イントラサブブロック分割案、及び本願の実施例に係る一部の技術用語を簡単に説明する。
【0015】
一、ビデオ符号化標準におけるブロック分割技術
【0016】
HEVC(High Efficiency Video Coding)には、1つのコーディングツリーユニット(Coding Tree Unit、略称CTU)は4分木再帰でCU(Coding Unit)に分割される。リーフノードのCUレベルで、イントラ符号化又はインター符号化を使用するかを確定する。CUは、さらに、2つ又は4つの予測ユニット(Prediction Unit、略称PU)に分割され、同一PU内に同じ予測情報が用いられる。予測完了後に残差情報を取得した後、1つのCUは、さらに、4分岐で、複数の変換ユニット(Transform Units、略称TU)に分割される。例えば、本願の現在の画像ブロックは1つのPUである。
【0017】
しかし、最新に提出された汎用的なビデオ符号化(Versatile Video Coding、略称VVC)におけるブロック分割技術は大きく変化した。2分木と3分木と4分木とを混合した分割構成は、元の分割モードをに置き換え、元のCU、PU、TUの概念の区別がなくなり、より柔軟なCU分割方式をサポートする。ここで、CUは、正
方形又は長方形に分割できる。CTUに対しては、まず、4分木分割を行う。そして、4分木分割のリーフノードに対して、さらに2分木と3分木分割を行う。図1Aに示すように、CUは、4分木分割、水平2分木分割、垂直2分木分割、水平3分木分割、垂直3分木分割の5つの分割類型がある。図1Bに示すように、1つのCTU内のCU分割は、上記の5つの分割類型の任意の組み合わせで行うことができる。上記から、異なる分割方法によって、各PUの形状が異なることが分かる。例えば、異なるサイズの正方形、長方形である。
【0018】
二、技術用語
【0019】
予測画素(Prediction Signal)は、既にコーデックした画素から導出された画素値であり、元画素と予測画素との差で残差を取得して、残差変換量子化及び係数符号化を行う。
【0020】
例示的に、インター予測画素とは、現在の画像ブロックの参照ピクチャー(再構成画素)から導出された画素値である。画素位置が離散しているため、内挿演算で最終の予測画素を取得する。予測画素が元画素に近いほど、両者を差し引いて得た残差エネルギーが小さくなり、符号化の圧縮機能を向上させる。
【0021】
動きベクトル(Motion Vector、略称MV)については、インター符号化には、現在の符号化ブロックと、ある参照画像における最適マッチングブロックとの相対変位を、MVで表示する。分割された各ブロック(サブブロックとも呼ばれる)のそれぞれは、復号化側に転送する必要のある相応の動きベクトルがある。各サブブロックのMVをそれぞれ単独的に符号化、転送する場合、特に、小さいサイズに分割されたサブブロックに対して、かなりの量のビットを消費する必要がある。符号化に用いられるビットの量を減らすために、ビデオ符号化に、隣接する画像ブロックの間の空間領域相関性を利用して、隣接する符号化済みブロックのMVによって、現在符号化されるブロックのMVを予測して、予測差を符号化する。このように、MVを表示するビット量を効率的に減らすことができる。これによって、現在の画像ブロックのMVを符号化する処理に、一般的に、隣接する符号化済みブロックのMVにより現在の画像ブロックのMVを予測して、MVの予測値(Motion Vector Prediction、略称MVP)と動きベクトルの真の推定値との差、即ち、動きベクトル残差(MotionVector Difference、略称MVD)を、符号化することによって、MVの符号化のビット量を効率的に減らす。
【0022】
動き情報(Motion Information)は、MVが、現在のブロックとある参照画像における最適マッチングブロックとの相対変位を表示するように構成されるので、画像ブロックを指す情報を正確に取得するために、MV情報に加えて、参照画像のインデックス情報で、どの参照画像が用いられているかを表す必要がある。ビデオ符号化技術には、現在の画像に対して、一般的に、一定の原則に基づいて、参照画像リストを作り、参照画像インデックス情報は、現在の画像ブロックが参照画像リストにおけるどの参照画像を用いているかを表す。また、多くの符号化技術は複数の参照画像リストをサポートするため、さらに、どの参照画像リストが用いられているかを表すインデックス値が必要である。当該インデックス値を参照方向と呼ぶことができる。ビデオ符号化には、MV、参照ピクチャーインデックス、参照方向等の動きに関する符号化情報は、まとめて動き情報と呼ばれる。
【0023】
内挿(Interpolation)は、現在の画素が非整数画素である場合、対応する参照ピクチャーから既存画素値を直接にコピーできないため、所期の画素値は、内挿によってのみ取得される。
【0024】
図2のように、オフセットが1/2画素の画素値Y1/2を取得する必要がある場合、周りの既存画素値Xを内挿することで取得する必要がある。タップ数がNの内挿フィルタを用いると、周りのN個の整数画素を内挿することで取得する必要がある。タップ数が8である場合、

であり、

はフィルタ係数、即ち、重み付け係数である。
【0025】
動き補償(motion compensation)とは、内挿(又はコピー)によって、現在の画像ブロックの全ての予測画素値を取得する処理である。
【0026】
TMVPモード(Temporal Motion Vector Prediction、時間領域動きベクトル予測モード)は、時間領域参照ピクチャーにおける動きベクトルを利用するモードである。
【0027】
BDOFモード(Bi-directional Optical Flow、双方向オプティカルフローモード)は、BIOモードとも呼ばれ、2つの参照ピクチャーの動き補償値に基づいて、オプティカルフロー方法によって動き補償値を調整するモードである。
【0028】
DMVRモード(Decoder-side Motion Vector Refinement、復号器動きベクトル調整モード)は、2つの参照ピクチャーの動き補償値に基づいて、サーチして動きベクトル差を取得するモードである。
【0029】
SMVDモード(Symmetric Motion Vector Difference、対称動きベクトル残差モード)とは、双方向予測モードの一方の方向の動きベクトル差を、他方の方向の動きベクトルとの差により推定して取得することであり、符号化の必要がない。
【0030】
例示的に、一方の方向の動きベクトル差をスケーリングすることで取得でき、スケーリングファクターは2つの参照ピクチャーと現在の画像ブロックが属するピクチャーとの距離に依存する。
【0031】
本願の実施例における上記の目的、特徴、及び利点をより分かりやすくため、図面を参照して、本願の実施例の技術案をさらに詳細的に説明する。
【0032】
なお、本願に記載されている予測補償調整に適用されるコーデック方法は、符号化デバイスに適用されてもよく、復号化デバイスに適用されてもよい。符号化デバイスに適用される場合、本願に記載されている画像ブロックは符号化ブロックを表し、復号化デバイスに適用される場合、本願に記載している画像ブロックは復号ブロックを表し、以降、これについての説明を省略する。
【0033】
図3は本願の実施例に係る予測補償調整に適用されるコーデック方法のフローチャートである。図3に示すように、当該予測補償調整に適用されるコーデック方法は、下記のステップを含む。
【0034】
ステップS300において、現在の画像ブロックの各画素点の予測値を確定する。
【0035】
本願の実施例において、現在の画像ブロックの動き情報に基づいて、現在の画像ブロック
の各画素点の予測値を確定する。
【0036】
例示的に、現在の画像ブロックを複数のサブブロックに分割して、サブブロックに基づいて、各サブブロックの画素点の予測値を確定する。
【0037】
例示的に、サブブロックは4*4のサブブロックであってもよく、又は、8*8のサブブロックであってもよい。
【0038】
例えば、8*8の画像ブロックに対して、4つの4*4のサブブロックに分割し、各4*4のサブブロックの各画素点の予測値をそれぞれ確定する。
【0039】
また例えば、16*16の画像ブロックに対して、4つの8*8のサブブロックに分割し、各8*8のサブブロックの各画素点の予測値をそれぞれ確定する。
【0040】
ステップS310において、現在の画像ブロックの各画素点の予測値に基づいて、現在の画像ブロックの各画素点の勾配値を確定する。
【0041】
ステップS320において、現在の画像ブロックの各画素点のオフセットベクトルを確定する。
【0042】
本願の実施例には、予測補償を実現するために、現在の画像ブロックの各画素点の予測値に基づいて、動き画像ブロックの各画素点の勾配値を確定することができる。
【0043】
また、現在の画像ブロックの各画素点のオフセットベクトルを確定することができる。
【0044】
なお、本願の実施例には、現在の画像ブロックの各画素点の勾配値を確定することと、現在の画像ブロックの各画素点のオフセットベクトルを確定することとの間に、必然のタイミング関係はない。即ち、図3に示すように、現在の画像ブロックの各画素点の勾配値を確定してから、現在の画像ブロックの各画素点のオフセットベクトルを確定してもよく、現在の画像ブロックの各画素点のオフセットベクトルを確定してから、現在の画像ブロックの各画素点の勾配値を確定してもよく、現在の画像ブロックの各画素点の勾配値とオフセットベクトルを並行的に確定してもよい。ここで、これの具体的な実現について、説明を省略する。
【0045】
ステップS330において、現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の予測補償値を確定する。
【0046】
本願の実施例には、現在の画像ブロックの各画素点の勾配値とオフセットベクトルを確定すると、現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の予測補償値を確定することができる。
【0047】
ステップS340において、現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定する。
【0048】
本願の実施例には、現在の画像ブロックの各画素点の予測補償値を確定すると、現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定することができる。
【0049】
図3に示すような方法では、現在の画像ブロックの各画素点の予測値を確定する後、現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、現在の画像ブロッ
クの各画素点の予測補償値を確定する。さらに、現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定する。予測補償調整は、双方向予測モードを用いる画像ブロックに限られることなく、各サブブロックの動きベクトルがいずれもそれに対応するサブブロックの各画素点の動きベクトルと同じである画像ブロックに限られることもない。そのため、予測補償調整の適用範囲が広がる。
【0050】
本願の実施例には、予測補償調整は、双方向予測モードを用いる画像ブロックに限られることなく、即ち、単方向予測モードを用いる画像ブロック又は双方向予測モードを用いる画像ブロックのいずれにも適用できる。
【0051】
可能な実施形態として、現在の画像ブロックが単方向予測モードを用いると、上記のステップS300において、現在の画像ブロックの各画素点の予測値を確定することは、現在の画像ブロックの各画素点の単方向の予測値を確定することを含んでもいい。
【0052】
上記のステップS310において、現在の画像ブロックの各画素点の予測値に基づいて、現在の画像ブロックの各画素点の勾配値を確定することは、現在の画像ブロックの各画素点の単方向の予測値に基づいて、現在の画像ブロックの各画素点の当該方向の勾配値を確定することを含んでもいい。
【0053】
上記のステップS320において、現在の画像ブロックの各画素点のオフセットベクトルを確定することは、現在の画像ブロックの各画素点の当該方向のオフセットベクトルを確定することを含んでもいい。
【0054】
上記のステップS330において、現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の予測補償値を確定することは、現在の画像ブロックの各画素点の当該方向の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の当該方向の予測補償値を確定することを含んでもいい。
【0055】
上記のステップS340において、現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定することは、現在の画像ブロックの各画素点の当該方向の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の当該方向の最終予測値を確定することを含んでもいい。
【0056】
例示的に、現在の画像ブロックが単方向予測モードを用いる場合、現在の画像ブロックの各画素点の予測値を確定すると、現在の画像ブロックの各画素点の単方向の予測値を確定できる。
【0057】
例えば、現在の画像ブロックが前方向予測モードを用いる場合、現在の画像ブロックの各画素点の前方向の予測値を確定でき、現在の画像ブロックが後方向予測モードを用いる場合、現在の画像ブロックの各画素点の後方向の予測値を確定できる。
【0058】
説明と理解を容易にするために、現在の画像ブロックが用いる単方向予測モードが前方向予測モードであることを例示する。
【0059】
現在の画像ブロックの各画素点の前方向の予測値を確定すると、現在の画像ブロックの各画素点の前方向の予測値に基づいて、現在の画像ブロックの各画素点の前方向の勾配値を確定し、かつ、現在の画像ブロックの各画素点の前方向のオフセットベクトルを確定する。
【0060】
さらに、現在の画像ブロックの各画素点の前方向の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の前方向の予測補償値を確定し、現在の画像ブロックの各画素点の前方向の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の前方向の最終予測値を確定する。
【0061】
他の可能な実施形態として、現在の画像ブロックが双方向予測モードを用いると、上記のステップS300において、現在の画像ブロックの各画素点の予測値を確定することは、現在の画像ブロックの各画素点の前方向と後方向の予測値をそれぞれ確定することを含んでもいい。
【0062】
上記のステップS310において、現在の画像ブロックの各画素点の予測値に基づいて、現在の画像ブロックの各画素点の勾配値を確定することは、現在の画像ブロックの各画素点の前方向と後方向方向の予測値に基づいて、現在の画像ブロックの各画素点の前方向と後方向の勾配値をそれぞれ確定することを含んでもいい。
【0063】
上記のステップS320において、現在の画像ブロックの各画素点のオフセットベクトルを確定することは、現在の画像ブロックの各画素点の前方向と後方向のオフセットベクトルをそれぞれ確定することを含んでもいい。
【0064】
上記のステップS330において、現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の予測補償値を確定することは、現在の画像ブロックの各画素点の前方向と後方向の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の前方向と後方向の予測補償値をそれぞれ確定することを含んでもいい。
【0065】
上記のステップS340において、現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定することは、現在の画像ブロックの各画素点の前方向と後方向の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の前方向と後方向の最終予測値をそれぞれ確定し、現在の画像ブロックの各画素点の前方向と後方向の最終予測値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定することを含んでもいい。
【0066】
例示的に、現在の画像ブロックが双方向予測モードを用いる場合、現在の画像ブロックの各画素点の前方向と後方向の予測値と予測補償値をそれぞれ確定することで、現在の画像ブロックの各画素点の前方向と後方向の最終予測値を確定しする必要がある。そして、現在の画像ブロックの各画素点の最終予測値を確定する。
【0067】
例示的に、現在の画像ブロックが双方向予測モードを用いる場合、現在の画像ブロックの各画素点の前方向の最終予測値又は後方向の最終予測値を確定する方法について、現在の画像ブロックが単方向予測を用いる場合の実現方法を参照する。
【0068】
現在の画像ブロックの各画素点の前方向の最終予測値と後方向の最終予測値を確定すると、現在の画像ブロックの各画素点の前方向と後方向の最終予測値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定する。
【0069】
例えば、現在の画像ブロックの各画素点の前方向と後方向の最終予測値を重み付けすることで、現在の画像ブロックの各画素点の最終予測値を取得する。
【0070】
可能な実施形態として、上記のステップS320において、現在の画像ブロックの各画素点のオフセットベクトルを確定することは、
現在の画像ブロックの任意の1つのサブブロックに対して、当該サブブロックにおける指定画素点のオフセットベクトルを確定し、
当該サブブロックにおける指定画素点のオフセットベクトルに基づいて、当該サブブロックにおける残りの画素点のオフセットベクトルを確定する。
【0071】
例示的に、現在の画像ブロックの任意の1つのサブブロックに対して、当該サブブロックにおける各画素点のオフセットベクトルを確定するために、まず、当該サブブロックの任意の1つの画素点(本願で指定画素点と呼ばれる)のオフセットベクトルを確定してから、当該サブブロックの指定画素点のオフセットベクトルに基づいて、当該サブブロックにおける残りの画素点のオフセットベクトルを確定する。
【0072】
実施例として、現在の画像ブロックがアファイン動きモード(Affineモード)を用いることを例示して、上記の指定画素点のオフセットベクトルを確定することは、
当該サブブロックにおける指定画素点と当該サブブロックの中心位置とのオフセット、及びアファインパラメータに基づいて、当該サブブロックにおける指定画素点のベクトルオフセットを確定することを含んでもいい。
【0073】
例示的に、現在の画像ブロックがアファイン動きモードを用いる場合、当該サブブロックにおける指定画素点と当該サブブロックの中心位置とのオフセット、及びアファインパラメータに基づいて、当該サブブロックにおける指定画素点のベクトルオフセットを確定する。
【0074】
一例において、上記の当該サブブロックの指定画素点と当該サブブロックの中心位置とのオフセット、及びアファインパラメータに基づいて、当該サブブロックの前記指定画素点のベクトルオフセットを確定することは、
当該サブブロックにおける指定画素点と当該サブブロックの中心位置の水平方向のオフセット及び当該サブブロックにおける指定画素点と当該サブブロックの中心位置の垂直方向のオフセットと、第1のアファインパラメータ及び第2のアファインパラメータとに基づいて、当該サブブロックにおける指定画素点のベクトルオフセットの水平成分を確定し、当該サブブロックにおける指定画素点と当該サブブロックの中心位置の水平方向のオフセット及び当該サブブロックにおける指定画素点と当該サブブロックの中心位置の垂直方向のオフセットと、第3のアファインパラメータ及び第4のアファインパラメータとに基づいて、当該サブブロックにおける前記指定画素点のベクトルオフセットの垂直成分を確定することを含んでもいい。
【0075】
例示的に、4パラメータのアファインモデルに対して、第1のアファインパラメータが第4のアファインパラメータと同じであり、いずれも第1の数値の当該サブブロックの幅に対する比率であり、第2のアファインパラメータが前記第3のアファインパラメータと反対であり、且つ、第3のアファインパラメータが第2の数値の当該サブブロックの幅に対する比率である。
【0076】
6パラメータのアファインモデルに対して、第1のアファインパラメータが第1の数値の当該サブブロックの幅対する比率であり、第2のアファインパラメータが第3の数値の当該サブブロックの高さ対する比率であり、第3のアファインパラメータが第2の数値の当該サブブロックの幅に対する比率であり、第4のアファインパラメータが第4の数値の当該サブブロックの高さに対する比率である。
【0077】
第1の数値は当該サブブロックの右上の制御点の動きベクトルの水平成分と左上の制御点の動きベクトルの水平成分との差であり、第2の数値は当該サブブロックの右上の制御点の動きベクトルの垂直成分と左上の制御点の動きベクトルの垂直成分との差であり、第3
の数値は当該サブブロックの左下の制御点の動きベクトルの水平成分と左上の制御点の動きベクトルの水平成分との差であり、第4の数値は当該サブブロックの左下の制御点の動きベクトルの垂直成分と左上の制御点の動きベクトルの垂直成分との差である。
【0078】
例えば、図4に示すように、左上の制御点、右上の制御点及び左下の制御点の動きベクトルをそれぞれ(v0x,v0y)、(v1x,v1y)及び(v2x,v2y)に仮定する場合、第1の数値がv1x-v0xであり、第2の数値がv1y-v0yであり、第3の数値がv2x-v0yであり、第4の数値がv2x-v0yであり、4パラメータのアファインモデルと6パラメータのアファインモデルにおける第1のアファインパラメータ~第4のアファインパラメータ(それぞれc~fとする)は、それぞれ、式1と式2のように示される。
【0079】
【数1】
【0080】
【数2】
【0081】
一例において、当該サブブロックにおける指定画素点と当該サブブロックの中心位置とのオフセット、及びアファインパラメータに基づいて、当該サブブロックにおける前記指定画素点のベクトルオフセットを確定することは、以下の式で実現される。
【0082】
【数3】
【0083】
例示的に、Δv(x,y)は当該サブブロックにおける指定画素のオフセットベクトルの水平成分であり、Δv(x,y)は当該サブブロックにおける指定画素のオフセットベクトルの垂直成分であり、(Δx、Δy)は指定画素点と当該サブブロックの中心位置とのオフセットである。
【0084】
一例において、上記の当該サブブロックにおける指定画素点のオフセットベクトルに基づいて、当該サブブロックにおける残りの画素点のオフセットベクトルを確定することは、当該サブブロックにおける指定画素点のオフセットベクトルの水平成分及び第1のアファインパラメータに基づいて、当該サブブロックにおいて指定画素点と同じ行における残りの画素点のオフセットベクトルの水平成分を確定し、
当該サブブロックにおける指定画素点のオフセットベクトルの垂直成分及び第3のアファインパラメータに基づいて、当該サブブロックにおいて指定画素点と同じ行における残りの画素点のオフセットベクトルの垂直成分を確定し、
当該サブブロックにおいて指定画素点が位置する行における任意の1つの画素点に対して、当該画素点のオフセットベクトルの水平成分及び第2のアファインパラメータに基づいて、当該サブブロックにおいて当該画素点と同じ列における残りの画素点のオフセットベクトルの水平成分を確定し、当該画素点のオフセットベクトルの垂直成分及び第4のアファインパラメータに基づいて、当該サブブロックにおいて当該画素点と同じ列における残りの画素点のオフセットベクトルの垂直成分を確定することを含んでもいい。
【0085】
例示的に、現在の画像ブロックがアファイン動きモードを用いる場合、サブブロックにおける指定画素点のオフセットベクトルを確定した後、当該サブブロックのオフセットベクトルと第1のアファインパラメータと第3のアファインパラメータとに基づいて、当該サブブロックにおいて指定画素点と同じ行における残りの画素点のオフセットベクトルをそれぞれ確定する。
【0086】
当該サブブロックにおいて指定画素点が位置する行における各画素点のオフセットベクトルを確定すると、当該サブブロックにおいて指定画素点が位置する行における任意の1つの画素点に対して、当該画素点のオフセットベクトル、第2のアファインパラメータ、及び第4のアファインパラメータに基づいて、当該サブブロックにおいて当該画素点と同じ列における残りの画素点のオフセットベクトルを確定する。
【0087】
例えば、サブブロックの任意の1つの画素点に対して、当該画素点のオフセットベクトルの水平成分は、当該画素点の左側の隣接画素点(存在であれば)のオフセットベクトルの水平成分と第1のアファインパラメータとの和、又は、当該画素点の右側の隣接画素点(存在であれば)のオフセットベクトルの水平成分と第1のアファインパラメータとの差であり、当該画素点のオフセットベクトルの垂直成分は、当該画素点の左側の隣接画素点(存在であれば)のオフセットベクトルの垂直成分と第3のアファインパラメータとの和、又は、当該画素点の右側の隣接画素点(存在であれば)のオフセットベクトルの垂直成分と第3のアファインパラメータとの差である。
【0088】
また、サブブロックの任意の1つの画素点に対して、当該画素点のオフセットベクトルの水平成分は、当該画素点の上方の隣接画素点(存在であれば)のオフセットベクトルの水平成分と第2のアファインパラメータとの和、又は、当該画素点の下方の隣接画素点(存在であれば)のオフセットベクトルの水平成分と第2のアファインパラメータとの差であり、当該画素点のオフセットベクトルの垂直成分は、当該画素点の上方の隣接画素点(存在であれば)のオフセットベクトルの垂直成分と第4のアファインパラメータとの和、又は、当該画素点の下方の隣接画素点(存在であれば)のオフセットベクトルの垂直成分と第4のアファインパラメータとの差である。
【0089】
可能な実施形態として、上記のステップS310において、現在の画像ブロックの各画素点の予測値に基づいて、現在の画像ブロックの各画素点の勾配値を確定することは、
現在の画像ブロックの任意の1つのサブブロックに対して、当該サブブロックの上下左右の縁にはそれぞれN行/列(N行/列とは、N行及びN列の意味である)の整数画素点を充填し、
当該サブブロックの各画素点の予測値、及び充填した整数画素点の画素値に基づいて、当該サブブロックの各画素点の勾配値を確定することを含んでもいい。
【0090】
例示的に、画素点の勾配値の水平成分を確定する時、当該画素点の左側の画素点の画素値及び当該画素点の右側の画素点の画素値を用いる必要があり、画素点の勾配値の垂直成分を確定する時、当該画素点の上方の画素点の画素値及び当該画素点の下方の画素点の画素値を用いる必要がある。しかし、サブブロックの縁の画素点には少なくとも1側の画素点がない。
【0091】
例えば、サブブロックの上縁の画素点に対しては、当該サブブロック内に上方の画素点がない。サブブロックの左縁の画素点に対しては、当該サブブロック内に左側の画素点がない。
【0092】
そのため、サブブロック内の各画素点の勾配値を確定するためには、当該サブブロックの上下左右の縁にはそれぞれN(Nが正整数である)行/列の整数画素点(画素が整数である)を充填する必要があり、当該サブブロックの各画素点の予測値、及び充填した整数画素点の画素値に基づいて、当該サブブロックの各画素点の勾配値を確定する。
【0093】
例示的に、帯域幅の増加を抑えるために、充填する行/列の整数画素点の画素値は参照画素の近隣整数画素点からコピーすることで取得される。
【0094】
一実施例として、上記の当該サブブロックの上下左右の縁にはそれぞれN行/列の整数画素点を充填することは、
参照ピクチャーの当該サブブロックに最も近い同サイズの整数画素ブロックを確定し、
当該整数画素ブロックの周りの最も近接しているN行/列の整数画素点の画素値をそれぞれ当該サブブロックの上下左右の縁の充填値とすることを含んでもいい。
【0095】
例示的に、当該サブブロックの上下左右の縁へのN行/列の整数画素点の充填を実現するために、まず、参照ピクチャーの当該サブブロックに最も近い同サイズの整数画素ブロック(整数画素点からなるブロック)を確定する。
【0096】
例えば、図5Aに示すように、サブブロックが4*4のサブブロックであると、参照ピクチャーの当該サブブロックに最も近い4*4のサブブロックである整数画素ブロックを確定する。
【0097】
参照ピクチャーの当該サブブロックに最も近い同サイズの整数画素ブロックを確定した時、当該整数画素ブロックの周りに隣接するN行/列の整数画素点の画素値をそれぞれ当該サブブロックの上下左右の縁の充填値とすることができる。
【0098】
例えば、N=1とN=2の充填点の模式図は、それぞれ図5B図5Cのように示される。
【0099】
一実施例において、上記の当該サブブロックの上下左右の縁にはそれぞれN行/列の整数画素点を充填することは、
整数画素ブロックの真上、真下、真左、及び真右にそれぞれN行/列の整数画素点を充填することを含んでもいい。
【0100】
例示的に、サブブロックの上下左右の縁にN行/列の整数画素点を充填した後、幅と高さが両方とも元のブロックより2Nだけ増大したブロックを取得することを考慮して、当該ブロックの各画素点の画素値に基づいて、元のサブブロックにおける各画素点の勾配値を計算する時、当該ブロックの外側N層の画素点のうちの各層の画素点の角点は使用されない。
【0101】
したがって、充填の作業量を減らして、充填効率を向上させるためには、サブブロックの上下左右の縁にそれぞれN行/列の整数画素点を充填する時、参照ピクチャーの当該サブブロックに最も近い同サイズの整数画素ブロックの真上、真下、真左、及び真右にそれぞれN行/列の整数画素点を充填することができる。
【0102】
例えば、N=2を例として、最終的に確定した充填点は図5Dのように示される。
【0103】
一実施例として、N=1の時、上記の当該サブブロックの上下左右の縁にそれぞれN行/列の整数画素点を充填することは、
当該サブブロックにおける画素点の予測値のサブ画素垂直成分が半画素より大きい場合、当該サブブロックの上縁に上方の最も近接している整数画素点を充填し、当該サブブロックの下縁に下方の次に近接している整数画素点を充填し、
当該サブブロックにおける画素点の予測値のサブ画素垂直成分が半画素より小さい場合、当該サブブロックの上縁に上方の次に近接している整数画素点を充填し、当該サブブロックの下縁に下方の最も近接している整数画素点を充填し、
当該サブブロックにおける画素点の予測値のサブ画素水平成分が半画素より大きい場合、当該サブブロックの左縁に左側の最も近接している整数画素点を充填し、当該サブブロックの右縁に右側の次に近接している整数画素点を充填し、
当該サブブロックにおける画素点の予測値のサブ画素水平成分が半画素より小さい場合、当該サブブロックの左縁に左側の次に近接している整数画素点を充填し、当該サブブロックの右縁に右側の最も近接している整数画素点を充填することを含んでもいい。
【0104】
例示的に、画素点の勾配値の水平成分を確定することを例示して、画素点の勾配値の水平成分を確定する時、当該画素点の左側の当該画素点との相対変位が1画素である画素点の画素値と、右側の当該画素点との相対変位が1画素である画素点の画素値とを用いる必要がある。また、サブブロックに画素点を充填する時、充填する行/列が整数画素点であるため、サブブロックの画素点の予測値が非整数画素である場合、充填した整数画素点が当該サブブロックの縁の画素点との相対変位が1画素ではない(非整数画素点と整数画素点との相対変位は非整数画素である)。
【0105】
確定した画素点の勾配値の誤差を低減し、確定した画素点の勾配値の正確度を向上させるために、サブブロックの上下左右の縁に1行/列の整数画素点を充填する時、サブブロックの画素点の予測値のサブ画素(即ち、整数画素以外の部分、例えば、画素値が5.4であると、サブ画素が0.4となる)の垂直成分と水平成分が半画素より大きいであるか否かに基づいて、充填する整数画素点の位置を選択する。
【0106】
上縁と下縁の整数画素点の充填を例示する。
【0107】
サブブロックの画素点の予測値のサブ画素の垂直成分を取得し、当該サブ画素の垂直成分を半画素と比べる。
【0108】
例示的に、サブブロックの画素点の予測値のサブ画素は、サブブロックにおける画素点の、予測値が参照ピクチャーに対応する位置のサブ画素である。
【0109】
当該サブ画素の垂直成分が半画素より大きい場合、当該サブブロックの上縁の任意の1つの画素点に対しては、当該画素点の上方の残りの整数画素点に対して、当該画素点の上方の最も近接している整数画素点と当該画素点との相対変位が1画素に最も近いので、当該画素点に上方の最も近接している整数画素点を充填する。
【0110】
当該サブブロックの下縁の任意の1つの画素点に対しては、当該画素点の下方の残りの整数画素点に対して、当該画素点の下方の次に近接している整数画素点と当該画素点との相対変位が1画素に最も近い。
【0111】
例えば、当該サブブロックの下縁のある画素点のサブ画素垂直成分が0.8であると、当該画素点の下方の次に近接している整数画素点と当該画素点との相対変位が1.2となり
、当該画素点の下方の残りの整数画素点と当該画素点との相対変位がいずれも1.2より大きい。明らかに、当該画素点の下方の次に近接している整数画素点と当該画素点との相対変位が1画素に最も近い。
【0112】
したがって、当該画素点に下方の次に近接している整数画素点を充填する。
【0113】
同じく、当該サブブロックにおける画素点の予測値のサブ画素垂直成分が半画素より小さい場合、当該サブブロックの上縁に上方の次に近接している整数画素点を充填し、当該サブブロックの下縁に下方の最も近接している整数画素点を充填し、
当該サブブロックの画素点における予測値のサブ画素水平成分が半画素より大きい場合、当該サブブロックの左縁に左側の最も近接している整数画素点を充填し、当該サブブロックの右縁に右側の次に近接している整数画素点を充填し、
当該サブブロックの画素点における予測値のサブ画素水平成分が半画素より小さい場合、当該サブブロックの左縁に左側の次に近接している整数画素点を充填し、当該サブブロックの右縁に右側の最も近接している整数画素点を充填することを含んでもいい。
【0114】
なお、画素点の予測値のサブ画素水平成分が半画素である場合、画素点の予測値のサブ画素水平成分が半画素より大きい場合のように処理してもよく、又は、画素点の予測値のサブ画素水平成分が半画素より小さい場合のように処理してもいい。
【0115】
同じく、画素点の予測値のサブ画素垂直成分が半画素である場合、画素点の予測値のサブ画素垂直成分が半画素より大きい場合のように処理してもよく、又は、画素点の予測値のサブ画素垂直成分が半画素より小さい場合のように処理してもいい。
【0116】
一例において、上記の当該サブブロックの上下左右の縁にはそれぞれ1行/列の整数画素点を充填することは、
当該サブブロックの上下左右の縁に充填する行/列からなる充填領域における4つの角点以外の整数画素点にに対して充填することを含む。
【0117】
例示的に、サブブロックの上下左右の縁に1行/列の整数画素点を充填した後、幅と高さが両方とも元のブロックより2だけ増大したブロックを取得することを考慮して、当該ブロックの各画素点の画素値に基づいて、元のサブブロックの各画素点の勾配値を計算する時、当該ブロックの4つの角点は用いられない。
【0118】
例えば、元サブブロックが4*4のサブブロックであれば、当該サブブロックの上下左右の縁にそれぞれ1行/列の整数画素点を充填することで、6*6のブロックを取得し、元の4*4のブロックの各画素点の勾配値を計算する時、当該6*6の4つの角点は用いられない。
【0119】
したがって、充填の作業量を軽減し、充填効率を向上させりために、サブブロックの上下左右の縁にはそれぞれ1行/列の整数画素点を充填する時、当該サブブロックの上下左右の縁に充填する行/列からなる充填領域における4つの角点以外の整数画素点にに対して充填することができる。
【0120】
一実施例において、上記の当該サブブロックの各画素点の予測値、及び充填した整数画素点の画素値に基づいて、当該サブブロックの各画素点の勾配値を確定することは、
【0121】
当該サブブロックの任意の1つの画素点に対して、当該画素点の左側のN個の隣接画素点の画素値と右側のN個の隣接画素点の画素値に基づいて、当該画素点の勾配値の水平成分を確定し、当該画素点の上方のN個の隣接画素点の画素値と下方のN個の隣接画素点の画
素値に基づいて、当該画素点の勾配値の垂直成分を確定することを含んでもいい。
【0122】
例示的に、サブブロックの任意の1つの画素点に対して、それぞれに、当該画素点の左側の画素点の画素値と右側の画素点の画素値に基づいて、当該画素点の勾配値の水平成分を確定し、当該画素点の上方の画素点の画素値と下方の画素点の画素値に基づいて、当該画素点の勾配値の垂直成分を確定する。
【0123】
当該サブブロックの縁の画素値に対して、当該画素点の勾配値の水平成分又は/及び垂直成分を確定する時、当該画素点に隣接する充填整数画素点の画素値を用いる必要がある。
【0124】
例えば、当該サブブロックの上縁の画素点に対して、当該画素点の勾配値の垂直成分を確定する時、当該画素点の上方に隣接する充填整数画素点(最も近接している整数画素点、又は、次に近接している整数画素点)の画素値を用いる必要があり、当該サブブロックの左縁の画素点に対して、当該画素点の勾配値の水平成分を確定する時、当該画素点の左側に隣接する充填整数画素点を使用する必要がある。
【0125】
例えば、N=1を例として、サブブロックの任意の1つの画素点に対して、以下の式で当該画素点の勾配値を確定できる。
【0126】
【数4】
【0127】
【数5】
【0128】
例示的に、g(i,j)サブブロックのi列・j行目の画素点の勾配値の水平成分であり、g(i,j)がサブブロックのi列・j行目の画素点の勾配値の垂直成分であり、I(i,j)がサブブロックのi列・j行目の画素点の画素値である。
【0129】
なお、符号化側に対しては、サブブロック内の画素点の画素値が予測値であって、充填する整数画素点の画素値が初期値であり、復号化側に対しては、サブブロック内の画素点の画素値が予測値であって、充填する整数画素点の画素値が再構成値である。
【0130】
本願の実施例が提供する予測補償調整案の効果を確保し、本願の実施例が提供する予測補償調整案の適用できない場合に当案を適用することを避けるために、本願の実施例が提供する予測補償調整案を適用可能な条件(本願には、予測補償調整適用条件と呼ばれる)を予め設定することができる。
【0131】
可能な実施形態として、上記現在の画像ブロックの各画素点の予測値に基づいて、現在の画像ブロックの各画素点の勾配値を確定する前、さらに、
現在の画像ブロックは予測補償調整適用条件を満たすか否かを判断することと、
満たす場合、上記の現在の画像ブロックの各画素点の予測値に基づいて、現在の画像ブロックの各画素点の勾配値を確定することを実行することと、を含む。
一例において、予測補償調整適用条件は現在の画像ブロックが用いる指定予測モードを含み、当該指定予測モードでサブブロックの動きベクトルがサブブロックの各画素点の動きベクトルと完全に同じではない。
【0132】
例示的に、サブブロックの動きベクトルがサブブロックの各画素点の動きベクトルと完全
に同じではない予測モード(本願では、指定予測モードと呼ばれる)の場合を考慮して、従来の予測補償調整案に基づいて予測補償調整することができないのて、予測補償調整適用条件を現在の画像ブロックが指定予測モードを用いることに設定する。
【0133】
現在の画像ブロックの各画素点の予測値を確定した時、現在の画像ブロックの予測モードに基づいて、本願の実施例が提供する予測補償調整案を適用するかを確定する。
【0134】
適用すると、即ち、現在の画像ブロックが指定予測モードを用いる時、上記の実施例のように現在の画像ブロックを予測補償調整する。
【0135】
例示的に、指定予測モードはアファイン動きモードを含む。
【0136】
他の例においては、上記の予測補償調整適用条件は、さらに、現在の予測する成分が輝度成分であることを含み、即ち、指定予測モードを用いる現在の画像ブロックの輝度成分を、本願の実施例が提供する予測補償調整案で予測補償調整する。
【0137】
また他の例においては、上記の予測補償調整適用条件は、さらに、現在の予測する成分が色度成分であることを含み、即ち、指定予測モードを用いる現在の画像ブロックの色度成分を、本願の実施例が提供する予測補償調整案で予測補償調整する。
【0138】
当業者は本願の実施例が提供する技術案をより分かるために、後述で、具体的な実例を参照しながら、本願の実施例が提供する技術案を説明する。
【0139】
実施例1
図6は本願の実施例に係るコーデック方法のフローチャートである。その中、復号処理とAffineモードを用いることを例示して、図6に示すように、当該コーデック方法は、以下のステップを含む。
【0140】
ステップS600において、復号ブロックの各画素点の予測値を確定する。
【0141】
例示的に、復号ブロックを4*4のサブブロックに分割し、各サブブロックをそれぞれ復号することを例示する。
【0142】
任意の1つの4*4のサブブロックに対して、Affineモードに基づいて当該サブブロックの各画素点の予測値を確定する。
【0143】
例示的に、サブブロック内に座標が(i,j)である画素点に対して、その画素値をI(i,j)とする。
【0144】
ステップS610において、当該復号ブロックは予測補償調整適用条件を満たすか否かを判断し、満たす場合、ステップS620に進み、満たさない場合、現在の処理を終了する。
【0145】
例示的に、復号ブロックの各画素点の予測値を確定した後、当該復号ブロックは予測補償調整適用条件を満たすか否かを判断する。
【0146】
当該復号ブロックは予測補償調整適用条件を満たさない場合、本願の実施例が提供する予測補償調整案で予測補償調整しなくてもよい。この時、ステップS600で確定した復号ブロックの各画素点の予測値を各画素点の最終予測値に確定し、又は、他の策略で予測補償調整案を実行してもよく、その具体的な実現を限定しない。
【0147】
ステップS620において、任意の1つのサブブロックに対して、サブブロックの各画素点の予測値に基づいて、当該サブブロックの各画素点の勾配値を確定する。
【0148】
ステップS630において、当該サブブロックの各画素点のオフセットベクトルを確定する。
【0149】
例示的に、当該復号ブロックが予測補償調整適用条件を満たすことを確定した時、任意の1つの4*4のサブブロックに対して、4*4のサブブロックの各画素点の予測値に基づいて、当該4*4のサブブロックの各画素点の勾配値を確定することができる。
【0150】
また、当該4*4のサブブロックの各画素点のオフセットベクトルを確定することができる。
【0151】
ステップS640において、当該サブブロックの各画素点の勾配値とオフセットベクトルに基づいて、当該サブブロックの各画素点の予測補償値を確定する。
【0152】
例示的に、4*4のサブブロックに対して、4*4のサブブロックの各画素点の勾配値とオフセットベクトルを確定すると、現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の予測補償値を確定することができる。
【0153】
ステップS650において、復号ブロックの各画素点の予測値と予測補償値に基づいて、復号ブロックの各画素点の最終予測値を確定する。
【0154】
例示的に、単方向予測モードを用いると、上記のステップS600~S640のように復号ブロックの各画素点の当該方向の予測値と予測補償値を確定でき、さらに、復号ブロックの各画素点の最終予測値を取得する。
【0155】
双方向予測モードを用いると、まず、上記のステップS600~S640のように復号ブロックの各画素点の前方向と後方向の予測値と予測補償値を確定でき、さらに、復号ブロックの各画素点の最終予測値を取得する。
【0156】
実施例2
一例において、上記のステップS600~S650に含まれるコーデック方法プロセスの適用条件は、
現在の画像ブロックがアファイン動きモードを用いることを含む。
【0157】
実施例3
一例において、上記のステップS600~S650に含まれるコーデック方法プロセスの適用条件は、
現在の画像ブロックがアファイン動きモードを用いることと、
現在の予測の成分が輝度成分であることとを含む。
【0158】
実施例4
一例において、上記のステップS600~S650に含まれるコーデック方法プロセスの適用条件は、
現在の画像ブロックがアファイン動きモードを用いることと、
現在の予測の成分が色度成分であることとを含む。
【0159】
実施例5
一例において、前記の任意の1つの実施例の上で、ステップS620において、サブブロックの各画素点の勾配値を確定することは、以下の処理を含む。
【0160】
1、4*4のブロックに対して、上下左右の縁に1行/列の整数画素点をそれぞれ充填して、対応する6*6のブロックを取得する。
例示的に、4*4のブロックの上下左右の縁に充填する整数画素点の画素値は、参照ピクチャーの隣接整数画素点の再構成値から取得される。
【0161】
2、6*6のブロックの各画素点の画素値に基づいて、4*4サブブロックの各画素点の勾配値を計算する。
例示的に、4*4のサブブロックの任意の1つの画素点に対して、式4と式5に基づいて、当該画素点の勾配値(画素点の勾配値の水平成分をmm_gradxとし、画素点の勾配値の垂直成分がmm_gradyとする)を確定できる。
【0162】
実施例6
例示的に、実施例5の上で、4*4のサブブロックに対して、上下左右の縁に1行/列の整数画素点をそれぞれ充填することは、以下の実施形態を含む。
【0163】
一例として、4*4のサブブロックの画素点の予測値のサブ画素の水平成分と垂直成分が半画素より大きいであるか否かに基づいて、4*4のサブブロックの上下左右の縁に充填する整数画素点を選択する。
【0164】
図7A示すように、画素点の予測値のサブ画素の水平成分と垂直成分が両方とも半画素より大きい場合、当該4*4のサブブロックの上縁に上方の最も近接している整数画素点を充填し、当該4*4のサブブロックの下縁に下方の次に近接している整数画素点を充填し、当該4*4のサブブロックの左縁に左側の最も近接している整数画素点を充填し、当該4*4のサブブロックの右縁に右側の次に近接している整数画素点を充填する。
【0165】
図7Bに示すように、画素点の予測値のサブ画素の水平成分と垂直成分が両方とも半画素より小さい場合、当該4*4のサブブロックの上縁に上方の次に近接している整数画素点を充填し、当該4*4のサブブロックの下縁に下方の最も近接している整数画素点を充填し、当該4*4のサブブロックの左縁に左側の次に近接している整数画素点を充填し、当該4*4のサブブロックの右縁に右側の最も近接している整数画素点を充填する。
【0166】
図7Cに示すように、画素点の予測値のサブ画素の水平成分が半画素より大きく、垂直成分が半画素より小さい場合、当該4*4のサブブロックの上縁に上方の次に近接している整数画素点を充填し、当該4*4のサブブロックの下縁に下方の最も近接している整数画素点を充填し、当該4*4のサブブロックの左縁に左側の最も近接している整数画素点を充填し、当該4*4のサブブロックの右縁に右側の次に近接している整数画素点を充填する。
【0167】
図7Dに示すように、画素点の予測値のサブ画素の水平成分が半画素より小さく、垂直成分が半画素より大きい場合、当該4*4のサブブロックの上縁に上方の最も近接している整数画素点を充填し、当該4*4のサブブロックの下縁に下方の次に近接している整数画素点を充填し、当該4*4のサブブロックの左縁に左側の次に近接している整数画素点を充填し、及び、当該4*4のサブブロックの右縁に右側の最も近接している整数画素点を充填する。
【0168】
例示的に、図7A~7Dには、三角形は4*4のサブブロックの各画素点の予測値であり
、円形は参照ピクチャーの整数画素点の再構成値であり、斜線付き円形は選択された、充填するための参照ピクチャーにおける整数画素点の再構成値である。
【0169】
なお、画素点の予測値のサブ画素水平成分が半画素である場合、画素点の予測値のサブ画素水平成分が半画素より大きい場合のように処理してもよく、又は、画素点の予測値のサブ画素水平成分が半画素より小さい場合のように処理してもいい。
【0170】
同じく、画素点の予測値のサブ画素垂直成分が半画素である場合、画素点の予測値のサブ画素垂直成分が半画素より大きい場合のように処理してもよく、又は、画素点の予測値のサブ画素垂直成分が半画素より小さい場合のように処理してもいい。
【0171】
実施例7
一例として、実施例6の上で、充填領域の4つの角点の画素値が用いられないため、4*4のサブブロックの上下左右の縁に1行/列の整数画素点を充填する時、当該4つの角点に対して充填せず、上下左右の各4つの点(合計16個の点)の充填をそれぞれ行う。
【0172】
画素点の予測値のサブ画素の水平成分と垂直成分が両方とも半画素より大きい場合を例示して、4*4のサブブロックの上下左右の縁に1行/列を充填した後の模式図は、図7Eで示される。
【0173】
他の場合に対しても、同様に得られる。
【0174】
実施例8
一例において、前記の任意の1つの実施例の上で、上記のステップS630において、当該サブブロックの各画素点のオフセットベクトルを確定することは、以下の処理を含む。
【0175】
1、アファインパラメータc(即ち、上記の第1のアファインパラメータ)と、d(即ち、上記の第2のアファインパラメータ)と、e(即ち、上記の第3のアファインパラメータ)と、f(即ち、上記の第4のアファインパラメータ)とを計算する。
例示的に、アファインパラメータc、d、e、fを式1と式2で確定できる。
【0176】
2、アファインパラメータc、d、e、fと、4*4のサブブロックの1番目画素点と4*4サブブロックの中心位置とのオフセットとに基づいて、4*4のサブブロックの1番目画素点のオフセットベクトルを確定する。
例示的に、上記の指定画素点が1番目画素点であることを例示する。
【0177】
4*4のサブブロックの1番目画素点の座標、及び4*4のサブブロックの中心位置の座標に基づいて、4*4のサブブロックの1番目画素点と4*4のサブブロックの中心位置とのオフセット((Δx,Δy)と仮定する)を確定する。
【0178】
これにより、4*4のサブブロックの1番目画素点のオフセットベクトルを以下の式で確定できる。
【0179】
【数6】
【0180】
3、4*4のサブブロックの1番目画素点のオフセットベクトルに基づいて、当該4*4のサブブロックの残りの画素点のオフセットベクトルを確定する。
【0181】
例示的に、式6に基づいて4*4のサブブロックの1番目画素点のオフセットベクトルを確定した後、以下の式で4*4のサブブロックの1行目における残りの画素点のオフセットベクトルを確定できる。
【0182】
【数7】
【0183】
例示的に、Δv(w,0)は4*4のサブブロックのw+1列・1行目の画素点のオフセットベクトルの水平成分であり、Δv(w,0)は4*4のサブブロックのw+1列・1行目の画素点のオフセットベクトルの垂直成分であり、1≦w≦3である。式7に基づいて4*4のサブブロックの1行目における画素点のオフセットベクトルを確定した後、以下の式で4*4のサブブロックにおける残りの画素点のオフセットベクトルを確定できる。
【0184】
【数8】
【0185】
例示的に、Δv(w,h)は4*4のサブブロックのw+1列・h+1行目の画素点のオフセットベクトルの水平成分であり、Δv(w,h)は4*4のサブブロックのw+1列・h+1行目の画素点のオフセットベクトルの垂直成分であり、1≦h≦3である。
【0186】
なお、affineモードパラメータと、各サブブロックにおける同じ位置の画素点とサブブロックの中心位置とのオフセットがすべて同じであるため、1つのサブブロックの各画素点のオフセットベクトルを計算した後、復号ブロックにおける残りのサブブロックは当該サブブロックの各画素点のオフセットベクトルを利用できる。
【0187】
実施例9
一例において、実施例9の上で、正確度を確保し、ハードウエアの適合性を向上させるため、アファインパラメータc、d、e、fを計算する時、除算の代わりに「左にシフトしてから右にシフトする」を用いる。
【0188】
cとdに対して、まず左に(MAX_CU_DEPTH-Log2[width])だけシフトしてから、右にMAX_CU_DEPTHだけシフトする。6パラメータのモデルのdとfに対して、まず左に(MAX_CU_DEPTH-Log2[height])だけシフトしてから、右にMAX_CU_DEPTHだけシフトする。
【0189】
例示的に、widthは現在の画像ブロックの幅であり、heightは現在の画像ブロックの高さであり、MAX_CU_DEPTHは最大画像ブロックの幅又は高さの深さであって、デフォルトで7である(即ち、対応する画像ブロックの幅又は高さが128である)。
【0190】
一例において、MAX_CU_DEPTH=7を例として、c、d、e、fを以下の式で確定できる。
【0191】
【数9】
【0192】
【数10】
【0193】
6パラメータのモデルに対しては、以下の式で確定できる。
【0194】
【数11】
【0195】
【数12】
【0196】
例示的に、<<は左にシフトすることを表す。
【0197】
4パラメータのモデルに対して、d=-e、f=cである。
【0198】
実施例10
一例において、オフセットベクトルの正確度を向上させるため、前記の任意の1つの実施例の上で、4*4のサブブロックの各画素点のオフセットベクトルを確定する時、各画素点のオフセットベクトルを拡大できる。
【0199】
例えば、オフセットベクトルを計算する処理で、4*4のサブブロックの各画素点のオフセットベクトルをN1(N1が正整数であり、例えば4や8など)倍に拡大して、さらに、4*4のサブブロックの1番目の画素点のオフセットベクトルを以下の式で確定する。
【0200】
【数13】
【0201】
式13に基づいて4*4のサブブロックの1番目の画素点のオフセットベクトルを確定した後、以下の式で4*4のサブブロックの1行目における残りの画素点のオフセットベクトルを確定できる。
【0202】
【数14】
【0203】
式14に基づいて4*4のサブブロックの1行目における画素点のオフセットベクトルを確定した後、以下の式で4*4のサブブロックにおける残りの画素点のオフセットベクトルを確定できる。
【0204】
【数15】
【0205】
式13~15に基づいて、4*4のサブブロックの各画素点のN1倍に拡大されたオフセットベクトルを確定した後、各画素点のN1倍に拡大されたオフセットベクトルをN2倍に縮小する。
【0206】
例示的に、N2は、N1と同じでもよく、N1と異なってもよい。
【0207】
例えば、N1が4であると、N2が4であってもよく、又は、N2が2であってもよい(即ち、最終的確定されたオフセットベクトルは2倍に拡大されたオフセットベクトルである。)。
【0208】
一例において、以下の式で確定したオフセットベクトルを縮小する。
【0209】
【数16】
【0210】
【数17】
【0211】
【数18】
【0212】
例示的に、mvxがある画素点のオフセットベクトルの水平成分であり、mvyが画素点のオフセットベクトルの垂直成分である。>>は右にシフトすることを表し、<<は左にシフトすることを表す。mvx>=0は、mvxが0以上である場合、mvx=1にし、逆の場合、mvx=0にすることを表す。mvy>=0は、mvyが0の以上である場合、mvy=1にし、逆の場合、mvy=0にすることを表す。
【0213】
例示的に、mvxとmvyを[-(1<<bdlimit),(1<<bdlimit)-1]の範囲に制限する。bdlimitは経験による値である。
【0214】
一例において、bdlimit=max(6,bitdepth-6)である。bitdpthはビット深度であり、即ち、輝度値に必要なビット幅であって、一般的に10又は8である。
【0215】
他の例において、bdlimit=max(5,bitdepth-7)である。
【0216】
実施例11
一例において、実施例8~実施例10の任意の1つの実施例の上で、4*4のサブブロックの1番目の画素点と当該4*4のサブブロックの中心位置のオフセットが(-1.5,-1.5)であると、Δv(0,0)=-1.5c-1.5d、Δv(0,0)=-1.5e-1.5fであり、4倍に拡大されたオフセットベクトルの水平成分と垂直成分はそれぞれ、Δv(0,0)=-6c-6d、Δv(0,0)=-6e-6fである。
【0217】
実施例12
一例において、実施例8~実施例10の任意の1つの実施例の上で、4*4のサブブロックの1番目の画素点と当該4*4のサブブロックの中心位置のオフセットが(-2,-2)であると、Δv(0,0)=-2c-2d、Δv(0,0)=-2e-2fであり、4倍に拡大されたオフセットベクトルの水平成分と垂直成分はそれぞれ、Δv(0,0)=-8c-8d、Δv(0,0)=-8e-8fである。
【0218】
実施例13
一例において、実施例1~実施例7の任意の1つの実施例の上で、サブブロックの各画素点のオフセットベクトルはいずれも以下の式で確定できる。
【0219】
【数19】
【0220】
【数20】
【0221】
例示的に、N3はオフセットベクトルの拡大倍数であり、例えば、4である。posOffsetX=N4*c+N4*d、posOffsetY=N4*e+N4*f、N4が6又は8である。
【0222】
実施例14
【0223】
一例において、前記の任意の1つの実施例の上で、当該サブブロックの各画素点の勾配値及びオフセットベクトルに基づいて、当該サブブロックの各画素点の予測補償値を確定することは、以下の式で実現できる。
【0224】
【数21】
【0225】
例示的に、ΔI(i,j)はサブブロックのi列・j行目の画素点の予測補償値であり、g(i,j)は当該サブブロックのi列・j行目の画素点の勾配値の水平成分であり、g(i,j)は当該サブブロックのi列・j行目の画素点の勾配値の垂直成分であり、Δv(i,j)は当該サブブロックのi列・j行目の画素点のオフセットベクトルの水平成分であり、Δv(i,j)は当該サブブロックのi列・j行目の画素点のオフセットベクトルの垂直成分である。
【0226】
実施例15
一例において、前記の任意の1つの実施例の上で、復号ブロックが単方向予測モードを用いると、単方向(前方向又は後方向)の予測補償調整は、以下の式で実現できる。
【0227】
【数22】
【0228】
【数23】
【0229】
【数24】
【0230】
例示的に、mm_dI2はある画素点の単方向の予測補償値であり、mm_dI3は当該画素点の当該方向の最終予測値であり、mvxは当該画素点の単方向のオフセットベクトルの水平成分であり、mvyは当該画素点の当該方向のオフセットベクトルの垂直成分であり、mm_gradxは当該画素点の当該方向の勾配値の水平成分であり、mm_gradyは当該画素点の当該方向の勾配値の垂直成分であり、mm_srcは当該画素点の当該方向の予測値であり、mm_wは当該画素点の当該方向の重み値であって、単方向予測モードで1である。
【0231】
実施例16
一例において、前記の任意の1つの実施例の上で、復号ブロックが双方向予測モードを用いると、前方向と後方向の予測補償調整をそれぞれ実現して、復号ブロックの予測補償調整を実現する。
【0232】
例示的に、前方向の予測補償調整を以下の式で実現できる。
【0233】
【数25】
【0234】
【数26】
【0235】
【数27】
【0236】
例示的に、mm_dI02はある画素点の前方向の予測補償値であり、mm_dI03は当該画素点の前方向の最終予測値であり、mvx0は当該画素点の前方向のオフセットベクトルの水平成分であり、mvy0は当該画素点の前方向のオフセットベクトルの垂直成分であり、mm_gradx0は当該画素点の前方向の勾配値の水平成分であり、mm_grady0は当該画素点の前方向の勾配値の垂直成分であり、mm_src0は当該画素点の前方向の予測値であり、mm_w0は当該画素点の前方向の重み値である。
【0237】
例示的に、後方向の予測補償調整を以下の式で実現できる。
【0238】
【数28】
【0239】
【数29】
【0240】
【数30】
【0241】
例示的に、mm_dI12はある画素点の後方向の予測補償値であり、mm_dI13は当該画素点の後方向の最終予測値であり、mvx1は当該画素点の後方向のオフセットベクトルの水平成分であり、mvy1は当該画素点の後方向のオフセットベクトルの垂直成分であり、mm_gradx1は当該画素点の後方向の勾配値の水平成分であり、mm_grady1は当該画素点の後方向の勾配値の垂直成分であり、mm_src1は当該画素点の後方向の予測値であり、mm_w1は当該画素点の後方向の重み値である。
【0242】
復号ブロックの各画素点の前方向と後方向の最終予測値に基づいて、重み付け処理(前方向の最終予測値と後方向の最終予測値との和を、前方向の重み値と後方向の重み値との和で除算する)を完了して、復号ブロックの各画素点の最終予測値を取得する。
【0243】
実施例17
図8は本願の実施例に係る候補動きベクトルの選択方法のフローチャートである。図8に示すように、当該候補動きベクトルの選択方法は、下記のステップを含む。
【0244】
ステップS800において、現在の画像ブロックが時間領域参照ピクチャーの使用条件を満たすか否かを判断する。満たす場合、ステップS810に進み、満たさない場合、ステップS820に進む。
【0245】
ステップS810において、現在の画像ブロックの符号化/復号化のために、時間領域参照ピクチャーの動きベクトルを使用することを許可する。
【0246】
ステップS820において、現在の画像ブロックの符号化/復号化のために、時間領域参照ピクチャーの動きベクトルを使用することを拒否する。
【0247】
本願の実施例で、いくつかの特定の状況において、時間領域参照ピクチャーの動きベクトルが最終的に選択される確率が低いであることを考慮して、コーデック性能を向上させるために、時間領域参照ピクチャーの動きベクトルを適用しない場合、時間領域参照ピクチャーの動きベクトルを候補動きベクトルとすることを避けるように、時間領域参照ピクチャーの動きベクトルの使用を許可するか否かについての条件(本願には、時間領域参照ピクチャーの使用条件と呼ばれる)を予めに設定する。
【0248】
それに対応するように、現在の画像ブロックを符号化/復号化する時、現在の画像ブロックが時間領域参照ピクチャーの使用条件を満たすか否かを判断して、現在の画像ブロックの符号化/復号化のために時間領域参照ピクチャーの動きベクトルを使用することを許可するか、又は、現在の画像ブロックの符号化/復号化のために時間領域参照ピクチャーの動きベクトルを使用することを拒否するかを確定することができる。
【0249】
一例において、上記の時間領域参照ピクチャーの使用条件は、
参照ピクチャーのサイズが、現在の画像ブロックが属するピクチャーのサイズと同じであることを含む。
【0250】
例示的に、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なる時、時間領域参照ピクチャーの動きベクトルが最終的に選択されることの確率が低いのを考慮したため、コーデック性能を向上させるために、参照ピクチャーのサイズが現
在の画像ブロックが属するピクチャーのサイズと同じであることを時間領域参照ピクチャーの使用条件とし、即ち、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じである場合、現在の画像ブロックの符号化/復号化のために時間領域参照ピクチャーの動きベクトルを使用することを許可し、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なる場合、現在の画像ブロックの符号化/復号化のために時間領域参照ピクチャーの動きベクトルを使用することを拒否する。
【0251】
他の例において、上記の時間領域参照ピクチャーの使用条件は、さらに、
参照ピクチャーは長期参照ピクチャー(long-term reference picture、LTRP)ではないことを含む。
【0252】
例示的に、長期参照ピクチャーは、現在の画像ブロックが属するピクチャーに近接している参照ピクチャーに対するのもであり、一般的に、長期参照ピクチャーは現在の画像ブロックが属するピクチャーから遠く離れる。
【0253】
例示的に、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであるが、参照ピクチャーが長期ピクチャーである時、時間領域参照ピクチャーの動きベクトルが最終的に選択されることの確率が低いのを考慮するしたことで、参照ピクチャーが長期参照ピクチャーではないことを時間領域参照ピクチャーの使用条件とし、即ち、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであり、且つ、参照ピクチャーが長期参照ピクチャーではない場合、現在の画像ブロックの符号化/復号化のために時間領域参照ピクチャーの動きベクトルを使用することを許可し、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期参照ピクチャーである場合、現在の画像ブロックの符号化/復号化のために時間領域参照ピクチャーの動きベクトルを使用することを拒否する。
【0254】
一可能な実施形態において、上記現在の画像ブロックの符号化/復号化のために、時間領域参照ピクチャーの動きベクトルを使用することを許可した後、さらに、
現在の画像ブロックが時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件を満たすか否かを判断することと、
満たす場合、現在の画像ブロックの符号化/復号化のために、時間領域参照ピクチャーの動きベクトルをスケーリングすることを許可することと、
満たさない場合、現在の画像ブロックの符号化/復号化のために、時間領域参照ピクチャーの動きベクトルをスケーリングすることを拒否することと、を含む。
【0255】
例示的に、いくつかの特定の状況において、スケーリング後の時間領域参照ピクチャーの動きベクトルが最終的に選択される確率が低いであることを考慮したことで、コーデック性能を向上させるために、スケーリング後の時間領域参照ピクチャーの動きベクトルを適用しない場合、スケーリング後の時間領域参照ピクチャーの動きベクトルを候補動きベクトルとすることを避けるように、スケーリング後の時間領域参照ピクチャーの動きベクトルの使用を許可するか否かについての条件(本願には、時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件と呼ばれる)を予めに設定する。
【0256】
一例において、上記時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件は、さらに、
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであること、及び、参照ピクチャーが長期参照ピクチャーではないことを含む。
【0257】
例示的に、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期ピクチャーである時、スケーリング後の時間
領域参照ピクチャーの動きベクトルが最終的に選択されることの確率が低いのを考慮したことで、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであること、及び、参照ピクチャーは長期参照ピクチャーではないことを時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件とする。
【0258】
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであり、且つ、参照ピクチャーが長期参照ピクチャーではない場合、現在の画像ブロックの符号化/復号化のために、スケーリング後の時間領域参照ピクチャーの動きベクトルを使用することを許可し、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期ピクチャーである場合、現在の画像ブロックの符号化/復号化のために、スケーリング後の時間領域参照ピクチャーの動きベクトルを使用することを拒否する。
【0259】
一可能な実施形態において、上記現在の画像ブロックが時間領域参照ピクチャーの使用条件を満たすか否かを判断した後、さらに、
時間領域参照ピクチャーの使用条件を満たす場合、第1類型の予測モードを使用することを許可することと、
時間領域参照ピクチャーの使用条件を満たさない場合、第1類型の予測モード及び第2類型の予測モードを使用することを拒否することと、を含む。
【0260】
一例において、第1類型の予測モードは、時間領域動きベクトルに係るモード、例えば、TMVPモード、BDOFモード、DMVRモード等を含み、第2類型の予測モードは、時間領域動きベクトルのスケーリングに係るモード、例えば、SMVDモードを含む。
【0261】
なお、一例において、時間領域参照ピクチャーの使用条件を満たす場合、さらに、第2類型の予測モードを使用することを許可してもいい。
【0262】
一可能な実施形態において、上記時間領域参照ピクチャーの使用条件を満たすか否かを判断した後、さらに、
時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件を満たす場合、第1類型の予測モード及び第2類型の予測モードの使用を許可することと、
時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件を満たさない場合、第2類型の予測モードの使用を拒否することと、を含む。
【0263】
一例において、時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件を満たさない場合、さらに、第1類型の予測モードを使用することを拒否してもいい。
【0264】
実施例18
図9は本願の実施例に係る候補動きベクトルの選択方法のフローチャートである。図9に示すように、当該候補動きベクトルの選択方法は、下記のステップを含む。
【0265】
ステップS900において、現在の画像ブロックが時間領域参照ピクチャーの動きベクトル拡縮の使用条件を満たすか否かを判断し、満たす場合、ステップS910に進み、満たさない場合、ステップS920に進む。
【0266】
ステップS910において、現在の画像ブロックの符号化/復号化のために、時間領域参照ピクチャーの動きベクトルをスケーリングすることを許可する。
【0267】
ステップS920において、現在の画像ブロックの符号化/復号化のために、時間領域参照ピクチャーの動きベクトルをスケーリングすることを拒否する。
【0268】
本願の実施例には、いくつかの特定の状況において、スケーリング後の時間領域参照ピクチャーの動きベクトルが最終的に選択される確率が低いであることを考慮したことで、コーデック性能を向上させために、スケーリング後の時間領域参照ピクチャーの動きベクトルを適用しない場合、スケーリング後の時間領域参照ピクチャーの動きベクトルを候補動きベクトルとすることを避けるように、スケーリング後の時間領域参照ピクチャーの動きベクトルの使用を許可するか否かについての条件(本願には、時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件と呼ばれる)を予めに設定する。
【0269】
一例において、上記の時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件は、さらに、
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであること、及び、参照ピクチャーが長期参照ピクチャーではないことを含む。
【0270】
例示的に、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期ピクチャーである時、スケーリング後の時間領域参照ピクチャーの動きベクトルが最終的に選択されることの確率が低いであることを考慮したことで、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであること、及び、参照ピクチャーが長期参照ピクチャーではないことを時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件とする。
【0271】
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであり、且つ、参照ピクチャーが長期参照ピクチャーではない場合、現在の画像ブロックの符号化/復号化のために、スケーリング後の時間領域参照ピクチャーの動きベクトルを使用することを許可し、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと違いであり、又は/及び、参照ピクチャーが長期ピクチャーである場合、現在の画像ブロックの符号化/復号化のために、スケーリング後の時間領域参照ピクチャーの動きベクトルを使用することを拒否する。
【0272】
一可能な実施形態において、上記時間領域参照ピクチャーの使用条件を満たすか否かを判断した後、さらに、
時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件を満たす場合、第1類型の予測モード及び第2類型の予測モードを使用することを許可することと、
時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件を満たさない場合、第2類型の予測モードを使用することを拒否することと、を含む。
【0273】
一例において、第1類型の予測モードは、時間領域動きベクトルに係るモード、例えば、TMVPモード、BDOFモード、DMVRモード等を含み、第2類型の予測モードは、時間領域動きベクトルのスケーリングに係るモード、例えば、SMVDモードを含む。
【0274】
一例において、時間領域参照ピクチャーの動きベクトルのスケーリングの使用条件を満たさない場合、さらに、第1類型の予測モードを使用することを拒否してもいい。
【0275】
実施例19
【0276】
図10は本願の実施例に係る予測モードの選択方法のフローチャートである。図10に示すように、当該予測モードの選択方法は、下記のステップを含む。
【0277】
ステップS1000において、現在の画像ブロックが指定予測モードの適用適用条件を満たすか否かを判断する。満たす場合、ステップS1010に進み、満たさない場合、ステ
ップS1020に進む。
【0278】
ステップS1010において、指定予測モードの適用を許可する。
【0279】
ステップS1020において、指定予測モードの適用を拒否する。
【0280】
本願の実施例には、いくつかの特定の状況において、指定予測モードの使用はコーデックの性能を低下させることを考慮したことで、コーデック性能を向上させるために、指定予測モードを適用しない場合、指定予測モードを候補予測モードとすることを避けるように、指定予測モードの適用を許可するか否かについての条件(本願には、指定予測モードの適用適用条件と呼ばれる)を予めに設定する。
【0281】
一可能な実施形態において、上記の指定予測モードは第1類型の予測モードを含む。
【0282】
例示的に、第1類型の予測モードは、時間領域動きベクトルに係るモードを、例えば、TMVPモード、BDOFモード、DMVRモード等を含む。
【0283】
一例において、上記の指定予測モードの適用適用条件は、
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであることを含む。
【0284】
例示的に、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なる場合、第1類型の予測モードの使用はコーデック性能を低下させることを考慮したことで、コーデック性能を向上させるために、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであることを指定予測モードの適用適用条件とし、即ち、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じである場合、指定予測モードの適用を許可し、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なる場合、指定予測モードの適用を拒否する。
【0285】
他の例において、上記の指定予測モードの適用適用条件は、さらに、
参照ピクチャーが長期参照ピクチャーではないことを含む。
【0286】
例示的に、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであるが、参照ピクチャーが長期参照ピクチャーであると、第1類型の予測モードの使用はコーデック性能を低下させることを考慮したことで、参照ピクチャーが長期参照ピクチャーではないことを指定予測モードの適用適用条件とし、即ち、参照ピクチャーのサイズが現在の画像ブロックに属するピクチャーのサイズと同じであり、且つ、参照ピクチャーが長期参照ピクチャーではない場合、指定予測モードの適用を許可し、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期参照ピクチャーである場合、指定予測モードの適用を拒否する。
【0287】
他の可能な実施形態において、上記の指定予測モードは第1類型の予測モード及び第2類型の予測モードを含む。
【0288】
例示的に、第2類型の予測モードは、時間領域動きベクトルをスケーリングすることに係るモード、例えば、SMVDモードを含む。
【0289】
一例において、上記の指定予測モードの適用適用条件は、
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであること、及び、参照ピクチャーが長期参照ピクチャーではないことを含む。
【0290】
例示的に、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期ピクチャーである場合、第1類型の予測モード及び第2類型の予測モードの使用はコーデック性能を低下させることを考慮したことで、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであること、及び、参照ピクチャーが長期参照ピクチャーではないことを指定予測モードの適用適用条件とする。
【0291】
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであり、且つ、参照ピクチャーが長期参照ピクチャーではない場合、指定予測モードの適用を許可し、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期参照ピクチャーである場合、指定予測モードの適用を拒否する。
【0292】
可能な実施形態において、上記の指定予測モードは第2類型の予測モードを含む。
【0293】
一例において、上記の指定予測モードの適用適用条件は、
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであること、及び、参照ピクチャーが長期参照ピクチャーではないことを含む。
【0294】
例示的に、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期ピクチャーである場合、第2類型の予測モードの使用はコーデック性能を低下させることを考慮したことで、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであること、及び、参照ピクチャーが長期参照ピクチャーではないことを指定予測モードの適用適用条件とする。
【0295】
参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと同じであり、且つ、参照ピクチャーが長期参照ピクチャーではない場合、指定予測モードの適用を許可し、参照ピクチャーのサイズが現在の画像ブロックが属するピクチャーのサイズと異なり、又は/及び、参照ピクチャーが長期参照ピクチャーである場合、指定予測モードの適用を拒否する。
【0296】
実施例20
図11は本願の実施例に係る予測モードの選択方法のフローチャートである。図11に示すように、当該予測モードの選択方法は、下記のステップを含む。
【0297】
ステップS1100において、現在の画像ブロックがDMVRモードの適用適用条件を満たすか否かを判断する。満たす場合、ステップS1110に進み、満たさない場合、ステップS1120に進む。
【0298】
ステップS1110において、DMVRモードの適用を許可する。
【0299】
ステップS1120において、DMVRモードの適用を拒否する。
【0300】
本願の実施例には、いくつかの特定の状況において、DMVRモードを使用する場合のコーデック効率が低いことを考慮したことで、コーデック性能を向上させるために、DMVRモードを適用しない場合、DMVRモードを実行することを避けるように、DMVRモードの適用を許可するか否かについての条件(本願には、DMVRモードの適用適用条件と呼ばれる)を予めに設定する。
【0301】
それに対応するように、現在の画像ブロックを復号する時、現在の画像ブロックがDMVRモードの適用適用条件を満たすか否かを判断し、満たす場合、DMVRモードの適用を許可し、満たさない場合、DMVRモードの適用を拒否する。
【0302】
一例において、上記のDMVRモードの適用適用条件は、
現在のモードがregular merge/skipモードであることを含む。
【0303】
例示的に、regular merge/skipモードは、即ち、general なmergeモード及びgeneral skipモードである。general mergeモード又はgeneral skipモードで、候補動き情報リストから1つの動き情報を選択し、当該動き情報に基づいて、現在の画像ブロックの予測値を生成する。
【0304】
当該候補動き情報リストは、空間領域隣接候補動き情報、時間領域隣接候補動き情報、空間領域非隣接候補動き情報、既存の動き情報に基づいて組み合わせて取得する動き情報、又は/及び、デフォルト動き情報等を含む。
【0305】
例示的に、現在の画像ブロックがregular merge/skipモードであることを確定すると、DMVRモードの適用を許可し、逆の場合、DMVRモードの適用を拒否する。
【0306】
他の例において、上記のDMVRモードの適用適用条件は、
シーケンスレベルコントロールDMVRモードのスイッチの値は第1の値であり、ピクチャーヘッダーコントロールDMVRモードのスイッチの値は第2の値であることと、
現在のモードがregular merge/skipモードであること、
現在の画像ブロックが双方向予測モードを用いて、2つの参照ピクチャーのうちの一方の表示順位が現在の画像ブロックが属するピクチャーの前に位置し、他方の表示順位が現在の画像ブロックが属するピクチャーの後に位置し、且つ、2つの参照ピクチャーの現在の画像ブロックが属するピクチャーとの距離が同じであることと、
2つの参照ピクチャーの重みが同じであることと、
現在の画像ブロックのサイズが限定条件を満たすことと、
2つの参照ピクチャーの縦横が現在の画像ブロックが属するピクチャーの縦横とそれぞれ同じであることとを含む。
【0307】
一例において、上記の第1の値は1である。
【0308】
一例において、上記の現在の画像ブロックのサイズが限定条件を満たすことは、現在の画像ブロックの幅が8の以上であり、現在の画像ブロックの高さが8の以上であり、現在の画像ブロックの面積が128の以上であることを含む。
【0309】
本願の実施例には、現在の画像ブロックの各画素点の予測値を確定する後、現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、現在の画像ブロックの各画素点の予測補償値を確定する。さらに、現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、現在の画像ブロックの各画素点の最終予測値を確定する。予測補償調整は、双方向予測モードを用いる画像ブロックに限られず、各サブブロックの動きベクトルがそれに対応するサブブロックの各画素点の動きベクトルといずれも同じである画像ブロックにも限られない。予測補償調整の適用範囲が広がる。
【0310】
以上、本願に係る方法を説明した。後述で、本願に係る装置を説明する。
【0311】
図12は、本願に係るコーデック装置の構成模式図である。図12に示すように、当該コ
ーデック装置は、
現在の画像ブロックの各画素点の予測値を確定するように構成される第1の確定手段1210と、
前記現在の画像ブロックの各画素点の予測値に基づいて、前記現在の画像ブロックの各画素点の勾配値を確定するように構成される第2の確定手段1220と、
前記現在の画像ブロックの各画素点のオフセットベクトルを確定するように構成される第3の確定手段1230と、
前記現在の画像ブロックの各画素点の勾配値とオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の予測補償値を確定するように構成される第4の確定手段1240と、
前記現在の画像ブロックの各画素点の予測値と予測補償値に基づいて、前記現在の画像ブロックの各画素点の最終予測値を確定するように構成される第5の確定手段1250を備える。
【0312】
一可能な実施形態において、前記現在の画像ブロックが単方向予測モードを用いると、
前記第1の確定手段1210は、具体的に、前記現在の画像ブロックの各画素点の単方向の予測値を確定するように構成され、
前記第2の確定手段1220は、具体的に、前記現在の画像ブロックの各画素点の単方向の予測値に基づいて、前記現在の画像ブロックの各画素点の当該方向の勾配値を確定するように構成され、
前記第3の確定手段1230は、具体的に、前記現在の画像ブロックの各画素点の当該方向のオフセットベクトルを確定するように構成され、
前記第4の確定手段1240は、具体的に、前記現在の画像ブロックの各画素点の当該方向の勾配値とオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の当該方向の予測補償値を確定するように構成され、
前記第5の確定手段1250は、具体的に、前記現在の画像ブロックの各画素点の当該方向の予測値と予測補償値に基づいて、前記現在の画像ブロックの各画素点の当該方向の最終予測値を確定するように構成される。
【0313】
一可能な実施形態において、前記現在の画像ブロックが双方向予測モードを用いると、
前記第1の確定手段1210は、具体的に、前記現在の画像ブロックの各画素点の前方向と後方向の予測値をそれぞれ確定するように構成され、
前記第2の確定手段1220は、具体的に、前記現在の画像ブロックの各画素点の前方向と後方向の予測値に基づいて、前記現在の画像ブロックの各画素点の前方向と後方向の勾配値をそれぞれ確定するように構成され、
前記第3の確定手段1230は、具体的に、前記現在の画像ブロックの各画素点の前方向と後方向のオフセットベクトルをそれぞれ確定するように構成され、
前記第4の確定手段1240は、具体的に、前記現在の画像ブロックの各画素点の前方向と後方向の勾配値とオフセットベクトルに基づいて、前記現在の画像ブロックの各画素点の前方向と後方向の予測補償値をそれぞれ確定するように構成され、
前記第5の確定手段1250は、具体的に、前記現在の画像ブロックの各画素点の前方向と後方向の予測値と予測補償値に基づいて、前記現在の画像ブロックの各画素点の前方向と後方向の最終予測値をそれぞれ確定して、前記現在の画像ブロックの各画素点の前方向と後方向の最終予測値に基づいて、前記現在の画像ブロックの各画素点の最終予測値を確定するように構成される。
【0314】
一可能な実施形態において、前記第3の確定手段1230は、具体的に、
前記現在の画像ブロックの任意の1つのサブブロックに対して、当該サブブロックにおける指定画素点のオフセットベクトルを確定し、
当該サブブロックにおける前記指定画素点のオフセットベクトルに基づいて、当該サブブ
ロックにおける残りの画素点のオフセットベクトルを確定するように構成される。
【0315】
可能な実施形態において、前記第3の確定手段1230は、具体的に、当該サブブロックにおける指定画素点と当該サブブロックの中心位置とのオフセット、及びアファインパラメータに基づいて、当該サブブロックの前記指定画素点のベクトルオフセットを確定するように構成される。
【0316】
一可能な実施形態において、前記第3の確定手段1230は、具体的に、
当該サブブロックにおける前記指定画素点と当該サブブロックの中心位置の水平方向のオフセット及び当該サブブロックにおける前記指定画素点と当該サブブロックの中心位置の垂直方向のオフセットと、第1のアファインパラメータ及び第2のアファインパラメータとに基づいて、当該サブブロックの前記指定画素点のベクトルオフセットの水平成分を確定し、
当該サブブロックにおける前記指定画素点と当該サブブロックの中心位置の水平方向のオフセット及び当該サブブロックにおける前記指定画素点と当該サブブロックの中心位置の垂直方向のオフセットと、第3のアファインパラメータ及び第4のアファインパラメータとに基づいて、当該サブブロックの前記指定画素点のベクトルオフセットの垂直成分を確定するように構成される。
【0317】
一可能な実施形態において、4パラメータのアファインモデルに対して、前記第1のアファインパラメータが前記第4のアファインパラメータと同じであり、いずれも第1の数値の当該サブブロックの幅に対する比率であり、前記第2のアファインパラメータが前記第3のアファインパラメータと反対であり、前記第3のアファインパラメータが第2の数値の当該サブブロックの幅に対する比率であり、
前記第1の数値が当該サブブロックの右上の制御点の動きベクトルの水平成分と左上の制御点の動きベクトルの水平成分との差であり、前記第2の数値が当該サブブロックの右上の制御点の動きベクトルの垂直成分と左上の制御点の動きベクトルの垂直成分との差である。
【0318】
一可能な実施形態において、6パラメータのアファインモデルに対して、前記第1のアファインパラメータが前記第1の数値の当該サブブロックの幅に対する比率であり、前記第2のアファインパラメータが第3の数値の当該サブブロックの高さに対する比率であり、前記第3のアファインパラメータが前記第2の数値の当該サブブロックの幅に対する比率であり、前記第4のアファインパラメータが第4の数値の当該サブブロックの高さに対する比率であり、
前記第1の数値が当該サブブロックの右上の制御点の動きベクトルの水平成分と左上の制御点の動きベクトルの水平成分との差であり、前記第2の数値が当該サブブロックの右上の制御点の動きベクトルの垂直成分と左上の制御点の動きベクトルの垂直成分との差であり、前記第3の数値が当該サブブロックの左下の制御点の動きベクトルの水平成分と左上の制御点の動きベクトルの水平成分との差であり、前記第4の数値が当該サブブロックの左下の制御点の動きベクトルの垂直成分と左上の制御点の動きベクトルの垂直成分との差である。
【0319】
一可能な実施形態において、前記第3の確定手段1230は、具体的に、
当該サブブロックにおける前記指定画素点のオフセットベクトルの水平成分及び前記第1のアファインパラメータに基づいて、当該サブブロックにおいて前記指定画素点と同じ行おける残りの画素点のオフセットベクトルの水平成分を確定し、
当該サブブロックおける前記指定画素点のオフセットベクトルの垂直成分及び前記第3のアファインパラメータに基づいて、当該サブブロックにおいて前記指定画素点と同じ行おける残りの画素点のオフセットベクトルの垂直成分を確定し、
当該サブブロックにおいて前記指定画素点が位置する行における任意の1つの画素点に対して、当該画素点のオフセットベクトルの水平成分及び前記第2のアファインパラメータに基づいて、当該サブブロックにおいて当該画素点と同じ列における残りの画素点のオフセットベクトルの水平成分を確定し、当該画素点のオフセットベクトルの垂直成分及び前記第4のアファインパラメータに基づいて、当該サブブロックにおいて当該画素点と同じ列における残りの画素点のオフセットベクトルの垂直成分を確定するように構成される。
【0320】
一可能な実施形態において、前記第2の確定手段1220は、具体的に、前記現在の画像ブロックの任意のサブブロックに対して、当該サブブロックの上下左右の縁にN行/列の整数画素点をそれぞれ充填し、Nが正整数であり、
当該サブブロックの各画素点の予測値、及び充填した整数画素点の画素値に基づいて、当該サブブロックの各画素点の勾配値を確定するように構成される。
【0321】
一可能な実施形態において、前記第2の確定手段1220は、具体的に、
参照ピクチャーにおいて当該サブブロックに最も近い、同サイズの整数画素ブロックを確定し、
当該整数画素ブロックの周りに隣接するN行/列の整数画素点の画素値をそれぞれ当該サブブロックの上下左右の縁の充填値とするように構成される。
【0322】
一可能な実施形態において、前記第2の確定手段1220は、具体的に、
前記整数画素ブロックの真上、真下、真左、及び真右にそれぞれN行/列の整数画素点を充填するように構成される。
【0323】
一可能な実施形態において、N=1の場合、前記第2の確定手段1220は、具体的に、当該サブブロックにおける画素点の予測値のサブ画素垂直成分が半画素より大きい場合、当該サブブロックの上縁に上方の最も近接している整数画素点を充填し、当該サブブロックの下縁に下方の次に近接している整数画素点を充填し、
当該サブブロックにおける画素点の予測値のサブ画素垂直成分が半画素より小さい場合、当該サブブロックの上縁に上方の次に近接している整数画素点を充填し、当該サブブロックの下縁に下方の最も近接している整数画素点を充填し、
当該サブブロックにおける画素点の予測値のサブ画素水平成分が半画素より大きい場合、当該サブブロックの左縁に左側の最も近接している整数画素点を充填し、当該サブブロックの右縁に右側の次に近接している整数画素点を充填し、
当該サブブロックにおける画素点の予測値のサブ画素水平成分が半画素より小さい場合、当該サブブロックの左縁に左側の次に近接している整数画素点を充填し、当該サブブロックの右縁に右側の最も近接している整数画素点を充填するように構成される。
【0324】
一可能な実施形態において、前記第2の確定手段1220は、具体的に、
当該サブブロックの任意の1つの画素点に対して、当該画素点の左側のN個の隣接画素点の画素値と右側のN個の隣接画素点の画素値に基づいて、当該画素点の勾配値の水平成分を確定し、当該画素点の上方のN個の隣接画素点の画素値と下方のN個の隣接画素点の画素値に基づいて、当該画素点の勾配値の垂直成分を確定するように構成される。
【0325】
一可能な実施形態において、前記第2の確定手段1220は、さらに、
前記現在の画像ブロックは予測補償調整適用条件を満たすか否かを判断し、
満たす場合、前記現在の画像ブロックの各画素点の予測値に基づいて、前記現在の画像ブロックの各画素点の勾配値を確定するステップを実行するように構成される。
【0326】
一可能な実施形態において、前記予測補償調整適用条件は前記現在の画像ブロックが指定予測モードを用いること、及び、前記指定予測モードでサブブロックの動きベクトルがサ
ブブロックの各画素点の動きベクトルと完全に相同ではないことを含む。
【0327】
一可能な実施形態において、前記予測補償調整適用条件は、さらに、現在の予測する成分が輝度成分であることを含む。
【0328】
一可能な実施形態において、前記予測補償調整適用条件は、さらに、現在の予測する成分が色度成分であることを含む。
【0329】
一可能な実施形態において、前記指定予測モードはアファイン動きモードを含む。
【0330】
図13は、本願の実施例に係る符号化デバイスのハードウェア構成の模式図である。当該符号化デバイスは、プロセッサー1301と、機械実行可能な命令を記憶している機械可読記憶媒体1302とを備える。プロセッサー1301と機械可読記憶媒体1302は、システムバス1303を介して通信できる。且つ、機械可読記憶媒体1302におけるコーデック制御ロジックに対応する機械実行可能な命令を読み取って実行することによって、プロセッサー1301は前記に説明したコーデック方法を実行することができる。
【0331】
本文に係る機械可読記憶媒体1302は、任意の電子的、磁気的、光学的、又は他の物理的な記憶装置であり、実行可能な命令やデータ等の情報を含み、又は記憶している。例えば、機械可読記憶媒体は、RAM(Radom Access Memory、ランダムアクセスメモリ)、揮発性メモリ、非揮発性メモリ、フラッシュメモリ、ストレージドライブ(例えば、ハードドライブ)、ソリッドステートドライブ、任意のタイプのストレージディスク(例えば、光ディスク、DVD等)であり、又は類似する記憶媒体であり、又はそれらの組み合わせである。
【0332】
図14は、本願の実施例に係る復号化デバイスのハードウェア構成の模式図である。当該復号化デバイスは、プロセッサー1401と、機械実行可能な命令を記憶している機械可読記憶媒体1402とを備える。プロセッサー1401と機械可読記憶媒体1402は、システムバス1403を介して通信できる。且つ、機械可読記憶媒体1402におけるコーデック制御ロジックに対応する機械実行可能な命令を読み取って実行することによって、プロセッサー1401は前記に説明したコーデック方法を実行することができる。
【0333】
本文に係る機械可読記憶媒体1402は、任意の電子的、磁気的、光学的、又は他の物理的な記憶装置であり、実行可能命令やデータ等の情報を含み、又は記憶している。例えば、機械可読記憶媒体は、RAM、揮発性メモリ、非揮発性メモリ、フラッシュメモリ、ストレージドライブ(例えば、ハードドライブ)、ソリッドステートドライブ、任意のタイプのストレージディスク(例えば、光ディスク、DVD等)であり、又は類似の読記憶媒体であり、又はそれらの組み合わせである。
【0334】
なお、本明細書では、第1のや第2の等のような関係用語は、1つの要素又は処理を他の要素又は処理と区別するためのものに過ぎず、必ずしもこれらの要素又は処理の間にこのような実際的な関係又は順序があることを要求又は示唆しない。また、用語「含む」、「備える」又は他の変形は、非排他的に含むことを意味し、そのため、一連の要素を含む処理、方法、物品又は装置はこれらの要素を含むだけでなく、明確に挙げられていない他の要素をさらに含み、又はこのような処理、方法、物品又の固有の要素をさらに含む。特別に限定しない限り、文「1つの…を含む」により限定される要素については、前記要素を含む処理、方法、物品又は装置が他の同一要素をさらに含むことを排除するものではない。
【0335】
以上は本願の好ましい実施例似すぎず、本願を限定するものではない。本願の精神及び原
則を逸脱しない範囲においてなされた如何なる補正、等価置換、改善などは、いずれも本願の請求の範囲に含まれている。
図1A
図1B
図2
図3
図4
図5A
図5B
図5C
図5D
図6
図7A
図7B
図7C
図7D
図7E
図8
図9
図10
図11
図12
図13
図14