(57)【特許請求の範囲】
【請求項１】
デジタル放送の再生出力を視聴したユーザが録画操作を行った際、デジタル放送により送信される複数パケットを記録媒体に書き込む記録装置であって、
前記再生出力には、パケットのグループを再生バッファに蓄積し(i)、パケットグループをビデオフレームに変換する(ii)ためのバッファリングディレイがあり、
前記パケットグループと、その前後に受信されたパケットグループとが格納されている録画バッファと、
前記パケットグループをコピーして録画バッファに格納するコピー手段と、
録画バッファに格納されたパケットのグループを、ユーザの録画操作に応じて記録媒体に書き込み、以降後続するパケットを記録媒体に書き込む録画手段と、
録画バッファ上における各パケットグループのアドレスを、各パケットグループが対応しているビデオフレームの表示開始時刻と関連付けて示すバッファ管理テーブルとを備え、
ユーザが録画操作を行った際、
前記録画手段は、再生出力されているビデオフレームの表示時刻を取得し、取得したビデオフレームの表示時刻と前記バッファ管理テーブルの各パケットグループが対応しているビデオフレームの表示開始時刻とを比較し、取得した表示時刻より先の表示開始時刻を有していて取得した表示時刻に最も近い表示開始時刻に対応しているパケットグループのアドレスを取得し、取得したパケットグループのアドレスに基づいて前記録画バッファに格納されているパケットグループを記録媒体に書き込む
ことを特徴とする記録装置。
【請求項２】
前記録画バッファがフルになった場合、
コピー手段は、録画バッファにおける最も古いパケットのグループを、その新たなパケットグループを用いて上書きする
ことを特徴とする請求項１記載の記録装置。
【請求項３】
前記ビデオフレームは、他のビデオフレームを用いてフレーム間符号化されている
ことを特徴とする請求項２記載の記録装置。
【請求項４】
前記フレーム間符号化されたビデオフレームは、
前のパケットグループに対応するビデオフレームと依存関係を有しており、  前記録画手段は、
前記ビデオフレームを含むパケットグループの前後に位置するパケットグループを録画バッファから読み出し、記録媒体に書き込む
ことを特徴とする請求項３記載の記録装置。
【請求項５】
デジタル放送の再生出力を視聴したユーザが録画操作を行った際、デジタル放送により送信される複数パケットを記録媒体に書き込む処理を、再生バッファ及び録画バッファを有したコンピュータに行わせるコンピュータ読取可能なプログラムであって、
前記再生出力には、パケットのグループを再生バッファに蓄積し(i)、パケットグループをビデオフレームに変換する(ii)ためのバッファリングディレイがあり、
前記録画バッファには、前記パケットグループと、その前後に受信されたパケットグループとが格納されており、
前記パケットグループをコピーして録画バッファに格納するコピーステップと、
録画バッファに格納されたパケットのグループを、ユーザの録画操作に応じて記録媒体に書き込み、以降後続するパケットを記録媒体に書き込むことで録画処理を実施する録画ステップと
バッファ管理テーブルを生成する生成ステップとをコンピュータに行わせ、
前記バッファ管理テーブルは、録画バッファ上における各パケットグループのアドレスを、各パケットグループが対応しているビデオフレームの表示開始時刻と関連付けて示し、
ユーザが録画操作を行った際、
前記録画ステップは、再生出力されているビデオフレームの表示時刻を取得し、取得したビデオフレームの表示時刻と前記バッファ管理テーブルの各パケットグループが対応しているビデオフレームの表示開始時刻とを比較し、取得した表示時刻より先の表示開始時刻を有していて取得した表示時刻に最も近い表示開始時刻に対応しているパケットグループのアドレスを取得し、取得したパケットグループのアドレスに基づいて前記録画バッファに格納されているパケットグループを記録媒体に書き込む
ことを特徴とするコンピュータ読取可能なプログラム。
【請求項６】
前記コピーステップは、
前記録画バッファがフルになった場合、録画バッファにおける最も古いパケットのグループを、その新たなパケットグループを用いて上書きする
ことを特徴とする請求項５記載のコンピュータ読取可能なプログラム。
【請求項７】
前記ビデオフレームは、他のビデオフレームを用いてフレーム間符号化されている
ことを特徴とする請求項６記載のコンピュータ読取可能なプログラム。
【請求項８】
前記フレーム間符号化されたビデオフレームは、
前後のパケットグループに対応するビデオフレームと依存関係を有しており、
前記録画ステップは、
前記ビデオフレームを含むパケットグループの前後に位置するパケットグループを録画バッファから読み出し、記録媒体に書き込む
ことを特徴とする請求項７記載のコンピュータ読取可能なプログラム。
【請求項９】
デジタル放送の再生出力を視聴したユーザが録画操作を行った際、デジタル放送により送信される複数パケットを記録媒体に書き込む処理を、再生バッファ及び録画バッファを有したコンピュータに行わせる記録方法であって、
前記再生出力には、パケットのグループを再生バッファに蓄積し(i)、パケットグループをビデオフレームに変換する(ii)ためのバッファリングディレイがあり、
前記録画バッファには、前記パケットグループと、その前後に受信されたパケットグループとが格納されており、
前記パケットグループをコピーして録画バッファに格納するコピーステップと、  録画バッファに格納されたパケットのグループを、ユーザの録画操作に応じて記録媒体に書き込み、以降後続するパケットを記録媒体に書き込むことで録画処理を実施する録画ステップと
バッファ管理テーブルを生成する生成ステップとを行い、
前記バッファ管理テーブルは、録画バッファ上における各パケットグループのアドレスを、各パケットグループが対応しているビデオフレームの表示開始時刻と関連付けて示し、
ユーザが録画操作を行った際、
前記録画ステップは、再生出力されているビデオフレームの表示時刻を取得し、取得したビデオフレームの表示時刻と前記バッファ管理テーブルの各パケットグループが対応しているビデオフレームの表示開始時刻とを比較し、取得した表示時刻より先の表示開始時刻を有していて取得した表示時刻に最も近い表示開始時刻に対応しているパケットグループのアドレスを取得し、取得したパケットグループのアドレスに基づいて前記録画バッファに格納されているパケットグループを記録媒体に書き込む
ことを特徴とする記録方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル方式にて放送されたデータを、圧縮符号化された状態のまま、HDD,DVDといったランダムアクセス可能な記録媒体に書き込む記録装置や、この記録装置の機能を実現するコンピュータ読取可能なプログラム、記録方法に関し、特にユーザのマニュアル操作をトリガとして、データ書き込みを行う場合の改良に関する。
【０００２】
【従来の技術】
近年のTV放送はアナログ方式のものからデジタル方式のものへの移行期を迎えている。この移行期にあたって記録装置も、デジタル放送を対象としたモデルが主流になりつつある。デジタル放送においてTV番組を構成する動画は圧縮符号化された状態のまま伝送路を伝送する。圧縮符号化された状態の動画はトランスポートストリーム(TS)パケットの形態をとる。デジタル放送対応モデルの記録装置は、このTSパケットの形態のまま、動画を記録媒体に書き込む。復号化や符号化に伴う量子化ロスが一切存在しないので、かかる記録装置は高画質・高音質のままTV番組を記録媒体に記録しておくことができる。しかし、かかる装置によるデジタル放送の再生は、アナログ方式のものと大きく異なる特性をもつ。その特性とは、現在受信中のビデオフレームより、時間的に遅れたビデオフレームが再生されるという特性である。
【０００３】
受信中のビデオフレームと、再生中のビデオフレームとの時間差は、記録装置内でのバッファリングディレイに起因する。デジタル放送の再生システムでは、フレームデータを得るために、約1秒近くの時間帯に対応するTSパケットをため込まねばならない。フレームデータを得るためにバッファリングが必要なので、バッファリングディレイが大きい。
【０００４】
尚、アナログ方式で放送された動画を記録媒体に記録する技術には、以下の特許文献1,2に開示されたものが知られている。
【０００５】
【特許文献１】
特許3028517号公報
【０００６】
【特許文献２】
特許3069324号公報
【０００７】
【発明が解決しようとする課題】
ところでバッファリングディレイに起因するフレーム間の時間差は、ユーザによるマニュアル録画に悪影響を及ぼす。マニュアル録画とは、ユーザによる録画操作をトリガーとして、受信中のデータを録画する処理である。マニュアル録画は、ビデオフレームの再生出力時になされるので、ユーザは現在再生されているビデオフレームから録画したいとの内面的意思をもって録画操作を行う。ところが、先程述べたように、フレーム間の時間差がある。ユーザが再生中にビデオフレームを見て録画操作を行ったとしても、その再生中のビデオフレームは受信中フレームよりかなり遅れたものなので、既に記録装置に到達している。再生中のビデオフレームは既に存在しないので、マニュアル録画で録画される動画は、始めの複数フレームが欠落したものとなる。「たかが数フレームの欠落ではないか」とする楽観論もあるが、アナログ放送対応モデルとの性能比較を考えると、そのような悠長なことはいってられない。つまりアナログ放送対応モデルの記録装置では再生中ビデオフレームと、受信中ビデオフレームとがほぼ一致しており、マニュアル録画時に先頭の映像が欠落することは全くない。アナログ放送対応モデルでできることが、最新のデジタル放送対応モデルでできないというのは、「デジタル放送対応モデルは機能的に劣る」との風評が生まれる土壌になり、買換え需要を見込むメーカの商品戦略に暗い影を落とす。
【０００８】
本発明の目的は、バッファリングディレイが大きくとも、マニュアル録画時におけるフレームデータの欠落を避けることができる記録装置を提供することである。
【０００９】
【課題を解決するための手段】
上記課題を解決するため、本発明にかかる記録装置は、デジタル放送の再生出力を視聴したユーザが録画操作を行った際、デジタル放送により送信される複数パケットを記録媒体に書き込む記録装置であって、前記再生出力には、パケットのグループを再生バッファに蓄積し(i)、パケットグループをビデオフレームに変換する(ii)ためのバッファリングディレイがあり、前記パケットグループと、その前後に受信されたパケットグループとが格納されている録画バッファと、前記パケットグループをコピーして録画バッファに格納するコピー手段と、録画バッファに格納されたパケットのグループを、ユーザの録画操作に応じて記録媒体に書き込み、以降後続するパケットを記録媒体に書き込む録画手段と、録画バッファ上における各パケットグループのアドレスを、各パケットグループが対応しているビデオフレームの表示開始時刻と関連付けて示すバッファ管理テーブルとを備え、ユーザが録画操作を行った際、前記録画手段は、再生出力されているビデオフレームの表示時刻を取得し、取得したビデオフレームの表示時刻と前記バッファ管理テーブルの各パケットグループが対応しているビデオフレームの表示開始時刻とを比較し、取得した表示時刻より先の表示開始時刻を有していて取得した表示時刻に最も近い表示開始時刻に対応しているパケットグループのアドレスを取得し、取得したパケットグループのアドレスに基づいて前記録画バッファに格納されているパケットグループを記録媒体に書き込むことを特徴としている。
【００１０】
【発明の実施の形態】
以降、本発明に係る記録装置の実施形態について説明する。先ず始めに、本発明に係る記録装置の実施行為のうち、使用行為についての形態を説明する。本発明に係る記録装置は、テレビと、リモコンと共にホームサーバシステムを形成するものであり、当該記録装置は、テレビに表示されるべき放送のマニュアル録画を行うという用途に供される。
【００１１】
本実施形態において録画の対象となるのは、デジタルTV放送である。デジタルTV放送におけるビデオフレームは約33msec（正確には1/29.97sec）の時間長を有する。またこのビデオフレームで表示されるデータをフレームデータという。
デジタルTV放送におけるフレームデータは、一枚の画像を表示するピクチャデータを意味する。このピクチャデータには、過去方向および未来方向に再生されるべき画像との相関性を用いてフレーム間圧縮符号化がなされているBidirectionally Predictive(B)ピクチャ、過去方向に再生されるべき画像との相関性を用いてフレーム間圧縮符号化がされているPredictive(P)ピクチャ、相関性を用いず、一フレーム分の画像内での空間周波数特性を利用してフレーム内圧縮符号化がなされているIntra(I)ピクチャといった種別がある。TV放送において復号可能な最小単位をGOP(Group Of Picture)という。GOPは少なくとも1つのIピクチャを含み、約0.5秒〜1.0秒の再生時間を有する。
【００１２】
続いて本発明に係る記録装置の実施行為のうち、生産行為についての形態について説明する。本発明に係る記録装置は、図１に示す内部構成に基づき工業的に生産することができる。図１に示すように、記録装置は、HDD１、GOP管理テーブル２、再生区間情報３、デジタルチューナ４、TSデコーダ５、AVデコーダ６、再生バッファ７、録画バッファ８、バッファ管理テーブル９、ユーザインターフェイス部１０、システム制御部１１から構成される。
【００１３】
HDドライブ１は、ランダムアクセス可能な記録媒体であり、ストリームファイルが記録される。ストリームファイルは、放送されたフルトランスポートストリームに含まれる複数TSパケットのうち、TSデコーダ５により抜き出されたTSパケットのみを格納したファイルである。
GOP管理テーブル２は、ストリームファイルにおける各GOPについての情報(レコード)からなる。GOP管理テーブルにおけるレコードは、ストリームファイル先頭から各GOPまでのOFFSETと、GOPのサイズと、そのGOPの先頭PTSとからなり、飛び込み再生や特殊再生を行う場合に利用される。
【００１４】
再生区間情報３は、再生開始時刻、再生終了時刻の組みにより、ストリームファイル上の再生区間を特定する情報である。ストリームファイルには、複数GOPに相当するTSパケットが格納されるのに対し、再生区間情報３における再生開始時刻、再生終了時刻は、ビデオフレーム（1/29.97sec）の時間精度でストリームファイル上の再生区間を指定する。
【００１５】
デジタルチューナ４は放送局から送信されるデジタル信号を受信してフルトランスポートストリームを出力する。
TSデコーダ５は、デジタルチューナ４から出力されたフルトランスポートストリームをパーシャル化する。パーシャル化とは、フルトランスポートストリームに多重化されている複数のTSパケットのうち、外部から指定されたPIDを有するもののみを抜き出すことであり『多重分離』とも呼ばれる。この抜き出し作業は、TSデコーダ５がPIDの指定をシステム制御部１１から受け付け、フルトランスポートストリームを構成するTSパケットのうち、その指定されたPIDを有するTSパケットのみを再生バッファ７に書き込むことでなされる。書込先となるバッファは、再生バッファ７、録画バッファ８の2つである。再生バッファ７だけでなく、録画バッファ８にもTSパケットを書き込むのは、フレームデータにデコードされるべき複数TSパケットを、録画バッファ８にコピーしておく意図がある。TSデコーダ５からの出力速度は早いので、1つのTSパケットを双方のバッファに書き込むことも容易である。パーシャル化の他にTSデコーダ５は、GOPの検出機能をもつ。
【００１６】
GOP検出機能とは、パーシャル化で得られたTSパケットから、GOPの先頭になるものを検出する機能である。GOPの検出は、TSパケットの適用フィールドからランダムアクセスインディケータを検出することでなされる。適用フィールドとは、ビデオストリームのシステム層についての情報が記述されるフィールドであり、ランダムアクセスインディケータとは、TSパケットのペイロード部に、ビデオストリームのアクセスポイントの先頭フレームが格納されているか否かを示す。アクセスポイントとは、ストリーム内部であって、単独にデコードすることができる単位であり、ランダムアクセスインディケータによりGOPの先頭フレーム(Iピクチャ)が存在するか否かが示される。このランダムアクセスインディケータの検出により、どのTSパケットからどのTSパケットまでが1つのGOPを構成するかを知得することができる。この検出によりどのTSパケットからどのTSパケットまでが1つのGOPになるかが判明する。このGOP検出機能は、TSデコーダの一般的な機能ではなく、本実施形態のために追加された機能である。これにより、TSパケットの状態において、各GOPがどれだけのサイズをなすかを算出することができる。
【００１７】
AVデコーダ６は、TSデコーダ５のパーシャル化で得られた複数TSパケットをオーディオデータ、フレームデータに分離するシステムデコーダ(1)、分離されたオーディオデータをデコードするオーディオデコーダ(2)、TSパケットの形態において、圧縮符号化された状態にあるフレームデータをデコードして伸長するビデオデコーダ(3)、伸長されたフレームデータを、表示順序に並べ替えるため、２フレーム分のフレームデータを格納しておくための内部バッファ(4)を備える。このビデオデコーダ及びオーディオデコーダによるデコード結果は、記録装置と接続されたモニタに送られる。AVデコーダ６へのTSストリームの送り込みは、この内部バッファがアンダーフローしないようになされる。基本的に放送局側はAVデコーダ６の内部バッファがアンダーフローしないようにTSパケットを送信している。そのため、AVデコーダ６でのアンダーフローは、送信経路での障害発生など、異常時以外には起こり得ない。
【００１８】
再生バッファ７は、デュアルポートタイプのFIFOメモリであり、TSデコーダ５と、AVデコーダ６との間に介在する。再生バッファ７には、TSデコーダ５のパーシャル化で得られたTSパケットが、複数蓄積される。フレームデータの単位に換算すると、再生バッファ７に格納されるTSパケットは、1GOPを構成するフレームデータである。この再生バッファ７が介在しているため、AVデコーダ６は圧縮符号化された状態のGOPを取得することができる。TSデコーダ５とAVデコーダ６との間に再生バッファ７が存在しており、またAVデコーダ６の内部にも内部メモリが存在するので、記録装置におけるバッファリングディレイは大きなものになっている。図２は、AVデコーダ６、再生バッファ７によるバッファリングディレイを模式化して描いた図である。図２において、時刻xx:yyという表記の数値は、xx秒のyyフレームを意味する(図２の一例では、1秒当たりのフレーム数を30枚に近似している)。図２においてAVデコーダ６の内部メモリには、3つのフレームデータ(時刻05:01〜05:03のもの)がバッファリングされており、GOPのうち残りのフレーム(時刻05:04〜05:30のもの)は、再生バッファ７にバッファリングされているから、TSデコーダ５とモニタとの間には約1秒のバッファリングディレイが生じている。
【００１９】
録画バッファ８は、D-RAM,SD-RAM,RD-RAMであり、リングバッファとして用いられる。どのようなリングバッファかというと、数秒前に受信されたTSパケットから、現在受信中のTSパケットまでを格納しているリングバッファであり、TSパケットの整数倍のサイズを有する。録画バッファ８に格納される複数TSパケットは、複数のGOPを構成する。リングバッファなので、録画バッファ８がTSパケットで一杯になった場合、そこに存在する最も古いTSパケットが新しいTSパケットで上書きされることになる。このように制御することで、録画バッファ８上には常に新しいTSパケットが一時的に蓄積されている状態となる。AVデコーダ６で時刻05:01のフレームデータがデコードされており、TSデコーダ５で時刻06:04のフレームデータを受信中である場合に、録画バッファ８にどのようなTSパケットが格納されるかを図３に示す。図３に示すように、録画バッファ８には、時刻05:01から時刻05:30までのフレームデータを構成するTSパケット(これらはGOP#K+1を構成する)が蓄積される。そればかりでなく、時刻06:01から時刻06:02までのフレームデータ(これらはGOP#K+2を構成する)、時刻04:01から時刻04:30までのフレームデータ(これらはGOP#Kを構成する)も録画バッファ８に格納される。
【００２０】
バッファ管理テーブル９は、録画バッファ８上のフレームデータが属するGOPについて、GOPの最小PTS、録画バッファ８上の先頭アドレス(バッファ上アドレス)を示す情報でありシステム制御部１１により生成される。このバッファ管理テーブルにより、バッファ上アドレスがPTSに対応づけられているので、PTSからGOPのバッファ上アドレスを検索するという検索処理が可能となり、この検索により、現在再生中のビデオフレームに対応するGOPを読み出すことができる。録画バッファ８に、GOPという、3つのGOP#K,#K+1,#K+2が格納されている場合に、どのようなバッファ管理テーブル９が生成されるかを図３に示す。図３のバッファ管理テーブル９には、GOP#K,#K+1,#K+2の最小PTS(04:01,05:01,06:01)と、バッファ上アドレス(adr1,adr2,adr3)とが対応づけられて記されている。
【００２１】
ユーザインターフェイス部１０は、通常のVTRと互換性のあるユーザインターフェイスであり、ユーザの選択操作、録画操作、再生操作、停止操作を受け付ける。これらの操作は、旧来のVTR同様、リモコンやフロントパネルに対するキー押下で受け付けられる。上述した録画バッファ８からHDDへの書き込みは、この通常のVTRと同じインターフェイスにおいて、録画操作が命じられた際になされる。
【００２２】
システム制御部１１は、CPU,ROM,RAMからなる汎用のマイコンシステムであり、ROMに格納されたプログラムをCPUが実行することにより、AVデコーダ６に対する再生制御やHDD１への書込制御を実現する。書込制御において、システム制御部１１は、AVデコーダに現在の表示時刻を問合せて、録画バッファ８におけるTSパケットにより構成されるフレームデータのうち、現在表示時刻に合致するものを探索し、探索されたフレームデータ以降のフレームデータを、圧縮符号化されたTSパケットの状態のままHDDに書き込む。図４は、AVデコーダ６で時刻05:01のフレームデータがデコードされており、TSデコーダ５で時刻06:04のデータを受信中である場合に、HDDにどのようなフレームデータが書き込まれるかを示す図である。図４に示すように、録画バッファ８には、時刻05:01から時刻05:30までのフレームデータを構成するTSパケットが蓄積されている。このうち現在再生中の時刻05:01のフレームデータがGOP#K+1の先頭であるとすると、時刻05:01以降のフレームデータを録画バッファ８から読み出し、矢印yf1に示すようにHDDに書き込むことができる。
【００２３】
以上が記録装置の内部構成である。続いて、フローチャートを参照しながら、TSデコーダ５、システム制御部１１の処理手順について説明する。
図５は、TSデコーダ５の処理手順を示すフローチャートである。本フローチャートは、TSパケットの受信というイベントの発生を待つイベント待ちループを形成しており(ステップＳ１)、TSパケットが受信されれば、ステップＳ２〜ステップＳ９という一連の処理を行ってステップＳ１に戻る。
【００２４】
ステップＳ２〜ステップＳ９は、ステップＳ２〜ステップＳ４の処理を経て、再生バッファの書込先アドレス以降にTSパケットを書き込み(ステップＳ５)、録画バッファ８の書込先アドレス以降にTSパケットを書き込む(ステップＳ６)というものである。
ステップＳ２は、受信したTSパケットのPIDが、システム制御部１１から指示されたPIDであるかの判定であり、もし指示されたPIDを有していなければステップＳ１に戻る。
【００２５】
ステップＳ３は、TSパケットのヘッダにランダムアクセスインディケータが有るかどうかの判定であり、もしランダムアクセスインディケータを検出すれば、ステップＳ４においてTSパケットのアドレス、PTSをシステム制御部１１に通知してステップＳ５に移行する。
ステップＳ７、ステップＳ８は何れも、書込先アドレスの更新である。何れで更新を行うかは、ステップＳ９で規定される。ステップＳ９は、書込先アドレスとTSパケットのサイズとの和が、録画バッファ８の終了アドレス以上か否かの判定であり、否であれば、現在の書込先アドレスにTSパケットのサイズを足し合わせることで書込先アドレスを更新する(ステップＳ７)。以上であれば書込先アドレスを録画バッファ８の開始アドレスに設定する(ステップＳ８)。このような更新で、録画バッファ８における古いTSパケットから上書きされることになる。そのため録画バッファ８はリングバッファとして機能する。尚、書込先アドレスを録画バッファ８の開始アドレスに更新するのは、本実施形態において録画バッファ８のサイズは、TSパケットサイズの整数倍であることを前提にしているからである。録画バッファ８のサイズが、TSパケットサイズの非整数倍であるなら、TSパケットを先端部分と、後端部分とに分割して、先端部分を書込先アドレスから終了アドレスまでに書き込み、後端部分を開始アドレス以降に書き込むことになる。以上がTSデコーダ５の処理手順である。
【００２６】
システム制御部１１の処理手順は、TSデコーダ５がこのような処理を行うことを前提にして構成されている。図６、図７は、システム制御部１１の処理手順を示すフローチャートである。システム制御部１１は、本フローチャートの処理手順をコンピュータ記述言語で記述し、CPUに読み取らせることで実現される。
ステップＳ１１〜ステップＳ１５は、TSデコーダ５にPIDを設定するまでの一連の手順を示す。このPID設定は、ユーザによる選局要求の受け付けを待ち(ステップＳ１１)、選局要求があれば、選局されたチャネルを受信するよう、デジタルチューナを制御して(ステップＳ１２)、PAT/PMTの検出待ちとなり(ステップＳ１３)、これらが検出されれば、PAT/PMTを解析してPIDを取得した上で、なされる(ステップＳ１４)。そのPIDをもつTSパケットを抜き出すよう、TSデコーダを設定すれば(ステップＳ１５)、以降は、ステップＳ１６〜ステップＳ１７からなるループ処理に移行する。このループ処理は、録画キーが押下されたか(ステップＳ１６)、GOPの最小PTS、書込先バッファ上のアドレスをTSデコーダ５が取得したか(ステップＳ１７)を待つイベント待ちループであり、PTS、録画バッファ８上のアドレスが通知されれば(ステップＳ１７でYes)、これらをバッファ管理テーブル９に追記し(ステップＳ１８)、再生バッファ７におけるREAD POINTER以降のGOPをAVデコーダに読み出させて再生させ(ステップＳ１９)、再生バッファ７上のREAD POINTERを更新した上で(ステップＳ２０)、ステップＳ１６〜ステップＳ１７のループ処理に戻る。以上のステップＳ１６〜ステップＳ２０により、順次再生映像が表示されるので、ユーザは再生映像を視聴することができる。
【００２７】
録画キーが押下されれば、HDDへのGOP書き込みを実行する。ステップＳ２１〜ステップＳ２４は、この書き込みに先立ち、実行される処理であり、ストリームファイルに書き込むべきGOP(GOPi)を特定するものである。このGOPiの特定は、AVデコーダに現在の表示時刻を問合せて(ステップＳ２１)、現在の表示時刻の取得し(ステップＳ２２)、バッファ管理テーブル９における複数PTSのうち、録画バッファに格納されている複数GOPのうち、取得した表示時刻より早く、取得した表示時刻に最も近いPTSを有するGOPを取得して(ステップＳ２３)、取得したPTSのGOPをGOPiとする(ステップＳ２４)ことで行われる。
【００２８】
AVデコーダ６から通知された現在時刻に基づき、録画バッファ８内のGOPを探索する過程を図８に模式的に示す。本図において、AVデコーダ６でデコード中の現在時刻を含むGOPを録画バッファ８から矢印gt1に示すように探索する。この探索によりGOP#K+1が求められたとする。バッファ管理テーブルには、このGOP#K+1のバッファ上アドレスが記されているので、録画バッファ８のReadポインタは、GOP#K+1のバッファ上アドレスに設定される。
【００２９】
続くステップＳ２５、ステップＳ２６は、ストリームファイル、GOP管理テーブル、再生区間情報の生成であり、ストリームファイル、GOP管理テーブル、再生区間情報をクリエイトして(ステップＳ２５)、AVデコーダから取得した表示時刻を再生区間情報の再生開始時刻に設定する(ステップＳ２６)という処理を行う。
【００３０】
これらの処理を経て、GOPの書き込みをいよいよ実行する。ステップＳ３１〜ステップＳ３３は、GOPの書き込み処理であり、GOPiのバッファ上アドレスをバッファ管理テーブル９から取得してREAD POINTERに設定し(ステップＳ３１)、READ POINTER以降のGOPiをストリームファイルに書き込んで(ステップＳ３２)、READ POINTERを更新する(ステップＳ３３)という処理からなる。ステップＳ３４及びステップＳ３５は、GOP書き込みに伴う、再生区間情報３及びGOP管理テーブルの更新処理であり、GOPiのPCRを再生区間情報の再生終了時刻に設定して(ステップＳ３４)、ストリームファイルにおけるGOPiのオフセット、GOPiのsize、GOPiの最小PTSをGOPテーブルのi番目のレコード(レコードi)に設定する(ステップＳ３５)という処理からなる。
【００３１】
ステップＳ３４において再生区間情報を設定しておくのは、GOP先頭と、現在時刻との間にギャップがある場合に、このギャップを解消するためである。つまりAVデコーダ６から取得した現在時刻がGOP途中である場合、再生時にはGOP先頭からその途中までのフレームデータの再生出力を禁ずる必要がある。何故なら、再生区間情報は、ビデオフレームの時間精度で再生区間をポインティングしているため、GOPの内部であって再生区間に属さない部分は、再生してはいけないからである。再生時にかかる出力禁止を実現するため、AVデコーダ６から取得した再生区間情報を再生区間情報に設定している。
【００３２】
図９は、AVデコーダ６から現在時刻05:06を取得した場合に、ストリームファイルにどのようなGOPが格納されるか、再生区間情報がどのように設定されるかを示す図である。現在時刻は、時刻05:01から時刻05:30までのGOP#K+1に属するので、矢印gt1に示すようにこのGOP#K+1が検索される。そして、GOP#K+1の先頭フレームデータである、時刻05:01のフレームデータがストリームファイルに書き込まれる。その一方、再生区間情報の再生開始時刻には、AVデコーダ６から取得した現在時刻05:06が設定される。
【００３３】
ステップＳ３６は、録画バッファ８における残りのGOPのうち、最先のものをGOPiに更新する処理であり、このGOPiの更新後、ステップＳ３１〜ステップＳ３５に再度移行する。録画バッファ８に残りのGOPに存在する限り、ステップＳ３１〜ステップＳ３６の処理は繰り返し行われる。これにより録画バッファ８に存在するGOPは、順次ストリームファイルに書き込まれてゆくことになる。この書き込みにあたって、再生区間情報の再生終了時刻は、GOPiのPCRを用いて随時更新され(ステップＳ３４)、ストリームファイルにおけるGOPiのオフセット、GOPiのsize、GOPiの最小PTSがGOPテーブルのレコードiとして追記される(ステップＳ３５)。
【００３４】
ステップＳ３７は、このループ処理の例外処理を規定するものであり、録画バッファ８にGOPが存在しないかどうかを判定している。もし録画バッファ８からGOPが無くなれば、TSデコーダからGOPの検出通知があったかどうかを判定し(ステップＳ３８)、もしあれば、録画バッファ８に格納されたGOPをGOPiに設定して(ステップＳ３９)、ステップＳ３１に戻る。
【００３５】
ステップＳ４０は、ループ処理の終了要件を規定するものである。この終了要件とは、STOPキーの押下であり(ステップＳ４０)、もしSTOPキーが押下されれば、現在時刻をAVデコーダに問い合わせて(ステップＳ４１)、現在時刻の受領を待ち(ステップＳ４２)、AVデコーダから得た現在時刻を再生区間情報の再生終了時刻に設定する(ステップＳ４３)。
【００３６】
その後、READ POINTER以降のGOPiをストリームファイルに書き込んで(ステップＳ４４)、ストリームファイルにおけるGOPiのオフセット、GOPiのsize、GOPiの最小PTSをGOPテーブルのレコードiに書き込む(ステップＳ４５)。その後、ストリームファイルをクローズして(ステップＳ４６)処理を終える。
以上のように本実施形態によれば、TSデコーダ５がAVデコーダ６に出力したものと同じものを予め録画バッファ８に格納しているので、マニュアル録画がユーザから命じられたとしても、現在表示中のフレームデータと同じものを録画バッファ８から読み出してHDD１に書き込むことができる。そのため、現在表示中のビデオフレームと、現在受信中のビデオフレームとに時間差があっても、ビデオフレームの欠落無く、記録媒体に動画を記録しておくことができる。
【００３７】
この録画バッファ８からHDD１への書き込みは、「ある媒体から別の媒体へとコピーする」というようなコピー操作や、「ある記録媒体に記録されているデータを編集する」というような編集操作をトリガとしているのではない。録画操作という既存のVTRでも行われている操作をトリガとして実行される。そのため、媒体間のコピー操作や、編集操作の心構えがないユーザや、旧来のVTRしか使えないオールドユーザであっても、見たいシーンが目の前に現れれば、咄嗟に録画操作を行うことにより、録画バッファ８から記録媒体へのフレームデータ書き込むを行うことができる。
【００３８】
(第２実施形態)
第１実施形態では、現在時刻に対応するフレームデータを含むGOP先頭から、録画を行うとしていた。しかし、もし仮にそのフレームデータがGOP先頭に存在するBピクチャだったとすると、そのBピクチャのデコードには、そのGOPより前のGOPに含まれるIピクチャかPピクチャが必要となる。このような場合に対処するのが第２実施形態である。
【００３９】
具体的にどうするかというと、AVデコーダ６から現在時刻を取得した場合、この現在時刻に対応するフレームデータのGOPではなく、そのGOPの1つ前のGOPをGOPiとして取得する。そして、このGOPのバッファ上アドレスをREAD POINTERに設定して、このバッファ上アドレス以降を、HDD１に書き込むこととする。
図１０は、図８と同様の表記で、第２実施形態におけるGOPiの探索過程を示した図である。図１０において現在時刻に対応するフレームデータが、GOP#K+1に存在する場合(矢印gt2参照)、このGOP#K+1をGOPiに設定するのではなく、このGOP#K+1より前のこのGOP#KをGOPiに設定する。こうすることにより、現在時刻に対応するフレームデータが、GOP#K内のPピクチャを参照(破線rr1)しているBピクチャであったとしても、現在時刻に対応するフレームデータを復号することが可能になる。
【００４０】
（備考）
上記実施形態に基づいて説明してきたが、現状において最善の効果が期待できるシステム例として提示したに過ぎない。本発明はその要旨を逸脱しない範囲で変更実施することができる。代表的な変更実施の形態として、以下(A)(B)(C)・・・・のものがある。
【００４１】
(A) 第１実施形態〜第２実施形態における記録装置は、テレビモニタと接続して利用されるタイプの記録装置であったが、液晶型ディスプレィと一体型となった記録装置であってもよい。また、第１実施形態に示した記録装置は、TSデコーダ５、AVデコーダ６を予め内蔵していたが、これらを具備せず、IEEE1394コネクタを介して接続されていてもよい。更に、各実施形態の記録装置において、処理の本質的部分をなすシステム制御部１１のみを、記録装置としてもよい。
【００４２】
これらの記録装置は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、第１実施形態〜第２実施形態に示した記録装置の内部構成を元に、記録装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。第１実施形態〜第２実施形態に示した記録装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本記録装置の実施行為である。
【００４３】
(B)図５〜図７に示したプログラムによる情報処理は、CPU、MPEGエンコーダ、HDドライブといったハードウェア資源を用いて具体的に実現されている。つまり、プログラムと、ハードウェアとが協働した具体的手段が、使用目的に応じた情報処理を行うことにより、第１実施形態〜第２実施形態に示した記録装置は構築される。
【００４４】
プログラムによる情報処理が、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、自然法則を利用した技術的思想の創作と捉えることができ、プログラム単体で発明として成立する。つまり図５〜図７に示した処理手順は、本発明に係るプログラムの実施行為の形態を開示するものである。
【００４５】
尚、第１実施形態〜第２実施形態は、記録装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、記録装置から分離して、第１実施形態〜第２実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。
【００４６】
双方向の電子通信回線を介した提供行為(5)の類型には、提供者が、プログラムをユーザに送り、ユーザに使用させる行為や(プログラムダウンロードサービス)、プログラムを提供者の手元に残したまま、そのプログラムの機能のみを電子通信回線を通じて、ユーザに提供する行為(機能提供型ASPサービス)がある。
(C)図５〜図７のフロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、録画方法の使用形態を開示していることがわかる。これらのフロ−チャ−トこそ、本発明に係る録画方法の使用行為についての実施形態である。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る録画方法の実施行為に該当することはいうまでもない。
【００４７】
(D)第１実施形態〜第２実施形態では、記録媒体をHDDとして説明を進めたが、このHDDの物理的性質は、本発明の作用・効果の発揮にさほど貢献していない。HDD同様、放送番組を記録し得る容量をもった記録媒体であるなら、他の記録媒体を採用してもよい。例えば、HDD以外のCD-R,CD-RW,DVD-R,DVD-RW,DVD-RAM,DVD+R,DVD+RW,Blue-ray Disc等の他の光ディスクであってよいことはいうまでもない。またPD,MO等の光磁気ディスクであってもよい。更に、SDメモリカード、コンパクトフラッシュ（登録商標）カード、スマートメディア、メモリスティック、マルチメディアカード、PCM-CIAカード等の半導体メモリカードであってもよい。フレシキブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバルハードディスクドライブであってもよい。
【００４８】
(E)第１、第２実施形態では、TSデコーダ５から再生バッファ７への入力速度が、再生バッファ７からAVデコーダ６への出力速度を大きく上回るものとして、TSデコーダ５が再生バッファ７、録画バッファ８の双方にフレームデータを書き込んだ。しかし再生バッファ７からバッファ管理テーブル９への出力速度が、入力速度と同等に早いのなら、再生バッファ７から直接HDD１に書き込んでもよい。
【００４９】
(F)第１実施形態では、TSパケットがそのままの形態でHDDに記録されるとしたが、拡張ヘッダを付加した形式で記録しても良い。
拡張ヘッダはTP_extra_headerと呼ばれ、『Arribval_Time_Stamp』と、『copy_permission_indicator』とを含み4バイトのデータ長を有する。
『Arribval_Time_Stamp』は、TSパケットが機器に到達した時間を示す。このArribval_Time_Stampは、ストリーム再生時にPCR、PTSといったタイムスタンプの参照に用いられる。一般に放送局から送信されたMPEG2-TS形式のストリームは、リアルタイムに受信され、再生されることを想定して、PCR、PTSが設定されている。ところが蓄積再生においてMPEG2-TS形式のストリームは、HDDに一旦蓄積された上で時間的にかなり遅れて再生される。この蓄積再生では、リアルタイムに再生することを目的として調整されたPCR、PTSの値が無駄になる。そこでTP_extra_headerにおけるArribval_Time_Stampは、TSパケットが記録装置に到達した時刻を示している。そのため、再生時にこのArribval_Time_Stampを参照すれば、たとえMPEG2-TS形式のストリームがHDDに蓄積された上で再生されたとしても、リアルタイムでの再生同様、PTS、PCRによる再生タイミング制御を実現することができる。
【００５０】
『copy_permission_indicator』は、MPEG2-TS形式のデジタルストリームにおけるコピー制御情報であり、「00」であれば通常のコピーフリー、「11」であれば「No More Copy」、「01」は、暗号化されてはいるが、条件の無いコピーフリー、「10」であればEPN Asserted コピーフリーをそれぞれ意味する。
拡張ヘッダ付きTSパケットは、32個毎にグループ化されて、3つのセクタに書き込まれる。32個の拡張ヘッダ付きTSパケットからなるグループは、6144バイト(=32×192(=188+4))であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致するからである。
【００５１】
【発明の効果】
以上説明したように、本発明に係る記録装置は、上述したように構成されているので、再生出力されたパケットと同じもののグループが録画バッファに格納されるので、マニュアル録画がユーザから命じられたとしても、現在表示中のフレームデータに対応するパケットのグループを録画バッファから読み出して記録媒体に書き込むことができる。そのため、現在表示中のビデオフレームが、現在受信中のビデオフレームよりかなり遅れたものであっても、ビデオフレームの欠落無く、記録媒体に動画を記録しておくことができる。
【００５２】
この録画バッファから記録媒体への書き込みは、「ある媒体から別の媒体へとコピーする」というようなコピー操作や、「ある記録媒体に記録されているデータを編集する」というような編集操作をトリガとしているのではない。録画操作という既存のVTRでも行われている操作をトリガとして実行される。そのため、媒体間のコピー操作や、編集操作の心構えがないユーザや、旧来のVTRしか使えないオールドユーザであっても、見たいシーンが目の前に現れれば、咄嗟に録画操作を行うことにより、録画バッファから記録媒体へのフレームデータ書き込むを行うことができる。
【００５３】
メモリの実装量を減らしたいとの観点からは、前記受信手段が録画バッファに新たなパケットのグループを格納する際、録画バッファにおける最も古いパケットのグループを、その新たなパケットグループを用いて上書きするようにしてもよい。
【図面の簡単な説明】
【図１】  本発明に係る記録装置の内部構成を示す図である。
【図２】  AVデコーダ６、再生バッファ７によるバッファリングディレイを模式化して描いた図である。
【図３】  AVデコーダ６で時刻05:01のフレームデータがデコードされており、TSデコーダ５で時刻06:04のフレームデータを受信中である場合に、録画バッファ８にどのようなTSパケットが格納されるかを示す図である。
【図４】  AVデコーダ６で時刻05:01のフレームデータがデコードされており、TSデコーダ５で時刻06:04のデータを受信中である場合に、HDDにどのようなフレームデータが書き込まれるかを示す図である。
【図５】  TSデコーダ５の処理手順を示すフローチャートである。
【図６】  システム制御部１１の処理手順を示すフローチャートである。
【図７】  システム制御部１１の処理手順を示すフローチャートである。
【図８】  AVデコーダ６から通知された現在時刻に基づき、録画バッファ８内のGOPを探索する過程を模式的に示す図である。
【図９】  05:06のビデオフレームがAVデコーダによりデコードされている時に、HDDに書き込まれるフレームデータを示す図である。
【図１０】  図８と同様の表記で、第２実施形態におけるGOPiの探索過程を示した図である。
【符号の説明】
１    HDドライブ
２    GOP管理テーブル
３    再生区間情報
４    デジタルチューナ
５    TSデコーダ
６    AVデコーダ
７    再生バッファ
８    録画バッファ
９    バッファ管理テーブル
１０    ユーザインターフェイス部
１１    システム制御部
【図１】
0004020818.tif 000002
【図２】
0004020818.tif 000003
【図３】
0004020818.tif 000004
【図４】
0004020818.tif 000005
【図５】
0004020818.tif 000006
【図６】
0004020818.tif 000007
【図７】
0004020818.tif 000008
【図８】
0004020818.tif 000009
【図９】
0004020818.tif 000010
【図１０】
0004020818.tif 000011