JP5485736B2 - 送信装置 - Google Patents

送信装置 Download PDF

Info

Publication number
JP5485736B2
JP5485736B2 JP2010026252A JP2010026252A JP5485736B2 JP 5485736 B2 JP5485736 B2 JP 5485736B2 JP 2010026252 A JP2010026252 A JP 2010026252A JP 2010026252 A JP2010026252 A JP 2010026252A JP 5485736 B2 JP5485736 B2 JP 5485736B2
Authority
JP
Japan
Prior art keywords
data string
data
bit
value
string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010026252A
Other languages
English (en)
Other versions
JP2010213263A (ja
Inventor
洋 高橋
聡明 大西
和弘 安道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010026252A priority Critical patent/JP5485736B2/ja
Publication of JP2010213263A publication Critical patent/JP2010213263A/ja
Application granted granted Critical
Publication of JP5485736B2 publication Critical patent/JP5485736B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • H04L25/4919Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes using balanced multilevel codes

Landscapes

  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Dc Digital Transmission (AREA)

Description

本発明は、有線または無線の伝送路を介してデータを送信及び受信するために、多値変調方式を利用する送信装置及び送信方法に関するものである。
2値変調方式を利用する送信装置において用いられる符号化装置として、特許文献1に記載の8B/10B符号化装置がある。8B/10B符号化装置は8ビットの入力ビット列に対して、同じ値が連続する数の最大値を一定値以下に抑え(以下、ランレングスを保証)、所定の期間内において2つの変調状態の発生数の差を一定値以下に抑えた(以下、DCバランスを保証)10ビットの符号化ビット列を出力する符号化装置である。この8B/10B符号化装置は、Ethernet(登録商標)をはじめとする通信方式で採用されている。
特開昭59−10056号公報
しかし、上記8B/10B符号化方式は、2値よりも多い変調状態を有する多値変調、例えば4値変調に用いた場合に、ランレングス及びDCバランスが保証されない。例えば、2値変調の場合であればランレングス及びDCバランスが保証される“0101010101”という符号化ビット列は、4値変調の場合、2ビット毎に1つの変調状態が割り当てられるため、“01”という値が5回連続すると解釈され、ランレングス及びDCバランスのいずれについても保証することができない。
ランレングスが保証されない場合、振幅変化が起きないため受信回路でクロック再生をすることが出来ず、受信装置において正しく復調することができなくなるという問題が発生する。また、DCバランスが保証されない場合、受信回路でDCオフセットにより識別レベルが変動し正しくデータ判定が出来なくなるため受信装置において正しく復調することができないという問題と、受信装置でDCオフセットを補償する回路が必要になるため回路規模が増大するという問題が発生する。
本発明は、2^n値(nは2以上の整数)の多値変調を用いる通信方式においてランレングスを一定値以下に抑え、DCバランスを保証する送信装置、送信方法、及び集積回路を提供することを目的とする。
上記目的を達成するために、本発明は、2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置であって、送信対象のデータをn個のデータ列に分離する分離手段と、前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備えることを特徴とする。
この構成によると、送信装置は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行っている。そして、振幅変調の対象となるnビット長のシンボルには、特定データ列に含まれる一のビットを最上位ビットに含み、変換データ列に含まれるビットが必ず含まれているので、振幅対象である各シンボルに対してランレングスは保証されている。また、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行うことで、出力振幅が基準値に近づくこととなり、これは、出力振幅がある値に偏らないことを意味している。つまり、振幅対象である各シンボルに対してDCバランスも保証されることとなる。従って、送信装置は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
送受信システム1における送信装置100及び受信装置110の構成を示すブロック図である。 4値の振幅変調を行う場合における信号マッピングの一例を示した図である。 符号化部101の構成を示すブロック図である。 ディスパリティ制御部305の構成を示すブロック図である。 送信装置100におけるデータ送信の処理を示すフローチャートである。 判定処理の流れを示すフローチャートである。 反転処理の流れを示すフローチャートである。 符号化部101へ入力されるデータ列の一例を示す図である。 第1の実施の形態における符号化処理の手順の具体例を示す図である。 図9の処理における符号語ディスパリティおよび累積ディスパリティを示した図である。 送受信システム1aにおける送信装置100a及び受信装置110aの構成を示すブロック図である。 符号化部101aの構成を示すブロック図である。 ディスパリティ制御部305aの構成を示すブロック図である。 送信装置100aにおけるデータ送信の処理を示すフローチャートである。 判定処理の流れを示すフローチャートである。 反転処理の流れを示すフローチャートである。 選択処理の流れを示すフローチャートである。 第2の実施の形態における符号化処理の手順の具体例を示す図である。 図18の処理における符号語ディスパリティおよび累積ディスパリティを示した図である。 符号化部101cの構成を示すブロック図である。 符号化部101dの構成を示すブロック図である。 ディスパリティ制御部305dの構成を示すブロック図である。 符号化部101eの構成を示すブロック図である。 ディスパリティ制御部305eの構成を示すブロック図である。 符号化部101gの構成を示すブロック図である。
本発明の一実施態様である、第1の送信装置は、2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置であって、送信対象のデータをn個のデータ列に分離する分離手段と、前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備えることを特徴とする。
この構成によると、第1の送信装置は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行っている。そして、振幅変調の対象となるnビット長のシンボルには、特定データ列に含まれる一のビットを最上位ビットに含み、変換データ列に含まれるビットが必ず含まれているので、振幅対象である各シンボルに対してランレングスは保証されている。また、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行うことで、出力振幅が基準値に近づくこととなり、これは、出力振幅がある値に偏らないことを意味している。つまり、振幅対象である各シンボルに対してDCバランスも保証されることとなる。従って、第1の送信装置は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
本発明の一実施態様である、第2の送信装置は、第1の送信装置において、さらに、処理が施されていないn−1個のデータ列のうち一のデータ列に、前記変換データ列の非反転を示す第1の制御データ列を付加して第1の付加データ列を、反転を示す第2の制御データ列を付加して第2の付加データ列それぞれを生成する付加手段を備え、前記特定データ列は、前記変換データ列であり、前記反転制御手段は、前記第1の付加データ列、何ら処理が施されていないn−2個の未処理データ列、及び前記変換データ列を含む前記候補データと、前記第2の付加データ列、前記n−2個の未処理データ列、及び前記変換データ列が反転した反転データ列を含む前記候補データとは別の候補データとを生成し、前記候補データのディパリティの総計と前記累積値とから第1の新たな累積値を、前記別の候補データのディスパリティの総計と前記累積値とから第2の新たな累積値をそれぞれ算出し、前記第1の新たな累積値と前記第2の新たな累積値とを比較し、第1の新たな累積値が前記基準値に近づくか否かを判定し、当該判定が否定的な場合は前記変換データ列を反転させ、肯定的な場合は前記変換データ列を反転しないよう制御して、前記中間データ列を取得し、前記変調手段は、前記中間データ列を構成する構成ビットそれぞれに、前記変換データ列の反転・非反転に応じた付加データ列と、n−2個の未処理データ列とのそれぞれの対応する各ビットが付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施すことを特徴とする。
この構成によると、第2の送信装置は、第1及び第2の新たな累積値のうち基準値に近づく新たな累積値を判定することで、変換データ列に対して反転・非反転の何れかの制御を施している。これにより、反転・非反転の何れかの制御された後のデータ列に対しても同じ値が連続する長さが所定値以下となっていることが保証されている。従って、第2の送信装置は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
本発明の一実施態様である、第3の送信装置は、第2の送信装置において、nの値は2であり、前記分離手段は、送信対象のデータを第1のデータ列と第2のデータ列とに分離し、前記変換手段は、前記第1のデータ列に対して、前記符号化処理を施して、前記変換データ列を生成し、前記付加手段は、前記第2のデータ列を用いて前記第1及び前記第2の付加データ列それぞれを生成し、前記反転制御手段は、前記変換データ列と前記第1の付加データ列とを含む前記候補データ、及び前記反転データ列と前記第2の付加データ列とを含む前記別の候補データを生成し、前記変調手段は、前記第1の新たな累積値が前記基準値に近づくと判断される場合には第1の付加データ列と前記中間データ列とにおいて、前記第1の新たな累積値が前記基準値に近づかないと判断される場合には第2の付加データ列と前記中間データ列とにおいて、出現位置が同一である前記中間データ列を構成する構成ビットと前記付加データ列に含まれるビットとからなる1個以上の2ビット長のシンボルそれぞれに対して、2^2値の振幅変調を施すことを特徴とする。
この構成によると、第3の送信装置は、4値の振幅変調において、ラングレンス及びDCバランスを保証することができる。
本発明の一実施態様である、第4の送信装置は、第3の送信装置において、前記符号化処理は、8B/10Bを用いた符号化であり、前記送信対象のデータは、16ビット長からなり、前記第1及び前記第2のデータ列それぞれは、8ビット長からなり、前記第1及び前記第2の制御データ列は、2ビット長からなることを特徴とする。
この構成によると、第4の送信装置は、8B/10Bによる符号化方式を用いて、ラングレンス及びDCバランスを保証する4値の振幅変調を行うことができる。
本発明の一実施態様である、第5の送信装置は、第4の送信装置において、前記反転制御手段は、前記変換データ列に含まれる変換ビットそれぞれに対して、前記第1の付加データ列に含まれ、当該変換ビットの出現位置に応じたビットが付加された2ビット長のシンボル10個からなる前記候補データ、及び前記反転データ列に含まれる反転ビットそれぞれに対して、前記第2の付加データ列に含まれ、当該反転ビットの出現位置に応じたビットが付加された2ビット長のシンボル10個からなる前記別の候補データを生成し、前記候補データにおける10個のシンボルそれぞれのディスパリティからその合計を示す第1の合計ディスパリティ、及び前記別の候補データにおける10個のシンボルそれぞれのディスパリティからその合計を示す第2の合計ディスパリティをそれぞれ算出し、前記累積値と前記第1の合計ディスパリティとから前記第1の新たな累積値、及び前記累積値と前記第2の合計ディスパリティとから前記第2の新たな累積値をそれぞれ算出し、前記第1の新たな累積値の絶対値が前記第2の新たな累積値の絶対値よりも小さい場合は前記第1の新たな累積値が前記基準値に近づくと判定し、それ以外の場合は前記第1の新たな累積値が前記基準値に近づかないと判定することを特徴とする。
この構成によると、第5の送信装置は、第1及び第2の新たな累積値を用いることにより、出力振幅がある値に偏らないように符号化することができる。
本発明の一実施態様である、第6の送信装置は、第5の送信装置において、前記送信装置は、さらに、前記第1の新たな累積値が前記基準値に近づくと判断される場合には第1の付加データ列と前記中間データ列とにおいて、前記第1の新たな累積値が前記基準値に近づかないと判断される場合には第2の付加データ列と前記中間データ列とにおいて、出現位置が同一である前記中間データ列に含まれる構成ビットと前記付加データ列に含まれるビットとからなる10個の2ビット長のシンボルそれぞれを、前記構成ビットの出現順に、連結させて変調対象のデータを生成する生成手段を備え、前記変調手段は、前記変調対象のデータを先頭位置から2ビット毎に区切って、前記2ビット長のシンボルを順次取得し、取得した前記シンボルに対して、2^2値の振幅変調を順次施すことを特徴とする。
この構成によると、第6の送信装置は、現時点までの出力振幅との偏りが生じない変調対象のデータを確実に生成することができる。
本発明の一実施態様である、第7の送信装置は、第6の送信装置において、前記候補データにおける2ビット長のシンボルには、上位ビットには前記変換データ列に含まれるビットが、下位ビットには前記第1の付加データ列に含まれるビットが配されて構成され、前記別の候補データにおける2ビット長のシンボルには、上位ビットには反転された前記変換データ列に含まれるビットが、下位ビットには前記第2の付加データ列に含まれるビットが配されて構成され、前記変調対象のデータにおける2ビット長のシンボルには、上位ビットには前記構成ビットが配され、下位ビットには前記反転制御手段での反転・非反転に応じた付加ビット列に含まれるビットが配されて構成され、前記変調手段は、前記上位ビットに値1が配されている場合には前記下位ビットにおける値に応じた量だけ振幅が前記基準値より上回るよう制御し、前記上位ビットに値0が配されている場合には前記下位ビットにおける値に応じた量だけ振幅が前記基準値より下回るよう制御することを特徴とする。
この構成によると、第7の送信装置は、変調対象となるデータ列を構成する10個の2ビット長のシンボルそれぞれにおいて、当該シンボルの上位ビットには中間データ列を構成する構成ビットが配され、下位ビットには前記反転制御手段での反転・非反転に応じた付加ビット列を構成するビットが配されているので、現時点までの出力振幅の偏りの方向(基準値より上回っているか下回っているか)と、今回の出力振幅の偏りの方向は必ず逆方向となる。これにより、DCバランスが確実に保証される。
本発明の一実施態様である、第8の送信装置は、第6の送信装置において、前記反転制御手段は、前記累積値を記憶しており、前記変換データ列を反転しないよう制御した場合には、前記第1の合計ディスパリティを、前記累積値に加算することで、前記累積値を更新し、前記変換データ列を反転した場合には、前記第2の合計ディスパリティを、前記累積値に加算することで、前記累積値を更新することを特徴とする。
この構成によると、第8の送信装置は、送信したデータに対する出力振幅の偏りの度合いを保持しておくことができるので、次のデータを送信する際に、当該次のデータに対する出力振幅との偏り具合を確実に判断することができる。
本発明の一実施態様である、第9の送信装置は、第1の送信装置において、前記送信装置は、さらに、前記変換手段の処理が施されていないn−1個のデータ列のうち一のデータ列に対して、前記変換データ列が非反転であることを示す制御データ列を付加して、付加データ列を生成する付加手段を備え、前記特定データ列は、前記付加データ列であり、前記反転制御手段は、前記変換データ列、前記付加データ列及び何ら処理が施されていないn−2個の未処理データ列とを含む前記候補データのディスパリティの総計と前記累積値とから算出される前記新たな累積値が前記基準値に近づくと判定する場合は前記付加データ列を反転しない、それ以外の場合には前記付加データ列を反転するよう制御して、前記中間データ列を取得し、前記変調手段は、前記中間データ列を構成する構成ビットそれぞれに、前記変換データ列と、n−2個の未処理データ列とのそれぞれにおける各ビットが付加されたnビット長のシンボルに対して、2^n値の振幅変調を施すことを特徴とする。
この構成によると、第9の送信装置は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、新たな累積値が基準値に近づくか否かの判定結果に応じて当該付加データ列に対して反転・非反転の何れかの制御を行っている。その結果、反転・非反転の何れかの制御された後のデータ列に対しても同じ値が連続する長さが所定値以下となっていることが保証されている。従って、第9の送信装置は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
本発明の一実施態様である、第10の送信装置は、第9の送信装置において、nの値は2であり、前記分離手段は、送信対象のデータを第1のデータ列と第2のデータ列とに分離し、前記変換手段は、前記第1のデータ列に対して、前記符号化処理を施して、前記変換データ列を生成し、前記付加手段は、前記第2のデータ列に対して、前記制御データ列を付加して、付加データ列を生成し、前記変調手段は、前記中間データ列と前記変換データ列との双方において、出現位置が同一である前記中間データ列に含まれる構成ビットと前記変換データ列に含まれるビットとからなる1個以上の2ビット長のシンボルそれぞれに対して、2^2値の振幅変調を施すことを特徴とする。
この構成によると、第10の送信装置は、4値の振幅変調において、ラングレンス及びDCバランスを保証することができる。
本発明の一実施態様である、第11の送信装置は、第10の送信装置において、前記符号化処理は、8B/10Bを用いた符号化であり、前記送信対象のデータは、16ビット長からなり、前記第1及び前記第2のデータ列それぞれは、8ビット長からなり、前記制御データ列は、2ビット長からなることを特徴とする。
この構成によると、第11の送信装置は、8B/10Bによる符号化方式を用いて、ラングレンス及びDCバランスを保証する4値の振幅変調を行うことができる。
本発明の一実施態様である、第12の送信装置は、第11の送信装置において、前記反転制御手段は、前記変換データ列に含まれる変換ビットそれぞれに対して、前記付加データ列において当該変換ビットの出現位置に応じたビットが付加された2ビット長のシンボル10個からなる前記候補データを生成し、生成した前記候補データにおける10個のシンボルそれぞれのディスパリティからその合計を示す合計ディスパリティを算出し、前記累積値と前記合計ディスパリティとの乗算結果を示す候補累積値を算出し、前記候補累積値が値0より大きい場合には前記新たな累計値は前記基準値に近づかないと判定し、それ以外の場合には前記新たな累計値は前記基準値に近づくと判定することを特徴とする。
この構成によると、第12の送信装置は、候補累積値を用いて、新たな累積値が基準値に近づくか否かを判定することができる。
本発明の一実施態様である、第13の送信装置は、第12の送信装置において、前記送信装置は、さらに、前記中間データ列と前記変換データ列との双方において、出現位置が同一である前記中間データ列に含まれる構成ビットと前記変換データ列に含まれるビットとからなる10個の2ビット長のシンボルそれぞれを、前記構成ビットの出現順に、連結させて変調対象のデータを生成する生成手段を備え、前記変調手段は、前記変調対象のデータを先頭位置から2ビット毎に区切って、前記2ビット長のシンボルを順次取得し、取得した前記シンボルに対して、2^2値の振幅変調を順次施すことを特徴とする。
この構成によると、第13の送信装置は、現時点までの出力振幅との偏りが生じない変調対象のデータを確実に生成することができる。
本発明の一実施態様である、第14の送信装置は、第13の送信装置において、前記反転制御手段は、前記累積値を記憶しており、前記付加データ列を反転した場合には、前記合計ディスパリティを前記累積値から減算することで、前記累積値を更新し、前記付加データ列を反転しないよう制御した場合には、前記合計ディスパリティを前記累積値に加算することで、前記累積値を更新することを特徴とする。
この構成によると、第14の送信装置は、送信したデータに対する出力振幅の偏りの度合いを保持しておくことができるので、次のデータを送信する際に、当該次のデータに対する出力振幅との偏り具合を確実に判断することができる。
本発明の一実施態様である、第15の送信装置は、第1の送信装置において、前記送信装置は、さらに、前記変換データ列に、当該変換データ列が非反転であることを示す制御データ列を付加して、付加データ列を生成する付加手段を備え、前記特定データ列は、前記付加データ列であり、前記反転制御手段は、前記付加データ列、及び何ら処理が施されていないn−1個の未処理データ列を含む前記候補データのディスパリティの総計と前記累積値とから算出される前記新たな累積値が前記基準値に近づくと判定する場合は前記付加データ列を反転しない、それ以外の場合には前記付加データ列を反転するよう制御して、前記中間データ列を取得し、前記変調手段は、前記中間データ列を構成する構成ビットそれぞれに、n−1個の未処理データ列それぞれにおける対応する各ビットが付加されたnビット長のシンボルに対して、2^n値の振幅変調を施すことを特徴とする。
この構成によると、第15の送信装置は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、当該変換データ列から付加データ列を生成している。また、新たな累積値が基準値に近づくか否かの判定結果に応じて当該付加データ列に対して反転・非反転の何れかの制御を行っている。その結果、反転・非反転の何れかの制御された後のデータ列に対しても同じ値が連続する長さが所定値以下となっていることが保証されている。従って、第15の送信装置は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
本発明の一実施態様である、第16の送信装置は、第15の送信装置において、nの値は2であり、前記分離手段は、送信対象のデータを第1のデータ列と第2のデータ列とに分離し、前記変換手段は、前記第1のデータ列に対して、前記符号化処理を施して、前記変換データ列を生成し、前記変調手段は、前記中間データ列と前記第2のデータ列との双方において、出現位置が同一である前記中間データ列を構成する構成ビットと前記第2のデータ列に含まれるビットとからなる1個以上の2ビット長のシンボルそれぞれに対して、2^2値の振幅変調を施すことを特徴とする。
この構成によると、第16の送信装置は、4値の振幅変調において、ラングレンス及びDCバランスを保証することができる。
本発明の一実施態様である、第17の送信装置は、第16の送信装置において、前記符号化処理は、8B/10Bを用いた符号化であり、前記送信対象のデータは、20ビット長からなり、前記第1のデータ列は、8ビット長からなり、前記第2のデータ列は、12ビット長からなり、前記制御データ列は、2ビット長からなることを特徴とする。
この構成によると、第17の送信装置は、8B/10Bによる符号化方式を用いて、ラングレンス及びDCバランスを保証する4値の振幅変調を行うことができる。
本発明の一実施態様である、第18の送信装置は、第17の送信装置において、前記反転制御手段は、前記付加データ列に含まれるビットそれぞれに対して、前記第2のデータ列において当該付加データ列に含まれるビットの出現位置に応じたビットが付加された2ビット長のシンボル12個からなる前記候補データを生成し、生成した前記候補データにおける12個のシンボルそれぞれのディスパリティからその合計を示す合計ディスパリティを算出し、前記累積値と前記合計ディスパリティとの乗算結果を示す候補累積値を算出し、前記候補累積値が値0より大きい場合には前記新たな累計値は前記基準値に近づかないと判定し、それ以外の場合には前記新たな累計値は前記基準値に近づくと判定することを特徴とする。
この構成によると、第18の送信装置は、候補累積値を用いて、新たな累積値が基準値に近づくか否かを判定することができる。
本発明の一実施態様である、第19の送信装置は、第18の送信装置において、前記送信装置は、さらに、前記中間データ列と前記第2のデータ列との双方において、出現位置が同一である前記中間データ列を構成する構成ビットと前記第2のデータ列に含まれるビットとからなる12個の2ビット長のシンボルそれぞれを、前記構成ビットの出現順に、連結させて変調対象のデータを生成する生成手段を備え、前記変調手段は、前記変調対象のデータを先頭位置から2ビット毎に区切って、前記2ビット長のシンボルを順次取得し、取得した前記シンボルに対して、2^2値の振幅変調を順次施すことを特徴とする。
この構成によると、第19の送信装置は、現時点までの出力振幅との偏りが生じない変調対象のデータを確実に生成することができる。
本発明の一実施態様である、送信方法は、2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられる送信方法であって、送信対象のデータをn個のデータ列に分離する分離ステップと、前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換ステップと、送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御ステップと、前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調ステップとを含むことを特徴とする。
これによると、送信方法は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行っている。そして、振幅変調の対象となるnビット長のシンボルには、特定データ列に含まれる一のビットを最上位ビットに含み、変換データ列に含まれるビットが必ず含まれているので、振幅対象である各シンボルに対してランレングスは保証されている。また、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行うことで、出力振幅が基準値に近づくこととなり、これは、出力振幅がある値に偏らないことを意味している。つまり、振幅対象である各シンボルに対してDCバランスも保証されることとなる。従って、当該送信方法は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
本発明の一実施態様である、集積回路は、2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられる集積回路であって、送信対象のデータをn個のデータ列に分離する分離手段と、前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備えることを特徴とする。
この構成によると、集積回路は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行っている。そして、振幅変調の対象となるnビット長のシンボルには、特定データ列に含まれる一のビットを最上位ビットに含み、変換データ列に含まれるビットが必ず含まれているので、振幅対象である各シンボルに対してランレングスは保証されている。また、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行うことで、出力振幅が基準値に近づくこととなり、これは、出力振幅がある値に偏らないことを意味している。つまり、振幅対象である各シンボルに対してDCバランスも保証されることとなる。従って、当該集積回路は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
1.第1の実施の形態
以下、本発明を実施するための第1の実施の形態について図面を参照しつつ説明する。
1.1 送受信システム1の概要
本発明に係る送信装置を含む送受信システム1の概要について説明する。
送受信システム1は、図1に示すように、送信装置100と受信装置110とから構成されている。
送信装置100は、入力された送信対象のデータに対して、符号化及び2(=2^1)値及び4(=2^2)値の何れかによる振幅変調を施し、受信装置110へ送信する。
ここで、本実施の形態では、4値の振幅変調として4値ASK(Amplitude Shift Keying)変調を用いるものとする。図2は、4値ASK変調を用いたときのマッピングの一例を示す図である。図2では入力パターン(値“00”、“01”、“10”、“11”)に応じて、電圧レベル(V0、V1、V2、V3)とディスパリティ(−3、−1、+1、+3)とが示されている。ここでディスパリティとは、各入力パターンが均等に入力された場合の基準電圧レベル(平均電圧レベル)と各電圧レベルとの差である。
受信装置110は送信装置100から送信された光信号を受信して復調する。
ここで、演算子^は、べき乗を示す。例えば、A^xは、x>0のときはAをx回乗じたものを示す。
なお、ここでは、送信装置100と受信装置110との間で、送信対象のデータを送信する前に、初期化の処理として、互いの装置は、通信を確立するためのデータを送受信する。具体的には、送信装置100は通信を要求する要求データを受信装置110へ送信し、受信装置110は要求データを受信すると応答を示す応答データを送信装置100へ送信するものとする。さらに、受信装置110は、要求データを受信した際の受信電力に応じて、2値及び4値の振幅変調の何れかを指定する変調指定データを送信装置100へ送信する。送信装置100は、受信した変調指定データが指定する振幅変調により送信対象のデータに対して変調を施す。
以下においては、先ず、変調指定データとして4値の振幅変調が指定された後における送信装置100及び受信装置110それぞれの動作について説明する。
1.2 送信装置100の構成
送信装置100は、図1に示すように、符号化部101、4値変調部102、増幅器103及び発光素子104を備える。
(1)符号化部101
符号化部101は、入力された2mビット長の送信対象のデータ列(mは整数)を符号化して符号化データ列Cを生成し、生成した符号化データ列Cを4値変調部102へ出力する。本実施の形態ではmを8とし、符号化部101には16ビットのデータ列が入力されるものとする。
符号化部101は、図3に示すように、分離部300、付加部301、変換部302、反転制御部303及び合成部304を備える。また、反転制御部303は、図3に示すように、ディスパリティ制御部305、反転部306を備える。
受信装置110からの変調指定データが4値の振幅変調を示す場合には、分離部300、付加部301、変換部302、反転制御部303及び合成部304の全てが動作するよう制御される。
(1−1)分離部300
符号化部101に入力された16ビットの送信データ列Sは、分離部300に入力される。分離部300は、入力された16ビットの送信データ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(15)])を偶数番目のビットで構成される8ビットのデータ列S1(=[S(0)、S(2)、・・・、S(2k)、・・・、S(14)])と、奇数番目のビットで構成される8ビットのデータ列S2(=[S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])に分離して、データ列S1を付加部301に出力し、データ列S2を変換部302に出力する。
(1−2)付加部301
付加部301は、2ビットの制御ビット“0”、“1”を分離部300から入力されたのデータ列S1の先頭に付加し10ビットのデータ列Ca12(=[0、1、S(0)、S(2)、・・・、S(2k)、・・・、S(14)])を生成し、生成した10ビットのデータ列Ca12を反転制御部303のディスパリティ制御部305及び反転部306に出力する。
(1−3)変換部302
変換部302は、分離部300から入力されたデータ列S2をランレングスを一定値以下に抑える符号化方式を用いて符号化する。一般にランレングスを一定値以下に抑える符号化方式として8B/10B符号化方式が知られている(特許文献1)。本実施の形態の変換部302は、この8B/10B符号化方式を用いてデータ列S2に対する符号化を行うものとする。
変換部302は、データ列S2を8B/10B符号化方式を用いて符号化することにより、10ビットのデータ列Ca2(=[Ca(0)、Ca(1)、・・・、Ca(9)])を生成し、生成したデータ列Ca2をディスパリティ制御部305及び合成部304に出力する。
(1−4)反転制御部303
反転制御部303は、DCバランスを保証するために、入力されたデータ列Ca12に対して、反転及び正転の何れかの制御を行う。なお、本明細書では、データ列の全ビットに対して、入力された値が“0”であれば“1”に変換し、入力された値が“1”であれば“0”に変換することを反転と言う。また、データ列の全ビットに対して入力された値をそのまま出力することを正転という。
反転制御部303のディスパリティ制御部305が、データ列Ca12に対して、反転させるか正転させるかの判断を行う。そして、反転部306が、ディスパリティ制御部305の判断結果に基づいて、データ列Ca12に対して反転及び正転の何れかの制御を行う
以下、ディスパリティ制御部305及び反転部306について説明する。
(1−4−1)ディスパリティ制御部305
ディスパリティ制御部305は、入力されたデータ列Ca12及びデータ列Ca2に基づいて、データ列Ca12を反転させるか、または正転させるかを判定し、判定結果に応じて反転制御情報を生成し、生成した反転制御情報を反転部306に出力する。
ディスパリティ制御部305は、図4に示すように、合成部400、算出部401、判定部402、累積ディスパリティ記憶部403を備える。
(累積ディスパリティ記憶部403)
累積ディスパリティ記憶部403は、現時点までに送信されたデータに対するディスパリティの累積値である累積ディスパリティを保持する。なお、送信開始時においては、累積ディスパリティ記憶部403には、通信の初期化の処理時において累積ディスパリティの値として初期値0が設定されるものとする。
(合成部400)
合成部400は、付加部301より入力されたデータ列Ca12(=[0、1、S(0)、S(2)、・・・、S(2k)、・・・、S(14)])と、変換部302より入力された10ビットのデータ列Ca2(=[Ca2(0)、Ca2(1)、・・・、Ca2(9)])を互いに交互になるように20ビットのデータ列Co)=[0、Ca2(0)、1、Ca2(1)、S(0)、Ca2(2)、・・・、S(14)、Ca2(9)])を生成する。合成部400は、生成したデータ列Coを算出部401に出力する。
(算出部401)
算出部401は、合成部400から入力されたデータ列Coを1シンボル(2ビット)毎に区切り、区切られた1シンボル毎に、当該シンボルの値に対応するディスパリティを求め、求めた10シンボル分のディスパリティの総和を候補符号語ディスパリティとして算出する。ここで、本実施の形態では、図2における入力パターンとディスパリティの対応に合わせて、シンボルの値“00”にはディスパリティ=−3を、シンボルの値が“01”にはディスパリティ=−1を、シンボルの値が“11”にはディスパリティ=+1を、シンボルの値“10”にはディスパリティ=+3を対応付けているものとする。
算出部401は算出した候補符号語ディスパリティを判定部402へ出力する。
(判定部402)
判定部402は、算出部401から入力された候補符号語ディスパリティと累積ディスパリティ記憶部403に記憶された累積ディスパリティに基づいて、データ列Ca12を反転させるか、または正転させるかを判定する。
具体的には、判定部402は、候補符号語ディスパリティ及び累積ディスパリティが共に正の値である場合、または共に負の値である場合には、データ列Ca12を反転部306において反転させると判定する。一方、判定部402は、候補符号語ディスパリティ及び累積ディスパリティが、いずれか一方が正の値であり、且つもう一方が負の値である場合に、データ列Ca12を反転部306において正転させると判定する。
候補符号語ディスパリティの値及び累積ディスパリティの値のうち、少なくともいずれか一方が0の場合は、データ列Ca12に対して反転または正転のいずれの処理を行っても問題ないが、本実施の形態では正転させるものとする。
判定部402は、上記の判定結果に応じて、反転制御情報及び符号語ディスパリティを生成する。反転制御情報は、データ列Ca12を反転させるか、または正転させるかを示すものであり、データ列Ca12を反転させる場合は“0”に設定され、データ列Ca12を正転させる場合は“1”に設定される。また、符号語ディスパリティは、累積ディスパリティの更新に用いる値であり、データ列Ca12を反転させる場合は候補符号語ディスパリティの正負の符号を反転させた値に設定され、データ列Ca12を正転させる場合は候補符号語ディスパリティの値がそのまま設定される。
判定部402は、生成した反転制御情報を反転部306へ出力し、生成した符号語ディスパリティを、累積ディスパリティ記憶部403で記憶されている累積ディスパリティに加算することで、当該累積ディスパリティを更新する。
これにより、反転部306で行なわれる反転処理を考慮して累積ディスパリティを更新するので、累積ディスパリティを実際に送信される信号に対応した値とすることができる。
(1−4−2)反転部306
反転部306は、付加部301から入力されたCa12に対し、ディスパリティ制御部305から入力された反転制御情報に応じて反転させる、または正転させる処理を行うことにより、10ビットのデータ列Ca1を生成する。
反転部306は、生成したデータ列Ca1を合成部304に出力する。
例えば、反転部306は入力されたデータ列1001101111に対して、反転の場合は0110010000を合成部304へ出力し、正転の場合は1001101111を合成部304へ出力する。
(1−5)合成部304
合成部304は、反転部306から入力されたデータ列Ca1(=[Ca1(0)、Ca1(1)、・・・、Ca1(9)])と、変換部302から入力されたデータ列Ca2(=[Ca2(0)、Ca2(1)、・・・、Ca2(9)])を互いに交互になるように配置した20ビットの符号化データ列C(=[Ca1(0)、Ca2(0)、Ca1(1)、Ca2(1)、・・・Ca1(9)、Ca2(9)])を生成する。
合成部304は合成した符号化データ列Cを4値変調部102に出力する。
(2)4値変調部102
4値変調部102は、変調指定データが4値の振幅変調を示す場合には、入力された符号化データ列Cに4値変調を施して出力する。
具体的には、4値変調部102は、入力されたデータ列を2ビットごとのシンボルに区切り、図2のマッピングに応じた電圧レベルを有する電気信号を出力する。
(3)増幅器103、発光素子104
増幅器103は、入力された電気信号を増幅し、発光素子104に出力する。
発光素子104は、増幅された電気信号に対応する振幅を有する光信号に変更して受信装置110に送信する。発光素子104としては一般的にLED(Light Emitting Diode)やレーザーが用いられる。
1.2 受信装置110の構成
受信装置110は、図1に示すように、受光素子111、増幅器112、4値復調部113、復号部114とを備える。
受信装置110は、通信の初期化時に送信装置100へ送信した変調指定データを通信が終了するまでの間、一時的に記憶しているものとする。
なお、ここでも、送信装置100の構成の説明と同様に、変調指定データが4値の振幅変調を示している場合における各構成要素の動作について説明する。
(1)受光素子111、増幅器112
受光素子111は、送信装置100から送信された光信号を受光すると電気信号に変換して増幅器112に出力する。受光素子111は一般的にフォトダイオードが用いられる。
増幅器112は、受光素子111から入力された信号を増幅して4値復調部113に出力する。
(2)4値復調部113
4値復調部113は、変調指定データが4値の振幅変調を示す場合には、増幅器112から入力された信号がいずれの変調状態(電圧レベル)にあるかを判定し、判定された変調状態に対応する2ビットの値にデマッピングして復調データ列を生成する。
(3)復号部114
復号部114は、復調データ列に対して送信装置100の符号化部101で行った、4値の振幅変調に係る符号化処理と逆の処理である復号処理を行うことにより、送信装置100から送信された送信データ列Sを再生する。
1.4 動作
ここでは、送信装置100及び受信装置110における処理について説明する。
(1)送信処理
送信装置100がデータに対して4値の振幅変調を施して、振幅変調されたデータを受信装置110へ送信する処理の動作について、図5に示す流れ図を用いて説明する。
分離部300は、送信対象である16ビットのデータ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(15)])を受け付け(ステップS5)、受け付けたデータ列Sを偶数番目のビットで構成される8ビットのデータ列S1(=[S(0)、S(2)、・・・、S(2k)、・・・、S(14)])と、奇数番目のビットで構成される8ビットのデータ列S2(=[S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])とに分離する(ステップS10)。分離部300は、データ列S1を付加部301に出力し、データ列S2を変換部302に出力する。
付加部301は、2ビットの制御ビット“0”、“1”をデータ列S1の先頭に付加し10ビットのデータ列Ca12(=[0、1、S(0)、S(2)、・・・S(12)、S(14)])を生成し、変換部302はデータ列S2を8B/10B符号化方式を用いて符号化して10ビットのデータ列Ca2(=[Ca2(0)、Ca2(1)、Ca2(2)、・・・、Ca2(9)])を生成する(ステップS15)。付加部301は生成したデータ列Ca12をディスパリティ制御部305及び反転部306に出力し、変換部302は生成したデータ列Ca2をディスパリティ制御部305及び合成部304に出力する。
ディスパリティ制御部305の合成部400は、付加部301より入力されたデータ列Ca12と、変換部302より入力したデータ列Ca2とから20ビットのデータ列Coを生成する(ステップS20)。合成部400は、生成したデータ列Co(=[0、Ca2(0)、1、Ca2(1)、S(0)、Ca2(2)、・・・、S(14)、Ca2(9)])を算出部401に出力する。
ディスパリティ制御部305の算出部401は、合成部400から入力されたデータ列Coから候補符号語ディスパリティを算出する(ステップS25)。算出部401は算出した候補符号語ディスパリティを判定部402へ出力する。
ディスパリティ制御部305の判定部402は、候補符号語ディスパリティと累積ディスパリティ記憶部403に記憶された累積ディスパリティに基づいて、データ列Ca12を反転させるか、または正転させるかを判定する(ステップS30)。
反転部306は、ステップS30における判定処理による判定結果に基づいて、付加部301から入力されたCa12に対して反転させる、または正転させる処理を行うことにより、10ビットのデータ列Ca1(=[Ca1(0)、Ca1(2)、・・・、Ca1(9)])を生成する(ステップS35)。
合成部304は、反転制御処理が施されたデータ列Ca1(=[Ca1(0)、Ca1(2)、・・・、Ca1(9)])と、変換部302から入力されたデータ列Ca2(=[Ca2(0)、Ca2(1)、・・・、Ca2(9)])とから互いのビットが交互になるように配置した20ビットの符号化データ列C(=[Ca1(0)、Ca2(0)、Ca1(1)、Ca2(1)、・・・Ca1(9)、Ca2(9)])を生成する(ステップS40)。
4値変調部102、増幅器103及び発光素子104は、符号化データ列Cに対して、4値の振幅変調処理、増幅処理及び光信号への変換処理を施して送信すべき光信号を生成し、生成した光信号を受信装置110に送信する(ステップS45)。
(2)判定処理
ここでは、図5に示すステップS30で行われる判定処理について、図6に示す流れ図を用いて説明する。
判定部402は、累積ディスパリティ記憶部403に保持されている累積ディスパリティと算出部401から入力された候補符号語ディスパリティを乗算しD_chkを算出する(ステップS500)。
判定部402は、算出されたD_chkの値が0より大きい値であるか否かを判定する(ステップS501)。
D_chkの値が0より大きいと判定された場合(ステップS501における「Yes」)、判定部402は、反転制御情報として“0”を反転部306へ出力し(ステップS502)、候補符号語ディスパリティの符号を反転させた値を符号語ディスパリティとする(ステップS504)。
D_chkが0より大きくない、つまり0以下であると判定された場合(ステップS501における「No」)、判定部402は、反転制御情報として“1”を反転部306へ出力し(ステップS503)、入力された候補符号語ディスパリティをそのまま符号語ディスパリティとする(ステップS505)。
判定部402は、ステップS504及びS505で得られた符号語ディスパリティを、累積ディスパリティ記憶部403で記憶されている累積ディスパリティに加算することで、当該累積ディスパリティを更新する(ステップS506)。
(3)反転処理
ここでは、図5に示すステップS35で行われる反転処理について、図7に示す流れ図を用いて説明する。
反転部306は、ディスパリティ制御部305から入力された反転制御情報の値が“0”であるか否かを判定する(ステップS600)。
反転制御情報の値が“0”であると判定された場合(ステップS600における「Yes」)、反転部306は、付加部301から入力されたデータ列Ca12を反転させてCa1を生成し、生成したCa1を合成部304に出力する(ステップS601)。
反転制御情報の値が“0”でない、つまり“1”であると判定された場合(ステップS600における「No」)、反転部306は、付加部301から入力されたデータ列Ca12を正転させてCa1を生成し、生成したCa1を合成部304に出力する(ステップS602)。ここで、図中に示す演算子〜は、反転を示す。例えば、〜Aは、データ列Aを反転させたものを示す。
(4)復号処理
ここでは、受信装置110で行われる復号処理について、簡単に説明する。
なお、ここでは、受信した信号に対して4値復調までの処理が行われているものとする。
復号処理は、以下に示すように、符号化処理と逆の手順により行なわれる。
受信装置110の復号部114は、4値復調された復調データ列を偶数ビット及び奇数ビットに分離する。
復号部114は、偶数番目のビットからなるデータ列を10ビット毎に複数のブロックに分離し、各ブロックに付加された識別符号に基づいて、当該ブロックが反転されたものであるか否かを判定する。ここで、識別符号とは、送信装置100にて、データ列S1に付加された2ビットの制御ビットで、反転制御が施された結果を示すものである。
復号部114は、反転されていると判定されたブロックについては、先頭2ビットに配された制御ビットを除いたデータ列を反転することによりデータ列S1を再生する。
正転されていると判定されたブロックについては、先頭2ビットに配された制御ビットを除いたデータ列を抽出することによりデータ列S1を再生する。
一方、復号部114は、奇数番目のビットからなるデータ列を10ビット毎に複数のブロックに分離し、各ブロック(10ビット長のデータ列)に対して8B/10B復号処理を施すことによりデータ列S2を再生する。
復号部114は、データ列S1とデータ列S2をそれぞれ交互に並べ替えることによって送信データSを再生する。
1.5 動作例
本発明の実施の形態における動作例について、図8及び図9を用いて説明する。図8は符号化部101に入力するデータ列の一例である。
図8は、合計64ビットの入力データを16ビット単位で区切ったデータ列#1から#4を表している。
図9は、図8に示すデータ列を#1のブロックから順に#4のブロックまで符号化部101に入力したときの符号化部101内部の動作例を示している。
以降では、符号化部101における動作例について、図9を用いて順に説明する。
(データ列#1)
先ず、分離部300には、データ列#1(S=1100101001010100)が入力される。
そして、分離部300で、データ列S1(=10110000)と、データ列S2(=10001110)に分けられる。
付加部301は、データ列S1に対して2ビットの制御ビット列“01”をS1の先頭に付加し、データ列Ca12(=0110110000)を生成する。
一方、変換部302は、データ列S2に8B/10B符号化を施して10ビットのデータ列Ca2(=0111001101)を生成する。
ディスパリティ制御部305は、データ列Ca12とCa2とから候補符号語ディスパリティを算出する。ここでは、候補符号語ディスパリティの値は−2となる。
判定部402は、候補符号語ディスパリティの値が−2であり、累積ディスパリティの値が初期値0であるので、候補符号語ディスパリティと累積ディスパリティを乗算することによりD_chkとして0を算出する。D_chkの値が0であるので、判定部402はデータ列Ca12に正転処理を行うと判定し、反転制御情報として1を反転部306へ出力し、符号語ディスパリティを−2として累積ディスパリティの値を−2に更新する。
反転部306は、ディスパリティ制御部305から入力された反転制御情報の値が1であるためデータ列Ca12は反転せず、Ca1(=0110110000)を合成部304に出力する。合成部304は、Ca1とCa2を合成して、符号化データ列C(=00111101101001010001)を生成し、生成した符号化データ列Cを4値変調部102に出力する。
(データ列#2)
分離部300に、データ列#2(S=0101110010011000)が入力される。
そして、分離部300で、データ列S1(=00101010)と、データ列S2(=11100100)に分けられる。
付加部301は、データ列S1に対して2ビットの制御ビット列“01”をS1の先頭に付加し、データ列Ca12(=0100101010)を生成する。
一方、変換部302は、データ列S2に8B/10B符号化を施して10ビットのデータ列Ca2(=0010101110)を生成する。
ディスパリティ制御部305は、データ列Ca12とCa2とから候補符号語ディスパリティを算出する。この場合、候補符号語ディスパリティの値は−8となる。
判定部402は、候補符号語ディスパリティの値が−8であり、累積ディスパリティの値が−2であるので、候補符号語ディスパリティと累積ディスパリティを乗算することによりD_chkとして16を算出する。D_chkの値が16であるので、判定部402はデータ列Ca12に反転処理を行うと判定し、反転制御情報として0を出力し、符号語ディスパリティを8として累積ディスパリティを6に更新する。
反転部306は、反転制御情報の値が0であるためデータ列Ca12を反転して、Ca1(=1011010101)を生成し、合成部304へ出力する。
合成部304は、データ列Ca1とCa2を合成して符号化データ列C(=10001110011001110110)を生成し、4値変調部102に出力する。
(データ列#3)
分離部300に、データ列#3(S=1101101000010101)が入力される。
分離部300で、データ列S1=10110000と、データ列S2=11000111とに分けられる。
付加部301は、データ列S1と2ビットの制御ビット“01”とから、データ列Ca12(=0110110000)を生成する。
一方、変換部302は、データ列S2に対して、8B/10B符号化を施して10ビットの出力Ca2(=1110000110)を生成する。
ディスパリティ制御部305は、データ列Ca12とCa2とから候補符号語ディスパリティを算出する。この場合、候補符号語ディスパリティの値は−4となる。
判定部402は、候補符号語ディスパリティの値が−4であり、累積ディスパリティの値が6であるので、候補符号語ディスパリティと累積ディスパリティを乗算することによりD_chkとして−24を算出する。D_chkの値が−24であるので、判定部402はデータ列Ca12に正転処理を行うと判定し、反転制御情報として1を出力し、符号語ディスパリティを−4として累積ディスパリティを2に更新する。
反転部306は、反転制御情報の値が1であるためデータ列Ca12を反転せず、Ca1(=0110110000)を合成部304に出力する。
合成部304は、Ca1とCa2を合成して符号化データ列C(=01111100101000010100)を生成して、4値変調部102に出力する。
(データ列#4)
分離部300に、データ列#4(S=1011011011010010)が入力される。
そして、分離部300で、データ列S1=11011001と、データ列S2=01101100とに分けられる。
付加部301は、データ列S1と2ビットの制御ビット“01”とからデータ列Ca12(=0111011001)を生成する。
一方、変換部302は、データ列S2に対して8B/10B符号化を施して10ビットのデータ列Ca2(=1010011100)を生成する。
ディスパリティ制御部305は、データ列Ca12とCa2とから、候補符号語ディスパリティを算出する。ここでは、候補符号語ディスパリティの値は4となる。
判定部402は、候補符号語ディスパリティの値が4であり、累積ディスパリティの値が2であるので、候補符号語ディスパリティと累積ディスパリティを乗算することによりD_chkとして8を算出する。chkの値が8であるので、判定部402はデータ列Ca12に反転処理を行うと判定し、反転制御情報として0を出力し、符号語ディスパリティを−4として累積ディスパリティを−2に更新する。
反転部306は、反転制御情報の値が0であるためデータ列Ca12を反転し、Ca1(=1000100110)を生成し、合成部304に出力する。
合成部304は、データ列Ca1とCa2を合成して符号化データ列C(=01101110001111010010)を生成して、4値変調部102に出力する。
図10は、図8に示すデータ列から符号化部101で算出される符号語ディスパリティと累積ディスパリティである。本実施の形態で開示される符号化部101で出力される符号語ディスパリティの最大値及び最小値は±20である。符号語ディスパリティは判定部402において現時点で保持されている累積ディスパリティと同じ符号とならないよう制御されるため、更新される累積ディスパリティの最大値及び最小値は±20の範囲に制限される。
1.6 2値の振幅変調について
ここでは、送信装置100が、2値の振幅変調を施す場合について説明する。
送信装置100は、受信装置110から2値の振幅変調が指定された変調指定データを受け取ると、付加部301及び反転制御部303が動作しないよう制御する。つまり、符号化部101は、分離部300、変換部302及び合成部304のみが動作する。
分離部300は、2値の振幅変調が行われる場合には、送信対象である16ビットのデータ列Sを受け付けると、受け付けたデータ列Sを変換部302へ出力する。
変換部302は、受け付けたデータ列Sに対して、8B/10B符号化を施す。この場合、データ列Sは8ビット毎に2つのデータ列に区切られて、8B/10B符号化が施され、10ビット長の2つのデータ列が合成部304へ出力される。
合成部304では、8B/10Bが施された10ビットのデータ列を4値変調部102へ出力する。
4値変調部102は、合成部304から受け取ったデータ列Sを1ビット毎のシンボルに区切って、各シンボルを上位ビットとし、固定ビット“0”を下位ビットに割り当てて、2ビットのシンボルに変換し、変換されたシンボル毎に図2のマッピングに応じた電圧レベルを有する電気信号を出力する。
以降、増幅器103及び発光素子104における動作は、同様であるので、ここでの説明は省略する。
また、受信装置110における復号処理についても、2値の振幅変調を復号する従来の処理と同様であるので、ここでの説明は省略する。
1.7 第1の実施の形態のまとめ
ディスパリティ制御部305における制御により、累積ディスパリティの正負の符号と符号語ディスパリティの正負の符号とは逆になるので、ブロック単位でみるとディスパリティが発生していても、複数ブロック単位でみると各ブロックのディスパリティは互いに相殺されて0に近づく。その結果、同じ正負の符号を有するディスパリティが連続することによって、DCオフセットが発生し、受信装置側で正しい基準値を生成することができずに受信誤りが発生することを防ぐことができる。つまりは、4値の振幅変調を行った場合でもDCバランスが保証されることとなる。
データ列Ca2において同じ値が連続しない箇所では、データ列Ca1及びデータ列Ca2を多値化した場合においても同一の値が連続しないので、多値符号において同じ値が連続する長さを所定値以下とすることができる。その結果、同じ値の多値符号が所定値以下とすることによって、受信装置110中の増幅器112でのクロック再生が容易となり、受信装置側で同期が失われて受信誤りが発生することを防ぐことができる。これにより、ランレングスが保証されることとなる。
2.第2の実施の形態
以下、本発明を実施するための第2の実施の形態について図面を参照しつつ、第1の実施の形態と異なる箇所を中心に説明する。なお、同一の動作を行う構成要素については、同一の符号を用いて説明する。
第2の実施の形態における送受信システム1aは、図11にて示すように、送信装置100aと受信装置110aとから構成されている。
以下においては第1の実施の形態と同様に、送信装置100aが送信対象のデータを送信する前に、初期化の処理として、互いの装置は通信を確立するためのデータを送受信する。そして、受信装置110aは、第1の実施の形態と同様に、2値及び4値の振幅変調の何れかを指定する変調指定データを送信装置100aへ送信する。送信装置100aは、受信した変調指定データが指定する振幅変調により送信対象のデータに対して変調を施すものとする。
2.1 送信装置100aの構成
送信装置100aは、図11に示すように、符号化部101aと、4値変調部102と、増幅器103と、発光素子104とから構成されている。
ここでは、第1の実施の形態における構成と異なる符号化部101aについて説明する。なお、その他の構成(4値変調部102、増幅器103及び発光素子104)については第1の実施の形態と同様であるため、説明を省略する。
(1)符号化部101a
符号化部101aは、図12に示すように、分離部300a、付加部301a、301b、変換部302a、反転制御部303a及び合成部304aを備える。また、反転制御部303aは、図12に示すように、ディスパリティ制御部305a、反転部306a及び制御ビット選択部1002を備える。
変調指定データが4値の振幅変調を示す場合には、分離部300a、付加部301a、301b、変換部302a、反転制御部303a及び合成部304aの全てが動作するよう制御される。
(1−1)分離部300d
符号化部101aに入力された16ビットデータ列Sは、分離部300aに入力される。分離部300aは、入力された16ビットのデータ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(15)])を偶数番目のビットで構成される8ビットのデータ列S1(=[S(0)、S(2)、・・・、S(2k)、・・・、S(14)])と、奇数番目のビットで構成される8ビットのデータ列S2(=[S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])に分離して、8ビットのデータ列S1を変換部302aに出力し、8ビットのデータ列S2を付加部301a及び301bへそれぞれ出力する。
(1−2)変換部302a
変換部302aは、分離部300aから入力されたデータ列S1をランレングスを一定値以下に抑える符号化方式を用いて符号化する。ここでは、第1の実施の形態の場合と同様に、8B/10B符号化方式を用いてデータ列S1を符号化を行うものとする。
変換部302aは、8ビットのデータ列S1を8B/10B符号化方式を用いて符号化することにより、10ビットのデータ列Cb11(=[Cb11(0)、Cb11(1)、・・・、Cb11(9)])を生成し、生成したデータ列Cb11をディスパリティ制御部305a及び反転部306aに出力する。このような構成にすることでランレングスを一定値以下に抑え、受信装置が備えるの増幅器でのクロック再生が容易となる。
(1−3)付加部301a、301b
付加部301aは、分離部300aから入力されたデータ列S2に2ビットの制御ビット“0”、“1”を付加し、10ビットのデータ列Cb21(=[0、1、S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])を生成し、生成したデータ列Cb21をディスパリティ制御部305a及び制御ビット選択部1002へ出力する。
付加部301bは入力されたデータ列S2に付加部301aで付加される2ビットの制御ビットと異なる制御ビット“1”、“1”を付加し、10ビットのデータ列Cb22(=[1、1、S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])を生成し、生成したデータ列Cb22をディスパリティ制御部305a及び制御ビット選択部1002へ出力する。
(1−4)反転制御部303a
反転制御部303aは、DCバランスを保証するために、入力されたデータ列Cb11に対して、反転及び正転の何れかの制御を行う。
反転制御部303aのディスパリティ制御部305aが、データ列Cb11に対して、反転させるか正転させるかの判断を行う。そして、反転部306aが、ディスパリティ制御部305aの判断結果に基づいて、データ列Ca11に対して反転及び正転の何れかの制御を行う
以下、ディスパリティ制御部305a及び反転部306aについて説明する。
(1−4−1)ディスパリティ制御部305a
ディスパリティ制御部305aは、入力されたデータ列Cb11、Cb21、Cb22に基づいて、データ列Cb11を反転させるか、または正転させるかを判定し、判定結果に応じて反転制御情報を生成し、生成した反転制御情報を反転部306a及び制御ビット選択部1002に出力する。
ディスパリティ制御部305aは、図13に示すように、反転部1101、合成部400a、400b、算出部401a、401b、判定部402a、累積ディスパリティ記憶部403aを備える。
(累積ディスパリティ記憶部403a)
累積ディスパリティ記憶部403aは、第1の実施の形態における累積ディスパリティ記憶部403と同様であるので、ここでの説明は省略する。
(反転部1101)
反転部1101は、入力されたデータ列Cb11を反転し、Cb11’(= [Cb11’(0)、Cb11’(1)、・・・、Cb11’(9)])を生成する。反転部1101は、生成したCb11’を合成部400bに出力する。
(合成部400a、400b)
合成部400aは変換部302aから入力されたデータ列Cb11(=[Cb11(0)、Cb11(1)、・・・、Cb11(9)])と付加部301aから入力されたデータ列Cb21(=[0、1、S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])を互いに交互になるように20ビットのデータ列Cb31(=[Cb11(0)、0、Cb11(1)、1、・・・、S(15)])を生成する。合成部400aは、生成したデータ列Cb31を算出部401aに出力する。
合成部400bは、反転部1101から入力されたデータ列Cb11’(=[Cb11’(0)、Cb11’(1)、・・・、Cb11’(9)])と付加部301bから入力されたデータ列Cb22(=[1、1、S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])を互いに交互になるように20ビットのデータ列Cb32(=[Cb11’(0)、1、Cb11’(1)、1、・・・、S(15)])を生成する。合成部400bは生成したCb32を算出部401bに出力する。
(算出部401a、401b)
算出部401aは合成部400aから入力されたデータ列Cb31を1シンボル(2ビット)毎に区切り、区切られた1シンボル毎にシンボルの値に対応するディスパリティを求め、求めた10シンボル分のディスパリティの総和を正転符号語ディスパリティとして算出する。本実施の形態では、4値変調部102のマッピングパターンに合わせて、シンボル値“00”にはディスパリティ=−3を、“01”にはディスパリティ=−1を、“11”にはディスパリティ=+1を、“10”にはディスパリティ=+3を対応付けている。算出部401aは算出した正転符号語ディスパリティを判定部402aへ出力する。
算出部401bは合成部400bから入力されたデータ列Cb32を算出部401aと同様に1シンボル(2ビット)毎に区切り、区切られた1シンボル毎にシンボルの値に対応するディスパリティを求め、求めた10シンボル分のディスパリティの総和を反転符号語ディスパリティとして算出する。本実施の形態では、4値変調部102のマッピングパターンに合わせて、シンボル値“00”にはディスパリティ=−3を、“01”にはディスパリティ=−1を、“11”にはディスパリティ=+1を、“10”にはディスパリティ=+3を対応付けている。算出部401bは算出した反転符号語ディスパリティを判定部402aへ出力する。
(判定部402a)
判定部402aは算出部401aから入力された正転符号語ディスパリティと算出部401bから入力された反転符号語ディスパリティと累積ディスパリティ記憶部403aに記憶された累積ディスパリティに基づいて、データ列Cb11を反転部306aにおいて反転させるか、または正転させるかを判定する。
判定部402aは、算出部401aから入力された正転符号語ディスパリティと算出部401bから入力された反転符号語ディスパリティと累積ディスパリティ記憶部403に記憶された累積ディスパリティに基づいてCb21またはCb22のどちらか一方のデータ列を選択する。
具体的には、判定部402aは、累積ディスパリティと正転符号語ディスパリティの総和の絶対値が累積ディスパリティと反転符号語ディスパリティの総和の絶対値よりも小さい場合、データ列Cb11を反転部306aにおいて正転させ、制御ビット選択部1002にCb21を選択させると判定する。一方、判定部402aは、累積ディスパリティと正転符号語ディスパリティの総和の絶対値が累積ディスパリティと反転符号語ディスパリティの総和の絶対値よりも大きい場合、データ列Cb11を反転部306aにおいて反転させ、制御ビット選択部1002にCb22を選択させると判定する。なお、反転部306a及び制御ビット選択部1002については後述する。
判定部402aは、データ列Cb11を反転させるか、または正転させるかの判定結果に応じて、反転制御情報及び符号語ディスパリティを生成する。反転制御情報の値は、データ列Cb11を反転させる場合は“0”に設定され、データ列Cb11を正転させる場合は“1”に設定される。また、符号語ディスパリティには、データ列Cb11を反転させる場合は反転符号語ディスパリティの値が設定され、データ列Cb11を正転させる場合には正転符号語ディスパリティの値がそのまま設定される。判定部402aは、生成した反転制御情報を反転部306a及び制御ビット選択部1002へ出力し、生成した符号語ディスパリティを、累積ディスパリティ記憶部403aで記憶されている累積ディスパリティに加算することで、当該累積ディスパリティを更新する。
(1−4−2)反転部306a
反転部306aは、変換部302aから入力されたデータ列Cb11に対し、ディスパリティ制御部305aから入力された反転制御情報に応じて反転させる、または正転させる処理を行うことにより10ビットのデータ列Cb1を生成する。
反転部306aは、生成したデータ列Cb1を合成部304aに出力する。
具体的には、反転部306aは、反転制御情報が値1である場合には、データ列Cb11を正転させ、反転制御情報が値0である場合には、データ列Cb11を反転させる。
(1−4−3)制御ビット選択部1002
制御ビット選択部1002は、付加部301aから入力されたCb21及び付加部301bから入力されたCb22に対して、ディスパリティ制御部305aから入力された反転制御情報に応じて、データ列Cb21またはCb22どちらかを選択し、選択したデータ列をCb2として合成部304aに出力する。
具体的には、制御ビット選択部1002は、反転制御情報が値1である場合には、データ列Cb21を選択し、反転制御情報が値0である場合には、データ列Cb22を選択する。
(1−5)合成部304a
合成部304aは、反転部306aから入力されたデータ列Cb1及び制御ビット選択部1002より入力されたデータ列Cb2を実施の形態1と同様に、交互になるように配置した20ビットの符号化データ列Cを生成する。合成部304aは生成した符号化データ列Cを4値変調部102に出力する。
2.2 受信装置110a
受信装置110aは、図11に示すように、受光素子111と、増幅器112と、4値復調部113と、復号部114aとから構成されている。
復号部114aは、復調されたデータ列に対して符号化部101aで行った、4値の振幅変調に係る符号化処理と逆の処理である復号処理を行うことにより、送信装置100aから送信された送信データ列Sを再生する。
なお、その他の構成(受光素子111、増幅器112及び4値復調部113)については第1の実施の形態と同様であるため、説明を省略する。
2.3 動作
ここでは、第2の実施の形態における送信装置100a及び受信装置110aでの処理について説明する。
(1)送信処理
送信装置100aがデータに対して4値の振幅変調を施して、振幅変調されたデータを受信装置110aへ送信する処理の動作について、図14に示す流れ図を用いて説明する。
分離部300aは、送信対象である16ビットのデータ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(15)])を受け付け(ステップS700)、受け付けたデータ列Sを偶数番目のビットで構成される8ビットのデータ列S1(=[S(0)、S(2)、・・・、S(2k)、・・・、S(14)])と、奇数番目のビットで構成される8ビットのデータ列S2(=[S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])とに分離する(ステップS705)。分離部300aは、データ列S1を変換部302aに出力し、データ列S2を付加部301a及び301bに出力する。
変換部302aはデータ列S1を8B/10B符号化方式を用いて符号化して10ビットのデータ列Cb11(=[Cb11(0)、Cb11(1)、・・・、Cb11(9)])を生成し、付加部301aは2ビットの制御ビット“0”、“1”をデータ列S2の先頭に付加し10ビットのデータ列Cb21(=[0、1、S(0)、S(2)、・・・S(12)、S(14)])を生成し、付加部301bは2ビットの制御ビット“1”、“1”をデータ列S2の先頭に付加し10ビットのデータ列Cb22(=[1、1、S(0)、S(2)、・・・S(12)、S(14)])を生成する(ステップS710)。変換部302aは生成したデータ列Cb11をディスパリティ制御部305a及び合成部304aに出力し、付加部301aは生成したデータ列Cb21をディスパリティ制御部305a及び制御ビット選択部1002に出力し、付加部301bは生成したデータ列Cb22をディスパリティ制御部305a及び制御ビット選択部1002に出力する。
ディスパリティ制御部305aの反転部1101は、変換部302aより入力されたデータ列Cb11を反転して、データ列Cb11’(= [Cb11’(0)、Cb11’(1)、・・・、Cb11’(9)])を生成する(ステップS715)。反転部1101は、生成したデータ列Cb11’を合成部400bに出力する。
ディスパリティ制御部305aの合成部400aは、付加部301aより入力されたデータ列Cb21と、変換部302aより入力されたデータ列Cb11とから20ビットのデータ列Cb31(=[Cb11(0)、0、Cb11(1)、1、・・・、S(15)])を生成し、合成部400bは、付加部301bより入力されたデータ列Cb22と、反転部1101より入力されたデータ列Cb11’とから20ビットのデータ列Cb32(=[Cb11’(0)、1、Cb11’(1)、1、・・・、S(15)])を生成する(ステップS720)。合成部400aはデータ列Cb31を算出部401aに出力し、合成部400bはデータ列Cb32を算出部401bに出力する。
算出部401aは合成部400aから入力されたデータ列Cb31から正転符号語ディスパリティとして算出し、算出部401bは合成部400bから入力されたデータ列Cb32から反転符号語ディスパリティとして算出する(ステップS725)。算出部401aは算出した正転符号語ディスパリティを判定部402aへ出力し、算出部401bは算出した反転符号語ディスパリティを判定部402aへ出力する。
判定部402aは、正転符号語ディスパリティと反転符号語ディスパリティと累積ディスパリティ記憶部403aに記憶された累積ディスパリティとに基づいて、データ列Cb11を反転させるか、または正転させるかを判定する(ステップS730)。
反転部306aは、ステップS730における判定処理による判定結果に基づいて、変換部302aより入力されたCb11に対して反転させる、または正転させる処理を行うことにより、10ビットのデータ列Cb1(=[Cb1(0)、Cb1(2)、・・・、Cb1(9)])を生成する(ステップS735)。
制御ビット選択部1002は、ステップS730における判定処理による判定結果に基づいて、データ列Cb21及びCb22のうち何れかのデータ列を選択する(ステップS740)。制御ビット選択部1002は、選択したデータ列をデータ列Cb2として合成部304aに出力する。
合成部304aは、反転制御処理が施されたデータ列Cb1(=[Cb1(0)、Cb1(2)、・・・、Cb1(9)])と、制御ビット選択部1002で選択されたデータ列Cb2とから互いのビットが交互になるように配置した20ビットの符号化データ列C(=[Cb1(0)、Cb2(0)、Cb1(1)、Cb2(1)、・・・Cb1(9)、Cb2(9)])を生成する(ステップS745)。
4値変調部102、増幅器103及び発光素子104は、符号化データ列Cに対して、4値の振幅変調処理、増幅処理及び光信号への変換処理を施して送信すべき光信号を生成し、生成した光信号を受信装置110aに送信する(ステップS750)。
(2)判定処理
ここでは、図14に示すステップS730で行われる判定処理について、図15に示す流れ図を用いて説明する。
判定部402aは、累積ディスパリティ記憶部403aで記憶されている累積ディスパリティに算出部401aから入力された正転符号語ディスパリティを加算し、D_chk1を算出する(ステップS1200)。
判定部402aは、累積ディスパリティ記憶部403aで記憶されている累積ディスパリティに算出部401bから入力された反転符号語ディスパリティを加算し、D_chk2を算出する(ステップS1201)。
判定部402aは、算出されたD_chk1の絶対値|D_chk1|と、で算出されたD_chk2の絶対値|D_chk2|のどちらが大きいかを判定する(ステップS1202)。
|D_chk1|が|D_chk2|より小さいと判定された場合(ステップS1202における「Yes」)、判定部402aは、反転制御情報として“1”を反転部306a及び制御ビット選択部1002に出力する(ステップS1203)。判定部402aは符号語ディスパリティを正転符号語ディスパリティとし(ステップS1204)、符号語ディスパリティを累積ディスパリティ記憶部403aで記憶されている累積ディスパリティに加算することで、当該累積ディスパリティを更新する(ステップS1207)。
判定部402aは、|D_chk1|が|D_chk2|より小さくない、つまり|D_chk1|が|D_chk2|以上であると判定した場合(ステップS1202における「No」)、判定部402aは、反転制御情報として“0”を反転部306a及び制御ビット選択部1002に出力する(ステップS1205)。判定部402aは符号語ディスパリティを反転符号語ディスパリティとし(ステップS1204)、符号語ディスパリティを累積ディスパリティ記憶部403aで記憶されている累積ディスパリティに加算することで、当該累積ディスパリティを更新する(ステップS1207)。
(3)反転処理
ここでは、図14に示すステップS735で行われる反転処理について、図16に示す流れ図を用いて説明する。
反転部306aは、ディスパリティ制御部305aから入力された反転制御情報の値が“0”であるか否かを判定する(ステップS1250)。
反転制御情報の値が“0”であると判定された場合(ステップS1250における「Yes」)、反転部306aは、変換部302aから入力されたデータ列Cb11を反転させてCb1を生成し、生成したCb1を合成部304aに出力する(ステップS1251)。
反転制御情報の値が“0”でない、つまり“1”であると判定された場合(ステップS1250における「No」)、反転部306aは、変換部302aから入力されたデータ列Cb11を正転させてCb1を生成し、生成したCb1を合成部304aに出力する(ステップS1252)。ここで、図中に示す演算子〜は、第1の実施の形態と同様に、反転を示す。
(4)選択処理
ここでは、図14に示すステップS740で行われる選択処理について、図17に示す流れ図を用いて説明する。
制御ビット選択部1002は、ディスパリティ制御部305aから入力された反転制御情報が“1”であるか判定する(ステップS1300)。反転制御情報が“1”と判定された場合(ステップS1300における「Yes」)、制御ビット選択部1002は、Cb21をCb2として合成部304aに出力する(ステップS1301)。反転制御情報が“1”でない、つまり反転制御情報が“0”と判定された場合(ステップS1300における「No」)、制御ビット選択部1002は、Cb22をCb2として合成部304aに出力する(ステップS1302)。
(5)復号処理
ここでは、受信装置110aで行われる復号処理について、簡単に説明する。
なお、ここでは、受信した信号に対して4値復調までの処理が行われているものとする。
復号処理は、以下に示すように、符号化処理と逆の手順により行なわれる。
復号部114aは、4値復調された復調データ列を偶数番目のビット及び奇数番目のビットに分離する。
復号部114aは、奇数番目のビットからなるデータ列を10ビット毎に複数のブロックに分離し、各ブロックに付加された識別符号に基づいて、当該ブロックに対応する偶数番目のビットからなる10ビット長のブロックが反転されたものであるか否かを判定する。ここで、識別符号とは、送信装置100aにて、データ列S2に付加された2ビットの制御ビットの値を示すものであり、制御ビットが“01”である場合には、対応する偶数番目のビットからなる10ビット長のブロックは正転されたものであり、制御ビットが“11”である場合には、対応する偶数番目のビットからなる10ビット長のブロックは反転されたものであることを示す。
復号部114aは、反転されていると判定されたブロックについては、当該ブロックであるデータ列を反転し、さらに反転後のブロックに対して8B/10B復号処理を施すことによりデータ列S1を再生する。また、復号部114aは、正転されている、つまり反転されていないと判定されたブロックについては、当該ブロックに対して8B/10B復号処理を施すことによりデータ列S1を再生する。
また、復号部114aは、奇数番目のビットからなる10ビットのブロックについては、先頭2ビットに配された制御ビットを除いたデータ列を抽出することによりデータ列S2を再生する。
復号部114aは、データ列S1とデータ列S2をそれぞれ交互に並べ替えることによって送信データSを再生する。
2.4 動作例
本発明の実施の形態における動作例について、図18を用いて説明する。なお、入力されるデータ(入力データ)は、図7に示すデータと同一ものを用いる。
図18は、図8に示すデータ列を#1のブロックから順に#4のブロックまで符号化部101aに入力したときの符号化部101a内部の動作例を示している。
以降では、符号化部101aにおける動作例について、図18を用いて順に説明する。
(データ列#1)
先ず、分離部300aには、データ列#1(S=1100101001010100)が入力される。
そして、分離部300aで、データ列S1(=10110000)と、データ列S2(=10001110)とに分けられる。
変換部302aは、分離部300aから入力されたデータ列S1に対して、8B/10B符号化を施して、10ビットのデータ列Cb11(=0110111010)を生成する。
一方、付加部301aは、分離部300aから入力されたデータ列S2に2ビットの制御ビット“01”をS2の先頭に付加し、Cb21(=0110001110)を生成する。また、付加部301bは、分離部300aから入力されたデータ列S2に2ビットの制御ビット“11”をS2の先頭に付加し、Cb22(=1110001110)を生成する。
ディスパリティ制御部305aは、変換部302aから入力されたCb11と、付加部301aから入力されたCb21と、付加部301bから入力されたCb22とから、正転符号語ディスパリティと反転符号語ディスパリティとを算出する。ここでは、正転符号語ディスパリティの値は0、反転符号語ディスパリティの値は−2となる。
判定部402aは、正転符号語ディスパリティの値が0、反転符号語ディスパリティの値が−2であり、累積ディスパリティの値が初期値0であるので、累積ディスパリティと正転符号語ディスパリティを加算し、その絶対値をとることにより|D_chk1|として0を算出する。次に判定部402aは、反転符号語ディスパリティの値が−2であり、累積ディスパリティの値が初期値0であるので、累積ディスパリティと反転符号語ディスパリティを加算し、その絶対値をとることにより|D_chk2|として2を算出する。判定部402aは、|D_chk2|より|D_chk1|の方が小さいので、データ列Cb11に対して正転処理を行うと判定し、反転制御情報として1を反転部306a及び制御ビット選択部1002へ出力する。また、判定部402aは、符号語ディスパリティを0として累積ディスパリティの値を0に更新する。
反転部306aは、ディスパリティ制御部305aから出力された反転制御情報の値が1のため、変換部302aから入力されたCb11を反転させずCb1(=0110110000)として合成部304aに出力する。制御ビット選択部1002はディスパリティ制御部305aから入力された反転制御情報の値が1のためCb21を選択し、Cb2(=0111001101)として合成部304aに出力する。合成部304aはデータ列Cb1とCb2とを合成して、符号化データ列C(=00111101101001010001)を生成し、生成した符号化データ列Cを4値変調部102に出力する。
(データ列#2)
分離部300aにデータ列#2(S=0101110010011000)が入力される。
分離部300aで、データ列S1(=00101010)と、データ列S2(=11100100)とに分けられる。
変換部302aは、分離部300aから入力されたデータ列S1に対して、8B/10B符号化を施して、10ビットのデータ列Cb11(=0101011001)を生成する。
一方、付加部301aは分離部300aから入力されたデータ列S2に2ビットの制御ビット“01”をS2の先頭に付加し、Cb21(=0111100100)を生成する。また、付加部301bは分離部300aから入力されたデータ列S2に2ビットの制御ビット“11”をS2の先頭に付加し、Cb22(=1111100100)を生成する。
ディスパリティ制御部305aは、変換部302aから入力されたCb11と、付加部301aから入力されたCb21と、付加部301bから入力されたCb22とから、正転符号語ディスパリティと反転符号語ディスパリティとを算出する。ここでは、正転符号語ディスパリティの値は2、反転符号語ディスパリティの値は−4となる。
判定部402aは、正転符号語ディスパリティの値が2、反転符号語ディスパリティの値が−4であり、累積ディスパリティの値が0であるので、累積ディスパリティと正転符号語ディスパリティを加算し、その絶対値をとることにより|D_chk1|として2を算出する。次に、判定部402aは、反転符号語ディスパリティの値が−4であり、累積ディスパリティの値が0であるので、累積ディスパリティと反転符号語ディスパリティを加算し、その絶対値をとることにより|D_chk2|として4を算出する。判定部402aは、|D_chk2|より|D_chk1|の方が小さいので、データ列Cb11に対して正転処理を行うと判定し、反転制御情報として1を反転部306a及び制御ビット選択部1002へ出力する。また、判定部402aは、符号語ディスパリティを2として累積ディスパリティの値を2に更新する。
反転部306aは、ディスパリティ制御部305aから出力された反転制御情報の値が1のため、変換部302aから入力されたCb11を反転させずCb1(=0101011001)として合成部304aに出力する。制御ビット選択部1002はディスパリティ制御部305aから入力された反転制御情報の値が1のためCb21を選択し、Cb2(=0111100100)として合成部304aに出力する。合成部304aは、Cb1とCb2を合成して、符号化データ列C(=00110111011010010010)を生成し、生成した符号化データ列Cを4値変調部102へ出力する。
(データ列#3)
分離部300aに、データ列#3(S=1101101000010101)が入力される。
分離部300aで、データ列S1(=10110000)と、データ列S2(=11000111)とに分けられる。
変換部302aは、分離部300aから入力されたデータ列S1に対して、8B/10B符号化を施して、10ビットのデータ列Cb11(=0110111010)を生成する。
一方、付加部301aは分離部300から入力されたデータ列S2に2ビットの制御ビット“01”をS2の先頭に付加し、Cb21(=0111000111)を生成する。また、付加部301bは分離部300から入力されたデータ列S2に2ビットの制御ビット“11”をS2の先頭に付加し、Cb22(=1111000111)を生成する。
ディスパリティ制御部305aは、変換部302aから入力されたCb11と、付加部301aから入力されたCb21と、付加部301bから入力されたCb22とから、正転符号語ディスパリティと反転符号語ディスパリティとを算出する。ここでは、正転符号語ディスパリティの値は6、反転符号語ディスパリティの値は−8となる。
判定部402aは、正転符号語ディスパリティの値が6、反転符号語ディスパリティの値が−8であり、累積ディスパリティの値が2であるので、累積ディスパリティと正転符号語ディスパリティを加算し、その絶対値をとることにより|D_chk1|として8を算出する。次に、判定部402aは、反転符号語ディスパリティの値が−8であり、累積ディスパリティの値が2であるので、累積ディスパリティと反転符号語ディスパリティを加算し、その絶対値をとることにより|D_chk2|として6を算出する。判定部402aは、|D_chk1|より|D_chk2|の方が小さいので、データ列Cb11に対して反転処理を行うと判定し、反転制御情報として0を反転部306a及び制御ビット選択部1002へ出力する。また、判定部402aは、符号語ディスパリティを−8として累積ディスパリティの値を−6に更新する。
反転部306aは、ディスパリティ制御部305aから出力された反転制御情報の値が0のため、Cb11を反転しCb1(=1001000101)を生成し、合成部304aに出力する。
制御ビット選択部1002は、ディスパリティ制御部305aから入力された反転制御情報の値が0のためCb22を選択し、Cb2(=1111000111)として合成部304aに出力する。
合成部304aは、Cb1とCb2を合成して、符号化データ列C(=11010111000000110111)を生成し、生成した符号化データ列Cを4値変調部102へ出力する。
(データ列#4)
分離部300aにデータ列#4(S=1011011011010010)が入力される。
分離部300aで、データ列S1(=11011001)と、データ列S2(=01101100)とに分けられる。
変換部302aは、分離部300aから入力されたデータ列S1に対して、8B/10B符号化を施して、10ビットのデータ列Cb11(=1001100110)を生成する。
一方、付加部301aは、分離部300aから入力されたデータ列S2に2ビットの制御ビット“01”をS2の先頭に付加し、Cb21(=0101101100)を生成する。また、付加部301bは、分離部300aから入力されたS2に2ビットの制御ビット“11”をS2の先頭に付加し、Cb22(=1101101100)を生成する。
ディスパリティ制御部305aは、変換部302aから入力されたCb11と、付加部301aから入力されたCb21と、付加部301bから入力されたCb22とから、正転符号語ディスパリティと反転符号語ディスパリティを算出する。ここでは、正転符号語ディスパリティの値は−2、反転符号語ディスパリティの値は4となる。
判定部402aは、正転符号語ディスパリティの値が−2、反転符号語ディスパリティの値が4であり、累積ディスパリティの値が−6であるので、累積ディスパリティと正転符号語ディスパリティを加算し、その絶対値をとることにより|D_chk1|として8を算出する。次に、判定部402aは、反転符号語ディスパリティの値が4であり、累積ディスパリティの値が−6であるので、累積ディスパリティと反転符号語ディスパリティを加算し、その絶対値をとることにより|D_chk2|として2を算出する。判定部402aは、|D_chk1|より|D_chk2|の方が小さいので、データ列Cb11に対して反転処理を行うと判定し、反転制御情報として0を反転部306a及び制御ビット選択部1002へ出力する。また、判定部402aは、符号語ディスパリティを4として累積ディスパリティの値を−2に更新する。
反転部306aはディスパリティ制御部305aから出力された反転制御情報の値が0のため、Cb11を反転しCb1(=0110011001)を生成して、合成部304aに出力する。
制御ビット選択部1002は、ディスパリティ制御部305aから入力された反転制御情報の値が0のためCb22を選択し、Cb2(=1101101100)として合成部304aに出力する。
合成部304aは、Cb1とCb2を合成して、符号化データ列C(=01111001011011010010)を生成し、生成した符号化データ列Cを4値変調部102へ出力する。
図19は、図8のデータ列の場合の符号化部101aで生成される符号語ディスパリティと累積ディスパリティである。なお、本第2の実施の形態で開示される符号化部101aで生成される符号語ディスパリティの最大値及び最小値は±14である。符号語ディスパリティは、判定部402aにおいて現時点で保持されている累積ディスパリティと同じ符号にならないように制御されるため、更新される累積ディスパリティの最大値及び最小値は±14の範囲に制限される。
2.5 2値の振幅変調について
ここでは、送信装置100aが、2値の振幅変調を施す場合について説明する。
送信装置100aは、受信装置110aから2値の振幅変調が指定された変調指定データを受け取ると、付加部301a、301b及び反転制御部303aが動作しないよう制御する。つまり、符号化部101aは、分離部300a、変換部302a及び合成部304のみが動作する。なお、各構成要素の動作は、第1の実施の形態において2値の振幅変調を行う場合の動作と同様であるので、ここでの説明は省略する。
2.6 第2の実施の形態のまとめ
上述したように、本第2の実施の形態における累積ディスパリティの最大値及び最小値は±14であり、第1の実施の形態における累積ディスパリティの最大値及び最小値である±20と比較して小さいもとなっている。すなわち、本第2の実施の形態は、第1の実施の形態と比較して累積ディスパリティのダイナミックレンジを小さくし、DCバランスを改善することができる。累積ディスパリティの最大値及び最小値は、符号語ディスパリティの最大値及び最小値により決定される値であり、本第2の実施の形態における符号語ディスパリティの最大値及び最小値が±14に制限されていることが、累積ディスパリティのダイナミックレンジを小さくし、DCバランスを改善することに貢献している。
本第2の実施の形態における符号語ディスパリティの取り得る値の範囲が、第1の実施の形態における符号語ディスパリティの取り得る値の範囲よりも狭くなるのは、本第2の実施の形態における符号化部101aが、偶数番目のビットのデータ列S1に対して8B/10B符号化を施しているためである。8B/10B符号化方式は、符号化された10ビットのビット列においてランレングスが5以下となり、且つ“1”の値をとるビットの数と“0”の値をとるビットの数の差が2以下となるという特徴を備えている。4値変調部102に入力される各シンボルのディスパリティが正の値であるか又は負の値であるかを決定するのは偶数番目のビットであるが、本第2の実施の形態では偶数番目のビットのデータ列S1に対して8B/10B符号化が施しているため、合成部304aに入力される10ビットのデータ列Cb1は“1”の値をとるビットの数と“0”の値をとるビットの数の差が2以下に制限されている。その結果、符号語ディスパリティが正の値をとる場合も少なくとも4個のシンボルのディスパリティは負の値となり、正の値をとる残り6個のシンボルのディスパリティと互いに相殺するため、偶数番目のビットのデータ列S1に対して8B/10B符号化が施さない場合と比較して符号語ディスパリティが取り得る値の範囲が小さくなる。同様に、符号語ディスパリティが負の値をとる場合も少なくとも4個のシンボルのディスパリティは正の値となり、負の値となる残りの6個のシンボルのディスパリティと互いに相殺するため、偶数番目のビットのビット列S1に対して8B/10B符号化が施さない場合と比較して符号語ディスパリティが取り得る値の範囲が小さくなる。
このように、本第2の実施の形態では、4値変調部102に入力される各シンボルのディスパリティが正の値であるか又は負の値であるかを決定するビットのビット列に対して、8B/10B符号化のような“1”の値をとるビットの数と“0”の値をとるビットの数の差を一定値以下に制限する符号化を施すことにより、累積ディスパリティのダイナミックレンジを小さくし、DCバランスを改善することができる。
3.変形例
本発明は、上記の実施の形態に限られるものではなく、例えば、次のようなものであってもよい。
3.1 第1の変形例
上記第1の実施の形態では、分離部300は、16ビットのデータ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(15)])を、偶数番目のビットで構成される8ビットのデータ列S1(=[S(0)、S(2)、・・・、S(2k)、・・・、S(14)])と、奇数番目のビットで構成される8ビットのデータ列S2(=[S(1)、S(3)、・・・、S(2k−1)、・・・、S(15)])に分離したが、これに限定されない。
分離方法は、他の方法であってよい。例えば、分離部300は、入力した16ビットのデータ列Sを上位8ビットからなるデータ列S1(=[S(0)、S(1)、S(2)、・・・、S(7)])と、下位8ビットからなるデータ列S2(=[S(8)、S(9)、S(10)、・・・、S(15)])とに分離してもよい。
この場合、付加部301は、第1の実施の形態と同様に、データ列S1(=[S(0)、S(1)、S(2)、・・・、S(7)])に対して、制御ビット“01”を付加して、データ列Ca12(=[0、1、S(0)、S(1)、S(2)、・・・、S(7)])を生成する。変換部302は、データ列S2(=[S(8)、S(9)、S(10)、・・・、S(15)])に対して8B/10Bを施して、データ列Ca2(=[Ca(0)、Ca(1)、・・・、Ca(9)])を生成する。反転制御部303は、データ列Ca12(=[0、1、S(0)、S(1)、S(2)、・・・、S(7)])とデータ列Ca2(=[Ca(0)、Ca(1)、・・・、Ca(9)])と、累積ディスパリティを用いてデータ列Ca12を反転させるか否かを判断する。そして、反転制御部303は、判断結果に応じてデータ列Ca12に対して反転、若しくは正転の制御を行い、データ列Ca1を生成する。合成部304は、第1の実施の形態と同様の動作により、データ列Ca1とCa2とから符号化データ列Cを生成する。
また、受信装置110では、第1の実施の形態と同様の手順により、データ列S1及びS2を再生すると、データ列S1を上位8ビットとし、データ列S2を下位8ビットとして16ビットからなるデータ列Sを再生する。
また、第2の実施の形態においても、上記と同様に、分離部300は、入力した16ビットのデータ列Sを上位8ビットからなるデータ列S1(=[S(0)、S(1)、S(2)、・・・、S(7)])と、下位8ビットからなるデータ列S2(=[S(8)、S(9)、S(10)、・・・、S(15)])とに分離してもよい。この場合、送信装置100aは、分離した2つのデータ列S1(=[S(0)、S(1)、S(2)、・・・、S(7)])と、データ列S2(=[S(8)、S(9)、S(10)、・・・、S(15)])とから、データ列Cb1及びCb2を生成し、合成部304aにおいて、第2の実施の形態と同様の合成方法により、符号化データ列Cを生成する。受信装置110aにおいては、第1の実施の形態と同様の手順により、データ列S1及びS2を再生すると、データ列S1を上位8ビットとし、データ列S2を下位8ビットとして16ビットからなるデータ列Sを再生する。
3.2 第2の変形例
上記第1及び第2の実施の形態では、8B/10B符号化を施すデータ列と、制御ビットを付加するデータ列とは異なるものとしたが、同一のデータ列に対して、8B/10B符号化及び制御ビットの付加を行ってもよい。
この場合における符号化部101cを図20に示す。
符号化部101cは、図20に示すように、分離部300c、付加部301c、変換部302c、反転制御部303c及び合成部304cから構成されている。また、反転制御部303cは、ディスパリティ制御部305c及び反転部306cから構成されている。
分離部300cは、20ビットからなる送信データ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(19)])を受け付ける。分離部300cは、データ列Sを上位8ビットのデータ列S1(=[S(0)、S(2)、・・・、S(7)])と、下位12ビットのデータ列S2(=[S(8)、S(9)、・・・、S(19)])に分離して、データ列S1を変換部302cに出力し、データ列S2をディスパリティ制御部305cと合成部304cに出力する。
変換部302cは、データ列S1を8B/10B符号化方式を用いて符号化することにより、10ビットのデータ列Cc11(=[Cc(0)、Cc(1)、・・・、Cc(9)])を生成し、生成したデータ列Cc11を付加部301cに出力する。
付加部301cは、2ビットの制御ビット“0”、“1”を分離部300cから入力されたのデータ列Cc11の先頭に付加し12ビットのデータ列Cc12(=[0、1、Cc(0)、Cc(1)、・・・、Cc(9)])を生成し、生成したデータ列Cc12をディスパリティ制御部305c及び反転部306cに出力する。
ディスパリティ制御部305cは、データ列Cc12とS2とを用いて、第1の実施の形態と同様の判定方法により、データ列Cc12に対して反転を行うか否かを判断する。
反転部306cは、ディスパリティ制御部305cの判断結果である反転制御情報が示す値に応じて、データ列Cc12に対して反転及び正転の何れかによる制御を行い、データ列Cc1を生成する。
合成部304cは、第1の実施の形態と同様の合成方法により、データ列Cc1とS2とを合成して、24ビットからなる符号化データ列Cを生成する。具体的には、反転制御部303cによる反転制御後のビット列とビット列S2を交互に配置した24ビットのビット列Cを出力する。
以降の動作は、第1の実施の形態と同様であるので、ここでの説明は省略する。
また、受信装置側の動作についても、第1の変形例にて示す動作と同様であるので、ここでの説明は省略する。
3.3 第3の変形例
上記第1及び第2の実施の形態において、1個のシンボルが2ビットで構成される多値(4(=2^2)値)の振幅変調の場合を例に挙げて説明したが、本発明はこれに限られるものではない。
2^n値(nは2以上の整数)の振幅変調に適用してもよい。
(1)第1の実施の形態に対する変形の具体例
以下、第1の実施の形態に対する変形の具体例として、n=3、つまり、8値の振幅変調を行う場合について説明する。
この場合の符号化部101dは、図21に示すように、分離部300d、付加部301d、変換部302d、反転制御部303d及び合成部304dを備える。また、反転制御部303dは、図21に示すように、ディスパリティ制御部305d、反転部306dを備える。
(1−1)分離部300d
符号化部101dに入力された26(=8×3+2)ビットの送信データ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(25)])は、分離部300dに入力される。分離部300dは、入力された送信データ列Sを先頭から8番目のビットで構成される8ビットのデータ列S1(=[S(0)、S(1)、S(2)、・・・S(7)])と、9番目から16番目のビットで構成される8ビットのデータ列S2(=[S(8)、S(9)、S(10)、・・・、S(15)])と、残りのビットで構成される10ビットのデータ列S3(=[S(16)、S(17)、S(18)、・・・、S(25)])とに分離して、データ列S1を付加部301dに出力し、データ列S2を変換部302dに出力し、データ列S3をディスパリティ制御部305dと合成部304dに出力する。
(1−2)付加部301d
付加部301dは、第1の実施の形態と同様に、2ビットの制御ビット“01”をデータ列S1の先頭に付加し10ビットのデータ列Cd12(=[0、1、S(0)、S(1)、・・・、S(7)])を生成し、生成した10ビットのデータ列Cd12をディスパリティ制御部305d及び反転部306dに出力する。
(1−3)変換部302d
変換部302dは、第1の実施の形態と同様に、データ列S2に8B/10B符号化方式を適用して、10ビットのデータ列Cd2(=[Cd(0)、Cd(1)、・・・、Cd(9)])を生成し、生成したデータ列Cd2をディスパリティ制御部305d及び合成部304dに出力する。
(1−4)反転制御部303d
反転制御部303dは、第1の実施の形態と同様に、DCバランスを保証するために、入力されたデータ列Cd12に対して、反転及び正転の何れかの制御を行う。
以下、ディスパリティ制御部305d及び反転部306dについて説明する。
(ディスパリティ制御部305d)
ディスパリティ制御部305dは、入力されたデータ列Cd12、Cd2、S3に基づいて、データ列Cd12を反転させるか、または正転させるかを判定し、判定結果に応じて反転制御情報を生成し、生成した反転制御情報を反転部306dに出力する。ディスパリティ制御部305dは、図22に示すように、合成部400d、算出部401d、判定部402d、累積ディスパリティ記憶部403dを備える。
累積ディスパリティ記憶部403dは、第1の実施の形態と同様であるので、ここでの説明は省略する。
合成部400dは、データ列Cd12(=[0、1、S(0)、S(2)、・・・S(7)])と、データ列Cd2(=[Cd2(0)、Cd2(1)、・・・、Cd2(9)])と、データ列S3(=[S(16)、S(17)、・・・、S(25)])とを互いに交互になるように30ビットのデータ列Co(=[0、Cd2(0)、S(16)、1、Cd2(1)、S(17)、S(0)、Cd2(2)、S(18)、・・・、S(7)、Cd2(9)、S(25)])を生成する。合成部400dは、生成したデータ列Coを算出部401dに出力する。
算出部401dは、データ列Coを1シンボル(3ビット)毎に区切り、区切られた1シンボル毎に、当該シンボルの値に対応するディスパリティを求め、求めた10シンボル分のディスパリティの総和を候補符号語ディスパリティとして算出する。ここで、本変形例では、シンボル“000”に対してディスパリティ=−7を、“001”に対してディスパリティ=−5を、“011”に対してディスパリティ=−3を、“010”に対してディスパリティ=−1を、“110”に対してディスパリティ=+1を、“111”に対してディスパリティ=+3を、“101”に対してディスパリティ=+5を、“100”に対してディスパリティ=+7を、割り当てるようなマッピングを行う。算出部401dは算出した候補符号語ディスパリティを判定部402dへ出力する。
判定部402dは、第1の実施の形態と同様の判定方法により、データ列Cd12を反転させるか、または正転させるかを判定する。判定部402dは、判定結果に応じて、反転制御情報及び符号語ディスパリティを生成する。反転制御情報及び符号語ディスパリティの生成方法についても第1の実施の形態と同様であるので、ここでの説明は省略する。判定部402dは、生成した反転制御情報を反転部306dへ出力し、生成した符号語ディスパリティを、累積ディスパリティ記憶部403dで記憶されている累積ディスパリティに加算することで、当該累積ディスパリティを更新する。
(反転部306d)
反転部306dは、データ列Cd12に対し、反転制御情報に応じて反転させる、または正転させる処理を行うことにより、10ビットのデータ列Cd1(=[Cd1(0)、Cd1(1)、・・・、Cd1(9)])を生成する。反転部306dは、生成したデータ列Cd1を合成部304dに出力する。
(1−5)合成部304d
合成部304dは、データ列Cd1(=[Cd1(0)、Cd1(1)、・・・、Cd1(9)])と、データ列Cd2(=[Cd2(0)、Cd2(1)、・・・、Cd2(9)])と、データ列S3(=[S(16)、S(17)、・・・、S(25)])とを互いに交互になるように30ビットの符号化データ列C(=[Cd1(0)、Cd2(0)、S(16)、Cd1(1)、Cd2(1)、S(17)、・・・Cd1(9)、Cd2(9)、S(25)])を生成する。合成部304dは合成した符号化データ列Cを8値の変調を行う変調部に出力する。
(1−6)受信装置
受信装置では、1個のシンボルを3ビットとする点が、第1の実施の形態と異なるだけであり、その他の処理については第1の実施の形態と同様の手順により、データ列S1、S2及びS3を再生すると、データ列S1を上位8ビットとし、データ列S2を中位8ビットとし、データ列S3を下位10ビットとして26ビットからなるデータ列Sを再生する。
(1−7)まとめ
上記から分かるように、2^n値の振幅変調を行う場合には、以下のような動作により行われる。
送信装置の分離部は、8×n+2(n−2)ビット長からなるデータ列を8ビット長の第1及び第2のデータ列、及びn−2個の10ビット長のデータ列に分離する。
付加部は、第1のデータ列に2ビットの制御ビットを付加して、10ビットの付加データ列を生成する。
変換部は、第2のデータ列に対して8B/10Bの符号化処理を施し、10ビットの符号化データ列を生成する。
ディスパリティ制御部の合成部は、付加データ列、符号化データ列及びn−2個の10ビット長のデータ列とが、互いの交互になるように8×n+2nビットのデータ列Coを生成し、算出部は、当該データ列Coに対する候補符号語ディスパリティを算出する。判定部においては、第1の実施の形態と同様の判定方法により反転を行うか否かの判定を行い、第1の実施の形態と同様の反転制御情報及び符号語ディスパリティの生成方法にて、反転制御情報及び符号語ディスパリティの生成を行い、第1の実施の形態と同様の更新方法により累積ディスパリティの更新を行う。
反転部では、反転制御情報が示す値に応じて、付加データ列に対して反転及び正転の何れかの制御を行い、データ列C1を生成する。
第1の実施の形態の合成部304に相当する合成部においては、データ列C1と、符号化データ列及びn−2個の10ビット長のデータ列とから、互いの交互になるように8×n+2nビットのデータ列Cを生成する。
(2)第2の実施の形態に対する変形の具体例
以下、第2の実施の形態に対する変形の具体例として、n=3、つまり、8値の振幅変調を行う場合について説明する。
この場合の符号化部101eは、図23に示すように、分離部300e、付加部301e、301f、変換部302e、反転制御部303e及び合成部304eを備える。また、反転制御部303eは、図23に示すように、ディスパリティ制御部305e、反転部306eを備える。
(2−1)分離部300e
符号化部101eに入力された26(=8×3+2)ビットの送信データ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(25)])は、分離部300eに入力される。分離部300eは、入力された送信データ列Sを先頭から8番目のビットで構成される8ビットのデータ列S1(=[S(0)、S(1)、S(2)、・・・S(7)])と、9番目から16番目のビットで構成される8ビットのデータ列S2(=[S(8)、S(9)、S(10)、・・・、S(15)])と、残りのビットで構成される10ビットのデータ列S3(=[S(16)、S(17)、S(18)、・・・、S(25)])とに分離して、データ列S1を変換部302eに出力し、データ列S2を付加部301e、301fに出力し、データ列S3をディスパリティ制御部305eと合成部304eに出力する。
(2−2)変換部302e
変換部302eは、データ列S1をランレングスに対して8B/10B符号化方式を適用して、10ビットのデータ列Ce11(=[Ce11(0)、Ce11(1)、・・・、Ce11(9)])を生成し、生成したデータ列Ce11をディスパリティ制御部305e及び反転部306eに出力する。
(2−3)付加部301e、301f
付加部301eは、データ列S2に2ビットの制御ビット“0”、“1”を付加し、10ビットのデータ列Ce21(=[0、1、S(8)、S(9)、S(10)、・・・、S(15)])を生成し、生成したデータ列Ce21をディスパリティ制御部305e及び制御ビット選択部1002eへ出力する。
付加部301fは、データ列S2に制御ビット“1”、“1”を付加し、10ビットのデータ列Ce22(=[1、1、S(8)、S(9)、S(10)、・・・、S(15)])を生成し、生成したデータ列Ce22をディスパリティ制御部305e及び制御ビット選択部1002eへ出力する。
(2−4)反転制御部303e
反転制御部303eは、第2の実施の形態と同様に、DCバランスを保証するために、入力されたデータ列Ce11に対して、反転及び正転の何れかの制御を行う。
以下、ディスパリティ制御部305e及び反転部306eについて説明する。
(ディスパリティ制御部305e)
ディスパリティ制御部305eは、データ列Ce11、Ce21、Ce22、S3に基づいて、データ列Ce11を反転させるか、または正転させるかを判定し、判定結果に応じて反転制御情報を生成し、生成した反転制御情報を反転部306e及び制御ビット選択部1002eに出力する。
ディスパリティ制御部305eは、図24に示すように、反転部1101e、合成部400e、400f、算出部401e、401f、判定部402e、累積ディスパリティ記憶部403eを備える。
累積ディスパリティ記憶部403eは、第1の実施の形態における累積ディスパリティ記憶部403と同様であるので、ここでの説明は省略する。
反転部1101eは、データ列Ce11を反転し、Ce11’(= [Ce11’(0)、Ce11’(1)、・・・、Ce11’(9)])を生成する。反転部1101e、生成したCe11’を合成部400fに出力する。
合成部400eは、データ列Ce11(=[Ce11(0)、Ce11(1)、・・・、Ce11(9)])と付加部301eから入力されたデータ列Ce21(=[0、1、S(8)、S(9)、S(10)、・・・、S(15)])、データ列S3(=[S(16)、S(17)、・・・、S(25)])とを互いに交互になるように30ビットのデータ列Ce31(=[Ce11(0)、0、S(16)、Ce11(1)、1、S(17)、・・・、Ce11(9)、S(15)、S(25)])を生成する。合成部400eは、生成したデータ列Ce31を算出部401eに出力する。
合成部400fは、データ列Ce11’(=[Ce11’(0)、Ce11’(1)、・・・、Ce11’(9)])と、付加部301fから入力されたデータ列Ce22(=[1、1、S(8)、S(9)、S(10)、・・・、S(15)])と、データ列S3(=[S(16)、S(17)、・・・、S(25)])とを互いに交互になるように30ビットのデータ列Ce32(=[Ce11’(0)、1、S(16)、Ce11’(1)、1、S(17)、・・・、Ce11’(9)、S(15)、S(25)])を生成する。合成部400fは、生成したデータ列Ce32を算出部401fに出力する。
算出部401eは、データ列Ce31を1シンボル(3ビット)毎に区切り、区切られた1シンボル毎にシンボルの値に対応するディスパリティを求め、求めた10シンボル分のディスパリティの総和を正転符号語ディスパリティとして算出する。ここで、本変形例では、シンボル“000”に対してディスパリティ=−7を、“001”に対してディスパリティ=−5を、“011”に対してディスパリティ=−3を、“010”に対してディスパリティ=−1を、“110”に対してディスパリティ=+1を、“111”に対してディスパリティ=+3を、“101”に対してディスパリティ=+5を、“100”に対してディスパリティ=+7を、割り当てるようなマッピングを行う。算出部401eは、算出した正転符号語ディスパリティを判定部402eへ出力する。
算出部401fは、データ列Ce32を算出部401eと同様に1シンボル(3ビット)毎に区切り、区切られた1シンボル毎にシンボルの値に対応するディスパリティを求め、求めた10シンボル分のディスパリティの総和を反転符号語ディスパリティとして算出する。なお、3ビットからなる値に対するディスパリティの割り当ては上記と同様である。
判定部402eは、正転符号語ディスパリティと反転符号語ディスパリティと累積ディスパリティ記憶部403eに記憶された累積ディスパリティに基づいて、データ列Ce11を反転部306eにおいて反転させるか、または正転させるかを判定する。
判定部402eは、正転符号語ディスパリティと反転符号語ディスパリティと累積ディスパリティに基づいてCe21またはCe22のどちらか一方のデータ列を選択する。なお、判定方法と選択方法とは、第2の実施の形態と同様であるので、ここでの説明は省略する。
判定部402eは、生成した反転制御情報を反転部306e及び制御ビット選択部1002eへ出力し、生成した符号語ディスパリティを、累積ディスパリティ記憶部403eで記憶されている累積ディスパリティに加算することで、当該累積ディスパリティを更新する。
反転部306eは、データ列Ce11に対し、第2の実施の形態と同様に、反転制御情報に応じて反転させる、または正転させる処理を行うことにより10ビットのデータ列Ce1を生成する。反転部306eは、生成したデータ列Ce1を合成部304eに出力する。
制御ビット選択部1002eは、第2の実施の形態と同様に、データ列Ce21及びCe22に対して、反転制御情報に応じて、データ列Ce21またはCe22どちらかを選択し、選択したデータ列をCe2として合成部304eに出力する。
(2−5)合成部304e
合成部304eは、データ列Ce1、Ce2及びS3を、交互になるように配置した30ビットの符号化データ列Cを生成する。合成部304eは、生成した符号化データ列Cを8値の変調を行う変調部に出力する。
(2−6)受信装置
受信装置では、1個のシンボルを3ビットとする点が、第2の実施の形態と異なるだけであり、その他の処理については第2の実施の形態と同様の手順により、データ列S1、S2及びS3を再生すると、データ列S1を上位8ビットとし、データ列S2を中位8ビットとし、データ列S3を下位10ビットとして26ビットからなるデータ列Sを再生する。
(2−7)まとめ
上記から分かるように、2^n値の振幅変調を行う場合には、以下のような動作により行われる。
送信装置の分離部は、8×n+2(n−2)ビット長からなるデータ列を8ビット長の第1及び第2のデータ列、及びn−2個の10ビット長のデータ列に分離する。
変換部は、第1のデータ列に対して8B/10Bの符号化処理を施し、10ビットの符号化データ列を生成する。
付加部は、第2のデータ列に2ビットの制御ビット“01”が付加された10ビットからなる第1の付加データ列と、2ビットの制御ビット“11”が付加された10ビットからなる第2の付加データ列とを生成する。
ディスパリティ制御部の第1の合成部(上記の合成部400eに相当)は、符号化データ列、第1の付加データ列及びn−2個の10ビット長のデータ列とが、互いの交互になるように8×n+2nビットのデータ列Ce31を生成する。
第2の合成部(上記の合成部400fに相当)は、反転された符号化データ列、第2の付加データ列及びn−2個の10ビット長のデータ列とが、互いの交互になるように8×n+2nビットのデータ列Ce32を生成する。
第1の算出部(上記の算出部401eに相当)は、データ列Ce31に対する正転符号語ディスパリティを算出する。
第2の算出部(上記の算出部401fに相当)は、データ列Ce32に対する反転符号語ディスパリティを算出する。
判定部においては、第2の実施の形態と同様の判定方法により反転を行うか否かの判定を行い、第2の実施の形態と同様の反転制御情報及び符号語ディスパリティの生成方法にて、反転制御情報及び符号語ディスパリティの生成を行い、第2の実施の形態と同様の更新方法により累積ディスパリティの更新を行う。
制御ビット選択部は、第2の実施の形態と同様に、反転制御情報が示す値に応じて、第1及び第2の付加データ列のうち一の付加データ列を選択する。
反転部では、反転制御情報が示す値に応じて、変換データ列に対して反転及び正転の何れかの制御を行い、データ列C1を生成する。
合成部304eに相当する合成部においては、データ列C1と、選択された付加データ列及びn−2個の10ビット長のデータ列とから、互いの交互になるように8×n+2nビットのデータ列Cを生成する。
(3)第2の変形例の対する変形の具体例
以下、第2の変形例の対する変形の具体例として、n=3、つまり、8値の振幅変調を行う場合について説明する。
この場合における符号化部101gを図25に示す。
符号化部101gは、図25に示すように、分離部300g、付加部301g、変換部302g、反転制御部303g及び合成部304gから構成されている。また、反転制御部303gは、ディスパリティ制御部305g及び反転部306gから構成されている。
(3−1)分離部300g
分離部300gは、32(=8×3+8)ビットの送信データ列S(=[S(0)、S(1)、・・・、S(k)、・・・、S(31)])を受け付ける。分離部300gは、入力された送信データ列Sを先頭から8番目のビットで構成される8ビットのデータ列S1(=[S(0)、S(1)、S(2)、・・・S(7)])と、9番目から20番目のビットで構成される12ビットのデータ列S2(=[S(8)、S(9)、S(10)、・・・、S(19)])と、残りのビットで構成される12ビットのデータ列S3(=[S(20)、S(21)、S(22)、・・・、S(31)])とに分離して、データ列S1を変換部302gに出力し、データ列S2、S3をディスパリティ制御部305eと合成部304eとに出力する。
(3−2)変換部302g
変換部302gは、データ列S1を8B/10B符号化方式を用いて符号化することにより、10ビットのデータ列Cg11(=[Cg(0)、Cg(1)、・・・、Cg(9)])を生成し、生成したデータ列Cg11を付加部301gに出力する。
(3−3)付加部301g
付加部301gは、2ビットの制御ビット“0”、“1”をデータ列Cg11の先頭に付加し12ビットのデータ列Cg12(=[0、1、Cg(0)、Cg(1)、・・・、Cg(9)])を生成し、生成したデータ列Cg12をディスパリティ制御部305g及び反転部306gに出力する。
(3−4)反転制御部303g
反転制御部303gは、第1の実施の形態と同様に、DCバランスを保証するために、データ列Cg12に対して、反転及び正転の何れかの制御を行う。
以下、ディスパリティ制御部305g及び反転部306gについて説明する。
(ディスパリティ制御部305g)
ディスパリティ制御部305gは、データ列Cg12とS2とS3とを互いに交互になるように配置した36ビットのデータ列Co(=[0、S(8)、S(20)、1、S(9)、S(21)、Cg(0)、S(10)、S(22)、・・・、Cg(9)、S(19)、S(31)])を生成する。
ディスパリティ制御部305gは、データ列Coを1シンボル(3ビット)毎に区切り、区切られた1シンボル毎に、当該シンボルの値に対応するディスパリティを求め、求めた10シンボル分のディスパリティの総和を候補符号語ディスパリティとして算出する。ここで、本変形例では、シンボル“000”に対してディスパリティ=−7を、“001”に対してディスパリティ=−5を、“011”に対してディスパリティ=−3を、“010”に対してディスパリティ=−1を、“110”に対してディスパリティ=+1を、“111”に対してディスパリティ=+3を、“101”に対してディスパリティ=+5を、“100”に対してディスパリティ=+7を、割り当てるようなマッピングを行う。
ディスパリティ制御部305gは、第1の実施の形態と同様の判定方法により、データ列Cg12を反転させるか、または正転させるかを判定する。また、ディスパリティ制御部は、判定結果に応じて、反転制御情報及び符号語ディスパリティを生成する。反転制御情報及び符号語ディスパリティの生成方法についても第1の実施の形態と同様であるので、ここでの説明は省略する。
ディスパリティ制御部305gは、生成した反転制御情報を反転部306gへ出力し、生成した符号語ディスパリティを、当該ディスパリティ制御部305gで記憶している累積ディスパリティに加算することで、当該累積ディスパリティを更新する。
(反転部306g)
反転部306gは、反転制御情報が示す値に応じて、データ列Cg12に対して反転及び正転の何れかによる制御を行い、データ列Cg1を生成する。
(3−5)合成部304g
合成部304gは、データ列Cg1とS2とS3とを互いに交互になるように配置した36ビットの符号化データ列Cを生成する。
(3−6)受信装置
受信装置では、1個のシンボルを3ビットとする点が、第2の変形例と異なるだけであり、その他の処理については第2の変形例と同様の手順により、データ列S1、S2及びS3を再生すると、データ列S1を上位8ビットとし、データ列S2を中位12ビットとし、データ列S3を下位12ビットとして32ビットからなるデータ列Sを再生する。
(3−7)まとめ
上記から分かるように、2^n値の振幅変調を行う場合には、以下のような動作により行われる。
送信装置の分離部は、8×n+4(n−1)ビット長からなるデータ列を8ビット長のデータ列S1、及びn−1個の12ビット長のデータ列に分離する。
付加部は、第1のデータ列に2ビットの制御ビットを付加して、10ビットの付加データ列を生成する。
変換部は、付加データ列に対して8B/10Bの符号化処理を施し、12ビットの符号化データ列を生成する。
ディスパリティ制御部は、符号化データ列及びn−1個の12ビット長のデータ列とが、互いの交互になるように8×n+4(n−1)ビットのデータ列Coを生成する。ディスパリティ制御部は、生成したデータ列Coに対する候補符号語ディスパリティを算出する。さらに、ディスパリティ制御部は、第1の実施の形態と同様の判定方法により反転を行うか否かの判定を行い、第1の実施の形態と同様の反転制御情報及び符号語ディスパリティの生成方法にて、反転制御情報及び符号語ディスパリティの生成を行い、第1の実施の形態と同様の更新方法により累積ディスパリティの更新を行う。
反転部では、反転制御情報が示す値に応じて、符号化データ列に対して反転及び正転の何れかの制御を行い、データ列C1を生成する。
合成部においては、データ列C1と、n−1個の12ビット長のデータ列とから、互いの交互になるように8×n+4×nビットのデータ列Cを生成する。
(4)まとめ
上記したように、2^n値の振幅変調を行う場合も、各シンボルを2^n値の振幅変調した場合のディスパリティが正の値であるか又は負の値であるかを決定するビットからなるデータ列に対してディスパリティを考慮した反転制御を行うことにより、ディスパリティについても保証することができる。
3.4 その他の変形例
(1)上記第1及び第2の実施の形態、及び各変形例では、変換部302は8B/10B符号を行う場合を例に挙げて説明したが、本発明はこれに限られるものではない。2値のビット列に対し、ランレングスが一定値以下となる符号化を施す符号化方式は他にも多数提案されており、これらの符号化方式の中から、要求されるランレングスの短さや、符号化率等に応じて、適切な符号化方式を選択することができる。
例えば、100BASE−TX(100メガイーサネット(登録商標))で用いられている4B/5B符号化方式がある。
(2)上記第1及び第2の実施の形態、及び各変形例において、付加部は、2ビットの制御ビットをデータ列の先頭に付加して説明しているが、これに限られるもものではない。例えば、データ列の後方に付加してもよい。
(3)上記第1及び第2の実施の形態、及び各変形例において、2^n値(nは2以上の整数)の振幅変調を行う場合、分離部は、入力されたデータ列をn個のデータ列に分離したが、これに限定されない。分離部は、分離する個数を2個以上n−1個以下にしてもよい。ただし、合成部においては、入力される各データ列のビット長を同じにする必要がある。
(4)上記第1及び第2の実施の形態、及び各変形例において、累積ディスパリティの値は、通信の初期化の処理時において初期値0が設定されるとしたが、これに限定されない。
送信すべきパケット単位に、累積ディスパリティの値をリセットしてもよい。
(5)上記第2の実施の形態において、送信装置100aは、判定部402bの判定結果に応じて、データ列Cb11に反転・非反転の制御を行ったが、これに限定されない。
送信装置100aは、判定部402bの判定結果に応じて、判定に用いた20ビットからなるデータ列Cb31(=[Cb11(0)、0、Cb11(1)、1、・・・、S(15)])及びデータ列Cb32(=[Cb11’(0)、1、Cb11’(1)、1、・・・、S(15)])のうち一のデータ列を出力するとしてもよい。
この場合の符号化部101は、分離部、第1及び第2の付加部、変換部、ディスパリティ制御部を備える。
第2の実施の形態と異なる点は、ディスパリティ制御部が出力する情報(データ)のみが異なる。
本変形例における分離部は第2の実施の形態の分離部300aと、本変形例における第1及び第2の付加部それぞれは第2の実施の形態の付加部301a、301bと、本変形例における変換部は、第2の実施の形態における変換部302aと同様である。
ここでは、ディスパリティ制御部についてのみ説明する。
本変形例におけるディスパリティ制御部は、第2の実施の形態と同様に、20ビットからなるデータ列Cb31(=[Cb11(0)、0、Cb11(1)、1、・・・、S(15)])及びデータ列Cb32(=[Cb11’(0)、1、Cb11’(1)、1、・・・、S(15)])を生成し、データ列Cb31から正転符号語ディスパリティを、データ列Cb32から反転符号語ディスパリティをそれぞれ算出する。本変形例におけるディスパリティ制御部は、第2の実施の形態と同様の判定方法により、累積ディスパリティと正転符号語ディスパリティの総和の絶対値が累積ディスパリティと反転符号語ディスパリティの総和の絶対値よりも小さい場合にはデータ列Cb31を4値変調部へ出力し、累積ディスパリティと正転符号語ディスパリティの総和の絶対値が累積ディスパリティと反転符号語ディスパリティの総和の絶対値よりも大きい場合にはデータ列Cb32を4値変調部へ出力する。
(6)上記第1及び第2の実施の形態、及び各変形例において、送信装置と受信装置との間におけるデータの送受信は光信号によるものとしたが、これに限定されない。
送信装置と受信装置との間においてデータを送受信できる形態であればよく、有線に限らず、無線による通信であってもよい。
(7)上記第1及び第2の実施の形態、及び各変形例で説明した手法の手順を記述したプログラムをメモリに記憶しておき、CPU(Central Processing Unit)などがメモリからプログラムを読み出して、読み出したプログラムを実行することによって、上記の手法が実現されるようにしてもよい。
(8)上記第1及び第2の実施の形態、及び各変形例で説明した手法の手順を記述したプログラムを記録媒体に格納して、頒布するようにしてもよい。
(9)上記第1及び第2の実施の形態、及び各変形例で説明した各装置が備える各ブロックは、典型的には、集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィグラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩または派生する別技術により、LSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
(10)これらの実施の形態および変形例の組合せであってもよい。
(11)なお、本発明における出力振幅の偏りとは、基準値(平均電圧レベル)より上回っているか下回っているかによるという概念を少なくとも含むものである。
また、特に、上述した第2から第8の送信装置における出力振幅の偏りとは、上記概念と、電圧に対する基準値からの振れ幅とを加味したものである。
4.その他
(1)本発明の一実施態様である、送信装置は、送信対象のデータをn個のデータ列に分離する分離手段と、一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して変換データ列へと変換する変換手段と、処理が施されていないn−1個のデータ列のうち一のデータ列に、前記変換データ列の反転を示す第1の制御データ列を付加して第1の付加データ列を、非反転を示す第2の制御データ列を付加して第2の付加データ列をそれぞれ生成する付加手段と、前記第1の付加データ列、何ら処理が施されていないn−2個の未処理データ列及び前記変換データ列からなる第1の候補データと、前記第2の付加データ列、前記n−2個の未処理データ列及び前記変換データ列が反転した反転データ列からなる第2の候補データを生成し、前記第1の候補データのディパリティの総計と、送信された1つ以上のデータそれぞれにおける出力振幅のディスパリティを現時点まで累積した累積値とから算出される第1の新たな累積値、及び前記第2の候補データのディスパリティの総計と、前記累積値とから算出される第2の新たな累積値のうち前記基準値に近づく新たな累積値に応じた候補データを特定する制御手段と、前記特定された候補データに対して2^n値の振幅変調を施す変調手段とを備えることを特徴とする。
この構成によると、送信装置は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換している。また、第1及び第2の新たな累積値を用いて出力振幅との偏りが生じない候補データを特定している。従って、当該送信装置は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
(2)本発明の一実施態様である、2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられるプログラムは、コンピュータに、送信対象のデータをn個のデータ列に分離する分離ステップと、前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換ステップと、送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御ステップと、前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調ステップとを実行させることを特徴とする。
これによると、プログラムは、コンピュータに、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行わせている。そして、振幅変調の対象となるnビット長のシンボルには、特定データ列に含まれる一のビットを最上位ビットに含み、変換データ列に含まれるビットが必ず含まれているので、振幅対象である各シンボルに対してランレングスは保証されている。また、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行うことで、出力振幅が基準値に近づくこととなり、これは、出力振幅がある値に偏らないことを意味している。つまり、振幅対象である各シンボルに対してDCバランスも保証されることとなる。従って、当該プログラムは、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
(3)本発明の一実施態様である、符号化装置は、送信対象のデータをn個のデータ列に分離する分離手段と、前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、前記中間データ列と、判定結果に応じた付加データ列との双方において、同一の出現位置が同一である前記中間データ列に含まれる構成ビットと前記付加データ列に含まれるビットとからなるnビット長のシンボルそれぞれを、前記構成ビットの出現順に、連結させて変調対象のデータを生成する生成手段を備えることを特徴とする。
この構成によると、符号化装置は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行っている。そして、振幅変調の対象となるnビット長のシンボルには、特定データ列に含まれる一のビットを最上位ビットに含み、変換データ列に含まれるビットが必ず含まれているので、振幅対象である各シンボルに対してランレングスは保証されている。また、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行うことで、出力振幅が基準値に近づくこととなり、これは、出力振幅がある値に偏らないことを意味している。つまり、振幅対象である各シンボルに対してDCバランスも保証されることとなる。従って、当該符号化装置は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
(4)本発明の一実施態様である、符号化方法は、送信対象のデータをn個のデータ列に分離する分離ステップと、前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換ステップと、送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御ステップと、前記中間データ列と、判定結果に応じた付加データ列との双方において、同一の出現位置が同一である前記中間データ列に含まれる構成ビットと前記付加データ列に含まれるビットとからなるnビット長のシンボルそれぞれを、前記構成ビットの出現順に、連結させて変調対象のデータを生成する生成ステップを備えることを特徴とする。
これによると、符号化方法は、n個のデータ列のうち一のデータ列に対して、同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換し、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行っている。そして、振幅変調の対象となるnビット長のシンボルには、特定データ列に含まれる一のビットを最上位ビットに含み、変換データ列に含まれるビットが必ず含まれているので、振幅対象である各シンボルに対してランレングスは保証されている。また、新たな累積値が基準値に近づくか否かの判定に応じて特定データ列に対して反転・非反転の何れかを行うことで、出力振幅が基準値に近づくこととなり、これは、出力振幅がある値に偏らないことを意味している。つまり、振幅対象である各シンボルに対してDCバランスも保証されることとなる。従って、当該符号化方法は、2^n値の振幅変調においてもラングレンス及びDCバランスを保証することができる。
本発明は、有線または無線の伝送路を介してデータ及び制御情報を送信及び受信するために多値変調方式を利用する送信装置及び送信方法、または当該送信装置及び送信方法において用いられる符号化装置及び符号化方法に利用することができる。
1 送受信システム
100 送信装置
101 符号化部
102 値変調部
103 増幅器
104 発光素子
110 受信装置
111 受光素子
112 増幅器
113 値復調部
114 復号部
300 分離部
301 付加部
302 変換部
303 反転制御部
304 合成部
305 ディスパリティ制御部
306 反転部
400 合成部
401 算出部
402 判定部
403 累積ディスパリティ記憶部

