(57)【要約】【課題】  本発明は、視聴者に画質劣化による違和感を感じさせることなく映像及び音声間のリップシンクをデコーダ側で確実に調整できるようにする。【解決手段】  本発明は、エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックｓｔｃのクロック周波数とのずれによって生じる時間差に基づいてビデオフレームＶＦ１がオーディオフレームＡＦ１よりも遅れていると判断した場合で、かつＢピクチャが存在するときには当該Ｂピクチャをスキップして出力し、Ｂピクチャが存在しないときにはモニタ１０の表示レートに合わせてビデオフレームにおけるピクチャリフレッシュタイミングを短縮することにより、いずれの場合でも画質劣化のない状態で映像及び音声間のリップシンクを調整することができる。【選択図】        図８
2005102193.tif 000002
【特許請求の範囲】
【請求項１】
エンコーダ側の基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、上記基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを上記エンコーダ側のコンテンツ提供装置から受信して復号する復号手段と、
上記復号手段によって上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、
上記エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差を算出する算出手段と、
上記時間差が所定の時間よりも長く、かつ上記ビデオフレームが上記オーディオフレームよりも遅れているか否かを判定するビデオ遅れ判定手段と、
上記記憶手段から出力すべき上記ビデオフレームとして次のピクチャを生成する際の参照フレームとならない非参照フレームが存在するか否かを判定するピクチャ判定手段と、
上記ビデオ遅れ判定手段により上記ビデオフレームが上記オーディオフレームよりも遅れていると判断した場合で、かつ上記ピクチャ判定手段により上記非参照フレームが存在すると判定されたとき、当該非参照フレームをスキップして出力し、上記非参照フレームが存在しないと判定されたとき、表示手段の表示レートに合わせて上記ビデオフレームにおけるピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整するタイミング調整手段と
を具えることを特徴とするコンテンツ受信装置。
【請求項２】
上記タイミング調整手段は、上記ビデオ遅れ判定手段により上記ビデオフレームが上記オーディオフレームよりも遅れていると判定された場合で、かつ上記スキップ判定手段によって上記非参照フレームが存在しないと判定された場合、Ｉピクチャ直前に位置するＰピクチャの上記ビデオフレームをスキップして出力する
ことを特徴とする請求項１に記載のコンテンツ受信装置。
【請求項３】
上記タイミング調整手段は、上記ビデオ遅れ判定手段により上記ビデオフレームが上記オーディオフレームよりも進んでいると判定された場合、現ピクチャの上記ビデオフレームを繰り返し出力する
ことを特徴とする請求項１に記載のコンテンツ受信装置。
【請求項４】
上記コンテンツ提供装置からリアルタイム性が要求されるＵＤＰ(User Datagram Protocol)で送信される上記エンコーダ側の基準クロックを受信する受信手段
を具え、
上記算出手段は、上記エンコーダ側の基準クロックと上記デコーダ側のシステムタイムクロックとを同期させた上で、上記エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差を算出する
ことを特徴とする請求項１に記載のコンテンツ受信装置。
【請求項５】
復号手段に対して、エンコーダ側の基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、上記基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを上記エンコーダ側のコンテンツ提供装置から受信して復号させる復号ステップと、
記憶手段に対して、上記復号ステップで上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積させる記憶ステップと、
算出手段に対して、上記エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差を算出させる算出ステップと、
ビデオ遅れ判定手段に対して、上記時間差が所定の時間よりも長く、かつ上記ビデオフレームが上記オーディオフレームよりも遅れているか否かを判定するビデオ遅れ判定ステップと、
ピクチャ判定手段に対して、上記記憶手段から出力すべき上記ビデオフレームとして次のピクチャを構成する参照フレームとならない非参照フレームが存在するか否かを判定するピクチャ判定ステップと、
タイミング調整手段に対して、上記ビデオ遅れ判定ステップで上記ビデオフレームが上記オーディオフレームよりも遅れている場合で、かつ上記ピクチャ判定ステップで上記非参照フレームが存在すると判定されたとき、当該非参照フレームをスキップして出力し、上記非参照フレームが存在しないと判定されたとき、表示手段の表示レートに合わせて上記ビデオフレームにおけるピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整するタイミング調整ステップと
を具えることを特徴とするビデオオーディオ出力タイミング制御方法。
【請求項６】
コンテンツ提供装置とコンテンツ受信装置を有するコンテンツ提供システムであって、
上記コンテンツ提供装置は、
エンコーダ側の基準クロックに基づくビデオタイムスタンプを付した複数の符号化ビデオフレームと、上記基準クロックに基づくオーディオタイムスタンプを付した複数の符号化オーディオフレームとを生成する符号化手段と、
上記複数の符号化ビデオフレーム及び上記複数の符号化オーディオフレームを上記コンテンツ受信装置へ順次送信する送信手段と
を具え、
上記コンテンツ受信装置は、
上記ビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、上記オーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを上記エンコーダ側のコンテンツ提供装置から受信して復号する復号手段と、
上記復号手段によって上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、
上記エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差を算出する算出手段と、
上記時間差が所定の時間よりも長く、かつ上記ビデオフレームが上記オーディオフレームよりも遅れているか否かを判定するビデオ遅れ判定手段と、
上記記憶手段から出力すべき上記ビデオフレームとして次のピクチャを生成する際の参照フレームとならない非参照フレームが存在するか否かを判定するピクチャ判定手段と、
上記ビデオ遅れ判定手段により上記ビデオフレームが上記オーディオフレームよりも遅れている場合で、かつ上記ピクチャ判定手段により上記非参照フレームが存在すると判定されたとき、当該非参照フレームをスキップして出力し、上記非参照フレームが存在しないと判定されたとき、表示手段の表示レートに合わせて上記ビデオフレームにおけるピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整するタイミング調整手段と
を具えることを特徴とするコンテンツ提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムに関し、例えばコンテンツを受信するデコーダ側で映像と音声のリップシンクがずれることを解消する場合に適用して好適なものである。
【背景技術】
【０００２】
従来、コンテンツ受信装置においては、エンコーダ側のサーバからコンテンツを受信してデコードする場合、当該コンテンツを構成する映像パケット及び音声パケットに分離し、それぞれデコードした後に映像パケットに付されたビデオタイムスタンプと音声パケットに付されたオーディオタイムスタンプを基にビデオフレームとオーディオフレームを出力することにより、映像と音声との出力タイミングを一致させる（すなわちリップシンクさせる）ようになされている（例えば、特許文献１、特許文献２参照）。
【特許文献１】特開平8-280008号公報
【特許文献２】特開2004-15553公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところでかかる構成のコンテンツ受信装置においては、当該デコーダ側のシステムタイムクロックと、エンコーダ側の基準クロックとが互いに同期しているとは限らず、また当該デコーダ側のシステムタイムクロックにおけるクロックジッタ等によってエンコーダ側の基準クロックとの間でクロック周波数の微妙なずれが生じていることもある。
【０００４】
またコンテンツ受信装置は、ビデオフレームとオーディオフレームとではそのデータ長が異なるため、当該デコーダ側のシステムタイムクロックとエンコーダ側の基準クロックとが完全に同期していないときには、ビデオタイムスタンプ及びオーディオタイムスタンプを基にビデオフレーム及びオーディオフレームを出力したとしても、映像と音声との出力タイミングが一致せず、リップシンクがずれてしまうという問題があった。
【０００５】
本発明は以上の点を考慮してなされたもので、視聴者であるユーザに違和感を感じさせることなく映像及び音声間のリップシンクを当該デコーダ側で確実に調整し得るコンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムを提案しようとするものである。
【課題を解決するための手段】
【０００６】
かかる課題を解決するため本発明のコンテンツ受信装置においては、エンコーダ側の基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとをエンコーダ側のコンテンツ提供装置から受信して復号する復号手段と、復号手段によって符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差を算出する算出手段と、時間差が所定の時間よりも長く、かつビデオフレームがオーディオフレームよりも遅れているか否かを判定するビデオ遅れ判定手段と、記憶手段から出力すべきビデオフレームとして次のピクチャを生成する際の参照フレームとならない非参照フレームが存在するか否かを判定するピクチャ判定手段と、ビデオ遅れ判定手段によりビデオフレームがオーディオフレームよりも遅れている場合で、かつ当該ピクチャ判定手段により非参照フレームが存在すると判定されたとき、当該非参照フレームをスキップして出力し、非参照フレームが存在しないと判定されたとき、表示手段の表示レートに合わせてビデオフレームにおけるピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整するタイミング調整手段とを設けるようにする。
【０００７】
従ってコンテンツ受信装置では、エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差に基づいてビデオフレームがオーディオフレームよりも遅れていると判断した場合で、かつ非参照フレームが存在するときには当該非参照フレームをスキップして出力し、非参照フレームが存在しないときには表示手段の表示レートに合わせてビデオフレームにおけるピクチャ更新レートを速めることにより、非参照フレームが存在するときには、次のピクチャをデコードする際の参照対象となるＰピクチャやＩピクチャをスキップすることがないため画質劣化を生じさせることなく映像及び音声間のリップシンクを調整することができると共に、非参照フレームが存在しないときにはスキップするのではなくピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整することができるので、非参照フレームの有無に拘らず画質劣化のない状態でリップシンクさせることができる。
【０００８】
また本発明のビデオオーディオ出力タイミング制御方法においては、復号手段に対して、エンコーダ側の基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとをエンコーダ側のコンテンツ提供装置から受信して復号させる復号ステップと、記憶手段に対して、復号ステップで符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積させる記憶ステップと、算出手段に対して、エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差を算出させる算出ステップと、ビデオ遅れ判定手段に対して、時間差が所定の時間よりも長く、かつビデオフレームがオーディオフレームよりも遅れているか否かを判定するビデオ遅れ判定ステップと、ピクチャ判定手段に対して、記憶手段から出力すべきビデオフレームとして次のピクチャを生成する際の参照フレームとならない非参照フレームが存在するか否かを判定するピクチャ判定ステップと、タイミング調整手段に対して、ビデオ遅れ判定ステップでビデオフレームがオーディオフレームよりも遅れている場合で、かつピクチャ判定ステップで非参照フレームが存在すると判定されたとき、当該非参照フレームをスキップして出力し、非参照フレームが存在しないと判定されたとき、表示手段の表示レートに合わせてビデオフレームにおけるピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整するタイミング調整ステップとを設けるようにする。
【０００９】
従ってビデオオーディオ出力タイミング制御方法では、エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差に基づいてビデオフレームがオーディオフレームよりも遅れていると判断した場合で、かつ非参照フレームが存在するときには当該非参照フレームをスキップして出力し、非参照フレームが存在しないときには表示手段の表示レートに合わせてビデオフレームにおけるピクチャ更新レートを速めることにより、非参照フレームが存在するときには、次のピクチャをデコードする際の参照対象となるＰピクチャやＩピクチャをスキップすることがないため画質劣化を生じさせることなく映像及び音声間のリップシンクを調整することができると共に、非参照フレームが存在しないときにはスキップするのではなくピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整することができるので、非参照フレームの有無に拘らず画質劣化のない状態でリップシンクさせることができる。
【００１０】
さらに本発明においては、コンテンツ提供装置とコンテンツ受信装置を有するコンテンツ提供システムであって、コンテンツ提供装置は、エンコーダ側の基準クロックに基づくビデオタイムスタンプを付した複数の符号化ビデオフレームと、基準クロックに基づくオーディオタイムスタンプを付した複数の符号化オーディオフレームとを生成する符号化手段と、複数の符号化ビデオフレーム及び複数の符号化オーディオフレームをコンテンツ受信装置へ順次送信する送信手段とを具え、コンテンツ受信装置は、ビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、オーディオタイムスタンプが順次付された複数の符号化オーディオフレームとをエンコーダ側のコンテンツ提供装置から受信して復号する復号手段と、当該復号手段によって符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差を算出する算出手段と、時間差が所定の時間よりも長く、かつビデオフレームがオーディオフレームよりも遅れているか否かを判定するビデオ遅れ判定手段と、記憶手段から出力すべきビデオフレームとして非参照フレームが存在するか否かを判定するピクチャ判定手段と、ビデオ遅れ判定手段によりビデオフレームがオーディオフレームよりも遅れている場合で、かつピクチャ判定手段により次のピクチャを生成する際の参照フレームとならない非参照フレームが存在すると判定されたとき、当該非参照フレームをスキップして出力し、非参照フレームが存在しないと判定されたとき、表示手段の表示レートに合わせてビデオフレームにおけるピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整するタイミング調整手段とを設けるようにする。
【００１１】
従ってコンテンツ提供システムでは、エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差に基づいてビデオフレームがオーディオフレームよりも遅れていると判断した場合で、かつ非参照フレームが存在するときには当該非参照フレームをスキップして出力し、非参照フレームが存在しないときには表示手段の表示レートに合わせてビデオフレームにおけるピクチャ更新レートを速めることにより、非参照フレームが存在するときには、次のピクチャをデコードする際の参照対象となるＰピクチャやＩピクチャをスキップすることがないため画質劣化を生じさせることなく映像及び音声間のリップシンクを調整することができると共に、非参照フレームが存在しないときにはスキップするのではなくピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整することができるので、非参照フレームの有無に拘らず画質劣化のない状態でリップシンクさせることができる。
【発明の効果】
【００１２】
上述のように本発明によれば、エンコーダ側の基準クロックのクロック周波数とデコーダ側のシステムタイムクロックのクロック周波数とのずれによって生じる時間差に基づいてビデオフレームがオーディオフレームよりも遅れていると判断した場合で、かつ非参照フレームが存在するときには当該非参照フレームをスキップして出力し、非参照フレームが存在しないときには表示手段の表示レートに合わせてビデオフレームにおけるピクチャ更新レートを速めることにより、非参照フレームが存在するときには、次のピクチャをデコードする際の参照対象となるＰピクチャやＩピクチャをスキップすることがないため画質劣化を生じさせることなく映像及び音声間のリップシンクを調整することができると共に、非参照フレームが存在しないときにはスキップするのではなくピクチャ更新レートを速めることにより映像及び音声間のリップシンクを調整することができるので、非参照フレームの有無に拘らず画質劣化のない状態でリップシンクさせることができ、かくして視聴者であるユーザに画質劣化による違和感を感じさせることなく映像及び音声間のリップシンクを当該デコーダ側で確実に調整し得るコンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムを実現することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面について、本発明の一実施の形態を詳述する。
【００１４】
（１）コンテンツ提供システムの全体構成
図１において、１は全体として本発明のコンテンツ提供システムを示し、大きく分けてコンテンツ配信側となるコンテンツ提供装置２と、コンテンツ受信側となる第１のコンテンツ受信装置３及び第２のコンテンツ受信装置４とによって構成されている。
【００１５】
コンテンツ提供システム１では、コンテンツ提供装置２及びＷｅｂサーバ１４と第１のコンテンツ受信装置３とがインターネット５を介して相互に接続されており、当該Ｗｅｂサーバ１４からインターネット５経由で取得したコンテンツ配信先であるＵＲＬ(Uniform Resource Locator)や当該コンテンツに関するメタデータを第１のコンテンツ受信装置３におけるＷｅｂブラウザ１５で解析し、そのメタデータやＵＲＬをストリーミングデコーダ９へ供給する。
【００１６】
ストリーミングデコーダ９では、Ｗｅｂブラウザ１５により解析したＵＲＬに基づいて当該コンテンツ提供装置２のストリーミングサーバ８へアクセスし、ユーザ所望のコンテンツに対する配信要求を行う。
【００１７】
コンテンツ提供装置２は、エンコーダ７でユーザ所望のコンテンツに対応したコンテンツデータを予めエンコードし、その結果得られるエレメンタリストリームをストリーミングサーバ８でパケット化し、これをインターネット５を介して第１のコンテンツ受信装置３へ配信するようになされている。
【００１８】
これによりコンテンツ提供システム１では、第１のコンテンツ受信装置３からの要求に応じたユーザ所望のコンテンツをコンテンツ提供装置２から配信するビデオオンデマンド（ＶＯＤ）のようなプリエンコーデッドストリーミングを実現し得るようになされている。
【００１９】
第１のコンテンツ受信装置３は、エレメンタリストリームをストリーミングデコーダ９でデコードすることにより元の映像及び音声を復元し、当該元の映像及び音声をモニタ１０から出力するようになされている。
【００２０】
またコンテンツ提供システム１では、第１のコンテンツ受信装置３と第２のコンテンツ受信装置４とが例えばIEEE(Institute of Electrical and Electronics Engineers)802.11a/b/g等の規格に準拠した無線ＬＡＮ６で接続されており、当該第１のコンテンツ受信装置３が外部から供給された地上波ディジタル、ＢＳ(Broadcast Satellite)／ＣＳ(Communication Satellite)ディジタル又は地上波アナログ放送等のコンテンツあるいはＤＶＤ(Digital Versatile Disc)、VideoCDほか一般的なビデオカメラからのコンテンツをリアルタイムストリーミングエンコーダ１１でリアルタイムにエンコードした後に中継する形で第２のコンテンツ受信装置４へ無線送信し得るようになされている。
【００２１】
因みに、第１のコンテンツ受信装置３と第２のコンテンツ受信装置４とは必ずしも無線ＬＡＮ６で接続されていなければならない訳ではなく、有線ＬＡＮで接続されていても良い。
【００２２】
第２のコンテンツ受信装置４は、第１のコンテンツ受信装置３から受信したコンテンツをリアルタイムストリーミングデコーダ１２でデコードすることによりストーミング再生を行い、その再生結果をモニタ１３へ出力するようになされている。
【００２３】
かくして第１のコンテンツ受信装置３及び第２のコンテンツ受信装置４の間では、外部から供給を受けたコンテンツを第１のコンテンツ受信装置３におけるリアルタイムストリーミングエンコーダ１１でリアルタイムにエンコードして第２のコンテンツ受信装置４へ送信し、当該第２のコンテンツ受信装置４でストリーミング再生することにより、ライブストリーミングを実現し得るようになされている。
【００２４】
（２）コンテンツ提供装置の構成
図２に示すようにコンテンツ提供装置２は、エンコーダ７及びストリーミングサーバ８によって構成されており、外部から取り込んだビデオ信号ＶＳ１をビデオ入力部２１を介してディジタル変換した後にビデオデータＶＤ１としてビデオエンコーダ２２へ送出する。
【００２５】
ビデオエンコーダ２２は、ビデオデータＶＤ１を例えばＭＰＥＧ1/2/4(Moving Picture Experts Group)の規格に準拠した所定の圧縮符号化方法あるいは種々の圧縮符号化方式で圧縮符号化し、その結果得られるビデオエレメンタリストリームＶＥＳ１をリングバッファでなるビデオＥＳ蓄積部２３へ送出する。
【００２６】
ビデオＥＳ蓄積部２３は、ビデオエレメンタリストリームＶＥＳ１を一旦蓄積した後に、当該ビデオエレメンタリストリームＶＥＳ１をストリーミングサーバ８のパケット生成部２７及びビデオフレームカウンタ２８へ送出する。
【００２７】
ビデオフレームカウンタ２８では、ビデオエレメンタリストリームＶＥＳ１をフレーム周波数単位（２９．９７[Hz]あるいは３０[Hz]あるいは５９．９４[Hz]あるいは６０[Hz]）でカウントし、そのカウントアップ値を基準クロックに基づく９０[KHz]単位の値に変換し、３２ビット表現で各ビデオフレームに対するビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）としてパケット生成部２７へ送出する。
【００２８】
また、コンテンツ提供装置２は外部から取り込んだオーディオ信号ＡＳ１をエンコーダ７のオーディオ入力部２４を介してディジタル変換した後にオーディオデータＡＤ１としてオーディオエンコーダ２５へ送出する。
【００２９】
オーディオエンコーダ２５は、オーディオデータＡＤ１をＭＰＥＧ1/2/4オーディオの規格に準拠した所定の圧縮符号化方法あるいは種々の圧縮符号化方式で圧縮符号化し、その結果得られるオーディオエレメンタリストリームＡＥＳ１をリングバッファでなるオーディオＥＳ蓄積部２６へ送出する。
【００３０】
オーディオＥＳ蓄積部２６は、オーディオエレメンタリストリームＡＥＳ１を一旦蓄積した後に、当該オーディオエレメンタリストリームＡＥＳ１をストリーミングサーバ８のパケット生成部２７及びオーディオフレームカウンタ２９へ送出する。
【００３１】
オーディオフレームカウンタ２９はビデオフレームカウンタ２８と同様、オーディオフレームのカウントアップ値をビデオと共通の基準クロックに基づく９０[KHz]単位の値に変換し、各オーディオフレームに対するオーディオタイムスタンプＡＴＳ（ＡＴＳ１、ＡＴＳ２、ＡＴＳ３、……）として３２ビット表現し、パケット生成部２７へ送出する。
【００３２】
パケット生成部２７では、ビデオエレメンタリストリームＶＥＳ１を所定データサイズのパケットに分割し、それぞれのパケットにビデオヘッダ情報を付加することによりビデオパケットを生成すると共に、オーディオエレメンタリストリームＡＥＳ１を所定データサイズのパケットに分割し、それぞれのパケットにオーディオヘッダ情報を付加することによりオーディオパケットを生成する。
【００３３】
ここで図３に示すようにオーディオパケット及びビデオパケットは、インターネット層におけるホスト間通信用のＩＰ(Internet Protocol)ヘッダ、トランスポート層における伝送制御用のＴＣＰ(Transmission Control Protocol)ヘッダ、リアルタイム・データ転送制御用のＲＴＰ(RealTime Transport Protocol)ヘッダ及びＲＴＰペイロードからなり、ＲＴＰヘッダ内における４バイトのタイムスタンプ領域に上述のオーディオタイムスタンプＡＴＳやビデオタイムスタンプＶＴＳが書き込まれるようになされている。
【００３４】
そしてパケット生成部２７（図２）では、ビデオパケット及びビデオタイムスタンプＶＴＳを基に所定バイト数からなる映像パケットデータを生成すると共に、オーディオパケット及びオーディオタイムスタンプＡＴＳを基に所定バイト数からなる音声パケットデータを生成し、これらを多重化することにより多重化データＭＸＤ１を生成した後パケットデータ蓄積部３０へ送出する。
【００３５】
パケットデータ蓄積部３０は、多重化データＭＸＤ１を所定量蓄積すると、当該多重化データＭＸＤ１をインターネット５を介してＲＴＰ／ＴＣＰ(RealTime Transport Protocol/Transmission Control Protocol)で第１のコンテンツ受信装置３へ送信するようになされている。
【００３６】
（３）第１のコンテンツ受信装置におけるストリーミングデコーダのモジュール構成
図４に示すように第１のコンテンツ受信装置３のストリーミングデコーダ９は、コンテンツ提供装置２からＲＴＰ／ＴＣＰで送信された多重化データＭＸＤ１を入力パケット蓄積部３１に一旦蓄積した後、パケット分割部３２へ送出する。
【００３７】
ここで入力パケット蓄積部３１は、インターネット５経由で送信されてくる多重化データＭＸＤ１が所定量のパケット分蓄積された時点で当該多重化データＭＸＤ１をパケット分割部３２へ送出するようになされており、これにより後段のパケット分割部３２で多重化データＭＸＤ１の処理が途切れることなく連続的に実行し得るようになされている。
【００３８】
パケット分割部３２は、多重化データＭＸＤ１を映像パケットデータＶＰ１と音声パケットデータＡＰ１に分割し、当該音声パケットデータＡＰ１をリングバッファでなる入力オーディオバッファ３３を介してオーディオフレーム単位でオーディオデコーダ３５へ送出すると共に、映像パケットデータＶＰ１をリングバッファでなる入力ビデオバッファ３４を介してフレーム単位でビデオデコーダ３６へ送出するようになされている。
【００３９】
ここで入力オーディオバッファ３３及び入力ビデオバッファ３４においては、後段のオーディオデコーダ３５及びビデオデコーダ３６で１オーディオフレーム分の音声パケットデータＡＰ１及び１ビデオフレーム分の映像パケットデータＶＰ１を連続してデコードできるようになるまで蓄積するようになされており、そのため、いつの時点でも少なくとも１オーディオフレーム及び1ビデオフレーム分のデータをオーディオデコーダ３５及びビデオデコーダ３６へ瞬時に供給できるための容量を有する。
【００４０】
なおパケット分割部３２は、映像パケットデータＶＰ１のビデオヘッダ情報及び音声パケットデータＡＰ１のオーディオヘッダ情報を解析することによりビデオタイムスタンプＶＴＳ及びオーディオタイムスタンプＡＴＳを認識し得るようになされており、当該ビデオタイムスタンプＶＴＳ及び当該オーディオタイムスタンプＡＴＳをレンダラー３７のタイミングコントロール回路３７Ａへ送出する。
【００４１】
オーディオデコーダ３５は、音声パケットデータＡＰ１をオーディオフレーム単位でデコードすることにより圧縮符号化前のオーディオフレームＡＦ１を復元し、順次レンダラー３７へ送出する。
【００４２】
ビデオデコーダ３６は、映像パケットデータＶＰ１をビデオフレーム単位でデコードすることにより圧縮符号化前のビデオフレームＶＦ１を復元し、順次レンダラー３７へ送出する。
【００４３】
ところでストリーミングデコーダ９においては、Ｗｅｂブラウザ１５からシステムコントローラ５０に対してコンテンツのメタデータＭＤが供給されており、コンテンツ判別手段としての当該システムコントローラ５０では当該メタデータＭＤに基づいて当該コンテンツの種類がオーディオ及びビデオからなるものであるか、ビデオだけからなるものであるか、或いはオーディオだけからなるものであるかを判別し、そのコンテンツ種類判別結果ＣＨをレンダラー３７へ送出する。
【００４４】
レンダラー３７は、オーディオフレームＡＦ１をリングバッファでなる出力オーディオバッファ３８へ一時的に格納し、また同様にビデオフレームＶＦ１をリングバッファでなる出力ビデオバッファ３９に一時的に格納する。
【００４５】
そしてレンダラー３７は、タイミングコントロール回路３７Ａによってモニタ１０へ出力すべきビデオフレームＶＦ１の映像とオーディオフレームＡＦ１の音声とをリップシンクさせるべく、システムコントローラ５０からのコンテンツ種類判別結果ＣＨと、オーディオタイムスタンプＡＴＳやビデオタイムスタンプＶＴＳとに基づいて最終的な出力タイミングを調整した後、その出力タイミングで出力ビデオバッファ３９、出力オーディオバッファ３８からビデオフレームＶＦ１、オーディオフレームＡＦ１を順次出力するようになされている。
【００４６】
（４）プリエンコーデッドストリーミングにおけるデコーダ側でのリップシンク調整処理
（４−１）プリエンコーデッドストリーミングにおけるビデオフレーム及びオーディオフレームの出力タイミング調整方法
図５に示すようにレンダラー３７のタイミングコントロール回路３７Ａでは、パケット分割部３２から送られたビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……、ＶＴＳｎ）及びオーディオタイムスタンプＡＴＳ（ＡＴＳ１、ＡＴＳ２、ＡＴＳ３、……、ＡＴＳｎ）をバッファ４２及び４３にそれぞれ一時的に格納した後、コンパレータ回路４６へ送出する。
【００４７】
またタイミングコントロール回路３７Ａは、そのコンテンツにおける最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１だけをサブトラクタ回路４４及び４５にもそれぞれ送出する。
【００４８】
サブトラクタ回路４４及び４５は、当該最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１の値を所定時間分だけ引き戻し、これらをプリセット用ビデオタイムスタンプＶＴＳｐ及びプリセット用オーディオタイムスタンプＡＴＳｐとしてＳＴＣ回路４１へ送出する。
【００４９】
ＳＴＣ回路４１では、システムタイムクロックｓｔｃの値をプリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番で決められたプリセットシーケンスに従ってプリセットする、すなわち当該システムタイムクロックｓｔｃの値をプリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番でアジャストする（置き換える）ようになされている。
【００５０】
ここでＳＴＣ回路４１では、当該最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１の値を所定時間分だけ引き戻したプリセット用ビデオタイムスタンプＶＴＳｐ及びプリセット用オーディオタイムスタンプＡＴＳｐを用いてシステムタイムクロックｓｔｃの値をプリセットするため、バッファ４２及び４３を介して当該最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１がコンパレータ回路４６に到達したとき、ＳＴＣ回路４１からコンパレータ回路４６へ供給されるプリセット後のシステムタイムクロックｓｔｃの値が当該ビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１よりも前の時刻を示すようになされている。
【００５１】
これによりタイミングコントロール回路３７Ａのコンパレータ回路４６では、プリセット後のシステムタイムクロックｓｔｃの値が最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１に対して既に経過しているといったことが無くなるため、当該最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１に対応したビデオフレームＶｆ１及びオーディオフレームＡｆ１についても確実に出力し得るようになされている。
【００５２】
実際上、図６（Ａ）及び（Ｂ）に示すように、コンテンツの種類がオーディオ及びビデオからなるものである場合、システムタイムクロックｓｔｃの値をプリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番で決められたプリセットシーケンスに従ってプリセットすると、プリセット用ビデオタイムスタンプＶＴＳｐでシステムタイムクロックｓｔｃの値をプリセットした後に必ずプリセット用オーディオタイムスタンプＡＴＳｐで先程のプリセット値が更新されることを意味する。
【００５３】
このときコンパレータ回路４６は、プリセット用オーディオタイムスタンプＡＴＳｐでプリセット値が更新された後のシステムタイムクロックｓｔｃを基準にしてビデオタイムスタンプＶＴＳと比較することにより、プリセット後のシステムタイムクロックｓｔｃの値とエンコーダ側のコンテンツ提供装置２で付けられたビデオタイムスタンプＶＴＳとの時間差を算出するようになされている。
【００５４】
一方、コンテンツの種類がオーディオだけからなるものである場合にはプリセット用ビデオタイムスタンプＶＴＳｐがタイミングコントロール回路３７Ａに送られてくることはないので、システムタイムクロックｓｔｃの値をプリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番で決められたプリセットシーケンスに従えば、当然プリセット用オーディオタイムスタンプＡＴＳｐでシステムタイムクロックｓｔｃの値がプリセットされることを意味する。
【００５５】
同様に、コンテンツの種類がビデオだけからなるものである場合にはプリセット用オーディオタイムスタンプＡＴＳｐがタイミングコントロール回路３７Ａに送られてくることはないので、システムタイムクロックｓｔｃの値をプリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番で決められたプリセットシーケンスに従えば、当然プリセット用ビデオタイムスタンプＶＴＳｐでシステムタイムクロックｓｔｃの値がプリセットされることを意味する。
【００５６】
これは、コンテンツの種類がオーディオだけでなる場合、若しくはビデオだけでなる場合だけであり、映像及び音声のリップシンクを調整する必要は特にないため、プリセット用オーディオタイムスタンプＡＴＳｐでプリセットされた後のシステムタイムクロックｓｔｃの値とオーディオタイムスタンプＡＴＳとが一致したときにオーディオフレームＡＦ１を出力すればよく、またプリセット用ビデオタイムスタンプＶＴＳｐでプリセットされた後のシステムタイムクロックｓｔｃの値とビデオタイムスタンプＶＴＳとが一致したときにビデオフレームＶＦ１を出力すればよい。
【００５７】
実際上、レンダラー３７のタイミングコントロール回路３７Ａでは、例えばコンテンツの種類がオーディオ及びビデオからなるものである場合、図７に示すように例えばオーディオデコーダ３５でデコードした後のオーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）をモニタ１０へ順次出力する時点Ｔａ１、Ｔａ２、Ｔａ３、……、のタイミングでは、クリスタルオシレータ回路４０（図４）及びＳＴＣ回路４１を介して供給されるシステムタイムクロックｓｔｃの値をプリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番でプリセットすることにより、最終的にシステムタイムクロックｓｔｃの値をプリセット用オーディオタイムスタンプＡＴＳｐ１、ＡＴＳｐ２、ＡＴＳｐ３、……と一致させる。
【００５８】
このことは、再生中に音声が途切たり音飛びがあるとユーザにとって非常に目立つので、レンダラー３７のタイミングコントロール回路３７ＡではオーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）をリップシンク調整処理の基準として用い、当該オーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）の出力に合わせてビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）の出力タイミングを調整する必要があるからである。
【００５９】
またレンダラー３７のタイミングコントロール回路３７Ａは、オーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）の出力タイミング（時点Ｔａ１、Ｔａ２、Ｔａ３、……）が決まると、ビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）をシステムタイムクロックｓｔｃに基づく３０[Hz]のフレーム周波数で出力する任意の時点Ｔｖ１、Ｔｖ２、Ｔｖ３、……において、プリセット後のシステムタイムクロックｓｔｃのカウント値と、ビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）に付されているビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）とをコンパレータ回路４６でそれぞれ比較する。
【００６０】
コンパレータ回路４６では、プリセット後のシステムタイムクロックｓｔｃのカウント値と、ビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）とが一致したときに出力ビデオバッファ３９からビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）をモニタ１０へ出力させるようになされている。
【００６１】
ところでコンパレータ回路４６は、プリセット後のシステムタイムクロックｓｔｃのカウント値と、バッファ４２から送られるビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）とを比較した結果、プリセット後のシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）との差分値Ｄ１（時間差）が所定の時間を表す閾値ＴＨ以下であれば、ユーザにとっては映像と音声とが一致していないとは認識し得ないレベルなので、タイミングコントロール回路３７Ａはプリセット後のシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）とが一致したときにビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）をそのままモニタ１０に出力すればよい。
【００６２】
それ以外の場合、例えば時点Ｔｖ２のタイミングにおいて、プリセット後のシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳ２との差分値Ｄ１が所定の閾値ＴＨよりも大きく、かつ映像が音声よりも遅れている場合には、エンコーダ側のクロック周波数とデコーダ側のクロック周波数とのずれが原因で音声に映像が追いついていない状態であるため、レンダラー３７のタイミングコントロール回路３７ＡではＧＯＰ(Group Of Picture)を構成している例えばＢピクチャに相当するビデオフレームＶｆ３（図示せず）をデコードすることなくスキップし、次のビデオフレームＶｆ４を出力するようになされている。
【００６３】
この場合、レンダラー３７は出力ビデオバッファ３９に格納されている「Ｐ」ピクチャについては、ビデオデコーダ３６で次のピクチャをデコードする際の参照フレームとなるためスキップせず、次のピクチャを生成する際の参照フレームとならない非参照フレームである「Ｂ」ピクチャをスキップすることにより、画質劣化を未然に防ぎながらリップシンクさせるようになされている。
【００６４】
ところでレンダラー３７では、仮にスキップするべき「Ｂ」ピクチャが出力ビデオバッファ３９に存在せず、「Ｉ」ピクチャや「Ｐ」ピクチャばかりであった場合には、当該「Ｂ」ピクチャをスキップすることはできないため、音声に映像を追い付かせることができなくなってしまう。
【００６５】
そこでレンダラー３７では、スキップすべき「Ｂ」ピクチャが出力ビデオバッファ３９に存在しないときには、図８に示すようにモニタ１０のモニタ出力タイミングが例えば６０[Hz]であり、出力ビデオバッファ３９から出力すべきビデオフレームＶＦ１のピクチャリフレッシュタイミングが３０[Hz]であることを利用し、当該ピクチャリフレッシュタイミングを短縮するようになされている。
【００６６】
具体的にはレンダラー３７は、プリセット用オーディオタイムスタンプＡＴＳｐでプリセットした後のシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳの差分値Ｄ１が１６．６６６……[msec]を超えるとき、すなわち音声の出力タイミングに対してモニタ出力タイミングが１フレーム分以上遅れているときは、１フレーム分のビデオフレームＶＦ１をスキップする代わりにピクチャリフレッシュタイミングを３０[Hz]から６０[Hz]に変更して次のＮ＋１番目のピクチャを出力するようになされている。
【００６７】
つまりレンダラー３７は、当該スキップによる画質劣化の影響を受ける「Ｉ」ピクチャや「Ｐ」ピクチャについてはピクチャリフレッシュ間隔を１／３０秒から１／６０秒に短縮することにより、「Ｉ」ピクチャや「Ｐ」ピクチャをスキップすることによる画質劣化を生じさせることなく音声に映像を追い付かせることができるようになされている。
【００６８】
これに対してレンダラー３７のタイミングコントロール回路３７Ａは、時点Ｔｖ２のタイミングにおいて、プリセット後のシステムタイムクロックｓｔｃのカウント値と例えばビデオタイムスタンプＶＴＳ２との差分値Ｄ１が所定の閾値ＴＨよりも大きく、かつ音声が映像よりも遅れている場合には、エンコーダ側のクロック周波数とデコーダ側のクロック周波数とのずれが原因で映像に音声が追いついていない状態であるため、現在出力中のビデオフレームＶｆ２を繰り返しリピートして出力するようになされている。
【００６９】
一方、レンダラー３７のタイミングコントロール回路３７Ａでは、例えばコンテンツの種類がビデオだけからなるものである場合、ビデオデコーダ３６でデコードした後のビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）をモニタ１０へ順次出力する時点Ｔｖ１、Ｔｖ２、Ｔｖ３、……、のタイミングでは、プリセット用ビデオタイムスタンプＶＴＳｐでプリセットされたシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳが一致したタイミングでビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）をモニタ１０に出力すればよい。
【００７０】
同様に、レンダラー３７のタイミングコントロール回路３７Ａでは、例えばコンテンツの種類がオーディオだけからなるものである場合、オーディオデコーダ３５でデコードした後のオーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）をモニタ１０へ順次出力する時点Ｔａ１、Ｔａ２、Ｔａ３、……、のタイミングでは、プリセット用オーディオタイムスタンプＡＴＳｐでプリセットされたシステムタイムクロックｓｔｃのカウント値とオーディオタイムスタンプＡＴＳが一致したタイミングでオーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）をモニタ１０のスピーカから出力すればよい。
【００７１】
（４−２）プリエンコーデッドストリーミングにおけるリップシンク調整処理手順
上述のようにストリーミングデコーダ９におけるレンダラー３７のタイミングコントロール回路３７ＡがオーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）を基準にしてビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）の出力タイミングを調整することにより、映像と音声とをリップシンクさせる出力タイミング調整方法についてまとめると、次の図９のフローチャートに示すように、レンダラー３７のタイミングコントロール回路３７Ａは、ルーチンＲＴ１の開始ステップから入って、次のステップＳＰ１へ移る。
【００７２】
ステップＳＰ１においてレンダラー３７は、システムタイムクロックｓｔｃの値をプリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番で決められたプリセットシーケンスに従ってプリセットし、次のステップＳＰ２へ移る。
【００７３】
ここでレンダラー３７は、コンテンツの種類がオーディオ及びビデオでなるものであるときにはプリセット用ビデオタイムスタンプＶＴＳｐでシステムタイムクロックｓｔｃの値をプリセットした後に必ずプリセット用オーディオタイムスタンプＡＴＳｐで先程のプリセット値を更新し、次のステップＳＰ２へ移る。
【００７４】
この場合、オーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）をモニタ１０へ出力する時点Ｔａ１、Ｔａ２、Ｔａ３、……のタイミングで（図７）、システムタイムクロックｓｔｃの値とプリセット用オーディオタイムスタンプＡＴＳｐ（ＡＴＳｐ１、ＡＴＳｐ２、ＡＴＳｐ３、……）とが一致することになる。
【００７５】
またレンダラー３７は、コンテンツの種類がビデオだけからなるものである場合には、プリセット用オーディオタイムスタンプＡＴＳｐは存在しないので、プリセット用ビデオタイムスタンプＶＴＳｐでシステムタイムクロックｓｔｃの値をプリセットして所定時間経過したときに次のステップＳＰ２へ移る。
【００７６】
さらにレンダラー３７は、コンテンツの種類がオーディオだけからなるものである場合には、プリセット用ビデオタイムスタンプＶＴＳｐは存在しないので、プリセット用ビデオタイムスタンプＶＴＳｐを待つことなくプリセット用オーディオタイムスタンプＡＴＳｐが到達した時点でシステムタイムクロックｓｔｃの値をプリセットした後に次のステップＳＰ２へ移る。
【００７７】
ステップＳＰ２においてレンダラー３７は、システムコントローラ５０から供給されるコンテンツ種類判別結果ＣＨに基づいて当該コンテンツがビデオのみでなるものか否かを判定し、肯定結果が得られると次のステップＳＰ３へ移る。
【００７８】
ステップＳＰ３においてレンダラー３７は、当該コンテンツがビデオのみでなるため、プリセット用ビデオタイムスタンプＶＴＳｐでプリセットしたシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳとが一致したときにビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）をモニタ１０へ出力し、次のステップＳＰ１２へ移って処理を終了する。
【００７９】
これに対してステップＳＰ２で否定結果が得られると、このことはコンテンツの種類がビデオのみでなるものではなく、オーディオ及びビデオでなるものか、オーディオのみでなるものかの何れかであることを表しており、このときレンダラー３７は次のステップＳＰ４へ移る。
【００８０】
ステップＳＰ４においてレンダラー３７は、コンテンツ種類判別結果ＣＨに基づいて当該コンテンツがオーディオのみでなるものか否かを判定し、肯定結果が得られると次のステップＳＰ３へ移る。
【００８１】
ステップＳＰ３においてレンダラー３７は、当該コンテンツがオーディオのみでなるため、プリセット用オーディオタイムスタンプＡＴＳｐでプリセットしたシステムタイムクロックｓｔｃのカウント値とオーディオタイムスタンプＡＴＳとが一致したときにオーディオフレームＡＦ１（Ａｆ１、Ａｆ２、Ａｆ３、……）をモニタ１０のスピーカから出力し、次のステップＳＰ１２へ移って処理を終了する。
【００８２】
これに対してステップＳＰ４で否定結果が得られると、このことはコンテンツの種類がオーディオ及びビデオからなるものであることを表しており、このときレンダラー３７は次のステップＳＰ５へ移る。
【００８３】
ステップＳＰ５においてレンダラー３７は、コンテンツの種類がオーディオ及びビデオからなるものであるため、最終的にプリセット用オーディオタイムスタンプＡＴＳｐでプリセットされたシステムタイムクロックｓｔｃのカウント値と、時点Ｔｖ１、Ｔｖ２、Ｔｖ３、……のタイミングで出力すべきビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）のタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）との差分値Ｄ１（＝ｓｔｃ−ＶＴＳ）を算出し、次のステップＳＰ６へ移る。
【００８４】
ステップＳＰ６においてレンダラー３７は、ステップＳＰ７で算出した差分値Ｄ１（絶対値）が所定の閾値ＴＨよりも大きいか否かを判定する。ここで否定結果が得られると、このことは、差分値Ｄ１が、映像及び音声を見て聞いたユーザにとって当該映像と当該音声との間にずれが生じているとは判断し得ない程度の時間（例えば１００[msec]）以下であることを表しており、このときレンダラー３７は次のステップＳＰ３へ移る。
【００８５】
ステップＳＰ３においてレンダラー３７は、映像と音声がずれていると判断し得ない程度の時間差しかないので、この場合は当該ビデオフレームＶＦ１をそのままモニタ１０へ出力し、またオーディオフレームＡＦ１についても原則的にそのままモニタ１０へ出力し、次のステップＳＰ１２へ移って処理を終了する。
【００８６】
これに対してステップＳＰ６で肯定結果が得られると、このことは差分値Ｄ１が所定の閾値ＴＨよりも大きい、すなわち映像及び音声を見て聞いたユーザにとって当該映像と当該音声との間にずれが生じていると判断し得る程度であることを表しており、このときレンダラー３７は次のステップＳＰ７へ移る。
【００８７】
ステップＳＰ７においてレンダラー３７は、映像が音声よりも遅れているか否かをオーディオタイムスタンプＡＴＳ及びビデオタイムスタンプＶＴＳに基づいて判定し、否定結果が得られると次のステップＳＰ８へ移る。
【００８８】
ステップＳＰ８においてレンダラー３７は、映像の方が音声よりも進んでいるので、当該映像に音声が追いつくように現在出力中のピクチャを構成しているビデオフレームＶＦ１を繰り返しリピート出力した後、次のステップＳＰ１２へ移って処理を終了する。
【００８９】
これに対してステップＳＰ７で肯定結果が得られると、このことは映像が音声よりも遅れていることを表しており、このときレンダラー３７は次のステップＳＰ９へ移り、出力ビデオバッファ３９にスキップ対象の「Ｂ」ピクチャが存在するか否かを判定し、肯定結果が得られると次のステップＳＰ１０へ移る。
【００９０】
ステップＳＰ１０においてレンダラー３７は、音声に対する映像の遅れを取り戻すべくＢピクチャ（この場合、ビデオフレームＶｆ３）をデコードせずにスキップして出力することにより、音声に対する映像の遅れを取り戻してリップシンクさせることができ、次のステップＳＰ１２へ移って処理を終了する。
【００９１】
一方、ステップＳＰ９で否定結果が得られると、このことは出力ビデオバッファ３９にスキップ対象の「Ｂ」ピクチャが存在せず、「Ｂ」ピクチャをスキップすることができないことを表しており、このときレンダラー３７は次のステップＳＰ１１へ移る。
【００９２】
ステップＳＰ１１においてレンダラー３７は、図８に示したように、モニタ１０のモニタ出力タイミングが６０[Hz]であるのに対し、ビデオフレームＶＦ１のピクチャリフレッシュタイミングが３０[Hz]であることを利用し、当該ピクチャリフレッシュタイミングをモニタ１０のモニタ出力タイミングに合わせて短縮することにより、ピクチャをスキップすることによる画質劣化を生じさせずに映像を音声に追い付かせ、次のステップＳＰ１２へ移って処理を終了する。
【００９３】
（５）第１のコンテンツ受信装置におけるリアルタイムストリーミングエンコーダの回路構成
第１のコンテンツ受信装置３（図１）は、外部から供給された地上波ディジタル、ＢＳ／ＣＳディジタル又は地上波アナログ放送等のコンテンツあるいはＤＶＤ、VideoCDほか一般的なビデオカメラからのコンテンツをリアルタイムストリーミングエンコーダ１１によってリアルタイムにエンコードした後に第２のコンテンツ受信装置４へ中継する形で無線送信することによりコンテンツ提供側にもなり得るようになされている。
【００９４】
その第１のコンテンツ受信装置３におけるリアルタイムストリーミングエンコーダ１１の回路構成について図１０を用いて説明する。リアルタイムストリーミングエンコーダ１１は、外部から供給されたコンテンツを構成するビデオ信号ＶＳ２及びオーディオ信号ＡＳ２をビデオ入力部５１及びオーディオ入力部５３を介してディジタル変換し、これをビデオデータＶＤ２及びオーディオデータＡＤ２としてビデオエンコーダ５２及びオーディオエンコーダ５４へ送出する。
【００９５】
ビデオエンコーダ５２は、ビデオデータＶＤ２を例えばＭＰＥＧ1/2/4の規格に準拠した所定の圧縮符号化方法あるいは種々の圧縮符号化方式で圧縮符号化し、その結果得られるビデオエレメンタリストリームＶＥＳ２をパケット生成部５６及びビデオフレームカウンタ５７へ送出する。
【００９６】
ビデオフレームカウンタ５７では、ビデオエレメンタリストリームＶＥＳ２をフレーム周波数単位（２９．９７[Hz]あるいは３０[Hz]あるいは５９．９４[Hz]あるいは６０[Hz]）でカウントし、そのカウントアップ値を基準クロックに基づく９０[KHz]単位の値に変換し、３２ビット表現で各ビデオフレームに対するビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）としてパケット生成部５６へ送出する。
【００９７】
オーディオエンコーダ５４は、オーディオデータＡＤ２をＭＰＥＧ1/2/4オーディオの規格に準拠した所定の圧縮符号化方法あるいは種々の圧縮符号化方式で圧縮符号化し、その結果得られるオーディオエレメンタリストリームＡＥＳ２をパケット生成部５６及びオーディオフレームカウンタ５８へ送出する。
【００９８】
オーディオフレームカウンタ５８はビデオフレームカウンタ５７と同様、オーディオフレームのカウントアップ値と共通の基準クロックに基づく９０[KHz]単位の値に変換し、オーディオタイムスタンプＡＴＳ（ＡＴＳ１、ＡＴＳ２、ＡＴＳ３、……）として３２ビット表現し、パケット生成部５６へ送出する。
【００９９】
パケット生成部５６では、ビデオエレメンタリストリームＶＥＳ２を所定データサイズのパケットに分割し、それぞれのパケットにビデオヘッダ情報を付加することによりビデオパケットを生成すると共に、オーディオエレメンタリストリームＡＥＳ２を所定データサイズのパケットに分割し、それぞれのパケットにオーディオヘッダ情報を付加することによりオーディオパケットを生成する。
【０１００】
ここで図１１に示すようにＲＴＣＰ(Real Time Control Protocol)packetの前段に付加されているコントロールパケットは、インターネット層におけるホスト間通信用のＩＰ(Internet Protocol)ヘッダ、ユーザ・データグラム・データ転送用のＵＤＰ(User Datagram Protocol)ヘッダ、リアルタイム・データ転送制御用のＲＴＣＰ(Real Time Control Protocol)パケットセンダリポート及びＲＴＣＰパケットからなり、ＲＴＣＰパケットセンダリポート内のセンダ情報内にある４バイトのＲＴＰタイムスタンプ領域にＰＣＲ(Program Clock Reference)値としてエンコーダ側におけるシステムタイムクロック値のスナップショット情報が書き込まれるようになされていて、デコーダ側のクロックリカバリ用にＰＣＲ回路６１から送出される。
【０１０１】
そしてパケット生成部５６では、ビデオパケット及びビデオタイムスタンプＶＴＳに基づいて所定バイト数からなる映像パケットデータを生成すると共に、オーディオパケット及びオーディオタイムスタンプＡＴＳに基づいて所定バイト数からなる音声パケットデータを生成し、これらを多重化することにより多重化データＭＸＤ２を生成した後パケットデータ蓄積部５９へ送出する。
【０１０２】
パケットデータ蓄積部５９は、多重化データＭＸＤ２を所定量蓄積すると、当該多重化データＭＸＤ２を無線ＬＡＮ６を介してＲＴＰ／ＴＣＰで第２のコンテンツ受信装置４へ送信するようになされている。
【０１０３】
ところでリアルタイムストリーミングエンコーダ１１は、ビデオ入力部５１でディジタル変換したビデオデータＶＤ２をＰＬＬ(Phase-Locked Loop)回路５５にも供給する。ＰＬＬ回路５５は、ビデオデータＶＤ２に基づいて当該ビデオデータＶＤ２のクロック周波数にＳＴＣ回路６０を同期させると共に、ビデオエンコーダ５２、オーディオ入力部５３及びオーディオエンコーダ５４についてもビデオデータＶＤ２のクロック周波数と同期させるようになされている。
【０１０４】
これによりリアルタイムストリーミングエンコーダ１１は、ＰＬＬ回路５５を介してビデオデータＶＤ２に対する圧縮符号化処理とオーディオデータＡＤ２に対する圧縮符号化処理とをビデオデータＶＤ２のクロック周波数と同期したタイミングで実行し得ると共に、ＰＣＲ(Program Clock Reference)回路６１を介してビデオデータＶＤ２のクロック周波数に同期したクロックリファレンスｐｃｒを第２のコンテンツ受信装置４におけるリアルタイムストリーミングデコーダ１２へ送信し得るようになされている。
【０１０５】
このときＰＣＲ回路６１は、クロックリファレンスｐｃｒをＲＴＰプロトコルの下位層に位置しリアルタイム性が要求されるＵＤＰ(User Datagram Protocol)で第２のコンテンツ受信装置４のリアルタイムストリーミングデコーダ１２へ送信するようになされており、これにより高速性を確保してリアルタイム性の必要とされるライブストリーミングにも対応し得るようになされている。
【０１０６】
（６）第２のコンテンツ受信装置におけるリアルタイムストリーミングデコーダの回路構成
図１２に示すように第２のコンテンツ受信装置４におけるリアルタイムストリーミングデコーダ１２は、第１のコンテンツ受信装置３のリアルタイムストリーミングエンコーダ１１から送信された多重化データＭＸＤ２を入力パケット蓄積部７１に一旦蓄積した後、パケット分割部７２へ送出する。
【０１０７】
パケット分割部７２は、多重化データＭＸＤ２を映像パケットデータＶＰ２と音声パケットデータＡＰ２に分割し、当該音声パケットデータＡＰ２をリングバッファでなる入力オーディオバッファ７３を介してオーディオフレーム単位でオーディオデコーダ７４へ送出すると共に、映像パケットデータＶＰ２をリングバッファでなる入力ビデオバッファ７５を介してフレーム単位でビデオデコーダ７６へ送出するようになされている。
【０１０８】
ここで入力オーディオバッファ７３及び入力ビデオバッファ７５においても、後段のオーディオデコーダ７４及びビデオデコーダ７６で１オーディオフレーム及び１ビデオフレーム分の音声パケットデータＡＰ２及び映像パケットデータＶＰ２を連続してデコードできるようになるまで蓄積するようになされており、そのため少なくとも１オーディオフレーム及び１ビデオフレーム分のデータ容量があればよい。
【０１０９】
なおパケット分割部７２は、映像パケットデータＶＰ２のビデオヘッダ情報及び音声パケットデータＡＰ２のオーディオヘッダ情報を解析することによりオーディオタイムスタンプＡＴＳ及びビデオタイムスタンプＶＴＳを認識し得るようになされており、当該オーディオタイムスタンプＡＴＳ及び当該ビデオタイムスタンプＶＴＳをレンダラー７７へ送出する。
【０１１０】
オーディオデコーダ７４は、音声パケットデータＡＰ２をオーディオフレーム単位でデコードすることにより圧縮符号化前のオーディオフレームＡＦ２を復元し、順次レンダラー７７へ送出する。
【０１１１】
ビデオデコーダ７６は、映像パケットデータＶＰ２をビデオフレーム単位でデコードすることにより圧縮符号化前のビデオフレームＶＦ２を復元し、順次レンダラー７７へ送出する。
【０１１２】
レンダラー７７は、オーディオフレームＡＦ２をリングバッファでなる出力オーディオバッファ７８へ一時的に格納し、また同様にビデオフレームＶＦ２をリングバッファでなる出力ビデオバッファ７９に一時的に格納する。
【０１１３】
そしてレンダラー７７は、モニタ１３へ出力するビデオフレームＶＦ２の映像とオーディオフレームＡＦ２の音声とをリップシンクさせるべくオーディオタイムスタンプＡＴＳ及びビデオタイムスタンプＶＴＳに基づいて最終的な出力タイミングを調整した後、その出力タイミングで出力オーディオバッファ７８及び出力ビデオバッファ７９からオーディオフレームＡＦ２及びビデオフレームＶＦ２をモニタ１３へ順次出力するようになされている。
【０１１４】
ところでリアルタイムストリーミングデコーダ１２は、第１のコンテンツ受信装置３におけるリアルタイムストリーミングエンコーダ１１のＰＣＲ回路６１からＵＤＰで送信されるクロックリファレンスｐｃｒを受信して減算回路８１に入力する。
【０１１５】
減算回路８１は、クロックリファレンスｐｃｒとＳＴＣ回路８４から供給されるシステムタイムクロックｓｔｃとの差を算出し、これをフィルタ８２、電圧制御型クリスタルオシレータ回路８３及びＳＴＣ回路８４を順次介して減算回路８１にフィードバックすることによりＰＬＬ(Phase Locked Loop)を形成し、リアルタイムストリーミングエンコーダ１１のクロックリファレンスｐｃｒに次第に収束させ、最終的には当該クロックリファレンスｐｃｒによりリアルタイムストリーミングエンコーダ１１と同期したシステムタイムクロックｓｔｃをレンダラー７７へ供給するようになされている。
【０１１６】
これによりレンダラー７７は、第１のコンテンツ受信装置３におけるリアルタイムストリーミングエンコーダ１１でビデオデータＶＤ２及びオーディオデータＡＤ２を圧縮符号化したり、ビデオタイムスタンプＶＴＳ及びオーディオタイムスタンプＡＴＳをカウントするときのクロック周波数と同期したシステムタイムクロックｓｔｃを基準にして、ビデオフレームＶＦ２及びオーディオフレームＡＦ２の出力タイミングを調整し得るようになされている。
【０１１７】
実際上レンダラー７７は、オーディオフレームＡＦ２に関してはリングバッファでなる出力オーディオバッファ７８へ一時的に格納すると共に、ビデオフレームＶＦ２に関してはリングバッファでなる出力ビデオバッファ７９に一時的に格納し、映像と音声とをリップシンクさせた状態で出力するべく、リアルタイムストリーミングエンコーダ１１のＰＣＲ回路６１から供給されるクロックリファレンスｐｃｒによりエンコーダ側と同期したシステムタイムクロックｓｔｃ及びオーディオタイムスタンプＡＴＳ、ビデオタイムスタンプＶＴＳに基づいて出力タイミングを調整するようになされている。
【０１１８】
（７）ライブストリーミングにおけるデコーダ側でのリップシンク調整処理
（７−１）ライブストリーミングにおけるビデオフレーム及びオーディオフレームの出力タイミング調整方法
図１３に示すように、この場合レンダラー７７は、リアルタイムストリーミングエンコーダ１１のＰＣＲ回路６１から所定周期で供給されてくるクロックリファレンスｐｃｒの値に、システムタイムクロックｓｔｃのクロック周波数をＰＬＬでロックさせたうえで、当該システムタイムクロックｓｔｃの基で同期されたモニタ１３を通してオーディオタイムスタンプＡＴＳ及びビデオタイムスタンプＶＴＳに従いオーディオフレームＡＦ２及びビデオフレームＶＦ２の出力をコントロールする。
【０１１９】
すなわちレンダラー７７は、クロックリファレンスｐｃｒの値にシステムタイムクロックｓｔｃのクロック周波数を同期した状態で、システムタイムクロックｓｔｃ及びオーディオタイムスタンプＡＴＳ（ＡＴＳ１、ＡＴＳ２、ＡＴＳ３、……）に従ってオーディオフレームＡＦ２（Ａｆ１、Ａｆ２、Ａｆ３、……）をモニタ１３へ順次出力する。
【０１２０】
ここで、クロックリファレンスｐｃｒの値とシステムタイムクロックｓｔｃのクロック周波数とは前述のように同期関係を維持しているので、システムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）との間で、例えば時点Ｔｖ１においてシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳ１との差分値Ｄ２Ｖが発生することはない。
【０１２１】
しかしながら、リアルタイムストリーミングエンコーダ１１のＰＣＲ回路６１から供給されるクロックリファレンスｐｃｒはリアルタイム性が要求されるＵＤＰで送信されてくるものであり、高速性を重視するあまり再送制御されないので当該クロックリファレンスｐｃｒが第２のコンテンツ受信装置４のリアルタイムストリーミングデコーダ１２へ到達しないか、あるいはエラーデータを含んで到達することもある。
【０１２２】
このような場合には、リアルタイムストリーミングエンコーダ１１のＰＣＲ回路６１から所定周期で供給されてくるクロックリファレンスｐｃｒの値と、システムタイムクロックｓｔｃのクロック周波数との同期がＰＬＬを介してずれることがあるが、このときも本発明におけるレンダラー７７ではリップシンクを保障し得るようになされている。
【０１２３】
本発明では、システムタイムクロックｓｔｃとオーディオタイムスタンプＡＴＳそしてビデオタイムスタンプＶＴＳとの間にずれが生じた場合、やはりリップシンクを取る方法として、オーディオ出力の連続性を優先させるようになされている。
【０１２４】
レンダラー７７は、オーディオフレームＡＦ２の出力タイミングＴａ２でのシステムタイムクロックｓｔｃのカウント値とオーディオタイムスタンプＡＴＳ２とを比較し、その差分値Ｄ２Ａを記憶する。一方、レンダラー７７はビデオフレームＶＦ２の出力タイミングＴｖ２でのシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳ２とを比較し、その差分値Ｄ２Ｖを記憶する。
【０１２５】
このとき、クロックリファレンスｐｃｒが第２のコンテンツ受信装置４のリアルタイムストリーミングデコーダ１２へ確実に到達し、クロックリファレンスｐｃｒの値と当該リアルタイムストリーミングデコーダ１２のシステムタイムクロックｓｔｃのクロック周波数とがＰＬＬを介して完全に一致し、モニタ１３を含んでデコーダ側がシステムタイムクロックｓｔｃに同期していれば差分値Ｄ２Ｖ、Ｄ２Ａは「０」となる。
【０１２６】
この差分Ｄ２Ａが正値であればオーディオフレームＡＦ２は早いと判断され、負値であればオーディオフレームＡＦ２は遅れていると判断される。同様に、差分Ｄ２Ｖが正値であればビデオフレームＶＦ２は早いと判断され、負値であればビデオフレームＶＦ２は遅れていると判断される。
【０１２７】
ここでレンダラー７７は、オーディオフレームＡＦ２が早くても遅れていても、オーディオ出力の連続性を維持させることを優先させ、オーディオフレームＡＦ２に対するビデオフレームＶＦ２の出力を相対的に次のように制御する。
【０１２８】
例えば、時点Ｔｖ２のタイミングにおいて、Ｄ２Ｖ−Ｄ２Ａが閾値ＴＨよりも大きい場合、差分値Ｄ２Ｖが差分値Ｄ２Ａよりも大きければ音声に映像が追いついていない状態であるため、レンダラー７７はＧＯＰを構成している例えばＢピクチャに相当するビデオフレームＶｆ３（図示せず）をデコードすることなくスキップして次のビデオフレームＶｆ４を出力するようになされている。
【０１２９】
この場合、レンダラー７７は出力ビデオバッファ７９に格納されている「Ｐ」ピクチャについては、ビデオデコーダ７６で次のピクチャをデコードする際の参照フレームとなるためスキップせず、次のピクチャを生成する際の参照フレームとならない非参照フレームである「Ｂ」ピクチャをスキップすることにより、画質劣化を未然に防ぎながらリップシンクさせるようになされている。
【０１３０】
これに対してＤ２Ｖ−Ｄ２Ａが閾値ＴＨよりも大きく、差分値Ｄ２Ａの方が差分値Ｄ２Ｖよりも大きければ映像に音声が追いついていない状態であるため、レンダラー７７は現在出力中のビデオフレームＶｆ２を繰り返しリピート出力するようになされている。
【０１３１】
また、Ｄ２Ｖ−Ｄ２Ａが閾値ＴＨよりも小さい場合は、音声に対する映像のギャップは許容範囲内であると判断され、レンダラー７７は当該ビデオフレームＶＦ２をそのままモニタ１３へ出力する。
【０１３２】
ところでレンダラー７７では、仮にスキップするべき「Ｂ」ピクチャが出力ビデオバッファ７９に存在せず、「Ｉ」ピクチャや「Ｐ」ピクチャばかりであった場合には、当該「Ｂ」ピクチャをスキップすることはできないため、音声に映像を追い付かせることができなくなってしまう。
【０１３３】
そこでレンダラー７７では、第１のコンテンツ受信装置３におけるストリーミングデコーダ９のレンダラー３７と同様に、スキップすべき「Ｂ」ピクチャが存在しないときには、モニタ１３のモニタ出力タイミングが例えば６０[Hz]であり、出力ビデオバッファ７９から出力すべきビデオフレームＶＦ２のピクチャリフレッシュタイミングが３０[Hz]であることを利用し、当該ピクチャリフレッシュタイミングを短縮するようになされている。
【０１３４】
具体的にはレンダラー７７は、クロックリファレンスｐｃｒと同期したシステムタイムクロックｓｔｃとビデオタイムスタンプＶＴＳの差分値が１６．６６６……[msec]を超えるとき、すなわち音声の出力タイミングに対してモニタ出力タイミングが１フレーム分以上遅れているときは、１フレーム分のビデオフレームをスキップする代わりにピクチャリフレッシュタイミングを３０[Hz]から６０[Hz]に変更して表示間隔を短縮するようになされている。
【０１３５】
つまりレンダラー７７は、当該スキップによる画質劣化の影響を受ける「Ｉ」ピクチャや「Ｐ」ピクチャについてはピクチャリフレッシュ間隔を１／３０秒から１／６０秒に短縮することにより、「Ｉ」ピクチャや「Ｐ」ピクチャをスキップすることによる画質劣化を生じさせることなく映像を音声に追い付かせることができるようになされている。
【０１３６】
（７−２）ライブストリーミングにおけるリップシンク調整処理手順
上述のようにリアルタイムストリーミングデコーダ１２のレンダラー７７がライブストリーミング再生を行う際に、オーディオフレームＡＦ２を基準にしてビデオフレームＶＦ２の出力タイミングを調整することにより映像と音声とをリップシンクさせる出力タイミング調整方法についてまとめると、次の図１４のフローチャートに示すように、リアルタイムストリーミングデコーダ１２のレンダラー７７は、ルーチンＲＴ２の開始ステップから入って、次のステップＳＰ２１へ移る。
【０１３７】
ステップＳＰ２１において、第２のコンテンツ受信装置４におけるリアルタイムストリーミングデコーダ１２のレンダラー７７は、第１のコンテンツ受信装置３におけるリアルタイムストリーミングエンコーダ１１のＰＣＲ回路６１からクロックリファレンスｐｃｒを受信し、次のステップＳＰ２２へ移る。
【０１３８】
ステップＳＰ２２においてレンダラー７７は、減算回路８１、フィルタ８２、電圧制御型クリスタルオシレータ回路８３及びＳＴＣ回路８４を介して構成されるＰＬＬによってクロックリファレンスｐｃｒとシステムタイムクロックｓｔｃとを同期させることにより、これ以降、出力タイミングを調整する際の基準として当該クロックリファンレンスｐｃｒに同期したシステムタイムクロックｓｔｃを用い、次のステップＳＰ２３へ移る。
【０１３９】
ステップＳＰ２３においてレンダラー７７は、時点Ｔｖ１、Ｔｖ２、Ｔｖ３、……のタイミイグにおけるシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳとの差分値Ｄ２Ｖを算出し、また時点Ｔａ１、Ｔａ２、Ｔａ３、……のタイミングにおけるシステムタイムクロックｓｔｃのカウント値とオーディオタイムスタンプＡＴＳとの差分値Ｄ２Ａを算出し、次のステップＳＰ２４へ移る。
【０１４０】
ステップＳＰ２４においてレンダラー７７は、ステップＳＰ２３で算出した差分値Ｄ２Ｖ、Ｄ２Ａに基づいて算出したＤ２Ｖ−Ｄ２Ａが閾値ＴＨ（例えば１００[msec]）よりも小さい場合、否定結果を得て次のステップＳＰ２５へ移る。
【０１４１】
ステップＳＰ２５においてレンダラー７７は、Ｄ２Ａ−Ｄ２Ｖが閾値ＴＨ（例えば１００[msec]）よりも大きい場合、肯定結果を得て映像が音声に対して進んでいると判断し、次のステップＳＰ２６へ移る。
【０１４２】
ステップＳＰ２６においてレンダラー７７は、映像の方が音声よりも進んでいるので、音声が映像に追いつくように現在出力中のピクチャを構成するビデオフレームＶＦ２をリピートして出力した後、次のステップＳＰ３１へ移って処理を終了する。
【０１４３】
これに対してステップＳＰ２５でＤ２Ａ−Ｄ２Ｖが閾値ＴＨを越えていないのであれば、否定結果を得て、音声と映像との間にずれが生じているとは感じない程度であると判断し、次のステップＳＰ２７へ移る。
【０１４４】
ステップＳＰ２７においてレンダラー７７は、映像と音声との間でずれが生じているとは感じない程度の時間差しかないので、この場合はクロックリファレンスｐｃｒと同期したシステムタイムクロックｓｔｃを基に、ビデオフレームＶＦ２をビデオタイムスタンプＶＴＳに従ってそのままモニタ１３へ出力し、次のステップＳＰ３１へ移って処理を終了する。
【０１４５】
なおレンダラー７７は、音声に関しては音の連続性を維持させるため、上記のいずれの場合においても、クロックリファレンスｐｃｒと同期したシステムタイムクロックｓｔｃを基に、オーディオタイムスタンプＡＴＳに従ってそのままモニタ１３へ出力するようになされている。
【０１４６】
これに対してステップＳＰ２４で肯定結果が得られると、このことはＤ２Ｖ−Ｄ２Ａが閾値ＴＨ（例えば１００[msec]）よりも大きいこと、すなわち音声に対して映像が遅れていることを表しており、このときレンダラー７７は次のステップＳＰ２８へ移る。
【０１４７】
ステップＳＰ２８においてレンダラー７７は、出力ビデオバッファ７９に「Ｂ」ピクチャが存在するか否かを判定し、肯定結果が得られると次のステップＳＰ２９へ移り、否定結果が得られると次のステップＳＰ３０へ移る。
【０１４８】
ステップＳＰ２９においてレンダラー７７は、ビオデがオーディオに対して遅れていると判断し、かつ「Ｂ」ピクチャが出力ビデオバッファ７９に存在することを確認したので、Ｂピクチャ（ビデオフレームＶｆ３）をデコードせずにスキップして出力することにより、音声に対する映像の遅れを取り戻してリップシンクさせることができ、次のステップＳＰ３１へ移って処理を終了する。
【０１４９】
一方、ステップＳＰ３０においてレンダラー７７は、モニタ１３のモニタ出力タイミングが６０[Hz]であるのに対し、ビデオフレームＶＦ２のピクチャリフレッシュタイミングが３０[Hz]であることを利用し、当該ピクチャリフレッシュタイミングをモニタ１３のモニタ出力タイミングに合わせて短縮することにより、ピクチャをスキップすることによる画質劣化を生じさせることなく音声に映像を追い付かせ、次のステップＳＰ３１へ移って処理を終了する。
【０１５０】
このように第２のコンテンツ受信装置４におけるリアルタイムストリーミングデコーダ１２のレンダラー７７は、第１のコンテンツ受信装置３におけるリアルタイムストリーミングエンコーダ１１のクロックリファレンスｐｃｒと当該リアルタイムストリーミングデコーダ１２のシステムタイムクロックｓｔｃとを同期させることによりライブストリーミング再生を実現すると共に、そのためのクロックリファレンスｐｃｒがＵＤＰでリアルタイム性を重要視するために再送制御されずに到達しないことがあった場合でも、システムタイムクロックｓｔｃに対するオーディオタイムスタンプＡＴＳ、ビデオタイムスタンプＶＴＳのずれに応じてリップシンク調整処理を実行することにより、ライブストリーミング再生を行いながらも確実にリップシンクし得るようになされている。
【０１５１】
（８）動作及び効果
以上の構成において、第１のコンテンツ受信装置３のストリーミングデコーダ９は、コンテンツの種類がオーディオ及びビデオからなるものである場合、プリセット用ビデオタイムスタンプＶＴＳｐでシステムタイムクロックｓｔｃの値をプリセットした後に必ずプリセット用オーディオタイムスタンプＡＴＳｐでプリセットし直すことにより、最終的には必ずシステムタイムクロックｓｔｃの値とプリセット用オーディオタイムスタンプＡＴＳｐ（ＡＴＳｐ１、ＡＴＳｐ２、ＡＴＳｐ３、……）とを一致させる。
【０１５２】
ストリーミングデコーダ９のレンダラー３７は、プリセット用オーディオタイムスタンプＡＴＳｐでプリセットしたシステムタイムクロックｓｔｃのカウント値と、ビデオフレームＶＦ１（Ｖｆ１、Ｖｆ２、Ｖｆ３、……）に付されたビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）との差分値Ｄ１を算出することにより、当該ビデオタイムスタンプＶＴＳを付したエンコーダ側のクロック周波数とデコーダ側システムタイムクロックｓｔｃのクロック周波数とのずれによって生じる時間差を認識することができる。
【０１５３】
ストリーミングデコーダ９のレンダラー３７は、その差分値Ｄ１に応じてビデオフレームＶＦ１の現ピクチャをリピートして出力したり、又は非参照フレームのＢピクチャをデコードせずにスキップして出力したり、或いはピクチャリフレッシュタイミングを短縮して出力することにより、モニタ１０へ出力する音声を途切れさせることなく当該音声の連続性を保ったまま、その音声に対する映像の出力タイミングを調整することができる。
【０１５４】
もちろんレンダラー３７は、差分値Ｄ１が閾値ＴＨ以下であって、ユーザがリップシンクのずれを認識し得ない程度である場合には、リピート出力やスキップ再生処理或いはピクチャリフレッシュ間隔を短縮することをせずにビデオタイムスタンプＶＴＳ（ＶＴＳ１、ＶＴＳ２、ＶＴＳ３、……）の通りにモニタ１０へ出力することもできるので、この場合にも当然映像の連続性を保つことができる。
【０１５５】
さらに第２のコンテンツ受信装置４におけるリアルタイムストリーミングデコーダ１２のレンダラー７７は、第１のコンテンツ受信装置３におけるリアルタイムストリーミングエンコーダ１１のＰＣＲ回路６１から供給されるクロックリファレンスｐｃｒとデコーダ側のシステムタイムクロックｓｔｃとを同期させた上で、オーディオタイムスタンプＡＴＳ及びビデオタイムスタンプＶＴＳに従ってオーディオフレームＡＦ２及びビデオフレームＶＦ２をモニタ１３へ出力することができるので、リアルタイム性を保持したままライブストリーミング再生を実現することができる。
【０１５６】
その上、第２のコンテンツ受信装置４におけるリアルタイムストリーミングデコーダ１２のレンダラー７７は、第１のコンテンツ受信装置３におけるリアルタイムストリーミングエンコーダ１１のＰＣＲ回路６１から供給されるクロックリファレンスｐｃｒがＵＤＰで再送制御されずに到達しないために、当該クロックリファレンスｐｃｒとシステムタイムクロックｓｔｃとの同期が外れたとしても、システムタイムクロックｓｔｃとビデオタイムスタンプＶＴＳとの差分値Ｄ２Ｖ、システムタイムクロックｓｔｃとオーディオタイムスタンプＡＴＳとの差分値Ｄ２Ａを算出し、当該差分値Ｄ２ＶとＤ２Ａとのギャップに応じてビデオフレームＶＦ２の出力タイミングを調整することにより、モニタ１３へ出力する音声を途切れさせることなく連続性を保ったまま、その音声に対する映像の出力タイミングを調整することができる。
【０１５７】
また第１のコンテンツ受信装置３におけるストリーミングデコーダ９のレンダラー３７は、プリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番で決められたプリセットシーケンスに従い、当該プリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐを用いてシステムタイムクロックｓｔｃをプリセットするようにしたことにより、コンテンツの種類がオーディオだけからなるものであるときにはプリセット用オーディオタイムスタンプＡＴＳｐでシステムタイムクロックｓｔｃをプリセットすることができ、またコンテンツの種類がビデオのみでなるものであるときには、プリセット用ビデオタイムスタンプＶＴＳｐでシステムタイムクロックｓｔｃをプリセットすることができるので、コンテンツの種類がオーディオ及びビデオからなるもの、オーディオのみからなるもの又はビデオのみからなるものである場合にも対応することができる。
【０１５８】
すなわちストリーミングデコーダ９のレンダラー３７は、コンテンツが必ずしもオーディオ及びビデオからなるものでなく、当該コンテンツがビデオのみからなるものであってプリセット用オーディオタイムスタンプＡＴＳｐが存在しないときや、コンテンツがオーディオのみからなるものであってプリセット用ビデオタイムスタンプＶＴＳｐが存在しないときでも、ビデオフレームＶＦ１やオーディオフレームＡＦ１の出力に対応することができるので、コンテンツの種類に応じた最適なタイミングでモニタ１０へ出力することができる。
【０１５９】
さらにストリーミングデコーダ９のレンダラー３７では、プリセット後のシステムタイムクロックｓｔｃのカウント値とビデオタイムスタンプＶＴＳ２との差分値Ｄ１が所定の閾値ＴＨよりも大きく、かつ映像が音声よりも遅れている場合で、出力ビデオバッファ３９にＢピクチャが存在するときには画質劣化の影響のない当該Ｂピクチャをデコードすることなくスキップし、出力ビデオバッファ３９にＢピクチャが存在しないときにはモニタ１０のモニタ出力タイミングに合わせてビデオフレームＶＦ１のピクチャリフレッシュタイミングを短縮することによりピクチャスキップによる画質劣化を生じさせずに映像を音声に追い付かせることができる。
【０１６０】
以上の構成によれば、第１のコンテンツ受信装置３におけるストリーミングデコーダ９のレンダラー３７及び第２のコンテンツ受信装置４におけるリアルタイムストリーミングデコーダ１２のレンダラー７７は、オーディオフレームＡＦ１、ＡＦ２の出力タイミングを基準としてビデオフレームＶＦ１、ＶＦ２の出力タイミングを調整することができるので、音声の連続性を保ったまま視聴者であるユーザに違和感を感じさせることなくリップシンクさせることができる。
【０１６１】
（９）他の実施の形態
なお上述の実施の形態においては、オーディオフレームＡＦ１、ＡＦ２を基準とした差分値Ｄ１又はＤ２Ｖ、Ｄ２Ａに応じてリップシンクを調整することによりエンコーダ側のクロック周波数とデコーダ側のクロック周波数とのずれを吸収するようにした場合について述べたが、本発明はこれに限らず、クロックジッタ、ネットワークジッタ等によって生じるエンコーダ側のクロック周波数とデコーダ側のクロック周波数との微妙なずれを吸収するようにしても良い。
【０１６２】
また上述の実施の形態においては、コンテンツ提供装置２と第１のコンテンツ受信装置３との間でインターネット５を介して接続し、プリエンコーデッドストリーミングを実現するようにした場合について述べたが、本発明はこれに限らず、コンテンツ提供装置２と第２のコンテンツ受信装置４との間でインターネット５を介して接続し、プリエンコーデッドストリーミングを実現するようにしたり、コンテンツ提供装置２から第１のコンテンツ受信装置３を介して第２のコンテンツ受信装置４へコンテンツを提供することによりプリエンコーデッドストリーミングを実現するようにしても良い。
【０１６３】
さらに上述の実施の形態においては、第１のコンテンツ受信装置３と第２のコンテンツ受信装置４との間でライブストリーミングを行うようにした場合について述べたが、本発明はこれに限らず、コンテンツ提供装置２と第１のコンテンツ受信装置３との間や、コンテンツ提供装置２と第２のコンテンツ受信装置４との間でライブストリーミングを行うようにしても良い。
【０１６４】
この場合、コンテンツ提供装置２のストリーミングサーバ８からクロックリファレンスｐｃｒを第１のコンテンツ受信装置３のストリーミングデコーダ９へ送信し、当該ストリーミングデコーダ９でクロックリファレンスｐｃｒとシステムタイムクロックｓｔｃとを同期させることにより、ライブストリーミングを実現することができる。
【０１６５】
さらに上述の実施の形態においては、サブトラクタ回路４４及び４５によって最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１の値を所定時間分だけ引き戻すようにした場合について述べたが、本発明はこれに限らず、バッファ４２及び４３を介して最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１がコンパレータ回路４６に到達した時点で、バッファ４２及び４３による遅延等によりＳＴＣ回路４１からコンパレータ回路４６に供給されるプリセット後のシステムタイムクロックｓｔｃの値が当該ビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１を経過していることがなければ、必ずしもサブトラクタ回路４４及び４５によって最初のビデオタイムスタンプＶＴＳ１及びオーディオタイムスタンプＡＴＳ１の値を所定時間分だけ引き戻さなくても良い。
【０１６６】
さらに上述の実施の形態においては、コンテンツの種類を判別する前に当該コンテンツの種類に拘らずプリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐの順番で決められたプリセットシーケンスに従ってシステムタイムクロックｓｔｃをプリセットするようにした場合について述べたが、本発明はこれに限らず、最初にコンテンツの種類を判別し、当該コンテンツがオーディオ及びビデオからなるものであるときには、プリセット用ビデオタイムスタンプＶＴＳｐ、プリセット用オーディオタイムスタンプＡＴＳｐでシステムタイムクロックｓｔｃをプリセットし、当該コンテンツがビデオだけからなるものであるときには、プリセット用ビデオタイムスタンプＶＴＳｐでシステムタイムクロックｓｔｃをプリセットし、当該コンテンツがオーディオだけからなるものであるときには、プリセット用オーディオタイムスタンプＡＴＳｐでシステムタイムクロックｓｔｃをプリセットするようにしても良い。
【０１６７】
さらに上述の実施の形態においては、出力ビデオバッファ３９、７９にＢピクチャが存在しない場合には、モニタ１０及び１３のモニタ出力レートに合わせてビデオフレームＶＦ１及びＶＦ２のピクチャリフレッシュレートを３０[Hz]から６０[Hz]に短縮するようにした場合について述べたが、本発明はこれに限らず、Ｂピクチャの有無に拘らずビデオフレームＶＦ１及びＶＦ２のピクチャリフレッシュレートを３０[Hz]から６０[Hz]に短縮するようにしても良い。この場合でも、レンダラー３７及び７７は、音声に対して映像の遅れを取り戻してリップシンクさせることができる。
【０１６８】
さらに上述の実施の形態においては、Ｂピクチャをスキップして出力するようにした場合について述べたが、本発明はこれに限らず、Ｉピクチャの直前に位置するＰピクチャをスキップして出力するようにしても良い。
【０１６９】
これは、Ｉピクチャの直前に位置するＰピクチャであれば、次のＩピクチャを生成する際に当該Ｐピクチャが参照されることはなく、スキップしたとしても次のＩピクチャを生成する際に支障を来たすことがなく、画質劣化が生じることもないからである。
【０１７０】
さらに上述の実施の形態においては、ビデオフレームＶｆ３をデコードせずにスキップしてモニタ１０へ出力するようにした場合について述べたが、本発明はこれに限らず、ビデオフレームＶｆ３をデコードした後に出力ビデオバッファ３９から出力する段階でデコード後のビデオフレームＶｆ３をスキップして出力するようにしても良い。
【０１７１】
さらに上述の実施の形態においては、オーディオフレームＡＦ１、ＡＦ２についてはリップシンクの調整を行う際の基準として用いているために、全てのオーディオフレームについて欠けることなくモニタ１０、１３へ出力するようにした場合について述べたが、本発明はこれに限らず、例えば無音部分に相当するオーディオフレームがあった場合には、そのオーディオフレームをスキップして出力するようにしても良い。
【０１７２】
さらに上述の実施の形態においては、本発明のコンテンツ受信装置を、復号手段としてのオーディオデコーダ３５、７４、ビデオデコーダ３６、７６と、記憶手段としての入力オーディオバッファ３３、７３、出力オーディオバッファ３８、７８、入力ビデオバッファ３４、７５、出力ビデオバッファ３９、７９と、算出手段及びタイミング調整手段としてのレンダラー３７、７７とによって構成するようにした場合について述べたが、本発明はこれに限らず、その他種々の回路構成でコンテンツ受信装置を形成するようにしても良い。
【産業上の利用可能性】
【０１７３】
本発明のコンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムは、例えばサーバから音声付の動画コンテンツをダウンロードして表示する用途に適用することができる。
【図面の簡単な説明】
【０１７４】
【図１】ストリーミングシステムの全容を表すコンテンツ提供システムの全体構成を示す略線的ブロック図である。
【図２】コンテンツ提供装置の回路構成を示す略線的ブロック図である。
【図３】オーディオパケット及びビデオパケット内のタイムスタンプ（ＴＣＰプロトコル）の構造を示す略線図である。
【図４】第１のコンテンツ受信装置におけるストリーミングデコーダのモジュール構成を示す略線的ブロック図である。
【図５】タイミングコントロール回路の構成を示す略線的ブロック図である。
【図６】プリセット後のＳＴＣと比較されるタイムスタンプを示す略線図である。
【図７】プリエンコーデッドストリーミングにおけるビデオフレーム及びオーディオフレームの出力タイミングを説明する際に供する略線図である。
【図８】Ｉピクチャ、Ｐピクチャの場合のビデオフレーム出力制御処理の説明に供する略線図である。
【図９】プリエンコーデッドストリーミングにおけるリップシンク調整処理手順を示すフローチャートである。
【図１０】第１のコンテンツ受信装置におけるリアルタイムストリーミングエンコーダの回路構成を示す略線的ブロック図である。
【図１１】コントロールパケット内のＰＣＲ（ＵＤＰプロトコル）の構造を示す略線図である。
【図１２】第２のコンテンツ受信装置におけるリアルタイムストリーミングデコーダの回路構成を示す略線的ブロック図である。
【図１３】ライブストリーミングにおけるビデオフレーム及びオーディオフレームの出力タイミングを説明する際に供する略線図である。
【図１４】ライブストリーミングにおけるリップシンク調整処理手順を示す略線的フローチャートである。
【符号の説明】
【０１７５】
１……コンテンツ提供システム、２……コンテンツ提供装置、３……第１のコンテンツ受信装置、４……第２のコンテンツ受信装置、５……インターネット、７……エンコーダ、８……ストリーミングサーバ、９……ストリーミングデコーダ、１０、１３……モニタ、１１……リアルタイムストリーミングエンコーダ、１２……リアルタイムストリーミングデコーダ、１４……Ｗｅｂサーバ、１５……Ｗｅｂブラウザ、２１、５１……ビデオ入力部、２２、５２……ビデオエンコーダ、２３……ビデオＥＳ蓄積部、２４、５３……オーディオ入力部、２５、５４……オーディオエンコーダ、２６……オーディオＥＳ蓄積部、２８、５７……ビデオフレームカウンタ、２９、５８……オーディオフレームカウンタ、２７、５６……パケット生成部、３０、５９……パケットデータ蓄積部、３１、７１……入力パケット蓄積部、３２、７２……パケット分割部、３３、７３……入力オーディオバッファ、３４、７５……入力ビデオバッファ、３５、７４……オーディオデコーダ、３６、７６……ビデオデコーダ、３７、７７……レンダラー、３８、７８……出力オーディオバッファ、３９、７９……出力ビデオバッファ、４０……クリスタルオシレータ回路、８１……減算回路、８２……フィルタ、８３……電圧制御型クリスタルオシレータ、４１、６０、８４……ＳＴＣ回路、６１……ＰＣＲ回路。
【図１】
2005102193.tif 000003
【図２】
2005102193.tif 000004
【図３】
2005102193.tif 000005
【図４】
2005102193.tif 000006
【図５】
2005102193.tif 000007
【図６】
2005102193.tif 000008
【図７】
2005102193.tif 000009
【図８】
2005102193.tif 000010
【図９】
2005102193.tif 000011
【図１０】
2005102193.tif 000012
【図１１】
2005102193.tif 000013
【図１２】
2005102193.tif 000014
【図１３】
2005102193.tif 000015
【図１４】
2005102193.tif 000016