説明

映像再生方法、映像再生装置、映像再生プログラム及び記録媒体

【課題】階層構造を有する映像符号化データが入力される映像再生装置において、伝送エラーを隠蔽することができる映像再生方法を提供する。
【解決手段】所定時刻において再生したい所望階層より下位の階層までが復号できた際に伝送エラーを隠蔽して再生する映像再生方法であって、記憶部に記憶した所定時刻の受信済みの符号化パケットから符号化情報を取り出すとともに復号信号を形成する復号信号形成ステップと、記憶部に記憶した所定時刻以外の受信済みの符号化情報、生成済みの復号信号及び再生用信号を読み込む信号読み込みステップと、所定時刻の符号化情報及び復号信号と、所定時刻以外の符号化情報、復号信号及び再生用信号とを用いて、所定時刻において再生したい所望階層の信号を疑似的に生成する擬似信号生成ステップと、疑似的に生成した信号を所定時刻の再生用信号として出力する信号出力ステップとを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、階層構造を有する映像符号化データが入力される映像再生装置において、伝送エラーを隠蔽する映像再生装置、映像再生方法、映像再生プログラム及び記録媒体に関する。
【背景技術】
【0002】
パケット遅延やパケットロスといった伝送エラーが伴うネットワーク回線を用いて映像データのストリーミング再生を行う際に、ブロックノイズの発生、再生の遅延、フレーム飛びといった映像品質劣化が発生する。この品質劣化を回避するために、通常、伝送エラー回復技術や伝送エラー隠蔽技術が用いられる。伝送エラー回復技術は、予め本来の映像データに冗長データを付与し、その冗長データを用いて伝送エラーにより欠落したパケットの情報を回復する技術である。代表的なものに、前方誤り訂正技術(FEC:Forward Error Correction)が知られている。一方、伝送エラー隠蔽技術は、伝送エラーによりパケットが欠落し、前方誤り訂正技術などを用いても回復できない場合や、伝送遅延により再生したいタイミングで映像が出来上がっていない(再生可能となっていない)場合などに、すでに受信済みの情報のみで極力高品質の再生映像を構成する技術である。例えば、デコード画像データにエラーが発生した場合に、現に表示している画像をリピート表示することで伝送エラーを隠蔽する画像表示制御方法が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−119693号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の画像表示制御方法にあっては、現に表示している画像をリピート表示する方法であるため、エラー発生区間における被写体の動きの再現が困難であるという問題がある。これは、被写体の動きが大きいほど主観品質の劣化は顕著となる。また、スケーラブル映像符号化のような階層符号化にも特許文献1に記載の技術を適用することは可能であるが、被写体の動きの再現が困難であるという同様の問題がある。
【0005】
本発明は、このような事情に鑑みてなされたもので、階層構造を有する映像符号化データが入力される映像再生装置において、伝送エラーを隠蔽することができる映像再生装置、映像再生方法、映像再生プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、受信した複数の階層に階層化された符号化データを復号して再生する際に発生した伝送エラーを隠蔽するために、所定時刻において再生したい所望階層より下位の階層までが復号できた際に伝送エラーを隠蔽して再生する映像再生方法であって、記憶部に記憶した前記所定時刻の受信済みの符号化パケットから符号化情報を取り出すとともに復号信号を形成する復号信号形成ステップと、前記記憶部に記憶した前記所定時刻以外の受信済みの符号化情報、生成済みの復号信号及び再生用信号を読み込む信号読み込みステップと、前記所定時刻の符号化情報及び復号信号と、前記所定時刻以外の符号化情報、復号信号及び再生用信号とを用いて、前記所定時刻において再生したい前記所望階層の信号を疑似的に生成する擬似信号生成ステップと、前記疑似的に生成した信号を前記所定時刻の再生用信号として出力する信号出力ステップとを有することを特徴とする。
【0007】
本発明は、前記疑似信号生成ステップは、前記疑似信号を生成する方法が、2つ以上存在し、所定の階層、所定の画像領域ごとに最適な方法を選択することを特徴とする。
【0008】
本発明は、前記疑似信号生成ステップは、前記疑似信号を生成する方法が、2つ存在し、該2つの方法により生成された疑似信号を、所定の重み係数を用いて重み付け平均をとって前記擬似信号を生成することを特徴とする。
【0009】
本発明は、空間スケーラブル符号化の場合には、前記疑似信号を生成する方法が、前記所定時刻の下位階層の復号信号を、所定の手順により前記所望階層と下位階層の解像度比に応じて拡大処理した信号を前記疑似信号とする方法と、前記所定時刻の前記下位階層の動き情報を、所定の手順により前記所望階層と前記下位階層の解像度比に応じてスケーリングした動き情報を用いて所望階層において動き補償をし、前記所定時刻の前記下位階層の予測残差信号を、所定の手順により前記所望階層と前記下位階層の解像度比に応じて拡大処理し、前記動き補償信号と拡大後の予測残差信号を加算したものを前記疑似信号とする方法の2つであることを特徴とする。
【0010】
本発明は、SNRスケーラブル符号化の場合には、前記疑似信号を生成する方法が、前記所定時刻の前記下位階層の復号信号を前記疑似信号とする方法と、前記所定時刻の前記下位階層の動き情報を用いて前記所望階層における動き補償をし、動き補償信号と前記所定時刻の前記下位階層の予測残差信号とを加算したものを前記疑似信号とする方法の2つであることを特徴とする。
【0011】
本発明は、前記疑似信号を生成する方法の選択は、対象画像領域と空間的に同じ位置に存在する前記下位階層の画像領域が保有する予測残差信号の絶対値の合計値が、所定のしきい値よりも大きいか否かの判定結果に基づき選択することを特徴とする。
【0012】
本発明は、前記疑似信号を生成する方法の選択は、前記所定時刻より前に、連続して発生している伝送エラーの時間累積値をもとに選択することを特徴とする。
【0013】
本発明は、前記疑似信号を生成する方法の選択は、所定の画像領域においてすでに選択された前記疑似信号を生成する方法の情報に基づいて、前記画像領域において実施する2つ以上の候補を持つエラー隠蔽信号生成手法の候補を減らした後のエラー隠蔽信号生成手法の候補のうちから最適な方法を選択することを特徴とする。
【0014】
本発明は、受信した複数の階層に階層化された符号化データを復号して再生する際に発生した伝送エラーを隠蔽するために、所定時刻において再生したい所望階層より下位の階層までが復号できた際に伝送エラーを隠蔽して再生する映像再生装置であって、記憶部に記憶した前記所定時刻の受信済みの符号化パケットから符号化情報を取り出すとともに復号信号を形成する復号信号形成部と、前記記憶部に記憶した前記所定時刻以外の受信済みの符号化情報、生成済みの復号信号及び再生用信号を読み込む信号読み込み部と、前記所定時刻の符号化情報及び復号信号と、前記所定時刻以外の符号化情報、復号信号及び再生用信号とを用いて、前記所定時刻において再生したい前記所望階層の信号を疑似的に生成する擬似信号生成部と、前記疑似的に生成した信号を前記所定時刻の再生用信号として出力する信号出力部とを備えることを特徴とする。
【0015】
本発明は、受信した複数の階層に階層化された符号化データを復号して再生する際に発生した伝送エラーを隠蔽するために、所定時刻において再生したい所望階層より下位の階層までが復号できた際に伝送エラーを隠蔽して再生する映像再生装置上のコンピュータに映像再生を行わせる映像再生プログラムであって、記憶部に記憶した前記所定時刻の受信済みの符号化パケットから符号化情報を取り出すとともに復号信号を形成する復号信号形成ステップと、前記記憶部に記憶した前記所定時刻以外の受信済みの符号化情報、生成済みの復号信号及び再生用信号を読み込む信号読み込みステップと、前記所定時刻の符号化情報及び復号信号と、前記所定時刻以外の符号化情報、復号信号及び再生用信号とを用いて、前記所定時刻において再生したい前記所望階層の信号を疑似的に生成する擬似信号生成ステップと、前記疑似的に生成した信号を前記所定時刻の再生用信号として出力する信号出力ステップとを前記コンピュータに行わせることを特徴とする。
【0016】
本発明は、請求項10に記載の映像再生プログラムを記録したことを特徴とする。
【発明の効果】
【0017】
本発明によれば、パケットロスや伝送遅延により所望フレームの所望階層が再生したいタイミングに復号されていない場合に従来技術と比較して、最終的に再生する映像の画像品質を向上できるという効果が得られる。特に、階層間において周波数特性が大きく異なる場合や、フレーム内の被写体の動きが大きい場合に、従来技術からの画像品質の向上効果は顕著になる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施形態による映像再生装置の構成を示すブロック図である。
【図2】図1に示す映像再生装置の動作を示すフローチャートである。
【図3】図1に示すエラー隠蔽処理部6の構成を示すブロック図である。
【図4】図3に示すエラー隠蔽処理部6の動作を示すフローチャートである。
【図5】図3に示すエラー隠蔽信号生成部12の構成を示すブロック図である。
【図6】図5に示すエラー隠蔽信号生成部12の動作を示すフローチャートである。
【図7】実験結果を示す図である。
【図8】実験結果を示す図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して、本発明の一実施形態による映像再生装置を説明する。図1は同実施形態の構成を示すブロック図である。ここでは、例として、基本階層、拡張階層#1と拡張階層#2の3階層からなる階層符号化データが入力されるものとする。また、階層符号化データの例として、空間スケーラブル符号化がなされたデータが入力されるものとする。空間スケーラブル符号化としては、SVC(スケーラブル映像符号化)などが適用可能である。
【0020】
図1において、符号1は、符号化データが格納されたビデオパケットを受信し、受信したビデオパケットを記憶部8に格納するパケット受信部である。以下の説明において、記憶部8は、レジスタ、ビデオメモリ、物理メモリ、キャッシュなどで構成するものとして説明する。符号2は、記憶部8よりビデオパケットを読み込み、当該時刻の各階層のパケットが正常に受信できているかをチェックし、各階層について、パケット受信可否を示すフラグを導出するパケットロス検出部である。パケット受信可否フラグは、フラグが真であればパケットが正常に受信できたこと、偽であれば正常に受信できなかったことを示す。
【0021】
なお、パケットが正常に受信できない場合とは、パケットの一部または全部が欠損している場合、受信待ちをしているパケットが所定の時間内に到着しなかった場合を指す他、当該パケットは欠損せず届いているものの、そのパケット内のデータの復号に必要な別パケットのデータが欠損してしまっている場合なども含まれる。例えば、量子化係数や動きベクトルなどの情報が格納されたパケット#Aは正常に受信できたものの、SPS(Sequence Parameter Set)やPPS(Picture Parameter Set)といった情報が入ったパケット#Bが受信できなかった場合、パケット#Aが持つ画像領域の復号信号の生成は不可能なため、パケット#Aも正常に受信できなかったとみなす。
【0022】
パケットロス検出部2は、全階層のパケット受信可否フラグが真(true)であれば、経路Aの分岐に接続され、拡張階層#2のパケット受信可否フラグが偽(false)、拡張階層#1と基本階層のパケット受信可否フラグが真であれば、経路Bの分岐に接続され、拡張階層#2と拡張階層#1のパケット受信可否フラグが偽、基本階層のパケット受信可否フラグが真であれば、経路Cの分岐に接続され、全階層のパケット受信可否フラグが偽であれば、経路Dの分岐に接続される。
【0023】
符号3は、記憶部8から基本階層の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出す基本階層データ復号部である。符号4は、記憶部8から拡張階層#1の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出す拡張階層#1データ復号部である。
【0024】
符号5は、記憶部8から拡張階層#2の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出すとともに、復号した信号を再生用映像として出力する拡張階層#2データ復号部である。符号6は、下位階層を利用してエラー隠蔽処理を実施するエラー隠蔽処理部である。エラー隠蔽処理部6は、経路Bの分岐の場合、基本階層及び拡張階層#1の動き情報や復号信号、当該時刻以外の時刻の符号化データや復号信号を記憶部8から読み込み、当該時刻の再生用信号を生成し、記憶部8に書き出す。また、経路Cの分岐の場合は、基本階層の動き情報や復号信号、及び、当該時刻以外の時刻の符号化データや復号信号を読み込み、当該時刻の再生用信号を生成し、記憶部8に書き出す。
【0025】
符号7は、下位階層を利用せずに、当該時刻以外の時刻の符号化データや復号信号を読み込み、当該時刻の再生用信号を生成し、記憶部8に書き出すエラー隠蔽処理を実施するエラー隠蔽処理部である。エラー隠蔽処理部7は、例えば、特許文献1に記載の公知の技術によるエラー隠蔽処理を行う。
【0026】
次に、図2を参照して、図1に示す映像再生装置の動作を説明する。まず、パケット受信部1は、符号化データが格納されたビデオパケットを受信し、受信したビデオパケットを記憶部8に格納する(ステップS1)。続いて、パケットロス検出部2は、記憶部8よりビデオパケットを読み込み、当該時刻の各階層のパケットが正常に受信できているかをチェックし、各階層について、パケット受信可否を示すフラグを返す(ステップS2)。
【0027】
次に、パケットロス検出部2は、基本階層のパケット受信可否フラグが真であるか否かに基づき、基本階層のパケットがロスしているか否かを判定する(ステップS3)。この判定の結果、基本階層のパケットがロスしている場合、経路Dに接続されて、エラー隠蔽処理部7は、エラー隠蔽処理を実施する(ステップS4)。ここで適用するエラー隠蔽処理は、例えば、特許文献1に記載のエラー隠蔽処理である。そして、エラー隠蔽処理部7は、当該時刻以外の時刻の符号化データや復号信号を読み込み、当該時刻の再生用信号を生成し、記憶部8に書き出す。
【0028】
一方、基本階層のパケットがロスしていない場合、パケットロス検出部2は、拡張階層#1のパケット受信可否フラグが真であるか否かに基づき、拡張階層#1のパケットがロスしているか否かを判定する(ステップS5)。この判定の結果、拡張階層#1のパケットがロスしている場合、経路Cに接続されて、基本階層データ復号部3は、記憶部8から基本階層の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出す(ステップS6)。
【0029】
次に、拡張階層#1のパケットがロスしていない場合、パケットロス検出部2は、拡張階層#2のパケット受信可否フラグが真であるか否かに基づき、拡張階層#2のパケットがロスしているか否かを判定する(ステップS7)。この判定の結果、拡張階層#2のパケットがロスしている場合、経路Bに接続されて、基本階層データ復号部3は、記憶部8から基本階層の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出し、続いて、拡張階層#1データ復号部4は、記憶部8から拡張階層#1の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出す(ステップS8)。
【0030】
次に、エラー隠蔽処理部6は、エラー隠蔽処理を実施する(ステップS9)。ステップS6から移行した場合は、ステップS6で書き出した復号した動き情報や復号信号、及び、当該時刻以外の時刻の符号化データや復号信号を読み込み、当該時刻の再生用信号を生成し、記憶部8に書き出す。また、ステップS8から移行した場合は、ステップS8で書き出した復号した動き情報や復号信号、及び、当該時刻以外の時刻の符号化データや復号信号を読み込み、当該時刻の再生用信号を生成し、記憶部8に書き出す。
【0031】
次に、拡張階層#2のパケットがロスしていない場合、経路Aに接続されて、基本階層データ復号部3は、記憶部8から基本階層の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出す。そして、拡張階層#1データ復号部4は、記憶部8から拡張階層#1の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出す。さらに、拡張階層#2データ復号部5は、拡張階層#2の符号化データを保有したビデオパケットを読み込み、パケットペイロードより符号化データを取り出し、復号処理を行い、復号した動き情報や復号信号を記憶部8に書き出すことによって、全階層の復号を行う(ステップS10)。ここで出力される復号信号は、当該時刻の再生用映像となる。
【0032】
次に、図3、図4を参照して、図1に示すエラー隠蔽処理部6の詳細な構成と動作について説明する。ここでは、スライスと呼ばれる画像領域単位(16×16画素サイズ以上)におけるエラー隠蔽処理が実施されるものとする。また、基本階層と拡張階層#1のパケットは受信でき、拡張階層#2のパケットは受信できなかったものとして説明する。図3に示すように、エラー隠蔽処理部6は、全マクロブロック処理完了判定部11と、エラー隠蔽信号生成部12と、ポストフィルタ部13とから構成する。
【0033】
全マクロブロック処理完了判定部11は、スライス内のすべてのマクロブロックについて、エラー隠蔽処理が完了したか否かを判定し、すべて完了している場合は、ポストフィルタ部13に処理を移行し、未完の場合は、エラー隠蔽信号生成部12によるエラー隠蔽信号生成処理を継続する。エラー隠蔽信号生成部12は、基本階層と拡張階層#1の動き情報や復号信号を記憶部8から読み込み、エラー隠蔽処理を実施し、このマクロブロックのエラー隠蔽信号を生成し、記憶部8に書き出す。ポストフィルタ部13は、スライスの各マクロブロックにおけるエラー隠蔽信号を読み込み、ポストフィルタを施し、フィルタ後の信号を当該時刻のスライスの再生用信号として出力する。ここでのポストフィルタの一例としては、H.264/AVCやSVCにおけるデブロッキングフィルタを適用可能である。
【0034】
次に、図4を参照して、図3に示すエラー隠蔽処理部6の動作を説明する。まず、マクロブロック単位のループが開始すると、エラー隠蔽信号生成部12は、基本階層と拡張階層#1の動き情報や復号信号を記憶部8から読み込み、エラー隠蔽処理を実施し、当該マクロブロックのエラー隠蔽信号を生成し、記憶部8に書き出す(ステップS11)。全マクロブロック処理完了判定部11は、全てのマクロブロックについて処理が完了したかを判定し、全てのマクロブロックについて処理が終了するまで繰り返し、全てのマクロブロックについて処理が終了した時点で、ポストフィルタ部13は、スライスの各マクロブロックにおけるエラー隠蔽信号を読み込み、ポストフィルタを施し、フィルタ後の信号を当該時刻の当該スライスの再生映像信号として出力する(ステップS12)。
【0035】
次に、図5、図6を参照して、図3に示すエラー隠蔽信号生成部12の詳細な構成と動作について説明する。図5において、符号21は、下位階層対応ブロックが保有する予測モードを記憶部8から読み込み、予測モードに基づき処理を分岐させる下位階層対応ブロック予測モード判定部である。符号22は、下位階層対応ブロックが保有する予測残差信号を記憶部8から読み込み、下位階層対応ブロックの予測残差信号の絶対値の総和(SAD:Sum of Absolute Distance)を計算し、記憶部8に出力する下位階層対応ブロック残差信号SAD算出処理部である。
【0036】
符号23は、計算されたSAD値及びSAD値に対するしきい値を読み込み、SAD値がしきい値より大きいか否かに基づき処理を分岐させるSAD値しきい値比較部である。ここで、SAD値に対するしきい値は、予め外部モジュールより与えられるものとし、経験的な値が設定されてアプリケーション側より外部設定値として定められたり、もしくは、別のモジュール内にて計算されるといった方法等で決定される。スライス、フレーム、複数フレームを束ねたGOP(Group of Picture)ごとに個別のしきい値が設定されてもよいし、所望階層と復号でき高い階層との関係性から決めてもよい。
【0037】
符号24は、下位階層対応ブロックの復号信号を記憶部8から読み込み、予め定められた復号信号拡大手法により、復号信号を拡張階層#1と拡張階層#2の解像度比に応じて拡大し、その拡大した信号に対して必要に応じて有効画素値へのクリッピング処理を行い、エラー隠蔽信号として記憶部8に出力する下位階層対応ブロック復号信号拡大部である。復号信号拡大手法の例としては、SVCにおいて階層間予測に利用するアップサンプルフィルタをはじめとする線形フィルタによる拡大手法や、超解像度手法などが適用可能である。
【0038】
符号25は、下位階層対応ブロックが保有する動き情報を読み込み、予め定められた動き情報のスケーリング方法により、動き情報を拡張階層#1の解像度から拡張階層#2の解像度に適合するように変更し、そのスケーリングされた動き情報を記憶部8に出力する下位階層対応ブロック動き情報スケーリング部である。ここでいう動き情報とは、動きベクトル、動き予測の参照フレームインデックス、予測モード、ブロック分割形状といった動き補償に用いる情報である。また、スケーリング方法としては、例えば、空間スケーラブル符号化のデータを扱う場合に、拡張階層#2と拡張階層#1の縦横画素数比が2:1とすると、動きベクトルをxy方向それぞれ2倍にする処理などが適用可能である。予測モードや、参照フレームインデックスは、下位階層対応ブロックが保有する情報をそのまま継承する。
【0039】
符号26は、スケーリングされた動き情報を記憶部8から読み込み、スケーリングされた動き情報を用いて当該マクロブロックにおいて動き補償を行い、動き補償によって得られた信号を記憶部8に出力する動き補償部である。符号27は、下位階層対応ブロックが保有する予測残差信号を読み込み、予め定められた予測残差信号拡大手法により、予測残差信号を拡張階層#1と拡張階層#2の解像度比に応じて拡大し、その拡大した予測残差信号を記憶部8に出力する下位階層対応ブロック残差信号拡大部である。予測残差信号拡大手法としては、SVCにおいて階層間予測に利用するアップサンプルフィルタをはじめとする線形フィルタによる拡大手法や、超解像度手法などが適用可能である。
【0040】
符号28は、出力された動き補償によって得られた信号と、拡大した予測残差信号とを加算し、必要に応じて有効画素値範囲へのクリッピング処理を行い、エラー隠蔽信号として記憶部8に出力する信号加算部である。
【0041】
次に、図6を参照して、図5に示すエラー隠蔽信号生成部12の詳細動作を説明する。まず、下位階層対応ブロック予測モード判定部21は、下位階層対応ブロックが保有する予測モードを記憶部8から読み込み、予測モードがイントラ予測モードであるか否かを判定する(ステップS21)。この判定の結果、イントラ予測モードであれば、下位階層対応ブロック復号信号拡大部24へ処理を移行し、イントラ予測モード以外の予測モードであれば、下位階層対応ブロック残差信号SAD算出処理部22へ処理を移行する。
【0042】
ここでの下位階層とは、所望階層より下位の階層で、かつ、復号可能な階層を指しており、下位階層対応ブロックとは、その下位の復号可能な階層において当該マクロブロックと空間的に同位置に存在するブロックを指す。例えば、空間スケーラブル符号化のデータを扱う場合に、拡張階層#2と拡張階層#1の縦の画素数比及び横の画素数比がともに2:1であるとすると、画像左上を原点として(2X,2Y)に中心が位置する拡張階層#2のマクロブロックの下位階層対応ブロックは、拡張階層#1における(X,Y)位置に中心を持つ8×8画素サイズのブロックとなる。また、仮に拡張階層#1が復号できなかった場合は、基本階層がここでの下位階層となる。
【0043】
次に、下位階層対応ブロック残差信号SAD算出処理部22は、下位階層対応ブロックが保有する予測残差信号を記憶部8から読み込み、下位階層対応ブロックの予測残差信号の絶対値の総和(SAD:Sum of Absolute Distance)を計算し、記憶部8に出力する(ステップS22)。続いて、SAD値しきい値比較部23は、計算されたSAD値及びSAD値に対するしきい値を記憶部8から読み込み、計算したSAD値がしきい値より大きいか否かを判定する(ステップS23)。この判定の結果、計算したSAD値がしきい値より大きければ下位階層対応ブロック復号信号拡大部24へ処理を移行し、しきい値以下であれば下位階層対応ブロック動き情報スケーリング部25へ処理を移行する。
【0044】
次に、計算したSAD値がしきい値より大きい場合、下位階層対応ブロック復号信号拡大部24は、下位階層対応ブロックの復号信号を記憶部8から読み込み、予め定められた復号信号拡大手法により、復号信号を拡張階層#1と拡張階層#2の解像度比に応じて拡大し、その拡大した信号に対して必要に応じて有効画素値へのクリッピング処理を行い、エラー隠蔽信号として記憶部8に出力する(ステップS24)。
【0045】
一方、しきい値以下である場合、下位階層対応ブロック動き情報スケーリング部25は、下位階層対応ブロックが保有する動き情報を読み込み、予め定められた動き情報のスケーリング方法により、動き情報を拡張階層#1の解像度から拡張階層#2の解像度に適合するように変更し、そのスケーリングされた動き情報を記憶部8に出力する(ステップS25)。
【0046】
次に、動き補償部26は、スケーリングされた動き情報を記憶部8から読み込み、スケーリングされた動き情報を用いて当該マクロブロックにおいて動き補償を行い、動き補償によって得られた信号を記憶部8に出力する(ステップS26)。続いて、下位階層対応ブロック残差信号拡大部27は、下位階層対応ブロックが保有する予測残差信号を記憶部8から読み込み、予め定められた予測残差信号拡大手法により、予測残差信号を拡張階層#1と拡張階層#2の解像度比に応じて拡大し、その拡大した予測残差信号を記憶部8に出力する(ステップS27)。
【0047】
次に、信号加算部28は、動き補償によって得られた信号と、拡大した予測残差信号とを加算し、必要に応じて有効画素値範囲へのクリッピング処理を行い、エラー隠蔽信号として記憶部8に出力する(ステップS28)。
【0048】
なお、図5に示す下位階層対応ブロック動き情報スケーリング部25、動き補償部26、下位階層対応ブロック残差信号拡大部27は、順番を入れ換えて下位階層対応ブロック残差信号拡大部27、下位階層対応ブロック動き情報スケーリング部25、動き補償部26の順に実施してもよいし、下位階層対応ブロック動き情報スケーリング部25、動き補償部26の一連処理部と下位階層対応ブロック残差信号拡大部27の処理を並行して実施し、両処理の実施完了後に信号加算部28により信号加算を実施するようにしてもよい。
【0049】
また、前述したステップS22、S23の一連処理は、ステップS24によるエラー隠蔽信号生成処理と、ステップS25〜S28の一連処理によるエラー隠蔽信号生成処理との切り替えの仕方の一例である。切り替えの方法は、受信済みの符号化情報や復号信号を参考に切り替えるものであれば、これによらない。例えば、ステップS22、S23の一連処理部以外の手段としては、下記のようなものが適用可能である。
(1)下位階層対応ブロックが保有する符号化情報の情報量が、しきい値より大きいか否か。
(2)下位階層対応ブロックが保有する量子化パラメータ・量子化ステップの値が、しきい値より大きいか否か。
(3)下位階層対応ブロックが保有する予測モードが、予めS24に移るよう指定した予測モードであるか否か。
(4)下位階層対応ブロックが保有する予測モードが、予めステップS25〜S28に移るよう指定した予測モードであるか否か。
(5)過去にパケットロスが発生したスライス数、またはパケットロス発生が時間的に連続したスライス数が、しきい値より大きいか否か
(6)当該時刻周囲にてパケットロスが発生したスライス数または時間間隔が、しきい値より大きいか否か
(7)下位階層対応ブロックが保有する動きベクトルのノルムの値が、しきい値より大きいか否か
(8)動き補償によりエラー隠蔽信号を生成する際に、その参照信号自体がエラー隠蔽により生成された信号か否か。
これらの手段のうちひとつを適用してもよいし、前述のステップS22、S23の一連処理を含め、これらを多段に組み合わせた基準により切り替えてもよい。
【0050】
また、設定ファイルのような外部モジュールによって、予め当該マクロブロックに適用するエラー隠蔽信号生成処理が規定されており、その情報に準じて切り替えるという形式でもよい。また、切り替えに対して所定のルールを加えてもよい。例えば、当該マクロブロックと同位置の直前フレームのブロック、または、当該マクロブロックが動きを参照しようとするフレームのブロックにおいてエラー隠蔽処理が行われており、その際にステップS24のエラー隠蔽信号生成処理が選択されていれば、当該マクロブロックのエラー隠蔽信号生成処理もS24と強制的に決めてしまってもよい。また、前述の説明は、マクロブロック単位での処理の流れであったが、処理する単位はこれによらない。例えば、スライス単位、フレーム単位、複数フレームを束ねたGOP(Group Of Picture)単位でもよい。
【0051】
また、前述したいずれかの切り替え手段によって一度決められたエラー隠蔽信号生成処理を、周囲の領域の情報を参考に変更しなおしてもよい。例えば、当該マクロブロックでは、ステップS24のエラー隠蔽信号生成処理が選択されたが、その周囲のブロックではステップS25〜S28のエラー隠蔽信号生成処理が選択されているものが多い場合、当該マクロブロックのエラー隠蔽信号生成処理をステップS25〜28のものに変更する。
【0052】
また、前述した2つの方法により生成された疑似信号を、所定の重み係数を用いて重み付け平均をとってもよい。例えば、当該マクロブロックにて、ステップS24によって生成される信号をA、ステップS25〜S28にて生成される信号をBとし、信号Aに適用される重み係数をそれぞれwA、信号Bに適用される重み係数をwBとすると、マクロブロックのエラー隠蔽信号Zは、あらかじめ規定された所定の関数fを用いて、
Z=f(A、B、wA、wB)
として表現される。
この関数の例としては、以下の式で定義される関数が適用可能である。
Z=wA×A+wB×B(ただし、wA+wB=1)
【0053】
また、このwAとwBの決定基準には、様々なものが適用可能であり、例えば、以下のような要素をパラメータとして決定するようにしてもよい。基本的には、前記の2つの方法を切り替える場合に利用するパラメータと同様のものが適用可能である。
(1)下位階層対応ブロックが保有する予測残差信号の値(絶対値和や二乗値和)
(2)下位階層対応ブロックが保有する符号化情報の情報量
(3)下位階層対応ブロックが保有する量子化パラメータ・量子化ステップの値
(4)下位階層対応ブロックが保有する動きベクトルのノルムの値
(5)下位階層対応ブロックが保有する予測モードの種類
(6)過去にパケットロスが発生したスライス数、またはパケットロス発生が時間的に連続したスライス数
(7)当該時刻近傍にてパケットロスが発生した時間間隔
【0054】
重み付け平均によりエラー隠蔽信号を生成する場合も、図1〜図4と同じ処理手順や処理構造をとる。図5は、符号23がSADしきい値比較部でなく、重み係数算出部23となり、条件分岐がなくなる。これに準じて、図6のステップ23は、SAD値を入力して重み係数を出力するという処理となる。そして、下位階層対応ブロック復号信号拡大部24と信号加算部28の後段に、重み付け平均部が新たに追加すればよい。ここでは、下位階層対応ブロック復号信号拡大部24と信号加算部28によって出力された信号を入力して、重み係数算出部によって出力された重み係数によりこれらの重み付け平均をとり、エラー隠蔽信号を出力する処理となる。ここでは、先に例にあげた(1)のみを適用して重み係数を算出した場合であり、これらのパラメータを1つだけ用いても良いし、複数用いて、所定の関数やルールにしたがって重み係数を算出する手順を踏んでも良い。
【0055】
例えば、下位階層対応ブロックが保有する予測残差信号のSADをx、過去にパケットロスが発生し、それが当該時刻まで時間的に連続しているフレーム数をyとしたとき、重み係数wAとwBを、
wA=1−wB
wB=(しきい値Y―y)×y if (x<しきい値X && y<しきい値Y)
wB=0 otherwise
のように決めても良い。ここで、しきい値Xは、下位階層対応ブロックが保有する予測残差信号のSADに対するしきい値、しきい値Yは、過去に発生したパケットロスが当該時刻まで時間的に連続しているフレーム数に対するしきい値である。
【0056】
なお、前述した説明においては、空間スケーラブル符号化の場合に、疑似信号を生成する方法として、所定時刻の下位階層の復号信号を、所定の手順により所望階層と下位階層の解像度比に応じて拡大処理した信号を疑似信号とする方法と、所定時刻の下位階層の動き情報を、所定の手順により所望階層と下位階層の解像度比に応じてスケーリングした動き情報を用いて所望階層において動き補償をし、所定時刻の下位階層の予測残差信号を、所定の手順により所望階層と下位階層の解像度比に応じて拡大処理し、動き補償信号と拡大後の予測残差信号を加算したものを疑似信号とする方法の2つであることを説明したが、SNRスケーラブル符号化についても同様に適用可能である。SNRスケーラブル符号化の場合には、所定時刻の下位階層の復号信号を疑似信号とする方法と、所定時刻の下位階層の動き情報を用いて所望階層において動き補償をし、その動き補償信号と所定時刻の下位階層の予測残差信号とを加算したものを疑似信号とする方法とすればよい。
【0057】
このように、当該時刻の再生用映像信号を生成するために、当該時刻において所望階層が復号できずにエラー隠蔽を実施することを明示したフラグを受け取り、予め蓄積しておいた、当該時刻より前に受信した符号化情報、復号信号や再生用信号及び当該時刻において受信できた所望階層より下位の階層の符号化情報や復号信号を読み込み、予め指定した映像生成手順により、映像を生成するようにした。ここで、映像生成手順は、階層ごとに、特定の画像領域ごとに異なるものを指定することができる。そして、指定した映像生成手順により生成した映像信号を、当該時刻の再生用信号として出力する。これは、スケーラブル符号化のような階層符号化によって符号化された映像データが入力され、かつ、伝送エラー(パケットロス、伝送遅延といったネットワーク上でのエラーだけでなく、復号処理遅延といったデコーダでのエラー)などにより、当該時刻において所望階層が再生したいタイミングに得られていない場合に適用可能である。
【0058】
この構成により、パケットロスや伝送遅延により所望フレームの所望階層が再生したいタイミングに復号されていない場合に、特許文献1に記載の従来技術と比較して、最終的に再生する映像の画像品質を向上できる。特に、被写体の動きが大きい場合に、従来技術に比べて画像品質の向上効果は顕著となる。
【0059】
実験結果を図7および図8に示す。本実験は、以下のような条件で実施した。
(1)映像:Vidyo1(MPEG テスト映像)
(2)解像度/フレームレート:1280x720/60fps
(3)階層数:空間2階層
(4)QP:28(基本/拡張ともに)
(5)ピクチャ構造:IPPP
(6)イントラ間隔:先頭のみ
(7)符号化フレーム枚数:150枚
(8)比較手法:PictCopy(前フレームリピート表示)、BLSk/BLUP(TH192)(本発明)
(9)SADしきい値:192
(10)スライス:1フレーム1スライス
(11)フレームのロス間隔:10枚、150枚
例えば、ロス間隔10枚なら、先頭はロスなし、以降9枚はロス、10枚目はロスなし、以降9枚はロスとする。
【0060】
図7、図8に示すように、PictCopyに比べて、本発明はいずれのフレームのロス間隔においても、高画質の再生用映像を構成できていることが分かる。
【0061】
以上説明したように、階層構造を有する映像符号化データが入力される場合において、所定時刻の所望階層が再生したいタイミングに復号されていない場合には、受信側のメモリ領域に蓄積されている当該時刻より前に受信した符号化情報、復号信号や再生用信号、および、受信できた当該時刻の下位階層の符号化情報や復号信号などを用いて、階層ごと、特定の画像領域ごとに手法を切り替えつつ、当該時刻の再生用信号を疑似的に生成し、
その生成信号を最終的な当該時刻の再生用信号として出力することができる。
【0062】
特に、本発明では当該時刻で失われた所望階層の信号を疑似的に作り出すために、当該時刻の下位階層の符号化情報や復号信号を利用することで、欠落された信号に近い信号値を生成できる。さらに、下位階層の符号化情報や復号信号の利用方法が異なる複数の手法を特定の画像領域によって切替えることで精度を向上できる。例えば、被写体の動きが大きいときは、下位階層の復号信号を生成し、それを拡大した信号を用いる方がよく、被写体の動きが小さいときは、下位階層の動きの情報のみをスケーリングし、そのスケーリング後の情報を用いて所望階層において動き補償を実施する方がよいため、これらの2つの手法を自動的に切替えることで、画像全体の品質を向上できる。
【0063】
なお、図1に示す各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより映像再生処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0064】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【産業上の利用可能性】
【0065】
階層構造を有する映像符号化データが入力される映像再生装置において、伝送エラーを隠蔽することが不可欠な用途に適用できる。
【符号の説明】
【0066】
1・・・パケット受信部、2・・・パケットロス検出部、3・・・基本階層データ復号部、4・・・拡張階層#1データ復号部、5・・・拡張階層#2データ復号部、6・・・エラー隠蔽処理部、7・・・エラー隠蔽処理部、8・・・記憶部

