JP4735932B2 - コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム - Google Patents

コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム Download PDF

Info

Publication number
JP4735932B2
JP4735932B2 JP2004256204A JP2004256204A JP4735932B2 JP 4735932 B2 JP4735932 B2 JP 4735932B2 JP 2004256204 A JP2004256204 A JP 2004256204A JP 2004256204 A JP2004256204 A JP 2004256204A JP 4735932 B2 JP4735932 B2 JP 4735932B2
Authority
JP
Japan
Prior art keywords
video
audio
frame
time
video frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004256204A
Other languages
English (en)
Other versions
JP2005102193A (ja
Inventor
郁夫 塚越
信司 高田
晃一 後藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004256204A priority Critical patent/JP4735932B2/ja
Publication of JP2005102193A publication Critical patent/JP2005102193A/ja
Application granted granted Critical
Publication of JP4735932B2 publication Critical patent/JP4735932B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Receiver Circuits (AREA)

Description

本発明は、コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムに関し、例えばコンテンツを受信するデコーダ側で映像と音声のリップシンクがずれることを解消する場合に適用して好適なものである。
従来、コンテンツ受信装置においては、エンコーダ側のサーバからコンテンツを受信してデコードする場合、当該コンテンツを構成する映像パケット及び音声パケットに分離し、それぞれデコードした後に映像パケットに付されたビデオタイムスタンプと音声パケットに付されたオーディオタイムスタンプを基にビデオフレームとオーディオフレームを出力することにより、映像と音声との出力タイミングを一致させる(すなわちリップシンクさせる)ようになされている(例えば、特許文献1、特許文献2参照)。
特開平8-280008号公報 特開2004-15553公報
ところでかかる構成のコンテンツ受信装置においては、当該デコーダ側のシステムタイムクロックと、エンコーダ側の基準クロックとが互いに同期しているとは限らず、また当該デコーダ側のシステムタイムクロックにおけるクロックジッタ等によってエンコーダ側の基準クロックとの間でクロック周波数の微妙なずれが生じていることもある。
またコンテンツ受信装置は、ビデオフレームとオーディオフレームとではそのデータ長が異なるため、当該デコーダ側のシステムタイムクロックとエンコーダ側の基準クロックとが完全に同期していないときには、ビデオタイムスタンプ及びオーディオタイムスタンプを基にビデオフレーム及びオーディオフレームを出力したとしても、映像と音声との出力タイミングが一致せず、リップシンクがずれてしまうという問題があった。
本発明は以上の点を考慮してなされたもので、視聴者であるユーザに違和感を感じさせることなく映像及び音声間のリップシンクを当該デコーダ側で確実に調整し得るコンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムを提案しようとするものである。
かかる課題を解決するため本発明のコンテンツ受信装置においては、エンコーダ側のエンコーダ基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、エンコーダ基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとをエンコーダ側のコンテンツ提供装置から受信して復号する復号手段と、復号手段によって符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、エンコーダ側のエンコーダ基準クロックに基づいてビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差を算出する算出手段と、時間差が所定の時間よりも長く、かつ出力時にビデオフレームが当該ビデオフレームと対応するオーディオフレームよりも遅れることになるか否かを判定するビデオ遅れ判定手段と、記憶手段に蓄積されたビデオフレームのうち、エンコーダ側において次のピクチャを符号化する際の参照フレームとならない非参照フレームに対応したビデオフレームが存在するか否かを判定するピクチャ判定手段と、ビデオ遅れ判定手段によりビデオフレームがオーディオフレームよりも遅れていると判断した場合で、かつビデオフレームのうちピクチャ判定手段により非参照フレームに対応したビデオフレームが存在すると判定されたとき、当該非参照フレームに対応したビデオフレームをスキップしてその他のビデオフレームをビデオフレームに対応した映像を表示するための外部接続された表示手段へ出力し、非参照フレームに対応したビデオフレームが存在しないと判定されたとき、表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべきビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、表示手段において当該ピクチャ更新レートに従ってビデオフレームを画面に表示させオーディオフレームに追い付かせて映像及び音声間のリップシンクを調整するタイミング調整手段とを設けるようにする。
従って、コンテンツ受信装置では、エンコーダ側のエンコーダ基準クロックに基づいてビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差に基づいてビデオフレームが当該ビデオフレームと対応するオーディオフレームよりも遅れていると判断した場合で、かつビデオフレームのうち非参照フレームに対応したビデオフレームが存在するときには当該非参照フレームに対応したビデオフレームをスキップしてその他のビデオフレームを表示手段へ出力し、非参照フレームに対応したビデオフレームが存在しないときには表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべきビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、表示手段においてビデオフレームをオーディオフレームに追い付かせて映像及び音声間のリップシンクを調整することができるので、非参照フレームに対応したビデオフレームの有無に拘わらず画質劣化のない状態でリップシンクさせることができる。
また本発明のビデオオーディオ出力タイミング制御方法においては、エンコーダ側のエンコーダ基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、エンコーダ基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとをエンコーダ側のコンテンツ提供装置から受信して復号手段により復号する復号ステップと、復号ステップで符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを記憶手段に蓄積する記憶ステップと、エンコーダ側のエンコーダ基準クロックに基づいてビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差を算出手段により算出する算出ステップと、時間差が所定の時間よりも長く、かつ出力時にビデオフレームが当該ビデオフレームと対応するオーディオフレームよりも遅れることになるか否かをビデオ遅れ判定手段により判定するビデオ遅れ判定ステップと、記憶手段に蓄積されたビデオフレームのうち、エンコーダ側において次のピクチャを符号化する際の参照フレームとならない非参照フレームに対応したビデオフレームが存在するか否かをピクチャ判定手段により判定するピクチャ判定ステップと、ビデオ遅れ判定ステップでビデオフレームがオーディオフレームよりも遅れていると判断した場合で、かつビデオフレームのうちピクチャ判定ステップで非参照フレームに対応したビデオフレームが存在すると判定されたとき、当該非参照フレームをスキップしてその他のビデオフレームをビデオフレームに対応した映像を表示するための外部接続された表示手段へ出力し、非参照フレームに対応したビデオフレームが存在しないと判定されたとき、表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべきビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、表示手段において当該ピクチャ更新レートに従ってビデオフレームを画面に表示させオーディオフレームに追い付かせて映像及び音声間のリップシンクを調整するタイミング調整ステップとを有するようにする。
従って、ビデオオーディオ出力タイミング制御方法では、エンコーダ側のエンコーダ基準クロックに基づいてビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差に基づいてビデオフレームが当該ビデオフレームと対応するオーディオフレームよりも遅れていると判断した場合で、かつビデオフレームのうち非参照フレームに対応したビデオフレームが存在するときには当該非参照フレームに対応したビデオフレームをスキップしてその他のビデオフレームを表示手段へ出力し、非参照フレームに対応したビデオフレームが存在しないときには表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべきビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、表示手段においてビデオフレームをオーディオフレームに追い付かせて映像及び音声間のリップシンクを調整することができるので、非参照フレームに対応したビデオフレームの有無に拘わらず画質劣化のない状態でリップシンクさせることができる。
さらに本発明においては、コンテンツ提供装置とコンテンツ受信装置を有するコンテンツ提供システムであって、コンテンツ提供装置は、エンコーダ側のエンコーダ基準クロックに基づくビデオタイムスタンプを付した複数の符号化ビデオフレームと、エンコーダ基準クロックに基づくオーディオタイムスタンプを付した複数の符号化オーディオフレームとを生成する符号化手段と、複数の符号化ビデオフレーム及び複数の符号化オーディオフレームをコンテンツ受信装置へ順次送信する送信手段とを具え、コンテンツ受信装置は、ビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、オーディオタイムスタンプが順次付された複数の符号化オーディオフレームとをエンコーダ側のコンテンツ提供装置から受信して復号する復号手段と、復号手段によって符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、エンコーダ側のエンコーダ基準クロックに基づいてビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差を算出する算出手段と、時間差が所定の時間よりも長く、かつ出力時にビデオフレームが当該ビデオフレームと対応するオーディオフレームよりも遅れることになるか否かを判定するビデオ遅れ判定手段と、記憶手段に蓄積されたビデオフレームのうち、エンコーダ側において次のピクチャを符号化する際の参照フレームとならない非参照フレームに対応したビデオフレームが存在するか否かを判定するピクチャ判定手段と、ビデオ遅れ判定手段によりビデオフレームがオーディオフレームよりも遅れていると判断した場合で、かつビデオフレームのうちピクチャ判定手段により非参照フレームに対応したビデオフレームが存在すると判定されたとき、当該非参照フレームに対応したビデオフレームをスキップしてその他のビデオフレームをビデオフレームに対応した映像を表示するための外部接続された表示手段へ出力し、非参照フレームに対応したビデオフレームが存在しないと判定されたとき、表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべきビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、表示手段において当該ピクチャ更新レートに従ってビデオフレームを画面に表示させオーディオフレームに追い付かせて映像及び音声間のリップシンクを調整するタイミング調整手段とを設けるようにする。
従ってコンテンツ提供システムでは、エンコーダ側のエンコーダ基準クロックに基づいてビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差に基づいてビデオフレームが当該ビデオフレームと対応するオーディオフレームよりも遅れていると判断した場合で、かつビデオフレームのうち非参照フレームに対応したビデオフレームが存在するときには当該非参照フレームに対応したビデオフレームをスキップしてその他のビデオフレームを表示手段へ出力し、非参照フレームに対応したビデオフレームが存在しないときには表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべきビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、表示手段においてビデオフレームをオーディオフレームに追い付かせて映像及び音声間のリップシンクを調整することができるので、非参照フレームに対応したビデオフレームの有無に拘わらず画質劣化のない状態でリップシンクさせることができる。
上述のように本発明によれば、エンコーダ側のエンコーダ基準クロックに基づいてビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差に基づいてビデオフレームが当該ビデオフレームと対応するオーディオフレームよりも遅れていると判断した場合で、かつビデオフレームのうち非参照フレームに対応したビデオフレームが存在するときには当該非参照フレームに対応したビデオフレームをスキップしてその他のビデオフレームを表示手段へ出力し、非参照フレームに対応したビデオフレームが存在しないときには表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべきビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、表示手段においてビデオフレームをオーディオフレームに追い付かせて映像及び音声間のリップシンクを調整することができるので、非参照フレームに対応したビデオフレームの有無に拘わらず画質劣化のない状態でリップシンクさせることができ、かくして視聴者であるユーザに画質劣化による違和感を感じさせることなく映像及び音声間のリップシンクを当該デコーダ側で確実に調整し得るコンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムを実現することができる。
以下、図面について、本発明の一実施の形態を詳述する。
(1)コンテンツ提供システムの全体構成
図1において、1は全体として本発明のコンテンツ提供システムを示し、大きく分けてコンテンツ配信側となるコンテンツ提供装置2と、コンテンツ受信側となる第1のコンテンツ受信装置3及び第2のコンテンツ受信装置4とによって構成されている。
コンテンツ提供システム1では、コンテンツ提供装置2及びWebサーバ14と第1のコンテンツ受信装置3とがインターネット5を介して相互に接続されており、当該Webサーバ14からインターネット5経由で取得したコンテンツ配信先であるURL(Uniform Resource Locator)や当該コンテンツに関するメタデータを第1のコンテンツ受信装置3におけるWebブラウザ15で解析し、そのメタデータやURLをストリーミングデコーダ9へ供給する。
ストリーミングデコーダ9では、Webブラウザ15により解析したURLに基づいて当該コンテンツ提供装置2のストリーミングサーバ8へアクセスし、ユーザ所望のコンテンツに対する配信要求を行う。
コンテンツ提供装置2は、エンコーダ7でユーザ所望のコンテンツに対応したコンテンツデータを予めエンコードし、その結果得られるエレメンタリストリームをストリーミングサーバ8でパケット化し、これをインターネット5を介して第1のコンテンツ受信装置3へ配信するようになされている。
これによりコンテンツ提供システム1では、第1のコンテンツ受信装置3からの要求に応じたユーザ所望のコンテンツをコンテンツ提供装置2から配信するビデオオンデマンド(VOD)のようなプリエンコーデッドストリーミングを実現し得るようになされている。
第1のコンテンツ受信装置3は、エレメンタリストリームをストリーミングデコーダ9でデコードすることにより元の映像及び音声を復元し、当該元の映像及び音声をモニタ10から出力するようになされている。
またコンテンツ提供システム1では、第1のコンテンツ受信装置3と第2のコンテンツ受信装置4とが例えばIEEE(Institute of Electrical and Electronics Engineers)802.11a/b/g等の規格に準拠した無線LAN6で接続されており、当該第1のコンテンツ受信装置3が外部から供給された地上波ディジタル、BS(Broadcast Satellite)/CS(Communication Satellite)ディジタル又は地上波アナログ放送等のコンテンツあるいはDVD(Digital Versatile Disc)、VideoCDほか一般的なビデオカメラからのコンテンツをリアルタイムストリーミングエンコーダ11でリアルタイムにエンコードした後に中継する形で第2のコンテンツ受信装置4へ無線送信し得るようになされている。
因みに、第1のコンテンツ受信装置3と第2のコンテンツ受信装置4とは必ずしも無線LAN6で接続されていなければならない訳ではなく、有線LANで接続されていても良い。
第2のコンテンツ受信装置4は、第1のコンテンツ受信装置3から受信したコンテンツをリアルタイムストリーミングデコーダ12でデコードすることによりストーミング再生を行い、その再生結果をモニタ13へ出力するようになされている。
かくして第1のコンテンツ受信装置3及び第2のコンテンツ受信装置4の間では、外部から供給を受けたコンテンツを第1のコンテンツ受信装置3におけるリアルタイムストリーミングエンコーダ11でリアルタイムにエンコードして第2のコンテンツ受信装置4へ送信し、当該第2のコンテンツ受信装置4でストリーミング再生することにより、ライブストリーミングを実現し得るようになされている。
(2)コンテンツ提供装置の構成
図2に示すようにコンテンツ提供装置2は、エンコーダ7及びストリーミングサーバ8によって構成されており、外部から取り込んだビデオ信号VS1をビデオ入力部21を介してディジタル変換した後にビデオデータVD1としてビデオエンコーダ22へ送出する。
ビデオエンコーダ22は、ビデオデータVD1を例えばMPEG1/2/4(Moving Picture Experts Group)の規格に準拠した所定の圧縮符号化方法あるいは種々の圧縮符号化方式で圧縮符号化し、その結果得られるビデオエレメンタリストリームVES1をリングバッファでなるビデオES蓄積部23へ送出する。
ビデオES蓄積部23は、ビデオエレメンタリストリームVES1を一旦蓄積した後に、当該ビデオエレメンタリストリームVES1をストリーミングサーバ8のパケット生成部27及びビデオフレームカウンタ28へ送出する。
ビデオフレームカウンタ28では、ビデオエレメンタリストリームVES1をフレーム周波数単位(29.97[Hz]あるいは30[Hz]あるいは59.94[Hz]あるいは60[Hz])でカウントし、そのカウントアップ値を基準クロックに基づく90[KHz]単位の値に変換し、32ビット表現で各ビデオフレームに対するビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)としてパケット生成部27へ送出する。
また、コンテンツ提供装置2は外部から取り込んだオーディオ信号AS1をエンコーダ7のオーディオ入力部24を介してディジタル変換した後にオーディオデータAD1としてオーディオエンコーダ25へ送出する。
オーディオエンコーダ25は、オーディオデータAD1をMPEG1/2/4オーディオの規格に準拠した所定の圧縮符号化方法あるいは種々の圧縮符号化方式で圧縮符号化し、その結果得られるオーディオエレメンタリストリームAES1をリングバッファでなるオーディオES蓄積部26へ送出する。
オーディオES蓄積部26は、オーディオエレメンタリストリームAES1を一旦蓄積した後に、当該オーディオエレメンタリストリームAES1をストリーミングサーバ8のパケット生成部27及びオーディオフレームカウンタ29へ送出する。
オーディオフレームカウンタ29はビデオフレームカウンタ28と同様、オーディオフレームのカウントアップ値をビデオと共通の基準クロックに基づく90[KHz]単位の値に変換し、各オーディオフレームに対するオーディオタイムスタンプATS(ATS1、ATS2、ATS3、……)として32ビット表現し、パケット生成部27へ送出する。
パケット生成部27では、ビデオエレメンタリストリームVES1を所定データサイズのパケットに分割し、それぞれのパケットにビデオヘッダ情報を付加することによりビデオパケットを生成すると共に、オーディオエレメンタリストリームAES1を所定データサイズのパケットに分割し、それぞれのパケットにオーディオヘッダ情報を付加することによりオーディオパケットを生成する。
ここで図3に示すようにオーディオパケット及びビデオパケットは、インターネット層におけるホスト間通信用のIP(Internet Protocol)ヘッダ、トランスポート層における伝送制御用のTCP(Transmission Control Protocol)ヘッダ、リアルタイム・データ転送制御用のRTP(RealTime Transport Protocol)ヘッダ及びRTPペイロードからなり、RTPヘッダ内における4バイトのタイムスタンプ領域に上述のオーディオタイムスタンプATSやビデオタイムスタンプVTSが書き込まれるようになされている。
そしてパケット生成部27(図2)では、ビデオパケット及びビデオタイムスタンプVTSを基に所定バイト数からなる映像パケットデータを生成すると共に、オーディオパケット及びオーディオタイムスタンプATSを基に所定バイト数からなる音声パケットデータを生成し、これらを多重化することにより多重化データMXD1を生成した後パケットデータ蓄積部30へ送出する。
パケットデータ蓄積部30は、多重化データMXD1を所定量蓄積すると、当該多重化データMXD1をインターネット5を介してRTP/TCP(RealTime Transport Protocol/Transmission Control Protocol)で第1のコンテンツ受信装置3へ送信するようになされている。
(3)第1のコンテンツ受信装置におけるストリーミングデコーダのモジュール構成
図4に示すように第1のコンテンツ受信装置3のストリーミングデコーダ9は、コンテンツ提供装置2からRTP/TCPで送信された多重化データMXD1を入力パケット蓄積部31に一旦蓄積した後、パケット分割部32へ送出する。
ここで入力パケット蓄積部31は、インターネット5経由で送信されてくる多重化データMXD1が所定量のパケット分蓄積された時点で当該多重化データMXD1をパケット分割部32へ送出するようになされており、これにより後段のパケット分割部32で多重化データMXD1の処理が途切れることなく連続的に実行し得るようになされている。
パケット分割部32は、多重化データMXD1を映像パケットデータVP1と音声パケットデータAP1に分割し、当該音声パケットデータAP1をリングバッファでなる入力オーディオバッファ33を介してオーディオフレーム単位でオーディオデコーダ35へ送出すると共に、映像パケットデータVP1をリングバッファでなる入力ビデオバッファ34を介してフレーム単位でビデオデコーダ36へ送出するようになされている。
ここで入力オーディオバッファ33及び入力ビデオバッファ34においては、後段のオーディオデコーダ35及びビデオデコーダ36で1オーディオフレーム分の音声パケットデータAP1及び1ビデオフレーム分の映像パケットデータVP1を連続してデコードできるようになるまで蓄積するようになされており、そのため、いつの時点でも少なくとも1オーディオフレーム及び1ビデオフレーム分のデータをオーディオデコーダ35及びビデオデコーダ36へ瞬時に供給できるための容量を有する。
なおパケット分割部32は、映像パケットデータVP1のビデオヘッダ情報及び音声パケットデータAP1のオーディオヘッダ情報を解析することによりビデオタイムスタンプVTS及びオーディオタイムスタンプATSを認識し得るようになされており、当該ビデオタイムスタンプVTS及び当該オーディオタイムスタンプATSをレンダラー37のタイミングコントロール回路37Aへ送出する。
オーディオデコーダ35は、音声パケットデータAP1をオーディオフレーム単位でデコードすることにより圧縮符号化前のオーディオフレームAF1を復元し、順次レンダラー37へ送出する。
ビデオデコーダ36は、映像パケットデータVP1をビデオフレーム単位でデコードすることにより圧縮符号化前のビデオフレームVF1を復元し、順次レンダラー37へ送出する。
ところでストリーミングデコーダ9においては、Webブラウザ15からシステムコントローラ50に対してコンテンツのメタデータMDが供給されており、コンテンツ判別手段としての当該システムコントローラ50では当該メタデータMDに基づいて当該コンテンツの種類がオーディオ及びビデオからなるものであるか、ビデオだけからなるものであるか、或いはオーディオだけからなるものであるかを判別し、そのコンテンツ種類判別結果CHをレンダラー37へ送出する。
レンダラー37は、オーディオフレームAF1をリングバッファでなる出力オーディオバッファ38へ一時的に格納し、また同様にビデオフレームVF1をリングバッファでなる出力ビデオバッファ39に一時的に格納する。
そしてレンダラー37は、タイミングコントロール回路37Aによってモニタ10へ出力すべきビデオフレームVF1の映像とオーディオフレームAF1の音声とをリップシンクさせるべく、システムコントローラ50からのコンテンツ種類判別結果CHと、オーディオタイムスタンプATSやビデオタイムスタンプVTSとに基づいて最終的な出力タイミングを調整した後、その出力タイミングで出力ビデオバッファ39、出力オーディオバッファ38からビデオフレームVF1、オーディオフレームAF1を順次出力するようになされている。
(4)プリエンコーデッドストリーミングにおけるデコーダ側でのリップシンク調整処理
(4−1)プリエンコーデッドストリーミングにおけるビデオフレーム及びオーディオフレームの出力タイミング調整方法
図5に示すようにレンダラー37のタイミングコントロール回路37Aでは、パケット分割部32から送られたビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……、VTSn)及びオーディオタイムスタンプATS(ATS1、ATS2、ATS3、……、ATSn)をバッファ42及び43にそれぞれ一時的に格納した後、コンパレータ回路46へ送出する。
またタイミングコントロール回路37Aは、そのコンテンツにおける最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1だけをサブトラクタ回路44及び45にもそれぞれ送出する。
サブトラクタ回路44及び45は、当該最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1の値を所定時間分だけ引き戻し、これらをプリセット用ビデオタイムスタンプVTSp及びプリセット用オーディオタイムスタンプATSpとしてSTC回路41へ送出する。
STC回路41では、システムタイムクロックstcの値をプリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番で決められたプリセットシーケンスに従ってプリセットする、すなわち当該システムタイムクロックstcの値をプリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番でアジャストする(置き換える)ようになされている。
ここでSTC回路41では、当該最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1の値を所定時間分だけ引き戻したプリセット用ビデオタイムスタンプVTSp及びプリセット用オーディオタイムスタンプATSpを用いてシステムタイムクロックstcの値をプリセットするため、バッファ42及び43を介して当該最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1がコンパレータ回路46に到達したとき、STC回路41からコンパレータ回路46へ供給されるプリセット後のシステムタイムクロックstcの値が当該ビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1よりも前の時刻を示すようになされている。
これによりタイミングコントロール回路37Aのコンパレータ回路46では、プリセット後のシステムタイムクロックstcの値が最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1に対して既に経過しているといったことが無くなるため、当該最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1に対応したビデオフレームVf1及びオーディオフレームAf1についても確実に出力し得るようになされている。
実際上、図6(A)及び(B)に示すように、コンテンツの種類がオーディオ及びビデオからなるものである場合、システムタイムクロックstcの値をプリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番で決められたプリセットシーケンスに従ってプリセットすると、プリセット用ビデオタイムスタンプVTSpでシステムタイムクロックstcの値をプリセットした後に必ずプリセット用オーディオタイムスタンプATSpで先程のプリセット値が更新されることを意味する。
このときコンパレータ回路46は、プリセット用オーディオタイムスタンプATSpでプリセット値が更新された後のシステムタイムクロックstcを基準にしてビデオタイムスタンプVTSと比較することにより、プリセット後のシステムタイムクロックstcの値とエンコーダ側のコンテンツ提供装置2で付けられたビデオタイムスタンプVTSとの時間差を算出するようになされている。
一方、コンテンツの種類がオーディオだけからなるものである場合にはプリセット用ビデオタイムスタンプVTSpがタイミングコントロール回路37Aに送られてくることはないので、システムタイムクロックstcの値をプリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番で決められたプリセットシーケンスに従えば、当然プリセット用オーディオタイムスタンプATSpでシステムタイムクロックstcの値がプリセットされることを意味する。
同様に、コンテンツの種類がビデオだけからなるものである場合にはプリセット用オーディオタイムスタンプATSpがタイミングコントロール回路37Aに送られてくることはないので、システムタイムクロックstcの値をプリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番で決められたプリセットシーケンスに従えば、当然プリセット用ビデオタイムスタンプVTSpでシステムタイムクロックstcの値がプリセットされることを意味する。
これは、コンテンツの種類がオーディオだけでなる場合、若しくはビデオだけでなる場合だけであり、映像及び音声のリップシンクを調整する必要は特にないため、プリセット用オーディオタイムスタンプATSpでプリセットされた後のシステムタイムクロックstcの値とオーディオタイムスタンプATSとが一致したときにオーディオフレームAF1を出力すればよく、またプリセット用ビデオタイムスタンプVTSpでプリセットされた後のシステムタイムクロックstcの値とビデオタイムスタンプVTSとが一致したときにビデオフレームVF1を出力すればよい。
実際上、レンダラー37のタイミングコントロール回路37Aでは、例えばコンテンツの種類がオーディオ及びビデオからなるものである場合、図7に示すように例えばオーディオデコーダ35でデコードした後のオーディオフレームAF1(Af1、Af2、Af3、……)をモニタ10へ順次出力する時点Ta1、Ta2、Ta3、……、のタイミングでは、クリスタルオシレータ回路40(図4)及びSTC回路41を介して供給されるシステムタイムクロックstcの値をプリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番でプリセットすることにより、最終的にシステムタイムクロックstcの値をプリセット用オーディオタイムスタンプATSp1、ATSp2、ATSp3、……と一致させる。
このことは、再生中に音声が途切たり音飛びがあるとユーザにとって非常に目立つので、レンダラー37のタイミングコントロール回路37AではオーディオフレームAF1(Af1、Af2、Af3、……)をリップシンク調整処理の基準として用い、当該オーディオフレームAF1(Af1、Af2、Af3、……)の出力に合わせてビデオフレームVF1(Vf1、Vf2、Vf3、……)の出力タイミングを調整する必要があるからである。
またレンダラー37のタイミングコントロール回路37Aは、オーディオフレームAF1(Af1、Af2、Af3、……)の出力タイミング(時点Ta1、Ta2、Ta3、……)が決まると、ビデオフレームVF1(Vf1、Vf2、Vf3、……)をシステムタイムクロックstcに基づく30[Hz]のフレーム周波数で出力する任意の時点Tv1、Tv2、Tv3、……において、プリセット後のシステムタイムクロックstcのカウント値と、ビデオフレームVF1(Vf1、Vf2、Vf3、……)に付されているビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)とをコンパレータ回路46でそれぞれ比較する。
コンパレータ回路46では、プリセット後のシステムタイムクロックstcのカウント値と、ビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)とが一致したときに出力ビデオバッファ39からビデオフレームVF1(Vf1、Vf2、Vf3、……)をモニタ10へ出力させるようになされている。
ところでコンパレータ回路46は、プリセット後のシステムタイムクロックstcのカウント値と、バッファ42から送られるビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)とを比較した結果、プリセット後のシステムタイムクロックstcのカウント値とビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)との差分値D1(時間差)が所定の時間を表す閾値TH以下であれば、ユーザにとっては映像と音声とが一致していないとは認識し得ないレベルなので、タイミングコントロール回路37Aはプリセット後のシステムタイムクロックstcのカウント値とビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)とが一致したときにビデオフレームVF1(Vf1、Vf2、Vf3、……)をそのままモニタ10に出力すればよい。
それ以外の場合、例えば時点Tv2のタイミングにおいて、プリセット後のシステムタイムクロックstcのカウント値とビデオタイムスタンプVTS2との差分値D1が所定の閾値THよりも大きく、かつ映像が音声よりも遅れている場合には、エンコーダ側のクロック周波数とデコーダ側のクロック周波数とのずれが原因で音声に映像が追いついていない状態であるため、レンダラー37のタイミングコントロール回路37AではGOP(Group Of Picture)を構成している例えばBピクチャに相当するビデオフレームVf3(図示せず)をデコードすることなくスキップし、次のビデオフレームVf4を出力するようになされている。
この場合、レンダラー37は出力ビデオバッファ39に格納されている「P」ピクチャについては、ビデオデコーダ36で次のピクチャをデコードする際の参照フレームとなるためスキップせず、次のピクチャを生成する際の参照フレームとならない非参照フレームである「B」ピクチャをスキップすることにより、画質劣化を未然に防ぎながらリップシンクさせるようになされている。
ところでレンダラー37では、仮にスキップするべき「B」ピクチャが出力ビデオバッファ39に存在せず、「I」ピクチャや「P」ピクチャばかりであった場合には、当該「B」ピクチャをスキップすることはできないため、音声に映像を追い付かせることができなくなってしまう。
そこでレンダラー37では、スキップすべき「B」ピクチャが出力ビデオバッファ39に存在しないときには、図8に示すようにモニタ10のモニタ出力タイミングが例えば60[Hz]であり、出力ビデオバッファ39から出力すべきビデオフレームVF1のピクチャリフレッシュタイミングが30[Hz]であることを利用し、当該ピクチャリフレッシュタイミングを短縮するようになされている。
具体的にはレンダラー37は、プリセット用オーディオタイムスタンプATSpでプリセットした後のシステムタイムクロックstcのカウント値とビデオタイムスタンプVTSの差分値D1が16.666……[msec]を超えるとき、すなわち音声の出力タイミングに対してモニタ出力タイミングが1フレーム分以上遅れているときは、1フレーム分のビデオフレームVF1をスキップする代わりにピクチャリフレッシュタイミングを30[Hz]から60[Hz]に変更して次のN+1番目のピクチャを出力するようになされている。
つまりレンダラー37は、当該スキップによる画質劣化の影響を受ける「I」ピクチャや「P」ピクチャについてはピクチャリフレッシュ間隔を1/30秒から1/60秒に短縮することにより、「I」ピクチャや「P」ピクチャをスキップすることによる画質劣化を生じさせることなく音声に映像を追い付かせることができるようになされている。
これに対してレンダラー37のタイミングコントロール回路37Aは、時点Tv2のタイミングにおいて、プリセット後のシステムタイムクロックstcのカウント値と例えばビデオタイムスタンプVTS2との差分値D1が所定の閾値THよりも大きく、かつ音声が映像よりも遅れている場合には、エンコーダ側のクロック周波数とデコーダ側のクロック周波数とのずれが原因で映像に音声が追いついていない状態であるため、現在出力中のビデオフレームVf2を繰り返しリピートして出力するようになされている。
一方、レンダラー37のタイミングコントロール回路37Aでは、例えばコンテンツの種類がビデオだけからなるものである場合、ビデオデコーダ36でデコードした後のビデオフレームVF1(Vf1、Vf2、Vf3、……)をモニタ10へ順次出力する時点Tv1、Tv2、Tv3、……、のタイミングでは、プリセット用ビデオタイムスタンプVTSpでプリセットされたシステムタイムクロックstcのカウント値とビデオタイムスタンプVTSが一致したタイミングでビデオフレームVF1(Vf1、Vf2、Vf3、……)をモニタ10に出力すればよい。
同様に、レンダラー37のタイミングコントロール回路37Aでは、例えばコンテンツの種類がオーディオだけからなるものである場合、オーディオデコーダ35でデコードした後のオーディオフレームAF1(Af1、Af2、Af3、……)をモニタ10へ順次出力する時点Ta1、Ta2、Ta3、……、のタイミングでは、プリセット用オーディオタイムスタンプATSpでプリセットされたシステムタイムクロックstcのカウント値とオーディオタイムスタンプATSが一致したタイミングでオーディオフレームAF1(Af1、Af2、Af3、……)をモニタ10のスピーカから出力すればよい。
(4−2)プリエンコーデッドストリーミングにおけるリップシンク調整処理手順
上述のようにストリーミングデコーダ9におけるレンダラー37のタイミングコントロール回路37AがオーディオフレームAF1(Af1、Af2、Af3、……)を基準にしてビデオフレームVF1(Vf1、Vf2、Vf3、……)の出力タイミングを調整することにより、映像と音声とをリップシンクさせる出力タイミング調整方法についてまとめると、次の図9のフローチャートに示すように、レンダラー37のタイミングコントロール回路37Aは、ルーチンRT1の開始ステップから入って、次のステップSP1へ移る。
ステップSP1においてレンダラー37は、システムタイムクロックstcの値をプリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番で決められたプリセットシーケンスに従ってプリセットし、次のステップSP2へ移る。
ここでレンダラー37は、コンテンツの種類がオーディオ及びビデオでなるものであるときにはプリセット用ビデオタイムスタンプVTSpでシステムタイムクロックstcの値をプリセットした後に必ずプリセット用オーディオタイムスタンプATSpで先程のプリセット値を更新し、次のステップSP2へ移る。
この場合、オーディオフレームAF1(Af1、Af2、Af3、……)をモニタ10へ出力する時点Ta1、Ta2、Ta3、……のタイミングで(図7)、システムタイムクロックstcの値とプリセット用オーディオタイムスタンプATSp(ATSp1、ATSp2、ATSp3、……)とが一致することになる。
またレンダラー37は、コンテンツの種類がビデオだけからなるものである場合には、プリセット用オーディオタイムスタンプATSpは存在しないので、プリセット用ビデオタイムスタンプVTSpでシステムタイムクロックstcの値をプリセットして所定時間経過したときに次のステップSP2へ移る。
さらにレンダラー37は、コンテンツの種類がオーディオだけからなるものである場合には、プリセット用ビデオタイムスタンプVTSpは存在しないので、プリセット用ビデオタイムスタンプVTSpを待つことなくプリセット用オーディオタイムスタンプATSpが到達した時点でシステムタイムクロックstcの値をプリセットした後に次のステップSP2へ移る。
ステップSP2においてレンダラー37は、システムコントローラ50から供給されるコンテンツ種類判別結果CHに基づいて当該コンテンツがビデオのみでなるものか否かを判定し、肯定結果が得られると次のステップSP3へ移る。
ステップSP3においてレンダラー37は、当該コンテンツがビデオのみでなるため、プリセット用ビデオタイムスタンプVTSpでプリセットしたシステムタイムクロックstcのカウント値とビデオタイムスタンプVTSとが一致したときにビデオフレームVF1(Vf1、Vf2、Vf3、……)をモニタ10へ出力し、次のステップSP12へ移って処理を終了する。
これに対してステップSP2で否定結果が得られると、このことはコンテンツの種類がビデオのみでなるものではなく、オーディオ及びビデオでなるものか、オーディオのみでなるものかの何れかであることを表しており、このときレンダラー37は次のステップSP4へ移る。
ステップSP4においてレンダラー37は、コンテンツ種類判別結果CHに基づいて当該コンテンツがオーディオのみでなるものか否かを判定し、肯定結果が得られると次のステップSP3へ移る。
ステップSP3においてレンダラー37は、当該コンテンツがオーディオのみでなるため、プリセット用オーディオタイムスタンプATSpでプリセットしたシステムタイムクロックstcのカウント値とオーディオタイムスタンプATSとが一致したときにオーディオフレームAF1(Af1、Af2、Af3、……)をモニタ10のスピーカから出力し、次のステップSP12へ移って処理を終了する。
これに対してステップSP4で否定結果が得られると、このことはコンテンツの種類がオーディオ及びビデオからなるものであることを表しており、このときレンダラー37は次のステップSP5へ移る。
ステップSP5においてレンダラー37は、コンテンツの種類がオーディオ及びビデオからなるものであるため、最終的にプリセット用オーディオタイムスタンプATSpでプリセットされたシステムタイムクロックstcのカウント値と、時点Tv1、Tv2、Tv3、……のタイミングで出力すべきビデオフレームVF1(Vf1、Vf2、Vf3、……)のタイムスタンプVTS(VTS1、VTS2、VTS3、……)との差分値D1(=stc−VTS)を算出し、次のステップSP6へ移る。
ステップSP6においてレンダラー37は、ステップSP7で算出した差分値D1(絶対値)が所定の閾値THよりも大きいか否かを判定する。ここで否定結果が得られると、このことは、差分値D1が、映像及び音声を見て聞いたユーザにとって当該映像と当該音声との間にずれが生じているとは判断し得ない程度の時間(例えば100[msec])以下であることを表しており、このときレンダラー37は次のステップSP3へ移る。
ステップSP3においてレンダラー37は、映像と音声がずれていると判断し得ない程度の時間差しかないので、この場合は当該ビデオフレームVF1をそのままモニタ10へ出力し、またオーディオフレームAF1についても原則的にそのままモニタ10へ出力し、次のステップSP12へ移って処理を終了する。
これに対してステップSP6で肯定結果が得られると、このことは差分値D1が所定の閾値THよりも大きい、すなわち映像及び音声を見て聞いたユーザにとって当該映像と当該音声との間にずれが生じていると判断し得る程度であることを表しており、このときレンダラー37は次のステップSP7へ移る。
ステップSP7においてレンダラー37は、映像が音声よりも遅れているか否かをオーディオタイムスタンプATS及びビデオタイムスタンプVTSに基づいて判定し、否定結果が得られると次のステップSP8へ移る。
ステップSP8においてレンダラー37は、映像の方が音声よりも進んでいるので、当該映像に音声が追いつくように現在出力中のピクチャを構成しているビデオフレームVF1を繰り返しリピート出力した後、次のステップSP12へ移って処理を終了する。
これに対してステップSP7で肯定結果が得られると、このことは映像が音声よりも遅れていることを表しており、このときレンダラー37は次のステップSP9へ移り、出力ビデオバッファ39にスキップ対象の「B」ピクチャが存在するか否かを判定し、肯定結果が得られると次のステップSP10へ移る。
ステップSP10においてレンダラー37は、音声に対する映像の遅れを取り戻すべくBピクチャ(この場合、ビデオフレームVf3)をデコードせずにスキップして出力することにより、音声に対する映像の遅れを取り戻してリップシンクさせることができ、次のステップSP12へ移って処理を終了する。
一方、ステップSP9で否定結果が得られると、このことは出力ビデオバッファ39にスキップ対象の「B」ピクチャが存在せず、「B」ピクチャをスキップすることができないことを表しており、このときレンダラー37は次のステップSP11へ移る。
ステップSP11においてレンダラー37は、図8に示したように、モニタ10のモニタ出力タイミングが60[Hz]であるのに対し、ビデオフレームVF1のピクチャリフレッシュタイミングが30[Hz]であることを利用し、当該ピクチャリフレッシュタイミングをモニタ10のモニタ出力タイミングに合わせて短縮することにより、ピクチャをスキップすることによる画質劣化を生じさせずに映像を音声に追い付かせ、次のステップSP12へ移って処理を終了する。
(5)第1のコンテンツ受信装置におけるリアルタイムストリーミングエンコーダの回路構成
第1のコンテンツ受信装置3(図1)は、外部から供給された地上波ディジタル、BS/CSディジタル又は地上波アナログ放送等のコンテンツあるいはDVD、VideoCDほか一般的なビデオカメラからのコンテンツをリアルタイムストリーミングエンコーダ11によってリアルタイムにエンコードした後に第2のコンテンツ受信装置4へ中継する形で無線送信することによりコンテンツ提供側にもなり得るようになされている。
その第1のコンテンツ受信装置3におけるリアルタイムストリーミングエンコーダ11の回路構成について図10を用いて説明する。リアルタイムストリーミングエンコーダ11は、外部から供給されたコンテンツを構成するビデオ信号VS2及びオーディオ信号AS2をビデオ入力部51及びオーディオ入力部53を介してディジタル変換し、これをビデオデータVD2及びオーディオデータAD2としてビデオエンコーダ52及びオーディオエンコーダ54へ送出する。
ビデオエンコーダ52は、ビデオデータVD2を例えばMPEG1/2/4の規格に準拠した所定の圧縮符号化方法あるいは種々の圧縮符号化方式で圧縮符号化し、その結果得られるビデオエレメンタリストリームVES2をパケット生成部56及びビデオフレームカウンタ57へ送出する。
ビデオフレームカウンタ57では、ビデオエレメンタリストリームVES2をフレーム周波数単位(29.97[Hz]あるいは30[Hz]あるいは59.94[Hz]あるいは60[Hz])でカウントし、そのカウントアップ値を基準クロックに基づく90[KHz]単位の値に変換し、32ビット表現で各ビデオフレームに対するビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)としてパケット生成部56へ送出する。
オーディオエンコーダ54は、オーディオデータAD2をMPEG1/2/4オーディオの規格に準拠した所定の圧縮符号化方法あるいは種々の圧縮符号化方式で圧縮符号化し、その結果得られるオーディオエレメンタリストリームAES2をパケット生成部56及びオーディオフレームカウンタ58へ送出する。
オーディオフレームカウンタ58はビデオフレームカウンタ57と同様、オーディオフレームのカウントアップ値と共通の基準クロックに基づく90[KHz]単位の値に変換し、オーディオタイムスタンプATS(ATS1、ATS2、ATS3、……)として32ビット表現し、パケット生成部56へ送出する。
パケット生成部56では、ビデオエレメンタリストリームVES2を所定データサイズのパケットに分割し、それぞれのパケットにビデオヘッダ情報を付加することによりビデオパケットを生成すると共に、オーディオエレメンタリストリームAES2を所定データサイズのパケットに分割し、それぞれのパケットにオーディオヘッダ情報を付加することによりオーディオパケットを生成する。
ここで図11に示すようにRTCP(Real Time Control Protocol)packetの前段に付加されているコントロールパケットは、インターネット層におけるホスト間通信用のIP(Internet Protocol)ヘッダ、ユーザ・データグラム・データ転送用のUDP(User Datagram Protocol)ヘッダ、リアルタイム・データ転送制御用のRTCP(Real Time Control Protocol)パケットセンダリポート及びRTCPパケットからなり、RTCPパケットセンダリポート内のセンダ情報内にある4バイトのRTPタイムスタンプ領域にPCR(Program Clock Reference)値としてエンコーダ側におけるシステムタイムクロック値のスナップショット情報が書き込まれるようになされていて、デコーダ側のクロックリカバリ用にPCR回路61から送出される。
そしてパケット生成部56では、ビデオパケット及びビデオタイムスタンプVTSに基づいて所定バイト数からなる映像パケットデータを生成すると共に、オーディオパケット及びオーディオタイムスタンプATSに基づいて所定バイト数からなる音声パケットデータを生成し、これらを多重化することにより多重化データMXD2を生成した後パケットデータ蓄積部59へ送出する。
パケットデータ蓄積部59は、多重化データMXD2を所定量蓄積すると、当該多重化データMXD2を無線LAN6を介してRTP/TCPで第2のコンテンツ受信装置4へ送信するようになされている。
ところでリアルタイムストリーミングエンコーダ11は、ビデオ入力部51でディジタル変換したビデオデータVD2をPLL(Phase-Locked Loop)回路55にも供給する。PLL回路55は、ビデオデータVD2に基づいて当該ビデオデータVD2のクロック周波数にSTC回路60を同期させると共に、ビデオエンコーダ52、オーディオ入力部53及びオーディオエンコーダ54についてもビデオデータVD2のクロック周波数と同期させるようになされている。
これによりリアルタイムストリーミングエンコーダ11は、PLL回路55を介してビデオデータVD2に対する圧縮符号化処理とオーディオデータAD2に対する圧縮符号化処理とをビデオデータVD2のクロック周波数と同期したタイミングで実行し得ると共に、PCR(Program Clock Reference)回路61を介してビデオデータVD2のクロック周波数に同期したクロックリファレンスpcrを第2のコンテンツ受信装置4におけるリアルタイムストリーミングデコーダ12へ送信し得るようになされている。
このときPCR回路61は、クロックリファレンスpcrをRTPプロトコルの下位層に位置しリアルタイム性が要求されるUDP(User Datagram Protocol)で第2のコンテンツ受信装置4のリアルタイムストリーミングデコーダ12へ送信するようになされており、これにより高速性を確保してリアルタイム性の必要とされるライブストリーミングにも対応し得るようになされている。
(6)第2のコンテンツ受信装置におけるリアルタイムストリーミングデコーダの回路構成
図12に示すように第2のコンテンツ受信装置4におけるリアルタイムストリーミングデコーダ12は、第1のコンテンツ受信装置3のリアルタイムストリーミングエンコーダ11から送信された多重化データMXD2を入力パケット蓄積部71に一旦蓄積した後、パケット分割部72へ送出する。
パケット分割部72は、多重化データMXD2を映像パケットデータVP2と音声パケットデータAP2に分割し、当該音声パケットデータAP2をリングバッファでなる入力オーディオバッファ73を介してオーディオフレーム単位でオーディオデコーダ74へ送出すると共に、映像パケットデータVP2をリングバッファでなる入力ビデオバッファ75を介してフレーム単位でビデオデコーダ76へ送出するようになされている。
ここで入力オーディオバッファ73及び入力ビデオバッファ75においても、後段のオーディオデコーダ74及びビデオデコーダ76で1オーディオフレーム及び1ビデオフレーム分の音声パケットデータAP2及び映像パケットデータVP2を連続してデコードできるようになるまで蓄積するようになされており、そのため少なくとも1オーディオフレーム及び1ビデオフレーム分のデータ容量があればよい。
なおパケット分割部72は、映像パケットデータVP2のビデオヘッダ情報及び音声パケットデータAP2のオーディオヘッダ情報を解析することによりオーディオタイムスタンプATS及びビデオタイムスタンプVTSを認識し得るようになされており、当該オーディオタイムスタンプATS及び当該ビデオタイムスタンプVTSをレンダラー77へ送出する。
オーディオデコーダ74は、音声パケットデータAP2をオーディオフレーム単位でデコードすることにより圧縮符号化前のオーディオフレームAF2を復元し、順次レンダラー77へ送出する。
ビデオデコーダ76は、映像パケットデータVP2をビデオフレーム単位でデコードすることにより圧縮符号化前のビデオフレームVF2を復元し、順次レンダラー77へ送出する。
レンダラー77は、オーディオフレームAF2をリングバッファでなる出力オーディオバッファ78へ一時的に格納し、また同様にビデオフレームVF2をリングバッファでなる出力ビデオバッファ79に一時的に格納する。
そしてレンダラー77は、モニタ13へ出力するビデオフレームVF2の映像とオーディオフレームAF2の音声とをリップシンクさせるべくオーディオタイムスタンプATS及びビデオタイムスタンプVTSに基づいて最終的な出力タイミングを調整した後、その出力タイミングで出力オーディオバッファ78及び出力ビデオバッファ79からオーディオフレームAF2及びビデオフレームVF2をモニタ13へ順次出力するようになされている。
ところでリアルタイムストリーミングデコーダ12は、第1のコンテンツ受信装置3におけるリアルタイムストリーミングエンコーダ11のPCR回路61からUDPで送信されるクロックリファレンスpcrを受信して減算回路81に入力する。
減算回路81は、クロックリファレンスpcrとSTC回路84から供給されるシステムタイムクロックstcとの差を算出し、これをフィルタ82、電圧制御型クリスタルオシレータ回路83及びSTC回路84を順次介して減算回路81にフィードバックすることによりPLL(Phase Locked Loop)を形成し、リアルタイムストリーミングエンコーダ11のクロックリファレンスpcrに次第に収束させ、最終的には当該クロックリファレンスpcrによりリアルタイムストリーミングエンコーダ11と同期したシステムタイムクロックstcをレンダラー77へ供給するようになされている。
これによりレンダラー77は、第1のコンテンツ受信装置3におけるリアルタイムストリーミングエンコーダ11でビデオデータVD2及びオーディオデータAD2を圧縮符号化したり、ビデオタイムスタンプVTS及びオーディオタイムスタンプATSをカウントするときのクロック周波数と同期したシステムタイムクロックstcを基準にして、ビデオフレームVF2及びオーディオフレームAF2の出力タイミングを調整し得るようになされている。
実際上レンダラー77は、オーディオフレームAF2に関してはリングバッファでなる出力オーディオバッファ78へ一時的に格納すると共に、ビデオフレームVF2に関してはリングバッファでなる出力ビデオバッファ79に一時的に格納し、映像と音声とをリップシンクさせた状態で出力するべく、リアルタイムストリーミングエンコーダ11のPCR回路61から供給されるクロックリファレンスpcrによりエンコーダ側と同期したシステムタイムクロックstc及びオーディオタイムスタンプATS、ビデオタイムスタンプVTSに基づいて出力タイミングを調整するようになされている。
(7)ライブストリーミングにおけるデコーダ側でのリップシンク調整処理
(7−1)ライブストリーミングにおけるビデオフレーム及びオーディオフレームの出力タイミング調整方法
図13に示すように、この場合レンダラー77は、リアルタイムストリーミングエンコーダ11のPCR回路61から所定周期で供給されてくるクロックリファレンスpcrの値に、システムタイムクロックstcのクロック周波数をPLLでロックさせたうえで、当該システムタイムクロックstcの基で同期されたモニタ13を通してオーディオタイムスタンプATS及びビデオタイムスタンプVTSに従いオーディオフレームAF2及びビデオフレームVF2の出力をコントロールする。
すなわちレンダラー77は、クロックリファレンスpcrの値にシステムタイムクロックstcのクロック周波数を同期した状態で、システムタイムクロックstc及びオーディオタイムスタンプATS(ATS1、ATS2、ATS3、……)に従ってオーディオフレームAF2(Af1、Af2、Af3、……)をモニタ13へ順次出力する。
ここで、クロックリファレンスpcrの値とシステムタイムクロックstcのクロック周波数とは前述のように同期関係を維持しているので、システムタイムクロックstcのカウント値とビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)との間で、例えば時点Tv1においてシステムタイムクロックstcのカウント値とビデオタイムスタンプVTS1との差分値D2Vが発生することはない。
しかしながら、リアルタイムストリーミングエンコーダ11のPCR回路61から供給されるクロックリファレンスpcrはリアルタイム性が要求されるUDPで送信されてくるものであり、高速性を重視するあまり再送制御されないので当該クロックリファレンスpcrが第2のコンテンツ受信装置4のリアルタイムストリーミングデコーダ12へ到達しないか、あるいはエラーデータを含んで到達することもある。
このような場合には、リアルタイムストリーミングエンコーダ11のPCR回路61から所定周期で供給されてくるクロックリファレンスpcrの値と、システムタイムクロックstcのクロック周波数との同期がPLLを介してずれることがあるが、このときも本発明におけるレンダラー77ではリップシンクを保障し得るようになされている。
本発明では、システムタイムクロックstcとオーディオタイムスタンプATSそしてビデオタイムスタンプVTSとの間にずれが生じた場合、やはりリップシンクを取る方法として、オーディオ出力の連続性を優先させるようになされている。
レンダラー77は、オーディオフレームAF2の出力タイミングTa2でのシステムタイムクロックstcのカウント値とオーディオタイムスタンプATS2とを比較し、その差分値D2Aを記憶する。一方、レンダラー77はビデオフレームVF2の出力タイミングTv2でのシステムタイムクロックstcのカウント値とビデオタイムスタンプVTS2とを比較し、その差分値D2Vを記憶する。
このとき、クロックリファレンスpcrが第2のコンテンツ受信装置4のリアルタイムストリーミングデコーダ12へ確実に到達し、クロックリファレンスpcrの値と当該リアルタイムストリーミングデコーダ12のシステムタイムクロックstcのクロック周波数とがPLLを介して完全に一致し、モニタ13を含んでデコーダ側がシステムタイムクロックstcに同期していれば差分値D2V、D2Aは「0」となる。
この差分D2Aが正値であればオーディオフレームAF2は早いと判断され、負値であればオーディオフレームAF2は遅れていると判断される。同様に、差分D2Vが正値であればビデオフレームVF2は早いと判断され、負値であればビデオフレームVF2は遅れていると判断される。
ここでレンダラー77は、オーディオフレームAF2が早くても遅れていても、オーディオ出力の連続性を維持させることを優先させ、オーディオフレームAF2に対するビデオフレームVF2の出力を相対的に次のように制御する。
例えば、時点Tv2のタイミングにおいて、D2V−D2Aが閾値THよりも大きい場合、差分値D2Vが差分値D2Aよりも大きければ音声に映像が追いついていない状態であるため、レンダラー77はGOPを構成している例えばBピクチャに相当するビデオフレームVf3(図示せず)をデコードすることなくスキップして次のビデオフレームVf4を出力するようになされている。
この場合、レンダラー77は出力ビデオバッファ79に格納されている「P」ピクチャについては、ビデオデコーダ76で次のピクチャをデコードする際の参照フレームとなるためスキップせず、次のピクチャを生成する際の参照フレームとならない非参照フレームである「B」ピクチャをスキップすることにより、画質劣化を未然に防ぎながらリップシンクさせるようになされている。
これに対してD2V−D2Aが閾値THよりも大きく、差分値D2Aの方が差分値D2Vよりも大きければ映像に音声が追いついていない状態であるため、レンダラー77は現在出力中のビデオフレームVf2を繰り返しリピート出力するようになされている。
また、D2V−D2Aが閾値THよりも小さい場合は、音声に対する映像のギャップは許容範囲内であると判断され、レンダラー77は当該ビデオフレームVF2をそのままモニタ13へ出力する。
ところでレンダラー77では、仮にスキップするべき「B」ピクチャが出力ビデオバッファ79に存在せず、「I」ピクチャや「P」ピクチャばかりであった場合には、当該「B」ピクチャをスキップすることはできないため、音声に映像を追い付かせることができなくなってしまう。
そこでレンダラー77では、第1のコンテンツ受信装置3におけるストリーミングデコーダ9のレンダラー37と同様に、スキップすべき「B」ピクチャが存在しないときには、モニタ13のモニタ出力タイミングが例えば60[Hz]であり、出力ビデオバッファ79から出力すべきビデオフレームVF2のピクチャリフレッシュタイミングが30[Hz]であることを利用し、当該ピクチャリフレッシュタイミングを短縮するようになされている。
具体的にはレンダラー77は、クロックリファレンスpcrと同期したシステムタイムクロックstcとビデオタイムスタンプVTSの差分値が16.666……[msec]を超えるとき、すなわち音声の出力タイミングに対してモニタ出力タイミングが1フレーム分以上遅れているときは、1フレーム分のビデオフレームをスキップする代わりにピクチャリフレッシュタイミングを30[Hz]から60[Hz]に変更して表示間隔を短縮するようになされている。
つまりレンダラー77は、当該スキップによる画質劣化の影響を受ける「I」ピクチャや「P」ピクチャについてはピクチャリフレッシュ間隔を1/30秒から1/60秒に短縮することにより、「I」ピクチャや「P」ピクチャをスキップすることによる画質劣化を生じさせることなく映像を音声に追い付かせることができるようになされている。
(7−2)ライブストリーミングにおけるリップシンク調整処理手順
上述のようにリアルタイムストリーミングデコーダ12のレンダラー77がライブストリーミング再生を行う際に、オーディオフレームAF2を基準にしてビデオフレームVF2の出力タイミングを調整することにより映像と音声とをリップシンクさせる出力タイミング調整方法についてまとめると、次の図14のフローチャートに示すように、リアルタイムストリーミングデコーダ12のレンダラー77は、ルーチンRT2の開始ステップから入って、次のステップSP21へ移る。
ステップSP21において、第2のコンテンツ受信装置4におけるリアルタイムストリーミングデコーダ12のレンダラー77は、第1のコンテンツ受信装置3におけるリアルタイムストリーミングエンコーダ11のPCR回路61からクロックリファレンスpcrを受信し、次のステップSP22へ移る。
ステップSP22においてレンダラー77は、減算回路81、フィルタ82、電圧制御型クリスタルオシレータ回路83及びSTC回路84を介して構成されるPLLによってクロックリファレンスpcrとシステムタイムクロックstcとを同期させることにより、これ以降、出力タイミングを調整する際の基準として当該クロックリファンレンスpcrに同期したシステムタイムクロックstcを用い、次のステップSP23へ移る。
ステップSP23においてレンダラー77は、時点Tv1、Tv2、Tv3、……のタイミイグにおけるシステムタイムクロックstcのカウント値とビデオタイムスタンプVTSとの差分値D2Vを算出し、また時点Ta1、Ta2、Ta3、……のタイミングにおけるシステムタイムクロックstcのカウント値とオーディオタイムスタンプATSとの差分値D2Aを算出し、次のステップSP24へ移る。
ステップSP24においてレンダラー77は、ステップSP23で算出した差分値D2V、D2Aに基づいて算出したD2V−D2Aが閾値TH(例えば100[msec])よりも小さい場合、否定結果を得て次のステップSP25へ移る。
ステップSP25においてレンダラー77は、D2A−D2Vが閾値TH(例えば100[msec])よりも大きい場合、肯定結果を得て映像が音声に対して進んでいると判断し、次のステップSP26へ移る。
ステップSP26においてレンダラー77は、映像の方が音声よりも進んでいるので、音声が映像に追いつくように現在出力中のピクチャを構成するビデオフレームVF2をリピートして出力した後、次のステップSP31へ移って処理を終了する。
これに対してステップSP25でD2A−D2Vが閾値THを越えていないのであれば、否定結果を得て、音声と映像との間にずれが生じているとは感じない程度であると判断し、次のステップSP27へ移る。
ステップSP27においてレンダラー77は、映像と音声との間でずれが生じているとは感じない程度の時間差しかないので、この場合はクロックリファレンスpcrと同期したシステムタイムクロックstcを基に、ビデオフレームVF2をビデオタイムスタンプVTSに従ってそのままモニタ13へ出力し、次のステップSP31へ移って処理を終了する。
なおレンダラー77は、音声に関しては音の連続性を維持させるため、上記のいずれの場合においても、クロックリファレンスpcrと同期したシステムタイムクロックstcを基に、オーディオタイムスタンプATSに従ってそのままモニタ13へ出力するようになされている。
これに対してステップSP24で肯定結果が得られると、このことはD2V−D2Aが閾値TH(例えば100[msec])よりも大きいこと、すなわち音声に対して映像が遅れていることを表しており、このときレンダラー77は次のステップSP28へ移る。
ステップSP28においてレンダラー77は、出力ビデオバッファ79に「B」ピクチャが存在するか否かを判定し、肯定結果が得られると次のステップSP29へ移り、否定結果が得られると次のステップSP30へ移る。
ステップSP29においてレンダラー77は、ビオデがオーディオに対して遅れていると判断し、かつ「B」ピクチャが出力ビデオバッファ79に存在することを確認したので、Bピクチャ(ビデオフレームVf3)をデコードせずにスキップして出力することにより、音声に対する映像の遅れを取り戻してリップシンクさせることができ、次のステップSP31へ移って処理を終了する。
一方、ステップSP30においてレンダラー77は、モニタ13のモニタ出力タイミングが60[Hz]であるのに対し、ビデオフレームVF2のピクチャリフレッシュタイミングが30[Hz]であることを利用し、当該ピクチャリフレッシュタイミングをモニタ13のモニタ出力タイミングに合わせて短縮することにより、ピクチャをスキップすることによる画質劣化を生じさせることなく音声に映像を追い付かせ、次のステップSP31へ移って処理を終了する。
このように第2のコンテンツ受信装置4におけるリアルタイムストリーミングデコーダ12のレンダラー77は、第1のコンテンツ受信装置3におけるリアルタイムストリーミングエンコーダ11のクロックリファレンスpcrと当該リアルタイムストリーミングデコーダ12のシステムタイムクロックstcとを同期させることによりライブストリーミング再生を実現すると共に、そのためのクロックリファレンスpcrがUDPでリアルタイム性を重要視するために再送制御されずに到達しないことがあった場合でも、システムタイムクロックstcに対するオーディオタイムスタンプATS、ビデオタイムスタンプVTSのずれに応じてリップシンク調整処理を実行することにより、ライブストリーミング再生を行いながらも確実にリップシンクし得るようになされている。
(8)動作及び効果
以上の構成において、第1のコンテンツ受信装置3のストリーミングデコーダ9は、コンテンツの種類がオーディオ及びビデオからなるものである場合、プリセット用ビデオタイムスタンプVTSpでシステムタイムクロックstcの値をプリセットした後に必ずプリセット用オーディオタイムスタンプATSpでプリセットし直すことにより、最終的には必ずシステムタイムクロックstcの値とプリセット用オーディオタイムスタンプATSp(ATSp1、ATSp2、ATSp3、……)とを一致させる。
ストリーミングデコーダ9のレンダラー37は、プリセット用オーディオタイムスタンプATSpでプリセットしたシステムタイムクロックstcのカウント値と、ビデオフレームVF1(Vf1、Vf2、Vf3、……)に付されたビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)との差分値D1を算出することにより、当該ビデオタイムスタンプVTSを付したエンコーダ側のクロック周波数とデコーダ側システムタイムクロックstcのクロック周波数とのずれによって生じる時間差を認識することができる。
ストリーミングデコーダ9のレンダラー37は、その差分値D1に応じてビデオフレームVF1の現ピクチャをリピートして出力したり、又は非参照フレームのBピクチャをデコードせずにスキップして出力したり、或いはピクチャリフレッシュタイミングを短縮して出力することにより、モニタ10へ出力する音声を途切れさせることなく当該音声の連続性を保ったまま、その音声に対する映像の出力タイミングを調整することができる。
もちろんレンダラー37は、差分値D1が閾値TH以下であって、ユーザがリップシンクのずれを認識し得ない程度である場合には、リピート出力やスキップ再生処理或いはピクチャリフレッシュ間隔を短縮することをせずにビデオタイムスタンプVTS(VTS1、VTS2、VTS3、……)の通りにモニタ10へ出力することもできるので、この場合にも当然映像の連続性を保つことができる。
さらに第2のコンテンツ受信装置4におけるリアルタイムストリーミングデコーダ12のレンダラー77は、第1のコンテンツ受信装置3におけるリアルタイムストリーミングエンコーダ11のPCR回路61から供給されるクロックリファレンスpcrとデコーダ側のシステムタイムクロックstcとを同期させた上で、オーディオタイムスタンプATS及びビデオタイムスタンプVTSに従ってオーディオフレームAF2及びビデオフレームVF2をモニタ13へ出力することができるので、リアルタイム性を保持したままライブストリーミング再生を実現することができる。
その上、第2のコンテンツ受信装置4におけるリアルタイムストリーミングデコーダ12のレンダラー77は、第1のコンテンツ受信装置3におけるリアルタイムストリーミングエンコーダ11のPCR回路61から供給されるクロックリファレンスpcrがUDPで再送制御されずに到達しないために、当該クロックリファレンスpcrとシステムタイムクロックstcとの同期が外れたとしても、システムタイムクロックstcとビデオタイムスタンプVTSとの差分値D2V、システムタイムクロックstcとオーディオタイムスタンプATSとの差分値D2Aを算出し、当該差分値D2VとD2Aとのギャップに応じてビデオフレームVF2の出力タイミングを調整することにより、モニタ13へ出力する音声を途切れさせることなく連続性を保ったまま、その音声に対する映像の出力タイミングを調整することができる。
また第1のコンテンツ受信装置3におけるストリーミングデコーダ9のレンダラー37は、プリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番で決められたプリセットシーケンスに従い、当該プリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpを用いてシステムタイムクロックstcをプリセットするようにしたことにより、コンテンツの種類がオーディオだけからなるものであるときにはプリセット用オーディオタイムスタンプATSpでシステムタイムクロックstcをプリセットすることができ、またコンテンツの種類がビデオのみでなるものであるときには、プリセット用ビデオタイムスタンプVTSpでシステムタイムクロックstcをプリセットすることができるので、コンテンツの種類がオーディオ及びビデオからなるもの、オーディオのみからなるもの又はビデオのみからなるものである場合にも対応することができる。
すなわちストリーミングデコーダ9のレンダラー37は、コンテンツが必ずしもオーディオ及びビデオからなるものでなく、当該コンテンツがビデオのみからなるものであってプリセット用オーディオタイムスタンプATSpが存在しないときや、コンテンツがオーディオのみからなるものであってプリセット用ビデオタイムスタンプVTSpが存在しないときでも、ビデオフレームVF1やオーディオフレームAF1の出力に対応することができるので、コンテンツの種類に応じた最適なタイミングでモニタ10へ出力することができる。
さらにストリーミングデコーダ9のレンダラー37では、プリセット後のシステムタイムクロックstcのカウント値とビデオタイムスタンプVTS2との差分値D1が所定の閾値THよりも大きく、かつ映像が音声よりも遅れている場合で、出力ビデオバッファ39にBピクチャが存在するときには画質劣化の影響のない当該Bピクチャをデコードすることなくスキップし、出力ビデオバッファ39にBピクチャが存在しないときにはモニタ10のモニタ出力タイミングに合わせてビデオフレームVF1のピクチャリフレッシュタイミングを短縮することによりピクチャスキップによる画質劣化を生じさせずに映像を音声に追い付かせることができる。
以上の構成によれば、第1のコンテンツ受信装置3におけるストリーミングデコーダ9のレンダラー37及び第2のコンテンツ受信装置4におけるリアルタイムストリーミングデコーダ12のレンダラー77は、オーディオフレームAF1、AF2の出力タイミングを基準としてビデオフレームVF1、VF2の出力タイミングを調整することができるので、音声の連続性を保ったまま視聴者であるユーザに違和感を感じさせることなくリップシンクさせることができる。
(9)他の実施の形態
なお上述の実施の形態においては、オーディオフレームAF1、AF2を基準とした差分値D1又はD2V、D2Aに応じてリップシンクを調整することによりエンコーダ側のクロック周波数とデコーダ側のクロック周波数とのずれを吸収するようにした場合について述べたが、本発明はこれに限らず、クロックジッタ、ネットワークジッタ等によって生じるエンコーダ側のクロック周波数とデコーダ側のクロック周波数との微妙なずれを吸収するようにしても良い。
また上述の実施の形態においては、コンテンツ提供装置2と第1のコンテンツ受信装置3との間でインターネット5を介して接続し、プリエンコーデッドストリーミングを実現するようにした場合について述べたが、本発明はこれに限らず、コンテンツ提供装置2と第2のコンテンツ受信装置4との間でインターネット5を介して接続し、プリエンコーデッドストリーミングを実現するようにしたり、コンテンツ提供装置2から第1のコンテンツ受信装置3を介して第2のコンテンツ受信装置4へコンテンツを提供することによりプリエンコーデッドストリーミングを実現するようにしても良い。
さらに上述の実施の形態においては、第1のコンテンツ受信装置3と第2のコンテンツ受信装置4との間でライブストリーミングを行うようにした場合について述べたが、本発明はこれに限らず、コンテンツ提供装置2と第1のコンテンツ受信装置3との間や、コンテンツ提供装置2と第2のコンテンツ受信装置4との間でライブストリーミングを行うようにしても良い。
この場合、コンテンツ提供装置2のストリーミングサーバ8からクロックリファレンスpcrを第1のコンテンツ受信装置3のストリーミングデコーダ9へ送信し、当該ストリーミングデコーダ9でクロックリファレンスpcrとシステムタイムクロックstcとを同期させることにより、ライブストリーミングを実現することができる。
さらに上述の実施の形態においては、サブトラクタ回路44及び45によって最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1の値を所定時間分だけ引き戻すようにした場合について述べたが、本発明はこれに限らず、バッファ42及び43を介して最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1がコンパレータ回路46に到達した時点で、バッファ42及び43による遅延等によりSTC回路41からコンパレータ回路46に供給されるプリセット後のシステムタイムクロックstcの値が当該ビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1を経過していることがなければ、必ずしもサブトラクタ回路44及び45によって最初のビデオタイムスタンプVTS1及びオーディオタイムスタンプATS1の値を所定時間分だけ引き戻さなくても良い。
さらに上述の実施の形態においては、コンテンツの種類を判別する前に当該コンテンツの種類に拘らずプリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpの順番で決められたプリセットシーケンスに従ってシステムタイムクロックstcをプリセットするようにした場合について述べたが、本発明はこれに限らず、最初にコンテンツの種類を判別し、当該コンテンツがオーディオ及びビデオからなるものであるときには、プリセット用ビデオタイムスタンプVTSp、プリセット用オーディオタイムスタンプATSpでシステムタイムクロックstcをプリセットし、当該コンテンツがビデオだけからなるものであるときには、プリセット用ビデオタイムスタンプVTSpでシステムタイムクロックstcをプリセットし、当該コンテンツがオーディオだけからなるものであるときには、プリセット用オーディオタイムスタンプATSpでシステムタイムクロックstcをプリセットするようにしても良い。
さらに上述の実施の形態においては、出力ビデオバッファ39、79にBピクチャが存在しない場合には、モニタ10及び13のモニタ出力レートに合わせてビデオフレームVF1及びVF2のピクチャリフレッシュレートを30[Hz]から60[Hz]に短縮するようにした場合について述べたが、本発明はこれに限らず、Bピクチャの有無に拘らずビデオフレームVF1及びVF2のピクチャリフレッシュレートを30[Hz]から60[Hz]に短縮するようにしても良い。この場合でも、レンダラー37及び77は、音声に対して映像の遅れを取り戻してリップシンクさせることができる。
さらに上述の実施の形態においては、Bピクチャをスキップして出力するようにした場合について述べたが、本発明はこれに限らず、Iピクチャの直前に位置するPピクチャをスキップして出力するようにしても良い。
これは、Iピクチャの直前に位置するPピクチャであれば、次のIピクチャを生成する際に当該Pピクチャが参照されることはなく、スキップしたとしても次のIピクチャを生成する際に支障を来たすことがなく、画質劣化が生じることもないからである。
さらに上述の実施の形態においては、ビデオフレームVf3をデコードせずにスキップしてモニタ10へ出力するようにした場合について述べたが、本発明はこれに限らず、ビデオフレームVf3をデコードした後に出力ビデオバッファ39から出力する段階でデコード後のビデオフレームVf3をスキップして出力するようにしても良い。
さらに上述の実施の形態においては、オーディオフレームAF1、AF2についてはリップシンクの調整を行う際の基準として用いているために、全てのオーディオフレームについて欠けることなくモニタ10、13へ出力するようにした場合について述べたが、本発明はこれに限らず、例えば無音部分に相当するオーディオフレームがあった場合には、そのオーディオフレームをスキップして出力するようにしても良い。
さらに上述の実施の形態においては、本発明のコンテンツ受信装置を、復号手段としてのオーディオデコーダ35、74、ビデオデコーダ36、76と、記憶手段としての入力オーディオバッファ33、73、出力オーディオバッファ38、78、入力ビデオバッファ34、75、出力ビデオバッファ39、79と、算出手段及びタイミング調整手段としてのレンダラー37、77とによって構成するようにした場合について述べたが、本発明はこれに限らず、その他種々の回路構成でコンテンツ受信装置を形成するようにしても良い。
本発明のコンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムは、例えばサーバから音声付の動画コンテンツをダウンロードして表示する用途に適用することができる。
ストリーミングシステムの全容を表すコンテンツ提供システムの全体構成を示す略線的ブロック図である。 コンテンツ提供装置の回路構成を示す略線的ブロック図である。 オーディオパケット及びビデオパケット内のタイムスタンプ(TCPプロトコル)の構造を示す略線図である。 第1のコンテンツ受信装置におけるストリーミングデコーダのモジュール構成を示す略線的ブロック図である。 タイミングコントロール回路の構成を示す略線的ブロック図である。 プリセット後のSTCと比較されるタイムスタンプを示す略線図である。 プリエンコーデッドストリーミングにおけるビデオフレーム及びオーディオフレームの出力タイミングを説明する際に供する略線図である。 Iピクチャ、Pピクチャの場合のビデオフレーム出力制御処理の説明に供する略線図である。 プリエンコーデッドストリーミングにおけるリップシンク調整処理手順を示すフローチャートである。 第1のコンテンツ受信装置におけるリアルタイムストリーミングエンコーダの回路構成を示す略線的ブロック図である。 コントロールパケット内のPCR(UDPプロトコル)の構造を示す略線図である。 第2のコンテンツ受信装置におけるリアルタイムストリーミングデコーダの回路構成を示す略線的ブロック図である。 ライブストリーミングにおけるビデオフレーム及びオーディオフレームの出力タイミングを説明する際に供する略線図である。 ライブストリーミングにおけるリップシンク調整処理手順を示す略線的フローチャートである。
符号の説明
1……コンテンツ提供システム、2……コンテンツ提供装置、3……第1のコンテンツ受信装置、4……第2のコンテンツ受信装置、5……インターネット、7……エンコーダ、8……ストリーミングサーバ、9……ストリーミングデコーダ、10、13……モニタ、11……リアルタイムストリーミングエンコーダ、12……リアルタイムストリーミングデコーダ、14……Webサーバ、15……Webブラウザ、21、51……ビデオ入力部、22、52……ビデオエンコーダ、23……ビデオES蓄積部、24、53……オーディオ入力部、25、54……オーディオエンコーダ、26……オーディオES蓄積部、28、57……ビデオフレームカウンタ、29、58……オーディオフレームカウンタ、27、56……パケット生成部、30、59……パケットデータ蓄積部、31、71……入力パケット蓄積部、32、72……パケット分割部、33、73……入力オーディオバッファ、34、75……入力ビデオバッファ、35、74……オーディオデコーダ、36、76……ビデオデコーダ、37、77……レンダラー、38、78……出力オーディオバッファ、39、79……出力ビデオバッファ、40……クリスタルオシレータ回路、81……減算回路、82……フィルタ、83……電圧制御型クリスタルオシレータ、41、60、84……STC回路、61……PCR回路。

