(57)【特許請求の範囲】
【請求項１】
フレーム内符号化およびフレーム間予測符号化の一方を、符号化単位となるブロック単位で適応的に選択して用いて、入力画像を符号化データに符号化する動画像符号化方法であって、
入力画像をフレーム毎に符号化するにおいて、符号化データを復号した復号画像と入力画像との誤差である量子化誤差量と、データの欠損を仮定した場合の劣化画像と入力画像との誤差である劣化誤差量とをブロック毎に算出する誤差量算出工程と、
前記量子化誤差量及び前記劣化誤差量を元に、符号化データ中に伝送誤りがある確率で発生する場合の画質の劣化の期待値と前記量子化誤差との線形和で表される画質劣化度をブロック毎に推定する画質劣化度推定工程と、
画質劣化度に基づいて、ブロック毎にフレーム内符号化およびフレーム間予測符号化のいづれを用いるかを示す符号化モードを制御する工程であって、画像フレーム内の全ブロックの画質劣化度を予め定めた閾値と比較し、前記閾値よりも値の大きい画質劣化度を持つブロックの符号化モードをフレーム内符号化に制御し、前記閾値よりも値の大きい画質劣化度を持つブロック以外のブロックの符号化モードをフレーム間予測符号化に制御する処理、又は、画像フレーム内の全ブロックにおいて画質劣化度の大きい順にブロックを予め定めた数だけ選択し、当該選択されたブロックの符号化モードをフレーム内符号化に制御し、前記選択されたブロック以外のブロックの符号化モードをフレーム間予測符号化に制御する処理を行うブロック符号化モード制御工程と、
前記ブロック符号化モード制御工程において制御された符号化モードに従って当該フレーム内の全ブロックの符号化を行うフレーム符号化工程とを備えることを特徴とする動画像符号化方法。
【請求項２】
フレーム内符号化およびフレーム間予測符号化の一方を、符号化単位となるブロック単位で適応的に選択して用いて、入力画像を符号化データに符号化する動画像符号化方法であって、
入力画像をフレーム毎に符号化するにおいて、符号化モードをフレーム内の全てのブロックについてフレーム間予測符号化に設定する符号化モード初期設定工程と、
前記符号化モードに従ってブロック毎の符号化を行うブロック符号化工程と、
符号化データを復号した復号画像と入力画像との誤差量として量子化誤差量をブロック毎に算出する量子化誤差量算出処理と、データの欠損を仮定した場合の劣化画像と入力画像との誤差量として劣化誤差量をブロック毎に算出する劣化誤差量算出処理とからなる誤差量算出工程と、
前記量子化誤差量及び前記劣化誤差量を元に、符号化データ中に伝送誤りがある確率で発生する場合の画質の劣化の期待値である劣化期待値と、前記量子化誤差量との線形和で表される画質劣化度をブロック毎に推定する画質劣化度推定工程と、
前記画質劣化度推定工程の算出する画質劣化度に基づいてブロック毎に符号化モードをフレーム間予測符号化およびフレーム内符号化のいづれかに制御する工程であって、前記フレーム内の任意のブロックに対してフレーム内符号化を行った場合の画質劣化度を算出し、フレーム間予測符号化の画質劣化度よりもフレーム内符号化の画質劣化度が小さい場合に当該ブロックの符号化モードをフレーム内符号化に変更するブロック符号化モード比較処理を行うブロック符号化モード制御工程を備え、
フレーム内ブロックの画質劣化度の和が最小になるよう、前記ブロック符号化工程と前記誤差量算出工程と前記画質劣化度推定工程と前記ブロック符号化モード制御工程を繰り返し行うことを特徴とする動画像符号化方法。
【請求項３】
フレーム内符号化およびフレーム間予測符号化の一方を、符号化単位となるブロック単位で適応的に選択して用いて、入力画像を符号化データに符号化する動画像符号化方法であって、
入力画像をフレーム毎に符号化するにおいて、符号化モードをフレーム内の全てのブロックについてフレーム間予測符号化に設定する符号化モード初期設定工程と、
前記符号化モードに従ってブロック毎の符号量の推定を行うブロック符号量推定工程と、
符号化データを復号した復号画像と入力画像との誤差量として量子化誤差量をブロック毎に算出する量子化誤差量算出処理と、データの欠損を仮定した場合の劣化画像と入力画像との誤差量として劣化誤差量をブロック毎に算出する劣化誤差量算出処理とからなる誤差量算出工程と、
前記量子化誤差量及び前記劣化誤差量を元に、符号化データ中に伝送誤りがある確率で発生する場合の画質の劣化の期待値である劣化期待値と、前記量子化誤差量との線形和で表される画質劣化度をブロック毎に推定する画質劣化度推定工程と、
前記画質劣化度推定工程の算出する画質劣化度に基づいてブロック毎に符号化モードをフレーム間予測符号化およびフレーム内符号化のいづれかに制御する工程であって、前記フレーム内の任意のブロックに対してフレーム間予測符号化を行った場合とフレーム内符号化を行った場合の画質劣化度を比較し、画質劣化度が小さい符号化モードを選択するブロック符号化モード比較処理を行うブロック符号化モード制御工程と、
当該フレーム内の全ブロックの符号化を行うフレーム符号化工程とを備え、
フレーム内ブロックの画質劣化度の和が最小になるよう、前記ブロック符号量推定工程と前記誤差量算出工程と前記画質劣化度推定工程と前記ブロック符号化モード制御工程とを繰り返し行った後に、決定した各ブロックの符号化モードに基づいて前記フレーム符号化工程を行うことを特徴とする動画像符号化方法。
【請求項４】
請求項２に記載の動画像符号化方法において、
前記量子化誤差量算出処理が、前記ブロック符号化工程において得られる各ブロックの量子化ステップをもとに量子化誤差を推定することを特徴とする動画像符号化方法。
【請求項５】
請求項２または３に記載の動画像符号化方法において、
前記劣化誤差量算出処理が、劣化画像として前フレームの復号画像を用いて劣化誤差量を推定することを特徴とする動画像符号化方法。
【請求項６】
請求項１から３のいずれかに記載の動画像符号化方法において、
前記画質劣化度推定工程が、符号化データ中に挿入される同期符号からの距離をブロック毎にカウントし、前記カウントした値から注目するブロックの符号化データが伝送中に欠損するデータ欠損確率を推定するデータ欠損確率推定処理をさらに有し、
注目するブロックがフレーム内符号化されている場合の劣化期待値を、前記劣化誤差量と前記データ欠損確率の積で算出し、注目するブロックがフレーム間予測符号化されている場合の劣化期待値を、前記劣化誤差量と前記データ欠損確率の積に、フレーム間予測符号化における動き補償処理によって参照される参照フレーム内領域の劣化期待値である劣化伝播項を加えた値とすることを特徴とする動画像符号化方法。
【請求項７】
請求項６に記載の動画像符号化方法において、
前記劣化伝播項を、動き補償処理によって参照される参照フレーム内領域を中に含む複数ブロックの劣化期待値の重みづけ平均によって算出することを特徴とする動画像符号化方法。
【請求項８】
請求項６に記載の動画像符号化方法において、
前記画質劣化度推定工程において、注目するブロックがフレーム間予測符号化されている場合の劣化期待値を、前記劣化誤差量と前記データ欠損確率の積に、予め定めた比例乗数に前記劣化伝播項を乗じた値を加えた値とすることを特徴とする動画像符号化方法。
【請求項９】
請求項２に記載の動画像符号化方法において、
前記ブロック符号化モード制御工程が、
画像フレーム内の全ブロックの中で符号化モードがフレーム間予測符号化であるブロックを任意に選択し、前記選択したブロックの符号化モードをフレーム内符号化に一時的に設定するフレーム内符号化ブロック候補選択処理と、
前記フレーム内符号化ブロック候補選択処理によって選択されたブロックの画質劣化度を一時的に記憶し、前記ブロック符号化工程、前記誤差量算出工程、および前記画質劣化度推定工程を再度画像フレーム内の全ブロックに対して行った後、注目するブロックの更新された画質劣化度が一時的に記憶した前記画質劣化度に比べて減少している場合には前記注目するブロックの符号化モードをフレーム内符号化に変更し、新たに前記フレーム内符号化ブロック候補選択処理の実行を繰り返し、前記注目するブロックの更新された画質劣化度が一時的に記憶した前記画質劣化度に比べて増加している場合には前記注目するブロックの符号化モードをフレーム間予測符号化に戻して新たに前記フレーム内符号化ブロック候補選択処理の実行を繰り返し、前記フレーム内符号化ブロック候補選択処理で選択可能なブロックの全てがフレーム内符号化に符号化モードを変更すると画質劣化度が増加する場合には処理を終了するブロック符号化モード判定処理からなることを特徴とする動画像符号化方法。
【請求項１０】
請求項３に記載の動画像符号化方法において、
前記ブロック符号量推定工程において、注目するブロックの符号化モードがフレーム内符号化の場合には、入力信号に対して変換符号化処理および量子化を行い量子化後の符号についてエントロピ―を算出し、前記注目するブロックの符号化モードがフレーム間予測符号化の場合には、予測誤差信号に対し変換符号化処理および量子化を行い量子化後の符号についてエントロピ―を算出することで符号量の推定を行うことを特徴とする動画像符号化方法。
【請求項１１】
請求項３に記載の動画像符号化方法において、
前記ブロック符号量推定工程において、注目するブロックの符号化モードがフレーム内符号化の場合には、入力信号に対してその分散をもとに符号量の推定を行い、前記注目するブロックの符号化モードがフレーム間予測符号化の場合には、予測誤差信号に対してその分散をもとに符号量の推定を行うことを特徴とする動画像符号化方法。
【請求項１２】
請求項３に記載の動画像符号化方法において、
前記ブロック符号量推定工程において、注目するブロックの符号化モードがフレーム間予測符号化の場合に、フレーム間の動き検出において得られる動き補償後の予測画像と入力画像との誤差量をもとに符号量の推定を行うことを特徴とする動画像符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像符号化方法に関し、特に、回線品質の低い通信路において伝送された画像データの劣化を抑制する方法に関する。
【０００２】
【従来の技術】
フレーム内符号化とフレーム間予測符号化を符号化単位となるブロック毎に選択して用いる従来の動画像符号化方法において、符号化効率に基づいてこれらを選択するのとは別に、符号化した動画像を伝送する際に発生する誤りにより画質が劣化するのを抑制するためブロックを強制的にフレーム内符号化(リフレッシュ)する手法がある。画質の劣化した画像に対してフレーム間予測符号化を行うと、劣化が複数のフレームにわたって伝播し、その結果主観画質が著しく低下する。それに対して画像を強制的にリフレッシュすることで劣化の伝播を抑え、画質劣化に対する耐性を向上させる。画像内の各領域に対して誤りが発生したときの劣化の度合は画素値の分布に依存することから、画質の劣化の著しいブロックに対して優先的に強制リフレッシュを行うことにより、符号化効率を大きく低下させることなく効果的に誤りに対する耐性を向上させることができる。
【０００３】
図８はこの手法を用いた従来の動画像符号化方法の処理の流れを示すフローチャートである。この図８を用いて従来の動画像符号化方法について説明する。
【０００４】
入力画像をフレーム毎に符号化するに際し、まず符号化後のデータが誤りによって欠損したことを仮定した場合の画質劣化の度合を示す画質劣化度を、符号化単位となるブロック毎に算出する(S20)。次に、画質劣化度をもとに、強制的にリフレッシュを行う優先度を算出する(S21)。その後、強制リフレッシュ優先度を元にリフレッシュを行うブロックを決定する。また符号化効率を考慮した符号化モードの決定も別に行われる(S22)。このようにして決められた符号化モードに従って、フレーム内の全ブロックに対しフレーム内符号化もしくはフレーム間予測符号化が行われる(S23)。
【０００５】
図９は、特開2000-165881号公報に示された動画像符号化装置を示すブロック図である。以下図９を用いて、前記従来の動画像符号化方法についてさらに詳述する。
【０００６】
入力画像101が入力されると、まず前処理として、フレームメモリ2に格納されている参照画像からの動きをフレーム間動き検出部3が検出し、動きベクトルを動き補償フレーム間予測部20に送るのと同時に、動き検出時に得られるブロック毎の参照画像と入力画像との差分絶対値和を劣化誤差量算出部4に送る。
【０００７】
劣化誤差量算出部4は、符号化データの中で伝送誤りが発生したことを仮定した時の劣化画像と入力画像との劣化誤差を算出する。
【０００８】
図１０は劣化時の誤差について説明する図である。復号器では、誤りの発生していない場合参照画像において動き補償位置にあるブロックの画素値が用いられるのに対し、誤りが発生してデータ欠損が起こった場合、参照画像において同一位置にあるブロックの画素値をそのままコピーすることで欠損した画素値を補完する。この時の画質劣化の度合は、参照画像において同一位置にある画素値と現在のフレームにおける画素値との差分によって表される。
【０００９】
一方図９において、前フレームの符号化データを元に、カウンタ21およびデータ欠損確率推定部22はブロック毎に誤りによってデータ欠損が起こる確率を推定する。
【００１０】
図１１は、誤りの発生した位置とデータ欠損確率について説明する図である。符号化データは、複数ブロックの符号化データの合間に同期符号が挿入される形をとっている。誤りが発生した際、復号器はその地点から次の同期符号までのデータを破棄し、その地点から改めてデータの復号を行う。そのため、伝送時の誤りはランダムに発生するのに対し、直前の同期符号からの距離が遠い符号化データほど破棄される確率が高くなる。
【００１１】
図９において、強制リフレッシュ優先度算出部30は、現フレームの劣化誤差量および前フレームのデータ欠損確率をそれぞれ閾値判定して強制リフレッシュを行う優先度を算出する。強制リフレッシュ優先度を格納する強制リフレッシュマップ31から、モード制御部32は強制リフレッシュを行うブロックを決定する。それに基づいて切替器13はブロックの符号化モードをフレーム内符号化もしくはフレーム間予測符号化のいづれかに切替える。このようにして定まった符号化モードに基づいて、入力画像もしくは予測誤差信号は、ブロック毎に変換符号化、量子化の後、符号化データへと変換される。この従来手法では、劣化誤差量およびデータ欠損確率の大きいブロックほど誤りが発生した際の劣化の度合が大きいことから、このようなブロックについて優先的にリフレッシュを行う。
【００１２】
【発明が解決しようとする課題】
しかし、上記従来方法は、符号化効率を考慮したフレーム内符号化/フレーム間予測符号化の切替えとは独立に行われるため、強制リフレッシュの選択基準となる閾値の設定によっては多くのブロックにおいてフレーム内符号化が選択され、符号化効率が低下する危険性がある。
【００１３】
また、上記従来方法は、伝送誤りが発生した場合の実際の画質劣化を十分に反映しておらず、強制リフレッシュブロックの選択を効果的に行えていない。特に、過去のフレームにおいて発生した劣化がフレーム間予測符号化によって伝播する効果を考慮していない。
【００１４】
本発明の目的は、上述した従来方法の欠点を除去した動画像符号化方法を提供することにある。
【００１５】
本発明の具体的な目的は、圧縮符号化した画像信号を回線品質の低い伝送路環境で通信するとき、誤りによって生ずる画質劣化を低減するように、あらかじめ画像信号の符号化を行う動画像符号化方法を提供することにある。
【００１６】
【課題を解決するための手段】
本発明の第１の態様によれば、フレーム内符号化およびフレーム間予測符号化の一方を、符号化単位となるブロック単位で適応的に選択して用いて、入力画像を符号化データに符号化する動画像符号化方法であって、
入力画像をフレーム毎に符号化するにおいて、符号化データを復号した復号画像と入力画像との誤差量と、データの欠損を仮定した場合の劣化画像と入力画像との誤差量とをブロック毎に算出する誤差量算出工程と、
前記誤差量の両方を元に、符号化データ中に伝送誤りがある確率で発生する場合の画質の劣化度合を表す画質劣化度をブロック毎に推定する画質劣化度推定工程と、
画質劣化度に基づいて、ブロック毎にフレーム内符号化およびフレーム間予測符号化のいづれを用いるかを示す符号化モードを制御するブロック符号化モード制御工程と、
前記符号化モードに従って当該フレーム内の全ブロックの符号化を行うフレーム符号化工程とを備えることを特徴とする動画像符号化方法が得られる。
【００１７】
本発明の第２の態様によれば、フレーム内符号化およびフレーム間予測符号化の一方を、符号化単位となるブロック単位で適応的に選択して用いて、入力画像を符号化データに符号化する動画像符号化方法であって、
入力画像をフレーム毎に符号化するにおいて、符号化モードをフレーム内の全てのブロックについてフレーム間予測符号化に設定する符号化モード初期設定工程と、
前記符号化モードに従ってブロック毎の符号化を行うブロック符号化工程と、符号化データを復号した復号画像と入力画像との誤差量と、データの欠損を仮定した場合の劣化画像と入力画像との誤差量とをブロック毎に算出する誤差量算出工程と、
前記誤差量の両方を元に、符号化データ中に伝送誤りがある確率で発生する場合の画質の劣化度合を表す画質劣化度をブロック毎に推定する画質劣化度推定工程と、
画質劣化度に基づいてブロック毎に符号化モードをフレーム間予測符号化およびフレーム内符号化のいづれかに制御するブロック符号化モード制御工程を備え、
前記ブロック符号化工程と前記誤差量算出工程と前記画質劣化度推定工程とを全てのブロックに対して行った後、前記ブロック符号化モード制御工程において符号化モードをフレーム内符号化に変更する候補ブロックが存在する場合には、当該ブロックの符号化モードをフレーム内符号化に変更してから前記ブロック符号化工程と前記誤差量算出工程と前記画質劣化度推定工程とを画像フレーム内の全てのブロックに対して行った後改めて前記ブロック符号化モード制御工程を行う一連の処理を繰り返し、前記ブロック符号化モード制御工程において符号化モードをフレーム内符号化に変更する候補ブロックが存在しない場合には、当該フレームの符号化処理を終了することを特徴とする動画像符号化方法が得られる。
【００１８】
誤差量算出工程は、復号画像と入力画像との誤差として量子化誤差量をブロック毎に算出する量子化誤差量算出処理と、データ欠損を仮定した場合の劣化画像と入力画像との誤差として劣化誤差量をブロック毎に算出する劣化誤差量算出処理とからなり、画質劣化度推定工程によって推定される画質劣化度は、符号化データ中に伝送誤りがある確率で発生することによる画質劣化の度合の期待値である劣化期待値と、量子化誤差量との和で表される。
【００１９】
このうち、量子化誤差量として、ブロック符号化工程において得られる各ブロックの量子化ステップをもとに推定したものを用いることも可能である。また、劣化誤差量は、劣化画像として前フレームの復号画像を用いて推定される。
【００２０】
画質劣化度推定工程は、符号化データ中に挿入される同期符号からの距離をブロック毎にカウントし、前記カウントした値から注目するブロックの符号化データが伝送中に欠損するデータ欠損確率を推定するデータ欠損確率推定処理をさらに有し、注目するブロックがフレーム内符号化されている場合の劣化期待値を前記劣化誤差量と前記データ欠損確率の積で算出し、注目するブロックがフレーム間予測符号化されている場合の劣化期待値を、前記劣化誤差量と前記データ欠損確率の積に、フレーム間予測符号化における動き補償処理によって参照される参照フレーム内領域の劣化期待値である劣化伝播項を加えた値とする。
【００２１】
このうち、劣化伝播項は、動き補償処理によって参照される参照フレーム内領域を中に含む複数ブロックの劣化期待値の重みづけ平均によって算出される。また、注目するブロックがフレーム間予測符号化されている場合の劣化期待値を、前記劣化誤差量と前記データ欠損確率の積に、予め定めた比例乗数に前記劣化伝播項を乗じた値を加えた値とすることも可能である。
【００２２】
ブロック符号化モード制御工程は、画像フレーム内の全ブロックの画質劣化度を予め定めた閾値と比較し、前記閾値よりも値の大きい画質劣化度を持つブロックの符号化モードをフレーム内符号化に変更することで実現される。あるいは、画質劣化度の大きいブロックから順に選択し、当該ブロックの符号化モードをフレーム内符号化に変更することで実現される。あるいは、全ブロックの中で符号化モードがフレーム間予測符号化であるブロックを任意に選択し、符号化モードをフレーム内符号化に一時的に設定するフレーム内符号化ブロック候補選択処理を行った後、フレーム内符号化ブロック候補選択処理によって選択されたブロックの画質劣化度を一時的に記憶し、ブロック符号化工程、前記誤差量算出工程、および画質劣化度推定工程を再度画像フレーム内の全ブロックに対して行った後、注目するブロックの更新された画質劣化度が一時的に記憶した前記画質劣化度に比べて減少している場合には注目するブロックの符号化モードをフレーム内符号化に変更し、新たに前記フレーム内符号化ブロック候補選択処理の実行を繰り返し、注目するブロックの更新された画質劣化度が一時的に記憶した前記画質劣化度に比べて増加している場合には注目するブロックの符号化モードをフレーム間予測符号化に戻して新たに前記フレーム内符号化ブロック候補選択処理の実行を繰り返し、前記フレーム内符号化ブロック候補選択処理で選択可能なブロックの全てがフレーム内符号化に符号化モードを変更すると画質劣化度が増加する場合には処理を終了することで実現される。
【００２３】
本発明の第３の態様によれば、フレーム内符号化およびフレーム間予測符号化の一方を、符号化単位となるブロック単位で適応的に選択して用いて、入力画像を符号化データに符号化する動画像符号化方法であって、
入力画像をフレーム毎に符号化するにおいて、ブロック毎にフレーム内符号化およびフレーム間予測符号化のいづれを用いるかを示す符号化モードを画像フレーム内の全てのブロックについてフレーム間予測符号化に設定する符号化モード初期設定工程と、
前記符号化モードに従ってブロック毎の符号量の推定を行うブロック符号量推定工程と、
符号化データを復号した復号画像と入力画像との誤差量と、データの欠損を仮定した場合の劣化画像と入力画像との誤差量とをブロック毎に算出する誤差量算出工程と、
前記誤差量の両方を元に、符号化データ中に伝送誤りがある確率で発生する場合の画質劣化の度合を表す画質劣化度をブロック毎に推定する画質劣化度推定工程と、
画質劣化度に基づいてブロック毎に符号化モードをフレーム間予測符号化およびフレーム内符号化のいづれかに制御するブロック符号化モード制御工程と、
前記符号化モードに従ってブロック毎の符号化を行うブロック符号化工程とを備え、
前記ブロック符号量推定工程と前記誤差量算出工程と前記画質劣化度推定工程とを全てのブロックに対して行った後、前記ブロック符号化モード制御工程において符号化モードをフレーム内符号化に変更する候補ブロックが存在する場合には、当該ブロックの符号化モードをフレーム内符号化に変更してから前記ブロック符号量推定工程と前記誤差量算出工程と前記画質劣化度推定工程とを全てのブロックに対して行った後改めて前記ブロック符号化モード制御工程を行う一連の処理を繰り返し、前記ブロック符号化モード制御工程において符号化モードをフレーム内符号化に変更する候補ブロックが存在しない場合において、その時点での各ブロックの符号化モードに基づいて当該フレームの全ブロックのブロック符号化工程を行うことを特徴とする動画像符号化方法が得られる。
【００２４】
ブロック符号量推定工程は、画像フレーム内の全ブロックの符号量の和が予め定められた目標符号量の近傍に収まるように各ブロックの量子化ステップを制御する符号量制御処理をさらに有し、ブロック符号量推定工程において得られる各ブロックの量子化ステップを元に量子化誤差量が推定される。
【００２５】
画質劣化度推定工程は、ブロック符号量推定工程によって得られるブロック毎の予測符号量をもとに、符号化データ中に挿入される同期符号の位置を決定する同期符号位置決定処理と、前記同期符号からの距離をブロック毎にカウントし、前記カウントした値から注目するブロックの符号化データが伝送中に欠損するデータ欠損確率を推定するデータ欠損確率推定処理をさらに有する。
【００２６】
ブロック符号量推定処理においては、注目するブロックの符号化モードがフレーム内符号化の場合には入力信号に対して変換符号化処理および量子化を行い量子化後の符号についてエントロピ―を算出し、フレーム間予測符号化の場合には予測誤差信号に対し変換符号化処理および量子化を行い量子化後の符号についてエントロピ―を算出することで符号量の推定を行う方法が用いられる。また、符号化モードがフレーム内符号化の場合には入力信号に対してその分散をもとに符号量の推定を行い、符号化モードがフレーム間予測符号化の場合には予測誤差信号に対してその分散をもとに符号量の推定を行う方法や、注目するブロックの符号化モードがフレーム間予測符号化の場合にフレーム間の動き検出において得られる動き補償後の予測画像と入力画像との誤差量をもとに符号量の推定を行う方法も用いられる。
【００２７】
【発明の実施の形態】
次に本発明の実施形態について、図１から図５を用いて説明する。
【００２８】
図１は本発明における処理の流れを示すフローチャートである。
【００２９】
図１において、画像フレームの符号化が開始された時点でフレーム内の各ブロックについて、符号化データを復号した復号画像と入力画像との誤差である量子化誤差および符号化データ中に誤りが発生したことを仮定した時の劣化画像と入力画像との誤差である劣化誤差を算出し(S1)、誤りがある確率で発生する場合の画質劣化の期待値と量子化誤差との線形和で表される画質劣化度の推定を行う(S2)。その後、各ブロックの画質劣化度の和がなるべく小さくなるようにブロックの符号化モードを選択し(S3)、この符号化モードを元にフレーム内の全ブロックの符号化を行う(S4)。
【００３０】
以上の処理に際し、各種誤差の推定あるいは符号化モードの制御方式には複数の実装方式が存在する。本発明は、誤りによる劣化の度合と符号化時の量子化による劣化の度合を統合して考慮することで、符号化モードの制御を行うことを特徴とする。画質劣化度の推定方法あるいは符号化モードの決定方法について、以下に、より具体的な実施例を挙げて詳述する。
【００３１】
図２は本発明の一実施形態における処理の流れを示すフローチャートである。
【００３２】
図２において、画像フレームの符号化が開始された時点で、まず各ブロックに対して符号化モードをフレーム間予測符号化に初期設定する(S5)。その後指定された符号化モードに従ってブロック毎に符号化を行う(S6)。符号化データを復号した復号画像と入力画像との誤差である量子化誤差および符号化データ中に誤りが発生したことを仮定した時の劣化画像と入力画像との誤差である劣化誤差をブロック毎に算出し(S7)、これら二つの誤差とデータ欠損確率に基づいて、画質劣化度の推定を行う(S8)。S6からS8の処理を画像フレーム内の全ブロックについて行った後(S9)、画質劣化度が減少するように符号化モードの変更を行う(S10)。符号化モードをフレーム内符号化に変更する候補ブロックが存在する場合には、画像フレーム内の全ブロックに対してブロックの符号化から画質劣化度の推定を行った後改めて符号化モードの変更を行うという一連の処理を繰り返し、候補ブロックが存在しない場合には画像フレームの符号化処理を終了する(S11)。
【００３３】
図３は本発明の一実施形態を示すブロック図である。図２に示した本発明の一実施形態の処理の流れについて、図３を参照してさらに詳述する。
【００３４】
入力画像101が入力されると、各ブロックの符号化の前処理に、各ブロックの符号化モードの初期値として全てのブロックの符号化モードをフレーム間符号化とする。また、参照画像と入力画像の間の動き検出処理が行われる。フレーム間動き検出部3は、フレームメモリ2から読みだした参照画像を参照し、入力画像101のフレーム間での動きを検出し、小ブロック毎の動きを示す動きベクトル103を出力する。
【００３５】
変換符号化部14は、ブロックの符号化モードがフレーム内符号化の場合には、フレームメモリ1に格納されている入力画像を直交変換し、変換後の信号を量子化部15が量子化する。フレーム間予測符号化の場合には、動き補償フレーム間予測部20が、フレームメモリ2に格納された参照画像と動きベクトル103とを参照して、動き補償フレーム間予測を行って予測画像108を算出する。減算器11はフレームメモリ1に格納されている入力画像と予測画像108の差分をとり、その結果得られた予測誤差信号に対して変換符号化部14が直交変換し、量子化部15は変換後の信号を量子化する。符号変換部16は、量子化部15によって出力された量子化された信号を符号化し符号化データを生成する。また量子化後の信号は、逆量子化部17によって逆量子化され、逆変換符号化部18によって逆変換される。加算器19は、予測画像108と逆変換符号化後の予測誤差画像を加算し、参照画像を生成し、フレームメモリ2に格納する。
【００３６】
ブロックの符号化処理の後、減算器12は、変換符号化部に入力する信号と逆変換符号化部の出力する信号との差分をとり、量子化誤差量をブロック毎に算出する。また、劣化誤差量算出部4は、フレーム間動き検出部3による動き検出処理中に得られる、参照画像と現在のフレームとの誤差量をもとに、入力画像を符号化したデータが誤りによって欠損した場合の入力画像との劣化誤差量102をブロック毎に算出する。この誤差量として、差分二乗和や差分絶対値和もしくは人間の視覚特性を考慮したパワーが用いられる。
【００３７】
カウンタ21は、符号変換部16の出力する符号化データを監視し、同期符号を挿入した位置と、注目するブロックとの間の距離として区間の符号量を計測する。データ欠損確率推定部22は、前記符号量を元に注目するブロックが誤りによって欠損する確率104を算出する。その算出式は例えば、前記符号量をL、ビット単位に誤りの発生する確率をλ、誤りの発生がランダムに起こるとすると、1-(1-λ)Lと与えられる。また、この式はλを1に対して微小な値とする(λ≪1)と、λ*Lと近似される。
【００３８】
リフレッシュブロック選択部5は、劣化誤差量102、動きベクトル103、ブロック毎の誤りによるデータ欠損確率104、量子化誤差量105を入力としてブロック毎の画質劣化度を算出し、それに基づいて符号化モードの変更を行う。メモリ10は全ブロックの符号化モードを格納する。
【００３９】
図４は、リフレッシュブロック選択部5の構成を示すブロック図である。リフレッシュブロック選択部5は、劣化誤差量102をフレーム内の全ブロックについて格納するメモリ6と、メモリ6に格納された劣化誤差量および動きベクトル103およびデータ欠損確率104および量子化誤差量105およびメモリ9に格納されている前フレームの画質劣化度を参照し、誤りにより発生する画質劣化と量子化による画質劣化の双方を考慮した統合的な画質劣化度を推定する画質劣化度推定部7と、前フレームおよび現在のフレームにおけるブロック毎の画質劣化度を全ブロックについて格納するメモリ9と、画質劣化度推定部7によって更新された画質劣化度とメモリ9に格納された現フレームの画質劣化度とを比較して該当ブロックの符号化モードを決定するモード制御部8とからなる。
【００４０】
画質劣化度は、該当ブロックの符号化モードがフレーム内符号化かフレーム間予測符号化かによって異なる値をとる。フレーム内符号化の場合には、誤りによってデータが欠損した際の画質劣化の期待値をデータ欠損確率104とメモリ6に格納されている劣化誤差量の積で表し、それに量子化誤差量105を加えた値となる。一方、フレーム間予測符号化の場合には、データ欠損確率104とメモリ6に格納されている劣化誤差量の積と、量子化誤差量105との和に、参照フレームにおける画質劣化のフレーム間予測による伝播項を加える必要がある。
【００４１】
画質劣化の伝播について図５を用いて説明する。
【００４２】
図５において、現フレームの該当ブロックB10に対し、参照フレームにおける動き補償フレーム間予測による参照先をB10'とする。またB10'を中に含む、参照フレーム内のブロックをそれぞれB00,B01,B02,B03、これらのブロックとB10'の共通部分をそれぞれb00,b01,b02,b03とする。またB10に対する動きベクトルをVとする。フレーム間予測符号化によって、ブロックB10はB10'内の画質劣化をそのまま受け継ぐことになる。その値はB10'の部分領域であるb00,b01,b02,b03における画質劣化の和となる。これらの画質劣化度を、ブロックB00,B01,B02,B03における画質劣化度に対し、面積比を乗ずることで近似する。この面積比は動きベクトルVによって定めることができる。ブロックの一辺をm、Vを水平軸方向に射影した長さをVx、垂直軸方向に射影した長さをVyとすると、B00に対するb00の面積比は(m-Vx)*(m-Vy)/m*mと表すことができる。b01,b02,b03についても同様である。以上より、B10の参照フレームからの劣化の伝播項は、メモリ9に格納されているB00,B01,B02,B03の画質劣化度を参照し、それらを動きベクトル103に従って重みづけ加算した値として表される。
【００４３】
画像フレーム内の全ブロックについて画質劣化度の算出が終わった時点で、その値に基づいてフレーム内符号化の対象となるブロックを選択する。選択の尺度は、全ブロックの画質劣化の和が最小になるようにすることである。ブロックの符号化モードをフレーム間予測符号化からフレーム内符号化に変えることにより、前フレームからの劣化伝播の影響がなくなる一方、符号量が増大するためデータ欠損確率も増加し符号量制御により量子化誤差量も増大する。
【００４４】
選択には二つの方法がある。一つは、算出した画質劣化度に基づいて一括してフレーム内符号化を行うブロックを決定する方法である。各ブロックについて画質劣化度が予め定めた閾値よりも大きいブロックに対して、あるいは画質劣化度の大きい順にブロックを予め定めた数だけ選択し、符号化モードをフレーム内符号化とする。その後定められた符号化モードに従って、現フレームにおける全ブロックに対して符号化を行い、現フレームの符号化処理を終了する。
【００４５】
もう一つは、ブロック符号化から画質劣化度推定までの処理を全ブロックについて複数回行う方法である。全ブロックの中で符号化モードがフレーム間予測符号化であるブロックを任意に選択し、画質劣化度を一時的に記憶した後符号化モードをフレーム内符号化に一時的に設定する。ブロックの符号化、誤差量算出、データ欠損確率の推定および画質劣化度の推定工程を再度画像フレーム内の全ブロックに対して行った後、注目するブロックの更新された画質劣化度が一時的に記憶した画質劣化度と比較する。更新された画質劣化度が以前に比べて減少している場合には、注目するブロックの符号化モードをフレーム内符号化に変更し、新たにフレーム内符号化に変更する候補ブロックの選択処理を繰り返す。更新された画質劣化度が以前に比べて増加している場合には、注目するブロックの符号化モードをフレーム間予測符号化に戻して、新たに符号化モードがフレーム間予測符号化である他のブロックを選択し、上記の操作を行う。候補となる全てのブロックに対して符号化モードを変更しても画質劣化度が増加する場合に、フレームの符号化処理を終了する。
【００４６】
以上の処理では、フレーム内符号化に切替える候補ブロックとして符号化モードがフレーム間予測符号化であるブロックを任意に選択し、それを繰り返すことで全ブロックの画質劣化度の和が最小になるよう符号化モードを決定したが、画質劣化度が最も大きいブロックを順に選択する、もしくは最も大きいブロックから複数個選択するなど他の選択方法をとることも可能である。
【００４７】
また、画質劣化度を推定する処理として、現フレームにおける劣化期待値と、前のフレームからの劣化伝播項と、量子化誤差パワーを単純に加算することで統合的な画質劣化度としたが、これらは設計時における画質の調整に応じて、適宜重みづけを変える。例えば、画質劣化度として量子化誤差量を用いないことで、正常に復号できた際の画質を考慮せず常に最適な誤り耐性を有するようにモード選択がなされる。また、前のフレームからの劣化伝播項に対して1を越えた値を乗ずることで、前フレームからの劣化の伝播が大きいブロックに対して優先的にフレーム内符号化を行うことにより、劣化したブロックが複数フレームにわたって停留するのを抑圧できる。
【００４８】
また本発明において量子化誤差量105を算出するのに、変換符号化部14に入力される信号と逆変換符号化部18に出力される信号を用いているが、量子化部15で用いられる量子化ステップをもとに量子化誤差量を推定することも可能である。例えば[a-Q/2,a+Q/2)の範囲にある値をaに量子化する場合、誤差の二乗の平均値はQ^2/12で表される。
【００４９】
次に本発明における第二の実施形態について、図６および図７を用いて説明する。
【００５０】
図6は本発明の第二の実施形態における処理の流れを示すフローチャートである。
【００５１】
入力画像内の各ブロックに対して符号化モードをフレーム間予測符号化に初期設定した後(S12)、ブロック毎に符号量の推定を行う(S13)。符号化データを復号した復号画像と入力画像との誤差である量子化誤差および符号化データ中に誤りが発生したことを仮定した時の劣化画像と入力画像との誤差である劣化誤差をブロック毎に算出し(S14)、これら二つの誤差とデータ欠損確率に基づいて、誤りがある確率で発生する場合の画質の劣化の度合と量子化による画質の劣化の度合とを統合した画質劣化度の推定を行う(S15)。この処理を画像フレーム内の全ブロックについて行った後(S16)、画質劣化度が減少するように符号化モードの変更を行う(S17)。符号化モードをフレーム内符号化に変更する候補ブロックが存在する場合には、画像フレーム内の全ブロックに対してブロックの符号量推定から画質劣化度の推定を行った後改めて符号化モードの変更を行うという一連の処理を繰り返し、候補ブロックが存在しない場合には符号化モードの変更を終了し(S18)、その時点での符号化モードに従ってフレーム内の全ブロックの符号化を行って(S19)フレームの符号化処理を終了する。
【００５２】
図７は本発明の第二の実施形態を示すブロック図である。第二の実施形態の処理の流れについて、図７を用いてさらに詳述する。
【００５３】
図７において、本実施形態の動画像符号化方法を実現する構成例は、図3に示す第一の実施形態の動画像符号化符号化を実現する構成例に加えて、フレーム内符号化符号量推定部23、フレーム間予測符号化符号量推定部24、フレームメモリ25、メモリ26、量子化誤差量推定部27、同期符号位置決定部28、をさらに有する。
【００５４】
画像フレームの符号化が開始し、全ブロックの動き検出、劣化誤差量の算出および符号化モードの初期設定が終わった後、ブロック毎に符号量の推定を行う。
【００５５】
フレーム内符号化符号量推定部23は、入力画像を入力として該当するブロックに対してその符号量の推定を行い、メモリ26に格納する。メモリ26はフレーム内における全ブロックの推定符号量を格納する。符号量の推定には、ブロック内信号の分散を算出しそれを元に行う方法などがある。また、実際の符号化同様に、変換符号化および量子化を行い情報量を算出することも可能である。
【００５６】
フレーム間予測符号化符号量推定部24は、フレーム間予測符号化によって得られる予測誤差信号およびフレーム間動き検出処理時に得られる予測誤差パワー双方もしくはどちらか一方を入力として、該当するブロックに対してその符号量の推定を行い、メモリ26に格納する。フレームメモリ25は符号量の推定を行うため、予測誤差信号を一旦格納しておく記憶部である。符号量の推定を予測誤差パワーのみを用いて行う場合には、フレームメモリ25を必要としない。
【００５７】
量子化誤差量推定部27は、メモリ26に格納されているブロック毎の符号量推定値を用いて、各ブロックに設定される量子化ステップを推定し、それを元に量子化誤差量を算出する。量子化ステップの推定処理は、通常の符号化において用いられる符号量制御方式と同様のものを用いる。
【００５８】
同期符号位置決定部28は、メモリ26に格納されているブロック毎の符号量推定値を用いてデータ欠損確率を算出するために、同期符号の位置を決定する。カウンタ20は決定された同期信号から該当するブロックまでの距離を符号量としてカウントする。同期符号位置決定部28の定めた同期符号の位置は、実際の符号化にも反映されるため、符号変換部29に送られる。
【００５９】
リフレッシュブロック選択部5は、劣化誤差量算出部4の出力する劣化誤差量および動き補償フレーム間予測部の出力する動きベクトルおよび量子化誤差量推定部の出力する量子化誤差量およびデータ欠損確率推定部の出力するデータ欠損確率に基づいて、全ブロックについて画質劣化度の算出を行い、符号化モードの変更を行う。符号化モードがフレーム内符号化に変更になったブロックに対して符号量の推定を新たに行い、それを元に全ブロックの量子化誤差量およびデータ欠損確率を推定する。第１の実施形態と同様の手続きによってブロック毎の符号化モードを決定した後、フレーム内における全ブロックの符号化処理を行う。
【００６０】
第一の実施形態では、候補ブロックの符号化モードがフレーム内符号化とフレーム間予測符号化の双方の場合について、全ブロックについて符号化を行った後、画質劣化度を比較するという処理を、リフレッシュブロックを決定する度に行っていた。そのため演算量を膨大に必要にしていたのに対して、第二の実施形態では、ブロック毎にフレーム内符号化とフレーム間予測符号化の双方の場合の符号量を予測することで、実際の符号化処理を行う前に全ブロックの符号化モードを決定する。これにより第二の実施形態における演算量は大幅に減少している。
【００６１】
以上、本発明について二つの実施形態を用いて説明したが、本発明は量子化誤差と劣化期待値の線形和として表される画質劣化度を用いて強制リフレッシュを行うブロックを選択する他の動画像符号化方法についても適用可能である。
【００６２】
【発明の効果】
以上説明したように、本発明の動画像符号化方式によれば、強制リフレッシュの尺度となるブロック毎の画質劣化度として、通常の符号化時に発生する歪みである量子化誤差を考慮する、もしくは過去のフレームからの劣化の伝播を優先的に考慮することにより、符号化効率を考慮した効果的な強制リフレッシュが実現でき、従来の方法に比べて誤りが発生しない場合の画質が著しく劣化しないという効果が得られる。
【００６３】
また、本発明によれば、伝送誤りに対して発生する画質劣化の度合をブロック毎に推定し、画質劣化の予想されるブロックに対して優先的に強制リフレッシュを行う。従来の手法では閾値の設定や強制リフレッシュを行うブロックの数など動画像の特性を考慮せず経験的にパラメータを調整していたため、画像によっては十分な性能を得られない危険性があったのに対して、本発明により常に好適な強制リフレッシュを実現することが可能となる。
【図面の簡単な説明】
【図１】本発明の処理の流れを示すフローチャートである。
【図２】本発明の第１の実施の処理の流れを示すフローチャートである。
【図３】本発明の第１の実施の形態のブロック図である。
【図４】図３におけるリフレッシュブロック選択部の構成を示すブロック図である。
【図５】前フレームにおける画質劣化の現フレームへの伝播について説明する図である。
【図６】本発明の第２の実施の処理の流れを示すフローチャートである。
【図７】本発明の第２の実施の形態のブロック図である。
【図８】従来の動画像符号化方法の処理の流れを示すフローチャートである。
【図９】従来の動画像符号化方法における実施例の構成を示すブロック図である。
【図１０】誤りが発生した際の復号器による隠蔽処理と画質劣化について説明する図である。
【図１１】誤りが発生した際のデータ欠損確率について説明する図である。
【符号の説明】
1,2,25  フレームメモリ
3  フレーム間動き検出部
4  劣化誤差量算出部
5  リフレッシュブロック選択部
6,9,10,26  メモリ
7  画質劣化度推定部
8,32  モード制御部
11,12  減算器
13  切替器
14  変換符号化部
15  量子化部
16,29  符号変換部
17  逆量子化部
18  逆変換符号化部
19  加算器
20  動き補償フレーム間予測部
21  カウンタ
22  データ欠損確率推定部
23  フレーム内符号化符号量推定部
24  フレーム間予測符号化符号量推定部
27  量子化誤差量推定部
28  同期符号位置決定部
30  強制リフレッシュ優先度算出部
31  強制リフレッシュマップ
101  入力画像
102  劣化誤差量
103  動きベクトル
104データ欠損確率
105  量子化誤差量
106  符号化モード
107  予測誤差画像
108  予測画像
【図１】
0004525878.tif 000002
【図２】
0004525878.tif 000003
【図３】
0004525878.tif 000004
【図４】
0004525878.tif 000005
【図５】
0004525878.tif 000006
【図６】
0004525878.tif 000007
【図７】
0004525878.tif 000008
【図８】
0004525878.tif 000009
【図９】
0004525878.tif 000010
【図１０】
0004525878.tif 000011
【図１１】
0004525878.tif 000012