JP2006325086A - 動画データ再生機能を有する装置および動画データ再生方法 - Google Patents

動画データ再生機能を有する装置および動画データ再生方法 Download PDF

Info

Publication number
JP2006325086A
JP2006325086A JP2005147976A JP2005147976A JP2006325086A JP 2006325086 A JP2006325086 A JP 2006325086A JP 2005147976 A JP2005147976 A JP 2005147976A JP 2005147976 A JP2005147976 A JP 2005147976A JP 2006325086 A JP2006325086 A JP 2006325086A
Authority
JP
Japan
Prior art keywords
frame
data file
moving image
recording unit
stream cache
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
Application number
JP2005147976A
Other languages
English (en)
Other versions
JP4566821B2 (ja
JP2006325086A5 (ja
Inventor
Chiko Yoshida
智晃 吉田
Yosuke Kubota
陽介 久保田
Daiichi Koide
大一 小出
Masahiko Kishida
雅彦 岸田
Haruki Tokumaru
春樹 徳丸
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.)
Canopus Co Ltd
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Canopus Co Ltd
Japan Broadcasting 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 Nippon Hoso Kyokai NHK, Canopus Co Ltd, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2005147976A priority Critical patent/JP4566821B2/ja
Publication of JP2006325086A publication Critical patent/JP2006325086A/ja
Publication of JP2006325086A5 publication Critical patent/JP2006325086A5/ja
Application granted granted Critical
Publication of JP4566821B2 publication Critical patent/JP4566821B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

【課題】 可動式の記録装置にエンコードされた動画データが記録されている場合であっても、迅速に目的とするフレームを得ることのできる装置を提供する。
【解決手段】
ストリームキャッシュ処理手段10は、予測手段8の予測に基づき、使用が予想される動画データファイル6の一部を、可動式記録部2から読み出して非可動式記録部14に記録する。この際、非可動式記録部14に記録した各フレームのフレーム番号やアクセス位置を併せて記録する。復元手段24は、対象フレームを、非可動式記録部14から読み出す。この際、非可動式記録部14に記録されているフレーム番号やアクセス位置を参照することで迅速に読み出すことができる。復元手段14は読み出したデータに基づいてフレームを復元し、表示部26において表示する。
【選択図】 図1

Description

この発明は、動画ファイルの再生処理をスムースに行うための技術に関するものである。
動画データは、データ容量が大きくなるため、圧縮された上、ハードディスクなどの可動部を有する大容量記録装置に動画データファイルとして記録されることが多い。動画データの圧縮方式としては、MPEGが広く用いられている。
MPEG方式の動画データは、Iピクチャ、Pピクチャ、Bピクチャの3種類のデータによって構成される。Iピクチャはフレーム内符号化によって圧縮されており、それ単独で画像を復元することができる。Pピクチャは、過去のフレーム画像に基づく動き補償予測を用いたフレーム間予測により圧縮されている。Bピクチャは、過去または未来のフレーム画像に基づく動き補償予測を用いたフレーム間予測により圧縮されている。MPEG方式の動画データを記録したり伝送したり場合には、このようなIピクチャ、Pピクチャ、Bピクチャをグループ化してGOPとすることが多い。また、このGOPを、さらにパケット化することも多い。
動画データの再生装置、編集装置、送信装置などは、対象とするフレームを含むGOPを動画データをハードディスクから読み出し、デコードして対象フレームを復元する。
特開2003−163261
このような動画データファイルを読み出して再生する装置(再生装置、編集装置、送信装置など)においては、可動部があるためアクセス時間を要するハードディスクからのトータルな読み出し時間をいかに短くするかが重要である。
いずれの装置においても、再生時の時間経過と同じ時間経過にて各フレームを再生することが好ましい。しかしながら、圧縮された動画データを伸張するための処理時間を要する上、ハードディスクへのアクセス時間が必要であるため、再生速度を維持することが困難な場合があった。特に、逆方向への再生を行う場合には、ハードディスクへの逆方向へのアクセスが発生し顕著な問題となっていた。同様に、トランジションなどの特殊効果などの再生の場合には、離れた場所に記録されている2つの動画データファイルに対して、交互にアクセスを行わねばならず、再生時間の遅延が特に問題であった。このような問題は、MPEG方式の動画データだけでなく、他のエンコード形式の動画データについても同様であった。
特許文献1には、上記のような再生時間の遅れが生じることを前提に、これに対する対応を施した装置を開示している。しかしながら、これは、上記の問題を直接的に解決するものではない。
この発明は上記のような問題点を解決して、可動式の記録装置にエンコードされた動画データが記録されている場合であっても、迅速に目的とするフレームを得ることのできる装置を提供することを目的とする。
(1)(2)この発明の一側面に係る動画再生機能を有する装置は、動画を構成するフレームをエンコードした動画データファイルを記録し、アクセスのための可動部を有する可動式記録部と、動画の一部である各動画素材の開始フレーム順番情報および終了フレーム順番情報を特定する編集構成データファイルを記録した編集構成データファイル記録部と、動画データファイルのフレーム群を記録するための非可動式のストリームキャッシュ記録部と、編集構成データファイルに基づいて必要となる複数フレームを予想する予測手段と、予測手段による当該予想複数フレームに対応する動画データファイルの一部を、可動式記録部から読み出して、ストリームキャッシュ記録部に記憶するストリームキャッシュ処理手段と、編集構成データファイルに基づいて次に必要な対象フレームを特定する特定手段と、ストリームキャッシュ手段に記憶された動画データファイルに基づいて、前記対象フレームをデコードするフレーム復元手段と、フレーム復元手段によって復元されたフレームを表示する表示部とを備えている。
予測手段を設けて、複数フレームに対応する動画データファイルの一部分をまとめて可動式記録部から読み出し、非可動式の記録部に記録するようにしているので、フレームを取得するためのトータルの時間を減少させることができる。
(3)この発明の一側面に係る動画再生機能を有する装置は、可動式記録部に記録された動画データファイルは、エンコードした複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置したものであり、可動式記録部には、動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記述するとともに各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルが、動画データファイルに対応づけて記録されており、ストリームキャッシュ処理手段は、予想複数フレームの両端のフレーム順番情報とインデックスファイルの代表フレーム順番情報に基づいて、予想複数フレームを含むグループデータを特定し、当該グループデータのアクセス位置に基づいて、前記可動式記録部からグループデータを取得することを特徴としている。
インデックスファイルを設けているので、予想複数フレームを含むグループデータを、可動式記録部から迅速に読み出すことができる。
(4)この発明の一側面に係る動画再生機能を有する装置は、可動式記録部に記録された動画データファイルは、エンコードした複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置したものであり、可動式記録部には、動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルが、動画データファイルに対応づけて記録されており、ストリームキャッシュ処理手段は、a)予想複数フレームの両端のフレーム順番情報とインデックスファイルの代表フレーム順番情報に基づいて、予想複数フレームを含むグループデータを特定し、b)当該グループデータを含むパケットのアクセス位置に基づいて、前記可動式記録部からグループデータを含むパケットを取得し、c)当該パケットからグループデータを復元してストリームキャッシュ記録部に記録することを特徴としている。
インデックスファイルを設けているので、予想複数フレームを含むグループデータを、可動式記録部から迅速に読み出すことができる。
(5)この発明の一側面に係る動画再生機能を有する装置は、ストリームキャッシュ処理手段は、グループデータをストリームキャッシュ部に記録する際に、当該グループデータを構成する少なくとも主要ピクチャーデータの個別フレーム順番情報を算出してストリームキャッシュ部に記録し、フレーム復元手段は、前記個別フレーム情報に基づいて、対象フレームの復元に必要なピクチャーデータを特定することを特徴としている。
したがって、フレーム復元手段は、迅速に対象フレームを復元を行うことができる。
(6)この発明の一側面に係る動画再生機能を有する装置は、ストリームキャッシュ処理手段は、グールプデータをストリームキャッシュ部に記録する際に、当該グループデータを構成する少なくとも主要ピクチャーデータのストリームキャッシュ記録部における記録位置を個別アクセス位置としてストリームキャッシュ記録部に記録し、フレーム復元手段は、前記個別フレーム情報に基づいて、対象フレームの復元に必要なピクチャーデータを特定することを特徴としている。
したがって、フレーム復元手段は、迅速に対象フレームを復元を行うことができる。
(7)この発明の一側面に係る動画再生機能を有する装置は、フレーム復元手段は、対象フレームを得るために復元した一以上のフレームをデコード済キャッシュ記録部に記録しておき、新たに必要となった対象フレームについて、デコード済キャッシュ記録部に記録されていればこれから取得し、デコード済キャッシュ記録部に記録されていなければ、ストリームキャッシュ記録部から取得して復元することを特徴としている。
したがって、フレーム復元手段は、直近に使用したフレームを迅速に得ることができる。
(8)この発明の一側面に係る動画再生機能を有する装置は、フレーム復元手段は、対象フレームがデコード済キャッシュ記録にもストリームキャッシュ記録部にも記録されていない場合には、可動式記録部から取得して復元することを特徴としている。
したがって、確実に対象フレームを取得することができる。
(9)この発明の一側面に係る動画再生機能を有する装置は、ストリームキャッシュ処理手段または前記予測手段は、予測複数フレームが、予想再生順序において降順であるか否かを、フレーム順番情報に基づいて判断し、降順であれば昇順に修正することを特徴としている。
したがって、可動式記録部からの予測複数フレームの取り出しを迅速に行うことができる。
(12)この発明の一側面に係る動画再生方法は、動画を構成するフレームをエンコードした動画データファイルを記録し、アクセスのための可動部を有する可動式記録部と、動画の一部である各動画素材の開始フレーム順番情報および終了フレーム順番情報を特定する編集構成データファイルを記録した編集構成データファイル記録部と、動画データファイルのフレーム群を記録するためのストリームキャッシュ記録部にアクセス可能なコンピュータによって動画を再生する方法であって、予測手段により、編集構成データファイルに基づいて必要となる複数フレームを予想し、ストリームキャッシュ処理手段により、予測手段による当該予想複数フレームに対応する動画データファイルの一部を、可動式記録部から読み出して、ストリームキャッシュ記録部に記憶し、特定手段により、編集構成データファイルに基づいて次に必要な対象フレームを特定し、ストリーム復元手段により、ストリームキャッシュ手段に記憶された動画データファイルに基づいて、前記対象フレームをデコードし、表示部により、フレーム復元手段によって復元されたフレームを表示することを特徴としている。
複数フレームに対応する動画データファイルの一部分をまとめて可動式記録部から読み出し、非可動式の記録部に記録するようにしているので、フレームを取得するためのトータルの時間を減少させることができる。
この発明において、「可動式記録部」とは、記録内容にアクセスするために機械的動作が必要な記録装置をいい、ハードディスク、CD−ROMドライブ、DVDドライブなどを含む概念である。実施形態では、ハードディスク2がこれに該当する。
「編集構成データファイル記録部」とは、少なくとも編集構成データを記録するものであり、可動式・非可動式を問わない。実施形態では、ハードディスク2、メモリ34がこれに該当する。
「ストリームキャッシュ記録部」とは、少なくとも動画データファイルの一部を記録するものであり、非可動式のものをいう。ここに「非可動式記録部」とは、記録内容にアクセスするために機械的動作が本質的に必要でない記録装置をいい、RAM、ROM、USBメモリ、メモリカードなどを含む概念である。実施形態では、メモリ34がこれに該当する。
「予測手段」は、実施形態においては、図16のステップS102がこれに対応する。
「ストリームキャッシュ処理手段」は、実施形態においては、図16のステップS103がこれに対応する。
「特定手段」は、実施形態においては、図16のステップS104がこれに対応する。
「フレーム復元手段」は、エンコードされたフレームを復元してフレームを得るものだけでなく、既に復元されて記録されているフレームを取得するものも含む概念である。実施形態においては、図16のステップS105がこれに対応する。
「フレーム順番情報」とは、少なくとも、フレームの構成順序を明らかにすることのできるデータであり、フレーム番号、当該フレームのファイル開始からの再生時刻などを含む概念である。
「表示部」とは、復元したフレームを表示するものをいう。実施形態においては、ディスプレイ32がこれに該当する。
「記録部にアクセスする手段」とは、記録部の内容を読み出したり、記録部に内容を記録したりする手段であり、実施形態においては図16のステップS101、S103、図17のステップS204、図18のステップS301、図19のステップS404等がこれに対応する。
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
発明を実施するための形態
1.全体構成
図1に、この発明の一実施形態による動画再生装置の機能ブロック図を示す。可動式記録部2には、動画インデックスファイル4、動画データファイル6、編集構成データファイル12が記録される。
動画データファイル6は、圧縮した複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置したものである。動画インデックスファイル4は、動画データファイル6に対応して設けられたものである。動画インデックスファイル4には、上記のグループデータ毎にグループ情報が記述されている。グループ情報には、動画データファイル4中の各グループデータの代表点の記録位置をアクセス位置や、各グループデータに含まれるグループ先頭フレームおよびグループ最終フレームの、動画データファイル6全体のフレームにおける順番を示す先頭最終フレーム順番情報が記述されている。
編集構成データファイル12は、動画データファイル6の一部である各動画素材の開始フレーム順番情報および終了フレーム順番情報を特定することにより、再生する動画を決定するものである。
予測手段8は、編集構成データファイル12を参照し、現在処理中のフレーム番号および再生形態(順方向再生か逆方向再生かなど)に基づいて、この先に必要となるフレームの固まり(予想複数フレーム)を予想する。
ストリームキャッシュ処理手段10は、上記予想複数フレームの両端(最初と最後)のフレームのフレーム順番情報と、インデックスファイル4の代表フレームの順番情報に基づいて、予想複数フレームを含むグループデータを特定する。
さらに、インデックスファイル4に記述された当該グループデータのアクセス位置に基づいて、動画データファイル6の予想複数フレームを含むグループデータにアクセスする。取得した予想複数フレームを含むグループデータ16は、非可動式記録部14に記録される。
この際、ストリームキャッシュ処理手段10は、当該グループデータ16のアクセス位置をインデックスファイル4から取得し、これを非可動式記録部14のアクセス位置(記録位置)に変換して記録する。さらに、当該グループデータに含まれる各フレームの(非可動式記録部14における)アクセス位置を算出し、個別アクセス位置20として記録する。さらに、当該グループデータ16の先頭最終フレーム順番情報をインデックスファイル4から取得し、これに基づいて、当該グループデータに含まれる各フレームのフレーム順番情報を算出して、個別フレーム順番情報18として記録する。
特定手段22は、編集構成データファイル12を参照し、動画データファイル6中の次に処理すべき対象フレームのフレーム順番情報を特定する。フレーム復元手段24は、非可動式記録部14の個別フレーム順番情報18、個別アクセス位置20に基づいて、グループデータ16中の対象フレームをデコードし、表示部26に与える。表示部26は、デコードされたフレームを表示する。
2.ハードウエア構成
図2に動画再生装置のハードウエア構成を示す。CPU30には、ディスプレイ32、メモリ34、ハードディスク2、、キーボード/マウス36、CD−ROMドライブ38が接続されている。ディスプレイ32は、デコードされた動画表示するためのものである。キーボード/マウス36は、再生のための操作を入力するためのものである。メモリ34は、CPU30のワーク領域として使用される。
ハードディスク2には、WINDOWS(商標)などのオペレーティングシステム25、動画データファイル6、編集構成データファイル12、再生処理プログラム28などが記録されている。再生処理プログラム28は、オペレーティングシステム25と協働して、編集構成データファイル12の記述にしたがって、動画データファイル6を再生する。インデックス作成プログラム5は、動画データファイル6に対応するインデックスファイル4を作成する。
再生処理プログラム28、インデックス作成プログラム5は、CD−ROM40に記録されていたものを、CD−ROMドライブ38を介してインストールしたものである。動画データファイル6は、ディジタルビデオカメラなどからの動画データを記録したものである。この実施形態では、動画データファイル6として、MPEG方式のエレメンタリーストリームが記録されている。
図3に、動画データファイル6の構造を示す。複数のGOPが時系列順に記録されている。GOPの直前にはシーケンスヘッダSHが設けられている場合と、設けられていない場合とがある。シーケンスヘッダSHは、再生のために必要な画素縦横比などの情報を記録している。各GOPには、Iピクチャ、Bピクチャ、Pピクチャが記録されている。また、GOPの先頭には、スタートコード20が記録されている。なお、GOPには、十数フレーム分の動画データが含まれている。
3.インデックスファイルの作成
再生を行う前の準備として、動画データファイル6のインデックスファイル4を作成しておく。図4、図5に、インデックス作成プログラム5のフローチャートを示す。
まず、CPU30は、GOPカウンタやフレーム数カウンタ等をクリアする。次に、CPU30は、ステップS1において、ハードディスク2から動画データファイル6を先頭から読み出す。ステップS2において、動画データファイル6の末尾に到達したかどうかを判断する。末尾に到達していなければ、CPU30はGOPの先頭を探し出す。GOPの先頭には、図3に示すようにスタートコードが存在するのでこれを見いだす。なお、GOPのスタートコードは、"000001B8"によって開始されるので、これを検出することによりGOPの先頭であることを判断することができる。
読み出した部分がGOPの先頭でなければ(ステップS3)、ステップS1に戻って、さらに動画データファイル6を読み出す。GOPの先頭が見いだされれば(ステップS3)、GOPカウンタをインクリメントする(ステップS4)。次に、CPU30は、GOPの直前にシーケンスヘッダSHがあるかどうかを判断する(ステップS5)。シーケンスヘッダSHの開始を示すスタートコードは、"000001B3"で始まるので、これにより検出が可能である。
シーケンスヘッダSHがあれば、CPU30は、SHヘッダのスタートコードの記録位置(動画データファイルの先頭から何バイト目にあるか(以下同じ))を取得して、アクセス位置としてメモリ34に記録する(ステップS6)。直前にシーケンスヘッダSHがなければ、GOPのスタートコードの記録位置を取得して、アクセス位置としてメモリ34に記憶する(ステップS7)。
次に、CPU30は、GOPのスタートコードに記述されているタイムコード(動画の最初からの経過時間)およびクローズドGOPかブロークンリンクかの区別を取得し、メモリ34に記憶する(ステップS8)。当該GOPの画像データが、前のGOPの画像データを参照しなくとも復元できる場合は、クローズドGOPである旨、前のGOPの画像データを参照しなければ復元できない場合は、ブロークンリンクである旨がスタートコード内に記録されている。CPU30は、これを取得してメモリ34に記録する。
次に、CPU30は、動画データファイル6を読み出して当該GOPのデータを取得する(ステップS9)。取得したGOPのデータを解析し、フレーム数カウンタによりフレーム数をカウントする(ステップS10)。CPU30は、次のようにしてGOPを解析し、当該GOPに含まれるフレームの数を取得する。
CPU30は、GOPの先頭から順にピクチャースタートコード(00000100)を見いだす。ピクチャースタートコードは、Iピクチャー、Bピクチャー、Pピクチャーの先頭に設けられている。したがって、ピクチャースタートコードを検出することにより、Iピクチャー、Bピクチャー、Pピクチャーの存在を知ることができる。
たとえば、Iピクチャー、Bピクチャー、Pピクチャーがそれぞれ1つのフレームに対応している場合には、ピクチャースタートコードが1つで、1つのフレームに対応する。
また、Iピクチャー(Bピクチャー、Pピクチャー)が2つで1フレームの画像を構成している場合もある。このような場合には、ピクチャースタートコードが2つで、1つのフレームに対応することになる。
図3に示すように、ピクチャースタートコードに続いて、Iピクチャー、Bピクチャー、Pピクチャーのいずれであるかを示す「種類」のデータと、当該1つのピクチャーで1フレームを構築するか(ノンインターレース)、2つのピクチャーで1フレームを構築するか(インターレース)の「区別」データが記録されている。CPU30は、この「区別」データを参照し、ノンインターレースの場合には、1つのピクチャースタートコードで1つのフレームを認識し、インターレースの場合には、2つのピクチャースタートコードで1つのフレームを認識する。
一方、フレーム数カウンタは、動画の最初のフレームからのフレーム数をカウントするものである。なお、CPU30は、当該GOPの最初のフレーム番号(フレー数カウンタの計数値)を先頭フレーム番号としてメモリ34に記録する。
次に、CPU30は、当該GOPの最後までフレームを解析したかどうかを判断する(ステップS11)。なお、この実施形態では、CPU30は、次のGOPが現れたかどうかによって、最後までフレームを解析したかどうかを判断するようにしている。最後でなければ、ステップS9以下を繰り返し実行する。GOPの最後まで復元すれば、その時点のフレーム数カウンタの計数値を最終フレーム番号としてメモリ34に記憶する(ステップS12)。
次に、CPU30は、メモリ34の記憶内容を、インデックスファイル4に出力する(ステップS13)。
図6に、インデックスファイル4の構造を示す。総GOP数、総フレーム数は、動画データファイル6のすべてのGOPについての処理が終了してから記録される。ここでは、GOPのID(図ではGOP1として示されている)、アクセス位置、先頭フレーム番号、最終フレーム番号、タイムコード、種類(クローズドGOPかブロークンリンクか)が、メモリ34の記録内容に基づいて記録される。なお、GOPのIDは、GOPを特定するために各GOPに付した連番である。
次に、CPU30は、ステップS1に戻り、次のGOPについて同様の処理を行う。これにより、図6のGOP2について、アクセス位置、先頭フレーム番号、最終フレーム番号、タイムコード、種類が記録される。
この処理を繰り返し動画ファイルの最後に到達すると(ステップS2)、CPU30は、総フレーム数、総GOP数をインデックスファイル4に記録する(ステップS15)。このようにしてインデックスファイル4が生成される。
なお、この実施形態では、動画データファイル6と当該動画データファイル6について作成されたインデックスファイル4とを対応づけるために、両ファイルのファイル名を同一にし、拡張子を異ならせるようにしている。たとえば、動画データファイルがaaa.mpgである場合には、インデックスファイルはaaa.imvとされる。これにより、同一ファイル名の動画データファイルとインデックスファイルが関連づけられていることが容易に判別できる。
上記実施形態では、動画データファイル6がエレメンタリーストリーム(ES)の形式である場合について説明した。動画データファイル6としては、図7に示すように、エレメンタリーストリームをパケット化したPESの形式も存在する。PESの各パケットには、ビデオストリームスタートコードが付され、ESを細分化したデータが内容として記述されている。たとえば、パケットP1は、ESのαの部分のデータを記録している。また、パケットP2は、ESのβの部分のデータを記録している。
このようなPES形式の動画データファイル6についてインデックスファイルを生成する処理のフローチャートを図8、図9に示す。図4、図5と同様のステップについては、同一の符号を付している。
CPU30は、GOPの先頭であるかどうかを判断するために、まず、パケットを解く必要がある。したがって、ステップS3の前に、パケットを解くステップS25を実行するようにしている。
図4においては、SHまたはGOPのスタートコードの記録位置を取得してインデックスファイルに記録するようにしていた(ステップS6、S7)。しかし、図9では、SHまたはGOPのスタートコードを含むパケットのビデオストリームスタートコードの記録位置を取得してインデックスファイルに記録するようにしている(ステップS65、S75)。たとえば、図7のESのSHを見いだすと、これを含むパケットP2の先頭位置をアクセス位置として記録する。このようにパケットのスタートコードの記録位置をインデックスファイルに記録することにより、編集時にパケットを解かなくとも、所望のフレームを得るためにどのパケットにアクセスすればよいかを知ることができる。
ステップS85においては、SHまたはGOPのスタートコードを含むパケットのスタートコード中に記録されているPTS(時間情報)を取得して、インデックスファイルに記録するようにしている。
また、ステップS10においてフレーム数をカウントする前に、パケットを解いてGOPのデータを取得する処理を行っている(ステップS95)。
上記の処理によって生成されたインデックスファイル4のデータ構造を、図10に示す。基本的には図6と同様であるが、アクセス位置としてパケットの位置が記録されている点が異なっている。
なお、音声データのPESと動画データのPES双方を含むPS(プログラムストリーム)についても、動画データのPESだけのためのインデックスファイルと上記と同様にして作成することができる。
上記実施形態では、動画データファイル6がパケット化されたエレメンタリーストリーム(PES)の形式である場合について説明した。動画データファイル6としては、図11に示すように、PESをさらにパケット化したトランスポートストリーム(TS)の形式も存在する。TSの各パケットには、パケットIDが付され、PESを細分化したデータが内容として記述されている。
このようなPES形式の動画データファイル4についてインデックスファイルを生成するプログラムのフローチャートを図12、図13に示す。図4、図5、図8、図9と同様のステップについては、同一の符号を付している。
CPU30は、GOPの先頭であるかどうかを判断するために、まず、TSのパケットを解いてPESのパケットを得て(ステップS255)、さらに、PESのパケットを解く必要がある(ステップS25)。したがって、ステップS3の前に、TSパケットを解くステップS255、PESパケットを解くステップS25を実行するようにしている。
図8においては、SHまたはGOPのスタートコードを含むPESパケットのビデオストリームスタートコードの記録位置を取得してインデックスファイルに記録するようにしていた(ステップS65、S75)。しかし、図12では、SHまたはGOPのスタートコードを含むPESパケットのビデオストリームスタートコードを含むTSパケットの記録位置を取得してインデックスファイルに記録するようにしている(ステップS655、S755)。たとえば、図11のESのSHを見いだすと、これを含むPESパケットP2の先頭位置を見いだし、さらに、この先頭位置を含むTSパケットγの先頭位置をアクセス位置として記録する。このようにTSパケットのスタートコードの記録位置をインデックスファイルに記録することにより、編集時にパケットを解かなくとも、所望のフレームを得るためにどのTSパケットにアクセスすればよいかを知ることができる。
ステップS855においては、アクセス位置のTSパケット内のPESに記録されているPTS(時間情報)を取得して、インデックスファイルに記録するようにしている。
また、ステップS10においてフレーム数をカウントする前に、TSパケットを解いてPESパケットを得て、さらにPESパケットを解いてGOPのデータを取得する処理を行っている(ステップS955、S95)。
上記の処理によって生成されたインデックスファイル4のデータ構造を、図14に示す。基本的には図6、図10と同様であるが、アクセス位置としてTSパケットの位置が記録されている点が異なっている。
なお、上記の各実施形態では、動画データファイル4がES、PES(PS)、TSである場合のそれぞれについて説明した。しかし、図15に示すように、取得した動画データファイル6が上記のいずれに該当するかを判断し(ステップS50)、それぞれ適切な処理を選択してインデックスファイル4を作成するようにしてもよい。
なお、動画データファイル6が複数ある場合には、それぞれの動画データファイル6に対してインデックスファイル4が生成される。
4.再生処理
次に、再生処理について説明する。再生処理プログラムのフローチャートを図16に示す。ここでは、動画データファイル6が、図3のような構造である場合(ES)について説明する。
CPU30は、ステップS101において、編集構成データファイル12をハードディスク2から読み出して、メモリ34に記録する。編集構成データファイル12の構造を、図20に示す。図21に示すように、編集構成データファイル12は、動画データファイル6からクリップ(動画素材)C1、C2、C3を特定し、編集済み動画を定義するファイルである。
図20において、タイムライン情報200に、各クリップ(動画素材)ごとの情報が示される。各クリップの情報の中には、AVIファイル名202、IN点情報204、OUT点情報206、タイムライン上の開始位置タイムコード208、オーディオレベル情報210、オーディオビデオリンク情報212、再生速度情報214が含まれる。
AVIファイル名202は、動画データファイル6のファイル名である。IN点情報204は、そのクリップが開始するメイン動画データファイル6上の位置である。OUT点情報206は、そのクリップが終了する動画データファイル6上の位置である。タイムライン上の開始位置タイムコード208は、そのクリップの先頭を再生する際の、再生タイミングを示している。つまり、編集済み動画を再生する際の、そのクリップの先頭フレームの再生タイミングを、再生開始からの経過時間によって表したものである。オーディオレベル情報210は、オーディオ情報の再生レベルを示すものである。オーディオビデオリンク情報212は、動画とオーディオの同期をとるための情報である。再生速度情報214は、再生速度を示すものである。
図21に、動画データファイル6と所望の編集済み動画と編集構成データとの関係を示す。図に示すように、動画データファイル6の一部をクリップC1、C2、C3として抜き出して結合し、編集済み動画としたい場合には、編集構成データを図に示すように構成する。編集構成データ15のタイムライン情報の最初のクリップ記述の部分に、クリップC1の開始点a1(動画データファイル6におけるフレーム番号)と終了点a2(動画データファイル6におけるフレーム番号)を記述する。さらに、タイムライン上の開始位置のタイムコード記述の部分に、編集済み動画におけるフレーム番号b1を記録する。クリップC2、C3についても同様である。
なお、編集済み動画は、動画データファイル6と編集構成データファイル12によって特定されるものであり、編集済み動画データファイルとして独立して記録されるものではない。このようにすることにより、編集構成データファイル12を修正するだけで、動画データファイル6を改変することなく、編集を行うことができる。
次に、CPU30は、メモリ34に記録した編集構成データファイル12に基づいて、キャッシュすべき必要複数フレームを予測する(ステップS102)。この予測処理の詳細フローチャートを、図17に示す。
CPU30は、編集構成データファイル12に基づいて、必要複数フレームのリストを作成する(ステップS201)。たとえば、編集構成データファイル12のタイムライン情報200のIN点とOUT点の記述が、図22に示すようであったとする。この構成データファイル12によれば、通常再生モードにおいては、クリップCL1、CL2、CL3、CL4の順に再生が行われることがわかる。なお、クリップCL3は、通常再生モードにおいて、逆方向にフレームが進行するクリップである。
ここで、クリップCL1(フレーム番号1〜10)については、既にキャッシュ済みであるとする。この場合、CPU30は、次にキャッシュすべきフレーム範囲を次のように決定する。なお、ここでは、通常再生が指示されているものとする。逆方向再生などの場合にも、予測方向が逆になるだけであり、同様の手法にて予測を行うことができる。
キャッシュすべきフレーム数は、たとえば、20フレームというように予め定められている。CPU30は、編集構成データファイル12のタイムライン情報に基づいて、既にキャッシュしているフレームより後の20フレームを必要複数フレームとする。図22の場合であれば、クリップCL2のフレーム15〜25およびクリップCL3のフレーム30〜20を必要複数フレームとすることになる。CPU30は、これを図23Aに示すような範囲リストとして、メモリ34に記録する(ステップS201)。図23Aにおいては、範囲リストに2つの項目が設けられている。対象となるクリップのサイズが大きい場合には、項目は一つになる。
次に、CPU30は、範囲リストの各項目において、IN点がOUT点より大きい場合には、IN点とOUT点を入れ替える(ステップS202)。したがって、範囲リストは、図23Bのように書き換えられる。
CPU30は、範囲リストの各項目を、IN点のフレーム番号が昇順になるように並び替える。これは、後に、ハードディスク2にアクセスする際に、戻る方向へのヘッドシークをなくすためである。図23Bの範囲リストでは、既に昇順となっているので、並び替えは行われない。
次に、CPU30は、範囲リストの各項目のそれぞれにつき、IN点、OUT点に基づいて、インデックスファイル4を参照し、必要複数フレームが含まれる動画データファイル6のGOPを特定してアクセス位置を取得する(ステップS204)。たとえば、インデックスファイル4の内容が図24に示すようであれば、最初の項目(フレーム番号15〜25)についてはGOP1とGOP2が特定され、2番目の項目(フレーム番号20〜30)についてはGOP2が特定される。つまり、最初の項目については、GOP1のアクセス位置からGOP2の最後の位置(GOP3のアクセス位置の直前)までを読み出せばよいことがわかる。2番目の項目については、GOP2のアクセス位置からGOP2の最後の位置(GOP3のアクセス位置の直前)までを読み出せばよいことがわかる。
続いて、CPU30は、連続または重複するアクセス範囲を1つにまとめる(ステップS205)。上記の場合であれば、GOP2についてのアクセス範囲が重複しているのでこれをまとめて、GOP1のアクセス位置からGOP2の最後の位置(GOP3のアクセス位置の直前)までをアクセス範囲とする。なお、2つの項目のアクセス範囲が連続する場合には、連続する1つのアクセス範囲とする。アクセス速度を速くするためのである。
次に、CPU30は、上記のようにして算出した必要複数フレームのアクセス範囲について、既に、ストリームキャッシュ記録部(メモリ34)にキャッシュされていないかどうかを判断する。キャッシュされている範囲があれば、当該部分を必要複数フレームのアクセス範囲から外す(ステップS206)。たとえば、上記の例において、GOP1についてストリームキャッシュ記録部(めもり34)にキャッシュがなされていれば、GOP2だけを必要複数フレームとする。つまり、アクセス範囲は、GOP2のアクセス位置からGOP2の最後の位置(GOP3のアクセス位置の直前)までとなる。上記のようにして必要複数フレームを含むGOP(必要複数GOP)を予測し、アクセス範囲を取得する。
図16に戻って、ステップS103において、CPU30は、予測した必要複数GOPをハードディスク2の動画データファイル6から読み出し、ストリームキャッシュ記録部(メモリ34)に記録する。このストリームキャッシュ処理の詳細なフローチャートを図18に示す。
CPU30は、予測処理において算出したアクセス範囲の先頭のアクセス位置に基づいて、ハードディスク2の動画データファイル6にアクセスし、必要GOPを読み出す(ステップS301)。
CPU30は、読み出したGOPの内容をストリームキャッシュ記録部に記録する(ステップS302)。ここでは、GOPの内容をデコードせずそのまま記録する。CPU30は、上記の記録時に、GOPの先頭フレームのフレーム番号をインデックスファイル4に基づいて取得する(ステップS102において取得しておいてもよい)。さらに、上記記録時に、GOPを構成するIピクチャ、Pピクチャ、Bピクチャの存在を判断し、各フレームのフレーム番号を個別的に算出し、個別フレーム番号を算出する(ステップS303)。
また、CPU30は、上記記録時に、GOPのアクセス位置をインデックスファイル4に基づいて取得する(ステップS102において取得しておいてもよい)。このアクセス位置を、ストリームキャッシュ記録部(メモリ34)におけるアクセス位置に変換する。さらに、上記記録時に、GOPを構成するIピクチャ、Pピクチャ、Bピクチャの存在を判断し、各フレームのストリームキャッシュ記録部(メモリ34)におけるアクセス位置を個別的に算出し、個別アクセス位置を算出する(ステップS303)。
CPU30は、このようにして算出した個別フレーム番号、個別アクセス位置およびピクチャの種類(P、B、Iピクチャの区別)をキャッシュインデックスデータとして、メモリ34に記録する。図25にキャッシュインデックスファイルのデータ例を示す。なお、この実施形態では、すべてのフレームについて個別フレーム番号、個別アクセス位置を算出して記録しているが、主要なフレームについてのみこれを行うようにしてもよい。
次に、CPU30は、すべての必要複数GOPについて処理を行ったかどうかを判断する(ステップS304)。図23の例では、最終的に必要複数GOPは連続する1つのグループにまとまったが、場合によっては、複数のグループに分かれることもある。このような場合には、すべての必要複数GOPについて上記の処理を繰り返す。
図16に戻って、CPU30は、ステップS104において、編集構成データファイル12に基づいて、次にデコードすべきフレームを特定し対象フレームとする。つまり、対象フレームのフレーム番号を特定する。CPU30は、いずれのフレームまでをデコードし再生用バッファに転送したかを記録しているので、次にデコードすべきフレームを特定することができる。
次に、CPU30は、デコードして対象フレームを復元する処理を行う(ステップS105)。このフレーム復元処理の詳細フローチャートを図19に示す。
CPU30は、対象フレームがデコード済キャッシュ(メモリ34)に記録されているかどうかを判断する(ステップS401)。デコード済キャッシュに記録されていれば、これを読み出して対象フレームを取得する(ステップS402)。
デコード済キャッシュに記録されていなければ、CPU30は、ストリームキャッシュ記録部から対象フレームを探す(ステップS403)。CPU30は、メモリ34のキャッシュインデックスファイル(図25参照)に記述された個別フレーム番号に基づいて、対象フレームのフレーム番号があるかどうかを判断することにより、対象フレームがあるかどうかを判断することができる。対象フレームがストリームキャッシュ記録部にあれば、CPU30は、キャッシュインデックスファイルに記述された対象フレームの種別を取得する。
対象フレームがIピクチャであば、対象フレームの個別アクセス位置に基づいて、ストリームキャッシュ記録部にアクセスし、データを取得して対象フレームをデコードする(ステップS404)。
対象フレームがIピクチャでなければ、対象フレームの直前のIピクチャの個別アクセス位置をキャッシュインデックスファイルから取得し、ストリームキャッシュ記録部にアクセスし、データを取得してIフレームをデコードする。これに続くフレームをデコードし、対象フレームまでこれを続ける。このようにして対象フレームをデコードする(ステップS404)。なお、ステップS404においてデコードしたフレームは、デコード済キャッシュ(メモリ34)に記録する(ステップS405)。
なお、ステップS403において、対象フレームがストリームキャッシュ記録部に存在しない場合もある(予測が外れた場合)。この場合、CPU30は、ハーディスク2のインデックスファイル4を参照し、対象フレームを得るためのGOPを特定する。これは、対象フレームのフレーム番号とGOPの先頭フレーム番号と最終フレーム番号とに基づいて判断することができる。特定したGOPのアクセス位置を取得する(ステップS406)。
次に、CPU30は、アクセス位置に基づき、ハードディスク2の動画データファイル6にアクセスしGOPを取得する。GOPの最初のフレームからデコードし、対象フレームを得る(ステップS407)。なお、ステップS407においてデコードしたフレームは、デコード済キャッシュ(メモリ34)に記録する(ステップS405)。
図16に戻って、CPU30は、上記のようにして取得した対象フレームを再生用バッファ(図示せず)に出力する(ステップS106)。これにより、ディスプレイ32は、再生用バッファに記録されたフレームを表示する。
なお、CPU30は、どのフレームを再生用バッファに出力したかをメモリ34において記録している。CPU30は、ストリームキャッシュ記録部に記録されたGOPに含まれるフレームのうち必要複数フレームのすべてについて再生用バッファに出力した場合には、当該ストリームキャッシュ記録部の内容を消去する。
ストリームキャッシュ記録部の内容が無くなると(ステップS107)、ステップS102に戻って、次の必要複数フレームをストリームキャッシュ記録部に記録する。
なお、ストリームキャッシュ記録部は2つ以上設けるようにしてもよい。一方のストリームキャッシュ記録部の必要複数フレームがすべて再生用バッファに出力されると内容が消去され、次の必要複数フレームを蓄積するように処理がなされる。この間、もう一方のストリームキャッシュ記録部の記録内容により、対象フレームがデコードされる。この場合、図16のフローチャートのステップS102、S103の処理とステップS104〜S106の処理は、平行して実行される。
上記では、動画データファイルが図3のような構造である場合(ES)について説明した。次に、動画データファイルが図7のような構造である場合(PES、PS)について説明する。基本的な処理の流れは図16と同じである。
ただし、予測処理、ストリームキャッシュ処理、フレーム復元処理が、それぞれ、図26、図27、図28に示すように若干異なっている。図17、図18、図19と同じ処理の部分には同一の符号を付している。
図26の予測処理では、ステップS2041において、必要複数フレームが含まれるPESパケットのアクセス位置をインデックスファイル(図10参照)から取得する。
図27のストリームキャッシュ処理では、ステップS3011において、必要複数GOPが含まれるPESパケットにアクセスし、ステップS3012において、PESパケットを取得してGOPを復元する。このように、ストリームキャッシュ処理に段階で、GOPをまとめて復元してキャッシュしておくことにより、処理の迅速化を図っている。
図28のフレーム復元処理では、ステップS4061において、インデックスファイル4(図10)を参照し、対象フレームを得るためのPESパケットのアクセス位置を取得する。ステップS4062において、PESパケットを取得し、当該PES形式パケットに基づいてGOPを復元する。
上記では、動画データファイルが図7のような構造である場合(PES、PS)について説明した。次に、動画データファイルが図11のような構造である場合(TS)について説明する。基本的な処理の流れは図16と同じである。
ただし、予測処理、ストリームキャッシュ処理、フレーム復元処理が、それぞれ、図29、図30、図31に示すように若干異なっている。図17、図18、図19と同じ処理の部分には同一の符号を付している。
図29の予測処理では、ステップS2045において、必要複数フレームが含まれるTSパケットのアクセス位置をインデックスファイル(図14参照)から取得する。
図30のストリームキャッシュ処理では、ステップS3015において、必要複数GOPが含まれるTSパケットにアクセスし、ステップS3016において、TSパケットを取得してPESパケットを復元し、さらにGOPを復元する。このように、ストリームキャッシュ処理に段階で、GOPをまとめて復元してキャッシュしておくことにより、処理の迅速化を図っている。
図31のフレーム復元処理では、ステップS4065において、インデックスファイル4(図14)を参照し、対象フレームを得るためのTSパケットのアクセス位置を取得する。ステップS4066において、TSパケットを取得し、当該TSパケットに基づいてPESパケットを復元し、GOPを復元する。
上記実施形態では、同時に再生すべきクリップが1つである場合について説明した。しかし、図32に示すように、2つのフレームをデコードして、これらフレームに基づいて1つのフレームを作るトランジションの場合においても適用することができる。図32において、T1およびT2の部分が、トランジションである。
この場合には、トランジションの対象となる2つのクリップのためにそれぞれ独立したフレームキャッシュ記録部を設ける。たとえば、トランジションT1においては、動画データファイルXのクリップClip001のフレームと、動画データファイルYのクリップClip002のフレームの2つを合成しなければならない。ハードディスク2から両フレームを読み出した場合には、動画データファイルXと動画データファイルYに対してフレーム毎に、交互にアクセスしなければならなくなる。したがって、処理速度がきわめて遅くなってしまう。
この実施形態では、メモリ34にフレームキャッシュ記録部を設けているので、処理速度を向上させることができる。
なお、このようなトランジションは、図33に示すように、編集構成データ12のトランジション情報215に記述されているので、CPU30は予測を行うことができる。
5.その他の実施形態
上記実施形態では、再生装置を例として説明したが、再生機能を有する装置、たとえば動画編集装置、動画送信装置などにも同様に適用することができる。動画編集装置においては、オペレータの操作入力に基づいて、編集構成データファイル6の記述を書き換えることにより編集を行う。
上記実施形態では、インデックスファイルを用いてアクセスを迅速化している。しかし、インデックスファイルを用いなくとも、この発明を実施することができる。この場合、予測手段8、ストリームキャッシュ処理手段10は、インデックスファイル4を参照できないので、直接的に動画データファイル6にアクセスして所望のデータを探し出すことになる。また、この場合において、ストリームキャッシュ処理手段10は、動画データファイル6の該当部分を読み出して非可動式記録部14に記録する際に、キャッシュインデックスファイルを生成するようにしてもよい。
上記実施形態では、図6、図10、図14に示すように、インデックスファイルにおいて、各GOPごとに、先頭フレームおよび最終フレームを代表フレームとし、先頭フレーム番号および最終フレーム番号を記録するようにしている。しかし、先頭フレームを代表フレームとし、先頭フレーム番号を記録するようにしてもよい。この場合、最終フレーム番号は記録されないが、CPU130は、ステップS402、S503において、時系列に並んだ次のGOPの先頭フレーム番号を取得すれば、当該GOPに含まれるフレーム番号の範囲を認識することができる。
上記実施形態では、MPEG形式のデータについて説明したが、双方向予測符号化を用いる他の圧縮形式の動画データについても同様に適用することができる。
上記実施形態では、グループデータやパケットの代表点として、先頭位置を用いている。しかし、アクセスを容易にできる位置であれば、どの場所を代表点として用いてもよい。たとえば、動画データファイルの後方からアクセする場合には、終了位置を代表点として用いるとよい。
上記実施形態では、CPUを用いて各機能を達成しているが、その全部または一部をハードウエアによって構成してもよい。
図1は、この発明の一実施形態による動画再生装置の機能ブロック図である。 動画再生装置のハードウエア構成を示す図である。 メイン(プロキシ)動画データファイル(ES)の構成を示す図である。 インデックスファイル作成処理のフローチャートである。 インデックスファイル作成処理のフローチャートである。 インデックスファイルの構成を示す図である。 動画データファイル(PES)の構成を示す図である。 インデックスファイル作成処理のフローチャートである。 インデックスファイル作成処理のフローチャートである。 インデックスファイルの構成を示す図である。 動画データファイル(TS)の構成を示す図である。 インデックスファイル作成処理のフローチャートである。 インデックスファイル作成処理のフローチャートである。 動画インデックスファイルの構成を示す図である。 インデックスファイル作成処理のフローチャートである。 再生処理プログラムのフローチャートである。 予測処理のフローチャートである。 ストリームキャッシュ処理のフローチャートである。 フレーム復元処理のフローチャートである。 編集構成データの構造を示す図である。 動画データファイルと編集構成データとの関係を示す図である。 編集構成データの一部を示す図である。 リストを示す図である。 インデックスファイルのデータ例である。 キャッシュインデックスファイルのデータ例を示す図である。 予測処理のフローチャートである。 ストリームキャッシュ処理のフローチャートである。 フレームの復元処理のフローチャートである。 予測処理のフローチャートである。 ストリームキャッシュ処理のフローチャートである。 フレーム復元処理のフローチャートである。 トランジションを説明するための図である。 編集構成データのトランジション情報の詳細を示す図である。
符号の説明
2・・・可動式記録部
4・・・インデックスファイル
6・・・動画データファイル
8・・・予測手段
10・・・ストリームキャッシュ処理手段
12・・・非可動式記録部
16・・・グループデータ
18・・・個別フレーム順番情報
20・・・個別アクセス位置
22・・・特定手段
24・・・フレーム復元手段
26・・・表示部

