(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-12
(54)【発明の名称】画像符号化及び復号方法、装置、及び記憶媒体
(51)【国際特許分類】
H04N 19/11 20140101AFI20241205BHJP
【FI】
H04N19/11
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024541071
(86)(22)【出願日】2023-01-05
(85)【翻訳文提出日】2024-07-08
(86)【国際出願番号】 CN2023070621
(87)【国際公開番号】W WO2023131221
(87)【国際公開日】2023-07-13
(31)【優先権主張番号】202210016199.1
(32)【優先日】2022-01-07
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】508219313
【氏名又は名称】杭州海康威視数字技術股▲フン▼有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】▲陳▼ 方▲棟▼
(72)【発明者】
【氏名】潘 冬萍
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA31
5C159TB08
5C159TC02
(57)【要約】
本発明は画像符号化及び復号方法、装置、及び記憶媒体を開示し、画像符号化及び復号の技術分野に関し、符号化及び復号効率の向上に役立つ。1つの画像復号方法は、ビットストリームを解析して第1のシンタックス要素を得るステップであって、第1のシンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む、ステップと、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを決定するステップであって、該インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む、ステップと、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップと、を含む。
【特許請求の範囲】
【請求項1】
ビットストリームを解析して第1のシンタックス要素を得るステップであって、前記第1のシンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む、ステップと、
前記目標予測モードのインデックスに基づいて、インデックステーブルから前記目標予測モードを決定するステップであって、前記インデックステーブルは、複数の予測モードのインデックスと前記複数の予測モードとの対応関係を含む、ステップと、
少なくとも前記目標予測モードに基づいて、前記復号すべきユニットを再構成して再構成ブロックを得るステップと、を含む、
ことを特徴とする画像復号方法。
【請求項2】
前記複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式、又は二分木方式で生成される、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記複数の予測モードは、オリジナル値モードと他の予測モードとを含み、
前記オリジナル値モードのインデックスのコードワード長は、前記他の予測モードのうちの1つ又は複数の予測モードのインデックスのコードワード長以上である、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記複数の予測モードは、オリジナル値モードと他の予測モードとを含み、前記他の予測モードは、ポイント予測モード、フレーム内予測モード、又はブロックコピーモードのうちの少なくとも1つを含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記ビットストリームを解析することにより第2のシンタックス要素も得られ、前記第2のシンタックス要素は、前記復号すべきユニットの残差符号化モードのインデックスを含み、少なくとも前記目標予測モードに基づいて、前記復号すべきユニットを再構成して再構成ブロックを得るステップは、
前記残差符号化モードのインデックスがスキップ残差符号化モードを指示するために用いられる場合、前記復号すべきユニットを予測して予測ブロックを得、前記予測ブロックを前記再構成ブロックとして決定するステップと、
前記残差符号化モードのインデックスが通常残差符号化モードを指示するために用いられる場合、前記復号すべきユニットの残差量子化関連値を解析して残差ブロックを得、前記目標予測モードと前記残差ブロックとに基づいて、前記復号すべきユニットを再構成して前記再構成ブロックを得るステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記複数の予測モードは、オリジナル値モードと他の予測モードとを含み、前記他の予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、通常残差符号化に基づくブロックコピーモード、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードのうちの少なくとも1つを含む、
ことを特徴とする請求項1に記載の方法。
【請求項7】
少なくとも前記目標予測モードに基づいて、前記復号すべきユニットを再構成して再構成ブロックを得るステップは、
前記目標予測モードが、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードである場合、前記予測ブロックを前記再構成ブロックとして決定するステップと、
前記目標予測モードが、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、又は通常残差符号化に基づくブロックコピーモードである場合、前記復号すべきユニットの残差量子化関連値を解析して前記復号すべきユニットの残差ブロックを得、前記目標予測モードと前記残差ブロックとに基づいて、前記復号すべきユニットを再構成して前記再構成ブロックを得るステップと、を含む、
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記復号すべきユニットは、少なくとも1つの予測グループを含み、
前記少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、
前記いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、前記第1の指定画素領域は、複数の画素グループを含み、前記複数の画素グループは、前記第2の指定画素領域に基づいて分割することにより得られ、前記第1の指定画素領域と前記第2の指定画素領域との予測方式が異なり、前記複数の画素グループを並列に予測することが可能であり、前記画素グループは、1つ又は連続する複数の画素を含む、
ことを特徴とする請求項1に記載の方法。
【請求項9】
前記いずれかの予測グループが同じ行にある連続する複数の画素を含む場合、前記第1の指定画素領域には垂直予測が使用され、前記第2の指定画素領域には水平予測又は垂直平均値予測が使用され、
及び/又は、
前記いずれかの予測グループが同じ列にある連続する複数の画素を含む場合、前記第1の指定画素領域には水平予測が使用され、前記第2の指定画素領域には垂直予測又は水平平均値予測が使用される、
ことを特徴とする請求項8に記載に方法。
【請求項10】
異なる画素グループに含まれる画素の数の差が閾値以下である、
ことを特徴とする請求項8又は9に記載の方法。
【請求項11】
前記復号すべきユニットに参照ブロックが存在しない場合、前記復号すべきユニットの1番目の画素の再構成値は、前記復号すべきユニットのビット幅を1ビット左にシフトすることにより得られる値である、
ことを特徴とする請求項8又は9に記載の方法。
【請求項12】
前記復号すべきユニットは、少なくとも1つの予測グループを含み、
前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含み、
少なくとも前記目標予測モードに基づいて、前記復号すべきユニットを再構成して再構成ブロックを得るステップは、前記目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するステップを含み、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記再構成ブロックは、前記目標画素の再構成値を含む、
ことを特徴とする請求項1~9のいずれか1項に記載の方法。
【請求項13】
前記最初の画素には第1の予測方式が使用され、前記非最初の画素には第2の予測方式が使用され、前記目標予測モードは、前記第1の予測方式と前記第2の予測方式とを含み、前記目標予測モードが予め設定された条件を満たすことは、
前記第1の予測方式と前記第2の予測方式とはいずれも水平予測であること、
又は、前記第1の予測方式と前記第2の予測方式とはいずれも垂直予測であること、
又は、前記第1の予測方式と前記第2の予測方式との一方は水平予測であり、他方は垂直予測であること、
又は、前記第1の予測方式は、前記復号すべきユニットに隣接する復号ユニットの画素値、又は前記復号すべきユニットが位置する独立復号ユニットに隣接する独立復号ユニットの画素値を用いて参照予測を行う方式であり、前記第2の予測方式は、水平予測又は垂直予測であることを含む、
ことを特徴とする請求項12に記載の方法。
【請求項14】
符号化すべきユニットの目標予測モードを決定するステップと、
前記目標予測モードに基づいて、インデックステーブルから前記目標予測モードのインデックスを決定するステップであって、前記インデックステーブルは、複数の予測モードのインデックスと前記複数の予測モードとの対応関係を含む、ステップと、
前記目標予測モードのインデックスをビットストリームに符号化するステップと、を含む、
ことを特徴とする画像符号化方法。
【請求項15】
前記複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式、又は二分木方式で生成される、
ことを特徴とする請求項14に記載の方法。
【請求項16】
前記複数の予測モードは、オリジナル値モードと他の予測モードとを含み、
前記オリジナル値モードのインデックスのコードワード長は、前記他の予測モードのうちの1つ又は複数の予測モードのインデックスのコードワード長以上である、
ことを特徴とする請求項14又は15に記載の方法。
【請求項17】
前記複数の予測モードは、オリジナル値モードと他の予測モードとを含み、
前記他の予測モードは、ポイント予測モード、フレーム内予測モード、又はブロックコピーモードのうちの少なくとも1つを含み、
又は、前記他の予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、通常残差符号化に基づくブロックコピーモード、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードのうちの少なくとも1つを含む、
ことを特徴とする請求項14又は15に記載の方法。
【請求項18】
現在の画像ブロックの残差符号化モードを決定するステップと、
前記残差符号化モードがスキップ残差符号化モードである場合、前記現在の画像ブロックを予測して予測ブロックを得、前記予測ブロックを前記現在の画像ブロックの再構成ブロックとして決定するステップと、
前記残差符号化モードが通常残差符号化モードである場合、前記現在の画像ブロックの残差量子化関連値を取得して残差ブロックを得、前記残差ブロックに基づいて、前記現在の画像ブロックを再構成して前記現在の画像ブロックの再構成ブロックを得るステップと、を含む、
ことを特徴とする画像符号化方法。
【請求項19】
現在の画像ブロックの目標予測モードを決定するステップと、
前記目標予測モードがスキップ残差符号化に基づく予測モードである場合、前記現在の画像ブロックを予測して予測ブロックを得、前記予測ブロックを前記現在の画像ブロックの再構成ブロックとして決定するステップと、
前記目標予測モードが通常残差符号化に基づく予測モードである場合、前記現在の画像ブロックの残差量子化関連値を取得して前記現在の画像ブロックの残差ブロックを得、前記目標予測モードと前記残差ブロックとに基づいて、前記現在の画像ブロックを再構成して前記再構成ブロックを得るステップと、を含む、
ことを特徴とする画像符号化方法。
【請求項20】
前記スキップ残差符号化に基づく予測モードは、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードを含み、
及び/又は、
前記通常残差符号化に基づく予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、又は通常残差符号化に基づくブロックコピーモードを含む、
ことを特徴とする請求項19に記載の方法。
【請求項21】
現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定するステップであって、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、前記いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、前記第1の指定画素領域は、複数の画素グループを含み、前記複数の画素グループは、前記第2の指定画素領域に基づいて分割することにより得られ、前記第1の指定画素領域と前記第2の指定画素領域との予測方式が異なり、前記複数の画素グループを並列に予測することが可能であり、前記画素グループは、1つ又は連続する複数の画素を含む、ステップと、
前記少なくとも1つの予測グループの予測モードに基づいて、前記現在の画像ブロックを再構成して再構成ブロックを得るステップと、を含む、
ことを特徴とする画像符号化及び復号方法。
【請求項22】
前記いずれかの予測グループが同じ行にある連続する複数の画素を含む場合、前記第1の指定画素領域には垂直予測が使用され、前記第2の指定画素領域には水平予測又は垂直平均値予測が使用され、
及び/又は、
前記いずれかの予測グループが同じ列にある連続する複数の画素を含む場合、前記第1の指定画素領域には水平予測が使用され、前記第2の指定画素領域には垂直予測又は水平平均値予測が使用される、
ことを特徴とする請求項21に記載に方法。
【請求項23】
異なる画素グループに含まれる画素の数の差が閾値以下である、
ことを特徴とする請求項21又は22に記載の方法。
【請求項24】
前記現在の画像ブロックに参照ブロックが存在しない場合、前記現在の画像ブロックの1番目の画素の再構成値は、前記現在の画像ブロックのビット幅を1ビット左にシフトすることにより得られる値である、
ことを特徴とする請求項21又は22に記載の方法。
【請求項25】
現在の画像ブロックの目標予測モードを決定するステップであって、前記現在の画像ブロックは、少なくとも1つの予測グループを含み、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む、ステップと、
前記目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するステップであって、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記現在の画像ブロックの再構成ブロックは、前記目標画素の再構成値を含む、ステップと、を含む、
ことを特徴とする画像符号化及び復号方法。
【請求項26】
前記最初の画素には第1の予測方式が使用され、前記非最初の画素には第2の予測方式が使用され、前記目標予測モードは、前記第1の予測方式と前記第2の予測方式とを含み、前記目標予測モードが予め設定された条件を満たすことは、
前記第1の予測方式と前記第2の予測方式とはいずれも水平予測であること、
又は、前記第1の予測方式と前記第2の予測方式とはいずれも垂直予測であること、
又は、前記第1の予測方式と前記第2の予測方式との一方は水平予測であり、他方は垂直予測であること、
又は、前記第1の予測方式は、前記現在の画像ブロックに隣接するコーディングユニット、又は前記現在の画像ブロックが位置する独立コーディングユニットに隣接する独立コーディングユニットの画素値を用いて参照予測を行う方式であり、前記第2の予測方式は、水平予測又は垂直予測であることを含む、
ことを特徴とする請求項25に記載の方法。
【請求項27】
ビットストリームを解析して第1のシンタックス要素を得るためのビットストリーム解析ユニットであって、前記第1のシンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む、ビットストリーム解析ユニットと、
前記目標予測モードのインデックスに基づいて、インデックステーブルから前記目標予測モードを決定するための決定ユニットであって、前記インデックステーブルは、複数の予測モードのインデックスと前記複数の予測モードとの対応関係を含む、決定ユニットと、
少なくとも前記目標予測モードに基づいて、前記復号すべきユニットを再構成して再構成ブロックを得るための再構成ユニットと、を含む、
ことを特徴とする画像復号装置。
【請求項28】
符号化すべきユニットの目標予測モードを決定し、前記目標予測モードに基づいて、インデックステーブルから前記目標予測モードのインデックスを決定するための予測ユニットであって、前記インデックステーブルは、複数の予測モードのインデックスと前記複数の予測モードとの対応関係を含む、予測ユニットと、
前記目標予測モードのインデックスをビットストリームに符号化するための符号化ユニットと、を含む、
ことを特徴とする画像符号化装置。
【請求項29】
決定ユニットと、予測ユニットと、再構成ユニットと、を含む画像符号化/復号装置であって、
前記決定ユニットは、現在の画像ブロックの残差符号化モードを決定するために用いられ、
前記残差符号化モードがスキップ残差符号化モードである場合、前記予測ユニットは、前記現在の画像ブロックを予測して予測ブロックを得るために用いられ、前記再構成ユニットは、前記予測ブロックを前記現在の画像ブロックの再構成ブロックとして決定するために用いられ、
前記残差符号化モードが通常残差符号化モードである場合、前記決定ユニットは、さらに、前記現在の画像ブロックの残差量子化関連値を取得して残差ブロックを得るために用いられ、前記再構成ユニットは、前記残差ブロックに基づいて、前記現在の画像ブロックを再構成して前記現在の画像ブロックの再構成ブロックを得るために用いられる、
ことを特徴とする画像符号化/復号装置。
【請求項30】
決定ユニットと、予測ユニットと、再構成ユニットと、取得ユニットとを含む画像符号化/復号装置であって、
前記決定ユニットは、現在の画像ブロックの目標予測モードを決定するために用いられ、
前記目標予測モードがスキップ残差符号化に基づく予測モードである場合、前記予測ユニットは、前記現在の画像ブロックを予測して予測ブロックを得るために用いられ、前記再構成ユニットは、前記予測ブロックを前記現在の画像ブロックの再構成ブロックとして決定するために用いられ、
前記目標予測モードが通常残差符号化に基づく予測モードである場合、前記取得ユニットは、前記現在の画像ブロックの残差量子化関連値を取得して前記現在の画像ブロックの残差ブロックを得るために用いられ、前記再構成ユニットは、前記目標予測モードと前記残差ブロックとに基づいて、前記現在の画像ブロックを再構成して前記現在の画像ブロックの再構成ブロックを得るために用いられる、
ことを特徴とする画像符号化/復号装置。
【請求項31】
現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定するための決定ユニットであって、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、前記いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、前記第1の指定画素領域は、複数の画素グループを含み、前記複数の画素グループは、前記第2の指定画素領域に基づいて分割することにより得られ、前記第1の指定画素領域と前記第2の指定画素領域との予測方式が異なり、前記複数の画素グループを並列に予測することが可能であり、前記画素グループは、1つ又は連続する複数の画素を含む、決定ユニットと、
前記少なくとも1つの予測グループの予測モードに基づいて、前記現在の画像ブロックを再構成して再構成ブロックを得るための再構成ユニットと、を含む、
ことを特徴とする画像符号化/復号装置。
【請求項32】
現在の画像ブロックの目標予測モードを決定するための決定ユニットであって、前記現在の画像ブロックは、少なくとも1つの予測グループを含み、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む、決定ユニットと、
前記目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するための再構成ユニットであって、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記現在の画像ブロックの再構成ブロックは、前記目標画素の再構成値を含む、再構成ユニットと、を含む、
ことを特徴とする画像符号化/復号装置。
【請求項33】
プロセッサとメモリとを含む電子デバイスであって、前記メモリは、コンピュータ命令を記憶するために用いられ、前記プロセッサは、前記メモリからコンピュータ命令を呼び出して実行し、請求項1~26のいずれか1項に記載の方法を実施するために用いられる、
ことを特徴とする電子デバイス。
【請求項34】
コンピュータプログラム又は命令を記憶しているコンピュータ可読記憶媒体であって、前記コンピュータプログラム又は命令が電子デバイスにより実行されると、請求項1~26のいずれか1項に記載の方法が実施される、
ことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像符号化及び復号の技術分野に関し、特に、画像符号化及び復号方法、装置、及び記憶媒体に関する。
【背景技術】
【0002】
ビデオにおける完全な画像は通常「フレーム」と呼ばれ、複数のフレームを時系列に並べて構成したビデオは、ビデオシーケンス(video sequence)と呼ばれる。ビデオシーケンスには、空間的冗長性、時間的冗長性、視覚的冗長性、情報エントロピー冗長性、構造的冗長性、知識的冗長性、重要性冗長性などの一連の冗長情報がある。ビデオシーケンスにおける冗長情報を可能な限り除去し、ビデオを表現するためのデータ量を低減するために、記憶スペースを低減し、伝送帯域幅を節約するという効果を実現するビデオ符号化(video coding)技術が提案された。ビデオ符号化技術は、ビデオ圧縮技術と呼ばれてもよい。
【0003】
技術の持続的な発展に伴い、ビデオデータの収集はますます便利になり、収集されたビデオデータの規模もますます大きくなっている。従って、如何にビデオデータを効果的に符号化及び復号するかは、喫緊の課題となっている。
【発明の概要】
【0004】
本発明は、ビデオデータを効果的に符号化及び復号して符号化及び復号効率を向上させるための画像符号化及び復号方法、装置、及び記憶媒体を提供する。上記の目的を達成するために、本発明は以下の技術案を採用する。
【0005】
第1の態様によれば、ビットストリームを解析して第1のシンタックス要素を得るステップであって、第1のシンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む、ステップと、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを決定するステップであって、該インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む、ステップと、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップと、を含む、画像復号方法が提供される。該技術案では、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを直接決定することができ、フラグビットorg_flagを解析する必要がないため、復号側の復号の複雑さを低減し、復号効率を向上させる。
【0006】
1つの可能な実施形態では、複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式で生成される。これは、ビットストリーム伝送のオーバーヘッドをさらに低減することに役立つ。
【0007】
1つの可能な実施形態では、複数の予測モードのインデックスは、二分木方式で生成される。
【0008】
1つの可能な実施形態では、複数の予測モードは、オリジナル値モードと他の予測モードとを含み、オリジナル値モードのインデックスのコードワード長は、他の予測モードのうちの1つ又は複数の予測モードのインデックスのコードワード長以上である。いくつかの他の予測モードの使用頻度がオリジナル値モードの使用頻度より高いため、そのインデックスのコードワード長を短く設定することは、ビットストリームの伝送オーバーヘッドをさらに低減することに役立つ。
【0009】
1つの可能な実施形態では、他の予測モードは、ポイント予測モード、フレーム内予測モード、又はブロックコピーモードのうちの少なくとも1つを含む。
【0010】
1つの可能な実施形態では、ビットストリームを解析することにより第2のシンタックス要素も得られ、第2のシンタックス要素は、復号すべきユニットの残差符号化モードのインデックスを含み。それに対応して、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップは、残差符号化モードのインデックスがスキップ残差符号化モードを指示するために用いられる場合、復号すべきユニットを予測して予測ブロックを得、復号すべきユニットの予測ブロックを復号すべきユニットの再構成ブロックとして決定するステップと、残差符号化モードのインデックスが通常残差符号化モードを指示するために用いられる場合、復号すべきユニットの残差量子化関連値を解析して残差ブロックを得、目標予測モードと復号すべきユニットの残差ブロックとに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップと、を含む。
【0011】
1つの可能な実施形態では、他の予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、通常残差符号化に基づくブロックコピーモード、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードのうちの少なくとも1つを含む。
【0012】
1つの可能な実施形態では、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップは、目標予測モードが、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードである場合、復号すべきユニットの予測ブロックを復号すべきユニットの再構成ブロックとして決定するステップと、目標予測モードが、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、又は通常残差符号化に基づくブロックコピーモードである場合、復号すべきユニットの残差量子化関連値を解析して復号すべきユニットの残差ブロックを得、目標予測モードと復号すべきユニットの残差ブロックとに基づいて、復号すべきユニットを再構成して復号すべきユニットの再構成ブロックを得るステップと、を含む。
【0013】
1つの可能な実施形態では、復号すべきユニットは、少なくとも1つの予測グループを含み、該少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、第1の指定画素領域は、複数の画素グループを含み、複数の画素グループは、第2の指定画素領域に基づいて分割することにより得られ、第1の指定画素領域と第2の指定画素領域との予測方式が異なり、複数の画素グループを並列に予測することが可能であり、画素グループは、1つ又は連続する複数の画素を含む。
【0014】
1つの可能な実施形態では、いずれかの予測グループが同じ行にある連続する複数の画素を含む場合、第1の指定画素領域には垂直予測が使用され、第2の指定画素領域には水平予測又は垂直平均値予測が使用される。
【0015】
1つの可能な実施形態では、いずれかの予測グループが同じ列にある連続する複数の画素を含む場合、第1の指定画素領域には水平予測が使用され、第2の指定画素領域には垂直予測又は水平平均値予測が使用される。
【0016】
1つの可能な実施形態では、異なる画素グループに含まれる画素の数の差が閾値以下である。
【0017】
1つの可能な実施形態では、復号すべきユニットに参照ブロックが存在しない場合、復号すべきユニットの1番目の画素の再構成値は、復号すべきユニットのビット幅を1ビット左にシフトすることにより得られる値である。
【0018】
1つの可能な実施形態では、復号すべきユニットは、少なくとも1つの予測グループを含み、該少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含み、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップは、目標予測モードが予め設定された条件を満たす場合、連続する複数の画素のうちの最初の画素の参照値と、最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、目標画素の再構成値を決定するステップを含み、目標画素は、連続する複数の画素のうちのいずれか1つの非最初の画素であり、復号すべきユニットの再構成ブロックは、目標画素の再構成値を含む。
【0019】
1つの可能な実施形態では、最初の画素には第1の予測方式が使用され、非最初の画素には第2の予測方式が使用され、目標予測モードは、第1の予測方式と第2の予測方式とを含み、目標予測モードが予め設定された条件を満たすことは、第1の予測方式と第2の予測方式とはいずれも水平予測であること、又は、第1の予測方式と第2の予測方式とはいずれも垂直予測であること、又は、第1の予測方式と第2の予測方式との一方は水平予測であり、他方は垂直予測であること、又は、第1の予測方式は、復号すべきユニットに隣接する復号ユニットの画素値、又は復号すべきユニットが位置する独立復号ユニットに隣接する独立復号ユニットの画素値を用いて参照予測を行う方式であり、第2の予測方式は、水平予測又は垂直予測であることを含む。
【0020】
第2の態様によれば、符号化すべきユニットの目標予測モードを決定するステップと、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを決定するステップであって、インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む、ステップと、目標予測モードのインデックスをビットストリームに符号化するステップと、を含む画像符号化方法が提供される。該技術案では、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを直接決定し、ビットストリームに目標予測モードがオリジナル値モードであるか否かのインデックス(例えば、フラグビットorg_flag)を符号化する必要がない。ほとんどの場合、オリジナル値モードが使用されず、例えば、通常、ポイント予測モード又はフレーム内予測モードが使用されるため、オリジナル値モードを使用するか否かを表すフラグビット(org_flag)を符号化する必要がないことは、ビットストリーム伝送のオーバーヘッドを節約することに役立ち、符号化効率を向上させる。
【0021】
1つの可能な実施形態では、複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式で生成される。
【0022】
1つの可能な実施形態では、複数の予測モードのインデックスは、二分木方式で生成される。
【0023】
1つの可能な実施形態では、複数の予測モードは、オリジナル値モードと他の予測モードとを含み、オリジナル値モードのインデックスのコードワード長は、他の予測モードのうちの1つ又は複数の予測モードのインデックスのコードワード長以上である。
【0024】
1つの可能な実施形態では、他の予測モードは、ポイント予測モード、フレーム内予測モード、又はブロックコピーモードのうちの少なくとも1つを含む。
【0025】
1つの可能な実施形態では、他の予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、通常残差符号化に基づくブロックコピーモード、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードのうちの少なくとも1つを含む。
【0026】
第3の態様によれば、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法が提供される。該画像再構成方法は、現在の画像ブロックの残差符号化モードを決定するステップと、残差符号化モードがスキップ残差符号化モードである場合、現在の画像ブロックを予測して予測ブロックを得、予測ブロックを現在の画像ブロックの再構成ブロックとして決定するステップと、残差符号化モードが通常残差符号化モードである場合、現在の画像ブロックの残差量子化関連値を取得して残差ブロックを得、残差ブロックに基づいて、現在の画像ブロックを再構成して現在の画像ブロックの再構成ブロックを得るステップと、を含む。
【0027】
本技術案では、まず、残差符号化モードを決定し、残差符号化モードが通常残差符号化モードである場合、現在の画像ブロックの残差量子化関連値を取得し、残差符号化モードがスキップ残差符号化モードである場合、現在の画像ブロックの残差量子化関連値を取得する必要がない。このように、残差符号化モードが通常残差符号化モードである場合、符号化側は、現在の画像ブロックの残差量子化関連値をビットストリームに符号化する必要がなく、復号側は、現在の画像ブロックの残差量子化関連値を解析する必要がないため、ビットストリーム伝送のオーバーヘッドを節約することに役立ち、符号化効率を向上させ、復号の複雑さを低減することに役立ち、復号効率を向上させる。
【0028】
第4の態様によれば、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法が提供される。該画像再構成方法は、現在の画像ブロックの目標予測モードを決定するステップと、目標予測モードがスキップ残差符号化に基づく予測モードである場合、現在の画像ブロックを予測して予測ブロックを得、予測ブロックを再構成ブロックとして決定するステップと、目標予測モードが通常残差符号化に基づく予測モードである場合、現在の画像ブロックの残差量子化関連値を取得して現在の画像ブロックの残差ブロックを得、目標予測モードと残差ブロックとに基づいて、現在の画像ブロックを再構成して再構成ブロックを得るステップと、を含む。
【0029】
該技術案では、従来の残差符号化モードと予測モードとを組み合わせて本発明の実施例によって提供される新たな予測モードとすることにより、残差符号化モードと予測モードとをそれぞれ符号化(復号)する必要がなく、該新たな予測モードを一律に符号化(復号)すればよく、実現ロジックがシンプルであり、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。また、符号化側(又は復号側)にとって、まず残差符号化モード情報(例えば、残差符号化モードのインデックス、例えばres_skip_flag)を符号化(又は復号)し、次に残差符号化モードに基づいて残差量子化関連値(例えば、near値又はQP値)を符号化(又は復号)するか否かを決定してもよく、それにより、残差符号化モードがスキップ残差符号化モードである場合、残差量子化関連値を符号化(又は復号)する必要がなく、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0030】
1つの可能な実施形態では、スキップ残差符号化に基づく予測モードは、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードを含む。
【0031】
1つの可能な実施形態では、通常残差符号化に基づく予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、又は通常残差符号化に基づくブロックコピーモードを含む。
【0032】
第5の態様によれば、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法が提供される。該画像再構成方法は、現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定するステップであって、少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、第1の指定画素領域は、複数の画素グループを含み、複数の画素グループは、第2の指定画素領域に基づいて分割することにより得られ、第1の指定画素領域と第2の指定画素領域との予測方式が異なり、複数の画素グループを並列に予測することが可能であり、画素グループは、1つ又は連続する複数の画素を含む、ステップと、少なくとも1つの予測グループの予測モードに基づいて、現在の画像ブロックを再構成して再構成ブロックを得るステップと、を含む。該技術案では、1つの予測グループ内の複数の画素グループを並列に予測することが可能であるため、該予測グループの予測時間を短縮することに役立つ。
【0033】
1つの可能な実施形態では、いずれかの予測グループが同じ行にある連続する複数の画素を含む場合、第1の指定画素領域には垂直予測が使用され、第2の指定画素領域には水平予測又は垂直平均値予測が使用される。
【0034】
1つの可能な実施形態では、いずれかの予測グループが同じ列にある連続する複数の画素を含む場合、第1の指定画素領域には水平予測が使用され、第2の指定画素領域には垂直予測又は水平平均値予測が使用される。
【0035】
1つの可能な実施形態では、異なる画素グループに含まれる画素の数の差が閾値以下である。
【0036】
1つの可能な実施形態では、現在の画像ブロックに参照ブロックが存在しない場合、現在の画像ブロックの1番目の画素の再構成値は、現在の画像ブロックのビット幅を1ビット左にシフトすることにより得られる値である。
【0037】
第6の態様によれば、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法が提供される。該画像再構成方法は、現在の画像ブロックの目標予測モードを決定するステップであって、現在の画像ブロックは、少なくとも1つの予測グループを含み、少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む、ステップと、目標予測モードが予め設定された条件を満たす場合、連続する複数の画素のうちの最初の画素の参照値と、最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、目標画素の再構成値を決定するステップであって、目標画素は、連続する複数の画素のうちのいずれか1つの非最初の画素であり、現在の画像ブロックの再構成ブロックは、目標画素の再構成値を含む、ステップと、を含む。
【0038】
該技術案では、符号化側/復号側が、再構成を実行する際に、その前の画素とそれに隣接する画素との残差値に基づいて、現在の画素の再構成値を直接取得することができ、その前の画素の再構成値を取得するのを待つ必要がなく、該技術案は、再構成プロセスの並列度を大幅に向上させることもできるため、復号並列度及びスループットを向上させる。
【0039】
1つの可能な実施形態では、最初の画素には第1の予測方式が使用され、非最初の画素には第2の予測方式が使用され、目標予測モードは、第1の予測方式と第2の予測方式とを含み、目標予測モードが予め設定された条件を満たすことは、第1の予測方式と第2の予測方式とはいずれも水平予測であること、又は、第1の予測方式と第2の予測方式とはいずれも垂直予測であること、又は、第1の予測方式と第2の予測方式との一方は水平予測であり、他方は垂直予測であること、又は、第1の予測方式は、現在の画像ブロックに隣接するコーディングユニット、又は現在の画像ブロックが位置する独立コーディングユニットに隣接する独立コーディングユニットの画素値を用いて参照予測を行う方式であり、第2の予測方式は、水平予測又は垂直予測であることを含む。
【0040】
第7の態様によれば、画像復号装置が提供され、該復号装置は、ビデオデコーダ又はビデオデコーダを含むデバイスであってもよい。該復号装置は、第1の態様、第3の態様、第4の態様、又は第5の態様の可能な実施形態のいずれか1つにおける方法を実施するための各モジュールを含む。前記復号装置は、上記の関連方法の例における動作を実現する機能を有する。前記機能は、ハードウェアによって実現されてもよいし、ハードウェアが対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記の機能に対応する1つ又は複数のモジュールを含む。その有益な効果は、対応する方法の説明に記載されているため、ここでは説明を省略する。
【0041】
第8の態様によれば、画像符号化装置が提供され、該符号化装置は、ビデオエンコーダ又はビデオエンコーダを含む装置であってもよい。該符号化装置は、第2の態様、第3の態様、第4の態様、又は第5の態様の可能な実施形態のいずれか1つにおける方法を実施するための各モジュールを含む。前記符号化装置は、上記の関連方法の例における動作を実現する機能を有する。前記機能は、ハードウェアによって実現されてもよいし、ハードウェアが対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記の機能に対応する1つ又は複数のモジュールを含む。その有益な効果は、対応する方法の説明に記載されているため、ここでは説明を省略する。
【0042】
第9の態様によれば、本発明は、プロセッサとメモリとを含む電子デバイスであって、前記メモリは、コンピュータ命令を記憶するために用いられ、前記プロセッサは、前記メモリからコンピュータ命令を呼び出して実行し、第1~6の態様のいずれか1つの実施形態における方法を実施するために用いられる、電子デバイスが提供される。例えば、該電子デバイスは、ビデオエンコーダ又はビデオエンコーダを含むデバイスであってもよい。別の例として、該電子デバイスは、ビデオデコーダ、又はビデオデコーダを含むデバイスであってもよい。
【0043】
第10の態様によれば、本発明は、コンピュータプログラム又は命令を記憶しているコンピュータ可読記憶媒体であって、コンピュータプログラム又は命令がコンピューティングデバイス又はコンピューティングデバイスが位置するストレージシステムによって実行されると、第1~6の態様のいずれか1つの実施形態における方法が実施される、コンピュータ可読記憶媒体が提供される。
【0044】
第11の態様によれば、本発明は、命令を含むコンピュータプログラム製品であって、コンピュータプログラム製品がコンピューティングデバイス又はプロセッサ上で実行されると、コンピューティングデバイス又はプロセッサに該命令を実行させ、第1~6の態様のいずれか1つの実施形態における方法が実施される、コンピュータプログラム製品が提供される。
【0045】
第12の態様によれば、本発明は、プロセッサとメモリとを含むチップであって、メモリは、コンピュータ命令を記憶するために用いられ、プロセッサは、メモリから該コンピュータ命令を呼び出して実行し、第1~6の態様のいずれか1つの実施形態における方法を実施するために用いられる、チップが提供される。
【0046】
第13の態様によれば、本発明は、符号化側と復号側とを含む画像コーディングシステムであって、復号側は、第1~第6の態様によって提供される対応する復号方法を実施するために用いられ、符号化側は、それに対応する符号化方法を実施するために用いられる。
【0047】
本発明は、上記の各態様によって提供される実施形態に基づいて、さらに組み合わせてより多くの実施形態を提供することも可能である。又は、上記のいずれか1つの態様のいずれか1つの可能な実施形態は、矛盾しない限り、他の態様に適用してもよく、それにより新たな実施例が得られる。例えば、上記の第3~5の態様によって提供されるいずれか1つの画像再構成方法は、第1の態様又は第2の態様によって提供されるいずれか1つの符号化方法又は復号方法に適用してもよい。別の例として、記の第3~5の態様によって提供されるいずれか2つの画像再構成方法は、矛盾しない限り、組み合わせてもよく、それにより新たな再構成方法が得られる。
【図面の簡単な説明】
【0048】
【
図1】本発明の実施例によって提供される複数の予測方式の概略図である。
【
図2】本発明の実施例が適用される符号化及び復号システムの概略アーキテクチャ図である。
【
図3】本発明の実施例を実現するためのエンコーダの例の例示的なブロック図である。
【
図4】本発明の実施例によって提供される、画像、並列符号化ユニット、独立符号化ユニット、及び符号化ユニットの対応関係の概略図である。
【
図5】本発明の実施例によって提供される符号化プロセスの概略図である。
【
図6】本発明の実施例を実現するためのデコーダの例の例示的なブロック図である。
【
図7A】本発明の実施例によって提供される画像符号化方法の概略フローチャート1である。
【
図7B】本発明の実施例によって提供される、
図7Aに対応する画像復号方法の概略フローチャートである。
【
図8A】本発明の実施例によって提供される画像符号化方法の概略フローチャート2である。
【
図8B】本発明の実施例によって提供される、
図8Aに対応する画像復号方法の概略フローチャートである。
【
図9A】本発明の実施例によって提供される画像符号化方法の概略フローチャート3である。
【
図9B】本発明の実施例によって提供される、
図9Aに対応する画像復号方法の概略フローチャートである。
【
図10】本発明の実施例によって提供される画像再構成方法の概略フローチャート1である。
【
図11】本発明の実施例によって提供される並列画素グループの分割方式の概略図である。
【
図12】16×2の現在の画像ブロックの予測分割モードの概略
図1である。
【
図13A】本発明の実施例によって提供される、
図12に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図13B】本発明の実施例によって提供される、
図12に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図14】16×2の現在の画像ブロックの予測分割モードの概略
図2である。
【
図15A】本発明の実施例によって提供される、
図14に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図15B】本発明の実施例によって提供される、
図14に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図15C】本発明の実施例によって提供される、
図14に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図15D】本発明の実施例によって提供される、
図14に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図16A】8×2の現在の画像ブロックの予測分割モードの概略図である。
【
図16B】8×2の現在の画像ブロックの予測分割モードの概略図である。
【
図17】本発明の実施例によって提供される、
図16A及び
図16Bに対応する8×2の現在の画像ブロックの予測分割モードの概略図である。
【
図18A】8×1の現在の画像ブロックの予測分割モードの概略図である。
【
図18B】8×1の現在の画像ブロックの予測分割モードの概略図である。
【
図19】本発明の実施例によって提供される、
図18A及び
図18Bに対応する8×1の現在の画像ブロックの予測分割モードの概略図である。
【
図20】本発明の実施例によって提供される8×1の現在の画像ブロックの残差ブロックのグループ化の概略図である。
【
図21】本発明の実施例によって提供される画像再構成方法の概略
図2である。
【
図22】本発明の実施例によって提供される、
図21の8×1の画像ブロックの予測モードを説明するための概略図である。
【
図23】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図24】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図25】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図26】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図27】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図28】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図29】本発明の実施例によって提供される電子デバイスの概略構造図である。
【発明を実施するための形態】
【0049】
まず、本発明の実施形態に関連する技術用語について説明する。
【0050】
1)予測モード
【0051】
現在の画像ブロック(例えば、符号化すべきユニット/復号すべきユニット)を予測するために使用される予測方式の組み合わせは、予測モードと呼ばれる。ここで、現在の画像ブロック内の異なる画素を予測するために異なる予測方式を使用してもよいし、同じ予測方式を使用してもよく、現在の画像ブロック内の全ての画素を予測するために使用される予測方式は、まとめて該現在の画像ブロックの(又は対応する)予測モードと呼ばれてもよい。
【0052】
予測モードは、ポイント予測モード(point prediction mode)、フレーム内予測モード(intra-frame prediction mode)、ブロックコピーモード(block copy mode)、及びオリジナル値モード(original value mode、即ち、固定ビット幅を直接復号する再構成値モード)などを含んでもよい。
【0053】
例示的に、ポイント予測モードは、周囲の隣接点の画素再構成値に基づいて予測値を決定する。ポイント予測モードは、垂直予測、水平予測、垂直平均値予測、及び水平平均値予測などの予測方式のうちの1つ又は複数の組み合わせを含む。垂直予測は、現在の画素の上側(隣接する上側であってもよいし、隣接しないが近傍の上側であってもよい)の画素値を用いて現在の画素の予測値を取得する。一例として、現在の画素の上側の隣接画素の再構成値を現在の画素の予測値として決定する。水平予測は、現在の画素の左側(隣接する左側であってもよいし、隣接しないが近傍の左側であってもよい)の画素値を用いて現在の画素の予測値を取得する。一例として、現在の画素の左側の隣接画素の再構成値を現在の画素の予測値として決定する。垂直平均値予測は、現在の画素の上側及び下側の画素値を用いて現在の画素の予測値を取得する。一例として、現在の画素の予測値は、垂直上方の隣接画素の再構成値と垂直下方の隣接画素の再構成値との平均値である。水平平均値予測は、現在の画素の左側及び右側の画素値を用いて現在の画素の予測値を取得する。一例として、現在の画素の予測値は、水平左側の隣接画素の再構成値と水平右側の隣接画素の再構成値との平均値である。
【0054】
例示的に、フレーム内予測モードは、周囲の隣接ブロックの画素再構成値に基づいて予測値を決定する。
【0055】
例示的に、ブロックコピー予測モードは、周囲の符号化(復号)済みブロック(隣接するとは限らない)の画素再構成値に基づいて予測値を決定する。
【0056】
例示的に、オリジナル値モードは、固定ビット幅を直接復号する再構成値モードであり、即ち、参照なし予測モードである。
【0057】
図1に示すのは、本発明の実施例によって提供される複数の予測方式の概略図である。
図1における1つの小さな矩形は、1つの画素を表す。異なるマークを含む画素は、異なる予測方式を表すために用いられ、具体的に、垂直予測、水平予測、垂直平均値予測及び水平平均値予測が示される。
図1に示す各予測方式の概略図は、本発明に関連するいずれかの関連添付図面、例えば
図12などを解釈するために用いられてもよい。
【0058】
2)残差符号化モード
【0059】
現在の画像ブロック(例えば、符号化すべきユニット/復号すべきユニット)の残差(即ち、残差ブロックであり、現在の画像ブロック内の各画素の残差値から構成される)を符号化するための方式は、残差符号化モードと呼ばれる。残差符号化モードは、スキップ残差符号化モードと通常残差符号化モードとを含んでもよい。
【0060】
スキップ残差符号化モードでは、残差係数を符号化(復号)する必要がなく、この時、現在の画像ブロック内の画素の残差値は全て0であり、各画素の再構成値は該画素の予測値と等しい。
【0061】
通常残差符号化モードでは、残差係数を符号化(復号)する必要があり、この時、現在の画像ブロック内の画素の残差値は全て0とは限らず、各画素の再構成値は、該画素の予測値と残差値とに基づいて得ることができる。
【0062】
一例では、画素の残差値は該画素の残差係数と等価であり、別の例では、画素の残差係数は、該画素の残差値に対して一定の処理を行うことによって得られたものであってもよい。
【0063】
3)他の用語
【0064】
本発明の実施例における用語「少なくとも1つ」は、1つ又は複数を含む。「複数」とは、2つ以上を意味する。例えば、A、B及びCのうちの少なくとも1つは、Aが単独で存在する場合、Bが単独で存在する場合、Cが単独で存在する場合、AとBが同時に存在する場合、AとCが同時に存在する場合、BとCが同時に存在する場合、AとBとCが同時に存在する場合を含む。本発明の記載において、特に断りのない限り、「/」は「又は」を意味し、例えば、A/Bは、A又はBを表すことができる。本明細書における「及び/又は」は、関連対象の関連関係を説明するためのものに過ぎず、3種類の関係が存在してもよいことを表し、例えば、A及び/又はBは、Aが単独で存在する場合、AとBが同時に存在する場合、Bが単独で存在する場合の3つの場合を表すことができる。「複数」は、2つ以上を意味する。また、本発明の実施例の技術案を明確に説明しやすくするために、本発明の実施例では、「第1」、「第2」などの用語を用いて機能及び役割がほぼ同じである同一又は類似のものを区別する。当業者であれば理解できるように、「第1」、「第2」などの用語は、数や実行順序を限定するものではなく、必ずしも異なることに限定するものではない。
【0065】
以下、本発明の実施例が適用されるシステムアーキテクチャについて説明する。
【0066】
図2を参照し、本発明の実施例が適用される符号化及び復号システム10の概略アーキテクチャ図を示す。
図2に示すように、符号化及び復号システム10は、ソースデバイス11と宛先デバイス12とを含んでもよい。ソースデバイス11は、画像を符号化するために用いられるため、ソースデバイス11は、画像符号化装置又はビデオ符号化装置と呼ばれてもよい。宛先デバイス12は、ソースデバイス11によって生成された符号化済み画像データを復号するために用いられるため、宛先デバイス12は、画像復号装置又はビデオ復号装置と呼ばれてもよい。
【0067】
ソースデバイス11及び宛先デバイス12は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの携帯電話、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲーム機、車載コンピュータ、又はそれらの類似のものを含む様々な装置を含んでもよい。オプションで、
図2におけるソースデバイス11及び宛先デバイス12は、2つの別個のデバイスであってもよく、又は、ソースデバイス11及び宛先デバイス12は、同一のデバイスであってもよく、即ち、ソースデバイス11又はそれに対応する機能、及び宛先デバイス12又はそれに対応する機能は、同一のデバイスに統合されてもよい。ソースデバイス11と宛先デバイス12との間で通信が可能であり、例えば、宛先デバイス12はソースデバイス11から符号化済み画像データを受信することができる。一例では、ソースデバイス11と宛先デバイス12との間は、1つ又は複数の通信媒体を含んでもよく、1つ又は複数の通信媒体を介して符号化済み画像データを伝送し、該1つ又は複数の通信媒体は、ルータ、スイッチ、基地局、又はソースデバイス11から宛先デバイス12への通信を容易にする他のデバイスを含んでもよい。
【0068】
図2に示すように、ソースデバイス11は、エンコーダ112を含む。オプションで、ソースデバイス11は、画像プリプロセッサ111と通信インタフェース113とをさらに含んでもよい。ここで、画像プリプロセッサ111は、受信した符号化すべき画像に対して前処理を実行するために用いられ、例えば、画像プリプロセッサ111が実行する前処理は、トリミング、色フォーマット変換(例えば、RGBフォーマットからYUVフォーマットに変換する)、調色、又はノイズ除去などを含んでもよい。エンコーダ112は、前処理済み画像を受信し、関連する予測モードを用いて前処理済み画像を処理して符号化済み画像データを提供するために用いられる。いくつかの実施例では、エンコーダ112は、以下に説明する各実施例における符号化プロセスを実行するために用いられてもよい。通信インタフェース113は、記憶又は直接再構成するために、符号化済み画像データを宛先デバイス12、又は復号もしくは記憶するための任意の他のデバイス(例えばメモリ)に伝送するために用いられてもよい。通信インタフェース113は、符号化済み画像データを適切なフォーマットにカプセル化してから送信してもよい。
【0069】
オプションで、上記の画像プリプロセッサ111、エンコーダ112及び通信インタフェース113は、ソースデバイス11内のハードウェアコンポーネントであってもよいし、ソースデバイス11内のソフトウェアプログラムであってもよく、本発明の実施例はこれについて限定しない。
【0070】
図2に示すように、宛先デバイス12はデコーダ122を含む。オプションで、宛先デバイス12は、通信インタフェース121と画像ポストプロセッサ123とをさらに含んでもよい。ここで、通信インタフェース121は、ソースデバイス11又は任意の他のソースデバイスから符号化済み画像データを受信するために用いられてもよく、該任意の他のソースデバイスは、例えば、記憶デバイスである。通信インタフェース121は、通信インタフェース113によって伝送されたデータをデカプセル化して符号化済み画像データを取得することもできる。デコーダ122は、符号化済み画像データを受信して復号済み画像データ(再構成済み画像データ又は再構成された画像データと呼ばれてもよい)を出力するために用いられる。いくつかの実施例では、デコーダ122は、以下に説明される各実施例における復号プロセスを実行するために用いられてもよい。
【0071】
画像ポストプロセッサ123は、復号済み画像データに対して後処理を実行して後処理済み画像データを取得するために用いられる。画像ポストプロセッサ123が実行する後処理は、色フォーマット変換(例えば、YUVフォーマットからRGBフォーマットに変換する)、調色、トリミング、又はリサンプリング、又は任意の他の処理を含んでもよく、表示するために後処理済み画像データを表示デバイスに伝送するために用いられてもよい。
【0072】
同様に、オプションで、上記の通信インタフェース121、デコーダ122及び画像ポストプロセッサ123は、宛先デバイス12内のハードウェアコンポーネントであってもよいし、宛先デバイス12内のソフトウェアプログラムであってもよく、本発明の実施例はこれについて限定しない。
【0073】
以下、
図2におけるエンコーダ及びデコーダの構造について簡単に説明する。
【0074】
図3を参照し、
図3は、本発明の実施例を実現するためのエンコーダ20の例の例示的なブロック図を示す。
図3において、エンコーダ20は、予測処理ユニット201、残差計算ユニット202、残差符号化ユニット203、量子化ユニット204、係数符号化ユニット205、逆量子化ユニット206、残差復号ユニット207、再構成ユニット208、及びフィルタユニット209を含む。オプションで、エンコーダ20は、バッファ及び復号済み画像バッファ(decoded picture buffer、DPB)をさらに含んでもよい。ここで、バッファは、再構成ユニット208によって出力された再構成画像ブロックをバッファリングするために用いられ、復号済み画像バッファは、フィルタユニット209によって出力されたフィルタリングされた画像ブロックをバッファリングするために用いられる。
【0075】
一例では、エンコーダ20の入力は、符号化すべき画像の画像ブロック(即ち、現在の画像ブロック、符号化すべき画像ブロック)又は符号化ユニットである。別の例では、エンコーダ20の入力は符号化すべき画像であり、エンコーダ20は、符号化すべき画像を複数の画像ブロックに分割するための分割ユニット(
図3に示されていない)を含んでもよい。エンコーダ20は、ブロックごとに符号化すべき画像を符号化するために用いられ、例えば、各画像ブロックに対して符号化プロセスを実行する。
【0076】
一例では、符号化すべき画像を複数の画像ブロックに分割する方法は、以下のステップを含んでもよい。
【0077】
ステップ1:1フレームの画像を1つ又は複数の互いに重ならない並列符号化ユニットに分割し、各並列符号化ユニットは、互いに依存せず、並列に/独立して符号化及び復号することができる。
【0078】
ステップ2:符号化側は、各並列符号化ユニットについて、それを1つ又は複数の互いに重ならない独立符号化ユニットに分割してもよく、各独立符号化ユニットは、互いに依存しなくてもよいが、該並列符号化ユニットのいくつかのヘッダ情報を共有してもよい。
【0079】
ステップ3:符号化側は、各独立符号化ユニットについて、それをさらに1つ又は複数の互いに重ならない符号化ユニットに分割してもよい。ここで、独立符号化ユニットを複数の互いに重ならない符号化ユニットに分割する場合、その分割方式は、水平均等分割法、垂直均等分割法、又は水平垂直均等分割法であってもよい。もちろん、具体的な実現はこれらに限定されない。独立符号化ユニット内の各符号化ユニットは互いに依存してもよく、即ち、予測ステップの実行中に互いに参照してもよい。
【0080】
符号化ユニットの幅はw_cuであり、高さはh_cuであり、オプションで、その幅はその高さより大きい(エッジ領域の場合を除く)。通常、符号化ユニットは、固定のw_cu×h_cuであってもよく、w_cu及びh_cuがいずれも2のN乗(Nは0以上)であり、例えば、16×4、8×4、16×2、8×2、4×2、8×1、4×1などである。
【0081】
符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分(又は赤R、緑G、青Bの3つの成分)を含んでもよいし、そのうちのいずれか1つの成分のみを含んでもよい。3つの成分を含む場合、これらの成分のサイズは完全に同じであってもよいし、異なってもよく、具体的には画像の入力フォーマットに関連する。
【0082】
図4に示すのは、画像、並列符号化ユニット、独立符号化ユニット、及び符号化ユニットの対応関係の概略図である。ここで、
図4では、3:1に従って1つの画像を並列符号化ユニット1と並列符号化ユニット2とに分割し、1つの独立符号化ユニットが4つの符号化ユニットを含むことを例として説明する。
【0083】
予測処理ユニット201は、画像ブロックの真の値及び再構成された画像データを受信又は取得し、再構成された画像データにおける関連するデータに基づいて、現在の画像ブロックを予測して現在の画像ブロックの予測ブロックを得るために用いられる。
【0084】
残差計算ユニット202は、画像ブロックの真の値と該画像ブロックの予測ブロックとの残差値を計算して残差ブロックを得るために用いられ、例えば、画素ごとに画像ブロックの画素値から予測ブロックの画素値を減算する。
【0085】
一例では、残差符号化ユニット203は、残差ブロックに基づいて現在の画像ブロックの残差係数を決定するために用いられる。オプションで、該プロセスは、残差ブロックに対して、離散コサイン変換(discrete cosine transform、DCT)又は離散サイン変換(discrete sine transform、DST)などの変換を行い、変換領域において変換係数を取得することを含んでもよく、変換係数は変換残差係数と呼ばれてもよく、該変換残差係数は変換領域において残差ブロックを表すことができる。もちろん、変換のステップが含まれなくてもよい。
【0086】
量子化ユニット204は、スカラー量子化又はベクトル量子化を適用して変換係数を量子化して、量子化済み変換係数を取得するために用いられ、量子化済み変換係数は、量子化済み残差係数と呼ばれてもよい。量子化プロセスは、一部又は全部の変換係数に関するビット深度を低減することができる。例えば、例えば、量子化中にnビットの変換係数をmビットの変換係数に切り捨ててもよく、ここで、nはmより大きい。量子化の程度は、量子化パラメータ(quantization parameter、QP)を調整することで変更することができる。例えば、スカラー量子化の場合、異なるスケールを適用することで細かい量子化や粗い量子化を実現することができる。小さい量子化ステップは、細かい量子化に対応し、大きい量子化ステップは、粗い量子化に対応する。QPで適切な量子化ステップを指示してもよい。
【0087】
係数符号化ユニット205は、上記の量子化済み残差係数を符号化し、符号化済みビットストリームの形で符号化済み画像データ(即ち、現在の符号化すべき画像ブロックの符号化結果)を出力するために用いられる。そして、符号化済みビットストリームをデコーダに伝送し、又は、後でデコーダに伝送、もしくは検索に用いるためにそれを記憶してもよい。係数符号化ユニット205は、さらに、予測モードのインデックスをビットストリームに符号化するなど、現在の画像ブロックの他のシンタックス要素を符号化するために用いられてもよい。
【0088】
一例では、係数符号化ユニット205が残差係数を符号化する1つの可能な方法は、半固定長符号化方式(semi-fixed-length coding mode)である。まず、1つの残差ブロック(residual block,RB)内の残差絶対値の最大値をmodified maximum(mm)として定義する。該RB内の残差係数の符号化ビット数を決定する(同一のRB内の残差係数の符号化ビット数は一致する)。例えば、現在のRBの符号化長(coding length、CL)が2であり、現在の残差係数が1である場合、残差係数1を符号化するのに2ビットが必要であり、01と表される。現在のRBのCLが7である場合、これは、8-bitの残差係数及び1-bitの符号ビットを符号化することを表す。CLの決定は、現在のサブブロックの全ての残差が[-2^(M-1),2^(M-1)]の範囲内にあることを満たす最小のM値を見つけることである。-2^(M-1)と2^(M-1)との2つの境界値が同時に存在する場合、Mを1増加させる必要があり、即ち、現在のRBの全ての残差を符号化するのにM+1ビットが必要であり、-2^(M-1)と2^(M-1)との2つの境界値のうちの1つのみが存在する場合、該境界値が-2^(M-1)であるか2^(M-1)であるかを決定するために1つのTrailingビットを符号化する必要があり、全ての残差に-2^(M-1)と2^(M-1)のいずれも存在しない場合、該Trailingビットを符号化する必要がない。
【0089】
もちろん、他の残差係数符号化方法、例えば、指数Golomb符号化方法、Golomb-Rice符号化方法、トランケーテッドユーナリ(truncated unary)符号化方法、ランレングス(run-length)符号化方法、オリジナル残差値を直接符号化する方法などを使用してもよい。
【0090】
また、いくつかの特殊な場合、残差値の代わりに、オリジナル値を直接符号化してもよい。
【0091】
逆量子化ユニット206は、上記の量子化済み係数を逆量子化して逆量子化済み係数を取得するために用いられ、該逆量子化は、上記の量子化ユニット204の逆アプリケーションである。例えば、逆量子化ユニット206は、量子化ユニット204と同じ量子化ステップに基づいて又は用いて、量子化ユニット204が適用する量子化スキームの逆量子化スキームを適用してもよい。逆量子化済み係数は、逆量子化済み残差係数と呼ばれてもよい。
【0092】
残差復号ユニット207は、上記の逆量子化済み残差係数を残差ブロックに復号するために用いられ、該プロセスは、上記の逆量子化済み係数に対して逆変換を行い、画素領域(又はサンプル領域と呼ばれる)において逆変換ブロックを取得することを含んでもよく、例えば、逆変換は、逆離散コサイン変換(discrete cosine transform、DCT)又は逆離散サイン変換(discrete sine transform、DST)を含んでもよい。逆変換ブロックは逆変換逆量子化済みブロック又は逆変換残差ブロックと呼ばれてもよい。もちろん、逆変換のステップが含まれなくてもよい。
【0093】
再構成ユニット208は、逆変換ブロック(即ち、逆変換残差ブロック)を予測ブロックに追加して、サンプル領域において再構成済みブロックを取得するために用いられ、再構成ユニット208は、加算器であってもよく、例えば、残差ブロックのサンプル値(即ち、画素値)を予測ブロックのサンプル値に加算する。該再構成ユニット208によって出力された再構成ブロックは、後で他の画像ブロックを予測するために用いられてもよい。
【0094】
フィルタユニット209(又は「フィルタ」と略称する)は、画素変換をスムーズに行うように、又は画像の品質を向上させるように、再構成済みブロックをフィルタリングしてフィルタリング済みブロックを取得するために用いられる。
【0095】
一例として、符号化プロセスを
図5に示す。具体的に、エンコーダは、ポイント予測モードを使用するか否かを判断する(S901)。S901の判断結果が「はい」であれば、ポイント予測モードに基づいて予測を行い、逆量子化及び再構成のステップ(S901Y)を実行して符号化プロセスを実現する。S901の判断結果が「いいえ」であれば、オリジナル値モードを使用するか否かを判断する(S902)。S902の判断結果が「はい」であれば、オリジナル値モードを使用して符号化する(S902Y)。S902の判断結果が「いいえ」であれば、他の予測モード、例えばフレーム内予測又はブロックコピーモードを使用して予測を行うと決定する(S903)。その後、S904において残差スキップを実行すると決定した場合、再構成のステップ(S905)を直接実行する。S904において残差スキップを実行しないと決定した場合、逆量子化のステップ(S906)を実行し、ブロックコピー予測モードを使用するか否かを判断する(S907)。ブロックコピー予測モードを使用すると決定した場合、1つのケースでは、S908において変換スキップを実行すると決定した場合、再構成のステップ(S905)を直接実行し、もう1つのケースでは、S908において変換スキップを実行しないと決定した場合、逆変換のステップ(S909)及び再構成のステップ(S905)を実行して符号化プロセスを実現する。S907においてブロックコピーモードを使用しない(この場合、使用された1つの予測モードがフレーム内予測モードである)と決定した場合、逆変換のステップ(S909)及び再構成のステップ(S905)を実行して符号化プロセスを実現する。
【0096】
具体的に、本発明の実施例では、エンコーダ20は、後述の実施例で説明される符号化方法を実施するために用いられる。
【0097】
図6を参照し、
図6は、本発明の実施例を実現するためのデコーダ30の例の例示的なブロック図を示す。デコーダ30は、例えば、エンコーダ20によって符号化された符号化済み画像データ(即ち、符号化済みビットストリーム、例えば、画像ブロックの符号化済みビットストリームと関連するシンタックス要素とを含む)を受信して、復号済み画像を取得するために用いられる。デコーダ30は、ビットストリーム解析ユニット301、逆量子化ユニット302、残差復号ユニット303、予測処理ユニット304、再構成ユニット305、及びフィルタユニット306を含む。いくつかの例では、デコーダ30は、
図2のエンコーダ20について説明した符号化パスとほぼ逆の復号パスを実行してもよい。オプションで、デコーダ30は、バッファ及び復号済み画像バッファをさらに含んでもよい。ここで、バッファは、再構成ユニット305によって出力された再構成画像ブロックをバッファリングするために用いられ、復号済み画像バッファは、フィルタユニット306によって出力されたフィルタリングされた画像ブロックをバッファリングするために用いられる。
【0098】
ビットストリーム解析ユニット301は、符号化済み画像データに対して復号を実行して、量子化済み係数及び/又は復号済み符号化パラメータ(例えば、符号化パラメータは、フレーム間予測パラメータ、フレーム内予測パラメータ、フィルタパラメータ、及び/又は他のシンタックス要素のうちのいずれか1つ又は全てを含んでもよい)を取得するために用いられる。ビットストリーム解析ユニット301は、さらに、予測処理ユニット304が符号化パラメータに基づいて予測プロセスを実行するように、上記の復号済み符号化パラメータを予測処理ユニット304に転送するために用いられる。
【0099】
逆量子化ユニット302の機能は、エンコーダ20の逆量子化ユニット206の機能と同じであってもよく、ビットストリーム解析ユニット301によって復号された量子化済み係数を逆量子化するために用いられる。
【0100】
残差復号ユニット303の機能は、エンコーダ20の残差復号ユニット207の機能と同じであってもよく、再構成ユニット305(例えば、加算器)の機能は、エンコーダ20の再構成ユニット208の機能と同じであってもよく、上記の量子化済み係数に対して逆変換(例えば、逆DCT、逆整数変換、又は概念的に類似した逆変換プロセス)を行い、逆変換ブロック(逆変換残差ブロックと呼ばれてもよい)を得るために用いられ、該逆変換ブロックは、画素領域における現在の画像ブロックの残差ブロックである。
【0101】
予測処理ユニット304は、符号化済み画像データ(例えば、現在の画像ブロックの符号化済みビットストリーム)及び再構成された画像データを受信又は取得するために用いられ、予測処理ユニット304は、さらに、例えば、ビットストリーム解析ユニット301から予測関連パラメータ及び/又は選択された予測モードに関する情報(即ち、復号済み符号化パラメータ)を受信又は取得し、再構成された画像データにおける関連するデータ及び復号済み符号化パラメータに基づいて、現在の画像ブロックを予測して現在の画像ブロックの予測ブロックを得てもよい。
【0102】
再構成ユニット305は、逆変換ブロック(即ち、逆変換残差ブロック)を予測ブロックに追加して、サンプル領域において再構成済みブロックを取得するために用いられ、例えば、逆変換残差ブロックのサンプル値を予測ブロックのサンプル値に加算する。
【0103】
フィルタユニット306は、再構成済みブロックをフィルタリングしてフィルタリング済みブロックを取得するために用いられ、該フィルタリング済みブロックは、復号済み画像ブロックである。
【0104】
具体的に、本発明の実施例では、デコーダ30は、後述の実施例で説明される復号方法を実施するために用いられる。
【0105】
なお、本発明の実施例におけるエンコーダ20及びデコーダ30において、あるプロセスの処理結果は、次のプロセスに出力される前にさらに処理されてもよい。例えば、補間フィルタリング、動きベクトル導出又はフィルタリングなどのプロセスの後、対応するプロセスの処理結果に対してさらにClip又はシフトshiftなどの操作を行う。
【0106】
一例では、復号プロセスは、以下のステップを含んでもよい。
【0107】
ステップ1:ビットストリーム解析ユニット301は、予測モード及び残差符号化モードを解析する。
【0108】
ステップ2:ビットストリーム解析ユニット301は、予測モード及び残差符号化モードに基づいて量子化関連値(例えば、near値又はQP値など)を解析する。
【0109】
ステップ3:逆量子化ユニット302は、予測モード及び量子化関連値に基づいて残差係数を解析する。
【0110】
ステップ4:予測処理ユニット304は、予測モードに基づいて、現在の画像ブロックの各画素の予測値を取得する。
【0111】
ステップ5:残差復号ユニット303は、残差係数に基づいて復号して、現在の画像ブロックの各画素の残差値を取得する。
【0112】
ステップ6:再構成ユニット305は、現在の符号化ユニットの各画素の予測値及び残差値に基づいて、その再構成値を取得する。
【0113】
以下、図面を参照しながら、本発明の実施例によって提供される以下の画像符号化及び復号方法について説明する。
【0114】
本発明のいずれかの実施例における符号化側は、上記の
図2又は
図3におけるエンコーダであってもよいし、上記の
図2におけるソースデバイスであってもよく、いずれかの実施例における復号側は、上記の
図2又は
図6におけるデコーダであってもよいし、上記の
図2における宛先デバイスであってもよい。
【0115】
実施例1
【0116】
図7Aに示すのは、本発明の実施例によって提供される画像符号化方法の概略フローチャートである。
図7Aに示す方法は、以下のステップを含む。
【0117】
S101:符号化側は、符号化すべきユニットの目標予測モードを決定する。
【0118】
符号化すべきユニットは、符号化すべき画像内のいずれか1つの符号化すべき画像ブロック(即ち、符号化ユニット)であってもよい。
【0119】
目標予測モードは、予め定義された複数の予測モードのうちの1つであってもよく、具体的に、オリジナル値モードであってもよいし、オリジナル値モード以外の他の予測モードであってもよい。一例では、該他の予測モードは、少なくとも1つのポイント予測モード、少なくとも1つのフレーム内予測モード、及び少なくとも1つのブロックコピーモードのうちのいずれか1つ又は複数の組み合わせを含む。例えば、該他の予測モードは、ポイント予測モードと、フレーム内予測モードと、ブロックコピーモードとの合計3種類の予測モードを含む。別の例として、該他の予測モードは、ポイント予測モード0、ポイント予測モード1、フレーム内予測モード0、ブロックコピーモード0及びブロックコピーモード1の5種類の予測モードを含む。別の例では、該他の予測モードは、通常残差符号化に基づく少なくとも1つのポイント予測モード、通常残差符号化に基づく少なくとも1つのフレーム内予測モード、通常残差符号化に基づく少なくとも1つのブロックコピーモード、スキップ残差符号化に基づく少なくとも1つのポイント予測モード、スキップ残差符号化に基づく少なくとも1つのフレーム内予測モード、及びスキップ残差符号化に基づく少なくとも1つのブロックコピーモードのうちのいずれか1つ又は複数の組み合わせを含む。該例は、本発明の実施例で定義された新たな予測モードを得るために、従来の技術における予測モードと残差符号化モードとを組み合わせたものと考えられてもよい。
【0120】
予測モードが通常残差符号化に基づくポイント予測モードである場合、符号化側は、通常残差符号化モードを使用して残差係数の符号化を行い、ポイント予測モードを使用して符号化すべきユニットの画素値を予測する。予測モードが他のいくつかのモードである場合、これと類似するため、ここでは説明を省略する。
【0121】
S102:符号化側は、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを決定する。ここで、インデックステーブルは、複数の予測モードのインデックスと該複数の予測モードとの対応関係を含む。
【0122】
オプションで、複数の予測モードとそれぞれのインデックスとの対応関係は、インデックステーブルによって記憶されてもよいし、もちろん、他の方式で記憶されてもよく、本発明の実施例はこれについて限定しない。
【0123】
オプションで、符号化側は、該複数の予測モードのインデックスを共同で符号化する。例えば、トランケーテッドユーナリ符号方式で該複数の予測モードのインデックスを符号化し、即ち、該複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式で生成され、例えば、以下の例1及び例2を参照してもよい。別の例として、二分木方式で該複数の予測モードのインデックスを符号化し、例えば、以下の例3を参照してもよい。
【0124】
オプションで、オリジナル値モードのインデックスのコードワード長(即ち、バイナリ文字の数、コード長と呼ばれてもよい)は、他の予測モードのインデックスのコードワード長以上である。オプションで、予測モードのインデックスのコードワード長は、該予測モードの使用頻度に関連する。ここで、ここでの使用頻度はビッグデータに基づいた統計によって得られたものであってもよく、本発明の実施例はその統計方法について限定しない。例えば、使用頻度が高い予測モードほど、そのインデックスのコードワードは短い。もちろん、該複数の予測モードについて、そのうちの一部の予測モードのインデックスが該オプション的な実施形態で示されたルールを満たしてもよい。さらに、オプションで、インデックスのコードワード長が同じである複数の予測モードが存在してもよい。
【0125】
S103:符号化側は、目標予測モードのインデックスをビットストリームに符号化する。
【0126】
図7Bに示すのは、本発明の実施例によって提供される画像復号方法である。該画像復号方法は、
図7Aに示すような画像符号化方法に対応する。
図7Bに示す方法は、以下を含む。
【0127】
S201:復号側は、ビットストリームを解析してシンタックス要素を得、該シンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む。
【0128】
復号すべきユニットは、
図7Aに示す方法における符号化すべきユニットを符号化することによって得られたものであってもよい。
【0129】
オプションで、符号化側は、該複数の予測モードのインデックスを共同で符号化する。例えば、トランケーテッドユーナリ符号方式で該複数の予測モードのインデックスを符号化し、即ち、該複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式で生成される。
【0130】
オプションで、オリジナル値モードのインデックスのコードワード長は、他の予測モードのインデックスのコードワード長以上である。
【0131】
オプションで、予測モードのインデックスのコードワード長は、該予測モードの使用頻度に関連する。例えば、使用頻度が高い予測モードほど、そのインデックスのコードワードは短い。
【0132】
S202:復号側は、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを決定する。ここで、インデックステーブルは、複数の予測モードのインデックスと該複数の予測モードとの対応関係を含む。
【0133】
S203:復号側は、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して復号すべきユニットの再構成ブロックを得る。
【0134】
一例では、復号側は、目標予測モードに基づいて、復号すべきユニットの画素値を予測して予測ブロックを得る。次に、復号側は、ビットストリームを解析して復号すべきユニットの残差ブロックに関連する情報を得、該情報に基づいて復号すべきユニットの残差ブロックを得る。そして、該予測ブロックと残差ブロックとに基づいて、復号側は、復号すべきユニットを再構成して再構成ブロックを得る。
【0135】
復号側は、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成するプロセスは、これに限定されない。別の例では、復号側は、以下の
図21における方法に基づいて復号すべきユニットを再構成してもよい。
【0136】
符号化側において、通常、追加の1ビットで現在の画像ブロック(即ち、符号化すべきユニット)の予測モードがオリジナル値モードであるか否かを示す。例えば、該ビットはorg_flagと記されてもよく、org_flagが「1」であれば、現在のブロックの予測モードがオリジナル値モードであることを示し、org_flagが「0」であれば、現在のブロックの予測モードがオリジナル値モードではないことを示す。現在のブロックの予測モードがオリジナル値モードではない場合、他の予測モードのインデックスをビットストリームに符号化する。しかし、オリジナル値モードが使用される確率は非常に低いため、ほとんどの画像ブロックにおいて、1つのorg_flag「0」をビットストリームに符号化する必要があり、伝送リソースの浪費を招く(即ち、ビットストリーム伝送のオーバーヘッドが増大する)。また、予測モードがオリジナル値予測モードであるか否かにかかわらず、復号側は、このフラグビットorg_flagを先に復号する必要があるため、復号側の復号の複雑さが増大する。
【0137】
しかし、本発明の実施例によって提供される、
図7Aに示す画像符号化方法では、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを直接決定し、目標予測モードがオリジナル値モードであるか否かのフラグ(例えば、フラグビットorg_flag)をビットストリームに符号化しなくてもよい。ほとんどの場合、目標予測モードとしてオリジナル値モードが使用されず、例えば、通常、ポイント予測モード又はフレーム内予測モードが使用されるため、従来のスキームにおける、オリジナル値モードを使用するか否かを表すフラグビット(org_flag)を符号化する必要がないことは、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0138】
それに対応して、本発明の実施例の
図7Bによって提供される画像復号方法では、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを直接決定することができ、フラグビットorg_flagを解析する必要がないため、復号側の復号の複雑さを低減する。
【0139】
図7Bに示す画像復号方法は、
図7Aに示す画像符号化方法に対応するため、該画像復号方法は、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0140】
例1:上記の複数の予測モードが、オリジナル値モード、ポイント予測モード、フレーム内予測モード、及びブロックコピーモードを含むと仮定すると、1つの可能な方法は、トランケーテッドユーナリ符号方式を使用してこれらの予測モードのインデックスを符号化し、オリジナル値モードのインデックスには長いコードワードを使用し、他の予測モードのインデックスには短いコードワードを使用することである。例えば、ポイント予測モードのインデックスのコードワードは0であり、フレーム内予測モードのコードワードは10であり、ブロックコピーモードのコードワードは111であり、オリジナル値モードのインデックスのコードワードは110である。このようなスキームに基づいて、ほとんどの場合、ポイント予測モード又はフレーム内予測モードが使用されるため、オリジナル値モードを使用するか否かを表すフラグビット(org_flag)を符号化する必要がない。
【0141】
該例に基づいて、インデックステーブルは表1に示すものであってもよい。
【表1】
【0142】
例2:上記の複数の予測モードが、オリジナル値モード、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、通常残差符号化に基づくブロックコピーモード、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、及びスキップ残差符号化に基づくブロックコピーモードを含むと仮定し、通常残差符号化モードに基づくポイント予測モード、フレーム内予測モード、及びブロックコピーモードを、順次、通常ポイント予測モード(モード1)、通常フレーム内予測モード(モード2)、通常ブロックコピーモード(モード3)と記し、スキップ残差符号化モードに基づくポイント予測モード、フレーム内予測モード、及びブロックコピーモードを、順次、特殊ポイント予測モード(モード4)、特殊フレーム内予測モード(モード5)、特殊ブロックコピーモード(モード6)と記し、オリジナル値モード(モード7)と合わせて7つの予測パターンがある。この場合、1つの可能な方法は、モード1~7のコードワードは、それぞれ、0、10、110、1110、11110、111110、111111であるように、トランケーテッドユーナリ符号方式でこれらの予測モードのインデックスを符号化することである。
【0143】
該例に基づいて、インデックステーブルは表2に示すものであってもよい。
【表2】
【0144】
例3:二分木方式で複数の予測モードのインデックスを符号化する。表3に示すのは、1つの符号化方式である。
【表3】
【0145】
表3では、複数の予測モードが上記の15種類の予測モードを含むことを例として説明する。実際の実施では、表3に示すインデックステーブルは、予測モードと予測モードのインデックスとの2列のみ、又は予測モード番号と予測モードと予測モードのインデックスとの3列のみを含んでもよい。
【0146】
表3における複数の予測モードのインデックスは、以下のルールで生成される。
【0147】
まず、「0」及び「1」をそれぞれ「ポイント予測モード、フレーム内ブロックコピーモード」及び「フレーム内予測モード、オリジナル値モード」のインデックスの最上位のフラグビットとする。
【0148】
次に、「ポイント予測モード、フレーム内ブロックコピーモード」については、「0」及び「1」をそれぞれ「ポイント予測モード」及び「フレーム内ブロックコピーモード」のインデックスの2番目に高いフラグビットとする。
【0149】
次に、ポイント予測モードについては、「1」及び「0」をそれぞれ「ポイント予測モード0~1」及び「ポイント予測モード2~3」のインデックスの3番目のフラグビットとする。
【0150】
最後に、「ポイント予測モード0~1」については、「0」及び「1」をそれぞれ「ポイント予測モード0」及び「ポイント予測モード1」のインデックスの4番目のフラグビットとする。
【0151】
従って、ポイント予測モード0及びポイント予測モード1のインデックスは、それぞれ「0010」及び「0011」である。他の予測モードのインデックスの生成方式は、これと類似するため、ここでは説明を省略する。
【0152】
フレーム内予測モード0~6については、「1」及び「0」をそれぞれ「フレーム内予測モード0」及び「フレーム内予測モード1~6」のインデックスの2番目に高いビットとして使用する。他のフレーム内予測モードのインデックスについては、説明を省略する。フレーム内ブロックコピーモードのインデックスの生成方式について、これと類似する。
【0153】
オプションで、予測モードのインデックスのコード長は、該予測モードの使用頻度に関連する。一例では、表3を参照し、ポイント予測モード0~3の使用頻度がほぼ同じであることを考慮して、それらのインデックスのコード長が同じに設定され、フレーム内予測モード0の使用頻度がフレーム内予測モード1~6の使用頻度より高いことを考慮して、そのインデックスのコード長は、フレーム内予測モード1~6のインデックスのコード長より短い。他の例は一々列挙しない。
【0154】
オプションで、ある予測モードのインデックスは、他の予測モードのインデックスのプレフィックスとして使用されない。例えば、予測モード0のインデックスは「11」であり、他の14種類の予測モードのインデックスのプレフィックスはいずれも「11」ではない。これは、「ある1つ又は複数の予測モードのインデックスのプレフィックスが「11」であると、復号側が「11」を識別した時点で、該予測モードが予測モード0であるか、該1つ又は複数の予測モードであるかを決定することができない」ことを考慮して提案した技術案であり、これは、復号側が迅速に復号することに役立つ。
【0155】
二分木方式に基づいて複数の予測モードのインデックスを生成する具体的な実施形態は、表3に限定されない。
【0156】
例えば、表3では、ポイント予測モード0~3のインデックスのコード長は等しいが、具体的な実現では、いずれか2つのポイント予測モードのインデックスのコード長は等しくなくてもよく、例えば、フレーム内予測モード0~6のインデックスの生成方式を参照してもよい。
【0157】
例えば、フレーム内予測モード0~6のインデックスのコード長は等しくてもよく、例えば、ポイント予測モード0~3のインデックスの生成方式を参照してもよい。
【0158】
例えば、表3では、「0」及び「1」をそれぞれ「ポイント予測モード、フレーム内ブロックコピーモード」及び「フレーム内予測モード、オリジナル値モード」のインデックスの最上位のフラグビットとするが、具体的な実現では、「1」及び「0」をそれぞれ「ポイント予測モード、フレーム内ブロックコピーモード」及び「フレーム内予測モード、オリジナル値モード」のインデックスの最上位のフラグビットとしてもよい。
【0159】
他の例は一々列挙しない。
【0160】
実施例2
【0161】
図8Aに示すのは、本発明の実施例によって提供される画像符号化方法の概略図である。
図8Aに示す方法は、以下のステップを含む。
【0162】
S301:符号化側は、符号化すべきユニットの残差符号化モードを決定する。ここで、残差符号化モードは、スキップ残差符号化モード又は通常残差符号化モードを含んでもよい。
【0163】
符号化すべきユニット、スキップ残差符号化モード、及び通常残差符号化モードに関する関連説明は、上記に記載されているため、ここでは説明を省略する。
【0164】
S302:該残差符号化モードがスキップ残差符号化モードである場合、符号化側は、該残差符号化モードのインデックスをビットストリームに符号化する。この場合、符号化すべきユニットの残差量子化関連値(例えば、near値又はQP値など)をビットストリームに符号化する必要がない。
【0165】
S303:該残差符号化モードが通常残差符号化モードである場合、符号化側は、該残差符号化モードのインデックス及び符号化すべきユニットの残差量子化関連値(例えば、near値又はQP値など)をビットストリームに符号化する。一例では、符号化側は、まず該残差符号化モードのインデックスを符号化し、次に符号化すべきユニットの残差量子化関連値を符号化する。
【0166】
S304:該残差符号化モードがスキップ残差符号化モードである場合、符号化側は、符号化すべきユニットを予測して予測ブロックを得、該予測ブロックを符号化すべきユニットの再構成ブロックとして決定する。この場合、符号化すべきユニットの残差量子化関連値を取得する必要がない。
【0167】
S305:該残差符号化モードが通常残差符号化モードである場合、符号化側は、符号化すべきユニットの残差量子化関連値を取得して残差ブロックを得、該残差ブロックに基づいて、符号化すべきユニットを再構成して符号化すべきユニットの再構成ブロックを得る。
【0168】
ここで、S304~S305は、符号化側によって実行される再構成プロセスと見なすことができる。
【0169】
図8Bに示すのは、本発明の実施例によって提供される画像復号方法の概略図である。該画像復号方法は、
図8Aに示す画像符号化方法に対応する。
図8Bに示す方法は、以下のステップを含む。
【0170】
S401:復号側は、ビットストリームを解析してシンタックス要素を得る。該シンタックス要素は、復号すべきユニットの残差符号化モードのインデックスを含む。該復号すべきユニットは、
図8Aに示す方法で符号化すべきユニットを符号化することによって得られた画像ブロックであってもよい。
【0171】
S402:残差符号化モードのインデックスがスキップ残差符号化モードを指示するために用いられる場合、復号側は、復号すべきユニットを予測して予測ブロックを得、該予測ブロックを復号すべきユニットの再構成ブロックとして決定する。残差符号化モードがスキップ残差符号化モードであり、即ち、復号すべきユニットの残差値は全て0であるため、該予測ブロックを再構成ブロックとして直接決定してもよい。
【0172】
S403:残差符号化モードのインデックスが通常残差符号化モードを指示するために用いられる場合、復号側は、復号すべきユニットの残差量子化関連値を解析して残差ブロックを得、少なくとも該残差ブロックに基づいて、復号すべきユニットを再構成して再構成ブロックを得る。
【0173】
一例では、上記のシンタックス要素は、さらに、復号すべきユニットの予測モードを含んでもよく、復号側は、該予測モードに基づいて、復号すべきユニットを予測して予測ブロックを得、該残差ブロックと該予測ブロックとに基づいて、復号すべきユニットを再構成して再構成ブロックを得る。少なくとも残差ブロックに基づいて復号すべきユニットを再構成するプロセスは、これに限定されない。別の例では、
図21に示す方法に基づいて再構成を行い、再構成ブロックを得る。
【0174】
通常、1つのフラグビット(res_skip_flagと記す)で現在のブロックにはスキップ残差符号化モードを使用するか否かを示し、残差量子化関連値の符号化(復号)はres_skip_flagの前に行われるため、res_skip_flagが1であっても残差量子化関連値を符号化(復号)する必要がある。しかし、この場合の残差量子化関連値は余計なものであるため、該技術案は、符号化側と復号側との間のビットストリーム伝送のオーバーヘッドを増大させるだけでなく、復号側の復号の複雑さも増大させる。
【0175】
しかし、本発明の実施例の
図8Aによって提供される画像符号化方法では、「スキップ残差符号化モードである(例えば、res_skip_flagが1である)場合、残差係数を符号化又は復号する必要がないため、残差量子化関連値(例えば、near値又はQP値など)も符号化(復号)する必要がない」ことを考慮したため、符号化側において、まず残差符号化モード情報(例えば、残差符号化モードのインデックス、例えばres_skip_flag)を符号化し、次に残差符号化モードに基づいて残差量子化関連値(例えば、near値又はQP値)を符号化するか否かを決定することを提案した。このように、残差符号化モードがスキップ残差符号化モードである場合、残差量子化関連値を符号化する必要がなく、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0176】
それに対応して、本発明の実施例の
図8Bによって提供される画像復号方法では、まず残差符号化モード情報(例えば、残差符号化モードのインデックス、例えばres_skip_flag)を解析し、次に残差符号化モードに基づいて残差量子化関連値(例えば、near値又はQP値)を解析するか否かを決定してもよく、復号側の復号の複雑さを低減する。
【0177】
実施例3
【0178】
図9Aに示すのは、本発明の実施例によって提供される画像符号化方法の概略図である。
図9Aに示す方法は、以下のステップを含む。
【0179】
S501:符号化側は、符号化すべきユニットの目標予測モードを決定する。ここで、目標予測モードは、スキップ残差符号化に基づく予測モード又は通常残差符号化に基づく予測モードを含む。
【0180】
スキップ残差符号化に基づく予測モード、及び通常残差符号化に基づく予測モードは、本発明の実施例で定義された新たな予測モードを得るために、予測モードと残差符号化モードとを組み合わせたものと考えられてもよい。
【0181】
一例では、スキップ残差符号化に基づく予測モードは、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードを含む。
【0182】
一例では、通常残差符号化に基づく予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、又は通常残差符号化に基づくブロックコピーモードを含む。
【0183】
S502:符号化側は、目標予測モードのインデックスをビットストリームに符号化する。
【0184】
一例では、目標予測モードのインデックスの生成方式は、
図7Aに示す実施例における関連例を参照してもよく、例えば、該複数の予測モードのインデックスを共同で符号化し、例えば、トランケーテッドユーナリ符号方式で該複数の予測モードのインデックスを符号化する。もちろん、具体的な実現はこれに限定されない。別の例では、まずフラグビットorg_flagを符号化する方式などの従来の方式で、目標予測モードのインデックスをビットストリームに符号化してもよい。
【0185】
S503:目標予測モードがスキップ残差符号化に基づく予測モードである場合、符号化側は、符号化すべきユニットを予測して予測ブロックを得、該予測ブロックを符号化すべきユニットの再構成ブロックとして決定する。
【0186】
S504:目標予測モードが通常残差符号化に基づく予測モードである場合、符号化側は、符号化すべきユニットの残差量子化関連値を取得して符号化すべきユニットの残差ブロックを得、目標予測モードと残差ブロックとに基づいて、符号化すべきユニットを再構成して再構成ブロックを得る。
【0187】
ここで、S503~S504は、符号化側によって実行される再構成プロセスと見なすことができる。
【0188】
一例では、目標予測モードと残差ブロックとに基づいて、符号化すべきユニットを再構成するステップは、目標予測モードに基づいて、符号化すべきユニットを予測して予測ブロックを得、該予測ブロックと該残差ブロックとに基づいて、符号化すべきユニットを再構成するステップを含んでもよい。もちろん、これに限定されず、別の例では、
図21に示す方法に基づいて再構成を行い、再構成ブロックを得る。
【0189】
図9Bに示すのは、本発明の実施例によって提供される画像復号方法の概略図である。該画像復号方法は、
図9Aに示す画像符号化方法に対応する。
図9Bに示す方法は、以下のステップを含む。
【0190】
S601:復号側は、ビットストリームを解析してシンタックス要素を得、該シンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む。ここで、目標予測モードは、スキップ残差符号化に基づく予測モードのインデックス又は通常残差符号化に基づく予測モードのインデックスを含む。
【0191】
S602:目標予測モードがスキップ残差符号化に基づく予測モードである場合、復号側は、復号すべきユニットを予測して予測ブロックを得、予測ブロックを再構成ブロックとして決定する。
【0192】
S603:目標予測モードが通常残差符号化に基づく予測モードである場合、復号側は、復号すべきユニットの残差量子化関連値を解析して復号すべきユニットの残差ブロックを得、目標予測モードと残差ブロックとに基づいて、復号すべきユニットを再構成して再構成ブロックを得る。
【0193】
一例では、目標予測モードと残差ブロックとに基づいて、復号すべきユニットを再構成するステップは、目標予測モードに基づいて、復号すべきユニットを予測して予測ブロックを得、該予測ブロックと該残差ブロックとに基づいて、復号すべきユニットを再構成するステップを含んでもよい。もちろん、これに限定されず、別の例では、
図21に示す方法に基づいて再構成を行い、再構成ブロックを得る。
【0194】
図9A及び
図9Bに示す画像符号化及び復号方法は、少なくとも以下の有益な効果を有する。従来の残差符号化モードと予測モードとを組み合わせて本発明の実施例によって提供される新たな予測モードとすることにより、残差符号化モードと予測モードとをそれぞれ符号化(復号)する必要がなく、該新たな予測モードを一律に符号化(復号)すればよく、実現ロジックがシンプルであり、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。又は、符号化側は、残差スキップモードも予測モードとして符号化してもよい。符号化側(復号側)は、まず予測モードを符号化(復号)し、次に予測モードに基づいて残差量子化関連値(例えば、near値又はQP値)を解析する必要があるか否かを決定することによって、ビットレートが節約される。また、まず残差符号化モード情報(例えば、残差符号化モードのインデックス、例えばres_skip_flag)を符号化(又は復号)し、次に残差符号化モードに基づいて残差量子化関連値(例えば、near値又はQP値)を符号化(又は復号)するか否かを決定し、それにより、残差符号化モードがスキップ残差符号化モードである場合、残差量子化関連値を符号化(又は復号)する必要がなく、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0195】
例えば、上記の例2に示す符号化方法に基づいて、復号側においては、予測モードに基づいて、復号すべきユニットに対応する符号化すべきユニットについて残差を符号化する必要があるか否かを知ることができる。残差を符号化する必要がないモード(例えば、上記のモード4、5、6、7)については、残差量子化関連値(例えば、near値又はQP値)を符号化(復号)する必要がない。
【0196】
実施例4
【0197】
図10に示すのは、本発明の実施例によって提供される、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法である。
図10に示す方法は、以下のステップを含んでもよい。
【0198】
S701:現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定する。ここで、該少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行にある連続する複数の画素を含み、該いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、第1の指定画素領域は、複数の画素グループを含み、該複数の画素グループは、第2の指定画素領域に基づいて分割することにより得られ、第1の指定画素領域と第2の指定画素領域との予測方式が異なる。該複数の画素グループを並列に予測することが可能であり、1つの画素グループは、1つ又は連続する複数の画素を含む。
【0199】
本実施例が画像符号化方法に適用される場合、本実施例の実行主体は符号化側であってもよく、現在の画像ブロックは具体的に符号化すべき画像ブロック又は符号化すべきユニットである。
【0200】
本実施例が画像復号方法に適用される場合、本実施例の実行主体は復号側であってもよく、現在の画像ブロックは具体的に復号すべき画像ブロック又は復号すべきユニットであってもよい。S701は、ビットストリームを解析して、現在の画像ブロックが分割された少なくとも1つの予測グループのうちのいずれか1つ又は複数の予測グループの予測モードのインデックスを得るステップを含んでもよい。
【0201】
本発明の実施例は、現在の画像ブロックのサイズについて限定せず、例えば、現在の画像ブロックの幅は高さより大きい。例えば、現在の画像ブロックのサイズは、16*2、8*2、又は8*1などである。
【0202】
一例では、現在の画像ブロックは1つの予測グループに分割されてもよく、それは、現在の画像ブロックに対して予測グループの分割を行わないことと等価である。この場合、現在の画像ブロック内の全ての画素が1つの予測グループとされる。
【0203】
別の例では、現在の画像ブロックは、複数の予測グループに分割されてもよい。
【0204】
本発明の実施例は、現在の画像ブロックの予測グループの分割方式、及び各予測グループの予測モードについて限定しない。以下、分割モードと、該分割モードにおける予測モードとをまとめて「分割予測モード」と呼ぶ。
【0205】
一例では、1つの予測グループは、現在の画像ブロックの1行/複数行の全て/一部の画素から構成されてもよく、もちろん、他の実施形態であってもよい。原則として、1つの予測グループは、同じ行にある連続する複数の画素を含んでいればよい。
【0206】
一例では、1つの予測グループに含まれる該連続する複数の画素の数は、予め設定された閾値以上である。これは、1つの予測グループ内の連続する複数の画素の数が比較的多い場合、該予測グループ内の画素を直列に予測すると、該予測グループに対する予測に時間がかかる可能性があることを考慮したためである。この場合、本技術案を採用すれば、1つの予測グループ内の複数の画素グループを並列に予測することが可能となり、該予測グループの予測時間を短縮することに役立つ。
【0207】
予測プロセスにおいて、2つの画素グループ内の画素の間に依存関係がなければ、これら2つの画素グループを並列に予測してもよい。異なる画素グループに含まれる画素の数は等しくてもよく、等しくなくてもよい。
【0208】
本発明の実施例は、第1の指定画素領域及び第2の指定画素領域に具体的にどの画素が含まれるか、及びこれらの画素の予測方式について限定しない。原則として、「複数の画素グループを並列に予測することが可能であり、画素グループは、1つ又は連続する複数の画素を含む」ことを満たしていれば、いずれかの「第1の指定画素領域及び第2の指定画素領域、及び予測方式」を使用してもよい。
【0209】
図11に示すのは、本発明の実施例によって提供される並列画素グループの分割方式である。
図11において、1つの予測グループ内の同じ行にある連続する複数の画素は画素1~12であり、第1の指定画素領域に含まれる画素は画素3、7、11であり、第2の指定画素領域に含まれる画素は画素1~2、4~6、8~10、12である。複数の画素グループは画素グループ1~4であり、ここで、画素グループ1~3は複数の画素を含み、画素グループ4は1つの画素を含む。画素グループ2に含まれる画素の数は、画素グループ3に含まれる画素の数と等しく、他の画素グループに含まれる画素の数と等しくない。
【0210】
一例では、第1の指定画素領域には垂直予測が使用され、第2の指定画素領域には水平予測が使用される。このように、複数の画素グループ間の並列予測が可能となる。
【0211】
別の例では、第1の指定画素領域には垂直予測が使用され、第2の指定画素領域には垂直平均値予測が使用される。このように、複数の画素グループ間の並列予測が可能となる。
【0212】
オプションで、異なる画素グループに含まれる画素の数の差が閾値以下である。このように、複数の画素グループに含まれる画素の数が等しく、又はできるだけ等しくなるようにすることに役立ち、それにより、並列に予測される異なる画素グループの予測時間が同じ又はほぼ同じになり、1つの予測グループの総予測時間が短縮される。
【0213】
S702:該少なくとも1つの予測グループの予測モードに基づいて、現在の画像ブロックを再構成して再構成ブロックを得る。
【0214】
例えば、該少なくとも1つの予測グループのうちのいずれかの予測グループについて、該予測グループの予測モードに基づいて、該予測グループを予測して該予測グループの予測ブロックを得、該予測グループの残差ブロックを取得し、該予測ブロックと該残差ブロックとに基づいて、該予測グループの再構成ブロックを取得する。もちろん、例えば、残差ブロック内の値が全て0である場合、該予測ブロックを該再構成ブロックとして直接決定するなど、他の実施形態もあり得る。別の例として、
図21に示す方法に基づいて再構成を行い、再構成ブロックを得る。
【0215】
図11に示す画像再構成方法では、予測を実行する際に、1つの予測グループ内の複数の画素グループを並列に予測することが可能であり、これは該予測グループの総予測時間を短縮することに役立つ。
図11に示す画像コーディング方法は、本発明の実施例によって提供される新たなポイント予測モードと見なすことができる。
【0216】
拡張的に、
図11に示す画像再構成方法における「行」を「列」に置き換えて、新たな実施例を構成してもよく、それにより、高さが幅より大きい(例えば、現在の画像ブロックのサイズは、2*16、2*8、又は1*8などである)現在の画像ブロックにおいて、予測プロセスが並列に実行できないことによる、予測プロセスに時間がかかるという問題を解決する。この場合、一例では、該第1の指定画素領域には水平予測が使用され、第2の指定画素領域には垂直予測が使用される。別の例では、該第1の指定画素領域には水平予測が使用され、第2の指定画素領域には水平平均値予測が使用される。他の関連実施例は、本発明の
図11に対する関連説明に基づいて推論により得ることができ、ここでは説明を省略する。
【0217】
以下、具体例により、
図11に示す画像再構成方法について説明する。
【0218】
16×2の現在の画像ブロックを対象とし、具体的に、16×2の輝度ブロックであってもよく、16×2の色度ブロックであってもよい。
【0219】
1)16×2の現在の画像ブロックの1つの予測分割モードは、
図12に示すとおりであり、ここで、現在の画像ブロックはGroup1~2を含む。具体的に、Group1は2行目の画素からなり、Group1には水平予測が使用され、Group2は1行目の画素からなり、Group2には垂直平均値予測が使用される。ここで、Group2の画素については、上側の隣接する16×2の画像ブロックの最後の行の画素を参照してもよい。
【0220】
図12に示すように、Group2内の2番目の画素の符号化は、1番目の画素の再構成値に依存するため、1番目の画素と2番目の画素との符号化を並列に行うことができず、復号も類似する。また、Group1内の1番目の画素の符号化は、Group2の1番目の画素の再構成値に依存するため、符号化や復号を同時に行うこともできない。従って、このような予測分割モードの並列度が低く、ハードウェアの実現には向いていない。
【0221】
予測プロセスにおける並列度を向上させるために、本発明の実施例の
図11に示す実施例に適用して、16×2の現在の画像ブロックの予測分割モードは、
図13A又は
図13Bに示すものであってもよい。ここで、
図13A及び
図13Bに示す現在の画像ブロックの予測グループの分割モードは、
図12と同じであるが、予測モードが異なる。具体的に、任意の16×2の現在の画像ブロックについては、その左側の1列(2画素)及び上側の1行(16画素)の値を参照してもよい。16×2の現在の画像ブロックの最も左の画素を1番目の画素と呼ぶ。
【0222】
スキーム1:
図13Aに示すように、予測モードは以下を含む。
【0223】
a)Group1及びGroup2のkN+1(Nは好ましくは4であり、k=1、2又は3)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。
【0224】
b)Group2の画素のうち、kN+1(Nは好ましくは4であり、k=1、2又は3)番目の画素を除く他の画素について、その左側の画素の再構成値を現在の画素の予測値として使用する。
【0225】
c)オプションで、Group1内の画素のうち、kN+1(Nは好ましくは4であり、k=1、2又は3)番目の画素を除く他の画素の予測値は、予め設定された値(即ち、デフォルト値)である。オプションで、該他の画素について、その上側の画素の再構成値(上側の隣接する他のブロックの再構成値、P0と記す)とその下側の画素の再構成値(group2の再構成値、P1と記す)との平均値(例えば、(P0+P1+1)>>1)を現在の画素の予測値として使用する。ここで、「>>」は整数の右シフトを表す。「a>>N」は、aをNビット右にシフトすることを表し、aを2のN乗で割るのと類似するため、「>>1」は、2で割るのとに相当する。
【0226】
スキーム2:
図13Bに示すように、予測モードは以下を含む。
【0227】
d)Group1及びGroup2のkN+2(Nは好ましくは5であり、k=1、2)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。
【0228】
e)Group2の画素のうち、kN+2(Nは好ましくは5であり、k=1、2)番目の画素を除く他の画素について、その左側の画素の再構成値を現在の画素の予測値として使用する。
【0229】
f)オプションで、Group1の画素のうち、kN+2(Nは好ましくは5であり、k=1、2)番目の画素を除く他の画素について、その上側の画素の再構成値(上側の隣接する他のブロックの再構成値、P0と記す)とその下側の画素の再構成値(group2の再構成値、P1と記す)との平均値(例えば、(P0+P1+1)>>1、1ビット右にシフト、即ち、2で割る)を現在の画素の予測値として使用する。
【0230】
2)16×2の現在の画像ブロックの1つの予測分割モードは、
図14に示すとおりであり、ここで、現在の画像ブロックはGroup1~2を含む。具体的に、Group1は1行目の画素からなり、Group1には水平予測が使用され、Group2は2行目の画素からなり、Group2には水平予測が使用される。
【0231】
予測プロセスにおける並列度を向上させるために、本発明の実施例の
図11に示す実施例に適用して、16×2の現在の画像ブロックの1つの予測分割モードは、
図15A~
図15Dに示すとおりである。ここで、
図15A~
図15Dに示す現在の画像ブロックの予測グループの分割モードは、
図14と同じであるが、予測モードが異なる。具体的に以下を含む。
【0232】
スキーム1:
図15Aに示すように、予測モードは以下を含む。
【0233】
a)Group1及びGroup2のkN+1(Nは好ましくは4であり、k=1、2、3)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。
【0234】
b)Group1及びGroup2の他の画素について、その左側の画素の再構成値を現在の画素の予測値として使用する。
【0235】
スキーム2:
図15Bに示すように、予測モードは以下を含む。
【0236】
Group1及びGroup2のkN+1(Nは好ましくは4であり、k=2、3)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0237】
スキーム3:
図15Cに示すように、予測モードは以下を含む。
【0238】
Group1及びGroup2のkN+2(Nは好ましくは5であり、k=1、2)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0239】
スキーム4:
図15Dに示すように、予測モードは以下を含む。
【0240】
Group1及びGroup2のkN+1(Nは好ましくは8であり、k=1)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0241】
上記の実施例1~2において、N及びkは他の値であってもよい。また、予測グループ内の連続する複数の画素の数が異なる場合、N及びkの値はそれに応じて異なってもよい。
【0242】
図13A~
図13B、
図15A~
図15Dにおける黒くマークされた画素の現在の画像ブロックの周囲の現在の画像ブロックの再構成値は、利用できない場合、デフォルト値に設定されてもよい。
【0243】
8×2の現在の画像ブロックを対象とし、具体的に、8×2の輝度ブロックであってもよく、8×2の色度ブロックであってもよい。
【0244】
8×2の現在の画像ブロックに対する1つのグループ化分割モードは、
図16A及び
図16Bに示すとおりである。ここで、任意の8×2の現在の画像ブロックについては、左側の1列(2画素)及び上側の1行(8画素)の画素の再構成値を参照してもよい。
【0245】
図16Aに示すように、予測分割モードAにおいて、全ての画素について、上側の画素の再構成値を現在の画素の予測値として使用する。
【0246】
図16Bに示すように、予測分割モードBにおいて、全ての画素について、その左側の画素の再構成値を現在の画素の予測値として使用する。
【0247】
予測プロセスにおける並列度を向上させるために、本発明の実施例の
図11に示す実施例に適用して、8×2の現在の画像ブロックの1つの予測分割モードは、
図17に示すとおりである。
【0248】
図17において、Group1及びGroup2のkN+1(Nは好ましくは4、k=1)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0249】
8×1の現在の画像ブロックを対象とし、具体的に、8×1の輝度ブロックであってもよく、8×1の色度ブロックであってもよい。
【0250】
8×1の現在の画像ブロックに対する1つのグループ化分割モードは、
図18A及び
図18Bに示すとおりである。ここで、任意の8×1の現在の画像ブロックについては、左側の1列(1画素)及び上側の1行(8画素)の画素の再構成値を参照してもよい。
図18Aに示すように、予測分割モードAにおいて、全ての画素について、上側の画素の再構成値を現在の画素の予測値として使用し、
図18Bに示すように、予測分割モードBにおいて、全ての画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0251】
図18A及び
図18Bにおいて、8×1の現在の画像ブロックを1つの予測グループに分割した。
【0252】
予測プロセスにおける並列度を向上させるために、本発明の実施例の
図11に示す実施例に適用して、8×1の現在の画像ブロックの1つの予測分割モードは、
図19に示すとおりである。
【0253】
図19において、8×1の現在の画像ブロックのkN+1(Nは好ましくは4、k=1)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0254】
一例では、上記のいずれかのスキームにおいて、現在の画像ブロックが1フレームの画像又は独立符号化(復号)ユニットの1列目にある場合、現在の画像ブロックの左側に画素が存在せず、このとき、その再構成値の代わりにデフォルト値を使用してもよい。例えば、該デフォルト値は1<<(bit_depth-1)であってもよい。
【0255】
同様に、上記のいずれかのスキームにおいて、現在の画像ブロックが画像又は独立符号化(復号)ユニットの1行目にある場合、現在の画像ブロックの上側に画素が存在せず、このとき、その再構成値の代わりにデフォルト値を使用してもよい。例えば、該デフォルト値は1<<(bit_depth-1)であってもよい。ここで、bit_depthは、現在の画像ブロックのビット幅を表し、例えば、8、9、10、12、又は16などであってもよい。1<<(bit_depth-1)は、bit_depth-1を1ビット左にシフトすることを表す。
【0256】
本発明における画素の再構成値は、いずれも画素のある成分における画素値と見なすことができる。例示的に、ここでの成分は、RGBフォーマットにおける赤R成分、緑G成分、又は青B成分であってもよく、又は、YCbCrフォーマットにおける輝度Y成分、色度青Cb成分、又は色度赤Cr成分であってもよい。各成分のサイズは、画像のサイズと同じであってもよいし、画像のサイズより小さくてもよい。例えばYUV420フォーマットでは、Yのサイズは画像のサイズと等しいが、U又はVの幅及び高さはYの半分しかなく、即ち、そのサイズは画像の1/4しかない。これに基づいて、ここでのbit_depthは、ある成分における現在の画像ブロックのビット幅を表してもよい。
【0257】
上記のいずれかのスキームにおいて、各Groupについて、上記の水平又は垂直予測モードだけでなく、他の予測モードを使用してもよい。1つの可能な予測モードは、隣接する画像ブロック、又は隣接する独立画像ブロックの画素値を用いて参照予測を行うことである。
【0258】
実施例5
【0259】
本発明のいくつかの実施例では、符号化側は、符号化ユニットの残差ブロックをグループ化してもよい。具体的に、符号化ユニットの各行の画素は1つの予測グループとされ、該予測グループの残差ブロックは、少なくとも1つの残差サブブロックに分割される。
【0260】
分割モード1:1つの予測グループの残差ブロックは、1つの残差サブブロックに分割される。これは、
図20のa図に示すように、残差ブロックをグループ化しないことと等価である。
【0261】
分割モード2:1つの予測グループの残差ブロックは、複数の残差サブブロックに分割される。具体的に、予め設定された割合に従って、1つの予測グループの残差ブロックを複数の残差サブブロックに分割する。本発明は、該予め設定された割合について限定しない。該複数の残差サブブロックのサイズが等しくてもよく、又は、一部の残差サブブロックのサイズが等しくてもよい。
【0262】
例えば、
図20のb図に示すように、1:1の割合に従って、1つの予測グループの残差ブロックを2つの残差サブブロックに分割する。
【0263】
例えば、
図20のc図に示すように、2:1:1の割合に従って、1つの予測グループの残差ブロックを3つの残差サブブロックに分割する。
【0264】
例えば、
図20のd図に示すように、1:1:2の割合に従って、1つの予測グループの残差ブロックを3つの残差サブブロックに分割する。
【0265】
例えば、
図20のe図に示すように、1:1:1:1の割合に従って、1つの予測グループの残差ブロックを4つの残差サブブロックに分割する。
【0266】
図20のa~e図は、いずれも符号化ユニットが16×2であり、各行が1つの予測グループとされることを例として説明される。該16×2の符号化ユニットは、輝度ブロックであってもよいし、色度ブロックであってもよい。各図における各小さな矩形は、1つの画素を表し、同じ種類の小さな矩形(例えば、いずれも白い矩形、又はいずれも同じ色合いでマークされた矩形)は、同一の残差サブブロック内の画素を表す。
【0267】
また、8×1の予測グループについて、該予測グループの残差ブロックを1つの残差サブブロックに分割してもよいし、2つの残差サブブロックに均等に分割してもよい。もちろん、具体的な実現では、これらに限定されない。
【0268】
一例では、同一の残差サブブロック内の画素の係数符号化方式は同じであり、又は、同一の残差サブブロック内の画素の符号化長、即ち残差係数が符号化された後に占有するビット数は同じである。
【0269】
一例では、上記の
図20は残差ブロックの5つの分割モードを示す。
【0270】
一例では、1ビット又は3ビットで分割モードGPMを表してもよい(表4に示すとおり)。ここでのGP0~GP4は、それぞれ
図20のa~e図に対応してもよい。
【表4】
【0271】
表4に示す残差ブロック分割モードのインデックス符号化方法は、他のサイズの予測グループの残差ブロックの分割モード、及び上記の予測グループの他の分割モードに適用されてもよい。
【0272】
1つの残差ブロックが分割された残差サブブロックの数が多い場合、符号化が必要な分割モード情報が多く、1つの残差ブロックが分割された残差サブブロックの数が少ない場合、特性の異なる残差が1つのグループに分けられ、残差係数の符号化効率が高くない。少なくともこの2つの観点を考慮し、本発明の実施例は、上記の残差ブロックの分割方法を提供した。
【0273】
実施例6
【0274】
図21に示すように、本発明の実施例によって提供される、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法の概略図である。
図21に示す方法は、以下のステップを含んでもよい。
【0275】
S801:現在の画像ブロックの目標予測モードを決定し、ここで、現在の画像ブロックは、少なくとも1つの予測グループを含み、該少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む。ここで、該連続する複数の画素は、1行内の連続する複数の画素であってもよく、1列内の連続する複数の画素であってもよい。
【0276】
本実施例が画像符号化方法に適用される場合、本実施例の実行主体は符号化側であってもよく、現在の画像ブロックは具体的に符号化すべき画像ブロック又は符号化すべきユニットである。
【0277】
本実施例が画像復号方法に適用される場合、本実施例の実行主体は復号側であってもよく、現在の画像ブロックは具体的に復号すべき画像ブロック又は復号すべきユニットであってもよい。S801は、ビットストリームを解析して、現在の画像ブロックの目標予測モードのインデックスを得るステップを含んでもよい。
【0278】
S802:目標予測モードが予め設定された条件を満たす場合、該連続する複数の画素のうちの最初の画素の参照値と、該最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、目標画素の再構成値を決定する。ここで、目標画素は、該連続する複数の画素のうちのいずれか1つの非最初の画素であり、現在の画像ブロックの再構成ブロックは、目標画素の再構成値を含む。
【0279】
一例では、該連続する複数の画素のうちの最初の画素には第1の予測方式が使用され、非最初の画素には第2の予測方式が使用される。目標予測モードは、第1の予測方式と第2の予測方式とを含む。この場合、目標予測モードが予め設定された条件を満たすことは、以下のいずれか1つの条件を含む。
【0280】
条件1:第1の予測方式と第2の予測方式とはいずれも水平予測である。
【0281】
条件2:第1の予測方式と第2の予測方式とはいずれも垂直予測である。
【0282】
条件3:第1の予測方式と第2の予測方式との一方は水平予測であり、他方は垂直予測である。例えば、第1の予測方式は水平予測であり、第2の予測方式は垂直予測である。別の例として、第1の予測方式は垂直予測であり、第2の予測方式は水平予測である。
【0283】
条件4:第1の予測方式は、現在の画像ブロックに隣接する画像ブロックの画素値、又は現在の画像ブロックが位置する独立符号化(復号)ユニットに隣接する独立符号化(復号)ユニットの画素値を用いて参照予測を行う方式である。第2の予測方式は、水平予測又は垂直予測である。
【0284】
本実施例によって提供される画像再構成方法では、符号化側/復号側が、再構成を実行する際に、その前の画素とそれに隣接する画素との残差値に基づいて、現在の画素の再構成値を直接取得することができ、その前の画素の再構成値を取得するのを待つ必要がなく、該技術案は、再構成プロセスの並列度を大幅に向上させることもできるため、復号並列度及びスループットを向上させる。
【0285】
簡単のため、以下、
図22に示す8×1の画像ブロックの予測モードを例として説明する。他の画像ブロック又は他の予測モードについては簡単に類推することができ、ここでは説明を省略する。
【0286】
現在の8×1画像ブロックの再構成値をR(i)、残差値をRes(i)、予測値をPred(i)、i=0、1、・・・7とする。
図22に示すように、現在の8×1ブロックの上側の8×1ブロックの再構成値はRA(i)、i=0、1、・・・、7であり、左側の画素の再構成値はRLi、i=0、1である。ここで、
図22は、
図19に基づいて描かれたものである。
【0287】
従来の方法に基づいて、8×1の画像ブロックの予測値は、
i=0であればPred(i)=RL0、
i=1、2又は3であればPred(i)=R(i-1)、
i=4であればPred(i)=RA(4)、
i=5、6又は7であればPred(i)=R(i-1)となる。
【0288】
以上より、従来の方法では、8×1の画像ブロックの再構成値は、
R(i)=Pred(i)+Res(i)==R(i-1)/RA(4)+Res(i)、i=0,1,…7となる。
【0289】
図21に示す方法に基づいて、
i=0について、R(0)=Pred(0)+Res(0)=RL0+Res(0)となり、
i=1について、R(1)=Pred(1)+Res(1)となり、Pred(1)=R(0)であるため、R(1)=R(0)+Res(1)=RL0+Res(0)+Res(1)となる。
【0290】
同様に、i=2又は3について、R(2)=RL0+Res(0)+Res(1)+Res(2)となり、R(3)=RL0+Res(0)+Res(1)+Res(2)+Res(3)となる。
【0291】
以上より、i=0~3のいずれかの値について、
【数1】
となる。
【0292】
該方法に基づいて、i=1、2又は3の画素の再構成値について、その左側の画素の再構成値の生成を待つ必要がなく、現在の画像ブロックの左側の画素値RL0、及び現在の画素とその左側の画素との残差値を取得するだけで、現在の画素の再構成値を直接取得することができる。該方法は、復号並列度及びスループットを大幅に向上させることもできる。
【0293】
以降も同様に、i=4~7について、
【数2】
となる。
【0294】
i=5~7の画素の再構成値も、その左側の画素の再構成値を待つことなく得ることができる。
【0295】
以上に提供された任意の複数の実施例における一部又は全部の技術的特徴を、矛盾しない限り、組み合わせて新たな実施例を構成してもよい。また、上記のいずれかの実施例によって提供される技術案は、いずれも16×2、8×2、8×1の画像ブロックに適用してもよく、もちろん、例えば4×2、16×4などの他のM×Nの画像ブロックに適用してもよい。
【0296】
上記の実施例における機能を実現するために、エンコーダ/デコーダは、各機能を実行するための対応するハードウェア構造及び/又はソフトウェアモジュールを含む。当業者であれば容易に理解できるように、本発明に開示された実施例で説明された各例のユニット及び方法のステップを参照して、本発明は、ハードウェア、又はハードウェアとコンピュータソフトウェアとの組み合わせの形で実現され得る。ある機能がハードウェアで実行されるか、コンピュータソフトウェアがハードウェアを駆動する方式で実行されるかは、技術案の特定の適用シナリオ及び設計制約条件に依存する。
【0297】
以下、本発明の実施例によって提供される復号装置及び符号化装置について説明する。一例では、以下に提供される復号装置はいずれも、
図2における宛先デバイス12又はデコーダ122であってもよく、又は
図6におけるデコーダ30であってもよい。別の例では、以下に提供される符号化装置はいずれも、
図2におけるソースデバイス11又はエンコーダ112であってもよく、又は
図3におけるエンコーダ20であってもよい。これは一律のものであり、以下では説明を省略する。
【0298】
図23は、本発明によって提供される復号装置3000の概略構造図であり、上記のいずれかの復号方法の実施例は、該復号装置によって実行されてもよい。該復号装置3000は、ビットストリーム解析ユニット3001と、決定ユニット3002と、再構成ユニット3003とを含む。ビットストリーム解析ユニット3001は、ビットストリームを解析して第1のシンタックス要素を得るために用いられ、第1のシンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む。決定ユニット3002は、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを決定するために用いられる。ここで、インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む。再構成ユニット3003は、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るために用いられる。
【0299】
一例では、ビットストリーム解析ユニット3001は、
図6におけるビットストリーム解析ユニット301によって実現されてもよい。決定ユニット3002は、
図6における予測処理ユニット304によって実現されてもよい。再構成ユニット3003は、
図6における予測処理ユニット304と再構成ユニット305とを組み合わせることによって実現されてもよい。
図6における現在の画像ブロックは、本実施例における復号すべきユニットであってもよい。上記のビットストリーム解析ユニット3001、決定ユニット3002及び再構成ユニット3003に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0300】
図24は、本発明によって提供される符号化装置3100の概略構造図であり、該符号化装置3100は、予測ユニット3101と、符号化ユニット3102とを含む。予測ユニット3101は、符号化すべきユニットの目標予測モードを決定し、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを決定するために用いられる。ここで、インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む。符号化ユニット3102は、目標予測モードのインデックスをビットストリームに符号化するために用いられる。
【0301】
一例では、予測ユニット3101は、
図3における予測処理ユニット201によって実現されてもよく、符号化ユニット3102は、
図3における係数符号化ユニット205によって実現されてもよい。
図3における現在の画像ブロックは、本実施例の符号化ユニットであってもよい。上記の予測ユニット3101及び符号化ユニット3102に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0302】
図25は、本発明によって提供される符号化装置/復号装置3200の概略構造図であり、該符号化装置/復号装置3200は、決定ユニット3201と、予測ユニット3202と、再構成ユニット3203とを含む。決定ユニット3201は、現在の画像ブロックの残差符号化モードを決定するために用いられる。残差符号化モードがスキップ残差符号化モードである場合、予測ユニット3202は、現在の画像ブロックを予測して予測ブロックを得るために用いられ、再構成ユニット3203は、予測ブロックを現在の画像ブロックの再構成ブロックとして決定するために用いられる。残差符号化モードが通常残差符号化モードである場合、決定ユニット3201は、さらに、現在の画像ブロックの残差量子化関連値を取得して残差ブロックを得るために用いられ、再構成ユニット3203は、残差ブロックに基づいて、現在の画像ブロックを再構成して現在の画像ブロックの再構成ブロックを得るために用いられる。
【0303】
一例では、決定ユニット3201は、
図6におけるビットストリーム解析ユニット301によって実現されてもよく、予測ユニット3202は、
図6における予測処理ユニット304によって実現されてもよく、再構成ユニット3203は、
図6における再構成ユニット305によって実現されてもよい。別の例では、決定ユニット3201は、
図3における残差符号化ユニット203によって実現されてもよく、予測ユニット3202は、
図3における予測処理ユニット201によって実現されてもよく、再構成ユニット3203は、
図3における再構成ユニット208によって実現されてもよい。上記の決定ユニット3201、予測ユニット3202及び再構成ユニット3203に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0304】
図26は、本発明によって提供される符号化装置/復号装置3300の概略構造図であり、該符号化装置/復号装置3300は、決定ユニット3301と、予測ユニット3302と、再構成ユニット3303と、取得ユニット3304とを含む。決定ユニット3301は、現在の画像ブロックの目標予測モードを決定するために用いられる。目標予測モードがスキップ残差符号化に基づく予測モードである場合、予測ユニット3302は、現在の画像ブロックを予測して予測ブロックを得るために用いられ、再構成ユニット3303は、予測ブロックを再構成ブロックとして決定するために用いられる。目標予測モードが通常残差符号化に基づく予測モードである場合、取得ユニット3304は、現在の画像ブロックの残差量子化関連値を取得して現在の画像ブロックの残差ブロックを得るために用いられ、再構成ユニット3303は、目標予測モードと残差ブロックとに基づいて、現在の画像ブロックを再構成して再構成ブロックを得るために用いられる。
【0305】
一例では、決定ユニット3301は、
図6におけるビットストリーム解析ユニット301によって実現されてもよく、予測ユニット3302は、
図6における予測処理ユニット304によって実現されてもよく、再構成ユニット3303は、
図6における再構成ユニット305によって実現されてもよく、取得ユニット3304は、
図6におけるビットストリーム解析ユニット301と残差復号ユニット303とによって実現されてもよい。別の例では、決定ユニット3301及び予測ユニット3302は、
図3における予測処理ユニット201によって実現されてもよく、再構成ユニット3303は、
図3における再構成ユニット208によって実現されてもよく、取得ユニット3304は、
図3における残差復号ユニット303によって実現されてもよい。上記の決定ユニット3301、予測ユニット3302、再構成ユニット3303及び取得ユニット3304に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0306】
図27は、本発明によって提供される符号化装置/復号装置3400の概略構造図であり、該符号化装置/復号装置3400は、決定ユニット3401と、再構成ユニット3402とを含む。決定ユニット3401は、現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定するために用いられる。ここで、少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、第1の指定画素領域は、複数の画素グループを含み、複数の画素グループは、第2の指定画素領域に基づいて分割することにより得られ、第1の指定画素領域と第2の指定画素領域との予測方式が異なり、複数の画素グループを並列に予測することが可能であり、画素グループは、1つ又は連続する複数の画素を含む。再構成ユニット3402は、少なくとも1つの予測グループの予測モードに基づいて、現在の画像ブロックを再構成して再構成ブロックを得るために用いられる。
【0307】
一例では、決定ユニット3401は、
図6におけるビットストリーム解析ユニット301によって実現されてもよく、再構成ユニット3402は、
図6における予測処理ユニット304と再構成ユニット305とによって共に実現されてもよい。別の例では、決定ユニット3401は、
図3における予測処理ユニット201によって実現されてもよく、再構成ユニット3402は、
図3における再構成ユニット208によって実現されてもよい。上記の決定ユニット3401及び再構成ユニット3402に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0308】
図28は、本発明によって提供される符号化装置/復号装置3500の概略構造図であり、該符号化装置/復号装置3500は、決定ユニット3501と、再構成ユニット3502とを含む。決定ユニット3501は、現在の画像ブロックの目標予測モードを決定するために用いられる。ここで、前記現在の画像ブロックは、少なくとも1つの予測グループを含み、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む。再構成ユニット3502は、前記目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するために用いられる。ここで、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記現在の画像ブロックの再構成ブロックは、前記目標画素の再構成値を含む。
【0309】
一例では、決定ユニット3501は、
図6におけるビットストリーム解析ユニット301によって実現されてもよく、再構成ユニット3502は、
図6における予測処理ユニット304と再構成ユニット305とによって共に実現されてもよい。別の例では、決定ユニット3501は、
図3における予測処理ユニット201によって実現されてもよく、再構成ユニット3502は、
図3における再構成ユニット208によって実現されてもよい。上記の決定ユニット3501及び再構成ユニット3502に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0310】
本発明は、さらに、上記のいずれかの復号方法の実施例を実行するための電子デバイスを提供する。
図29に示すように、
図29は、本発明によって提供される電子デバイスの概略構造図であり、電子デバイス3600はプロセッサ3610とインタフェース回路3620とを含む。プロセッサ3610とインタフェース回路3620とは互いに結合される。インタフェース回路3620は、トランシーバ又は入出力インタフェースであってもよい。一例では、電子デバイス3600は、プロセッサ3610によって実行される命令を記憶するため、又はプロセッサ3610が命令を実行するために必要な入力データを記憶するため、又はプロセッサ3610が命令を実行した後に生成されるデータを記憶するためのメモリ3630をさらに含んでもよい。
【0311】
該電子デバイス3600は、プロセッサ3610と通信インタフェース3620とを含む。プロセッサ3610と通信インタフェース3620とは互いに結合される。通信インタフェース3620は、トランシーバ又は入出力インタフェースであってもよい。一例では、電子デバイス3600は、プロセッサ3610によって実行される命令を記憶するため、又はプロセッサ3610が命令を実行するために必要な入力データを記憶するため、又はプロセッサ3610が命令を実行した後に生成されるデータを記憶するためのメモリ3630をさらに含んでもよい。
【0312】
本発明の実施例では、上記の通信インタフェース3620、プロセッサ3610、及びメモリ3630の間の具体的な接続媒体について限定しない。本発明の実施例では、
図29において、通信インタフェース3620、プロセッサ3610、及びメモリ3630は、バス3640を介して接続され、バスは、
図29において太線で示され、他の構成要素間の接続方式は、例示的なものに過ぎず、これについて特に限定しない。前記バスは、アドレスバス、データバス、制御バスなどに分けることができる。表現を容易にするために、
図29には、1本の太線のみが示されているが、バスが1本のみ、又はバスの種類が1種類のみであることを意味するものではない。
【0313】
メモリ3630は、本発明の実施例によって提供される復号方法又は符号化方法に対応するプログラム命令/モジュールのようなソフトウェアプログラム及びモジュールを記憶するために用いられてもよく、プロセッサ3610は、メモリ3630に記憶されたソフトウェアプログラム及びモジュールを実行することによって、様々な機能アプリケーション及びデータ処理を実行し、それにより、上記に提供されるいずれかの復号方法又は符号化方法が実施される。該通信インタフェース3620は、他のデバイスとのシグナリングやデータの通信に用いられてもよい。本発明では、該電子デバイス3600は、複数の通信インタフェース3620を有してもよい。
【0314】
本発明の実施例におけるプロセッサは、中央処理装置(central processing Unit、CPU)、ニューラル処理ユニット(neural processing unit、NPU)、又はグラフィック処理ユニット(graphic processing unit、GPU)であってもよく、他の汎用プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、又は他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、又はそれらの任意の組み合わせであってもよい。汎用プロセッサは、マイクロプロセッサであってもよく、任意の従来のプロセッサであってもよい。
【0315】
本発明の実施例における方法のステップは、ハードウェアによって実現されてもよく、プロセッサがソフトウェア命令を実行することによって実現されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールから構成されてもよく、ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、読み取り専用メモリ(read-only memory、ROM)、プログラマブル読み取り専用メモリ(programmable ROM、PROM)、消去可能プログラマブル読み取り専用メモリ(erasable PROM、EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、又は当技術分野で周知の任意の他の形態の記憶媒体に記憶されてもよい。例示的な記憶媒体は、プロセッサが該記憶媒体から情報を読み取り、該記憶媒体に情報を書き込むことができるように、プロセッサに結合される。もちろん、記憶媒体は、プロセッサの構成要素であってもよい。プロセッサ及び記憶媒体は、ASIC内に配置されてもよい。また、該ASICは、ネットワークデバイス又は端末デバイス内に配置されてもよい。もちろん、プロセッサ及び記憶媒体は、独立したコンポーネントとしてネットワークデバイス又は端末デバイス内に存在してもよい。
【0316】
本発明の実施例は、さらに、符号化側と復号側とを含む画像符号化及び復号システムを提供し、該符号化側は、上記に提供されるいずれかの符号化方法を実行するために用いられてもよく、復号側は、対応する復号方法を実行するために用いられてもよい。
【0317】
上記の実施例において、その全部又は一部は、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせによって実現してもよい。ソフトウェアを用いて実現する場合、その全部又は一部はコンピュータプログラム製品の形態で実現されてもよい。前記コンピュータプログラム製品は、1つ又は複数のコンピュータプログラム又は命令を含む。前記コンピュータプログラム又は命令がコンピュータ上でロードされ、実行されると、本発明の実施例に記載のプロセス又は機能の全部又は一部が実行される。前記コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、ネットワークデバイス、ユーザ機器、又は他のプログラマブル装置であってもよい。前記コンピュータプログラム又は命令は、コンピュータ可読記憶媒体に記憶されてもよく、又は1つのコンピュータ可読記憶媒体から他のコンピュータ可読記憶媒体に伝送されてもよく、例えば、前記コンピュータプログラム又は命令は、1つのウェブサイト、コンピュータ、サーバ又はデータセンターから有線又は無線で他のウェブサイト、コンピュータ、サーバ又はデータセンターに伝送されてもよい。前記コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体、又は1つもしくは複数の利用可能な媒体を集積したサーバやデータセンターなどのデータ記憶デバイスであってもよい。前記利用可能な媒体は、フロッピーディスク、ハードディスク、又は磁気テープなどの磁気媒体であってもよく、デジタルビデオディスク(digital video disc、DVD)などの光学媒体であってもよく、ソリッドステートドライブ(solid state drive、SSD)などの半導体媒体であってもよい。
【0318】
本発明の各実施例において、特別な説明及び論理的な矛盾がなければ、異なる実施例間の用語及び/又は説明は一貫しており、互いに引用することができ、異なる実施例における技術的特徴は、その内部の論理関係に従って組み合わせて新しい実施例を形成することができる。本発明において、「少なくとも1つ」は1つ又は複数を指し、「複数」は2つ以上を指す。「及び/又は」は、関連対象の関連関係を説明し、3種類の関係が存在してもよいことを表し、例えば、A及び/又はBは、Aが単独で存在する場合、AとBが同時に存在する場合、Bが単独で存在する場合を表すことができ、A、Bは単数又は複数であってもよい。本発明の文字による説明において、文字「/」は、一般的に、前後の関連対象が「又は」の関係であることを表し、本発明の式において、文字「/」は、前後の関連対象が「除算」の関係であることを表す。
【0319】
本発明の実施例に関わる様々な数字の番号は、説明の便宜のために付けられたものに過ぎず、本発明の実施例の範囲を限定するためのものではない。上記の各プロセスの番号の大きさは、実行順序を意味するものではなく、各プロセスの実行順序は、その機能及び内部ロジックによって決定されるべきである。
【手続補正書】
【提出日】2024-07-08
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像符号化及び復号の技術分野に関し、特に、画像符号化及び復号方法、装置、及び記憶媒体に関する。
【背景技術】
【0002】
ビデオにおける完全な画像は通常「フレーム」と呼ばれ、複数のフレームを時系列に並べて構成したビデオは、ビデオシーケンス(video sequence)と呼ばれる。ビデオシーケンスには、空間的冗長性、時間的冗長性、視覚的冗長性、情報エントロピー冗長性、構造的冗長性、知識的冗長性、重要性冗長性などの一連の冗長情報がある。ビデオシーケンスにおける冗長情報を可能な限り除去し、ビデオを表現するためのデータ量を低減するために、記憶スペースを低減し、伝送帯域幅を節約するという効果を実現するビデオ符号化(video coding)技術が提案された。ビデオ符号化技術は、ビデオ圧縮技術と呼ばれてもよい。
【0003】
技術の持続的な発展に伴い、ビデオデータの収集はますます便利になり、収集されたビデオデータの規模もますます大きくなっている。従って、如何にビデオデータを効果的に符号化及び復号するかは、喫緊の課題となっている。
【発明の概要】
【0004】
本発明は、ビデオデータを効果的に符号化及び復号して符号化及び復号効率を向上させるための画像符号化及び復号方法、装置、及び記憶媒体を提供する。上記の目的を達成するために、本発明は以下の技術案を採用する。
【0005】
第1の態様によれば、ビットストリームを解析して第1のシンタックス要素を得るステップであって、第1のシンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む、ステップと、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを決定するステップであって、該インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む、ステップと、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップと、を含む、画像復号方法が提供される。該技術案では、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを直接決定することができ、フラグビットorg_flagを解析する必要がないため、復号側の復号の複雑さを低減し、復号効率を向上させる。
【0006】
1つの可能な実施形態では、複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式で生成される。これは、ビットストリーム伝送のオーバーヘッドをさらに低減することに役立つ。
【0007】
1つの可能な実施形態では、複数の予測モードのインデックスは、二分木方式で生成される。
【0008】
1つの可能な実施形態では、複数の予測モードは、オリジナル値モードと他の予測モードとを含み、オリジナル値モードのインデックスのコードワード長は、他の予測モードのうちの1つ又は複数の予測モードのインデックスのコードワード長以上である。いくつかの他の予測モードの使用頻度がオリジナル値モードの使用頻度より高いため、そのインデックスのコードワード長を短く設定することは、ビットストリームの伝送オーバーヘッドをさらに低減することに役立つ。
【0009】
1つの可能な実施形態では、複数の予測モードは、オリジナル値モードと他の予測モードとを含み、他の予測モードは、ポイント予測モード、フレーム内予測モード、又はブロックコピーモードのうちの少なくとも1つを含む。
【0010】
1つの可能な実施形態では、前記複数の予測モードは、オリジナル値モード、ポイント予測モード、フレーム内予測モード、及びフレーム内ブロックコピーモードを含み、前記複数の予測モードのインデックスは二分木方式で生成される場合、複数の予測モードのインデックスの生成ルールは、オリジナル値モード及びフレーム内予測モードのインデックスの最上位フラグビットとして1を使用することと、異なるフレーム内予測モードの残りのフラグビットとしてそれぞれ1、011、010、0011、0010、00001、00000を使用することと、オリジナル値モードの残りのフラグビットとして0001を使用するすることと、を含む。
【0011】
1つの可能な実施形態では、ビットストリームを解析することにより第2のシンタックス要素も得られ、第2のシンタックス要素は、復号すべきユニットの残差符号化モードのインデックスを含み。それに対応して、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップは、残差符号化モードのインデックスがスキップ残差符号化モードを指示するために用いられる場合、復号すべきユニットを予測して予測ブロックを得、復号すべきユニットの予測ブロックを復号すべきユニットの再構成ブロックとして決定するステップと、残差符号化モードのインデックスが通常残差符号化モードを指示するために用いられる場合、復号すべきユニットの残差量子化関連値を解析して残差ブロックを得、目標予測モードと復号すべきユニットの残差ブロックとに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップと、を含む。
【0012】
1つの可能な実施形態では、他の予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、通常残差符号化に基づくブロックコピーモード、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードのうちの少なくとも1つを含む。
【0013】
1つの可能な実施形態では、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップは、目標予測モードが、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードである場合、復号すべきユニットの予測ブロックを復号すべきユニットの再構成ブロックとして決定するステップと、目標予測モードが、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、又は通常残差符号化に基づくブロックコピーモードである場合、復号すべきユニットの残差量子化関連値を解析して復号すべきユニットの残差ブロックを得、目標予測モードと復号すべきユニットの残差ブロックとに基づいて、復号すべきユニットを再構成して復号すべきユニットの再構成ブロックを得るステップと、を含む。
【0014】
1つの可能な実施形態では、前記復号すべきユニットの各行の画素は1つの予測グループとされ、該予測グループの残差ブロックが少なくとも1つの残差サブブロックに分割される。
【0015】
1つの可能な実施形態では、予測グループの残差ブロックが複数の残差サブブロックに分割されることは、1:1の割合に従って、1つの予測グループの残差ブロックを2つの残差サブブロックに分割すること、又は、2:1:1の割合に従って、1つの予測グループの残差ブロックを3つの残差サブブロックに分割すること、又は、1:1:2の割合に従って、1つの予測グループの残差ブロックを3つの残差サブブロックに分割すること、又は、1:1:1:1の割合に従って、1つの予測グループの残差ブロックを4つの残差サブブロックに分割することを含む。
【0016】
1つの可能な実施形態では、復号すべきユニットは、少なくとも1つの予測グループを含み、該少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、第1の指定画素領域は、複数の画素グループを含み、複数の画素グループは、第2の指定画素領域に基づいて分割することにより得られ、第1の指定画素領域と第2の指定画素領域との予測方式が異なり、複数の画素グループを並列に予測することが可能であり、画素グループは、1つ又は連続する複数の画素を含む。
【0017】
1つの可能な実施形態では、いずれかの予測グループが同じ行にある連続する複数の画素を含む場合、第1の指定画素領域には垂直予測が使用され、第2の指定画素領域には水平予測又は垂直平均値予測が使用される。
【0018】
1つの可能な実施形態では、いずれかの予測グループが同じ列にある連続する複数の画素を含む場合、第1の指定画素領域には水平予測が使用され、第2の指定画素領域には垂直予測又は水平平均値予測が使用される。
【0019】
1つの可能な実施形態では、異なる画素グループに含まれる画素の数の差が閾値以下である。
【0020】
1つの可能な実施形態では、復号すべきユニットに参照ブロックが存在しない場合、復号すべきユニットの1番目の画素の再構成値は、復号すべきユニットのビット幅を1ビット左にシフトすることにより得られる値である。
【0021】
1つの可能な実施形態では、復号すべきユニットは、少なくとも1つの予測グループを含み、該少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含み、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るステップは、目標予測モードが予め設定された条件を満たす場合、連続する複数の画素のうちの最初の画素の参照値と、最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、目標画素の再構成値を決定するステップを含み、目標画素は、連続する複数の画素のうちのいずれか1つの非最初の画素であり、復号すべきユニットの再構成ブロックは、目標画素の再構成値を含む。
【0022】
1つの可能な実施形態では、最初の画素には第1の予測方式が使用され、非最初の画素には第2の予測方式が使用され、目標予測モードは、第1の予測方式と第2の予測方式とを含み、目標予測モードが予め設定された条件を満たすことは、第1の予測方式と第2の予測方式とはいずれも水平予測であること、又は、第1の予測方式と第2の予測方式とはいずれも垂直予測であること、又は、第1の予測方式と第2の予測方式との一方は水平予測であり、他方は垂直予測であること、又は、第1の予測方式は、復号すべきユニットに隣接する復号ユニットの画素値、又は復号すべきユニットが位置する独立復号ユニットに隣接する独立復号ユニットの画素値を用いて参照予測を行う方式であり、第2の予測方式は、水平予測又は垂直予測であることを含む。
【0023】
第2の態様によれば、符号化すべきユニットの目標予測モードを決定するステップと、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを決定するステップであって、インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む、ステップと、目標予測モードのインデックスをビットストリームに符号化するステップと、を含む画像符号化方法が提供される。該技術案では、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを直接決定し、ビットストリームに目標予測モードがオリジナル値モードであるか否かのインデックス(例えば、フラグビットorg_flag)を符号化する必要がない。ほとんどの場合、オリジナル値モードが使用されず、例えば、通常、ポイント予測モード又はフレーム内予測モードが使用されるため、オリジナル値モードを使用するか否かを表すフラグビット(org_flag)を符号化する必要がないことは、ビットストリーム伝送のオーバーヘッドを節約することに役立ち、符号化効率を向上させる。
【0024】
1つの可能な実施形態では、複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式で生成される。
【0025】
1つの可能な実施形態では、複数の予測モードのインデックスは、二分木方式で生成される。
【0026】
1つの可能な実施形態では、複数の予測モードは、オリジナル値モードと他の予測モードとを含み、オリジナル値モードのインデックスのコードワード長は、他の予測モードのうちの1つ又は複数の予測モードのインデックスのコードワード長以上である。
【0027】
1つの可能な実施形態では、他の予測モードは、ポイント予測モード、フレーム内予測モード、又はブロックコピーモードのうちの少なくとも1つを含む。
【0028】
1つの可能な実施形態では、他の予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、通常残差符号化に基づくブロックコピーモード、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードのうちの少なくとも1つを含む。
【0029】
第3の態様によれば、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法が提供される。該画像再構成方法は、現在の画像ブロックの残差符号化モードを決定するステップと、残差符号化モードがスキップ残差符号化モードである場合、現在の画像ブロックを予測して予測ブロックを得、予測ブロックを現在の画像ブロックの再構成ブロックとして決定するステップと、残差符号化モードが通常残差符号化モードである場合、現在の画像ブロックの残差量子化関連値を取得して残差ブロックを得、残差ブロックに基づいて、現在の画像ブロックを再構成して現在の画像ブロックの再構成ブロックを得るステップと、を含む。
【0030】
本技術案では、まず、残差符号化モードを決定し、残差符号化モードが通常残差符号化モードである場合、現在の画像ブロックの残差量子化関連値を取得し、残差符号化モードがスキップ残差符号化モードである場合、現在の画像ブロックの残差量子化関連値を取得する必要がない。このように、残差符号化モードが通常残差符号化モードである場合、符号化側は、現在の画像ブロックの残差量子化関連値をビットストリームに符号化する必要がなく、復号側は、現在の画像ブロックの残差量子化関連値を解析する必要がないため、ビットストリーム伝送のオーバーヘッドを節約することに役立ち、符号化効率を向上させ、復号の複雑さを低減することに役立ち、復号効率を向上させる。
【0031】
第4の態様によれば、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法が提供される。該画像再構成方法は、現在の画像ブロックの目標予測モードを決定するステップと、目標予測モードがスキップ残差符号化に基づく予測モードである場合、現在の画像ブロックを予測して予測ブロックを得、予測ブロックを再構成ブロックとして決定するステップと、目標予測モードが通常残差符号化に基づく予測モードである場合、現在の画像ブロックの残差量子化関連値を取得して現在の画像ブロックの残差ブロックを得、目標予測モードと残差ブロックとに基づいて、現在の画像ブロックを再構成して再構成ブロックを得るステップと、を含む。
【0032】
該技術案では、従来の残差符号化モードと予測モードとを組み合わせて本発明の実施例によって提供される新たな予測モードとすることにより、残差符号化モードと予測モードとをそれぞれ符号化(復号)する必要がなく、該新たな予測モードを一律に符号化(復号)すればよく、実現ロジックがシンプルであり、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。また、符号化側(又は復号側)にとって、まず残差符号化モード情報(例えば、残差符号化モードのインデックス、例えばres_skip_flag)を符号化(又は復号)し、次に残差符号化モードに基づいて残差量子化関連値(例えば、near値又はQP値)を符号化(又は復号)するか否かを決定してもよく、それにより、残差符号化モードがスキップ残差符号化モードである場合、残差量子化関連値を符号化(又は復号)する必要がなく、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0033】
1つの可能な実施形態では、スキップ残差符号化に基づく予測モードは、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードを含む。
【0034】
1つの可能な実施形態では、通常残差符号化に基づく予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、又は通常残差符号化に基づくブロックコピーモードを含む。
【0035】
第5の態様によれば、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法が提供される。該画像再構成方法は、現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定するステップであって、少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、第1の指定画素領域は、複数の画素グループを含み、複数の画素グループは、第2の指定画素領域に基づいて分割することにより得られ、第1の指定画素領域と第2の指定画素領域との予測方式が異なり、複数の画素グループを並列に予測することが可能であり、画素グループは、1つ又は連続する複数の画素を含む、ステップと、少なくとも1つの予測グループの予測モードに基づいて、現在の画像ブロックを再構成して再構成ブロックを得るステップと、を含む。該技術案では、1つの予測グループ内の複数の画素グループを並列に予測することが可能であるため、該予測グループの予測時間を短縮することに役立つ。
【0036】
1つの可能な実施形態では、いずれかの予測グループが同じ行にある連続する複数の画素を含む場合、第1の指定画素領域には垂直予測が使用され、第2の指定画素領域には水平予測又は垂直平均値予測が使用される。
【0037】
1つの可能な実施形態では、いずれかの予測グループが同じ列にある連続する複数の画素を含む場合、第1の指定画素領域には水平予測が使用され、第2の指定画素領域には垂直予測又は水平平均値予測が使用される。
【0038】
1つの可能な実施形態では、異なる画素グループに含まれる画素の数の差が閾値以下である。
【0039】
1つの可能な実施形態では、現在の画像ブロックに参照ブロックが存在しない場合、現在の画像ブロックの1番目の画素の再構成値は、現在の画像ブロックのビット幅を1ビット左にシフトすることにより得られる値である。
【0040】
1つの可能な実施形態では、前記現在の画像ブロックは、少なくとも1つの予測グループを含み、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含み、前記少なくとも1つの予測グループの予測モードに基づいて、前記現在の画像ブロックを再構成して再構成ブロックを得るステップは、目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するステップであって、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記現在の画像ブロックの再構成ブロックは、前記目標画素の再構成値を含む、ステップを含む。
【0041】
第6の態様によれば、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法が提供される。該画像再構成方法は、現在の画像ブロックの目標予測モードを決定するステップであって、現在の画像ブロックは、少なくとも1つの予測グループを含み、少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む、ステップと、目標予測モードが予め設定された条件を満たす場合、連続する複数の画素のうちの最初の画素の参照値と、最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、目標画素の再構成値を決定するステップであって、目標画素は、連続する複数の画素のうちのいずれか1つの非最初の画素であり、現在の画像ブロックの再構成ブロックは、目標画素の再構成値を含む、ステップと、を含む。
【0042】
該技術案では、符号化側/復号側が、再構成を実行する際に、その前の画素とそれに隣接する画素との残差値に基づいて、現在の画素の再構成値を直接取得することができ、その前の画素の再構成値を取得するのを待つ必要がなく、該技術案は、再構成プロセスの並列度を大幅に向上させることもできるため、復号並列度及びスループットを向上させる。
【0043】
1つの可能な実施形態では、最初の画素には第1の予測方式が使用され、非最初の画素には第2の予測方式が使用され、目標予測モードは、第1の予測方式と第2の予測方式とを含み、目標予測モードが予め設定された条件を満たすことは、第1の予測方式と第2の予測方式とはいずれも水平予測であること、又は、第1の予測方式と第2の予測方式とはいずれも垂直予測であること、又は、第1の予測方式と第2の予測方式との一方は水平予測であり、他方は垂直予測であること、又は、第1の予測方式は、現在の画像ブロックに隣接するコーディングユニット、又は現在の画像ブロックが位置する独立コーディングユニットに隣接する独立コーディングユニットの画素値を用いて参照予測を行う方式であり、第2の予測方式は、水平予測又は垂直予測であることを含む。
【0044】
第7の態様によれば、画像復号装置が提供され、該復号装置は、ビデオデコーダ又はビデオデコーダを含むデバイスであってもよい。該復号装置は、第1の態様、第3の態様、第4の態様、又は第5の態様の可能な実施形態のいずれか1つにおける方法を実施するための各モジュールを含む。前記復号装置は、上記の関連方法の例における動作を実現する機能を有する。前記機能は、ハードウェアによって実現されてもよいし、ハードウェアが対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記の機能に対応する1つ又は複数のモジュールを含む。その有益な効果は、対応する方法の説明に記載されているため、ここでは説明を省略する。
【0045】
第8の態様によれば、画像符号化装置が提供され、該符号化装置は、ビデオエンコーダ又はビデオエンコーダを含む装置であってもよい。該符号化装置は、第2の態様、第3の態様、第4の態様、又は第5の態様の可能な実施形態のいずれか1つにおける方法を実施するための各モジュールを含む。前記符号化装置は、上記の関連方法の例における動作を実現する機能を有する。前記機能は、ハードウェアによって実現されてもよいし、ハードウェアが対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記の機能に対応する1つ又は複数のモジュールを含む。その有益な効果は、対応する方法の説明に記載されているため、ここでは説明を省略する。
【0046】
第9の態様によれば、本発明は、プロセッサとメモリとを含む電子デバイスであって、前記メモリは、コンピュータ命令を記憶するために用いられ、前記プロセッサは、前記メモリからコンピュータ命令を呼び出して実行し、第1~6の態様のいずれか1つの実施形態における方法を実施するために用いられる、電子デバイスが提供される。例えば、該電子デバイスは、ビデオエンコーダ又はビデオエンコーダを含むデバイスであってもよい。別の例として、該電子デバイスは、ビデオデコーダ、又はビデオデコーダを含むデバイスであってもよい。
【0047】
第10の態様によれば、本発明は、コンピュータプログラム又は命令を記憶しているコンピュータ可読記憶媒体であって、コンピュータプログラム又は命令がコンピューティングデバイス又はコンピューティングデバイスが位置するストレージシステムによって実行されると、第1~6の態様のいずれか1つの実施形態における方法が実施される、コンピュータ可読記憶媒体が提供される。
【0048】
第11の態様によれば、本発明は、命令を含むコンピュータプログラム製品であって、コンピュータプログラム製品がコンピューティングデバイス又はプロセッサ上で実行されると、コンピューティングデバイス又はプロセッサに該命令を実行させ、第1~6の態様のいずれか1つの実施形態における方法が実施される、コンピュータプログラム製品が提供される。
【0049】
第12の態様によれば、本発明は、プロセッサとメモリとを含むチップであって、メモリは、コンピュータ命令を記憶するために用いられ、プロセッサは、メモリから該コンピュータ命令を呼び出して実行し、第1~6の態様のいずれか1つの実施形態における方法を実施するために用いられる、チップが提供される。
【0050】
第13の態様によれば、本発明は、符号化側と復号側とを含む画像コーディングシステムであって、復号側は、第1~第6の態様によって提供される対応する復号方法を実施するために用いられ、符号化側は、それに対応する符号化方法を実施するために用いられる。
【0051】
本発明は、上記の各態様によって提供される実施形態に基づいて、さらに組み合わせてより多くの実施形態を提供することも可能である。又は、上記のいずれか1つの態様のいずれか1つの可能な実施形態は、矛盾しない限り、他の態様に適用してもよく、それにより新たな実施例が得られる。例えば、上記の第3~5の態様によって提供されるいずれか1つの画像再構成方法は、第1の態様又は第2の態様によって提供されるいずれか1つの符号化方法又は復号方法に適用してもよい。別の例として、記の第3~5の態様によって提供されるいずれか2つの画像再構成方法は、矛盾しない限り、組み合わせてもよく、それにより新たな再構成方法が得られる。
【図面の簡単な説明】
【0052】
【
図1】本発明の実施例によって提供される複数の予測方式の概略図である。
【
図2】本発明の実施例が適用される符号化及び復号システムの概略アーキテクチャ図である。
【
図3】本発明の実施例を実現するためのエンコーダの例の例示的なブロック図である。
【
図4】本発明の実施例によって提供される、画像、並列符号化ユニット、独立符号化ユニット、及び符号化ユニットの対応関係の概略図である。
【
図5】本発明の実施例によって提供される符号化プロセスの概略図である。
【
図6】本発明の実施例を実現するためのデコーダの例の例示的なブロック図である。
【
図7A】本発明の実施例によって提供される画像符号化方法の概略フローチャート1である。
【
図7B】本発明の実施例によって提供される、
図7Aに対応する画像復号方法の概略フローチャートである。
【
図8A】本発明の実施例によって提供される画像符号化方法の概略フローチャート2である。
【
図8B】本発明の実施例によって提供される、
図8Aに対応する画像復号方法の概略フローチャートである。
【
図9A】本発明の実施例によって提供される画像符号化方法の概略フローチャート3である。
【
図9B】本発明の実施例によって提供される、
図9Aに対応する画像復号方法の概略フローチャートである。
【
図10】本発明の実施例によって提供される画像再構成方法の概略フローチャート1である。
【
図11】本発明の実施例によって提供される並列画素グループの分割方式の概略図である。
【
図12】16×2の現在の画像ブロックの予測分割モードの概略
図1である。
【
図13A】本発明の実施例によって提供される、
図12に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図13B】本発明の実施例によって提供される、
図12に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図14】16×2の現在の画像ブロックの予測分割モードの概略
図2である。
【
図15A】本発明の実施例によって提供される、
図14に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図15B】本発明の実施例によって提供される、
図14に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図15C】本発明の実施例によって提供される、
図14に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図15D】本発明の実施例によって提供される、
図14に対応する16×2の現在の画像ブロックの予測分割モードの概略図である。
【
図16A】8×2の現在の画像ブロックの予測分割モードの概略図である。
【
図16B】8×2の現在の画像ブロックの予測分割モードの概略図である。
【
図17】本発明の実施例によって提供される、
図16A及び
図16Bに対応する8×2の現在の画像ブロックの予測分割モードの概略図である。
【
図18A】8×1の現在の画像ブロックの予測分割モードの概略図である。
【
図18B】8×1の現在の画像ブロックの予測分割モードの概略図である。
【
図19】本発明の実施例によって提供される、
図18A及び
図18Bに対応する8×1の現在の画像ブロックの予測分割モードの概略図である。
【
図20】本発明の実施例によって提供される8×1の現在の画像ブロックの残差ブロックのグループ化の概略図である。
【
図21】本発明の実施例によって提供される画像再構成方法の概略
図2である。
【
図22】本発明の実施例によって提供される、
図21の8×1の画像ブロックの予測モードを説明するための概略図である。
【
図23】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図24】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図25】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図26】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図27】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図28】本発明の実施例によって提供される符号化装置又は復号装置の概略構造図である。
【
図29】本発明の実施例によって提供される電子デバイスの概略構造図である。
【発明を実施するための形態】
【0053】
まず、本発明の実施形態に関連する技術用語について説明する。
【0054】
1)予測モード
【0055】
現在の画像ブロック(例えば、符号化すべきユニット/復号すべきユニット)を予測するために使用される予測方式の組み合わせは、予測モードと呼ばれる。ここで、現在の画像ブロック内の異なる画素を予測するために異なる予測方式を使用してもよいし、同じ予測方式を使用してもよく、現在の画像ブロック内の全ての画素を予測するために使用される予測方式は、まとめて該現在の画像ブロックの(又は対応する)予測モードと呼ばれてもよい。
【0056】
予測モードは、ポイント予測モード(point prediction mode)、フレーム内予測モード(intra-frame prediction mode)、ブロックコピーモード(block copy mode)、及びオリジナル値モード(original value mode、即ち、固定ビット幅を直接復号する再構成値モード)などを含んでもよい。
【0057】
例示的に、ポイント予測モードは、周囲の隣接点の画素再構成値に基づいて予測値を決定する。ポイント予測モードは、垂直予測、水平予測、垂直平均値予測、及び水平平均値予測などの予測方式のうちの1つ又は複数の組み合わせを含む。垂直予測は、現在の画素の上側(隣接する上側であってもよいし、隣接しないが近傍の上側であってもよい)の画素値を用いて現在の画素の予測値を取得する。一例として、現在の画素の上側の隣接画素の再構成値を現在の画素の予測値として決定する。水平予測は、現在の画素の左側(隣接する左側であってもよいし、隣接しないが近傍の左側であってもよい)の画素値を用いて現在の画素の予測値を取得する。一例として、現在の画素の左側の隣接画素の再構成値を現在の画素の予測値として決定する。垂直平均値予測は、現在の画素の上側及び下側の画素値を用いて現在の画素の予測値を取得する。一例として、現在の画素の予測値は、垂直上方の隣接画素の再構成値と垂直下方の隣接画素の再構成値との平均値である。水平平均値予測は、現在の画素の左側及び右側の画素値を用いて現在の画素の予測値を取得する。一例として、現在の画素の予測値は、水平左側の隣接画素の再構成値と水平右側の隣接画素の再構成値との平均値である。
【0058】
例示的に、フレーム内予測モードは、周囲の隣接ブロックの画素再構成値に基づいて予測値を決定する。
【0059】
例示的に、ブロックコピー予測モードは、周囲の符号化(復号)済みブロック(隣接するとは限らない)の画素再構成値に基づいて予測値を決定する。
【0060】
例示的に、オリジナル値モードは、固定ビット幅を直接復号する再構成値モードであり、即ち、参照なし予測モードである。
【0061】
図1に示すのは、本発明の実施例によって提供される複数の予測方式の概略図である。
図1における1つの小さな矩形は、1つの画素を表す。異なるマークを含む画素は、異なる予測方式を表すために用いられ、具体的に、垂直予測、水平予測、垂直平均値予測及び水平平均値予測が示される。
図1に示す各予測方式の概略図は、本発明に関連するいずれかの関連添付図面、例えば
図12などを解釈するために用いられてもよい。
【0062】
2)残差符号化モード
【0063】
現在の画像ブロック(例えば、符号化すべきユニット/復号すべきユニット)の残差(即ち、残差ブロックであり、現在の画像ブロック内の各画素の残差値から構成される)を符号化するための方式は、残差符号化モードと呼ばれる。残差符号化モードは、スキップ残差符号化モードと通常残差符号化モードとを含んでもよい。
【0064】
スキップ残差符号化モードでは、残差係数を符号化(復号)する必要がなく、この時、現在の画像ブロック内の画素の残差値は全て0であり、各画素の再構成値は該画素の予測値と等しい。
【0065】
通常残差符号化モードでは、残差係数を符号化(復号)する必要があり、この時、現在の画像ブロック内の画素の残差値は全て0とは限らず、各画素の再構成値は、該画素の予測値と残差値とに基づいて得ることができる。
【0066】
一例では、画素の残差値は該画素の残差係数と等価であり、別の例では、画素の残差係数は、該画素の残差値に対して一定の処理を行うことによって得られたものであってもよい。
【0067】
3)他の用語
【0068】
本発明の実施例における用語「少なくとも1つ」は、1つ又は複数を含む。「複数」とは、2つ以上を意味する。例えば、A、B及びCのうちの少なくとも1つは、Aが単独で存在する場合、Bが単独で存在する場合、Cが単独で存在する場合、AとBが同時に存在する場合、AとCが同時に存在する場合、BとCが同時に存在する場合、AとBとCが同時に存在する場合を含む。本発明の記載において、特に断りのない限り、「/」は「又は」を意味し、例えば、A/Bは、A又はBを表すことができる。本明細書における「及び/又は」は、関連対象の関連関係を説明するためのものに過ぎず、3種類の関係が存在してもよいことを表し、例えば、A及び/又はBは、Aが単独で存在する場合、AとBが同時に存在する場合、Bが単独で存在する場合の3つの場合を表すことができる。「複数」は、2つ以上を意味する。また、本発明の実施例の技術案を明確に説明しやすくするために、本発明の実施例では、「第1」、「第2」などの用語を用いて機能及び役割がほぼ同じである同一又は類似のものを区別する。当業者であれば理解できるように、「第1」、「第2」などの用語は、数や実行順序を限定するものではなく、必ずしも異なることに限定するものではない。
【0069】
以下、本発明の実施例が適用されるシステムアーキテクチャについて説明する。
【0070】
図2を参照し、本発明の実施例が適用される符号化及び復号システム10の概略アーキテクチャ図を示す。
図2に示すように、符号化及び復号システム10は、ソースデバイス11と宛先デバイス12とを含んでもよい。ソースデバイス11は、画像を符号化するために用いられるため、ソースデバイス11は、画像符号化装置又はビデオ符号化装置と呼ばれてもよい。宛先デバイス12は、ソースデバイス11によって生成された符号化済み画像データを復号するために用いられるため、宛先デバイス12は、画像復号装置又はビデオ復号装置と呼ばれてもよい。
【0071】
ソースデバイス11及び宛先デバイス12は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの携帯電話、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲーム機、車載コンピュータ、又はそれらの類似のものを含む様々な装置を含んでもよい。オプションで、
図2におけるソースデバイス11及び宛先デバイス12は、2つの別個のデバイスであってもよく、又は、ソースデバイス11及び宛先デバイス12は、同一のデバイスであってもよく、即ち、ソースデバイス11又はそれに対応する機能、及び宛先デバイス12又はそれに対応する機能は、同一のデバイスに統合されてもよい。ソースデバイス11と宛先デバイス12との間で通信が可能であり、例えば、宛先デバイス12はソースデバイス11から符号化済み画像データを受信することができる。一例では、ソースデバイス11と宛先デバイス12との間は、1つ又は複数の通信媒体を含んでもよく、1つ又は複数の通信媒体を介して符号化済み画像データを伝送し、該1つ又は複数の通信媒体は、ルータ、スイッチ、基地局、又はソースデバイス11から宛先デバイス12への通信を容易にする他のデバイスを含んでもよい。
【0072】
図2に示すように、ソースデバイス11は、エンコーダ112を含む。オプションで、ソースデバイス11は、画像プリプロセッサ111と通信インタフェース113とをさらに含んでもよい。ここで、画像プリプロセッサ111は、受信した符号化すべき画像に対して前処理を実行するために用いられ、例えば、画像プリプロセッサ111が実行する前処理は、トリミング、色フォーマット変換(例えば、RGBフォーマットからYUVフォーマットに変換する)、調色、又はノイズ除去などを含んでもよい。エンコーダ112は、前処理済み画像を受信し、関連する予測モードを用いて前処理済み画像を処理して符号化済み画像データを提供するために用いられる。いくつかの実施例では、エンコーダ112は、以下に説明する各実施例における符号化プロセスを実行するために用いられてもよい。通信インタフェース113は、記憶又は直接再構成するために、符号化済み画像データを宛先デバイス12、又は復号もしくは記憶するための任意の他のデバイス(例えばメモリ)に伝送するために用いられてもよい。通信インタフェース113は、符号化済み画像データを適切なフォーマットにカプセル化してから送信してもよい。
【0073】
オプションで、上記の画像プリプロセッサ111、エンコーダ112及び通信インタフェース113は、ソースデバイス11内のハードウェアコンポーネントであってもよいし、ソースデバイス11内のソフトウェアプログラムであってもよく、本発明の実施例はこれについて限定しない。
【0074】
図2に示すように、宛先デバイス12はデコーダ122を含む。オプションで、宛先デバイス12は、通信インタフェース121と画像ポストプロセッサ123とをさらに含んでもよい。ここで、通信インタフェース121は、ソースデバイス11又は任意の他のソースデバイスから符号化済み画像データを受信するために用いられてもよく、該任意の他のソースデバイスは、例えば、記憶デバイスである。通信インタフェース121は、通信インタフェース113によって伝送されたデータをデカプセル化して符号化済み画像データを取得することもできる。デコーダ122は、符号化済み画像データを受信して復号済み画像データ(再構成済み画像データ又は再構成された画像データと呼ばれてもよい)を出力するために用いられる。いくつかの実施例では、デコーダ122は、以下に説明される各実施例における復号プロセスを実行するために用いられてもよい。
【0075】
画像ポストプロセッサ123は、復号済み画像データに対して後処理を実行して後処理済み画像データを取得するために用いられる。画像ポストプロセッサ123が実行する後処理は、色フォーマット変換(例えば、YUVフォーマットからRGBフォーマットに変換する)、調色、トリミング、又はリサンプリング、又は任意の他の処理を含んでもよく、表示するために後処理済み画像データを表示デバイスに伝送するために用いられてもよい。
【0076】
同様に、オプションで、上記の通信インタフェース121、デコーダ122及び画像ポストプロセッサ123は、宛先デバイス12内のハードウェアコンポーネントであってもよいし、宛先デバイス12内のソフトウェアプログラムであってもよく、本発明の実施例はこれについて限定しない。
【0077】
以下、
図2におけるエンコーダ及びデコーダの構造について簡単に説明する。
【0078】
図3を参照し、
図3は、本発明の実施例を実現するためのエンコーダ20の例の例示的なブロック図を示す。
図3において、エンコーダ20は、予測処理ユニット201、残差計算ユニット202、残差符号化ユニット203、量子化ユニット204、係数符号化ユニット205、逆量子化ユニット206、残差復号ユニット207、再構成ユニット208、及びフィルタユニット209を含む。オプションで、エンコーダ20は、バッファ及び復号済み画像バッファ(decoded picture buffer、DPB)をさらに含んでもよい。ここで、バッファは、再構成ユニット208によって出力された再構成画像ブロックをバッファリングするために用いられ、復号済み画像バッファは、フィルタユニット209によって出力されたフィルタリングされた画像ブロックをバッファリングするために用いられる。
【0079】
一例では、エンコーダ20の入力は、符号化すべき画像の画像ブロック(即ち、現在の画像ブロック、符号化すべき画像ブロック)又は符号化ユニットである。別の例では、エンコーダ20の入力は符号化すべき画像であり、エンコーダ20は、符号化すべき画像を複数の画像ブロックに分割するための分割ユニット(
図3に示されていない)を含んでもよい。エンコーダ20は、ブロックごとに符号化すべき画像を符号化するために用いられ、例えば、各画像ブロックに対して符号化プロセスを実行する。
【0080】
一例では、符号化すべき画像を複数の画像ブロックに分割する方法は、以下のステップを含んでもよい。
【0081】
ステップ1:1フレームの画像を1つ又は複数の互いに重ならない並列符号化ユニットに分割し、各並列符号化ユニットは、互いに依存せず、並列に/独立して符号化及び復号することができる。
【0082】
ステップ2:符号化側は、各並列符号化ユニットについて、それを1つ又は複数の互いに重ならない独立符号化ユニットに分割してもよく、各独立符号化ユニットは、互いに依存しなくてもよいが、該並列符号化ユニットのいくつかのヘッダ情報を共有してもよい。
【0083】
ステップ3:符号化側は、各独立符号化ユニットについて、それをさらに1つ又は複数の互いに重ならない符号化ユニットに分割してもよい。ここで、独立符号化ユニットを複数の互いに重ならない符号化ユニットに分割する場合、その分割方式は、水平均等分割法、垂直均等分割法、又は水平垂直均等分割法であってもよい。もちろん、具体的な実現はこれらに限定されない。独立符号化ユニット内の各符号化ユニットは互いに依存してもよく、即ち、予測ステップの実行中に互いに参照してもよい。
【0084】
符号化ユニットの幅はw_cuであり、高さはh_cuであり、オプションで、その幅はその高さより大きい(エッジ領域の場合を除く)。通常、符号化ユニットは、固定のw_cu×h_cuであってもよく、w_cu及びh_cuがいずれも2のN乗(Nは0以上)であり、例えば、16×4、8×4、16×2、8×2、4×2、8×1、4×1などである。
【0085】
符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分(又は赤R、緑G、青Bの3つの成分)を含んでもよいし、そのうちのいずれか1つの成分のみを含んでもよい。3つの成分を含む場合、これらの成分のサイズは完全に同じであってもよいし、異なってもよく、具体的には画像の入力フォーマットに関連する。
【0086】
図4に示すのは、画像、並列符号化ユニット、独立符号化ユニット、及び符号化ユニットの対応関係の概略図である。ここで、
図4では、3:1に従って1つの画像を並列符号化ユニット1と並列符号化ユニット2とに分割し、1つの独立符号化ユニットが4つの符号化ユニットを含むことを例として説明する。
【0087】
予測処理ユニット201は、画像ブロックの真の値及び再構成された画像データを受信又は取得し、再構成された画像データにおける関連するデータに基づいて、現在の画像ブロックを予測して現在の画像ブロックの予測ブロックを得るために用いられる。
【0088】
残差計算ユニット202は、画像ブロックの真の値と該画像ブロックの予測ブロックとの残差値を計算して残差ブロックを得るために用いられ、例えば、画素ごとに画像ブロックの画素値から予測ブロックの画素値を減算する。
【0089】
一例では、残差符号化ユニット203は、残差ブロックに基づいて現在の画像ブロックの残差係数を決定するために用いられる。オプションで、該プロセスは、残差ブロックに対して、離散コサイン変換(discrete cosine transform、DCT)又は離散サイン変換(discrete sine transform、DST)などの変換を行い、変換領域において変換係数を取得することを含んでもよく、変換係数は変換残差係数と呼ばれてもよく、該変換残差係数は変換領域において残差ブロックを表すことができる。もちろん、変換のステップが含まれなくてもよい。
【0090】
量子化ユニット204は、スカラー量子化又はベクトル量子化を適用して変換係数を量子化して、量子化済み変換係数を取得するために用いられ、量子化済み変換係数は、量子化済み残差係数と呼ばれてもよい。量子化プロセスは、一部又は全部の変換係数に関するビット深度を低減することができる。例えば、例えば、量子化中にnビットの変換係数をmビットの変換係数に切り捨ててもよく、ここで、nはmより大きい。量子化の程度は、量子化パラメータ(quantization parameter、QP)を調整することで変更することができる。例えば、スカラー量子化の場合、異なるスケールを適用することで細かい量子化や粗い量子化を実現することができる。小さい量子化ステップは、細かい量子化に対応し、大きい量子化ステップは、粗い量子化に対応する。QPで適切な量子化ステップを指示してもよい。
【0091】
係数符号化ユニット205は、上記の量子化済み残差係数を符号化し、符号化済みビットストリームの形で符号化済み画像データ(即ち、現在の符号化すべき画像ブロックの符号化結果)を出力するために用いられる。そして、符号化済みビットストリームをデコーダに伝送し、又は、後でデコーダに伝送、もしくは検索に用いるためにそれを記憶してもよい。係数符号化ユニット205は、さらに、予測モードのインデックスをビットストリームに符号化するなど、現在の画像ブロックの他のシンタックス要素を符号化するために用いられてもよい。
【0092】
一例では、係数符号化ユニット205が残差係数を符号化する1つの可能な方法は、半固定長符号化方式(semi-fixed-length coding mode)である。まず、1つの残差ブロック(residual block,RB)内の残差絶対値の最大値をmodified maximum(mm)として定義する。該RB内の残差係数の符号化ビット数を決定する(同一のRB内の残差係数の符号化ビット数は一致する)。例えば、現在のRBの符号化長(coding length、CL)が2であり、現在の残差係数が1である場合、残差係数1を符号化するのに2ビットが必要であり、01と表される。現在のRBのCLが7である場合、これは、8-bitの残差係数及び1-bitの符号ビットを符号化することを表す。CLの決定は、現在のサブブロックの全ての残差が[-2^(M-1),2^(M-1)]の範囲内にあることを満たす最小のM値を見つけることである。-2^(M-1)と2^(M-1)との2つの境界値が同時に存在する場合、Mを1増加させる必要があり、即ち、現在のRBの全ての残差を符号化するのにM+1ビットが必要であり、-2^(M-1)と2^(M-1)との2つの境界値のうちの1つのみが存在する場合、該境界値が-2^(M-1)であるか2^(M-1)であるかを決定するために1つのTrailingビットを符号化する必要があり、全ての残差に-2^(M-1)と2^(M-1)のいずれも存在しない場合、該Trailingビットを符号化する必要がない。
【0093】
もちろん、他の残差係数符号化方法、例えば、指数Golomb符号化方法、Golomb-Rice符号化方法、トランケーテッドユーナリ(truncated unary)符号化方法、ランレングス(run-length)符号化方法、オリジナル残差値を直接符号化する方法などを使用してもよい。
【0094】
また、いくつかの特殊な場合、残差値の代わりに、オリジナル値を直接符号化してもよい。
【0095】
逆量子化ユニット206は、上記の量子化済み係数を逆量子化して逆量子化済み係数を取得するために用いられ、該逆量子化は、上記の量子化ユニット204の逆アプリケーションである。例えば、逆量子化ユニット206は、量子化ユニット204と同じ量子化ステップに基づいて又は用いて、量子化ユニット204が適用する量子化スキームの逆量子化スキームを適用してもよい。逆量子化済み係数は、逆量子化済み残差係数と呼ばれてもよい。
【0096】
残差復号ユニット207は、上記の逆量子化済み残差係数を残差ブロックに復号するために用いられ、該プロセスは、上記の逆量子化済み係数に対して逆変換を行い、画素領域(又はサンプル領域と呼ばれる)において逆変換ブロックを取得することを含んでもよく、例えば、逆変換は、逆離散コサイン変換(discrete cosine transform、DCT)又は逆離散サイン変換(discrete sine transform、DST)を含んでもよい。逆変換ブロックは逆変換逆量子化済みブロック又は逆変換残差ブロックと呼ばれてもよい。もちろん、逆変換のステップが含まれなくてもよい。
【0097】
再構成ユニット208は、逆変換ブロック(即ち、逆変換残差ブロック)を予測ブロックに追加して、サンプル領域において再構成済みブロックを取得するために用いられ、再構成ユニット208は、加算器であってもよく、例えば、残差ブロックのサンプル値(即ち、画素値)を予測ブロックのサンプル値に加算する。該再構成ユニット208によって出力された再構成ブロックは、後で他の画像ブロックを予測するために用いられてもよい。
【0098】
フィルタユニット209(又は「フィルタ」と略称する)は、画素変換をスムーズに行うように、又は画像の品質を向上させるように、再構成済みブロックをフィルタリングしてフィルタリング済みブロックを取得するために用いられる。
【0099】
一例として、符号化プロセスを
図5に示す。具体的に、エンコーダは、ポイント予測モードを使用するか否かを判断する(S901)。S901の判断結果が「はい」であれば、ポイント予測モードに基づいて予測を行い、逆量子化及び再構成のステップ(S901Y)を実行して符号化プロセスを実現する。S901の判断結果が「いいえ」であれば、オリジナル値モードを使用するか否かを判断する(S902)。S902の判断結果が「はい」であれば、オリジナル値モードを使用して符号化する(S902Y)。S902の判断結果が「いいえ」であれば、他の予測モード、例えばフレーム内予測又はブロックコピーモードを使用して予測を行うと決定する(S903)。その後、S904において残差スキップを実行すると決定した場合、再構成のステップ(S905)を直接実行する。S904において残差スキップを実行しないと決定した場合、逆量子化のステップ(S906)を実行し、ブロックコピー予測モードを使用するか否かを判断する(S907)。ブロックコピー予測モードを使用すると決定した場合、1つのケースでは、S908において変換スキップを実行すると決定した場合、再構成のステップ(S905)を直接実行し、もう1つのケースでは、S908において変換スキップを実行しないと決定した場合、逆変換のステップ(S909)及び再構成のステップ(S905)を実行して符号化プロセスを実現する。S907においてブロックコピーモードを使用しない(この場合、使用された1つの予測モードがフレーム内予測モードである)と決定した場合、逆変換のステップ(S909)及び再構成のステップ(S905)を実行して符号化プロセスを実現する。
【0100】
具体的に、本発明の実施例では、エンコーダ20は、後述の実施例で説明される符号化方法を実施するために用いられる。
【0101】
図6を参照し、
図6は、本発明の実施例を実現するためのデコーダ30の例の例示的なブロック図を示す。デコーダ30は、例えば、エンコーダ20によって符号化された符号化済み画像データ(即ち、符号化済みビットストリーム、例えば、画像ブロックの符号化済みビットストリームと関連するシンタックス要素とを含む)を受信して、復号済み画像を取得するために用いられる。デコーダ30は、ビットストリーム解析ユニット301、逆量子化ユニット302、残差復号ユニット303、予測処理ユニット304、再構成ユニット305、及びフィルタユニット306を含む。いくつかの例では、デコーダ30は、
図2のエンコーダ20について説明した符号化パスとほぼ逆の復号パスを実行してもよい。オプションで、デコーダ30は、バッファ及び復号済み画像バッファをさらに含んでもよい。ここで、バッファは、再構成ユニット305によって出力された再構成画像ブロックをバッファリングするために用いられ、復号済み画像バッファは、フィルタユニット306によって出力されたフィルタリングされた画像ブロックをバッファリングするために用いられる。
【0102】
ビットストリーム解析ユニット301は、符号化済み画像データに対して復号を実行して、量子化済み係数及び/又は復号済み符号化パラメータ(例えば、符号化パラメータは、フレーム間予測パラメータ、フレーム内予測パラメータ、フィルタパラメータ、及び/又は他のシンタックス要素のうちのいずれか1つ又は全てを含んでもよい)を取得するために用いられる。ビットストリーム解析ユニット301は、さらに、予測処理ユニット304が符号化パラメータに基づいて予測プロセスを実行するように、上記の復号済み符号化パラメータを予測処理ユニット304に転送するために用いられる。
【0103】
逆量子化ユニット302の機能は、エンコーダ20の逆量子化ユニット206の機能と同じであってもよく、ビットストリーム解析ユニット301によって復号された量子化済み係数を逆量子化するために用いられる。
【0104】
残差復号ユニット303の機能は、エンコーダ20の残差復号ユニット207の機能と同じであってもよく、再構成ユニット305(例えば、加算器)の機能は、エンコーダ20の再構成ユニット208の機能と同じであってもよく、上記の量子化済み係数に対して逆変換(例えば、逆DCT、逆整数変換、又は概念的に類似した逆変換プロセス)を行い、逆変換ブロック(逆変換残差ブロックと呼ばれてもよい)を得るために用いられ、該逆変換ブロックは、画素領域における現在の画像ブロックの残差ブロックである。
【0105】
予測処理ユニット304は、符号化済み画像データ(例えば、現在の画像ブロックの符号化済みビットストリーム)及び再構成された画像データを受信又は取得するために用いられ、予測処理ユニット304は、さらに、例えば、ビットストリーム解析ユニット301から予測関連パラメータ及び/又は選択された予測モードに関する情報(即ち、復号済み符号化パラメータ)を受信又は取得し、再構成された画像データにおける関連するデータ及び復号済み符号化パラメータに基づいて、現在の画像ブロックを予測して現在の画像ブロックの予測ブロックを得てもよい。
【0106】
再構成ユニット305は、逆変換ブロック(即ち、逆変換残差ブロック)を予測ブロックに追加して、サンプル領域において再構成済みブロックを取得するために用いられ、例えば、逆変換残差ブロックのサンプル値を予測ブロックのサンプル値に加算する。
【0107】
フィルタユニット306は、再構成済みブロックをフィルタリングしてフィルタリング済みブロックを取得するために用いられ、該フィルタリング済みブロックは、復号済み画像ブロックである。
【0108】
具体的に、本発明の実施例では、デコーダ30は、後述の実施例で説明される復号方法を実施するために用いられる。
【0109】
なお、本発明の実施例におけるエンコーダ20及びデコーダ30において、あるプロセスの処理結果は、次のプロセスに出力される前にさらに処理されてもよい。例えば、補間フィルタリング、動きベクトル導出又はフィルタリングなどのプロセスの後、対応するプロセスの処理結果に対してさらにClip又はシフトshiftなどの操作を行う。
【0110】
一例では、復号プロセスは、以下のステップを含んでもよい。
【0111】
ステップ1:ビットストリーム解析ユニット301は、予測モード及び残差符号化モードを解析する。
【0112】
ステップ2:ビットストリーム解析ユニット301は、予測モード及び残差符号化モードに基づいて量子化関連値(例えば、near値又はQP値など)を解析する。
【0113】
ステップ3:逆量子化ユニット302は、予測モード及び量子化関連値に基づいて残差係数を解析する。
【0114】
ステップ4:予測処理ユニット304は、予測モードに基づいて、現在の画像ブロックの各画素の予測値を取得する。
【0115】
ステップ5:残差復号ユニット303は、残差係数に基づいて復号して、現在の画像ブロックの各画素の残差値を取得する。
【0116】
ステップ6:再構成ユニット305は、現在の符号化ユニットの各画素の予測値及び残差値に基づいて、その再構成値を取得する。
【0117】
以下、図面を参照しながら、本発明の実施例によって提供される以下の画像符号化及び復号方法について説明する。
【0118】
本発明のいずれかの実施例における符号化側は、上記の
図2又は
図3におけるエンコーダであってもよいし、上記の
図2におけるソースデバイスであってもよく、いずれかの実施例における復号側は、上記の
図2又は
図6におけるデコーダであってもよいし、上記の
図2における宛先デバイスであってもよい。
【0119】
実施例1
【0120】
図7Aに示すのは、本発明の実施例によって提供される画像符号化方法の概略フローチャートである。
図7Aに示す方法は、以下のステップを含む。
【0121】
S101:符号化側は、符号化すべきユニットの目標予測モードを決定する。
【0122】
符号化すべきユニットは、符号化すべき画像内のいずれか1つの符号化すべき画像ブロック(即ち、符号化ユニット)であってもよい。
【0123】
目標予測モードは、予め定義された複数の予測モードのうちの1つであってもよく、具体的に、オリジナル値モードであってもよいし、オリジナル値モード以外の他の予測モードであってもよい。一例では、該他の予測モードは、少なくとも1つのポイント予測モード、少なくとも1つのフレーム内予測モード、及び少なくとも1つのブロックコピーモードのうちのいずれか1つ又は複数の組み合わせを含む。例えば、該他の予測モードは、ポイント予測モードと、フレーム内予測モードと、ブロックコピーモードとの合計3種類の予測モードを含む。別の例として、該他の予測モードは、ポイント予測モード0、ポイント予測モード1、フレーム内予測モード0、ブロックコピーモード0及びブロックコピーモード1の5種類の予測モードを含む。別の例では、該他の予測モードは、通常残差符号化に基づく少なくとも1つのポイント予測モード、通常残差符号化に基づく少なくとも1つのフレーム内予測モード、通常残差符号化に基づく少なくとも1つのブロックコピーモード、スキップ残差符号化に基づく少なくとも1つのポイント予測モード、スキップ残差符号化に基づく少なくとも1つのフレーム内予測モード、及びスキップ残差符号化に基づく少なくとも1つのブロックコピーモードのうちのいずれか1つ又は複数の組み合わせを含む。該例は、本発明の実施例で定義された新たな予測モードを得るために、従来の技術における予測モードと残差符号化モードとを組み合わせたものと考えられてもよい。
【0124】
予測モードが通常残差符号化に基づくポイント予測モードである場合、符号化側は、通常残差符号化モードを使用して残差係数の符号化を行い、ポイント予測モードを使用して符号化すべきユニットの画素値を予測する。予測モードが他のいくつかのモードである場合、これと類似するため、ここでは説明を省略する。
【0125】
S102:符号化側は、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを決定する。ここで、インデックステーブルは、複数の予測モードのインデックスと該複数の予測モードとの対応関係を含む。
【0126】
オプションで、複数の予測モードとそれぞれのインデックスとの対応関係は、インデックステーブルによって記憶されてもよいし、もちろん、他の方式で記憶されてもよく、本発明の実施例はこれについて限定しない。
【0127】
オプションで、符号化側は、該複数の予測モードのインデックスを共同で符号化する。例えば、トランケーテッドユーナリ符号方式で該複数の予測モードのインデックスを符号化し、即ち、該複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式で生成され、例えば、以下の例1及び例2を参照してもよい。別の例として、二分木方式で該複数の予測モードのインデックスを符号化し、例えば、以下の例3を参照してもよい。
【0128】
オプションで、オリジナル値モードのインデックスのコードワード長(即ち、バイナリ文字の数、コード長と呼ばれてもよい)は、他の予測モードのインデックスのコードワード長以上である。オプションで、予測モードのインデックスのコードワード長は、該予測モードの使用頻度に関連する。ここで、ここでの使用頻度はビッグデータに基づいた統計によって得られたものであってもよく、本発明の実施例はその統計方法について限定しない。例えば、使用頻度が高い予測モードほど、そのインデックスのコードワードは短い。もちろん、該複数の予測モードについて、そのうちの一部の予測モードのインデックスが該オプション的な実施形態で示されたルールを満たしてもよい。さらに、オプションで、インデックスのコードワード長が同じである複数の予測モードが存在してもよい。
【0129】
S103:符号化側は、目標予測モードのインデックスをビットストリームに符号化する。
【0130】
図7Bに示すのは、本発明の実施例によって提供される画像復号方法である。該画像復号方法は、
図7Aに示すような画像符号化方法に対応する。
図7Bに示す方法は、以下を含む。
【0131】
S201:復号側は、ビットストリームを解析してシンタックス要素を得、該シンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む。
【0132】
復号すべきユニットは、
図7Aに示す方法における符号化すべきユニットを符号化することによって得られたものであってもよい。
【0133】
オプションで、符号化側は、該複数の予測モードのインデックスを共同で符号化する。例えば、トランケーテッドユーナリ符号方式で該複数の予測モードのインデックスを符号化し、即ち、該複数の予測モードのインデックスは、トランケーテッドユーナリ符号方式で生成される。
【0134】
オプションで、オリジナル値モードのインデックスのコードワード長は、他の予測モードのインデックスのコードワード長以上である。
【0135】
オプションで、予測モードのインデックスのコードワード長は、該予測モードの使用頻度に関連する。例えば、使用頻度が高い予測モードほど、そのインデックスのコードワードは短い。
【0136】
S202:復号側は、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを決定する。ここで、インデックステーブルは、複数の予測モードのインデックスと該複数の予測モードとの対応関係を含む。
【0137】
S203:復号側は、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して復号すべきユニットの再構成ブロックを得る。
【0138】
一例では、復号側は、目標予測モードに基づいて、復号すべきユニットの画素値を予測して予測ブロックを得る。次に、復号側は、ビットストリームを解析して復号すべきユニットの残差ブロックに関連する情報を得、該情報に基づいて復号すべきユニットの残差ブロックを得る。そして、該予測ブロックと残差ブロックとに基づいて、復号側は、復号すべきユニットを再構成して再構成ブロックを得る。
【0139】
復号側は、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成するプロセスは、これに限定されない。別の例では、復号側は、以下の
図21における方法に基づいて復号すべきユニットを再構成してもよい。
【0140】
符号化側において、通常、追加の1ビットで現在の画像ブロック(即ち、符号化すべきユニット)の予測モードがオリジナル値モードであるか否かを示す。例えば、該ビットはorg_flagと記されてもよく、org_flagが「1」であれば、現在のブロックの予測モードがオリジナル値モードであることを示し、org_flagが「0」であれば、現在のブロックの予測モードがオリジナル値モードではないことを示す。現在のブロックの予測モードがオリジナル値モードではない場合、他の予測モードのインデックスをビットストリームに符号化する。しかし、オリジナル値モードが使用される確率は非常に低いため、ほとんどの画像ブロックにおいて、1つのorg_flag「0」をビットストリームに符号化する必要があり、伝送リソースの浪費を招く(即ち、ビットストリーム伝送のオーバーヘッドが増大する)。また、予測モードがオリジナル値予測モードであるか否かにかかわらず、復号側は、このフラグビットorg_flagを先に復号する必要があるため、復号側の復号の複雑さが増大する。
【0141】
しかし、本発明の実施例によって提供される、
図7Aに示す画像符号化方法では、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを直接決定し、目標予測モードがオリジナル値モードであるか否かのフラグ(例えば、フラグビットorg_flag)をビットストリームに符号化しなくてもよい。ほとんどの場合、目標予測モードとしてオリジナル値モードが使用されず、例えば、通常、ポイント予測モード又はフレーム内予測モードが使用されるため、従来のスキームにおける、オリジナル値モードを使用するか否かを表すフラグビット(org_flag)を符号化する必要がないことは、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0142】
それに対応して、本発明の実施例の
図7Bによって提供される画像復号方法では、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを直接決定することができ、フラグビットorg_flagを解析する必要がないため、復号側の復号の複雑さを低減する。
【0143】
図7Bに示す画像復号方法は、
図7Aに示す画像符号化方法に対応するため、該画像復号方法は、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0144】
例1:上記の複数の予測モードが、オリジナル値モード、ポイント予測モード、フレーム内予測モード、及びブロックコピーモードを含むと仮定すると、1つの可能な方法は、トランケーテッドユーナリ符号方式を使用してこれらの予測モードのインデックスを符号化し、オリジナル値モードのインデックスには長いコードワードを使用し、他の予測モードのインデックスには短いコードワードを使用することである。例えば、ポイント予測モードのインデックスのコードワードは0であり、フレーム内予測モードのコードワードは10であり、ブロックコピーモードのコードワードは111であり、オリジナル値モードのインデックスのコードワードは110である。このようなスキームに基づいて、ほとんどの場合、ポイント予測モード又はフレーム内予測モードが使用されるため、オリジナル値モードを使用するか否かを表すフラグビット(org_flag)を符号化する必要がない。
【0145】
該例に基づいて、インデックステーブルは表1に示すものであってもよい。
【表1】
【0146】
例2:上記の複数の予測モードが、オリジナル値モード、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、通常残差符号化に基づくブロックコピーモード、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、及びスキップ残差符号化に基づくブロックコピーモードを含むと仮定し、通常残差符号化モードに基づくポイント予測モード、フレーム内予測モード、及びブロックコピーモードを、順次、通常ポイント予測モード(モード1)、通常フレーム内予測モード(モード2)、通常ブロックコピーモード(モード3)と記し、スキップ残差符号化モードに基づくポイント予測モード、フレーム内予測モード、及びブロックコピーモードを、順次、特殊ポイント予測モード(モード4)、特殊フレーム内予測モード(モード5)、特殊ブロックコピーモード(モード6)と記し、オリジナル値モード(モード7)と合わせて7つの予測パターンがある。この場合、1つの可能な方法は、モード1~7のコードワードは、それぞれ、0、10、110、1110、11110、111110、111111であるように、トランケーテッドユーナリ符号方式でこれらの予測モードのインデックスを符号化することである。
【0147】
該例に基づいて、インデックステーブルは表2に示すものであってもよい。
【表2】
【0148】
例3:二分木方式で複数の予測モードのインデックスを符号化する。表3に示すのは、1つの符号化方式である。
【表3】
【0149】
表3では、複数の予測モードが上記の15種類の予測モードを含むことを例として説明する。実際の実施では、表3に示すインデックステーブルは、予測モードと予測モードのインデックスとの2列のみ、又は予測モード番号と予測モードと予測モードのインデックスとの3列のみを含んでもよい。
【0150】
表3における複数の予測モードのインデックスは、以下のルールで生成される。
【0151】
まず、「0」及び「1」をそれぞれ「ポイント予測モード、フレーム内ブロックコピーモード」及び「フレーム内予測モード、オリジナル値モード」のインデックスの最上位のフラグビットとする。
【0152】
次に、「ポイント予測モード、フレーム内ブロックコピーモード」については、「0」及び「1」をそれぞれ「ポイント予測モード」及び「フレーム内ブロックコピーモード」のインデックスの2番目に高いフラグビットとする。
【0153】
次に、ポイント予測モードについては、「1」及び「0」をそれぞれ「ポイント予測モード0~1」及び「ポイント予測モード2~3」のインデックスの3番目のフラグビットとする。
【0154】
最後に、「ポイント予測モード0~1」については、「0」及び「1」をそれぞれ「ポイント予測モード0」及び「ポイント予測モード1」のインデックスの4番目のフラグビットとする。
【0155】
従って、ポイント予測モード0及びポイント予測モード1のインデックスは、それぞれ「0010」及び「0011」である。他の予測モードのインデックスの生成方式は、これと類似するため、ここでは説明を省略する。
【0156】
フレーム内予測モード0~6については、「1」及び「0」をそれぞれ「フレーム内予測モード0」及び「フレーム内予測モード1~6」のインデックスの2番目に高いビットとして使用する。他のフレーム内予測モードのインデックスについては、説明を省略する。フレーム内ブロックコピーモードのインデックスの生成方式について、これと類似する。
【0157】
オプションで、予測モードのインデックスのコード長は、該予測モードの使用頻度に関連する。一例では、表3を参照し、ポイント予測モード0~3の使用頻度がほぼ同じであることを考慮して、それらのインデックスのコード長が同じに設定され、フレーム内予測モード0の使用頻度がフレーム内予測モード1~6の使用頻度より高いことを考慮して、そのインデックスのコード長は、フレーム内予測モード1~6のインデックスのコード長より短い。他の例は一々列挙しない。
【0158】
オプションで、ある予測モードのインデックスは、他の予測モードのインデックスのプレフィックスとして使用されない。例えば、予測モード0のインデックスは「11」であり、他の14種類の予測モードのインデックスのプレフィックスはいずれも「11」ではない。これは、「ある1つ又は複数の予測モードのインデックスのプレフィックスが「11」であると、復号側が「11」を識別した時点で、該予測モードが予測モード0であるか、該1つ又は複数の予測モードであるかを決定することができない」ことを考慮して提案した技術案であり、これは、復号側が迅速に復号することに役立つ。
【0159】
二分木方式に基づいて複数の予測モードのインデックスを生成する具体的な実施形態は、表3に限定されない。
【0160】
例えば、表3では、ポイント予測モード0~3のインデックスのコード長は等しいが、具体的な実現では、いずれか2つのポイント予測モードのインデックスのコード長は等しくなくてもよく、例えば、フレーム内予測モード0~6のインデックスの生成方式を参照してもよい。
【0161】
例えば、フレーム内予測モード0~6のインデックスのコード長は等しくてもよく、例えば、ポイント予測モード0~3のインデックスの生成方式を参照してもよい。
【0162】
例えば、表3では、「0」及び「1」をそれぞれ「ポイント予測モード、フレーム内ブロックコピーモード」及び「フレーム内予測モード、オリジナル値モード」のインデックスの最上位のフラグビットとするが、具体的な実現では、「1」及び「0」をそれぞれ「ポイント予測モード、フレーム内ブロックコピーモード」及び「フレーム内予測モード、オリジナル値モード」のインデックスの最上位のフラグビットとしてもよい。
【0163】
他の例は一々列挙しない。
【0164】
実施例2
【0165】
図8Aに示すのは、本発明の実施例によって提供される画像符号化方法の概略図である。
図8Aに示す方法は、以下のステップを含む。
【0166】
S301:符号化側は、符号化すべきユニットの残差符号化モードを決定する。ここで、残差符号化モードは、スキップ残差符号化モード又は通常残差符号化モードを含んでもよい。
【0167】
符号化すべきユニット、スキップ残差符号化モード、及び通常残差符号化モードに関する関連説明は、上記に記載されているため、ここでは説明を省略する。
【0168】
S302:該残差符号化モードがスキップ残差符号化モードである場合、符号化側は、該残差符号化モードのインデックスをビットストリームに符号化する。この場合、符号化すべきユニットの残差量子化関連値(例えば、near値又はQP値など)をビットストリームに符号化する必要がない。
【0169】
S303:該残差符号化モードが通常残差符号化モードである場合、符号化側は、該残差符号化モードのインデックス及び符号化すべきユニットの残差量子化関連値(例えば、near値又はQP値など)をビットストリームに符号化する。一例では、符号化側は、まず該残差符号化モードのインデックスを符号化し、次に符号化すべきユニットの残差量子化関連値を符号化する。
【0170】
S304:該残差符号化モードがスキップ残差符号化モードである場合、符号化側は、符号化すべきユニットを予測して予測ブロックを得、該予測ブロックを符号化すべきユニットの再構成ブロックとして決定する。この場合、符号化すべきユニットの残差量子化関連値を取得する必要がない。
【0171】
S305:該残差符号化モードが通常残差符号化モードである場合、符号化側は、符号化すべきユニットの残差量子化関連値を取得して残差ブロックを得、該残差ブロックに基づいて、符号化すべきユニットを再構成して符号化すべきユニットの再構成ブロックを得る。
【0172】
ここで、S304~S305は、符号化側によって実行される再構成プロセスと見なすことができる。
【0173】
図8Bに示すのは、本発明の実施例によって提供される画像復号方法の概略図である。該画像復号方法は、
図8Aに示す画像符号化方法に対応する。
図8Bに示す方法は、以下のステップを含む。
【0174】
S401:復号側は、ビットストリームを解析してシンタックス要素を得る。該シンタックス要素は、復号すべきユニットの残差符号化モードのインデックスを含む。該復号すべきユニットは、
図8Aに示す方法で符号化すべきユニットを符号化することによって得られた画像ブロックであってもよい。
【0175】
S402:残差符号化モードのインデックスがスキップ残差符号化モードを指示するために用いられる場合、復号側は、復号すべきユニットを予測して予測ブロックを得、該予測ブロックを復号すべきユニットの再構成ブロックとして決定する。残差符号化モードがスキップ残差符号化モードであり、即ち、復号すべきユニットの残差値は全て0であるため、該予測ブロックを再構成ブロックとして直接決定してもよい。
【0176】
S403:残差符号化モードのインデックスが通常残差符号化モードを指示するために用いられる場合、復号側は、復号すべきユニットの残差量子化関連値を解析して残差ブロックを得、少なくとも該残差ブロックに基づいて、復号すべきユニットを再構成して再構成ブロックを得る。
【0177】
一例では、上記のシンタックス要素は、さらに、復号すべきユニットの予測モードを含んでもよく、復号側は、該予測モードに基づいて、復号すべきユニットを予測して予測ブロックを得、該残差ブロックと該予測ブロックとに基づいて、復号すべきユニットを再構成して再構成ブロックを得る。少なくとも残差ブロックに基づいて復号すべきユニットを再構成するプロセスは、これに限定されない。別の例では、
図21に示す方法に基づいて再構成を行い、再構成ブロックを得る。
【0178】
通常、1つのフラグビット(res_skip_flagと記す)で現在のブロックにはスキップ残差符号化モードを使用するか否かを示し、残差量子化関連値の符号化(復号)はres_skip_flagの前に行われるため、res_skip_flagが1であっても残差量子化関連値を符号化(復号)する必要がある。しかし、この場合の残差量子化関連値は余計なものであるため、該技術案は、符号化側と復号側との間のビットストリーム伝送のオーバーヘッドを増大させるだけでなく、復号側の復号の複雑さも増大させる。
【0179】
しかし、本発明の実施例の
図8Aによって提供される画像符号化方法では、「スキップ残差符号化モードである(例えば、res_skip_flagが1である)場合、残差係数を符号化又は復号する必要がないため、残差量子化関連値(例えば、near値又はQP値など)も符号化(復号)する必要がない」ことを考慮したため、符号化側において、まず残差符号化モード情報(例えば、残差符号化モードのインデックス、例えばres_skip_flag)を符号化し、次に残差符号化モードに基づいて残差量子化関連値(例えば、near値又はQP値)を符号化するか否かを決定することを提案した。このように、残差符号化モードがスキップ残差符号化モードである場合、残差量子化関連値を符号化する必要がなく、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0180】
それに対応して、本発明の実施例の
図8Bによって提供される画像復号方法では、まず残差符号化モード情報(例えば、残差符号化モードのインデックス、例えばres_skip_flag)を解析し、次に残差符号化モードに基づいて残差量子化関連値(例えば、near値又はQP値)を解析するか否かを決定してもよく、復号側の復号の複雑さを低減する。
【0181】
実施例3
【0182】
図9Aに示すのは、本発明の実施例によって提供される画像符号化方法の概略図である。
図9Aに示す方法は、以下のステップを含む。
【0183】
S501:符号化側は、符号化すべきユニットの目標予測モードを決定する。ここで、目標予測モードは、スキップ残差符号化に基づく予測モード又は通常残差符号化に基づく予測モードを含む。
【0184】
スキップ残差符号化に基づく予測モード、及び通常残差符号化に基づく予測モードは、本発明の実施例で定義された新たな予測モードを得るために、予測モードと残差符号化モードとを組み合わせたものと考えられてもよい。
【0185】
一例では、スキップ残差符号化に基づく予測モードは、スキップ残差符号化に基づくポイント予測モード、スキップ残差符号化に基づくフレーム内予測モード、又はスキップ残差符号化に基づくブロックコピーモードを含む。
【0186】
一例では、通常残差符号化に基づく予測モードは、通常残差符号化に基づくポイント予測モード、通常残差符号化に基づくフレーム内予測モード、又は通常残差符号化に基づくブロックコピーモードを含む。
【0187】
S502:符号化側は、目標予測モードのインデックスをビットストリームに符号化する。
【0188】
一例では、目標予測モードのインデックスの生成方式は、
図7Aに示す実施例における関連例を参照してもよく、例えば、該複数の予測モードのインデックスを共同で符号化し、例えば、トランケーテッドユーナリ符号方式で該複数の予測モードのインデックスを符号化する。もちろん、具体的な実現はこれに限定されない。別の例では、まずフラグビットorg_flagを符号化する方式などの従来の方式で、目標予測モードのインデックスをビットストリームに符号化してもよい。
【0189】
S503:目標予測モードがスキップ残差符号化に基づく予測モードである場合、符号化側は、符号化すべきユニットを予測して予測ブロックを得、該予測ブロックを符号化すべきユニットの再構成ブロックとして決定する。
【0190】
S504:目標予測モードが通常残差符号化に基づく予測モードである場合、符号化側は、符号化すべきユニットの残差量子化関連値を取得して符号化すべきユニットの残差ブロックを得、目標予測モードと残差ブロックとに基づいて、符号化すべきユニットを再構成して再構成ブロックを得る。
【0191】
ここで、S503~S504は、符号化側によって実行される再構成プロセスと見なすことができる。
【0192】
一例では、目標予測モードと残差ブロックとに基づいて、符号化すべきユニットを再構成するステップは、目標予測モードに基づいて、符号化すべきユニットを予測して予測ブロックを得、該予測ブロックと該残差ブロックとに基づいて、符号化すべきユニットを再構成するステップを含んでもよい。もちろん、これに限定されず、別の例では、
図21に示す方法に基づいて再構成を行い、再構成ブロックを得る。
【0193】
図9Bに示すのは、本発明の実施例によって提供される画像復号方法の概略図である。該画像復号方法は、
図9Aに示す画像符号化方法に対応する。
図9Bに示す方法は、以下のステップを含む。
【0194】
S601:復号側は、ビットストリームを解析してシンタックス要素を得、該シンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む。ここで、目標予測モードは、スキップ残差符号化に基づく予測モードのインデックス又は通常残差符号化に基づく予測モードのインデックスを含む。
【0195】
S602:目標予測モードがスキップ残差符号化に基づく予測モードである場合、復号側は、復号すべきユニットを予測して予測ブロックを得、予測ブロックを再構成ブロックとして決定する。
【0196】
S603:目標予測モードが通常残差符号化に基づく予測モードである場合、復号側は、復号すべきユニットの残差量子化関連値を解析して復号すべきユニットの残差ブロックを得、目標予測モードと残差ブロックとに基づいて、復号すべきユニットを再構成して再構成ブロックを得る。
【0197】
一例では、目標予測モードと残差ブロックとに基づいて、復号すべきユニットを再構成するステップは、目標予測モードに基づいて、復号すべきユニットを予測して予測ブロックを得、該予測ブロックと該残差ブロックとに基づいて、復号すべきユニットを再構成するステップを含んでもよい。もちろん、これに限定されず、別の例では、
図21に示す方法に基づいて再構成を行い、再構成ブロックを得る。
【0198】
図9A及び
図9Bに示す画像符号化及び復号方法は、少なくとも以下の有益な効果を有する。従来の残差符号化モードと予測モードとを組み合わせて本発明の実施例によって提供される新たな予測モードとすることにより、残差符号化モードと予測モードとをそれぞれ符号化(復号)する必要がなく、該新たな予測モードを一律に符号化(復号)すればよく、実現ロジックがシンプルであり、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。又は、符号化側は、残差スキップモードも予測モードとして符号化してもよい。符号化側(復号側)は、まず予測モードを符号化(復号)し、次に予測モードに基づいて残差量子化関連値(例えば、near値又はQP値)を解析する必要があるか否かを決定することによって、ビットレートが節約される。また、まず残差符号化モード情報(例えば、残差符号化モードのインデックス、例えばres_skip_flag)を符号化(又は復号)し、次に残差符号化モードに基づいて残差量子化関連値(例えば、near値又はQP値)を符号化(又は復号)するか否かを決定し、それにより、残差符号化モードがスキップ残差符号化モードである場合、残差量子化関連値を符号化(又は復号)する必要がなく、ビットストリーム伝送のオーバーヘッドを節約することに役立つ。
【0199】
例えば、上記の例2に示す符号化方法に基づいて、復号側においては、予測モードに基づいて、復号すべきユニットに対応する符号化すべきユニットについて残差を符号化する必要があるか否かを知ることができる。残差を符号化する必要がないモード(例えば、上記のモード4、5、6、7)については、残差量子化関連値(例えば、near値又はQP値)を符号化(復号)する必要がない。
【0200】
実施例4
【0201】
図10に示すのは、本発明の実施例によって提供される、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法である。
図10に示す方法は、以下のステップを含んでもよい。
【0202】
S701:現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定する。ここで、該少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行にある連続する複数の画素を含み、該いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、第1の指定画素領域は、複数の画素グループを含み、該複数の画素グループは、第2の指定画素領域に基づいて分割することにより得られ、第1の指定画素領域と第2の指定画素領域との予測方式が異なる。該複数の画素グループを並列に予測することが可能であり、1つの画素グループは、1つ又は連続する複数の画素を含む。
【0203】
本実施例が画像符号化方法に適用される場合、本実施例の実行主体は符号化側であってもよく、現在の画像ブロックは具体的に符号化すべき画像ブロック又は符号化すべきユニットである。
【0204】
本実施例が画像復号方法に適用される場合、本実施例の実行主体は復号側であってもよく、現在の画像ブロックは具体的に復号すべき画像ブロック又は復号すべきユニットであってもよい。S701は、ビットストリームを解析して、現在の画像ブロックが分割された少なくとも1つの予測グループのうちのいずれか1つ又は複数の予測グループの予測モードのインデックスを得るステップを含んでもよい。
【0205】
本発明の実施例は、現在の画像ブロックのサイズについて限定せず、例えば、現在の画像ブロックの幅は高さより大きい。例えば、現在の画像ブロックのサイズは、16*2、8*2、又は8*1などである。
【0206】
一例では、現在の画像ブロックは1つの予測グループに分割されてもよく、それは、現在の画像ブロックに対して予測グループの分割を行わないことと等価である。この場合、現在の画像ブロック内の全ての画素が1つの予測グループとされる。
【0207】
別の例では、現在の画像ブロックは、複数の予測グループに分割されてもよい。
【0208】
本発明の実施例は、現在の画像ブロックの予測グループの分割方式、及び各予測グループの予測モードについて限定しない。以下、分割モードと、該分割モードにおける予測モードとをまとめて「分割予測モード」と呼ぶ。
【0209】
一例では、1つの予測グループは、現在の画像ブロックの1行/複数行の全て/一部の画素から構成されてもよく、もちろん、他の実施形態であってもよい。原則として、1つの予測グループは、同じ行にある連続する複数の画素を含んでいればよい。
【0210】
一例では、1つの予測グループに含まれる該連続する複数の画素の数は、予め設定された閾値以上である。これは、1つの予測グループ内の連続する複数の画素の数が比較的多い場合、該予測グループ内の画素を直列に予測すると、該予測グループに対する予測に時間がかかる可能性があることを考慮したためである。この場合、本技術案を採用すれば、1つの予測グループ内の複数の画素グループを並列に予測することが可能となり、該予測グループの予測時間を短縮することに役立つ。
【0211】
予測プロセスにおいて、2つの画素グループ内の画素の間に依存関係がなければ、これら2つの画素グループを並列に予測してもよい。異なる画素グループに含まれる画素の数は等しくてもよく、等しくなくてもよい。
【0212】
本発明の実施例は、第1の指定画素領域及び第2の指定画素領域に具体的にどの画素が含まれるか、及びこれらの画素の予測方式について限定しない。原則として、「複数の画素グループを並列に予測することが可能であり、画素グループは、1つ又は連続する複数の画素を含む」ことを満たしていれば、いずれかの「第1の指定画素領域及び第2の指定画素領域、及び予測方式」を使用してもよい。
【0213】
図11に示すのは、本発明の実施例によって提供される並列画素グループの分割方式である。
図11において、1つの予測グループ内の同じ行にある連続する複数の画素は画素1~12であり、第1の指定画素領域に含まれる画素は画素3、7、11であり、第2の指定画素領域に含まれる画素は画素1~2、4~6、8~10、12である。複数の画素グループは画素グループ1~4であり、ここで、画素グループ1~3は複数の画素を含み、画素グループ4は1つの画素を含む。画素グループ2に含まれる画素の数は、画素グループ3に含まれる画素の数と等しく、他の画素グループに含まれる画素の数と等しくない。
【0214】
一例では、第1の指定画素領域には垂直予測が使用され、第2の指定画素領域には水平予測が使用される。このように、複数の画素グループ間の並列予測が可能となる。
【0215】
別の例では、第1の指定画素領域には垂直予測が使用され、第2の指定画素領域には垂直平均値予測が使用される。このように、複数の画素グループ間の並列予測が可能となる。
【0216】
オプションで、異なる画素グループに含まれる画素の数の差が閾値以下である。このように、複数の画素グループに含まれる画素の数が等しく、又はできるだけ等しくなるようにすることに役立ち、それにより、並列に予測される異なる画素グループの予測時間が同じ又はほぼ同じになり、1つの予測グループの総予測時間が短縮される。
【0217】
S702:該少なくとも1つの予測グループの予測モードに基づいて、現在の画像ブロックを再構成して再構成ブロックを得る。
【0218】
例えば、該少なくとも1つの予測グループのうちのいずれかの予測グループについて、該予測グループの予測モードに基づいて、該予測グループを予測して該予測グループの予測ブロックを得、該予測グループの残差ブロックを取得し、該予測ブロックと該残差ブロックとに基づいて、該予測グループの再構成ブロックを取得する。もちろん、例えば、残差ブロック内の値が全て0である場合、該予測ブロックを該再構成ブロックとして直接決定するなど、他の実施形態もあり得る。別の例として、
図21に示す方法に基づいて再構成を行い、再構成ブロックを得る。
【0219】
図11に示す画像再構成方法では、予測を実行する際に、1つの予測グループ内の複数の画素グループを並列に予測することが可能であり、これは該予測グループの総予測時間を短縮することに役立つ。
図11に示す画像コーディング方法は、本発明の実施例によって提供される新たなポイント予測モードと見なすことができる。
【0220】
拡張的に、
図11に示す画像再構成方法における「行」を「列」に置き換えて、新たな実施例を構成してもよく、それにより、高さが幅より大きい(例えば、現在の画像ブロックのサイズは、2*16、2*8、又は1*8などである)現在の画像ブロックにおいて、予測プロセスが並列に実行できないことによる、予測プロセスに時間がかかるという問題を解決する。この場合、一例では、該第1の指定画素領域には水平予測が使用され、第2の指定画素領域には垂直予測が使用される。別の例では、該第1の指定画素領域には水平予測が使用され、第2の指定画素領域には水平平均値予測が使用される。他の関連実施例は、本発明の
図11に対する関連説明に基づいて推論により得ることができ、ここでは説明を省略する。
【0221】
以下、具体例により、
図11に示す画像再構成方法について説明する。
【0222】
16×2の現在の画像ブロックを対象とし、具体的に、16×2の輝度ブロックであってもよく、16×2の色度ブロックであってもよい。
【0223】
1)16×2の現在の画像ブロックの1つの予測分割モードは、
図12に示すとおりであり、ここで、現在の画像ブロックはGroup1~2を含む。具体的に、Group1は2行目の画素からなり、Group1には水平予測が使用され、Group2は1行目の画素からなり、Group2には垂直平均値予測が使用される。ここで、Group2の画素については、上側の隣接する16×2の画像ブロックの最後の行の画素を参照してもよい。
【0224】
図12に示すように、Group2内の2番目の画素の符号化は、1番目の画素の再構成値に依存するため、1番目の画素と2番目の画素との符号化を並列に行うことができず、復号も類似する。また、Group1内の1番目の画素の符号化は、Group2の1番目の画素の再構成値に依存するため、符号化や復号を同時に行うこともできない。従って、このような予測分割モードの並列度が低く、ハードウェアの実現には向いていない。
【0225】
予測プロセスにおける並列度を向上させるために、本発明の実施例の
図11に示す実施例に適用して、16×2の現在の画像ブロックの予測分割モードは、
図13A又は
図13Bに示すものであってもよい。ここで、
図13A及び
図13Bに示す現在の画像ブロックの予測グループの分割モードは、
図12と同じであるが、予測モードが異なる。具体的に、任意の16×2の現在の画像ブロックについては、その左側の1列(2画素)及び上側の1行(16画素)の値を参照してもよい。16×2の現在の画像ブロックの最も左の画素を1番目の画素と呼ぶ。
【0226】
スキーム1:
図13Aに示すように、予測モードは以下を含む。
【0227】
a)Group1及びGroup2のkN+1(Nは好ましくは4であり、k=1、2又は3)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。
【0228】
b)Group2の画素のうち、kN+1(Nは好ましくは4であり、k=1、2又は3)番目の画素を除く他の画素について、その左側の画素の再構成値を現在の画素の予測値として使用する。
【0229】
c)オプションで、Group1内の画素のうち、kN+1(Nは好ましくは4であり、k=1、2又は3)番目の画素を除く他の画素の予測値は、予め設定された値(即ち、デフォルト値)である。オプションで、該他の画素について、その上側の画素の再構成値(上側の隣接する他のブロックの再構成値、P0と記す)とその下側の画素の再構成値(group2の再構成値、P1と記す)との平均値(例えば、(P0+P1+1)>>1)を現在の画素の予測値として使用する。ここで、「>>」は整数の右シフトを表す。「a>>N」は、aをNビット右にシフトすることを表し、aを2のN乗で割るのと類似するため、「>>1」は、2で割るのとに相当する。
【0230】
スキーム2:
図13Bに示すように、予測モードは以下を含む。
【0231】
d)Group1及びGroup2のkN+2(Nは好ましくは5であり、k=1、2)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。
【0232】
e)Group2の画素のうち、kN+2(Nは好ましくは5であり、k=1、2)番目の画素を除く他の画素について、その左側の画素の再構成値を現在の画素の予測値として使用する。
【0233】
f)オプションで、Group1の画素のうち、kN+2(Nは好ましくは5であり、k=1、2)番目の画素を除く他の画素について、その上側の画素の再構成値(上側の隣接する他のブロックの再構成値、P0と記す)とその下側の画素の再構成値(group2の再構成値、P1と記す)との平均値(例えば、(P0+P1+1)>>1、1ビット右にシフト、即ち、2で割る)を現在の画素の予測値として使用する。
【0234】
2)16×2の現在の画像ブロックの1つの予測分割モードは、
図14に示すとおりであり、ここで、現在の画像ブロックはGroup1~2を含む。具体的に、Group1は1行目の画素からなり、Group1には水平予測が使用され、Group2は2行目の画素からなり、Group2には水平予測が使用される。
【0235】
予測プロセスにおける並列度を向上させるために、本発明の実施例の
図11に示す実施例に適用して、16×2の現在の画像ブロックの1つの予測分割モードは、
図15A~
図15Dに示すとおりである。ここで、
図15A~
図15Dに示す現在の画像ブロックの予測グループの分割モードは、
図14と同じであるが、予測モードが異なる。具体的に以下を含む。
【0236】
スキーム1:
図15Aに示すように、予測モードは以下を含む。
【0237】
a)Group1及びGroup2のkN+1(Nは好ましくは4であり、k=1、2、3)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。
【0238】
b)Group1及びGroup2の他の画素について、その左側の画素の再構成値を現在の画素の予測値として使用する。
【0239】
スキーム2:
図15Bに示すように、予測モードは以下を含む。
【0240】
Group1及びGroup2のkN+1(Nは好ましくは4であり、k=2、3)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0241】
スキーム3:
図15Cに示すように、予測モードは以下を含む。
【0242】
Group1及びGroup2のkN+2(Nは好ましくは5であり、k=1、2)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0243】
スキーム4:
図15Dに示すように、予測モードは以下を含む。
【0244】
Group1及びGroup2のkN+1(Nは好ましくは8であり、k=1)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0245】
上記の実施例1~2において、N及びkは他の値であってもよい。また、予測グループ内の連続する複数の画素の数が異なる場合、N及びkの値はそれに応じて異なってもよい。
【0246】
図13A~
図13B、
図15A~
図15Dにおける黒くマークされた画素の現在の画像ブロックの周囲の現在の画像ブロックの再構成値は、利用できない場合、デフォルト値に設定されてもよい。
【0247】
8×2の現在の画像ブロックを対象とし、具体的に、8×2の輝度ブロックであってもよく、8×2の色度ブロックであってもよい。
【0248】
8×2の現在の画像ブロックに対する1つのグループ化分割モードは、
図16A及び
図16Bに示すとおりである。ここで、任意の8×2の現在の画像ブロックについては、左側の1列(2画素)及び上側の1行(8画素)の画素の再構成値を参照してもよい。
【0249】
図16Aに示すように、予測分割モードAにおいて、全ての画素について、上側の画素の再構成値を現在の画素の予測値として使用する。
【0250】
図16Bに示すように、予測分割モードBにおいて、全ての画素について、その左側の画素の再構成値を現在の画素の予測値として使用する。
【0251】
予測プロセスにおける並列度を向上させるために、本発明の実施例の
図11に示す実施例に適用して、8×2の現在の画像ブロックの1つの予測分割モードは、
図17に示すとおりである。
【0252】
図17において、Group1及びGroup2のkN+1(Nは好ましくは4、k=1)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0253】
8×1の現在の画像ブロックを対象とし、具体的に、8×1の輝度ブロックであってもよく、8×1の色度ブロックであってもよい。
【0254】
8×1の現在の画像ブロックに対する1つのグループ化分割モードは、
図18A及び
図18Bに示すとおりである。ここで、任意の8×1の現在の画像ブロックについては、左側の1列(1画素)及び上側の1行(8画素)の画素の再構成値を参照してもよい。
図18Aに示すように、予測分割モードAにおいて、全ての画素について、上側の画素の再構成値を現在の画素の予測値として使用し、
図18Bに示すように、予測分割モードBにおいて、全ての画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0255】
図18A及び
図18Bにおいて、8×1の現在の画像ブロックを1つの予測グループに分割した。
【0256】
予測プロセスにおける並列度を向上させるために、本発明の実施例の
図11に示す実施例に適用して、8×1の現在の画像ブロックの1つの予測分割モードは、
図19に示すとおりである。
【0257】
図19において、8×1の現在の画像ブロックのkN+1(Nは好ましくは4、k=1)番目の画素について、その上側の画素の再構成値を現在の画素の予測値として使用する。他の画素について、左側の画素の再構成値を現在の画素の予測値として使用する。
【0258】
一例では、上記のいずれかのスキームにおいて、現在の画像ブロックが1フレームの画像又は独立符号化(復号)ユニットの1列目にある場合、現在の画像ブロックの左側に画素が存在せず、このとき、その再構成値の代わりにデフォルト値を使用してもよい。例えば、該デフォルト値は1<<(bit_depth-1)であってもよい。
【0259】
同様に、上記のいずれかのスキームにおいて、現在の画像ブロックが画像又は独立符号化(復号)ユニットの1行目にある場合、現在の画像ブロックの上側に画素が存在せず、このとき、その再構成値の代わりにデフォルト値を使用してもよい。例えば、該デフォルト値は1<<(bit_depth-1)であってもよい。ここで、bit_depthは、現在の画像ブロックのビット幅を表し、例えば、8、9、10、12、又は16などであってもよい。1<<(bit_depth-1)は、bit_depth-1を1ビット左にシフトすることを表す。
【0260】
本発明における画素の再構成値は、いずれも画素のある成分における画素値と見なすことができる。例示的に、ここでの成分は、RGBフォーマットにおける赤R成分、緑G成分、又は青B成分であってもよく、又は、YCbCrフォーマットにおける輝度Y成分、色度青Cb成分、又は色度赤Cr成分であってもよい。各成分のサイズは、画像のサイズと同じであってもよいし、画像のサイズより小さくてもよい。例えばYUV420フォーマットでは、Yのサイズは画像のサイズと等しいが、U又はVの幅及び高さはYの半分しかなく、即ち、そのサイズは画像の1/4しかない。これに基づいて、ここでのbit_depthは、ある成分における現在の画像ブロックのビット幅を表してもよい。
【0261】
上記のいずれかのスキームにおいて、各Groupについて、上記の水平又は垂直予測モードだけでなく、他の予測モードを使用してもよい。1つの可能な予測モードは、隣接する画像ブロック、又は隣接する独立画像ブロックの画素値を用いて参照予測を行うことである。
【0262】
実施例5
【0263】
本発明のいくつかの実施例では、符号化側は、符号化ユニットの残差ブロックをグループ化してもよい。具体的に、符号化ユニットの各行の画素は1つの予測グループとされ、該予測グループの残差ブロックは、少なくとも1つの残差サブブロックに分割される。
【0264】
分割モード1:1つの予測グループの残差ブロックは、1つの残差サブブロックに分割される。これは、
図20のa図に示すように、残差ブロックをグループ化しないことと等価である。
【0265】
分割モード2:1つの予測グループの残差ブロックは、複数の残差サブブロックに分割される。具体的に、予め設定された割合に従って、1つの予測グループの残差ブロックを複数の残差サブブロックに分割する。本発明は、該予め設定された割合について限定しない。該複数の残差サブブロックのサイズが等しくてもよく、又は、一部の残差サブブロックのサイズが等しくてもよい。
【0266】
例えば、
図20のb図に示すように、1:1の割合に従って、1つの予測グループの残差ブロックを2つの残差サブブロックに分割する。
【0267】
例えば、
図20のc図に示すように、2:1:1の割合に従って、1つの予測グループの残差ブロックを3つの残差サブブロックに分割する。
【0268】
例えば、
図20のd図に示すように、1:1:2の割合に従って、1つの予測グループの残差ブロックを3つの残差サブブロックに分割する。
【0269】
例えば、
図20のe図に示すように、1:1:1:1の割合に従って、1つの予測グループの残差ブロックを4つの残差サブブロックに分割する。
【0270】
図20のa~e図は、いずれも符号化ユニットが16×2であり、各行が1つの予測グループとされることを例として説明される。該16×2の符号化ユニットは、輝度ブロックであってもよいし、色度ブロックであってもよい。各図における各小さな矩形は、1つの画素を表し、同じ種類の小さな矩形(例えば、いずれも白い矩形、又はいずれも同じ色合いでマークされた矩形)は、同一の残差サブブロック内の画素を表す。
【0271】
また、8×1の予測グループについて、該予測グループの残差ブロックを1つの残差サブブロックに分割してもよいし、2つの残差サブブロックに均等に分割してもよい。もちろん、具体的な実現では、これらに限定されない。
【0272】
一例では、同一の残差サブブロック内の画素の係数符号化方式は同じであり、又は、同一の残差サブブロック内の画素の符号化長、即ち残差係数が符号化された後に占有するビット数は同じである。
【0273】
一例では、上記の
図20は残差ブロックの5つの分割モードを示す。
【0274】
一例では、1ビット又は3ビットで分割モードGPMを表してもよい(表4に示すとおり)。ここでのGP0~GP4は、それぞれ
図20のa~e図に対応してもよい。
【表4】
【0275】
表4に示す残差ブロック分割モードのインデックス符号化方法は、他のサイズの予測グループの残差ブロックの分割モード、及び上記の予測グループの他の分割モードに適用されてもよい。
【0276】
1つの残差ブロックが分割された残差サブブロックの数が多い場合、符号化が必要な分割モード情報が多く、1つの残差ブロックが分割された残差サブブロックの数が少ない場合、特性の異なる残差が1つのグループに分けられ、残差係数の符号化効率が高くない。少なくともこの2つの観点を考慮し、本発明の実施例は、上記の残差ブロックの分割方法を提供した。
【0277】
実施例6
【0278】
図21に示すように、本発明の実施例によって提供される、画像符号化方法にも画像復号方法にも適用可能な画像再構成方法の概略図である。
図21に示す方法は、以下のステップを含んでもよい。
【0279】
S801:現在の画像ブロックの目標予測モードを決定し、ここで、現在の画像ブロックは、少なくとも1つの予測グループを含み、該少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む。ここで、該連続する複数の画素は、1行内の連続する複数の画素であってもよく、1列内の連続する複数の画素であってもよい。
【0280】
本実施例が画像符号化方法に適用される場合、本実施例の実行主体は符号化側であってもよく、現在の画像ブロックは具体的に符号化すべき画像ブロック又は符号化すべきユニットである。
【0281】
本実施例が画像復号方法に適用される場合、本実施例の実行主体は復号側であってもよく、現在の画像ブロックは具体的に復号すべき画像ブロック又は復号すべきユニットであってもよい。S801は、ビットストリームを解析して、現在の画像ブロックの目標予測モードのインデックスを得るステップを含んでもよい。
【0282】
S802:目標予測モードが予め設定された条件を満たす場合、該連続する複数の画素のうちの最初の画素の参照値と、該最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、目標画素の再構成値を決定する。ここで、目標画素は、該連続する複数の画素のうちのいずれか1つの非最初の画素であり、現在の画像ブロックの再構成ブロックは、目標画素の再構成値を含む。
【0283】
一例では、該連続する複数の画素のうちの最初の画素には第1の予測方式が使用され、非最初の画素には第2の予測方式が使用される。目標予測モードは、第1の予測方式と第2の予測方式とを含む。この場合、目標予測モードが予め設定された条件を満たすことは、以下のいずれか1つの条件を含む。
【0284】
条件1:第1の予測方式と第2の予測方式とはいずれも水平予測である。
【0285】
条件2:第1の予測方式と第2の予測方式とはいずれも垂直予測である。
【0286】
条件3:第1の予測方式と第2の予測方式との一方は水平予測であり、他方は垂直予測である。例えば、第1の予測方式は水平予測であり、第2の予測方式は垂直予測である。別の例として、第1の予測方式は垂直予測であり、第2の予測方式は水平予測である。
【0287】
条件4:第1の予測方式は、現在の画像ブロックに隣接する画像ブロックの画素値、又は現在の画像ブロックが位置する独立符号化(復号)ユニットに隣接する独立符号化(復号)ユニットの画素値を用いて参照予測を行う方式である。第2の予測方式は、水平予測又は垂直予測である。
【0288】
本実施例によって提供される画像再構成方法では、符号化側/復号側が、再構成を実行する際に、その前の画素とそれに隣接する画素との残差値に基づいて、現在の画素の再構成値を直接取得することができ、その前の画素の再構成値を取得するのを待つ必要がなく、該技術案は、再構成プロセスの並列度を大幅に向上させることもできるため、復号並列度及びスループットを向上させる。
【0289】
簡単のため、以下、
図22に示す8×1の画像ブロックの予測モードを例として説明する。他の画像ブロック又は他の予測モードについては簡単に類推することができ、ここでは説明を省略する。
【0290】
現在の8×1画像ブロックの再構成値をR(i)、残差値をRes(i)、予測値をPred(i)、i=0、1、・・・7とする。
図22に示すように、現在の8×1ブロックの上側の8×1ブロックの再構成値はRA(i)、i=0、1、・・・、7であり、左側の画素の再構成値はRLi、i=0、1である。ここで、
図22は、
図19に基づいて描かれたものである。
【0291】
従来の方法に基づいて、8×1の画像ブロックの予測値は、
i=0であればPred(i)=RL0、
i=1、2又は3であればPred(i)=R(i-1)、
i=4であればPred(i)=RA(4)、
i=5、6又は7であればPred(i)=R(i-1)となる。
【0292】
以上より、従来の方法では、8×1の画像ブロックの再構成値は、
R(i)=Pred(i)+Res(i)==R(i-1)/RA(4)+Res(i)、i=0,1,…7となる。
【0293】
図21に示す方法に基づいて、
i=0について、R(0)=Pred(0)+Res(0)=RL0+Res(0)となり、
i=1について、R(1)=Pred(1)+Res(1)となり、Pred(1)=R(0)であるため、R(1)=R(0)+Res(1)=RL0+Res(0)+Res(1)となる。
【0294】
同様に、i=2又は3について、R(2)=RL0+Res(0)+Res(1)+Res(2)となり、R(3)=RL0+Res(0)+Res(1)+Res(2)+Res(3)となる。
【0295】
以上より、i=0~3のいずれかの値について、
【数1】
となる。
【0296】
該方法に基づいて、i=1、2又は3の画素の再構成値について、その左側の画素の再構成値の生成を待つ必要がなく、現在の画像ブロックの左側の画素値RL0、及び現在の画素とその左側の画素との残差値を取得するだけで、現在の画素の再構成値を直接取得することができる。該方法は、復号並列度及びスループットを大幅に向上させることもできる。
【0297】
以降も同様に、i=4~7について、
【数2】
となる。
【0298】
i=5~7の画素の再構成値も、その左側の画素の再構成値を待つことなく得ることができる。
【0299】
以上に提供された任意の複数の実施例における一部又は全部の技術的特徴を、矛盾しない限り、組み合わせて新たな実施例を構成してもよい。また、上記のいずれかの実施例によって提供される技術案は、いずれも16×2、8×2、8×1の画像ブロックに適用してもよく、もちろん、例えば4×2、16×4などの他のM×Nの画像ブロックに適用してもよい。
【0300】
上記の実施例における機能を実現するために、エンコーダ/デコーダは、各機能を実行するための対応するハードウェア構造及び/又はソフトウェアモジュールを含む。当業者であれば容易に理解できるように、本発明に開示された実施例で説明された各例のユニット及び方法のステップを参照して、本発明は、ハードウェア、又はハードウェアとコンピュータソフトウェアとの組み合わせの形で実現され得る。ある機能がハードウェアで実行されるか、コンピュータソフトウェアがハードウェアを駆動する方式で実行されるかは、技術案の特定の適用シナリオ及び設計制約条件に依存する。
【0301】
以下、本発明の実施例によって提供される復号装置及び符号化装置について説明する。一例では、以下に提供される復号装置はいずれも、
図2における宛先デバイス12又はデコーダ122であってもよく、又は
図6におけるデコーダ30であってもよい。別の例では、以下に提供される符号化装置はいずれも、
図2におけるソースデバイス11又はエンコーダ112であってもよく、又は
図3におけるエンコーダ20であってもよい。これは一律のものであり、以下では説明を省略する。
【0302】
図23は、本発明によって提供される復号装置3000の概略構造図であり、上記のいずれかの復号方法の実施例は、該復号装置によって実行されてもよい。該復号装置3000は、ビットストリーム解析ユニット3001と、決定ユニット3002と、再構成ユニット3003とを含む。ビットストリーム解析ユニット3001は、ビットストリームを解析して第1のシンタックス要素を得るために用いられ、第1のシンタックス要素は、復号すべきユニットの目標予測モードのインデックスを含む。決定ユニット3002は、目標予測モードのインデックスに基づいて、インデックステーブルから目標予測モードを決定するために用いられる。ここで、インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む。再構成ユニット3003は、少なくとも目標予測モードに基づいて、復号すべきユニットを再構成して再構成ブロックを得るために用いられる。
【0303】
一例では、ビットストリーム解析ユニット3001は、
図6におけるビットストリーム解析ユニット301によって実現されてもよい。決定ユニット3002は、
図6における予測処理ユニット304によって実現されてもよい。再構成ユニット3003は、
図6における予測処理ユニット304と再構成ユニット305とを組み合わせることによって実現されてもよい。
図6における現在の画像ブロックは、本実施例における復号すべきユニットであってもよい。上記のビットストリーム解析ユニット3001、決定ユニット3002及び再構成ユニット3003に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0304】
図24は、本発明によって提供される符号化装置3100の概略構造図であり、該符号化装置3100は、予測ユニット3101と、符号化ユニット3102とを含む。予測ユニット3101は、符号化すべきユニットの目標予測モードを決定し、目標予測モードに基づいて、インデックステーブルから目標予測モードのインデックスを決定するために用いられる。ここで、インデックステーブルは、複数の予測モードのインデックスと複数の予測モードとの対応関係を含む。符号化ユニット3102は、目標予測モードのインデックスをビットストリームに符号化するために用いられる。
【0305】
一例では、予測ユニット3101は、
図3における予測処理ユニット201によって実現されてもよく、符号化ユニット3102は、
図3における係数符号化ユニット205によって実現されてもよい。
図3における現在の画像ブロックは、本実施例の符号化ユニットであってもよい。上記の予測ユニット3101及び符号化ユニット3102に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0306】
図25は、本発明によって提供される符号化装置/復号装置3200の概略構造図であり、該符号化装置/復号装置3200は、決定ユニット3201と、予測ユニット3202と、再構成ユニット3203とを含む。決定ユニット3201は、現在の画像ブロックの残差符号化モードを決定するために用いられる。残差符号化モードがスキップ残差符号化モードである場合、予測ユニット3202は、現在の画像ブロックを予測して予測ブロックを得るために用いられ、再構成ユニット3203は、予測ブロックを現在の画像ブロックの再構成ブロックとして決定するために用いられる。残差符号化モードが通常残差符号化モードである場合、決定ユニット3201は、さらに、現在の画像ブロックの残差量子化関連値を取得して残差ブロックを得るために用いられ、再構成ユニット3203は、残差ブロックに基づいて、現在の画像ブロックを再構成して現在の画像ブロックの再構成ブロックを得るために用いられる。
【0307】
一例では、決定ユニット3201は、
図6におけるビットストリーム解析ユニット301によって実現されてもよく、予測ユニット3202は、
図6における予測処理ユニット304によって実現されてもよく、再構成ユニット3203は、
図6における再構成ユニット305によって実現されてもよい。別の例では、決定ユニット3201は、
図3における残差符号化ユニット203によって実現されてもよく、予測ユニット3202は、
図3における予測処理ユニット201によって実現されてもよく、再構成ユニット3203は、
図3における再構成ユニット208によって実現されてもよい。上記の決定ユニット3201、予測ユニット3202及び再構成ユニット3203に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0308】
図26は、本発明によって提供される符号化装置/復号装置3300の概略構造図であり、該符号化装置/復号装置3300は、決定ユニット3301と、予測ユニット3302と、再構成ユニット3303と、取得ユニット3304とを含む。決定ユニット3301は、現在の画像ブロックの目標予測モードを決定するために用いられる。目標予測モードがスキップ残差符号化に基づく予測モードである場合、予測ユニット3302は、現在の画像ブロックを予測して予測ブロックを得るために用いられ、再構成ユニット3303は、予測ブロックを再構成ブロックとして決定するために用いられる。目標予測モードが通常残差符号化に基づく予測モードである場合、取得ユニット3304は、現在の画像ブロックの残差量子化関連値を取得して現在の画像ブロックの残差ブロックを得るために用いられ、再構成ユニット3303は、目標予測モードと残差ブロックとに基づいて、現在の画像ブロックを再構成して再構成ブロックを得るために用いられる。
【0309】
一例では、決定ユニット3301は、
図6におけるビットストリーム解析ユニット301によって実現されてもよく、予測ユニット3302は、
図6における予測処理ユニット304によって実現されてもよく、再構成ユニット3303は、
図6における再構成ユニット305によって実現されてもよく、取得ユニット3304は、
図6におけるビットストリーム解析ユニット301と残差復号ユニット303とによって実現されてもよい。別の例では、決定ユニット3301及び予測ユニット3302は、
図3における予測処理ユニット201によって実現されてもよく、再構成ユニット3303は、
図3における再構成ユニット208によって実現されてもよく、取得ユニット3304は、
図3における残差復号ユニット303によって実現されてもよい。上記の決定ユニット3301、予測ユニット3302、再構成ユニット3303及び取得ユニット3304に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0310】
図27は、本発明によって提供される符号化装置/復号装置3400の概略構造図であり、該符号化装置/復号装置3400は、決定ユニット3401と、再構成ユニット3402とを含む。決定ユニット3401は、現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定するために用いられる。ここで、少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、第1の指定画素領域は、複数の画素グループを含み、複数の画素グループは、第2の指定画素領域に基づいて分割することにより得られ、第1の指定画素領域と第2の指定画素領域との予測方式が異なり、複数の画素グループを並列に予測することが可能であり、画素グループは、1つ又は連続する複数の画素を含む。再構成ユニット3402は、少なくとも1つの予測グループの予測モードに基づいて、現在の画像ブロックを再構成して再構成ブロックを得るために用いられる。
【0311】
一例では、決定ユニット3401は、
図6におけるビットストリーム解析ユニット301によって実現されてもよく、再構成ユニット3402は、
図6における予測処理ユニット304と再構成ユニット305とによって共に実現されてもよい。別の例では、決定ユニット3401は、
図3における予測処理ユニット201によって実現されてもよく、再構成ユニット3402は、
図3における再構成ユニット208によって実現されてもよい。上記の決定ユニット3401及び再構成ユニット3402に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0312】
図28は、本発明によって提供される符号化装置/復号装置3500の概略構造図であり、該符号化装置/復号装置3500は、決定ユニット3501と、再構成ユニット3502とを含む。決定ユニット3501は、現在の画像ブロックの目標予測モードを決定するために用いられる。ここで、前記現在の画像ブロックは、少なくとも1つの予測グループを含み、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む。再構成ユニット3502は、前記目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するために用いられる。ここで、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記現在の画像ブロックの再構成ブロックは、前記目標画素の再構成値を含む。
【0313】
一例では、決定ユニット3501は、
図6におけるビットストリーム解析ユニット301によって実現されてもよく、再構成ユニット3502は、
図6における予測処理ユニット304と再構成ユニット305とによって共に実現されてもよい。別の例では、決定ユニット3501は、
図3における予測処理ユニット201によって実現されてもよく、再構成ユニット3502は、
図3における再構成ユニット208によって実現されてもよい。上記の決定ユニット3501及び再構成ユニット3502に関するより詳細な説明、そのうちの各技術的特徴のより詳細な説明、及び有益な効果の説明などについては、いずれも上記の対応する方法の実施例の部分を参照してもよいため、ここでは説明を省略する。
【0314】
本発明は、さらに、上記のいずれかの復号方法の実施例を実行するための電子デバイスを提供する。
図29に示すように、
図29は、本発明によって提供される電子デバイスの概略構造図であり、電子デバイス3600はプロセッサ3610とインタフェース回路3620とを含む。プロセッサ3610とインタフェース回路3620とは互いに結合される。インタフェース回路3620は、トランシーバ又は入出力インタフェースであってもよい。一例では、電子デバイス3600は、プロセッサ3610によって実行される命令を記憶するため、又はプロセッサ3610が命令を実行するために必要な入力データを記憶するため、又はプロセッサ3610が命令を実行した後に生成されるデータを記憶するためのメモリ3630をさらに含んでもよい。
【0315】
該電子デバイス3600は、プロセッサ3610と通信インタフェース3620とを含む。プロセッサ3610と通信インタフェース3620とは互いに結合される。通信インタフェース3620は、トランシーバ又は入出力インタフェースであってもよい。一例では、電子デバイス3600は、プロセッサ3610によって実行される命令を記憶するため、又はプロセッサ3610が命令を実行するために必要な入力データを記憶するため、又はプロセッサ3610が命令を実行した後に生成されるデータを記憶するためのメモリ3630をさらに含んでもよい。
【0316】
本発明の実施例では、上記の通信インタフェース3620、プロセッサ3610、及びメモリ3630の間の具体的な接続媒体について限定しない。本発明の実施例では、
図29において、通信インタフェース3620、プロセッサ3610、及びメモリ3630は、バス3640を介して接続され、バスは、
図29において太線で示され、他の構成要素間の接続方式は、例示的なものに過ぎず、これについて特に限定しない。前記バスは、アドレスバス、データバス、制御バスなどに分けることができる。表現を容易にするために、
図29には、1本の太線のみが示されているが、バスが1本のみ、又はバスの種類が1種類のみであることを意味するものではない。
【0317】
メモリ3630は、本発明の実施例によって提供される復号方法又は符号化方法に対応するプログラム命令/モジュールのようなソフトウェアプログラム及びモジュールを記憶するために用いられてもよく、プロセッサ3610は、メモリ3630に記憶されたソフトウェアプログラム及びモジュールを実行することによって、様々な機能アプリケーション及びデータ処理を実行し、それにより、上記に提供されるいずれかの復号方法又は符号化方法が実施される。該通信インタフェース3620は、他のデバイスとのシグナリングやデータの通信に用いられてもよい。本発明では、該電子デバイス3600は、複数の通信インタフェース3620を有してもよい。
【0318】
本発明の実施例におけるプロセッサは、中央処理装置(central processing Unit、CPU)、ニューラル処理ユニット(neural processing unit、NPU)、又はグラフィック処理ユニット(graphic processing unit、GPU)であってもよく、他の汎用プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、又は他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、又はそれらの任意の組み合わせであってもよい。汎用プロセッサは、マイクロプロセッサであってもよく、任意の従来のプロセッサであってもよい。
【0319】
本発明の実施例における方法のステップは、ハードウェアによって実現されてもよく、プロセッサがソフトウェア命令を実行することによって実現されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールから構成されてもよく、ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、読み取り専用メモリ(read-only memory、ROM)、プログラマブル読み取り専用メモリ(programmable ROM、PROM)、消去可能プログラマブル読み取り専用メモリ(erasable PROM、EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、又は当技術分野で周知の任意の他の形態の記憶媒体に記憶されてもよい。例示的な記憶媒体は、プロセッサが該記憶媒体から情報を読み取り、該記憶媒体に情報を書き込むことができるように、プロセッサに結合される。もちろん、記憶媒体は、プロセッサの構成要素であってもよい。プロセッサ及び記憶媒体は、ASIC内に配置されてもよい。また、該ASICは、ネットワークデバイス又は端末デバイス内に配置されてもよい。もちろん、プロセッサ及び記憶媒体は、独立したコンポーネントとしてネットワークデバイス又は端末デバイス内に存在してもよい。
【0320】
本発明の実施例は、さらに、符号化側と復号側とを含む画像符号化及び復号システムを提供し、該符号化側は、上記に提供されるいずれかの符号化方法を実行するために用いられてもよく、復号側は、対応する復号方法を実行するために用いられてもよい。
【0321】
上記の実施例において、その全部又は一部は、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせによって実現してもよい。ソフトウェアを用いて実現する場合、その全部又は一部はコンピュータプログラム製品の形態で実現されてもよい。前記コンピュータプログラム製品は、1つ又は複数のコンピュータプログラム又は命令を含む。前記コンピュータプログラム又は命令がコンピュータ上でロードされ、実行されると、本発明の実施例に記載のプロセス又は機能の全部又は一部が実行される。前記コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、ネットワークデバイス、ユーザ機器、又は他のプログラマブル装置であってもよい。前記コンピュータプログラム又は命令は、コンピュータ可読記憶媒体に記憶されてもよく、又は1つのコンピュータ可読記憶媒体から他のコンピュータ可読記憶媒体に伝送されてもよく、例えば、前記コンピュータプログラム又は命令は、1つのウェブサイト、コンピュータ、サーバ又はデータセンターから有線又は無線で他のウェブサイト、コンピュータ、サーバ又はデータセンターに伝送されてもよい。前記コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体、又は1つもしくは複数の利用可能な媒体を集積したサーバやデータセンターなどのデータ記憶デバイスであってもよい。前記利用可能な媒体は、フロッピーディスク、ハードディスク、又は磁気テープなどの磁気媒体であってもよく、デジタルビデオディスク(digital video disc、DVD)などの光学媒体であってもよく、ソリッドステートドライブ(solid state drive、SSD)などの半導体媒体であってもよい。
【0322】
本発明の各実施例において、特別な説明及び論理的な矛盾がなければ、異なる実施例間の用語及び/又は説明は一貫しており、互いに引用することができ、異なる実施例における技術的特徴は、その内部の論理関係に従って組み合わせて新しい実施例を形成することができる。本発明において、「少なくとも1つ」は1つ又は複数を指し、「複数」は2つ以上を指す。「及び/又は」は、関連対象の関連関係を説明し、3種類の関係が存在してもよいことを表し、例えば、A及び/又はBは、Aが単独で存在する場合、AとBが同時に存在する場合、Bが単独で存在する場合を表すことができ、A、Bは単数又は複数であってもよい。本発明の文字による説明において、文字「/」は、一般的に、前後の関連対象が「又は」の関係であることを表し、本発明の式において、文字「/」は、前後の関連対象が「除算」の関係であることを表す。
【0323】
本発明の実施例に関わる様々な数字の番号は、説明の便宜のために付けられたものに過ぎず、本発明の実施例の範囲を限定するためのものではない。上記の各プロセスの番号の大きさは、実行順序を意味するものではなく、各プロセスの実行順序は、その機能及び内部ロジックによって決定されるべきである。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定するステップであって、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、前記いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、前記第1の指定画素領域は、複数の画素グループを含み、前記複数の画素グループは、前記第2の指定画素領域に基づいて分割することにより得られ、前記第1の指定画素領域と前記第2の指定画素領域との予測方式が異なり、前記複数の画素グループを並列に予測することが可能であり、前記画素グループは、1つ又は連続する複数の画素を含む、ステップと、
前記少なくとも1つの予測グループの予測モードに基づいて、前記現在の画像ブロックを再構成して再構成ブロックを得るステップと、を含む、
ことを特徴とする画
像復号方法。
【請求項2】
前記いずれかの予測グループが同じ行にある連続する複数の画素を含む場合、前記第1の指定画素領域には垂直予測が使用され、前記第2の指定画素領域には水平予測又は垂直平均値予測が使用され、
及び/又は、
前記いずれかの予測グループが同じ列にある連続する複数の画素を含む場合、前記第1の指定画素領域には水平予測が使用され、前記第2の指定画素領域には垂直予測又は水平平均値予測が使用される、
ことを特徴とする請求項
1に記載に方法。
【請求項3】
異なる画素グループに含まれる画素の数の差が閾値以下である、
ことを特徴とする請求項
1に記載の方法。
【請求項4】
前記現在の画像ブロックに参照ブロックが存在しない場合、前記現在の画像ブロックの1番目の画素の再構成値は、前記現在の画像ブロックのビット幅を1ビット左にシフトすることにより得られる値である、
ことを特徴とする請求項
1に記載の方法。
【請求項5】
前記現在の画像ブロックは、少なくとも1つの予測グループを含み、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含み、
前記少なくとも1つの予測グループの予測モードに基づいて、前記現在の画像ブロックを再構成して再構成ブロックを得るステップは、
目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するステップであって、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記現在の画像ブロックの再構成ブロックは、前記目標画素の再構成値を含む、ステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
現在の画像ブロックの目標予測モードを決定するステップであって、前記現在の画像ブロックは、少なくとも1つの予測グループを含み、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む、ステップと、
前記目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するステップであって、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記現在の画像ブロックの再構成ブロックは、前記目標画素の再構成値を含む、ステップと、を含む、
ことを特徴とする画
像復号方法
。
【請求項7】
現在の画像ブロックが分割された少なくとも1つの予測グループの予測モードを決定するための決定ユニットであって、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、同じ行/列にある連続する複数の画素を含み、前記いずれかの予測グループは、第1の指定画素領域と第2の指定画素領域とを含み、前記第1の指定画素領域は、複数の画素グループを含み、前記複数の画素グループは、前記第2の指定画素領域に基づいて分割することにより得られ、前記第1の指定画素領域と前記第2の指定画素領域との予測方式が異なり、前記複数の画素グループを並列に予測することが可能であり、前記画素グループは、1つ又は連続する複数の画素を含む、決定ユニットと、
前記少なくとも1つの予測グループの予測モードに基づいて、前記現在の画像ブロックを再構成して再構成ブロックを得るための再構成ユニットと、を含む、
ことを特徴とする画
像復号装置。
【請求項8】
現在の画像ブロックの目標予測モードを決定するための決定ユニットであって、前記現在の画像ブロックは、少なくとも1つの予測グループを含み、前記少なくとも1つの予測グループのうちのいずれかの予測グループは、連続する複数の画素を含む、決定ユニットと、
前記目標予測モードが予め設定された条件を満たす場合、前記連続する複数の画素のうちの最初の画素の参照値と、前記最初の画素と目標画素との間の各隣接する2つの画素の残差値とに基づいて、前記目標画素の再構成値を決定するための再構成ユニットであって、前記目標画素は、前記連続する複数の画素のうちのいずれか1つの非最初の画素であり、前記現在の画像ブロックの再構成ブロックは、前記目標画素の再構成値を含む、再構成ユニットと、を含む、
ことを特徴とする画
像復号装置。
【請求項9】
プロセッサとメモリとを含む電子デバイスであって、前記メモリは、コンピュータ命令を記憶するために用いられ、前記プロセッサは、前記メモリからコンピュータ命令を呼び出して実行し、請求項1~
6のいずれか1項に記載の方法を実施するために用いられる、
ことを特徴とする電子デバイス。
【請求項10】
コンピュータプログラム又は命令を記憶しているコンピュータ可読記憶媒体であって、前記コンピュータプログラム又は命令が電子デバイスにより実行されると、請求項1~
6のいずれか1項に記載の方法が実施される、
ことを特徴とするコンピュータ可読記憶媒体。
【国際調査報告】