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

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

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

特開2024-7629映像符号化装置、プリ処理装置、及び映像符号化方法
<>
  • 特開-映像符号化装置、プリ処理装置、及び映像符号化方法 図1
  • 特開-映像符号化装置、プリ処理装置、及び映像符号化方法 図2
  • 特開-映像符号化装置、プリ処理装置、及び映像符号化方法 図3
  • 特開-映像符号化装置、プリ処理装置、及び映像符号化方法 図4
  • 特開-映像符号化装置、プリ処理装置、及び映像符号化方法 図5
  • 特開-映像符号化装置、プリ処理装置、及び映像符号化方法 図6
  • 特開-映像符号化装置、プリ処理装置、及び映像符号化方法 図7
  • 特開-映像符号化装置、プリ処理装置、及び映像符号化方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024007629
(43)【公開日】2024-01-19
(54)【発明の名称】映像符号化装置、プリ処理装置、及び映像符号化方法
(51)【国際特許分類】
   H04N 19/85 20140101AFI20240112BHJP
【FI】
H04N19/85
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022108814
(22)【出願日】2022-07-06
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】新井 大地
(72)【発明者】
【氏名】岩村 俊輔
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159TA01
5C159TB04
5C159TC24
5C159UA02
(57)【要約】
【課題】符号化効率の向上を図る映像符号化装置、プリ処理装置、及び映像符号化方法を提供する。
【解決手段】映像符号化装置100は、第1ピクチャ参照構造を利用した、入力映像フレームを含む複数フレームの映像信号に対して、第1ニューラルネットワークによるプリ処理を行い、プリ処理後の映像信号を出力するプリ処理部110を有する。また、映像符号化装置100は、第1ピクチャ参照構造を利用してプリ処理後の映像信号を符号化する映像符号化部120を有する。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1ピクチャ参照構造を利用した、入力映像フレームを含む複数フレームの映像信号に対して、第1ニューラルネットワークを用いたプリ処理を行い、プリ処理後の映像信号を出力するプリ処理部と、
前記第1ピクチャ参照構造を利用して前記プリ処理後の映像信号を符号化する映像符号化部と、を有する
映像符号化装置。
【請求項2】
前記プリ処理後の映像信号に対して第2ニューラルネットワークによる映像符号化処理を行うニューラルネットワーク映像符号化部と、
前記プリ処理部に入力された映像信号と、前記映像符号化処理された映像信号との誤差を判定し、前記プリ処理で用いられるパラメータを最適化する誤差判定部と、を更に有し、
前記プリ処理部は、前記パラメータを用いて前記プリ処理を行う
請求項1記載の映像符号化装置。
【請求項3】
前記プリ処理部は、
入力映像の映像信号をI(Intra)フレームの第1映像信号とB(Bi-directional Predictive)フレーム及び/又はP(Predictive)フレームの第2映像信号に振り分ける振分部と、
前記第1映像信号に対して前記プリ処理を行い、前記プリ処理後の前記第1映像信号を出力するIフレームプリ処理部と、
第2ピクチャ参照構造を利用して、前記第2映像信号と、当該Bフレーム又は当該Pフレームが参照するIフレーム、Bフレーム、及び/又はPフレームの映像信号と、前記プリ処理後の当該Iフレーム、当該Bフレーム、及び/又は当該Pフレームの映像信号とを入力し、当該入力に対して、前記第1ニューラルネットワークを利用して前記プリ処理を行い、前記プリ処理後の前記第2映像信号を出力するB/Pフレームプリ処理部と、を有し、
前記ニューラルネットワーク映像符号化部は、前記プリ処理後の前記第1映像信号と、前記プリ処理後の前記第2映像信号に対して、前記第2ピクチャ参照構造を利用して前記第2ニューラルネットワークによる前記映像符号化処理を行う
請求項2記載の映像符号化装置。
【請求項4】
前記プリ処理部は、
入力映像の映像信号をIフレームの第1映像信号とBフレーム及び/又はPフレームの第2映像信号に振り分ける振分部と、
前記第1映像信号に対して前記プリ処理を行い、前記プリ処理後の前記第1映像信号を出力するIフレームプリ処理部と、
前記第1ピクチャ参照構造を利用して、前記第2映像信号と、前記第2映像信号の当該Bフレーム及び/又は当該Pフレームが参照するIフレーム、Bフレーム、及び/又はPフレームの映像信号と、前記プリ処理後の当該Iフレーム、当該Bフレーム、及び/又は当該Pフレームの映像信号とを入力し、当該入力に対して、前記第1ニューラルネットワークを利用して前記プリ処理を行い、前記プリ処理後の前記第2映像信号を出力するB/Pフレームプリ処理部と、を有し、
前記映像符号化部は、前記プリ処理後の前記第1映像信号と前記プリ処理後の前記第2映像信号とに対して符号化を行う
請求項1記載の映像符号化装置。
【請求項5】
前記第1ピクチャ参照構造と前記第2ピクチャ参照構造とは同一である
請求項3記載の映像符号化装置。
【請求項6】
前記第1ピクチャ参照構造と前記第2ピクチャ参照構造とは、参照先のフレーム数が同一である
請求項3記載の映像符号化装置。
【請求項7】
入力映像フレームの映像信号に対してプリ処理後の映像信号を映像符号化装置へ出力するプリ処理装置であって、
第1ピクチャ参照構造を利用した、前記入力映像フレームを含む複数フレームの映像信号に対して、第1ニューラルネットワークを用いたプリ処理を行い、前記プリ処理後の映像信号を出力するプリ処理部、を有し、
前記映像符号化装置は、前記プリ処理後の映像信号に対して前記第1ピクチャ参照構造を利用して符号化を行う
プリ処理装置。
【請求項8】
映像符号化装置における映像符号化方法であって、
第1ピクチャ参照構造を利用した、入力映像フレームを含む複数フレームの映像信号に対して、第1ニューラルネットワークを用いたプリ処理を行い、プリ処理後の映像信号を出力し、
前記第1ピクチャ参照構造を利用して前記プリ処理後の映像信号を符号化する
映像符号化方法。
【発明の詳細な説明】
【技術分野】
【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ピクチャ参照構造を利用してプリ処理後の映像信号を符号化する映像符号化部を有する。
【0008】
第2の態様に係るプリ処理装置は、入力映像の映像信号に対してプリ処理後の映像信号を映像符号化装置へ出力するプリ処理装置である。前記プリ処理装置は、第1ピクチャ参照構造を利用した、入力映像フレームを含む複数フレームの映像信号に対して、第1ニューラルネットワークによるプリ処理を行い、プリ処理後の映像信号を出力するプリ処理部を有する。
【0009】
第3の態様に係る映像符号化方法は、映像符号化装置における映像符号化方法である。前記映像符号化方法は、第1ピクチャ参照構造を利用した、入力映像フレームを含む複数フレームの映像信号に対して、第1ニューラルネットワークによるプリ処理を行い、プリ処理後の映像信号を出力する。また、前記映像符号化方法は、第1ピクチャ参照構造を利用してプリ処理後の映像信号を符号化する。
【発明の効果】
【0010】
本開示によれば、符号化効率の向上を図る映像符号化装置、プリ処理装置、及び映像符号化方法を提供することができる。
【図面の簡単な説明】
【0011】
図1図1(A)と図1(B)は、第1実施形態に係る映像符号化装置の構成例を表す図である。
図2図2は、第1実施形態に係るプリ処理部の構成例を表す図である。
図3図3は、第1実施形態に係るプリ処理部の構成例を表す図である。
図4図4は、第1実施形態に係る推論時におけるピクチャ参照構造の例を表す図である。
図5図5(A)は第1実施形態に係る学習時におけるピクチャ参照構造の例を表し、図5(B)はB/Pフレームプリ処理部における入力と出力との関係例を表す図である。
図6図6は、第1実施形態に係るB/Pフレームプリ処理部における入力と出力との関係例を表す図である。
図7図7は、第1実施形態に係る動作例を表す図である。
図8図8は、第1実施形態に係る動作例を表す図である。
【発明を実施するための形態】
【0012】
[第1実施形態]
【0013】
(ニューラルネットワークを用いた符号化手法)
上述したように、ニューラルネットワークを用いた符号化手法が提案されている。ここで、非特許文献1による符号化手法と、非特許文献2による符号化手法とについて説明する。
【0014】
(非特許文献1による符号化手法)
非特許文献1では、ニューラルネットワークを用いた符号化手法を、DVC(Deep Video Compression)と呼んでいる。DVCでは、以下の手順により符号化処理が行われる。
【0015】
ステップN1(動き検出):現フレームと、復号後の過去フレームとを入力とし、CNN(オプティカルフローネットワーク)を用いて、オプティカルフロー値(すなわち、動き情報)を得る。そして、動き情報に対して、CNN(MVエンコーダネットワーク及びMVデコーダネットワーク)などを用いて、圧縮及び復号し、量子化された動き情報を得る。
【0016】
ステップN2(動き補償):量子化された動き情報と過去フレームとを入力として、CNN(動き補償ネットワーク)を用いて、予測フレームを得る。
【0017】
ステップN3-N4(変換、量子化、及び逆変換):現フレームと予測フレームとの残差フレームを、CNN(残差エンコーダネットワーク)を利用して、出力を得て、当該出力を量子化することで、量子化値を得る。当該量子化値から、CNN(残差デコーダネットワーク)を利用して、再構成された残差フレームを得る。
【0018】
ステップN5(エントロピーコーディング):ステップN1で得た量子化された動き情報と、ステップN3-N4で得た量子化値とを入力として、CNN(ビットレート推定ネットワーク)を利用して、符号化ビットを得る。
【0019】
ステップN6(フレーム再構成):ステップN3-N4で得た再構成後の残差フレームに、ステップN2で得た予測フレームを加算することで、再構成されたフレーム(復号後のフレーム)を得る。
【0020】
以上が、DVCによる符号化手順である。DVCでは、学習時において、現フレームと、ステップN6で得た復号後のフレームとの間の歪みDと、エンコードに使用されるビット数(ステップN6の入力)Rとを利用して、損失関数(λD+R)が用いられる。DVCでは、損失関数(λD+R)を用いて、ビット数Rを最小化するとともに歪みDを最小化するパラメータを求める(又は最適化問題を解く)ことで、エンドツーエンドで最適なニューラルネットワークによる符号化モデルを構築することが可能となる。
【0021】
(非特許文献2による符号化手法)
また、上述したように、符号化が行われる前にプリ処理を行う符号化手法(例えば、非特許文献2)も提案されている。非特許文献2では、プリ処理のことを、DPP(Deep Perceptual Preprocessing)と呼んでいる。DPPを用いた符号化手法では、学習時において、符号化の主要コンポーネントを仮想化して、DPPを学習させ、損失関数を用いて、DPPを最適化させる。そして、推論時において、最適化されたDPPを用いて、入力画像に対してプリ処理を行い、プリ処理後の画像に対して、既存のコーデックを用いた符号化処理を行わせる。
【0022】
DPPを用いた符号化手法では、任意のコーデックで任意のビットレートで符号化処理が行われた場合でも、損失関数により、知覚と歪みとのバランスを取るように最適化されたDPPを得ることができる。そのため、DPPを用いた符号化手法で符号化された画像を復号しても、DPPが行われない場合と比較して、視覚的品質を向上させることができる。すなわち、DPPを用いた符号化手法では、DPPを用いない符号化手法と比較して、符号化効率(同一データ量であっても画質が良いなど)を向上させることができる。
【0023】
以上が、ニューラルネットワークを用いた符号化手法の例である。
【0024】
しかし、非特許文献2の符号化手法では、プリ処理(DPP)に関し、入力画像のフレームをプリ処理後のフレームに画素単位でマッピングするだけであって、後段のコーデック側のピクチャ参照構造を利用していない。そのため、非特許文献2のプリ処理を用いた符号化手法では、符号化後の画像を復号しても、符号化効率が劣化する場合がある。
【0025】
そこで、第1実施形態では、符号化効率を向上することを目的としている。
【0026】
以下、図面を参照して第1実施形態について説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【0027】
(映像符号化装置の構成例)
図1(A)と図1(B)は、映像符号化装置100の構成例を表す図である。
【0028】
第1実施形態に係る映像符号化装置100は、プリ処理部110を有する。プリ処理部110は、ニューラルネットワークを用いて構成することができる。すなわち、学習時において、プリ処理部110を最適化させ、推論時において、最適化されたプリ処理部110を用いて、プリ処理後の入力映像に対して符号化処理を行わせる。そこで、映像符号化装置100について、学習時における映像符号化装置100と、推論時における映像符号化装置100とを分けて説明する。
【0029】
(学習時における映像符号化装置の構成例)
図1(A)は、学習時における映像符号化装置100の構成例を表す。
【0030】
図1(A)に示すように、学習時における映像符号化装置100は、プリ処理部110と、ニューラルネットワーク映像符号化部130と、誤差判定部140とを有する。
【0031】
プリ処理部110は、入力映像の映像フレームを入力し、プリ処理後の映像フレームを出力する。具体的には、プリ処理部110は、ピクチャ参照構造(第2ピクチャ参照構造)を利用した、当該入力映像フレームを含む複数フレームの映像信号に対して第1ニューラルネットワークを用いたプリ処理を行い、プリ処理後の映像信号を出力する。プリ処理部110の構成例とその詳細は後述する。
【0032】
なお、以下においては、第1ニューラルネットワークは、CNNを用いたニューラルネットワークであるとして説明するが、これに限定されない。例えば、第1ニューラルネットワークは、RNN(Recurrent Neural Network)又はDNN(Deep Neural Network)など、他の深層学習によるニューラルネットワークが用いられてもよい。
【0033】
ニューラルネットワーク映像符号化部130は、プリ処理後の映像フレームに対して、符号化処理を行い、符号化された映像フレームを出力する。具体的には、ニューラルネットワーク映像符号化部130は、プリ処理後の映像信号に対して、第2ニューラルネットワークを用いた映像符号化処理を行う。第2ニューラルネットワークによる映像符号化処理は、例えば、非特許文献1によるDVCにより行われてもよい。第2ニューラルネットワークのモデルは、既存の映像符号化処理をニューラルネットワークにより処理を行うモデルであれば、DVC以外のモデルが用いられてもよい。
【0034】
誤差判定部140は、プリ処理部110に入力された映像フレームの映像信号と、ニューラルネットワーク映像符号化部130において映像符号化処理された映像信号との誤差を判定する。誤差判定に損失関数Lが用いられる。損失関数Lは、任意のものが用いられてもよいが、第1実施形態では、以下の式が用いられる。
【0035】
【数1】