Claims (6)

  1. エンコーダ側のエンコーダ基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、上記エンコーダ基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを上記エンコーダ側のコンテンツ提供装置から受信して復号する復号手段と、
    上記復号手段によって上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、
    上記エンコーダ側のエンコーダ基準クロックに基づいて上記ビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差を算出する算出手段と、
    上記時間差が所定の時間よりも長く、かつ出力時に上記ビデオフレームが当該ビデオフレームと対応する上記オーディオフレームよりも遅れることになるか否かを判定するビデオ遅れ判定手段と、
    上記記憶手段に蓄積された上記ビデオフレームのうち、上記エンコーダ側において次のピクチャを符号化する際の参照フレームとならない非参照フレームに対応したビデオフレームが存在するか否かを判定するピクチャ判定手段と、
    上記ビデオ遅れ判定手段により上記ビデオフレームが上記オーディオフレームよりも遅れていると判断した場合で、かつ上記ビデオフレームのうち上記ピクチャ判定手段により上記非参照フレームに対応したビデオフレームが存在すると判定されたとき、当該非参照フレームに対応したビデオフレームをスキップしてその他のビデオフレームを上記ビデオフレームに対応した映像を表示するための外部接続された表示手段へ出力し、上記非参照フレームに対応したビデオフレームが存在しないと判定されたとき、上記表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべき上記ビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、上記表示手段において当該ピクチャ更新レートに従って上記ビデオフレームを上記画面に表示させ上記オーディオフレームに追い付かせて上記映像及び音声間のリップシンクを調整するタイミング調整手段と
    を具えるコンテンツ受信装置。
  2. 上記タイミング調整手段は、上記ビデオ遅れ判定手段により上記ビデオフレームが当該ビデオフレームと対応する上記オーディオフレームよりも遅れていると判定された場合で、かつ上記ピクチャ判定手段によって上記非参照フレームに対応したビデオフレームが存在しないと判定された場合、Iピクチャ直前に位置するPピクチャに対応したビデオフレームをスキップして出力する
    請求項1に記載のコンテンツ受信装置。
  3. 上記タイミング調整手段は、上記ビデオ遅れ判定手段により上記ビデオフレームが上記オーディオフレームよりも進んでいると判定された場合、現ピクチャに対応したビデオフレームを繰り返し出力する
    請求項1に記載のコンテンツ受信装置。
  4. 上記コンテンツ受信装置は、上記コンテンツ提供装置からリアルタイム性が要求されるUDP(User Datagram Protocol)で送信される上記エンコーダ側のエンコーダ基準クロックを受信する受信手段
    を具え、
    上記算出手段は、上記エンコーダ側のエンコーダ基準クロックと上記デコーダ側のデコーダ基準クロックとを同期させた上で、上記エンコーダ側のエンコーダ基準クロックのクロック周波数と上記デコーダ側のデコーダ基準クロックのクロック周波数とのずれによって生じる時間差を算出する
    請求項1に記載のコンテンツ受信装置。
  5. エンコーダ側のエンコーダ基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、上記エンコーダ基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを上記エンコーダ側のコンテンツ提供装置から受信して復号手段により復号する復号ステップと、
    上記復号ステップで上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを記憶手段に蓄積する記憶ステップと、
    上記エンコーダ側のエンコーダ基準クロックに基づいて上記ビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差を算出手段により算出する算出ステップと、
    上記時間差が所定の時間よりも長く、かつ出力時に上記ビデオフレームが当該ビデオフレームと対応する上記オーディオフレームよりも遅れることになるか否かをビデオ遅れ判定手段により判定するビデオ遅れ判定ステップと、
    上記記憶手段に蓄積された上記ビデオフレームのうち、上記エンコーダ側において次のピクチャを符号化する際の参照フレームとならない非参照フレームに対応したビデオフレームが存在するか否かをピクチャ判定手段により判定するピクチャ判定ステップと、
    上記ビデオ遅れ判定ステップで上記ビデオフレームが上記オーディオフレームよりも遅れていると判断した場合で、かつ上記ビデオフレームのうち上記ピクチャ判定ステップで上記非参照フレームに対応したビデオフレームが存在すると判定されたとき、当該非参照フレームをスキップしてその他のビデオフレームを上記ビデオフレームに対応した映像を表示するための外部接続された表示手段へ出力し、上記非参照フレームに対応したビデオフレームが存在しないと判定されたとき、上記表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべき上記ビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、上記表示手段において当該ピクチャ更新レートに従って上記ビデオフレームを上記画面に表示させ上記オーディオフレームに追い付かせて上記映像及び音声間のリップシンクを調整するタイミング調整ステップと
    を有するビデオオーディオ出力タイミング制御方法。
  6. コンテンツ提供装置とコンテンツ受信装置を有するコンテンツ提供システムであって、
    上記コンテンツ提供装置は、
    エンコーダ側のエンコーダ基準クロックに基づくビデオタイムスタンプを付した複数の符号化ビデオフレームと、上記エンコーダ基準クロックに基づくオーディオタイムスタンプを付した複数の符号化オーディオフレームとを生成する符号化手段と、
    上記複数の符号化ビデオフレーム及び上記複数の符号化オーディオフレームを上記コンテンツ受信装置へ順次送信する送信手段と
    を具え、
    上記コンテンツ受信装置は、
    上記ビデオタイムスタンプが順次付された上記複数の符号化ビデオフレームと、上記オーディオタイムスタンプが順次付された上記複数の符号化オーディオフレームとを上記エンコーダ側のコンテンツ提供装置から受信して復号する復号手段と、
    上記復号手段によって上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、
    上記エンコーダ側のエンコーダ基準クロックに基づいて上記ビデオフレームに付されたタイムスタンプとデコーダ側のデコーダ基準クロックとの出力時における時間差を算出する算出手段と、
    上記時間差が所定の時間よりも長く、かつ出力時に上記ビデオフレームが当該ビデオフレームと対応する上記オーディオフレームよりも遅れることになるか否かを判定するビデオ遅れ判定手段と、
    上記記憶手段に蓄積された上記ビデオフレームのうち、上記エンコーダ側において次のピクチャを符号化する際の参照フレームとならない非参照フレームに対応したビデオフレームが存在するか否かを判定するピクチャ判定手段と、
    上記ビデオ遅れ判定手段により上記ビデオフレームが上記オーディオフレームよりも遅れていると判断した場合で、かつ上記ビデオフレームのうち上記ピクチャ判定手段により上記非参照フレームに対応したビデオフレームが存在すると判定されたとき、当該非参照フレームに対応したビデオフレームをスキップしてその他のビデオフレームを上記ビデオフレームに対応した映像を表示するための外部接続された表示手段へ出力し、上記非参照フレームに対応したビデオフレームが存在しないと判定されたとき、上記表示手段の出力タイミングを示す表示レートに合わせて、当該表示手段の画面に表示すべき上記ビデオフレームのリフレッシュタイミングを示すピクチャ更新レートを速めることにより、上記表示手段において当該ピクチャ更新レートに従って上記ビデオフレームを上記画面に表示させ上記オーディオフレームに追い付かせて上記映像及び音声間のリップシンクを調整するタイミング調整手段と
    を具えるコンテンツ提供システム。
