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

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

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

特表2025-504490画像復号方法、画像符号化方法、及び対応する装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-12
(54)【発明の名称】画像復号方法、画像符号化方法、及び対応する装置
(51)【国際特許分類】
   H04N 19/124 20140101AFI20250204BHJP
   H04N 19/176 20140101ALI20250204BHJP
   H04N 19/136 20140101ALI20250204BHJP
【FI】
H04N19/124
H04N19/176
H04N19/136
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024543258
(86)(22)【出願日】2023-01-17
(85)【翻訳文提出日】2024-07-23
(86)【国際出願番号】 CN2023072549
(87)【国際公開番号】W WO2023138562
(87)【国際公開日】2023-07-27
(31)【優先権主張番号】202210062756.3
(32)【優先日】2022-01-19
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】508219313
【氏名又は名称】杭州海康威視数字技術股▲フン▼有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】魏 ▲亮▼
(72)【発明者】
【氏名】▲陳▼ 方▲棟▼
(72)【発明者】
【氏名】王 莉
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159TA46
5C159TB08
5C159TC41
5C159TC42
5C159TC43
5C159TD12
5C159UA02
5C159UA05
(57)【要約】
本発明の実施形態は、画像復号方法、画像符号化方法、及び対応する装置を提供し、ビデオコーデックの分野に関する。当該画像復号方法の一例によれば、現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、当該画素点の量子化パラメータQP値を決定し、現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる。その後、当該画素点のQP値に基づいて、当該画素点を逆量子化する。符号化ブロックに対して各画素点のQP値を決定するため、各画素点のQP値に基づいて各画素点を逆量子化することができる。
【特許請求の範囲】
【請求項1】
復号機器によって実行される画像復号方法であって、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点を逆量子化するステップと、を含む
ことを特徴とする画像復号方法。
【請求項2】
前記現在の符号化ブロックのQP値を取得するステップと、
前記画素点の予測QP値が前記現在の符号化ブロックのQP値であると決定するステップと、をさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記画素点のQP値を決定することは、
前記画素点が前記現在の符号化ブロック内のいずれか1つの目標画素点又は任意の複数の並列逆量子化された目標画素点である場合、前記画素点の予測QP値を調整し、調整後の予測QP値を前記画素点のQP値とすることを含む
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記画素点の予測QP値を調整することは、
前記画素点の周囲の再構成済み画素点の情報を取得することと、
前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することと、を含む
ことを特徴とする請求項3に記載の方法。
【請求項5】
前記画素点の予測QP値を調整することは、
前記画素点が第1の予め設定された条件を満たす場合、予め設定されたQP値を前記画素点のQP値とし、
そうでない場合、前記画素点の予測QP値を前記画素点のQP値とすることを含み、
第1の予め設定された条件は、
前記画素点が輝度画素点であることと、
前記画素点が色度画素点であることと、
前記画素点のビット深度が、ビット深度閾値以下であることと、
前記画素点の予測QP値が調整可能なQP最大値以下であり、前記調整可能なQP最大値がQP最大値以下であることと、
前記画素点の周囲の再構成済み画素点の情報が第1の予め設定された閾値以下であることと、のうちの少なくとも1つを含む
ことを特徴とする請求項3に記載の方法。
【請求項6】
前記画素点のQP値に基づいて、前記画素点を逆量子化するステップは、
前記調整後の予測QP値に基づいて、前記画素点を逆量子化するステップを含む
ことを特徴とする請求項4又は請求項5に記載の方法。
【請求項7】
前記目標画素点は、前記現在の符号化ブロック内のいずれか1つ又は複数の画素点である、
ことを特徴とする請求項4又は請求項5に記載の方法。
【請求項8】
前記現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、前記目標画素点は、前記第2部分の画素点のうちのいずれか1つ又は複数の画素点である、
ことを特徴とする請求項4又は請求項5に記載の方法。
【請求項9】
前記目標画素点は、前記第2部分の画素点における第1位置の画素点のうちのいずれか1つ又は複数の画素点である、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記目標画素点は、前記第2部分の画素点における第2位置の画素点のうちのいずれか1つ又は複数の画素点である、
ことを特徴とする請求項8に記載の方法。
【請求項11】
前記現在の符号化ブロックの予測モードは、ピクセル単位の予測モードであり、
前記現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、
前記第2部分の画素点は、第1位置の画素点及び/又は第2位置の画素点を含み、
前記第1位置の画素点及び前記第2位置の画素点は、前記現在の符号化ブロックのピクセル単位の予測モードに基づいて決定される、
ことを特徴とする請求項4又は請求項5に記載の方法。
【請求項12】
前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することは、
前記画素点が第2の予め設定された条件及び第3の予め設定された条件を満たす場合、第1のQPオフセット量及び歪み基準QP値に基づいて、前記画素点の予測QP値を調整し、
前記画素点が前記第2の予め設定された条件及び第4の予め設定された条件を満たす場合、第2のQPオフセット量及びQP最大値に基づいて、前記画素点の予測QP値を調整し、
そうでない場合、前記画素点の予測QP値を前記画素点のQP値とすることを含み、
前記歪み基準QP値は、知覚できる歪みに対応するQP値を表し、前記第2の予め設定された条件は、前記画素点の予測QP値が前記歪み基準QP値より大きく、かつ、前記画素点の予測QP値が調整可能なQP最大値以下であることであり、前記第3の予め設定された条件は、前記画素点の周囲の再構成済み画素点の情報が第1の閾値以下であることであり、前記第4の予め設定された条件は、前記画素点の周囲の再構成済み画素点の情報が第2の閾値より大きいことであり、前記第1の閾値が前記第2の閾値以下である、
ことを特徴とする請求項3に記載の方法。
【請求項13】
前記画素点が前記第2の予め設定された条件及び前記第3の予め設定された条件を満たす場合、前記調整後のQP値は、
finalQP=max(initQP‐offset1,jndQP)を満たし、
ここで、finalQPは前記調整後の予測QP値を表し、initQPは前記画素点の予測QP値を表し、offset1は前記第1のQPオフセット量を表し、jndQPは前記歪み基準QP値を表し、maxは最大値を取ることを表す、
ことを特徴とする請求項12に記載の方法。
【請求項14】
前記画素点が前記第2の予め設定された条件及び前記第4の予め設定された条件を満たす場合、前記調整後のQP値は、
finalQP=min(initQP+offset2,maxQP)を満たし、
ここで、finalQPは前記調整後の予測QP値を表し、initQPは前記画素点の予測QP値を表し、offset2は前記第2のQPオフセット量を表し、maxQPは前記QP最大値を表し、minは最小値を取ることを表す、
ことを特徴とする請求項12に記載の方法。
【請求項15】
前記画素点の周囲の再構成済み画素点は、
前記画素点を中心とし、辺長が第1の予め設定された値である正方形領域内の画素点、又は、
前記画素点を中心とし、対角線の長さが第2の予め設定された値である菱形領域内の画素点、を含む、
ことを特徴とする請求項4又は請求項5に記載の方法。
【請求項16】
前記再構成済み画素点の情報は、前記再構成済み画素点の、画素値、再構成残差値、勾配値、平坦度情報又はテクスチャ度情報又は複雑度情報、背景輝度、コントラスト又は動き量のうちの少なくとも1つの情報を含む、
ことを特徴とする請求項4又は請求項5に記載の方法。
【請求項17】
前記再構成済み画素点の情報の値は、オリジナル値、絶対値、平均値、又は差分のうちの少なくとも1つを含む、
ことを特徴とする請求項16に記載の方法。
【請求項18】
前記画素点の周囲の再構成済み画素点の情報を取得することは、
前記画素点の予測画素点の情報を取得することと、
前記予測画素点が前記現在の符号化ブロック内の再構成済み画素点である場合、前記予測画素点の情報を、前記画素点の周囲の再構成済み画素点の情報とし、
そうでない場合、前記予測画素点の情報と前記予測画素点の周囲の再構成済み画素点の情報との差分又は差分の絶対値を、前記画素点の周囲の再構成済み画素点の情報とすることと、を含む
ことを特徴とする請求項4又は請求項5に記載の方法。
【請求項19】
前記現在の符号化ブロックの予測モードは、ブロック予測モードであり、前記方法はさらに、
前記現在の符号化ブロックの領域分割情報を取得するステップであって、前記領域分割情報は領域の数Nと領域境界線の位置情報とを含み、Nは2以上の整数である、ステップと、
前記領域分割情報に基づいて、前記現在の符号化ブロックをN個の領域に分割するステップと、を含む
ことを特徴とする請求項2に記載の方法。
【請求項20】
前記N個の領域のうちの少なくとも1つの領域の画素点のQP値は、少なくとも1つの他の領域の再構成済み画素点の情報に基づいて決定され、
前記他の領域は、前記N個の領域のうち、前記少なくとも1つの領域以外の領域、又は前記現在の符号化ブロック以外の領域である、
ことを特徴とする請求項19に記載の方法。
【請求項21】
前記領域の数Nは2であり、前記現在の符号化ブロックは第1の領域と第2の領域とを含み、
前記第1の領域内の画素点は、前記現在の符号化ブロックの、任意の位置の水平スライス内の画素点と、任意の位置の垂直スライス内の画素点と、任意の位置の斜めスライス内の画素点と、のうちの少なくとも1つを含み、
スライスの幅が2以下であり、前記スライスが現在の符号化ブロックの境界に位置する場合、前記スライスの幅は1に等しく、
前記第2の領域内の画素点は、前記現在の符号化ブロック内の前記第1の領域以外の画素点であり、
前記画素点のQP値を決定することは、
前記画素点が前記第1の領域内のいずれか1つの画素点である場合、前記画素点の予測QP値を調整し、調整後の予測QP値を前記画素点のQP値とし、
前記画素点が前記第2の領域内のいずれか1つの画素点である場合、前記画素点の予測QP値を前記画素点のQP値とすることを含む、
ことを特徴とする請求項20に記載の方法。
【請求項22】
前記画素点の予測QP値を調整することは、
前記画素点の周囲の再構成済み画素点の情報を取得することと、
前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することと、を含む
ことを特徴とする請求項21に記載の方法。
【請求項23】
前記現在の符号化ブロックの領域分割情報を取得するステップは、
前記現在の符号化ブロックの予め定義された領域分割情報を取得するステップ、又は、
ビットストリームを解析して、前記現在の符号化ブロックの領域分割情報を取得するステップを含む、
ことを特徴とする請求項19に記載の方法。
【請求項24】
前記現在の符号化ブロックに対して変換を行う場合、前記現在の符号化ブロックの領域分割情報を取得するステップは、
前記現在の符号化ブロックの上側の隣接する行の画素点及び/又は左側の隣接する列の画素点に基づいて、前記現在の符号化ブロックの領域分割情報を決定するステップを含み、
前記現在の符号化ブロックの領域分割方法は、水平分割、垂直分割、又は斜め分割のうちの少なくとも1つを含む、
ことを特徴とする請求項19に記載の方法。
【請求項25】
前記N個の領域内のいずれか1つの領域内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点のQP値を決定することは、
前記画素点のQPオフセット量を取得することと、
前記QPオフセット量に基づいて前記画素点の予測QP値を調整し、調整後の予測QP値を前記画素点のQP値とすることと、を含む
ことを特徴とする請求項24に記載の方法。
【請求項26】
前記画素点のQPオフセット量を取得することは、
ビットストリームを解析して、前記画素点のオフセットを取得すること、又は、
導出情報に基づいて、前記画素点のQPオフセット量を決定することであって、前記導出情報は、前記画素点が位置する領域のインデックス情報及び/又は前記画素点から前記画素点が位置する領域の領域境界線までの距離を含み、前記距離は、水平距離、垂直距離又はユークリッド距離のいずれかを含むこと、を含む
ことを特徴とする請求項25に記載の方法。
【請求項27】
前記画素点のQPオフセット量は、
前記画素点が位置する領域のインデックス情報に基づいて導出される第3のQPオフセット量と、
前記画素点から前記画素点が位置する領域の領域境界線までの距離に基づいて導出される第4のQPオフセット量と、
前記第3のQPオフセット量と前記第4のQPオフセット量との和と、のうちのいずれか1つであり、
同じ領域内の画素点の第3のQPオフセット量は同じであり、異なる領域内の画素点の第3のQPオフセット量は異なる、
ことを特徴とする請求項26に記載の方法。
【請求項28】
前記画素点のQP値に基づいて、前記画素点を逆量子化するステップは、
前記画素点のQP値に基づいて、前記画素点の量子化ステップを決定するステップと、
選択された量子化器の組み合わせに対して、前記画素点の量子化ステップを用いて前記画素点のレベル値を逆量子化するステップであって、前記量子化器の組み合わせは1つ又は複数の量子化器を含み、前記量子化器は均一量子化器又は非均一量子化器であり、前記画素点のレベル値はビットストリームを解析することにより取得される、ステップと、を含む
ことを特徴とする請求項1に記載の方法。
【請求項29】
符号化機器によって実行される画像符号化方法であって、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点を量子化するステップと、を含む
ことを特徴とする画像符号化方法。
【請求項30】
請求項1~28のいずれか1項に記載の方法を実現するように構成された、量子化パラメータQP決定ユニットと逆量子化ユニットとを備える、
ことを特徴とする画像復号装置。
【請求項31】
請求項29に記載の方法を実現するように構成された、量子化パラメータQP決定ユニットと量子化ユニットとを備える、
ことを特徴とする画像符号化装置。
【請求項32】
符号化機器と復号機器とを備えるビデオコーデックシステムであって、前記符号化機器は前記復号機器と通信可能に接続され、前記復号機器は請求項1~28のいずれか1項に記載の方法を実施するように構成され、前記符号化機器は請求項29に記載の方法を実施するように構成される、
ことを特徴とするビデオコーデックシステム。
【請求項33】
コンピュータ命令を記憶するように構成されたメモリと、前記メモリから前記コンピュータ命令を呼び出して実行して、請求項1~29のいずれか1項に記載の方法を実施するように構成されたプロセッサとを含む、
ことを特徴とする電子機器。
【請求項34】
コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラム又は命令が電子機器によって実行されると、請求項1~29のいずれか1項に記載の方法を実施する、
ことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ビデオコーデックに関し、特に、画像復号方法、画像符号化方法、及び対応する装置に関する。
【背景技術】
【0002】
ビデオコーデックの分野では、ビデオ圧縮(即ち、ビデオコーデック)技術を用いてビデオのデータ量を圧縮することができ、それにより、ビデオの効率的な伝送又は保存を実現することができる。
【0003】
ビデオを符号化・復号することは、ビデオの各フレームの画像を符号化・復号することである。1フレームの画像を例として、符号化機器では、画像エンコーダが画像を符号化し、画像に対応するビットストリームを得て、復号機器に伝送し、復号機器では、画像デコーダがビットストリームを解析して画像を得る。現在、画像は、1つ又は複数の符号化ユニット(coding unit、CU)に分割され、画像エンコーダは、各CUを予測し、CUの予測値とCUの真値との間の残差値を決定し、残差値を順次変換、量子化、符号化して、ビットストリームを得る。これに応じて、画像デコーダは、各CUを予測し、CUに対応するビットストリームの復号結果を順に逆量子化、逆変換して、当該CUに対応する残差値を得、CUの予測値と残差値との和を計算して、CUの再構成値を得る。
【0004】
画像符号化・復号の過程において、量子化は、信号値の多対1のマッピングを実現することができ、信号値の空間を効果的に減少させ、より良い圧縮効果を得ることができる。理解できるように、符号化機器及び復号機器は、量子化パラメータ(quantization parameter、QP)に基づいて量子化及び逆量子化処理を実行する。現在、1つのCUに対して1つのQPが設定され、符号化機器は各CUのQPを取得し、当該QPに基づいてCUの残差値や変換係数を量子化し、それに対応して、復号機器はCUのQPを取得し、当該QPに基づいてビットストリームを解析することによって得られた量子化された係数を逆量子化(dequantization)する。しかしながら、1つのCU内の全ての画素点に対して同じQPを用いて量子化し、即ち、当該CU内の全ての画素点に対して同じ程度の量子化が実行されると、画像符号化・復号プロセスにおける量子化歪み(量子化による画像歪み)が大きくなる。
【発明の概要】
【0005】
本発明の実施例は、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる画像復号方法、符号化方法及び対装置ビデオを提供する。上記目的を達成するために、本発明の実施例は以下の技術的解決策を採用する。
【0006】
第1の態様によれば、本発明の実施例は、復号機器によって実行される画像復号方法を提供し、当該方法は、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点を逆量子化するステップと、を含む。
【0007】
本発明の実施例において提供される復号方法により、ビデオデコーダは、符号化ブロックに対して各画素点のQP値を決定し、それにより、各画素点のQP値に基づいて各画素点を逆量子化し、即ち、ピクセル単位に逆量子化を行うことができる。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0008】
可能な一実現形態では、本発明の実施例による画像復号方法は、
前記現在の符号化ブロックのQP値を取得するステップと、
前記画素点の予測QP値が前記現在の符号化ブロックのQP値であると決定するステップと、をさらに含む。
【0009】
可能な一実現形態では、前記画素点のQP値を決定することは、
前記画素点が前記現在の符号化ブロック内のいずれか1つの目標画素点又は任意の複数の並列逆量子化された目標画素点である場合、前記画素点の予測QP値を調整し、調整後の予測QP値を前記画素点のQP値とし、
前記画素点が前記現在の符号化ブロック内の前記目標画素点以外の画素点である場合、前記画素点の予測QP値を前記画素点のQP値として決定することを含む。
【0010】
可能な一実現形態では、前記画素点の予測QP値を調整することは、
前記画素点の周囲の再構成済み画素点の情報を取得することと、
前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することと、を含む。
【0011】
可能な一実現形態では、前記画素点の予測QP値を調整することは、
前記画素点が第1の予め設定された条件を満たす場合、予め設定されたQP値を前記画素点のQP値とし、
そうでない場合、前記画素点の予測QP値を前記画素点のQP値とすることを含み、
第1の予め設定された条件は、
前記画素点が輝度画素点であることと、
前記画素点が色度画素点であることと、
前記画素点のビット深度が、ビット深度閾値以下であることと、
前記画素点の予測QP値が調整可能なQP最大値以下であり、前記調整可能なQP最大値がQP最大値以下であることと、
前記画素点の周囲の再構成済み画素点の情報が第1の予め設定された閾値以下であることと、のうちの少なくとも1つを含む。
【0012】
可能な一実現形態では、前記画素点のQP値に基づいて、前記画素点を逆量子化するステップは、
前記調整後の予測QP値に基づいて、前記画素点を逆量子化するステップを含む。
【0013】
可能な一実現形態では、前記目標画素点は、前記現在の符号化ブロック内のいずれか1つ又は複数の画素点である。
【0014】
可能な一実現形態では、前記現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、前記目標画素点は、前記第2部分の画素点のうちのいずれか1つ又は複数の画素点である。
【0015】
可能な一実現形態では、前記目標画素点は、前記第2部分の画素点における第1位置の画素点のうちのいずれか1つ又は複数の画素点である。
【0016】
可能な一実現形態では、前記目標画素点は、前記第2部分の画素点における第2位置の画素点のうちのいずれか1つ又は複数の画素点である。
【0017】
可能な一実現形態では、前記現在の符号化ブロックの前記予測モードは、ピクセル単位の予測(pixel-wise prediction)モードであり、
前記現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、
前記第2部分の画素点は、第1位置の画素点及び/又は第2位置の画素点を含み、
前記第1位置の画素点及び前記第2位置の画素点は、前記現在の符号化ブロックのピクセル単位の予測モードに基づいて決定される。
【0018】
可能な一実現形態では、前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することは、
前記画素点が第2の予め設定された条件及び第3の予め設定された条件を満たす場合、第1のQPオフセット量及び歪み基準QP値に基づいて、前記画素点の予測QP値を調整し、
前記画素点が前記第2の予め設定された条件及び第4の予め設定された条件を満たす場合、第2のQPオフセット量及びQP最大値に基づいて、前記画素点の予測QP値を調整し、
そうでない場合、前記画素点の予測QP値を前記画素点のQP値とすることを含み、
前記歪み基準QP値は、知覚できる歪みに対応するQP値を表し、前記第2の予め設定された条件は、前記画素点の予測QP値が前記歪み基準QP値より大きく、かつ、前記画素点の予測QP値が調整可能なQP最大値以下であることであり、前記第3の予め設定された条件は、前記画素点の周囲の再構成済み画素点の情報が第1の閾値以下であることであり、前記第4の予め設定された条件は、前記画素点の周囲の再構成済み画素点の情報が第2の閾値より大きいことであり、前記第1の閾値が前記第2の閾値以下である。
【0019】
可能な一実現形態では、前記画素点が前記第2の予め設定された条件及び前記第3の予め設定された条件を満たす場合、前記調整後のQP値は、以下を満たす。
finalQP=max(initQP‐offset1,jndQP)
ここで、finalQPは前記調整後の予測QP値を表し、initQPは前記画素点の予測QP値を表し、offset1は前記第1のQPオフセット量を表し、jndQPは前記歪み基準QP値を表し、maxは最大値を取ることを表す。
【0020】
可能な一実現形態では、前記画素点が前記第2の予め設定された条件及び前記第4の予め設定された条件を満たす場合、前記調整後のQP値は、以下を満たす。
finalQP=min(initQP+offset2,maxQP)
ここで、finalQPは前記調整後の予測QP値を表し、initQPは前記画素点の予測QP値を表し、offset2は前記第2のQPオフセット量を表し、maxQPは前記QP最大値を表し、minは最小値を取ることを表す。
【0021】
可能な一実現形態では、前記画素点の周囲の再構成済み画素点は、
前記画素点を中心とし、辺長が第1の予め設定された値である正方形領域内の画素点、又は、
前記画素点を中心とし、対角線の長さが第2の予め設定された値である菱形領域内の画素点、を含む。
【0022】
可能な一実現形態では、前記再構成済み画素点の情報は、前記再構成済み画素点の、画素値、再構成残差値、勾配値、平坦度情報又はテクスチャ度情報又は複雑度情報、背景輝度、コントラスト又は動き量のうちの少なくとも1つの情報を含む。ここで、再構成残差値は、逆量子化後の残差値、又は再構成値と予測値との差分を含む。勾配値は、水平勾配、垂直勾配、又は平均勾配を含む。
【0023】
可能な一実現形態では、前記再構成済み画素点の情報の値は、オリジナル値、絶対値、平均値、又は差分のうちの少なくとも1つを含む。
【0024】
可能な一実現形態では、前記画素点の周囲の再構成済み画素点の情報を取得することは、
前記画素点の予測画素点の情報を取得することと、
前記予測画素点が前記現在の符号化ブロック内の再構成済み画素点である場合、前記予測画素点の情報を、前記画素点の周囲の再構成済み画素点の情報とし、
そうでない場合、前記予測画素点の情報と前記予測画素点の周囲の再構成済み画素点の情報との差分又は差分の絶対値を、前記画素点の周囲の再構成済み画素点の情報とすることと、を含む。
【0025】
可能な一実現形態では、前記現在の符号化ブロックの予測モードは、ブロック予測モードであり、本発明の実施例による画像復号方法はさらに、
前記現在の符号化ブロックの領域分割情報を取得するステップであって、前記領域分割情報は領域の数Nと領域境界線の位置情報とを含み、Nは2以上の整数である、ステップと、
前記領域分割情報に基づいて、前記現在の符号化ブロックをN個の領域に分割するステップと、を含む。
【0026】
可能な一実現形態では、前記N個の領域のうちの少なくとも1つの領域の画素点のQP値は、少なくとも1つの他の領域の再構成済み画素点の情報に基づいて決定され、
前記他の領域は、前記N個の領域のうち、前記少なくとも1つの領域以外の領域、又は前記現在の符号化ブロック以外の領域である。
【0027】
可能な一実現形態では、前記領域の数Nは2であり、前記現在の符号化ブロックは第1の領域と第2の領域とを含み、
前記第1の領域内の画素点は、前記現在の符号化ブロックの、任意の位置の水平スライス内の画素点と、任意の位置の垂直スライス内の画素点と、任意の位置の斜めスライス内の画素点と、のうちの少なくとも1つを含み、
スライスの幅が2以下であり、前記スライスが現在の符号化ブロックの境界に位置する場合、前記スライスの幅は1に等しく、
前記第2の領域内の画素点は、前記現在の符号化ブロック内の前記第1の領域以外の画素点である。
【0028】
このように、前記画素点のQP値を決定することは、
前記画素点が前記第1の領域内のいずれか1つの画素点である場合、前記画素点の予測QP値を調整し、調整後の予測QP値を前記画素点のQP値とし、
前記画素点が前記第2の領域内のいずれか1つの画素点である場合、前記画素点の予測QP値を前記画素点のQP値とすることを含む。
【0029】
上記の場合の可能な一実現形態において、前記画素点の予測QP値を調整することは、
前記画素点の周囲の再構成済み画素点の情報を取得することと、
前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することと、を含む。
【0030】
可能な一実現形態では、前記現在の符号化ブロックの領域分割情報を取得するステップは、
前記現在の符号化ブロックの予め定義された領域分割情報を取得するステップ、又は、
ビットストリームを解析して、前記現在の符号化ブロックの領域分割情報を取得するステップを含む。
【0031】
可能な一実現形態では、前記現在の符号化ブロックに対して変換を行う場合、前記現在の符号化ブロックの領域分割情報を取得するステップは、
前記現在の符号化ブロックの上側の隣接する行の画素点及び/又は左側の隣接する列の画素点に基づいて、前記現在の符号化ブロックの領域分割情報を決定するステップを含み、
前記現在の符号化ブロックの領域分割方法は、水平分割、垂直分割、又は斜め分割のうちの少なくとも1つを含む。
【0032】
このように、可能な一実現形態では、前記N個の領域内のいずれか1つの領域内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点のQP値を決定することは、
前記画素点のQPオフセット量を取得することと、
前記QPオフセット量に基づいて前記画素点の予測QP値を調整し、調整後の予測QP値を前記画素点のQP値とすることと、含む。
【0033】
可能な一実現形態では、前記画素点のQPオフセット量を取得することは、
ビットストリームを解析して、前記画素点のオフセットを取得すること、又は、
導出情報に基づいて、前記画素点のQPオフセット量を決定することであって、前記導出情報は、前記画素点が位置する領域のインデックス情報及び/又は前記画素点から前記画素点が位置する領域の領域境界線までの距離を含み、前記距離は、水平距離、垂直距離又はユークリッド距離のいずれかを含むこと、を含む。
【0034】
可能な一実現形態では、前記画素点のQPオフセット量は、
前記画素点が位置する領域のインデックス情報に基づいて導出される第3のQPオフセット量と、
前記画素点から前記画素点が位置する領域の領域境界線までの距離に基づいて導出される第4のQPオフセット量と、
前記第3のQPオフセット量と前記第4のQPオフセット量との和と、のうちのいずれか1つであり、
同じ領域内の画素点の第3のQPオフセット量は同じであり、異なる領域内の画素点の第3のQPオフセット量は異なる。
【0035】
可能な一実現形態では、前記画素点のQP値に基づいて、前記画素点を逆量子化するステップは、
前記画素点のQP値に基づいて、前記画素点の量子化ステップQstepを決定するステップと、
選択された量子化器の組み合わせに対して、前記画素点の量子化ステップを用いて前記画素点のレベル値を逆量子化するステップであって、前記量子化器の組み合わせは1つ又は複数の量子化器を含み、前記量子化器は均一量子化器又は非均一量子化器であり、前記画素点のレベル値はビットストリームを解析することにより取得される、ステップと、を含む。
【0036】
第2の態様によれば、本発明の実施例は、符号化機器によって実行される画像符号化方法を提供し、当該方法は、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点を量子化するステップと、を含む。
【0037】
本発明の実施例において提供される符号化方法により、ビデオエンコーダは、符号化ブロックに対して各画素点のQP値を決定し、それにより、各画素点のQP値に基づいて各画素点を量子化し、即ち、ピクセル単位に量子化を行うことができる。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0038】
画像符号化方法における様々な可能な実現方式は、画像復号方法における様々な可能な実現方式の説明を参照されたい。
【0039】
第3の態様によれば、本発明の実施例は、復号機器に適用される画像復号装置を提供し、当該復号装置は、第1の態様及びその可能な実現方式のうちの1つに記載の方法を実施するための各モジュール、例えば、量子化パラメータQP決定ユニットと逆量子化ユニットとを備える。
【0040】
第3の態様の技術的解決策及び有益な効果については、第1の態様及びその可能な実現方式のうちのいずれか1つの説明を参照されたい。前記復号装置は、上記第1の態様及び第1の態様の可能な実現方式のうちのいずれか1つの方法の例におけるアクションを実現する機能を有する。前記機能は、ハードウェアによって実現されてもよく、ハードウェアによって対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記機能に対応する1つ以上のモジュールを含む。
【0041】
第4の態様によれば、本発明の実施例は、符号化機器に適用される画像符号化装置を提供し、当該符号化装置は、第2の態様及びその可能な実現方式のうちの1つに記載の方法を実施するための各モジュール、例えば、量子化パラメータQP決定ユニットと量子化ユニットとを備える。
【0042】
第4の態様の技術的解決策及び有益な効果については、第2の態様及びその可能な実現方式のうちのいずれか1つの説明を参照されたい。前記符号化装置は、上記第2の態様及び第2の態様の可能な実現方式のうちのいずれか1つの方法の例におけるアクションを実現する機能を有する。前記機能は、ハードウェアによって実現されてもよく、ハードウェアによって対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記機能に対応する1つ以上のモジュールを含む。
【0043】
第5の態様によれば、本発明の実施例は、プロセッサ及びメモリを含む電子機器を提供し、前記メモリは、コンピュータ命令を記憶するように構成され、前記プロセッサは、メモリから前記コンピュータ命令を呼び出して実行して、第1の態様、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成される。例えば、当該電子機器は、ビデオエンコーダ又はビデオエンコーダを含む符号化機器であってもよい。別の例として、当該電子機器は、ビデオデコーダ、又はビデオデコーダを含む復号機器であってもよい。
【0044】
第6の態様によれば、本発明の実施例は、コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体を提供し、前記コンピュータプログラム又は命令が、コンピューティング機器又はコンピューティング機器が配置された記憶システムによって実行されると、第1の態様、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施する。
【0045】
第7の態様によれば、本発明の実施例は、命令を含むコンピュータプログラム製品を提供し、当該コンピュータプログラム製品がコンピューティングデバイス又はプロセッサ上で実行されると、コンピューティングデバイス又はプロセッサに命令を実行させて、第1の態様、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施する。
【0046】
第8の態様によれば、本発明の実施例は、メモリとプロセッサとを備えるチップを提供し、メモリは、コンピュータ命令を記憶するように構成され、プロセッサは、メモリから当該コンピュータ命令を呼び出して実行して、第1の態様、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成される。
【0047】
第9の態様によれば、本発明の実施例は、符号化機器と復号機器とを備えるビデオコーデックシステムを提供し、復号機器は、第1の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成され、符号化機器は、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成される。
【0048】
本発明の実施例は、上記の各態様で提供される実現方式に基づいて、より多くの実現方式を提供するためにさらに組み合わされてもよい。
【図面の簡単な説明】
【0049】
図1】本発明の一実施形態によるビデオコーデックシステムの例示的なブロック図である。
図2】本発明の一実施形態によるビデオエンコーダの例示的なブロック図である。
図3】本発明の一実施形態によるビデオデコーダの例示的なブロック図である。
図4】本発明の一実施形態によるビデオ符号化/復号のフローチャートである。
図5】本発明の一実施形態による画像復号方法のフローチャートである。
図6】本発明の一実施形態による画像復号方法のフローチャートである。
図7】本発明の一実施形態による画像復号方法のフローチャートである。
図8A】本発明の一実施形態による画素点の分布の概略図である。
図8B】本発明の一実施形態による画素点の分布の概略図である。
図9A】本発明の一実施形態による、ピクセル単位の予測モードにおける画素点の分割の概略図である。
図9B】本発明の一実施形態による、ピクセル単位の予測モードにおける画素点の分割の概略図である。
図9C】本発明の一実施形態による、ピクセル単位の予測モードにおける画素点の分割の概略図である。
図9D】本発明の一実施形態による、ピクセル単位の予測モードにおける画素点の分割の概略図である。
図10A】本発明の一実施形態によるピクセル単位の予測モードにおける画素点の分割の概略図である。
図10B】本発明の一実施形態によるピクセル単位の予測モードにおける画素点の分割の概略図である。
図11A】本発明の一実施形態によるピクセル単位の予測モードにおける画素点の分割の概略図である。
図11B】本発明の一実施形態によるピクセル単位の予測モードにおける画素点の分割の概略図である。
図12】本発明の一実施形態による画像復号方法のフローチャートである。
図13A】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図13B】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図13C】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図13D】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図14A】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図14B】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図14C】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15A】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15B】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15C】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15D】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15E】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図16】本発明の一実施形態による画像符号化方法のフローチャートである。
図17】本発明の一実施形態による残差グループの分割の概略図である。
図18】本発明の一実施形態によるTB/PBの分割の概略図である。
図19】本発明による復号装置の概略構造図である。
図20】本発明による符号化装置の概略構造図である。
図21】本発明による電子機器の概略構造図である。
【発明を実施するための形態】
【0050】
本明細書における「及び/又は」という用語は、関連対象の関連関係の説明に過ぎず、3種類の関係が存在する可能性があることを示すものである。例えば、A及び/又はBは、Aが単独で存在し、AとBが同時に存在し、Bが単独で存在するという3種類の状況を示すことができる。
【0051】
本発明の実施形態の明細書及び特許請求の範囲における「第1」や「第2」等の用語は、異なる対象を区別するためのものであり、対象の特定の順序を説明するためのものではない。例えば、第1の予め設定された値と第2の予め設定された値などは、異なる予め設定された値を区別するためのものであり、予め設定された値の特定の順序を説明するためのものではない。
【0052】
本発明の実施形態において、「例示的な」又は「例えば」などの用語は、例、例証又は説明を表すために用いられる。本発明の実施形態において「例示的な」又は「例えば」と記載されている任意の実施形態又は設計解決策は、他の実施形態又は設計解決策よりも好ましい又は有利であると解釈すべきではない。具体的に言えば、「例示的な」又は「例えば」などの用語を使用することは、関連概念を具体的に提示することを意図する。
【0053】
本発明の実施形態の説明において、特に断らない限り、「複数の」は2つ以上を指す。例えば、複数の処理ユニットは、2つ以上の処理ユニットを指し、複数のシステムは、2つ以上のシステムを指す。
【0054】
本発明の実施形態で提供される画像復号方法及び符号化方法は、ビデオ復号及びビデオ符号化にも適用できるが、ビデオは一連の画像(picture)を含み、ビデオを復号及び符号化することは、本質的に、ビデオに含まれる全ての画像を復号及び符号化することであると理解すべきである。
【0055】
理解できるように、画像符号化プロセスにおける量子化とは、信号の連続値(又は大量の離散値)を有限の複数の離散値にマッピングすることを指し、量子化は信号値の多対1のマッピングを実現することができる。ビデオ符号化において、残差信号が変換された後、変換係数は一般的に大きなダイナミックレンジを有するため、変換係数を量子化することで、信号値空間を効果的に減少させ、より良い圧縮効果を得ることができる。しかし、多対一のマッピングメカニズムにより、量子化過程に歪みが導入されることは避けられず、これがビデオ符号化における歪みが生じる根本的な原因である。
【0056】
逆量子化とは、量子化の逆過程である。逆量子化は、量子化後の係数を入力信号空間における再構成信号にマッピングすることであり、再構成信号は入力信号の近似である。
【0057】
量子化は、スカラ量子化(scalar quantization、SQ)とベクトル量子化とを含む。スカラ量子化は最も基本的な量子化方法であり、スカラ量子化の入力は一次元のスカラ信号である。スカラ量子化プロセスは、まず、入力信号空間を一連の互いに交差しない区間に分割し、各区間から1つの代表信号を選択し、次に、各入力信号に対して、当該入力信号を当該入力信号が位置する区間の代表信号にスカラ量子化することを含む。ここで、区間長は量子化ステップ(quantization step、Qstepと記す)と呼ばれ、区間インデックスはレベル値(Level)、即ち量子化後の値であり、量子化ステップを表すパラメータは量子化パラメータ(quantization parameter、QP)である。
【0058】
最も簡単なスカラ量子化方法は均一スカラ量子化であり、均一スカラ量子化は入力信号空間を等間隔の区間に分割し、各区間の代表信号は区間中点である。
【0059】
最適なスカラ量子化器はLloyd-Max量子化器であり、Lloyd-Max量子化器は入力信号の分布状況を考慮しており、区間分割は不均一であり、各区間の代表信号は当該区間の確率重心であり、隣接する2つの区間の境界点はこの2つの区間代表信号の中点である。
【0060】
以下では、本願の実施形態で適用されるシステムアーキテクチャについて説明し、図1は、本発明によるビデオコーデックシステムの例示的なブロック図である。本明細書において、「ビデオ符号化・復号器」という用語は、一般に、ビデオエンコーダ及びビデオデコーダの両方を指す。本発明では、「ビデオコーデック」又は「コーデック」という用語は、一般に、ビデオ符号化又はビデオ復号を指す。ビデオコーデックシステム1におけるビデオエンコーダ100及びビデオデコーダ200は、本発明において提供される複数の新しいインター予測モードのうちのいずれか1つにおいて説明される様々な方法の例に従って、現在の符号化・復号された画像ブロック又はそのサブブロックの動きベクトルなどの動き情報を予測するように構成され、それにより、予測された動きベクトルは、動き推定方法を使用して得られる動きベクトルに最大限に近づく、符号化時に動きベクトルの差分を伝送する必要がなくなり、符号化・復号性能をさらに向上させることができる。
【0061】
図1に示すように、ビデオコーデックシステム1は、符号化機器10及び復号機器20を含む。符号化機器10は、符号化ビデオデータを生成する。したがって、符号化機器10は、ビデオ符号化装置と呼ばれてもよい。復号機器20は、符号化機器10によって生成された符号化ビデオデータを復号してもよい。したがって、復号機器20は、ビデオ復号装置と呼ばれてもよい。符号化機器10、復号機器20、又はその両方の様々な実施形態は、1つ又は複数のプロセッサと、前記1つ又は複数のプロセッサに結合されたメモリとを含み得る。前記メモリは、本明細書で説明するように、RAM、ROM、EEPROM、フラッシュメモリ、又はコンピュータによってアクセス可能な命令もしくはデータ構造の形で所望のプログラムコードを記憶するために使用され得る任意の他の媒体を含み得るが、これらに限定されない。
【0062】
符号化機器10及び復号機器20は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノート型(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、車載コンピュータ、又はそれらの類似のものを含む様々な装置であってもよい。
【0063】
復号機器20は、リンク30を介して符号化機器10から符号化ビデオデータを受信することができる。リンク30は、符号化ビデオデータを符号化機器10から復号機器20に移動させることができる1つ又は複数の媒体又は装置を含み得る。一例では、リンク30は、符号化機器10が符号化ビデオデータを復号機器20にリアルタイムで直接送信することを可能にする1つ又は複数の通信媒体を含み得る。この例では、符号化機器10は、通信規格(例えば、無線通信プロトコル)に従って符号化ビデオデータを変調し、変調されたビデオデータを復号機器20に送信してもよい。前記1つ又は複数の通信媒体は、無線周波数(radio frequency、RF)スペクトル又は1つ又は複数の物理的伝送路などの無線及び/又は有線通信媒体を含み得る。前記1つ又は複数の通信媒体は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、又はグローバルネットワーク(例えば、インターネット)などのパケットベースネットワークの一部を形成し得る。前記1つ又は複数の通信媒体は、ルータ、スイッチ、基地局、又は符号化機器10から復号機器20への通信を容易にする他のデバイスを含み得る。
【0064】
別の例では、符号化データは、出力インタフェース140から記憶装置40に出力されてもよい。同様に、符号化データは、入力インタフェース240を介して記憶装置40からアクセスすることができる。記憶装置40は、分散型又はローカルアクセスのデータ記憶媒体、例えば、ハードディスクドライブ、ブルーレイディスク、デジタル多用途ディスク(digital video disc、DVD)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory、CD-ROM)、フラッシュメモリ、揮発性又は不揮発性メモリ、又は符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体であってもよい。
【0065】
別の例では、記憶装置40は、ファイルサーバ又は符号化機器10によって生成された符号化ビデオを保持し得る別の中間記憶装置に対応する。復号機器20は、ストリーミング又はダウンロードによって記憶装置40から記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶して復号機器20に送信することができる任意のタイプのサーバであってよい。例示的なファイルサーバは、ネットワークサーバ(例えば、ウェブサイト用)、ファイル転送プロトコル(file transfer protocol、FTP)サーバ、ネットワークアタッチストレージ(network attached storage、NAS)装置、又はローカルディスクドライブを含む。復号機器20は、任意の標準データ接続(インターネット接続を含む)を介して符号化ビデオデータにアクセスすることができる。これは、無線チャネル(例えば、ワイヤレスフィデリティ(wireless-fidelity、Wi-Fi)接続)、有線接続(例えば、デジタル加入者線(digital subscriber line、DSL)、ケーブルモデムなど)、又はファイルサーバに記憶された符号化ビデオデータにアクセスするのに適したそれらの組み合わせを含み得る。記憶装置40からの符号化ビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、又はこれらの組み合わせであってもよい。
【0066】
本発明によって提供される画像復号方法は、空中テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ストリーミングビデオ送信(例えば、インターネット経由)、データ記憶媒体に記憶されるビデオデータの符号化、データ記憶媒体に記憶されるビデオデータの復号、又は他のアプリケーションなど、様々なマルチメディアアプリケーションをサポートするためにビデオ符号化・復号に適用され得る。いくつかの実施例では、ビデオコーデックシステム1は、ビデオストリーミング、ビデオ再生、ビデオ放送及び/又はビデオ電話などのアプリケーションをサポートするために、単方向又は双方向ビデオ伝送をサポートするように構成されてもよい。
【0067】
図1に示されるビデオコーデックシステム1は例示に過ぎず、本発明の技術は、符号化装置と復号装置との間のデータ通信を必ずしも含まないビデオコーデック設定(例えば、ビデオ符号化やビデオ復号)に適用可能である。他の例では、データは、ローカルメモリから検索され、ネットワーク上でストリーミングされる。ビデオ符号化装置は、データを符号化してメモリに記憶してもよいし、及び/又はビデオ復号装置は、メモリからデータを読み出して復号してもよい。多くの例において、符号化・復号は、互いに通信せず、データをメモリに符号化し、及び/又はデータをメモリから取り出して復号する装置によって実行される。
【0068】
図1の例では、符号化機器10は、ビデオソース120、ビデオエンコーダ100、及び出力インタフェース140を含む。いくつかの例では、出力インタフェース140は、変調器/復調器(モデム)及び/又は送信機を含み得る。ビデオソース120は、ビデオキャプチャ装置(例えば、カメラ)、前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインインタフェース、及び/又はビデオデータを生成するためのコンピュータグラフィックスシステム、又はビデオデータのこれらのソースの組み合わせを含んでもよい。
【0069】
ビデオエンコーダ100は、ビデオソース120からのビデオデータを符号化することができる。いくつかの実施例では、符号化機器10は、出力インタフェース140を介して、符号化ビデオデータを復号機器20に直接送信する。他の例では、符号化ビデオデータは、復号機器20が復号及び/又は再生のためにアクセスするために、記憶装置40に記憶されてもよい。
【0070】
図1の例では、復号機器20は、入力インタフェース240と、ビデオデコーダ200と、表示装置220とを含む。いくつかの例では、入力インタフェース240は、受信機及び/又はモデムを含む。入力インタフェース240は、リンク30を介して、及び/又は記憶装置40から符号化ビデオデータを受信することができる。表示装置220は、復号機器20と一体化されていてもよいし、復号機器20の外部にあってもよい。一般に、表示装置220は、復号化ビデオデータを表示する。表示装置220は、液晶ディスプレイ(liquid crystal display、LCD)、プラズマディスプレイ、有機発光ダイオード(organic light-emitting diode、OLED)ディスプレイ又は他のタイプの表示装置など、様々な表示装置を含んでもよい。
【0071】
図1には示されていないが、いくつかの態様において、ビデオエンコーダ100及びビデオデコーダ200は、それぞれ、オーディオエンコーダ及びデコーダと統合されてもよく、共通データストリーム又は個別データストリーム内のオーディオ及びビデオの両方のエンコードに処理するために、適切なマルチプレクサ-デマルチプレクサユニット又は他のハードウェア及びソフトウェアを含んでもよい。いくつかの例では、適用可能である場合、デマルチプレクサ(MUX-DEMUX)ユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(user datagram protocol、UDP)などの他のプロトコルに準拠することができる。
【0072】
ビデオエンコーダ100及びビデオデコーダ200の各々は、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、ディスクリートロジック、ハードウェア、又はそれらの任意の組み合わせとして実装されてもよい。一部がソフトウェアで本発明を実施する場合、装置は、ソフトウェアのための命令を適切な不揮発性コンピュータ可読記憶媒体に記憶し、1つ又は複数のプロセッサを使用してハードウェアで前記命令を実行して本発明の技術を実施することができる。上記の内容(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせなどを含む)のいずれかは、1つ又は複数のプロセッサと見なされてもよい。ビデオエンコーダ100及びビデオデコーダ200は、1つ又は複数のエンコーダ又はデコーダに含まれてもよく、前記エンコーダ又はデコーダのいずれかは、対応する装置内の複合エンコーダ/デコーダ(符号化復号器)の一部として統合されてもよい。
【0073】
本発明では、一般に、ビデオエンコーダ100は、ある情報を例えばビデオデコーダ200に「シグナリング通知」又は「送信」する別の装置と呼ばれ得る。「シグナリング通知」又は「送信」という用語は、概して、圧縮されたビデオデータを復号するためのシンタックス要素及び/又は他のデータの伝送を指し得る。この伝送は、リアルタイム又はほぼリアルタイムに発生し得る。代替的に、この通信は、一定の時間が経過した後に発生してもよく、例えば、符号化時に符号化ビットストリームにおいてシンタックス要素をコンピュータ可読記憶媒体に記憶する時に発生してもよく、復号装置は、次に、前記シンタックス要素がこの媒体に記憶された後の任意の時間に前記シンタックス要素を検索してもよい。
【0074】
JCT-VCは、H.265(HEVC)規格を開発した。HEVC標準化は、HEVCテストモデル(HEVC model、HM)と呼ばれるビデオ復号装置の進化モデルに基づいている。H.265の最新の標準文書は、http://www.itu.int/rec/T-REC-H.265から取得することができる。最新バージョンの標準文書は、H.265(12/16)であり、該標準文書は参照により本明細書に組み込まれる。HMは、ITU-TH.264/AVCの既存のアルゴリズムに対して、ビデオ復号装置がいくつかの追加の能力を有すると仮定する。例えば、H.264は9種類のイントラ予測符号化モードを提供し、HMは最大35種類のイントラ予測符号化モードを提供することができる。
【0075】
JVETは、H.266規格の開発に取り組んでいる。H.266標準化のプロセスは、H.266テストモデルと呼ばれるビデオ復号装置の進化モデルに基づいている。H.266のアルゴリズム記述は、http:/phenix.int-evry.fr/jvetから取得することができ、最新のアルゴリズム記述はJVET-F1001-v2に含まれ、該アルゴリズム記述文書は参照により本明細書に組み込まれる。また、https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/からJEMテストモデルの参考ソフトウェアを取得することができ、同様に参照により本明細書に組み込まれる。
【0076】
一般に、HMの動作モデルは、ビデオフレーム又は画像を、輝度サンプル及び色度(chroma)サンプルの両方を含むツリーブロック又は最大符号化ユニット(largest coding unit、LCU)のシーケンスに分割することができ、LCUは符号化ツリーユニット(coding tree unit、CTU)とも呼ばれることを記述する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、復号順に連続する複数のツリーブロックを含む。ビデオフレーム又は画像を1つ又は複数のスライスに分割することができる。各ツリーブロックは、四分木に基づいて符号化ユニット(coding unit、CU)に分割され得る。例えば、四分木の根ノードであるツリーブロックを4つの子ノードに分割し、各子ノードを親ノードとして他の4つの子ノードに分割してもよい。四分木のリーフノードとしての最終的に分割不可能な子ノードは、復号化ビデオブロックなどの復号ノードを含む。復号ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義してもよく、復号ノードの最小サイズを定義してもよい。
【0077】
CUのサイズは、復号ノードのサイズに対応し、形状は正方形でなければならない。CUのサイズの範囲は、8×8画素から64×64画素までであってよく、それ以上のツリーブロックのサイズであってよい。
【0078】
ビデオシーケンスは、通常、一連のビデオフレーム又は画像を含む。画像のグループ(group of picture、GOP)は、例えば、一連の、1つ又は複数のビデオ画像を含む。GOPに含まれる画像の数を記述するシンタックスデータは、GOPのヘッダ情報に含まれていてもよく、1つ又は複数の画像のヘッダ情報に含まれていてもよく、他の場所に含まれてもよい。画像の各スライスは、対応する画像の符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ100は、通常、ビデオデータを符号化するために、個別のビデオスライス内のビデオブロックを操作する。ビデオブロックは、CU内の復号ノードに対応してもよい。ビデオブロックは、固定又は可変のサイズを有し、指定された復号基準に従ってサイズが異なってもよい。
【0079】
本発明において、「N×N」と「N掛けるN」は、16×16画素又は16掛ける16画素のような、垂直次元及び水平次元に従ったビデオブロックの画素サイズを指すために、互換的に使用されてもよい。一般的に、16×16ブロックは、垂直方向に16画素点(y=16)、水平方向に16画素点(x=16)を有する。同様に、N×Nブロックは、通常、垂直方向にN個の画素点を有し、水平方向にN個の画素点を有し、ここで、Nは非負の整数値を表す。ブロック内の画素は、行及び列に配列され得る。また、ブロックは、必ずしも水平方向と垂直方向に同じ数の画素点を有する必要はない。例えば、ブロックはN×M個の画素点を含んでもよく、ここで、MがNと等しくなくてもよい。
【0080】
CUのイントラ/インター予測復号が使用された後、ビデオエンコーダ100は、CUの残差データを計算してもよい。CUは、空間領域(画素領域とも呼ばれる)内の画素データを含んでもよく、残差ビデオデータに変換(例えば、離散コサイン変換(discrete cosine transform、DCT)、整数変換、離散ウェーブレット変換、又は概念的に類似の変換)を適用した後の変換領域内の係数を含んでもよい。残差データは、符号化されていない画像の画素と、CUに対応する予測値との画素差分に対応し得る。ビデオエンコーダ100は、残差データを含むCUを形成し、CUの変換係数を生成することができる。
【0081】
任意の変換によって変換係数を生成した後、ビデオエンコーダ100は、変換係数の量子化を実行して、係数を表すために使用されるデータの量をできるだけ減らして、さらなる圧縮を提供することができる。量子化は、係数の一部又は全部に関するビット深度を減らすことができる。例えば、量子化中にnビット値をmビット値に切り捨ててもよく、ここで、nはmより大きい。
【0082】
いくつかの実現可能な実施形態では、ビデオエンコーダ100は、量子化された変換係数を予め定義された走査順序で走査して、エントロピー符号化され得るシリアライズ(直列化)ベクトルを生成し得る。他の実現可能な実施形態において、ビデオエンコーダ100は、適応的走査を実行し得る。量子化された変換係数を走査して1次元ベクトルを形成した後、ビデオエンコーダ100は、コンテキスト適応型可変長復号化(context-based adaptive variable-length code、CAVLC)、コンテキスト適応型バイナリ算術復号化(context-based adaptive binary arithmetic coding、CABAC)、シンタックスベース適応型バイナリ算術復号化(syntax-based adaptive binary arithmetic coding、SBAC)、確率間隔分割エントロピー(probability interval partitioning entropy、PIPE)復号化、又は他のエントロピー復号化方法に従って1次元ベクトルをエントロピー復号化することができる。ビデオエンコーダ100はまた、ビデオデコーダ200がビデオデータを復号するように、符号化ビデオデータに関連するシンタックス要素をエントロピー符号化してもよい。
【0083】
CABACを実行するために、ビデオエンコーダ100は、コンテキストモデル内のコンテキストを送信されるシンボルに割り当ててもよい。コンテキストは、シンボルの隣接値が非ゼロであるかどうかに関係し得る。CAVLCを実行するために、ビデオエンコーダ100は、送信されるシンボルの可変長符号を選択し得る。可変長復号化(variable-length code、VLC)における符号語は、比較的短い符号が可能性の高いシンボルに対応し、比較的長い符号が可能性の低いシンボルに対応するように構成されてもよい。送信される各シンボルに対して同じ長さの符号語を使用することに対して、VLCの使用は、ビットレートを節約する目的を達成することができる。CABACにおける確率は、シンボルに割り当てられたコンテキストに基づいて決定されてもよい。
【0084】
本発明の実施形態では、ビデオエンコーダは、画像間の時間的冗長性を低減するためにインター予測を実行することができる。本発明では、ビデオデコーダによって現在復号されているCUは、現在のCUと呼ばれ得る。本発明では、ビデオデコーダによって現在復号されている画像は、現在の画像と呼ばれ得る。
【0085】
図2は、本発明によるビデオエンコーダの例示的なブロック図である。ビデオエンコーダ100は、ビデオを後処理エンティティ41に出力するように構成される。後処理エンティティ41は、MANE(media aware network element)又はスプライシング/編集装置など、ビデオエンコーダ100からの符号化ビデオデータを処理することができるビデオエンティティの例を表す。場合によっては、後処理エンティティ41は、ネットワークエンティティの例であってもよい。いくつかのビデオ符号化システムにおいて、後処理エンティティ41とビデオエンコーダ100は、別個の装置のいくつかの部分であってもよく、他の実施例では、後処理エンティティ41に関して説明された機能は、ビデオエンコーダ100を含む同じ装置によって実行されてもよい。一例では、後処理エンティティ41は、図1の記憶装置40の例である。
【0086】
図2の例では、ビデオエンコーダ100は、予測処理ユニット108、フィルタユニット106、復号化ピクチャバッファ(decoded picture buffer、DPB)107、加算器112、変換器101、量子化器102、及びエントロピー符号化器103を含む。予測処理ユニット108は、インター予測器110とイントラ予測器109とを含む。画像ブロック再構成のために、ビデオエンコーダ100は、逆量子化器104、逆変換器105、及び加算器111をさらに含む。フィルタユニット106は、デブロッキングフィルタ、適応ループフィルタ(adaptive loop filter、ALF)及びサンプル適応オフセット(sample adaptive offset、SAO)フィルタなど、1つ又は複数のループフィルタを表す。図2では、フィルタユニット106をループ内フィルタとして示しているが、他の実施形態では、フィルタユニット106をループ後フィルタとして実施してもよい。一例では、ビデオエンコーダ100は、ビデオデータメモリ及び分割ユニット(図示せず)をさらに含み得る。
【0087】
ビデオデータメモリは、ビデオエンコーダ100のコンポーネントによって符号化すべきビデオデータを記憶することができる。ビデオソース120からビデオデータを取得して、ビデオデータメモリに記憶されてもよい。DPB 107は、ビデオエンコーダ100がイントラ、インターコーデックモードでビデオデータを符号化するための参照ビデオデータを記憶する参照画像メモリであってもよい。ビデオデータメモリ及びDPB 107は、SDRAM(synchronous dynamic random access memory)を含むDRAM(dynamic random access memory)、MRAM(magnetic random access memory)、RRAM(resistive random access memory)、又は別のタイプのメモリ装置など、様々なメモリ装置のうちのいずれかによって形成されてもよい。ビデオデータメモリ及びDPB 107は、同一のメモリ装置によって提供されてもよいし、別個のメモリ装置によって提供されてもよい。様々な実施例において、ビデオデータメモリは、ビデオエンコーダ100の他のコンポーネントと共にチップ上にあってもよく、それらのコンポーネントに対してチップ外にあってもよい。
【0088】
図2に示すように、ビデオエンコーダ100は、ビデオデータを受信し、当該ビデオデータをビデオデータメモリに記憶する。分割ユニットは、前記ビデオデータをいくつかの画像ブロックに分割し、これらの画像ブロックは、例えば、四分木構造又は二分木構造に基づく画像ブロック分割など、より小さなブロックにさらに分割されてもよい。この分割は、スライス(slice)、タイル(tile)又は他の大きなユニットに分割することを含んでもよい。ビデオエンコーダ100は、通常、符号化すべきビデオスライス内の画像ブロックを符号化するためのコンポーネントを表す。前記スライスは、複数の画像ブロックに分割されてもよい(タイルと呼ばれる画像ブロックセットに分割されてもよい)。予測処理ユニット108は、現在の画像ブロックに使用される複数の可能なコーデックモードのうちの1つ、例えば、複数のイントラコーデックモードのうちの1つ、又は複数のインターコーデックモードのうちの1つを選択してもよい。予測処理ユニット108は、残差ブロックを生成するために、イントラ及びインターコーデックブロックを加算器112に供給し、参照画像として使用される符号化ブロックを再構成するために、加算器111に供給してもよい。
【0089】
予測処理ユニット108内のイントラ予測器109は、空間的冗長性を除去するために、符号化すべき現在のブロックと同じフレーム又はスライス内の1つ又は複数の隣接ブロックに対して現在の画像ブロックのイントラ予測符号化を実行してもよい。予測処理ユニット108内のインター予測器110は、時間的冗長性を除去するために、1つ又は複数の参照画像内の1つ又は複数の予測ブロックに対して現在の画像ブロックのインター予測符号化を実行してもよい。
【0090】
具体的には、インター予測器110は、現在の画像ブロックを符号化するためのインター予測モードを決定するように構成され得る。例えば、インター予測器110は、ビットレート-歪み分析を使用して、候補のインター予測モードセットにおける様々なインター予測モードのビットレート-歪み値を計算し、その中から最適なビットレート-歪み特性を有するインター予測モードを選択してもよい。ビットレート-歪み分析は、通常、符号化ブロックと、当該符号化ブロックの元の符号化されていないブロックとの間の歪み(又は誤差)の量、及び符号化ブロックを生成するためのビットレート(即ち、ビット数)を決定する。例えば、インター予測器110は、候補インター予測モードセットにおける、ビットレート‐歪みコストが最も小さい前記現在の画像ブロックを符号化するインター予測モードを、現在の画像ブロックに対してインター予測を行うためのインター予測モードとして決定することができる。
【0091】
インター予測器110は、決定されたインター予測モードに基づいて、現在の画像ブロック内の1つ又は複数のサブブロックの動き情報(例えば、動きベクトル)を予測し、現在の画像ブロック内の1つ又は複数のサブブロックの動き情報(例えば、動きベクトル)を使用して、現在の画像ブロックの予測ブロックを取得又は生成するように構成される。インター予測器110は、参照画像リストにおいて、前記動きベクトルが指す予測ブロックを位置決めしてもよい。また、インター予測器110は、ビデオデコーダ200がビデオスライスの画像ブロックを復号するときに使用するために、画像ブロック及びビデオスライスに関連するシンタックス要素を生成してもよい。あるいは、一例では、インター予測器110は、各サブブロックの動き情報を使用して動き補償処理を実行して、各サブブロックの予測ブロックを生成し、現在の画像ブロックの予測ブロックを取得する。ここでのインター予測器110は、動き推定及び動き補償処理を実行することを理解されたい。
【0092】
具体的には、現在の画像ブロックに対してインター予測モードを選択した後、インター予測器110は、エントロピー符号化器103が選択されたインター予測モードを示す情報を符号化するように、現在の画像ブロックの選択されたインター予測モードを示す情報をエントロピー符号化器103に提供してもよい。
【0093】
イントラ予測器109は、現在の画像ブロックに対してイントラ予測を実行してもよい。具体的には、イントラ予測器109は、現在のブロックを符号化するためのイントラ予測モードを決定してもよい。例えば、イントラ予測器109は、ビットレート‐歪み分析を使用して様々なテスト対象のイントラ予測モードのビットレート‐歪み値を計算し、テスト対象のモードの中から最適なビットレート‐歪み特性を有するイントラ予測モードを選択してもよい。いずれの場合であっても、画像ブロックに対してイントラ予測モードを選択した後、イントラ予測器109は、エントロピー符号化器103が選択されたイントラ予測モードを示す情報を符号化するように、現在の画像ブロックの選択されたイントラ予測モードを示す情報をエントロピー符号化器103に提供することができる。
【0094】
予測処理ユニット108がインター予測、イントラ予測によって現在の画像ブロックの予測ブロックを生成した後、ビデオエンコーダ100は、符号化すべき現在の画像ブロックから前記予測ブロックを減算して残差画像ブロックを形成する。加算器112は、この減算動作を実行する1つ又は複数のコンポーネントを表す。前記残差ブロック内の残差ビデオデータは、1つ又は複数の変換ユニット(transform unit、TU)に含まれてよく、変換器101に適用される。変換器101は、例えば離散コサイン変換(discrete cosine transform、DCT)又は概念的に類似する変換などを用いて、残差ビデオデータを残差変換係数に変換する。変換器101は、残差ビデオデータを画素値領域から周波数領域などの変換領域に変換してもよい。
【0095】
変換器101は、得られた変換係数を量子化器102に送信することができる。量子化器102は、前記変換係数を量子化してビットレートをさらに低減する。いくつかの例では、量子化器102は、次に、量子化された変換係数を含む行列に対する走査を実行してもよい。あるいは、エントロピー符号化器103は、走査を実行してもよい。
【0096】
量子化後、エントロピー符号化器103は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化器103は、コンテキスト適応型可変長符号化(CAVLC)、コンテキスト適応型バイナリ算術符号化(CABAC)、シンタックスベース適応型バイナリ算術符号化(SBAC)、確率間隔分割エントロピー(PIPE)符号化、又は別のエントロピー符号化方法もしくは技術を実行してもよい。エントロピー符号化器103によってエントロピー符号化された後、符号化ビットストリームは、ビデオデコーダ200に送信されてもよく、後で送信するために又はビデオデコーダ200によって検索されるためにアーカイブされてもよい。また、エントロピー符号化器103は、符号化すべき現在の画像ブロックのシンタックス要素をエントロピー符号化してもよい。
【0097】
逆量子化器104及び逆変換器105は、それぞれ逆量子化及び逆変換を適用して、例えば、後に参照画像の参照ブロックとして使用するために、画素領域において残差ブロックを再構成する。加算器111は、再構成された残差ブロックを、インター予測器110又はイントラ予測器109によって生成された予測ブロックに追加して、再構成された画像ブロックを生成する。フィルタユニット106は、ブロックアーティファクト(block artifacts)などの歪みを低減するために再構成された画像ブロックに適用されてもよい。その後、該再構成された画像ブロックは参照ブロックとして復号化ピクチャバッファ107に記憶され、インター予測器110により、後続のビデオフレーム又は画像におけるブロックに対してインター予測を行うための参照ブロックとして使用され得る。
【0098】
ビデオエンコーダ100の他の構造的変化はまた、ビデオビットストリームを符号化するために使用され得ることを理解されたい。例えば、いくつかの画像ブロック又は画像フレームについて、ビデオエンコーダ100は、変換器101によって処理される必要がなく、それに応じて、逆変換器105によって処理される必要もなく、残差信号を直接量子化することができる。あるいは、いくつかの画像ブロック又は画像フレームについて、ビデオエンコーダ100は、残差データを生成せず、それに応じて、変換器101、量子化器102、逆量子化器104、及び逆変換器105によって処理される必要がない。あるいは、ビデオエンコーダ100は、フィルタユニット106によって処理される必要がなく、再構成された画像ブロックを参照ブロックとして直接記憶することができる。あるいは、ビデオエンコーダ100内の量子化器102及び逆量子化器104は、一緒に統合され得る。
【0099】
図3は、本発明によるビデオデコーダ200の例示的なブロック図である。図3の例では、ビデオデコーダ200は、エントロピー復号器203、予測処理ユニット208、逆量子化器204、逆変換器205、加算器211、フィルタユニット206、及びDPB 207を含む。予測処理ユニット208は、インター予測器210及びイントラ予測器209を含み得る。いくつかの例では、ビデオデコーダ200は、図2のビデオエンコーダ100について説明した符号化プロセスと実質的に逆の復号プロセスを実行し得る。
【0100】
復号プロセスにおいて、ビデオデコーダ200は、ビデオエンコーダ100から、符号化ビデオスライスの画像ブロック及び関連するシンタックス要素を表す符号化ビデオビットストリームを受信する。ビデオデコーダ200は、ネットワークエンティティ42からビデオデータを受信してもよく、オプションで、前記ビデオデータをビデオデータメモリ(図示せず)に記憶してもよい。ビデオデータメモリは、符号化ビデオビットストリームなど、ビデオデコーダ200のコンポーネントによって復号すべきビデオデータを記憶することができる。ビデオデータメモリに記憶されるビデオデータは、例えば、記憶装置40から、カメラなどのローカルビデオソースから、ビデオデータの有線又は無線ネットワーク通信を介して、又は物理データ記憶媒体にアクセスすることによって、取得されてもよい。ビデオデータメモリは、符号化ビデオビットストリームからの符号化ビデオデータを記憶するための復号化ピクチャバッファ(DPB)として機能することができる。したがって、ビデオデータメモリは、図3には示されていないが、ビデオデータメモリとDPB 207とは、同一のメモリであってもよいし、個別に設けられたメモリであってもよい。ビデオデータメモリ及びDPB 207は、シンクロナスDRAM(SDRAM)を含むDRAM、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、又は他のタイプのメモリ装置など、様々なメモリ装置のいずれかによって形成されてもよい。様々な実施例において、ビデオデータメモリは、ビデオデコーダ200の他のコンポーネントと共にチップ上に集積されてもよく、それらのコンポーネントに対してチップ外に設けられてもよい。
【0101】
ネットワークエンティティ42は、サーバ、MANE、ビデオエディタ/スプライシング装置、又は上述した技術の1つ又は複数を実施するための他の装置であってもよい。ネットワークエンティティ42は、ビデオエンコーダ100などのビデオエンコーダを含んでもよいし、含まなくてもよい。ネットワークエンティティ42は、符号化ビデオビットストリームをビデオデコーダ200に送信する前に、本発明で説明される技術の一部を実施してもよい。いくつかのビデオ復号システムにおいて、ネットワークエンティティ42とビデオデコーダ200は、別々の装置の部分であってもよく、他の場合、ネットワークエンティティ42に関して説明された機能は、ビデオデコーダ200を含む同じ装置によって実行されてもよい。場合によっては、ネットワークエンティティ42は、図1の記憶装置40の例であり得る。
【0102】
ビデオデコーダ200のエントロピー復号器203は、ビットストリームをエントロピー復号して、量子化された係数及びいくつかのシンタックス要素を生成する。エントロピー復号器203は、シンタックス要素を予測処理ユニット208に転送する。ビデオデコーダ200は、ビデオスライスレベル及び/又は画像ブロックレベルのシンタックス要素を受信することができる。
【0103】
ビデオスライスがイントラ復号(I)スライスとして復号される場合、予測処理ユニット208のイントラ予測器209は、シグナリングによって通知されるイントラ予測モードと、現在のフレーム又は画像の以前の復号されたブロックからのデータとに基づいて、現在のビデオスライスの画像ブロックの予測ブロックを生成してもよい。ビデオスライスがインター復号(即ち、B又はP)スライスとして復号される場合、予測処理ユニット208のインター予測器210は、エントロピー復号器203から受信したシンタックス要素に基づいて、現在のビデオスライスの現在の画像ブロックを復号するためのインター予測モードを決定し、決定されたインター予測モードに基づいて前記現在の画像ブロックを復号(例えば、インター予測を実行する)してもよい。具体的には、インター予測器210は、新しいインター予測モードを使用して現在のビデオスライスの現在の画像ブロックを予測するかどうかを決定してもよく、シンタックス要素が、新しいインター予測モードを使用して現在の画像ブロックを予測することを示す場合、新しいインター予測モード(例えば、シンタックス要素によって指定される新しいインター予測モード又はデフォルトの新しいインター予測モード)に基づいて現在のビデオスライスの現在の画像ブロック又は現在の画像ブロックのサブブロックの動き情報を予測する。これにより、動き補償処理を通じて、予測された現在の画像ブロック又は現在の画像ブロックのサブブロックの動き情報を使用して、現在の画像ブロック又は現在の画像ブロックのサブブロックの予測ブロックを取得又は生成してもよい。ここで、動き情報は、参照画像情報及び動きベクトルを含んでもよく、参照画像情報は、単方向/双方向予測情報、参照画像リスト番号及び参照画像リストに対応する参照画像インデックスを含んでもよいが、これらに限定されない。インター予測の場合、予測ブロックは、参照画像リスト内の1つの参照画像から生成されてもよい。ビデオデコーダ200は、DPB 207に記憶された参照画像に基づいて、参照画像リスト、即ちリスト0及びリスト1を構築することができる。現在の画像の参照フレームインデックスは、参照フレームリスト0及び/又はリスト1に含まれてもよい。いくつかの例では、ビデオエンコーダ100が、特定のブロックの特定のシンタックス要素を復号するために新しいインター予測モードを使用するかどうかを示す信号を送信してもよく、あるいは、特定のブロックの特定のシンタックス要素を復号するために、新しいインター予測モードを使用するかどうかと、どの新しいインター予測モードを使用するかを示す信号を送信してもよい。なお、ここでのインター予測器210は、動き補償処理を実行する。
【0104】
逆量子化器204は、ビットストリームに供給され、エントロピー復号器203によって復号された、量子化された変換係数を逆量子化する。逆量子化は、ビデオスライス内の各画像ブロックについてビデオエンコーダ100によって計算された量子化パラメータを使用して、適用すべき量子化の程度を決定することと、適用すべき逆量子化の程度を決定することと、を含み得る。逆変換器205は、逆DCT、逆整数変換、又は概念的に類似する逆変換処理などの変換係数に逆変換を適用して、画素領域内の残差ブロックを生成する。
【0105】
インター予測器210が現在の画像ブロック又は現在の画像ブロックのサブブロックに対する予測ブロックを生成した後、ビデオデコーダ200は、逆変換器205からの残差ブロックと、インター予測器210によって生成された対応する予測ブロックとを加算することによって、再構成ブロック、即ち復号された画像ブロックを取得する。加算器211は、この加算動作を実行するコンポーネントを表す。必要に応じて、ループフィルタ(復号ループ内又は復号ループの後)を使用して画素遷移を平滑化してもよく、又は他の方式でビデオ品質を改善してもよい。フィルタユニット206は、デブロッキングフィルタ、適応ループフィルタ(ALF)及びサンプル適応オフセット(SAO)フィルタなどの1つ又は複数のループフィルタを表すことができる。図3では、フィルタユニット206をループ内フィルタとして示しているが、他の実施形態では、フィルタユニット206をループ後フィルタとして実施してもよい。一例では、フィルタユニット206は、ブロック歪みを低減するためにブロックを再構成し、その結果を復号化ビデオビットストリームとして出力するように構成される。また、所定のフレーム又は画像における復号された画像ブロックをDPB 207に記憶してもよく、DPB 207は、その後の動き補償のための参照画像を記憶する。DPB 207は、メモリの一部であってもよく、後に表示装置(例えば、図1の表示装置220)に表示するために復号化ビデオを記憶してもよく、又はこのようなメモリと分離されてもよい。
【0106】
ビデオデコーダ200の他の構造的変化は、符号化ビデオビットストリームを復号するために使用され得ることを理解されたい。例えば、ビデオデコーダ200は、フィルタユニット206によって処理されずに出力ビデオビットストリームを生成してもよく、又は、いくつかの画像ブロック又は画像フレームに対して、ビデオデコーダ200のエントロピー復号器203は、量子化された係数を復号せず、それに応じて、逆量子化器204及び逆変換器205によって処理される必要がない。
【0107】
本発明の技術は、図1図3に示され説明されたビデオエンコーダ100及びビデオデコーダ200のような、本発明において説明されたビデオエンコーダ又はビデオデコーダのいずれかによって実行され得る。即ち、実現可能な実施形態において、図2において説明されるビデオエンコーダ100は、ビデオデータのブロックの符号化中にインター予測を実行するときに、以下に説明される特定の技術を実行することができる。別の実現可能な実施形態において、図3において説明されるビデオデコーダ200は、ビデオデータのブロックの復号中にインター予測を実行するときに、以下に説明される特定の技術を実行することができる。したがって、一般的な「ビデオエンコーダ」又は「ビデオデコーダ」への参照は、ビデオエンコーダ100、ビデオデコーダ200、又は別のビデオ符号化又は復号ユニットを含み得る。
【0108】
図1図3は、本発明の実施形態による単なる例であり、いくつかの例では、ビデオエンコーダ100、ビデオデコーダ200、及びビデオコーデックシステムは、本発明を限定することなく、より多くの又はより少ない構成要素又はユニットを含み得る。
【0109】
以下では、図1図3に示されるビデオコーデックシステムに基づいて、本発明の実施形態は、可能なビデオ符号化/復号実施形態を提供する。図4は、本発明によるビデオ符号化/復号プロセスのフローチャートであり、図4に示すように、当該ビデオ符号化/復号実施形態は、プロセス(1)~プロセス(5)を含み、プロセス(1)~プロセス(5)は、上述した符号化機器10、ビデオデコーダ100、復号機器20、又はビデオデコーダ200のうちのいずれか1つ又は複数によって実行され得る。
【0110】
プロセス(1):1フレームの画像を互いに重ならない1つ又は複数の並列符号化ユニットに分割する。該1つ又は複数の並列符号化ユニット間に依存関係がなく、図4に示す並列符号化ユニット1及び並列符号化ユニット2のように、完全に並列/独立して符号化・復号することができる。
【0111】
プロセス(2):各並列符号化ユニットについて、それを互いに重ならない1つ又は複数の独立符号化ユニットにさらに分割してもよく、各独立符号化ユニット間は互いに依存しなくてもよいが、いくつかの並列符号化ユニットヘッダ情報を共有することができる。
【0112】
例えば、独立符号化ユニットの幅はw_lcuであり、高さはh_lcuである。並列符号化ユニットが1つの独立符号化ユニットに分割される場合、独立符号化ユニットのサイズは並列符号化ユニットのサイズと完全に同じであり、そうでない場合、独立符号化ユニットの幅は高さより大きくなければならない(エッジ領域でない限り)。
【0113】
通常、独立符号化ユニットは、固定のw_lcu×h_lcuであってもよく、w_lcu及びh_lcuは、いずれも2のN乗(N≧0)である。例えば、独立符号化ユニットのサイズは、128×4、64×4、32×4、16×4、8×4、32×2、16×2、又は8×2などであってもよい。
【0114】
可能な例として、独立符号化ユニットは、固定の128×4であってもよい。並列符号化ユニットのサイズが256×8である場合、並列符号化ユニットを4つの独立符号化ユニットに均等に分割することができ、並列符号化ユニットのサイズが288×10である場合、並列符号化ユニットは、第1/第2行を2つの128×4の独立符号化ユニットと1つの32×4の独立符号化ユニットに分割することができ、第3行を2つの128×2の独立符号化ユニットと1つの32×2の独立符号化ユニットに分割することができる。
【0115】
なお、独立符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分、又は赤(red、R)、緑(green、G)、青(blue、B)の3つの成分を含んでもよいし、いずれか1つの成分のみを含んでもよい。独立符号化ユニットが3つの成分を含む場合、これら3つの成分のサイズは完全に同じであっても異なってもよく、具体的には画像の入力フォーマットに関連する。
【0116】
プロセス(3):各独立符号化ユニットについて、それを互いに重ならない1つ又は複数の符号化ユニットにさらに分割してもよく、独立符号化ユニット内の各符号化ユニットは互いに依存してもよく、例えば、複数の符号化ユニットはプリコーディング及びデコーディングのために相互参照されてもよい。
【0117】
符号化ユニットと独立符号化ユニットとのサイズが同じである場合(即ち、独立符号化ユニットが1つの符号化ユニットのみに分割される場合)、そのサイズは、プロセス(2)に記載される全てのサイズであってもよい。
【0118】
独立符号化ユニットが互いに重ならない複数の符号化ユニットに分割される場合、その実行可能な分割例として、水平均等分割(符号化ユニットの高さが独立符号化ユニットと同じであるが、幅が異なり、その1/2、1/4、1/8、1/16などであってもよい)、垂直均等分割(符号化ユニットの幅が独立符号化ユニットと同じであり、高さが異なり、その1/2、1/4、1/8、1/16などであってもよい)、水平と垂直均等分割(四分木分割)などがあり、水平均等分割が好ましい。
【0119】
符号化ユニットの幅がw_cuであり、高さがh_cuである場合、その幅は高さよりも大きくなければならない(エッジ領域でない限り)。通常、符号化ユニットは、固定のw_cu×h_cuであってもよく、w_cu及びh_cuはいずれも2のN乗(Nは0以上)であり、例えば、16×4、8×4、16×2、8×2、8×1、4×1などである。
【0120】
可能な一例として、符号化ユニットは固定の16×4であってもよい。独立符号化ユニットのサイズが64×4である場合、独立符号化ユニットを4つの符号化ユニットに均等に分割してもよく、独立符号化ユニットのサイズが72×4である場合、符号化ユニットは、4つの16×4と1つの8×4に分割される。
【0121】
なお、符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分(又は赤R、緑G、青Bの3つの成分)を含んでもよいし、いずれか1つの成分のみを含んでもよい。符号化ユニットは3つの成分を含む場合、3つの成分のサイズは完全に同じであっても異なってもよく、具体的には画像入力フォーマットに関連する。
【0122】
なお、プロセス(3)は、ビデオコーデック方法における任意選択のステップであり、ビデオエンコーダ/デコーダは、プロセス(2)で得られた独立符号化ユニットの残差係数(又は残差値)を符号化/復号してもよい。
【0123】
プロセス(4):符号化ユニットについて、それを互いに重ならない1つ又は複数の予測グループ(Prediction Group、PG)にさらに分割してもよい。PGはGroupと略称されてもよく、各PGは、選択された予測モードに従って符号化・復号を行って各PGの予測値を取得し、各PGの予測値は符号化ユニット全体の予測値を構成し、符号化ユニットの予測値と符号化ユニットのオリジナル値とに基づいて、符号化ユニットの残差値を取得することができる。
【0124】
プロセス(5):符号化ユニットの残差値に基づいて符号化ユニットをグループ化し、互いに重ならない1つ又は複数の残差ブロック(residual block、RB)を取得し、各RBの残差係数を選定モードに従って符号化・復号して残差係数ストリームを形成する。具体的には、残差係数に対して変換を行う場合と変換を行わない場合に分けられる。
【0125】
プロセス(5)における残差係数符号化・復号方法の選定モードは、半固定長符号化方法、指数ゴロム(Golomb)符号化方法、Golomb‐Rice符号化方法、トランケーテッド・ユーナリ(Truncated Unary、TU)符号化方法、ランレングス符号化(Run Length Encoding、RLE)方法、オリジナル残差値の直接符号化方法などのいずれかを含むが、これらに限定されない。
【0126】
例えば、ビデオエンコーダは、RB内の係数を直接符号化することができる。
【0127】
また、例えば、ビデオエンコーダは、残差ブロックに対してDCT、DST、Hadamard変換などの変換を行い、変換後の係数を符号化することができる。
【0128】
可能な一例として、RBが小さい場合、ビデオエンコーダは、RB内の各係数を直接統一的に量子化して、2値化符号化を行ってもよい。RBが大きい場合、さらに複数の係数グループ(coefficient group、CG)に分割し、各CGを統一的に量子化した後、2値化符号化を行ってもよい。本発明のいくつかの実施形態では、CG及び量子化グループ(Quantization Group)は同じであってもよい。
【0129】
以下、半固定長符号化方式で残差係数符号化の部分を例示的に説明する。まず、1つのRBブロック内の残差の絶対値の最大値を修正最大値(modified maximum)とする。次に、当該RBブロック内の残差係数の符号化ビット数を決定し、同じRBブロック内の残差係数の符号化ビット数は一致する。例えば、現在のRBブロックのクリティカル制限値(critical limit、CL)が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つのみが存在する場合、1つのTrailingビットを符号化して該境界値が-2^(M-1)であるか2^(M-1)であるかを確定する必要がある。-2^(M-1)及び2^(M-1)のいずれも存在しない場合、該Trailingビットを符号化する必要がない。
【0130】
いくつかの特殊な場合には、ビデオエンコーダは、残差値ではなく、画像のオリジナル値を直接符号化してもよい。
【0131】
本発明の実施形態における符号化ブロック(coding block)は、画像内の1つの画像ブロックに対応し、符号化ブロックは、上記のプロセス(3)において分割された符号化ユニットであってもよく、符号化ユニットが分割された予測グループであってもよい。
【0132】
図1に示されるビデオコーデックシステム、図2に示されるビデオエンコーダ、及び図3に示されるビデオデコーダの概略構成図を参照して、本発明の実施形態における画像復号方法及び符号化方法について以下に詳細に説明する。
【0133】
図5は、本発明による画像復号方法のフローチャートであり、当該画像復号方法は、図1に示されるビデオコーデックシステムに適用され得、当該画像復号方法は、復号機器20によって実行され得る。具体的には、当該復号方法は、復号機器20に含まれるビデオデコーダ200によって実行され得る。図5に示すように、本発明の実施形態による画像復号方法は、以下のステップを含む。
【0134】
S501において、現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、当該画素点のQP値を決定する。
【0135】
ここで、現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる。並列逆量子化画素点とは、いくつかの画素点に対して、これらの画素点を並列に逆量子化することができることを意味する。
【0136】
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点は、ビデオデコーダによって現在処理されている画素点であり、説明を容易にするために、以下の実施形態では、現在の画素点とも呼ばれ得る。
【0137】
復号すべきビデオストリームを復号して、当該ビデオストリームに含まれる1つ又は複数の画像フレームを取得することができる。1つの画像フレームは、1つ又は複数の画像ブロックを含む。本発明の実施形態では、現在の符号化ブロックは、処理すべき画像(前記ビデオストリーム内の任意の画像フレームである)の1つの画像ブロックに対応し、符号化ブロックは、符号化ユニットであってもよい。
【0138】
従来技術では、1つの符号化ブロック(例えば、上記の現在の符号化ブロック)内の全ての画素点に対して同じQP値が使用される。即ち、現在の符号化ブロックを逆量子化するプロセスにおいて、QP値は符号化ブロックの粒度のQP値であるため、生じる画像歪みは比較的大きい。これに対して、本発明の実施形態では、1つの符号化ブロック(例えば、上記の現在の符号化ブロック)について、ビデオデコーダは、当該符号化ブロックの現在の画素点のQP値を決定し、符号化ブロックの画素点のうちの少なくとも2つに異なるQP値を割り当てる。即ち、現在の符号化ブロックを逆量子化するプロセスにおいて、QP値は画素粒度のQP値であり、同じ符号化ブロック内の異なる画素点間の差異が十分に考慮される。各画素点に適切なQP値を割り当てることにより、画像フレームの復号歪みを低減し、現在の符号化ブロックの逆量子化効果を向上させることができる(逆量子化効果は、復号により得られた画像の品質によって評価することができる)。
【0139】
S502において、現在の画素点のQP値に基づいて、当該現在の画素点を逆量子化する。
【0140】
現在の画素点を逆量子化することは、具体的には、現在の画素点のレベル値を逆量子化することであり、当該現在の画素点のレベル値は、ビデオデコーダがビットストリームを解析することによって取得される。
【0141】
符号化プロセスにおいて、ビデオエンコーダは、現在の符号化ブロックを予測して、当該現在の符号化ブロックの残差値を取得する。当該残差値は、現在の符号化ブロックの真値と現在の符号化ブロックの予測値との差であり、現在の符号化ブロックの残差係数と呼ばれてもよい。次に、現在の符号化ブロックの残差係数が変換された後に量子化され、現在の符号化ブロックの量子化係数を取得する。あるいは、ビデオエンコーダは、現在の符号化ブロックの量子化係数を取得するために、現在の符号化ブロックの残差係数を変換せず、当該残差係数を直接量子化する。この場合、当該量子化係数は、レベル値又は量子化された残差係数と呼ばれ得る。本発明の実施形態では、説明を容易にするために、量子化された値をレベル値と総称する。
【0142】
本発明の実施形態では、現在の画素点のQP値に基づいて、現在の画素点のレベル値を逆量子化するステップは、当該現在の画素点のQP値に基づいて、当該現在の画素点の量子化ステップQstepを決定するステップと、選択された量子化器の組み合わせに対して、当該現在の画素点のQstepを用いて当該現在の画素点のレベル値を逆量子化するステップとを含み得る。
【0143】
オプションとして、量子化器は、均一量子化器又は非均一量子化器であり、量子化器の組み合わせは、ビットストリームに含まれるマーク情報によって決定される。
【0144】
ビデオデコーダは、QP値に基づいて、式導出又はルックアップのうちの少なくとも1つによってQstepを決定することができ、以下に3つの可能な実現方法を提供する。
【0145】
方法1:
【数1】
ここで、a及びbは予め設定されたパラメータであり、例えば、aの値は2であり、bの値は1である。
【0146】
方法2:
【数2】
ここで、TはQPに関する整数であり、例えばT=(QP-6)/4である。
【0147】
方法3:
【数3】
ここで、octaveはQPのオクターブであり、即ち、QPの値がoctave増加するごとに、Qstepの値が1倍増加し、通常、octaveは6又は8であり、offsetは整数オフセット値である。
【0148】
オプションとして、下記のH.265における従来のスカラ量子化方法を用いて量子化及び逆量子化を実現してもよい。
量子化:
【数4】
逆量子化:
【数5】
ここで、lは量子化後に得られたレベル値であり、cは量子化すべき残差係数(該残差係数は、変換領域の残差係数、即ち変換された残差係数であってもよく、画素領域の残差係数、即ち残差値であってもよい)であり、Qstepは量子化ステップであり、fは丸めを制御するためのパラメータであり、f∈0,1)、signは符号関数を表し、floorは切り捨て関数を表し、c’は逆量子化後の値である。
【0149】
QP値が大きいほど、Qstep値が大きいほど、量子化が粗くなり、量子化による画像歪みが大きくなり、係数符号化のビットレートが小さくなることが理解できる。
【0150】
[0、1-f)は量子化不感帯(dead zone)を表し、パラメータfは量子化不感帯の長さに関連し、fが小さいほど量子化不感帯が長くなり、量子化後のレベル値がゼロ点に近くなる。f=0.5の場合、上記量子化及び逆量子化式は四捨五入に相当し、量子化歪みは最小になる。f<0.5の場合、fが小さいほど量子化歪みが大きくなり、係数符号化のビットレートが小さくなる。H.265において、Iフレームに対して、f=1/3を選択し、B/Pフレームに対して、f=1/6を選択する。
【0151】
例示的に、均一量子化器の量子化又は逆量子化式は、上記の量子化及び逆量子化式を参照することができ、パラメータfは以下の方法で取ることができる。
【0152】
方法1:fは、0.5又は他の固定値を取る。
【0153】
方法2:fは、QP値、予測モード、及び変換を行うかどうかに基づいて適応的に決定され得る。
【0154】
以上のように、本発明の実施形態において提供される復号方法によれば、ビデオデコーダは、符号化ブロックに対して各画素点のQP値を決定し、それにより、各画素点のQP値に基づいて各画素点を逆量子化し、即ち、ピクセル単位に逆量子化を行うことができる。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0155】
オプションとして、図5を参照して、図6に示すように、現在の画素点のQP値を決定する前に、本発明の実施形態で提供される復号方法は、S503~S504をさらに含む。
【0156】
S503において、現在の符号化ブロックのQP値を取得する。
【0157】
一実施態様では、現在の符号化ブロックのQP値は、ビットストリームを解析して取得されてもよい。ニアロスレス圧縮技術において、小さいQPが出現する確率は大きいQPよりも高いため、ビデオエンコーダは、トランケーテッド・ユーナリ(Truncated Unary、TU)、トランケーテッド・ライス(Truncated Rice、TR)、又は指数ゴロム(Golomb)を使用して、1つの符号化ブロックのQP値を直接符号化することができ、それにより、ビデオデコーダは、ビットストリームを解析して符号化ブロックのQP値を取得することができる。
【0158】
別の実施態様では、現在の符号化ブロックのQP値は、現在の符号化ブロックの予測QP値及びQPオフセット量に基づいて取得されてもよい。例えば、現在の符号化ブロックのQP値は、以下の方式1又は方式2によって取得され得る。
【0159】
ここで、前者の実施態様のプロセスは、S1~S3を含む。
【0160】
S1において、現在の符号化ブロックの予測QP値を取得する。
【0161】
オプションとして、現在の符号化ブロックの予測QP値は、現在の符号化ブロックの周囲ブロックのQP値に基づいて計算されてもよい。
【0162】
例えば、現在の符号化ブロックの予測QP値は、現在の符号化ブロックの左側の再構成ブロックのQP値と、上側の再構成ブロックのQP値とに基づいて、次のように決定されてもよい。
【数6】
ここで、predQPは、現在の符号化ブロックの予測QP値を表し、QPAは、現在の符号化の左側の再構成ブロックを表し、QPBは、現在の符号化ブロックの上側の再構成ブロックを表し、>>1は、1ビット右シフト、即ち、値が1/2になることを表す。
【0163】
S2において、ビットストリームを解析して、現在の符号化ブロックのQPオフセット量を取得する。
【0164】
ビデオ符号化プロセスにおいて、ビデオエンコーダは、現在の符号化ブロックの予測QP値を決定し、現在の符号化ブロックの真のQP値と予測QP値との差分を決定し、現在の符号化ブロックのQPオフセット量(deltAQPと記すことができる)を取得し、次いで、可変長符号化を用いてQPオフセット量を符号化し、ビットストリームを介してQPオフセット量をビデオデコーダに伝送する。これにより、ビデオデコーダは、ビットストリームを取得した後、ビットストリームを解析して、現在の符号化ブロックのQPオフセット量を取得することができる。
【0165】
S3において、現在の符号化ブロックの予測QP値とQPオフセット量との和を、現在の符号化ブロックのQP値とする。即ち、
QP=predQP+deltaQPである。
ここで、QPは現在符号化されているQP値を表し、predQPは現在の符号化ブロックの予測QP値を表し、deltaQPは現在の符号化ブロックのQPオフセット量を表す。
【0166】
後者の実施態様のプロセスは、S10~S30を含む。
【0167】
S10において、現在の符号化ブロックの予測QP値を取得する。
【0168】
S10の説明については、S1の関連説明を参照することができ、ここでは繰り返さない。
【0169】
S20において、現在の符号化ブロックの導出情報に基づいて、現在の符号化ブロックのQPオフセット値を決定する。
【0170】
ここで、導出情報は、現在の符号化ブロックの平坦度情報、ビットストリームバッファの残りの空間、又は歪み制約情報のうちの少なくとも1つを含む。
【0171】
ビデオ符号化プロセスでは、ビデオエンコーダは、符号制御アルゴリズムを使用して、現在の符号化ブロックの導出情報に基づいて現在の符号化ブロックのQPオフセット量を導出するが、ビデオエンコーダは、当該QPオフセット量をビットストリームで伝送しない。このように、ビデオ復号プロセスにおいて、ビデオデコーダは、ビデオエンコーダと同じ方法を使用して現在の符号化ブロックのQPオフセット量を導出する。上記S20は、当業者に知られているQPオフセット量を導出するための任意の方法を使用することができ、本明細書では詳述しない。
【0172】
S30において、現在の符号化ブロックの予測QP値とQPオフセット量との和を、現在の符号化ブロックのQP値とする。
【0173】
本発明の実施形態では、他のより多くの情報に基づいて現在の符号化ブロックの予測QP値を取得することができ、例えば、現在の符号化ブロックの前の符号化ブロックのQP、前の符号化ブロックの符号化ビット数(prev Block Rate)、ターゲットビットレート(target Rate)、現在の符号化ブロックの平坦度情報、及び現在のビットストリームバッファの充填度(rc Fullness)に基づいて、現在の符号化ブロックのQPオフセット量を導出する。
【0174】
S504において、現在の画素点の予測QP値が現在の符号化ブロックのQP値であると決定する。
【0175】
取得された現在の符号化ブロックのQP値を、現在の符号化ブロックの各画素点の初期QP値(即ち、予測QP値)とし、当該予測QP値を調整するか又は調整しないことによって、各画素のQP値を取得する。
【0176】
S503~S504に基づいて、図7に示すように、上記現在の画素点のQP値を決定すること(即ち、S501)は、具体的に、S5011~S5012を含む。
【0177】
S5011において、現在の画素点が現在の符号化ブロック内の目標画素点である場合、現在の画素点の予測QP値を調整し、調整後のQP値を現在の画素点のQP値とする。
【0178】
本発明の実施形態では、目標画素点は、現在の符号化ブロック内の1つ又は複数の指定画素点であり、これらの指定画素点は、QP値が調整すべき画素点又は候補画素点として理解され得る。候補画素点に対して、QP調整ポリシーを実行する。目標画素点については後述する。
【0179】
S5012において、現在の画素点が現在の符号化ブロック内の上記目標画素点以外の画素点である場合、現在の画素点の予測QP値を現在の画素点のQP値とする。
【0180】
本発明の実施形態では、現在の符号化ブロック内の目標画素点以外の画素点は調整されず、QP調整ポリシーを実行する必要はなく、これらの画素点のQP値は現在の符号化ブロックのQP値である。
【0181】
図7に示すように、一実施形態として、上記実施例におけるS5011はS601~S602によって実現してもよい。
【0182】
S601において、現在の画素点の周囲の再構成済み画素点の情報を取得する。
【0183】
現在の画素点の周囲の再構成済み画素点は、現在の画素点に隣接する再構成済み画素点として理解されてもよく、現在の画素点を中心とし、辺長が第1の予め設定された値である正方形領域内の画素点、又は現在の画素点を中心とし、対角線の長さが第2の予め設定された値である菱形領域内の画素点を含む。
【0184】
第1の予め設定された値及び第2の予め設定された値は、実際の要求に応じて設定されてもよく、第1の予め設定された値及び第2の予め設定された値は、等しくても異なってもよく、例えば、第1の予め設定された値及び第2の予め設定された値は、3又は5であってもよい。
【0185】
例示的に、図8Aは、現在の画素点を中心とする正方形領域の分割を例とする模式図であり、2つの可能なケースを示す。ケース1において、再構成済み画素点は、図8Aに示すような周囲画素点1のように、現在の画素点を中心とし、辺長が3である正方形領域内の画素点を指す。ケース2において、再構成済み画素点は、図8Aに示すような周囲画素点2のように、現在の画素点を中心とし、辺長が5である正方形領域内の画素点を指す。
【0186】
図8Bは、現在の画素点を中心とする菱形領域の分割を例とする模式図であり、2つの可能なケースを示す。ケース1において、再構成済み画素点は、8Bに示す周囲の画素点1のように、現在の画素点を中心とし、対角線の長さが3である菱形領域内の画素点を指す。ケース2において、再構成済み画素点は、図8Bに示す周囲の画素点2のように、現在の画素点を中心とし、対角線の長さが5である菱形領域内の画素点を指す。
【0187】
図8A及び図8Bは、現在の画素点の周囲の再構成済み画素点を説明するための本発明の実施形態の単なる例であり、本発明を限定するものとして理解すべきではない。他のいくつかの可能な例では、現在の画素点の周囲の再構成済み画素点は、当該現在の画素点に上下に隣接するか、又は左右に隣接する1つ又は2つの画素点であってもよい。
【0188】
現在の画素点の周囲の再構成済み画素点の情報は、当該再構成済み画素点の、画素値、再構成残差値、勾配値、平坦度情報又はテクスチャ度情報又は複雑度情報、背景輝度、コントラスト又は動き量のうちの少なくとも1つの情報を含み得る。ここで、再構成残差値は、逆量子化後の残差値、又は再構成値と予測値との差分を含む。勾配値は、水平勾配、垂直勾配、又は平均勾配を含む。動き量は、動きベクトルで表すことができる。
【0189】
さらに、上述した再構成済み画素点の情報の値は、オリジナル値、絶対値、平均値、又は差分のうちの少なくとも1つを含み得る。
【0190】
一実施形態において、上記の現在の画素点の周囲の再構成済み画素点の情報を取得する方法は、ステップ1~ステップ2を含んでもよい。
【0191】
ステップ1において、現在の画素点の予測画素点の情報を取得する。
【0192】
現在の画素点の予測画素点は再構成済み画素点である。オプションとして、当該再構成済み画素点は、現在の符号化ブロック内の再構成済み画素点であってもよく、現在の符号化ブロック以外の再構成済み画素点であってもよい。例えば、予測モードがイントラ予測モードである場合、再構成済み画素点は、現在の画像フレーム内の当該符号化ブロックの周囲の画素点であり、予測モードがインター予測モードである場合、再構成済み画素点は、現在の画像フレームの参照フレーム上の再構成ブロックであってもよい。
【0193】
ステップ2において、予測画素点が現在の符号化ブロック内の再構成済み画素点である場合、当該予測画素点の情報を、画素点の周囲の再構成済み画素点の情報とし、そうでない場合、当該予測画素点の情報と当該予測画素点の周囲の再構成済み画素点の情報との差分又は差分の絶対値を、現在画素点の周囲の再構成済み画素点の情報とする。
【0194】
S602において、現在の画素点の周囲の再構成済み画素点の情報に基づいて、現在の画素点の予測QP値を調整する。
【0195】
調整後の予測QP値は、画素点の最終的なQP値となる。
【0196】
本発明の実施形態では、現在の符号化ブロックの現在の画素点に対してQP値調整パラメータテーブルを設定してもよい。例えば、以下の表1は、QP値を調整するために必要ないくつかのパラメータを示す。
【表1】
【0197】
具体的には、S602は、以下のS6021~S6023を含む。
【0198】
S6021において、現在の画素点が第2の予め設定された条件及び第3の予め設定された条件を満たす場合、第1のQPオフセット量及び歪み基準QP値に基づいて、現在の画素点の予測QP値を調整する。
【0199】
ここで、第2の予め設定された条件は、現在の画素点の予測QP値が歪み基準QP値より大きく、かつ、現在の画素点の予測QP値が調整可能なQP最大値(即ち、表1のmaxAdjustQP)以下であることであり、調整可能なQP最大値がQP最大値以下である。第3の予め設定された条件は、現在の画素点の周囲の再構成済み画素点の情報が第1の閾値(即ち、表1のthres1)以下であることである。
【0200】
オプションとして、表1を参照すると、現在の画素点が第2の予め設定された条件及び第3の予め設定された条件を満たす場合、現在の画素点の調整後のQP値は以下を満たす。
finalQP=max(initQP‐offset1,jndQP)
ここで、finalQPは調整後の予測QP値を表し、initQPは現在の画素点の予測QP値を表し、offset1は第1のQPオフセット量を表し、jndQPは歪み基準QP値を表し、maxは最大値を取ることを表す。
【0201】
1つのケースでは、歪み基準QP値は、ビットストリームを解析することによって取得され、例えば、当該ビットストリームは歪み基準QP値、例えば20を伝送する。
【0202】
別のケースでは、歪み基準QP値は、周囲の再構成された符号化ブロックの平坦度情報又はテクスチャ度情報、背景輝度、コントラスト情報に基づいて導出される。
【0203】
また別のケースでは、歪み基準QP値は、ビデオエンコーダ又はビデオデコーダによって予め設定された値、例えば15であってもよい。
【0204】
即ち、歪み基準QP値は、ビットストリームで伝送されてもよく、ビデオエンコーダ又はビデオデコーダがビデオ符号化・復号プロセス中に導出されてもよく、予め設定された値であってもよい。本発明の実施形態では、画素点のQP値を決定するプロセスに歪み基準QP値を導入することにより、各画素点は知覚できる歪みに対応する判定情報を満たし、画像歪みを低減し、画像の主観品質を改善することができる。
【0205】
S6022において、現在の画素点が第2の予め設定された条件及び第4の予め設定された条件を満たす場合、第2のQPオフセット量及びQP最大値に基づいて、現在の画素点の予測QP値を調整する。
【0206】
ここで、第4の予め設定された条件は、現在の画素点の周囲の再構成済み画素点の情報が第2の閾値(即ち、表1のthres2)より大きいことであり、第1の閾値は第2の閾値以下である。
【0207】
上記S6021及びS6022において、現在の画素点の予測QP値を調整する必要があることが分かる。
【0208】
S6023において、上記S6021及びS6022以外の場合、現在の画素点の予測QP値を、現在の画素点のQP値とする。即ち、現在の画素点の予測QP値を調整する必要がない。
【0209】
理解できるように、上記S6023は、以下のようなケース1~ケース3を含む。
【0210】
ケース1において、現在の画素点の予測QP値が歪み基準QP値以下である。
【0211】
ケース2において、現在の画素点が第2の予め設定された条件を満たし(即ち、現在の画素点の予測QP値が歪み基準QP値より大きく、かつ、現在の画素点の予測QP値が調整可能なQP最大値以下である)、かつ、現在の画素点の周囲の再構成済み画素点の情報が第1の閾値より大きく、第2の閾値以下である。
【0212】
ケース3において、現在の画素点の予測QP値が調整可能なQP最大値より大きい。
【0213】
図7に示すように、別の実施形態として、上記実施例におけるS5011はS603により実現されてもよい。
【0214】
S603において、現在の画素点が第1の予め設定された条件を満たす場合、予め設定されたQP値を当該現在の画素点のQP値とし、そうでない場合、現在の画素点の予測QP値を当該現在の画素点のQP値とする。
【0215】
当該第1の予め設定された条件は、現在の画素点が輝度画素点であることと、現在の画素点が色度画素点であることと、現在の画素点のビット深度がビット深度閾値(表1におけるbdThres)以下であることと、現在の画素点の予測QP値が調整可能なQP最大値(表1におけるmaxAdjustQP)以下であることと、現在の画素点の周囲の再構成済み画素点の情報が第1の予め設定された閾値(表1におけるthreS1)以下であることと、のうちの少なくとも1つを含む。
【0216】
例えば、当該第1の予め設定された条件は、現在の画素点が輝度画素点であり、かつ、当該現在の画素点のビット深度がビット深度閾値以下であることであってもよく、現在の画素点が色度画素点であり、かつ、当該現在の画素点の予測QP値が調整可能なQP最大値以下であることであってもよい。具体的には、実際のニーズに応じて、上記条件のうちの1種又は複数種の条件を組み合わせて第1の予め設定された条件としてもよい。
【0217】
1つの可能な実施態様では、上記目標画素点は、現在の符号化ブロック内のいずれか1つ又は複数の画素点であり、即ち、現在の符号化ブロック内の各画素点のQP値が調整される必要があり、各画素点について、上記S601~S602又はS603を用いてそのQP値を決定することができる。
【0218】
さらに別の可能な実施態様では、上記目標画素点は、現在の符号化ブロックの第2部分の画素点のうちのいずれか1つ又は複数である。本発明の実施形態では、現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、第1部分の画素点は、QP値を調整する必要がない画素点に設定され、即ち、第1部分の画素点の各画素点のQP値は、その予測QP値であり、第2部分の画素点は、QP値を調整する必要がある画素点に設定され、即ち、上記S601~S602又はS603を用いて第2部分の画素点の各画素点のQP値を決定する。
【0219】
別の可能な実施態様では、現在の符号化ブロックは、第1部分の画素点及び/又は第2部分の画素点を少なくとも含み、第1部分の画素点は、QP値を調整する必要がない画素点に設定され、第2部分の画素点は、QP値を調整すべき画素点に設定される。
【0220】
1つの可能なケースでは、現在の符号化ブロックの予測モードがピクセル単位の予測モードである場合、第2部分の画素点は、第1位置の画素点及び/又は第2位置の画素点を含み得る。第1位置の画素点及び第2位置の画素点は、現在の符号化ブロックのピクセル単位の予測モードに基づいて決定される。通常、第2位置の画素点は、水平方向におけるピクセル単位の予測の開始点に対応する画素点を含み得る。
【0221】
上記目標画素点が第1位置の画素点のいずれか1つ又は複数の画素点であり、現在の画素点が第1位置の画素点の1つ又は複数の画素点である場合、上記S601~S602を用いて、当該現在の画素点のQP値を決定してもよく、現在の画素点が第2位置の画素点の1つ又は複数の画素点である場合、上記S603を用いて、現在の画素点のQP値を決定してもよい。
【0222】
本発明の実施形態では、現在の符号化ブロックの第2部分の画素点のうち、どの画素点が第1位置の画素点として設定され、どの画素点が第2位置の画素点として設定されるかは、現在の符号化ブロックのピクセル単位の予測モードに関連する。
【0223】
一例として、図9A図9Dを参照して、現在の符号化ブロックが16×2(幅wが16、高さhが2)である符号化ブロックを例として、当該符号化ブロックの予測モードはピクセル単位の予測モードであり、当該符号化ブロックのピクセル単位の予測モードは、ピクセル単位の予測モード1、ピクセル単位の予測モード2、ピクセル単位の予測モード3、及びピクセル単位の予測モード4の4つのモードを含む。ここで、
≡は、現在の画素点の予測値が、当該画素点の左右両側の画素点の再構成値の平均値であることを表し、
|||は、現在の画素点の予測値が、当該画素点の上下両側の画素点の再構成値の平均値であることを表し、
>は、現在の画素点の予測値が、当該画素点の左側画素点の再構成値であることを表し、
∨は、現在の画素点の予測値が、当該画素点の上側画素点の再構成値であることを表す。
【0224】
本発明の実施例では、説明の便宜上、その左右両側の画素点に基づいて予測される画素点を第1タイプの画素点と称し、その上下両側の画素点に基づいて予測される画素点を第2タイプの画素点と称し、その左側の画素点に基づいて予測される画素点を第3タイプの画素点と称し、その上側の画素点に基づいて予測される画素点を第4タイプの画素点と称す。
【0225】
図9Aに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード1であり、したがって、現在の符号化ブロックは第1部分の画素点と第2部分の画素点を含み、第2部分の画素点は全て第1位置の画素点として定義され、即ち、第2部分の画素点は第2位置の画素点を含まない。ここで、第1位置の画素点は、第1タイプの画素点及び第4タイプの画素点を含む。
【0226】
図9Bに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード2であり、したがって、現在の符号化ブロックは第1部分の画素点と第2部分の画素点を含み、第2部分の画素点の一部は第1位置の画素点として定義され、別の部分は第2位置の画素点として定義される。ここで、第1位置の画素点は、第2タイプの画素点及び第3タイプの画素点を含み、第2位置の画素点は、第3タイプの画素点及び第4タイプの画素点を含む。
【0227】
図9Cに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード3であり、したがって、現在の符号化ブロックの全ての画素点は第2部分の画素点であり、当該第2部分の画素点の一部は第1位置の画素点として定義され、別の部分は第2位置の画素点として定義される。ここで、第1位置の画素点は第3タイプの画素点を含み、第2位置の画素点は第3タイプの画素点及び第4タイプの画素点を含む。
【0228】
図9Dに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード4であり、したがって、現在の符号化ブロックは第1部分の画素点と第2部分の画素点を含み、第2部分の画素点は全て第1位置の画素点として定義され、即ち、第2部分の画素点は第2位置の画素点を含まない。ここで、第1位置の画素点は第4タイプの画素点を含む。
【0229】
一例として、図10A及び図10Bを参照すると、現在の符号化ブロックが8×2(幅wが8、高さhが2)である符号化ブロックを例として、当該符号化ブロックの予測モードはピクセル単位の予測モードであり、当該符号化ブロックのピクセル単位の予測モードは、ピクセル単位の予測モード1及びピクセル単位の予測モード2の2つのモードを含む。
【0230】
図10Aに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード1であり、したがって、現在の符号化ブロックは第1部分の画素点と第2部分の画素点を含み、第2部分の画素点は全て第1位置の画素点として定義され、即ち、第2部分の画素点は第2位置の画素点を含まない。ここで、第1位置の画素点は第4タイプの画素点を含む。
【0231】
図10Bに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード2であり、したがって、現在の符号化ブロックの画素点は全て第2部分の画素点であり、当該第2部分の画素の一部は第1位置の画素点として定義され、別の部分は第2位置の画素点として定義される。ここで、第1位置の画素点は第3タイプの画素点を含み、第2位置の画素点は第3タイプの画素点及び第4タイプの画素点を含む。
【0232】
一例として、図11A及び図11Bを参照すると、現在の符号化ブロックが8×1(幅wが8、高さhが1)である符号化ブロックを例にとると、当該符号化ブロックの予測モードはピクセル単位の予測モードであり、当該符号化ブロックのピクセル単位の予測モードは、ピクセル単位の予測モード1及びピクセル単位の予測モード2の2つのモードを含む。
【0233】
図11Aに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード1であり、したがって、現在の符号化ブロックの全ての画素点は第1部分の画素点であり、第1部分の画素点は第4タイプの画素点である。
【0234】
図11Bに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード2であり、したがって、現在の符号化ブロックの画素点は全て第2部分の画素点であり、第2部分の画素点の一部は第1位置の画素点として定義され、別の部分は第2位置の画素点として定義される。ここで、第1位置の画素点は第3タイプの画素点を含み、第2位置の画素点は第3タイプの画素点及び第4タイプの画素点を含む。
【0235】
図5と組み合わせて、図12に示すように、可能なケースでは、現在の符号化ブロックの予測モードがブロック予測モードである場合、現在の画素のQP値を決定する前に、本発明の実施形態で提供される復号方法は、S505~S506をさらに含み得る。
【0236】
S505において、現在の符号化ブロックの領域分割情報を取得し、当該領域分割情報は領域の数Nと領域境界線の位置情報とを含み、Nは2以上の整数である。
【0237】
領域分割情報は、分割テンプレートと呼ばれてもよい。
【0238】
オプションとして、現在の符号化ブロックの領域分割情報を取得するための方法は、現在の符号化ブロックの予め定義された領域分割情報を取得するステップ、又はビットストリームを解析して、現在の符号化ブロックの領域分割情報を取得するステップ、又はビデオデコーダによって導出されるステップを含む。
【0239】
S506において、領域分割情報に基づいて、現在の符号化ブロックをN個の領域に分割する。
【0240】
オプションとして、ブロック予測モードは、ブロックベースのインター予測モード、ブロックベースのイントラ予測モード、又はイントラブロックコピー(intra block copy、IBC)予測モードを含み得る。
【0241】
ブロック予測モードに基づいて現在の符号化ブロックの予測ブロックを取得し、その残差ブロックを取得する。オプションとして、当該残差ブロックに対して変換を行うかどうかの観点から、ブロック予測モードは、変換を行わないブロック予測モードと、変換を行うロック予測モードとを含み得る。変換を行わないブロック予測モードとは、当該ブロック予測モードに基づいて決定された残差ブロックに対して変換を行わないことを指し、変換を行うブロック予測モードとは、当該ブロック予測モードに基づいて決定された残差ブロックに対して変換を行うことを指す。
【0242】
変換を行わないブロック予測モードについて、現在の符号化ブロック内の画素点は「ピクセル単位(pixel-wise)」又は「領域単位(region-wise)」に順次再構成されてもよく、前に再構成済み画素点の情報を用いて後に再構成画素点QP値を調整してもよい。
【0243】
現在の符号化ブロック内の画素点のピクセル単位の再構成は、上記のピクセル単位の予測モードと同様であり、したがって、「ピクセル単位」の再構成の場合における現在の符号化ブロックの画素点のQP値の決定方法は、上記のピクセル単位の予測モードにおけるQP値の決定方法と同様であり、即ち、上記のS601~S602又はS603を使用して、現在の符号化ブロックの画素点のQP値を決定することができる。
【0244】
現在の符号化ブロック内の画素点の「領域単位」の再構成は、同じ領域の画素を並行して再構成することを許可し、現在の符号化ブロックをN個の領域(N≧2)に分割し、その後、領域単位に順次再構成するという考え方である。
【0245】
具体的に、変換を行わないブロック予測モードでの「領域単位」の再構成方式について、領域分割情報における領域の数N及び領域境界線の位置情報に基づいて、当該現在の符号化ブロックをN個の領域に分割することができる。N個の領域のうちの少なくとも1つの領域の画素点のQP値は、少なくとも1つの他の領域の再構成済み画素点の情報に基づいて決定されることに留意されたい。ここで、他の領域は、N個の領域のうちの少なくとも1つの領域以外の領域、又は前記現在の符号化ブロック以外の領域である。即ち、N個の領域は再構成順序を有し、即ち、当該N個の領域内の部分領域間の再構成プロセスは依存関係を有し、例えば、最初に1つの領域を再構成し(対応する他の領域は前記現在の符号化ブロック以外の領域である)、次いで、当該領域の再構成結果に基づいて別の領域を再構成する(即ち、当該領域は別の領域に対して他の領域である)必要がある。
【0246】
オプションとして、領域の数N及び領域境界線の位置情報は、現在の符号化ブロックの情報又は現在の符号化ブロックの参照画素の情報に基づいて導出されてもよい。
【0247】
一例として、N=2(即ち、現在の符号化ブロックを2つの領域に分割する)と仮定すると、現在の符号化ブロックは第1の領域及び第2の領域を含み、第1の領域内の画素点は、現在の符号化ブロックの、任意の位置の水平スライス内の画素点と、任意の位置の垂直スライス内の画素点と、又は任意の位置の斜めスライス内の画素点とのうちの少なくとも1つを含む。ここで、スライスの幅は2以下であり、スライスが現在の符号化ブロックの境界に位置する場合、スライスの幅は1に等しい。第2の領域内の画素点は、現在の符号化ブロック内の第1の領域以外の画素点である。第1の領域と第2の領域の再構成順序は、まず第2の領域を再構成し、次に第1の領域を再構成することである。
【0248】
例示的に、現在の符号化ブロックについて、上境界の画素点は上側のスライスの画素点であり、下境界の画素点は下側のスライスの画素点であり、左境界の画素点は左側のスライスの画素点であり、右境界の画素点は右側のスライスの画素点であることが理解され得る。
【0249】
図13A図13Dは、現在の符号化ブロックのいくつかの例示的な分割結果の概略図であり、図13Aでは、左境界の画素点及び右境界の画素点を含み、図13Bでは、第1の領域内の画素点は、現在の符号化ブロックの下境界の画素点及び右境界の画素点を含み、図13Cでは、第1の領域内の画素点は、現在の符号化ブロックの右境界の画素点を含み、図13Dでは、第1の領域内の画素点は、現在の符号化ブロックの下境界の画素点を含む。
【0250】
変換を行うブロック予測モードに対して、現在の符号化ブロック内の全ての画素点を並列に再構成する必要があるため、現在の符号化ブロックをN個の領域(N≧2)に分割し、同一領域の画素を並列に再構成することができる。
【0251】
具体的に、変換を行うブロック予測モードに対して、領域分割情報における領域の数N及び領域境界線の位置情報に基づいて、当該現在の符号化ブロックをN個の領域に分割してもよい。
【0252】
領域の数N及び領域境界線の位置情報は、現在の符号化ブロックの情報又は現在の符号化ブロックの参照画素の情報に基づいて導出されてもよい。現在の符号化ブロックの領域分割情報は、現在の符号化ブロックの上側の隣接する行の画素点及び/又は左側の隣接する列の画素点(即ち、現在の符号化ブロックの参照画素点)に基づいて決定されてもよい。具体的には、現在の符号化ブロックの上側の隣接する行の画素点及び/又は左側の隣接する列の画素点に基づいて、現在の符号化ブロック内の物体エッジを予測し、物体エッジに基づいて現在の符号化ブロックをいくつかの領域に分割する。例えば、現在の符号化ブロックの上側の隣接する行の画素点及び/又は左側の隣接する列の画素点に基づいて、勾配アルゴリズムを用いて現在の符号化ブロックの行及び/又は列の画素値が急変する画素点を予測することにより、当該急変する画素点を領域境界線の位置とし、これにより領域の数Nを決定することができる。
【0253】
上記方法で決定された現在の符号化ブロックの領域分割情報により、現在の符号化ブロックの領域分割方式は、水平分割、垂直分割又は斜め分割のうちの少なくとも1つを含むことができる。例えば、現在の符号化ブロックの行画素値に急変が発生した1つ又は複数の画素点が存在し、列画素値に急変が発生した画素点が存在しない場合、現在の符号化ブロックの領域分割方式は垂直分割であり、現在の符号化ブロックの列画素値に急変が発生した1つ又は複数の画素点が存在し、行画素値に急変が発生した画素点が存在しない場合、現在の符号化ブロックの領域分割方式は水平分割であり、現在の符号化ブロックの行画素値に急変が発生した1つ又は複数の画素点が存在し、列画素値に急変が発生した1つ又は複数の画素点も存在する場合、現在の符号化ブロックの領域分割方式は斜め分割である。
【0254】
図14A図14Cを参照すると、1つの分割方式は、現在の符号化ブロックを2つの領域に分割することであり、図14Aは、垂直方向に2つの領域に分割することを示し、点A1が行の急変画素点であり、図14Bは、水平方向に2つの領域に分割することを示し、点B1が列の急変画素点であり、図14Cは、斜め方向に2つの領域に分割することを示し、点C1が行の急変画素点であり、点D1が列の急変画素点である。
【0255】
図15A図15Eを参照すると、1つの分割方式は、現在の符号化ブロックを3つの領域に分割することであり、図15Aは、垂直方向に3つの領域に分割することを示し、点A2及び点A3は、行の急変画素点であり、図15Bは、水平方向に3つの領域に分割することを示し、点B2及び点B3は、列の急変画素点であり、図15C図15Eは、斜め方向に3つの領域に分割することを示す。図15Cにおいて、点C2及び点C3は、行の急変画素点であり、点D2及び点D3は、列の急変画素点であり、図15Dにおいて、点C4及び点C5は、行の急変画素点であり、点D4は、列の急変画素点であり、図15Eにおいて、点C6は、行の急変画素点であり、点D5及び点D6は、列の急変画素点である。
【0256】
図14A図14C及び図15A図15Eは、現在の符号化ブロックのいくつかの分割結果の例に過ぎず、本発明の実施形態を限定するものではない。現在の符号化ブロックの分割方式は、複数の分割方式の組み合わせであってもよい。
【0257】
上記S505~S506に基づいて、一実施態様では、変換を行わないブロック予測モードについて、現在の符号化ブロックが2つ(即ち、N=2)の領域に分割され、即ち、現在の符号化ブロックが第1の領域及び第2の領域を含む(図10A及び図10Bを参照)こと例に、図12に示すように、上記現在の画素点のQP値を決定すること(即ち、S501)は、具体的にはS5013~S5014を含む。
【0258】
S5013において、現在の画素点が第1の領域内のいずれか1つの画素点である場合、現在の画素点の予測QP値を調整し、調整後のQP値を現在の画素点のQP値とする。
【0259】
具体的には、現在の画素点の周囲の再構成済み画素点の情報を取得し、当該現在の画素点の周囲の再構成済み画素点の情報に基づいて、画素点の予測QP値を調整する。具体的なプロセスは、上記実施例におけるS601~S602(ここで、S602はS6021~S6023を含む)の関連説明を参照することができ、ここでは説明を省略する。
【0260】
S5014において、現在の画素点が第2の領域内のいずれか1つの画素点である場合、現在の画素点の予測QP値を現在の画素点のQP値とする。第2の領域の画素点を再構成する必要があり、このとき、その周囲に再構成済み画素点がない可能性があるため、第2の領域の画素点の予測QP値を調整せず、即ち、第2の領域の画素点の予測QP値を画素点のQP値とする。
【0261】
別の実施態様では、上記の変換を行うブロック予測モードについて、N個の領域のうちのいずれか1つにおける現在の画素点について、図12に示すように、上記現在の画素点のQP値を決定すること(即ち、S501)は、具体的にはS5015~S5016を含む。
【0262】
S5015において、現在の画素点のQPオフセット量を取得する。
【0263】
オプションとして、ビットストリームを解析して、現在の画素点のオフセットを取得する。ビデオエンコーダが画像を符号化するプロセスにおいて、ビデオエンコーダが各画素点のQPオフセット量を予測した後、各画素点のQPオフセット量をビットストリームに組み込み、ビデオデコーダに伝送することができることが理解され得る。
【0264】
あるいは、オプションとして、導出情報に基づいて現在の画素点のQPオフセット量を決定する。当該導出情報は、現在の画素が位置する領域のインデックス情報、及び/又は、現在の画素から現在の画素が位置する領域の領域境界線までの距離を含む。ここで、距離は、水平距離、垂直距離又はユークリッド距離のいずれかを含む。
【0265】
したがって、導出された現在の画素点のQPオフセット量は、第3のQPオフセット量、第4のQPオフセット量、第3のQPオフセット量と第4のQPオフセット量との和のうちのいずれか1つである。
【0266】
ここで、第3のQPオフセット量は、現在の画素が位置する領域のインデックス情報に基づいて導出され、第3のQPオフセット量は、領域レベルのQPオフセット量と見なすことができる。同じ領域内の画素点の第3のQPオフセット量は同じであり、異なる領域内の画素点の第3のQPオフセット量は異なることを理解されたい。
【0267】
第4のQPオフセット量は、現在の画素点から、現在の画素点が位置する領域の領域境界線までの距離に基づいて導出される。第4のQPオフセット量は、画素レベルのQPオフセット量と見なすことができる。画素点に対応する距離が異なる場合、現在の画点素のQPオフセット量は異なってもよい。
【0268】
ビデオ符号化機器の構成に従って、第3のQPオフセット量、第4のQPオフセット量、第3のQPオフセット量と第4のQPオフセット量との和のうちの1つを、当該画素点のQPオフセット量として選択してもよい。
【0269】
S5016において、現在の画素点のQPオフセット量に基づいて現在の画素点の予測QP値を調整し、調整後のQP値を現在の画素点のQP値とする。
【0270】
以上のように、ビデオデコーダは、符号化ブロック内の画素点について画素点粒度のQP値を決定し、各画素点のQP値に基づいて各画素点をピクセル単位に逆量子化してよい。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0271】
それに応じて、画像符号化方法において、ビデオエンコーダは、まず、画素点のQP、Qstep及び残差係数を取得し、適応的に量子化器を選択し、残差係数を量子化し、最後に量子化係数を調整して、最終的なレベル値を取得し、それにより画像フレームの符号化を実現する。
【0272】
図2に示されるビデオエンコーダ100に基づいて、本発明は、画像符号化方法をさらに提供する。図16は、本発明による画像符号化方法のフローチャートである。当該画像符号化方法は、ビデオエンコーダ100によって実行されてもよく、ビデオエンコーダ100の機能をサポートする符号化機器(図1に示される符号化機器10)によって実行されてもよい。ここで、ビデオエンコーダ100が符号化方法を実施することを例として説明する。当該画像符号化方法は、以下のステップS1601~S1602を含む。
【0273】
S1601において、現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、当該画素点のQP値を決定する。
【0274】
ここで、現在の符号化ブロックの画素点のうちの少なくとも2つの画素点のQP値は異なる。
【0275】
S1602において、画素点のQP値に基づいて、画素点を量子化する。
【0276】
量子化は逆量子化の逆プロセスであり、符号化方法におけるQP値の量子化については、上記図5図15A乃至図15Eの復号方法における対応するプロセスを参照することができ、ここでは説明を省略する。
【0277】
以上のように、本発明の実施形態において提供される符号化方法により、ビデオエンコーダは、符号化ブロックに対して各画素点のQP値を決定し、それにより、各画素点のQP値に基づいて各画素点を量子化し、即ち、ピクセル単位に量子化を行うことができる。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0278】
理解できるように、ブロック予測モードについて、実施例に記載の方法に従って現在の符号化ブロックをN(N≧2)個の領域に分割し、各領域内の画素点に対してピクセル単位の量子化又は複数の画素点の並列量子化を行い、レベル値(即ち、量子化された残差係数又は量子化後のパラメータ係数)を取得した後、パラメータ係数を符号化する。
【0279】
符号化ブロックをN個の領域に分割する場合、異なる領域のQP値の調整方式が異なってもよいため、量子化後の残差係数の分布も異なり、したがって、領域に基づく残差グループ符号化方法を設計することができる。
【0280】
具体的には、各領域の残差係数をいくつかの残差グループに分割することができ、各残差グループは領域を跨ぐことができないことに留意すべきである。その後、当該残差グループの符号長パラメータを符号化し、符号化方法は固定長符号化又は可変長符号化であってもよい。さらに固定長符号化を用いて当該残差グループ内の各残差係数を符号化し、固定長符号化の符号長は当該残差グループの符号長パラメータによって決定され、異なる残差グループの符号長パラメータは異なってもよい。
【0281】
例えば、図17を参照すると、現在の符号化ブロックが16×2の符号化ブロックであり、現在の符号化ブロックが領域1及び領域2の2つの領域に分割されると仮定すると、領域1に対応する残差係数はn(n≧1)個の残差グループに分割され、領域2に対応する残差係数はm(m≧1)個の残差グループに分割されてもよく、各残差グループは領域を跨がない。なお、残差係数は画素点と一対一に対応し、領域に対応する残差係数をグループ化することは、即ち、領域に含まれる画素点をグループ化することを意味する。図17に示すように、領域1は15個の画素点を含み、例示的に、当該領域1を1つの残差グループに分割してもよく、即ち、当該15個の画素点を1つの残差グループに分割してもよい。また、当該領域1を2つの残差グループに分割してもよく、例えば、領域1の最初の8個の画素点を1つの残差グループ1に分割し、領域1の最後の7個の画素点を別の残差グループ2に分割してもよい。また、当該領域1を3つの残差グループに分割してもよく、例えば、5つの隣接する画素点ごとに1つの残差グループに分割して、残差グループ1、残差グループ2及び残差グループ3のような3つの残差グループを得てもよい。
【0282】
オプションとして、ビデオエンコーダが現在の符号化ブロックを予測するための予測モードは、ピクセル単位の予測モード及びブロック予測モードを含み得る。ここで、ブロック予測モードは、ブロックのインター予測モード、ブロックのイントラ予測モード、又はイントラブロックコピー(intra block copy、IBC)予測モードであり得る。以下、IBC予測モードを簡単に説明する。
【0283】
IBC技術は、空間の非局所的冗長性を除去することを目的として、現在のフレームの再構成領域から現在の符号化ブロックのマッチングブロックを検索することである。IBC予測モードでの予測プロセスは、動き推定及び動き補償の2つのプロセスに分けることができる。動き推定は、符号化機器が現在の符号化ブロックのマッチングブロックを検索し、現在の符号化ブロックとそのマッチングブロックとの間の相対変位、即ち現在の符号化ブロックに対応するブロックベクトル(block vector、BV)又はブロックベクトル差分(block vector difference、BVD)を推定し、BV又はBVDをビットストリームで伝送するプロセスである。動き補償は、マッチングブロックに基づいて予測ブロックを生成するプロセスであり、例えば、マッチングブロックに対する重み付けや予測フィルタリングなどの操作を含む。
【0284】
オプションとして、ビデオエンコーダが現在の符号化ブロックの予測ブロックを取得する方法は、以下の方法を含み得る。
【0285】
方法1:予測ブロック内の画素点が利用不可能である場合、上側又は左側の画素点によるパディング(padding)を許可し、又はデフォルト値へのパディングを許可する。
【0286】
方法2:BV又はBVDに基づいてマッチングブロックを取得し、マッチングブロックに対していくつかの処理(例えば、予測フィルタリング、光補償などの操作)を行い、最終的な予測ブロックを生成する。
【0287】
オプションとして、IBC予測モードでは、ビデオエンコーダは、現在の符号化ブロックをいくつかの変換ブロック(transform block、TB)及びいくつかの予測ブロック(prediction block、PB)に分割し、1つのTBは1つ又は複数のPBを含み得る。例示的に、図18を参照して、現在の符号化ブロックが16×2の符号化ブロックであることを例として、現在の符号化ブロックを2つのTBに分割し、それぞれTB1とTB2であり、TB1とTB2のサイズはいずれも8×2である。各TBは4つのPBを含み、各PBのサイズは2×2であり、各TBを順次再構成する。1つの画素再構成方法は、現在の符号化ブロックの2番目のTBから、各TB内のPBに対して動き補償を実行するとき、現在のTBの左側の再構成TB内の再構成画素値を参照することができる。
【0288】
オプションとして、ビデオエンコーダによるBV又はBVDの符号化方式は、以下の方法1及び/又は方法2である。
【0289】
方法1:水平方向の動き探索のみを行う場合、ビットストリームにおいて水平方向のBV又はBVDのみを伝送し、垂直方向のBV又はBVDを伝送する必要がない。
【0290】
方法2:BV又はBVDの符号化方式は、固定長符号化又は可変長符号化であってもよい。
【0291】
また、固定長符号化の符号長又は可変長符号化の2値化方式は、現在の符号化ブロックの位置情報、サイズ情報(幅又は高さ又は面積を含む)、分割モード情報又はTB/PBの分割方式、現在のTBの位置情報又はサイズ情報(幅又は高さ又は面積を含む)、現在のPBの位置情報又はサイズ情報(幅又は高さ又は面積を含む)のうちの1つ又は複数に基づいて得られる。
【0292】
オプションとして、現在の符号化ブロックを取得するステップは、最初に予測BV(block vector prediction、BVP)を取得し、次にBVDを取得することであってよく、BV=BVP+BVDである。
【0293】
ここで、BVPは、符号化ブロックのBV又はBVD、位置情報、サイズ情報(幅又は高さ又は面積を含む)、分割モード情報又はTB/PBの分割モード、周囲の予測ブロックのBV又はBVD、位置情報又はサイズ情報(幅又は高さ又は面積を含む)のうちの1つ又は複数に基づいて取得され得る。
【0294】
上記の実施形態における機能を実現するために、ビデオエンコーダ/ビデオデコーダは、それぞれの機能を実行するための対応するハードウェア構造及び/又はソフトウェアモジュールを含むことが理解されよう。当業者は、本発明において開示された実施形態を参照して説明された例のユニット及び方法のステップを参照して、本発明がハードウェアの形態、又はハードウェアとコンピュータソフトウェアとの組み合わせの形態で実施され得ることを容易に理解すべきである。ある機能がハードウェアで実行されるか、コンピュータソフトウェアでハードウェアを駆動するのかは、技術的解決策の特定の適用シナリオ及び設計制約条件に依存する。
【0295】
図19は、本発明の一実施形態による復号装置の概略構造図であり、復号装置1900は、QP決定ユニット1901と逆量子化ユニット1902とを含む。復号装置1900は、上記の復号方法の実施形態におけるビデオデコーダ又は復号機器の機能を実現するように構成され、したがって、上記の復号方法の実施形態の有益な効果を実現することもできる。本発明の実施形態では、当該復号装置1900は、図1に示される復号機器20やビデオデコーダ200であってもよく、図3に示されるビデオデコーダ200であってもよく、復号機器20やビデオデコーダ200に適用されるモジュール(例えば、チップ)であってもよい。
【0296】
QP決定ユニット1901と逆量子化ユニット1902は、図5図15A乃至図15Eのいずれかの実施例による復号方法を実施するために使用される。上記QP決定ユニット1901及び逆量子化ユニット1902の詳細な説明については、図5図15A乃至図15Eに示される方法の実施形態における関連する説明を直接参照することができ、ここでは説明を省略する。
【0297】
図20は、本発明による符号化装置の概略構造図であり、当該符号化装置2000は、QP決定ユニット2001と量子化ユニット2002とを含む。符号化装置2000は、上記の符号化方法の実施形態におけるビデオエンコーダ又は符号化機器の機能を実現するように構成され、したがって、上記の符号化方法の実施形態の有益な効果を実現することもできる。本発明の実施形態では、符号化装置2000は、図1に示される符号化機器10又はビデオエンコーダ100であってもよく、図2に示されるビデオエンコーダ100であってもよく、符号化機器10又はビデオエンコーダ100に適用されるモジュール(例えば、チップ)であってもよい。
【0298】
QP決定ユニット2001と量子化ユニット2002は、図16図18に提供される符号化方法を実施するために使用される。上記QP決定ユニット2001及び量子化ユニット2002のより詳細な説明については、図4図18に示される方法の実施形態における関連する説明を直接参照することができ、ここでは説明を省略する。
【0299】
本発明は、電子機器をさらに提供し、図21は、本発明による電子機器の概略構造図であり、図21に示すように、電子機器2100は、プロセッサ2101及び通信インタフェース2102を含む。プロセッサ2101と通信インタフェース2102とは互いに結合される。通信インタフェース2101は、トランシーバ又は入出力インタフェースであってよいことが理解され得る。オプションとして、電子機器2100は、プロセッサ2101によって実行される命令を記憶するか、プロセッサ2101が命令を実行するために必要な入力データを記憶するか、又はプロセッサ2101が命令を実行した後に生成されるデータを記憶するように構成されたメモリ2103をさらに含んでもよい。
【0300】
電子機器2100が図5図15A乃至図15Eに示す方法を実施するために使用される場合、プロセッサ2101とインタフェース回路2102は、上記QP決定ユニット1901と逆量子化ユニット1902の機能を実行するために使用される。
【0301】
電子機器2100が図16図18に示す方法を実施するために使用される場合、プロセッサ2101とインタフェース回路2102は、上記QP決定ユニット2001と量子化ユニット2002の機能を実行するために使用される。
【0302】
本発明の実施形態では、上記通信インタフェース2102と、プロセッサ2101と、メモリ2103との間の具体的な接続媒体は限定されない。本発明の実施形態では、図21において、通信インタフェース2102、プロセッサ2101、及びメモリ2103は、バス2104を介して接続され、バスは、図21において太線で示される。他の構成要素間の接続方式は、例示的な説明に過ぎず、限定されない。前記バスは、アドレス・バス、データ・バス、制御バスなどに分類され得る。表現を容易にするために、図21では、1本の太線のみで示されるが、1本のバス又は1種類のバスのみが存在することを示すものではない。
【0303】
メモリ2103は、本発明の実施形態において提供される復号方法又は符号化方法に対応するプログラム命令/モジュールのような、ソフトウェアプログラム及びモジュールを記憶するように構成され得る。プロセッサ2101は、メモリ2103に記憶されたソフトウェアプログラム及びモジュールを実行することによって、様々な機能アプリケーション及びデータ処理を実行する。また、当該通信インタフェース2102は、別の機器とシグナリングやデータの通信を行うように構成され得る。本発明では、当該電子機器2100は、複数の通信インタフェース2102を有し得る。
【0304】
本発明の実施形態におけるプロセッサは、中央処理装置(central processing Unit、CPU)、ニューラル処理装置(neural processing unit、NPU)、又はグラフィック処理装置(graphiCprocessing unit、GPU)であってよく、他の汎用プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、又は他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、又はそれらの任意の組み合わせであってよいことが理解され得る。汎用プロセッサは、マイクロプロセッサであってもよく、任意の従来のプロセッサであってもよい。
【0305】
本発明の実施例における方法のステップは、ハードウェアにより実現されてもよく、プロセッサがソフトウェア命令を実行することにより実現されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールから構成されてもよく、ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、読み取り専用メモリ(read-only memory、ROM)、プログラマブル読み取り専用メモリ(programmable ROM、PROM)、消去可能プログラマブル読み取り専用メモリ(erasable PROM、EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、又は当技術分野で周知の任意の他の形式の記憶媒体に記憶されてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。もちろん、記憶媒体は、プロセッサの構成要素であってもよい。プロセッサ及び記憶媒体は、ASIC内に配置されてもよい。また、ASICは、ネットワークデバイス又は端末デバイス内に配置されてもよい。もちろん、プロセッサ及び記憶媒体は、個別のコンポーネントとしてネットワークデバイス又は端末デバイスに存在してもよい。
【0306】
上記実施例において、全部又は一部をソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせによって実現してもよい。ソフトウェアプログラムを用いて実現する場合、全部又は一部をコンピュータプログラム製品の形態で実現することができる。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。当該コンピュータ命令がコンピュータ上でロード及び実行されるとき、本発明の実施形態による手順又は機能は、全部又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラマブル装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、あるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよく、例えば、当該コンピュータ命令は、有線(例えば、同軸ケーブル、光ファイバ、デジタル加入者線(digital subscriber line、DSL))方式、又は無線(例えば、赤外線、無線、マイクロ波など)方式で、あるウェブサイト、コンピュータ、サーバ、又はデータセンタから別のウェブサイト、コンピュータ、サーバ、又はデータセンタに送信されてもよい。当該コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体、1つ以上の利用可能な媒体が統合されたサーバ、データセンタなどのデータ記憶装置であってよい。当該利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、磁気ディスク、又は磁気テープ)、光媒体(例えば、デジタルビデオディスク(digital video disc、DVD))、又は半導体媒体(例えば、ソリッドステートドライブ(solid state drives、SSD))などであり得る。
【0307】
以上の実施形態の説明により、当業者は、説明の便宜と簡潔さのために、上記の各機能モジュールの分割のみを例として説明し、実際の応用において、必要に応じて上記の機能を異なる機能モジュールに割り当てて完成させることができ、即ち、装置の内部構造を異なる機能モジュールに分割して、以上に説明された全部又は一部の機能を完成させることは明らかである。上記のシステム、装置、及びユニットの特定の動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照ることができ、本明細書では繰り返さない。
【0308】
本発明によって提供されるいくつかの実施形態では、開示されたシステム、装置、及び方法は、他の方式で実現され得ることを理解されたい。例えば、上述した装置の実施形態は単なる例示であり、例えば、モジュール又はユニットの分割は、論理的機能の分割にすぎず、実際に実施するときに他の方法で分割されてもよい。例えば、複数のユニット又はコンポーネントは、別のシステムに結合又は統合されてもよく、又はいくつかの特徴は、無視されてもよく、実行されなくてもよい。一方、表示又は検討された互いの結合又は直接結合又は通信接続は、いくつかのインタフェース、装置又はユニットを介した間接結合又は通信接続であってもよく、電気的、機械的又は他の形式であってもよい。
【0309】
前記分離部品として説明されるユニットは、物理的に分離されていてもよく、物理的に分離されていなくてもよい。また、ユニットとして表示される部品は、物理的なユニットであってもよく、物理的なユニットでなくてもよい。即ち、1つの場所に位置してもよく、複数のネットワークユニットに分布してもよい。実際のニーズに応じてその中の一部又は全部のユニットを選択して本実施例の方案の目的を実現することができる。
【0310】
また、本発明の各実施例における各機能ユニットは、1つの処理ユニットに統合されてもよく、各ユニットが個別に物理的に存在してもよく、2つ以上のユニットが1つのユニットに統合されてもよい。上記統合されたユニットは、ハードウェアの形態で実現されてもよく、ソフトウェア機能ユニットの形態で実現されてもよい。
【0311】
前記統合されたユニットは、ソフトウェア機能ユニットの形態で実現され、独立した製品として販売又は使用される場合、コンピュータ可読記憶媒体に記憶され得る。このような理解に基づいて、本発明の技術的解決策は、本質的に、又は従来技術に貢献する部分、又は技術的解決策の全部又は一部が、ソフトウェア製品の形態で具現化されてもよい。当該コンピュータソフトウェア製品は、1つの記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、又はネットワークデバイスなどであってもよい)又はプロセッサに、本発明の各実施形態に記載の方法のステップの全部又は一部を実行させるためのいくつかの命令を含む。上記の記憶媒体は、フラッシュメモリ、リムーバブルハードディスク、読み取り専用メモリ、ランダムアクセスメモリ、磁気ディスク、又は光ディスクなどの、プログラムコードを記憶することができる様々な媒体を含む。
【0312】
以上は、本発明の具体的な実施形態に過ぎず、本発明の保護範囲はこれに限定されるものではない。本発明に開示された技術的範囲内における任意の変化又は置換は、本発明の保護範囲内に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【符号の説明】
【0313】
1 ビデオコーデックシステム
10 符号化機器
20 復号機器
30 リンク
35 最大
40 記憶装置
41 後処理エンティティ
42 ネットワークエンティティ
100 ビデオエンコーダ
101 変換器
102 量子化器
103 エントロピー符号化器
104 逆量子化器
105 逆変換器
106 フィルタユニット
107 復号化ピクチャバッファ
108 予測処理ユニット
109 イントラ予測器
110 インター予測器
111 加算器
112 加算器
120 ビデオソース
140 出力インタフェース
200 ビデオデコーダ
203 エントロピー復号器
204 逆量子化器
205 逆変換器
206 フィルタユニット
208 予測処理ユニット
209 イントラ予測器
210 インター予測器
211 加算器
220 表示装置
240 入力インタフェース
1900 復号装置
1901 QP決定ユニット
1902 逆量子化ユニット
2000 符号化装置
2001 QP決定ユニット
2002 量子化ユニット
2100 電子機器
2101 プロセッサ
2102 通信インタフェース
2103 メモリ
2104 バス
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9A
図9B
図9C
図9D
図10A
図10B
図11A
図11B
図12
図13A
図13B
図13C
図13D
図14A
図14B
図14C
図15A
図15B
図15C
図15D
図15E
図16
図17
図18
図19
図20
図21
【手続補正書】
【提出日】2024-07-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
復号機器によって実行される画像復号方法であって、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点を逆量子化するステップと、を含む
ことを特徴とする画像復号方法。
【請求項2】
前記現在の符号化ブロックのQP値を取得するステップと、
前記画素点の予測QP値が前記現在の符号化ブロックのQP値であると決定するステップと、をさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記画素点のQP値を決定することは、
前記画素点が前記現在の符号化ブロック内のいずれか1つの目標画素点又は任意の複数の並列逆量子化された目標画素点である場合、前記画素点の予測QP値を調整し、調整後の予測QP値を前記画素点のQP値とすることを含む
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記画素点の予測QP値を調整することは、
前記画素点の周囲の再構成済み画素点の情報を取得することと、
前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することと、を含む
ことを特徴とする請求項3に記載の方法。
【請求項5】
前記画素点の予測QP値を調整することは、
前記画素点が第1の予め設定された条件を満たす場合、予め設定されたQP値を前記画素点のQP値とし、
そうでない場合、前記画素点の予測QP値を前記画素点のQP値とすることを含み、
第1の予め設定された条件は、
前記画素点が輝度画素点であることと、
前記画素点が色度画素点であることと、
前記画素点のビット深度が、ビット深度閾値以下であることと、
前記画素点の予測QP値が調整可能なQP最大値以下であり、前記調整可能なQP最大値がQP最大値以下であることと、
前記画素点の周囲の再構成済み画素点の情報が第1の予め設定された閾値以下であることと、のうちの少なくとも1つを含む
ことを特徴とする請求項3に記載の方法。
【請求項6】
前記画素点のQP値に基づいて、前記画素点を逆量子化するステップは、
前記調整後の予測QP値に基づいて、前記画素点を逆量子化するステップを含む
ことを特徴とする請求項4に記載の方法。
【請求項7】
前記目標画素点は、前記現在の符号化ブロック内のいずれか1つ又は複数の画素点である、
ことを特徴とする請求項4に記載の方法。
【請求項8】
前記現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、前記目標画素点は、前記第2部分の画素点のうちのいずれか1つ又は複数の画素点である、
ことを特徴とする請求項4に記載の方法。
【請求項9】
前記目標画素点は、前記第2部分の画素点における第1位置の画素点のうちのいずれか1つ又は複数の画素点である、
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記目標画素点は、前記第2部分の画素点における第2位置の画素点のうちのいずれか1つ又は複数の画素点である、
ことを特徴とする請求項8に記載の方法。
【請求項11】
前記現在の符号化ブロックの予測モードは、ピクセル単位の予測モードであり、
前記現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、
前記第2部分の画素点は、第1位置の画素点及び/又は第2位置の画素点を含み、
前記第1位置の画素点及び前記第2位置の画素点は、前記現在の符号化ブロックのピクセル単位の予測モードに基づいて決定される、
ことを特徴とする請求項4に記載の方法。
【請求項12】
前記画素点の周囲の再構成済み画素点は、
前記画素点を中心とし、辺長が第1の予め設定された値である正方形領域内の画素点、又は、
前記画素点を中心とし、対角線の長さが第2の予め設定された値である菱形領域内の画素点、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項13】
前記再構成済み画素点の情報は、前記再構成済み画素点の、画素値、再構成残差値、勾配値、平坦度情報又はテクスチャ度情報又は複雑度情報、背景輝度、コントラスト又は動き量のうちの少なくとも1つの情報を含む、
ことを特徴とする請求項4に記載の方法。
【請求項14】
前記再構成済み画素点の情報の値は、オリジナル値、絶対値、平均値、又は差分のうちの少なくとも1つを含む、
ことを特徴とする請求項13に記載の方法。
【請求項15】
前記現在の符号化ブロックの予測モードは、ブロック予測モードであり、前記方法はさらに、
前記現在の符号化ブロックの領域分割情報を取得するステップであって、前記領域分割情報は領域の数Nと領域境界線の位置情報とを含み、Nは2以上の整数である、ステップと、
前記領域分割情報に基づいて、前記現在の符号化ブロックをN個の領域に分割するステップと、を含む
ことを特徴とする請求項2に記載の方法。
【請求項16】
前記現在の符号化ブロックの領域分割情報を取得するステップは、
前記現在の符号化ブロックの予め定義された領域分割情報を取得するステップ、又は、
ビットストリームを解析して、前記現在の符号化ブロックの領域分割情報を取得するステップを含む、
ことを特徴とする請求項15に記載の方法。
【請求項17】
符号化機器によって実行される画像符号化方法であって、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点を量子化するステップと、を含む
ことを特徴とする画像符号化方法。
【請求項18】
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点の量子化パラメータQP値を決定するために用いられる量子化パラメータQP決定ユニットと、
前記画素点のQP値に基づいて、前記画素点を逆量子化するために用いられる逆量子化ユニットと、を備え、
前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、
ことを特徴とする画像復号装置。
【請求項19】
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、前記画素点の量子化パラメータQP値を決定するために用いられる量子化パラメータQP決定ユニットと、
前記画素点のQP値に基づいて、前記画素点を量子化するために用いられる量子化ユニットと、を備え、
前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、
ことを特徴とする画像符号化装置。
【請求項20】
符号化機器と復号機器とを備えるビデオコーデックシステムであって、前記符号化機器は前記復号機器と通信可能に接続され、前記復号機器は請求項1~16のいずれか1項に記載の方法を実施するように構成され、前記符号化機器は請求項17に記載の方法を実施するように構成される、
ことを特徴とするビデオコーデックシステム。
【請求項21】
コンピュータ命令を記憶するように構成されたメモリと、前記メモリから前記コンピュータ命令を呼び出して実行して、請求項1~17のいずれか1項に記載の方法を実施するように構成されたプロセッサとを含む、
ことを特徴とする電子機器。
【請求項22】
コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラム又は命令が電子機器によって実行されると、請求項1~17のいずれか1項に記載の方法を実施する、
ことを特徴とするコンピュータ可読記憶媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ビデオコーデックに関し、特に、画像復号方法、画像符号化方法、及び対応する装置に関する。
【背景技術】
【0002】
ビデオコーデックの分野では、ビデオ圧縮(即ち、ビデオコーデック)技術を用いてビデオのデータ量を圧縮することができ、それにより、ビデオの効率的な伝送又は保存を実現することができる。
【0003】
ビデオを符号化・復号することは、ビデオの各フレームの画像を符号化・復号することである。1フレームの画像を例として、符号化機器では、画像エンコーダが画像を符号化し、画像に対応するビットストリームを得て、復号機器に伝送し、復号機器では、画像デコーダがビットストリームを解析して画像を得る。現在、画像は、1つ又は複数の符号化ユニット(coding unit、CU)に分割され、画像エンコーダは、各CUを予測し、CUの予測値とCUの真値との間の残差値を決定し、残差値を順次変換、量子化、符号化して、ビットストリームを得る。これに応じて、画像デコーダは、各CUを予測し、CUに対応するビットストリームの復号結果を順に逆量子化、逆変換して、当該CUに対応する残差値を得、CUの予測値と残差値との和を計算して、CUの再構成値を得る。
【0004】
画像符号化・復号の過程において、量子化は、信号値の多対1のマッピングを実現することができ、信号値の空間を効果的に減少させ、より良い圧縮効果を得ることができる。理解できるように、符号化機器及び復号機器は、量子化パラメータ(quantization parameter、QP)に基づいて量子化及び逆量子化処理を実行する。現在、1つのCUに対して1つのQPが設定され、符号化機器は各CUのQPを取得し、当該QPに基づいてCUの残差値や変換係数を量子化し、それに対応して、復号機器はCUのQPを取得し、当該QPに基づいてビットストリームを解析することによって得られた量子化された係数を逆量子化(dequantization)する。しかしながら、1つのCU内の全ての画素点に対して同じQPを用いて量子化し、即ち、当該CU内の全ての画素点に対して同じ程度の量子化が実行されると、画像符号化・復号プロセスにおける量子化歪み(量子化による画像歪み)が大きくなる。
【発明の概要】
【0005】
本発明の実施例は、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる画像復号方法、符号化方法及び対装置ビデオを提供する。上記目的を達成するために、本発明の実施例は以下の技術的解決策を採用する。
【0006】
第1の態様によれば、本発明の実施例は、復号機器によって実行される画像復号方法を提供し、当該方法は、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点を逆量子化するステップと、を含む。
【0007】
本発明の実施例において提供される復号方法により、ビデオデコーダは、符号化ブロックに対して各画素点のQP値を決定し、それにより、各画素点のQP値に基づいて各画素点を逆量子化し、即ち、ピクセル単位に逆量子化を行うことができる。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0008】
可能な一実現形態では、本発明の実施例による画像復号方法は、
前記現在の符号化ブロックのQP値を取得するステップと、
前記画素点の予測QP値が前記現在の符号化ブロックのQP値であると決定するステップと、をさらに含む。
【0009】
可能な一実現形態では、前記画素点のQP値を決定することは、
前記画素点が前記現在の符号化ブロック内のいずれか1つの目標画素点又は任意の複数の並列逆量子化された目標画素点である場合、前記画素点の予測QP値を調整し、調整後の予測QP値を前記画素点のQP値とすることを含む。
【0010】
可能な一実現形態では、前記画素点の予測QP値を調整することは、
前記画素点の周囲の再構成済み画素点の情報を取得することと、
前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することと、を含む。
【0011】
可能な一実現形態では、前記画素点の予測QP値を調整することは、
前記画素点が第1の予め設定された条件を満たす場合、予め設定されたQP値を前記画素点のQP値とし、
そうでない場合、前記画素点の予測QP値を前記画素点のQP値とすることを含み、
第1の予め設定された条件は、
前記画素点が輝度画素点であることと、
前記画素点が色度画素点であることと、
前記画素点のビット深度が、ビット深度閾値以下であることと、
前記画素点の予測QP値が調整可能なQP最大値以下であり、前記調整可能なQP最大値がQP最大値以下であることと、
前記画素点の周囲の再構成済み画素点の情報が第1の予め設定された閾値以下であることと、のうちの少なくとも1つを含む。
【0012】
可能な一実現形態では、前記画素点のQP値に基づいて、前記画素点を逆量子化するステップは、
前記調整後の予測QP値に基づいて、前記画素点を逆量子化するステップを含む。
【0013】
可能な一実現形態では、前記目標画素点は、前記現在の符号化ブロック内のいずれか1つ又は複数の画素点である。
【0014】
可能な一実現形態では、前記現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、前記目標画素点は、前記第2部分の画素点のうちのいずれか1つ又は複数の画素点である。
【0015】
可能な一実現形態では、前記目標画素点は、前記第2部分の画素点における第1位置の画素点のうちのいずれか1つ又は複数の画素点である。
【0016】
可能な一実現形態では、前記目標画素点は、前記第2部分の画素点における第2位置の画素点のうちのいずれか1つ又は複数の画素点である。
【0017】
可能な一実現形態では、前記現在の符号化ブロックの前記予測モードは、ピクセル単位の予測(pixel-wise prediction)モードであり、
前記現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、
前記第2部分の画素点は、第1位置の画素点及び/又は第2位置の画素点を含み、
前記第1位置の画素点及び前記第2位置の画素点は、前記現在の符号化ブロックのピクセル単位の予測モードに基づいて決定される。
【0018】
可能な一実現形態では、前記画素点の周囲の再構成済み画素点の情報に基づいて、前記画素点の予測QP値を調整することは、
前記画素点が第2の予め設定された条件及び第3の予め設定された条件を満たす場合、第1のQPオフセット量及び歪み基準QP値に基づいて、前記画素点の予測QP値を調整し、
前記画素点が前記第2の予め設定された条件を満たさない場合、又は、前記画素点が前記第2の予め設定された条件を満たすが、前記第3の予め設定された条件及び第4の予め設定された条件を満たさない場合、前記画素点の予測QP値を前記画素点のQP値とすることを含み、
前記歪み基準QP値は、知覚できる歪みに対応するQP値を表し、前記第2の予め設定された条件は、前記画素点の予測QP値が前記歪み基準QP値より大きく、かつ、前記画素点の予測QP値が調整可能なQP最大値以下であることであり、前記第3の予め設定された条件は、前記画素点の周囲の再構成済み画素点の情報が第1の閾値以下であることであり、前記第4の予め設定された条件は、前記画素点の周囲の再構成済み画素点の情報が第2の閾値より大きいことであり、前記第1の閾値が前記第2の閾値以下である。
【0019】
可能な一実現形態では、前記画素点が前記第2の予め設定された条件及び前記第3の予め設定された条件を満たす場合、前記調整後のQP値は、以下を満たす。
finalQP=max(initQP‐offset1,jndQP)
ここで、finalQPは前記調整後の予測QP値を表し、initQPは前記画素点の予測QP値を表し、offset1は前記第1のQPオフセット量を表し、jndQPは前記歪み基準QP値を表し、maxは最大値を取ることを表す。
【0020】
可能な一実現形態では、前記画素点の周囲の再構成済み画素点は、
前記画素点を中心とし、辺長が第1の予め設定された値である正方形領域内の画素点、又は、
前記画素点を中心とし、対角線の長さが第2の予め設定された値である菱形領域内の画素点、を含む。
【0021】
可能な一実現形態では、前記再構成済み画素点の情報は、前記再構成済み画素点の、画素値、再構成残差値、勾配値、平坦度情報又はテクスチャ度情報又は複雑度情報、背景輝度、コントラスト又は動き量のうちの少なくとも1つの情報を含む。ここで、再構成残差値は、逆量子化後の残差値、又は再構成値と予測値との差分を含む。勾配値は、水平勾配、垂直勾配、又は平均勾配を含む。
【0022】
可能な一実現形態では、前記再構成済み画素点の情報の値は、オリジナル値、絶対値、平均値、又は差分のうちの少なくとも1つを含む。
【0023】
可能な一実現形態では、前記画素点の周囲の再構成済み画素点の情報を取得することは、
前記画素点の予測画素点の情報を取得することと、
前記予測画素点が前記現在の符号化ブロック内の再構成済み画素点でない場合、前記予測画素点の情報と前記予測画素点の周囲の再構成済み画素点の情報との差分又は差分の絶対値を、前記画素点の周囲の再構成済み画素点の情報とすることと、を含む。
【0024】
可能な一実現形態では、前記現在の符号化ブロックの予測モードは、ブロック予測モードであり、本発明の実施例による画像復号方法はさらに、
前記現在の符号化ブロックの領域分割情報を取得するステップであって、前記領域分割情報は領域の数Nと領域境界線の位置情報とを含み、Nは2以上の整数である、ステップと、
前記領域分割情報に基づいて、前記現在の符号化ブロックをN個の領域に分割するステップと、を含む。
【0025】
可能な一実現形態では、前記現在の符号化ブロックの領域分割情報を取得するステップは、
前記現在の符号化ブロックの予め定義された領域分割情報を取得するステップ、又は、
ビットストリームを解析して、前記現在の符号化ブロックの領域分割情報を取得するステップを含む。
【0026】
第2の態様によれば、本発明の実施例は、符号化機器によって実行される画像符号化方法を提供し、当該方法は、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点を量子化するステップと、を含む。
【0027】
本発明の実施例において提供される符号化方法により、ビデオエンコーダは、符号化ブロックに対して各画素点のQP値を決定し、それにより、各画素点のQP値に基づいて各画素点を量子化し、即ち、ピクセル単位に量子化を行うことができる。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0028】
画像符号化方法における様々な可能な実現方式は、画像復号方法における様々な可能な実現方式の説明を参照されたい。
【0029】
第3の態様によれば、本発明の実施例は、復号機器に適用される画像復号装置を提供し、当該復号装置は、第1の態様及びその可能な実現方式のうちの1つに記載の方法を実施するための各モジュール、例えば、量子化パラメータQP決定ユニットと逆量子化ユニットとを備える。
【0030】
第3の態様の技術的解決策及び有益な効果については、第1の態様及びその可能な実現方式のうちのいずれか1つの説明を参照されたい。前記復号装置は、上記第1の態様及び第1の態様の可能な実現方式のうちのいずれか1つの方法の例におけるアクションを実現する機能を有する。前記機能は、ハードウェアによって実現されてもよく、ハードウェアによって対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記機能に対応する1つ以上のモジュールを含む。
【0031】
第4の態様によれば、本発明の実施例は、符号化機器に適用される画像符号化装置を提供し、当該符号化装置は、第2の態様及びその可能な実現方式のうちの1つに記載の方法を実施するための各モジュール、例えば、量子化パラメータQP決定ユニットと量子化ユニットとを備える。
【0032】
第4の態様の技術的解決策及び有益な効果については、第2の態様及びその可能な実現方式のうちのいずれか1つの説明を参照されたい。前記符号化装置は、上記第2の態様及び第2の態様の可能な実現方式のうちのいずれか1つの方法の例におけるアクションを実現する機能を有する。前記機能は、ハードウェアによって実現されてもよく、ハードウェアによって対応するソフトウェアを実行することによって実現されてもよい。前記ハードウェア又はソフトウェアは、上記機能に対応する1つ以上のモジュールを含む。
【0033】
第5の態様によれば、本発明の実施例は、プロセッサ及びメモリを含む電子機器を提供し、前記メモリは、コンピュータ命令を記憶するように構成され、前記プロセッサは、メモリから前記コンピュータ命令を呼び出して実行して、第1の態様、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成される。例えば、当該電子機器は、ビデオエンコーダ又はビデオエンコーダを含む符号化機器であってもよい。別の例として、当該電子機器は、ビデオデコーダ、又はビデオデコーダを含む復号機器であってもよい。
【0034】
第6の態様によれば、本発明の実施例は、コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体を提供し、前記コンピュータプログラム又は命令が、コンピューティング機器又はコンピューティング機器が配置された記憶システムによって実行されると、第1の態様、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施する。
【0035】
第7の態様によれば、本発明の実施例は、命令を含むコンピュータプログラム製品を提供し、当該コンピュータプログラム製品がコンピューティングデバイス又はプロセッサ上で実行されると、コンピューティングデバイス又はプロセッサに命令を実行させて、第1の態様、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施する。
【0036】
第8の態様によれば、本発明の実施例は、メモリとプロセッサとを備えるチップを提供し、メモリは、コンピュータ命令を記憶するように構成され、プロセッサは、メモリから当該コンピュータ命令を呼び出して実行して、第1の態様、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成される。
【0037】
第9の態様によれば、本発明の実施例は、符号化機器と復号機器とを備えるビデオコーデックシステムを提供し、復号機器は、第1の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成され、符号化機器は、第2の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成される。
【0038】
第10の態様によれば、本発明の実施例は、復号機器によって実行される画像復号方法を提供し、当該方法は、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点の量子化ステップQstepを決定するステップと、
選択された量子化器の組み合わせに対して、前記画素点のQstepを用いて前記画素点のレベル値を逆量子化するステップと、を含む。
【0039】
可能な一実現形態では、前記量子化器の組み合わせは1つ又は複数の量子化器を含み、前記量子化器は均一量子化器又は非均一量子化器であり、前記画素点のレベル値はビットストリームを解析することにより取得される。
【0040】
可能な一実現形態では、前記画素点のQP値に基づいて、前記画素点の量子化ステップQstepを決定するステップは、
前記画素点のQP値に基づいて、式導出又はルックアップのうちの少なくとも1つによってQstepを決定するステップを含む。
【0041】
可能な一実現形態では、式導出又はルックアップのうちの少なくとも1つによってQstepを決定することは、
【数1】
を含み、
ここで、a及びbは予め設定されたパラメータであり、
又は、
【数2】
を含み、
ここで、TはQPに関する整数であり、
又は、
【数3】
を含み、
ここで、octaveはQPのオクターブであり、offsetは整数オフセット値である。
【0042】
可能な一実現形態では、均一量子化器の逆量子化式は、
【数4】
【数5】
を含み、
ここで、lは量子化後に得られたレベル値であり、cは量子化すべき残差係数であり、fは丸めを制御するためのパラメータであり、f∈0,1)、signは符号関数を表し、floorは切り捨て関数を表し、c’は逆量子化後の値である。
【0043】
可能な一実現形態では、fは、0.5又は他の固定値を取る、又は、fは、QP値、予測モード、及び変換を行うかどうかに基づいて適応的に決定される。
【0044】
第11の態様によれば、本発明の実施例は、符号化機器によって実行される画像符号化方法を提供し、当該方法は、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、前記画素点の量子化パラメータQP値を決定するステップであって、前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる、ステップと、
前記画素点のQP値に基づいて、前記画素点の量子化ステップQstepを決定するステップと、
選択された量子化器の組み合わせに対して、前記画素点のQstepを用いて前記画素点を量子化するステップと、を含む。
【0045】
第12態様によれば、本発明の実施例は、画像復号装置を提供し、当該復号装置は、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、前記画素点の量子化パラメータQP値を決定し、前記画素点のQP値に基づいて、前記画素点の量子化ステップQstepを決定するために用いられる量子化パラメータQP決定ユニットと、
選択された量子化器の組み合わせに対して、前記画素点のQstepを用いて前記画素点のレベル値を逆量子化するために用いられる逆量子化ユニットと、を備え、
前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる。
【0046】
第13態様によれば、本発明の実施例は、画像符号化装置を提供し、当該符号化装置は、
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、前記画素点の量子化パラメータQP値を決定し、前記画素点のQP値に基づいて、前記画素点の量子化ステップQstepを決定するために用いられる量子化パラメータQP決定ユニットと、
選択された量子化器の組み合わせに対して、前記画素点のQstepを用いて前記画素点を量子化するために用いられる量子化ユニットと、を備え、
前記現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる。
【0047】
第14の態様によれば、本発明の実施例は、符号化機器と復号機器とを備えるビデオコーデックシステムを提供し、復号機器は、第10の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成され、符号化機器は、第11の態様に記載の方法を実施するように構成される。
【0048】
第15の態様によれば、本発明の実施例は、プロセッサ及びメモリを含む電子機器を提供し、前記メモリは、コンピュータ命令を記憶するように構成され、前記プロセッサは、メモリから前記コンピュータ命令を呼び出して実行して、第10の態様、第11の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成される。
【0049】
第16の態様によれば、本発明の実施例は、コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体を提供し、前記コンピュータプログラム又は命令が、コンピューティング機器又はコンピューティング機器が配置された記憶システムによって実行されると、第10の態様、第11の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施する。
【0050】
第17の態様によれば、本発明の実施例は、復号機器によって実行される画像復号方法を提供し、当該方法は、
現在の符号化ブロックの予測モードがイントラブロックコピー(intra block copy、IBC)予測モードである場合、前記現在の符号化ブロックをいくつかの変換ブロック(TB)及びいくつかの予測ブロック(PB)に分割するステップと、
前記現在の符号化ブロックの2番目のTBから、各TB内のPBに対して動き補償を実行するとき、現在のTBの左側の再構成TB内の再構成画素値を参照することができるステップと、を含む。
【0051】
可能な一実現形態では、前記現在の符号化ブロックのサイズは16×2であり、前記TBのサイズは8×2であり、前記PBのサイズは2×2である。
【0052】
可能な一実現形態では、前記現在の符号化ブロックをいくつかの変換ブロック(TB)及びいくつかの予測ブロック(PB)に分割することは、
前記現在の符号化ブロックの領域分割情報を取得することと、
前記現在の符号化ブロックの領域分割情報に基づいて、前記現在の符号化ブロックをいくつかの変換ブロック(TB)及びいくつかの予測ブロック(PB)に分割することと、を含む。
【0053】
可能な一実現形態では、前記現在の符号化ブロックの領域分割情報を取得することは、
前記現在の符号化ブロックの予め定義された領域分割情報を取得すること、又は、
前記方法が復号機器によって実行される場合、ビットストリームを解析して、前記現在の符号化ブロックの領域分割情報を取得することを含む。
【0054】
第18の態様によれば、本発明の実施例は、符号化機器によって実行される画像符号化方法を提供し、当該方法は、
現在の符号化ブロックの予測モードがイントラブロックコピー予測モードである場合、前記現在の符号化ブロックをいくつかの変換ブロック(TB)及びいくつかの予測ブロック(PB)に分割するステップと、
前記現在の符号化ブロックの2番目のTBから、各TB内のPBに対して動き補償を実行するとき、現在のTBの左側の再構成TB内の再構成画素値を参照することができるステップと、を含む。
【0055】
可能な一実現形態では、前記符号化機器による、前記現在のブロックに対応するブロックベクトル(BV)又はブロックベクトル差分(BVD)の符号化方式は、
水平方向の動き探索を行うが、垂直方向の動き探索を行わない場合、ビットストリームにおいて水平方向のBV又はBVDを伝送し、垂直方向のBV又はBVDを伝送しないことを含む。
【0056】
可能な一実現形態では、前記符号化機器による、前記現在のブロックに対応するブロックベクトル(BV)又はブロックベクトル差分(BVD)の符号化方式は、固定長符号化を含む。
【0057】
可能な一実現形態では、前記現在の符号化ブロックの予測ブロックは、
ブロックベクトル(BV)又はブロックベクトル差分(BVD)に基づいてマッチングブロックを取得し、前記マッチングブロックに対して処理を行い、最終的な予測ブロックを生成することにより取得され、
前記マッチングブロックに対して処理を行うことは、前記マッチングブロックに対して予測フィルタリング及び/又は光補償処理を行うすることを含む。
【0058】
第19の態様によれば、本発明の実施例は、プロセッサ及びメモリを含む電子機器を提供し、前記メモリは、コンピュータ命令を記憶するように構成され、前記プロセッサは、メモリから前記コンピュータ命令を呼び出して実行して、第17の態様、第18の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施するように構成される。
【0059】
第20の態様によれば、本発明の実施例は、コンピュータプログラム又は命令が記憶されているコンピュータ可読記憶媒体を提供し、前記コンピュータプログラム又は命令が、コンピューティング機器又はコンピューティング機器が配置された記憶システムによって実行されると、第17の態様、第18の態様及びその可能な実現方式のうちのいずれか1つに記載の方法を実施する。
【0060】
本発明の実施例は、上記の各態様で提供される実現方式に基づいて、より多くの実現方式を提供するためにさらに組み合わされてもよい。
【図面の簡単な説明】
【0061】
図1】本発明の一実施形態によるビデオコーデックシステムの例示的なブロック図である。
図2】本発明の一実施形態によるビデオエンコーダの例示的なブロック図である。
図3】本発明の一実施形態によるビデオデコーダの例示的なブロック図である。
図4】本発明の一実施形態によるビデオ符号化/復号のフローチャートである。
図5】本発明の一実施形態による画像復号方法のフローチャートである。
図6】本発明の一実施形態による画像復号方法のフローチャートである。
図7】本発明の一実施形態による画像復号方法のフローチャートである。
図8A】本発明の一実施形態による画素点の分布の概略図である。
図8B】本発明の一実施形態による画素点の分布の概略図である。
図9A】本発明の一実施形態による、ピクセル単位の予測モードにおける画素点の分割の概略図である。
図9B】本発明の一実施形態による、ピクセル単位の予測モードにおける画素点の分割の概略図である。
図9C】本発明の一実施形態による、ピクセル単位の予測モードにおける画素点の分割の概略図である。
図9D】本発明の一実施形態による、ピクセル単位の予測モードにおける画素点の分割の概略図である。
図10A】本発明の一実施形態によるピクセル単位の予測モードにおける画素点の分割の概略図である。
図10B】本発明の一実施形態によるピクセル単位の予測モードにおける画素点の分割の概略図である。
図11A】本発明の一実施形態によるピクセル単位の予測モードにおける画素点の分割の概略図である。
図11B】本発明の一実施形態によるピクセル単位の予測モードにおける画素点の分割の概略図である。
図12】本発明の一実施形態による画像復号方法のフローチャートである。
図13A】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図13B】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図13C】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図13D】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図14A】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図14B】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図14C】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15A】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15B】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15C】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15D】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図15E】本発明の一実施形態による符号化ブロックの領域分割の概略図である。
図16】本発明の一実施形態による画像符号化方法のフローチャートである。
図17】本発明の一実施形態による残差グループの分割の概略図である。
図18】本発明の一実施形態によるTB/PBの分割の概略図である。
図19】本発明による復号装置の概略構造図である。
図20】本発明による符号化装置の概略構造図である。
図21】本発明による電子機器の概略構造図である。
【発明を実施するための形態】
【0062】
本明細書における「及び/又は」という用語は、関連対象の関連関係の説明に過ぎず、3種類の関係が存在する可能性があることを示すものである。例えば、A及び/又はBは、Aが単独で存在し、AとBが同時に存在し、Bが単独で存在するという3種類の状況を示すことができる。
【0063】
本発明の実施形態の明細書及び特許請求の範囲における「第1」や「第2」等の用語は、異なる対象を区別するためのものであり、対象の特定の順序を説明するためのものではない。例えば、第1の予め設定された値と第2の予め設定された値などは、異なる予め設定された値を区別するためのものであり、予め設定された値の特定の順序を説明するためのものではない。
【0064】
本発明の実施形態において、「例示的な」又は「例えば」などの用語は、例、例証又は説明を表すために用いられる。本発明の実施形態において「例示的な」又は「例えば」と記載されている任意の実施形態又は設計解決策は、他の実施形態又は設計解決策よりも好ましい又は有利であると解釈すべきではない。具体的に言えば、「例示的な」又は「例えば」などの用語を使用することは、関連概念を具体的に提示することを意図する。
【0065】
本発明の実施形態の説明において、特に断らない限り、「複数の」は2つ以上を指す。例えば、複数の処理ユニットは、2つ以上の処理ユニットを指し、複数のシステムは、2つ以上のシステムを指す。
【0066】
本発明の実施形態で提供される画像復号方法及び符号化方法は、ビデオ復号及びビデオ符号化にも適用できるが、ビデオは一連の画像(picture)を含み、ビデオを復号及び符号化することは、本質的に、ビデオに含まれる全ての画像を復号及び符号化することであると理解すべきである。
【0067】
理解できるように、画像符号化プロセスにおける量子化とは、信号の連続値(又は大量の離散値)を有限の複数の離散値にマッピングすることを指し、量子化は信号値の多対1のマッピングを実現することができる。ビデオ符号化において、残差信号が変換された後、変換係数は一般的に大きなダイナミックレンジを有するため、変換係数を量子化することで、信号値空間を効果的に減少させ、より良い圧縮効果を得ることができる。しかし、多対一のマッピングメカニズムにより、量子化過程に歪みが導入されることは避けられず、これがビデオ符号化における歪みが生じる根本的な原因である。
【0068】
逆量子化とは、量子化の逆過程である。逆量子化は、量子化後の係数を入力信号空間における再構成信号にマッピングすることであり、再構成信号は入力信号の近似である。
【0069】
量子化は、スカラ量子化(scalar quantization、SQ)とベクトル量子化とを含む。スカラ量子化は最も基本的な量子化方法であり、スカラ量子化の入力は一次元のスカラ信号である。スカラ量子化プロセスは、まず、入力信号空間を一連の互いに交差しない区間に分割し、各区間から1つの代表信号を選択し、次に、各入力信号に対して、当該入力信号を当該入力信号が位置する区間の代表信号にスカラ量子化することを含む。ここで、区間長は量子化ステップ(quantization step、Qstepと記す)と呼ばれ、区間インデックスはレベル値(Level)、即ち量子化後の値であり、量子化ステップを表すパラメータは量子化パラメータ(quantization parameter、QP)である。
【0070】
最も簡単なスカラ量子化方法は均一スカラ量子化であり、均一スカラ量子化は入力信号空間を等間隔の区間に分割し、各区間の代表信号は区間中点である。
【0071】
最適なスカラ量子化器はLloyd-Max量子化器であり、Lloyd-Max量子化器は入力信号の分布状況を考慮しており、区間分割は不均一であり、各区間の代表信号は当該区間の確率重心であり、隣接する2つの区間の境界点はこの2つの区間代表信号の中点である。
【0072】
以下では、本願の実施形態で適用されるシステムアーキテクチャについて説明し、図1は、本発明によるビデオコーデックシステムの例示的なブロック図である。本明細書において、「ビデオ符号化・復号器」という用語は、一般に、ビデオエンコーダ及びビデオデコーダの両方を指す。本発明では、「ビデオコーデック」又は「コーデック」という用語は、一般に、ビデオ符号化又はビデオ復号を指す。ビデオコーデックシステム1におけるビデオエンコーダ100及びビデオデコーダ200は、本発明において提供される複数の新しいインター予測モードのうちのいずれか1つにおいて説明される様々な方法の例に従って、現在の符号化・復号された画像ブロック又はそのサブブロックの動きベクトルなどの動き情報を予測するように構成され、それにより、予測された動きベクトルは、動き推定方法を使用して得られる動きベクトルに最大限に近づく、符号化時に動きベクトルの差分を伝送する必要がなくなり、符号化・復号性能をさらに向上させることができる。
【0073】
図1に示すように、ビデオコーデックシステム1は、符号化機器10及び復号機器20を含む。符号化機器10は、符号化ビデオデータを生成する。したがって、符号化機器10は、ビデオ符号化装置と呼ばれてもよい。復号機器20は、符号化機器10によって生成された符号化ビデオデータを復号してもよい。したがって、復号機器20は、ビデオ復号装置と呼ばれてもよい。符号化機器10、復号機器20、又はその両方の様々な実施形態は、1つ又は複数のプロセッサと、前記1つ又は複数のプロセッサに結合されたメモリとを含み得る。前記メモリは、本明細書で説明するように、RAM、ROM、EEPROM、フラッシュメモリ、又はコンピュータによってアクセス可能な命令もしくはデータ構造の形で所望のプログラムコードを記憶するために使用され得る任意の他の媒体を含み得るが、これらに限定されない。
【0074】
符号化機器10及び復号機器20は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノート型(例えば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、車載コンピュータ、又はそれらの類似のものを含む様々な装置であってもよい。
【0075】
復号機器20は、リンク30を介して符号化機器10から符号化ビデオデータを受信することができる。リンク30は、符号化ビデオデータを符号化機器10から復号機器20に移動させることができる1つ又は複数の媒体又は装置を含み得る。一例では、リンク30は、符号化機器10が符号化ビデオデータを復号機器20にリアルタイムで直接送信することを可能にする1つ又は複数の通信媒体を含み得る。この例では、符号化機器10は、通信規格(例えば、無線通信プロトコル)に従って符号化ビデオデータを変調し、変調されたビデオデータを復号機器20に送信してもよい。前記1つ又は複数の通信媒体は、無線周波数(radio frequency、RF)スペクトル又は1つ又は複数の物理的伝送路などの無線及び/又は有線通信媒体を含み得る。前記1つ又は複数の通信媒体は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、又はグローバルネットワーク(例えば、インターネット)などのパケットベースネットワークの一部を形成し得る。前記1つ又は複数の通信媒体は、ルータ、スイッチ、基地局、又は符号化機器10から復号機器20への通信を容易にする他のデバイスを含み得る。
【0076】
別の例では、符号化データは、出力インタフェース140から記憶装置40に出力されてもよい。同様に、符号化データは、入力インタフェース240を介して記憶装置40からアクセスすることができる。記憶装置40は、分散型又はローカルアクセスのデータ記憶媒体、例えば、ハードディスクドライブ、ブルーレイディスク、デジタル多用途ディスク(digital video disc、DVD)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory、CD-ROM)、フラッシュメモリ、揮発性又は不揮発性メモリ、又は符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体であってもよい。
【0077】
別の例では、記憶装置40は、ファイルサーバ又は符号化機器10によって生成された符号化ビデオを保持し得る別の中間記憶装置に対応する。復号機器20は、ストリーミング又はダウンロードによって記憶装置40から記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶して復号機器20に送信することができる任意のタイプのサーバであってよい。例示的なファイルサーバは、ネットワークサーバ(例えば、ウェブサイト用)、ファイル転送プロトコル(file transfer protocol、FTP)サーバ、ネットワークアタッチストレージ(network attached storage、NAS)装置、又はローカルディスクドライブを含む。復号機器20は、任意の標準データ接続(インターネット接続を含む)を介して符号化ビデオデータにアクセスすることができる。これは、無線チャネル(例えば、ワイヤレスフィデリティ(wireless-fidelity、Wi-Fi)接続)、有線接続(例えば、デジタル加入者線(digital subscriber line、DSL)、ケーブルモデムなど)、又はファイルサーバに記憶された符号化ビデオデータにアクセスするのに適したそれらの組み合わせを含み得る。記憶装置40からの符号化ビデオデータの伝送は、ストリーミング伝送、ダウンロード伝送、又はこれらの組み合わせであってもよい。
【0078】
本発明によって提供される画像復号方法は、空中テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ストリーミングビデオ送信(例えば、インターネット経由)、データ記憶媒体に記憶されるビデオデータの符号化、データ記憶媒体に記憶されるビデオデータの復号、又は他のアプリケーションなど、様々なマルチメディアアプリケーションをサポートするためにビデオ符号化・復号に適用され得る。いくつかの実施例では、ビデオコーデックシステム1は、ビデオストリーミング、ビデオ再生、ビデオ放送及び/又はビデオ電話などのアプリケーションをサポートするために、単方向又は双方向ビデオ伝送をサポートするように構成されてもよい。
【0079】
図1に示されるビデオコーデックシステム1は例示に過ぎず、本発明の技術は、符号化装置と復号装置との間のデータ通信を必ずしも含まないビデオコーデック設定(例えば、ビデオ符号化やビデオ復号)に適用可能である。他の例では、データは、ローカルメモリから検索され、ネットワーク上でストリーミングされる。ビデオ符号化装置は、データを符号化してメモリに記憶してもよいし、及び/又はビデオ復号装置は、メモリからデータを読み出して復号してもよい。多くの例において、符号化・復号は、互いに通信せず、データをメモリに符号化し、及び/又はデータをメモリから取り出して復号する装置によって実行される。
【0080】
図1の例では、符号化機器10は、ビデオソース120、ビデオエンコーダ100、及び出力インタフェース140を含む。いくつかの例では、出力インタフェース140は、変調器/復調器(モデム)及び/又は送信機を含み得る。ビデオソース120は、ビデオキャプチャ装置(例えば、カメラ)、前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインインタフェース、及び/又はビデオデータを生成するためのコンピュータグラフィックスシステム、又はビデオデータのこれらのソースの組み合わせを含んでもよい。
【0081】
ビデオエンコーダ100は、ビデオソース120からのビデオデータを符号化することができる。いくつかの実施例では、符号化機器10は、出力インタフェース140を介して、符号化ビデオデータを復号機器20に直接送信する。他の例では、符号化ビデオデータは、復号機器20が復号及び/又は再生のためにアクセスするために、記憶装置40に記憶されてもよい。
【0082】
図1の例では、復号機器20は、入力インタフェース240と、ビデオデコーダ200と、表示装置220とを含む。いくつかの例では、入力インタフェース240は、受信機及び/又はモデムを含む。入力インタフェース240は、リンク30を介して、及び/又は記憶装置40から符号化ビデオデータを受信することができる。表示装置220は、復号機器20と一体化されていてもよいし、復号機器20の外部にあってもよい。一般に、表示装置220は、復号化ビデオデータを表示する。表示装置220は、液晶ディスプレイ(liquid crystal display、LCD)、プラズマディスプレイ、有機発光ダイオード(organic light-emitting diode、OLED)ディスプレイ又は他のタイプの表示装置など、様々な表示装置を含んでもよい。
【0083】
図1には示されていないが、いくつかの態様において、ビデオエンコーダ100及びビデオデコーダ200は、それぞれ、オーディオエンコーダ及びデコーダと統合されてもよく、共通データストリーム又は個別データストリーム内のオーディオ及びビデオの両方のエンコードに処理するために、適切なマルチプレクサ-デマルチプレクサユニット又は他のハードウェア及びソフトウェアを含んでもよい。いくつかの例では、適用可能である場合、デマルチプレクサ(MUX-DEMUX)ユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(user datagram protocol、UDP)などの他のプロトコルに準拠することができる。
【0084】
ビデオエンコーダ100及びビデオデコーダ200の各々は、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、ディスクリートロジック、ハードウェア、又はそれらの任意の組み合わせとして実装されてもよい。一部がソフトウェアで本発明を実施する場合、装置は、ソフトウェアのための命令を適切な不揮発性コンピュータ可読記憶媒体に記憶し、1つ又は複数のプロセッサを使用してハードウェアで前記命令を実行して本発明の技術を実施することができる。上記の内容(ハードウェア、ソフトウェア、ハードウェアとソフトウェアとの組み合わせなどを含む)のいずれかは、1つ又は複数のプロセッサと見なされてもよい。ビデオエンコーダ100及びビデオデコーダ200は、1つ又は複数のエンコーダ又はデコーダに含まれてもよく、前記エンコーダ又はデコーダのいずれかは、対応する装置内の複合エンコーダ/デコーダ(符号化復号器)の一部として統合されてもよい。
【0085】
本発明では、一般に、ビデオエンコーダ100は、ある情報を例えばビデオデコーダ200に「シグナリング通知」又は「送信」する別の装置と呼ばれ得る。「シグナリング通知」又は「送信」という用語は、概して、圧縮されたビデオデータを復号するためのシンタックス要素及び/又は他のデータの伝送を指し得る。この伝送は、リアルタイム又はほぼリアルタイムに発生し得る。代替的に、この通信は、一定の時間が経過した後に発生してもよく、例えば、符号化時に符号化ビットストリームにおいてシンタックス要素をコンピュータ可読記憶媒体に記憶する時に発生してもよく、復号装置は、次に、前記シンタックス要素がこの媒体に記憶された後の任意の時間に前記シンタックス要素を検索してもよい。
【0086】
JCT-VCは、H.265(HEVC)規格を開発した。HEVC標準化は、HEVCテストモデル(HEVC model、HM)と呼ばれるビデオ復号装置の進化モデルに基づいている。H.265の最新の標準文書は、http://www.itu.int/rec/T-REC-H.265から取得することができる。最新バージョンの標準文書は、H.265(12/16)であり、該標準文書は参照により本明細書に組み込まれる。HMは、ITU-TH.264/AVCの既存のアルゴリズムに対して、ビデオ復号装置がいくつかの追加の能力を有すると仮定する。例えば、H.264は9種類のイントラ予測符号化モードを提供し、HMは最大35種類のイントラ予測符号化モードを提供することができる。
【0087】
JVETは、H.266規格の開発に取り組んでいる。H.266標準化のプロセスは、H.266テストモデルと呼ばれるビデオ復号装置の進化モデルに基づいている。H.266のアルゴリズム記述は、http:/phenix.int-evry.fr/jvetから取得することができ、最新のアルゴリズム記述はJVET-F1001-v2に含まれ、該アルゴリズム記述文書は参照により本明細書に組み込まれる。また、https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/からJEMテストモデルの参考ソフトウェアを取得することができ、同様に参照により本明細書に組み込まれる。
【0088】
一般に、HMの動作モデルは、ビデオフレーム又は画像を、輝度サンプル及び色度(chroma)サンプルの両方を含むツリーブロック又は最大符号化ユニット(largest coding unit、LCU)のシーケンスに分割することができ、LCUは符号化ツリーユニット(coding tree unit、CTU)とも呼ばれることを記述する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、復号順に連続する複数のツリーブロックを含む。ビデオフレーム又は画像を1つ又は複数のスライスに分割することができる。各ツリーブロックは、四分木に基づいて符号化ユニット(coding unit、CU)に分割され得る。例えば、四分木の根ノードであるツリーブロックを4つの子ノードに分割し、各子ノードを親ノードとして他の4つの子ノードに分割してもよい。四分木のリーフノードとしての最終的に分割不可能な子ノードは、復号化ビデオブロックなどの復号ノードを含む。復号ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義してもよく、復号ノードの最小サイズを定義してもよい。
【0089】
CUのサイズは、復号ノードのサイズに対応し、形状は正方形でなければならない。CUのサイズの範囲は、8×8画素から64×64画素までであってよく、それ以上のツリーブロックのサイズであってよい。
【0090】
ビデオシーケンスは、通常、一連のビデオフレーム又は画像を含む。画像のグループ(group of picture、GOP)は、例えば、一連の、1つ又は複数のビデオ画像を含む。GOPに含まれる画像の数を記述するシンタックスデータは、GOPのヘッダ情報に含まれていてもよく、1つ又は複数の画像のヘッダ情報に含まれていてもよく、他の場所に含まれてもよい。画像の各スライスは、対応する画像の符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ100は、通常、ビデオデータを符号化するために、個別のビデオスライス内のビデオブロックを操作する。ビデオブロックは、CU内の復号ノードに対応してもよい。ビデオブロックは、固定又は可変のサイズを有し、指定された復号基準に従ってサイズが異なってもよい。
【0091】
本発明において、「N×N」と「N掛けるN」は、16×16画素又は16掛ける16画素のような、垂直次元及び水平次元に従ったビデオブロックの画素サイズを指すために、互換的に使用されてもよい。一般的に、16×16ブロックは、垂直方向に16画素点(y=16)、水平方向に16画素点(x=16)を有する。同様に、N×Nブロックは、通常、垂直方向にN個の画素点を有し、水平方向にN個の画素点を有し、ここで、Nは非負の整数値を表す。ブロック内の画素は、行及び列に配列され得る。また、ブロックは、必ずしも水平方向と垂直方向に同じ数の画素点を有する必要はない。例えば、ブロックはN×M個の画素点を含んでもよく、ここで、MがNと等しくなくてもよい。
【0092】
CUのイントラ/インター予測復号が使用された後、ビデオエンコーダ100は、CUの残差データを計算してもよい。CUは、空間領域(画素領域とも呼ばれる)内の画素データを含んでもよく、残差ビデオデータに変換(例えば、離散コサイン変換(discrete cosine transform、DCT)、整数変換、離散ウェーブレット変換、又は概念的に類似の変換)を適用した後の変換領域内の係数を含んでもよい。残差データは、符号化されていない画像の画素と、CUに対応する予測値との画素差分に対応し得る。ビデオエンコーダ100は、残差データを含むCUを形成し、CUの変換係数を生成することができる。
【0093】
任意の変換によって変換係数を生成した後、ビデオエンコーダ100は、変換係数の量子化を実行して、係数を表すために使用されるデータの量をできるだけ減らして、さらなる圧縮を提供することができる。量子化は、係数の一部又は全部に関するビット深度を減らすことができる。例えば、量子化中にnビット値をmビット値に切り捨ててもよく、ここで、nはmより大きい。
【0094】
いくつかの実現可能な実施形態では、ビデオエンコーダ100は、量子化された変換係数を予め定義された走査順序で走査して、エントロピー符号化され得るシリアライズ(直列化)ベクトルを生成し得る。他の実現可能な実施形態において、ビデオエンコーダ100は、適応的走査を実行し得る。量子化された変換係数を走査して1次元ベクトルを形成した後、ビデオエンコーダ100は、コンテキスト適応型可変長符号化(context-based adaptive variable-length code、CAVLC)、コンテキスト適応型バイナリ算術符号化(context-based adaptive binary arithmetic coding、CABAC)、シンタックスベース適応型バイナリ算術符号化(syntax-based adaptive binary arithmetic coding、SBAC)、確率間隔分割エントロピー(probability interval partitioning entropy、PIPE)符号化、又は他のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化することができる。ビデオエンコーダ100はまた、ビデオデコーダ200がビデオデータを復号するように、符号化ビデオデータに関連するシンタックス要素をエントロピー符号化してもよい。
【0095】
CABACを実行するために、ビデオエンコーダ100は、コンテキストモデル内のコンテキストを送信されるシンボルに割り当ててもよい。コンテキストは、シンボルの隣接値が非ゼロであるかどうかに関係し得る。CAVLCを実行するために、ビデオエンコーダ100は、送信されるシンボルの可変長符号を選択し得る。可変長符号化(variable-length code、VLC)における符号語は、比較的短い符号が可能性の高いシンボルに対応し、比較的長い符号が可能性の低いシンボルに対応するように構成されてもよい。送信される各シンボルに対して同じ長さの符号語を使用することに対して、VLCの使用は、ビットレートを節約する目的を達成することができる。CABACにおける確率は、シンボルに割り当てられたコンテキストに基づいて決定されてもよい。
【0096】
本発明の実施形態では、ビデオエンコーダは、画像間の時間的冗長性を低減するためにインター予測を実行することができる。本発明では、ビデオデコーダによって現在復号されているCUは、現在のCUと呼ばれ得る。本発明では、ビデオデコーダによって現在復号されている画像は、現在の画像と呼ばれ得る。
【0097】
図2は、本発明によるビデオエンコーダの例示的なブロック図である。ビデオエンコーダ100は、ビデオを後処理エンティティ41に出力するように構成される。後処理エンティティ41は、MANE(media aware network element)又はスプライシング/編集装置など、ビデオエンコーダ100からの符号化ビデオデータを処理することができるビデオエンティティの例を表す。場合によっては、後処理エンティティ41は、ネットワークエンティティの例であってもよい。いくつかのビデオ符号化システムにおいて、後処理エンティティ41とビデオエンコーダ100は、別個の装置のいくつかの部分であってもよく、他の実施例では、後処理エンティティ41に関して説明された機能は、ビデオエンコーダ100を含む同じ装置によって実行されてもよい。一例では、後処理エンティティ41は、図1の記憶装置40の例である。
【0098】
図2の例では、ビデオエンコーダ100は、予測処理ユニット108、フィルタユニット106、復号化ピクチャバッファ(decoded picture buffer、DPB)107、加算器112、変換器101、量子化器102、及びエントロピー符号化器103を含む。予測処理ユニット108は、インター予測器110とイントラ予測器109とを含む。画像ブロック再構成のために、ビデオエンコーダ100は、逆量子化器104、逆変換器105、及び加算器111をさらに含む。フィルタユニット106は、デブロッキングフィルタ、適応ループフィルタ(adaptive loop filter、ALF)及びサンプル適応オフセット(sample adaptive offset、SAO)フィルタなど、1つ又は複数のループフィルタを表す。図2では、フィルタユニット106をループ内フィルタとして示しているが、他の実施形態では、フィルタユニット106をループ後フィルタとして実施してもよい。一例では、ビデオエンコーダ100は、ビデオデータメモリ及び分割ユニット(図示せず)をさらに含み得る。
【0099】
ビデオデータメモリは、ビデオエンコーダ100のコンポーネントによって符号化すべきビデオデータを記憶することができる。ビデオソース120からビデオデータを取得して、ビデオデータメモリに記憶されてもよい。DPB 107は、ビデオエンコーダ100がイントラ、インターコーデックモードでビデオデータを符号化するための参照ビデオデータを記憶する参照画像メモリであってもよい。ビデオデータメモリ及びDPB 107は、SDRAM(synchronous dynamic random access memory)を含むDRAM(dynamic random access memory)、MRAM(magnetic random access memory)、RRAM(resistive random access memory)、又は別のタイプのメモリ装置など、様々なメモリ装置のうちのいずれかによって形成されてもよい。ビデオデータメモリ及びDPB 107は、同一のメモリ装置によって提供されてもよいし、別個のメモリ装置によって提供されてもよい。様々な実施例において、ビデオデータメモリは、ビデオエンコーダ100の他のコンポーネントと共にチップ上にあってもよく、それらのコンポーネントに対してチップ外にあってもよい。
【0100】
図2に示すように、ビデオエンコーダ100は、ビデオデータを受信し、当該ビデオデータをビデオデータメモリに記憶する。分割ユニットは、前記ビデオデータをいくつかの画像ブロックに分割し、これらの画像ブロックは、例えば、四分木構造又は二分木構造に基づく画像ブロック分割など、より小さなブロックにさらに分割されてもよい。この分割は、スライス(slice)、タイル(tile)又は他の大きなユニットに分割することを含んでもよい。ビデオエンコーダ100は、通常、符号化すべきビデオスライス内の画像ブロックを符号化するためのコンポーネントを表す。前記スライスは、複数の画像ブロックに分割されてもよい(タイルと呼ばれる画像ブロックセットに分割されてもよい)。予測処理ユニット108は、現在の画像ブロックに使用される複数の可能なコーデックモードのうちの1つ、例えば、複数のイントラコーデックモードのうちの1つ、又は複数のインターコーデックモードのうちの1つを選択してもよい。予測処理ユニット108は、残差ブロックを生成するために、イントラ及びインターコーデックブロックを加算器112に供給し、参照画像として使用される符号化ブロックを再構成するために、加算器111に供給してもよい。
【0101】
予測処理ユニット108内のイントラ予測器109は、空間的冗長性を除去するために、符号化すべき現在のブロックと同じフレーム又はスライス内の1つ又は複数の隣接ブロックに対して現在の画像ブロックのイントラ予測符号化を実行してもよい。予測処理ユニット108内のインター予測器110は、時間的冗長性を除去するために、1つ又は複数の参照画像内の1つ又は複数の予測ブロックに対して現在の画像ブロックのインター予測符号化を実行してもよい。
【0102】
具体的には、インター予測器110は、現在の画像ブロックを符号化するためのインター予測モードを決定するように構成され得る。例えば、インター予測器110は、ビットレート-歪み分析を使用して、候補のインター予測モードセットにおける様々なインター予測モードのビットレート-歪み値を計算し、その中から最適なビットレート-歪み特性を有するインター予測モードを選択してもよい。ビットレート-歪み分析は、通常、符号化ブロックと、当該符号化ブロックの元の符号化されていないブロックとの間の歪み(又は誤差)の量、及び符号化ブロックを生成するためのビットレート(即ち、ビット数)を決定する。例えば、インター予測器110は、候補インター予測モードセットにおける、ビットレート‐歪みコストが最も小さい前記現在の画像ブロックを符号化するインター予測モードを、現在の画像ブロックに対してインター予測を行うためのインター予測モードとして決定することができる。
【0103】
インター予測器110は、決定されたインター予測モードに基づいて、現在の画像ブロック内の1つ又は複数のサブブロックの動き情報(例えば、動きベクトル)を予測し、現在の画像ブロック内の1つ又は複数のサブブロックの動き情報(例えば、動きベクトル)を使用して、現在の画像ブロックの予測ブロックを取得又は生成するように構成される。インター予測器110は、参照画像リストにおいて、前記動きベクトルが指す予測ブロックを位置決めしてもよい。また、インター予測器110は、ビデオデコーダ200がビデオスライスの画像ブロックを復号するときに使用するために、画像ブロック及びビデオスライスに関連するシンタックス要素を生成してもよい。あるいは、一例では、インター予測器110は、各サブブロックの動き情報を使用して動き補償処理を実行して、各サブブロックの予測ブロックを生成し、現在の画像ブロックの予測ブロックを取得する。ここでのインター予測器110は、動き推定及び動き補償処理を実行することを理解されたい。
【0104】
具体的には、現在の画像ブロックに対してインター予測モードを選択した後、インター予測器110は、エントロピー符号化器103が選択されたインター予測モードを示す情報を符号化するように、現在の画像ブロックの選択されたインター予測モードを示す情報をエントロピー符号化器103に提供してもよい。
【0105】
イントラ予測器109は、現在の画像ブロックに対してイントラ予測を実行してもよい。具体的には、イントラ予測器109は、現在のブロックを符号化するためのイントラ予測モードを決定してもよい。例えば、イントラ予測器109は、ビットレート‐歪み分析を使用して様々なテスト対象のイントラ予測モードのビットレート‐歪み値を計算し、テスト対象のモードの中から最適なビットレート‐歪み特性を有するイントラ予測モードを選択してもよい。いずれの場合であっても、画像ブロックに対してイントラ予測モードを選択した後、イントラ予測器109は、エントロピー符号化器103が選択されたイントラ予測モードを示す情報を符号化するように、現在の画像ブロックの選択されたイントラ予測モードを示す情報をエントロピー符号化器103に提供することができる。
【0106】
予測処理ユニット108がインター予測、イントラ予測によって現在の画像ブロックの予測ブロックを生成した後、ビデオエンコーダ100は、符号化すべき現在の画像ブロックから前記予測ブロックを減算して残差画像ブロックを形成する。加算器112は、この減算動作を実行する1つ又は複数のコンポーネントを表す。前記残差ブロック内の残差ビデオデータは、1つ又は複数の変換ユニット(transform unit、TU)に含まれてよく、変換器101に適用される。変換器101は、例えば離散コサイン変換(discrete cosine transform、DCT)又は概念的に類似する変換などを用いて、残差ビデオデータを残差変換係数に変換する。変換器101は、残差ビデオデータを画素値領域から周波数領域などの変換領域に変換してもよい。
【0107】
変換器101は、得られた変換係数を量子化器102に送信することができる。量子化器102は、前記変換係数を量子化してビットレートをさらに低減する。いくつかの例では、量子化器102は、次に、量子化された変換係数を含む行列に対する走査を実行してもよい。あるいは、エントロピー符号化器103は、走査を実行してもよい。
【0108】
量子化後、エントロピー符号化器103は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化器103は、コンテキスト適応型可変長符号化(CAVLC)、コンテキスト適応型バイナリ算術符号化(CABAC)、シンタックスベース適応型バイナリ算術符号化(SBAC)、確率間隔分割エントロピー(PIPE)符号化、又は別のエントロピー符号化方法もしくは技術を実行してもよい。エントロピー符号化器103によってエントロピー符号化された後、符号化ビットストリームは、ビデオデコーダ200に送信されてもよく、後で送信するために又はビデオデコーダ200によって検索されるためにアーカイブされてもよい。また、エントロピー符号化器103は、符号化すべき現在の画像ブロックのシンタックス要素をエントロピー符号化してもよい。
【0109】
逆量子化器104及び逆変換器105は、それぞれ逆量子化及び逆変換を適用して、例えば、後に参照画像の参照ブロックとして使用するために、画素領域において残差ブロックを再構成する。加算器111は、再構成された残差ブロックを、インター予測器110又はイントラ予測器109によって生成された予測ブロックに追加して、再構成された画像ブロックを生成する。フィルタユニット106は、ブロックアーティファクト(block artifacts)などの歪みを低減するために再構成された画像ブロックに適用されてもよい。その後、該再構成された画像ブロックは参照ブロックとして復号化ピクチャバッファ107に記憶され、インター予測器110により、後続のビデオフレーム又は画像におけるブロックに対してインター予測を行うための参照ブロックとして使用され得る。
【0110】
ビデオエンコーダ100の他の構造的変化はまた、ビデオビットストリームを符号化するために使用され得ることを理解されたい。例えば、いくつかの画像ブロック又は画像フレームについて、ビデオエンコーダ100は、変換器101によって処理される必要がなく、それに応じて、逆変換器105によって処理される必要もなく、残差信号を直接量子化することができる。あるいは、いくつかの画像ブロック又は画像フレームについて、ビデオエンコーダ100は、残差データを生成せず、それに応じて、変換器101、量子化器102、逆量子化器104、及び逆変換器105によって処理される必要がない。あるいは、ビデオエンコーダ100は、フィルタユニット106によって処理される必要がなく、再構成された画像ブロックを参照ブロックとして直接記憶することができる。あるいは、ビデオエンコーダ100内の量子化器102及び逆量子化器104は、一緒に統合され得る。
【0111】
図3は、本発明によるビデオデコーダ200の例示的なブロック図である。図3の例では、ビデオデコーダ200は、エントロピー復号器203、予測処理ユニット208、逆量子化器204、逆変換器205、加算器211、フィルタユニット206、及びDPB 207を含む。予測処理ユニット208は、インター予測器210及びイントラ予測器209を含み得る。いくつかの例では、ビデオデコーダ200は、図2のビデオエンコーダ100について説明した符号化プロセスと実質的に逆の復号プロセスを実行し得る。
【0112】
復号プロセスにおいて、ビデオデコーダ200は、ビデオエンコーダ100から、符号化ビデオスライスの画像ブロック及び関連するシンタックス要素を表す符号化ビデオビットストリームを受信する。ビデオデコーダ200は、ネットワークエンティティ42からビデオデータを受信してもよく、オプションで、前記ビデオデータをビデオデータメモリ(図示せず)に記憶してもよい。ビデオデータメモリは、符号化ビデオビットストリームなど、ビデオデコーダ200のコンポーネントによって復号すべきビデオデータを記憶することができる。ビデオデータメモリに記憶されるビデオデータは、例えば、記憶装置40から、カメラなどのローカルビデオソースから、ビデオデータの有線又は無線ネットワーク通信を介して、又は物理データ記憶媒体にアクセスすることによって、取得されてもよい。ビデオデータメモリは、符号化ビデオビットストリームからの符号化ビデオデータを記憶するための復号化ピクチャバッファ(DPB)として機能することができる。したがって、ビデオデータメモリは、図3には示されていないが、ビデオデータメモリとDPB 207とは、同一のメモリであってもよいし、個別に設けられたメモリであってもよい。ビデオデータメモリ及びDPB 207は、シンクロナスDRAM(SDRAM)を含むDRAM、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、又は他のタイプのメモリ装置など、様々なメモリ装置のいずれかによって形成されてもよい。様々な実施例において、ビデオデータメモリは、ビデオデコーダ200の他のコンポーネントと共にチップ上に集積されてもよく、それらのコンポーネントに対してチップ外に設けられてもよい。
【0113】
ネットワークエンティティ42は、サーバ、MANE、ビデオエディタ/スプライシング装置、又は上述した技術の1つ又は複数を実施するための他の装置であってもよい。ネットワークエンティティ42は、ビデオエンコーダ100などのビデオエンコーダを含んでもよいし、含まなくてもよい。ネットワークエンティティ42は、符号化ビデオビットストリームをビデオデコーダ200に送信する前に、本発明で説明される技術の一部を実施してもよい。いくつかのビデオ復号システムにおいて、ネットワークエンティティ42とビデオデコーダ200は、別々の装置の部分であってもよく、他の場合、ネットワークエンティティ42に関して説明された機能は、ビデオデコーダ200を含む同じ装置によって実行されてもよい。場合によっては、ネットワークエンティティ42は、図1の記憶装置40の例であり得る。
【0114】
ビデオデコーダ200のエントロピー復号器203は、ビットストリームをエントロピー復号して、量子化された係数及びいくつかのシンタックス要素を生成する。エントロピー復号器203は、シンタックス要素を予測処理ユニット208に転送する。ビデオデコーダ200は、ビデオスライスレベル及び/又は画像ブロックレベルのシンタックス要素を受信することができる。
【0115】
ビデオスライスがイントラ復号(I)スライスとして復号される場合、予測処理ユニット208のイントラ予測器209は、シグナリングによって通知されるイントラ予測モードと、現在のフレーム又は画像の以前の復号されたブロックからのデータとに基づいて、現在のビデオスライスの画像ブロックの予測ブロックを生成してもよい。ビデオスライスがインター復号(即ち、B又はP)スライスとして復号される場合、予測処理ユニット208のインター予測器210は、エントロピー復号器203から受信したシンタックス要素に基づいて、現在のビデオスライスの現在の画像ブロックを復号するためのインター予測モードを決定し、決定されたインター予測モードに基づいて前記現在の画像ブロックを復号(例えば、インター予測を実行する)してもよい。具体的には、インター予測器210は、新しいインター予測モードを使用して現在のビデオスライスの現在の画像ブロックを予測するかどうかを決定してもよく、シンタックス要素が、新しいインター予測モードを使用して現在の画像ブロックを予測することを示す場合、新しいインター予測モード(例えば、シンタックス要素によって指定される新しいインター予測モード又はデフォルトの新しいインター予測モード)に基づいて現在のビデオスライスの現在の画像ブロック又は現在の画像ブロックのサブブロックの動き情報を予測する。これにより、動き補償処理を通じて、予測された現在の画像ブロック又は現在の画像ブロックのサブブロックの動き情報を使用して、現在の画像ブロック又は現在の画像ブロックのサブブロックの予測ブロックを取得又は生成してもよい。ここで、動き情報は、参照画像情報及び動きベクトルを含んでもよく、参照画像情報は、単方向/双方向予測情報、参照画像リスト番号及び参照画像リストに対応する参照画像インデックスを含んでもよいが、これらに限定されない。インター予測の場合、予測ブロックは、参照画像リスト内の1つの参照画像から生成されてもよい。ビデオデコーダ200は、DPB 207に記憶された参照画像に基づいて、参照画像リスト、即ちリスト0及びリスト1を構築することができる。現在の画像の参照フレームインデックスは、参照フレームリスト0及び/又はリスト1に含まれてもよい。いくつかの例では、ビデオエンコーダ100が、特定のブロックの特定のシンタックス要素を復号するために新しいインター予測モードを使用するかどうかを示す信号を送信してもよく、あるいは、特定のブロックの特定のシンタックス要素を復号するために、新しいインター予測モードを使用するかどうかと、どの新しいインター予測モードを使用するかを示す信号を送信してもよい。なお、ここでのインター予測器210は、動き補償処理を実行する。
【0116】
逆量子化器204は、ビットストリームに供給され、エントロピー復号器203によって復号された、量子化された変換係数を逆量子化する。逆量子化は、ビデオスライス内の各画像ブロックについてビデオエンコーダ100によって計算された量子化パラメータを使用して、適用すべき量子化の程度を決定することと、適用すべき逆量子化の程度を決定することと、を含み得る。逆変換器205は、逆DCT、逆整数変換、又は概念的に類似する逆変換処理などの変換係数に逆変換を適用して、画素領域内の残差ブロックを生成する。
【0117】
インター予測器210が現在の画像ブロック又は現在の画像ブロックのサブブロックに対する予測ブロックを生成した後、ビデオデコーダ200は、逆変換器205からの残差ブロックと、インター予測器210によって生成された対応する予測ブロックとを加算することによって、再構成ブロック、即ち復号された画像ブロックを取得する。加算器211は、この加算動作を実行するコンポーネントを表す。必要に応じて、ループフィルタ(復号ループ内又は復号ループの後)を使用して画素遷移を平滑化してもよく、又は他の方式でビデオ品質を改善してもよい。フィルタユニット206は、デブロッキングフィルタ、適応ループフィルタ(ALF)及びサンプル適応オフセット(SAO)フィルタなどの1つ又は複数のループフィルタを表すことができる。図3では、フィルタユニット206をループ内フィルタとして示しているが、他の実施形態では、フィルタユニット206をループ後フィルタとして実施してもよい。一例では、フィルタユニット206は、ブロック歪みを低減するためにブロックを再構成し、その結果を復号化ビデオビットストリームとして出力するように構成される。また、所定のフレーム又は画像における復号された画像ブロックをDPB 207に記憶してもよく、DPB 207は、その後の動き補償のための参照画像を記憶する。DPB 207は、メモリの一部であってもよく、後に表示装置(例えば、図1の表示装置220)に表示するために復号化ビデオを記憶してもよく、又はこのようなメモリと分離されてもよい。
【0118】
ビデオデコーダ200の他の構造的変化は、符号化ビデオビットストリームを復号するために使用され得ることを理解されたい。例えば、ビデオデコーダ200は、フィルタユニット206によって処理されずに出力ビデオビットストリームを生成してもよく、又は、いくつかの画像ブロック又は画像フレームに対して、ビデオデコーダ200のエントロピー復号器203は、量子化された係数を復号せず、それに応じて、逆量子化器204及び逆変換器205によって処理される必要がない。
【0119】
本発明の技術は、図1図3に示され説明されたビデオエンコーダ100及びビデオデコーダ200のような、本発明において説明されたビデオエンコーダ又はビデオデコーダのいずれかによって実行され得る。即ち、実現可能な実施形態において、図2において説明されるビデオエンコーダ100は、ビデオデータのブロックの符号化中にインター予測を実行するときに、以下に説明される特定の技術を実行することができる。別の実現可能な実施形態において、図3において説明されるビデオデコーダ200は、ビデオデータのブロックの復号中にインター予測を実行するときに、以下に説明される特定の技術を実行することができる。したがって、一般的な「ビデオエンコーダ」又は「ビデオデコーダ」への参照は、ビデオエンコーダ100、ビデオデコーダ200、又は別のビデオ符号化又は復号ユニットを含み得る。
【0120】
図1図3は、本発明の実施形態による単なる例であり、いくつかの例では、ビデオエンコーダ100、ビデオデコーダ200、及びビデオコーデックシステムは、本発明を限定することなく、より多くの又はより少ない構成要素又はユニットを含み得る。
【0121】
以下では、図1図3に示されるビデオコーデックシステムに基づいて、本発明の実施形態は、可能なビデオ符号化/復号実施形態を提供する。図4は、本発明によるビデオ符号化/復号プロセスのフローチャートであり、図4に示すように、当該ビデオ符号化/復号実施形態は、プロセス(1)~プロセス(5)を含み、プロセス(1)~プロセス(5)は、上述した符号化機器10、ビデオエンコーダ100、復号機器20、又はビデオデコーダ200のうちのいずれか1つ又は複数によって実行され得る。
【0122】
プロセス(1):1フレームの画像を互いに重ならない1つ又は複数の並列符号化ユニットに分割する。該1つ又は複数の並列符号化ユニット間に依存関係がなく、図4に示す並列符号化ユニット1及び並列符号化ユニット2のように、完全に並列/独立して符号化・復号することができる。
【0123】
プロセス(2):各並列符号化ユニットについて、それを互いに重ならない1つ又は複数の独立符号化ユニットにさらに分割してもよく、各独立符号化ユニット間は互いに依存しなくてもよいが、いくつかの並列符号化ユニットヘッダ情報を共有することができる。
【0124】
例えば、独立符号化ユニットの幅はw_lcuであり、高さはh_lcuである。並列符号化ユニットが1つの独立符号化ユニットに分割される場合、独立符号化ユニットのサイズは並列符号化ユニットのサイズと完全に同じであり、そうでない場合、独立符号化ユニットの幅は高さより大きくなければならない(エッジ領域でない限り)。
【0125】
通常、独立符号化ユニットは、固定のw_lcu×h_lcuであってもよく、w_lcu及びh_lcuは、いずれも2のN乗(N≧0)である。例えば、独立符号化ユニットのサイズは、128×4、64×4、32×4、16×4、8×4、32×2、16×2、又は8×2などであってもよい。
【0126】
可能な例として、独立符号化ユニットは、固定の128×4であってもよい。並列符号化ユニットのサイズが256×8である場合、並列符号化ユニットを4つの独立符号化ユニットに均等に分割することができ、並列符号化ユニットのサイズが288×10である場合、並列符号化ユニットは、第1/第2行を2つの128×4の独立符号化ユニットと1つの32×4の独立符号化ユニットに分割することができ、第3行を2つの128×2の独立符号化ユニットと1つの32×2の独立符号化ユニットに分割することができる。
【0127】
なお、独立符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分、又は赤(red、R)、緑(green、G)、青(blue、B)の3つの成分を含んでもよいし、いずれか1つの成分のみを含んでもよい。独立符号化ユニットが3つの成分を含む場合、これら3つの成分のサイズは完全に同じであっても異なってもよく、具体的には画像の入力フォーマットに関連する。
【0128】
プロセス(3):各独立符号化ユニットについて、それを互いに重ならない1つ又は複数の符号化ユニットにさらに分割してもよく、独立符号化ユニット内の各符号化ユニットは互いに依存してもよく、例えば、複数の符号化ユニットはプリコーディング及びデコーディングのために相互参照されてもよい。
【0129】
符号化ユニットと独立符号化ユニットとのサイズが同じである場合(即ち、独立符号化ユニットが1つの符号化ユニットのみに分割される場合)、そのサイズは、プロセス(2)に記載される全てのサイズであってもよい。
【0130】
独立符号化ユニットが互いに重ならない複数の符号化ユニットに分割される場合、その実行可能な分割例として、水平均等分割(符号化ユニットの高さが独立符号化ユニットと同じであるが、幅が異なり、その1/2、1/4、1/8、1/16などであってもよい)、垂直均等分割(符号化ユニットの幅が独立符号化ユニットと同じであり、高さが異なり、その1/2、1/4、1/8、1/16などであってもよい)、水平と垂直均等分割(四分木分割)などがあり、水平均等分割が好ましい。
【0131】
符号化ユニットの幅がw_cuであり、高さがh_cuである場合、その幅は高さよりも大きくなければならない(エッジ領域でない限り)。通常、符号化ユニットは、固定のw_cu×h_cuであってもよく、w_cu及びh_cuはいずれも2のN乗(Nは0以上)であり、例えば、16×4、8×4、16×2、8×2、8×1、4×1などである。
【0132】
可能な一例として、符号化ユニットは固定の16×4であってもよい。独立符号化ユニットのサイズが64×4である場合、独立符号化ユニットを4つの符号化ユニットに均等に分割してもよく、独立符号化ユニットのサイズが72×4である場合、符号化ユニットは、4つの16×4と1つの8×4に分割される。
【0133】
なお、符号化ユニットは、輝度Y、色度Cb、色度Crの3つの成分(又は赤R、緑G、青Bの3つの成分)を含んでもよいし、いずれか1つの成分のみを含んでもよい。符号化ユニットは3つの成分を含む場合、3つの成分のサイズは完全に同じであっても異なってもよく、具体的には画像入力フォーマットに関連する。
【0134】
なお、プロセス(3)は、ビデオコーデック方法における任意選択のステップであり、ビデオエンコーダ/デコーダは、プロセス(2)で得られた独立符号化ユニットの残差係数(又は残差値)を符号化/復号してもよい。
【0135】
プロセス(4):符号化ユニットについて、それを互いに重ならない1つ又は複数の予測グループ(Prediction Group、PG)にさらに分割してもよい。PGはGroupと略称されてもよく、各PGは、選択された予測モードに従って符号化・復号を行って各PGの予測値を取得し、各PGの予測値は符号化ユニット全体の予測値を構成し、符号化ユニットの予測値と符号化ユニットのオリジナル値とに基づいて、符号化ユニットの残差値を取得することができる。
【0136】
プロセス(5):符号化ユニットの残差値に基づいて符号化ユニットをグループ化し、互いに重ならない1つ又は複数の残差ブロック(residual block、RB)を取得し、各RBの残差係数を選定モードに従って符号化・復号して残差係数ストリームを形成する。具体的には、残差係数に対して変換を行う場合と変換を行わない場合に分けられる。
【0137】
プロセス(5)における残差係数符号化・復号方法の選定モードは、半固定長符号化方法、指数ゴロム(Golomb)符号化方法、Golomb‐Rice符号化方法、トランケーテッド・ユーナリ(Truncated Unary、TU)符号化方法、ランレングス符号化(Run Length Encoding、RLE)方法、オリジナル残差値の直接符号化方法などのいずれかを含むが、これらに限定されない。
【0138】
例えば、ビデオエンコーダは、RB内の係数を直接符号化することができる。
【0139】
また、例えば、ビデオエンコーダは、残差ブロックに対してDCT、DST、Hadamard変換などの変換を行い、変換後の係数を符号化することができる。
【0140】
可能な一例として、RBが小さい場合、ビデオエンコーダは、RB内の各係数を直接統一的に量子化して、2値化符号化を行ってもよい。RBが大きい場合、さらに複数の係数グループ(coefficient group、CG)に分割し、各CGを統一的に量子化した後、2値化符号化を行ってもよい。本発明のいくつかの実施形態では、CG及び量子化グループ(Quantization Group)は同じであってもよい。
【0141】
以下、半固定長符号化方式で残差係数符号化の部分を例示的に説明する。まず、1つのRBブロック内の残差の絶対値の最大値を修正最大値(modified maximum)とする。次に、当該RBブロック内の残差係数の符号化ビット数を決定し、同じRBブロック内の残差係数の符号化ビット数は一致する。例えば、現在のRBブロックのクリティカル制限値(critical limit、CL)が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つのみが存在する場合、1つのTrailingビットを符号化して該境界値が-2^(M-1)であるか2^(M-1)であるかを確定する必要がある。-2^(M-1)及び2^(M-1)のいずれも存在しない場合、該Trailingビットを符号化する必要がない。
【0142】
いくつかの特殊な場合には、ビデオエンコーダは、残差値ではなく、画像のオリジナル値を直接符号化してもよい。
【0143】
本発明の実施形態における符号化ブロック(coding block)は、画像内の1つの画像ブロックに対応し、符号化ブロックは、上記のプロセス(3)において分割された符号化ユニットであってもよく、符号化ユニットが分割された予測グループであってもよい。
【0144】
図1に示されるビデオコーデックシステム、図2に示されるビデオエンコーダ、及び図3に示されるビデオデコーダの概略構成図を参照して、本発明の実施形態における画像復号方法及び符号化方法について以下に詳細に説明する。
【0145】
図5は、本発明による画像復号方法のフローチャートであり、当該画像復号方法は、図1に示されるビデオコーデックシステムに適用され得、当該画像復号方法は、復号機器20によって実行され得る。具体的には、当該復号方法は、復号機器20に含まれるビデオデコーダ200によって実行され得る。図5に示すように、本発明の実施形態による画像復号方法は、以下のステップを含む。
【0146】
S501において、現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点について、当該画素点のQP値を決定する。
【0147】
ここで、現在の符号化ブロック内の画素点のうちの少なくとも2つの画素点のQP値は異なる。並列逆量子化画素点とは、いくつかの画素点に対して、これらの画素点を並列に逆量子化することができることを意味する。
【0148】
現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列逆量子化画素点は、ビデオデコーダによって現在処理されている画素点であり、説明を容易にするために、以下の実施形態では、現在の画素点とも呼ばれ得る。
【0149】
復号すべきビデオストリームを復号して、当該ビデオストリームに含まれる1つ又は複数の画像フレームを取得することができる。1つの画像フレームは、1つ又は複数の画像ブロックを含む。本発明の実施形態では、現在の符号化ブロックは、処理すべき画像(前記ビデオストリーム内の任意の画像フレームである)の1つの画像ブロックに対応し、符号化ブロックは、符号化ユニットであってもよい。
【0150】
従来技術では、1つの符号化ブロック(例えば、上記の現在の符号化ブロック)内の全ての画素点に対して同じQP値が使用される。即ち、現在の符号化ブロックを逆量子化するプロセスにおいて、QP値は符号化ブロックの粒度のQP値であるため、生じる画像歪みは比較的大きい。これに対して、本発明の実施形態では、1つの符号化ブロック(例えば、上記の現在の符号化ブロック)について、ビデオデコーダは、当該符号化ブロックの現在の画素点のQP値を決定し、符号化ブロックの画素点のうちの少なくとも2つに異なるQP値を割り当てる。即ち、現在の符号化ブロックを逆量子化するプロセスにおいて、QP値は画素粒度のQP値であり、同じ符号化ブロック内の異なる画素点間の差異が十分に考慮される。各画素点に適切なQP値を割り当てることにより、画像フレームの復号歪みを低減し、現在の符号化ブロックの逆量子化効果を向上させることができる(逆量子化効果は、復号により得られた画像の品質によって評価することができる)。
【0151】
S502において、現在の画素点のQP値に基づいて、当該現在の画素点を逆量子化する。
【0152】
現在の画素点を逆量子化することは、具体的には、現在の画素点のレベル値を逆量子化することであり、当該現在の画素点のレベル値は、ビデオデコーダがビットストリームを解析することによって取得される。
【0153】
符号化プロセスにおいて、ビデオエンコーダは、現在の符号化ブロックを予測して、当該現在の符号化ブロックの残差値を取得する。当該残差値は、現在の符号化ブロックの真値と現在の符号化ブロックの予測値との差であり、現在の符号化ブロックの残差係数と呼ばれてもよい。次に、現在の符号化ブロックの残差係数が変換された後に量子化され、現在の符号化ブロックの量子化係数を取得する。あるいは、ビデオエンコーダは、現在の符号化ブロックの量子化係数を取得するために、現在の符号化ブロックの残差係数を変換せず、当該残差係数を直接量子化する。この場合、当該量子化係数は、レベル値又は量子化された残差係数と呼ばれ得る。本発明の実施形態では、説明を容易にするために、量子化された値をレベル値と総称する。
【0154】
本発明の実施形態では、現在の画素点のQP値に基づいて、現在の画素点のレベル値を逆量子化するステップは、当該現在の画素点のQP値に基づいて、当該現在の画素点の量子化ステップQstepを決定するステップと、選択された量子化器の組み合わせに対して、当該現在の画素点のQstepを用いて当該現在の画素点のレベル値を逆量子化するステップとを含み得る。
【0155】
オプションとして、量子化器は、均一量子化器又は非均一量子化器であり、量子化器の組み合わせは、ビットストリームに含まれるマーク情報によって決定される。
【0156】
ビデオデコーダは、QP値に基づいて、式導出又はルックアップのうちの少なくとも1つによってQstepを決定することができ、以下に3つの可能な実現方法を提供する。
【0157】
方法1:
【数6】
ここで、a及びbは予め設定されたパラメータであり、例えば、aの値は2であり、bの値は1である。
【0158】
方法2:
【数7】
ここで、TはQPに関する整数であり、例えばT=(QP-6)/4である。
【0159】
方法3:
【数8】
ここで、octaveはQPのオクターブであり、即ち、QPの値がoctave増加するごとに、Qstepの値が1倍増加し、通常、octaveは6又は8であり、offsetは整数オフセット値である。
【0160】
オプションとして、下記のH.265における従来のスカラ量子化方法を用いて量子化及び逆量子化を実現してもよい。
量子化:
【数9】
逆量子化:
【数10】
ここで、lは量子化後に得られたレベル値であり、cは量子化すべき残差係数(該残差係数は、変換領域の残差係数、即ち変換された残差係数であってもよく、画素領域の残差係数、即ち残差値であってもよい)であり、Qstepは量子化ステップであり、fは丸めを制御するためのパラメータであり、f∈0,1)、signは符号関数を表し、floorは切り捨て関数を表し、c’は逆量子化後の値である。
【0161】
QP値が大きいほど、Qstep値が大きいほど、量子化が粗くなり、量子化による画像歪みが大きくなり、係数符号化のビットレートが小さくなることが理解できる。
【0162】
[0、1-f)は量子化不感帯(dead zone)を表し、パラメータfは量子化不感帯の長さに関連し、fが小さいほど量子化不感帯が長くなり、量子化後のレベル値がゼロ点に近くなる。f=0.5の場合、上記量子化及び逆量子化式は四捨五入に相当し、量子化歪みは最小になる。f<0.5の場合、fが小さいほど量子化歪みが大きくなり、係数符号化のビットレートが小さくなる。H.265において、Iフレームに対して、f=1/3を選択し、B/Pフレームに対して、f=1/6を選択する。
【0163】
例示的に、均一量子化器の量子化又は逆量子化式は、上記の量子化及び逆量子化式を参照することができ、パラメータfは以下の方法で取ることができる。
【0164】
方法1:fは、0.5又は他の固定値を取る。
【0165】
方法2:fは、QP値、予測モード、及び変換を行うかどうかに基づいて適応的に決定され得る。
【0166】
以上のように、本発明の実施形態において提供される復号方法によれば、ビデオデコーダは、符号化ブロックに対して各画素点のQP値を決定し、それにより、各画素点のQP値に基づいて各画素点を逆量子化し、即ち、ピクセル単位に逆量子化を行うことができる。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0167】
オプションとして、図5を参照して、図6に示すように、現在の画素点のQP値を決定する前に、本発明の実施形態で提供される復号方法は、S503~S504をさらに含む。
【0168】
S503において、現在の符号化ブロックのQP値を取得する。
【0169】
一実施態様では、現在の符号化ブロックのQP値は、ビットストリームを解析して取得されてもよい。ニアロスレス圧縮技術において、小さいQPが出現する確率は大きいQPよりも高いため、ビデオエンコーダは、トランケーテッド・ユーナリ(Truncated Unary、TU)、トランケーテッド・ライス(Truncated Rice、TR)、又は指数ゴロム(Golomb)を使用して、1つの符号化ブロックのQP値を直接符号化することができ、それにより、ビデオデコーダは、ビットストリームを解析して符号化ブロックのQP値を取得することができる。
【0170】
別の実施態様では、現在の符号化ブロックのQP値は、現在の符号化ブロックの予測QP値及びQPオフセット量に基づいて取得されてもよい。例えば、現在の符号化ブロックのQP値は、以下の方式1又は方式2によって取得され得る。
【0171】
ここで、前者の実施態様のプロセスは、S1~S3を含む。
【0172】
S1において、現在の符号化ブロックの予測QP値を取得する。
【0173】
オプションとして、現在の符号化ブロックの予測QP値は、現在の符号化ブロックの周囲ブロックのQP値に基づいて計算されてもよい。
【0174】
例えば、現在の符号化ブロックの予測QP値は、現在の符号化ブロックの左側の再構成ブロックのQP値と、上側の再構成ブロックのQP値とに基づいて、次のように決定されてもよい。
【数11】
ここで、predQPは、現在の符号化ブロックの予測QP値を表し、QPAは、現在の符号化の左側の再構成ブロックを表し、QPBは、現在の符号化ブロックの上側の再構成ブロックを表し、>>1は、1ビット右シフト、即ち、値が1/2になることを表す。
【0175】
S2において、ビットストリームを解析して、現在の符号化ブロックのQPオフセット量を取得する。
【0176】
ビデオ符号化プロセスにおいて、ビデオエンコーダは、現在の符号化ブロックの予測QP値を決定し、現在の符号化ブロックの真のQP値と予測QP値との差分を決定し、現在の符号化ブロックのQPオフセット量(deltAQPと記すことができる)を取得し、次いで、可変長符号化を用いてQPオフセット量を符号化し、ビットストリームを介してQPオフセット量をビデオデコーダに伝送する。これにより、ビデオデコーダは、ビットストリームを取得した後、ビットストリームを解析して、現在の符号化ブロックのQPオフセット量を取得することができる。
【0177】
S3において、現在の符号化ブロックの予測QP値とQPオフセット量との和を、現在の符号化ブロックのQP値とする。即ち、
QP=predQP+deltaQPである。
ここで、QPは現在符号化されているQP値を表し、predQPは現在の符号化ブロックの予測QP値を表し、deltaQPは現在の符号化ブロックのQPオフセット量を表す。
【0178】
後者の実施態様のプロセスは、S10~S30を含む。
【0179】
S10において、現在の符号化ブロックの予測QP値を取得する。
【0180】
S10の説明については、S1の関連説明を参照することができ、ここでは繰り返さない。
【0181】
S20において、現在の符号化ブロックの導出情報に基づいて、現在の符号化ブロックのQPオフセット値を決定する。
【0182】
ここで、導出情報は、現在の符号化ブロックの平坦度情報、ビットストリームバッファの残りの空間、又は歪み制約情報のうちの少なくとも1つを含む。
【0183】
ビデオ符号化プロセスでは、ビデオエンコーダは、符号制御アルゴリズムを使用して、現在の符号化ブロックの導出情報に基づいて現在の符号化ブロックのQPオフセット量を導出するが、ビデオエンコーダは、当該QPオフセット量をビットストリームで伝送しない。このように、ビデオ復号プロセスにおいて、ビデオデコーダは、ビデオエンコーダと同じ方法を使用して現在の符号化ブロックのQPオフセット量を導出する。上記S20は、当業者に知られているQPオフセット量を導出するための任意の方法を使用することができ、本明細書では詳述しない。
【0184】
S30において、現在の符号化ブロックの予測QP値とQPオフセット量との和を、現在の符号化ブロックのQP値とする。
【0185】
本発明の実施形態では、他のより多くの情報に基づいて現在の符号化ブロックの予測QP値を取得することができ、例えば、現在の符号化ブロックの前の符号化ブロックのQP、前の符号化ブロックの符号化ビット数(prev Block Rate)、ターゲットビットレート(target Rate)、現在の符号化ブロックの平坦度情報、及び現在のビットストリームバッファの充填度(rc Fullness)に基づいて、現在の符号化ブロックのQPオフセット量を導出する。
【0186】
S504において、現在の画素点の予測QP値が現在の符号化ブロックのQP値であると決定する。
【0187】
取得された現在の符号化ブロックのQP値を、現在の符号化ブロックの各画素点の初期QP値(即ち、予測QP値)とし、当該予測QP値を調整するか又は調整しないことによって、各画素のQP値を取得する。
【0188】
S503~S504に基づいて、図7に示すように、上記現在の画素点のQP値を決定すること(即ち、S501)は、具体的に、S5011~S5012を含む。
【0189】
S5011において、現在の画素点が現在の符号化ブロック内の目標画素点である場合、現在の画素点の予測QP値を調整し、調整後のQP値を現在の画素点のQP値とする。
【0190】
本発明の実施形態では、目標画素点は、現在の符号化ブロック内の1つ又は複数の指定画素点であり、これらの指定画素点は、QP値が調整すべき画素点又は候補画素点として理解され得る。候補画素点に対して、QP調整ポリシーを実行する。目標画素点については後述する。
【0191】
S5012において、現在の画素点が現在の符号化ブロック内の上記目標画素点以外の画素点である場合、現在の画素点の予測QP値を現在の画素点のQP値とする。
【0192】
本発明の実施形態では、現在の符号化ブロック内の目標画素点以外の画素点は調整されず、QP調整ポリシーを実行する必要はなく、これらの画素点のQP値は現在の符号化ブロックのQP値である。
【0193】
図7に示すように、一実施形態として、上記実施例におけるS5011はS601~S602によって実現してもよい。
【0194】
S601において、現在の画素点の周囲の再構成済み画素点の情報を取得する。
【0195】
現在の画素点の周囲の再構成済み画素点は、現在の画素点に隣接する再構成済み画素点として理解されてもよく、現在の画素点を中心とし、辺長が第1の予め設定された値である正方形領域内の画素点、又は現在の画素点を中心とし、対角線の長さが第2の予め設定された値である菱形領域内の画素点を含む。
【0196】
第1の予め設定された値及び第2の予め設定された値は、実際の要求に応じて設定されてもよく、第1の予め設定された値及び第2の予め設定された値は、等しくても異なってもよく、例えば、第1の予め設定された値及び第2の予め設定された値は、3又は5であってもよい。
【0197】
例示的に、図8Aは、現在の画素点を中心とする正方形領域の分割を例とする模式図であり、2つの可能なケースを示す。ケース1において、再構成済み画素点は、図8Aに示すような周囲画素点1のように、現在の画素点を中心とし、辺長が3である正方形領域内の画素点を指す。ケース2において、再構成済み画素点は、図8Aに示すような周囲画素点2のように、現在の画素点を中心とし、辺長が5である正方形領域内の画素点を指す。
【0198】
図8Bは、現在の画素点を中心とする菱形領域の分割を例とする模式図であり、2つの可能なケースを示す。ケース1において、再構成済み画素点は、8Bに示す周囲の画素点1のように、現在の画素点を中心とし、対角線の長さが3である菱形領域内の画素点を指す。ケース2において、再構成済み画素点は、図8Bに示す周囲の画素点2のように、現在の画素点を中心とし、対角線の長さが5である菱形領域内の画素点を指す。
【0199】
図8A及び図8Bは、現在の画素点の周囲の再構成済み画素点を説明するための本発明の実施形態の単なる例であり、本発明を限定するものとして理解すべきではない。他のいくつかの可能な例では、現在の画素点の周囲の再構成済み画素点は、当該現在の画素点に上下に隣接するか、又は左右に隣接する1つ又は2つの画素点であってもよい。
【0200】
現在の画素点の周囲の再構成済み画素点の情報は、当該再構成済み画素点の、画素値、再構成残差値、勾配値、平坦度情報又はテクスチャ度情報又は複雑度情報、背景輝度、コントラスト又は動き量のうちの少なくとも1つの情報を含み得る。ここで、再構成残差値は、逆量子化後の残差値、又は再構成値と予測値との差分を含む。勾配値は、水平勾配、垂直勾配、又は平均勾配を含む。動き量は、動きベクトルで表すことができる。
【0201】
さらに、上述した再構成済み画素点の情報の値は、オリジナル値、絶対値、平均値、又は差分のうちの少なくとも1つを含み得る。
【0202】
一実施形態において、上記の現在の画素点の周囲の再構成済み画素点の情報を取得する方法は、ステップ1~ステップ2を含んでもよい。
【0203】
ステップ1において、現在の画素点の予測画素点の情報を取得する。
【0204】
現在の画素点の予測画素点は再構成済み画素点である。オプションとして、当該再構成済み画素点は、現在の符号化ブロック内の再構成済み画素点であってもよく、現在の符号化ブロック以外の再構成済み画素点であってもよい。例えば、予測モードがイントラ予測モードである場合、再構成済み画素点は、現在の画像フレーム内の当該符号化ブロックの周囲の画素点であり、予測モードがインター予測モードである場合、再構成済み画素点は、現在の画像フレームの参照フレーム上の再構成ブロックであってもよい。
【0205】
ステップ2において、予測画素点が現在の符号化ブロック内の再構成済み画素点である場合、当該予測画素点の情報を、画素点の周囲の再構成済み画素点の情報とし、そうでない場合、当該予測画素点の情報と当該予測画素点の周囲の再構成済み画素点の情報との差分又は差分の絶対値を、現在画素点の周囲の再構成済み画素点の情報とする。
【0206】
S602において、現在の画素点の周囲の再構成済み画素点の情報に基づいて、現在の画素点の予測QP値を調整する。
【0207】
調整後の予測QP値は、画素点の最終的なQP値となる。
【0208】
本発明の実施形態では、現在の符号化ブロックの現在の画素点に対してQP値調整パラメータテーブルを設定してもよい。例えば、以下の表1は、QP値を調整するために必要ないくつかのパラメータを示す。
【表1】
【0209】
具体的には、S602は、以下のS6021~S6023を含む。
【0210】
S6021において、現在の画素点が第2の予め設定された条件及び第3の予め設定された条件を満たす場合、第1のQPオフセット量及び歪み基準QP値に基づいて、現在の画素点の予測QP値を調整する。
【0211】
ここで、第2の予め設定された条件は、現在の画素点の予測QP値が歪み基準QP値より大きく、かつ、現在の画素点の予測QP値が調整可能なQP最大値(即ち、表1のmaxAdjustQP)以下であることであり、調整可能なQP最大値がQP最大値以下である。第3の予め設定された条件は、現在の画素点の周囲の再構成済み画素点の情報が第1の閾値(即ち、表1のthres1)以下であることである。
【0212】
オプションとして、表1を参照すると、現在の画素点が第2の予め設定された条件及び第3の予め設定された条件を満たす場合、現在の画素点の調整後のQP値は以下を満たす。
finalQP=max(initQP‐offset1,jndQP)
ここで、finalQPは調整後の予測QP値を表し、initQPは現在の画素点の予測QP値を表し、offset1は第1のQPオフセット量を表し、jndQPは歪み基準QP値を表し、maxは最大値を取ることを表す。
【0213】
1つのケースでは、歪み基準QP値は、ビットストリームを解析することによって取得され、例えば、当該ビットストリームは歪み基準QP値、例えば20を伝送する。
【0214】
別のケースでは、歪み基準QP値は、周囲の再構成された符号化ブロックの平坦度情報又はテクスチャ度情報、背景輝度、コントラスト情報に基づいて導出される。
【0215】
また別のケースでは、歪み基準QP値は、ビデオエンコーダ又はビデオデコーダによって予め設定された値、例えば15であってもよい。
【0216】
即ち、歪み基準QP値は、ビットストリームで伝送されてもよく、ビデオエンコーダ又はビデオデコーダがビデオ符号化・復号プロセス中に導出されてもよく、予め設定された値であってもよい。本発明の実施形態では、画素点のQP値を決定するプロセスに歪み基準QP値を導入することにより、各画素点は知覚できる歪みに対応する判定情報を満たし、画像歪みを低減し、画像の主観品質を改善することができる。
【0217】
S6022において、現在の画素点が第2の予め設定された条件及び第4の予め設定された条件を満たす場合、第2のQPオフセット量及びQP最大値に基づいて、現在の画素点の予測QP値を調整する。
【0218】
ここで、第4の予め設定された条件は、現在の画素点の周囲の再構成済み画素点の情報が第2の閾値(即ち、表1のthres2)より大きいことであり、第1の閾値は第2の閾値以下である。
【0219】
上記S6021及びS6022において、現在の画素点の予測QP値を調整する必要があることが分かる。
【0220】
S6023において、上記S6021及びS6022以外の場合、現在の画素点の予測QP値を、現在の画素点のQP値とする。即ち、現在の画素点の予測QP値を調整する必要がない。
【0221】
理解できるように、上記S6023は、以下のようなケース1~ケース3を含む。
【0222】
ケース1において、現在の画素点の予測QP値が歪み基準QP値以下である。
【0223】
ケース2において、現在の画素点が第2の予め設定された条件を満たし(即ち、現在の画素点の予測QP値が歪み基準QP値より大きく、かつ、現在の画素点の予測QP値が調整可能なQP最大値以下である)、かつ、現在の画素点の周囲の再構成済み画素点の情報が第1の閾値より大きく、第2の閾値以下である。
【0224】
ケース3において、現在の画素点の予測QP値が調整可能なQP最大値より大きい。
【0225】
図7に示すように、別の実施形態として、上記実施例におけるS5011はS603により実現されてもよい。
【0226】
S603において、現在の画素点が第1の予め設定された条件を満たす場合、予め設定されたQP値を当該現在の画素点のQP値とし、そうでない場合、現在の画素点の予測QP値を当該現在の画素点のQP値とする。
【0227】
当該第1の予め設定された条件は、現在の画素点が輝度画素点であることと、現在の画素点が色度画素点であることと、現在の画素点のビット深度がビット深度閾値(表1におけるbdThres)以下であることと、現在の画素点の予測QP値が調整可能なQP最大値(表1におけるmaxAdjustQP)以下であることと、現在の画素点の周囲の再構成済み画素点の情報が第1の予め設定された閾値(表1におけるthreS1)以下であることと、のうちの少なくとも1つを含む。
【0228】
例えば、当該第1の予め設定された条件は、現在の画素点が輝度画素点であり、かつ、当該現在の画素点のビット深度がビット深度閾値以下であることであってもよく、現在の画素点が色度画素点であり、かつ、当該現在の画素点の予測QP値が調整可能なQP最大値以下であることであってもよい。具体的には、実際のニーズに応じて、上記条件のうちの1種又は複数種の条件を組み合わせて第1の予め設定された条件としてもよい。
【0229】
1つの可能な実施態様では、上記目標画素点は、現在の符号化ブロック内のいずれか1つ又は複数の画素点であり、即ち、現在の符号化ブロック内の各画素点のQP値が調整される必要があり、各画素点について、上記S601~S602又はS603を用いてそのQP値を決定することができる。
【0230】
さらに別の可能な実施態様では、上記目標画素点は、現在の符号化ブロックの第2部分の画素点のうちのいずれか1つ又は複数である。本発明の実施形態では、現在の符号化ブロックは、少なくとも第1部分の画素点及び/又は第2部分の画素点を含み、第1部分の画素点は、QP値を調整する必要がない画素点に設定され、即ち、第1部分の画素点の各画素点のQP値は、その予測QP値であり、第2部分の画素点は、QP値を調整する必要がある画素点に設定され、即ち、上記S601~S602又はS603を用いて第2部分の画素点の各画素点のQP値を決定する。
【0231】
別の可能な実施態様では、現在の符号化ブロックは、第1部分の画素点及び/又は第2部分の画素点を少なくとも含み、第1部分の画素点は、QP値を調整する必要がない画素点に設定され、第2部分の画素点は、QP値を調整すべき画素点に設定される。
【0232】
1つの可能なケースでは、現在の符号化ブロックの予測モードがピクセル単位の予測モードである場合、第2部分の画素点は、第1位置の画素点及び/又は第2位置の画素点を含み得る。第1位置の画素点及び第2位置の画素点は、現在の符号化ブロックのピクセル単位の予測モードに基づいて決定される。通常、第2位置の画素点は、水平方向におけるピクセル単位の予測の開始点に対応する画素点を含み得る。
【0233】
上記目標画素点が第1位置の画素点のいずれか1つ又は複数の画素点であり、現在の画素点が第1位置の画素点の1つ又は複数の画素点である場合、上記S601~S602を用いて、当該現在の画素点のQP値を決定してもよく、現在の画素点が第2位置の画素点の1つ又は複数の画素点である場合、上記S603を用いて、現在の画素点のQP値を決定してもよい。
【0234】
本発明の実施形態では、現在の符号化ブロックの第2部分の画素点のうち、どの画素点が第1位置の画素点として設定され、どの画素点が第2位置の画素点として設定されるかは、現在の符号化ブロックのピクセル単位の予測モードに関連する。
【0235】
一例として、図9A図9Dを参照して、現在の符号化ブロックが16×2(幅wが16、高さhが2)である符号化ブロックを例として、当該符号化ブロックの予測モードはピクセル単位の予測モードであり、当該符号化ブロックのピクセル単位の予測モードは、ピクセル単位の予測モード1、ピクセル単位の予測モード2、ピクセル単位の予測モード3、及びピクセル単位の予測モード4の4つのモードを含む。ここで、
≡は、現在の画素点の予測値が、当該画素点の左右両側の画素点の再構成値の平均値であることを表し、
|||は、現在の画素点の予測値が、当該画素点の上下両側の画素点の再構成値の平均値であることを表し、
>は、現在の画素点の予測値が、当該画素点の左側画素点の再構成値であることを表し、
∨は、現在の画素点の予測値が、当該画素点の上側画素点の再構成値であることを表す。
【0236】
本発明の実施例では、説明の便宜上、その左右両側の画素点に基づいて予測される画素点を第1タイプの画素点と称し、その上下両側の画素点に基づいて予測される画素点を第2タイプの画素点と称し、その左側の画素点に基づいて予測される画素点を第3タイプの画素点と称し、その上側の画素点に基づいて予測される画素点を第4タイプの画素点と称す。
【0237】
図9Aに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード1であり、したがって、現在の符号化ブロックは第1部分の画素点と第2部分の画素点を含み、第2部分の画素点は全て第1位置の画素点として定義され、即ち、第2部分の画素点は第2位置の画素点を含まない。ここで、第1位置の画素点は、第1タイプの画素点及び第4タイプの画素点を含む。
【0238】
図9Bに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード2であり、したがって、現在の符号化ブロックは第1部分の画素点と第2部分の画素点を含み、第2部分の画素点の一部は第1位置の画素点として定義され、別の部分は第2位置の画素点として定義される。ここで、第1位置の画素点は、第2タイプの画素点及び第3タイプの画素点を含み、第2位置の画素点は、第3タイプの画素点及び第4タイプの画素点を含む。
【0239】
図9Cに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード3であり、したがって、現在の符号化ブロックの全ての画素点は第2部分の画素点であり、当該第2部分の画素点の一部は第1位置の画素点として定義され、別の部分は第2位置の画素点として定義される。ここで、第1位置の画素点は第3タイプの画素点を含み、第2位置の画素点は第3タイプの画素点及び第4タイプの画素点を含む。
【0240】
図9Dに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード4であり、したがって、現在の符号化ブロックは第1部分の画素点と第2部分の画素点を含み、第2部分の画素点は全て第1位置の画素点として定義され、即ち、第2部分の画素点は第2位置の画素点を含まない。ここで、第1位置の画素点は第4タイプの画素点を含む。
【0241】
一例として、図10A及び図10Bを参照すると、現在の符号化ブロックが8×2(幅wが8、高さhが2)である符号化ブロックを例として、当該符号化ブロックの予測モードはピクセル単位の予測モードであり、当該符号化ブロックのピクセル単位の予測モードは、ピクセル単位の予測モード1及びピクセル単位の予測モード2の2つのモードを含む。
【0242】
図10Aに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード1であり、したがって、現在の符号化ブロックは第1部分の画素点と第2部分の画素点を含み、第2部分の画素点は全て第1位置の画素点として定義され、即ち、第2部分の画素点は第2位置の画素点を含まない。ここで、第1位置の画素点は第4タイプの画素点を含む。
【0243】
図10Bに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード2であり、したがって、現在の符号化ブロックの画素点は全て第2部分の画素点であり、当該第2部分の画素の一部は第1位置の画素点として定義され、別の部分は第2位置の画素点として定義される。ここで、第1位置の画素点は第3タイプの画素点を含み、第2位置の画素点は第3タイプの画素点及び第4タイプの画素点を含む。
【0244】
一例として、図11A及び図11Bを参照すると、現在の符号化ブロックが8×1(幅wが8、高さhが1)である符号化ブロックを例にとると、当該符号化ブロックの予測モードはピクセル単位の予測モードであり、当該符号化ブロックのピクセル単位の予測モードは、ピクセル単位の予測モード1及びピクセル単位の予測モード2の2つのモードを含む。
【0245】
図11Aに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード1であり、したがって、現在の符号化ブロックの全ての画素点は第1部分の画素点であり、第1部分の画素点は第4タイプの画素点である。
【0246】
図11Bに示すように、現在の符号化ブロックの予測モードはピクセル単位の予測モード2であり、したがって、現在の符号化ブロックの画素点は全て第2部分の画素点であり、第2部分の画素点の一部は第1位置の画素点として定義され、別の部分は第2位置の画素点として定義される。ここで、第1位置の画素点は第3タイプの画素点を含み、第2位置の画素点は第3タイプの画素点及び第4タイプの画素点を含む。
【0247】
図5と組み合わせて、図12に示すように、可能なケースでは、現在の符号化ブロックの予測モードがブロック予測モードである場合、現在の画素のQP値を決定する前に、本発明の実施形態で提供される復号方法は、S505~S506をさらに含み得る。
【0248】
S505において、現在の符号化ブロックの領域分割情報を取得し、当該領域分割情報は領域の数Nと領域境界線の位置情報とを含み、Nは2以上の整数である。
【0249】
領域分割情報は、分割テンプレートと呼ばれてもよい。
【0250】
オプションとして、現在の符号化ブロックの領域分割情報を取得するための方法は、現在の符号化ブロックの予め定義された領域分割情報を取得するステップ、又はビットストリームを解析して、現在の符号化ブロックの領域分割情報を取得するステップ、又はビデオデコーダによって導出されるステップを含む。
【0251】
S506において、領域分割情報に基づいて、現在の符号化ブロックをN個の領域に分割する。
【0252】
オプションとして、ブロック予測モードは、ブロックベースのインター予測モード、ブロックベースのイントラ予測モード、又はイントラブロックコピー(intra block copy、IBC)予測モードを含み得る。
【0253】
ブロック予測モードに基づいて現在の符号化ブロックの予測ブロックを取得し、その残差ブロックを取得する。オプションとして、当該残差ブロックに対して変換を行うかどうかの観点から、ブロック予測モードは、変換を行わないブロック予測モードと、変換を行うロック予測モードとを含み得る。変換を行わないブロック予測モードとは、当該ブロック予測モードに基づいて決定された残差ブロックに対して変換を行わないことを指し、変換を行うブロック予測モードとは、当該ブロック予測モードに基づいて決定された残差ブロックに対して変換を行うことを指す。
【0254】
変換を行わないブロック予測モードについて、現在の符号化ブロック内の画素点は「ピクセル単位(pixel-wise)」又は「領域単位(region-wise)」に順次再構成されてもよく、前に再構成済み画素点の情報を用いて後に再構成画素点QP値を調整してもよい。
【0255】
現在の符号化ブロック内の画素点のピクセル単位の再構成は、上記のピクセル単位の予測モードと同様であり、したがって、「ピクセル単位」の再構成の場合における現在の符号化ブロックの画素点のQP値の決定方法は、上記のピクセル単位の予測モードにおけるQP値の決定方法と同様であり、即ち、上記のS601~S602又はS603を使用して、現在の符号化ブロックの画素点のQP値を決定することができる。
【0256】
現在の符号化ブロック内の画素点の「領域単位」の再構成は、同じ領域の画素を並行して再構成することを許可し、現在の符号化ブロックをN個の領域(N≧2)に分割し、その後、領域単位に順次再構成するという考え方である。
【0257】
具体的に、変換を行わないブロック予測モードでの「領域単位」の再構成方式について、領域分割情報における領域の数N及び領域境界線の位置情報に基づいて、当該現在の符号化ブロックをN個の領域に分割することができる。N個の領域のうちの少なくとも1つの領域の画素点のQP値は、少なくとも1つの他の領域の再構成済み画素点の情報に基づいて決定されることに留意されたい。ここで、他の領域は、N個の領域のうちの少なくとも1つの領域以外の領域、又は前記現在の符号化ブロック以外の領域である。即ち、N個の領域は再構成順序を有し、即ち、当該N個の領域内の部分領域間の再構成プロセスは依存関係を有し、例えば、最初に1つの領域を再構成し(対応する他の領域は前記現在の符号化ブロック以外の領域である)、次いで、当該領域の再構成結果に基づいて別の領域を再構成する(即ち、当該領域は別の領域に対して他の領域である)必要がある。
【0258】
オプションとして、領域の数N及び領域境界線の位置情報は、現在の符号化ブロックの情報又は現在の符号化ブロックの参照画素の情報に基づいて導出されてもよい。
【0259】
一例として、N=2(即ち、現在の符号化ブロックを2つの領域に分割する)と仮定すると、現在の符号化ブロックは第1の領域及び第2の領域を含み、第1の領域内の画素点は、現在の符号化ブロックの、任意の位置の水平スライス内の画素点と、任意の位置の垂直スライス内の画素点と、又は任意の位置の斜めスライス内の画素点とのうちの少なくとも1つを含む。ここで、スライスの幅は2以下であり、スライスが現在の符号化ブロックの境界に位置する場合、スライスの幅は1に等しい。第2の領域内の画素点は、現在の符号化ブロック内の第1の領域以外の画素点である。第1の領域と第2の領域の再構成順序は、まず第2の領域を再構成し、次に第1の領域を再構成することである。
【0260】
例示的に、現在の符号化ブロックについて、上境界の画素点は上側のスライスの画素点であり、下境界の画素点は下側のスライスの画素点であり、左境界の画素点は左側のスライスの画素点であり、右境界の画素点は右側のスライスの画素点であることが理解され得る。
【0261】
図13A図13Dは、現在の符号化ブロックのいくつかの例示的な分割結果の概略図であり、図13Aでは、第1の領域内の画素点は、現在の符号化ブロックの上境界の画素点、下境界の画素点、左境界の画素点及び右境界の画素点を含み、図13Bでは、第1の領域内の画素点は、現在の符号化ブロックの下境界の画素点及び右境界の画素点を含み、図13Cでは、第1の領域内の画素点は、現在の符号化ブロックの右境界の画素点を含み、図13Dでは、第1の領域内の画素点は、現在の符号化ブロックの下境界の画素点を含む。
【0262】
変換を行うブロック予測モードに対して、現在の符号化ブロック内の全ての画素点を並列に再構成する必要があるため、現在の符号化ブロックをN個の領域(N≧2)に分割し、同一領域の画素を並列に再構成することができる。
【0263】
具体的に、変換を行うブロック予測モードに対して、領域分割情報における領域の数N及び領域境界線の位置情報に基づいて、当該現在の符号化ブロックをN個の領域に分割してもよい。
【0264】
領域の数N及び領域境界線の位置情報は、現在の符号化ブロックの情報又は現在の符号化ブロックの参照画素の情報に基づいて導出されてもよい。現在の符号化ブロックの領域分割情報は、現在の符号化ブロックの上側の隣接する行の画素点及び/又は左側の隣接する列の画素点(即ち、現在の符号化ブロックの参照画素点)に基づいて決定されてもよい。具体的には、現在の符号化ブロックの上側の隣接する行の画素点及び/又は左側の隣接する列の画素点に基づいて、現在の符号化ブロック内の物体エッジを予測し、物体エッジに基づいて現在の符号化ブロックをいくつかの領域に分割する。例えば、現在の符号化ブロックの上側の隣接する行の画素点及び/又は左側の隣接する列の画素点に基づいて、勾配アルゴリズムを用いて現在の符号化ブロックの行及び/又は列の画素値が急変する画素点を予測することにより、当該急変する画素点を領域境界線の位置とし、これにより領域の数Nを決定することができる。
【0265】
上記方法で決定された現在の符号化ブロックの領域分割情報により、現在の符号化ブロックの領域分割方式は、水平分割、垂直分割又は斜め分割のうちの少なくとも1つを含むことができる。例えば、現在の符号化ブロックの行画素値に急変が発生した1つ又は複数の画素点が存在し、列画素値に急変が発生した画素点が存在しない場合、現在の符号化ブロックの領域分割方式は垂直分割であり、現在の符号化ブロックの列画素値に急変が発生した1つ又は複数の画素点が存在し、行画素値に急変が発生した画素点が存在しない場合、現在の符号化ブロックの領域分割方式は水平分割であり、現在の符号化ブロックの行画素値に急変が発生した1つ又は複数の画素点が存在し、列画素値に急変が発生した1つ又は複数の画素点も存在する場合、現在の符号化ブロックの領域分割方式は斜め分割である。
【0266】
図14A図14Cを参照すると、1つの分割方式は、現在の符号化ブロックを2つの領域に分割することであり、図14Aは、垂直方向に2つの領域に分割することを示し、点A1が行の急変画素点であり、図14Bは、水平方向に2つの領域に分割することを示し、点B1が列の急変画素点であり、図14Cは、斜め方向に2つの領域に分割することを示し、点C1が行の急変画素点であり、点D1が列の急変画素点である。
【0267】
図15A図15Eを参照すると、1つの分割方式は、現在の符号化ブロックを3つの領域に分割することであり、図15Aは、垂直方向に3つの領域に分割することを示し、点A2及び点A3は、行の急変画素点であり、図15Bは、水平方向に3つの領域に分割することを示し、点B2及び点B3は、列の急変画素点であり、図15C図15Eは、斜め方向に3つの領域に分割することを示す。図15Cにおいて、点C2及び点C3は、行の急変画素点であり、点D2及び点D3は、列の急変画素点であり、図15Dにおいて、点C4及び点C5は、行の急変画素点であり、点D4は、列の急変画素点であり、図15Eにおいて、点C6は、行の急変画素点であり、点D5及び点D6は、列の急変画素点である。
【0268】
図14A図14C及び図15A図15Eは、現在の符号化ブロックのいくつかの分割結果の例に過ぎず、本発明の実施形態を限定するものではない。現在の符号化ブロックの分割方式は、複数の分割方式の組み合わせであってもよい。
【0269】
上記S505~S506に基づいて、一実施態様では、変換を行わないブロック予測モードについて、現在の符号化ブロックが2つ(即ち、N=2)の領域に分割され、即ち、現在の符号化ブロックが第1の領域及び第2の領域を含む(図10A及び図10Bを参照)こと例に、図12に示すように、上記現在の画素点のQP値を決定すること(即ち、S501)は、具体的にはS5013~S5014を含む。
【0270】
S5013において、現在の画素点が第1の領域内のいずれか1つの画素点である場合、現在の画素点の予測QP値を調整し、調整後のQP値を現在の画素点のQP値とする。
【0271】
具体的には、現在の画素点の周囲の再構成済み画素点の情報を取得し、当該現在の画素点の周囲の再構成済み画素点の情報に基づいて、画素点の予測QP値を調整する。具体的なプロセスは、上記実施例におけるS601~S602(ここで、S602はS6021~S6023を含む)の関連説明を参照することができ、ここでは説明を省略する。
【0272】
S5014において、現在の画素点が第2の領域内のいずれか1つの画素点である場合、現在の画素点の予測QP値を現在の画素点のQP値とする。第2の領域の画素点を再構成する必要があり、このとき、その周囲に再構成済み画素点がない可能性があるため、第2の領域の画素点の予測QP値を調整せず、即ち、第2の領域の画素点の予測QP値を画素点のQP値とする。
【0273】
別の実施態様では、上記の変換を行うブロック予測モードについて、N個の領域のうちのいずれか1つにおける現在の画素点について、図12に示すように、上記現在の画素点のQP値を決定すること(即ち、S501)は、具体的にはS5015~S5016を含む。
【0274】
S5015において、現在の画素点のQPオフセット量を取得する。
【0275】
オプションとして、ビットストリームを解析して、現在の画素点のオフセットを取得する。ビデオエンコーダが画像を符号化するプロセスにおいて、ビデオエンコーダが各画素点のQPオフセット量を予測した後、各画素点のQPオフセット量をビットストリームに組み込み、ビデオデコーダに伝送することができることが理解され得る。
【0276】
あるいは、オプションとして、導出情報に基づいて現在の画素点のQPオフセット量を決定する。当該導出情報は、現在の画素が位置する領域のインデックス情報、及び/又は、現在の画素から現在の画素が位置する領域の領域境界線までの距離を含む。ここで、距離は、水平距離、垂直距離又はユークリッド距離のいずれかを含む。
【0277】
したがって、導出された現在の画素点のQPオフセット量は、第3のQPオフセット量、第4のQPオフセット量、第3のQPオフセット量と第4のQPオフセット量との和のうちのいずれか1つである。
【0278】
ここで、第3のQPオフセット量は、現在の画素が位置する領域のインデックス情報に基づいて導出され、第3のQPオフセット量は、領域レベルのQPオフセット量と見なすことができる。同じ領域内の画素点の第3のQPオフセット量は同じであり、異なる領域内の画素点の第3のQPオフセット量は異なることを理解されたい。
【0279】
第4のQPオフセット量は、現在の画素点から、現在の画素点が位置する領域の領域境界線までの距離に基づいて導出される。第4のQPオフセット量は、画素レベルのQPオフセット量と見なすことができる。画素点に対応する距離が異なる場合、現在の画点素のQPオフセット量は異なってもよい。
【0280】
ビデオ符号化機器の構成に従って、第3のQPオフセット量、第4のQPオフセット量、第3のQPオフセット量と第4のQPオフセット量との和のうちの1つを、当該画素点のQPオフセット量として選択してもよい。
【0281】
S5016において、現在の画素点のQPオフセット量に基づいて現在の画素点の予測QP値を調整し、調整後のQP値を現在の画素点のQP値とする。
【0282】
以上のように、ビデオデコーダは、符号化ブロック内の画素点について画素点粒度のQP値を決定し、各画素点のQP値に基づいて各画素点をピクセル単位に逆量子化してよい。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0283】
それに応じて、画像符号化方法において、ビデオエンコーダは、まず、画素点のQP、Qstep及び残差係数を取得し、適応的に量子化器を選択し、残差係数を量子化し、最後に量子化係数を調整して、最終的なレベル値を取得し、それにより画像フレームの符号化を実現する。
【0284】
図2に示されるビデオエンコーダ100に基づいて、本発明は、画像符号化方法をさらに提供する。図16は、本発明による画像符号化方法のフローチャートである。当該画像符号化方法は、ビデオエンコーダ100によって実行されてもよく、ビデオエンコーダ100の機能をサポートする符号化機器(図1に示される符号化機器10)によって実行されてもよい。ここで、ビデオエンコーダ100が符号化方法を実施することを例として説明する。当該画像符号化方法は、以下のステップS1601~S1602を含む。
【0285】
S1601において、現在の符号化ブロック内のいずれか1つの画素点又は任意の複数の並列量子化画素点について、当該画素点のQP値を決定する。
【0286】
ここで、現在の符号化ブロックの画素点のうちの少なくとも2つの画素点のQP値は異なる。
【0287】
S1602において、画素点のQP値に基づいて、画素点を量子化する。
【0288】
量子化は逆量子化の逆プロセスであり、符号化方法におけるQP値の量子化については、上記図5図15A乃至図15Eの復号方法における対応するプロセスを参照することができ、ここでは説明を省略する。
【0289】
以上のように、本発明の実施形態において提供される符号化方法により、ビデオエンコーダは、符号化ブロックに対して各画素点のQP値を決定し、それにより、各画素点のQP値に基づいて各画素点を量子化し、即ち、ピクセル単位に量子化を行うことができる。これにより、一定の圧縮率を確保しつつ、画像フレームの復号歪みを低減することができ、画像復号の真正性及び正確性を向上させることができる。
【0290】
理解できるように、ブロック予測モードについて、実施例に記載の方法に従って現在の符号化ブロックをN(N≧2)個の領域に分割し、各領域内の画素点に対してピクセル単位の量子化又は複数の画素点の並列量子化を行い、レベル値(即ち、量子化された残差係数又は量子化後のパラメータ係数)を取得した後、パラメータ係数を符号化する。
【0291】
符号化ブロックをN個の領域に分割する場合、異なる領域のQP値の調整方式が異なってもよいため、量子化後の残差係数の分布も異なり、したがって、領域に基づく残差グループ符号化方法を設計することができる。
【0292】
具体的には、各領域の残差係数をいくつかの残差グループに分割することができ、各残差グループは領域を跨ぐことができないことに留意すべきである。その後、当該残差グループの符号長パラメータを符号化し、符号化方法は固定長符号化又は可変長符号化であってもよい。さらに固定長符号化を用いて当該残差グループ内の各残差係数を符号化し、固定長符号化の符号長は当該残差グループの符号長パラメータによって決定され、異なる残差グループの符号長パラメータは異なってもよい。
【0293】
例えば、図17を参照すると、現在の符号化ブロックが16×2の符号化ブロックであり、現在の符号化ブロックが領域1及び領域2の2つの領域に分割されると仮定すると、領域1に対応する残差係数はn(n≧1)個の残差グループに分割され、領域2に対応する残差係数はm(m≧1)個の残差グループに分割されてもよく、各残差グループは領域を跨がない。なお、残差係数は画素点と一対一に対応し、領域に対応する残差係数をグループ化することは、即ち、領域に含まれる画素点をグループ化することを意味する。図17に示すように、領域1は15個の画素点を含み、例示的に、当該領域1を1つの残差グループに分割してもよく、即ち、当該15個の画素点を1つの残差グループに分割してもよい。また、当該領域1を2つの残差グループに分割してもよく、例えば、領域1の最初の8個の画素点を1つの残差グループ1に分割し、領域1の最後の7個の画素点を別の残差グループ2に分割してもよい。また、当該領域1を3つの残差グループに分割してもよく、例えば、5つの隣接する画素点ごとに1つの残差グループに分割して、残差グループ1、残差グループ2及び残差グループ3のような3つの残差グループを得てもよい。
【0294】
オプションとして、ビデオエンコーダが現在の符号化ブロックを予測するための予測モードは、ピクセル単位の予測モード及びブロック予測モードを含み得る。ここで、ブロック予測モードは、ブロックのインター予測モード、ブロックのイントラ予測モード、又はイントラブロックコピー(intra block copy、IBC)予測モードであり得る。以下、IBC予測モードを簡単に説明する。
【0295】
IBC技術は、空間の非局所的冗長性を除去することを目的として、現在のフレームの再構成領域から現在の符号化ブロックのマッチングブロックを検索することである。IBC予測モードでの予測プロセスは、動き推定及び動き補償の2つのプロセスに分けることができる。動き推定は、符号化機器が現在の符号化ブロックのマッチングブロックを検索し、現在の符号化ブロックとそのマッチングブロックとの間の相対変位、即ち現在の符号化ブロックに対応するブロックベクトル(block vector、BV)又はブロックベクトル差分(block vector difference、BVD)を推定し、BV又はBVDをビットストリームで伝送するプロセスである。動き補償は、マッチングブロックに基づいて予測ブロックを生成するプロセスであり、例えば、マッチングブロックに対する重み付けや予測フィルタリングなどの操作を含む。
【0296】
オプションとして、ビデオエンコーダが現在の符号化ブロックの予測ブロックを取得する方法は、以下の方法を含み得る。
【0297】
方法1:予測ブロック内の画素点が利用不可能である場合、上側又は左側の画素点によるパディング(padding)を許可し、又はデフォルト値へのパディングを許可する。
【0298】
方法2:BV又はBVDに基づいてマッチングブロックを取得し、マッチングブロックに対していくつかの処理(例えば、予測フィルタリング、光補償などの操作)を行い、最終的な予測ブロックを生成する。
【0299】
オプションとして、IBC予測モードでは、ビデオエンコーダは、現在の符号化ブロックをいくつかの変換ブロック(transform block、TB)及びいくつかの予測ブロック(prediction block、PB)に分割し、1つのTBは1つ又は複数のPBを含み得る。例示的に、図18を参照して、現在の符号化ブロックが16×2の符号化ブロックであることを例として、現在の符号化ブロックを2つのTBに分割し、それぞれTB1とTB2であり、TB1とTB2のサイズはいずれも8×2である。各TBは4つのPBを含み、各PBのサイズは2×2であり、各TBを順次再構成する。1つの画素再構成方法は、現在の符号化ブロックの2番目のTBから、各TB内のPBに対して動き補償を実行するとき、現在のTBの左側の再構成TB内の再構成画素値を参照することができる。
【0300】
オプションとして、ビデオエンコーダによるBV又はBVDの符号化方式は、以下の方法1及び/又は方法2である。
【0301】
方法1:水平方向の動き探索のみを行う場合、ビットストリームにおいて水平方向のBV又はBVDのみを伝送し、垂直方向のBV又はBVDを伝送する必要がない。
【0302】
方法2:BV又はBVDの符号化方式は、固定長符号化又は可変長符号化であってもよい。
【0303】
また、固定長符号化の符号長又は可変長符号化の2値化方式は、現在の符号化ブロックの位置情報、サイズ情報(幅又は高さ又は面積を含む)、分割モード情報又はTB/PBの分割方式、現在のTBの位置情報又はサイズ情報(幅又は高さ又は面積を含む)、現在のPBの位置情報又はサイズ情報(幅又は高さ又は面積を含む)のうちの1つ又は複数に基づいて得られる。
【0304】
オプションとして、現在の符号化ブロックを取得するステップは、最初に予測BV(block vector prediction、BVP)を取得し、次にBVDを取得することであってよく、BV=BVP+BVDである。
【0305】
ここで、BVPは、符号化ブロックのBV又はBVD、位置情報、サイズ情報(幅又は高さ又は面積を含む)、分割モード情報又はTB/PBの分割モード、周囲の予測ブロックのBV又はBVD、位置情報又はサイズ情報(幅又は高さ又は面積を含む)のうちの1つ又は複数に基づいて取得され得る。
【0306】
上記の実施形態における機能を実現するために、ビデオエンコーダ/ビデオデコーダは、それぞれの機能を実行するための対応するハードウェア構造及び/又はソフトウェアモジュールを含むことが理解されよう。当業者は、本発明において開示された実施形態を参照して説明された例のユニット及び方法のステップを参照して、本発明がハードウェアの形態、又はハードウェアとコンピュータソフトウェアとの組み合わせの形態で実施され得ることを容易に理解すべきである。ある機能がハードウェアで実行されるか、コンピュータソフトウェアでハードウェアを駆動するのかは、技術的解決策の特定の適用シナリオ及び設計制約条件に依存する。
【0307】
図19は、本発明の一実施形態による復号装置の概略構造図であり、復号装置1900は、QP決定ユニット1901と逆量子化ユニット1902とを含む。復号装置1900は、上記の復号方法の実施形態におけるビデオデコーダ又は復号機器の機能を実現するように構成され、したがって、上記の復号方法の実施形態の有益な効果を実現することもできる。本発明の実施形態では、当該復号装置1900は、図1に示される復号機器20やビデオデコーダ200であってもよく、図3に示されるビデオデコーダ200であってもよく、復号機器20やビデオデコーダ200に適用されるモジュール(例えば、チップ)であってもよい。
【0308】
QP決定ユニット1901と逆量子化ユニット1902は、図5図15A乃至図15Eのいずれかの実施例による復号方法を実施するために使用される。上記QP決定ユニット1901及び逆量子化ユニット1902の詳細な説明については、図5図15A乃至図15Eに示される方法の実施形態における関連する説明を直接参照することができ、ここでは説明を省略する。
【0309】
図20は、本発明による符号化装置の概略構造図であり、当該符号化装置2000は、QP決定ユニット2001と量子化ユニット2002とを含む。符号化装置2000は、上記の符号化方法の実施形態におけるビデオエンコーダ又は符号化機器の機能を実現するように構成され、したがって、上記の符号化方法の実施形態の有益な効果を実現することもできる。本発明の実施形態では、符号化装置2000は、図1に示される符号化機器10又はビデオエンコーダ100であってもよく、図2に示されるビデオエンコーダ100であってもよく、符号化機器10又はビデオエンコーダ100に適用されるモジュール(例えば、チップ)であってもよい。
【0310】
QP決定ユニット2001と量子化ユニット2002は、図16図18に提供される符号化方法を実施するために使用される。上記QP決定ユニット2001及び量子化ユニット2002のより詳細な説明については、図4図18に示される方法の実施形態における関連する説明を直接参照することができ、ここでは説明を省略する。
【0311】
本発明は、電子機器をさらに提供し、図21は、本発明による電子機器の概略構造図であり、図21に示すように、電子機器2100は、プロセッサ2101及び通信インタフェース2102を含む。プロセッサ2101と通信インタフェース2102とは互いに結合される。通信インタフェース2101は、トランシーバ又は入出力インタフェースであってよいことが理解され得る。オプションとして、電子機器2100は、プロセッサ2101によって実行される命令を記憶するか、プロセッサ2101が命令を実行するために必要な入力データを記憶するか、又はプロセッサ2101が命令を実行した後に生成されるデータを記憶するように構成されたメモリ2103をさらに含んでもよい。
【0312】
電子機器2100が図5図15A乃至図15Eに示す方法を実施するために使用される場合、プロセッサ2101とインタフェース回路2102は、上記QP決定ユニット1901と逆量子化ユニット1902の機能を実行するために使用される。
【0313】
電子機器2100が図16図18に示す方法を実施するために使用される場合、プロセッサ2101とインタフェース回路2102は、上記QP決定ユニット2001と量子化ユニット2002の機能を実行するために使用される。
【0314】
本発明の実施形態では、上記通信インタフェース2102と、プロセッサ2101と、メモリ2103との間の具体的な接続媒体は限定されない。本発明の実施形態では、図21において、通信インタフェース2102、プロセッサ2101、及びメモリ2103は、バス2104を介して接続され、バスは、図21において太線で示される。他の構成要素間の接続方式は、例示的な説明に過ぎず、限定されない。前記バスは、アドレス・バス、データ・バス、制御バスなどに分類され得る。表現を容易にするために、図21では、1本の太線のみで示されるが、1本のバス又は1種類のバスのみが存在することを示すものではない。
【0315】
メモリ2103は、本発明の実施形態において提供される復号方法又は符号化方法に対応するプログラム命令/モジュールのような、ソフトウェアプログラム及びモジュールを記憶するように構成され得る。プロセッサ2101は、メモリ2103に記憶されたソフトウェアプログラム及びモジュールを実行することによって、様々な機能アプリケーション及びデータ処理を実行する。また、当該通信インタフェース2102は、別の機器とシグナリングやデータの通信を行うように構成され得る。本発明では、当該電子機器2100は、複数の通信インタフェース2102を有し得る。
【0316】
本発明の実施形態におけるプロセッサは、中央処理装置(central processing Unit、CPU)、ニューラル処理装置(neural processing unit、NPU)、又はグラフィック処理装置(graphiCprocessing unit、GPU)であってよく、他の汎用プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、又は他のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、又はそれらの任意の組み合わせであってよいことが理解され得る。汎用プロセッサは、マイクロプロセッサであってもよく、任意の従来のプロセッサであってもよい。
【0317】
本発明の実施例における方法のステップは、ハードウェアにより実現されてもよく、プロセッサがソフトウェア命令を実行することにより実現されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールから構成されてもよく、ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、読み取り専用メモリ(read-only memory、ROM)、プログラマブル読み取り専用メモリ(programmable ROM、PROM)、消去可能プログラマブル読み取り専用メモリ(erasable PROM、EPROM)、電気的消去可能プログラマブル読み取り専用メモリ(electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、又は当技術分野で周知の任意の他の形式の記憶媒体に記憶されてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。もちろん、記憶媒体は、プロセッサの構成要素であってもよい。プロセッサ及び記憶媒体は、ASIC内に配置されてもよい。また、ASICは、ネットワークデバイス又は端末デバイス内に配置されてもよい。もちろん、プロセッサ及び記憶媒体は、個別のコンポーネントとしてネットワークデバイス又は端末デバイスに存在してもよい。
【0318】
上記実施例において、全部又は一部をソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせによって実現してもよい。ソフトウェアプログラムを用いて実現する場合、全部又は一部をコンピュータプログラム製品の形態で実現することができる。コンピュータプログラム製品は、1つ以上のコンピュータ命令を含む。当該コンピュータ命令がコンピュータ上でロード及び実行されるとき、本発明の実施形態による手順又は機能は、全部又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラマブル装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、あるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよく、例えば、当該コンピュータ命令は、有線(例えば、同軸ケーブル、光ファイバ、デジタル加入者線(digital subscriber line、DSL))方式、又は無線(例えば、赤外線、無線、マイクロ波など)方式で、あるウェブサイト、コンピュータ、サーバ、又はデータセンタから別のウェブサイト、コンピュータ、サーバ、又はデータセンタに送信されてもよい。当該コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体、1つ以上の利用可能な媒体が統合されたサーバ、データセンタなどのデータ記憶装置であってよい。当該利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、磁気ディスク、又は磁気テープ)、光媒体(例えば、デジタルビデオディスク(digital video disc、DVD))、又は半導体媒体(例えば、ソリッドステートドライブ(solid state drives、SSD))などであり得る。
【0319】
以上の実施形態の説明により、当業者は、説明の便宜と簡潔さのために、上記の各機能モジュールの分割のみを例として説明し、実際の応用において、必要に応じて上記の機能を異なる機能モジュールに割り当てて完成させることができ、即ち、装置の内部構造を異なる機能モジュールに分割して、以上に説明された全部又は一部の機能を完成させることは明らかである。上記のシステム、装置、及びユニットの特定の動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照ることができ、本明細書では繰り返さない。
【0320】
本発明によって提供されるいくつかの実施形態では、開示されたシステム、装置、及び方法は、他の方式で実現され得ることを理解されたい。例えば、上述した装置の実施形態は単なる例示であり、例えば、モジュール又はユニットの分割は、論理的機能の分割にすぎず、実際に実施するときに他の方法で分割されてもよい。例えば、複数のユニット又はコンポーネントは、別のシステムに結合又は統合されてもよく、又はいくつかの特徴は、無視されてもよく、実行されなくてもよい。一方、表示又は検討された互いの結合又は直接結合又は通信接続は、いくつかのインタフェース、装置又はユニットを介した間接結合又は通信接続であってもよく、電気的、機械的又は他の形式であってもよい。
【0321】
前記分離部品として説明されるユニットは、物理的に分離されていてもよく、物理的に分離されていなくてもよい。また、ユニットとして表示される部品は、物理的なユニットであってもよく、物理的なユニットでなくてもよい。即ち、1つの場所に位置してもよく、複数のネットワークユニットに分布してもよい。実際のニーズに応じてその中の一部又は全部のユニットを選択して本実施例の方案の目的を実現することができる。
【0322】
また、本発明の各実施例における各機能ユニットは、1つの処理ユニットに統合されてもよく、各ユニットが個別に物理的に存在してもよく、2つ以上のユニットが1つのユニットに統合されてもよい。上記統合されたユニットは、ハードウェアの形態で実現されてもよく、ソフトウェア機能ユニットの形態で実現されてもよい。
【0323】
前記統合されたユニットは、ソフトウェア機能ユニットの形態で実現され、独立した製品として販売又は使用される場合、コンピュータ可読記憶媒体に記憶され得る。このような理解に基づいて、本発明の技術的解決策は、本質的に、又は従来技術に貢献する部分、又は技術的解決策の全部又は一部が、ソフトウェア製品の形態で具現化されてもよい。当該コンピュータソフトウェア製品は、1つの記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、又はネットワークデバイスなどであってもよい)又はプロセッサに、本発明の各実施形態に記載の方法のステップの全部又は一部を実行させるためのいくつかの命令を含む。上記の記憶媒体は、フラッシュメモリ、リムーバブルハードディスク、読み取り専用メモリ、ランダムアクセスメモリ、磁気ディスク、又は光ディスクなどの、プログラムコードを記憶することができる様々な媒体を含む。
【0324】
以上は、本発明の具体的な実施形態に過ぎず、本発明の保護範囲はこれに限定されるものではない。本発明に開示された技術的範囲内における任意の変化又は置換は、本発明の保護範囲内に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
【符号の説明】
【0325】
1 ビデオコーデックシステム
10 符号化機器
20 復号機器
30 リンク
35 最大
40 記憶装置
41 後処理エンティティ
42 ネットワークエンティティ
100 ビデオエンコーダ
101 変換器
102 量子化器
103 エントロピー符号化器
104 逆量子化器
105 逆変換器
106 フィルタユニット
107 復号化ピクチャバッファ
108 予測処理ユニット
109 イントラ予測器
110 インター予測器
111 加算器
112 加算器
120 ビデオソース
140 出力インタフェース
200 ビデオデコーダ
203 エントロピー復号器
204 逆量子化器
205 逆変換器
206 フィルタユニット
208 予測処理ユニット
209 イントラ予測器
210 インター予測器
211 加算器
220 表示装置
240 入力インタフェース
1900 復号装置
1901 QP決定ユニット
1902 逆量子化ユニット
2000 符号化装置
2001 QP決定ユニット
2002 量子化ユニット
2100 電子機器
2101 プロセッサ
2102 通信インタフェース
2103 メモリ
2104 バス
【国際調査報告】