Claims (24)

  1. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置であって、
    送信対象のデータをn個のデータ列に分離する分離手段と、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備え、
    前記送信装置は、さらに、
    処理が施されていないn−1個のデータ列のうち一のデータ列に、前記変換データ列の非反転を示す第1の制御データ列を付加して第1の付加データ列を、反転を示す第2の制御データ列を付加して第2の付加データ列それぞれを生成する付加手段を備え、
    前記特定データ列は、前記変換データ列であり、
    前記反転制御手段は、
    前記第1の付加データ列、何ら処理が施されていないn−2個の未処理データ列、及び前記変換データ列を含む前記候補データと、前記第2の付加データ列、前記n−2個の未処理データ列、及び前記変換データ列が反転した反転データ列を含む前記候補データとは別の候補データとを生成し、
    前記候補データのディパリティの総計と前記累積値とから第1の新たな累積値を、前記別の候補データのディスパリティの総計と前記累積値とから第2の新たな累積値をそれぞれ算出し、
    前記第1の新たな累積値と前記第2の新たな累積値とを比較し、第1の新たな累積値が前記基準値に近づくか否かを判定し、当該判定が否定的な場合は前記変換データ列を反転させ、肯定的な場合は前記変換データ列を反転しないよう制御して、前記中間データ列を取得し、
    前記変調手段は、
    前記中間データ列を構成する構成ビットそれぞれに、前記変換データ列の反転・非反転に応じた付加データ列と、n−2個の未処理データ列とのそれぞれの対応する各ビットが付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す
    ことを特徴とする送信装置。
  2. nの値は2であり、
    前記分離手段は、送信対象のデータを第1のデータ列と第2のデータ列とに分離し、
    前記変換手段は、前記第1のデータ列に対して、前記符号化処理を施して、前記変換データ列を生成し、
    前記付加手段は、前記第2のデータ列を用いて前記第1及び前記第2の付加データ列それぞれを生成し、
    前記反転制御手段は、前記変換データ列と前記第1の付加データ列とを含む前記候補データ、及び前記反転データ列と前記第2の付加データ列とを含む前記別の候補データを生成し、
    前記変調手段は、前記第1の新たな累積値が前記基準値に近づくと判断される場合には第1の付加データ列と前記中間データ列とにおいて、前記第1の新たな累積値が前記基準値に近づかないと判断される場合には第2の付加データ列と前記中間データ列とにおいて、出現位置が同一である前記中間データ列を構成する構成ビットと前記付加データ列に含まれるビットとからなる1個以上の2ビット長のシンボルそれぞれに対して、2^2値の振幅変調を施す
    ことを特徴とする請求項1に記載の送信装置。
  3. 前記符号化処理は、8B/10Bを用いた符号化であり、
    前記送信対象のデータは、16ビット長からなり、
    前記第1及び前記第2のデータ列それぞれは、8ビット長からなり、
    前記第1及び前記第2の制御データ列は、2ビット長からなる
    ことを特徴とする請求項2に記載の送信装置。
  4. 前記反転制御手段は、
    前記変換データ列に含まれる変換ビットそれぞれに対して、前記第1の付加データ列に含まれ、当該変換ビットの出現位置に応じたビットが付加された2ビット長のシンボル10個からなる前記候補データ、及び前記反転データ列に含まれる反転ビットそれぞれに対して、前記第2の付加データ列に含まれ、当該反転ビットの出現位置に応じたビットが付加された2ビット長のシンボル10個からなる前記別の候補データを生成し、
    前記候補データにおける10個のシンボルそれぞれのディスパリティからその合計を示す第1の合計ディスパリティ、及び前記別の候補データにおける10個のシンボルそれぞれのディスパリティからその合計を示す第2の合計ディスパリティをそれぞれ算出し、
    前記累積値と前記第1の合計ディスパリティとから前記第1の新たな累積値、及び前記累積値と前記第2の合計ディスパリティとから前記第2の新たな累積値をそれぞれ算出し、
    前記第1の新たな累積値の絶対値が前記第2の新たな累積値の絶対値よりも小さい場合は前記第1の新たな累積値が前記基準値に近づくと判定し、それ以外の場合は前記第1の新たな累積値が前記基準値に近づかないと判定する
    ことを特徴とする請求項3に記載の送信装置。
  5. 前記送信装置は、さらに、
    前記第1の新たな累積値が前記基準値に近づくと判断される場合には第1の付加データ列と前記中間データ列とにおいて、前記第1の新たな累積値が前記基準値に近づかないと判断される場合には第2の付加データ列と前記中間データ列とにおいて、出現位置が同一である前記中間データ列に含まれる構成ビットと前記付加データ列に含まれるビットとからなる10個の2ビット長のシンボルそれぞれを、前記構成ビットの出現順に、連結させて変調対象のデータを生成する生成手段を備え、
    前記変調手段は、
    前記変調対象のデータを先頭位置から2ビット毎に区切って、前記2ビット長のシンボルを順次取得し、取得した前記シンボルに対して、2^2値の振幅変調を順次施す
    ことを特徴とする請求項4に記載の送信装置。
  6. 前記候補データにおける2ビット長のシンボルには、
    上位ビットには前記変換データ列に含まれるビットが、下位ビットには前記第1の付加データ列に含まれるビットが配されて構成され、
    前記別の候補データにおける2ビット長のシンボルには、
    上位ビットには反転された前記変換データ列に含まれるビットが、下位ビットには前記第2の付加データ列に含まれるビットが配されて構成され、
    前記変調対象のデータにおける2ビット長のシンボルには、
    上位ビットには前記構成ビットが配され、下位ビットには前記反転制御手段での反転・非反転に応じた付加ビット列に含まれるビットが配されて構成され、
    前記変調手段は、
    前記上位ビットに値1が配されている場合には前記下位ビットにおける値に応じた量だけ振幅が前記基準値より上回るよう制御し、前記上位ビットに値0が配されている場合には前記下位ビットにおける値に応じた量だけ振幅が前記基準値より下回るよう制御する
    ことを特徴とする請求項5に記載の送信装置。
  7. 前記反転制御手段は、
    前記累積値を記憶しており、
    前記変換データ列を反転しないよう制御した場合には、前記第1の合計ディスパリティを、前記累積値に加算することで、前記累積値を更新し、
    前記変換データ列を反転した場合には、前記第2の合計ディスパリティを、前記累積値に加算することで、前記累積値を更新する
    ことを特徴とする請求項5に記載の送信装置。
  8. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置であって、
    送信対象のデータをn個のデータ列に分離する分離手段と、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備え、
    前記送信装置は、さらに、
    前記変換手段の処理が施されていないn−1個のデータ列のうち一のデータ列に対して、前記変換データ列が非反転であることを示す制御データ列を付加して、付加データ列を生成する付加手段を備え、
    前記特定データ列は、前記付加データ列であり、
    前記反転制御手段は、
    前記変換データ列、前記付加データ列及び何ら処理が施されていないn−2個の未処理データ列とを含む前記候補データのディスパリティの総計と前記累積値とから算出される前記新たな累積値が前記基準値に近づくと判定する場合は前記付加データ列を反転しない、それ以外の場合には前記付加データ列を反転するよう制御して、前記中間データ列を取得し、
    前記変調手段は、
    前記中間データ列を構成する構成ビットそれぞれに、前記変換データ列と、n−2個の未処理データ列とのそれぞれにおける各ビットが付加されたnビット長のシンボルに対して、2^n値の振幅変調を施す
    ことを特徴とする送信装置。
  9. nの値は2であり、
    前記分離手段は、送信対象のデータを第1のデータ列と第2のデータ列とに分離し、
    前記変換手段は、前記第1のデータ列に対して、前記符号化処理を施して、前記変換データ列を生成し、
    前記付加手段は、前記第2のデータ列に対して、前記制御データ列を付加して、付加データ列を生成し、
    前記変調手段は、前記中間データ列と前記変換データ列との双方において、出現位置が同一である前記中間データ列に含まれる構成ビットと前記変換データ列に含まれるビットとからなる1個以上の2ビット長のシンボルそれぞれに対して、2^2値の振幅変調を施す
    ことを特徴とする請求項8に記載の送信装置。
  10. 前記符号化処理は、8B/10Bを用いた符号化であり、
    前記送信対象のデータは、16ビット長からなり、
    前記第1及び前記第2のデータ列それぞれは、8ビット長からなり、
    前記制御データ列は、2ビット長からなる
    ことを特徴とする請求項9に記載の送信装置。
  11. 前記反転制御手段は、
    前記変換データ列に含まれる変換ビットそれぞれに対して、前記付加データ列において当該変換ビットの出現位置に応じたビットが付加された2ビット長のシンボル10個からなる前記候補データを生成し、
    生成した前記候補データにおける10個のシンボルそれぞれのディスパリティからその合計を示す合計ディスパリティを算出し、
    前記累積値と前記合計ディスパリティとの乗算結果を示す候補累積値を算出し、
    前記候補累積値が値0より大きい場合には前記新たな累計値は前記基準値に近づかないと判定し、それ以外の場合には前記新たな累計値は前記基準値に近づくと判定する
    ことを特徴とする請求項10に記載の送信装置。
  12. 前記送信装置は、さらに、
    前記中間データ列と前記変換データ列との双方において、出現位置が同一である前記中間データ列に含まれる構成ビットと前記変換データ列に含まれるビットとからなる10個の2ビット長のシンボルそれぞれを、前記構成ビットの出現順に、連結させて変調対象のデータを生成する生成手段を備え、
    前記変調手段は、
    前記変調対象のデータを先頭位置から2ビット毎に区切って、前記2ビット長のシンボルを順次取得し、取得した前記シンボルに対して、2^2値の振幅変調を順次施す
    ことを特徴とする請求項11に記載の送信装置。
  13. 前記反転制御手段は、
    前記累積値を記憶しており、
    前記付加データ列を反転した場合には、前記合計ディスパリティを前記累積値から減算することで、前記累積値を更新し、
    前記付加データ列を反転しないよう制御した場合には、前記合計ディスパリティを前記累積値に加算することで、前記累積値を更新する
    ことを特徴とする請求項12に記載の送信装置。
  14. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置であって、
    送信対象のデータをn個のデータ列に分離する分離手段と、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備え、
    前記送信装置は、さらに、
    前記変換データ列に、当該変換データ列が非反転であることを示す制御データ列を付加して、付加データ列を生成する付加手段を備え、
    前記特定データ列は、前記付加データ列であり、
    前記反転制御手段は、
    前記付加データ列、及び何ら処理が施されていないn−1個の未処理データ列を含む前記候補データのディスパリティの総計と前記累積値とから算出される前記新たな累積値が前記基準値に近づくと判定する場合は前記付加データ列を反転しない、それ以外の場合には前記付加データ列を反転するよう制御して、前記中間データ列を取得し、
    前記変調手段は、
    前記中間データ列を構成する構成ビットそれぞれに、n−1個の未処理データ列それぞれにおける対応する各ビットが付加されたnビット長のシンボルに対して、2^n値の振幅変調を施す
    ことを特徴とする送信装置。
  15. nの値は2であり、
    前記分離手段は、送信対象のデータを第1のデータ列と第2のデータ列とに分離し、
    前記変換手段は、前記第1のデータ列に対して、前記符号化処理を施して、前記変換データ列を生成し、
    前記変調手段は、前記中間データ列と前記第2のデータ列との双方において、出現位置が同一である前記中間データ列を構成する構成ビットと前記第2のデータ列に含まれるビットとからなる1個以上の2ビット長のシンボルそれぞれに対して、2^2値の振幅変調を施す
    ことを特徴とする請求項14に記載の送信装置。
  16. 前記符号化処理は、8B/10Bを用いた符号化であり、
    前記送信対象のデータは、20ビット長からなり、
    前記第1のデータ列は、8ビット長からなり、
    前記第2のデータ列は、12ビット長からなり、
    前記制御データ列は、2ビット長からなる
    ことを特徴とする請求項15に記載の送信装置。
  17. 前記反転制御手段は、
    前記付加データ列に含まれるビットそれぞれに対して、前記第2のデータ列において当該付加データ列に含まれるビットの出現位置に応じたビットが付加された2ビット長のシンボル12個からなる前記候補データを生成し、
    生成した前記候補データにおける12個のシンボルそれぞれのディスパリティからその合計を示す合計ディスパリティを算出し、
    前記累積値と前記合計ディスパリティとの乗算結果を示す候補累積値を算出し、
    前記候補累積値が値0より大きい場合には前記新たな累計値は前記基準値に近づかないと判定し、それ以外の場合には前記新たな累計値は前記基準値に近づくと判定する
    ことを特徴とする請求項16に記載の送信装置。
  18. 前記送信装置は、さらに、
    前記中間データ列と前記第2のデータ列との双方において、出現位置が同一である前記中間データ列を構成する構成ビットと前記第2のデータ列に含まれるビットとからなる12個の2ビット長のシンボルそれぞれを、前記構成ビットの出現順に、連結させて変調対象のデータを生成する生成手段を備え、
    前記変調手段は、
    前記変調対象のデータを先頭位置から2ビット毎に区切って、前記2ビット長のシンボルを順次取得し、取得した前記シンボルに対して、2^2値の振幅変調を順次施す
    ことを特徴とする請求項17に記載の送信装置。
  19. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられる送信方法であって、
    送信対象のデータをn個のデータ列に分離する分離ステップと、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換ステップと、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御ステップと、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調ステップとを含み、
    前記送信方法は、さらに、
    処理が施されていないn−1個のデータ列のうち一のデータ列に、前記変換データ列の非反転を示す第1の制御データ列を付加して第1の付加データ列を、反転を示す第2の制御データ列を付加して第2の付加データ列それぞれを生成する付加ステップを含み、
    前記特定データ列は、前記変換データ列であり、
    前記反転制御ステップは、
    前記第1の付加データ列、何ら処理が施されていないn−2個の未処理データ列、及び前記変換データ列を含む前記候補データと、前記第2の付加データ列、前記n−2個の未処理データ列、及び前記変換データ列が反転した反転データ列を含む前記候補データとは別の候補データとを生成し、
    前記候補データのディパリティの総計と前記累積値とから第1の新たな累積値を、前記別の候補データのディスパリティの総計と前記累積値とから第2の新たな累積値をそれぞれ算出し、
    前記第1の新たな累積値と前記第2の新たな累積値とを比較し、第1の新たな累積値が前記基準値に近づくか否かを判定し、当該判定が否定的な場合は前記変換データ列を反転させ、肯定的な場合は前記変換データ列を反転しないよう制御して、前記中間データ列を取得し、
    前記変調ステップは、
    前記中間データ列を構成する構成ビットそれぞれに、前記変換データ列の反転・非反転に応じた付加データ列と、n−2個の未処理データ列とのそれぞれの対応する各ビットが付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す
    ことを特徴とする送信方法。
  20. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられる集積回路であって、
    送信対象のデータをn個のデータ列に分離する分離手段と、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備え、
    前記集積回路は、さらに、
    処理が施されていないn−1個のデータ列のうち一のデータ列に、前記変換データ列の非反転を示す第1の制御データ列を付加して第1の付加データ列を、反転を示す第2の制御データ列を付加して第2の付加データ列それぞれを生成する付加手段を備え、
    前記特定データ列は、前記変換データ列であり、
    前記反転制御手段は、
    前記第1の付加データ列、何ら処理が施されていないn−2個の未処理データ列、及び前記変換データ列を含む前記候補データと、前記第2の付加データ列、前記n−2個の未処理データ列、及び前記変換データ列が反転した反転データ列を含む前記候補データとは別の候補データとを生成し、
    前記候補データのディパリティの総計と前記累積値とから第1の新たな累積値を、前記別の候補データのディスパリティの総計と前記累積値とから第2の新たな累積値をそれぞれ算出し、
    前記第1の新たな累積値と前記第2の新たな累積値とを比較し、第1の新たな累積値が前記基準値に近づくか否かを判定し、当該判定が否定的な場合は前記変換データ列を反転させ、肯定的な場合は前記変換データ列を反転しないよう制御して、前記中間データ列を取得し、
    前記変調手段は、
    前記中間データ列を構成する構成ビットそれぞれに、前記変換データ列の反転・非反転に応じた付加データ列と、n−2個の未処理データ列とのそれぞれの対応する各ビットが付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す
    ことを特徴とする集積回路。
  21. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられる送信方法であって、
    送信対象のデータをn個のデータ列に分離する分離ステップと、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換ステップと、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御ステップと、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調ステップとを含み、
    前記送信方法は、さらに、
    前記変換ステップの処理が施されていないn−1個のデータ列のうち一のデータ列に対して、前記変換データ列が非反転であることを示す制御データ列を付加して、付加データ列を生成する付加ステップを含み、
    前記特定データ列は、前記付加データ列であり、
    前記反転制御ステップは、
    前記変換データ列、前記付加データ列及び何ら処理が施されていないn−2個の未処理データ列とを含む前記候補データのディスパリティの総計と前記累積値とから算出される前記新たな累積値が前記基準値に近づくと判定する場合は前記付加データ列を反転しない、それ以外の場合には前記付加データ列を反転するよう制御して、前記中間データ列を取得し、
    前記変調ステップは、
    前記中間データ列を構成する構成ビットそれぞれに、前記変換データ列と、n−2個の未処理データ列とのそれぞれにおける各ビットが付加されたnビット長のシンボルに対して、2^n値の振幅変調を施す
    ことを特徴とする送信方法。
  22. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられる集積回路であって、
    送信対象のデータをn個のデータ列に分離する分離手段と、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備え、
    前記集積回路は、さらに、
    前記変換手段の処理が施されていないn−1個のデータ列のうち一のデータ列に対して、前記変換データ列が非反転であることを示す制御データ列を付加して、付加データ列を生成する付加手段を備え、
    前記特定データ列は、前記付加データ列であり、
    前記反転制御手段は、
    前記変換データ列、前記付加データ列及び何ら処理が施されていないn−2個の未処理データ列とを含む前記候補データのディスパリティの総計と前記累積値とから算出される前記新たな累積値が前記基準値に近づくと判定する場合は前記付加データ列を反転しない、それ以外の場合には前記付加データ列を反転するよう制御して、前記中間データ列を取得し、
    前記変調手段は、
    前記中間データ列を構成する構成ビットそれぞれに、前記変換データ列と、n−2個の未処理データ列とのそれぞれにおける各ビットが付加されたnビット長のシンボルに対して、2^n値の振幅変調を施す
    ことを特徴とする集積回路。
  23. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられる送信方法であって、
    送信対象のデータをn個のデータ列に分離する分離ステップと、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換ステップと、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御ステップと、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調ステップとを含み、
    前記送信方法は、さらに、
    前記変換データ列に、当該変換データ列が非反転であることを示す制御データ列を付加して、付加データ列を生成する付加ステップを備え、
    前記特定データ列は、前記付加データ列であり、
    前記反転制御ステップは、
    前記付加データ列、及び何ら処理が施されていないn−1個の未処理データ列を含む前記候補データのディスパリティの総計と前記累積値とから算出される前記新たな累積値が前記基準値に近づくと判定する場合は前記付加データ列を反転しない、それ以外の場合には前記付加データ列を反転するよう制御して、前記中間データ列を取得し、
    前記変調ステップは、
    前記中間データ列を構成する構成ビットそれぞれに、n−1個の未処理データ列それぞれにおける対応する各ビットが付加されたnビット長のシンボルに対して、2^n値の振幅変調を施す
    ことを特徴とする送信方法。
  24. 2^n値(nは2以上の整数)の振幅変調が施されたデータを送信する送信装置で用いられる集積回路であって、
    送信対象のデータをn個のデータ列に分離する分離手段と、
    前記n個のデータ列のうち一のデータ列に同じ値が連続する長さが所定値以下となる符号化処理を施して、変換データ列へと変換する変換手段と、
    送信された1つ以上のデータそれぞれの出力振幅のディスパリティを現時点まで累積した累積値と、前記変換データ列及び残りn−1個のデータ列を含むnビット長の複数のシンボル分の候補データのディスパリティの総計とから算出される新たな累積値が基準値に近づいているか否かを判定し、当該判定の結果が否定的な場合は前記変換データ列と残りn−1個のデータ列とのうち各シンボルの最上位ビットを構成する一の特定データ列を反転させ、肯定的な場合は当該特定データ列は反転させないことで、当該特定データ列から中間データ列を得る反転制御手段と、
    前記中間データ列を構成する構成ビットそれぞれを最上位ビットとし、前記変換データ列と残りn−1個のデータ列とのうち前記特定データ列を除く他のデータ列それぞれにおける対応する各ビットが後続ビットとして付加されたnビット長のシンボルそれぞれに対して、2^n値の振幅変調を施す変調手段とを備え、
    前記集積回路は、さらに、
    前記変換データ列に、当該変換データ列が非反転であることを示す制御データ列を付加して、付加データ列を生成する付加手段を備え、
    前記特定データ列は、前記付加データ列であり、
    前記反転制御手段は、
    前記付加データ列、及び何ら処理が施されていないn−1個の未処理データ列を含む前記候補データのディスパリティの総計と前記累積値とから算出される前記新たな累積値が前記基準値に近づくと判定する場合は前記付加データ列を反転しない、それ以外の場合には前記付加データ列を反転するよう制御して、前記中間データ列を取得し、
    前記変調手段は、
    前記中間データ列を構成する構成ビットそれぞれに、n−1個の未処理データ列それぞれにおける対応する各ビットが付加されたnビット長のシンボルに対して、2^n値の振幅変調を施す
    ことを特徴とする集積回路。
