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

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

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

<>
  • 特開-動画像符号化装置、復号装置 図1
  • 特開-動画像符号化装置、復号装置 図2
  • 特開-動画像符号化装置、復号装置 図3
  • 特開-動画像符号化装置、復号装置 図4
  • 特開-動画像符号化装置、復号装置 図5
  • 特開-動画像符号化装置、復号装置 図6
  • 特開-動画像符号化装置、復号装置 図7
  • 特開-動画像符号化装置、復号装置 図8
  • 特開-動画像符号化装置、復号装置 図9
  • 特開-動画像符号化装置、復号装置 図10
  • 特開-動画像符号化装置、復号装置 図11
  • 特開-動画像符号化装置、復号装置 図12
  • 特開-動画像符号化装置、復号装置 図13
  • 特開-動画像符号化装置、復号装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024092440
(43)【公開日】2024-07-08
(54)【発明の名称】動画像符号化装置、復号装置
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240701BHJP
   H04N 19/80 20140101ALI20240701BHJP
   H04N 19/85 20140101ALI20240701BHJP
【FI】
H04N19/70
H04N19/80
H04N19/85
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022208358
(22)【出願日】2022-12-26
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和4年度、国立研究開発法人情報通信研究機構、「Beyond 5G研究開発促進事業(一般型)/日米豪国際連携を通じた超カバレッジBeyond 5G無線通信・映像符号化標準化技術の研究開発」、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100129115
【弁理士】
【氏名又は名称】三木 雅夫
(74)【代理人】
【識別番号】100133569
【弁理士】
【氏名又は名称】野村 進
(74)【代理人】
【識別番号】100131473
【弁理士】
【氏名又は名称】覚田 功二
(72)【発明者】
【氏名】中條 健
(72)【発明者】
【氏名】猪飼 知宏
(72)【発明者】
【氏名】八杉 将伸
(72)【発明者】
【氏名】徳毛 靖昭
(72)【発明者】
【氏名】青野 友子
(72)【発明者】
【氏名】高田 圭一郎
(72)【発明者】
【氏名】范 哲銘
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159RC12
5C159TA68
5C159TB04
5C159TC51
5C159TD12
5C159UA05
5C159UA11
(57)【要約】
【課題】
動画像符号化、復号方式は、伝送レートが低い場合、符号化歪によって、画質が劣化するが、ニューラルネットワークを用いたポストフィルタ処理によって、画質を改善することが可能であるが、予測構造によっては、効率的に補助拡張情報を生成できないという課題がある。
【解決手段】
本発明の一態様に係る動画像復号装置は、符号化データを復号して復号画像を生成する画像復号装置と、前記復号画像にポストフィルタ処理を行うポストフィルタ処理装置と、前記ポストフィルタ処理装置で、ピクチャ単位にポストフィルタ処理を行うか否かを示す補助拡張情報を復号する補助拡張情報復号装置と、前記補助拡張情報において、ピクチャ単位でポストフィルタ処理を継続するかを決定する場合に、復号順序で継続するか、表示出力順序で継続するかを示す情報を復号することを特徴とする。
【選択図】図1
【特許請求の範囲】
【請求項1】
符号化データを復号して復号画像を生成する画像復号装置と、
前記復号画像にポストフィルタ処理を行うポストフィルタ処理装置と、
前記ポストフィルタ処理装置で、ピクチャ単位にポストフィルタ処理を行うか否かを示す補助拡張情報を復号する補助拡張情報復号装置と、
前記補助拡張情報において、ピクチャ単位でポストフィルタ処理を継続するかを決定する場合に、
復号順序で継続するか、表示出力順序で継続するかを示す情報を復号することを特徴とする動画像復号装置。
【請求項2】
前記補助拡張情報復号装置は、
ポストフィルタ処理に適用するニューラルネットワークを特定する情報を復号することを特徴とする請求項1記載の動画像復号装置。
【請求項3】
入力画像を符号化する画像符号化装置と、
ピクチャ単位にポストフィルタ処理を行うか否かを示す補助拡張情報を生成する補助拡張情報生成装置と、
前記補助拡張情報において、ピクチャ単位でポストフィルタ処理を継続するかを決定する場合に、
復号順序で継続するか、表示出力順序で継続するかを示す情報を符号化する補助拡張情報符号化装置を有することを特徴とする動画像符号化装置。
【請求項4】
前記補助拡張情報符号化装置は、
ポストフィルタ処理に適用するニューラルネットワークを特定する情報を補助拡張情報として符号化することを特徴とする請求項3記載の動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【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は、非常に符号化効率の高い動画像符号化、復号方式が開示されている。
【0008】
非特許文献2においては、画像の性質や、表示方法、タイミングなどを符号化データと同時に伝送するための補助拡張情報SEI(Supplemental Enhancement Information)messageが規定されて、ポストフィルタとして利用されるニューラルネットワークフィルタのトポロジーとパラメータをランダムアクセス可能な単位で伝送するSEIが開示されている。また、ポストフィルタ処理を行うかをピクチャ単位で伝送するSEIが開示されている。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】ITU-T Recommendation H.266
【非特許文献2】Text of ISO/IEC 23002-7:202x (2nd Ed.) DAM1 Additional SEI messages, Nov. 2022.
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、非特許文献1で開示されている方法では、非常に符号化効率の高い動画像符号化、復号方式であるが、伝送レートが低い場合、符号化歪によって、画質が劣化するという問題があった。
【0011】
また、非特許文献2で開示されている方法では、ニューラルネットワークを用いたポストフィルタ処理によって、伝送レートが低い場合に、画質を改善することが可能であるが、動画像を効率的に圧縮、符号化し、伝送し、復号する場合、予測構造によっては、ピクチャの表示順序と符号化、復号順序が異なる場合があり、そのような場合、効率的に補助拡張情報を生成できないという課題があった。
【課題を解決するための手段】
【0012】
本発明の一態様に係る動画像復号装置は、符号化データを復号して復号画像を生成する画像復号装置と、前記復号画像にポストフィルタ処理を行うポストフィルタ処理装置と、前記ポストフィルタ処理装置で、ピクチャ単位にポストフィルタ処理を行うか否かを示す補助拡張情報を復号する補助拡張情報復号装置と、前記補助拡張情報において、ピクチャ単位でポストフィルタ処理を継続するかを決定する場合に、復号順序で継続するか、表示出力順序で継続するかを示す情報を復号することを特徴とする。
【0013】
また、前記補助拡張情報復号装置は、ポストフィルタ処理に適用するニューラルネットワークを特定する情報を復号することを特徴とする。
【0014】
本発明の一態様に係る動画像符号化装置は、入力画像を符号化する画像符号化装置と、ピクチャ単位にポストフィルタ処理を行うか否かを示す補助拡張情報を生成する補助拡張情報生成装置と、前記補助拡張情報において、ピクチャ単位でポストフィルタ処理を継続するかを決定する場合に、復号順序で継続するか、表示出力順序で継続するかを示す情報を符号化する補助拡張情報符号化装置を有することを特徴とする。
【0015】
また、前記補助拡張情報符号化装置は、ポストフィルタ処理を適用するニューラルネットワークを特定する情報を補助拡張情報として符号化することを特徴とする。
【発明の効果】
【0016】
このような構成にすることで、予測構造によっては、ピクチャの表示順序と符号化、復号順序が異なる場合に、効率的に補助拡張情報を生成できないという課題を解決できる。
【図面の簡単な説明】
【0017】
図1】本実施形態に係る動画像伝送システムの構成を示す概略図である。
図2】符号化データの階層構造を示す図である。
図3】シーケンス単位での符号化データの階層構造を示す図である。
図4】画像復号装置の構成を示す概略図である。
図5】画像復号装置の概略的動作を説明するフローチャートである。
図6】画像符号化装置の構成を示すブロック図である。
図7】ニューラルネットワークポストフィルタ特性(NNPFC)SEIのシンタクスの概要を示す図である。
図8】本実施形態の補助拡張情報を規定するニューラルネットワークポストフィルタ特性(NNPFC)SEIのシンタックス表の構成例を示す図である。
図9】ニューラルネットワークポストフィルタアクティベーション(NNPFA)SEIのシンタクスを示す図である。
図10】表示出力順序と符号化、復号順序が異なる予測構造の例である。
図11】本実施の形態の補助拡張情報を規定するニューラルネットワークポストフィルタアクティベーション(NNPFA)SEIのシンタクスを示す図である。
図12】SEIメッセージのコンテナであるSEIペイロードのシンタクスを示す図である。
図13】ポストフィルタ処理装置61の処理のフローチャートを示す図である。
図14】NNCの符号化装置・復号装置について示す図である。
【発明を実施するための形態】
【0018】
(第1の実施形態)
以下、図面を参照しながら本発明の実施形態について説明する。
【0019】
図1は、本実施に係る別の動画像伝送システムの構成を示す概略図である。
【0020】
動画像伝送システム1は、画像を符号化した符号化データを伝送し、伝送された符号化データを復号し表示を行うシステムである。動画像伝送システム1は、動画像符号化装置10とネットワーク21と動画像復号装置30と画像表示装置41からなる。
【0021】
動画像符号化装置10は、画像符号化装置(画像符号化部)11、補助拡張情報作成装置(補助拡張情報作成部)71、補助拡張情報符号化装置(補助拡張情報符号化部)81、プレフィルタ処理装置(プレフィルタ処理部)1001から構成される。
【0022】
動画像符号化装置10は、入力動画像T1をプレフィルタ処理装置51でプレフィルタ処理画像T2を作成し、画像符号化装置11で画像の圧縮、符号化を行うとともに、入力動画像T1と画像符号化装置11の局部復号画像T3を解析して、ポストフィルタ処理61に入力するための補助拡張情報を補助拡張情報作成装置71で生成し、補助拡張情報符号化装置81で符号化し、符号化データTeを生成し、ネットワーク21に送出する。
【0023】
動画像復号装置30は、画像復号装置(画像復号部)31、補助拡張情報復号装置(補助拡張情報復号部)91、ポストフィルタ処理装置(ホストフィルタ処理部)61から構成される。
【0024】
動画像復号装置30は、ネットワーク21より受信した符号化データTeを画像復号装置31と補助拡張情報復号装置91で復号し、ポストフィルタ処理装置61で復号画像Td1に対して補助拡張情報を用いて、ポストフィルタ処理を行い、ポストフィルタ復号画像Td2を画像表示装置41に出力する。
【0025】
なお、ポストフィルタ処理装置61は、補助拡張情報に用いてポストフィルタ処理を行わず、復号画像Td1をそのまま出力してもよい。
【0026】
画像表示装置41は、ポストフィルタ処理装置1002から出力されたポストフィルタ画像Td2の全部または一部を表示する。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。ディスプレイの形態としては、据え置き、モバイル、HMD等が挙げられる。また、画像復号装置31が高い処理能力を有する場合には、画質の高い画像を表示し、より低い処理能力しか有しない場合には、高い処理能力、表示能力を必要としない画像を表示する。
【0027】
ネットワーク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を記録した記憶媒体で代替されても良い。
【0028】
具体的な実施の形態の一例としては、プレフィルタ処理では、入力画像を縮小して、補助拡張情報としては、ポストフィルタ処理ではニューラルネットワークに基づく超解像処理によって復号画像を拡大するためのニューラルネットワーク処理のための補助拡張情報を符号化、復号してもよい。
【0029】
具体的な実施の形態の別の一例としては、プレフィルタ処理では、特に処理を行わず、補助拡張情報としては、ポストフィルタ処理ではニューラルネットワークに基づく画像復元処理によって復号画像を入力動画像に復元するためのニューラルネットワーク処理のための補助拡張情報を符号化、復号してもよい。
【0030】
このような構成において、効率的に補助拡張情報を符号化、復号することが可能とする枠組みを提供する。
【0031】
<演算子>
本明細書で用いる演算子を以下に記載する。
【0032】
>>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR、|=はOR代入演算子であり、||は論理和を示す。
【0033】
x ? y : zは、xが真(0以外)の場合にy、xが偽(0)の場合にzをとる3項演算子である。
【0034】
Clip3(a,b,c)は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返し、c>bの場合にはbを返し、その他の場合にはcを返す関数である(ただし、a<=b)。
【0035】
abs(a)はaの絶対値を返す関数である。
【0036】
Int(a)はaの整数値を返す関数である。
【0037】
floor(a)はa以下の最大の整数を返す関数である。
【0038】
ceil(a)はa以上の最小の整数を返す関数である。
【0039】
a/dはdによるaの除算(小数点以下切り捨て)を表す。
【0040】
(符号化データTeの構造)
本実施形態に係る画像符号化装置11および画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化データTeのデータ構造について図2図3を用いて説明する。
【0041】
符号化データTeは、図2で示される複数CVS(Coded Video Sequence)とEoB(End of Bitstream) NAL unitから構成されるビットストリームである。CVSは複数のAU(Access Unit)とEoS(End of Sequence) NAL unitから構成される。CVS先頭のAUはCVSS(Coded Video Sequence Start) AUと呼ぶ。CVSをレイヤ毎に分割した単位をCLVS(Coded Layer Video Sequence)と呼ぶ。AUは、同一出力時刻の一つもしくは複数のレイヤのPU(Picture Unit)からなる。もし、Multilayerの符号化方式を採用しない場合は、AUは、一つのPUからなる。PUは、複数のNALユニットから構成される1つの復号ピクチャの符号化データの単位である。CLVSは、同一レイヤのPUから構成されていて、CLVS先頭のPUは、CLVSS(Coded Layer Video Sequence Start)PUと呼ぶ。CLVSS PUは、ランダムアクセス可能なIRAP(Intra Random Access Pictures)やGDR(Gradual Decoder Refresh Picture)となるPUに限定される。NALユニットは、NAL unit headerとRBSP(Raw Byte Sequence Payload)データから構成されていて、NAL unit headerは、2ビットの0データに続いて、レイヤ値を示す6ビットのnuh_layer_idと、NALユニットタイプを示す5ビットのnuh_unit_typeとTemporal ID値に1プラスされた値の3ビットのnuh_temporal_id_plus1から構成される。
【0042】
図3は、PU単位での符号化データTeにおけるデータの階層構造を示す図である。符号化データTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図3には、シーケンスSEQを規定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニットを示す図が示されている。
【0043】
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図3に示すように、ビデオパラメータセットVPS(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、Adaptation Parameter Set(APS)、ピクチャPICT、及び、補助拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
【0044】
ビデオパラメータセットVPSでは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
【0045】
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
【0046】
ここで、シーケンスパラメータセット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)の整数倍であることが要求される。
【0047】
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
【0048】
ここで、ピクチャパラメータセットPPSには以下のシンタックス要素が含まれる。
・pps_pic_width_in_luma_samples:対象ピクチャの幅を指定するシンタックス要素である。当該シンタックス要素の値は、0ではなく、Max(8, MinCbSizeY)の整数倍であり、且つsps_pic_width_max_in_luma_samples以下の値であることが要求される。
・pps_pic_height_in_luma_samples:対象ピクチャの高さを指定するシンタックス要素である。当該シンタックス要素の値は、0ではなく、Max(8, MinCbSizeY)の整数倍であり、且つsps_pic_height_max_in_luma_samples以下の値であることが要求される。
・pps_conformance_window_flag:コンフォーマンス(クロッピング)ウィンドウオフセットパラメータが続いて通知されるか否かを示すフラグであって、コンフォーマンスウィンドウを表示する場所を示すフラグである。このフラグが1である場合、当該パラメータが通知され、0である場合、コンフォーマンスウインドウオフセットパラメータが存在しないことを示す。
・pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、pps_conf_win_bottom_offset:出力用のピクチャ座標で指定される矩形領域に関して、復号処理で出力されるピクチャの左、右、上、下位置を指定するためのオフセット値である。また、pps_conformance_window_flagの値が0である場合、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、pps_conf_win_bottom_offsetの値は0であるものと推定される。
【0049】
ここで、色差フォーマットの変数ChromaFormatIdcは、sps_chroma_format_idの値であり、変数SubWidthCと、変数SubHightCは、このChromaFormatIdcによって決まる値である。モノクロフォーマットの場合は、SubWidthCとSubHightCは、共に1であり、4:2:0フォーマットの場合は、SubWidthCとSubHightCは、共に2であり、4:2:2フォーマットの場合は、SubWidthCが2でSubHightCが1であり、4:4:4フォーマットの場合は、SubWidthCとSubHightCは、共に1である。
・pps_init_qp_minus26は、PPSで参照されるスライスの量子化パラメータSliceQpYを導出するための情報である。
【0050】
(サブピクチャ)
ピクチャは、さらに矩形のサブピクチャに分割されていてもよい。サブピクチャのサイズはCTUの倍数であってもよい。サブピクチャは縦横に整数個連続するタイルの集合で定義される。つまり、ピクチャは矩形のタイルに分割され、矩形のタイルの集合としてサブピクチャを定義する。サブピクチャの左上タイルのIDと右下タイルのIDを用いてサブピクチャを定義してもよい。
【0051】
図6は、動画像伝送システム1において処理の対象となる画像の概念図であって、時間の経過に伴う、当該画像の解像度の変化を示す図である。ただし、図6においては、画像が符号化されているか否かを区別していない。図6は、動画像伝送システム1の処理過程において、ピクチャパラメータセットPPSを用いて、解像度を適応的に変更しながら画像復号装置31に画像を伝送する例を示している。
【0052】
(符号化ピクチャ)
符号化ピクチャでは、処理対象のピクチャPICTを復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図3に示すように、ピクチャヘッダPH、スライス0~スライスNS-1を含む(NSはピクチャPICTに含まれるスライスの総数)。
【0053】
以下、スライス0~スライスNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データTeに含まれるデータであって、添え字を付している他のデータについても同様である。
【0054】
ピクチャヘッダには、以下のシンタックス要素が含まれる。
【0055】
pic_temporal_mvp_enabled_flagは、当該ピクチャヘッダに関連付けられたスライスのインター予測に時間動きベクトル予測を用いるか否かを規定するフラグである。当該フラグの値が0である場合、当該ピクチャヘッダに関連付けられたスライスのシンタックス要素は、そのスライスの復号において時間動きベクトル予測が用いられないように制限される。当該フラグの値が1である場合、当該ピクチャヘッダに関連付けられたスライスの復号に時間動きベクトル予測が用いられることを示している。また、当該フラグが規定されていない場合、値が0であるものと推定される。
【0056】
(符号化スライス)
符号化スライスでは、処理対象のスライスSを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスは、図3に示すように、スライスヘッダ、および、スライスデータを含んでいる。
【0057】
スライスヘッダには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダに含まれる符号化パラメータの一例である。
【0058】
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単予測(L0予測)、または、イントラ予測を用いるPスライス、(3)符号化の際に単予測(L0予測或いはL1予測)、双予測、または、イントラ予測を用いるBスライスなどが挙げられる。なお、インター予測は、単予測、双予測に限定されず、より多くの参照ピクチャを用いて予測画像を生成してもよい。以下、P、Bスライスと呼ぶ場合には、インター予測を用いることができるブロックを含むスライスを指す。
【0059】
なお、スライスヘッダは、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
【0060】
(符号化スライスデータ)
符号化スライスデータでは、処理対象のスライスデータを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータは、図3の符号化スライスヘッダに示すように、CTUを含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
【0061】
(符号化ツリーユニット)
図3には、処理対象の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自身も最上位の符号化ノードとして規定される。
【0062】
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_vertical_flag、mtt_split_cu_binary_flagは符号化ノード毎に伝送される。
【0063】
輝度と色差で異なるツリーを用いても良い。ツリーの種別をtreeTypeで示す。例えば、輝度(Y, cIdx=0)と色差(Cb/Cr, cIdx=1,2)で共通のツリーを用いる場合、共通単一ツリーをtreeType=SINGLE_TREEで示す。輝度と色差で異なる2つのツリー(DUALツリー)を用いる場合、輝度のツリーをtreeType=DUAL_TREE_LUMA、色差のツリーをtreeType=DUAL_TREE_CHROMAで示す。
【0064】
(符号化ユニット)
図3は、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。具体的には、CUは、CUヘッダCUH、予測パラメータ、変換パラメータ、量子化変換係数等から構成される。CUヘッダでは予測モード等が規定される。
【0065】
予測処理は、CU単位で行われる場合と、CUをさらに分割したサブCU単位で行われる場合がある。CUとサブCUのサイズが等しい場合には、CU中のサブCUは1つである。CUがサブCUのサイズよりも大きい場合、CUはサブCUに分割される。たとえばCUが8x8、サブCUが4x4の場合、CUは水平2分割、垂直2分割からなる、4つのサブCUに分割される。
【0066】
予測の種類(予測モード)は、イントラ予測と、インター予測の2つがある。イントラ予測は、同一ピクチャ内の予測であり、インター予測は、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
【0067】
変換・量子化処理はCU単位で行われるが、量子化変換係数は4x4等のサブブロック単位でエントロピー符号化してもよい。
【0068】
(予測パラメータ)
予測画像は、ブロックに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測とインター予測の予測パラメータがある。
【0069】
以下、インター予測の予測パラメータについて説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0とpredFlagL1、参照ピクチャインデックスrefIdxL0とrefIdxL1、動きベクトルmvL0とmvL1から構成される。predFlagL0、predFlagL1は、参照ピクチャリスト(L0リスト、L1リスト)が用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、フラグが0以外(たとえば1)をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。
【0070】
インター予測パラメータを導出するためのシンタックス要素には、例えば、マージモードで用いるアフィンフラグaffine_flag、マージフラグmerge_flag、マージインデックスmerge_idx、MMVDフラグmmvd_flag、AMVPモードで用いる参照ピクチャを選択するためのインター予測識別子inter_pred_idc、参照ピクチャインデックスrefIdxLX、動きベクトルを導出するための予測ベクトルインデックスmvp_LX_idx、差分ベクトルmvdLX、動きベクトル精度モードamvr_modeがある。
【0071】
(画像復号装置の構成)
本実施形態に係る画像復号装置31(図4)の構成について説明する。
【0072】
画像復号装置31は、エントロピー復号部301、パラメータ復号部(予測画像復号装置)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆変換部311、及び加算部312、予測パラメータ導出部320を含んで構成される。なお、後述の画像符号化装置11に合わせ、画像復号装置31にループフィルタ305が含まれない構成もある。
【0073】
パラメータ復号部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)を復号する。
【0074】
TU復号部3024は、スキップモード以外(skip_mode==0)の場合に、符号化データからQP更新情報と量子化予測誤差を復号する。より具体的には、TU復号部3024は、skip_mode==0の場合に、対象ブロックに量子化予測誤差が含まれているか否かを示すフラグcu_cbpを復号し、cu_cbpが1の場合に量子化予測誤差を復号する。cu_cbpが符号化データに存在しない場合は0と導出する。
【0075】
TU復号部3024は、符号化データから変換基底を示すインデックスmts_idxを復号する。また、TU復号部3024は、符号化データからセカンダリ変換の利用及び変換基底を示すインデックスstIdxを復号する。stIdxは0の場合にセカンダリ変換の非適用を示し、1の場合にセカンダリ変換基底のセット(ペア)のうち一方の変換を示し、2の場合に上記ペアのうち他方の変換を示す。
【0076】
また、TU復号部3024はサブブロック変換フラグcu_sbt_flagを復号してもよい。cu_sbt_flagが1の場合には、CUを複数のサブブロックに分割し、特定の1つのサブブロックのみ残差を復号する。さらにTU復号部3024は、サブブロックの数が4であるか2であるかを示すフラグcu_sbt_quad_flag、分割方向を示すcu_sbt_horizontal_flag、非ゼロの変換係数が含まれるサブブロックを示すcu_sbt_pos_flagを復号してもよい。
【0077】
予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
【0078】
また、以降では処理の単位としてCTU、CUを使用した例を記載するが、この例に限らず、サブCU単位で処理をしてもよい。あるいはCTU、CUをブロック、サブCUをサブブロックと読み替え、ブロックあるいはサブブロック単位の処理としてもよい。
【0079】
エントロピー復号部301は、外部から入力された符号化データTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を復号する。エントロピー符号化には、シンタックス要素の種類や周囲の状況に応じて適応的に選択したコンテキスト(確率モデル)を用いてシンタックス要素を可変長符号化する方式と、あらかじめ定められた表、あるいは計算式を用いてシンタックス要素を可変長符号化する方式がある。前者のCABAC(Context Adaptive Binary Arithmetic Coding)は、コンテキストのCABAC状態(優勢シンボルの種別(0 or 1)と確率を指定する確率状態インデックスpStateIdx)をメモリに格納する。エントロピー復号部301は、セグメント(タイル、CTU行、スライス)の先頭で全てのCABAC状態を初期化する。エントロピー復号部301は、シンタックス要素をバイナリ列(Bin String)に変換し、Bin Stringの各ビットを復号する。コンテキストを用いる場合には、シンタックス要素の各ビットに対してコンテキストインデックスctxIncを導出し、コンテキストを用いてビットを復号し、用いたコンテキストのCABAC状態を更新する。コンテキストを用いないビットは、等確率(EP, bypass)で復号され、ctxInc導出やCABAC状態は省略される。復号されたシンタックス要素には、予測画像を生成するための予測情報および、差分画像を生成するための予測誤差などがある。
【0080】
エントロピー復号部301は、復号した符号をパラメータ復号部302に出力する。復号した符号とは、例えば、予測モードpredMode、merge_flag、merge_idx、inter_pred_idc、refIdxLX、mvp_LX_idx、mvdLX、amvr_mode等である。どの符号を復号するかの制御は、パラメータ復号部302の指示に基づいて行われる。
【0081】
(基本フロー)
図5は、画像復号装置31の概略的動作を説明するフローチャートである。
【0082】
(S1100:パラメータセット情報復号)ヘッダ復号部3020は、符号化データからVPS、SPS、PPSなどのパラメータセット情報を復号する。
【0083】
(S1200:スライス情報復号)ヘッダ復号部3020は、符号化データからスライスヘッダ(スライス情報)を復号する。
【0084】
以下、画像復号装置31は、対象ピクチャに含まれる各CTUについて、S1300からS5000の処理を繰り返すことにより各CTUの復号画像を導出する。
【0085】
(S1300:CTU情報復号)CT情報復号部3021は、符号化データからCTUを復号する。
【0086】
(S1400:CT情報復号)CT情報復号部3021は、符号化データからCTを復号する。
【0087】
(S1500:CU復号)CU復号部3022はS1510、S1520を実施して、符号化データからCUを復号する。
【0088】
(S1510:CU情報復号)CU復号部3022は、符号化データからCU情報、予測情報、TU分割フラグsplit_transform_flag、CU残差フラグcbf_cb、cbf_cr、cbf_luma等を復号する。
【0089】
(S1520:TU情報復号)TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報と量子化予測誤差、変換インデックスmts_idxを復号する。なお、QP更新情報は、量子化パラメータQPの予測値である量子化パラメータ予測値qPpredからの差分値である。
【0090】
(S2000:予測画像生成)予測画像生成部308は、対象CUに含まれる各ブロックについて、予測情報に基づいて予測画像を生成する。
【0091】
(S3000:逆量子化・逆変換)逆量子化・逆変換部311は、対象CUに含まれる各TUについて、逆量子化・逆変換処理を実行する。
【0092】
(S4000:復号画像生成)加算部312は、予測画像生成部308より供給される予測画像と、逆量子化・逆変換部311より供給される予測誤差とを加算することによって、対象CUの復号画像を生成する。
【0093】
(S5000:ループフィルタ)ループフィルタ305は、復号画像にデブロッキングフィルタ、SAO、ALFなどのループフィルタをかけ、復号画像を生成する。
【0094】
非特許文献1では、非常に符号化効率の高い動画像符号化、復号方式であるが、伝送レートが低い場合、符号化歪によって、画質が劣化するという問題があった。
【0095】
また、非特許文献2では、ニューラルネットワークを用いたポストフィルタ処理によって、伝送レートが低い場合に、画質を改善することが可能であるが、動画像を効率的に圧縮、符号化し、伝送し、復号する場合、予測構造によっては、ピクチャの表示順序と符号化、復号順序が異なる場合があり、そのような場合、効率的に補助拡張情報を生成できないという課題があった。
【0096】
本実施の形態では、伝送レートが低い場合でも、画質を改善し、予測構造によらず、効率的に補助拡張情報を符号化、復号することが可能となる。
【0097】
(ニューラルネットワークポストフィルタ特性(NNPFC)SEI
図7は、非特許文献2のニューラルネットワークポストフィルタ特性(NNPFC)SEIメッセージのシンタクスの概略を示している。NNPFC SEIメッセージは、ポストフィルタ処理として適用するニューラルネットワークを指定する。特定のピクチャに対する特定のポストフィルタ処理の適用は、ニューラルネットワークポストフィルタアクティベーションSEIメッセージ(図8)によって示される。
【0098】
このSEIメッセージを適用するには、次の変数の定義が必要である。
・画像復号装置31が復号したピクチャの輝度画素単位の幅と高さ
・輝度画素配列CroppedYPic[idx]及び色差画素配列CroppedCbPic[idx]及びCroppedCrPic[idx]、ポストフィルタ処理の入力として使用される0からnumInputPics-1までの範囲のidxを持つピクチャ
・輝度画素配列の画素ビット深度BitDepthY
・色差画素配列の画素ビット長BitDepthC
・画像復号装置31が復号したピクチャの色差フォーマットChromaFormatIdcで示される色差フォーマットを示す変数SubWidthCとSubHeightC。4:2:0の時は、変数SubWidthCとSubHeightCは、ともに2であり、4:2:2の時は、変数SubWidthCが2で変数SubHeightCが1であり、4:4:4の時は、変数SubWidthCとSubHeightCは、ともに1である。
・nnpfc_auxiliary_inp_idcは、ニューラルネットワークポストフィルタの入力テンソルに補助拡張情報が存在することを示し、もし値が1に等しい場合、0から1までの範囲の実数であるデブロッキングフィルタリング強度制御値StrengthControlValを補助拡張情報として入力する。
【0099】
シンタクス要素nnpfc_idは、ポストフィルタ処理を識別するために使用できる識別番号を示す。
【0100】
NNPFC SEIメッセージが、現在のCLVS内で特定のnnpfc_id値を持つ、復号順で最初のNNPFC SEIメッセージである場合、以下が適用される。
・このSEIメッセージが、基本のポストフィルタ処理であることを示す。
・このSEIメッセージが、現在のCLVSの最後まで、現在の復号されたピクチャと、現在のレイヤのすべての後続の復号されたピクチャに関係する。NNPFC SEIメッセージが、現在のCLVSで、復号順で前のNNPFC SEIメッセージの繰り返しである場合、後続のセマンティクスは、このSEIメッセージが現在のCLVS内で同じ内容を持つ唯一のNNPFC SEIメッセージであるかのように適用される。
【0101】
NNPFC SEIメッセージが、現在のCLVS内で特定のnnpfc_id値を持つ復号順で最初のNNPFC SEIメッセージでない場合、以下が適用される。
・このSEIメッセージは、同じnnpfc_id値を使用して、復号順で以前の基本のポストフィルタに関連する更新であることを示す
・このSEIメッセージは、現在のCLVSの終わりまで、または現在のレイヤ内の特定のnnpfc_id値を持つ次のNNPFC SEIメッセージまで、現在の復号されたピクチャと、現在のレイヤのすべての後続の復号されたピクチャに関係する
nnpfc_mode_idcが0の場合は、このSEIメッセージに、ポストフィルタ処理を指定するISO/IEC 15938-17ビットストリームが含まれているか、同じnnpfc_id値を持つ基本のポスト処理フィルターに関連する更新であることを示す。
【0102】
nnpfc_mode_idcが1の場合は、nnpfc_id値に関連付けられたポストフィルタ処理は、タグURIのnnpfc_tag_uriによって識別される形式のnnpfc_uriによって示されるURIによって識別されるニューラルネットワークであることを示す。
【0103】
nnpfc_reserved_zero_bit_aは、0を示す。
【0104】
nnpfc_tag_uriは、IETF RFC4151で指定されているシンタクスとセマンティクスを持つタグURIが含まれている。基本のポストフィルタ処理として使用されるニューラルネットワークに関する形式と関連情報、または同じnnpfc_id値が指定されたポストフィルタ処理に関連する更新のために使用される。なお、nnpfc_tag_uriは、登録機関を必要とせずに、nnrpf_uriによって指定されたニューラルネットワークデータの形式を一意に識別することを可能とする。nnpfc_tag_uriが「tag:iso.org,2023:15938-17」の場合は、nnpfc_uriによって識別されるニューラルネットワークのデータがISO/IEC 15938-17に準拠していてNNC(Neural Network Coding)で符号化されていることを示す。
【0105】
nnpfc_uriは、IETF Internet Standard 66で指定されているシンタクスとセマンティクスを持つURIが含まれており、ポストフィルタ処理として使用されるニューラル ネットワーク、または同じnnpfc_id値を持つポストフィルタ処理に関連する更新として使用される。
【0106】
nnpfc_formatting_and_purpose_flagが1の場合、フィルタの目的、入力フォーマット、出力フォーマット、および複雑さに関連する構文要素が存在することを示す。nnpfc_formatting_and_purpose_flagが0の場合は、フィルタの目的、入力フォーマット、出力フォーマット、および複雑さに関連するシンタクス要素が存在しないことを示す。
【0107】
このSEIメッセージが、現在のCLVS内で特定のnnpfc_id値を持つ、復号順で最初のNNPFC SEIメッセージである場合、nnpfc_formatting_and_purpose_flagは1に等しいものとする。このSEIメッセージが復号順で最初のNNPFC SEIメッセージでない場合、現在のCLVS内に特定のnnpfc_id値がある場合、nnpfc_formatting_and_purpose_flagの値は0である必要がある。
【0108】
nnpfc_purposeはポストフィルタ処理の目的を示す。nnpfc_purposeの値は、1の場合、画質改善であり、2の場合、4:2:0色差フォーマットから4:2:2または4:4:4への色差のアップサンプリング、または4:2:2色差フォーマットから4:4:4の色差アップサンプリングであり、3の場合は、色差フォーマットを変更せずにトリミングされた復号出力画像の幅または高さを増やす。4の場合は、復号出力画像の幅または高さを増やし、色差フォーマットをアップサンプリングし、5の場合は、ピクチャーレートアップサンプリングを示す。
【0109】
非特許文献2の問題としては、nnpfc_purposeの値が4の場合、シンタクス要素のnnpfc_out_sub_c_flagの値を読むことができるが、必要なシンタクス要素であるnnpfc_pic_width_in_luma_samplesとnnpfc_pic_height_in_luma_samplesの値を読むことができないと点が指摘できる。
【0110】
そこで、本実施の形態においては、シンタクスを変更して、図8のように、「else if( nnpfc_purpose == 3 || nnpfc_purpose == 4 ) {」となっている部分を「if( nnpfc_purpose == 3 || nnpfc_purpose == 4 ) {」と修正して、nnpfc_purposeの値が4の場合、シンタクス要素のnnpfc_out_sub_c_flagのみならず、シンタクス要素であるnnpfc_pic_width_in_luma_samplesとnnpfc_pic_height_in_luma_samplesの値を読むことができるようにする。
【0111】
別の解決策としては、nnpfc_purposeに関しては、「else if」を使わないこととして、上記の修正に加えて、「else if( nnpfc_purpose == 5 ) {」の部分を「if( nnpfc_purpose == 5 ) {」と変更してもよい。
【0112】
nnpfc_inp_format_idcは、ポストフィルタ処理のニューラルネットワークに入力する画素値を変換する方法を示す。nnpfc_inp_format_idcが0の場合、入力値は実数であることを示し、nnpfc_inp_format_idcが1の場合、入力値は符号なし整数であることを示す。
【0113】
nnpfc_inp_sample_idcの値が、0の場合は、関数InpYおよびInpCは次のように導出する。
【0114】
InpY(x)=x÷((1<<BitDepthY)-1)
InpC(x)=x÷((1<<BitDepthC)-1)
nnpfc_inp_sample_idcの値が1の場合は、関数InpYおよびInpCは次のように導出する。
【0115】
shift=BitDepthY-inpTensorBitDepth
if(inpTensorBitDepth>=BitDepthY)
InpY(x)=x<<(inpTensorBitDepth-BitDepthY)
else
InpY(x)=Clip3(0,(1<<inpTensorBitDepth)-1,(x+(1<<(shift-1)))>>shift)
shift=BitDepthC-inpTensorBitDepth
if(inpTensorBitDepth>=BitDepthC)
InpC(x)=x<<(inpTensorBitDepth-BitDepthC)
else
InpC(x)=Clip3(0,(1<<inpTensorBitDepth)-1,(x+(1<<(shift-1)))>>shift)
もし、nnpfc_inp_format_idcが1の場合は、シンタクス要素nnpfc_inp_tensor_bitdepth_minus8を符号化、復号する。nnpfc_inp_tensor_bitdepth_minus8に8を加算した値は、入ポストフィルタ処理のニューラルネットワークに入力する画素値が符号なし整数の場合のビット長inpTensorBitDepthであり、以下のような式で導出される。
【0116】
inpTensorBitDepth = nnpfc_inp_tensor_bitdepth_minus8 + 8
非特許文献2の問題としては、nnpfc_inp_format_idcが1の場合、0から1の間の実数値であるデブロッキングフィルタリング強度制御値StrengthControlValが存在した場合に、StrengthControlValの値を符号なし整数に変換する方法が定義されていないという問題がある。
【0117】
そこで、以下のように変数StrengthControlValを定義し直す。
【0118】
StrengthControlVal=floor(StrengthControlVal*((1 << inpTensorBitDepth)-1))
このような導出を行うことにより、nnpfc_inp_format_idcが1の場合でも、デブロッキングフィルタリング強度制御値を符号なし整数値でのニューラルネットワークによるポストフィルタ処理が実現できる。
【0119】
また、別の解決策としては、画像復号装置31から得られる強度値StrengthControlValInDecoderを得ることにより、以下のような分岐としてもよい。
【0120】
if (nnpfc_inp_format_idc == 0)
StrengthControlVal= StrengthControlValInDecoder
else if (nnpfc_inp_format_idc == 1)
StrengthControlVal
=floor(StrengthControlValInDecoder*((1 << inpTensorBitDepth)-1)
なお、StrengthControlVal(StrengthControlValInDecoder)は画像復号装置31において、以下の値のように、符号化データから得られる量子化パラメータの値を0から1の間の小数点数に正規化して設定してもよい。
【0121】
StrengthControlVal = 対象ピクチャの先頭スライスのSliceQpY ÷ NormQP
さらに0..1となるように明示的にクリップ処理をしてもよい。
【0122】
StrengthControlVal = Clip3(0.0, 1.0, 対象ピクチャの先頭スライスのSliceQpY ÷ NormQP)

なお、SliceQpYは、符号化データから復号されるスライス先頭での量子化パラメータの値であり、負の値の場合は、0にすることとする。NormQPは正規化のための値であり、量子化パラメータの最大値あるいは最大値プラス1である。例えば、非特許文献1の場合には、量子化パラメータの最大値は63であることから、NormQPの値は63あるいは64とする。H.264/AVC、H.265/HEVCの場合は、量子化パラメータの最大値は51であることから、NormQPの値は51あるいは52としてもよい。
【0123】
別の実施の形態としては、最大値を輝度の画素ビット長と仮定して、StrengthControlValInDecoder = SliceQpYとした上で、関数InpYを用いて、
StrengthControlVal = InpY(StrengthControlValInDecoder)
としてもよい。
【0124】
nnpfc_reserved_zero_bit_bは、0とし、nnpfc_payload_byte[i]には、ISO/IEC 15938-17に準拠して、NNCで符号化されているビットストリームのi番目のバイトとする。
【0125】
(ニューラルネットワークポストフィルタアクティベーション(NNPFA)SEI)
図8は、非特許文献2のニューラルネットワークポストフィルタアクティベーション(NNPFA)SEIメッセージのシンタクスを示している。ニューラルネットワークポストフィルタアクティベーションNNPFA SEIメッセージは、一連のピクチャのポストフィルタ処理のために、nnpfa_target_idによって識別される対象ニューラルネットワークポストフィルタ処理の適用をアクティブ化または非アクティブ化する。
【0126】
nnpfa_target_idは、対象とするピクチャのニューラルネットワークポストフィルタ処理を示す。これは、現在のピクチャに対して、nnfpa_target_idと等しいnnpfc_idを持つ1つ以上のNNPFC SEIメッセージを特定する。
【0127】
次の条件の一方または両方が真でない限り、nnpfa_target_idの特定の値を持つNNPFA SEIメッセージは現在のPUに存在してはならない。
・現在のCLVS内に、復号順で現在のPUに先行するPUに存在するnnpfa_target_idの特定の値に等しいnnpfc_idを持つNNPFC SEIメッセージがある。
・現在のPUのnnpfa_target_idの特定の値と等しいnnpfc_idを持つNNPFC SEIメッセージがある。
【0128】
PUにnnpfc_idの特定の値を持つNNPFC SEIメッセージと、nnpfc_idの特定の値に等しいnnpfa_target_idを持つNNPFA SEIメッセージの両方が含まれる場合、NNPFC SEIメッセージは復号順でNNPFA SEIメッセージに先行するものとする。
【0129】
nnpfa_cancel_flagが1の場合は、現在のSEIメッセージと同じnnpfa_target_idを持つ以前のNNPFA SEIメッセージによって設定された対象ニューラルネットワークポストフィルタ処理の継続性がキャンセルされることを示す。つまり、対象とするニューラルネットワークポストフィルタ処理は実行されない。
【0130】
現在のSEIメッセージと同じnnpfa_target_idとnnpfa_cancel_flagが0の場合は、別のNNPFA SEIメッセージによってアクティブ化されない限り、使われない。nnpfa_cancel_flagが0の場合は、nnpfa_persistence_flagが続くことを示す。
【0131】
nnnpfa_persistence_flagは、現在のレイヤの対象ニューラル ネットワークポストフィルタ処理が表示出力順序で継続することを示す。
【0132】
nnpfa_persistence_flagが0の場合は、対象とするニューラルネットワークポストフィルタ処理が、現在のピクチャのみのポストフィルタ処理に適用されることを示す。
【0133】
nnpfa_persistence_flagが1の場合は、次の条件の1つ以上がtrueになるまで、対象となるニューラルネットワークポストフィルタ処理を、現在の画像と現在のレイヤの後続のすべてのピクチャにポストフィルタ処理に適用することを示す。
・現在のレイヤの新しいCLVSが開始
・ビットストリームが終了
・現在のSEIメッセージと同じnnpfa_target_idと1に等しいnnpfa_cancel_flagを持つNNPFA SEIメッセージに関連付けられた現在のレイヤの画像は、表示出力順序で現在の画像の後に出力される。
【0134】
なお、ニューラルネットワークポストフィルタ処理は、現在のSEIメッセージと同じnnpfa_target_idおよびnnpfa_cancel_flagが1の場合、NNPFA SEIメッセージに関連付けられた現在のレイヤの後続のピクチャには適用されない。
【0135】
非特許文献2では、nnpfa_persistence_flagを1とすることで、表示出力順序で後続のピクチャに対して、NNPFA SEIを送ることなく、ポストフィルタ処理を継続することが可能である。しかし、符号化、復号順序が、表示出力順序と異なる場合、例えば、いわゆる階層B構造(階層双方向予測構造、Hierarchical Bi-prediction Structure)のような予測構造を採用している場合、補助拡張情報作成装置71で、NNPFA SEIの補助拡張情報を生成することが困難である。
【0136】
NNPFA SEIの補助拡張情報を生成しようとする時点では、通例、符号化順(=復号順)で、ポストフィルタ処理を行うか、どのニューラルネットワークモデルを用いるかを判断すると考えられるのに対して、表示出力順序で、連続しているかを判断できるように、NNPFA SEIを生成する必要がでてくる。この場合、表示出力順序で同じニューラルネットワークモデルによるポストフィルタ処理が連続しているか否かは、事前にピクチャでポストフィルタ処理を実施するか否か、どのモデルを利用するかがわかっていないと、ピクチャ単位での符号化のタイミングでは判断できない。
【0137】
このような場合は、nnpfa_persistence_flagを0として、ポストフィルタ処理をアクティブ化するピクチャに対して全てNNPFA SEIを送るか(常に伝送する)、表示出力順序が確定するまで、遅延をさせてから補助拡張情報を作成して、補助拡張情報を符号化して、符号化データを出力する必要がある。
【0138】
具体的に、図10で表示出力順序と符号化、復号順序が異なる予測構造の例として、階層B構造の例を示している。表示出力順序8番のPのピクチャは、符号化、復号順序では1番である。一方、表示出力順序7番のBのピクチャは、符号化、復号順序では8番である。画質改善のポストフィルタ処理のような場合、ポストフィルタ処理を適用するか否かは、符号化の直後にピクチャ単位で判断される。しかし、表示出力順序8番のPのピクチャでポストフィルタ処理をアクティベーションした場合、表示出力順序で一つ前の7番のBのピクチャは、符号化、復号順序は8番のため、符号化、復号の処理は実行されておらず、ポストフィルタ処理が継続しているか否かはわからない。
【0139】
そこで、本実施の形態では、NNPA SEIのシンタクスにおいて、図11のように、nnpfa_persistence_flagの値が1の場合に、シンタクス要素decoding_order_flagを符号化、復号する。decoding_order_flagが1の場合、復号順序(符号化順序)でピクチャのポストフィルタ処理が継続することを示す。decoding_order_flagが0の場合は、表示出力順序でピクチャのポストフィルタ処理が継続することを示す。
【0140】
このような構成をすることで、符号化、復号順序と表示出力順序が異なっていた場合、decoding_order_flagを1にして、符号化、復号順序でポストフィルタ処理が継続することを示す補助拡張情報を作成することが可能となる。
【0141】
別の解決策としては、decoding_order_flagでなく、output_order_flagとして、ourput_order_flagが1の場合、表示出力順序で、ピクチャのポストフィルタ処理が継続することを示す。output_order_flagが0の場合は、復号順序(符号化順序)でピクチャのポストフィルタ処理が継続することを示す。
【0142】
また、別の解決策としては、nnpfa_presistence_flagではなく、nnpfa_presistence_idcというシンタクス要素を定義して、descriptorをue(v)として、値が0の場合、対象とするニューラルネットワークポストフィルタ処理が、現在のピクチャのみのポストフィルタ処理に適用されることを示す。nnpfa_presistence_idcの値が1の場合は、表示出力順序でピクチャのポストフィルタ処理が継続することを示し、nnpfa_presistence_idcの値が2の場合は、復号順序(符号化順序)でピクチャのポストフィルタ処理が継続することを示す。
【0143】
また、別の解決策としては、decoding_order_flagや、output_order_flagをNNPFC SEIのなかで記述する方法もある。この場合、NNPFA SEIは変更せずに、図9のシンタクスを用いる。
【0144】
本実施の形態によれば、符号化、復号順序と表示出力順序が異なっていた場合でも、効率的にピクチャ単位でのポストフィルタ処理のアクティブ化を効率的に実現することができる。
【0145】
また、補助拡張情報作成装置71、補助拡張情報符号化装置81及び補助拡張情報復号装置91で汎用ネットワークパラメータを共通に保持してもよい。補助拡張情報作成装置71では、ニューラルネットワークポストフィルタ特性SEIなどの枠組みを用いて、共通に保持している汎用ネットワークを部分的に更新するネットワークパラメータを補助拡張情報として作成する。そして、補助拡張情報符号化装置81で符号化し、補助拡張情報復号装置91で復号してもよい。このような構成にすることで、補助拡張情報の符号量を削減し、入力画像Tに応じた補助拡張情報を作成、符号化、復号できる。
【0146】
また、ネットワークパラメータの伝送フォーマットとして、複数のフォーマットに対応するために、フォーマットを示すパラメータ(識別子)を送付してもよい。また、識別子に続く実際の補助拡張情報については、バイト列で伝送してもよい。
【0147】
補助拡張情報復号装置91で復号したネットワークパラメータの補助拡張情報は、ポストフィルタ処理装置61に入力する。
【0148】
ポストフィルタ処理装置61では、復号した補助拡張情報(ニューラルネットワークポストフィルタ特性SEI、ニューラルネットワークポストフィルタアクティベーションSEI)を用いて、ニューラルネットワークを用いたポスト画像処理を行い、復号動画像Tdを復元する。
【0149】
補助拡張情報符号化装置81では、図7図8図9図11のシンタックス表に基づいて、補助拡張情報を符号化する。補助拡張情報は、補助拡張情報SEIとして符号化され、画像符号化装置11の出力する符号化データTeに多重化されてネットワーク21に出力される。
【0150】
補助拡張情報復号装置91は、符号化データTeから、図7図8図9図11のシンタックス表に基づいて補助拡張情報を復号し、復号結果をポストフィルタ処理装置61と画像認識装置51に送る。補助拡張情報復号装置91は補助拡張情報SEIとして符号化された補助拡張情報を復号する。
【0151】
ポストフィルタ処理装置61は、復号動画像Tdと補助拡張情報を用いて復号動画像Tdにポスト画像処理を行い、ポスト画像処理Toを生成する。
【0152】
また、補助拡張情報作成装置71、補助拡張情報符号化装置81及び補助拡張情報復号装置91で汎用ネットワークパラメータを共通に保持してもよい。補助拡張情報作成装置71では、共通に保持している汎用ネットワークを部分的に更新するネットワークパラメータを補助拡張情報として作成し、補助拡張情報符号化装置81で符号化し、補助拡張情報復号装置91で復号してもよい。このような構成にすることで、補助拡張情報の符号量を削減し、入力画像Tに応じた補助拡張情報を作成、符号化、復号できる。
【0153】
また、ネットワークパラメータの伝送フォーマットとして、複数のフォーマットに対応するために、フォーマットを示すパラメータ(識別子)を送付してもよい。また、識別子に続く実際の補助拡張情報については、バイト列で伝送してもよい。
【0154】
補助拡張情報復号装置91で復号したネットワークパラメータの補助拡張情報は、ポストフィルタ処理装置61に入力する。
【0155】
なお、本実施の形態の一例では、SEIでのシンタックスを示したが、SEIに限定されず、SPS、PPS、APS、スライスヘッダなどのシンタックスを用いてもよい。
【0156】
本実施の形態では、このような構成において、伝送レートが低い場合でも、画質を改善し、予測構造によらず、効率的に補助拡張情報を符号化、復号することが可能な方式を提供する。
【0157】
なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、エントロピー復号部301、パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆変換部311、加算部312、予測パラメータ導出部320、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、パラメータ符号化部111、予測パラメータ導出部120をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0158】
また、上述した実施形態における画像符号化装置11、画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【0159】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0160】
〔応用例〕
上述した動画像符号化装置10及び動画像復号装置30は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
【0161】
(SEIペイロード)
図12は、SEIメッセージのコンテナであるSEIペイロードのシンタクスを示す図である。
【0162】
nal_unit_typeがPREFIX_SEI_NUTの時に呼び出される。PREFIX_SEI_NUTは、スライスデータよりも前に位置するSEIであることを示している。
【0163】
payloadTypeが210の時、ニューラルネットワークポストフィルタ特性SEIが呼び出される。
【0164】
payloadTypeが211の時、ニューラルネットワークポストフィルタアクティベーションSEIが呼び出される。
【0165】
(SEIの復号とポストフィルタ処理)
ヘッダ復号部3020は、SEIメッセージのコンテナであるSEIペイロードを読み込み、ニューラルネットワークポストフィルタ特性SEIメッセージを復号する。例えば、ヘッダ復号部3020は、nnpfc_id、nnpfc_mode_idc、nnpfc_formatting_and_purpose_flag、nnpfc_purpose、nnpfc_reserved_zero_bit_a、nnpfc_uri_tag[i]、nnpfc_uri[i]、nnpfc_reserved_zero_bit_b、nnpfc_payload_byte[i]を復号する。
【0166】
図13は、ポストフィルタ処理装置61の処理のフローチャートを示す図である。ポストフィルタ処理装置61は、上記SEIメッセージのパラメータに従って以下の処理を行う。
【0167】
S6001:SEIから処理量と精度を読み込む。
【0168】
S6002:ポストの処理量が処理可能な複雑度を超える場合には終了する。超えない場合にはS6003へ進む。
【0169】
S6003:ポストフィルタ処理装置61が処理可能な精度を超える場合には終了する。超えない場合にはS6004へ進む。
【0170】
S6004:SEIからネットワークモデルを特定し、ポストフィルタ処理装置61のトポロジーを設定する。
【0171】
S6005:SEIの更新情報からネットワークモデルのパラメータを導出する。
【0172】
S6006:導出されたネットワークモデルのパラメータをポストフィルタ処理装置61に読み込む。
【0173】
S6007:ポストフィルタ処理装置61のフィルタ処理を実行し、外部に出力する。
【0174】
ただし、復号処理における輝度サンプルや色差サンプルの構築にSEIは必ずしも必要とされない。 (ポストフィルタ処理装置61の詳細)
NNフィルタ部は入力画像inputTensorと入力パラメータ(例えば、QP、bSなど)を用いて、ニューラルネットワークモデルによるフィルタ処理を行う。入力画像は、コンポーネントごとの画像であってもよいし、複数コンポーネントをそれぞれチャネルとして持つ画像であってもよい。また、入力パラメータは画像と異なるチャネルに割り当ててもよい。
【0175】
NNフィルタ部は、以下の処理を繰り返し適用してもよい。
【0176】
NNフィルタ部は、inputTensorにカーネルk[m][i][j]を畳み込み演算(conv,convolution)し、biasを加算した出力画像outputTensorを導出する。ここで、nn=0..n-1、xx=0..width-1、yy=0..height-1であり、Σは各々mm、i、jに対する総和を表す。
【0177】
outputTensor[nn][xx][yy]=ΣΣΣ(k[mm][i][j]*inputTensor[mm][xx+i-of][yy+j-of]+bias[nn])
1x1 Convの場合、Σは、各々mm=0..m-1、i=0、j=0の総和を表す。このとき、of=0を設定する。3x3 Convの場合、Σは各々mm=0..m-1、i=0..2、j=0..2の総和を表す。このとき、of=1を設定する。nはoutSamplesのチャネル数、mはinputTensorのチャネル数、widthはinputTensorとoutputTensorの幅、heightはinputTensorとoutputTensorの高さである。ofは、inputTensorとoutputTensorのサイズを同一にするために、inputTensorの周囲に設けるパディング領域のサイズである。以下、NNフィルタ部の出力が画像ではなく値(補正値)の場合には、outputTensorの代わりにcorrNNで出力を表わす。
【0178】
なお、CWH形式のinputTensor、outputTensorではなくCHW形式のinputTensor、outputTensorで記述すると以下の処理と等価である。
【0179】
outputTensor[nn][yy][xx]=ΣΣΣ(k[mm][i][j]*inputTensor[mm][yy+j-of][xx+i-of]+bias[nn])
また、Depth wise Convと呼ばれる以下の式で示す処理を行ってもよい。ここで、nn=0..n-1、xx=0..width-1、yy=0..height-1であり、Σは各々i、jに対する総和を表す。nはoutputTensorとinputTensorのチャネル数、widthはinputTensorとoutputTensorの幅、heightはinputTensorとoutputTensorの高さである。
【0180】
outputTensor[nn][xx][yy]=ΣΣ(k[nn][i][j]*inputTensor[nn][xx+i-of][yy+j-of]+bias[nn])
またActivateと呼ばれる非線形処理、たとえばReLUを用いてもよい。
ReLU(x) = x >= 0 ? x : 0
また以下の式に示すleakyReLUを用いてもよい。
【0181】
leakyReLU(x) = x >= 0 ? x : a * x
ここでaは所定の値、例えば0.1や0.125である。また整数演算を行うために上記の全てのk、bias、aの値を整数として、convの後に右シフトを行ってもよい。
【0182】
ReLUでは0未満の値に対しては常に0、それ以上の値に対しては入力値がそのまま出力される。一方、leakyReLUでは、0未満の値に対して、aで設定された勾配で線形処理が行われる。ReLUでは0未満の値に対する勾配が消失するため、学習が進みにくくなる場合がある。leakyReLUでは0未満の値に対する勾配が残され、上記問題が起こりにくくなる。また、上記leakyReLU(x)のうち、aの値をパラメータ化して用いるPReLUを用いてもよい。
【0183】
(NNC)
Neural Network Coding(NNC)は、ニューラルネットワーク(NN)を効率的に圧縮するための国際標準規格ISO/IEC15938-17である。学習済みのNNの圧縮を行うことで、NNを保存や伝送を行う際の効率化が可能となる。
【0184】
以下にNNCの符号化・復号処理の概要について説明する。
【0185】
図14は、NNCの符号化装置・復号装置について示す図である。
【0186】
NN符号化装置801は、前処理部8011、量子化部8012、エントロピー符号化部8013を有する。NN符号化装置801は、圧縮前のNNモデルOを入力し、量子化部8012にてNNモデルOの量子化を行い、量子化モデルQを求める。NN符号化装置801は、量子化前に、前処理部8011にて枝刈り(プルーニング)やスパース化などのパラメータ削減手法を繰り返し適用してもよい。その後、エントロピー符号化部8013にて、量子化モデルQにエントロピー符号化を適用し、NNモデルの保存、伝送のためのビットストリームSを求める。
【0187】
NN復号装置802は、エントロピー復号部8021、パラメータ復元部8022、後処理部8023を有する。NN復号装置802は、始めに伝送されたビットストリームSを入力し、エントロピー復号部8021にて、Sのエントロピー復号を行い、中間モデルRQを求める。NNモデルの動作環境がRQで使用された量子化表現を用いた推論をサポートしている場合、RQを出力し、推論に使用してもよい。そうでない場合、パラメータ復元部8022にてRQのパラメータを元の表現に復元し、中間モデルRPを求める。使用する疎なテンソル表現がNNモデルの動作環境で処理できる場合、RPを出力し、推論に使用してもよい。そうでない場合、NNモデルOと異なるテンソル、または構造表現を含まない再構成NNモデルRを求め、出力する。
【0188】
NNC規格には、整数、浮動小数点など、特定のNNパラメータの数値表現に対する復号手法が存在する。
【0189】
復号手法NNR_PT_INTは、整数値のパラメータからなるモデルを復号する。復号手法NNR_PT_FLOATは、NNR_PT_INTを拡張し、量子化ステップサイズdeltaを追加する。このdeltaに上記整数値を乗算し、スケーリングされた整数を生成する。deltaは、整数の量子化パラメータqpとdeltaの粒度パラメータqp_densityから、以下のように導き出される。
【0190】
mul = 2^(qp_density) + (qp & (2^(qp_density)-1))
delta = mul * 2^((qp >> qp_density)-qp_density)
(学習済みNNのフォーマット)
学習済みNNの表現は、層のサイズや層間の接続などのトポロジー表現と、重みやバイアスなどのパラメータ表現の2つの要素からなる。
【0191】
トポロジー表現は、TensorflowやPyTorchなどのネイティブフォーマットでカバーされているが、相互運用性向上のため、Open Neural Network Exchange Format(ONNX)、Neural Network Exchange Format(NNEF)などの交換フォーマットが存在する。
【0192】
また、NNC規格では、圧縮されたパラメータテンソルを含むNNCビットストリームの一部として、トポロジー情報nnr_topology_unit_payloadを伝送する。これにより、交換フォーマットだけでなく、ネイティブフォーマットで表現されたトポロジー情報との相互運用を実現する。 (画像符号化装置の構成)
次に、本実施形態に係る画像符号化装置11の構成について説明する。図6は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、パラメータ符号化部111、予測パラメータ導出部120、エントロピー符号化部104を含んで構成される。
【0193】
予測画像生成部101はCU毎に予測画像を生成する。
【0194】
減算部102は、予測画像生成部101から入力されたブロックの予測画像の画素値を、画像Tの画素値から減算して予測誤差を生成する。減算部102は予測誤差を変換・量子化部103に出力する。
【0195】
変換・量子化部103は、減算部102から入力された予測誤差に対し、周波数変換によって変換係数を算出し、量子化によって量子化変換係数を導出する。変換・量子化部103は、量子化変換係数をパラメータ符号化部111及び逆量子化・逆変換部105に出力する。
【0196】
逆量子化・逆変換部105は、画像復号装置31における逆量子化・逆変換部311(図6)と同じであり、説明を省略する。算出した予測誤差は加算部106に出力される。
【0197】
パラメータ符号化部111は、ヘッダ符号化部1110、CT情報符号化部1111、CU符号化部1112(予測モード符号化部)を備えている。CU符号化部1112はさらにTU符号化部1114を備えている。以下、各モジュールの概略動作を説明する。
【0198】
ヘッダ符号化部1110はヘッダ情報、分割情報、予測情報、量子化変換係数等のパラメータの符号化処理を行う。
【0199】
CT情報符号化部1111は、QT、MT(BT、TT)分割情報等を符号化する。
【0200】
CU符号化部1112はCU情報、予測情報、分割情報等を符号化する。
【0201】
TU符号化部1114は、TUに予測誤差が含まれている場合に、QP更新情報と量子化予測誤差を符号化する。
【0202】
CT情報符号化部1111、CU符号化部1112は、インター予測パラメータ、量子化変換係数等のシンタックス要素をパラメータ符号化部111に供給する。
【0203】
エントロピー符号化部104には、パラメータ符号化部111から量子化変換係数と符号化パラメータが入力される。エントロピー符号化部104はこれらをエントロピー符号化して符号化データTeを生成し、出力する。
【0204】
予測パラメータ導出部120は、符号化パラメータ決定部110から入力されたパラメータからインター予測パラメータ及びイントラ予測パラメータを導出する。導出されたインター予測パラメータ及びイントラ予測パラメータは、パラメータ符号化部111に出力される。
【0205】
加算部106は、予測画像生成部101から入力された予測ブロックの画素値と逆量子化・逆変換部105から入力された予測誤差を画素毎に加算して復号画像を生成する。加算部106は生成した復号画像を参照ピクチャメモリ109に記憶する。
【0206】
ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、SAO、ALFを施す。なお、ループフィルタ107は、必ずしも上記3種類のフィルタを含まなくてもよく、例えばデブロッキングフィルタのみの構成であってもよい。
【0207】
予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、対象ピクチャ及びCU毎に予め定めた位置に記憶する。
【0208】
参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を対象ピクチャ及びCU毎に予め定めた位置に記憶する。
【0209】
符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述したQT、BTあるいはTT分割情報、予測パラメータ、あるいはこれらに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータを用いて予測画像を生成する。
【0210】
なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、エントロピー復号部301、パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆変換部311、加算部312、予測パラメータ導出部320、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、パラメータ符号化部111、予測パラメータ導出部120をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0211】
また、上述した実施形態における画像符号化装置11、画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【0212】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。 本実施の形態を図1に基づいて説明すると、動画像符号化装置10は、入力画像を符号化する画像符号化装置11と、ピクチャ単位にポストフィルタ処理を行うか否かを示す補助拡張情報を生成する補助拡張情報生成装置71と、前記補助拡張情報において、ピクチャ単位でポストフィルタ処理を継続するかを決定する場合に、復号順序で継続するか、表示出力順序で継続するかを示す情報を符号化する補助拡張情報符号化装置81を有することを特徴とする。また、補助拡張情報符号化装置81は、ポストフィルタ処理に適用するニューラルネットワークを特定する情報を符号化することを特徴とする。
【0213】
動画像復号装置30は、符号化データから画像を復号する画像復号装置31と、画像復号装置31で復号した画像に対して、復号画像にポストフィルタ処理を行うポストフィルタ処理装置61と、ポストフィルタ処理装置61で、ピクチャ単位にポストフィルタ処理を行うか否かを示す補助拡張情報を復号する補助拡張情報復号装置91と、補助拡張情報において、ピクチャ単位でポストフィルタ処理を継続するかを決定する場合に、復号順序で継続するか、表示出力順序で継続するかを示す情報を復号することを特徴とする。また、補助拡張情報復号装置91は、ポストフィルタ処理に適用するニューラルネットワークを特定する情報を復号することを特徴とする。
【0214】
本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0215】
本発明の実施形態は、画像データが符号化された符号化データを復号する動画像復号装置、および、画像データが符号化された符号化データを生成する動画像符号化装置に好適に適用することができる。また、動画像符号化装置によって生成され、動画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【0216】
1 動画像伝送システム
30 動画像復号装置
31 画像復号装置
301 エントロピー復号部
302 パラメータ復号部
305、107 ループフィルタ
306、109 参照ピクチャメモリ
307、108 予測パラメータメモリ
308、101 予測画像生成部
311、105 逆量子化・逆変換部
312、106 加算部
320 予測パラメータ導出部
10 動画像符号化装置
11 画像符号化装置
102 減算部
103 変換・量子化部
104 エントロピー符号化部
110 符号化パラメータ決定部
111 パラメータ符号化部
120 予測パラメータ導出部
41 画像表示装置
51 プレフィルタ処理装置
61 ポストフィルタ処理装置
71 補助拡張情報作成装置
81 補助拡張情報符号化装置
91 補助拡張情報復号装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14