JPWO2007099906A1 - 再生装置、携帯電話機、及び再生方法 - Google Patents

再生装置、携帯電話機、及び再生方法 Download PDF

Info

Publication number
JPWO2007099906A1
JPWO2007099906A1 JP2008502771A JP2008502771A JPWO2007099906A1 JP WO2007099906 A1 JPWO2007099906 A1 JP WO2007099906A1 JP 2008502771 A JP2008502771 A JP 2008502771A JP 2008502771 A JP2008502771 A JP 2008502771A JP WO2007099906 A1 JPWO2007099906 A1 JP WO2007099906A1
Authority
JP
Japan
Prior art keywords
frame
audio
video
unit
pts
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.)
Granted
Application number
JP2008502771A
Other languages
English (en)
Other versions
JP4852094B2 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008502771A priority Critical patent/JP4852094B2/ja
Publication of JPWO2007099906A1 publication Critical patent/JPWO2007099906A1/ja
Application granted granted Critical
Publication of JP4852094B2 publication Critical patent/JP4852094B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • 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/41Structure of client; Structure of client peripherals
    • 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/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/439Processing of audio elementary 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (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)
  • Mobile Radio Communication Systems (AREA)

Abstract

オーディオPTS比較部110は、オーディオPTS取得部108で取得されたPTS(以下、現PTS)とオーディオPTS保持部109で保持された前回のオーディオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップがあると判定された場合、同期制御部111は、ギャップを検出したオーディオフレームをフェイルセーフデータとしてデコードするようオーディオ復号部103に指示する。

Description

