(57)【特許請求の範囲】
【請求項１】
所定の周波数とされたクロック信号に同期して、所定のデータ長のパケットをデータストリームとして送出することによりデータを伝送出力するデータ伝送装置において、
データの出力レートを上記パケットのデータ長で除算した値で上記クロック信号の周波数を除算した値の整数部をＡＩＮＴＥとし、分数部における分母及び分子をそれぞれＡＤＥＮＯ，ＡＮＵＭＥとしたときに、
上記クロック信号に同期して、カウント値をカウントアップするカウンタと、
上記カウンタから出力されるカウント値と、上記パケットのデータストリームのデータ長とを比較して、カウント値の方が小であるときに、伝送出力するデータの読み出し継続を示す読出信号を出力する第１の比較器と、
上記カウンタから出力されるカウント値と、上記ＡＩＮＴＥから１を引いた値とを比較して、これらが同値であるときに同期信号を出力する第２の比較器と、
上記第２の比較器から出力される同期信号を上記クロック信号の１周期分だけ遅延して、遅延信号を出力する遅延器と、
上記第２の比較器から出力される同期信号と上記遅延器から出力される遅延信号とのうちの一方をタイミング選択信号に基づいて選択し、選択した信号を、読み出されたデータをデータストリームとして送出するタイミングを示すスタート信号として出力するとともに、このスタート信号を上記カウンタに入力してカウント値をクリアする第１の選択器と、
上記第１の選択器での選択に用いるタイミング選択信号を生成する選択信号生成部とを備え、
上記選択信号生成部は、
上記クロック信号に同期して、ロード信号が有効であるときに入力値を取り込んで保持するレジスタと、
上記レジスタに保持された値と上記ＡＮＵＭＥとを加算して、加算値を出力する加算器と、
上記レジスタに保持された値から上記ＡＤＥＮＯを減算して、減算値とボロー信号とを出力する減算器と、
上記加算器から出力される加算値と上記減算器から出力される減算値とのうちの一方を、値選択信号に基づいて選択して上記レジスタの入力値として出力する第２の選択器と、
上記クロック信号に同期して、上記第２の選択器から出力されるスタート信号と上記減算器から出力されるボロー信号とに基づいて、上記レジスタで入力値を取り込むタイミングを示すロード信号と、上記第２の選択器での選択に用いる値選択信号と、上記第１の選択器での選択に用いるタイミング選択信号とを出力する順序回路とを備えることを特徴とするデータ伝送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、周波数とされたクロック信号に同期して、所定のデータ長のパケットのデータストリームを送出することによりデータを伝送出力するデータ伝送装置に関する。
【０００２】
【従来の技術】
近年では、音声情報及び画像情報の圧縮伝送規格のひとつであるＭＰＥＧ−２  Ｓｙｓｔｅｍｓ（ＩＴＵ−Ｔ  Ｈ．２２２．０，ＩＳＯ／ＩＥＣ  １３８１８−１）を利用して、デジタル方式によりデータを伝送するデジタル放送が、実用化されている。
【０００３】
このようなデジタル放送は、従来から広く利用されているアナログ放送に比べて、高品質な音声情報や画像情報を伝送することができる。また、デジタル方式で伝送することから、音声情報や画像情報だけでなく、例えばコンピュータや各種の情報端末を介して利用するような各種データをも伝送することができ、様々なコンテンツを組み合わせて多様な放送をすることが容易となる。
【０００４】
ところで、デジタル放送では、伝送するデータを所定のクロック信号に同期してパケット単位でデータストリーム（パケットを時間方向に並べた集合体）として送出する必要がある。このとき、伝送帯域を有効に利用して効率的なデータ伝送を実現するため、クロック信号の信号周期を変更せずに、伝送するデータの出力レートを可変としたいという要求がある。
【０００５】
このような要求に応えるために、従来は、例えばＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路を用いたり、或いは、単純なデジタル回路によりクロック信号を分周する手法が用いられている。
【０００６】
ここで、従来のデータ伝送装置におけるデータ伝送回路の一例について、図６を参照しながら説明する。なお、図６に示す一例は、クロック信号を分周することにより、このクロック信号に同期してデータを伝送する場合の例である。
【０００７】
従来のデータ伝送装置は、図６に示すように、所定の周波数とされたクロック信号が入力されるカウンタ１００を備えており、このカウンタ１００がクロック信号に同期してカウント値をカウントアップするように構成されている。カウンタ１００は、このカウント値を、第１の比較器１０１と第２の比較器１０２とに出力する。
【０００８】
第１の比較器１０１は、カウンタ１００から入力されたカウント値と、第１のレジスタ１０３に保持された値とを比較し、カウント値の方が小であるときに、伝送するデータの読み出し継続を示す読出信号を出力する。そして、データ伝送装置においては、この読出信号が出力されているときに、伝送するデータを図示しないバッファに読み出す。
【０００９】
第２の比較器１０２は、カウンタ１００から入力されたカウント値と、第２のレジスタ１０４に保持された値とを比較し、これらが同値であるときにスタート信号を出力する。また、このスタート信号が出力されたときに、カウンタ１００におけるカウント値を「０」に戻してクリアする。
【００１０】
従来のデータ伝送装置は、以上のようなデータ伝送回路を備えており、クロック信号に同期してカウンタ１００がカウントアップしたカウント値に基づいて、第２の比較器１０２によりスタート信号が出力される。そして、このスタート信号が出力されたタイミングで、バッファに読み出されたデータをパケット単位でデータストリームとして送出する構成とされている。
【００１１】
【発明が解決しようとする課題】
ところで、上述したようなＰＬＬ回路を用いる手法では、アナログ回路が必須となるため、その回路構成が複雑となり、高コスト化を招く問題がある。
【００１２】
また、上述したように、単純なデジタル回路により出力クロックを分周する手法では、伝送するデータの送出タイミングが、クロック信号に基づいてカウントアップされるカウント値に依存していることから、出力レートを自由に設定することができない問題がある。
【００１３】
本発明は、上述の課題に鑑みてなされたものであり、伝送するデータの出力レートを自由に設定することが可能なデータ伝送装置を低コストで提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明に係るデータ伝送装置は、上述の課題を解決するための手段として、所定の周波数とされたクロック信号に同期して、所定のデータ長のパケットをデータストリームとして送出することによりデータを伝送出力するデータ伝送装置において、
データの出力レートを上記パケットのデータ長で除算した値で上記クロック信号の周波数を除算した値の整数部をＡＩＮＴＥとし、分数部における分母及び分子をそれぞれＡＤＥＮＯ，ＡＮＵＭＥとしたときに、
上記クロック信号に同期して、カウント値をカウントアップするカウンタと、
上記カウンタから出力されるカウント値と、上記パケットのデータストリームのデータ長とを比較して、カウント値の方が小であるときに、伝送出力するデータの読み出し継続を示す読出信号を出力する第１の比較器と、
上記カウンタから出力されるカウント値と、上記ＡＩＮＴＥから１を引いた値とを比較して、これらが同値であるときに同期信号を出力する第２の比較器と、
上記第２の比較器から出力される同期信号を上記クロック信号の１周期分だけ遅延して、遅延信号を出力する遅延器と、
上記第２の比較器から出力される同期信号と上記遅延器から出力される遅延信号とのうちの一方をタイミング選択信号に基づいて選択し、選択した信号を、読み出されたデータをデータストリームとして送出するタイミングを示すスタート信号として出力するとともに、このスタート信号を上記カウンタに入力してカウント値をクリアする第１の選択器と、
上記第１の選択器での選択に用いるタイミング選択信号を生成する選択信号生成部とを備え、
上記選択信号生成部は、
上記クロック信号に同期して、ロード信号が有効であるときに入力値を取り込んで保持するレジスタと、
上記レジスタに保持された値と上記ＡＮＵＭＥとを加算して、加算値を出力する加算器と、
上記レジスタに保持された値から上記ＡＤＥＮＯを減算して、減算値とボロー信号とを出力する減算器と、
上記加算器から出力される加算値と上記減算器から出力される減算値とのうちの一方を、値選択信号に基づいて選択して上記レジスタの入力値として出力する第２の選択器と、
上記クロック信号に同期して、上記第２の選択器から出力されるスタート信号と上記減算器から出力されるボロー信号とに基づいて、上記レジスタで入力値を取り込むタイミングを示すロード信号と、上記第２の選択器での選択に用いる値選択信号と、上記第１の選択器での選択に用いるタイミング選択信号とを出力する順序回路とを備える。
【００１５】
以上のように構成された本発明に係るデータ伝送装置では、読み出したデータをパケットのデータストリームとして送出するタイミングを、同期信号が出力されるタイミングとするか、或いはこの同期信号よりもクロック信号の１周期分遅延した遅延信号が出力されるタイミングとするかを、タイミング選択信号に応じて制御する。
【００１６】
また、選択信号生成部によって、このタイミング選択信号が所望とする出力レートに応じて出力されることから、データを送出するタイミングを高精度に制御して出力レートを自由に設定可能とする。
【００１７】
【発明の実施の形態】
本発明は、ＭＰＥＧ−２  Ｓｙｓｔｅｍｓ（ＩＴＵ−Ｔ  Ｈ．２２２．０，ＩＳＯ／ＩＥＣ  １３８１８−１）で規定されるトランスポート・パケット（以下、ＴＳパケットという。）をＤＶＢ−ＡＳＩ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇ  −  Ａｓｙｎｃｈｒｏｎｕｓ  Ｓｅｒｉａｌ  Ｉｎｔｅｒｆａｃｅ）に対応した伝送フォーマットで伝送出力するデータ伝送装置に適用することができる。この本発明の実施の形態となるデータ伝送装置は、図１に示すような伝送フォーマットによりデータを伝送出力するようになっている。
【００１８】
この伝送フォーマットは、ＴＳパケットを伝送する物理層として、ＭＰＥＧ技術を応用したＤＶＢ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇ）のシリアルインタフェースとして規定されたＤＶＢ−ＡＳＩ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇ  −  Ａｓｙｎｃｈｒｏｎｕｓ  Ｓｅｒｉａｌ  Ｉｎｔｅｒｆａｃｅ）を用いる構成とされている。ＴＳパケットは、ＭＰＥＧ−２  Ｓｙｓｔｅｍｓにより規定された多重化データ形式のひとつであり、１８８バイトのデータ列からなる。そして、複数のＴＳパケットにおける各々のデータ列の中に、伝送するデータが分割されて格納される。
【００１９】
図１に示す伝送フォーマットでは、１８８バイト（８バイト／ビット）のＴＳパケットを、１０バイト／ビットに変換して１８８０ビットとし、このＴＳパケットを２７ＭＨｚのクロック信号に同期させてデータストリームとして送出する。なお、ＭＰＥＧ２では、データストリームのことをトランスポートストリームと称するので、以下の説明においてもトランスポートストリームと記述する。また、ＴＳパケットが送出されないときには、このＤＶＢ−ＡＳＩのビットストリームとして予め決められたデータ列（Ｋ２８．５）を送出する。
【００２０】
この実施の形態のデータ伝送装置は、以上のような伝送フォーマットによりデータを伝送出力するために、図２に示すようなデータ伝送回路１を備える。データ伝送回路１は、カウンタ１０と、第１の比較器１１と、第１のレジスタ１２と、第２の比較器１３と、第２のレジスタ１４と、遅延器１５と、第１の選択器１６と、選択信号生成部１７とを備え、これら各部が各種半導体素子により構成されており、デジタル方式で信号処理するデジタル回路である。
【００２１】
データ伝送回路１は、所定の信号周期とされたクロック信号に同期して、伝送出力するデータの読み出し継続を示す読出信号と、読み出されたデータ中のＴＳパケットの先頭を示すスタート信号とを出力する。
【００２２】
このデータ伝送装置においては、読出信号が出力されているときに、ＴＳパケットとして多重化され図示しないバッファに蓄えられたデータがトランスポートストリームとして読み出されるように構成されている。また、ＴＳパケットを送出しないときには、予め決められたデータ列（Ｋ２８．５）がトランスポートストリームとして送出されるように構成されている。
【００２３】
データ伝送回路１において、カウンタ１０は、クロック信号が入力されており、このクロック信号に同期して、カウント値をカウントアップする。また、カウンタ１０は、後述するようにして第１の選択器１６から出力されるスタート信号が入力されたときに、カウント値を「０」にクリアする。
【００２４】
第１の比較器１１は、カウンタ１０から出力されるカウント値と、第１のレジスタ１２の出力値とが入力されており、これらの値を比較して、カウント値の方が小であるときに、読出信号を出力する。第１のレジスタ１２は、外部から設定される所定の値を保持し、この値を出力する。すなわち、第１の比較器１１からは、カウント値が第１のレジスタ１２の出力値未満である間、読出信号が出力され続ける。このとき、カウンタ値は「０」からスタートすることから、バッファから第１のレジスタ１２の出力値よりも１だけ長い長さのデータが送出される。
【００２５】
第２の比較器１３は、カウンタ１０から出力されるカウント値と、第２のレジスタ１４の出力値とが入力されており、これらの値を比較して、これらが同値となったときに同期信号を出力する。第２のレジスタ１４は、外部から設定される所定の値を保持し、この値を出力する。すなわち、第２の比較器１３からは、カウンタ値が第２のレジスタ１４の出力値と同値となったときに、同期信号が出力される。この同期信号としては、例えば、その出力時に信号レベルがパルス状にハイ（Ｈ）となる信号である。
【００２６】
遅延器１５は、第２の比較器１３から出力される同期信号を、クロック信号の１周期分だけ遅延して、遅延信号を出力する。具体的には、例えば、同期信号のパルスを、クロック信号の１周期分だけ遅延させて、遅延信号とする。すなわち、この遅延信号は、同期信号が出力されるときのカウント値よりも１だけ大きいカウント値のときに出力される。
【００２７】
第１の選択器１６は、第２の比較器１３から出力される同期信号と、遅延器１５から出力される遅延信号とが入力されるとともに、後述するようにして選択信号生成部１７から出力されるタイミング選択信号が入力される。第１の選択器１６は、タイミング選択信号に基づいて、同期信号と遅延信号とのうちの一方を選択し、選択した信号をスタート信号として出力する。このとき、例えば、タイミング選択信号の信号レベルがハイ（Ｈ）であるときに同期信号を選択してスタート信号とし、タイミング選択信号の信号レベルがロウ（Ｌ）であるときに遅延信号を選択してスタート信号とする。
【００２８】
選択信号生成部１７は、クロック信号と、第１の選択器１６から出力されるスタート信号とが入力されており、これらの信号に基づいて所定のデジタル演算処理を行うことによってタイミング選択信号を生成し、第１の選択器１６に出力する。
【００２９】
ここで、選択信号生成部１７における具体的な回路構成について、図３を参照しながら説明する。
【００３０】
選択信号生成部１７は、図３に示すように、第３のレジスタ２０と、加算器２１と、第４のレジスタ２２と、減算器２３と、第５のレジスタ２４と、第２の選択器２５と、順序回路２６とを備え、これら各部が各種半導体素子により構成されている。
【００３１】
第３のレジスタ２０は、クロック信号と、後述するようにして順序回路２６から出力されるロード信号、及び第２の選択器２５から出力される値とが入力されている。そして、クロック信号に同期して、ロード信号が有効であるときに、第２の選択器２５からの入力値を取り込んで保持する。すなわち、第３のレジスタ２０では、ロード信号がクロックイネーブルとして入力されており、例えば、ロード信号の信号レベルがハイ（Ｈ）であるときに、クロック信号に同期して入力値を取り込む。
【００３２】
加算器２１は、第３のレジスタ２０に保持された値と、第４のレジスタ２２に保持された値とが入力されており、これらの値を加算して、加算値を出力する。また、第４のレジスタ２２は、外部から設定される所定の値を保持し、この値を出力する。
【００３３】
減算器２３は、第３のレジスタ２０に保持された値と、第５のレジスタ２４に保持された値とが入力されている。そして、第３のレジスタ２０からの入力値から、第５のレジスタ２４からの入力値を減算し、減算値とボロー信号とを出力する。ここで、ボロー信号とは、減算した結果が負であるときに「１」となり、正であるときに「０」となるボロー値を示す信号であり、例えば、ボロー値が「１」であるときに信号レベルがハイ（Ｈ）となり、ボロー値が「０」であるときに信号レベルがロウ（Ｌ）となる信号である。
【００３４】
第２の選択器２５は、加算器２１から出力される加算値と、減算器２３から出力される減算値とが入力されており、これらの値のうちの一方を、後述するようにして順序回路２６から出力される値選択信号に基づいて選択し、第３のレジスタ２０に出力する。このとき、例えば、値選択信号の信号レベルがハイ（Ｈ）であるときに加算値を選択して出力し、値選択信号の信号レベルがロウ（Ｌ）であるときに減算値を選択して出力する。
【００３５】
順序回路２６は、クロック信号と、第１の選択器１６から出力されるスタート信号と、減算器２３から出力されるボロー信号とが入力されており、これらの信号に基づいて、ロード信号と、値選択信号と、タイミング選択信号とを出力する。この順序回路２６は、例えば、現在の状態と入力信号とに基づいて次の状態と出力信号とを演算処理する組み合わせ回路と、状態を記憶するフリップフロップとによって構成されており、２つのステートマシンＳＡ，ＳＢを備える。
【００３６】
順序回路２６における一方のステートマシンＳＡは、図４（ａ）に示すように状態遷移して動作する。すなわち、ステートマシンＳＡは、初期状態ＳＡ０において、値選択信号の信号レベルをハイ（Ｈ）に設定する。また、この初期状態ＳＡ０において、スタート信号の信号レベルがロウ（Ｌ）であるときには状態を遷移せず、スタート信号の信号レベルがハイ（Ｈ）であるときには、状態ＳＡ１に遷移する。
【００３７】
状態ＳＡ１においては、ロード信号の信号レベルをハイ（Ｈ）に設定する。そして、状態ＳＡ２に遷移する。状態ＳＡ２においては、値選択信号の信号レベルをロウ（Ｌ）に設定する。このとき、ボロー信号の信号レベルがハイ（Ｈ）である場合には、状態ＳＡ３に遷移し、ボロー信号の信号レベルがロウ（Ｌ）である場合には、状態ＳＡ４に遷移する。状態ＳＡ３においては、ロード信号の信号レベルをハイ（Ｈ）に設定した後、初期状態ＳＡ０に遷移する。また、状態ＳＡ４においては、ロード信号の信号レベルをロウ（Ｌ）に設定した後、初期状態ＳＡ０に遷移する。
【００３８】
一方、順序回路２６における他方のステートマシンＳＢは、図４（ｂ）に示すように状態遷移して動作する。すなわち、ステートマシンＳＢは、初期状態ＳＢ０において、タイミング選択信号の信号レベルをロウ（Ｌ）に設定する。この初期状態ＳＢ０において、ステートマシンＳＡの状態ＳＡがＳＡ３以外であるときには状態を遷移せず、ステートマシンＳＡの状態ＳＡがＳＡ３であるときには状態ＳＢ１に遷移する。
【００３９】
状態ＳＢ１においては、タイミング選択信号の信号レベルをハイ（Ｈ）に設定する。また、状態ＳＢ１において、ステートマシンＳＡの状態ＳＡがＳＡ４以外であるときには状態を遷移せず、ステートマシンＳＡの状態ＳＡがＳＡ４であるときには初期状態ＳＢ０に遷移する。
【００４０】
順序回路２６は、以上のように状態遷移する２つのステートマシンＳＡ，ＳＢを備え、クロック信号に同期して、スタート信号及びボロー信号に基づいて、値選択信号、ロード信号、及びタイミング選択信号を出力する。
【００４１】
このデータ送信装置では、第２の比較器１３によって、カウンタ１０によりクロック信号に同期してカウントアップされたカウント値が所定の値となったときに、同期信号が出力されるとともに、この同期信号よりもクロック信号の１周期分遅延した遅延信号が遅延器１５によって出力されている。そして、第１の選択器１６によって、タイミング選択信号に応じて同期信号と遅延信号とのうちの一方が選択され、スタート信号として出力されている。そして、このスタート信号が出力されるタイミングで、バッファに蓄えられたデータがＴＳパケットとしてトランスポートストリームとして送出され、図１に示す伝送フォーマットでデータが伝送される。
【００４２】
このデータ伝送装置においては、ＴＳパケットをトランスポートストリームとして送出するタイミングを、同期信号が出力されるタイミング、すなわちカウント値が第２のレジスタ１４に保持された値となったときのタイミングだけに制限されておらず、この同期信号よりもカウント値１つ分だけ遅延して出力される遅延信号のタイミングを選択することも可能とされている。したがって、ＴＳパケットを送出するタイミングを高精度に制御することができ、これにより出力レートを自由に設定することができる。
【００４３】
ここで、図１に示す伝送フォーマットでデータを伝送する場合において、クロック信号の信号周期が２７ＭＨｚであるときに、出力レートを５Ｍバイト／ｓｅｃに設定する場合の例について、具体的な例を挙げて説明する。
【００４４】
まず、図６に示した従来のデータ伝送装置において、出力レートを５Ｍバイト／ｓｅｃに設定する場合について説明する。ここで、出力レートをｘ［バイト／ｓｅｃ］とし、ＴＳパケットの送出間隔をｍ［カウント値］とすると、ＴＳパケットが１８８バイトであり、クロック信号の周波数が２７ＭＨｚであることから、これらの関係は、以下に示す式１のように表すことができる。
【００４５】
【数１】
0003632577.tif 000002
この式１を変形して、以下に示す式２のように表すことができる。
【００４６】
【数２】
0003632577.tif 000003
上記の式２において、第１項目は、クロック信号の周波数を表している。また、第２項目は、データの出力レートをＴＳパケットのデータ長で除算した値を表している。すなわち、ＴＳパケットの送出間隔ｍは、データの出力レートを上記パケットのデータ長で除算した値で上記クロック信号の周波数を除算した値とされる。
【００４７】
従来のデータ伝送装置において、出力レートを５Ｍバイト／ｓｅｃに設定するためには、以下の式３を上記の式２に代入すればよい。
【００４８】
【数３】
0003632577.tif 000004
したがって、出力レートを５Ｍバイト／ｓｅｃに設定するためには、ＴＳパケットの送出間隔ｍを、ｍ＝８１２１．６［カウント値］に設定すればよいこととなる。しかしながら、図６に示す従来のデータ伝送装置では、クロック信号の整数倍のカウント値でしかスタート信号を出力することができない。
【００４９】
このため、第２のレジスタ１０４に設定する値は、［８１２１］又は［８１２２］とすることになる。ただし、実際には、カウンタ１００におけるカウント値のクリアが、次のクロックで有効になることから、これらの値からそれぞれ１を引いた値、すなわち［８１２０］又は［８１２１］を第２のレジスタ１０４に設定する。なお、第１のレジスタ１０３には、ＴＳパケットのバイト長（１８８バイト）から同様に１を引いた値である［１８７］を設定する。
【００５０】
このとき、第２のレジスタ１０４に［８１２１］なる値を設定したときに生じる出力レートの誤差ｘｅｒｒは、以下に示す式４のように表すことができる。
【００５１】
【数４】
0003632577.tif 000005
すなわち、１秒あたり約２４６ビットの誤差が生じてしまうこととなる。これは、従来のデータ伝送装置では、第２のレジスタ１０４に設定する値によってＴＳパケットを送出するタイミングが制限されてしまい、出力レートを自由に設定することができないことを示している。
【００５２】
そこで、当該実施の形態のデータ伝送装置では、ＴＳパケットの送出タイミングを高精度に制御することによって、出力レートを自由に設定することを可能としている。この点について、順を追って説明する。
【００５３】
まず、クロック信号からＴＳパケットのバイト周波数を生成するために、このクロック信号の信号周期を１／Ａ倍にすることを考える。ここで、クロック信号の信号周期をＦｖとし、ＴＳパケットのバイト周波数をＦＴＳとし、比例定数をＡとすると、これらの関係は以下に示す式５のように表すことができる。
【００５４】
【数５】
0003632577.tif 000006
ここで、上記の式５における比例定数Ａに注目し、この比例定数Ａを整数部と分数部とに分けて変形し、以下に示す式６を得る。なお、この比例定数Ａは、上記の式２におけるＴＳパケットの送出間隔ｍに相当し、データの出力レートを上記パケットのデータ長で除算した値で上記クロック信号の周波数を除算した値に相当する。言い換えると、比例定数Ａは、ＴＳパケットの送出間隔をカウント値でカウントした値である。
【００５５】
【数６】
0003632577.tif 000007
上記の式６において、ＡＩＮＴＥは比例定数Ａの整数部を表し、ＡＮＵＭＥは比例定数Ａの分数部における分子を表し、ＡＤＥＮＯは比例定数Ａの分数部における分母を表す。また、［Ｆｖ／ＦＴＳ］は、Ｆｖ／ＦＴＳを超えない最大の整数を表す。なお、ＡＩＮＴＥ，ＡＮＵＭＥ，ＡＤＥＮＯは、全て整数である。
【００５６】
ここで、ＴＳパケットを送出するＮ周期目におけるカウント値ＣＮは、以下に示す式７のように表すことができる。
【００５７】
【数７】
0003632577.tif 000008
上記の式７において、下線部（ｅｘｔ＿ｃｏｕｎｔ）は、カウント値の１以下である端数を集めた値となる。すなわち、式７における下線部（ｅｘｔ＿ｃｏｕｎｔ）が、従来のデータ伝送装置においては出力レート誤差となることが分かる。言い換えると、従来のデータ伝送装置においては、上記の式２におけるＴＳパケットの送出間隔ｍが比例定数Ａの整数部ＡＩＮＴＥに相当しており、式７における下線部（ｅｘｔ＿ｃｏｕｎｔ）が考慮されていなかったために、出力レートに誤差が生じてしまう場合がある。
【００５８】
そこで、当該実施の形態では、式７における下線部（ｅｘｔ＿ｃｏｕｎｔ）を、以下の式８に示すように近似して、この式８における演算処理を選択信号生成部１７によって実現している。ただし、下記の式８においてｍｏｄ（Ａ，Ｂ）は、ＡのＢによる剰余、すなわちＡをＢで除算した余りを表す。
【００５９】
【数８】
0003632577.tif 000009
つぎに、上述したようにして導いた式７及び式８を、当該実施の形態のデータ伝送装置に適用する場合の具体的な一例について説明する。この場合においても、図１に示す伝送フォーマットでデータを伝送するとし、クロック信号の信号周期が２７ＭＨｚであるときに、出力レートを５Ｍバイト／ｓｅｃに設定することを想定する。
【００６０】
この場合では、上記の式２によりｍ＝８１２１．６となることから、上述の説明における比例定数Ａは、以下に示す式９のように表すことができ、ＡＩＮＴＥ＝８１２１、ＡＮＵＭＥ＝３、ＡＤＥＮＯ＝５となる。
【００６１】
【数９】
0003632577.tif 000010
まず、第１のレジスタ１２には、従来のデータ伝送装置と同様にして、カウンタ１０におけるカウント値のクリアが次のクロックで有効になる（カウンタ１０におけるカウント値のカウントアップが「０」からスタートする）ことを考慮して、ＴＳパケットのバイト長（１８８バイト）から１を引いた値である［１８７］を設定する。これにより、第１の比較器１１では、カウント値が第１のレジスタ１２に設定された値［１８７］と同値になるまで読出信号が出力される。したがって、１８８バイト分のデータがバッファに蓄えられる。
【００６２】
また、第２のレジスタ１４には、クロック信号の信号周期を所望とする出力レート（５Ｍバイト／ｓｅｃ）で除算したときの商から１を引いた値、すなわち［ＡＩＮＴＥ−１］を設定する。ここで、１を引いているのは、カウント値のカウントアップが「０」からスタートすることを考慮してのことである。これにより、第２の比較器１３からは、カウント値が［８１２０］となったときに、同期信号が出力される。また、遅延器１５によって、同期信号よりもクロック信号の１周期分だけ遅延された遅延信号が出力される。言い換えると、この遅延信号は、カウント値が［８１２１］となったときに出力される。
【００６３】
一方、選択信号生成部１７における第４のレジスタ２２には、上記の式９における値ＡＮＵＭＥ、すなわち［３］を設定する。この値ＡＮＵＭＥは、データの出力レート（５Ｍバイト／ｓｅｃ）をＴＳパケットのデータ長（１８８×８ビット）で除算した値でクロック信号の周波数（２７ＭＨｚ）を除算した値の分数部における分子に相当する。
【００６４】
また、第５のレジスタ２４には、上記の式９における値ＡＤＥＮＯ、すなわち［５］を設定する。この値ＡＤＥＮＯは、データの出力レート（５Ｍバイト／ｓｅｃ）をＴＳパケットのデータ長（１８８×８ビット）で除算した値でクロック信号の周波数（２７ＭＨｚ）を除算した値の分数部における分母に相当する。
【００６５】
これにより、選択信号生成部１７においては、第３のレジスタ２０、加算器２１、減算器２３、第２の選択器２５、及び順序回路２６により構成されたデジタル回路によって、この順序回路２６が図４に示す状態遷移で動作することから、上記の式８に相当する演算処理が行われることとなる。すなわち、第３のレジスタ２０には、上記の式８における剰余部の演算結果に相当する値が取り込まれる。そして、加算器２１及び減算器２３によって、第３のレジスタ２０に取り込まれた剰余部の演算結果に対して、値ＡＮＵＭＥを加算するとともに、値ＡＤＥＮＯを減算する演算処理が行われる。
【００６６】
このとき、減算器２３から出力されるボロー信号は、この減算器２３における演算結果が正である場合に、信号レベルがロウ（Ｌ）とされ、演算結果が負である場合に、信号レベルがハイ（Ｈ）とされる。すなわち、ボロー信号の信号レベルがロウ（Ｌ）であるときは上記の式８において［ｅｘｔ＿ｃｏｕｎｔ］の値が「０」である場合に相当し、ボロー信号の信号レベルがハイ（Ｈ）であるときには［ｅｘｔ＿ｃｏｕｎｔ］の値が「１」である場合に相当する。
【００６７】
そして、順序回路２６では、図４に示すように、減算器２３から出力されるボロー信号に応じて、ステートマシンＳＡの状態がＳＡ３となるかＳＡ４となるかが定まり、これに応じてステートマシンＳＢの状態が定まって、タイミング選択信号の信号レベルが決定される。
【００６８】
そして、第１の選択器１６では、このタイミング選択信号の信号レベルがロウ（Ｌ）である場合（上記の式８における［ｅｘｔ＿ｃｏｕｎｔ］の値が「０」に相当する場合）に、カウント値が「８１２０」であるときに出力される同期信号をスタート信号として選択し、タイミング選択信号の信号レベルがハイ（Ｈ）である場合（［ｅｘｔ＿ｃｏｕｎｔ］の値が「１」に相当する場合）に、カウント値が「８１２１」であるときに出力される遅延信号をスタート信号として選択するように構成されている。
【００６９】
当該実施の形態のデータ伝送装置において、上述のように動作する場合の、クロック信号、カウント値、及び各信号の信号レベルの状態を図５に示す。
【００７０】
この図５から明らかであるように、当該実施の形態のデータ伝送装置では、カウント値が「８１２０」となったときに信号レベルがハイ（Ｈ）になる同期信号と、カウント値が「８１２１」となったときに信号レベルがハイ（Ｈ）になる遅延信号とが生成されている。そして、減算器２３から出力されるボロー信号の信号レベルがハイ（Ｈ）である場合に同期信号がスタート信号として出力され、ボロー信号の信号レベルがロウ（Ｌ）である場合に遅延信号がスタート信号として出力される。
【００７１】
これにより、上記の式７における下線部（ｅｘｔ＿ｃｏｕｎｔ）、すなわち従来のデータ伝送装置においては出力レート誤差とされていたカウント値の端数を考慮して、ＴＳパケットの送出タイミングを高精度に制御することができる。したがって、データの出力レートをクロック信号の信号周期に制限されずに自由な値に設定することができ、伝送帯域を有効に利用して効率的なデータ伝送を行うことが可能となる。
【００７２】
上述の説明においては、第１のレジスタ１２、第２のレジスタ１４、第４のレジスタ２２、及び第５のレジスタ２４にそれぞれ所定の値を設定し、これらレジスタに設定された値を比較器や加算器、或いは減算器により参照するように構成しているが、本発明はこのような構成例に限定されるものではない。例えば、各レジスタを備えずに構成し、比較器や加算器、或いは減算器で用いる値を予め固定しておいてもよい。ただし、各値をレジスタに設定する構成とすることにより、クロック信号の周波数や所望とする出力レートを必要に応じて設定し直すことが容易となる。
【００７３】
最後に、本発明は、上述の実施の形態に限定されるものではなく、所定の周波数とされたクロック信号に同期して、所定のデータ長のパケットのデータストリームとして送出するデータ伝送装置に対して広く適用することができる。
【００７４】
また、データ伝送装置の各部は、各種半導体素子などを用いてハードウエアにより構成してもよいし、コンピュータ等の情報処理装置における所定の動作を記述したソフトウエアにより構成してもよい。
【００７５】
そして、これら以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、例えば設計等に応じて種々の変更が可能であることは勿論である。
【００７６】
【発明の効果】
本発明に係るデータ伝送装置は、読み出したデータをパケットのデータストリームとして送出するタイミングを、同期信号が出力されるタイミングとするか、或いはこの同期信号よりもクロック信号の１周期分遅延した遅延信号が出力されるタイミングとするかを、タイミング選択信号に応じて制御することができる。また、選択信号生成部によって、このタイミング選択信号が所望とする出力レートに応じて出力されることから、データを送出するタイミングを高精度に制御して出力レートを自由に設定することができる。
【００７７】
したがって、本発明に係るデータ伝送装置は、カウンタから出力されるカウント値に制限されずに自由な出力レートでデータを送出することができ、クロック信号の信号周期を変更せずに、伝送帯域を有効に利用して効率的なデータ伝送を実現することができる。
【００７８】
また、本発明によれば、データの送出タイミングの制御をデジタル回路だけで実現することができることから、回路構成が複雑となることがなく、低コスト化に貢献することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態となるデータ伝送装置によりデータを伝送出力する伝送フォーマットの一例を示す概略図である。
【図２】前記実施の形態のデータ伝送装置に設けられているデータ伝送回路の回路図である。
【図３】前記データ伝送回路における選択信号生成部の回路図である。
【図４】前記選択信号生成部における順序回路の状態遷移を示す状態遷移図である。
【図５】前記実施の形態のデータ伝送装置におけるクロック信号、カウント値、及び各信号の信号レベルの状態を示す概略図である。
【図６】従来のデータ伝送装置の概略図である。
【符号の説明】
１…データ伝送回路、１０…カウンタ、１１…第１の比較器、１２…第１のレジスタ、１３…第２の比較器、１４…第２のレジスタ、１５…遅延器、１６…第１の選択器、１７…選択信号生成部、２０…第３のレジスタ、２１…加算器、２２…第４のレジスタ、２３…減算器、２４…第５のレジスタ、２６…順序回路
【図１】
0003632577.tif 000011
【図２】
0003632577.tif 000012
【図３】
0003632577.tif 000013
【図４】
0003632577.tif 000014
【図５】
0003632577.tif 000015
【図６】
0003632577.tif 000016