(57)【特許請求の範囲】
【請求項１】
時間的に連続した画像ごとの処理についての画面内予測処理における各種予測モードを有するモード情報を含む動画データを取得する動画取得部と、
前記動画データから、表示速度に応じて指定される時間で順次に画像を出力する画像出力部と、
出力される画像についてのモード情報と記憶部に記憶されたＣＰＵの処理可能な規定値とに基づいて、各種予測モードにおける画素値の予測に要する処理時間がＣＰＵの処理可能な規定値を超えている場合、前記指定された時間での出力が間に合わない画像に対して、該指定された時間よりも長い時間で出力させるとともに、該出力が間に合わない画像の次に出力される画像に対して、該指定された時間よりも短い時間で出力させる制御部と、を備えたことを特徴とする動画出力装置。
【請求項２】
前記動画データに処理を施すことで、動画中の各画像を表した各画像データを生成する画像生成部と、
前記動画データに含まれているモード情報に基づいて、画像ごとに、前記画像生成部における生成が前記画像出力部に対して前記動画の表示速度に応じた第１の時間間隔での順次出力に間に合うか否かを判定し、前記画像出力部に対して、前記動画の表示速度に応じた第１の時間間隔における該第１の時間間隔での順次出力には該画像生成部における生成が間に合わない画像データについて、一時的に、該第１の時間間隔よりも長い第２の時間間隔を指定する間隔指定部と、
を備えたことを特徴とする請求項１に記載の動画出力装置。
【請求項３】
前記間隔指定部が、前記第２の時間間隔を一時的に指定した後に出力される画像データについては、該第２の時間間隔の指定により画像データの出力が遅延した分を回復するまで、前記画像出力部に対して、前記第１の時間間隔よりも短い第３の時間間隔を指定するものであることを特徴とする請求項１または２に記載の動画出力装置。
【請求項４】
動画データは、符号化されたデータであり、
前記制御部は、動画中の各画像を表した各画像データから復号化した第１の画像を生成し、前記第１の画像を出力した後で、次の順番の第２の画像を復号化させることを特徴と
する請求項１から３のいずれか一項に記載の動画出力装置。
【請求項５】
制御部により出力される画像のそれぞれを出力バッファーに書き込む処理部と、
前記出力バッファーに書き込まれた画像を順次に前記表示速度に応じて指定される時間で表示装置に表示させる表示部と、
を備えたことを特徴とする請求項１から４のいずれか一項に記載の動画出力装置。
【請求項６】
時間的に連続した画像ごとの処理についての画面内予測処理における各種予測モードを有するモード情報を含む動画データを取得するステップと、
前記動画データから、表示速度に応じて指定される時間で順次に画像を出力するステップと、
出力される画像についてのモード情報と記憶部に記憶されたＣＰＵの処理可能な規定値とに基づいて、各種予測モードにおける画素値の予測に要する処理時間がＣＰＵの処理可能な規定値を超えている場合、前記指定された時間での出力が間に合わない画像に対して、該指定された時間よりも長い時間で出力させるとともに、該出力が間に合わない画像の次に出力される画像に対して、該指定された時間よりも短い時間で出力させるステップと、
有することを特徴とする動画出力方法。
【請求項７】
コンピュータに、
時間的に連続した画像ごとの処理についての画面内予測処理における各種予測モードを有するモード情報を含む動画データを取得するステップと、
前記動画データから、表示速度に応じて指定される時間で順次に画像を出力するステップと、
出力される画像についてのモード情報と記憶部に記憶されたＣＰＵの処理可能な規定値とに基づいて、各種予測モードにおける画素値の予測に要する処理時間がＣＰＵの処理可能な規定値を超えている場合、前記指定された時間での出力が間に合わない画像に対して、該指定された時間よりも長い時間で出力させるとともに、該出力が間に合わない画像の次に出力される画像に対して、該指定された時間よりも短い時間で出力させるステップと、
を実行させることを特徴とする動画出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示は、動画データに基づいて動画を出力する動画出力装置、動画出力方法、および動画出力プログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（以下、「ＰＣ」と略記する）の低価格指向が強まり、ＰＣの価格を抑えるためにそのＰＣに使用される部品も価格が抑えられ、それに応じてＰＣの性能も抑えられている。低価格帯のノート型パーソナルコンピュータ（以下、「ノートＰＣ」と略記する）にあっては、プログラムの実行を担うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、例えば１．６ＧＨｚのものが採用される。この１．６ＧＨｚというＣＰＵの速度は、近年では高速とは言い難い速度である。なぜならば、インターネット上にある配信用の高画質の動画コンテンツを再生しようとすると再生処理が動画表示に追いつかない恐れがあるからである。そのように再生処理が動画表示に追いつかないと、コマ落ちで表示されたり、映像が出力されずにフリーズするという不具合が生じる。このような配信用の高画質の動画コンテンツとしては、例えば所謂ＭＰＥＧ４と称されるタイプのコンテンツに属するＨ．２６４／ＡＶＣという方式のコンテンツなどが存在する。
【０００３】
なお、ＭＰＥＧストリームに対する、スロー、スチル、コマ送りなどといった特殊再生に関する技術が提案されている（例えば特許文献１参照）。また、フレーム周期仕様の異なるワークステーション間におけるビデオ画像の相互通信に関する技術も提案されている（例えば特許文献２参照）。
【０００４】
更に、再生処理の負荷を減らして上記のような低価格帯のノートＰＣでの動画再生に対処する技術も提案されている（特許文献３〜１５参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１９５０６４号公報
【特許文献２】特開平０５−２１６８００号公報
【特許文献３】特開２００６-１０１３２１号公報
【特許文献４】特開２００６-１０１３２２号公報
【特許文献５】特開２００６-１０１３２３号公報
【特許文献６】特開２００６-１０１４０２号公報
【特許文献７】特開２００６-１０１４０３号公報
【特許文献８】特開２００６-１０１４０４号公報
【特許文献９】特開２００６-１０１４０５号公報
【特許文献１０】特開２００６-１０１４０６号公報
【特許文献１１】特開２００６-２５４２３１号公報
【特許文献１２】特開２００７-１７４１９６号公報
【特許文献１３】特開２００７-２０８４７６号公報
【特許文献１４】特開２００７-２３５４４７号公報
【特許文献１５】特開２００９-１８２８９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述した特許文献１，２に開示の技術は、フレーム周期仕様などを変更することを目的とした技術であって、上述したように再生処理が動画表示に追いつかないという恐れを解決するものではない。
【０００７】
また、上述した特許文献３〜１５に開示の技術は、いずれも、本来の復号処理の一部を省略・簡略・低減することで高負荷に対応しているため、これらの技術では本来のフォーマットの機能が十分に活かされず、結果としては画質劣化となる。
【０００８】
なお、ここでの説明は、動画の再生処理をＣＰＵが担う場合を例としたが、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を併用する場合であっても同様の事情が生じる。
【０００９】
上記事情に鑑み、本件は、処理装置の処理速度を上回る表示速度の動画データであっても本来の画質での動画出力を図ることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成する動画出力装置は、動画取得部と、画像出力部と、制御部とを備えている。
【００１１】
上記動画取得部は、時間的に連続した画像ごとの処理についての画面内予測処理における各種予測モードを有するモード情報を含む動画データを取得するものである。
【００１２】
上記画像出力部は、動画データから、表示速度に応じて指定される時間で順次に画像を出力するものである。
【００１３】
上記制御部は、出力される画像についてのモード情報と記憶部に記憶されたＣＰＵの処理可能な規定値とに基づいて、各種予測モードにおける画素値の予測に要する処理時間がＣＰＵの処理可能な規定値を超えている場合、指定された時間での出力が間に合わない画
像に対して、該指定された時間よりも長い時間で出力させるものである。
【００１４】
また、上記制御部は、上記出力が間に合わない画像の次に出力される画像に対して、上記指定された時間よりも短い時間で出力させるものである。
【００１５】
上記目的を達成する動画出力方法は、動画データを取得するステップと、画像を出力するステップとを有する。
【００１６】
上記の動画データを取得するステップは、時間的に連続した画像ごとの処理についての画面内予測処理における各種予測モードを有するモード情報を含む動画データを取得するステップである。
【００１７】
上記の画像を出力するステップは、動画データから、表示速度に応じて指定される時間で順次に画像を出力するステップである。
【００１８】
上記の動画出力方法は、出力される画像についてのモード情報と記憶部に記憶されたＣＰＵの処理可能な規定値とに基づいて、各種予測モードにおける画素値の予測に要する処理時間がＣＰＵの処理可能な規定値を超えている場合、前記指定された時間での出力が間に合わない画像に対して、該指定された時間よりも長い時間で出力させるものである。
【００１９】
また、上記の動画出力方法は、上記の出力が間に合わない画像の次に出力される画像に対して、上記の指定された時間よりも短い時間で出力させるものである。
【００２０】
上記目的を達成する動画出力プログラムは、コンピュータに、上記の動画出力方法を実行させるプログラムである。
【発明の効果】
【００２１】
本件開示によれば、処理装置の処理速度を上回る表示速度の動画データであっても本来の画質での動画出力が実行できる。
【図面の簡単な説明】
【００２２】
【図１】本件の第１実施形態の動画出力装置の構成図である。
【図２】本件の第２実施形態が構築されるノートＰＣの一例を示す外観斜視図である。
【図３】図２に外観を示すノートＰＣのハードウェア構成の概要を示すブロック図である。
【図４】図２，図３に示すノートＰＣ内での動画再生処理の流れを示した図である。
【図５】再生アプリケーションのフローチャートの第１部分を示す図である。
【図６】再生アプリケーションのフローチャートの第２部分を示す図である。
【図７】図５，図６に示す再生アプリケーション起動時に表示画面上に表示されるメニュー画面の一例を示した図である。
【図８】図７に示すメニュー画面上で「映像Ａ」が選択されたときの表示画面例を示す図である。
【図９】予測モードのモード０を説明する図である。
【図１０】予測モードのモード１を説明する図である。
【図１１】予測モードのモード２を説明する図である。
【図１２】予測モードのモード３を説明する図である。
【図１３】予測モードのモード４を説明する図である。
【図１４】予測モードのモード５を説明する図である。
【図１５】予測モードのモード６を説明する図である。
【図１６】予測モードのモード７を説明する図である。
【図１７】予測モードのモード８を説明する図である。
【図１８】規定値での画像データの出力に画像データの生成が間に合う場合の動画表示を示す図である。
【図１９】比較例を示す図である。
【図２０】本実施形態で処理負荷の高い予測モードでの画像データ生成が行われた場合の動画表示を示す図である。
【発明を実施するための形態】
【００２３】
動画出力装置、動画出力方法、および動画出力プログラムに対する具体的な実施形態を、以下図面を参照して説明する。
【００２４】
図１は、本件の第１実施形態の動画出力装置の構成図である。
【００２５】
この動画出力装置１は、プログラムを実行する演算処理装置と、その演算処理装置内で実行される動画出力プログラムとを有する。この図１は、動画出力プログラムが演算処理装置内で実行されることにより演算処理装置内に実現する機能を表わしている。この動画出力装置１は、動画取得部２と、画像生成部３と、画像出力部４と、画像表示部５と、間隔指定部６とを有する。
【００２６】
動画取得部２は、時間的に連続した複数の画像の集合である動画を表した動画データを取得する。この動画データの取得は、例えばインターネット等の通信回線を経由して、あるいは、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）等の可搬型記憶媒体からのインストールにより行なわれる。
【００２７】
画像生成部３は、動画取得部２で取得された動画データに処理を施すことで、動画中の各画像を表した各画像データを生成する。
【００２８】
画像出力部４は、画像生成部３で生成された各画像データを、指定された時間間隔で順次に出力する。
【００２９】
画像表示部５は、画像出力部４で順次に出力された各画像データに基づいて、各画像データが表す各画像を順次に表示することで動画を表示する。
【００３０】
間隔指定部６は、画像出力部４に対して動画の表示速度に応じた第１の時間間隔を指定する。また、この間隔指定部６は、画像出力部４における第１の時間間隔での順次出力には画像生成部での生成が間に合わない画像データについては画像出力部４に対して一時的に、第１の時間間隔よりも長い第２の時間間隔を指定する。
【００３１】
上記の第１実施形態は、図１に示す動画出力装置１の各部２〜６で順次実行される機能を、順次実行する動画出力方法として捉えることもできる。ここでは、重複説明となるため、この第１実施形態に対応する動画出力方法の図示および説明は省略する。
【００３２】
次に、より具体的な第２実施形態について説明する。
【００３３】
図２は、本件の第２実施形態が構築されるノートＰＣの一例を示す外観斜視図である。
【００３４】
この図２に示すノートＰＣ１０は、本体ユニット２０と表示ユニット３０とを有する。本体ユニット２０は、内部にＣＰＵやハードディスクドライブ（以下、「ＨＤＤ」と略記する）等を備えるとともに、上面にキーボード２１や、ポインティングデバイスの一種であるタッチパッド２２等を備えている。また、表示ユニット３０は、蝶番４０を介して本体ユニット１０に連結されていることで本体ユニット２０に対し開閉自在となっている。また、この表示ユニット３０は、開状態にあるときの前面に表示画面３１を備えている。
【００３５】
図３は、図２に外観を示すノートＰＣのハードウェア構成の概要を示すブロック図であ
る。
【００３６】
ここには、ＣＰＵ５１、メモリ５２、不揮発メモリ５３、図２にも示すキーボード２１、並びに、ＧＰＵ５４１および図２にも示す表示画面３１を含んだ表示部５４が示されている。またここには、通信インタフェース５５、ＨＤＤ５６、図２にも示すタッチパッド２２、並びに、オーディオインタフェース５７１およびスピーカ５７２を含んだ音声出力部５７も示されている。これらの各要素２１，２２，５１〜５７は、バス５０を介して互いに接続されている。
【００３７】
通信インタフェース５５は、インターネットに接続されインターネットを介する通信を行なう。ここでは特にＭＰＥＧ４に準拠した動画コンテンツを受信する。この動画コンテンツには、時間的に連続した複数の画像の集合である動画を表した動画データ、および音声データが含まれている。つまり、通信インタフェース５５は、動画データを取得する動画取得部の一例に相当する。ＨＤＤ５６は、大容量記憶装置であって、ここには本件の一実施形態としての動画出力プログラムを含む各種プログラムや、インターネットを経由して入力されてきた動画コンテンツなどが記憶されている。タッチパッド２２は、表示部５４に含まれた表示画面３１（図２参照）上のカーソルを移動させて表示画面３１上の任意のアイコン等をクリックするポインティングデバイスの一種である。音声出力部５７は、音声データを受け取りオーディオインタフェース５７１でアナログの音声信号に変換してスピーカ５７２で音声を出力する。
【００３８】
また、ＣＰＵ５１は、プログラムを実行する中央演算処理装置である。本実施形態で用いられるノートＰＣ１０では、比較的動作速度の遅い、動作速度１．６ＧＨｚのＣＰＵが採用されている。メモリ５２は、ＨＤＤ５６から読み出されたプログラムがＣＰＵ５１での実行のために展開されるメモリである。またこのメモリ５２は、プログラムがＣＰＵ５１で実行されたときのデータの一時的な格納場所としても利用される。不揮発メモリ５３には、このノートＰＣ１０に電力が投入された初期に実行されるプログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）が記憶されている。また、キーボード２１は、オペレータによる各種情報や指示の入力用のツールである。
【００３９】
表示部５４は、表示用データを受け取って表示画面３１（図２参照）上にそのデータに応じた画像を表示するものである。ここでは特に、動画コンテンツ中の動画データがＣＰＵ５１にて一部処理された中間的な動画データを表示用データとして受け取る。そしてＧＰＵ５４１でその表示用データから、動画に含まれる一連の画像それぞれを表した一連の画像データが生成される。ＧＰＵ５４１が、その生成した一連の画像データを表示画面３１に向けて順次に出力することによって表示画面３１は動画を表示することとなる。つまり、この第２実施形態では、動画データに処理を施すことで画像データを生成する画像生成部の一例としての役割が、ＣＰＵ５１とＧＰＵ５４１とで分担して実行されることになる。また、ＧＰＵ５４１は、画像データを順次に出力する画像出力部の一例としての役割も担っている。また、表示画面３１は、画像出力部で順次に出力された各画像データに基づいて、各画像データが表す各画像を順次に表示することで動画を表示する画像表示部の一例に相当する。このような画像表示部を備えた動画出力装置は、動画表示装置として機能することとなる。
【００４０】
以下説明する例では、インターネットを経由してきたＭＰＥＧ４フォーマットの動画コンテンツが通信インタフェース５５で受信される。通信インタフェース５５で動画コンテンツが受信されるとその動画コンテンツはＨＤＤ５６に一時保管される。その後、その動画コンテンツ中の動画データから一連の画像データが生成されてその一連の画像データに基づく動画が表示画面３１（図２参照）上に表示される。
【００４１】
また、その動画コンテンツ中の音声データは音声出力部５７に送信され、表示画面３１上への動画の表示と同期した音声がスピーカ５７２から出力される。
【００４２】
図４は、図２，図３に示すノートＰＣ内での動画再生処理の流れを示した図である。
【００４３】
ＣＰＵ５１は、入力動画データを受け取ると復号化処理５１ａを行なう。この入力動画データは、符号化された形式のデータである。そして、この復号化処理５１ａではエントルピー復号化処理と呼ばれる復号化処理によりＹＣｂＣｒフォーマットの動画データが生成される。この復号化処理５１ａにより生成された動画データのうちのＹデータは動画の輝度を表わしている。またＹＣｂＣｒフォーマットの動画データのうちのＣｂＣｒデータは、色差データと呼ばれ、動画の色を表わすデータである。復号化処理５１ａにより生成された動画データは図３に示すメモリ５２に書き込まれる。すると次に、ＣＰＵ５１では逆量子化・逆ＤＣＴ処理５１ｂが実行されて表示用の動画データが生成される。逆量子化処理および逆ＤＣＴ処理自体は，ＭＰＥＧ形式のデータ再生処理として一般的な処理であり、ここでの詳細説明は省略する。
【００４４】
ＣＰＵ５１での逆量子化・逆ＤＣＴ処理５１ｂにより生成された動画データは、ＧＰＵ５４１に送られ、ＧＰＵ５４１にて、動き補償・予測処理５４１ａおよびデブロッキング処理５４１ｂが行なわれる。これら動き補償・予測処理５４１ａおよびデブロッキング処理５４１ｂは、ＭＰＥＧでの一般的なデータ処理である。そして、これら動き補償・予測処理５４１ａおよびデブロッキング処理５４１ｂの結果、動画に含まれる一連の画像それぞれを表した各画像データが生成される。そのように生成された各画像データは出力バッファ５４１ｃに順次に書き出される。この出力バッファ５４１ｃに順次に書き出された画像データが表した画像は、順次に映像出力となって表示画面３１上に表示される。その結果、表示画面３１上には動画が表示されることとなる。つまりＧＰＵ５４１の出力バッファ５４１ｃが、画像データを順次に出力する画像出力部の一例に相当する。
【００４５】
この動画表示における表示速度は、１秒間当たりに表示されるフレーム（画像）数で定義されている。この表示速度は、ＣＰＵ５１への入力動画データ中に元々指定されているので、ＣＰＵ５１は、間隔指定処理５１ｃを実行することでＧＰＵ５４１の出力バッファ５４１ｃに、画像データの出力間隔を指定する。例えば、入力動画データ中では１秒間当たりに３０フレームの表示が指定されている場合には、出力バッファ５４１ｃには、３３ｍｓ間隔での画像出力が指定される。つまりＣＰＵ５１は、画像出力部に対して動画の表示速度に応じた時間間隔を指定する間隔指定部の一例としての機能を、この間隔指定処理５１ｃによって担っている。
【００４６】
ところで、上述した動き補償・予測処理５４１ａ中には、画面内予測処理とフレーム間予測処理が含まれていて、この画面内予測処理はモード０からモード８までの９タイプの予測モードのうちのいずれかの予測モードによって実行される。実行されるべき予測モードは、復号化処理５１ａで復号化された動画データ中のメタ情報に記載されている。また、この予測モードは、生成される画像データ毎に指定されるものであるので、１つの動画を再生している最中にもたびたび予測モードが変更されることとなる。そして、予測モードが異なると、後で詳述するように、画面内予測処理におけるＧＰＵ５４１の負荷が異なるので処理時間も異なる。結局、画像データが出力バッファ５４１ｃに書き出されるタイミングは、その画像データの生成のために実行される予測モードのタイプに依存して決まることになる。そこで、ＣＰＵ５１は間隔指定処理５１ｃで、後述するように、各画像データの生成処理速度が上述した表示速度に間に合うか否かを確認している。そして、生成処理速度が表示速度に間に合わない画像データについては、間隔指定処理５１ｃで一時的に、表示速度に相当する出力間隔よりも長い出力間隔を出力バッファ５４１ｃに指定する。これにより、生成処理の負荷が大きい画像データであっても、出力バッファ５４１ｃか
らのデータ出力に間に合うように生成されることになる。
【００４７】
図２，図３に示すノートＰＣ１０のユーザが動画コンテンツの再生を希望する場合には、ユーザは、ＨＤＤ５６に記憶されている再生アプリケーションを起動する。この再生アプリケーションについて以下説明する。
【００４８】
図５は、再生アプリケーションのフローチャートの第１部分を示す図である。また、図６は、再生アプリケーションのフローチャートの第２部分を示す図である。図５のステップＳ１０９から図６の「１Ａ」へと処理が繋がっている。また、図６のステップＳ２０３から図５の「２Ａ」へも処理が繋がっている。これら図５，６に示すフローチャートに従う方法が、動画出力方法の具体的な一実施形態に相当する。
【００４９】
また、図７は、図５，図６に示す再生アプリケーション起動時に表示画面３１（図２参照）上に表示されるメニュー画面の一例を示した図である。さらに、図８は、図７に示すメニュー画面上で「映像Ａ」が選択されたときの表示画面例を示す図である。
【００５０】
再生アプリケーションが起動されると、先ず、この動画再生を担うＰＣ（ここでは、図２，図３に示すノートＰＣ１０）の不揮発メモリ５３（図３参照）に記憶されているＢＩＯＳ情報等の機器情報が読み出される。そして、予め再生アプリケーションに設定されている基準にその機器情報が照らし合わされて、そのノートＰＣ１０について、動画処理の能力が低いいわゆる低価格ＰＣであるか否かが判定される（ステップＳ１０１）。
【００５１】
このステップＳ１０１における判定で、低価格ＰＣではないと判定された場合には、動画再生を担うＰＣの動画処理の能力が十分に高いので、ステップＳ１１９で通常の復号化処理が実行される。この通常の復号化処理とは、単に復号化処理を行うのではなくて、動画を表示するための画像データの生成までを担った処理である。つまりこの通常の復号化処理は、上述した予測モードに基づいた生成処理速度の確認などが行われない通常の動画再生の処理である。
【００５２】
上記ステップＳ１０１における判定で、低価格ＰＣであると判定された場合には、動画再生を担うＰＣの動画処理の能力が低いので、動画再生時のコマ落ちやフリーズを防止する処置が必要となる。なお、本来は、低価格ＰＣの中にも処理能力の異なる複数バージョンが存在することも多いが、以下では説明の便宜上、低価格ＰＣと判定されるのは１バージョンのみであるものとする。
【００５３】
ステップＳ１０１における判定で、低価格ＰＣであると判定された場合には、インターネット上からダウンロードされてＨＤＤ５６に格納されている動画コンテンツ一覧を表わす、例えば図７に示すようなメニュー画面が表示される（ステップＳ１０２）。このメニュー画面上で例えば「映像Ａ」が選択されると図８に示す画面が表示される（ステップＳ１０３）。この図８に示す画面上で［メインメニューへ」が選択されると処理が中断され（ステップＳ１０４；Ｙｅｓ）、その後図７に示すメニュー画面に戻る。一方、この図８に示す画面上で「再生する」が選択されると、動画コンテンツがＨＤＤ５６からメモリ５２に入力されることで（ステップＳ１０５；Ｙｅｓ）映像Ａの再生が開始される。なお、以上説明したステップＳ１０２〜Ｓ１０５の処理については、上述した通常の復号化処理にも全く同様の処理が含まれているものとする。
【００５４】
動画コンテンツがメモリ５２に入力されると、タイミングエンジンと称されるプログラムがＨＤＤ５６から読み出されてメモリ５２に展開される（ステップＳ１０６）。このタイミングエンジンは、図４で説明した動画再生処理のうちＣＰＵ５１で実行される処理部分（特に間隔指定処理５１ｃ）を担うプログラムである。タイミングエンジンがメモリ５
２に展開されて実行されると、エントロピー復号化（即ち図４に示す復号化処理５１ａ）が動画データに施される（ステップＳ１０７）。そして、復号化された動画データから上述したメタ情報が読み出され、そのメタ情報に記載されている予測モードが確認される（ステップＳ１０８）。また、この復号化された動画データからは、上述した表示速度も読み出され、その表示速度に相当する画像データの出力間隔が規定値として算出されてメモリ５２に記憶される。
【００５５】
エントロピー復号化の対象となる動画データはいわゆるＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）となっている。エントロピー復号化によってこのＧＯＰのレイヤから順に、ピクチャレイヤ、スライスレイヤ、マクロブロックレイヤ、ブロックレイヤが導出される。ピクチャレイヤは、ＧＯＰに含まれている一連の画像が１枚１枚に分けられたレイヤである。スライスレイヤは、１枚の画像が数段に分割されたレイヤである。そしてマクロブロックレイヤは、スライスレイヤが数個に分割されたレイヤである。このマクロブロックレイヤに含まれている各マクロブロックが面内予測処理の処理対象である。また、ブロックレイヤは、逆量子化・逆ＤＣＴ処理の処理単位である。面内予測処理の予測モードは１枚の画像について共通であるが、マクロブロックレイヤに対応付けられたメタ情報に記載されている。ステップＳ１０８では、このようにマクロブロックレイヤに対応付けられたメタ情報から予測モードが取得されることとなる。
【００５６】
ここで再生アプリケーションの説明を一旦中断して予測モードと、その予測モードによる画面内予測について説明を行う。そして、予測モード等の説明後に再生アプリケーションの説明に戻ることとする。
【００５７】
図９〜図１７は、それぞれ、予測モードのモード０〜モード８を説明する図である。
【００５８】
図９〜図１７の各図において、太枠で囲まれた画素はエントロピー復号化や実行済みの画面内予測で値が得られている既知画素を表し、細枠で囲まれた画素は、その太枠で囲まれた画素の値が用いられた画面内予測処理で値が算出される予測画素を表している。以下の説明では、画面内予測で予測対象となるマクロブロックは、どの予測モードにおいても４×４の１６画素を有するものとする。
【００５９】
図９に示すモード０は既知画素の値をコピーすることで予測画素の値を予測する予測モードである。具体的には、画素Ａの値が画像の縦方向に画素ｂ，ｃ，ｄへとコピーされることになる。
【００６０】
図１０に示すモード１の場合もモード０と同様に既知画素の値をコピーすることで予測画素の値を予測するモードであるが、コピーの方向は、図９に示すように画像の横方向となっている。
【００６１】
図１１に示すモード２は、全ての予測画素が同一値となる予測モードである。即ち、ｊ＝ｋ＝ｍ＝ｎ＝ｏ＝ｐ＝ｑ＝ｒ＝ｓ＝ｔ＝ｕ＝ｖ＝ｗ＝ｘ＝ｙ＝ｚである。そして、その予測画素の値は、（Ａ＋Ｂ＋Ｃ＋Ｄ＋Ｅ＋Ｆ＋Ｇ＋Ｈ＋４）／８、（Ａ＋Ｂ＋Ｃ＋Ｄ＋２）／４、（Ｅ＋Ｆ＋Ｇ＋Ｈ＋２）／４、あるいは１２８となる。これらの予測値のいずれが画素値として用いられるかは、ここでは説明を省略する処理によって決まることになる。
【００６２】
図１２に示すモード３は、左下方向の対角に並んだ予測画素が同一の値となる予測モードである。具体的には、以下に示す各式によって予測画素の値が算出される。
ｊ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４
ｋ＝ｏ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４
ｍ＝ｐ＝ｓ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４
ｎ＝ｑ＝ｔ＝ｗ＝（Ｄ＋２＊Ｅ＋Ｆ＋２）／４
ｒ＝ｕ＝ｘ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４
ｖ＝ｙ＝（Ｆ＋２＊Ｇ＋Ｈ＋２）／４
ｚ＝（Ｇ＋２＊Ｈ＋２）／４
【００６３】
図１３に示すモード４は、右下方向の対角に並んだ予測画素が同一の値となる予測モードである。具体的には、以下に示す各式によって予測画素の値が算出される。
ｎ＝（Ｈ＋２＊Ｇ＋Ｆ＋２）／４
ｍ＝ｒ＝（Ｇ＋２＊Ｆ＋Ｅ＋２）／４
ｋ＝ｑ＝ｖ＝（Ｆ＋２＊Ｅ＋Ｘ＋２）／４
ｊ＝ｐ＝ｗ＝ｚ＝（Ｅ＋２＊Ｘ＋Ａ＋２）／４
ｏ＝ｔ＝ｙ＝（Ｘ＋２＊Ａ＋Ｂ＋２）／４
ｓ＝ｘ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４
ｗ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４
【００６４】
図１４に示すモード５は、下に２画素進むにつれて右に１画素ずれる右下方向に並んだ予測画素が同一の値となる予測モードである。具体的には、以下に示す各式によって予測画素の値が算出される。
ｊ＝ｑ＝（Ａ＋Ｂ＋１）／２
ｏ＝ｕ＝（Ｂ＋Ｃ＋１）／２
ｓ＝ｙ＝（Ｃ＋Ｄ＋１）／２
ｗ＝（Ｄ＋Ｅ＋１）／２
ｋ＝ｒ＝（Ｆ＋２＊Ａ＋Ｂ＋２）／４
ｐ＝ｖ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４
ｔ＝ｚ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４
ｘ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４
ｍ＝（Ａ＋２＊Ｆ＋Ｇ＋２）／４
ｎ＝（Ｆ＋２＊Ｇ＋Ｈ＋２）／４
【００６５】
図１５に示すモード６は、右に２画素進むにつれて下に１画素ずれる下横方向に並んだ予測画素が同一の値となる予測モードである。具体的には、以下に示す各式によって予測画素の値が算出される。
ｊ＝ｔ＝（Ａ＋Ｅ＋１）／２
ｏ＝ｘ＝（Ｅ＋２＊Ａ＋Ｂ＋２）／４
ｓ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４
ｗ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４
ｋ＝ｕ＝（Ｅ＋Ｆ＋１）／２
ｐ＝ｙ＝（Ａ＋２＊Ｅ＋Ｆ＋２）／４
ｍ＝ｖ＝（Ｆ＋Ｇ＋１）／２
ｑ＝ｚ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４
ｎ＝（Ｇ＋Ｈ＋１）／２，ｒ＝（Ｈ＋２＊Ｇ＋Ｆ＋２）／４
【００６６】
図１６に示すモード７は、下に２画素進むにつれて右に１画素ずれる左下方向に並んだ予測画素が同一の値となる予測モードである。具体的には、以下に示す各式によって予測画素の値が算出される。
ｊ＝（Ｂ＋Ｃ＋１）／２
ｍ＝ｏ＝（Ｃ＋Ｄ＋１）／２
ｑ＝ｓ＝（Ｄ＋Ｅ＋１）／２
ｕ＝ｗ＝（Ｅ＋Ｆ＋１）／２
ｙ＝（Ｆ＋Ｇ＋１）／２
ｋ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４
ｎ＝ｐ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４
ｒ＝ｔ＝（Ｄ＋２＊Ｅ＋Ｆ＋２）／４
ｖ＝ｘ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４
ｚ＝（Ｆ＋２＊Ｇ＋Ｈ＋２）／４
【００６７】
図１７に示すモード８は、右に２画素進むにつれて上に１画素ずれる上横方向に並んだ予測画素が同一の値となる予測モードである。具体的には、以下に示す各式によって予測画素の値が算出される。
ｊ＝（Ａ＋Ｅ＋１）／２
ｏ＝（Ａ＋２＊Ｅ＋Ｆ＋２）／４
ｋ＝ｓ＝（Ｅ＋Ｆ＋１）／２
ｐ＝ｗ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４
ｍ＝ｔ＝（Ｆ＋Ｇ＋１）／２
ｑ＝ｘ＝（Ｆ＋３＊Ｇ＋２）／４
ｎ＝ｒ＝ｖ＝ｙ＝ｚ＝Ｇ
【００６８】
各予測モードでは、以上説明したように予測画素の値が算出されるので、算出に要する処理負荷としてはモード２が最も高いことになる。次に、モード５およびモード７で処理負荷が高く、モード６、モード８と順に処理負荷が下がる。モード３およびモード４は更に処理負荷が低く、モード０およびモード１では処理負荷が最も低い。以下の説明では、このような処理負荷に対応した処理時間が予め求められていて、その処理時間は再生アプリケーションに付属して記憶されているものとする。そして、予測モードが確認されることで処理時間も確認されるものとする。
【００６９】
図５に示すステップＳ１０８では、このような予測モードがメタ情報から確認される。そして、ステップＳ１０９では、その確認された予測モードが、画像データの出力間隔の上述した規定値より上の処理時間を要する予測モードであるか否かが判定される。
【００７０】
規定値より上の処理時間を要する予測モードであると判定された場合には、動画の再生中にコマ落ちやフリーズが生じないように、出力バッファ５４１ｃ（図４参照）からの画像データの出力間隔（表示間隔）が規定値から変更される（ステップＳ１１０）。この変更された新たな出力間隔は、予測モードに要する処理時間に相当する出力間隔である。そして、その変更された新たな出力間隔（表示間隔）がＧＰＵに通知される（ステップＳ１１１）。このとき、規定値の出力間隔に対して画像データの出力が遅延する遅延時間が算出されて遅延データとしてメモリ５２（図３参照）に記録される。
【００７１】
ステップＳ１０８、Ｓ１０９における判定は、動画データが画像毎に有する予測モードに基づいて行われるため、画像データの生成に先立って迅速かつ正確な判定が実現できる。その結果、ステップＳ１１０、Ｓ１１１では、画像データの規定値での出力間隔に至る前に、必要に応じて出力間隔を変更することができる。このことは、動画出力装置において以下のような応用形態が好適であることを意味している。この応用形態では、上記動画データが、画像データを生成する処理における、各画像に応じた処理モードを表したモード情報を含んでいる。そしてこの応用形態では、上記画像生成部が、上記動画取得部で取得された動画データに含まれているモード情報が表している処理モードで画像データを生成する。さらにこの応用形態では、上記間隔指定部が、上記動画取得部で取得された動画データに含まれているモード情報に基づいて、画像データ毎に、上記画像生成部における生成が第１の時間間隔での順次出力に間に合うか否かを判定する。
【００７２】
上述したステップＳ１０８〜Ｓ１１１の処理が、この応用形態における間隔指定部での処理の一例に相当する。また、以下説明するステップＳ１１２〜Ｓ１１４の処理が、この応用形態における画像生成部での処理の一例に相当する。
【００７３】
その後、上記ステップＳ１０７でエントロピー復号化が施された動画データについて逆量子化・逆ＤＣＴ処理が実行される（ステップＳ１１２）。この逆量子化・逆ＤＣＴ処理実施後の動画データは、今度はＧＰＵ５４１（図４参照）に送られる。このＧＰＵ５４１では、上述した動き補償・予測処理５４１ａに対応した、画面内予測、重み付き予測（ステップＳ１１３）、デブロッキング処理（ステップＳ１１４）が実行される。ここでの画面内予測は、上記ステップＳ１０８で確認された予測モードによって実行される。これらの処理によって、動画表示用の画像データが生成され、その生成された画像データが出力バッファに書き込まれる(ステップＳ１１５）。そして、ＧＰＵ５４１では、通知されて
いる表示間隔に基づいて、出力バッファに対し、画像データの出力時刻（即ち画像の表示時刻）が設定される（ステップＳ１１６）。このとき設定される出力時刻（表示時刻）は、動画の再生中にコマ落ちやフリーズが生じないように必要に応じて規定値から変更された出力時刻（表示時刻）である。
【００７４】
ステップＳ１１６の後は、時刻がその設定された表示時刻に達するまで待機状態となり（ステップＳ１１７）、表示時刻に達すると出力バッファから当該フレームの画像データが出力される（ステップＳ１１８）。上述したステップＳ１１０における出力間隔（表示間隔）の変更によって、ステップＳ１１５での画像データの書き込みは、出力間隔に対して余裕を持ったタイミングでの書き込みとなっている。このため、ステップＳ１１７ではその余裕分の待機となる。画像データの出力後は処理が上述したステップＳ１０７に戻って、次のフレームの画像データ生成のために動画データの処理が進む。
【００７５】
上述したステップＳ１０９で規定値より上の処理時間を要する予測モードであると判定された場合には、以上説明した処理によって、動画の再生中のコマ落ちやフリーズが回避されることとなる。但し、本来の画像データの出力タイミングよりもやや遅れた出力タイミングになっている。そこで、本実施形態では、出力タイミングの遅れを取り戻す工夫が施されている。以下、その工夫を含んだ処理の流れについて説明する。
【００７６】
ステップＳ１０９で、予測モードが、規定値以下の処理時間を要する（即ち規定値での出力に画像データの生成が間に合う）予測モードであると判定された場合には、処理が図６のステップＳ２０１へと進む。ステップＳ２０１では、メモリ５２が参照されて、上述した遅延データが記録されているか否かが確認される。遅延データが記録されている場合には、画像データの出力タイミングが本来よりも遅延していることを意味するので、ステップＳ２０２で、画像データの出力間隔（表示間隔）が規定値から減らされる。このとき、現在の予測モードで画像データの生成に要する処理時間が規定値よりも十分に短い場合には、遅延データが示す遅れの分だけ出力間隔が規定値から減らされる。しかし、遅延データが示す遅れを一度に取り戻せるほどは処理時間に余裕がない場合には、新たな出力間隔は、その処理時間に相当する出力間隔となる。そして、このような出力間隔の変更で遅れが取り戻された分だけ遅延データも書き換えられる。
【００７７】
その後、ステップＳ２０３で、変更された新たな出力間隔（表示間隔）がＧＰＵに通知される。但し、上記ステップＳ２０１で遅延データ無しと判定された場合には、出力間隔は変更されていないので、このステップＳ２０３では規定値の出力間隔がＧＰＵに通知されることとなる。その後、ステップＳ２０３から図５のステップＳ１１２に処理が進むことによって、ステップＳ１１２〜Ｓ１１４では画像データが生成され、ステップＳ１１５ではその画像データが出力バッファに書き込まれる。そして、ステップＳ１１６では、規定値の出力間隔あるいは規定値よりも短い出力間隔で画像データが出力されることとなる
。この結果、画像データの出力タイミングの遅れが取り戻されるので、ある程度の時間幅で見れば、動画は本来の表示速度で表示されることとなる。
【００７８】
このことは、動画出力装置の応用形態として、以下のような応用形態が好適であることを意味する。この応用形態では、上記間隔指定部が、上記第２の時間間隔を一時的に指定した後に出力される画像データについては、上記画像出力部に対して、上記第１の時間間隔よりも短い第３の時間間隔を指定するものとなっている。そして、この第３の時間間隔の指定は、その第２の時間間隔の指定により画像データの出力が遅延した分を回復するまで続けられる。
【００７９】
以上説明した再生アプリケーションによる処理の結果として実現される動画表示について以下説明する。なお、動画データ中で指定されている表示速度は１秒間に３０フレームであるものとする。
【００８０】
図１８は、規定値での画像データの出力に画像データの生成が間に合う場合の動画表示を示す図である。
【００８１】
図１８には、動画に含まれた画像（フレーム）としてＦ１〜Ｆ８の８つの画像が示されている。そして、各画像の画像データが、３３ｍｓという出力間隔で出力バッファ５４１ｃ（図４参照）から出力されていることも示されている。この結果、図３に示す表示画面３１では１秒間に３０フレームという表示速度での動画表示が実現されている。図１８に示したこのような動画表示は、ＰＣが十分な動画処理能力を有しているか、あるいは予測モードが処理負荷の低い予測モードである場合に実現される。
【００８２】
ここで比較例として、従来の低価格ＰＣにおいて、処理負荷の高い予測モードでの画像データ生成が行われた場合に発生する現象について説明する。
【００８３】
図１９は、比較例を示す図である。
【００８４】
図１９にも、動画に含まれた画像（フレーム）としてＦ１〜Ｆ８の８つの画像が示されている。そして、この例では、Ｆ５という画像までは３３ｍｓという出力間隔で画像データが正常に出力バッファ５４１ｃから出力されているが、次のＦ６という画像の画像データは、画像データの生成が３３ｍｓの出力間隔に間に合わなかったことが示されている。このように画像データの生成が出力間隔に間に合わないと、出力バッファ５４１ｃは正常な出力動作を行うことができないため、動画表示としては、コマ落ちやフリーズといった不具合が生じることとなる。
【００８５】
図２０は、本実施形態で処理負荷の高い予測モードでの画像データ生成が行われた場合の動画表示を示す図である。
【００８６】
図２０にも、動画に含まれた画像（フレーム）としてＦ１〜Ｆ８の８つの画像が示されている。そして、この例でも、Ｆ６という画像の画像データは、画像データの生成が３３ｍｓという規定値の出力間隔には間に合わないことが示されている。しかし、本実施形態では、画像データの出力間隔が一時的に、画像データの生成が間に合うような長めの出力間隔に変更される。ここに示す例では、Ｆ６という画像の画像データの生成に要する生成時間は、規定値の３３ｍｓに対して２０ｍｓ遅延した５４ｍｓとなっている。そして、出力バッファ５４１ｃにはその生成時間に合わせた５４ｍｓという出力間隔が一時的に指定されている。この結果、Ｆ６という画像の画像データも正常に出力バッファ５４１ｃから出力されるので動画表示は正常に続くこととなる。但し、２０ｍｓの遅延が生じるので、本実施形態では、その遅延を生じたＦ６という画像の後に続くＦ７，Ｆ８という画像では
、画像データの生成に余裕がある範囲で、出力間隔が短縮されている。ここに示す例では、１つの画像データの生成が、３３ｍｓに対して１０ｍｓの余裕があるので、２つの画像データの生成で合計２０ｍｓの遅延回復が図られている。このように遅延が回復された後は、３３ｍｓの出力間隔に戻ることとなる。なお、このような画像の遅延および回復は、人間の目では判別できない程度のものであるため、動画表示としては正常な動画表示となる。また、ここで示したような短時間の遅延は動画表示としては余り問題にならない程度の遅延であるので放置しておいても構わない場合が多い。しかし、例えば音声との微妙なズレが生じて視聴者が気づく場合もあるし、複数回の遅延が累積してしまって視聴者が気づく場合もあるので、本実施形態のように回復を図っておくことが望ましい。
【００８７】
以上で実施形態の説明を終了する。
【００８８】
なお、上記説明では、動画データ中に指定された表示速度での動画表示が行われる例が示されているが、本件の動画出力装置や動画出力方法は、例えばスロー再生やサーチ再生のように、指定された表示速度から変更された速度による再生にも適用可能である。
【００８９】
また、上記説明では、画像データの生成が出力に間に合うか否かの判定が、予測モードに基づいて画像データの生成に判定される例が示されている。しかし、本件の動画出力装置や動画出力方法では、画像データの生成に並行して判定が行われてもよく、判定のための情報として、実際に生成に要している速度などを用いてもよい。
【００９０】
また、上記説明では、長めの出力時間間隔を指定して生じた遅延をその後に回復する処理が組み込まれている例が示されているが、本件の動画出力装置や動画出力方法では、遅延が致命的でない場合などには回復処理を省略してもよい。
【００９１】
また、上記説明では、再生された表示用の動画データに基づく動画を表示画面３１上に表示する場合を例にして説明したが、この表示用の動画データを再生した装置自体で表示する必要はない。例えば、表示用の動画データをＤＶＤやブルーレイディスク等の可搬型記録媒体に記録して、あるいは、そのまま外部に出力して、他の画像表示装置で表示してもよい。
【符号の説明】
【００９２】
１    動画出力装置
２    動画取得部
３    画像生成部
４    画像出力部
５    画像表示部
６    間隔指定部
１０    ノートＰＣ
２０    本体ユニット
２１    キーボード
２２    タッチパッド
３０    表示ユニット
３１    表示画面
５１    ＣＰＵ
５１ａ    復号化処理
５１ｂ    逆量子化・逆ＤＣＴ処理
５１ｃ    間隔指定処理
５２    メモリ
５３    不揮発メモリ
５４    表示部
５５    通信インタフェース
５６    ＨＤＤ
５７    音声出力部
５４１    ＧＰＵ
５４１ａ    動き補償・予測処理
５４１ｂ    デブロッキング処理
５４１ｃ    出力バッファ
５７１    オーディオインタフェース
５７２    スピーカ
【図１】
0005598540.tif 000002
【図２】
0005598540.tif 000003
【図３】
0005598540.tif 000004
【図４】
0005598540.tif 000005
【図５】
0005598540.tif 000006
【図６】
0005598540.tif 000007
【図７】
0005598540.tif 000008
【図８】
0005598540.tif 000009
【図９】
0005598540.tif 000010
【図１０】
0005598540.tif 000011
【図１１】
0005598540.tif 000012
【図１２】
0005598540.tif 000013
【図１３】
0005598540.tif 000014
【図１４】
0005598540.tif 000015
【図１５】
0005598540.tif 000016
【図１６】
0005598540.tif 000017
【図１７】
0005598540.tif 000018
【図１８】
0005598540.tif 000019
【図１９】
0005598540.tif 000020
【図２０】
0005598540.tif 000021