本発明は、符号化データを復号して再生出力する再生装置に関し、特にデジタル符号化された映像信号、及び音声信号の各ビットストリームを復号し、両信号を同期再生する同期再生装置に関するものである。
日本のデジタル放送は、ARIB(Association of Radio Industrial and Businesses)の規格に基づいて行われている。このARIBの規格は、ヨーロッパのDVB(Digital Video Broadcasting)方式の規格を基に作成されたもので、MPEG(Moving Picture Coding Experts Group)2−TS(Transport Stream)のシステムで、映像及び音声の放送に対応している。
MPEG2−TSでは、188バイトの固定長のTSパケットが複数個集まって、TSストリームが構成される。この188バイトのTSパケットの長さは、ATM(Asynchronous Transfer Mode)セル長との整合性を考慮して決定されている。
TSパケットは、4バイトの固定長のパケットヘッダと、可変長のアダプテーションフィールド及びペイロードで構成される。パケットヘッダには、PID(パケット識別子)や各種のフラグが定義されている。このPIDにより、TSパケットの種類が識別される。
ビデオやオーディオなどの個別ストリームが収められたPES(Packetized Elementary Stream)パケットは、同じPID番号を持つ複数のTSパケットに分割されて伝送される。ビデオの符号化には、例えばMPEG2方式やワンセグメント放送規格におけるMPEG4−AVC/H.264方式が用いられる。オーディオの符号化は、例えば、23C(MPEG2 Advanced Audio Coding)方式が用いられている。
また、字幕などのデータが納められたPESパケットも、ビデオやオーディオのパケットと同様に、複数のTSパケットに分割されて伝送される。
このようなMPEG2−TSでは、復号を行う復号器内部の基準信号であるSTC(System Time Clock)の時間を合わすために、所定時間毎に、PCR(Program Clock Reference)が送られる。
すなわち、TSパケットには、アダプテーションフィールドが含まれているものがある。アダプテーションフィールドは、個別ストリームに関する付加情報を伝送するためのもので、ここには、オプショナルフィールドに、6バイトのPCRが配される。
復号器内部において、STC(System Time Clock)は、STCカウンタでカウントされる。このSTCカウンタの時刻は、PCRの時刻に基づいて校正される。
MPEG2−TSでは、AV(オーディオ・ビデオ)同期をとるために、アクセスユニット毎(例えば、ビデオの場合にはピクチャ毎、オーディオの場合にはオーディオフレーム毎)にタイムスタンプが付加される。これらのアクセスユニットがPES化され、このPESパケットのヘッダに、再生時刻を指定するPTS(Presentation Time Stamp)が付加される。
このPTSの時刻は、STCの値で記述される。復号器では、STCの値がPCRと同期して進められる。復号器では、このSTCのカウント値とPTSの値とを比較し、STCのカウント値とPTSの値とが一致したら、表示処理やデコード処理を開始するようになっている。これにより、STCとの同期再生が行われる。
このように、MPEG2−TSでは、PCRに同期して進められるSTCのカウント値と、ビデオ及びオーディオのPESパケットに付加されて送られてくるPTSの値とを比較し、ビデオ、オーディオそれぞれがSTCのカウント値とPTSの値が一致するタイミングで表示処理やデコード処理を開始することにより、AV同期再生を実現している。
放送の録画再生システムとしては、映像提供側からの符号化・多重化したストリームを復号器が蓄積していき、再生の際、蓄積したストリームからオーディオ符号化データ及びビデオ符号化データを分離した後、互いに独立して復号し、復号されたオーディオ信号とビデオ信号を、互いに同期を取って再生を行っている。
蓄積されたストリームのAV同期手法としては、再生オーディオ信号の出力を重視する方法であるオーディオマスタ(例えば、特許文献1参照)が適用されている。オーディオマスタ方式では、各オーディオフレームを出力すると同時に各オーディオフレームの出力時刻を用いてSTCが更新し、このとき各ビデオフレームの表示時刻はSTCと比較され、その比較の結果により各ビデオフレームの表示を早めたり遅らせたりする操作を行っている。
一方、再生ビデオ信号の出力を重視する方法であるビデオマスタ(例えば、特許文献2参照)でのAV同期手法もある。
ところで、蓄積されたストリームのAV再生開始の際の制御として、再生開始時間(以下、エントリポイント)を定義し、好きなポイント(時間)から再生を開始する手法がある。
上述したエントリポイントによる再生開始時の同期再生方法について説明する。
図21は同期再生装置の構成を示している。図21において、同期再生装置は、ストリームを転送する転送部1301、入力されたストリームから必要な情報を抽出するシステムデコーダ1302、ビデオフレームを復号化するビデオ復号部1303、オーディオフレームを復号化するオーディオ復号部1304、各構成要素の動作タイミングを制御するための同期制御部1305を備える。このように構成された同期再生装置のエントリポイントによる再生開始の動作について説明する。
図21で示されるように、転送部1301からエントリポイントを含んだストリームがシステムデコーダ1302に転送される。システムデコーダ1302は、入力されたストリームからビデオ符号化データとオーディオ符号化データをそれぞれビデオ復号部1303とオーディオ復号部1304に転送し、オーディオ用PTSとビデオ用PTSを同期制御部1305に転送する。ビデオ復号部1303は、入力されるビデオ符号化データからビデオフレームの復号を行う。オーディオ復号部1304は、入力されるオーディオ符号化データからオーディオフレームの復号を行う。同期制御部1305は、転送部1301とシステムデコーダ1302とビデオ復号部1303とオーディオ復号部1304を制御することで、ビデオフレームとオーディオフレームとの同期出力制御を行う。
図22は同期再生装置を構成する同期制御部1305における、エントリポイントによる再生開始の動作手順を示すフローチャートを記載した図である。以下、図22のフローに従って、同期制御部1305の動作を詳しく説明する。
まず、動作が開始されると、ステップ1401にて、外部からのエントリポイント値の設定とエントリポイントによる再生開始が通知されると、転送部1301と各復号部1302、1303、1304に起動要求を出す。この要求を受けて、転送部1301と各デコーダ1302、1303、1304は起動処理を行う。
次いで、ステップ1402にて、転送部1301にデータ供給要求を出す。この要求を受けて転送部1301は、エントリポイントを含んだストリームの先頭から転送を行う。システムデコーダ1302は、転送部1301からデータを受信することで分離抽出を開始する。
ビデオ復号部1303は、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSとエントリポイントがある特定のしきい値内で一致するまで、システムデコーダ1302から受信したビデオ符号化データからビデオフレームの復号を行う。このときは、まだ復号処理だけを行い、表示出力は行わない。
次いで、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSと、エントリポイントがある特定のしきい値内で一致した場合は、ステップ1404に移り、ビデオフレーム用PTSの値で、同期制御部1305内のSTCを初期化する。
次いで、ステップ1405にて、ビデオ復号部1303にビデオフレーム同期出力要求を出す。この要求を受けてビデオ復号部1303は、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSとエントリポイントとがある特定のしきい値内で一致したビデオフレームの復号と同時に表示出力も行う。この段階で、初めてビデオフレームの表示出力が行われ、以後、ビデオ復号部1303、同期制御部1305による、STCとシステムデコーダ1302から受信するビデオフレーム用PTSとを用いた同期制御のもとで、システムデコーダ1302から受信するビデオ符号化データからのビデオフレームの復号と表示出力を次々に行っていく。
次いで、ステップ1406にて、システムデコーダ1302から受信したオーディオフレーム用PTSと、STCとがある特定のしきい値内で一致するまで処理を続ける。
また、ステップ1406にてシステムデコーダ1302から受信したオーディオフレーム用PTSと、STCとがある特定のしきい値内で一致した場合、ステップ1407に移り、オーディオ復号部1304にオーディオフレーム同期出力要求を出す。
この要求を受けてオーディオ復号部1304は、ステップ1406にて、システムデコーダ1302から受信したオーディオフレーム用PTSと、STCとがある特定のしきい値内で一致したオーディオフレームの復号と同時にオーディオ出力も行う。この段階で、初めてオーディオフレームのオーディオ出力が行われ、以後、オーディオ復号部1304は、同期制御部1305による、STCとシステムデコーダ1302から受信するオーディオフレーム用PTSとを用いた同期制御のもとで、システムデコーダ1302から受信するオーディオ符号化データからのオーディオフレームの復号とオーディオ出力を次々に行っていく。
また、特許文献2には、MPEG規格により規定される表示順序情報であるテンポラル・リファレンス(temporal reference)を利用して、ビデオフレーム単位、あるいはオーディオフレーム単位の精度で、指定されたエントリポイントに相当するビデオフレームとオーディオフレームを検出できる技術が開示されている。
また、特許文献3には、異常判定用のタイマを設けることによって、所定の時間が経過しても、ビデオフレームあるいはオーディオフレームの一方しか出力準備完了していない場合に、この時点で出力準備完了している、ビデオフレームまたはオーディオフレームの一方だけに出力要求を可能とし、入力されたストリーム中にエントリポイントに相当するビデオフレームとオーディオフレームの一方しか存在しない場合でも、再生開始を正常に行うことが可能な同期再生装置が開示されている。
特開平7−50818号公報 特願平9−514146号公報 特開2001−346166号公報
そこで、本発明が解決しようとする第1の課題を図23(a)、(b)を用いて説明する。図23(a)、(b)は、電波状態が悪い環境下において記録されたストリーム例を示している。縦軸がPTSで横軸はストリームである。図23(a)は伝送エラーなどによりPTSにビット誤りが発生している場合、図23(b)は記録時の電波の受信状態が悪いためストリームに抜けが発生した場合を示す。図23(a)においてエントリポイントがPTS誤りが発生している時間に指定された場合、従来技術ではエントリポイント判定内に一致するPTSが検出できない。図23(b)も同様、ストリーム抜けが発生した時間にエントリポイントが指定された場合、従来技術ではエントリポイント判定内に一致するPTSが検出できない。結果、再生開始位置が定まらず再生開始ができないという問題がある。
次に、本発明が解決しようとする第2の課題を図24(a)、(b)、(c)を用いて説明する。図24(a)は、MPEG2−TSのTSパケットを示している。開始フレームの検索を行う対象データ領域を開始フレーム検索対象データと示す。つまり、エントリポイントと一致するフレームの検索は、この開始フレーム検索対象データに対して行うことになる。例えば、開始フレーム検索対象データに対しての検索処理時間をオーディオとビデオで、それぞれTa、Tv(Ta<Tv)であるとした場合、タイマTeは、オーディオとビデオがともに検索処理が完了する時間が与えられる(図24(b))。このような場合、図24(c)のように、検索を開始し、ビデオデータにおいて開始フレーム検索が完了し、出力準備ができたとしても、出力するのはTe後からとなる。
すなわち、オーディオデータまたはビデオデータの一方の開始データが見つからない場合の片方のみ出力するためのタイマを、オーディオデータの開始フレーム検索処理時間、ビデオデータの開始フレーム検索処理時間に依らず、一意的な値をとっているため、片方データのみの出力の場合、開始フレーム検索時間が大きいほうに引っ張られて再生開始するという問題がある。
さらに、本発明が解決しようとする第3の課題を、図25を用いて説明する。図25(a) は、オーディオマスタで動作している動画再生装置のビデオ再生データとオーディオ再生データが共に正常に出力されている通常状態において、受信電波が悪い状態で記録されることにより多重化ビットストリームに時間的不連続が発生した場合の例を示す図である。
この図25において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば映像フレーム2301におけるPTSは42である。また、図25(a)ではオーディオマスタ動作を想定しているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。さらに、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム2301と映像フレーム2302、また、音声フレーム2303と音声フレーム2304の間に時間飛びが発生している。
このとき、オーディオマスタとして動作しているため、オーディオ再生データは不連続点でも連続して再生され、同様にリファレンスクロックもオーディオ再生データ同様、不連続に変化する。それに対し、ビデオ再生データは映像フレーム2301でリファレンスクロックと大きく離れ、許容範囲を超えてしまい、非同期で再生を行う自走再生状態となる。これは、たとえば自走状態と判断する許容範囲を10とすると、映像フレームのPTSは113、リファレンスクロックのSTC値は47であり、映像フレームのPTSとリファレンスクロックのSTCの差分は66となり、許容範囲30を超える。しかし、オーディオも不連続を通過後、ビデオ再生データは映像フレーム2303で再びリファレンスクロックと同期が取れ、再度同期再生状態に復帰し同期再生は正常に行われ、なんら問題はない。
しかしながら、図25(b)に示すように、時間飛びが発生している映像フレーム2306、映像フレーム2307間の時間間隔(図25(b)では83)、音声フレーム2308と音声フレーム2309の時間間隔(図25(b)では69)が異なるような状況が発生した場合、図25(a)と同様な自走による制御方式を行うと図25(b)に示すように、不連続点通過後も許容範囲を超えた状態となり自走モードが継続されることになる。すなわち、図25(b)に示すようにオーディオが不連続を経過した後も、映像フレーム2310以降の映像フレームのPTSとリファレンスクロックのSTCとの差分値が常に12になっているため、自走状態と判断する許容値10を超えた状態が継続され、同期状態になることなく自走再生状態が続いてしまう。
自走再生状態が続くと、オーディオ、ビデオの同期がとれずリップシンクが合わない状態が続くことになってしまう。
このような状態において、従来例では、一定時間自走モードが継続された場合、ビデオまたはオーディオの再生を停止し再度開始状態に戻してから再生するという方法を行っていた。しかしながら、再生を一旦停止し再開する際は、初期状態に戻るため、起動処理が必要であり、さらにはすでにバッファ等に蓄積されているデータも破棄されるため、再生復帰までの時間がかかり、その間、映像またはオーディオが何も出力されない状態が長時間継続されるという問題が生じる。
本発明は上記の問題に鑑みてなされたものであり、エントリポイント指定による再生開始時や再生中に、映像表示時刻や音声表示時刻に時間的不連続が発生するいかなる場合においても、それぞれの場合に応じて最適な映像フレームと音声フレームからの再生開始を行え、また、映像信号と音声信号が途絶えることなく再生が継続できる、再生装置を提供することを目的とする。
本発明は上記課題を解決するために、本発明の第1態様に係る再生装置は、所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅に相当するフレームから再生を開始する機能を有する再生装置であって、フレーム毎に、フレーム再生時刻情報を取得する取得部と、前記取得部で取得したフレーム再生時刻情報を保持する保持部と、フレーム毎に、前記取得部で取得した現フレーム再生時刻情報が、前記指定された再生開始時間幅に含まれるか否かを判定し、含まれないと判定された場合はさらに、前記現フレーム再生時刻情報と、前記保持部に保持されている前のフレームにおける前フレーム再生時刻情報との差分が、前記所定時間間隔を超えるか否かを判定する比較部と、前記比較部で、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判断された場合は、前記現フレーム再生時刻情報が付加されたフレームから再生を開始する再生出力部とを備えることを特徴とする。
また、上記課題を解決するために、本発明の第2態様に係る再生装置は、フレーム単位に映像再生時刻情報が付加された映像フレームと、フレーム単位で音声再生時刻情報が付加された音声フレームとから成るデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅に相当する映像フレーム及び音声フレームから再生を開始する機能を有する再生装置であって、映像フレームから映像フレーム再生時刻情報の取得、及び音声フレームから音声フレーム再生時刻情報の取得を行う取得部と、前記取得部で取得した映像フレームの映像フレーム再生時刻情報が前記指定された再生開始時間幅に含まれるか否かの判定、及び前記取得部で取得した音声フレームの音声フレーム再生時刻情報が前記指定された再生開始時間幅に含まれるか否かの判定を行う比較部と、映像フレーム及び音声フレームの復号及び再生出力を行う復号部とを備え、前記取得部で取得した映像フレーム再生時刻情報が前記再生開始時間幅に含まれるか否かを前記比較部が判定するために要する上限時間Tvと、前記取得部で取得した音声フレーム再生時刻情報が前記再生開始時間幅に含まれるか否かを前記比較部が判定するために要する上限時間Taとが設定されており、(i)上限時間Tv>Taを満たすとき、前記復号部は、前記取得部で取得した音声フレーム再生時刻情報が前記再生開始時間幅に含まれず上限時間Taが経過した時に、映像フレームの復号が完了している場合、当該映像フレームを再生出力し、(ii)上限時間Tv<Taを満たすとき、前記復号部は、前記取得部で取得した映像フレーム再生時刻情報が前記再生開始時間幅に含まれず上限時間Tvが経過した時に、音声フレームの復号が完了している場合、当該音声フレームを再生出力することを特徴とする。
また、上記課題を解決するために、本発明の第3態様に係る再生装置は、所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号し、自装置内のシステム基準クロックと同期して再生する再生装置であって、フレーム毎に、フレーム再生時刻情報と、前記システム基準クロックが示す時刻とを比較する比較部と、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致すると判断された場合、当該フレーム再生時刻情報が付加されているフレームを復号して再生出力する復号部と、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合は、当該フレーム再生時刻情報が付加されたフレームを復号して前記システム基準クロックと非同期で再生出力するよう前記復号部に指示する制御部と、前記制御部の指示により、前記復号部が前記システム基準クロックと非同期で再生出力したフレームをカウントするカウント部とを備え、前記制御部はさらに、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームを強制的に前記システム基準クロックと同期させて再生出力するよう前記復号部に指示する強制同期処理を実行することを特徴とする。
また、上記課題を解決するために、本発明の携帯電話機は、上記第1の態様〜第3の態様のいずれか1態様に係る再生装置を備えることを特徴とする。
第1の態様に係る再生装置によれば、電波状態が悪い環境で録画されたストリーム等、フレームの欠落やエラーのあるストリームの再生開始時において、エントリポイントに対応する(再生開始時間幅に相当する)フレームが欠落していたとしても、当該フレームの近辺の最適なフレームから再生を開始することができる。
第2の態様に係る再生装置によれば、エントリポイントと一致するフレームの検索の際に上限時間を音声フレームと映像フレームで個別管理することで、再生開始時、片方のみのデータしか存在しない場合、開始データ検索時間の長いほうに影響を受けることなくフレームの出力することが可能である。
第3の態様に係る再生装置によれば、電波状態が悪い環境で録画されたストリーム等、フレームの欠落やエラーのあるストリームの再生中において、システム基準クロックとの同期ずれを低減することができる。
また、上記第1態様に係る同期再生装置において、前記データストリームは、所定時間毎に、プログラム参照時刻情報を含むものであり、さらに、前記プログラム参照時刻情報を取得し、取得した現プログラム参照時刻情報と、前記所定時間前に取得した前プログラム参照時刻情報とを比較して、前記現プログラム参照時刻情報と前記前プログラム参照時刻情報との差分が所定の閾値を超えていた場合は、プログラム参照時刻情報が不連続であることを検出するとともに前記現プログラム参照時刻情報を保持する検出部を備え、前記比較部は、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判定された場合で、且つ前記検出部で前記現プログラム参照時刻情報が保持されている場合は、さらに、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が、前記所定時間を超えるか否かを判定し、前記再生出力部は、前記比較部で、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が前記所定時間を超えると判定された場合のみ、前記現フレーム再生時刻が付加されたフレームから再生を開始することとしてもよい。
この構成により、エントリポイントに対応する(再生開始時間幅に相当する)フレームが欠落していた場合、フレームのビット誤りとデータストリームのパケットエラーを区別し、フレームのビット誤りのときのみ、当該フレームの近辺の最適なフレームから再生を開始することができる。
また、上記第1態様に係る同期再生装置は、MPEG(Moving Picture Experts Group)規格に準拠するものであり、前記フレーム再生時刻情報は、MPEG規格で定められたPTS(Presentation Time Stamp)であり、前記プログラム参照時刻情報は、MPEG規格で定められたPCR(Program Clock Reference)であることとしてもよい。
この構成により、MPEG規格に準拠した再生装置において、フレームの欠落やエラーのあるストリームの再生開始時において、エントリポイントに対応する(再生開始時間幅に相当する)フレームが欠落していたとしても、当該フレームの近辺の最適なフレームから再生を開始することができる。
また、上記第3態様に係る同期再生装置において、前記制御部は、前記強制同期処理として、(i)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、フレーム再生時刻情報が、システム基準クロックが示す時刻と一致するまで待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力するよう前記復号部に指示し、(ii)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を下回ると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームは再生出力しないよう前記復号部に指示することとしてもよい。
この構成により、フレームの欠落やエラーのあるストリームの再生中において、フレームとシステム基準クロックとの同期ずれが起きた場合、フレームを強制的に進める、又は遅らせることにより、同期状態に復帰させることができる。
また、上記第3態様に係る同期再生装置において、前記制御部は、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合において、さらに、フレーム再生時刻情報とシステム基準クロックが示す時刻との差分が所定差分t1を超える場合のみ、t1より小さい所定の時間t2だけ待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力することとしてもよい。
この構成により、フレームとシステム基準クロックの同期ずれが大きい場合は、少しずつフレームを強制的に進めることで、ユーザが映像を見たときの違和感をなるべく払拭しながら同期状態に復帰させることができる。
また、上記第3態様に係る同期再生装置において、前記フレームは、第1メディアに係る第1メディアフレームと、第2メディアに係る第2メディアフレームに分かれており、前記第1メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するものであり、前記比較部は、フレームについて、第1メディアフレームと第2メディアフレームとを区別して、それぞれのフレーム再生時刻情報とシステム基準クロックが示す時刻とを比較し、前記カウント部は、フレームのカウントについて、第1メディアフレームと第2メディアフレームとを区別してカウントし、前記制御部は、前記比較部で、前記フレームの内第1メディアフレームについての再生時刻情報が、前記システム基準クロックと一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力された第1メディアフレームがカウントされた場合においては、前記第2メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するよう変更することとしてもよい。
この構成により、第1メディアフレーム(例えば、オーディオフレーム)をマスタとしてストリームを再生しているときに、第1メディアフレームにフレーム欠損やエラーがあって第2メディアフレーム(例えば、ビデオフレーム)が正常な場合、不連続の発生していない正常な第2メディアフレームをマスタに切り換えることができる。
本発明の実施の形態1に係る同期再生装置の構成を示すブロック図である。 本発明の実施の形態1に係るMPEG2−TSストリームのデータ構造図である。 本発明の実施の形態1に係るMPEG2−TSストリームとPESパケットの関係図である。 本発明の実施の形態1に係るPESパケットのデータ構造図である。 本発明の実施の形態1に係るビデオデータ検索処理を示すフローチャートである。 本発明の実施の形態1に係るオーディオデータ検索処理を示すフローチャートである。 本発明の実施の形態1に係る再生処理を示すフローチャートである。 本発明の実施の形態2に係る同期再生装置の構成を示すブロック図である。 本発明の実施の形態2に係るタイムアウト処理を示すフローチャートである。 本発明の実施の形態3に係る同期再生装置の構成を示すブロック図である。 本発明の実施の形態3に係るPESパケットのデータ構造図である。 本発明の実施の形態3に係るビデオデータ検索処理を示すフローチャートである。 本発明の実施の形態3に係るオーディオデータ検索処理を示すフローチャートである。 本発明の実施の形態4に係る同期制御処理を示すフローチャートである。 本発明の実施の形態4に係る同期制御処理を示すタイミングチャートである。 本発明の実施の形態5に係る同期制御処理を示すフローチャートである。 本発明の実施の形態5に係る同期制御処理を示すタイミングチャートである。 本発明の実施の形態6に係る同期制御処理を示すフローチャートである。 本発明の実施の形態6に係る同期制御処理を示すタイミングチャートである。 本発明に係る携帯電話機を示すブロック図である。 従来技術の同期再生装置の構成を示すブロック図である 従来技術の同期再生装置の処理を示すフローチャートである。 従来技術における再生処理を示す概念図である。 従来技術におけるフレーム検索処理を示す概念図である。 従来技術における再生中の処理を示す概念図である。
符号の説明
100、800、1000 同期再生装置
101、801、1301 転送部
102、802 多重分離部
103、803、1304 オーディオ復号部
104、804、1303 ビデオ復号部
105、108、805、808 PTS取得部
106、109 PTS保持部
107、110 PTS比較部
111、811、1305 同期制御部
112、812、1313 リファレンスクロック部
813 オーディオ時間管理部
814 ビデオ時間管理部
1302 システムデコーダ
2000 携帯電話機
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(1.実施の形態1)
(1−1.構成)
図1は実施の形態1に係る同期再生装置100の構成を示す図である。
図1において、同期再生装置100は、転送部101、多重分離部102、オーディオ復号部103、ビデオ復号部104、オーディオPTS取得部108、オーディオPTS保持部109、オーディオPTS比較部110、ビデオPTS取得部105、ビデオPTS保持部106、ビデオPTS比較部107、同期制御部111、及びリファレンスクロック部112を備える。
転送部101は、多重ストリーム(MPEG2−TSストリーム、以下に説明)を多重分離部102へ転送するものである。
多重分離部102は、多重ストリームからビデオPESパケット(PESパケット、以下に説明)内のPESヘッダから再生時間情報であるビデオPTSと、ビデオ符号化データを抽出し、ビデオ復号部104とビデオPTS取得部105に転送し、また、オーディオPESパケット内のPESヘッダから再生時間情報であるオーディオPTSと、オーディオ符号化データを抽出し、オーディオ復号部103、オーディオPTS取得部108に転送するものである。
オーディオ復号部103は、オーディオ符号化データを復号するものである。
ビデオ復号部104は、ビデオ符号化データを復号するものである。
オーディオPTS取得部108は、多重分離部102で抽出されたオーディオPTSを取得するものである。
オーディオPTS保持部109は、オーディオPTS取得部108で取得したオーディオPTSを保持するものである。
オーディオPTS比較部110は、オーディオPTS取得部108で取得したPTSとオーディオPTS保持部109に保持されているオーディオPTSとを比較するものである。
ビデオPTS取得部105は、多重分離部102で抽出されたビデオPTSを取得するものである。
ビデオPTS保持部106は、ビデオPTS取得部105で取得したビデオPTSを保持するものである。
ビデオPTS比較部107は、ビデオPTS取得部105で取得したビデオPTSとビデオPTS保持部106に保持されているビデオPTSとを比較するものである。
同期制御部111は、各構成要素の動作タイミングを制御するものである。
リファレンスクロック部112は、システム内の基準クロックであるシステムタイムクロック(以下、STC)を管理するものである。
(1−2.データ)
ここで、図2を用いて、MPEG2−TSストリームのデータ構造を説明する。図2において、501はMPEG2−TSストリームである。MPEG2−TSストリーム501は、188バイト固定長の複数のTSパケットから構成される。MPEG2−TSパケット(TS Packet)502はヘッダ(TS Header)503とペイロード(Payload)504とから成る。
ヘッダ503はMPEG2−TSのパケット502の先頭を示すシンクワード(Sync Word)505と、MPEG2−TSパケット502内のデータ識別しPID506と、ペイロード506が有効かどうか示すアダプレーションフィールドコントロール(Adaptation Field Control)507と、アダプテーションフィールド(Adaptation Field)508と、その他の制御フラグ(図示せず)から構成される。図3に示すようにPESパケットは、同一のPID値601、602を持つ複数の固定長TSパケットに分かれて転送される。ここで、図3を用いて、PESパケットのデータ構造を説明する。PESパケット701は、PESパケットの先頭を示すパケットスタートコードプリフィックス(Packet Start Code Prefix)702と、PESパケットデータ706に含まれるストリームを識別するためのストリームID(Stream id)703と、PESパケットの長さを示すPESパケット長(PES Packet Length)704と、PESヘッダ(PES Header)705と、ストリームデータが格納されるPESパケットデータ(PES Packet Data)706とから構成される。
さらに、PESヘッダ705には、オプションフィールド(Option fields)707とその他の制御フラグ等(図示せず)から構成される。このオプションフィールド707内には、PESパケット701に含まれるストリームの再生時刻情報であるPTS708が格納されている。また、PESパケットデータ706には、符号化データが格納されている。
ここでいう復号処理は、ビデオにおいて、例えば、MPEG4−AVC/H.264方式やMPEG2/4方式の画像復号化処理が行われ、オーディオにおいて、例えば、23Cなどの復号処理が行われる。
(1−3.動作)
図5、図6及び図7は本実施の形態1による同期再生装置100におけるエントリポイント再生開始の動作手順を示すフローチャートであり、以下、図5、図6及び図7のフローチャートに従って、再生開始までの動作を詳しく説明する。
まず、図5に示す動作は、再生開始指示のあったエントリポイントに対応するビデオフレームを検索し、検索した結果、当該エントリポイントに対応するビデオフレームが欠落していた場合に、当該ビデオフレームの近辺の最適なフレームを決定する動作である。ここで、この最適なビデオフレームのことを「フェイルセーフデータ」と呼ぶ。
外部からビデオ用エントリポイント値が設定されると、ビデオフレーム出力完了フラグが“0”にクリアされて処理が開始する。
まず、ステップS201にて、転送部101に対してストリーム供給要求を出す。ここで、この要求を受けて、転送部101は、エントリポイントを含んだMPEG2−TS(以下、多重ストリーム)を多重分離部102への転送を行う。多重分離部102は、バッファを持っており、多重ストリームはそのバッファに格納される。転送部101は、多重分離部102が持つバッファのオーバーフロー管理も行い、オーバーフローしそうな場合は、多重ストリームの転送を停止し、バッファの空きがでた時点で多重ストリームの転送を再開する。バッファは、以下に記述するオーディオフレームのスキップ処理、復号処理またはビデオフレームのデコード処理によって消費されていくものとする。
次いで、ステップS202にて、多重分離部102は、先頭PESパケットを検出する。ここで、先頭PESパケットは、入力されたストリームにおいてPTSが存在する最初のPESパケットのことを示す。
次いで、ステップS203にて、多重分離部102は、ビデオ符号化データとビデオPTSを抽出し、ビデオ符号化データを、ビデオ復号部104へ転送し、ビデオPTSを、ビデオPTS取得部105へ転送する。
次いで、ステップS204にて、ビデオPTS取得部105は、多重分離部102から転送されたPTSを同期制御部111へ転送すると同時に、ビデオPTS保持部106へ転送する。
次いで、ステップS205にて、同期制御部111は、外部から指定されたエントリポイント値とビデオPTS取得部105で取得した現PTSとの比較を行い、エントリポイントに相当するビデオフレームかどうかを判断する。エントリポイントに相当するビデオフレームと判定された場合は、後述するステップS206に移る。
エントリポイントに相当するビデオフレームと判定されなかった場合は、後述するステップS208に移る。
ここで、エントリポイント判定は次の条件式である(数1)を用いる。(数1)において、EPv1は外部から設定されたエントリポイントを、Tv1はフレーム単位時間、PTSnv1はステップS203にて抽出されたビデオPTSを示す。Tv1はビデオフレームの1フレーム単位時間を使用する。例えば、1フレーム単位時間は、15fpsで66ms、30fpsで33msとなる。ただし、この数式はあくまで例であり、これに限定されるものではない。
(数1)
EPv1−1/2×Tv1<PTSnv1≦EPv1+1/2×1/2×Tv1
エントリポイント値と現PTSが一致した場合(ステップS205:YES)、ステップS206にて、同期制御部111は、ビデオ復号部104に対して復号許可信号を通知し、ビデオ復号部104は、同期制御部111からの復号許可信号によりビデオ符号化データの復号処理を行う。復号化されたビデオフレームは、ビデオ復号部104内のフレームバッファに格納される。
次いで、ステップS207にて、ステップ206でのビデオの復号処理の完了後、ビデオフレームの出力準備完了フラグを立てる。
一方、エントリポイント値と現PTSが一致しない場合(ステップS205:NO)、ステップS208にて、ビデオPTS比較部107は、ビデオPTS取得部105で取得されたPTS(以下、現PTS)とビデオPTS保持部106で保持された前回のビデオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定には次の条件式である(数2)を用いる。この条件式が成立する場合、後述するステップS209に移る。逆にギャップと判定されない場合、後述するステップS210に移る。なお、この処理は、最初のビデオフレームにおいては、ビデオPTS保持部106には前PTSは保持されていないため行わない。(数2)において、Xv1は外部から設定される閾値でギャップと判断するための値である。Xv1は、フレーム周期より大きく与えられるのが望ましい。
(数2)
現PTS値−前PTS値<0 または、現PTS値-前PTS値>Xv1
ギャップ判定において条件式(2)が成立する場合(ステップS208:YES)、ステップS209にて、ギャップを検出したビデオフレームは、フェイルセーフデータであるとし、ステップS206に移る。
一方、ギャップ判定において条件式(2)が成立しない場合(ステップS208:NO)、ステップS210にて、ビデオ復号部104は、ビデオPTS比較部107からの指示により、ビデオ符号化データの復号処理を行い、ステップS211に移る。
次いで、ステップS211にて、ビデオPTS保持部106は、現PTS値を前PTSとして置き換える。つまり、現PTSを次のビデオフレームのギャップ処理で使用するため、前PTSとして保存する。その後、ステップS203の処理に移り処理を継続する。
次に、図5に示す動作は、再生開始指示のあったエントリポイントに対応するオーディオフレームを検索し、検索した結果、当該エントリポイントに対応するオーディオフレームが欠落していた場合に、当該ビデオフレームの近辺の最適なフレームを決定する動作である。ここで、この最適なオーディオフレームのことを「フェイルセーフデータ」と呼ぶ。
処理が開始されると、外部からオーディオ用エントリポイント値が設定され、オーディオフレーム出力完了フラグが“0”にクリアされる。
まず、ステップS301にて、転送部101に対してストリーム供給要求を出す。この要求を受けて、転送部101は、エントリポイントを含んだ多重ストリームを多重分離部102への転送を行う。なお、ここまでの処理は、ビデオフレームの場合と同様な処理である。
次いで、ステップS302にて、多重分離部102は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。
次いで、ステップS303にて、多重分離部102は、オーディオ符号化データとオーディオPTSを抽出し、オーディオ符号化データは、オーディオ復号部103へ転送され、オーディオPTSは、オーディオPTS取得部108へ転送される。
次いでステップS304にて、オーディオPTS取得部108は、多重分離部102から転送されたPTSを同期制御部111へ転送するのと同時に、オーディオPTS保持部109へ転送する。
次いでステップS305にて、同期制御部111は、外部から指定されたエントリポイント値とオーディオPTS取得部108で取得した現PTSとの比較を行い、エントリポイントに相当するオーディオフレームかどうかを判断する。エントリポイントに相当するオーディオフレームと判定された場合は、後述するステップS306に移る。
エントリポイントに相当するオーディオフレームと判定されなかった場合は、後述するステップS308に移る。
ここで、エントリポイント判定は次の条件式である(数3)を用いる。(数3)において、EPa1は外部から設定されたエントリポイントを、Ta1はフレーム単位時間、PTSna1はステップS303で抽出されたオーディオPTSを示す。Ta1はオーディオフレームの1フレーム単位時間を使用する。例えば、AAC24kHzの場合、42ms、AAC48kHzの場合、22msが与えられる。ただし、この数式はあくまで例であり、これに限定されるものではない。
(数3)
EPa1−1/2×Ta1<PTSna1≦EPa1+1/2×1/2×Ta1
エントリポイント値と現PTSが一致した場合(ステップS305:YES)、ステップS306にて、同期制御部111は、オーディオ復号部103に対して復号許可信号を通知し、オーディオ復号部103は、同期制御部111からの復号許可信号によりオーディオ符号化データの復号処理を行う。復号化されたオーディオフレームは、オーディオ復号部103内のフレームバッファに格納される。
次いで、ステップS307にて、ステップS306でのオーディオの復号処理の完了後、オーディオフレームの出力準備完了フラグを立てる。
一方、エントリポイント値と現PTSが一致しない場合(ステップS305:NO)、ステップS308にて、オーディオPTS比較部110は、オーディオPTS取得部108で取得されたPTS(以下、現PTS)とオーディオPTS保持部109で保持された前回のオーディオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数4)を用いる。この条件式が成立する場合、後述するステップS309に移る。逆にギャップと判定されない場合、後述するステップS310に移る。なお、この処理は、最初のオーディオフレームにおいては、オーディオPTS保持部109には前PTSは保持されていないため行わない。Xa1は外部から設定される閾値で、ギャップと判断するための値である。Xa1は、フレーム周期より大きく与えられるのが望ましい。
(数4)
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xa1
ギャップ判定において条件式(4)が成立する場合(ステップS308:YES)、ステップS309にて、ギャップを検出したオーディオフレームは、フェイルセーフデータであるとし、ステップS306に移る。
一方、ギャップ判定において条件式(4)が成立しない場合(ステップS308:NO)、ステップS310にて、オーディオ復号部103は、オーディオPTS比較部110からの指示により、オーディオ符号化データのスキップ処理を行い、ステップS311に移る。
また、ステップS311にて、ビデオPTS保持部109は、現PTS値と前PTSを置き換える。つまり、現PTSを次のオーディオフレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS303の処理に移り処理を継続する。
次に、図7を用いて同期制御部111においてビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作を説明する。
ステップS401にて、ビデオフレームとオーディオフレームがともに出力準備完了になるまで待ち続ける。ビデオフレームとオーディオフレームがともに出力準備完了した場合、ステップS402に移る。
次いで、ステップS402において、ビデオフレーム、オーディオフレームがともにフェイルセーフデータとなった場合、後述するステップS405へ移る。逆にそうでないならば、後述するステップS403へ移る。
フェイルセーフデータでないフレームがある場合(ステップS402:NO)で、ステップS403において、オーディオフレームのみフェイルセーフデータと判定された場合、後述するステップS408へ移る。逆にそうでないならば、後述するステップS404へ移る。
ステップS404において、ビデオフレームのみフェイルセーフデータと判定された場合、後述するステップS406へ移る。逆にそうでないならば、後述するステップS405へ移る。
ビデオフレームとオーディオフレームともにフェイルセーフデータであった場合(ステップS402:YES)、またはビデオフレームとオーディオフレームともにフェイルセーフデータではない場合(ステップS404:NO)、ステップS405において、出力準備完了したフレームのオーディオPTSとビデオPTSとの比較を行い、オーディオPTS値≦ビデオのPTS値が成立する場合、オーディオマスタで開始すると判断し、後述するステップS406へ移る。逆に、オーディオのPTS値≦ビデオのPTS値が成立しない場合、ビデオマスタで開始すると判断し、後述するステップS408へ移る。
オーディオマスタで開始した場合(ステップS405:YES)、ステップS406において、同期制御部111は、オーディオ復号部103に再生指示を出し、同時に、オーディオのPTSでリファレンスクロック部112の補正を行う。なお、オーディオのPTSの補正処理は、オーディオ再生の出力タイミングであるフレーム周期で行う。
次いで、ステップS407において、同期制御部111は、ビデオのPTSとリファレンスクロックで取得したSTCの差分値から同期の合わせこみを行う。PTSとSTCが一致したと判定された場合、ビデオ復号部104に対してビデオフレームの再生指示を出す。
一方、ビデオマスタで開始した場合(ステップS405:NO)、ステップS408において、同期制御部111は、ビデオ復号部104に再生指示を出し、同時に、ビデオのPTSでリファレンスクロック部112の補正を行う。なお、ビデオのPTSの補正処理は、ビデオ再生の出力タイミングであるフレーム周期で行う。
次いで、ステップS409において、同期制御部111は、オーディオのPTSとリファレンスクロックで取得したSTCの差分値から同期の合わせこみを行う。PTSとSTCの差分が一致したと判定された場合、オーディオ復号部103に対してオーディオフレームの再生指示を出す。
以上のように、本発明の実施の形態1による同期再生装置100によれば、再生開始時、ストリームのデータ抜けやPTSのビット誤りによる不連続が発生しても、オーディオフレームまたはビデオフレームのPTSのギャップを検出し、エントリポイント検索処理を停止して、エントリポイントに対応するフレームの近辺の最適なフレーム(フェイルセーフデータ)を決定して、当該最適なフレームからの再生開始ができる処理が可能となる。
(2.実施の形態2)
次に、本発明の実施の形態2について説明する。
実施の形態2では、エントリポイントと対応するビデオフレーム及びオーディオフレームの検索を行う際、検索に使用する上限時間を決めておき、当該上限時間の経過後はタイムアウトとなるようになっている点で、実施の形態1とは異なる。
以下、実施の形態2について、実施の形態1と異なる点を中心に説明する。
(2−1.構成)
図8は実施の形態2に係る同期再生装置800の構成を示す図である。
同期再生装置800は、転送部801、多重分離部802、オーディオ復号部803、オーディオPTS取得部808、オーディオPTS保持部809、オーディオPTS比較部810、ビデオ復号部804、ビデオPTS取得部805、ビデオPTS保持部806、ビデオPTS比較部807、同期制御部811、リファレンスクロック部812、オーディオ時間管理部813、及びビデオ時間管理部814を備える。
転送部801、多重分離部802、オーディオ復号部803、オーディオPTS取得部808、オーディオPTS保持部809、オーディオPTS比較部810、ビデオ復号部804、ビデオPTS取得部805、ビデオPTS保持部806、ビデオPTS比較部807、同期制御部811、及びリファレンスクロック部812は、それぞれ、実施の形態1に係る同期再生装置100における、転送部101、多重分離部102、オーディオ復号部103、オーディオPTS取得部108、オーディオPTS保持部109、オーディオPTS比較部110、ビデオ復号部104、ビデオPTS取得部105、ビデオPTS保持部106、ビデオPTS比較部107、同期制御部111、及びリファレンスクロック部112と同様の機能を有する。
オーディオ時間管理部813は、予め設定していた時間になった際に同期制御部811にオーディオタイムアウト信号を通知するものである。
ビデオ時間管理部814は、予め設定していた時間になった際に同期制御部811にビデオタイムアウト信号を通知するものである。
オーディオ時間管理部813、ビデオ時間管理部814に設定できる時間は個別に与えることが可能である。
(2−2.動作)
図9は本実施の形態2における、エントリポイントに対応するフレーム検索時のタイムアウト処理動作を示すフローチャートである。
なお、ビデオフレームの開始データ決定までの動作は実施の形態1の図5で示した動作と同様である。
オーディオフレームの開始データ決定までの動作は実施の形態1の図6で示した動作と同様である。また、ビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作は実施の形態1の図7で示した動作と同様である。
図9に示す動作は、図5〜7に示す動作に付随して実行される。
ここで、ビデオ時間管理部814に設定していた時間をTev、オーディオ時間管理部813に設定していた時間をTeaとする。時間Tev、時間Teaは、転送されるストリームに対して、エントリポイントと一致するフレームを十分に検出可能な時間が与えられているものとする。
ステップS901にて、同期制御部811がオーディオ時間管理部813からタイムアウト信号を受信した場合(ステップS901:YES)、後述するステップS902に移り、逆にそうでない場合は、後述するステップS904に移る。
ステップS902では、同期制御部811がビデオフレームの出力準備完了フラグが立っていると判定したならば、後述するステップS903に移り、そうでないならば処理を終了する。
ビデオフレームの出力準備が完了しているのであれば(ステップS902:YES)、ステップS903において、同期制御部811は、ビデオ復号部804に再生指示を出し、同時に、ビデオPTSでリファレンスクロック部812の補正を行う。なお、ビデオPTSの補正処理は、ビデオ再生の出力タイミングであるフレーム周期で行う。
オーディオ時間管理部813からタイムアウト信号は受信していない(ステップS901:NO)が、ステップS904にて、同期制御部811からタイムアウト信号を受信した場合、後述するステップS905に移り、逆にそうでないならば処理は終了する。
ステップS905では、同期制御部811がオーディオの出力準備完了フラグが立っていると判定したならば、後述するステップS906に移り、そうでないならば処理を終了する。
次いで、ステップS906において、同期制御部811は、オーディオ復号部803に再生指示を出し、同時に、オーディオPTSでリファレンスクロック部812の補正を行う。なお、オーディオPTSの補正処理は、オーディオ再生の出力タイミングであるフレーム周期で行う。
以上のように、本発明の実施の形態2による同期再生装置によれば、エントリポイントと一致するフレームの検索の際に上限時間をオーディオフレームとビデオフレームで個別管理することで、再生開始時、片方のみのデータしか存在しない場合、開始データ検索時間の長いほうに影響を受けることなくフレームの出力することが可能である。例えば、オーディオフレームの開始データ検索時間<ビデオフレームの開始データ検索時間の場合、ビデオフレームの開始データ発見後、オーディオフレーム側の上限時間経過後に出力することが可能である。
(3.実施の形態3)
次に、本発明の実施の形態3について説明する。
実施の形態3では、エントリポイントと対応するビデオフレーム及びオーディオフレームの検索を行う際、ストリームに含まれるPCR(後述する)を利用する点で、実施の形態1とは異なる。
以下、実施の形態3について、実施の形態1と異なる点を中心に説明する。
(3−1.構成)
図10は実施の形態3による同期再生装置1000の構成を示す図である。
同期再生装置1000は、転送部1001、不連続検出部1002、多重分離部1003、オーディオ復号部1004、オーディオPTS取得部1005、オーディオPTS保持部1006、オーディオPTS比較部1007、ビデオ復号部1008、ビデオPTS取得部1009、ビデオPTS保持部1010、ビデオPTS比較部1011、同期制御部1012、及びリファレンスクロック1013を備える。
転送部1001、多重分離部1003、オーディオ復号部1004、オーディオPTS取得部1005、オーディオPTS保持部1006、オーディオPTS比較部1007、ビデオ復号部1008、ビデオPTS取得部1009、ビデオPTS保持部1010、ビデオPTS比較部1011、同期制御部1012、及びリファレンスクロック1013は、それぞれ、実施家の形態1に係る同期再生装置100における、転送部101、多重分離部102、オーディオ復号部103、オーディオPTS取得部108、オーディオPTS保持部109、オーディオPTS比較部110、ビデオ復号部104、ビデオPTS取得部105、ビデオPTS保持部106、ビデオPTS比較部107、同期制御部111、及びリファレンスクロック部112と同様の機能を有する。
不連続検出部1002は、MPEG2−TSストリームに付随するPCR(後述する)の不連続性を検出するものである。不連続検出部1002は、所定時間毎に送られてくるPCRに対して、現PCRと前PCRとの差分を比較することで不連続を検出し、不連続を検出したときのPCR値を、ビデオPTS比較部1011及びオーディオPTS比較部1007に通知する。また、図示しないが不連続検出部1002はバッファを有しており、不連続を検出したときのPCR値を当該バッファで保持する。
(3−2.データ)
ここで、MPEG2−TSストリームに付随するPCRについて、図12を用いて説明する。
MPEG2−TSストリームにおいて、STCの時間に合わすために、所定時間ごとに、PCR(Program Clock Reference)が送られる。TSパケット501においてアダプテーションフィールド508が含まれているものがある。アダプテーションフィールド508は、個別ストリームに関する付加情報を伝送するもので、さらにアダプテーションフィールド508内のオプションフィールド(Option Field)509に、6バイトのPCRが配される。
(3−3.動作)
図12及び図13は本実施の形態3による同期再生装置1000におけるエントリポイント再生開始の動作手順を示すフローチャートであり、以下、図12及び図13のフローチャートに従って、再生開始までの動作を詳しく説明する。
まず、図12に示す動作は、再生開始指示のあったエントリポイントに対応するビデオフレームを検索し、検索した結果、当該エントリポイントに対応するビデオフレームが欠落していた場合に、当該ビデオフレームの近辺の最適なフレームを決定する動作である。ここで、この最適なビデオフレームのことを「フェイルセーフデータ」と呼ぶ。
外部からビデオ用エントリポイント値が設定され、ビデオフレーム出力完了フラグが“0”クリアされて処理が開始する。
まず、ステップS1101にて、転送部1001に対してストリーム供給要求を出す。ここで、この要求を受けて、転送部1001は、エントリポイントを含んだ多重ストリームを不連続検出部1002への転送を行う。多重分離部1003は、バッファを持っており、多重ストリームはそのバッファに格納される。転送部1001は、多重分離部1003が持つバッファのオーバーフロー管理も行い、オーバーフローしそうな場合は、多重ストリームの転送を停止し、バッファの空きがでた時点で多重ストリームの転送を再開する。バッファは、以下に記述するオーディオフレームのスキップ処理、復号処理またはビデオフレームのデコード処理によって消費されていくものとする。
次いで、ステップS1102にて、不連続検出部1002は、多重ストリームのTSパケットのPCRを検索していき不連続が発生した情報を保持する。なお、不連続の判定は、(数5)に示す。条件が成立した場合、後述するステップS1103に移る。条件が成立しない場合、後述するステップS1104に移る。(数5)においての、現PCRは、今回検出されたTSパケットにおけるPCR、前PCRは、前回検出されたTSパケットにおけるPCR、Yaは閾値である。Yaは、PCR送出周期より大きく与えられるのが望ましい。
(数5)
現PCR値−前PCR値<0 または 現PCR値−前PCR値>Ya
現PCRと前PCRとが不連続である場合(ステップS1102:YES)、ステップS1103にて、不連続検出部1002は、TSパケットの不連続点であるPCRを保持し、またビデオPTS比較部1011に転送する。また、不連続検出部1002は、多重ストリームを多重分離部1003に転送する。
上述したステップS1102〜S1103におけるPCRの取得及び判定処理は、転送部1001からストリームが転送されるたびに実行される。
次いで、ステップS1104にて、多重分離部1003は、転送されたPESパケットが先頭PESパケットである場合は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。なお、先頭PESパケットに続くPESパケットについては、当該ステップS1104で検出はされずにステップS1105に移る。
次いで、ステップS1105にて、多重分離部1003は、ビデオ符号化データとビデオPTSを抽出し、ビデオ符号化データは、ビデオ復号部1008へ転送され、ビデオPTSは、PTS取得部1009へ転送される。
次いで、ステップS1106にて、ビデオPTS取得部1009は、多重分離部1003から転送されたPTSを同期制御部1012へ転送すると同時に、ビデオPTS保持部1010へ転送する。
次いで、ステップS1107にて、同期制御部1012は、外部から指定されたエントリポイント値とビデオPTS取得部1009が管理する現PTSを比較し、エントリポイントに相当するビデオフレームかどうかを判断する。エントリポイントに相当するビデオフレームと判定された場合は、後述するステップS1108に移る。
エントリポイントに相当するビデオフレームと判定されなかった場合は、後述するステップS1110に移る。
ここで、エントリポイント判定は次の条件式である(数6)を用いる。つまり、この条件式が成立する場合、エントリポイントに相当するフレームとして判定する。この条件式において、EPv3は外部から設定されたエントリポイントを、Tv3はフレーム単位時間、PTSnv3はステップS1105にて抽出されたビデオPTSを示す。Tv3はビデオフレームの1フレーム単位時間を使用する。例えば、1フレーム単位時間は、15fpsで66ms、30fpsで33msとなる。ただし、この数式はあくまで例であり、これに限定されるものではない。
(数6)
EPv3−1/2×Tv3<PTSnv1≦EPv3+1/2×1/2×Tv3
エントリポイント値と現PTSが一致した場合(ステップS1107:YES)、ステップS1108にて、同期制御部1012は、ビデオ復号部1008に対して復号許可信号を通知し、ビデオ復号部1008は、同期制御部1012からの復号許可指示によりビデオ符号化データの復号処理を行う。復号化されたビデオフレームは、ビデオ復号部1008内のフレームバッファに格納される。
次いで、ステップS1109にて、ステップ1108でのビデオの復号処理の完了後、ビデオフレームの出力準備完了フラグを立てる。
一方、エントリポイント値と現PTSが一致しない場合(ステップS1107:NO)、ステップS1110にて、ビデオPTS比較部1011は、ビデオPTS取得部1009で取得されたPTS(以下、現PTS)とビデオPTS保持部1010で保持された前回のビデオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数7)を用いる。この条件式が成立する場合、ギャップを検出したフレームとして判定し、後述するステップS1111に移る。逆にギャップと判定されない場合、後述するステップS1113に移る。なお、この処理は、最初のビデオフレームにおいては、ビデオPTS保持部1010には前PTSは保持されていないため、行わない。Xv3は外部から設定される閾値で、ギャップと判断するための値である。Xv3は、フレーム周期より大きく与えられるのが望ましい。
(数7)
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xv3
ギャップ判定において条件式(2)が成立する場合(ステップS1110:YES)、ステップS1111にて、PTS比較部1011は、ギャップを検出したPTSと不連続検出部1002で保持されている(ステップS1103)PCRとを比較して条件式(数8)が成立した場合(ステップS1111:YES)、後述するステップS1113へ移り、成立しない場合、後述するステップS1112へ移る。Zは、TSパケットにおけるPCRの送出周期とオーディオフレームとビデオフレームのインタリーブを想定した値が望ましい。例えば、ワンセグ運用上では、MPEG2ーTSにおけるPCRの送出周期は400ms以内、オーディオフレームとビデオフレームのインタリーブ間隔は1.5秒程度なので、2秒程度の値を与えるのが妥当である。
(数8)
−Z<PCR−現PTS値<Z
条件式(数8)が成立しない場合(ステップS1111:NO)、ステップS1112にて、ギャップを検出したビデオフレームは、フェイルセーフデータであるとし、ステップS1108に移る。
次いで、ステップ1113にて、ビデオ復号部1008は、ビデオPTS比較部1011からの指示により、ビデオ符号化データの復号処理を行い、ステップS1114に移る。
次いで、ステップS1114にて、ビデオPTS保持部1010は、現PTS値を前PTSとして置き換える。つまり、現PTSを次のビデオフレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS1105の処理に移り処理を継続する。
次に、図13に示す動作は、再生開始指示のあったエントリポイントに対応するオーディオフレームを検索し、検索した結果、当該エントリポイントに対応するオーディオフレームが欠落していた場合に、当該オーディオフレームの近辺の最適なフレームを決定する動作である。ここで、この最適なオーディオフレームのことを「フェイルセーフデータ」と呼ぶ。
処理が開始されると、外部からオーディオ用エントリポイント値が設定され、オーディオフレーム出力完了フラグが“0”クリアされる。
まず、ステップS1201にて、転送部1001に対してストリーム供給要求を出す。この要求を受けて、転送部1001は、エントリポイントを含んだ多重ストリームを不連続検出部1002への転送を行う。
次いで、ステップS1202にて、不連続検出部1002は、多重ストリームのTSパケットのPCRを検索していき不連続が発生した情報を保持する。なお、不連続の判定は、(数5)に示す。条件が成立した場合、後述するステップS1203に移る。条件が成立しない場合、ステップS1204に移る。
現PCRと前PCRとが不連続である場合(ステップS1102:YES)、ステップS1203にて、不連続検出部1002は、TSパケットの不連続点であるPCRを保持し、またオーディオ用PTS比較部1007に転送する。また、不連続検出部1002は、多重ストリームを多重分離部1003に転送する。
上述したステップS1202〜S1203におけるPCRの取得及び判定処理は、転送部1001からストリームが転送されるたびに実行される。
次いで、ステップS1204にて、多重分離部1003は、転送されたPESパケットが先頭PESパケットである場合は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。なお、先頭PESパケットに続くPESパケットについては、当該ステップS1204で検出はされずにステップS1205に移る。
次いで、ステップS1205にて、多重分離部1003は、オーディオ符号化データとオーディオPTSを抽出し、オーディオ符号化データは、オーディオ復号部1004へ転送され、オーディオPTSは、オーディオPTS取得部1005へ転送される。
次いでステップS1206にて、オーディオPTS取得部1005は、多重分離部1003から転送されたPTSを同期制御部1012へ転送するのと同時に、オーディオ保持部1006へ転送する。
次いでステップS1207にて、同期制御部1012は、外部から指定されたエントリポイント値とオーディオPTS取得部1005が管理する現PTSとの比較を行い、エントリポイントに相当するオーディオフレームかどうかを判断する。エントリポイントに相当するオーディオフレームと判定された場合は、後述するステップS1208に移る。
逆にエントリポイントに相当するフレームと判定されなかった場合(ステップS1207:NO)は、後述するステップS1210に移る。
ここで、エントリポイント判定は次の条件式である(数9)を用いる。(数9)において、EPa3は外部から設定されたエントリポイントを、Ta3はフレーム単位時間、PTSna3はステップ1206で抽出されたオーディオPTSを示す。Ta3はオーディオフレームの1フレーム単位時間を使用する。例えば、AAC24kHzの場合、42ms、AAC48kHzの場合、22msが与えられる。ただし、この数式はあくまで例であり、これに限定されるものではない。
(数9)
EPa3−1/2×Ta3<PTSna3≦EPa3+1/2×1/2×Ta3
エントリポイント値と現PTSが一致した場合(ステップS1207:YES)、ステップS1208にて、同期制御部1012は、オーディオ復号部1004に対して復号許可信号を通知し、オーディオ復号部1004は、同期制御部1012からの復号許可信号によりオーディオ符号化データの復号処理を行う。復号化されたオーディオフレームは、オーディオ復号部1004内のフレームバッファに格納される。
ステップS1209にて、ステップ1208でのオーディオの復号処理の完了後、オーディオフレームの出力準備完了フラグを立てる。
一方、エントリポイント値と現PTSが一致しない場合(ステップS1207:NO)、ステップS1210にて、オーディオPTS比較部1007は、オーディオPTS取得部1005で取得されたPTS(以下、現PTS)とオーディオPTS保持部1006で保持されたPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数10)を用いる。この条件式が成立する場合、ギャップを検出したオーディオフレームとして判定し、後述するステップS1211に移る。逆にギャップと判定されない場合、後述するステップS1213に移る。なお、この処理は、最初のオーディオフレームにおいては、PTS保持部1006には前PTSは保持されていないため行わない。Xa3は外部から設定される閾値で、ギャップと判断するための値である。Xa3は、フレーム周期より大きく与えられるのが望ましい。
(数10)
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xa3
ギャップ判定において条件式(2)が成立する場合(ステップS1210:YES)、ステップS1211にて、オーディオPTS比較部1007は、ギャップを検出したPTSと不連続検出部1002で保持されている(ステップS1203)PCRとを比較して条件(数8)が成立した場合(ステップS1211:YES)、後述するステップ1S212へ移り、成立しない場合、後述するS1213へ移る。
条件式(数8)が成立しない場合(ステップS1211:NO)、ステップS1212にて、ギャップを検出したオーディオフレームは、フェイルセーフデータであるとし、ステップS1208に移る。
次いで、ステップS1213にて、オーディオ復号部1004は、オーディオPTS比較部1007からの指示により、オーディオ符号化データのスキップ処理を行い、ステップS1214に移る。
次いで、ステップS1214にて、オーディオPTS保持部1006は、現PTS値と前PTSを置き換える。つまり、現PTSを次のオーディオレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS1205の処理に移り処理を継続する。
なお、ビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作は、実施の形態1における図7に示す動作と同様である。
以上のように、本発明の実施の形態3による同期再生装置によれば、PCRを利用してTSパケットの不連続検出させることで、TSパケットのデータ抜けの不連続とPTSのビット誤りによる不連続を区別することが可能となる。TSパケットのデータ抜けによる不連続は、外部ブロック(例えば、上位ソフトウェア)で判断可能であるため、データ抜けの部分は、エントリポイントとして指定されないことが想定される。実施の形態3によれば、TSパケットのデータ抜けの不連続は、開始データ検索処理を停止してフェイルセーフデータから再生することなく、検索処理を継続させることができる。
(4.実施の形態4)
次に、本発明の実施の形態4について説明する。
実施の形態4による同期再生装置は、実施の形態1と同様の構成を有しているが、ビデオフレームとオーディオフレームの再生中にフレーム欠損に係る処理を行う点で、実施の形態1と異なる。ここでは、図1に示した同期再生装置100と同様の部分については説明を省略し、再生中の動作について重点的に説明する。
(4−1.構成)
以下、実施の形態1で説明した構成と異なる点について説明する。
再生中、まず、転送部101より転送される多重ストリームは、多重分離部102においてビデオPESデータとオーディオPESデータに分離される。ビデオPESデータはビデオPTSと、ビデオ符号化データを抽出後、ビデオ復号部104とビデオPTS取得部105に転送される。また、オーディオPESデータはビデオPES同様、オーディオPTSと、オーディオ符号化データを抽出し、オーディオ復号部103、オーディオPTS取得部108に転送される。
オーディオ復号部103は、独自のクロックを持ってフレーム周期で動作しており、フレーム周期の先頭で1フレーム分の符号化データの取得を行い、同期制御部111からの制御信号の状態に応じて復号処理動作を決定する機能を有する。具体的には、同期制御部111からの制御信号が復号許可の場合は、復号処理を行って復号結果を出力する。制御信号が復号停止の場合は復号処理を停止し出力を停止する。また、制御信号が破棄の場合は、現フレームの符号化データを破棄、すぐさま次フレームのデータを取得し、次の同期制御部111からの制御信号の状態に応じて復号処理動作を決定する。
ビデオ復号部104も、オーディオ復号部103同様、独自のクロックを持ってフレーム周期で動作しており、フレーム周期の先頭で1フレーム分の符号化データの取得を行い、同期制御部111からの制御信号の状態に応じて復号処理動作を決定する機能を有する。具体的には、同期制御部111からの制御信号が復号許可の場合は復号処理を行って復号結果を出力し、同時に次のフレームのデータを取得する。制御信号が復号停止の場合は復号処理を停止し出力を停止する。さらに制御信号がデータ破棄の場合は、現フレームの符号化データをデコードした後に次フレームのデータを取得し、次の同期制御部111からの制御信号の状態に応じて復号処理動作を決定する。
ここで、データ破棄の場合もデコード処理を行うことの意味するところは以下の通りである。
MPEGなどに代表される動画圧縮符号データの復号処理では、前フレームを参照しながら復号処理をする必要がある。そのため、復号処理せずしてフレームデータの破棄を行った場合、破棄したフレームの次のフレームが正常に復号できない可能性があるためである。
オーディオPTS取得部108は、多重分離部102から転送されたオーディオPTSを取得し、オーディオ復号部103が符号化データを取得するタイミングで、オーディオPTSを同期制御部111へ転送する機能を有する。
ビデオPTS取得部105は、多重分離部102から転送されたビデオPTSを取得し、ビデオ復号部104が符号化データを取得するタイミングで、ビデオPTSを同期制御部111へ転送する機能を有する。
同期制御部111では、オーディオPTS取得部108からオーディオPTSを取得するとリファレンスクロック部112からリファレンスクロック(以下、STCとも表記)を取得し、STCとPTSを比較することで、オーディオ復号部103に制御信号を送信する機能を有する。また、ビデオPTS取得部105からビデオPTSを取得するとリファレンスクロック部112からSTCを取得し、STCとPTSを比較することで、ビデオ復号部104に制御信号を送信する。
また、同期制御部111では、マスタとして動作しているデータのPTSがSTCに対し同期している判断した場合に、リファレンスクロックを補正するためのPTSをリファレンスクロック部112へ転送する機能を有する。
さらに、同期制御部111では、現在のマスタがオーディオであるか、ビデオであるかを管理しているとともに、オーディオ、ビデオがそれぞれリファレンスクロックに対し同期しているか否かを示す同期制御状態を管理している。
リファレンスクロック部112は、同期制御部111から転送されたPTSを受け内部クロックを補正する機能を有する。
(4−2.動作)
以下、再生中における、同期制御部111が行う同期制御処理について図14を用いて説明を行う。尚、ここではビデオ符号化データの同期制御について説明するが、当然、同様の処理をオーディオ符号化データの復号処理に適用することも可能である。その場合、図14においてビデオと表記されている部分はオーディオに、オーディオと表記されている部分はビデオに変換すればよい。
図14に示すように、まず、同期制御部111へビデオPTS取得部105からビデオPTSが転送されてきたタイミングで開始する。
同期制御部111へビデオPTS取得部105からビデオPTSが転送されてくると、ステップS1601にてPTSを取得する。
次いで、ステップS1602にてリファレンスクロック部112から現在の時刻であるSTCを取得する。
次いで、ステップS1603にて次式(数11)を判定する。
(数11)
|PTS―STC|<t1
ここでt1はシステムまたはデータごとに決定できる固定値である。
(数11)を満たす場合(ステップS1603:YES)には、そのPTSは同期していると判断し、後述のステップS1604へ移る。(数11)を満たしていない場合(ステップS1603:NO)には、同期していないと判断し、後述のステップS1608以降の同期外れ処理へ移る。
ここで、PESパケット内には、1パケット内に複数のオーディオフレーム、またはビデオフレームが存在する場合がある。この場合には、多重分離部102から送られてきたPTSは、そのパケットの先頭のフレームiに対応するものであるので、パケット内の2番目以降のフレームi+1とi+2についてはPTSが存在しない。このような場合、ビデオPTS取得部105は、PTSが存在しないフレームに対し、ビデオフレーム内のフレームレートに関するパラメータあるいは、あらかじめ規定されたフレームレートを用いてPTS値を補間する。オーディオフレームにおいても同様で、オーディオPTS取得部108が、PTSが存在しないフレームに対し、オーディオフレーム内のフレームレートに関するパラメータあるいは、あらかじめ規定されたフレームレートを用いてPTS値を補間する。
尚、上記(数11)の意味するところは以下の通りである。
ビデオフレームと同期を取るためには、STC=PTSとなった瞬間に出力を開始することが必要であるが、リファレンスクロックの読み出し処理はソフトウェアで実現する場合には処理時間にばらつきが発生する可能性があるため、厳密にSTC=PTSとなるSTCをタイミングよく読み込むことは難しい。このため、同期制御部111がビデオ復号部104に復号許可を与える条件として、(数11)を満足させることで、判断処理に冗長を持たせている。
(数11)を満たす場合(ステップS1603:YES)、ステップS1604にてビデオ復号部104に対し、復号許可信号を送信する。これにより、ビデオ復号部104は復号処理を行い復号結果のオーディオ再生データの出力を行う。
次いで、ステップS1605にて、現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1606にて、ビデオが現在のマスタであると判定された場合(ステップS1606:YES)は、リファレンスクロック部112へ同期と判定したPTS値を転送する。リファレンスクロック部112では、転送されたPTSをもとに内部クロックの補正処理を行う。
ビデオがマスタではないと判定された場合(ステップS1606:NO)には、ステップS1608へ移行する。
次いで、ステップS1608にて、PTSがリファレンスクロックと同期状態であると判断されたため、後述する自走カウンタのクリアと、さらに同期制御状態を同期状態に遷移させ、同期制御処理を終了する。
一方、(数11)を満たさない場合(ステップS1603:NO)、ステップS1609にて次式(数12)が成り立つか否かを判定する。
(数12)
0<STC―PTS<t2
ここでt2はシステムまたはデータごとに決定できる固定値である。
上記(数12)を満たす場合(ステップS1609:YES)は、復号化しようとするフレームが再生時刻よりもすでに遅れていることを意味するため、当該フレームを破棄しすぐに次フレームの処理へ遷移することで遅れを取り戻す。すなわち、ステップS1610にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
尚、再生時刻よりも既に遅れている場合、本実施例では1フレーム分のデータ破棄を復号部へ指示しているが、STCに対する遅れ時間が大きい場合、複数フレーム分のデータ破棄を指示するようにしてもよい。
上記(数12)を満たさない場合(ステップS1609:NO)は、後述するステップS1611へ移る。
ステップS1611では、次式(数13)を判定する。
(数13)
0<(PTS―STC)<t3
ここでt3はシステムまたはデータごとに決定できる固定値である。
上記(数13)を満たす場合(ステップS1611:YES)は、復号化しようとするフレームが再生時刻よりも進んでいることを意味するため、当該フレームの復号化処理を停止させることで進みをなくす。すなわち、ステップS1612にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1613で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信する。
一方、上記(数13)を満たさない場合(ステップS1611:NO)は、PTSが誤っているか不連続になっていると想定され、後述するステップS1614以降の自走処理へ移る。
自走処理では以下の処理を行う。
ステップS1614では、自走カウンタ値に対し次式(数14)を判定する。
(数14)
自走カウンタ<M
ここで、自走カウンタとは、判定ステップS1603、ステップS1609、ステップS1611のいずれも満たされない場合に自走処理を行ったフレーム数をカウントするカウンタであり、開始時と判定ステップS1603が満たされた場合、すなわちSTCとPTSが同期していると判定された場合に0にクリアされるカウンタである。
また、Mはシステムまたはデータごとに決定できる固定値である。
(数14)を満たす場合(ステップS1614:YES)は、ステップS1615にてビデオ復号部104に対し、復号許可信号を送信し、当該フレームの復号処理と出力処理を行う。
次いで、ステップS1616にて自走カウンタを1インクリメント行う。
次いで、ステップS1629にてビデオの同期制御状態を自走状態に遷移させ、同期制御処理を終了する。
一方、(数14)を満たさない場合(ステップS1614:NO)は、ステップS1617以降の強制同期処理へ移る。
この自走カウンタ導入の意味するところは以下の通りである。
STCとPTSの差分が大きい場合、オーディオ、ビデオに時間的な不連続が発生したのか、PTS値にエラーが混入されたのかの区別がつかない。そこで、STCとPTSの差分が大きいフレームが継続されている状態が、一定フレーム数(上記数式ではMフレーム)未満の間はPTS値に誤りがあったと判断し自走処理を行う。しかし、一定フレーム数以上STCとPTSの差分が大きいフレームが継続された場合には、時間的な不連続が発生したと判断し強制同期処理へ移行する。
強制同期処理では以下の処理を行う。
まず、ステップS1617にて、ビデオの再生状態を強制同期状態に遷移させる。
次いで、ステップS1618にて現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1619にて、ビデオが現在のマスタかどうかを判定する。
ビデオマスタであると判定された場合(ステップS1619:YES)、ステップS1620にてリファレンスクロック部112へPTS値を転送する。リファレンスクロック部112では、転送されたPTSをもとに内部クロックの補正処理を行う。すなわち、マスタの場合における強制同期処理とはリファレンスクロックの補正を意味する。
次いで、ステップS1621にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
一方、ビデオマスタでないと判定された場合(ステップS1619:NO)は、ステップS1622へ移る。
ステップS1622では、マスタの同期状態を取得する。
次いで、ステップS1623にてマスタの同期制御状態が同期状態かどうかを判定する。
同期状態ではない場合(ステップS1623:YES)、ステップS1624にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
ここで、マスタの同期制御状態判定の意味するところは以下の通りである。
マスタが同期状態ではなく自走状態、または強制同期状態の場合は、マスタは同期が取れていない状態である。そのため、リファレンスクロックはマスタのPTSによって補正されていないため、信頼できる状態ではない。そのため、マスタが同期状態になるまで待つ必要がある。
一方、同期状態の場合(ステップS1623:NO)、ステップS1625にて次式(数15)を判定する。
(数15)
PTS<STC
上記(数15)を満たす場合(ステップS1625:YES)、すなわちPTSよりSTCの方が大きい場合は、PTSは遅れていると判断されるので、ステップS1626にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
一方、(数15)を満たさない場合(ステップS1625:NO)、すなわちSTCよりPTSの方が大きい場合は、ステップS1627にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1628で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信し、処理を終了する。
上記フローチャートにおける強制同期部分の詳細動作を図15のタイミングチャートを用いて示す。
図15はビデオストリーム、オーディオのストリームに時間的不連続が発生している場合に、本実施例を適用した場合のタイミングチャートである。
この図15において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば、映像フレーム1801におけるPTSは42である。また、図15ではオーディオマスタ動作を例に挙げているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム1801と映像フレーム1802、また、音声フレーム1803と音声フレーム1804の間に時間飛びが発生している。さらに、(数13)における閾値t3は、ビデオ、オーディオともに10、(数14)における自走カウンタの閾値Mをビデオに関しては5フレーム、オーディオに関しては3フレームとする。
まず、ビデオ、オーディオ両方の同期制御状態が同期状態で再生している状態において、映像フレーム1802にてビデオの不連続が発生する。このとき映像フレーム1802とリファレンスクロックの差分は78であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0の状態のため、自走処理が行われる。
次に、音声フレーム1804において、オーディオの不連続が発生する。オーディオはマスタであるがビデオ同様、同期制御処理を行う。
音声フレーム1804とリファレンスクロックの差分は66であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0のため、自走処理となる。
オーディオが自走処理の間、リファレンスクロックは補正されず、リファレンスクロック部では内部時計が自走している状態となる。
次に、音声フレーム1805にてオーディオの自走カウンタが3となるため、(数14)を満たさず強制同期処理を行う。現在オーディオマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは126に補正される。
次に、映像フレーム1806での同期制御処理において、オーディオが同期状態に遷移しリファレンスクロックを補正したが、映像フレーム1806とリファレンスクロックの差分はまだ12であり、(数13)における閾値10を超えているため、自走処理は継続される。
次に、映像フレーム1807にてビデオの自走カウンタが5となるため、(数14)を満たさず強制同期を行う。映像フレーム1807においてPTSとSTCの差分は12なので、映像フレーム1708の復号処理を停止し12時間分待ちを行う。その間は映像フレーム1806が表示され続ける。12時間分待った後、映像フレーム1807は復号され表示される。以後、ビデオはリファレンスクロックと同期しながら再生される。
以上のように、本発明の実施の形態4による同期再生装置によれば、受信電波が悪い状況下などで記録された多重化ストリームにおいて、オーディオストリーム、またはビデオストリーム、あるいはオーディオビデオ両方のストリームに時間的不連続が発生した場合でも、再生を継続でき、さらに不連続点を通過したのちにオーディオフレーム及びビデオフレームの同期再生への復帰を早くすることができる。
さらに、自走カウンタを設け、閾値に応じて自走処理か強制同期処理かを判断できるようにすることにより、伝送エラーなどによるPTSに誤りが混入され、同期が取れない状態であっても不連続と判断せず自走させることでオーディオ、ビデオを途切れなく連続的に再生させることが可能である。
(5.実施の形態5)
次に、本発明の実施の形態5について説明する。
実施の形態5による同期再生装置は、実施の形態4と同様の構成を有しており、基本的な動作は同様であるが、再生中の同期制御において、強制同期処理に変更を加えた点で実施の形態4と異なる。ここでは、実施の形態4と異なる動作について重点的に説明する。
(4−1.動作)
以下、図16に基づいて実施の形態5における同期生再生装置の動作について説明する。
ここではビデオ符号化データの同期制御について説明するが、当然、同様の処理をオーディオ符号化データの復号処理に適用することも可能である。その場合、図16においてビデオと表記されている部分はオーディオに、オーディオと表記されている部分はビデオに変換すればよい。
図16は実施の形態5における同期制御処理を示すフローチャートである。
ステップS1701〜S1716の処理動作は、それぞれ、実施の形態4における図14に示すステップS1601〜S1616と同様のため、説明は省略する。
以下、ステップS1717の強制同期処理以降について、図16を用いて詳細に説明する。
まず、ステップS1717にて、自走と判断されたために、ビデオの同期制御状態を強制同期状態に遷移させる。
次いで、ステップS1718にて現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1719にて、ビデオが現在のマスタかどうかを判定する。
ビデオマスタであると判定された場合(ステップS1719:YES)、ステップS1720にてリファレンスクロック部112へPTS値を転送する。リファレンスクロック部112は、転送されたPTSをもとに内部クロックの補正処理を行う。
次いで、ステップS1721にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
一方、ビデオマスタでないと判定された場合(ステップS1719:NO)は、ステップS1722へ移る。
ステップS1722では、マスタの同期制御状態を取得する。
次いで、ステップS1723にてマスタの同期制御状態が同期状態かどうかを判定する。
同期状態でない場合(ステップS1723:YES)は、ステップS1724にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
マスタが同期状態の場合(ステップS1723:NO)、ステップS1725へ移る。
ステップS1725において、次式(数16)を判定する。
(数16)
PTS―STC<t4
ここでt4はシステムまたはデータごとに決定できる固定値である。
(数16)を満たす場合(ステップS1725:YES)には、ステップS1726に移る。
次いで、ステップS1726では、次式(数17)を判定する。
(数17)
PTS<STC
上記(数17)を満たす場合(ステップS1726:YES)、すなわちPTSよりSTCの方が大きい場合は、PTSは遅れていると判断されるので、ステップS1727にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
(数17)を満たさない場合(ステップS1726:NO)、すなわちSTCよりPTSの方が大きい場合は、ステップS1728にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1729で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信し処理を終了する。
一方、(数16)を満たさない場合(ステップS1725:NO)は、まず、ステップS1730にて自走カウンタをクリアする。
次いで、ステップS1731にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1732にてt5時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信する。
尚、(数17)において、PTSよりSTCの方が大きい場合、すなわちPTSがSTCより遅れていると判断された場合、本実施例では1フレーム分のデータ破棄を復号部へ指示しているが、複数フレーム分のデータ破棄を指示してもよい。さらに、STCとPTSの差分時間分のデータ破棄を行うのではなく、t5時間分のデータを破棄することも可能である。
また、この強制同期処理ステップにおいて、PTSとSTCの差分値がt4以上の場合も、同期制御を行う範囲をt5にすることの意味するところは以下の通りである。
すなわち、ステップS1714における「(数18)自走カウンタ<M」の判定が満たされなかった場合(ステップS1714:NO)において、伝送エラーなどの要因によりPTS値が誤っている場合、あるいは、オーディオストリーム又はビデオストリームの時間的不連続状態が短時間に繰り返されるような場合、STCとPTSの差分値に対してステップS1728の処理を行うと差分値が巨大な値になる可能性がある。結果、長時間の待ち時間が発生、あるいは長時間分のデータが破棄される可能性がある。このような状況を防ぐために導入される。
上記フローチャートにおける強制同期制御の詳細動作を図17のタイミングチャートを用いて示す。
図17はビデオストリーム、オーディオビデオのストリームに時間的不連続が繰り返し発生している場合に、本実施例を適用した場合のタイミングチャートである。
この図17において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば映像フレーム1901におけるPTSは42である。また、図17ではオーディオマスタ動作を例に挙げているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム1901と映像フレーム1902、また、音声フレーム1903と音声フレーム1904の間に時間飛びが発生している。さらに、映像フレーム1905と映像フレーム1906、また、音声フレーム1908と音声フレーム1909の間にも不連続が発生している。
(数13)における閾値t3は、ビデオ、オーディオともに10、(数18)における自走カウンタの閾値Mをビデオに関しては5フレーム、オーディオに関しては3フレームとする。また、(数16)における閾値t4をオーディオ、ビデオともに20、STCとPTSの差分固定時間t5を10とする。
まず、ビデオ、オーディオ両方の同期制御状態が同期状態で再生している状態において、映像フレーム1902にてビデオの不連続が発生する。このとき映像フレーム1902とリファレンスクロックの差分は78であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0の状態のため、自走処理が行われる。
次に、音声フレーム1904において、オーディオの不連続が発生する。オーディオはマスタであるがビデオ同様、同期制御処理を行う。
音声フレーム1904とリファレンスクロックの差分が66であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0のため、自走処理となる。
オーディオが自走処理の間、リファレンスクロックは補正されず、リファレンスクロック部では内部時計が自走している状態となる。
次に、音声フレーム1905にてオーディオの自走カウンタは3となるため、(数14)を満たさず強制同期処理を行う。現在オーディオがマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは126に補正される。
次に、映像フレーム1906にて再び不連続が発生するが、自走カウンタは3のため自走は継続される。
次に、映像フレーム1907にてビデオの自走カウンタが5となるため、(数18)を満たさず強制同期処理を行う。このとき、映像フレーム1907においてPTSは425、STCは133であり、差分が292なので、強制同期用閾値t4=20を超えている。そのため、待ち時間をt5=10に変換して映像フレーム1907の復号処理を停止し10時間分待ちを行う。10時間分待った後、映像フレーム1907は復号され表示されるが、次の映像フレーム1911でのPTSとSTCの差分は11となり、まだ閾値10を超えている。自走カウンタは0の状態のため、自走処理となり再度自走カウンタのカウントアップが始まる。
また、音声フレーム1909にてオーディオが再び不連続が発生する。音声フレーム1909のPTSとSTCとの差分が371であることから、(数13)における閾値t3=10を超えているため、自走処理となる。
音声フレーム1910にてオーディオの自走カウンタは3となり、(数18)を満たさず強制同期処理を行う。現在オーディオがマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは409に補正される。
次に、映像フレーム1912にてビデオの自走カウンタが5となり、(数18)を満たさず強制同期処理を行う。このとき、映像フレーム1912においてPTSは450、STCは439であり、差分が11なので、(数13)における閾値t3=10を越えているため強制同期処理を行う。すなわち、映像フレーム1912の復号処理を停止し11時間分待ちを行う。11時間分待った後、映像フレーム1912は復号され表示される。以後、ビデオはリファレンスクロックと同期しながら再生される。
以上のように、本発明の実施の形態5による同期再生装置によれば、伝送エラーなどによりストリームにエラーが混入された場合や、オーディオまたは、ビデオのストリーム、あるいはオーディオビデオ両方のストリームに時間的な不連続が繰り返し発生するような場合、あるいは、連続とPTS誤りが同時に発生するような場合において、ストリームの異常発生部分を停止させることなく再生でき、オーディオ、ビデオの同期再生へ復帰を短時間で行うことできる。
また、強制同期処理を複数回に分けて実行することから、長時間の強制同期処理を行う必要がある場合において、長時間同じフレームが再生出力されっぱなしになる時間を短縮することができ、ユーザが強制同期処理中の映像を視聴したときの違和感を軽減することができる。
(6.実施の形態6)
次に、本発明の実施の形態6について説明する。
実施の形態6による同期再生装置は、実施の形態5と同様の構成を有しており、基本的な動作は同様であるが、再生中の同期制御において、自走処理に変更を加えた点で実施の形態5と異なる。ここでは、実施の形態5と異なる動作について重点的に説明する。
(6−1.動作)
以下、図18に基づいて実施の形態6における同期生再生装置の動作について説明する。
ここではビデオ符号化データの同期制御について説明するが、当然、同様の処理をオーディオ符号化データの復号処理に適用することも可能である。その場合、図18においてビデオと表記されている部分はオーディオに、オーディオと表記されている部分はビデオに変換すればよい。
図18は実施の形態6における同期制御処理を示すフローチャートである。
ステップS2001〜S2033の処理動作は、それぞれ、実施の形態5における図16に示すステップS1701〜S1733と同様のため、説明は省略する。
以下、自走処理中のステップS2034〜S2039の処理について、図20を用いて詳細に説明する。
まず、ステップS2034において、次式(数19)を判定する。
(数19)
自走カウンタ>N
ここでNはシステムまたはデータごとに決定できる固定値であるが、Mよりも小さい。
(数19)を満たさない場合(ステップS2034:NO)には、ステップS2014に移り、実施の形態5と同じ処理となる。
(数19)を満たす場合(ステップS2034:YES)には、ステップS2035に移る。
ステップS2035では、現在のリファレンスクロックのマスタを取得する。
次いで、ステップS2036にて、現在ビデオマスタであると判定された場合、ステップS2037へ移る。ビデオマスタではない場合はステップS2015へ移る。
ステップS2037では、オーディオの同期制御状態を取得する。
次いで、ステップS2038にて、オーディオの同期制御状態が同期状態でない場合(ステップS2038:NO)はステップS2015へ移り、同期状態である場合(ステップS2038:YES)、ステップS2039へ移る。
ステップS2039では、マスタをオーディオに切り替える。
この自走処理ステップにおいて、自走カウンタがN以上になった場合にマスタの切替制御を行うことの意味するところは、以下の通りである。
記録されたストリームにおいて、マスタのストリーム(例えば、オーディオストリーム)のみに不連続が発生し、他方には不連続が発生していない場合、マスタが不連続後の強制同期処理を行うと、リファレンスクロックの補正を行うことになる。すなわち、リファレンスクロックにも不連続が発生することになる。結果、マスタではないストリーム(オーディオがマスタであれば、ビデオストリーム)は、リファレンスクロックに同期するように動作するため、不連続がないストリームにもかかわらず、同期制御処理によりデータの破棄や待ちが発生し連続再生されない。このような他方にのみ、特にマスタに指定されるストリームのみに、不連続がある場合において、不連続がない他方のストリームを滑らかに再生できるようにマスタ切替制御を導入している。
上記図18のフローチャートにおけるマスタ切替制御を図19のタイミングチャートを用いて示す。
図19はオーディオストリームに時間的不連続が発生しており、同期状態中はオーディオマスタで動作している場合に、本実施例を適用した場合のタイミングチャートである。
この図19において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば、音声フレーム2101におけるPTSは39である。また、図19ではオーディオマスタ動作を想定しているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、音声フレーム2101と音声フレーム2102の間に時間飛びが発生している。ビデオストリームには不連続はない。
さらに、(数13)における閾値t3は、ビデオ、オーディオともに10、(数14)における自走カウンタの閾値Mをオーディオに関しては4フレーム、(数19)におけるマスタ切替の閾値Nをオーディオに関しては2フレームとする。
まず、ビデオが同期状態、オーディオがマスタで同期状態にて再生中に、音声フレーム2102にてオーディオの不連続が発生する。このとき音声フレーム1802とリファレンスクロックの差分は18であり、また、自走カウンタは0であることから、(数13)における閾値t3=10を超えているため、自走処理が行われる。
次に、音声フレーム2103において、自走カウンタが3となり、(数19)を満たすため、マスタ切替制御を行い、マスタをオーディオからビデオに変更する。映像フレーム2106はリファレンスクロックに対し同期しているので、同期状態で出力を行い、リファレンスクロックを補正する。
これに対し、音声フレーム2104は、リファレンスクロックに対し差分18のため自走状態は継続される。この後、音声フレーム2105にて、自走カウンタが(数14)を満たさず強制同期処理を行う。
音声フレーム2105においてPTSとSTCの差分が18なので、音声フレーム2105の復号処理を停止し18時間分待ちを行う。その間、音声出力は無音となる。18時間分待った後、音声フレーム2105は復号され出力される。音声フレーム2107において、再び同期状態になるためオーディオマスタへマスタ切替を行い、通常状態に復帰する。このとき、映像フレームは一枚も欠けることなく連続して再生される。
以上のように、本発明の実施の形態6による同期再生装置によれば、受信電波が悪い状況下などで記録された多重化ストリームにおいて、オーディオストリーム、またはビデオストリームの他方のみに不連続があり、特にマスタとして位置づけられるストリームのみに不連続がある場合、マスタではない不連続のないストリームを途切れることなく連続して再生できる。
(7.実施の形態7)
実施の形態7では、本発明に係る携帯電話機について説明する。実施の形態7に係る携帯電話機2000は、実施の形態1で示した同期再生装置100を内部に備えている。
図20は本発明に係る携帯電話機2000の構成を示すブロック図である。この携帯電話機2000は、移動通信用の通信用無線部2401と、ベースバンド部2402と、デジタルテレビ放送を受信するためのTV用無線部2403と、TVチューナー2405と、各種制御を行うアプリケーション処理部2406と入出力部2407と、電源部2417から構成される。
通信用無線部2401及びベースバンド部2402は、無線電話通信を行うための信号処理を行うものである。
TV用無線部2403は、デジタルテレビ放送波を受信するものである。
TVチューナー2405は、TV用無線部2403で受信したデジタルテレビ放送波の信号処理を行うものである。
アプリケーション処理部2413は、通信部2413、同期再生装置2414、主制御部2415、及び蓄積部2416を有する。
通信部2413は、アプリケーション2406と外部との通信を行うインターフェースである。
同期再生装置2414は、実施の形態1で示した同期再生装置100と同様の構成を有するものである。
主制御部2415は、携帯電話機2000の各部を制御するCPU(Central Processing Unit)である。
蓄積部2416は、データを蓄積するメモリであり、特に、TV無線部2403で受信しTVチューナー2405で信号処理したデジタルテレビ放送データを蓄積する。
入出力部2407は、カメラ(CAM)2408、LCD(Liquid Crystal Display)2409、マイク(MIC)2410、SPK(スピーカー)2411、及びKEY(キー入力部)2412を有する。
カメラ2408は、撮像した撮像データを入力するものである。
LCD2409は、画像や映像を出力するものであり、特に、同期再生装置2414で再生出力される映像を出力する。
マイク2410は、音を入力するもので、例えば、無線電話通信時に、ユーザの音声を入力するのに用いられる。
スピーカー2411は、音を出力するもので、例えば、同期再生装置2414で再生出力される音声や、無線電話通信時に通話相手の音声を出力する。
キー入力部2412は、ユーザの入力操作を受付けるものである。
ここで、簡単に携帯電話機2000の動作について説明する。
デジタルテレビ視聴時または記録再生時の本発明の同期再生装置について、図20を用いて以下に説明を行う。
デジタルテレビ放送視聴に際しては、TVチューナー2405で選択されたチャンネルをTV用無線部2403にて受信し、アプリケーション処理部2406へ多重化ストリーム(MPEG2−TS)を入力する。アプリケーション処理部2406では、チューナーより受け取った多重化ストリームを同期再生装置2414へ入力する。同期再生装置2414において、入力された多重化ストリームは、図1における転送部101へ入力され、多重化データをオーディオ、ビデオデータに分離、復号することで再生が可能となる。
また、放送を記録する場合は、TVチューナー2405から入力される多重化ストリームを蓄積部2416に蓄積する。ここで、蓄積部2416は端末内部のメモリ、または端末から分離可能なメモリ、いずれでもよい。
蓄積された多重化ストリームの再生は、キー入力部2412を通じたユーザからのキー操作によって再生が開始され、蓄積部2416から多重化ストリームが同期再生装置2414へ入力される。同期再生装置2414では、入力された多重化ストリームをオーディオデータ、ビデオデータに分離、復号することでの再生が可能となる。
なお、ここでは、携帯電話機2000に実施の形態1に係る同期再生装置100を備える例を示したが、同様に、実施の形態2〜6に係る同期再生装置を備えることが可能なことは言うまでもない。
また、ここでは本発明の同期再生装置を適用した携帯電話機を例に挙げたが、本同期再生装置は、オーディオ機器や、映像が再生可能な様々な機器への適用が可能である。
本発明の同期再生装置は、符号化映像を再生する再生装置に広く適用可能であり、電波状態が悪い環境で録画された等の理由によりフレーム欠損のあるストリームの再生開始時に、最適なフレームから再生開始できる点、及び再生途中に映像信号と音声信号が途切れることなく再生を継続できる点で有用である。
本発明は、符号化データを復号して再生出力する再生装置に関し、特にデジタル符号化された映像信号、及び音声信号の各ビットストリームを復号し、両信号を同期再生する同期再生装置に関するものである。
日本のデジタル放送は、ARIB(Association of Radio Industrial and Businesses)の規格に基づいて行われている。このARIBの規格は、ヨーロッパのDVB(DigitalVideo Broadcasting)方式の規格を基に作成されたもので、MPEG(Moving Picture Coding Experts Group)2−TS(TransportStream)のシステムで、映像及び音声の放送に対応している。
MPEG2−TSでは、188バイトの固定長のTSパケットが複数個集まって、TSストリームが構成される。この188バイトのTSパケットの長さは、ATM(AsynchronousTransfer Mode)セル長との整合性を考慮して決定されている。
TSパケットは、4バイトの固定長のパケットヘッダと、可変長のアダプテーションフィールド及びペイロードで構成される。パケットヘッダには、PID(パケット識別子)や各種のフラグが定義されている。このPIDにより、TSパケットの種類が識別される。
ビデオやオーディオなどの個別ストリームが収められたPES(Packetized ElementaryStream)パケットは、同じPID番号を持つ複数のTSパケットに分割されて伝送される。ビデオの符号化には、例えばMPEG2方式やワンセグメント放送規格におけるMPEG4−AVC/H.264方式が用いられる。オーディオの符号化は、例えば、23C(MPEG2Advanced Audio Coding)方式が用いられている。
また、字幕などのデータが納められたPESパケットも、ビデオやオーディオのパケットと同様に、複数のTSパケットに分割されて伝送される。
このようなMPEG2−TSでは、復号を行う復号器内部の基準信号であるSTC(System Time Clock)の時間を合わすために、所定時間毎に、PCR(ProgramClock Reference)が送られる。
すなわち、TSパケットには、アダプテーションフィールドが含まれているものがある。アダプテーションフィールドは、個別ストリームに関する付加情報を伝送するためのもので、ここには、オプショナルフィールドに、6バイトのPCRが配される。
復号器内部において、STC(System Time Clock)は、STCカウンタでカウントされる。このSTCカウンタの時刻は、PCRの時刻に基づいて校正される。
MPEG2−TSでは、AV(オーディオ・ビデオ)同期をとるために、アクセスユニット毎(例えば、ビデオの場合にはピクチャ毎、オーディオの場合にはオーディオフレーム毎)にタイムスタンプが付加される。これらのアクセスユニットがPES化され、このPESパケットのヘッダに、再生時刻を指定するPTS(PresentationTime Stamp)が付加される。
このPTSの時刻は、STCの値で記述される。復号器では、STCの値がPCRと同期して進められる。復号器では、このSTCのカウント値とPTSの値とを比較し、STCのカウント値とPTSの値とが一致したら、表示処理やデコード処理を開始するようになっている。これにより、STCとの同期再生が行われる。
このように、MPEG2−TSでは、PCRに同期して進められるSTCのカウント値と、ビデオ及びオーディオのPESパケットに付加されて送られてくるPTSの値とを比較し、ビデオ、オーディオそれぞれがSTCのカウント値とPTSの値が一致するタイミングで表示処理やデコード処理を開始することにより、AV同期再生を実現している。
放送の録画再生システムとしては、映像提供側からの符号化・多重化したストリームを復号器が蓄積していき、再生の際、蓄積したストリームからオーディオ符号化データ及びビデオ符号化データを分離した後、互いに独立して復号し、復号されたオーディオ信号とビデオ信号を、互いに同期を取って再生を行っている。
蓄積されたストリームのAV同期手法としては、再生オーディオ信号の出力を重視する方法であるオーディオマスタ(例えば、特許文献1参照)が適用されている。オーディオマスタ方式では、各オーディオフレームを出力すると同時に各オーディオフレームの出力時刻を用いてSTCが更新し、このとき各ビデオフレームの表示時刻はSTCと比較され、その比較の結果により各ビデオフレームの表示を早めたり遅らせたりする操作を行っている。
一方、再生ビデオ信号の出力を重視する方法であるビデオマスタ(例えば、特許文献2参照)でのAV同期手法もある。
ところで、蓄積されたストリームのAV再生開始の際の制御として、再生開始時間(以下、エントリポイント)を定義し、好きなポイント(時間)から再生を開始する手法がある。
上述したエントリポイントによる再生開始時の同期再生方法について説明する。
図21は同期再生装置の構成を示している。図21において、同期再生装置は、ストリームを転送する転送部1301、入力されたストリームから必要な情報を抽出するシステムデコーダ1302、ビデオフレームを復号化するビデオ復号部1303、オーディオフレームを復号化するオーディオ復号部1304、各構成要素の動作タイミングを制御するための同期制御部1305を備える。このように構成された同期再生装置のエントリポイントによる再生開始の動作について説明する。
図21で示されるように、転送部1301からエントリポイントを含んだストリームがシステムデコーダ1302に転送される。システムデコーダ1302は、入力されたストリームからビデオ符号化データとオーディオ符号化データをそれぞれビデオ復号部1303とオーディオ復号部1304に転送し、オーディオ用PTSとビデオ用PTSを同期制御部1305に転送する。ビデオ復号部1303は、入力されるビデオ符号化データからビデオフレームの復号を行う。オーディオ復号部1304は、入力されるオーディオ符号化データからオーディオフレームの復号を行う。同期制御部1305は、転送部1301とシステムデコーダ1302とビデオ復号部1303とオーディオ復号部1304を制御することで、ビデオフレームとオーディオフレームとの同期出力制御を行う。
図22は同期再生装置を構成する同期制御部1305における、エントリポイントによる再生開始の動作手順を示すフローチャートを記載した図である。以下、図22のフローに従って、同期制御部1305の動作を詳しく説明する。
まず、動作が開始されると、ステップ1401にて、外部からのエントリポイント値の設定とエントリポイントによる再生開始が通知されると、転送部1301と各復号部1302、1303、1304に起動要求を出す。この要求を受けて、転送部1301と各デコーダ1302、1303、1304は起動処理を行う。
次いで、ステップ1402にて、転送部1301にデータ供給要求を出す。この要求を受けて転送部1301は、エントリポイントを含んだストリームの先頭から転送を行う。システムデコーダ1302は、転送部1301からデータを受信することで分離抽出を開始する。
ビデオ復号部1303は、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSとエントリポイントがある特定のしきい値内で一致するまで、システムデコーダ1302から受信したビデオ符号化データからビデオフレームの復号を行う。このときは、まだ復号処理だけを行い、表示出力は行わない。
次いで、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSと、エントリポイントがある特定のしきい値内で一致した場合は、ステップ1404に移り、ビデオフレーム用PTSの値で、同期制御部1305内のSTCを初期化する。
次いで、ステップ1405にて、ビデオ復号部1303にビデオフレーム同期出力要求を出す。この要求を受けてビデオ復号部1303は、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSとエントリポイントとがある特定のしきい値内で一致したビデオフレームの復号と同時に表示出力も行う。この段階で、初めてビデオフレームの表示出力が行われ、以後、ビデオ復号部1303、同期制御部1305による、STCとシステムデコーダ1302から受信するビデオフレーム用PTSとを用いた同期制御のもとで、システムデコーダ1302から受信するビデオ符号化データからのビデオフレームの復号と表示出力を次々に行っていく。
次いで、ステップ1406にて、システムデコーダ1302から受信したオーディオフレーム用PTSと、STCとがある特定のしきい値内で一致するまで処理を続ける。
また、ステップ1406にてシステムデコーダ1302から受信したオーディオフレーム用PTSと、STCとがある特定のしきい値内で一致した場合、ステップ1407に移り、オーディオ復号部1304にオーディオフレーム同期出力要求を出す。
この要求を受けてオーディオ復号部1304は、ステップ1406にて、システムデコーダ1302から受信したオーディオフレーム用PTSと、STCとがある特定のしきい値内で一致したオーディオフレームの復号と同時にオーディオ出力も行う。この段階で、初めてオーディオフレームのオーディオ出力が行われ、以後、オーディオ復号部1304は、同期制御部1305による、STCとシステムデコーダ1302から受信するオーディオフレーム用PTSとを用いた同期制御のもとで、システムデコーダ1302から受信するオーディオ符号化データからのオーディオフレームの復号とオーディオ出力を次々に行っていく。
また、特許文献2には、MPEG規格により規定される表示順序情報であるテンポラル・リファレンス(temporal reference)を利用して、ビデオフレーム単位、あるいはオーディオフレーム単位の精度で、指定されたエントリポイントに相当するビデオフレームとオーディオフレームを検出できる技術が開示されている。
また、特許文献3には、異常判定用のタイマを設けることによって、所定の時間が経過しても、ビデオフレームあるいはオーディオフレームの一方しか出力準備完了していない場合に、この時点で出力準備完了している、ビデオフレームまたはオーディオフレームの一方だけに出力要求を可能とし、入力されたストリーム中にエントリポイントに相当するビデオフレームとオーディオフレームの一方しか存在しない場合でも、再生開始を正常に行うことが可能な同期再生装置が開示されている。
特開平7−50818号公報 特願平9−514146号公報 特開2001−346166号公報
そこで、本発明が解決しようとする第1の課題を図23(a)、(b)を用いて説明する。図23(a)、(b)は、電波状態が悪い環境下において記録されたストリーム例を示している。縦軸がPTSで横軸はストリームである。図23(a)は伝送エラーなどによりPTSにビット誤りが発生している場合、図23(b)は記録時の電波の受信状態が悪いためストリームに抜けが発生した場合を示す。図23(a)においてエントリポイントがPTS誤りが発生している時間に指定された場合、従来技術ではエントリポイント判定内に一致するPTSが検出できない。図23(b)も同様、ストリーム抜けが発生した時間にエントリポイントが指定された場合、従来技術ではエントリポイント判定内に一致するPTSが検出できない。結果、再生開始位置が定まらず再生開始ができないという問題がある。
次に、本発明が解決しようとする第2の課題を図24(a)、(b)、(c)を用いて説明する。図24(a)は、MPEG2−TSのTSパケットを示している。開始フレームの検索を行う対象データ領域を開始フレーム検索対象データと示す。つまり、エントリポイントと一致するフレームの検索は、この開始フレーム検索対象データに対して行うことになる。例えば、開始フレーム検索対象データに対しての検索処理時間をオーディオとビデオで、それぞれTa、Tv(Ta<Tv)であるとした場合、タイマTeは、オーディオとビデオがともに検索処理が完了する時間が与えられる(図24(b))。このような場合、図24(c)のように、検索を開始し、ビデオデータにおいて開始フレーム検索が完了し、出力準備ができたとしても、出力するのはTe後からとなる。
すなわち、オーディオデータまたはビデオデータの一方の開始データが見つからない場合の片方のみ出力するためのタイマを、オーディオデータの開始フレーム検索処理時間、ビデオデータの開始フレーム検索処理時間に依らず、一意的な値をとっているため、片方データのみの出力の場合、開始フレーム検索時間が大きいほうに引っ張られて再生開始するという問題がある。
さらに、本発明が解決しようとする第3の課題を、図25を用いて説明する。図25(a) は、オーディオマスタで動作している動画再生装置のビデオ再生データとオーディオ再生データが共に正常に出力されている通常状態において、受信電波が悪い状態で記録されることにより多重化ビットストリームに時間的不連続が発生した場合の例を示す図である。
この図25において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば映像フレーム2301におけるPTSは42である。また、図25(a)ではオーディオマスタ動作を想定しているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。さらに、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム2301と映像フレーム2302、また、音声フレーム2303と音声フレーム2304の間に時間飛びが発生している。
このとき、オーディオマスタとして動作しているため、オーディオ再生データは不連続点でも連続して再生され、同様にリファレンスクロックもオーディオ再生データ同様、不連続に変化する。それに対し、ビデオ再生データは映像フレーム2301でリファレンスクロックと大きく離れ、許容範囲を超えてしまい、非同期で再生を行う自走再生状態となる。これは、たとえば自走状態と判断する許容範囲を10とすると、映像フレームのPTSは113、リファレンスクロックのSTC値は47であり、映像フレームのPTSとリファレンスクロックのSTCの差分は66となり、許容範囲30を超える。しかし、オーディオも不連続を通過後、ビデオ再生データは映像フレーム2303で再びリファレンスクロックと同期が取れ、再度同期再生状態に復帰し同期再生は正常に行われ、なんら問題はない。
しかしながら、図25(b)に示すように、時間飛びが発生している映像フレーム2306、映像フレーム2307間の時間間隔(図25(b)では83)、音声フレーム2308と音声フレーム2309の時間間隔(図25(b)では69)が異なるような状況が発生した場合、図25(a)と同様な自走による制御方式を行うと図25(b)に示すように、不連続点通過後も許容範囲を超えた状態となり自走モードが継続されることになる。すなわち、図25(b)に示すようにオーディオが不連続を経過した後も、映像フレーム2310以降の映像フレームのPTSとリファレンスクロックのSTCとの差分値が常に12になっているため、自走状態と判断する許容値10を超えた状態が継続され、同期状態になることなく自走再生状態が続いてしまう。
自走再生状態が続くと、オーディオ、ビデオの同期がとれずリップシンクが合わない状態が続くことになってしまう。
このような状態において、従来例では、一定時間自走モードが継続された場合、ビデオまたはオーディオの再生を停止し再度開始状態に戻してから再生するという方法を行っていた。しかしながら、再生を一旦停止し再開する際は、初期状態に戻るため、起動処理が必要であり、さらにはすでにバッファ等に蓄積されているデータも破棄されるため、再生復帰までの時間がかかり、その間、映像またはオーディオが何も出力されない状態が長時間継続されるという問題が生じる。
本発明は上記の問題に鑑みてなされたものであり、エントリポイント指定による再生開始時や再生中に、映像表示時刻や音声表示時刻に時間的不連続が発生するいかなる場合においても、それぞれの場合に応じて最適な映像フレームと音声フレームからの再生開始を行え、また、映像信号と音声信号が途絶えることなく再生が継続できる、再生装置を提供することを目的とする。
本発明は上記課題を解決するために、本発明の第1態様に係る再生装置は、所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅に相当するフレームから再生を開始する機能を有する再生装置であって、フレーム毎に、フレーム再生時刻情報を取得する取得部と、前記取得部で取得したフレーム再生時刻情報を保持する保持部と、フレーム毎に、前記取得部で取得した現フレーム再生時刻情報が、前記指定された再生開始時間幅に含まれるか否かを判定し、含まれないと判定された場合はさらに、前記現フレーム再生時刻情報と、前記保持部に保持されている前のフレームにおける前フレーム再生時刻情報との差分が、前記所定時間間隔を超えるか否かを判定する比較部と、前記比較部で、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判断された場合は、前記現フレーム再生時刻情報が付加されたフレームから再生を開始する再生出力部とを備えることを特徴とする。
また、上記課題を解決するために、本発明の第2態様に係る再生装置は、フレーム単位に映像再生時刻情報が付加された映像フレームと、フレーム単位で音声再生時刻情報が付加された音声フレームとから成るデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅に相当する映像フレーム及び音声フレームから再生を開始する機能を有する再生装置であって、映像フレームから映像フレーム再生時刻情報の取得、及び音声フレームから音声フレーム再生時刻情報の取得を行う取得部と、前記取得部で取得した映像フレームの映像フレーム再生時刻情報が前記指定された再生開始時間幅に含まれるか否かの判定、及び前記取得部で取得した音声フレームの音声フレーム再生時刻情報が前記指定された再生開始時間幅に含まれるか否かの判定を行う比較部と、映像フレーム及び音声フレームの復号及び再生出力を行う復号部とを備え、前記取得部で取得した映像フレーム再生時刻情報が前記再生開始時間幅に含まれるか否かを前記比較部が判定するために要する上限時間Tvと、前記取得部で取得した音声フレーム再生時刻情報が前記再生開始時間幅に含まれるか否かを前記比較部が判定するために要する上限時間Taとが設定されており、(i)上限時間Tv>Taを満たすとき、前記復号部は、前記取得部で取得した音声フレーム再生時刻情報が前記再生開始時間幅に含まれず上限時間Taが経過した時に、映像フレームの復号が完了している場合、当該映像フレームを再生出力し、(ii)上限時間Tv<Taを満たすとき、前記復号部は、前記取得部で取得した映像フレーム再生時刻情報が前記再生開始時間幅に含まれず上限時間Tvが経過した時に、音声フレームの復号が完了している場合、当該音声フレームを再生出力することを特徴とする。
また、上記課題を解決するために、本発明の第3態様に係る再生装置は、所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号し、自装置内のシステム基準クロックと同期して再生する再生装置であって、フレーム毎に、フレーム再生時刻情報と、前記システム基準クロックが示す時刻とを比較する比較部と、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致すると判断された場合、当該フレーム再生時刻情報が付加されているフレームを復号して再生出力する復号部と、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合は、当該フレーム再生時刻情報が付加されたフレームを復号して前記システム基準クロックと非同期で再生出力するよう前記復号部に指示する制御部と、前記制御部の指示により、前記復号部が前記システム基準クロックと非同期で再生出力したフレームをカウントするカウント部とを備え、前記制御部はさらに、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームを強制的に前記システム基準クロックと同期させて再生出力するよう前記復号部に指示する強制同期処理を実行することを特徴とする。
また、上記課題を解決するために、本発明の携帯電話機は、上記第1の態様〜第3の態様のいずれか1態様に係る再生装置を備えることを特徴とする。
第1の態様に係る再生装置によれば、電波状態が悪い環境で録画されたストリーム等、フレームの欠落やエラーのあるストリームの再生開始時において、エントリポイントに対応する(再生開始時間幅に相当する)フレームが欠落していたとしても、当該フレームの近辺の最適なフレームから再生を開始することができる。
第2の態様に係る再生装置によれば、エントリポイントと一致するフレームの検索の際に上限時間を音声フレームと映像フレームで個別管理することで、再生開始時、片方のみのデータしか存在しない場合、開始データ検索時間の長いほうに影響を受けることなくフレームの出力することが可能である。
第3の態様に係る再生装置によれば、電波状態が悪い環境で録画されたストリーム等、フレームの欠落やエラーのあるストリームの再生中において、システム基準クロックとの同期ずれを低減することができる。
また、上記第1態様に係る同期再生装置において、前記データストリームは、所定時間毎に、プログラム参照時刻情報を含むものであり、さらに、前記プログラム参照時刻情報を取得し、取得した現プログラム参照時刻情報と、前記所定時間前に取得した前プログラム参照時刻情報とを比較して、前記現プログラム参照時刻情報と前記前プログラム参照時刻情報との差分が所定の閾値を超えていた場合は、プログラム参照時刻情報が不連続であることを検出するとともに前記現プログラム参照時刻情報を保持する検出部を備え、前記比較部は、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判定された場合で、且つ前記検出部で前記現プログラム参照時刻情報が保持されている場合は、さらに、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が、前記所定時間を超えるか否かを判定し、前記再生出力部は、前記比較部で、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が前記所定時間を超えると判定された場合のみ、前記現フレーム再生時刻が付加されたフレームから再生を開始することとしてもよい。
この構成により、エントリポイントに対応する(再生開始時間幅に相当する)フレームが欠落していた場合、フレームのビット誤りとデータストリームのパケットエラーを区別し、フレームのビット誤りのときのみ、当該フレームの近辺の最適なフレームから再生を開始することができる。
また、上記第1態様に係る同期再生装置は、MPEG(Moving Picture Experts Group)規格に準拠するものであり、前記フレーム再生時刻情報は、MPEG規格で定められたPTS(PresentationTime Stamp)であり、前記プログラム参照時刻情報は、MPEG規格で定められたPCR(Program Clock Reference)であることとしてもよい。
この構成により、MPEG規格に準拠した再生装置において、フレームの欠落やエラーのあるストリームの再生開始時において、エントリポイントに対応する(再生開始時間幅に相当する)フレームが欠落していたとしても、当該フレームの近辺の最適なフレームから再生を開始することができる。
また、上記第3態様に係る同期再生装置において、前記制御部は、前記強制同期処理として、(i)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、フレーム再生時刻情報が、システム基準クロックが示す時刻と一致するまで待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力するよう前記復号部に指示し、(ii)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を下回ると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームは再生出力しないよう前記復号部に指示することとしてもよい。
この構成により、フレームの欠落やエラーのあるストリームの再生中において、フレームとシステム基準クロックとの同期ずれが起きた場合、フレームを強制的に進める、又は遅らせることにより、同期状態に復帰させることができる。
また、上記第3態様に係る同期再生装置において、前記制御部は、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合において、さらに、フレーム再生時刻情報とシステム基準クロックが示す時刻との差分が所定差分t1を超える場合のみ、t1より小さい所定の時間t2だけ待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力することとしてもよい。
この構成により、フレームとシステム基準クロックの同期ずれが大きい場合は、少しずつフレームを強制的に進めることで、ユーザが映像を見たときの違和感をなるべく払拭しながら同期状態に復帰させることができる。
また、上記第3態様に係る同期再生装置において、前記フレームは、第1メディアに係る第1メディアフレームと、第2メディアに係る第2メディアフレームに分かれており、前記第1メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するものであり、前記比較部は、フレームについて、第1メディアフレームと第2メディアフレームとを区別して、それぞれのフレーム再生時刻情報とシステム基準クロックが示す時刻とを比較し、前記カウント部は、フレームのカウントについて、第1メディアフレームと第2メディアフレームとを区別してカウントし、前記制御部は、前記比較部で、前記フレームの内第1メディアフレームについての再生時刻情報が、前記システム基準クロックと一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力された第1メディアフレームがカウントされた場合においては、前記第2メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するよう変更することとしてもよい。
この構成により、第1メディアフレーム(例えば、オーディオフレーム)をマスタとしてストリームを再生しているときに、第1メディアフレームにフレーム欠損やエラーがあって第2メディアフレーム(例えば、ビデオフレーム)が正常な場合、不連続の発生していない正常な第2メディアフレームをマスタに切り換えることができる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(1.実施の形態1)
(1−1.構成)
図1は実施の形態1に係る同期再生装置100の構成を示す図である。
図1において、同期再生装置100は、転送部101、多重分離部102、オーディオ復号部103、ビデオ復号部104、オーディオPTS取得部108、オーディオPTS保持部109、オーディオPTS比較部110、ビデオPTS取得部105、ビデオPTS保持部106、ビデオPTS比較部107、同期制御部111、及びリファレンスクロック部112を備える。
転送部101は、多重ストリーム(MPEG2−TSストリーム、以下に説明)を多重分離部102へ転送するものである。
多重分離部102は、多重ストリームからビデオPESパケット(PESパケット、以下に説明)内のPESヘッダから再生時間情報であるビデオPTSと、ビデオ符号化データを抽出し、ビデオ復号部104とビデオPTS取得部105に転送し、また、オーディオPESパケット内のPESヘッダから再生時間情報であるオーディオPTSと、オーディオ符号化データを抽出し、オーディオ復号部103、オーディオPTS取得部108に転送するものである。
オーディオ復号部103は、オーディオ符号化データを復号するものである。
ビデオ復号部104は、ビデオ符号化データを復号するものである。
オーディオPTS取得部108は、多重分離部102で抽出されたオーディオPTSを取得するものである。
オーディオPTS保持部109は、オーディオPTS取得部108で取得したオーディオPTSを保持するものである。
オーディオPTS比較部110は、オーディオPTS取得部108で取得したPTSとオーディオPTS保持部109に保持されているオーディオPTSとを比較するものである。
ビデオPTS取得部105は、多重分離部102で抽出されたビデオPTSを取得するものである。
ビデオPTS保持部106は、ビデオPTS取得部105で取得したビデオPTSを保持するものである。
ビデオPTS比較部107は、ビデオPTS取得部105で取得したビデオPTSとビデオPTS保持部106に保持されているビデオPTSとを比較するものである。
同期制御部111は、各構成要素の動作タイミングを制御するものである。
リファレンスクロック部112は、システム内の基準クロックであるシステムタイムクロック(以下、STC)を管理するものである。
(1−2.データ)
ここで、図2を用いて、MPEG2−TSストリームのデータ構造を説明する。図2において、501はMPEG2−TSストリームである。MPEG2−TSストリーム501は、188バイト固定長の複数のTSパケットから構成される。MPEG2−TSパケット(TSPacket)502はヘッダ(TS Header)503とペイロード(Payload)504とから成る。
ヘッダ503はMPEG2−TSのパケット502の先頭を示すシンクワード(Sync Word)505と、MPEG2−TSパケット502内のデータ識別しPID506と、ペイロード506が有効かどうか示すアダプレーションフィールドコントロール(AdaptationField Control)507と、アダプテーションフィールド(Adaptation Field)508と、その他の制御フラグ(図示せず)から構成される。図3に示すようにPESパケットは、同一のPID値601、602を持つ複数の固定長TSパケットに分かれて転送される。ここで、図3を用いて、PESパケットのデータ構造を説明する。PESパケット701は、PESパケットの先頭を示すパケットスタートコードプリフィックス(PacketStart Code Prefix)702と、PESパケットデータ706に含まれるストリームを識別するためのストリームID(Stream id)703と、PESパケットの長さを示すPESパケット長(PESPacket Length)704と、PESヘッダ(PES Header)705と、ストリームデータが格納されるPESパケットデータ(PES PacketData)706とから構成される。
さらに、PESヘッダ705には、オプションフィールド(Option fields)707とその他の制御フラグ等(図示せず)から構成される。このオプションフィールド707内には、PESパケット701に含まれるストリームの再生時刻情報であるPTS708が格納されている。また、PESパケットデータ706には、符号化データが格納されている。
ここでいう復号処理は、ビデオにおいて、例えば、MPEG4−AVC/H.264方式やMPEG2/4方式の画像復号化処理が行われ、オーディオにおいて、例えば、23Cなどの復号処理が行われる。
(1−3.動作)
図5、図6及び図7は本実施の形態1による同期再生装置100におけるエントリポイント再生開始の動作手順を示すフローチャートであり、以下、図5、図6及び図7のフローチャートに従って、再生開始までの動作を詳しく説明する。
まず、図5に示す動作は、再生開始指示のあったエントリポイントに対応するビデオフレームを検索し、検索した結果、当該エントリポイントに対応するビデオフレームが欠落していた場合に、当該ビデオフレームの近辺の最適なフレームを決定する動作である。ここで、この最適なビデオフレームのことを「フェイルセーフデータ」と呼ぶ。
外部からビデオ用エントリポイント値が設定されると、ビデオフレーム出力完了フラグが“0”にクリアされて処理が開始する。
まず、ステップS201にて、転送部101に対してストリーム供給要求を出す。ここで、この要求を受けて、転送部101は、エントリポイントを含んだMPEG2−TS(以下、多重ストリーム)を多重分離部102への転送を行う。多重分離部102は、バッファを持っており、多重ストリームはそのバッファに格納される。転送部101は、多重分離部102が持つバッファのオーバーフロー管理も行い、オーバーフローしそうな場合は、多重ストリームの転送を停止し、バッファの空きがでた時点で多重ストリームの転送を再開する。バッファは、以下に記述するオーディオフレームのスキップ処理、復号処理またはビデオフレームのデコード処理によって消費されていくものとする。
次いで、ステップS202にて、多重分離部102は、先頭PESパケットを検出する。ここで、先頭PESパケットは、入力されたストリームにおいてPTSが存在する最初のPESパケットのことを示す。
次いで、ステップS203にて、多重分離部102は、ビデオ符号化データとビデオPTSを抽出し、ビデオ符号化データを、ビデオ復号部104へ転送し、ビデオPTSを、ビデオPTS取得部105へ転送する。
次いで、ステップS204にて、ビデオPTS取得部105は、多重分離部102から転送されたPTSを同期制御部111へ転送すると同時に、ビデオPTS保持部106へ転送する。
次いで、ステップS205にて、同期制御部111は、外部から指定されたエントリポイント値とビデオPTS取得部105で取得した現PTSとの比較を行い、エントリポイントに相当するビデオフレームかどうかを判断する。エントリポイントに相当するビデオフレームと判定された場合は、後述するステップS206に移る。
エントリポイントに相当するビデオフレームと判定されなかった場合は、後述するステップS208に移る。
ここで、エントリポイント判定は次の条件式である(数1)を用いる。(数1)において、EPv1は外部から設定されたエントリポイントを、Tv1はフレーム単位時間、PTSnv1はステップS203にて抽出されたビデオPTSを示す。Tv1はビデオフレームの1フレーム単位時間を使用する。例えば、1フレーム単位時間は、15fpsで66ms、30fpsで33msとなる。ただし、この数式はあくまで例であり、これに限定されるものではない。
(数1)
EPv1−1/2×Tv1<PTSnv1≦EPv1+1/2×1/2×Tv1
エントリポイント値と現PTSが一致した場合(ステップS205:YES)、ステップS206にて、同期制御部111は、ビデオ復号部104に対して復号許可信号を通知し、ビデオ復号部104は、同期制御部111からの復号許可信号によりビデオ符号化データの復号処理を行う。復号化されたビデオフレームは、ビデオ復号部104内のフレームバッファに格納される。
次いで、ステップS207にて、ステップ206でのビデオの復号処理の完了後、ビデオフレームの出力準備完了フラグを立てる。
一方、エントリポイント値と現PTSが一致しない場合(ステップS205:NO)、ステップS208にて、ビデオPTS比較部107は、ビデオPTS取得部105で取得されたPTS(以下、現PTS)とビデオPTS保持部106で保持された前回のビデオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定には次の条件式である(数2)を用いる。この条件式が成立する場合、後述するステップS209に移る。逆にギャップと判定されない場合、後述するステップS210に移る。なお、この処理は、最初のビデオフレームにおいては、ビデオPTS保持部106には前PTSは保持されていないため行わない。(数2)において、Xv1は外部から設定される閾値でギャップと判断するための値である。Xv1は、フレーム周期より大きく与えられるのが望ましい。
(数2)
現PTS値−前PTS値<0 または、現PTS値-前PTS値>Xv1
ギャップ判定において条件式(2)が成立する場合(ステップS208:YES)、ステップS209にて、ギャップを検出したビデオフレームは、フェイルセーフデータであるとし、ステップS206に移る。
一方、ギャップ判定において条件式(2)が成立しない場合(ステップS208:NO)、ステップS210にて、ビデオ復号部104は、ビデオPTS比較部107からの指示により、ビデオ符号化データの復号処理を行い、ステップS211に移る。
次いで、ステップS211にて、ビデオPTS保持部106は、現PTS値を前PTSとして置き換える。つまり、現PTSを次のビデオフレームのギャップ処理で使用するため、前PTSとして保存する。その後、ステップS203の処理に移り処理を継続する。
次に、図5に示す動作は、再生開始指示のあったエントリポイントに対応するオーディオフレームを検索し、検索した結果、当該エントリポイントに対応するオーディオフレームが欠落していた場合に、当該ビデオフレームの近辺の最適なフレームを決定する動作である。ここで、この最適なオーディオフレームのことを「フェイルセーフデータ」と呼ぶ。
処理が開始されると、外部からオーディオ用エントリポイント値が設定され、オーディオフレーム出力完了フラグが“0”にクリアされる。
まず、ステップS301にて、転送部101に対してストリーム供給要求を出す。この要求を受けて、転送部101は、エントリポイントを含んだ多重ストリームを多重分離部102への転送を行う。なお、ここまでの処理は、ビデオフレームの場合と同様な処理である。
次いで、ステップS302にて、多重分離部102は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。
次いで、ステップS303にて、多重分離部102は、オーディオ符号化データとオーディオPTSを抽出し、オーディオ符号化データは、オーディオ復号部103へ転送され、オーディオPTSは、オーディオPTS取得部108へ転送される。
次いでステップS304にて、オーディオPTS取得部108は、多重分離部102から転送されたPTSを同期制御部111へ転送するのと同時に、オーディオPTS保持部109へ転送する。
次いでステップS305にて、同期制御部111は、外部から指定されたエントリポイント値とオーディオPTS取得部108で取得した現PTSとの比較を行い、エントリポイントに相当するオーディオフレームかどうかを判断する。エントリポイントに相当するオーディオフレームと判定された場合は、後述するステップS306に移る。
エントリポイントに相当するオーディオフレームと判定されなかった場合は、後述するステップS308に移る。
ここで、エントリポイント判定は次の条件式である(数3)を用いる。(数3)において、EPa1は外部から設定されたエントリポイントを、Ta1はフレーム単位時間、PTSna1はステップS303で抽出されたオーディオPTSを示す。Ta1はオーディオフレームの1フレーム単位時間を使用する。例えば、AAC24kHzの場合、42ms、AAC48kHzの場合、22msが与えられる。ただし、この数式はあくまで例であり、これに限定されるものではない。
(数3)
EPa1−1/2×Ta1<PTSna1≦EPa1+1/2×1/2×Ta1
エントリポイント値と現PTSが一致した場合(ステップS305:YES)、ステップS306にて、同期制御部111は、オーディオ復号部103に対して復号許可信号を通知し、オーディオ復号部103は、同期制御部111からの復号許可信号によりオーディオ符号化データの復号処理を行う。復号化されたオーディオフレームは、オーディオ復号部103内のフレームバッファに格納される。
次いで、ステップS307にて、ステップS306でのオーディオの復号処理の完了後、オーディオフレームの出力準備完了フラグを立てる。
一方、エントリポイント値と現PTSが一致しない場合(ステップS305:NO)、ステップS308にて、オーディオPTS比較部110は、オーディオPTS取得部108で取得されたPTS(以下、現PTS)とオーディオPTS保持部109で保持された前回のオーディオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数4)を用いる。この条件式が成立する場合、後述するステップS309に移る。逆にギャップと判定されない場合、後述するステップS310に移る。なお、この処理は、最初のオーディオフレームにおいては、オーディオPTS保持部109には前PTSは保持されていないため行わない。Xa1は外部から設定される閾値で、ギャップと判断するための値である。Xa1は、フレーム周期より大きく与えられるのが望ましい。
(数4)
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xa1
ギャップ判定において条件式(4)が成立する場合(ステップS308:YES)、ステップS309にて、ギャップを検出したオーディオフレームは、フェイルセーフデータであるとし、ステップS306に移る。
一方、ギャップ判定において条件式(4)が成立しない場合(ステップS308:NO)、ステップS310にて、オーディオ復号部103は、オーディオPTS比較部110からの指示により、オーディオ符号化データのスキップ処理を行い、ステップS311に移る。
また、ステップS311にて、ビデオPTS保持部109は、現PTS値と前PTSを置き換える。つまり、現PTSを次のオーディオフレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS303の処理に移り処理を継続する。
次に、図7を用いて同期制御部111においてビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作を説明する。
ステップS401にて、ビデオフレームとオーディオフレームがともに出力準備完了になるまで待ち続ける。ビデオフレームとオーディオフレームがともに出力準備完了した場合、ステップS402に移る。
次いで、ステップS402において、ビデオフレーム、オーディオフレームがともにフェイルセーフデータとなった場合、後述するステップS405へ移る。逆にそうでないならば、後述するステップS403へ移る。
フェイルセーフデータでないフレームがある場合(ステップS402:NO)で、ステップS403において、オーディオフレームのみフェイルセーフデータと判定された場合、後述するステップS408へ移る。逆にそうでないならば、後述するステップS404へ移る。
ステップS404において、ビデオフレームのみフェイルセーフデータと判定された場合、後述するステップS406へ移る。逆にそうでないならば、後述するステップS405へ移る。
ビデオフレームとオーディオフレームともにフェイルセーフデータであった場合(ステップS402:YES)、またはビデオフレームとオーディオフレームともにフェイルセーフデータではない場合(ステップS404:NO)、ステップS405において、出力準備完了したフレームのオーディオPTSとビデオPTSとの比較を行い、オーディオPTS値≦ビデオのPTS値が成立する場合、オーディオマスタで開始すると判断し、後述するステップS406へ移る。逆に、オーディオのPTS値≦ビデオのPTS値が成立しない場合、ビデオマスタで開始すると判断し、後述するステップS408へ移る。
オーディオマスタで開始した場合(ステップS405:YES)、ステップS406において、同期制御部111は、オーディオ復号部103に再生指示を出し、同時に、オーディオのPTSでリファレンスクロック部112の補正を行う。なお、オーディオのPTSの補正処理は、オーディオ再生の出力タイミングであるフレーム周期で行う。
次いで、ステップS407において、同期制御部111は、ビデオのPTSとリファレンスクロックで取得したSTCの差分値から同期の合わせこみを行う。PTSとSTCが一致したと判定された場合、ビデオ復号部104に対してビデオフレームの再生指示を出す。
一方、ビデオマスタで開始した場合(ステップS405:NO)、ステップS408において、同期制御部111は、ビデオ復号部104に再生指示を出し、同時に、ビデオのPTSでリファレンスクロック部112の補正を行う。なお、ビデオのPTSの補正処理は、ビデオ再生の出力タイミングであるフレーム周期で行う。
次いで、ステップS409において、同期制御部111は、オーディオのPTSとリファレンスクロックで取得したSTCの差分値から同期の合わせこみを行う。PTSとSTCの差分が一致したと判定された場合、オーディオ復号部103に対してオーディオフレームの再生指示を出す。
以上のように、本発明の実施の形態1による同期再生装置100によれば、再生開始時、ストリームのデータ抜けやPTSのビット誤りによる不連続が発生しても、オーディオフレームまたはビデオフレームのPTSのギャップを検出し、エントリポイント検索処理を停止して、エントリポイントに対応するフレームの近辺の最適なフレーム(フェイルセーフデータ)を決定して、当該最適なフレームからの再生開始ができる処理が可能となる。
(2.実施の形態2)
次に、本発明の実施の形態2について説明する。
実施の形態2では、エントリポイントと対応するビデオフレーム及びオーディオフレームの検索を行う際、検索に使用する上限時間を決めておき、当該上限時間の経過後はタイムアウトとなるようになっている点で、実施の形態1とは異なる。
以下、実施の形態2について、実施の形態1と異なる点を中心に説明する。
(2−1.構成)
図8は実施の形態2に係る同期再生装置800の構成を示す図である。
同期再生装置800は、転送部801、多重分離部802、オーディオ復号部803、オーディオPTS取得部808、オーディオPTS保持部809、オーディオPTS比較部810、ビデオ復号部804、ビデオPTS取得部805、ビデオPTS保持部806、ビデオPTS比較部807、同期制御部811、リファレンスクロック部812、オーディオ時間管理部813、及びビデオ時間管理部814を備える。
転送部801、多重分離部802、オーディオ復号部803、オーディオPTS取得部808、オーディオPTS保持部809、オーディオPTS比較部810、ビデオ復号部804、ビデオPTS取得部805、ビデオPTS保持部806、ビデオPTS比較部807、同期制御部811、及びリファレンスクロック部812は、それぞれ、実施の形態1に係る同期再生装置100における、転送部101、多重分離部102、オーディオ復号部103、オーディオPTS取得部108、オーディオPTS保持部109、オーディオPTS比較部110、ビデオ復号部104、ビデオPTS取得部105、ビデオPTS保持部106、ビデオPTS比較部107、同期制御部111、及びリファレンスクロック部112と同様の機能を有する。
オーディオ時間管理部813は、予め設定していた時間になった際に同期制御部811にオーディオタイムアウト信号を通知するものである。
ビデオ時間管理部814は、予め設定していた時間になった際に同期制御部811にビデオタイムアウト信号を通知するものである。
オーディオ時間管理部813、ビデオ時間管理部814に設定できる時間は個別に与えることが可能である。
(2−2.動作)
図9は本実施の形態2における、エントリポイントに対応するフレーム検索時のタイムアウト処理動作を示すフローチャートである。
なお、ビデオフレームの開始データ決定までの動作は実施の形態1の図5で示した動作と同様である。
オーディオフレームの開始データ決定までの動作は実施の形態1の図6で示した動作と同様である。また、ビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作は実施の形態1の図7で示した動作と同様である。
図9に示す動作は、図5〜7に示す動作に付随して実行される。
ここで、ビデオ時間管理部814に設定していた時間をTev、オーディオ時間管理部813に設定していた時間をTeaとする。時間Tev、時間Teaは、転送されるストリームに対して、エントリポイントと一致するフレームを十分に検出可能な時間が与えられているものとする。
ステップS901にて、同期制御部811がオーディオ時間管理部813からタイムアウト信号を受信した場合(ステップS901:YES)、後述するステップS902に移り、逆にそうでない場合は、後述するステップS904に移る。
ステップS902では、同期制御部811がビデオフレームの出力準備完了フラグが立っていると判定したならば、後述するステップS903に移り、そうでないならば処理を終了する。
ビデオフレームの出力準備が完了しているのであれば(ステップS902:YES)、ステップS903において、同期制御部811は、ビデオ復号部804に再生指示を出し、同時に、ビデオPTSでリファレンスクロック部812の補正を行う。なお、ビデオPTSの補正処理は、ビデオ再生の出力タイミングであるフレーム周期で行う。
オーディオ時間管理部813からタイムアウト信号は受信していない(ステップS901:NO)が、ステップS904にて、同期制御部811からタイムアウト信号を受信した場合、後述するステップS905に移り、逆にそうでないならば処理は終了する。
ステップS905では、同期制御部811がオーディオの出力準備完了フラグが立っていると判定したならば、後述するステップS906に移り、そうでないならば処理を終了する。
次いで、ステップS906において、同期制御部811は、オーディオ復号部803に再生指示を出し、同時に、オーディオPTSでリファレンスクロック部812の補正を行う。なお、オーディオPTSの補正処理は、オーディオ再生の出力タイミングであるフレーム周期で行う。
以上のように、本発明の実施の形態2による同期再生装置によれば、エントリポイントと一致するフレームの検索の際に上限時間をオーディオフレームとビデオフレームで個別管理することで、再生開始時、片方のみのデータしか存在しない場合、開始データ検索時間の長いほうに影響を受けることなくフレームの出力することが可能である。例えば、オーディオフレームの開始データ検索時間<ビデオフレームの開始データ検索時間の場合、ビデオフレームの開始データ発見後、オーディオフレーム側の上限時間経過後に出力することが可能である。
(3.実施の形態3)
次に、本発明の実施の形態3について説明する。
実施の形態3では、エントリポイントと対応するビデオフレーム及びオーディオフレームの検索を行う際、ストリームに含まれるPCR(後述する)を利用する点で、実施の形態1とは異なる。
以下、実施の形態3について、実施の形態1と異なる点を中心に説明する。
(3−1.構成)
図10は実施の形態3による同期再生装置1000の構成を示す図である。
同期再生装置1000は、転送部1001、不連続検出部1002、多重分離部1003、オーディオ復号部1004、オーディオPTS取得部1005、オーディオPTS保持部1006、オーディオPTS比較部1007、ビデオ復号部1008、ビデオPTS取得部1009、ビデオPTS保持部1010、ビデオPTS比較部1011、同期制御部1012、及びリファレンスクロック1013を備える。
転送部1001、多重分離部1003、オーディオ復号部1004、オーディオPTS取得部1005、オーディオPTS保持部1006、オーディオPTS比較部1007、ビデオ復号部1008、ビデオPTS取得部1009、ビデオPTS保持部1010、ビデオPTS比較部1011、同期制御部1012、及びリファレンスクロック1013は、それぞれ、実施家の形態1に係る同期再生装置100における、転送部101、多重分離部102、オーディオ復号部103、オーディオPTS取得部108、オーディオPTS保持部109、オーディオPTS比較部110、ビデオ復号部104、ビデオPTS取得部105、ビデオPTS保持部106、ビデオPTS比較部107、同期制御部111、及びリファレンスクロック部112と同様の機能を有する。
不連続検出部1002は、MPEG2−TSストリームに付随するPCR(後述する)の不連続性を検出するものである。不連続検出部1002は、所定時間毎に送られてくるPCRに対して、現PCRと前PCRとの差分を比較することで不連続を検出し、不連続を検出したときのPCR値を、ビデオPTS比較部1011及びオーディオPTS比較部1007に通知する。また、図示しないが不連続検出部1002はバッファを有しており、不連続を検出したときのPCR値を当該バッファで保持する。
(3−2.データ)
ここで、MPEG2−TSストリームに付随するPCRについて、図12を用いて説明する。
MPEG2−TSストリームにおいて、STCの時間に合わすために、所定時間ごとに、PCR(Program Clock Reference)が送られる。TSパケット501においてアダプテーションフィールド508が含まれているものがある。アダプテーションフィールド508は、個別ストリームに関する付加情報を伝送するもので、さらにアダプテーションフィールド508内のオプションフィールド(OptionField)509に、6バイトのPCRが配される。
(3−3.動作)
図12及び図13は本実施の形態3による同期再生装置1000におけるエントリポイント再生開始の動作手順を示すフローチャートであり、以下、図12及び図13のフローチャートに従って、再生開始までの動作を詳しく説明する。
まず、図12に示す動作は、再生開始指示のあったエントリポイントに対応するビデオフレームを検索し、検索した結果、当該エントリポイントに対応するビデオフレームが欠落していた場合に、当該ビデオフレームの近辺の最適なフレームを決定する動作である。ここで、この最適なビデオフレームのことを「フェイルセーフデータ」と呼ぶ。
外部からビデオ用エントリポイント値が設定され、ビデオフレーム出力完了フラグが“0”クリアされて処理が開始する。
まず、ステップS1101にて、転送部1001に対してストリーム供給要求を出す。ここで、この要求を受けて、転送部1001は、エントリポイントを含んだ多重ストリームを不連続検出部1002への転送を行う。多重分離部1003は、バッファを持っており、多重ストリームはそのバッファに格納される。転送部1001は、多重分離部1003が持つバッファのオーバーフロー管理も行い、オーバーフローしそうな場合は、多重ストリームの転送を停止し、バッファの空きがでた時点で多重ストリームの転送を再開する。バッファは、以下に記述するオーディオフレームのスキップ処理、復号処理またはビデオフレームのデコード処理によって消費されていくものとする。
次いで、ステップS1102にて、不連続検出部1002は、多重ストリームのTSパケットのPCRを検索していき不連続が発生した情報を保持する。なお、不連続の判定は、(数5)に示す。条件が成立した場合、後述するステップS1103に移る。条件が成立しない場合、後述するステップS1104に移る。(数5)においての、現PCRは、今回検出されたTSパケットにおけるPCR、前PCRは、前回検出されたTSパケットにおけるPCR、Yaは閾値である。Yaは、PCR送出周期より大きく与えられるのが望ましい。
(数5)
現PCR値−前PCR値<0 または 現PCR値−前PCR値>Ya
現PCRと前PCRとが不連続である場合(ステップS1102:YES)、ステップS1103にて、不連続検出部1002は、TSパケットの不連続点であるPCRを保持し、またビデオPTS比較部1011に転送する。また、不連続検出部1002は、多重ストリームを多重分離部1003に転送する。
上述したステップS1102〜S1103におけるPCRの取得及び判定処理は、転送部1001からストリームが転送されるたびに実行される。
次いで、ステップS1104にて、多重分離部1003は、転送されたPESパケットが先頭PESパケットである場合は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。なお、先頭PESパケットに続くPESパケットについては、当該ステップS1104で検出はされずにステップS1105に移る。
次いで、ステップS1105にて、多重分離部1003は、ビデオ符号化データとビデオPTSを抽出し、ビデオ符号化データは、ビデオ復号部1008へ転送され、ビデオPTSは、PTS取得部1009へ転送される。
次いで、ステップS1106にて、ビデオPTS取得部1009は、多重分離部1003から転送されたPTSを同期制御部1012へ転送すると同時に、ビデオPTS保持部1010へ転送する。
次いで、ステップS1107にて、同期制御部1012は、外部から指定されたエントリポイント値とビデオPTS取得部1009が管理する現PTSを比較し、エントリポイントに相当するビデオフレームかどうかを判断する。エントリポイントに相当するビデオフレームと判定された場合は、後述するステップS1108に移る。
エントリポイントに相当するビデオフレームと判定されなかった場合は、後述するステップS1110に移る。
ここで、エントリポイント判定は次の条件式である(数6)を用いる。つまり、この条件式が成立する場合、エントリポイントに相当するフレームとして判定する。この条件式において、EPv3は外部から設定されたエントリポイントを、Tv3はフレーム単位時間、PTSnv3はステップS1105にて抽出されたビデオPTSを示す。Tv3はビデオフレームの1フレーム単位時間を使用する。例えば、1フレーム単位時間は、15fpsで66ms、30fpsで33msとなる。ただし、この数式はあくまで例であり、これに限定されるものではない。
(数6)
EPv3−1/2×Tv3<PTSnv1≦EPv3+1/2×1/2×Tv3
エントリポイント値と現PTSが一致した場合(ステップS1107:YES)、ステップS1108にて、同期制御部1012は、ビデオ復号部1008に対して復号許可信号を通知し、ビデオ復号部1008は、同期制御部1012からの復号許可指示によりビデオ符号化データの復号処理を行う。復号化されたビデオフレームは、ビデオ復号部1008内のフレームバッファに格納される。
次いで、ステップS1109にて、ステップ1108でのビデオの復号処理の完了後、ビデオフレームの出力準備完了フラグを立てる。
一方、エントリポイント値と現PTSが一致しない場合(ステップS1107:NO)、ステップS1110にて、ビデオPTS比較部1011は、ビデオPTS取得部1009で取得されたPTS(以下、現PTS)とビデオPTS保持部1010で保持された前回のビデオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数7)を用いる。この条件式が成立する場合、ギャップを検出したフレームとして判定し、後述するステップS1111に移る。逆にギャップと判定されない場合、後述するステップS1113に移る。なお、この処理は、最初のビデオフレームにおいては、ビデオPTS保持部1010には前PTSは保持されていないため、行わない。Xv3は外部から設定される閾値で、ギャップと判断するための値である。Xv3は、フレーム周期より大きく与えられるのが望ましい。
(数7)
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xv3
ギャップ判定において条件式(2)が成立する場合(ステップS1110:YES)、ステップS1111にて、PTS比較部1011は、ギャップを検出したPTSと不連続検出部1002で保持されている(ステップS1103)PCRとを比較して条件式(数8)が成立した場合(ステップS1111:YES)、後述するステップS1113へ移り、成立しない場合、後述するステップS1112へ移る。Zは、TSパケットにおけるPCRの送出周期とオーディオフレームとビデオフレームのインタリーブを想定した値が望ましい。例えば、ワンセグ運用上では、MPEG2ーTSにおけるPCRの送出周期は400ms以内、オーディオフレームとビデオフレームのインタリーブ間隔は1.5秒程度なので、2秒程度の値を与えるのが妥当である。
(数8)
−Z<PCR−現PTS値<Z
条件式(数8)が成立しない場合(ステップS1111:NO)、ステップS1112にて、ギャップを検出したビデオフレームは、フェイルセーフデータであるとし、ステップS1108に移る。
次いで、ステップ1113にて、ビデオ復号部1008は、ビデオPTS比較部1011からの指示により、ビデオ符号化データの復号処理を行い、ステップS1114に移る。
次いで、ステップS1114にて、ビデオPTS保持部1010は、現PTS値を前PTSとして置き換える。つまり、現PTSを次のビデオフレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS1105の処理に移り処理を継続する。
次に、図13に示す動作は、再生開始指示のあったエントリポイントに対応するオーディオフレームを検索し、検索した結果、当該エントリポイントに対応するオーディオフレームが欠落していた場合に、当該オーディオフレームの近辺の最適なフレームを決定する動作である。ここで、この最適なオーディオフレームのことを「フェイルセーフデータ」と呼ぶ。
処理が開始されると、外部からオーディオ用エントリポイント値が設定され、オーディオフレーム出力完了フラグが“0”クリアされる。
まず、ステップS1201にて、転送部1001に対してストリーム供給要求を出す。この要求を受けて、転送部1001は、エントリポイントを含んだ多重ストリームを不連続検出部1002への転送を行う。
次いで、ステップS1202にて、不連続検出部1002は、多重ストリームのTSパケットのPCRを検索していき不連続が発生した情報を保持する。なお、不連続の判定は、(数5)に示す。条件が成立した場合、後述するステップS1203に移る。条件が成立しない場合、ステップS1204に移る。
現PCRと前PCRとが不連続である場合(ステップS1102:YES)、ステップS1203にて、不連続検出部1002は、TSパケットの不連続点であるPCRを保持し、またオーディオ用PTS比較部1007に転送する。また、不連続検出部1002は、多重ストリームを多重分離部1003に転送する。
上述したステップS1202〜S1203におけるPCRの取得及び判定処理は、転送部1001からストリームが転送されるたびに実行される。
次いで、ステップS1204にて、多重分離部1003は、転送されたPESパケットが先頭PESパケットである場合は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。なお、先頭PESパケットに続くPESパケットについては、当該ステップS1204で検出はされずにステップS1205に移る。
次いで、ステップS1205にて、多重分離部1003は、オーディオ符号化データとオーディオPTSを抽出し、オーディオ符号化データは、オーディオ復号部1004へ転送され、オーディオPTSは、オーディオPTS取得部1005へ転送される。
次いでステップS1206にて、オーディオPTS取得部1005は、多重分離部1003から転送されたPTSを同期制御部1012へ転送するのと同時に、オーディオ保持部1006へ転送する。
次いでステップS1207にて、同期制御部1012は、外部から指定されたエントリポイント値とオーディオPTS取得部1005が管理する現PTSとの比較を行い、エントリポイントに相当するオーディオフレームかどうかを判断する。エントリポイントに相当するオーディオフレームと判定された場合は、後述するステップS1208に移る。
逆にエントリポイントに相当するフレームと判定されなかった場合(ステップS1207:NO)は、後述するステップS1210に移る。
ここで、エントリポイント判定は次の条件式である(数9)を用いる。(数9)において、EPa3は外部から設定されたエントリポイントを、Ta3はフレーム単位時間、PTSna3はステップ1206で抽出されたオーディオPTSを示す。Ta3はオーディオフレームの1フレーム単位時間を使用する。例えば、AAC24kHzの場合、42ms、AAC48kHzの場合、22msが与えられる。ただし、この数式はあくまで例であり、これに限定されるものではない。
(数9)
EPa3−1/2×Ta3<PTSna3≦EPa3+1/2×1/2×Ta3
エントリポイント値と現PTSが一致した場合(ステップS1207:YES)、ステップS1208にて、同期制御部1012は、オーディオ復号部1004に対して復号許可信号を通知し、オーディオ復号部1004は、同期制御部1012からの復号許可信号によりオーディオ符号化データの復号処理を行う。復号化されたオーディオフレームは、オーディオ復号部1004内のフレームバッファに格納される。
ステップS1209にて、ステップ1208でのオーディオの復号処理の完了後、オーディオフレームの出力準備完了フラグを立てる。
一方、エントリポイント値と現PTSが一致しない場合(ステップS1207:NO)、ステップS1210にて、オーディオPTS比較部1007は、オーディオPTS取得部1005で取得されたPTS(以下、現PTS)とオーディオPTS保持部1006で保持されたPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数10)を用いる。この条件式が成立する場合、ギャップを検出したオーディオフレームとして判定し、後述するステップS1211に移る。逆にギャップと判定されない場合、後述するステップS1213に移る。なお、この処理は、最初のオーディオフレームにおいては、PTS保持部1006には前PTSは保持されていないため行わない。Xa3は外部から設定される閾値で、ギャップと判断するための値である。Xa3は、フレーム周期より大きく与えられるのが望ましい。
(数10)
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xa3
ギャップ判定において条件式(2)が成立する場合(ステップS1210:YES)、ステップS1211にて、オーディオPTS比較部1007は、ギャップを検出したPTSと不連続検出部1002で保持されている(ステップS1203)PCRとを比較して条件(数8)が成立した場合(ステップS1211:YES)、後述するステップ1S212へ移り、成立しない場合、後述するS1213へ移る。
条件式(数8)が成立しない場合(ステップS1211:NO)、ステップS1212にて、ギャップを検出したオーディオフレームは、フェイルセーフデータであるとし、ステップS1208に移る。
次いで、ステップS1213にて、オーディオ復号部1004は、オーディオPTS比較部1007からの指示により、オーディオ符号化データのスキップ処理を行い、ステップS1214に移る。
次いで、ステップS1214にて、オーディオPTS保持部1006は、現PTS値と前PTSを置き換える。つまり、現PTSを次のオーディオレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS1205の処理に移り処理を継続する。
なお、ビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作は、実施の形態1における図7に示す動作と同様である。
以上のように、本発明の実施の形態3による同期再生装置によれば、PCRを利用してTSパケットの不連続検出させることで、TSパケットのデータ抜けの不連続とPTSのビット誤りによる不連続を区別することが可能となる。TSパケットのデータ抜けによる不連続は、外部ブロック(例えば、上位ソフトウェア)で判断可能であるため、データ抜けの部分は、エントリポイントとして指定されないことが想定される。実施の形態3によれば、TSパケットのデータ抜けの不連続は、開始データ検索処理を停止してフェイルセーフデータから再生することなく、検索処理を継続させることができる。
(4.実施の形態4)
次に、本発明の実施の形態4について説明する。
実施の形態4による同期再生装置は、実施の形態1と同様の構成を有しているが、ビデオフレームとオーディオフレームの再生中にフレーム欠損に係る処理を行う点で、実施の形態1と異なる。ここでは、図1に示した同期再生装置100と同様の部分については説明を省略し、再生中の動作について重点的に説明する。
(4−1.構成)
以下、実施の形態1で説明した構成と異なる点について説明する。
再生中、まず、転送部101より転送される多重ストリームは、多重分離部102においてビデオPESデータとオーディオPESデータに分離される。ビデオPESデータはビデオPTSと、ビデオ符号化データを抽出後、ビデオ復号部104とビデオPTS取得部105に転送される。また、オーディオPESデータはビデオPES同様、オーディオPTSと、オーディオ符号化データを抽出し、オーディオ復号部103、オーディオPTS取得部108に転送される。
オーディオ復号部103は、独自のクロックを持ってフレーム周期で動作しており、フレーム周期の先頭で1フレーム分の符号化データの取得を行い、同期制御部111からの制御信号の状態に応じて復号処理動作を決定する機能を有する。具体的には、同期制御部111からの制御信号が復号許可の場合は、復号処理を行って復号結果を出力する。制御信号が復号停止の場合は復号処理を停止し出力を停止する。また、制御信号が破棄の場合は、現フレームの符号化データを破棄、すぐさま次フレームのデータを取得し、次の同期制御部111からの制御信号の状態に応じて復号処理動作を決定する。
ビデオ復号部104も、オーディオ復号部103同様、独自のクロックを持ってフレーム周期で動作しており、フレーム周期の先頭で1フレーム分の符号化データの取得を行い、同期制御部111からの制御信号の状態に応じて復号処理動作を決定する機能を有する。具体的には、同期制御部111からの制御信号が復号許可の場合は復号処理を行って復号結果を出力し、同時に次のフレームのデータを取得する。制御信号が復号停止の場合は復号処理を停止し出力を停止する。さらに制御信号がデータ破棄の場合は、現フレームの符号化データをデコードした後に次フレームのデータを取得し、次の同期制御部111からの制御信号の状態に応じて復号処理動作を決定する。
ここで、データ破棄の場合もデコード処理を行うことの意味するところは以下の通りである。
MPEGなどに代表される動画圧縮符号データの復号処理では、前フレームを参照しながら復号処理をする必要がある。そのため、復号処理せずしてフレームデータの破棄を行った場合、破棄したフレームの次のフレームが正常に復号できない可能性があるためである。
オーディオPTS取得部108は、多重分離部102から転送されたオーディオPTSを取得し、オーディオ復号部103が符号化データを取得するタイミングで、オーディオPTSを同期制御部111へ転送する機能を有する。
ビデオPTS取得部105は、多重分離部102から転送されたビデオPTSを取得し、ビデオ復号部104が符号化データを取得するタイミングで、ビデオPTSを同期制御部111へ転送する機能を有する。
同期制御部111では、オーディオPTS取得部108からオーディオPTSを取得するとリファレンスクロック部112からリファレンスクロック(以下、STCとも表記)を取得し、STCとPTSを比較することで、オーディオ復号部103に制御信号を送信する機能を有する。また、ビデオPTS取得部105からビデオPTSを取得するとリファレンスクロック部112からSTCを取得し、STCとPTSを比較することで、ビデオ復号部104に制御信号を送信する。
また、同期制御部111では、マスタとして動作しているデータのPTSがSTCに対し同期している判断した場合に、リファレンスクロックを補正するためのPTSをリファレンスクロック部112へ転送する機能を有する。
さらに、同期制御部111では、現在のマスタがオーディオであるか、ビデオであるかを管理しているとともに、オーディオ、ビデオがそれぞれリファレンスクロックに対し同期しているか否かを示す同期制御状態を管理している。
リファレンスクロック部112は、同期制御部111から転送されたPTSを受け内部クロックを補正する機能を有する。
(4−2.動作)
以下、再生中における、同期制御部111が行う同期制御処理について図14を用いて説明を行う。尚、ここではビデオ符号化データの同期制御について説明するが、当然、同様の処理をオーディオ符号化データの復号処理に適用することも可能である。その場合、図14においてビデオと表記されている部分はオーディオに、オーディオと表記されている部分はビデオに変換すればよい。
図14に示すように、まず、同期制御部111へビデオPTS取得部105からビデオPTSが転送されてきたタイミングで開始する。
同期制御部111へビデオPTS取得部105からビデオPTSが転送されてくると、ステップS1601にてPTSを取得する。
次いで、ステップS1602にてリファレンスクロック部112から現在の時刻であるSTCを取得する。
次いで、ステップS1603にて次式(数11)を判定する。
(数11)
|PTS―STC|<t1
ここでt1はシステムまたはデータごとに決定できる固定値である。
(数11)を満たす場合(ステップS1603:YES)には、そのPTSは同期していると判断し、後述のステップS1604へ移る。(数11)を満たしていない場合(ステップS1603:NO)には、同期していないと判断し、後述のステップS1608以降の同期外れ処理へ移る。
ここで、PESパケット内には、1パケット内に複数のオーディオフレーム、またはビデオフレームが存在する場合がある。この場合には、多重分離部102から送られてきたPTSは、そのパケットの先頭のフレームiに対応するものであるので、パケット内の2番目以降のフレームi+1とi+2についてはPTSが存在しない。このような場合、ビデオPTS取得部105は、PTSが存在しないフレームに対し、ビデオフレーム内のフレームレートに関するパラメータあるいは、あらかじめ規定されたフレームレートを用いてPTS値を補間する。オーディオフレームにおいても同様で、オーディオPTS取得部108が、PTSが存在しないフレームに対し、オーディオフレーム内のフレームレートに関するパラメータあるいは、あらかじめ規定されたフレームレートを用いてPTS値を補間する。
尚、上記(数11)の意味するところは以下の通りである。
ビデオフレームと同期を取るためには、STC=PTSとなった瞬間に出力を開始することが必要であるが、リファレンスクロックの読み出し処理はソフトウェアで実現する場合には処理時間にばらつきが発生する可能性があるため、厳密にSTC=PTSとなるSTCをタイミングよく読み込むことは難しい。このため、同期制御部111がビデオ復号部104に復号許可を与える条件として、(数11)を満足させることで、判断処理に冗長を持たせている。
(数11)を満たす場合(ステップS1603:YES)、ステップS1604にてビデオ復号部104に対し、復号許可信号を送信する。これにより、ビデオ復号部104は復号処理を行い復号結果のオーディオ再生データの出力を行う。
次いで、ステップS1605にて、現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1606にて、ビデオが現在のマスタであると判定された場合(ステップS1606:YES)は、リファレンスクロック部112へ同期と判定したPTS値を転送する。リファレンスクロック部112では、転送されたPTSをもとに内部クロックの補正処理を行う。
ビデオがマスタではないと判定された場合(ステップS1606:NO)には、ステップS1608へ移行する。
次いで、ステップS1608にて、PTSがリファレンスクロックと同期状態であると判断されたため、後述する自走カウンタのクリアと、さらに同期制御状態を同期状態に遷移させ、同期制御処理を終了する。
一方、(数11)を満たさない場合(ステップS1603:NO)、ステップS1609にて次式(数12)が成り立つか否かを判定する。
(数12)
0<STC―PTS<t2
ここでt2はシステムまたはデータごとに決定できる固定値である。
上記(数12)を満たす場合(ステップS1609:YES)は、復号化しようとするフレームが再生時刻よりもすでに遅れていることを意味するため、当該フレームを破棄しすぐに次フレームの処理へ遷移することで遅れを取り戻す。すなわち、ステップS1610にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
尚、再生時刻よりも既に遅れている場合、本実施例では1フレーム分のデータ破棄を復号部へ指示しているが、STCに対する遅れ時間が大きい場合、複数フレーム分のデータ破棄を指示するようにしてもよい。
上記(数12)を満たさない場合(ステップS1609:NO)は、後述するステップS1611へ移る。
ステップS1611では、次式(数13)を判定する。
(数13)
0<(PTS―STC)<t3
ここでt3はシステムまたはデータごとに決定できる固定値である。
上記(数13)を満たす場合(ステップS1611:YES)は、復号化しようとするフレームが再生時刻よりも進んでいることを意味するため、当該フレームの復号化処理を停止させることで進みをなくす。すなわち、ステップS1612にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1613で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信する。
一方、上記(数13)を満たさない場合(ステップS1611:NO)は、PTSが誤っているか不連続になっていると想定され、後述するステップS1614以降の自走処理へ移る。
自走処理では以下の処理を行う。
ステップS1614では、自走カウンタ値に対し次式(数14)を判定する。
(数14)
自走カウンタ<M
ここで、自走カウンタとは、判定ステップS1603、ステップS1609、ステップS1611のいずれも満たされない場合に自走処理を行ったフレーム数をカウントするカウンタであり、開始時と判定ステップS1603が満たされた場合、すなわちSTCとPTSが同期していると判定された場合に0にクリアされるカウンタである。
また、Mはシステムまたはデータごとに決定できる固定値である。
(数14)を満たす場合(ステップS1614:YES)は、ステップS1615にてビデオ復号部104に対し、復号許可信号を送信し、当該フレームの復号処理と出力処理を行う。
次いで、ステップS1616にて自走カウンタを1インクリメント行う。
次いで、ステップS1629にてビデオの同期制御状態を自走状態に遷移させ、同期制御処理を終了する。
一方、(数14)を満たさない場合(ステップS1614:NO)は、ステップS1617以降の強制同期処理へ移る。
この自走カウンタ導入の意味するところは以下の通りである。
STCとPTSの差分が大きい場合、オーディオ、ビデオに時間的な不連続が発生したのか、PTS値にエラーが混入されたのかの区別がつかない。そこで、STCとPTSの差分が大きいフレームが継続されている状態が、一定フレーム数(上記数式ではMフレーム)未満の間はPTS値に誤りがあったと判断し自走処理を行う。しかし、一定フレーム数以上STCとPTSの差分が大きいフレームが継続された場合には、時間的な不連続が発生したと判断し強制同期処理へ移行する。
強制同期処理では以下の処理を行う。
まず、ステップS1617にて、ビデオの再生状態を強制同期状態に遷移させる。
次いで、ステップS1618にて現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1619にて、ビデオが現在のマスタかどうかを判定する。
ビデオマスタであると判定された場合(ステップS1619:YES)、ステップS1620にてリファレンスクロック部112へPTS値を転送する。リファレンスクロック部112では、転送されたPTSをもとに内部クロックの補正処理を行う。すなわち、マスタの場合における強制同期処理とはリファレンスクロックの補正を意味する。
次いで、ステップS1621にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
一方、ビデオマスタでないと判定された場合(ステップS1619:NO)は、ステップS1622へ移る。
ステップS1622では、マスタの同期状態を取得する。
次いで、ステップS1623にてマスタの同期制御状態が同期状態かどうかを判定する。
同期状態ではない場合(ステップS1623:YES)、ステップS1624にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
ここで、マスタの同期制御状態判定の意味するところは以下の通りである。
マスタが同期状態ではなく自走状態、または強制同期状態の場合は、マスタは同期が取れていない状態である。そのため、リファレンスクロックはマスタのPTSによって補正されていないため、信頼できる状態ではない。そのため、マスタが同期状態になるまで待つ必要がある。
一方、同期状態の場合(ステップS1623:NO)、ステップS1625にて次式(数15)を判定する。
(数15)
PTS<STC
上記(数15)を満たす場合(ステップS1625:YES)、すなわちPTSよりSTCの方が大きい場合は、PTSは遅れていると判断されるので、ステップS1626にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
一方、(数15)を満たさない場合(ステップS1625:NO)、すなわちSTCよりPTSの方が大きい場合は、ステップS1627にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1628で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信し、処理を終了する。
上記フローチャートにおける強制同期部分の詳細動作を図15のタイミングチャートを用いて示す。
図15はビデオストリーム、オーディオのストリームに時間的不連続が発生している場合に、本実施例を適用した場合のタイミングチャートである。
この図15において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば、映像フレーム1801におけるPTSは42である。また、図15ではオーディオマスタ動作を例に挙げているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム1801と映像フレーム1802、また、音声フレーム1803と音声フレーム1804の間に時間飛びが発生している。さらに、(数13)における閾値t3は、ビデオ、オーディオともに10、(数14)における自走カウンタの閾値Mをビデオに関しては5フレーム、オーディオに関しては3フレームとする。
まず、ビデオ、オーディオ両方の同期制御状態が同期状態で再生している状態において、映像フレーム1802にてビデオの不連続が発生する。このとき映像フレーム1802とリファレンスクロックの差分は78であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0の状態のため、自走処理が行われる。
次に、音声フレーム1804において、オーディオの不連続が発生する。オーディオはマスタであるがビデオ同様、同期制御処理を行う。
音声フレーム1804とリファレンスクロックの差分は66であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0のため、自走処理となる。
オーディオが自走処理の間、リファレンスクロックは補正されず、リファレンスクロック部では内部時計が自走している状態となる。
次に、音声フレーム1805にてオーディオの自走カウンタが3となるため、(数14)を満たさず強制同期処理を行う。現在オーディオマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは126に補正される。
次に、映像フレーム1806での同期制御処理において、オーディオが同期状態に遷移しリファレンスクロックを補正したが、映像フレーム1806とリファレンスクロックの差分はまだ12であり、(数13)における閾値10を超えているため、自走処理は継続される。
次に、映像フレーム1807にてビデオの自走カウンタが5となるため、(数14)を満たさず強制同期を行う。映像フレーム1807においてPTSとSTCの差分は12なので、映像フレーム1708の復号処理を停止し12時間分待ちを行う。その間は映像フレーム1806が表示され続ける。12時間分待った後、映像フレーム1807は復号され表示される。以後、ビデオはリファレンスクロックと同期しながら再生される。
以上のように、本発明の実施の形態4による同期再生装置によれば、受信電波が悪い状況下などで記録された多重化ストリームにおいて、オーディオストリーム、またはビデオストリーム、あるいはオーディオビデオ両方のストリームに時間的不連続が発生した場合でも、再生を継続でき、さらに不連続点を通過したのちにオーディオフレーム及びビデオフレームの同期再生への復帰を早くすることができる。
さらに、自走カウンタを設け、閾値に応じて自走処理か強制同期処理かを判断できるようにすることにより、伝送エラーなどによるPTSに誤りが混入され、同期が取れない状態であっても不連続と判断せず自走させることでオーディオ、ビデオを途切れなく連続的に再生させることが可能である。
(5.実施の形態5)
次に、本発明の実施の形態5について説明する。
実施の形態5による同期再生装置は、実施の形態4と同様の構成を有しており、基本的な動作は同様であるが、再生中の同期制御において、強制同期処理に変更を加えた点で実施の形態4と異なる。ここでは、実施の形態4と異なる動作について重点的に説明する。
(4−1.動作)
以下、図16に基づいて実施の形態5における同期生再生装置の動作について説明する。
ここではビデオ符号化データの同期制御について説明するが、当然、同様の処理をオーディオ符号化データの復号処理に適用することも可能である。その場合、図16においてビデオと表記されている部分はオーディオに、オーディオと表記されている部分はビデオに変換すればよい。
図16は実施の形態5における同期制御処理を示すフローチャートである。
ステップS1701〜S1716の処理動作は、それぞれ、実施の形態4における図14に示すステップS1601〜S1616と同様のため、説明は省略する。
以下、ステップS1717の強制同期処理以降について、図16を用いて詳細に説明する。
まず、ステップS1717にて、自走と判断されたために、ビデオの同期制御状態を強制同期状態に遷移させる。
次いで、ステップS1718にて現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1719にて、ビデオが現在のマスタかどうかを判定する。
ビデオマスタであると判定された場合(ステップS1719:YES)、ステップS1720にてリファレンスクロック部112へPTS値を転送する。リファレンスクロック部112は、転送されたPTSをもとに内部クロックの補正処理を行う。
次いで、ステップS1721にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
一方、ビデオマスタでないと判定された場合(ステップS1719:NO)は、ステップS1722へ移る。
ステップS1722では、マスタの同期制御状態を取得する。
次いで、ステップS1723にてマスタの同期制御状態が同期状態かどうかを判定する。
同期状態でない場合(ステップS1723:YES)は、ステップS1724にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
マスタが同期状態の場合(ステップS1723:NO)、ステップS1725へ移る。
ステップS1725において、次式(数16)を判定する。
(数16)
PTS―STC<t4
ここでt4はシステムまたはデータごとに決定できる固定値である。
(数16)を満たす場合(ステップS1725:YES)には、ステップS1726に移る。
次いで、ステップS1726では、次式(数17)を判定する。
(数17)
PTS<STC
上記(数17)を満たす場合(ステップS1726:YES)、すなわちPTSよりSTCの方が大きい場合は、PTSは遅れていると判断されるので、ステップS1727にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
(数17)を満たさない場合(ステップS1726:NO)、すなわちSTCよりPTSの方が大きい場合は、ステップS1728にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1729で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信し処理を終了する。
一方、(数16)を満たさない場合(ステップS1725:NO)は、まず、ステップS1730にて自走カウンタをクリアする。
次いで、ステップS1731にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1732にてt5時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信する。
尚、(数17)において、PTSよりSTCの方が大きい場合、すなわちPTSがSTCより遅れていると判断された場合、本実施例では1フレーム分のデータ破棄を復号部へ指示しているが、複数フレーム分のデータ破棄を指示してもよい。さらに、STCとPTSの差分時間分のデータ破棄を行うのではなく、t5時間分のデータを破棄することも可能である。
また、この強制同期処理ステップにおいて、PTSとSTCの差分値がt4以上の場合も、同期制御を行う範囲をt5にすることの意味するところは以下の通りである。
すなわち、ステップS1714における「(数18)自走カウンタ<M」の判定が満たされなかった場合(ステップS1714:NO)において、伝送エラーなどの要因によりPTS値が誤っている場合、あるいは、オーディオストリーム又はビデオストリームの時間的不連続状態が短時間に繰り返されるような場合、STCとPTSの差分値に対してステップS1728の処理を行うと差分値が巨大な値になる可能性がある。結果、長時間の待ち時間が発生、あるいは長時間分のデータが破棄される可能性がある。このような状況を防ぐために導入される。
上記フローチャートにおける強制同期制御の詳細動作を図17のタイミングチャートを用いて示す。
図17はビデオストリーム、オーディオビデオのストリームに時間的不連続が繰り返し発生している場合に、本実施例を適用した場合のタイミングチャートである。
この図17において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば映像フレーム1901におけるPTSは42である。また、図17ではオーディオマスタ動作を例に挙げているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム1901と映像フレーム1902、また、音声フレーム1903と音声フレーム1904の間に時間飛びが発生している。さらに、映像フレーム1905と映像フレーム1906、また、音声フレーム1908と音声フレーム1909の間にも不連続が発生している。
(数13)における閾値t3は、ビデオ、オーディオともに10、(数18)における自走カウンタの閾値Mをビデオに関しては5フレーム、オーディオに関しては3フレームとする。また、(数16)における閾値t4をオーディオ、ビデオともに20、STCとPTSの差分固定時間t5を10とする。
まず、ビデオ、オーディオ両方の同期制御状態が同期状態で再生している状態において、映像フレーム1902にてビデオの不連続が発生する。このとき映像フレーム1902とリファレンスクロックの差分は78であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0の状態のため、自走処理が行われる。
次に、音声フレーム1904において、オーディオの不連続が発生する。オーディオはマスタであるがビデオ同様、同期制御処理を行う。
音声フレーム1904とリファレンスクロックの差分が66であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0のため、自走処理となる。
オーディオが自走処理の間、リファレンスクロックは補正されず、リファレンスクロック部では内部時計が自走している状態となる。
次に、音声フレーム1905にてオーディオの自走カウンタは3となるため、(数14)を満たさず強制同期処理を行う。現在オーディオがマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは126に補正される。
次に、映像フレーム1906にて再び不連続が発生するが、自走カウンタは3のため自走は継続される。
次に、映像フレーム1907にてビデオの自走カウンタが5となるため、(数18)を満たさず強制同期処理を行う。このとき、映像フレーム1907においてPTSは425、STCは133であり、差分が292なので、強制同期用閾値t4=20を超えている。そのため、待ち時間をt5=10に変換して映像フレーム1907の復号処理を停止し10時間分待ちを行う。10時間分待った後、映像フレーム1907は復号され表示されるが、次の映像フレーム1911でのPTSとSTCの差分は11となり、まだ閾値10を超えている。自走カウンタは0の状態のため、自走処理となり再度自走カウンタのカウントアップが始まる。
また、音声フレーム1909にてオーディオが再び不連続が発生する。音声フレーム1909のPTSとSTCとの差分が371であることから、(数13)における閾値t3=10を超えているため、自走処理となる。
音声フレーム1910にてオーディオの自走カウンタは3となり、(数18)を満たさず強制同期処理を行う。現在オーディオがマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは409に補正される。
次に、映像フレーム1912にてビデオの自走カウンタが5となり、(数18)を満たさず強制同期処理を行う。このとき、映像フレーム1912においてPTSは450、STCは439であり、差分が11なので、(数13)における閾値t3=10を越えているため強制同期処理を行う。すなわち、映像フレーム1912の復号処理を停止し11時間分待ちを行う。11時間分待った後、映像フレーム1912は復号され表示される。以後、ビデオはリファレンスクロックと同期しながら再生される。
以上のように、本発明の実施の形態5による同期再生装置によれば、伝送エラーなどによりストリームにエラーが混入された場合や、オーディオまたは、ビデオのストリーム、あるいはオーディオビデオ両方のストリームに時間的な不連続が繰り返し発生するような場合、あるいは、連続とPTS誤りが同時に発生するような場合において、ストリームの異常発生部分を停止させることなく再生でき、オーディオ、ビデオの同期再生へ復帰を短時間で行うことできる。
また、強制同期処理を複数回に分けて実行することから、長時間の強制同期処理を行う必要がある場合において、長時間同じフレームが再生出力されっぱなしになる時間を短縮することができ、ユーザが強制同期処理中の映像を視聴したときの違和感を軽減することができる。
(6.実施の形態6)
次に、本発明の実施の形態6について説明する。
実施の形態6による同期再生装置は、実施の形態5と同様の構成を有しており、基本的な動作は同様であるが、再生中の同期制御において、自走処理に変更を加えた点で実施の形態5と異なる。ここでは、実施の形態5と異なる動作について重点的に説明する。
(6−1.動作)
以下、図18に基づいて実施の形態6における同期生再生装置の動作について説明する。
ここではビデオ符号化データの同期制御について説明するが、当然、同様の処理をオーディオ符号化データの復号処理に適用することも可能である。その場合、図18においてビデオと表記されている部分はオーディオに、オーディオと表記されている部分はビデオに変換すればよい。
図18は実施の形態6における同期制御処理を示すフローチャートである。
ステップS2001〜S2033の処理動作は、それぞれ、実施の形態5における図16に示すステップS1701〜S1733と同様のため、説明は省略する。
以下、自走処理中のステップS2034〜S2039の処理について、図20を用いて詳細に説明する。
まず、ステップS2034において、次式(数19)を判定する。
(数19)
自走カウンタ>N
ここでNはシステムまたはデータごとに決定できる固定値であるが、Mよりも小さい。
(数19)を満たさない場合(ステップS2034:NO)には、ステップS2014に移り、実施の形態5と同じ処理となる。
(数19)を満たす場合(ステップS2034:YES)には、ステップS2035に移る。
ステップS2035では、現在のリファレンスクロックのマスタを取得する。
次いで、ステップS2036にて、現在ビデオマスタであると判定された場合、ステップS2037へ移る。ビデオマスタではない場合はステップS2015へ移る。
ステップS2037では、オーディオの同期制御状態を取得する。
次いで、ステップS2038にて、オーディオの同期制御状態が同期状態でない場合(ステップS2038:NO)はステップS2015へ移り、同期状態である場合(ステップS2038:YES)、ステップS2039へ移る。
ステップS2039では、マスタをオーディオに切り替える。
この自走処理ステップにおいて、自走カウンタがN以上になった場合にマスタの切替制御を行うことの意味するところは、以下の通りである。
記録されたストリームにおいて、マスタのストリーム(例えば、オーディオストリーム)のみに不連続が発生し、他方には不連続が発生していない場合、マスタが不連続後の強制同期処理を行うと、リファレンスクロックの補正を行うことになる。すなわち、リファレンスクロックにも不連続が発生することになる。結果、マスタではないストリーム(オーディオがマスタであれば、ビデオストリーム)は、リファレンスクロックに同期するように動作するため、不連続がないストリームにもかかわらず、同期制御処理によりデータの破棄や待ちが発生し連続再生されない。このような他方にのみ、特にマスタに指定されるストリームのみに、不連続がある場合において、不連続がない他方のストリームを滑らかに再生できるようにマスタ切替制御を導入している。
上記図18のフローチャートにおけるマスタ切替制御を図19のタイミングチャートを用いて示す。
図19はオーディオストリームに時間的不連続が発生しており、同期状態中はオーディオマスタで動作している場合に、本実施例を適用した場合のタイミングチャートである。
この図19において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば、音声フレーム2101におけるPTSは39である。また、図19ではオーディオマスタ動作を想定しているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、音声フレーム2101と音声フレーム2102の間に時間飛びが発生している。ビデオストリームには不連続はない。
さらに、(数13)における閾値t3は、ビデオ、オーディオともに10、(数14)における自走カウンタの閾値Mをオーディオに関しては4フレーム、(数19)におけるマスタ切替の閾値Nをオーディオに関しては2フレームとする。
まず、ビデオが同期状態、オーディオがマスタで同期状態にて再生中に、音声フレーム2102にてオーディオの不連続が発生する。このとき音声フレーム1802とリファレンスクロックの差分は18であり、また、自走カウンタは0であることから、(数13)における閾値t3=10を超えているため、自走処理が行われる。
次に、音声フレーム2103において、自走カウンタが3となり、(数19)を満たすため、マスタ切替制御を行い、マスタをオーディオからビデオに変更する。映像フレーム2106はリファレンスクロックに対し同期しているので、同期状態で出力を行い、リファレンスクロックを補正する。
これに対し、音声フレーム2104は、リファレンスクロックに対し差分18のため自走状態は継続される。この後、音声フレーム2105にて、自走カウンタが(数14)を満たさず強制同期処理を行う。
音声フレーム2105においてPTSとSTCの差分が18なので、音声フレーム2105の復号処理を停止し18時間分待ちを行う。その間、音声出力は無音となる。18時間分待った後、音声フレーム2105は復号され出力される。音声フレーム2107において、再び同期状態になるためオーディオマスタへマスタ切替を行い、通常状態に復帰する。このとき、映像フレームは一枚も欠けることなく連続して再生される。
以上のように、本発明の実施の形態6による同期再生装置によれば、受信電波が悪い状況下などで記録された多重化ストリームにおいて、オーディオストリーム、またはビデオストリームの他方のみに不連続があり、特にマスタとして位置づけられるストリームのみに不連続がある場合、マスタではない不連続のないストリームを途切れることなく連続して再生できる。
(7.実施の形態7)
実施の形態7では、本発明に係る携帯電話機について説明する。実施の形態7に係る携帯電話機2000は、実施の形態1で示した同期再生装置100を内部に備えている。
図20は本発明に係る携帯電話機2000の構成を示すブロック図である。この携帯電話機2000は、移動通信用の通信用無線部2401と、ベースバンド部2402と、デジタルテレビ放送を受信するためのTV用無線部2403と、TVチューナー2405と、各種制御を行うアプリケーション処理部2406と入出力部2407と、電源部2417から構成される。
通信用無線部2401及びベースバンド部2402は、無線電話通信を行うための信号処理を行うものである。
TV用無線部2403は、デジタルテレビ放送波を受信するものである。
TVチューナー2405は、TV用無線部2403で受信したデジタルテレビ放送波の信号処理を行うものである。
アプリケーション処理部2413は、通信部2413、同期再生装置2414、主制御部2415、及び蓄積部2416を有する。
通信部2413は、アプリケーション2406と外部との通信を行うインターフェースである。
同期再生装置2414は、実施の形態1で示した同期再生装置100と同様の構成を有するものである。
主制御部2415は、携帯電話機2000の各部を制御するCPU(Central Processing Unit)である。
蓄積部2416は、データを蓄積するメモリであり、特に、TV無線部2403で受信しTVチューナー2405で信号処理したデジタルテレビ放送データを蓄積する。
入出力部2407は、カメラ(CAM)2408、LCD(Liquid Crystal Display)2409、マイク(MIC)2410、SPK(スピーカー)2411、及びKEY(キー入力部)2412を有する。
カメラ2408は、撮像した撮像データを入力するものである。
LCD2409は、画像や映像を出力するものであり、特に、同期再生装置2414で再生出力される映像を出力する。
マイク2410は、音を入力するもので、例えば、無線電話通信時に、ユーザの音声を入力するのに用いられる。
スピーカー2411は、音を出力するもので、例えば、同期再生装置2414で再生出力される音声や、無線電話通信時に通話相手の音声を出力する。
キー入力部2412は、ユーザの入力操作を受付けるものである。
ここで、簡単に携帯電話機2000の動作について説明する。
デジタルテレビ視聴時または記録再生時の本発明の同期再生装置について、図20を用いて以下に説明を行う。
デジタルテレビ放送視聴に際しては、TVチューナー2405で選択されたチャンネルをTV用無線部2403にて受信し、アプリケーション処理部2406へ多重化ストリーム(MPEG2−TS)を入力する。アプリケーション処理部2406では、チューナーより受け取った多重化ストリームを同期再生装置2414へ入力する。同期再生装置2414において、入力された多重化ストリームは、図1における転送部101へ入力され、多重化データをオーディオ、ビデオデータに分離、復号することで再生が可能となる。
また、放送を記録する場合は、TVチューナー2405から入力される多重化ストリームを蓄積部2416に蓄積する。ここで、蓄積部2416は端末内部のメモリ、または端末から分離可能なメモリ、いずれでもよい。
蓄積された多重化ストリームの再生は、キー入力部2412を通じたユーザからのキー操作によって再生が開始され、蓄積部2416から多重化ストリームが同期再生装置2414へ入力される。同期再生装置2414では、入力された多重化ストリームをオーディオデータ、ビデオデータに分離、復号することでの再生が可能となる。
なお、ここでは、携帯電話機2000に実施の形態1に係る同期再生装置100を備える例を示したが、同様に、実施の形態2〜6に係る同期再生装置を備えることが可能なことは言うまでもない。
また、ここでは本発明の同期再生装置を適用した携帯電話機を例に挙げたが、本同期再生装置は、オーディオ機器や、映像が再生可能な様々な機器への適用が可能である。
本発明の同期再生装置は、符号化映像を再生する再生装置に広く適用可能であり、電波状態が悪い環境で録画された等の理由によりフレーム欠損のあるストリームの再生開始時に、最適なフレームから再生開始できる点、及び再生途中に映像信号と音声信号が途切れることなく再生を継続できる点で有用である。
本発明の実施の形態1に係る同期再生装置の構成を示すブロック図である。 本発明の実施の形態1に係るMPEG2−TSストリームのデータ構造図である。 本発明の実施の形態1に係るMPEG2−TSストリームとPESパケットの関係図である。 本発明の実施の形態1に係るPESパケットのデータ構造図である。 本発明の実施の形態1に係るビデオデータ検索処理を示すフローチャートである。 本発明の実施の形態1に係るオーディオデータ検索処理を示すフローチャートである。 本発明の実施の形態1に係る再生処理を示すフローチャートである。 本発明の実施の形態2に係る同期再生装置の構成を示すブロック図である。 本発明の実施の形態2に係るタイムアウト処理を示すフローチャートである。 本発明の実施の形態3に係る同期再生装置の構成を示すブロック図である。 本発明の実施の形態3に係るPESパケットのデータ構造図である。 本発明の実施の形態3に係るビデオデータ検索処理を示すフローチャートである。 本発明の実施の形態3に係るオーディオデータ検索処理を示すフローチャートである。 本発明の実施の形態4に係る同期制御処理を示すフローチャートである。 本発明の実施の形態4に係る同期制御処理を示すタイミングチャートである。 本発明の実施の形態5に係る同期制御処理を示すフローチャートである。 本発明の実施の形態5に係る同期制御処理を示すタイミングチャートである。 本発明の実施の形態6に係る同期制御処理を示すフローチャートである。 本発明の実施の形態6に係る同期制御処理を示すタイミングチャートである。 本発明に係る携帯電話機を示すブロック図である。 従来技術の同期再生装置の構成を示すブロック図である 従来技術の同期再生装置の処理を示すフローチャートである。 従来技術における再生処理を示す概念図である。 従来技術におけるフレーム検索処理を示す概念図である。 従来技術における再生中の処理を示す概念図である。
符号の説明
100、800、1000 同期再生装置
101、801、1301 転送部
102、802 多重分離部
103、803、1304 オーディオ復号部
104、804、1303 ビデオ復号部
105、108、805、808 PTS取得部
106、109 PTS保持部
107、110 PTS比較部
111、811、1305 同期制御部
112、812、1313 リファレンスクロック部
813 オーディオ時間管理部
814 ビデオ時間管理部
1302 システムデコーダ
2000 携帯電話機

