(57)【要約】【課題】本発明は、マルチメディアコンテンツのフレームを検索する方法及び装置を提供する。【解決手段】上記検索のために、マルチメディアコンテンツのフレームに対して設定する平均ビットレート計算区間の平均ビットレートに従って目標時間に対応する目標フレームに関する候補位置を設定し、候補位置に基づいて平均ビットレート計算区間を徐々に縮小させて候補位置を調整し、開始位置が候補位置の各々に最も近いフレームの中から、目標時間に対する開始時間の差が所定の許容誤差範囲以内であるフレームを目標フレームとして決定する。【選択図】図２Ａ
2013172456.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアコンテンツのフレームを検索する方法であって、
マルチメディアコンテンツのフレームに対して設定する平均ビットレート計算区間の平均ビットレートに従って目標時間に対応する目標フレームに関する候補位置を設定するステップと、
前記候補位置に基づいて前記平均ビットレート計算区間を徐々に縮小させて前記候補位置を調整するステップと、
開始位置が前記候補位置の各々に最も近いフレームの中から、前記目標時間に対する開始時間の差が所定の許容誤差範囲以内であるフレームを前記目標フレームとして決定するステップと、
を有することを特徴とする方法。
【請求項２】
前記候補位置の調整は、前記最も近いフレームの開始時間と前記目標時間との間の差が前記許容誤差範囲以内となるまで反復して遂行されることを特徴とする請求項１に記載の方法。
【請求項３】
前記候補位置を設定するステップは、
前記マルチメディアコンテンツの全体データを前記平均ビットレート計算区間として設定するステップと、
前記全体データの平均ビットレートに従って前記目標時間に該当するデータサイズだけ前記全体データの開始位置から離隔された位置を候補位置として設定するステップと、
を有することを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記候補位置を調整するステップは、
前記フレームの中から現在設定された候補位置に開始位置が最も近いフレームを検索し、検索されたフレームの開始時間を候補時間として設定するステップと、
前記目標時間と前記候補時間との差を前記許容誤差範囲と比較するステップと、
前記目標時間と前記候補時間との差が前記許容誤差範囲を超えた場合、現在設定された平均ビットレート計算区間で前記目標時間から前記候補時間の方向に前記候補位置以外に存在する区間を除いた残りの区間を平均ビットレート計算区間として再設定し、再設定された平均ビットレート計算区間の平均ビットレートに従って前記目標時間と前記候補時間との間の差に該当するデータサイズだけ前記現在設定された候補位置を調整するステップと、
前記候補位置を調整するステップ以後に、前記候補時間を設定するステップから再び反復するステップと、
を有することを特徴とする請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記候補位置は、下記の数式(１)により決定され、
前記候補位置を調整するステップは、
前記候補時間と前記目標時間とを比較するステップと、
前記候補時間が前記目標時間より小さい場合、前記現在設定された候補位置を下記の数式(２)により調整するステップと、
前記候補時間が前記目標時間より大きい場合、前記現在設定された候補位置を下記の数式(３)により調整するステップと、
を有することを特徴とする請求項１〜４のいずれか１項に記載の方法。
（数式１）
ＡＢＲ＝ＲＢＰ/ＲＢＴ
ＰＯＳ＝ＡＢＲ×ＧＴ
（数式２）
ＡＢＲ＝(ＲＢＰ-ＰＯＳ)/(ＲＢＴ-ＣＴ)
Ｄｉｆｆｅｒｅｎｃｅ＝ＡＢＲ×(ＧＴ-ＣＴ)
ＰＯＳ＝ＰＯＳ＋Ｄｉｆｆｅｒｅｎｃｅ
（数式３）
ＡＢＲ＝(ＰＯＳ-ＬＢＰ)/(ＣＴ-ＬＢＴ)
Ｄｉｆｆｅｒｅｎｃｅ＝ＡＢＲ×(ＣＴ-ＧＴ)
ＰＯＳ＝ＰＯＳ-Ｄｉｆｆｅｒｅｎｃｅ
ここで、ＡＢＲは前記平均ビットレートを、ＰＯＳは前記候補位置を、ＧＴは前記目標時間を、ＣＴは前記候補時間を、ＬＢＰは前記平均ビットレート計算区間の開始位置を、ＬＢＴは前記平均ビットレート計算区間の開始時間を、ＲＢＰは前記平均ビットレート計算区間の終了位置を、ＲＢＴは前記平均ビットレート計算区間の終了時間を、Ｄｉｆｆｅｒｅｎｃｅは前記平均ビットレート計算区間の平均ビットレートに基づいた前記目標時間と前記候補時間との差に該当するデータサイズを、各々意味する。
【請求項６】
前記候補位置を前記数式(２)により調整するステップは、
前記現在設定された候補位置が現在設定されたＬＢＰより大きく、前記候補時間が前記ＬＢＴより大きい場合、前記現在設定された候補位置の値で前記現在設定されたＬＢＰをアップデートし、前記候補時間の値で前記ＬＢＴをアップデートするステップをさらに有し、
前記候補位置を前記数式(３)により調整するステップは、
前記現在設定された候補位置が現在設定されたＲＢＰより小さく、あるいは前記候補時間が前記ＲＢＴより小さい場合、前記現在設定された候補位置の値で前記現在設定されたＲＢＰをアップデートし、前記候補時間の値で前記ＲＢＴをアップデートするステップをさらに有することを特徴とする請求項５に記載の方法。
【請求項７】
前記マルチメディアコンテンツのフレームは可変ビットレートを有することを特徴とする請求項１〜６のいずれか１項に記載の方法。
【請求項８】
マルチメディアコンテンツのフレームを検索する装置であって、
マルチメディアコンテンツのフレームのデータを格納するメモリ部と、
前記フレームに対して設定する平均ビットレート計算区間の平均ビットレートに従って目標時間に対応する目標フレームに関する候補位置を設定し、前記候補位置に基づいて前記平均ビットレート計算区間を徐々に縮小させて前記候補位置を調整し、開始位置が前記候補位置に最も近いフレームの中から、前記目標時間に対する開始時間の差が所定の許容誤差範囲以内であるフレームを前記目標フレームとして決定する制御部と、
を含むことを特徴とする装置。
【請求項９】
前記制御部は、前記最も近いフレームの開始時間と前記目標時間との差が前記許容誤差範囲以内となるまで前記候補位置の調整を反復することを特徴とする請求項８に記載の装置。
【請求項１０】
前記制御部は、
前記マルチメディアコンテンツの全体データを前記平均ビットレート計算区間として設定し、前記全体データの平均ビットレートに従って前記目標時間に該当するデータサイズだけ前記全体データの開始位置から離隔された位置を候補位置として設定し、
前記フレームの中から現在設定された候補位置に開始位置が最も近いフレームを検索し、検索されたフレームの開始時間を候補時間として設定し、
前記目標時間と前記候補時間との差を前記許容誤差範囲と比較し、
前記目標時間と前記候補時間との差が前記許容誤差範囲を超えた場合、現在設定された平均ビットレート計算区間で前記目標時間から前記候補時間の方向に前記候補位置以外に存在する区間を除いた残りの区間を平均ビットレート計算区間として再設定し、再設定された平均ビットレート計算区間の平均ビットレートに従って前記目標時間と前記候補時間との差に該当するデータサイズだけ前記現在設定された候補位置を調整し、
前記候補位置を調整した以後、前記候補時間を設定する動作から再び反復することを特徴とする請求項８又は９に記載の装置。
【請求項１１】
前記制御部は、
前記候補位置を下記の数式(４)により決定し、
前記候補位置を調整する場合、前記候補時間と前記目標時間を比較し、前記候補時間が前記目標時間より小さい場合には前記現在設定された候補位置を下記の数式(５)により調整し、前記候補時間が前記目標時間より大きい場合には前記現在設定された候補位置を下記の数式(６)により調整することを特徴とする請求項８〜１０のいずれか１項に記載の装置。
（数式４）
ＡＢＲ＝ＲＢＰ/ＲＢＴ
ＰＯＳ＝ＡＢＲ×ＧＴ
（数式５）
ＡＢＲ＝(ＲＢＰ-ＰＯＳ)/(ＲＢＴ-ＣＴ)
Ｄｉｆｆｅｒｅｎｃｅ＝ＡＢＲ×(ＧＴ-ＣＴ)
ＰＯＳ＝ＰＯＳ＋Ｄｉｆｆｅｒｅｎｃｅ
（数式６）
ＡＢＲ＝(ＰＯＳ-ＬＢＰ)/(ＣＴ-ＬＢＴ)
Ｄｉｆｆｅｒｅｎｃｅ＝ＡＢＲ×(ＣＴ-ＧＴ)
ＰＯＳ＝ＰＯＳ-Ｄｉｆｆｅｒｅｎｃｅ
ここで、ＡＢＲは前記平均ビットレートを、ＰＯＳは前記候補位置を、ＧＴは前記目標時間を、ＣＴは前記候補時間を、ＬＢＰは前記平均ビットレート計算区間の開始位置を、ＬＢＴは前記平均ビットレート計算区間の開始時間を、ＲＢＰは前記平均ビットレート計算区間の終了位置を、ＲＢＴは前記平均ビットレート計算区間の終了時間を、Ｄｉｆｆｅｒｅｎｃｅは前記平均ビットレート計算区間の平均ビットレートに基づいた前記目標時間と前記候補時間との差に該当するデータサイズを、各々意味する。
【請求項１２】
前記制御部は、
前記候補位置を前記数式(２)により調整する場合、前記現在設定された候補位置が現在設定されたＬＢＰより大きく、前記候補時間が前記ＬＢＴより大きい場合、前記現在設定された候補位置の値で前記現在設定されたＬＢＰをアップデートし、前記候補時間の値で前記ＬＢＴをアップデートし、
前記候補位置を前記数式(３)により調整する場合、前記現在設定された候補位置が現在設定されたＲＢＰより小さく、前記候補時間が前記ＲＢＴより小さい場合、前記現在設定された候補位置の値で前記現在設定されたＲＢＰをアップデートし、前記候補時間の値で前記ＲＢＴをアップデートすることを特徴とする請求項１１に記載の装置。
【請求項１３】
前記マルチメディアコンテンツのフレームは、可変ビットレートを有することを特徴とする請求項８〜１２のいずれか１項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチメディアコンテンツ(multimedia  content)を再生することに関するもので、特にマルチメディアコンテンツの全体フレームの中から目標フレームを検索(seek)する方法及び装置に関する。
【背景技術】
【０００２】
携帯用マルチメディア再生装置の発展及び性能の向上と共に、高画質ビデオ、無損失(lossless)オーディオ、及び他の類似した大容量メディア及びマルチメディアコンテンツのような高ビットレートを有する大容量マルチメディアコンテンツの使用が急速に増加している。
【０００３】
高ビットレートの大容量マルチメディアコンテンツの各フレームの高品質、例えば高画質、高音質などを保証しつつ、最大の圧縮率を実現するために、コーデックは、フレームの特性に基づいて符号化が可能な可変ビットレートを採用することができる。
【０００４】
しかしながら、マルチメディアデータが可変ビットレートに基づいて符号化される場合、フレームのビットレートは固定されない。したがって、可変ビットレートのフレームを含むマルチメディアコンテンツの所定位置に移動するために、すなわち決定又は選択するために、所定位置までの全体フレームは、パーシングする必要がある。この方式は、プリローリング(pre-rolling)方式と呼ばれ、所定の位置でフレームの検索を遂行する場合、第１のフレームから所望するポイントに位置されるフレームまでフレームをパーシングする。この方式は、実現が簡単であるが、検索の際にパーシングしたデータを捨てるため、検索を遂行する度に最初から再びパーシングをしなければならない。したがって、プリローリング方式は、非効率的であるだけでなく検索位置が初期フレームから遠いほど性能が大きく低下してしまう。
【０００５】
このような問題点を補完するために、復号化以前に全体フレームをパーシングして検索テーブルを生成する方式及び符号化過程で生成された検索テーブルをファイルフォーマットに挿入する方式が使用されている。しかしながら、大容量マルチメディアコンテンツが急増するに従って、検索テーブルに基づいた検索方式は、検索時間が遅いこと、多くのメモリ容量を使用すること、検索において精度が低いといった多くの問題を引き起こす。
【０００６】
全体フレームをパーシングする方式のオーバーヘッド(overhead)を克服するために、復号化以前に検索テーブルを生成する方式を使用するためには、復号化前にすべてのフレームをパーシングして検索テーブルを初期化しなければならない。このような初期化作業は復号化時に多くの初期再生遅延を誘発し、初期再生遅延は、コンテンツの容量が増加し、再生時間が長くなるほど一層増加する。
【０００７】
復号化過程で検索テーブルを生成するオーバーヘッドを取り除くために、符号化過程で検索テーブルを生成してファイルフォーマットに挿入する方式は、エンコーダの圧縮率を低下させるので、生成できる検索テーブルの数が制約的である。それによって、検索テーブルの精度が低減され、正確な検索が難しくなり、再生時間が長くなるほど正確度が大きく低下する。さらに、格納又はストリーミング過程で検索テーブルが削除又は破損される場合、検索テーブルを用いる検索が不可能であるという問題もあった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第７８８５２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって、本発明は上記した従来技術の問題点に鑑みてなされたものであって、その目的は、マルチメディアコンテンツにおいて目標フレームを迅速で精密に検索する方法及び装置を提供することにある。
【００１０】
また、本発明の目的は、検索テーブルを使用せずにマルチメディアコンテンツで目標フレームを迅速で精密に検索する方法及び装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記のような目的を達成するために、本発明の一態様によれば、マルチメディアコンテンツのフレームを検索する方法であって、マルチメディアコンテンツのフレームに対して設定する平均ビットレート計算区間の平均ビットレートに従って目標時間に対応する目標フレームに関する候補位置を設定するステップと、候補位置に基づいて平均ビットレート計算区間を徐々に縮小させて候補位置を調整するステップと、開始位置が候補位置の各々に最も近いフレームの中から、目標時間に対する開始時間の差が所定の許容誤差範囲以内であるフレームを目標フレームとして決定するステップとを有する。
【００１２】
本発明の他の態様によれば、マルチメディアコンテンツのフレームを検索する装置であって、マルチメディアコンテンツのフレームのデータを格納するメモリ部と、フレームに対して設定する平均ビットレート計算区間の平均ビットレートに従って目標時間に対応する目標フレームに関する候補位置を設定し、候補位置に基づいて平均ビットレート計算区間を徐々に縮小させて候補位置を調整し、開始位置が候補位置に最も近いフレームの中から、目標時間に対する開始時間の差が所定の許容誤差範囲以内であるフレームを目標フレームとして決定する制御部とを含む。
【発明の効果】
【００１３】
本発明は、マルチメディアコンテンツの第１のフレームから目標フレームまでの全体フレームをパーシングする必要がないだけでなく、検索テーブルを使用せずにマルチメディアコンテンツで目標フレームを検索することができる。
【００１４】
それによって、符号化過程で検索テーブルをファイルフォーマットに挿入する必要がなく、復号化時に検索テーブルを生成して初期化するのに必要なメモリ使用量を必要としないため、デコーダのローディング速度を向上させ、迅速で精密に目標フレームを検索することができる。
本発明による実施形態の上記及び他の態様、特徴、及び利点は、添付の図面と共に述べる以下の詳細な説明から、一層明らかになるはずである。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態によるマルチメディアコンテンツフレーム検索装置を含むマルチメディアコンテンツプレーヤを示すブロック構成図である。
【図２Ａ】本発明の実施形態によるマルチメディアコンテンツフレーム検索を示すフローチャートである。
【図２Ｂ】本発明の実施形態によるマルチメディアコンテンツフレーム検索を示すフローチャートである。
【図３】本発明の実施形態によるマルチメディアコンテンツフレーム検索方法の例を示す図である。
【図４】本発明の実施形態によるマルチメディアコンテンツフレーム検索方法の例を示す図である。
【図５】本発明の実施形態によるマルチメディアコンテンツフレーム検索方法の例を示す図である。
【図６】本発明の実施形態によるマルチメディアコンテンツフレーム検索方法の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
図面において、同一の構成要素に対してはできるだけ同一の参照符号及び参照番号を付して説明する。下記の説明で、本発明に関連した公知の機能又は構成に関する具体的な説明が本発明の要旨を不明にすると判断された場合に、その詳細な説明を省略する。また、後述する用語は、本発明の機能を考慮して定義されたものであって、ユーザー、運用者の意図、又は慣例によって変わることができる。したがって、上記用語は、本明細書の全体の内容に基づいて定義されなければならない。
【００１７】
図１は、本発明の実施形態によるマルチメディアコンテンツフレーム検索装置を含むマルチメディアコンテンツプレーヤを示すブロック構成図である。
【００１８】
図１を参照すると、制御部１００は、メモリ部１０２、パーシング部１０４、デコーダ１０６、レンダラー(renderer)１０８、及び出力部１１０を制御してマルチメディアコンテンツプレーヤの機能を制御する。メモリ部１０２は、図１のマルチメディアコンテンツプレーヤにより再生するための少なくとも一つのマルチメディアコンテンツを格納する。パーシング部１０４は、メモリ部１０２に格納されたマルチメディアコンテンツのデータを読み取ってパーシングする。デコーダ１０６は、パーシング部１０４によりパーシングされたデータを復号化する。レンダラー１０８は、デコーダ１０６により復号化されたデータをレンダリング(rendering)する。出力部１１０は、スピーカ、ディスプレイのような出力装置を含み、レンダラー１０８によりレンダリングされたデータによるオーディオデータ、ビデオデータを出力する。
【００１９】
以下、図１に示すマルチメディアコンテンツプレーヤにおいて、本発明の実施形態によるマルチメディアコンテンツのフレーム検索は、メモリ部１０２に格納されているマルチメディアコンテンツに対して制御部１００により遂行されることを説明する。したがって、本発明の実施形態によるマルチメディアコンテンツフレーム検索装置は、メモリ部１０２と制御部１００を含む。しかしながら、上記検索は、制御部１００の代わりにパーシング部１０４により遂行することもできる。
【００２０】
制御部１００は、メモリ部１０２に格納された可変ビットレートのフレームからなるマルチメディアコンテンツのフレームの中から目標時間に対応する目標フレームを検索する。目標時間は、マルチメディアコンテンツの全体再生時間の中からユーザーによって再生位置を移動させるために選択される再生時間である。
【００２１】
制御部１００は、メモリ部１０２に格納されたマルチメディアコンテンツのフレームに対して設定する平均ビットレート(Average  Bit-Rate：以下、“ＡＢＲ”と称する)計算区間のＡＢＲに基づいて目標時間に対応する目標フレームとして候補位置を設定し、候補位置に基づいてＡＢＲ計算区間を徐々に縮小させて候補位置を調整する。このとき、制御部１００は、候補位置に最も近いフレームの開始時間と目標時間との間の差が所定の許可誤差範囲Ｔ以内になるまで候補位置の調整を反復する。許可誤差範囲Ｔは、候補位置に最も近いフレームの開始時間が目標時間と類似すると見なされる範囲に予め設定され、例えば０.１秒、０.５秒、又は１秒に設定することができる。
【００２２】
制御部１００が候補位置を設定及び調整することに関して説明すると、次のようである。まず、制御部１００は、マルチメディアコンテンツの全体データをＡＢＲ計算区間に設定し、全体データのＡＢＲに基づいて目標時間に該当するデータサイズだけ全体データの開始位置から離隔された位置を候補位置として設定する。制御部１００は、フレームの中から現在設定された候補位置に最も近いフレームを検索し、検索されたフレームの開始時間を候補時間として設定する。以後、制御部１００は、目標時間と候補時間との差を許容誤差範囲Ｔと比較する。目標時間と候補時間との差が許容誤差範囲Ｔを超えた場合、制御部１００は、現在設定されたＡＢＲ計算区間で、目標時間から候補時間の方向に候補位置以外に存在する区間を除いた残りの区間をＡＢＲ計算区間として再設定する。したがって、制御部１００は、再設定されたＡＢＲ計算区間のＡＢＲに基づいて、目標時間と候補時間との差に該当するデータサイズだけ現在設定された候補位置を調整する。制御部１００は、このように候補位置を調整した以後、調整された候補位置に基づいて候補時間を決定する動作から再び反復する。
【００２３】
制御部１００は、上記したように設定及び調整される候補位置に最も近いフレームの中から、目標時間に対する開始時間の差が許容誤差範囲Ｔ以内となるフレームを目標フレームとして決定する。
【００２４】
図２Ａ及び図２Ｂは、本発明の実施形態により、制御部１００がマルチメディアコンテンツのフレームを検索するフローチャートを示す。図２Ａ及び図２Ｂは、参照符号Ａ及びＢを通じて相互に接続される図である。図３〜図６は、本発明の実施形態によるマルチメディアコンテンツフレーム検索方法の一例を示す。
【００２５】
図２Ａ及び図２Ｂを参照すると、制御部１００は、後述のようにフレーム検索に使用される変数ＬＢＰ(Left Boundary Position)、ＲＢＰ(Right Boundary Position)、ＬＢＴ(Left Boundary Time)、及びＲＢＴ(Right Boundary Time)をステップ２００で初期化する。ＬＢＰはＡＢＲ計算区間の開始位置であり、ＲＢＰはＡＢＲ計算区間の終了位置であり、ＬＢＴはＡＢＲ計算区間の開始時間であり、ＲＢＴはＡＢＲ計算区間の終了時間である。したがって、ＬＢＴは、ＬＢＰに該当する時間であり、ＲＢＴはＲＢＰに該当する時間である。
【００２６】
ステップ２００で、制御部１００は、ＬＢＰをマルチメディアコンテンツの全体データの開始位置に初期化し、ＲＢＰをマルチメディアコンテンツの全体データの終了位置に初期化し、ＬＢＴをマルチメディアコンテンツの全体データの開始位置に対応する開始時間に初期化し、ＲＢＴをマルチメディアコンテンツの全体データの終了位置に対応する終了時間に初期化する。全体データは、検索対象となるマルチメディアコンテンツの中に一般的に前部分に位置する各種付加情報を除いた実際に再生されるデータを意味する。
【００２７】
次に、制御部１００は、ステップ２０２で、下記の数式(１)によってＡＢＲを計算し、計算したＡＢＲに基づいて目標時間(Goal  Time：ＧＴ)に対応する目標フレームに対する候補位置(Position：ＰＯＳ)を設定する。ＧＴは、前述したようにマルチメディアコンテンツの全体再生時間の中からユーザーが再生位置を移動させるために選択する位置の再生時間である。
【００２８】
数式（１）
ＡＢＲ＝ＲＢＰ/ＲＢＴ
ＰＯＳ＝ＡＢＲ×ＧＴ
【００２９】
すなわち、制御部１００は、図３に示すように、検索対象となるマルチメディアコンテンツの全体データ３００をＡＢＲ計算区間として設定し、上記数式(１)のように全体データ３００のＡＢＲを計算する。
【００３０】
制御部１００は、数式(１)によってＰＯＳを設定する。すなわち、全体データ３００のＡＢＲに基づいてＧＴに該当するデータサイズだけ全体データ３００の開始位置から離隔された位置はＰＯＳとして設定される。ＰＯＳは、ＧＴに対応する目標フレームの開始位置と同一であり得るが、ＡＢＲに基づいて設定されるため、目標フレームの開始位置の前後である可能性がさらに高い。すなわち、ＰＯＳは、図４の(ａ)に示すようにＧＴ以前に存在するか、あるいは図５の(ａ)に示すようにＧＴ以後に存在する可能性がさらに高い。
【００３１】
次に、制御部１００は、ステップ２０４で、メモリ部１０２に格納された検索対象のマルチメディアコンテンツの全体データ３００の中にＰＯＳに該当する位置にデータ読み出しポインタを移動する。ステップ２０６で、制御部１００は、フレームの開始位置がデータ読み出しポインタに最も近いフレームを検索し、検索したフレームの開始時間を候補時間(Candidate  Time：ＣＴ)として設定する。
【００３２】
このとき、検索したフレームの開始位置はＰＯＳと一致することがあるが、検索されたフレーム内の任意の位置にＰＯＳが位置することによって、ＰＯＳと若干の差があることもある。しかしながら、ＰＯＳに該当する位置のデータ読み出しポインタに最も近いフレームが検索されるので、検索されたフレームの開始位置とＰＯＳとの差は無視してもよい。したがって、本発明の実施形態による制御部１００のマルチメディアコンテンツフレームの検索動作の例示を示す図４〜図６では、便宜上、ＣＴをＰＯＳに対応するものとして示す。
【００３３】
一方、ステップ２０６で検索されたフレームの開始時間は、検索されたフレームをパーシングし、あるいは計算することにより獲得できる。検索されたフレームの開始時間を獲得する方法は、マルチメディアコンテンツのファイルフォーマットに従って異なることができる。そのため、フレームのヘッダーに含まれ、該当フレームに関する情報は、マルチメディアコンテンツのファイルフォーマットに従って異なることがある。
【００３４】
マルチメディアコンテンツのフレームのヘッダーに含まれた該当フレームに関する情報は、例えばＦＬＡＣ(Free  Lossless  Audio  Codec)によるファイルフォーマットのようにフレーム番号であり得る。フレームのヘッダーに含まれた該当フレームに関する情報がフレーム番号である場合、フレーム番号は、該当フレームがマルチメディアコンテンツの全体フレームのうち何番目のフレームであるかを表す。すると、フレーム番号に該当するフレーム個数より１個少ない数を１フレームに該当する符号化に使用されるサンプル数と乗算して検索されたフレームの以前フレーム全体のサンプル数を得た後、得られた全体のサンプル数をサンプリングレートで割ることで、検索されたフレームの開始時間が得られる。
【００３５】
他の例として、マルチメディアコンテンツフレームのヘッダーに含まれた該当フレームに関する情報は、例えばＯＧＧ(Ogg  Vorbis)によるファイルフォーマットのようにサンプル番号であり得る。フレームのヘッダーに含まれた該当フレームに関する情報がサンプル番号である場合、該当フレームがマルチメディアコンテンツに関して符号化された全体サンプルのうち何番目のサンプルに該当するフレームであるかを表す。すると、サンプル番号に該当するサンプル数をサンプリングレートで割ることによって、検索されたフレームの開始時間が得られる。
【００３６】
これと異なり、マルチメディアコンテンツフレームのヘッダーに含まれた該当フレームに関する情報は、時間でもあり得る。このような場合、時間は、該当フレームの開始時間がマルチメディアコンテンツの開始時間から経過された時間を表す。すると、検索されたフレームのヘッダーに含まれた時間情報による時間がすぐ検索されたフレームの開始時間であるため、別途の計算が必要ではない。
【００３７】
ステップ２０６の以後に、制御部１００は、ステップ２０８で、ＣＴとＧＴとの差の絶対値を許容誤差範囲Ｔと比較する。ＣＴとＧＴとの差が許容誤差範囲Ｔより小さい場合、制御部１００は、ＣＴに該当するフレームが目標フレームであることを決定するために、ステップ２２４に進行する。制御部１００は、許容誤差範囲Ｔより大きい場合にはステップ２１０に進行する。
【００３８】
ステップ２１０で、制御部１００は、ＣＴとＧＴとを比較し、図４の(ａ)に示すようにＣＴがＧＴより小さい場合にステップ２１２に進行し、図５の(ａ)に示すようにＣＴがＧＴより大きい場合にはステップ２１８に進行する。
ステップ２１２では、現在設定されたＰＯＳを下記の数式(２)により調整する。
【００３９】
(数式２)
ＡＢＲ＝(ＲＢＰ-ＰＯＳ)/(ＲＢＴ-ＣＴ)
Ｄｉｆｆｅｒｅｎｃｅ＝ＡＢＲ×(ＧＴ-ＣＴ)
ＰＯＳ＝ＰＯＳ＋Ｄｉｆｆｅｒｅｎｃｅ
【００４０】
数式(２)において、ＡＢＲは平均ビットレートを、ＰＯＳは候補位置を、ＧＴは目標時間を、ＣＴは候補時間を、ＲＢＰはＡＢＲ計算区間の終了位置を、ＲＢＴはＡＢＲ計算区間の終了時間を、ＤｉｆｆｅｒｅｎｃｅはＡＢＲ計算区間のＡＢＲに基づいたＧＴとＣＴとの差に該当するデータサイズを、各々表す。
【００４１】
ステップ２１２について詳細に説明すると、次のようである。ステップ２１０の比較結果、図４の(ａ)に示すように、ＣＴがＧＴより小さい場合、すなわちＰＯＳがＧＴの以前に存在する場合、ステップ２１２で、数式(２)によりＡＢＲ計算区間はＲＢＰとＰＯＳとの間(ＲＢＰ-ＰＯＳ)で再設定され、ＡＢＲがＲＢＰ-ＰＯＳに対して計算できる。ＧＴとＣＴとの差に該当するデータサイズであるＤｉｆｆｅｒｅｎｃｅは、数式(２)のようにＲＢＰ-ＰＯＳのＡＢＲによってＧＴとＣＴとの間の差を乗算することにより得られる。したがって、ＰＯＳは、得られたＤｉｆｆｅｒｅｎｃｅを現在設定したＰＯＳに加算することによって調整される。すなわち、ＰＯＳは、数式(２)によってＧＴとＣＴとの間の差に該当するデータサイズＤｉｆｆｅｒｅｎｃｅだけ調整することができる。
【００４２】
ステップ２１２以後に、制御部１００は、ステップ２１４で、ＬＢＰとＬＢＴをアップデートするか否かを決定する。制御部１００は、ＰＯＳがＬＢＰより大きいか否か、あるいはＣＴがＬＢＴより大きいか否かを確認する。その結果、ＰＯＳがＬＢＰより大きく、あるいはＣＴがＬＢＴより大きい場合、制御部１００は、ステップ２１６で、図４の(ｂ)に示すようにＰＯＳの値でＬＢＰをアップデートし、ＣＴの値でＬＢＴをアップデートする。ステップ２１６の遂行後、制御部１００は、ステップ２０４に戻る。ステップ２１４でＰＯＳがＬＢＰより大きいか否かを確認し、制御部１００は、ＰＯＳがＬＢＰより小さいか、あるいはＣＴがＬＢＴより小さい場合、ＬＢＰとＬＢＴをアップデートせずに、ステップ２０６をスキップし、ステップ２０４に戻る。このとき、ＣＴは、ＰＯＳに対応する時間であり、ＬＢＴはＬＢＰに対応する時間であるので、ステップ２１４で、ＬＢＰとＬＢＴがアップデートされるか否かは、ＰＯＳがＬＢＰより大きいか否かを確認して決定したり、ＣＴがＬＢＴより大きいか否かを確認して決定する。
ステップ２１８で、現在設定されたＰＯＳを下記の数式(３)により調整する。
【００４３】
(数式３)
ＡＢＲ＝(ＰＯＳ-ＬＢＰ)/(ＣＴ-ＬＢＴ)
Ｄｉｆｆｅｒｅｎｃｅ＝ＡＢＲ×(ＣＴ-ＧＴ)
ＰＯＳ＝ＰＯＳ-Ｄｉｆｆｅｒｅｎｃｅ
【００４４】
数式(３)において、ＡＢＲは平均ビットレートを、ＰＯＳは候補位置を、ＧＴは目標時間を、ＣＴは候補時間を、ＬＢＰはＡＢＲ計算区間の開始位置を、ＬＢＴはＡＢＲ計算区間の開始時間を、ＤｉｆｆｅｒｅｎｃｅはＡＢＲ計算区間の平均ビットレートに基づいてＧＴとＣＴとの差に該当するデータサイズを、各々表す。
【００４５】
ステップ２１８について詳細に説明すると、次のようである。ステップ２１０の比較結果、図５の(ａ)に示すように、ＣＴがＧＴより大きい場合、すなわちＰＯＳが図５の(ａ)に示すようにＧＴの以後に存在する場合、ステップ２１８で、ＡＢＲ計算区間が図５の(ａ)に示すようにＰＯＳ-ＬＢＰに再設定され、ＡＢＲがＰＯＳ-ＬＢＰに対して得られる。また、ＧＴとＣＴとの差に該当するデータサイズであるＤｉｆｆｅｒｅｎｃｅは、数式(３)のようにＰＯＳ-ＬＢＰのＡＢＲをＧＴとＣＴとの差に乗算して計算され、ＰＯＳは、計算されたＤｉｆｆｅｒｅｎｃｅを現在設定されたＰＯＳから減算して調整される。すなわち、ＰＯＳが数式(３)によってＧＴとＣＴとの差に該当するデータサイズＤｉｆｆｅｒｅｎｃｅだけ調整される。
【００４６】
ステップ２１８の以後、制御部１００は、ステップ２２０で、ＲＢＰとＲＢＴをアップデートするか否かを決定する。より詳しくは、ＰＯＳがＲＢＰより小さいか否かあるいはＣＴがＲＢＴより小さいか否かを確認する。ＰＯＳがＲＢＰより小さく、あるいはＣＴがＲＢＴより小さい場合、ステップ２２２で、制御部１００は、ＰＯＳの値でＲＢＰをアップデートし、ＣＴの値でＲＢＴをアップデートする。ステップ２２２を遂行した後、制御部１００は、ステップ２０４に戻る。しかしながら、ステップ２２０で、ＰＯＳがＲＢＰより大きい場合、あるいはＣＴがＲＢＴより大きい場合、制御部１００は、ステップ２２２をスキップし、ステップ２０４に戻る。このとき、ＣＴはＰＯＳに対応する時間であり、ＲＢＴはＲＢＰに対応する時間であるため、ＲＢＰとＲＢＴをアップデートするか否かは、ステップ２２０で、ＰＯＳがＲＢＰより小さいか否かを決定したり、ＣＴがＲＢＴより小さいか否かを決定することによって決定される。
【００４７】
したがって、ＧＴとＣＴとの差が許容誤差範囲Ｔを超えた場合、制御部１００は、ステップ２１０〜２２２で現在設定された平均ＡＢＲ計算区間中にＧＴからＣＴ方向にＰＯＳ以外に存在する区間を除いた残りの区間をＡＢＲ計算区間として再設定する。したがって、制御部１００は、再設定されたＡＢＲ計算区間のＡＢＲに基づいてＧＴとＣＴとの間の差に該当するデータサイズＤｉｆｆｅｒｅｎｃｅだけ現在設定されたＰＯＳを調整した後、ステップ２０４に戻り、調整されたＰＯＳに基づいてＣＴを決定するステップから再び反復する。
【００４８】
それによって、ステップ２０２で設定されたＰＯＳがＧＴに対応する目標フレームの開始位置と異なる場合、図４の(ａ)に示すようにＧＴ以前に存在し、あるいは図５の(ａ)に示すようにＧＴの以後に存在する場合にステップ２０４〜２２２を反復することによって、ＣＴとＧＴとの差が許容誤差範囲Ｔ以内となるＣＴに対応するＰＯＳが検索される。
【００４９】
図６に、このようにＰＯＳが設定及び調整される手順の例を示す。図６の(ａ）は、ステップ２０２でＡＢＲ計算区間が全体データ３００に対して設定されることを示し、図６の(ｂ)〜図６の(ｆ）は、ステップ２０４〜２２２によりＰＯＳが図６の(ｆ)のようにＣＴとＧＴとの差が許容誤差範囲Ｔ以内となるＣＴに対応するように調整され、それによってＰＯＳがＧＴに対応する目標フレームの開始位置に位置することを示す。
【００５０】
図６の(ｂ)は、図６の(ａ)に示すように全体データ３００のＡＢＲに基づいて設定したＰＯＳに対応するＣＴがＧＴの以前に位置する場合である。ＡＢＲ計算区間は、ＲＢＰ-ＰＯＳに再設定される場合を示す。ここで、ＡＢＲ計算区間は、図６の(ａ)に比べてさらに狭くなることがわかる。
【００５１】
図６の(ｃ)は、図６(ｂ)に示すようにＡＢＲ計算区間が再設定されるため、図６の(ｂ)のＰＯＳとＣＴが各々ＬＢＰとＬＰＴにアップデートされる場合を示す。また、図６の(ｂ)のように再設定されたＡＢＲ計算区間のＡＢＲに基づいたＰＯＳに対応するＣＴはＧＴの以後に位置し、ＡＢＲ計算区間はＰＯＳ-ＬＢＰに再設定される。ここで、ＣＴとＧＴとの差は、図６の(ｂ)に比べてさらに小さくなり、ＡＢＲ計算区間は、図６の(ｂ)に比べてさらに狭くなることがわかる。
【００５２】
図６の(ｄ)は、図６(ｃ)に示すようにＡＢＲ計算区間が再設定されることによって、図６の(ｃ)のＰＯＳとＣＴが各々ＲＢＰとＲＢＴにアップデートされることを示す。図６(ｃ)のように再設定されたＡＢＲ計算区間のＡＢＲに基づいたＰＯＳに対応するＣＴは、ＧＴの以後に位置し、ＡＢＲ計算区間は、ＰＯＳ-ＬＢＰに再設定される。ここで、ＰＯＳに対応するＣＴが、ＧＴの以後に位置するが、図６の(ｃ)に比べてＣＴとＧＴとの差はさらに小さくなり、ＡＢＲ計算区間は、図６の(ｃ)に比べてさらに狭くなることがわかる。
【００５３】
図６の(ｅ)は、図６の(ｄ)に示すようにＡＢＲ計算区間が再設定されるため、図６の(ｄ)のＰＯＳとＣＴが各々ＲＢＰとＲＢＴにアップデートされる。また、図６の(ｄ)のように再設定されたＡＢＲ計算区間のＡＢＲに基づいたＰＯＳに対応するＣＴは、ＧＴ以前に位置し、ＡＢＲ計算区間は、ＲＢＰ-ＰＯＳに再設定される。ここで、ＰＯＳに対応するＣＴが図６の(ｂ)と同様にＧＴの以前に位置するが、図６の(ｄ)に比べてＣＴとＧＴとの差がさらに小さくなり、ＡＢＲ計算区間は図６の(ｄ)に比べてさらに狭くなることがわかる。
【００５４】
図６の(ｆ)は、図６の(ｂ)〜(ｄ)の動作を経てＰＯＳがＣＴとＧＴとの差が許容誤差範囲Ｔ以内となるＣＴに対応するＰＯＳに調整され、それによってＧＴに対応する目標フレームの開始位置にＰＯＳが位置するようになることを示す。
【００５５】
上記した図６の(ａ)〜図６の(ｆ)に示すように、制御部１００は、ステップ２００〜２２２でメモリ部１０２に格納されたマルチメディアコンテンツのフレームに対して設定するＡＢＲ計算区間のＡＢＲに基づいてＧＴに対応する目標フレームに関するＰＯＳを設定する。また、制御部１００は、ＰＯＳに基づいてＡＢＲ計算区間を次第に縮小させてＰＯＳを調整し、ＰＯＳに最も近いフレームの開始時間であるＣＴとＧＴとの間の差が所定の許容誤差範囲Ｔ以内になるまでＰＯＳの調整を反復する。
【００５６】
ステップ２１８で、制御部１００は、ステップ２０８の比較結果、ＣＴとＧＴとの差が許容誤差範囲Ｔより小さいＣＴに対応するフレームを目標フレームとして決定し、目標フレーム検索を終了する。
【００５７】
一方、上述した本発明の説明では、具体的な実施形態に関して説明したが、本発明を逸脱しない範囲内で多様な変形が可能である。例えば、本発明の実施形態では、可変ビットレートのフレームからなるマルチメディアコンテンツのフレームを検索する例を説明したが、本発明の実施形態の実際適用において固定ビットレートのフレームからなるマルチメディアコンテンツのフレームを検索する場合にも適用することができる。また、本発明の実施形態によるマルチメディアコンテンツのフレーム検索が制御部１００により遂行されることを説明したが、本発明の実際の適用においては制御部１００の代りにパーシング部１０４による遂行も可能である。このような場合、パーシング部１０４が本発明の実施形態によるマルチメディアコンテンツフレーム検索を制御する制御部となるものである。制御部１００がパーシング部１０４を含むマルチメディアコンテンツプレーヤである場合にも、本発明の実施形態によるマルチメディアコンテンツのフレーム検索は、パーシング部を含む制御部により遂行されることはもちろんである。したがって、本発明の範囲は、説明された実施形態に限定されるものではなく、特許請求の範囲だけでなく特許請求の範囲と均等なものに基づいて定められなければならない。
【００５８】
上記した本発明による実施形態は、ハードウェア、ソフトウェア、又はこれらの組み合わせで実現することができる。このような任意のソフトウェアは、例えば、削除可能、又は再記録可能の可否に関係なく、ＲＯＭ(Read-Only Memory)、ＲＡＭ(Random-Access Memory)のような揮発性又は非揮発性格納装置、あるいはＣＤ(Compact  Disc)、ＤＶＤ(Digital Versatile Disc)、磁気ディスク、又は磁気テープのような光学あるいは磁気的に記録可能であると同時に機械読み取り可能な記録媒体に格納され得る。例えばマルチメディアコンテンツプレーヤを搭載したモバイル端末内に含まれるメモリは、本発明の実施形態を実現する指示を含むプログラム又はプログラムを記録するのに適合した機械で読み取り可能な記録媒体の一例であることがわかる。したがって、本発明は、本明細書の任意の請求項に記載された装置又は方法を実現するためのコードを含むプログラム及びこのようなプログラムを記録する機械(コンピュータなど)で読み取る格納媒体を含む。また、このようなプログラムは、有線又は無線接続を通じて伝達される通信信号のような任意の媒体を通じて電子的に移送でき、本発明は、これと均等なものを適切に含む。
【００５９】
上述した本発明の実施形態によるマルチメディアコンテンツフレーム検索方法は、プログラムで製造されて記録媒体に記録でき、マルチメディアコンテンツプレーヤを搭載したモバイル端末は、アプリケーションを制御するためのプログラム(例えば、アプリケーションなど)を遠隔に位置したプログラム提供サーバからダウンロードしたり、設置して実行することで、マルチメディアコンテンツフレーム検索に使用することができる。すなわち、マルチメディアコンテンツフレーム検索のためのプログラムがモバイル端末にインストールされると、モバイル端末で実行されてマルチメディアコンテンツフレーム検索を提供できる。プログラム提供サーバは、モバイル端末からプログラムに対する伝送要求を受信し、伝送要求に応答して上記プログラムをモバイル端末に伝送する。プログラムサーバは、プログラムの伝送を要求したモバイル端末に対してサービス加入可否の判断、ユーザー認証及び決裁情報の確認などを追加して遂行することができる。プログラム提供サーバは、プログラムを記録した記録媒体を具備できる。また、記録媒体は、プログラム提供サーバの内部又は外部に位置できる。
【００６０】
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、特許請求の範囲の記載及びこれと均等なものに基づいて定められる本発明の範囲及び精神を逸脱することなく、形式や細部の様々な変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。
【図１】
2013172456.tif 000003
【図２Ａ】
2013172456.tif 000004
【図２Ｂ】
2013172456.tif 000005
【図３】
2013172456.tif 000006
【図４】
2013172456.tif 000007
【図５】
2013172456.tif 000008
【図６】
2013172456.tif 000009