(57)【特許請求の範囲】
【請求項１】
７ビット単位のバイトデータを入力して８ビット単位のバイトデータに変換するデータ並び替えブロックと、
前記データ並び替えブロックで変換された８ビット単位のバイトデータを入力し、該バイトデータを用いてＭＰＥＧ同期バイトの検出及びパリティチェックによる誤りの検出を行うパリティチェックブロックと、
前記データ並び替えブロックで変換された８ビット単位のバイトデータ、及び前記パリティチェックブロックにおけるＭＰＥＧ同期バイトの検出及びパリティチェックによる誤り検出のための演算途中の８ビット単位の中間バイトデータを入力して記憶し、８ビット単位のバイトデータを基本単位としてデータの入出力が可能なデータ記憶ブロックとを備えて、
前記パリティチェックブロックから、同期バイトを含む８ビット単位のバイトデータの集合であるＭＰＥＧパケットデータを出力する
ことを特徴とする誤り及び同期検出装置。
【請求項２】
前記データ並び替えブロックは、
連続して入力される７ビット単位の２つのバイトデータを１組として、最初に入力されるバイトデータと後に入力されるバイトデータの上位１ビットとを組み合わせた８ビット単位の第１のバイトデータと、
前記最初に入力されるバイトデータの下位６ビットと後に入力されるバイトデータの上位２ビットとを組み合わせた８ビット単位の第２のバイトデータと、
同様に最初に入力されるバイトデータの下位ｎビット（ｎ＝５、４、３、２、１）と後に入力されるバイトデータの上位ｍビット（ｍ＝３、４、５、６、７）とを組み合わせた８ビット単位の第３〜第７のバイトデータとを生成する
ことを特徴とする請求項１記載の誤り及び同期検出装置。
【請求項３】
前記パリティチェックブロックは、
データの所定クロック分の遅延を含む所定のシンドローム計算を行う第１及び第２の演算ブロックを有し、
前記第１の演算ブロックは、前記データ並び替えブロックから出力される８ビット単位のバイトデータを受けて、前記データの所定クロック分の遅延前の演算を行い、この演算結果である中間バイトデータを前記データ記憶ブロックに出力し、
前記第２の演算ブロックは、前記データ記憶ブロックから前記中間バイトデータを受けて、前記データの所定クロック分の遅延後の演算を行って、ＭＰＥＧ同期検出及びパリティチェックによる誤り検出を行った８ビット単位のバイトデータを出力する
ことを特徴とする請求項１記載の誤り及び同期検出装置。
【請求項４】
前記第１の演算ブロックは、
入力される８ビット単位のバイトデータをｐｄａｔａｉ［７：０］、このバイトデータｐｄａｔａｉ［７：０］を用いて行った演算結果を示すデータをｇｘｏｔ［７：０］、この演算結果データｇｘｏｔ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ７ｄ［７：０］、前記演算結果データｇｘｏｔ［７：０］を計算する過程で使用する８ビット単位の中間変数をｇｘ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、該８ビット単位の中間変数ｇｘ［７：０］を構成する各ビットｇｘ［７］、ｇｘ［６］、ｇｘ［５］、ｇｘ［４］、ｇｘ［３］、ｇｘ［２］、ｇｘ［１］、ｇｘ［０］を、各々、
0003593039.tif 000015
の演算により算出し、
前記演算結果データｇｘｏｔ［７：０］を構成する各ビットｇｘｏｔ［７］、ｇｘｏｔ［６］、ｇｘｏｔ［５］、ｇｘｏｔ［４］、ｇｘｏｔ［３］、ｇｘｏｔ［２］、ｇｘｏｔ［１］、ｇｘｏｔ［０］を、前記中間変数ｇｘ［７：０］を用いて、各々、
0003593039.tif 000016
の演算により算出する
ことを特徴とする請求項３記載の誤り及び同期検出装置。
【請求項５】
前記第２の演算ブロックは、
入力される８ビット単位のバイトデータをｄｏｂｘ［７：０］、このバイトデータｄｏｂｘ［７：０］を用いて行った演算の結果を示すデータをｂｘｏｔ１［７：０］、前記入力されるバイトデータｄｏｂｘ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｄｏｂｘ７ｄ［７：０］、前記演算結果データｂｘｏｔ１［７：０］を計算する過程で使用する８ビット単位の中間変数をｂｘ［７：０］、前記第１の演算ブロックの演算結果データｇｘｏｔ［７：０］を前記基準クロックに従って１クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ１ｄ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、前記８ビット単位の中間変数ｂｘ［７：０］を構成する各ビットｂｘ［７］、ｂｘ［６］、ｂｘ［５］、ｂｘ［４］、ｂｘ［３］、ｂｘ［２］、ｂｘ［１］、ｂｘ［０］を、各々、
0003593039.tif 000017
の演算で算出し、
また、前記演算結果データｂｘｏｔ１［７：０］を構成する各ビットｂｘｏｔ１［７］、ｂｘｏｔ１［６］、ｂｘｏｔ１［５］、ｂｘｏｔ１［４］、ｂｘｏｔ１［３］、ｂｘｏｔ１［２］、ｂｘｏｔ１［１］、ｂｘｏｔ１［０］を、各々、
0003593039.tif 000018
の演算で算出し、
また、前記演算結果データｂｘｏｔ１［７：０］及び前記第１の演算ブロックの演算結果データｇｘｏｔ［７：０］に基づいて行った演算の結果を示す８ビット単位のバイトデータｂｘｏｔ２［７：０］を、
ｂｘｏｔ２［７：０］  ＝  ｂｘｏｔ１［７：０］  ＾  ｇｘｏｔ１ｄ［７：０］
の演算で算出する
ことを特徴とする請求項３記載の誤り及び同期検出装置。
【請求項６】
前記データ記憶ブロックは、
前記データ並び替えブロックからの８ビット単位のバイトデータ、及び前記第１の演算ブロックの演算結果である８ビット単位のバイトデータを入力し、この両バイトデータを各々特定の期間保持した後に出力する
ことを特徴とする請求項３記載の誤り及び同期検出装置。
【請求項７】
前記データ記憶ブロックはＲＡＭにより構成される
ことを特徴とする請求項１又は６記載の誤り及び同期検出装置。
【請求項８】
７ビット単位のバイトデータを入力して８ビット単位のバイトデータに変換するデータ並び替え工程と、
前記データ並び替えブロックで変換された８ビット単位のバイトデータを入力し、該バイトデータを用いてシンドローム計算し、その計算途中の８ビット単位の中間バイトデータをデータ記憶装置に一時記憶させながら、該データ記憶装置に記憶した前記中間バイトデータを用いて前記シンドローム計算を続行して、ＭＰＥＧ同期バイトの検出及びパリティチェックによる誤りの検出を行うパリティチェック工程とを備え、
同期バイトを含む８ビット単位のバイトデータの集合であるＭＰＥＧパケットデータを出力する
ことを特徴とする誤り及び同期検出方法。
【請求項９】
前記データ並び替え工程では、
連続して入力される７ビット単位の２つのバイトデータを１組として、最初に入力されるバイトデータと後に入力されるバイトデータの上位１ビットとを組み合わせた８ビット単位の第１のバイトデータと、
前記最初に入力されるバイトデータの下位６ビットと後に入力されるバイトデータの上位２ビットとを組み合わせた８ビット単位の第２のバイトデータと、
同様に最初に入力されるバイトデータの下位ｎビット（ｎ＝５、４、３、２、１）と後に入力されるバイトデータの上位ｍビット（ｍ＝３、４、５、６、７）とを組み合わせた８ビット単位の第３〜第７のバイトデータとを生成する
ことを特徴とする請求項８記載の誤り及び同期検出方法。
【請求項１０】
前記パリティチェック工程は、
データの所定クロック分の遅延を含む所定のシンドローム計算を行う第１及び第２の演算工程を有し、
前記第１の演算工程では、前記データ並び替え工程で変換された８ビット単位のバイトデータを受けて、前記データの所定クロック分の遅延前の演算を行い、この演算結果である８ビット単位の中間バイトデータを前記データ記憶装置に出力し、
前記第２の演算工程では、前記データ記憶装置から前記中間バイトデータを受けて、前記データの所定クロック分の遅延後の演算を行って、ＭＰＥＧ同期検出及びパリティチェックによる誤り検出を行った８ビット単位のバイトデータを出力する
ことを特徴とする請求項８記載の誤り及び同期検出方法。
【請求項１１】
前記第１の演算工程では、
入力される８ビット単位のバイトデータをｐｄａｔａｉ［７：０］、このバイトデータｐｄａｔａｉ［７：０］を用いて行った演算結果を示すデータをｇｘｏｔ［７：０］、この演算結果データｇｘｏｔ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ７ｄ［７：０］、前記演算結果データｇｘｏｔ［７：０］を計算する過程で使用する８ビット単位の中間変数をｇｘ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、該８ビット単位の中間変数ｇｘ［７：０］を構成する各ビットｇｘ［７］、ｇｘ［６］、ｇｘ［５］、ｇｘ［４］、ｇｘ［３］、ｇｘ［２］、ｇｘ［１］、ｇｘ［０］を、各々、
0003593039.tif 000019
の演算により算出し、
前記演算結果データｇｘｏｔ［７：０］を構成する各ビットｇｘｏｔ［７］、ｇｘｏｔ［６］、ｇｘｏｔ［５］、ｇｘｏｔ［４］、ｇｘｏｔ［３］、ｇｘｏｔ［２］、ｇｘｏｔ［１］、ｇｘｏｔ［０］を、前記中間変数ｇｘ［７：０］を用いて、各々、
0003593039.tif 000020
の演算により算出する
ことを特徴とする請求項１０記載の誤り及び同期検出方法。
【請求項１２】
前記第２の演算工程は、
入力される８ビット単位のバイトデータをｄｏｂｘ［７：０］、このバイトデータｄｏｂｘ［７：０］を用いて行った演算の結果を示すデータをｂｘｏｔ１［７：０］、前記入力されるバイトデータｄｏｂｘ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｄｏｂｘ７ｄ［７：０］、前記演算結果データｂｘｏｔ１［７：０］を計算する過程で使用する８ビット単位の中間変数をｂｘ［７：０］、前記第１の演算ブロックの演算結果データｇｘｏｔ１［７：０］を前記基準クロックに従って１クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ１ｄ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、前記８ビット単位の中間変数ｂｘ［７：０］を構成する各ビットｂｘ［７］、ｂｘ［６］、ｂｘ［５］、ｂｘ［４］、ｂｘ［３］、ｂｘ［２］、ｂｘ［１］、ｂｘ［０］を、各々、
0003593039.tif 000021
の演算で算出し、
また、前記演算結果データｂｘｏｔ１［７：０］を構成する各ビットｂｘｏｔ１［７］、ｂｘｏｔ１［６］、ｂｘｏｔ１［５］、ｂｘｏｔ１［４］、ｂｘｏｔ１［３］、ｂｘｏｔ１［２］、ｂｘｏｔ１［１］、ｂｘｏｔ１［０］を、各々、
0003593039.tif 000022
の演算で算出し、
また、前記演算結果データｂｘｏｔ１［７：０］及び前記第１の演算ブロックの演算結果データｇｘｏｔ［７：０］に基づいて行った演算の結果を示す８ビット単位のバイトデータｂｘｏｔ２［７：０］を、
ｂｘｏｔ２［７：０］  ＝  ｂｘｏｔ１［７：０］  ＾  ｇｘｏｔ１ｄ［７：０］
の演算で算出する
ことを特徴とする請求項１０記載の誤り及び同期検出方法。
【請求項１３】
前記パリティチェック工程では、
前記データ並び替え工程から前記第１の演算工程に順次送られる８ビット単位のバイトデータを前記データ記憶装置に記憶すると共に特定の期間保持し、
前記第１の演算工程での演算結果の８ビット単位のバイトデータを前記データ記憶装置に記憶し、
更に、前記データ記憶装置から前記第１の演算工程での演算結果の８ビット単位のバイトデータを前記特定の期間保持した後、前記第２の演算工程に送る
ことを特徴とする請求項１０記載の誤り及び同期検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルデータをフォーマット化する際の誤り検出及び同期検出を行なう装置並びに方法に関するものである。
【０００２】
【従来の技術】
ケーブルモデムを用いたインターネット通信や北米を中心とするＣＡＴＶ放送におけるＤｏｗｎ  Ｓｔｒｅａｍ伝送では、ＩＴＵ−Ｔ  Ｊ．８３  ＡＮＮＥＸ  Ｂ仕様に準拠したデータフォーマットが用いられている。この仕様では、７ビットを１バイトとするリードソロモン復号データから構成されるパケットデータを、８ビットを１バイトとするトランスポートストリームデータパケットに変換する処理を行なう。この際、７ビットデータパケットにおける同期バイト検出処理、誤り検出処理、及びトランスポートストリーム同期バイト挿入処理を行なうことが必要となる。これら７ビットを１バイトとするリードソロモン復号データから構成されるパケットデータを、８ビットを１バイトとするトランスポートストリームデータパケットに変換する一連の処理を以下ではＭＰＥＧフレーミング処理と呼ぶことにする。
【０００３】
ＭＰＥＧフレーミング処理は、ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔａｉｏｎ  Ｊ．８３（ＩＴＵ−Ｔ勧告書  Ｊ．８３）、ＡＮＮＥＸ  Ｂ、Ｄｉｇｉｔａｌ  ｍｕｌｔｉ−ｐｒｏｇｒａｍ  Ｓｙｓｔｅｍ  Ｂ、Ｂ．４    ＭＰＥＧ−２  ｔｒａｎｓｐｏｒｔ  ｆｒａｍｉｎｇ  の項に詳細に示されており、特に、ＦｉｇｕｒｅＢ．３／Ｊ．８３として、実際のデコード回路が提示されている。この回路は、同期バイト検出を行なうためのシンドローム計算回路である。
【０００４】
この回路は、前記７ビットバイトのリードソロモン復号データを、一旦、シリアルビットに変換したデータを入力する仕様となっており、シリアルデータを用いてシンドローム計算を行なうことにより、誤り検出のためのパリティチェックを行なうと共に、このパリティチェックの結果に対応して同期バイト検出が同時に実行される回路となっている。そして、前記シリアル処理によるパリティチェック及び同期検出を行った後、出力データを８ビットを１バイトとする８ビット単位のバイトデータに変換して、トランスポートストリームデータパケットを構成している。
【０００５】
【発明が解決しようとする課題】
一般に、パリティチェック及び同期検出処理は、トランスポートストリームパケットにして、１パケット単位の処理となる。即ち、８ビット×１８８バイト＝１５０４ビット単位の処理となり、１パケットにおける最初の１バイトから最後の１バイトまでは、最小で１４９６ビット分の遅延が必要となる。
【０００６】
このため、前記ＦｉｇｕｒｅＢ．３／Ｊ．８３に提示されたデコード回路では、７ビット単位のバイトデータをシリアルビットデータに変換した後、１４９７段の遅延器を用いた処理を行い、その後、８ビット単位のバイトデータに変換するというシーケンスを用いている。従って、処理全体を実現するには、パラレル−シリアル変換回路、ＦｉｇｕｒｅＢ．３／Ｊ．８３に提示された１４９７段の遅延器を用いたＭＰＥＧ２−同期検出用シンドローム計算回路、シリアル−パラレル変換回路が必要となり、回路規模が膨大となる欠点がある。
【０００７】
本発明は、前記の問題点を解決するためになされたものであり、その目的は、１４９７段の遅延器、及び出力段のシリアル−パラレル変換回路を不要にできる誤り及び同期検出回路を提供することにある。
【０００８】
【課題を解決するための手段】
前記目的を達成するために、本発明では、ＭＰＥＧフレーミング処理全体としては７ビット単位のバイトデータに種々の処理を加えた後に最終的に８ビット単位のバイトデータにするというバイト−バイト変換である点に着目し、最初に７ビットバイトデータを８ビットバイトデータにバイト−バイト変換処理し、その後に、８ビットのバイト単位でパリティチェック及び同期検出を行なうシーケンスを実現する。
【０００９】
具体的に、請求項１記載の発明の誤り及び同期検出装置は、７ビット単位のバイトデータを入力して８ビット単位のバイトデータに変換するデータ並び替えブロックと、前記データ並び替えブロックで変換された８ビット単位のバイトデータを入力し、該バイトデータを用いてＭＰＥＧ同期バイトの検出及びパリティチェックによる誤りの検出を行うパリティチェックブロックと、前記データ並び替えブロックで変換された８ビット単位のバイトデータ、及び前記パリティチェックブロックにおけるＭＰＥＧ同期バイトの検出及びパリティチェックによる誤り検出のための演算途中の８ビット単位の中間バイトデータを入力して記憶し、８ビット単位のバイトデータを基本単位としてデータの入出力が可能なデータ記憶ブロックとを備えて、前記パリティチェックブロックから、同期バイトを含む８ビット単位のバイトデータの集合であるＭＰＥＧパケットデータを出力することを特徴とする。
【００１０】
請求項２記載の発明は、前記請求項１記載の誤り及び同期検出装置において、前記データ並び替えブロックは、連続して入力される７ビット単位の２つのバイトデータを１組として、最初に入力されるバイトデータと後に入力されるバイトデータの上位１ビットとを組み合わせた８ビット単位の第１のバイトデータと、前記最初に入力されるバイトデータの下位６ビットと後に入力されるバイトデータの上位２ビットとを組み合わせた８ビット単位の第２のバイトデータと、同様に最初に入力されるバイトデータの下位ｎビット（ｎ＝５、４、３、２、１）と後に入力されるバイトデータの上位ｍビット（ｍ＝３、４、５、６、７）とを組み合わせた８ビット単位の第３〜第７のバイトデータとを生成することを特徴とする。
【００１１】
請求項３記載の発明は、前記請求項１記載の誤り及び同期検出装置において、前記パリティチェックブロックは、データの所定クロック分の遅延を含む所定のシンドローム計算を行う第１及び第２の演算ブロックを有し、前記第１の演算ブロックは、前記データ並び替えブロックから出力される８ビット単位のバイトデータを受けて、前記データの所定クロック分の遅延前の演算を行い、この演算結果である中間バイトデータを前記データ記憶ブロックに出力し、前記第２の演算ブロックは、前記データ記憶ブロックから前記中間バイトデータを受けて、前記データの所定クロック分の遅延後の演算を行って、ＭＰＥＧ同期検出及びパリティチェックによる誤り検出を行った８ビット単位のバイトデータを出力することを特徴とする。
【００１２】
請求項４記載の発明は、前記請求項３記載の誤り及び同期検出装置において、前記第１の演算ブロックは、入力される８ビット単位のバイトデータをｐｄａｔａｉ［７：０］、このバイトデータｐｄａｔａｉ［７：０］を用いて行った演算結果を示すデータをｇｘｏｔ［７：０］、この演算結果データｇｘｏｔ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ７ｄ［７：０］、前記演算結果データｇｘｏｔ［７：０］を計算する過程で使用する８ビット単位の中間変数をｇｘ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、該８ビット単位の中間変数ｇｘ［７：０］を構成する各ビットｇｘ［７］、ｇｘ［６］、ｇｘ［５］、ｇｘ［４］、ｇｘ［３］、ｇｘ［２］、ｇｘ［１］、ｇｘ［０］を、各々、
0003593039.tif 000002
の演算により算出し、
前記演算結果データｇｘｏｔ［７：０］を構成する各ビットｇｘｏｔ［７］、ｇｘｏｔ［６］、ｇｘｏｔ［５］、ｇｘｏｔ［４］、ｇｘｏｔ［３］、ｇｘｏｔ［２］、ｇｘｏｔ［１］、ｇｘｏｔ［０］を、前記中間変数ｇｘ［７：０］を用いて、各々、
0003593039.tif 000003
の演算により算出することを特徴とする。
【００１３】
請求項５記載の発明は、前記請求項３記載の誤り及び同期検出装置において、前記第２の演算ブロックは、入力される８ビット単位のバイトデータをｄｏｂｘ［７：０］、このバイトデータｄｏｂｘ［７：０］を用いて行った演算の結果を示すデータをｂｘｏｔ１［７：０］、前記入力されるバイトデータｄｏｂｘ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｄｏｂｘ７ｄ［７：０］、前記演算結果データｂｘｏｔ１［７：０］を計算する過程で使用する８ビット単位の中間変数をｂｘ［７：０］、前記第１の演算ブロックの演算結果データｇｘｏｔ［７：０］を前記基準クロックに従って１クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ１ｄ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、前記８ビット単位の中間変数ｂｘ［７：０］を構成する各ビットｂｘ［７］、ｂｘ［６］、ｂｘ［５］、ｂｘ［４］、ｂｘ［３］、ｂｘ［２］、ｂｘ［１］、ｂｘ［０］を、各々、
0003593039.tif 000004
の演算で算出し、
また、前記演算結果データｂｘｏｔ１［７：０］を構成する各ビットｂｘｏｔ１［７］、ｂｘｏｔ１［６］、ｂｘｏｔ１［５］、ｂｘｏｔ１［４］、ｂｘｏｔ１［３］、ｂｘｏｔ１［２］、ｂｘｏｔ１［１］、ｂｘｏｔ１［０］を、各々、
0003593039.tif 000005
の演算で算出し、
また、前記演算結果データｂｘｏｔ１［７：０］及び前記第１の演算ブロックの演算結果データｇｘｏｔ［７：０］に基づいて行った演算の結果を示す８ビット単位のバイトデータｂｘｏｔ２［７：０］を、
ｂｘｏｔ２［７：０］  ＝  ｂｘｏｔ１［７：０］  ＾  ｇｘｏｔ１ｄ［７：０］
の演算で算出することを特徴とする。
【００１４】
請求項６記載の発明は、前記請求項３記載の誤り及び同期検出装置において、前記データ記憶ブロックは、前記データ並び替えブロックからの８ビット単位のバイトデータ、及び前記第１の演算ブロックの演算結果である８ビット単位のバイトデータを入力し、この両バイトデータを各々特定の期間保持した後に出力することを特徴とする。
【００１５】
請求項７記載の発明は、前記請求項１又は６記載の誤り及び同期検出装置において、前記データ記憶ブロックはＲＡＭにより構成されることを特徴とする。
【００１６】
請求項８記載の発明の誤り及び同期検出方法は、７ビット単位のバイトデータを入力して８ビット単位のバイトデータに変換するデータ並び替え工程と、前記データ並び替えブロックで変換された８ビット単位のバイトデータを入力し、該バイトデータを用いてシンドローム計算し、その計算途中の８ビット単位の中間バイトデータをデータ記憶装置に一時記憶させながら、該データ記憶装置に記憶した前記中間バイトデータを用いて前記シンドローム計算を続行して、ＭＰＥＧ同期バイトの検出及びパリティチェックによる誤りの検出を行うパリティチェック工程とを備え、同期バイトを含む８ビット単位のバイトデータの集合であるＭＰＥＧパケットデータを出力することを特徴とする。
【００１７】
請求項９記載の発明は、前記請求項８記載の誤り及び同期検出方法において、前記データ並び替え工程では、連続して入力される７ビット単位の２つのバイトデータを１組として、最初に入力されるバイトデータと後に入力されるバイトデータの上位１ビットとを組み合わせた８ビット単位の第１のバイトデータと、前記最初に入力されるバイトデータの下位６ビットと後に入力されるバイトデータの上位２ビットとを組み合わせた８ビット単位の第２のバイトデータと、同様に最初に入力されるバイトデータの下位ｎビット（ｎ＝５、４、３、２、１）と後に入力されるバイトデータの上位ｍビット（ｍ＝３、４、５、６、７）とを組み合わせた８ビット単位の第３〜第７のバイトデータとを生成することを特徴とする。
【００１８】
請求項１０記載の発明は、前記請求項８記載の誤り及び同期検出方法において、前記パリティチェック工程は、データの所定クロック分の遅延を含む所定のシンドローム計算を行う第１及び第２の演算工程を有し、前記第１の演算工程では、前記データ並び替え工程で変換された８ビット単位のバイトデータを受けて、前記データの所定クロック分の遅延前の演算を行い、この演算結果である８ビット単位の中間バイトデータを前記データ記憶装置に出力し、前記第２の演算工程では、前記データ記憶装置から前記中間バイトデータを受けて、前記データの所定クロック分の遅延後の演算を行って、ＭＰＥＧ同期検出及びパリティチェックによる誤り検出を行った８ビット単位のバイトデータを出力することを特徴とする。
【００１９】
請求項１１記載の発明は、前記請求項１０記載の誤り及び同期検出方法において、前記第１の演算工程では、入力される８ビット単位のバイトデータをｐｄａｔａｉ［７：０］、このバイトデータｐｄａｔａｉ［７：０］を用いて行った演算結果を示すデータをｇｘｏｔ［７：０］、この演算結果データｇｘｏｔ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ７ｄ［７：０］、前記演算結果データｇｘｏｔ［７：０］を計算する過程で使用する８ビット単位の中間変数をｇｘ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、該８ビット単位の中間変数ｇｘ［７：０］を構成する各ビットｇｘ［７］、ｇｘ［６］、ｇｘ［５］、ｇｘ［４］、ｇｘ［３］、ｇｘ［２］、ｇｘ［１］、ｇｘ［０］を、各々、
0003593039.tif 000006
の演算により算出し、
前記演算結果データｇｘｏｔ［７：０］を構成する各ビットｇｘｏｔ［７］、ｇｘｏｔ［６］、ｇｘｏｔ［５］、ｇｘｏｔ［４］、ｇｘｏｔ［３］、ｇｘｏｔ［２］、ｇｘｏｔ［１］、ｇｘｏｔ［０］を、前記中間変数ｇｘ［７：０］を用いて、各々、
0003593039.tif 000007
の演算により算出することを特徴とする。
【００２０】
請求項１２記載の発明は、前記請求項１０記載の誤り及び同期検出方法において、前記第２の演算工程は、入力される８ビット単位のバイトデータをｄｏｂｘ［７：０］、このバイトデータｄｏｂｘ［７：０］を用いて行った演算の結果を示すデータをｂｘｏｔ１［７：０］、前記入力されるバイトデータｄｏｂｘ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｄｏｂｘ７ｄ［７：０］、前記演算結果データｂｘｏｔ１［７：０］を計算する過程で使用する８ビット単位の中間変数をｂｘ［７：０］、前記第１の演算ブロックの演算結果データｇｘｏｔ１［７：０］を前記基準クロックに従って１クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ１ｄ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、前記８ビット単位の中間変数ｂｘ［７：０］を構成する各ビットｂｘ［７］、ｂｘ［６］、ｂｘ［５］、ｂｘ［４］、ｂｘ［３］、ｂｘ［２］、ｂｘ［１］、ｂｘ［０］を、各々、
0003593039.tif 000008
の演算で算出し、
また、前記演算結果データｂｘｏｔ１［７：０］を構成する各ビットｂｘｏｔ１［７］、ｂｘｏｔ１［６］、ｂｘｏｔ１［５］、ｂｘｏｔ１［４］、ｂｘｏｔ１［３］、ｂｘｏｔ１［２］、ｂｘｏｔ１［１］、ｂｘｏｔ１［０］を、各々、
0003593039.tif 000009
の演算で算出し、
また、前記演算結果データｂｘｏｔ１［７：０］及び前記第１の演算ブロックの演算結果データｇｘｏｔ［７：０］に基づいて行った演算の結果を示す８ビット単位のバイトデータｂｘｏｔ２［７：０］を、
ｂｘｏｔ２［７：０］  ＝  ｂｘｏｔ１［７：０］  ＾  ｇｘｏｔ１ｄ［７：０］
の演算で算出することを特徴とする。
【００２１】
請求項１３記載の発明は、前記請求項１０記載の誤り及び同期検出方法において、前記パリティチェック工程では、前記データ並び替え工程から前記第１の演算工程に順次送られる８ビット単位のバイトデータを前記データ記憶装置に記憶すると共に、特定の期間保持し、前記第１の演算工程での演算結果の８ビット単位のバイトデータを前記データ記憶装置に記憶し、更に、前記データ記憶装置から前記第１の演算工程での演算結果の８ビット単位のバイトデータを前記特定の期間保持した後、前記第２の演算工程に送ることを特徴とする。
【００２２】
以上により、請求項１ないし請求項１３記載の発明の誤り及び同期検出装置並びに方法では、入力された７ビット単位の一連のバイトデータは先ずデータ並び替えブロックにより８ビット単位のバイトデータに並び替えられる。この８ビット単位の各バイトデータはデータ記憶ブロックに入力されて記憶されると共に、パリティチェックブロックにも入力される。前記データ記憶ブロックに入力された８ビット単位の各バイトデータは、所定期間（例えば１４９６クロック）遅延されて前記パリティチェックブロックに入力される。このパリティチェックブロックは、８ビット単位の各バイトデータ及びそれらの所定期間遅延されたバイトデータを用いて同期検出演算及びパリティチェック演算を行なう。
【００２３】
従って、バイトデータを７ビット単位から８ビット単位にバイト  −バイト変換し、その後は一貫して８ビット単位のバイトデータを用いて同期検出演算及びパリティチェック演算が行われるので、従来のように出力段に備えるシリアルパラレル変換が不要となり、回路規模の削減が可能になる。
【００２４】
また、８ビット単位のバイトデータを用いて処理するので、データ記憶ブロックとしてＲＡＭを用いることが可能であり、このＲＡＭに記憶したバイトデータは所定期間遅延して出力すればよい。従って、従来のように１０００段以上の多段の遅延器が必要となる場合に比して、回路規模が極めて小規模になる。
【００２５】
更に、８ビット構成のバイト単位で演算処理を行うので、ＣＰＵ処理等にも適した演算方法となり、特定のハードウェア構成に限定されないのは勿論のこと、ソフトウェアで実現することも可能である。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態の誤り及び同期検出装置について図面を参照しながら説明する。
【００２７】
図１は本実施の形態に係る誤り及び同期検出装置の構成を示すブロック図である。同図の誤り及び同期検出装置は、データ並び替えブロック１と、パリティチェックブロック２と、データ記憶ブロック（データ記憶装置）３から構成されている。前記データ並び替えブロック１は、入力された７ビット単位のバイトデータを８ビット単位のバイトデータに変換する。また、前記パリティチェックブロック２は、連続して入力される８ビット単位のバイトデータを用いて演算することにより、ＭＰＥＧ同期バイト検出及びパリティチェックによる誤り検出を行なう。更に、データ記憶ブロック３は、パリティチェックブロック２におけるＭＰＥＧ同期バイト検出演算及びパリティチェックによる誤り検出演算を行なう際に、データの保持が必要であるため、このデータの保持を行なう。
【００２８】
図２は前記データ並び替えブロック１の内部構成を示し、図３はこのデータ並び替えブロック２のデータ変換方法を図示したものである。図４は前記パリティチェックブロック２の内部構成を示すブロック図である。
【００２９】
前記パリティチェックブロック２は、第１の演算ブロック１０と、第２の演算ブロック１１と、選択回路１２とから構成される。前記第１及び第２の演算ブロック１０の機能を概述すると、第１の演算ブロック１０は、データ並び替えブロック１から８ビット単位のバイトデータを受けて演算を行って、データ記憶ブロック３に演算結果のバイトデータを出力する。第２の演算ブロック１１は、データ記憶ブロック３から前記第１の演算ブロック１０の演算結果の８ビット単位のバイトデータを受けて所定時間経過後に受けて演算を行い、ＭＰＥＧ同期バイトを含んだデータを出力する。選択回路１２は、第２の演算ブロック１１の演算結果データ及びデータ記憶ブロック３から出力されるバイトデータの何れか一方を選択して、８ビットのＭＰＥＧ２トランスポートストリームデータとして出力する。
【００３０】
以下、処理の順番に従ってデータ並び替えブロック１、パリティチェックブロック２及びデータ記憶ブロック３の構成及び動作を具体的に説明する。
【００３１】
先ず、７ビットバイトの入力データがデータ並び替えブロック１に入力される。この７ビット単位のバイトデータを１ビットずつシフトさせ、８ビットのデータを作成する。このバイトデータを生成するパターンとしては、合計８種類が生成される。図３に入力データ変換方法を示した過程図を示す。先ず、７ビット単位のデータをシリアル化し、１クロック毎に１ビットシフトさせた８ビットデータ（Ａ、Ｂ…、Ｊ…）を形成する。図３から判るように、８クロック毎に同種類のデータが形成される。つまりＡから始まる８ビット単位のバイトデータとＩから始まる８ビット単位のバイトデータとは同じ組合せパターンであり、同様にＢから始まる８ビット単位のバイトデータとＪから始まる８ビット単位のバイトデータとは同じ組合せパターンのデータである。
【００３２】
前記の動作を行うデータ並び替えブロック１の内部構成を図２に示す。同図のブロック１は、シリアル化された７ビット単位のデータを１単位として格納する２個のレジスタ１ａ、１ｂと、セレクタ１ｃとを有する。レジスタ１ａ、１ｂは直列に接続される。従って、レジスタ１ｂに７ビット単位の１バイトデータ（前バイトデータ）が格納されると、レジスタ１ａにはそれに続く７ビット単位の１バイトデータ（後バイトデータ）が格納される。前記セレクタ１ｃは第１〜第７の入力端子を持ち、各入力端子を順番に選択する。第１の入力端子には前バイトデータの全ビットｄａｔａｉｒｅｇ２［６：０］  と後バイトデータの上位１ビットｄａｔａｉｒｅｇ１［６］  との合計８ビットが入力される。第２の入力端子には前バイトデータの下位６ビットｄａｔａｉｒｅｇ２［５：０］  と後バイトデータの上位２ビットｄａｔａｉｒｅｇ１［６：５］  との合計８ビットが、第３の入力端子には前バイトデータの下位５ビットｄａｔａｉｒｅｇ２［４：０］  と後バイトデータの上位３ビットｄａｔａｉｒｅｇ１［６：４］  との合計８ビットが、第４の入力端子には前バイトデータの下位４ビットｄａｔａｉｒｅｇ２［３：０］  と後バイトデータの上位４ビットｄａｔａｉｒｅｇ１［６：３］  との合計８ビットが、第５の入力端子には前バイトデータの下位３ビットｄａｔａｉｒｅｇ２［２：０］  と後バイトデータの上位５ビットｄａｔａｉｒｅｇ１［６：２］  との合計８ビットが、第６の入力端子には前バイトデータの下位２ビットｄａｔａｉｒｅｇ２［１：０］  と後バイトデータの上位６ビットｄａｔａｉｒｅｇ１［６：１］  との合計８ビットが、第７の入力端子には前バイトデータの最下位ビットｄａｔａｉｒｅｇ２［０］  と後バイトデータの全ビットｄａｔａｉｒｅｇ１［６：０］  との合計８ビットが各々入力される。
【００３３】
このようにして、バイト並び替えブロック１において、７ビット単位のバイトデータから８ビット単位のバイトデータに並び替えられたデータがパリティチェックブロック２に出力される。
【００３４】
パリティチェックブロック２は、図４に示すように、第１の演算ブロック１０と第２の演算ブロック１１と選択回路１２とから構成される。前記第１の演算ブロック１０及び第２の演算ブロック１１は、ＩＴＵ−Ｔ勧告書  Ｊ．８３  ＡＮＮＥＸ  Ｂ、Ｄｉｇｉｔａｌ  ｍｕｌｔｉ−ｐｒｏｇｒａｍ  Ｓｙｓｔｅｍ  Ｂ、Ｂ．４    ＭＰＥＧ−２  ｔｒａｎｓｐｏｒｔ  ｆｒａｍｉｎｇ  の項に示された具体的なデコード回路と同等の演算を行う。この具体的なデコード回路の構成を図１３に示す。同図のデコード回路は、シンドロームを次の方程式基づいて計算する回路である。
【００３５】
0003593039.tif 000010
である。
【００３６】
データ並び替えブロック１から入力される８ビット単位のバイトデータは、先ず、第１の演算ブロック１０に入力されると同時に、データ記憶ブロック３にも入力されて保持される。
【００３７】
前記第１及び第２の演算ブロック１０、１１は前記方程式基づいたシンドローム計算を行うに際して、データ並び替えブロック１から入力される８ビット単位のバイトデータを単位としてパラレル処理を行う。第１の演算ブロック１０は、図１３のデコード回路のうち１４９７段の遅延器の前段（入力側）の回路部と同等の処理を行い、第２の演算ブロック１１は、図１３のデコード回路のうち１４９７段の遅延器の後段（出力側）の回路部と同等の処理を行う。この処理を行うために、先ず、図１３のデコード回路のうち１４９７段の遅延器の前段（入力側）の回路部（この回路図を図９に示す）の処理を解析する。
【００３８】
図９に示した回路部において、Ｐｏｉｎｔ０〜Ｐｏｉｎｔ８における値の経時変化を図１０に示す。同図は、図９においてある時点での各Ｐｏｉｎｔ７〜Ｐｏｉｎｔ０の値をＸ７〜Ｘ０とし、またその時点からシリアル入力データａ７、ａ６、…ａ０が入力されるとし、特定の基準クロックに従って８クロック分状態が変化したときの様子を示している。時間はｔｉｍｅ１、ｔｉｍｅ２、ｔｉｍｅ３  …  の順に変化するとする。シリアルデータの演算処理結果はＰｏｉｎｔ８の値である。このＰｏｉｎｔ８におけるｔｉｍｅ１〜ｔｉｍｅ８のシリアル処理演算を前記第１の演算ブロック１０では、ある時刻において、同時にパラレルに行うことにより、パラレル演算を実現する。
【００３９】
即ち、第１の演算ブロック１０に入力された８ビット単位のバイトデータは、以下の計算式によってバイト処理される。具体的には、入力される８ビット単位のバイトデータをｐｄａｔａｉ［７：０］、このバイトデータｐｄａｔａｉ［７：０］を用いて行った演算結果を示すデータをｇｘｏｔ［７：０］、この演算結果データｇｘｏｔ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ７ｄ［７：０］、前記演算結果データｇｘｏｔ［７：０］を計算する過程で使用する８ビット単位の中間変数をｇｘ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、該８ビット単位の中間変数ｇｘ［７：０］を構成する各ビットｇｘ［７］、ｇｘ［６］、ｇｘ［５］、ｇｘ［４］、ｇｘ［３］、ｇｘ［２］、ｇｘ［１］、ｇｘ［０］は、各々、
0003593039.tif 000011
の演算により算出し、
また、前記ｇｘｏｔ［７：０］を構成する各ビットｇｘｏｔ［７］、ｇｘｏｔ［６］、ｇｘｏｔ［５］、ｇｘｏｔ［４］、ｇｘｏｔ［３］、ｇｘｏｔ［２］、ｇｘｏｔ［１］、ｇｘｏｔ［０］は、前記中間変数ｇｘ［７：０］を用いて、各々、
0003593039.tif 000012
の各演算により演算される。
【００４０】
図５は、前記第１の演算ブロック１０の内部構成を示す。同図の排他的論理和回路（以下、ＸＯＲ回路と称す）１０ａは前記演算式（２−７）を演算する。また、ＸＯＲ回路１０ｂは演算式（２−６）を、ＸＯＲ回路１０ｃは演算式（２−５）を、ＸＯＲ回路１０ｄは演算式（２−４）を、ＸＯＲ回路１０ｅは演算式（２−３）を、ＸＯＲ回路１０ｆは演算式（２−２）を、ＸＯＲ回路１０ｇは演算式（２−１）を、ＸＯＲ回路１０ｈは演算式（２−０）を各々演算する。また、ＸＯＲ回路１０ｉは演算式（１−７）を、ＸＯＲ回路１０ｊは演算式（１−６）を、ＸＯＲ回路１０ｋは演算式（１−５）を、ＸＯＲ回路１０ｌは演算式（１−４）を、ＸＯＲ回路１０ｍは演算式（１−３）を、ＸＯＲ回路１０ｎは演算式（１−２）を、ＸＯＲ回路１０ｏは演算式（１−１）を、ＸＯＲ回路１０ｐは演算式（１−０）を各々演算する。更に、遅延回路１０ｑは演算結果データｇｘｏｔ［７］を７クロック遅延し、遅延回路１０ｒは演算結果データｇｘｏｔ［６］を７クロック遅延し、遅延回路１０ｓは演算結果データｇｘｏｔ［５］を７クロック遅延し、遅延回路１０ｔは演算結果データｇｘｏｔ［４］を７クロック遅延し、遅延回路１０ｕは演算結果データｇｘｏｔ［３］を７クロック遅延し、遅延回路１０ｖは演算結果データｇｘｏｔ［２］を７クロック遅延し、遅延回路１０ｗは演算結果データｇｘｏｔ［１］を７クロック遅延し、遅延回路１０ｘは演算結果データｇｘｏｔ［０］を７クロック遅延する。
【００４１】
図１０のＰｏｉｎｔ８におけるｔｉｍｅ１〜ｔｉｍｅ８の値は、第１の演算ブロック１０におけるビット７〜ビット０と一致している。
【００４２】
前記第１の演算ブロック１０で処理された８ビット単位のバイトデータは、データ記憶ブロック３に送られ、１４９６クロック分遅延された後、第２の演算ブロック１１に送られる。
【００４３】
次に、第２の演算ブロック１１の処理を説明する。この演算ブロック１１の処理は、既述の通り図１３に示したデコード回路のうち１４９７段の遅延器の後段（出力側）の回路部と同等の処理を行う。図１１は、図１３のデコード回路のうち１４９７段の遅延器の後段（出力側）の回路部を示し、以下、図１１の回路部の処理を解析する。図１１に示したＰｏｉｎｔ０〜Ｐｏｉｎｔ９における値の経時変化を図１２に示す。同図では、図１１においてある時点での各Ｐｏｉｎｔ７〜Ｐｏｉｎｔ０の値をＸ７〜Ｘ０とし、また、その時点からシリアル入力データａ７、ａ６、…ａ０が入力されるとし、特定の基準クロックに従って、８クロック分状態が変化したときの様子を示している。ｔｉｍｅ１、ｔｉｍｅ２、ｔｉｍｅ３  …の順に時間が変化する。シリアルデータの演算処理結果はＰｏｉｎｔ８の値である。このＰｏｉｎｔ８におけるｔｉｍｅ１〜ｔｉｍｅ８のシリアル処理演算を、前記第２の演算ブロック１１では、ある時刻において、同時にパラレルに行うパラレル演算を行う。また、Ｐｏｉｎｔ９における演算は、第１の演算ブロック１０の出力結果データを１クロック分遅延させたデータと、Ｐｏｉｎｔ８の演算結果データとを用いて、ｔｉｍｅ１〜ｔｉｍｅ８のシリアル処理を行うものである。このＰｏｉｎｔ８及びＰｏｉｎｔ９におけるｔｉｍｅ１〜ｔｉｍｅ８のシリアル処理演算を、前記第２の演算ブロック１１ではある時刻において同時にパラレルに行うパラレル演算を実現する。
【００４４】
即ち、第２の演算ブロック１１に入力された８ビット単位のバイトデータは、以下の計算式によってバイト処理される。入力される８ビット単位のバイトデータをｄｏｂｘ［７：０］、このバイトデータｄｏｂｘ［７：０］を用いて行った演算の結果を示すデータをｂｘｏｔ１［７：０］、前記入力されるバイトデータｄｏｂｘ［７：０］を特定の基準クロックに従って７クロック分遅延させた８ビット単位のバイトデータをｄｏｂｘ７ｄ［７：０］、前記演算結果データｂｘｏｔ１［７：０］を計算する過程で使用する８ビット単位の中間変数をｂｘ［７：０］、前記第１の演算ブロック１０の演算結果データｇｘｏｔ［７：０］を前記基準クロックに従って１クロック分遅延させた８ビット単位のバイトデータをｇｘｏｔ１ｄ［７：０］として、各ビットの排他的論理和を「＾」で示すとき、前記８ビット単位の中間変数ｂｘ［７：０］を構成する各ビットｂｘ［７］、ｂｘ［６］、ｂｘ［５］、ｂｘ［４］、ｂｘ［３］、ｂｘ［２］、ｂｘ［１］、ｂｘ［０］は、各々、
0003593039.tif 000013
の演算で算出し、
また、前記ｂｘｏｔ１［７：０］を構成する各ビットｂｘｏｔ１［７］、ｂｘｏｔ１［６］、ｂｘｏｔ１［５］、ｂｘｏｔ１［４］、ｂｘｏｔ１［３］、ｂｘｏｔ１［２］、ｂｘｏｔ１［１］、ｂｘｏｔ１［０］は、前記中間変数ｂｘ［７：０］及び８ビットバイト入力データｄｏｂｘ［７：０］を用いて、各々、
0003593039.tif 000014
の演算で算出する。
【００４５】
更に、ｂｘｏｔ２［７：０］は、該ｂｘｏｔ１［７：０］及び前記ｇｘｏｔ１ｄ［７：０］を用いて、
ｂｘｏｔ２［７：０］  ＝  ｂｘｏｔ１［７：０］  ＾  ｇｘｏｔ１ｄ［７：０］                        …（５）
の演算で算出する。
【００４６】
前記の演算を行う第２の演算ブロック１１の内部構成を図６に示す。同図において、ＸＯＲ回路１１ａは前記演算式（３−７）を演算する。また、ＸＯＲ回路１１ｂは演算式（３−６）を、ＸＯＲ回路１１ｃは演算式（３−５）を、ＸＯＲ回路１１ｄは演算式（４−７）を、ＸＯＲ回路１１ｅは演算式（４−６）を、ＸＯＲ回路１１ｆは演算式（４−５）を、ＸＯＲ回路１１ｇは演算式（４−４）を、ＸＯＲ回路１１ｈは演算式（４−３）を、ＸＯＲ回路１１ｉは演算式（４−２）を、ＸＯＲ回路１１ｊは演算式（４−１）を、ＸＯＲ回路１１ｋは演算式（４−０）を各々演算する。更に、ＸＯＲ回路１１ｌは演算式（５）を演算する。加えて、遅延回路１１ｍは入力された８ビット単位のバイトデータｄｏｂｘ［７：０］を７クロック分遅延し、遅延回路１１ｎは前記第１の演算回路１０の演算結果データｇｘｏｔ［７：０］を１クロック分遅延する遅延回路である。
【００４７】
図１２のＰｏｉｎｔ８におけるｔｉｍｅ１〜ｔｉｍｅ８の値は、第２の演算ブロック１１の出力結果データにおけるビット７〜ビット０と一致している。
【００４８】
本実施の形態におけるパリティチェックブロック２は、第１の演算ブロック１０及び第２の演算ブロック１０でバイトデータの演算を行なうことにより、パリティチェックを行い、８ビット単位のバイトデータが１８８バイト送信される毎に誤りが検出されなければ、４７ｈｅｘを出力し、誤りが検出された場合には４７ｈｅｘを出力しない。つまり、結果として４７ｈｅｘを検出して、同期バイト検出処理を行うことにより、パリティチェックを行なうことが可能となる。
【００４９】
パリティチェックブロック２中の選択回路１２は、データ記憶ブロック３から入力される８ビット単位のバイトデータと、第２の演算ブロック１１から出力されるパリティチェック結果を示すデータとを受けて、第２の演算ブロック１１の出力結果データがトランスポートストリームパケットの先頭の同期バイトを示す４７ｈｅｘのときには、この４７ｈｅｘデータを選択し、トランスポートストリームパケットの先頭でないデータの場合には、データ記憶ブロック３から入力される通常の８ビット単位のバイトデータを選択して出力する。
【００５０】
次に、データ記憶ブロック３の構成及び動作について説明する。本実施の形態では、データ記憶ブロック３は、１４９６ワード、１６ビットの２ｐｏｒｔ−ＲＡＭが用いられ、入力信号と計算データとを１４９６クロック分遅延させるために用いる。
【００５１】
データ記憶ブロック３の構成を図７（ａ）に、データ記憶ブロック３内のデータの経時変化を同図（ｂ）に、入出力タイミングチャートを図８に各々示す。データ記憶ブロック（ＲＡＭ）３には、図７（ａ）に示すように、データｄｉ［１５：０］（１６ビットバイト）が入力される。この入力データｄｉ［１５：０］は、データ並び替えブロック１の出力データｐｄａｔａｉ［７：０］  （８ビットバイト）を下位ビットとし、パリティチェックブロック２中の第１の演算ブロック１０の出力データｇｘｏｔ［７：０］  （８ビットバイト）を上位ビットとしてビット連結して成る。また、同ＲＡＭ３には、Ｒｅａｄイネーブル信号ｎｒｅ、Ｗｒｉｔｅイネーブル信号ｎｗｅ、Ｒｅａｄ用アドレスａｄｄｒｂ［１０：０］、及びＷｒｉｔｅ用アドレスａｄｄｒａ［１０：０］が入力される。図７（ｂ）からも判るように、Ｗｒｉｔｅ用アドレスａｄｄｒａ［１０：０］は、Ｒｅａｄ用アドレスａｄｄｒｂ［１０：０］を１クロック遅延させており、常に同一アドレスに対してＲｅａｄした後にＷｒｉｔｅするように構成される。Ｒｅａｄイネーブル信号ｎｒｅ及びＷｒｉｔｅイネーブル信号ｎｗｅは、非同期中は常にＬｏｗ（Ｌｏｗ−ａｃｔｉｖｅ）であり、同期中は正しいデータが来た時にのみ、つまり８クロックに１回Ｌｏｗになる。ＲＡＭ３の入力データｄｉ［１５：０］は、入力時から１４９６クロック分遅延した時点で出力データｄｏ［１５：０］として出力される。この出力データｄｏ［１５：０］は、１クロック分遅れて（１ラッチして）データｄｏｑ［１５：０］としてパリティチェックブロック２に取り込まれ、前記出力データｄｏ［１５：０］の上位８ビットのデータ、即ち第１の演算ブロック１０の出力データｇｘｏｔ［７：０］  が第２の演算ブロック１１の演算に供される。
【００５２】
以上説明したように、本実施の形態によれば、７ビット単位のバイトデータをデータ並び替えブロック１で８ビット単位のバイトデータに変換した後、パリティチェックブロック２及びデータ記憶ブロック３に入力し、先ず、パリティチェックブロック２では、８ビット構成のバイト単位での演算により同期検出を行なうことが可能となると同時に、８ビット構成のバイト単位での演算によりパリティチェックを行なうことが可能となる。更に、データ記憶ブロック３についても、８ビット構成のバイト単位でデータを取り扱うことが可能となり、データの演算処理からトランスポートストリーム出力までを一貫して８ビット構成のバイト単位で取り扱うことが可能となる。
【００５３】
また、本発明における８ビット構成のバイト単位での計算処理方法は、ハードウェアとしてＣＰＵを用いた場合に、ソフトウェアとして実現することも可能であり、ソフトウェアにより８ビット構成のバイト単位での処理を可能とする誤り及び同期検出方法として実現することが可能である。
【００５４】
【発明の効果】
以上説明したように、請求項１ないし請求項１３記載の誤り及び同期検出装置並びに方法によれば、バイトデータを７ビット単位から８ビット単位にバイト  −バイト変換し、その後は一貫して８ビット単位のバイトデータを用いて同期検出演算及びパリティチェック演算を行ったので、従来のように出力段に備えるシリアルパラレル変換が不要となり、回路規模を効果的に削減できる。
【００５５】
しかも、８ビット単位のバイトデータを用いて処理するので、データ記憶ブロックとしてＲＡＭを用いることが可能であって、多段の遅延器に代えてＲＡＭに記憶したバイトデータを所定期間遅延して出力すればよく、従来の多段の遅延器が不要となり、回路規模を極めて小規模にできる。
【００５６】
更に、８ビット構成のバイト単位で演算処理を行うので、ＣＰＵ処理等にも適した演算方法となり、種々のハードウェア構成で実現できると共に、ソフトウェアで実現することも可能である。
【図面の簡単な説明】
【図１】本発明の実施の形態の誤り及び同期検出装置の概略構成を示すブロック図である。
【図２】同誤り及び同期検出装置に備えるデータ並び替えブロックの構成を示す図である。
【図３】同データ並び替えブロックによるデータ並び替え方法を示す図である。
【図４】同誤り及び同期検出装置に備えるパリティチェックブロックの構成を示すブロック図である。
【図５】同パリティチェックブロックに備える第１の演算ブロックの構成を示す図である。
【図６】同パリティチェックブロックに備える第２の演算ブロックの構成を示す図である。
【図７】（ａ）は同誤り及び同期検出装置に備えるデータ記憶ブロックを構成するのＲＡＭのデータ記憶状況を示す図、（ｂ）は同データ記憶ブロックのデータの入出力の経時変化を示す図である。
【図８】同データ記憶ブロックの動作タイミングチャートを示す図である。
【図９】ＭＰＥＧフレーミング処理についてＩＴＵ−Ｔ勧告書  Ｊ．８３が提案するデコード回路の１４９７段の遅延前の回路部分を示す図である。
【図１０】同回路部分による演算過程を示す図である。
【図１１】ＭＰＥＧフレーミング処理についてＩＴＵ−Ｔ勧告書  Ｊ．８３が提案するデコード回路の１４９７段の遅延後の回路部分を示す図である。
【図１２】同回路部分による演算過程を示す図である。
【図１３】ＭＰＥＧフレーミング処理についてＩＴＵ−Ｔ勧告書  Ｊ．８３が提案するデコード回路の全体構成を示す図である。
【符号の説明】
１                              データ並び替えブロック
１ａ、１ｂ              レジスタ
１ｃ                          セレクタ
２                              パリティチェックブロック
３                              データ記憶ブロック（データ記憶装置）
１０                              第１の演算ブロック
１０ａ〜１０ｐ          ＸＯＲ回路
１０ｑ〜１０ｘ          遅延回路
１１                              第２の演算ブロック
１１ａ〜１１ｋ          ＸＯＲ回路
１１ｌ、１１ｍ          遅延回路
１２                              選択回路
【図１】
0003593039.tif 000023
【図２】
0003593039.tif 000024
【図３】
0003593039.tif 000025
【図４】
0003593039.tif 000026
【図５】
0003593039.tif 000027
【図６】
0003593039.tif 000028
【図７】
0003593039.tif 000029
【図８】
0003593039.tif 000030
【図９】
0003593039.tif 000031
【図１０】
0003593039.tif 000032
【図１１】
0003593039.tif 000033
【図１２】
0003593039.tif 000034
【図１３】
0003593039.tif 000035