【特許請求の範囲】
【請求項1】
受信した複数の階層に階層化された符号化データを復号して再生する際に発生した伝送エラーを隠蔽するために、所定時刻において再生したい所望階層より下位の階層までが復号できた際に伝送エラーを隠蔽して再生する映像再生方法であって、
記憶部に記憶した前記所定時刻の受信済みの符号化パケットから符号化情報を取り出すとともに復号信号を形成する復号信号形成ステップと、
前記記憶部に記憶した前記所定時刻以外の受信済みの符号化情報、生成済みの復号信号及び再生用信号を読み込む信号読み込みステップと、
前記所定時刻の符号化情報及び復号信号と、前記所定時刻以外の符号化情報、復号信号及び再生用信号とを用いて、前記所定時刻において再生したい前記所望階層の信号を疑似的に生成する擬似信号生成ステップと、
前記疑似的に生成した信号を前記所定時刻の再生用信号として出力する信号出力ステップと
を有することを特徴とする映像再生方法。
【請求項2】
前記疑似信号生成ステップは、
前記疑似信号を生成する方法が、2つ以上存在し、所定の階層、所定の画像領域ごとに最適な方法を選択することを特徴とする請求項1に記載の映像再生方法。
【請求項3】
前記疑似信号生成ステップは、
前記疑似信号を生成する方法が、2つ存在し、該2つの方法により生成された疑似信号を、所定の重み係数を用いて重み付け平均をとって前記擬似信号を生成することを特徴とする請求項1に記載の映像再生方法。
【請求項4】
空間スケーラブル符号化の場合には、前記疑似信号を生成する方法が、
前記所定時刻の下位階層の復号信号を、所定の手順により前記所望階層と下位階層の解像度比に応じて拡大処理した信号を前記疑似信号とする方法と、
前記所定時刻の前記下位階層の動き情報を、所定の手順により前記所望階層と前記下位階層の解像度比に応じてスケーリングした動き情報を用いて所望階層において動き補償をし、前記所定時刻の前記下位階層の予測残差信号を、所定の手順により前記所望階層と前記下位階層の解像度比に応じて拡大処理し、前記動き補償信号と拡大後の予測残差信号を加算したものを前記疑似信号とする方法の2つであることを特徴とする請求項2に記載の映像再生方法。
【請求項5】
SNRスケーラブル符号化の場合には、前記疑似信号を生成する方法が、
前記所定時刻の前記下位階層の復号信号を前記疑似信号とする方法と、
前記所定時刻の前記下位階層の動き情報を用いて前記所望階層における動き補償をし、動き補償信号と前記所定時刻の前記下位階層の予測残差信号とを加算したものを前記疑似信号とする方法の2つであることを特徴とする請求項2に記載の映像再生方法。
【請求項6】
前記疑似信号を生成する方法の選択は、
対象画像領域と空間的に同じ位置に存在する前記下位階層の画像領域が保有する予測残差信号の絶対値の合計値が、所定のしきい値よりも大きいか否かの判定結果に基づき選択することを特徴とする請求項2に記載の映像再生方法。
【請求項7】
前記疑似信号を生成する方法の選択は、
前記所定時刻より前に、連続して発生している伝送エラーの時間累積値をもとに選択することを特徴とする請求項2に記載の映像再生方法。
【請求項8】
前記疑似信号を生成する方法の選択は、
所定の画像領域においてすでに選択された前記疑似信号を生成する方法の情報に基づいて、前記画像領域において実施する2つ以上の候補を持つエラー隠蔽信号生成手法の候補を減らした後のエラー隠蔽信号生成手法の候補のうちから最適な方法を選択することを特徴とする請求項2に記載の映像再生方法。
【請求項9】
受信した複数の階層に階層化された符号化データを復号して再生する際に発生した伝送エラーを隠蔽するために、所定時刻において再生したい所望階層より下位の階層までが復号できた際に伝送エラーを隠蔽して再生する映像再生装置であって、
記憶部に記憶した前記所定時刻の受信済みの符号化パケットから符号化情報を取り出すとともに復号信号を形成する復号信号形成部と、
前記記憶部に記憶した前記所定時刻以外の受信済みの符号化情報、生成済みの復号信号及び再生用信号を読み込む信号読み込み部と、
前記所定時刻の符号化情報及び復号信号と、前記所定時刻以外の符号化情報、復号信号及び再生用信号とを用いて、前記所定時刻において再生したい前記所望階層の信号を疑似的に生成する擬似信号生成部と、
前記疑似的に生成した信号を前記所定時刻の再生用信号として出力する信号出力部と
を備えることを特徴とする映像再生装置。
【請求項10】
受信した複数の階層に階層化された符号化データを復号して再生する際に発生した伝送エラーを隠蔽するために、所定時刻において再生したい所望階層より下位の階層までが復号できた際に伝送エラーを隠蔽して再生する映像再生装置上のコンピュータに映像再生を行わせる映像再生プログラムであって、
記憶部に記憶した前記所定時刻の受信済みの符号化パケットから符号化情報を取り出すとともに復号信号を形成する復号信号形成ステップと、
前記記憶部に記憶した前記所定時刻以外の受信済みの符号化情報、生成済みの復号信号及び再生用信号を読み込む信号読み込みステップと、
前記所定時刻の符号化情報及び復号信号と、前記所定時刻以外の符号化情報、復号信号及び再生用信号とを用いて、前記所定時刻において再生したい前記所望階層の信号を疑似的に生成する擬似信号生成ステップと、
前記疑似的に生成した信号を前記所定時刻の再生用信号として出力する信号出力ステップと
を前記コンピュータに行わせることを特徴とする映像再生プログラム。
【請求項11】
請求項10に記載の映像再生プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−124586(P2012−124586A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−271730(P2010−271730)
【出願日】平成22年12月6日(2010.12.6)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】