JP2010026252A 2009-02-10 2010-02-09 送信装置 Active JP5485736B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010026252A JP5485736B2 (ja) 2009-02-10 2010-02-09 送信装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009028370 2009-02-10
JP2009028370 2009-02-10
JP2010026252A JP5485736B2 (ja) 2009-02-10 2010-02-09 送信装置

Publications (2)

Publication Number Publication Date
JP2010213263A JP2010213263A (ja) 2010-09-24
JP5485736B2 true JP5485736B2 (ja) 2014-05-07

Family

ID=42540416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010026252A Active JP5485736B2 (ja) 2009-02-10 2010-02-09 送信装置

Country Status (2)

Country Link
US (1) US8494081B2 (ja)
JP (1) JP5485736B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103238304B (zh) * 2011-10-26 2016-11-16 松下知识产权经营株式会社 多值振幅调制装置、多值振幅解调装置及使用它们的传送系统、以及多值振幅调制方法及多值振幅解调方法
WO2013150704A1 (ja) * 2012-04-03 2013-10-10 パナソニック株式会社 映像データ送信装置及び受信装置
US9092048B1 (en) * 2012-06-15 2015-07-28 Juniper Networks, Inc. Synchronized power delivery
FR3025681B1 (fr) * 2014-09-09 2018-03-02 Stmicroelectronics (Grenoble 2) Sas Procedes de transmission et de reception d'un signal serie et dispositifs correspondants
US9665527B2 (en) * 2014-12-09 2017-05-30 Intel Corporation Dynamic bus inversion with programmable termination level to maintain programmable target ratio of ones and zeros in signal lines
WO2016129088A1 (ja) * 2015-02-12 2016-08-18 日立マクセル株式会社 送信装置、受信装置、および送受信システム
JP2022107067A (ja) * 2019-03-29 2022-07-21 ローム株式会社 符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路
JPWO2021039099A1 (ja) * 2019-08-30 2021-03-04
US11789897B2 (en) * 2020-10-27 2023-10-17 BOE Technology Development Co., Ltd. Data processing circuit, data processing method, and electronic device
CN113196661B (zh) * 2021-03-15 2024-06-18 华为技术有限公司 一种数据处理方法及相关装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486739A (en) 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
JPS6367025A (ja) * 1986-09-08 1988-03-25 Matsushita Electric Ind Co Ltd 符号変換装置
US5999571A (en) * 1995-10-05 1999-12-07 Silicon Image, Inc. Transition-controlled digital encoding and signal transmission system
US5592160A (en) * 1995-10-26 1997-01-07 Hewlett-Packard Company Method and apparatus for transmission code decoding and encoding
JP2001511323A (ja) * 1997-01-30 2001-08-07 フジツウ ネットワーク コミュニケーションズ,インコーポレイテッド 高速シリアルリンク用データ符号器/復号器
JP3552632B2 (ja) * 2000-02-28 2004-08-11 日本電信電話株式会社 符号化装置
US6909385B2 (en) * 2001-07-09 2005-06-21 Seagate Technology Llc Method and apparatus for suppressing low frequency content in digital data
US20030152154A1 (en) * 2002-02-14 2003-08-14 Johnson Ryan C. Coding and decoding system and method for high-speed data transmission
EP1351462A1 (en) * 2002-03-29 2003-10-08 MystiCom, Ltd. Error Correcting 8B/10B Transmission System
JP4000564B2 (ja) * 2002-08-15 2007-10-31 富士ゼロックス株式会社 符号化装置およびその方法
JP4027774B2 (ja) * 2002-10-22 2007-12-26 株式会社リコー 情報記録装置及び情報再生装置
JP2004272979A (ja) * 2003-03-06 2004-09-30 Ricoh Co Ltd 多値データ信号の直流成分制御方法と直流成分制御装置
US7081838B2 (en) * 2004-12-29 2006-07-25 Enigma Semiconductor, Inc. 16b/10s coding apparatus and method
JP2007306212A (ja) * 2006-05-10 2007-11-22 Fuji Xerox Co Ltd 送信装置、受信装置、通信システム、及び通信方法
US7405679B1 (en) * 2007-01-30 2008-07-29 International Business Machines Corporation Techniques for 9B10B and 7B8B coding and decoding