【数2】

は、入力映像フレームの映像信号と、ニューラルネットワークによる映像符号化処理後の映像信号との歪みについての損失関数を表す。Rは、当該映像符号化処理後の映像信号のビットレートを表す。数1に示すように、損失関数Lは、歪みの損失関数Lと、ビットレートRとの線形和で表されている。また、数2に示すように、歪みの損失関数Lは、L1ノルムDL1と、MS-SSIMによる画質評価であるDMS-SSIMとの線形和で表されている。数1と数2において、λ及びαは定数である。
【0036】
誤差判定部140は、数1を用いて損失(又は誤差)が小さくなるように、誤差伝搬法などを用いて、プリ処理部110及びニューラルネットワーク映像符号化部130で用いられるパラメータを修正する(又は学習する)。誤差判定部140では、プリ処理部110及びニューラルネットワーク映像符号化部130の全てで用いられるパラメータを学習(又は修正)してもよいし、一部を固定して学習(又は修正)してもよい。例えば、誤差判定部140では、ニューラルネットワーク映像符号化部130のパラメータを固定し、プリ処理部110のパラメータを学習(又は修正)してもよい。すなわち、誤差判定部140は、プリ処理部110で用いられるパラメータを学習(又は修正)することで、当該パラメータを最適化してもよい。図1(A)では、プリ処理部110で用いられるパラメータを最適化する場合の構成例を表している。
【0037】
(推論時における映像符号化装置の構成例)
図1(B)に示すように、推論時における映像符号化装置100は、プリ処理部110と映像符号化部120とを有する。
【0038】
プリ処理部110は、入力映像の映像フレームを入力し、プリ処理後の映像フレームを出力する。具体的には、プリ処理部110は、ピクチャ参照構造(第1ピクチャ参照構造)を利用した、当該入力映像フレームを含む複数フレームの映像信号に対して、第1ニューラルネットワークを用いたプリ処理を行い、プリ処理後の映像信号を出力する。推論時におけるプリ処理部110の構成例とその詳細は後述する。
【0039】
映像符号化部120は、HEVC又はVVCなど、所定の符号化方式を用いて、プリ処理後の映像信号を符号化する。所定の符号化方式では、所定のピクチャ参照構造(第1ピクチャ参照構造)を利用して、Bフレーム又はPフレームに対して符号化が行われる。映像符号化部120では、このような所定のピクチャ参照構造を用いた符号化処理が行われればよく、HEVC又はVVC以外の符号化方式が用いられてもよい。
【0040】
なお、図1(A)に示す学習時の映像符号化装置100と図1(B)に示す推論時の映像符号化装置100とはマージされてもよい。すなわち、映像符号化装置100は、プリ処理部110と、ニューラルネットワーク映像符号化部130と、誤差判定部140と、映像符号化部120とを有してもよい。
【0041】
(プリ処理部の構成例)
次に、プリ処理部110の構成例について説明する。
【0042】
第1実施形態におけるプリ処理部110は、ピクチャ参照構造を利用してプリ処理を行う。具体的には、プリ処理部110は、学習時においては、ニューラルネットワーク映像符号化部130で用いられるピクチャ参照構造(第2ピクチャ参照構造)を利用して、第1ニューラルネットワークを用いたプリ処理を行う。また、プリ処理部110は、推論時においては、映像符号化部120で用いられるピクチャ参照構造(第1ピクチャ参照構造)を利用して、第1ニューラルネットワークを用いたプリ処理を行う。
【0043】
以下では、ニューラルネットワーク映像符号化部130で用いられるピクチャ参照構造であって、学習時においてプリ処理部110で用いられるピクチャ参照構造を、「学習時のピクチャ参照構造」と称する場合がある。また、映像符号化部120で用いられるピクチャ参照構造であって、推論時においてプリ処理部110で用いられるピクチャ参照構造を、「推論時のピクチャ参照構造」と称する場合がある。
【0044】
学習時のピクチャ参照構造は、推論時のピクチャ参照構造とは同一でもよいし、映像符号化装置100のメモリ容量を考慮して、異なっていてもよい。以下では、学習時のピクチャ参照構造が、推論時のピクチャ参照構造と異なる例を用いて説明する。
【0045】
図4は、第1実施形態に係る推論時のピクチャ参照構造の例を表す図である。図4に示すピクチャ参照構造は、Intra Period 16(Iフレーム間のフレーム数が「16」)のランダムアクセスの例を表している。第1実施形態に係るプリ処理部110は、推論時において、図4に示すピクチャ参照構造を利用してプリ処理を行う。
【0046】
一方、図5(A)は、第1実施形態に係る学習時のピクチャ参照構造の例を表す図である。図5(A)に示すピクチャ参照構造は、Intra Period 4(Iフレーム間のフレーム数が「4」)の例を表している。第1実施形態に係るプリ処理部110は、学習時において、図5(A)に示すピクチャ参照構造を利用してプリ処理を行う。
【0047】
図4に示す推論時のピクチャ参照構造と、図5(A)に示す学習時のピクチャ参照構造とは異なるものの、Bフレームに着目すると、当該Bフレームが参照する参照先のフレーム数は、双方とも「2」である。すなわち、プリ処理部110では、推論時と学習時とにおいて、厳密には、ピクチャ参照楮は異なってもよいが、その場合、少なくとも、参照先のフレーム数が双方とも同じことが条件となる。
【0048】
このように、プリ処理部110では、推論時に用いるピクチャ参照構造(第1ピクチャ参照構造)と、学習時に用いるピクチャ参照構造(第2ピクチャ参照構造)と、が厳密には異なる場合がある。そのため、プリ処理部110の構成例について、推論時と学習時とで分けて説明する。
【0049】
(学習時のプリ処理部の構成例)
図2は、学習時におけるプリ処理部110の構成例を表す図である。
【0050】
図2に示すように、プリ処理部110は、振分部111、Iフレームプリ処理部112と、B/Pフレームプリ処理部113と、結合部114とを有する。
【0051】
振分部111は、入力映像の映像信号を、Iフレームの映像信号(第1映像信号)と、Bフレーム及び/又はPフレームの映像信号(第2映像信号)とに振り分ける。
【0052】
Iフレームプリ処理部112は、入力映像におけるIフレームの映像信号に対してプリ処理を行う。Iフレームプリ処理部112は、1枚のIフレームの映像信号を入力とし、1枚のプリ処理後のIフレームの映像信号を出力する。Iフレームプリ処理部112は、2枚のIフレーム(例えば、図5(A)のIOフレームと、I4フレーム)の映像信号に対して別々にプリ処理を行い、2枚のプリ処理後のIフレーム(I0’フレームとI4’フレーム)の映像信号を出力する。Iフレームプリ処理部112は、1枚のIフレームを入力し、1枚のプリ処理後のIフレームを出力するニューラルネットワーク(第3ニューラルネットワーク)であれば任意のモデルを用いてもよい。例えば、Iフレームプリ処理部112は、非特許文献2に記載されたDPPのプリ処理と同じモデルを用いてもよい。この場合、Iフレームプリ処理部112では、CNNを用いたニューラルネットワークにより、知覚品質、ビットレート制御、及び入力映像に対する忠実度についてのバランスを維持できるように、入力Iフレームに対するプリ処理後のIフレームを得るモデルが用いられる。
【0053】
なお、Iフレームプリ処理部112は、ニューラルネットワークによる学習を行わないで、入力Iフレームに対して、ガウシアンフィルタなどのフィルタリングベースの手法を施したり、恒等変換を行ったりすることで、プリ処理後のIフレームを出力してもよい。
【0054】
また、Iフレームプリ処理部112は、B/Pフレームプリ処理部113で用いられるニューラルネットワークを流用してもよい。この場合、Iフレームプリ処理部112では、入力Iフレームを複製して5枚のIフレームの映像信号を入力とし、当該ニューラルネットワークを用いて、1枚のプリ処理後のIフレームの映像信号を出力してもよい。
【0055】
B/Pフレームプリ処理部113は、学習時のピクチャ参照構造(第2ピクチャ参照構造)を利用して、1枚のプリ処理後のBフレーム又はPフレームを出力する。学習時のピクチャ参照構造が図5(A)の場合、B/Pフレームプリ処理部113は、振分部111から出力された1枚のBフレームの映像信号(第2映像信号)と、当該Bフレームが参照する2枚のIフレーム、Bフレーム、及び/又はPフレームの映像信号と、プリ処理後の当該Iフレーム、当該Bフレーム、及び/又は当該Pフレームの映像信号とを入力する。そして、B/Pフレームプリ処理部113は、当該入力に対して、ニューラルネットワーク(第1ニューラルネットワーク)を利用してプリ処理を行い、プリ処理後のBフレームの映像信号を出力する。
【0056】
例えば、図5(A)において、B2フレームの映像信号がB/Pフレームプリ処理部113に入力されると仮定する。この場合、B/Pフレームプリ処理部113は、当該B2フレームの映像信号と、当該B2フレームが参照する2枚のIフレーム(I0フレームとI4フレーム)と、当該2枚のIフレームについてプリ処理後のIフレーム(I0’フレームとI4’フレーム)とを入力する。そして、B/Pフレームプリ処理部113は、当該入力に対して、ニューラルネットワークを利用してプリ処理を行い、プリ処理後のB2フレーム(B2’フレーム)の映像信号を出力する。図5(B)は、B/Pフレームプリ処理部113における入力と出力の関係を表している。
【0057】
図5(A)と図5(B)では、B/Pフレームプリ処理部113にBフレームが入力される例で説明したが、Pフレームが入力されてもよい。Bフレーム又はPフレームがB/Pフレームプリ処理部113に入力される場合、例えば、以下となる。すなわち、B/Pフレームプリ処理部113は、振分部111から出力された1枚のBフレーム又はPフレームの映像信号(第2映像信号)と、当該Bフレームが参照する2枚のIフレーム、Bフレーム、及び/又はPフレームの映像信号と、プリ処理後の当該Iフレーム、当該Bフレーム、及び/又は当該Pフレームの映像信号とを入力する。そして、B/Pフレームプリ処理部113は、当該入力に対して、ニューラルネットワーク(第1ニューラルネットワーク)を利用してプリ処理を行い、プリ処理後のBフレーム又はPフレームの映像信号を出力する。
【0058】
B/Pフレームプリ処理部113では、このように5枚のフレームを入力とし、1枚のフレームを出力するニューラルネットワークが用いられるものであれば任意のモデルが用いられてもよい。例えば、第1実施形態におけるB/Pフレームプリ処理部113では、非特許文献2のDPPのプリ処理を複数枚のフレーム入力に拡張したモデルが用いられるものとして以下説明する。
【0059】
結合部114は、Iフレームプリ処理部112から出力されたプリ処理後のIフレームの映像信号と、B/Pフレームプリ処理部113から出力されたプリ処理後のBフレーム又はPフレームの映像信号とを結合して、プリ処理後の映像信号として出力する。ニューラルネットワーク映像符号化部130は、プリ処理後の映像信号に対して、ニューラルネットワークを用いた符号化処理を行う。
【0060】
なお、結合部114はなくてもよい。その場合、ニューラルネットワーク映像符号化部130は、プリ処理後のIフレームの映像信号と、プリ処理後のBフレーム又はPフレームの映像信号とを、プリ処理後の映像信号として、当該符号化処理を行えばよい。
【0061】
(推論時のプリ処理部の構成例)
図3は、推論時のプリ処理部110の構成例を表す図である。
【0062】
図3に示すように、プリ処理部110は、振分部111と、Iフレームプリ処理部112と、B/Pフレームプリ処理部115と、結合部114とを有する。
【0063】
振分部111は、学習時における振分部111と同一である。
【0064】
Iフレームプリ処理部112は、学習時のIフレームプリ処理部112と同一である。ただし、Iフレームプリ処理部112は、推論時のピクチャ参照構造(第1ピクチャ参照構造)を利用してニューラルネットワークを用いて、プリ処理後のIフレームの映像信号を出力してもよい。図4に示す推論時のピクチャ参照構造(第1ピクチャ参照構造)が用いられる場合、Iフレームプリ処理部112は、2枚のIフレーム(I0フレームとI16フレーム)の映像信号に対して別々にプリ処理を行い、プリ処理後の2枚のIフレーム(I0’フレームとI16’フレーム)の映像信号を出力する。
【0065】
B/Pフレームプリ処理部115は、推論時のピクチャ参照構造(第1ピクチャ参照構造)を利用して、1枚のプリ処理後のBフレーム又はPフレームを出力する。推論時のピクチャ参照構造が図4の場合、B/Pフレームプリ処理部113は、振分部111から出力された1枚のBフレームの映像信号(第2映像信号)と、当該Bフレームが参照する2枚のIフレーム、Bフレーム、及び/又はPフレームの映像信号と、プリ処理後の当該Iフレーム、当該Bフレーム、及び/又は当該Pフレームの映像信号とを入力する。そして、B/Pフレームプリ処理部115は、当該入力に対して、ニューラルネットワーク(第1ニューラルネットワーク)を利用してプリ処理を行い、プリ処理後のBフレームの映像信号を出力する。
【0066】
例えば、図4において、B4フレームの映像信号がB/Pフレームプリ処理部115に入力されると仮定する。この場合、B/Pフレームプリ処理部115は、当該B4フレームの映像信号と、当該B4フレームが参照する2枚のフレーム(I0フレームとB8フレーム)の映像信号と、当該2枚のフレームについてプリ処理後のフレーム(I0’フレームとB8’フレーム)の映像信号とを入力する。そして、B/Pフレームプリ処理部115は、当該入力に対して、ニューラルネットワークを利用してプリ処理を行い、プリ処理後のB4フレーム(B4’フレーム)の映像信号を出力する。図6は、B/Pフレームプリ処理部115における入力と出力の関係を表している。
【0067】
なお、図6において、B8フレームがB/Pフレームプリ処理部115に入力される場合、B8フレームの映像信号と、当該B8フレームが参照するI0フレームの映像信号と、プリ処理後の当該I0フレーム(I0’フレーム)の映像信号とが入力される。このため、B/Pフレームプリ処理部115では、I0フレームの映像信号とプリ処理後のI0フレーム(I0’フレーム)の映像信号とを複製し、他の場合と同様に、5枚のフレームを入力させるようにする。
【0068】
図4図6では、B/Pフレームプリ処理部115にBフレームが入力される例で説明したが、Pフレームが入力されてもよい。Bフレーム又はPフレームがB/Pフレームプリ処理部115に入力される場合、例えば、以下となる。すなわち、B/Pフレームプリ処理部115は、振分部111から出力された1枚のBフレーム又はPフレームの映像信号(第2映像信号)と、当該Bフレーム又は当該Pフレームが参照する2枚のIフレーム、Bフレーム、及び/又はPフレームの映像信号と、プリ処理後の2枚の当該Iフレーム、当該Bフレーム、及び/又は当該Pフレームの映像信号とを入力する。そして、B/Pフレームプリ処理部115は、当該入力に対して、ニューラルネットワーク(第1ニューラルネットワーク)を利用してプリ処理を行い、プリ処理後のBフレーム又はPフレームの映像信号を出力する。
【0069】
B/Pフレームプリ処理部115も、学習時のB/Pフレームプリ処理部113と同様に、5枚のフレームを入力とし、1枚のフレームを出力するニューラルネットワークが用いられるものであれば任意のモデルが用いられてもよい。第1実施形態におけるB/Pフレームプリ処理部115も、学習時のB/Pフレームプリ処理部113と同様に、非特許文献2のDPPのプリ処理を複数枚のフレーム入力に拡張したモデルが用いられるものとして以下説明する。
【0070】
結合部114は、学習時の結合部114と同一である。映像符号化部120は、プリ処理後の映像信号を符号化する。なお、結合部114はなくてもよい。その場合、映像符号化部120は、プリ処理後のIフレームの映像信号と、プリ処理後のBフレーム又はPフレームの映像信号とを、プリ処理後の映像信号として、当該プリ処理後の映像信号を符号化すればよい。
【0071】
(第1実施形態に係る動作例)
次に、第1実施形態に係る動作例について説明する。動作例も、学習時と推論時とで分けて説明する。
【0072】
(学習時における動作例)
図7は、第1実施形態に係る学習時における動作例を表す図である。
【0073】
図7に示すように、ステップS10において、映像符号化装置100は処理を開始する。
【0074】
ステップS11において、振分部111は、入力映像をIフレームと、Bフレーム又はPフレームとに振り分ける。
【0075】
ステップS12において、Iフレームプリ処理部112は、Iフレームの映像信号に対して、プリ処理を行う。Iフレームプリ処理部112は、プリ処理後のIフレームを出力する。
【0076】
ステップS13において、B/Pフレームプリ処理部113は、Bフレーム又はPフレームの映像信号に対して、学習時のピクチャ参照構造を利用して、プリ処理を行う。B/Pフレームプリ処理部113は、プリ処理後のBフレーム又はPフレームの映像信号を出力する。なお、ステップS12とステップS13の順番は逆でもよい。
【0077】
ステップS14において、結合部114は、プリ処理後のIフレームの映像信号と、プリ処理後のBフレーム又はPフレームの映像信号とを結合し、プリ処理後の映像信号として出力する。
【0078】
ステップS15において、ニューラルネットワーク映像符号化部130は、プリ処理後の映像信号に対して、ニューラルネットワークを利用した映像符号化処理を行う。
【0079】
ステップS16において、誤差判定部140は、プリ処理部110に入力された映像信号と、ニューラルネットワーク映像符号化部130にて映像符号化処理された映像信号(ステップS15)との誤差を判定し、プリ処理部110で用いられるパラメータを修正する。
【0080】
以降、Iフレームプリ処理部112では、入力するIフレームに対して、修正後のパラメータを用いてプリ処理を行う(ステップS12)。また、B/Pフレームプリ処理部113では、入力するBフレーム又はPフレームに対して、修正後のパラメータを用いてプリ処理を行う(ステップS13)。そして、ステップS14の処理が繰り返される。これにより、Iフレームプリ処理部112とB/Pフレームプリ処理部113とで利用されるパラメータが最適化される。パラメータが最適化されたIフレームプリ処理部112とB/Pフレームプリ処理部113とを用いて、推論が行われる。
【0081】
(推論時における動作例)
図8は、第1実施形態に係る推論時における動作例を表す図である。
【0082】
図8に示すように、ステップS20において、映像符号化装置100は処理を開始する。
【0083】
ステップS21において、振分部111は、入力映像をIフレームと、Bフレーム又はPフレームとに振り分ける。
【0084】
ステップS22において、Iフレームプリ処理部112は、Iフレームの映像信号に対して、プリ処理を行う。Iフレームプリ処理部112は、プリ処理後のIフレームを出力する。
【0085】
ステップS23において、B/Pフレームプリ処理部115は、Bフレーム又はPフレームの映像信号に対して、推論時のピクチャ参照構造を利用して、プリ処理を行う。B/Pフレームプリ処理部115は、プリ処理後のBフレーム又はPフレームの映像信号を出力する。なお、ステップS22とステップS23の順番は逆でもよい。
【0086】
ステップS24において、結合部114は、プリ処理後のIフレームの映像信号と、プリ処理後のBフレーム又はPフレームの映像信号とを結合し、プリ処理後の映像信号として出力する。
【0087】
ステップS25において、映像符号化部120は、プリ処理後の映像信号に対して、HEVC又はVVCなど、所定の符号化方式を用いて符号化する。
【0088】
以上説明したように、第1実施形態におけるプリ処理部110は、映像符号化部120又はニューラルネットワーク映像符号化部130で用いられるピクチャ参照構造を利用して、プリ処理を行う。これにより、例えば、映像符号化装置100では、ピクチャ参照構造を利用しない場合と比較して、映像符号化部120で符号化された映像信号を復号しても、符号化前に当該ピクチャ参照構造を利用しているために、復号後の映像信号の品質を向上させることができる。よって、映像符号化装置100は、ピクチャ参照構造を利用しないでプリ処理を行う場合と比較して、符号化効率を向上させることができる。
【0089】
(第1実施形態の変形例1)
次に、第1実施形態の変形例1について説明する。変形例1では、主に、第1実施形態の相違点を中心に説明する。
【0090】
第1実施形態では、学習時においても、推論時において、B/Pフレームプリ処理部113(115)では、入力映像のBフレーム又はPフレームと、当該Bフレーム又は当該Pフレームが参照するIフレーム、Bフレーム、及び/又はPフレームと、プリ処理後の当該Iフレーム、当該Bフレーム、及び/又は当該Pフレームを入力する例について説明した。B/Pフレームプリ処理部113(115)では、例えば、以下の(1)及び(2)のいずれかを入力としてニューラルネットワークモデルを構成してもよい。
【0091】
(1)入力映像のBフレーム又はPフレームと、当該Bフレーム又は当該Pフレームが参照するIフレーム、Bフレーム、及び/又はPフレーム
【0092】
(2)入力映像のBフレーム又はPフレームと、当該Bフレーム又は当該Pフレームが参照するプリ処理後のIフレーム、Bフレーム、及び/又はPフレーム
【0093】
(第1実施形態の変形例2)
次に、第1実施形態の変形例2について説明する。変形例2においても、主に、第1実施形態の相違点を中心に説明する。
【0094】
第1実施形態では、Iフレームプリ処理部112と、B/Pフレームプリ処理部113(115)とについて、入力される映像の解像度を変更しない例について説明した。Iフレームプリ処理部112と、B/Pフレームプリ処理部113(115)とについて、入力される映像の解像度を変更してもよい。例えば、学習時においては、Iフレームプリ処理部112と、B/Pフレームプリ処理部113との前段において、入力映像に対してアップスケーリングを施す。この場合、ニューラルネットワーク映像符号化部130の後段において、符号化映像に対してダウンスケーリングを施して、入力映像と同一の解像度に変換する。アップスケーリングとダウンスケーリングは逆でもよい。誤差判定部140では、入力映像と同一解像度における符号化映像に対して誤差を判定することが可能となる。
【0095】
(第1実施形態の変形例3)
次に、第1実施形態の変形例3について説明する。変形例3においても、主に、第1実施形態の相違点を中心に説明する。
【0096】
第1実施形態では、プリ処理部110が映像符号化装置100内に含まれるものとして説明したが、これに限定されない。例えば、プリ処理部110は、映像符号化装置100の外部にあって、プリ処理装置として設けられてもよい。この場合、プリ処理装置には、図2又は図3に示すプリ処理部110に含まれる各構成部分が含まれてもよい。映像符号化装置100は、ニューラルネットワーク映像符号化部130と誤差判定部140と映像符号化部120とを有し、映像符号化装置100とプリ処理装置とで映像符号化システムが構成されてもよい。誤差判定部140による修正後のパラメータが、プリ処理装置へ出力される。
【0097】
(第1実施形態の変形例4)
次に、第1実施形態の変形例4について説明する。変形例4においても、主に、第1実施形態の相違点を中心に説明する。
【0098】
第1実施形態では、学習時のピクチャ参照構造と、推論時のピクチャ参照構造とにおいて、参照先のピクチャ数は「2」の例で説明したが、これに限定されない。例えば、学習時のピクチャ参照構造と、推論時のピクチャ参照構造とにおいて、参照先のピクチャ数は「3」以上であってもよい。参照先のピクチャ数が「3」のとき、B/Pフレームプリ処理部113(115)では、入力映像のBフレーム又はPフレームの映像信号と、当該Bフレーム又は当該Pフレームの参照先となる3枚のフレーム(Iフレーム、Bフレーム、及び/又はPフレーム)の映像信号と、プリ処理後の当該3枚のフレームの映像信号とを入力とすればよい。また、参照先のピクチャ数が「4」のとき、B/Pフレームプリ処理部113(115)では、入力映像のBフレーム又はPフレームの映像信号と、当該Bフレーム又は当該Pフレームの参照先となる4枚のフレーム(Iフレーム、Bフレーム、及び/又はPフレーム)の映像信号と、プリ処理後の当該4枚のフレームの映像信号とを入力とすればよい。B/Pフレームプリ処理部113(115)では、入力映像のBフレーム又はPフレームに対する参照先のフレーム数に応じた入力とすればよく、当該入力に対してニューラルネットワークにより、1枚のプリ処理後のBフレーム又はPフレームを出力すればよい。
【0099】
[その他の実施形態]
上述の装置(映像符号化装置100)が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROMなどの記録媒体であってもよい。また、上述の装置(映像符号化装置100)が行う各処理を実行する回路を集積化し、当該装置を半導体集積回路(チップセット、SoC)により構成してもよい。
【0100】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更などをすることが可能である。また、矛盾しない範囲で各動作例など組み合わせることも可能である。
【符号の説明】
【0101】
100 :映像符号化装置 110 :プリ処理部
111 :振分部 112 :Iフレームプリ処理部
113, 115 :B/Pフレームプリ処理部 114 :結合部
120 :映像符号化部 130 :ニューラルネットワーク映像符号化部
140 :誤差判定部
図1
図2
図3
図4
図5
図6
図7
図8