(57)【要約】【課題】  送出系システムの期待するタイミングとなるようにＡＶ再生の同期タイミングを補正し、ＰＬＬ回路を用いることなくオーディオバッファのオーバーフローまたはアンダーフローを防いでＡＶ同期再生を行う。【解決手段】  ＡＶデコーダ１４は、ＰＣＲとクロック信号clk とを比較してこれらの周波数誤差データδｆを演算により求めるＰＣＲ比較部５と、ビデオデータvdata とオーディオデータadata’とを同期させるＰＴＳを周波数誤差データδfに基づいて補正し、当該補正に基づくイネーブル信号v_en，a_enを生成して出力データ制御部８，１１の動作タイミングを制御するビデオ／オーディオ出力タイミング補正部１０と、オーディオデータadata を周波数誤差データδfに基づいて補正するＰＣＭデータ補正部９を備えた。【選択図】        図１
2005311522.tif 000002
【特許請求の範囲】
【請求項１】
受信したＴＳパケットからＰＣＲとＰＥＳとを分離するトランスポートデコーダと、前記トランスポートデコーダからＰＣＲとＰＥＳとを取得し当該ＰＣＲを用いてＰＥＳを変換してビデオ信号及びオーディオ信号を出力するＡＶデコーダとを備えたデジタル放送受信機において、
前記ＡＶデコーダは、遂次入力されるＰＣＲと当該受信機で発生させたクロック信号とを比較して前記クロック信号の誤差を示す周波数誤差データを演算により求めるＰＣＲ比較手段と、
ビデオデコーダにより前記ＰＥＳからデコードされたビデオデータとオーディオデコーダにより前記ＰＥＳからデコードされたオーディオデータとを同期させるＰＴＳを前記ビデオデコーダ及びオーディオデコーダからそれぞれ取得し、これらのＰＴＳを前記周波数誤差データに基づいて補正し、当該補正したＰＴＳに基づくイネーブル信号を生成して前記ビデオデータを出力するビデオバッファ及び前記オーディオデータを出力するオーディオバッファの動作タイミングを制御する出力タイミング補正手段とを備えたことを特徴とするデジタル放送受信機。
【請求項２】
受信したＴＳパケットからＰＣＲとＰＥＳとを分離するトランスポートデコーダと、前記トランスポートデコーダからＰＣＲとＰＥＳとを取得し当該ＰＣＲを用いてＰＥＳを変換してビデオ信号及びオーディオ信号を出力するＡＶデコーダとを備えたデジタル放送受信機において、
前記ＡＶデコーダは、
遂次入力されるＰＣＲと当該受信機で発生させたクロック信号とを比較して前記クロック信号の誤差を示す周波数誤差データを演算により求めるＰＣＲ比較手段と、
ビデオデコーダにより前記ＰＥＳからデコードされたビデオデータとオーディオデコーダにより前記ＰＥＳからデコードされたオーディオデータとを同期させるＰＴＳを前記ビデオデコーダ及びオーディオデコーダからそれぞれ取得し、これらのＰＴＳを前記周波数誤差データに基づいて補正し、当該補正したＰＴＳに基づくイネーブル信号を生成して前記ビデオデータを出力するビデオバッファ及び前記オーディオデータを出力するオーディオバッファの動作タイミングを制御する出力タイミング補正手段と、
前記オーディオデコーダより出力されたオーディオデータのサンプリング数を前記周波数誤差データに基づいて補正するオーディオデータ補正手段とを備えたことを特徴とするデジタル放送受信機。
【請求項３】
ＰＣＲ比較手段は、当該受信機で発生させたクロック信号をカウントするカウンタと、逐次入力されるＰＣＲの値を順次格納する複数のＰＣＲ値レジスタと、前記カウンタのカウント値を順次格納する複数のカウント値レジスタと、前記複数のＰＣＲ値レジスタに格納されている各ＰＣＲ値の差分値を求めると共に前記複数のカウント値レジスタに格納されている各カウント値の差分値を求める誤差検出手段と、前記誤差検出手段が求めたＰＣＲ値の差分値及びカウント値の差分値を用いて周波数誤差データを求める演算を行う周波数誤差データ演算手段とを備えたことを特徴とする請求項１または請求項２記載のデジタル放送受信機。
【請求項４】
出力タイミング補正手段は、ビデオデコーダから逐次入力されるビデオデータに関するＰＴＳを順次格納する複数のビデオデータＰＴＳ値レジスタと、
前記複数のビデオデータＰＴＳ値レジスタに格納されている各値の差分値を求めると共に当該差分値とＰＣＲ比較手段から出力された周波数誤差データとを用いて前記ビデオデータに関するＰＴＳを補正するビデオデータＰＴＳ補正手段と、
オーディオデコーダから逐次入力されるオーディオデータに関するＰＴＳを順次格納する複数のオーディオデータＰＴＳ値レジスタと、
前記複数のオーディオデータＰＴＳ値レジスタに格納されている各値の差分値を求めると共に当該差分値と前記周波数誤差データとを用いて前記オーディオデータに関するＰＴＳを補正するオーディオデータＰＴＳ補正手段とを備えたことを特徴とする請求項１記載のデジタル放送受信機。
【請求項５】
出力タイミング補正手段は、ビデオデコーダから逐次入力されるビデオデータに関するＰＴＳを順次格納する複数のビデオデータＰＴＳ値レジスタと、
前記複数のビデオデータＰＴＳ値レジスタに格納されている各値の差分値を求めると共に当該差分値とＰＣＲ比較手段から出力された周波数誤差データとオーディオ補正手段によるオーディオデータの処理時間を示すデータとを用いて前記ビデオデータに関するＰＴＳを補正するビデオデータＰＴＳ補正手段と、
オーディオデコーダから逐次入力されるオーディオデータに関するＰＴＳを順次格納する複数のオーディオデータＰＴＳ値レジスタと、
前記複数のオーディオデータＰＴＳ値レジスタに格納されている各値の差分値を求めると共に当該差分値と前記周波数誤差データとを用いた演算により前記オーディオデータに関するＰＴＳを補正するオーディオデータＰＴＳ補正手段とを備えたことを特徴とする請求項２記載のデジタル放送受信機。
【請求項６】
オーディオデータ補正手段は、オーディオデコーダからオーディオデータとして出力されたＰＣＭデータをアップサンプリングするアップサンプリング手段と、当該アップサンプリングされたＰＣＭデータを格納するデータバッファと、ＰＣＲ比較手段から出力された周波数誤差データから前記ＰＣＭデータの位相を示す値を求め当該位相を示す値に基づいて前記ＰＣＭデータの間引きあるいは補間がなされるように前記データバッファからＰＣＭデータを読み出すデータバッファ読み出し制御手段とを備えたことを特徴とする請求項２記載のデジタル放送受信機。
【請求項７】
オーディオデータ補正手段は、オーディオデコーダからオーディオデータとして出力されたＰＣＭデータにＦＦＴ演算を施すＦＦＴ演算手段と、ＰＣＲ比較手段から出力された周波数誤差データを周期関数に適用して補正位相を求める位相補正制御手段と、前記補正位相に基づいて前記ＦＦＴ演算手段から出力される演算結果のサンプリング数を決定し当該サンプリング数の前記ＦＦＴ演算手段から出力された演算結果にＩＤＦＴ演算を施す位相補正演算手段とを備えたことを特徴とする請求項２記載のデジタル放送受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、デジタル放送の送出系システムで用いられているシステムクロックを受信機側において再生せずにＡＶ同期を図り、出力バッファの破綻を防ぎながらＡＶ再生を行うデジタル放送受信機に関するものである。
【背景技術】
【０００２】
従来のデジタル放送受信機は、放送送出系システム（以下、送出系システムと記載する）において用いられるシステムクロックをＰＬＬ（Phase Lock Loop）回路等で再生し、受信動作にこの再生したシステムクロックを用いてＡＶ同期を図っている。
【０００３】
従来のデジタル放送受信機は、例えば、受信電波から目的の選局を行うと共に復調を行うチューナ／復調器と、復調されたＴＳ（Transport Stream）から所望のパケットを抽出するトランスポートデコーダと、トランスポートデコーダから出力された各データの映像デコード及び音声デコードを行うＡＶデコーダと、番組配列情報や放送コンテンツなどのデータを処理するＣＰＵと、ＣＰＵで処理された番組情報や放送データに基づいてグラフィックや文字の描画を行うＯＳＤコントローラと、ＡＶデコーダ及びＯＳＤコントローラから出力される映像信号を合成する画像合成器とから構成されている。
【０００４】
デジタル放送では、送出系システムから映像データと音声データがそれぞれ独立して送出される。このような放送を受信する場合は、デコードする際に映像と音声とを同期させるＡＶ同期が必要になる。このＡＶ同期を実現するため、従来のデジタル放送受信機のチューナは、一定周期で送出系システムから送られてくるＰＣＲ（Program Clock Reference)と、受信機に備えられた受信機内部カウンタでカウントしたＳＴＣ（System Time Clock)とを比較し、この比較データに基づいてＰＣＲと受信機側でカウントされるＳＴＣが所定の範囲内の精度で同期するように、電圧可変型発振器からなるＰＬＬ回路を用いて当該ＳＴＣを調整し、ＰＣＲに同期したＳＴＣ、即ち送出側のＳＴＣを再生している（例えば、非特許文献１参照）。
【０００５】
また、従来のデジタル放送受信機には、固定クロック発生器により所定の周波数のシステムクロックを発生させ、このシステムクロックに基づいてデコーダを動作させてビデオ信号を復調するものがある。この装置では、固定クロック発生器により発生させたシステムクロックをＳＴＣカウンタによりカウントし、このＳＴＣカウント値とＰＴＳ（Presentation Time Stamp)復調器から供給されるＰＴＳの値とを出力タイミング調整部が比較し、この結果に基づいて遅延メモリにバッファリングされているビデオ信号の出力タイミングを調整してデコーダへ出力し、当該受信機側のデコーダのビデオ信号の出力タイミングと送信側のエンコーダのビデオ信号の出力タイミングとの同期を図っている（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開２００３−１８８８６５号公報（第６頁〜第７頁、図１、図２）
【非特許文献１】社団法人映像情報メディア学会編著「デジタル放送局のしくみ」株式会社オーム社出版、平成１３年１１月２０日発行（第１８６頁〜第１９８頁、図１１．４、図１１．５）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のデジタル放送受信機は以上のように構成されているので、ＰＬＬ回路を使用すると電圧可変型発振器を用意する必要があり、外付けとなる電圧可変型発振器を備えることからＴＳデコーダ、ＡＶデコーダ等の機能をワンチップ化することが困難になる。またＰＬＬ回路を実装する場合には電圧可変型発振器を外付けするだけでなく周辺回路も必要になり、実装部品数が増加して小型化、低価格化を図る場合の障害になるという課題があった。
【０００８】
また、従来のデジタル放送受信機はＡＶ同期を行うとき送出系システムから送られてくるＰＴＳ（Presentation Time Stamp)と受信機側で再生した送出系システムのＳＴＣとを用いて受信動作を行っており、当該送出系システムのＳＴＣを再生することなく受信動作を行うとＡＶ同期に誤差が発生する。更に、送出系システムとデジタル放送受信機が非同期でそれぞれ動作すると、デジタル放送受信機のオーディオ再生において、オーディオ出力バッファのオーバーフローあるいはアンダーフローが発生し、ＡＶ再生時に異音が発生するという課題があった。
【０００９】
この発明は上記のような課題を解決するためになされたもので、送出系システムの期待するＡＶ同期タイミングとなるように、ＡＶ再生の同期タイミングを補正すると共に、ＰＬＬ回路を用いることなくオーディオサンプリングデータを補正し、送信系システムと非同期の受信処理において出力バッファのオーバーフローまたはアンダーフローを防いでＡＶ同期再生を行うデジタル放送受信機を得ることを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係るデジタル放送受信機は、ＡＶデコーダが、遂次入力されるＰＣＲと当該受信機で発生させたクロック信号とを比較してクロック信号の誤差を示す周波数誤差データを演算により求めるＰＣＲ比較手段と、ビデオデコーダによりＰＥＳからデコードされたビデオデータとオーディオデコーダによりＰＥＳからデコードされたオーディオデータとを同期させるＰＴＳをビデオデコーダ及びオーディオデコーダからそれぞれ取得し、これらのＰＴＳを周波数誤差データに基づいて補正し、当該補正したＰＴＳに基づくイネーブル信号を生成してビデオデータを出力するビデオバッファ及びオーディオデータを出力するオーディオバッファの動作タイミングを制御する出力タイミング補正手段と、オーディオデコーダより出力されたオーディオデータのサンプリング数を周波数誤差データに基づいて補正するオーディオデータ補正手段とを備えたものである。
【発明の効果】
【００１１】
この発明によれば、ＡＶデコーダに、遂次入力されるＰＣＲと当該受信機で発生させたクロック信号の誤差を示す周波数誤差データを求めるＰＣＲ比較手段と、ビデオデータとオーディオデータとを同期させるＰＴＳを周波数誤差データに基づいて補正し、当該補正したＰＴＳに基づくイネーブル信号を生成してビデオバッファ及びオーディオバッファの動作タイミングを制御する出力タイミング補正手段と、オーディオデータのサンプリング数を周波数誤差データに基づいて補正するオーディオデータ補正手段とを備えたので、送出側ＳＴＣを再生することなくＡＶ同期再生を行うことができ、またオーディオバッファのオーバーフローあるいはアンダーフローによるバッファ破綻を防いで異音発生を防ぐことができるという効果がある。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１は、この発明の実施の形態１によるデジタル放送受信機の構成を示すブロック図である。図示したデジタル放送受信機は、アンテナ１５を介してデジタル放送を受信するチューナ１、チューナ１から出力されたＩＦ（Intermediate Frequency）信号を復調するＯＦＤＭ（Orthogonal Frequency Division Multiplexing）復調部２、ＯＦＤＭ復調部２から出力されるＴＳ（Transport Stream）パケットをデコードするトランスポートデコーダ３、当該受信機のＳＴＣ（System Time Clock)を発生する発振器４、及びＡＶデコーダ１４によって構成される。
【００１３】
ＡＶデコーダ１４は、ＰＣＲ（Program Clock Reference)比較部（ＰＣＲ比較手段）５、ビデオデコーダ６、及びオーディオデコーダ７を備える。また、ビデオデコーダ６から出力されるビデオデータを制御する出力データ制御部（ビデオバッファ）８、オーディオデコーダ７から出力されるオーディオデータを補正するＰＣＭデータ補正部（オーディオデータ補正手段）９、及びＰＣＭデータ補正部９から出力されたオーディオデータを制御する出力データ制御部（オーディオバッファ）１１を備える。
【００１４】
出力データ制御部８は、ビデオデータを出力する際に用いるビデオバッファを備え、出力データ制御部１１は、オーディオデータを出力する際に用いるオーディオバッファを備える。また、ＡＶデコーダ１４は、ＰＣＲ比較部５の比較結果に基づいて出力データ制御部８と出力データ制御部１１とを制御するビデオ／オーディオ出力タイミング補正部（出力タイミング補正手段）１０を備える。また、出力データ制御部８から出力されるビデオデータのＤ／Ａ変換を行うＤ／Ａコンバータ１２と、出力データ制御部１１から出力されるオーディオデータのＤ／Ａ変換を行うＤ／Ａコンバータ１３とを備える。
【００１５】
次に動作について説明する。
チューナ１は、アンテナ１５を用いて所望の放送波を選択して受信し、当該放送波、即ちＲＦ（Radio Frequency)信号の周波数変換を行ってＩＦ信号を出力する。このＩＦ信号はＯＦＤＭ復調部２に入力される。ＯＦＤＭ復調部２は、ＩＦ信号からＴＳパケットを抽出し、トランスポートデコーダ３へ当該ＴＳパケットを出力する。トランスポートデコーダ３は、ＴＳパケットのヘッダ情報に含まれるＰＩＤ（Progrm ID）に基づいて当該ＴＳパケットからＰＣＲ（Program Clock Reference)を抽出し、ＰＣＲを表すデータpcr<41..0>及び信号pcr_det をＡＶデコーダ１４へ出力する。ここで例示したデータpcr<41..0>は４２ｂｉｔバスのデータ、また信号pcr_det はデータpcr<41..0>を認識する際に用いられる信号である。
【００１６】
また、トランスポートデコーダ３は、ビデオデータ及びオーディオデータを含むＴＳパケットからＰＥＳ（Packetized Elementary Stream）パケットを抽出し、ＡＶデコーダ１４へ出力する。ＡＶデコーダ１４は、ビデオデータに関するＰＥＳパケットpes_v をビデオデコーダ６へ、またオーディオデータに関するＰＥＳパケットpes_a をオーディオデコーダ７へ入力する。
【００１７】
ＡＶデコーダ１４のＰＣＲ比較部５は、トランスポートデコーダ３から入力したＰＣＲの表す値、即ちデータpcr<41..0>の値を送出系システム側で用いられているＳＴＣ（以下、送出側のＳＴＣと記載する）のカウント値として認識する。また、ＰＣＲ比較部５は、発振器４が発生させているクロック信号clk を入力し、当該ＰＣＲ比較部５の内部に備えられた図１では図示を省略したLocal_CNT カウンタにクロック信号clk をカウントさせ、また信号pcr_det から認識されるＰＣＲの受信タイミングにてラッチさせる。ＰＣＲ比較部５は、このようにLocal_CNT カウンタのカウント値と、前述の送出側のＳＴＣのカウント値とを比較して、これらのカウント値からlocal_cnt カウンタのカウント値の誤差を算出し、周波数誤差データδｆを生成する。ＰＣＲ比較部５は、ここで生成した周波数誤差データδｆをビデオ／オーディオ出力タイミング補正部１０とＰＣＭデータ補正部９に通知する。
【００１８】
ビデオデコーダ６は、トランスポートデコーダ３にて分離されたＰＥＳパケットから、ビデオデータに関するＰＴＳ（Presentation Time Stamp)を表すデータpts_v とＭＰＥＧ−２／４ＶＩＤＥＯ規格に則ったＥＳ（Elementary Stream)とを分離する。その後、ＥＳを復号化してビデオデータvdata を生成し、出力データ制御部８へ出力する。また、データpts_v を識別する、即ちデータpts_v の区切りを示すＰＴＳイネーブル信号pts_v_w_enを生成し、データpts_v と共にビデオ／オーディオ出力タイミング補正部１０に通知する。同様に、オーディオデコーダ７は、トランスポートデコーダ３にて分離されたＰＥＳパケットから、オーディオデータに関するＰＴＳを表すデータpts_a とＥＳとを分離し、ＥＳを復号化してオーディオデータadata を生成し、ＰＣＭデータ補正部９へ出力する。また、データpts_a を識別する、即ちデータpts_a の区切りを示すＰＴＳイネーブル信号pts_a_w_enを生成し、データpts_a と共にビデオ／オーディオ出力タイミング補正部１０に通知する。
【００１９】
ＰＣＭデータ補正部９は、ＰＣＲ比較部５より周波数誤差データδｆを入力し、その情報に基づいてオーディオデータadata 、即ちＰＣＭデータを補正し、データの間引き処理、補間処理等を施したオーディオデータadata’、即ち補正ＰＣＭデータを生成して出力データ制御部１１へ出力する。またＰＣＭデータ補正部９は、発振器４が生成したクロック信号clk に基づいて図示を省略した再生サンプリングクロックclk2を生成し、オーディオバッファである出力データ制御部１１、Ｄ／Ａコンバータ１３等に当該再生サンプリングクロックclk2を供給する。
【００２０】
ビデオ／オーディオ出力タイミング補正部１０は、ビデオデコーダ６から入力したデータpts_v とＰＴＳイネーブル信号pts_v_w_en、オーディオデコーダ７から入力したデータpts_a とＰＴＳイネーブル信号pts_a_w_en、ＰＣＲ比較部５から入力した周波数誤差データδｆとデータpcr<41..0>と信号pcr_det とカウンタイネーブル信号cnt_en、及びＰＣＭデータ補正部９の処理動作に要する時間を加味してビデオデータの出力イネーブル信号v_enとオーディオデータの出力イネーブル信号a_enとを生成する。
【００２１】
出力データ制御部８は、出力イネーブル信号v_enに基づいて動作タイミングを調整してＤ／Ａコンバータ１２へビデオデータを出力する。また、出力データ制御部１１は、イネーブル信号a_enに基づいて動作タイミングを調整してＤ／Ａコンバータ１３へオーディオデータを出力する。Ｄ／Ａコンバータ１２は出力データ制御部８から入力したビデオデータのＤ／Ａ変換を行ってビデオ信号を生成し、Ｄ／Ａコンバータ１３は出力データ制御部１１から入力したオーディオデータのＤ／Ａ変換を行ってオーディオ信号を生成する。このように、ビデオバッファである出力データ制御部８からＤ／Ａコンバータ１２を介して出力されるビデオ信号と、オーディオバッファである出力データ制御部１１からＤ／Ａコンバータ１３を介して出力されるオーディオ信号との同期を、出力イネーブル信号v_enと出力イネーブル信号a_enによって図り、Ｄ／Ａコンバータ１２からビデオ信号を、またＤ／Ａコンバータ１３からオーディオ信号を図示されない再生手段に出力してＡＶ再生を行う。
【００２２】
なお、前述のトランスポートデコーダ３及びＡＶデコーダ１４は、発振器４が生成するクロック信号clk をシステムクロックとして、即ち基本的にクロック信号clk に同期して動作する。また、図１に示したリセット信号reset は、トランスポートデコーダ３及びＡＶデコーダ１４のリセット信号で、このリセット信号reset がアクティブになると、後述するトランスポートデコーダ３ならびにＡＶデコーダ１４を構成する各レジスタ、カウンタ等に保持されている内容がクリアされる。
【００２３】
次に、デジタル放送受信機を構成する各部の詳細を説明する。ここでは本発明の要部であるトランスポートデコーダ３、及びＡＶデコーダ１４を構成するＰＣＲ比較部５、ＰＣＭデータ補正部９、ビデオ／オーディオ出力タイミング補正部１０について詳細な説明を行う。
【００２４】
図２は、実施の形態１によるデジタル放送受信機のトランスポートデコーダの構成を示すブロック図である。図１に示したトランスポートデコーダ３は、例えば図２に示したようにＰＩＤフィルタ部２１、ＰＳＩ（Program Specific Information)解析部２２、及びコンテンツデータバッファ２３によって構成される。ＰＳＩ解析部２２は、ＯＦＤＭ復調部２から入力したＴＳパケットの中に含まれているＰＡＴ（Program Association Table)及びＰＭＴ（Program Map Table)を解析し、ビデオ、オーディオ、ＰＣＲ、コンテンツ等の各データのＰＩＤをＰＩＤフィルタ部２１へ通知する。ＰＩＤフィルタ部２１は、通知されたＰＩＤに従ってＯＦＤＭ復調部２から入力したＴＳパケットから、ビデオデータのＰＥＳパケットpes_v 、オーディオデータのＰＥＳパケットpes_a 、ＰＣＲを表すデータpcr<41..0>及び信号pcr_det 、コンテンツデータのパケットpes_c の各データをそれぞれ分離する。ただし、ＰＣＲを表すデータpcr<41..0>及び信号pcr_det 以外は、ビデオ／オーディオ出力タイミング補正部１０から出力されるＰＥＳイネーブル信号pes_enがアクティブになったとき分離動作を行う。
【００２５】
ＰＩＤフィルタ部２１は、前述のように通知されたＰＩＤに従ってＴＳパケットから、ＰＣＲデータpcr<41..0>としてアダプテーションフィールド内に含まれるＰＣＲ値ベース３３ｂｉｔ＋ＰＣＲ値拡張９ｂｉｔの計４２ｂｉｔのデータを抽出する。また、ＰＥＳイネーブル信号pes_enがアクティブになってビデオ、オーディオ、コンテンツの各データの分離が許可されると、ＴＳパケットのペイロードに含まれるＰＥＳパケットの抽出を開始する。その後、分離・抽出したビデオデータのＰＥＳパケットpes_v 、及びオーディオデータのＰＥＳパケットpes_a をＡＶデコーダ１４へ、コンテンツデータのパケットpes_c をコンテンツデータバッファ２３へ出力する。コンテンツデータバッファ２３は、入力されたパケットpes_c を格納し、例えばブラウザソフトウェアなどのプログラム等に基づいて動作する図示を省略した制御手段などにパケットpes_c を適宜出力する。なお、ここで取り扱うパケットpes_c を成すコンテンツデータは、デジタル放送において一般的に行われているサービス内容等に関するデータを指し示すもので、ここではその内容について説明を省略する。
【００２６】
図３は、実施の形態１によるデジタル放送受信機のＰＩＤフィルタ部の構成を示すブロック図である。図２に示したＰＩＤフィルタ部２１は、ＯＦＤＭ復調部２からＴＳパケットを入力し、ＰＳＩ解析部２２から入力されるＰＩＤと、ビデオ／オーディオ出力タイミング補正部１０から入力されるＰＥＳイネーブル信号pes_enに基づいて、ＴＳパケットの内容を解析してビデオデータを含むものをパケットts_vとし、オーディオデータを含むものをパケットts_aとして、またコンテンツデータを含むものをパケットts_cとして夫々出力するＴＳヘッダ解析／デコード部３１と、ＴＳヘッダ解析／デコード部３１から出力される各ＴＳパケット、即ちパケットts_v，ts_a，ts_cからそれぞれＰＥＳパケットを抽出するＰＥＳパケット抽出部３２,３３,３４とを備える。
【００２７】
図４は、ＴＳヘッダ及びＰＥＳヘッダの構成を示す説明図である。図４に示したものは、図３のＴＳヘッダ解析／デコード部３１へ入力されるＴＳパケットのヘッダ部分のビットアサインの一例と、ＰＥＳパケット抽出部３２〜３４からそれぞれ出力されるＰＥＳパケットのヘッダ部分のビットアサインの一例とを表したものである。
図５は、ＰＣＲの構成を示す説明図である。図示したものはこれまでの説明に用いた４２ｂｉｔによってＰＣＲを表したデータの構成例、即ちデータpcr<41..0>のビットアサインの一例である。
図６は、実施の形態１によるデジタル放送受信機のトランスポートデコーダから出力されるＰＣＲのタイミングチャートである。図示したものは、これまでの説明で用いたＰＣＲを表すデータpcr<41..0>及び信号pcr_det のタイミングチャートで、トランスポートデコーダ３から、詳しくは図３に示したＴＳヘッダ解析／デコード部３１から出力されるデータpcr<41..0>及び信号pcr_det を表したものである。
【００２８】
ＴＳヘッダ解析／デコード部３１は、図４に示したＴＳヘッダ内の１３ｂｉｔで記述されたＰＩＤにより、ＴＳパケットに含まれているデータがビデオ、オーディオ、コンテンツの各データ、あるいはＰＣＲのどれにあたるかを判別する。例えば、判別対象のＴＳパケットがビデオデータを含むパケットであると判別した場合には、このパケットをパケットts_vとしてＰＥＳパケット抽出部３２へ出力する。また、判別対象のＴＳパケットがオーディオデータを含むと判別した場合には、このパケットをオーディオデータを含むパケットts_aとしてＰＥＳパケット抽出部３３へ出力し、コンテンツデータを含むと判別した場合にはコンテンツデータを含むパケットts_cとしてＰＥＳパケット抽出部３４へ出力する。ただし、ＴＳヘッダ解析／デコード部３１は、ビデオ／オーディオ出力タイミング補正部１０から出力されるＰＥＳイネーブル信号pes_enがアクティブになるまで、データpcr<41..0>及び信号pcr_det のみを出力する。データpcr<41..0>は、ＴＳパケットのアダプテーションフィールドにＰＣＲ値ベース３３ｂｉｔ（データpcr_base<32..0> ）とＰＣＲ値拡張９ｂｉｔ（データpcr_ext<8..0> ）として含まれているもので、ＴＳヘッダ解析／デコード部３１は、これらを図５に示したように４２ｂｉｔのデータとしてＴＳパケットから抽出し、ＡＶデコーダ１４へ、詳しくはＰＣＲ比較部５へ送出する。
【００２９】
また、ＴＳヘッダ解析／デコード部３１は、ＴＳパケットから取得したＰＣＲが更新される度にアクティブを示すパルス信号を生成し、これを信号pcr_det として出力する。信号pcr_det は、アクティブを示すパルス信号幅が発振器４から出力されるクロック信号clk の１クロック分を有するように生成され、図６に示したようにＰＣＲが更新されるタイミングに同期してＴＳヘッダ解析／デコード部３１から出力される。なお、図６に示した“PCRｍ”は、ｍ番目に送出されたＰＣＲを表すものである。
【００３０】
ＰＥＳパケット抽出部３２〜３４は、前述のようにＴＳパケットからＰＥＳパケットの抽出を行う。最初のＰＥＳパケット抽出は、図４に示したＴＳヘッダの内、図中左端に記載した“ＴＳヘッダ”内に示されたＰＥＳヘッダの内容から、ＰＥＳヘッダ開始コードの例えば“0x000001”が検出されたときから開始される。ＰＥＳヘッダ開始コードが検出される前にＴＳパケットから抽出されたデータは全て無視する。ＰＥＳヘッダ開始コードを検出した後は、そのコードが検出されたＰＥＳヘッダ内に示された“ＰＥＳパケット長”から、ＰＥＳパケットのレングスを分析してＰＥＳパケットを抽出する。ＴＳパケットのパケットts_vをＴＳヘッダ解析／デコード部３１から入力したＰＥＳパケット抽出部３２は、パケットts_vからＰＥＳパケットを抽出し、これをＰＥＳパケットpes_v としてＡＶデコーダ１４へ出力する。また、同様にパケットts_aをＴＳヘッダ解析／デコード部３１から入力したＰＥＳパケット抽出部３３は、パケットts_ａからＰＥＳパケットを抽出し、これをＰＥＳパケットpes_a としてＡＶデコーダ１４へ出力する。また、パケットts_cをＴＳヘッダ解析／デコード部３１から入力したＰＥＳパケット抽出部３４は、パケットts_cからＰＥＳパケットを抽出し、これをＰＥＳパケットpes_c としてコンテンツデータバッファ２３へ出力する。
【００３１】
図７は、実施の形態１によるデジタル放送受信機のＰＣＲ比較部の構成を示すブロック図である。この図は、これまで説明したＰＣＲ比較部５の構成を示したものである。図７に示したＰＣＲ比較部５は、図１に示した発振器４から出力されるクロック信号clk をカウントするLocal_CNT カウンタ７１、Local_CNT カウンタ７１のカウント値を格納するLocal_REG_A レジスタ（カウント値レジスタ）７２及びLocal_REG_B レジスタ（カウント値レジスタ）７３、ＰＣＲを表すデータpcr<41..0>を格納するPCR_REG_A レジスタ（ＰＣＲ値レジスタ）７４及びPCR_REG_B レジスタ（ＰＣＲ値レジスタ）７５、これらのレジスタの値を用いてLocal_CNT カウンタ７１から出力されるカウント値の誤差を検出するカウンタ誤差検出部（誤差検出手段）７６、カウンタ誤差検出部７６から出力されるデータをシフトするシフトレジスタ７７，８０、シフトレジスタ７７から出力されるデータの平均を求める平均化処理部７８、シフトレジスタ８０から出力されるデータの平均を求める平均化処理部８１、及び平均化処理部７８と平均化処理部８１から出力されるデータに基づいて周波数誤差データδｆを算出するδｆ算出部（周波数誤差データ演算手段）７９を備えて構成される。
【００３２】
図７に示したように、Local_CNT カウンタ７１には、発振器４から出力されるクロック信号clk と、トランスポートデコーダ３から出力される信号pcr_det と、カウント値の初期値としてデータpcr<41..0>が入力される。Local_REG_A レジスタ７２は、信号pcr_det とLocal_CNT カウンタ７１から出力されるカウント値を示すデータlocal_cnt<41..0>が入力され、データlocal_cnt<41..0>をレジスタ値local_reg_a<41..0>として格納し、また、信号pcr_det に基づいてレジスタ値local_reg_a<41..0>の入力や出力を行う。Local_REG_B レジスタ７３は、信号pcr_det とLocal_REG_A レジスタ７２から出力されるレジスタ値local_reg_a<41..0>とを入力して、このレジスタ値local_reg_a<41..0>をレジスタ値local_reg_b<41..0>として格納し、また、信号pcr_det に基づいてレジスタ値local_reg_b<41..0>の入力や出力を行う。PCR_REG_A レジスタ７４は、信号pcr_det とトランスポートデコーダ３から出力されたデータpcr<41..0>とを入力して、このデータpcr<41..0>をレジスタ値pcr_reg_a<41..0>として格納し、また、信号pcr_det に基づいてレジスタ値pcr_reg_a<41..0>の入力や出力を行う。PCR_REG_B レジスタ７５は、信号pcr_det とPCR_REG_A レジスタ７４から出力されたレジスタ値pcr_reg_a<41..0>とを入力して、このレジスタ値pcr_reg_a<41..0>をレジスタ値pcr_reg_b<41..0>として格納し、また、信号pcr_det に基づいてレジスタ値pcr_reg_b<41..0>の入力や出力を行う。
【００３３】
カウンタ誤差検出部７６は、Local_REG_A レジスタ７２、Local_REG_B レジスタ７３、PCR_REG_A レジスタ７４、及びPCR_REG_B レジスタ７５にそれぞれ格納されているレジスタ値と信号pcr_det とを入力し、後述するように信号pcr_det に基づいて各レジスタ値を用いて演算を行い、データdiff<42..0> と差分値δlocal_cnt<41..0>とを求める。
【００３４】
シフトレジスタ７７は複数のレジスタを備え、例えばＮ個のレジスタDIFF_0〜DIFF_Nを備え、レジスタDIFF_0から順に格納されているレジスタ値をシフトし、各レジスタDIFF_0〜DIFF_Nに格納されている値を出力する。このシフトレジスタ７７には、信号pcr_detとカウンタ誤差検出部７６からデータdiff<42..0> が入力され、順次入力されるデータdiff<42..0> を、信号pcr_det に基づいてシフトさせながらレジスタDIFF_0〜DIFF_Nに格納する。
【００３５】
シフトレジスタ８０は複数のレジスタを備え、例えばＮ個のレジスタLCNT_0〜LCNT_Nを備え、レジスタLCNT_0から順に格納されているレジスタ値をシフトし、各レジスタLCNT_0〜LCNT_nから格納している値を出力する。このシフトレジスタ８０には、信号pcr_det とカウンタ誤差検出部７６から差分値δlocal_cnt<41..0>が入力される。順次入力される差分値δlocal_cnt<41..0>を、信号pcr_det に基づいてレジスタLCNT_0〜LCNT_Nにシフトさせながら格納する。なお、レジスタLCNT_0〜LCNT_Nの個数はレジスタDIFF_0〜DIFF_Nと同一数とは限らない。
【００３６】
図８は、実施の形態１によるデジタル放送受信機のＰＣＲ比較部の動作を示すタイミングチャートである。この図は、図７に示したＰＣＲ比較部５が動作するとき、ＰＣＲ比較部５を構成する各部分で入出力される各信号、データ等の遷移を示したものである。
【００３７】
Local_CNT カウンタ７１は、図８に示したように、信号pcr_det が初めてアクティブに変化し、そのあと最初にクロック信号clk が立ち上ったとき、アクティブを示すカウントイネーブル信号cnt_enを生成して出力すると共に、このときＰＣＲ比較部５に入力されているＰＣＲを表すデータpcr<41..0>をロードする。これは、信号pcr_det が初めてアクティブになった後、最初にクロック信号clk が立ち上がったタイミングで行われる動作である。このとき、Local_CNT カウンタ７１へ入力されるデータpcr<41..0>は、後述するように当該カウンタのカウント値の初期値としてLocal_REG_A レジスタ７２へ格納される。初期値のデータpcr<41..0>として、例えば図８に示したデータpcr0がLocal_CNT カウンタ７１へ入力され、このタイミングでLocal_CNT カウンタ７１からアクティブに変化したカウントイネーブル信号cnt_enが出力される。
【００３８】
この後、アクティブを示していた信号pcr_det が立ち下ると、そのタイミングでLocal_CNT カウンタ７１は、カウント値の初期値local_cnt0を、即ちデータpcr0をLocal_REG_A レジスタ７２へ出力する。なお、Local_CNT カウンタ７１から出力されるカウントイネーブル信号Local_enは、図１に示したビデオ／オーディオ出力タイミング補正部１０へ入力される。
【００３９】
PCR_REG_A レジスタ７４は、図８に示したように、初期値としてデータpcr0がLocal_CNT カウンタ７１にロードされた後、信号pcr_det が立ち下ると、そのときデータpcr<41..0>としてＰＣＲ比較部５へ入力されているデータpcr0をロードし、これをレジスタ値pcr_reg_a<41..0>の初期値として格納する。
【００４０】
この後、Local_CNT カウンタ７１は、クロック信号clk の立ち上りをカウントアップし、４２ｂｉｔでカウント値を表したデータlocal_cnt<41..0>を生成する。次に信号pcr_det がアクティブになったとき、その立ち下りタイミングにおいて、Local_REG_A レジスタ７２はレジスタ値local_reg_a<41..0>の初期値local_reg0、即ちデータpcr0をLocal_REG_Bレジスタ７３へ出力する。Local_REG_A レジスタ７２からLocal_REG_B レジスタ７３へシフトされたデータpcr0は、レジスタ値local_reg_b<41..0>としてLocal_REG_B レジスタ７３に格納される。またこれと同時にPCR_REG_Aレジスタ７４に格納されているレジスタ値pcr_reg_a<41..0>をPCR_REG_B レジスタ７５へシフトし、レジスタ値pcr_reg_ｂ<41..0>として格納する。
【００４１】
カウンタ誤差検出部７６は、入力されている信号pcr_det がアクティブになると、Local_REG_A レジスタ７２からレジスタ値local_reg_a<41..0>を入力し、また、Local_REG_B レジスタ７３からレジスタ値local_reg_b<41..0>を入力し、また、PCR_REG_A レジスタ７４からレジスタ値pcr_reg_a<41..0>を入力し、また、PCR_REG_B レジスタ７５からレジスタ値pcr_reg_b<41..0>を入力して、後述するように演算を行ってデータdiff<42..0> を求める。また、Local_REG_A レジスタ７２のレジスタ値local_reg_a<41..0>とLocal_REG_B レジスタ７３のレジスタ値local_reg_b<41..0>との差分値を求め、この値を差分値δlocal_cnt<41..0>として出力する。４３ｂｉｔデータとして表されたデータdiff<42..0> は、シフトレジスタ７７へ入力され、レジスタDIFF_0に格納される。また、４２ｂｉｔデータとして表された差分値δlocal_cnt<41..0>は、シフトレジスタ８０へ入力され、レジスタLCNT_0に格納される。
【００４２】
シフトレジスタ７７は、入力されている信号pcr_det がアクティブになると、レジスタDIFF_0に格納されている値をレジスタDIFF_1へシフトさせ、同様に各レジスタDIFF_1〜DIFF_N-1に格納されている値をそれぞれ隣のレジスタDIFFへシフトする。このシフト動作及びレジスタDIFF_0へカウンタ誤差検出部７６からデータdiff<42..0> が入力される動作は、信号pcr_det がアクティブになる度に行われる。また、シフトレジスタ８０は、入力されている信号pcr_det がアクティブになると、レジスタLCNT_0に格納されている値をレジスタLCNT_1へシフトさせ、同様に各レジスタLCNT_1〜LCNT_N-1に格納されている値をそれぞれ隣設されたレジスタLCNTへシフトする。このシフト動作及びレジスタLCNT_0へカウンタ誤差検出部７６から差分値δlocal_cnt<41..0>を入力する動作は、信号pcr_det がアクティブになる度に行われる。
【００４３】
シフトレジスタ７７の各レジスタDIFF_0〜DIFF_Nに格納されている各レジスタ値はシフト動作等に伴って平均化処理部７８へ逐次出力され、同様にシフトレジスタ８０の各レジスタLCNT_0〜LCNT_Nに格納されている全てのレジスタ値はシフト動作に伴って平均化処理部８１へ逐次出力される。
【００４４】
平均化処理部７８は、シフトレジスタ７７のレジスタDIFF_0〜DIFF_Nに格納されている各レジスタ値を取得し、これらの値の平均値diff_ave<42..0> を演算により求める。この平均値diff<42..0> を求めることにより、データdiff<42..0> に含まれているジッタを除去する。この演算では、各レジスタDIFF_0〜DIFF_Nに格納されている４３ｂｉｔのレジスタ値の上位３４ｂｉｔと下位９ｂｉｔとを分離して算出し、最終的に上位ｂｉｔと下位ｂｉｔとを合算して４３ｂｉｔのデータを生成する。これは、図５に示したＰＣＲを表すデータは、３３ｂｉｔのＰＣＲ値ベースデータPCR_BASE<32..0> は９０ｋＨｚ（２７ＭＨｚ／３００）のカウント値、また、ＰＣＲ値拡張データPCR_EXT<8..0> は９ｂｉｔのカウント値であるため、図５ではＰＣＲを４２ｂｉｔのバスデータとして表現しているが、ＰＣＲが表す２７ＭＨｚのシステムクロックは、‘pcr_base<32..0> ×３００＋pcr_ext<8..0> ’として求められる。ここではデジタル放送受信機の動作で使用される２７ＭＨｚのＰＣＲと、送出系システム側で使用されている２７ＭＨｚのＳＴＣとの差分を検出することを目的としているので、このように２７ＭＨｚのクロックスピードを基準に考え、デジタル放送受信機側で使用されるＰＣＲを２７ＭＨｚのクロックスピードでカウントしたときの値に置き換えている。そのため、シフトレジスタ７７から出力される各レジスタ値の平均値を求めるときには、上位３４ｂｉｔと下位９ｂｉｔにそれぞれ分離して平均値を求め、最後に上述のように上位３４ｂｉｔと下位９ｂｉｔとを合算して２７ＭＨｚのクロックスピードに対応するカウント値として平均値diff_ave_<42..0>を求める。
【００４５】
また、同様に平均化処理部８１は、シフトレジスタ８０のレジスタCNT_0 〜CNT_N に格納されている各レジスタ値を取得し、平均値lcnt_ave<41..0> を求める。このとき、レジスタCNT_0 〜CNT_N の各レジスタ値を上位３３ｂｉtと下位９ｂｉｔに分離して、上述のレジスタDIFF_0〜DIFF_Nに格納されているレジスタ値の平均値を求めた場合と同様に演算を行い、２７ＭＨｚのクロックスピードに対応させたカウント値として求める。
【００４６】
δｆ算出部７９は、平均化処理部７８によって求められた平均値diff_ave<42..0> と、平均化処理部８０によって求められた平均値lcnt_ave<41..0> とを入力し、周波数誤差データδｆとして正規化周波数誤差値を求める。なお、ここで求める周波数誤差データδｆは、信号pcr_det の立ち下りタイミングに同期してδｆ算出部７９から外部へ更新出力される。周波数誤差データδｆの算出式を以下の式（１）〜式（３）に示す。ここで、クロック信号clk の周波数をｆ、送出側ＳＴＣの周波数をｆ×（１+δf）とする。また、平均値diff_ave<42..0> の上位３４ｂｉｔの値をdiff_ave<42..9> と表し、２の補数で表現された値とする。また、平均値diff_ave<42..0> の下位９ｂｉｔの値を表すdiff_ave<8..0>、平均値lcnt_ave<41..0> の上位３３ｂｉｔの値を表すlcnt_ave<41..9> 、及び平均値lcnt_ave<41..0> の下位９ｂｉｔの値を表すlcnt_ave<8..0>は正の整数を表す。また、ここではデータバスの１０進表記を“10進（データバス名称）”と表現し、例えば、diff_ave<42..9> の１０進表記を“10進（diff_ave<42..9> ）”と表す。このとき求められるδfは実数である。なお、以下の各式においてT は時間を表す。
f×(1＋δf)T−f×T＝
10進（diff_ave<42..9>）×３００＋10進（diff_ave<8..0>）…（１）
f×δf×T＝10進（diff_ave<42..9>）×３００＋10進（diff_ave<8..0>）…（２）
（f×T＝10進（lcnt_ave<41..9>）×３００＋10進（lcnt_ave<8..0>）とおく）
δf＝（10進（diff_ave<42..9>）×３００＋10進（diff_ave<8..0>））
／（10進（lcnt_ave<41..9>）×３００＋10進（lcnt_ave<8..0>））…（３）
【００４７】
図９は、実施の形態１によるデジタル放送受信機のLocal_REG_A レジスタ及びLocal_REG_B レジスタに格納されるデータのビットアサインを示す説明図である。この図は、図７に示したLocal_REG_A レジスタ７２及びLocal_REG_B レジスタ７３に格納される、即ちLocal_CNT カウンタ７１のカウント値を表すデータlocal_cnt<41..0>のビットアサインを示したものである。図示したように、データlocal_cnt<41..0>は、４２ｂｉｔのバスデータで、上位３３ｂｉｔで表されるカウント値ベースデータlocal_cnt_base<41..9>と、下位９ｂｉｔで表されるカウント値拡張データlocal_cnt_ext<8..0>によって構成されたものである。
【００４８】
図１０は、実施の形態１によるデジタル放送受信機のLocal_CNT カウンタの構成を示すブロック図である。この図は、図７に示したLocal_CNT カウンタ７１の構成を示したもので、ＰＣＲを表すデータpcr<41..0>の下位９ｂｉｔのデータpcr<8..0> の値をカウントする３００カウンタ９１と、データpcr<41..0>の上位３３ｂｉｔのデータpcr<41..8> の値をカウントするlocal_baseカウンタ９２と、信号pcr_det をＳ入力として、カウントイネーブル信号cnt_enを生成するＳＲフリップフロップ回路から成るフリップフロップ９３とを備える。
【００４９】
３００カウンタ９１には、図１に示した発振器４からクロック信号clk が入力され、また前述のようにデータpcr<8..0> が入力される。Local_baseカウンタ９２には、３００カウンタ９１から出力されるクロック信号base_clkと、前述のようにデータpcr<41..9>が入力される。フリップフロップ９３には、前述のようにＳ入力として信号pcr_det が入力され、Ｒ入力としてリセット信号reset が入力される。これらのＳＲ入力に基づいて、Ｑ出力としてカウントイネーブル信号cnt_enを生成し、このカウントイネーブル信号cnt_enを３００カウンタ９１及びlocal_baseカウンタ９２へ入力すると共に、当該Local_CNT カウンタ７１の外部へ出力する。なお、前述のリセット信号reset は、３００カウンタ９１及びlocal_baseカウンタ９２へも入力される。
【００５０】
Local_CNT カウンタ７１は、前述のように初期値としてデータpcr<41..0>を入力し、信号pcr_det が初めてアクティブになったときのデータpcr<41..0>として図８に示したデータpcr0をロードする。フリップフロップ９３は、最初にアクティブを示す信号pcr_det が入力されたとき、クロック信号clk の立ち上がりに同期させてアクティブを示すカウントイネーブル信号cnt_enを出力する。すると、３００カウンタ９１は、アクティブを示すカウントイネーブル信号cnt_enの立ち上がりを検出して、最初にカウントイネーブル信号cnt_enの立ち上がりを検出したときに限り、データバス上の下位９ｂｉｔのデータpcr<8..0> をロードし、この値をデータlocal_cnt<41..0>の下位９ｂｉｔのデータlocal_cnt<8..0> の値としてLocal_REG_A レジスタ７２の下位９ｂｉｔへ格納させ、クロック信号clk の立ち上がりのカウントアップを開始する。３００カウンタ９１は、このときカウントアップを開始した値が0x12C （１０進数表示で“３００”）に達すると、このカウントした値をクリアすると共に、クロック信号clk の１クロック分のパルス信号をクロック信号base_clkとして出力する。この後、３００カウンタ９１は、カウントイネーブル信号cnt_enの立ち上がりを検出する度にカウントアップを開始し、そのカウント値をデータlocal_cnt<8..0> としてLocal_REG_A レジスタ７２へ出力し、格納させる。また、カウント値が0x12C に達すると、このカウント値をクリアすると共に、クロック信号base_clkを上述のように出力し、このような動作を繰り返す。
【００５１】
Local_baseカウンタ９２は、アクティブを示すカウントイネーブル信号cnt_enの立ち上がりを検出して、３００カウンタ９１と同時に最初にカウントイネーブル信号cnt_enの立ち上がりを検出したときに限り、データバス上の上位３３ｂｉｔのデータpcr<41..9>をロードし、この値をカウント値を示すデータlocal_cnt<41..0>の上位３３ｂｉｔのデータlocal_cnt<41..9>としてLocal_REG_A レジスタ７２の上位３３ｂｉｔへ格納させ、クロック信号clk の立ち上がりのカウントアップを開始する。この後、カウントイネーブル信号cnt_enの立ち上がりを検出する度にカウントアップを開始した値をクリアすると共に再びカウントアップを開始し、そのカウント値を上述のようにカウント値local_cnt<41..9>としてLocal_REG_A レジスタ７２へ出力し、格納させる。
【００５２】
３００カウンタ９１から出力される下位９ｂｉｔのデータlocal_cnt<8..0> と、Local_baseカウンタ９２から出力される上位３３ｂｉｔのデータlocal_cnt<41..9>は、図９に示したようなビットアサインでLocal_REG_A レジスタ７２、またLocal_REG_B レジスタ７３に格納される。
【００５３】
図１１は、実施の形態１によるデジタル放送受信機のカウンタ誤差検出部の構成を示すブロック図である。この図は、図７に示したカウンタ誤差検出部７６の構成を示したもので、Local_REG_A レジスタ７２に格納されているレジスタ値local_reg_a<41..0>とLocal_REG_B レジスタ７３に格納されているレジスタ値local_reg_b<41..0>と減算器１０２から出力されるlocal_borrow信号とを入力し、これらのレジスタ値を用いて上位３３ｂｉｔデータの減算を行う減算器１０１と、同じくレジスタ値local_reg_a<41..0>とレジスタ値local_reg_b<41..0>とを入力し、これらのレジスタ値の下位９ｂｉｔデータの減算を行う減算器１０２と、PCR_REG_A レジスタ７４に格納されているレジスタ値pcr_reg_a<41..0>とPCR_REG_B レジスタ７５に格納されているレジスタ値pcr_reg_b<41..0>と減算器１０４から出力されるpcr_borrow信号とを入力し、これらのレジスタ値を用いて上位３３ｂｉｔデータの減算を行う減算器１０３と、同じくレジスタ値pcr_reg_a<41..0>とレジスタ値pcr_reg_b<41..0>とを入力し、これらのレジスタ値の下位９ｂｉｔデータの減算を行う減算器１０４と、減算器１０１から出力される差分値δlocal_cnt<41..9>と減算器１０３から出力される差分値δpcr<41..9>と減算器１０６から出力されるdiff_borrow 信号とを入力し、これらの値を用いて上位３４ｂｉｔデータの減算を行う減算器１０５と、減算器１０２から出力される差分値δlocal_cnt<8..0> と減算器１０４から出力される差分値δpcr<8..0>とを入力し、これらの値の下位９ｂｉｔデータの減算を行う減算器１０６とを備える。
【００５４】
減算器１０１，１０２は、前述のようにLocal_REG_A レジスタ７２に格納されているレジスタ値local_reg_a<41..0>と、Local_REG_B レジスタ７３に格納されているレジスタ値local_reg_b<41..0>との差分値を算出する。この演算は、減算器１０１が上位３３ｂｉｔ分の差分値δlocal_cnt<41..9>を求め、減算器１０２が下位９ｂｉｔ分の差分値δlocal_cnt<8..0> を求める。減算器１０２が差分値δlocal_cnt<8..0> を求める場合には、以下に示す二つの状況が考えられる。
（ａ）local_reg_a<8..0>−local_reg_b<8..0>≧０
（ｂ）local_reg_a<8..0>−local_reg_b<8..0>＜０
減算器１０２は、上記（ａ）あるいは上記（ｂ）の内、どちらの状況であるかを判断し、上記（ａ）の場合は、単純に各データの下位９ｂｉｔについて減算を行い、その結果を差分値δlocal_cnt<8..0> として出力し、論理値ローレベル（以下、ローレベルをＬと記載する）のlocal_borrow信号を生成して減算器１０１へ出力する。また、（ｂ）の場合は、論理値ハイレベル（以下、ハイレベルをＨと記載する）のlocal_borrow信号を生成して減算器１０１へ出力し、‘0x12C＋local_reg_a<8..0>−local_reg_b<8..0>’の演算結果を、差分値δlocal_cnt<8..0> として出力する。
【００５５】
また、減算器１０１では‘local_reg_a<41..9>−local_reg_b<41..9>−（local_borrow信号の値）’の演算を行う。減算器１０１は、レジスタ値local_reg_a<41..0>とレジスタ値local_reg_b<41..0>の上位３３ｂｉｔデータをそれぞれ入力すると共に、最下位ｂｉｔに割り当てるlocal_borrow信号を入力して減算を行い、２の補数表現による３４ｂｉｔの算出結果を得る。この算出結果は、３４ｂｉｔの最上位ｂｉｔを出力せずに、それ以外の３３ｂｉｔの値を出力する。このとき出力されたデータは、差分値δlocal_cnt<41..0>の上位３３ｂｉｔを成す差分値δlocal_cnt<41..9>である。このように減算器１０１から出力された３３ｂｉｔの差分値δlocal_cnt<41..9>と減算器１０２から出力された９ｂｉｔの差分値δlocal_cnt<8..0> とから成る差分値δlocal_cnt<41..0>は、図７に示したシフトレジスタ８０に書き込まれる。また更に、減算器１０１から出力された差分値δlocal_cnt<41..9>は減算器１０５へ入力され、減算器１０２から出力された差分値δlocal_cnt<8..0> は減算器１０６へ入力される。
【００５６】
減算器１０３，１０４はPCR_REG_A レジスタ７４に格納されているレジスタ値pcr_reg_a<41..0>とPCR_REG_B レジスタ７５に格納されているレジスタ値pcr_reg_b<41..0>との差分値を算出するとき、減算器１０１及び減算器１０２と同様な演算処理を行う。減算器１０４では、前述の減算器１０２と同様に、入力したレジスタ値pcr_reg_a<41..0>の下位９ｂｉｔとレジスタ値pcr_reg_b<41..0>の下位９ｂｉｔとの関係、即ちレジスタ値pcr_reg_a<8..0> とレジスタ値pcr_reg_b<8..0> の大小関係を判断し、‘pcr_reg_a<8..0>−pcr_reg_b<8..0>≧０’の状況のときは、前述の（ａ）の場合と同様に単純に減算を行い、その結果を差分値δpcr<41..0>の下位９ｂｉｔ、即ち差分値δpcr<8..0>として出力する。この処理動作と共に論理値Ｌのpcr_borrow信号を生成して減算器１０３へ出力する。また、‘pcr_reg_a<8..0>−pcr_reg_b<8..0>＜０’の状況のときには、前述の（ｂ）の場合と同様に‘0x12C＋local_reg_a<8..0>−local_Rreg_b<8..0>’の演算結果を差分値δpcr<41..0>の下位９ｂｉｔ、即ち差分値δpcr<8..0> として出力し、論理値Ｈのpcr_borrow信号を生成して出力する。
【００５７】
減算器１０３では‘pcr_reg_a<41..9>−pcr_reg_b<41..9>−（pcr_borrow信号の値）’を算出する。減算器１０３は、それぞれ３３ｂｉｔのレジスタ値pcr_reg_a<41..9>とレジスタ値pcr_reg_b<41..9>とを入力すると共に、最下位ｂｉｔに割り当てるpcr_borrow信号を入力して前述のように減算を行い、２の補数表現による３４ｂｉｔの算出結果を得る。この算出結果は、前述の減算器１０１の動作と同様に、３４ｂｉｔの最上位ｂｉｔを出力せずに、それ以外の３３ｂｉｔの値を差分値δpcr<41..9>として出力する。このように減算器１０３から出力された３３ｂｉｔの差分値δpcr<41..9>は減算器１０５へ入力され、減算器１０４から出力された９ｂｉｔの差分値δpcr<8..0> は減算器１０６へ入力される。
【００５８】
減算器１０６では、‘δpcr<8..0> −δlocal_cnt<8..0> ’の演算を行う。減算器１０６は、この演算を行うとき、入力した差分値δlocal_cnt<8..0> と差分値δpcr<8..0> の大小関係を減算器１０２と同様に判断し、‘δpcr<8..0> −δlocal_cnt<8..0> ≧０’の場合には、前述の（ａ）の場合と同様に単純に算出結果をデータdiff<42..0> の下位９ｂｉｔとして出力し、論理値Ｌのdiff_borrow 信号を生成して減算器１０５へ出力する。また、δpcr<8..0>−δlocal_cnt<8..0>＜０の場合には、0x12C ＋δpcr<8..0> −δlocal_cnt<8..0> の演算結果をデータdiff<42..0> の下位９ｂｉｔとして出力し、論理値Ｈのdiff_borrow 信号を生成して出力する。
【００５９】
減算器１０５では、‘δpcr<41..9>−δlocal_cnt<41..9>−（diff_borrow 信号の値）’の演算を行う。減算器１０５は、減算器１０１から差分値δlocal_cnt<41..9>を入力し、また減算器１０３から差分値δpcr<41..9>を入力し、さらに最下位ｂｉｔに割り当てるpcr_borrow信号を減算器１０６から入力して前述のように減算を行い、２の補数表現による３４ｂｉｔの算出結果を得る。この算出結果は、データdiff<42..0> の上位３４ｂｉｔとして出力される。減算器１０５から出力されるデータdiff<42..0> の上位３４ｂｉｔのデータと、減算器１０６から出力されるデータdiff<42..0> の下位９ｂｉｔのデータは、合わせて４３ｂｉｔのデータdiff<42..0> としてシフトレジスタ７７へ出力される。
【００６０】
図１２は、実施の形態１によるデジタル放送受信機のビデオ／オーディオ出力タイミング補正部の構成を示すブロック図である。この図は、図１に示したビデオ／オーディオ出力タイミング補正部１０の構成を示したもので、二つの入力信号あるいはデータからいずれかを選択して出力するセレクタ１３０〜１３３、V_PTS_REG_A レジスタ（ビデオデータＰＴＳ値レジスタ）１２１、V_PTS_REG_B レジスタ（ビデオデータＰＴＳ値レジスタ）１２２、減算器１２３、乗算器１２４、V_δPTS_ALLレジスタ１２５、加算器１２６、PCM_correct_time レジスタ１２７、加算器１２８、比較器１２９、A_PTS_REG_A レジスタ（オーディオデータＰＴＳ値レジスタ）１３４、A_PTS_REG_B レジスタ（オーディオデータＰＴＳ値レジスタ）１３５、減算器１３６、乗算器１３７、加算器１３８、比較器１３９、ＳＲフリップフロップ回路から成るフリップフロップ１４０，１４１、及びＤフリップフロップ回路から成るフリップフロップ１４２によって構成される。
【００６１】
図１３は、実施の形態１によるデジタル放送受信機のビデオ／オーディオ出力タイミング補正部の動作を示すタイミングチャートである。図１３−１は、ビデオデータに関連する信号及びデータのタイミングチャートで、図１３−２は、オーディオデータに関連する信号及びデータのタイミングチャートである。図１２に示したフリップフロップ１４２は、前述のようにＤフリップフロップ回路から成るもので、Ｄ入力としてＰＣＲ比較部５から出力されたカウントイネーブル信号cnt_enを入力し、clk 入力として発振器４から出力されるクロック信号clk を入力する。フリップフロップ１４２は、これらの入力に基づいて図８、図１３に示したようなカウントイネーブル信号cnt_en2 を生成して出力する。詳しくは、図８に示したようにカウントイネーブル信号cnt_enがアクティブになると、次のクロック信号clk の立ち上りに同期してアクティブを示すカウントイネーブル信号cnt_en2 を出力する。
【００６２】
図１２に示したセレクタ１３０は、ＰＣＲ比較部５から出力されたデータpcr<41..9>をＡ入力に、またビデオデコーダ６から出力されたデータpts_v をＢ入力に入力し、どちらか一方のデータをデータpts_v_s としてV_PTS_REG_A レジスタ１２１へ出力するように切り換える。セレクタ１３１は、ＰＣＲ比較部５から出力された信号pcr_det をＡ入力に、またビデオデコーダ６から出力されたＰＴＳイネーブル信号pts_v_w_enをＢ入力に入力し、いずれか一方の信号をＰＴＳイネーブル信号pts_v_w_en’ としてV_PTS_REG_A レジスタ１２１及びV_PTS_REG_B レジスタ１２２へ出力するように切り換える。
【００６３】
セレクタ１３２は、データpcr<41..9>をＡ入力に、オーディオデコーダ７から出力されたデータpts_a をＢ入力に入力し、いずれか一方のデータをデータpts_a_s としてA_PTS_REG_A レジスタ１３４へ出力するように切り換える。セレクタ１３３は、信号pcr_det をＡ入力に、またオーディオデコーダ７から出力されたオーディオイネーブル信号pts_a_w_enをＢ入力に入力し、いずれか一方の信号をＰＴＳイネーブル信号pts_a_en’ としてA_PTS_REG_A レジスタ１３４及びA_PTS_REG_B レジスタ１３５へ出力するように切り換える。なお、これらのセレクタ１３０〜１３３は、フリップフロップ１４２から出力されるカウントイネーブル信号cnt_en２が、図８及び図１３に示したようにアクティブになっときＢ入力を選択し、それ以外はＡ入力を選択して出力する。
【００６４】
初期値として“０”が格納されているV_PTS_REG_A レジスタ１２１は、セレクタ１３１から入力したＰＴＳイネーブル信号pts_v_w_en’ が立ち下った時、セレクタ１３０から入力したデータpts_v_s を格納する。同様に初期値として“０”が格納されているV_PTS_REG_B レジスタ１２２は、上記のＰＴＳイネーブル信号pts_v_w_en’ の立ち下り時にV_PTS_REG_A レジスタ１２１に格納されているデータをシフトさせて入力する。その後、減算器１２３が、V_PTS_REG_A レジスタ１２１とV_PTS_REG_B レジスタ１２２にそれぞれ格納されている値の差分値δpts_v を求め、加算器１２６へ出力する。またこれと同時に、乗算器１２４は、減算器１２３から出力された差分値δpts_v を入力する。この乗算器１２４は、差分値δpts_v にＰＣＲ比較部５から取得した周波数誤差データδｆを乗算した差分値δpts_v’を求め、入力しているＰＴＳイネーブル信号pts_v_w_enの信号パルスの立ち下り時に差分値δpts_v’を出力あるいは更新出力して加算器１２６に送る。このような差分値δpts_v’を更新／出力する動作は、当該ビデオ／オーディオ出力タイミング補正部１０が動作している間行われる。
【００６５】
加算器１２６は、減算器１２３から入力した差分値δpts_v 、乗算器１２４から入力した差分値δpts_v’、及びV_δPTS_ALL レジスタ１２５に格納されているデータを加算し、データv_δpts_all を生成して出力する。このデータv_δpts_all は、加算器１２８に出力されるだけでなく、同時にV_δPTS_ALL レジスタ１２５に格納されているデータも、このデータv_δpts_all の値に更新される。加算器１２８は、データv_δpts_allと共に、PCM_correct_timeレジスタ１２７に格納されているデータを入力し、これらのデータを加算する。このPCM_correct_timeレジスタ１２７には、図１に示したＰＣＭデータ補正部９の補正処理に要する時間を表したデータ、即ちオフセット時間を表すデータが格納されている。ＰＣＭデータ補正部９の処理時間は一定であるため、このオフセット時間を表すデータは固定値で表されるものになり、初期設定において取り扱われる。なお、このオフセット時間とは、ＰＣＭデータ補正部９へＰＣＭデータが入力されてから、補正されたＰＣＭデータが出力されるまでの処理時間を指し示すものである。
【００６６】
その後、図１２に示した比較器１２９は、加算器１２８から出力されたデータpts’_vとデータlocal_cnt<41..9>とを比較して、‘pts’_v＝local_cnt<41..9>’の関係が成立するとき、クロック信号clk の１クロック分のパルスを有する出力イネーブル信号v_enを生成して出力する。なお、図１２では図示を省略したが、ビデオ／オーディオ出力タイミング補正部１０は、ＰＴＳイネーブル信号pts_v_w_enが最初に立ち上がるときのエッジが入力されるまで比較器１２９がリセット状態になっているように構成される。
【００６７】
オーディオ側のデータ処理は、図１２に示したように、A_PTS_REG_A レジスタ１３４にセレクタ１３３からＰＴＳイネーブル信号pts_a_w_en’ が入力される。A_PTS_REG_A レジスタ１３４は、入力したＰＴＳイネーブル信号pts_a_w_en’ の立ち下りタイミングでデータpts_a_s を格納し、同時にA_PTS_REG_A レジスタ１３４に先に格納されていたデータがA_PTS_REG_B レジスタ１３５へシフトされる。その後、減算器１３６が、A_PTS_REG_A レジスタ１３４とA_PTS_REG_B レジスタ１３５にそれぞれ格納されている値の差分値δpts_a を求め、加算器１３８へ出力する。またこれと同時に、乗算器１３７は、減算器１３６から出力された差分値δpts_a を入力する。この乗算器１３７は、差分値δpts_a にＰＣＲ比較部５から取得した周波数誤差データδfを乗算した差分値δpts_a’を求め、入力しているＰＴＳイネーブル信号pts_a_w_enの信号パルスの立ち下り時に差分値δpts_a’を出力・更新し、加算器１３８に送る。ビデオ／オーディオ出力タイミング補正部１０において、ここまでの処理はビデオ側のデータ処理と同様に行われる。
【００６８】
加算器１３８は、減算器１３６から入力した差分値δpts_a と乗算器１３７から入力した差分値δpts_a’とを加算してデータpts’_aを生成し、比較器１３９へ出力する。比較器１３９は、データlocal_cnt<41..9>と加算器１３８から出力されたデータpts’_aとを比較し、‘pts’_a＝local_cnt<41..9>’となる場合には、クロック信号clk の１クロック分のパルス信号によってアクティブを示す信号a_set を生成する。
【００６９】
フリップフロップ１４０は、Ｓ入力として比較器１３８から出力された信号a_set を入力し、またＲ入力としてリセット信号reset を入力し、これらのＳＲ入力に応じてイネーブル信号a_enを生成する。フリップフロップ１４０は、アクティブを示す信号a_set が入力され、このときリセット信号reset がアクティブを示していなければ、アクティブを示す出力イネーブル信号a_enを生成して出力する。
【００７０】
なお、ビデオ／オーディオ出力タイミング補正部１０の動作において、出力データ制御部１１を制御してビデオデータに関するタイミング補正を常に行うようにしたことに対して、出力データ制御部１１を制御してオーディオデータに関するタイミング補正を最初に行うのみとしたのは、ビデオフレームの数量は、例えば３０枚に限定されず、デコードするビデオフレームの数量が可変する。これに対してオーディオフレームの数量は固定されており、デコードするオーディオフレームの数量も一定である。そのため、オーディオフレームのデコードは、最初に設定した出力タイミングを使用し続けても障害が発生しない。そこで、この実施の形態１による発明では、ビデオデータ側のタイミング制御を度々行い、オーディオデータ側のタイミング制御を最初に行うのみとして、ビデオデータとオーディオデータのタイミング補正に関する動作制御を簡略化している。
【００７１】
また、図１２に示したフリップフロップ１４１は、Ｓ入力にカウントイネーブル信号cnt_en2 を入力し、Ｒ入力にリセット信号reset を入力して、前述のトランスポートデコーダ３の動作を制御するＰＥＳイネーブル信号pes_enを生成する。このフリップフロップ１４１は、リセット信号reset がアクティブを示していないとき、カウントイネーブル信号cnt_en2 がアクティブを示すと、アクティブを示すＰＥＳイネーブル信号pes_enを出力する。
【００７２】
図１４は、実施の形態１によるデジタル放送受信機のＰＣＭデータ補正部の構成を示すブロック図である。この図は、図１に示したＰＣＭデータ補正部９の構成を示したもので、オーディオデコーダ７からＰＣＭデータであるオーディオデータadata を入力してＵ倍のアップサンプリングを行うアップサンプリング部（アップサンプリング手段）１５１、アップサンプリング部１５１から出力されたＰＣＭデータのフィルタリングを行うローパスフィルタ１５２、ローパスフィルタ１５２から出力されたＰＣＭデータを保持する補間データテンポラリバッファ（データバッファ）１５３、ＰＣＲ比較部５から出力された周波数誤差データδｆを入力し、補間データテンポラリバッファ１５３の動作を制御する補間データテンポラリバッファ読み出し制御部（データバッファ読み出し制御手段）１５４、及び、補間データテンポラリバッファ１５３から出力されたＰＣＭデータを蓄積してこれを適宜オーディオ補正データadata’として出力するデータ蓄積メモリ１５５を備える。また、前述のようにＰＣＭデータ補正部９は、クロック信号clk を入力し、当該クロック信号clk に基づいて再生サンプリングクロックclk2を生成する図示されないクロック生成部を備える。この再生サンプリングクロックclk2は、送出側システムにおいてＰＣＭデータを生成する際に用いられるサンプリング周波数を有するものである。詳しくは、送出系システム側に備えられたＡＡＣエンコーダのサンプリングクロックに対応するように受信機側で再生したものである。なお、送出系システム側のサンプリング周波数は、前述のトランスポートデコーダ３から出力されるＰＥＳパケットに含まれるＡＡＣエンコードのＥＳ（Elementary Stream)内に記述されており、クロック生成部は、この記述内容を取得して再生サンプリングクロックclk2を生成する。
【００７３】
図１５は、実施の形態１によるデジタル放送受信機のアップサンプリング部により処理されたＰＣＭデータを示す説明図である。この図は、アップサンプリング部１５１がＡＣ成分の零値データAC0 を各ＰＣＭデータへ補間するときのイメージを示したもので、例えばアップサンプリングの倍率Ｕを３倍とした場合のデータAC0 の挿入状態を示したものである。アップサンプリング部１５１は、再生サンプリングクロックclk2に同期させながら次のように動作処理を行う。オーディオデコーダ７からＰＣＭデータadataを入力し、このＰＣＭデータadata を、例えばデータPCM_N-1 、データPCM_N 、データPCM_N+1と表したとき、またアップサンプリング倍率ＵをＵ＝３としてアップサンプリングする場合には、Ｕ−１個、即ち二つのデータAC0 をデータPCM_N-1 、データPCM_N 、データPCM_N+1 のそれぞれ後に挿入する。
【００７４】
図１５−１は、アップサンプリング部１５１へ逐次入力されるＰＣＭデータのデータPCM_N-1 、データPCM_N 、データPCM_N+1 を表したもので、これは当該ＰＣＭデータ補正部９によって処理される前のＰＣＭデータである。アップサンプリング部１５１は、図示したように、データPCM_N-1 の後に二つのデータAC0 を挿入し、更にその後に続くデータPCM_N の後に二つのデータAC0 を挿入し、また更にその後に続くデータPCM_N+1 の後に二つのデータAC0 を挿入する。図１５−２に示したように、データAC0 を挿入する前、即ち補間前は、滑らかに遷移する信号波形がデータPCM_N-1 ，PCM_N ，PCM_N+1 により表される。前述のように各ＰＣＭデータの間にＡＣ成分の零値データAC0 を挿入すると、データAC0 を補間した箇所に対応する信号は零値となるため、図１５−２に補間後として示したようにデータPCM_N-1 ，AC0 ，AC0 ，PCM_N ，AC0 ，AC0 ，PCM_N+1 ，AC0 ，AC0 により表される波形は、オーディオデータadata が本来表す信号波形よりも高い周波数成分を有するものとなる。アップサンプリング部１５１は、このような波形を示すＰＣＭデータをローパスフィルタ１５２へ出力する。
【００７５】
図１６は、実施の形態１によるデジタル放送受信機のローパスフィルタにより処理されたＰＣＭデータを示す説明図である。この図は、ＡＣ成分の零値を示すデータAC0を補完することによりサンプリング数を増加させたＰＣＭデータをローパスフィルタ１５２へ入力し、当該ローパスフィルタ１５２が、補間されたＰＣＭデータが本来の周波数帯域のみから成るように、当該ＰＣＭデータに含まれる周波数成分の帯域制限を行う処理動作を示したものである。
【００７６】
図１６−１は、ローパスフィルタ１５２へ入力されるＰＣＭデータと当該ローパスフィルタ１５２によりフィルタリングされたＰＣＭデータを示したものである。図示したようにローパスフィルタ１５２の通過前のＰＣＭデータは、即ち、アップサンプリング部１５１において、例えばＵ＝３としてアップサンプリングされたＰＣＭデータは、前述のようにデータPCM_N-1 、データAC0 、データAC0 、データPCM_N 、データAC0 、データAC0 、データPCM_N+1 、データAC0 、データAC0 の順で当該ローパスフィルタ１５２へ逐次入力される。このようにＰＣＭデータを入力したローパスフィルタ１５２は、図１６−１に示したようにフィルタ通過前のデータPCM_N-1 をフィルタ通過後のデータPCM_N-1_0 に、次のフィルタ通過前のデータAC0 をフィルタ通過後のデータPCM_N-1_1 に、次のフィルタ通過前のデータAC0 をフィルタ通過後のデータPCM_N-1_2 に、次のフィルタ通過前のデータPCM_N をフィルタ通過後のデータPCM_N_0 に、次のフィルタ通過前のデータAC0 をフィルタ通過後のデータPCM_N_1 に、次のフィルタ通過前のデータAC0 をフィルタ通過後のデータPCM_N_2 に、次のフィルタ通過前のデータPCM_N+1 をフィルタ通過後のデータPCM_N+1_0 に、次のフィルタ通過前のデータAC0 をフィルタ通過後のデータPCM_N+1_1 に、次のフィルタ通過前のデータAC0 をフィルタ通過後のデータPCM_N+1_2 等にフィルタリングする。このフィルタリングは、図１６−２に示したようにフィルタ通過前のデータPCM_N-1 ，AC0 ，AC0 ，PCM_N ，AC0 ，AC0 ，PCM_N+1 ，AC0 ，AC0 が示す波形が、フィルタ通過後として示した滑らかに遷移する波形となるように、零値データAC0 によって含まれていた高周波成分を除去するように行われる。ローパスフィルタ１５２を通過させたＰＣＭデータは、このようにオーディオ信号の波形を示すデータとなる。
【００７７】
ローパスフィルタ１５２から出力されたＰＣＭデータ、即ち図１６−１に示したフィルタ通過後の各データPCM_N-1_0 ，PCM_N-1_1 ，PCM_N-1_2 ，PCM_N_0 ，PCM_N_1 ，PCM_N_2 ，PCM_N+1_0 ，PCM_N+1_1 ，PCM_N+1_2 は、遂次補間データテンポラリバッファ１５３へ格納され、蓄積される。なお、上記各データの名称の最終端に付記された数字は、後述する当該データに対応する位相値を示すものである。
【００７８】
例えば２ポートＲＡＭから成る補間データテンポラリバッファ１５３は、ローパスフィルタ１５２を通過したＰＣＭデータ、即ち補間されたＰＣＭデータを全て一時的に格納する。補間データテンポラリバッファ読み出し制御部１５４は、後述するようにＰＣＲ比較部５から取得した周波数誤差データδｆに基づいて補間データテンポラリバッファ１５３から補間されたＰＣＭデータを読み出し、データ蓄積メモリ１５５へ当該ＰＣＭデータを書き込ませる。データ蓄積メモリ１５５は、再生サンプリングクロックclk2に同期させてＰＣＭ補正データadata’を順次出力する。この出力動作は、データ蓄積メモリ１５５の読み出しアドレス、即ちＰＣＭ補正データadata’を読み出すアドレスを、再生サンプリングクロックclk2に同期させてインクリメントしながら行われる。
【００７９】
図１７は、実施の形態１によるデジタル放送受信機の補間データテンポラリバッファ読み出し制御部の動作を示すフローチャートである。図１７−１及び図１７−２のフローチャートは、図１４に示した補間データテンポラリバッファ読み出し制御部１５４の制御動作を示したものである。補間データテンポラリバッファ読み出し制御部１５４は、前述のようにＰＣＲ比較部５から入力した周波数誤差データδｆを用いて位相シフト値を算出する（ステップＳＴ１０１）。この位相シフト値とは、一回の補正処理によってシフトする位相値のことである。また、この位相値は単位にラジアンを用いて−２πから＋２πまでの範囲の位相を表した値である。補間データテンポラリバッファ読み出し制御部１５４は、位相シフト値を２π×δｆの演算によって求める。
【００８０】
その後、位相シフト値が０以上の値であるか否かを判定し（ステップＳＴ１０２）、位相値が０以上であれば、ステップＳＴ１０３へ移行し、０以上でない場合にはステップＳＴ１１１に移行する。位相シフト値が０以上であると判定した場合は、初期値が０で与えられている現在の位相値を読み出す（ステップＳＴ１０３）。ここで読み出される位相値は、補間データテンポラリバッファ読み出し制御部１５３の内部に備えられたレジスタに保持されているデータで、後述するステップＳＴ１０９において位相シフト値に加算される。ここで位相値とは、実際の送出サンプリングデータ、即ち送出側システムから送出されるオーディオデータのサンプリングタイミングに対する位相のずれを示す値である。次に、この位相値が２πより小さいか否かを判定する（ステップＳＴ１０４）。位相値が２πより小さい位相差であると判定したときは、ステップＳＴ１０７に移行する。また、位相値が２πより小さくないと判定した場合にはステップＳＴ１０５に移行する。ステップＳＴ１０４で位相値が２πより小さいと判定した場合は、位相値に基づいて補間データテンポラリバッファ１５３の読み出しアドレスを補正する（ステップＳＴ１０７）。この補正アドレスの算出は以下に示す式（４）を用いる。
補正アドレス＝基準アドレス+（位相値／２π）×Ｕ…（４）
（Ｕはアップサンプリングしたときの倍率）
なお、式（４）の基準アドレスは、ＰＣＭデータのアップサンプリングする前、即ち補間前の基準データが格納されているアドレスを指すもので、図１５−２に示したデータPCM_N-1_0 ，PCM_N_0 ，PCM_N+1_0 ，PCM_N+2_0 のように位相値が０のときに読み出されるデータが格納されているアドレスを示す。また、基準データは位相値＝０で読み出されるデータ値を指す。なお、この基準アドレスは、図１４に示した補間データテンポラリバッファ読み出し制御部１５４の内部に記憶保存され、当該基準アドレスが補正アドレスに使用される度に、基準アドレス＝基準アドレス＋Ｕ（Ｕはアップサンプリングした時の倍率）として内容が更新される。
【００８１】
ステップＳＴ１０７で読み出しアドレスを補正した後、補間データテンポラリバッファ１５３から当該補正アドレスに格納されているデータを読み出し、このデータをデータ蓄積メモリ１５５に書き込ませる（ステップＳＴ１０８）。次に、位相値に位相シフト値を加算する（ステップＳＴ１０９）。更に、補間データテンポラリバッファ１５３のアドレスを次の基準アドレスにスキップさせる（ステップＳＴ１１０）。この後、再びステップＳＴ１０１に戻り、同一シーケンスを繰り返す。なお、ステップＳＴＳ１０４において、位相値が２π以上であると判定した場合には、ステップＳＴ１０５に移行して位相値から２πを減算し（ステップＳＴ１０５）、補間データテンポラリバッファ１５３のアドレスを、ステップＳＴ１１０と同様に基準アドレスにスキップさせる（ステップＳＴ１０６）。基準アドレスにスキップした後は、再びステップＳＴ１０３に戻って同一シーケンスを実施する。また、ステップＳＴ１０２で位相シフト値が０以上ではないと判定した場合には、ステップＳＴ１１１に移行する。その後、ステップＳＴ１０３と同様に位相値を読み出し（ステップＳＴ１１１）、次にステップＳＴ１０７と同様に読み出しアドレスを補正する（ステップＳＴ１１２）。その後、ステップＳＴ１０８と同様に補間データテンポラリバッファ１５３の補正アドレスからデータを読み出し、次にこのデータをデータ蓄積メモリ１５５に書き込む（ステップＳＴ１１３）。その後、ステップＳＴ１０９と同様に位相値に位相シフト値を加算する（ステップＳＴ１１４）。次に、位相値が−２π以上であるか否かを判定し（ステップＳＴ１１５）、位相値が−２π以上であればステップＳＴ１１７に移行し、位相値が−２π未満であれば、ステップＳＴ１１６に移行する。ステップＳＴ１１７では、補間データテンポラリバッファ１５３のアドレスをスキップし、再び、ステップＳＴ１０１に移行する。また、ステップＳＴ１１６では位相値に２πを加算して当該位相値を更新し、再びステップＳＴ１１１に移行し、以降の過程を繰り返す。
【００８２】
このように補間データテンポラリバッファ読み出し制御部１５４は、補間データテンポラリバッファ１５３から読み出されるデータを制御し、データ蓄積メモリ１５５にこのデータを格納・蓄積させる。ＰＣＭデータ補正部９は、このように入力したオーディオデータadata を処理してデータ蓄積メモリ１５５に蓄積させたデータを前述のようにオーディオ補正データadata’として出力データ制御部１１へ出力する。
【００８３】
この後、前述のように出力データ制御部１１はビデオ／オーディオ出力タイミング補正部１０から出力された出力イネーブル信号a_enに基づいてオーディオ補正データadata’をＤ／Ａコンバータ１３へ出力する。
【００８４】
以上のように、実施の形態１の発明によれば、ＰＣＲ比較部５が順次取得したＰＣＲから周波数誤差データδｆを求め、ビデオ／オーディオ出力タイミング補正部１０が周波数誤差データδｆに基づいてビデオバッファの出力データ制御部３及びオーディオバッファの出力データ制御部１１を制御し、Ｄ／Ａコンバータ１２から出力されるビデオ信号とＤ／Ａコンバータ１３から出力されるオーディオ信号の同期タイミングを補正するようにしたので、ＰＬＬ回路を備えることなくビデオ信号とオーディオ信号の同期を図ることができ、またＡＶデコーダ１４などのワンチップ化が可能になることから当該受信機の小型化及び低価格化を図ることができるという効果がある。
【００８５】
また、ＰＣＭデータ補正部９が周波数誤差データδｆに基づいてＰＣＭデータであるオーディオデータadata を補正するようにしたので、送出系システム側のサンプリングデータはあたかも受信機側の再生サンプリングクロックでサンプリングしたデータのように変換され、その結果としてオーディオ出力バッファのオーバーフローやアンダーフローの発生が防止され、異音の発生を防ぐことができるという効果がある。
【００８６】
実施の形態２．
以下、この発明の実施の形態２について説明する。
実施の形態２によるデジタル放送受信機は、ＰＣＭデータ補正部以外は全て実施の形態１によるデジタル放送受信機と同様に構成され、また同様に動作するものである。ここでは、図１等に示した実施の形態１によるデジタル放送受信機と同様に構成される、ＰＣＭデータ補正部以外の部分の説明を省略する。
【００８７】
図１８は、この発明の実施の形態２によるデジタル放送受信機のＰＣＭデータ補正部の構成を示すブロック図である。図１８に示したものは図１のＰＣＭデータ補正部９に相当するもので、実施の形態１で図１４を用いて説明したＰＣＭデータ補正部９と同様に、ＰＣＲ比較部５から周波数誤差データδｆを入力し、またオーディオデコーダ７からオーディオデータadata を入力し、オーディオ補正データadata’を出力データ制御部１１へ出力するもので、より適切なデータ補正を行うものである。図１８に示したＰＣＭデータ補正部は、入力したオーディオデータadata を蓄積するデータ蓄積部１８１、データ蓄積部１８１に蓄積されているデータのＦＦＴ（Fast Fourier Transform)演算を行うＦＦＴ演算部（ＦＦＴ演算手段）１８２、ＦＦＴ演算部１８２から出力されるデータfft_resultを入力し、位相補正及びＩＤＦＴ（Inverse Discrete-time Fourier Transform)演算を行う位相補正／ＩＤＦＴ演算部（位相補正演算手段）１８３、ＰＣＲ比較部５から周波数誤差データδｆを入力し、データθ及び信号P_INT を位相補正／ＩＤＦＴ演算部１８３へ出力する位相補正制御部（位相補正制御手段）１８５、位相補正／ＩＤＦＴ演算部１８３の演算結果を示すデータを蓄積し、オーディオ補正データadata’として出力するデータ蓄積部１８４を備える。なお、実施の形態２によるＰＣＭデータ補正部９も、前述の実施の形態１で説明したＰＣＭデータ補正部９と同様に再生サンプリングクロックclk2を生成する図示されないクロック生成部を備える。
【００８８】
データ蓄積部１８１は、上述のようにオーディオデコーダ７から出力されたオーディオデータadata のＰＣＭデータを一旦蓄積し、蓄積させたデータを１０２４サンプル毎にＦＦＴ演算部１８２へ出力する。ＦＦＴ演算部１８２は、ＦＦＴ演算の前処理として、１０２４サンプルを1フレームとして切り出したサンプリングデータにハミング窓等の窓関数を１フレーム分乗算する。この後、ＦＦＴ演算を行うようにして折り返し歪の発生を防ぐ。
【００８９】
一般に、g(t＋ΔT)＝g（t）が成り立つ周期関数g （t）において、期間ΔT では以下の式（５）のような近似式が成り立つ。
g（t）≒（1／N）×Σ｛ak×exp（j×k×ω×t）｝…（５）
（N＝ΔT期間中のサンプリング数、０≦k≦N（kは整数）、ω＝２π×f、１／f＝ΔT、j＾２＝−１）
式（５）に示された各周波数成分の係数ak（kは０以上の整数）は、ＦＦＴ演算により算出することが可能なものである。
【００９０】
ここで、例えば１０２４サンプルのサンプリングデータを処理するとき、送出系システム側のサンプリング周波数をｆ０、受信機側の再生サンプリングクロックの周波数をｆ０×（１−δｆ）とすると（ただし、−１＜δｆ＜１）、送出系システム側の音声原信号は次の式（６）のように表される。なお、以下に示す各式において、AKは送出システム側の各周波数成分の係数、またBKは受信機側の各周波数成分の係数である。
G（t）≒A0＋１／１０２４×Σ｛Ak×exp（j×k×２π×f0×t）｝…（６）
また、受信機側にて再生するＰＣＭデータは次の式（７）のように表される。
G’（t）＝A0＋１／１０２４×Σ｛Bk×exp（j×k×２π×f0×（１−δf）×t）｝
…（７）
式（７）は次の式（８）のようにおくことができる。
G’（t）＝A0＋１／１０２４×Σ｛Bk×exp（j×k×２π×f×t）
×exp（j×k×２π×f0×（−δf）×t）｝                        …（８）
ここで、θ＝２π×f0×（−δf）×ｔとして式（８）を置き換えると、次の式（９）のようになる。
G’（t）＝A0＋１／１０２４×Σ｛Bk×exp（j×k×θ）×exp（j×k×２π×f×t）｝
…（９）
ここで、Bk×exp（j×k×θ）＝Akとして式（９）を置き換えると、次の式（１０）のようになる。
G’（t）＝A0＋１／１０２４×Σ｛Ak×exp（j×k×２π×f×t）｝≒G（t）…（１０）
このように式（１０）は式（６）と同様なものとなる。
【００９１】
これは、送出系システム側においてサンプリングされたＰＣＭデータを受信機側で処理するとき、送出系システムと受信機側とのサンプリング周波数誤差を求めて、その周波数誤差からＦＦＴ演算を行った後のサンプリングデータを補正することで、あたかも受信機側の再生サンプリング周波数でサンプリングしたＰＣＭデータのように変換することが可能であることを意味する。また、実際にはＦＦＴ演算を行った後のサンプリングデータ、即ち前述のデータfft_resultは全サンプルの内、全体の１／２を中心にして対称な値になることから、その値を正弦関数を用いて表すことができ、sin (k×ω×t)を用いて表現することができる。このことから、データfft_resultはsin (k×（ω×t＋θ)）＝sin （k×ω×t）cos θ＋cos (k×ω×t)sin θとして表現することができ、正弦値、余弦値を求め、これらを用いた演算によりＰＣＭデータを補正することができる。ただし、θが２π以上のときには、サンプリングデータを１データ補間する必要があり、逆に−２π以下になるようであればサンプリングデータを１データ間引きする必要がある。位相補正制御部１８５は、θ＝２π×f0×（−δｆ）×t をサンプリング点ごとの時間で算出し、更にサンプリングデータの補間あるいは間引きが必要になるθ≧２π及びθ≦−２πのときに信号P_INT を生成して位相補正／ＩＤＦＴ演算部１８３に通知する。
【００９２】
位相補正／ＩＤＦＴ演算部１８３は、補正位相正弦・余弦値ルックアップテーブル２０２を作成し、この補正位相正弦・余弦値ルックアップテーブル２０２と送出側ＩＤＦＴルックアップテーブル２０３とを用いてＩＤＦＴ演算ルックアップテーブル２０５を作成し、さらにＦＦＴ演算部１８２により算出されたデータfft_resultとＩＤＦＴ演算ルックアップテーブル２０６とを用いて各周波数成分のＩＤＦＴ演算結果を求め、これらの演算結果のデータ和を求めてデータ蓄積部１８４にＰＣＭ補正データとして書き込む。データ蓄積部１８４は、例えば再生サンプリングクロックclk2に同期させて蓄積しているＰＣＭ補正データをオーディオ補正データadata’として出力する。
【００９３】
図１９は、実施の形態２によるデジタル放送受信機の位相補正制御部の動作を示すフローチャートである。図１９−１及び図１９−２のフローチャートは、図１８に示した位相補正制御部１８５の動作を示すものである。なお、位相補正制御部１８５は、後述する演算処理等において使用するＮレジスタ、補正位相値を格納する補正位相値レジスタ、及び位相初期値を格納する位相初期値レジスタを備えている。位相補正制御部１８５は、図１に示したＰＣＲ比較部５から周波数誤差データδｆを入力し、実施の形態１で説明したＰＣＭデータ補正部９と同様に周波数誤差データδｆを用いた演算を行って位相シフト値を算出する（ステップＳＴ２０１）。ここで、位相シフト値とは一回の補正でシフトする位相値のことで、実施の形態１において定義した位相シフト値と同義である。次に、補正位相値レジスタに、位相初期値レジスタに格納されている位相初期値を書き込む（ステップＳＴ２０２）。この位相初期値レジスタには、初期値として０が設定されており、位相補正を行う度に格納されている位相初期値が更新される。
【００９４】
次に、位相シフト値が０以上か否かを判定し（ステップＳＴ２０３）、０以上の値であればステップＳＴ２０４に移行し、そうでない場合にはステップＳＴ２１４へ移行する。ステップＳＴ２０４では、補正位相値レジスタに格納されている補正位相値を読み出す。ここで補正位相値とは、サンプリング点の位相のずれ分、即ち位相差を示す値である。次に、この補正位相値が２πより小さいか否かを判定する（ステップＳＴ２０５）。補正位相値が２πより小さい場合はステップＳＴ２０９に移行し、そうでない場合はステップＳＴ２０６に移行する。
【００９５】
次に位相補正制御部１８５は、位相補正／ＩＤＦＴ演算部１８３から入力したREADY信号がアクティブを示しているか否かを判定する(ステップＳＴ２０９)。READY信号がアクティブを示している場合にはステップＳＴ２１０へ移行し、READY信号がアクティブを示していない場合にはステップＳＴ２０９を繰り返す。
【００９６】
ステップＳＴ２１０では、位相補正制御部１８５は、このとき処理している補正位相値を位相補正／ＩＤＦＴ演算部１８３に通知する。この後、当該通知した補正位相値に位相シフト値を加算し、算出した値により補正位相値レジスタに格納されている内容を更新する（ステップＳＴ２１１）。次に、Ｎレジスタの値が後述する位相初期値番号未満であるか否かを判定し（ステップＳＴ２１２）、Ｎレジスタの値が位相初期値番号未満であればステップＳＴ２１３に移行し、Ｎ＜位相初期値番号が成立しない場合はステップＳＴ２２４に移行する。ステップＳＴ２１３では、Ｎレジスタの値に＋１を加算し、当該Ｎレジスタの値をインクリメントしてステップＳＴ２０４へ戻り、以降の過程を繰り返す。
【００９７】
また、ステップＳＴ２０５で、補正位相値が２π以上であると判定した場合には、位相補正制御部１８５は、当該判定を行った補正位相値から２πを減算し、この減算値を位相補正値として（ステップＳＴ２０６）、アクティブを示すP_INIT信号を位相補正／ＩＤＦＴ演算部１８３へ出力し、割込み処理を通知する（ステップＳＴ２０７）。その後、位相初期値番号から１を減算して、この算出値で位相初期値番号を更新し（ステップＳＴ２０８）、ステップＳＴ２０９へ移行する。なお、位相初期値番号の初期値はサンプリング数−１の１０２３である。
【００９８】
また、ステップＳＴ２０３で、位相シフト値が０以上ではないと判定した場合は、ステップＳＴ２１４に移行する。ステップＳＴ２１４では、補正位相値レジスタに格納されている補正位相値を読み出す。次に、読み出した補正位相値が−２πより大きいか否かを判定する（ステップＳＴ２１５）。補正位相値が−２πより大きい場合はステップＳＴ２１９に移行し、補正位相値が−２π以下の場合はステップＳＴ２１６に移行する。
【００９９】
ステップＳＴ２１９では、位相補正／ＩＤＦＴ演算部１８３から入力したREADY信号がアクティブを示しているか否かを判定し、アクティブを示した場合のみステップＳＴ２２０に移行し、READY信号がアクティブを示すまでステップＳＴ２１９の過程を繰り返す。READY信号がアクティブになった後、補正位相値を位相補正／ＩＤＦＴ演算部１８３に通知し（ステップＳＴ２２０）、この補正位相値に位相シフト値を加算し、算出した値で補正位相値レジスタに格納されている内容を更新する（ステップＳＴ２２１）。
【０１００】
次に、Ｎレジスタの値が位相初期値番号未満か否かを判定する（ステップＳＴ２２２）。Ｎレジスタの値が初期値番号未満の場合は、ステップＳＴ２２３に移行し、Ｎレジスタの値が初期値番号未満でない場合は、ステップＳＴ２２４に移行する。ステップＳＴ２２３では、Ｎレジスタの値に１を加算してＮレジスタの値をインクリメントし、ステップＳＴ２１４に戻って以降の過程を繰り返す。
【０１０１】
また、ステップＳＴ２１５で、補正位相値が−２π以下であると判定した場合には、ステップＳＴ２１６に移行する。ステップＳＴ２１６では、ステップＳＴ２１５の判定対象の補正位相値に２πを加算して、この値を補正位相値とする。次に、位相補正制御部１８５は、アクティブを示すP_INT 信号を位相補正／ＩＤＦＴ補正部１８３へ出力し、割込み処理を通知する（ステップＳＴ２１７）。その後、位相初期値番号に１を加算し、算出した値で位相初期値番号を更新し（ステップＳＴ２１８）、ステップＳＴ２１９に移行する。
【０１０２】
また、前述のステップＳＴ２１２またはステップＳＴ２２２から、ステップＳＴ２２４に移行したとき、再び補正位相値を読み出す。その後、ステップＳＴ２２４で読み出した補正位相値が−２πより大きいか否かを判定する（ステップＳＴ２２５）。補正位相値が−２πより大きいと判定した場合はステップＳＴ２２６へ移行し、そうではないと判定した場合はステップＳＴ２１６に移行する。
【０１０３】
ステップＳＴ２２６では、位相初期値レジスタに補正位相値を書き込み、その後ステップＳＴ２２７に移行する。ステップＳＴ２２７では補正位相値をクリアし、次にＮレジスタの値をクリアし（ステップＳＴ２２８）、位相初期値番号に１０２３を設定し（ステップＳＴ２２９）、ステップＳＴ２０１に戻って以降の過程を繰り返す。
【０１０４】
次に、位相補正／ＩＤＦＴ演算部について説明する。
図２０は、実施の形態２によるデジタル放送受信機の位相補正／ＩＤＦＴ演算部の構成を示すブロック図である。この図は、図１８に示した位相補正／ＩＤＦＴ補正部１８３の構成を示したものである。位相補正／ＩＤＦＴ補正部１８３は、補正位相正弦・余弦値ルックアップテーブル算出部２０１と、補正位相正弦・余弦値ルックアップテーブル２０２と、送出側ＩＤＦＴルックアップテーブル２０３と、ＩＤＦＴ演算ルックアップテーブル算出部２０４と、ＦＦＴ演算結果蓄積部２０５と、ＩＤＦＴ演算ルックアップテーブル２０６と、ＩＤＦＴ演算処理部２０７とを備えている。
【０１０５】
補正位相正弦・余弦値ルックアップテーブル算出部２０１は、位相補正制御部１８５から通知されてくる、補正位相値を示す補正位相データθに基づいて補正位相正弦・余弦値を算出し、算出した値を補正位相正弦・余弦値ルックアップテーブル２０２に書き込む。図２１は、実施の形態２によるデジタル放送受信機の補正位相正弦・余弦値ルックアップテーブル算出部により作成される補正位相正弦・余弦値ルックアップテーブルを示す説明図である。この図は、補正位相正弦・余弦値ルックアップテーブルの内、正弦値について作成されたテーブルのイメージを例示したものである。この補正位相正弦・余弦値ルックアップテーブル２０２は、補正前のＰＣＭデータのサンプル数１０２４毎に更新され、通常は１０２４×１０２４の各値を有するテーブルとなる。ただし、位相補正制御部１８５からアクティブを示すP_INT 信号が出力されたとき、補正位相値がプラスの場合は１０２４×１０２３の各値を有するテーブルが作成され、補正位相値がマイナスの場合は１０２４×１０２５の各値を有するテーブルが作成される。
【０１０６】
補正位相正弦・余弦値ルックアップテーブル算出部２０１は、この補正位相正弦・余弦値ルックアップテーブル２０２を作成する度に、ＩＤＦＴ演算ルックアップテーブル算出部２０４にPhase_OK信号を出力する。ＩＤＦＴ演算ルックアップテーブル算出部２０４は、Phase_OK信号を入力すると補正位相正弦・余弦値ルックアップテーブル２０２と送出側ＩＤＦＴルックアップテーブル２０３とを用いてＩＤＦＴ演算ルックアップテーブル２０６を作成する。このとき用いられる送出側ＩＤＦＴルックアップテーブル２０３は、補正位相値＝０のときのＩＤＦＴ演算に用いられるルックアップテーブルで、このテーブル内に記載された各値は固定値である。
【０１０７】
ＩＤＦＴ演算ルックアップテーブル算出部２０４は、補正位相正弦・余弦値ルックアップテーブル算出部２０１からA_INT信号が入力された場合はサンプル数が１０２４×１０２５のＩＤＦＴ演算ルックアップテーブル２０６を作成し、補正位相正弦・余弦値ルックアップテーブル算出部２０１からM_INT信号が入力された場合はサンプル数が１０２４×１０２３のＩＤＦＴ演算ルックアップテーブル２０６を作成する。
【０１０８】
また、ＩＤＦＴ演算ルックアップテーブル算出部２０４には、補正位相正弦・余弦値ルックアップテーブル算出部２０１からA_INT 信号、あるいはM_INT 信号が入力されるときには、当該補正位相正弦・余弦値ルックアップテーブル算出部２０１からデータSEND_IDFT_ADR が入力される。ＩＤＦＴ演算ルックアップテーブル算出部２０４は、このデータSEND_IDFT_ADR に基づいて送出側ＩＤＦＴルックアップテーブル２０３の参照順序を変更してＩＤＦＴ演算ルックアップテーブル２０６を作成する。
【０１０９】
更に、ＩＤＦＴ演算ルックアップテーブル算出部２０４は、ＩＤＦＴ演算ルックアップテーブル２０６の完成後、ＩＤＦＴ演算処理部２０７にIDFT_OK 信号を出力する。IDFT_OK 信号を入力したＩＤＦＴ演算処理部２０７は、ＦＦＴ演算結果蓄積部２０５からＦＦＴ演算結果のデータfft_resultを取得し、このデータfft_resultとＩＤＦＴ演算ルックアップテーブル２０６に記述された内容とを用いてＩＤＦＴ演算を行い、１０２４サンプルの演算結果を求めてデータ蓄積部１８４へ出力する。また、ＩＤＦＴ演算ルックアップテーブル算出部２０４は、サンプル数１０２３のＩＤＦＴ演算ルックアップテーブル２０６を作成した場合にはI_INT0信号をＩＤＦＴ演算処理部２０７へ出力し、サンプル数１０２５のＩＤＦＴルックアップテーブル２０６を作成した場合にはI_INT1信号をＩＤＦＴ演算処理部２０７へ出力する。なお、サンプル数１０２４のＩＤＦＴルックアップテーブル２０６を作成した場合はI_INT0信号、I_INT1信号のいずれも出力しない。
【０１１０】
次に補正位相正弦・余弦値ルックアップテーブル算出部２０１の動作を詳細に説明する。
図２２は、実施の形態２によるデジタル放送受信機の補正位相正弦・余弦値ルックアップテーブル算出部の動作を示すフローチャートである。図２２−１及び図２２−２に示したフローチャートは、図２０に示した補正位相正弦・余弦値ルックアップテーブル算出部２０１の動作を示すものである。補正位相正弦・余弦値ルックアップテーブル算出部２０１は、位相補正制御部１８５から補正位相値を示す補正位相データθを入力し、位相値αとして補正位相データθを設定する（ステップＳＴ３０１）。次に、設定する補正位相正弦・余弦値ルックアップテーブルのアドレス、即ちデータLUT_ADR の初期値をLUTアドレスに設定する（ステップＳＴ３０２）。ここで、LUT アドレスの初期値とは、データLUT(0,0)の値を書き込むアドレスを指し、データLUT（M,N）のLUTアドレスは、LUTアドレス＝LUT アドレス初期値＋１０２４×（M-1）＋N-1となる。
【０１１１】
次に、位相補正制御部１８５からアクティブを示すP_INT 信号が入力されているか否かを判定する（ステップＳＴ３０３）。アクティブを示すP_INT 信号が入力されている場合は、ステップＳＴ３０４に移行し、入力されていない場合はステップＳＴ３０８に移行する。ステップＳＴ３０４では、現在のLUT アドレスをデータSEND_IDFT_ADR としてSEND_IDFT_ADR レジスタに格納する。次に、補正位相データθの示す位相値が正か否かを判定する（ステップＳＴ３０５）。補正位相データθの示す位相値が正である場合はステップＳＴ３０７に移行し、補正位相データθの位相値が正ではない場合はステップＳＴ３０６に移行する。ステップＳＴ３０６ではA_INT 信号をＩＤＦＴ演算ルックアップテーブル算出部２０４に通知し、そのとき、合わせてSEND_IDFT_ADR レジスタに格納されているデータSEND_IDFT_ADR 、即ちLUT アドレスを通知してステップＳＴ３０８に移行する。
【０１１２】
ステップＳＴ３０５において、補正位相データθが正の値ではないと判定したときは、M_INT 信号をＩＤＦＴ演算ルックアップテーブル算出部２０４へ出力し、そのとき、合わせてSEND_IDFT_ADR レジスタに格納されているLUT アドレスを通知し（ステップＳＴ３０７）、その後ステップＳＴ３０８に移行する。次に、位相値αから正弦sin α、余弦cos αの各値を算出し（ステップＳＴ３０８）、補正位相正弦・余弦値ルックアップテーブル２０２に、データLUT(M,N)として正弦sin α、余弦cos αの各値を書き込む（ステップＳＴ３０９）。次に、位相値αに補正位相データθの値を加算し、この値で位相値αを更新する（ステップＳＴ３１０）。次に、Ｍレジスタの値が１０２３未満か否かを判定する（ステップＳＴ３１１）。Ｍレジスタの値が１０２３未満の場合はステップＳＴ３１６に移行し、Ｍレジスタの値が１０２３未満ではない場合はステップＳＴ３１２に移行する。
【０１１３】
ステップＳＴ３１６では、Ｍレジスタの値に１を加算し、この値でＭレジスタの値を更新し、その後ステップＳＴ３０２に戻り、以降の過程を繰り返す。ステップＳＴ３１２では、Ｍレジスタの値をクリアする。次に、アクティブを示すREADY 信号をセットし（ステップＳＴ３１３）、当該READY 信号を位相補正制御部１８５へ出力する。なお、READY 信号は、初期状態でアクティブを示すようにセットされており、位相値αに補間位相値を示す補正位相データθがセットされたときに自動解除される。
【０１１４】
次に、Ｎレジスタの値が１０２５か否かを判定する（ステップＳＴ３１４）。Ｎレジスタの値が１０２５である場合はステップＳＴ３１７に移行し、Ｎレジスタの値が１０２５ではない場合はステップＳＴ３１５に移行する。ステップＳＴ３１５では、Ｎレジスタの値に１を加算し、この値をＮレジスタの値として更新し、ステップＳＴ３０１に戻って以降の過程を繰り返す。また、ステップＳＴ３１７では、Phase_OK信号をＩＤＦＴ演算ルックアップテーブル算出部２０４に出力し、ステップＳＴ３１８に移行する。次に、Ｎレジスタの値をクリアし（ステップＳＴ３１８）、ステップＳＴ３０１に戻って以降の過程を繰り返す。
【０１１５】
次にＩＤＦＴ演算ルックアップテーブル算出部２０４の動作を詳細に説明する。
図２３は、実施の形態２によるデジタル放送受信機のＩＤＦＴ演算ルックアップテーブル算出部の動作を示すフローチャートである。図２３−１、図２３−２、及び図２３−３のフローチャートに示したものは、図２０に示したＩＤＦＴ演算ルックアップテーブル算出部２０４の動作である。ＩＤＦＴ演算ルックアップテーブル算出部２０４は、補正位相正弦・余弦値ルックアップテーブル算出部２０１から出力されるPhase_OK信号が入力された場合はステップＳＴ４０２に移行する。Phase_OK信号が入力されない場合はステップＳＴ４０１を繰り返し、Phase_OK信号が入力されるまで待機する。
【０１１６】
ステップＳＴ４０２では、補正位相正弦・余弦値ルックアップテーブル算出部２０１からM_INT信号が入力されたか否かを判定する。M_INT 信号が入力された場合はステップＳＴ４０３に移行し、M_INT 信号が入力されていない場合はステップＳＴ４２２に移行する。ステップＳＴ４２２では、補正位相正弦・余弦値ルックアップテーブル算出部２０１からA_INT 信号が入力されたか否かを判定する。A_INT 信号が入力された場合にはステップＳＴ４２３に移行し、A_INT 信号が入力されていない場合にはステップＳＴ４４２に移行する。
【０１１７】
ステップＳＴ４０３では、I_INT0信号をＩＤＦＴ演算処理部２０７へ出力する。次に、補正位相正弦・余弦値ルックアップテーブル算出部２０１から通知されたデータSEND_IDFT_ADR の示す値が、Ｎレジスタの値以上か否かを判定する（ステップＳＴ４０４）。データSEND_IDFT_ADR の示す値が、Ｎレジスタの値未満のときには、ステップＳＴ４０５に移行し、Ｎレジスタの値がデータSEND_IDFT_ADR の値以上の場合にはステップＳＴ４１３に移行する。ステップＳＴ４０５では、補正位相正弦・余弦値ルックアップテーブル２０２からデータLUT(M,N)を読み出す。次に、送出側ＩＤＦＴルックアップテーブル２０３から送出側ＩＤＦＴデータ（M,N)を読み出す。次に、各テーブルから読み出したデータ値よりＩＤＦＴ演算ルックアップテーブル２０６に記述する値を算出する（ステップＳＴ４０７）。次に、ＩＤＦＴ演算ルックアップテーブル２０６に算出値をデータ（M,N)として書き込む（ステップＳＴ４０８）。その後、Ｍレジスタの値が１０２３であるか否かを判定する（ステップＳＴ４１０）。Ｍレジスタの値が１０２３である場合はステップＳＴ４１１に移行し、Ｍレジスタの値が１０２３ではない場合は、ステップＳＴ４０９に移行する。ステップＳＴ４０９では、Ｍレジスタの値に１を加算し、この値をＭレジスタの値として更新し、ステップＳＴ４０４に戻って以降の過程を繰り返す。また、ステップＳＴ４１１では、Ｍレジスタの値をクリアする。次に、Ｎレジスタの値に１を加算し、この値をＮレジスタの値としてインクリメントし、Ｎレジスタの値を更新し（ステップＳＴ４１２）、ステップＳＴ４０４に戻って以降の過程を繰り返す。
【０１１８】
また、ステップＳＴ４０４において、Ｎレジスタの値がデータSEND_IDFT_ADR の値以上であると判定された場合には、補正位相値が２πを超えているとみなし、補正位相正弦・余弦値ルックアップテーブル２０２からデータLUT(M,N)を読み出し（ステップＳＴ４１３）、この処理においてサンプリング数を一つ間引くため送出側ＩＤＦＴルックアップテーブル２０３から送出側ＩＤＦＴデータ(M,N＋1)を読み出す（ステップＳＴ４１４）。その後、ステップＳＴ４１５では、ＩＤＦＴ演算ルックアップテーブル２０６に記述する値を算出し、ステップＳＴ４１６でＩＤＦＴ演算ルックアップテーブル２０６へデータ（M,N)として算出値を書き込む。その後、Ｍレジスタの値が１０２３であるか否かを判定し（ステップＳＴ４１７）、Ｍレジスタの値が１０２３である場合はステップＳＴ４１９に移行し、Ｍレジスタの値が１０２３ではない場合は、ステップＳＴ４１８に移行する。
【０１１９】
ステップＳＴ４１８では、Ｍレジスタの値に１を加算し、Ｍレジスタの値をインクリメントして更新し、ステップＳＴ４０４に戻って以降の過程を繰り返す。また、ステップＳＴ４１９では、Ｍレジスタの値をクリアする。次に、Ｎレジスタの値が１０２２であるか否かを判定する（ステップＳＴ４２０）。Ｎレジスタの値が１０２２である場合はステップＳＴ４５１に移行し、Ｎレジスタの値が１０２２ではない場合にはステップＳＴ４２１に移行する。ステップＳＴ４２１ではＮレジスタの値に１を加算してＮレジスタの値をインクリメントして更新し、ステップＳＴ４０４へ戻って以降の過程を繰り返す。
【０１２０】
前述のように、ステップＳＴ４２２において補正位相正弦・余弦値ルックアップテーブル算出部２０１からA_INT 信号が入力されたと判定した場合には、I_INT1 信号をＩＤＦＴ演算処理部２０７に出力し（ステップＳＴ４２３）、その後、前述のステップＳＴ４０４と同様に、補正位相正弦・余弦値ルックアップテーブル算出部２０１から通知されたデータSEND_IDFT_ADR の示す値が、Ｎレジスタの値以上か否かを判定する（ステップＳＴ４２４）。データSEND_IDFT_ADR の示す値が、Ｎレジスタの値未満のときには、ステップＳＴ４２５に移行し、Ｎレジスタの値がデータSEND_IDFT_ADRの値以上の場合にはステップＳＴ４３３に移行する。図２３−２に示したステップＳＴ４２５〜ステップＳＴ４３２の過程は、図２３−１に示したステップＳＴ４０５〜ステップＳＴ４１２の過程と同様に処理され、ステップＳＴ４２４に戻る。ここでは、ステップＳＴ４２５〜ステップＳＴ４３２の過程において行われる処理動作の説明を省略する。
【０１２１】
ステップＳＴ４２３において、Ｎレジスタの値がデータSEND_IDFT_ADR の値以上であると判定した場合は、補正位相値が−２π以下になっているとみなし、補正位相正弦・余弦値ルックアップテーブル２０２からデータLUT(M,N)を読み出し（ステップＳＴ４３３）、この処理においてサンプリング数を一つ補間するため送出側ＩＤＦＴルックアップテーブル２０３から送出側ＩＤＦＴデータ(M,N−1)を読み出す（ステップＳＴ４３４）。この後、ＩＤＦＴ演算ルックアップテーブル２０６に記述する値を算出し（ステップＳＴ４３５）、この算出した値をＩＤＦＴ演算ルックアップテーブル２０６へデータ（M,N)として書き込む（ステップＳＴ４３６）。その後、Ｍレジスタの値が１０２３であるか否かを判定し（ステップＳＴ４３７）、Ｍレジスタの値が１０２３である場合はステップＳＴ４３９に移行し、Ｍレジスタの値が１０２３ではない場合はステップＳＴ４３８に移行する。
【０１２２】
ステップＳＴ４３８では、Ｍレジスタの値に１を加算し、Ｍレジスタの値をインクリメントして更新し、ステップＳＴ４２４に戻って以降の過程を繰り返す。また、ステップＳＴ４３９では、Ｍレジスタの値をクリアする。次に、Ｎレジスタの値が１０２４であるか否かを判定する（ステップＳＴ４４０）。Ｎレジスタの値が１０２４である場合はステップＳＴ４５１に移行し、Ｎレジスタの値が１０２４ではない場合にはステップＳＴ４４１に移行する。ステップＳＴ４４１ではＮレジスタの値に１を加算してＮレジスタの値をインクリメントして更新し、ステップＳＴ４２４へ戻って以降の過程を繰り返す。
【０１２３】
また、ステップＳＴ４２２において、A_INT信号を入力していないと判定した場合は、補正位相正弦・余弦値ルックアップテーブル２０２からデータLUT(M,N)を読み出す（ステップＳＴ４４２）。次に、送出側ＩＤＦＴルックアップテーブル２０３から送出側ＩＤＦＴデータ（M,N)を読み出す（ステップＳＴ４４３）。次に、前述のステップＳＴ４０７と同様にＩＤＦＴ演算ルックアップテーブルに記述する値を算出する（ステップＳＴ４４４）。次に、ＩＤＦＴ演算ルックアップテーブル２０６に算出した値をデータ（M,N)として書き込む（ステップＳＴ４４５）。その後、Ｍレジスタの値が１０２３であるか否かを判定する（ステップＳＴ４４６）。Ｍレジスタの値が１０２３である場合はステップＳＴ４４８に移行し、Ｍレジスタの値が１０２３ではない場合は、ステップＳＴ４４７に移行する。ステップＳＴ４４７では、Ｍレジスタの値に１を加算し、この値をＭレジスタの値として更新し、ステップＳＴ４４２に戻って以降の過程を繰り返す。また、ステップＳＴ４４８では、Ｍレジスタの値をクリアする。
【０１２４】
次に、Ｎレジスタの値が１０２３であるか否かを判定する（ステップＳＴ４４９）。Ｎレジスタの値が１０２３ではないと判定した場合は、Ｎレジスタの値に１を加算し、この値をＮレジスタの値としてインクリメントし、Ｎレジスタの値を更新して（ステップＳＴ４５０）、ステップＳＴ４４２に戻って以降の過程を繰り返す。また、Ｎレジスタの値が１０２３であると判定した場合は、Ｎレジスタの値をクリアし（ステップＳＴ４５１）、IDFT_OK 信号をＩＤＦＴ演算処理部２０７へ出力する。この後、ステップＳＴ４０１へ戻って以降の過程を繰り返す。
【０１２５】
前述のステップＳＴ４５２において、ＩＤＦＴ演算ルックアップテーブル２０４からIDFT_OK 信号が出力されると、ＩＤＦＴ演算処理部２０７は、ＦＦＴ演算結果蓄積部２０５に蓄積されている１フレーム分のデータfft_resultについてＩＤＦＴルックアップテーブル２０６を参照してＩＤＦＴ演算を開始し、I_INT0信号を入力した場合には１０２３サンプル、I_INT1信号を入力した場合には１１０２５サンプル、どちらの信号も入力しない場合には１０２４サンプルの補正されたＰＣＭデータを算出し、これを図１８に示したデータ蓄積部１８４へ出力する。この後、データ蓄積部１８４に蓄積されたサンプリングデータは、前述のようにオーディオ補正データadata’としてＰＣＭデータ補正部９から出力される。以降の動作は、実施の形態１で説明したデジタル放送受信機と同様である。
【０１２６】
以上のように、実施の形態２によれば、ＰＣＭデータ補正部９を、ＰＣＭデータのＦＦＴ演算を行うＦＦＴ演算部１８２と、周波数誤差データδｆに基づいて補正位相データθを求め、位相補正／ＩＤＦＴ演算部１８３の位相補正動作を制御する位相補正制御部１８５と、補正位相データθに基づいて補正するサンプル数を求め、当該サンプル数のＰＣＭ補正データを求めるようにＩＤＦＴ演算を行う位相補正／ＩＤＦＴ演算部１８３とを備えて構成したので、送出系システム側のサンプリングデータ（ＰＣＭデータ）をあたかも受信機側のサンプリングクロックでサンプリングしたようなサンプリングデータに補正することができ、オーディオバッファのオーバーフローあるいはアンダーフローを防ぎ、オーディオデータを再生したときの異音の発生を防ぐことができるという効果がある。
【図面の簡単な説明】
【０１２７】
【図１】この発明の実施の形態１によるデジタル放送受信機の構成を示すブロック図である。
【図２】実施の形態１によるデジタル放送受信機のトランスポートデコーダの構成を示すブロック図である。
【図３】実施の形態１によるデジタル放送受信機のＰＩＤフィルタ部の構成を示すブロック図である。
【図４】ＴＳヘッダ及びＰＥＳヘッダの構成を示す説明図である。
【図５】ＰＣＲの構成を示す説明図である。
【図６】実施の形態１によるデジタル放送受信機のトランスポートデコーダから出力されるＰＣＲのタイミングチャートである。
【図７】実施の形態１によるデジタル放送受信機のＰＣＲ比較部の構成を示すブロック図である。
【図８】実施の形態１によるデジタル放送受信機のＰＣＲ比較部の動作を示すタイミングチャートである。
【図９】実施の形態１によるデジタル放送受信機のレジスタに格納されるデータのビットアサインを示す説明図である。
【図１０】実施の形態１によるデジタル放送受信機のカウンタの構成を示すブロック図である。
【図１１】実施の形態１によるデジタル放送受信機のカウンタ誤差検出部の構成を示すブロック図である。
【図１２】実施の形態１によるデジタル放送受信機のビデオ／オーディオ出力タイミング補正部の構成を示すブロック図である。
【図１３−１】実施の形態１によるデジタル放送受信機のビデオ／オーディオ出力タイミング補正部の動作を示すタイミングチャートである。
【図１３−２】実施の形態１によるデジタル放送受信機のビデオ／オーディオ出力タイミング補正部の動作を示すタイミングチャートである。
【図１４】実施の形態１によるデジタル放送受信機のＰＣＭデータ補正部の構成を示すブロック図である。
【図１５−１】実施の形態１によるデジタル放送受信機のアップサンプリング部により処理されたＰＣＭデータを示す説明図である。
【図１５−２】実施の形態１によるデジタル放送受信機のアップサンプリング部により処理されたＰＣＭデータを示す説明図である。
【図１６−１】実施の形態１によるデジタル放送受信機のローパスフィルタにより処理されたＰＣＭデータを示す説明図である。
【図１６−２】実施の形態１によるデジタル放送受信機のローパスフィルタにより処理されたＰＣＭデータを示す説明図である。
【図１７−１】実施の形態１によるデジタル放送受信機の補間データテンポラリバッファ読み出し制御部の動作を示すフローチャートである。
【図１７−２】実施の形態１によるデジタル放送受信機の補間データテンポラリバッファ読み出し制御部の動作を示すフローチャートである。
【図１８】この発明の実施の形態２によるデジタル放送受信機のＰＣＭデータ補正部の構成を示すブロック図である。
【図１９−１】実施の形態２によるデジタル放送受信機の位相補正制御部の動作を示すフローチャートである。
【図１９−２】実施の形態２によるデジタル放送受信機の位相補正制御部の動作を示すフローチャートである。
【図２０】実施の形態２によるデジタル放送受信機の位相補正／ＩＤＦＴ演算部の構成を示すブロック図である。
【図２１】実施の形態２によるデジタル放送受信機の補正位相正弦・余弦値ルックアップテーブル算出部により作成される補正位相正弦・余弦値ルックアップテーブルを示す説明図である。
【図２２−１】実施の形態２によるデジタル放送受信機の補正位相正弦・余弦値ルックアップテーブル算出部の動作を示すフローチャートである。
【図２２−２】実施の形態２によるデジタル放送受信機の補正位相正弦・余弦値ルックアップテーブル算出部の動作を示すフローチャートである。
【図２３−１】実施の形態２によるデジタル放送受信機のＩＤＦＴ演算ルックアップテーブル算出部の動作を示すフローチャートである。
【図２３−２】実施の形態２によるデジタル放送受信機のＩＤＦＴ演算ルックアップテーブル算出部の動作を示すフローチャートである。
【図２３−３】実施の形態２によるデジタル放送受信機のＩＤＦＴ演算ルックアップテーブル算出部の動作を示すフローチャートである。
【符号の説明】
【０１２８】
１  チューナ、２  ＯＦＤＭ復調部、３  トランスポートデコーダ、４  発振器、５  ＰＣＲ比較部（ＰＣＲ比較手段）、６  ビデオデコーダ、７  オーディオデコーダ、８  出力データ制御部（ビデオバッファ）、９  ＰＣＭデータ補正部（ＰＣＭデータ補正手段）、１０  ビデオ／オーディオ出力タイミング補正部（出力タイミング補正手段）、１１  出力データ制御部（オーディオバッファ）、１２,１３  Ｄ／Ａコンバータ、１４  ＡＶデコーダ、１５  アンテナ、２１  ＰＩＤフィルタ部、２２  ＰＳＩ解析部、２３  コンテンツデータバッファ、３１  ＴＳヘッダ解析／デコード部、３２〜３４  ＰＥＳパケット抽出部、７１  Local_CNTカウンタ、７２  Local_REG_Aレジスタ（カウント値レジスタ）、７３  Local_REG_Bレジスタ（カウント値レジスタ）、７４  PCR_REG_Aレジスタ（ＰＣＲ値レジスタ）、７５  PCR_REG_Bレジスタ（ＰＣＲ値レジスタ）、７６  カウンタ誤差検出部（誤差検出手段）、７７  シフトレジスタ、７８  平均化処理部、７９  δf算出部（周波数誤差データ演算手段）、８０  シフトレジスタ、８１  平均化処理部、９１  ３００カウンタ、９２  Local_baseカウンタ、９３  フリップフロップ、１０１〜１０６  減算器、１２１  V_PTS_REG_Aレジスタ（ビデオデータＰＴＳ値レジスタ）、１２２  V_PTS_REG_Bレジスタ（ビデオデータＰＴＳ値レジスタ）、１２３  減算器、１２４  乗算器、１２５  V_δPTS_ALLレジスタ、１２６  加算器、１２７  PCM_correct_timeレジスタ、１２８  加算器、１２９  比較器、１３０〜１３３  セレクタ、１３４  A_PTS_REG_Aレジスタ（オーディオデータＰＴＳ値レジスタ）、１３５  A_PTS_REG_Bレジスタ（オーディオデータＰＴＳ値レジスタ）、１３６  減算器、１３７  乗算器、１３８  加算器、１３９  比較器、１４０〜１４２  フリップフロップ、１５１  アップサンプリング部（アップサンプリング手段）、１５２  ローパスフィルタ、１５３  補間データテンポラリバッファ（データバッファ）、１５４  補間データテンポラリバッファ読み出し制御部（データバッファ読み出し制御手段）、１５５  データ蓄積メモリ、１８１  データ蓄積部、１８２  ＦＦＴ演算部（ＦＦＴ演算手段）、１８３  位相補正／ＩＤＦＴ演算部（位相補正演算手段）、１８４  データ蓄積部、１８５  位相補正制御部（位相補正制御手段）、２０１  補正位相正弦・余弦値ルックアップテーブル算出部、２０２  補正位相正弦・余弦値ルックアップテーブル、２０３  送出側ＩＤＦＴルックアップテーブル、２０４  ＩＤＦＴ演算ルックアップテーブル算出部、２０５  ＦＦＴ演算結果蓄積部、２０６  ＩＤＦＴルックアップテーブル、２０７  ＩＤＦＴ演算処理部。
【図１】
2005311522.tif 000003
【図２】
2005311522.tif 000004
【図３】
2005311522.tif 000005
【図４】
2005311522.tif 000006
【図５】
2005311522.tif 000007
【図６】
2005311522.tif 000008
【図７】
2005311522.tif 000009
【図８】
2005311522.tif 000010
【図９】
2005311522.tif 000011
【図１０】
2005311522.tif 000012
【図１１】
2005311522.tif 000013
【図１２】
2005311522.tif 000014
【図１３−１】
2005311522.tif 000015
【図１３−２】
2005311522.tif 000016
【図１４】
2005311522.tif 000017
【図１５−１】
2005311522.tif 000018
【図１５−２】
2005311522.tif 000019
【図１６−１】
2005311522.tif 000020
【図１６−２】
2005311522.tif 000021
【図１７−１】
2005311522.tif 000022
【図１７−２】
2005311522.tif 000023
【図１８】
2005311522.tif 000024
【図１９−１】
2005311522.tif 000025
【図１９−２】
2005311522.tif 000026
【図２０】
2005311522.tif 000027
【図２１】
2005311522.tif 000028
【図２２−１】
2005311522.tif 000029
【図２２−２】
2005311522.tif 000030
【図２３−１】
2005311522.tif 000031
【図２３−２】
2005311522.tif 000032
【図２３−３】
2005311522.tif 000033