(57)【要約】データの冗長度を抑えつつ、送信に好適なビット列特性を持つスクランブルデータを送信する。基準値がヘッダとして付加された基準フレームから自己同期型スクランブラによりスクランブルデータを生成し、基準値と異なる値がヘッダとして付加された対比フレームのスクランブルデータを生成し、各スクランブルデータのビット列特性に関する評価値を算出し、送信のための最良のビット列特性を表す評価値を選択し、その評価値のスクランブルデータを送信し、対比フレームのスクランブルデータを送信した場合はスクランブラのシフトレジスタが保持する値を当該対比フレームのスクランブルデータの完成時を想定した値に補正し、補正された値を新たなデータブロックの基準フレームに適用する。
2011004838.tif 000002
【特許請求の範囲】
【請求項１】
データブロックの先頭に基準値をヘッダとして付加することにより基準フレームを形成し、
自己同期型のスクランブラにより前記基準フレームのスクランブルデータを生成し、
前記データブロックに前記基準値と異なる値がヘッダとして付加された対比フレームのスクランブルデータを前記基準フレームのスクランブルデータと補正系列との加算により生成し、
前記基準フレームおよび前記対比フレームの各スクランブルデータのビット列特性に関する評価値を評価基準に従い算出し、
前記算出した評価値の中から送信のための最良のビット列特性を表す評価値を選択し、
前記選択した評価値が前記基準フレームに対応する場合は当該基準フレームのスクランブルデータを送信し、
前記選択した評価値が前記対比フレームに対応する場合は、前記基準フレームのスクランブルデータと前記補正系列とを加算して送信し、前記スクランブラのシフトレジスタが保持する値を当該対比フレームのスクランブルデータの完成時を想定した値に補正し、当該補正された値を新たなデータブロックの基準フレームに適用することを特徴とするスクランブル方法。
【請求項２】
前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて前記評価値を算出し、
前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、
前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする請求項１記載のスクランブル方法。
【請求項３】
前記評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする請求項２記載のスクランブル方法。
【請求項４】
前記各スクランブルデータの最大ラン長を前記ビット列特性として前記評価値を算出することを特徴とする請求項１記載のスクランブル方法。
【請求項５】
前記各スクランブルデータの評価値を第１の評価基準に従い算出し、
前記算出した評価値間の差が閾値を超える場合、前記第１の評価基準に従い前記最良のビット列特性を表す評価値を選択し、
前記算出した評価値間の差が閾値を下回る場合、前記第１の評価基準と異なる第２の評価基準に従い前記各スクランブルデータの評価値を算出し、当該算出した各評価値の中から前記第２の評価基準に従い前記最良のビット列特性を表す評価値を選択することを特徴とする請求項１記載のスクランブル方法。
【請求項６】
前記第１および第２の各評価基準が表す評価値は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて算出される値、および、前記各スクランブルデータの最大ラン長を前記ビット列特性として算出される値のうちの相互に異なる値であることを特徴とする請求項５記載のスクランブル方法。
【請求項７】
前記ＤＣバランスに関する評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする請求項６記載のスクランブル方法。
【請求項８】
前記ＤＣバランスに関する評価値を前記第１の評価基準が表す評価値として算出したとき、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする請求項６又は７記載のスクランブル方法。
【請求項９】
前記各スクランブルデータの評価値を第１の評価基準に従い算出し、
前記算出した評価値間の差が閾値を超える場合、前記第１の評価基準に従い前記最良のビット列特性を表す評価値を選択し、
前記算出した評価値間の差が閾値を下回る場合はランダムビットを取得し、
前記ランダムビットが予測値に対応する場合は、前記対比フレームのスクランブルデータを前記最良のビット列特性を表す評価値のスクランブルデータとして選択し、
前記ランダムビットが前記予測値に対応しない場合は、前記基準フレームのスクランブルデータを前記最良のビット列特性を表す評価値のスクランブルデータとして選択することを特徴とする請求項１記載のスクランブル方法。
【請求項１０】
前記第１の各評価基準が表す評価値は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて算出される値、および、前記各スクランブルデータの最大ラン長を前記ビット列特性として算出される値のうちの何れか一方であることを特徴とする請求項９記載のスクランブル方法。
【請求項１１】
前記ＤＣバランスに関する評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする請求項１０記載のスクランブル方法。
【請求項１２】
前記ＤＣバランスに関する評価値を前記第１の評価基準が表す評価値として算出したとき、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする請求項１０又は１１記載のスクランブル方法。
【請求項１３】
前記ヘッダのビット数が１ビットであることを特徴とする請求項１乃至１２の何れか１項に記載のスクランブル方法。
【請求項１４】
データブロックの先頭に基準値をヘッダとして付加することにより基準フレームを形成するヘッダ付加部と、
自己同期型のスクランブラにより前記基準フレームのスクランブルデータを生成するスクランブル部と、
前記データブロックに前記基準値と異なる値がヘッダとして付加された対比フレームのスクランブルデータを前記基準フレームのスクランブルデータと補正系列との加算により生成し、前記基準フレームおよび前記対比フレームの各スクランブルデータのビット列特性に関する評価値を評価基準に従い算出し、前記算出した評価値の中から送信のための最良のビット列特性を表す評価値を選択し、当該選択に応じて前記補正系列またはゼロ系列を出力する評価判定部と、
前記基準フレームのスクランブルデータと前記補正系列またはゼロ系列とを加算して当該加算結果を送信する加算器とを備え、
前記評価判定部は、前記選択した評価値が前記対比フレームに対応する場合は、その旨を表す判定結果を前記スクランブル部へ供給し、且つ前記補正系列を前記加算器へ出力し、
前記スクランブル部は、前記判定結果を供給されたとき、前記スクランブラのシフトレジスタが保持する値を前記対比フレームのスクランブルデータの完成時を想定した値に補正し、当該補正された値を新たなデータブロックの基準フレームに適用することを特徴とする通信装置。
【請求項１５】
前記評価判定部は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて前記評価値を算出し、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする請求項１４記載の通信装置。
【請求項１６】
前記評価判定部は、前記評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする請求項１５記載の通信装置。
【請求項１７】
前記評価判定部は、前記各スクランブルデータの最大ラン長を前記ビット列特性として前記評価値を算出することを特徴とする請求項１４記載の通信装置。
【請求項１８】
前記評価判定部は、前記各スクランブルデータの評価値を第１の評価基準に従い算出し、前記算出した評価値間の差が閾値を超える場合、前記第１の評価基準に従い前記最良のビット列特性を表す評価値を選択し、前記算出した評価値間の差が閾値を下回る場合、前記第１の評価基準と異なる第２の評価基準に従い前記各スクランブルデータの評価値を算出し、当該算出した各評価値の中から前記第２の評価基準に従い前記最良のビット列特性を表す評価値を選択することを特徴とする請求項１４記載の通信装置。
【請求項１９】
前記第１および第２の各評価基準が表す評価値は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて算出される値、および、前記各スクランブルデータの最大ラン長を前記ビット列特性として算出される値のうちの相互に異なる値であることを特徴とする請求項１８記載の通信装置。
【請求項２０】
前記評価判定部は、前記ＤＣバランスに関する評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする請求項１９記載の通信装置。
【請求項２１】
前記評価判定部は、前記ＤＣバランスに関する評価値を前記第１の評価基準が表す評価値として算出したとき、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする請求項１９又は２０記載の通信装置。
【請求項２２】
前記評価判定部は、前記各スクランブルデータの評価値を第１の評価基準に従い算出し、前記算出した評価値間の差が閾値を超える場合、前記第１の評価基準に従い前記最良のビット列特性を表す評価値を選択し、前記算出した評価値間の差が閾値を下回る場合はランダムビットを取得し、前記ランダムビットが予測値に対応する場合は、前記対比フレームのスクランブルデータを前記最良のビット列特性を表す評価値のスクランブルデータとして選択し、前記ランダムビットが前記予測値に対応しない場合は、前記基準フレームのスクランブルデータを前記最良のビット列特性を表す評価値のスクランブルデータとして選択することを特徴とする請求項１４記載の通信装置。
【請求項２３】
前記第１の各評価基準が表す評価値は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて算出される値、および、前記各スクランブルデータの最大ラン長を前記ビット列特性として算出される値のうちの何れか一方であることを特徴とする請求項２２記載の通信装置。
【請求項２４】
前記評価判定部は、前記ＤＣバランスに関する評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする請求項２３記載の通信装置。
【請求項２５】
前記評価判定部は、前記ＤＣバランスに関する評価値を前記第１の評価基準が表す評価値として算出したとき、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする請求項２３又は２４記載の通信装置。
【請求項２６】
前記ヘッダ付加部は、前記ヘッダとして１ビットの値を前記データブロックに付加することを特徴とする請求項１４乃至２５の何れか１項に記載の通信装置。
【請求項２７】
コンピュータを請求項１４乃至２６の何れか１項に記載の通信装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信におけるスクランブル技術に関する。
【背景技術】
【０００２】
デジタル通信におけるベースバンド伝送の送信処理では、送信対象のビット列が、「０」，「１」の個数のバランスであるＤＣバランスやラン長（run length）の制限といった制約を満たすように処理される。このような処理は、ラインコーディング（line coding）などと呼ばれる。ラインコーディングは、冗長符号を付加することで制約を満たすように符号化する方式と、スクランブラを用いて確率的に制約を満たすように符号化する方式とに大別される。【０００３】
冗長符号による前者の方式は、イーサネット（登録商標）で利用されているマンチェスタ符号化や８Ｂ／１０Ｂ符号化が代表的である。伝送速度が１０Ｇｂｐｓを超えると、冗長度の増大に伴い、チャネル速度の増大が生じやすい。そのため、送受信デバイスに求められる要求が厳しくなる。例えば、上記の８Ｂ／１０Ｂの場合、１０Ｇｂｐｓで情報を伝送するためのチャネル速度は１２．５Ｇｂｐｓとなるため、この速度に対処し得る送受信デバイスが必要とされる。このような高速通信に係る要求に対しては、スクランブラを用いる後者の符号化が好適である。【０００４】
スクランブラを用いる方式は、実装が容易なＬＦＳＲ（Linear Feedback Shift Register：線形帰還シフトレジスタ）により発生させる擬似乱数列を利用して、送信ビット列をランダム化するというものである。この類のスクランブル方式は、同期型と自己同期型とに大別される。【０００５】
同期型スクランブルは、情報系列とＬＦＳＲからの擬似乱数列との加算（排他的論理和：ＸＯＲ）によってランダム化を実現する方式である。図１４に、同期型スクランブル方式による送信側スクランブラ１０１および受信側スクランブラ１０２の構成例を示す。送信側スクランブラ１０１のＬＦＳＲはシフトレジスタ１０３ａを備え、受信側スクランブラ１０２のＬＦＳＲも同様にシフトレジスタ１０３ｂを有する。これらのレジスタ（１０３ａ，１０３ｂ）が示す値は、ＬＦＳＲの状態と呼ばれる。【０００６】
この同期型スクランブル方式では、ＬＦＳＲの状態を送信側（１０１）と受信側（１０２）とで完全に同期を取る必要がある。この方式の利点は、例えば、エラー（ビット反転）が発生する場合でも、そのエラーは伝播しないことが挙げられる。この同期型スクランブル方式は、多重化伝送における標準であるＳＯＮＥＴや、衛星通信の勧告であるＣＣＳＤＳなどで採用されている。【０００７】
一方、自己同期型スクランブル方式は、過去の出力ビットをＬＦＳＲに格納しておき、情報系列にＬＦＳＲからの出力を加算することによりスクランブル処理する方式である。図１５に、自己同期型スクランブル方式の構成例を示す。送信側スクランブラ２０１はシフトレジスタ２０３ａを持ち、受信側スクランブラも同様にシフトレジスタ２０３ｂを持つ。この方式には、ビット反転のエラーが発生した場合にＬＦＳＲの結線数分だけエラーが伝播するというデメリットがあるが、フレーム同期をとる必要がなく、同期ずれのエラーが発生しても回復可能というメリットがある。【０００８】
さらに自己同期型には、セキュリティ上の利点もある。スクランブル方式におけるセキュリティ上の脅威としては、例えば、スクランブルの効果を打ち消すようなデータを投入することによる妨害行為がある。この場合の攻撃者は、ＬＦＳＲの初期状態をランダムに選ぶことで、妨害の系列を発生させることになる。しかしながら、攻撃者の設定した初期状態と実際の初期状態とが一致する確率は、ＬＦＳＲ長が十分に長ければ、十分に小さくすることができる。【０００９】
かかる自己同期型スクランブル方式は、イーサネット（登録商標）の６４ｂ／６６ｂ符号化などで使用されている。６４ｂ／６６ｂ符号化は、生成多項式：ｇ（ｘ）＝ｘ＾５７＋ｘ＾１９＋１により自己同期型スクランブルを施したデータ系列を６４ｂｉｔｓのデータブロックに分割し、同期用の２ｂｉｔｓヘッダ（「０１」又は「１０」）を先頭に付加することで６６ｂｉｔｓの送信フレームを形成するという符号化方式である。【００１０】
ところで、スクランブルに基づくラインコード方式では、通信特性を確率的に劣化させるビットパタンが発生することは避けられない。これに関する技術として、例えば、後述の特許文献１，２に開示されているＣＩＭＴ（Conditional Inversion Master Transition）と呼ばれる方式がある。【００１１】
ＣＩＭＴ方式は、ＤＣバランスの累積を保持しておき、送信するデータブロックのＤＣバランスを計算して、極性（バランスの方向）が一致していれば、ブロックを全て反転して送信し、不一致の場合はそのまま送信する。その際に、反転したかどうかを示すヘッダをブロックに付加する。これより、常にＤＣバランスが取れている方向に送信ビット列を調整することが可能となる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】米国特許第５，０２２，０５１号明細書
【特許文献２】米国特許第５，４３８，６２１号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上記特許文献１、２に記載の方法によれば、累積ＤＣバランスを調整することができるが、スクランブル方式が同期型であるため、送受信間でフレーム同期をとる必要がある。また、上記方法では、ヘッダのエラーがブロック単位のエラーにつながるため、特許文献２の方法のように保護機能が必要となり、冗長度の増大を招く。さらにまた、上記文献の方法において、ａｌｌ０やａｌｌ１のブロックは各ビット値が反転するだけであるから、ブロック内のラン長に変化は生じない。よって、最大ラン長を改善することは困難である。【００１４】
そこで、本発明は、データの冗長度を抑えつつ、送信に好適なビット列特性を持つスクランブルデータを送信するためのスクランブル方法および通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の第１の観点によれば、データブロックの先頭に基準値をヘッダとして付加することにより基準フレームを形成し、自己同期型のスクランブラにより前記基準フレームのスクランブルデータを生成し、前記データブロックに前記基準値と異なる値がヘッダとして付加された対比フレームのスクランブルデータを前記基準フレームのスクランブルデータと補正系列との加算により生成し、前記基準フレームおよび前記対比フレームの各スクランブルデータのビット列特性に関する評価値を評価基準に従い算出し、前記算出した評価値の中から送信のための最良のビット列特性を表す評価値を選択し、前記選択した評価値が前記基準フレームに対応する場合は当該基準フレームのスクランブルデータを送信し、前記選択した評価値が前記対比フレームに対応する場合は、前記基準フレームのスクランブルデータと前記補正系列とを加算して送信し、前記スクランブラのシフトレジスタが保持する値を当該対比フレームのスクランブルデータの完成時を想定した値に補正し、当該補正された値を新たなデータブロックの基準フレームに適用することを特徴とするスクランブル方法が提供される。【００１６】
本発明の第２の観点によれば、データブロックの先頭に基準値をヘッダとして付加することにより基準フレームを形成するヘッダ付加部と、自己同期型のスクランブラにより前記基準フレームのスクランブルデータを生成するスクランブル部と、前記データブロックに前記基準値と異なる値がヘッダとして付加された対比フレームのスクランブルデータを前記基準フレームのスクランブルデータと補正系列との加算により生成し、前記基準フレームおよび前記対比フレームの各スクランブルデータのビット列特性に関する評価値を評価基準に従い算出し、前記算出した評価値の中から送信のための最良のビット列特性を表す評価値を選択し、当該選択に応じて前記補正系列またはゼロ系列を出力する評価判定部と、前記基準フレームのスクランブルデータと前記補正系列またはゼロ系列とを加算して当該加算結果を送信する加算器とを備え、前記評価判定部は、前記選択した評価値が前記対比フレームに対応する場合は、その旨を表す判定結果を前記スクランブル部へ供給し、且つ前記補正系列を前記加算器へ出力し、前記スクランブル部は、前記判定結果を供給されたとき、前記スクランブラのシフトレジスタが保持する値を前記対比フレームのスクランブルデータの完成時を想定した値に補正し、当該補正された値を新たなデータブロックの基準フレームに適用することを特徴とする通信装置が提供される。
【発明の効果】
【００１７】
本発明によれば、データの冗長度を抑えつつ、送信に好適なビット列特性を持つスクランブルデータを送信することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態における通信装置のブロック図である。
【図２】本発明の実施形態におけるフレームのフォーマットに関する説明図である。
【図３】本発明の実施形態における通信装置の基本動作に関するフローチャートである。
【図４】本発明の実施形態における補正機能付きスクランブラの構成例である。
【図５】本発明の実施形態における評価判定部の構成例である。
【図６】本発明の実施形態において重み付き累計ＤＣバランスを評価基準にした場合の判定部のフローチャートである。
【図７】本発明の実施形態において第１／第２評価基準を用いる場合の判定部のフローチャートである。
【図８】本発明の実施形態においてランダムビットを用いる場合の判定部のフローチャートである。
【図９】本発明の実施形態において重み付き累計ＤＣバランスを評価基準にした場合の判定部のブロック図である。
【図１０】本発明の実施形態において重み付き累計ＤＣバランスを評価基準にした場合の判定部の他のブロック図である。
【図１１】本発明の実施形態における重み付き累計ＤＣバランス（ρ＝０．９）に関する説明図である。
【図１２】本発明の実施形態における重み付き累計ＤＣバランス（ρ＝１．０）に関する説明図である。
【図１３】本発明の実施形態における有限個の累計ＤＣバランスに関する説明図である。
【図１４】同期型スクランブラに関する説明図である。
【図１５】自己同期型スクランブラに関する説明図である。
【符号の説明】
【００１９】
１０１、２０１  送信側スクランブラ
１０２、２０２  受信側スクランブラ
１０３ａ、１０３ｂ、２０３ａ、２０３ｂ  シフトレジスタ
５００  通信装置
５０１  ヘッダ付加部
５０２  補正機能付きスクランブラ（スクランブル部）
５０３  バッファ
５０４  評価判定部
５０５  加算器
６０１  補正値
７０１  補正系列発生部
７０２ａ、７０２ｂ  評価値算出部
７０３  判定部
７０４  セレクタ
１１０１、１２０２  レジスタ
１１０２  加算器
１１０３  乗算器
１２０１  シフトレジスタ
【発明を実施するための形態】
【００２０】
図１に、本発明の実施形態における通信装置５００の送信系の構成を示す。ヘッダ付加部５０１は、固定長に分割されたデータブロックの先頭に基準値のスクランブルヘッダを付加することにより、図２に示す構造を持つフレームを生成する。
【００２１】
スクランブルヘッダに基準値が設定されたフレームは、本発明における基準フレームに対応する。ヘッダのビット数および基準値の設定は任意であるが、本実施形態では、スクランブルヘッダを１ビットとし、基準値を「０」とする。本実施形態のように、Ｎビットのデータブロックに１ビットのスクランブルヘッダを付加する場合、フレームの冗長度は（Ｎ＋１）／Ｎとなる。ヘッダのビット数を１ビットにすることで、Ｎ＝３２の場合でも冗長度は１．０３であり、８Ｂ／１０Ｂ符号化の場合の冗長度である１．２５と比較しても十分に小さい冗長度に抑えられる。
【００２２】
補正機能付きスクランブラ５０２は、基準フレームを自己同期型スクランブラでスクランブル処理することにより、スクランブルデータ（scrambled data）Ｔ０を生成する。生成されたデータＴ０（ビット長：（Ｎ＋１）ｂｉｔｓ）は、いったんバッファ５０３に格納される。また、スクランブラ５０２は、後述の評価判定部５０４からフィードバックされる判定結果に応じて、新たな処理対象のデータブロックに適用すべきＬＦＳＲの状態を調整する。
【００２３】
評価判定部５０４は、データＴ０に関する評価値と、基準値とは別の値（「１」）をヘッダとして上記データブロックに付加した場合のスクランブルデータＴ１の評価値とを算出する。ここで、評価値とは、スクランブルデータのビット列特性が、そのデータの送信に有益に作用するかどうかを判断するための値である。スクランブルデータＴ１は、本発明における対比フレームのスクランブルデータに対応するものであり、後述するように、Ｔ０を利用して生成される。
【００２４】
また、評価判定部５０４は、Ｔ０及びＴ１の評価値のうちから、送信に最良のビット列特性を表すものを選択し、その最良の評価値のスクランブルデータ（Ｔ０又はＴ１）を送信するよう制御する。
【００２５】
より具体的には、Ｔ１の評価値が選択された場合、評価判定部５０４は、後述の補正系列Ｍを出力する。補正系列Ｍとバッファ５０３からの出力（Ｔ０）とが加算器５０５により加算されることでＴ１が形成され、このＴ１が送信される。補正系列Ｍは、ＬＦＳＲの初期状態をａｌｌ０とし、ビット長Ｎのａｌｌ０のデータブロックにスクランブルヘッダ「１」が付加されたフレーム（（Ｎ＋１）ｂｉｔｓ）にスクランブルを施した場合の出力系列である。また、Ｔ０の評価値が選択された場合、評価判定部５０４は、ゼロ系列（ａｌｌ０）を出力する。
【００２６】
さらにまた、評価判定部５０４は、最良と評価した評価値のスクランブルデータが何れであるか（Ｔ０又はＴ１）に関する情報を判定結果として、それを前述のスクランブラ５０２にフィードバックする。
【００２７】
図３に示すフローチャートを参照して、上記構成による通信装置５００の基本動作を説明する。図示の手順は、ｔ番目のデータブロックを処理するときのフローを示している。データブロックｔに対応するフレームの処理開始時のスクランブラ５０２におけるＬＦＳＲの状態をＳ（ｔ）で表す。
【００２８】
スクランブラ５０２は、データブロックｔにスクランブルヘッダ「０」が付加された基準フレームをヘッダ付加部５０１から受けると、それを状態Ｓ（ｔ）においてスクランブルし、スクランブルデータＴ０を生成する（ステップＳ４０１）。ここで、データブロック長をＮｂｉｔｓとするとＴ０の全長は（Ｎ＋１）ｂｉｔｓである。生成されたＴ０は、バッファ５０３に格納されると共に、評価判定部５０４へ供給される。
【００２９】
評価判定部５０４は、予め設定された評価基準に従ってＴ０の評価値を算出する（ステップＳ４０２）。評価値の算出方法に関しては後述する。
【００３０】
また、評価判定部５０４は、上記のデータブロックｔにスクランブルヘッダとして「１」が付加された場合のフレーム（対比フレーム）について、状態Ｓ（ｔ）におけるスクランブルデータＴ１（ビット長：（Ｎ＋１）ｂｉｔｓ）を生成する（ステップＳ４０３）。このＴ１は、後述の方法により、Ｔ０を用いて生成される。評価判定部５０４は、生成したＴ１の評価値を算出する（ステップＳ４０４）。
【００３１】
Ｔ０及びＴ１それぞれの評価値を算出すると、評価判定部５０４は、それらを比較し、評価基準に基づく最良のビット列特性を表す評価値を判別する。その結果、Ｔ０の評価値がＴ１のそれよりも良好である場合（ステップＳ４０５：Ｙｅｓ）、評価判定部５０４は、Ｔ０が送信されるよう制御する。すなわち、加算器５０５にＮビットのａｌｌ０の系列を出力する。このゼロ系列が加算器５０５にてＴ０と加算されることで、最終的にＴ０が送信される（ステップＳ４０６）。
【００３２】
また、評価判定部５０４は、ヘッダ「０」に対応するＴ０の評価値が選択されたことを判定結果としてスクランブラ５０２にフィードバックする。この場合、スクランブラ５０２は、Ｔ０完成時におけるＬＦＳＲの状態、すなわち、現時点でＬＦＳＲに格納されている値を、新たなデータブロック（ｔ＋１）のためのＬＦＳＲ状態Ｓ（ｔ＋１）として認識する（ステップＳ４０７）。
【００３３】
一方、Ｔ１の評価値がＴ０のそれよりも良好である場合（ステップＳ４０５：Ｎｏ）、評価判定部５０４は、Ｔ１が送信されるよう制御する。すなわち、加算器５０５へ補正系列Ｍを出力する。この補正系列Ｍが加算器５０５にてＴ０と加算されることで、最終的にＴ１が送信される（ステップＳ４０８）。
【００３４】
また、評価判定部５０４は、ヘッダ「１」に対応するＴ１の評価値が選択されたことを、判定結果としてスクランブラ５０２にフィードバックする。この場合、スクランブラ５０２は、Ｔ０完成時のＬＦＳＲの状態Ｓ（ｔ）を、Ｔ１完成時を想定した状態に補正し、補正された状態を新たなデータブロック（ｔ＋１）のための状態Ｓ（ｔ＋１）として認識する（ステップＳ４０９）。この補正の方法については後述する。
【００３５】
上記のステップＳ４０１及びＳ４０３は並列処理により実行することができる。また、ステップＳ４０２及びＳ４０４は、順次生成されるＴ０及びＴ１に対し逐次的に処理することができる。このような処理形態を実現するための通信装置５００のハードウェア構成について、以下に説明する。
【００３６】
図４は、補正機能付きスクランブラ５０２の構成例である。スクランブラ５０２は、自己同期型スクランブラの構成（図１５）を基本として、評価判定部５０４からフィードバックされる判定結果に応じてＬＦＳＲの状態を調整するよう構成されている。
【００３７】
スクランブラ５０２は、ＬＦＳＲの補正値６０１（定数）を保持している。なお、図示の補正値６０１としての「１」，「０」，「１」は、あくまで一例に過ぎず、本実施形態の補正値６０１を限定するものではない。スクランブラ５０２は、評価判定部５０４からの判定結果がＴ１に対応する場合、補正値６０１をＬＦＳＲの各レジスタに加算することでＬＦＳＲの状態をＴ１完成時の状態に補正し、次のデータブロック（ｔ＋１）の処理に備える（図３：ステップＳ４０９）。一方、判定結果がＴ０に対応する場合は、ＬＦＳＲの状態が補正値６０１により補正されることはない。
【００３８】
ＬＦＳＲの補正値６０１は、ＬＦＳＲの初期状態をａｌｌ０とし、「１００…０００」（「０」の個数＝データブロック長）を入力したときのＬＦＳＲのレジスタ値であり、ＬＦＳＲのレジスタ長分のビットで表される。
【００３９】
図５は、評価判定部５０４の構成例である。この評価判定部５０４には、上記のスクランブラ５０２から出力されるＴ０が入力される。補正系列発生部７０１は、前述の補正系列Ｍを出力する。これは、予め計算しておいた値をメモリに格納しておくことでも実現できる。ヘッダが「１」である対比フレームのスクランブルデータＴ１は、スクランブラ５０２からのＴ０に補正系列Ｍを加算することで得られる。
【００４０】
評価値算出部７０２ａはＴ０の評価値を算出し、他方の評価値算出部７０２ｂはＴ１の評価値を算出する。評価値算出部７０２ａ，７０２ｂの処理は、Ｔ０の逐次的な入力に合わせて行われる。判定部７０３は、Ｔ０及びＴ１に関する評価値から最良のビット列特性を示すものを判定し、その判定結果を、スクランブラ５０２にフィードバックすると共に、セレクタ７０４の制御ポートに入力する。
【００４１】
セレクタ７０４は、制御ポートからの判定結果がヘッダ「０」に関するものである場合、前述したように、加算器５０５へ出力すべき系列としてＮビット分のａｌｌ０の系列を出力する。これにより、バッファ５０３からのＴ０がそのままの値で送信される。また、判定結果がヘッダ「１」に関する場合、補正系列発生部７０１からの補正系列Ｍを出力する。このＭがバッファ５０３からのＴ０と加算されることで、Ｔ０がＴ１に変換され、そのＴ１が送信される。
【００４２】
［評価値モデル１］
評価判定部５０４で用いる評価値モデルについて説明する。実装の観点からは、評価値は、算出が容易であることが重要である。いま、データブロックｔに関するスクランブルデータのＤＣバランス（「０」の個数と「１」の個数との差）をＹ（ｔ）とする。例えば、「０」の個数が３０で「１」の個数が３４のスクランブルデータの場合（データフレーム長：Ｎ＋１＝６４）、ＤＣバランスはＹ（ｔ）＝−４となる。
【００４３】
ここで、連続するデータブロックｔ（ｔ＝１，２，３，…）のスクランブルデータの重み付き累積ＤＣバランスＺ（ｔ）は、ＤＣバランスＹ（ｔ）と、所定範囲内にある重み係数ρ（０≦ρ≦１）を用いた下記の式（１）により定義することができる。
【００４４】
Ｚ（ｔ）＝ρ（Ｙ（ｔ）＋Ｚ（ｔ−１））＝ρＹ（ｔ）＋（ρ＾２）Ｙ（ｔ−１）＋（ρ＾３）Ｙ（ｔ−２）＋…  式（１）
上記式（１）においてＺ（０）＝０とする。ρ＝０の場合は、現フレームのみのＤＣバランスを表し、ρ＝１の場合は過去の値の減衰なしのモデルを表す。重み付き累積ＤＣバランスは、重み付けのための係数ρを適切に設定することによって、多くの送受信デバイスや伝送路に対処することができる。
【００４５】
かかる重み付き累積ＤＣバランスを評価基準とする場合、評価値算出部７０２ａ，７０２ｂ（図５）は、Ｔ０，Ｔ１のＤＣバランスであるＹ０（ｔ），Ｙ１（ｔ）をそれぞれ算出することになる。この場合の判定部７０３の処理手順を図６のフローチャートに沿って説明する。
【００４６】
判定部７０３は、評価値算出部７０２ａ，７０２ｂからＴ０，Ｔ１に関するＤＣバランスＹ０（ｔ），Ｙ１（ｔ）を入力されると（ステップＳ８００）、Ｙ０（ｔ），Ｙ１（ｔ）に関する重み付き累積ＤＣバランスの絶対値同士を比較する（ステップＳ８０１）。上記式（１）によれば、Ｙ０（ｔ）の場合、現フレームの評価値Ｙ０（ｔ）と過去の評価値Ｚ（ｔ−１）との加算結果の絶対値である｜Ｙ０（ｔ）＋Ｚ（ｔ−１）｜が比較対象となる。同様に、Ｙ１（ｔ）の場合は｜Ｙ１（ｔ）＋Ｚ（ｔ−１）｜である。
【００４７】
上記比較の結果、Ｔ０の評価値に関する｜Ｙ０（ｔ）＋Ｚ（ｔ−１）｜のほうが小さい場合（ステップＳ８０１：Ｙｅｓ）、判定部７０３は、Ｔ０の評価値が最良であると判定し（ステップＳ８０２）、この判定に関する情報をスクランブラ５０２にフィードバックする。また、後続のデータブロック（ｔ＋１）に関する評価に備えて、現フレームのＹ０（ｔ）を用いたＺ（ｔ）＝ρ（Ｙ０（ｔ）＋Ｚ（ｔ−１））により、重み付き累積ＤＣバランスＺ（ｔ）を更新する（ステップＳ８０３）。
【００４８】
一方、Ｔ１の評価値に関する｜Ｙ１（ｔ）＋Ｚ（ｔ−１）｜のほうが小さい場合（ステップＳ８０１：Ｎｏ）、判定部７０３は、Ｔ１の評価値が最良であると判定する（ステップＳ８０４）。そして、現フレームのＹ１（ｔ）を用いたＺ（ｔ）＝ρ（Ｙ１（ｔ）＋Ｚ（ｔ−１））により、重み付き累積ＤＣバランスＺ（ｔ）を更新する（ステップＳ８０５）。
【００４９】
［評価値モデル２］
累積ＤＣバランスによる評価値モデルの他の例として、最近の一定個数のスクランブルデータを用いる方法が挙げられる。この一定のフレーム個数をＫ＋１とすると、本モデルの累積ＤＣバランスは下記の式（２）により定義される。
【００５０】
Ｚ（ｔ）＝Ｙ（ｔ）＋Ｙ（ｔ−１）＋…＋Ｙ（ｔ−Ｋ＋１）  式（２）
上記式（２）において、Ｋ＝１の場合は、式（１）のρ＝０の場合と同様に、現フレームのＤＣバランスを基準とした評価値モデルを表す。また、式（１）と（２）とを合わせた累積ＤＣバランスも定義することができる。Ｚ（ｔ）を保持する実装では、式（２）のＺ（ｔ）の更新は、次の式（３）のように行うこともできる。このモデルの場合は、最近のＫ個のフレームのＤＣバランス値を保持する必要がある。
【００５１】
Ｚ（ｔ）＝Ｙ（ｔ）＋Ｚ（ｔ−１）−Ｙ（ｔ−Ｋ＋１）  式（３）
【００５２】
［評価値モデル３］
評価値としては、上記のＤＣバランスのほかに、スクランブルデータの最大ラン長を用いることができる。本モデルは、Ｔ０，Ｔ１の中の「０」ラン長あるいは「１」ラン長（連続する「０」又は「１」の個数）を調べ、その最大値である最大ラン長を評価値として利用する方法である。評価にあたっては、例えば、最大ラン長が小さいものほど良好なビット列特性であると判定する。
【００５３】
［評価値モデル４］
前述の累積ＤＣバランスおよび最大ラン長の２種類の評価値を利用する評価モデルも考えられる。この場合の判定部７０３の手順を図７のフローチャートに沿って説明する。以下の説明では、一例として、重み付き累積ＤＣバランスを用いる方法（図６）が第１評価基準であり、最大ラン長による方法が第２評価基準であることを想定する。第１評価基準のプライオリティは、第２評価基準のそれよりも高く設定されている。
【００５４】
判定部７０３は、まず、第１評価基準によりＴ０，Ｔ１の評価値（重み付き累積ＤＣバランス）を算出し、それらの差が予め定めた閾値以上あるかどうかを判定する（ステップＳ９０１）。その結果、２つの評価値の差が閾値を超える場合は、前述の手順（図６：Ｓ８０１−Ｓ８０５）に沿って、第１評価基準の判定結果を適用する（ステップＳ９０２）。
【００５５】
一方、Ｔ０，Ｔ１の評価値の差が閾値を下回る場合（ステップＳ９０１：Ｎｏ）、判定部７０３は、第１評価基準によるＴ０，Ｔ１の評価値は大差がないと判断し、第２評価基準による判定（最大ラン長に基づく判定）を行う（ステップＳ９０３）。そして、その判定結果をスクランブラ５０２にフィードバックする（ステップＳ９０４）。
【００５６】
なお、常にＴ０に関する情報を判定結果とするよう第２評価基準を設定する、すなわち、第１評価基準での２つの評価値が大差ない場合は常にＴ０の評価値が最良との判定結果を出力することで、評価値の差が閾値を超える場合にのみ評価値の比較を行うというモデルを実現することができる。これにより、スクランブラ５０２での補正動作の頻度を少なくすることができる。
【００５７】
［評価値モデル５］
２種類の評価基準を用いる上記方法（図７）の変形例として、ランダムビットを導入する方法がある。その手順を図８に示す。図示の手順は、一例として、第１評価基準として重み付き累積ＤＣバランスによる方法を採用する一方で、ランダムビットを用いたランダムな二者択一を仮想的な第２評価基準に採用したものである。以下、図７の手順との差異部分を説明する。
【００５８】
重み付き累積ＤＣバランスによるＴ０，Ｔ１の評価値の差が閾値を下回る場合（ステップＳ９０１：Ｎｏ）、判定部７０３は、ランダムビットを読み出す（ステップＳ１００１）。ランダムビットは、第三者が完全に推測可能なものでなければ任意の値を採用することができ、例えば、スクランブラ５０２におけるＬＦＳＲの部分的な値や、時間パラメータなどでもよい。
【００５９】
判定部７０３は、取得したランダムビットが、事前に設定した予測値と一致するかどうか、あるいは対応するかどうかを判定する。例えば、ランダムビットが時間パラメータの場合は、ある時間帯を予測値として設定しておき、ランダムビットの示す時刻が予測値の時間帯に該当するかどうか（対応するかどうか）を判定すればよい。
【００６０】
上記判定の結果、ランダムビットと予測値が対応しない場合は（ステップＳ１００２：Ｎｏ）、最良の評価値を持つスクランブルデータがＴ０であると判定する（ステップＳ１００３）。また、ランダムビットが予測値に対応する場合は、Ｔ１が最良と判定する（ステップＳ１００４）。このように、ランダムな二者択一方式を利用することで、スクランブルデータへの攻撃に対する耐性を強化することができる。
【００６１】
以上説明したように、本実施形態によれば、冗長度を抑えた最良のビット列特性を持つスクランブルデータを送信することができる。これにより、高速通信の品質向上を図ることができる。
【００６２】
本実施形態において、スクランブルデータの受信側は、通常の自己同期型のデスクランブラにより対処することができる。つまり、受信するスクランブルデータにおけるヘッダのエラーに対して、特別な配慮は不要である。
【００６３】
なお、本実施形態により、送信側の回路規模は従来の２倍程度となることが見込まれるが、元来、スクランブラは小さな回路であるから、送信機全体に対する影響はほとんどない。また、送信時の遅延の増加は、１ブロック分程度に抑えられる。
【００６４】
補正系列Ｍが擬似乱数的な性質を持つように設定した場合には、ヘッダが「０」か「１」かによってＤＣバランスの改善は確率的となるが、実際にはＤＣバランスの分布を大きく改善することができる。例えば、過去の値に減衰がないような累積ＤＣバランスを用いる極端なモデルを想定すると、一般のスクランブラを使用した場合には累積ＤＣバランスは一様分布となるが、本実施形態によれば、「０」を平均とした指数分布とすることができる。また、補正系列Ｍをこのように選ぶことによって、最大ラン長といったＤＣバランス以外の評価値に対しても、改善を図ることができる。
【００６５】
≪実施例≫
上記実施形態について、より具体的な例を説明する。上記実施形態を実現するにあたっては、ＬＦＳＲの補正値６０１（図４）と、そのときの補正系列発生部７０１の出力系列Ｍ（図５）とを事前に設定しておく必要がある。例えば、ＬＦＳＲの生成多項式が「ｇ（ｘ）＝ｘ＾８＋ｘ＾６＋ｘ＾５＋ｘ＾４＋１」で、データブロック長Ｎ＝３２（フレーム長＝３３）の場合、補正値６０１は「１０００＿０１００」の８ｂｉｔｓとし、補正系列Ｍは「１０１１＿０００１＿１１１０＿１０００＿０１１１＿１１１１＿１００１＿００００＿１」の３３ｂｉｔｓとする。
【００６６】
なお、データブロックの終了から、評価判定部５０４での判定結果が出るまでに遅延が発生する場合には、その遅延分を考慮して補正値６０１を設定すればよい。このとき、前データブロックのスクランブルヘッダに依存して、バッファ５０３の当該データブロックの先頭に対し、遅延分のビットを補正する。また、評価判定部５０４は、この補正を待ってから処理を行う。
【００６７】
補正系列Ｍは、Ｔ０とＴ１とが無相関になるような値を持つことが望ましく、また、ＤＣバランス、最大ラン長、ランダム性に関して良い性質を持つことが望ましい。６４ｂ／６６ｂ符号化の場合、下記の式（４）に示される生成多項式で表されるスクランブラが用いられる。
【００６８】
ｇ（ｘ）＝ｘ＾５９＋ｘ＾１９＋１  式（４）
上記式（４）によれば、補正系列Ｍは、先頭の「１」のあとに３８ｂｉｔｓの「０」が続くことになり、Ｎ＝３２の場合、スクランブルヘッダの影響が現れない。本発明の実施例においては、このようなスクランブラは避ける必要がある。
【００６９】
一方、生成多項式として下記の式（５）を採用すると、Ｎ＝３２の場合の補正系列Ｍはａｌｌ１の系列となる。つまり、式（５）のように多項式を設定することで、ＣＩＭＴや累積ＤＣバランスに関して同様の効果を得ることができる。
【００７０】
ｇ（ｘ）＝ｘ＾６３＋ｘ＾６２＋１  式（５）
【００７１】
図９は、判定部７０３において、前述の式（１）による重み付き累積ＤＣバランスＺ（ｔ）を更新するための実装例である。図示の判定部７０３は、Ｚ（ｔ）を順次格納するレジスタ１１０１と、このレジスタの出力とＹ（ｔ＋１）とを加算する加算器１１０２と、加算結果と重み係数ρとを乗算（定数倍）する乗算器１１０３とを有する。ρ＝０．８７５などであれば、ρ倍は１回のシフトと減算で実現できる。
【００７２】
図１０は、判定部７０３において、前述の式（３）による有限個フレームの累積ＤＣバランスＺ（ｔ）を更新するための実装例である（Ｋ＝４）。この場合の判定部７０３は、加算器１１０２と、最近のＫ＝４個のフレームのＹ（ｔ）を格納するシフトレジスタ１２０１と、Ｚ（ｔ）を格納するレジスタ１２０２とを有する。
【００７３】
図１１及び図１２に、評価値を重み付き累積ＤＣバランスとする場合（図６）の分布を示す。図１１はρ＝０．９とした場合の分布であり、図１２はρ＝１．０とした場合の分布である。いずれの分布も、データブロック長Ｎ＝６３（フレーム長は６４）であり、ブロック数は１，０００，０００個で、入力データはランダムに生成して求めたものを用いている。
【００７４】
累積ＤＣバランスの分布は、各データブロックにおいて（Ｙ（ｔ）＋Ｚ（ｔ−１））／２をカウントした値を示している。グラフの縦軸は対数で表示している。また、ＬＦＳＲの生成多項式は、下記の式（６）を用いている。
【００７５】
ｇ（ｘ）＝ｘ＾６３＋ｘ＾６２＋ｘ＾５７＋ｘ＾４０＋ｘ＾３４＋ｘ＾１７＋１  式（６）
【００７６】
各図における「従来」の分布は、上記式（６）で、一般的なスクランブルを行った場合にデータブロック（６４ｂｉｔｓ）毎の累積ＤＣバランスをカウントした値である。各図のグラフから、本発明の実施例によって累積ＤＣバランスの分布が大きく改善することがわかる。例えば、図１１において、累積ＤＣバランスの絶対値が２０を超えた場合、「従来」が示す一般のスクランブルでは頻度が１／１００以上となるのに対し、本発明の実施例では、１回のみで１／１，０００，０００の頻度である。特に、図１２に示すρ＝１．０のモデルでは、「従来」では一様分布になるのに対し、本発明の実施例では指数分布となる。
【００７７】
図１３は、図１１及び図１２に示す上記の各グラフと同一の設定で、式（３）に基づく有限個のフレーム（Ｋ＝４）の累積ＤＣバランスを評価基準とした場合の分布を示している。このモデルにおいても、図１１と同様に、本発明の実施例によって累積ＤＣバランスの分布が改善していることがわかる。例えば、図１３で累積ＤＣバランスの絶対値が２０を超える場合の相対頻度は、「従来」では１／１００以上となるが、本発明の実施例では１／１０，０００である。
【００７８】
本発明の実施形態は、上記形態に限定されるものではなく、特許請求の範囲内で適宜の変形が可能である。例えば、上記実施形態では、スクランブルヘッダのビット数が１ビットであったが、２ビット以上であってもよい。この場合、２＾ｄ通りのヘッダについての評価値を算出し（Ｔ０，Ｔ１，…はそれぞれ（Ｎ＋ｄ）ｂｉｔｓ）、算出された２＾ｄ個の評価値の中から最良のものを選択すればよい。
【００７９】
上記実施形態の評価判定部５０４は、判定結果を、その内容にかかわらずフィードバックしたが、これに替えて、判定結果がＴ１の場合のみ、すなわち補正値６０１によるＬＦＳＲの補正が必要な場合のみ（図３：Ｓ４０９）、その判定結果をスクランブラ５０２にフィードバックするようにしてもよい。
【００８０】
なお、本発明の実施形態である通信装置５００は、ハードウェアにより実現することもできるが、コンピュータをその通信装置５００として機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【００８１】
また、本発明の実施形態による通信方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【００８２】
更に、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００８３】
本願は、日本の特願２００９−１６３７９８（２００９年７月１０日に出願）に基づいたものであり、又、特願２００９−１６３７９８に基づくパリ条約の優先権を主張するものである。特願２００９−１６３７９８の開示内容は、特願２００９−１６３７９８を参照することにより本明細書に援用される。  本発明の代表的な実施の形態が詳細に述べられたが、様々な変更(changes)、置き換え(substitutions)及び選択(alternatives)が請求項で定義された発明の精神と範囲から逸脱することなくなされることが理解されるべきである。また、仮にクレームが出願手続きにおいて補正されたとしても、クレームされた発明の均等の範囲は維持されるものと発明者は意図する。
【００８４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００８５】
（付記１）  データブロックの先頭に基準値をヘッダとして付加することにより基準フレームを形成し、
自己同期型のスクランブラにより前記基準フレームのスクランブルデータを生成し、
前記データブロックに前記基準値と異なる値がヘッダとして付加された対比フレームのスクランブルデータを前記基準フレームのスクランブルデータと補正系列との加算により生成し、
前記基準フレームおよび前記対比フレームの各スクランブルデータのビット列特性に関する評価値を評価基準に従い算出し、
前記算出した評価値の中から送信のための最良のビット列特性を表す評価値を選択し、
前記選択した評価値が前記基準フレームに対応する場合は当該基準フレームのスクランブルデータを送信し、
前記選択した評価値が前記対比フレームに対応する場合は、前記基準フレームのスクランブルデータと前記補正系列とを加算して送信し、前記スクランブラのシフトレジスタが保持する値を当該対比フレームのスクランブルデータの完成時を想定した値に補正し、当該補正された値を新たなデータブロックの基準フレームに適用することを特徴とするスクランブル方法。
【００８６】
（付記２）  前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて前記評価値を算出し、
前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、
前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする付記１記載のスクランブル方法。
【００８７】
（付記３）  前記評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする付記２記載のスクランブル方法。
【００８８】
（付記４）  前記各スクランブルデータの最大ラン長を前記ビット列特性として前記評価値を算出することを特徴とする付記１記載のスクランブル方法。
【００８９】
（付記５）  前記各スクランブルデータの評価値を第１の評価基準に従い算出し、
前記算出した評価値間の差が閾値を超える場合、前記第１の評価基準に従い前記最良のビット列特性を表す評価値を選択し、
前記算出した評価値間の差が閾値を下回る場合、前記第１の評価基準と異なる第２の評価基準に従い前記各スクランブルデータの評価値を算出し、当該算出した各評価値の中から前記第２の評価基準に従い前記最良のビット列特性を表す評価値を選択することを特徴とする付記１記載のスクランブル方法。
【００９０】
（付記６）  前記第１および第２の各評価基準が表す評価値は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて算出される値、および、前記各スクランブルデータの最大ラン長を前記ビット列特性として算出される値のうちの相互に異なる値であることを特徴とする付記５記載のスクランブル方法。
【００９１】
（付記７）  前記ＤＣバランスに関する評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする付記６記載のスクランブル方法。
【００９２】
（付記８）  前記ＤＣバランスに関する評価値を前記第１の評価基準が表す評価値として算出したとき、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする付記６又は７記載のスクランブル方法。
【００９３】
（付記９）  前記各スクランブルデータの評価値を第１の評価基準に従い算出し、
前記算出した評価値間の差が閾値を超える場合、前記第１の評価基準に従い前記最良のビット列特性を表す評価値を選択し、
前記算出した評価値間の差が閾値を下回る場合はランダムビットを取得し、
前記ランダムビットが予測値に対応する場合は、前記対比フレームのスクランブルデータを前記最良のビット列特性を表す評価値のスクランブルデータとして選択し、
前記ランダムビットが前記予測値に対応しない場合は、前記基準フレームのスクランブルデータを前記最良のビット列特性を表す評価値のスクランブルデータとして選択することを特徴とする付記１記載のスクランブル方法。
【００９４】
（付記１０）  前記第１の各評価基準が表す評価値は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて算出される値、および、前記各スクランブルデータの最大ラン長を前記ビット列特性として算出される値のうちの何れか一方であることを特徴とする付記９記載のスクランブル方法。
【００９５】
（付記１１）  前記ＤＣバランスに関する評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする付記１０記載のスクランブル方法。
【００９６】
（付記１２）  前記ＤＣバランスに関する評価値を前記第１の評価基準が表す評価値として算出したとき、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする付記１０又は１１記載のスクランブル方法。
【００９７】
（付記１３）  前記ヘッダのビット数が１ビットであることを特徴とする付記１乃至１２の何れか１項に記載のスクランブル方法。
【００９８】
（付記１４）  データブロックの先頭に基準値をヘッダとして付加することにより基準フレームを形成するヘッダ付加部と、
自己同期型のスクランブラにより前記基準フレームのスクランブルデータを生成するスクランブル部と、
前記データブロックに前記基準値と異なる値がヘッダとして付加された対比フレームのスクランブルデータを前記基準フレームのスクランブルデータと補正系列との加算により生成し、前記基準フレームおよび前記対比フレームの各スクランブルデータのビット列特性に関する評価値を評価基準に従い算出し、前記算出した評価値の中から送信のための最良のビット列特性を表す評価値を選択し、当該選択に応じて前記補正系列またはゼロ系列を出力する評価判定部と、
前記基準フレームのスクランブルデータと前記補正系列またはゼロ系列とを加算して当該加算結果を送信する加算器とを備え、
前記評価判定部は、前記選択した評価値が前記対比フレームに対応する場合は、その旨を表す判定結果を前記スクランブル部へ供給し、且つ前記補正系列を前記加算器へ出力し、
前記スクランブル部は、前記判定結果を供給されたとき、前記スクランブラのシフトレジスタが保持する値を前記対比フレームのスクランブルデータの完成時を想定した値に補正し、当該補正された値を新たなデータブロックの基準フレームに適用することを特徴とする通信装置。
【００９９】
（付記１５）  前記評価判定部は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて前記評価値を算出し、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする付記１４記載の通信装置。
【０１００】
（付記１６）  前記評価判定部は、前記評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする付記１５記載の通信装置。
【０１０１】
（付記１７）  前記評価判定部は、前記各スクランブルデータの最大ラン長を前記ビット列特性として前記評価値を算出することを特徴とする付記１４記載の通信装置。
【０１０２】
（付記１８）  前記評価判定部は、前記各スクランブルデータの評価値を第１の評価基準に従い算出し、前記算出した評価値間の差が閾値を超える場合、前記第１の評価基準に従い前記最良のビット列特性を表す評価値を選択し、前記算出した評価値間の差が閾値を下回る場合、前記第１の評価基準と異なる第２の評価基準に従い前記各スクランブルデータの評価値を算出し、当該算出した各評価値の中から前記第２の評価基準に従い前記最良のビット列特性を表す評価値を選択することを特徴とする付記１４記載の通信装置。
【０１０３】
（付記１９）  前記第１および第２の各評価基準が表す評価値は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて算出される値、および、前記各スクランブルデータの最大ラン長を前記ビット列特性として算出される値のうちの相互に異なる値であることを特徴とする付記１８記載の通信装置。
【０１０４】
（付記２０）  前記評価判定部は、前記ＤＣバランスに関する評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする付記１９記載の通信装置。
【０１０５】
（付記２１）  前記評価判定部は、前記ＤＣバランスに関する評価値を前記第１の評価基準が表す評価値として算出したとき、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする付記１９又は２０記載の通信装置。
【０１０６】
（付記２２）  前記評価判定部は、前記各スクランブルデータの評価値を第１の評価基準に従い算出し、前記算出した評価値間の差が閾値を超える場合、前記第１の評価基準に従い前記最良のビット列特性を表す評価値を選択し、前記算出した評価値間の差が閾値を下回る場合はランダムビットを取得し、前記ランダムビットが予測値に対応する場合は、前記対比フレームのスクランブルデータを前記最良のビット列特性を表す評価値のスクランブルデータとして選択し、前記ランダムビットが前記予測値に対応しない場合は、前記基準フレームのスクランブルデータを前記最良のビット列特性を表す評価値のスクランブルデータとして選択することを特徴とする付記１４記載の通信装置。
【０１０７】
（付記２３）  前記第１の各評価基準が表す評価値は、前記各スクランブルデータのＤＣバランスを前記ビット列特性として過去の評価値の累積を用いて算出される値、および、前記各スクランブルデータの最大ラン長を前記ビット列特性として算出される値のうちの何れか一方であることを特徴とする付記２２記載の通信装置。
【０１０８】
（付記２４）  前記評価判定部は、前記ＤＣバランスに関する評価値を算出するとき、所定範囲内の値を示す係数により重み付けすることを特徴とする付記２３記載の通信装置。
【０１０９】
（付記２５）  前記評価判定部は、前記ＤＣバランスに関する評価値を前記第１の評価基準が表す評価値として算出したとき、前記最良のビット列特性の評価値を用いて前記過去の評価値の累積を更新し、前記更新した累積を用いて前記新たなデータブロックに関するスクランブルデータの評価値を算出することを特徴とする付記２３又は２４記載の通信装置。
【０１１０】
（付記２６）  前記ヘッダ付加部は、前記ヘッダとして１ビットの値を前記データブロックに付加することを特徴とする付記１４乃至２５の何れか１項に記載の通信装置。
（付記２７）  コンピュータを付記１４乃至２６の何れか１項に記載の通信装置として機能させることを特徴とするプログラム。
【産業上の利用可能性】
【０１１１】
本発明は、例えば、光通信などにおけるラインコーディングに好適である。
【図１】
2011004838.tif 000003
【図２】
2011004838.tif 000004
【図３】
2011004838.tif 000005
【図４】
2011004838.tif 000006
【図５】
2011004838.tif 000007
【図６】
2011004838.tif 000008
【図７】
2011004838.tif 000009
【図８】
2011004838.tif 000010
【図９】
2011004838.tif 000011
【図１０】
2011004838.tif 000012
【図１１】
2011004838.tif 000013
【図１２】
2011004838.tif 000014
【図１３】
2011004838.tif 000015
【図１４】
2011004838.tif 000016
【図１５】
2011004838.tif 000017
【国際調査報告】
2011004838.tif 000018
2011004838.tif 000019