JP2004256204A 2003-09-02 2004-09-02 コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム Expired - Fee Related JP4735932B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004256204A JP4735932B2 (ja) 2003-09-02 2004-09-02 コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003310639 2003-09-02
JP2003310639 2003-09-02
JP2004256204A JP4735932B2 (ja) 2003-09-02 2004-09-02 コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム

Publications (2)

Publication Number Publication Date
JP2005102193A JP2005102193A (ja) 2005-04-14
JP4735932B2 true JP4735932B2 (ja) 2011-07-27

Family

ID=34467535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004256204A Expired - Fee Related JP4735932B2 (ja) 2003-09-02 2004-09-02 コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム

Country Status (1)

Country Link
JP (1) JP4735932B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5696552B2 (ja) * 2011-03-23 2015-04-08 富士通株式会社 再生装置、再生方法およびプログラム
CN104205860B (zh) * 2012-04-04 2017-09-26 三菱电机株式会社 数字数据发布装置和方法、数字数据再现装置和方法以及同步再现系统
CN114584811B (zh) * 2022-05-09 2022-07-22 江西师范大学 基于rtp协议的流媒体视频的同步方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430485A (en) * 1993-09-30 1995-07-04 Thomson Consumer Electronics, Inc. Audio/video synchronization in a digital transmission system
JP3133630B2 (ja) * 1994-11-30 2001-02-13 三洋電機株式会社 Mpegシステムデコーダ
JP2001160968A (ja) * 1999-09-20 2001-06-12 Matsushita Electric Ind Co Ltd 符号化記録装置
JP4618960B2 (ja) * 1999-09-21 2011-01-26 エヌエックスピー ビー ヴィ クロック回復
JP3676631B2 (ja) * 1999-10-29 2005-07-27 松下電器産業株式会社 映像音声同期再生装置
JP2003101962A (ja) * 2001-09-26 2003-04-04 Sony Corp 同期再生装置及び方法
JP3764878B2 (ja) * 2001-10-18 2006-04-12 松下電器産業株式会社 映像音声再生装置,映像音声再生方法,プログラム,および媒体
JP4304996B2 (ja) * 2003-02-05 2009-07-29 ソニー株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
JP2005102193A (ja) 2005-04-14

