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

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

▶ シャープ株式会社の特許一覧

<>
  • 特開-動画像符号化装置、復号装置 図1
  • 特開-動画像符号化装置、復号装置 図2
  • 特開-動画像符号化装置、復号装置 図3
  • 特開-動画像符号化装置、復号装置 図4
  • 特開-動画像符号化装置、復号装置 図5
  • 特開-動画像符号化装置、復号装置 図6
  • 特開-動画像符号化装置、復号装置 図7
  • 特開-動画像符号化装置、復号装置 図8
  • 特開-動画像符号化装置、復号装置 図9
  • 特開-動画像符号化装置、復号装置 図10
  • 特開-動画像符号化装置、復号装置 図11
  • 特開-動画像符号化装置、復号装置 図12
  • 特開-動画像符号化装置、復号装置 図13
  • 特開-動画像符号化装置、復号装置 図14
  • 特開-動画像符号化装置、復号装置 図15
  • 特開-動画像符号化装置、復号装置 図16
  • 特開-動画像符号化装置、復号装置 図17
  • 特開-動画像符号化装置、復号装置 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102378
(43)【公開日】2024-07-31
(54)【発明の名称】動画像符号化装置、復号装置
(51)【国際特許分類】
   H04N 19/117 20140101AFI20240724BHJP
   H04N 19/70 20140101ALI20240724BHJP
   H04N 19/136 20140101ALI20240724BHJP
