JP2004096474A - Video data playback method and playback device - Google Patents
Video data playback method and playback device Download PDFInfo
- Publication number
- JP2004096474A JP2004096474A JP2002255686A JP2002255686A JP2004096474A JP 2004096474 A JP2004096474 A JP 2004096474A JP 2002255686 A JP2002255686 A JP 2002255686A JP 2002255686 A JP2002255686 A JP 2002255686A JP 2004096474 A JP2004096474 A JP 2004096474A
- Authority
- JP
- Japan
- Prior art keywords
- bit rate
- average bit
- information
- gop
- calculated
- 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.)
- Granted
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
【課題】動画データの再生方法に関し、特にVBRで蓄積されたMPEGデータをランダムアクセス可能なMPEGデータの再生方法を提供する。
【解決手段】再生方法は、蓄積された動画データの先頭と最終の時間情報から算出した平均ビットレートをテーブルに保存すること、前記動画データの先頭のランダムアクセス可能な画像グループと最終の画像グループの時間情報及び位置情報を検出して保存し、さらに隣接する画像グループ間のフレーム数により画像グループ単位時間を算出して前記テーブルに保存すること、前記テーブルに保存された平均ビットレート等をもとにアクセスすべきポイントを算出すること、前記算出されたアクセスすべきポイント以降から再生を開始すると共に、その再生過程で検出した画像グループの時間情報及び位置情報、及びそれらの情報をもとに算出した各画像グループ間の平均ビットレートを、前記テーブルに保存していくこと、から成る。
【選択図】 図4Kind Code: A1 The present invention relates to a method for playing back moving image data, and more particularly to a method for playing back MPEG data that can randomly access MPEG data stored in VBR.
The playback method includes storing, in a table, an average bit rate calculated from time information of the beginning and end of accumulated moving image data, a randomly accessible image group and a last image group at the beginning of the moving image data. Detecting and storing the time information and position information, further calculating the image group unit time based on the number of frames between adjacent image groups and storing the calculated time in the table, the average bit rate stored in the table, and the like. Calculating a point to be accessed, starting reproduction from the calculated point to be accessed and the time information and position information of the image group detected in the reproduction process, and based on the information. And storing the calculated average bit rate between the image groups in the table.
[Selection diagram] Fig. 4
Description
【0001】
【発明の属する技術分野】
本発明はMPEG (Moving Picture Experts Group) データの再生方法及び再生装置に関し、特に可変ビットレート(VBR; Variable Bit Rate)で蓄積されたMPEGデータを読み出して再生する場合に、任意の位置から再生、逆再生、早送り、又は巻き戻しを行うランダムアクセス可能なMPEGデータの再生方法及び再生装置に関するものである。
【0002】
【従来の技術】
現在、MPEGのエンコーダの価格は低下し、またLANの高速化により大容量のデータの転送も可能となってきたため、MPEGの圧縮方式は広く普及している。動画像を圧縮して蓄積する方式であるMPEG1及びMPEG2方式では、再生方向を時間軸の順方向に再生することを前提に圧縮がなされる。
【0003】
その圧縮には動画像を固定のビットレートで圧縮する方式(CBR;ConstantBit Rate)と、映像品質を同程度に保つために圧縮効率の悪いシーンにおいては高ビットレートで圧縮し、反対に圧縮効率の良いシーンでは低ビットレートで圧縮する可変ビットレートの圧縮方式(VBR)とがある。
【0004】
MPEG方式では、ランダムアクセスを可能とするポイントとしてGOP (Group of pictures) 単位が規定されている。GOPの先頭フレームは、前方及び後方フレームの参照を伴わず復号化可能なIフレームで始まり、その参照を伴うP、Bフレームが連続する。そのため、GOPのポイントからは順方向の再生が可能であり、MPEG動画像を任意のポイントから再生するときはその近傍のGOPポイントから再生を開始する。
【0005】
CBRで蓄積されているMPEGファイルの場合、GOPのポイントは一定のビットレートとGOP内のフレーム数とによりGOPサイズが確定するため、単純計算でGOPのポイントを検索することが可能である。それに対して、VBRで蓄積されているMPEGファイルの場合には、GOPのサイズがGOP毎に変動するためGOPポイントの検索が容易でない。
【0006】
このため、GOPのポイントがインデックス情報等として付加されていない任意の蓄積データ、例えばネットワークを介してダウンロードしたVBRのMPEGデータ等、に対しては、そのGOPのポイントを知るために前記蓄積データを全てスキャンし、GOPのポイントをインデックスファイル等の別情報として作成する。その後、作成した情報を用いてシークすることで、先頭データからの順方向再生以外の特殊な再生操作に対応していた。
【0007】
【発明が解決しようとする課題】
前述したように、任意のMPEG蓄積データ、特にVBRによるMPEG蓄積データ、の特殊再生を行うときには再生前にインデックスファイル等を作成していたため、平均ビットレートが高い蓄積データや長時間の蓄積データの場合はその再生開始までに時間がかかるという問題があった。
【0008】
そこで本発明の目的は、上記問題点に鑑み、任意のMPEG蓄積データを再生する際に、平均ビットレートを計算して非再生部分については検索すべきアクセスポイントの予測を行い、再生済みの部分についてはその再生時に検出したGOPポイント値を使用し且つ特殊再生時の予測データをそのGOPポイント値によりダイナミックに更新していくことで、任意のMPEG蓄積データの再生過程におけるランダムアクセスポイントの検索精度を随時向上させるように構成したMPEGデータの再生方法及び再生装置を提供することにある。これにより、CBRやVBRの相違やインデックスファイルの有無、等のファイル構造によらない高速で正確なランダムアクセスポイントの検索が可能となる。
【0009】
【課題を解決するための手段】
本発明によれば、蓄積された動画データの先頭と最終の時間情報から算出した平均ビットレートをテーブルに保存すること、前記動画データの先頭のランダムアクセス可能な画像グループと最終の前記画像グループの時間情報及び位置情報を検出して保存し、さらに隣接する前記画像グループ間のフレーム数により前記画像グループ単位時間を算出して前記テーブルに保存すること、前記テーブルに保存された平均ビットレート、前記画像グループの時間情報及び位置情報、及び前記画像グループ単位時間をもとにアクセスすべきポイントを算出すること、前記算出されたアクセスすべきポイント以降から再生を開始すると共に、その再生過程で検出した前記画像グループの時間情報及び位置情報、及びそれらの情報をもとに算出した各画像グループ間の平均ビットレートを、前記テーブルに保存していくこと、から成る動画データの再生方法が提供される。
【0010】
また本発明によれば、蓄積された動画データを再生する動画データの再生装置であって、前記動画データの先頭及び最終の時間情報を抽出して検索用の平均ビットレートを算出する手段と、前記検索用の平均ビットレートを用いて算出したアクセスポイントから再生を開始する手段と、前記再生の過程で検出した前記動画データの所定の再生情報を保存していく手段と、前記保存された再生済み部分の再生情報によって前記検索用の平均ビットレートを修正する手段と、を有する動画データの再生装置が提供される。
【0011】
【発明の実施の形態】
図1は、本発明によるMPEGデータの再生装置の一構成例を示したものである。
図1において、ファイル1は、ハードディスク等の補助記憶装置からなり、ネットワークを介してダウンロードしたMPEG1やMPEG2−PS等のMPEGデータを蓄積する。外部制御部3は、ユーザが指定する再生すべき画像やその特殊再生等の指示をDEMUX部4に与える。蓄積データ読み込み部2は、DEMUX部4からの制御によってファイル1に蓄積されたMPEGデータの一部又は全部を読み込んでDEMUX部4に転送する。
【0012】
DEMUX部4は、外部制御部3からの指示により、通常再生又は特殊再生すべきMPEGデータを蓄積データ読み込み部2を介して取り込み、そのMPEGデータをMPEGビデオデータとMPEGオーディオデータとに分離する。分離されたMPEGビデオデータはビデオデコーダ8へ、またMPEGオーディオデータはオーディオデコーダ9へそれぞれ出力される。
【0013】
ビデオデコーダ8は、受信したMPEGビデオデータに逆DCT変換等の復号処理を行ない、それによって復元したビデオデータを出力する。オーディオデコーダ9も、MPEGオーディオデータに同様の復号処理を行なって復元したオーディオデータを出力する。
【0014】
上記の構成は通常のMPEGデータ再生装置と同様であるが、本願発明ではさらに以下の構成を備える。すなわち、DEMUX部4にはPTS/DTS検出部5及びGOP検出部6が設けられ、DEMUX部4にはさらに管理テーブル7が付加される。ここでは、先ずPTS/DTS検出部5、GOP検出部6、及び管理テーブル7を説明する前に、それらと関連するMPEGデータの概要について説明しておく。
【0015】
図2には、MPEGデータフォーマットの一例を示している。また、図3にはVBRにける映像データとビットレートとの関係を示している。
図2において、図2の(a)には、MPEG1−SYSTEMやMPEG2−PS (Program Stream) のデータフォーマットの一例を示しており、先頭のパックヘッダに始まり終了コード(図示せず)で終わる。パックは一般に複数のパケットで構成され、先頭のパックヘッダにはMPEG1−SYSTEMの識別コード“00”又はMPEG2−PSの識別コード“01”が含まれる。
【0016】
システムヘッダには、ストリーム全体のパラメータが記述され、その rate_bound フィールドにはビットレートが、他のフィールドにはビデオチャネル数やオーディオチャネル数等の種々のパラメータが含まれる。また、ビデオパケットやオーディオパケットの各パケットヘッダには再生出力の時刻管理情報であるPTS (Presentation Time Stamp) や復号の時間管理情報であるDTS (Decoding Time Stamp) 等のパラメータが含まれ、それぞれ33ビットのサイクリックカウンタで構成され、最長26時間程の時刻管理が可能である。
【0017】
図2の(b)には、VBRのビデオストリームサイズの一例を示している。前述したように、GOP (Group of pictures) は、ランダムアクセスを可能とするためにフレーム内符号化画面(Iフレーム)が少なくとも1枚入った画面構造を有している。1GOPはシーケンスヘッダとGOP部とで構成され、GOP部にはIフレームが少なくとも1枚入ったB及びPフレームが複数枚含まれており、通常0.5秒(15フレーム)程度でグループ化される。
【0018】
VBRの場合はGOPサイズが映像の動きの大小によって変動するため、図3に実線で示すようにビットレートを可変にしてフレーム伝送レート(30フレーム/秒)を維持する。なお、図3に点線で示すようにCBRの場合は最大ビットレートが固定的に設定され、GOPサイズを一定にするために低ビットレートのデータにはダミーデータ(パディングデータ)が挿入される。
【0019】
上記を参考に図1に戻って、PTS/DTS検出部5は、ビデオパケットの各パケットヘッダにあるPTS(DTS)情報を検出する。GOP検出部6は、ランダムアクセス可能なGOP単位での検出を行なう。そして、管理テーブル7は、PTS/DTS検出部5及びGOP検出部6によって検出された情報を基に、通常再生時及び特殊再生時に随時追加・変更・更新されていくデータテーブルである。
【0020】
以下、本願発明の実施例について図4〜9の制御フローを中心に図10〜14の管理テーブルの一例を参照しながら説明していく。
(1)蓄積データの再生開始時
図4には、蓄積データの再生開始時における制御フローの一例を示している。また、図10には、蓄積データの再生開始時に最初に作成される再生用管理テーブルの一例を示している。
【0021】
DEMUX4は、外部制御部3による所定のMPEGフィル再生指示により、先ず蓄積データ読み込み部2を制御してファイル1から該当するMPEGファイルの先頭部分を読み込み、システムヘッダ内の rate_bound の内容を取り込んで、それより蓄積データの最大ビットレートを算出する(S101)。算出された最大ビットレート(本例では6Mbps)は、再生時の上限レートを定めるものとして特殊再生用管理テーブルに保存される(図10)。
【0022】
次に、ファイル先頭のビデオパケットにおけるGOPのPTS又はDTSを取り込み、そのバイト位置も取り込む(S102)。さらに、ファイル先頭から2番目のビデオパケットにおけるGOPのPTS又はDTSを取り込んで、そのバイト位置も取り込む。これら2つのGOP間のフレーム数から1GOP時間を計算し、この値(本例では0.5秒)も特殊再生用管理テーブルに保存される(S103)。
【0023】
一般的に、CBR/VBRを問わずMPEG蓄積データにおいては、GOP毎のデータ量は変動するが1GOP内のフレーム数は同一のため、GOP毎の時間単位は変化しないことが多い。このため、1GOPの時間情報も特殊再生のための有効な情報となる。なお、前述した最大ビットレート及び1GOP時間は固定値として保存され、以降変更や更新はされない。
【0024】
最後に、ファイルの最後尾より最大ビットレート×α(最終GOPを取り込める時間分)の戻り位置からスキャンを開始し、ビデオパケットの最後のGOPのPTS又はDTS、及びそのバイト位置を取り込む(S104)。この情報と先に求めた最初のGOPの情報からファイル総再生時間を以下のように計算する(S105)。
【0025】
ここでは、最大ビットレートを Max_Bit_Rate、先頭PTS(DTS)を First_PTS、先頭バイト位置を First_Byte、最終PTS(DTS)を Last_PTS、最終バイト位置を Last_Byte、そして総再生時間を Total_Time とする。PTS(DTS)は90KHzを単位とした33ビットのサイクリックカウンタのため、総再生時間は下記式で記述できる。なお、下記式は33ビットで指定できる最大26時間を越える時間計算も可能である。
【0026】
【0027】
図10には、上記式で算出した総再生時間を用いて、ファイルのバイトサイズ(総バイト数)から平均ビットレート(本例では4Mbps)を算出した例を示している。これより、先頭GOP及び最終GOPの各々のGOP時間とバイト位置、そして先頭GOPと最終GOPとの間の平均ビットレートが求まる。このように、ファイル再生に必要な最小限の情報をその再生開始前に取得することで、該当MPEGファイルの特殊再生を行うための初期管理テーブル7が作成される(S106)。
【0028】
本発明では、MPEG蓄積データからのみデータの平均ビットレートを計算し、且つ蓄積ファイルの先頭及び最終部分のみのサーチで済むため、再生開始時点でのサーチ量が少なく、従来のインデックスファイルを作成するようなシステムよりも高速に再生が開始される。
【0029】
(2)先頭から順方向に再生する場合
図5には、順方向再生時の制御フローの一例を示している。また、図11には、順方向再生における管理テーブル7の更新の一例を示している。
【0030】
DEMUX4は、外部制御部3からの順方向再生指示により、蓄積データ読み込み部2を制御して一連の蓄積データを復号・再生のためにシーケンシャルに読み込む(S201)。その復号・再生過程で(S204)、実際に検出されたGOP毎の時間やGOP毎の蓄積データのバイト位置からGOP毎のビットレートを算出し、その情報によって管理テーブル7の内容を保存・更新していく(S202及び203)。
【0031】
図11の例では、順方向の再生過程でGOP検出部6が検出した情報を元に算出された2番目、3番目、…、のGOP毎の時間、GOP毎のバイト位置、及びGOP毎の平均ビットレートが先頭GOPと最終GOPとの間に挿入され保存されていく。
【0032】
(3)管理テーブルにGOPのバイト位置が登録されていない時間にシーク指示が発生した場合
図6及び7には、シーク指示による制御フローの一例を示している。また、図12及び13には、管理テーブル7からシークバイト位置を求める一例を示している。
【0033】
図6において、通常、外部制御部3からのシーク指示はファイルの先頭の再生開始映像を0として時間情報で与えられるため(S301)、DEMUX4は管理テーブル7を用いて以下のようにシークすべきPTS(DTS)を計算する。
PTS(DTS)=(First_PTS + 指示時間(秒) / 90000) & 0x1FFFFFFFF
【0034】
上記計算の結果、シークすべき時間と対応するバイト位置の情報が既に管理テーブル7に存在する場合は、直接そのバイト位置にシークして再生を開始する(S302、S306及び307)。再生開始後の制御フローは図5に示した通りである。
【0035】
一方、上記計算の結果、シークすべき時間と対応するバイト位置の情報が管理テーブル7に存在しない場合は、次に計算された時刻の前後又は近傍に現在判明しているGOPの時間とバイト位置が存在するか否かを判定する(S303)。存在しない場合には、該当する空間の「平均ビットレート」と「指示時間と判明しているGOP時間との差分」をかけて算出したバイト数とGOPのバイト位置を演算することでシークすべきバイト位置を割り出す(S304)。
【0036】
図12の例でいえば、該当する空間の平均ビットレート (2,666,666bps) を用い、且つ計算したシーク時間が20秒の場合は現在判明しているより近傍のGOP時間(10秒)及びバイト位置(7,500,100byte)を用いて以下のようにシークすべきバイト位置を計算する。
7500100 + (2666666 * (20−10)/8)
【0037】
一方、計算したシーク時間が80秒の場合は、現在判明しているより近傍のGOP時間(100秒)及びバイト位置 (37,500,100byte) を用いて以下のようにシークすべきバイト位置を計算する。
37500100 − (2666666 * (100−80)/8)
【0038】
一方、計算された時刻の前後又は近傍に現在判明しているGOPの時間とバイト位置が存在する場合は、さらに以下の点を考慮する(S303及び305)。すなわち、VBRでは、図3で示したようにシーンチェンジや動きの多い映像の場合は高ビットレートの符号化データとなり、動きの少ない映像の場合は低ビットレートとなる。
【0039】
そのため、動きの変化点の前後を除くとシーク位置に対応するGOPのバイト位置が管理テーブル7には登録されていないが、当該変化点の直前又は直後のミクロなGOP単位の平均ビットレートが管理テーブルに登録されている場合には、検索用の平均ビットレートを用いるよりも当該変化点の直前又は直後のGOP単位の平均ビットレートを用いるほうがシークの精度は向上する。
【0040】
この場合には、ステップ304で用いた平均ビットレートに代えて、前記直前又は直後の平均ビットレートを用いてシークの位置に対応するGOPを発見し、それによって管理テーブル7を更新する。図13の例では、該当する変化点の直前のGOP単位の平均ビットレート (2,666,666bps) を用い、計算したシーク時間が11.5秒の場合のシークすべきバイト位置を以下のように計算する。
7,833,432 + (2666666 * 10/8)
【0041】
より近傍の平均ビットレートのほうが全体の平均ビットレートよりも正確であるため、この平均ビットレートを用いて正確なランダムアクセス可能なポイントを算出し、それによって蓄積データのサーチ量も削減され、高速な特殊再生が実現される。
【0042】
このようなシークは、逆再生(MPEGでは順方向にしか復号できないため、1GOP前から1GOP分復号し、逆順で映像を表示する)、高速再生(早送りのため全てのフレームを復号する必要はなく、例えばGOP毎のIフレームのみを復号して表示する)、又は高速逆再生(早戻しも同様にGOP毎のIフレームのみを復号して表示する)等、の1GOP単位で検索する必要があるものに有効である。この場合、GOP単位の時間は再生開示時に取得したものを用いることができる。
【0043】
以降、該当バイト位置から順方向に蓄積データをサーチする(S308及び309)。ビデオパケットのPTS(DTS)を発見した場合には、発見したPTS(DTS)がシークすべきPTS(DTS)より前で且つシークすべきPTS(DTS)の基準範囲内にある場合に、そのまま蓄積データを順方向にサーチしてGOPを検索する(S310〜313)。それ以外の場合は、発見したPTS(DTS)とシークすべきPTS(DTS)との時間差と平均ビットレートから再度シークすべきバイト位置を計算しなおす(S316)。
【0044】
GOPを発見すると、そのGOPの時間及びGOPの蓄積データのバイト位置から前後のビットレートを算出し、これらの情報によって管理テーブル7を更新してから再生を開始する(S313〜315)。このようにして、シークに該当するバイト位置の検索と管理テーブル7の更新が行なわれていく。
【0045】
上述した(1)〜(3)の各処理から明らかなように、本願発明では先ず(1)の処理で計算した平均ビットレートを、(2)及び(3)の各処理によって逐次修正していく。そのため、再生が進むにつれてより正確なランダムアクセス可能なポイントが算出でき且つ蓄積データのサーチ量も削減できるため、任意のMPEG蓄積データに対して高速な特殊再生が実現される。
【0046】
(4)管理テーブルの統合
図8には、管理テーブル7の統合化のための制御フロー例を示している。また、図14には、管理テーブル7の統合化の一例を示している。
【0047】
管理テーブル7に検出されたGOP毎のデータを順次保存していくと、長時間の蓄積ファイルの場合には膨大なテーブルが必要となる。そのため、図6では隣接する前後のGOP間のビットレートが同一ビットレートの場合に、それら複数のGOPを一つに統合することで管理テーブル7の領域を削減する(S401及び402)。なお、厳密に同一ビットレートでなくても相互に近いビットレートであれば、複数のGOPを統合することは可能である。
【0048】
図14には、互いに同じ平均ビットレート (2,666,666bps) をもつGOP時間10秒とGOP時間10.5秒とを統合して、GOP時間10.5秒のデータを削除した例を示している。このうち、削除したGOP時間10.5秒のデータについては前述した計算式から正確に算出できる。
【0049】
(5)GOP単位の検索
図9には、シーク指示された時間をGOP単位に変換する制御フローの一例を示している。
図9では、先に(3)で説明したシーク指示の時間がGOP単位の時間と一致しない場合に、シーク指示された時間に一番近いGOP単位の時間を求める(S501及び502)。このように、GOP単位のバイト位置の検索を行えば、検索バイト位置からスキャンする蓄積データ量を削減することが可能できる。
【0050】
【発明の効果】
以上説明したように、本発明によれば、任意のMPEG蓄積データを、インデックス情報やインデックスファイルのような外部情報を用いずに、特殊再生を行うためのGOPのポイントを高速に且つ蓄積データ内のサーチ量が少なく正確に行なえる。
【0051】
具体的には、MPEG蓄積データからのみデータの平均ビットレートを計算し、また蓄積ファイルの先頭及び最終部分のみサーチを行うため、再生開始時点でのサーチ量は少なく、インデックスファイルを作成するようなシステムよりも高速に再生が開始できる。
【0052】
また、再生開始前に作成した平均ビットレートを再生の過程で逐次修正していくことで、再生が進むにつれてより正確なランダムアクセス可能なポイントが算出でき、それによって蓄積データのサーチ量が削減できて高速な特殊再生が実現できる。
【0053】
さらに、より近傍の平均ビットレートのほうが全体の平均ビットレートよりも正確であるため、この平均ビットレートを用いることでより正確なランダムアクセス可能なポイントが算出でき、蓄積データのサーチ量を削減した高速な特殊再生が実現できる。
【0054】
なお、本発明は蓄積ファイルがVBRに限らずCBRの場合にも適用可能である。CBRの場合には、管理テーブル上の平均ビットレートが各GOP間で同一となるため管理テーブルに対する操作が冗長となるだけで、CBR又はVBRの蓄積ファイルの構造を意識することなく適用できる。
【図面の簡単な説明】
【図1】本発明によるMPEGデータの再生装置の一構成例を示した図である。
【図2】MPEGデータフォーマットの一例を示した図である。
【図3】VBRにける映像データとビットレートとの関係を示した図である。
【図4】蓄積データの再生開始時における制御フローの一例を示した図である。
【図5】順方向再生時の制御フローの一例を示した図である。
【図6】シーク指示による制御フローの一例(1)を示した図である。
【図7】シーク指示による制御フローの一例(2)を示した図である。
【図8】管理テーブルの統合化の制御フロー例を示した図である。
【図9】シーク指示時間をGOP単位に変換する制御フローの一例を示した図である。
【図10】再生開始時に作成される管理テーブルの一例を示した図である。
【図11】順方向再生における管理テーブルの更新の一例を示した図である。
【図12】管理テーブルからシークバイト位置を求める一例(1)を示した図である。
【図13】管理テーブルからシークバイト位置を求める一例(2)を示した図である。
【図14】管理テーブルの統合化の一例を示した図である。
【符号の説明】
1…ファイル
2…蓄積データ読み込み部
3…外部制御部
4…DEMUX部
5…PTS/DTS検出部
6…GOP検出部
7…管理テーブル
8…ビデオデコーダ
9…オーディオでコーダ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and apparatus for reproducing MPEG (Moving Picture Experts Group) data, and more particularly to reading and reproducing MPEG data stored at a variable bit rate (VBR) from an arbitrary position. The present invention relates to a random-accessible MPEG data reproduction method and apparatus for performing reverse reproduction, fast forward, or rewind.
[0002]
[Prior art]
At present, the price of the MPEG encoder has been reduced and the transfer of a large amount of data has become possible due to the speeding up of the LAN, so that the MPEG compression method is widely used. In the MPEG1 and MPEG2 systems, which are systems for compressing and storing moving images, the compression is performed on the premise that the moving image is reproduced in the forward direction of the time axis.
[0003]
For the compression, a method of compressing a moving image at a fixed bit rate (CBR: Constant Bit Rate) is used, and in a scene having a low compression efficiency to maintain the same image quality, the compression is performed at a high bit rate, and conversely, the compression efficiency is reduced. In a good scene, there is a variable bit rate compression method (VBR) that performs compression at a low bit rate.
[0004]
In the MPEG system, a GOP (Group of pictures) unit is defined as a point at which random access is possible. The first frame of the GOP starts with an I frame that can be decoded without reference to the front and rear frames, and P and B frames with the reference continue. Therefore, reproduction in the forward direction is possible from a GOP point. When an MPEG moving image is reproduced from an arbitrary point, reproduction is started from a GOP point near the point.
[0005]
In the case of an MPEG file stored in CBR, since the GOP point is determined by a fixed bit rate and the number of frames in the GOP, the GOP point can be searched by simple calculation. On the other hand, in the case of an MPEG file stored in VBR, it is not easy to search for a GOP point because the size of the GOP changes for each GOP.
[0006]
For this reason, with respect to arbitrary stored data to which a GOP point is not added as index information or the like, for example, VBR MPEG data downloaded via a network, the stored data is used to know the GOP point. All are scanned and GOP points are created as separate information such as an index file. Thereafter, by performing a seek using the created information, a special reproduction operation other than the forward reproduction from the head data is supported.
[0007]
[Problems to be solved by the invention]
As described above, when performing special reproduction of arbitrary MPEG stored data, especially MPEG stored data by VBR, an index file or the like is created before reproduction, so that stored data having a high average bit rate or long-time stored data is generated. In such a case, there is a problem that it takes time to start the reproduction.
[0008]
In view of the above problems, it is an object of the present invention to calculate an average bit rate and predict an access point to be searched for a non-reproduced portion when reproducing arbitrary MPEG stored data, As for, by using the GOP point value detected at the time of the reproduction and dynamically updating the prediction data at the time of the special reproduction by the GOP point value, the search accuracy of the random access point in the reproduction process of arbitrary MPEG accumulated data is improved. It is an object of the present invention to provide a method and an apparatus for reproducing MPEG data which are configured to improve at any time. This makes it possible to perform high-speed and accurate random access point search regardless of the file structure such as the difference between CBR and VBR and the presence or absence of an index file.
[0009]
[Means for Solving the Problems]
According to the present invention, the average bit rate calculated from the head and the last time information of the accumulated moving image data is stored in a table, and a random accessible image group at the head of the moving image data and the last image group of the moving image data are stored. Detecting and storing time information and position information, further calculating the image group unit time based on the number of frames between the adjacent image groups and storing the calculated time in the table, the average bit rate stored in the table, Calculating the point to be accessed based on the time information and position information of the image group, and the image group unit time, starting the reproduction from the calculated point to be accessed and detecting the point in the reproduction process Time information and position information of the image group, and each image calculated based on the information. The average bit rate between the loops, it will save the table, the method of reproducing video data consisting of are provided.
[0010]
Further, according to the present invention, there is provided a moving image data reproducing apparatus for reproducing accumulated moving image data, wherein a means for extracting head information and last time information of the moving image data and calculating an average bit rate for search, Means for starting playback from an access point calculated using the average bit rate for the search, means for storing predetermined playback information of the moving image data detected in the course of the playback, and Means for correcting the average bit rate for the search with the reproduction information of the completed part.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows an example of the configuration of an apparatus for reproducing MPEG data according to the present invention.
In FIG. 1, a
[0012]
The
[0013]
The video decoder 8 performs a decoding process such as an inverse DCT transform on the received MPEG video data, and outputs video data restored thereby. The
[0014]
The above configuration is the same as that of a normal MPEG data reproducing apparatus, but the present invention further includes the following configuration. That is, the
[0015]
FIG. 2 shows an example of the MPEG data format. FIG. 3 shows the relationship between video data and bit rate in VBR.
In FIG. 2, (a) of FIG. 2 shows an example of the data format of MPEG1-SYSTEM or MPEG2-PS (Program Stream), which starts with the first pack header and ends with an end code (not shown). A pack is generally composed of a plurality of packets, and the first pack header includes an identification code "00" of MPEG1-SYSTEM or an identification code "01" of MPEG2-PS.
[0016]
The system header describes the parameters of the entire stream. The rate_bound field contains the bit rate, and the other fields contain various parameters such as the number of video channels and the number of audio channels. Also, each packet header of the video packet and the audio packet includes parameters such as PTS (Presentation Time Stamp) which is time management information of reproduction output and DTS (Decoding Time Stamp) which is time management information of decoding. It is composed of a cyclic counter of bits, and can manage time of up to about 26 hours.
[0017]
FIG. 2B shows an example of the VBR video stream size. As described above, the GOP (Group of pictures) has a screen structure including at least one intra-frame coded screen (I frame) in order to enable random access. One GOP is composed of a sequence header and a GOP part. The GOP part includes a plurality of B and P frames including at least one I frame, and is usually grouped in about 0.5 seconds (15 frames). You.
[0018]
In the case of VBR, since the GOP size varies depending on the magnitude of the motion of the video, the bit rate is varied as shown by the solid line in FIG. As shown by the dotted line in FIG. 3, in the case of CBR, the maximum bit rate is fixedly set, and dummy data (padding data) is inserted in the low bit rate data to keep the GOP size constant.
[0019]
Referring back to FIG. 1 with reference to the above, the PTS /
[0020]
Hereinafter, an embodiment of the present invention will be described with reference to an example of a management table in FIGS.
(1) Start of Playback of Stored Data FIG. 4 shows an example of a control flow at the start of playback of stored data. FIG. 10 shows an example of a reproduction management table created first when reproduction of stored data is started.
[0021]
The
[0022]
Next, the PTS or DTS of the GOP in the video packet at the head of the file is captured, and the byte position thereof is also captured (S102). Furthermore, the PTS or DTS of the GOP in the second video packet from the head of the file is fetched, and its byte position is also fetched. One GOP time is calculated from the number of frames between these two GOPs, and this value (0.5 seconds in this example) is also stored in the special reproduction management table (S103).
[0023]
In general, in MPEG stored data regardless of CBR / VBR, the data amount for each GOP varies but the number of frames in one GOP is the same, so that the time unit for each GOP often does not change. Therefore, the time information of one GOP is also effective information for special reproduction. The above-mentioned maximum bit rate and one GOP time are stored as fixed values, and are not changed or updated thereafter.
[0024]
Finally, scanning is started from the return position of the maximum bit rate × α (the time for capturing the final GOP) from the end of the file, and the PTS or DTS of the last GOP of the video packet and its byte position are captured (S104). . From this information and the information of the first GOP obtained earlier, the total file reproduction time is calculated as follows (S105).
[0025]
Here, the maximum bit rate is Max_Bit_Rate, the first PTS (DTS) is First_PTS, the first byte position is First_Byte, the last PTS (DTS) is Last_PTS, the last byte position is Last_Byte, and the total playback time is Total_Time. Since the PTS (DTS) is a 33-bit cyclic counter in units of 90 KHz, the total playback time can be described by the following equation. Note that the following equation can also calculate a time exceeding a maximum of 26 hours that can be specified by 33 bits.
[0026]
[0027]
FIG. 10 shows an example in which the average bit rate (4 Mbps in this example) is calculated from the byte size (total number of bytes) of the file using the total playback time calculated by the above equation. From this, the GOP time and byte position of each of the first GOP and the last GOP, and the average bit rate between the first GOP and the last GOP are obtained. As described above, by acquiring the minimum information necessary for reproducing the file before the reproduction is started, the initial management table 7 for performing the special reproduction of the MPEG file is created (S106).
[0028]
According to the present invention, since the average bit rate of data is calculated only from the MPEG accumulated data, and only the beginning and the end of the accumulated file need to be searched, the search amount at the start of reproduction is small, and a conventional index file is created. Playback is started faster than such a system.
[0029]
(2) In the case of reproducing in the forward direction from the beginning FIG. 5 shows an example of a control flow at the time of reproducing in the forward direction. FIG. 11 shows an example of updating the management table 7 in forward reproduction.
[0030]
The
[0031]
In the example of FIG. 11, the second, third,..., Time for each GOP, the byte position for each GOP, and the time for each GOP calculated based on the information detected by the GOP detection unit 6 in the forward reproduction process. The average bit rate is inserted and stored between the first GOP and the last GOP.
[0032]
(3) When a seek instruction is issued at a time when the byte position of the GOP is not registered in the management table FIGS. 6 and 7 show an example of a control flow according to the seek instruction. 12 and 13 show an example of obtaining a seek byte position from the management table 7.
[0033]
In FIG. 6, normally, a seek instruction from the
PTS (DTS) = (First_PTS + instruction time (sec) / 90000) & 0x1FFFFFFFF
[0034]
As a result of the calculation, if the information of the byte position corresponding to the time to be sought already exists in the management table 7, the seek is directly performed to the byte position and the reproduction is started (S302, S306 and 307). The control flow after the start of the reproduction is as shown in FIG.
[0035]
On the other hand, as a result of the above calculation, when the information of the byte position corresponding to the time to be sought is not present in the management table 7, the time and the byte position of the GOP currently known before, after, or near the next calculated time are calculated. It is determined whether or not exists (S303). If not, seek should be performed by calculating the number of bytes calculated by multiplying the "average bit rate" of the corresponding space by the "difference between the indicated time and the GOP time" and the byte position of the GOP. The byte position is determined (S304).
[0036]
In the example of FIG. 12, when the average bit rate (2,666, 666 bps) of the corresponding space is used and the calculated seek time is 20 seconds, a GOP time (10 seconds) closer to the presently known value is obtained. And the byte position (7,500,100 bytes) is used to calculate the byte position to seek.
7500100 + (26666666 * (20-10) / 8)
[0037]
On the other hand, if the calculated seek time is 80 seconds, the byte position to be sought is determined as follows using the currently known GOP time (100 seconds) and the byte position (37,500,100 bytes). calculate.
37500100-(2666666 * (100-80) / 8)
[0038]
On the other hand, if the currently known GOP time and byte position exist before, after, or near the calculated time, the following points are further considered (S303 and 305). That is, in the case of VBR, encoded data of a high bit rate is obtained in the case of a scene change or a video with a lot of motion as shown in FIG.
[0039]
Therefore, the byte position of the GOP corresponding to the seek position is not registered in the management table 7 except before and after the change point of the movement, but the average bit rate of the micro GOP unit immediately before or immediately after the change point is managed. When registered in the table, seek accuracy is improved by using the average bit rate in GOP units immediately before or immediately after the change point, rather than using the average bit rate for search.
[0040]
In this case, the GOP corresponding to the seek position is found using the immediately preceding or following average bit rate instead of the average bit rate used in
7,833,432 + (266666 * 10/8)
[0041]
Since the closer average bit rate is more accurate than the overall average bit rate, an accurate random accessible point is calculated using this average bit rate, thereby reducing the amount of search for stored data, and Special reproduction is realized.
[0042]
Such a seek can be performed in reverse playback (MPEG can only decode in the forward direction, so decoding is performed for one GOP before one GOP, and the video is displayed in reverse order), high-speed playback (there is no need to decode all frames for fast-forwarding). For example, it is necessary to search in units of one GOP such as, for example, decoding and displaying only the I frame of each GOP) or high-speed reverse reproduction (similarly to fast reverse, decoding and displaying only the I frame of each GOP). Effective for things. In this case, the time obtained in GOP unit at the time of starting the reproduction can be used.
[0043]
Thereafter, the stored data is searched from the corresponding byte position in the forward direction (S308 and 309). When the PTS (DTS) of the video packet is found, if the found PTS (DTS) is before the PTS (DTS) to be sought and is within the reference range of the PTS (DTS) to be sought, it is stored as it is. A GOP is searched by searching data in the forward direction (S310 to 313). In other cases, the byte position to be sought again is calculated from the time difference between the found PTS (DTS) and the PTS (DTS) to be sought and the average bit rate (S316).
[0044]
When the GOP is found, the preceding and succeeding bit rates are calculated from the time of the GOP and the byte position of the stored data of the GOP, and the management table 7 is updated with these pieces of information, and then the reproduction is started (S313 to 315). In this way, the search of the byte position corresponding to the seek and the update of the management table 7 are performed.
[0045]
As is clear from the processes (1) to (3) described above, according to the present invention, the average bit rate calculated in the process (1) is first corrected sequentially by the processes (2) and (3). Go. As a result, more accurate random access points can be calculated as the reproduction progresses, and the amount of search for the stored data can be reduced. As a result, high-speed special reproduction of arbitrary MPEG stored data is realized.
[0046]
(4) Integration of Management Table FIG. 8 shows an example of a control flow for integrating the management table 7. FIG. 14 shows an example of integration of the management table 7.
[0047]
If the detected data for each GOP is sequentially stored in the management table 7, an enormous table is required for a long-time accumulated file. Therefore, in FIG. 6, when the bit rates between adjacent GOPs are the same, the area of the management table 7 is reduced by integrating the plurality of GOPs into one (S401 and 402). A plurality of GOPs can be integrated as long as the bit rates are not exactly the same but are close to each other.
[0048]
FIG. 14 shows an example in which a GOP time of 10 seconds and a GOP time of 10.5 seconds having the same average bit rate (2,666,666 bps) are integrated and data of the GOP time of 10.5 seconds is deleted. ing. Among them, the deleted data of the GOP time of 10.5 seconds can be accurately calculated from the above-mentioned formula.
[0049]
(5) Search in GOP Unit FIG. 9 shows an example of a control flow for converting a time instructed to seek into a GOP unit.
In FIG. 9, when the seek instruction time described in (3) does not coincide with the GOP unit time, the GOP unit time closest to the seek instruction time is obtained (S501 and 502). As described above, if the search for the byte position in GOP units is performed, the amount of accumulated data scanned from the search byte position can be reduced.
[0050]
【The invention's effect】
As described above, according to the present invention, a point of a GOP for performing special reproduction can be set at a high speed and within the stored data without using any external information such as index information or an index file. The search amount is small and accurate.
[0051]
More specifically, since the average bit rate of data is calculated only from the MPEG stored data and only the beginning and end of the stored file are searched, the amount of search at the start of reproduction is small, and an index file is created. Playback can be started faster than the system.
[0052]
Also, by sequentially correcting the average bit rate created before the start of playback in the course of playback, more accurate random access points can be calculated as playback progresses, thereby reducing the amount of search for stored data. And high-speed special reproduction can be realized.
[0053]
Further, since the average bit rate in the vicinity is more accurate than the average bit rate of the whole, more accurate random access points can be calculated by using the average bit rate, and the search amount of the stored data is reduced. High-speed special reproduction can be realized.
[0054]
The present invention is applicable not only to the case where the storage file is VBR, but also to the case where the storage file is CBR. In the case of CBR, the average bit rate on the management table is the same between the GOPs, so that the operation on the management table is only redundant, and can be applied without being aware of the structure of the CBR or VBR storage file.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of an MPEG data reproducing apparatus according to the present invention.
FIG. 2 is a diagram showing an example of an MPEG data format.
FIG. 3 is a diagram showing a relationship between video data and a bit rate in VBR.
FIG. 4 is a diagram showing an example of a control flow at the start of reproduction of stored data.
FIG. 5 is a diagram showing an example of a control flow at the time of forward reproduction.
FIG. 6 is a diagram illustrating an example (1) of a control flow according to a seek instruction;
FIG. 7 is a diagram illustrating an example (2) of a control flow according to a seek instruction;
FIG. 8 is a diagram illustrating an example of a control flow for integrating management tables.
FIG. 9 is a diagram illustrating an example of a control flow for converting a seek instruction time into GOP units.
FIG. 10 is a diagram showing an example of a management table created at the start of reproduction.
FIG. 11 is a diagram showing an example of updating a management table in forward reproduction.
FIG. 12 is a diagram illustrating an example (1) of obtaining a seek byte position from a management table;
FIG. 13 is a diagram showing an example (2) of obtaining a seek byte position from a management table.
FIG. 14 is a diagram showing an example of integration of management tables.
[Explanation of symbols]
DESCRIPTION OF
Claims (5)
前記動画データの先頭のランダムアクセス可能な画像グループと最終の前記画像グループの時間情報及び位置情報を検出して保存し、さらに隣接する前記画像グループ間のフレーム数により前記画像グループ単位時間を算出して前記テーブルに保存すること、
前記テーブルに保存された平均ビットレート、前記画像グループの時間情報及び位置情報、及び前記画像グループ単位時間をもとにアクセスすべきポイントを算出すること、
前記算出されたアクセスすべきポイント以降から再生を開始すると共に、その再生過程で検出した前記画像グループの時間情報及び位置情報、及びそれらの情報をもとに算出した各画像グループ間の平均ビットレートを、前記テーブルに保存していくこと、を特徴とする動画データの再生方法。Storing the average bit rate calculated from the start and end time information of the accumulated video data in a table,
Detect and save time information and position information of the first randomly accessible image group and the last image group of the moving image data, and calculate the image group unit time based on the number of frames between adjacent image groups. To store in the table,
Calculating an average bit rate stored in the table, time information and position information of the image group, and points to be accessed based on the image group unit time;
Playback is started after the calculated point to be accessed, and the time information and position information of the image groups detected in the playback process, and the average bit rate between each image group calculated based on the information. Is stored in the table.
前記動画データの先頭及び最終の時間情報を抽出して検索用の平均ビットレートを算出する手段と、
前記検索用の平均ビットレートを用いて算出したアクセスポイントから再生を開始する手段と、
前記再生の過程で検出した前記動画データの所定の再生情報を保存していく手段と、
前記保存された再生済み部分の再生情報によって前記検索用の平均ビットレートを修正する手段と、
を有することを特徴とする動画データの再生装置。A video data playback device that plays back the stored video data,
Means for extracting the top and last time information of the video data and calculating an average bit rate for search;
Means for starting playback from an access point calculated using the average bit rate for the search,
Means for storing predetermined reproduction information of the moving image data detected in the reproduction process,
Means for correcting the average bit rate for the search by the stored reproduction information of the reproduced portion,
An apparatus for reproducing moving image data, comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002255686A JP4145103B2 (en) | 2002-08-30 | 2002-08-30 | Movie data playback method and playback apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002255686A JP4145103B2 (en) | 2002-08-30 | 2002-08-30 | Movie data playback method and playback apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004096474A true JP2004096474A (en) | 2004-03-25 |
| JP4145103B2 JP4145103B2 (en) | 2008-09-03 |
Family
ID=32061147
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002255686A Expired - Fee Related JP4145103B2 (en) | 2002-08-30 | 2002-08-30 | Movie data playback method and playback apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4145103B2 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008092126A (en) * | 2006-09-29 | 2008-04-17 | Sharp Corp | Image encoding device, image decoding device, image encoding program, image decoding program, image encoding method, and image decoding method |
| JP2009077376A (en) * | 2007-08-30 | 2009-04-09 | Canon Inc | REPRODUCTION DEVICE AND REPRODUCTION DEVICE CONTROL METHOD |
| JP2009118179A (en) * | 2007-11-06 | 2009-05-28 | Panasonic Corp | Electronics |
| US7773476B2 (en) | 2005-02-24 | 2010-08-10 | Kabushiki Kaisha Toshiba | Apparatus for reproducing encoded data |
| JP2011044995A (en) * | 2009-08-24 | 2011-03-03 | Hitachi Ltd | Locating system |
-
2002
- 2002-08-30 JP JP2002255686A patent/JP4145103B2/en not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7773476B2 (en) | 2005-02-24 | 2010-08-10 | Kabushiki Kaisha Toshiba | Apparatus for reproducing encoded data |
| JP2008092126A (en) * | 2006-09-29 | 2008-04-17 | Sharp Corp | Image encoding device, image decoding device, image encoding program, image decoding program, image encoding method, and image decoding method |
| JP2009077376A (en) * | 2007-08-30 | 2009-04-09 | Canon Inc | REPRODUCTION DEVICE AND REPRODUCTION DEVICE CONTROL METHOD |
| JP2009118179A (en) * | 2007-11-06 | 2009-05-28 | Panasonic Corp | Electronics |
| JP2011044995A (en) * | 2009-08-24 | 2011-03-03 | Hitachi Ltd | Locating system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4145103B2 (en) | 2008-09-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3351757B2 (en) | Digital recording and playback device | |
| US7302169B2 (en) | Method and apparatus for playing-back moving image data | |
| US5768466A (en) | Method of and apparatus for reverse playback of a time-division -multiplexed signal | |
| US8879896B2 (en) | Method and apparatus to facilitate the efficient implementation of trick modes in a personal video recording system | |
| US8400513B2 (en) | Data processing apparatus, data processing method, and data processing program | |
| JPH09121322A (en) | Bit stream processing method, video reproducing method, data packet recording method, trick play data recording method, and video reproducing apparatus | |
| JP2003046949A (en) | Data multiplexing method, data recording medium, data recording device, and data recording program | |
| EP1914987B1 (en) | Recording medium, reproduction device, and reproduction method for performing high-speed trick reproduction | |
| KR101164670B1 (en) | Method and apparatus for storage or relocation of defined positions in a data stream | |
| CN102065320B (en) | Method and equipment for processing trick playing command related to transport stream (TS) code stream | |
| US7343088B2 (en) | Disc apparatus, disc recording method, disc playback method, recording medium, and program | |
| JP2001204032A (en) | Mpeg decoder | |
| JP4145103B2 (en) | Movie data playback method and playback apparatus | |
| JPH1079918A (en) | Image information decoding and reproducing apparatus and image information decoding and reproducing method | |
| JPH11261963A (en) | Moving image recording / reproducing method and moving image recording / reproducing apparatus | |
| JP2003289495A (en) | Moving image processing device | |
| CN100474914C (en) | Method and apparatus for controlling a bit rate of digital video data | |
| KR20070049504A (en) | Digital content playback device and its reverse content storage and playback method | |
| JP2003339019A (en) | Recording / reproducing apparatus and recording / reproducing method | |
| JP3523493B2 (en) | Method and apparatus for multiplexing highly efficient encoded data | |
| JP3907589B2 (en) | Data creation device, data reproduction device | |
| JP3787290B2 (en) | Index management method | |
| JP2006245744A (en) | Video signal recording apparatus, information recording medium, and video signal reproducing apparatus | |
| JP2001268513A (en) | Moving image reproducing device and moving image recording/reproducing system | |
| US20080145021A1 (en) | Apparatus for video recording and reproducing, and method for trick play of video |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050324 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070621 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070827 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071225 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080226 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080422 |
|
| 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: 20080520 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080617 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130627 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140627 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |