JP2005101818A - 復号再生装置、復号再生用プログラムおよび復号再生方法 - Google Patents

復号再生装置、復号再生用プログラムおよび復号再生方法 Download PDF

Info

Publication number
JP2005101818A
JP2005101818A JP2003331589A JP2003331589A JP2005101818A JP 2005101818 A JP2005101818 A JP 2005101818A JP 2003331589 A JP2003331589 A JP 2003331589A JP 2003331589 A JP2003331589 A JP 2003331589A JP 2005101818 A JP2005101818 A JP 2005101818A
Authority
JP
Japan
Prior art keywords
output
decoding
time
data
unit
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.)
Withdrawn
Application number
JP2003331589A
Other languages
English (en)
Inventor
Masahiro Morishita
昌博 森下
Tomoyuki Morikawa
智之 森川
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003331589A priority Critical patent/JP2005101818A/ja
Publication of JP2005101818A publication Critical patent/JP2005101818A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Television Receiver Circuits (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 出力される音声および/または画像への処理遅延の変化による影響を抑える。
【解決手段】 タイミング制御部10は、復号処理40の完了通知42を受け取った後に、フレーム毎に付されたタイムスタンプが示す出力開始時間Pから画像出力部6の処理遅延yについての予測値だけ早い時間t2に、出力処理60の開始の指示61を画像出力部6へ伝える。時間計測部7は、フレームごとの処理遅延yを計測するとともに、最新に計測した複数の処理遅延yの平均値を処理遅延の予測値に反映させる。
【選択図】 図9

Description

本発明は、復号再生装置、復号再生用プログラムおよび復号再生方法に関し、特に出力音声および/または出力画像への処理遅延の影響を抑えるための技術に関する。
従来の音声画像復号再生装置は、別個の機器で圧縮符号化された音声データと画像データとが、定められたフォーマットに従って多重化され伝送または蓄積されたものを多重分離し、分離された音声データおよび画像データを別個の復号器で再生した上で出力していた。このため、復号化された音声データおよび画像データの間で同期を実現する技術として、音声および画像の圧縮符号化データを多重化する時のフォーマットに、再生用のタイムスタンプを用意しておき、再生時には、そのタイムスタンプを用いて同期を取る技術、あるいは、タイムスタンプは使用せず、音声および画像データの再生時に、音声または画像データのいずれかの再生時間軸を音声画像復号再生装置全体の時間軸とし、時間軸ではない側がタイミングの修正を行うことにより(例えば、音声を再生時間軸とした場合、画像再生においてタイミングの修正を行う)、同期を取る技術が用いられていた。
タイムスタンプを使用する従来技術の例として、特許文献1に開示される「多重化データ蓄積再生装置」が挙げられる。この装置は、テレビ電話システムにおいて蓄積データの再生を行うもので、音声データおよび画像データに分離され、かつタイムスタンプが付加されたパケットの形式で蓄積された音声画像多重化データを再生するものである。この装置は、蓄積データを再生する際に、パケットに付加されたタイムスタンプにより同期を取るように構成されている。
タイムスタンプを使用しない従来技術の例として、特許文献2に開示される「映像音声同期システム」が挙げられる。このシステムは、音声データの再生時間軸をシステム全体の時間軸とし、画像データの再生タイミングを修正することにより音声と画像との間で同期をとる技術を採用している。このシステムは、再生すべき音声データをある決められた時間分入力し、その時間内に再生すべき画像データを対応づけすることにより、音声データと画像データとの間の再生時間のずれを監視するように構成されている。ずれを修正するために、音声データと画像データのずれの状態に応じて、画像データの表示時間の短縮、延長、および表示の取り止めが選択的に行われる。
特開平7−184178号公報 特開平6−233269号公報
これらの従来技術では、同期化のための制御をソフトウェアで行う場合には、ある時間に再生データを出力すべく制御を行っているにもかかわらず、実際に出力されるまでには処理に要する時間分の遅延、すなわち処理遅延が生じる。例えば、出力指示の通知がなされた場合、OS(オペレーティングシステム)によって出力処理部が起動され、出力処理として、分析、データ転送、拡大縮小、および表示エリア展開等が行われることにより、再生データが出力される。これらの処理に要する時間の合計が処理遅延となる。
処理遅延は再生データの出力時には必ず発生するものであるので、音声および画像の圧縮符号化データに含まれるタイムスタンプから、固定された値としての処理遅延を補償すべき時間を算出し、その時間に出力指示を行うことにより、処理遅延の影響を排除することも可能である。しかしながら近年において、モバイル機器に代表される省電力モード機能を持つ機器では、CPUクロック、動作タスク、LCD処理等を使用状況に応じて変化させることにより省電力が実現されているため、これらの内部処理時間は、もはや固定されたものではなく随時に変化することとなる。
動作モードを省電力モードへ移行させることより動作クロックの速度を低くする場合を例に挙げると、動作クロックを低速にすることは、ソフトウェアにとっては単位時間当たりの動作ステップ数が減ることを意味する。その結果、処理能力が低下し、上記に例示した各処理の内部処理時間が増大するので、処理遅延が増大することとなる。このようにソフトウェアの動作環境を変化させる機能を持つ機器では、内部処理時間が変化することにより、ソフトウェアが予定している出力時間とは異なった時間に、再生データが出力される。その結果、出力される音声および画像が間延びするという現象、あるいは逆に速くなるという現象が発生し、連続して出力される音声および画像を知覚する視聴者に違和感を与えることとなる。
また、ソフトウェアの動作環境が変わらない機器においても、上記のように処理遅延は再生データの出力時には必ず発生するものである。したがって、処理遅延を固定値としてその影響を補償する機器においては、ソフトウェアを機器のメモリに書き込む際、あるいはソフトウェアが書き込まれたメモリを機器に搭載する際に、処理遅延に対するチューニング作業が必要となる。このことは、機器の出荷前等における作業工数の増大をもたらすこととなる。
本発明は上記の問題点に鑑みてなされたもので、出力される音声および/または画像への処理遅延の変化による影響を抑えることができるとともに、装置出荷前等における作業工数を低減しつつ処理遅延の影響を抑えることのできる復号再生装置、復号再生用プログラム、および復号再生方法を提供することを目的とする。
上記課題を解決し上記目的を達成するために請求項1に記載の発明は、音声データと画像データとの少なくとも一方を含み、かつ圧縮符号化されたデータを復号化して出力する復号再生装置であって、入力される前記データを、あるデータ単位ごとに復号化する復号化手段と、復号化されたデータを前記データ単位ごとに出力する出力手段と、前記データ単位毎に付されたタイムスタンプが示す出力開始時間よりも、前記出力手段が前記データ単位の前記データの出力処理を開始した後に当該データの出力が開始されるまでの処理遅延の予測値だけ早く、前記出力処理の開始を前記出力手段へ指示するタイミング制御手段と、前記処理遅延を計測するとともに、計測した過去の処理遅延にもとづいて処理遅延の前記予測値を算出する時間計測手段と、を備えるものである。
また、請求項2に記載の発明は、請求項1に記載の復号再生装置であって、前記時間計測手段が、最新に計測した処理遅延を前記予測値に反映させるものである。
請求項3に記載の発明は、請求項1または2に記載の復号再生装置であって、前記時間計測手段が、最新に計測した複数の処理遅延の平均値を算出し、当該平均値を前記予測値に反映させるものである。
請求項4に記載の発明は、請求項1ないし3のいずれかに記載の復号再生装置であって、前記時間計測手段が、最新に計測した処理遅延がある範囲を超えた場合に限り、処理遅延の前記予測値を更新するものである。
請求項5に記載の発明は、請求項1ないし4のいずれかに記載の復号再生装置であって、前記時間計測手段は、前記復号化手段が前記データ単位ごとに前記データを復号化するのに要する時間である復号処理時間をも計測するとともに、計測した過去の復号処理時間の最大値を算出し、前記タイミング制御手段は、前記復号処理時間として前記最大値を要するとしたならば前記出力処理の開始を指示すべき時間より前に前記復号処理が終了しないと予測される場合に、前記復号化手段に、1データ単位をスキップしてつぎのデータ単位の前記データを復号化させるものである。
請求項6に記載の発明は、復号再生用プログラムであって、音声データと画像データとの少なくとも一方を含み、かつ圧縮符号化されたデータを復号化して出力する復号再生装置を、入力される前記データを、あるデータ単位ごとに復号化する復号化手段と、復号化されたデータを前記データ単位ごとに出力する出力手段と、前記データ単位毎に付されたタイムスタンプが示す出力開始時間よりも、前記出力手段が前記データ単位の前記データの出力処理を開始した後に当該データの出力が開始されるまでの処理遅延の予測値だけ早く、前記出力処理の開始を前記出力手段へ指示するタイミング制御手段と、前記処理遅延を計測するとともに、計測した過去の処理遅延にもとづいて処理遅延の前記予測値を算出する時間計測手段として機能させるものである。
請求項7に記載の発明は、音声データと画像データとの少なくとも一方を含み、かつ圧縮符号化されたデータを復号化して出力する復号再生方法であって、入力される前記データを、あるデータ単位ごとに復号化する復号化工程と、復号化されたデータを前記データ単位ごとに出力する出力工程と、前記データ単位毎に付されたタイムスタンプが示す出力開始時間よりも、前記出力工程が前記データ単位の前記データの出力処理を開始した後に当該データの出力が開始されるまでの処理遅延の予測値だけ早く、前記出力処理を開始するよう前記出力工程の時期を指示するタイミング制御工程と、前記処理遅延を計測するとともに、計測した過去の処理遅延にもとづいて処理遅延の前記予測値を算出する時間計測工程と、を備えるものである。
請求項1に記載の発明によれば、計測された過去の処理遅延にもとづいて処理遅延の予測値が算出されるので、処理遅延にその予測値が自己適合的に追随する。また、タイムスタンプが示す出力開始時間よりも処理遅延の予測値だけ早く、出力手段による出力処理の開始が指示されるので、復号化後のデータが出力手段から出力される時間が、タイムスタンプが示す時間に自己適合的に追随する。したがって、処理遅延に変動があっても、出力される音声および/または画像への違和感等の影響を抑えることができる。また、自己適合性のために処理遅延の予測値の初期値として任意の値を付与することができるので、当該初期値に対するチューニング作業を要することなく処理遅延の影響を抑えることができる。
請求項2に記載の発明によれば、最新に計測された処理遅延が処理遅延の予測値に反映されるので、処理遅延への予測値の追随を早めることができる。
請求項3に記載の発明によれば、最新に計測した複数の処理遅延の平均値、すなわち処理遅延に関する一種の移動平均値がその予測値に反映されるので、一時的な処理遅延の変動に起因して不必要に予測値が変動するのを防ぎつつ、処理遅延にその予測値を追随させることができる。
請求項4に記載の発明によれば、時間計測手段が、最新に計測した処理遅延がある範囲を超えた場合に限り、処理遅延の予測値を更新するので、一時的な処理遅延の変動に起因して不必要に予測値が変動するのを効果的に防ぐことができる。
請求項5に記載の発明によれば、復号処理時間の最大値をいわば復号処理時間の予測値として、復号処理が出力処理の開始指示よりも前に終了しないと予測される場合には、復号化手段が1データ単位をスキップしてつぎのデータ単位のデータを復号化するので、復号処理が出力処理の開始指示よりも前に終了しないという現象が複数のデータ単位について継続して発生した場合においても、1データ単位おきに復号化が行われて出力されるので、復号処理されたデータ単位のデータが継続して出力されないという不都合を防止することができる。
請求項6に記載の発明によれば、復号再生装置が上記各手段として機能するので、処理遅延に変動があっても、出力される音声および/または画像への違和感等の影響を抑えることができる。また、処理遅延の予測値の初期値に対するチューニング作業を要することなく処理遅延の影響を抑えることができる。
請求項7に記載の発明によれば、復号再生方法が上記各工程を備えるので、処理遅延に変動があっても、出力される音声および/または画像への違和感等の影響を抑えることができる。また、処理遅延の予測値の初期値に対するチューニング作業を要することなく処理遅延の影響を抑えることができる。
以下に、本発明の実施の形態について図面を参照して説明する。
(復号再生装置の構成)
図1は、本発明の実施の形態による復号再生装置のハードウェア構成を示すブロック図である。この復号再生装置は、音声と画像との双方を復号再生する音声画像復号再生装置100として構成されており、CPU(中央演算処理部)1、入力バッファ部2、音声復号化部3、画像復号化部4、音声出力部5、画像出力部6および時間計測部7を備えている。これら各部は、バスライン15によって相互に接続されている。CPU1は、装置各部を制御するためのものであり、図示しないメモリに書き込まれたプログラムにしたがって動作する。なお、CPU1は図示しないメモリ等の周辺装置をも含めたコンピュータを代表している。入力バッファ部2は、入力される圧縮音声画像データ20を一時的に保持する。圧縮音声画像データ20は、圧縮符号化された音声データと画像データとを含むとともに、タイムスタンプ(出力時間情報)すなわち出力すべき時間を記した情報をも含んでいる。
音声復号化部3は、CPU1の制御にもとづいて、入力バッファ部2から1フレーム分の圧縮音声データを受け取り、受け取った圧縮音声データを復号化する。同様に、画像復号化部4は、CPU1の制御にもとづいて、入力バッファ部2から1フレーム分の圧縮画像データを受け取り、受け取った圧縮画像データを復号化する。CPU1は、音声復号化部3および画像復号化部4から復号処理完了の通知を受け取ると、音声出力部5および画像出力部6へ出力開始を指示する。音声出力部5は、CPU1から出力開始の指示を受けると、音声復号化部3で得られた1フレーム分の復号音声データを出力する。同様に、画像出力部6は、CPU1から出力開始の指示を受けると、画像復号化部4で得られた1フレーム分の復号画像データを出力する。このように、音声復号化部3および画像復号化部4は、CPU1の制御にもとづいて1フレーム毎に入力データの復号化を行い、音声出力部5および画像出力部6は、CPU1の制御にもとづいて1フレーム毎に復号データの出力を行う。出力される復号音声データは、スピーカ等の音声変換器18により音声へと変換され、出力される復号画像データは、LCDパネル等の画像表示器19により画像として表示される。
時間計測部7には、CPU1から音声復号化部3および画像復号化部4へ伝えられる復号処理開始契機、逆に音声復号化部3および画像復号化部4からCPU1へ伝えられる復号処理完了契機、CPU1から音声出力部5および画像出力部6へ伝えられる出力処理開始契機、および、逆に音声出力部5および画像出力部6からCPU1へ伝えられる出力処理完了契機が通知される。時間計測部7は、これらの契機にもとづいて、音声復号処理時間、画像復号処理時間、音声出力処理時間、および画像出力処理時間を計測する。
図2は、CPU1の内部構成をプログラムにもとづく機能に着目して展開して描いた音声画像復号再生装置100のブロック図である。図2が示すように、CPU1は、データ転送部9およびタイミング制御部10を等価的に備えている。データ転送部9は、入力バッファ部2から圧縮音声データを読み出し、音声復号化部3へ転送するとともに、入力バッファ部2から圧縮画像データを読み出し、画像復号化部4へ転送する。
タイミング制御部10は、圧縮音声データに含まれるタイムスタンプが示す出力開始時間と時間計測部7から通知される処理遅延その他の時間情報とにもとづいて、音声復号化部3および音声出力部5の制御を行う。タイミング制御部10は、同様に、圧縮画像データに含まれるタイムスタンプが示す出力開始時間と時間計測部7から通知される処理遅延その他の情報とにもとづいて、画像復号化部4および画像出力部6の制御を行う。また、タイミング制御部10は、データ転送部9の制御をも行っている。
なお、図1に示したCPU1以外の各要素は、ソフトウェア(プログラム)を必要としないハードウェアで構成してもよいが、ソフトウェアにしたがって動作するCPUにより等価的に構成してもよい。以下の説明では、いずれの要素もソフトウェアにしたがって動作するものとする。この場合のCPUは、CPU1とは別個であってもよく、あるいはCPU1が各要素を等価的に実現するものであってもよい。後者の場合には、図2の機能ブロック図に描かれる各要素はいずれもCPU1により等価的に構成されることとなる。CPU1(コンピュータ)の動作を規定するソフトウェアは、通信ネットワーク等の伝送媒体を通じて提供することも、ROM、CD−ROM等の記録媒体を通じて提供することも可能である。CPU1は、例えば外付けのCD−ROM読み取り装置等(不図示)を用いて、記録媒体に記録されたソフトウェアを読み取ることができる。
(復号化部と出力部の動作の概略)
図3は、画像復号化部4および画像出力部6の動作と、タイミング制御部10によるそれらの制御動作の時間に沿った流れを示すタイミングチャートである。なお、図3および以下に示す各タイミングチャートにおいて、画像復号化部4および画像出力部6は、そのまま音声復号化部3および音声出力部5へ置き換えることができる。処理時間について、音声復号化部3の方が画像復号化部4よりも通常は短く、音声出力部5の方が画像出力部6よりも通常は短い点で、双方のタイミングチャートは相違するに過ぎない。すなわち、画像の処理に関する図3以下のタイミングチャートは、音声の処理に関するタイミングチャートをも代表するものである。
図3が示すように、タイミング制御部10からの復号処理開始指示41により、画像復号化部4は復号処理40を開始し、復号処理40が終了すると、復号処理完了通知42をタイミング制御部10に伝える。同様に、タイミング制御部10からの出力処理開始指示61により、画像出力部6は出力処理60を開始し、出力処理60が終了すると、出力処理完了通知62をタイミング制御部10に伝える。なお、図3以下の図において、説明の便宜のために、復号処理40、復号処理開始指示41のように、処理内容あるいは信号にも符号を付している。また、復号処理40をはじめとする各処理を示す帯の中に付されたk、k+1,k+2等の符号は、処理対象とされるフレームを識別する番号であり、入力順に付されている。復号処理40と出力処理60との間など、異なる処理の間で同一符号が付されたものは、同一フレームに対する処理を表している。
タイミング制御部10は、復号処理完了通知42を受けた時間t1、圧縮画像データに付加されているタイムスタンプが示す出力開始時間P(以下において簡単のために、タイムスタンプが示す出力開始時間PをタイムスタンプPと略記する)、および画像出力部6における処理遅延yの予測値にもとづいて、画像出力部6に出力処理開始指示61を伝える時間t2を算出し、その後、その時間t2が到来すると画像出力部6に出力処理開始指示61を伝える。処理遅延yの予測値は、時間計測部7によって算出される。処理遅延yの予測値の算出、およびタイミング制御部10による時間t2の演算については、後に詳述する。
処理遅延yは、時刻t2に伝えられる出力処理開始指示61により画像出力部6が出力処理60を開始した後、出力80を始める(出力開始63)時間t3までに要する画像出力部6の処理時間、すなわち出力処理時間である。図4は、処理遅延yを構成する要素を示す説明図である。タイミング制御部10から画像出力部6へ出力処理開始指示61が伝えられると、まずOS(オペレーティングシステム)によりタスク処理64が行われ、画像出力部6内の要素である画像出力処理部が起動される。画像出力処理部での処理は、起動された事象の分析処理65、出力データの内部取り込み(出力データの転送)66、取り込んだデータの拡大縮小67、そのデータの表示エリアへの展開(例えば、画像RAMへの展開)68という過程を経て出力開始63へ至る。つまり、タイミング制御部10による出力処理開始指示61がなされる時間t2から、画像表示器19への出力80が開始される(出力開始63)時間t3までの期間である遅延時間yは、各処理に要する時間α,u,v,w,xの和であり、y=α+u+v+w+xで表される。
図5は、動作モードが通常モードから省電力モードへ遷移したときの、画像復号化部4および画像出力部6の動作とタイミング制御部10によるそれらの制御動作の時間に沿った流れを示すタイミングチャートである。先に示した図3は、通常モードにおける同様のタイミングチャートに該当するので、図5と対比して参照することができる。省電力モードでは、通常モードに比べて動作クロックの速度が低下するので、ソフトウェアの単位時間当たりの処理ステップ数が減少する。その結果、各処理に要する時間が延びることとなる。すなわち図5が示すように、復号処理40に要する時間が増加分Sだけ長くなり、出力処理60に要する時間が増加分Tだけ長くなる。それにより、k+1番目のフレームについて例示するように、画像復号化データの実際の出力開始時間t3が、予測された出力開始時間t3に比べて出力処理増加分Tだけ遅れることとなる。なお、画像復号化部4および画像出力部6がソフトウェアを必要としないハードウェアによって構成される場合においても、それらはクロックパルスに同期して動作するものであり、処理に要する時間は同様に延びることとなる。
図6は、動作モードが通常モードから省電力モードへ遷移したときの、処理遅延を構成する要素を示す説明図である。先に示した図4は、通常モードにおける同様の説明図に該当するので、図6と対比して参照することができる。OSによるタスク処理64に要する時間がαからβへ延び、出力処理部による分析処理65に要する時間がuからUへ延び、出力データの内部取り込みに要する時間がvからVへ延び、取り込んだデータの拡大縮小に要する時間がwからWへ延び、そのデータの表示エリアへの展開に要する時間がxからXへ延びる。つまり、画像出力部6の動作を規定するソフトウェアの動作環境の変更により、処理遅延の変化分Tは、変更後の遅延時間Y−変更前の遅延時間yであり、T=Y−y=(β+U+V+W+X)−(α+u+v+w+x)で与えられる。
(時間計測部を含めた装置全体の動作)
つぎに、時間計測部7を含めた音声画像復号再生装置100全体の動作について詳細に説明する。図7は、タイミング制御部10による処理の手順を示すフローチャートである。また図8は、時間計測部7による処理の手順を示すフローチャートである。さらに図9は、図7および図8の処理手順にもとづく時間計測部7、タイミング制御部10、画像復号化部4および画像出力部6の動作の時間に沿った流れを示すタイミングチャートである。なお、図7および図8のフローチャートにおいても、画像データに関する処理は音声データに関する処理をも代表する。
図7が示すように、処理が始まると、タイミング制御部10は、データ転送部9に、圧縮画像データを画像復号化部4へ転送させる(S1)。つぎに、タイミング制御部10は、復号処理開始通知71(図9)を時間計測部7へ送る(S2)。図8が示すように、時間計測部7は復号処理開始通知71を受け取ると、ステップT2の処理を行う。すなわち、時間計測部7は、復号処理開始通知71を受信した時間Aを、自身が持つ時計により抽出し、さらに保持する(S21)。つぎに時間計測部7は、時間Aとともに、それまでの復号処理時間mの最大値Mmaxをタイミング制御部10へ通知する(S22)。最大値Mmaxは、後述するように、ステップT2の時点では、すでに算出され保持されている(図8;S25)。
図7のステップS2が終了すると、タイミング制御部10は、入力される圧縮音声画像データ20からタイムスタンプPを抽出する(S3)。タイムスタンプPは、それが付される画面を表示すべき時間を記述している。つぎにタイミング制御部10は、時間Aおよび最大値Mmaxから、復号処理の完了について予測される時間、すなわち復号処理完了予測時間(A+Mmax)を算出する(S4)。
つぎにタイミング制御部10は、現時点での処理遅延ZとタイムスタンプPとから、出力処理開始時間(P−Z)を算出し、これを復号処理完了予測時間(A+Mmax)と比較する(S5)。処理遅延Zは、後述するように処理遅延y(またはY)についての予測値であり、ステップS5の時点ではすでに通知されている(図8;S26)。出力処理開始時間(P−Z)>復号処理完了予測時間(A+Mmax)であれば、そのフレームを復号化した後に出力するだけの時間的余裕があることを意味することから、タイミング制御部10は、復号処理開始指示41を画像復号化部4へ伝える(S6)。それにより、画像復号化部4は復号処理40を開始する。
一方、出力処理開始時間(P−Z)≦復号処理完了予測時間(A+Mmax)であれば、そのフレームを復号化した後に出力することは不可能であると予測されるので、1フレーム分をスキップして、その次のフレームの画像圧縮データを復号化するために、ステップS1と同一の処理を再度行う(S13)。これにより、本来の復号化対象となるフレームのつぎのフレームの画像圧縮データが画像復号化部4へ転送される。そして、つづくステップS6により、転送されたフレームの画像圧縮データに対する復号処理開始の指示41が画像復号化部4へ送られる。ステップS13の処理については、後に詳述する。
ステップS6の処理が終了すると、処理はステップS7へ移行する。ステップS7では、タイミング制御部10は、画像復号化部4からの復号完了通知42、画像出力部6からの出力処理完了通知62、および出力処理開始時間t2の到来のいずれかを待つ。
タイミング制御部10は、ステップS7の待機中に画像復号化部4から復号処理完了通知42を受け取ると、時間計測部7に復号処理完了通知72を伝える(S8)。図8が示すように、時間計測部7は復号処理完了通知72を受け取ると、ステップT8の処理を行う。すなわち、時間計測部7は、復号処理完了通知72を受信した時間Bを、自身が持つ時計により抽出し、さらに保持する(S23)。つぎに時間計測部7は、時間Aと時間Bとによって、今回の復号処理時間m=B−Aを算出するとともに(S24)、今回までの復号処理時間mの最大値Maxを算出し、さらに保持する(S25)。時間計測部7は、つづいて、時間Bとともに、処理遅延Zをタイミング制御部10へ通知する(S26)。処理遅延Zは、後述するようにステップT2の時点では、すでに算出され保持されている(図8;S31)。
図7のステップS8が終了すると、タイミング制御部10は、タイムスタンプP、および時間計測部7から通知された時間Bと処理遅延Zから、出力処理開始時間t2を算出し、この出力処理開始時間t2をタイマーにセットする(S9)。その後、タイミング制御部10の処理はステップS7に戻る。
タイミング制御部10は、ステップS7の待機中に出力処理開始時間t2が到来すると(すなわち、タイマー割り込みが発生すると)、出力処理開始通知73を時間計測部7へ伝える(S11)とともに、出力処理開始指示61を画像出力部6へ伝える(S12)。これにより、画像出力部6は出力処理60を開始する。その後、処理はステップS1へ戻る。一方、図8が示すように、時間計測部7は出力処理開始通知73を受け取ると、ステップT11の処理を行う。すなわち、時間計測部7は、出力処理開始通知73を受信した時間Cを、自身が持つ時計により抽出し、さらに保持する(S27)。
タイミング制御部10は、ステップS7(図7)の待機中に画像出力部6から送られる出力処理完了通知62を受け取ると、出力処理完了通知74を時間計測部7へ伝える(S10)。その後、タイミング制御部10の処理はステップS7へ戻る。図8が示すように、時間計測部7は出力処理完了通知74を受け取ると、ステップT10の処理を行う。すなわち時間計測部7は、出力処理完了通知74を受信した時間Dを、自身が持つ時計により抽出し、さらに保持する(S28)。
つぎに時間計測部7は、時間Cと時間Dとによって、今回の出力処理時間n=D−Cを算出するとともに(S29)、すでに算出されている前回までの出力処理時間nの平均値Nと今回の出力処理時間nとの差(n−N)を算出する(S30)。出力処理時間nは、処理遅延y(またはY)の計測値に相当する。平均値Nは、現在を起点として過去へ遡ったある個数のフレームに関する出力処理時間nの平均値、すなわち一種の移動平均値である。例えば、直前に出力処理60が終了したフレームがk番目のフレームであるとすれば、k−K番目、k−K+1番目、k−K+2番目、・・・、およびk番目のフレームについての出力処理時間nの平均値が平均値Nへ付与される。ここで、Kは整数であって1≦Kである。整数Kは任意に定めることができる。
時間計測部7は、つづいて、ステップS30で算出した差(n−N)にもとづいて、処理遅延Zを更新する(S31)。更新は、例えばつぎの(i)〜(iii)のいずれかによって行われる。
(i)差(n−N)を平均値Nに加算した値、すなわちN+(n−N)=nを新たな処理遅延Zとする。この場合には、今回の出力処理時間nそのものが新たな処理遅延Zとなるので、ステップS30の処理は省いても良い。
(ii)差(n−N)のある割合q(0<q<1)を乗じたq・(n−N)を平均値Nに加算した値、すなわち、N+q・(n−N)を新たな処理遅延Zとする。言い換えると、新たな処理遅延Zは、Z=(1−q)・N+q・nであり、出力処理時間nと平均値Nとをq:(1−q)の比率で混合した値(加重平均)となる。割合qは、例えば予め定められた値であり、例えば図示しないメモリに予め記憶される。上記(i)は、この数式においてq=1の場合に相当し、以下に述べる(iii)は、q=0の場合に該当する。
(iii)平均値Nを新たな処理遅延Zとする。
上記(i)では、演算が簡素であるという利点に加えて、現実の処理遅延y(またはY)の変動があった場合に、これに素早く追随して処理遅延yを補償する出力処理開始時間t2を設定できるという利点がある。一方、上記(ii)及び(iii)では、処理遅延Zに平均値Nが反映されるので、一時的な処理遅延yの変動に過敏に追随することにより、予測値としての処理遅延Zが、望ましい値から却ってずれてしまうことを防止することができる。
より詳細に(i)〜(iii)について追随の早さを比較すると、(i)が最も追随が早く、(iii)が最も遅くなる。(ii)は、それらの中間の早さとなる。また、(ii)及び(iii)において、平均値Nのもとになる現在及び過去の処理時間nの個数(K+1)が大きいほど追随が遅くなる。追随が早いほど、遅延時間y(またはY)の変動があっても、出力処理を開始する時間t3のタイムスタンプPからの一時的なずれが小さく、かつより早急にずれが解消されるという利点が得られる。一方、追随が遅いほど、一時的な処理遅延y(またはY)の変動に起因して不必要に処理遅延Zが変動するのを防ぎ、時間t3のタイムスタンプPからの不用意なずれを抑えることができるという利点が得られる。
時間計測部7は、ステップS31において、今回の出力処理時間nがある範囲を超えた場合にのみ、上記(ii)又は(iii)に基づいて処理遅延Zを更新することも可能である。例えば、時間計測部7は、ステップS31において、ある基準値r(0<r)に対して、閾値Z1=(1−q)・(N+r)+q・n及び閾値Z2=(1−q)・(N−r)+q・nを算出し、今回の出力処理時間nが、n≧Z1又はn≦Z2の何れかである場合に限り、処理遅延ZをZ=(1−q)・N+q・nで更新してもよい。ここで、割合qは、0≦q<1の範囲の値であり、例えば予め定められている。また、基準値rは、例えば予め適度な値に定めれられた値であり、例えば図示しないメモリに予め記憶されている。このように、更新を行うための条件を付加することにより、予測値としての処理遅延Zが一時的な処理遅延yの変動へ過敏に追随することを効果的に抑制することができる。
ステップS31の後、時間計測部7は、今回のものを含めた出力処理時間nの平均値Nを算出し、保持する(S32)。
図10は、動作モードが通常モードから省電力モードへ移行する前後における装置各部の動作を示すタイミングチャートである。また図11は、動作モードが省電力モードへ移行した後における装置各部の動作を示すタイミングチャートである。上記のように、時間計測部7は、復号処理時間mを計測する(S24)とともに出力処理時間nを計測し(S29)、出力処理時間nから処理遅延Zを算出する(S31)。図10に例示する時間tsで動作モードが通常モードから省電力モードへ移行すると、画像復号化部4による処理時間である復号処理時間mは、k+2番目のフレームに対する処理から延び、画像出力部6による処理時間である出力処理時間nは、k+1番目のフレームに対する処理から延びることとなる。図10には、各処理時間の増加分が描かれている。
タイミング制御部10がk+1番目のフレームの出力開始指示61を画像出力部6へ伝える時間は、タイムスタンプPと、k+1番目のフレームに対する復号処理完了通知42を送った時間Bと、k番目のフレームおよびそれ以前のフレームに対する出力処理時間nにもとづいて算出された処理遅延Zとにもとづいて決定されるので(図7のS9)、k+1番目のフレームに対する出力処理時間nの増加により、k+1番目のフレームの出力開始63が遅延することとなる。
しかしながら、k+1番目のフレームに対する出力処理時間nの増加は、その後に行われるステップS31(図8)による処理遅延Zの更新により、新たな処理遅延Zの値に反映される。時間計測部7は、その後の最初にタイミング制御部10から送られるk+2番目のフレームに対する復号処理完了通知42(図7のS8)を契機として、更新された処理遅延Zをタイミング制御部10へ通知する(図8のS26)。タイミング制御部10は、タイムスタンプPと、k+2番目のフレームに対する復号処理完了通知42を送った時間Bと、更新された処理遅延Zとにもとづいてk+2番目のフレームの出力処理開始指示61を画像出力部6へ伝える時間t2を決定する(図7のS9)。したがって、処理遅延Zが更新により長くなった分だけ、出力処理開始指示61を伝える時間t2が早まる。それにより、k+2番目のフレームの出力開始63の時間t3(≒出力処理完了通知74を伝える時間D)は、タイムスタンプPに追随することとなる。
上記(ii)又は(iii)の要領で処理遅延Zの更新を行う場合には、k+1番目のフレームに対する出力処理時間nの増加分のすべてが処理遅延Zに反映されるわけではない。したがって、k+2番目のフレームの出力開始63の時間Dは、タイムスタンプPに接近はしても一致しない場合がある。しかしながら、k+3番目,k+4番目、・・・と後のフレームへ処理対象が進むほど、平均値Nが省電力モードにおける処理遅延Yに収束するので、出力開始63の時間t3はタイムスタンプPへ収束する。特に上記(ii)の場合には、処理遅延Zは、平均値Nにq・(n−N)を加算した値となるので、出力開始63の時間t3はタイムスタンプPへより速やかに収束する。更に、基準値rを用いて処理遅延Zの更新を行うか否かを判断する場合には、基準値rは、通常モードにおける処理遅延yと省電力モードにおける処理遅延Yとの差(Y−y)が(1−q)・rを十分に超えるように設定すると良い。
図示を略するが、動作モードが省電力モードから通常モードへ復帰した場合には、処理遅延Zが短縮されるように更新され(図8のS31)、現実の処理遅延Yがyへと短くなった分を補償するように出力処理開始指示61の時間t2が遅れるので、上記と同様に出力開始63の時間t3はタイムスタンプPに追随することとなる。
このように、本実施の形態の音声画像復号再生装置100は、クロックの速度を変更する等のソフトウェアの動作環境を変化させる機能が組み込まれた場合においても、処理遅延y(またはY)を補償して出力開始63の時間t3をタイムスタンプPに自己適合的に追随させる。また、処理遅延Zが自己適合的に現実の処理遅延y(またはY)へ追随するので、処理遅延Zの初期値として、任意の値を付与することができる。すなわち、ソフトウェアの動作環境が変化しない場合であっても、ソフトウェアを装置のメモリに書き込む際、あるいはソフトウェアが書き込まれたメモリを装置に搭載する際に、処理遅延Zに対するチューニング作業を必要としない。
(ステップS13の処理)
ここで、図7に示したステップS13の処理について、さらに詳述する。図12は、対比のために図7のステップS4、S5およびS13がないと仮定した場合の各部の動作を示すタイミングチャートである。k番目のフレームに関しては、その復号処理40が終了した時間B(時間Bは正しくは復号処理完了通知72を時間計測部7が受け取った時間であるが、その差は微小であるため時間Bで表す)の後に出力処理60を開始すべき時間t2が到来するので、出力処理が順調に行われる。しかし、k+1番目のフレームに関しては、その復号処理40が終了した時間Bにおいて、すでに出力処理60を開始すべき時間t2が経過している。したがって、復号化後のk+1番目のフレームは、出力処理60および出力80の対象とはされない。
つづくk+2番目のフレームについても、その復号処理40が終了した時間Bにおいて、すでに出力処理60を開始すべき時間t2が経過しているものとすると、復号化後のk+2番目のフレームも、出力処理60および出力80の対象とはされない。その結果、k+1番目のフレームに引き続き、k+2番目のフレームも出力されないままとなる。このように、復号処理40の終了時間Bと出力処理60を開始すべき時間t2との前後関係が本来の順序から逆転するフレームがつづくと、復号化されたフレームの画像データがその期間にわたって出力されず、画像表示器19に表示されないという不都合が生じる。復号処理40の終了時間Bと出力処理60を開始すべき時間t2とが逆転する事態は、復号処理40の対象とされるフレームのデータ量が異常に大きい場合に、希に発生する現象である。
図13は、図7のステップS4,S5およびS13がある場合の装置各部の動作を示すタイミングチャートである。タイミング制御部10は、k番目のフレームの出力処理開始通知73を時間計測部7へ伝え、出力処理開始指示61を画像出力部6へ伝えた(図7のS11およびS12)後に、時間計測部7に復号処理開始通知71を伝える(図7のS2)。ステップS2で復号処理開始通知71が時間計測部7へ伝えられる時間Aと、ステップS6で復号処理開始指示41が画像復号化部4へ伝えられる時間との間には、微小な期間90があって(期間90は微小であるため、図5、図9〜図12では、復号処理開始通知71と復号処理開始指示41とは同時として描いている)、この微小期間90にステップS3〜S5の処理が行われる。ステップS5の判定において、出力処理開始時間≦復号処理完了予測時間、であれば、タイミング制御部10の指示により、データ転送部9は画像復号化部4に圧縮画像データを新たに転送する。これにより、画像復号化部4は、予定されていたk+1番目のフレームの代わりに、1フレームをスキップして、k+2番目のフレームを復号処理40の対象とする。k+2番目のフレームの復号処理40が行われている期間に、k番目のフレームの出力処理60および出力80が行われる。
k+2番目のフレームの復号処理40が完了すると、復号処理完了通知42が画像復号化部4からタイミング制御部10へ送られる(図7のS8)。タイミング制御部10は、復号処理が完了したフレーム、すなわちk+2番目のフレームについてのタイムスタンプP、k+2番目のフレームの復号処理完了通知72がなされた時間B、および処理遅延Zから、出力処理開始時間t2を算出し、この出力処理開始時間t2をタイマーにセットする(S9)。その後、タイミング制御部10はタイマーが告知する出力処理開始時間t2の到来を待つ(S7)。その後、出力処理開始時間t2が到来すると、タイミング制御部10は、出力処理開始通知73を時間計測部7へ伝える(S11)とともに、出力処理開始指示61を画像出力部6へ伝える(S12)。その結果、出力80の対象として、k番目のフレームの後に、1フレームをスキップして、k+2番目のフレームが出力される。
k+2番目のフレームにつづくk+3番目のフレームについて、ステップS7(図7)の判定が、出力処理開始時間≦復号処理完了予測時間、であれば、同様にして、k+2番目のフレームの後には1フレームを置いてk+4番目のフレームが復号処理40、出力処理60および出力80の対象となる。このように、音声画像復号再生装置100は、復号処理40の終了時間Bと出力処理60を開始すべき時間t2とが逆転する現象を事前に予測し、1フレームをスキップして復号処理40等の処理を行うので、逆転現象が複数のフレームについて連続して発生した場合においても、1フレームおきに復号処理40等が行われる。それにり、画像表示器17に表示される画像が止まってしまうという不都合が解消される。
(変形例)
(1)上記の実施形態による複合再生装置は、フレーム毎に復号化、出力等の処理を行ったが、本発明の複合再生装置は、フレーム毎に限らず、フィールド毎、複数フレーム毎、その他何らかのデータ単位毎に処理を行うことも可能である。
(2)本発明は、圧縮音声画像データ20が入力される音声画像復号再生装置のみでなく、タイムスタンプをデータの一部として含む圧縮音声データのみが入力される音声再生装置、およびタイムスタンプをデータの一部として含む圧縮画像データのみが入力される画像再生装置へも適用可能である。
本発明によれば、処理遅延に変動があっても、出力される音声および/または画像への違和感等の影響を抑えることができる。また、処理遅延の予測値の初期値に対するチューニング作業を要することなく処理遅延の影響を抑えることができる。
本発明の実施の形態による復号再生装置のブロック図である。 図1のCPUの内部構成をも展開した復号再生装置のブロック図である。 図1のタイミング制御部、画像復号化部および画像出力部の動作を示すタイミングチャートである。 図1の画像出力部における処理遅延の構成要素を示す説明図である。 省電力モードにおける図1のタイミング制御部、画像復号化部および画像出力部の動作を示すタイミングチャートである。 通常モードから省電力モードへの遷移の図1の画像出力部における処理遅延の各構成要素への影響を示す説明図である。 図2のタイミング制御部による処理の手順を示すフローチャートである。 図1の時間計測部による処理の手順を示すフローチャートである。 図1の装置各部の動作を示すタイミングチャートである。 動作モードが通常モードから省電力モードへ移行する前後における図1の装置各部の動作を示すタイミングチャートである。 動作モードが省電力モードへ移行した後における図1の装置各部の動作を示すタイミングチャートである。 図1の各部の動作を示す図13と対比すべき参照図としてのタイミングチャートである。 復号処理すべきフレームのデータ量が過大である場合の図1の装置各部の動作を示すタイミングチャートである。
符号の説明
3 音声復号化部(復号化手段)
4 画像復号化部(復号化手段)
5 音声出力部(出力手段)
6 画像出力部(出力手段)
7 時間計測部(時間計測手段)
10 タイミング制御部(タイミング制御手段)
20 圧縮音声画像データ
40 復号処理
61 出力処理開始指示
100 音声画像復号再生装置(復号再生装置)
m 復号処理時間
Mmax 最大値
N 平均値
t3,P 出力開始時間
y,Y 処理遅延
Z 予測値

Claims (7)

  1. 音声データと画像データとの少なくとも一方を含み、かつ圧縮符号化されたデータを復号化して出力する復号再生装置であって、
    入力される前記データを、あるデータ単位ごとに復号化する復号化手段と、
    復号化されたデータを前記データ単位ごとに出力する出力手段と、
    前記データ単位毎に付されたタイムスタンプが示す出力開始時間よりも、前記出力手段が前記データ単位の前記データの出力処理を開始した後に当該データの出力が開始されるまでの処理遅延の予測値だけ早く、前記出力処理の開始を前記出力手段へ指示するタイミング制御手段と、
    前記処理遅延を計測するとともに、計測した過去の処理遅延にもとづいて処理遅延の前記予測値を算出する時間計測手段と、を備える復号再生装置。
  2. 前記時間計測手段は、最新に計測した処理遅延を前記予測値に反映させる請求項1に記載の復号再生装置。
  3. 前記時間計測手段は、最新に計測した複数の処理遅延の平均値を算出し、当該平均値を前記予測値に反映させる請求項1または2に記載の復号再生装置。
  4. 前記時間計測手段は、最新に計測した処理遅延がある範囲を超えた場合に限り、処理遅延の前記予測値を更新する請求項1ないし3のいずれかに記載の復号再生装置。
  5. 前記時間計測手段は、前記復号化手段が前記データ単位ごとに前記データを復号化するのに要する時間である復号処理時間をも計測するとともに、計測した過去の復号処理時間の最大値を算出し、
    前記タイミング制御手段は、前記復号処理時間として前記最大値を要するとしたならば前記出力処理の開始を指示すべき時間より前に前記復号処理が終了しないと予測される場合に、前記復号化手段に、1データ単位をスキップしてつぎのデータ単位の前記データを復号化させる請求項1ないし4のいずれかに記載の復号再生装置。
  6. 音声データと画像データとの少なくとも一方を含み、かつ圧縮符号化されたデータを復号化して出力する復号再生装置を、
    入力される前記データを、あるデータ単位ごとに復号化する復号化手段と、
    復号化されたデータを前記データ単位ごとに出力する出力手段と、
    前記データ単位毎に付されたタイムスタンプが示す出力開始時間よりも、前記出力手段が前記データ単位の前記データの出力処理を開始した後に当該データの出力が開始されるまでの処理遅延の予測値だけ早く、前記出力処理の開始を前記出力手段へ指示するタイミング制御手段と、
    前記処理遅延を計測するとともに、計測した過去の処理遅延にもとづいて処理遅延の前記予測値を算出する時間計測手段として機能させる復号再生用プログラム。
  7. 音声データと画像データとの少なくとも一方を含み、かつ圧縮符号化されたデータを復号化して出力する復号再生方法であって、
    入力される前記データを、あるデータ単位ごとに復号化する復号化工程と、
    復号化されたデータを前記データ単位ごとに出力する出力工程と、
    前記データ単位毎に付されたタイムスタンプが示す出力開始時間よりも、前記出力工程が前記データ単位の前記データの出力処理を開始した後に当該データの出力が開始されるまでの処理遅延の予測値だけ早く、前記出力処理を開始するよう前記出力工程の時期を指示するタイミング制御工程と、
    前記処理遅延を計測するとともに、計測した過去の処理遅延にもとづいて処理遅延の前記予測値を算出する時間計測工程と、を備える復号再生方法。
JP2003331589A 2003-09-24 2003-09-24 復号再生装置、復号再生用プログラムおよび復号再生方法 Withdrawn JP2005101818A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003331589A JP2005101818A (ja) 2003-09-24 2003-09-24 復号再生装置、復号再生用プログラムおよび復号再生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003331589A JP2005101818A (ja) 2003-09-24 2003-09-24 復号再生装置、復号再生用プログラムおよび復号再生方法

Publications (1)

Publication Number Publication Date
JP2005101818A true JP2005101818A (ja) 2005-04-14

Family

ID=34460209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003331589A Withdrawn JP2005101818A (ja) 2003-09-24 2003-09-24 復号再生装置、復号再生用プログラムおよび復号再生方法

Country Status (1)

Country Link
JP (1) JP2005101818A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754736B1 (ko) 2006-02-10 2007-09-03 삼성전자주식회사 영상 수신 시스템에서 영상 프레임의 재생 방법 및 그 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754736B1 (ko) 2006-02-10 2007-09-03 삼성전자주식회사 영상 수신 시스템에서 영상 프레임의 재생 방법 및 그 장치
US8228999B2 (en) 2006-02-10 2012-07-24 Samsung Electronics Co., Ltd. Method and apparatus for reproduction of image frame in image receiving system

Similar Documents

Publication Publication Date Title
KR100256061B1 (ko) 동기 재생 장치
US6512884B1 (en) Method and apparatus for synchronized play back of audio-video signals
KR101006593B1 (ko) 영상 데이터와 음성 데이터의 기록 장치
EP1437891A1 (en) Video/audio reproduction apparatus, video/audio reproduction method,program, and medium
US7240013B2 (en) Method and apparatus for controlling buffering of audio stream
JP2000092348A (ja) フレームシンクロナイザ
JP2006190213A (ja) メディア再生装置
JP2005101818A (ja) 復号再生装置、復号再生用プログラムおよび復号再生方法
JP4359024B2 (ja) 同期制御方法と装置およびそれを用いた同期再生装置およびテレビジョン受信装置
JP2500579B2 (ja) 映像音声同期システム
JP5848872B2 (ja) 放送受信装置
JP2009188530A (ja) ストリームデータの多重化装置および多重化方法
JP2007081780A (ja) 再生制御装置、表示装置および再生システム
JP4507672B2 (ja) オーディオ再生装置およびクロック周波数制御方法
US20070248170A1 (en) Transmitting Apparatus, Receiving Apparatus, and Reproducing Apparatus
JP2004350237A (ja) ストリーム切り替え装置、ストリーム切り替え方法及びストリーム切り替えプログラム、並びに、表示時刻補正装置
JP2000004423A (ja) 情報再生装置及び方法
JP3165661B2 (ja) 音声同期再生装置
JP2001186529A (ja) Mpegデコード回路並列駆動システム
JP4541191B2 (ja) データ処理装置及びデータ処理方法
JP3773892B2 (ja) デジタル記録再生装置
JP2005229168A (ja) メディア出力システムとその同期誤差制御方法およびプログラム
JP2012231213A (ja) ストリーム同期装置、及びストリーム同期方法
WO2016151852A1 (ja) 音声再生装置、画像表示装置及びその音声再生方法
JPH09182024A (ja) 映像データ伸長装置およびデータ伸長方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061205