Claims (12)

  1. 動画を構成するフレームをエンコードした動画データファイルを記録し、アクセスのための可動部を有する可動式記録部と、
    動画の一部である各動画素材の開始フレーム順番情報および終了フレーム順番情報を特定する編集構成データファイルを記録した編集構成データファイル記録部と、
    動画データファイルのフレーム群を記録するための非可動式のストリームキャッシュ記録部と、
    編集構成データファイルに基づいて必要となる複数フレームを予想する予測手段と、
    予測手段による当該予想複数フレームに対応する動画データファイルの一部を、可動式記録部から読み出して、ストリームキャッシュ記録部に記憶するストリームキャッシュ処理手段と、
    編集構成データファイルに基づいて次に必要な対象フレームを特定する特定手段と、
    ストリームキャッシュ手段に記憶された動画データファイルに基づいて、前記対象フレームをデコードするフレーム復元手段と、
    フレーム復元手段によって復元されたフレームを表示する表示部と、
    を備えた動画再生機能を有する装置。
  2. コンピュータによって動画データファイルからフレームを取得するフレーム取得装置を構成するためのフレーム取得プログラムであって、
    動画を構成するフレームをエンコードした動画データファイルを記録し、アクセスのための可動部を有する可動式記録部と、動画の一部である各動画素材の開始フレーム順番情報および終了フレーム順番情報を特定する編集構成データファイルを記録した編集構成データファイル記録部と、動画データファイルのフレーム群を記憶するためのストリームキャッシュ記録部にアクセスするためのアクセス手段と、
    予想された必要となる予想複数フレームに対応する動画データファイルの一部を、可動式記録部から読み出して、ストリームキャッシュ記録部に記憶する非可動式のストリームキャッシュ処理手段と、
    ストリームキャッシュ手段に記憶された動画データファイルに基づいて、特定された次に必要な対象フレームをデコードするフレーム復元手段と、
    をコンピュータによって実現するためのフレーム取得プログラム。
  3. 請求項1の装置または請求項2のプログラムにおいて、
    前記可動式記録部に記録された動画データファイルは、エンコードした複数フレームの動画をグループ化してグループデータとし、当該グループデータを時系列順に配置したものであり、
    動画データファイル中の各グループデータの代表点の記録位置をアクセス位置として記述するとともに各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルが、動画データファイルに対応づけて記録されたインデックスファイル記録部が設けられており、
    前記ストリームキャッシュ処理手段は、予想複数フレームの両端のフレーム順番情報とインデックスファイルの代表フレーム順番情報に基づいて、予想複数フレームを含むグループデータを特定し、当該グループデータのアクセス位置に基づいて、前記可動式記録部からグループデータを取得することを特徴とするもの。
  4. 請求項1の装置または請求項2のプログラムにおいて、
    前記可動式記録部に記録された動画データファイルは、エンコードした複数フレームの動画をグループ化してグループデータとし、当該グループデータをパケット化したパケットデータを時系列順に配置したものであり、
    動画データファイル中の各グループデータを含むパケットの代表点の記録位置をアクセス位置として記述し、各グループデータに含まれる代表フレームの、動画データファイル全体のフレームにおける順番を示す代表フレーム順番情報を記述したインデックスファイルが、動画データファイルに対応づけて記録されたインデックスファイル記録部が設けられており、
    前記ストリームキャッシュ処理手段は、a)予想複数フレームの両端のフレーム順番情報とインデックスファイルの代表フレーム順番情報に基づいて、予想複数フレームを含むグループデータを特定し、b)当該グループデータを含むパケットのアクセス位置に基づいて、前記可動式記録部からグループデータを含むパケットを取得し、c)当該パケットからグループデータを復元してストリームキャッシュ記録部に記録することを特徴とするもの。
  5. 請求項3または4の装置またはプログラムにおいて、
    前記ストリームキャッシュ処理手段は、グループデータをストリームキャッシュ部に記録する際に、当該グループデータを構成する少なくとも主要ピクチャーデータの個別フレーム順番情報を算出してストリームキャッシュ部に記録し、
    前記フレーム復元手段は、前記個別フレーム情報に基づいて、対象フレームの復元に必要なピクチャーデータを特定することを特徴とするもの。
  6. 請求項3〜5のいずれか装置またはプログラムにおいて、
    前記ストリームキャッシュ処理手段は、グールプデータをストリームキャッシュ部に記録する際に、当該グループデータを構成する少なくとも主要ピクチャーデータのストリームキャッシュ記録部における記録位置を個別アクセス位置としてストリームキャッシュ記録部に記録し、
    前記フレーム復元手段は、前記個別フレーム情報に基づいて、対象フレームの復元に必要なピクチャーデータを特定することを特徴とするもの。
  7. 請求項1〜6のいずれかの装置またはプログラムにおいて、
    前記フレーム復元手段は、対象フレームを得るために復元した一以上のフレームをデコード済キャッシュ記録部に記録しておき、新たに必要となった対象フレームについて、デコード済キャッシュ記録部に記録されていればこれから取得し、デコード済キャッシュ記録部に記録されていなければ、ストリームキャッシュ記録部から取得して復元することを特徴とするもの。
  8. 請求項7の装置またはプログラムにおいて、
    前記フレーム復元手段は、対象フレームがデコード済キャッシュ記録およびストリームキャッシュ記録部のいずれにも記録されていない場合には、可動式記録部から取得して復元することを特徴とするもの。
  9. 請求項1〜8のいずれかの装置またはプログラムにおいて、
    前記ストリームキャッシュ処理手段または前記予測手段は、予測複数フレームが、予想再生順序において降順であるか否かを、フレーム順番情報に基づいて判断し、降順であれば昇順に修正することを特徴とするもの。
  10. 請求項1〜9の装置において、
    前記動画再生機能を有する装置は、動画編集装置であることを特徴とするもの。
  11. 請求項1〜9の装置において、
    前記動画再生機能を有する装置は、動画送信装置であることを特徴とするもの。
  12. 動画を構成するフレームをエンコードした動画データファイルを記録し、アクセスのための可動部を有する可動式記録部と、動画の一部である各動画素材の開始フレーム順番情報および終了フレーム順番情報を特定する編集構成データファイルを記録した編集構成データファイル記録部と、動画データファイルのフレーム群を記録するためのストリームキャッシュ記録部にアクセス可能なコンピュータによって動画を再生する方法であって、
    予測手段により、編集構成データファイルに基づいて必要となる複数フレームを予想し、
    ストリームキャッシュ処理手段により、予測手段による当該予想複数フレームに対応する動画データファイルの一部を、可動式記録部から読み出して、ストリームキャッシュ記録部に記憶し、
    特定手段により、編集構成データファイルに基づいて次に必要な対象フレームを特定し、
    ストリーム復元手段により、ストリームキャッシュ手段に記憶された動画データファイルに基づいて、前記対象フレームをデコードし、
    表示部により、フレーム復元手段によって復元されたフレームを表示することを特徴とする動画再生方法。
JP2005147976A 2005-05-20 2005-05-20 動画データ再生機能を有する装置、動画再生プログラムおよび動画データ再生方法 Active JP4566821B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005147976A JP4566821B2 (ja) 2005-05-20 2005-05-20 動画データ再生機能を有する装置、動画再生プログラムおよび動画データ再生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005147976A JP4566821B2 (ja) 2005-05-20 2005-05-20 動画データ再生機能を有する装置、動画再生プログラムおよび動画データ再生方法

Publications (3)

Publication Number Publication Date
JP2006325086A true JP2006325086A (ja) 2006-11-30
JP2006325086A5 JP2006325086A5 (ja) 2008-06-26
JP4566821B2 JP4566821B2 (ja) 2010-10-20

Family

ID=37544402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005147976A Active JP4566821B2 (ja) 2005-05-20 2005-05-20 動画データ再生機能を有する装置、動画再生プログラムおよび動画データ再生方法

Country Status (1)

Country Link
JP (1) JP4566821B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038798A (ja) * 2007-07-31 2009-02-19 Hewlett-Packard Development Co Lp ポータルベースのビデオインデックス付け
US7693008B2 (en) 2007-10-31 2010-04-06 Kabushiki Kaisha Toshiba Video reproduction apparatus, video reproduction method, and video reproduction process program
JP2013034226A (ja) * 2012-09-26 2013-02-14 Canon Inc 情報送信装置、その制御方法及びプログラム
CN110473275A (zh) * 2018-05-09 2019-11-19 鸿合科技股份有限公司 一种安卓系统下的帧动画实现方法、装置、电子设备
CN116761019A (zh) * 2023-08-24 2023-09-15 瀚博半导体(上海)有限公司 视频处理方法、系统、计算机设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000023090A (ja) * 1998-04-28 2000-01-21 Hitachi Ltd 圧縮動画像編集装置および記憶媒体
JP2000030419A (ja) * 1998-07-08 2000-01-28 Sony Corp 記録媒体制御装置および方法、並びにアクセス制御装置
JP2002230948A (ja) * 2000-11-29 2002-08-16 Matsushita Electric Ind Co Ltd 光ディスク、記録装置、再生装置、プログラム、コンピュータ読み取り可能な記録媒体及び方法。
JP2004040261A (ja) * 2002-06-28 2004-02-05 Nec Micro Systems Ltd 多値画像符号化・復号化装置
JP2004110876A (ja) * 2002-09-13 2004-04-08 Canon Inc 映像データの符号化レート制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000023090A (ja) * 1998-04-28 2000-01-21 Hitachi Ltd 圧縮動画像編集装置および記憶媒体
JP2000030419A (ja) * 1998-07-08 2000-01-28 Sony Corp 記録媒体制御装置および方法、並びにアクセス制御装置
JP2002230948A (ja) * 2000-11-29 2002-08-16 Matsushita Electric Ind Co Ltd 光ディスク、記録装置、再生装置、プログラム、コンピュータ読み取り可能な記録媒体及び方法。
JP2004040261A (ja) * 2002-06-28 2004-02-05 Nec Micro Systems Ltd 多値画像符号化・復号化装置
JP2004110876A (ja) * 2002-09-13 2004-04-08 Canon Inc 映像データの符号化レート制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038798A (ja) * 2007-07-31 2009-02-19 Hewlett-Packard Development Co Lp ポータルベースのビデオインデックス付け
US7693008B2 (en) 2007-10-31 2010-04-06 Kabushiki Kaisha Toshiba Video reproduction apparatus, video reproduction method, and video reproduction process program
JP2013034226A (ja) * 2012-09-26 2013-02-14 Canon Inc 情報送信装置、その制御方法及びプログラム
CN110473275A (zh) * 2018-05-09 2019-11-19 鸿合科技股份有限公司 一种安卓系统下的帧动画实现方法、装置、电子设备
CN116761019A (zh) * 2023-08-24 2023-09-15 瀚博半导体(上海)有限公司 视频处理方法、系统、计算机设备及计算机可读存储介质

Also Published As

Publication number Publication date
JP4566821B2 (ja) 2010-10-20

Similar Documents

Publication Publication Date Title
JP4421156B2 (ja) 画像再生装置および画像記録再生装置
JP5332773B2 (ja) 画像処理装置および方法
EP1818937A1 (en) Recording apparatus, recording method, program for recording method, recording medium recording program for recording method, reproducing apparatus, reproduction method, program for reproduction method, and recording medium recording program for reproduction method
US7716259B2 (en) File splitting apparatus, file splitting method and file splitting program
US8676038B2 (en) Recording/reproducing apparatus, recording apparatus, reproducing apparatus, recording method, reproducing method and computer program
TW200813893A (en) Motion picture encoding device, motion picture encoding emthod, motion picture decoding device, motion picture decoding method, motion picture recording device, program, and data structure
JP2008053763A (ja) Avデータ記録装置及び方法、avデータ再生装置及び方法、当該avデータ記録装置又は方法で記録された記録媒体
JP2002218390A (ja) Mpegビデオ編集装置及びmpegビデオ編集方法
JP4566821B2 (ja) 動画データ再生機能を有する装置、動画再生プログラムおよび動画データ再生方法
JP7016377B2 (ja) 再生方法及び再生装置
JP2010022003A (ja) 動画ファイル再生装置、動画ファイル再生方法、プログラム
JP2006324848A (ja) 情報処理装置及び情報処理方法
JP4552802B2 (ja) 記録装置、記録方法、記録方法のプログラム及び記録方法のプログラムを記録した記録媒体
JP4548226B2 (ja) データ処理方法、その装置およびプログラム
US20040223739A1 (en) Disc apparatus, disc recording method, disc playback method, recording medium, and program
JP2006325086A5 (ja)
KR100676723B1 (ko) 영상 재생 장치
US6999090B2 (en) Data processing apparatus, data processing method, information storing medium, and computer program
US20060291805A1 (en) Recording/reproduction device and recording/reproduction method
JP2006325082A (ja) 動画データ編集装置および方法
JP2008283276A (ja) 撮像装置
CN101032165B (zh) 制作装置、制作方法
WO2004036582A1 (ja) Avデータ記録方法、avデータ記録装置、データ記録媒体、プログラム並びにプログラム記録媒体
JP2006279147A (ja) インデックスファイル作成装置および動画編集装置
US7502379B2 (en) Disk playback apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080507

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080507

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100713

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: 20100802

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: 20100804

R150 Certificate of patent or registration of utility model

Ref document number: 4566821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250