(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-12
(54)【発明の名称】画像復号方法及び装置、画像符号化方法及び装置
(51)【国際特許分類】
H04N 19/11 20140101AFI20241105BHJP
H04N 19/186 20140101ALI20241105BHJP
H04N 19/70 20140101ALI20241105BHJP
【FI】
H04N19/11
H04N19/186
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024527663
(86)(22)【出願日】2022-11-10
(85)【翻訳文提出日】2024-07-10
(86)【国際出願番号】 CN2022131032
(87)【国際公開番号】W WO2023083239
(87)【国際公開日】2023-05-19
(31)【優先権主張番号】202111335613.7
(32)【優先日】2021-11-11
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】508219313
【氏名又は名称】杭州海康威視数字技術股▲フン▼有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】▲陳▼ 方▲棟▼
(72)【発明者】
【氏名】王 岩
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC08
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159TA33
5C159TB06
5C159TB08
5C159TC26
5C159UA02
5C159UA05
(57)【要約】
本発明は、ビデオ符号化及び復号技術分野に関し、画像符号化及び復号(又はビデオ符号化及び復号)過程における予測効率が低いという問題を解決するための画像復号方法及び装置、画像符号化方法及び装置を提供する。画像復号方法は、ビットストリームを解析して、シンタックス要素を取得するステップであって、当該シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、当該復号対象ユニットは、少なくとも1つの予測グループを含む、ステップと、当該少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定するステップと、当該予測モードに基づいて当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得るステップと、当該復号対象ユニットの残差ブロックと、当該少なくとも1つの予測グループの予測値とに基づいて、当該復号対象ユニットを復号するステップと、を含む。
【特許請求の範囲】
【請求項1】
ビットストリームを解析して、シンタックス要素を取得するステップであって、前記シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、前記復号対象ユニットは、少なくとも1つの予測グループを含む、ステップと、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定するステップと、
前記予測モードに基づいて前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るステップと、
前記復号対象ユニットの残差ブロックと、前記少なくとも1つの予測グループの各予測グループの予測値とに基づいて、前記復号対象ユニットを復号するステップと、を含む、
ことを特徴とする画像復号方法。
【請求項2】
前記いずれか1つの予測グループは、
前記復号対象ユニットにおける1行の画素、又は、
前記復号対象ユニットにおける1列の画素、連続する複数列の画素、連続する複数の奇数列の画素、又は、連続する複数の偶数列の画素を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記少なくとも1つの予測グループは、
垂直均等分割方式で前記復号対象ユニットを複数の予測グループ分割すること、又は、
水平均等分割方式で前記復号対象ユニットを複数の予測グループ分割すること、又は、
所定の比率で垂直方向に前記復号対象ユニットを複数の予測グループに分割すること、又は、
所定の比率で水平方向に前記復号対象ユニットを複数の予測グループに分割すること、によって得られる、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記少なくとも1つの予測グループは、複数の予測グループを含み、前記複数の予測グループのうちの少なくとも2つの予測グループの予測モードは異なる、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記いずれか1つの予測グループの予測モードは、水平予測、垂直予測、水平平均予測、及び垂直平均予測のうちの少なくとも1つを含み、又は、
前記いずれか1つの予測グループの予測モードは、前記復号対象ユニットに隣接する復号ユニットの画素値を用いて、又は前記復号対象ユニットが位置する独立復号ユニットに隣接する独立復号ユニットの画素値を用いて実行される参照予測を含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記いずれか1つの予測グループは、色度予測グループ又は輝度予測グループである、請求項1に記載の方法。
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記シンタックス要素は、前記復号対象ユニットの分割モードの識別情報をさらに含み、前記分割モードは、前記復号対象ユニットが前記少なくとも1つの予測グループに分割されるときに使用される分割モードであり、及び/又は、
前記シンタックス要素は、前記いずれか1つの予測グループの予測モードをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項8】
前記シンタックス要素は、前記残差ブロックから分割された少なくとも1つのサブ残差ブロックを得て、前記残差ブロックを取得するために用いられる、
ことを特徴とする請求項1に記載の方法。
【請求項9】
前記シンタックス要素は、前記残差ブロックのグループ化方式のインデックス情報をさらに含み、異なるインデックス情報は、異なるグループ化方式を示すために用いられる、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記シンタックス要素は、第1の指標をさらに含み、前記第1の指標は、前記残差ブロックに対してグループ化を実行するか否かを示すために用いられる、
ことを特徴とする請求項1に記載の方法。
【請求項11】
前記残差ブロックは、輝度残差ブロック又は色度残差ブロックを含む、
ことを特徴とする請求項8~10のいずれか1項に記載の方法。
【請求項12】
前記シンタックス要素は、前記残差ブロックを変換、量子化及び係数符号化した後に得られる第1の情報を含み、前記方法はさらに、
前記第1の情報に対して係数復号、逆量子化及び逆変換を行って、前記残差ブロックを取得するステップを含み、
又は、
前記シンタックス要素は、前記残差ブロックのいずれか1つのサブ残差ブロックを変換、量子化及び係数符号化した後に得られる第2の情報を含み、前記方法はさらに、
前記第2の情報に対して係数復号、逆量子化及び逆変換を行って、前記いずれか1つのサブ残差ブロックを得るステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項13】
前記残差ブロックは、復号対象ユニット粒度の残差ブロック、又は予測ブロック粒度の残差ブロックである、
ことを特徴とする請求項1に記載の方法。
【請求項14】
前記復号対象ユニットの幅のサイズは、前記復号対象ユニットの高さのサイズより大きく、前記高さのサイズは、予め設定された閾値以下である、
ことを特徴とする請求項1~10、12、13のいずれか1項に記載の方法。
【請求項15】
符号化ユニットを少なくとも1つの予測グループに分割するステップと、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って、前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るステップと、
前記少なくとも1つの予測グループの各予測グループの予測値に基づいて、前記符号化ユニットの残差ブロックを得るステップと、
前記符号化ユニットの残差ブロックを符号化するステップと、を含む、
ことを特徴とする画像符号化方法。
【請求項16】
ビットストリームを解析して、シンタックス要素を取得するために用いられるエントロピー復号部であって、前記シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、前記復号対象ユニットは、少なくとも1つの予測グループを含む、エントロピー復号部と、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定し、前記予測モードに基づいて前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るために用いられる予測処理部と、
前記復号対象ユニットの残差ブロックと、前記少なくとも1つの予測グループの各予測グループの予測値とに基づいて、前記復号対象ユニットを復号するために用いられる復号部と、を含む、
ことを特徴とする画像復号装置。
【請求項17】
符号化ユニットを少なくとも1つの予測グループに分割するために用いられる分割部と、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って、前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るために用いられる予測処理部と、
前記いずれか1つの予測グループの各予測グループの予測値に基づいて、前記符号化ユニットの残差ブロックを得るために用いられる残差演算部と、
前記符号化ユニットの残差ブロックを符号化するために用いられる符号化部と、を含む、
ことを特徴とする画像符号化装置。
【請求項18】
符号化側と復号側とを備え、前記符号化側は前記復号側と通信接続され、前記復号側は請求項1~14のいずれか1項に記載の方法を実行するために用いられ、前記符号化側は請求項15に記載の方法を実行するために用いられる、
ことを特徴とする画像符号化及び復号システム。
【請求項19】
プロセッサとメモリとを含む電子機器であって、
前記メモリは、コンピュータ命令を記憶するために用いられ、
前記プロセッサは、前記メモリから前記コンピュータ命令を呼び出して実行して、請求項1~15のいずれか1項に記載の方法を実行するために用いられる、
ことを特徴とする電子機器。
【請求項20】
コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体であって、
前記コンピュータプログラム又は命令が電子機器によって実行されると、請求項1~15のいずれか1項に記載の方法が実行される、
ことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオ符号化及び復号の技術分野に関し、特に、画像復号方法及び装置、画像符号化方法及び装置、画像符号化及び復号システム、電子機器、並びにコンピュータ可読記憶媒体に関する。
【背景技術】
【0002】
ビデオにおける完全な画像は一般的に「フレーム」と呼ばれ、時系列に並んだ複数のフレームからなるビデオは、ビデオシーケンス(video sequence)と呼ばれる。ビデオシーケンスには、空間的冗長性、時間的冗長性、視覚的冗長性、情報エントロピー冗長性、構造的冗長性、知識冗長性、重要度冗長性などの一連の冗長情報がある。ビデオシーケンスにおける冗長情報をできるだけ除去し、ビデオを表すデータ量を削減させるために、ビデオ符号化(video coding)技術が提案され、ストレージ容量の削減と伝送帯域幅の節約という効果を達成する。ビデオ符号化技術は、ビデオ圧縮技術とも呼ばれる。
【0003】
技術の発展に伴い、ビデオデータを収集することがますます便利になり、収集されたビデオデータの規模もますます大きくなるため、ビデオデータをどのように効果的に符号化及び復号するかが、解決すべき緊急の課題となっている。
【発明の概要】
【0004】
本発明は、画像符号化及び復号(又はビデオ符号化及び復号)プロセスにおける予測効率が低いという問題を解決するための画像復号方法及び装置、画像符号化方法及び装置、画像符号化及び復号システム、電子機器、並びにコンピュータ可読記憶媒体を提供する。
【0005】
第1の態様において、本発明は、画像復号方法を提供し、当該方法は、
ビットストリームを解析して、シンタックス要素を取得するステップであって、シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、復号対象ユニットは、少なくとも1つの予測グループを含む、ステップと、
当該少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定するステップと、
予測モードに基づいて当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得るステップと、
復号対象ユニットの残差ブロックと、当該少なくとも1つの予測グループの予測値とに基づいて、復号対象ユニットを復号するステップと、を含む。
【0006】
このように、符号化ユニット自体に対して直接に予測を実行する技術案に比べて、符号化ユニットに対する柔軟な予測の実現に寄与し、例えば、分割モードを合理的に設定することにより、複数の予測グループに対して並列に予測を実行すること、及び異なる予測グループに対して異なる予測モードを設定することなどの実現に寄与し、予測効率を向上させ、さらに符号化効率を向上させることができる。
【0007】
可能な一実施形態では、当該いずれか1つの予測グループは、復号対象ユニットにおける1行の画素、又は、復号対象ユニットにおける1列の画素、連続する複数列の画素、連続する複数の奇数列の画素、又は、連続する複数の偶数列の画素を含む。
【0008】
可能な一実施形態では、当該少なくとも1つの予測グループは、垂直均等分割方式で復号対象ユニットを複数の予測グループ分割すること、又は、水平均等分割方式で復号対象ユニットを複数の予測グループ分割すること、又は、所定の比率で垂直方向に復号対象ユニットを複数の予測グループに分割すること、又は、所定の比率で水平方向に復号対象ユニットを複数の予測グループに分割すること、によって得られる。
【0009】
可能な一実施形態では、当該少なくとも1つの予測グループは、複数の予測グループを含み、当該複数の予測グループのうちの少なくとも2つの予測グループの予測モードは異なる。
【0010】
可能な一実施形態では、当該いずれか1つの予測グループの予測モードは、水平予測、垂直予測、水平平均予測、及び垂直平均予測のうちの少なくとも1つを含み、又は、当該いずれか1つの予測グループの予測モードは、復号対象ユニットに隣接する復号ユニットの画素値を用いて実行される参照予測、又は復号対象ユニットが位置する独立復号ユニットに隣接する独立復号ユニットの画素値を用いて実行される参照予測を含む。
【0011】
可能な一実施形態では、当該いずれか1つの予測グループは、色度予測グループ又は輝度予測グループである。
【0012】
可能な一実施形態では、シンタックス要素は、復号対象ユニットの分割モードの識別情報をさらに含み、分割モードは、復号対象ユニットが当該少なくとも1つの予測グループに分割されるときに使用される分割モードである。
【0013】
可能な一実施形態では、シンタックス要素は、当該いずれか1つの予測グループの予測モードをさらに含む。
【0014】
可能な一実施形態では、シンタックス要素は、具体的に、残差ブロックから分割された少なくとも1つのサブ残差ブロックを得て、残差ブロックを取得するために用いられる。
【0015】
可能な一実施形態では、シンタックス要素は、残差ブロックのグループ化方式のインデックス情報をさらに含み、異なるインデックス情報は、異なるグループ化方式を示すために用いられる。
【0016】
可能な一実施形態では、シンタックス要素は、第1の指標をさらに含み、第1の指標は、残差ブロックに対してグループ化を実行するか否かを示すために用いられる。
【0017】
可能な一実施形態では、残差ブロックは、輝度残差ブロック又は色度残差ブロックを含む。
【0018】
可能な実施形態において、シンタックス要素は、具体的に、残差ブロックを変換、量子化及び係数符号化した後に得られる第1の情報を含み、当該方法はさらに、第1の情報に対して係数復号、逆量子化及び逆変換を行って、残差ブロックを得るステップを含む。
【0019】
可能な一実施形態では、シンタックス要素は、具体的に、残差ブロックのいずれか1つのサブ残差ブロックを変換、量子化及び係数符号化した後に得られる第2の情報を含み、当該方法はさらに、第2の情報に対して係数復号、逆量子化及び逆変換を行って、当該いずれか1つのサブ残差ブロックを得るステップを含む。
【0020】
可能な一実施形態では、残差ブロックは、復号対象ユニット粒度の残差ブロック、又は予測ブロック粒度の残差ブロックである。
【0021】
可能な一実施形態では、復号対象ユニットの幅のサイズは、復号対象ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である。
【0022】
第2の態様において、本発明は、画像符号化方法を提供し、当該方法は、
符号化ユニットを少なくとも1つの予測グループに分割するステップと、
当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って、当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得るステップと、
当該少なくとも1つの予測グループの予測値に基づいて、符号化ユニットの残差ブロックを得るステップと、
符号化ユニットの残差ブロックを符号化するステップと、を含む。
【0023】
このように、復号対象ユニット自体に対して直接に予測を実行する技術案に比べて、復号対象ユニットに対する柔軟な予測の実現に寄与し、例えば、分割モードを合理的に設定することにより、複数の予測グループに対して並列に予測を実行すること、及び異なる予測グループに対して異なる予測モードを設定することなどの実現に寄与し、予測効率を向上させ、さらに復号効率を向上させることができる。
【0024】
第3の態様において、本発明は、画像復号装置を提供し、当該復号装置は、ビデオデコーダ、又はビデオデコーダを含む機器であり得る。当該復号装置は、第1の態様の可能な実施形態のいずれか1つにおける方法を実行するためのモジュールを含む。例えば、エントロピー復号部、予測処理部、復号部などである。
【0025】
有益な効果については、第1の態様のいずれかの説明を参照されたい。前記復号装置は、上記の第1の態様による方法の例における動作を実行する機能を有する。前記機能は、ハードウェアによって実現されてもよく、ハードウェアが対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記の機能に対応する1つ以上のモジュールを含む。
【0026】
第4の態様において、本発明は、画像符号化装置を提供し、当該符号化装置は、ビデオエンコーダ、又はビデオエンコーダを含む機器であり得る。当該符号化装置は、第2の態様の可能な実施形態のいずれか1つにおける方法を実行するためのモジュールを含む。例えば、前記符号化装置は、分割部と、予測処理部と、残差演算部と、符号化部とを含む。
【0027】
有益な効果については、第2の態様のいずれかの説明を参照されたい。前記符号化装置は、上記の第2の態様による方法の例のいずれかにおける動作を実行する機能を有する。前記機能は、ハードウェアによって実現されてもよく、ハードウェアが対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記の機能に対応する1つ以上のモジュールを含む。
【0028】
第5の態様において、本発明は、プロセッサとメモリとを含む電子機器を提供し、前記メモリは、コンピュータ命令を記憶するために用いられ、前記プロセッサは、メモリから前記コンピュータ命令を呼び出して実行して、第1の態様から第2の態様のいずれかの実施形態による方法を実行するために用いられる。
【0029】
例えば、当該電子機器は、ビデオエンコーダ、又はビデオエンコーダを含む機器であり得る。
【0030】
別の例では、当該電子機器は、ビデオデコーダ、又はビデオデコーダを含む機器であり得る。
【0031】
第6の態様において、本発明は、コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体を提供し、コンピュータプログラム又は命令が、コンピューティングデバイス又はコンピューティングデバイスが位置するストレージシステムによって実行されると、第1の態様から第2の態様のいずれかの実施形態による方法が実行される。
【0032】
第7の態様によれば、本発明は、命令を含むコンピュータプログラム製品を提供し、コンピュータプログラム製品がコンピュータデバイス又はプロセッサ上で実行されると、コンピュータデバイス又はプロセッサに命令を実行させて、第1の態様から第2の態様のいずれかの実施形態による方法を実行する。
【0033】
第8の態様によれば、本発明は、画像符号化及び復号システムを提供し、当該画像符号化及び復号システムは、符号化側と復号側とを備え、復号側は第1の態様のいずれかの実施形態による方法を実行するために用いられ、符号化側は第2の態様のいずれかの実施形態による方法を実行するために用いられる。
【0034】
本発明は、上記の態様において提供される実施形態に基づいて、より多くの実施形態を提供するためにさらに組み合わされてもよい。
【図面の簡単な説明】
【0035】
【
図1】本発明の実施形態が適用される符号化及び復号システムの概略アーキテクチャ図である。
【
図2】本発明の一実施形態を実現するためのエンコーダの一例の概略ブロック図である。
【
図3】本発明の一実施形態を実現するためのデコーダの一例の概略ブロック図である。
【
図4】本発明の一実施形態に係る複数の予測方式の概略図である。
【
図5】本発明の一実施形態に係る画像符号化方法のフローチャートである。
【
図6】本発明の一実施形態に係る、画像、並列符号化ユニット、独立符号化ユニット、符号化ユニット、予測グループ(PG)、及びサブ残差ブロック(RB)の間の対応関係の概略図である。
【
図7】本発明の一実施形態に係る画像復号方法のフローチャートである。
【
図15】本発明の一実施形態に係る16*4符号化ユニットの分割モード及び予測モードの概略図である。
【
図19】本発明の一実施形態に係る8*2符号化ユニットの分割モード及び予測モードの概略図である。
【
図23】本発明の一実施形態に係る16*2符号化ユニットの分割モード及び予測モードの概略図である。
【
図25】本発明の一実施形態に係る8*1符号化ユニットの分割モード及び予測モードの概略図である。
【
図28】本発明の一実施形態に係る別の分割モードの概略図である。
【
図31】本発明の一実施形態に係る予測グループの複数の残差ブロックグループ化の概略図である。
【
図32】本発明の一実施形態に係る残差ブロックとサブ残差ブロックとの間の対応関係の概略図である。
【
図33】本発明の一実施形態に係る復号装置の概略構成図である。
【
図34】本発明の一実施形態に係る符号化装置の概略構成図である。
【
図35】本発明の一実施形態に係る電子機器の概略構成図である。
【発明を実施するための形態】
【0036】
本発明の実施形態における「少なくとも1つの(種)」という用語は、1つの(種)又は複数(種)を含む。「複数(種)」とは、2つ(種)又は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」などの単語は、数量や実行順序を限定するものではなく、また、「第1」、「第2」などの単語は、必ずしも異なることを限定するものではないことを理解できる。
【0037】
以下、本発明の実施例が適用されるシステムアーキテクチャについて説明する。
【0038】
図1は、本発明の実施例が適用される符号化及び復号システム10の概略アーキテクチャ図である。
図1に示すように、符号化及び復号システム10は、ソース機器11と、宛先機器12とを含み得る。ソース機器11は、画像を符号化するために用いられるため、画像符号化装置又はビデオ符号化装置と呼ばれてもよい。宛先機器12は、ソース機器11により生成された符号化画像データを復号するために用いられるため、画像復号装置又はビデオ復号装置と呼ばれてもよい。
【0039】
ソース機器11及び宛先機器12は、例えば、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノート(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話端末、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、車載コンピュータなどの様々な装置を含み得る。
【0040】
任意選択で、
図1のソース機器11及び宛先機器12は2つの別個の機器であってもよく、又は、ソース機器11及び宛先機器12は同じ機器であってもよく、すなわち、ソース機器11又は対応する機能、及び宛先機器12又は対応する機能は、同じ機器に統合されてもよい。
【0041】
ソース機器11と宛先機器12との間で通信を行うことができ、例えば、宛先機器12は、ソース機器11から符号化画像データを受信してもよい。一例では、ソース機器11と宛先機器12との間に1つ又は複数の通信媒体が含まれてもよく、1つ又は複数の通信媒体を介して符号化画像データを伝送する。当該1つ又は複数の通信媒体は、ルータ、スイッチ、基地局又はソース機器11から宛先機器12への通信を容易にする他の機器を含んでもよい。
【0042】
図1に示すように、ソース機器11はエンコーダ112を含み、オプションとして、ソース機器11は、画像プリプロセッサ111と、通信インタフェース113とをさらに含んでもよい。ここで、画像プリプロセッサ111は、受信した符号化対象画像に対して前処理を実行するために用いられる。例えば、画像プリプロセッサ111によって実行される前処理は、修正、色フォーマット変換(例えば、RGBフォーマットからYUVフォーマットへの変換)、色調整又はノイズ除去などを含み得る。エンコーダ112は、前処理された画像を受信し、相関予測モード(例えば、本明細書の各実施例における予測モード)を用いて前処理された画像を処理し、符号化画像データを提供するために用いられる。いくつかの実施形態では、エンコーダ112は、以下の実施形態における符号化プロセスを実行するために用いられてもよい。通信インタフェース113は、符号化画像データを宛先機器12又は任意の他の機器(例えば、メモリ)に伝送して、記憶又は直接再構成するために用いられてもよい。他の機器は、復号又は記憶のための任意の機器であってもよい。また、通信インタフェース113は、符号化画像データを適切なフォーマットにカプセル化してから伝送してもよい。
【0043】
任意選択で、上記の画像プリプロセッサ111、エンコーダ112、及び通信インタフェース113は、ソース機器11内のハードウェアコンポーネントであってもよく、又はソース機器11内のソフトウェアプログラムであってもよく、本発明の実施例は限定されない。
【0044】
引き続き
図1に示すように、宛先機器12はデコーダ122を含み、オプションとして、宛先機器12は、通信インタフェース121と、画像ポストプロセッサ123とをさらに含んでもよい。ここで、通信インタフェース121は、ソース機器11又は任意の他のソース機器から符号化画像データを受信するために用いられてもよい。当該任意の他のソース機器は、例えば、記憶機器である。また、通信インタフェース121は、通信インタフェース113により伝送されたデータをデカプセル化して符号化画像データを取得してもよい。デコーダ122は、符号化画像データを受信し、復号画像データ(再構成された画像データ又は再構成済み画像データとも呼ばれる)を出力するために用いられる。いくつかの実施形態では、デコーダ122は、以下の実施形態で説明される復号プロセスを実行するために用いられてもよい。
【0045】
画像ポストプロセッサ123は、復号画像データに対して後処理を実行して、後処理された画像データを取得するために用いられる。画像ポストプロセッサ123によって実行される後処理は、色フォーマット変換(例えば、YUVフォーマットからRGBフォーマットへの変換)、色調整、修正、又はリサンプリング、又は任意の他の処理を含んでもよく、また、後処理された画像データを表示機器に伝送して表示するために用いられてもよい。
【0046】
同様に、任意選択で、上記の通信インタフェース121、デコーダ122、及び画像ポストプロセッサ123は、宛先機器12内のハードウェアコンポーネントであってもよく、宛先機器12内のソフトウェアプログラムであってもよく、本発明の実施例は限定されない。
【0047】
以下、
図1におけるエンコーダ及びデコーダの構成を簡単に説明する。
【0048】
図2を参照すると、
図2は、本発明の一実施例を実施するためのエンコーダ20の一例の概略ブロック図である。
図2において、エンコーダは、予測処理部201、残差演算部202、変換処理部203、量子化部204、エントロピー符号化部205、逆量子化部206、逆変換処理部207、再構成部208、及びフィルタ部209を含む。任意選択で、エンコーダ20は、バッファと、復号画像バッファとをさらに含み得る。バッファは、再構成部208によって出力された再構成画像ブロックをバッファリングするために用いられ、復号画像バッファは、フィルタ部209によって出力されたフィルタリングされた画像ブロックをバッファリングするために用いられる。
【0049】
エンコーダ20への入力は、画像(符号化対象画像と呼ばれてもよい)の画像ブロックであり、画像ブロックは、現在の画像ブロック又は符号化対象画像ブロックと呼ばれてもよい。エンコーダ20は、符号化対象画像を複数の画像ブロックに分割するために用いられる分割部(
図2では図示せず)をさらに含んでもよい。エンコーダ20は、符号化対象画像の符号化を完了するためにブロック毎に(block-by-block)符号化するために用いられ、例えば、各画像ブロックに対して符号化プロセスを実行する。
【0050】
予測処理部201は、画像ブロック(現在の符号化対象画像の現在の符号化対象画像ブロック、又は、現在の画像ブロックと呼ばれてもよく、画像ブロックの真値として理解され得る)及び再構成済み画像データを受信又は取得し、再構成済み画像データ内の関連データに基づいて現在の画像ブロックを予測して、現在の画像ブロックの予測ブロックを取得するために用いられる。オプションとして、予測処理部201は、インター予測部、イントラ予測部、及びモード選択部を含んでもよい。モード選択部は、イントラ予測モード又はインター予測モードを選択するために用いられる。イントラ予測モードが選択される場合、イントラ予測部により予測処理を行う。インター予測モードが選択される場合、インター予測部により予測処理を行う。
【0051】
残差演算部202は、画像ブロックの真値と当該画像ブロックの予測ブロックとの間の残差値を計算して、残差ブロックを得るために用いられる。例えば、画素毎に画像ブロックの画素値から予測ブロックの画素値を減算する。
【0052】
変換処理部203は、残差ブロックに対して離散コサイン変換(discrete cosine transform、DCT)又は離散サイン変換(discrete sine transform、DST)などの変換を行って、変換領域において変換係数を得るために用いられる。変換係数は、変換残差係数とも呼ばれ得る。当該変換残差係数は、変換領域において残差ブロックを表すことができる。
【0053】
量子化部204は、スカラ量子化又はベクトル量子化を適用することによって変換係数を量子化して、量子化された変換係数を得るために用いられる。量子化された変換係数は、量子化された残差係数と呼ばれてもよい。量子化処理により、変換係数の一部又は全部に関連するビット深度が低減される。例えば、nビットの変換係数は、量子化時にmビットの変換係数に切り捨てられてもよく、nはmより大きい。量子化の程度は、量子化パラメータ(quantization parameter、QP)を調整することによって変更され得る。例えば、スカラ量子化に対して、異なるスケールを適用して、より細かい量子化又はより粗い量子化を実現することができる。より小さい量子化ステップはより細かい量子化に対応し、より大きい量子化ステップはより粗い量子化に対応する。適切な量子化ステップは、量子化パラメータによって示されてもよい。
【0054】
エントロピー符号化部205は、上記の量子化された残差係数に対してエントロピー符号化を行い、符号化ビットストリームの形で符号化画像データ(すなわち、現在の符号化対象画像ブロックの符号化結果)を出力し、次いで、符号化ビットストリームを、デコーダに伝送するか、又は後続のデコーダへの送信又は検索のために記憶するために用いられる。エントロピー符号化部205は、現在の画像ブロックの他のシンタックス要素をエントロピー符号化するようにさらに用いられてよく、例えば、予測モードをビットストリームにエントロピー符号化する。エントロピー符号化アルゴリズムは、可変長符号化(Variable Length Coding、VLC)アルゴリズム、コンテキスト適応VLC(Context Adaptive VLC、CAVLC)アルゴリズム、算術符号化アルゴリズム、コンテキスト適応型2値算術符号化(Context-based Adaptive Binary Arithmetic Coding、CABAC)アルゴリズム、シンタクスベースコンテキスト適応型2値算術符号化(Syntax-based Context-adaptive Binary Arithmetic Coding、SBAC)アルゴリズム、及び確率区間分割エントロピー(Probability Interval Partitioning Entropy、PIPE)アルゴリズムを含むが、これに限定されない。
【0055】
逆量子化部206は、上記の量子化係数を逆量子化して、逆量子化係数を得るために用いられる。当該逆量子化は、上記の量子化部204の逆適用であり、例えば、量子化部204と同じ量子化ステップに基づいて、又は、量子化部204と同じ量子化ステップを使用して、量子化部204によって適用される量子化方式の逆量子化方式を適用する。逆量子化係数は、逆量子化された残差係数と呼ばれてもよい。
【0056】
逆変換処理部207は、上記の逆量子化係数に対して逆変換を行うために用いられる。理解すべきものとして、当該逆変換は、上記の変換処理部203の逆適用であり、例えば、逆変換は、逆離散コサイン変換(discrete cosine transform、DCT)又は逆離散サイン変換(discrete sine transform、DST)を含み、画素領域(又はサンプル領域と呼ばれる)において逆変換ブロックを取得する。逆変換ブロックは、逆変換逆量子化されたブロック又は逆変換残差ブロックと呼ばれてもよい。
【0057】
再構成部208は、逆変換ブロック(すなわち、逆変換残差ブロック)を予測ブロックに追加して、サンプル領域において再構成ブロックを取得するために用いられる。再構成部208は、加算器であってもよい。例えば、残差ブロックのサンプル値(すなわち、画素値)と予測ブロックのサンプル値とを加算する。当該再構成部208によって出力された再構成ブロックは、その後、イントラ予測モードで使用されるなど、他の画像ブロックを予測するために用いられてもよい。
【0058】
フィルタ部209(又は「フィルタ」と略称する)は、画素変換を円滑に行い、又は画質を向上させるために、再構成ブロックをフィルタリングして、フィルタリングされたブロックを取得するために用いられる。フィルタ部は、1つ以上のループフィルタ、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、又は、バイラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、鮮鋭化フィルタ又は平滑化フィルタ、又は協調フィルタなどの他のフィルタを表すことを意図しているループフィルタ部であってもよい。任意選択で、当該フィルタ部209によって出力されたフィルタリングされたブロックは、その後、インター予測モードで使用されるなど、他の画像ブロックを予測するために用いられてもよい。
【0059】
具体的に、本発明の実施例では、エンコーダ20は、以下の実施例で説明されるビデオ符号化方法を実行するために用いられる。
【0060】
図3を参照すると、
図3は、本発明の一実施例を実施するためのデコーダ30の一例の概略ブロック図である。デコーダ30は、例えば、エンコーダ20によって符号化された符号化画像データ(すなわち、符号化ビットストリーム、例えば、画像ブロックを含む符号化ビットストリーム及び関連するシンタックス要素)を受信して、復号画像を取得するために用いられる。デコーダ30は、エントロピー復号部301、逆量子化部302、逆変換処理部303、予測処理部304、再構成部305、及びフィルタ部306を含む。いくつかの例では、デコーダ30は、
図2のエンコーダ20について説明された符号化パスと実質的に逆の復号パスを実行し得る。任意選択で、デコーダ30は、バッファと、復号画像バッファとをさらに含み得る。バッファは、再構成部305によって出力された再構成画像ブロックをバッファリングするために用いられ、復号画像バッファは、フィルタ部306によって出力されたフィルタリング画像ブロックをバッファリングするために用いられる。
【0061】
エントロピー復号部301は、符号化画像データに対してエントロピー復号を行い、量子化係数及び/又は復号された符号化パラメータ(例えば、符号化パラメータは、インター予測パラメータ、イントラ予測パラメータ、フィルタパラメータ、及び/又は他のシンタックス要素のうちの任意の1つ又はすべてを含み得る)を得るために用いられる。エントロピー復号部301は、予測処理部が符号化パラメータに基づいて予測処理を行うように、上記の復号された符号化パラメータを予測処理部304に転送するためにさらに用いられる。
【0062】
逆量子化部302の機能は、エンコーダ20の逆量子化部206の機能と同じであってもよい。逆量子化部302は、エントロピー復号部301によって復号された量子化係数を逆量子化するために用いられる。
【0063】
逆変換処理部303の機能は、エンコーダ20の逆変換処理部207の機能と同じであってもよい。再構成部305(例えば、加算器)の機能は、エンコーダ20の再構成部208の機能と同じであってもよい。逆変換処理部303は、上記の量子化係数に対して逆変換(例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換処理)を行い、逆変換ブロック(逆変換残差ブロックと呼ばれてもよい)を取得するために用いられる。当該逆変換ブロックは、画素領域における現在の画像ブロックの残差ブロックである。
【0064】
予測処理部304は、符号化画像データ(例えば、現在の画像ブロックの符号化ビットストリーム)及び再構成済み画像データを受信又は取得するために用いられる。予測処理部301は、例えば、エントロピー復号部301から予測関連パラメータ及び/又は選択された予測モードに関する情報(すなわち、復号された符号化パラメータ)を受信又は取得し、再構成済み画像データにおける関連データ及び復号された符号化パラメータに基づいて現在の画像ブロックを予測して、現在の画像ブロックの予測ブロックを取得してもよい。任意選択で、予測処理部304は、インター予測部、イントラ予測部、及びモード選択部を含んでもよい。モード選択部は、イントラ予測モード又はインター予測モードを選択するために用いられる。イントラ予測モードが選択される場合、イントラ予測部により予測処理行う。インター予測モードが選択される場合、インター予測部により予測処理を行う。
【0065】
再構成部305は、逆変換ブロック(すなわち、逆変換残差ブロック)を予測ブロックに追加して、サンプル領域において再構成ブロックを取得するために用いられる。例えば、逆変換残差ブロックのサンプル値と予測ブロックのサンプル値とを加算する。
【0066】
フィルタ部306は、再構成ブロックをフィルタリングして、フィルタリングされたブロックを取得するために用いられる。当該フィルタリングされたブロックは、復号された画像ブロックである。
【0067】
具体的に、本発明の実施例では、デコーダ30は、以下の実施例で説明される復号方法を実行するために用いられる。
【0068】
なお、本発明の実施例におけるエンコーダ20及びデコーダ30では、ある部分の処理結果は、さらに処理された後に次の部分に出力されてもよい。例えば、補間フィルタリング、動きベクトル導出、又はフィルタリングなどの部分の後に、対応する部分の処理結果に対して、Clip又はシフトshiftなどの動作をさらに実行する。
【0069】
以下、本発明の実施例に関わる技術用語について説明する。
【0070】
分割モード:本発明の実施例では、分割モードは、現在の画像ブロック(例えば、符号化対象ユニット/復号対象ユニット)を予測グループ(すなわち、予測ブロック)に分割するための分割モードである。
【0071】
予測モード:現在の画像ブロック(例えば、符号化対象ユニット/復号対象ユニット)を予測するために用いられる予測モードの組み合わせは、予測モードと呼ばれる。現在の画像ブロック内の異なる画素を予測するために、異なる予測方式が使用されてもよく、又は同じ予測方式が使用されてもよい。現在の画像ブロック内のすべての画素を予測するために用いられる予測方式は、当該現在の画像ブロックの(又は対応する)予測モードと総称されてもよい。
【0072】
例えば、予測モードは、イントラ予測モード及びインター予測モードを含む。イントラ予測モードは、垂直予測、水平予測、垂直平均予測及び水平平均予測などの予測方式のうちの1つ又は複数の組み合わせを含む。インター予測モードは、動き推定などを含む。
【0073】
例えば、垂直予測は、現在の画素の上側(すなわち、隣接する上側であってもよいし、隣接しないが距離が近い上側であってもよい)の画素値を用いて、現在の画素値の予測値を得ることである。一例として、上側に隣接する再構成画素値を現在画素の予測値とする。
【0074】
例えば、水平予測は、現在の画素の左側(すなわち、隣接する左側であってもよいし、隣接しないが距離が近い左側であってもよい)の画素値を用いて、現在の画素値の予測値を得ることである。一例として、左側に隣接する再構成画素値を現在画素の予測値とする。
【0075】
例えば、垂直平均予測は、現在の画素の上下の画素値を用いて、現在の画素値の予測値を得ることである。一例として、垂直上方の隣接画素値と垂直下方の隣接画素値との平均値を現在画素値の予測値とする。
【0076】
例えば、水平平均予測は、現在の画素の左右両側の画素値を用いて、現在の画素値の予測値を得ることである。一例として、水平方向左側の隣接画素値と水平方向右側の隣接画素値との平均値を現在画素値の予測値とする。
【0077】
図4は、本発明の一実施形態に係る複数の予測方式の概略図である。
図4における1つの小格子は1つの画素を表す。異なるマークを有する画素は、異なる予測方式を表すために用いられる。具体的には、垂直予測、水平予測、垂直平均予測及び水平平均予測を示す。
図4に示す様々な予測方式の概略図は、
図8などの本発明に関わる任意の関連する添付図面を説明するために用いられ得る。
【0078】
以下、図面を参照しながら、本発明の実施形例で提供される画像符号化及び復号方法を説明する。
【0079】
図5は、本発明の一実施形態に係る画像符号化方法のフローチャートである。当該方法は、符号化側によって実行され得る。例えば、当該符号化側は、
図1又は
図2のエンコーダであってもよく、
図1のソース機器であってもよい。
図5に示す方法は、以下のステップS101~S104を含む。
【0080】
S101において、符号化ユニットを少なくとも1つの予測グループ(Prediction Group、Group又はPGと略称される)に分割し、1つの予測グループは、少なくとも1つの画素を含む。
【0081】
一例では、符号化ユニットの幅のサイズは、符号化ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である。
【0082】
一例では、予め設定された閾値は4又は8などである。
【0083】
S101において、符号化ユニットを、1つの予測グループ又は互いに重ならない複数の予測グループに分割してもよい。ここで、符号化ユニットを1つの予測グループに分割すること、すなわち、符号化ユニットを予測グループとすることは、当該符号化ユニットを分割しないと理解されてもよく、特殊な分割方式と理解されてもよい。符号化ユニットを1つの予測グループに分割する場合、一例では、符号化側はS101を実行しなくてもよい。
【0084】
一実施形態では、少なくとも1つの予測グループにおける1つの予測グループは、符号化ユニットにおける1行の画素、又は、符号化ユニットにおける1列の画素、連続する複数列の画素、連続する複数の奇数列の画素、又は、連続する複数の偶数列の画素を含む。具体的な例は、
図8~
図15又は
図20~
図23を参照することができる。
【0085】
別の実施形態では、少なくとも1つの予測グループは、垂直均等分割方式で符号化ユニットを複数の予測グループ分割すること、又は、水平均等分割方式で符号化ユニットを複数の予測グループ分割すること、又は、所定の比率で垂直方向に符号化ユニットを複数の予測グループに分割すること、又は、所定の比率で水平方向に符号化ユニットを複数の予測グループに分割すること、によって得られる。具体的な例は、
図26~
図28を参照することができる。
【0086】
なお、符号化ユニットを少なくとも1つの予測グループに分割する際に、様々な分割モードを採用することができ、具体的にどの分割モードを採用するかは、符号化側が、予め定義された規則(例えば、規格に従って予め定義された規則)に基づいて決定するか、符号化ユニットのコンテンツ(例えば、テクスチャなどの情報)と組み合わせて決定するか、レート歪みコストなどの方式に基づいて決定することができ、本発明の実施例はこれを限定しない。復号側の場合、符号化側で実際にどの分割モードが使用されるかは、同じ方法に基づいて決定してもよい。符号化側が、上述した後者の2つの方式(もちろん、予め定義された方式以外の他の方式でもよい)を用いて、どの分割モードを採用するかどうかを決定する場合、符号化側は、符号化ユニットの分割モード(すなわち、実際に使用される分割モード)の識別情報をシンタックス要素の一部として復号側に送信してもよく、復号によって得られるシンタックス要素内の分割モードの識別子によって、符号化ユニットに対応する復号対象ユニットの分割モードを決定してもよい。
【0087】
S102において、当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って当該予測グループ(すなわち、予測グループの画素値の元の値)を予測して、各予測グループの予測値(すなわち、予測グループの画素値の予測値)を得る。
【0088】
1つの予測グループは、1つの予測モードに対応する。ある予測モードを使用してある予測グループの画素値の元の値を予測する場合、当該予測モードと当該予測グループとの間に対応関係がある。
【0089】
一例では、1つの予測グループに対応する予測モードは、垂直予測、水平予測、垂直平均予測及び水平平均予測などのうちの1つ又は複数の組み合わせを含んでもよい。
【0090】
一例では、1つの予測グループに対応する予測モードは、当該符号化ユニットに隣接する符号化ユニットの画素値を用いて実行される参照予測、又は当該符号化ユニットが位置する独立符号化ユニットに隣接する独立符号化ユニットの画素値を用いて実行される参照予測をさらに含んでもよい。
【0091】
一例では、当該少なくとも1つの予測グループは、複数の予測グループを含む。当該複数の予測グループのうちの少なくとも2つの予測グループの予測モードは異なる。例えば、ある予測グループの予測モードは垂直予測モードであり、別の予測グループの予測モードは水平平均予測モードである。
【0092】
一例では、分割モードと予測モードとの間に関連関係がある。つまり、1つの符号化ユニットの分割モードは、当該符号化ユニットが分割された各予測グループの予測モードに関連する。具体的には、1つの符号化ユニットの分割モードが決定された後、当該関連関係に基づいて、当該符号化ユニットが分割された各予測グループの予測モードが決定されてもよい。
【0093】
ここで、1つの分割モードと1つ以上の予測モードとの間に対応関係がある。
【0094】
1つの分割モードが1つの予測モードに対応する場合、符号化側にとって、符号化ユニットが当該分割モードを採用すると決定された場合、当該分割モードで分割された予測グループが現在(すなわち、S102のステップを実行するとき)採用している予測モードの識別子をビットストリームに付加されなくてもよい。
【0095】
例えば、予め定義された予測モード1は分割モード1に対応し、分割モード1は、符号化ユニットを予測グループ1~4に分割し、且つ当該符号化ユニットにおける各予測ブロックの位置を定義する。予測モード1は、具体的には、予測グループ1~4の予測方式が順に垂直予測、水平予測、水平予測及び水平予測であると定義される。この場合、符号化側/復号側は、符号化ユニット/復号対象ユニットの分割モードが分割モード1であると決定すれば、分割モード1で分割された予測グループ1~4の予測方式が順に垂直予測、水平予測、水平予測及び水平予測であると決定することができる。従って、符号化側にとって、当該分割モードでの予測グループが現在採用している予測モードの識別子をビットストリームに付加されなくてもよい。
【0096】
1つの分割モードが複数の予測モードに対応する場合、符号化側は、レート歪みコストなどの方式を採用して、現在どの予測モードを採用するかを決定してもよい。一実施形態では、復号側は、同じ方法に基づいて現在採用されている予測モードを決定してもよい。別の実施形態では、符号化側は、当該分割モードでの予測グループが現在採用している予測モードの識別子をビットストリームに付加されてもよく、復号側は、当該ビットストリームを復号することによって、現在採用されている予測モードを取得してよい。
【0097】
一例では、予測グループと予測モードとの間に関連関係がある。つまり、1つの予測グループと当該予測グループの予測モードとの間に対応関係がある。具体的には、1つの予測グループが決定された後、当該予測グループに対応する予測モードは直接決定されてもよい。
【0098】
ここで、1つの予測グループと1つ以上の予測モードとの間に対応関係がある。
【0099】
1つの予測グループが1つの予測モードに対応する場合、符号化側にとって、当該予測グループが現在採用している予測モードの識別子をビットストリームに付加されなくてもよい。
【0100】
1つの予測グループが複数の候補予測モードに対応する場合、符号化側は、レート歪みコストなどの方式を採用して、現在どの予測モードを採用するかを決定してもよい。一実施形態では、復号側は、同じ方法に基づいて、当該予測グループが現在採用している予測モードを決定してもよい。別の実施形態では、符号化側は、当該予測グループが現在採用している予測モードの識別子をビットストリームに付加されてもよい。
【0101】
S103において、符号化ユニットの予測値と、当該符号化ユニット自体(すなわち、当該符号化ユニットの画素値の元の値)とに基づいて、当該符号化ユニットの残差ブロックを得る。
【0102】
1つの符号化ユニットの予測値は、当該符号化ユニットが分割された各予測グループの予測値から得られる。当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、当該予測グループの予測値と、当該予測グループ自体(すなわち、当該予測グループの画素値の元の値)に基づいて、当該予測グループの残差ブロックを得てもよい。
【0103】
S104において、符号化ユニットの残差ブロックを符号化する。
【0104】
具体的には、符号化ユニットの残差ブロックに対して変換、量子化及び係数符号化などの操作を行う。
【0105】
一例では、当該符号化ユニットの残差ブロックを少なくとも1つのサブ残差ブロック(residual block、RB)に分割してもよい。すなわち、各サブ残差ブロックに対して変換、量子化及び係数符号化などの操作をそれぞれ行う。当該少なくとも1つのサブ残差ブロックは、1つのサブ残差ブロック又は互いに重ならない複数のサブ残差ブロックを含む。
【0106】
いくつかの実施形態では、当該残差ブロックは、当該符号化ユニット粒度の残差ブロックである。つまり、S104を実行する時、符号化ユニット全体の残差ブロック(すなわち、符号化ユニットのサイズに等しい残差ブロック)を少なくとも1つのサブ残差ブロックに分割する。当該符号化ユニットの残差ブロックのサイズは、当該符号化ユニットのサイズと同じである。
【0107】
いくつかの他の実施形態では、当該残差ブロックは、予測グループ粒度の残差ブロックである。つまり、S104を実行する時、符号化ユニットが分割された任意の1つ又は複数(例えば、各)の予測グループをそれぞれ少なくとも1つのサブ残差ブロックに分割する。1つの予測ブロックの残差ブロックのサイズは、当該予測ブロックのサイズと同じである。
【0108】
一例では、符号化側は、第1の指標をシンタックス要素に付加される。当該第1の指標は、残差ブロックに対してグループ化を実行するか否かを示すために用いられる。復号側は、当該第1の指標に基づいて、残差ブロックのグループ化(又は残差ブロックの分割)を実行する必要があるかどうかを知ることができる。
【0109】
具体的には、エンコーダは、選択されたモードに従って、当該少なくとも1つのサブ残差ブロック(すなわち、RB)内の各RBの残差係数を符号化して、残差係数ストリームを得る。具体的には、残差係数を変換する場合と変換しない場合の2種類に分けられる。
【0110】
RB変換、RB分割、残差係数符号化方法などの説明については、以下を参照されたい。
【0111】
本発明の実施例で提供される画像符号化方法によれば、符号化ユニットは少なくとも1つの予測グループに分割され、予測グループは、予測グループに対応する予測モードに従って予測される。このように、符号化ユニット自体に対して直接に予測を実行する技術案に比べて、符号化ユニットに対する柔軟な予測の実現に寄与し、例えば、分割モードを合理的に設定することにより、複数の予測グループに対して並列に予測を実行すること、及び異なる予測グループに対して異なる予測モードを設定することなどの実現に寄与し、予測効率を向上させ、さらに符号化効率を向上させる。
【0112】
以下、本発明の実施例で提供される符号化方法を具体例によって説明する。
【0113】
ステップ1において、1フレームの画像を互いに重ならない1つ以上の並列符号化ユニットに分割する。各並列符号化ユニットは、依存関係を持たず、並列/独立に符号化及び復号することができる。
【0114】
ステップ2において、各並列符号化ユニットについて、符号化側は、それを互いに重ならない1つ以上の独立符号化ユニットに分割してもよい。各独立符号化ユニットは、互いに依存しなくてもよいが、当該並列符号化ユニットのいくつかのヘッダ情報を共有してもよい。
【0115】
並列符号化ユニットが1つの独立符号化ユニットに分割される場合、独立符号化ユニットのサイズは並列符号化ユニットのサイズと同じである。そうでない場合、独立符号化ユニットの幅のサイズは、一般的に、独立符号化ユニットの高さのサイズより大きい。なお、1つの独立符号化ユニットが並列符号化ユニットのエッジ領域に位置する場合、当該独立符号化ユニットの幅のサイズが高さのサイズ以下である場合がある。
【0116】
独立符号化ユニットの幅をw_lcu、高さをh_lcuとする。w_lcuとh_lcuはいずれも2のN乗であり、Nは0以上の整数である。通常、独立符号化ユニットのサイズは、固定のw_lcu×h_lcuである。例えば、独立符号化ユニットのサイズは、128×4、64×4、32×4、16×4、8×4、32×2、16×2又は8×2などであってもよい。
【0117】
一例として、独立符号化ユニットのサイズは、128×4であってもよい。並列符号化ユニットのサイズが256×8である場合、並列符号化ユニットは4つの独立符号化ユニットに均等に分割されてもよい。並列符号化ユニットのサイズが288×10である場合、並列符号化ユニットは、2つの128×4の独立符号化ユニットと1つの32×4の独立符号化ユニットの第1/第2行、2つの128×2の符号化ユニットと1つの32×2の符号化ユニットの第3行に分割される。
【0118】
独立符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分(又は赤R、緑G、青Bの3つの成分)を含んでもよいし、これらの成分のうちの1つのみを含んでもよい。独立符号化ユニットが3つの成分を含む場合、これら3つの成分のサイズは同じであっても異なってもよく、具体的には画像入力フォーマットに関連する。
【0119】
ステップ3において、各独立符号化ユニットについて、符号化側は、それを互いに重ならない1つ以上の符号化ユニットに分割してもよい。独立符号化ユニット内の各符号化ユニットは、互いに依存してもよく、すなわち、予測ステップを実行する過程において互いに参照してもよい。
【0120】
独立符号化ユニットが1つの符号化ユニットに分割される場合、符号化ユニットのサイズは、独立符号化ユニットのサイズと同じである。
【0121】
独立符号化ユニットが互いに重ならない複数の符号化ユニットに分割される場合、符号化ユニットの幅のサイズは一般的に高さのサイズより大きい。なお、1つの符号化ユニットが独立符号化ユニットのエッジ領域に位置する場合、当該符号化ユニットの幅のサイズが高さのサイズ以下である場合がある。
【0122】
独立符号化ユニットが互いに重ならない複数の符号化ユニットに分割される場合、分割方式は、水平均等分割法、垂直均等分割法又は水平垂直均等分割法であってもよい。具体的な実施方法はこれに限らない。
【0123】
水平均等分割法、すなわち、符号化ユニットの高さのサイズは、独立符号化ユニットの高さのサイズと同じであるが、両者の幅のサイズは異なる。例えば、符号化ユニットの幅のサイズは、独立符号化ユニットの幅のサイズの1/2、1/4、1/8、又は1/16などであってもよい。
【0124】
垂直均等分割法、すなわち、符号化ユニットの幅のサイズは、独立符号化ユニットの幅のサイズと同じであるが、両者の高さのサイズは異なる。例えば、符号化ユニットの高さのサイズは、独立符号化ユニットの高さのサイズの1/2、1/4、1/8又は1/16などであってもよい。
【0125】
水平垂直均等分割法、すなわち四分木分割法である。
【0126】
好ましくは、符号化側は、水平均等分割方式で独立符号化ユニットを互いに重ならない複数の符号化ユニットに分割する。
【0127】
符号化ユニットの幅をw_cu、高さをh_cuとする。w_cuとh_cuはいずれも2のN乗であり、Nは0以上の整数である。通常、符号化ユニットのサイズは、固定のw_cu×h_cuである。例えば、符号化ユニットのサイズは、16×4、8×4、16×2、8×2、8×1、4×1などであってもよい。
【0128】
符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分(又は赤R、緑G、青Bの3つの成分)を含んでもよいし、これらの成分のうちの1つのみを含んでもよい。符号化ユニットが3つの成分を含む場合、これら3つの成分のサイズは完全に同じであっても異なってもよく、具体的には画像入力フォーマットに関連する。符号化ユニットが輝度を含む場合、上記の少なくとも1つの予測グループは、具体的には、少なくとも1つの輝度予測グループであってもよい。符号化ユニットが色度を含む場、上記の少なくとも1つの予測グループは、具体的には、少なくとも1つの色度予測グループであってもよい。
【0129】
図6は、画像、並列符号化ユニット、独立符号化ユニット、符号化ユニット、予測グループ(PG)、及びサブ残差ブロック(RB)の間の対応関係の概略図である。
図6では、1つの画像が3:1に従って並列符号化ユニット1と並列符号化ユニット2とに分割され、1つの独立符号化ユニットが4つの符号化ユニットを含むことを例として説明する。
【0130】
なお、並列符号化ユニット、独立符号化ユニット及び符号化ユニットは、他の名称に置き換えられてもよく、本発明の実施例はこれを限定しない。
【0131】
なお、いくつかの選択可能な実施例では、並列符号化ユニットは、1つ又は複数の符号化ユニットに直接分割されてもよい。
【0132】
ステップ4において、符号化ユニットについて、それをさらに互いに重ならない1つ以上の予測グループに分割してもよい。各PGは、選択された予測モードに従って符号化及び復号を行い、PGの予測値を取得し、符号化ユニット全体の予測値を構成する。予測値と、符号化ユニットの元の値とに基づいて、符号化ユニットの残差値を取得する。
【0133】
予測グループの分割モード及び予測モードの説明については、本明細書の他の箇所の説明を参照されたい。
【0134】
ステップ5において、符号化ユニットの残差値に基づいて、符号化ユニットをグループ化し、互いに重ならない1つ以上のサブ残差ブロック(RB)を取得し、各RBの残差係数を選択されたモードに従って符号化及び復号し、残差係数ストリームを形成する。具体的に、残差係数を変換する場合と変換しない場合の2種類に分けられる。
【0135】
RB変換:RB内の係数を直接符号化してもよいし、残差ブロックに対して離散コサイン変換(Discrete Cosine Transform、DCT)、離散サイン変換(Discrete Sine Transform、DST)、Hadamard変換などの変換を行い、変換後の係数対して符号化を行ってもよい。
【0136】
RB分割:RBが小さい場合、RB内の各係数に対して統括的に量子化を直接行ってから、2値化符号化を行ってもよい。RBが大きい場合、RBはさらに複数のCG(coefficient Group)に分割され、各CGを統括的に量子化し、その後、2値化符号化を行ってもよい。
【0137】
残差係数符号化の部分について、実現可能な方法は、半固定長符号化方式である。まず、1つのRBブロック内の残差絶対値の最大値をmodified maximum(mm)と定義する。次に、当該RBブロック内の残差係数の符号化ビット数を決定する(同じRBブロック内の残差係数の符号化ビット数は一致する)。例えば、現在のRBブロックのCL(critical limit)が2であり、現在の残差係数が1である場合、残差係数1を符号化するには2ビットが必要であり、これを01と表される。現在のRBブロックのCLが7である場合、8ビットの残差係数及び1ビットの符号ビットを符号化することを示す。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ビットを符号化する必要がない。
【0138】
もちろん、他の残差係数符号化方法、例えば、指数Golomb符号化方法、Golomb-Rice符号化方法、トランケーテッド・ユーナリコード符号化方法、ランレングス符号化方法、元の残差値を直接符号化する方法などを採用してもよい。
【0139】
また、いくつかの特殊な場合には、残差値ではなく、元の値を直接符号化してもよい。
【0140】
図7は、本発明の一実施形態に係る画像復号方法のフローチャートである。当該方法は、復号側によって実行され得る。例えば、当該復号側は、
図1又は
図3のデコーダであってもよく、
図1の宛先機器であってもよい。
図7に示す方法は、以下のステップを含む。
【0141】
S201において、ビットストリームを解析して、シンタックス要素を取得する。当該シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられる。当該復号対象ユニットは、少なくとも1つの予測グループを含む。
【0142】
本実施例における復号対象ユニットは、
図5に示す符号化ユニットを符号化して得られたものであってもよい。復号対象ユニットのサイズに関する説明については、上記の符号化対象ユニットのサイズに関する説明を参照されたい。
【0143】
一例では、復号対象ユニットの幅のサイズは、復号対象ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である。
【0144】
シンタックス要素には、復号対象ユニットの残差ブロックを得るための情報が含まれ、シンタックス要素に含まれる具体的な情報は、本発明では限定されない。例えば、シンタックス要素は、当該残差ブロックを変換、量子化及び係数符号化した後に得られる第1の情報を含む。
【0145】
符号化側は、シンタックス要素を取得した後、当該シンタックス要素を符号化してビットストリームを得てもよい。復号側は、受信したビットストリームに対してエントロピー復号を行い、シンタックス要素を得る。その後、シンタックス要素に付加される第1の情報に対して係数復号、逆変換及び逆量子化を行って、復号対象ユニットの残差ブロックを得てもよい。
【0146】
一例では、シンタックス要素は、具体的に、復号対象ユニットの残差ブロックから分割された少なくとも1つのサブ残差ブロックを得て、当該残差ブロックを取得するために用いられる。この場合、シンタックス要素は、具体的に、当該残差ブロックのいずれか1つのサブ残差ブロックを変換、量子化及び係数符号化した後に得られる第2の情報を含み得る。
【0147】
符号化側は、シンタックス要素を取得した後、当該シンタックス要素を符号化してビットストリームを得てもよい。復号側は、受信したビットストリームに対してエントロピー復号を行い、シンタックス要素を得る。その後、シンタックス要素に付加される第2の情報に対して係数復号、逆変換及び逆量子化を行って、当該いずれか1つのサブ残差ブロックを得てもよい。
【0148】
一例では、シンタックス要素は、復号対象ユニットの残差ブロックのグループ化方式のインデックス情報をさらに含み、異なるインデックス情報は、異なるグループ化方式を示すために用いられる。
【0149】
一例では、シンタックス要素は、第1の指標をさらに含み、第1の指標は、復号対象ユニットの残差ブロックに対してグループ化を実行するか否かを示すために用いられる。
【0150】
一例では、残差ブロックは、輝度残差ブロック又は色差残差ブロックを含む。
【0151】
一実施形態では、符号化ユニットを予測グループに分割するために使用される分割モードは、符号化側と復号側によって予め定義され、例えば、プロトコルに基づいて予め定義される。
【0152】
別の実施形態では、符号化ユニットを予測グループに分割するために使用される分割モードは、符号化側によって復号側に示される。例えば、符号化側は、第1の情報をビットストリームに付加されて復号側に送信し、第1の情報は、当該符号化ユニットの分割モードを表すために使用される。本発明の実施例では、第1の情報の具体的な内容は限定されない。
【0153】
なお、以下では、分割モードに対応する予測モード(すなわち、分割モードが予測モードに関連する)と、符号化ユニットにおける各予測グループに対応する予測モード(すなわち、符号化ユニット、分割モードが予測モードに関連する)とについても説明する。
【0154】
S202において、当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、当該予測グループの予測モードを決定する。
【0155】
一実施形態では、分割モードに対応する予測モード(すなわち、分割モードの粒度で予測モードを決定する)、又は符号化ユニット内の各予測グループに対応する予測モード(すなわち、符号化ユニット内の予測グループの粒度で予測モードを決定する)は、符号化側と復号側によって予め定義され、例えば、プロトコルに基づいて予め定義される。
【0156】
別の実施形態では、分割モードに対応する予測モード、又は符号化ユニット内の各予測グループに対応する予測モードは、符号化側によって復号側に示される。例えば、符号化側は、第2の情報をビットストリームに付加されて復号側に送信し、第2の情報は、当該符号化ユニット内の各予測グループに対応する予測モードを表すために使用される。本発明の実施例では、第2の情報の具体的な内容は限定されない。
【0157】
一例では、予測グループの分割モードと、予測グループの予測モードとについては、本明細書における符号化側に関する実施形態の関連する説明を参照されたい。
【0158】
S203において、当該予測モードに基づいて当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得る。
【0159】
例えば、各予測グループについて、当該予測グループの残差値と、当該予測グループの予測値とに基づいて、当該予測グループの元の値(すなわち、復号側によって得られる予測グループの元の値)を得る。なお、符号化側によって得られる予測グループの元の値と、復号側によって得られる予測グループの元の値とは、異なる可能性があることが理解され得る。
【0160】
S204において、復号対象ユニットの残差ブロックと、当該少なくとも1つの予測グループの予測値とに基づいて、復号対象ユニットを復号する。
【0161】
例えば、復号対象ユニットの残差ブロックと、当該いずれか1つの予測グループの予測値とに基づいて、再構成を行う。その後、再構成されたブロックに対してフィルタリングなどの操作を行って、復号された画像ブロックを得ることをさらに含んでもよい。
【0162】
本発明の実施例で提供される画像復号方法によれば、復号対象ユニットは少なくとも1つの予測グループに分割され、予測グループは、予測グループに対応する予測モードに従って予測される。このように、復号対象ユニット自体に対して直接に予測を実行する技術案に比べて、復号対象ユニットに対する柔軟な予測の実現に寄与し、例えば、分割モードを合理的に設定することにより、複数の予測グループに対して並列に予測を実行すること、及び異なる予測グループに対して異なる予測モードを設定することなどの実現に寄与し、予測効率を向上させ、さらに復号効率を向上させることができる。
【0163】
以下、本発明の実施例に係る分割モードについて説明する。
【0164】
上記の復号対象ユニットは、符号化ユニットを符号化した後に得られるので、符号化ユニットと予測グループとの間の対応関係は、復号対象ユニットと予測グループとの間の対応関係と同じであることが理解され得る。以下では、説明を簡単にするために、符号化ユニットと予測グループとの間の対応関係のみが説明され、すなわち、符号化ユニット又は符号化側から見た分割モードについて説明する。復号対象ユニットと予測グループとの間の対応関係は、以下に説明される内容に基づいて推測して取得されてもよく、本発明では繰り返さない。
【0165】
第1のタイプの分割方式
【0166】
第1部分において、独立符号化ユニットにおける1番目の符号化ユニットについて、本発明は、以下の分割モードを提供する。
【0167】
1つの独立符号化ユニットが1つの符号化ユニットに分割される場合、独立符号化ユニットにおける1番目の符号化ユニットは、独立符号化ユニット自体であることに留意されたい。1つの独立符号化ユニットが互いに重ならない複数の符号化ユニットに分割される場合、1番目の符号化ユニットは、独立符号化ユニットにおける「当該独立符号化ユニットにおける第1行第1列の画素」を含む符号化ユニットである。
【0168】
理解できるように、第1部分によって対象とされる符号化ユニットにおける1番目の画素(すなわち、第1行第1列の画素)の画素値を予測する場合、通常、他の画素を参照することができない。一例では、1番目の画素の画素値は、元の値又は他の値(例えば、元の値と1つの所定値との差など)に符号化されてもよく、本発明の実施例はこれを限定しない。1番目の画素以外の画素の予測値は、本発明の実施例で提供される方式で予測されてよい。従って、第1部分の分割モードは、当該画素をいずれの予測グループにも分割しない。
【0169】
分割モードA:符号化ユニットは、第1の予測グループ、第2の予測グループ、及び第3の予測グループを含む。
【0170】
第1の予測グループは、符号化ユニットの第1行の1番目の画素以外の画素を含む。第2の予測グループは、符号化ユニットの非第1行の画素における連続する複数の奇数列の画素を含む。第3の予測グループは、符号化ユニットの非第1行の画素における連続する偶数列の画素を含む。
【0171】
一例では、1つの第2の予測グループに含まれる画素数はある閾値以下であり、又は1つの第2の予測グループに含まれる画素の列数はある閾値以下である。一例では、1つの第3の予測グループに含まれる画素数はある閾値以下であり、又は1つの第3の予測グループに含まれる画素の列数はある閾値以下である。
【0172】
一例では、符号化ユニットは、第1の予測グループ、少なくとも1つの第2の予測グループ、及び少なくとも1つの第3の予測グループを含む。
【0173】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは水平予測を含む。例えば、第2の予測グループに対応する予測モードは垂直予測を含む。例えば、第3の予測グループにおける非最終列の画素に対応する予測モードは水平平均予測を含み、第3の予測グループにおける最終列の画素に対応する予測モードは水平予測を含む。
【0174】
一例では、第3の予測グループにおける最終列の画素について、予測操作を実行する際に、当該列の画素の右側の画素の画素値がまだ取得されておらず、水平平均予測は、当該列の画素の左右両側の画素の画素値を参照する必要があるため、当該最終列の画素に対応する予測モードは、通常、水平平均予測を採用せず、一例では、水平予測を採用してもよい。
【0175】
分割モードB:符号化ユニットは、第1の予測グループ、第2の予測グループ、及び第3の予測グループを含む。
【0176】
第1の予測グループは、符号化ユニットの第1列の1番目の画素以外の画素を含む。第2の予測グループは、符号化ユニットの非第1列の画素における奇数行の画素を含む。第3の予測グループは、符号化ユニットの非第1列の画素における偶数行の画素を含む。
【0177】
1つの第2の予測グループは、符号化ユニットの非第1列の画素における1つの奇数行の画素、又は連続する複数の奇数行の画素を含む。1つの第3の予測グループは、符号化ユニットの非第1列の画素における1つの偶数行の画素、又は連続する複数の偶数行の画素を含む。
【0178】
符号化ユニットは、1つの第1の予測グループ、少なくとも1つの第2の予測グループ、及び少なくとも1つの第3の予測グループを含み得る。
【0179】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは垂直予測を含む。例えば、第2の予測グループに対応する予測モードは水平予測を含む。例えば、第3の予測グループにおける最後の偶数行の画素に対応する予測モードは垂直平均予測を含み、第3の予測グループにおける非最後の偶数行の画素に対応する予測モードは垂直予測を含む。
【0180】
分割モードC:符号化ユニットは、第1の予測グループ及び第2の予測グループを含む。第1の予測グループは、符号化ユニットの第1列の1番目の画素以外の画素を含む。第2の予測グループは、符号化ユニットの非第1列の画素のうちの1行の画素である。
【0181】
一例では、符号化ユニットは、第1の予測グループ及び少なくとも1つの第2の予測グループを含む。
【0182】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。一例では、第1の予測グループに対応する予測モードは垂直予測を含む。一例では、第2の予測グループに対応する予測モードは水平予測を含む。
【0183】
分割モードD:符号化ユニットは、第1の予測グループ及び第2の予測グループを含む。
【0184】
第1の予測グループは、符号化ユニットの第1行の1番目の画素以外の画素を含む。第2の予測グループは、符号化ユニットの非第1行の画素における連続する複数列の画素である。
【0185】
一例では、1つの第2の予測グループに含まれる画素数はある閾値以下であり、又は1つの第2の予測グループに含まれる画素の列数はある閾値以下である。
【0186】
一例では、符号化ユニットは、第1の予測グループ及び少なくとも1つの第2の予測グループを含む。
【0187】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。一例では、第1の予測グループに対応する予測モードは水平予測を含む。一例では、第2の予測グループに対応する予測モードは垂直予測を含む。
【0188】
第2部分において、独立符号化ユニットにおける非1番目の符号化ユニットについて、予測を実行するとき、符号化ユニットの1番目の画素は、当該独立符号化ユニット内の他の符号化ユニット内の画素を参照してもよい。これに基づいて、一例では、本発明において提供される分割モードは、上記の分割モードA~Dにおける第1の予測グループが符号化ユニットにおける1番目の画素をさらに含む点で、上記第1部分において説明された分割モードと異なる。
【0189】
一実施形態では、第2部分の任意の分割モードに対応する予測モードについては、第1部分の対応する分割モードを参照されたい。
【0190】
例えば、上記の分割モードAに対応する第2部分の分割モードA’は、符号化ユニットが第1の予測グループ、第2の予測グループ及び第3の予測グループを含むことであってもよい。ここで、第1の予測グループは、符号化ユニットの第1行の画素を含む。第2の予測グループは、符号化ユニットの非第1行の画素における連続する複数の奇数列の画素を含む。第3の予測グループは、符号化ユニットの非第1行の画素における連続する偶数列の画素を含む。
【0191】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは水平予測を含む。例えば、第2の予測グループに対応する予測モードは垂直予測を含む。例えば、第3の予測グループにおける非最終列の画素に対応する予測モードは水平平均予測を含み、第3の予測グループにおける最終列の画素に対応する予測モードは水平予測を含む。
【0192】
別の例では、上記の分割モードDに対応する第2部分の分割モードD’は、符号化ユニットが第1の予測グループ及び第2の予測グループを含むことであってもよい。ここで、第1の予測グループは、符号化ユニットの第1行の画素を含む。第2の予測グループは、符号化ユニットの非第1行の画素における連続する複数列の画素である。
【0193】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。一例では、第1の予測グループに対応する予測モードは水平予測を含む。一例では、第2の予測グループに対応する予測モードは垂直予測を含む。
【0194】
分割モードA’の関連する内容の説明については、上記の分割モードAの関連する説明を参照されたい。分割モードD’の関連する内容の説明については、上記の分割モードDの関連する内容を参照されたい。
【0195】
別の実施形態では、第2部分の任意の分割モードに対応する予測モードは、他の分割モードに対応してもよい。
【0196】
例えば、上記の分割モードBに対応する第2部分の分割モードB’は、符号化ユニットが第1の予測グループ、第2の予測グループ及び第3の予測グループを含むことであってもよい。第1の予測グループは、符号化ユニットの第1列の画素を含む。第2の予測グループは、符号化ユニットの非第1列の画素における奇数行の画素を含む。第3の予測グループは、符号化ユニットの非第1列の画素における偶数行の画素を含む。
【0197】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは水平予測を含む。例えば、第2の予測グループに対応する予測モードは水平予測を含む。例えば、第3の予測グループにおける最後の偶数行の画素に対応する予測モードは垂直平均予測を含み、第3の予測グループにおける非最後の偶数行の画素に対応する予測モードは垂直予測を含む。
【0198】
別の例として、上記の分割モードCに対応する第2部分の分割モードC’は、符号化ユニットが第1の予測グループ及び第2の予測グループを含むことであってもよい。第1の予測グループは、符号化ユニットの第1列の画素を含む。第2の予測グループは、符号化ユニットの非第1列の画素のうちの1行の画素である。
【0199】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。一例では、第1の予測グループに対応する予測モードは水平予測を含む。一例では、第2の予測グループに対応する予測モードは水平予測を含む。
【0200】
一例では、上記の第1のタイプの分割方式は、16*4符号化ユニット、16*2符号化ユニット、及び8*2符号化ユニットのうちのいずれか1つに適用可能である。もちろん、他のサイズの符号化ユニットにも適用できる。
【0201】
第2のタイプの分割方式
【0202】
符号化ユニットを1つの予測グループに分割する。言い換えれば、当該符号化ユニットは分割されない。一例では、符号化ユニットに含まれる画素数は、予め設定された閾値以下である。例えば、符号化ユニットのサイズは8*2である。
【0203】
第1部分において、独立符号化ユニットにおける1番目の符号化ユニットについて説明する。
【0204】
一実施形態では、符号化ユニットの第1行の1番目の画素以外の画素に対応する予測モードは水平予測を含み、非第1行の画素に対応する予測モードは垂直予測を含む。
【0205】
別の実施形態では、符号化ユニットの第1列の1番目の画素以外の画素に対応する予測モードは垂直予測を含み、非第1列の画素に対応する予測モードは水平予測を含む。
【0206】
第2部分において、独立符号化ユニットにおける非1番目の符号化ユニットについて説明する。
【0207】
一実施形態では、符号化ユニットの第1行の画素に対応する予測モードは水平予測を含み、非第1行の画素に対応する予測モードは垂直予測を含む。
【0208】
別の実施形態では、符号化ユニットにおけるすべての画素に対応する予測モードは、水平予測を含む。
【0209】
第3のタイプの分割方式
【0210】
分割モード1:符号化ユニットは、第1の予測グループ及び第2の予測グループを含む。第1の予測グループは奇数列の画素を含む。第2の予測グループは、偶数列の画素を含む。
【0211】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは垂直予測を含む。第2の予測グループにおける非最終列の画素に対応する予測モードは水平平均予測を含み、最終列の画素に対応する予測モードは水平予測モードを含む。
【0212】
分割モード2:符号化ユニットは、第1の予測グループ及び第2の予測グループを含む。第1の予測グループは偶数行の画素を含む。第2の予測グループは、奇数行の画素を含む。
【0213】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは水平予測を含む。第2の予測グループに対応する予測モードは垂直平均予測を含む。
【0214】
分割モード3:符号化ユニットは複数の予測グループを含み、各予測グループは符号化ユニットにおける1行の画素を含む。本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、任意の1つ以上の予測グループ(例えば、各予測グループ)に対応する予測モードは、水平予測を含む。
【0215】
分割モード4:符号化ユニットは複数の予測グループを含み、各予測グループは連続する複数列の画素を含む。一例では、異なる予測グループに含まれる画素の列数は同じである。本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、任意の1つ以上の予測グループに対応する予測モードは、垂直予測を含む。
【0216】
一例では、上記の第3のタイプの分割方式は、16*4符号化ユニット、16*2符号化ユニット、及び8*2符号化ユニットのうちのいずれか1つに適用可能である。もちろん、他のサイズの符号化ユニットにも適用できる。
【0217】
一例では、並列符号化ユニットの第1行(各並列符号化ユニットの1番目の符号化ユニットを含む)に対して、上記の分割モード3を採用してもよく、上記の分割モード3のみの採用を許可してもよい。また、第1列に対して、上記の分割モード1又は分割モード4を採用してもよい。ここで、第1行は並列符号化ユニットの第1行符号化ユニットであり、第1列は並列符号化ユニットの第1列符号化ユニットである。
【0218】
一例では、符号化ユニットは、当該符号化ユニットの左側の1列の画素及び上側の1行の画素を参照することができる。
【0219】
第4のタイプの分割方式
【0220】
符号化ユニットを1つの予測グループに分割する。言い換えれば、当該符号化ユニットは分割されない。一例では、符号化ユニットに含まれる画素数は、予め設定された閾値以下である。例えば、符号化ユニットのサイズは8*1である。
【0221】
以下、一例において、いくつかの予測モードを提供する。予測モード1:符号化ユニットの画素に対応する予測モードは垂直予測を含む。例えば、符号化ユニットにおけるすべての画素が垂直予測を採用する。
【0222】
予測モード2:符号化ユニットの画素に対応する予測モードは水平予測を含む。例えば、符号化ユニットにおけるすべての画素が水平予測を採用する。
【0223】
一例では、並列符号化ユニットの第1行(各並列符号化ユニットの1番目の符号化ユニットを含む)に対して、上記の予測モード2を採用してもよく、上記の予測モード2のみの採用を許可してもよい。また、第1列に対して、上記の予測モード1を採用してもよく、上記の予測モード1のみの使用を許可してもよい。ここで、第1行は並列符号化ユニットの第1行符号化ユニットであり、第1列は並列符号化ユニットの第1列符号化ユニットである。
【0224】
一例では、並列符号化ユニットの任意の符号化ユニット(例えば、各符号化ユニット)について、当該符号化ユニットの左側の1列の画素及び上側の1行の画素を参照することができる。
【0225】
第5のタイプの分割方式
【0226】
分割モードE:垂直均等分割方式で符号化ユニットを複数の予測グループに分割する。例えば、符号化ユニットの1行が1つの予測グループに分割される。例えば、垂直方向に2つ又は4つの予測グループに均等分割される。
【0227】
一例では、符号化ユニットが独立符号化ユニットにおける1番目の符号化ユニットである場合、当該符号化ユニットにおける1番目の画素は、いずれの予測グループにも分割されなくてもよい。つまり、そのうちの1つの予測グループは、符号化ユニットの第1行における1番目の要素以外の画素を含む。
【0228】
分割モードF:水平均等分割方式で符号化ユニットを複数の予測グループに分割する。例えば、符号化ユニットの連続する複数の列は、1つの予測グループに分割される。例えば、水平方向に2、4、又は8つの予測グループに均等分割される。
【0229】
一例では、符号化ユニットが独立符号化ユニットにおける1番目の符号化ユニットである場合、当該符号化ユニットにおける1番目の画素は、いずれの予測グループにも分割されなくてもよい。つまり、そのうちの1つの予測グループは、符号化ユニットの第1列における1番目の要素以外の画素、及び第1列から始まる1列の画素又は連続する複数列の画素を含む。
【0230】
分割モードG:所定の比率で垂直方向に符号化ユニットを複数の予測グループに分割する。
【0231】
本発明の実施例では、所定の比率の具体的な値は限定されない。一例では、1:2:1、又は2:1:1、又は1:1:2の方式で3つの予測グループに分割される。
【0232】
一例では、符号化ユニットが独立符号化ユニットにおける1番目の符号化ユニットである場合、当該符号化ユニットにおける1番目の画素は、いずれの予測グループにも分割されなくてもよい。つまり、そのうちの1つの予測グループは、符号化ユニットの第1行における1番目の要素以外の画素、又は、符号化ユニットの第1行における1番目の要素以外の画素及び第1行から始まる1行の画素又は連続する複数行の画素を含む。
【0233】
分割モードH:所定の比率で水平方向に符号化ユニットを複数の予測グループに分割する。
【0234】
本発明の実施例では、所定の比率の具体的な値は限定されない。一例では、1:2:1、又は2:1:1、又は1:1:2の方式で3つの予測グループに分割される。
【0235】
一例では、符号化ユニットが独立符号化ユニットにおける1番目の符号化ユニットである場合、当該符号化ユニットにおける1番目の画素は、いずれの予測グループにも分割されなくてもよい。つまり、そのうちの1つの予測グループは、符号化ユニットの第1列における1番目の要素以外の画素、又は、符号化ユニットの第1列における1番目の要素以外の画素及び第1列から始まる1列の画素又は連続する複数列の画素を含む。
【0236】
本発明の実施例では、上記の分割モードE~Hのいずれか1つに対応する予測モードは限定されない。
【0237】
一例では、上記の第5のタイプの分割方式は、16*4符号化ユニット、16*2符号化ユニット、及び8*2符号化ユニットのうちのいずれか1つに適用可能である。もちろん、他のサイズの符号化ユニットにも適用できる。
【0238】
以下、具体的な例により、上記の分割モードを例示的に説明する。いくつかの実施例において、分割モードに対応する予測モードをさらに示す。
【0239】
実施例1:16*4符号化ユニットの場合
【0240】
1.1 独立符号化ユニットが1つの16*4の符号化ユニットのみを有する場合
【0241】
例1:
図8に示すように、符号化ユニットは、Group 0~4の合計5つの予測グループを含む。
【0242】
Group 0は、第1行第2~16列の画素から構成され、水平予測を採用する。
【0243】
Group 1は、第2、3、4行第1、3、5、7列の画素から構成され、垂直予測を採用する。
【0244】
Group 2は、第2、3、4行第9、11、13、15列の画素から構成され、垂直予測を採用する。
【0245】
Group 3は、第2、3、4行第2、4、6、8列の画素から構成され、水平予測を採用する。
【0246】
Group 4は、第2、3、4行第10、12、14、16列の画素から構成され、第10、12、14列の画素は水平平均予測を採用し、第16列の画素は水平予測を採用する。
【0247】
例2:
図9に示すように、符号化ユニットは、Group 0~4の合計5つの予測グループを含む。
【0248】
Group 0は、第1列の1番目の画素以外の画素から構成され、垂直予測を採用する。
【0249】
Group 1は、第1行第2~16列の画素から構成され、水平予測を採用する。
【0250】
Group 3は、第3行第2~16列の画素から構成され、水平予測を採用する。
【0251】
Group 2は、第2行第2~16列の画素から構成され、垂直平均予測を採用する。
【0252】
Group 4は、第4行第2~16列の画素から構成され、垂直予測を採用する。
【0253】
例3:
図10に示すように、符号化ユニットは、Group 0~4の合計5つの予測グループを含む。
【0254】
Group 0は、第2~4行第1列の画素から構成され、垂直予測を採用する。
【0255】
Group 1は、第1行第2~16列の画素から構成され、水平予測を採用する。
【0256】
Group 2は、第2行第2~16列の画素から構成され、水平予測を採用する。
【0257】
Group 3は、第3行第2~16列の画素から構成され、水平予測を採用する。
【0258】
Group 4は、第4行第2~16列の画素から構成され、水平予測を採用する。
【0259】
例4:
図11に示すように、符号化ユニットはGroup 0~4の合計5つの予測グループを含む。
【0260】
Group 0は、第1行第2~16列の画素から構成され、水平予測を採用する。
【0261】
Group 1は、第2、3、4行第1~4列の画素から構成され、垂直予測を採用する。
【0262】
Group 2は、第2、3、4行第5~8列の画素から構成され、垂直予測を採用する。
【0263】
Group 3は、第2、3、4行第9~12列の画素から構成され、垂直予測を採用する。
【0264】
Group 4は、第2、3、4行第13~16列の画素から構成され、垂直予測を採用する。
【0265】
上記の説明では、サイズが16*4である符号化ユニットを例として説明したが、他のサイズの符号化ユニットも同じ原則に従って分割することができる。サイズが16*2である符号化ユニットの場合、上記例1におけるGroup 1~4は4個の画素であり、上記例2におけるグループ2及び3がなく(すなわち、グループ0、1、及び4の計3個のグループのみがある)、上記実施例3におけるグループ2及び3がなく、上記実施例4におけるGroup 1~4は4個の画素である。
【0266】
1.2. 独立符号化ユニットが複数の16*4の符号化ユニットを有する場合
【0267】
独立符号化ユニットが複数の16*4の符号化ユニットを含む場合、その1番目の16*4の符号化ユニットの分割モードは上記1.1に示され、後続の16*4の符号化ユニットの分割モードは
図12~
図15に示される。
【0268】
例えば、後続の16*4の符号化ユニットと1番目の16*4の符号化ユニットとの分割モードの相違点は、1番目の画素の処理にあり、予測モードの相違点は、第1列の画素の処理にあり、他の画素の予測値は、1番目の16×4ブロックの処理と一致してもよい。具体的には、分割モードA又はDの場合:後続の16*4の符号化ユニットの第1列の1番目の画素に対応する予測モードは水平予測を含み、第1列の他の画素に対応する予測モードは垂直予測を含む。
【0269】
分割モードB又はCの場合:後続の16*4の符号化ユニットの第1列の4つの画素に対応する予測モードは、水平予測を含む。
【0270】
一例では、実施例1における16*4の符号化ユニットは、16*4の輝度ブロックであってもよく、16*4の色度ブロックであってもよい。
【0271】
一例では、実施例1は、他のサイズの符号化ユニットにも適用できる。
【0272】
実施例2:8*2の符号化ユニットの場合
【0273】
2.1 独立符号化ユニットが1つの8*2の符号化ユニットのみを有する場合
【0274】
図16に示すように、第1行の1番目の画素以外の残りの7つの画素に対して水平予測を行い、第2行の8画素に対して垂直予測を行う。
【0275】
図17に示すように、第1行の1番目の画素以外の残りの7つの画素に対して水平予測を行い、第2行の1番目の画素対して垂直予測を行い、第2行の残りの7つの画素対して水平予測を行う。
【0276】
2.2 独立符号化ユニットが複数の8*2の符号化ユニットを有する場合
【0277】
独立符号化ユニット(例えば、N*2の独立符号化ユニット、Nは16以上である)における1番目の8*2の符号化ユニットについて、その予測プロセスは、2.1に記載の予測プロセスと一致してもよい。
【0278】
独立符号化ユニット(例えば、N*2の独立符号化ユニット、Nは16以上である)における他の8*2の符号化ユニットについて、第1列以外の残りの画素の予測プロセスは、1番目の8*2の符号化ユニットの予測プロセスと一致してもよい。
【0279】
図18に示すように、第1列の1番目の画素は水平予測を採用し、第1列の残りの1つの画素は垂直予測を採用する。
【0280】
図19に示すように、第1列の2つの画素は水平予測を採用する。
【0281】
一例では、実施例2における8*2の符号化ユニットは、8*2の輝度ブロックであってもよく、8*2の色度ブロックであってもよい。
【0282】
一例では、実施例2は、他のサイズの符号化ユニットにも適用できる。
【0283】
実施例3:16*2の符号化ユニットの場合
【0284】
一例では、並列符号化ユニットの第1行の符号化ユニット(各並列符号化ユニットの1番目の16*2の符号化ユニットを含む)に対して、下記の例3のみを採用して分割及び予測を行うことが許可される。第1列の符号化ユニットに対して、下記の実施例1又は実施例4のみを採用して分割及び予測を行うことが許可される。
【0285】
一例では、各16*2の符号化ユニットは、左側の1列の画素(2画素)と上側の1行の画素(16画素)の画素値を参照してもよい。
【0286】
例1:
図20に示すように、符号化ユニットはGroup 1~2を含む。
【0287】
Group 1は、第1、3、5、7、9、11、13、15列の画素から構成され、垂直予測を採用する。一例では、Group 1の画素は、当該符号化ユニットの上側且つ当該符号化ユニットに隣接する最終行の画素を参照してもよい。
【0288】
Group 2は、第2、4、6、8、10、10、14、16列の画素から構成され、第16列の画素以外の画素は水平平均予測予測を採用し、第16列の要素は水平予測を採用する。
【0289】
例2:
図21に示すように、符号化ユニットはGroup 1~2を含む。
【0290】
Group 1は、第2行の画素から構成され、水平予測を採用する。
【0291】
Group 2は、第1行の画素から構成され、垂直平均予測を採用する。一例では、Group 2の画素は、当該符号化ユニットの上側且つ当該符号化ユニットに隣接する最終行の画素を参照してもよい。
【0292】
例3:
図22に示すように、符号化ユニットはGroup 1~2を含む。
【0293】
Group 1は、第1行の画素から構成され、水平予測を採用する。
【0294】
Group 2は、第2行の画素から構成され、水平予測を採用する。
【0295】
例4:
図23に示すように、符号化ユニットはGroup 1~2を含む。
【0296】
Group 1は、第1~8列の画素から構成され、垂直予測を採用する。
【0297】
Group 2は、第9~16列の画素から構成され、垂直予測を採用する。
【0298】
一例では、Group 1及びGroup 2の画素は、当該符号化ユニットの上側且つ当該符号化ユニットに隣接する16*2の符号化ユニットの最終行の画素を参照してもよい。
【0299】
一例では、実施例3における16*2の符号化ユニットは、16*2の輝度ブロックであってもよく、16*2の色度ブロックであってもよい。
【0300】
一例では、実施例3は、16*4又は8*2の符号化ユニットのような他のサイズの符号化ユニットにも適用できる。
【0301】
実施例4:8*1の符号化ユニットの場合
【0302】
一例では、各並列符号化ユニットの第1行の符号化ユニット(各並列符号化ユニットの1番目の8*1の符号化ユニットを含む)に対して、下記の例2のみを採用して予測を行うことが許可される。第1列の符号化ユニットに対して、下記の例1のみを採用して予測を行うことが許可される。
【0303】
一例では、各8*1の符号化ユニットは、左側の1列の画素(1画素)及び上側の1行の画素(8画素)の画素値を参照してもよい。
【0304】
8*1の符号化ユニットは、1つのGroupのみを含む。
【0305】
例1:
図24に示すように、符号化ユニットにおける各画素に対して垂直予測を行う。
【0306】
例2:
図25に示すように、符号化ユニットにおける各画素に対して水平予測を行う。
【0307】
実施例5
【0308】
図26は、16*4の符号化ユニットのいくつかの分割モードを提供する。(a)は、符号化ユニットが、垂直方向に4つのグループに均等に分割されることを示す。(b)は、符号化ユニットが、垂直方向に1:2:1の比率で3つのGroupに分割されることを示す。(c)は、符号化ユニットが、水平方向に4つのGroupに均等に分割されることを示す。(d)は、符号化ユニットが、水平方向に1:2:1の比率で3つのグループに分割されることを示す。
図26は、各Groupのサイズも示している。
【0309】
図27は、16*2の符号化ユニットのいくつかの分割モードを提供する。(a)は、符号化ユニットが、垂直方向に2つのGroupに均等に分割されることを示す。(b)は、符号化ユニットが、水平方向に4つのGroupに均等に分割されることを示す。(c)は、符号化ユニットが、水平方向に1:2:1の比率で3つのグループに分割されることを示す。
図27は、各Groupのサイズも示している。
【0310】
図28は、8*2の符号化ユニットのいくつかの分割モードを提供する。(a)は、符号化ユニットが、垂直方向に2つのGroupに均等に分割されることを示す。(b)は、符号化ユニットが、水平方向に4つのGroupに均等に分割されることを示す。(c)は、符号化ユニットが、水平方向に1:2:1の比率で3つのグループに分割されることを示す。
図28は、各Groupのサイズも示している。
【0311】
なお、一方、1つの画素について、当該画素に最も近い画素と当該画素との相関性が最も高く、これらの画素を用いて当該画素を予測する場合、予測結果の精度がより高い。当該画素に最も近い画素は、当該画素の上下左右の方向において当該画素に隣接する4つの画素を含んでもよく、具体的な実施方法はこれに限らない。そのうちの1つ以上の場合をカバーするために、異なる予測モード(例えば、水平予測、垂直予測、水平平均予測、垂直平均予測など)を用いて、1つの符号化ユニットにおける異なる画素を予測してもよい。
【0312】
一方、ハードウェア実装上の並列性を考慮すると、符号化効率又は復号効率を向上させるために、異なる分割グループが並列に予測を行うことができる。例えば、
図8を参照すると、
図8においてGroup 0に対して予測を行った後、Group 1~2は並列に予測を行い、Group 3~4は並列に予測を行うことができる。他の例は一々列挙しない。
【0313】
上記の2つの方面(すなわち、予測結果の精度及び予測プロセスの並列性)に基づいて、本発明の実施例は、符号化効率及び復号効率向上させるために、上記の符号化ユニットが予測グループに分割される分割モード及び対応する予測モードを提供する。もちろん、予測モードと分割モードは無関係であってもよい。上記の分割モード及び予測モードは、特に、幅のサイズが高さのサイズより大きい符号化画像のシーンに適用され、一例では、高さのサイズがある閾値以下である。
【0314】
以下、本発明の実施例で提供される残差ブロックグループ化方式を説明する。
【0315】
一例では、1つの予測グループに含まれる画素数(又は1つの予測グループの残差ブロックに含まれる画素数)が予め設定された閾値以上である場合、当該予測グループの残差ブロックをグループ化する。
【0316】
一例では、1つの予測グループに含まれる画素数(又は1つの予測グループの残差ブロックに含まれる画素数)が予め設定された閾値より小さい場合、当該予測グループの残差ブロックをグループ化しない。
【0317】
例えば、当該予め設定された閾値は、3又は4であってもよく、他の値であってもよい。
【0318】
第1の方式:第1のターゲット予測グループの残差ブロックをグループ化する。ここで、第1のターゲット予測グループは、符号化ユニットにおける1行の画素又は1番目の画素以外の1行の画素を含む予測グループである。例えば、第1のターゲット予測グループは、
図8のGroup 0、
図9、
図10、
図13、
図14のGroup 1~4のいずれか、
図11、
図12、
図15のGroup 0、
図21、
図22のGroup 1~2のいずれか、などであってもよい。
【0319】
一実施形態では、第1のターゲット予測グループの残差ブロックは、1つのサブ残差ブロックに分割される。これは、当該残差ブロックをグループ化しないことと等価である。
【0320】
別の実施形態では、第1のターゲット予測グループの残差ブロックは、複数のサブ残差ブロックに分割される。
【0321】
分割モード1:複数のサブ残差ブロックは、第1のサブ残差ブロック及び第2のサブ残差ブロックを含む。第1のサブ残差ブロックと第2のサブ残差ブロックはいずれも連続する複数の画素を含み、且つ第1のサブ残差ブロックと第2のサブ残差ブロックに含まれる画素数の差が最も小さい。
【0322】
一例では、第1のターゲット予測グループの残差ブロックは、均等に又はできるだけ均等に2つのサブ残差ブロックに分割される。
【0323】
分割モード2:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックを含む。第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックはいずれも連続する複数の画素を含み、第1のサブ残差ブロックに含まれる画素数と第1の数との差が最も小さく、第1の数は第2のサブ残差ブロックと第3のサブ残差ブロックに含まれる画素数の和であり、第2のサブ残差ブロックと第3のサブ残差ブロックに含まれる画素数は等しい。
【0324】
一例では、第1のターゲット予測グループの残差ブロックは、均等に又はできるだけ均等に2つの部分に分割され、そのうちの1つの部分は1つのサブ残差ブロックとされ、他の部分は均等に2つのサブ残差ブロックに分割される。
【0325】
分割モード3:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックを含む。ここで、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックはいずれも連続する複数の画素を含み、第3のサブ残差ブロックに含まれる画素数と第2の数との差が最も小さく、第2の数は第1のサブ残差ブロックと第2のサブ残差ブロックに含まれる画素数の和であり、第1のサブ残差ブロックと第2のサブ残差ブロックに含まれる画素数の差が最も小さい。
【0326】
一例では、第1のターゲット予測グループの残差ブロックは、均等に又はできるだけ均等に2つの部分に分割され、そのうちの1つの部分は1つのサブ残差ブロックとされ、他の部分はできるだけ均等に2つのサブ残差ブロックに分割される。
【0327】
分割モード4:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック、及び第4のサブ残差ブロックを含む。ここで、第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック及び第4のサブ残差ブロックはいずれも連続する複数の画素を含み、第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック及び第4のサブ残差ブロックに含まれる画素数の差が最も小さい。
【0328】
一例では、第1のターゲット予測グループの残差ブロックは、均等に又はできるだけ均等に4つの部分に分割される。
【0329】
第2の方式:第2のターゲット予測グループの残差ブロックをグループ化する。ここで、第2のターゲット予測グループは、符号化ユニットにおける複数列の画素を含む予測グループである。例えば、第2のターゲット予測グループは、
図8、
図11、
図12、
図15におけるGroup 1~4のいずれか、
図20、
図23におけるGroup 1~2のいずれか、などであってもよい。
【0330】
一実施形態では、第2のターゲット予測グループの残差ブロックは、1つのサブ残差ブロックに分割される。これは、当該残差ブロックをグループ化しないことと等価である。
【0331】
別の実施形態では、第2のターゲット予測グループの残差ブロックは、複数のサブ残差ブロックに分割される。
【0332】
分割モード1:複数のサブ残差ブロックは、少なくとも2つのサブ残差ブロックを含む。ここで、各サブ残差ブロックは、1列の画素又は連続する複数列の画素を含み、且つ異なるサブ残差ブロックに含まれる画素の列数は等しい。
【0333】
分割モード2:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックを含む。ここで、各残差ブロックは、1列の画素又は連続する複数列の画素を含み、且つ第1のサブ残差ブロックに含まれる画素の列数は、第2のサブ残差ブロックと第3のサブ残差ブロックに含まれる画素の列数の和に等しい。
【0334】
分割モード3:複数のサブ残差ブロックは、少なくとも4つのサブ残差ブロックを含む。ここで、各サブ残差ブロックは、1列の画素又は連続する複数列の画素を含み、且つ異なるサブ残差ブロックに含まれる画素の列数は等しい。
【0335】
第3の方式:第3のターゲット予測グループの残差ブロックをグループ化する。ここで、第3のターゲット予測グループは、符号化ユニットにおける複数行の画素を含む予測グループである。例えば、第3のターゲット予測グループは、
図16から
図19のいずれか1つに示される予測グループであってもよい。
【0336】
一実施形態では、第3のターゲット予測グループの残差ブロックは、1つのサブ残差ブロックに分割される。これは、当該残差ブロックをグループ化しないことと等価である。
【0337】
別の実施形態では、第3のターゲット予測グループの残差ブロックは、複数のサブ残差ブロックに分割される。
【0338】
分割モード1:複数のサブ残差ブロックの各サブ残差ブロックは、1行の画素又は1番目の画素以外の1行の画素を含む。
【0339】
一例では、第3のターゲット予測グループの残差ブロックは、行によって複数のサブ残差ブロックに分割される。
【0340】
分割モード2:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックを含む。第1のサブ残差ブロックは、1行の画素又は1番目の画素以外の1行の画素の予測グループを含み、第2のサブ残差ブロックと第3のサブ残差ブロックは、同じ行内の連続する複数の画素であり、第2のサブ残差ブロックと第3のサブ残差ブロックとの画素数の差が最も小さい。
【0341】
一例では、第3のターゲット予測グループの残差ブロックは、行によって複数の部分に分割され、そのうちの1つ又は複数の部分がそれぞれサブ残差ブロックとされ、そのうちの他の1つ又は複数の部分は、サブ残差ブロックを得るために、均等に分割されるか、又はできるだけ均等に分割される。
【0342】
分割モード3:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック、及び第4のサブ残差ブロックを含む。第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック及び第4のサブ残差ブロックはいずれも連続する複数の画素を含み、且つ第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック及び第4のサブ残差ブロックに含まれる画素数の差が最も小さい。
【0343】
一例では、第3のターゲット予測グループの残差ブロックは、できるだけ均等に複数のサブ残差ブロックに分割される。例えば、均等に4つのサブ残差ブロックに分割される。
【0344】
以下、具体的な例により、上記の残差ブロック分割モードを例示的に説明する。
【0345】
例1:
図29は、本発明の一実施形態に係る予測グループの複数の残差ブロックグループ化の概略図である。
図29は、符号化ユニットのサイズが16*4であり、予測グループが当該符号化ユニットの第1行における1番目の要素以外の要素である例である。例えば、当該予測グループは、
図8又は
図11におけるGroup 0、
図9又は
図10におけるGroup 1~4のいずれかであってもよい。
【0346】
図29(a)~(e)のそれぞれは、残差ブロック分割モードを示す。各図における各小格子は1つの画素を表し、同じ種類の小格子は同一のサブ残差ブロックにおける画素を表す。例えば、(b)は、残差ブロックが2つのサブ残差ブロックに分割され、一方のサブ残差ブロックは、左斜線で示された最初の7つの画素を含み、他方のサブ残差ブロックは、空白で示された最後の8つの画素を含むことを示す。
【0347】
例2:
図30は、本発明の一実施形態に係る予測グループの様々な残差ブロックグループ化の概略図である。なお、
図30は、符号化ユニットのサイズが16*4であり、予測グループが当該符号化ユニットの4列の要素である例である。例えば、当該予測グループは、
図8又は
図11におけるGroup 1~4のいずれかであってもよい。
【0348】
図30(a)~(e)のそれぞれは、残差ブロック分割モードを示す。各図における各小格子は1つの画素を表し、同じ種類の小格子は同一のサブ残差ブロックにおける画素を表す。
【0349】
一例では、同じサブ残差ブロック内の画素の係数符号化方式は同じであり、又は、同じサブ残差ブロック内の画素の符号化長(coding length、CL)、すなわち、残差係数が符号化された後に占有されるビット数は同じである。
【0350】
一例では、
図29及び
図30は、残差ブロックの5つの分割モードを示す。一例において、1bit又は3bitで分割モードGPM(表1に示す)を表すことができる。GP 0~GP 4はそれぞれ、
図29の(a)~(e)に対応してもよいし、
図30の(a)~(e)に対応してもよい。
【表1】
【0351】
表1に示す残差ブロック分割モードのインデックス符号化方法は、他の実施例にも適用可能であることに留意されたい。例えば、当該方法は、他のサイズの予測グループの残差ブロックの分割モードや、上記予測グループの他の分割モードに適用される。
【0352】
例3:
図31は、本発明の一実施形態に係る予測グループの複数の残差ブロックグループ化の概略図である。
図31は、符号化ユニットのサイズが8*2であり、符号化ユニットが1つの予測グループに分割される例である。
図31の(a)~(e)のそれぞれにおける1番目の画素は、予測グループの残差ブロックにおける画素ではない、つまり、残差ブロックのグループ化に関与しない。
図31における予測グループは、
図16又は
図17における予測グループであってもよい。(a)~(e)いずれの図においても、同じタイプのハッチングされた画素は、同じサブ残差ブロック内の画素を表す。
【0353】
図31について、符号化ユニットは1つの予測グループのみに分割され、当該予測グループの残差ブロックは5種類の分割モード(すなわち、GPM)を共有する。これらの5種類のGPMに対して、その分割方式を示すために1bit又は3bitが必要である(表1にも示す)。
【0354】
同一の予測グループにおけるサブ残差ブロック(すなわち、RB)の符号化順序は、上から下、左から右である。
図31の(e)を例として、各RBの符号化順序は、
図32に示すように、RB 0~RB 3の順である。なお、他の実施例におけるサブ残差ブロックの符号化順序は、
図32に示す図面に基づいて推論して得ることができ、ここでは説明を省略する。
【0355】
なお、1つの残差ブロックが分割されたサブ残差ブロックの数が多い場合、符号化する必要がある分割モード情報が多くなり、1つの残差ブロックが分割されたサブ残差ブロックの数が少ない場合、異なる特性の残差を1つのグループに分け、残差係数の符号化効率が低くなる。本発明の実施形態は、少なくともこの2つの側面を考慮して、上記の残差ブロック分割方法を提供する。
【0356】
以下、ビデオ画像を符号化及び復号する過程に係る他のステップを例示的に説明する。第1に、上位層シンタックスの実施例について説明する。
【0357】
上位層シンタックスは、カバーされた領域のために統一的な情報を提供する。カバーされた領域のすべての画素の符号化及び復号プロセスにおいて、必要とされる統一的な情報は、上位層シンタックスによって取得されてもよい。このように、これらの情報は、ある領域内で1回だけ符号化され、ビットレートを効果的に節約することができる一方、これらの情報は比較的重要であるため、ある特定の集合で伝送され、他の通常のデータとは異なる方法で保護することができる。例えば、以下のシンタックスの領域は、上記の並列符号化ユニット、独立符号化ユニット、符号化ユニット、PG、RB、画像、又は画像シーケンスなどであってもよい。
【0358】
これらの上位層シンタックスは、固定長符号化方法又はトランケーテッド・ユーナリコード符号化方法で符号化及び復号することができる。
【0359】
1)最大誤差
【0360】
ある領域ヘッダにmax_distanceシンタックスを追加し、ある領域内のブロックの最大誤差がmax_distanceであることを表し、現在のスライスのいずれかの画素の再構成画素値と元の画素値との差がmax_distance以下であることを表し、又は現在のスライスのいずれかの画素の再構成画素値と元の画素値との差の二乗がmax_distance以下であることを表す。
【0361】
2)量子化パラメータ
【0362】
ある領域ヘッダにquantization_parameterシンタックスを追加し、ある領域内のブロックに使用される量子化ステップを表す。量子化ステップは、ビットレートオーバーヘッドを低減するために、残差係数、又は残差変換後の係数を量子化するために用いられる。
【0363】
quantization_parameterシンタックスを符号化する場合、quantization_parameterは0であり、すなわち、量子化を行わない確率が高く、より短いコードワードを割り当てるべきである。すなわち、より短いコードワードにより、quantization_parameterが0であることを示す。一例として、2進数の0はquantization_parameterが0であることを示し、2進数の1***はquantization_parameterが0より大きいことを示す(*は0又は1を表す)。
【0364】
3)ビット深度
【0365】
ある領域ヘッダ(好ましくは、画像ヘッダ又は画像シーケンスヘッダ)にbit_depthシンタックスを追加し、ある領域内のブロックのビット深度を表す。ビット深度は、各画素の画素値を符号化するために使用されるビット数を表し、Nビットのビット深度は、画素値の範囲が[0、2^N-1]であることを表し、例えば、8ビットのビット深度は、画素値の範囲が[0、255]であることを表す。
【0366】
4)元の値を符号化するか否かのフラグ
【0367】
ある領域ヘッダにorg_flagシンタックス(バイナリ、すなわち、0と1の値のみ)を追加し、ある領域内のブロックが元の画素値を直接符号化するか否かを表す。org_flagが1である場合、ある領域内のブロックは元の値を直接符号化する。すなわち、各画素はbit_depthビットを用いて直接符号化され、予測情報、予測値、残差情報などの他の情報を伝送する必要がない。当該方法は、上記の予測方法が無駄になる(例えば、比較的ノイズの多い一部の画像ブロック)ことによるデータの過膨張(すなわち、圧縮後のデータが元のデータより明らかに大きい)を回避するためである。
【0368】
5)画像の基本情報
【0369】
ある領域ヘッダ(好ましくは、画像ヘッダ又は画像シーケンスヘッダ)に画像の基本情報シンタックスを追加し、画像の基本情報、例えば、解像度(すなわち、画像の幅と高さ)、画像輝度と色度のフォーマット(YUV 444、YUV 420、YUV 422、RGB 444など)などを表す。
【0370】
6)各成分の重要度
【0371】
画像が複数の成分からなる場合、ある領域ヘッダ(好ましくは画像ヘッダ又は画像シーケンスヘッダ)に各成分の重要度に関するシンタックスを追加する。luma_weightシンタックスが追加された場合、画像におけるYUVの3つの成分の重要度の比率がluma_weight:1:1であることを示す。
【0372】
7)並列符号化ユニットのシンタックスと制約
【0373】
画像ヘッダ又は画像シーケンスヘッダにおいて、並列独立符号化ユニットのサイズ関連情報を伝送する。
【0374】
方式1:並列独立符号化ユニットの幅para_unit_widthと高さpara_unit_heightを伝送する。画像を、同じサイズ(各行の末尾及び各列の末尾の並列独立符号化ユニットを除く)の複数の並列独立符号化ユニットに分割する。
【0375】
方式2:並列独立符号化ユニットに含まれる符号化ユニット(又は独立符号化ユニット)の数N_CUを伝送する。画像を、同じ数の符号化ユニット(各行の末尾及び各列の末尾の並列独立符号化ユニットを除く)を含む複数の並列独立符号化ユニットに分割する。
【0376】
異なる並列符号化ユニット内のブロックは、並列符号化及び復号を保証するために、互いに参照することができない。
【0377】
8)Length map出力
【0378】
画像ヘッダ又は画像シーケンスヘッダにおいて、length map情報を伝送する。length map情報は、各独立符号化ユニットの開始ビットストリームと現在の画像の開始ビットストリームとのオフセット情報を記憶するために使用される。当該オフセットは、K(Kは8又は16が好ましい)バイトで整列される必要がある。length map情報は、現在の画像の各独立符号化ユニットのランダムインデックスを示すために用いられる。すなわち、画像における任意の独立符号化ユニットの情報を取得したい場合、その前のすべての独立符号化ユニットのビットストリームを復号する必要がない。
【0379】
第2に、特別な状況への処理
【0380】
1)行末補完
【0381】
基本処理ユニットのサイズを幅w_unit、高さh_unitとする。
【0382】
画像の幅がw_unitの整数倍でない場合、又は画像の高さがh_unitの整数倍でない場合、最近傍法により、幅がw_unitの整数倍、又は高さがh_unitの整数倍になるように(画像の右側境界は左側の最近傍の利用可能な画素をコピーすることにより埋められ、画像の下側境界は上側の最近傍の利用可能な画素をコピーすることにより埋められる)埋める。その後、通常の方法により符号化を行う。
【0383】
2)行末又は画像末尾ビットストリーム補完
【0384】
ある行(又は画像)の最後のブロックの最後において、現在のブロックの前の累積ビットストリームの総数が8bitの倍数でない場合、累積ビットストリームの総数のバイトを揃えるように、0又は1を追加する方式で補完する。
【0385】
3)残差情報の書き込み
【0386】
残差の書き込み時に、ハードウェアのニーズを考慮して、残差は、上から下へ、左から右へのラスタースキャン順序ではなく、FxF(Fは好ましくは4又は2)を基本ユニットとして書き込まれる。
【0387】
なお、上記各実施例における一部の特徴又は全部の特徴は、矛盾しない限り、任意の適切な方式で組み合わせて新しい実施例を得ることができる。
【0388】
上記の実施例における機能を実現するために、ビデオエンコーダ/ビデオデコーダは、各機能を実行するための対応するハードウェア構造及び/又はソフトウェアモジュールを含むことが理解され得る。当業者であれば、本発明において開示された実施例で説明された例のユニット及び方法のステップと組み合わせて、本発明がハードウェアで、又はハードウェアとコンピュータソフトウェアとの組み合わせの形態で実施され得ることを容易に理解できるはずである。ある機能がハードウェアによって実行されるか、コンピュータソフトウェアがハードウェアを駆動することによって実行されるかは、技術的解決策の特定の適用シナリオ及び設計制約条件に依存する。
【0389】
図33は、本発明に係る復号装置300の概略構成図であり、上記の復号方法の実施形例のいずれもが、当該復号装置によって実行され得る。当該復号装置300は、エントロピー復号部3001と、予測処理部3002と、復号部3003とを含む。一例では、当該復号装置は、
図1の宛先機器12であってもよい。別の例では、当該復号装置は、
図1のデコーダ122、又は
図3のデコーダ30であってもよい。
【0390】
一例では、エントロピー復号部3001は、
図3のエントロピー復号部301によって実現されてもよい。予測処理部3002は、
図3の予測処理部304により実現されてもよい。復号部3003は、
図3の再構成部305により実現されてもよく、一例では、復号部3003は、
図3の再構成部305及びフィルタ部306により実現されてもよい。
図3の現在の画像ブロックは、本実施例における復号対象ユニットであってもよい。
【0391】
エントロピー復号部3001は、ビットストリームを解析して、シンタックス要素を取得するために用いられる。前記シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、前記復号対象ユニットは、少なくとも1つの予測グループを含む。例えば、エントロピー復号部3001は、
図7におけるS201を実行するために用いられてもよい。
【0392】
予測処理部3002は、前記少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定し、前記予測モードに基づいて前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るために用いられる。例えば、予測処理部3002は、
図7におけるS202~S203を実行するために用いられてもよい。
【0393】
復号部3003は、前記復号対象ユニットの残差ブロックと、前記いずれか1つの予測グループの予測値とに基づいて、前記復号対象ユニットを復号するために用いられる。例えば、復号部3003は、
図7におけるS204を実行するために用いられてもよい。
【0394】
上記のエントロピー復号部3001、予測処理部3002及び復号部3003のより詳細な説明及びその有益な効果に関する説明は、
図7に示す方法の実施例における関連説明を直接参照して直接得ることができ、ここでは説明を省略する。
【0395】
図34は、本発明に係る符号化装置310の概略構成図である。当該符号化装置310は、分割部3101、予測処理部3102、残差演算部3103、及び符号化部3104を含む。一例では、当該符号化装置は、
図1のソース機器11であってもよい。別の例では、当該符号化装置は、
図1のエンコーダ112、又は
図2のエンコーダ20であってもよい。
【0396】
一例では、予測処理部3102、残差演算部3103及び符号化部3104は、それぞれ、
図2における予測処理部201、残差演算部202及びエントロピー符号化部205により実現されてもよい。なお、分割部3101は、
図2における現在の画像ブロックを得るためのユニットであってもよい。
図2における現在の画像ブロックは、本実施例における符号化ユニットであってもよい。
【0397】
上記の分割部3101、予測処理部3102、残差演算部3103及び符号化部3104のより詳細な説明及びその有益な効果に関する説明は、
図5に示す方法の実施例における関連説明を直接参照して直接得ることができ、ここでは説明を省略する。
【0398】
本発明は、上記のいずれかの復号方法の実施例を実行するための電子機器をさらに提供する。
図35に示すように、
図35は、本発明に係る電子機器の概略構成図である。当該電子機器3200は、プロセッサ3210と通信インタフェース3220とを含む。プロセッサ3210と通信インタフェース3220とは互いに結合される。通信インタフェース3220は、トランシーバ又は入出力インタフェースであってよいことが理解され得る。一例では、電子機器3200は、プロセッサ3210によって実行される命令を記憶するか、プロセッサ3210が命令を実行するために必要な入力データを記憶するか、又はプロセッサ3210が命令を実行した後に生成されるデータを記憶するために用いられるメモリ3230をさらに含んでもよい。
【0399】
電子機器3200が
図7に示す方法を実行するために用いられる場合、プロセッサ3210及び通信インタフェース3220は、上記のエントロピー復号部3001、予測処理部3002及び復号部3003の機能を実行するために用いられる。
【0400】
電子機器3200が
図5に示す方法を実行するために用いられる場合、プロセッサ3210及び通信インタフェース3220は、上記の分割部3101、予測処理部3102、残差演算部3103及び符号化部3104の機能を実行するために用いられる。
【0401】
本発明の実施例では、上記の通信インタフェース3220、プロセッサ3210、及びメモリ3230の間の特定の接続媒体は限定されない。本発明の実施例では、通信インタフェース3220、プロセッサ3210、及びメモリ3230は、
図35においてバス3240によって接続される。バスは、
図35において太線で示される。他の構成要素間の接続方式は、例示的な説明に過ぎず、限定されない。バスは、アドレスバス、データバス、制御バスなどに分類され得る。表現を容易にするために、
図35では、1本の太線のみが用いられるが、1つのバス又は1つのタイプのバスのみが存在することを示すものではない。
【0402】
メモリ3230は、本発明の実施例において提供される復号方法又は符号化方法に対応するプログラム命令/モジュールなどのソフトウェアプログラム及びモジュールを格納するために用いられ得る。プロセッサ3210は、メモリ3230に格納されたソフトウェアプログラムやモジュールを実行することにより、様々な機能アプリケーションやデータ処理を実行する。当該通信インタフェース3220は、別のデバイスとシグナリング又はデータを通信するために用いられ得る。本発明では、当該電子機器3200は、複数の通信インタフェース3220を有し得る。
【0403】
本発明の実施例におけるプロセッサは、中央処理装置(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)、又は別のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、又はそれらの任意の組み合わせであってよいことが理解され得る。汎用プロセッサは、マイクロプロセッサであってもよく、任意の従来のプロセッサであってもよい。
【0404】
本発明の実施例における方法のステップは、ハードウェアにより実現されてもよく、プロセッサがソフトウェア命令を実行することにより実現されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールから構成されてもよく、ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、読み取り専用メモリ(read-only memory、ROM)、プログラマブル読み取り専用メモリ(programmable ROM、PROM)、消去可能プログラマブル読み取り専用メモリ(erasable PROM、EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、又は当技術分野で周知の任意の他の形式の記憶媒体に記憶されてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。もちろん、記憶媒体は、プロセッサの構成要素であってもよい。プロセッサ及び記憶媒体は、ASIC内に配置されてもよい。また、ASICは、ネットワークデバイス又は端末デバイス内に配置され得る。もちろん、プロセッサ及び記憶媒体は、別個のコンポーネントとしてネットワークデバイス又は端末デバイスに存在してもよい。
【0405】
上記の実施例において、全部又は一部をソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせによって実現することができる。ソフトウェアプログラムを用いて実現する場合、全部又は一部をコンピュータプログラム製品の形態で実現することができる。コンピュータプログラム製品は、1つ以上のコンピュータプログラム又は命令を含む。当該コンピュータプログラム又は命令がコンピュータ上でロード及び実行されるとき、本発明の実施形態に係る手順又は機能は、全部又は部分的に実行される。当該コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、ネットワークデバイス、ユーザ機器、又は他のプログラマブル装置であってもよい。当該コンピュータプログラム又はは命令は、コンピュータ可読記憶媒体に記憶されてもよく、あるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、当該コンピュータプログラム又はは命令は、有線又は無線方式で、ウェブサイト、コンピュータ、サーバ、又はデータセンタから別のウェブサイト、コンピュータ、サーバ、又はデータセンタに送信されてもよい。当該コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体、又は1つ以上の利用可能な媒体を統合したサーバ、データセンタなどのデータ記憶装置であってもよい。当該利用可能な媒体は、フロッピーディスク、ハードディスク、又は磁気テープなどの磁気媒体であってもよく、デジタルビデオディスク(digital video disc、DVD)などの光媒体であってもよく、ソリッドステートドライブ(solid state drives、SSD)などの半導体媒体であってもよい。
【0406】
本発明の各実施例において、特別な説明及び論理的な矛盾がなければ、異なる実施例間の用語及び/又は説明が一致性を有し、且つ互いに引用可能である。異なる実施例における技術的特徴は、その内部の論理関係に応じて組み合わせて新たな実施例を形成することができる。本発明において、「少なくとも1つ」は1つ以上を指し、「複数」は2つ以上を指す。「及び/又は」は、関連対象の関連関係を説明し、3種類の関係が存在し得ることを表す。例えば、A及び/又はBは、Aが単独で存在すること、AとBが同時に存在すること、Bが単独で存在することを表すことができる。ここで、A、Bは単数又は複数であってもよい。本発明のテキスト説明において、文字「/」は、一般に、前後の関連対象が「又は」の関係であることを表し、本発明の式において、文字「/」は、前後の関連対象が「除算」の関係であることを表す。
【0407】
本発明の実施例における様々な数字の番号は、説明の便宜上の区別に過ぎず、本発明の実施例の範囲を限定するものではないことを理解されたい。上記の各プロセスのシーケンスの番号は、実行順序を意味するものではなく、各プロセスの実行順序は、その機能及び内部論理によって決定されるべきである。
【手続補正書】
【提出日】2024-07-10
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビットストリームを解析して、シンタックス要素を取得するステップであって、前記シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、前記復号対象ユニットは、少なくとも1つの予測グループを含む、ステップと、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定するステップと、
前記予測モードに基づいて前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るステップと、
前記復号対象ユニットの残差ブロックと、前記少なくとも1つの予測グループの各予測グループの予測値とに基づいて、前記復号対象ユニットを復号するステップと、を含む、
ことを特徴とする画像復号方法。
【請求項2】
前記いずれか1つの予測グループは、
前記復号対象ユニットにおける1行の画素、又は、
前記復号対象ユニットにおける1列の画素、連続する複数列の画素、連続する複数の奇数列の画素、又は、連続する複数の偶数列の画素を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記少なくとも1つの予測グループは、複数の予測グループを含み、前記複数の予測グループのうちの少なくとも2つの予測グループの予測モードは異なる、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記いずれか1つの予測グループの予測モードは、水平予測、垂直予測、水平平均予測、及び垂直平均予測のうちの少なくとも1つを含み、又は、
前記いずれか1つの予測グループの予測モードは、前記復号対象ユニットに隣接する復号ユニットの画素値を用いて、又は前記復号対象ユニットが位置する独立復号ユニットに隣接する独立復号ユニットの画素値を用いて実行される参照予測を含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記いずれか1つの予測グループは、色度予測グループ又は輝度予測グループである、請求項1に記載の方法。
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記シンタックス要素は、前記復号対象ユニットの分割モードの識別情報をさらに含み、前記分割モードは、前記復号対象ユニットが前記少なくとも1つの予測グループに分割されるときに使用される分割モードであり、及び/又は、
前記シンタックス要素は、前記いずれか1つの予測グループの予測モードをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記シンタックス要素は、第1の指標をさらに含み、前記第1の指標は、前記残差ブロックに対してグループ化を実行するか否かを示すために用いられる、
ことを特徴とする請求項1に記載の方法。
【請求項8】
前記残差ブロックは、輝度残差ブロック又は色度残差ブロックを含む、
ことを特徴とする請求項
7に記載の方法。
【請求項9】
前記残差ブロックは、復号対象ユニット粒度の残差ブロック、又は予測ブロック粒度の残差ブロックである、
ことを特徴とする請求項1に記載の方法。
【請求項10】
符号化ユニットを少なくとも1つの予測グループに分割するステップと、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って、前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るステップと、
前記少なくとも1つの予測グループの各予測グループの予測値に基づいて、前記符号化ユニットの残差ブロックを得るステップと、
前記符号化ユニットの残差ブロックを符号化するステップと、を含む、
ことを特徴とする画像符号化方法。
【請求項11】
ビットストリームを解析して、シンタックス要素を取得するために用いられるエントロピー復号部であって、前記シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、前記復号対象ユニットは、少なくとも1つの予測グループを含む、エントロピー復号部と、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定し、前記予測モードに基づいて前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るために用いられる予測処理部と、
前記復号対象ユニットの残差ブロックと、前記少なくとも1つの予測グループの各予測グループの予測値とに基づいて、前記復号対象ユニットを復号するために用いられる復号部と、を含む、
ことを特徴とする画像復号装置。
【請求項12】
符号化ユニットを少なくとも1つの予測グループに分割するために用いられる分割部と、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って、前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るために用いられる予測処理部と、
前記いずれか1つの予測グループの各予測グループの予測値に基づいて、前記符号化ユニットの残差ブロックを得るために用いられる残差演算部と、
前記符号化ユニットの残差ブロックを符号化するために用いられる符号化部と、を含む、
ことを特徴とする画像符号化装置。
【請求項13】
符号化側と復号側とを備え、前記符号化側は前記復号側と通信接続され、前記復号側は請求項1~
9のいずれか1項に記載の方法を実行するために用いられ、前記符号化側は請求項
10に記載の方法を実行するために用いられる、
ことを特徴とする画像符号化及び復号システム。
【請求項14】
プロセッサとメモリとを含む電子機器であって、
前記メモリは、コンピュータ命令を記憶するために用いられ、
前記プロセッサは、前記メモリから前記コンピュータ命令を呼び出して実行して、請求項1~
10のいずれか1項に記載の方法を実行するために用いられる、
ことを特徴とする電子機器。
【請求項15】
コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体であって、
前記コンピュータプログラム又は命令が電子機器によって実行されると、請求項1~
10のいずれか1項に記載の方法が実行される、
ことを特徴とするコンピュータ可読記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオ符号化及び復号の技術分野に関し、特に、画像復号方法及び装置、画像符号化方法及び装置、画像符号化及び復号システム、電子機器、並びにコンピュータ可読記憶媒体に関する。
【背景技術】
【0002】
ビデオにおける完全な画像は一般的に「フレーム」と呼ばれ、時系列に並んだ複数のフレームからなるビデオは、ビデオシーケンス(video sequence)と呼ばれる。ビデオシーケンスには、空間的冗長性、時間的冗長性、視覚的冗長性、情報エントロピー冗長性、構造的冗長性、知識冗長性、重要度冗長性などの一連の冗長情報がある。ビデオシーケンスにおける冗長情報をできるだけ除去し、ビデオを表すデータ量を削減させるために、ビデオ符号化(video coding)技術が提案され、ストレージ容量の削減と伝送帯域幅の節約という効果を達成する。ビデオ符号化技術は、ビデオ圧縮技術とも呼ばれる。
【0003】
技術の発展に伴い、ビデオデータを収集することがますます便利になり、収集されたビデオデータの規模もますます大きくなるため、ビデオデータをどのように効果的に符号化及び復号するかが、解決すべき緊急の課題となっている。
【発明の概要】
【0004】
本発明は、画像符号化及び復号(又はビデオ符号化及び復号)プロセスにおける予測効率が低いという問題を解決するための画像復号方法及び装置、画像符号化方法及び装置、画像符号化及び復号システム、電子機器、並びにコンピュータ可読記憶媒体を提供する。
【0005】
第1の態様において、本発明は、画像復号方法を提供し、当該方法は、
ビットストリームを解析して、シンタックス要素を取得するステップであって、シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、復号対象ユニットは、少なくとも1つの予測グループを含む、ステップと、
当該少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定するステップと、
予測モードに基づいて当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得るステップと、
復号対象ユニットの残差ブロックと、当該少なくとも1つの予測グループの予測値とに基づいて、復号対象ユニットを復号するステップと、を含む。
【0006】
このように、符号化ユニット自体に対して直接に予測を実行する技術案に比べて、符号化ユニットに対する柔軟な予測の実現に寄与し、例えば、分割モードを合理的に設定することにより、複数の予測グループに対して並列に予測を実行すること、及び異なる予測グループに対して異なる予測モードを設定することなどの実現に寄与し、予測効率を向上させ、さらに符号化効率を向上させることができる。
【0007】
可能な一実施形態では、当該いずれか1つの予測グループは、復号対象ユニットにおける1行の画素、又は、復号対象ユニットにおける1列の画素、連続する複数列の画素、連続する複数の奇数列の画素、又は、連続する複数の偶数列の画素を含む。
【0008】
可能な一実施形態では、当該少なくとも1つの予測グループは、複数の予測グループを含み、当該複数の予測グループのうちの少なくとも2つの予測グループの予測モードは異なる。
【0009】
可能な一実施形態では、当該いずれか1つの予測グループの予測モードは、水平予測、垂直予測、水平平均予測、及び垂直平均予測のうちの少なくとも1つを含み、又は、当該いずれか1つの予測グループの予測モードは、復号対象ユニットに隣接する復号ユニットの画素値を用いて実行される参照予測、又は復号対象ユニットが位置する独立復号ユニットに隣接する独立復号ユニットの画素値を用いて実行される参照予測を含む。
【0010】
可能な一実施形態では、当該いずれか1つの予測グループは、色度予測グループ又は輝度予測グループである。
【0011】
可能な一実施形態では、シンタックス要素は、復号対象ユニットの分割モードの識別情報をさらに含み、分割モードは、復号対象ユニットが当該少なくとも1つの予測グループに分割されるときに使用される分割モードである。
【0012】
可能な一実施形態では、シンタックス要素は、当該いずれか1つの予測グループの予測モードをさらに含む。
【0013】
可能な一実施形態では、シンタックス要素は、第1の指標をさらに含み、第1の指標は、残差ブロックに対してグループ化を実行するか否かを示すために用いられる。
【0014】
可能な一実施形態では、残差ブロックは、輝度残差ブロック又は色度残差ブロックを含む。
【0015】
可能な一実施形態では、残差ブロックは、復号対象ユニット粒度の残差ブロック、又は予測ブロック粒度の残差ブロックである。
【0016】
第2の態様において、本発明は、画像符号化方法を提供し、当該方法は、
符号化ユニットを少なくとも1つの予測グループに分割するステップと、
当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って、当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得るステップと、
当該少なくとも1つの予測グループの予測値に基づいて、符号化ユニットの残差ブロックを得るステップと、
符号化ユニットの残差ブロックを符号化するステップと、を含む。
【0017】
このように、復号対象ユニット自体に対して直接に予測を実行する技術案に比べて、復号対象ユニットに対する柔軟な予測の実現に寄与し、例えば、分割モードを合理的に設定することにより、複数の予測グループに対して並列に予測を実行すること、及び異なる予測グループに対して異なる予測モードを設定することなどの実現に寄与し、予測効率を向上させ、さらに復号効率を向上させることができる。
【0018】
第3の態様において、本発明は、画像復号装置を提供し、当該復号装置は、ビデオデコーダ、又はビデオデコーダを含む機器であり得る。当該復号装置は、第1の態様の可能な実施形態のいずれか1つにおける方法を実行するためのモジュールを含む。例えば、エントロピー復号部、予測処理部、復号部などである。
【0019】
有益な効果については、第1の態様のいずれかの説明を参照されたい。前記復号装置は、上記の第1の態様による方法の例における動作を実行する機能を有する。前記機能は、ハードウェアによって実現されてもよく、ハードウェアが対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記の機能に対応する1つ以上のモジュールを含む。
【0020】
第4の態様において、本発明は、画像符号化装置を提供し、当該符号化装置は、ビデオエンコーダ、又はビデオエンコーダを含む機器であり得る。当該符号化装置は、第2の態様の可能な実施形態のいずれか1つにおける方法を実行するためのモジュールを含む。例えば、前記符号化装置は、分割部と、予測処理部と、残差演算部と、符号化部とを含む。
【0021】
有益な効果については、第2の態様のいずれかの説明を参照されたい。前記符号化装置は、上記の第2の態様による方法の例のいずれかにおける動作を実行する機能を有する。前記機能は、ハードウェアによって実現されてもよく、ハードウェアが対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記の機能に対応する1つ以上のモジュールを含む。
【0022】
第5の態様において、本発明は、プロセッサとメモリとを含む電子機器を提供し、前記メモリは、コンピュータ命令を記憶するために用いられ、前記プロセッサは、メモリから前記コンピュータ命令を呼び出して実行して、第1の態様から第2の態様のいずれかの実施形態による方法を実行するために用いられる。
【0023】
例えば、当該電子機器は、ビデオエンコーダ、又はビデオエンコーダを含む機器であり得る。
【0024】
別の例では、当該電子機器は、ビデオデコーダ、又はビデオデコーダを含む機器であり得る。
【0025】
第6の態様において、本発明は、コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体を提供し、コンピュータプログラム又は命令が、コンピューティングデバイス又はコンピューティングデバイスが位置するストレージシステムによって実行されると、第1の態様から第2の態様のいずれかの実施形態による方法が実行される。
【0026】
第7の態様によれば、本発明は、命令を含むコンピュータプログラム製品を提供し、コンピュータプログラム製品がコンピュータデバイス又はプロセッサ上で実行されると、コンピュータデバイス又はプロセッサに命令を実行させて、第1の態様から第2の態様のいずれかの実施形態による方法を実行する。
【0027】
第8の態様によれば、本発明は、画像符号化及び復号システムを提供し、当該画像符号化及び復号システムは、符号化側と復号側とを備え、復号側は第1の態様のいずれかの実施形態による方法を実行するために用いられ、符号化側は第2の態様のいずれかの実施形態による方法を実行するために用いられる。
【0028】
第9の態様によれば、本発明は、画像復号方法を提供し、当該方法は、
ビットストリームを解析して、シンタックス要素を取得するステップであって、シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、復号対象ユニットは、少なくとも1つの予測グループを含み、復号対象ユニットの幅のサイズは、復号対象ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である、ステップと、
当該少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定するステップと、
予測モードに基づいて当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得るステップと、
復号対象ユニットの残差ブロックと、当該少なくとも1つの予測グループの予測値とに基づいて、復号対象ユニットを復号するステップと、を含む。
【0029】
可能な一実施形態では、当該少なくとも1つの予測グループは、垂直均等分割方式で復号対象ユニットを複数の予測グループ分割すること、又は、水平均等分割方式で復号対象ユニットを複数の予測グループ分割すること、又は、所定の比率で垂直方向に復号対象ユニットを複数の予測グループに分割すること、又は、所定の比率で水平方向に復号対象ユニットを複数の予測グループに分割すること、によって得られる。
【0030】
可能な一実施形態では、水平均等分割方式で復号対象ユニットを複数の予測グループ分割することは、
復号対象ユニットのサイズが16*2である場合、復号対象ユニットを水平に4つの予測グループに均等に分割することを含む。
【0031】
可能な一実施形態では、復号対象ユニットのサイズが16*2である場合、当該少なくとも1つの予測グループは、奇数列の画素から構成される第1の予測グループと、偶数列の画素から構成される第2の予測グループとを含み、前記第1の予測グループの予測モードは垂直予測であり、前記第2の予測グループの第16列の画素の予測モードは水平予測であり、第16列の画素以外の画素の予測モードは水平平均予測である。
【0032】
可能な一実施形態では、復号対象ユニットのサイズが8*1である場合、当該少なくとも1つの予測グループは、1つの予測グループを含み、前記予測グループの予測モードは垂直予測である。
【0033】
可能な一実施形態では、シンタックス要素は、具体的に、前記残差ブロックから分割された少なくとも1つのサブ残差ブロックを得て、前記残差ブロックを取得するために用いられる。
【0034】
可能な一実施形態では、シンタックス要素は、前記残差ブロックのグループ化方式のインデックス情報をさらに含み、異なるインデックス情報は、異なるグループ化方式を示すために用いられる。
【0035】
可能な一実施形態では、前記残差ブロックのグループ化方式5つのグループ化方式を含み、前記残差ブロックのグループ化方式のインデックスは2値符号化方法を採用し、前記残差ブロックのグループ化方式は1ビットまたは3ビットによって表される。
【0036】
可能な一実施形態では、シンタックス要素は、カバーされた領域のために統一的な情報を提供する上位層シンタックスを含み、上位層シンタックスは、領域内のブロックのビット深度を表すために用いられるビット深度、領域内のブロックが元の画素値を直接符号化するか否かを表すために用いられる元の値を符号化するか否かのフラグ、領域内の画像の基本情報を表すために用いられる画像の基本情報、及び領域内の並列独立符号化ユニットのサイズに関連する情報を伝送するために用いられる並列符号化ユニットのシンタックスと制約のうちの少なくとも1つを含む。
【0037】
第10の態様によれば、本発明は、画像符号化方法を提供し、当該方法は、
符号化ユニットを少なくとも1つの予測グループに分割するステップであって、符号化ユニットの幅のサイズは、符号化ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である、ステップと、
当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って、当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得るステップと、
当該少なくとも1つの予測グループの予測値に基づいて、符号化ユニットの残差ブロックを得るステップと、
符号化ユニットの残差ブロックを符号化するステップと、を含む。
【0038】
第11の態様において、本発明は、画像復号装置を提供し、当該画像復号装置は、
ビットストリームを解析して、シンタックス要素を取得するために用いられるエントロピー復号部であって、前記シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、前記復号対象ユニットは、少なくとも1つの予測グループを含み、前記復号対象ユニットの幅のサイズは、復号対象ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である、エントロピー復号部と、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定し、前記予測モードに基づいて前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るために用いられる予測処理部と、
前記復号対象ユニットの残差ブロックと、前記少なくとも1つの予測グループの予測値とに基づいて、前記復号対象ユニットを復号するために用いられる復号部と、を含む。
【0039】
第12の態様において、本発明は、画像符号化装置を提供し、当該画像符号化装置は、
符号化ユニットを少なくとも1つの予測グループに分割するために用いられる分割部と、
前記少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って、前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るために用いられる予測処理部と、
前記いずれか1つの予測グループの予測値に基づいて、前記符号化ユニットの残差ブロックを得るために用いられる残差演算部と、
前記符号化ユニットの残差ブロックを符号化するために用いられる符号化部と、を含み、
前記予測グループは、少なくとも1つの画素を含み、符号化ユニットの幅のサイズは、符号化ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である。
【0040】
第13の態様において、本発明は、画像符号化及び復号システムを提供し、当該画像符号化及び復号システムは、符号化側と復号側とを備え、
前記符号化側は前記復号側と通信接続され、前記復号側は第9の態様のいずれか1つの実施態様の方法を実行するために用いられ、前記符号化側は第10の態様の方法を実行するために用いられる。
【0041】
第14の態様において、本発明は、プロセッサとメモリとを含む電子機器を提供し、
前記メモリは、コンピュータ命令を記憶するために用いられ、
前記プロセッサは、前記メモリから前記コンピュータ命令を呼び出して実行して、第9の態様から第10の態様のいずれか1つの実施態様の方法を実行するために用いられる。
【0042】
第15の態様において、本発明は、コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体を提供し、
前記コンピュータプログラム又は命令が電子機器によって実行されると、第9の態様から第10の態様のいずれか1つの実施態様の方法が実行される。
【0043】
本発明は、上記の態様において提供される実施形態に基づいて、より多くの実施形態を提供するためにさらに組み合わされてもよい。
【図面の簡単な説明】
【0044】
【
図1】本発明の実施形態が適用される符号化及び復号システムの概略アーキテクチャ図である。
【
図2】本発明の一実施形態を実現するためのエンコーダの一例の概略ブロック図である。
【
図3】本発明の一実施形態を実現するためのデコーダの一例の概略ブロック図である。
【
図4】本発明の一実施形態に係る複数の予測方式の概略図である。
【
図5】本発明の一実施形態に係る画像符号化方法のフローチャートである。
【
図6】本発明の一実施形態に係る、画像、並列符号化ユニット、独立符号化ユニット、符号化ユニット、予測グループ(PG)、及びサブ残差ブロック(RB)の間の対応関係の概略図である。
【
図7】本発明の一実施形態に係る画像復号方法のフローチャートである。
【
図15】本発明の一実施形態に係る16*4符号化ユニットの分割モード及び予測モードの概略図である。
【
図19】本発明の一実施形態に係る8*2符号化ユニットの分割モード及び予測モードの概略図である。
【
図23】本発明の一実施形態に係る16*2符号化ユニットの分割モード及び予測モードの概略図である。
【
図25】本発明の一実施形態に係る8*1符号化ユニットの分割モード及び予測モードの概略図である。
【
図28】本発明の一実施形態に係る別の分割モードの概略図である。
【
図31】本発明の一実施形態に係る予測グループの複数の残差ブロックグループ化の概略図である。
【
図32】本発明の一実施形態に係る残差ブロックとサブ残差ブロックとの間の対応関係の概略図である。
【
図33】本発明の一実施形態に係る復号装置の概略構成図である。
【
図34】本発明の一実施形態に係る符号化装置の概略構成図である。
【
図35】本発明の一実施形態に係る電子機器の概略構成図である。
【発明を実施するための形態】
【0045】
本発明の実施形態における「少なくとも1つの(種)」という用語は、1つの(種)又は複数(種)を含む。「複数(種)」とは、2つ(種)又は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」などの単語は、数量や実行順序を限定するものではなく、また、「第1」、「第2」などの単語は、必ずしも異なることを限定するものではないことを理解できる。
【0046】
以下、本発明の実施例が適用されるシステムアーキテクチャについて説明する。
【0047】
図1は、本発明の実施例が適用される符号化及び復号システム10の概略アーキテクチャ図である。
図1に示すように、符号化及び復号システム10は、ソース機器11と、宛先機器12とを含み得る。ソース機器11は、画像を符号化するために用いられるため、画像符号化装置又はビデオ符号化装置と呼ばれてもよい。宛先機器12は、ソース機器11により生成された符号化画像データを復号するために用いられるため、画像復号装置又はビデオ復号装置と呼ばれてもよい。
【0048】
ソース機器11及び宛先機器12は、例えば、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノート(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話端末、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、車載コンピュータなどの様々な装置を含み得る。
【0049】
任意選択で、
図1のソース機器11及び宛先機器12は2つの別個の機器であってもよく、又は、ソース機器11及び宛先機器12は同じ機器であってもよく、すなわち、ソース機器11又は対応する機能、及び宛先機器12又は対応する機能は、同じ機器に統合されてもよい。
【0050】
ソース機器11と宛先機器12との間で通信を行うことができ、例えば、宛先機器12は、ソース機器11から符号化画像データを受信してもよい。一例では、ソース機器11と宛先機器12との間に1つ又は複数の通信媒体が含まれてもよく、1つ又は複数の通信媒体を介して符号化画像データを伝送する。当該1つ又は複数の通信媒体は、ルータ、スイッチ、基地局又はソース機器11から宛先機器12への通信を容易にする他の機器を含んでもよい。
【0051】
図1に示すように、ソース機器11はエンコーダ112を含み、オプションとして、ソース機器11は、画像プリプロセッサ111と、通信インタフェース113とをさらに含んでもよい。ここで、画像プリプロセッサ111は、受信した符号化対象画像に対して前処理を実行するために用いられる。例えば、画像プリプロセッサ111によって実行される前処理は、修正、色フォーマット変換(例えば、RGBフォーマットからYUVフォーマットへの変換)、色調整又はノイズ除去などを含み得る。エンコーダ112は、前処理された画像を受信し、相関予測モード(例えば、本明細書の各実施例における予測モード)を用いて前処理された画像を処理し、符号化画像データを提供するために用いられる。いくつかの実施形態では、エンコーダ112は、以下の実施形態における符号化プロセスを実行するために用いられてもよい。通信インタフェース113は、符号化画像データを宛先機器12又は任意の他の機器(例えば、メモリ)に伝送して、記憶又は直接再構成するために用いられてもよい。他の機器は、復号又は記憶のための任意の機器であってもよい。また、通信インタフェース113は、符号化画像データを適切なフォーマットにカプセル化してから伝送してもよい。
【0052】
任意選択で、上記の画像プリプロセッサ111、エンコーダ112、及び通信インタフェース113は、ソース機器11内のハードウェアコンポーネントであってもよく、又はソース機器11内のソフトウェアプログラムであってもよく、本発明の実施例は限定されない。
【0053】
引き続き
図1に示すように、宛先機器12はデコーダ122を含み、オプションとして、宛先機器12は、通信インタフェース121と、画像ポストプロセッサ123とをさらに含んでもよい。ここで、通信インタフェース121は、ソース機器11又は任意の他のソース機器から符号化画像データを受信するために用いられてもよい。当該任意の他のソース機器は、例えば、記憶機器である。また、通信インタフェース121は、通信インタフェース113により伝送されたデータをデカプセル化して符号化画像データを取得してもよい。デコーダ122は、符号化画像データを受信し、復号画像データ(再構成された画像データ又は再構成済み画像データとも呼ばれる)を出力するために用いられる。いくつかの実施形態では、デコーダ122は、以下の実施形態で説明される復号プロセスを実行するために用いられてもよい。
【0054】
画像ポストプロセッサ123は、復号画像データに対して後処理を実行して、後処理された画像データを取得するために用いられる。画像ポストプロセッサ123によって実行される後処理は、色フォーマット変換(例えば、YUVフォーマットからRGBフォーマットへの変換)、色調整、修正、又はリサンプリング、又は任意の他の処理を含んでもよく、また、後処理された画像データを表示機器に伝送して表示するために用いられてもよい。
【0055】
同様に、任意選択で、上記の通信インタフェース121、デコーダ122、及び画像ポストプロセッサ123は、宛先機器12内のハードウェアコンポーネントであってもよく、宛先機器12内のソフトウェアプログラムであってもよく、本発明の実施例は限定されない。
【0056】
以下、
図1におけるエンコーダ及びデコーダの構成を簡単に説明する。
【0057】
図2を参照すると、
図2は、本発明の一実施例を実施するためのエンコーダ20の一例の概略ブロック図である。
図2において、エンコーダは、予測処理部201、残差演算部202、変換処理部203、量子化部204、エントロピー符号化部205、逆量子化部206、逆変換処理部207、再構成部208、及びフィルタ部209を含む。任意選択で、エンコーダ20は、バッファと、復号画像バッファとをさらに含み得る。バッファは、再構成部208によって出力された再構成画像ブロックをバッファリングするために用いられ、復号画像バッファは、フィルタ部209によって出力されたフィルタリングされた画像ブロックをバッファリングするために用いられる。
【0058】
エンコーダ20への入力は、画像(符号化対象画像と呼ばれてもよい)の画像ブロックであり、画像ブロックは、現在の画像ブロック又は符号化対象画像ブロックと呼ばれてもよい。エンコーダ20は、符号化対象画像を複数の画像ブロックに分割するために用いられる分割部(
図2では図示せず)をさらに含んでもよい。エンコーダ20は、符号化対象画像の符号化を完了するためにブロック毎に(block-by-block)符号化するために用いられ、例えば、各画像ブロックに対して符号化プロセスを実行する。
【0059】
予測処理部201は、画像ブロック(現在の符号化対象画像の現在の符号化対象画像ブロック、又は、現在の画像ブロックと呼ばれてもよく、画像ブロックの真値として理解され得る)及び再構成済み画像データを受信又は取得し、再構成済み画像データ内の関連データに基づいて現在の画像ブロックを予測して、現在の画像ブロックの予測ブロックを取得するために用いられる。オプションとして、予測処理部201は、インター予測部、イントラ予測部、及びモード選択部を含んでもよい。モード選択部は、イントラ予測モード又はインター予測モードを選択するために用いられる。イントラ予測モードが選択される場合、イントラ予測部により予測処理を行う。インター予測モードが選択される場合、インター予測部により予測処理を行う。
【0060】
残差演算部202は、画像ブロックの真値と当該画像ブロックの予測ブロックとの間の残差値を計算して、残差ブロックを得るために用いられる。例えば、画素毎に画像ブロックの画素値から予測ブロックの画素値を減算する。
【0061】
変換処理部203は、残差ブロックに対して離散コサイン変換(discrete cosine transform、DCT)又は離散サイン変換(discrete sine transform、DST)などの変換を行って、変換領域において変換係数を得るために用いられる。変換係数は、変換残差係数とも呼ばれ得る。当該変換残差係数は、変換領域において残差ブロックを表すことができる。
【0062】
量子化部204は、スカラ量子化又はベクトル量子化を適用することによって変換係数を量子化して、量子化された変換係数を得るために用いられる。量子化された変換係数は、量子化された残差係数と呼ばれてもよい。量子化処理により、変換係数の一部又は全部に関連するビット深度が低減される。例えば、nビットの変換係数は、量子化時にmビットの変換係数に切り捨てられてもよく、nはmより大きい。量子化の程度は、量子化パラメータ(quantization parameter、QP)を調整することによって変更され得る。例えば、スカラ量子化に対して、異なるスケールを適用して、より細かい量子化又はより粗い量子化を実現することができる。より小さい量子化ステップはより細かい量子化に対応し、より大きい量子化ステップはより粗い量子化に対応する。適切な量子化ステップは、量子化パラメータによって示されてもよい。
【0063】
エントロピー符号化部205は、上記の量子化された残差係数に対してエントロピー符号化を行い、符号化ビットストリームの形で符号化画像データ(すなわち、現在の符号化対象画像ブロックの符号化結果)を出力し、次いで、符号化ビットストリームを、デコーダに伝送するか、又は後続のデコーダへの送信又は検索のために記憶するために用いられる。エントロピー符号化部205は、現在の画像ブロックの他のシンタックス要素をエントロピー符号化するようにさらに用いられてよく、例えば、予測モードをビットストリームにエントロピー符号化する。エントロピー符号化アルゴリズムは、可変長符号化(Variable Length Coding、VLC)アルゴリズム、コンテキスト適応VLC(Context Adaptive VLC、CAVLC)アルゴリズム、算術符号化アルゴリズム、コンテキスト適応型2値算術符号化(Context-based Adaptive Binary Arithmetic Coding、CABAC)アルゴリズム、シンタクスベースコンテキスト適応型2値算術符号化(Syntax-based Context-adaptive Binary Arithmetic Coding、SBAC)アルゴリズム、及び確率区間分割エントロピー(Probability Interval Partitioning Entropy、PIPE)アルゴリズムを含むが、これに限定されない。
【0064】
逆量子化部206は、上記の量子化係数を逆量子化して、逆量子化係数を得るために用いられる。当該逆量子化は、上記の量子化部204の逆適用であり、例えば、量子化部204と同じ量子化ステップに基づいて、又は、量子化部204と同じ量子化ステップを使用して、量子化部204によって適用される量子化方式の逆量子化方式を適用する。逆量子化係数は、逆量子化された残差係数と呼ばれてもよい。
【0065】
逆変換処理部207は、上記の逆量子化係数に対して逆変換を行うために用いられる。理解すべきものとして、当該逆変換は、上記の変換処理部203の逆適用であり、例えば、逆変換は、逆離散コサイン変換(discrete cosine transform、DCT)又は逆離散サイン変換(discrete sine transform、DST)を含み、画素領域(又はサンプル領域と呼ばれる)において逆変換ブロックを取得する。逆変換ブロックは、逆変換逆量子化されたブロック又は逆変換残差ブロックと呼ばれてもよい。
【0066】
再構成部208は、逆変換ブロック(すなわち、逆変換残差ブロック)を予測ブロックに追加して、サンプル領域において再構成ブロックを取得するために用いられる。再構成部208は、加算器であってもよい。例えば、残差ブロックのサンプル値(すなわち、画素値)と予測ブロックのサンプル値とを加算する。当該再構成部208によって出力された再構成ブロックは、その後、イントラ予測モードで使用されるなど、他の画像ブロックを予測するために用いられてもよい。
【0067】
フィルタ部209(又は「フィルタ」と略称する)は、画素変換を円滑に行い、又は画質を向上させるために、再構成ブロックをフィルタリングして、フィルタリングされたブロックを取得するために用いられる。フィルタ部は、1つ以上のループフィルタ、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、又は、バイラテラルフィルタ、適応ループフィルタ(adaptive loop filter、ALF)、鮮鋭化フィルタ又は平滑化フィルタ、又は協調フィルタなどの他のフィルタを表すことを意図しているループフィルタ部であってもよい。任意選択で、当該フィルタ部209によって出力されたフィルタリングされたブロックは、その後、インター予測モードで使用されるなど、他の画像ブロックを予測するために用いられてもよい。
【0068】
具体的に、本発明の実施例では、エンコーダ20は、以下の実施例で説明されるビデオ符号化方法を実行するために用いられる。
【0069】
図3を参照すると、
図3は、本発明の一実施例を実施するためのデコーダ30の一例の概略ブロック図である。デコーダ30は、例えば、エンコーダ20によって符号化された符号化画像データ(すなわち、符号化ビットストリーム、例えば、画像ブロックを含む符号化ビットストリーム及び関連するシンタックス要素)を受信して、復号画像を取得するために用いられる。デコーダ30は、エントロピー復号部301、逆量子化部302、逆変換処理部303、予測処理部304、再構成部305、及びフィルタ部306を含む。いくつかの例では、デコーダ30は、
図2のエンコーダ20について説明された符号化パスと実質的に逆の復号パスを実行し得る。任意選択で、デコーダ30は、バッファと、復号画像バッファとをさらに含み得る。バッファは、再構成部305によって出力された再構成画像ブロックをバッファリングするために用いられ、復号画像バッファは、フィルタ部306によって出力されたフィルタリング画像ブロックをバッファリングするために用いられる。
【0070】
エントロピー復号部301は、符号化画像データに対してエントロピー復号を行い、量子化係数及び/又は復号された符号化パラメータ(例えば、符号化パラメータは、インター予測パラメータ、イントラ予測パラメータ、フィルタパラメータ、及び/又は他のシンタックス要素のうちの任意の1つ又はすべてを含み得る)を得るために用いられる。エントロピー復号部301は、予測処理部が符号化パラメータに基づいて予測処理を行うように、上記の復号された符号化パラメータを予測処理部304に転送するためにさらに用いられる。
【0071】
逆量子化部302の機能は、エンコーダ20の逆量子化部206の機能と同じであってもよい。逆量子化部302は、エントロピー復号部301によって復号された量子化係数を逆量子化するために用いられる。
【0072】
逆変換処理部303の機能は、エンコーダ20の逆変換処理部207の機能と同じであってもよい。再構成部305(例えば、加算器)の機能は、エンコーダ20の再構成部208の機能と同じであってもよい。逆変換処理部303は、上記の量子化係数に対して逆変換(例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換処理)を行い、逆変換ブロック(逆変換残差ブロックと呼ばれてもよい)を取得するために用いられる。当該逆変換ブロックは、画素領域における現在の画像ブロックの残差ブロックである。
【0073】
予測処理部304は、符号化画像データ(例えば、現在の画像ブロックの符号化ビットストリーム)及び再構成済み画像データを受信又は取得するために用いられる。予測処理部301は、例えば、エントロピー復号部301から予測関連パラメータ及び/又は選択された予測モードに関する情報(すなわち、復号された符号化パラメータ)を受信又は取得し、再構成済み画像データにおける関連データ及び復号された符号化パラメータに基づいて現在の画像ブロックを予測して、現在の画像ブロックの予測ブロックを取得してもよい。任意選択で、予測処理部304は、インター予測部、イントラ予測部、及びモード選択部を含んでもよい。モード選択部は、イントラ予測モード又はインター予測モードを選択するために用いられる。イントラ予測モードが選択される場合、イントラ予測部により予測処理行う。インター予測モードが選択される場合、インター予測部により予測処理を行う。
【0074】
再構成部305は、逆変換ブロック(すなわち、逆変換残差ブロック)を予測ブロックに追加して、サンプル領域において再構成ブロックを取得するために用いられる。例えば、逆変換残差ブロックのサンプル値と予測ブロックのサンプル値とを加算する。
【0075】
フィルタ部306は、再構成ブロックをフィルタリングして、フィルタリングされたブロックを取得するために用いられる。当該フィルタリングされたブロックは、復号された画像ブロックである。
【0076】
具体的に、本発明の実施例では、デコーダ30は、以下の実施例で説明される復号方法を実行するために用いられる。
【0077】
なお、本発明の実施例におけるエンコーダ20及びデコーダ30では、ある部分の処理結果は、さらに処理された後に次の部分に出力されてもよい。例えば、補間フィルタリング、動きベクトル導出、又はフィルタリングなどの部分の後に、対応する部分の処理結果に対して、Clip又はシフトshiftなどの動作をさらに実行する。
【0078】
以下、本発明の実施例に関わる技術用語について説明する。
【0079】
分割モード:本発明の実施例では、分割モードは、現在の画像ブロック(例えば、符号化対象ユニット/復号対象ユニット)を予測グループ(すなわち、予測ブロック)に分割するための分割モードである。
【0080】
予測モード:現在の画像ブロック(例えば、符号化対象ユニット/復号対象ユニット)を予測するために用いられる予測モードの組み合わせは、予測モードと呼ばれる。現在の画像ブロック内の異なる画素を予測するために、異なる予測方式が使用されてもよく、又は同じ予測方式が使用されてもよい。現在の画像ブロック内のすべての画素を予測するために用いられる予測方式は、当該現在の画像ブロックの(又は対応する)予測モードと総称されてもよい。
【0081】
例えば、予測モードは、イントラ予測モード及びインター予測モードを含む。イントラ予測モードは、垂直予測、水平予測、垂直平均予測及び水平平均予測などの予測方式のうちの1つ又は複数の組み合わせを含む。インター予測モードは、動き推定などを含む。
【0082】
例えば、垂直予測は、現在の画素の上側(すなわち、隣接する上側であってもよいし、隣接しないが距離が近い上側であってもよい)の画素値を用いて、現在の画素値の予測値を得ることである。一例として、上側に隣接する再構成画素値を現在画素の予測値とする。
【0083】
例えば、水平予測は、現在の画素の左側(すなわち、隣接する左側であってもよいし、隣接しないが距離が近い左側であってもよい)の画素値を用いて、現在の画素値の予測値を得ることである。一例として、左側に隣接する再構成画素値を現在画素の予測値とする。
【0084】
例えば、垂直平均予測は、現在の画素の上下の画素値を用いて、現在の画素値の予測値を得ることである。一例として、垂直上方の隣接画素値と垂直下方の隣接画素値との平均値を現在画素値の予測値とする。
【0085】
例えば、水平平均予測は、現在の画素の左右両側の画素値を用いて、現在の画素値の予測値を得ることである。一例として、水平方向左側の隣接画素値と水平方向右側の隣接画素値との平均値を現在画素値の予測値とする。
【0086】
図4は、本発明の一実施形態に係る複数の予測方式の概略図である。
図4における1つの小格子は1つの画素を表す。異なるマークを有する画素は、異なる予測方式を表すために用いられる。具体的には、垂直予測、水平予測、垂直平均予測及び水平平均予測を示す。
図4に示す様々な予測方式の概略図は、
図8などの本発明に関わる任意の関連する添付図面を説明するために用いられ得る。
【0087】
以下、図面を参照しながら、本発明の実施形例で提供される画像符号化及び復号方法を説明する。
【0088】
図5は、本発明の一実施形態に係る画像符号化方法のフローチャートである。当該方法は、符号化側によって実行され得る。例えば、当該符号化側は、
図1又は
図2のエンコーダであってもよく、
図1のソース機器であってもよい。
図5に示す方法は、以下のステップS101~S104を含む。
【0089】
S101において、符号化ユニットを少なくとも1つの予測グループ(Prediction Group、Group又はPGと略称される)に分割し、1つの予測グループは、少なくとも1つの画素を含む。
【0090】
一例では、符号化ユニットの幅のサイズは、符号化ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である。
【0091】
一例では、予め設定された閾値は4又は8などである。
【0092】
S101において、符号化ユニットを、1つの予測グループ又は互いに重ならない複数の予測グループに分割してもよい。ここで、符号化ユニットを1つの予測グループに分割すること、すなわち、符号化ユニットを予測グループとすることは、当該符号化ユニットを分割しないと理解されてもよく、特殊な分割方式と理解されてもよい。符号化ユニットを1つの予測グループに分割する場合、一例では、符号化側はS101を実行しなくてもよい。
【0093】
一実施形態では、少なくとも1つの予測グループにおける1つの予測グループは、符号化ユニットにおける1行の画素、又は、符号化ユニットにおける1列の画素、連続する複数列の画素、連続する複数の奇数列の画素、又は、連続する複数の偶数列の画素を含む。具体的な例は、
図8~
図15又は
図20~
図23を参照することができる。
【0094】
別の実施形態では、少なくとも1つの予測グループは、垂直均等分割方式で符号化ユニットを複数の予測グループ分割すること、又は、水平均等分割方式で符号化ユニットを複数の予測グループ分割すること、又は、所定の比率で垂直方向に符号化ユニットを複数の予測グループに分割すること、又は、所定の比率で水平方向に符号化ユニットを複数の予測グループに分割すること、によって得られる。具体的な例は、
図26~
図28を参照することができる。
【0095】
なお、符号化ユニットを少なくとも1つの予測グループに分割する際に、様々な分割モードを採用することができ、具体的にどの分割モードを採用するかは、符号化側が、予め定義された規則(例えば、規格に従って予め定義された規則)に基づいて決定するか、符号化ユニットのコンテンツ(例えば、テクスチャなどの情報)と組み合わせて決定するか、レート歪みコストなどの方式に基づいて決定することができ、本発明の実施例はこれを限定しない。復号側の場合、符号化側で実際にどの分割モードが使用されるかは、同じ方法に基づいて決定してもよい。符号化側が、上述した後者の2つの方式(もちろん、予め定義された方式以外の他の方式でもよい)を用いて、どの分割モードを採用するかどうかを決定する場合、符号化側は、符号化ユニットの分割モード(すなわち、実際に使用される分割モード)の識別情報をシンタックス要素の一部として復号側に送信してもよく、復号によって得られるシンタックス要素内の分割モードの識別子によって、符号化ユニットに対応する復号対象ユニットの分割モードを決定してもよい。
【0096】
S102において、当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、対応する予測モードに従って当該予測グループ(すなわち、予測グループの画素値の元の値)を予測して、各予測グループの予測値(すなわち、予測グループの画素値の予測値)を得る。
【0097】
1つの予測グループは、1つの予測モードに対応する。ある予測モードを使用してある予測グループの画素値の元の値を予測する場合、当該予測モードと当該予測グループとの間に対応関係がある。
【0098】
一例では、1つの予測グループに対応する予測モードは、垂直予測、水平予測、垂直平均予測及び水平平均予測などのうちの1つ又は複数の組み合わせを含んでもよい。
【0099】
一例では、1つの予測グループに対応する予測モードは、当該符号化ユニットに隣接する符号化ユニットの画素値を用いて実行される参照予測、又は当該符号化ユニットが位置する独立符号化ユニットに隣接する独立符号化ユニットの画素値を用いて実行される参照予測をさらに含んでもよい。
【0100】
一例では、当該少なくとも1つの予測グループは、複数の予測グループを含む。当該複数の予測グループのうちの少なくとも2つの予測グループの予測モードは異なる。例えば、ある予測グループの予測モードは垂直予測モードであり、別の予測グループの予測モードは水平平均予測モードである。
【0101】
一例では、分割モードと予測モードとの間に関連関係がある。つまり、1つの符号化ユニットの分割モードは、当該符号化ユニットが分割された各予測グループの予測モードに関連する。具体的には、1つの符号化ユニットの分割モードが決定された後、当該関連関係に基づいて、当該符号化ユニットが分割された各予測グループの予測モードが決定されてもよい。
【0102】
ここで、1つの分割モードと1つ以上の予測モードとの間に対応関係がある。
【0103】
1つの分割モードが1つの予測モードに対応する場合、符号化側にとって、符号化ユニットが当該分割モードを採用すると決定された場合、当該分割モードで分割された予測グループが現在(すなわち、S102のステップを実行するとき)採用している予測モードの識別子をビットストリームに付加されなくてもよい。
【0104】
例えば、予め定義された予測モード1は分割モード1に対応し、分割モード1は、符号化ユニットを予測グループ1~4に分割し、且つ当該符号化ユニットにおける各予測ブロックの位置を定義する。予測モード1は、具体的には、予測グループ1~4の予測方式が順に垂直予測、水平予測、水平予測及び水平予測であると定義される。この場合、符号化側/復号側は、符号化ユニット/復号対象ユニットの分割モードが分割モード1であると決定すれば、分割モード1で分割された予測グループ1~4の予測方式が順に垂直予測、水平予測、水平予測及び水平予測であると決定することができる。従って、符号化側にとって、当該分割モードでの予測グループが現在採用している予測モードの識別子をビットストリームに付加されなくてもよい。
【0105】
1つの分割モードが複数の予測モードに対応する場合、符号化側は、レート歪みコストなどの方式を採用して、現在どの予測モードを採用するかを決定してもよい。一実施形態では、復号側は、同じ方法に基づいて現在採用されている予測モードを決定してもよい。別の実施形態では、符号化側は、当該分割モードでの予測グループが現在採用している予測モードの識別子をビットストリームに付加されてもよく、復号側は、当該ビットストリームを復号することによって、現在採用されている予測モードを取得してよい。
【0106】
一例では、予測グループと予測モードとの間に関連関係がある。つまり、1つの予測グループと当該予測グループの予測モードとの間に対応関係がある。具体的には、1つの予測グループが決定された後、当該予測グループに対応する予測モードは直接決定されてもよい。
【0107】
ここで、1つの予測グループと1つ以上の予測モードとの間に対応関係がある。
【0108】
1つの予測グループが1つの予測モードに対応する場合、符号化側にとって、当該予測グループが現在採用している予測モードの識別子をビットストリームに付加されなくてもよい。
【0109】
1つの予測グループが複数の候補予測モードに対応する場合、符号化側は、レート歪みコストなどの方式を採用して、現在どの予測モードを採用するかを決定してもよい。一実施形態では、復号側は、同じ方法に基づいて、当該予測グループが現在採用している予測モードを決定してもよい。別の実施形態では、符号化側は、当該予測グループが現在採用している予測モードの識別子をビットストリームに付加されてもよい。
【0110】
S103において、符号化ユニットの予測値と、当該符号化ユニット自体(すなわち、当該符号化ユニットの画素値の元の値)とに基づいて、当該符号化ユニットの残差ブロックを得る。
【0111】
1つの符号化ユニットの予測値は、当該符号化ユニットが分割された各予測グループの予測値から得られる。当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、当該予測グループの予測値と、当該予測グループ自体(すなわち、当該予測グループの画素値の元の値)に基づいて、当該予測グループの残差ブロックを得てもよい。
【0112】
S104において、符号化ユニットの残差ブロックを符号化する。
【0113】
具体的には、符号化ユニットの残差ブロックに対して変換、量子化及び係数符号化などの操作を行う。
【0114】
一例では、当該符号化ユニットの残差ブロックを少なくとも1つのサブ残差ブロック(residual block、RB)に分割してもよい。すなわち、各サブ残差ブロックに対して変換、量子化及び係数符号化などの操作をそれぞれ行う。当該少なくとも1つのサブ残差ブロックは、1つのサブ残差ブロック又は互いに重ならない複数のサブ残差ブロックを含む。
【0115】
いくつかの実施形態では、当該残差ブロックは、当該符号化ユニット粒度の残差ブロックである。つまり、S104を実行する時、符号化ユニット全体の残差ブロック(すなわち、符号化ユニットのサイズに等しい残差ブロック)を少なくとも1つのサブ残差ブロックに分割する。当該符号化ユニットの残差ブロックのサイズは、当該符号化ユニットのサイズと同じである。
【0116】
いくつかの他の実施形態では、当該残差ブロックは、予測グループ粒度の残差ブロックである。つまり、S104を実行する時、符号化ユニットが分割された任意の1つ又は複数(例えば、各)の予測グループをそれぞれ少なくとも1つのサブ残差ブロックに分割する。1つの予測ブロックの残差ブロックのサイズは、当該予測ブロックのサイズと同じである。
【0117】
一例では、符号化側は、第1の指標をシンタックス要素に付加される。当該第1の指標は、残差ブロックに対してグループ化を実行するか否かを示すために用いられる。復号側は、当該第1の指標に基づいて、残差ブロックのグループ化(又は残差ブロックの分割)を実行する必要があるかどうかを知ることができる。
【0118】
具体的には、エンコーダは、選択されたモードに従って、当該少なくとも1つのサブ残差ブロック(すなわち、RB)内の各RBの残差係数を符号化して、残差係数ストリームを得る。具体的には、残差係数を変換する場合と変換しない場合の2種類に分けられる。
【0119】
RB変換、RB分割、残差係数符号化方法などの説明については、以下を参照されたい。
【0120】
本発明の実施例で提供される画像符号化方法によれば、符号化ユニットは少なくとも1つの予測グループに分割され、予測グループは、予測グループに対応する予測モードに従って予測される。このように、符号化ユニット自体に対して直接に予測を実行する技術案に比べて、符号化ユニットに対する柔軟な予測の実現に寄与し、例えば、分割モードを合理的に設定することにより、複数の予測グループに対して並列に予測を実行すること、及び異なる予測グループに対して異なる予測モードを設定することなどの実現に寄与し、予測効率を向上させ、さらに符号化効率を向上させる。
【0121】
以下、本発明の実施例で提供される符号化方法を具体例によって説明する。
【0122】
ステップ1において、1フレームの画像を互いに重ならない1つ以上の並列符号化ユニットに分割する。各並列符号化ユニットは、依存関係を持たず、並列/独立に符号化及び復号することができる。
【0123】
ステップ2において、各並列符号化ユニットについて、符号化側は、それを互いに重ならない1つ以上の独立符号化ユニットに分割してもよい。各独立符号化ユニットは、互いに依存しなくてもよいが、当該並列符号化ユニットのいくつかのヘッダ情報を共有してもよい。
【0124】
並列符号化ユニットが1つの独立符号化ユニットに分割される場合、独立符号化ユニットのサイズは並列符号化ユニットのサイズと同じである。そうでない場合、独立符号化ユニットの幅のサイズは、一般的に、独立符号化ユニットの高さのサイズより大きい。なお、1つの独立符号化ユニットが並列符号化ユニットのエッジ領域に位置する場合、当該独立符号化ユニットの幅のサイズが高さのサイズ以下である場合がある。
【0125】
独立符号化ユニットの幅をw_lcu、高さをh_lcuとする。w_lcuとh_lcuはいずれも2のN乗であり、Nは0以上の整数である。通常、独立符号化ユニットのサイズは、固定のw_lcu×h_lcuである。例えば、独立符号化ユニットのサイズは、128×4、64×4、32×4、16×4、8×4、32×2、16×2又は8×2などであってもよい。
【0126】
一例として、独立符号化ユニットのサイズは、128×4であってもよい。並列符号化ユニットのサイズが256×8である場合、並列符号化ユニットは4つの独立符号化ユニットに均等に分割されてもよい。並列符号化ユニットのサイズが288×10である場合、並列符号化ユニットは、2つの128×4の独立符号化ユニットと1つの32×4の独立符号化ユニットの第1/第2行、2つの128×2の符号化ユニットと1つの32×2の符号化ユニットの第3行に分割される。
【0127】
独立符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分(又は赤R、緑G、青Bの3つの成分)を含んでもよいし、これらの成分のうちの1つのみを含んでもよい。独立符号化ユニットが3つの成分を含む場合、これら3つの成分のサイズは同じであっても異なってもよく、具体的には画像入力フォーマットに関連する。
【0128】
ステップ3において、各独立符号化ユニットについて、符号化側は、それを互いに重ならない1つ以上の符号化ユニットに分割してもよい。独立符号化ユニット内の各符号化ユニットは、互いに依存してもよく、すなわち、予測ステップを実行する過程において互いに参照してもよい。
【0129】
独立符号化ユニットが1つの符号化ユニットに分割される場合、符号化ユニットのサイズは、独立符号化ユニットのサイズと同じである。
【0130】
独立符号化ユニットが互いに重ならない複数の符号化ユニットに分割される場合、符号化ユニットの幅のサイズは一般的に高さのサイズより大きい。なお、1つの符号化ユニットが独立符号化ユニットのエッジ領域に位置する場合、当該符号化ユニットの幅のサイズが高さのサイズ以下である場合がある。
【0131】
独立符号化ユニットが互いに重ならない複数の符号化ユニットに分割される場合、分割方式は、水平均等分割法、垂直均等分割法又は水平垂直均等分割法であってもよい。具体的な実施方法はこれに限らない。
【0132】
水平均等分割法、すなわち、符号化ユニットの高さのサイズは、独立符号化ユニットの高さのサイズと同じであるが、両者の幅のサイズは異なる。例えば、符号化ユニットの幅のサイズは、独立符号化ユニットの幅のサイズの1/2、1/4、1/8、又は1/16などであってもよい。
【0133】
垂直均等分割法、すなわち、符号化ユニットの幅のサイズは、独立符号化ユニットの幅のサイズと同じであるが、両者の高さのサイズは異なる。例えば、符号化ユニットの高さのサイズは、独立符号化ユニットの高さのサイズの1/2、1/4、1/8又は1/16などであってもよい。
【0134】
水平垂直均等分割法、すなわち四分木分割法である。
【0135】
好ましくは、符号化側は、水平均等分割方式で独立符号化ユニットを互いに重ならない複数の符号化ユニットに分割する。
【0136】
符号化ユニットの幅をw_cu、高さをh_cuとする。w_cuとh_cuはいずれも2のN乗であり、Nは0以上の整数である。通常、符号化ユニットのサイズは、固定のw_cu×h_cuである。例えば、符号化ユニットのサイズは、16×4、8×4、16×2、8×2、8×1、4×1などであってもよい。
【0137】
符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分(又は赤R、緑G、青Bの3つの成分)を含んでもよいし、これらの成分のうちの1つのみを含んでもよい。符号化ユニットが3つの成分を含む場合、これら3つの成分のサイズは完全に同じであっても異なってもよく、具体的には画像入力フォーマットに関連する。符号化ユニットが輝度を含む場合、上記の少なくとも1つの予測グループは、具体的には、少なくとも1つの輝度予測グループであってもよい。符号化ユニットが色度を含む場、上記の少なくとも1つの予測グループは、具体的には、少なくとも1つの色度予測グループであってもよい。
【0138】
図6は、画像、並列符号化ユニット、独立符号化ユニット、符号化ユニット、予測グループ(PG)、及びサブ残差ブロック(RB)の間の対応関係の概略図である。
図6では、1つの画像が3:1に従って並列符号化ユニット1と並列符号化ユニット2とに分割され、1つの独立符号化ユニットが4つの符号化ユニットを含むことを例として説明する。
【0139】
なお、並列符号化ユニット、独立符号化ユニット及び符号化ユニットは、他の名称に置き換えられてもよく、本発明の実施例はこれを限定しない。
【0140】
なお、いくつかの選択可能な実施例では、並列符号化ユニットは、1つ又は複数の符号化ユニットに直接分割されてもよい。
【0141】
ステップ4において、符号化ユニットについて、それをさらに互いに重ならない1つ以上の予測グループに分割してもよい。各PGは、選択された予測モードに従って符号化及び復号を行い、PGの予測値を取得し、符号化ユニット全体の予測値を構成する。予測値と、符号化ユニットの元の値とに基づいて、符号化ユニットの残差値を取得する。
【0142】
予測グループの分割モード及び予測モードの説明については、本明細書の他の箇所の説明を参照されたい。
【0143】
ステップ5において、符号化ユニットの残差値に基づいて、符号化ユニットをグループ化し、互いに重ならない1つ以上のサブ残差ブロック(RB)を取得し、各RBの残差係数を選択されたモードに従って符号化及び復号し、残差係数ストリームを形成する。具体的に、残差係数を変換する場合と変換しない場合の2種類に分けられる。
【0144】
RB変換:RB内の係数を直接符号化してもよいし、残差ブロックに対して離散コサイン変換(Discrete Cosine Transform、DCT)、離散サイン変換(Discrete Sine Transform、DST)、Hadamard変換などの変換を行い、変換後の係数対して符号化を行ってもよい。
【0145】
RB分割:RBが小さい場合、RB内の各係数に対して統括的に量子化を直接行ってから、2値化符号化を行ってもよい。RBが大きい場合、RBはさらに複数のCG(coefficient Group)に分割され、各CGを統括的に量子化し、その後、2値化符号化を行ってもよい。
【0146】
残差係数符号化の部分について、実現可能な方法は、半固定長符号化方式である。まず、1つのRBブロック内の残差絶対値の最大値をmodified maximum(mm)と定義する。次に、当該RBブロック内の残差係数の符号化ビット数を決定する(同じRBブロック内の残差係数の符号化ビット数は一致する)。例えば、現在のRBブロックのCL(critical limit)が2であり、現在の残差係数が1である場合、残差係数1を符号化するには2ビットが必要であり、これを01と表される。現在のRBブロックのCLが7である場合、8ビットの残差係数及び1ビットの符号ビットを符号化することを示す。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ビットを符号化する必要がない。
【0147】
もちろん、他の残差係数符号化方法、例えば、指数Golomb符号化方法、Golomb-Rice符号化方法、トランケーテッド・ユーナリコード符号化方法、ランレングス符号化方法、元の残差値を直接符号化する方法などを採用してもよい。
【0148】
また、いくつかの特殊な場合には、残差値ではなく、元の値を直接符号化してもよい。
【0149】
図7は、本発明の一実施形態に係る画像復号方法のフローチャートである。当該方法は、復号側によって実行され得る。例えば、当該復号側は、
図1又は
図3のデコーダであってもよく、
図1の宛先機器であってもよい。
図7に示す方法は、以下のステップを含む。
【0150】
S201において、ビットストリームを解析して、シンタックス要素を取得する。当該シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられる。当該復号対象ユニットは、少なくとも1つの予測グループを含む。
【0151】
本実施例における復号対象ユニットは、
図5に示す符号化ユニットを符号化して得られたものであってもよい。復号対象ユニットのサイズに関する説明については、上記の符号化対象ユニットのサイズに関する説明を参照されたい。
【0152】
一例では、復号対象ユニットの幅のサイズは、復号対象ユニットの高さのサイズより大きく、高さのサイズは、予め設定された閾値以下である。
【0153】
シンタックス要素には、復号対象ユニットの残差ブロックを得るための情報が含まれ、シンタックス要素に含まれる具体的な情報は、本発明では限定されない。例えば、シンタックス要素は、当該残差ブロックを変換、量子化及び係数符号化した後に得られる第1の情報を含む。
【0154】
符号化側は、シンタックス要素を取得した後、当該シンタックス要素を符号化してビットストリームを得てもよい。復号側は、受信したビットストリームに対してエントロピー復号を行い、シンタックス要素を得る。その後、シンタックス要素に付加される第1の情報に対して係数復号、逆変換及び逆量子化を行って、復号対象ユニットの残差ブロックを得てもよい。
【0155】
一例では、シンタックス要素は、具体的に、復号対象ユニットの残差ブロックから分割された少なくとも1つのサブ残差ブロックを得て、当該残差ブロックを取得するために用いられる。この場合、シンタックス要素は、具体的に、当該残差ブロックのいずれか1つのサブ残差ブロックを変換、量子化及び係数符号化した後に得られる第2の情報を含み得る。
【0156】
符号化側は、シンタックス要素を取得した後、当該シンタックス要素を符号化してビットストリームを得てもよい。復号側は、受信したビットストリームに対してエントロピー復号を行い、シンタックス要素を得る。その後、シンタックス要素に付加される第2の情報に対して係数復号、逆変換及び逆量子化を行って、当該いずれか1つのサブ残差ブロックを得てもよい。
【0157】
一例では、シンタックス要素は、復号対象ユニットの残差ブロックのグループ化方式のインデックス情報をさらに含み、異なるインデックス情報は、異なるグループ化方式を示すために用いられる。
【0158】
一例では、シンタックス要素は、第1の指標をさらに含み、第1の指標は、復号対象ユニットの残差ブロックに対してグループ化を実行するか否かを示すために用いられる。
【0159】
一例では、残差ブロックは、輝度残差ブロック又は色差残差ブロックを含む。
【0160】
一実施形態では、符号化ユニットを予測グループに分割するために使用される分割モードは、符号化側と復号側によって予め定義され、例えば、プロトコルに基づいて予め定義される。
【0161】
別の実施形態では、符号化ユニットを予測グループに分割するために使用される分割モードは、符号化側によって復号側に示される。例えば、符号化側は、第1の情報をビットストリームに付加されて復号側に送信し、第1の情報は、当該符号化ユニットの分割モードを表すために使用される。本発明の実施例では、第1の情報の具体的な内容は限定されない。
【0162】
なお、以下では、分割モードに対応する予測モード(すなわち、分割モードが予測モードに関連する)と、符号化ユニットにおける各予測グループに対応する予測モード(すなわち、符号化ユニット、分割モードが予測モードに関連する)とについても説明する。
【0163】
S202において、当該少なくとも1つの予測グループのうちのいずれか1つの予測グループについて、当該予測グループの予測モードを決定する。
【0164】
一実施形態では、分割モードに対応する予測モード(すなわち、分割モードの粒度で予測モードを決定する)、又は符号化ユニット内の各予測グループに対応する予測モード(すなわち、符号化ユニット内の予測グループの粒度で予測モードを決定する)は、符号化側と復号側によって予め定義され、例えば、プロトコルに基づいて予め定義される。
【0165】
別の実施形態では、分割モードに対応する予測モード、又は符号化ユニット内の各予測グループに対応する予測モードは、符号化側によって復号側に示される。例えば、符号化側は、第2の情報をビットストリームに付加されて復号側に送信し、第2の情報は、当該符号化ユニット内の各予測グループに対応する予測モードを表すために使用される。本発明の実施例では、第2の情報の具体的な内容は限定されない。
【0166】
一例では、予測グループの分割モードと、予測グループの予測モードとについては、本明細書における符号化側に関する実施形態の関連する説明を参照されたい。
【0167】
S203において、当該予測モードに基づいて当該いずれか1つの予測グループを予測して、当該いずれか1つの予測グループの予測値を得る。
【0168】
例えば、各予測グループについて、当該予測グループの残差値と、当該予測グループの予測値とに基づいて、当該予測グループの元の値(すなわち、復号側によって得られる予測グループの元の値)を得る。なお、符号化側によって得られる予測グループの元の値と、復号側によって得られる予測グループの元の値とは、異なる可能性があることが理解され得る。
【0169】
S204において、復号対象ユニットの残差ブロックと、当該少なくとも1つの予測グループの予測値とに基づいて、復号対象ユニットを復号する。
【0170】
例えば、復号対象ユニットの残差ブロックと、当該いずれか1つの予測グループの予測値とに基づいて、再構成を行う。その後、再構成されたブロックに対してフィルタリングなどの操作を行って、復号された画像ブロックを得ることをさらに含んでもよい。
【0171】
本発明の実施例で提供される画像復号方法によれば、復号対象ユニットは少なくとも1つの予測グループに分割され、予測グループは、予測グループに対応する予測モードに従って予測される。このように、復号対象ユニット自体に対して直接に予測を実行する技術案に比べて、復号対象ユニットに対する柔軟な予測の実現に寄与し、例えば、分割モードを合理的に設定することにより、複数の予測グループに対して並列に予測を実行すること、及び異なる予測グループに対して異なる予測モードを設定することなどの実現に寄与し、予測効率を向上させ、さらに復号効率を向上させることができる。
【0172】
以下、本発明の実施例に係る分割モードについて説明する。
【0173】
上記の復号対象ユニットは、符号化ユニットを符号化した後に得られるので、符号化ユニットと予測グループとの間の対応関係は、復号対象ユニットと予測グループとの間の対応関係と同じであることが理解され得る。以下では、説明を簡単にするために、符号化ユニットと予測グループとの間の対応関係のみが説明され、すなわち、符号化ユニット又は符号化側から見た分割モードについて説明する。復号対象ユニットと予測グループとの間の対応関係は、以下に説明される内容に基づいて推測して取得されてもよく、本発明では繰り返さない。
【0174】
第1のタイプの分割方式
【0175】
第1部分において、独立符号化ユニットにおける1番目の符号化ユニットについて、本発明は、以下の分割モードを提供する。
【0176】
1つの独立符号化ユニットが1つの符号化ユニットに分割される場合、独立符号化ユニットにおける1番目の符号化ユニットは、独立符号化ユニット自体であることに留意されたい。1つの独立符号化ユニットが互いに重ならない複数の符号化ユニットに分割される場合、1番目の符号化ユニットは、独立符号化ユニットにおける「当該独立符号化ユニットにおける第1行第1列の画素」を含む符号化ユニットである。
【0177】
理解できるように、第1部分によって対象とされる符号化ユニットにおける1番目の画素(すなわち、第1行第1列の画素)の画素値を予測する場合、通常、他の画素を参照することができない。一例では、1番目の画素の画素値は、元の値又は他の値(例えば、元の値と1つの所定値との差など)に符号化されてもよく、本発明の実施例はこれを限定しない。1番目の画素以外の画素の予測値は、本発明の実施例で提供される方式で予測されてよい。従って、第1部分の分割モードは、当該画素をいずれの予測グループにも分割しない。
【0178】
分割モードA:符号化ユニットは、第1の予測グループ、第2の予測グループ、及び第3の予測グループを含む。
【0179】
第1の予測グループは、符号化ユニットの第1行の1番目の画素以外の画素を含む。第2の予測グループは、符号化ユニットの非第1行の画素における連続する複数の奇数列の画素を含む。第3の予測グループは、符号化ユニットの非第1行の画素における連続する偶数列の画素を含む。
【0180】
一例では、1つの第2の予測グループに含まれる画素数はある閾値以下であり、又は1つの第2の予測グループに含まれる画素の列数はある閾値以下である。一例では、1つの第3の予測グループに含まれる画素数はある閾値以下であり、又は1つの第3の予測グループに含まれる画素の列数はある閾値以下である。
【0181】
一例では、符号化ユニットは、第1の予測グループ、少なくとも1つの第2の予測グループ、及び少なくとも1つの第3の予測グループを含む。
【0182】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは水平予測を含む。例えば、第2の予測グループに対応する予測モードは垂直予測を含む。例えば、第3の予測グループにおける非最終列の画素に対応する予測モードは水平平均予測を含み、第3の予測グループにおける最終列の画素に対応する予測モードは水平予測を含む。
【0183】
一例では、第3の予測グループにおける最終列の画素について、予測操作を実行する際に、当該列の画素の右側の画素の画素値がまだ取得されておらず、水平平均予測は、当該列の画素の左右両側の画素の画素値を参照する必要があるため、当該最終列の画素に対応する予測モードは、通常、水平平均予測を採用せず、一例では、水平予測を採用してもよい。
【0184】
分割モードB:符号化ユニットは、第1の予測グループ、第2の予測グループ、及び第3の予測グループを含む。
【0185】
第1の予測グループは、符号化ユニットの第1列の1番目の画素以外の画素を含む。第2の予測グループは、符号化ユニットの非第1列の画素における奇数行の画素を含む。第3の予測グループは、符号化ユニットの非第1列の画素における偶数行の画素を含む。
【0186】
1つの第2の予測グループは、符号化ユニットの非第1列の画素における1つの奇数行の画素、又は連続する複数の奇数行の画素を含む。1つの第3の予測グループは、符号化ユニットの非第1列の画素における1つの偶数行の画素、又は連続する複数の偶数行の画素を含む。
【0187】
符号化ユニットは、1つの第1の予測グループ、少なくとも1つの第2の予測グループ、及び少なくとも1つの第3の予測グループを含み得る。
【0188】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは垂直予測を含む。例えば、第2の予測グループに対応する予測モードは水平予測を含む。例えば、第3の予測グループにおける最後の偶数行の画素に対応する予測モードは垂直平均予測を含み、第3の予測グループにおける非最後の偶数行の画素に対応する予測モードは垂直予測を含む。
【0189】
分割モードC:符号化ユニットは、第1の予測グループ及び第2の予測グループを含む。第1の予測グループは、符号化ユニットの第1列の1番目の画素以外の画素を含む。第2の予測グループは、符号化ユニットの非第1列の画素のうちの1行の画素である。
【0190】
一例では、符号化ユニットは、第1の予測グループ及び少なくとも1つの第2の予測グループを含む。
【0191】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。一例では、第1の予測グループに対応する予測モードは垂直予測を含む。一例では、第2の予測グループに対応する予測モードは水平予測を含む。
【0192】
分割モードD:符号化ユニットは、第1の予測グループ及び第2の予測グループを含む。
【0193】
第1の予測グループは、符号化ユニットの第1行の1番目の画素以外の画素を含む。第2の予測グループは、符号化ユニットの非第1行の画素における連続する複数列の画素である。
【0194】
一例では、1つの第2の予測グループに含まれる画素数はある閾値以下であり、又は1つの第2の予測グループに含まれる画素の列数はある閾値以下である。
【0195】
一例では、符号化ユニットは、第1の予測グループ及び少なくとも1つの第2の予測グループを含む。
【0196】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。一例では、第1の予測グループに対応する予測モードは水平予測を含む。一例では、第2の予測グループに対応する予測モードは垂直予測を含む。
【0197】
第2部分において、独立符号化ユニットにおける非1番目の符号化ユニットについて、予測を実行するとき、符号化ユニットの1番目の画素は、当該独立符号化ユニット内の他の符号化ユニット内の画素を参照してもよい。これに基づいて、一例では、本発明において提供される分割モードは、上記の分割モードA~Dにおける第1の予測グループが符号化ユニットにおける1番目の画素をさらに含む点で、上記第1部分において説明された分割モードと異なる。
【0198】
一実施形態では、第2部分の任意の分割モードに対応する予測モードについては、第1部分の対応する分割モードを参照されたい。
【0199】
例えば、上記の分割モードAに対応する第2部分の分割モードA’は、符号化ユニットが第1の予測グループ、第2の予測グループ及び第3の予測グループを含むことであってもよい。ここで、第1の予測グループは、符号化ユニットの第1行の画素を含む。第2の予測グループは、符号化ユニットの非第1行の画素における連続する複数の奇数列の画素を含む。第3の予測グループは、符号化ユニットの非第1行の画素における連続する偶数列の画素を含む。
【0200】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは水平予測を含む。例えば、第2の予測グループに対応する予測モードは垂直予測を含む。例えば、第3の予測グループにおける非最終列の画素に対応する予測モードは水平平均予測を含み、第3の予測グループにおける最終列の画素に対応する予測モードは水平予測を含む。
【0201】
別の例では、上記の分割モードDに対応する第2部分の分割モードD’は、符号化ユニットが第1の予測グループ及び第2の予測グループを含むことであってもよい。ここで、第1の予測グループは、符号化ユニットの第1行の画素を含む。第2の予測グループは、符号化ユニットの非第1行の画素における連続する複数列の画素である。
【0202】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。一例では、第1の予測グループに対応する予測モードは水平予測を含む。一例では、第2の予測グループに対応する予測モードは垂直予測を含む。
【0203】
分割モードA’の関連する内容の説明については、上記の分割モードAの関連する説明を参照されたい。分割モードD’の関連する内容の説明については、上記の分割モードDの関連する内容を参照されたい。
【0204】
別の実施形態では、第2部分の任意の分割モードに対応する予測モードは、他の分割モードに対応してもよい。
【0205】
例えば、上記の分割モードBに対応する第2部分の分割モードB’は、符号化ユニットが第1の予測グループ、第2の予測グループ及び第3の予測グループを含むことであってもよい。第1の予測グループは、符号化ユニットの第1列の画素を含む。第2の予測グループは、符号化ユニットの非第1列の画素における奇数行の画素を含む。第3の予測グループは、符号化ユニットの非第1列の画素における偶数行の画素を含む。
【0206】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは水平予測を含む。例えば、第2の予測グループに対応する予測モードは水平予測を含む。例えば、第3の予測グループにおける最後の偶数行の画素に対応する予測モードは垂直平均予測を含み、第3の予測グループにおける非最後の偶数行の画素に対応する予測モードは垂直予測を含む。
【0207】
別の例として、上記の分割モードCに対応する第2部分の分割モードC’は、符号化ユニットが第1の予測グループ及び第2の予測グループを含むことであってもよい。第1の予測グループは、符号化ユニットの第1列の画素を含む。第2の予測グループは、符号化ユニットの非第1列の画素のうちの1行の画素である。
【0208】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。一例では、第1の予測グループに対応する予測モードは水平予測を含む。一例では、第2の予測グループに対応する予測モードは水平予測を含む。
【0209】
一例では、上記の第1のタイプの分割方式は、16*4符号化ユニット、16*2符号化ユニット、及び8*2符号化ユニットのうちのいずれか1つに適用可能である。もちろん、他のサイズの符号化ユニットにも適用できる。
【0210】
第2のタイプの分割方式
【0211】
符号化ユニットを1つの予測グループに分割する。言い換えれば、当該符号化ユニットは分割されない。一例では、符号化ユニットに含まれる画素数は、予め設定された閾値以下である。例えば、符号化ユニットのサイズは8*2である。
【0212】
第1部分において、独立符号化ユニットにおける1番目の符号化ユニットについて説明する。
【0213】
一実施形態では、符号化ユニットの第1行の1番目の画素以外の画素に対応する予測モードは水平予測を含み、非第1行の画素に対応する予測モードは垂直予測を含む。
【0214】
別の実施形態では、符号化ユニットの第1列の1番目の画素以外の画素に対応する予測モードは垂直予測を含み、非第1列の画素に対応する予測モードは水平予測を含む。
【0215】
第2部分において、独立符号化ユニットにおける非1番目の符号化ユニットについて説明する。
【0216】
一実施形態では、符号化ユニットの第1行の画素に対応する予測モードは水平予測を含み、非第1行の画素に対応する予測モードは垂直予測を含む。
【0217】
別の実施形態では、符号化ユニットにおけるすべての画素に対応する予測モードは、水平予測を含む。
【0218】
第3のタイプの分割方式
【0219】
分割モード1:符号化ユニットは、第1の予測グループ及び第2の予測グループを含む。第1の予測グループは奇数列の画素を含む。第2の予測グループは、偶数列の画素を含む。
【0220】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは垂直予測を含む。第2の予測グループにおける非最終列の画素に対応する予測モードは水平平均予測を含み、最終列の画素に対応する予測モードは水平予測モードを含む。
【0221】
分割モード2:符号化ユニットは、第1の予測グループ及び第2の予測グループを含む。第1の予測グループは偶数行の画素を含む。第2の予測グループは、奇数行の画素を含む。
【0222】
本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、第1の予測グループに対応する予測モードは水平予測を含む。第2の予測グループに対応する予測モードは垂直平均予測を含む。
【0223】
分割モード3:符号化ユニットは複数の予測グループを含み、各予測グループは符号化ユニットにおける1行の画素を含む。本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、任意の1つ以上の予測グループ(例えば、各予測グループ)に対応する予測モードは、水平予測を含む。
【0224】
分割モード4:符号化ユニットは複数の予測グループを含み、各予測グループは連続する複数列の画素を含む。一例では、異なる予測グループに含まれる画素の列数は同じである。本発明の実施例では、各予測グループに対応する予測モードは限定されない。例えば、任意の1つ以上の予測グループに対応する予測モードは、垂直予測を含む。
【0225】
一例では、上記の第3のタイプの分割方式は、16*4符号化ユニット、16*2符号化ユニット、及び8*2符号化ユニットのうちのいずれか1つに適用可能である。もちろん、他のサイズの符号化ユニットにも適用できる。
【0226】
一例では、並列符号化ユニットの第1行(各並列符号化ユニットの1番目の符号化ユニットを含む)に対して、上記の分割モード3を採用してもよく、上記の分割モード3のみの採用を許可してもよい。また、第1列に対して、上記の分割モード1又は分割モード4を採用してもよい。ここで、第1行は並列符号化ユニットの第1行符号化ユニットであり、第1列は並列符号化ユニットの第1列符号化ユニットである。
【0227】
一例では、符号化ユニットは、当該符号化ユニットの左側の1列の画素及び上側の1行の画素を参照することができる。
【0228】
第4のタイプの分割方式
【0229】
符号化ユニットを1つの予測グループに分割する。言い換えれば、当該符号化ユニットは分割されない。一例では、符号化ユニットに含まれる画素数は、予め設定された閾値以下である。例えば、符号化ユニットのサイズは8*1である。
【0230】
以下、一例において、いくつかの予測モードを提供する。予測モード1:符号化ユニットの画素に対応する予測モードは垂直予測を含む。例えば、符号化ユニットにおけるすべての画素が垂直予測を採用する。
【0231】
予測モード2:符号化ユニットの画素に対応する予測モードは水平予測を含む。例えば、符号化ユニットにおけるすべての画素が水平予測を採用する。
【0232】
一例では、並列符号化ユニットの第1行(各並列符号化ユニットの1番目の符号化ユニットを含む)に対して、上記の予測モード2を採用してもよく、上記の予測モード2のみの採用を許可してもよい。また、第1列に対して、上記の予測モード1を採用してもよく、上記の予測モード1のみの使用を許可してもよい。ここで、第1行は並列符号化ユニットの第1行符号化ユニットであり、第1列は並列符号化ユニットの第1列符号化ユニットである。
【0233】
一例では、並列符号化ユニットの任意の符号化ユニット(例えば、各符号化ユニット)について、当該符号化ユニットの左側の1列の画素及び上側の1行の画素を参照することができる。
【0234】
第5のタイプの分割方式
【0235】
分割モードE:垂直均等分割方式で符号化ユニットを複数の予測グループに分割する。例えば、符号化ユニットの1行が1つの予測グループに分割される。例えば、垂直方向に2つ又は4つの予測グループに均等分割される。
【0236】
一例では、符号化ユニットが独立符号化ユニットにおける1番目の符号化ユニットである場合、当該符号化ユニットにおける1番目の画素は、いずれの予測グループにも分割されなくてもよい。つまり、そのうちの1つの予測グループは、符号化ユニットの第1行における1番目の要素以外の画素を含む。
【0237】
分割モードF:水平均等分割方式で符号化ユニットを複数の予測グループに分割する。例えば、符号化ユニットの連続する複数の列は、1つの予測グループに分割される。例えば、水平方向に2、4、又は8つの予測グループに均等分割される。
【0238】
一例では、符号化ユニットが独立符号化ユニットにおける1番目の符号化ユニットである場合、当該符号化ユニットにおける1番目の画素は、いずれの予測グループにも分割されなくてもよい。つまり、そのうちの1つの予測グループは、符号化ユニットの第1列における1番目の要素以外の画素、及び第1列から始まる1列の画素又は連続する複数列の画素を含む。
【0239】
分割モードG:所定の比率で垂直方向に符号化ユニットを複数の予測グループに分割する。
【0240】
本発明の実施例では、所定の比率の具体的な値は限定されない。一例では、1:2:1、又は2:1:1、又は1:1:2の方式で3つの予測グループに分割される。
【0241】
一例では、符号化ユニットが独立符号化ユニットにおける1番目の符号化ユニットである場合、当該符号化ユニットにおける1番目の画素は、いずれの予測グループにも分割されなくてもよい。つまり、そのうちの1つの予測グループは、符号化ユニットの第1行における1番目の要素以外の画素、又は、符号化ユニットの第1行における1番目の要素以外の画素及び第1行から始まる1行の画素又は連続する複数行の画素を含む。
【0242】
分割モードH:所定の比率で水平方向に符号化ユニットを複数の予測グループに分割する。
【0243】
本発明の実施例では、所定の比率の具体的な値は限定されない。一例では、1:2:1、又は2:1:1、又は1:1:2の方式で3つの予測グループに分割される。
【0244】
一例では、符号化ユニットが独立符号化ユニットにおける1番目の符号化ユニットである場合、当該符号化ユニットにおける1番目の画素は、いずれの予測グループにも分割されなくてもよい。つまり、そのうちの1つの予測グループは、符号化ユニットの第1列における1番目の要素以外の画素、又は、符号化ユニットの第1列における1番目の要素以外の画素及び第1列から始まる1列の画素又は連続する複数列の画素を含む。
【0245】
本発明の実施例では、上記の分割モードE~Hのいずれか1つに対応する予測モードは限定されない。
【0246】
一例では、上記の第5のタイプの分割方式は、16*4符号化ユニット、16*2符号化ユニット、及び8*2符号化ユニットのうちのいずれか1つに適用可能である。もちろん、他のサイズの符号化ユニットにも適用できる。
【0247】
以下、具体的な例により、上記の分割モードを例示的に説明する。いくつかの実施例において、分割モードに対応する予測モードをさらに示す。
【0248】
実施例1:16*4符号化ユニットの場合
【0249】
1.1 独立符号化ユニットが1つの16*4の符号化ユニットのみを有する場合
【0250】
例1:
図8に示すように、符号化ユニットは、Group 0~4の合計5つの予測グループを含む。
【0251】
Group 0は、第1行第2~16列の画素から構成され、水平予測を採用する。
【0252】
Group 1は、第2、3、4行第1、3、5、7列の画素から構成され、垂直予測を採用する。
【0253】
Group 2は、第2、3、4行第9、11、13、15列の画素から構成され、垂直予測を採用する。
【0254】
Group 3は、第2、3、4行第2、4、6、8列の画素から構成され、水平予測を採用する。
【0255】
Group 4は、第2、3、4行第10、12、14、16列の画素から構成され、第10、12、14列の画素は水平平均予測を採用し、第16列の画素は水平予測を採用する。
【0256】
例2:
図9に示すように、符号化ユニットは、Group 0~4の合計5つの予測グループを含む。
【0257】
Group 0は、第1列の1番目の画素以外の画素から構成され、垂直予測を採用する。
【0258】
Group 1は、第1行第2~16列の画素から構成され、水平予測を採用する。
【0259】
Group 3は、第3行第2~16列の画素から構成され、水平予測を採用する。
【0260】
Group 2は、第2行第2~16列の画素から構成され、垂直平均予測を採用する。
【0261】
Group 4は、第4行第2~16列の画素から構成され、垂直予測を採用する。
【0262】
例3:
図10に示すように、符号化ユニットは、Group 0~4の合計5つの予測グループを含む。
【0263】
Group 0は、第2~4行第1列の画素から構成され、垂直予測を採用する。
【0264】
Group 1は、第1行第2~16列の画素から構成され、水平予測を採用する。
【0265】
Group 2は、第2行第2~16列の画素から構成され、水平予測を採用する。
【0266】
Group 3は、第3行第2~16列の画素から構成され、水平予測を採用する。
【0267】
Group 4は、第4行第2~16列の画素から構成され、水平予測を採用する。
【0268】
例4:
図11に示すように、符号化ユニットはGroup 0~4の合計5つの予測グループを含む。
【0269】
Group 0は、第1行第2~16列の画素から構成され、水平予測を採用する。
【0270】
Group 1は、第2、3、4行第1~4列の画素から構成され、垂直予測を採用する。
【0271】
Group 2は、第2、3、4行第5~8列の画素から構成され、垂直予測を採用する。
【0272】
Group 3は、第2、3、4行第9~12列の画素から構成され、垂直予測を採用する。
【0273】
Group 4は、第2、3、4行第13~16列の画素から構成され、垂直予測を採用する。
【0274】
上記の説明では、サイズが16*4である符号化ユニットを例として説明したが、他のサイズの符号化ユニットも同じ原則に従って分割することができる。サイズが16*2である符号化ユニットの場合、上記例1におけるGroup 1~4は4個の画素であり、上記例2におけるグループ2及び3がなく(すなわち、グループ0、1、及び4の計3個のグループのみがある)、上記実施例3におけるグループ2及び3がなく、上記実施例4におけるGroup 1~4は4個の画素である。
【0275】
1.2. 独立符号化ユニットが複数の16*4の符号化ユニットを有する場合
【0276】
独立符号化ユニットが複数の16*4の符号化ユニットを含む場合、その1番目の16*4の符号化ユニットの分割モードは上記1.1に示され、後続の16*4の符号化ユニットの分割モードは
図12~
図15に示される。
【0277】
例えば、後続の16*4の符号化ユニットと1番目の16*4の符号化ユニットとの分割モードの相違点は、1番目の画素の処理にあり、予測モードの相違点は、第1列の画素の処理にあり、他の画素の予測値は、1番目の16×4ブロックの処理と一致してもよい。具体的には、分割モードA又はDの場合:後続の16*4の符号化ユニットの第1列の1番目の画素に対応する予測モードは水平予測を含み、第1列の他の画素に対応する予測モードは垂直予測を含む。
【0278】
分割モードB又はCの場合:後続の16*4の符号化ユニットの第1列の4つの画素に対応する予測モードは、水平予測を含む。
【0279】
一例では、実施例1における16*4の符号化ユニットは、16*4の輝度ブロックであってもよく、16*4の色度ブロックであってもよい。
【0280】
一例では、実施例1は、他のサイズの符号化ユニットにも適用できる。
【0281】
実施例2:8*2の符号化ユニットの場合
【0282】
2.1 独立符号化ユニットが1つの8*2の符号化ユニットのみを有する場合
【0283】
図16に示すように、第1行の1番目の画素以外の残りの7つの画素に対して水平予測を行い、第2行の8画素に対して垂直予測を行う。
【0284】
図17に示すように、第1行の1番目の画素以外の残りの7つの画素に対して水平予測を行い、第2行の1番目の画素対して垂直予測を行い、第2行の残りの7つの画素対して水平予測を行う。
【0285】
2.2 独立符号化ユニットが複数の8*2の符号化ユニットを有する場合
【0286】
独立符号化ユニット(例えば、N*2の独立符号化ユニット、Nは16以上である)における1番目の8*2の符号化ユニットについて、その予測プロセスは、2.1に記載の予測プロセスと一致してもよい。
【0287】
独立符号化ユニット(例えば、N*2の独立符号化ユニット、Nは16以上である)における他の8*2の符号化ユニットについて、第1列以外の残りの画素の予測プロセスは、1番目の8*2の符号化ユニットの予測プロセスと一致してもよい。
【0288】
図18に示すように、第1列の1番目の画素は水平予測を採用し、第1列の残りの1つの画素は垂直予測を採用する。
【0289】
図19に示すように、第1列の2つの画素は水平予測を採用する。
【0290】
一例では、実施例2における8*2の符号化ユニットは、8*2の輝度ブロックであってもよく、8*2の色度ブロックであってもよい。
【0291】
一例では、実施例2は、他のサイズの符号化ユニットにも適用できる。
【0292】
実施例3:16*2の符号化ユニットの場合
【0293】
一例では、並列符号化ユニットの第1行の符号化ユニット(各並列符号化ユニットの1番目の16*2の符号化ユニットを含む)に対して、下記の例3のみを採用して分割及び予測を行うことが許可される。第1列の符号化ユニットに対して、下記の実施例1又は実施例4のみを採用して分割及び予測を行うことが許可される。
【0294】
一例では、各16*2の符号化ユニットは、左側の1列の画素(2画素)と上側の1行の画素(16画素)の画素値を参照してもよい。
【0295】
例1:
図20に示すように、符号化ユニットはGroup 1~2を含む。
【0296】
Group 1は、第1、3、5、7、9、11、13、15列の画素から構成され、垂直予測を採用する。一例では、Group 1の画素は、当該符号化ユニットの上側且つ当該符号化ユニットに隣接する最終行の画素を参照してもよい。
【0297】
Group 2は、第2、4、6、8、10、10、14、16列の画素から構成され、第16列の画素以外の画素は水平平均予測予測を採用し、第16列の要素は水平予測を採用する。
【0298】
例2:
図21に示すように、符号化ユニットはGroup 1~2を含む。
【0299】
Group 1は、第2行の画素から構成され、水平予測を採用する。
【0300】
Group 2は、第1行の画素から構成され、垂直平均予測を採用する。一例では、Group 2の画素は、当該符号化ユニットの上側且つ当該符号化ユニットに隣接する最終行の画素を参照してもよい。
【0301】
例3:
図22に示すように、符号化ユニットはGroup 1~2を含む。
【0302】
Group 1は、第1行の画素から構成され、水平予測を採用する。
【0303】
Group 2は、第2行の画素から構成され、水平予測を採用する。
【0304】
例4:
図23に示すように、符号化ユニットはGroup 1~2を含む。
【0305】
Group 1は、第1~8列の画素から構成され、垂直予測を採用する。
【0306】
Group 2は、第9~16列の画素から構成され、垂直予測を採用する。
【0307】
一例では、Group 1及びGroup 2の画素は、当該符号化ユニットの上側且つ当該符号化ユニットに隣接する16*2の符号化ユニットの最終行の画素を参照してもよい。
【0308】
一例では、実施例3における16*2の符号化ユニットは、16*2の輝度ブロックであってもよく、16*2の色度ブロックであってもよい。
【0309】
一例では、実施例3は、16*4又は8*2の符号化ユニットのような他のサイズの符号化ユニットにも適用できる。
【0310】
実施例4:8*1の符号化ユニットの場合
【0311】
一例では、各並列符号化ユニットの第1行の符号化ユニット(各並列符号化ユニットの1番目の8*1の符号化ユニットを含む)に対して、下記の例2のみを採用して予測を行うことが許可される。第1列の符号化ユニットに対して、下記の例1のみを採用して予測を行うことが許可される。
【0312】
一例では、各8*1の符号化ユニットは、左側の1列の画素(1画素)及び上側の1行の画素(8画素)の画素値を参照してもよい。
【0313】
8*1の符号化ユニットは、1つのGroupのみを含む。
【0314】
例1:
図24に示すように、符号化ユニットにおける各画素に対して垂直予測を行う。
【0315】
例2:
図25に示すように、符号化ユニットにおける各画素に対して水平予測を行う。
【0316】
実施例5
【0317】
図26は、16*4の符号化ユニットのいくつかの分割モードを提供する。(a)は、符号化ユニットが、垂直方向に4つのグループに均等に分割されることを示す。(b)は、符号化ユニットが、垂直方向に1:2:1の比率で3つのGroupに分割されることを示す。(c)は、符号化ユニットが、水平方向に4つのGroupに均等に分割されることを示す。(d)は、符号化ユニットが、水平方向に1:2:1の比率で3つのグループに分割されることを示す。
図26は、各Groupのサイズも示している。
【0318】
図27は、16*2の符号化ユニットのいくつかの分割モードを提供する。(a)は、符号化ユニットが、垂直方向に2つのGroupに均等に分割されることを示す。(b)は、符号化ユニットが、水平方向に4つのGroupに均等に分割されることを示す。(c)は、符号化ユニットが、水平方向に1:2:1の比率で3つのグループに分割されることを示す。
図27は、各Groupのサイズも示している。
【0319】
図28は、8*2の符号化ユニットのいくつかの分割モードを提供する。(a)は、符号化ユニットが、垂直方向に2つのGroupに均等に分割されることを示す。(b)は、符号化ユニットが、水平方向に4つのGroupに均等に分割されることを示す。(c)は、符号化ユニットが、水平方向に1:2:1の比率で3つのグループに分割されることを示す。
図28は、各Groupのサイズも示している。
【0320】
なお、一方、1つの画素について、当該画素に最も近い画素と当該画素との相関性が最も高く、これらの画素を用いて当該画素を予測する場合、予測結果の精度がより高い。当該画素に最も近い画素は、当該画素の上下左右の方向において当該画素に隣接する4つの画素を含んでもよく、具体的な実施方法はこれに限らない。そのうちの1つ以上の場合をカバーするために、異なる予測モード(例えば、水平予測、垂直予測、水平平均予測、垂直平均予測など)を用いて、1つの符号化ユニットにおける異なる画素を予測してもよい。
【0321】
一方、ハードウェア実装上の並列性を考慮すると、符号化効率又は復号効率を向上させるために、異なる分割グループが並列に予測を行うことができる。例えば、
図8を参照すると、
図8においてGroup 0に対して予測を行った後、Group 1~2は並列に予測を行い、Group 3~4は並列に予測を行うことができる。他の例は一々列挙しない。
【0322】
上記の2つの方面(すなわち、予測結果の精度及び予測プロセスの並列性)に基づいて、本発明の実施例は、符号化効率及び復号効率向上させるために、上記の符号化ユニットが予測グループに分割される分割モード及び対応する予測モードを提供する。もちろん、予測モードと分割モードは無関係であってもよい。上記の分割モード及び予測モードは、特に、幅のサイズが高さのサイズより大きい符号化画像のシーンに適用され、一例では、高さのサイズがある閾値以下である。
【0323】
以下、本発明の実施例で提供される残差ブロックグループ化方式を説明する。
【0324】
一例では、1つの予測グループに含まれる画素数(又は1つの予測グループの残差ブロックに含まれる画素数)が予め設定された閾値以上である場合、当該予測グループの残差ブロックをグループ化する。
【0325】
一例では、1つの予測グループに含まれる画素数(又は1つの予測グループの残差ブロックに含まれる画素数)が予め設定された閾値より小さい場合、当該予測グループの残差ブロックをグループ化しない。
【0326】
例えば、当該予め設定された閾値は、3又は4であってもよく、他の値であってもよい。
【0327】
第1の方式:第1のターゲット予測グループの残差ブロックをグループ化する。ここで、第1のターゲット予測グループは、符号化ユニットにおける1行の画素又は1番目の画素以外の1行の画素を含む予測グループである。例えば、第1のターゲット予測グループは、
図8のGroup 0、
図9、
図10、
図13、
図14のGroup 1~4のいずれか、
図11、
図12、
図15のGroup 0、
図21、
図22のGroup 1~2のいずれか、などであってもよい。
【0328】
一実施形態では、第1のターゲット予測グループの残差ブロックは、1つのサブ残差ブロックに分割される。これは、当該残差ブロックをグループ化しないことと等価である。
【0329】
別の実施形態では、第1のターゲット予測グループの残差ブロックは、複数のサブ残差ブロックに分割される。
【0330】
分割モード1:複数のサブ残差ブロックは、第1のサブ残差ブロック及び第2のサブ残差ブロックを含む。第1のサブ残差ブロックと第2のサブ残差ブロックはいずれも連続する複数の画素を含み、且つ第1のサブ残差ブロックと第2のサブ残差ブロックに含まれる画素数の差が最も小さい。
【0331】
一例では、第1のターゲット予測グループの残差ブロックは、均等に又はできるだけ均等に2つのサブ残差ブロックに分割される。
【0332】
分割モード2:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックを含む。第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックはいずれも連続する複数の画素を含み、第1のサブ残差ブロックに含まれる画素数と第1の数との差が最も小さく、第1の数は第2のサブ残差ブロックと第3のサブ残差ブロックに含まれる画素数の和であり、第2のサブ残差ブロックと第3のサブ残差ブロックに含まれる画素数は等しい。
【0333】
一例では、第1のターゲット予測グループの残差ブロックは、均等に又はできるだけ均等に2つの部分に分割され、そのうちの1つの部分は1つのサブ残差ブロックとされ、他の部分は均等に2つのサブ残差ブロックに分割される。
【0334】
分割モード3:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックを含む。ここで、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックはいずれも連続する複数の画素を含み、第3のサブ残差ブロックに含まれる画素数と第2の数との差が最も小さく、第2の数は第1のサブ残差ブロックと第2のサブ残差ブロックに含まれる画素数の和であり、第1のサブ残差ブロックと第2のサブ残差ブロックに含まれる画素数の差が最も小さい。
【0335】
一例では、第1のターゲット予測グループの残差ブロックは、均等に又はできるだけ均等に2つの部分に分割され、そのうちの1つの部分は1つのサブ残差ブロックとされ、他の部分はできるだけ均等に2つのサブ残差ブロックに分割される。
【0336】
分割モード4:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック、及び第4のサブ残差ブロックを含む。ここで、第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック及び第4のサブ残差ブロックはいずれも連続する複数の画素を含み、第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック及び第4のサブ残差ブロックに含まれる画素数の差が最も小さい。
【0337】
一例では、第1のターゲット予測グループの残差ブロックは、均等に又はできるだけ均等に4つの部分に分割される。
【0338】
第2の方式:第2のターゲット予測グループの残差ブロックをグループ化する。ここで、第2のターゲット予測グループは、符号化ユニットにおける複数列の画素を含む予測グループである。例えば、第2のターゲット予測グループは、
図8、
図11、
図12、
図15におけるGroup 1~4のいずれか、
図20、
図23におけるGroup 1~2のいずれか、などであってもよい。
【0339】
一実施形態では、第2のターゲット予測グループの残差ブロックは、1つのサブ残差ブロックに分割される。これは、当該残差ブロックをグループ化しないことと等価である。
【0340】
別の実施形態では、第2のターゲット予測グループの残差ブロックは、複数のサブ残差ブロックに分割される。
【0341】
分割モード1:複数のサブ残差ブロックは、少なくとも2つのサブ残差ブロックを含む。ここで、各サブ残差ブロックは、1列の画素又は連続する複数列の画素を含み、且つ異なるサブ残差ブロックに含まれる画素の列数は等しい。
【0342】
分割モード2:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックを含む。ここで、各残差ブロックは、1列の画素又は連続する複数列の画素を含み、且つ第1のサブ残差ブロックに含まれる画素の列数は、第2のサブ残差ブロックと第3のサブ残差ブロックに含まれる画素の列数の和に等しい。
【0343】
分割モード3:複数のサブ残差ブロックは、少なくとも4つのサブ残差ブロックを含む。ここで、各サブ残差ブロックは、1列の画素又は連続する複数列の画素を含み、且つ異なるサブ残差ブロックに含まれる画素の列数は等しい。
【0344】
第3の方式:第3のターゲット予測グループの残差ブロックをグループ化する。ここで、第3のターゲット予測グループは、符号化ユニットにおける複数行の画素を含む予測グループである。例えば、第3のターゲット予測グループは、
図16から
図19のいずれか1つに示される予測グループであってもよい。
【0345】
一実施形態では、第3のターゲット予測グループの残差ブロックは、1つのサブ残差ブロックに分割される。これは、当該残差ブロックをグループ化しないことと等価である。
【0346】
別の実施形態では、第3のターゲット予測グループの残差ブロックは、複数のサブ残差ブロックに分割される。
【0347】
分割モード1:複数のサブ残差ブロックの各サブ残差ブロックは、1行の画素又は1番目の画素以外の1行の画素を含む。
【0348】
一例では、第3のターゲット予測グループの残差ブロックは、行によって複数のサブ残差ブロックに分割される。
【0349】
分割モード2:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック及び第3のサブ残差ブロックを含む。第1のサブ残差ブロックは、1行の画素又は1番目の画素以外の1行の画素の予測グループを含み、第2のサブ残差ブロックと第3のサブ残差ブロックは、同じ行内の連続する複数の画素であり、第2のサブ残差ブロックと第3のサブ残差ブロックとの画素数の差が最も小さい。
【0350】
一例では、第3のターゲット予測グループの残差ブロックは、行によって複数の部分に分割され、そのうちの1つ又は複数の部分がそれぞれサブ残差ブロックとされ、そのうちの他の1つ又は複数の部分は、サブ残差ブロックを得るために、均等に分割されるか、又はできるだけ均等に分割される。
【0351】
分割モード3:複数のサブ残差ブロックは、第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック、及び第4のサブ残差ブロックを含む。第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック及び第4のサブ残差ブロックはいずれも連続する複数の画素を含み、且つ第1のサブ残差ブロック、第2のサブ残差ブロック、第3のサブ残差ブロック及び第4のサブ残差ブロックに含まれる画素数の差が最も小さい。
【0352】
一例では、第3のターゲット予測グループの残差ブロックは、できるだけ均等に複数のサブ残差ブロックに分割される。例えば、均等に4つのサブ残差ブロックに分割される。
【0353】
以下、具体的な例により、上記の残差ブロック分割モードを例示的に説明する。
【0354】
例1:
図29は、本発明の一実施形態に係る予測グループの複数の残差ブロックグループ化の概略図である。
図29は、符号化ユニットのサイズが16*4であり、予測グループが当該符号化ユニットの第1行における1番目の要素以外の要素である例である。例えば、当該予測グループは、
図8又は
図11におけるGroup 0、
図9又は
図10におけるGroup 1~4のいずれかであってもよい。
【0355】
図29(a)~(e)のそれぞれは、残差ブロック分割モードを示す。各図における各小格子は1つの画素を表し、同じ種類の小格子は同一のサブ残差ブロックにおける画素を表す。例えば、(b)は、残差ブロックが2つのサブ残差ブロックに分割され、一方のサブ残差ブロックは、左斜線で示された最初の7つの画素を含み、他方のサブ残差ブロックは、空白で示された最後の8つの画素を含むことを示す。
【0356】
例2:
図30は、本発明の一実施形態に係る予測グループの様々な残差ブロックグループ化の概略図である。なお、
図30は、符号化ユニットのサイズが16*4であり、予測グループが当該符号化ユニットの4列の要素である例である。例えば、当該予測グループは、
図8又は
図11におけるGroup 1~4のいずれかであってもよい。
【0357】
図30(a)~(e)のそれぞれは、残差ブロック分割モードを示す。各図における各小格子は1つの画素を表し、同じ種類の小格子は同一のサブ残差ブロックにおける画素を表す。
【0358】
一例では、同じサブ残差ブロック内の画素の係数符号化方式は同じであり、又は、同じサブ残差ブロック内の画素の符号化長(coding length、CL)、すなわち、残差係数が符号化された後に占有されるビット数は同じである。
【0359】
一例では、
図29及び
図30は、残差ブロックの5つの分割モードを示す。一例において、1bit又は3bitで分割モードGPM(表1に示す)を表すことができる。GP 0~GP 4はそれぞれ、
図29の(a)~(e)に対応してもよいし、
図30の(a)~(e)に対応してもよい。
【表1】
【0360】
表1に示す残差ブロック分割モードのインデックス符号化方法は、他の実施例にも適用可能であることに留意されたい。例えば、当該方法は、他のサイズの予測グループの残差ブロックの分割モードや、上記予測グループの他の分割モードに適用される。
【0361】
例3:
図31は、本発明の一実施形態に係る予測グループの複数の残差ブロックグループ化の概略図である。
図31は、符号化ユニットのサイズが8*2であり、符号化ユニットが1つの予測グループに分割される例である。
図31の(a)~(e)のそれぞれにおける1番目の画素は、予測グループの残差ブロックにおける画素ではない、つまり、残差ブロックのグループ化に関与しない。
図31における予測グループは、
図16又は
図17における予測グループであってもよい。(a)~(e)いずれの図においても、同じタイプのハッチングされた画素は、同じサブ残差ブロック内の画素を表す。
【0362】
図31について、符号化ユニットは1つの予測グループのみに分割され、当該予測グループの残差ブロックは5種類の分割モード(すなわち、GPM)を共有する。これらの5種類のGPMに対して、その分割方式を示すために1bit又は3bitが必要である(表1にも示す)。
【0363】
同一の予測グループにおけるサブ残差ブロック(すなわち、RB)の符号化順序は、上から下、左から右である。
図31の(e)を例として、各RBの符号化順序は、
図32に示すように、RB 0~RB 3の順である。なお、他の実施例におけるサブ残差ブロックの符号化順序は、
図32に示す図面に基づいて推論して得ることができ、ここでは説明を省略する。
【0364】
なお、1つの残差ブロックが分割されたサブ残差ブロックの数が多い場合、符号化する必要がある分割モード情報が多くなり、1つの残差ブロックが分割されたサブ残差ブロックの数が少ない場合、異なる特性の残差を1つのグループに分け、残差係数の符号化効率が低くなる。本発明の実施形態は、少なくともこの2つの側面を考慮して、上記の残差ブロック分割方法を提供する。
【0365】
以下、ビデオ画像を符号化及び復号する過程に係る他のステップを例示的に説明する。第1に、上位層シンタックスの実施例について説明する。
【0366】
上位層シンタックスは、カバーされた領域のために統一的な情報を提供する。カバーされた領域のすべての画素の符号化及び復号プロセスにおいて、必要とされる統一的な情報は、上位層シンタックスによって取得されてもよい。このように、これらの情報は、ある領域内で1回だけ符号化され、ビットレートを効果的に節約することができる一方、これらの情報は比較的重要であるため、ある特定の集合で伝送され、他の通常のデータとは異なる方法で保護することができる。例えば、以下のシンタックスの領域は、上記の並列符号化ユニット、独立符号化ユニット、符号化ユニット、PG、RB、画像、又は画像シーケンスなどであってもよい。
【0367】
これらの上位層シンタックスは、固定長符号化方法又はトランケーテッド・ユーナリコード符号化方法で符号化及び復号することができる。
【0368】
1)最大誤差
【0369】
ある領域ヘッダにmax_distanceシンタックスを追加し、ある領域内のブロックの最大誤差がmax_distanceであることを表し、現在のスライスのいずれかの画素の再構成画素値と元の画素値との差がmax_distance以下であることを表し、又は現在のスライスのいずれかの画素の再構成画素値と元の画素値との差の二乗がmax_distance以下であることを表す。
【0370】
2)量子化パラメータ
【0371】
ある領域ヘッダにquantization_parameterシンタックスを追加し、ある領域内のブロックに使用される量子化ステップを表す。量子化ステップは、ビットレートオーバーヘッドを低減するために、残差係数、又は残差変換後の係数を量子化するために用いられる。
【0372】
quantization_parameterシンタックスを符号化する場合、quantization_parameterは0であり、すなわち、量子化を行わない確率が高く、より短いコードワードを割り当てるべきである。すなわち、より短いコードワードにより、quantization_parameterが0であることを示す。一例として、2進数の0はquantization_parameterが0であることを示し、2進数の1***はquantization_parameterが0より大きいことを示す(*は0又は1を表す)。
【0373】
3)ビット深度
【0374】
ある領域ヘッダ(好ましくは、画像ヘッダ又は画像シーケンスヘッダ)にbit_depthシンタックスを追加し、ある領域内のブロックのビット深度を表す。ビット深度は、各画素の画素値を符号化するために使用されるビット数を表し、Nビットのビット深度は、画素値の範囲が[0、2^N-1]であることを表し、例えば、8ビットのビット深度は、画素値の範囲が[0、255]であることを表す。
【0375】
4)元の値を符号化するか否かのフラグ
【0376】
ある領域ヘッダにorg_flagシンタックス(バイナリ、すなわち、0と1の値のみ)を追加し、ある領域内のブロックが元の画素値を直接符号化するか否かを表す。org_flagが1である場合、ある領域内のブロックは元の値を直接符号化する。すなわち、各画素はbit_depthビットを用いて直接符号化され、予測情報、予測値、残差情報などの他の情報を伝送する必要がない。当該方法は、上記の予測方法が無駄になる(例えば、比較的ノイズの多い一部の画像ブロック)ことによるデータの過膨張(すなわち、圧縮後のデータが元のデータより明らかに大きい)を回避するためである。
【0377】
5)画像の基本情報
【0378】
ある領域ヘッダ(好ましくは、画像ヘッダ又は画像シーケンスヘッダ)に画像の基本情報シンタックスを追加し、画像の基本情報、例えば、解像度(すなわち、画像の幅と高さ)、画像輝度と色度のフォーマット(YUV 444、YUV 420、YUV 422、RGB 444など)などを表す。
【0379】
6)各成分の重要度
【0380】
画像が複数の成分からなる場合、ある領域ヘッダ(好ましくは画像ヘッダ又は画像シーケンスヘッダ)に各成分の重要度に関するシンタックスを追加する。luma_weightシンタックスが追加された場合、画像におけるYUVの3つの成分の重要度の比率がluma_weight:1:1であることを示す。
【0381】
7)並列符号化ユニットのシンタックスと制約
【0382】
画像ヘッダ又は画像シーケンスヘッダにおいて、並列独立符号化ユニットのサイズ関連情報を伝送する。
【0383】
方式1:並列独立符号化ユニットの幅para_unit_widthと高さpara_unit_heightを伝送する。画像を、同じサイズ(各行の末尾及び各列の末尾の並列独立符号化ユニットを除く)の複数の並列独立符号化ユニットに分割する。
【0384】
方式2:並列独立符号化ユニットに含まれる符号化ユニット(又は独立符号化ユニット)の数N_CUを伝送する。画像を、同じ数の符号化ユニット(各行の末尾及び各列の末尾の並列独立符号化ユニットを除く)を含む複数の並列独立符号化ユニットに分割する。
【0385】
異なる並列符号化ユニット内のブロックは、並列符号化及び復号を保証するために、互いに参照することができない。
【0386】
8)Length map出力
【0387】
画像ヘッダ又は画像シーケンスヘッダにおいて、length map情報を伝送する。length map情報は、各独立符号化ユニットの開始ビットストリームと現在の画像の開始ビットストリームとのオフセット情報を記憶するために使用される。当該オフセットは、K(Kは8又は16が好ましい)バイトで整列される必要がある。length map情報は、現在の画像の各独立符号化ユニットのランダムインデックスを示すために用いられる。すなわち、画像における任意の独立符号化ユニットの情報を取得したい場合、その前のすべての独立符号化ユニットのビットストリームを復号する必要がない。
【0388】
第2に、特別な状況への処理
【0389】
1)行末補完
【0390】
基本処理ユニットのサイズを幅w_unit、高さh_unitとする。
【0391】
画像の幅がw_unitの整数倍でない場合、又は画像の高さがh_unitの整数倍でない場合、最近傍法により、幅がw_unitの整数倍、又は高さがh_unitの整数倍になるように(画像の右側境界は左側の最近傍の利用可能な画素をコピーすることにより埋められ、画像の下側境界は上側の最近傍の利用可能な画素をコピーすることにより埋められる)埋める。その後、通常の方法により符号化を行う。
【0392】
2)行末又は画像末尾ビットストリーム補完
【0393】
ある行(又は画像)の最後のブロックの最後において、現在のブロックの前の累積ビットストリームの総数が8bitの倍数でない場合、累積ビットストリームの総数のバイトを揃えるように、0又は1を追加する方式で補完する。
【0394】
3)残差情報の書き込み
【0395】
残差の書き込み時に、ハードウェアのニーズを考慮して、残差は、上から下へ、左から右へのラスタースキャン順序ではなく、FxF(Fは好ましくは4又は2)を基本ユニットとして書き込まれる。
【0396】
なお、上記各実施例における一部の特徴又は全部の特徴は、矛盾しない限り、任意の適切な方式で組み合わせて新しい実施例を得ることができる。
【0397】
上記の実施例における機能を実現するために、ビデオエンコーダ/ビデオデコーダは、各機能を実行するための対応するハードウェア構造及び/又はソフトウェアモジュールを含むことが理解され得る。当業者であれば、本発明において開示された実施例で説明された例のユニット及び方法のステップと組み合わせて、本発明がハードウェアで、又はハードウェアとコンピュータソフトウェアとの組み合わせの形態で実施され得ることを容易に理解できるはずである。ある機能がハードウェアによって実行されるか、コンピュータソフトウェアがハードウェアを駆動することによって実行されるかは、技術的解決策の特定の適用シナリオ及び設計制約条件に依存する。
【0398】
図33は、本発明に係る復号装置300の概略構成図であり、上記の復号方法の実施形例のいずれもが、当該復号装置によって実行され得る。当該復号装置300は、エントロピー復号部3001と、予測処理部3002と、復号部3003とを含む。一例では、当該復号装置は、
図1の宛先機器12であってもよい。別の例では、当該復号装置は、
図1のデコーダ122、又は
図3のデコーダ30であってもよい。
【0399】
一例では、エントロピー復号部3001は、
図3のエントロピー復号部301によって実現されてもよい。予測処理部3002は、
図3の予測処理部304により実現されてもよい。復号部3003は、
図3の再構成部305により実現されてもよく、一例では、復号部3003は、
図3の再構成部305及びフィルタ部306により実現されてもよい。
図3の現在の画像ブロックは、本実施例における復号対象ユニットであってもよい。
【0400】
エントロピー復号部3001は、ビットストリームを解析して、シンタックス要素を取得するために用いられる。前記シンタックス要素は、復号対象ユニットの残差ブロックを得るために用いられ、前記復号対象ユニットは、少なくとも1つの予測グループを含む。例えば、エントロピー復号部3001は、
図7におけるS201を実行するために用いられてもよい。
【0401】
予測処理部3002は、前記少なくとも1つの予測グループのうちのいずれか1つの予測グループの予測モードを決定し、前記予測モードに基づいて前記いずれか1つの予測グループを予測して、前記いずれか1つの予測グループの予測値を得るために用いられる。例えば、予測処理部3002は、
図7におけるS202~S203を実行するために用いられてもよい。
【0402】
復号部3003は、前記復号対象ユニットの残差ブロックと、前記いずれか1つの予測グループの予測値とに基づいて、前記復号対象ユニットを復号するために用いられる。例えば、復号部3003は、
図7におけるS204を実行するために用いられてもよい。
【0403】
上記のエントロピー復号部3001、予測処理部3002及び復号部3003のより詳細な説明及びその有益な効果に関する説明は、
図7に示す方法の実施例における関連説明を直接参照して直接得ることができ、ここでは説明を省略する。
【0404】
図34は、本発明に係る符号化装置310の概略構成図である。当該符号化装置310は、分割部3101、予測処理部3102、残差演算部3103、及び符号化部3104を含む。一例では、当該符号化装置は、
図1のソース機器11であってもよい。別の例では、当該符号化装置は、
図1のエンコーダ112、又は
図2のエンコーダ20であってもよい。
【0405】
一例では、予測処理部3102、残差演算部3103及び符号化部3104は、それぞれ、
図2における予測処理部201、残差演算部202及びエントロピー符号化部205により実現されてもよい。なお、分割部3101は、
図2における現在の画像ブロックを得るためのユニットであってもよい。
図2における現在の画像ブロックは、本実施例における符号化ユニットであってもよい。
【0406】
上記の分割部3101、予測処理部3102、残差演算部3103及び符号化部3104のより詳細な説明及びその有益な効果に関する説明は、
図5に示す方法の実施例における関連説明を直接参照して直接得ることができ、ここでは説明を省略する。
【0407】
本発明は、上記のいずれかの復号方法の実施例を実行するための電子機器をさらに提供する。
図35に示すように、
図35は、本発明に係る電子機器の概略構成図である。当該電子機器3200は、プロセッサ3210と通信インタフェース3220とを含む。プロセッサ3210と通信インタフェース3220とは互いに結合される。通信インタフェース3220は、トランシーバ又は入出力インタフェースであってよいことが理解され得る。一例では、電子機器3200は、プロセッサ3210によって実行される命令を記憶するか、プロセッサ3210が命令を実行するために必要な入力データを記憶するか、又はプロセッサ3210が命令を実行した後に生成されるデータを記憶するために用いられるメモリ3230をさらに含んでもよい。
【0408】
電子機器3200が
図7に示す方法を実行するために用いられる場合、プロセッサ3210及び通信インタフェース3220は、上記のエントロピー復号部3001、予測処理部3002及び復号部3003の機能を実行するために用いられる。
【0409】
電子機器3200が
図5に示す方法を実行するために用いられる場合、プロセッサ3210及び通信インタフェース3220は、上記の分割部3101、予測処理部3102、残差演算部3103及び符号化部3104の機能を実行するために用いられる。
【0410】
本発明の実施例では、上記の通信インタフェース3220、プロセッサ3210、及びメモリ3230の間の特定の接続媒体は限定されない。本発明の実施例では、通信インタフェース3220、プロセッサ3210、及びメモリ3230は、
図35においてバス3240によって接続される。バスは、
図35において太線で示される。他の構成要素間の接続方式は、例示的な説明に過ぎず、限定されない。バスは、アドレスバス、データバス、制御バスなどに分類され得る。表現を容易にするために、
図35では、1本の太線のみが用いられるが、1つのバス又は1つのタイプのバスのみが存在することを示すものではない。
【0411】
メモリ3230は、本発明の実施例において提供される復号方法又は符号化方法に対応するプログラム命令/モジュールなどのソフトウェアプログラム及びモジュールを格納するために用いられ得る。プロセッサ3210は、メモリ3230に格納されたソフトウェアプログラムやモジュールを実行することにより、様々な機能アプリケーションやデータ処理を実行する。当該通信インタフェース3220は、別のデバイスとシグナリング又はデータを通信するために用いられ得る。本発明では、当該電子機器3200は、複数の通信インタフェース3220を有し得る。
【0412】
本発明の実施例におけるプロセッサは、中央処理装置(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)、又は別のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、又はそれらの任意の組み合わせであってよいことが理解され得る。汎用プロセッサは、マイクロプロセッサであってもよく、任意の従来のプロセッサであってもよい。
【0413】
本発明の実施例における方法のステップは、ハードウェアにより実現されてもよく、プロセッサがソフトウェア命令を実行することにより実現されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールから構成されてもよく、ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、読み取り専用メモリ(read-only memory、ROM)、プログラマブル読み取り専用メモリ(programmable ROM、PROM)、消去可能プログラマブル読み取り専用メモリ(erasable PROM、EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、又は当技術分野で周知の任意の他の形式の記憶媒体に記憶されてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。もちろん、記憶媒体は、プロセッサの構成要素であってもよい。プロセッサ及び記憶媒体は、ASIC内に配置されてもよい。また、ASICは、ネットワークデバイス又は端末デバイス内に配置され得る。もちろん、プロセッサ及び記憶媒体は、別個のコンポーネントとしてネットワークデバイス又は端末デバイスに存在してもよい。
【0414】
上記の実施例において、全部又は一部をソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせによって実現することができる。ソフトウェアプログラムを用いて実現する場合、全部又は一部をコンピュータプログラム製品の形態で実現することができる。コンピュータプログラム製品は、1つ以上のコンピュータプログラム又は命令を含む。当該コンピュータプログラム又は命令がコンピュータ上でロード及び実行されるとき、本発明の実施形態に係る手順又は機能は、全部又は部分的に実行される。当該コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、ネットワークデバイス、ユーザ機器、又は他のプログラマブル装置であってもよい。当該コンピュータプログラム又はは命令は、コンピュータ可読記憶媒体に記憶されてもよく、あるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、当該コンピュータプログラム又はは命令は、有線又は無線方式で、ウェブサイト、コンピュータ、サーバ、又はデータセンタから別のウェブサイト、コンピュータ、サーバ、又はデータセンタに送信されてもよい。当該コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体、又は1つ以上の利用可能な媒体を統合したサーバ、データセンタなどのデータ記憶装置であってもよい。当該利用可能な媒体は、フロッピーディスク、ハードディスク、又は磁気テープなどの磁気媒体であってもよく、デジタルビデオディスク(digital video disc、DVD)などの光媒体であってもよく、ソリッドステートドライブ(solid state drives、SSD)などの半導体媒体であってもよい。
【0415】
本発明の各実施例において、特別な説明及び論理的な矛盾がなければ、異なる実施例間の用語及び/又は説明が一致性を有し、且つ互いに引用可能である。異なる実施例における技術的特徴は、その内部の論理関係に応じて組み合わせて新たな実施例を形成することができる。本発明において、「少なくとも1つ」は1つ以上を指し、「複数」は2つ以上を指す。「及び/又は」は、関連対象の関連関係を説明し、3種類の関係が存在し得ることを表す。例えば、A及び/又はBは、Aが単独で存在すること、AとBが同時に存在すること、Bが単独で存在することを表すことができる。ここで、A、Bは単数又は複数であってもよい。本発明のテキスト説明において、文字「/」は、一般に、前後の関連対象が「又は」の関係であることを表し、本発明の式において、文字「/」は、前後の関連対象が「除算」の関係であることを表す。
【0416】
本発明の実施例における様々な数字の番号は、説明の便宜上の区別に過ぎず、本発明の実施例の範囲を限定するものではないことを理解されたい。上記の各プロセスのシーケンスの番号は、実行順序を意味するものではなく、各プロセスの実行順序は、その機能及び内部論理によって決定されるべきである。
【国際調査報告】