(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-14
(54)【発明の名称】インター予測にディープラーニングベースのインループフィルタを用いるビデオコーディング方法及び装置
(51)【国際特許分類】
H04N 19/117 20140101AFI20240307BHJP
H04N 19/136 20140101ALI20240307BHJP
H04N 19/159 20140101ALI20240307BHJP
【FI】
H04N19/117
H04N19/136
H04N19/159
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023559834
(86)(22)【出願日】2022-03-24
(85)【翻訳文提出日】2023-09-27
(86)【国際出願番号】 KR2022004171
(87)【国際公開番号】W WO2022211375
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】10-2021-0042090
(32)【優先日】2021-03-31
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0036249
(32)【優先日】2022-03-23
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】512297583
【氏名又は名称】ヒョンダイ モーター カンパニー
(71)【出願人】
【識別番号】512297594
【氏名又は名称】キア コーポレーション
(71)【出願人】
【識別番号】518357128
【氏名又は名称】イファ ユニバーシティ-インダストリー コラボレーション ファウンデーション
【氏名又は名称原語表記】EWHA UNIVERSITY - INDUSTRY COLLABORATION FOUNDATION
【住所又は居所原語表記】52, Ewhayeodae-gil Seodaemun-gu Seoul 03760, Republic of Korea
(74)【代理人】
【識別番号】110000051
【氏名又は名称】弁理士法人共生国際特許事務所
(72)【発明者】
【氏名】カン, ゼ ウォン
(72)【発明者】
【氏名】キム, ナ ヨン
(72)【発明者】
【氏名】イ, ジョン キョン
(72)【発明者】
【氏名】パク, スン ウク
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK01
5C159TA68
5C159TC24
5C159TC28
5C159TD17
5C159UA16
(57)【要約】
【課題】インター予測にディープラーニングベースのインループフィルタを用いるビデオコーディング方法及び装置を提供する。
【解決手段】本発明のビデオコーディング方法及び装置は、Pフレーム及びBフレームに存在するQP(Quantization Parameter)値に応じた様々な水準の映像歪みを緩和するために、Pフレーム及びBフレームのインター予測時のディープラーニングベースのインループフィルタを用いる。
【選択図】
図7
【特許請求の範囲】
【請求項1】
復元された現在フレーム及び復号化された量子化パラメータを獲得する入力部と、
ディープラーニングベースの埋め込み関数(embedding function)を用いて前記量子化パラメータから埋め込みベクトル(embedding vector)を算定するか、又は前記ディープラーニングベースの推定モデル(estimation model)を用いて前記量子化パラメータに応じた映像歪み(image distortion)を推定する量子化パラメータ前処理部と、
前記ディープラーニングベースのノイズ除去(denoising)モデルを用いて前記現在フレームから量子化ノイズを除去することで改善フレームを生成するノイズ除去部と、を備え、
前記ノイズ除去モデルは、前記改善フレームを生成するために前記埋め込みベクトル又は前記推定された映像歪みを用いることを特徴とする画質改善装置。
【請求項2】
前記現在フレームは、ビデオコーディング装置のインター予測に応じて復元されたPフレーム(Predictive frame)又はBフレーム(Bipredictive frame)であることを特徴とする請求項1に記載の画質改善装置。
【請求項3】
前記埋め込み関数は、埋め込みレイヤ(embedding layer)及び多数の全連結レイヤ(fully-connected layer)を含むことを特徴とする請求項1に記載の画質改善装置。
【請求項4】
前記埋め込み関数は、前記量子化パラメータ、ビットレート歪み算定に用いるラグランジュ乗数(Lagrange multiplier)、前記現在フレームの時間的階層、及び前記現在フレームの種類の全部又は一部を入力として用いることを特徴とする請求項1に記載の画質改善装置。
【請求項5】
前記ノイズ除去モデルは、RB(Residual Blocks)と畳み込みレイヤとの連鎖構造を含み、前記連鎖構造を用いて前記改善フレームを生成し、
前記RBの各々は、入力と出力との間のスキップ経路(skip path)を有する畳み込みブロックであることを特徴とする請求項1に記載の画質改善装置。
【請求項6】
前記ノイズ除去部は、前記畳み込みレイヤの中の予め設定された畳み込みレイヤが生成する特性に前記埋め込みベクトルの絶対値を乗算することを特徴とする請求項5に記載の画質改善装置。
【請求項7】
前記ノイズ除去モデルは、
現在フレームからカーネルのオフセットを生成するディープラーニングモデルであるUネットと、
前記オフセットを用いて現在フレームをサンプリングするサンプラーと、
入力映像、前記Uネットの出力特性マップ、及び前記サンプリングされた現在フレームから補正されたカーネルを生成する畳み込みレイヤと、
前記補正されたカーネルを用いてサンプリングされた現在フレームに畳み込みを適用することで前記改善フレームを生成する出力畳み込みレイヤと、を含むことを特徴とする請求項1に記載の画質改善装置。
【請求項8】
前記ノイズ除去部は、前記補正されたカーネルに前記埋め込みベクトルの絶対値を乗算することを特徴とする請求項7に記載の画質改善装置。
【請求項9】
前記推定モデルは、
前記現在フレームからノイズマップ(noise map)を抽出するUネットと、
Uネット構造でアップコンボリューション(up-conv)を進める前の特性から前記量子化パラメータを予測する分類器(classifier)と、
前記ノイズマップから前記映像歪みを表す正規化パラメータを抽出する畳み込みレイヤと、を含むことを特徴とする請求項1に記載の画質改善装置。
【請求項10】
前記ノイズ除去モデルは、
前記正規化パラメータを用いて前記現在フレームを正規化する正規化モジュールと、
前記正規化された現在フレームから前記改善フレームを生成する出力畳み込みレイヤを含むことを特徴とする請求項9に記載の画質改善装置。
【請求項11】
前記推定モデル及び前記ノイズ除去モデルは、終端間(end-to-end)トレーニングされ、
前記終端間トレーニングの損失関数は、前記推定モデル及び前記ノイズ除去モデルが前記改善フレームを推定するための損失と前記分類器が前記量子化パラメータを予測するための損失との和で表されることを特徴とする請求項9に記載の画質改善装置。
【請求項12】
前記ノイズ除去モデルは、結合畳み込みレイヤを追加で含み、前記埋め込みベクトルの絶対値及び前記結合畳み込みレイヤを用いて前記現在フレームと前記改善フレームとの間の残差信号を生成した後、前記残差信号と前記改善フレームとを加算することを特徴とする請求項1に記載の画質改善装置。
【請求項13】
コンピューティング装置によって遂行される現在フレームの画質を改善する方法であって、
復元された現在フレーム及び復号化された量子化パラメータを獲得するステップと、
ディープラーニングベースの埋め込み関数(embedding function)を用いて前記量子化パラメータから埋め込みベクトル(embedding vector)を算定するか、又は前記ディープラーニングベースの推定モデル(estimation model)を用いて前記量子化パラメータに応じた映像歪み(image distortion)を推定するステップと、
前記ディープラーニングベースのノイズ除去(denoising)モデルを用いて前記現在フレームから量子化ノイズを除去することで改善フレームを生成するステップと、を有し、
前記改善フレームを生成するステップは、前記ノイズ除去モデルが前記埋め込みベクトル又は前記推定された映像歪みを用いることを特徴とする画質を改善する方法。
【請求項14】
前記獲得するステップは、前記現在フレームとして、ビデオコーディング装置のインター予測に応じて復元されたPフレーム(Predictive frame)又はBフレーム(Bipredictive frame)を獲得することを特徴とする請求項13に記載の画質を改善する方法。
【請求項15】
前記埋め込み関数は、埋め込みレイヤ(embedding layer)及び多数の全連結レイヤ(fully-connected layer)を含むことを特徴とする請求項13に記載の画質を改善する方法。
【請求項16】
前記ノイズ除去モデルは、RB(Residual Blocks)と畳み込みレイヤとの連鎖構造を含み、前記連鎖構造を用いて前記改善フレームを生成し、
前記RBの各々は、入力と出力との間のスキップ経路(skip path)を有する畳み込みブロックであることを特徴とする請求項13に記載の画質を改善する方法。
【請求項17】
前記改善フレームを生成するステップは、前記畳み込みレイヤの中の予め設定された畳み込みレイヤが生成する特性に前記埋め込みベクトルの絶対値を乗算することを特徴とする請求項16に記載の画質を改善する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インター予測にディープラーニングベースのインループフィルタを使用するビデオコーディング方法及び装置に関する。
【背景技術】
【0002】
以下に記述する内容は、単に本発明に関連する背景情報のみを提供するのみであり、従来技術を構成するものではない。
【0003】
ビデオデータは、音声データや静止画像データなどに比べて多くのデータ量を有するため、圧縮のための処理なしにそれ自体を保存又は伝送するためにはメモリを含む多くのハードウェアリソースを必要とする。
【0004】
従って、通常ビデオデータを保存又は伝送する際には符号化器を用いてビデオデータを圧縮して保存又は伝送し、復号化器では圧縮されたビデオデータを受信して圧縮を解除して再生する。このようなビデオ圧縮技術としては、H.264/AVC、HEVC(High Efficiency Video Coding)などをはじめ、HEVCに比べて約30%以上の符号化効率を向上させたVVC(Versatile Video Coding)が存在する。
【0005】
しかし、映像のサイズ及び解像度やフレームレートが徐々に増加しており、これに伴い符号化すべきデータ量も増加しているため、従来の圧縮技術よりも符号化効率が良く画質改善効果も高い新たな圧縮技術が要求される。
【0006】
近年、ディープラーニングベースの映像処理技術が既存の符号化要素技術に適用されている。既存の符号化技術の中、インター予測、イントラ予測、インループフィルタ、変換などのような圧縮技術にディープラーニングベースの画像処理技術を適用することで、符号化効率を向上させることができる。代表的な応用例としては、ディープラーニングモデルベースで生成された仮想参照フレームベースのインター予測、ノイズ除去モデルベースのインループフィルタなどがある。
【0007】
特に、あるビデオシーケンス内でもPフレーム(Predictive frame)及びBフレーム(Bipredictive frame)は、フレーム毎に変化する量子化パラメータ(Quantization Parameter:QP)値によって様々な水準の映像歪みを誘導するため、このような状況に適応的なインループフィルタが必要である。従って、映像符号化/復号化において、符号化効率を向上させるために、インター予測のためのディープラーニングベースのインループフィルタの適用が考慮される。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Learning Deformable Kernels for Image and Video Denoising、Learning Deformable Kernels for Image and Video Denoising、arxiv:1904.06903
【非特許文献2】Ren Yang、Mai Xu、Zulin Wang、Tianyi Li、Multi-Frame Quality Enhancement for Compressed Video、CVPR 2018、arxiv:1803.04680。
【非特許文献3】Fuzhi Yang、Huan Yang、Jianlong Fu、Hongtao Lu、Baining Guo、Learning Texture Transformer Network for Image Super-Resolution、CVPR 2020、arxiv:2006.04139
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、Pフレーム及びBフレームのインター予測時のディープラーニングベースのインループフィルタを用いるコーディング方法及び装置を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するためになされた本発明の一態様による画質改善装置は、復元された現在フレーム及び復号化された量子化パラメータを取得する入力部と、ディープラーニングベースの埋め込み関数(embedding function)を用いて前記量子化パラメータから埋め込みベクトル(embedding vector)を推定するか、又は前記ディープラーニングベースの推定モデル(estimation model)を用いて前記量子化パラメータに応じた映像歪み(image distortion)を推定する量子化パラメータ前処理部と、前記ディープラーニングベースのノイズ除去(denoising)モデルを用いて前記現在フレームから量子化ノイズを除去することで改善フレームを生成するノイズ除去部と、を備え、前記ノイズ除去モデルは、前記改善フレームを生成するために前記埋め込みベクトル又は前記推定された映像歪みを用いることを特徴とする。
【0011】
上記目的を達成するためになされた本発明の一態様によるコンピューティング装置が遂行する現在フレームの画質を改善する方法は、復元された現在フレーム及び復号化された量子化パラメータを獲得するステップと、ディープラーニングベースの埋め込み関数(embedding function)を用いて前記量子化パラメータから埋め込みベクトル(embedding vector)を算定するか、又は前記ディープラーニングベースの推定モデル(estimation model)を用いて前記量子化パラメータに応じた映像歪み(image distortion)を推定するステップと、前記ディープラーニングベースのノイズ除去(denoising)モデルを用いて前記現在フレームから量子化ノイズを除去することで改善フレームを生成するステップと、を有し、前記改善フレームを生成するステップは、前記ノイズ除去モデルが前記埋め込みベクトル又は前記推定された映像歪みを用いることを特徴とする。
【発明の効果】
【0012】
本発明によると、Pフレーム及びBフレームのインター予測時のディープラーニングベースのインループフィルタを用いるコーディング方法及び装置を提供することで、Pフレーム及びBフレームに存在するQP(量子化パラメータ)値による多様な水準の映像歪みを緩和して、符号化効率を向上させることが可能になる効果がある。
【図面の簡単な説明】
【0013】
【
図1】本発明の技術を具現する映像符号化装置に関する例示的なブロック図である。
【
図2】QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
【
図3a】広角イントラ予測モードを含む複数のイントラ予測モードを示す図である。
【
図3b】広角イントラ予測モードを含む複数のイントラ予測モードを示す図である。
【
図4】現在ブロックの周辺ブロックに関する例示図である。
【
図5】本発明の技術を具現する映像復号化装置の例示的なブロック図である。
【
図6】ランダムアクセス(Random Access:RA)モードで異なる階層的符号化構造を示す例示図である。
【
図7】本発明の一実施形態による画質改善装置を示す例示図である。
【
図8a】1つのネットワークを用いるS-VCARNを示す例示図である。
【
図8b】1つのネットワークを用いるS-VCARNを示す例示図である。
【
図9a】本発明の一実施形態による埋め込み関数を用いるS-VCARNを示す例示図である。
【
図9b】本発明の一実施形態による埋め込み関数を用いるS-VCARNを示す例示図である。
【
図10a】本発明の他の実施形態による量子化ノイズ予測を用いるS-VCARNを示す例示図である。
【
図10b】本発明の他の実施形態による量子化ノイズ予測を用いるS-VCARNを示す例示図である。
【
図11】本発明の更に他の実施形態によるマスクマップを用いるS-VCARNを示す例示図である。
【
図12a】本発明の一実施形態による参照フレームのシフトを示す例示図である。
【
図12b】本発明の一実施形態による参照フレームのシフトを示す例示図である。
【
図13a】本発明の一実施形態によるR-VCARNを示す例示図である。
【
図13b】本発明の一実施形態によるR-VCARNを示す例示図である。
【
図14】本発明の他の実施形態による埋め込み関数を用いるR-VCARNを示す例示図である。
【
図15】S-VCARNとR-VCARNとを結合した統合VCARNを示す例示図である。
【
図16】本発明の一実施形態によるS-VCARNを用いる画質改善方法を示すフローチャートである。
【
図17】本発明の一実施形態によるR-VCARNを用いる画質改善方法を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。各図面の構成要素に参照符号を付加するにあたり、同一の構成要素に対しては、他の図面に表示される場合でも可能な限り同一の符号を有するようにしていることに留意されたい。なお、本実施形態を説明するにあたり、関連する公知の構成又は機能についての具体的な説明が本発明の要旨を曖昧にすると判断される場合には、その詳しい説明は省く。
【0015】
図1は、本発明の技術を具現する映像符号化装置に関する例示的なブロック図である。以下では、
図1に示した図を参照して映像符号化装置及びこの装置の下位構成について説明する。
【0016】
映像符号化装置は、ピクチャ分割部110、予測部120、減算器130、変換部140、量子化部145、並べ替え部150、エントロピー符号化部155、逆量子化部160、逆変換部165、加算器170、ループフィルタ部180、及びメモリ190を含むように構成される。
【0017】
映像符号化装置の各構成要素は、ハードウェア又はソフトウェアで具現されるか、或いはハードウェア及びソフトウェアの組み合わせで具現される。更に、各構成要素の機能がソフトウェアで具現されて、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現され得る。
【0018】
1つの映像(ビデオ)は、複数のピクチャを含む1つ以上のシーケンスで構成される。各ピクチャは、複数の領域に分割され、領域毎に符号化が遂行される。例えば、1つのピクチャは、1つ以上のタイル(Tile)又は/及びスライス(Slice)に分割される。ここで、1つ以上のタイルをタイルグループ(Tile Group)として定義する。各タイル又は/及びスライスは、1つ以上のCTU(Coding Tree Unit)に分割される。そして、各CTUはツリー構造によって1つ以上のCU(Coding Unit)に分割される。各CUに適用される情報はCUのシンタックスとして符号化され、1つのCTUに含まれるCUに共通に適用される情報はCTUのシンタックスとして符号化される。更に、1つのスライス内の全てのブロックに共通に適用される情報はスライスヘッダのシンタックスとして符号化され、1つ以上のピクチャを構成する全てのブロックに適用される情報はピクチャパラメータセット(PPS:Picture Parameter Set)或いはピクチャ ヘッダに符号化される。更に、複数のピクチャが共通に参照する情報は、シーケンスパラメータセット(SPS:Sequence Parameter Set)に符号化される。そして、1つ以上のSPSが共通に参照する情報は、ビデオパラメータセット(VPS:Video Parameter Set)に符号化される。更に、1つのタイル又はタイルグループに共通に適用される情報は、タイル又はタイルグループヘッダのシンタックスとして符号化される。SPS、PPS、スライスヘッダ、タイル、又はタイルグループヘッダに含まれるシンタックスは、上位水準(high level)のシンタックスと称する。
【0019】
ピクチャ分割部110は、CTU(Coding Tree Unit)のサイズを決定する。CTUのサイズに関する情報(CTU size)は、SPS又はPPSのシンタックスとして符号化されて映像復号化装置に伝達される。
【0020】
ピクチャ分割部110は、映像を構成する各ピクチャ(picture)を予め決定されたサイズを有する複数のCTU(Coding Tree Unit)に分割した後に、ツリー構造(tree structure)を用いてCTUを繰り返し(recursively)分割する。ツリー構造におけるリーフノード(leaf node)が符号化の基本単位であるCU(coding unit)になる。
【0021】
ツリー構造では、上位ノード(或いは親ノード)が同じサイズの4つの下位ノード(或いは子ノード)に分割されるクワッドツリー(QuadTree:QT)、上位ノードが2つの下位ノードに分割されるバイナリツリー(BinaryTree:BT)、又は上位ノードが1:2:1の比率で3つの下位ノードに分割されるターナリーツリー(TernaryTree:TT)、或いはこれらのQT構造、BT構造、及びTT構造の中の2つ以上を混用した構造である。例えば、QTBT(QuadTree plus BinaryTree)構造が用いられるか、或いはQTBTTT(QuadTree plus BinaryTree TernaryTree)構造が用いられる。ここで、BTTTを合わせてMTT(Multiple-Type Tree)と称する。
【0022】
図2は、QTBTTT構造を用いてブロックを分割する方法を説明するための図である。
【0023】
図2に示すように、CTUは最初にQT構造に分割される。クワッドツリー分割は、分割ブロック(splitting block)のサイズがQTで許容されるリーフノードの最小ブロックサイズMinQTSizeに到達するまで繰り返される。QT構造の各ノードが下位レイヤの4つのノードに分割されるか否かを示す第1のフラグQT_split_flagは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。QTのリーフノードがBTで許容されるルートノードの最大ブロックサイズMaxBTSizeよりも大きくない場合、BT構造又はTT構造の中のいずれか1つ以上に更に分割される。BT構造及び/又はTT構造では、複数の分割方向が存在する。例えば、該当ノードのブロックが横に分割される方向及び縦に分割される方向の2つが存在する。
図2に示すように、MTT分割が開始されると、ノードが分割されたか否かを示す第2のフラグmtt_split_flagと、分割された場合に追加的に分割方向(vertical或いはhorizontal)を示すフラグ及び/又は分割タイプ(Binary或いはTernary)を示すフラグとがエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0024】
代替的に、各ノードが下位レイヤの4つのノードに分割されるか否かを示す第1のフラグQT_split_flagを符号化する前に、そのノードが分割されるか否かを示すCU分割フラグsplit_cu_flagが符号化される。CU分割フラグsplit_cu_flag値が分割されていないことを示す場合、該当ノードのブロックが分割ツリー構造におけるリーフノード(leaf node)になり、符号化の基本単位であるCU(coding unit)になる。CU分割フラグsplit_cu_flag値が分割されることを示す場合、映像符号化装置は、上述した方式で第1のフラグから符号化を開始する。
【0025】
ツリー構造の他に示す例としてQTBTが使用される場合、該当ノードのブロックを同一サイズの2つのブロックに横に分割するタイプ(即ち、symmetric horizontal splitting)及び縦に分割するタイプ(即ち、symmetric vertical splitting)の2つが存在する。BT構造の各ノードが下位レイヤのブロックに分割されるか否かを示す分割フラグsplit_flag、及び分割されるタイプを示す分割タイプ情報がエントロピー符号化部155によって符号化されて映像復号化装置に伝達される。一方、該当ノードのブロックを互いに非対称形態の2つのブロックに分割するタイプが追加で更に存在する。非対称形態には、該当ノードのブロックを1:3のサイズ比率を有する2つの長方形ブロックに分割する形態が含まれるか、或いは該当ノードのブロックを対角線方向に分割する形態が含まれる。
【0026】
CUは、CTUからのQTBT又はQTBTTT分割に応じて様々なサイズを有する。以下では、符号化又は復号しようとするCU(即ち、QTBTTTのリーフノード)に該当するブロックを「現在ブロック」と称する。QTBTTT分割の採用に応じて、現在ブロックの形状は正方形だけでなく長方形であってもよい。
【0027】
予測部120は、現在ブロックを予測して予測ブロックを生成する。予測部120は、イントラ予測部122及びインター予測部124を含む。
【0028】
一般に、ピクチャ内の現在ブロックはそれぞれ予測的にコーディングされる。一般に、現在ブロックの予測は(現在ブロックを含むピクチャからのデータを使用する)イントラ予測技術又は(現在ブロックを含むピクチャの前にコーディングされたピクチャからのデータを使用する)インター予測技術を使用して遂行される。インター予測は、一方向予測及び双方向予測の両方を含む。
【0029】
イントラ予測部122は、現在ブロックが含まれる現在ピクチャ内で現在ブロックの周辺に位置するピクセル(参照ピクセル)を用いて現在ブロック内のピクセルを予測する。予測方向によって複数のイントラ予測モードが存在する。例えば、
図3aに見られるように、複数のイントラ予測モードは、プラナー(planar)モード及びDCモードを含む2つの非方向性モードと65個の方向性モードとを含む。各予測モードによって使用される周辺ピクセルとは演算式が異なるように定義される。
【0030】
長方形形状の現在ブロックに対する効率的な方向性予測のために、
図3bに破線の矢印で示した方向性モード(67~80番、-1~-14番イントラ予測モード)が追加で使用される。これらは、「広角イントラ予測モード(wide angle intra-prediction modes)」と称される。
図3bで、矢印は、予測に使用される対応する参照サンプルを指すものであり、予測方向を示すものではない。予測方向は、矢印が指す方向とは反対である。広角イントラ予測モードは、現在ブロックが長方形の場合に追加のビットの伝送なしに特定の方向性モードを反対方向で予測を遂行するモードである。このとき、広角イントラ予測モードの中から、長方形の現在ブロックの幅と高さとの比率により、現在ブロックに利用可能な一部の広角イントラ予測モードが決定される。例えば、45度よりも小さい角度を有する広角イントラ予測モード(67~80番イントラ予測モード)は、現在ブロックが、高さが幅よりも小さい長方形の形態である場合に利用可能であり、-135度よりも大きい角度を有する広角イントラ予測モード(-1~-14番イントラ予測モード)は、現在ブロックが、幅が高さよりも大きい長方形の形態である場合に利用可能である。
【0031】
イントラ予測部122は、現在ブロックを符号化するのに使用されるイントラ予測モードを決定する。一部の例で、イントラ予測部122は、様々なイントラ予測モードを使用して現在ブロックをエンコーディングし、テストされたモードから使用される適切なイントラ予測モードを選択する。例えば、イントラ予測部122は、様々なテストされたイントラ予測モードに対するビットレート歪み(rate-distortion)分析を用いてビットレート歪み値を計算し、テストされたモードの中の最善のビットレート歪み特徴を有するイントラ予測モードを選択する。
【0032】
イントラ予測部122は、複数のイントラ予測モードの中から1つのイントラ予測モードを選択し、選択されたイントラ予測モードによって決定される周辺ピクセル(参照ピクセル)及び演算式を用いて現在ブロックを予測する。選択されたイントラ予測モードに関する情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
【0033】
インター予測部124は、動き補償プロセスを用いて現在ブロックに対する予測ブロックを生成する。インター予測部124は、現在ピクチャよりも先に符号化及び復号化された参照ピクチャ内で現在ブロックに最も類似したブロックを探索し、その探索されたブロックを用いて現在ブロックに対する予測ブロックを生成する。そして、現在ピクチャ内の現在ブロックと参照ピクチャ内の予測ブロックとの間の変位(displacement)に該当する動きベクトル(Motion Vector:MV)を生成する。一般に、動き推定はルーマ(luma)成分に対して遂行され、ルーマ成分に基づいて計算された動きベクトルはルーマ成分及びクロマ成分の両方に対して使用される。現在ブロックを予測するために使用された参照ピクチャに関する情報及び動きベクトルに関する情報を含む動き情報は、エントロピー符号化部155によって符号化されて映像復号化装置に伝達される。
【0034】
インター予測部124は、予測の正確性を高めるために、参照ピクチャ又は参照ブロックに対する補間を遂行する。即ち、連続する2つの整数サンプル間のサブサンプルは、その2つの整数サンプルを含む連続した複数の整数サンプルにフィルタ係数を適用して補間される。補間された参照ピクチャに対して現在ブロックに最も類似したブロックを検索するステップを遂行すると、動きベクトルは整数サンプル単位の精度(precision)ではなく小数単位の精度まで表現される。動きベクトルの精度又は解像度(resolution)は、符号化しようとする対象領域、例えばスライス、タイル、CTU、CUなどの単位毎に異なるように設定される。このような適応的動きベクトル解像度(Adaptive Motion Vector Resolution:AMVR)が適用される場合、各対象領域に適用される動きベクトル解像度に関する情報は、対象領域毎にシグナリングされなければならない。例えば、対象領域がCUである場合、CU毎に適用された動きベクトル解像度に関する情報がシグナリングされる。動きベクトル解像度に関する情報は、後述する差分動きベクトルの精度を示す情報である。
【0035】
一方、インター予測部124は、双方向予測(bi-prediction)を用いてインター予測を遂行する。双方向予測の場合、2つの参照ピクチャと、各参照ピクチャ内で現在ブロックに最も類似したブロック位置を表す2つの動きベクトルとが用いられる。インター予測部124は、参照ピクチャリスト0(RefPicList0)及び参照ピクチャリスト1(RefPicList1)からそれぞれ第1の参照ピクチャ及び第2の参照ピクチャを選択し、各参照ピクチャ内で現在ブロックに類似したブロックを探索して第1の参照ブロック及び第2の参照ブロックを生成する。そして、第1の参照ブロックと第2の参照ブロックとを平均又は加重平均して現在ブロックに対する予測ブロックを生成する。そして、現在ブロックを予測するために使用した2つの参照ピクチャに関する情報及び2つの動きベクトルに関する情報を含む動き情報を符号化部150に伝達する。ここで、参照ピクチャリスト0は、予め復元されたピクチャの中、ディスプレイ順序で現在ピクチャの前のピクチャで構成され、参照ピクチャリスト1は、予め復元されたピクチャの中、ディスプレイ順序で現在ピクチャ以降のピクチャで構成される。しかし、必ずしもこれに限定されるわけではなく、ディスプレイ順序上で現在ピクチャ以降の既復元のピクチャが参照ピクチャリスト0に追加で更に含まれるか、又は逆に現在ピクチャの前の既復元のピクチャが参照ピクチャリスト1に追加で更に含まれる。
【0036】
動き情報を符号化するのに所要されるビット量を最小化するために多様な方法が用いられる。
【0037】
例えば、現在ブロックの参照ピクチャ及び動きベクトルが周辺ブロックの参照ピクチャ及び動きベクトルと同一の場合には、その周辺ブロックを識別できる情報を符号化することで、現在ブロックの動き情報を映像復号化装置に伝達する。この方法を「マージモード(merge mode)」と称する。
【0038】
マージモードで、インター予測部124は、現在ブロックの周辺ブロックから予め決定された個数のマージ候補ブロック(以下、「マージ候補」という)を選択する。
【0039】
マージ候補を誘導するための周辺ブロックとしては、
図4に示すように、現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2の中の全部又は一部が使用される。更に、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同一であるか又は異なる)内に位置するブロックがマージ候補として使用される。例えば、参照ピクチャ内で現在ブロックと同一の位置にあるブロック(co-located block)又はその同一の位置のブロックに隣接するブロックがマージ候補として追加で更に使用される。以上で記述した方法によって選定されたマージ候補の個数が予め設定された個数よりも小さい場合、0ベクトルをマージ候補に追加する。
【0040】
インター予測部124は、このような周辺ブロックを用いて予め決定された個数のマージ候補を含むマージリストを構成する。マージリストに含まれるマージ候補の中から現在ブロックの動き情報として使用されるマージ候補を選択し、選択された候補を識別するためのマージインデックス情報を生成する。生成されたマージインデックス情報は、符号化部150によって符号化されて映像復号化装置に伝達される。
【0041】
マージスキップ(merge skip)モードは、マージモードの特別な場合であり、量子化を遂行した後、エントロピー符号化のための変換係数が全て零(zero)に近い場合、残差信号の伝送なしに周辺ブロック選択情報のみを伝送する。マージスキップモードを用いることで、動きの少ない映像、静止画像、スクリーンコンテンツ映像などで相対的に高い符号化効率を達成することができる。
【0042】
以下、マージモード及びマージスキップモードを総称して、マージ/スキップモードで表す。
【0043】
動き情報を符号化するための更に他の方法は、AMVP(Advanced Motion Vector Prediction)モードである。
【0044】
AMVPモードで、インター予測部124は、現在ブロックの周辺ブロックを用いて現在ブロックの動きベクトルに対する予測動きベクトル候補を誘導する。予測動きベクトル候補を誘導するために使用される周辺ブロックとしては、
図4に示した現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロックA2の中、全部又は一部が用いられる。更に、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同じであるか又は異なる)内に位置するブロックが、予測動きベクトル候補を誘導するために使用される周辺ブロックとして使用される。例えば、参照ピクチャ内で現在ブロックと同じ位置にあるブロック(collocated block)、又はその同じ位置のブロックに隣接するブロックが使用される。以上で記述した方法によって動きベクトル候補の個数が予め設定された個数よりも小さい場合、0ベクトルを動きベクトル候補に追加する。
【0045】
インター予測部124は、この周辺ブロックの動きベクトルを用いて予測動きベクトル候補を誘導し、予測動きベクトル候補を用いて現在ブロックの動きベクトルに対する予測動きベクトルを決定する。そして、現在ブロックの動きベクトルから予測動きベクトルを減算して差分動きベクトルを算出する。
【0046】
予測動きベクトルは、予測動きベクトル候補に予め定義された関数(例えば、中央値、平均値演算など)を適用して求める。この場合、映像復号化装置も予め定義された関数を知っている。また、予測動きベクトル候補を誘導するために使用される周辺ブロックは既に符号化及び復号化が完了されたブロックであるため、映像復号化装置もその周辺ブロックの動きベクトルも既に知っている。従って、映像符号化装置は、予測動きベクトル候補を識別するための情報を符号化する必要がない。従って、この場合には、差分動きベクトルに関する情報と、現在ブロックを予測するために使用した参照ピクチャに関する情報とが符号化される。
【0047】
一方、予測動きベクトルは、予測動きベクトル候補の中のいずれか1つを選択する方式で決定される。この場合には、差分動きベクトルに関する情報及び現在ブロックを予測するために使用された参照ピクチャに関する情報と共に、選択された予測動きベクトル候補を識別するための情報が追加で符号化される。
【0048】
減算器130は、現在ブロックからイントラ予測部122又はインター予測部124によって生成された予測ブロックを減算して残差ブロックを生成する。
【0049】
変換部140は、空間領域のピクセル値を有する残差ブロック内の残差信号を周波数ドメインの変換係数に変換する。変換部140は、残差ブロックの全体サイズを変換単位として使用して残差ブロック内の残差信号を変換するか、又は残差ブロックを複数個のサブブロックに分割してそのサブブロックを変換単位として使用して変換する。或いは、変換領域及び非変換領域である2つのサブブロックに区分し、変換領域サブブロックのみを変換単位として使用して残差信号を変換する。ここで、変換領域サブブロックは、横軸(又は縦軸)基準に1:1のサイズ比率を有する2つの長方形ブロックの中の1つである。この場合、サブブロックのみを変換したことを示すフラグcu_sbt_flag、方向性(vertical/horizontal)情報cu_sbt_horizontal_flag、及び/又は位置情報cu_sbt_pos_flagがエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。また、変換領域のサブブロックのサイズは、横軸(或いは縦軸)基準に1:3のサイズ比率を有し、このような場合、該当分割を区分するフラグcu_sbt_quad_flagが追加的にエントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0050】
一方、変換部140は、残差ブロックに対して横方向及び縦方向に個別に変換を遂行する。変換のために、様々なタイプの変換関数又は変換行列が用いられる。例えば、横方向変換及び縦方向変換のための変換関数の対をMTS(Multiple Transform Set)と定義する。変換部140は、MTSの中から変換効率が最も良い1つの変換関数対を選択し、横及び縦方向にそれぞれ残差ブロックを変換する。MTSの中から選択された変換関数対に関する情報mts_idxは、エントロピー符号化部155によって符号化されて映像復号化装置にシグナリングされる。
【0051】
量子化部145は、変換部140から出力される変換係数を、量子化パラメータを用いて量子化し、量子化された変換係数をエントロピー符号化部155に出力する。量子化部145は、任意のブロック又はフレームに対して、変換なしに関連する残差ブロックを直ちに量子化する。量子化部145は、変換ブロック内の変換係数の位置に応じてそれぞれ異なる量子化係数(スケーリング値)を適用する。二次元に配置された量子化された変換係数に適用される量子化行列は符号化されて映像復号化装置にシグナリングされる。
【0052】
並べ替え部150は、量子化された残差値に対して係数値の並べ替えを遂行する。
【0053】
並べ替え部150は、係数走査(coefficient scanning)を用いて2次元の係数アレイを1次元の係数シーケンスに変更する。例えば、並べ替え部150では、千鳥状スキャン(zig-zag scan)又は対角線スキャン(diagonal scan)を用いてDC係数から高周波数領域の係数までスキャンして1次元の係数シーケンスを出力する。変換単位のサイズ及びイントラ予測モードによって千鳥状スキャンの代わりに2次元の係数アレイを列方向にスキャンする垂直スキャン、及び2次元のブロック形態係数を行方向にスキャンする水平スキャンが使用され得る。即ち、変換単位のサイズ及びイントラ予測モードによって千鳥状スキャン、対角線スキャン、垂直方向スキャン、及び水平方向スキャンの中から使用されるスキャン方法が決定される。
【0054】
エントロピー符号化部155は、CABAC(Context-based Adaptive Binary Arithmetic Code)、指数ゴロム(Exponential Golomb)などの様々な符号化方式を用いて、並べ替え部150から出力された1次元の量子化された変換係数のシーケンスを符号化することによってビットストリームを生成する。
【0055】
また、エントロピー符号化部155は、ブロック分割に関連するCTUサイズ、CU分割フラグ、QT分割フラグ、MTT分割タイプ、MTT分割方向などの情報を符号化し、映像復号化装置が映像符号化装置と同様にブロックを分割できるようにする。また、エントロピー符号化部155は、現在ブロックがイントラ予測によって符号化されたか、それともインター予測によって符号化されたかの如何を示す予測タイプに関する情報を符号化し、予測タイプによってイントラ予測情報(即ち、イントラ予測モードに関する情報)又はインター予測情報(動き情報の符号化モード(マージモード又はAMVPモード)、マージモードの場合はマージインデックス、AMVPモードの場合は参照ピクチャインデックス及び差分動きベクトルに関する情報)を符号化する。また、エントロピー符号化部155は、量子化に関連する情報、即ち量子化パラメータに関する情報及び量子化行列に関する情報を符号化する。
【0056】
逆量子化部160は量子化部145から出力される量子化された変換係数を逆量子化して変換係数を生成する。逆変換部165は、逆量子化部160から出力される変換係数を周波数ドメインから空間ドメインに変換して残差ブロックを復元する。
【0057】
加算部170は、復元された残差ブロックと予測部120によって生成された予測ブロックとを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、次の順序のブロックをイントラ予測するときに参照ピクセルとして使用される。
【0058】
ループ(loop)フィルタ部180は、ブロックベースの予測及び変換/量子化によって発生するブロッキングアーチファクト(blocking artifacts)、リンギングアーチファクト(ringing artifacts)、ぼかしアーチファクト(blurring artifacts)等を減らすために復元されたピクセルに対するフィルタリングを遂行する。フィルタ部180は、インループ(in-loop)フィルタとしてデブロックフィルタ182、SAO(Sample Adaptive Offset)フィルタ184、及びALF(Adaptive Loop Filter)186の全部又は一部を含む。
【0059】
デブロックフィルタ182は、ブロック単位の符号化/復号化によって発生するブロッキング現象(blocking artifact)を除去するために復元されたブロック間の境界をフィルタリングし、SAOフィルタ184及びalf186は、デブロックフィルタリングされた映像に対して追加のフィルタリングを遂行する。SAOフィルタ184及びalf186は、損失符号化(lossy coding)によって発生する復元されたピクセルと元本ピクセルとの間の差を補償するために使用されるフィルタである。SAOフィルタ184は、CTU単位でオフセットを適用することで、主観的な画質だけでなく符号化効率も向上させる。これに比べて、ALF186はブロック単位のフィルタリングを遂行し、該当ブロックのエッジ及び変化量の程度を区分して異なるフィルタを適用して歪みを補償する。ALFに使用されるフィルタ係数に関する情報は符号化されて映像復号化装置にシグナリングされる。
【0060】
デブロックフィルタ182、SAOフィルタ184、及びALF186を介してフィルタリングされた復元ブロックはメモリ190に保存される。あるピクチャ内の全てのブロックが復元されると、復元されたピクチャは、後に符号化しようとするピクチャ内のブロックをインター予測するための参照ピクチャとして使用される。
【0061】
図5は、本発明の技術を具現する映像復号化装置の例示的なブロック図である。以下では、
図5を参照して映像復号化装置及びこの装置の下位構成について説明する。
【0062】
映像復号化装置は、エントロピー復号化部510、並べ替え部515、逆量子化部520、逆変換部530、予測部540、加算器550、ループフィルタ部560、及びメモリ570を含むように構成される。
【0063】
図1の映像符号化装置と同様に、映像復号化装置の各構成要素は、ハードウェア又はソフトウェアで具現されるか、或いはハードウェア及びソフトウェアの組み合わせで具現される。更に、各構成要素の機能がソフトウェアで具現され、マイクロプロセッサが各構成要素に対応するソフトウェアの機能を実行するように具現され得る。
【0064】
エントロピー復号化部510は、映像符号化装置によって生成されたビットストリームを復号化してブロック分割に関連する情報を抽出することで復号化しようとする現在ブロックを決定し、現在ブロックを復元するために必要な予測情報や残差信号に関する情報などを抽出する。
【0065】
エントロピー復号化部510は、SPS(Sequence Parameter Set)又はPPS(Picture Parameter Set)からCTUサイズに関する情報を抽出してCTUのサイズを決定し、ピクチャを決定されたサイズのCTUに分割する。そして、CTUをツリー構造の最上位レイヤ、即ちルートノードとして決定し、CTUに関する分割情報を抽出することで、ツリー構造を用いてCTUを分割する。
【0066】
例えば、QTBTTT構造を用いてCTUを分割する場合、先ずQTの分割に関連する第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、MTTの分割に関連する第2のフラグMTT_split_flag、及び分割方向(vertical/horizontal)及び/又は分割タイプ(binary/ternary)情報を抽出して該当リーフノードをMTT構造に分割する。これにより、QTのリーフノード以下の各ノードをBT又はTT構造に繰り返し(recursively)分割する。
【0067】
更に他の例として、QTBTTT構造を用いてCTUを分割する場合、先ずCUの分割可否を示すCU分割フラグsplit_cu_flagを抽出し、該当ブロックが分割された場合、第1のフラグQT_split_flagを抽出する。分割の過程で、各ノードは、0回以上の繰り返しのQT分割後に0回以上の繰り返しのMTT分割が発生する。例えば、CTUはすぐにMTT分割が発生するか又は逆に複数回のQT分割のみが発生する。
【0068】
他の例として、QTBT構造を用いてCTUを分割する場合、QTの分割に関連する第1のフラグQT_split_flagを抽出して各ノードを下位レイヤの4つのノードに分割する。そして、QTのリーフノードに該当するノードに対しては、BTで更に分割されるか否かを示す分割フラグsplit_flag及び分割方向情報を抽出する。
【0069】
一方、エントロピー復号化部510は、ツリー構造の分割を用いて復号化しようとする現在ブロックを決定すると、現在ブロックがイントラ予測されたかそれともインター予測されたかを示す予測タイプに関する情報を抽出する。予測タイプ情報がイントラ予測を示す場合、エントロピー復号化部510は、現在ブロックのイントラ予測情報(イントラ予測モード)に関するシンタックス要素を抽出する。予測タイプ情報がインター予測を示す場合、エントロピー復号化部510は、インター予測情報に関するシンタックス要素、即ち動きベクトル及びその動きベクトルが参照する参照ピクチャを表す情報を抽出する。
【0070】
また、エントロピー復号化部510は、量子化関連の情報、及び残差信号に関する情報として現在ブロックの量子化された変換係数に関する情報を抽出する。
【0071】
並べ替え部515は、映像符号化装置によって遂行された係数走査順序の逆順で、エントロピー復号化部510でエントロピー復号化された1次元の量子化された変換係数のシーケンスを再び2次元の係数アレイ(即ち、ブロック)に変更する。
【0072】
逆量子化部520は、量子化された変換係数を逆量子化し、量子化パラメータを用いて量子化された変換係数を逆量子化する。逆量子化部520は、二次元に配列された量子化された変換係数に対してそれぞれ異なる量子化係数(スケーリング値)を適用する。逆量子化部520は、映像符号化装置から量子化係数(スケーリング値)の行列を量子化された変換係数の2次元アレイに適用して逆量子化を遂行する。
【0073】
逆変換部530は、逆量子化された変換係数を周波数ドメインから空間ドメインに逆変換して残差信号を復元することで、現在ブロックに対する残差ブロックを生成する。
【0074】
また、逆変換部530は、変換ブロックの一部領域(サブブロック)のみを逆変換する場合、変換ブロックのサブブロックのみを変換したことを示すフラグcu_sbt_flag、サブブロックの方向性(vertical/horizontal)情報cu_sbt_ horizontal_ flag、及び/又はサブブロックの位置情報cu_sbt_pos_flagを抽出し、該当サブブロックの変換係数を周波数ドメインから空間ドメインに逆変換することによって残差信号を復元し、逆変換されない領域に対しては残差信号で「0」値を満たすことによって現在ブロックに対する最終残差ブロックを生成する。
【0075】
また、MTSが適用された場合、逆変換部530は、映像符号化装置からシグナリングされたMTS情報mts_idxを用いて横及び縦方向にそれぞれ適用される変換関数又は変換行列を決定し、決定された変換関数を用いて横及び縦方向に変換ブロック内の変換係数に対して逆変換を遂行する。
【0076】
予測部540は、イントラ予測部542及びインター予測部544を含む。イントラ予測部542は、現在ブロックの予測タイプがイントラ予測である場合に活性化され、インター予測部544は、現在ブロックの予測タイプがインター予測である場合に活性化される。
【0077】
イントラ予測部542は、エントロピー復号化部510から抽出されたイントラ予測モードに対するシンタックス要素から複数のイントラ予測モードの中の現在ブロックのイントラ予測モードを決定し、イントラ予測モードに応じて現在ブロック周囲の参照ピクセルを用いて現在ブロックを予測する。
【0078】
インター予測部544は、エントロピー復号化部510から抽出されたインター予測モードに対するシンタックス要素を用いて現在ブロックの動きベクトル、及びその動きベクトルが参照する参照ピクチャを決定し、動きベクトル及び参照ピクチャを用いて現在ブロックを予測する。
【0079】
加算器550は、逆変換部から出力される残差ブロックと、インター予測部又はイントラ予測部から出力される予測ブロックとを加算して現在ブロックを復元する。復元された現在ブロック内のピクセルは、後で復号化するブロックをイントラ予測するときの参照ピクセルとして活用される。
【0080】
ループフィルタ部560は、インループフィルタとしてデブロックフィルタ562、SAOフィルタ564、及びALF566を含む。デブロックフィルタ562は、ブロック単位の復号化に因って発生するブロッキング現象(blocking artifact)を除去するために、復元されたブロック間の境界をデブロックフィルタリングする。SAOフィルタ564及びALF566は、損失符号化(lossy coding)に因って発生する復元されたピクセルと元本ピクセルとの間の差を補償するために、デブロックフィルタリング以降の復元されたブロックに対して追加のフィルタリングを遂行する。ALFのフィルタ係数は、ビットストリームから復号されたフィルタ係数に関する情報を用いて決定される。
【0081】
デブロックフィルタ562、SAOフィルタ564、及びALF566を介してフィルタリングされた復元ブロックはメモリ570に保存される。あるピクチャ内の全てのブロックが復元されると、復元されたピクチャは、後で符号化しようとするピクチャ内のブロックをインター予測するための参照ピクチャとして使用される。
【0082】
本実施形態は、以上で説明したような映像(ビデオ)の符号化及び復号化に関する。より詳しくは、Pフレーム及びBフレームに存在するQP(Quantization Parameter)値による様々な水準の映像歪みを緩和するために、Pフレーム及びBフレームのインター予測時のディープラーニングベースのインループフィルタを用いるコーディング方法及び装置を提供する。
【0083】
以下の実施形態は、映像符号化装置内のループフィルタ部180、及び映像復号化装置内のループフィルタ部560のディープラーニング技術を用いる部分に共通して適用される。
【0084】
≪I.階層符号化構造≫
図6は、ランダムアクセス(Random Access:RA)モードで異なる階層的符号化構造を示す例示図である。
【0085】
映像符号化装置は、ランダムアクセスモードで、現在フレームを基準に前の時間と後の時間に符号化されて復号化されたピクチャの両方を参照する。
図6に例示したランダムアクセスモードにおける階層的符号化構造で、GOP(Group of Pictures)のサイズは8である。GOPが16や32に設定されると、それに応じた階層符号化構造も変化し、符号化しようとする現在フレームの参照フレームも変更される。
【0086】
図6に示した例で、四角形内の数字は符号化順序を意味する。映像符号化装置は、Iフレーム(Intra frame)を0番目に最初に符号化する。その後、映像符号化装置は、Iフレームを参照してPフレーム(Predictive frame)を符号化した後、IフレームとPフレームとの間のBフレーム(Bipredictive frame)を符号化する。この3つのフレームは、それぞれQP=I、QP=I+1、及びQP=I+2の量子化パラメータを用いて符号化される。これらのフレームは、階層的に最も深さが低いものとして表され、時間的階層(Temporal layer)ID=0で表される。
【0087】
映像符号化装置は、時間的階層ID=0に含まれるフレーム間に位置するフレームを符号化する。例えば、0番目及び2番目に符号化されたフレームの中央に位置するフレームが次に符号化される。また、1番目及び2番目に符号化されたフレームの中間に位置するフレームが次に符号化される。これらのフレームに時間的階層ID=1が与えられる。時間的階層ID=1に該当するフレームは、QP=I+3を用いて符号化される。また、類似した方式で、時間的階層ID=2が付与されたフレームが符号化される。時間的階層ID=2に該当するフレームはQP=I+4を用いて符号化される。
【0088】
従って、時間的階層が大きくなるほどQPも増加する。即ち、時間的階層の低いフレームが低い量子化パラメータを用いて高画質の高いPSNR(Peak Signal to Noise Ratio)を有するように圧縮される。一方、時間的階層の低いフレームを参照してインター予測を遂行するフレームは相対的に高いQPを用いて低いPSNRを有するように圧縮される。
【0089】
一方、POC(Picture of Count)は、GOP内の時間順序に応じて付与されるインデックスである。即ち、0番目のフレームから8番目のフレームまで順にPOC=0からPOC=8までの値が付与される。
【0090】
≪II. VCARN(Video Compression Artifact Removal Network)≫
ビデオ圧縮のプロセス時に、量子化ノイズ(quantization noise)に因って発生するノイズを除去するディープラーニングベースのノイズ除去モデルをVCARNという。VCARNは、ビデオノイズを除去するプロセスであるビデオデノイジング(video denoising)と同様に、CNN(Convolutional Neural Network)を基盤に遂行される。一方、ビデオデノイジングは、イメージデノイジング(image denoising)とは異なり、前にコーディングしたフレームを活用してノイズ除去性能を更に向上させることが可能になる。
【0091】
図7は、本発明の一実施形態による画質改善装置を示す例示図である。
【0092】
本実施形態による画質改善装置は、入力部702、QP前処理部704、及びノイズ除去部706の全部又は一部を含む。このような画質改善装置は、映像符号化装置内のループフィルタ部180及び映像復号化装置内のループフィルタ部560内でインループフィルタの1つとして用いられる。映像符号化装置内のループフィルタ部180に含まれる場合、本実施形態による映像符号化装置に含まれる構成要素が必ずしもこれに限定されるものではない。例えば、映像符号化装置は、画質改善装置に含まれるディープラーニングモデルのトレーニングのためのトレーニング部(図示せず)を追加で備えるか、或いは外部のトレーニング部に連動する形態で具現される。
【0093】
入力部702は、現在フレーム及び復号化されたQPを取得する。ここで、現在フレームは、インター予測に応じて復元されたPフレーム又はBフレームである。また、入力部702は、参照リストから参照フレームを選択し、後にそれに関する詳しい事項を記述する。
【0094】
QP前処理部704は、ディープラーニングベースの埋め込み関数(embedding function)を用いてQPの埋め込みベクトル(embedding vector)を算定するか、又はディープラーニングベースの推定モデル(estimation model)を用いてQPに応じて映像歪み(image distortion)を推定した後、それらをノイズ除去部706に伝達する。
【0095】
ノイズ除去部706は、ディープラーニングベースのノイズ除去モデルを用いて現在フレーム、即ちP/Bフレームから画質が改善されたフレームを生成する。このとき、ノイズ除去部706は埋め込みベクトル又は推定された映像歪みを活用する。埋め込みベクトルを用いる場合、ノイズ除去部706は、ノイズ除去モデルとして既存のVCARNを用いる。更に、推定された映像歪みを用いる場合、ノイズ除去部706は、ノイズ除去モデルとして正規化モジュール(normalization module)を用いて現在フレームから改善された映像を生成する。
【0096】
他の例として、ノイズ除去部706は、VCARNを用いて参照フレームから類似フレームを生成した後、現在フレーム及び類似フレームを用いて改善されたフレームを生成する。改善されたフレームを生成するプロセスで、ノイズ除去部706は埋め込みベクトルを活用する。
【0097】
1つのビデオシーケンス内でも、P/Bフレームは、変化するQP値に応じて様々な水準の映像歪みを含む。本実施形態は、改善された信号が元本信号により近接するように、そのような環境に適応したVCARNの例示を提供する。
【0098】
一方、VCARNは、単一(single)の現在フレームのみを用いて量子化ノイズを除去するS-VCARN、及び参照(reference)フレームを用いるR-VCARNに区分される。
【0099】
S-VCARNは、現在フレームxtを改善するためのディープラーニングモデルfであり、式1のように表される。S-VCARNは、多様な量子化ノイズqpxに適応的に動作するように設計される。
【0100】
【0101】
また、R-VCARNは、参照フレームxrを活用して現在フレームxtを改善するためのディープラーニングモデルgとして、式2のように表される。後に、参照フレームxrを選択する方法、及び参照フレームが現在フレームに近似された類似フレームを生成する方法を記述する。
【0102】
【0103】
R-VCARNも様々な量子化ノイズに動作するように設計される。
【0104】
一方、上述の2つのモデルを結合して統合(combined)VCARNが生成される。統合VCARNも多様な量子化ノイズに動作するように設計される。
【0105】
本実施形態によるS-VCARN、R-VCARN、及び統合VCARNは、上述したようなインター予測信号のインループフィルタの他に、インター予測信号の改善、圧縮されたビデオ信号の画質改善後処理、VCARN自体の性能改善などにも適用される。
【0106】
一方、既存のVCARNは、インター予測信号のインループフィルタとして利用時に、次のような問題点を有する。
【0107】
現在フレームのみを用いるVCARNは、全てのディープラーニングベースの技術に共通的に有するドメインシフト(domain-shift)問題に直面する。ここで、ドメインシフト問題は、学習サンプルとテストサンプルとの確率分布が異なる場合、又は学習サンプルが十分に一般化されていない場合、学習結果物であるVCARNの性能が低下する現象である。例えば、QPの範囲が0~63であるVVCでは63個の環境で学習されたVCARNが必要になるため、全てのQPに対してそれぞれ学習したネットワークを使用することは困難である。従って、VCARNは、1つ又は少数のネットワークを用いて非常に多様なQPによって歪みが発生する映像又はビデオフレームを処理しなければならない。そのようなQPの多様性は、ビデオシーケンスレベルで決定されるか、或いは1つのGOP(Group of Picture)内で時間的階層(temporal Layer)に基づいて発生するかである。
【0108】
以下、現在フレームという用語と入力映像という用語とは互換的に用いられる。
【0109】
図8a及び
図8bは、1つのネットワークを用いるS-VCARNを示す例示図である。
【0110】
S-VCARNは、畳み込み(convolution)レイヤブロックを連続的に積層した形態であるCLBネット、又は変形可能な(deformable)畳み込み構造のネットワーク形態であるDefCネット(非特許文献1参照)を1つのネットワークf として用いる。
【0111】
CLBネットは、
図8aに例示するように、RBs(Residual Blocks)と畳み込みレイヤとが連鎖する構造を用いて、現在フレームの改善された映像x
hat、t、sを出力する。ここで、RBは入力と出力との間のスキップ経路(skip path)を有する畳み込みブロックであり、畳み込みブロックが入力と出力との間の残差を出力する。
【0112】
DefCネットは、
図8bに例示するように、内部に含まれるディープラーニングモデルであるUネットを用いて入力映像からカーネルのオフセットとしてΔi及びΔjを生成する。DefCネット内サンプラー(sampler)は、生成されたオフセットを用いて入力映像をサンプリングする。DefCネット内の畳み込みレイヤは、入力映像、Uネットの出力特性マップ、及びサンプリングされた入力映像から補正されたカーネル、即ちウェイト(weights)を生成する。最終的に、DefCネット内の出力畳み込みレイヤは、補正されたカーネルを用いてサンプリングされた入力映像に畳み込みを適用することで、入力映像が改善された映像x
hat、t、sを出力する。
図8bに示した例は、Uネットによってカーネルのオフセットを生成する部分を含むが、入力映像をサンプリングするサンプラー、補正カーネルを生成する畳み込みレイヤ、改善映像を生成する出力畳み込みレイヤなどを含まない。
【0113】
一方、このようなS-VCARNがトレーニング部によってトレーニングされるために、式3に示すような損失関数(loss function)が用いられる。
【0114】
【0115】
ここで、ytはトレーニングのためのターゲット映像、即ちGT(Ground Truth)である。
【0116】
一方、参照フレームを活用するVCARNは、参照フレームと現在フレームとの差が大きい場合に、性能低下の問題が発生する。そのような参照フレームと現在フレームとの間の差を誘発する代表的な要因は、2つのフレーム間の時間的距離、及び2つのフレームの異なるQPである。
【0117】
以下の説明で、既存S-VCARNを、上述したようにディープラーニングモデルfで表し、既存R-VCARNをディープラーニングモデルgで表す。本実施形態による画質改善装置は、ディープラーニングモデルf及びgの改善に関して示した例である。上述した
図7に示した例で、入力部702及びQP処理部704と、ノイズ除去部706に含まれるVCARNとを区別して記述したが、必ずしもこれに限定されるものではない。以下の説明で、改善されたVCARNは、入力部702及びQP処理部704の全部又は一部を含むものとして記述する。
【0118】
≪III.本発明によるS-VCARNの構造及び動作≫
図9a及び
図9bは、本発明の一実施形態による埋め込み関数を用いるS-VCARNを示す例示図である。
【0119】
一実施形態として、画質改善装置は、QP値を埋め込みベクトル(embedding vector)に変換した後、S-VCARN内部の畳み込みレイヤの中の1つに適用することで、様々なQPに適応的に動作する。即ち、QP前処理部704は、現在フレームxtに該当するQPxを、式4及び5に示すように処理し、S-VCARN内部のk(ここで、kは自然数)番目の畳み込みレイヤに適用する。
【0120】
【0121】
【0122】
ここで、eは埋め込み関数を表し、学習可能であり、埋め込みレイヤ(embedding layer)及び複数の全連結レイヤ(fully-connected layer)で具現される。埋め込みレイヤは量子化パラメータをベクトル形態に変換する入力レイヤであり、最終的に埋め込み関数eは量子化パラメータに対応する埋め込みベクトルを生成する。Conv()は多数の畳み込みレイヤを含むネットワークであり、ktはk番目の畳み込みレイヤの特性を表す。S-VCARNは、式4によって生成された埋め込みベクトルλQPの絶対値を、式5のようにktに乗算してk番目の畳み込みレイヤの特性を更新する。その後、更新された特性は(k+1)番目の畳み込みレイヤに入力される。
【0123】
式4及び式5に基づき、上述したCLBネットを含むS-VCARNは、
図9aに例示したように動作することで、QP値に応じてk
t値が適応的に変更される。
【0124】
他の例として、埋め込みベクトルの活用により、S-VCARNが変更される。CLBネットに対して、畳み込みレイヤの全ての特性に共通して埋め込みベクトルλQPの絶対値を乗算する形でS-VCARNが変更される。或いは、CLBネットに対して、最後のRBの最後のレイヤに埋め込みベクトルλQPの絶対値を乗算する形でS-VCARNが変更される。
【0125】
更に他の例として、DefCネットに対して、
図9bに例示したように、補正されたカーネル、即ちウェイトを生成する畳み込みレイヤの全部又は一部に埋め込みベクトルλ
QPの絶対値を乗算する形でS-VCARNが変更される。或いは、DefCネットに対して補正カーネルに式5が適用されるようにS-VCARNを変更し、出力される補正カーネルがQPによって異なるように生成されるようにする。
【0126】
式4により、QP前処理部704は、量子化ノイズ水準を補償するための埋め込み関数の入力でQPのみを使用するが、必ずしもこれに限定するものではない。他の例として、QP前処理部704は、QP、ビットレート歪み算定に用いるラグランジュ乗数(Lagrange multiplier)、GOP内の時間的階層、及びフレームの種類(Pフレーム又はBフレーム)の中の1つ又はそれらの組み合わせを埋め込み関数の入力に用いる。
【0127】
図10a及び
図10bは、本発明の他の実施形態による量子化ノイズ予測を用いるS-VCARNを示す例示図である。
【0128】
他の実施形態として、画質改善装置は、ディープラーニングベースの推定モデルであるバックボーン(backbone)ネットワークに追加された歪み程度を補正する正規化モジュールであるCIN(Conditional Instance Normalization)を用いて、入力映像の歪みに適応するように畳み込みレイヤの特性を調整する。即ち、ノイズ除去部706は、QPではなく、推定された入力映像の歪みを直ちに歪み補正に使用する。
【0129】
QP前処理部704は、
図10a及び
図10bに例示したように、推定モデルを用いて入力映像の歪みを推定する。また、ノイズ除去部706は、正規化モジュールであるCINを用いて畳み込みレイヤの特性を正規化(normalization)する。CINの正規化動作は式6によって表される。
【0130】
【0131】
ここで、μ(x)はxの平均を表し、σ(x)はxの標準偏差を表す。また、γ及びβは学習可能なアフィン行列(affine matrix)を表す。式6で、xは畳み込みレイヤの特性であるが、本実施形態では、入力映像xtである。
【0132】
QP前処理部704は、映像歪みを反映する正規化パラメータ(normalization parameters)γ及びβを次のように生成する。先ず、QP前処理部704は、バックボーンネットワークhを用いて入力映像x
tからノイズマップ(noise map)ω(x
t)を抽出する。このとき、バックボーンネットワークとしては、Uネットベースのニューラルネットワークが用いられる。ノイズマップω(x
t)を生成する際のQPによる歪み程度を推定するために、入力映像の量子化パラメータQP
xを分類するための分類器(classifier)が追加される。バックボーンネットワークは、Uネット構造でアップコンボリューション(up-conv)を進める前の特性を分類器に連結して量子化パラメータ値の予測を遂行する。このような予測されたQP
xに基づき、入力映像x
tに対する適切なノイズマップω(x
t)が生成されるように、バックボーンネットワークは特性を抽出する。
図10a及び
図10bに示した例で、分類器を表すfcは全連結レイヤを表す。
【0133】
一方、量子化パラメータ値の予測に対する損失関数は、クロスエントロピー(cross-entropy)を用いて式7のように定義される。
【0134】
【0135】
ここで、Cは分類可能な量子化パラメータの個数であり、Unet_down(xt)はUネット構造でup-convを進める前の特性を示す。
【0136】
QP前処理部704は、追加の畳み込みレイヤを用いて、ω(xt)から正規化パラメータγ及びβを抽出する。推定モデルは、バックボーンネットワーク、分類器、及びγ及びβを生成する畳み込みレイヤを含む。
【0137】
最終的に、これらを含む式6を用いて、ノイズ除去部706は、
図10a及び
図10bに例示するように、入力映像x
tにCINを適用する。ノイズ除去部706内のノイズ除去モデルは、CIN及び出力畳み込みレイヤを含む。例えば、
図10aに示した例で、ノイズ除去モデルは、スキップ経路(skip path)を含む畳み込みネットワークに正規化モジュールであるCINを適用する。即ち、入力映像と改善映像との間の残差にCINが適用される。ノイズ除去モデルは、正規化された残差に畳み込み及び活性化関数(activation function)を適用して改善映像を生成する。
【0138】
一方、
図10bに示した例で、ノイズ除去モデルは入力映像に直接CINを適用した後、正規化された映像に適用される畳み込み及び活性化関数を適用して改善映像を生成する。ここで、
図10a及び
図10bに示した例で、ReLU(Rectified Linear Unit)は、畳み込みレイヤの出力に連結された活性化関数を表す。
【0139】
一方、ノイズ除去モデル及び推定モデルを含む全体ネットワークは終端間(end-to-end)でトレーニングされ、損失関数は式8のように表される。
【0140】
【0141】
ここで、MSEは推定モデル及びノイズ除去モデルの映像改善に関連する損失であり、CEは式7に示すような分類器の量子化パラメータ予測に関連する損失である。αは、MSEとCEとの間の結合比率を調節するハイパーパラメータである。
【0142】
上述したように、既存のS-VCARNを用いて単一現在フレームから改善フレームを生成する際、ドメインシフト問題のために、QPに依存して予測結果が相違する。このような問題を改善するために、QPに適応的に入力フレームと改善フレームとが混合(blending)される。
【0143】
図11は、本発明の更に他の実施形態によるマスクマップを用いるS-VCARNを示す例示図である。
【0144】
更に他の実施形態として、
図11に示したように、S-VCARNは、x
t及びx
hat、t、sを入力として用いる多数の畳み込みレイヤを含む。ここで、x
tはデコーディングを完了した復元フレームであり、x
hat、t、sは既存のS-VCARN fによって生成されたフレームである。
【0145】
式9に示すように、QPの埋め込みベクトルλQP、及び残差ネットワークCNN()を用いて、S-VCARNは、改善された残差信号を生成した後、これをxhat、t、sに加算して最終改善フレームxhat、tを生成する。
【0146】
【0147】
或いは、式10に示すように、S-VCARNは、マスクマップmtを算定した後、マスクマップを用いて入力映像及び改善フレームのそれぞれから反映する領域を選択する。
【0148】
【0149】
マスクマップを使用する理由は、入力映像が既存のS-VCARNfを通過しても、上述したように、最適な改善された信号が生成されるわけではないからである。
図11に示した例で、畳み込みレイヤで表現されたネットワークは、式9及び式10に示したようなプロセスを遂行する。このとき、QPが低いほど入力映像x
tが最終改善信号x
hat、tにより多く反映され、QPが大きいほど既存のS-VCARNfによって改善されたフレームx
hat、t、sがより多く反映される。
【0150】
≪IV.本発明によるR-VCARNの構造及び動作≫
以下、本実施形態による、既存のR-VCARN gの性能を改善する方法を記述する。先ず、入力部702は、R-VCARNに用いられる参照フレームxrを次のように選択する。
【0151】
参照リストで最も時間的階層の低いフレームが参照フレームxrとして選択される。
【0152】
又は、参照リストで最もQPの低いフレームが参照フレームxrとして選択される。
【0153】
又は、参照リストで現在フレーム及び最もPOC(Picture of Count)差が小さいフレームが参照フレームxrとして選択される。
【0154】
或いは、最も高い品質のフレーム(Peak Quality Frame:PQF)を選択するアルゴリズム(非特許文献2参照)を用いて参照フレームxrが選択される。
【0155】
一方、上述の条件を満たす1つ以上の参照フレームが存在する場合、ディスプレイ順序(display order)で前に位置するフレームが参照フレームxrとして選択される。
【0156】
或いは、上述した条件を満たす1つ以上の参照フレームが存在する場合、条件を満たす全てのフレームが参照フレームxrとして選択される。
【0157】
図12a及び
図12bは本発明の一実施形態による参照フレームのシフトを示す例示図である。
【0158】
次に、R-VCARNは、現在フレームに類似するように選択された参照フレームをシフト(shift)する。一例として、式11に示すように、ピクセルドメイン(pixel domain)で参照フレームをシフトして類似フレームを生成する。
【0159】
【0160】
ここで、ワーピング(warping)は、参照フレームに基づいて算出されたオプティカルフロー(optical flow)を用いて遂行されるか、或いは上述したようなDefCネットを用いて遂行される。
【0161】
他の例として、式12に示すように、特性ドメイン(feature domain)で参照フレームをシフトして類似フレームを生成する。
【0162】
【0163】
ここで、ConvNet()は参照フレーム又は現在フレームから特性を抽出するネットワークである。ワーピングは、抽出された特性のチャネル別に遂行され、
図12aに例示したように、特性のチャネル別にオプティカルフローを算出した後、これを用いて遂行される。或いは、
図12bに例示したように、空間部分(spatial portion)に最も類似したベクトルを選択して移動させることで、ワーピングが遂行される。即ち、空間上座標を基準にしてベクトルが選択されて移動される。一方、空間部分における移動に基づくワーピングは、テクスチャトランスフォーマー(texture transformer、非特許文献3参照)を用いて遂行される。
【0164】
上述した参照フレームを選択する方法、及び参照フレームシフト方法を組み合わせて、改善されたR-VCARNが生成される。
【0165】
図13a及び
図13bは、本発明の一実施形態によるR-VCARNを示す例示図である。
【0166】
図13aに示した例で、R-VCARNは、参照フレームx
rを選択した後、x
rがx
tに類似するようにオプティカルフローを予測する。R-VCARNは、オプティカルフローを用いてピクセルドメインでx
rをシフトして擬似フレームx
hat、r→tを生成した後、x
hat、r→t及びx
tを入力として利用して改善フレームx
hat、t、rを生成する。このとき、x
tフレームとx
hat、t、rフレームとを結合するために、R-VCARNは畳み込みレイヤを用いる。一方、x
hat、t、rがGT y
tに類似するように、トレーニング部によってR-VCARNがトレーニングされる。
【0167】
一方、
図13bに示した例で、R-VCARNは、参照フレームx
rを選択した後、特性ドメインからシフトする。即ち、x
t及びx
rに対してそれぞれの特性を抽出した後、R-VCARNは、2つの特性間の関係を算定してx
tの特性に類似するようにx
rの特性を組み換える。
【0168】
R-VCARNは、x
rの特性を組み換えるために、
図13bに示した例のように、テクスチャトランスフォーマーで具現される。テクスチャトランスフォーマーはアテンション関数(attention function)を用いてx
rの特性を組み換える。このとき、アテンション関数は、Q、K、及びVを入力として有するが、それぞれ問合せ行列(query matrix)、キー行列(key matrix)、及び値行列(value matrix)を表す。R-VCARNは、現在フレームx
tの特性をQに入力し、参照フレームx
rの特性をK及びVに入力してアテンション関数を動作させることで、x
t及びx
rのそれぞれの特性間の関係を算定してx
rの特性を組み換える。
【0169】
その後、R-VCARNは、組み換えられた特性とxtの特性とを結合して改善フレームxhat、t、rを生成する。このとき、xtフレームとxhat、t、rフレームとを結合するために、R-VCARNは畳み込みレイヤを用いる。一方、xhat、t、rがGT ytに類似するように、トレーニング部によってR-VCARNがトレーニングされる。
【0170】
他の実施形態として、R-VCARNはQP値を反映して適応的にトレーニングされる。このとき、QPによる歪みをR-VCARNに反映するために、式4に応じた埋め込み関数を利用する方法、式6に応じたCINを利用する方法、及び式10に応じたマスクマップを利用する方法などのように、S-VCARNに適用された方法が用いられる。
【0171】
図14は、本発明の他の実施形態による埋め込み関数を用いるR-VCARNを示す例示図である。
【0172】
例えば、
図14に例示するように、ピクセルドメインにおけるシフトを用いるR-VCARNは、式5に応じた埋め込み関数を用いてQP値を反映する。即ち、R-VCARNは、QP値から生成された埋め込みベクトルを、インループフィルタリングを遂行するネットワーク内の任意の畳み込みレイヤに入力する。
【0173】
更に他の実施形態として、S-VCARNとR-VCARNとを結合して統合VCARNを具現する。
【0174】
図15は、S-VCARNとR-VCARNとを結合した統合VCARNを示す例示図である。
【0175】
統合VCARNは、
図15に例示したように、S-VCARNを用いて予測したx
hat、t、sフレームとR-VCARNを用いて予測したx
hat、t、rフレームとを結合して、最終x
hat 、tフレームを生成する。このとき、x
hat、t、sフレームとx
hat、t、rフレームとを結合するために、統合VCARNは、いくつかの畳み込みレイヤを使用するか又はマスクを使用する。
【0176】
以下、
図16及び
図17に示した図を用いて、画質改善装置により遂行される画質改善方法を記述する。
【0177】
上述したように、画質改善方法は、映像符号化装置内のループフィルタ部180及び映像復号化装置内のループフィルタ部560によって遂行される。
【0178】
図16は、本発明の一実施形態によるS-VCARNを用いる画質改善方法を示すフローチャートである。
【0179】
画質改善装置は、復元された現在フレーム及び復号化された量子化パラメータを獲得する(S1600)。ここで、現在フレームは、ビデオコーディング装置のインター予測に応じて復元されたPフレーム又はBフレームである。
【0180】
画質改善装置は、ディープラーニングベースの埋め込み関数を用いて量子化パラメータから埋め込みベクトルを算定するか、又はディープラーニングベースの推定モデルを用いて量子化パラメータに応じた映像歪みを推定する(S1602)。
【0181】
埋め込み関数は、埋め込みレイヤ及び多数の全連結レイヤを含む。埋め込みレイヤは量子化パラメータをベクトル形態に変換する入力レイヤであり、最終的に埋め込み関数は量子化パラメータに対応する埋め込みベクトルを生成する。
【0182】
また、埋め込み関数は、量子化パラメータ、ビットレート歪み算定に用いるラグランズ乗数、GOP内の時間的階層、及びフレームの種類(Pフレーム又はBフレーム)の中の1つ又はこれらの組み合わせを入力として用いる。
【0183】
一方、推定モデルは、現在フレームからノイズマップを抽出するUネット、Uネット構造でアップコンボリューションを進める前の特性から量子化パラメータを予測する分類器、及びノイズマップから映像歪みを表現する正規化パラメータを抽出する畳み込みレイヤを含む。
【0184】
画質改善装置は、ディープラーニングベースのノイズ除去モデルを用いて、現在フレームから量子化ノイズを除去することで、改善フレームを生成する(S1604)。
【0185】
一例として、S-VCARNであるノイズ除去モデルは、RBs及び畳み込みレイヤの連鎖構造を含むCLBネットとして、連鎖構造を用いて改善フレームを生成する。このとき、各RBは、入力と出力との間のスキップ経路(skip path)を有する畳み込みブロックである。このようなノイズ除去モデルは、改善フレームを生成するために、畳み込みレイヤの中の予め設定された畳み込みレイヤが生成する特性に埋め込みベクトルの絶対値を乗算する形で変更される。又は、畳み込みレイヤの全ての特性に共通に埋め込みベクトルの絶対値を乗算する形でノイズ除去モデルが変更される。或いは、最後のRBの最後のレイヤに埋め込みベクトルの絶対値を乗算する形でノイズ除去モデルが変更される。
【0186】
他の例として、ノイズ除去モデルは、補正されたカーネルを生成する畳み込みレイヤを含むDefCネットである。このノイズ除去モデルは、畳み込みレイヤの中の予め設定された畳み込みレイヤが生成する特性に埋め込みベクトルの絶対値を乗算する形に変更される。或いは、ノイズ除去モデルは、補正されたカーネルに埋め込みベクトルの絶対値を乗算する形式に変更される。
【0187】
一方、推定モデルを用いる場合、ノイズ除去モデルは、正規化パラメータを用いて現在フレームを正規化する正規化モジュール、及び正規化された現在フレームから改善フレームを生成する出力畳み込みレイヤを含む。このとき、推定モデル及びノイズ除去モデルは終端間トレーニングされる。このような終端間トレーニングの損失関数は、式8に示すように、推定モデル及びノイズ除去モデルが改善フレームを推定するための損失、及び分類器が量子化パラメータを予測するための損失の合計で表される。
【0188】
更に他の例として、ノイズ除去モデルは、畳み込みレイヤを追加的に含み、そのような畳み込みレイヤを用いて量子化パラメータに適応的に現在フレームと改善フレームとを混合する。例えば、埋め込みベクトルの絶対値及び畳み込みレイヤを用いて現在フレームと改善フレームとの間の残差信号を生成した後、ノイズ除去モデルはそれを改善フレームに加算して最終改善フレームを生成する。
【0189】
或いは、埋め込みベクトルの絶対値及び畳み込みレイヤを用いて現在フレーム及び改善フレームに関するマスクマップを算定した後、ノイズ除去モデルはマスクマップを用いて現在フレームと改善フレームとを結合する。
【0190】
図17は、本発明の一実施形態によるR-VCARNを用いる画質改善方法を示すフローチャートである。
【0191】
画質改善装置は、現在フレーム及び復号化された量子化パラメータを獲得する(S1700)。ここで、現在フレームは、ビデオコーディング装置のインター予測に応じて復元されたPフレーム又はBフレームである。
【0192】
画質改善装置は、参照リストから参照フレームを選択する(S1702)。画質改善装置は、参照リストで最も時間的階層が低いフレームを参照フレームとして選択するか、又は参照リストで量子化パラメータが最も低いフレームを参照フレームとして選択する。
【0193】
画質改善装置は、ディープラーニングベースの埋め込み関数を用いて量子化パラメータの埋め込みベクトルを算定する(S1704)。
【0194】
上述したように、埋め込み関数は、埋め込みレイヤ及び多数の全連結レイヤを含む。埋め込みレイヤは量子化パラメータをベクトル形態に変換する入力レイヤであり、最終的に埋め込み関数は量子化パラメータに対応する埋め込みベクトルを生成する。
【0195】
画質改善装置は、ディープラーニングベースのノイズ除去モデルを用いて、参照フレームから類似フレームを生成した後、現在フレーム及び類似フレームを用いて改善フレームを生成する(S1706)。
【0196】
一例として、ノイズ除去モデルは、参照フレームをピクセルドメインでシフトする。ノイズ除去モデルは、参照フレームからオプティカルフローを予測し、オプティカルフローを用いて参照フレームから類似フレームを生成する。
【0197】
他の例として、ノイズ除去モデルは、参照フレームを特性ドメインでシフトする。ノイズ除去モデルは、現在フレーム及び参照フレームの特性をそれぞれ抽出し、現在フレームの特性及び参照フレームの特性を用いて参照フレームの特性を特性ドメインで組み換える。ノイズ除去モデルは、組み換えられた参照フレームの特性と現在フレームの特性とを結合して類似フレームを生成する。
【0198】
画質改善装置は、改善フレームを生成するプロセスで埋め込みベクトルを用いる。即ち、ノイズ除去モデルは、モデル内の畳み込みレイヤの中の予め設定された畳み込みレイヤが生成する特性に埋め込みベクトルを乗算する形態に変更される。
【0199】
本明細書のフローチャート/タイミング図では、各プロセスを順次実行することが記載されているが、これは、本発明の一実施形態の技術思想を例示的に説明したに過ぎない。言い換えると、本発明が属する技術分野で通常の知識を有する者であれば、本発明の本質的な特性から逸脱しない範囲でフローチャート/タイミング図に記載された順序を変更して実行するか、或いは各プロセスの中の1つ以上のプロセスを並列に実行することによって様々に修正及び変形して適用可能であるため、フローチャート/タイミング図は時系列的な順序に限定されるものではない。
【0200】
以上の説明で、例示的な実施形態は、多くの異なる方式で具現されることを理解されたい。1つ以上に示した例で説明した機能又は方法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで具現される。本明細書に説明した機能的コンポーネントは、それらの具現の独立性を特に強調するために「…部(unit)」とラベル付けされていることを理解されたい。
【0201】
一方、本実施形態で説明した様々な機能又は方法は、1つ以上のプロセッサによって読み取られて実行される非一時的記録媒体に保存された命令語で具現される。非一時的記録媒体は、例えばコンピュータシステムによって読み取り可能な形態でデータが保存されるあらゆる種類の記録装置を含む。例えば、非一時的記録媒体は、EPROM(erasable programmable read only memory)、フラッシュドライブ、光学ドライブ、磁気ハードドライブ、ソリッドステートドライブ(SSD)のような保存媒体を含む。
【0202】
以上の説明は、本発明の技術思想を例示的に説明したものに過ぎず、本発明が属する技術分野における通常の知識を有する者であれば、本発明の本質的な特性から逸脱しない範囲で様々な修正及び変形が可能であろう。従って、本実施形態は、本発明の技術思想を限定するものではなく説明するためのものであり、このような実施形態によって本発明の技術思想の範囲が限定されるものではない。本発明の保護範囲は、特許請求の範囲によって解釈すべきであり、それと均等の範囲内にある全ての技術思想は、本発明の権利範囲に含まれるものと解釈すべきである。
【0203】
CROSS-REFERENCE TO RELATED APPLICATION
本特許出願は、2021年3月31日付で韓国に出願した特許出願番号第10-2021-0042090号、2022年3月23日付で韓国に出願した特許出願番号第10-2022-0036249号に対して優先権を主張し、その全ての内容は参考文献として本特許出願に併合される。
【符号の説明】
【0204】
110 ピクチャ分割部
120、540 予測部
122、542 イントラ予測部
124、544 インター予測部
130 減算器
140 変換部
145 量子化部
150、515 並べ替え部
155 エントロピー符号化部
160、520 逆量子化部
165、530 逆変換部
170、550 加算器
180、560 ループフィルタ部
182、562 デブロックフィルタ
184、564 SAO(Sample Adaptive Offset)フィルタ
186、566 ALF(Adaptive Loop Filter)
190、570 メモリ
510 エントロピー復号化部
702 入力部
704 QP前処理部
706 ノイズ除去部
BTTT BinaryTree TernaryTree
CIN Conditional Instance Normalization
Q、K、V 問合せ行列、キー行列、値行列
QP 量子化パラメータ
QT クワッドツリー
RB Residual Block
【手続補正書】
【提出日】2023-10-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像復号化装置に含まれる画質改善装置であって、
復元された現在フレーム及び復号化された量子化パラメータを獲得する入力部と、
ディープラーニングベースの埋め込み関数(embedding function)を用いて前記量子化パラメータから埋め込みベクトル(embedding vector)を算定するか、又は前記ディープラーニングベースの推定モデル(estimation model)を用いて前記量子化パラメータに応じた映像歪み(image distortion)を推定する量子化パラメータ前処理部と、
前記ディープラーニングベースのノイズ除去(denoising)モデルを用いて前記現在フレームから量子化ノイズを除去することで改善フレームを生成するノイズ除去部と、を備え、
前記ノイズ除去モデルは、前記改善フレームを生成するために前記埋め込みベクトル又は前記推定された映像歪みを用いることを特徴とする画質改善装置。
【請求項2】
前記現在フレームは
、インター予測に応じて復元されたPフレーム(Predictive frame)又はBフレーム(Bipredictive frame)であることを特徴とする請求項1に記載の画質改善装置。
【請求項3】
前記埋め込み関数は、埋め込みレイヤ(embedding layer)及び多数の全連結レイヤ(fully-connected layer)を含むことを特徴とする請求項1に記載の画質改善装置。
【請求項4】
前記埋め込み関数は、前記量子化パラメータ、ビットレート歪み算定に用いるラグランジュ乗数(Lagrange multiplier)、前記現在フレームの時間的階層、及び前記現在フレームの種類の全部又は一部を入力として用いることを特徴とする請求項1に記載の画質改善装置。
【請求項5】
前記ノイズ除去モデルは、RB(Residual Blocks)と畳み込みレイヤとの連鎖構造を含み、前記連鎖構造を用いて前記改善フレームを生成し、
前記RBの各々は、入力と出力との間のスキップ経路(skip path)を有する畳み込みブロックであることを特徴とする請求項1に記載の画質改善装置。
【請求項6】
前記ノイズ除去部は、前記畳み込みレイヤのうちの予め設定された畳み込みレイヤが生成する特性に前記埋め込みベクトルの絶対値を乗算することを特徴とする請求項5に記載の画質改善装置。
【請求項7】
前記ノイズ除去モデルは、
前記現在フレームからカーネルのオフセットを生成するディープラーニングモデルであるUネットと、
前記オフセットを用いて現在フレームをサンプリングするサンプラーと、
前記現在フレーム、前記Uネットの出力特性マップ、及び前記サンプリングされた現在フレームから補正されたカーネルを生成する畳み込みレイヤと、
前記補正されたカーネルを用いてサンプリングされた現在フレームに畳み込みを適用することで前記改善フレームを生成する出力畳み込みレイヤと、を含むことを特徴とする請求項1に記載の画質改善装置。
【請求項8】
前記ノイズ除去部は、前記補正されたカーネルに前記埋め込みベクトルの絶対値を乗算することを特徴とする請求項7に記載の画質改善装置。
【請求項9】
前記推定モデルは、
前記現在フレームからノイズマップ(noise map)を抽出するUネットと、
Uネット構造でアップコンボリューション(up-conv)を進める前の特性から前記量子化パラメータを予測する分類器(classifier)と、
前記ノイズマップから前記映像歪みを表す正規化パラメータを抽出する畳み込みレイヤと、を含むことを特徴とする請求項1に記載の画質改善装置。
【請求項10】
前記ノイズ除去モデルは、
前記正規化パラメータを用いて前記現在フレームを正規化する正規化モジュールと、
前記正規化された現在フレームから前記改善フレームを生成する出力畳み込みレイヤを含むことを特徴とする請求項9に記載の画質改善装置。
【請求項11】
前記推定モデル及び前記ノイズ除去モデルは、終端間(end-to-end)トレーニングされ、
前記終端間トレーニングの損失関数は、前記推定モデル及び前記ノイズ除去モデルが前記改善フレームを推定するための損失と前記分類器が前記量子化パラメータを予測するための損失との和で表されることを特徴とする請求項9に記載の画質改善装置。
【請求項12】
前記ノイズ除去モデルは、結合畳み込みレイヤを追加で含み、前記埋め込みベクトルの絶対値及び前記結合畳み込みレイヤを用いて前記現在フレームと前記改善フレームとの間の残差信号を生成した後、前記残差信号と前記改善フレームとを加算することを特徴とする請求項1に記載の画質改善装置。
【請求項13】
映像符号化装置によって遂行される現在フレームの画質を改善する方法であって、
復元された現在フレーム及び復号化された量子化パラメータを獲得するステップと、
ディープラーニングベースの埋め込み関数(embedding function)を用いて前記量子化パラメータから埋め込みベクトル(embedding vector)を算定するか、又は前記ディープラーニングベースの推定モデル(estimation model)を用いて前記量子化パラメータに応じた映像歪み(image distortion)を推定するステップと、
前記ディープラーニングベースのノイズ除去(denoising)モデルを用いて前記現在フレームから量子化ノイズを除去することで改善フレームを生成するステップと、を有し、
前記改善フレームを生成するステップは、前記ノイズ除去モデルが前記埋め込みベクトル又は前記推定された映像歪みを用いることを特徴とする画質を改善する方法。
【請求項14】
前記獲得するステップは、前記現在フレームとして、ビデオコーディング装置のインター予測に応じて復元されたPフレーム(Predictive frame)又はBフレーム(Bipredictive frame)を獲得することを特徴とする請求項13に記載の画質を改善する方法。
【請求項15】
前記埋め込み関数は、埋め込みレイヤ(embedding layer)及び多数の全連結レイヤ(fully-connected layer)を含むことを特徴とする請求項13に記載の画質を改善する方法。
【請求項16】
前記ノイズ除去モデルは、RB(Residual Blocks)と畳み込みレイヤとの連鎖構造を含み、前記連鎖構造を用いて前記改善フレームを生成し、
前記RBの各々は、入力と出力との間のスキップ経路(skip path)を有する畳み込みブロックであることを特徴とする請求項13に記載の画質を改善する方法。
【請求項17】
前記改善フレームを生成するステップは、前記畳み込みレイヤのうちの予め設定された畳み込みレイヤが生成する特性に前記埋め込みベクトルの絶対値を乗算することを特徴とする請求項16に記載の画質を改善する方法。
【請求項18】
映像符号化装置に映像符号化方法を実行させることによって生成されたビットストリームを保存するコンピュータ読み取り可能な記録媒体であって、
前記映像符号化方法は、
復元された現在フレーム及び復号化された量子化パラメータを獲得するステップと、
ディープラーニングベースの埋め込み関数(embedding function)を用いて前記量子化パラメータから埋め込みベクトル(embedding vector)を算定するか、又は前記ディープラーニングベースの推定モデル(estimation model)を用いて前記量子化パラメータに応じた映像歪み(image distortion)を推定するステップと、
前記ディープラーニングベースのノイズ除去(denoising)モデルを用いて前記現在フレームから量子化ノイズを除去することで改善フレームを生成するステップと、を有し、
前記改善フレームを生成するステップは、前記ノイズ除去モデルが前記埋め込みベクトル又は前記推定された映像歪みを用いることを特徴とする記録媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0035
【補正方法】変更
【補正の内容】
【0035】
一方、インター予測部124は、双方向予測(bi-prediction)を用いてインター予測を遂行する。双方向予測の場合、2つの参照ピクチャと、各参照ピクチャ内で現在ブロックに最も類似したブロック位置を表す2つの動きベクトルとが用いられる。インター予測部124は、参照ピクチャリスト0(RefPicList0)及び参照ピクチャリスト1(RefPicList1)からそれぞれ第1の参照ピクチャ及び第2の参照ピクチャを選択し、各参照ピクチャ内で現在ブロックに類似したブロックを探索して第1の参照ブロック及び第2の参照ブロックを生成する。そして、第1の参照ブロックと第2の参照ブロックとを平均又は加重平均して現在ブロックに対する予測ブロックを生成する。そして、現在ブロックを予測するために使用した2つの参照ピクチャに関する情報及び2つの動きベクトルに関する情報を含む動き情報を符号化部に伝達する。ここで、参照ピクチャリスト0は、予め復元されたピクチャの中、ディスプレイ順序で現在ピクチャの前のピクチャで構成され、参照ピクチャリスト1は、予め復元されたピクチャの中、ディスプレイ順序で現在ピクチャ以降のピクチャで構成される。しかし、必ずしもこれに限定されるわけではなく、ディスプレイ順序上で現在ピクチャ以降の既復元のピクチャが参照ピクチャリスト0に追加で更に含まれるか、又は逆に現在ピクチャの前の既復元のピクチャが参照ピクチャリスト1に追加で更に含まれる。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0039
【補正方法】変更
【補正の内容】
【0039】
マージ候補を誘導するための周辺ブロックとしては、
図4に示すように、現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロック
B2のうちの全部又は一部が使用される。更に、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同一であるか又は異なる)内に位置するブロックがマージ候補として使用される。例えば、参照ピクチャ内で現在ブロックと同一の位置にあるブロック(co-located block)又はその同一の位置のブロックに隣接するブロックがマージ候補として追加で更に使用される。以上で記述した方法によって選定されたマージ候補の個数が予め設定された個数よりも小さい場合、0ベクトルをマージ候補に追加する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0040
【補正方法】変更
【補正の内容】
【0040】
インター予測部124は、このような周辺ブロックを用いて予め決定された個数のマージ候補を含むマージリストを構成する。マージリストに含まれるマージ候補の中から現在ブロックの動き情報として使用されるマージ候補を選択し、選択された候補を識別するためのマージインデックス情報を生成する。生成されたマージインデックス情報は、符号化部によって符号化されて映像復号化装置に伝達される。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0044
【補正方法】変更
【補正の内容】
【0044】
AMVPモードで、インター予測部124は、現在ブロックの周辺ブロックを用いて現在ブロックの動きベクトルに対する予測動きベクトル候補を誘導する。予測動きベクトル候補を誘導するために使用される周辺ブロックとしては、
図4に示した現在ピクチャ内で現在ブロックに隣接する左側ブロックA0、左下段ブロックA1、上段ブロックB0、右上段ブロックB1、及び左上段ブロック
B2のうち、全部又は一部が用いられる。更に、現在ブロックが位置する現在ピクチャではなく、参照ピクチャ(現在ブロックを予測するために使用された参照ピクチャと同じであるか又は異なる)内に位置するブロックが、予測動きベクトル候補を誘導するために使用される周辺ブロックとして使用される。例えば、参照ピクチャ内で現在ブロックと同じ位置にあるブロック(collocated block)、又はその同じ位置のブロックに隣接するブロックが使用される。以上で記述した方法によって動きベクトル候補の個数が予め設定された個数よりも小さい場合、0ベクトルを動きベクトル候補に追加する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0059
【補正方法】変更
【補正の内容】
【0059】
デブロックフィルタ182は、ブロック単位の符号化/復号化によって発生するブロッキング現象(blocking artifact)を除去するために復元されたブロック間の境界をフィルタリングし、SAOフィルタ184及びALF186は、デブロックフィルタリングされた映像に対して追加のフィルタリングを遂行する。SAOフィルタ184及びALF186は、損失符号化(lossy coding)によって発生する復元されたピクセルと元本ピクセルとの間の差を補償するために使用されるフィルタである。SAOフィルタ184は、CTU単位でオフセットを適用することで、主観的な画質だけでなく符号化効率も向上させる。これに比べて、ALF186はブロック単位のフィルタリングを遂行し、該当ブロックのエッジ及び変化量の程度を区分して異なるフィルタを適用して歪みを補償する。ALFに使用されるフィルタ係数に関する情報は符号化されて映像復号化装置にシグナリングされる。
【国際調査報告】