JPWO2007099906A1 - 再生装置、携帯電話機、及び再生方法 - Google Patents
再生装置、携帯電話機、及び再生方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 348
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 title 1
- 230000008569 process Effects 0.000 claims description 321
- 238000012545 processing Methods 0.000 claims description 198
- 238000001514 detection method Methods 0.000 claims description 30
- 230000001360 synchronised effect Effects 0.000 description 192
- 238000012546 transfer Methods 0.000 description 118
- 238000010586 diagram Methods 0.000 description 24
- 238000012937 correction Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 20
- 230000006978 adaptation Effects 0.000 description 19
- 238000002360 preparation method Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 16
- 230000002123 temporal effect Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 14
- 239000000284 extract Substances 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 10
- 230000003111 delayed effect Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000008929 regeneration Effects 0.000 description 6
- 238000011069 regeneration method Methods 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation 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/806—Transformation 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/8063—Transformation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/2368—Multiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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/43072—Synchronising 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4341—Demultiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring 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/4425—Monitoring of client processing errors or hardware failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation 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/8042—Transformation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation 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/8205—Transformation 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
Description
TSパケットは、4バイトの固定長のパケットヘッダと、可変長のアダプテーションフィールド及びペイロードで構成される。パケットヘッダには、PID(パケット識別子)や各種のフラグが定義されている。このPIDにより、TSパケットの種類が識別される。
このようなMPEG2−TSでは、復号を行う復号器内部の基準信号であるSTC(System Time Clock)の時間を合わすために、所定時間毎に、PCR(Program Clock Reference)が送られる。
復号器内部において、STC(System Time Clock)は、STCカウンタでカウントされる。このSTCカウンタの時刻は、PCRの時刻に基づいて校正される。
このように、MPEG2−TSでは、PCRに同期して進められるSTCのカウント値と、ビデオ及びオーディオのPESパケットに付加されて送られてくるPTSの値とを比較し、ビデオ、オーディオそれぞれがSTCのカウント値とPTSの値が一致するタイミングで表示処理やデコード処理を開始することにより、AV同期再生を実現している。
蓄積されたストリームのAV同期手法としては、再生オーディオ信号の出力を重視する方法であるオーディオマスタ(例えば、特許文献1参照)が適用されている。オーディオマスタ方式では、各オーディオフレームを出力すると同時に各オーディオフレームの出力時刻を用いてSTCが更新し、このとき各ビデオフレームの表示時刻はSTCと比較され、その比較の結果により各ビデオフレームの表示を早めたり遅らせたりする操作を行っている。
ところで、蓄積されたストリームのAV再生開始の際の制御として、再生開始時間(以下、エントリポイント)を定義し、好きなポイント(時間)から再生を開始する手法がある。
図21は同期再生装置の構成を示している。図21において、同期再生装置は、ストリームを転送する転送部1301、入力されたストリームから必要な情報を抽出するシステムデコーダ1302、ビデオフレームを復号化するビデオ復号部1303、オーディオフレームを復号化するオーディオ復号部1304、各構成要素の動作タイミングを制御するための同期制御部1305を備える。このように構成された同期再生装置のエントリポイントによる再生開始の動作について説明する。
まず、動作が開始されると、ステップ1401にて、外部からのエントリポイント値の設定とエントリポイントによる再生開始が通知されると、転送部1301と各復号部1302、1303、1304に起動要求を出す。この要求を受けて、転送部1301と各デコーダ1302、1303、1304は起動処理を行う。
ビデオ復号部1303は、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSとエントリポイントがある特定のしきい値内で一致するまで、システムデコーダ1302から受信したビデオ符号化データからビデオフレームの復号を行う。このときは、まだ復号処理だけを行い、表示出力は行わない。
次いで、ステップ1405にて、ビデオ復号部1303にビデオフレーム同期出力要求を出す。この要求を受けてビデオ復号部1303は、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSとエントリポイントとがある特定のしきい値内で一致したビデオフレームの復号と同時に表示出力も行う。この段階で、初めてビデオフレームの表示出力が行われ、以後、ビデオ復号部1303、同期制御部1305による、STCとシステムデコーダ1302から受信するビデオフレーム用PTSとを用いた同期制御のもとで、システムデコーダ1302から受信するビデオ符号化データからのビデオフレームの復号と表示出力を次々に行っていく。
また、ステップ1406にてシステムデコーダ1302から受信したオーディオフレーム用PTSと、STCとがある特定のしきい値内で一致した場合、ステップ1407に移り、オーディオ復号部1304にオーディオフレーム同期出力要求を出す。
また、特許文献3には、異常判定用のタイマを設けることによって、所定の時間が経過しても、ビデオフレームあるいはオーディオフレームの一方しか出力準備完了していない場合に、この時点で出力準備完了している、ビデオフレームまたはオーディオフレームの一方だけに出力要求を可能とし、入力されたストリーム中にエントリポイントに相当するビデオフレームとオーディオフレームの一方しか存在しない場合でも、再生開始を正常に行うことが可能な同期再生装置が開示されている。
このような状態において、従来例では、一定時間自走モードが継続された場合、ビデオまたはオーディオの再生を停止し再度開始状態に戻してから再生するという方法を行っていた。しかしながら、再生を一旦停止し再開する際は、初期状態に戻るため、起動処理が必要であり、さらにはすでにバッファ等に蓄積されているデータも破棄されるため、再生復帰までの時間がかかり、その間、映像またはオーディオが何も出力されない状態が長時間継続されるという問題が生じる。
第2の態様に係る再生装置によれば、エントリポイントと一致するフレームの検索の際に上限時間を音声フレームと映像フレームで個別管理することで、再生開始時、片方のみのデータしか存在しない場合、開始データ検索時間の長いほうに影響を受けることなくフレームの出力することが可能である。
また、上記第1態様に係る同期再生装置において、前記データストリームは、所定時間毎に、プログラム参照時刻情報を含むものであり、さらに、前記プログラム参照時刻情報を取得し、取得した現プログラム参照時刻情報と、前記所定時間前に取得した前プログラム参照時刻情報とを比較して、前記現プログラム参照時刻情報と前記前プログラム参照時刻情報との差分が所定の閾値を超えていた場合は、プログラム参照時刻情報が不連続であることを検出するとともに前記現プログラム参照時刻情報を保持する検出部を備え、前記比較部は、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判定された場合で、且つ前記検出部で前記現プログラム参照時刻情報が保持されている場合は、さらに、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が、前記所定時間を超えるか否かを判定し、前記再生出力部は、前記比較部で、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が前記所定時間を超えると判定された場合のみ、前記現フレーム再生時刻が付加されたフレームから再生を開始することとしてもよい。
また、上記第1態様に係る同期再生装置は、MPEG(Moving Picture Experts Group)規格に準拠するものであり、前記フレーム再生時刻情報は、MPEG規格で定められたPTS(Presentation Time Stamp)であり、前記プログラム参照時刻情報は、MPEG規格で定められたPCR(Program Clock Reference)であることとしてもよい。
また、上記第3態様に係る同期再生装置において、前記制御部は、前記強制同期処理として、(i)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、フレーム再生時刻情報が、システム基準クロックが示す時刻と一致するまで待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力するよう前記復号部に指示し、(ii)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を下回ると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームは再生出力しないよう前記復号部に指示することとしてもよい。
また、上記第3態様に係る同期再生装置において、前記制御部は、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合において、さらに、フレーム再生時刻情報とシステム基準クロックが示す時刻との差分が所定差分t1を超える場合のみ、t1より小さい所定の時間t2だけ待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力することとしてもよい。
また、上記第3態様に係る同期再生装置において、前記フレームは、第1メディアに係る第1メディアフレームと、第2メディアに係る第2メディアフレームに分かれており、前記第1メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するものであり、前記比較部は、フレームについて、第1メディアフレームと第2メディアフレームとを区別して、それぞれのフレーム再生時刻情報とシステム基準クロックが示す時刻とを比較し、前記カウント部は、フレームのカウントについて、第1メディアフレームと第2メディアフレームとを区別してカウントし、前記制御部は、前記比較部で、前記フレームの内第1メディアフレームについての再生時刻情報が、前記システム基準クロックと一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力された第1メディアフレームがカウントされた場合においては、前記第2メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するよう変更することとしてもよい。
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を備える。
多重分離部102は、多重ストリームからビデオPESパケット(PESパケット、以下に説明)内のPESヘッダから再生時間情報であるビデオPTSと、ビデオ符号化データを抽出し、ビデオ復号部104とビデオPTS取得部105に転送し、また、オーディオPESパケット内のPESヘッダから再生時間情報であるオーディオPTSと、オーディオ符号化データを抽出し、オーディオ復号部103、オーディオPTS取得部108に転送するものである。
ビデオ復号部104は、ビデオ符号化データを復号するものである。
オーディオPTS取得部108は、多重分離部102で抽出されたオーディオPTSを取得するものである。
オーディオPTS保持部109は、オーディオPTS取得部108で取得したオーディオPTSを保持するものである。
ビデオPTS取得部105は、多重分離部102で抽出されたビデオPTSを取得するものである。
ビデオPTS比較部107は、ビデオPTS取得部105で取得したビデオPTSとビデオPTS保持部106に保持されているビデオPTSとを比較するものである。
同期制御部111は、各構成要素の動作タイミングを制御するものである。
(1−2.データ)
ここで、図2を用いて、MPEG2−TSストリームのデータ構造を説明する。図2において、501はMPEG2−TSストリームである。MPEG2−TSストリーム501は、188バイト固定長の複数のTSパケットから構成される。MPEG2−TSパケット(TS Packet)502はヘッダ(TS Header)503とペイロード(Payload)504とから成る。
(1−3.動作)
図5、図6及び図7は本実施の形態1による同期再生装置100におけるエントリポイント再生開始の動作手順を示すフローチャートであり、以下、図5、図6及び図7のフローチャートに従って、再生開始までの動作を詳しく説明する。
外部からビデオ用エントリポイント値が設定されると、ビデオフレーム出力完了フラグが“0”にクリアされて処理が開始する。
次いで、ステップS203にて、多重分離部102は、ビデオ符号化データとビデオPTSを抽出し、ビデオ符号化データを、ビデオ復号部104へ転送し、ビデオPTSを、ビデオPTS取得部105へ転送する。
次いで、ステップS205にて、同期制御部111は、外部から指定されたエントリポイント値とビデオPTS取得部105で取得した現PTSとの比較を行い、エントリポイントに相当するビデオフレームかどうかを判断する。エントリポイントに相当するビデオフレームと判定された場合は、後述するステップS206に移る。
ここで、エントリポイント判定は次の条件式である(数1)を用いる。(数1)において、EPv1は外部から設定されたエントリポイントを、Tv1はフレーム単位時間、PTSnv1はステップS203にて抽出されたビデオPTSを示す。Tv1はビデオフレームの1フレーム単位時間を使用する。例えば、1フレーム単位時間は、15fpsで66ms、30fpsで33msとなる。ただし、この数式はあくまで例であり、これに限定されるものではない。
EPv1−1/2×Tv1<PTSnv1≦EPv1+1/2×1/2×Tv1
エントリポイント値と現PTSが一致した場合(ステップS205:YES)、ステップS206にて、同期制御部111は、ビデオ復号部104に対して復号許可信号を通知し、ビデオ復号部104は、同期制御部111からの復号許可信号によりビデオ符号化データの復号処理を行う。復号化されたビデオフレームは、ビデオ復号部104内のフレームバッファに格納される。
一方、エントリポイント値と現PTSが一致しない場合(ステップS205:NO)、ステップS208にて、ビデオPTS比較部107は、ビデオPTS取得部105で取得されたPTS(以下、現PTS)とビデオPTS保持部106で保持された前回のビデオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定には次の条件式である(数2)を用いる。この条件式が成立する場合、後述するステップS209に移る。逆にギャップと判定されない場合、後述するステップS210に移る。なお、この処理は、最初のビデオフレームにおいては、ビデオPTS保持部106には前PTSは保持されていないため行わない。(数2)において、Xv1は外部から設定される閾値でギャップと判断するための値である。Xv1は、フレーム周期より大きく与えられるのが望ましい。
現PTS値−前PTS値<0 または、現PTS値-前PTS値>Xv1
ギャップ判定において条件式(2)が成立する場合(ステップS208:YES)、ステップS209にて、ギャップを検出したビデオフレームは、フェイルセーフデータであるとし、ステップS206に移る。
次いで、ステップS211にて、ビデオPTS保持部106は、現PTS値を前PTSとして置き換える。つまり、現PTSを次のビデオフレームのギャップ処理で使用するため、前PTSとして保存する。その後、ステップS203の処理に移り処理を継続する。
まず、ステップS301にて、転送部101に対してストリーム供給要求を出す。この要求を受けて、転送部101は、エントリポイントを含んだ多重ストリームを多重分離部102への転送を行う。なお、ここまでの処理は、ビデオフレームの場合と同様な処理である。
次いで、ステップS303にて、多重分離部102は、オーディオ符号化データとオーディオPTSを抽出し、オーディオ符号化データは、オーディオ復号部103へ転送され、オーディオPTSは、オーディオPTS取得部108へ転送される。
次いでステップS305にて、同期制御部111は、外部から指定されたエントリポイント値とオーディオPTS取得部108で取得した現PTSとの比較を行い、エントリポイントに相当するオーディオフレームかどうかを判断する。エントリポイントに相当するオーディオフレームと判定された場合は、後述するステップS306に移る。
ここで、エントリポイント判定は次の条件式である(数3)を用いる。(数3)において、EPa1は外部から設定されたエントリポイントを、Ta1はフレーム単位時間、PTSna1はステップS303で抽出されたオーディオPTSを示す。Ta1はオーディオフレームの1フレーム単位時間を使用する。例えば、AAC24kHzの場合、42ms、AAC48kHzの場合、22msが与えられる。ただし、この数式はあくまで例であり、これに限定されるものではない。
EPa1−1/2×Ta1<PTSna1≦EPa1+1/2×1/2×Ta1
エントリポイント値と現PTSが一致した場合(ステップS305:YES)、ステップS306にて、同期制御部111は、オーディオ復号部103に対して復号許可信号を通知し、オーディオ復号部103は、同期制御部111からの復号許可信号によりオーディオ符号化データの復号処理を行う。復号化されたオーディオフレームは、オーディオ復号部103内のフレームバッファに格納される。
一方、エントリポイント値と現PTSが一致しない場合(ステップS305:NO)、ステップS308にて、オーディオPTS比較部110は、オーディオPTS取得部108で取得されたPTS(以下、現PTS)とオーディオPTS保持部109で保持された前回のオーディオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数4)を用いる。この条件式が成立する場合、後述するステップS309に移る。逆にギャップと判定されない場合、後述するステップS310に移る。なお、この処理は、最初のオーディオフレームにおいては、オーディオPTS保持部109には前PTSは保持されていないため行わない。Xa1は外部から設定される閾値で、ギャップと判断するための値である。Xa1は、フレーム周期より大きく与えられるのが望ましい。
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xa1
ギャップ判定において条件式(4)が成立する場合(ステップS308:YES)、ステップS309にて、ギャップを検出したオーディオフレームは、フェイルセーフデータであるとし、ステップS306に移る。
また、ステップS311にて、ビデオPTS保持部109は、現PTS値と前PTSを置き換える。つまり、現PTSを次のオーディオフレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS303の処理に移り処理を継続する。
ステップS401にて、ビデオフレームとオーディオフレームがともに出力準備完了になるまで待ち続ける。ビデオフレームとオーディオフレームがともに出力準備完了した場合、ステップS402に移る。
フェイルセーフデータでないフレームがある場合(ステップS402:NO)で、ステップS403において、オーディオフレームのみフェイルセーフデータと判定された場合、後述するステップS408へ移る。逆にそうでないならば、後述するステップS404へ移る。
ビデオフレームとオーディオフレームともにフェイルセーフデータであった場合(ステップS402:YES)、またはビデオフレームとオーディオフレームともにフェイルセーフデータではない場合(ステップS404:NO)、ステップS405において、出力準備完了したフレームのオーディオPTSとビデオPTSとの比較を行い、オーディオPTS値≦ビデオのPTS値が成立する場合、オーディオマスタで開始すると判断し、後述するステップS406へ移る。逆に、オーディオのPTS値≦ビデオのPTS値が成立しない場合、ビデオマスタで開始すると判断し、後述するステップS408へ移る。
次いで、ステップS407において、同期制御部111は、ビデオのPTSとリファレンスクロックで取得したSTCの差分値から同期の合わせこみを行う。PTSとSTCが一致したと判定された場合、ビデオ復号部104に対してビデオフレームの再生指示を出す。
次いで、ステップS409において、同期制御部111は、オーディオのPTSとリファレンスクロックで取得したSTCの差分値から同期の合わせこみを行う。PTSとSTCの差分が一致したと判定された場合、オーディオ復号部103に対してオーディオフレームの再生指示を出す。
(2.実施の形態2)
次に、本発明の実施の形態2について説明する。
以下、実施の形態2について、実施の形態1と異なる点を中心に説明する。
(2−1.構成)
図8は実施の形態2に係る同期再生装置800の構成を示す図である。
ビデオ時間管理部814は、予め設定していた時間になった際に同期制御部811にビデオタイムアウト信号を通知するものである。
オーディオ時間管理部813、ビデオ時間管理部814に設定できる時間は個別に与えることが可能である。
(2−2.動作)
図9は本実施の形態2における、エントリポイントに対応するフレーム検索時のタイムアウト処理動作を示すフローチャートである。
オーディオフレームの開始データ決定までの動作は実施の形態1の図6で示した動作と同様である。また、ビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作は実施の形態1の図7で示した動作と同様である。
ここで、ビデオ時間管理部814に設定していた時間をTev、オーディオ時間管理部813に設定していた時間をTeaとする。時間Tev、時間Teaは、転送されるストリームに対して、エントリポイントと一致するフレームを十分に検出可能な時間が与えられているものとする。
ステップS902では、同期制御部811がビデオフレームの出力準備完了フラグが立っていると判定したならば、後述するステップS903に移り、そうでないならば処理を終了する。
オーディオ時間管理部813からタイムアウト信号は受信していない(ステップS901:NO)が、ステップS904にて、同期制御部811からタイムアウト信号を受信した場合、後述するステップS905に移り、逆にそうでないならば処理は終了する。
次いで、ステップS906において、同期制御部811は、オーディオ復号部803に再生指示を出し、同時に、オーディオPTSでリファレンスクロック部812の補正を行う。なお、オーディオPTSの補正処理は、オーディオ再生の出力タイミングであるフレーム周期で行う。
(3.実施の形態3)
次に、本発明の実施の形態3について説明する。
以下、実施の形態3について、実施の形態1と異なる点を中心に説明する。
(3−1.構成)
図10は実施の形態3による同期再生装置1000の構成を示す図である。
(3−2.データ)
ここで、MPEG2−TSストリームに付随するPCRについて、図12を用いて説明する。
(3−3.動作)
図12及び図13は本実施の形態3による同期再生装置1000におけるエントリポイント再生開始の動作手順を示すフローチャートであり、以下、図12及び図13のフローチャートに従って、再生開始までの動作を詳しく説明する。
外部からビデオ用エントリポイント値が設定され、ビデオフレーム出力完了フラグが“0”クリアされて処理が開始する。
現PCR値−前PCR値<0 または 現PCR値−前PCR値>Ya
現PCRと前PCRとが不連続である場合(ステップS1102:YES)、ステップS1103にて、不連続検出部1002は、TSパケットの不連続点であるPCRを保持し、またビデオPTS比較部1011に転送する。また、不連続検出部1002は、多重ストリームを多重分離部1003に転送する。
次いで、ステップS1104にて、多重分離部1003は、転送されたPESパケットが先頭PESパケットである場合は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。なお、先頭PESパケットに続くPESパケットについては、当該ステップS1104で検出はされずにステップS1105に移る。
次いで、ステップS1106にて、ビデオPTS取得部1009は、多重分離部1003から転送されたPTSを同期制御部1012へ転送すると同時に、ビデオPTS保持部1010へ転送する。
エントリポイントに相当するビデオフレームと判定されなかった場合は、後述するステップS1110に移る。
EPv3−1/2×Tv3<PTSnv1≦EPv3+1/2×1/2×Tv3
エントリポイント値と現PTSが一致した場合(ステップS1107:YES)、ステップS1108にて、同期制御部1012は、ビデオ復号部1008に対して復号許可信号を通知し、ビデオ復号部1008は、同期制御部1012からの復号許可指示によりビデオ符号化データの復号処理を行う。復号化されたビデオフレームは、ビデオ復号部1008内のフレームバッファに格納される。
一方、エントリポイント値と現PTSが一致しない場合(ステップS1107:NO)、ステップS1110にて、ビデオPTS比較部1011は、ビデオPTS取得部1009で取得されたPTS(以下、現PTS)とビデオPTS保持部1010で保持された前回のビデオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数7)を用いる。この条件式が成立する場合、ギャップを検出したフレームとして判定し、後述するステップS1111に移る。逆にギャップと判定されない場合、後述するステップS1113に移る。なお、この処理は、最初のビデオフレームにおいては、ビデオPTS保持部1010には前PTSは保持されていないため、行わない。Xv3は外部から設定される閾値で、ギャップと判断するための値である。Xv3は、フレーム周期より大きく与えられるのが望ましい。
現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秒程度の値を与えるのが妥当である。
−Z<PCR−現PTS値<Z
条件式(数8)が成立しない場合(ステップS1111:NO)、ステップS1112にて、ギャップを検出したビデオフレームは、フェイルセーフデータであるとし、ステップS1108に移る。
次いで、ステップS1114にて、ビデオPTS保持部1010は、現PTS値を前PTSとして置き換える。つまり、現PTSを次のビデオフレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS1105の処理に移り処理を継続する。
まず、ステップS1201にて、転送部1001に対してストリーム供給要求を出す。この要求を受けて、転送部1001は、エントリポイントを含んだ多重ストリームを不連続検出部1002への転送を行う。
現PCRと前PCRとが不連続である場合(ステップS1102:YES)、ステップS1203にて、不連続検出部1002は、TSパケットの不連続点であるPCRを保持し、またオーディオ用PTS比較部1007に転送する。また、不連続検出部1002は、多重ストリームを多重分離部1003に転送する。
次いで、ステップS1204にて、多重分離部1003は、転送されたPESパケットが先頭PESパケットである場合は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。なお、先頭PESパケットに続くPESパケットについては、当該ステップS1204で検出はされずにステップS1205に移る。
次いでステップS1206にて、オーディオPTS取得部1005は、多重分離部1003から転送されたPTSを同期制御部1012へ転送するのと同時に、オーディオ保持部1006へ転送する。
逆にエントリポイントに相当するフレームと判定されなかった場合(ステップS1207:NO)は、後述するステップS1210に移る。
EPa3−1/2×Ta3<PTSna3≦EPa3+1/2×1/2×Ta3
エントリポイント値と現PTSが一致した場合(ステップS1207:YES)、ステップS1208にて、同期制御部1012は、オーディオ復号部1004に対して復号許可信号を通知し、オーディオ復号部1004は、同期制御部1012からの復号許可信号によりオーディオ符号化データの復号処理を行う。復号化されたオーディオフレームは、オーディオ復号部1004内のフレームバッファに格納される。
一方、エントリポイント値と現PTSが一致しない場合(ステップS1207:NO)、ステップS1210にて、オーディオPTS比較部1007は、オーディオPTS取得部1005で取得されたPTS(以下、現PTS)とオーディオPTS保持部1006で保持されたPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数10)を用いる。この条件式が成立する場合、ギャップを検出したオーディオフレームとして判定し、後述するステップS1211に移る。逆にギャップと判定されない場合、後述するステップS1213に移る。なお、この処理は、最初のオーディオフレームにおいては、PTS保持部1006には前PTSは保持されていないため行わない。Xa3は外部から設定される閾値で、ギャップと判断するための値である。Xa3は、フレーム周期より大きく与えられるのが望ましい。
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xa3
ギャップ判定において条件式(2)が成立する場合(ステップS1210:YES)、ステップS1211にて、オーディオPTS比較部1007は、ギャップを検出したPTSと不連続検出部1002で保持されている(ステップS1203)PCRとを比較して条件(数8)が成立した場合(ステップS1211:YES)、後述するステップ1S212へ移り、成立しない場合、後述するS1213へ移る。
次いで、ステップS1213にて、オーディオ復号部1004は、オーディオPTS比較部1007からの指示により、オーディオ符号化データのスキップ処理を行い、ステップS1214に移る。
なお、ビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作は、実施の形態1における図7に示す動作と同様である。
(4.実施の形態4)
次に、本発明の実施の形態4について説明する。
(4−1.構成)
以下、実施の形態1で説明した構成と異なる点について説明する。
MPEGなどに代表される動画圧縮符号データの復号処理では、前フレームを参照しながら復号処理をする必要がある。そのため、復号処理せずしてフレームデータの破棄を行った場合、破棄したフレームの次のフレームが正常に復号できない可能性があるためである。
ビデオPTS取得部105は、多重分離部102から転送されたビデオPTSを取得し、ビデオ復号部104が符号化データを取得するタイミングで、ビデオPTSを同期制御部111へ転送する機能を有する。
さらに、同期制御部111では、現在のマスタがオーディオであるか、ビデオであるかを管理しているとともに、オーディオ、ビデオがそれぞれリファレンスクロックに対し同期しているか否かを示す同期制御状態を管理している。
(4−2.動作)
以下、再生中における、同期制御部111が行う同期制御処理について図14を用いて説明を行う。尚、ここではビデオ符号化データの同期制御について説明するが、当然、同様の処理をオーディオ符号化データの復号処理に適用することも可能である。その場合、図14においてビデオと表記されている部分はオーディオに、オーディオと表記されている部分はビデオに変換すればよい。
同期制御部111へビデオPTS取得部105からビデオPTSが転送されてくると、ステップS1601にてPTSを取得する。
次いで、ステップS1602にてリファレンスクロック部112から現在の時刻であるSTCを取得する。
(数11)
|PTS―STC|<t1
ここでt1はシステムまたはデータごとに決定できる固定値である。
(数11)を満たす場合(ステップS1603:YES)には、そのPTSは同期していると判断し、後述のステップS1604へ移る。(数11)を満たしていない場合(ステップS1603:NO)には、同期していないと判断し、後述のステップS1608以降の同期外れ処理へ移る。
ビデオフレームと同期を取るためには、STC=PTSとなった瞬間に出力を開始することが必要であるが、リファレンスクロックの読み出し処理はソフトウェアで実現する場合には処理時間にばらつきが発生する可能性があるため、厳密にSTC=PTSとなるSTCをタイミングよく読み込むことは難しい。このため、同期制御部111がビデオ復号部104に復号許可を与える条件として、(数11)を満足させることで、判断処理に冗長を持たせている。
次いで、ステップS1605にて、現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1606にて、ビデオが現在のマスタであると判定された場合(ステップS1606:YES)は、リファレンスクロック部112へ同期と判定したPTS値を転送する。リファレンスクロック部112では、転送されたPTSをもとに内部クロックの補正処理を行う。
次いで、ステップS1608にて、PTSがリファレンスクロックと同期状態であると判断されたため、後述する自走カウンタのクリアと、さらに同期制御状態を同期状態に遷移させ、同期制御処理を終了する。
(数12)
0<STC―PTS<t2
ここでt2はシステムまたはデータごとに決定できる固定値である。
尚、再生時刻よりも既に遅れている場合、本実施例では1フレーム分のデータ破棄を復号部へ指示しているが、STCに対する遅れ時間が大きい場合、複数フレーム分のデータ破棄を指示するようにしてもよい。
ステップS1611では、次式(数13)を判定する。
(数13)
0<(PTS―STC)<t3
ここでt3はシステムまたはデータごとに決定できる固定値である。
次いで、ステップS1613で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信する。
自走処理では以下の処理を行う。
ステップS1614では、自走カウンタ値に対し次式(数14)を判定する。
自走カウンタ<M
ここで、自走カウンタとは、判定ステップS1603、ステップS1609、ステップS1611のいずれも満たされない場合に自走処理を行ったフレーム数をカウントするカウンタであり、開始時と判定ステップS1603が満たされた場合、すなわちSTCとPTSが同期していると判定された場合に0にクリアされるカウンタである。
(数14)を満たす場合(ステップS1614:YES)は、ステップS1615にてビデオ復号部104に対し、復号許可信号を送信し、当該フレームの復号処理と出力処理を行う。
次いで、ステップS1616にて自走カウンタを1インクリメント行う。
一方、(数14)を満たさない場合(ステップS1614:NO)は、ステップS1617以降の強制同期処理へ移る。
この自走カウンタ導入の意味するところは以下の通りである。
まず、ステップS1617にて、ビデオの再生状態を強制同期状態に遷移させる。
次いで、ステップS1618にて現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1619にて、ビデオが現在のマスタかどうかを判定する。
ビデオマスタであると判定された場合(ステップS1619:YES)、ステップS1620にてリファレンスクロック部112へPTS値を転送する。リファレンスクロック部112では、転送されたPTSをもとに内部クロックの補正処理を行う。すなわち、マスタの場合における強制同期処理とはリファレンスクロックの補正を意味する。
一方、ビデオマスタでないと判定された場合(ステップS1619:NO)は、ステップS1622へ移る。
ステップS1622では、マスタの同期状態を取得する。
同期状態ではない場合(ステップS1623:YES)、ステップS1624にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
ここで、マスタの同期制御状態判定の意味するところは以下の通りである。
一方、同期状態の場合(ステップS1623:NO)、ステップS1625にて次式(数15)を判定する。
PTS<STC
上記(数15)を満たす場合(ステップS1625:YES)、すなわちPTSよりSTCの方が大きい場合は、PTSは遅れていると判断されるので、ステップS1626にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
次いで、ステップS1628で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信し、処理を終了する。
図15はビデオストリーム、オーディオのストリームに時間的不連続が発生している場合に、本実施例を適用した場合のタイミングチャートである。
この図15において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば、映像フレーム1801におけるPTSは42である。また、図15ではオーディオマスタ動作を例に挙げているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム1801と映像フレーム1802、また、音声フレーム1803と音声フレーム1804の間に時間飛びが発生している。さらに、(数13)における閾値t3は、ビデオ、オーディオともに10、(数14)における自走カウンタの閾値Mをビデオに関しては5フレーム、オーディオに関しては3フレームとする。
次に、音声フレーム1804において、オーディオの不連続が発生する。オーディオはマスタであるがビデオ同様、同期制御処理を行う。
オーディオが自走処理の間、リファレンスクロックは補正されず、リファレンスクロック部では内部時計が自走している状態となる。
次に、映像フレーム1806での同期制御処理において、オーディオが同期状態に遷移しリファレンスクロックを補正したが、映像フレーム1806とリファレンスクロックの差分はまだ12であり、(数13)における閾値10を超えているため、自走処理は継続される。
(5.実施の形態5)
次に、本発明の実施の形態5について説明する。
(4−1.動作)
以下、図16に基づいて実施の形態5における同期生再生装置の動作について説明する。
図16は実施の形態5における同期制御処理を示すフローチャートである。
以下、ステップS1717の強制同期処理以降について、図16を用いて詳細に説明する。
まず、ステップS1717にて、自走と判断されたために、ビデオの同期制御状態を強制同期状態に遷移させる。
次いで、ステップS1719にて、ビデオが現在のマスタかどうかを判定する。
ビデオマスタであると判定された場合(ステップS1719:YES)、ステップS1720にてリファレンスクロック部112へPTS値を転送する。リファレンスクロック部112は、転送されたPTSをもとに内部クロックの補正処理を行う。
一方、ビデオマスタでないと判定された場合(ステップS1719:NO)は、ステップS1722へ移る。
ステップS1722では、マスタの同期制御状態を取得する。
同期状態でない場合(ステップS1723:YES)は、ステップS1724にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
マスタが同期状態の場合(ステップS1723:NO)、ステップS1725へ移る。
(数16)
PTS―STC<t4
ここでt4はシステムまたはデータごとに決定できる固定値である。
(数16)を満たす場合(ステップS1725:YES)には、ステップS1726に移る。
(数17)
PTS<STC
上記(数17)を満たす場合(ステップS1726:YES)、すなわちPTSよりSTCの方が大きい場合は、PTSは遅れていると判断されるので、ステップS1727にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
次いで、ステップS1729で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信し処理を終了する。
次いで、ステップS1731にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1732にてt5時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信する。
すなわち、ステップS1714における「(数18)自走カウンタ<M」の判定が満たされなかった場合(ステップS1714:NO)において、伝送エラーなどの要因によりPTS値が誤っている場合、あるいは、オーディオストリーム又はビデオストリームの時間的不連続状態が短時間に繰り返されるような場合、STCとPTSの差分値に対してステップS1728の処理を行うと差分値が巨大な値になる可能性がある。結果、長時間の待ち時間が発生、あるいは長時間分のデータが破棄される可能性がある。このような状況を防ぐために導入される。
図17はビデオストリーム、オーディオビデオのストリームに時間的不連続が繰り返し発生している場合に、本実施例を適用した場合のタイミングチャートである。
この図17において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば映像フレーム1901におけるPTSは42である。また、図17ではオーディオマスタ動作を例に挙げているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム1901と映像フレーム1902、また、音声フレーム1903と音声フレーム1904の間に時間飛びが発生している。さらに、映像フレーム1905と映像フレーム1906、また、音声フレーム1908と音声フレーム1909の間にも不連続が発生している。
まず、ビデオ、オーディオ両方の同期制御状態が同期状態で再生している状態において、映像フレーム1902にてビデオの不連続が発生する。このとき映像フレーム1902とリファレンスクロックの差分は78であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0の状態のため、自走処理が行われる。
音声フレーム1904とリファレンスクロックの差分が66であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0のため、自走処理となる。
次に、音声フレーム1905にてオーディオの自走カウンタは3となるため、(数14)を満たさず強制同期処理を行う。現在オーディオがマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは126に補正される。
次に、映像フレーム1907にてビデオの自走カウンタが5となるため、(数18)を満たさず強制同期処理を行う。このとき、映像フレーム1907においてPTSは425、STCは133であり、差分が292なので、強制同期用閾値t4=20を超えている。そのため、待ち時間をt5=10に変換して映像フレーム1907の復号処理を停止し10時間分待ちを行う。10時間分待った後、映像フレーム1907は復号され表示されるが、次の映像フレーム1911でのPTSとSTCの差分は11となり、まだ閾値10を超えている。自走カウンタは0の状態のため、自走処理となり再度自走カウンタのカウントアップが始まる。
音声フレーム1910にてオーディオの自走カウンタは3となり、(数18)を満たさず強制同期処理を行う。現在オーディオがマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは409に補正される。
(6.実施の形態6)
次に、本発明の実施の形態6について説明する。
(6−1.動作)
以下、図18に基づいて実施の形態6における同期生再生装置の動作について説明する。
図18は実施の形態6における同期制御処理を示すフローチャートである。
以下、自走処理中のステップS2034〜S2039の処理について、図20を用いて詳細に説明する。
まず、ステップS2034において、次式(数19)を判定する。
自走カウンタ>N
ここでNはシステムまたはデータごとに決定できる固定値であるが、Mよりも小さい。
(数19)を満たさない場合(ステップS2034:NO)には、ステップS2014に移り、実施の形態5と同じ処理となる。
ステップS2035では、現在のリファレンスクロックのマスタを取得する。
次いで、ステップS2036にて、現在ビデオマスタであると判定された場合、ステップS2037へ移る。ビデオマスタではない場合はステップS2015へ移る。
次いで、ステップS2038にて、オーディオの同期制御状態が同期状態でない場合(ステップS2038:NO)はステップS2015へ移り、同期状態である場合(ステップS2038:YES)、ステップS2039へ移る。
ステップS2039では、マスタをオーディオに切り替える。
記録されたストリームにおいて、マスタのストリーム(例えば、オーディオストリーム)のみに不連続が発生し、他方には不連続が発生していない場合、マスタが不連続後の強制同期処理を行うと、リファレンスクロックの補正を行うことになる。すなわち、リファレンスクロックにも不連続が発生することになる。結果、マスタではないストリーム(オーディオがマスタであれば、ビデオストリーム)は、リファレンスクロックに同期するように動作するため、不連続がないストリームにもかかわらず、同期制御処理によりデータの破棄や待ちが発生し連続再生されない。このような他方にのみ、特にマスタに指定されるストリームのみに、不連続がある場合において、不連続がない他方のストリームを滑らかに再生できるようにマスタ切替制御を導入している。
図19はオーディオストリームに時間的不連続が発生しており、同期状態中はオーディオマスタで動作している場合に、本実施例を適用した場合のタイミングチャートである。
この図19において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば、音声フレーム2101におけるPTSは39である。また、図19ではオーディオマスタ動作を想定しているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、音声フレーム2101と音声フレーム2102の間に時間飛びが発生している。ビデオストリームには不連続はない。
まず、ビデオが同期状態、オーディオがマスタで同期状態にて再生中に、音声フレーム2102にてオーディオの不連続が発生する。このとき音声フレーム1802とリファレンスクロックの差分は18であり、また、自走カウンタは0であることから、(数13)における閾値t3=10を超えているため、自走処理が行われる。
これに対し、音声フレーム2104は、リファレンスクロックに対し差分18のため自走状態は継続される。この後、音声フレーム2105にて、自走カウンタが(数14)を満たさず強制同期処理を行う。
(7.実施の形態7)
実施の形態7では、本発明に係る携帯電話機について説明する。実施の形態7に係る携帯電話機2000は、実施の形態1で示した同期再生装置100を内部に備えている。
TV用無線部2403は、デジタルテレビ放送波を受信するものである。
TVチューナー2405は、TV用無線部2403で受信したデジタルテレビ放送波の信号処理を行うものである。
通信部2413は、アプリケーション2406と外部との通信を行うインターフェースである。
同期再生装置2414は、実施の形態1で示した同期再生装置100と同様の構成を有するものである。
蓄積部2416は、データを蓄積するメモリであり、特に、TV無線部2403で受信しTVチューナー2405で信号処理したデジタルテレビ放送データを蓄積する。
入出力部2407は、カメラ(CAM)2408、LCD(Liquid Crystal Display)2409、マイク(MIC)2410、SPK(スピーカー)2411、及びKEY(キー入力部)2412を有する。
LCD2409は、画像や映像を出力するものであり、特に、同期再生装置2414で再生出力される映像を出力する。
マイク2410は、音を入力するもので、例えば、無線電話通信時に、ユーザの音声を入力するのに用いられる。
キー入力部2412は、ユーザの入力操作を受付けるものである。
ここで、簡単に携帯電話機2000の動作について説明する。
デジタルテレビ視聴時または記録再生時の本発明の同期再生装置について、図20を用いて以下に説明を行う。
蓄積された多重化ストリームの再生は、キー入力部2412を通じたユーザからのキー操作によって再生が開始され、蓄積部2416から多重化ストリームが同期再生装置2414へ入力される。同期再生装置2414では、入力された多重化ストリームをオーディオデータ、ビデオデータに分離、復号することでの再生が可能となる。
また、ここでは本発明の同期再生装置を適用した携帯電話機を例に挙げたが、本同期再生装置は、オーディオ機器や、映像が再生可能な様々な機器への適用が可能である。
TSパケットは、4バイトの固定長のパケットヘッダと、可変長のアダプテーションフィールド及びペイロードで構成される。パケットヘッダには、PID(パケット識別子)や各種のフラグが定義されている。このPIDにより、TSパケットの種類が識別される。
このようなMPEG2−TSでは、復号を行う復号器内部の基準信号であるSTC(System Time Clock)の時間を合わすために、所定時間毎に、PCR(ProgramClock Reference)が送られる。
復号器内部において、STC(System Time Clock)は、STCカウンタでカウントされる。このSTCカウンタの時刻は、PCRの時刻に基づいて校正される。
このように、MPEG2−TSでは、PCRに同期して進められるSTCのカウント値と、ビデオ及びオーディオのPESパケットに付加されて送られてくるPTSの値とを比較し、ビデオ、オーディオそれぞれがSTCのカウント値とPTSの値が一致するタイミングで表示処理やデコード処理を開始することにより、AV同期再生を実現している。
蓄積されたストリームのAV同期手法としては、再生オーディオ信号の出力を重視する方法であるオーディオマスタ(例えば、特許文献1参照)が適用されている。オーディオマスタ方式では、各オーディオフレームを出力すると同時に各オーディオフレームの出力時刻を用いてSTCが更新し、このとき各ビデオフレームの表示時刻はSTCと比較され、その比較の結果により各ビデオフレームの表示を早めたり遅らせたりする操作を行っている。
ところで、蓄積されたストリームのAV再生開始の際の制御として、再生開始時間(以下、エントリポイント)を定義し、好きなポイント(時間)から再生を開始する手法がある。
図21は同期再生装置の構成を示している。図21において、同期再生装置は、ストリームを転送する転送部1301、入力されたストリームから必要な情報を抽出するシステムデコーダ1302、ビデオフレームを復号化するビデオ復号部1303、オーディオフレームを復号化するオーディオ復号部1304、各構成要素の動作タイミングを制御するための同期制御部1305を備える。このように構成された同期再生装置のエントリポイントによる再生開始の動作について説明する。
まず、動作が開始されると、ステップ1401にて、外部からのエントリポイント値の設定とエントリポイントによる再生開始が通知されると、転送部1301と各復号部1302、1303、1304に起動要求を出す。この要求を受けて、転送部1301と各デコーダ1302、1303、1304は起動処理を行う。
ビデオ復号部1303は、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSとエントリポイントがある特定のしきい値内で一致するまで、システムデコーダ1302から受信したビデオ符号化データからビデオフレームの復号を行う。このときは、まだ復号処理だけを行い、表示出力は行わない。
次いで、ステップ1405にて、ビデオ復号部1303にビデオフレーム同期出力要求を出す。この要求を受けてビデオ復号部1303は、ステップ1403にて、システムデコーダ1302から受信したビデオフレーム用PTSとエントリポイントとがある特定のしきい値内で一致したビデオフレームの復号と同時に表示出力も行う。この段階で、初めてビデオフレームの表示出力が行われ、以後、ビデオ復号部1303、同期制御部1305による、STCとシステムデコーダ1302から受信するビデオフレーム用PTSとを用いた同期制御のもとで、システムデコーダ1302から受信するビデオ符号化データからのビデオフレームの復号と表示出力を次々に行っていく。
また、ステップ1406にてシステムデコーダ1302から受信したオーディオフレーム用PTSと、STCとがある特定のしきい値内で一致した場合、ステップ1407に移り、オーディオ復号部1304にオーディオフレーム同期出力要求を出す。
また、特許文献3には、異常判定用のタイマを設けることによって、所定の時間が経過しても、ビデオフレームあるいはオーディオフレームの一方しか出力準備完了していない場合に、この時点で出力準備完了している、ビデオフレームまたはオーディオフレームの一方だけに出力要求を可能とし、入力されたストリーム中にエントリポイントに相当するビデオフレームとオーディオフレームの一方しか存在しない場合でも、再生開始を正常に行うことが可能な同期再生装置が開示されている。
このような状態において、従来例では、一定時間自走モードが継続された場合、ビデオまたはオーディオの再生を停止し再度開始状態に戻してから再生するという方法を行っていた。しかしながら、再生を一旦停止し再開する際は、初期状態に戻るため、起動処理が必要であり、さらにはすでにバッファ等に蓄積されているデータも破棄されるため、再生復帰までの時間がかかり、その間、映像またはオーディオが何も出力されない状態が長時間継続されるという問題が生じる。
第2の態様に係る再生装置によれば、エントリポイントと一致するフレームの検索の際に上限時間を音声フレームと映像フレームで個別管理することで、再生開始時、片方のみのデータしか存在しない場合、開始データ検索時間の長いほうに影響を受けることなくフレームの出力することが可能である。
また、上記第1態様に係る同期再生装置において、前記データストリームは、所定時間毎に、プログラム参照時刻情報を含むものであり、さらに、前記プログラム参照時刻情報を取得し、取得した現プログラム参照時刻情報と、前記所定時間前に取得した前プログラム参照時刻情報とを比較して、前記現プログラム参照時刻情報と前記前プログラム参照時刻情報との差分が所定の閾値を超えていた場合は、プログラム参照時刻情報が不連続であることを検出するとともに前記現プログラム参照時刻情報を保持する検出部を備え、前記比較部は、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判定された場合で、且つ前記検出部で前記現プログラム参照時刻情報が保持されている場合は、さらに、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が、前記所定時間を超えるか否かを判定し、前記再生出力部は、前記比較部で、前記現プログラム参照時刻情報と前記現フレーム再生時刻情報との差分が前記所定時間を超えると判定された場合のみ、前記現フレーム再生時刻が付加されたフレームから再生を開始することとしてもよい。
また、上記第1態様に係る同期再生装置は、MPEG(Moving Picture Experts Group)規格に準拠するものであり、前記フレーム再生時刻情報は、MPEG規格で定められたPTS(PresentationTime Stamp)であり、前記プログラム参照時刻情報は、MPEG規格で定められたPCR(Program Clock Reference)であることとしてもよい。
また、上記第3態様に係る同期再生装置において、前記制御部は、前記強制同期処理として、(i)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、フレーム再生時刻情報が、システム基準クロックが示す時刻と一致するまで待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力するよう前記復号部に指示し、(ii)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を下回ると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームは再生出力しないよう前記復号部に指示することとしてもよい。
また、上記第3態様に係る同期再生装置において、前記制御部は、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合において、さらに、フレーム再生時刻情報とシステム基準クロックが示す時刻との差分が所定差分t1を超える場合のみ、t1より小さい所定の時間t2だけ待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力することとしてもよい。
また、上記第3態様に係る同期再生装置において、前記フレームは、第1メディアに係る第1メディアフレームと、第2メディアに係る第2メディアフレームに分かれており、前記第1メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するものであり、前記比較部は、フレームについて、第1メディアフレームと第2メディアフレームとを区別して、それぞれのフレーム再生時刻情報とシステム基準クロックが示す時刻とを比較し、前記カウント部は、フレームのカウントについて、第1メディアフレームと第2メディアフレームとを区別してカウントし、前記制御部は、前記比較部で、前記フレームの内第1メディアフレームについての再生時刻情報が、前記システム基準クロックと一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力された第1メディアフレームがカウントされた場合においては、前記第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を備える。
多重分離部102は、多重ストリームからビデオPESパケット(PESパケット、以下に説明)内のPESヘッダから再生時間情報であるビデオPTSと、ビデオ符号化データを抽出し、ビデオ復号部104とビデオPTS取得部105に転送し、また、オーディオPESパケット内のPESヘッダから再生時間情報であるオーディオPTSと、オーディオ符号化データを抽出し、オーディオ復号部103、オーディオPTS取得部108に転送するものである。
ビデオ復号部104は、ビデオ符号化データを復号するものである。
オーディオPTS取得部108は、多重分離部102で抽出されたオーディオPTSを取得するものである。
オーディオPTS保持部109は、オーディオPTS取得部108で取得したオーディオPTSを保持するものである。
ビデオPTS取得部105は、多重分離部102で抽出されたビデオPTSを取得するものである。
ビデオPTS比較部107は、ビデオPTS取得部105で取得したビデオPTSとビデオPTS保持部106に保持されているビデオPTSとを比較するものである。
同期制御部111は、各構成要素の動作タイミングを制御するものである。
(1−2.データ)
ここで、図2を用いて、MPEG2−TSストリームのデータ構造を説明する。図2において、501はMPEG2−TSストリームである。MPEG2−TSストリーム501は、188バイト固定長の複数のTSパケットから構成される。MPEG2−TSパケット(TSPacket)502はヘッダ(TS Header)503とペイロード(Payload)504とから成る。
(1−3.動作)
図5、図6及び図7は本実施の形態1による同期再生装置100におけるエントリポイント再生開始の動作手順を示すフローチャートであり、以下、図5、図6及び図7のフローチャートに従って、再生開始までの動作を詳しく説明する。
外部からビデオ用エントリポイント値が設定されると、ビデオフレーム出力完了フラグが“0”にクリアされて処理が開始する。
次いで、ステップS203にて、多重分離部102は、ビデオ符号化データとビデオPTSを抽出し、ビデオ符号化データを、ビデオ復号部104へ転送し、ビデオPTSを、ビデオPTS取得部105へ転送する。
次いで、ステップS205にて、同期制御部111は、外部から指定されたエントリポイント値とビデオPTS取得部105で取得した現PTSとの比較を行い、エントリポイントに相当するビデオフレームかどうかを判断する。エントリポイントに相当するビデオフレームと判定された場合は、後述するステップS206に移る。
ここで、エントリポイント判定は次の条件式である(数1)を用いる。(数1)において、EPv1は外部から設定されたエントリポイントを、Tv1はフレーム単位時間、PTSnv1はステップS203にて抽出されたビデオPTSを示す。Tv1はビデオフレームの1フレーム単位時間を使用する。例えば、1フレーム単位時間は、15fpsで66ms、30fpsで33msとなる。ただし、この数式はあくまで例であり、これに限定されるものではない。
EPv1−1/2×Tv1<PTSnv1≦EPv1+1/2×1/2×Tv1
エントリポイント値と現PTSが一致した場合(ステップS205:YES)、ステップS206にて、同期制御部111は、ビデオ復号部104に対して復号許可信号を通知し、ビデオ復号部104は、同期制御部111からの復号許可信号によりビデオ符号化データの復号処理を行う。復号化されたビデオフレームは、ビデオ復号部104内のフレームバッファに格納される。
一方、エントリポイント値と現PTSが一致しない場合(ステップS205:NO)、ステップS208にて、ビデオPTS比較部107は、ビデオPTS取得部105で取得されたPTS(以下、現PTS)とビデオPTS保持部106で保持された前回のビデオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定には次の条件式である(数2)を用いる。この条件式が成立する場合、後述するステップS209に移る。逆にギャップと判定されない場合、後述するステップS210に移る。なお、この処理は、最初のビデオフレームにおいては、ビデオPTS保持部106には前PTSは保持されていないため行わない。(数2)において、Xv1は外部から設定される閾値でギャップと判断するための値である。Xv1は、フレーム周期より大きく与えられるのが望ましい。
現PTS値−前PTS値<0 または、現PTS値-前PTS値>Xv1
ギャップ判定において条件式(2)が成立する場合(ステップS208:YES)、ステップS209にて、ギャップを検出したビデオフレームは、フェイルセーフデータであるとし、ステップS206に移る。
次いで、ステップS211にて、ビデオPTS保持部106は、現PTS値を前PTSとして置き換える。つまり、現PTSを次のビデオフレームのギャップ処理で使用するため、前PTSとして保存する。その後、ステップS203の処理に移り処理を継続する。
まず、ステップS301にて、転送部101に対してストリーム供給要求を出す。この要求を受けて、転送部101は、エントリポイントを含んだ多重ストリームを多重分離部102への転送を行う。なお、ここまでの処理は、ビデオフレームの場合と同様な処理である。
次いで、ステップS303にて、多重分離部102は、オーディオ符号化データとオーディオPTSを抽出し、オーディオ符号化データは、オーディオ復号部103へ転送され、オーディオPTSは、オーディオPTS取得部108へ転送される。
次いでステップS305にて、同期制御部111は、外部から指定されたエントリポイント値とオーディオPTS取得部108で取得した現PTSとの比較を行い、エントリポイントに相当するオーディオフレームかどうかを判断する。エントリポイントに相当するオーディオフレームと判定された場合は、後述するステップS306に移る。
ここで、エントリポイント判定は次の条件式である(数3)を用いる。(数3)において、EPa1は外部から設定されたエントリポイントを、Ta1はフレーム単位時間、PTSna1はステップS303で抽出されたオーディオPTSを示す。Ta1はオーディオフレームの1フレーム単位時間を使用する。例えば、AAC24kHzの場合、42ms、AAC48kHzの場合、22msが与えられる。ただし、この数式はあくまで例であり、これに限定されるものではない。
EPa1−1/2×Ta1<PTSna1≦EPa1+1/2×1/2×Ta1
エントリポイント値と現PTSが一致した場合(ステップS305:YES)、ステップS306にて、同期制御部111は、オーディオ復号部103に対して復号許可信号を通知し、オーディオ復号部103は、同期制御部111からの復号許可信号によりオーディオ符号化データの復号処理を行う。復号化されたオーディオフレームは、オーディオ復号部103内のフレームバッファに格納される。
一方、エントリポイント値と現PTSが一致しない場合(ステップS305:NO)、ステップS308にて、オーディオPTS比較部110は、オーディオPTS取得部108で取得されたPTS(以下、現PTS)とオーディオPTS保持部109で保持された前回のオーディオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数4)を用いる。この条件式が成立する場合、後述するステップS309に移る。逆にギャップと判定されない場合、後述するステップS310に移る。なお、この処理は、最初のオーディオフレームにおいては、オーディオPTS保持部109には前PTSは保持されていないため行わない。Xa1は外部から設定される閾値で、ギャップと判断するための値である。Xa1は、フレーム周期より大きく与えられるのが望ましい。
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xa1
ギャップ判定において条件式(4)が成立する場合(ステップS308:YES)、ステップS309にて、ギャップを検出したオーディオフレームは、フェイルセーフデータであるとし、ステップS306に移る。
また、ステップS311にて、ビデオPTS保持部109は、現PTS値と前PTSを置き換える。つまり、現PTSを次のオーディオフレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS303の処理に移り処理を継続する。
ステップS401にて、ビデオフレームとオーディオフレームがともに出力準備完了になるまで待ち続ける。ビデオフレームとオーディオフレームがともに出力準備完了した場合、ステップS402に移る。
フェイルセーフデータでないフレームがある場合(ステップS402:NO)で、ステップS403において、オーディオフレームのみフェイルセーフデータと判定された場合、後述するステップS408へ移る。逆にそうでないならば、後述するステップS404へ移る。
ビデオフレームとオーディオフレームともにフェイルセーフデータであった場合(ステップS402:YES)、またはビデオフレームとオーディオフレームともにフェイルセーフデータではない場合(ステップS404:NO)、ステップS405において、出力準備完了したフレームのオーディオPTSとビデオPTSとの比較を行い、オーディオPTS値≦ビデオのPTS値が成立する場合、オーディオマスタで開始すると判断し、後述するステップS406へ移る。逆に、オーディオのPTS値≦ビデオのPTS値が成立しない場合、ビデオマスタで開始すると判断し、後述するステップS408へ移る。
次いで、ステップS407において、同期制御部111は、ビデオのPTSとリファレンスクロックで取得したSTCの差分値から同期の合わせこみを行う。PTSとSTCが一致したと判定された場合、ビデオ復号部104に対してビデオフレームの再生指示を出す。
次いで、ステップS409において、同期制御部111は、オーディオのPTSとリファレンスクロックで取得したSTCの差分値から同期の合わせこみを行う。PTSとSTCの差分が一致したと判定された場合、オーディオ復号部103に対してオーディオフレームの再生指示を出す。
(2.実施の形態2)
次に、本発明の実施の形態2について説明する。
以下、実施の形態2について、実施の形態1と異なる点を中心に説明する。
(2−1.構成)
図8は実施の形態2に係る同期再生装置800の構成を示す図である。
ビデオ時間管理部814は、予め設定していた時間になった際に同期制御部811にビデオタイムアウト信号を通知するものである。
オーディオ時間管理部813、ビデオ時間管理部814に設定できる時間は個別に与えることが可能である。
(2−2.動作)
図9は本実施の形態2における、エントリポイントに対応するフレーム検索時のタイムアウト処理動作を示すフローチャートである。
オーディオフレームの開始データ決定までの動作は実施の形態1の図6で示した動作と同様である。また、ビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作は実施の形態1の図7で示した動作と同様である。
ここで、ビデオ時間管理部814に設定していた時間をTev、オーディオ時間管理部813に設定していた時間をTeaとする。時間Tev、時間Teaは、転送されるストリームに対して、エントリポイントと一致するフレームを十分に検出可能な時間が与えられているものとする。
ステップS902では、同期制御部811がビデオフレームの出力準備完了フラグが立っていると判定したならば、後述するステップS903に移り、そうでないならば処理を終了する。
オーディオ時間管理部813からタイムアウト信号は受信していない(ステップS901:NO)が、ステップS904にて、同期制御部811からタイムアウト信号を受信した場合、後述するステップS905に移り、逆にそうでないならば処理は終了する。
次いで、ステップS906において、同期制御部811は、オーディオ復号部803に再生指示を出し、同時に、オーディオPTSでリファレンスクロック部812の補正を行う。なお、オーディオPTSの補正処理は、オーディオ再生の出力タイミングであるフレーム周期で行う。
(3.実施の形態3)
次に、本発明の実施の形態3について説明する。
以下、実施の形態3について、実施の形態1と異なる点を中心に説明する。
(3−1.構成)
図10は実施の形態3による同期再生装置1000の構成を示す図である。
(3−2.データ)
ここで、MPEG2−TSストリームに付随するPCRについて、図12を用いて説明する。
(3−3.動作)
図12及び図13は本実施の形態3による同期再生装置1000におけるエントリポイント再生開始の動作手順を示すフローチャートであり、以下、図12及び図13のフローチャートに従って、再生開始までの動作を詳しく説明する。
外部からビデオ用エントリポイント値が設定され、ビデオフレーム出力完了フラグが“0”クリアされて処理が開始する。
現PCR値−前PCR値<0 または 現PCR値−前PCR値>Ya
現PCRと前PCRとが不連続である場合(ステップS1102:YES)、ステップS1103にて、不連続検出部1002は、TSパケットの不連続点であるPCRを保持し、またビデオPTS比較部1011に転送する。また、不連続検出部1002は、多重ストリームを多重分離部1003に転送する。
次いで、ステップS1104にて、多重分離部1003は、転送されたPESパケットが先頭PESパケットである場合は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。なお、先頭PESパケットに続くPESパケットについては、当該ステップS1104で検出はされずにステップS1105に移る。
次いで、ステップS1106にて、ビデオPTS取得部1009は、多重分離部1003から転送されたPTSを同期制御部1012へ転送すると同時に、ビデオPTS保持部1010へ転送する。
エントリポイントに相当するビデオフレームと判定されなかった場合は、後述するステップS1110に移る。
EPv3−1/2×Tv3<PTSnv1≦EPv3+1/2×1/2×Tv3
エントリポイント値と現PTSが一致した場合(ステップS1107:YES)、ステップS1108にて、同期制御部1012は、ビデオ復号部1008に対して復号許可信号を通知し、ビデオ復号部1008は、同期制御部1012からの復号許可指示によりビデオ符号化データの復号処理を行う。復号化されたビデオフレームは、ビデオ復号部1008内のフレームバッファに格納される。
一方、エントリポイント値と現PTSが一致しない場合(ステップS1107:NO)、ステップS1110にて、ビデオPTS比較部1011は、ビデオPTS取得部1009で取得されたPTS(以下、現PTS)とビデオPTS保持部1010で保持された前回のビデオフレームにおけるPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数7)を用いる。この条件式が成立する場合、ギャップを検出したフレームとして判定し、後述するステップS1111に移る。逆にギャップと判定されない場合、後述するステップS1113に移る。なお、この処理は、最初のビデオフレームにおいては、ビデオPTS保持部1010には前PTSは保持されていないため、行わない。Xv3は外部から設定される閾値で、ギャップと判断するための値である。Xv3は、フレーム周期より大きく与えられるのが望ましい。
現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秒程度の値を与えるのが妥当である。
−Z<PCR−現PTS値<Z
条件式(数8)が成立しない場合(ステップS1111:NO)、ステップS1112にて、ギャップを検出したビデオフレームは、フェイルセーフデータであるとし、ステップS1108に移る。
次いで、ステップS1114にて、ビデオPTS保持部1010は、現PTS値を前PTSとして置き換える。つまり、現PTSを次のビデオフレームのギャップ処理で使用するため、前PTSとして保存する。以下、ステップS1105の処理に移り処理を継続する。
まず、ステップS1201にて、転送部1001に対してストリーム供給要求を出す。この要求を受けて、転送部1001は、エントリポイントを含んだ多重ストリームを不連続検出部1002への転送を行う。
現PCRと前PCRとが不連続である場合(ステップS1102:YES)、ステップS1203にて、不連続検出部1002は、TSパケットの不連続点であるPCRを保持し、またオーディオ用PTS比較部1007に転送する。また、不連続検出部1002は、多重ストリームを多重分離部1003に転送する。
次いで、ステップS1204にて、多重分離部1003は、転送されたPESパケットが先頭PESパケットである場合は、先頭PESパケットとして検出する。ここで、先頭PESパケットというのは、入力されたストリームのPTSが存在する最初のPESパケットのことを示す。なお、先頭PESパケットに続くPESパケットについては、当該ステップS1204で検出はされずにステップS1205に移る。
次いでステップS1206にて、オーディオPTS取得部1005は、多重分離部1003から転送されたPTSを同期制御部1012へ転送するのと同時に、オーディオ保持部1006へ転送する。
逆にエントリポイントに相当するフレームと判定されなかった場合(ステップS1207:NO)は、後述するステップS1210に移る。
EPa3−1/2×Ta3<PTSna3≦EPa3+1/2×1/2×Ta3
エントリポイント値と現PTSが一致した場合(ステップS1207:YES)、ステップS1208にて、同期制御部1012は、オーディオ復号部1004に対して復号許可信号を通知し、オーディオ復号部1004は、同期制御部1012からの復号許可信号によりオーディオ符号化データの復号処理を行う。復号化されたオーディオフレームは、オーディオ復号部1004内のフレームバッファに格納される。
一方、エントリポイント値と現PTSが一致しない場合(ステップS1207:NO)、ステップS1210にて、オーディオPTS比較部1007は、オーディオPTS取得部1005で取得されたPTS(以下、現PTS)とオーディオPTS保持部1006で保持されたPTS(以下、前PTS)のギャップ判定を行う。ギャップ判定は次の条件式である(数10)を用いる。この条件式が成立する場合、ギャップを検出したオーディオフレームとして判定し、後述するステップS1211に移る。逆にギャップと判定されない場合、後述するステップS1213に移る。なお、この処理は、最初のオーディオフレームにおいては、PTS保持部1006には前PTSは保持されていないため行わない。Xa3は外部から設定される閾値で、ギャップと判断するための値である。Xa3は、フレーム周期より大きく与えられるのが望ましい。
現PTS値−前PTS値<0 または、現PTS値−前PTS値>Xa3
ギャップ判定において条件式(2)が成立する場合(ステップS1210:YES)、ステップS1211にて、オーディオPTS比較部1007は、ギャップを検出したPTSと不連続検出部1002で保持されている(ステップS1203)PCRとを比較して条件(数8)が成立した場合(ステップS1211:YES)、後述するステップ1S212へ移り、成立しない場合、後述するS1213へ移る。
次いで、ステップS1213にて、オーディオ復号部1004は、オーディオPTS比較部1007からの指示により、オーディオ符号化データのスキップ処理を行い、ステップS1214に移る。
なお、ビデオフレーム、オーディオフレームの開始データを決定してから再生までの動作は、実施の形態1における図7に示す動作と同様である。
(4.実施の形態4)
次に、本発明の実施の形態4について説明する。
(4−1.構成)
以下、実施の形態1で説明した構成と異なる点について説明する。
MPEGなどに代表される動画圧縮符号データの復号処理では、前フレームを参照しながら復号処理をする必要がある。そのため、復号処理せずしてフレームデータの破棄を行った場合、破棄したフレームの次のフレームが正常に復号できない可能性があるためである。
ビデオPTS取得部105は、多重分離部102から転送されたビデオPTSを取得し、ビデオ復号部104が符号化データを取得するタイミングで、ビデオPTSを同期制御部111へ転送する機能を有する。
さらに、同期制御部111では、現在のマスタがオーディオであるか、ビデオであるかを管理しているとともに、オーディオ、ビデオがそれぞれリファレンスクロックに対し同期しているか否かを示す同期制御状態を管理している。
(4−2.動作)
以下、再生中における、同期制御部111が行う同期制御処理について図14を用いて説明を行う。尚、ここではビデオ符号化データの同期制御について説明するが、当然、同様の処理をオーディオ符号化データの復号処理に適用することも可能である。その場合、図14においてビデオと表記されている部分はオーディオに、オーディオと表記されている部分はビデオに変換すればよい。
同期制御部111へビデオPTS取得部105からビデオPTSが転送されてくると、ステップS1601にてPTSを取得する。
次いで、ステップS1602にてリファレンスクロック部112から現在の時刻であるSTCを取得する。
(数11)
|PTS―STC|<t1
ここでt1はシステムまたはデータごとに決定できる固定値である。
(数11)を満たす場合(ステップS1603:YES)には、そのPTSは同期していると判断し、後述のステップS1604へ移る。(数11)を満たしていない場合(ステップS1603:NO)には、同期していないと判断し、後述のステップS1608以降の同期外れ処理へ移る。
ビデオフレームと同期を取るためには、STC=PTSとなった瞬間に出力を開始することが必要であるが、リファレンスクロックの読み出し処理はソフトウェアで実現する場合には処理時間にばらつきが発生する可能性があるため、厳密にSTC=PTSとなるSTCをタイミングよく読み込むことは難しい。このため、同期制御部111がビデオ復号部104に復号許可を与える条件として、(数11)を満足させることで、判断処理に冗長を持たせている。
次いで、ステップS1605にて、現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1606にて、ビデオが現在のマスタであると判定された場合(ステップS1606:YES)は、リファレンスクロック部112へ同期と判定したPTS値を転送する。リファレンスクロック部112では、転送されたPTSをもとに内部クロックの補正処理を行う。
次いで、ステップS1608にて、PTSがリファレンスクロックと同期状態であると判断されたため、後述する自走カウンタのクリアと、さらに同期制御状態を同期状態に遷移させ、同期制御処理を終了する。
(数12)
0<STC―PTS<t2
ここでt2はシステムまたはデータごとに決定できる固定値である。
尚、再生時刻よりも既に遅れている場合、本実施例では1フレーム分のデータ破棄を復号部へ指示しているが、STCに対する遅れ時間が大きい場合、複数フレーム分のデータ破棄を指示するようにしてもよい。
ステップS1611では、次式(数13)を判定する。
(数13)
0<(PTS―STC)<t3
ここでt3はシステムまたはデータごとに決定できる固定値である。
次いで、ステップS1613で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信する。
自走処理では以下の処理を行う。
ステップS1614では、自走カウンタ値に対し次式(数14)を判定する。
自走カウンタ<M
ここで、自走カウンタとは、判定ステップS1603、ステップS1609、ステップS1611のいずれも満たされない場合に自走処理を行ったフレーム数をカウントするカウンタであり、開始時と判定ステップS1603が満たされた場合、すなわちSTCとPTSが同期していると判定された場合に0にクリアされるカウンタである。
(数14)を満たす場合(ステップS1614:YES)は、ステップS1615にてビデオ復号部104に対し、復号許可信号を送信し、当該フレームの復号処理と出力処理を行う。
次いで、ステップS1616にて自走カウンタを1インクリメント行う。
一方、(数14)を満たさない場合(ステップS1614:NO)は、ステップS1617以降の強制同期処理へ移る。
この自走カウンタ導入の意味するところは以下の通りである。
まず、ステップS1617にて、ビデオの再生状態を強制同期状態に遷移させる。
次いで、ステップS1618にて現在のリファレンスクロックのマスタを取得する。
次いで、ステップS1619にて、ビデオが現在のマスタかどうかを判定する。
ビデオマスタであると判定された場合(ステップS1619:YES)、ステップS1620にてリファレンスクロック部112へPTS値を転送する。リファレンスクロック部112では、転送されたPTSをもとに内部クロックの補正処理を行う。すなわち、マスタの場合における強制同期処理とはリファレンスクロックの補正を意味する。
一方、ビデオマスタでないと判定された場合(ステップS1619:NO)は、ステップS1622へ移る。
ステップS1622では、マスタの同期状態を取得する。
同期状態ではない場合(ステップS1623:YES)、ステップS1624にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
ここで、マスタの同期制御状態判定の意味するところは以下の通りである。
一方、同期状態の場合(ステップS1623:NO)、ステップS1625にて次式(数15)を判定する。
PTS<STC
上記(数15)を満たす場合(ステップS1625:YES)、すなわちPTSよりSTCの方が大きい場合は、PTSは遅れていると判断されるので、ステップS1626にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
次いで、ステップS1628で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信し、処理を終了する。
図15はビデオストリーム、オーディオのストリームに時間的不連続が発生している場合に、本実施例を適用した場合のタイミングチャートである。
この図15において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば、映像フレーム1801におけるPTSは42である。また、図15ではオーディオマスタ動作を例に挙げているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム1801と映像フレーム1802、また、音声フレーム1803と音声フレーム1804の間に時間飛びが発生している。さらに、(数13)における閾値t3は、ビデオ、オーディオともに10、(数14)における自走カウンタの閾値Mをビデオに関しては5フレーム、オーディオに関しては3フレームとする。
次に、音声フレーム1804において、オーディオの不連続が発生する。オーディオはマスタであるがビデオ同様、同期制御処理を行う。
オーディオが自走処理の間、リファレンスクロックは補正されず、リファレンスクロック部では内部時計が自走している状態となる。
次に、映像フレーム1806での同期制御処理において、オーディオが同期状態に遷移しリファレンスクロックを補正したが、映像フレーム1806とリファレンスクロックの差分はまだ12であり、(数13)における閾値10を超えているため、自走処理は継続される。
(5.実施の形態5)
次に、本発明の実施の形態5について説明する。
(4−1.動作)
以下、図16に基づいて実施の形態5における同期生再生装置の動作について説明する。
図16は実施の形態5における同期制御処理を示すフローチャートである。
以下、ステップS1717の強制同期処理以降について、図16を用いて詳細に説明する。
まず、ステップS1717にて、自走と判断されたために、ビデオの同期制御状態を強制同期状態に遷移させる。
次いで、ステップS1719にて、ビデオが現在のマスタかどうかを判定する。
ビデオマスタであると判定された場合(ステップS1719:YES)、ステップS1720にてリファレンスクロック部112へPTS値を転送する。リファレンスクロック部112は、転送されたPTSをもとに内部クロックの補正処理を行う。
一方、ビデオマスタでないと判定された場合(ステップS1719:NO)は、ステップS1722へ移る。
ステップS1722では、マスタの同期制御状態を取得する。
同期状態でない場合(ステップS1723:YES)は、ステップS1724にてビデオ復号部104に対し、復号許可を送信し処理を終了する。
マスタが同期状態の場合(ステップS1723:NO)、ステップS1725へ移る。
(数16)
PTS―STC<t4
ここでt4はシステムまたはデータごとに決定できる固定値である。
(数16)を満たす場合(ステップS1725:YES)には、ステップS1726に移る。
(数17)
PTS<STC
上記(数17)を満たす場合(ステップS1726:YES)、すなわちPTSよりSTCの方が大きい場合は、PTSは遅れていると判断されるので、ステップS1727にてビデオ復号部104に対し、データ破棄を送信し、処理を終了する。
次いで、ステップS1729で、PTSとSTCの差分時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信し処理を終了する。
次いで、ステップS1731にてビデオ復号部104に対し、復号停止を送信する。
次いで、ステップS1732にてt5時間分だけ待ちを行ったあと、ビデオ復号部104に対し、復号許可を送信する。
すなわち、ステップS1714における「(数18)自走カウンタ<M」の判定が満たされなかった場合(ステップS1714:NO)において、伝送エラーなどの要因によりPTS値が誤っている場合、あるいは、オーディオストリーム又はビデオストリームの時間的不連続状態が短時間に繰り返されるような場合、STCとPTSの差分値に対してステップS1728の処理を行うと差分値が巨大な値になる可能性がある。結果、長時間の待ち時間が発生、あるいは長時間分のデータが破棄される可能性がある。このような状況を防ぐために導入される。
図17はビデオストリーム、オーディオビデオのストリームに時間的不連続が繰り返し発生している場合に、本実施例を適用した場合のタイミングチャートである。
この図17において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば映像フレーム1901におけるPTSは42である。また、図17ではオーディオマスタ動作を例に挙げているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、映像フレーム1901と映像フレーム1902、また、音声フレーム1903と音声フレーム1904の間に時間飛びが発生している。さらに、映像フレーム1905と映像フレーム1906、また、音声フレーム1908と音声フレーム1909の間にも不連続が発生している。
まず、ビデオ、オーディオ両方の同期制御状態が同期状態で再生している状態において、映像フレーム1902にてビデオの不連続が発生する。このとき映像フレーム1902とリファレンスクロックの差分は78であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0の状態のため、自走処理が行われる。
音声フレーム1904とリファレンスクロックの差分が66であることから、(数13)における閾値t3=10を超えており、また、自走カウンタは0のため、自走処理となる。
次に、音声フレーム1905にてオーディオの自走カウンタは3となるため、(数14)を満たさず強制同期処理を行う。現在オーディオがマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは126に補正される。
次に、映像フレーム1907にてビデオの自走カウンタが5となるため、(数18)を満たさず強制同期処理を行う。このとき、映像フレーム1907においてPTSは425、STCは133であり、差分が292なので、強制同期用閾値t4=20を超えている。そのため、待ち時間をt5=10に変換して映像フレーム1907の復号処理を停止し10時間分待ちを行う。10時間分待った後、映像フレーム1907は復号され表示されるが、次の映像フレーム1911でのPTSとSTCの差分は11となり、まだ閾値10を超えている。自走カウンタは0の状態のため、自走処理となり再度自走カウンタのカウントアップが始まる。
音声フレーム1910にてオーディオの自走カウンタは3となり、(数18)を満たさず強制同期処理を行う。現在オーディオがマスタであるため、強制同期処理の場合にはリファレンスクロックの補正処理を行う。これによりリファレンスクロックは409に補正される。
(6.実施の形態6)
次に、本発明の実施の形態6について説明する。
(6−1.動作)
以下、図18に基づいて実施の形態6における同期生再生装置の動作について説明する。
図18は実施の形態6における同期制御処理を示すフローチャートである。
以下、自走処理中のステップS2034〜S2039の処理について、図20を用いて詳細に説明する。
まず、ステップS2034において、次式(数19)を判定する。
自走カウンタ>N
ここでNはシステムまたはデータごとに決定できる固定値であるが、Mよりも小さい。
(数19)を満たさない場合(ステップS2034:NO)には、ステップS2014に移り、実施の形態5と同じ処理となる。
ステップS2035では、現在のリファレンスクロックのマスタを取得する。
次いで、ステップS2036にて、現在ビデオマスタであると判定された場合、ステップS2037へ移る。ビデオマスタではない場合はステップS2015へ移る。
次いで、ステップS2038にて、オーディオの同期制御状態が同期状態でない場合(ステップS2038:NO)はステップS2015へ移り、同期状態である場合(ステップS2038:YES)、ステップS2039へ移る。
ステップS2039では、マスタをオーディオに切り替える。
記録されたストリームにおいて、マスタのストリーム(例えば、オーディオストリーム)のみに不連続が発生し、他方には不連続が発生していない場合、マスタが不連続後の強制同期処理を行うと、リファレンスクロックの補正を行うことになる。すなわち、リファレンスクロックにも不連続が発生することになる。結果、マスタではないストリーム(オーディオがマスタであれば、ビデオストリーム)は、リファレンスクロックに同期するように動作するため、不連続がないストリームにもかかわらず、同期制御処理によりデータの破棄や待ちが発生し連続再生されない。このような他方にのみ、特にマスタに指定されるストリームのみに、不連続がある場合において、不連続がない他方のストリームを滑らかに再生できるようにマスタ切替制御を導入している。
図19はオーディオストリームに時間的不連続が発生しており、同期状態中はオーディオマスタで動作している場合に、本実施例を適用した場合のタイミングチャートである。
この図19において、ビデオ再生データ、オーディオ再生データはフレーム単位で示され、各フレームに付記されている数字はPTSを意味する。たとえば、音声フレーム2101におけるPTSは39である。また、図19ではオーディオマスタ動作を想定しているため、オーディオの各フレームのPTS値によりリファレンスクロックは補正される。また、映像フレームの表示周期は5、音声フレームの表示周期は3であり、音声フレーム2101と音声フレーム2102の間に時間飛びが発生している。ビデオストリームには不連続はない。
まず、ビデオが同期状態、オーディオがマスタで同期状態にて再生中に、音声フレーム2102にてオーディオの不連続が発生する。このとき音声フレーム1802とリファレンスクロックの差分は18であり、また、自走カウンタは0であることから、(数13)における閾値t3=10を超えているため、自走処理が行われる。
これに対し、音声フレーム2104は、リファレンスクロックに対し差分18のため自走状態は継続される。この後、音声フレーム2105にて、自走カウンタが(数14)を満たさず強制同期処理を行う。
(7.実施の形態7)
実施の形態7では、本発明に係る携帯電話機について説明する。実施の形態7に係る携帯電話機2000は、実施の形態1で示した同期再生装置100を内部に備えている。
TV用無線部2403は、デジタルテレビ放送波を受信するものである。
TVチューナー2405は、TV用無線部2403で受信したデジタルテレビ放送波の信号処理を行うものである。
通信部2413は、アプリケーション2406と外部との通信を行うインターフェースである。
同期再生装置2414は、実施の形態1で示した同期再生装置100と同様の構成を有するものである。
蓄積部2416は、データを蓄積するメモリであり、特に、TV無線部2403で受信しTVチューナー2405で信号処理したデジタルテレビ放送データを蓄積する。
入出力部2407は、カメラ(CAM)2408、LCD(Liquid Crystal Display)2409、マイク(MIC)2410、SPK(スピーカー)2411、及びKEY(キー入力部)2412を有する。
LCD2409は、画像や映像を出力するものであり、特に、同期再生装置2414で再生出力される映像を出力する。
マイク2410は、音を入力するもので、例えば、無線電話通信時に、ユーザの音声を入力するのに用いられる。
キー入力部2412は、ユーザの入力操作を受付けるものである。
ここで、簡単に携帯電話機2000の動作について説明する。
デジタルテレビ視聴時または記録再生時の本発明の同期再生装置について、図20を用いて以下に説明を行う。
蓄積された多重化ストリームの再生は、キー入力部2412を通じたユーザからのキー操作によって再生が開始され、蓄積部2416から多重化ストリームが同期再生装置2414へ入力される。同期再生装置2414では、入力された多重化ストリームをオーディオデータ、ビデオデータに分離、復号することでの再生が可能となる。
また、ここでは本発明の同期再生装置を適用した携帯電話機を例に挙げたが、本同期再生装置は、オーディオ機器や、映像が再生可能な様々な機器への適用が可能である。
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記載の再生装置。 - MPEG(Moving Picture Experts Group)規格に準拠するものであり、
前記フレーム再生時刻情報は、MPEG規格で定められたPTS(Presentation Time Stamp)であり、
前記プログラム参照時刻情報は、MPEG規格で定められたPCR(Program Clock Reference)である
ことを特徴とする請求項2記載の再生装置。 - フレーム単位に映像再生時刻情報が付加された映像フレームと、フレーム単位で音声再生時刻情報が付加された音声フレームとから成るデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅
に相当する映像フレーム及び音声フレームから再生を開始する機能を有する再生装置であって、
映像フレームから映像フレーム再生時刻情報の取得、及び音声フレームから音声フレーム再生時刻情報の取得を行う取得部と、
前記取得部で取得した映像フレームの映像フレーム再生時刻情報が前記指定された再生開始時間幅に含まれるか否かの判定、及び前記取得部で取得した音声フレームの音声フレーム再生時刻情報が前記指定された再生開始時間幅に含まれるか否かの判定を行う比較部と、
映像フレーム及び音声フレームの復号及び再生出力を行う復号部とを備え、
前記取得部で取得した映像フレーム再生時刻情報が前記再生開始時間幅に含まれるか否かを前記比較部が判定するために要する上限時間Tvと、前記取得部で取得した音声フレーム再生時刻情報が前記再生開始時間幅に含まれるか否かを前記比較部が判定するために要する上限時間Taとが設定されており、
(i)上限時間Tv>Taを満たすとき、前記復号部は、前記取得部で取得した音声フレーム再生時刻情報が前記再生開始時間幅に含まれず上限時間Taが経過した時に、映像フレームの復号が完了している場合、当該映像フレームを再生出力し、
(ii)上限時間Tv<Taを満たすとき、前記復号部は、前記取得部で取得した映像フレーム再生時刻情報が前記再生開始時間幅に含まれず上限時間Tvが経過した時に、音声フレームの復号が完了している場合、当該音声フレームを再生出力する
ことを特徴とする再生装置。 - 所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号し、自装置内のシステム基準クロックと同期して再生する再生装置であって、
フレーム毎に、フレーム再生時刻情報と、前記システム基準クロックが示す時刻とを比較する比較部と、
前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致すると判断された場合、当該フレーム再生時刻情報が付加されているフレームを復号して再生出力する復号部と、
前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合は、当該フレーム再生時刻情報が付加されたフレームを復号して前記システム基準クロックと非同期で再生出力するよう前記復号部に指示する制御部と、
前記制御部の指示により、前記復号部が前記システム基準クロックと非同期で再生出力したフレームをカウントするカウント部とを備え、
前記制御部はさらに、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームを強制的に前記システム基準クロックと同期させて再生出力するよう前記復号部に指示する強制同期処理を実行する
ことを特徴とする再生装置。 - 前記制御部は、前記強制同期処理として、(i)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、フレーム再生時刻情報が、システム基準クロックが示す時刻と一致するまで待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力するよう前記復号部に指示し、(ii)前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を下回ると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームは再生出力しないよう前記復号部に指示する
ことを特徴とする請求項5記載の再生装置。 - 前記制御部は、前記比較部で、フレーム再生時刻情報が、前記システム基準クロックが示す時刻を超えると判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力されたフレームがカウントされた場合において、さらに、フレーム再生時刻情報とシステム基準クロックが示す時刻との差分が所定差分t1を超える場合のみ、t1より小さい所定の時間t2だけ待ってから、当該フレーム再生時刻情報が付加されたフレームを復号して再生出力する
ことを特徴とする請求項6記載の再生装置。 - 前記フレームは、第1メディアに係る第1メディアフレームと、第2メディアに係る第2メディアフレームに分かれており、前記第1メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するものであり、
前記比較部は、フレームについて、第1メディアフレームと第2メディアフレームとを区別して、それぞれのフレーム再生時刻情報とシステム基準クロックが示す時刻とを比較し、
前記カウント部は、フレームのカウントについて、第1メディアフレームと第2メディアフレームとを区別してカウントし、
前記制御部は、前記比較部で、前記フレームの内第1メディアフレームについての再生時刻情報が、前記システム基準クロックと一致しないと判断された場合で、且つ前記カウント部により、所定回数非同期で再生出力された第1メディアフレームがカウントされた場合においては、前記第2メディアフレームの再生時刻情報に基づいて前記システム基準クロックを決定するよう変更する
ことを特徴とする請求項5記載の再生装置。 - 請求項1乃至8のいずれか1項に記載の再生装置を備えることを特徴とする携帯電話機。
- 所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号して再生出力するものであり、指定された再生開始位置を含む再生開始時間幅に相当するフレームから再生を開始する機能を有する再生装置における再生方法であって、
フレーム毎に、フレーム再生時刻情報を取得する取得ステップと、
前記取得ステップで取得したフレーム再生時刻情報を保持する保持ステップと、
フレーム毎に、前記取得ステップで取得した現フレーム再生時刻情報が、前記指定された再生開始時間幅に含まれるか否かを判定し、含まれないと判定された場合はさらに、前記現フレーム再生時刻情報と、前記保持ステップで保持されている前のフレームにおける前フレーム再生時刻情報との差分が、前記所定時間間隔を超えるか否かを判定する比較ステップと、
前記比較ステップで、前記現フレーム再生時刻情報と前記前フレーム再生時刻情報との差分が前記所定時間間隔を超えると判断された場合は、前記現フレーム再生時刻情報が付加されたフレームから再生を開始する再生出力ステップとを含む
ことを特徴とする再生方法。 - 所定時間間隔でフレーム単位にフレーム再生時刻情報が付加されたデータストリームを復号し、自装置内のシステム基準クロックと同期して再生する再生装置における再生方法であって、
フレーム毎に、フレーム再生時刻情報と、前記システム基準クロックが示す時刻とを比較する比較ステップと、
前記比較ステップで、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致すると判断された場合、当該フレーム再生時刻情報が付加されているフレームを復号して再生出力する第1再生出力ステップと、
前記比較ステップで、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合は、当該フレーム再生時刻情報が付加されたフレームを復号して前記システム基準クロックと非同期で再生出力する第2再生出力ステップと、
前記第2再生出力ステップで、前記システム基準クロックと非同期で再生出力したフレームをカウントするカウントステップと、
前記比較ステップで、フレーム再生時刻情報が、前記システム基準クロックが示す時刻と一致しないと判断された場合で、且つ前記カウントステップにより、所定回数非同期で再生出力されたフレームがカウントされた場合においては、当該フレーム再生時刻情報が付加されたフレームを強制的に前記システム基準クロックと同期させて再生出力するよう強制同期処理を実行する強制同期処理ステップとを含む
ことを特徴とする再生方法。
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)
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)
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 | 松下電器産業株式会社 | 画像再生装置 |
-
2007
- 2007-02-26 EP EP07737365A patent/EP1995960A4/en not_active Withdrawn
- 2007-02-26 CN CN2007800068375A patent/CN101390388B/zh not_active Expired - Fee Related
- 2007-02-26 US US12/278,142 patent/US20090116814A1/en not_active Abandoned
- 2007-02-26 JP JP2008502771A patent/JP4852094B2/ja active Active
- 2007-02-26 WO PCT/JP2007/053512 patent/WO2007099906A1/ja active Application Filing
- 2007-02-26 KR KR20087021085A patent/KR20080108432A/ko not_active Application Discontinuation
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 |