【FI】
H04N19/117
H04N19/70
H04N19/136
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021039720
(22)【出願日】2021-03-11
(71)【出願人】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100160783
【弁理士】
【氏名又は名称】堅田 裕之
(72)【発明者】
【氏名】鈴木 拓矢
(72)【発明者】
【氏名】佐々木 瑛一
(72)【発明者】
【氏名】中條 健
(72)【発明者】
【氏名】猪飼 知宏
(72)【発明者】
【氏名】伊藤 典男
(72)【発明者】
【氏名】渡辺 裕
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LA00
5C159LB05
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159RC12
5C159TA06
5C159TA68
5C159TD03
5C159TD17
5C159UA02
5C159UA05
5C159UA11
5C159UA12
5C159UA14
5C159UA16
(57)【要約】
【課題】あらかじめ定められたモデルパラメータの集合から入力動画像に適したモデルパラメータを選択し、適用する解像度逆変換を行う場合、複数のモデルパラメータに適さない動画像は低品質になる可能性がある。
【解決手段】
解像度変換を行った画像と第1のモデルパラメータを導出するためのフィルタ情報を符
号化した符号化データを復号する画像復号装置を有し、
前記画像復号装置で復号された画像とフィルタ情報を使用し、入力画像信号と同じ解像度に変換する後処理装置を有する。
また、第1のモデルパラメータを導出するためのフィルタ情報を作成する合成情報作成
装置と、解像度変換などで前処理された画像及び前記合成情報作成装置で作成したフィルタ情報を符号化する画像符号化装置を有する。
【選択図】図13
【特許請求の範囲】
【請求項1】
第1のモデルパラメータを導出するためのフィルタ情報を復号するヘッダ復号部と、
復号した上記フィルタ情報からニューラルネットワークのモデルパラメータ(第1のモデルパラメータ)を導出するモデル統合部と、
導出された上記モデルパラメータを用いて、ループフィルタ処理もしくは後処理を行う後処理部を備え、
上記モデル統合部は、複数の重み係数と、ニューラルネットワークのモデルパラメータ(第2のモデルパラメータ)から上記第1のモデルパラメータを導出することを特徴とする画像復号装置。
【請求項2】
上記モデル統合部は、上記重み係数と上記第2のモデルパラメータとの重みづけ平均から、上記第1のモデルパラメータを導出することを特徴とする請求項1に記載の画像復号装置。
【請求項3】
上記ヘッダ復号部は、非ゼロであるか否かを示すフラグを復号し、上記フラグが非ゼロを示す場合には、重み係数の大きさを復号することにより、上記重み係数を復号し、上記フラグがゼロを示す場合には重み係数を0と導出することを特徴とする請求項1に記載の画像復号装置。
【請求項4】
上記ヘッダ復号部は、負値の上記重み係数を復号することを特徴とする請求項1に記載の画像復号装置。
【請求項5】
上記ヘッダ復号部は、上記ニューラルネットワークの入力画像サイズと出力画像サイズの比を示すスケールファクタを復号することを特徴とする請求項1に記載の画像復号装置。
【請求項6】
上記モデル統合部は、上記スケールファクタにより異なる第2のモデルパラメータを用いて、第1のモデルパラメータを導出する請求項5に記載の画像復号装置。
【請求項7】
上記後処理部は、上記スケールファクタが1倍以外を示す場合に、画像のサイズを変更するニューラルネットワーク処理を一部に含むニューラルネットワークを用いて後処理を行うことを特徴とする請求項5に記載の画像復号装置。
【請求項8】
上記ヘッダ復号部は、後処理で用いられる第1のモデルパラメータのうち、重みづけしないパラメータの数を示す情報を復号することを特徴とする請求項1に記載の画像復号装置。
【請求項9】
入力画像信号に対して解像度変換などの処理を行う前処理装置と、
入力画像信号から第1のモデルパラメータを導出するために必要なフィルタ情報を作成
するフィルタ情報作成装置と、
前記前処理装置で処理された画像と、前記フィルタ情報作成装置で作成したフィルタ情報を符号化する画像符号化装置を有することを特徴とする動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、動画像符号化装置、復号装置に関する。
【背景技術】
【0002】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
【0003】
具体的な動画像符号化方式としては、例えば、H.264/AVCやH.265/HEVC(High-Efficiency Video Coding)方式などが挙げられる。
【0004】
このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット(CTU:Coding Tree Unit)、符号化ツリーユニットを分割することで得
られる符号化単位(符号化ユニット(Coding Unit:CU)と呼ばれることもある)、及び
、符号化単位を分割することより得られる変換ユニット(TU:Transform Unit)からなる階層構造により管理され、CU毎に符号化/復号される。
【0005】
また、このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測誤差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)が挙げられる。
【0006】
また、近年の動画像符号化及び復号の技術として非特許文献1が挙げられる。
【0007】
非特許文献1においては、可変の画像解像度の符号化、復号を可能とするRPR(Reference Picture Re-sampling)技術が規定されている。さらに、非特許文献1のAnnex Dには、
画像の性質や、表示方法、タイミングなどを符号化データと同時に伝送するための付加拡張情報SEIが規定されている。
【0008】
非特許文献2においては、複数のモデルパラメータを用いて動画像を超解像する技術が提案されている。対象とするピクチャに適したモデルパラメータを選択、使用することで動画像の品質を向上させている。また、非特許文献2で使用されているモデルパラメータはニューラルネットワークを用いた高解像度化手法に用いられるニューラルネットワークの重みである。非特許文献2では、従来のアップサンプリングフィルタ、一つのニューラルネットワークを用いた処理と比較して、ボケが少なく、元画像に近い画像を出力することが出来る。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】ITU-T Recommendation H.266 (08/20) 2020-08-29
【非特許文献2】T. Hori, Z. Gong, H. Watanabe, T. Ikai, T. Chujoh, E. Sasaki, and N. Ito,"CNN-based Super-Resolution Adapted to Quantization Parameters", International Workshop on Advanced Image Technology, IWAIT 2020, No.42, Jan. 2020.
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、非特許文献1におけるRPRなどを用いて入力画像の少なくとも一部の画
像の解像度を落として符号化・復号し、元の(入力画像と同じ)解像度に戻す場合、ボケが発生しやすいという課題がある。
【0011】
また、非特許文献2に示す方法は、あらかじめ定められたモデルパラメータの集合から動画像に適したモデルパラメータを選択し適用する。そのため、用意した複数のモデルパラメータに適さない動画像を処理しなければならない場合、処理された動画像が低品質になる可能性がある。多様な動画像に対応するために、多くのモデルパラメータを用意する場合、多大な時間と労力がかかる。
【0012】
また、複数のモデルパラメータ(第2のモデルパラメータ)を適切に重み付け及び統合
して新たなモデルパラメータ(第1のモデルパラメータ)を作成、使用することで動画像
の品質を高められる。第1のモデルパラメータを導出するには、導出のための情報を入力
動画像から取得する必要がある。そのため、動画像符号化装置は第1のモデルパラメータ
を導出するための情報を入力動画像から取得し、動画像復号装置に通知する必要がある。
【課題を解決するための手段】
【0013】
本発明の一態様に係る動画像復号装置は、解像度変換を行った画像と第1のモデルパラ
メータを導出するためのフィルタ情報を符号化した符号化データを復号する画像復号化装置と、前記画像復号装置で復号された画像を入力画像と同じ解像度に変換する後処理装置を有することを特徴とする。
【0014】
また、前記後処理装置は、第2のモデルパラメータを有し、第2のモデルパラメータと復号したフィルタ情報を使用して第1のモデルパラメータを作成することを特徴とする。
【発明の効果】
【0015】
このような構成にすることで、入力画像に適したモデルパラメータを動的に作成することが可能となり、多様な動画像に適した画質向上が可能となる。そのため、あらかじめ定められたモデルパラメータを用いるよりも高品質な動画像を伝送することができる。
【図面の簡単な説明】
【0016】
図1】本実施形態に係る動画像伝送システムの構成を示す概略図である。
図2】本実施形態に係る動画像符号化装置を搭載した送信装置、および、動画像復号装置を搭載した受信装置の構成について示した図である。PROD_Aは動画像符号化装置を搭載した送信装置を示しており、PROD_Bは動画像復号装置を搭載した受信装置を示している。
図3】本実施形態に係る動画像符号化装置を搭載した記録装置、および、動画像復号装置を搭載した再生装置の構成について示した図である。PROD_Cは動画像符号化装置を搭載した記録装置を示しており、PROD_Dは動画像復号装置を搭載した再生装置を示している。
図4】符号化データの階層構造を示す図である。
図5】本実施形態に係る動画像伝送システムにおいて処理の対象となる画像の概念図である。
図6】参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。
図7】画像復号装置の構成を示す概略図である。
図8】画像復号装置の概略的動作を説明するフローチャートである。
図9】インター予測パラメータ導出部の構成を示す概略図である。
図10】インター予測画像生成部の構成を示す概略図である。
図11】画像符号化装置の構成を示すブロック図である。
図12】一実施形態の後処理装置の構成例を示す図である。
図13】一実施形態のフィルタ情報を規定するシンタックス表の一例を示す図である。
図14】一実施形態の第1のモデルパラメータの導出処理を示す図である。
図15】一実施形態を応用した、前処理装置において解像度変換処理が行われないパターンを含む場合のフィルタ情報を規定するシンタックス表の一例を示す図である。
図16】一実施形態を応用した、前処理装置において解像度変換処理が行われないパターンを含む場合の第1のモデルパラメータの導出処理を示す図である。
図17】一実施形態で使用されるモデルパラメータの構造を示す図である。
図18】一実施形態で使用されるモデルパラメータの構造を示す図である。
【発明を実施するための形態】
【0017】
(第1の実施形態)
以下、図面を参照しながら本発明の実施形態について説明する。
【0018】
図1は、本実施形態に係る動画像伝送システムの構成を示す概略図である。
【0019】
動画像伝送システム1は、解像度が変換された異なる解像度の画像を符号化した符号化
データを伝送し、伝送された符号化データを復号し画像を元の解像度に逆変換して表示するシステムである。動画像伝送システム1は、動画像符号化装置10とネットワーク21と動
画像復号装置30と画像表示装置41からなる。
【0020】
動画像符号化装置10は、前処理装置(前処理部)51、画像符号化装置(画像符号化部)11、合成情報作成装置(合成情報作成部)71から構成される。
【0021】
動画像復号装置30は、画像復号装置(画像復号部)31、後処理装置(後処理部)61から構成される。
【0022】
前処理装置51は、動画像に含まれる画像Tの解像度を必要に応じて変換し、異なる解像
度の画像を含む可変解像度動画像T2を、画像符号化装置11に供給する。また、前処理装置51は、画像の解像度変換の有無を示すフィルタ情報を画像符号化装置11に供給してもよい。当該情報が解像度変換を示す場合、動画像符号化装置10は、後述するref_pic_resampling_enabled_flagを1に設定する。そして、符号化データTeのシーケンスパラメータセッ
トSPS(Sequence Parameter Set)において符号化する。
【0023】
合成情報作成装置71は、動画像に含まれる画像T1に基づいて、フィルタ情報を作成し、画像符号化装置11に送る。
画像符号化装置11には可変解像度画像T2が入力される。画像符号化装置11は、RPRの枠組
みを用いて、PPS単位で入力画像の画像サイズ情報を符号化し、画像復号装置31に送る。
【0024】
ネットワーク21は、符号化されたフィルタ情報及び符号化データTeを画像復号装置31に伝送する。符号化されたフィルタ情報の一部または全部は、付加拡張情報SEIとして、符
号化データTeに含められてもよい。ネットワーク21は、インターネット(Internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)またはこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に
限らず、地上デジタル放送、衛星放送等の放送波を伝送する一方向の通信網であっても良い。また、ネットワーク21は、DVD(Digital Versatile Disc:登録商標)、BD(Blue-ray
Disc:登録商標)等の符号化データTeを記録した記憶媒体で代替されても良い。
【0025】
画像復号装置31は、ネットワーク21が伝送した符号化データTeのそれぞれを復号し、可
変解像度復号画像を生成して後処理装置61に供給する。
【0026】
後処理装置61は、フィルタ情報が解像度変換を示す場合、符号化データに含まれる画像サイズ情報に基づいて、超解像用のモデルパラメータを用いた超解像処理を行う。そして、解像度変換された画像を逆変換することによって、オリジナルサイズの復号画像を生成する。また、フィルタ情報が解像度変換を示さない場合、画像復元用のモデルパラメータを用いた画像復元処理を行う。画像復元処理を行うことによって、符号化ノイズを低減した復号画像を生成する。
【0027】
画像表示装置41は、後処理装置61から入力された1または複数の復号画像Td2の全部ま
たは一部を表示する。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。ディスプレイの形態としては、据え置き、モバイル、HMD等が挙げられる。また、画像復号装置31が高い処理能力を有
する場合には、画質の高い画像を表示し、より低い処理能力しか有しない場合には、高い処理能力、表示能力を必要としない画像を表示する。
【0028】
図5は、図1に示す動画像伝送システムにおいて処理の対象となる画像の概念図であって、時間の経過に伴う、当該画像の解像度の変化を示す図である。ただし、図5においては、画像が符号化されているか否かを区別していない。図5は、動画像伝送システムの処理過程において、解像度を低下させて画像復号装置31に画像を伝送する例を示している。図5に示すように、通常、画像前処理装置51は、伝送される情報の情報量を少なくするために画像の解像度を低下させる変換を行う。
【0029】
<演算子>
本明細書で用いる演算子を以下に記載する。
【0030】
>>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR
、|=はOR代入演算子であり、||は論理和を示す。
【0031】
x ? y : zは、xが真(0以外)の場合にy、xが偽(0)の場合にzをとる3項演算子であ
る。
【0032】
Clip3(a,b,c)は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返
し、c>bの場合にはbを返し、その他の場合にはcを返す関数である(ただし、a<=b)。
【0033】
abs(a)はaの絶対値を返す関数である。
【0034】
Int(a)はaの整数値を返す関数である。
【0035】
floor(a)はa以下の最大の整数を返す関数である。
【0036】
ceil(a)はa以上の最小の整数を返す関数である。
【0037】
a/dはdによるaの除算(小数点以下切り捨て)を表す。
【0038】
<符号化データTeの構造>
本実施形態に係る画像符号化装置11および画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化データTeのデータ構造について説明する。
【0039】
図4は、符号化データTeにおけるデータの階層構造を示す図である。符号化データTeは
、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図4には
、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピ
クチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライ
スデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニットを示す図が示されている。
【0040】
(符号化ビデオシーケンス)
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために画像復号装
置31が参照するデータの集合が規定されている。シーケンスSEQは、図4に示すように、ビデオパラメータセットVPS(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、Adaptation Parameter Set(APS)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
【0041】
ビデオパラメータセットVPSでは、複数のレイヤから構成されている動画像において、
複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
【0042】
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが
規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを
選択する。
【0043】
ここで、シーケンスパラメータセットSPSには以下のシンタックス要素が含まれる。
・ref_pic_resampling_enabled_flag:対象SPSを参照する単一のシーケンスに含まれる各画像を復号する場合に、解像度を可変とする機能(リサンプリング:resampling)を用いるか否かを規定するフラグである。別の側面から言えば、当該フラグは、予測画像の生成において参照される参照ピクチャのサイズが、単一のシーケンスが示す各画像間において変化することを示すフラグである。当該フラグの値が1である場合、上記リサンプリング
が適用され、0である場合、適用されない。
・pic_width_max_in_luma_samples:単一のシーケンスにおける画像のうち、最大の幅を
有する画像の幅を、輝度ブロック単位で指定するシンタックス要素である。また、当該シンタックス要素の値は、0ではなく、且つMax(8, MinCbSizeY)の整数倍であることが要求
される。ここで、MinCbSizeYは、輝度ブロックの最小サイズによって定まる値である。
・pic_height_max_in_luma_samples:単一のシーケンスにおける画像のうち、最大の高さを有する画像の高さを、輝度ブロック単位で指定するシンタックス要素である。また、当該シンタックス要素の値は、0ではなく、且つMax(8, MinCbSizeY)の整数倍であることが
要求される。
・sps_temporal_mvp_enabled_flag:対象シーケンスを復号する場合において、時間動き
ベクトル予測を用いるか否かを規定するフラグである。当該フラグの値が1であれば時間
動きベクトル予測が用いられ、値が0であれば時間動きベクトル予測は用いられない。ま
た、当該フラグを規定することにより、異なる解像度の参照ピクチャを参照する場合等に、参照する座標位置がずれてしまうことを防ぐことができる。
【0044】
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために
画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を
示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その
場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
【0045】
ここで、ピクチャパラメータセットPPSには以下のシンタックス要素が含まれる。
・pic_width_in_luma_samples:対象ピクチャの幅を指定するシンタックス要素である。
当該シンタックス要素の値は、0ではなく、Max(8, MinCbSizeY)の整数倍であり、且つpic_width_max_in_luma_samples以下の値であることが要求される。
・pic_height_in_luma_samples:対象ピクチャの高さを指定するシンタックス要素である。当該シンタックス要素の値は、0ではなく、Max(8, MinCbSizeY)の整数倍であり、且つpic_height_max_in_luma_samples以下の値であることが要求される。
・conformance_window_flag:コンフォーマンス(クロッピング)ウィンドウオフセット
パラメータが続いて通知されるか否かを示すフラグである。コンフォーマンスウィンドウオフセットパラメータはコンフォーマンスウィンドウを表示する場所を示す。このフラグが1である場合、当該パラメータが通知され、0である場合、当該パラメータが存在しないことを示す。
・conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、conf_win_bottom_offset:出力用のピクチャ座標で指定される矩形領域に関して、復号処理で出力されるピクチャの左、右、上、下位置を指定するためのオフセット値である。また、conformance_window_flagの値が0である場合、conf_win_left_offset、conf_win_right_offset、conf_win_top_offset、conf_win_bottom_offsetの値は0であるものと推定される。
・scaling_window_flag:スケーリングウインドウオフセットパラメータが対象PPSに存在するか否かを示すフラグであって、出力される画像サイズの規定に関するフラグである。このフラグが1である場合、当該パラメータがPPSに存在することを示しており、このフラグが0である場合、当該パラメータがPPSに存在しないことを示している。また、ref_pic_resampling_enabled_flagの値が0である場合、scaling_window_flagの値も0であることが要求される。
・scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset、scaling_win_bottom_offset:スケーリング比率計算のために画像サイズに適用されるオフセットを、それぞれ、対象ピクチャの左、右、上、下位置について輝度サンプル単位で指定するシンタックス要素である。また、scaling_window_flagの値が0である場合、scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset、scaling_win_bottom_offsetの値は0であるものと推定される。また、scaling_win_left_offset + scaling_win_right_offsetの値はpic_width_in_luma_samples未満であること、及びscaling_win_top_offset + scaling_win_bottom_offsetの値はpic_height_in_luma_samples未満であることが要求される。
【0046】
出力用ピクチャの幅PicOutputWidthLと高さPicOutputHeightLは以下で導出される。
【0047】
PicOutputWidthL = pic_width_in_luma_samples - (scaling_win_right_offset + scaling_win_left_offset)
PicOutputHeightL = pic_height_in_pic_size_units - (scaling_win_bottom_offset +
scaling_win_top_offset)
(符号化ピクチャ)
符号化ピクチャでは、処理対象のピクチャPICTを復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図4に示すように、ピクチャヘッ
ダPH、スライス0~スライスNS-1を含む(NSはピクチャPICTに含まれるスライスの総数)
【0048】
以下、スライス0~スライスNS-1のそれぞれを区別する必要が無い場合、符号の添え字
を省略して記述することがある。また、以下に説明する符号化データTeに含まれるデータであって、添え字を付している他のデータについても同様である。
【0049】
ピクチャヘッダには、以下のシンタックス要素が含まれる。
・pic_temporal_mvp_enabled_flag:当該ピクチャヘッダに関連付けられたスライスのイ
ンター予測に時間動きベクトル予測を用いるか否かを規定するフラグである。当該フラグの値が0である場合、当該ピクチャヘッダに関連付けられたスライスのシンタックス要素
は、そのスライスの復号において時間動きベクトル予測が用いられないように制限される。当該フラグの値が1である場合、当該ピクチャヘッダに関連付けられたスライスの復号
に時間動きベクトル予測が用いられることを示している。また、当該フラグが規定されていない場合、値が0であるものと推定される。
【0050】
(符号化スライス)
符号化スライスでは、処理対象のスライスSを復号するために画像復号装置31が参照す
るデータの集合が規定されている。スライスは、図4に示すように、スライスヘッダ、お
よび、スライスデータを含んでいる。
【0051】
スライスヘッダには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダに含まれる符号化パラメータの一例である。
【0052】
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単予測(L0予測)、または、イントラ予測を用いるPスライス、(3)符号化の際に単予測(L0予測或いはL1予測)、双予測、または、イントラ予測を用いるBスライスなどが挙げられる。なお、インター予測は、単予測、双予測に限定されず、より多くの参照ピクチャを用いて予測画像を生成してもよい。以下、P、Bスライスと呼ぶ場合には、インター予測を用いることができるブロックを含むスライスを指す。
【0053】
なお、スライスヘッダは、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
【0054】
(符号化スライスデータ)
符号化スライスデータでは、処理対象のスライスデータを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータは、図4の符号化スライス
ヘッダに示すように、CTUを含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
【0055】
(符号化ツリーユニット)
図4には、処理対象のCTUを復号するために画像復号装置31が参照するデータの集合が規定されている。CTUは、再帰的な4分木分割(QT(Quad Tree)分割)、2分木分割(BT(Binary Tree)分割)あるいは3分木分割(TT(Ternary Tree)分割)により、符号化処
理の基本的な単位である符号化ユニットCUに分割される。BT分割とTT分割を合わせてマルチツリー分割(MT(Multi Tree)分割)と呼ぶ。再帰的な4分木分割により得られる木構造のノードのことを符号化ノード(Coding Node)と称する。4分木、2分木、及び3分
木の中間ノードは、符号化ノードであり、CTU自身も最上位の符号化ノードとして規定さ
れる。
【0056】
CTは、CT情報として、CT分割を行うか否かを示すCU分割フラグ(split_cu_flag)、QT分
割を行うか否かを示すQT分割フラグ(qt_split_cu_flag)、MT分割の分割方向を示すMT分割方向(mtt_split_cu_vertical_flag)、MT分割の分割タイプを示すMT分割タイプ(mtt_split_cu_binary_flag)を含む。split_cu_flag、qt_split_cu_flag、mtt_split_cu_vert
ical_flag、mtt_split_cu_binary_flagは符号化ノード毎に伝送される。
【0057】
(符号化ユニット)
図4は、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータ
の集合が規定されている。具体的には、CUは、CUヘッダCUH、予測パラメータ、変換パラ
メータ、量子化変換係数等から構成される。CUヘッダでは予測モード等が規定される。
【0058】
予測処理は、CU単位で行われる場合と、CUをさらに分割したサブCU単位で行われる場合がある。CUとサブCUのサイズが等しい場合には、CU中のサブCUは1つである。CUがサブCUのサイズよりも大きい場合、CUはサブCUに分割される。たとえばCUが8x8、サブCUが4x4の場合、CUは水平2分割、垂直2分割からなる、4つのサブCUに分割される。
【0059】
予測の種類(予測モード)は、イントラ予測と、インター予測の2つがある。イントラ予測は、同一ピクチャ内の予測であり、インター予測は、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
【0060】
変換・量子化処理はCU単位で行われるが、量子化変換係数は4x4等のサブブロック単位
でエントロピー符号化してもよい。
【0061】
(予測パラメータ)
予測画像は、ブロックに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測とインター予測の予測パラメータがある。
【0062】
以下、インター予測の予測パラメータについて説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0とpredFlagL1、参照ピクチャインデックスrefIdxL0とrefIdxL1、動きベクトルmvL0とmvL1から構成される。predFlagL0、predFlagL1は、参照ピクチャリスト(L0リスト、L1リスト)が用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
【0063】
インター予測パラメータを導出するためのシンタックス要素には、例えば、マージモードで用いるアフィンフラグaffine_flag、マージフラグmerge_flag、マージインデックスmerge_idx、MMVDフラグmmvd_flag、AMVPモードで用いる参照ピクチャを選択するためのイ
ンター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルを導出するための予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、動きベクト
ル精度モードamvr_modeがある。
【0064】
(参照ピクチャリスト)
参照ピクチャリストは、参照ピクチャメモリ306に記憶された参照ピクチャからなるリ
ストである。図6は、参照ピクチャおよび参照ピクチャリストの一例を示す概念図である。図6の参照ピクチャの一例を示す概念図において、矩形はピクチャ、矢印はピクチャの参照関係、横軸は時間、矩形中のI、P、Bは各々イントラピクチャ、単予測ピクチャ、双
予測ピクチャ、矩形中の数字は復号順を示す。図に示すように、ピクチャの復号順は、I0、P1、B2、B3、B4であり、表示順は、I0、B3、B2、B4、P1である。図6には、ピクチャB3(対象ピクチャ)の参照ピクチャリストの例を示されている。参照ピクチャリストは、参照ピクチャの候補を表すリストであり、1つのピクチャ(スライス)が1つ以上の参照ピクチャリストを有してもよい。図の例では、対象ピクチャB3は、L0リストRefPicList0お
よびL1リストRefPicList1の2つの参照ピクチャリストを持つ。個々のCUでは、参照ピク
チャリストRefPicListX(X=0または1)中のどのピクチャを実際に参照するかをrefIdxLX
で指定する。図は、refIdxL0=2、refIdxL1=0の例である。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、以降では、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別する。
【0065】
(マージ予測とAMVP予測)
予測パラメータの復号(符号化)方法には、マージ予測(merge)モードとAMVP(Advanced Motion Vector Prediction、適応動きベクトル予測)モードがあり、merge_flagは、これらを識別するためのフラグである。マージ予測モードは、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、動きベクトルmvLXを符号化データに含めずに、既に処理した近傍ブロックの予測パラメータ等から導出するモードである。AMVPモードは、inter_pred_idc、refIdxLX、mvLXを符号化データに含めるモードである。なお、mvLXは、予測ベクトルmvpLXを識別するmvp_LX_idxと差分ベクトルmvdLXとして符号化される。また、マージ予測モードの他に、アフィン予測モード、MMVD予測モードがあってもよい。
【0066】
inter_pred_idcは、参照ピクチャの種類および数を示す値であり、PRED_L0、PRED_L1、PRED_BIの何れかの値をとる。PRED_L0、PRED_L1は、各々L0リスト、L1リストで管理され
た1枚の参照ピクチャを用いる単予測を示す。PRED_BIはL0リストとL1リストで管理され
た2枚の参照ピクチャを用いる双予測を示す。
【0067】
merge_idxは、処理が完了したブロックから導出される予測パラメータ候補(マージ候
補)のうち、いずれの予測パラメータを対象ブロックの予測パラメータとして用いるかを示すインデックスである。
【0068】
(動きベクトル)
mvLXは、異なる2つのピクチャ上のブロック間のシフト量を示す。mvLXに関する予測ベクトル、差分ベクトルを、それぞれmvpLX、mvdLXと呼ぶ。
【0069】
(インター予測識別子inter_pred_idcと予測リスト利用フラグpredFlagLX)
inter_pred_idcと、predFlagL0、predFlagL1の関係は以下のとおりであり、相互に変換可能である。
【0070】
inter_pred_idc = (predFlagL1<<1)+predFlagL0
predFlagL0 = inter_pred_idc & 1
predFlagL1 = inter_pred_idc >> 1
(画像復号装置の構成)
本実施形態に係る画像復号装置31(図7)の構成について説明する。
【0071】
画像復号装置31は、エントロピー復号部301、パラメータ復号部(予測画像復号装置)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像
生成部(予測画像生成装置)308、逆量子化・逆変換部311、及び加算部312、予測パラメ
ータ導出部320を含んで構成される。なお、後述の画像符号化装置11に合わせ、画像復号
装置31にループフィルタ305が含まれない構成もある。
【0072】
パラメータ復号部302は、さらに、ヘッダ復号部3020、CT情報復号部3021、及びCU復号
部3022(予測モード復号部)を備えており、CU復号部3022はさらにTU復号部3024を備えている。これらを総称して復号モジュールと呼んでもよい。ヘッダ復号部3020は、符号化データからVPS、SPS、PPS、APSなどのパラメータセット情報、スライスヘッダ(スライス情報)を復号する。CT情報復号部3021は、符号化データからCTを復号する。CU復号部3022は
符号化データからCUを復号する。TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報(量子化補正値)と量子化予測誤差(residual_coding)を
復号する。
【0073】
TU復号部3024は、スキップモード以外(skip_mode==0)の場合に、符号化データからQP更新情報と量子化予測誤差を復号する。より具体的には、TU復号部3024は、skip_mode==0の場合に、対象ブロックに量子化予測誤差が含まれているか否かを示すフラグcu_cbpを復号し、cu_cbpが1の場合に量子化予測誤差を復号する。cu_cbpが符号化データに存在しない
場合は0と導出する。
【0074】
予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を
含んで構成される。
【0075】
予測パラメータ導出部320は、インター予測パラメータ導出部303及びイントラ予測パラメータ導出部304を含んで構成される。
【0076】
また、以降では処理の単位としてCTU、CUを使用した例を記載するが、この例に限らず
、サブCU単位で処理をしてもよい。あるいはCTU、CUをブロック、サブCUをサブブロック
と読み替え、ブロックあるいはサブブロック単位の処理としてもよい。
【0077】
エントロピー復号部301は、外部から入力された符号化データTeに対してエントロピー
復号を行って、個々の符号(シンタックス要素)を復号する。
【0078】
エントロピー復号部301は、復号した符号をパラメータ復号部302に出力する。復号した符号とは、例えば、予測モードpredMode、merge_flag、merge_idx、inter_pred_idc、refIdxLX、mvp_LX_idx、mvdLX、amvr_mode等である。どの符号を復号するかの制御は、パラ
メータ復号部302の指示に基づいて行われる。
【0079】
(基本フロー)
図8は、画像復号装置31の概略的動作を説明するフローチャートである。
【0080】
(S1100:パラメータセット情報復号)ヘッダ復号部3020は、符号化データからVPS、SPS、PPSなどのパラメータセット情報を復号する。
【0081】
(S1200:スライス情報復号)ヘッダ復号部3020は、符号化データからスライスヘッダ
(スライス情報)を復号する。
【0082】
以下、画像復号装置31は、対象ピクチャに含まれる各CTUについて、S1300からS5000の
処理を繰り返すことにより各CTUの復号画像を導出する。
【0083】
(S1300:CTU情報復号)CT情報復号部3021は、符号化データからCTUを復号する。
【0084】
(S1400:CT情報復号)CT情報復号部3021は、符号化データからCTを復号する。
【0085】
(S1500:CU復号)CU復号部3022はS1510、S1520を実施して、符号化データからCUを復
号する。
【0086】
(S1510:CU情報復号)CU復号部3022は、符号化データからCU情報、予測情報、TU分割
フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を復号する。
【0087】
(S1520:TU情報復号)TU復号部3024は、TUに予測誤差が含まれている場合に、符号化
データからQP更新情報と量子化予測誤差、変換インデックスmts_idxを復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの
差分値である。
【0088】
(S2000:予測画像生成)予測画像生成部308は、対象CUに含まれる各ブロックについて、予測情報に基づいて予測画像を生成する。
【0089】
(S3000:逆量子化・逆変換)逆量子化・逆変換部311は、対象CUに含まれる各TUについて、逆量子化・逆変換処理を実行する。
【0090】
(S4000:復号画像生成)加算部312は、予測画像生成部308より供給される予測画像と
、逆量子化・逆変換部311より供給される予測誤差とを加算することによって、対象CUの
復号画像を生成する。
【0091】
(S5000:ループフィルタ)ループフィルタ305は、復号画像にデブロッキングフィルタ、SAO、ALFなどのループフィルタをかけ、復号画像を生成する。
【0092】
(インター予測パラメータ導出部の構成)
図9には、本実施形態に係るインター予測パラメータ導出部303の構成を示す概略図が示されている。インター予測パラメータ導出部303は、パラメータ復号部302から入力されたシンタックス要素に基づいて、予測パラメータメモリ307に記憶された予測パラメータを
参照してインター予測パラメータを導出する。また、インター予測パラメータをインター予測画像生成部309、予測パラメータメモリ307に出力する。インター予測パラメータ導出部303及びその内部の要素であるAMVP予測パラメータ導出部3032、マージ予測パラメータ
導出部3036、アフィン予測部30372、MMVD予測部30373、GPM部30377、DMVR部30537、MV加
算部3038は、画像符号化装置、画像復号装置で共通する手段であるので、これらを総称して動きベクトル導出部(動きベクトル導出装置)と称してもよい。
【0093】
スケールパラメータ導出部30378は、参照ピクチャの水平方向のスケーリング比RefPicScale[i][j][0]、および、参照ピクチャの垂直方向のスケーリング比RefPicScale[i][j][1]、及び、参照ピクチャがスケーリングされているか否かを示すRefPicIsScaled[i][j]を
導出する。ここで、iは参照ピクチャリストがL0リストかL1リストであるかを示し、jをL0参照ピクチャリストあるいはL1参照ピクタyリストの値として、次のように導出する。
【0094】
RefPicScale[i][j][0] =
((fRefWidth << 14)+(PicOutputWidthL >> 1)) / PicOutputWidthL
RefPicScale[ i ][ j ][ 1 ] =
((fRefHeight << 14)+(PicOutputHeightL >> 1)) / PicOutputHeightL
RefPicIsScaled[i][j] =
(RefPicScale[i][j][0] != (1<<14)) || (RefPicScale[i][j][1] != (1<<14))
ここで、変数PicOutputWidthLは、符号化ピクチャが参照される時に水平方向のスケー
リング比を計算する時の値であり、符号化ピクチャの輝度の水平方向の画素数から左右のオフセット値を引いたものが用いられる。変数PicOutputHeightLは、符号化ピクチャが参照される時に垂直方向のスケーリング比を計算する時の値であり、符号化ピクチャの輝度の垂直方向の画素数から上下のオフセット値を引いたものが用いられる。変数fRefWidth
は、リストiの参照リスト値jの参照ピクチャのPicOutputWidthLの値とし、変数fRefHightは、リストiの参照ピクチャリスト値jの参照ピクチャのPicOutputHeightLの値とする。
【0095】
affine_flagが1、すなわち、アフィン予測モードを示す場合、アフィン予測部30372は
、サブブロック単位のインター予測パラメータを導出する。
【0096】
mmvd_flagが1、すなわち、MMVD予測モードを示す場合、MMVD予測部30373は、マージ予測パラメータ導出部3036で導出されるマージ候補と差分ベクトルからインター予測パラメータを導出する。
【0097】
gpm_flagが1、すなわち、Geometric Partitioning Modeを示す場合、GPM部30377はGPMパラメータを導出する。
【0098】
merge_flagが1、すなわち、マージ予測モードを示す場合、merge_idxを導出し、マー
ジ予測パラメータ導出部3036に出力する。
【0099】
merge_flagが0、すなわち、AMVP予測モードを示す場合、AMVP予測パラメータ導出部3032はinter_pred_idc、refIdxLXかmvp_LX_idxからmvpLXを導出する。
【0100】
(MV加算部)
MV加算部3038では導出されたmvpLXとmvdLXを加算し、mvLXを導出する。
【0101】
(アフィン予測部)
アフィン予測部30372は、1)対象ブロックの2つの制御点CP0、CP1、もしくは3つの
制御点CP0, CP1, CP2の動きベクトルを導出し、2)対象ブロックのアフィン予測パラメ
ータを導出し、3)アフィン予測パラメータから各サブブロックの動きベクトルを導出する。
【0102】
(マージ予測)
マージ予測パラメータ導出部3036は、対象ブロックの空間近傍ブロックあるいは時間近傍ブロックの予測パラメータ(mvLX、refIdxLX等)を用いて、対象ブロックの予測パラメータを導出する。
【0103】
(DMVR)
続いて、DMVR部30375はDMVR(Decoder side Motion Vector Refinement)処理を行う。DMVR部30375は、対象CUに対して、merge_flagが1、又は、スキップフラグskip_flagが1の場合、当該対象CUの動きベクトルmvLXを修正する。具体的には、マージ予測部30374が導
出する予測パラメータが双予測である場合、2つの参照ピクチャと動きベクトルから導出される予測画像を用いてmvLXを修正する。修正後のmvLXはインター予測画像生成部309に
供給される。
【0104】
(AMVP予測)
AMVP予測パラメータ導出部3032は、予測ベクトル候補のうち、mvp_LX_idxが示す動きベクトルmvpListLX[mvp_LX_idx]をmvpLXとして選択し、MV加算部3038に出力する。
【0105】
(MV加算部)
MV加算部3038は、AMVP予測パラメータ導出部3032から入力されたmvpLXと復号したmvdLXを加算してmvLXを算出する。加算部3038は、算出したmvLXをインター予測画像生成部309
および予測パラメータメモリ307に出力する。
【0106】
mvLX[0] = mvpLX[0]+mvdLX[0]
mvLX[1] = mvpLX[1]+mvdLX[1]
ループフィルタ305は、符号化ループ内に設けたフィルタで、ブロック歪やリンギング
歪を除去し、画質を改善するフィルタである。ループフィルタ305は、加算部312が生成し
たCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適
応ループフィルタ(ALF)等のフィルタを施す。
【0107】
ループフィルタ305は、後述する後処理装置61を含んでいてもよい。つまり、後述の後
処理装置61は、符号化データで伝送されるフィルタ情報から、第1のモデルパラメータを
用いてニューラルネットワークにより出力画像を導出してもよい。第1のモデルパラメー
タはモデル統合処理により導出される。
【0108】
参照ピクチャメモリ306は、CUの復号画像を、対象ピクチャ及び対象CU毎に予め定めた
位置に記憶する。
【0109】
予測パラメータメモリ307は、CTUあるいはCU毎に予め定めた位置に予測パラメータを記憶する。具体的には、予測パラメータメモリ307は、パラメータ復号部302が復号したパラメータ及び予測パラメータ導出部320が導出したパラメータ等を記憶する。
【0110】
予測画像生成部308には予測パラメータ導出部320が導出したパラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、predModeが示す予測モードで、パラメータと参照ピクチャ(参照ピク
チャブロック)を用いてブロックもしくはサブブロックの予測画像を生成する。ここで、参照ピクチャブロックとは、参照ピクチャ上の画素の集合(通常矩形であるのでブロックと呼ぶ)であり、予測画像を生成するために参照する領域である。
【0111】
(インター予測画像生成部309)
predModeがインター予測モードを示す場合、インター予測画像生成部309は、インター
予測パラメータ導出部303から入力されたインター予測パラメータと参照ピクチャを用い
てインター予測によりブロックもしくはサブブロックの予測画像を生成する。
【0112】
図10は、本実施形態に係る予測画像生成部308に含まれるインター予測画像生成部309の構成を示す概略図である。インター予測画像生成部309は、動き補償部(予測画像生成装
置)3091、合成部3095を含んで構成される。合成部3095は、IntraInter合成部30951、GPM合成部30952、BDOF部30954、重み予測部3094を含んで構成される。
【0113】
(動き補償)
動き補償部3091(補間画像生成部3091)は、インター予測パラメータ導出部303から入
力された、インター予測パラメータ(predFlagLX、refIdxLX、mvLX)に基づいて、参照ピクチャメモリ306から参照ブロックを読み出すことによって補間画像(動き補償画像)を
生成する。参照ブロックは、refIdxLXで指定された参照ピクチャRefPicLX上で、対象ブロックの位置からmvLXシフトした位置のブロックである。ここで、mvLXが整数精度でない場合には、動き補償フィルタと呼ばれる小数位置の画素を生成するためのフィルタを施して、補間画像を生成する。
【0114】
なお、動き補償部3091は、スケールパラメータ導出部30378で導出された参照ピクチャ
の水平方向のスケーリング比RefPicScale[i][j][0]、および、参照ピクチャの垂直方向のスケーリング比RefPicScale[i][j][1]に応じて、補間画像をスケーリングする機能を有している。
【0115】
合成部3095は、IntraInter合成部30951、GPM合成部30952、重み予測部3094、BDOF部30954を備えている。
【0116】
(IntraInter合成処理)
IntraInter合成部30951は、インター予測画像とイントラ予測画像の重み付け和により
予測画像を生成する。
【0117】
(GPM合成処理)
GPM合成部30952は、上述したGPMを用いた予測画像を生成する。
【0118】
(BDOF予測)
BDOF部30954は、双予測モードにおいて、2つの予測画像(第1の予測画像及び第2の
予測画像)及び勾配補正項を参照して予測画像を生成する。
【0119】
(重み予測)
重み予測部3094は、補間画像PredLXから重み予測を行いブロックの予測画像pbSamples
を生成する。
【0120】
イントラ予測画像生成部310は、predModeがイントラ予測モードを示す場合、イントラ
予測パラメータ導出部304から入力されたイントラ予測パラメータと参照ピクチャメモリ306から読み出した参照画素を用いてイントラ予測を行う。
【0121】
逆量子化・逆変換部311は、パラメータ復号部302から入力された量子化変換係数を逆量子化して変換係数を求める。
【0122】
加算部312は、予測画像生成部308から入力されたブロックの予測画像と逆量子化・逆変換部311から入力された予測誤差を画素毎に加算して、ブロックの復号画像を生成する。
加算部312はブロックの復号画像を参照ピクチャメモリ306に記憶し、また、ループフィルタ305に出力する。
【0123】
逆量子化・逆変換部311は、パラメータ復号部302から入力された量子化変換係数を逆量子化して変換係数を求める。
【0124】
加算部312は、予測画像生成部308から入力されたブロックの予測画像と逆量子化・逆変換部311から入力された予測誤差を画素毎に加算して、ブロックの復号画像を生成する。
加算部312はブロックの復号画像を参照ピクチャメモリ306に記憶し、また、ループフィルタ305に出力する。
【0125】
(画像符号化装置の構成)
次に、本実施形態に係る画像符号化装置11の構成について説明する。図11は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、逆量子化・逆変換部105、加算部106、ル
ープフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定
部110、パラメータ符号化部111、予測パラメータ導出部120、エントロピー符号化部104を含んで構成される。
【0126】
予測画像生成部101はCU毎に予測画像を生成する。予測画像生成部101は既に説明したインター予測画像生成部309とイントラ予測画像生成部310を含んでおり、説明を省略する。
【0127】
減算部102は、予測画像生成部101から入力されたブロックの予測画像の画素値を、画像Tの画素値から減算して予測誤差を生成する。減算部102は予測誤差を変換・量子化部103に出力する。
【0128】
変換・量子化部103は、減算部102から入力された予測誤差に対し、周波数変換によって変換係数を算出し、量子化によって量子化変換係数を導出する。変換・量子化部103は、
量子化変換係数をパラメータ符号化部111及び逆量子化・逆変換部105に出力する。
【0129】
逆量子化・逆変換部105は、画像復号装置31における逆量子化・逆変換部311(図7)と
同じであり、説明を省略する。算出した予測誤差は加算部106に出力される。
【0130】
パラメータ符号化部111は、ヘッダ符号化部1110、CT情報符号化部1111、CU符号化部1112(予測モード符号化部)を備えている。CU符号化部1112はさらにTU符号化部1114を備え
ている。以下、各モジュールの概略動作を説明する。
【0131】
ヘッダ符号化部1110はフィルタ情報、ヘッダ情報、分割情報、予測情報、量子化変換係数等のパラメータの符号化処理を行う。
【0132】
CT情報符号化部1111は、QT、MT(BT、TT)分割情報等を符号化する。
【0133】
CU符号化部1112はCU情報、予測情報、分割情報等を符号化する。
【0134】
TU符号化部1114は、TUに予測誤差が含まれている場合に、QP更新情報と量子化予測誤差を符号化する。
【0135】
CT情報符号化部1111、CU符号化部1112は、インター予測パラメータ(predMode、merge_flag、merge_idx、inter_pred_idc、refIdxLX、mvp_LX_idx、mvdLX)、イントラ予測パラメータ(intra_luma_mpm_flag、intra_luma_mpm_idx、intra_luma_mpm_reminder、intra_chroma_pred_mode)、量子化変換係数等のシンタックス要素をパラメータ符号化部111に
供給する。
【0136】
エントロピー符号化部104には、パラメータ符号化部111から量子化変換係数と符号化パラメータ(分割情報、予測パラメータ)が入力される。エントロピー符号化部104はこれ
らをエントロピー符号化して符号化データTeを生成し、出力する。
【0137】
予測パラメータ導出部120は、インター予測パラメータ符号化部112、イントラ予測パラメータ符号化部113を含む手段であり、符号化パラメータ決定部110から入力されたパラメータからイントラ予測パラメータ及びイントラ予測パラメータを導出する。導出されたイントラ予測パラメータ及びイントラ予測パラメータは、パラメータ符号化部111に出力さ
れる。
【0138】
(インター予測パラメータ符号化部の構成)
インター予測パラメータ符号化部112は、パラメータ符号化制御部1121、インター予測
パラメータ導出部303を含んで構成される。インター予測パラメータ導出部303は画像復号装置と共通の構成である。パラメータ符号化制御部1121は、マージインデックス導出部11211とベクトル候補インデックス導出部11212を含む。
【0139】
マージインデックス導出部11211は、マージ候補等を導出し、インター予測パラメータ
導出部303に出力する。ベクトル候補インデックス導出部11212は予測ベクトル候補等を導出し、インター予測パラメータ導出部303とパラメータ符号化部111に出力する。
【0140】
(イントラ予測パラメータ符号化部113の構成)
イントラ予測パラメータ符号化部113は、パラメータ符号化制御部1131とイントラ予測
パラメータ導出部304を備える。イントラ予測パラメータ導出部304は画像復号装置と共通
の構成である。
【0141】
パラメータ符号化制御部1131はIntraPredModeYおよびIntraPredModeCを導出する。さらにmpmCandList[]を参照してintra_luma_mpm_flagを決定する。これらの予測パラメータをイントラ予測パラメータ導出部304とパラメータ符号化部111に出力する。
【0142】
ただし、画像復号装置と異なり、インター予測パラメータ導出部303、イントラ予測パ
ラメータ導出部304への入力は符号化パラメータ決定部110、予測パラメータメモリ108で
あり、パラメータ符号化部111に出力する。
【0143】
加算部106は、予測画像生成部101から入力された予測ブロックの画素値と逆量子化・逆変換部105から入力された予測誤差を画素毎に加算して復号画像を生成する。加算部106は生成した復号画像を参照ピクチャメモリ109に記憶する。
【0144】
ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、SAO、ALFを施す。なお、ループフィルタ107は、必ずしも上記3種類のフィルタを含まな
くてもよく、例えばデブロッキングフィルタのみの構成であってもよい。
【0145】
予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、対象ピクチャ及びCU毎に予め定めた位置に記憶する。
【0146】
参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を対象ピクチャ及びCU毎に予め定めた位置に記憶する。
【0147】
符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセッ
トを選択する。符号化パラメータとは、上述したQT、BTあるいはTT分割情報、予測パラメータ、あるいはこれらに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータを用いて予測画像を生成する。
【0148】
符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化
誤差を示すRDコスト値を算出する。RDコスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化データTeの情報量である。二乗誤差は、減算部102において算出され
た予測誤差の二乗和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセット
を選択する。符号化パラメータ決定部110は決定した符号化パラメータをパラメータ符号
化部111と予測パラメータ導出部120に出力する。
【0149】
なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、エントロピー復号部301、パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆変換部311、加算部312、予測パラメータ導出部320、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、パラメータ符号化部111、予測パラメー
タ導出部120をコンピュータで実現するようにしても良い。その場合、この制御機能を実
現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシ
ステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0150】
また、上述した実施形態における画像符号化装置11、画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【0151】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0152】
(モデル統合)
本実施の形態の一例として、後処理装置61が備えるベースモデルニューラルネットワークのパラメータBaseModel[i](第2のモデルパラメータ)を用いて、新しいニューラルネットワークのパラメータWeightedModel[i](第1のモデルパラメータ)を導出する例を説明する(図12参照)。第1のモデルパラメータを導出する処理を本明細書では「モデル統合」と呼ぶ。
【0153】
第1のモデルパラメータは、第2のモデルパラメータの線形結合(重み付け平均)を用いて導出される。
【0154】
本実施形態では、モデル統合における重み付け平均の重みである重み係数weight_coeff[i]等を、符号化データとして動画像符号化装置10から動画像復号装置30に伝送する。フ
ィルタ情報の符号化データは、SPS、PPS、APS、ピクチャヘッダ、スライスヘッダで伝送
してもよいし、SEIで伝送してもよい。SPS、PPSおよびピクチャヘッダ、スライスヘッダ
は、各々、シーケンスレベル、ピクチャレベル、スライスレベルのパラメータの集合である。APSは複数のピクチャに適用可能なデータを集めたパラメータセットである。SEIは表示や後処理用のパラメータの集合である。
【0155】
なお、本明細書では、重み係数とバイアス、その他ニューラルネットワークのパラメータを区別せずに単にモデルパラメータと呼ぶ。モデルパラメータのパラメータ数をNumberOfParametersであらわす。
【0156】
(シンタックスの例)
図13は、本実施の形態における後処理もしくはループフィルタ処理のための符号化データ(フィルタ情報)のシンタックスの一例を示す図である。
【0157】
フィルタ情報を規定する符号化データには、以下のシンタックス要素が含まれ得る。
・number_of_models:後処理装置61に備わるBaseModel[i]の数を示す。1以上の正の整数
である。例えば、モデルが8つの場合、number_of_modelsの値は8である。number_of_mode
lsの代わりにモデルの数-1をnumber_of_models_minus1で符号化してもよい。
・log2_weight_denom_minus1:重み係数の精度を示す整数である。重み係数weight_coeff[i]は1/(1<<log2_weight_denom_minus_1+1)を単位とする固定小数点の数である。
・weight_flag[i]:重み係数が0以外であるか否かを示すフラグである(i=0..number_of_models-1)。各要素は1または0の1bitで表現され、weight_flag[i]が0の場合、weight_coeff[i]に0を代入する。weight_flag[i]には1の値を持つ要素が少なくとも一つ以上存在しなければならない。
・weight_coeff[i]:第1のモデルパラメータを導出するために用いられる重み係数である(i=0..number_of_models-1)。各要素は整数である。ここでse(v)は、符号化データとして重み係数に負を含む値を符号化するためのバイナリゼーションを用いることを示す。
・offset_coeff:第1のモデルパラメータを導出するために用いられる線形和の定数項(
バイアス)を示す。整数値である。
【0158】
上記ヘッダ復号部は、非ゼロであるか否かを示すフラグを復号する。上記フラグが非ゼロを示す場合には、さらに重み係数の大きさを復号することにより、上記重み係数を復号し、上記フラグがゼロを示す場合には重み係数を0と導出する。これにより、少ない符号量で符号化された重み係数の復号が可能となる。
【0159】
上記ヘッダ復号部は、負値を取りうる上記重み係数を復号してもよい。これにより、後続のモデル統合部で導出される第1のモデルパラメータの導出の自由度を高めることができる効果を奏する。
【0160】
(モデル統合部612)
図14は、図12において前記シンタックスを用いた第1のモデルパラメータWeightedModelを導出する方法の一例を示している。モデル統合部612は、符号化データを復号して得ら
れるモデルjに対するweight_coeff[j]と、モデル統合部612があらかじめ備えるモデルjのモデルパラメータであるBaseModel[j]から、WeightedModelを導出する。
WeightedModel[i] = (Σ(weight_coeff[j] * BaseModel[j][i]) + offset_coeff + (1 <<
log2_weight_denom_minus1)) >> (log2_weight_denom_minus1 + 1)(式Weight-1)
Σはj = 0..number_of_models-1に対する総和である。ここでi=0..NumberOfParameters-1。NumberOfParametersはモデルパラメータのパラメータ数を示す。導出されたWeightedModel[i]は後処理部611に出力される。
【0161】
なお、オフセットoffset_coeffの加算は下式のようになくても構わない。
【0162】
WeightedModel[i] = (Σ(weight_coeff[j] * BaseModel[j][i]) + (1 << log2_weight_denom_minus1)) >> (log2_weight_denom_minus1 + 1)(式Weight-2)
なお、モデル統合部612は、weight_flag[i]が0でない場合の数に応じて処理を切り替えてもよい。つまり、weight_flag[i] == 1となるモデルが番号j==iの1つだけの場合、特
定のBaseModelのモデルパラメータをそのまま用いてもよい。
【0163】
numBaseModel = Σweight_flag[i]
Σはi=0..number_of_models-1の総和である。
if (numBaseModel == 1) {
if (weight_flag[i] == 1)
WeightedModel[i] = BaseModel[i][i]
}
else {
WeightedModel[i] = (Σ(weight_coeff[j] * BaseModel[j][i]) + offset_coeff + (1 << log2_weight_denom_minus1)) >> (log2_weight_denom_minus1 + 1)
}
モデル統合部612は、第1のモデルパラメータの導出において、weight_coeff[j]内に0以外の値を持つ要素が二つ以上存在する場合、第2のモデルパラメータの重み付け和を導出
する。さらに、重み付け和にoffset_coeffを加算し、log2_weight_denom_minus1の値を用いて除算(あるいはシフト演算)してもよい。このようにして、第2のモデルパラメータ
を統合した第1のモデルパラメータが導出される。一方、weight_coeff[i]内に0以外の値
を持つ要素が一つしか存在せず、その他の要素が0の場合、特定の第2のモデルパラメータが第1のモデルパラメータとして用いられる。これにより、少なくとも一つのモデルパラ
メータを使用した場合と比べて、高品質な画像を生成することが出来る。
【0164】
図15図13のシンタックスを拡張した別の一例である。図15で追加されたシンタックスには以下が含まれる。
・scale_factor:画像の拡大率を示す正の整数である。scale_factorは例えば、拡大率1,
2, 4, 8であってもよい。あるいは、scale_factorの代わりに2を底とする対数表現のlog2_scale_factorを伝送してもよい。scale_factor=1<<log2_scale_factor。また、有理数として、1/NK単位での拡大縮小を可能とするために、scale_factor_divNKを伝送してもよい。ここで、scale_factor = scale_factor_divNK / NK。NKは2の指数乗であってもよい。scale_factor = scale_factor_divNK << log2(NK)。NKは例えば2, 4, 8, 16など。
・num_of_const_param:モデルパラメータのうち、重み係数を乗算しないパラメータ数を示す。
【0165】
なお、scale_factorとnum_of_const_paramは符号化データ中に両方含まれてもよいし、どちらか一方のみ含まれてもよい。符号化データ中に含まれない場合、scale_factorとnum_of_const_paramに固定値をセットするか、動画像復号装置側で適当に値を設定してもよい。
【0166】
モデル統合部612は、以下の計算で、第1のモデルパラメータを導出してもよい。
【0167】
WeightedModel[i] = (Σ(weight_coeff[j] * BaseModel[scale_factor][j][i]) + offset_coeff + (1 << log2_weight_denom_minus1)) >> (log2_weight_denom_minus1 + 1) (式Weight-3)
この例では、モデル統合部612に含まれるBaseModelは画像の拡大率毎に異なるモデルパラメータを有してもよい。つまり、scale_factorを用い、scale_factor用のBaseModel[scale_factor]を選択することにより、解像度が異なる画像に対しても、好適なモデルパラ
メータを導出することができる。BaseModel[scale_factor][0]にはデフォルトのモデルパラメータが格納されている。
【0168】
まとめると、ヘッダ復号部3020は、ニューラルネットワークの入力画像サイズと出力画像サイズの間のスケールを示すscale_factorをさらに復号し、モデル統合部612は、スケ
ールにより異なる第2のモデルパラメータを用いて、第1のモデルパラメータを導出してもよい。また、後処理部611は、上記スケールファクタが等倍以外を示す場合に、画像の
サイズを変更するニューラルネットワーク処理(例えばUpsampling層)を一部に含むニューラルネットワークで、後処理を行ってもよい。
【0169】
また、すでに説明した(式Weight-1)もしくは(式Weight-2)を用いて、scale_factorによらずに、第1のモデルパラメータを導出してもよい。この場合、第1のモデルパラメータの導出方法は拡大率を用いず、拡大率ごとに第2のモデルパラメータを用意する必要
がない。従って、第2のモデルパラメータを格納するメモリ量を少なくすることができる
。なお、第1のモデルパラメータを用いて、後続の後処理部611のUpSampling部でscale_factorにあわせた解像度変換を行ってもよい。
【0170】
モデル統合部612は、第1のモデルパラメータの一部のパラメータをBaseModelの重み付
けにより導出し、それ以外のパラメータは重みづけを行わずに、特定のBaseModelのパラ
メータBaseModel[scale_factor][0]を用いてもよい。図16は、第1のモデルパラメータの
備えるNumberOfParameters個のパラメータのうち、一部(num_of_const_param)のパラメータは、ベースモデルのパラメータをそのまま用い、それ以外(NumberOfParameters-num_of_const_param)のパラメータは、重みづけにより導出する例を示す。つまり、モデル
統合部612は、num_of_const_param個のパラメータは重みづけによらず第1のモデルパラメータを導出し、NumberOfParameters-num_of_const_param個のパラメータは重みづけによ
り第1のモデルパラメータを導出する。
【0171】
ここで、重みづけを行うi=0..NumberOfParameters-num_of_const_param-1のパラメータの導出方法は、上記の(式Weight-1)、(式Weight-2)、(式Weight-3)のいずれを用いてもよい。ヘッダ復号部3020は、第1のモデルパラメータのうち、重みづけをせずに導出するパラメータの数を示す情報(たとえばnum_of_const_param)を復号してもよい。
【0172】
BaseModelの前半部分(i=0..NumberOfParameters-num_of_const_param-1)は重みづけ
を行い、後半部分(i=NumberOfParameters-num_of_const_param..NumberOfParameters-1
)は重みづけを行わない構成以外にも、前半部分は重みづけを行わず、後半部分は重みづけを行う構成や、中間部分のみだけ重みづけをする構成もある。
【0173】
また、重みづけを行わない場合も、モデル統合部612はBaseModel[i]をWeightedModel[i]に代入し、後処理部611はWeightedModel[i]を用いて後処理をする構成以外に、モデル統合部612は重みづけを行う部分のニューラルネットワークのモデルパラメータのみを導出
する構成であってもよい。この構成では、後処理部611は重みづけを行う部分は導出され
たニューラルネットワークのモデルパラメータを使って後処理を行い、重みづけしない部分は、BaseModel[i]のモデルパラメータをそのまま用いて、後処理部を行う。
【0174】
モデル統合部612は、以下の疑似コードで重みづけをしてもよい。
for (i = 0; i < num_of_const_param; i++) {
tmp_s = 0
for (j = 0; j < number_of_models; j++)
tmp_s += (weight_coeff[j] * BaseModel[scale_factor][j][i])
WeightedModel[i] = (tmp_s + offset_coeff + (1 << log2_weight_denom_minus1))
>> (log2_weight_denom_minus1 + 1)
}
for (i = num_of_const_param; i < NumberOfParameters; i++) {
WeightedModel[i] = BaseModel[scale_factor][0][i]
}
ここでは、前半部分は重みづけを行わず、後半部分は重みづけを行う構成を示している。また、拡大率ごとにBaseModelを用意しない構成でもよい。この場合のモデル統合部612の動作の一例を以下に示す。BaseModel[0]にはデフォルトのモデルパラメータが格納されている。
for (i = num_of_const_param; i < NumberOfParameters; i++) {
tmp_s = 0
for (j = 0; j < number_of_models; j++)
tmp_s += (weight_coeff[j] * BaseModel[j][i])
WeightedModel[i] = (tmp_s + offset_coeff + (1 << log2_weight_denom_minus1))
>> (log2_weight_denom_minus1 + 1)
}
for (i = 0; i < num_of_const_param; i++) {
WeightedModel[i] = BaseModel[0][i]
}
また、図示しないが、後述の後処理部611のUpSampling部に相当する部分は、重みづけ
を行わない構成としてもよい。
for (i = 0; i < num_of_const_param; i++) {
tmp_s = 0
for (j = 0; j < number_of_models; j++)
tmp_s += (weight_coeff[j] * BaseModel[j][i])
WeightedModel[i] = (tmp_s + offset_coeff + (1 << log2_weight_denom_minus1))
>> (log2_weight_denom_minus1 + 1)
}
for (i = num_of_const_param; i < NumberOfParameters; i++) {//upsampling部に相当
WeightedModel[i] = BaseModel[0][i]
}
前記シンタックスを用いることで、拡大率毎にモデルパラメータを導出して好適な画像復元処理を行うことができる。また、図17のような、前半の等倍のニューラルネットワーク処理(1700)と、後半のUpSamplingを組み合わせたニューラルネットワーク(1701)を用いる構成において、様々な拡大率に対して好適なモデルパラメータで画像復元処理を行うことができる。例えば、前半部分1700の等倍部分ではモデル統合により導出されたモデルパラメータを用い、後半のUpSamplingでは拡大率を用いて導出されたモデルパラメータを用いる。これにより、モデル統合部612は拡大率ごとに第2のパラメータBaseModelを保
持することなく、様々な拡大率に対して好適なモデルパラメータを導出することができる。
【0175】
また、モデルパラメータのうち、特定のパラメータにのみ重み付けをすることで、モデルの統合パターンの処理が容易になる。固定のパラメータを用いる部分では処理に必要なBaseModelは1つであるので、統合モデルを生成するために必要なBaseModelのモデルパラメータ数を少なくすることができる。
【0176】
例えば、scale_factorが1の場合、入出力の画像サイズは同じである。それ以外の場合
、(チャネル数)*(幅*scale_factor)*(高さ*scale_factor)のサイズになるよう処理される。また、num_of_const_paramが通知される場合、(式Weight-1)において、BaseModel[i]の特定のモデルパラメータにのみweight_coeff[i]が乗算される。図16の例では、num_of_const_paramの値が小さいほど、重み付けによりモデル統合するパラメータの数が大きく
なることを示し、自由度が大きい。逆に、num_of_const_paramの値が大きいほどモデル統合する際に重みづけで導出するパラメータの量が小さくなる。従って、自由度は小さくなるが、重みづけに必要なベースモデルのモデルパラメータの数も少なくてよい。
【0177】
上述した処理を行うことで、多様な出力画像を生成することができ、第1のモデルパラ
メータの表現能力を高め、また実装を簡略化することができる。
【0178】
(後処理部611)
後処理部611は、モデル統合部612で導出された第1のモデルパラメータWeightedModelを用いたニューラルネットワークでフィルタ処理を行う。ここで、フィルタ処理は、参照画像にかけるループフィルタであってもよいし、出力画像にかけるポストフィルタであってもよい。
【0179】
ループフィルタの構成では、後処理部611はループフィルタ305の一処理として行われ、入力は局所復号画像であり、出力は参照画像として利用される。
【0180】
ポストフィルタの構成では、後処理部611には復号画像Td1とWeightedModelが入力され
、出力Td2は外部(例えば画像表示装置41)に出力される。
【0181】
後処理部611のフィルタは、入力画像のサイズ(幅、高さ)と出力画像のサイズ(幅、
高さ)が等しい、つまり解像度変換を含まない処理であってもよい。あるいは、幅、高さを変更する処理、つまり解像度変換する処理であってもよい。
【0182】
ニューラルネットワークは、(チャネル:C)*(幅:W)*(高さ:H)の画像(テンソル)を
入力し、(チャネル数:C)*(幅:W*scale_factor)*(高さ:H*scale_factor)の画像(テンソル)を出力する処理である。ここでscale_factorは拡大率を示し、1であれば等倍、
1以外であれば解像度変換を行う。ループフィルタの構成では、scale_factor=1を用いることが一般的であるが、これに限定されない。scale_factorは、図15に示すように、符号化データの1シンタックス要素として伝送してもよい。
【0183】
チャネルCは輝度成分と色差成分2つ、あるいは、RGBから構成される3チャネルでも
よいし、輝度成分、色差成分、あるいは、RGBのいずれか1つから構成される1チャネル
でもよい。また、色差成分2つでもよい。また、4:2:0など、輝度と色差のサイズが異な
る場合、輝度成分1つ、Cb4つ、Cr4つを並べてもよい。
【0184】
本明細書のニューラルネットワークは、入力ベクトルとニューラルネットワークのパラメータの要素である重みを積和しバイアスを加算する層(convolution層、Conv)と、導
出した値に対して非線形処理をする層(activation層、Act)から構成される。activation層は、Relu、leakyRelu、PRelu、ELUなどを用いてもよい。Reluはmax(x,0)を返す処理である。leakyReluは、Reluがx<0の場合にa*xの勾配をつける処理である。PRelu、ELUは、leakyReluの勾配パラメータを固定値とせず更新可能なパラメータとして用いる処理である。上記の構成ConvolutionNeuralNetoworl(CNN)に限定されず、Pooling層、FullConnection(FNN)と呼ばれる層や、Squeeze-and-Excitation NetworksやSelfAttention、attentionがあってもよい。また、解像度変換(後続のUpsampling)として、bilinear、bicubic、lanczosの線形処理や、depth2space、PixelShuffle、Deconvolution(transposed convolution)と呼ばれる処理があってもよい。Pooling層は所定の単位ごとに値の平均化や最大化を行う層である。FNNは位置によらず全ての入力を結合する層である。Squeeze-and-Excitation NetworksやSelfAttention、transformerはチャネル間に重みづけを行うattention
である。また、sinc、hamming、hanning、DCT、DST、FFT、DWT(Wavelet)、ハイパスフィ
ルタ、ローパスフィルタ、フィルタバンクなどの線形処理を加えてもよい。また、ResidualNetwork(ResNet)と呼ばれるスキップコネクションを含んでもよいし、複数の入力を
チャネルにスタックする処理を含んでもよい。また、複数の入力に対して値をスタックせずに加算する処理(要素和)があってもよいし、複数入力の積である要素積を行う処理であってもよい。
【0185】
図18は、本実施形態のニューラルネットワークの一例を示す。図18は、解像度を変換しない処理に用いられる。
【0186】
図17は、本実施形態のニューラルネットワークの一例を示す。図17は、解像度を変換する処理に用いられる。ここでは、等倍での処理を行うニューラルネットワーク(特徴抽出構造)1700と、解像度変換を行うニューラルネットワーク1701から構成される。特徴抽出構造1700は、特徴抽出層1702とResidual Block 1703を複数備える。特徴抽出層は上述し
たconvolution層とactivation層からなる。Residual Blockは特徴抽出層、Convolution層、Activation層からなる。解像度変換を行うニューラルネットワーク1701は、Convolution層、Upsampling部1704、特徴抽出層1705かららなる。また、本ネットワークは、ニュー
ラルネットワークの性能を高めるための構造である残差構造(Residual Block)を導入している。残差構造はニューラルネットワークから得られた異なる特徴ベクトルの差分を学習する構造である。図17の超解像ニューラルネットワークの例において、残差構造はResidual Blockや、特徴抽出構造1700で使用されている。UpSamplingフィルタ1704は、特徴抽出構造1700から出力された特徴ベクトルの幅、高さを、出力の幅、高さに変換する。UpSamplingフィルタは、bilinear、bicubic、PixelShuffle、deconvolutionなどでもよい。なお、UpSamplingフィルタはscale_factorにより拡大率を変更してもよい。たとえば、PixelShufflerを使う場合には、scale_factor*scale_factor倍にチャネルを増やしてから、チャネルを1/(scale_factor*scale_factor)して縦横をscale_factor倍する処理を行う。
TransposedConvolutionを使う場合には、
TransposedConvolution (kernel = scale_factor, stride = scale_factor)
でscale_factor倍に拡大できる。
【0187】
また、特徴抽出層1705は、拡大された特徴ベクトルから入力画像と同じチャネル、幅、高さになるような出力画像を生成する。
【0188】
BaseModel[i]及びWeightedModelは上述したポストフィルタ処理、ループフィルタ処理
を行うニューラルネットワークのモデルパラメータであり、BaseModel[i]とWeightedModelの構造は同じである。BaseModel[i]はあらかじめ定められたモデルパラメータであり、WeightedModelはBaseModel[i]に対して重み付けしたモデルパラメータである。
【0189】
上述の通り、本発明のシンタックスから第1のモデルパラメータを導出し、解像度逆変
換する。これにより、モデルパラメータの集合のうち、いずれかのモデルパラメータを選択するよりも、高品質な動画像を生成することが可能である。
【0190】
(解像度逆変換のためのフィルタ情報通知)
本実施形態の後処理装置61は、解像度変換をはじめとする前処理、後処理に利用することができる。ここでは、その例を説明する。
図1は、前処理装置51で生成した動画像を画像符号化装置11で符号化し、画像復号装置31
で復号した動画像を後処理装置61で処理するブロック図である。
【0191】
動画像符号化装置10は、入力画像T1を合成情報作成装置71に入力し、第1のモデルパラ
メータを導出するためのフィルタ情報を作成する。そして、フィルタ情報は画像符号化装置11に送られる。合成情報作成装置71では入力画像T1の画素値の統計情報からフィルタ情報を作成する。画像符号化装置11は、前処理装置51によって入力画像T1を低解像度化した縮小画像T2とフィルタ情報を符号化(符号化画像と称す)する。そして、フィルタ情報と符号化画像を符号化データTeとしてネットワーク21に送る。
【0192】
動画像復号装置30は、符号化画像、フィルタ情報を含む符号化データTeを画像復号装置31によって復号し、後処理装置61へ送る。
【0193】
図12は、後処理装置61の構成を示すブロック図である。後処理装置61は後処理部611と
モデル統合部612から構成され、復号画像Td1とフィルタ情報を入力し、復号画像Td2を出
力する。モデル統合部612は、入力されたフィルタ情報から第1のモデルパラメータを導出し、第1のモデルパラメータを後処理部611へ送る。第1のモデルパラメータは、第2のモデルパラメータに対して、フィルタ情報から得られる重み係数を用いて重み付け和を取り、フィルタ情報の示す値で除算(あるいはシフト演算)することで導出される。後処理部611には復号画像Td1と第1のモデルパラメータが入力され、復号画像Td2を出力する。ここで、後処理部611は、第1のモデルパラメータを用いて、復号画像Td1の解像度を入力画像と
同じ解像度に逆変換することで復号画像Td2を生成し、画像表示装置41に出力する。
【0194】
合成情報作成装置71は、入力画像T1を入力としてフィルタ情報を作成し、画像符号化装置11に送る。ここで、フィルタ情報には入力画像T1に基づいて作成された重み係数、つまり第1のモデルパラメータの導出に必要なデータが含まれる。
【0195】
画像復号装置31(ヘッダ復号部3020)は、ネットワーク21を介して取得した符号化データTeから、図13あるいは図15のシンタックスに基づいてフィルタ情報を復号し、復号結果を後処理装置61に送る。
【0196】
後処理装置61はフィルタ情報を使用して図14あるいは図16に示す処理により第1のモデ
ルパラメータを導出する。そして、画像復号装置31が復号した画像Td1と第1のモデルパラメータを用いてTd1を逆解像度変換することにより復号画像Td2を生成する。
【0197】
〔応用例〕
上述した動画像符号化装置10及び動画像復号装置30は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
【0198】
まず、上述した動画像符号化装置10及び動画像復号装置30を、動画像の送信及び受信に利用できることを、図2を参照して説明する。
【0199】
図2のPROD_Aは、動画像符号化装置10を搭載した送信装置PROD_Aの構成を示したブロッ
ク図である。図に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置10は、この符号化部PROD_A1として利用される。
【0200】
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像
するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていて
もよい。図においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
【0201】
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよい
し、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(
不図示)を介在させるとよい。
【0202】
図2のPROD_Bは、動画像復号装置30を搭載した受信装置PROD_Bの構成を示したブロック
図である。図に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、
受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置30は、この復号部PROD_B3として利用
される。
【0203】
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示す
るディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部
に出力するための出力端子PROD_B6を更に備えていてもよい。図においては、これら全て
を受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
【0204】
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであって
もよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から
取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
【0205】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
【0206】
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
【0207】
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線または有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
【0208】
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
【0209】
次に、上述した動画像符号化装置10及び動画像復号装置30を、動画像の記録及び再生に利用できることを、図3を参照して説明する。
【0210】
図3のPROD_Cは、上述した動画像符号化装置10を搭載した記録装置PROD_Cの構成を示し
たブロック図である。図に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置10は
、この符号化部PROD_C1として利用される。
【0211】
なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc:登
録商標)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたド
ライブ装置(不図示)に装填されるものであってもよい。
【0212】
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像
を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部PROD_C6を更に備えていてもよい。図においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
【0213】
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし
、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
【0214】
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4または受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5または画像
処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3
または受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_C
の一例である。
【0215】
図3PROD_Dは、上述した動画像復号装置30を搭載した再生装置PROD_Dの構成を示したブ
ロックである。図に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置30は、この復号部PROD_D2として利用される。
【0216】
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのよ
うに、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなど
のように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
【0217】
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を
表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図においては、これら全てを
再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
【0218】
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし
、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
【0219】
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動
画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称
され、ディスプレイPROD_D3または送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4または送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型またはタブレット型PC(この場合、ディスプレイPROD_D3または送
信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイP
ROD_D3または送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
【0220】
(ハードウェア的実現およびソフトウェア的実現)
また、上述した動画像復号装置30および動画像符号化装置10の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU
(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
【0221】
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記
プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random
Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の実施形態の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0222】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM(Compact Disc Read-Only Memory)/MOディスク(Magneto-Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc:登録商標)/CD-R(CD Recordable)/ブルーレイディスク(Blu-ray
Disc:登録商標)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)
/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-Only Memory)/EEPROM(Electrically Erasable and Programmable Read-Only Memory:登録商標)
/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
【0223】
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna television/Cable Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、BlueTooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance:登録商標)、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0224】
本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0225】
本発明の実施形態は、画像データが符号化された符号化データを復号する動画像復号装置、および、画像データが符号化された符号化データを生成する動画像符号化装置に好適に適用することができる。また、動画像符号化装置によって生成され、動画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【0226】
1 動画像伝送システム
30 動画像復号装置
31 画像復号装置
301 エントロピー復号部
302 パラメータ復号部
303 インター予測パラメータ導出部
304 イントラ予測パラメータ導出部
305、107 ループフィルタ
306、109 参照ピクチャメモリ
307、108 予測パラメータメモリ
308、101 予測画像生成部
309 インター予測画像生成部
310 イントラ予測画像生成部
311、105 逆量子化・逆変換部
312、106 加算部
320 予測パラメータ導出部
10 動画像符号化装置
11 画像符号化装置
102 減算部
103 変換・量子化部
104 エントロピー符号化部
110 符号化パラメータ決定部
111 パラメータ符号化部
112 インター予測パラメータ符号化部
113 イントラ予測パラメータ符号化部
120 予測パラメータ導出部
71 フィルタ情報作成装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18