以下、図面を参照して、本発明による一実施例の受信機を説明する。
図1は、本発明による一実施例の受信機が適用される通信システム例を示す図である。本通信システム例は、本実施例の受信機1と、送信機2と、動画像のネットワークサービス(例えば、ネットワークサービスサイト)を提供するサービスサーバ3とを備える。同図において、本実施例の受信機1は、サービスサーバ3から、例えば動画ファイルをネットワーク(図示する通信網)を経て取得することができ(経路a―d)、或いは又、送信機2(例えば、携帯電話や放送局における放送装置など)から、動画像又は静止画像をネットワーク(図示する通信網)を経て取得することができる(経路b―d)。或いは、本実施例の受信機は、送信機2から、所定の搬送波(一例として、放送用搬送波を含み、放送中継された放送波を含む)に多重されている動画像又は静止画像の信号を受信することにより、無線で取得できる(経路c)。
即ち、本実施例の受信機1は、経路a―d、経路b―d、又は、経路cのいずれかから、動画像又は静止画像を取得でき、そのような動画像又は静止画像の取得方法自体は、周知の手段により実現することができる。ここで、サービスサーバ3は、ネットワークサービス毎に複数備えてもよく、或いは又、本通信システム例の通信網において複数設けてもよいことは云うまでもない。また、必要に応じて、本実施例の受信機1、送信機2及びサービスサーバ3は、相互通信可能としてもよいものである。本発明においては、受信機の構造又は、該受信機を制御する制御プログラムを主題とするものであり、動画像の供給側は如何なる態様であってもよい。
まず、図2及び図3を参照して、本実施例の受信機1の動作概略を説明し、図4〜図30を参照して本実施例の受信機1について詳細に説明する。
後述する詳細な実施例により明らかとなるが、本実施例の受信機1は、予め表示順番号が定められた動画像の符号化したストリームを受信して、一連のピクチャの再生のために受信エラーのピクチャを補完することができる。従って、本実施例の受信機を携帯端末に適用できるだけでなく、パーソナルコンピュータを用いて実現することもできる。
本実施例の受信機1は、受信する動画像の符号化したストリームの信号断の発生及び復帰を監視し、該ストリームの信号断が発生していない時に受信したストリームを復号して、順次、復号した画像データを蓄積し、蓄積した画像データを、表示順番号に従って並び替え、蓄積済みの画像データが並び替えられる度に、並び替えた画像データのうち、当該表示順番号の最も大きい値(後述するN(max))と、2番目に大きい値(N(second))とをそれぞれ特定し、特定した2つの値を用いて、信号断の発生に起因して未蓄積のピクチャの表示順番号を推定し、推定に用いた当該特定した各値から、所定の選定基準(後述する動作フロー)に従って蓄積済みの画像データを選定し、選定した画像データと動きベクトルとを用いて、推定した表示順番号に対応するピクチャの画像データを推定し、補完ピクチャ画像として生成し、補完ピクチャ画像を用いて、蓄積済みの画像データを、表示順番号に従って一連のピクチャの再生のために再び並び替える。
尚、本実施例の受信機1は、信号断が発生して復帰するまでの間、特定した2つの値(N(max),N(second))のみから、信号断の発生に起因して未蓄積のピクチャの表示順番号を推定する。
本実施例の受信機1は、信号断の復帰の直後に受信して復号した画像データにおける表示順番号の値(後述するN(next))と、該表示順番号の画像データの次に受信して復号した画像データにおける表示順番号の値(後述するN(next2))とをそれぞれ区別して特定し、信号断の復帰後には、特定したN(max),N(second),N(next),N(next2)とを用いて、信号断の発生に起因して未蓄積のピクチャの表示順番号を推定する。
本実施例の受信機1は、一連のピクチャとして当該受信機から外部に出力することが可能に並び替えられ、且つ蓄積されている画像データの出力待ちの枚数の値(M)を検出し、当該受信機から外部に出力するのに保持すべき画像データの枚数として予め定められた出力待ち枚数の下限値(M’)と、出力待ち枚数の値(M)とを比較して、該出力待ち枚数の値(M)が、当該下限値(M’)未満の値である場合にのみ、当該信号断に起因して未蓄積の画像データの表示順番号の推定を行う。
図2を参照するに、本実施例の受信機1にて、受信したストリームが、表示順番号(SOC)で特定される画像データDN(ピクチャタイプI,P又はB)として、順に入力されるとする。図1の例では、本実施例の受信機1の入力順として、表示順番号♯1, ♯4, ♯2, ♯3の順で入力され、且つ、復号されるべきものとする。ここで、例えば、表示順番号♯1の画像データD1はI又はPピクチャ、表示順番号♯4の画像データD4はI又はPピクチャ、表示順番号♯2の画像データD2はBピクチャであるとし、表示順番号♯3の画像データD3は、ストリーム断(信号断とも称する)が発生して、本実施例の受信機1は受信できなかった場合を考える。
この場合、本実施例の受信機1は、信号断が発生して受信できなかったとしても、表示順番号に従って、即ち、表示順番号♯1, ♯2, ♯3, ♯4の順で画像データDNを再生することができるように、まず♯3の表示順番号であることを推定し、次に、表示順番号♯3に対応する画像データを推定し、推定したピクチャを補完して、表示順番号♯1, ♯2, ♯3, ♯4の順に並び替える。
この受信機1の動作フローを図3に示す。まず、受信機1は、ストリーム断を検出すると(ステップS11)、ストリーム断の発生で受信できなかったピクチャの表示順番号(例えば、図2と対応させて♯3)を指定する(ステップS12)。次に、受信機1は、既に受信していたピクチャ(例えば、図2と対応させて♯2,4)から、推定した表示順番号♯3に対応する画像データを生成する(ステップS13)。最後に、受信機1は、再生のために表示順にピクチャを並び替える(ステップS14)。
ここで、本実施例の受信機1は、以下の説明で明らかとなるが、ピクチャタイプがI,P,Bピクチャのいずれであっても極めて高精度でストリームの信号断(ストリーム断とも称する)の発生で受信できなかったピクチャの表示順番号を推定し、更に、欠落した画像データが連続して発生する場合も、表示において違和感のないように、極めて高画質で画像データを再生することができる。
以下、図4〜図30を参照して、本実施例の受信機1について、より詳細に説明する。
図4に示すように、本実施例の受信機1は、ストリーム断検知部12と、ピクチャ復号部13と、復号済みピクチャ蓄積管理部14と、欠落ピクチャ表示順番号推定部15と、欠落ピクチャ画像推定部16と、推定済みピクチャ蓄積管理部17と、出力可能ピクチャ表示順並べ替え部18とを備える。
ストリーム断検知部12は、受信機1によって受信されるストリーム(以下、受信ストリームと称する)を入力して、受信ストリームをそのままピクチャ復号部13に出力する。ただし、ストリーム断検知部12は、受信ストリームの信号断を監視しており、受信ストリームの信号断を検出した場合は、ストリームが途切れている旨を、ピクチャ復号部13を経て復号済みピクチャ蓄積管理部14に恒常的に通知するとともに、欠落ピクチャ表示順番号推定部15にも通知する。ここで、受信ストリームの信号断が発生した場合にのみ通知するようにしてもよいし、或いは又、受信ストリームの信号断の有無を表すフラグを定常的に出力するようにしてもよい。また、この受信ストリームの信号断の検出は、例えば受信機1に具備される既知のRF(radio frequency)復調器(図示せず)から、BER(Bit Error Rate)を取得し、BERの値が所定の既定値以下であればストリーム断と判断することができる。
ピクチャ復号部13は、必要に応じて復号済みの画像データを参照ピクチャとして用い、受信ストリームにおける画像データを復号し、復号したピクチャの表示番号と画像データを順次、復号済みピクチャ蓄積管理部14に送出する。このピクチャ復号部13からの出力データは、当該復号順に出力される。また、ピクチャ復号部13は、ストリーム断検知部12からの通知に従って、ストリーム断が発生した後の復帰した直後に最初に受信したピクチャの表示順番号(以下、N(next)と称する)と、復帰した直後から2番目に受信したピクチャの表示順番号(以下、N(next2)と称する)を、欠落ピクチャ表示順番号推定部15に送出する機能を有する。尚、この機能は、復号済みピクチャ蓄積管理部14にて実現することもできることは云うまでもない。例えば、図5に示すように、ピクチャ復号部13は、画像データを表示順番号♯1, ♯4, ♯2, ♯3の順で入力し、且つ、その順で復号し、N(next)又はN(next2)の値を出力する。
復号済みピクチャ蓄積管理部14は、所定のサイズの内部バッファ(図示せず)を有し、出力可能ピクチャ表示順並べ替え部18からの制御により、復号済みピクチャの画像データを表示順番号の順に並び替え、該内部バッファに再蓄積する。また、復号済みピクチャ蓄積管理部14は、出力可能ピクチャ表示順並べ替え部18からの制御により決定された、該内部バッファに蓄積されたピクチャの表示順番号のうち、最大の値(即ち、表示順が最後のピクチャとなる表示順番号であり、以下、N(max)と称する)と、2番目に大きい値(即ち、表示順が最後から2番目のピクチャとなる表示順番号であり、以下、N(second)と称する)とを欠落ピクチャ表示順番号推定部15に送出する。尚、内部バッファとして説明するが、外部にメモリを設けてもよいことは云うまでもない。
例えば、図6に示すように、所定のサイズの内部バッファに蓄積されたピクチャが、表示順番号♯1, ♯4, ♯2で蓄積された画像データであれば、N(max)=4であり、N(second)=2となる。或いは又、図7に示すように、所定のサイズの内部バッファに蓄積されたピクチャが、表示順番号♯1, ♯4, ♯2, ♯3で蓄積された画像データであれば、N(max)=4であり、N(second)=3となる。
欠落ピクチャ表示順番号推定部15は、ストリーム断検知部12からストリーム断の情報を受けた時点で、ストリーム断に起因して受信機1が蓄積できなかったピクチャ(以下、欠落ピクチャと称する)の表示順番号(以下、欠落ピクチャ表示順番号と称する)を推定し、推定した欠落ピクチャ表示順番号を欠落ピクチャ画像推定部16に出力する。尚、欠落ピクチャ表示順番号推定部15は、欠落ピクチャ表示順番号の推定のために、復号済みピクチャ蓄積管理部14から取得したN(max)及びN(second)の値と、条件によってはピクチャ復号部13から取得したN(next)又はN(next2)の値とを用いて推定する。より詳細な推定手順は、後述する。
ただし、欠落ピクチャ表示順番号推定部15は、受信機1のユーザが予め設定される「出力待ち枚数下限値M’」を保持している。この出力待ち枚数下限値M’は、受信機1から図示しない表示装置における画像表示のために、出力可能ピクチャ表示順並べ替え部18において表示用に蓄積しておくピクチャの数の下限を意味しており、ユーザが任意に決定することができる。この出力待ち枚数下限値M’を設定することにより、欠落ピクチャ表示順番号推定部15は、出力可能ピクチャ表示順並べ替え部18の制御によって決定した出力待ち枚数Mを取得して、出力待ち枚数Mの値が、出力待ち枚数下限値M’以下である場合にのみ欠落ピクチャの表示順番号の推定を行い、一方で、出力待ち枚数Mの値が、出力待ち枚数下限値M’より大きい場合には欠落ピクチャの表示順番号の推定を行わず、ストリーム断からの復帰を待つように動作する。
例えば、この出力待ち枚数下限値M’の値が小さい程、受信機1は、当該表示装置にピクチャを早く送出することになるため、前述した内部バッファのメモリサイズの空きが大きくなる。
欠落ピクチャ画像推定部16は、欠落ピクチャ表示順番号推定部15によって推定された欠落ピクチャの表示順番号、並びにN(next),N(next2),N(max),N(second)の各値を取得して、これらの値に応じて後述する所定の選定基準(後述する動作フロー)に従って、既に蓄積されている1つ以上前の、又は1つ以上後の表示順番号の画像データを復号済みピクチャ蓄積管理部14から取得する。更に、欠落ピクチャ画像推定部16は、当該取得した既に蓄積されている画像データから動きベクトルを用いて動き補償して、対象となる欠落ピクチャの表示順番号に対応する画像データ(以下、推定ピクチャ画像データと称する)を生成し、推定済みピクチャ蓄積管理部17に送出する。
推定済みピクチャ蓄積管理部17は、欠落ピクチャ画像推定部16から欠落ピクチャ表示順番号及び対応する推定ピクチャ画像データを受け取り、蓄積する。
出力可能ピクチャ表示順並べ替え部18は、推定済みピクチャ蓄積管理部17から、欠落ピクチャ表示順番号及び対応する推定ピクチャ画像データを逐次取得し、復号済みピクチャ蓄積管理部14における内部バッファ内の復号済みピクチャの画像データを、該推定ピクチャ画像データを補完して表示順番号の順に並び替えて、該内部バッファに再蓄積する。更に、出力可能ピクチャ表示順並べ替え部18は、該内部バッファ内の画像データを表示順番号に従って外部に出力する(図示しない表示装置の再生タイミングに同期して出力する)。
尚、出力可能ピクチャ表示順並べ替え部18は、表示順番号の順に並び替えた後も欠落ピクチャ表示順番号推定部15において未受信のピクチャが存在する場合もあるため、所定のサイズの内部バッファに並び替えて蓄積したピクチャの表示順番号のうち、最大の値であるN(max)と、2番目に大きい値であるN(second)とを復号済みピクチャ蓄積管理部14に送出して、N(max)及びN(second)の値を更新させる。この更新したN(max)及びN(second)は、欠落ピクチャ表示順番号推定部15によって次に推定されるピクチャのために用いられる。
例えば、N(max)及びN(second)の更新について説明すると、図8を参照するに、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14から逐次取得した画像データDNとして、画像データD1(表示順番号♯1), 画像データDS1(信号断発生のため非受信), 画像データD4(表示順番号♯4)のうち、画像データDS1(信号断発生のため非受信)について、欠落ピクチャ画像推定部16によって生成した推定ピクチャ画像データD2(表示順番号♯2)を入力し、表示順番号の順に並び替える。この場合、出力可能ピクチャ表示順並べ替え部18は、並び替えた画像データのうち、画像データD2(表示順番号♯2)がN(second)の画像データとして、且つ、画像データD4(表示順番号♯4)がN(max)の画像データとして、それぞれN(second)=2,N(max)=4を更新した値として復号済みピクチャ蓄積管理部14に送出する。
更に、出力可能ピクチャ表示順並べ替え部18は、更新したN(second),N(max)の値とともに、当該内部バッファに蓄積したピクチャ画像(画像データ)を表示順に、受信機1の外部に出力する度に、表示順番号の順に出力可能な画像データの出力待ち枚数M(即ち、復号済みピクチャ蓄積管理部14における内部バッファ内の画像データのうち、欠落ピクチャ画像推定部16によって生成される画像データが無くとも表示順番号の順に出力することができるピクチャの枚数)を更新し、復号済みピクチャ蓄積管理部14に送出する。これにより、復号済みピクチャ蓄積管理部14は、更新したN(second),N(max)の値と出力待ち枚数Mの値とを逐次、欠落ピクチャ表示順番号推定部15に送出することができる。
例えば、出力待ち枚数Mについて説明すると、図9を参照するに、出力可能ピクチャ表示順並べ替え部18は、画像データDn(表示順番号♯n), 画像データDSn+1(信号断発生のため非受信), 画像データDn+2(表示順番号♯n+2),画像データDn+4(表示順番号♯n+4)のうち、画像データDSn+1(信号断発生のため非受信)について、欠落ピクチャ画像推定部16によって生成した推定ピクチャ画像データDn+1(表示順番号♯n+1)を入力し、表示順番号の順に並び替える。この場合、出力可能ピクチャ表示順並べ替え部18は、並び替えた画像データのうち、画像データDn〜Dn+2は、欠落ピクチャ画像推定部16からの画像データを得ずとも受信機1の外部に出力可能であるから、出力待ち枚数M=3として決定し、復号済みピクチャ蓄積管理部14に送出する。尚、画像データDnより前の画像データは、既に受信機から出力されている。また、図9の例の場合、N(second)=n+2,N(max)=n+4である。
尚、上述の復号済みピクチャ蓄積管理部14、推定済みピクチャ蓄積管理部17、及び出力可能ピクチャ表示順並べ替え部18は、機能として個別に分けて説明しているが、単一の機能ブロックとして構成することもできる。
ここで、受信機1として機能させるために、コンピュータを好適に用いることができ、そのようなコンピュータは、ストリーム断検知部12、ピクチャ復号部13、復号済みピクチャ蓄積管理部14、欠落ピクチャ表示順番号推定部15、欠落ピクチャ画像推定部16、推定済み復号済みピクチャ蓄積管理部17、及び出力可能ピクチャ表示順並べ替え部18を制御するための制御部を中央演算処理装置(CPU)で構成でき(図示せず)、且つ、ストリーム断検知部12、ピクチャ復号部13、復号済みピクチャ蓄積管理部14、欠落ピクチャ表示順番号推定部15、欠落ピクチャ画像推定部16、推定済み推定済み復号済みピクチャ蓄積管理部17、及び出力可能ピクチャ表示順並べ替え部18を動作させるのに必要となる画像を適宜記憶する記憶部を少なくとも1つのメモリで構成させることができる(図示せず)。そのような記憶部は、画像復号装置内部のRAMなどで構成させることができ、或いは又、外部記憶装置(例えば、ハードディスク)で構成させることもできる。
また、そのようなコンピュータに、CPUによって所定のプログラムを実行させることにより、ストリーム断検知部12、ピクチャ復号部13、復号済みピクチャ蓄積管理部14、欠落ピクチャ表示順番号推定部15、欠落ピクチャ画像推定部16、推定済み復号済みピクチャ蓄積管理部17、及び出力可能ピクチャ表示順並べ替え部18の有する機能を実現させることができる。また、そのようなプログラムは、画像復号装置としてのコンピュータで利用されるOS上のソフトウェア(ROM又は外部記憶装置に格納される)の一部で構成させることもできる。
以下、本実施例の受信機1の動作フローを図10に示す。
ステップS21にて、ストリーム断検知部12により、ストリーム断を常時監視しており、ストリーム断が発生しているか否かを判断し、ストリーム断を検出すれば、図11に示す図示“A”の動作フロー(後述する)を経て、図10に示す図示“D”に戻り、ストリーム断が発生していない場合と同様に、ステップS22に進む。
ステップS22にて、ピクチャ復号部13により、受信したストリームの画像データを復号する。
ステップS23にて、復号済みピクチャ蓄積管理部14により、所定の内部バッファに順次復号した画像データを蓄積する。
ステップS24にて、出力可能ピクチャ表示順並べ替え部18により、復号済みピクチャ蓄積管理部14における内部バッファに蓄積した画像データを表示順に並び替える。
ステップS25にて、出力可能ピクチャ表示順並べ替え部18により、表示順に並び替え後の画像データから、N(max)及びN(second)の値を更新する。
ステップS26にて、出力可能ピクチャ表示順並べ替え部18により、所定の内部バッファに蓄積したピクチャ画像(画像データ)を表示順に、受信機1の外部に出力する。
ステップS27にて、出力可能ピクチャ表示順並べ替え部18により、受信機1の外部に出力されておらず、表示順に出力可能の画像データの枚数Mの値を逐次更新して、復号済みピクチャ蓄積管理部14に送出する。
ステップS28にて、受信機1が引き続くストリームの受信又は復号動作が必要であるか否かを既知の受信制御(例えば、ユーザによる受信の停止の有無を含む)により行い、引き続くストリームの受信又は復号動作が必要である場合には、ステップS21に戻る。引き続くストリームの受信又は復号動作が必要でない場合は、受信機1の受信動作を終了させることができる。
以下、欠落ピクチャの推定方法と、欠落ピクチャの画像データの推定方法とを順に説明する。
まず、図11〜図13を参照して、ストリーム断検知部12により、ストリーム断を検出した場合の欠落ピクチャの推定方法について説明する。
[ストリーム断情報が入力された時点]
ストリーム断検知部12により、ストリーム断を検出した場合は、受信機1は、図11に示す図示“A”からの動作フローに従って、欠落ピクチャの表示順番号を推定し、欠落ピクチャの画像データを生成する。
ステップS31にて、欠落ピクチャ表示順番号推定部15は、復号済みピクチャ蓄積管理部14の内部バッファに蓄積されているピクチャのうち、表示順に従って途切れることなく直ちに外部に出力可能な出力待ち枚数Mの値を確認する。具体的には、ステップS31にて、予めユーザが設定した出力待ち枚数下限M’(出力待ち枚数Mの下限)より、Mの値が下回っているか、又は同じである場合(M’≧M)には、ストリーム断を検出後に直ちに欠落ピクチャの推定、作成、及び補完を行うため、ステップS32に進む。ステップS31にて、MがM’より大きい場合は、欠落ピクチャの推定、作成、及び補完を行わず、ストリーム断からの復帰を待つことになり、ステップS41に進む。
即ち、欠落ピクチャ表示順番号推定部15は、ストリーム断情報が入力された時点で、ユーザが予め設定した出力待ち枚数下限M’(出力待ち枚数Mの下限)と出力待ち枚数Mとを比較する。M’<Mの場合、ストリーム断検知部12からのストリーム復帰情報を待つ。
一方、M’≧Mの場合、欠落ピクチャ表示順番号推定部15は、欠落ピクチャの表示順番号を推定したその画像データを作成するために、まず、N(max)−N(second)>1であるか否かを判定し(ステップS32)、N(max)−N(second)>1であれば、表示順番号XがX=N(second)+1であるピクチャが欠落ピクチャと推定し、欠落ピクチャ表示順番号L=N(second+1)を欠落ピクチャ画像推定部16に出力する。続いて、欠落ピクチャ画像推定部16は、N(second)及びN(max)のピクチャの画像データと動きベクトルを用いて、欠落ピクチャの画像データの推定を行い、推定ピクチャ画像データを生成する(ステップS35)。例えば、「パターン1」として図14に示すように、画像データDS3の欠落を検出した場合、表示順番号X=N(second)+1=3と推定し、N(second)=2及びN(max)=6のピクチャの画像データと動きベクトルを用いて、表示順番号#3の画像データを生成する。
また、M’≧Mの場合にて、欠落ピクチャ表示順番号推定部15は、N(max)−N(second)>1であるか否かを判定し(ステップS32)、N(max)−N(second)=1であれば、表示順番号X=N(max)+1であるピクチャが欠落ピクチャと推定し、欠落ピクチャ表示順番号L=N(max)+1を欠落ピクチャ画像推定部16に出力する。続いて、欠落ピクチャ画像推定部16は、N(max)のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データの推定を行い、推定ピクチャ画像データを生成する(ステップS35)。例えば、「パターン2」として図15に示すように、画像データDS4の欠落を検出した場合、表示順番号X=N(max)+1=4と推定し、N(max)=3のピクチャの画像データと動きベクトルを用いて、表示順番号#4の画像データを生成する。
次に、欠落ピクチャ画像推定部16は、欠落ピクチャの補完のために、生成した推定ピクチャ画像データを表示順番号4の画像データとして推定済みピクチャ蓄積管理部17に送出する。続いて、出力可能ピクチャ表示順並べ替え部18は、推定済みピクチャ蓄積管理部17から、表示順番号4としての推定ピクチャ画像データを取得し、復号済みピクチャ蓄積管理部14の内部バッファに蓄積された復号済みピクチャの画像データに表示順番号4としての推定ピクチャ画像データを補完し(ステップS36)、表示順番号の順に並び替え(ステップS37)、N(second)及びN(max)の値を更新する(ステップS38)。さらに、出力可能ピクチャ表示順並べ替え部18は、該内部バッファに蓄積したピクチャ画像(画像データ)を表示順に、受信機1の外部に出力する度に(ステップS39)、出力待ち枚数Mの値を更新する(ステップS40)。復号済みピクチャ蓄積管理部14は、更新したN(second),N(max)の値と出力待ち枚数Mの値とを逐次、欠落ピクチャ表示順番号推定部15に送出する。
次に、ステップS41にて、ストリーム断検知部12により、継続してストリーム断を監視し、ストリーム断が継続している間は、受信機1は、ステップS31〜ステップS32の処理を繰り返すように動作する。ストリーム断検知部12により、ストリーム復帰を検出した場合、ストリーム復帰直後に受信したピクチャの表示順番号をN(next)として(ステップS42)、図12に示す図示“B”の動作フロー(又は、選定条件に依存して、図13に示す図示“C”の動作フロー)を経て、図10に示す図示“D”に戻るように動作する。
次に、図12を参照して、ストリームの復帰が確認された場合の動作フローについて説明する。
[ストリームの復帰が確認された時点]
前述した図11に示すステップS42にて、ピクチャ復号部13は、ストリーム断検知部12により検出したストリーム復帰の情報に応じて、ストリーム復帰直後に受信したピクチャの表示順番号をN(next)に設定する。尚、欠落ピクチャ表示順番号推定部15は、復号済みピクチャ蓄積管理部14から、ピクチャが並び替えられる度に取得する、蓄積済みのピクチャの表示順番号の最大値N(max)と、蓄積済みのピクチャの表示順番号の2番目に大きい値N(second)と、出力待ち枚数Mとを保持している。
ステップS43,S44にて、欠落ピクチャ表示順番号推定部15は、まず、N(max)とN(second)とを比較し、N(max)−N(second)>1の場合に、N(next)−N(second)=1であれば、欠落ピクチャはないと判断し、推定動作を行う必要がないため、受信機1は、ストリームの正常受信時の動作に戻る。例えば、図16に示すように、表示順に並び替えられた画像データD1,D2,D3,D6において、N(max)−N(second)=6−2=4>1であって、N(next)−N(second)=3−2=1であるので、欠落ピクチャはないと判断し、未受信の画像データDW4(♯4),DW5(♯4)を待つ。N(max)−N(second)=1の場合は、図13を参照して後述する。
一方、ステップS43,S44,S45にて、欠落ピクチャ表示順番号推定部15は、N(max)−N(second)>1の場合に、N(next)−N(second)>1であって、且つ、N(next)<N(max)であれば、N(second)+1〜N(next)−1を欠落ピクチャ表示順番号として推定し、出力する(ステップS46)。続いて、欠落ピクチャ画像推定部16では、N(second),N(max)及びN(next)のピクチャの画像データと動きベクトルを用いて推定ピクチャ画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS48)。
例えば、「パターン3」として図17に示すように、表示順に並び替えられた画像データD1,D2,D5,D7において、N(max)−N(second)=7−2=5>1の場合に、N(next)−N(second)=5−2=3>1であって、且つ、N(next)<N(max)であるので、N(second)+1=3〜N(next)−1=4を欠落ピクチャ表示順番号として推定し、欠落ピクチャ表示順番号#3,#4の画像データDS3,DS4について、表示順番号N(second)=2,N(max)=7及びN(next)=5のピクチャの画像データD2,D7,D5と動きベクトルを用いて表示順番号#3,#4に対応する推定ピクチャ画像データの生成する。ステップS48の後、ストリーム正常時の動作に戻る(図示“D”)。
また一方で、ステップS43,S44,S45にて、欠落ピクチャ表示順番号推定部15は、N(max)−N(second)>1の場合に、N(next)−N(second)>1であって、且つ、N(next)≧N(max)であれば、N(second)+1〜N(max)−1を欠落ピクチャ表示順番号として推定し、出力する(ステップS47)。続いて、欠落ピクチャ画像推定部16では、N(second)とN(max)のピクチャ画像データと動きベクトルを用いて推定ピクチャ画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS49)。
例えば、「パターン4」として図18に示すように、表示順に並び替えられた画像データD1,D2,D5,D7において、N(max)−N(second)=5−2=3>1の場合に、N(next)−N(second)=7−2=5>1であって、且つ、N(next)≧N(max)であるので、N(second)+1=3〜N(max)−1=4を欠落ピクチャ表示順番号として推定し、欠落ピクチャ表示順番号#3,#4の画像データDS3,DS4について、表示順番号N(second)=2及びN(max)=5のピクチャの画像データD2,D5と動きベクトルを用いて表示順番号#3,#4に対応する推定ピクチャ画像データの生成する。
次に、欠落ピクチャ表示順番号推定部15は、ステップS45で欠落ピクチャ表示順番号を推定した後(ステップ34で「パターン4」として推定ピクチャ画像データの生成及び補完を終了した後)、N(next)−N(max)=1の場合に(ステップS50)、N(next)が順方向予測(I又はP)であれば(ステップS51)、欠落ピクチャはないと判断し、ストリーム正常時の動作に戻る(図示“D”)。例えば、図19に示すように、表示順番号#3,#4の画像データは補完され、表示順に並び替えられた画像データD1〜D6において、N(next)−N(max)=6−5=1であって、N(next)=6が順方向予測(I又はP)であるので、欠落ピクチャはないと判断し、ストリーム正常時の動作に戻る(図示“D”)。
一方、欠落ピクチャ表示順番号推定部15は、ステップS45で欠落ピクチャ表示順番号を推定した後(ステップ34で「パターン4」として推定ピクチャ画像データの生成及び補完を終了した後)、N(next)−N(max)=1の場合に(ステップS50)、N(next)が双方向予測(B)であれば(ステップS51)、N(next)が参照しているピクチャの表示順番号を欠落ピクチャの表示順番号として推定し、出力する(ステップS52)。続いて、欠落ピクチャ画像推定部16では、N(max)のピクチャの画像データと動きベクトルを用いて参照しているピクチャの画像データの推定ピクチャ画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS59)。
例えば、「パターン5」として図20に示すように、表示順番号#3,#4の画像データは補完され、表示順に並び替えられた画像データD1〜D6において、N(next)=6が双方向予測(B)であれば、N(next)が参照しているピクチャの画像データDSnの表示順番号を欠落ピクチャの表示順番号として推定し、N(max)=5のピクチャの画像データと動きベクトルを用いて、参照しているピクチャの画像データDSnの推定ピクチャ画像データを生成する。ステップS59の後、ストリーム正常時の動作に戻る(図示“D”)。
また、欠落ピクチャ表示順番号推定部15は、ステップS45で欠落ピクチャ表示順番号を推定した後(ステップ34で「パターン4」として推定ピクチャ画像データの生成及び補完を終了した後)、N(next)−N(max)>1の場合に(ステップS50)、ピクチャ復号部13によってN(next)の次に受信したピクチャの表示順番号をN(next2)に設定し(ステップS53)、更にN(next)が順方向予測(I又はP)であって(ステップS55)、且つN(next2)−N(max)=1であれば(ステップS54)、欠落ピクチャはないと判断し、ストリーム正常受信時の動作に戻る(図示“D”)。
例えば、図21に示すように、表示順番号#3,#4の画像データは補完され、表示順に並び替えられた画像データD1〜D6及びD8において、N(next)=8の次に受信したピクチャの表示順番号♯6をN(next2)として設定し、更にN(next)=8が順方向予測(I又はP)であって、且つN(next2)−N(max)=6−5=1であるので、欠落ピクチャはないと判断し、ストリーム正常受信時の動作に戻る(図示“D”)。
また、欠落ピクチャ表示順番号推定部15は、ステップS45で欠落ピクチャ表示順番号を推定した後(ステップ34で「パターン4」として推定ピクチャ画像データの生成及び補完を終了した後)、N(next)−N(max)>1の場合に(ステップS50)、N(next)が順方向予測(I又はP)であって(ステップS55)、N(next2)−N(max)>1、且つN(next2)<N(next)であれば(ステップS54,56)、N(max)+1〜N(next2)−1を欠落ピクチャの表示順番号として推定し、出力する(ステップS57)。続いて、欠落ピクチャ画像推定部16では、N(max),N(next),N(next2)のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS59)。
例えば、「パターン6」として図22に示すように、表示順番号#3,#4の画像データは補完され、表示順に並び替えられた画像データD1〜D5、D7及びD9において、N(next)−N(max)=9−5=4>1であり、N(next)=9が順方向予測(I又はP)であって、N(next2)−N(max)=7−5=2>1、且つN(next2)<N(next)であるので、N(max)+1〜N(next2)−1、この例では表示順番号♯6を欠落ピクチャの表示順番号として推定し、欠落ピクチャ画像推定部16では、N(max)=5,N(next)=9,N(next2)=7のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データDS6の生成を行う。ステップS59の後、ストリームの正常受信時の動作に戻る(図示“D”)。
また、欠落ピクチャ表示順番号推定部15は、ステップS45で欠落ピクチャ表示順番号を推定した後(ステップ34で「パターン4」として推定ピクチャ画像データの生成及び補完を終了した後)、N(next)−N(max)>1の場合に(ステップS50)、N(next)が順方向予測(I又はP)であって(ステップS55)、N(next2)−N(max)>1、且つN(next2)>N(next)であれば(ステップS54,S55)、N(max)+1〜N(next)−1を欠落ピクチャの表示順番号として推定し、出力する(ステップS58)。続いて、欠落ピクチャ画像推定部16では、N(max)及びN(next)のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS59)。
例えば、「パターン7」として図23に示すように、表示順番号#3,#4の画像データは補完され、表示順に並び替えられた画像データD1〜D5、D8及びD9において、N(next)−N(max)=8−5=3>1であり、N(next)=8が順方向予測(I又はP)であって、N(next2)−N(max)=9−5=4>1、且つN(next2)>N(next)であるので、N(max)+1=6〜N(next)−1=7を欠落ピクチャの表示順番号として推定し、欠落ピクチャ画像推定部16では、N(max)=5及びN(next)=8のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データDS6,DS7の生成を行う。ステップS59の後、ストリームの正常受信時の動作に戻る(図示“D”)。
また、欠落ピクチャ表示順番号推定部15は、ステップS45で欠落ピクチャ表示順番号を推定した後(ステップ34で「パターン4」として推定ピクチャ画像データの生成及び補完を終了した後)、N(next)−N(max)>1の場合に(ステップS50)、N(next)が双方向予測(B)であれば(ステップS55)、N(next)が参照しているピクチャの表示順番号とN(max)+1〜N(next)−1を欠落ピクチャの表示順番号として推定し、出力する(ステップS58)。続いて、欠落ピクチャ画像推定部16では、N(max)及びN(next)のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS59)。
例えば、「パターン8」として図24に示すように、表示順番号#3,#4の画像データは補完され、表示順に並び替えられた画像データD1〜D5、D8において、N(next)−N(max)=8−5=3>1であり、N(next)が双方向予測(B)であるので、N(next)=8が参照しているピクチャの画像データDSnの表示順番号と、N(max)+1=6〜N(next)−1=7とを欠落ピクチャの表示順番号として推定し、出力する。続いて、欠落ピクチャ画像推定部16では、N(max)=5及びN(next)=8のピクチャの画像データと動きベクトルを用いて、欠落ピクチャの画像データDS6,DS7,DSnの生成を行う。ステップS59の後、ストリームの正常受信時の動作に戻る(図示“D”)。
次に、ステップS43でストリームの復帰が確認された時点のN(max)−N(second)=1の場合(図12における図示“C”)について、図13を参照して説明する。
欠落ピクチャ表示順番号推定部15は、ステップS43でN(max)−N(second)=1の場合に、N(next)−N(max)=1であって(ステップS61)、且つN(next)が順方向予測(I又はP)であると判定すると(ステップS62)、ストリームの正常受信時の動作に戻る(図示“D”)。例えば、図25に示すように、表示順番号表示順に並び替えられた画像データD1〜D4において、N(next)−N(max)=4−3=1であって、且つN(next)=4が順方向予測(I又はP)であるので、欠落ピクチャはないと判断する。
一方、欠落ピクチャ表示順番号推定部15は、N(max)−N(second)=1の場合に(ステップS43)、N(next)−N(max)=1であって(ステップS61)、且つN(next)が双方向予測(B)であれば(ステップS62)、N(next)が参照しているピクチャの表示順番号を欠落ピクチャの表示順番号として推定し、出力する(ステップS63)。続いて、欠落ピクチャ画像推定部16では、N(max)のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS69)。
例えば、「パターン9」として図26に示すように、表示順に並び替えられた画像データD1〜D4において、N(max)−N(second)=3−2=1であり、N(next)−N(max)=4−3=1であって、且つN(next)が双方向予測(B)であるので、N(next)が参照しているピクチャの画像データDSnの表示順番号を欠落ピクチャの表示順番号として推定し、欠落ピクチャ画像推定部16では、N(max)=3のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データDSnの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する。ステップS69の後、ストリームの正常受信時の動作に戻る(図示“D”)。
一方、欠落ピクチャ表示順番号推定部15は、N(max)−N(second)=1の場合に(ステップS43)、N(next)−N(max)>1であれば(ステップS61)、N(next)の次に受信したピクチャの表示順番号をN(next2)として設定する(ステップS64)。続いて、欠落ピクチャ表示順番号推定部15は、N(next2)−N(max)=1であれば(ステップS65)、ストリームの正常受信時の動作に戻る(図示“D”)。例えば、図27に示すように、表示順に並び替えられた画像データD1〜D4,D7において、N(max)−N(second)=3−2=1であり、N(next)−N(max)=7−3>1であって、且つ、N(next2)−N(max)=4−3=1であるので、欠落ピクチャはないと判断する。
また、欠落ピクチャ表示順番号推定部15は、N(max)−N(second)=1の場合に(ステップS43)、N(next)−N(max)>1であって(ステップS61)、N(next)の次に受信したピクチャの表示順番号をN(next2)として設定すると(ステップS64)、N(next2)−N(max)>1であって、且つN(next2)<N(next)であると判定すれば(ステップS65,S66)、N(max)+1〜N(next2)−1を欠落ピクチャの表示順番号として推定し、出力する(ステップS67)。続いて、欠落ピクチャ画像推定部16では、N(max),N(next)及びN(next2)のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS69)。
例えば、「パターン10」として図28に示すように、表示順に並び替えられた画像データD1〜D3,D5,D7において、N(max)−N(second)=3−2=1であり、N(next)−N(max)=7−3=4>1であって、N(next)=7の次に受信したピクチャの表示順番号が♯5であるとすると、N(next2)=5に設定し、N(next2)−N(max)=5−3=2>1であって、且つN(next2)<N(next)であるので、N(max)+1〜N(next2)−1、即ち#4を欠落ピクチャの表示順番号として推定し、欠落ピクチャ画像推定部16は、N(max)=3,N(next)=7及びN(next2)=5のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データDS4の生成を行う。ステップS69の後、ストリームの正常受信時の動作に戻る(図示“D”)。
欠落ピクチャ表示順番号推定部15は、N(max)−N(second)=1の場合に(ステップS43)、N(next)−N(max)>1であって(ステップS61)、N(next)の次に受信したピクチャの表示順番号をN(next2)として設定すると(ステップS64)、N(next2)−N(max)>1であって、且つN(next2)>N(next)であると判定すれば(ステップS65,S66)、N(max)+1〜N(next)−1を欠落ピクチャの表示順番号として出力する(ステップS68)。続いて、欠落ピクチャ画像推定部16では、N(max)及びN(next)のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データの生成を行い、出力可能ピクチャ表示順並べ替え部18は、復号済みピクチャ蓄積管理部14における蓄積済みの画像データに推定ピクチャ画像データを表示順に補完する(ステップS69)。
例えば、「パターン11」として図29に示すように、表示順に並び替えられた画像データD1〜D3,D5,D7において、N(max)−N(second)=3−2=1であり、N(next)−N(max)=5−3=2>1であって、N(next)=5の次に受信したピクチャの表示順番号が♯7であるとすると、N(next2)=7に設定し、N(next2)−N(max)=7−3=4>1であって、且つN(next2)>N(next)であるので、N(max)+1〜N(next)−1、即ちこの例では#4を欠落ピクチャの表示順番号として推定し、欠落ピクチャ画像推定部16は、N(max)=3及びN(next)=5のピクチャの画像データと動きベクトルを用いて欠落ピクチャの画像データDS4の生成を行う。ステップS69の後、ストリームの正常受信時の動作に戻る(図示“D”)。
欠落ピクチャ画像推定部16における欠落ピクチャの画像データの推定の動作について説明を加えると、前述したように、欠落ピクチャの画像データの生成には、欠落ピクチャの少なくとも1つ以上の前又は後のピクチャの画像データと動きベクトルを用いる。本実施例において、欠落ピクチャの画像データを生成するための少なくとも1つ以上の前又は後のピクチャの組み合わせは、以下の5種類となる。
(1)1枚の前ピクチャ(I又はP又はB)と1枚の後ろピクチャ(I又はP)の組み合わせ
(2)1枚の前ピクチャ(I又はP又はB)と1枚の後ろピクチャ(B)及び1枚の後ろピクチャ(I又はP)の組み合わせ
(3)1枚の前ピクチャ(I又はP)と1枚の後ろピクチャ(I又はP)の組み合わせ
(4)1枚の前ピクチャ(I又はP)と1枚の後ろピクチャ(B)及び1枚の後ろピクチャ(I又はP)の組み合わせ
(5)1枚の前ピクチャ(I又はP)のみ
例えば、図30に示すように、欠落ピクチャ画像推定部16は、欠落ピクチャの画像データDSnに対して、1枚の前ピクチャ(I)の画像データDNと、後ろピクチャ(B)の画像データDn+1及び後ろピクチャ(I)の画像データDn+2とを用いて動き補償する場合の一例を示す。この場合、フレーム間の時間Tを有する画像データDn+2からの動きベクトルMVは、フレーム間の時間tを有する動きベクトルmvとの間で、MV=mv×T/tで表されるようにスケーリングして動き補償する。
上述した実施例の受信機によれば、動画映像を符号化したストリームを受信中に、何らかの原因で受信ストリーム断となった場合でも、受信機からの出力映像を違和感なく出力ができる。
上述の実施例については代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換することができることは当業者に明らかである。例えば、上述した実施例において、欠落ピクチャの画像データを生成するために、当該欠落ピクチャに時間的に近接する画像データが受信機の外部に未出力で蓄積されている場合、これらの画像データの全てを積極的に用いるように説明したが、必ずしもこれらの画像データの全てを用いるように構成することを義務付けるものではない。従って、本発明は、上述の実施例によって制限するものと解するべきではなく、特許請求の範囲によってのみ制限される。