Also Published As

Publication number Publication date
US20100202555A1 (en) 2010-08-12
JP2010213263A (ja) 2010-09-24
US8494081B2 (en) 2013-07-23

Similar Documents

Publication Publication Date Title
JP5485736B2 (ja) 送信装置
JP5592825B2 (ja) 表示装置用データ伝送システム、表示装置用データ伝送方法及び表示装置
US8612837B1 (en) BM/LLR computations for multi-dimensional TCM/BCM codes
JP2002271205A (ja) 変調方法、変調装置、復調方法、復調装置、情報記録媒体、情報伝送方法および情報伝送装置
US6639525B2 (en) Method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, device for encoding, signal comprising a stream of databits of a constrained binary channel signal, record carrier, and device for decoding
JP2006262002A (ja) 符号化方法、復号化方法および符号化システム
WO2003092004A1 (en) Method and apparatus for multi-dimensionally encoding and decoding
JPH10322228A (ja) 符号化方法および装置、復号化方法および装置、符号化/復号化装置、情報担持方法および媒体、ならびに、情報担持装置
GB2315648A (en) Decoding trellis codes with large free distances
JP3664091B2 (ja) 変調方法、変調装置、復調方法、復調装置、情報記録媒体に記録する方法、情報伝送方法および情報伝送装置
JP2022173081A (ja) 符号器および復号器
US8054207B1 (en) Enumerative DC-RLL constrained coding
US11100031B2 (en) Memory system, semiconductor integrated circuit, and method therefor
JP2004120763A5 (ja)
KR20220140234A (ko) 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치
TWI303806B (en) System of converting information words to a signal
JP4507089B2 (ja) 光受信装置
WO2022162721A1 (ja) 無線通信システム、無線通信装置、制御回路、記憶媒体および無線通信方法
JP4059211B2 (ja) 復調方法、および復調装置
JP2011147087A (ja) 伝送装置、及び誤り訂正データの付加方法
JPH07202709A (ja) データ変調方法、復調方法、変調装置、復調装置、記録方法および再生方法
JP4059210B2 (ja) 情報記録媒体
Frontana et al. Improved spectral performance of Knuth codes
JP2005045610A (ja) 送信装置、および通信システム
JP2005203094A (ja) 変調方法、変調装置および情報記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140106

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140220

R151 Written notification of patent or utility model registration

Ref document number: 5485736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151