Claims (11)

  1. 所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅に相当するフレームから再生を開始する機能を有する再生装置であって、
    フレーム毎に、フレーム再生時刻情報を取得する取得部と、
    前記取得部で取得したフレーム再生時刻情報を保持する保持部と、
    フレーム毎に、前記取得部で取得した現フレーム再生時刻情報が、前記指定された再生開始時間幅に含まれるか否かを判定し、含まれないと判定された場合はさらに、前記現フレーム再生時刻情報と、前記保持部に保持されている前のフレームにおける前フレーム再生時刻情報との差分が、前記所定時間間隔を超えるか否かを判定する比較部と、
    前記比較部で、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判断された場合は、前記現フレーム再生時刻情報が付加されたフレームから再生を開始する再生出力部とを備える
    ことを特徴とする再生装置。
  2. 前記データストリームは、所定時間毎に、プログラム参照時刻情報を含むものであり、
    さらに、前記プログラム参照時刻情報を取得し、取得した現プログラム参照時刻情報と、前記所定時間前に取得した前プログラム参照時刻情報とを比較して、前記現プログラム参照時刻情報と前記前プログラム参照時刻情報との差分が所定の閾値を超えていた場合は、プログラム参照時刻情報が不連続であることを検出するとともに前記現プログラム参照時刻情報を保持する検出部を備え、
    前記比較部は、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判定された場合で、且つ前記検出部で前記現プログラム参照時刻情報が保持されている場合は、さらに、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が、前記所定時間を超えるか否かを判定し、
    前記再生出力部は、前記比較部で、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が前記所定時間を超えると判定された場合のみ、前記現フレーム再生時刻が付加されたフレームから再生を開始する
    ことを特徴とする請求項1記載の再生装置。
  3. MPEG(Moving Picture Experts Group)規格に準拠するものであり、
    前記フレーム再生時刻情報は、MPEG規格で定められたPTS(Presentation Time Stamp)であり、
    前記プログラム参照時刻情報は、MPEG規格で定められたPCR(Program Clock Reference)である
    ことを特徴とする請求項2記載の再生装置。
  4. フレーム単位に映像再生時刻情報が付加された映像フレームと、フレーム単位で音声再生時刻情報が付加された音声フレームとから成るデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅
    に相当する映像フレーム及び音声フレームから再生を開始する機能を有する再生装置であって、
    映像フレームから映像フレーム再生時刻情報の取得、及び音声フレームから音声フレーム再生時刻情報の取得を行う取得部と、
    前記取得部で取得した映像フレームの映像フレーム再生時刻情報が前記指定された再生開始時間幅に含まれるか否かの判定、及び前記取得部で取得した音声フレームの音声フレーム再生時刻情報が前記指定された再生開始時間幅に含まれるか否かの判定を行う比較部と、
    映像フレーム及び音声フレームの復号及び再生出力を行う復号部とを備え、
    前記取得部で取得した映像フレーム再生時刻情報が前記再生開始時間幅に含まれるか否かを前記比較部が判定するために要する上限時間Tvと、前記取得部で取得した音声フレーム再生時刻情報が前記再生開始時間幅に含まれるか否かを前記比較部が判定するために要する上限時間Taとが設定されており、
    (i)上限時間Tv>Taを満たすとき、前記復号部は、前記取得部で取得した音声フレーム再生時刻情報が前記再生開始時間幅に含まれず上限時間Taが経過した時に、映像フレームの復号が完了している場合、当該映像フレームを再生出力し、
    (ii)上限時間Tv<Taを満たすとき、前記復号部は、前記取得部で取得した映像フレーム再生時刻情報が前記再生開始時間幅に含まれず上限時間Tvが経過した時に、音声フレームの復号が完了している場合、当該音声フレームを再生出力する
    ことを特徴とする再生装置。
  5. 所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号し、自装置内のシステム基準クロックと同期して再生する再生装置であって、
    フレーム毎に、フレーム再生時刻情報と、前記システム基準クロックが示す時刻とを比較する比較部と、
    前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致すると判断された場合、当該フレーム再生時刻情報が付加されているフレームを復号して再生出力する復号部と、
    前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合は、当該フレーム再生時刻情報が付加されたフレームを復号して前記システム基準クロックと非同期で再生出力するよう前記復号部に指示する制御部と、
    前記制御部の指示により、前記復号部が前記システム基準クロックと非同期で再生出力したフレームをカウントするカウント部とを備え、
    前記制御部はさらに、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームを強制的に前記システム基準クロックと同期させて再生出力するよう前記復号部に指示する強制同期処理を実行する
    ことを特徴とする再生装置。
  6. 前記制御部は、前記強制同期処理として、(i)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、フレーム再生時刻情報が、システム基準クロックが示す時刻と一致するまで待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力するよう前記復号部に指示し、(ii)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を下回ると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームは再生出力しないよう前記復号部に指示する
    ことを特徴とする請求項5記載の再生装置。
  7. 前記制御部は、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合において、さらに、フレーム再生時刻情報とシステム基準クロックが示す時刻との差分が所定差分t1を超える場合のみ、t1より小さい所定の時間t2だけ待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力する
    ことを特徴とする請求項6記載の再生装置。
  8. 前記フレームは、第1メディアに係る第1メディアフレームと、第2メディアに係る第2メディアフレームに分かれており、前記第1メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するものであり、
    前記比較部は、フレームについて、第1メディアフレームと第2メディアフレームとを区別して、それぞれのフレーム再生時刻情報とシステム基準クロックが示す時刻とを比較し、
    前記カウント部は、フレームのカウントについて、第1メディアフレームと第2メディアフレームとを区別してカウントし、
    前記制御部は、前記比較部で、前記フレームの内第1メディアフレームについての再生時刻情報が、前記システム基準クロックと一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力された第1メディアフレームがカウントされた場合においては、前記第2メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するよう変更する
    ことを特徴とする請求項5記載の再生装置。
  9. 請求項1乃至8のいずれか1項に記載の再生装置を備えることを特徴とする携帯電話機。
  10. 所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅に相当するフレームから再生を開始する機能を有する再生装置における再生方法であって、
    フレーム毎に、フレーム再生時刻情報を取得する取得ステップと、
    前記取得ステップで取得したフレーム再生時刻情報を保持する保持ステップと、
    フレーム毎に、前記取得ステップで取得した現フレーム再生時刻情報が、前記指定された再生開始時間幅に含まれるか否かを判定し、含まれないと判定された場合はさらに、前記現フレーム再生時刻情報と、前記保持ステップで保持されている前のフレームにおける前フレーム再生時刻情報との差分が、前記所定時間間隔を超えるか否かを判定する比較ステップと、
    前記比較ステップで、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判断された場合は、前記現フレーム再生時刻情報が付加されたフレームから再生を開始する再生出力ステップとを含む
    ことを特徴とする再生方法。
  11. 所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号し、自装置内のシステム基準クロックと同期して再生する再生装置における再生方法であって、
    フレーム毎に、フレーム再生時刻情報と、前記システム基準クロックが示す時刻とを比較する比較ステップと、
    前記比較ステップで、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致すると判断された場合、当該フレーム再生時刻情報が付加されているフレームを復号して再生出力する第1再生出力ステップと、
    前記比較ステップで、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合は、当該フレーム再生時刻情報が付加されたフレームを復号して前記システム基準クロックと非同期で再生出力する第2再生出力ステップと、
    前記第2再生出力ステップで、前記システム基準クロックと非同期で再生出力したフレームをカウントするカウントステップと、
    前記比較ステップで、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合で、且つ前記カウントステップにより、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームを強制的に前記システム基準クロックと同期させて再生出力するよう強制同期処理を実行する強制同期処理ステップとを含む
    ことを特徴とする再生方法。
