JP4010742B2 - 動画像再生表示装置 - Google Patents
動画像再生表示装置 Download PDFInfo
- Publication number
- JP4010742B2 JP4010742B2 JP2000156105A JP2000156105A JP4010742B2 JP 4010742 B2 JP4010742 B2 JP 4010742B2 JP 2000156105 A JP2000156105 A JP 2000156105A JP 2000156105 A JP2000156105 A JP 2000156105A JP 4010742 B2 JP4010742 B2 JP 4010742B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- recording
- moving image
- decoding
- ring buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Description
【発明の属する技術分野】
本発明は、デジタル技術を用いて符号化された動画像を復号化再生する動画像再生表示装置に関する。
【0002】
【従来の技術】
一般に、動画像再生表示装置における動画像符号化処理では、フレーム内の情報に基づいて符号化されるI-フレームと、動き補償を用いてフレーム間の差分情報で符号化されるP-フレームとが使われる。P-フレームは過去のフレームからの外挿によって符号化されるが、I-フレームとP-フレームとを内装するB-フレームが使われることもある。
【0003】
以上の様に符号化された動画像データがファイルに保存されているとき、この画像データの再生においては、必ずI-フレームの位置から行なう必要がある。これは、P-フレームは、過去のフレームからの差分情報からなるため、その情報からだけではフレームを完全に再生することはできないからである。
【0004】
符号化された動画像データを通常再生だけでなく、早送りや巻き戻しを実現するものとして、例えば特開平7-203416号公報に示されるものがある。この動画像配送方式では、画像データ中のI-フレームの位置に再生位置を素早く移動することで、早送りや巻き戻しを実現している。
【0005】
【発明が解決しようとする課題】
しかしながら、I-フレームの後に長時間(例えば5分間)のP-フレームのみが連続して記録されている動画像データを再生する場合には、一度見たシーンを短時間(例えば10秒間)戻って再生しようとしても適正に再生できない。
【0006】
本発明は、P-フレームのみが長時間に亘って続く場合においても短時間前への巻き戻しや早送りを可能とする動画像再生表示装置を提供するものである。
【0007】
【課題を解決するための手段】
請求項1の発明に係わる動画像再生表示装置は、フレーム全体の情報を含むI-フレームの後に前記フレーム間の差分情報からなるP-フレームが続いた符号化された動画像データを再生表示する動画像再生表示装置において、符号化された動画像データの入力を制御する入力制御手段と、前記入力制御手段から送られてくる符号化された動画像データから各フレームを復号化する復号化手段と、前記復号化手段が復号化したフレームにフレーム番号およびタイムコードを付加すると共に前記動画像データにおける位置をフレーム全体の情報として記録するフレーム記録手段と、再生するフレームのフレーム番号およびタイムコードに基づいて前記フレーム記録手段から対応するフレーム全体の情報を取り出し前記復号化手段に設定すると共に前記入力制御手段に前記動画像データの入力位置を設定する再生制御手段と、前記復号化手段の復号化したフレームを表示する表示手段とを備え、前記フレーム記録手段は、記録するフレームが予め定められた数に達した後は、新しいフレームは最初に記録されたフレームを書き潰す形で記録するリングバッファを2個持つ二段階構成とし、第2段目のリングバッファのフレーム記録周期は第1段目のリングバッファのフレーム記録周期より長いことを特徴とする。
【0008】
以上のような態様では、入力制御手段から送られてくる符号化された動画像データから各フレームを復号化手段で復号化し、復号化したフレームにフレーム番号およびタイムコードを付加すると共に動画像データにおける位置をフレーム全体の情報としてフレーム記録手段に記録する。再生制御手段は、再生するフレームのフレーム番号およびタイムコードに基づいてフレーム記録手段から対応するフレーム全体の情報を取り出し復号化手段に設定すると共に入力制御手段に動画像データの入力位置を設定する。表示手段は、復号化手段の復号化したフレームを表示する。
【0010】
また、フレーム記録手段のリングバッファには、記録するフレームが予め定められた数に達した後、新しいフレームを最初に記録されたフレームの上に書き潰す形で記録する。
【0012】
さらに、第1段目のリングバッファには請求項2と同じフレーム記録周期でフレームを記録し、第2段目のリングバッファには第1段目のリングバッファのフレーム記録周期より長いフレーム記録周期でフレームを記録する。従って、第2段目のリングバッファにはフレーム記録周期の反比例して多くのフレームを記録できる。
【0015】
請求項2の発明に係わる動画像再生表示装置は、請求項1の発明において、前記復号化手段に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および前記動画像データにおける位置を前記フレーム記録手段に送信する第2復号化手段を設け、前記フレーム記録手段は、前記第2復号化手段から受信したフレームを前記第2段目のリングバッファに記録し、前記復号化手段からのフレームを前記第1段目のリングバッファに記録することを特徴とする。
【0016】
以上のような態様では、請求項1の発明の作用に加え、第2復号化手段は、復号化手段に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および動画像データにおける位置をフレーム記録手段に送信する。フレーム記録手段は、第2復号化手段から受信したフレームを第2段目のリングバッファに記録し、復号化手段からのフレームを前記第1段目のリングバッファに記録する。
【0019】
請求項3の発明に係わる動画像再生表示装置は、請求項2の発明において、前記フレーム記録手段に記録したフレームを一覧表示するフレーム表示手段と、前記第2復号化手段によって復号化されたフレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定しその静動判定結果から移動物体の存在を検出する移動物体検出手段と、前記移動物体検出手段によって移動物体が検出されたときフレーム全体の情報を所定のタイミングで前記フレーム記録手段に記録するフレーム記録タイミング判定手段とを設け、前記フレーム記録手段は、前記第2段目のリングバッファとは別に前記第2復号化手段の復号化したフレームを周期的に一時的に記録する一時記録用リングバッファを持ち、前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームおよび前記一時記録用リングバッファに記録された前記フレームより一定時間前のフーレムを前記第2段目のリングバッファに記録し、前記フレーム表示手段には前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームを表示し、前記再生制御手段は前記フレーム記録タイミング判定手段が判定を下したタイミングより一定時間前のフレームからの再生を設定することを特徴とする。
【0020】
以上のような態様では、請求項2の発明の作用に加え、移動物体検出手段は、第2復号化手段によって復号化されたフレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定しその静動判定結果から移動物体の存在を検出する。フレーム記録タイミング判定手段は、移動物体検出手段によって移動物体が検出されたときフレーム全体の情報を所定のタイミングでフレーム記録手段に記録する。
【0022】
また、フレーム記録手段は、フレーム記録タイミング判定手段が判定を下したタイミングのフレームおよび一時記録用リングバッファに記録されたフレームより一定時間前のフーレムを第2段目のリングバッファに記録し、フレーム表示手段にはフレーム記録タイミング判定手段が判定を下したタイミングのフレームを表示し、再生制御手段はフレーム記録タイミング判定手段が判定を下したタイミングより一定時間前のフレームからの再生を設定する。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。図1は本発明の第1の実施の形態に係わる動画再生表示装置のブロック構成図である。ファイル100には符号化された動画像データが記録されており、入力制御手段101は再生制御手段104からのファイル位置情報に従ってファイル100から符号化された動画像データを読み出す。復号化手段102は、入力制御手段101から送られてくる符号化された動画像データを復号化しフレームを復元する。
【0024】
フレーム記憶手段103は、復号化手段102が復号化したフレームに対し、フレーム番号およびタイムコードを付加すると共に動画像データにおける位置をフレーム全体の情報として記録する。また、再生制御手段104は、再生するフレームのフレーム番号およびタイムコードに基づいて、フレーム記録手段103から対応するフレーム全体の情報を取り出し、そのフレーム全体の情報を復号化手段102に設定すると共に入力制御手段101に動画像データの入力位置を設定する。そして、表示手段105に復号化手段102の復号化したフレームを表示する。
【0025】
図2は、復号化手段102のブロック構成図である。
入力制御手段101から送られてきた符号化された動画像データは、まず、復号化手段102の入力バッファ201に一度蓄えられ、可変長復号化部202に送られ、各シンタクスの情報の可変長符号の復号を行う。
【0026】
可変長復号化部202において、フレームのモードがIであれば(I-フレーム)、モード切替スイッチ207をオフに選択して復号化する。可変長復号化部202で復号化された量子化DCT係数情報は逆量子化部203に入力され逆量子化される。そして、IDCT部204で逆離散コサイン変換処理を行うことにより、再生画像信号を生成する。この再生画像信号は、フレームメモリ208に参照画像として蓄積される一方、出力制御部209を経て外部(フレーム記憶手段103、表示手段105)へ出力される。
【0027】
一方、フレームのモードがPであれば(P-フレーム)、処理はマクロブロック毎に異なる。このとき、マクロブロックのモードがINTRAならば、モード切替スイッチ207をオフに選択して、可変長復号化部202で復号化された量子化DCT係数情報は、逆量子化部203で逆量子化され、IDCT部204で逆離散コサイン変換処理を行うことにより、再生画像信号を生成する。この再生画像信号は、フレームメモリ208に参照画像として蓄積される一方、出力制御部209を通じて外部へ出力される。
【0028】
マクロブロックのモードがINTERおよびNOT_CODEDならば、モード切替スイッチ207をオンに選択して、可変長復号化部202で復号化された量子化DCT係数情報は、逆量子化部203で逆量子化され、IDCT部204で逆離散コサイン変換処理をおこない、可変長復号化部202で復号化された動きベクトル情報に基づいて、動き補償部205において参照画像を動き補償し、加算器206で足しあわせて、再生画像信号を生成する。この再生画像信号は、フレームメモリ208に参照画像として蓄積される一方、出力制御部209を経て外部(フレーム記憶手段103、表示手段105)へ出力される。
【0029】
出力制御部209は、通常、再生画像信号と付随する当該フレームの符号化データのファイルにおける位置、フレーム番号、および先頭のフレームからの経過時間をミリ秒を単位として表すタイムコードを表示手段105およびフレーム記録手段103に出力する。
【0030】
なお、復号化手段102における可変長復号化部202、逆量子化部203、IDCT部204、加算器206、および動き補償部205は逐次処理され、後述するように出力先の表示手段105の時刻制御により出力がブロックされることがある。表示手段105の時刻制御により出力がブロックされると、復号化手段102全体の処理がブロックされる。出力制御部209は、表示手段105への出力を省略する機能もあり、この場合、処理がブロックされることはないため、復号化手段102は高速で復号化することができる。この仕組みを用いて、復号化手段102は、表示手段105の時刻制御に従って実時間で復号化する実時間モードと、表示手段105の時刻制御に制限されずに高速で復号化する高速モードとを実現する。
【0031】
図3は、表示手段105のブロック構成図である。復号化手段102から送られてきた再生画像信号は、ビデオバッファ220に入力されディスプレー221に表示される。時刻制御部222は、再生制御手段104より再生開始の信号を受けると、その後、最初に復号化手段102より到着したフレームのタイムコードを記録し、その後、表示するフレームのタイムコードと、再生開始時のフレームのタイムコードとの差が、タイマー106の時刻を超えないようにビデオバッファ220への入力を制御する。ビデオバッファ220への入力が制御されると、復号化手段102の出力が抑制され、復号化の速度が再生速度に調整される。タイマー223は1ミリ秒を単位とした時計であり、再生制御手段104より、再生開始の信号を受けると0にリセットされ、その後、実時間でカウントアップする。
【0032】
次に、フレーム記録手段103は、予め設定された時間間隔、例えば1秒間隔で、復号化手段102から出力される再生されたフレームを、フレーム番号、付随するタイムコード、および動画像データにおける位置と共に記録する。
【0033】
図4は、フレーム記録手段103に記録されるレコードの説明図である。レコードは、フレーム番号301、タイムコード302、動画像データにおける位置303、およびフレーム304から構成され、フレーム記憶手段103には複数個のレコードが記録される。レコードとしてフレーム番号301に加えタイムコード302を記録するのは、タイムコード302がフレーム番号301に比例しない場合に対応するためである。さらに最終のレコードの位置を記録するためのポインタ305が設けられている。これらのうち、フレーム番号301、タイムコード302、動画像データにおける位置303は、4Byteの整数データであり、フレーム304はYUV4:2:0形式のイメージデータある。
【0034】
フレーム304が354画素×288のCIFサイズの場合、フレーム304のサイズは203904Byteとなり、レコードのサイズは203916バイトとなる。そのため、フレーム304を1秒間隔で600秒間記録すると、約122MByteのサイズとなり、一般的なハードディスク、または主メモリを使用してフレーム記録手段103を構成することが可能である。また、各フレーム304の長さは一定であり、レコードの先頭に対して容易にランダムアクセス可能である。
【0035】
なお、フレーム記録手段103は、再生済みのフレーム304を巻き戻して再生する際は記録されているレコードのうち最新のタイムコード302より過去のタイムコード302を持つフレーム304は記録しない。
【0036】
また、フレーム記録手段103は、フレーム番号301、タイムコード302(時刻)をキーとして該当するレコードを検索する機能を持っている。後述する再生制御手段104よりタイムコード302(時刻)をキーとてフレーム304の検索要求が来たときの検索処理を図5に示す。
【0037】
図5において、処理が開始されると、指定された時刻が最終レコードのタイムコード302より前か後かを判定する(S1)。もし、最終レコードのタイムコード302より後の時刻を指定された場合は失敗を返し処理を終了する(S2)。そうでなければ、二つの変数BeforeとAfterとにそれぞれ最初のフレーム番号0と、最終レコード番号を入れる(S3)。
【0038】
そして、After−Beforeが1以下か否かを判定し(S4)、1以下の場合はBeforeを返し処理を終了する(S5)。一方、1より大きい場合には、(After+Before)/2をfとする(S6)。この場合、fが整数となるように、例えば四捨五入する。
【0039】
次に、fのタイムコードと与えられた目標時刻とを比較し(S7)、fのタイムコードが目標時刻より小さい場合にはBeforeにfを入れ(S8)、ステップS4に戻る。fのタイムコードが目標時刻より大きい場合にはAfterにfを入れ(S9)、ステップS4に戻る。また、fのタイムコードが目標時刻に一致したときはfを戻し処理を終了する(S10)。
【0040】
例えば、最終レコード番号が「4」で目標時刻が300である場合には、最終レコードのタイムコードは400であり、指定された時刻は300であるので、指定された時刻は最終レコードのタイムコードより前であるので、ステップS3においてBeforeには0がセットされAfterには4がセットされる。
【0041】
そして、ステップS4の判定ではAfter−Before(=4)が1より大きいのでステップS6においてf(=2)が算出される。f(=2)のタイムコードは200であり目標時刻300より小さいので、ステップS8においてBeforeに2がセットされステップS4に戻る。
【0042】
以下同様に演算され、Afterが4でBeforeが2であるから、ステップS6においてf(=3)が算出され、f(=3)のタイムコードは300であり目標時刻300と等しいのでステップS10においてf(=2)を返す。つまり、レコード番号「2」が返される。
【0043】
このように、ステップS4以降は2分サーチで、該当するタイムコードを持つレコード番号をサーチし、ステップS5またはステップS10で結果を返す。ステップS5で結果を返す場合、指定された時刻以前で最近のフレームのレコード番号が返される。
【0044】
次に、再生制御手段104は動画像再生表示装置全体を制御するものであり、通常再生のときには、再生制御手段104は、入力制御手段101にファイルの読出し位置としてファイルの先頭を送ると共に、復号化手段102にはフレームメモリ208のクリア信号を送る。また、表示手段105には再生の開始を知らせる。フレーム記録手段103には内部に記録されてるデータのクリア信号を送る。これにより、再生動作を開始する。
【0045】
一方、特定の時刻のフレームから再生するときには、再生制御手段104はフレーム記録手段103に該当するタイムコードを持つレコードを問い合わせる。図5の処理により、該当するレコードが見つかった場合は、レコードの動画像データにおける位置303を入力制御手段101に送り、レコードのフレーム304を復号化手段102のフレームメモリ208に書込み、表示手段105には再生の開始を知らせる。これにより、以後、入力制御手段101は、指定された時刻以降のP-フレームを読出すが、フレームメモリ208の内容は、初めに同時刻のP-フレームを再生した状態と同じあるため正常に再生される。
【0046】
ここで、与えられた時刻に該当するフレームが見つからずに、図5に示すステップ2により失敗が返された場合場合には、復号化手段102へ目標時刻を送ると共に、復号化手段102を高速モードに設定して目標時刻までの復号化を進める。復号化手段102が目標時刻まで復号化を終了したら、復号化手段102は実時間モードに戻り、また再生制御手段104を通じて、表示手段105に再生の開始を知らせる。
【0047】
以上のように、フレーム記憶手段103にレコードを検索する機能を持たせたので、迅速な巻き戻し再生および早送り再生が可能となる。
【0048】
図6は、フレーム記録手段103にリングバッファを採用した場合のフレーム記録手段103の説明図である。フレーム記録手段103の記憶容量には限界があるため、この限界を超える数のレコードを記録することはできない。
【0049】
そこで、フレーム記録手段103の最大記録レコード数600を超えた場合、601番目のフレーム(フレーム番号6000)を0番目のレコードに記録し、602番目のフレーム(フレーム番号6010)に記録する。以下、同様にレコードをカウントアップする。このように記録をリング状にする。これにより、最も以前に記録されたフレームを消去することで、過去600フレームを記録する。なお、リングバッファを採用した場合、最初のレコード番号は、最終レコード番号より一つ大きいため、図5の処理は変更の必要がある。具体的には、ステップS3の処理を次の様に変更する。
【0050】
Last + 1→Before
Last +バッファサイズ→After
さらに、図5の処理で計算される仮のレコード番号を用いてレコードを参照するときは、仮のレコード番号をバッファサイズで割った余りをレコード番号とする。このリングバッファの採用により、再生中のフレームから600秒前まで巻き戻しが可能になる。
【0051】
次に、再生中のフレームから600秒前よりさらに前まで巻き戻しを可能とする場合には、図7に示すように、リングバッファを二重化する。図7(a)は第1のリングバッファを示し、図7(b)には第2のリングバッファを示す。第1のリングバッファは、図6に示したリングバッファと同一であるが、同じ構造の第2のリングバッファを用意する。
【0052】
第1のリングバッファと同様に、フレーム番号601、タイムコード602、動画像データにおける位置603、フレーム604、ポインタ605で示される第2のリングバッファを用意し、第1のリングバッファの1/10周期、すなわち10秒間隔で記録する。周期が1/10なので、第1のリングバッファと同じ記憶容量で10倍の時間が記録できる。巻戻しの時刻が指定されたとき、フレーム記録手段103は最初に第1のリングバッファを検索し、見つからなければ第2のリングバッファを検索する。第2のリングバッファで目的とする時刻のフレームが見つかった場合には、再生制御手段104は第1のリングバッファを初期化して再生を開始する。
【0053】
このように、単一のリングバッファを使った場合に比べ、2倍の記録容量のフレーム記録手段103を用いて10倍過去への巻戻しが可能となる。もちろん、第2のリングバッファでは設定できる時間の精度は下がるが、過去に遡るほど人間の時間感覚も曖昧になるため実用上は問題ない。また、第2のリングバファへの記録のタイミングをユーザーが指定することも可能である。
【0054】
次に、本発明の第2の実施の形態を説明する。図8は本発明の第2の実施の形態に係わる動画再生表示装置のブロック構成図である。この第2の実施の形態は、図1に示す第1の実施の形態に対し、第2復号化手段700を追加して設けたものであり、この第2復号化手段700は、復号化手段102に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および動画像データにおける位置を、フレーム記録手段103に送信するようにしたものである。その他の構成は、図1に示した第1の実施の形態と同一であるので、同一要素には同一符号を付し重複する説明は省略する。
【0055】
第2復号化手段700は、入力制御手段101から送られてくる画像データを表示手段105の時刻制御の制限を受けずに高速で復号化する。第2復号化手段700の内部構造は、第1復号化手段102と同様である。フレーム記録手段103は、復号化手段102から送られてくるフレームに先立ち、第2復号化手段700からのフレームを一定周期で記録する。
【0056】
また、二段階構成のリングバッファを持つフレーム記録手段103を用いる場合は、第1復号化手段102からのフレームをフレーム記録手段103の第1段目のリングバッファに、第2復号化手段700からのフレームを第2段目のリングバッファに記録する。
【0057】
これにより、実時間で復号化を進める復号化手段102に先立ち、復号化したフレームをフレーム記録手段103に記録できるため、迅速な早送りが可能になる。
【0058】
次に、本発明の第3の実施の形態を説明する。図9は本発明の第3の実施の形態に係わる動画再生表示装置のブロック構成図である。この第3の実施の形態は、図8に示す第2の実施の形態に対し、フレーム記録手段103に記録したフレームを一覧表示するフレーム表示手段800を設け、フレーム記録手段103は、フレーム表示手段800上に表示されたフレームが指定されたときはフレームに関する記録を検索し、再生制御手段104は、検索されたフレームから再生するようにしたものである。その他の構成は、図8に示した第2の実施の形態と同一であるので、同一要素には同一符号を付し重複する説明は省略する。
【0059】
フレーム表示手段800は表示手段105と同様にディスプレーを持っており、図10に示す画面例のように、フレーム記録手段103から一定周期で記録されているフレームを取り出して、ディスプレー上に一覧表示する。ユーザーがマウス等のポインティングディバイスで、ディスプレー上のフレームを指定すると、フレーム表示手段800は指定されたフレームに対応するレコードをフレーム記録手段103から取り出し、当該レコードに記録されているフレーム番号301、タイムコード302、動画像データにおける位置303を再生制御手段104に送信し、再生制御手段104は送られてきたこれらの情報に基づいて動画像を再生表示する。
【0060】
なお、ディスプレーに一覧表示するときは、ディスプレーの限られた表示面積でできるだけ多くのフレームを表示できるように、縮小表示をしても良い。また、フレーム表示手段800は表示手段105のディスプレー221を共有して使用しても良い。
【0061】
次に、図11は、図8および図9に示した第2の符号化手段700に、移動物体検出手段H101およびフレーム記録タイミング判定手段H102を追加して設けたものである。
【0062】
移動物体検出手段H101は、マクロブロック静動判定手段H111、移動物体判定手段H113および減算器H112から構成される。移動物体検出手段H101のマクロブロック静動判定手段H111は、フレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定し、移動物体判定手段H113は、その静動判定結果から移動物体の存在を検出する。また、移動物体検出手段H101によって移動物体が検出されたときは、フレーム記録タイミング判定手段H102は、出力制御部209を介してフレーム全体の情報を所定のタイミングでフレーム記録手段103に記録する。
【0063】
移動物体検出手段H101においては、図12に示す処理が行われる。すなわち、マクロブロック静動判定手段H111により、1フレーム毎にマクロブロック静動判定を行い(S101)、移動物体判定手段H113により移動物体判定を行う(S102)。
【0064】
マクロブロック静動判定手段H111では、第2復号化手段700の可変長復号部202において復号されたモード情報、動きベクトル情報、DCT係数情報と、減算器H112で求めたINTRAマクロブロックの時の再生画像信号と1フレーム前のフレームメモリとの差分絶対値和SADから、フレーム内のマクロブロック毎の静動判定を行う。
【0065】
図13は、マクロブロック静動判定処理(S101)の具体的な内容を示すフローチャートである。ここで、iとjは、フレーム内の垂直方向と水平方向のマクロブロックのアドレスをそれぞれ表し、V_NMBとH_NMBはフレーム内の垂直方向と水平方向のマクロブロック数を表している。2次元配列M[i][j]は、各マクロブロックが動マクロブロックか否かの情報を蓄える配列で、TRUEならば動マクロブロック、FALSEならば静止マクロブロックを表す。
【0066】
また、ステップS201〜ステップS209(LOOP1)はi=0〜V_NMB-1を繰り返すことを意味し、ステップS202〜ステップS208(LOOP2)はj=0〜H_NMB-1を繰り返すことを意味する。
【0067】
まず、マクロブロック毎に第2復号化手段700の可変長復号化部202からのモード情報MODEの判定を行う(S203)。MODEがINTRAならば、そのマクロブロックの再生画像信号と1フレーム前のフレームメモリ208との差分絶対値和SADを計算し、閾値T0と比較する(S204)。もし、閾値T0よりも大きい場合は、そのマクロブロックは動マクロブロックと判定し、 M[i][j]にTRUEが代入される(S206)。一方、閾値T0以下の場合は、そのマクロブロックは静止マクロブロックと判定し、 M[i][j]にFALSEが代入される(S207)。
【0068】
ステップS203の判定で、MODEがINTERならば、可変長復号化部202からの動きベクトル情報およびDCT係数情報から、そのマクロブロックの動きベクトルの絶対値和Σ|MV|および、DCT係数の絶対値和Σ|COF|を計算し、それぞれの閾値T1、T2と比較を行う(S205)。もし、動きベクトルの絶対値和と、DCT係数の絶対値和とが閾値よりも小さければ、そのマクロブロックは静止マクロブロックと判定し、 M[i][j]にFALSEが代入される(S207)。そうでない場合には、そのマクロブロックは動マクロブロックと判定し、 M[i][j]にTRUEが代入される(S206)。
【0069】
ステップS203の判定で、MODEがNOT_CODEDならは、そのマクロブロックは静止マクロブロックと判定し、 M[i][j]にFALSEが代入される(S207)。
【0070】
次に、移動物体判定手段H113では、マクロブロック静動判定手段H111のマクロブロック毎の静動判定情報から移動物体の判定を行う。図14は、移動物体判定手段H113の処理内容を示すフローチャートである。移動物体判定手段H113では、雑音除去処理(S301)と移動物体包含処理(S302)との2つの処理が行われる。
【0071】
雑音除去処理(S301)では、背景画像の小物体の揺らぎや画像取り込み時の雑音によって動マクロブロックと誤検出されてしまうことを防止するために、周囲8マクロブロックが全て静止している動マクロブロックを取り除いている。移動物体包含処理(S302)は、雑音を取り除いた後の静動判定結果から、隣接して動マクロブロックが存在する領域を包含する最小の長方形の検出する処理を行う。この処理で、移動物体を包含する長方形を見つけることができる。
【0072】
図15は、雑音除去処理(S301)の具体的な処理内容を示すフローチャートである。図13と同様に、iとjは、フレーム内の垂直方向と水平方向のマクロブロックのアドレスをそれぞれ表し、V_NMBとH_NMBはフレーム内の垂直方向と水平方向のマクロブロック数を表している。2次元配列M[i][j]は、各マクロブロックが動マクロブロックか否かの情報を蓄える配列で、TRUEならば動マクロブロック、FALSEならば静止マクロブロックを表す。
【0073】
また、ステップS401〜ステップS408(LOOP1)はi=0〜V_NMB-1を繰り返すことを意味し、ステップS402〜ステップS407(LOOP2)はj=0〜H_NMB-1を繰り返すことを意味する。
【0074】
まず、マクロブロック毎の静動判定結果をみる(S403)。もし、2次元配列M[i][j]の値がFALSE、つまり、静止マクロブロックならば、そのマクロブロックでは何も行わず、LOOP2、LOOP1により次のマクロブロックにいく。もし、2次元配列M[i][j]の値がTURE、つまり、動マクロブロックならば、そのマクロブロックの周囲8マクロブロックの静動判定結果をチェックし(S405)、全て、FALSEつまり静止マクロブロックならば、そのマクロブロックは、雑音であると判定し、静止マクロブロックに書き換える(S406)。もし、周囲8マクロブロックのうち一つでもTUREがあれば、雑音とは判定せず、LOOP2、LOOP1により次のマクロブロックに移る。なお、画面の外側については、静止マクロブロックとして仮定している。
【0075】
図16は、移動物体包含処理(S302)の具体的な処理内容を示すフローチャートである。ステップS501における、nは移動物体の数を示すカウンタであり、S1~S4は移動物体を包含する長方形を探索する範囲を示すパラメータで、S1、S2は、垂直方向のアドレスの始点と終点であり、S3、S4は、水平方向のアドレスの始点と終点である。
【0076】
まず、探索範囲としてフレーム全体を指定するように初期化を行う(S501)。次に指定された探索範囲で移動物体を包含する最小の長方形を探索する関数Rectangularを呼び出す(S502)。
【0077】
図17および図18は、関数Rectangularの処理内容を示すフローチャートである。関数Rectangularは、探索範囲であるS1〜S4と、移動物体の数を示すnと、各マクロブロックの静動判定結果の格納された2次元配列Mとを入力とし、探索結果の長方形のアドレスを格納した1次元配列B1〜B4と移動物体の数を示すnとを出力とする。
【0078】
ここで、1次元配列HVは、垂直方向の動マクロブロックの数のヒストグラムを作成するための作業配列であり、1次元配列HHは、水平方向の動マクロブロックの数のヒストグラムを作成するための作業配列である。また、変数VFLAGは、水平方向のヒストグラムの値が0でない状態の時にTRUEとなり、値が0の時にFALSEとなるように変更されるフラグであり、変数HFLAGは、垂直方向のヒストグラムの値が0でない状態の時にTRUEとなり、値が0の時にFALSEとなるように変更されるフラグである。
【0079】
まず、図17において、垂直方向の動マクロブロックの数のヒストグラムを作成するための作業配列HVの探索範囲であるS1〜S2の範囲を値0で初期化する(S601)。次のLOOP1(S602〜S607)とLOOP2(S603〜S606)の2重ループでは、探索範囲での垂直方向の動マクロブロックの数のヒストグラムを作成している。つまり、マクロブロック毎の静動判定結果M[i][j]の値を比較し(S604)、値がTURE、つまり、動マクロブロックならば、HV[i]をプラス1し(S605)、FALSEの場合は、何もしないという動作をとっている。
【0080】
次に、LOOP3(S602〜S639)の処理に移り、垂直方向のヒストグラムの中から、0でない連続した部分を探索する。まず、フラグVFLAGをFALSEにセットする(S608)。次に、探索範囲S1からS2の順序で、ヒストグラムHVが0でなく、VFLAGがFALSEであるかをチェックする(S610)。この条件に当てはまるのは、ヒストグラムが0でない連続した部分の始点の部分である。従って、探索している長方形の垂直方向の始点の候補となるので、1次元配列B1[n]にアドレスiを格納し、VFLAGをTUREにセットする(S611)。
【0081】
次に、ヒストグラムHVが0あるいは、探索範囲の終点で、VFLAGがTUREであるかをチェックする(S612)。この条件に当てはまるのは、ヒストグラムが0でない連続した部分の終点の部分である。従って、探索している長方形の垂直方向の終点の候補となるので、もし、ヒストグラムHVが0の場合は、1次元配列B2[n]にアドレスi-1を格納し(S614)、そうでない場合は、1次元配列B2[n]にアドレスiを格納する(S615)。そして、VFLAGを再びFALSEにセットする(S616)。
【0082】
次に、図18において、今度は、水平方向の動マクロブロックの数のヒストグラムを作成するための作業配列HVの探索範囲であるS3〜S4の範囲を値0で初期化する(S617)。次のLOOP4(S618〜S623)とLOOP5(S619〜S622)の2重ループでは、探索範囲での水平方向の動マクロブロックの数のヒストグラムを作成している。つまり、マクロブロック毎の静動判定結果M[k][j]の値を比較し(S620)、値がTURE、つまり、動マクロブロックならば、HH[j]をプラス1し(S621)、FALSEの場合は、何もしないという動作をとっている。
【0083】
次に、その水平方向のヒストグラムの中から、0でない連続した部分を探索する。まず、フラグHFLAGをFALSEにセットする(S624)。次に、LOOP6(S625〜S638)の処理に移り、探索範囲S3からS4の順序で、ヒストグラムHHが0でなく、HFLAGがFALSEであるかをチェックする(S626)。この条件に当てはまるのは、ヒストグラムが0でない連続した部分の始点の部分である。従って、探索している長方形の水平方向の始点の候補となるので、1次元配列B3[n]にアドレスjを格納し、HFLAGをTUREにセットする(S627)。
【0084】
次に、ヒストグラムHHが0あるいは、探索範囲の終点で、HFLAGがTUREであるかをチェックする(S628)。この条件に当てはまるのは、ヒストグラムが0でない連続した部分の終点の部分である。従って、探索している長方形の水平方向の終点の候補となるので、ヒストグラムHHが0か否かを判定し(S629)、もし、ヒストグラムHHが0の場合は、1次元配列B4[n]にアドレスj-1を格納し(S630)、そうでない場合は、1次元配列B4[n]にアドレスjを格納する(S631)。そして、HFLAGを再びFALSEにセットする(S632)。
【0085】
ここで、1通りの垂直方向と水平方向のヒストグラムによる探索が終了したが、探索した結果B1[n]〜B4[n]が探索範囲S1〜S4と一致するかをチェックして(S633)、一致する場合は、もうこれ以上探索する範囲がないので、最小の長方形が求まっていると判定できる(S634)。そして、移動物体の数を表すnをプラス1して(S635)、次の移動物体の探索に移る。探索した結果B1[n]〜B4[n]が探索範囲S1〜S4と一致しない場合、探索した結果の範囲にまだ複数の移動物体が存在するので、探索した結果B1[n]〜B4[n]をS1〜S4に移し替えて(S636)、再び、関数Rectangularを呼び出す(S637)。
【0086】
フレーム記録タイミング判定手段H102は、移動物体検出手段H101から送られてくる結果、nおよびB1[n]〜B4[n]に基づきフレームを記録するタイミングを次の様に判定する。
【0087】
nの数が0ならば、フレームは記録しない。nの数が1以上ならば、すなわち1個以上の移動する物体が検出されたならば、フレームのタイムコードが前回記録したフレームのタイムコードに比較して1秒以上経過していればフレームを記録する。そうでなければ記録しない。
【0088】
なお、フレーム記録タイミング判定手段H102は、移動物体を包含する長方形の座標データB1[n]〜B4[n]を使って、より複雑な判定条件、例えば予め指定された位置に移動物体が検出された場合、あるいは移動物体がある一定の速度以上で動いていると判定された場合、あるいは反対にある一定の速度以下で動いていると判定された場合にフレームの記録のタイミングを判定することもできる。
【0089】
フレーム記録タイミング判定手段H102によって判定されたフレーム記録のタイミングに基づいて出力制御部209はフレームをフレーム記録手段103に記録する。
【0090】
以上のように、移動物体が検出されたフレームを記録するので、移動物体が検出されたフレームへ素早く早送り巻戻しが可能となる。
【0091】
ここで、フレーム記録手段103内に、第2復号化手段700の復号化したフレームを一時的に保存する一時記録用リングバッファを設けるようにしても良い。一時記録用リングバッファの構造は図6に示されたものと同様であり、第2復号化手段700が新たに復号化したフレームを全て古いフレームを消去しながら保存する。フレームを保存する時間は例えば3秒間であり、毎秒10フレームで30レコードを記録する。
【0092】
フレーム記録タイミング判定手段H102が移動物体を検出して判定を下したとき、フレーム記録手段103は第2復号化手段700から送られてきたフレームと、一時記録用リングバッファに記録されている最も古い3秒前のフレームとを第2段目のリングバッファに時間順に記録する。
【0093】
すなわち、移動物体を検出する3秒前のフレームを先に、移動物体を検出した瞬間のフレームを後に記録する。フレーム表示手段800の一覧表示ではフレーム記録タイミング判定手段H102が移動物体を検出して判定を下した時のフレームが採用され、そのフレームからの再生が指定された時、再生制御手段104は指定されたフレームの3秒前のフレームから再生を開始する。
【0094】
これにより、移動物体が検出されたフレームへすばやく早送り巻戻しが可能になるのみならず、移動物体が検出された3秒前のフレームへすばやく早送り巻戻しが可能になる
【0095】
【発明の効果】
以上述べたように、本発明の動画像再生表示装置によれば、長時間P-フレームが続く符号化された動画像データについても迅速な巻戻し再生あるいは、早送り再生が可能となる。また、移動物体検出手段を組み合わせることで、移動物体が検出された場面の画像を迅速に再生できる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係わる動画再生表示装置のブロック構成図。
【図2】本発明の第1の実施の形態における復号化手段のブロック構成図。
【図3】本発明の第1の実施の形態における表示手段のブロック構成図。
【図4】本発明の第1の実施の形態におけるフレーム記録手段に記録されるレコードの説明図。
【図5】本発明の第1の実施の形態におけるフレーム記録手段のフレーム検索機能の処理内容を示すフローチャート。
【図6】本発明の第1の実施の形態におけるフレーム記録手段にリングバッファを採用した場合の説明図。
【図7】本発明の第1の実施の形態におけるフレーム記録手段に2重化したリングバッファを採用した場合の説明図。
【図8】本発明の第2の実施の形態に係わる動画再生表示装置のブロック構成図。
【図9】本発明の第3の実施の形態に係わる動画再生表示装置のブロック構成図。
【図10】本発明の第3の実施の形態におけるフレーム表示手段でのフレーム表示例の説明図。
【図11】図8または図9の第2復号化手段に移動物体検出手段とフレーム記録タイミング判定手段とを追加した場合のブロック構成図。
【図12】本発明の実施の形態における移動物体検出手段の処理内容を示すフローチャート。
【図13】本発明の実施の形態における移動物体検出手段でのマクロブロック静動判定処理の処理内容を示すフローチャート。
【図14】本発明の実施の形態における移動物体検出手段での移動物体判定処理の処理内容を示すフローチャート。
【図15】本発明の実施の形態における移動物体判定処理での雑音除去処理の処理内容を示すフローチャート。
【図16】本発明の実施の形態における移動物体判定処理での移動物体包含処理の処理内容を示すフローチャート。
【図17】本発明の実施の形態における移動物体包含処理での関数Rectangularの処理内容を示すフローチャート(その1)。
【図18】本発明の実施の形態における移動物体包含処理での関数Rectangularの処理内容を示すフローチャート(その2)。
【符号の説明】
100…ファイル、101…入力制御手段、102…復号化手段、103…フレーム記録手段、104…再生制御手段、105…表示手段、700…第2復号化手段、800…フレーム表示手段
Claims (3)
- フレーム全体の情報を含むI-フレームの後に前記フレーム間の差分情報からなるP-フレームが続いた符号化された動画像データを再生表示する動画像再生表示装置において、
符号化された動画像データの入力を制御する入力制御手段と、
前記入力制御手段から送られてくる符号化された動画像データから各フレームを復号化する復号化手段と、
前記復号化手段が復号化したフレームにフレーム番号およびタイムコードを付加すると共に前記動画像データにおける位置をフレーム全体の情報として記録するフレーム記録手段と、
再生するフレームのフレーム番号およびタイムコードに基づいて前記フレーム記録手段から対応するフレーム全体の情報を取り出し前記復号化手段に設定すると共に前記入力制御手段に前記動画像データの入力位置を設定する再生制御手段と、
前記復号化手段の復号化したフレームを表示する表示手段とを備え、
前記フレーム記録手段は、記録するフレームが予め定められた数に達した後は、新しいフレームは最初に記録されたフレームを書き潰す形で記録するリングバッファを2個持つ二段階構成とし、第2段目のリングバッファのフレーム記録周期は第1段目のリングバッファのフレーム記録周期より長いことを特徴とする動画像再生表示装置。 - 前記復号化手段に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および前記動画像データにおける位置を前記フレーム記録手段に送信する第2復号化手段を設け、
前記フレーム記録手段は、前記第2復号化手段から受信したフレームを前記第2段目のリングバッファに記録し、前記復号化手段からのフレームを前記第1段目のリングバッファに記録することを特徴とする請求項1に記載の動画像再生表示装置。 - 前記フレーム記録手段に記録したフレームを一覧表示するフレーム表示手段と、
前記第2復号化手段によって復号化されたフレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定しその静動判定結果から移動物体の存在を検出する移動物体検出手段と、
前記移動物体検出手段によって移動物体が検出されたときフレーム全体の情報を所定のタイミングで前記フレーム記録手段に記録するフレーム記録タイミング判定手段とを設け、
前記フレーム記録手段は、前記第2段目のリングバッファとは別に前記第2復号化手段の復号化したフレームを周期的に一時的に記録する一時記録用リングバッファを持ち、前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームおよび前記一時記録用リングバッファに記録された前記フレームより一定時間前のフーレムを前記第2段目のリングバッファに記録し、前記フレーム表示手段には前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームを表示し、
前記再生制御手段は前記フレーム記録タイミング判定手段が判定を下したタイミングより一定時間前のフレームからの再生を設定することを特徴とする請求項2に記載の動画像再生表示装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000156105A JP4010742B2 (ja) | 2000-05-26 | 2000-05-26 | 動画像再生表示装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000156105A JP4010742B2 (ja) | 2000-05-26 | 2000-05-26 | 動画像再生表示装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001339693A JP2001339693A (ja) | 2001-12-07 |
JP4010742B2 true JP4010742B2 (ja) | 2007-11-21 |
Family
ID=18660937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000156105A Expired - Fee Related JP4010742B2 (ja) | 2000-05-26 | 2000-05-26 | 動画像再生表示装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4010742B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1925164A1 (en) | 2005-08-26 | 2008-05-28 | Thomson Licensing | Transcoded images for improved trick play |
WO2016143067A1 (ja) * | 2015-03-10 | 2016-09-15 | 三菱電機株式会社 | 映像解析装置 |
-
2000
- 2000-05-26 JP JP2000156105A patent/JP4010742B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001339693A (ja) | 2001-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0974566A (ja) | 圧縮符号化装置及び圧縮符号化データの記録装置 | |
JP2001076155A (ja) | 動画像内の移動物体検出方法及び装置 | |
KR100223163B1 (ko) | 배속재생을 위한 디스크포맷 및 이를 이용한 동화상데이타의 배속재생방법 및 그장치 | |
JP4010742B2 (ja) | 動画像再生表示装置 | |
JP3200196B2 (ja) | 動きベクトル検出方法 | |
JP3277374B2 (ja) | 画像信号復号化方法及び画像信号復号化装置 | |
KR101103308B1 (ko) | 메뉴를 생성하기 위한 방법 및 디바이스와, 레코딩 매체 | |
JP4191385B2 (ja) | Mpeg符号化信号のトリックプレイ再生 | |
JP2001238182A (ja) | 画像再生装置および画像再生方法 | |
JPH11155129A (ja) | Mpeg画像再生装置およびmpeg画像再生方法 | |
JP3248366B2 (ja) | データ再生方法およびデータ再生装置 | |
KR102557384B1 (ko) | 전자장치 및 그 제어방법 | |
JPH1169363A (ja) | ディジタル符号化ビデオフィルムの原データを再生する方法及び装置 | |
JP2003087732A (ja) | 映像再生装置 | |
JP2001160947A (ja) | 画像記録装置および方法 | |
JPH0522700A (ja) | 画像データ復号装置 | |
JP3177366B2 (ja) | 高速画像再生システム | |
JP2002238030A (ja) | スローモーション画像検出方法および検出装置 | |
JP3062166B2 (ja) | 画像記録装置 | |
JP3337066B2 (ja) | Mpegデータ処理装置 | |
JP3873000B2 (ja) | 動画像移動物体検出装置及び検出方法 | |
JP3548028B2 (ja) | 動画像移動物体検出装置及び検出方法 | |
JP3057212B2 (ja) | 画像データ復号装置 | |
JP3457540B2 (ja) | 画像復号化装置及び方法 | |
JP2002077919A (ja) | 動画像監視装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050314 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050325 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070904 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |