(57)【特許請求の範囲】
【請求項１】
映像素材に関する情報がＸＭＬスキーマに基づいて記述されたメタデータを生成して符号化する記録装置であって：
前記メタデータを予め定めたＸＭＬスキーマに基づいてテキスト形式で記述するメタデータ記述部と；
前記メタデータ記述部で記述された前記メタデータをテキスト形式からバイナリ形式への変換により符号化して符号化データを生成する符号化部と；
を含み、
前記メタデータ記述部は、前記メタデータの記述の際に前記メタデータにおけるデータが省略可能な非必須項目についてデータの存在の有無を判断し、前記非必須項目にデータが存在しないと判断した場合に前記符号化データに代替データを埋め込むための代替情報を前記非必須項目に記述し、
前記符号化部は、前記非必須項目について前記代替情報の有無を判断し、前記非必須項目に前記代替情報が記述されていたと判断した場合に前記非必須項目に相当する位置に前記代替情報に基づいて前記代替データを埋め込んで、テキスト形式からバイナリ形式への変換により符号化することを特徴とする、記録装置。
【請求項２】
前記メタデータ記述部は、前記メタデータにおける非必須項目の要素名に所定の文字列を付加した要素名で前記代替情報を前記非必須項目に記述することを特徴とする、請求項１に記載の記録装置。
【請求項３】
前記符号化部は、前記符号化データを生成する際に、前記代替データの前に１を、前記代替データ以外の前に０を付加して符号化することを特徴とする、請求項１に記載の記録装置。
【請求項４】
映像素材に関する情報がＸＭＬスキーマに基づいて記述されたメタデータを生成して符号化する記録方法であって：
前記メタデータをＸＭＬスキーマに基づいてテキスト形式で記述するメタデータ記述ステップと；
前記メタデータ記述ステップで記述された前記メタデータをバイナリ形式への変換により符号化して符号化データを生成する符号化ステップと；
を含み、
前記メタデータ記述ステップでは、前記メタデータの記述の際に前記メタデータにおけるデータが省略可能な非必須項目についてデータの存在の有無を判断し、前記非必須項目にデータが存在しないと判断した場合に前記符号化データに代替データを埋め込むための代替情報を前記非必須項目に記述し、
前記符号化ステップでは、前記非必須項目について前記代替情報の有無を判断し、前記非必須項目に前記代替情報が記述されていたと判断した場合に前記非必須項目に相当する位置に前記代替データを埋め込んでバイナリ形式への変換により符号化することを特徴とする、記録方法。
【請求項５】
映像素材に関する情報がＸＭＬスキーマに基づいて記述されたメタデータを生成して符号化するためのコンピュータプログラムであって：
コンピュータに、
前記メタデータをＸＭＬスキーマに基づいてテキスト形式で記述するメタデータ記述ステップと；
前記メタデータ記述ステップで記述された前記メタデータをバイナリ形式への変換により符号化して符号化データを生成する符号化ステップと；
を含む処理を実行させ、
前記メタデータ生成ステップでは、前記メタデータの記述の際に前記メタデータにおけるデータが省略可能な非必須項目についてデータの存在の有無を判断し、前記非必須項目にデータが存在しないと判断した場合に前記符号化データに代替データを埋め込むための代替情報を前記非必須項目に記述し、
前記符号化ステップでは、前記非必須項目について前記代替情報の有無を判断し、前記非必須項目に前記代替情報が記述されていたと判断した場合に前記非必須項目に相当する位置に前記代替データを埋め込んでバイナリ形式への変換により符号化することを特徴とする、コンピュータプログラム。
【請求項６】
請求項５に記載のコンピュータが読み取り可能なコンピュータプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置、記録方法、コンピュータプログラムおよび記録媒体に関し、より詳細には、メタデータの符号化を行う記録装置、記録方法、コンピュータプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
近年、映像作品の制作分野において、撮影した映像素材のデータ（以下、素材データとも記述する）に関する情報が記述されているメタデータの利用が進んできている。ここでメタデータとは、素材データを検索したり、素材データを編集したりするために用いられるものである。
【０００３】
メタデータを有効活用するためにはメタデータの互換性が必要となる。例えば、ビデオカメラ等のビデオ信号記録装置が生成したメタデータを、編集機器等のビデオ信号再生装置が利用できるようにするためには、映像作品の制作に利用される複数の機器間でメタデータを扱えるようにする必要がある。
【０００４】
そこで、メタデータの表記形式や意味に一貫性を持たせるために、メタデータの表記形式の標準化が進められてきた。例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）７においては、汎用性が高いＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ
Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用いてメタデータを記述することにより、メタデータの表記形式の標準化がなされている。
【０００５】
ＭＰＥＧ７により規定されているメタデータは、例えば、素材データの絶対的な再生位置を示すタイムコードのような素材データとのリアルタイムな対応が要求されるリアルタイムメタデータと、例えば素材データを撮影した場所を示す情報のような素材データとのリアルタイムな対応が要求されないノンリアルタイムメタデータに分類される。
【０００６】
リアルタイムメタデータは、素材データの再生と並行して読み出され、利用されることが多いので、リアルタイムメタデータの読み出しに要する時間やリソースをより減少させることを目的として、ＸＭＬを用いて記述されているリアルタイムメタデータをバイナリ形式で圧縮符号化し、得られる符号化データ（以下、ＢｉＭ（Ｂｉｎａｒｙ  ｆｏｒｍａｆｏｒ  ＭＰＥＧ−７  ｄａｔａ）とも記述する）として記録する方法がある（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開２００５−２０３２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ＸＭＬにおいて、例えば、静止画像については、撮影時のカメラ動作パラメータの記録は一般に行われているが、それに対して動画像の各フレームに対応したカメラの動作パラメータは記録されていなかった。
【０００９】
ＸＭＬ上に項目を記録しないことで、その項目の欠落を示すことは可能である。しかし、ＢｉＭ形式で記録すると、複雑なデータ構成をもつファイルが生成され、そのデータを読み解くためには複雑な処理が要求される。例えば、ＢｉＭ形式においては、ある項目が欠落するとその後の項目が前詰めで配置されるため、あるデータがどの項目に相当するかを示すインデックス情報を記録する処理が必要となり、処理が複雑になる問題がある。
【００１０】
また、ＢｉＭ形式において、ある項目が欠落すると、各項目の１フレーム分のデータ内でのオフセットが一定とはならないため、ある項目のデータを取得するにはフレーム内のデータ構造を分析し、項目の位置を同定する処理が必要となる。
【００１１】
ＢｉＭのデータを解釈するには符号化されたデータをデコードすればよい。しかし、符号化されたデータから直接データを取得すれば、ＢｉＭのデータのデコードを行う必要が無いので処理時間の短縮に繋がるだけでなく、ＢｉＭのデータをデコードするデコーダ（ＢｉＭパーサ）が不要になる。
【００１２】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、メタデータを記述する際に、非必須項目において項目の欠落が生じる場合でも、バイナリ形式のデータの記録や読み取りを簡潔に行うことが可能な、新規かつ改良された記録装置、記録方法、コンピュータプログラムおよび記録媒体を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明のある観点によれば、メタデータを生成して符号化する記録装置であって、メタデータを記述するメタデータ記述部と、メタデータ記述部で記述されたメタデータをバイナリ形式で符号化して符号化データを生成する符号化部と、を含み、メタデータ記述部は、メタデータにおける非必須項目について、データが存在しない場合に符号化データに代替データを埋め込むための代替情報を記述し、符号化部は、代替情報が記述されていた場合に代替データを埋め込んで符号化することを特徴とする、記録装置が提供される。
【００１４】
かかる構成によれば、メタデータ記述部はメタデータを記述する。メタデータを記述する際には、メタデータにおける非必須項目について、データが存在しない場合に符号化データに代替データを埋め込むための代替情報を記述する。そして符号化部はメタデータ記述部で記述されたメタデータをバイナリ形式で符号化して符号化データを生成する。符号化するときには、代替情報が記述されていた場合に代替データを埋め込んで符号化する。その結果、メタデータを記述する際に、非必須項目において項目の欠落が生じる場合でも、非必須項目については代替データを埋め込んで符号化するので、バイナリ形式のデータの記録や読み取りをより効率的に行うことが可能となる。
【００１５】
メタデータ記述部は、メタデータにおける非必須項目の要素名に所定の文字列を付加した要素名で代替情報を記述してもよい。その結果、符号化部はメタデータ記述部で記述されたメタデータにおいて所定の文字列を付加した要素名で代替情報が記述されていた場合に、代替データを埋め込んで符号化することができる。
【００１６】
符号化部は、符号化データを生成する際に、代替データの前に１を、代替データ以外のデータの前に０を付加して符号化してもよい。その結果、バイトの先頭のビットが１であれば当該バイトにはデータが存在せず、バイトの先頭のビットが０であれば当該バイトにはデータが存在するので、データを取得する際にはマスク処理を行わずに済むので、符号化データからのデータの取得が容易になる。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、メタデータを生成して符号化する記録方法であって、メタデータを記述するメタデータ記述ステップと、メタデータ記述ステップで記述されたメタデータをバイナリ形式で符号化して符号化データを生成する符号化ステップと、を含み、メタデータ生成ステップでは、メタデータにおける非必須項目について、データが存在しない場合に符号化データに代替データを埋め込むための代替情報を記述し、符号化ステップでは、代替情報が記述されていた場合に代替データを埋め込んで符号化することを特徴とする、記録方法が提供される。
【００１８】
かかる構成によれば、メタデータ記述ステップはメタデータを記述する。メタデータを記述する際には、メタデータにおける非必須項目について、データが存在しない場合に符号化データに代替データを埋め込むための代替情報を記述する。そして符号化ステップはメタデータ記述部で記述されたメタデータをバイナリ形式で符号化して符号化データを生成する。符号化するときには、代替情報が記述されていた場合に代替データを埋め込んで符号化する。その結果、メタデータを記述する際に、非必須項目において項目の欠落が生じる場合でも、非必須項目については代替データを埋め込んで符号化するので、バイナリ形式のデータの記録や読み取りをより効率的に行うことが可能となる。
【００１９】
また、上記課題を解決するために、本発明の別の観点によれば、メタデータを生成して符号化するためのコンピュータプログラムであって、メタデータを記述するメタデータ記述ステップと、メタデータ記述ステップで記述されたメタデータをバイナリ形式で符号化して符号化データを生成する符号化ステップと、を含み、メタデータ生成ステップでは、メタデータにおける非必須項目について、データが存在しない場合に符号化データに代替データを埋め込むための代替情報を記述し、符号化ステップでは、代替情報が記述されていた場合に代替データを埋め込んで符号化することを特徴とする、コンピュータプログラムが提供される。
【００２０】
かかる構成によれば、メタデータ記述ステップはメタデータを記述する。メタデータを記述する際には、メタデータにおける非必須項目について、データが存在しない場合に符号化データに代替データを埋め込むための代替情報を記述する。そして符号化ステップはメタデータ記述部で記述されたメタデータをバイナリ形式で符号化して符号化データを生成する。符号化するときには、代替情報が記述されていた場合に代替データを埋め込んで符号化する。その結果、メタデータを記述する際に、非必須項目において項目の欠落が生じる場合でも、非必須項目については代替データを埋め込んで符号化するので、バイナリ形式のデータの記録や読み取りをより効率的に行うことが可能となる。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、上記コンピュータが読み取り可能なコンピュータプログラムが記録されている記録媒体が提供される。
【発明の効果】
【００２２】
以上説明したように本発明によれば、メタデータを記述する際に、非必須項目において項目の欠落が生じる場合でも、バイナリ形式のデータの記録や読み取りを簡潔に行うことが可能な、新規かつ改良された記録装置、記録方法、コンピュータプログラムおよび記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２４】
図１は、本発明の一実施形態にかかる記録装置１００について説明する説明図である。以下、図１を用いて本発明の一実施形態にかかる記録装置１００について説明する。
【００２５】
記録装置１００は、映像データや音声データの編集の際に用いられる装置である。記録装置１００には、ネットワークを通じて、また記録媒体を通じて、映像データや音声データが入力される。そして、記録装置１００は入力された映像データや音声データに対して各種編集処理を行う。
【００２６】
図１に示したように、本発明の一実施形態にかかる記録装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０６と、クリップデータ編集部１０８と、エディットリスト編集部１１０と、入力部１１６と、出力部１１８と、記憶部１２０と、通信部１２２と、ドライブ１２４と、バス１１２と、入出力インタフェース１１４と、を含んで構成される。
【００２７】
ＣＰＵ１０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０４に記憶されているプログラムに従って各種の処理を実行するものである。ＲＡＭ１０６には、ＣＰＵ１０２が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。
【００２８】
クリップデータ編集部１０８は、入力部１１６が受け付けたユーザからの操作入力に基づいて、ドライブ１２４に装着されたリムーバブルメディア１２６に記録されている画像データ、音声データ、ローレゾデータ、あるいはメタデータ等、または、通信部１２２を介して取得したローレゾデータ等に対して編集処理を行う。そして、編集処理によって編集内容に関する情報や編集後のデータに関する情報等を生成し、生成した情報等をエディットリスト編集部１１０に供給する。なお、クリップデータ編集部１０８は、編集対象となる各種のデータを更新せずに、非破壊的な編集処理を行う。
【００２９】
クリップデータ編集部１０８には、本発明のメタデータ記述部と、符号化部の一例であるＢｉＭエンコーダとが内蔵されている。ＢｉＭエンコーダは、ＢｉＭの元となるメタデータの記述方式が定義されているスキーマ定義文書（例えばＸＭＬ  ｓｃｈｅｍａ）を有している。
【００３０】
なお、クリップデータ編集部１０８にはＢｉＭのデータをデコードするためのＢｉＭでコーダを含んでいてもよい。ＢｉＭエンコーダとＢｉＭデコーダとが共通のスキーマ定義文書を有していれば、ＢｉＭエンコーダによってエンコードされたデータをＢｉＭデコーダによって完全に解釈することが可能である。
【００３１】
エディットリスト編集部１１０は、クリップデータ編集部１０８において行われる編集処理に伴って生成される各種の情報に基づいて、編集結果に関する情報であるエディットリストを生成し、記憶部１２０に記憶させる。なお、その際、エディットリスト編集部１１０は、編集対象となるクリップの、リアルタイム性を要求されないメタデータであるクリップメタデータに基づいて、エディットリスト用のクリップメタデータであるディットリスト用クリップメタデータを生成する。
【００３２】
例えば、エディットリスト編集部１１０は、編集対象となるクリップのクリップメタデータに含まれる変換テーブルに基づいて、編集後のクリップの画像データ等に対応するＬＴＣ（Ｌｉｎｅａｒ  Ｔｉｍｅ  Ｃｏｄｅ）の不連続点と、そのフレーム番号との変換テーブルを生成し、エディットリスト用クリップメタデータとして記録する。
【００３３】
ＣＰＵ１０２、ＲＯＭ１０４、ＲＡＭ１０６、クリップデータ編集部１０８、およびエディットリスト編集部１１０は、バス１１２を介して相互に接続されている。このバス１１２にはまた、入出力インタフェース１１４も接続されている。
【００３４】
入出力インタフェース１１４は、キーボードやマウスから構成される入力部１１６が接続され、入力部１１６に入力された信号をＣＰＵ１０２に出力する。また、入出力インタフェース１１４には、ディスプレイやスピーカなどから構成される出力部１１８も接続されている。
【００３５】
さらに、入出力インタフェース１１４には、ハードディスクやＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などから構成される記憶部１２０およびネットワークなどを介して他の装置とデータの通信を行う通信部１２２も接続されている。ドライブ１２４は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどの記録媒体からなるリムーバブルメディア１２６よりデータを読み出したり、データを書き込んだりするときに用いられるものである。
【００３６】
以上、本発明の一実施形態にかかる記録装置１００について説明した。次に、本発明の一実施形態にかかる記録装置１００が記録するメタデータについて説明するが、本発明の一実施形態にかかる記録装置１００が記録するメタデータについて説明する前に、従来において記録されるメタデータについて説明する。
【００３７】
図６は、従来において記録されるメタデータにおいて、メタデータを作成する基となるＸＭＬ  ｓｃｈｅｍａ（スキーマ）、ＸＭＬ  ｓｃｈｅｍａに基づいて作成されるＸＭＬ  ＤａｔａおよびＸＭＬ  ＤａｔａをＢｉＭエンコーダで符号化することで得られるデータ（ＢｉＭデータ）の一例を示す説明図である。
【００３８】
ＸＭＬ  ｓｃｈｅｍａで要素を順番に登場させるように定義するには、＜ｓｅｑｕｅｎｃｅ＞タグを用いる。＜ｓｅｑｕｅｎｃｅ＞と＜／ｓｅｑｕｅｎｃｅ＞に囲まれ、＜ｅｌｅｍｅｎｔ＞で定義された要素は、ＸＭＬ  Ｄａｔａ上で順番に登場する。また、＜ｅｌｅｍｅｎｔ＞における“ｍｉｎＯｃｃｕｒｓ”は最小出現回数を定義する属性であり、０は、その要素が省略可能であることを示す。
【００３９】
なお、実際のＸＭＬ  ｓｃｈｅｍａにおいては、各タグにおいて“ｘｓｄ：”というＸＭＬ  ｓｃｈｅｍａであることを示す接頭語が付加されているが、以下の説明および図面ではＸＭＬ  ｓｃｈｅｍａの各タグにおいて“ｘｓｄ：”の記載を省略する。
【００４０】
図６に示したＸＭＬ  ｓｃｈｅｍａの例では、ＸＭＬ  Ｄａｔａ上に要素“Ａ”、“Ｂ”、“Ｃ”、・・・、“Ｚ”が順番に登場するように定義している。そして、このようにＸＭＬ  ｓｃｈｅｍａで定義されて生成されるＸＭＬ  Ｄａｔａには、タグ＜Ａ＞、＜Ｂ＞、＜Ｃ＞、・・・、＜Ｚ＞で挟まれたデータが順番に登場する。
【００４１】
図６に示したＸＭＬ  ＤａｔａをＢｉＭエンコーダで圧縮符号化して得られるＢｉＭのデータは、１ビットのＥｌｅｍｅｎｔ有無識別子と、Ｅｌｅｍｅｎｔ有無識別子に続くデータ部との繰り返しで表記される。Ｅｌｅｍｅｎｔ有無識別子は、当該要素に値が省略されていなければ１で、省略されていれば０で、それぞれ値が格納される。図６に示した例においては、要素“Ａ”についてのＥｌｅｍｅｎｔ有無識別子に続き、要素“Ａ”の値ａを符号化したデータがデータ部に格納され、以下要素“Ｂ”、要素“Ｃ”、・・・、要素“Ｚ”についてのＥｌｅｍｅｎｔ有無識別子と各要素の値を符号化したデータが順に格納される。
【００４２】
しかし、ＸＭＬでデータを作成する上で、必ずしも必須ではない要素（非必須要素）が存在する場合がある。そのような場合に、各要素を省略可能とするには、ＸＭＬ  ｓｃｈｅｍａにおいて、各要素について“ｍｉｎＯｃｃｕｒｓ＝０”と定義する必要がある。
【００４３】
しかし、非必須要素の内、省略した要素はＢｉＭエンコーダで圧縮符号化してＢｉＭのデータにすると、データ部が存在しないデータとなる。図７は、要素が省略されていない場合と省略された場合のＢｉＭのデータの違いについて説明する説明図である。
【００４４】
図７の（ａ）は、全てのデータが省略されていない場合について図示したものであり、図７の（ｂ）は、一部のデータが省略された場合について図示したものである。全てのデータが省略されていない場合は、Ｅｌｅｍｅｎｔ有無識別子が全て１で、Ｅｌｅｍｅｎｔ有無識別子に続いて各要素のデータを符号化した符号化データが存在する。一方、データが省略された場合には、省略された要素のＥｌｅｍｅｎｔ有無識別子は０で、その次のデータは、次の要素のＥｌｅｍｅｎｔ有無識別子となる。つまり、省略された要素のデータ部が存在しないデータとなる。これにより、各データのオフセットが固定されない状態となる。
【００４５】
図７に示した例では、要素“Ａ”のデータが省略されているためＥｌｅｍｅｎｔ有無識別子は０であり、続いて要素“Ａ”のデータ部では無く、要素“Ｂ”のＥｌｅｍｅｎｔ有無識別子およびデータ部が存在し、続いて要素“Ｃ”のＥｌｅｍｅｎｔ有無識別子およびデータ部が存在する。従って、要素“Ａ”のデータが省略されている場合は、要素“Ａ”が省略されていない場合と比べて、要素“Ｂ”や要素“Ｃ”のデータ部の位置が前方に詰まった状態となる。
【００４６】
つまり、ＢｉＭデコーダによってＢｉＭのデータをデコードせずに、符号化された状態のＢｉＭのデータからある要素のデータを直接取得したい場合には、ＢｉＭ上の位置でデータを特定することが出来ない。従って、ＢｉＭのデータからある要素のデータを直接取得したい場合には、ＢｉＭのデータを先頭から順次探索していく必要がある。そのため、従来においてＢｉＭのデータからある要素のデータを直接取得したい場合には、ＢｉＭのデータから目的の要素のデータを取得する際の処理が煩雑になり、処理効率が低下する問題がある。
【００４７】
図８は、従来において生成されるＢｉＭのデータから目的の要素のデータを直接取得する際の流れ図である。まず、ＢｉＭのデータの先頭を読み取り位置に設定する（ステップＳ１１）。次に当該読み取り位置におけるＥｌｅｍｅｎｔ有無識別子の取得を行う（ステップＳ１２）。続いて、ステップＳ１２で取得したＥｌｅｍｅｎｔ有無識別子の内容を判定する（ステップＳ１３）。ここで、ステップＳ１３における判定の結果、Ｅｌｅｍｅｎｔ有無識別子が１であった場合には、当該要素に対応するデータ部が存在するので、データ部のサイズ分だけ読み取り位置を移動する（ステップＳ１４）。一方、ステップＳ１３における判定の結果、Ｅｌｅｍｅｎｔ有無識別子が０であった場合には、読み取り位置の移動は行わない。
【００４８】
続いて、目的の要素のデータに到達したかどうかを判断する（ステップＳ１５）。目的の要素のデータに到達していない場合には、上記ステップＳ１２に戻ってＥｌｅｍｅｎｔ有無識別子の取得を行い、目的の要素のデータに到達するまで上記処理を繰り返す。一方、目的の要素のデータに到達している場合には、Ｅｌｅｍｅｎｔ有無識別子の取得を行う（ステップＳ１６）。
【００４９】
目的のデータのＥｌｅｍｅｎｔ有無識別子を取得すると、取得したＥｌｅｍｅｎｔ有無識別子の値を判定する（ステップＳ１７）。ステップＳ１７での判定の結果、値が０である場合には、目的データが無いという結果となる（ステップＳ１８）。一方、ステップＳ１７での判定の結果、値が１である場合には、データ部からデータを取得し（ステップＳ１９）、取得したデータが目的データであるという結果になる（ステップＳ２０）。
【００５０】
以上、従来において記録されるメタデータについて説明した。このように、従来において生成されるＢｉＭのデータからＢｉＭデコーダを介さずに、目的のデータを直接取得する際には、ＢｉＭのデータの先頭からＥｌｅｍｅｎｔ有無識別子の判定を行う必要がある。目的のデータがＢｉＭのデータの先方にあれば目的のデータに辿り着くまでにそれ程時間を要しない。しかし、目的のデータがＢｉＭのデータの後方にあればある程、目的のデータに辿り着くまでに時間を要することとなる。
【００５１】
そこで本発明では、メタデータにおける必須ではない項目について、データが存在しない場合に代替データを埋め込むための代替情報を記述し、この代替情報が記述されていた場合には代替データを埋め込んで符号化することで、符号化されたデータから目的のデータの取得を容易にかつ効率的に行うことを特徴とする。
【００５２】
次に、本発明の一実施形態にかかる記録装置１００が記録するメタデータについて説明する。
【００５３】
図２は、本発明の一実施形態にかかる記録装置１００のクリップデータ編集部１０８において定義されているＸＭＬ  ｓｃｈｅｍａと、ＸＭＬ  ｓｃｈｅｍａに基づいてクリップデータ編集部１０８で生成されるＸＭＬ  ｄａｔａについて説明する説明図である。クリップデータ編集部１０８は、例えば通信部１２２や、ドライブ１２４に挿入されたリムーバブルメディア１２６から映像データを取得し、映像データおよびＸＭＬ  ｓｃｈｅｍａに基づいてＸＭＬ  ｄａｔａを生成する。
【００５４】
図２の（ａ）は、本発明の一実施形態にかかる記録装置１００のクリップデータ編集部１０８において定義されているＸＭＬ  ｓｃｈｅｍａと、ＸＭＬ  ｓｃｈｅｍａに基づいて生成されるＸＭＬ  ｄａｔａの一例を示したものである。本実施形態では、ＸＭＬ  ｓｃｈｅｍａにおいて＜ｃｈｏｉｃｅ＞タグで＜ｅｌｅｍｅｎｔ＞タグを囲んでいることを特徴としている。＜ｃｈｏｉｃｅ＞タグは、複数の要素からいずれか１つを取り出すときに用いるタグである。
【００５５】
図２の（ａ）に示したように、＜ｃｈｏｉｃｅ＞タグで囲まれた＜ｅｌｅｍｅｎｔ＞タグは、要素名として“Ａ”と“ＡＮｉｌ”の２つを定義している。要素名“Ａ”で定義した＜ｅｌｅｍｅｎｔ＞タグは、“Ａ”という項目についての情報をＸＭＬ  ｄａｔａ内に格納するための要素である。そして、要素名“ＡＮｉｌ”で定義した＜ｅｌｅｍｅｎｔ＞タグは、“Ａ”という項目が必須の項目で無い場合に代替データとしてＸＭＬ  ｄａｔａ内に格納するための要素である。
【００５６】
必須ではない項目としては、例えばメーカ独自に定義した非標準的な項目がある。非標準的な項目としては、例えば当該メーカが製造したビデオカメラの設定や制御に関する情報がある。ビデオカメラの設定に関する情報としては、例えばビデオカメラの絞りや焦点距離に関する情報等がある。これらの情報はビデオカメラの機種によって記録される情報も異なり、また必ずしも記録されるものではない。
【００５７】
なお、本実施形態では、要素名の末尾に“Ｎｉｌ”を付加した名称で要素を定義することで、その要素が代替データであることを示しているが、要素名の末尾に付加する文字または文字列は、かかる例に限定されない。
【００５８】
そして、“Ａ”という項目が必須の項目ではない場合には、ＸＭＬ  ｄａｔａにおいて要素名が“ＡＮｉｌ”で中身が空であることを示す＜ＡＮｉｌ  ／＞タグを記述する。
【００５９】
図２の（ｂ）は、本発明の一実施形態にかかる記録装置１００のクリップデータ編集部１０８において定義されているＸＭＬ  ｓｃｈｅｍａの一例を示したものである。まず＜ｓｅｑｕｅｎｃｅ＞タグで要素の登場順を定義する。＜ｓｅｑｕｅｎｃｅ＞タグで囲まれている領域には、さらに＜ｃｈｏｉｃｅ＞タグで囲むように各要素の組を定義する。
【００６０】
＜ｃｈｏｉｃｅ＞タグで囲まれる各要素の組は、上述したように、要素名が定義された＜ｅｌｅｍｅｎｔ＞タグと、当該要素名の末尾に“Ｎｉｌ”を追加した要素名で定義する＜ｅｌｅｍｅｎｔ＞タグとの組である。
【００６１】
この際に、＜ｃｈｏｉｃｅ＞タグで囲まれる各要素は、要素名が定義された＜ｅｌｅｍｅｎｔ＞タグ、当該要素名の末尾に“Ｎｉｌ”を追加した要素名で定義する＜ｅｌｅｍｅｎｔ＞タグの順に定義する。このように、＜ｃｈｏｉｃｅ＞タグの中に辞書順で＜ｅｌｅｍｅｎｔ＞タグを定義することで、このようなＸＭＬ  ｓｃｈｅｍａを元に記述されたＸＭＬ  ｄａｔａを符号化した際に都合がいい。詳細については後述する。
【００６２】
図３は、本発明の一実施形態にかかる記録装置１００のクリップデータ編集部１０８において定義されているＸＭＬ  ｓｃｈｅｍａに基づいて記述されるＸＭＬ  ｄａｔａと、記述されたＸＭＬ  ｄａｔａをクリップデータ編集部１０８で圧縮符号化して得られるＢｉＭのデータ（ｄａｔａ）との例について説明する説明図である。
【００６３】
クリップデータ編集部１０８は、記録装置１００に入力された映像や音声データと、クリップデータ編集部１０８において定義されているＸＭＬ  ｓｃｈｅｍａに基づいてメタデータの一例であるＸＭＬ  ｄａｔａを作成する。メタデータを作成する際には、映像や音声データの各フレームに対応したメタデータ（リアルタイムメタデータ）や、画像信号の再生時等においてリアルタイム性を要求されないデータ（ノンリアルタイムメタデータ）を作成する。
【００６４】
図３では、ＸＭＬ  ｄａｔａにおいて、要素“Ａ”から要素“Ｚ”まで全ての要素が省略されずに記述された場合について示している。要素“Ａ”の値として、タグ＜Ａ＞に囲まれて値ａが記述され、要素“Ｂ”の値として、タグ＜Ｂ＞に囲まれて値ｂが記述されている。
【００６５】
このように記述されたＸＭＬ  ｄａｔａをクリップデータ編集部１０８で圧縮符号化して得られるＢｉＭのデータは、１ビットのｃｈｏｉｃｅ識別子と、ｃｈｏｉｃｅ識別子に続くデータ部との繰り返しで表記される。ｃｈｏｉｃｅ識別子は、ＸＭＬ  ｓｃｈｅｍａにおける＜ｃｈｏｉｃｅ＞タグ内の要素名を辞書順に並べた場合の０から始まる序数で表される。つまり、ＸＭＬ  ｄａｔａにおいてタグ＜Ａ＞を記述すると、ｃｈｏｉｃｅ識別子は０となり、ＸＭＬ  ｄａｔａにおいてタグ＜ＡＮｉｌ＞を記述すると、ｃｈｏｉｃｅ識別子は１となる。
【００６６】
ｃｈｏｉｃｅ識別子は、＜ｃｈｏｉｃｅ＞タグ内の要素名を辞書順に並べた場合の０から始まる序数で表される。必須ではない要素については、要素名で定義した＜ｅｌｅｍｅｎｔ＞タグに続いて、要素名の末尾に“Ｎｉｌ”を追加した要素名で＜ｅｌｅｍｅｎｔ＞タグを定義する。このように定義することで、ＢｉＭのデータにおいて、ｃｈｏｉｃｅ識別子が０の場合はデータ部にデータが存在し、ｃｈｏｉｃｅ識別子が１の場合はデータ部にデータが存在しないことが分かる。
【００６７】
なお、クリップデータ編集部１０８のＢｉＭエンコーダで符号化してＢｉＭのデータを生成する際には、ｃｈｏｉｃｅ識別子とデータ部の合計が１バイト（８ビット）の整数倍となるように符号化を行うことが望ましい。このように符号化を行うと、１バイトの整数倍のバイト数単位でｃｈｏｉｃｅ識別子とデータ部とが繰り返し現れるので、データの取得がより容易になる。本実施形態では、ｃｈｏｉｃｅ識別子とデータ部の合計が１バイトとなるように符号化するものとして説明する。
【００６８】
上述したように、従来において記録されるメタデータでは、データが存在しない要素はＢｉＭのデータにおいてデータ部そのものが存在せず、データが詰まってしまうため、各データのオフセットが固定されない状態となっていた。一方、本発明の一実施形態で記録されるメタデータは、データが存在しない要素は代替データを記述するので、ＢｉＭのデータにおいてデータ部が存在し、データが詰まることはない。従って、ＢｉＭのデータ上でも各データのオフセットが固定されるので、データの取得を容易かつ素早く行うことが可能となる。
【００６９】
図４は、本発明の一実施形態において生成されるＢｉＭのデータからあるデータを取得する際の流れ図である。
【００７０】
まず、目的のデータに対応したオフセットを読み取り位置に指定する（ステップＳ１０２）。つまり、１番目のデータを取得する場合には、１番目のデータに対応したオフセットを読み取り位置に指定し、１０番目のデータを取得する場合には、１０番目のデータに対応したオフセットを読み取り位置に指定する。
【００７１】
本実施形態においては、ｃｈｏｉｃｅ識別子とデータ部とが１バイトとなるように符号化を行っている。従って、１番目のデータを取得する場合には先頭から１バイト目を、１０番目のデータを取得する場合には先頭から１０バイト目を、それぞれ読み取り位置に指定する。
【００７２】
ステップＳ１０２で目的のデータに対応したオフセットを読み取り位置に指定すると、続いて当該データに対応するｃｈｏｉｃｅ識別子を取得する（ステップＳ１０４）。ステップＳ１０４でｃｈｏｉｃｅ識別子を取得すると、取得したｃｈｏｉｃｅ識別子の判定を行う（ステップＳ１０６）。
【００７３】
ステップＳ１０６での判定の結果、ｃｈｏｉｃｅ識別子が１であった場合には、当該データのデータ部には値が無い（全て０で格納されている）ので、目的データがないという結果となる（ステップＳ１０８）。一方、ｃｈｏｉｃｅ識別子が０である場合には、当該データ部にはデータが存在するので、データ部からデータを取得する（ステップＳ１１０）。そして、取得したデータが目的データであるという結果になる（ステップＳ１１２）。
【００７４】
従来はＢｉＭによるデータから所望するデータを取得するには、データの先頭から逐一ｅｌｅｍｅｎｔ有無識別子をチェックしながら所望するデータに辿り着いていた。これに対して、本実施形態にかかるＢｉＭによるデータから所望するデータを取得するには、目的のデータに対応したオフセットを読み取り位置に指定し、当該データに対応するｃｈｏｉｃｅ識別子を取得することでデータの有無を判定し、データが存在する場合にデータ部からデータを取得することができる。
【００７５】
図５は、本発明の一実施形態において生成されるＢｉＭのデータからあるデータを取得する場合について説明する説明図である。図５の（ａ）は、全てのデータが省略されずにＸＭＬ  ｄａｔａ上に記述された場合を示し、図５の（ｂ）は一部のデータが省略されてＸＭＬ  ｄａｔａ上に記述された場合を示している。
【００７６】
図５の（ａ）に示したように、全てのデータが省略されずに記述された場合では、ＢｉＭのデータは値が０であるｃｈｏｉｃｅ識別子と、ｃｈｏｉｃｅ識別子に続いてデータが格納されているデータ部との組が、全ての要素に渡って繰り返される。
【００７７】
一方、図５の（ｂ）に示したように、一部のデータが省略されて記述された場合では、ＢｉＭのデータは値が０または１であるｃｈｏｉｃｅ識別子と、ｃｈｏｉｃｅ識別子に続いてデータが格納されているか値が０であるデータ部との組が、全ての要素に渡って繰り返される。図５の（ｂ）では、要素“Ａ”と要素“Ｄ”が省略されており、当該要素はＸＭＬ  ｄａｔａ上で＜ＡＮｉｌ  ／＞タグと＜ＤＮｉｌ  ／＞タグが記述されている。
【００７８】
しかし、どちらの場合でも、他の要素のデータの有無に関わらず、ＢｉＭのデータ上で各データのオフセットが固定されている。従って、例えば要素“Ｃ”のデータを符号化されたＢｉＭのデータから取得する場合には、他の要素のデータの有無を考慮する必要は無い。目的の要素“Ｃ”に対応したオフセットを読み取り位置に指定して、要素“Ｃ”のオフセット位置のｃｈｏｉｃｅ識別子を取得して、ｃｈｏｉｃｅ識別子の値を判定することで、データを取得することができる。
【００７９】
なお、通常はデータが存在していれば識別子の値を１に、データが存在していなければ識別子の値を０に定義するのが普通である。しかし、本実施形態においては、データが存在していればｃｈｏｉｃｅ識別子の値が０に、データが存在していなければ、ｃｈｏｉｃｅ識別子の値が１になるように、それぞれ定義している。
【００８０】
この様に定義することで、バイトの先頭のビットが１であれば当該バイトにはデータが存在せず、バイトの先頭のビットが０であれば当該バイトにはデータが存在することになる。従って当該バイトからデータを取得する際には、先頭のビットのｃｈｏｉｃｅ識別子を取り除くためのマスク処理を行わずに済み、直接当該バイトからデータを取得することができるので、ＢｉＭのデータからのデータの直接取得が容易になる。
【００８１】
以上説明したように、本実施形態によれば、他の要素のデータの有無に関わらずデータの位置を固定するように符号化するようなメタデータを作成することで、従来のようなデータの先頭から目的のデータに辿り着くまで識別子を確認する処理が不要となり、符号化されたデータからのデータの取得を容易にかつ迅速に行うことが可能となる。符号化されたデータから直接データを取得すれば、ＢｉＭのデータのデコードを行う必要が無いので処理時間の短縮に繋がるだけでなく、ＢｉＭのデータをデコードするデコーダ（ＢｉＭパーサ）が不要になる。
【００８２】
また、本実施形態によって符号化したデータの構造も、従来の符号化データの構造と同じように、識別子とデータ部との組み合わせとなっている。従って、従来の符号化データの構造を前提としてデータを取得する装置に、本実施形態によって符号化したデータからデータを取得させる場合でも、識別子の定義が逆になっているだけなので、従来の装置においても少ない修正で本実施形態によって符号化したデータからデータを直接取得することが可能となる。
【００８３】
なお、上述した一連の処理は、ハードウェアによって実行させることもできるし、ソフトウェアによって実行させることもできる。ソフトウェアによって実行させる場合には、例えばＣＰＵ１０２がＲＯＭ１０４に記憶されているプログラムを読み出して、読み出したプログラムに従って、上述した処理を実行する。
【００８４】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００８５】
本発明は、記録装置、記録方法、コンピュータプログラムおよび記録媒体に適用可能であり、特にメタデータの符号化を行う記録装置、記録方法、コンピュータプログラムおよび記録媒体に適用可能である。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施形態にかかる記録装置１００について説明する説明図である。
【図２】本発明の一実施形態にかかるＸＭＬ  ｓｃｈｅｍａと、ＸＭＬ  ｄａｔａについて説明する説明図である。
【図３】本発明の一実施形態にかかるＸＭＬ  ｄａｔａとＢｉＭのデータとについて説明する説明図である。
【図４】本発明の一実施形態において生成されるＢｉＭのデータからあるデータを取得する際の流れ図である。
【図５】本発明の一実施形態において生成されるＢｉＭのデータからあるデータを取得する場合について説明する説明図である。
【図６】従来において記録されるメタデータの一例を示す説明図である。
【図７】要素が省略されていない場合と省略された場合のＢｉＭのデータの違いについて説明する説明図である。
【図８】従来において生成されるＢｉＭのデータから目的の要素のデータを直接取得する際の流れ図である。
【符号の説明】
【００８７】
１００    記録装置
１０２    ＣＰＵ
１０４    ＲＯＭ
１０６    ＲＡＭ
１０８    クリップデータ編集部
１１０    エディットリスト編集部
１１２    バス
１１４    入出力インタフェース
１１６    入力部
１１８    出力部
１２０    記憶部
１２２    通信部
１２４    ドライブ
１２６    リムーバブルメディア
【図１】
0004360428.tif 000002
【図２】
0004360428.tif 000003
【図３】
0004360428.tif 000004
【図４】
0004360428.tif 000005
【図５】
0004360428.tif 000006
【図６】
0004360428.tif 000007
【図７】
0004360428.tif 000008
【図８】
0004360428.tif 000009