JP2008502771A 2006-02-27 2007-02-26 再生装置、携帯電話機、及び再生方法 Active JP4852094B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008502771A JP4852094B2 (ja) 2006-02-27 2007-02-26 再生装置、携帯電話機、及び再生方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006049672 2006-02-27
JP2006049672 2006-02-27
JP2008502771A JP4852094B2 (ja) 2006-02-27 2007-02-26 再生装置、携帯電話機、及び再生方法
PCT/JP2007/053512 WO2007099906A1 (ja) 2006-02-27 2007-02-26 再生装置、携帯電話機、及び再生方法

Publications (2)

Publication Number Publication Date
JPWO2007099906A1 true JPWO2007099906A1 (ja) 2009-07-16
JP4852094B2 JP4852094B2 (ja) 2012-01-11

Family

ID=38459013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008502771A Active JP4852094B2 (ja) 2006-02-27 2007-02-26 再生装置、携帯電話機、及び再生方法

Country Status (6)

Country Link
US (1) US20090116814A1 (ja)
EP (1) EP1995960A4 (ja)
JP (1) JP4852094B2 (ja)
KR (1) KR20080108432A (ja)
CN (1) CN101390388B (ja)
WO (1) WO2007099906A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8948309B2 (en) * 2005-07-26 2015-02-03 Broadcom Corporation Method and system for redundancy-based decoding of video content in a wireless system
US7817584B2 (en) * 2007-02-28 2010-10-19 International Business Machines Corporation Method and system for managing simultaneous electronic communications
KR101489351B1 (ko) * 2008-11-28 2015-02-03 삼성전자 주식회사 배터리 잔량에 따른 동영상 재생 가능 시간 표시 방법 및 장치
JP5137857B2 (ja) * 2009-01-09 2013-02-06 株式会社日立国際電気 移動受信端末および中継装置
US8655143B2 (en) * 2009-04-01 2014-02-18 Cisco Technology, Inc. Supplementary buffer construction in real-time applications without increasing channel change delay
US8731000B2 (en) 2009-09-30 2014-05-20 Cisco Technology, Inc. Decoding earlier frames with DTS/PTS backward extrapolation
JP5101668B2 (ja) 2009-11-27 2012-12-19 株式会社東芝 デジタルビデオ収録再生装置
JP5544863B2 (ja) * 2009-12-17 2014-07-09 富士通株式会社 受信装置、受信方法及び受信プログラム
JP5765558B2 (ja) 2010-08-27 2015-08-19 ソニー株式会社 受信装置、受信方法、送信装置、送信方法、プログラム、および放送システム
CN103561818A (zh) 2011-06-01 2014-02-05 荷兰联合利华有限公司 可共挤出的多相洁齿剂组合物
CN102811380B (zh) * 2011-06-03 2015-02-18 三星电子(中国)研发中心 多媒体文件中音视频数据的解复用方法及装置
EP2530948A1 (en) * 2011-06-03 2012-12-05 Samsung Electronics Co., Ltd. Method and device for demultiplexing audio & video data of multimedia file
JP2014072861A (ja) * 2012-10-01 2014-04-21 Toshiba Corp 情報処理装置、情報処理プログラムおよび情報処理方法
WO2014069081A1 (ja) * 2012-10-30 2014-05-08 三菱電機株式会社 映像音声再生システム、映像表示装置、及び音声出力装置
CN109889888B (zh) * 2013-06-05 2022-04-01 太阳专利托管公司 再现方法、装置及生成方法、装置
CN103581730A (zh) * 2013-10-28 2014-02-12 南京熊猫电子股份有限公司 在数字机顶盒上实现音视频同步的方法
JP6506009B2 (ja) * 2013-11-22 2019-04-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置、及び受信装置
US20170250927A1 (en) * 2013-12-23 2017-08-31 Dali Systems Co. Ltd. Virtual radio access network using software-defined network of remotes and digital multiplexing switches
WO2016129303A1 (ja) * 2015-02-10 2016-08-18 ソニー株式会社 画像処理装置、撮像装置、画像処理方法、および、プログラム
CN106034263B (zh) * 2015-03-09 2020-03-03 腾讯科技(深圳)有限公司 媒体文件中音视频的校准方法、装置及存储介质
EP3285492B1 (en) * 2015-04-13 2021-06-02 Sony Corporation Reproduction device and reproduction method
CN104967895B (zh) * 2015-06-26 2018-05-11 广州德浩科视电子科技有限公司 一种视频行场同步信号产生方法及系统
CN106470291A (zh) * 2015-08-19 2017-03-01 飞思卡尔半导体公司 从音频/视频解码器中的时间同步中的中断中恢复
KR20180080186A (ko) * 2015-11-05 2018-07-11 소니 주식회사 컨텐츠 재생 장치, 및 컨텐츠 재생 방법
CN105898500A (zh) * 2015-12-22 2016-08-24 乐视云计算有限公司 网络视频播放方法及装置
US10361814B2 (en) * 2016-06-15 2019-07-23 Friday Harbor Llc Encoding for frameless packet transmissions
CN109729404B (zh) * 2019-01-15 2021-06-04 晶晨半导体(上海)股份有限公司 一种基于嵌入式的播放器的同步调制方法
US10904606B1 (en) 2020-01-23 2021-01-26 Roku, Inc. Using non-audio data embedded in an audio signal

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396497A (en) * 1993-02-26 1995-03-07 Sony Corporation Synchronization of audio/video information
JPH0750818A (ja) 1993-08-06 1995-02-21 Matsushita Electric Ind Co Ltd 音声と映像のパケット同期転送制御方法
US5559999A (en) * 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
TW305043B (ja) * 1995-09-29 1997-05-11 Matsushita Electric Ind Co Ltd
TW436777B (en) * 1995-09-29 2001-05-28 Matsushita Electric Ind Co Ltd A method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween
US5784527A (en) * 1996-03-22 1998-07-21 Cirrus Logic, Inc. System and method for error handling during playback of an audio/video data stream
US6031584A (en) * 1997-09-26 2000-02-29 Intel Corporation Method for reducing digital video frame frequency while maintaining temporal smoothness
WO2000049803A1 (fr) * 1999-02-18 2000-08-24 Kabushiki Kaisha Toshiba Support d'enregistrement pour flux de donnees, procede d'enregistrement et procede de reproduction associes
JP3542976B2 (ja) 2000-03-29 2004-07-14 松下電器産業株式会社 圧縮符号化データ再生方法および装置
TW526666B (en) * 2000-03-29 2003-04-01 Matsushita Electric Ind Co Ltd Reproducing method for compression coded data and device for the same
US7508874B2 (en) * 2002-01-29 2009-03-24 Broadcom Corporation Error concealment for MPEG decoding with personal video recording functionality
JP2003259314A (ja) * 2002-02-26 2003-09-12 Nippon Hoso Kyokai <Nhk> 映像音声同期方法及びそのシステム
US7899302B2 (en) * 2002-12-16 2011-03-01 Koninklijke Philips Electronics N.V. System for modifying the time-base of a video signal
JP3943516B2 (ja) * 2003-03-27 2007-07-11 松下電器産業株式会社 画像再生装置

Also Published As

Publication number Publication date
WO2007099906A1 (ja) 2007-09-07
JP4852094B2 (ja) 2012-01-11
CN101390388A (zh) 2009-03-18
US20090116814A1 (en) 2009-05-07
KR20080108432A (ko) 2008-12-15
EP1995960A4 (en) 2009-08-05
EP1995960A1 (en) 2008-11-26
CN101390388B (zh) 2010-09-15

Similar Documents

Publication Publication Date Title
JP4852094B2 (ja) 再生装置、携帯電話機、及び再生方法
EP2007006A2 (en) Inverter device and air conditioner
WO2013136754A1 (ja) 表示装置、及び送信装置
JP3698376B2 (ja) 同期再生装置
EP2227910B1 (en) Reducing media stream delay through independent decoder clocks
EP1956848A2 (en) Image information transmission system, image information transmitting apparatus, image information receiving apparatus, image information transmission method, image information transmitting method, and image information receiving method
JP4983923B2 (ja) デコーダ装置、およびデコード方法
US20070081563A1 (en) Synchronization device and synchronization method in digital broadcast receiver
EP2545708B1 (en) Method and system for inhibiting audio-video synchronization delay
US8331763B2 (en) Apparatus and method for synchronizing reproduction time of time-shifted content with reproduction time of real-time content
JP4987034B2 (ja) 映像表示装置
JP2009021885A (ja) デジタルテレビ放送記録再生装置およびその再生方法
JP2006254298A (ja) 動画再生装置及び動画再生方法
JP2003101962A (ja) 同期再生装置及び方法
JP5020422B2 (ja) 映像表示装置
JP2005346781A (ja) デジタル情報再生装置及び方法
JP2010258489A (ja) 映像表示装置、受信装置、送受信システム、及び映像表示方法
JP4953707B2 (ja) デジタル放送受信機
KR20030082117A (ko) 디지털 방송 수신기에서의 오디오/비디오 립 싱크 제어 방법
JP2004320787A (ja) 連続メディア切り出し装置
JPH099215A (ja) データ多重方法、データ伝送方法、及び多重データ復号方法、多重データ復号装置
JP2002281498A (ja) 受信再生装置
WO2003094518A1 (en) Method of data synchronisation
JP2004007541A (ja) データ多重方法及び多重データ復号方法
JP2008066770A (ja) コンテンツ受信装置、コンテンツ送受信システム、及びコンテンツ送受信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090629

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4852094

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250