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

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

Info

Publication number
JP4882213B2
JP4882213B2 JP2004256203A JP2004256203A JP4882213B2 JP 4882213 B2 JP4882213 B2 JP 4882213B2 JP 2004256203 A JP2004256203 A JP 2004256203A JP 2004256203 A JP2004256203 A JP 2004256203A JP 4882213 B2 JP4882213 B2 JP 4882213B2
Authority
JP
Japan
Prior art keywords
video
audio
time stamp
clock
value
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
JP2004256203A
Other languages
English (en)
Other versions
JP2005102192A (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 JP2004256203A priority Critical patent/JP4882213B2/ja
Publication of JP2005102192A publication Critical patent/JP2005102192A/ja
Priority to PCT/JP2005/016358 priority patent/WO2006025584A1/ja
Priority to CN200580034341XA priority patent/CN101036389B/zh
Priority to EP05778546.1A priority patent/EP1786209B1/en
Priority to KR1020077005130A priority patent/KR101263522B1/ko
Priority to US11/661,347 priority patent/US8189679B2/en
Application granted granted Critical
Publication of JP4882213B2 publication Critical patent/JP4882213B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • 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
    • 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

Landscapes

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

Description

本発明は、コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムに関し、例えばコンテンツを受信するデコーダ側で映像と音声のリップシンクがずれることを解消する場合に適用して好適なものである。
従来、コンテンツ受信装置においては、エンコーダ側のサーバからコンテンツを受信してデコードする場合、当該コンテンツを構成する映像パケット及び音声パケットに分離し、それぞれデコードした後に映像パケットに付されたビデオタイムスタンプと音声パケットに付されたオーディオタイムスタンプを基にビデオフレームとオーディオフレームを出力することにより、映像と音声との出力タイミングを一致させる(すなわちリップシンクさせる)ようになされている(例えば、特許文献1、特許文献2参照)。
特開平8-280008号公報 特開2004-15553公報
ところでかかる構成のコンテンツ受信装置においては、当該デコーダ側のシステムタイムクロックと、エンコーダ側の基準クロックとが互いに同期しているとは限らず、また当該デコーダ側のシステムタイムクロックにおけるクロックジッタ等によってエンコーダ側の基準クロックとの間でクロック周波数の微妙なずれが生じていることもある。
またコンテンツ受信装置は、ビデオフレームとオーディオフレームとではそのデータ長が異なるため、当該デコーダ側のシステムタイムクロックとエンコーダ側の基準クロックとが完全に同期していないときには、ビデオタイムスタンプ及びオーディオタイムスタンプを基にビデオフレーム及びオーディオフレームを出力したとしても、映像と音声との出力タイミングが一致せず、リップシンクがずれてしまうという問題があった。
本発明は以上の点を考慮してなされたもので、視聴者であるユーザに違和感を感じさせることなく映像及び音声間のリップシンクを当該デコーダ側で確実に調整し得るコンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムを提案しようとするものである。
かかる課題を解決するため本発明においては、エンコーダ側のコンテンツ提供装置からTCPで送信される、エンコーダ側の基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを受信して復号する復号手段と、コンテンツ提供装置からUDPで送信されるエンコーダ側の基準クロックを受信する受信手段と、復号手段によって符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、エンコーダ側の基準クロックとデコーダ側のシステムタイムクロックとを同期させた後、システムタイムクロックのカウント値とオーディオタイムスタンプの差分値、及びシステムタイムクロックのカウント値とビデオタイムスタンプの差分値を算出する算出手段と、システムタイムクロックのカウント値とビデオタイムスタンプの差分値からシステムタイムクロックのカウント値とオーディオタイムスタンプの差分値を減算した値が所定の閾値より大きい場合、複数のビデオフレームをフレーム単位で順次出力するときのピクチャリフレッシュレートを短縮する調整手段とを設けるようにする。
コンテンツ提供装置からTCPで送信されるビデオフレーム及びオーディオフレームを、UDPで送信される基準クロックに基づいて出力するのでリアルタイム性を保持したままライブストリーミング再生を実現できると共に、基準クロックとシステムタイムクロックの同期が外れたときでも音声を途切れさせることなくその音声に合わせて映像を出力することができる。
また本発明においては、復号手段に対して、エンコーダ側のコンテンツ提供装置からTCPで送信される、エンコーダ側の基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを受信して復号させる復号ステップと、受信手段に対して、コンテンツ提供装置からUDPで送信されるエンコーダ側の基準クロックを受信させる受信ステップと、記憶手段に対して、復号ステップで符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積させる記憶ステップと、算出手段に対して、エンコーダ側の基準クロックとデコーダ側のシステムタイムクロックとを同期させた後、システムタイムクロックのカウント値とオーディオタイムスタンプの差分値、及びシステムタイムクロックのカウント値とビデオタイムスタンプの差分値を算出させる差分算出ステップと、タイミング調整手段に対して、システムタイムクロックのカウント値とビデオタイムスタンプの差分値からシステムタイムクロックのカウント値とオーディオタイムスタンプの差分値を減算した値が所定の閾値より大きい場合、複数のビデオフレームをフレーム単位で順次出力するときのピクチャリフレッシュレートを短縮させるタイミング調整ステップとを有する
コンテンツ提供装置からTCPで送信されるビデオフレーム及びオーディオフレームを、UDPで送信される基準クロックに基づいて出力するのでリアルタイム性を保持したままライブストリーミング再生を実現できると共に、基準クロックとシステムタイムクロックの同期が外れたときでも音声を途切れさせることなくその音声に合わせて映像を出力することができる。
さらに本発明においては、コンテンツ提供装置とコンテンツ受信装置を有するコンテンツ提供システムであって、コンテンツ提供装置は、エンコーダ側の基準クロックに基づくビデオタイムスタンプを付した複数の符号化ビデオフレームと、基準クロックに基づくオーディオタイムスタンプを付した複数の符号化オーディオフレームとを生成する符号化手段と、複数の符号化ビデオフレーム及び複数の符号化オーディオフレームをコンテンツ受信装置へTCPで順次送信すると共に、エンコーダ側の基準クロックをUDPで送信する送信手段とを具え、コンテンツ受信装置は、ビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、オーディオタイムスタンプが順次付された複数の符号化オーディオフレームとをエンコーダ側のコンテンツ提供装置からTCPで受信して復号する復号手段と、コンテンツ提供装置からUDPで送信される基準クロックを受信する受信手段と、復号手段によって符号化ビデオフレーム及び符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、エンコーダ側の基準クロックとデコーダ側のシステムタイムクロックとを同期させた後、システムタイムクロックのカウント値とオーディオタイムスタンプの差分値、及びシステムタイムクロックのカウント値とビデオタイムスタンプの差分値を算出する算出手段と、システムタイムクロックのカウント値とビデオタイムスタンプの差分値からシステムタイムクロックのカウント値とオーディオタイムスタンプの差分値を減算した値が所定の閾値より大きい場合、複数のビデオフレームをフレーム単位で順次出力するときのピクチャリフレッシュレートを短縮する調整手段とを設けるようにする。
コンテンツ提供装置からTCPで送信されるビデオフレーム及びオーディオフレームを、UDPで送信される基準クロックに基づいて出力するのでリアルタイム性を保持したままライブストリーミング再生を実現できると共に、基準クロックとシステムタイムクロックの同期が外れたときでも音声を途切れさせることなくその音声に合わせて映像を出力することができる。
上述のように本発明によれば、コンテンツ提供装置からTCPで送信されるビデオフレーム及びオーディオフレームを、UDPで送信される基準クロックに基づいて出力するのでリアルタイム性を保持したままライブストリーミング再生を実現できると共に、基準クロックとシステムタイムクロックの同期が外れたときでも音声を途切れさせることなくその音声に合わせて映像を出力することができ、かくして視聴者であるユーザに違和感を感じさせることなく映像及び音声間のリップシンクを当該デコーダ側で確実に調整し得るコンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システムを実現することができる。
以下、図面について、本発明の一実施の形態を詳述する。
(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 (7)

  1. エンコーダ側のコンテンツ提供装置からTCP(Transmission Control Protocol)で送信される、上記エンコーダ側の基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、上記基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを受信して復号する復号手段と、
    上記コンテンツ提供装置からUDP(User Datagram Protocol)で送信される上記エンコーダ側の基準クロックを受信する受信手段と、
    上記復号手段によって上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、
    上記エンコーダ側の基準クロックとデコーダ側のシステムタイムクロックとを同期させた後、上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値、及び上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値を算出する算出手段と、
    上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値から上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値を減算した値が所定の閾値より大きい場合、上記複数のビデオフレームをフレーム単位で順次出力するときのピクチャリフレッシュレートを短縮する調整手段と
    を具えるコンテンツ受信装置。
  2. 上記調整手段は、上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値から上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値を減算した値が所定の閾値より大きく、かつ上記複数のビデオフレームがGOP(Group Of Picture)で構成されBピクチャが存在する場合、Bピクチャのビデオフレームをスキップして上記ビデオフレームを出力する
    請求項1に記載のコンテンツ受信装置。
  3. 上記調整手段は、上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値から上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値を減算した値が所定の閾値より大きく、かつ上記複数のビデオフレームがGOPで構成されIピクチャの直前に位置するPピクチャが存在する場合、該Iピクチャの直前に位置するPピクチャをスキップして上記ビデオフレームを出力する
    請求項1に記載のコンテンツ受信装置。
  4. 上記調整手段は、上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値から上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値を減算した値が所定の閾値以下で、かつ、上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値から上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値を減算した値が上記閾値より大きい場合、現在のビデオフレームを繰り返し出力する
    請求項2又は3に記載のコンテンツ受信装置。
  5. 記調整手段は、上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値から上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値を減算した値が所定の閾値以下の場合、上記デコーダ側のシステムタイムクロックの基で上記ビデオタイムスタンプに従い上記ビデオフレームを出力する
    求項1に記載のコンテンツ受信装置。
  6. 復号手段に対して、エンコーダ側のコンテンツ提供装置からTCPで送信される、上記エンコーダ側の基準クロックに基づくビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、上記基準クロックに基づくオーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを受信して復号させる復号ステップと、
    受信手段に対して、上記コンテンツ提供装置からUDPで送信される上記エンコーダ側の基準クロックを受信させる受信ステップと、
    記憶手段に対して、上記復号ステップで上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積させる記憶ステップと、
    算出手段に対して、上記エンコーダ側の基準クロックとデコーダ側のシステムタイムクロックとを同期させた後、上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値、及び上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値を算出させる差分算出ステップと、
    タイミング調整手段に対して、上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値から上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値を減算した値が所定の閾値より大きい場合、上記複数のビデオフレームをフレーム単位で順次出力するときのピクチャリフレッシュレートを短縮させるタイミング調整ステップと
    有するビデオオーディオ出力タイミング制御方法。
  7. コンテンツ提供装置とコンテンツ受信装置を有するコンテンツ提供システムであって、
    上記コンテンツ提供装置は、
    エンコーダ側の基準クロックに基づくビデオタイムスタンプを付した複数の符号化ビデオフレームと、上記基準クロックに基づくオーディオタイムスタンプを付した複数の符号化オーディオフレームとを生成する符号化手段と、
    上記複数の符号化ビデオフレーム及び上記複数の符号化オーディオフレームを上記コンテンツ受信装置へTCPで順次送信すると共に、上記エンコーダ側の基準クロックをUDPで送信する送信手段と
    を具え、
    上記コンテンツ受信装置は、
    上記ビデオタイムスタンプが順次付された複数の符号化ビデオフレームと、上記オーディオタイムスタンプが順次付された複数の符号化オーディオフレームとを上記エンコーダ側のコンテンツ提供装置からTCPで受信して復号する復号手段と、
    上記コンテンツ提供装置からUDPで送信される上記基準クロックを受信する受信手段と、
    上記復号手段によって上記符号化ビデオフレーム及び上記符号化オーディオフレームを復号した結果得られる複数のビデオフレーム及び複数のオーディオフレームを蓄積する記憶手段と、
    上記エンコーダ側の基準クロックとデコーダ側のシステムタイムクロックとを同期させた後、上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値、及び上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値を算出する算出手段と、
    上記システムタイムクロックのカウント値と上記ビデオタイムスタンプの差分値から上記システムタイムクロックのカウント値と上記オーディオタイムスタンプの差分値を減算した値が所定の閾値より大きい場合、上記複数のビデオフレームをフレーム単位で順次出力するときのピクチャリフレッシュレートを短縮する調整手段と
    を具えるコンテンツ提供システム。
JP2004256203A 2003-09-02 2004-09-02 コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム Expired - Fee Related JP4882213B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004256203A JP4882213B2 (ja) 2003-09-02 2004-09-02 コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム
PCT/JP2005/016358 WO2006025584A1 (ja) 2004-09-02 2005-08-31 コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム
CN200580034341XA CN101036389B (zh) 2004-09-02 2005-08-31 内容接收器、视频/音频输出定时控制方法和内容提供系统
EP05778546.1A EP1786209B1 (en) 2004-09-02 2005-08-31 Content receiver, video-audio output timing control method, and content providing system
KR1020077005130A KR101263522B1 (ko) 2004-09-02 2005-08-31 콘텐츠 수신 장치, 비디오 오디오 출력 타이밍 제어 방법및 콘텐츠 제공 시스템
US11/661,347 US8189679B2 (en) 2004-09-02 2005-08-31 Content receiving apparatus, method of controlling video-audio output timing and content providing system

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JP2005102192A JP2005102192A (ja) 2005-04-14
JP4882213B2 true JP4882213B2 (ja) 2012-02-22

Family

ID=34467534

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP4882213B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100725260B1 (ko) 2005-12-07 2007-06-07 한국전자통신연구원 영상 복호기 검증을 위한 시스템 보드와의 인터페이스 장치
JP5596473B2 (ja) * 2010-09-06 2014-09-24 シャープ株式会社 映像コンテンツ再生装置及びその制御方法、プログラム、記録媒体
CN114827679B (zh) * 2022-04-19 2024-08-20 海信视像科技股份有限公司 显示设备和音画同步方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4109735B2 (ja) * 1997-09-05 2008-07-02 株式会社日立製作所 パケット変換方法、伝送方法、mpegプロトコルとipの変換方法、catvシステム、プロトコル変換方法およびパケット送信方法
US6931071B2 (en) * 2001-08-31 2005-08-16 Stmicroelectronics, Inc. Apparatus and method for synchronizing video and audio MPEG streams in a video playback device

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101263522B1 (ko) 콘텐츠 수신 장치, 비디오 오디오 출력 타이밍 제어 방법및 콘텐츠 제공 시스템
WO2005025224A1 (ja) コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム
US9426335B2 (en) Preserving synchronized playout of auxiliary audio transmission
JP6317872B2 (ja) 異なるネットワークを介して受信したコンテンツのレンダリングを同期するデコーダ及びそれにおける方法
JP7279767B2 (ja) 送信方法および送信装置
JP4182437B2 (ja) オーディオビデオ同期システム及びモニター装置
US20110216785A1 (en) Buffer expansion and contraction over successive intervals for network devices
JP4983923B2 (ja) デコーダ装置、およびデコード方法
JP4345816B2 (ja) ネットワークシステムおよび中継装置
JP2009272945A (ja) 同期再生装置
US20150109411A1 (en) Image playback apparatus for 3dtv and method performed by the apparatus
JP2003249922A (ja) データ受信装置、および受信データ処理方法、並びにコンピュータ・プログラム
US20060161676A1 (en) Apparatus for IP streaming capable of smoothing multimedia stream
JP3906712B2 (ja) データストリーム処理装置
JP4882213B2 (ja) コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム
JP4735932B2 (ja) コンテンツ受信装置、ビデオオーディオ出力タイミング制御方法及びコンテンツ提供システム
JP4192766B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
WO2021006137A1 (ja) 受信装置、受信方法および送受信システム
JP2004015553A (ja) 同期制御方法と装置およびそれを用いた同期再生装置およびテレビジョン受信装置
WO2011155099A1 (ja) 映像表示装置
JP4874272B2 (ja) 映像信号処理装置および映像信号処理方法
JP4188402B2 (ja) 映像受信装置
JP2012016066A (ja) 映像信号処理装置および映像信号処理方法
Estévez et al. Implementation of a media synchronization algorithm for multistandard IP set-top box systems

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: 20101118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110111

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: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4882213

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: 20141216

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