Similar Documents

Publication Publication Date Title
KR101263522B1 (ko) 콘텐츠 수신 장치, 비디오 오디오 출력 타이밍 제어 방법및 콘텐츠 제공 시스템
WO2005025224A1 (ja) コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム
US9426335B2 (en) Preserving synchronized playout of auxiliary audio transmission
US8300667B2 (en) Buffer expansion and contraction over successive intervals for network devices
JP6317872B2 (ja) 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法
JP7279767B2 (ja) 送信方法および送信装置
JP4182437B2 (ja) オーディオビデオ同期システム及びモニター装置
JP4983923B2 (ja) デコーダ装置、およびデコード方法
JP2011114681A (ja) 映像情報再生方法及びシステム、並びに映像情報コンテンツ
WO2013190789A1 (ja) 受信装置およびその同期処理方法
JP4345816B2 (ja) ネットワークシステムおよび中継装置
JP2009272945A (ja) 同期再生装置
JP2007274607A (ja) デジタル信号処理装置及びデータストリーム処理方法
WO2013190787A1 (ja) 受信装置およびその同期処理方法
JP2003249922A (ja) データ受信装置、および受信データ処理方法、並びにコンピュータ・プログラム
US20060161676A1 (en) Apparatus for IP streaming capable of smoothing multimedia stream
JP4735932B2 (ja) コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム
JP4882213B2 (ja) コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム
JP4192766B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
JP2004015553A (ja) 同期制御方法と装置およびそれを用いた同期再生装置およびテレビジョン受信装置
WO2011155099A1 (ja) 映像表示装置
US20130136191A1 (en) Image processing apparatus and control method thereof
JP2003163691A (ja) データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
WO2021006137A1 (ja) 受信装置、受信方法および送受信システム
JP4188402B2 (ja) 映像受信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110121

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110413

R151 Written notification of patent or utility model registration

Ref document number: 4735932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees