(57)【要約】【課題】スライス境界部分の画質劣化を低減する。【解決手段】入力した映像を構成する画像を少なくとも２つの水平帯状のスライスに分割し、該スライスそれぞれの符号化手段によって符号化を並列に行う映像符号化装置であって、符号化ブロックラインの符号化終了時に、発生符号量を算出する符号量算出手段と、発生符号量をスライスの直上のスライスを処理する符号化手段へ通知する符号量通知手段と、直下スライスの符号化手段から通知された発生符号量に対してスケーリング値を乗算することで発生符号量を調整する符号量スケーリング手段と、調整後の発生符号量と符号化済みブロックの個数に応じて目標符号量を算出する目標符号量算出手段とを備え、符号化手段は、目標符号量に応じて符号化を行う。【選択図】図１
2017005503.tif 000002
【特許請求の範囲】
【請求項１】
入力した映像を構成する画像を少なくとも２つの水平帯状のスライスに分割し、該スライスそれぞれの符号化手段によって符号化を並列に行う映像符号化装置であって、
符号化ブロックラインの符号化終了時に、発生符号量を算出する符号量算出手段と、
前記発生符号量を前記スライスの直上のスライスを処理する前記符号化手段へ通知する符号量通知手段と、
直下スライスの前記符号化手段から通知された前記発生符号量に対してスケーリング値を乗算することで前記発生符号量を調整する符号量スケーリング手段と、
調整後の前記発生符号量と符号化済みブロックの個数に応じて目標符号量を算出する目標符号量算出手段とを備え、
前記符号化手段は、前記目標符号量に応じて符号化を行う映像符号化装置。
【請求項２】
前記符号量スケーリング手段は、過去の符号化済みピクチャにおけるスライス境界を跨ぐ２つの符号化ブロックライン符号量の比から前記スケーリング値を算出する請求項１に記載の映像符号化装置。
【請求項３】
入力した映像を構成する画像を少なくとも２つの水平帯状のスライスに分割し、該スライスそれぞれの符号化手段によって符号化を並列に行う映像符号化装置が行う映像符号化方法であって、
符号化ブロックラインの符号化終了時に、発生符号量を算出する符号量算出ステップと、
前記発生符号量を前記スライスの直上のスライスを処理する前記符号化手段へ通知する符号量通知ステップと、
直下スライスの前記符号化手段から通知された前記発生符号量に対してスケーリング値を乗算することで前記発生符号量を調整する符号量スケーリングステップと、
調整後の前記発生符号量と符号化済みブロックの個数に応じて目標符号量を算出する目標符号量算出ステップと、
前記目標符号量に応じて符号化を行う符号化ステップと
を有する映像符号化方法。
【請求項４】
コンピュータを、請求項１または２に記載の映像符号化装置として機能させるための映像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像を構成する１枚の画像データを複数のスライスに分割して符号化処理を行う映像符号化装置、映像符号化方法及び映像符号化プログラムに関する。
【背景技術】
【０００２】
映像符号化技術は、ＭＰＥＧ−２、ＭＰＥＧ−４、ＭＰＥＧ−４／ＡＶＣが多く用いられている。最近では次世代の映像符号化規格であるＨ．２６５／ＨＥＶＣ（High Efficiency Video Coding）が策定され、今後普及していくと考えられる。また、近年ではＨＤ（High Definition：１９２０画素×１０８０ライン）の４倍の解像度を持つ４Ｋ映像（３８４０画素×２１６０ライン）や、そのさらに４倍の解像度を持つ８Ｋ映像（７６８０画素×４３２０ライン）などの超高精細映像が扱われるようになってきている。
【０００３】
このような超高精細・大画面映像の符号化を行うには膨大な演算量が必要となる。また、ＨＥＶＣをはじめとする映像符号化規格は、符号化対象ブロック周辺の符号化済みブロック情報を用いながら符号化を行うため、逐次処理が必要となる。そのため、超高精細・大画面映像の符号化をリアルタイム（又は、リアルタイムに近い処理時間）で行うためには、ソフトウェアにおいては高速なソフトウェアが、ハードウェアにおいては規模の大きい演算器や高性能なＣＰＵが必要となる。
【０００４】
このような問題に対して、ＨＥＶＣをはじめとする映像符号化規格では、複数符号化ブロックを１つのシンタックス単位として符号化を行うスライス分割による符号化手法が定められている。これによって大画面映像を複数スライスに分割して並列に符号化を行うことでリアルタイム符号化が可能となる。
【０００５】
しかし、スライス分割符号化はスライスの境界部分で符号化シンタックスが異なるため、原画像には見られなかった境界線が出てしまうことがあるという問題点がある。この問題を解決するために、スライスごとの複雑さを表す指標を算出し、その値に応じて各スライスごとの目標符号量を決定する手法がある（例えば、特許文献１参照）。
【０００６】
なお、本明細書において、画像とは、静止画像、または動画像を構成する１フレーム分の画像のことをいう。また映像とは、動画像と同じ意味であり、一連の画像の集合である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−１０２００３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の映像符号化装置ではスライス毎の目標符号量設定は適切になるが、スライス内の符号量制御は各スライスで独立に動作するため、上スライスの最下部分と下スライスの最上部分の画質差が生じ、境界線が出てしまう可能性があるという問題がある。
【０００９】
本発明は、このような事情に鑑みてなされたもので、スライス境界部分の画質劣化を低減することができる映像符号化装置、映像符号化方法及び映像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様は、入力した映像を構成する画像を少なくとも２つの水平帯状のスライスに分割し、該スライスそれぞれの符号化手段によって符号化を並列に行う映像符号化装置であって、符号化ブロックラインの符号化終了時に、発生符号量を算出する符号量算出手段と、前記発生符号量を前記スライスの直上のスライスを処理する前記符号化手段へ通知する符号量通知手段と、直下スライスの前記符号化手段から通知された前記発生符号量に対してスケーリング値を乗算することで前記発生符号量を調整する符号量スケーリング手段と、調整後の前記発生符号量と符号化済みブロックの個数に応じて目標符号量を算出する目標符号量算出手段とを備え、前記符号化手段は、前記目標符号量に応じて符号化を行う映像符号化装置である。
【００１１】
本発明の一態様は、前記映像符号化装置であって、前記符号量スケーリング手段は、過去の符号化済みピクチャにおけるスライス境界を跨ぐ２つの符号化ブロックライン符号量の比から前記スケーリング値を算出する。
【００１２】
本発明の一態様は、入力した映像を構成する画像を少なくとも２つの水平帯状のスライスに分割し、該スライスそれぞれの符号化手段によって符号化を並列に行う映像符号化装置が行う映像符号化方法であって、符号化ブロックラインの符号化終了時に、発生符号量を算出する符号量算出ステップと、前記発生符号量を前記スライスの直上のスライスを処理する前記符号化手段へ通知する符号量通知ステップと、直下スライスの前記符号化手段から通知された前記発生符号量に対してスケーリング値を乗算することで前記発生符号量を調整する符号量スケーリングステップと、調整後の前記発生符号量と符号化済みブロックの個数に応じて目標符号量を算出する目標符号量算出ステップと、前記目標符号量に応じて符号化を行う符号化ステップとを有する映像符号化方法である。
【００１３】
本発明の一態様は、コンピュータを、前記映像符号化装置として機能させるための映像符号化プログラムである。
【発明の効果】
【００１４】
本発明によれば、映像符号化処理において、スライス境界部分の画質劣化を低減することができるという効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】通常動作時の符号化対象ブロックの目標符号量算出方法を示す図である。
【図３】図２に示す時点の符号化ブロック数と符号量の関係を模式的に表した図である
【図４】最初の１符号化ブロックラインの符号化を行っている時点を表す図である。
【図５】１符号化ブロックラインの符号化終了時の時点を表す図である。
【図６】１符号化ブロックラインの符号化終了時の時点の符号化ブロック数と符号量の関係を示す図である。
【図７】残り２符号化ブロックラインの符号化開始からの時間変化を表す図である。
【図８】残り１符号化ブロックライン符号化時を示す図である。
【図９】残り１符号化ブロックライン符号化時の符号化ブロック数と符号量の関係を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の一実施形態による映像符号化装置を説明する。図１は同実施形態の構成を示すブロック図である。図１において、符号１００−１、２は、映像を構成する画像の符号化を行う符号化部である。図１においては、符号化部を２つ備えた例を示している。符号化部１００を備える数は、１枚の画像をいくつのスライスに分割するかによって定まる。図１に示す例は、２つのスライスに分割する例である。すなわち、符号化部１００の数は、スライスの数と同数だけ備えられることになる。符号２００は、入力した原画像を少なくとも２つ（符号化部１００と数と同数）のスライスに分割し、それぞれのスライスデータを符号化部１００それぞれに出力する画像分割部である。符号３００は、符号化部１００−１、２のそれぞれから出力するビットストリームを結合して１つビットストリームとして出力するストリーム結合部である。
【００１７】
符号化部１００−１は、イントラ予測処理部１０１、インター予測処理部１０２、予測残差信号生成部１０３、変換・量子化処理部１０４、エントロピー符号化１０５−１、符号量制御部１０６−１、逆量子化・逆変換処理部１０７、復号映像信号生成部１０８、ループフィルタ処理部１０９を備える。
【００１８】
図１に示す符号化部１００−１において、符号量を制御する処理を行う符号量制御部１０６が従来技術と異なる構成であり、他の部分はＨ．２６４／ＡＶＣやＨＥＶＣ等の映像符号化装置として用いられている従来の一般的な構成と同様である。また、符号化部１００−２についても符号化部１００−１と同様の構成を備えている。ただし、符号化部１００−１の符号量制御部１０６−１と符号化部１００−２の符号量制御部１０６−２とは情報のやり取りが可能なように接続されている。３つ以上の符号化部１００を備える場合についても隣り合う符号化部１００同士が情報のやり取りを行うことができるように接続されることになる
【００１９】
以下に示す「符号化ブロック」についてはＭＰＥＧ−２やＨ．２６４／ＡＶＣ規格ではマクロブロックのことを示し、ＨＥＶＣについては符号化ツリーユニット（ＣＴＵ）のことを指し示す。
【００２０】
次に、図１に示す映像符号化装置の動作を説明する。ここでは、映像符号化装置に備えられる符号化部１００−１の動作を説明するが、符号化部１００−２の動作についても同様である。まず、映像符号化装置は符号化対象の入力映像信号（原画像）を入力し、画像分割部２００によって、複数のスライスに分割する。ここでは、２つのスライスに分割されることになる。分割されたスライスデータは、それぞれの符号化部１００−１、２に対して出力される。
【００２１】
符号化部１００−１、２は、入力映像信号のスライスデータのピクチャを符号化ブロックに分割して符号化ブロックごとに符号化し、そのビットストリームを符号化ストリームとして出力する。
【００２２】
この符号化のため、予測残差信号生成部１０３は、入力映像信号とイントラ予測処理部１０１あるいはインター予測処理部１０２の出力である予測信号との差分を求め、それを予測残差信号として出力する。変換・量子化処理部１０４は、予測残差信号に対して離散コサイン変換等の直交変換を行い、変換係数を量子化し、その量子化された変換係数を出力する。
【００２３】
エントロピー符号化処理部１０５−１は、量子化された変換係数をエントロピー符号化し、符号化ストリームとして出力する。符号量制御部１０６−１は、エントロピー符号化処理部１０５から出力された符号化ストリームから符号量等の符号化情報を入力し、次の符号化に必要な量子化パラメータを適応的に切り替えて出力する。また、符号量制御部１０６−１は、他の符号化部１００（ここでは、符号化部１００−２）に対し、必要に応じて符号量を通知する。
【００２４】
一方、量子化された変換係数は、逆量子化・逆変換処理部１０７にも入力され、ここで逆量子化と逆直交変換され、予測残差信号を出力する。復号映像信号生成部１０８は、予測残差信号とイントラ予測処理部１０１あるいはインター予測処理部１０２の出力である予測信号とを加算し、符号化した符号化対象ブロックの復号映像信号を生成する。
【００２５】
この復号映像信号は、イントラ予測処理部１０１に対して出力するとともに、インター予測処理部１０２で参照画像として用いるために、ループフィルタ処理部１０９に対して出力する。ループフィルタ処理部１０９では符号化歪みを低減するフィルタリング処理を行い、このフィルタリング処理後の画像を復号映像信号としてインター予測処理部１０２に対して出力する。
【００２６】
そして、ストリーム結合部３００は、エントロピー符号化処理部１０５−１、２のそれぞれから出力するビットストリームを所定の規則にしたがって結合し、１つのビットストリームとして出力する。この１つのビットストリームが映像符号化装置の出力となる。
【００２７】
次に、図１に示す符号量制御部１０６−１、２の動作を説明する。始めに、図２、図３を参照して通常動作時の対象符号化ブロックの目標符号量算出動作を説明する。図２は、通常動作時の符号化対象ブロックの目標符号量算出方法を示す図である。図２において符号２０１は符号化スライスを示しており、符号２０２は符号化対象ブロックを示している。符号２０３は符号化済み領域を示しており、符号２０４は符号化未処理の領域を示している。このスライス全体の目標符号量をＴＢｔｏｔａｌ、符号化済み領域２０３の発生符号量をＲ、このスライスの符号化ブロック数をＢｔｏｔａｌ、符号化済み領域２０３の符号化ブロック数をＢとすると、この符号化対象ブロック２０２の目標符号量ＴＢｃｕｒは、（１）式で表される。
ＴＢｃｕｒ＝（ＴＢｔｏｔａｌ−Ｒ）／（Ｂｔｏｔａｌ−Ｂ）・・・（１）
【００２８】
図３は、図２に示す時点の符号化ブロック数と符号量の関係を模式的に表した図である。理想的には図３に示す符号２０５の直線になるように符号量の制御を行う。図３に示す符号２０６は実際の発生符号量の遷移を示したもので、ある一定の符号化ブロック周期で（１）式の演算を行い、図３に示す符号２０７の傾きを算出することで次の符号化ブロックの目標符号量を決定する。なお、このスライス全体の目標符号量ＴＢｔｏｔａｌは従来の一般的な符号量制御動作により算出するものとする。
【００２９】
次に、目標符号量算出動作を時間を追って説明する。一例として１枚のピクチャ（画像）を２つのスライスに分割して符号化を行う場合を説明する。図４は、最初の１符号化ブロックラインの符号化を行っている時点を表す図である。図４に示す符号３０１は符号化ピクチャの上スライス（スライス＃０とする）を示している。また、図４に示す符号３０２は符号化ピクチャの下スライス（スライス＃１とする）を示している。ここでは、符号化部１００−１がスライス＃０を符号化し、符号化部１００−２がスライス＃１を符号化するものとして説明する。
【００３０】
図４に示す符号３０３、符号３０４は符号化対象ブロックを示している。図４に示す符号３０５、符号３０６は符号化済み領域を示しており、符号３０７、符号３０８は符号化未処理の領域を示している。符号量制御部１０６−１、２のそれぞれは、最初の１符号化ブロックラインの符号化が終了するまでは（１）式によって目標符号量を算出する。
【００３１】
図５は、１符号化ブロックラインの符号化終了時の時点を表す図である。それぞれのスライスで１符号化ブロックラインの符号化が終了した時点で、符号量制御部１０６−２は、スライス＃１の発生符号量を算出し、そこにスケーリング係数を乗算し、その値を符号量制御部１０６−１に通知する。スケーリング係数はスライス＃１の最上符号化ブロックラインの符号化効率とスライス＃０の最下符号化ブロックラインの符号化効率の差異を調整する係数である。
【００３２】
なお、スケーリング係数の乗算処理は、符号量制御部１０６−２で行うのではなく、発生符号量を受け取った符号量制御１０６−１が行うようにしてもよい。
【００３３】
一般的な映像符号化では符号化対象ブロックの符号化の際に隣接する符号化済みの符号化情報を用いることで高い符号化効率を実現しているが、スライスの最上符号化ブロックラインでは、符号化対象ブロックの上に隣接した符号化済みブロックが存在せず、符号化効率が悪くなる可能性があるため、スケーリングして調整を行う。
【００３４】
スケーリング係数は０．９〜１．０程度の値を用いることが有用であるが、過去の符号化済みピクチャの同位置の発生符号量の比をスケーリング値として用いるようにしてもよい。また、過去の符号化済みピクチャにおけるスライス境界を跨ぐ２つの符号化ブロックライン符号量の比からスケーリング値を算出するようにしてもよい。
【００３５】
符号化部１００−１（スライス＃０）では符号化部１００−２（スライス＃１）より通知された発生符号量情報を、このスライスの最下符号化ブロックラインで発生すると見込まれる符号量として（図５に示す符号４０１の部分）、目標符号量ＴＢｔｏｔａｌから差し引いた値を新たな目標符号量（ＴＢｔｏｔａｌ’とする）として符号量制御を続ける。この時の符号化対象ブロックの目標符号量は（２）式で表される。ここで、Ｒ１ｌｉｎｅはスライス＃１で発生した１符号化ブロックラインの発生符号量を表し、Ｂ１ｌｉｎｅは１符号化ブロックラインのブロック数を表している。
ＴＢｃｕｒ＝（ＴＢｔｏｔａｌ−Ｒ１ｌｉｎｅ×α−Ｒ）／（Ｂｔｏｔａｌ−Ｂ１ｌｉｎｅ−Ｂ）・・・（２）
【００３６】
図６は、１符号化ブロックラインの符号化終了時の時点の符号化ブロック数と符号量の関係を示す図である。図６に示す符号４０２は１符号化ブロックライン終了時の発生符号量の点を示しており、図６に示す符号４０３は新しく設定した目標符号量の点を示している。このようなスライス＃０の最下符号化ブロックラインで発生すると見込まれる符号量を確保することでスライス境界部分の画質劣化を低減することができる。
【００３７】
図７は、残り２符号化ブロックラインの符号化開始からの時間変化を表す図である。符号化開始から１符号化ブロックラインの間は、符号化対象ブロックの直下の符号化ブロック符号量をＴＢｔｏｔａｌ’に順次加算していくことによって、徐々に当初の目標符号量に戻していく処理を加える。このような処理を行うことにより、最下符号化ブロックラインとスライスの下から２番目の符号化ブロックラインとの間の画質劣化の差を軽減する効果がある。この場合の目標符号量は式（３）のようになる。ここで、図７に示すＢ’は符号化を行っている符号化ブロックラインの中の符号化済みブロックの数を示している。
ＴＢｃｕｒ＝（ＴＢｔｏｔａｌ−Ｒ１ｌｉｎｅ×α×Ｂ’／Ｂ１ｌｉｎｅ）／Ｂ１ｌｉｎｅ・・・（３）
【００３８】
図８は、残り１符号化ブロックライン符号化時を示す図である。図９は、残り１符号化ブロックライン符号化時の符号化ブロック数と符号量の関係を示す図である。最後の１符号化ブロックラインは式（１）によって目標符号量ＴＢｃｕｒを設定する。
【００３９】
このように各符号化時点に応じて目標符号量算出方法を切り替えて制御することでスライス境界の画質劣化を低減することが可能となる。
【００４０】
なお、前述の実施形態では２つのスライスに分割した例を示したが、各スライスで同様の処理を行うことで任意のスライス分割数の符号化に適用可能である。また、残り２符号化ブロックラインから図７による制御を開始する例を示したが、２以上の符号化ブロックラインの時点から前述した処理を開始するようにしてもよい。
【００４１】
また、前述した説明において、スライスの数に応じた符号化部１００を備える例を説明したが、符号化部１００は複数に分かれている必要はなく、１つの符号化部１００内において並列処理を行うようにしてもよい。
【００４２】
以上説明したように、符号化対象ブロックをスライスに分割して符号化する映像符号化装置において、隣接する二つのスライスのうち、下に位置するスライスの最上位ブロックラインの符号量を上に位置するスライスの最下位ブロックラインの符号量制御に用いることで、スライスの境界付近の符号量が同程度になるようにしてスライス境界付近での画質劣化の低減を図るようにした。
【００４３】
この構成によれば、スライス境界付近の符号量（画像の歪み量）が同程度になるように符号量を制御することができるため、スライス境界部分の画質劣化を低減することができる。特に、入力映像信号を少なくとも２つ以上の水平帯状のスライスに分割し、複数の符号化部によって並列に符号化を行う映像符号化装置において、スライスの１符号化ブロックラインの符号量を直上スライスの符号量制御に用いて、スライス境界付近の符号量が同程度になるように制御するようにしたため、スライス境界部分の画質劣化を低減することができる。
【００４４】
前述した実施形態における映像符号化装置の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００４５】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００４６】
１枚のピクチャを複数のスライスに分割して並列に符号化を行うことが不可欠な用途に適用できる。
【符号の説明】
【００４７】
１００−１、２・・・符号化部、２００・・・画像分割部、３００・・・ストリーム結合部、１０１・・・イントラ予測処理部、１０２・・・インター予測処理部、１０３・・・予測残差信号生成部、１０４・・・変換・量子化処理部、１０５−１、２・・・エントロピー符号化部、１０６−１、２・・・符号量制御部、１０７・・・逆量子化・逆変換処理部、１０８・・・復号映像信号生成部、１０９・・・ループフィルタ処理部、２０１・・・符号化スライス、２０２・・・符号化対象ブロック、２０３・・・符号化済み領域、２０４・・・未符号化領域、２０５・・・１スライスの理想的な符号量遷移、２０６・・・実際の符号量遷移、２０７・・・符号化対象ブロックからの目標符号量遷移、３０１・・・スライス＃０、３０２・・・スライス＃１、３０３・・・符号化対象ブロック（スライス＃０）、３０４・・・符号化対象ブロック（スライス＃１）、３０５・・・符号化済み領域（スライス＃０）、３０６・・・符号化済み領域（スライス＃１）、３０７・・・未符号化領域（スライス＃０）、３０８・・・未符号化領域（スライス＃１）、４０１・・・スライス＃１からスライス＃０へ送信された符号化ブロックライン符号量、４０２・・・符号化対象ブロックまでの符号量、４０３・・・新たに設定された目標符号量
【図１】
2017005503.tif 000003
【図２】
2017005503.tif 000004
【図３】
2017005503.tif 000005
【図４】
2017005503.tif 000006
【図５】
2017005503.tif 000007
【図６】
2017005503.tif 000008
【図７】
2017005503.tif 000009
【図８】
2017005503.tif 000010
【図９】
2017005503.tif 000011