(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-03
(45)【発行日】2024-09-11
(54)【発明の名称】ISDB-T変調器およびその時間インターリーブ処理方法
(51)【国際特許分類】
H04L 27/26 20060101AFI20240904BHJP
H03M 13/27 20060101ALI20240904BHJP
【FI】
H04L27/26 310
H03M13/27
(21)【出願番号】P 2022165700
(22)【出願日】2022-10-14
【審査請求日】2024-01-22
【早期審査対象出願】
(73)【特許権者】
【識別番号】502340756
【氏名又は名称】ヒロテック株式会社
(74)【代理人】
【識別番号】100098350
【氏名又は名称】山野 睦彦
(72)【発明者】
【氏名】栗須 基弘
(72)【発明者】
【氏名】栗須 顕人
【審査官】鉢呂 健
(56)【参考文献】
【文献】国際公開第2018/008427(WO,A1)
【文献】米国特許出願公開第2011/0280327(US,A1)
【文献】特開2011-114469(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 27/00-27/38
H03M 13/27
(57)【特許請求の範囲】
【請求項1】
集積回路として構成されたISDB-T変調器であって、
入力データに対してキャリア変調を行うキャリア変調部と、
前記キャリア変調部によりキャリア変調されたキャリアデータを保存する受信キャリアバッファと、
前記受信キャリアバッファ内のキャリアデータをホスト装置へ転送するとともに、前記ホスト装置で時間インターリーブ処理されたキャリアデータを受信する入出力処理部と、
前記入出力処理部で受信された時間インターリーブ処理後のキャリアデータを保存する送信キャリアバッファと、
前記送信キャリアバッファに保存されたキャリアデータに周波数インターリーブ処理およびOFDMフレーム構成処理およびIFFT処理を施しISDB-Tの信号として出力する処理部とを備え
、
前記入出力処理部は、前記受信キャリアバッファに1シンボル分のキャリアデータが蓄積されると前記ホスト装置へ割込み信号を発生し、
前記ホスト装置において、そのCPUが前記割込み信号に応じて所定のプログラムを実行することにより時間インターリーブ処理が行われる
ISDB-T変調器。
【請求項2】
前記受信キャリアバッファと前記送信キャリアバッファは各々、少なくとも1シンボルに対応する本数のキャリアデータを保存する請求項1に記載のISDB-T変調器。
【請求項3】
前記入出力処理部は、前記受信キャリアバッファに1シンボル分のキャリアデータが蓄積されると前記ホスト装置へ当該キャリアデータを転送する請求項1に記載のISDB-T変調器。
【請求項4】
前記ホスト装置へ転送されるキャリアデータには対応するシンボル番号が付与される請求項
3記載のISDB-T変調器。
【請求項5】
集積回路として構成されたISDB-T変調器の時間インターリーブ処理方法であって、
キャリア変調されたキャリアデータを受信キャリアバッファに保存するステップと、
前記受信キャリアバッファに1シンボル分のキャリアデータが蓄積されると外部のホスト装置へ割込み信号を発生するとともに、前記受信キャリアバッファ内のキャリアデータを
前記ホスト装置へ転送するステップと、
前記ホスト装置で時間インターリーブ処理されたキャリアデータを受信するステップと、
前記受信された時間インターリーブ処理後のキャリアデータを送信キャリアバッファに保存するステップとを備え
、
前記ホスト装置において、そのCPUが前記割込み信号に応じて所定のプログラムを実行することにより時間インターリーブ処理が行われる
ISDB-T変調器の時間インターリーブ処理方法。
【請求項6】
前記ホスト装置は、前記時間インターリーブ処理において、
(シンボル数×キャリア本数)の2次元配列をメインメモリに確保した後、シンボルごとにそのシンボルのキャリア本数分のキャリアデータを当該シンボルの時間インターリーブの遅延数だけシンボル軸方向にオフセットして書き込み、その後、シンボル位置ごとに当該シンボル位置に書き込まれた前記キャリア本数分のキャリアデータを連続して読み出し、前記ISDB-T変調器へ返送する
請求項
5に記載の時間インターリーブ処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ISDB-T変調器およびその時間インターリーブ処理方法に関する。
【背景技術】
【0002】
近年、地上デジタル放送用統合デジタル放送サービス(ISDB-T)のためのISDB-T方式の変調器ICが市場に投入されている。
【0003】
この変調器ICは、USBインタフェース等の入出力インタフェースを介して、複数のTS、すなわち、ビデオ・オーディオデータおよびSI情報(PATやPMTなど)を一時的なメモリ(バッファ)に蓄え、各々に再生レートを付加して時間的なTSストリームとして再生し最終的に多重化して一つのストリームにしたのち、ISDB-T変調を施し、DAC(デジタルアナログ変換器)を用いてIQ信号を生成する。その際、時間インターリーブに対応するために1Mバイト程度のSRAM(Static Random Access Memory)を用いるのが一般的であった。しかし、SRAMは単位容量当たりのコストが高いという問題があった。
【0004】
これに対して、比較的低コストのSDRAM(Synchronous DRAM)、例えばDDR3(Double Data Rate 3)等を使用することも考えられる(例えば、特許文献1参照)。
【0005】
特許文献2にも時間インターリーブ用外部メモリを用いて時間インターリーブを行う方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2008-244807号公報
【文献】特開2003-60610号公報
【非特許文献】
【0007】
【文献】社団法人電波産業会「地上デジタルテレビジョン方式の伝送方式」の標準規格ARIB STD-B31 2.0版
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、変調器ICの外部メモリとして、SRAMより低コストのSDRAM(例えばDDR3)を用いると回路が複雑となり、設計時のコストが跳ね上がるという問題があった。
【0009】
また、日本方式の場合、変調キャリアに対して非常に長い時間インターリーブを用いることにより、米国やヨーロッパ方式に比べて高い信号品質を維持している。すなわち、耐ノイズ特性を格段に改善している。しかし、この機能を実現するには、大容量の遅延メモリが必要になる。例えば1CH変調あたり最低474キロバイトが必要であり、多チャンネルになるとその倍数でメモリが必要となるため、なおさらである。
【0010】
「地上デジタルテレビジョン方式の伝送方式」の標準規格はARIB STD-B31(非特許文献1)にまとめられている。変調器ICはこの規格に準拠するとメモリ付のICとなるが、上記のとおり、そのメモリは大容量のものとなる。そのため従来、時間インターリーブ機能を実装しない製品、あるいは、コスト競争力は落ちるがメモリ付のマルチレイヤー構造のチップを用いた製品、の2種類が主流となった。
【0011】
本発明はこのような背景においてなされたものであり、その目的は、特にICとしてのISDB-T変調器においてやっかいな時間インターリーブ機能に対応するとともに、時間インターリーブ用の外部メモリを不要とするISDB-T変調器およびその時間インターリーブ処理方法を提供しようとするものである。
【課題を解決するための手段】
【0012】
本発明によるISDB-T変調器は、入力データに対してキャリア変調を行うキャリア変調部と、前記キャリア変調部によりキャリア変調されたキャリアデータを保存する受信キャリアバッファと、前記受信キャリアバッファ内のキャリアデータをホスト装置へ転送するとともに、前記ホスト装置で時間インターリーブ処理されたキャリアデータを受信する入出力処理部と、前記入出力処理部で受信された時間インターリーブ処理後のキャリアデータを保存する送信キャリアバッファと、前記送信キャリアバッファに保存されたキャリアデータに周波数インターリーブ処理およびOFDMフレーム構成処理およびIFFT処理を施しISDB-Tの信号として出力する処理部とを備えるものである。この構成によれば、外部のホスト装置により時間インターリーブ処理が実行され、ISDB-T変調器自体は、その実行結果を利用することにより、自身は時間インターリーブ処理を行う必要がなくなる。その結果として、ISDB-T変調器に時間インターリーブ用のメモリが不要となる。
【0013】
本発明の一態様として、前記ホスト装置は、そのCPUが所定のプログラムを実行することにより時間インターリーブ処理を行う。
【0014】
本発明の他の態様として、前記受信キャリアバッファと前記送信キャリアバッファは各々、少なくとも1シンボルに対応する本数のキャリアデータを保存する。
【0015】
本発明の他の態様として、前記入出力処理部は、前記受信キャリアバッファに1シンボル分のキャリアデータが蓄積されると前記ホスト装置へ当該キャリアデータを転送する。
【0016】
本発明の他の態様として、前記ホスト装置へ転送されるキャリアデータには対応するシンボル番号が付与される。
【0017】
本発明の他の態様として、前記入出力処理部は、前記受信キャリアバッファに1シンボル分のキャリアデータが蓄積されると前記ホスト装置へ割込み信号を発生する。
【0018】
本発明の他の態様として、ISDB-T変調器は集積回路として構成される。
【0019】
本発明によるISDB-T変調器の時間インターリーブ処理方法は、キャリア変調されたキャリアデータを受信キャリアバッファに保存するステップと、前記受信キャリアバッファ内のキャリアデータをホスト装置へ転送するステップと、前記ホスト装置で時間インターリーブ処理されたキャリアデータを受信するステップと、前記受信された時間インターリーブ処理後のキャリアデータを送信キャリアバッファに保存するステップとを備える。
【0020】
このISDB-T変調器の時間インターリーブ処理方法の一態様として、前記ホスト装置は、前記時間インターリーブ処理において、(シンボル数×キャリア本数)の2次元配列をメインメモリに確保した後、シンボルごとにそのシンボルのキャリア本数分のキャリアデータを当該シンボルの時間インターリーブの遅延数だけシンボル軸方向にオフセットして書き込み、その後、シンボル位置ごとにシンボル位置に書き込まれた前記キャリア本数分のキャリアデータを連続して読み出し、前記ISDB-T変調器へ返送する。
【発明の効果】
【0021】
本発明によれば、ISDB-T変調器においてやっかいな時間インターリーブ機能に対応するとともに、時間インターリーブ用の外部メモリを不要とすることができる。これにより比較的低コストのISDB-T変調器を提供することが可能となる。
【図面の簡単な説明】
【0022】
【
図1】本発明の実施形態によるISDB-T変調器の構成例を表したブロック図である。
【
図2】本発明の実施形態における受信キャリアバッファおよび送信キャリアバッファの必要なサイズのメモリ空間を模式的に示すフォーマット図である。
【
図3】本発明の実施形態のISDB-T変調器の応用例の2例を示すブロック図である。
【
図4】規格上での時間インターリーブ処理の説明図である。
【
図5】遅延数10の場合の書き込みと読み出しの遷移状態を示した図である。
【
図6】本発明の実施形態による時間インターリーブ処理の説明図である。
【
図7】本発明の実施形態における時間インターリーブ処理のためのISDB-T変調器の入出力処理部とホスト装置との間のやりとりの一例を表したシーケンス図である。
【
図8】本発明の実施形態における、ホスト装置による時間インターリーブ処理の具体的な処理フローの一例を示すフローチャートである。
【
図9】本発明の実施形態における時間インターリーブの遅延数を表したテーブルを示す図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態について詳細に説明する。
【0024】
図1は、本実施形態によるISDB-T変調器の構成例を表したブロック図である。このISDB-T変調器は、入出力処理部(IO処理部)11、TSバッファ12a,12b、多重化部(MUX)13a,13b、ISDB-T再多重化部14、時間インターリーブの前処理部15、受信キャリアバッファ16、送信キャリアバッファ17、周波数インターリーブ処理部21、OFDMフレーム構成部22、IFFT部(+GI付加部)23、およびDAC部24を備えている。このISDB-T変調器は、単一のICチップへの適用が可能な装置である。この構成は、基本的には従来の構成とほぼ同じであり、周知の構成要素についての詳細な説明は省略する。
【0025】
本実施形態が従来構成と異なる点は、ISDB-T変調器に内蔵される形態でも外付けされる形態でも時間インターリーブ用メモリを有していないことである。その代わりに、1シンボル4992本分の受信キャリアバッファ16および送信キャリアバッファ17とともに、ISDB-T変調器が入力データを受信したり制御のやりとりを行ったりするための入出力処理部11を備えている。この入出力処理部11は時間インターリーブ処理のためにホスト装置との間のキャリアデータやコマンド等のやりとりを行う。
【0026】
入出力処理部11としては、本例ではSDIOインタフェースを想定しているが、USB等の他の入出力インタフェースであってもよい。
【0027】
ISDB-T変調器が生成したキャリアデータは受信キャリアバッファ16に一時的に蓄積され、1シンボル分たまるとホスト装置(ホスト側)に転送される。ホスト装置は受け取ったキャリアデータに対して自身のメモリを用いて、そのCPUのソフトウェア処理によりインターリーブ処理を行う。ここに、ソフトウェア処理とはコンピュータプログラムの実行を意味する。ホスト側のメモリから読み出されたデータは入出力処理部11経由で送信キャリアバッファ17へ転送される。すなわち、時間インターリーブ処理後のキャリアデータは所定数のシンボルの遅延の後、送信キャリアバッファ17へ転送される。このとき、読み出されたキャリアデータには当該読み出しシンボル番号の情報も付加されている。そのシンボル番号は後続のOFDMフレーム同期に必要となるものである。送信キャリアバッファ17のデータは周波数インターリーブとOFDMフレーム構成処理およびIFFT処理が施され、最終的にISDB-Tの信号として出力される。
【0028】
通常、入出力インタフェースを有するホスト装置には、例えば、MPEG2エンコードやVOIP(Voice over Internet Protocol)のRTP(Rear-time Transport Protocol)処理のために、かなり大きめのメモリを実装している。例えば、ホスト側CPUは通常512MBや1GBといった大規模メモリを有している。したがって、時間インターリーブ処理のための1MB程度のメモリは難なく確保できる。
【0029】
この実施形態におけるISDB-T変調器は多チャンネル対応である。図の例では2CHであるが、TSバッファの個数やIFFT部21の処理段数を増やすことでより多チャンネル(例えば4CHなど)に拡張可能である。勿論、単チャンネル対応であっても構わない。
【0030】
SDIOインタフェースの場合、その信号線はコマンド(IO_CMD)、クロック(IO_CLK)および4ビットデータ(IO_DAT)からなる。通信の際にはCMDラインにコマンドを載せ、CMDラインからレスポンスを受ける。データの書き込みと読み出しは4ビットのデータライン(IO_DAT)を用いる。単一バイトのアクセスにはCMD52(コマンド52)を用い、連続転送にはCMD53を用いる。本例はSDIO_CLK=50MHzであり、データはクロックの両エッジでサンプルするので、50MB/sの転送レートを想定している。
【0031】
TS0バッファ12a,12bは例えばマルチファンクションTSバッファであり、全体を一つのバッファにして用いることもできるし、分割して複数TSを生成することにも利用できる。複数TSを生成する場合は、多重化部(MUX)13a,13bで多重化する。多重化されたTSは時分割形式でISDB-T再多重化部14にて再多重化された後、放送TSとなる。すなわち、前処理部15にて、IIPパケット(ISDB-T Information Packet)の挿入と188バイト後に16バイトのリードソロモンコード(外符号)の追加がなされる。さらに階層分割、エネルギー拡散、遅延補正、バイトインターリーブ、畳み込み符号化、キャリア変調(ビットインターリーブおよびマッピング)、階層合成が行われる。
【0032】
キャリア変調後のマッピングされたデータは1CHの場合1バイトになる。また、2CHの場合2バイト、4CHの場合4バイトになる。そのキャリアデータを1シンボル期間4992ワード単位でまとめ、受信キャリアバッファ16に格納して、入出力処理部11からホスト側CPUへ割込み信号(ここではSDIO割り込み)を発生させる。
【0033】
割り込み信号を受けたホスト側CPUは4992ワードを取り込み、ソフトウェアを用いてインターリーブ処理を施す。このISDB-Tインターリーブ処理について以下に詳細に説明する。
【0034】
図2は、本実施形態における受信キャリアバッファ16および送信キャリアバッファ17の必要なサイズのメモリ空間を模式的に示すフォーマット図である。
図2内の左側に1CH時、右側に2CH時のサイズのメモリ空間を示している。必要なサイズは、1CH時には5Kバイト、2CH時には10Kバイトである。1CH時には、シンボル番号(SYMBOL_NUM[7:0])とダミー7バイトのエリアが用意され、2CH時にはシンボル番号(SYMBOL_NUM[7:0])とダミー15バイトのエリアが用意される。迅速な書き込みおよび読み出しのために、同サイズのメモリエリアを複数面設けてもよい。例えば、32Kバイトのメモリエリアを用意すれば、2CHの場合に3面構成とすることができる。
【0035】
図3に、本実施形態のISDB-T変調器の応用例を2例示す。
図3(a)はIP-RF変換装置への応用例のブロック図であり、
図3(b)はブラウザISDB-T変換装置(ブラウザ-RF変換装置)への応用例のブロック図である。
【0036】
図3(a)に示したIP-RF変換装置のホスト装置31はいわゆるSOM(SystemOnModule)であり、CPU、メインメモリ(例えばSDRAM DRR3)、フラッシュROM等の不揮発性メモリ、ネットワークに接続される通信部、入出力処理部、等により構成され、通信部を介してIPストリーム入力、より具体的にはRTP(UDP+FEC)入力を受け、入出力処理部を介して後続のISDB-T変調器30へTSストリームを出力する。また、本実施形態ではこのホスト装置31のCPUがソフトウェア処理により時間インターリーブ処理を実行する。ISDB-T変調器30から出力されるI+Qアナログ信号はRFアップコンバータ33でRF信号に変換されて出力される。なお、ソフトウエア処理のためのプログラムは例えば不揮発性メモリに格納しておくことができる。
【0037】
なお、ホスト装置31から出力されるTSには時間情報がないので、ISDB-T変調器30にアクセレレータ(図示せず)を付加し、これによりレート生成を行う。すなわち、ISDB-T変調器30にTS入力されるときに、RTPのタイムスタンプから再生レートを計算し、それをアクセレレータに設定することで時間を再生する。
【0038】
図3(b)に示したブラウザISDB-T変換装置のホスト装置32は基本的には
図3(a)に示したホスト装置31と同様に、CPU、メインメモリ(例えばSDRAM DRR3)、フラッシュROM等の不揮発性メモリ、ネットワークに接続される通信部、入出力処理部、等により構成されるが、HTMLブラウザおよびMPEG2エンコード機能を有し、CPUの能力がより高いものを要する。ホスト装置32はその入力としてHTMLコンテンツ(例えばHLSなどで記述したもの)を受けて、これをデコード(MP4/H264)して、最終的にMPEG2に変換(トランスコード)し、TSとしてISDB-T変調器30へ出力する。ISDB-T変調器30から出力されるI+Qアナログ信号はRFアップコンバータ33でRF信号に変換されて出力される。
図3(a)の場合と同様、このホスト装置32はCPUのソフトウェア処理により時間インターリーブ処理を実行する。
【0039】
ここで、本実施形態の時間インターリーブ処理を説明する前に、規格上での時間インターリーブ処理について
図4を参照しながら簡単に説明する。
【0040】
図4内の左側はインターリーブ処理前のキャリアデータの、時間インターリーブ用メモリへの書き込みをイメージし、右側は処理後のキャリアデータの読み出しをイメージしたものである。縦軸はキャリア番号に対応し、1シンボル期間に4992本のキャリアデータが発生する。各キャリアのごとの箱の中に示した番号は遅延数である。ここでの遅延とは、図の左側の書き込みが発生しても、右側での読み出しにおいては遅延分のキャリアデータを書き込んだ後でないと読み出せないことを意味する。各キャリアごとに遅延数が違うので、時間インターリーブ全体を規格の仕様書どおりに処理すると時間がかかることになる。
【0041】
図5は遅延数10の場合の書き込みと読み出しの遷移状態を示したものである。書き込みにおける遅延数が満たされるまで(状態0から状態8まで)はキャリアデータの読み出し出力ができない。初期状態0から状態8までは書き込みのみが行われ、読み出しは抑止されている。状態9で遅延数が満たされる。実際には書きこみポインターと読み出しポインターで書き込み位置と読み出し位置が管理される。書きこみポインターは初期値0、読み出しポインターも初期値0(相対アドレス)で、書きこみポインターが9をこえて、10になったとき、出力開始となる。このとき出力されるのは読み出しポインター0の位置である。この出力後、読み出しポインターはインクリメント(+1)され、次に書きこみが発生すると読み出しポインター1のデータを出力し、再度読み出しポインターをインクリメントする。ポインターは9までいくと、0に戻る。このように、状態9で遅延数が満たされたあとはシフトレジスタのような機構となる。読み出しポインターの位置の最終位置は常に把握しておく必要がある。このような処理をそのままソフトウェアで処理するとかなり複雑になる。
【0042】
次に、本実施形態におけるホスト側CPUのソフトウェア処理による時間インターリーブ処理の具体例について説明する。
【0043】
図6は本実施形態による時間インターリーブ処理の説明図である。
【0044】
この図は、横軸に0から203までの計204個のシンボルを設定し、縦軸に0から4991までの計4992本のキャリアを設定した2次元の配列(行列)を想定している。ここでは行列の横軸はcolumn、縦軸はrowで管理している。各シンボル位置ごとの4992本のキャリアのデータはキャリア番号0から順次キャリア番号4991まで順に書き込みが行われる。その際、後述するように、キャリアごとの遅延数に応じて書き込み位置が横軸(シンボル軸)方向にオフセットされる。この書き込み終了後にシンボル番号がインクリメント(+1)される。上述したように、キャリアデータを保存するメモリとしては1CHの場合は1ワードあたり1バイト、2CHの場合は2バイト、4CHの場合は4バイト単位のものを用意する。このような時間インターリーブ処理に用いられるメモリ領域は本実施形態ではホスト側のメモリで確保される。
【0045】
図6の縦軸の右端にはキャリア番号で0から4991までの各キャリアに対して順に遅延数が定義されている。枠内の数字がキャリアごとの遅延数を示している。遅延数が0であれば、キャリアデータを書き込んだのち直ちに読み出せるが、遅延数が非0値であれば、その分の遅延後に読み出せることになる。縦軸に沿ったキャリア番号iに基いて場所により遅延数が異なる。遅延数は規格に基づき次式で計算できる。Iはインターリーブの長さに関わるパラメータ(この例では2)である。
【0046】
i=0 >> I x m0 = 2 x ((ix 5) mod 96) = 0
i=1 >> I x m1 = 2 x ((ix 5) mod 96) = 10
i=2 >> I x m2 = 2 x ((i x 5) mod 96) = 20
・・・
【0047】
図6の行列領域内の黒印はキャリアごとのキャリアデータの書き込み位置を示している。すなわち、この図は、シンボル番号0の4992本のキャリアデータが、キャリアごとの遅延数を横軸オフセットにして書き込み位置が変更(図の左側へシフト)されていく様子を示している。4992本分のキャリアデータすべてを書き込むと、1シンボル期間の書き込みが完了する。このようにして書き込まれたキャリアデータは、書き込み完了後、読み出し対象のシンボル番号に対応する縦軸方向に連続した位置から、すなわち縦軸のキャリア位置0から始めて、4991まで連続的に読み出される。この読み出されるキャリアデータは、書き込み時に遅延数に応じて横軸(シンボル軸)方向にシフトされているので、読み出し時には時間インターリーブ処理が反映されたものとなっている。
【0048】
読み出し時には、シンボル位置の読み出し処理ごとにシンボル番号をインクリメント(+1)して横軸方向に移動し、同じ処理を繰り返す。最終的にシンボル番号が203まで到達すると0に戻る。そのために、オフセットとシンボル番号の加算値が204以上になった場合、演算結果から204を減じて右側に戻す。
【0049】
このように、書き込み時に位置を移動して非連続書き込みを行うとともに、読み出し時に連続読み出しを行う手法を用いると、時間インターリーブ処理を高速化できる。個々の遅延に対する位置の記録、出力タイミングなどを考慮することなく、一律に処理が可能となる。より具体的には、1シンボルあたりの書き込むための4992キャリアは1ms程度で準備され、読み出しも1ms程度の周期ではあるが、高速で読み出される。1シンボルの書き込みが終了すると、時間インターリーブ処理されたデータはすぐに読み出される。ただし、遅延数の最大が190シンボルなので、時間インターリーブ効果が表れるには、その程度の時間がかかる。
【0050】
図7に、本実施形態における時間インターリーブ処理のためのISDB-T変調器の入出力処理部とホスト装置との間のやりとりの一例を表したシーケンス図を示す。
【0051】
ISDB-T変調器の入出力処理部は、まず、シンボル番号(symbol_num)を0にリセットする(S1)。その後、この1シンボル期間の4992ワードのキャリアデータが受信キャリアバッファに格納されたら(S2)、ホスト側CPUへ割込み信号を発生するとともに(S3)、4992ワードのキャリアデータをホスト側へ送出する(S4)。
【0052】
ホスト装置(のCPU)は当該割り込み信号を受けて、キャリアデータを受信し、時間インターリーブ処理を実行する(S11)。その結果得られた時間インターリーブ処理後のキャリアデータをISDB-T変調器へ返す(S12)。
【0053】
ISDB-T変調器の入出力処理部は、時間インターリーブ処理後のキャリアデータを受けて、これを送信キャリアバッファに格納する(S5)。その後、シンボル番号をインクリメント(+1)して(S6)、シンボル番号が203未満かどうかをチェックする(S7)。シンボル番号が203未満であればステップS2へ戻って、次のシンボルについて上記の処理を繰り返す。シンブル番号が203に達したら、ステップS1へ戻り、シンボル番号を0にリセットして上記の処理を繰り返す。
【0054】
図8は、ホスト装置による時間インターリーブ処理の具体的な処理フローの一例を示すフローチャートである。
【0055】
この処理では、上述のとおり割込みにより起動される。まず、シンボル番号(symbol_num)の入力を受け付けるとともに(S21)、キャリアデータ(carrier_data_in [4992])の入力を受け付ける(S22)。さらにキャリアメモリ(carrier_memory [204][4992])配列を設定(確保)する(S23)。ついで、時間インターリーブテーブル(til_table [96])を設定する(S24)。この時間インターリーブテーブルは
図1に示したような遅延数として、96個の値(整数のオフセット値)を包含したテーブルである。このテーブルにより、キャリア番号ごとに対応する遅延数を得ることができる。キャリア番号i(最大4992)に対応するテーブル値はiMOD96で参照される。
【0056】
ステップS24に続いて、キャリアをカウントする変数rowが0にリセットされるとともに(S25)、セグメントをカウントする変数segmentが0にリセットされる(S26)。さらに、繰り返し回数をカウントする変数repeatが0にリセットされ(S27)、テーブル参照用キャリアカウント値を表す変数carrierが0にリセットされる(S28)。
【0057】
ついで、現在のシンボル番号(symbol_num)と現在のキャリアカウント値carrierのテーブル参照値(til_table [carrier])との和が203未満かどうかをチェックする(S29)。
【0058】
203未満であれば、現シンボル番号と現キャリアカウント値のテーブル値との和をcolumn値とする(S30)。203に達したらステップS31へ進み、現シンボル番号と現キャリアカウント値のテーブル値との和から204を減じた値をcolumn値とする(S31)。
【0059】
そこで、変数columnと変数rowのキャリアメモリ位置(carrier_memory [column][row])に現在の変数rowのキャリアデータ(carrier_data_in [row])を格納する(S32)。
【0060】
その後、キャリアカウント値をインクリメント(+1)するとともに(S33)、変数rowを1インクリメント(+1)する(S34)。
【0061】
そこで、キャリアカウント値carrierが96未満かどうかをチェックする(S35)。96未満であれば、ステップS29へ戻り、以降の処理を再度実行する。
【0062】
96に達したら、repeat値をインクリメント(+1)し(S36)、その値が4未満かをチェックする(S37)。4未満であれば、ステップS28へ戻り、carrier値を0にリセットして、以降の処理を再度実行する。4に達したら、segment値をインクリメント(+1)して(S38)、その値が13未満かをチェックする(S39)。13未満であれば、ステップS27へ戻り、repeat値を0にリセットして、以降の処理を再度実行する。
【0063】
segment値が13に達したら、row値を0にリセットして(S41)、以降、メモリの読み出しルーチンへ移行する。
【0064】
読み出しルーチンでは、現シンボル番号と現row値に対応するキャリアメモリ内のキャリアデータcarrier_memory [symbol_num][row]を出力キャリアデータ(carrier_data_out)とする(S42)。ついで、row値をインクリメント(+1)して(S43)、row値が4992未満かをチェックする(S44)。未満であれば、ステップS42へ戻り、次のrow値についてキャリアデータを読み出す。4992に達したら、当該シンボル番号に対応する4992本の全キャリアデータcarrier_data_outをISDB-T変調器へ出力して(S45)、割込み処理を終了する(RET)。
【0065】
図9に、時間インターリーブの遅延数を表したテーブルを示す。ここでは図示の都合上、一部省略して1セグメント分を示す。この図中、Iはインターリーブの長さに関わるパラメータ(この例では2)、iはキャリア番号、SBはシンボルの遅延数を表す。i=0、SB=0から始まり、i=95でSB=182となる。次のi=96でSB=0に戻る。1セグメント内でこれを4回繰り返して、最後はi=383、SB=182まで進む。384キャリアで1セグメントであり、13セグメントで384x13=4992キャリアとなる。
【0066】
そこで、上記
図8の処理の中で参照される時間インターリーブテーブル(til_table [96])は次のとおり定義される。
char til_table [96] = {
0,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,
8,18,28,38,48,58,68,78,88,98,108,118,128,138,148,158,168,178,188,
6,16,26,36,46,56,66,76,86,96,106,116,126,136,146,156,166,176,186,
4,14,24,34,44,54,64,74,84,94,104,114,124,134,144,154,164,174,184,
2,12,22,32,42,52,62,72,82,92,102,112,122,132,142,152,162,172,182 };
【0067】
以上、本発明の好適な実施形態について説明したが、上述した以外にも特許請求の範囲内で種々の変形、変更を行うことが可能である。例えば、本発明は変調器ICへの適用が好ましいものとして説明したが、必ずしも変調器ICへの適用を前提とするものではない。また、使用する部品、要素、個数、サイズ、手順、変数、数値、応用例等、必ずしも提示したものに限定されるものではない。
【符号の説明】
【0068】
11 入出力処理部
12a,12b TSバッファ
13a,13b 多重化部(MUX)
14 再多重化部
15 前処理部
16 受信キャリアバッファ
17 送信キャリアバッファ
21 周波数インターリーブ処理部
22 フレーム構成部
23 IFFT部(+GI付加部)
24 DAC部
30 ISDB-T変調器
31,32 ホスト装置
33 RFアップコンバータ