(57)【特許請求の範囲】
【請求項１】
フレーム全体の情報を含むI-フレームの後に前記フレーム間の差分情報からなるP-フレームが続いた符号化された動画像データを再生表示する動画像再生表示装置において、
符号化された動画像データの入力を制御する入力制御手段と、
前記入力制御手段から送られてくる符号化された動画像データから各フレームを復号化する復号化手段と、
前記復号化手段が復号化したフレームにフレーム番号およびタイムコードを付加すると共に前記動画像データにおける位置をフレーム全体の情報として記録するフレーム記録手段と、
再生するフレームのフレーム番号およびタイムコードに基づいて前記フレーム記録手段から対応するフレーム全体の情報を取り出し前記復号化手段に設定すると共に前記入力制御手段に前記動画像データの入力位置を設定する再生制御手段と、
前記復号化手段の復号化したフレームを表示する表示手段とを備え、
前記フレーム記録手段は、記録するフレームが予め定められた数に達した後は、新しいフレームは最初に記録されたフレームを書き潰す形で記録するリングバッファを２個持つ二段階構成とし、第２段目のリングバッファのフレーム記録周期は第１段目のリングバッファのフレーム記録周期より長いことを特徴とする動画像再生表示装置。
【請求項２】
前記復号化手段に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および前記動画像データにおける位置を前記フレーム記録手段に送信する第２復号化手段を設け、
前記フレーム記録手段は、前記第２復号化手段から受信したフレームを前記第２段目のリングバッファに記録し、前記復号化手段からのフレームを前記第１段目のリングバッファに記録することを特徴とする請求項１に記載の動画像再生表示装置。
【請求項３】
前記フレーム記録手段に記録したフレームを一覧表示するフレーム表示手段と、
前記第２復号化手段によって復号化されたフレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定しその静動判定結果から移動物体の存在を検出する移動物体検出手段と、
前記移動物体検出手段によって移動物体が検出されたときフレーム全体の情報を所定のタイミングで前記フレーム記録手段に記録するフレーム記録タイミング判定手段とを設け、
前記フレーム記録手段は、前記第２段目のリングバッファとは別に前記第２復号化手段の復号化したフレームを周期的に一時的に記録する一時記録用リングバッファを持ち、前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームおよび前記一時記録用リングバッファに記録された前記フレームより一定時間前のフーレムを前記第２段目のリングバッファに記録し、前記フレーム表示手段には前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームを表示し、
前記再生制御手段は前記フレーム記録タイミング判定手段が判定を下したタイミングより一定時間前のフレームからの再生を設定することを特徴とする請求項２に記載の動画像再生表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル技術を用いて符号化された動画像を復号化再生する動画像再生表示装置に関する。
【０００２】
【従来の技術】
一般に、動画像再生表示装置における動画像符号化処理では、フレーム内の情報に基づいて符号化されるI-フレームと、動き補償を用いてフレーム間の差分情報で符号化されるP-フレームとが使われる。P-フレームは過去のフレームからの外挿によって符号化されるが、I-フレームとP-フレームとを内装するB-フレームが使われることもある。
【０００３】
以上の様に符号化された動画像データがファイルに保存されているとき、この画像データの再生においては、必ずI-フレームの位置から行なう必要がある。これは、P-フレームは、過去のフレームからの差分情報からなるため、その情報からだけではフレームを完全に再生することはできないからである。
【０００４】
符号化された動画像データを通常再生だけでなく、早送りや巻き戻しを実現するものとして、例えば特開平7-203416号公報に示されるものがある。この動画像配送方式では、画像データ中のI-フレームの位置に再生位置を素早く移動することで、早送りや巻き戻しを実現している。
【０００５】
【発明が解決しようとする課題】
しかしながら、I-フレームの後に長時間（例えば５分間）のP-フレームのみが連続して記録されている動画像データを再生する場合には、一度見たシーンを短時間（例えば10秒間）戻って再生しようとしても適正に再生できない。
【０００６】
本発明は、P-フレームのみが長時間に亘って続く場合においても短時間前への巻き戻しや早送りを可能とする動画像再生表示装置を提供するものである。
【０００７】
【課題を解決するための手段】
請求項１の発明に係わる動画像再生表示装置は、フレーム全体の情報を含むI-フレームの後に前記フレーム間の差分情報からなるP-フレームが続いた符号化された動画像データを再生表示する動画像再生表示装置において、符号化された動画像データの入力を制御する入力制御手段と、前記入力制御手段から送られてくる符号化された動画像データから各フレームを復号化する復号化手段と、前記復号化手段が復号化したフレームにフレーム番号およびタイムコードを付加すると共に前記動画像データにおける位置をフレーム全体の情報として記録するフレーム記録手段と、再生するフレームのフレーム番号およびタイムコードに基づいて前記フレーム記録手段から対応するフレーム全体の情報を取り出し前記復号化手段に設定すると共に前記入力制御手段に前記動画像データの入力位置を設定する再生制御手段と、前記復号化手段の復号化したフレームを表示する表示手段とを備え、前記フレーム記録手段は、記録するフレームが予め定められた数に達した後は、新しいフレームは最初に記録されたフレームを書き潰す形で記録するリングバッファを２個持つ二段階構成とし、第２段目のリングバッファのフレーム記録周期は第１段目のリングバッファのフレーム記録周期より長いことを特徴とする。
【０００８】
以上のような態様では、入力制御手段から送られてくる符号化された動画像データから各フレームを復号化手段で復号化し、復号化したフレームにフレーム番号およびタイムコードを付加すると共に動画像データにおける位置をフレーム全体の情報としてフレーム記録手段に記録する。再生制御手段は、再生するフレームのフレーム番号およびタイムコードに基づいてフレーム記録手段から対応するフレーム全体の情報を取り出し復号化手段に設定すると共に入力制御手段に動画像データの入力位置を設定する。表示手段は、復号化手段の復号化したフレームを表示する。
【００１０】
また、フレーム記録手段のリングバッファには、記録するフレームが予め定められた数に達した後、新しいフレームを最初に記録されたフレームの上に書き潰す形で記録する。
【００１２】
さらに、第１段目のリングバッファには請求項２と同じフレーム記録周期でフレームを記録し、第２段目のリングバッファには第１段目のリングバッファのフレーム記録周期より長いフレーム記録周期でフレームを記録する。従って、第２段目のリングバッファにはフレーム記録周期の反比例して多くのフレームを記録できる。
【００１５】
請求項２の発明に係わる動画像再生表示装置は、請求項１の発明において、前記復号化手段に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および前記動画像データにおける位置を前記フレーム記録手段に送信する第２復号化手段を設け、前記フレーム記録手段は、前記第２復号化手段から受信したフレームを前記第２段目のリングバッファに記録し、前記復号化手段からのフレームを前記第１段目のリングバッファに記録することを特徴とする。
【００１６】
以上のような態様では、請求項１の発明の作用に加え、第２復号化手段は、復号化手段に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および動画像データにおける位置をフレーム記録手段に送信する。フレーム記録手段は、第２復号化手段から受信したフレームを第２段目のリングバッファに記録し、復号化手段からのフレームを前記第１段目のリングバッファに記録する。
【００１９】
請求項３の発明に係わる動画像再生表示装置は、請求項２の発明において、前記フレーム記録手段に記録したフレームを一覧表示するフレーム表示手段と、前記第２復号化手段によって復号化されたフレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定しその静動判定結果から移動物体の存在を検出する移動物体検出手段と、前記移動物体検出手段によって移動物体が検出されたときフレーム全体の情報を所定のタイミングで前記フレーム記録手段に記録するフレーム記録タイミング判定手段とを設け、前記フレーム記録手段は、前記第２段目のリングバッファとは別に前記第２復号化手段の復号化したフレームを周期的に一時的に記録する一時記録用リングバッファを持ち、前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームおよび前記一時記録用リングバッファに記録された前記フレームより一定時間前のフーレムを前記第２段目のリングバッファに記録し、前記フレーム表示手段には前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームを表示し、前記再生制御手段は前記フレーム記録タイミング判定手段が判定を下したタイミングより一定時間前のフレームからの再生を設定することを特徴とする。
【００２０】
以上のような態様では、請求項２の発明の作用に加え、移動物体検出手段は、第２復号化手段によって復号化されたフレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定しその静動判定結果から移動物体の存在を検出する。フレーム記録タイミング判定手段は、移動物体検出手段によって移動物体が検出されたときフレーム全体の情報を所定のタイミングでフレーム記録手段に記録する。
【００２２】
また、フレーム記録手段は、フレーム記録タイミング判定手段が判定を下したタイミングのフレームおよび一時記録用リングバッファに記録されたフレームより一定時間前のフーレムを第２段目のリングバッファに記録し、フレーム表示手段にはフレーム記録タイミング判定手段が判定を下したタイミングのフレームを表示し、再生制御手段はフレーム記録タイミング判定手段が判定を下したタイミングより一定時間前のフレームからの再生を設定する。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。図１は本発明の第１の実施の形態に係わる動画再生表示装置のブロック構成図である。ファイル100には符号化された動画像データが記録されており、入力制御手段101は再生制御手段104からのファイル位置情報に従ってファイル100から符号化された動画像データを読み出す。復号化手段102は、入力制御手段101から送られてくる符号化された動画像データを復号化しフレームを復元する。
【００２４】
フレーム記憶手段103は、復号化手段102が復号化したフレームに対し、フレーム番号およびタイムコードを付加すると共に動画像データにおける位置をフレーム全体の情報として記録する。また、再生制御手段104は、再生するフレームのフレーム番号およびタイムコードに基づいて、フレーム記録手段103から対応するフレーム全体の情報を取り出し、そのフレーム全体の情報を復号化手段102に設定すると共に入力制御手段101に動画像データの入力位置を設定する。そして、表示手段105に復号化手段102の復号化したフレームを表示する。
【００２５】
図２は、復号化手段102のブロック構成図である。
入力制御手段101から送られてきた符号化された動画像データは、まず、復号化手段102の入力バッファ201に一度蓄えられ、可変長復号化部202に送られ、各シンタクスの情報の可変長符号の復号を行う。
【００２６】
可変長復号化部202において、フレームのモードがIであれば（I-フレーム）、モード切替スイッチ207をオフに選択して復号化する。可変長復号化部202で復号化された量子化DCT係数情報は逆量子化部203に入力され逆量子化される。そして、IDCT部204で逆離散コサイン変換処理を行うことにより、再生画像信号を生成する。この再生画像信号は、フレームメモリ208に参照画像として蓄積される一方、出力制御部209を経て外部（フレーム記憶手段103、表示手段105）へ出力される。
【００２７】
一方、フレームのモードがPであれば（P-フレーム）、処理はマクロブロック毎に異なる。このとき、マクロブロックのモードがINTRAならば、モード切替スイッチ207をオフに選択して、可変長復号化部202で復号化された量子化DCT係数情報は、逆量子化部203で逆量子化され、IDCT部204で逆離散コサイン変換処理を行うことにより、再生画像信号を生成する。この再生画像信号は、フレームメモリ208に参照画像として蓄積される一方、出力制御部209を通じて外部へ出力される。
【００２８】
マクロブロックのモードがINTERおよびNOT_CODEDならば、モード切替スイッチ207をオンに選択して、可変長復号化部202で復号化された量子化DCT係数情報は、逆量子化部203で逆量子化され、IDCT部204で逆離散コサイン変換処理をおこない、可変長復号化部202で復号化された動きベクトル情報に基づいて、動き補償部205において参照画像を動き補償し、加算器206で足しあわせて、再生画像信号を生成する。この再生画像信号は、フレームメモリ208に参照画像として蓄積される一方、出力制御部209を経て外部（フレーム記憶手段103、表示手段105）へ出力される。
【００２９】
出力制御部209は、通常、再生画像信号と付随する当該フレームの符号化データのファイルにおける位置、フレーム番号、および先頭のフレームからの経過時間をミリ秒を単位として表すタイムコードを表示手段105およびフレーム記録手段103に出力する。
【００３０】
なお、復号化手段102における可変長復号化部202、逆量子化部203、IDCT部204、加算器206、および動き補償部205は逐次処理され、後述するように出力先の表示手段105の時刻制御により出力がブロックされることがある。表示手段105の時刻制御により出力がブロックされると、復号化手段102全体の処理がブロックされる。出力制御部209は、表示手段105への出力を省略する機能もあり、この場合、処理がブロックされることはないため、復号化手段102は高速で復号化することができる。この仕組みを用いて、復号化手段102は、表示手段105の時刻制御に従って実時間で復号化する実時間モードと、表示手段105の時刻制御に制限されずに高速で復号化する高速モードとを実現する。
【００３１】
図３は、表示手段105のブロック構成図である。復号化手段102から送られてきた再生画像信号は、ビデオバッファ220に入力されディスプレー221に表示される。時刻制御部222は、再生制御手段104より再生開始の信号を受けると、その後、最初に復号化手段102より到着したフレームのタイムコードを記録し、その後、表示するフレームのタイムコードと、再生開始時のフレームのタイムコードとの差が、タイマー106の時刻を超えないようにビデオバッファ220への入力を制御する。ビデオバッファ220への入力が制御されると、復号化手段102の出力が抑制され、復号化の速度が再生速度に調整される。タイマー223は１ミリ秒を単位とした時計であり、再生制御手段104より、再生開始の信号を受けると０にリセットされ、その後、実時間でカウントアップする。
【００３２】
次に、フレーム記録手段103は、予め設定された時間間隔、例えば１秒間隔で、復号化手段102から出力される再生されたフレームを、フレーム番号、付随するタイムコード、および動画像データにおける位置と共に記録する。
【００３３】
図４は、フレーム記録手段103に記録されるレコードの説明図である。レコードは、フレーム番号301、タイムコード302、動画像データにおける位置303、およびフレーム304から構成され、フレーム記憶手段103には複数個のレコードが記録される。レコードとしてフレーム番号301に加えタイムコード302を記録するのは、タイムコード302がフレーム番号301に比例しない場合に対応するためである。さらに最終のレコードの位置を記録するためのポインタ305が設けられている。これらのうち、フレーム番号301、タイムコード302、動画像データにおける位置303は、4Byteの整数データであり、フレーム304はYUV4:2:0形式のイメージデータある。
【００３４】
フレーム304が354画素×288のCIFサイズの場合、フレーム304のサイズは203904Byteとなり、レコードのサイズは203916バイトとなる。そのため、フレーム304を１秒間隔で600秒間記録すると、約122MByteのサイズとなり、一般的なハードディスク、または主メモリを使用してフレーム記録手段103を構成することが可能である。また、各フレーム304の長さは一定であり、レコードの先頭に対して容易にランダムアクセス可能である。
【００３５】
なお、フレーム記録手段103は、再生済みのフレーム304を巻き戻して再生する際は記録されているレコードのうち最新のタイムコード302より過去のタイムコード302を持つフレーム304は記録しない。
【００３６】
また、フレーム記録手段103は、フレーム番号301、タイムコード302（時刻）をキーとして該当するレコードを検索する機能を持っている。後述する再生制御手段104よりタイムコード302（時刻）をキーとてフレーム304の検索要求が来たときの検索処理を図５に示す。
【００３７】
図５において、処理が開始されると、指定された時刻が最終レコードのタイムコード302より前か後かを判定する（Ｓ１）。もし、最終レコードのタイムコード302より後の時刻を指定された場合は失敗を返し処理を終了する（Ｓ２）。そうでなければ、二つの変数BeforeとAfterとにそれぞれ最初のフレーム番号０と、最終レコード番号を入れる（Ｓ３）。
【００３８】
そして、After−Beforeが１以下か否かを判定し（Ｓ４）、１以下の場合はBeforeを返し処理を終了する（Ｓ５）。一方、１より大きい場合には、（After＋Before）／２をｆとする（Ｓ６）。この場合、ｆが整数となるように、例えば四捨五入する。
【００３９】
次に、ｆのタイムコードと与えられた目標時刻とを比較し（Ｓ７）、ｆのタイムコードが目標時刻より小さい場合にはBeforeにｆを入れ（Ｓ８）、ステップＳ４に戻る。ｆのタイムコードが目標時刻より大きい場合にはAfterにｆを入れ（Ｓ９）、ステップＳ４に戻る。また、ｆのタイムコードが目標時刻に一致したときはｆを戻し処理を終了する（Ｓ１０）。
【００４０】
例えば、最終レコード番号が「４」で目標時刻が３００である場合には、最終レコードのタイムコードは４００であり、指定された時刻は３００であるので、指定された時刻は最終レコードのタイムコードより前であるので、ステップＳ３においてBeforeには０がセットされAfterには４がセットされる。
【００４１】
そして、ステップＳ４の判定ではAfter−Before（＝４）が１より大きいのでステップＳ６においてｆ（＝２）が算出される。ｆ（＝２）のタイムコードは２００であり目標時刻３００より小さいので、ステップＳ８においてBeforeに２がセットされステップＳ４に戻る。
【００４２】
以下同様に演算され、Afterが４でBeforeが２であるから、ステップＳ６においてｆ（＝３）が算出され、ｆ（＝３）のタイムコードは３００であり目標時刻３００と等しいのでステップＳ１０においてｆ（＝２）を返す。つまり、レコード番号「２」が返される。
【００４３】
このように、ステップＳ４以降は２分サーチで、該当するタイムコードを持つレコード番号をサーチし、ステップＳ５またはステップＳ１０で結果を返す。ステップＳ５で結果を返す場合、指定された時刻以前で最近のフレームのレコード番号が返される。
【００４４】
次に、再生制御手段104は動画像再生表示装置全体を制御するものであり、通常再生のときには、再生制御手段104は、入力制御手段101にファイルの読出し位置としてファイルの先頭を送ると共に、復号化手段102にはフレームメモリ208のクリア信号を送る。また、表示手段105には再生の開始を知らせる。フレーム記録手段103には内部に記録されてるデータのクリア信号を送る。これにより、再生動作を開始する。
【００４５】
一方、特定の時刻のフレームから再生するときには、再生制御手段104はフレーム記録手段103に該当するタイムコードを持つレコードを問い合わせる。図５の処理により、該当するレコードが見つかった場合は、レコードの動画像データにおける位置303を入力制御手段101に送り、レコードのフレーム304を復号化手段102のフレームメモリ208に書込み、表示手段105には再生の開始を知らせる。これにより、以後、入力制御手段101は、指定された時刻以降のP-フレームを読出すが、フレームメモリ208の内容は、初めに同時刻のP-フレームを再生した状態と同じあるため正常に再生される。
【００４６】
ここで、与えられた時刻に該当するフレームが見つからずに、図５に示すステップ２により失敗が返された場合場合には、復号化手段102へ目標時刻を送ると共に、復号化手段102を高速モードに設定して目標時刻までの復号化を進める。復号化手段102が目標時刻まで復号化を終了したら、復号化手段102は実時間モードに戻り、また再生制御手段104を通じて、表示手段105に再生の開始を知らせる。
【００４７】
以上のように、フレーム記憶手段103にレコードを検索する機能を持たせたので、迅速な巻き戻し再生および早送り再生が可能となる。
【００４８】
図６は、フレーム記録手段103にリングバッファを採用した場合のフレーム記録手段103の説明図である。フレーム記録手段103の記憶容量には限界があるため、この限界を超える数のレコードを記録することはできない。
【００４９】
そこで、フレーム記録手段103の最大記録レコード数600を超えた場合、601番目のフレーム（フレーム番号6000）を0番目のレコードに記録し、602番目のフレーム（フレーム番号6010）に記録する。以下、同様にレコードをカウントアップする。このように記録をリング状にする。これにより、最も以前に記録されたフレームを消去することで、過去600フレームを記録する。なお、リングバッファを採用した場合、最初のレコード番号は、最終レコード番号より一つ大きいため、図５の処理は変更の必要がある。具体的には、ステップＳ３の処理を次の様に変更する。
【００５０】
Last + 1→Before
Last +バッファサイズ→After
さらに、図５の処理で計算される仮のレコード番号を用いてレコードを参照するときは、仮のレコード番号をバッファサイズで割った余りをレコード番号とする。このリングバッファの採用により、再生中のフレームから600秒前まで巻き戻しが可能になる。
【００５１】
次に、再生中のフレームから600秒前よりさらに前まで巻き戻しを可能とする場合には、図７に示すように、リングバッファを二重化する。図７（ａ）は第１のリングバッファを示し、図７（ｂ）には第２のリングバッファを示す。第１のリングバッファは、図６に示したリングバッファと同一であるが、同じ構造の第２のリングバッファを用意する。
【００５２】
第１のリングバッファと同様に、フレーム番号601、タイムコード602、動画像データにおける位置603、フレーム604、ポインタ605で示される第２のリングバッファを用意し、第１のリングバッファの1/10周期、すなわち10秒間隔で記録する。周期が1/10なので、第１のリングバッファと同じ記憶容量で10倍の時間が記録できる。巻戻しの時刻が指定されたとき、フレーム記録手段103は最初に第１のリングバッファを検索し、見つからなければ第２のリングバッファを検索する。第２のリングバッファで目的とする時刻のフレームが見つかった場合には、再生制御手段104は第１のリングバッファを初期化して再生を開始する。
【００５３】
このように、単一のリングバッファを使った場合に比べ、２倍の記録容量のフレーム記録手段103を用いて10倍過去への巻戻しが可能となる。もちろん、第２のリングバッファでは設定できる時間の精度は下がるが、過去に遡るほど人間の時間感覚も曖昧になるため実用上は問題ない。また、第２のリングバファへの記録のタイミングをユーザーが指定することも可能である。
【００５４】
次に、本発明の第２の実施の形態を説明する。図８は本発明の第２の実施の形態に係わる動画再生表示装置のブロック構成図である。この第２の実施の形態は、図１に示す第１の実施の形態に対し、第２復号化手段700を追加して設けたものであり、この第２復号化手段700は、復号化手段102に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および動画像データにおける位置を、フレーム記録手段103に送信するようにしたものである。その他の構成は、図１に示した第１の実施の形態と同一であるので、同一要素には同一符号を付し重複する説明は省略する。
【００５５】
第２復号化手段700は、入力制御手段101から送られてくる画像データを表示手段105の時刻制御の制限を受けずに高速で復号化する。第２復号化手段700の内部構造は、第１復号化手段102と同様である。フレーム記録手段103は、復号化手段102から送られてくるフレームに先立ち、第２復号化手段700からのフレームを一定周期で記録する。
【００５６】
また、二段階構成のリングバッファを持つフレーム記録手段103を用いる場合は、第１復号化手段102からのフレームをフレーム記録手段103の第１段目のリングバッファに、第２復号化手段700からのフレームを第２段目のリングバッファに記録する。
【００５７】
これにより、実時間で復号化を進める復号化手段102に先立ち、復号化したフレームをフレーム記録手段103に記録できるため、迅速な早送りが可能になる。
【００５８】
次に、本発明の第３の実施の形態を説明する。図９は本発明の第３の実施の形態に係わる動画再生表示装置のブロック構成図である。この第３の実施の形態は、図８に示す第２の実施の形態に対し、フレーム記録手段103に記録したフレームを一覧表示するフレーム表示手段800を設け、フレーム記録手段103は、フレーム表示手段800上に表示されたフレームが指定されたときはフレームに関する記録を検索し、再生制御手段104は、検索されたフレームから再生するようにしたものである。その他の構成は、図８に示した第２の実施の形態と同一であるので、同一要素には同一符号を付し重複する説明は省略する。
【００５９】
フレーム表示手段800は表示手段105と同様にディスプレーを持っており、図１０に示す画面例のように、フレーム記録手段103から一定周期で記録されているフレームを取り出して、ディスプレー上に一覧表示する。ユーザーがマウス等のポインティングディバイスで、ディスプレー上のフレームを指定すると、フレーム表示手段800は指定されたフレームに対応するレコードをフレーム記録手段103から取り出し、当該レコードに記録されているフレーム番号301、タイムコード302、動画像データにおける位置303を再生制御手段104に送信し、再生制御手段104は送られてきたこれらの情報に基づいて動画像を再生表示する。
【００６０】
なお、ディスプレーに一覧表示するときは、ディスプレーの限られた表示面積でできるだけ多くのフレームを表示できるように、縮小表示をしても良い。また、フレーム表示手段800は表示手段105のディスプレー221を共有して使用しても良い。
【００６１】
次に、図１１は、図８および図９に示した第２の符号化手段700に、移動物体検出手段H101およびフレーム記録タイミング判定手段H102を追加して設けたものである。
【００６２】
移動物体検出手段H101は、マクロブロック静動判定手段H111、移動物体判定手段H113および減算器H112から構成される。移動物体検出手段H101のマクロブロック静動判定手段H111は、フレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定し、移動物体判定手段H113は、その静動判定結果から移動物体の存在を検出する。また、移動物体検出手段H101によって移動物体が検出されたときは、フレーム記録タイミング判定手段H102は、出力制御部209を介してフレーム全体の情報を所定のタイミングでフレーム記録手段103に記録する。
【００６３】
移動物体検出手段H101においては、図１２に示す処理が行われる。すなわち、マクロブロック静動判定手段H111により、１フレーム毎にマクロブロック静動判定を行い（S101）、移動物体判定手段H113により移動物体判定を行う（S102）。
【００６４】
マクロブロック静動判定手段H111では、第２復号化手段700の可変長復号部202において復号されたモード情報、動きベクトル情報、DCT係数情報と、減算器H112で求めたINTRAマクロブロックの時の再生画像信号と１フレーム前のフレームメモリとの差分絶対値和SADから、フレーム内のマクロブロック毎の静動判定を行う。
【００６５】
図１３は、マクロブロック静動判定処理（S101）の具体的な内容を示すフローチャートである。ここで、ｉとｊは、フレーム内の垂直方向と水平方向のマクロブロックのアドレスをそれぞれ表し、V_NMBとH_NMBはフレーム内の垂直方向と水平方向のマクロブロック数を表している。２次元配列M[ｉ][ｊ]は、各マクロブロックが動マクロブロックか否かの情報を蓄える配列で、TRUEならば動マクロブロック、FALSEならば静止マクロブロックを表す。
【００６６】
また、ステップS201〜ステップS209（LOOP1）はi=0〜V_NMB-1を繰り返すことを意味し、ステップS202〜ステップS208（LOOP2）はj=0〜H_NMB-1を繰り返すことを意味する。
【００６７】
まず、マクロブロック毎に第２復号化手段700の可変長復号化部202からのモード情報MODEの判定を行う（S203）。MODEがINTRAならば、そのマクロブロックの再生画像信号と１フレーム前のフレームメモリ208との差分絶対値和SADを計算し、閾値T0と比較する（S204）。もし、閾値T0よりも大きい場合は、そのマクロブロックは動マクロブロックと判定し、 M[ｉ][ｊ]にTRUEが代入される（S206）。一方、閾値T0以下の場合は、そのマクロブロックは静止マクロブロックと判定し、 M[ｉ][ｊ]にFALSEが代入される（S207）。
【００６８】
ステップS203の判定で、MODEがINTERならば、可変長復号化部202からの動きベクトル情報およびDCT係数情報から、そのマクロブロックの動きベクトルの絶対値和Σ|MV|および、DCT係数の絶対値和Σ|COF|を計算し、それぞれの閾値T1、T2と比較を行う（S205）。もし、動きベクトルの絶対値和と、DCT係数の絶対値和とが閾値よりも小さければ、そのマクロブロックは静止マクロブロックと判定し、 M[ｉ][ｊ]にFALSEが代入される（S207）。そうでない場合には、そのマクロブロックは動マクロブロックと判定し、 M[ｉ][ｊ]にTRUEが代入される（S206）。
【００６９】
ステップS203の判定で、MODEがNOT_CODEDならは、そのマクロブロックは静止マクロブロックと判定し、 M[ｉ][ｊ]にFALSEが代入される（S207）。
【００７０】
次に、移動物体判定手段H113では、マクロブロック静動判定手段H111のマクロブロック毎の静動判定情報から移動物体の判定を行う。図１４は、移動物体判定手段H113の処理内容を示すフローチャートである。移動物体判定手段H113では、雑音除去処理（S301）と移動物体包含処理（S302）との２つの処理が行われる。
【００７１】
雑音除去処理（S301）では、背景画像の小物体の揺らぎや画像取り込み時の雑音によって動マクロブロックと誤検出されてしまうことを防止するために、周囲８マクロブロックが全て静止している動マクロブロックを取り除いている。移動物体包含処理（S302）は、雑音を取り除いた後の静動判定結果から、隣接して動マクロブロックが存在する領域を包含する最小の長方形の検出する処理を行う。この処理で、移動物体を包含する長方形を見つけることができる。
【００７２】
図１５は、雑音除去処理（S301）の具体的な処理内容を示すフローチャートである。図１３と同様に、ｉとｊは、フレーム内の垂直方向と水平方向のマクロブロックのアドレスをそれぞれ表し、V_NMBとH_NMBはフレーム内の垂直方向と水平方向のマクロブロック数を表している。２次元配列M[ｉ][ｊ]は、各マクロブロックが動マクロブロックか否かの情報を蓄える配列で、TRUEならば動マクロブロック、FALSEならば静止マクロブロックを表す。
【００７３】
また、ステップS401〜ステップS408（LOOP1）はi=0〜V_NMB-1を繰り返すことを意味し、ステップS402〜ステップS407（LOOP2）はj=0〜H_NMB-1を繰り返すことを意味する。
【００７４】
まず、マクロブロック毎の静動判定結果をみる（S403）。もし、２次元配列M[ｉ][ｊ]の値がFALSE、つまり、静止マクロブロックならば、そのマクロブロックでは何も行わず、LOOP2、LOOP1により次のマクロブロックにいく。もし、２次元配列M[ｉ][ｊ]の値がTURE、つまり、動マクロブロックならば、そのマクロブロックの周囲８マクロブロックの静動判定結果をチェックし（S405）、全て、FALSEつまり静止マクロブロックならば、そのマクロブロックは、雑音であると判定し、静止マクロブロックに書き換える（S406）。もし、周囲８マクロブロックのうち一つでもTUREがあれば、雑音とは判定せず、LOOP2、LOOP1により次のマクロブロックに移る。なお、画面の外側については、静止マクロブロックとして仮定している。
【００７５】
図１６は、移動物体包含処理（S302）の具体的な処理内容を示すフローチャートである。ステップS501における、ｎは移動物体の数を示すカウンタであり、S1~S4は移動物体を包含する長方形を探索する範囲を示すパラメータで、S1、S2は、垂直方向のアドレスの始点と終点であり、S3、S4は、水平方向のアドレスの始点と終点である。
【００７６】
まず、探索範囲としてフレーム全体を指定するように初期化を行う（S501）。次に指定された探索範囲で移動物体を包含する最小の長方形を探索する関数Rectangularを呼び出す（S502）。
【００７７】
図１７および図１８は、関数Rectangularの処理内容を示すフローチャートである。関数Rectangularは、探索範囲であるS1〜S4と、移動物体の数を示すｎと、各マクロブロックの静動判定結果の格納された２次元配列Mとを入力とし、探索結果の長方形のアドレスを格納した１次元配列B1〜B4と移動物体の数を示すｎとを出力とする。
【００７８】
ここで、１次元配列HVは、垂直方向の動マクロブロックの数のヒストグラムを作成するための作業配列であり、１次元配列HHは、水平方向の動マクロブロックの数のヒストグラムを作成するための作業配列である。また、変数VFLAGは、水平方向のヒストグラムの値が０でない状態の時にTRUEとなり、値が０の時にFALSEとなるように変更されるフラグであり、変数HFLAGは、垂直方向のヒストグラムの値が０でない状態の時にTRUEとなり、値が０の時にFALSEとなるように変更されるフラグである。
【００７９】
まず、図１７において、垂直方向の動マクロブロックの数のヒストグラムを作成するための作業配列HVの探索範囲であるS1〜S2の範囲を値0で初期化する（S601）。次のLOOP1（S602〜S607）とLOOP2（S603〜S606）の２重ループでは、探索範囲での垂直方向の動マクロブロックの数のヒストグラムを作成している。つまり、マクロブロック毎の静動判定結果M[ｉ][ｊ]の値を比較し（S604）、値がTURE、つまり、動マクロブロックならば、HV[ｉ]をプラス１し（S605）、FALSEの場合は、何もしないという動作をとっている。
【００８０】
次に、LOOP3（S602〜S639）の処理に移り、垂直方向のヒストグラムの中から、０でない連続した部分を探索する。まず、フラグVFLAGをFALSEにセットする（S608）。次に、探索範囲S1からS2の順序で、ヒストグラムHVが０でなく、VFLAGがFALSEであるかをチェックする（S610）。この条件に当てはまるのは、ヒストグラムが０でない連続した部分の始点の部分である。従って、探索している長方形の垂直方向の始点の候補となるので、１次元配列B1[n]にアドレスｉを格納し、VFLAGをTUREにセットする（S611）。
【００８１】
次に、ヒストグラムHVが０あるいは、探索範囲の終点で、VFLAGがTUREであるかをチェックする（S612）。この条件に当てはまるのは、ヒストグラムが０でない連続した部分の終点の部分である。従って、探索している長方形の垂直方向の終点の候補となるので、もし、ヒストグラムHVが０の場合は、１次元配列B2[n]にアドレスi-1を格納し（S614）、そうでない場合は、１次元配列B2[n]にアドレスiを格納する（S615）。そして、VFLAGを再びFALSEにセットする（S616）。
【００８２】
次に、図１８において、今度は、水平方向の動マクロブロックの数のヒストグラムを作成するための作業配列HVの探索範囲であるS3〜S4の範囲を値０で初期化する（S617）。次のLOOP4（S618〜S623）とLOOP5（S619〜S622）の２重ループでは、探索範囲での水平方向の動マクロブロックの数のヒストグラムを作成している。つまり、マクロブロック毎の静動判定結果M[ｋ][ｊ]の値を比較し（S620）、値がTURE、つまり、動マクロブロックならば、HH[ｊ]をプラス１し（S621）、FALSEの場合は、何もしないという動作をとっている。
【００８３】
次に、その水平方向のヒストグラムの中から、０でない連続した部分を探索する。まず、フラグHFLAGをFALSEにセットする（S624）。次に、LOOP6（S625〜S638）の処理に移り、探索範囲S3からS4の順序で、ヒストグラムHHが０でなく、HFLAGがFALSEであるかをチェックする（S626）。この条件に当てはまるのは、ヒストグラムが０でない連続した部分の始点の部分である。従って、探索している長方形の水平方向の始点の候補となるので、１次元配列B3[n]にアドレスｊを格納し、HFLAGをTUREにセットする（S627）。
【００８４】
次に、ヒストグラムHHが０あるいは、探索範囲の終点で、HFLAGがTUREであるかをチェックする（S628）。この条件に当てはまるのは、ヒストグラムが０でない連続した部分の終点の部分である。従って、探索している長方形の水平方向の終点の候補となるので、ヒストグラムHHが０か否かを判定し（S629）、もし、ヒストグラムHHが０の場合は、１次元配列B4[n]にアドレスj-1を格納し（S630）、そうでない場合は、１次元配列B4[n]にアドレスｊを格納する（S631）。そして、HFLAGを再びFALSEにセットする（S632）。
【００８５】
ここで、１通りの垂直方向と水平方向のヒストグラムによる探索が終了したが、探索した結果B1[ｎ]〜B4[ｎ]が探索範囲S1〜S4と一致するかをチェックして（S633）、一致する場合は、もうこれ以上探索する範囲がないので、最小の長方形が求まっていると判定できる（S634）。そして、移動物体の数を表すｎをプラス１して（S635）、次の移動物体の探索に移る。探索した結果B1[ｎ]〜B4[ｎ]が探索範囲S1〜S4と一致しない場合、探索した結果の範囲にまだ複数の移動物体が存在するので、探索した結果B1[ｎ]〜B4[ｎ]をS1〜S4に移し替えて（S636）、再び、関数Rectangularを呼び出す（S637）。
【００８６】
フレーム記録タイミング判定手段H102は、移動物体検出手段H101から送られてくる結果、nおよびB1[ｎ]〜B4[ｎ]に基づきフレームを記録するタイミングを次の様に判定する。
【００８７】
ｎの数が０ならば、フレームは記録しない。ｎの数が１以上ならば、すなわち１個以上の移動する物体が検出されたならば、フレームのタイムコードが前回記録したフレームのタイムコードに比較して１秒以上経過していればフレームを記録する。そうでなければ記録しない。
【００８８】
なお、フレーム記録タイミング判定手段H102は、移動物体を包含する長方形の座標データB1[ｎ]〜B4[ｎ]を使って、より複雑な判定条件、例えば予め指定された位置に移動物体が検出された場合、あるいは移動物体がある一定の速度以上で動いていると判定された場合、あるいは反対にある一定の速度以下で動いていると判定された場合にフレームの記録のタイミングを判定することもできる。
【００８９】
フレーム記録タイミング判定手段H102によって判定されたフレーム記録のタイミングに基づいて出力制御部209はフレームをフレーム記録手段103に記録する。
【００９０】
以上のように、移動物体が検出されたフレームを記録するので、移動物体が検出されたフレームへ素早く早送り巻戻しが可能となる。
【００９１】
ここで、フレーム記録手段103内に、第２復号化手段700の復号化したフレームを一時的に保存する一時記録用リングバッファを設けるようにしても良い。一時記録用リングバッファの構造は図６に示されたものと同様であり、第２復号化手段700が新たに復号化したフレームを全て古いフレームを消去しながら保存する。フレームを保存する時間は例えば３秒間であり、毎秒10フレームで30レコードを記録する。
【００９２】
フレーム記録タイミング判定手段H102が移動物体を検出して判定を下したとき、フレーム記録手段103は第２復号化手段700から送られてきたフレームと、一時記録用リングバッファに記録されている最も古い３秒前のフレームとを第２段目のリングバッファに時間順に記録する。
【００９３】
すなわち、移動物体を検出する３秒前のフレームを先に、移動物体を検出した瞬間のフレームを後に記録する。フレーム表示手段800の一覧表示ではフレーム記録タイミング判定手段H102が移動物体を検出して判定を下した時のフレームが採用され、そのフレームからの再生が指定された時、再生制御手段104は指定されたフレームの３秒前のフレームから再生を開始する。
【００９４】
これにより、移動物体が検出されたフレームへすばやく早送り巻戻しが可能になるのみならず、移動物体が検出された３秒前のフレームへすばやく早送り巻戻しが可能になる
【００９５】
【発明の効果】
以上述べたように、本発明の動画像再生表示装置によれば、長時間P-フレームが続く符号化された動画像データについても迅速な巻戻し再生あるいは、早送り再生が可能となる。また、移動物体検出手段を組み合わせることで、移動物体が検出された場面の画像を迅速に再生できる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係わる動画再生表示装置のブロック構成図。
【図２】本発明の第１の実施の形態における復号化手段のブロック構成図。
【図３】本発明の第１の実施の形態における表示手段のブロック構成図。
【図４】本発明の第１の実施の形態におけるフレーム記録手段に記録されるレコードの説明図。
【図５】本発明の第１の実施の形態におけるフレーム記録手段のフレーム検索機能の処理内容を示すフローチャート。
【図６】本発明の第１の実施の形態におけるフレーム記録手段にリングバッファを採用した場合の説明図。
【図７】本発明の第１の実施の形態におけるフレーム記録手段に２重化したリングバッファを採用した場合の説明図。
【図８】本発明の第２の実施の形態に係わる動画再生表示装置のブロック構成図。
【図９】本発明の第３の実施の形態に係わる動画再生表示装置のブロック構成図。
【図１０】本発明の第３の実施の形態におけるフレーム表示手段でのフレーム表示例の説明図。
【図１１】図８または図９の第２復号化手段に移動物体検出手段とフレーム記録タイミング判定手段とを追加した場合のブロック構成図。
【図１２】本発明の実施の形態における移動物体検出手段の処理内容を示すフローチャート。
【図１３】本発明の実施の形態における移動物体検出手段でのマクロブロック静動判定処理の処理内容を示すフローチャート。
【図１４】本発明の実施の形態における移動物体検出手段での移動物体判定処理の処理内容を示すフローチャート。
【図１５】本発明の実施の形態における移動物体判定処理での雑音除去処理の処理内容を示すフローチャート。
【図１６】本発明の実施の形態における移動物体判定処理での移動物体包含処理の処理内容を示すフローチャート。
【図１７】本発明の実施の形態における移動物体包含処理での関数Rectangularの処理内容を示すフローチャート（その１）。
【図１８】本発明の実施の形態における移動物体包含処理での関数Rectangularの処理内容を示すフローチャート（その２）。
【符号の説明】
100…ファイル、101…入力制御手段、102…復号化手段、103…フレーム記録手段、104…再生制御手段、105…表示手段、700…第２復号化手段、800…フレーム表示手段
【図１】
0004010742.tif 000002
【図２】
0004010742.tif 000003
【図３】
0004010742.tif 000004
【図４】
0004010742.tif 000005
【図５】
0004010742.tif 000006
【図６】
0004010742.tif 000007
【図７】
0004010742.tif 000008
【図８】
0004010742.tif 000009
【図９】
0004010742.tif 000010
【図１０】
0004010742.tif 000011
【図１１】
0004010742.tif 000012
【図１２】
0004010742.tif 000013
【図１３】
0004010742.tif 000014
【図１４】
0004010742.tif 000015
【図１５】
0004010742.tif 000016
【図１６】
0004010742.tif 000017
【図１７】
0004010742.tif 000018
【図１８】
0004010742.tif 000019