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

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

▶ 日本放送協会の特許一覧

特開2025-25460符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム
<>
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図1
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図2
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図3
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図4
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図5
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図6
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図7
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図8
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図9
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図10
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025025460
(43)【公開日】2025-02-21
(54)【発明の名称】符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム
(51)【国際特許分類】
   H04N 19/85 20140101AFI20250214BHJP
【FI】
H04N19/85
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023130238
(22)【出願日】2023-08-09
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】新井 大地
(72)【発明者】
【氏名】岩村 俊輔
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LA00
5C159MA04
5C159MA05
5C159MA23
5C159MC11
5C159ME01
5C159PP04
5C159TA01
5C159TB04
5C159TC03
5C159UA02
5C159UA05
(57)【要約】
【課題】主観画質だけではなく客観画質を向上させることが可能な符号化装置及び符号化プログラムを提供する。
【解決手段】一態様に係る符号化装置100は、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力するプリ処理部110を有する。また、符号化装置100は、プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する映像符号化部120を有する。ここで、第1ニューラルネットワークモデルに対する学習は、映像符号化部で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力するプリ処理部と、
前記プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する映像符号化部と、を有し、
前記第1ニューラルネットワークモデルに対する学習は、前記映像符号化部で用いられる前記ピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる
符号化装置。
【請求項2】
前記ニューラルネットワーク映像符号化部は、第2映像信号に対して、前記第2ニューラルネットワークモデルを用いてイントラ符号化及びインター符号化を行い、ニューラルネットワーク符号化映像信号を出力する
請求項1記載の符号化装置。
【請求項3】
前記第2ニューラルネットワークモデルの学習の際に、第2映像信号に対する前記ニューラルネットワーク映像符号化部の出力であるニューラルネットワーク符号化映像信号と、前記第2映像信号に対する前記映像符号化部の出力である符号化映像信号とに対する誤差判定を行い、前記第2ニューラルネットワークモデルのパラメータを最適化する第1誤差判定部を、更に有する
請求項1記載の符号化装置。
【請求項4】
前記第1ニューラルネットワークモデルの学習の際に、前記プリ処理後の映像信号に対する前記ニューラルネットワーク映像符号化部の出力であるニューラルネットワーク符号化映像信号と、前記プリ処理部に入力される第3映像信号とに対する誤差判定を行い、前記第1ニューラルネットワークモデルのパラメータを最適化する第2誤差判定部を、更に有する
請求項1記載の符号化装置。
【請求項5】
前記プリ処理部は、前記映像符号化部と同一の前記ピクチャ参照構造を利用して、前記第1映像信号に対して前記プリ処理を行う
請求項1記載の符号化装置。
【請求項6】
符号化装置のコンピュータに実行させる符号化プログラムであって、
第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力する処理と、
前記プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する処理と、を前記コンピュータに実行させ、
前記第1ニューラルネットワークモデルに対する学習は、前記符号化映像信号を出力する処理で用いられる前記ピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる
符号化プログラム。
【請求項7】
プリ処理装置であって、
第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置へ出力するプリ処理部、を有し、
前記符号化装置では、前記プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理が行われ、
前記第1ニューラルネットワークモデルに対する学習は、前記符号化装置で用いられる前記ピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる
プリ処理装置。
【請求項8】
プリ処理装置のコンピュータで実行されるプリ処理プログラムであって、
第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置へ出力する処理、をコンピュータに実行させ、
前記符号化装置では、前記プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理が行われ、
前記第1ニューラルネットワークモデルに対する学習は、前記符号化装置で用いられる前記ピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる
プリ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラムに関する。
【背景技術】
【0002】
近年、ニューラルネットワークを用いた符号化方法が注目されつつある。
【0003】
例えば、現画像と過去画像との動きベクトルを検出する動き検出処理と、動きベクトルから予測画像を生成する動き補償処理と、原画像と予測画像との差分画像を変換(例えば、DCT変換など)する変換処理などを、CNN(Convolutional Neural Network)を用いて行う符号化手法がある(例えば、非特許文献1)。このような符号化手法をエンドツーエンド(end-to-end)で最適化させることで、HEVC(High Efficiency Video Coding)などの従来型の符号化方式と同程度の符号化効率を得ることができる。
【0004】
また、ニューラルネットワークを用いた符号化手法と合わせて、符号化前に、プリ処理(preprocessing)を行う符号化手法もある(例えば、非特許文献2及び非特許文献3)。プリ処理を用いた符号化手法に関し、MS-SSIM(Multi-Scale Structural Similarity)又はVMAF(Video Multimethod Assessment Fusion)による主観画質指標を用いると、H.264などの従来型の符号化方式と比較して、符号化効率が向上することが報告されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】G. Lu, W. Ouyang, D. Xu, X. Zhang, C. Cai and Z. Gao, "DVC: An End-To-End Deep Video Compression Framework," 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019 April 7, pp. 10998-11007.
【非特許文献2】A. Chadha and Y. Andreopoulos, "Deep Perceptual Preprocessing for Video Coding," 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 14847-14856.
【非特許文献3】A. Chadha, R. Anam, I. Fadeev, V. Giotsas, and Y. Andreopoulos, “Escaping The Complexity-Bitrate-Quality Barriers Of Video Encoders Via Deep Perceptual Optimization,” SPIE2020, Optical Engineering + Applications.
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示は、主観画質だけではなく客観画質を向上させることが可能な符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の態様に係る符号化装置は、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力するプリ処理部を有する。また、符号化装置は、プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する映像符号化部を有する。ここで、第1ニューラルネットワークモデルに対する学習は、映像符号化部で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。
【0008】
第2の態様に係る符号化プログラムは、符号化装置のコンピュータに実行させる符号化プログラムである。前記符号化プログラムは、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力する処理をコンピュータに実行させる。また、前記符号化プログラムは、プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する処理をコンピュータに実行させる。ここで、第1ニューラルネットワークモデルに対する学習は、符号化映像信号を出力する処理で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。
【0009】
第3の態様に係るプリ処理装置は、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置へ出力するプリ処理部を有する。符号化装置では、プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理が行われる。そして、第1ニューラルネットワークモデルに対する学習は、符号化装置で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。
【0010】
第4の態様に係るプリ処理プログラムは、プリ処理装置のコンピュータで実行されるプリ処理プログラムである。前記プリ処理プログラムは、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置へ出力する処理、をコンピュータに実行させる。符号化装置では、プリ処理後の映像信号に対してピクチャ参照構造を利用して符号化処理が行われる。第1ニューラルネットワークモデルに対する学習は、符号化装置で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用して学習された第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。
【発明の効果】
【0011】
本開示によれば、主観画質だけではなく客観画質を向上させることが可能な符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラムを提供できる。
【図面の簡単な説明】
【0012】
図1図1は、第1実施形態に係る推論時における符号化装置の構成例を表す図である。
図2図2は、第1実施形態に係る学習時における符号化装置の構成例を表す図である。
図3図3は、第1実施形態に係る映像符号化部の構成例を表す図である。
図4図4は、第1実施形態に係るピクチャ参照構造の例を表す図である。
図5図5は、第1実施形態に係るニューラルネットワーク映像符号化部の構成例を表す図である。
図6図6は、第1実施形態に係る学習時の符号化装置の構成例を表す図である。
図7図7は、第1実施形態に係る学習時の動作例を表す図である。
図8図8は、第1実施形態に係る推論時の動作例を表す図である。
図9図9は、第1実施形態に係る実験結果の例を表す図である。
図10図10は、第2実施形態に係る推論時の符号化システムの構成例を表す図である。
図11図11は、第2実施形態に係る学習時の符号化システムの構成例を表す図である。
【発明を実施するための形態】
【0013】
[第1実施形態]
【0014】
(ニューラルネットワークを用いた符号化手法)
上述したように、ニューラルネットワークを用いた符号化手法が提案されている。ここで、非特許文献1による符号化手法と、非特許文献2による符号化手法とについて説明する。
【0015】
(非特許文献1による符号化手法)
非特許文献1では、ニューラルネットワークを用いた符号化手法を、DVC(Deep Video Compression)と呼んでいる。DVCでは、以下の手順により符号化処理が行われる。
【0016】
ステップN1(動き検出):現フレームと、復号後の過去フレームとを入力とし、CNN(オプティカルフローネットワーク)を用いて、オプティカルフロー値(すなわち、動き情報)を得る。そして、動き情報に対して、CNN(MVエンコーダネットワーク及びMVデコーダネットワーク)などを用いて、圧縮及び復号し、量子化された動き情報を得る。
【0017】
ステップN2(動き補償):量子化された動き情報と過去フレームとを入力として、CNN(動き補償ネットワーク)を用いて、予測フレームを得る。
【0018】
ステップN3-N4(変換、量子化、及び逆変換):現フレームと予測フレームとの残差フレームを、CNN(残差エンコーダネットワーク)を利用して出力を得て、当該出力を量子化することで、量子化値を得る。当該量子化値から、CNN(残差デコーダネットワーク)を利用して、再構成された残差フレームを得る。
【0019】
ステップN5(エントロピーコーディング):ステップN1で得た量子化された動き情報と、ステップN3-N4で得た量子化値とを入力として、CNN(ビットレート推定ネットワーク)を利用して、符号化ビットを得る。
【0020】
ステップN6(フレーム再構成):ステップN3-N4で得た再構成後の残差フレームに、ステップN2で得た予測フレームを加算することで、再構成されたフレーム(復号後のフレーム)を得る。
【0021】
以上が、DVCによる符号化手順である。DVCでは、学習時において、現フレームと、ステップN6で得た復号後のフレームとの間の歪みDと、エンコードに使用されるビット数(ステップN6の入力)Rとを利用して、損失関数(λD+R)が用いられる。DVCでは、損失関数(λD+R)を用いて、ビット数Rを最小化するとともに歪みDを最小化するパラメータを求める(又は最適化問題を解く)ことで、エンドツーエンドで最適なニューラルネットワークによる符号化モデルを構築することが可能となる。
【0022】
(非特許文献2による符号化手法)
また、上述したように、符号化が行われる前にプリ処理を行う符号化手法(例えば、非特許文献2)も提案されている。非特許文献2では、プリ処理のことを、DPP(Deep Perceptual Preprocessing)と呼んでいる。DPPを用いた符号化手法では、学習時において、符号化の主要コンポーネントを仮想化して、DPPを学習させ、損失関数を用いて、DPPを最適化させる。そして、推論時において、最適化されたDPPを用いて、入力画像に対してプリ処理を行い、プリ処理後の画像に対して、既存のコーデックを用いた符号化処理を行わせる。
【0023】
DPPを用いた符号化手法では、任意のコーデックで任意のビットレートで符号化処理が行われた場合でも、損失関数により、知覚と歪みとのバランスを取るように最適化されたDPPを得ることができる。そのため、DPPを用いた符号化手法で符号化された画像を復号しても、DPPが行われない場合と比較して、視覚的品質を向上させることができる。すなわち、DPPを用いた符号化手法では、DPPを用いない符号化手法と比較して、符号化効率(同一データ量であっても画質が良いなど)を向上させることができる。
【0024】
以上が、ニューラルネットワークを用いた符号化手法の例である。
【0025】
画質評価については、主観画質と客観画質の2つの評価手法がある。
【0026】
主観画質とは、例えば、画像を見た人間の感覚に基づいて決定した評価による画質である。そのため、主観画質は、人間の感覚と合致した評価を得ることができる一方で、評価手法によってはバラつきが生じる場合もある。上述したニューラルネットワークを用いた符号化手法は、SSIM又はVMAFのような主観画質指標を用いて主観画質を向上させることを目的としている。
【0027】
一方、客観画質とは、例えば、符号化による画質劣化を信号解析により定量的に評価した画質でのことである。客観画質評価指標として、信号と雑音との比率を表すSNR(Signal-to-Noise Ratio:信号対雑音比)、最大電力に対する雑音の比率を表すPSNR(Peak Signal-to-Noise Ratio:ピーク信号対雑音比)などがある。HEVC(High Efficiency Video Codec)又はVVC(Versatile Video Coding)などの映像符号化規格では、主に、PSNR(Peak signal-to-noise ratio:ピーク信号対雑音比)を最大化させることを目的としている。
【0028】
一般に、主観画質と客観画質とではその評価が一致しない場合もある。例えば、画像Aと、画像Aに対して全体的に右側に1画素ずれている画像Bとを比較する場合を仮定する。この場合、主観画質は、全体的には1画素ずつずれているだけであり、画像Aに対する画像Bの評価は大きく異なるものにはならない。一方、客観画質の場合、同一画素位置における2つの画像の画素値の差分が大きくなることから、例えばPSNRは非常に小さい値となる。
【0029】
このように、ニューラルネットワークを用いた符号化手法は、主観画質を向上させることができるものの、主観画質と客観画質とが一致しない場合もあることから、必ずしも、客観画質を向上させることができない場合もある。
【0030】
そこで、第1実施形態では、主観画質だけではなく客観画質を向上させることを目的としている。
【0031】
以下、図面を参照して第1実施形態について説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【0032】
(1.推論時における符号化装置の構成例)
次に、符号化装置の構成例について説明する。
【0033】
図1は、第1実施形態に係る符号化装置の構成例を表す図である。
【0034】
図1に示すように、符号化装置100は、プリ処理部110と、映像符号化部120とを有する。ここで、図1に示す符号化装置100は、推論時における符号化装置100の構成例を表している。
【0035】
すなわち、プリ処理部110は、既に学習済のニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を含み、当該学習済モデルを用いて、プリ処理が行われる。プリ処理は、例えば、入力映像の解像度をアップスケーリングする処理でもよいし、入力映像の解像度をダウンスケーリングする処理でもよい。或いは、プリ処理は、解像度を変更しない処理であってもよい。プリ処理は、非特許文献2などに記載された従来のプリ処理と比較して、主観画質と客観画質の双方を向上させるようにした処理が行われるのであればどのような処理が行われてもよい。ただし、プリ処理部110は、映像符号化部120で用いられるピクチャ参照構造と同一のピクチャ参照構造を用いて、プリ処理を行う。第1実施形態では、例えば、図4に示すようにMPEG2のピクチャ参照構造(イントラピリオドが15でフレームの連続数は2のGOP(Group Of Picture)構造)を用いるものとして説明する。すなわち、プリ処理部110は、GOPサイズである16枚の映像フレーム毎に映像信号(例えば第1映像信号)を入力して、当該映像信号に対して、学習済のニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を用いてプリ処理を行い、プリ処理後の映像信号を出力する。
【0036】
映像符号化部120は、プリ処理後の映像信号に対して、例えば図4に示すピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する。映像符号化部120における符号化手法は、HEVC又はVVCなど、映像符号化規格の任意手法が用いられてもよいが、第1実施形態ではMPEG2が用いられるものとして説明する。映像符号化部120は、推論時において、学習時に用いた映像符号化規格を用いて符号化処理を行う。また、映像符号化部120は、推論時において、学習時に用いたピクチャ参照構造と同一のピクチャ参照構造を用いて、符号化処理を行う。
【0037】
第1実施形態では、最初に、ニューラルネットワーク映像符号化部を学習させて、次に、学習済のニューラルネットワーク映像符号化部を用いてプリ処理部110に対する学習が行われる。ここで、映像符号化部120を用いてプリ処理部110に対する学習を行わせることも考えられる。しかし、第1実施形態では、映像符号化部120を用いてプリ処理部110に対する学習を行わせないで、学習済のニューラルネットワーク映像符号化部を用いてプリ処理部110に対する学習を行わせるようにしている。その理由は、例えば、以下である。
【0038】
すなわち、映像符号化部120では、変換処理(ここではDCT変換処理)後の信号に対して量子化処理が行われるが、量子化後の信号に対する丸め処理により信号成分の一部が削除される場合がある。このような丸め処理は微分不可能であるため、ニューラルネットワークの学習手法である誤差逆伝播法が利用できない。一方、ニューラルネットワーク映像符号化部では、このような丸め処理を行うことなく、丸め処理をランダムノイズの付加で代替することで、ニューラルネットワークを用いて量子化処理などが再現される。そのため、映像符号化部120を用いるよりも、ニューラルネットワーク映像符号化部を用いた方が、プリ処理部110に対する学習結果が良好になることが想定される。
【0039】
以下では、学習時の符号化装置100の構成例として、(2.1)ニューラルネットワーク映像符号化部に対する学習が行われる際の符号化装置100の構成例について説明する。次に、(2.2)学習済のニューラルネットワーク映像符号化部を用いてプリ処理部110に対する学習が行われる際の符号化装置100の構成例について説明する。
【0040】
なお、以下では、「ニューラルネットワークモデル」と「ニューラルネットワーク」とを区別しないで用いる場合がある。例えば、「ニューラルネットワークモデルを用いてプリ処理を行う」ことと、「ニューラルネットワークを用いてプリ処理を行う」こととは区別しないで用いる場合がある。
【0041】
また、プリ処理部110はニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を有しており、当該ニューラルネットワークモデルに対する学習又は推論が行われることになるが、「プリ処理部に含まれるニューラルネットワークモデルに対する学習及び推論」と、「プリ処理部110に対する学習及び推論」とを区別しないで用いる場合がある。
【0042】
更に、ニューラルネットワーク映像符号化部130もニューラルネットワークモデル(例えば第2ニューラルネットワークモデル)を有し、当該ニューラルネットワークモデルに対する学習又は推論が行われることになるが、「ニューラルネットワーク映像符号化部130に含まれるニューラルネットワークモデルに対する学習及び推論」と、「ニューラルネットワーク映像符号化部130に対する学習及び推論」とを区別しないで用いる場合がある。
【0043】
更に、「映像に対する処理」と「映像信号に対する処理」とを区別しないで用いる場合がある。例えば、「入力映像に対する符号化処理」と、「入力映像の映像信号に対する符号化処理」とを区別しないで用いる場合がある。
【0044】
(2.学習時における符号化装置の構成例)
(2.1 ニューラルネットワーク映像符号化部で学習が行われる際の符号化装置の構成例)
図2は、第1実施形態に係る符号化装置の構成例を表す図である。図2は、ニューラルネットワーク映像符号化部130に対する学習が行われる際の符号化装置100の構成例を表している。
【0045】
図2に示すように、符号化装置100は、映像符号化部120と、ニューラルネットワーク映像符号化部130と、誤差判定部140(例えば第1誤差判定部)とを有する。
【0046】
映像符号化部120は、推論の際に用いられる映像符号化部120(図1)と同一であってもよい。映像符号化部120は、入力映像の映像信号(例えば第2映像信号)に対して、ピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する。符号化自体は、映像符号化規格による手法が用いられてもよく、第1実施形態では、上述したようにMPEG2が利用されるものとして説明する。
【0047】
図3は、第1実施形態に係る映像符号化部120の構成例を表す図である。図3に示すように、映像符号化部120は、イントラ符号化部121と、インター符号化部122とを有する。映像符号化部120は、図4に示すピクチャ参照構造に従って、各映像フレームの映像信号に対する符号化処理を行う。
【0048】
すなわち、GOP内の最初の映像フレームをIフレームとして、イントラ符号化部121においてイントラ符号化処理を行う。イントラ符号化部121は、符号化後のIフレームの映像信号を出力する。GOP内に2番目から16番目までの各映像フレームについては、図4に示すピクチャ参照構造に従って、Bフレーム又はPフレームとして、インター符号化部122に入力され、インター符号化処理が逐次行われる。インター符号化部122は、符号化後のBフレームの映像信号、又は符号化後のPフレームの映像信号を出力する。符号化後のIフレームと、符号化後のBフレームと、符号化後のPフレームの各映像信号は、図4に示すピクチャ参照構造に示す時間的な順序に従って、符号化映像の映像信号として出力される。
【0049】
図2に戻り、映像符号化部120は、符号化映像の映像信号を誤差判定部140へ出力する。
【0050】
ニューラルネットワーク映像符号化部130は、入力映像の映像信号(例えば第2映像信号)に対して、ニューラルネットワークモデル(例えば第2ニューラルネットワークモデル)を用いてイントラ符号化及びインター符号化を行い、ニューラルネットワーク符号化映像の映像信号(以下では、「ニューラルネットワーク符号化映像信号」と称する場合がある。)を出力する。ニューラルネットワーク映像符号化部130は、ニューラルネットワーク符号化映像信号を誤差判定部140へ出力する。
【0051】
図5は、ニューラルネットワーク映像符号化部130の構成例を表す図である。図5に示すように、ニューラルネットワーク映像符号化部130は、ニューラルネットワークイントラ符号化部131と、ニューラルネットワークインター符号化部132と、ニューラルネットワーク符号量計算部133とを有する。
【0052】
ニューラルネットワーク映像符号化部130も、映像符号化部120で用いたピクチャ参照構造と同一のピクチャ参照構造を利用して、ニューラルネットワークによる符号化処理を行う。
【0053】
すなわち、GOP内の最初の映像フレームをIフレームとして、ニューラルネットワークイントラ符号化部131に入力される。ニューラルネットワークイントラ符号化部131は、当該Iフレームに対してニューラルネットワークモデルを用いたイントラ符号化処理を行う。ニューラルネットワークイントラ符号化部131は、符号化されたIフレームの映像信号を出力する。
【0054】
なお、Iフレームに対するニューラルネットワークモデルは任意のモデルが用いられてもよいが、第1実施形態では、以下の非特許文献4に記載されている符号化方法により、イントラ符号化処理が行われるものとして説明する。非特許文献4では、例えば、入力映像に対して、畳み込み層等を含むニューラルネットワークを用いたパラメータ変換を施して潜在変数へ変換し、当該潜在変数に対して更にニューラルネットワークを用いたパラメータ変換を施すことで標準偏差がまとめられた潜在変数へと変換させる。そして、当該潜在変数に対して量子化及び算術変換が行われる。
【0055】
非特許文献4:Johannes Balle, David Minnen, Saurabh Singh, Sung Jin Hwang, Nick Johnston: “Variational image compression with a scale hyperprior”, 2018; arXiv:1802.01436.
次に、GOP内に2番目から16番目までの各映像フレームについては、図4に示すピクチャ参照構造に従って、Bフレーム又はPフレームとして、ニューラルネットワークインター符号化部132に入力される。ニューラルネットワークインター符号化部132では、各映像フレームの映像信号に対して、ニューラルネットワークを用いたインター符号化処理が逐次行われる。ニューラルネットワークインター符号化部132は、符号化後のBフレームの映像信号と、符号化後のPフレームの映像信号とを出力する。符号化後の各映像フレームの映像信号は、図4に示すピクチャ参照構造に示す時間的な順序に従って、ニューラルネットワーク符号化映像の映像信号として出力される。
【0056】
なお、Bフレーム及びPフレームに対するニューラルネットワークモデルは任意のモデルが用いられてもよいが、第1実施形態では、双方向予測に対応する非特許文献1に記載されたDVCが用いられるものとして説明する。或いは、Bフレーム及びPフレームに対するニューラルネットワークモデルとして、以下の非特許文献5に示された複数フレームの動き補償を行うニューラルネットワークモデルが用いられてもよい。
【0057】
非特許文献5:M. Akin Yilmaz, A. Murat Tekalp: “End-to-End Rate-Distortion Optimized Learned Hierarchical Bi-Directional Video Compression”, 2021; arXiv:2112.09529.
ニューラルネットワーク符号量計算部133は、ニューラルネットワーク符号化映像の映像信号を入力し、当該映像信号の符号量を計算する。ニューラルネットワーク符号量計算部133は、計算した符号量を、ニューラルネットワーク符号量として出力する。
【0058】
なお、図5に示すように、ニューラルネットワーク映像符号化部130では、ニューラルネットワークイントラ符号化部131で用いられるニューラルネットワークモデルと、ニューラルネットワークインター符号化部132で用いられるニューラルネットワークモデルとを有する。2つのニューラルネットワークモデルは異なるが、以下では、ニューラルネットワーク映像符号化部130に含まれるニューラルネットワークモデルとしては1つのニューラルネットワークモデルとして説明する場合がある。すなわち、ニューラルネットワークイントラ符号化部131で用いられるニューラルネットワークモデルと、ニューラルネットワークインター符号化部132で用いられるニューラルネットワークモデルとを1つにまとめて、ニューラルネットワーク映像符号化部130におけるニューラルネットワークモデル(例えば第2ニューラルネットワークモデル)として説明する場合がある。
【0059】
図2に戻り、誤差判定部140は、入力映像の映像信号(例えば第2映像信号)に対するニューラルネットワーク映像符号化部130の出力であるニューラルネットワーク符号化映像信号と、入力映像の映像信号に対する映像符号化部120の出力である符号化映像信号とに対する誤差判定を行い、ニューラルネットワーク映像符号化部130のパラメータを最適化する。具体的には、誤差判定部140は、ニューラルネットワーク符号化映像信号と、符号化映像信号と、ニューラルネットワーク符号量とを入力する。そして、誤差判定部140は、以下の損失関数Lが最小となるようにニューラルネットワーク映像符号化部130で用いられるニューラルネットワーク(例えば第2ニューラルネットワークモデル)のパラメータを設定する。
【0060】
【数1】
数1において、INNはニューラルネットワーク映像符号化部130の出力であるニューラルネットワーク符号化映像を表し、ICODECは映像符号化部120の出力である符号化映像を表す。また、RNNはニューラルネットワーク符号量を表し、λは正の定数を表す。誤差判定部140では、例えば、ニューラルネットワーク符号化映像と符号化映像とが近似しつつ、ニューラルネットワーク符号量が最小となるように、ニューラルネットワーク映像符号化部130におけるニューラルネットワークモデルのパラメータを設定することで、最適化を行う。
【0061】
このように、ニューラルネットワーク映像符号化部130では、自身のニューラルネットワークモデルの学習の際に、パラメータが最適化された学習済のニューラルネットワークモデルを導出することができる。この際、ニューラルネットワーク映像符号化部130(のニューラルネットワークモデル)では、映像符号化部120で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用してニューラルネットワーク符号化映像を生成し、パラメータの最適化が行われる。映像符号化部120では、客観画質の向上を目的として処理が行われ、ニューラルネットワーク映像符号化部130では、映像符号化部120で用いられるピクチャ参照構造と同一のピクチャ参照構造を用いて、パラメータの最適化が行われる。そのため、ニューラルネットワーク映像符号化部130におけるニューラルネットワークモデルは、例えば、非特許文献1のDVCと比較して、主観画質だけではなく、客観画質を向上させた学習済モデルとなっている。
【0062】
次に、符号化装置100では、学習済モデルを有するニューラルネットワーク映像符号化部130を用いて、プリ処理部110のニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)に対する学習を行うことになる。
【0063】
(2.2 プリ処理部110で学習が行われる際の符号化装置の構成例)
図6は、プリ処理部110で学習が行われる際の符号化装置100の構成例を表す図である。
【0064】
図6に示すように、符号化装置100は、プリ処理部110と、ニューラルネットワーク映像符号化部130と、誤差判定部145(例えば第2誤差判定部)とを有する。
【0065】
プリ処理部110は、入力映像の映像信号(例えば第3映像信号)に対してプリ処理を行い、プリ処理後のプリ処理映像信号を出力する。プリ処理部110は、映像符号化部120で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用してプリ処理を行う。例えば、プリ処理部110は、図4に示すMPEG2のGOP構造と同一のピクチャ参照構造を利用する。プリ処理部110は、16枚の映像フレームを1GOPとして、16枚の映像フレームの各映像フレームの映像信号を入力し、16枚の映像フレームの各映像フレームの映像信号を出力する。プリ処理部110では、ニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を用いてプリ処理を行う。プリ処理部110におけるニューラルネットワークモデルは任意のモデルを用いてもよいが、第1実施形態では以下の非特許文献6に示されたBasicVSRを用いるものとする。BasicVSRは、時系列相関を考慮することが可能なニューラルネットワークモデルである。BasicVSRは、画素数を拡大する超解像(VSR:Video Super Resolution)ニューラルネットワークモデルであるが、当該モデル内の最終段の処理を変更することで、任意の解像度の映像を出力することができる。
【0066】
非特許文献6:Kelvin C. K. Chan, Xintao Wang, Ke Yu, Chao Dong, Chen Change Loy: “BasicVSR: The Search for Essential Components in Video Super-Resolution and Beyond”, 2020; arXiv:2012.02181.
ニューラルネットワーク映像符号化部130は、プリ処理後のプリ処理映像信号に対して、学習済のニューラルネットワークモデルを用いて、ニューラルネットワーク符号化映像信号を出力する。ニューラルネットワーク映像符号化部130は、映像符号化部120で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用する。例えば、ニューラルネットワーク映像符号化部130は、16枚のプリ処理後の各映像フレームに対してニューラルネットワークを用いて符号化処理を行い、16枚のニューラルネットワーク符号化映像の各映像フレームを出力する。ニューラルネットワーク映像符号化部130は、ニューラルネットワーク符号化映像信号を誤差判定部145へ出力する。また、ニューラルネットワーク映像符号化部130は、ニューラルネットワーク符号化映像信号の符号量を計算し、ニューラルネットワーク符号量として、誤差判定部145へ出力する。ニューラルネットワーク符号量の計算は、ニューラルネットワーク符号量計算部133(図5)を用いて行われる。なお、プリ処理部110において学習が行われる際のニューラルネットワーク映像符号化部130の構成例は、図5に示す構成例であってもよい。
【0067】
誤差判定部145は、プリ処理後の映像信号に対するニューラルネットワーク映像符号化部130の出力であるニューラルネットワーク符号化映像信号と、プリ処理部110に入力される入力映像の映像信号とに対する誤差判定を行い、プリ処理部110のパラメータを最適化する。具体的には、誤差判定部145は、ニューラルネットワーク符号化映像信号と、入力映像の映像信号と、ニューラルネットワーク符号量とを入力する。そして、誤差判定部145は、以下の損失関数Lが最小となるようにプリ処理部110で用いられるニューラルネットワーク(例えば第1ニューラルネットワークモデル)のパラメータを設定する。
【0068】
【数2】
数2において、INNはニューラルネットワーク映像符号化部130の出力であるニューラルネットワーク符号化映像を表し、IINPUTは入力映像を表す。また、RNNはニューラルネットワーク符号量を表し、λは正の定数を表す。誤差判定部145では、例えば、ニューラルネットワーク符号化映像と入力映像とが近似しつつ、ニューラルネットワーク符号量が最小となるように、プリ処理部110におけるニューラルネットワークモデルのパラメータを設定することで、最適化を行う。
【0069】
このように、第1実施形態では、プリ処理部110におけるニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)に対する学習は、映像符号化部120と同一のピクチャ参照構造を利用して学習されたニューラルネットワークモデル(例えば第2ニューラルネットワークモデル)を含むニューラルネットワーク映像符号化部130を用いて行われる。そのため、第1実施形態では、プリ処理部110におけるニューラルネットワークモデルにおいても、例えば、非特許文献2におけるモデルと比較して、主観画質だけではなく客観画質を向上させた学習済モデルを導出させることが可能となる。
【0070】
また、プリ処理部110における学習の際に、符号化による処理とは異なるプリ処理が行われることから、符号化におけるピクチャ参照構造では参照されないフレーム間の特徴も学習することが可能である。そのため、符号化難易度を一定以下に下げるプリ処理を行うことが可能となる。
【0071】
なお、図6において、プリ処理部110におけるプリ処理がアップスケーリングを含む場合、ニューラルネットワーク符号化映像信号に対してダウンスケーリングを施すことで、ニューラルネットワーク映像と入力映像とを同一解像度にすることができる。また、当該プリ処理がダウンスケーリングを含む場合、ニューラルネットワーク符号化映像信号に対してアップスケーリングを施すことで、ニューラルネットワーク映像と入力映像とを同一解像度にすることができる。ニューラルネットワーク符号化映像信号に対してダウンスケーリングを施したり、アップスケーリングを施したりする処理は、例えば、ニューラルネットワーク映像符号化部130で行われてもよいし、誤差判定部145で行われてもよい。
【0072】
(第1実施形態に係る動作例)
次に、第1実施形態に係る動作例について説明する。
【0073】
図7は、第1実施形態に係る学習時の動作例を表す図である。
【0074】
図7に示すように、ステップS10において、符号化装置100は処理を開始する。
【0075】
ステップS11において、ニューラルネットワーク映像符号化部130は、入力映像の映像信号を入力し、ニューラルネットワーク符号化映像の映像信号を出力する。また、ステップS11において、映像符号化部120は、入力映像の映像信号を入力し、符号化映像の映像信号を出力する。ニューラルネットワーク映像符号化部130では、映像符号化部120の符号化処理の際に用いられるピクチャ参照構造を同一のピクチャ参照構造を利用して、ニューラルネットワークに対する学習を行わせるようにしている。
【0076】
ステップS12において、誤差判定部140は、数1を用いて、ニューラルネットワーク符号化映像と符号化映像との誤差判定を行い、ニューラルネットワーク映像符号化部130におけるニューラルネットワークに対するパラメータを最適化する。ニューラルネットワーク映像符号化部130では、学習済のニューラルネットワークモデルが導出される。
【0077】
ステップS13において、プリ処理部110は、入力映像に対して、ニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を用いてプリ処理を行い、プリ処理映像信号を、ニューラルネットワーク映像符号化部130へ出力する。ニューラルネットワーク映像符号化部130は、プリ処理映像信号に対して、学習済のニューラルネットワークモデル(例えば第2ニューラルネットワークモデル)を用いて符号化処理を行い、ニューラルネットワーク符号化映像信号を出力する。
【0078】
ステップS14において、誤差判定部145は、ニューラルネットワーク符号化映像と入力映像との誤差判定を行い、プリ処理部110のニューラルネットワークモデルのパラメータを最適化する。プリ処理部110では、学習済のニューラルネットワークモデルが導出される。
【0079】
ステップS15において、符号化装置100は、学習を終了する。
【0080】
図8は、第1実施形態に係る推論時の動作例を表す図である。
【0081】
図8に示すように、ステップS20において、符号化装置100は、推論を開始する。
【0082】
ステップS21において、プリ処理部110は、入力映像に対して、学習済のニューラルネットワークモデルを用いてプリ処理を行い、プリ処理映像信号を出力する。
【0083】
ステップS22において、映像符号化部120は、プリ処理映像信号に対して映像符号化規格による符号化処理を施し、符号化映像信号を出力する。映像符号化部120は、符号化映像信号をビットストリームとして、映像復号装置へ送信してもよい。
【0084】
ステップS23において、符号化装置100は、推論を終了する。
【0085】
(実験結果)
次に、第1実施形態に係る実験結果について説明する。
【0086】
図9は、実験結果の例を表す図である。図9は、第1実施形態で説明した学習及び推論を行った結果を表している。
【0087】
入力映像については、XIPH(ザイフォ財団:Xiph.Org Foundation)がインターネット(登録商標)で配布する「controlled_burn」、「crowd_run」、「ducks_take_off」、及び「park_joy」を用いた。いずれの映像もHD(High Definition)映像である。映像符号化は、フリーソフトである「ffmpeg」を用いてMPEG2で符号化し、映像品質を表す「qscale」を「12」(「1」が最高品質を示し、「32」が最低品質を示す。)、「17」、「22」、及び「27」に設定した。PSNRは客観画質を表し、VMAFは主観画質を表す。いずれの画質においても、プリ処理の有無によるBD-Rateの変化を測定した。PSNRもVMAFも負の値であるほど符号化効率が良いことを表している。
【0088】
図9に示すように、第1実施形態に係る学習及び推論により、プリ処理が行われない場合と比較して、主観画質(VMAF)だけではなく、客観画質(PSNR)が向上する実験結果を得ることができた。実験結果からも、第1実施形態で説明した学習及び推論により、プリ処理が行われない場合と比較して、主観画質だけではなく、客観画質の向上を図ることが可能となる。
【0089】
[第2実施形態]
次に、第2実施形態について説明する。
【0090】
第1実施形態では、符号化装置100内にプリ処理部110を有する例について説明した。第2実施形態では、プリ処理部110を有するプリ処理装置が符号化装置100の前段に設けられている例について説明する。
【0091】
図10は、第2実施形態に係る符号化システム10の構成例を表す図である。
【0092】
図10に示すように、符号化システム10は、プリ処理装置200と符号化装置100とを有する。プリ処理装置200は、プリ処理部110を有する。また、符号化装置100は、映像符号化部120を有する。
【0093】
図10に示す符号化システム10は、図1と同様に、推論時における構成例を表している。すなわち、プリ処理部110は、既に学習済のニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を用いてプリ処理を行う。具体的には、プリ処理部110は、入力映像の映像信号(例えば第1映像信号)に対して、学習済のニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置100へ出力する。
【0094】
符号化装置100は、第1実施形態と同様に、プリ処理後の映像信号に対して、映像符号化規格のピクチャ参照構造を利用して符号化処理を行い、符号化映像の映像信号を出力する。
【0095】
図11は、第2実施形態に係る学習時の符号化システム10の構成例を表す図である。
【0096】
図11に示すように、学習時において、プリ処理装置200にはプリ処理部110を有し、符号化装置100にはニューラルネットワーク映像符号化部130と誤差判定部145とを有する。
【0097】
プリ処理部110は、第1実施形態(図6)と同様に、入力映像の映像信号に対して、ニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を利用してプリ処理を行い、プリ処理後の映像信号を出力する。
【0098】
ニューラルネットワーク映像符号化部130は、第1実施形態と同様に、映像符号化部120の符号化処理で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用して学習された学習済のニューラルネットワークモデル(例えば第2ニューラルネットワークモデル)を有する。ニューラルネットワーク映像符号化部130は、第1実施形態と同様に、プリ処理映像の映像信号に対して、ニューラルネットワークモデルを用いて符号化処理を行い、ニューラルネットワーク符号化映像の映像信号を出力する。
【0099】
誤差判定部145も、第1実施形態と同様に、数2に示す損失関数Lを用いて、プリ処理部110で用いられるニューラルネットワークのパラメータを最適化させる。
【0100】
すなわち、第2実施形態においても、第1実施形態と同様に、プリ処理部110におけるニューラルネットワークモデルに対する学習は、符号化装置100で用いられるピクチャ参照構造と同一のピクチャ参照構造を利用して学習されたニューラルネットワークモデルを含むニューラルネットワーク映像符号化部130を用いて行われる。
【0101】
従って、第2実施形態においても、第1実施形態と同様に、映像符号化規格と同一のピクチャ参照構造を利用して学習されたニューラルネットワーク映像符号化部130を用いてプリ処理部110の学習が行われる。よって、第2実施形態においても、第1実施形態と同様に、上述したDPPなどと比較して、主観画質だけではなく客観画質を向上させることが可能となる。
【0102】
[その他の実施形態]
第1実施形態及び第2実施形態では、ニューラルネットワーク映像符号化部130の学習後にプリ処理部110の学習を行う例について説明したが、プリ処理部110の学習後に、再び、ニューラルネットワーク映像符号化部130の学習と、その後のプリ処理部110の学習とが行われてもよい。すなわち、ニューラルネットワーク映像符号化部130の学習後にプリ処理部110の学習が行われることが繰り返されてもよい。
【0103】
上述の装置(符号化装置100及びプリ処理装置200)が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROMなどの記録媒体であってもよい。また、上述の装置(符号化装置100及びプリ処理装置200)が行う各処理を実行する回路を集積化し、当該装置を半導体集積回路(チップセット、SoC)により構成してもよい。
【0104】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更などをすることが可能である。また、矛盾しない範囲で各動作例など組み合わせることも可能である。
【符号の説明】
【0105】
100 :符号化装置 110 :プリ処理部
120 :映像符号化部 121 :イントラ符号化部
122 :インター符号化部 130 :ニューラルネットワーク映像符号化部
131 :ニューラルネットワークイントラ符号化部
132 :ニューラルネットワークインター符号化部
133 :ニューラルネットワーク符号量計算部
140,145 :誤差判定部 200 :プリ処理装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11