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

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

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

特開2025-25520符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム
<>
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図1
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図2
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図3
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図4
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図5
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図6
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図7
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図8
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図9
  • 特開-符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025025520
(43)【公開日】2025-02-21
(54)【発明の名称】符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラム
(51)【国際特許分類】
   H04N 19/85 20140101AFI20250214BHJP
【FI】
H04N19/85
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023130353
(22)【出願日】2023-08-09
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】新井 大地
(72)【発明者】
【氏名】岩村 俊輔
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LA00
5C159MA04
5C159MA05
5C159MA23
5C159MC11
5C159ME01
5C159PP04
5C159TA01
5C159TB04
5C159TC18
5C159TD16
5C159UA02
5C159UA05
(57)【要約】      (修正有)
【課題】一定以上の精度を有する映像符号化モデル及びプリ処理モデルを有する符号化装置及びプログラム並びにプリ処理装置及びプログラムを提供する。
【解決手段】ニューラルネットワークを用いる符号化装置100は、入力映像の映像信号に対して、ピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する映像符号化部120と、ニューラルネットワーク映像符号化部130と、誤差判定部140と、を有する。ニューラルネットワーク映像符号化部は、学習済の第2ニューラルネットワークモデルを含み、第1ニューラルネットワークモデルに対する学習を行う。第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して映像符号化部で符号化された符号化映像信号の符号量と、第2映像信号に対してニューラルネットワーク映像符号化部で符号化されたニューラルネットワーク符号化映像信号の符号量と、に基づいて行われる。
【選択図】図2
【特許請求の範囲】
【請求項1】
第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力するプリ処理部と、
前記プリ処理後の映像信号に対して符号化処理を行い、符号化された符号化映像信号を出力する映像符号化部と、を有し、
前記第1ニューラルネットワークモデルに対する学習は、学習済の第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われ、
前記第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して前記映像符号化部で符号化された符号化映像信号の符号量と、前記第2映像信号に対して前記ニューラルネットワーク映像符号化部で符号化されたニューラルネットワーク符号化映像信号の符号量とに基づいて行われる
符号化装置。
【請求項2】
前記ニューラルネットワーク映像符号化部は、前記第2映像信号に対して、前記第2ニューラルネットワークモデルを用いてイントラ符号化及びインター符号化を行い、前記ニューラルネットワーク符号化映像信号を出力する
請求項1記載の符号化装置。
【請求項3】
前記第2ニューラルネットワークモデルの学習の際に、前記符号化映像信号の符号量と前記ニューラルネットワーク符号化映像信号の符号量とを利用して、前記第2ニューラルネットワークモデルのパラメータを最適化する第1誤差判定部を、更に有する
請求項2記載の符号化装置。
【請求項4】
前記第1誤差判定部は、前記符号化映像信号の符号量と前記ニューラルネットワーク符号化映像信号の符号量とを含む損失関数を利用して、前記第2ニューラルネットワークモデルの前記パラメータを最適化する
請求項3記載の符号化装置。
【請求項5】
前記損失関数は、前記符号化映像信号の符号量と前記ニューラルネットワーク符号化映像信号の符号量との比率から算出されるスケーリングファクタを含む
請求項4記載の符号化装置。
【請求項6】
前記第1ニューラルネットワークモデルの学習の際に、前記プリ処理後の映像信号に対する前記ニューラルネットワーク映像符号化部の出力であるニューラルネットワーク符号化映像信号と、前記プリ処理部に入力される第3映像信号とに対する誤差判定を行い、前記第1ニューラルネットワークモデルのパラメータを最適化する第2誤差判定部を、更に有する
請求項1記載の符号化装置。
【請求項7】
符号化装置のコンピュータに実行させる符号化プログラムであって、
第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力する処理と、
前記プリ処理後の映像信号に対して符号化処理を行い、符号化された符号化映像信号を出力する処理とを、コンピュータに実行させ、
前記第1ニューラルネットワークモデルに対する学習は、学習済の第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われ、
前記第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して前記映像符号化部で符号化された符号化映像信号の符号量と、前記第2映像信号に対して前記ニューラルネットワーク映像符号化部で符号化されたニューラルネットワーク符号化映像信号の符号量とに基づいて行われる
符号化プログラム。
【請求項8】
プリ処理装置であって、
第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置へ出力するプリ処理部、を有し、
前記符号化装置では、前記プリ処理後の映像信号に対して符号化処理が行われ、符号化された符号化映像信号を出力し、
前記第1ニューラルネットワークモデルに対する学習は、学習済の第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われ、
前記第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して前記映像符号化部で符号化された符号化映像信号の符号量と、前記第2映像信号に対して前記ニューラルネットワーク映像符号化部で符号化されたニューラルネットワーク符号化映像信号の符号量とに基づいて行われる
プリ処理装置。
【請求項9】
プリ処理装置のコンピュータで実行されるプリ処理プログラムであって、
第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置へ出力する処理、をコンピュータに実行させ、
前記符号化装置では、前記プリ処理後の映像信号に対して符号化処理が行われ、符号化された符号化映像信号を出力し、
前記第1ニューラルネットワークモデルに対する学習は、学習済の第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われ、
前記第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して前記映像符号化部で符号化された符号化映像信号の符号量と、前記第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】
更に、プリ処理と符号化処理とを、画像に映る対象物を自動的に検出したり分類したりするマシンビジョンタスクに適用する技術もある(例えば、非特許文献4)。当該技術も、学習時には、ニューラルネットワークモデルで構成されるプリ処理、符号化処理、及びマシンビジョンタスクをエンドツーエンドで共同最適化を図るようにしている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献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.
【非特許文献4】G. Lu, X. Ge, T. Zhong, J. Geng, and Q. Hu, “Preprocessing enhanced image compression for machine vision,” arXiv preprint arXiv:2206.05650, 2022.
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示は、一定以上の精度を有する映像符号化モデル及びプリ処理モデルを有する符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の態様に係る符号化装置は、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力するプリ処理部を有する。また、符号化装置は、プリ処理後の映像信号に対して符号化処理を行い、符号化された符号化映像信号を出力する映像符号化部を有する。ここで、第1ニューラルネットワークモデルに対する学習は、学習済の第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。また、第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して映像符号化部で符号化された符号化映像信号の符号量と、第2映像信号に対してニューラルネットワーク映像符号化部で符号化されたニューラルネットワーク符号化映像信号の符号量とに基づいて行われる。
【0009】
第2の態様に係る符号化プログラムは、符号化装置のコンピュータに実行させる符号化プログラムである。符号化プログラムは、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を出力する処理をコンピュータに実行させる。また、符号化プログラムは、プリ処理後の映像信号に対して符号化処理を行い、符号化された符号化映像信号を出力する処理をコンピュータに実行させる。第1ニューラルネットワークモデルに対する学習は、学習済の第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。また、第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して映像符号化部で符号化された符号化映像信号の符号量と、第2映像信号に対してニューラルネットワーク映像符号化部で符号化されたニューラルネットワーク符号化映像信号の符号量とに基づいて行われる。
【0010】
第3の態様に係るプリ処理装置は、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置へ出力するプリ処理部を有する。符号化装置では、プリ処理後の映像信号に対して符号化処理が行われ、符号化された符号化映像信号を出力する。第1ニューラルネットワークモデルに対する学習は、学習済の第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。また、第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して映像符号化部で符号化された符号化映像信号の符号量と、第2映像信号に対してニューラルネットワーク映像符号化部で符号化されたニューラルネットワーク符号化映像信号の符号量とに基づいて行われる。
【0011】
第4の態様に係るプリ処理プログラムは、プリ処理装置のコンピュータで実行されるプリ処理プログラムである。プリ処理プログラムは、第1映像信号に対して、学習済の第1ニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置へ出力する処理をコンピュータに実行させる。符号化装置では、プリ処理後の映像信号に対して符号化処理が行われ、符号化された符号化映像信号を出力する。第1ニューラルネットワークモデルに対する学習は、学習済の第2ニューラルネットワークモデルを含むニューラルネットワーク映像符号化部を用いて行われる。また、第2ニューラルネットワークモデルに対する学習は、第2映像信号に対して映像符号化部で符号化された符号化映像信号の符号量と、第2映像信号に対してニューラルネットワーク映像符号化部で符号化されたニューラルネットワーク符号化映像信号の符号量とに基づいて行われる。
【発明の効果】
【0012】
本開示によれば、一定以上の精度を有する映像符号化モデル及びプリ処理モデルを有する符号化装置、符号化プログラム、プリ処理装置、及びプリ処理プログラムを提供できる。
【図面の簡単な説明】
【0013】
図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は、第2実施形態に係る推論時の符号化システムの構成例を表す図である。
図10図10は、第2実施形態に係る学習時の符号化システムの構成例を表す図である。
【発明を実施するための形態】
【0014】
[第1実施形態]
(ニューラルネットワークを用いた符号化手法)
上述したように、ニューラルネットワークを用いた符号化手法が提案されている。ここで、非特許文献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】
上述したように、ニューラルネットワークで構成されるプリ処理及び符号化処理を、マシンビジョンタスクに適用した技術(非特許文献4)もある。非特許文献4では、当該プリ処理を用いない場合と比較して、当該プリ処理を用いた方が分類及び検出の精度が向上することが示されている。なお、非特許文献4では、以下の損失関数Lを用いて、符号化処理で用いられるニューラルネットワーク(非特許文献4では、「プロキシネットワーク」と呼ぶ。)を最適化している。
【0026】
【数1】
数1において、Rpはプロキシネットワークで発生する符号量を表し、Dは、映像符号化規格を用いて符号化した符号化映像と、プロキシネットワークを用いて符号化した符号化映像との歪み(又は損失)を表す。
【0027】
一般に、映像符号化規格と、DPPなどニューラルネットワークモデルにより符号化を行う映像符号化モデル(非特許文献4ではプロキシネットワークモデル)とは、符号化性能が異なることから、2つの符号化処理で発生する符号量の値が近づくように学習を行うことは難しい、とされている。特に、映像符号化規格では、エンコーダのピクチャ参照構造に従って順次符号化が行われ、ピクチャ毎に量子化パラメータQP(Quantization Parameter)が設定されるため、符号化により発生する符号量もピクチャ毎に異なる場合がある。
【0028】
そこで、第1実施形態では、一定以上の精度を有する映像符号化モデル及びプリ処理モデルを導出することを目的としている。一定以上の精度を有する映像符号化モデル及びプリ処理モデルを用いて推論を行うことで、符号化後の映像の画質を向上させることも可能となる。また、符号化後の映像を用いてマシンビジョンタスクが行われる場合でも、一定以上の精度を有する検出及び分類を行うことも可能となる。
【0029】
なお、映像符号化モデルとは、上述したように、映像信号の符号化に用いられるニューラルネットワークモデルのことである。非特許文献1で示されたDVCは映像符号化モデルの一例である。
【0030】
また、プリ処理モデルは、プリ処理に用いられるニューラルネットワークモデルのことである。非特許文献2で示されたDPPはプリ処理モデルの一例である。
【0031】
以下、図面を参照して第1実施形態について説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【0032】
(1.推論時における符号化装置の構成例)
次に、符号化装置の構成例について説明する。
【0033】
図1は、第1実施形態に係る符号化装置の構成例を表す図である。
【0034】
図1に示すように、符号化装置100は、プリ処理部110と、映像符号化部120とを有する。ここで、図1に示す符号化装置100は、推論時における符号化装置100の構成例を表している。
【0035】
すなわち、プリ処理部110は、既に学習済のニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を含み、当該学習済モデルを用いて、プリ処理が行われる。当該ニューラルネットワークモデルを「プリ処理モデル」と称してもよい。プリ処理は、例えば、入力映像の解像度をアップスケーリングする処理でもよいし、入力映像の解像度をダウンスケーリングする処理でもよい。或いは、プリ処理は、解像度を変更しない処理であってもよい。プリ処理部110は、任意のピクチャ参照構造を利用してプリ処理を行ってもよいが、第1実施形態では、例えば、図4に示すようにMPEG2のピクチャ参照構造(イントラピリオドが15でフレームの連続数は2のGOP(Group Of Picture)構造)を用いるものとして説明する。このように、プリ処理部110は、学習済のニューラルネットワークを用いてプリ処理を行い、プリ処理部の映像信号を出力する。
【0036】
映像符号化部120は、プリ処理後の映像信号に対して符号化処理を行い、符号化された符号化映像信号を出力する。映像符号化部120における符号化手法は、HEVC又はVVCなど、映像符号化規格の任意の手法が用いられてもよいが、第1実施形態ではMPEG2が用いられるものとして説明する。映像符号化部120は、推論時において、学習時に用いた映像符号化規格を用いて符号化処理を行う。また、映像符号化部120は、推論時において、学習時に用いたピクチャ参照構造と同一のピクチャ参照構造を用いて、符号化処理を行う。
【0037】
第1実施形態では、最初に、ニューラルネットワーク映像符号化部を学習させて、次に、学習済のニューラルネットワーク映像符号化部を用いてプリ処理部110に対する学習が行われる。ここで、映像符号化部120を用いてプリ処理部110に対する学習を行わせることも考えられる。しかし、第1実施形態では、映像符号化部120を用いてプリ処理部110に対する学習を行わせないで、学習済のニューラルネットワーク映像符号化部を用いてプリ処理部110に対する学習を行わせるようにしている。その理由は、例えば、以下である。
【0038】
すなわち、映像符号化部120では、変換処理(ここではDCT変換処理)後の信号に対して量子化処理が行われるが、量子化後の信号に対する丸め処理により信号成分の一部が削除される場合がある。このような丸め処理は微分不可能であるため、ニューラルネットワークの学習方法である誤差逆伝搬法が利用できない。一方、ニューラルネットワーク映像符号化部では、このような丸め処理を行うことなく、丸め処理をランダムノイズの付加で代替することで、ニューラルネットワークを用いて量子化処理などが再現される。そのため、映像符号化部120を用いるよりも、ニューラルネットワーク映像符号化部を用いた方が、プリ処理部110に対する学習結果が良好になることが想定される。
【0039】
第1実施形態では、ニューラルネットワークモデルを用いて符号化を行うニューラルネットワーク映像符号化部が、映像符号化規格を用いて符号化を行う映像符号化部に代替して、プリ処理部110の学習において使用される。当該ニューラルネットワークモデルを「映像符号化モデル」と称してもよい。
【0040】
以下では、学習時の符号化装置100の構成例として、(2.1)ニューラルネットワーク映像符号化部に対する学習が行われる際の符号化装置100の構成例について説明する。次に、(2.2)学習済のニューラルネットワーク映像符号化部を用いてプリ処理部110に対する学習が行われる際の符号化装置100の構成例について説明する。
【0041】
なお、以下では、「ニューラルネットワークモデル」と「ニューラルネットワーク」とを区別しないで用いる場合がある。例えば、「ニューラルネットワークモデルを用いてプリ処理を行う」ことと、「ニューラルネットワークを用いてプリ処理を行う」こととは区別しないで用いる場合がある。
【0042】
また、プリ処理部110はニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を有しており、当該ニューラルネットワークモデルに対する学習又は推論が行われることになるが、「プリ処理部に含まれるニューラルネットワークモデルに対する学習及び推論」と、「プリ処理部110に対する学習及び推論」とを区別しないで用いる場合がある。
【0043】
更に、ニューラルネットワーク映像符号化部130もニューラルネットワークモデル(例えば第2ニューラルネットワークモデル)を有し、当該ニューラルネットワークモデルに対する学習又は推論が行われることになるが、「ニューラルネットワーク映像符号化部130に含まれるニューラルネットワークモデルに対する学習及び推論」と、「ニューラルネットワーク映像符号化部130に対する学習及び推論」とを区別しないで用いる場合がある。
【0044】
更に、「映像に対する処理」と「映像信号に対する処理」とを区別しないで用いる場合がある。例えば、「入力映像に対する符号化処理」と、「入力映像の映像信号に対する符号化処理」とを区別しないで用いる場合がある。
【0045】
(2.学習時における符号化装置の構成例)
【0046】
(2.1 ニューラルネットワーク映像符号化部で学習が行われる際の符号化装置の構成例)
図2は、第1実施形態に係る符号化装置の構成例を表す図である。図2は、ニューラルネットワーク映像符号化部130に対する学習が行われる際の符号化装置100の構成例を表している。
【0047】
図2に示すように、符号化装置100は、映像符号化部120と、ニューラルネットワーク映像符号化部130と、誤差判定部140(例えば第1誤差判定部)とを有する。
【0048】
映像符号化部120は、推論の際に用いられる映像符号化部120(図1)と同一であってもよい。映像符号化部120は、入力映像の映像信号に対して、ピクチャ参照構造を利用して符号化処理を行い、符号化された符号化映像信号を出力する。符号化自体は、映像符号化規格による手法が用いられてもよく、第1実施形態では、上述したようにMPEG2が利用されるものとして説明する。
【0049】
図3は、第1実施形態に係る映像符号化部120の構成例を表す図である。図3に示すように、映像符号化部120は、イントラ符号化部121と、インター符号化部122と、符号化符号量計算部123とを有する。映像符号化部120は、図4に示すピクチャ参照構造に従って、各映像フレームの映像信号に対する符号化処理を行う。
【0050】
すなわち、GOP内の最初の映像フレームをIフレームとして、イントラ符号化部121においてイントラ符号化処理を行う。イントラ符号化部121は、符号化後のIフレームの映像信号を出力する。GOP内に2番目から16番目までの各映像フレームについては、図4に示すピクチャ参照構造に従って、Bフレーム又はPフレームとして、インター符号化部122に入力され、インター符号化処理が逐次行われる。インター符号化部122は、符号化後のBフレームの映像信号、又は符号化後のPフレームの映像信号を出力する。符号化後のIフレームと、符号化後のBフレームと、符号化後のPフレームの各映像信号は、図4に示すピクチャ参照構造に示す時間的な順序に従って、符号化映像の映像信号として出力される。
【0051】
符号化符号量計算部123は、符号化映像の映像信号の符号量を計算する。符号化符号量計算部123は、計算した符号量を、符号化符号量として出力する。
【0052】
図2に戻り、映像符号化部120は、符号化映像の映像信号と符号化符号量とを誤差判定部140へ出力する。
【0053】
ニューラルネットワーク映像符号化部130は、入力映像の映像信号(例えば第2映像信号)に対して、ニューラルネットワークモデル(例えば第2ニューラルネットワークモデル又は映像符号化モデル)を用いてイントラ符号化及びインター符号化を行い、ニューラルネットワーク符号化映像の映像信号(以下では、「ニューラルネットワーク符号化映像信号」と称する場合がある。)を出力する。ニューラルネットワーク映像符号化部130は、ニューラルネットワーク符号化映像信号を誤差判定部140へ出力する。
【0054】
図5は、ニューラルネットワーク映像符号化部130の構成例を表す図である。図5に示すように、ニューラルネットワーク映像符号化部130は、ニューラルネットワークイントラ符号化部131と、ニューラルネットワークインター符号化部132と、ニューラルネットワーク符号量計算部133とを有する。
【0055】
ニューラルネットワーク映像符号化部130は、任意のピクチャ参照構造を利用して符号化処理を行ってもよいが、第1実施形態では、映像符号化部120で用いたピクチャ参照構造と同一のピクチャ参照構造(例えば図4)を利用して符号化を行うものとして説明する。
【0056】
この場合、GOP内の最初の映像フレームをIフレームとして、ニューラルネットワークイントラ符号化部131に入力される。ニューラルネットワークイントラ符号化部131は、当該Iフレームに対してニューラルネットワークモデルを用いたイントラ符号化処理を行う。ニューラルネットワークイントラ符号化部131は、符号化されたIフレームの映像信号を出力する。
【0057】
なお、Iフレームに対するニューラルネットワークモデルは任意のモデルが用いられてもよいが、第1実施形態では、以下の非特許文献5に記載されている符号化方法により、イントラ符号化処理が行われるものとして説明する。非特許文献5では、例えば、入力映像に対して、畳み込み層等を含むニューラルネットワークを用いたパラメータ変換を施して潜在変数へ変換し、当該潜在変数に対して更にニューラルネットワークを用いたパラメータ変換を施すことで標準偏差がまとめられた潜在変数へと変換させる。そして、当該潜在変数に対して量子化及び算術変換が行われる。
【0058】
非特許文献5: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に示すピクチャ参照構造に示す時間的な順序に従って、ニューラルネットワーク符号化映像の映像信号として出力される。
【0059】
なお、Bフレーム及びPフレームに対するニューラルネットワークモデルは任意のモデルが用いられてもよいが、第1実施形態では、双方向予測に対応する非特許文献1に記載されたDVCが用いられるものとして説明する。或いは、Bフレーム及びPフレームに対するニューラルネットワークモデルとして、以下の非特許文献6に示された複数フレームの動き補償を行うニューラルネットワークモデルが用いられてもよい。
【0060】
非特許文献6:M. Akin Yilmaz, A. Murat Tekalp: “End-to-End Rate-Distortion Optimized Learned Hierarchical Bi-Directional Video Compression”, 2021; arXiv:2112.09529.
ニューラルネットワーク符号量計算部133は、ニューラルネットワーク符号化映像の映像信号を入力し、当該映像信号の符号量を計算する。ニューラルネットワーク符号量計算部133は、計算した符号量を、ニューラルネットワーク符号量として出力する。
【0061】
なお、図5に示すように、ニューラルネットワーク映像符号化部130では、ニューラルネットワークイントラ符号化部131で用いられるニューラルネットワークモデルと、ニューラルネットワークインター符号化部132で用いられるニューラルネットワークモデルとを有する。2つのニューラルネットワークモデルは異なるが、以下では、ニューラルネットワーク映像符号化部130に含まれるニューラルネットワークモデルとしては1つのニューラルネットワークモデルとして説明する場合がある。すなわち、ニューラルネットワークイントラ符号化部131で用いられるニューラルネットワークモデルと、ニューラルネットワークインター符号化部132で用いられるニューラルネットワークモデルとを1つにまとめて、ニューラルネットワーク映像符号化部130におけるニューラルネットワークモデル(例えば第2ニューラルネットワークモデル又は映像符号化モデル)として説明する場合がある。
【0062】
図2に戻り、誤差判定部140は、入力映像の映像信号(例えば第2映像信号)に対するニューラルネットワーク映像符号化部130の出力であるニューラルネットワーク符号化映像信号と、入力映像の映像信号に対する映像符号化部120の出力である符号化映像信号とに対する誤差判定を行い、ニューラルネットワーク映像符号化部130のパラメータを最適化する。すなわち、誤差判定部140は、映像符号化部120で発生するピクチャ毎の符号量と、ニューラルネットワーク映像符号化部130で発生するピクチャ毎の符号量とを利用して、ニューラルネットワーク映像符号化部130で用いられるニューラルネットワークモデル(すなわち映像符号化モデル)のパラメータを最適化する。具体的には、誤差判定部140は、以下の損失関数Lを用いて映像符号化モデルのパラメータを最適化する。
【0063】
【数2】
数2において、sは以下により表される。
【0064】
【数3】
ここで、nは、学習に用いるフレーム数を表す。第1実施形態では、1GOPに含まれるフレーム数である「16」を用いる。x^はニューラルネットワーク映像符号化部130の出力であるニューラルネットワーク符号化映像を表し、y^は映像符号化部120の出力である符号化映像を表す。また、rxiはニューラルネットワーク符号量を表し、ryiは符号化符号量を表す。更に、sは符号化符号量とニューラルネットワーク符号量との比率から算出されるスケーリングファクタを表す。更に、λ及びλは正の定数を表す。
【0065】
数2及び数3に示すように、誤差判定部140は、映像符号化モデルの学習の際に、符号化符号量とニューラルネットワーク符号量とを利用して、当該映像符号化モデルのパラメータを最適化している。すなわち、誤差判定部140は、数2及び数3に示す損失関数Lを利用することで、ニューラルネットワーク符号化映像を符号化映像に近づけるだけではなく、ニューラルネットワーク符号量と符号化符号量との比率を一定値に近づけるように、映像符号化モデルのパラメータを最適化している。
【0066】
次に、符号化装置100では、学習済モデルを有するニューラルネットワーク映像符号化部130を用いて、プリ処理部110のニューラルネットワークモデル(例えば第1ニューラルネットワークモデル又はプリ処理モデル)に対する学習を行う。
【0067】
(2.2 プリ処理部110で学習が行われる際の符号化装置の構成例)
図6は、プリ処理部110で学習が行われる際の符号化装置100の構成例を表す図である。
【0068】
図6に示すように、符号化装置100は、プリ処理部110と、ニューラルネットワーク映像符号化部130と、誤差判定部145(例えば第2誤差判定部)とを有する。
【0069】
プリ処理部110は、入力映像の映像信号(例えば第3映像信号)に対してプリ処理を行い、プリ処理後のプリ処理映像信号を出力する。プリ処理部110は、任意のピクチャ参照構造を利用してプリ処理を行ってもよいが、第1実施形態では、映像符号化部120で用いられるピクチャ参照構造と同一のピクチャ参照構造(例えば図4)を利用してプリ処理を行うものとして説明する。すなわち、プリ処理部110は、16枚の映像フレームを1GOPとして、16枚の映像フレームの各映像フレームの映像信号を入力し、16枚の映像フレームの各映像フレームの映像信号を出力する。プリ処理部110では、ニューラルネットワークモデル(例えば第1ニューラルネットワークモデル又はプリ処理モデル)を用いてプリ処理を行う。プリ処理部110におけるニューラルネットワークモデルは任意のモデルを用いてもよいが、第1実施形態では以下の非特許文献7に示されたBasicVSRを用いるものとする。BasicVSRは、時系列相関を考慮することが可能なニューラルネットワークモデルである。BasicVSRは、画素数を拡大する超解像(VSR:Video Super Resolution)ニューラルネットワークモデルであるが、当該モデル内の最終段の処理を変更することで、任意の解像度の映像を出力することができる。
【0070】
非特許文献7: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は、任意のピクチャ参照構造を利用して符号化を行ってもよいが、第1実施形態では、映像符号化部120で用いられるピクチャ参照構造と同一のピクチャ参照構造(例えば図4)を利用するものとして説明する。すなわち、ニューラルネットワーク映像符号化部130は、16枚のプリ処理後の各映像フレームに対してニューラルネットワークを用いて符号化処理を行い、16枚のニューラルネットワーク符号化映像の各映像フレームを出力する。ニューラルネットワーク映像符号化部130は、ニューラルネットワーク符号化映像信号を誤差判定部145へ出力する。また、ニューラルネットワーク映像符号化部130は、ニューラルネットワーク符号化映像信号の符号量を計算し、ニューラルネットワーク符号量として、誤差判定部145へ出力する。ニューラルネットワーク符号量の計算は、ニューラルネットワーク符号量計算部133(図5)を用いて行われる。なお、プリ処理部110において学習が行われる際のニューラルネットワーク映像符号化部130の構成例は、図5に示す構成例であってもよい。
【0071】
誤差判定部145は、プリ処理後の映像信号に対するニューラルネットワーク映像符号化部130の出力であるニューラルネットワーク符号化映像信号と、プリ処理部110に入力される入力映像の映像信号とに対する誤差判定を行い、プリ処理部110で用いられるニューラルネットワーク(例えば第1ニューラルネットワーク又はプリ処理モデル)のパラメータを最適化する。誤差判定部145は、任意の損失関数を用いてもよいが、第1実施形態では、以下の損失関数Lを利用して、最適化を行う。
【0072】
【数4】
数4において、nは学習に用いられるフレーム数を表す。第1実施形態ではnは数2及び数3と同様に、「16」を用いる。xは入力映像を表し、x^はニューラルネットワーク符号化映像を表す。また、rxiはニューラルネットワーク符号量を表し、λは正の定数を表す。
【0073】
このように、第1実施形態において、プリ処理部110におけるニューラルネットワークモデル(例えば第1ニューラルネットワークモデル又はプリ処理モデル)に対する学習は、学習済のニューラルネットワークモデル(例えば第2ニューラルネットワークモデル又は映像符号化モデル)を含むニューラルネットワーク映像符号化部130を用いて行われる。また、ニューラルネットワーク映像符号化部130に含まれるニューラルネットワークモデルに対する学習は、入力映像の映像信号に対して映像符号化部120で符号化された符号化映像信号の符号量(すなわち符号化符号量)と、入力映像の映像信号に対してニューラルネットワーク映像符号化部130で符号化されたニューラルネットワーク符号化映像信号の符号量(すなわちニューラルネットワーク符号量)とに基づいて行われる。
【0074】
従って、第1実施形態では、ニューラルネットワーク符号化映像を符号化映像に近づけるだけではなく、符号化符号量とニューラルネットワーク符号量の2つの符号量の比率が一定値に近づけるように学習を行うことが可能となる。これにより、例えば、学習により導出された映像符号化モデルの精度を一定以上にすることができる。そして、このような映像符号化モデルを用いて、プリ処理モデルの学習が行われるため、学習により導出されたプリ処理モデルの精度を一定以上にすることが可能となる。このように学習されたプリ処理モデルを用いて推論を行うことで、符号化映像の画質を一定以上に向上させることが可能となる。
【0075】
なお、図6において、プリ処理部110におけるプリ処理がアップスケーリングを含む場合、ニューラルネットワーク符号化映像信号に対してダウンスケーリングを施すことで、ニューラルネットワーク映像と入力映像とを同一解像度にすることができる。また、当該プリ処理がダウンスケーリングを含む場合、ニューラルネットワーク符号化映像信号に対してアップスケーリングを施すことで、ニューラルネットワーク映像と入力映像とを同一解像度にすることができる。ニューラルネットワーク符号化映像信号に対してダウンスケーリングを施したり、アップスケーリングを施したりする処理は、例えば、ニューラルネットワーク映像符号化部130で行われてもよいし、誤差判定部145で行われてもよい。
【0076】
(第1実施形態に係る動作例)
次に、第1実施形態に係る動作例について説明する。
【0077】
図7は、第1実施形態に係る学習時の動作例を表す図である。
【0078】
図7に示すように、ステップS10において、符号化装置100は処理を開始する。
【0079】
ステップS11において、ニューラルネットワーク映像符号化部130は、入力映像の映像信号を入力し、ニューラルネットワーク符号化映像信号を出力する。また、ステップS11において、映像符号化部120は、入力映像の映像信号を入力し、符号化映像信号を出力する。
【0080】
ステップS12において、ニューラルネットワーク符号量計算部133はニューラルネットワーク符号化映像信号の符号量を計算する。また、ステップS12において、符号化符号量計算部123は符号化映像信号の符号量を計算する。
【0081】
ステップS13において、誤差判定部140は、ニューラルネットワーク符号量と符号化符号量とに基づき、数1を利用して、ニューラルネットワーク映像符号化部130におけるニューラルネットワーク(例えば第2ニューラルネットワークモデル又は映像符号化モデル)に対するパラメータを最適化する。ニューラルネットワーク映像符号化部130では、学習済のニューラルネットワークモデルが導出される。
【0082】
ステップS14において、プリ処理部110は、入力映像に対して、ニューラルネットワークモデル(例えば第1ニューラルネットワークモデル又はプリ処理モデル)を用いてプリ処理を行い、プリ処理映像信号を、ニューラルネットワーク映像符号化部130へ出力する。ニューラルネットワーク映像符号化部130は、プリ処理映像信号に対して、学習済のニューラルネットワークモデルを用いて符号化処理を行い、ニューラルネットワーク符号化映像信号を出力する。
【0083】
ステップS15において、誤差判定部145は、ニューラルネットワーク符号化映像と入力映像との誤差判定を行い、プリ処理部110のニューラルネットワークモデルのパラメータを最適化する。プリ処理部110では、学習済のニューラルネットワークモデルが導出される。
【0084】
ステップS16において、符号化装置100は、学習を終了する。
【0085】
図8は、第1実施形態に係る推論時の動作例を表す図である。
【0086】
図8に示すように、ステップS20において、符号化装置100は、推論を開始する。
【0087】
ステップS21において、プリ処理部110は、入力映像に対して、学習済のニューラルネットワークモデルを用いてプリ処理を行い、プリ処理映像信号を出力する。
【0088】
ステップS22において、映像符号化部120は、プリ処理映像信号に対して映像符号化規格による符号化処理を施し、符号化映像信号を出力する。映像符号化部120は、符号化映像信号をビットストリームとして、映像復号装置へ送信してもよい。
【0089】
ステップS23において、符号化装置100は、推論を終了する。
【0090】
[第2実施形態]
次に、第2実施形態について説明する。
【0091】
第1実施形態では、符号化装置100内にプリ処理部110を有する例について説明した。第2実施形態では、プリ処理部110を有するプリ処理装置が符号化装置100の前段に設けられている例について説明する。
【0092】
図9は、第2実施形態に係る符号化システム10の構成例を表す図である。
【0093】
図9に示すように、符号化システム10は、プリ処理装置200と符号化装置100とを有する。プリ処理装置200は、プリ処理部110を有する。また、符号化装置100は、映像符号化部120を有する。
【0094】
図9に示す符号化システム10は、図1と同様に、推論時における構成例を表している。すなわち、プリ処理部110は、既に学習済のニューラルネットワークモデル(例えば第1ニューラルネットワークモデル)を用いてプリ処理を行う。具体的には、プリ処理部110は、入力映像の映像信号(例えば第1映像信号)に対して、学習済のニューラルネットワークモデルを用いてプリ処理を行い、プリ処理後の映像信号を符号化装置100へ出力する。
【0095】
符号化装置100は、第1実施形態と同様に、プリ処理後の映像信号に対して、映像符号化規格を利用して符号化処理を行い、符号化映像の映像信号を出力する。
【0096】
図10は、第2実施形態に係る学習時の符号化システム10の構成例を表す図である。
【0097】
図10に示すように、学習時において、プリ処理装置200にはプリ処理部110を有し、符号化装置100にはニューラルネットワーク映像符号化部130と誤差判定部145とを有する。
【0098】
プリ処理部110は、第1実施形態(図6)と同様に、入力映像の映像信号に対して、ニューラルネットワークモデル(例えば第1ニューラルネットワークモデル又はプリ処理モデル)を利用してプリ処理を行い、プリ処理後の映像信号を出力する。
【0099】
ニューラルネットワーク映像符号化部130は、第1実施形態と同様に、ニューラルネットワーク符号量と符号化符号量とを利用して学習が行われた学習済のニューラルネットワークモデル(例えば第2ニューラルネットワークモデル又は映像符号化モデル)を有する。ニューラルネットワーク映像符号化部130は、第1実施形態と同様に、プリ処理映像の映像信号に対して、当該ニューラルネットワークモデルを用いて符号化処理を行い、ニューラルネットワーク符号化映像の映像信号を出力する。
【0100】
誤差判定部145も、第1実施形態と同様に、数2に示す損失関数Lを用いて、プリ処理部110で用いられるニューラルネットワークのパラメータを最適化させる。
【0101】
第2実施形態においても、プリ処理モデルに対する学習は、学習済の映像符号化モデルを用いて行われる。また、映像符号化モデルに対する学習は、符号化符号量とニューラルネットワーク符号量とに基づいて行われる。そのため、第2実施形態においても、ニューラルネットワーク符号化映像を符号化映像に近づけるだけではなく、符号化符号量とニューラルネットワーク符号量との比率が一定値に近づけるように学習を行うことが可能となる。これにより、例えば、学習により導出された映像符号化モデルの精度を一定以上にすることができる。また、当該映像符号化モデルを用いて、プリ処理モデルの学習が行われるため、学習により導出されたプリ処理モデルの精度を一定以上にすることが可能となる。
【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 :インター符号化部 123 :符号化符号量計算部
130 :ニューラルネットワーク映像符号化部
131 :ニューラルネットワークイントラ符号化部
132 :ニューラルネットワークインター符号化部
133 :ニューラルネットワーク符号量計算部
140,145 :誤差判定部 200 :プリ処理装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10