JP4010742B2 - Moving image playback display device - Google Patents

Moving image playback display device Download PDF

Info

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
Application number
JP2000156105A
Other languages
Japanese (ja)
Other versions
JP2001339693A (en
Inventor
俊文 林
広幸 小林
達也 木村
健 中條
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000156105A priority Critical patent/JP4010742B2/en
Publication of JP2001339693A publication Critical patent/JP2001339693A/en
Application granted granted Critical
Publication of JP4010742B2 publication Critical patent/JP4010742B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、デジタル技術を用いて符号化された動画像を復号化再生する動画像再生表示装置に関する。
【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】
請求項の発明に係わる動画像再生表示装置は、請求項の発明において、前記フレーム記録手段に記録したフレームを一覧表示するフレーム表示手段と、前記第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…フレーム表示手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a moving image reproduction display device that decodes and reproduces a moving image encoded using digital technology.
[0002]
[Prior art]
In general, in a moving image encoding process in a moving image reproduction display device, an I-frame encoded based on information in a frame, and a P-frame encoded with difference information between frames using motion compensation Is used. P-frames are encoded by extrapolation from past frames, but B-frames that contain I-frames and P-frames may be used.
[0003]
When moving image data encoded as described above is stored in a file, reproduction of this image data must be performed from the position of the I-frame. This is because a P-frame consists of difference information from a past frame, so that the frame cannot be completely reproduced only from that information.
[0004]
For example, Japanese Patent Laid-Open No. 7-203416 discloses a technique for realizing fast forward and rewind as well as normal reproduction of encoded moving image data. In this moving image distribution method, fast-forward and rewind are realized by quickly moving the playback position to the position of the I-frame in the image data.
[0005]
[Problems to be solved by the invention]
However, when playing back video data in which only P-frames for a long time (for example, 5 minutes) are recorded continuously after I-frames, the scene once viewed is returned for a short time (for example, 10 seconds). If you try to play it, it will not play properly.
[0006]
The present invention provides a moving image reproduction display device that enables rewinding and fast-forwarding a short time before even when only a P-frame continues for a long time.
[0007]
[Means for Solving the Problems]
  The moving image reproduction / display apparatus according to the invention of claim 1 reproduces and displays encoded moving image data in which an I-frame including information on the entire frame is followed by a P-frame comprising difference information between the frames. In a moving image reproduction display apparatus, input control means for controlling input of encoded moving image data, and decoding means for decoding each frame from encoded moving image data sent from the input control means A frame recording means for adding a frame number and a time code to the frame decoded by the decoding means and recording a position in the moving image data as information of the entire frame; and a frame number and a time code of the frame to be reproduced. On the basis of the information of the whole corresponding frame from the frame recording means and set in the decoding means, and Reproduction control means for setting the input position of the moving image data in the input control means, and display means for displaying the frame decoded by the decoding means;The frame recording means has a two-stage configuration having two ring buffers for recording new frames after the predetermined number of frames to be recorded is overwritten. The frame recording period of the second stage ring buffer is longer than the frame recording period of the first stage ring buffer.
[0008]
  In the above aspect,Each frame is decoded by the decoding means from the encoded moving image data sent from the input control means, and the frame number and time code are added to the decoded frame, and the position in the moving image data is the information on the entire frame. Is recorded in the frame recording means. Based on the frame number and time code of the frame to be reproduced, the reproduction control means takes out the information of the entire corresponding frame from the frame recording means and sets it in the decoding means, and sets the input position of the moving image data in the input control means. The display means displays the frame decoded by the decoding means.
[0010]
  Also,In the ring buffer of the frame recording means, after reaching a predetermined number of frames to be recorded, a new frame is recorded on the first recorded frame.
[0012]
  further,Frames are recorded in the first-stage ring buffer at the same frame recording cycle as in claim 2, and frames are recorded in the second-stage ring buffer at a frame recording cycle longer than that of the first-stage ring buffer. Record. Therefore, many frames can be recorded in the second stage ring buffer in inverse proportion to the frame recording period.
[0015]
  The moving image reproduction display device according to the invention of claim 2 is the invention of claim 1,Second decoding for decoding moving image data encoded prior to the decoding means and transmitting the decoded frame, frame number, time code, and position in the moving image data to the frame recording means The frame recording means records the frame received from the second decoding means in the second stage ring buffer, and the frame from the decoding means is recorded in the first stage ring buffer. It is characterized by recording.
[0016]
  In the above aspect, the claim 1In addition to the operation of the invention, the second decoding means decodes the moving image data encoded prior to the decoding means, and in the decoded frame, frame number, time code, and moving image data The position is transmitted to the frame recording means. The frame recording means records the frame received from the second decoding means in the second stage ring buffer, and records the frame from the decoding means in the first stage ring buffer.
[0019]
  Claim3A moving image reproduction display device according to the present invention is as follows.2In the invention ofFrame display means for displaying a list of frames recorded in the frame recording means;Moving object detection means for determining whether the image in the block is stationary or moving for each block of the frame decoded by the second decoding means, and detecting the presence of the moving object from the static determination result; A frame recording timing determination unit that records information of the entire frame in the frame recording unit at a predetermined timing when the moving object is detected by the moving object detection unit; In addition to the ring buffer, a temporary recording ring buffer for temporarily and temporarily recording the frame decoded by the second decoding unit is provided, and the frame at the timing determined by the frame recording timing determination unit and the temporary The second stage ring buffer stores a frame that is a predetermined time before the frame recorded in the recording ring buffer. The frame display means displays the frame at the timing determined by the frame recording timing determination means, and the reproduction control means displays a frame a predetermined time before the timing determined by the frame recording timing determination means. The playback from is set.
[0020]
  In the above aspect, in addition to the operation of the invention of claim 2,The moving object detection unit determines whether the image in the block is stationary or moving for each block of the frame decoded by the second decoding unit, and detects the presence of the moving object from the static determination result. The frame recording timing determining means records information of the entire frame on the frame recording means at a predetermined timing when the moving object is detected by the moving object detecting means.
[0022]
  AlsoThe frame recording means records the frame at the timing determined by the frame recording timing judging means and the frame that is a predetermined time before the frame recorded in the temporary recording ring buffer in the second stage ring buffer, and displays the frame display. The means displays the frame at the timing determined by the frame recording timing determination means, and the reproduction control means sets the reproduction from the frame a predetermined time before the timing determined by the frame recording timing determination means.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below. FIG. 1 is a block diagram of a moving image reproduction display device according to the first embodiment of the present invention. The encoded video data is recorded in the file 100, and the input control means 101 reads the encoded video data from the file 100 in accordance with the file position information from the reproduction control means 104. The decoding unit 102 decodes the encoded moving image data sent from the input control unit 101 and restores the frame.
[0024]
The frame storage means 103 adds a frame number and a time code to the frame decoded by the decoding means 102 and records the position in the moving image data as information of the entire frame. Further, the reproduction control means 104 extracts information on the entire corresponding frame from the frame recording means 103 based on the frame number and time code of the frame to be reproduced, and sets and inputs the information on the entire frame to the decoding means 102. A moving image data input position is set in the control means 101. Then, the frame decoded by the decoding unit 102 is displayed on the display unit 105.
[0025]
FIG. 2 is a block configuration diagram of the decoding unit 102.
The encoded moving image data sent from the input control means 101 is first stored once in the input buffer 201 of the decoding means 102 and sent to the variable length decoding unit 202, where the variable length of information of each syntax Decode the code.
[0026]
In the variable length decoding unit 202, if the frame mode is I (I-frame), the mode changeover switch 207 is turned off to perform decoding. The quantized DCT coefficient information decoded by the variable length decoding unit 202 is input to the inverse quantization unit 203 and inversely quantized. Then, the IDCT unit 204 performs inverse discrete cosine transform processing to generate a reproduced image signal. The reproduced image signal is stored as a reference image in the frame memory 208, and is output to the outside (the frame storage unit 103 and the display unit 105) via the output control unit 209.
[0027]
On the other hand, if the frame mode is P (P-frame), the processing differs for each macroblock. At this time, if the mode of the macroblock is INTRA, the mode changeover switch 207 is selected to be off, and the quantized DCT coefficient information decoded by the variable length decoding unit 202 is dequantized by the inverse quantization unit 203. Then, the IDCT unit 204 performs an inverse discrete cosine transform process to generate a reproduced image signal. The reproduced image signal is stored as a reference image in the frame memory 208 and is output to the outside through the output control unit 209.
[0028]
If the mode of the macroblock is INTER and NOT_CODED, the mode changeover switch 207 is selected to be on, and the quantized DCT coefficient information decoded by the variable length decoding unit 202 is dequantized by the inverse quantization unit 203. The IDCT unit 204 performs inverse discrete cosine transform processing, and based on the motion vector information decoded by the variable-length decoding unit 202, the motion compensation unit 205 performs motion compensation, and the adder 206 adds them. A reproduction image signal is generated. The reproduced image signal is stored as a reference image in the frame memory 208, and is output to the outside (the frame storage unit 103 and the display unit 105) via the output control unit 209.
[0029]
The output control unit 209 usually displays the position in the file of the encoded data of the frame that accompanies the reproduced image signal, the frame number, and the time code that represents the elapsed time from the first frame in milliseconds. Output to the frame recording means 103.
[0030]
Note that the variable length decoding unit 202, the inverse quantization unit 203, the IDCT unit 204, the adder 206, and the motion compensation unit 205 in the decoding unit 102 are sequentially processed, and the time of the output destination display unit 105 as described later. The output may be blocked by the control. When the output is blocked by the time control of the display unit 105, the entire process of the decoding unit 102 is blocked. The output control unit 209 also has a function of omitting output to the display unit 105. In this case, since the process is not blocked, the decoding unit 102 can perform decoding at high speed. Using this mechanism, the decoding means 102 performs a real-time mode for decoding in real time according to the time control of the display means 105, and a high-speed mode for decoding at high speed without being restricted by the time control of the display means 105. Realize.
[0031]
FIG. 3 is a block configuration diagram of the display means 105. The reproduced image signal sent from the decoding means 102 is input to the video buffer 220 and displayed on the display 221. When receiving the playback start signal from the playback control unit 104, the time control unit 222 records the time code of the frame that has arrived first from the decoding unit 102, and then the time code of the frame to be displayed and the playback start. The input to the video buffer 220 is controlled so that the difference from the time code of the hour frame does not exceed the time of the timer 106. When the input to the video buffer 220 is controlled, the output of the decoding means 102 is suppressed, and the decoding speed is adjusted to the reproduction speed. The timer 223 is a clock with a unit of 1 millisecond, and is reset to 0 when receiving a playback start signal from the playback control means 104, and then counts up in real time.
[0032]
Next, the frame recording means 103 converts the reproduced frame output from the decoding means 102 at a preset time interval, for example, 1 second, into a frame number, an accompanying time code, and a position in the moving image data. Record with.
[0033]
FIG. 4 is an explanatory diagram of a record recorded in the frame recording means 103. The record includes a frame number 301, a time code 302, a position 303 in the moving image data, and a frame 304. A plurality of records are recorded in the frame storage means 103. The reason why the time code 302 is recorded in addition to the frame number 301 as a record is to cope with the case where the time code 302 is not proportional to the frame number 301. Further, a pointer 305 for recording the position of the last record is provided. Among these, the frame number 301, the time code 302, and the position 303 in the moving image data are 4-byte integer data, and the frame 304 is image data in the YUV 4: 2: 0 format.
[0034]
When the frame 304 has a CIF size of 354 pixels × 288, the size of the frame 304 is 203904 bytes, and the size of the record is 203916 bytes. Therefore, when the frame 304 is recorded for 600 seconds at intervals of 1 second, the size becomes about 122 MByte, and the frame recording means 103 can be configured using a general hard disk or main memory. Further, the length of each frame 304 is constant, and random access to the top of the record is easy.
[0035]
Note that the frame recording unit 103 does not record a frame 304 having a time code 302 that is earlier than the latest time code 302 among the recorded records when the reproduced frame 304 is rewound and reproduced.
[0036]
The frame recording means 103 has a function of searching for a corresponding record using the frame number 301 and the time code 302 (time) as keys. FIG. 5 shows search processing when a search request for a frame 304 is received from a playback control means 104 (to be described later) using a time code 302 (time) as a key.
[0037]
In FIG. 5, when the process is started, it is determined whether the designated time is before or after the time code 302 of the last record (S1). If the time after the time code 302 of the last record is designated, failure is returned and the process is terminated (S2). Otherwise, the first frame number 0 and the last record number are entered in the two variables Before and After, respectively (S3).
[0038]
Then, it is determined whether After-Before is 1 or less (S4). If it is 1 or less, Before is returned and the process is terminated (S5). On the other hand, if it is greater than 1, (After + Before) / 2 is set to f (S6). In this case, for example, rounding is performed so that f is an integer.
[0039]
Next, the time code of f is compared with the given target time (S7). If the time code of f is smaller than the target time, f is entered in Before (S8), and the process returns to step S4. If the time code of f is larger than the target time, f is set in After (S9), and the process returns to step S4. If the time code of f matches the target time, f is returned and the process is terminated (S10).
[0040]
For example, when the last record number is “4” and the target time is 300, the time code of the last record is 400, and the designated time is 300. Therefore, the designated time is the time code of the last record. Since it is earlier, 0 is set to Before and 4 is set to After in step S3.
[0041]
In step S4, After-Before (= 4) is larger than 1, f (= 2) is calculated in step S6. Since the time code of f (= 2) is 200 and is smaller than the target time 300, 2 is set in Before in step S8, and the process returns to step S4.
[0042]
In the same manner, since After is 4 and Before is 2, f (= 3) is calculated in step S6. Since the time code of f (= 3) is 300, which is equal to the target time 300, in step S10 Returns f (= 2). That is, the record number “2” is returned.
[0043]
As described above, the record number having the corresponding time code is searched by the 2-minute search after step S4, and the result is returned at step S5 or step S10. When returning the result in step S5, the record number of the latest frame before the specified time is returned.
[0044]
Next, the reproduction control unit 104 controls the entire moving image reproduction display device. During normal reproduction, the reproduction control unit 104 sends the beginning of the file as the file reading position to the input control unit 101 and decodes it. The clearing signal of the frame memory 208 is sent to the converting means 102. Further, the display means 105 is notified of the start of reproduction. A clear signal for data recorded therein is sent to the frame recording means 103. Thereby, the reproduction operation is started.
[0045]
On the other hand, when reproducing from a frame at a specific time, the reproduction control means 104 inquires the frame recording means 103 for a record having a corresponding time code. When the corresponding record is found by the processing of FIG. 5, the position 303 in the moving image data of the record is sent to the input control means 101, the frame 304 of the record is written in the frame memory 208 of the decoding means 102, and the display means 105 Informs the start of playback. As a result, the input control means 101 reads the P-frames after the designated time thereafter, but the contents of the frame memory 208 are normally the same as the state in which the P-frames at the same time were first reproduced. Played.
[0046]
Here, when a frame corresponding to the given time is not found and failure is returned in step 2 shown in FIG. 5, the target time is sent to the decoding means 102 and the decoding means 102 is operated at high speed. Set to mode and proceed with decryption up to the target time. When the decoding unit 102 finishes decoding until the target time, the decoding unit 102 returns to the real time mode, and notifies the display unit 105 of the start of reproduction through the reproduction control unit 104.
[0047]
As described above, since the frame storage means 103 has a function of searching for a record, quick rewind playback and fast forward playback are possible.
[0048]
FIG. 6 is an explanatory diagram of the frame recording means 103 when a ring buffer is adopted as the frame recording means 103. Since the storage capacity of the frame recording means 103 has a limit, it is not possible to record a record exceeding the limit.
[0049]
Therefore, when the maximum number of record records 600 of the frame recording means 103 is exceeded, the 601st frame (frame number 6000) is recorded in the 0th record and recorded in the 602th frame (frame number 6010). Thereafter, records are counted up in the same manner. In this way, the recording is made into a ring shape. Thus, the past 600 frames are recorded by erasing the most recently recorded frame. When the ring buffer is employed, the first record number is one greater than the last record number, and therefore the process in FIG. 5 needs to be changed. Specifically, the process of step S3 is changed as follows.
[0050]
Last + 1 → Before
Last + buffer size → After
Furthermore, when referring to a record using the temporary record number calculated in the process of FIG. 5, the remainder obtained by dividing the temporary record number by the buffer size is set as the record number. By adopting this ring buffer, it is possible to rewind up to 600 seconds before the frame being played back.
[0051]
Next, when rewinding is possible from 600 frames before the frame being played back, the ring buffer is duplicated as shown in FIG. FIG. 7A shows the first ring buffer, and FIG. 7B shows the second ring buffer. The first ring buffer is the same as the ring buffer shown in FIG. 6, but a second ring buffer having the same structure is prepared.
[0052]
Similar to the first ring buffer, a second ring buffer indicated by a frame number 601, a time code 602, a position 603 in moving image data, a frame 604, and a pointer 605 is prepared, and 1/10 of the first ring buffer. Record at a period, that is, every 10 seconds. Since the period is 1/10, 10 times the time can be recorded with the same storage capacity as the first ring buffer. When the rewinding time is designated, the frame recording means 103 first searches the first ring buffer, and if not found, searches the second ring buffer. When a frame at the target time is found in the second ring buffer, the playback control means 104 initializes the first ring buffer and starts playback.
[0053]
In this way, it is possible to rewind to the past 10 times using the frame recording means 103 having a recording capacity twice that of the case where a single ring buffer is used. Of course, although the accuracy of the time that can be set in the second ring buffer is lowered, there is no practical problem because the time sense of human becomes ambiguous as it goes back in the past. The user can also specify the recording timing to the second ring buffer.
[0054]
Next, a second embodiment of the present invention will be described. FIG. 8 is a block diagram of a moving image reproduction display device according to the second embodiment of the present invention. In the second embodiment, a second decoding unit 700 is added to the first embodiment shown in FIG. 1, and the second decoding unit 700 includes a decoding unit. The moving image data encoded prior to 102 is decoded, and the decoded frame, frame number, time code, and position in the moving image data are transmitted to the frame recording means 103. . Since the other configuration is the same as that of the first embodiment shown in FIG. 1, the same components are denoted by the same reference numerals, and redundant description is omitted.
[0055]
The second decoding unit 700 decodes the image data sent from the input control unit 101 at a high speed without being restricted by the time control of the display unit 105. The internal structure of the second decoding unit 700 is the same as that of the first decoding unit 102. Prior to the frame sent from the decoding unit 102, the frame recording unit 103 records the frame from the second decoding unit 700 at a constant period.
[0056]
When the frame recording means 103 having a two-stage ring buffer is used, the frame from the first decoding means 102 is transferred to the first-stage ring buffer of the frame recording means 103 and from the second decoding means 700. Are recorded in the second-stage ring buffer.
[0057]
Accordingly, since the decoded frame can be recorded in the frame recording unit 103 prior to the decoding unit 102 that performs the decoding in real time, it is possible to quickly forward.
[0058]
Next, a third embodiment of the present invention will be described. FIG. 9 is a block diagram of a moving image reproduction display apparatus according to the third embodiment of the present invention. This third embodiment is different from the second embodiment shown in FIG. 8 in that a frame display means 800 for displaying a list of frames recorded in the frame recording means 103 is provided. The frame recording means 103 is a frame display means. When a frame displayed on 800 is designated, a record related to the frame is searched, and the playback control means 104 plays back from the searched frame. Since the other configuration is the same as that of the second embodiment shown in FIG. 8, the same elements are denoted by the same reference numerals, and redundant description is omitted.
[0059]
The frame display means 800 has a display similar to the display means 105. As shown in the screen example of FIG. 10, the frame display means 800 takes out the frames recorded at a constant period from the frame recording means 103 and displays a list on the display. . When the user designates a frame on the display with a pointing device such as a mouse, the frame display means 800 takes out the record corresponding to the designated frame from the frame recording means 103, the frame number 301 recorded in the record, the time The code 302 and the position 303 in the moving image data are transmitted to the reproduction control means 104, and the reproduction control means 104 reproduces and displays the moving image based on the received information.
[0060]
Note that when displaying a list on the display, the display may be reduced so that as many frames as possible can be displayed in a limited display area of the display. Further, the frame display means 800 may share and use the display 221 of the display means 105.
[0061]
Next, FIG. 11 is obtained by adding moving object detection means H101 and frame recording timing determination means H102 to the second encoding means 700 shown in FIGS.
[0062]
The moving object detection unit H101 includes a macroblock static motion determination unit H111, a moving object determination unit H113, and a subtracter H112. The macro block static determination unit H111 of the moving object detection unit H101 determines whether the image in the block is stationary or moving for each block of the frame, and the moving object determination unit H113 moves from the static determination result. Detect the presence of an object. When a moving object is detected by the moving object detection unit H101, the frame recording timing determination unit H102 records information on the entire frame in the frame recording unit 103 via the output control unit 209 at a predetermined timing.
[0063]
In the moving object detection means H101, the process shown in FIG. 12 is performed. That is, the macroblock static determination unit H111 performs macroblock static determination for each frame (S101), and the moving object determination unit H113 performs moving object determination (S102).
[0064]
In the macroblock static determination means H111, the mode information, motion vector information, DCT coefficient information decoded by the variable length decoding unit 202 of the second decoding means 700, and the playback at the time of the INTRA macroblock obtained by the subtractor H112 From the difference absolute value sum SAD between the image signal and the frame memory of the previous frame, static motion determination is performed for each macroblock in the frame.
[0065]
FIG. 13 is a flowchart showing specific contents of the macroblock static determination process (S101). Here, i and j represent the addresses of the vertical and horizontal macroblocks in the frame, respectively, and V_NMB and H_NMB represent the numbers of vertical and horizontal macroblocks in the frame. The two-dimensional array M [i] [j] is an array for storing information indicating whether each macro block is a dynamic macro block. If TRUE, a dynamic macro block is indicated, and if it is FALSE, a static macro block is indicated.
[0066]
Steps S201 to S209 (LOOP1) mean that i = 0 to V_NMB-1 is repeated, and steps S202 to S208 (LOOP2) mean that j = 0 to H_NMB-1 is repeated.
[0067]
First, the mode information MODE from the variable length decoding unit 202 of the second decoding unit 700 is determined for each macroblock (S203). If MODE is INTRA, the difference absolute value sum SAD between the reproduced image signal of the macroblock and the frame memory 208 one frame before is calculated and compared with the threshold value T0 (S204). If it is larger than the threshold value T0, it is determined that the macroblock is a moving macroblock, and TRUE is substituted for M [i] [j] (S206). On the other hand, if it is equal to or less than the threshold value T0, the macroblock is determined to be a static macroblock, and FALSE is assigned to M [i] [j] (S207).
[0068]
If MODE is INTER in the determination of step S203, the absolute value sum Σ | MV | of the motion vector of the macroblock and the absolute value of the DCT coefficient are obtained from the motion vector information and DCT coefficient information from the variable length decoding unit 202. The sum Σ | COF | is calculated and compared with the respective threshold values T1 and T2 (S205). If the absolute value sum of the motion vectors and the absolute value sum of the DCT coefficients are smaller than the threshold value, the macro block is determined to be a static macro block, and FALSE is assigned to M [i] [j] (S207 ). Otherwise, it is determined that the macroblock is a moving macroblock, and TRUE is assigned to M [i] [j] (S206).
[0069]
If MODE is NOT_CODED in the determination in step S203, the macroblock is determined to be a static macroblock, and FALSE is substituted for M [i] [j] (S207).
[0070]
Next, the moving object determination unit H113 determines the moving object from the static motion determination information for each macroblock of the macroblock static motion determination unit H111. FIG. 14 is a flowchart showing the processing contents of the moving object determination means H113. In the moving object determination means H113, two processes of a noise removal process (S301) and a moving object inclusion process (S302) are performed.
[0071]
In the noise removal process (S301), in order to prevent erroneous detection as a moving macroblock due to fluctuation of a small object in the background image or noise during image capture, a moving macro in which all the surrounding 8 macroblocks are stationary. The block is removed. The moving object inclusion process (S302) performs a process of detecting a minimum rectangle including a region where a moving macroblock is adjacent to the result of the static motion determination after removing the noise. With this process, a rectangle that encompasses the moving object can be found.
[0072]
FIG. 15 is a flowchart showing specific processing contents of the noise removal processing (S301). As in FIG. 13, i and j represent the addresses of macroblocks in the vertical and horizontal directions in the frame, respectively, and V_NMB and H_NMB represent the numbers of macroblocks in the vertical and horizontal directions in the frame. The two-dimensional array M [i] [j] is an array for storing information indicating whether each macro block is a dynamic macro block. If TRUE, a dynamic macro block is indicated, and if it is FALSE, a static macro block is indicated.
[0073]
Steps S401 to S408 (LOOP1) mean that i = 0 to V_NMB-1 is repeated, and Steps S402 to S407 (LOOP2) mean that j = 0 to H_NMB-1 is repeated.
[0074]
First, the static motion determination result for each macroblock is observed (S403). If the value of the two-dimensional array M [i] [j] is FALSE, that is, a static macro block, nothing is performed in the macro block, and the next macro block is reached by LOOP2 and LOOP1. If the value of the two-dimensional array M [i] [j] is TURE, that is, a dynamic macroblock, the static determination results of 8 macroblocks around the macroblock are checked (S405), and all are FALSE, that is, static. If it is a macro block, the macro block is determined to be noise and rewritten to a static macro block (S406). If even one of the surrounding 8 macroblocks has TURE, it is not determined as noise, and the next macroblock is moved by LOOP2 and LOOP1. The outside of the screen is assumed to be a static macro block.
[0075]
FIG. 16 is a flowchart showing specific processing contents of the moving object inclusion processing (S302). In step S501, n is a counter indicating the number of moving objects, S1 to S4 are parameters indicating a search range for a rectangle including the moving object, and S1 and S2 are the start point and end point of the address in the vertical direction. , S3, S4 are the start point and end point of the address in the horizontal direction.
[0076]
First, initialization is performed so that the entire frame is designated as a search range (S501). Next, a function “Rectangular” that searches for the smallest rectangle that encompasses the moving object in the designated search range is called (S502).
[0077]
17 and 18 are flowcharts showing the processing contents of the function Rectangular. The function Rectangular takes as input the search range S1 to S4, n indicating the number of moving objects, and the two-dimensional array M in which the static motion determination results of each macroblock are stored. The stored one-dimensional arrays B1 to B4 and n indicating the number of moving objects are output.
[0078]
Here, the one-dimensional array HV is a working array for creating a histogram of the number of moving macroblocks in the vertical direction, and the one-dimensional array HH is for creating a histogram of the number of moving macroblocks in the horizontal direction. It is a working arrangement. The variable VFLAG is a flag that changes to TRUE when the value of the histogram in the horizontal direction is not 0, and FALSE when the value is 0, and the variable HFLAG has a value of 0 as the histogram in the vertical direction. It is a flag that is changed to become TRUE when it is not, and FALSE when the value is 0.
[0079]
First, in FIG. 17, the range of S1 to S2, which is the search range of the work array HV for creating a histogram of the number of moving macroblocks in the vertical direction, is initialized with a value 0 (S601). In the next loop of LOOP1 (S602 to S607) and LOOP2 (S603 to S606), a histogram of the number of moving macroblocks in the vertical direction in the search range is created. That is, the value of the static motion determination result M [i] [j] for each macroblock is compared (S604). If the value is TURE, that is, if it is a dynamic macroblock, HV [i] is incremented by 1 (S605), If it is FALSE, the action is to do nothing.
[0080]
Next, the process proceeds to LOOP3 (S602 to S639), and a non-zero continuous portion is searched from the vertical histogram. First, the flag VFLAG is set to FALSE (S608). Next, in the order of the search range S1 to S2, it is checked whether the histogram HV is not 0 and VFLAG is FALSE (S610). This condition applies to the start point of a continuous portion where the histogram is not zero. Accordingly, since it becomes a candidate for the vertical start point of the searched rectangle, the address i is stored in the one-dimensional array B1 [n], and VFLAG is set to TURE (S611).
[0081]
Next, it is checked whether the histogram HV is 0 or the end of the search range and VFLAG is TURE (S612). This condition applies to the end portion of the continuous portion where the histogram is not zero. Therefore, since it is a candidate for the vertical end point of the rectangle being searched, if the histogram HV is 0, the address i-1 is stored in the one-dimensional array B2 [n] (S614), otherwise Stores the address i in the one-dimensional array B2 [n] (S615). Then, VFLAG is set to FALSE again (S616).
[0082]
Next, in FIG. 18, this time, the range of S3 to S4, which is the search range of the work array HV for creating a histogram of the number of moving macroblocks in the horizontal direction, is initialized with a value of 0 (S617). In the next loop of LOOP4 (S618 to S623) and LOOP5 (S619 to S622), a histogram of the number of horizontal moving macroblocks in the search range is created. That is, the value of the static motion determination result M [k] [j] for each macroblock is compared (S620), and if the value is TURE, that is, a dynamic macroblock, HH [j] is incremented by 1 (S621), If it is FALSE, the action is to do nothing.
[0083]
Next, a non-zero continuous portion is searched from the horizontal histogram. First, the flag HFLAG is set to FALSE (S624). Next, the processing proceeds to LOOP6 (S625 to S638), and it is checked whether the histogram HH is not 0 and HFLAG is FALSE in the order of the search ranges S3 to S4 (S626). This condition applies to the start point of a continuous portion where the histogram is not zero. Therefore, since it is a candidate for the horizontal start point of the rectangle being searched, the address j is stored in the one-dimensional array B3 [n], and HFLAG is set to TURE (S627).
[0084]
Next, it is checked whether the histogram HH is 0 or the end of the search range and HFLAG is TURE (S628). This condition applies to the end portion of the continuous portion where the histogram is not zero. Accordingly, since it is a candidate for the horizontal end point of the rectangle being searched, it is determined whether or not the histogram HH is 0 (S629). If the histogram HH is 0, the one-dimensional array B4 [n] is stored. The address j-1 is stored (S630), and if not, the address j is stored in the one-dimensional array B4 [n] (S631). Then, HFLAG is set to FALSE again (S632).
[0085]
Here, the search using one vertical and horizontal histogram has been completed, and it is checked whether the search results B1 [n] to B4 [n] match the search range S1 to S4 (S633). If there is a match, there is no further search range, so it can be determined that the smallest rectangle has been obtained (S634). Then, n representing the number of moving objects is incremented by 1 (S635), and the next moving object is searched. If the search results B1 [n] to B4 [n] do not match the search ranges S1 to S4, there are still a plurality of moving objects in the search result range, so the search results B1 [n] to B4 [n ] Are transferred to S1 to S4 (S636), and the function Rectangular is called again (S637).
[0086]
The frame recording timing determination unit H102 determines the timing for recording a frame based on n and B1 [n] to B4 [n] as a result of being sent from the moving object detection unit H101 as follows.
[0087]
If n is 0, no frame is recorded. If the number of n is 1 or more, that is, if one or more moving objects are detected, if the time code of the frame is one second or more compared to the time code of the previously recorded frame, the frame is Record. Otherwise, do not record.
[0088]
The frame recording timing determination means H102 uses the rectangular coordinate data B1 [n] to B4 [n] including the moving object to detect the moving object at a more complicated determination condition, for example, a predesignated position. If it is determined that the moving object is moving at a certain speed or more, or if it is determined that the moving object is moving at a certain speed, the frame recording timing may be determined. it can.
[0089]
Based on the frame recording timing determined by the frame recording timing determination unit H102, the output control unit 209 records the frame in the frame recording unit 103.
[0090]
As described above, since the frame in which the moving object is detected is recorded, it is possible to quickly fast-forward and rewind to the frame in which the moving object is detected.
[0091]
Here, a temporary recording ring buffer for temporarily storing the frame decoded by the second decoding unit 700 may be provided in the frame recording unit 103. The structure of the temporary recording ring buffer is the same as that shown in FIG. 6, and the second decoding means 700 stores all the newly decoded frames while erasing the old frames. The frame is saved for 3 seconds, for example, and 30 records are recorded at 10 frames per second.
[0092]
When the frame recording timing determination unit H102 detects the moving object and makes the determination, the frame recording unit 103 detects the frame sent from the second decoding unit 700 and the oldest recorded in the temporary recording ring buffer. The frame 3 seconds before is recorded in the second stage ring buffer in order of time.
[0093]
In other words, a frame 3 seconds before detecting a moving object is recorded first, and a frame at the moment when the moving object is detected is recorded later. In the list display of the frame display means 800, a frame when the frame recording timing determination means H102 detects a moving object and makes a determination is adopted, and when playback from that frame is specified, the playback control means 104 is specified. Playback starts from the frame 3 seconds before the frame.
[0094]
As a result, not only can the fast-forward / rewind to the frame in which the moving object is detected be possible, but also the fast-forward / rewind to the frame 3 seconds before the moving object is detected.
[0095]
【The invention's effect】
As described above, according to the moving image playback / display apparatus of the present invention, it is possible to perform fast rewind playback or fast forward playback even for encoded moving image data in which a P-frame continues for a long time. Further, by combining the moving object detection means, it is possible to quickly reproduce the image of the scene where the moving object is detected.
[Brief description of the drawings]
FIG. 1 is a block configuration diagram of a moving image reproduction display device according to a first embodiment of the present invention.
FIG. 2 is a block configuration diagram of decoding means in the first embodiment of the present invention.
FIG. 3 is a block configuration diagram of display means in the first embodiment of the present invention.
FIG. 4 is an explanatory diagram of a record recorded in the frame recording unit in the first embodiment of the invention.
FIG. 5 is a flowchart showing the processing contents of a frame search function of the frame recording means in the first embodiment of the invention.
FIG. 6 is an explanatory diagram when a ring buffer is employed for the frame recording means in the first embodiment of the invention.
FIG. 7 is an explanatory diagram in the case where a double ring buffer is adopted as the frame recording means in the first embodiment of the invention.
FIG. 8 is a block configuration diagram of a moving image reproduction display device according to a second embodiment of the present invention.
FIG. 9 is a block configuration diagram of a moving image reproduction display device according to a third embodiment of the present invention.
FIG. 10 is an explanatory diagram of an example of frame display by frame display means in the third embodiment of the invention.
FIG. 11 is a block configuration diagram when moving object detection means and frame recording timing determination means are added to the second decoding means of FIG. 8 or FIG. 9;
FIG. 12 is a flowchart showing the processing contents of the moving object detection means in the embodiment of the present invention.
FIG. 13 is a flowchart showing the processing contents of macroblock static motion determination processing in the moving object detection means in the embodiment of the present invention.
FIG. 14 is a flowchart showing the processing contents of a moving object determination process in the moving object detection unit according to the embodiment of the present invention.
FIG. 15 is a flowchart showing the processing content of noise removal processing in moving object determination processing in the embodiment of the present invention;
FIG. 16 is a flowchart showing the processing contents of a moving object inclusion process in the moving object determination process according to the embodiment of the present invention.
FIG. 17 is a flowchart (part 1) showing the processing contents of a function Rectangular in the moving object inclusion processing in the embodiment of the present invention;
FIG. 18 is a flowchart (No. 2) showing the processing contents of the function Rectangular in the moving object inclusion processing in the embodiment of the present invention;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... File 101 ... Input control means 102 ... Decoding means 103 ... Frame recording means 104 ... Reproduction control means 105 ... Display means 700 ... Second decoding means 800 ... Frame display means

Claims (3)

フレーム全体の情報を含むI-フレームの後に前記フレーム間の差分情報からなるP-フレームが続いた符号化された動画像データを再生表示する動画像再生表示装置において、
符号化された動画像データの入力を制御する入力制御手段と、
前記入力制御手段から送られてくる符号化された動画像データから各フレームを復号化する復号化手段と、
前記復号化手段が復号化したフレームにフレーム番号およびタイムコードを付加すると共に前記動画像データにおける位置をフレーム全体の情報として記録するフレーム記録手段と、
再生するフレームのフレーム番号およびタイムコードに基づいて前記フレーム記録手段から対応するフレーム全体の情報を取り出し前記復号化手段に設定すると共に前記入力制御手段に前記動画像データの入力位置を設定する再生制御手段と、
前記復号化手段の復号化したフレームを表示する表示手段とを備え、
前記フレーム記録手段は、記録するフレームが予め定められた数に達した後は、新しいフレームは最初に記録されたフレームを書き潰す形で記録するリングバッファを2個持つ二段階構成とし、第2段目のリングバッファのフレーム記録周期は第1段目のリングバッファのフレーム記録周期より長いことを特徴とする動画像再生表示装置。
In a moving image reproduction display device for reproducing and displaying encoded moving image data in which an I-frame including information on the entire frame is followed by a P-frame consisting of difference information between the frames,
Input control means for controlling the input of encoded moving image data;
Decoding means for decoding each frame from the encoded moving image data sent from the input control means;
A frame recording means for adding a frame number and a time code to the frame decoded by the decoding means and recording a position in the moving image data as information of the entire frame;
Based on the frame number and time code of the frame to be reproduced, the reproduction control for taking out the information of the entire corresponding frame from the frame recording means and setting it in the decoding means and setting the input position of the moving image data in the input control means Means,
Display means for displaying the decoded frame of the decoding means ,
The frame recording means has a two-stage configuration having two ring buffers for recording a new frame after the number of frames to be recorded reaches a predetermined number. A moving image reproducing / displaying device, wherein a frame recording period of the ring buffer in the stage is longer than a frame recording period of the ring buffer in the first stage.
前記復号化手段に先行して符号化された動画像データの復号化を行ない、復号化したフレーム、フレーム番号、タイムコード、および前記動画像データにおける位置を前記フレーム記録手段に送信する第2復号化手段を設け、
前記フレーム記録手段は、前記第2復号化手段から受信したフレームを前記第2段目のリングバッファに記録し、前記復号化手段からのフレームを前記第1段目のリングバッファに記録することを特徴とする請求項に記載の動画像再生表示装置。
Second decoding for decoding moving image data encoded prior to the decoding means and transmitting the decoded frame, frame number, time code, and position in the moving image data to the frame recording means Providing means,
The frame recording means records the frame received from the second decoding means in the second stage ring buffer, and records the frame from the decoding means in the first stage ring buffer. The moving image reproduction display device according to claim 1 , characterized in that:
前記フレーム記録手段に記録したフレームを一覧表示するフレーム表示手段と、
前記第2復号化手段によって復号化されたフレームの各ブロック毎にブロック内の画像が静止状態か動状態かを判定しその静動判定結果から移動物体の存在を検出する移動物体検出手段と、
前記移動物体検出手段によって移動物体が検出されたときフレーム全体の情報を所定のタイミングで前記フレーム記録手段に記録するフレーム記録タイミング判定手段とを設け、
前記フレーム記録手段は、前記第2段目のリングバッファとは別に前記第2復号化手段の復号化したフレームを周期的に一時的に記録する一時記録用リングバッファを持ち、前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームおよび前記一時記録用リングバッファに記録された前記フレームより一定時間前のフーレムを前記第2段目のリングバッファに記録し、前記フレーム表示手段には前記フレーム記録タイミング判定手段が判定を下したタイミングのフレームを表示し、
前記再生制御手段は前記フレーム記録タイミング判定手段が判定を下したタイミングより一定時間前のフレームからの再生を設定することを特徴とする請求項に記載の動画像再生表示装置。
Frame display means for displaying a list of frames recorded in the frame recording means;
Moving object detection means for determining whether the image in the block is stationary or moving for each block of the frame decoded by the second decoding means, and detecting the presence of the moving object from the static determination result;
A frame recording timing determination unit that records information of the entire frame in the frame recording unit at a predetermined timing when the moving object is detected by the moving object detection unit;
The frame recording means has a temporary recording ring buffer that periodically records the frames decoded by the second decoding means separately from the second stage ring buffer, and the frame recording timing determination A frame at a timing determined by the means and a frame that is a predetermined time before the frame recorded in the temporary recording ring buffer are recorded in the second stage ring buffer, and the frame recording means stores the frame recording. Display the frame of the timing when the timing judgment means made the judgment,
3. The moving image reproduction display apparatus according to claim 2 , wherein the reproduction control unit sets reproduction from a frame a predetermined time before the timing determined by the frame recording timing determination unit.
JP2000156105A 2000-05-26 2000-05-26 Moving image playback display device Expired - Fee Related JP4010742B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000156105A JP4010742B2 (en) 2000-05-26 2000-05-26 Moving image playback display device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000156105A JP4010742B2 (en) 2000-05-26 2000-05-26 Moving image playback display device

Publications (2)

Publication Number Publication Date
JP2001339693A JP2001339693A (en) 2001-12-07
JP4010742B2 true JP4010742B2 (en) 2007-11-21

Family

ID=18660937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000156105A Expired - Fee Related JP4010742B2 (en) 2000-05-26 2000-05-26 Moving image playback display device

Country Status (1)

Country Link
JP (1) JP4010742B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101248672A (en) 2005-08-26 2008-08-20 汤姆森特许公司 Transcoding image for improved trick broadcast
JP6415689B2 (en) * 2015-03-10 2018-10-31 三菱電機株式会社 Video analysis device

Also Published As

Publication number Publication date
JP2001339693A (en) 2001-12-07

Similar Documents

Publication Publication Date Title
JPH0974566A (en) Compression encoder and recording device for compression encoded data
KR100223163B1 (en) Disc format for multiple speed reproduction and method for multiple speed reproduction of mpeg data thereby, and device thereof
JP4010742B2 (en) Moving image playback display device
JP3200196B2 (en) Motion vector detection method
JP3277374B2 (en) Image signal decoding method and image signal decoding device
KR101103308B1 (en) Method and device for generating a menu, and recording medium
JP3061125B2 (en) MPEG image reproducing apparatus and MPEG image reproducing method
JP4191385B2 (en) Trick play playback of MPEG encoded signals
JP2001238182A (en) Image reproduction device and image reproduction method
JP3248366B2 (en) Data reproducing method and data reproducing apparatus
JPH1169363A (en) Method and device for reproducing source data of digitally coded video film
JP2003087732A (en) Video reproducing device
JP2001160947A (en) Image recorder and method
JPH0522700A (en) Image data decoder
JP3177366B2 (en) High-speed image playback system
JP2002238030A (en) Slow motion image detecting method and device
KR20190098514A (en) Electronic apparatus and control method thereof
JP3062166B2 (en) Image recording device
JP3337066B2 (en) MPEG data processing device
JP3873000B2 (en) Moving image moving object detection apparatus and detection method
JP3548028B2 (en) Moving image moving object detection apparatus and detection method
JP3057212B2 (en) Image data decoding device
JP3457540B2 (en) Image decoding apparatus and method
JP2002077919A (en) Dynamic image monitor
JP2000041222A (en) Video reproduction device, its method and video display device

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