IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特表2024-546209符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体
<>
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図1
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図2
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図3
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図4
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図5
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図6
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図7
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図8
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図9
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図10
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図11
  • 特表-符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-18
(54)【発明の名称】符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体
(51)【国際特許分類】
   H04L 1/00 20060101AFI20241211BHJP
【FI】
H04L1/00 F
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024540679
(86)(22)【出願日】2022-12-27
(85)【翻訳文提出日】2024-08-13
(86)【国際出願番号】 CN2022142363
(87)【国際公開番号】W WO2023131004
(87)【国際公開日】2023-07-13
(31)【優先権主張番号】202210005434.5
(32)【優先日】2022-01-05
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202210114840.5
(32)【優先日】2022-01-30
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100132481
【弁理士】
【氏名又は名称】赤澤 克豪
(74)【代理人】
【識別番号】100115635
【弁理士】
【氏名又は名称】窪田 郁大
(72)【発明者】
【氏名】何 向
(72)【発明者】
【氏名】王 心▲遠▼
(72)【発明者】
【氏名】任 浩
【テーマコード(参考)】
5K014
【Fターム(参考)】
5K014BA05
(57)【要約】
本出願は、通信技術分野に属し、符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体を開示する。本符号化方法は、以下を含む。すなわち、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群を取得するステップであって、nは、1を超える整数である、ステップ。および、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップであって、対象符号ブロックは、2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、ステップ。本復号化方法は、以下を含む。すなわち、対象符号ブロックを取得するステップ。ならびに、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップであって、符号ストリームブロック群の各群は、タイプおよびデータユニットに基づいて取得される制御ブロックおよびデータブロックを含む、ステップ。
【特許請求の範囲】
【請求項1】
符号化方法であって、
個の符号ストリームブロック群を取得するステップであって、任意の符号ストリームブロック群は、制御ブロックおよびデータブロックを含み、nは1を超える整数である、ステップと、
前記2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップであって、前記対象符号ブロックは、前記2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、前記2個の符号ストリームブロック群内の前記制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、ステップと
を備える、方法。
【請求項2】
前記タイプは、前記対象符号ブロックがデータ符号ブロックであることを示し、
前記データユニットは、前記2個の符号ストリームブロック群のシーケンスにおいて、前記2個の符号ストリームブロック群内の前記データブロックに対して前記第一の符号化を実行することにより取得される、
請求項1に記載の方法。
【請求項3】
前記タイプは、前記対象符号ブロックが制御符号ブロックであることを示し、
前記データユニットは、タイプ指示および符号ブロックコンテンツを含み、前記符号ブロックコンテンツは、前記2個の符号ストリームブロック群内の前記制御ブロックおよび前記データブロックに基づいて決定されるシーケンスにおいて、前記2個の符号ストリームブロック群内の前記データブロックに対して前記第一の符号化を実行することによって取得され、前記タイプ指示は、前記2個の符号ストリームブロック群内の前記制御ブロックに基づいて取得され、前記タイプ指示は、各符号ストリームブロック群のタイプを示す、
請求項1に記載の方法。
【請求項4】
前記対象符号ブロックが誤り符号ブロックであり、前記誤り符号ブロックが誤り指示データを含む、請求項3に記載の方法。
【請求項5】
前記対象符号ブロックは、誤り検出結果に基づいて、前記2個の符号ストリームブロック群を処理することによって取得され、前記誤り検出結果は、前記2個の符号ストリームブロック群内の前記制御ブロックおよび前記データブロックに基づいて取得される、請求項1ないし4の何れか一つに記載の方法。
【請求項6】
前記誤り検出結果は、前記2個の符号ストリームブロック群のコンテンツシーケンスエラー、またはコンテンツエラーを含み、前記対象符号ブロックは、前記2個の符号ストリームブロック群における、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックと、エラーブロックとに基づいて、前記第一の符号化を実行することによって取得され、前記エラーブロックは、前記2個の符号ストリームブロック群における、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される、請求項5に記載の方法。
【請求項7】
前記制御ブロックは、mビットからなり、前記データブロックは、8mビットからなり、mは正の整数である、請求項1ないし6の何れか一つに記載の方法。
【請求項8】
nの値は2であり、mの値は8であり、前記対象符号ブロックは257ビットである、請求項7に記載の方法。
【請求項9】
前記2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIからのものである、請求項1ないし8の何れか一つに記載の方法。
【請求項10】
前記対象符号ブロックを取得した後、
順方向誤り訂正FEC符号タイプに基づいて、前記対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するステップと、
前記第一のデータを送信するステップと
をさらに備える、請求項1ないし9の何れか一つに記載の方法。
【請求項11】
復号化方法であって、
対象符号ブロックを取得するステップであって、前記対象符号ブロックは、タイプおよびデータユニットを含む、ステップと、
前記対象符号ブロックの前記タイプおよび前記データユニットに基づいて、前記対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップであって、任意の符号ストリームブロック群は、前記タイプおよび前記データユニットに基づいて取得される制御ブロックおよびデータブロックを含み、nは1を超える整数である、
方法。
【請求項12】
前記タイプは、前記対象符号ブロックがデータ符号ブロックであることを示し、
前記データユニットにおいて、前記符号ストリームブロック群iに対応するコンテンツであって、長さ8mを有するコンテンツに対して、前記第一の復号化を実行することにより、前記2個の符号ストリームブロック群における符号ストリームブロック群iに含まれるデータブロックが取得され、mは正の整数であり、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である、請求項11に記載の方法。
【請求項13】
前記タイプは、前記対象符号ブロックが制御符号ブロックであることを示し、前記データユニットは、タイプ指示および符号ブロックコンテンツを含み、前記タイプ指示は、2ビットからなり、前記2ビット内の1ビットは、前記ビットに対応する一つの符号ストリームブロック群であって、前記2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、前記符号ブロックコンテンツは、2個のビット群を含み、
前記2個の符号ストリームブロック群における符号ストリームブロック群iに含まれる制御ブロックは、前記タイプと、符号ストリームブロック群iに対応するビットであって、前記タイプ指示内にあるビットと、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群とに基づいて取得され、iは1以上2以下の整数、またはiは0以上2-1以下の整数であり、
前記2個の符号ストリームブロック群における符号ストリームブロック群iに含まれる前記データブロックは、符号ストリームブロック群iに対応するビットであって、前記タイプ指示に含まれるビットに基づき、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して前記第一の復号化を実行することによって取得される、
請求項11に記載の方法。
【請求項14】
前記2個のビット群は、第一のビット群と、2-1個の第二のビット群とを含み、前記第一のビット群に含まれるビットの数量は、前記第二のビット群に含まれるビットの数量と異なる、請求項13に記載の方法。
【請求項15】
前記データユニットは、タイプ指示を含み、前記タイプおよび前記タイプ指示は、前記対象符号ブロックが誤り符号ブロックであることを示し、
前記2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、前記2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、前記第一の値および前記第二の値は、前記符号ストリームブロックが誤り符号ストリームブロックであることを示す、請求項11に記載の方法。
【請求項16】
前記対象符号ブロックを取得する前記ステップは、
第二のデータを受信するステップであって、前記第二のデータは、順方向誤り訂正FEC符号タイプを使用しすることによって符号化される第一のデータに基づいて取得される、ステップと
前記第二のデータに対して第二の復号化を実行して、前記対象符号ブロックを取得するステップであって、前記第二の復号化は、誤り訂正処理である、ステップと
を含む、請求項11ないし15の何れか一つに記載の方法。
【請求項17】
前記対象符号ブロックは、前記第二のデータに対して誤り訂正が実行されたが、前記誤り訂正が失敗した場合に取得される、誤り符号ブロックである、請求項16に記載の方法。
【請求項18】
前記対象符号ブロックを取得する前記ステップは、
第二のデータを受信するステップであって、前記第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、ステップと、
前記第二のデータに対して第二の復号化を実行して、前記対象符号ブロックを取得するステップであって、前記第二の復号化は、誤り訂正がバイパスされた誤り検出処理である、ステップと
を含む、請求項11ないし15の何れか一つに記載の方法。
【請求項19】
前記対象符号ブロックは、前記第二のデータから誤りが検出されたが、誤り訂正がバイパスされた場合に取得される誤り符号ブロックである、請求項18に記載の方法。
【請求項20】
前記2個の符号ストリームブロック群は、誤り検出結果と、前記対象符号ブロックの前記タイプおよび前記データユニットとに基づいて、前記対象符号ブロックに対して前記第一の復号化を実行することによって取得され、前記誤り検出結果は、前記対象符号ブロックの前記タイプおよび前記データユニットに基づいて取得される、請求項11ないし15の何れか一つに記載の方法。
【請求項21】
前記誤り検出結果は、前記対象符号ブロックのコンテンツシーケンスエラー、またはコンテンツエラーを含み、前記2個の符号ストリームブロック群は、前記第二の符号ブロックのタイプおよびデータユニットに基づいて、前記第二の符号ブロックに対して前記第一の復号化を実行することによって取得され、前記第二の符号ブロックは、前記対象符号ブロックを変換することにより取得され、かつ、前記対象符号ブロックと同じビットの数量を有する符号ブロックである、請求項20に記載の方法。
【請求項22】
前記誤り検出結果は、前記対象符号ブロックのコンテンツシーケンスエラー、またはコンテンツエラーを含み、前記2個の符号ストリームブロック群は、2個の最初の符号ストリームブロック群を変換することによって取得され、前記2個の最初の符号ストリームブロック群は、前記対象符号ブロックの前記タイプおよび前記データユニットに基づいて、前記対象符号ブロックに対して前記第一の復号化を実行することによって取得される、請求項20に記載の方法。
【請求項23】
前記制御ブロックはmビットからなり、前記データブロックは8mビットからなり、mは正の整数である、請求項11ないし22の何れか一つに記載の方法。
【請求項24】
nの値は2であり、mの値は8であり、前記対象符号ブロックは257ビットからなる、請求項23に記載の方法。
【請求項25】
前記2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIフォーマット内にある、請求項11ないし24の何れか一つに記載の方法。
【請求項26】
符号化装置であって、
個の符号ストリームブロック群を取得するように構成される取得モジュールであって、任意の符号ストリームブロック群は、制御ブロックおよびデータブロックを含み、nは1を超える整数である、取得モジュールと、
前記2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するように構成される第一の符号化モジュールであって、前記対象符号ブロックは、前記2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、前記2個の符号ストリームブロック群内の前記制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、第一の符号化モジュールと
を備える、装置。
【請求項27】
前記タイプは、前記対象符号ブロックがデータ符号ブロックであることを示し、前記データユニットは、前記2個の符号ストリームブロック群のシーケンスにおいて、前記2個の符号ストリームブロック群内の前記データブロックに対して前記第一の符号化を実行することによって取得される、請求項26に記載の装置。
【請求項28】
前記タイプは、前記対象符号ブロックが制御符号ブロックであることを示し、前記データユニットは、タイプ指示および符号ブロックコンテンツを含み、前記符号ブロックコンテンツは、前記2個の符号ストリームブロック群内の前記制御ブロックおよび前記データブロックに基づいて決定されるシーケンスにおいて、前記2個の符号ストリームブロック群内の前記データブロックに対して前記第一の符号化を実行することによって取得され、前記タイプ指示は、前記2個の符号ストリームブロック群内の前記制御ブロックに基づいて取得され、前記タイプ指示は、各符号ストリームブロック群のタイプを示す、請求項26に記載の装置。
【請求項29】
前記対象符号ブロックは、誤り符号ブロックであり、前記誤り符号ブロックは、誤り指示データを含む、請求項28に記載の装置。
【請求項30】
前記対象符号ブロックは、誤り検出結果に基づいて、前記2個の符号ストリームブロック群を処理することによって取得され、前記誤り検出結果は、前記2個の符号ストリームブロック群内の前記制御ブロックおよび前記データブロックに基づいて取得される、請求項26ないし29の何れか一つに記載の装置。
【請求項31】
前記誤り検出結果は、前記2個の符号ストリームブロック群のコンテンツシーケンスエラー、またはコンテンツエラーを含み、前記対象符号ブロックは、前記2個の符号ストリームブロック群における、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックと、エラーブロックとに基づいて、前記第一の符号化を実行することによって取得され、前記エラーブロックは、前記2個の符号ストリームブロック群における、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される、請求項30に記載の装置。
【請求項32】
前記制御ブロックはmビットを含み、前記データブロックは8mビットを含み、mは正の整数である、請求項26ないし31の何れか一つに記載の装置。
【請求項33】
nの値は2であり、mの値は8であり、前記対象符号ブロックは257ビットである、請求項31に記載の装置。
【請求項34】
前記2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIからのものである、請求項26ないし33の何れか一つに記載の装置。
【請求項35】
順方向誤り訂正FEC符号タイプに基づいて、前記対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するように構成される、第二の符号化モジュールと、
前記第一のデータを送信するように構成される送信モジュールと
をさらに備える、請求項26ないし34の何れか一つに記載の装置。
【請求項36】
復号化装置であって、
対象符号ブロックを取得するように構成される、取得モジュールであって、前記対象符号ブロックは、タイプおよびデータユニットを含む、取得モジュールと、
前記対象符号ブロックの前記タイプおよび前記データユニットに基づいて、前記対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するように構成される復号化モジュールであって、任意の符号ストリームブロック群は、前記タイプおよび前記データユニットに基づいて取得される制御ブロックおよびデータブロックを含み、nは1を超える整数である、復号化モジュールと
を備える、装置。
【請求項37】
前記タイプは、前記対象符号ブロックがデータ符号ブロックであることを示し、前記2個の符号ストリームブロック群における符号ストリームブロック群iに含まれるデータブロックは、前記データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、長さ8mを有するコンテンツに対して、前記第一の復号化を実行することによって取得され、mは正の整数であり、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である、請求項36に記載の装置。
【請求項38】
前記タイプは、前記対象符号ブロックが制御符号ブロックであることを示し、前記データユニットは、タイプ指示および符号ブロックコンテンツを含み、前記タイプ指示は、2ビットからなり、前記2ビット内の1ビットは、前記ビットに対応する一つの符号ストリームブロックであって、前記2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、前記符号ブロックコンテンツは、2個のビット群を含み、前記2個の符号ストリームブロック群における符号ストリームブロック群i内にある制御ブロックは、タイプと、符号ストリームブロック群iに対応するビットであって、前記タイプ指示内にあるビットと、符号ストリームブロック群iに対応するビット群であって、前記符号ブロックコンテンツ内にあるビット群とに基づいて取得され、iは1以上2以下の整数であるか、または、iは0以上2-1以下の整数であり、前記2個の符号ストリームブロック群中における符号ストリームブロック群iに含まれる前記データブロックは、符号ストリームブロック群iに対応するビットであって、前記タイプ指示内にあるビットに基づき、符号ストリームブロック群iに対応するビット群であって、前記符号ブロックコンテンツ内にあるビット群に対して第一の復号化を実行することによって取得される、請求項36に記載の装置。
【請求項39】
前記2個のビット群は、第一のビット群と、2-1個の第二のビット群とを含み、前記第一のビット群に含まれるビットの数量は、前記第二のビット群に含まれるビットの数量と異なる、請求項38に記載の装置。
【請求項40】
前記データユニットは、タイプ指示を含み、前記タイプおよび前記タイプ指示は、前記対象符号ブロックが誤り符号ブロックであることを示し、前記2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、前記2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、前記第一の値および前記第二の値は、前記符号ストリームブロックが誤り符号ストリームブロックであることを示す、請求項36に記載の装置。
【請求項41】
前記取得モジュールは、第二のデータを受信することであって、前記第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、ことと、前記第二のデータに対して第二の復号化を実行して、前記対象符号ブロックを取得することであって、前記第二の復号化は、誤り訂正処理である、ことと、を行うように構成される、請求項36ないし40の何れか一つに記載の装置。
【請求項42】
前記対象符号ブロックは、前記第二のデータに対して誤り訂正が実行されたが、前記誤り訂正が失敗した場合に取得される、誤り符号ブロックである、請求項41に記載の装置。
【請求項43】
前記取得モジュールは、第二のデータを受信することであって、前記第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、ことと、前記第二のデータに対して第二の復号化を実行して、前記対象符号ブロックを取得することであって、前記第二の復号化は、誤り訂正がバイパスされた誤り検出処理である、ことと、を行うように構成される、請求項36ないし40の何れか一つに記載の装置。
【請求項44】
前記対象符号ブロックは、前記第二のデータから誤りが検出されたが、誤り訂正がバイパスされた場合に取得される、誤り符号ブロックである、請求項43に記載の装置。
【請求項45】
前記2個の符号ストリームブロック群は、誤り検出結果と、前記対象符号ブロックの前記タイプおよび前記データユニットとに基づいて、前記対象符号ブロックに対して前記第一の復号化を実行することによって取得され、前記誤り検出結果は、前記対象符号ブロックの前記タイプおよび前記データユニットに基づいて取得される、請求項36ないし40の何れか一つに記載の装置。
【請求項46】
前記誤り検出結果は、前記対象符号ブロックのコンテンツシーケンスエラー、またはコンテンツエラーを含み、前記2個の符号ストリームブロック群は、前記第二の符号ブロックのタイプおよびデータユニットに基づいて、前記第二の符号ブロックに対して前記第一の復号化を実行することによって取得され、前記第二の符号ブロックは、前記対象符号ブロックを変換することによって取得され、かつ、前記対象符号ブロックと同じビットの数量を有する符号ブロックである、請求項45に記載の装置。
【請求項47】
前記誤り検出結果は、前記対象符号ブロックのコンテンツシーケンスエラー、またはコンテンツエラーを含み、前記2個の符号ストリームブロック群は、2個の最初の符号ストリームブロック群を変換することによって取得され、前記2個の最初の符号ストリームブロック群は、前記対象符号ブロックの前記タイプおよび前記データユニットに基づいて、前記対象符号ブロックに対して前記第一の復号化を実行することによって取得される、請求項45に記載の装置。
【請求項48】
前記制御ブロックはmビットからなり、前記データブロックは8mビットからなり、mは正の整数である、請求項36ないし47の何れか一つに記載の装置。
【請求項49】
nの値は2であり、mの値は8であり、前記対象符号ブロックは257ビットである、請求項48に記載の装置。
【請求項50】
前記2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIフォーマット内にある、請求項36ないし49の何れか一つに記載の装置。
【請求項51】
ネットワーク機器であって、前記ネットワーク機器はプロセッサを備え、前記プロセッサはメモリに結合され、前記メモリは、少なくとも一つのプログラム命令またはコードを保存し、前記少なくとも一つのプログラム命令またはコードは、前記ネットワーク機器が請求項1ないし25の何れか一つに記載の方法を実装することを可能にするように、前記プロセッサによってロードされて実行される、ネットワーク機器。
【請求項52】
通信システムであって、前記システムは、第一のネットワーク機器および第二のネットワーク機器を備え、前記第一のネットワーク機器は、請求項1ないし10の何れか一つに記載の方法を実行するように構成され、前記第二のネットワーク機器は、請求項11ないし25の何れか一つに記載の方法を実行するように構成される、通信システム。
【請求項53】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体は、少なくとも一つのプログラム命令またはコードを格納し、前記プログラム命令または前記コードがプロセッサによってロードされて実行されると、コンピュータは、請求項1ないし25の何れか一つに記載の方法を実装することが可能になる、コンピュータ可読記憶媒体。
【請求項54】
コンピュータプログラム製品であって、前記コンピュータプログラム製品がコンピュータプログラムコードを含み、前記コンピュータプログラムコードがコンピュータ上で実行されると、前記コンピュータは、請求項1ないし25の何れか一つに記載の方法を実装することが可能になる、コンピュータプログラム製品。
【請求項55】
チップであって、前記チップがプロセッサを備え、前記プロセッサは、メモリから命令を起動し、前記メモリに保存された命令を実行して、前記チップがインストールされた通信装置が、請求項1ないし25の何れか一つに記載の方法を実行することを可能にするように構成される、チップ。
【請求項56】
チップであって、前記チップが、入力インターフェース、出力インターフェース、プロセッサ、およびメモリを備え、前記入力インターフェース、前記出力インターフェース、前記プロセッサ、および前記メモリは、内部接続経路を介して接続され、前記プロセッサは、前記メモリ内のコードを実行するように構成され、前記コードが実行されると、前記プロセッサは、請求項1ないし25の何れか一つに記載の方法を実行するように構成される、チップ。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、通信技術の分野に関し、特に、符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体に関する。
【背景技術】
【0002】
本出願は、2022年1月5日に出願され、「符号化方法、装置、およびチップ」と題される、中国特許出願第202210005434.5号に対する優先権を主張しており、これは、参照によりその全体が本明細書に組み込まれる。本出願は、2022年1月30日に出願され、「符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体」と題される、中国特許出願第202210114840.5号に対する優先権をさらに主張しており、これは、参照によりその全体が本明細書に組み込まれる。
【0003】
通信技術の発展にともない、イーサネット上におけるパケット伝送方式は、ますます緻密化されている。パケット伝送中、メディアアクセス制御(media access control,MAC)層からのパケットは、固定長に基づいてブロックに分割され、次いで、ブロックは、並列にメディア独立インターフェース(media independent interface,MII)に移行する。例えば、パケットは、ブロックに分割され、次いで、ブロックは、800ギガビット(gigabit,G)MIIに並列に移行する。ここで、800G MIIは、800ギガビット/秒(gigabits per second,Gb/s)のMACレートで動作するMIIを表す。ブロックは、MIIを介して物理符号化副層(physical coding sublayer,PCS)に送信される。MIIからPCSによって受信された符号ストリームブロックには、データブロック(transmit data,TXD)および制御ブロック(transmit control,TXC)がまれる。TXCおよびTXDは、調停副層(reconciliation sublayer,RS)を介して、MAC層からのパケットフローコンテンツを処理することによって取得される。TXCは、制御文字であり、TXD内の対応するバイトのコンテンツが制御信号であるか、またはデータ信号であるかを識別し、制御信号には、パケットの開始、終了、エラー、およびアイドル状態などの情報が含まれる。PCSは、TXC/TXDのコンテンツに基づいて符号化を実行して、オーバーヘッドを削減し、必要な同期機能および保護機能を提供する。
【0004】
関連する技術では、PCSは、MIIからの各符号ストリームブロック群に対して64ビット(bit,B)/66Bの符号化を実行して、66ビット符号ブロックを取得する。ここで、66ビット符号ブロックは、データ符号ブロックまたは制御符号ブロックである。66ビット符号ブロックが制御符号ブロックである場合、66ビット符号ブロックは、4ビットのハミング距離保護付きフィールドを含む。高速物理リンクを使用することによってデータ伝送を実行する場合、4個の66ビット符号ブロック毎に、長さが257ビットである一つの256B/257Bの符号化ブロックにコード変換され、257ビット符号ブロックに対して順方向誤り訂正(Forward Error Correction,FEC)符号化が実行され、FEC符号化を通じて取得されたFEC符号語の伝送が実行される。
【0005】
訂正不可能なFEC符号語が存在する場合、FEC符号語内のエラービットの数量が多くなり、エラービットの位置が固定されていないため、66ビット符号ブロック内のハミング距離保護付きフィールドを使用することによっても、信頼性の高いエラービット識別を確保することができない。また、信頼性の高いエラービット識別は、FEC誤り指示を通じて実装され得るため、66ビット符号ブロック内のハミング距離保護付きフィールドを使用することによってエラービット識別を実装する必要はない。このことから、PCSにおける処理のほとんどが257ビット符号ブロックに基づくため、64B/66Bの符号化処理はもはや不要になる。64B/66Bの符号化処理が残されれば、後続のコード変換処理によって、不要な遅延、電力消費、およびチップ領域占有を引き起こすことになる。
【発明の概要】
【0006】
本出願は、符号化効率および復号化効率を向上させるために、符号化方法、復号化方法、装置、システム、および可読記憶媒体を提供する。
【0007】
第一の態様によれば、符号化方法が提供される。本方法は、以下を含む。すなわち、2個の符号ストリームブロック群を取得するステップであって、任意の符号ストリームブロック群は、制御ブロックおよびデータブロックを含み、nは1を超える整数である、ステップ。および、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップであって、対象符号ブロックは、2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、ステップ。
【0008】
制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群に対して第一の符号化を行うことにより、2個の符号ストリームブロック群の各群に対して64B/66B符号化を実行して、2個の66ビットの符号ブロックを取得したり、2個の66ビットの符号ブロックをコード変換したりすることなく、対象符号ブロックを取得することができ、これにより、符号化効率が向上し、符号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0009】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、データユニットは、2個の符号ストリームブロック群のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得される。
【0010】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示す。そして、データユニットは、タイプ指示および符号ブロックコンテンツを含み、符号ブロックコンテンツは、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得され、タイプ指示は、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、タイプ指示は、符号ストリームブロック群の各群のタイプを示す。
【0011】
可能な実装では、対象符号ブロックは、誤り符号ブロックであり、誤り符号ブロックは、誤り指示データを含む。本願における符号化方法によれば、様々なタイプの符号ストリームブロックに対して第一の符号化を実行して、対象符号ブロックを取得することができる。そのため、本方法は、広く適用される。
【0012】
可能な実装では、対象符号ブロックは、誤り検出結果に基づいて2個の符号ストリームブロック群を処理することによって取得され、誤り検出結果は、2個の符号ストリームブロック群の制御ブロックおよびデータブロックに基づいて取得される。また、エラーが発生した符号ストリームブロックが処理されて、対象符号ブロックを取得し、これにより、後続のデータ伝送において、エラーデータを正しいデータから区別して、データの信頼性を確保することができる。
【0013】
可能な実装では、誤り検出結果は、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含み、対象符号ブロックは、2個の符号ストリームブロック群のうち、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックと、エラーブロックとに基づいて第一の符号化を実行することによって取得され、エラーブロックは、2個の符号ストリームブロック群のうち、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される。
【0014】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0015】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0016】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIからのものである。
【0017】
可能な実装では、対象符号ブロックを取得した後、本方法は、以下をさらに含む。すなわち、FEC符号タイプに基づいて、対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するステップ。および、第一のデータを送信するステップ。第二の符号化は、第一のデータを取得するために、FEC符号タイプに基づいて、対象符号ブロックに対して実行され、これにより、受信側は、受信された第一のデータに対して誤り訂正を実行して、データ伝送精度を確保することができる。
【0018】
第二の態様によれば、復号化方法が提供される。本方法は、以下を含む。すなわち、対象符号ブロックを取得するステップであって、対象符号ブロックは、タイプおよびデータユニットを含む、ステップ。および、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップであって、任意の符号ストリームブロック群は、タイプおよびデータユニットに基づいて取得される、制御ブロックおよびデータブロックを含み、nは1を超える整数である、ステップ。
【0019】
対象符号ブロックをコード変換して、2個の66ビットの符号ブロックを取得したり、2個の66ビットの符号ブロックを復号化したりする必要がなく、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群は、対象符号ブロックに対して第一の復号化を実行することによって取得されるため、これにより、復号化効率が向上し、復号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0020】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、8mの長さを有するコンテンツに対して、第一の復号化を実行することによって取得され、mは正の整数であり、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。
【0021】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示し、データユニットは、タイプ指示および符号ブロックコンテンツを含み、タイプ指示は、2ビットを含み、2ビット内の1ビットは、そのビットに対応する一つの符号ストリームブロック群であって、2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、符号ブロックコンテンツは、2個のビットグ群を含む。
個の符号ストリームブロック内の符号ストリームブロック群iに含まれる制御ブロックは、タイプ、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビット、および符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得される。ここで、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。ならびに、
個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビットに基づき、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して、第一の復号化を実行することによって取得される。
【0022】
可能な実装では、2個のビット群は、第一のビット群と、2-1個の第二のビット群とを含み、第一のビット群に含まれるビットの数量は、第二のビット群に含まれるビットの数量と異なる。
【0023】
可能な実装では、データユニットは、タイプ指示を含み、タイプおよびタイプ指示は、対象符号ブロックが誤り符号ブロックであることを示す。そして、2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、第一の値および第二の値は、符号ストリームブロックが誤り符号ストリームブロックであることを示す。
【0024】
本願における復号化方法によれば、様々なタイプの対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得することができる。そのため、本方法は、広く適用される。
【0025】
可能な実装では、対象符号ブロックを取得するステップは、以下を含む。すなわち、第二のデータを受信するステップであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、ステップ。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得するステップであって、第二の復号化は、誤り訂正処理である、ステップ。
【0026】
可能な実装では、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される、誤り符号ブロックである。また、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される、符号ブロックであり、FEC符号語内の符号ブロックに対する誤り指示であり、これにより、受信側は、対象符号ブロックに基づいて取得されるデータがエラーデータであると判定して、データ精度を確保することができる。
【0027】
可能な実装では、対象符号ブロックを取得するステップは、以下を含む。すなわち、第二のデータを受信するステップであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される、第一のデータに基づいて取得される、ステップ。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得するステップであって、第二の復号化は、誤り訂正がバイパスされた誤り検出処理である、ステップ。
【0028】
可能な実装では、対象符号ブロックは、第二のデータからエラーが検出されるが、誤り訂正がバイパスされる場合に取得される誤り符号ブロックである。
【0029】
本出願にて提供される復号化方法について、第二の復号化操作は、符号語に対して、誤り訂正を実行するステップ、または誤り訂正がバイパスされる誤り検出を実行するステップとし得る。第二の復号化プロセスにおいて、符号語に対して誤り訂正が実行される場合、現行の符号語に対して誤り訂正を実行することができないと判定される(例えば、誤りの数量が誤り訂正能力を超える)場合、符号語内の全ての符号ブロックに対して、誤り指示を実行する必要がある。または、第二の復号化プロセスにおいて、符号語に対して誤り訂正がバイパスされた誤り検出のみを実行する場合、エラーが検出された符号語内の全ての符号ブロックに対して誤り指示を実行する必要がある。
【0030】
可能な実装では、2個の符号ストリームブロック群は、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得され、誤り検出結果は、対象符号ブロックのタイプおよびデータユニットに基づいて取得される。エラーが発生した対象符号ブロックが処理され、これにより、受信側は、エラーデータおよび正しいデータの間を区別して、データの信頼性を確保することができる。
【0031】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行することによって取得され、第二の符号ブロックは、対象符号ブロックを変換することによって取得される符号ブロックであって、対象符号ブロックと同じビット数量を有する符号ブロックである。
【0032】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、2個の最初の符号ストリームブロック群を変換することによって取得され、2個の第一の符号ストリームブロックは、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得される。
【0033】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0034】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0035】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIフォーマット内にある。
【0036】
第三の態様によれば、符号化装置が提供される。本装置は、以下を含む。すなわち、
個の符号ストリームブロック群を取得するように構成される取得モジュールであって、任意の符号ストリームブロック群は、制御ブロックおよびデータブロックを含み、nは1を超える整数である、取得モジュール。および、
個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するように構成される第一の符号化モジュールであって、対象符号ブロックは、2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、第一の符号化モジュール。
【0037】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、データユニットは、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得される。
【0038】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示す。そして、データユニットは、タイプ指示および符号ブロックコンテンツを含み、符号ブロックコンテンツは、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得され、タイプ指示は、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、タイプ指示は、符号ストリームブロック群の各群のタイプを示す。
【0039】
可能な実装では、対象符号ブロックは誤り符号ブロックであり、誤り符号ブロックは誤り指示データを含む。
【0040】
可能な実装では、対象符号ブロックは、誤り検出結果に基づいて2個の符号ストリームブロック群を処理することによって取得され、誤り検出結果は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて取得される。
【0041】
可能な実装では、誤り検出結果は、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含み、対象符号ブロックは、2個の符号ストリームブロック群内の正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックと、2個の符号ストリームブロック群内のエラーブロックとに基づいて、第一の符号化を実行することによって取得され、エラーブロックは、2個の符号ストリームブロック群内のコンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される。
【0042】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0043】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0044】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIからのものである。
【0045】
可能な実装では、本装置は、以下をさらに含む。すなわち、
順方向誤り訂正FEC符号タイプに基づいて、対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するように構成される、第二の符号化モジュール。および、第一のデータを送信するように構成される、送信モジュール。
【0046】
第四の態様によれば、復号化装置が提供される。本装置は、以下を含む。すなわち、
対象符号ブロックを取得するように構成される取得モジュールであって、対象符号ブロックは、タイプおよびデータユニットを含む、取得モジュール。および、
対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するように構成される復号化モジュールであって、任意の符号ストリームブロック群は、タイプおよびデータユニットに基づいて取得される制御ブロックおよびデータブロックを含み、nは1を超える整数である、復号化モジュール。
【0047】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、8mの長さを有するコンテンツに対して、第一の復号化を実行することによって取得され、mは正の整数であり、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。
【0048】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示し、データユニットは、タイプ指示および符号ブロックコンテンツを含み、タイプ指示は、2ビットを含み、2ビット内の1ビットは、そのビットに対応する一つの符号ストリームブロック群であって、2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、符号ブロックコンテンツは、2個のビット群を含む。2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれる制御ブロックは、タイプ、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビット、および符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得され、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビットに基づいて、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して第一の復号化を実行するることによって取得される。
【0049】
可能な実装では、2個のビット群は、第一のビット群と、2-1個の第二のビット群とを含み、第一のビット群に含まれるビットの数量は、第二のビット群に含まれるビットの数量と異なる。
【0050】
可能な実装では、データユニットは、タイプ指示を含み、タイプおよびタイプ指示は、対象符号ブロックが誤り符号ブロックであることを示す。そして、2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、第一の値および第二の値は、符号ストリームブロックが誤り符号ストリームブロックであることを示す。
【0051】
可能な実装では、取得モジュールは、以下を行うように構成される。すなわち、第二のデータを受信することであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正処理である、こと。
【0052】
可能な実装では、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される符号ブロックである。
【0053】
可能な実装では、取得モジュールは、以下を行うように構成される。すなわち、第二のデータを受信することであって、第二のデータは、順方向誤り訂正FEC符号型を使用することによって符号化される第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正がバイパスされた誤り検出処理である。
【0054】
可能な実装では、対象符号ブロックは、第二のデータからエラーが検出されるが、誤り訂正がバイパスされる場合に取得される誤り符号ブロックである。
【0055】
可能な実装では、2個の符号ストリームブロック群は、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得され、誤り検出結果は、対象符号ブロックのタイプおよびデータユニットに基づいて取得される。
【0056】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行することによって取得され、第二の符号ブロックは、対象符号ブロックを変換することによって取得される符号ブロックであって、対象符号ブロックと同じビット数量を有する符号ブロックである。
【0057】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、2個の最初の符号ストリームブロック群を変換することによって取得され、2個の最初の符号ストリームブロック群は、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得される。
【0058】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0059】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0060】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIフォーマットである。
【0061】
第五の態様によれば、ネットワーク機器が提供される。本ネットワーク機器は、プロセッサを含み、このプロセッサはメモリに結合され、このメモリは少なくとも一つのプログラム命令またはコードを保存し、この少なくとも一つのプログラム命令またはコードは、プロセッサによってロードおよび実行されて、ネットワーク機器が第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実装することを可能にする。
【0062】
第六の態様によれば、コンピュータ可読記憶媒体が提供される。本記憶媒体は、少なくとも一つのプログラム命令またはコードを格納する。プログラム命令またはコードがロードされ、プロセッサによって実行されると、コンピュータは、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実装することが可能になる。
【0063】
第七の態様によれば、通信システムが提供される。本システムは、第一のネットワーク機器および第二のネットワーク機器を含み、第一のネットワーク機器は、第一の態様または第一の態様の可能な実装の何れか一つに従って符号化方法を実行するように構成され、第二のネットワーク機器は、第二の態様または第二の態様の可能な実装の何れか一つに従って復号化方法を実行するように構成される。
【0064】
第八の態様によれば、別の通信装置が提供され、本装置は、トランシーバ、メモリ、およびプロセッサを含む。トランシーバ、メモリ、およびプロセッサは、内部接続経路を介して相互に通信する。メモリは、命令を保存するように構成される。プロセッサは、メモリに保存された命令を実行して、トランシーバを制御して信号を受信し、トランシーバを制御して信号を送信するように構成される。さらに、プロセッサがメモリに保存された命令を実行すると、プロセッサは、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実行することが可能になる。
【0065】
例えば、一つまたは複数のプロセッサが存在し、一つまたは複数のメモリが存在する。
【0066】
例えば、メモリは、プロセッサと一体化されてもよいし、またはメモリおよびプロセッサは、別々に配置される。
【0067】
特定の実装プロセスでは、メモリは、非一過性(non-transitory)メモリ、例えば、読出専用メモリ(read-only memory,ROM)とし得る。メモリおよびプロセッサは、同一チップ上に集積されていてもよいし、または異なるチップ上に別々に配置されていてもよい。メモリの種類、ならびにメモリおよびプロセッサの配置態様は、本願では限定されない。
【0068】
第九の態様によれば、コンピュータプログラム製品が提供される。本コンピュータプログラム製品は、コンピュータプログラムコードを含む。コンピュータプログラムコードがコンピュータ上で実行されると、コンピュータは、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実行することが可能になる。
【0069】
第十の態様によれば、チップが提供される。本チップは、以下を行うように構成されるプロセッサを含む。すなわち、メモリから命令を起動し、メモリに保存された命令を実行して、チップがインストールされた通信機器が、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実行することを可能にすること。
【0070】
第十一の態様によれば、別のチップが提供される。本チップは、入力インターフェース、出力インターフェース、プロセッサ、およびメモリを含む。入力インターフェース、出力インターフェース、プロセッサ、およびメモリは、内部接続経路を介して接続される。プロセッサは、メモリ内のコードを実行するように構成される。コードが実行されると、プロセッサは、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実行するように構成される。
【図面の簡単な説明】
【0071】
図1】本出願の一実施形態による、符号化方法および復号化方法のための実装環境を示す模式図である。
図2】本出願の一実施形態による、符号化方法を示すフローチャートである。
図3】本出願の一実施形態による、対象符号ブロックを取得するプロセスを示す模式図である。
図4】本出願の一実施形態による、対象符号ブロックの構成を示す模式図である。
図5】本出願の一実施形態による、別の対象符号ブロックの構成を示す模式図である。
図6】本出願の一実施形態による、別の対象符号ブロックの構成を示す模式図である。
図7】本出願の一実施形態による、復号化方法を示すフローチャートである。
図8】本出願の一実施形態による、符号化装置の構成を示す模式図である。
図9】本出願の一実施形態による、復号化装置の構成を示す模式図である。
図10】本出願の一実施形態による、ネットワーク機器の構成を示す模式図である。
図11】本出願の一実施形態による、別のネットワーク機器の構成を示す模式図である。
図12】本出願の一実施形態による、別のネットワーク機器の構成を示す模式図である。
【発明を実施するための形態】
【0072】
本出願の実装にて使用される用語は、本出願の実施形態を説明するためにのみ使用され、本出願を限定することを意図していない。以下に、添付の図面を参照して、本出願の実施形態について説明する。
【0073】
ローカルエリアネットワーク技術として、イーサネットは、ますます広く適用されている。100ギガビットのイーサネット(gigabit ethernet,GE)以降、データ伝送は、単一レーン当たり25Gb/sの伝送レートで実行されている。受信されたデータにおけるエラービットを訂正するためには、物理層にFEC符号化を導入して、符号化を通じて取得されたFEC符号語の伝送を実行する。例えば、100Gレーンを介してデータ伝送が実行される場合、送信側は、リードソロモン(Reed-Solomon,RS)(528、514)を使用することによって、元のデータに対してFEC符号化を実行し得て、符号化を通じて取得される一つのRS符号語ブロックは、5140ビットのペイロードと、140ビットのチェックコードとを含む。チェックコードの存在に起因して、同じ時間内に同じペイロードを伝送するために必要とされる伝送レートについて、FEC符号語の伝送に必要とされ伝送レートは、元のデータの伝送に必要とされる伝送レートよりも高くなる。
【0074】
FEC符号語の伝送に必要とされる伝送レートを低減させるためには、イーサネット規格において、コード変換が使用されて、FEC符号化の前における符号ブロックのオーバーヘッドを低減させ、これにより、FEC符号語の伝送に必要とされる伝送レートを低減させる。例えば、4個の64B/66B符号化ブロック毎に、一つの256B/257Bの符号化ブロックにコード変換される。一つの257ビットの符号ブロックのオーバーヘッドが4個の66ビット符号ブロックのオーバーヘッドよりも低いため、FEC符号語の伝送に必要とされる伝送レートであって、257ビットの符号ブロックに基づいて取得される伝送レートの方が低くなる。100Gレーンを介してデータ伝送が実行される場合、FEC符号語の伝送に必要とされる伝送レートであって、コード変換された符号ブロック伝送に基づいて取得される伝送レートは、103.125Gb/sであり、この伝送レートは、FEC符号化が実行されない66ビットの符号ブロックの伝送に必要とされる伝送レートと同じである。
【0075】
FEC符号語を取得した後、受信側は、FEC符号語に対して誤り訂正を実行し得る。エラービットの識別は、FEC誤り指示を通じて実行されることがあり、PCSにおけるほとんどの処理は、257ビットの符号ブロックに基づいて実行される。そのため、64B/66Bの符号化処理、および対応するコード変換処理は、不要である遅延、電力消費、およびチップ面積占有を引き起こす。
【0076】
したがって、本出願の実施形態は、上述した問題を解決するために、データ伝送方法を提供する。本出願の実施形態では、制御ブロックおよびデータブロックを含む、2個の符号ストリームブロック群(nは1を超える整数である)の各群に対して第一の符号化を実行することにより、2個の符号ストリームブロック群の各群に対して64B/66Bの符号化を実行して、2個の66ビットの符号ブロックを取得したり、2個の66ビットの符号ブロックをコード変換したりすることなく、対象符号ブロックが取得される。そのため、符号化効率が向上し、符号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0077】
本出願の実施形態にて提供される方法によれば、対象符号ブロックに対して第一の復号化が実行される場合、対象符号ブロックに第一の復号化を直接実行することにより、対象符号ブロックをコード変換して、2個の66ビットの符号ブロックを取得したり、2個の66ビットの符号ブロックを復号したりする必要なしに、制御ブロックおよびデータブロックを含む、2個の符号ストリームブロック群が取得され得る。そのため、復号化効率が向上し、符号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0078】
本出願の実施形態にて提供される符号化方法および復号化方法は、現行イーサネットのインターフェースシナリオ、またはデータ伝送が必要とされる別のシナリオに適用可能である。図1に示される実装シナリオを一例として使用する。実装シナリオは、複数のチップを含み、チップ間において情報を交換して、データ伝送を実行することができる。例えば、チップ102が第一のネットワーク機器101に配置され、チップ104が第二のネットワーク機器103に配置され、チップ102およびチップ104の両方がFEC符号化およびFEC復号化をサポートし、第一のネットワーク機器101および第二のネットワーク機器103の間のチャネル105を、FEC符号化データの伝送に使用することができる。この場合、チップ102は、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得し、第一のFEC符号タイプに基づいて対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得し、チャネル105を介してチップ104に第一のデータを送信し得る。例えば、チャネル105を介した第一のデータの送信中にエラービットが発生することがあり、受信されたデータは、第二のデータと呼ばれる。第二のデータを受信した後、チップ104は、第一のFEC符号タイプを使用することによって、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得し、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得し得る。nは1を超える整数であり、第一のFEC符号タイプは、複数のRS符号、ボーズ・ショードゥリ・ホッケンヘム(Bose-Chaudhuri-Hocquenghem,BCH)符号、ハミング符号(Hamming code)、拡張BCH符号(extendedーBCH code)、拡張ハミング符号(extended-Hamming code)、ファイヤ(fire)符号、ターボ(turbo)符号、ターボ積符号(turbo product code,TPC)、階段(staircase)符号、低密度パリティチェック(low-density parity-check,LDPC)符号のうちの何れか一つ、またはそれらのカスケード接続された組み合わせを含むが、これらに限定されない。
【0079】
図1に示される実装シナリオが複数のネットワーク機器を含むことがあり、各ネットワーク機器が少なくとも一つのチップを含むことがあると理解され得る。図1では、二つのネットワーク機器が存在し、各ネットワーク機器が一つのチップを含む例のみを、説明のために使用する。
【0080】
図1に示される実装シナリオを参照すると、本出願の一実施形態にて提供される符号化方法が図2に示される。例えば、本出願の本実施形態にて提供される符号化方法は、図1におけるチップ102によって実行され、本方法は、ステップ201およびステップ202を含むが、これらに限定されない。
【0081】
ステップ201:2個の符号ストリームブロック群を取得する。ここで、任意の符号ストリームブロック群は制御ブロックおよびデータブロックを含み、nは1を超える整数である。
【0082】
可能な実装では、2個の符号ストリームブロック群の全てが、MIIからのものである。MIIに基づいて2個の符号ストリームブロック群を取得する方式は、本出願の本実施形態では限定されない。例えば、MIIは、2個の符号ストリームブロック群を取得するために、米国電気電子学会(the Institute of Electrical and Electronics Engineers,IEEE)802.3規格、例えば、IEEE 802.3-2018、およびIEEE 802.3規格の別のバージョンにおいて規定されるMIIである。例えば、具体的には、nの値は2であり、4個の符号ストリームブロック群が取得される。
【0083】
例えば、2個の符号ストリームブロック群のうちの任意群について、任意の符号ストリームブロック群内の制御ブロックは、mビットを含み、任意の符号ストリームブロック群内のデータブロックは、8mビットを含み、mは正の整数であり、8mはmの8倍を表し、8mは、代替的に、8*mとして表され得る。例えば、具体的には、mの値は8であり、任意の符号ストリームブロック群について、任意の符号ストリームブロック群内の制御ブロックは8ビットを含み、任意の符号ストリームブロック群内のデータブロックは64ビットを含む。可能な実装では、制御ブロックに含まれるmビットは、全て制御ビットであり、換言すると、制御ブロックは、m個の制御ビットを含む。そして、データブロックに含まれる8mビットは、全てデータであり、換言すると、データブロックは、8mビットのデータを含む。
【0084】
例えば、8個の制御ビットを含む制御ブロックは、TXC<7:0>として表され、64ビットデータを含むデータブロックは、TXD<63:0>として表され、制御ブロックおよびデータブロックの全ビットのシーケンスは、最上位ビット(most significant bit,MSB)から最下位ビット(least significant bit,LSB)までである。
【0085】
ステップ202:2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得する。ここで、対象符号ブロックは、2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む。
【0086】
例えば、各符号ストリームブロック群において、各制御ブロックは8ビットであり、各データブロックは64ビットである。第一の符号化は、4個の符号ストリームブロック群に対して実行されて、一つの257ビット対象符号ブロックを取得する。本出願の本実施形態では、n=2である場合を例として使用して説明する。nが別の値である場合、第一の符号化は、4個の符号ストリームブロック群毎に対して実行されて、複数の対象符号ブロックを取得し得る。例えば、具体的には、n=3である場合、8個の符号ストリームブロック群が取得される。第一の符号化は、4個の最初の符号ストリームブロック群に対して実行されて、一つの対象符号ブロックを取得してもよく、第一の符号化は、最後の4個の符号ストリームブロック群に対して実行されて、一つの対象符号ブロックを取得してもよい。
【0087】
可能な実装では、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップは、以下の符号化方式1および符号化方式2を含むが、これらに限定されない。
【0088】
符号化方式1において、対象符号ブロックのタイプは、2個の符号ストリームブロック群内の制御ブロックに基づいて、データ符号ブロックとして決定される。2個の符号ストリームブロック群内のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化が実行されて、データユニットを取得する。そして、対象符号ブロックは、タイプおよびデータユニットに基づいて取得される。
【0089】
例えば、符号化方式1において取得される対象符号ブロックについて、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、データユニットは、2個の符号ストリームブロック群のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得される。
【0090】
可能な実装では、2個の符号ストリームブロック群内の制御ブロックの各々が第一の指定値である場合、対象符号ブロックのタイプがデータ符号ブロックであると判定される。第一の指定値は、符号ストリームブロックのタイプがデータ符号ストリームブロックであることを示す。例えば、各符号ストリームブロック群内の制御ブロックは、TXC<7:0>として表され、第一の指定値は0x00である。各符号ストリームブロック群のTXC<7:0>が0x00である場合、各符号ストリームブロック群のタイプは、データ符号ストリームブロックである。
【0091】
可能な実装では、第一の符号化が、2個の符号ストリームブロック群のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して実行されて、データユニットを取得することは、以下を含む。すなわち、2個の符号ストリームブロック群のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに含まれるビットをデータユニットのビットとして別途使用して、データユニットを取得すること。
【0092】
例えば、jは、4個の符号ストリームブロック群のうちの一つの群のシーケンス番号を表し、j=0、1、2、または3である。TXD_j<63:0>は、符号ストリームブロック群jにおけるデータブロックを表し、tx_coded<256:0>は、対象符号ブロックを表し、tx_coded<0>は、対象符号ブロックのタイプを表し、tx_coded<(64j+64):(64j+1)>は、対象符号ブロックのビット(64j+64)からビット(64j+1)までを表す。この場合、tx_coded<256:0>の各ビットは、以下の式1および式2において表記される。
tx_coded<0>=1(式1)、
tx_coded<(64j+64):(64j+1)>=TXD_j<63:0>、ここで、j=0、1、2、または3である(式2)。
【0093】
式1において、tx_coded<0>=1は、タイプがデータ符号ブロックであることを表す。式2では、tx_coded<(64j+64):(64j+1)>=TXD_j<63:0>は、各符号ストリームブロック群内のデータブロックにおける複数のビットがデータユニットにおける複数のビットとしてそれぞれ使用されることを表す。
【0094】
例えば、j=0である場合、tx_coded<64:1>=TXD_0<63:0>は、符号ストリームブロック群0内のデータブロックのビット63からビット0までが対象符号ブロックのビット64からビット1までとしてそれぞれ使用されることを表す。j=1である場合、tx_coded<128:65>=TXD_1<63:0>は、符号ストリームブロック群1内のデータブロックのビット63からビット0までが対象符号ブロックのビット128からビット65までとしてそれぞれ使用されることを表す。j=2である場合、tx_coded<192:129>=TXD_0<63:0>は、符号ストリームブロック群2内のデータブロックのビット63からビット0までが対象符号ブロックのビット192からビット129までとしてそれぞれ使用されることを表す。j=3である場合、tx_coded<256:193>=TXD_3<63:0>は、符号ストリームブロック群3内のデータブロックのビット63からビット0までが対象符号ブロックのビット256からビット193までとしてそれぞれ使用されることを表す。
【0095】
例えば、図3は、対象符号ブロックを取得するプロセスを示す模式図である。図3に示されるように、取得される4個の符号ストリームブロック群について、各符号ストリームブロック群において、各制御ブロックは、TXC<7:0>として表され、各データブロックは、TXD<63:0>として表される。4個の符号ストリームブロック群の各群内のTXC<7:0>が0x00である場合、対象符号ブロックのタイプは、データ符号ブロックである。例えば、対象符号ブロックのタイプは、対象符号ブロックのビット0に対応し、タイプがデータ符号ブロックであることを示す1にビット0が設定される。本出願の本実施形態は、タイプがデータ符号ブロックであることを示すための値にビット0を設定する方式に関する限定を課さない。4個の符号ストリームブロック群のシーケンスに基づくと、4個の符号ストリームブロック群内のデータブロックの複数のビットを、データユニットの複数のビットとして別々に使用して、データユニットを取得する。そのため、対象ビットは、タイプおよびデータユニットに基づいて取得することができる。
【0096】
例えば、取得される対象符号ブロックの構成を図4に示す。対象符号ブロックのビット0は、対象符号ブロックのタイプを示し、ビット0は、対象符号ブロックのタイプがデータ符号ブロックであることを示すために1に設定される。対象符号ブロックのビット1からビット256までは、対象符号ブロックのデータユニットを示し、D0は、符号ストリームブロック群0内の64ビットのデータブロックを表し、D1は、符号ストリームブロック群1内の64ビットのデータブロックを表し、D2は、符号ストリームブロック群2内の64ビットのデータブロックを表し、D3は、符号ストリームブロック群3内の64ビットのデータブロックを表す。
【0097】
符号化方式2において、対象符号ブロックのタイプは、2個の符号ストリームブロック群内の制御ブロックに基づいて、制御符号ブロックとして決定される。2個の符号ストリームブロック群の識別子値は、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、識別子値は、符号ストリームブロックのタイプを示す。2個の符号ストリームブロック群の識別子値は、タイプ指示として使用される。第一の符号化は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して実行されて、符号ブロックコンテンツを取得する。そして、対象符号ブロックは、タイプおよびデータユニットに基づいて取得され、データユニットは、タイプ指示および符号ブロックコンテンツを含む。
【0098】
例えば、符号化方式2において取得される対象符号ブロックは、タイプおよびデータユニットを含む。タイプは、対象符号ブロックが制御符号ブロックであることを示す。そして、データユニットは、タイプ指示および符号ブロックコンテンツを含み、符号ブロックコンテンツは、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得され、タイプ指示は、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、タイプ指示は、各符号ストリームブロック群のタイプを示す。例えば、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスは、2個の符号ストリームブロック群の受信シーケンスである。
【0099】
可能な実装では、2個の符号ストリームブロック群のうちの少なくとも一つの群内の制御ブロックが第二の指定値である場合、第二の指定値を使用することによって、対象符号ブロックのタイプが制御符号ブロックであると決定することができる。第二の指定値は、符号ストリームブロックのタイプが制御符号ストリームブロックであることを示し、第二の指定値は、第一の指定値とは異なる。換言すると、2個の符号ストリームブロック群のうちの少なくとも一つの群のタイプが制御符号ストリームブロックである場合、対象符号ブロックのタイプは、制御符号ブロックである。例えば、各符号ストリームブロック群内の制御ブロックは、TXC<7:0>として表され、第一の指定値は0x00である。符号ストリームブロック群のうちの一つの群のTXC<7:0>が0x00でない場合、対象符号ブロックは、制御符号ブロックである。
【0100】
例えば、2個の符号ストリームブロック群のうちの一つの群について、符号ストリームブロック群のタイプがデータ符号ストリームブロックである場合、符号ストリームブロック群の識別子値は、第三の指定値である。または、符号ストリームブロック群のタイプが制御符号ストリームブロックである場合、符号ストリームブロック群の識別子値は、第四の指定値である。例えば、第三の指定値は1であり、第四の指定値は0である。例えば、2個の符号ストリームブロック群の識別子値がタイプ指示として使用されることは、以下を含む。すなわち、2個の符号ストリームブロック群の識別子値は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、タイプ指示のビットとしてそれぞれ使用されて、タイプ指示を取得すること。
【0101】
例えば、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化が実行されて、符号ブロックコンテンツを取得することは、以下を含む。すなわち、第一の符号化は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して実行されて、符号ストリームブロック群における最初の符号化コンテンツを取得し、符号ストリームブロック群における最初の符号化コンテンツは、符号ブロックコンテンツとして使用されること。
【0102】
可能な実装では、タイプがデータ符号ストリームブロックである(TXC<7:0>=0x00)2個の符号ストリームブロック群内の一つの符号ストリームブロック群について、符号ストリームブロック群における最初の符号化コンテンツは、符号ストリームブロック群のデータブロックのコンテンツである。タイプが制御符号ストリームブロックである2個の符号ストリームブロック群内の一つの符号ストリームブロック群について、符号ストリームブロック群の制御ブロックおよびデータブロックのケースに基づくと、符号ストリームブロック群における最初の符号化コンテンツは、以下のケースA1ないしケースA11を含むが、これらに限定されない。
【0103】
ケースA1:制御ブロックは0x01であり、データブロックのビット7からビット0までは0xFBであり、LSBは最初に送信されるビットである。
【0104】
例えば、ケースA1について、データブロックは、一つの制御バイトおよび7個のデータバイトを含み、データバイトは、オクテット(octet)とも呼ばれる。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットは、タイプフィールド(block type field,BTF)部分であり、BTF部分は0x8である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x78である。上述したケースの何れにおいても、その他の56ビットは、データブロックに含まれる7個のデータバイトのビットである。
【0105】
ケースA2:制御ブロックは0xFFであり、データブロックのビット(k+7)からビットkまでは、0x06、0x07、または0xFEのうちの少なくとも一つであり、k=0、1、2、3、4、5、6、または7であり、LSBは最初に送信されるビットである。
【0106】
例えば、ケースA2について、データブロックは8個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xEである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x1Eである。上述したケースに関わることなく、その他の56ビットは、データブロックに含まれる8個の制御バイトにおけるビット0からビット6までである。
【0107】
ケースA3:制御ブロックは0x01であり、データブロックのビット7からビット0までは0x9Cであり、LSBは最初に送信されるビットである。
【0108】
例えば、ケースA3について、データブロックは、一つの制御バイトおよび7個のデータバイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xBである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x4Bである。上述したケースに関わることなく、BTF部分の後の24ビットは、データブロックのビット31からビット8までである。データバイトの後の4ビットは、Oコード(O code)である。Oコードは、IEEE802.3規格に従って取得することができる。例えば、その他の28ビットは、複数の最初のパディングビットであり、複数の最初のパディングビットは、データブロックのデータバイトに基づいて取得されてもよく、または複数の最初のパディングビットは全て0である。
【0109】
ケースA4:制御ブロックは0xFFであり、データブロックのビット7からビット0までは0xFDであり、LSBは最初に送信されるビットである。
【0110】
例えば、ケースA4について、データブロックは、8個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x7である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x87である。上述したケースに関わることなく、BTF部分の後の7ビットは全て0であり、その他の49ビットは、データブロックに含まれる最後の7個の制御バイトにおけるビット6からビット0である。
【0111】
ケースA5:制御ブロックは0xFEであり、データブロックのビット15からビット8までは0xFDであり、LSBは最初に送信されるビットである。
【0112】
例えば、ケースA5について、データブロックは、一つのデータバイトおよび7個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x9である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x99である。上述したケースに関わることなく、BTF部分の後の8ビットは、データブロックに含まれるデータバイトのビットであり、データバイトの後の6ビットは全て0であり、その他の42ビットは、データブロックに含まれる最後の6個の制御バイトにおけるビット6からビット0までである。
【0113】
ケースA6:制御ブロックは、0xFCであり、データブロックのビット23からビット16までは、0xFDであり、LSBは、最初に送信されるビットである。
【0114】
例えば、ケースA6について、データブロックは、2個のデータバイトおよび6個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xAである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xAAである。上述したケースに関わることなく、BTF部分の後の16ビットは、データブロックに含まれる2個のデータバイトのビットであり、データバイトの後の5ビットは全て0であり、その他の35ビットは、データブロックに含まれる最後の5個の制御バイトにおけるビット6からビット0までである。
【0115】
ケースA7:制御ブロックは0xF8であり、データブロックのビット31からビット24までは0xFDであり、LSBは最初に送信されるビットである。
【0116】
例えば、ケースA7について、データブロックは、3個のデータバイトおよび5個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x4である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xB4である。上述したケースに関わることなく、BTF部分の後の28ビットは、データブロックに含まれる3個のデータバイトのビットであり、データバイトの後の4ビットは全て0であり、その他の28ビットは、データブロックに含まれる最後の4個の制御バイトにおけるビット6からビット0までである。
【0117】
ケースA8:制御ブロックは0xF0であり、データブロックのビット39からビット32までは0xFDであり、LSBは最初に送信されるビットである。
【0118】
例えば、ケースA8について、データブロックは、4個のデータバイトおよび4個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xCである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xCCである。上述したケースに関わることなく、BTF部分の後の32ビットは、データブロックに含まれる4個のデータバイトのビットであり、データバイトの後の3ビットは全て0であり、その他の21ビットは、データブロックに含まれる最後の3個の制御バイトにおけるビット6からビット0までである。
【0119】
ケースA9:制御ブロックは0xE0であり、データブロックのビット47からビット40までは0xFDであり、LSBは最初に送信されるビットである。
【0120】
例えば、ケースA9について、データブロックは、5個のデータバイトおよび3個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x2である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xD2である。上述したケースに関わることなく、BTF部分の後の32ビットは、データブロックに含まれる5個のデータバイトのビットであり、データバイトの後の2ビットは全て0であり、その他の12ビットは、データブロックに含まれる最後の2個の制御バイトにおけるビット6からビット0までである。
【0121】
ケースA10:制御ブロックは0xC0であり、データブロックのビット55からビット48までは0xFDであり、LSBは最初に送信されるビットである。
【0122】
例えば、ケースA10について、データブロックは、6個のデータバイトおよび2個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x1である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xE1である。上述したケースに関わることなく、BTF部分の後の48ビットは、データブロックに含まれる6個のデータバイトのビットであり、データバイトの後の1ビットは0であり、その他の7ビットは、データブロックに含まれる最後の制御バイトにおけるビット6からビット0までである。
【0123】
ケースA11:制御ブロックは0x80であり、データブロックのビット63からビット56までは0xFDであり、LSBは最初に送信されるビットである。
【0124】
例えば、ケースA11について、データブロックは、7個のデータバイトおよび一つの制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xFである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xFFである。上述したケースに関わることなく、その他の56ビットは、データブロックに含まれる7個のデータバイトのビットである。
【0125】
したがって、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群における最初の符号化コンテンツは、符号ブロックコンテンツとして使用される。そのため、対象符号ブロックは、タイプ、タイプ指示、および符号ブロックコンテンツに基づいて取得することができる。
【0126】
例えば、jは、4個の符号ストリームブロック群のうちの一つの群のシーケンス番号を表し、j=0、1、2、または3である。TXC_j<7:0>は、符号ストリームブロック群jの制御ブロックを表し、tx_payload<251:0>は、4個の符号ストリームブロック群における最初の符号化コンテンツを表す。tx_coded<256:0>は、対象符号ブロックを表し、tx_coded<0>は、対象符号ブロックのタイプを表し、tx_coded<j+1>は、対象符号ブロックのタイプ指示を表し、tx_coded<256:5>は、対象符号ブロックの符号ブロックコンテンツを表す。この場合、tx_coded<256:0>のビットは、以下の式3ないし式5において示される。
tx_coded<0>=0(式3)
【0127】
【数1】
【0128】
tx_coded<256:5>=tx_payload<251:0>(式5)
【0129】
式3において、tx_coded<0>=0は、タイプが制御ブロックであることを表す。式4において、TXC_j<7:0>が0x00でない場合、jの値に対応する対象符号ブロックのビットは0である。または、TXC_j<7:0>が0x00である場合、jの値に対応する対象符号ブロックのビットは1である。式5において、tx_coded<(256:5)>=tx_payload<251:0>は、4個の符号ストリームブロック群における最初の符号化コンテンツの複数のビットが、複数のビットの符号ブロックコンテンツとして使用されることを表す。
【0130】
例えば、対象符号ブロックの構成を図5に示し、図5における0ないし3は、4個の符号ストリームブロック群のシーケンス番号をそれぞれ表す。図5において、左側は、取得される4個の符号ストリームブロック群のタイプを表し、Cは制御符号ストリームブロックを表し、Dはデータ符号ストリームブロックを表す。図5の右側は、様々なケースにおいて取得される対象符号ブロックの構成を示し、bはビットを表す。例えば、1bは1ビットを表し、4bは4ビットを表す。例えば、図5におけるケース1に対応する4個の符号ストリームブロック群のタイプは全て、制御符号ストリームブロックであり、第一の符号化を通じて取得される対象符号ブロックのビット0は0であり、ビット4からビット1までは全て0である。ビット8からビット5までは、f_0として表され、符号ストリームブロック群0における最初の符号化コンテンツ内のBTF部分に対応し、ビット64からビット9までは、符号ストリームブロック群0における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C0に対応する。ビット72からビット65までは、BTF1として表され、符号ストリームブロック群1における最初の符号化コンテンツ内のBTF部分に対応し、ビット128からビット73までは、符号ストリームブロック群1における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C1に対応する。ビット136からビット129までは、BTF2として表され、符号ストリームブロック群2における最初の符号化コンテンツ内のBTF部分に対応し、ビット192からビット137までは、符号ストリームブロック群2における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C2に対応する。そして、ビット200からビット193までは、BTF3として表され、符号ストリームブロック群3における最初の符号化コンテンツ内のBTF部分に対応し、ビット256からビット201までは、符号ストリームブロック群4における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C3に対応する。図5における他のケースの原理は、上述したケース1と同じである。例えば、ケース2では、対象符号ブロックのビット68からビット5までは、D0として表され、符号ストリームブロック群0の最初の符号化コンテンツに対応し、ビット72からビット69までは、f_1として表され、符号ストリームブロック群1における最初の符号化コンテンツ内のBTF部分に対応し、ビット128からビット73までは、符号ストリームブロック群1における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C1に対応する。図5における他のケースについて、本明細書では改めて説明されない。
【0131】
可能な実装では、対象符号ブロックは、誤り符号ブロックであり、誤り符号ブロックは、誤り指示データを含む。例えば、2個の符号ストリームブロック群のうちの一つの群がデータ符号ストリームブロックに属することなく、かつ、上述したケースA1ないしA11のうちの何れの一つにも属さない場合、対象符号ブロックは誤り符号ブロックであると判定される。そして、2個の符号ストリームブロック群のタイプは、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、対象符号ストリームブロックのタイプ指示は、2個の符号ストリームブロック群のタイプに基づいて取得され、タイプおよびタイプ指示は、誤り符号ブロック内の誤り指示データとして使用される。例えば、対象符号ブロックのビット0は、タイプに対応し、ビット1からビット4までは、タイプ指示に対応し、ビット0は0に設定され、ビット1からビット4は全て、1に設定される。
【0132】
例えば、対象符号ブロックが誤り符号ブロックである場合、対象符号ブロックの構成を図6に示す。図6の左側は、取得される4個の符号ストリームブロック群のタイプを表し、Eは誤り符号ストリームブロックを表す。図6の右側は、対象符号ブロックの構成である。対象符号ブロックのビット0は0であり、ビット1からビット4までは全て1であり、ビット5からビット64までは、符号ストリームブロック群1に基づいて取得されるパディングコンテンツに対応し、ビット65からビット128までは、符号ストリームブロック群2に基づいて取得されるパディングコンテンツに対応し、ビット129からビット192までは、符号ストリームブロック群3に基づいて取得されるパディングコンテンツに対応し、ビット193からビット256までは、符号ストリームブロック群4に基づいて取得されるパディングコンテンツに対応する。例えば、パディングコンテンツの各ビットは0である。例えば、符号ストリームブロック群1に基づいて取得されるパディングコンテンツは、E0として表され、符号ストリームブロック群2に基づいて取得されるパディングコンテンツは、E1として表され、符号ストリームブロック群3に基づいて取得されるパディングコンテンツは、E2として表され、符号ストリームブロック群4に基づいて取得されるパディングコンテンツは、E3として表される。
【0133】
本出願の実施形態にて提供される符号化方法によれば、第一の符号化は、様々なタイプの符号ストリームブロックに対して実行されて、対象符号ブロックを取得することができる。そのため、本方法は、広く適用される。
【0134】
可能な実装では、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップは、以下を含む。すなわち、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて、誤り検出結果を取得するステップ。および、誤り検出結果に基づいて2個の符号ストリームブロック群を処理し、処理された2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップ。換言すると、対象符号ブロックは、誤り検出結果に基づいて2個の符号ストリームブロック群を処理することによって取得され、誤り検出結果は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて取得される。
【0135】
例えば、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて誤り検出結果を取得するステップは、以下を含む。2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて2個の符号ストリームブロック群のコンテンツおよびコンテンツシーケンスを取得し、2個の符号ストリームブロック群のコンテンツおよびコンテンツシーケンスに基づいて誤り検出結果を取得するステップ。例えば、2個の符号ストリームブロック群のコンテンツシーケンスが第一のエラーケースセット内の少なくとも一つのケースである場合、2個の符号ストリームブロック群のコンテンツシーケンスにおいてエラーが生じる。2個の符号ストリームブロック群のコンテンツシーケンスが第一のエラーケースセット内の何れのケースでもない場合、2個の符号ストリームブロック群のコンテンツシーケンスは正しい。別の例として、2個の符号ストリームブロック群のコンテンツが第二のエラーケースセット内の少なくとも一つのケースである場合、2個の符号ストリームブロック群のコンテンツにおいてエラーが生じる。2個の符号ストリームブロック群のコンテンツが第二のエラーケースセット内の何れのエラーでもない場合、2個の符号ストリームブロック群のコンテンツは正しい。
【0136】
可能な実装では、符号ストリームブロックおいて隣接する二つの群を説明のための一例として使用し、第一のエラーケースセットは、以下の4ケースを含むが、これらに限定されない。
【0137】
(1)前者の符号ストリームブロック群が開始制御文字(/S/)を含む場合、後者の符号ストリームブロック群は、データバイト以外のコンテンツを含む。
【0138】
(2)前者の符号ストリームブロック群がデータバイトのみを含む場合、後者の符号ストリームブロック群は、データバイトまたは終了制御文字(/T/)以外のコンテンツを含む。
【0139】
(3)前者の符号ストリームブロック群が終了制御文字を含む場合、後者の符号ストリームブロック群は、アイドル制御文字(/I/)またはシーケンス順序集合制御文字(/O/)以外のコンテンツを含む。
【0140】
(4)前者の符号ストリームブロック群がアイドル制御文字またはシーケンス順序集合制御文字を含む場合、後者の符号ストリームブロック群は、データバイトまたは終了制御文字を含む。
【0141】
可能な実装では、一つの符号ストリームブロック群を説明のための一例として使用し、第二のエラーケースセットは、以下の4ケースを含むが、これらに限定されない。
【0142】
(1)開始制御文字を含む符号ストリームブロックの場合、開始制御文字の後に、データバイト以外のコンテンツが続く。
【0143】
(2)データバイトを含む符号ストリームブロックの場合、データバイトの後に、データバイトまたは終了制御文字以外のコンテンツが続く。
【0144】
(3)終了制御文字を含む符号ストリームブロックの場合、終了制御文字の後に、アイドル制御文字またはシーケンス順序集合制御文字以外のコンテンツが続く。
【0145】
(4)アイドル制御文字またはシーケンス順序集合制御文字を含む符号ストリームブロックの場合、アイドル制御文字またはシーケンス順序集合制御文字の後に、データバイトまたは終了制御文字が続く。
【0146】
例えば、誤り検出結果は、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含み、エラーブロックは、2個の符号ストリームブロック群内のコンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得され、第一の符号化は、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロック、ならびに2個の符号ストリームブロック群内のエラーブロックに対して実行されて、対象符号ブロックを取得する。換言すると、誤り検出結果が2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含む場合、対象符号ブロックは、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロック、ならびに2個の符号ストリームブロック群内のエラーブロックに基づいて、第一の符号化を実行することによって取得され、エラーブロックは、2個の符号ストリームブロック群内のコンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される。例えば、エラーブロックは、誤り制御文字(error control character)を含む。
【0147】
可能な実装では、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックについて、符号ストリームブロックのコンテンツが、誤り制御文字に変換されて、エラーブロックを取得する。例えば、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックは、第一の符号ストリームブロック群であり、符号ストリームブロックのコンテンツが、第一の誤り制御文字に変換され、第一の誤り制御文字は60ビットであり、最初の4ビットは0xEであり、それ以後において7ビット毎に0x1Eである。別の例として、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックが、第二の符号ストリームブロック群、第三の符号ストリームブロック群、または第四の符号ストリームブロック群のうちの少なくとも一つである場合、符号ストリームブロックのコンテンツは、第二の誤り制御文字に変換され、第二の誤り制御文字は64ビットであり、最初の8ビットは0x1Eであり、それ以後において7ビット毎に0x1Eである。
【0148】
例えば、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロック、ならびに2個の符号ストリームブロック群内のエラーブロックに対して第一の符号化が実行されて、対象符号ブロックを取得することは、以下を含む。すなわち、対象符号ブロックのタイプは、制御符号ブロックとして決定されること。2個の符号ストリームブロック群の識別子値が取得され、識別子値は、符号ストリームブロックのタイプを示し、2個の符号ストリームブロック群の識別子値は、タイプ指示として使用されること。および、第一の符号化が、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、エラーブロック、ならびに2個の符号ストリームブロック群内の正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックのデータブロックに対して実行されて、符号ブロックコンテンツを取得すること。
【0149】
例えば、第一の符号化は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内の正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックのデータブロックに対して実行されて、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ブロックコンテンツを取得し、対象符号ブロックは、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックにおける最初の符号化コンテンツ、ならびにエラーブロックに基づいて取得される。正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックのデータブロックに対して第一の符号化を実行する方式については、タイプがデータ符号ストリームブロックである符号ストリームブロック、およびタイプが制御符号ストリームブロックである符号ストリームブロックに対して第一の符号化を実行する上述した関連する内容を参照されたい。詳細については、本明細書では改めて説明しない。
【0150】
例えば、2個の符号ストリームブロック群の各群が、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックである場合、第一の符号化は、2個の符号ストリームブロック群に基づいて取得された2個のエラーブロックに対して実行されて、対象符号ブロックを取得し、対象符号ブロックは、誤り符号ブロックである。
【0151】
エラーが発生した符号ストリームブロックは、以後のデータ伝送においてエラーデータを正しいデータから区別することができるように処理されて、データ信頼性を確保する。
【0152】
例えば、対象符号ブロックが取得された後、本方法は、以下をさらに含む。すなわち、FEC符号タイプに基づいて対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するステップ。および、第一のデータを送信するステップ。FEC符号タイプに基づいて対象符号ブロックに対して第二の符号化を実行する方式は、本出願の本実施形態では限定されない。第二の符号化が、FEC符号タイプに基づいて対象符号ブロックに対して実行されて、第一のデータを取得し、これにより、受信側は、受信された第一のデータに対して誤り訂正を実行して、データ伝送精度を確保することができる。
【0153】
本出願の実施形態にて提供される符号化方法によれば、対象符号ブロックが、2個の符号ストリームブロック群の各群に対して64B/66B符号化を実行して、2個の66ビット符号ブロックを取得したり、2個の66ビット符号ブロックをコード変換したりする必要なしに、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群に対して第一の符号化を実行することによって取得される。そのため、符号化効率が向上し、符号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0154】
以上、本出願の実施形態にて提供される符号化方法について説明している。以下では、本出願の実施形態にて提供される復号化方法について説明する。図1に示される実装シナリオを参照すると、本出願の一実施形態にて提供される復号化方法は、図7に示されている。例えば、本出願の本実施形態にて提供される復号化方法は、図1におけるチップ104によって実行され、本方法は、ステップ701およびステップ702を含むが、これらに限定されない。
【0155】
ステップ701:対象符号ブロックを取得する。ここで、対象符号ブロックは、タイプおよびデータユニットを含む。
【0156】
例えば、図1における実装シナリオを参照すると、チップ102は、チャネル105を介してチップ104に、FEC符号タイプを使用することによって、符号化された第一のデータを送信する。データ伝送プロセスでは、第一のデータにおいてエラービットが発生する。エラービットが発生するデータは、第二のデータと呼ばれ、チップ104は、チャネル105を介して第二のデータを受信する。
【0157】
可能な実装では、対象符号ブロックを取得するステップは、以下の方式Aおよび方式Bを含むが、これらに限定されない。
【0158】
方式A:第二のデータが受信されることであって、第二のデータは、FEC符号タイプを使用することによって符号化された第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化が実行されて、対象符号ブロックを取得することであって、第二の復号化は誤り訂正処理である、こと。
【0159】
例えば、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される誤り符号ブロックである。例えば、第二の復号化が第二のデータに実行されて、対象符号ブロックを取得することは、以下を含む。すなわち、FEC符号タイプに基づいて第二のデータが処理されて第一の符号語を取得し、第一の符号語に対して誤り訂正処理が実行され、誤り訂正処理の結果に基づいて対象符号ブロックが取得される、こと。
【0160】
例えば、チップ104は、FECデコーダの機能を有する。FECデコーダは、エラービットの数量がFECデコーダの誤り訂正能力を超えていると判定した場合、換言すると、誤り訂正を第一の符号語に対して実行することができないと判定した場合、第一の符号語内の全ての符号ブロックを誤り符号ブロックとしてマークする。そのため、誤り訂正処理の結果が、第一の符号語内の全ての符号ブロックが誤り符号ブロックとしてマークされることである場合、取得される対象符号ブロックは、誤り符号ブロックである。
【0161】
例えば、誤り訂正処理の結果が、第一の符号語に対する誤り訂正が成功することである場合、訂正された第一の符号語に基づいて取得される符号ブロックは、取得される対象符号ブロックとして使用され、訂正された第一の符号語に基づいて取得される符号ブロックは、正常に訂正された符号ブロックである。
【0162】
方式B:第二のデータが受信されることであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化された第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化が実行されて、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正がバイパスされる誤り検出処理である、こと。
【0163】
例えば、対象符号ブロックは、第二のデータに対して誤り訂正がバイパスされる誤り検出処理を通じて取得される、誤り符号ブロックである。例えば、第二の復号化が第二のデータに対して実行されて、対象符号ブロックを取得することは、以下を含む。すなわち、FEC符号タイプに基づいて第二のデータが処理されて第一の符号語を取得し、誤り訂正がバイパスされる(バイパス訂正)誤り検出処理が第一の符号語に対して実行されること。および、誤り訂正がバイパスされる誤り検出処理の結果に基づいて、対象符号ブロックが取得されること。
【0164】
例えば、チップ104は、FECデコーダの機能を有する。第一の符号語内にエラーが存在することを検出する場合、FECデコーダは、第一の符号語内の全ての符号ブロックを誤り符号ブロックとしてマークする。そのため、誤り訂正がバイパスされる誤り検出処理の結果が、第一の符号語内の全ての符号ブロックが誤り符号ブロックとしてマークされることである場合、取得される対象符号ブロックは、誤り符号ブロックである。
【0165】
例えば、誤り訂正がバイパスされる誤り検出処理の結果が、第一の符号語にはエラーが無いことである場合、第一の符号語に基づいて取得される符号ブロックは、取得される対象符号ブロックとして使用され、第一の符号語に基づいて取得される符号ブロックは、エラー無しの符号ブロックである。
【0166】
例えば、対象符号ブロックに基づいて実行されたフレームチェックシーケンス(frame check sequence,FCS)フレームチェックが失敗する。例えば、対象符号ブロックは257ビットであり、最初の5ビットは01111であり、その他の252ビットは、以下の3ケースを含むが、これらに限定されない。すなわち、(1)最初の4ビットは0x1であり、その他のビットにおいて8ビット毎に0x1Eである。(2)最初の248ビットにおいて8ビット毎に0x1Eであり、最後の4ビットは0x1である。(3)各ビットは0である。
【0167】
ステップS702:対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得する。ここで、任意の符号ストリームブロック群は、タイプおよびデータユニットに基づいて取得される制御ブロックおよびデータブロックを含み、nは1を超える整数である。
【0168】
例えば、対象符号ブロックは257ビットであり、各符号ストリームブロック群において、制御ブロックは8ビットであり、データブロックは64ビットである。一つの対象符号ブロックに対して第一の復号化が実行されて、4個の符号ストリームブロック群(n=2)を取得する例を、説明のために使用する。複数の対象符号ブロックが取得される場合、第一の復号化が、各対象符号ブロックに対して実行されて、2個の符号ストリームブロック群を取得し得る。例えば、二つの対象符号ブロックが取得される場合、第一の復号化が、二つの符号ブロックの各々に対して実行されて、4個の符号ストリームブロック群を取得し得る、換言すると、第一の復号化が、二つの対象符号ブロックに対して実行されて、8個の符号ストリームブロック群を取得する。
【0169】
可能な実装では、対象符号ブロックのタイプおよびデータユニットに基づいて対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップは、以下の復号化方式1ないし復号化方式3を含むが、これらに限定されない。
【0170】
復号化方式1では、対象符号ブロックのタイプは、対象符号ブロックのタイプに基づいてデータ符号ブロックとして決定され、対象符号ブロックのデータユニットは、8mの長さをそれぞれ有する2個のコンテンツを含み、mは正の整数である、こと。および、2個の符号ストリームブロック群内の制御ブロックは、対象符号ブロックのタイプに基づいて取得され、第一の復号化は、8mの長さをそれぞれ有し、データユニットに含まれる、2個のコンテンツに対して別々に実行されて、2個の符号ストリームブロック群内のデータブロックを取得する、こと。
【0171】
例えば、対象符号ブロックがデータ符号ブロックであることをタイプが示す場合、第一の復号化は、復号化方式1において対象符号ブロックに対して実行されて、2個の符号ストリームブロック群を取得する。2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、8mの長さを有するコンテンツに対して、第一の復号化を実行することによって取得され、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。
【0172】
可能な実装では、対象符号ブロックのタイプは、対象符号ブロックがデータ符号ブロックであることを示す1であり、対象符号ブロックのデータユニットは、8mの長さをそれぞれ有する4個のコンテンツを含み、8mの長さを有する一つのコンテンツは、一つの符号ストリームブロック群に対応する。例えば、8mの長さは64ビットである。4個の符号ストリームブロック群内の制御ブロックは全て、0x00に設定され、4個の64ビットコンテンツは、4個の符号ストリームブロック群内のデータブロックのコンテンツとしてそれぞれ使用される。
【0173】
例えば、jは4個の符号ストリームブロック群のうちの一つの群のシーケンス番号を表し、j=0、1、2、または3である。RXC_j<7:0>は、符号ストリームブロック群j内の制御ブロックを表し、RXD_j<63:0>は、符号ストリームブロック群j内のデータブロックを表し、rx_coded<256:0>は、対象符号ブロックを表し、rx_coded<0>は、対象符号ブロックのタイプを表し、rx_coded<(64j+64):(64j+1)>は、対象符号ブロックのビット(64j+64)からビット(64j+1)までを表し、RXC_j<7:0>およびRXD_j<63:0>のコンテンツは、以下の式6および式7に表記される。すなわち、
RXC_j<7:0>=0x00、ここで、j=0、1、2、または3であり(式6)、
RXD_j<63:0>=rx_coded<(64j+64):(64j+1)>、ここで、j=0、1、2、または3である(式7)。
【0174】
式6において、RXC_j<7:0>=0x00は、各符号ストリームブロック群内の制御ブロックが0x00であることを示す。式7において、RXD_j<63:0>=rx_coded<(64j+64):(64j+1)>であることは、符号ストリームブロックの一つの群内のデータブロックの64ビットとして使用される。
【0175】
例えば、j=0である場合、RXD_0<63:0>=rx_coded<64:1>は、対象符号ブロックのビット64からビット1までが、符号ストリームブロック群0内のデータブロックのビット63からビット0までとしてそれぞれ使用される。j=1である場合、RXD_1<63:0>=rx_coded<128:65>は、対象符号ブロックのビット128からビット65までが、符号ストリームブロック群1内のデータブロックのビット63からビット0までとしてそれぞれ使用される。j=2である場合、RXD_2<63:0>=rx_coded<192:129>は、対象符号ブロックのビット192からビット129までが、符号ストリームブロック群2内のデータブロックのビット63からビット0までとしてそれぞれ使用される。j=3である場合、RXD_3<63:0>=rx_coded<256:193>は、対象符号ブロックのビット256からビット193までが、符号ストリームブロック群3内のデータブロックのビット63からビット0として使用される。
【0176】
復号化方式2:対象符号ブロックのタイプは、対象符号ブロックのタイプに基づいて制御符号ブロックとして決定され、対象符号ブロックのデータユニットは、タイプ指示および符号ブロックコンテンツを含み、タイプ指示は、2個のビットを含み、2個のビット内の1ビットは、そのビットに対応する一つの符号ストリームブロック群であって、2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、符号ブロックコンテンツは、2個のビット群を含む、こと。2個の符号ストリームブロック群内の制御ブロックは、タイプ、2個の符号ストリームブロック群に対応するビットであって、タイプ指示内にあるビット、および2個の符号ストリームブロック群に対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得される、こと。および、第一の復号化は、2個の符号ストリームブロック群に対応するビットであって、タイプ指示内にあるビット、および2個の符号ストリームブロック群に対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して実行されて、2個の符号ストリームブロック群内のデータブロックを取得する、こと。
【0177】
例えば、対象符号ブロックが制御符号ブロックであることをタイプが示す場合、第一の復号化は、復号化方式2において対象符号ブロックに対して実行されて、2個の符号ストリームブロック群を取得する。2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれる制御ブロックは、タイプ、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビット、および符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得され、iは1以上2以下の整数であるか、またはiは、0以上2-1以下の整数である。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビットに基づいて、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して第一の復号化を実行することによって取得される。例えば、ビット群は、複数のビットのセットである。
【0178】
例えば、タイプ指示内の1ビットが1である場合、そのビットに基づいて取得される符号ストリームブロックのタイプは、データ符号ストリームブロックであるか、またはタイプ指示内の1ビットが0である場合、そのビットに基づいて取得される符号ストリームブロックのタイプは、制御符号ストリームブロックである。
【0179】
可能な実装では、2個のビット群は、第一のビット群および2-1個の第二のビット群を含み、第一のビット群に含まれるビットの数量は、第二のビット群に含まれるビットの数量とは異なる。例えば、タイプ指示の1ビットは、符号ブロックコンテンツにおける一つのビット群に対応する。例えば、図5に示される対象符号ブロックの構成を、説明のための例として使用する。ケース1について、タイプ指示は4ビットを含み、符号ブロックコンテンツは4個のビット群を含む。タイプ指示の最初のビットは、第一のビット群に対応し、第一のビット群は、対象符号ブロックのビット5からビット64までである。タイプ指示の二番目のビットは、一つの第二のビット群に対応し、第二のビット群は、対象符号ブロックのビット65からビット128までに対応する。タイプ指示の三番目のビットは、一つの第二のビット群に対応し、三番目のビットに対応する第二のビット群は、対象符号ブロックのビット129からビット192までである。そして、タイプ指示の四刃番目のビットは、一つの第二のビット群に対応し、四番目のビットに対応する第二のビット群は、対象符号ブロックのビット193からビット256までである。ケース2について、タイプ指示は4ビットを含み、符号ブロックコンテンツは、4個のビット群を含む。タイプ指示の最初のビットは、一つの第二のビット群に対応し、最初のビットに対応する第二のビット群は、対象符号ブロックのビット5からビット67までであり、タイプ指示の二番目のビットは、第一のビット群に対応し、第一のビット群は、対象符号ブロックのビット68からビット128までに対応する。そして、タイプ指示の三番目のビットは、一つの第二のビット群に対応し、三番目のビットに対応する第二のビット群は、対象符号ブロックのビット129からビット192までである。そして、タイプ指示の四番目のビットは、一つの第二のビット群に対応し、四番目のビットに対応する第二のビット群は、対象符号ブロックのビット193からビット256までである。他のケースの原理は、上述したケース1およびケース2と同じである。詳細については、本明細書では改めて説明しない。
【0180】
可能な実装では、タイプ指示の1ビットについて、そのビットが1である場合、タイプ、そのビット、およびそのビットに対応するビット群に基づいて取得される符号ストリームブロックの制御ブロックは0x00であり、そのビットに基づいて、そのビットに対応するビット群に対して第一の復号化を実行することによって取得される符号ストリームブロックのデータブロックのコンテンツは、ビット群のコンテンツである。そのビットが0である場合、そのビットの位置、およびそのビットに対応するビット群のステータスに基づいて、取得される符号ストリームブロックの制御ブロックおよびデータブロックは、以下のケースB1ないしB11を含むが、これらに限定されない。
【0181】
ケースB1:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x8である。または、そのビットは、値が0である最初のビットではなく、このビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x78である。
【0182】
例えば、ケースB1について、そのビットに対応するビット群内のBTF部分の後に、7個のデータバイトが含まれる。符号ストリームブロックの制御ブロックは0x01であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット7からビット0までは0xFBであり、他の56ビットは、そのビットに対応するビット群における7個のデータバイトのビットである。LSBは、最初に送信されるビットである。
【0183】
ケースB2:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xEであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x1Eであること。
【0184】
例えば、ケースB2について、そのビットに対応するビット群におけるBTF部分の後に8個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xFFであり、符号ストリームブロックのデータブロックは64ビットである。データブロックの64ビットは、8個の制御ビット群に基づいて取得され、データブロックの8ビット毎に、一つの制御ビット群に基づいている。各制御ビット群に基づいてデータブロックの各ビットを取得する方式は、本出願の本実施形態では限定されない。例えば、データブロックの各ビットは、IEEE802.3規格に従って各制御ビット群に基づいて取得される。例えば、データブロックのビットk+7からビットkまでは、0x06、0x07、または0xFEのうちの少なくとも一つであり、k=0、1、2、3、4、5、6、または7である。LSBは、最初に送信されるビットである。
【0185】
ケースB3:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xBであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x4Bであること。
【0186】
例えば、ケースB3について、そのビットに対応するビット群におけるBTF部分の後に3個のデータバイト、一つの4ビットOコード、および複数の最初のパディングビットが含まれる。符号ストリームブロックの制御ブロックは0x01であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット7からビット0までは0x9Cであり、データブロックのビット31からビット8までは、3個のデータバイトのビットであり、その他の32ビットは、複数の最初のパディングビットに基づいて取得される。LSBは、最初に送信されるビットである。複数の最初のパディングビットに基づいてその他の32ビットを取得する方式は、本出願の本実施形態では限定されない。
【0187】
ケースB4:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x7であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x87であること。
【0188】
例えば、ケースB4について、そのビットに対応するビット群におけるBTF部分の後に一つの7ビット終了制御文字および7個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xFFであり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット7からビット0までは0xFDであり、その他の56ビットは、7個の制御ビット群に基づいて取得され、その他の56ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0189】
ケースB5:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x9であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x99であること。
【0190】
例えば、ケースB5について、そのビットに対応するビット群におけるBTF部分の後に、一つのデータバイト、一つの6ビット終了制御文字、および6個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xFEであり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット7からビット0までは、データバイトのビットであり、データブロックのビット15からビット8までは0xFDであり、その他の48ビットは、6個の制御ビット群に基づいて取得され、その他の48ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0191】
ケースB6:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xAであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xAAであること。
【0192】
例えば、ケースB6について、そのビットに対応するビット群におけるBTF部分の後に、2個のデータバイト、一つの5ビット終了制御文字、および5個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xFCであり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット15からビット0までは、2個のデータバイトのビットに基づいて取得され、データブロックのビット23からビット16までは0xFDであり、その他の40ビットは、5個の制御ビット群に基づいて取得され、その他の40ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0193】
ケースB7:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x4であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xB4であること。
【0194】
例えば、ケースB7について、そのビットに対応するビット群におけるBTF部分の後に、3個のデータバイト、一つの4ビット終了制御文字、および4個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xF8であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット23からビット0までは、3個のデータバイトのビットに基づいて取得され、データブロックのビット31からビット24までは0xFDであり、その他の32ビットは、4個の制御ビット群に基づいて取得され、その他の32ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0195】
ケースB8:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xCであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xCCであること。
【0196】
例えば、ケースB8について、そのビットに対応するビット群におけるBTF部分の後に、4個のデータバイト、一つの3ビット終了制御文字、および3個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xF0であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット31からビット0までは、4個のデータバイトのビットに基づいて取得され、データブロックのビット39からビット32までは0xFDであり、その他の24ビットは、3個の制御ビット群に基づいて取得され、その他の24ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0197】
ケースB9:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x2であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xD2であること。
【0198】
例えば、ケースB9について、そのビットに対応するビット群におけるBTF部分の後に、5個のデータバイト、一つの2ビット終了制御文字、および2個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xE0であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット39からビット0までは、5個のデータバイトのビットに基づいて取得され、データブロックのビット47からビット40までは0xFDであり、その他の16ビットは、2個の制御ビット群に基づいて取得され、その他の16ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0199】
ケースB10:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x1であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xE1であること。
【0200】
例えば、ケースB10について、そのビットに対応するビット群におけるBTF部分の後に、6個のデータバイト、一つの1ビット終了制御文字、および一つの7ビット制御ビット群が含まれる。符号ストリームブロックの制御ブロックは0xC0であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット47からビット0までは、6個のデータバイトのビットに基づいて取得され、データブロックのビット55からビット48までは0xFDであり、その他の8ビットは、制御ビット群に基づいて取得される。LSBは、最初に送信されるビットである。
【0201】
ケースB11:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xFであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xFFであること。
【0202】
例えば、ケースB11について、そのビットに対応するビット群におけるBTF部分の後に7個のデータバイトが含まれる。符号ストリームブロックの制御ブロックは0x80であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット55からビット0までは、7個のデータバイトのビットに基づいて取得され、データブロックのビット63からビット56までは0xFDである。LSBは、最初に送信されるビットである。
【0203】
幾つかの実施形態では、2個の符号ストリームブロック群内の制御ブロックは、タイプ、2個の符号ストリームブロック群に対応するビットであって、タイプ指示内にあるビット、および2個の符号ストリームブロック群に対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得され、第一の復号化が、2個の符号ストリームブロック群に対応するビットであって、タイプ指示内にあるビット、および2個の符号ストリームブロック群に対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して実行されて、2個の符号ストリームブロック群内のデータブロックを取得することは、以下を含む。すなわち、2個の64ビットの第三のビット群は、2個のビット群に基づいて取得されること。2個の符号ストリームブロック内の制御ブロックは、タイプ、2個の符号ストリームブロックに対応するビットであって、タイプ指示内にあるビット、および2個の第三のビット群に基づいて取得されること。および、第一の復号化は、2個の符号ストリームブロックに対応するビットであって、タイプ指示内にあるビットに基づいて、2個の第三のビット群に対して実行されて、2個の符号ストリームブロック内のデータブロックを取得すること。
【0204】
例えば、値が0である最初のビットについて、そのビットに対応するビット群は、4ビットBTF部分を含み、4ビットBTF部分に基づいて8ビットBTF部分が取得されて、第三のビット群を取得する。例えば、4ビットBTF部分に基づいてIEEE802.3規格が照会されて、8ビットBTF部分を取得するか、または4ビットBTF部分に基づいて4ビットBTF部分および8ビットBTF部分の対応テーブルが照会されて、8ビットBTF部分を取得する。
【0205】
クエリーが成功した場合、具体的には、IEEE802.3規格は、4ビットBTF部分に対応する8ビットBTF部分を含むか、または対応テーブルは、4ビットBTF部分に対応する8ビットBTF部分を含む場合、8ビットBTF部分は、取得された8ビットBTF部分として使用される。クエリーが失敗した場合、具体的には、IEEE802.3規格は、4ビットBTF部分に対応する8ビットBTF部分を含まないか、または対応テーブルは、4ビットBTF部分に対応する8ビットBTF部分を含まない場合、4ビットBTF部分は、8ビットBTF部分を取得するためにマークされる。4ビットBTF部分をマークする方式は、本出願の本実施形態では限定されない。例えば、4ビットBTF部分は、ビット3からビット0までとして使用され、ビット7からビット4までは全て、0に設定される。例えば、クエリーが失敗した場合、第三のビット群に基づいて取得される符号ストリームブロックの制御ブロックは0xFFであり、データブロックは0xFEFEFEFEである。
【0206】
幾つかの他の実施形態では、値が0である最初のビットについて、タイプ、そのビット、およびそのビットに対応するビット群に基づいて符号ストリームブロックの制御ブロックを取得し、そのビットに基づいて、そのビットに対応するビット群に対して第一の復号化を実行して符号ストリームブロックのデータブロックを取得することは、以下を含む。すなわち、そのビットに対応するビット群に含まれる4ビットBTF部分に基づいて8ビットBTF部分が照会されること。および、クエリーが失敗した場合、符号ストリームブロックの制御ブロックは、0xFFに設定され、符号ストリームブロックのデータブロックは、0xFEFEFEFEに設定される。4ビットBTF部分に基づいて8ビットBTF部分を照会する方式の原理は、上述した関連する内容におけるクエリー方式の原理と同じである。詳細については、本明細書では改めて説明しない。
【0207】
復号化方式3:対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックのタイプは、誤り符号ブロックとして決定されること。および、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックが取得されることであって、2個の符号ストリームブロック群は全て、誤り符号ストリームブロックであること。
【0208】
例えば、データユニットは、タイプ指示を含み、タイプおよびタイプ指示は、対象符号ブロックが誤り符号ブロックであることを示す。そして、2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、第一の値および第二の値は、符号ストリームブロックが誤り符号ストリームブロックであることを示す。例えば、対象符号ブロックのタイプは0であり、タイプ指示は1111であり、対象符号ブロックは、誤り符号ブロックである。この場合、第一の復号化を通じて取得される2個の符号ストリームブロック群の各群に含まれる制御ブロックは0xFFであり、2個の符号ストリームブロック群の各群に含まれるデータブロックは0xFEFEFEFEである。
【0209】
本出願の本実施形態にて提供される復号化方法によれば、第一の復号化は、様々なタイプの対象符号ストリームブロックに対して実行されて、2個の符号ストリームブロック群を取得することができる。したがって、本方法は、広く適用される。
【0210】
可能な実装では、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップは、以下を含む。すなわち、対象符号ブロックのタイプおよびデータユニットに基づいて誤り検出結果を取得するステップ。および、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップ。換言すると、2個の符号ストリームブロック群は、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得され、誤り検出結果は、対象符号ブロックのタイプおよびデータユニットに基づいて取得される。
【0211】
例えば、対象符号ブロックのタイプおよびデータユニットに基づいて誤り検出結果を取得するステップは、以下を含む。すなわち、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックのコンテンツおよびコンテンツシーケンスを取得するステップ。および、対象符号ブロックのコンテンツおよびコンテンツシーケンスに基づいて、誤り検出結果を取得するステップ。例えば、対象符号ブロックのコンテンツシーケンスが第三のエラーケースセットにおける少なくとも一つのケースである場合、対象符号ブロックのコンテンツシーケンスにおいてエラーが発生する。または、対象符号ブロックのコンテンツシーケンスが第三のエラーケースセットにおける何れのケースでもない場合、対象符号ブロックのコンテンツシーケンスは正しい。別の例として、対象符号ブロックのコンテンツが第四のエラーケースセットにおける少なくとも一つのケースである場合、対象符号ブロックのコンテンツにおいてエラーが発生する。または、対象符号ブロックのコンテンツが第四のエラーケースセットにおける何れのケースでもない場合、対象符号ブロックのコンテンツは正しい。
【0212】
可能な実装では、対象符号ブロックが制御符号ブロックであり、対象符号ブロックが4個のビット群を含む例を、説明のために使用する。隣接する二つのビット群について、第三のエラーケースセットは、以下の4ケースを含むが、これらに限定されない。
【0213】
(1)前者のビット群が開始制御文字(/S/)を含む場合、後者のビット群は、データバイト以外のコンテンツを含む。
【0214】
(2)前者のビット群がデータバイトのみを含む場合、後者のビット群は、データバイトまたは終了制御文字(/T/)以外のコンテンツを含む。
【0215】
(3)前者のビット群が終了制御文字を含む場合、後者のビット群は、アイドル制御文字(/I/)またはシーケンス順序集合制御文字(/O/)以外のコンテンツを含む。
【0216】
(4)前者のビット群がアイドル制御文字またはシーケンス順序集合制御文字を含む場合、後者のビット群は、データバイトまたは終了制御文字を含む。
【0217】
本出願の実施形態における制御文字の特定の意味および値については、IEEE802.3-2018を参照されたい。詳細について、本出願の実施形態では改めて説明されない。
【0218】
可能な実装では、一つのビット群を、説明のための一例として使用し、第四のエラーケースセットは、以下の4ケースを含むが、これらに限定されない。
【0219】
(1)開始制御文字を含むビット群について、開始制御文字の後に、データバイト以外のコンテンツが続く。
【0220】
(2)データバイトを含むビット群について、データバイトの後に、データバイトまたは終了制御文字以外のコンテンツが続く。
【0221】
(3)終了制御文字を含むビット群について、終了制御文字の後に、アイドル制御文字またはシーケンス順序集合制御文字以外のコンテンツが続く。
【0222】
(4)アイドル制御文字またはシーケンス順序集合制御文字を含むビット群について、アイドル制御文字またはシーケンス順序集合制御文字の後に、データバイトまたは終了制御文字が続く。
【0223】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップは、以下を含む。すなわち、対象符号ブロックを変換して、第二の符号ブロックを取得するステップ。および、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップ。換言すると、2個の符号ストリームブロック群は、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行することによって取得され、第二の符号ブロックは、対象符号ブロックを変換することによって取得される符号ブロックであって、対象符号ブロックと同じ数量のビットを有する符号ブロックである。
【0224】
例えば、対象符号ブロックを変換して、第二の符号ブロックを取得するステップは、以下を含む。すなわち、対象符号ブロック内にあるビット群であって、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群について、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群を誤り制御文字に変換するステップ。および、誤り制御文字と、対象符号ブロック内にあるビット群であって、正しいコンテンツシーケンスエラーおよび正しいコンテンツを有するビット群に基づいて、第二の符号ブロックを取得するステップ。例えば、第一のビット群が、第一の誤り制御文字に変換され、第一のビット群は、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群である。別の例として、第二のビット群が、第二の誤り制御文字に変換され、第二のビット群は、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群である。可能な実装では、変換を通じて取得される第二の符号ブロックは、制御符号ブロックであり、第一の復号化は、復号化方式2において第二の符号ブロックに対して実行される。
【0225】
別の可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップは、以下を含む。すなわち、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、第一の2個の符号ストリームブロック群を取得するステップ。および、第一の2個の符号ストリームブロック群を変換して、2個の符号ストリームブロック群を取得するステップ。換言すると、2個の符号ストリームブロック群は、第一の2個の符号ストリームブロック群を変換することによって取得され、第一の2個の符号ストリームブロック群は、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得される。
【0226】
例えば、第一の2個の符号ストリームブロック群を変換して、2個の符号ストリームブロック群を取得するステップは、以下を含む。すなわち、符号ストリームブロックを誤り符号ストリームブロックに変換するステップであって、符号ストリームブロックは、第一の2個の符号ストリームブロック群内にあるビット群であって、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群に基づいて取得される、ステップ。例えば、誤り符号ストリームブロックにおいて、制御ブロックは0xFFであり、各データブロックは0xFEFEFEFEである。エラーが発生する対象符号ブロックは処理され、これにより、受信側は、エラーデータおよび正しいデータを区別して、データ信頼性を確保することができる。
【0227】
本出願の本実施形態にて提供される復号化方法によれば、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群は、対象符号ブロックをコード変換して2個の66ビット符号ブロックを取得し、2個の66ビット符号ブロックを復号する必要なしに、対象符号ブロックに第一の復号化を実行することによって取得される。したがって、復号化効率が改善され、復号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0228】
上記では、本出願の実施形態にて提供される符号化方法について説明している。上述した方法に対応して、本出願の実施形態は、符号化装置をさらに提供する。図8は、本出願の一実施形態による符号化装置の構成の模式図である。この装置は、第一のネットワーク機器において使用され、第一のネットワーク機器は、図1に示される実施形態における第一のネットワーク機器である。図8に示される以下の複数のモジュールに基づいて、図8に示される符号化装置は、第一のネットワーク機器によって実行される全てまたは幾つかの動作を実行することができる。装置が、図示のモジュールよりも多くの追加のモジュールを含んでもよく、または図示のモジュールの幾つかが省略されることを理解されたい。これは、本出願の本実施形態では限定されない。図8に示されるように、装置は、
個の符号ストリームブロック群を取得するように構成された取得モジュール801であって、符号ストリームブロックのあらゆる群が、制御ブロックおよびデータブロックを含み、nが1を超える整数である、取得モジュール801と、
個の符号ストリームブロック群に対して第一の符号化を実行して対象符号ブロックを取得するように構成された第一の符号化モジュール802であって、対象符号ブロックが、2個の符号ストリームブロック群における制御ブロックに基づいて判定されるタイプと、2個の符号ストリームブロック群における制御ブロックおよびデータブロックに基づいて判定されるデータユニットとを含む、第一の符号化モジュール802とを含む。
【0229】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示し、データユニットが、2個の符号ストリームブロック群のシーケンスにおける2個の符号ストリームブロック群におけるデータブロックに対して第一の符号化を実行することによって取得される。
【0230】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示し、データユニットは、タイプ指示と符号ブロックコンテンツとを含み、符号ブロックコンテンツは、2個の符号ストリームブロック群における制御ブロックおよびデータブロックに基づいて判定されたシーケンスにおける2個の符号ストリームブロック群におけるデータブロックに対して第一の符号化を実行することによって取得され、タイプ指示は、2個の符号ストリームブロック群における制御ブロックに基づいて取得され、タイプ指示は、各符号ストリームブロック群のタイプを示す。
【0231】
可能な実装では、対象符号ブロックは、誤り符号ブロックであり、誤り符号ブロックは、誤り指示データを含む。
【0232】
可能な実装では、対象符号ブロックは、誤り検出結果に基づいて2個の符号ストリームブロック群を処理することによって取得され、誤り検出結果は、2個の符号ストリームブロック群における制御ブロックおよびデータブロックに基づいて取得される。
【0233】
可能な実装では、誤り検出結果は、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含み、対象符号ブロックは、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックならびに2個の符号ストリームブロック群におけるエラーブロックに基づいて第一の符号化を実行することによって取得され、エラーブロックは、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される。
【0234】
可能な実装では、制御ブロックは、mビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0235】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0236】
可能な実装では、2個の符号ストリームブロック群の全てがメディア独立インターフェースMIIから得られる。
【0237】
可能な実装では、装置は、順方向誤り訂正FEC符号タイプに基づいて対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するように構成された第二の符号化モジュール803と、第一のデータを送信するように構成された送信モジュール804とをさらに含む。
【0238】
本出願の本実施形態にて提供される符号化装置によれば、対象符号ブロックは、2個の符号ストリームブロック群の各群に対して64B/66B符号化を実行して2個の66ビット符号ブロックを取得し、2個の66ビット符号ブロックをコード変換する必要なしに、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群に対して第一の符号化を実行することによって取得される。したがって、符号化効率が改善され、符号化処理によってもたらされる遅延、電力消費、およびチップ面積占有が低減される。
【0239】
上記では、本出願の実施形態にて提供される復号化方法について説明している。上述した方法に対応して、本出願の実施形態は、復号装置をさらに提供する。図9は、本出願の一実施形態による復号装置の構成の模式図である。この装置は、第二のネットワーク機器において使用されてもよく、第二のネットワーク機器は、図1に示される実施形態における第二のネットワーク機器である。図9に示される以下の複数のモジュールに基づいて、図9に示される復号装置は、第二のネットワーク機器によって実行される全てまたは幾つかの動作を実行することができる。装置が、図示のモジュールよりも多くの追加のモジュールを含んでもよく、または図示のモジュールの幾つかが省略されることを理解されたい。これは、本出願の本実施形態では限定されない。図9に示されるように、本装置は、以下を含む。すなわち、
対象符号ブロックを取得するように構成される取得モジュール901であって、対象符号ブロックは、タイプとデータユニットとを含む、取得モジュール901。および、
対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するように構成される復号化モジュール902であって、任意の符号ストリームブロック群は、タイプおよびデータユニットに基づいて取得される制御ブロックおよびデータブロックを含み、nは1を超える整数である、復号化モジュール902。
【0240】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、8mの長さを有するコンテンツに対して、第一の復号化を実行することによって取得され、mは正の整数であり、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。
【0241】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示し、データユニットは、タイプ指示および符号ブロックコンテンツを含み、タイプ指示は、2ビットを含み、2ビット内の1ビットは、そのビットに対応する一つの符号ストリームブロック群であって、2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、符号ブロックコンテンツは、2個のビット群を含む。2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれる制御ブロックは、タイプ、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビット、および符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得され、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビットに基づいて、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して、第一の復号化を実行することによって取得される。
【0242】
可能な実装では、2個のビット群は、第一のビット群と、2-1個の第二のビット群とを含み、第一のビット群に含まれるビットの数量は、第二のビット群に含まれるビットの数量とは異なる。
【0243】
可能な実装では、データユニットは、タイプ指示を含み、タイプおよびタイプ指示は、対象符号ブロックが誤り符号ブロックであることを示す。そして、2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、第一の値および第二の値は、符号ストリームブロックが誤り符号ストリームブロックであることを示す。
【0244】
可能な実装では、取得モジュールは、以下を行うように構成される。すなわち、第二のデータを受信することであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される最初のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正処理である、こと。
【0245】
可能な実装では、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される符号ブロックである。
【0246】
可能な実装では、取得モジュール901は、以下を行うように構成される。すなわち、第二のデータを受信することであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正がバイパスされる誤り検出処理である、こと。
【0247】
可能な実装では、対象符号ブロックは、第二のデータからエラーが検出されたが、誤り訂正がバイパスされた場合に取得される符号ブロックである。
【0248】
可能な実装では、2個の符号ストリームブロック群は、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得され、誤り検出結果は、対象符号ブロックのタイプおよびデータユニットに基づいて取得される。
【0249】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行することによって取得され、第二の符号ブロックは、対象符号ブロックを変換することによって取得される符号ブロックであって、対象符号ブロックと同じ数量のビットを有する符号ブロックである。
【0250】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、第一の2個の符号ストリームブロック群を変換することによって取得され、第一の2個の符号ストリームブロック群は、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得される。
【0251】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0252】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0253】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIのフォーマットである。
【0254】
本出願の本実施形態にて提供される復号装置によれば、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群は、対象符号ブロックをコード変換して、2個の66ビット符号ブロックを取得したり、2個の66ビット符号ブロックを復号化したりする必要なしに、対象符号ブロックに第一の復号化を実行することによって取得される。したがって、復号化効率が向上し、復号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0255】
図8および図9において提供される装置が本装置の機能を実装する場合、上述した機能モジュールの分割が単に説明のための例として使用されることは、理解されるべきである。実際の用途では、上述した機能は、要件に基づいて、実装のために異なる機能モジュールに割り充てられることがあり、換言すると、機器の内部構成は、上記に説明された機能の全部または一部を実装するために、異なる機能モジュールに分割される。加えて、上述した実施形態にて提供される装置、および本方法の実施形態は、同じ概念に属する。それらの特定の実装処理については、本方法の実施形態を参照されたい。詳細については、本明細書では改めて説明しない。
【0256】
上述した実施形態における機器における特定のハードウェア構成については、図10に示されるネットワーク機器1500を参照されたい。ネットワーク機器1500は、トランシーバ1501、プロセッサ1502、およびメモリ1503を含む。トランシーバ1501、プロセッサ1502、およびメモリ1503は、バス1504を使用することによって、相互に接続される。トランシーバ1501は、パケットを受信し、パケットを送信するように構成される。メモリ1503は、命令またはプログラムコードを保存するように構成される。プロセッサ1502は、メモリ1503内の命令またはプログラムコードを呼び出して、機器が上述した方法の実施形態における第一のネットワーク機器または第二のネットワーク機器の関連する処理手順を実行することを可能にするように構成される。特定の実施形態では、本出願の本実施形態におけるネットワーク機器1500は、上述した方法の実施形態の各々における第一のネットワーク機器または第二のネットワーク機器に対応し得る。ネットワーク機器1500内のプロセッサ1502は、メモリ1503内の命令またはプログラムコードを読み取って、図10に示されるネットワーク機器1500が、第一のネットワーク機器または第二のネットワーク機器によって実行される動作の全てまたは一部を実行することを可能にする。
【0257】
ネットワーク機器1500は、図8および図9に示される装置にさらに対応し得る。例えば、図8および図9における取得モジュール801および取得モジュール901は、トランシーバ1501と同等であり、第一の取得モジュール802および復号化モジュール902は、プロセッサ1502と同等である。
【0258】
図11は、本出願の例示的な実施形態にて提供されるネットワーク機器2000の構成を示す模式図である。図11に示されるネットワーク機器2000は、図2に示される符号化方法に関連する動作と、図7に示される復号化方法に関連する動作とを実行するように構成される。ネットワーク機器2000は、例えば、スイッチまたはルータである。
【0259】
図11に示されるように、ネットワーク機器2000は、少なくとも一つのプロセッサ2001、メモリ2003、および少なくとも一つの通信インターフェース2004を含む。
【0260】
プロセッサ2001は、例えば、汎用中央処理ユニット(central processing unit,CPU)、デジタル信号プロセッサ(digital signal processor,DSP)、ネットワークプロセッサ(network processor,NP)、グラフィックス処理ユニット(Graphics Processing Unit,GPU)、ニューラルネットワーク処理ユニット(neural-network processing unit,NPU)、データ処理ユニット(data processing unit,DPU)、マイクロプロセッサ、または本出願の解決策を実装するように構成される一つもしくは複数の集積回路である。例えば、プロセッサ2001は、特定用途向け集積回路(application-specific integrated circuit,ASIC)、プログラマブル論理デバイス(programmable logic device,PLD)、または別のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、もしくはそれらの任意の組合せを含む。PLDは、例えば、複合プログラマブル論理デバイス(complex programmable logic device,CPLD)、フィールドプログラマブルゲートアレイ(field-programmable gate array,FPGA)、汎用アレイ論理(generic array logic,GAL)、またはそれらの任意の組合せである。プロセッサは、本発明の実施形態にて開示される内容を参照して説明される、種々の論理ブロック、モジュール、および回路を実装または実行し得る。あるいは、プロセッサは、コンピューティング機能を実装するプロセッサの組合せ、例えば、一つもしくは複数のマイクロプロセッサの組合せ、またはDSPおよびマイクロプロセッサの組合せとし得る。
【0261】
任意選択で、ネットワーク機器2000は、バスをさらに含む。バスは、ネットワーク機器2000のコンポーネント間において情報を伝送するように構成される。バスは、周辺コンポーネント相互接続(peripheral component interconnect,PCI)バス、拡張業界標準アーキテクチャ(extended industry standard architecture,EISA)バス、および同様のものとし得る。バスは、アドレスバス、データバス、制御バス、および同様のものに分類され得る。表現を容易にするために、1本の太線のみが使用されて、図11におけるバスを表しているが、これは、一つのバスまたは一つのタイプのバスのみが存在することを意味しない。バスを通じて接続されることに加えて、図11におけるネットワーク機器2000のコンポーネントは、別の方式において接続され得る。本発明の本実施形態では、コンポーネントが接続される方式は限定されない。
【0262】
メモリ2003は、例えば、読出専用メモリ(read-only memory,ROM)、もしくは静的な情報および命令を保存することができる別タイプの静的ストレージ機器、別の例として、ランダムアクセスメモリ(random access memory,RAM)、もしくは情報および命令を保存することができる別タイプの動的ストレージ機器、別の例として、電気的消去可能プログラマブル読出専用メモリ(electrically erasable programmable read-only memory,EEPROM)、コンパクトディスク読出専用メモリ(compact disc read-only memory,CD-ROM)もしくは他の光学ディスクストレージ、光学ディスクストレージ(コンパクトディスク、レーザーディスク、光ディスク、デジタル多用途ディスク、ブルーレイディスク、および同様のものを含む)、磁気ディスク記憶媒体もしくは別の磁気記憶機器、または命令もしくはデータ構造の形態において所望のプログラムコードを搬送もしくは格納するために使用することができ、かつ、コンピュータによってアクセスすることができる任意の他の媒体であるが、これらに限定されない。例えば、メモリ2003は、独立して存在し、バスを介してプロセッサ2001に接続される。あるいは、メモリ2003およびプロセッサ2001は、一体化されてもよい。
【0263】
通信インターフェース2004は、トランシーバのような任意の装置を使用し、別の機器または通信ネットワークと通信するように構成される。通信ネットワークは、イーサネット、無線アクセスネットワーク(RAN)、無線ローカルエリアネットワーク(wireless local area network,WLAN)、および同様のものとし得る。通信インターフェース2004は、有線通信インターフェースを含んでもよく、無線通信インターフェースをさらに含み得る。具体的には、通信インターフェース2004は、イーサネット(ethernet)インターフェース、高速イーサネット(fast ethernet,FE)インターフェース、ギガビットイーサネット(gigabit ethernet,GE)インターフェース、非同期転送モード(asynchronous transfer mode,ATM)インターフェース、無線ローカルエリアネットワーク(wireless local area network,WLAN)インターフェース、セルラーネットワーク通信インターフェース、またはそれらの組合せとし得る。イーサネットインターフェースは、光学的インターフェース、電気的インターフェース、またはそれらの組合せとし得る。本出願の本実施形態では、通信インターフェース2004は、ネットワーク機器2000によって使用されて、別の機器と通信し得る。
【0264】
特定の実装時に、一実施形態では、プロセッサ2001は、一つまたは複数のCPU、例えば、図11に示されるCPU0およびCPU1を含み得る。プロセッサの各々は、シングルコア(single-CPU)プロセッサであってもよいし、またはマルチコア(multi-CPU)プロセッサであってもよい。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令など)を処理するように構成される、一つまたは複数の機器、回路、および/または処理コアとし得る。
【0265】
特定の実装時に、一実施形態では、ネットワーク機器2000は、図11におけるプロセッサ2001およびプロセッサ2005などの複数のプロセッサを含み得る。プロセッサの各々は、シングルコア(single-CPU)プロセッサであってもよいし、またはマルチコア(multi-CPU)プロセッサであってもよい。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令など)を処理するように構成される、一つまたは複数の機器、回路、および/または処理コアとし得る。
【0266】
特定の実装時に、一実施形態では、ネットワーク機器2000は、出力機器および入力機器をさらに含み得る。出力機器は、プロセッサ2001と通信し、複数の方式において情報を表示し得る。例えば、出力機器は、液晶ディスプレイ(liquid crystal display,LCD)、発光ダイオード(light emitting diode,LED)ディスプレイ機器、陰極線管(cathode ray tube,CRT)ディスプレイ機器、プロジェクタ(projector)、および同様のものとし得る。入力機器は、プロセッサ2001と通信し、複数の方式においてユーザからの入力を受信し得る。例えば、入力機器は、マウス、キーボード、タッチスクリーン機器、またはセンシング機器とし得る。
【0267】
幾つかの実施形態では、メモリ2003は、本出願の解決策を実行するためのプログラムコード2010を保存するように構成され、プロセッサ2001は、メモリ2003内に保存されたプログラムコード2010を実行し得る。換言すると、ネットワーク機器2000は、プロセッサ2001およびメモリ2003内のプログラムコード2010を使用することによって、本方法の実施形態にて提供される符号化方法または復号化方法を実装し得る。プログラムコード2010は、一つまたは複数のソフトウェアモジュールを含み得る。任意選択で、プロセッサ2001は、本出願の解決策を実行するためのプログラムコードまたは命令を保存し得る。
【0268】
特定の実施形態では、本出願の本実施形態におけるネットワーク機器2000は、上述した方法の実施形態の各々における第一のネットワーク機器または第二のネットワーク機器に対応し得る。ネットワーク機器2000内のプロセッサ2001は、メモリ2003内のプログラムコード2010、またはメモリ2001に保存されたプログラムコードもしくは命令を読み取って、図11に示されるネットワーク機器2000が、第一のネットワーク機器または第二のネットワーク機器によって実行される動作の全てまたは一部を実行することを可能にする。
【0269】
ネットワーク機器2000は、図8および図9に示される装置にさらに対応し得る。図8および図9に示される装置における各機能モジュールは、ネットワーク機器2000のソフトウェアを使用することによって実装される。換言すると、図8および図9に示される装置に含まれる機能モジュールは、ネットワーク機器2000内のプロセッサ2001がメモリ2003に保存されたプログラムコード2010を読み取った後に生成される。例えば、図8および図9における取得モジュール801および取得モジュール901は、通信インターフェース2004と同等であり、第一の取得モジュール802および復号化モジュール902は、プロセッサ2001および/またはプロセッサ2005と同等である。
【0270】
図2および図7に示される方法の手順は、ネットワーク機器2000のプロセッサにおけるハードウェアの集積論理回路またはソフトウェアの形態における命令を使用することによって完了される。本出願の実施形態を参照して開示される方法の手順は、ハードウェアプロセッサによって直接実行されてもよいし、またはプロセッサ内のハードウェアと、ソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読出専用メモリ、プログラマブル読出専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなど、当技術分野において発達した記憶媒体に配置され得る。記憶媒体は、メモリ内に配置される。プロセッサは、メモリ内の情報を読み取り、プロセッサのハードウェアとの組合せにおいて上述した方法の手順を完了する。繰り返しを避けるために、詳細については、本明細書では改めて説明しない。
【0271】
図12は、本出願の別の例示的な実施形態にて提供されるネットワーク機器2100の構成を示す模式図である。図12に示されるネットワーク機器2100は、図2および図7に示される方法における動作の全てまたは一部を実行するように構成される。ネットワーク機器2100は、例えば、スイッチまたはルータである。ネットワーク機器2100は、汎用バスアーキテクチャによって実装され得る。
【0272】
図12に示されるように、ネットワーク機器2100は、メイン制御ボード2110およびインターフェースボード2130を含み得る。
【0273】
メイン制御ボードは、メイン処理ユニット(main processing unit,MPU)またはルートプロセッサカード(route processor card)と呼ばれることもある。メイン制御ボード2110は、以下を行うように構成される。すなわち、経路計算、機器管理、機器保守、およびプロトコル処理の機能を含む、ネットワーク機器2100内の各コンポーネントを制御および管理すること。メイン制御ボード2110は、中央処理ユニット2111およびメモリ2112を含む。
【0274】
インターフェースボード2130は、ラインインターフェースユニットカード(line processing unit,LPU)、ラインカード(line card)、またはサービスボードと呼ばれることもある。インターフェースボード2130は、以下を行うように構成される。すなわち、種々のサービスインターフェースを提供し、データパケット転送を実装すること。サービスインターフェースは、イーサネットインターフェースおよびPOS(packet over SONET/SDH)インターフェースを含むが、これらに限定されない。イーサネットインターフェースは、例えば、フレキシブルイーサネットサービスインターフェース(flexible Ethernet clients,FlexE Clients)である。インターフェースボード2130は、以下を含む。すなわち、中央処理ユニット2131、ネットワークプロセッサ2132、転送エントリーメモリ2134、および物理インターフェースカード(physical interface card,PIC)2133。
【0275】
インターフェースボード2130上の中央処理ユニット2131は、以下を行うように構成される。すなわち、インターフェースボード2130を制御および管理し、メイン制御ボード2110上の中央処理ユニット2111と通信すること。
【0276】
ネットワークプロセッサ2132は、パケット送信処理を実装するように構成される。ネットワークプロセッサ2132の形態は、転送チップとし得る。転送チップは、ネットワークプロセッサ(network processor,NP)とし得る。幾つかの実施形態では、転送チップは、特定用途向け集積回路(application-specific integrated circuit,ASIC)またはフィールドプログラマブルゲートアレイ(field programmable gate array,FPGA)を使用することによって実装され得る。具体的には、ネットワークプロセッサ2132は、転送エントリーメモリ2134に保存された転送テーブルに基づいて、受信されたパケットを転送するように構成される。パケットの宛先アドレスがネットワーク機器2100のアドレスである場合、ネットワークプロセッサ2132は、パケットを処理のためにCPU(例えば、中央処理ユニット2131など)に送信する。パケットの宛先アドレスがネットワーク機器2100のアドレスでない場合、ネットワークプロセッサ2132は、宛先アドレスに基づく転送テーブルから、ネクストホップと、宛先アドレスに対応するエグレスインターフェースを見出し、パケットを宛先アドレスに対応するエグレスインターフェースに転送する。アップリンクパケットを処理することは、以下を含み得る。すなわち、パケットのインバウンドインターフェースを処理し、転送テーブルを探索すること。ダウンリンクパケットを処理することは、以下を含み得る。すなわち、転送テーブルを探索すること、および同様のこと。幾つかの実施形態では、中央処理ユニットは、例えば、汎用CPUに基づいてソフトウェア転送を実装するなど、転送チップの機能も実行し得て、これにより、インターフェースボードに転送チップが不要になる。
【0277】
物理インターフェースカード2133は、物理層相互接続機能を実装するように構成され、これにより、元のトラフィックは、インターフェースボード2130に入り、処理されたパケットは、物理インターフェースカード2133から送信される。物理インターフェースカード2133は、サブカードと呼ばれることもあり、インターフェースボード2130上に設置され得て、光信号/電気信号をパケットに変換し、パケットに対して妥当性チェックを実行し、次いで、パケットを処理のためにネットワークプロセッサ2132に転送することに関与する。幾つかの実施形態では、中央処理ユニット2131は、例えば、汎用CPUに基づいてソフトウェア転送を実装するなど、ネットワークプロセッサ2132の機能も実行し得る。そのため、ネットワークプロセッサ2132は、物理インターフェースカード2133では必要とされない。
【0278】
任意選択で、ネットワーク機器2100は、複数のインターフェースボードを含む。例えば、ネットワーク機器2100は、インターフェースボード2140をさらに含む。インターフェースボード2140は、中央処理ユニット2141、ネットワークプロセッサ2142、転送エントリーメモリ2144、および物理インターフェースカード2143を含む。インターフェースボード2140内のコンポーネントの機能および実装は、インターフェースボード2130の機能および実装と同じであるか、または類似しており、詳細については、本明細書では改めて説明しない。
【0279】
任意選択で、ネットワーク機器2100は、スイッチングボード2120をさらに含む。スイッチングボード2120は、スイッチファブリックユニット(switch fabric unit,SFU)と呼ばれることもある。ネットワーク機器が複数のインターフェースボードを有する場合、スイッチングボード2120は、インターフェースボード間におけるデータ交換を実行するように構成される。例えば、インターフェースボード2130およびインターフェースボード2140は、スイッチングボード2120を使用することによって相互に通信し得る。
【0280】
メイン制御ボード2110は、インターフェースボードに結合される。例えば、メイン制御ボード2110、インターフェースボード2130、インターフェースボード2140、およびスイッチングボード2120は、システムバスを相互作用に使用することによって、システムバックボードに接続される。可能な実装では、メイン制御ボード2110、インターフェースボード2130、およびインターフェースボード2140の間に処理理間通信(inter-process communication,IPC)プロトコルチャネルが確立され、メイン制御ボード2110は、IPCチャネルを介してインターフェースボード2130およびインターフェースボード2140と通信する。
【0281】
論理的には、ネットワーク機器2100は、制御プレーンおよび転送プレーンを含む。制御プレーンは、メイン制御ボード2110および中央処理ユニット2111を含む。転送プレーンは、転送を実行するコンポーネント、例えば、転送エントリーメモリ2134、物理インターフェースカード2133、およびネットワークプロセッサ2132を含む。制御プレーンは、ルータのような機能、すなわち、転送テーブルの生成、シグナリングパケットおよびプロトコルパケットの処理、ネットワーク機器の状態の構成および維持を実行する。制御プレーンは、生成された転送テーブルを転送プレーンに配送する。転送プレーン上で、ネットワークプロセッサ2132は、制御プレーンによって配送された転送テーブルに基づいて、物理インターフェースカード2133によって受信されたパケットを転送するためのテーブルを探索する。制御プレーンによって配送された転送テーブルは、転送エントリーメモリ2134に保存され得る。幾つかの実施形態では、制御プレーンおよび転送プレーンは、完全に分離され得て、同じネットワーク機器上には存在しない。
【0282】
一つまたは複数のメイン制御ボードが存在することがあり、複数のメイン制御ボードが存在する場合、一次メイン制御ボードおよび二次メイン制御ボードが含まれ得ることは、留意されるべきである。一つまたは複数のインターフェースボードが存在し得る。より強力なデータ処理機能を有するネットワーク機器は、より多い数量のインターフェースボードを提供する。インターフェースボード上に、一つまたは複数の物理インターフェースカードが存在し得る。スイッチングボードが存在しなくてよいし、または一つもしくは複数のスイッチングボードが存在してもよい。複数のスイッチングボードが存在する場合、負荷分散および冗長性バックアップは、共に実装され得る。集中型転送アーキテクチャでは、ネットワーク機器は、スイッチングボードを必要としないことがあり、インターフェースボードは、システム全体のサービスデータを処理する機能を実行する。分散型転送アーキテクチャでは、ネットワーク機器は、少なくとも一つのスイッチングボードを有することがあり、スイッチングボードを使用することによって、複数のインターフェースボード間のデータ交換を実装して、大容量のデータ交換および処理能力を提供する。そのため、分散型アーキテクチャのネットワーク機器のデータアクセスおよび処理能力は、集中型アーキテクチャのネットワーク機器のデータアクセスおよび処理能力よりも高度である。任意選択で、ネットワーク機器の形態は、代替的に、シングルボードとし得る。すなわち、スイッチファブリックボードが無く、インターフェースボードおよびメイン制御ボードの機能は、シングルボードに組み込まれる。この場合、インターフェースボード上の中央処理ユニットおよびメイン制御ボード上の中央処理ユニットは、シングルボード上の一つの中央処理ユニットに統合され得る。ボード上の一つの中央処理ユニットは、二つの中央処理ユニットが統合された後に存在する二つの中央処理ユニットの機能を実行する。この形態におけるネットワーク機器は、低いデータ交換および処理能力(例えば、ローエンドのスイッチまたはルータなどのネットワーク機器など)を有する。使用対象である特定のアーキテクチャは、特定のネットワーキング配備シナリオに依存する。これは、本明細書では限定されない。
【0283】
特定の実施形態では、ネットワーク機器2100は、図8および図9に示される装置にさらに対応する。幾つかの実施形態では、図8および図9に示される装置内の取得モジュール801および取得モジュール901は、ネットワーク機器2100内の物理インターフェースカード2133または物理インターフェースカード2143と同等である。図8および図9に示される装置内の第一の符号化モジュール802および復号化モジュール902は、ネットワーク機器2100内の中央処理ユニット2111、ネットワークプロセッサ2132、およびネットワークプロセッサ2142のうちの少なくとも一つと同等である。
【0284】
図10図11、および図12に示されるネットワーク機器に基づいて、本出願の一実施形態は、通信システムをさらに提供する。本システムは、第一のネットワーク機器および第二のネットワーク機器を含む。任意選択で、第一のネットワーク機器は、図10に示されるネットワーク機器1500、図11に示されるネットワーク機器2000、または図12に示されるネットワーク機器2100であり、第二のエッジネットワーク機器は、図10に示されるネットワーク機器1500、図11に示されるネットワーク機器2000、または図12に示されるネットワーク機器2100である。
【0285】
第一のネットワーク機器および第二のネットワーク機器によって実行される方法については、図1図2、および図7に示される実施形態の関連する説明を参照されたい。詳細については、本明細書では改めて説明しない。
【0286】
プロセッサは、中央処理ユニット(central processing unit,CPU)であってもよいし、または別の汎用プロセッサ、デジタル信号プロセッサ(digital signal processor,DSP)、特定用途向け集積回路(application-specific integrated circuit,ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array,FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、ディスクリートハードウェアコンポーネント、または同様のものであってもよいことは、理解されるべきである。汎用プロセッサは、マイクロプロセッサ、任意の従来のプロセッサ、または同様のものとし得る。プロセッサは、高度縮小命令セットコンピューティングマシン(advanced RISC machines,ARM)をサポートするプロセッサとし得ることは、留意されるべきである。
【0287】
さらに、任意選択の実施形態では、メモリは、読出専用メモリおよびランダムアクセスメモリを含んでもよく、プロセッサに命令およびデータを提供してもよい。メモリは、不揮発性ランダムアクセスメモリをさらに含んでもよい。例えば、メモリは、デバイスタイプの情報をさらに保存し得る。
【0288】
メモリは、揮発性メモリもしくは不揮発性メモリであってもよいし、または揮発性メモリおよび不揮発性メモリの両方を含んでもよい。不揮発性メモリは、読出専用メモリ(read-only memory,ROM)、プログラマブル読出専用メモリ(programmable ROM,PROM)、消去可能プログラマブル読出専用メモリ(erasable PROM,EPROM)、電気的消去可能プログラマブル読出専用メモリ(electrically EPROM,EEPROM)、またはフラッシュメモリであってもよい。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ(random access memory,RAM)であってもよい。制限ではなく、一例として、RAMにおける多数の形態、例えば、静的ランダムアクセスメモリ(static RAM,SRAM)、動的ランダムアクセスメモリ(dynamic random access memory,DRAM)、同期動的ランダムアクセスメモリ(synchronous DRAM,SDRAM)、ダブルデータレート同期動的ランダムアクセスメモリ(double data rate SDRAM,DDR SDRAM)、拡張同期動的ランダムアクセスメモリ(enhanced SDRAM,ESDRAM)、シンクリンク動的ランダムアクセスメモリ(synchlink DRAM,SLDRAM)、およびダイレクトラムバスランダムアクセスメモリ(direct rambus RAM,DR RAM)が利用可能である。
【0289】
コンピュータ可読記憶媒体がさらに提供される。本記憶媒体は、少なくとも一つのプログラム命令またはコードを格納する。プログラム命令またはコードがプロセッサによってロードされて実行された場合、コンピュータは、図2における符号化方法、または図7における復号化方法を実装することが可能になる。
【0290】
本出願は、コンピュータプログラム(製品)を提供する。コンピュータプログラムがコンピュータによって実行された場合、プロセッサまたはコンピュータは、上述した方法の実施形態における対応するステップおよび/または手順を実行することが可能になる。
【0291】
プロセッサを含むチップが提供される。本チップは、メモリに保存された命令をメモリから呼び出して実行するように構成され、これにより、チップが設置された通信機器が、上述した態様における方法を実行する。
【0292】
別のチップが提供される。本チップは、入力インターフェース、出力インターフェース、プロセッサ、およびメモリを含む。入力インターフェース、出力インターフェース、プロセッサ、およびメモリは、内部接続パスを介して接続されている。プロセッサは、メモリ内のコードを実行するように構成される。プロセッサは、コードが実行されると、上述した態様における方法を実行するように構成される。
【0293】
機器がさらに提供される。本機器は、上述したチップを含む。任意選択で、本機器は、ネットワーク機器である。例えば、本機器は、ルータ、スイッチ、またはサーバである。
【0294】
上述した実施形態の全てまたは一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せを使用することによって実装され得る。ソフトウェアが実施形態を実装するために使用される場合、実施形態の全てまたは一部は、コンピュータプログラム製品の形態において実装され得る。コンピュータプログラム製品は、一つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上にロードされて実行された場合、本出願による手順または機能は、全てまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラマブル装置とし得る。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよいし、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ウエブサイト、コンピュータ、サーバ、またはデータセンターから、別のウエブサイト、コンピュータ、サーバ、またはデータセンターに、有線方式(例えば、同軸ケーブル、光ファイバ、もしくはデジタル加入者線など)において送信されてもよいし、または無線方式(例えば、赤外線、無線、もしくはマイクロ波など)において送信されてもよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能媒体であってもよいし、またはデータストレージ機器、例えば、一つもしくは複数の使用可能媒体を統合する、サーバもしくはデータセンターなどであってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、もしくは磁気テープなど)、光学媒体(例えば、DVDなど)、半導体媒体(例えば、ソリッドステートドライブ(solid-state drive,SSD)など)、または同様のものであってもよい。
【0295】
上述した特定の実装では、本出願の目的、技術的解決策、および有益な効果について、さらに詳細に説明する。上述した説明が、単なる本出願における特定の実装であるが、本出願の保護範囲を限定することを意図していないことは、理解されるべきである。本出願の技術的解決策に基づいて行われる、任意の変更、同等置換、改良、または同様のことは、本出願の保護範囲内に入るものとする。
【0296】
当業者は、本明細書にて開示された実施形態において記載された方法の手順およびモジュールを参照すると、ソフトウェア、ハードウェア、ファームウェア、またはそれらの組合せを使用することによって、その方法の手順およびモジュールを実装することができることを認識し得る。ハードウェアおよびソフトウェアの間の互換性を明確に説明するために、実施形態の手順および構成は、上述した説明において、一般的に機能の観点から説明されている。機能がハードウェアによって実行されるのか、またはソフトウェアによって実行されるのかは、技術的解決策における特定の用途および設計制約に依存する。当業者は、異なる方法を使用して、特定の用途毎に説明される機能を実装し得るが、その実装が本出願の範囲を越えると見做されるべきではない。
【0297】
当業者は、本実施形態のステップの全部または一部が、ハードウェアまたは関連するハードウェアに指示するプログラムによって実装され得ることを理解し得る。プログラムはコンピュータ可読記憶媒体に格納され得る。記憶媒体は、読出専用メモリ、磁気ディスク、または光ディスクを含み得る。
【0298】
ソフトウェアが実施形態を実装するために使用される場合、実施形態の全部または一部は、コンピュータプログラム製品の形態において実装され得る。コンピュータプログラム製品は、一つまたは複数のコンピュータプログラム命令を含む。一例では、本出願の実施形態による方法は、マシン実行可能命令のコンテキストにおいて説明され得る。例えば、マシン実行可能命令は、ターゲットの実プロセッサまたは仮想プロセッサ上の実行のためのコンポーネント内にあるプログラムモジュールに含まれる。一般に、プログラムモジュールは、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構成、および同様のものを含み、特定のタスクを実行するか、または特定の抽象データ構成を実装する。種々の実施形態では、プログラムモジュールの機能は、記載されたプログラムモジュール間において組み合わされてもよいし、または分割されてもよい。プログラムモジュール用のマシン実行可能命令は、ローカルに実行されてもよいし、または分散型機器内で実行されてもよい。分散型機器において、プログラムモジュールは、ローカル記憶媒体およびリモート記憶媒体の両方に配置され得る。
【0299】
本出願の実施形態における方法を実装するためのコンピュータプログラムコードは、一つまたは複数のプログラミング言語で記述され得る。コンピュータプログラムコードは、汎用コンピュータ、専用コンピュータ、または別のプログラマブルデータ処理装置のプロセッサに提供され得て、これにより、プログラムコードがコンピュータまたは別のプログラマブルデータ処理装置によって実行されると、フローチャートおよび/またはブロック図に指定された機能/動作が実装される。プログラムコードは、全体的にコンピュータ上で実行されてもよいし、部分的にコンピュータ上で実行されてもよいし、スタンドアロンソフトウェアパッケージとして実行されてもよいし、部分的にコンピュータ上で実行されて部分的にリモートコンピュータ上で実行されてもよいし、または全体的にリモートコンピュータもしくはサーバ上で実行されてもよい。
【0300】
本出願の実施形態のコンテキストにおいて、コンピュータプログラムコードまたは関連するデータは、任意の適切なキャリアにおいて搬送され得て、これにより、機器、装置、またはプロセッサは、上記で説明される種々のタイプの処理および動作を実行することができる。キャリアの例は、信号、コンピュータ可読媒体、および同様のものを含む。
【0301】
信号の例は、電気信号、光信号、無線信号、音声信号、または搬送波および赤外線信号などの他の形態の伝播信号を含み得る。
【0302】
マシン可読媒体は、命令実行システム、装置、もしくは機器のためのプログラム、または命令実行システム、装置、もしくは機器に関するプログラムを含むか、または格納する任意の有形的な媒体とし得る。マシン可読媒体は、マシン可読信号媒体であってもよいし、またはマシン可読記憶媒体であってもよい。マシン可読媒体は、電子、磁気、光、電磁気、赤外線、もしくは半導体のシステム、装置、もしくは機器、またはそれらの任意の適切な組合せを含み得るが、これらに限定されない。マシン可読記憶媒体のより詳細な例は、一つまたは複数の配線に対する電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、消去可能プログラマブル読出専用メモリ(EPROMもしくはフラッシュメモリ)、光学ストレージ機器、磁気ストレージ機器、またはそれらの任意の適切な組合せを含む。
【0303】
便宜的で簡単な説明のために、上述したシステム、機器、およびモジュールの詳細な作業プロセスについて、上述した方法の実施形態における対応するプロセスを参照することが、当業者には明確に理解され得る。詳細については、本明細書では改めて説明しない。
【0304】
本出願に提供される幾つかの実施形態では、開示されるシステム、機器、および方法は、他の方式において実装され得ることは、理解されるべきである。例えば、記載された機器の実施形態は、単なる一例である。例えば、モジュールへの分割は、単に論理機能への分割であり、実際の適用時に他の分割モードが存在し得る。例えば、複数のモジュールまたはコンポーネントは、組み合わされてもよいし、もしくは別のシステムに一体化されてもよいし、または幾つかの特性が無視されてもよいし、もしくは実行されなくてもよい。さらに、表示または説明された相互結合もしくは直接結合、または通信接続は、幾つかのインターフェース、機器、もしくはモジュールを介して実装される間接結合もしくは通信接続であってもよいし、または電気的接続、機械的接続、もしくは他の形態の接続であってもよい。
【0305】
別々のコンポーネントとして説明されたモジュールは、物理的に別個であってもよいし、またはそうでなくてもよく、モジュールとして表示されたコンポーネントは、物理モジュールであってもよいし、またはそうでなくてもよく、具体的には、一つの位置に配置されてもよいし、または複数のネットワークモジュール上に分散されてもよい。モジュールの一部または全部は、本出願の実施形態における解決策の目的を実装するために、実際の要件に基づいて選択され得る。
【0306】
さらに、本出願の実施形態における機能モジュールは、一つの処理モジュールに一体化されてもよいし、またはモジュールの各々は、物理的に単独で存在してもよいし、または二つ以上のモジュールは、一つのモジュールに一体化されてもよい。一体化されたモジュールは、ハードウェアの形態において実装されてもよいし、またはソフトウェア機能モジュールの形態において実装されてもよい。
【0307】
一体化されたモジュールがソフトウェア機能モジュールの形態において実装され、独立の製品として販売または使用される場合、一体化されたモジュールは、コンピュータ可読記憶媒体に格納され得る。この理解に基づくと、本質的に本出願の技術的解決策、または従来技術に寄与する部分、または技術的解決策の全部もしくは一部は、ソフトウェア製品の形態において実装され得る。コンピュータソフトウェア製品は、記憶媒体に格納され、(パーソナルコンピュータ、サーバ、またはネットワーク機器とし得る)コンピュータ機器に、本出願の実施形態において記載された方法の手順の全部または一部を実行するように命令するための幾つかの命令を含む。上述した記憶媒体は、USBフラッシュドライブ、取外し可能ハードディスク、読出専用メモリ(read-only memory,ROM)、ランダムアクセスメモリ(random access memory,RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを格納することができる任意の媒体を含む。
【0308】
本出願では、「第一の」および「第二の」などの用語は、基本的に同じ機能を有する同じ品目、または類似の品目同士を区別するために使用される。「第一の」、「第二の」、および「第nの」が、論理依存関係または時系列依存関係を有することなく、数量および実行シーケンスを限定しないことは、理解されるべきである。以下の説明では、種々の要素について説明するために、「第一の」および「第二の」などの用語が使用されているが、これらの要素は、上述した用語によって限定されるべきでないことも、理解されるべきである。これらの用語は、単に、ある要素を別の要素から区別するために使用されている。例えば、種々の例の範囲から逸脱することなく、第一のネットワーク機器は、第二のネットワーク機器と呼ばれることがあり、同様に、第二のネットワーク機器は、第一のネットワーク機器と呼ばれることがある。第一のネットワーク機器および第二のネットワーク機器の両方は、任意タイプのネットワーク機器とし得て、場合によっては、別個の異なるネットワーク機器とし得る。
【0309】
本出願の実施形態では、上述した処理のシーケンス番号が実行シーケンスを意味しないことは、さらに理解されるべきである。処理の実行シーケンスは、処理の機能および内部論理に基づいて決定されるべきであり、本発明の実施形態の実装処理に対する限定と解釈されるべきではない。
【0310】
本出願では、用語「少なくとも一つの」は、一つまたは複数を意味し、用語「複数の」は、二つ以上を意味する。例えば、複数の第二のパケットは、二つ以上の第二のパケットを意味する。用語「システム」および「ネットワーク」は、しばしば、本明細書では互換的に使用される。
【0311】
本明細書における種々の例の説明において使用される用語は、単に特定の例を説明することを意図しており、限定を課すことを意図していない。種々の例の説明および添付の請求項において使用されるように、単数形「一つの(「a」または「an」)」および「the」は、コンテキストにおいて別段の明示的な指示が無い限り、複数形を含むことも意図している。
【0312】
本明細書において使用される用語「含む(include)」(「includes」、「including」、「comprises」、および/または「comprising」とも呼ばれる)が、記載された特徴、整数、手順、操作、要素、および/またはコンポーネントの存在を特定し、一つまたは複数の他の特徴、整数、手順、操作、要素、コンポーネント、および/もしくはそれらのコンポーネントの存在または追加が除外されないことは、さらに理解されるべきである。
【0313】
用語「もし(if)」は、「いつ」(「when」または「upon」)、「決定することに応じて」、または「検出することに応じて」を意味するものとして解釈され得ることは、さらに理解されるべきである。同様に、コンテキストによれば、「が決定された場合(if it is determined that)」または「(記載された条件もしく事象)が検出された場合」は、「が決定された場合」、または「決定することに応じて」、または「(記載された条件もしくは事象)が検出された場合」または「(記載された条件もしくは事象)を検出することに応じて」を意味するものとして解釈され得る。
【0314】
Aに基づいてBと決定することは、BがAのみに基づいて決定されることを意味するのではなく、Bが代替的にAおよび/または他の情報に基づいて決定され得ることは、理解されるべきである。
【0315】
本明細書全体を通して言及される「一つの実施形態」、「一実施形態」、および「可能な実装」が、実施形態または実装に関連する特定の特徴、構成、または特性が、本出願の少なくとも一つの実施形態に含まれることを意味することは、さらに理解されるべきである。したがって、本明細書全体を通して出現する「一つの実施形態では」、「一実施形態では」、および「可能な実装では」が、必ずしも同じ実施形態を指すとは限らない。さらに、これらの特定の特徴、構成、または特性は、任意の適切な方式を使用することによって、一つまたは複数の実施形態に組み合わされてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2024-08-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
符号化方法であって、
個の符号ストリームブロック群を取得するステップであって、任意の符号ストリームブロック群は、制御ブロックおよびデータブロックを含み、nは1を超える整数である、ステップと、
前記2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップであって、前記対象符号ブロックは、前記2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、前記2個の符号ストリームブロック群内の前記制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、ステップと
を備える、方法。
【請求項2】
前記タイプは、前記対象符号ブロックがデータ符号ブロックであることを示し、
前記データユニットは、前記2個の符号ストリームブロック群のシーケンスにおいて、前記2個の符号ストリームブロック群内の前記データブロックに対して前記第一の符号化を実行することにより取得される、
請求項1に記載の方法。
【請求項3】
前記タイプは、前記対象符号ブロックが制御符号ブロックであることを示し、
前記データユニットは、タイプ指示および符号ブロックコンテンツを含み、前記符号ブロックコンテンツは、前記2個の符号ストリームブロック群内の前記制御ブロックおよび前記データブロックに基づいて決定されるシーケンスにおいて、前記2個の符号ストリームブロック群内の前記データブロックに対して前記第一の符号化を実行することによって取得され、前記タイプ指示は、前記2個の符号ストリームブロック群内の前記制御ブロックに基づいて取得され、前記タイプ指示は、各符号ストリームブロック群のタイプを示す、
請求項1に記載の方法。
【請求項4】
前記対象符号ブロックが誤り符号ブロックであり、前記誤り符号ブロックが誤り指示データを含む、請求項3に記載の方法。
【請求項5】
前記対象符号ブロックは、誤り検出結果に基づいて、前記2個の符号ストリームブロック群を処理することによって取得され、前記誤り検出結果は、前記2個の符号ストリームブロック群内の前記制御ブロックおよび前記データブロックに基づいて取得される、請求項1ないし4の何れか一つに記載の方法。
【請求項6】
前記誤り検出結果は、前記2個の符号ストリームブロック群のコンテンツシーケンスエラー、またはコンテンツエラーを含み、前記対象符号ブロックは、前記2個の符号ストリームブロック群における、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックと、エラーブロックとに基づいて、前記第一の符号化を実行することによって取得され、前記エラーブロックは、前記2個の符号ストリームブロック群における、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される、請求項5に記載の方法。
【請求項7】
前記制御ブロックは、mビットからなり、前記データブロックは、8mビットからなり、mは正の整数である、請求項1ないし4の何れか一つに記載の方法。
【請求項8】
nの値は2であり、mの値は8であり、前記対象符号ブロックは257ビットである、請求項7に記載の方法。
【請求項9】
前記2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIからのものである、請求項1ないし4の何れか一つに記載の方法。
【請求項10】
前記対象符号ブロックを取得した後、
順方向誤り訂正(FEC)符号タイプに基づいて、前記対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するステップと、
前記第一のデータを送信するステップと
をさらに備える、請求項1ないし4の何れか一つに記載の方法。
【請求項11】
符号化装置であって、
個の符号ストリームブロック群を取得するように構成される取得モジュールであって、任意の符号ストリームブロック群は、制御ブロックおよびデータブロックを含み、nは1を超える整数である、取得モジュールと、
前記2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するように構成される第一の符号化モジュールであって、前記対象符号ブロックは、前記2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、前記2個の符号ストリームブロック群内の前記制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、第一の符号化モジュールと
を備える、装置。
【請求項12】
前記タイプは、前記対象符号ブロックがデータ符号ブロックであることを示し、前記データユニットは、前記2個の符号ストリームブロック群のシーケンスにおいて、前記2個の符号ストリームブロック群内の前記データブロックに対して前記第一の符号化を実行することによって取得される、請求項11に記載の装置。
【請求項13】
前記タイプは、前記対象符号ブロックが制御符号ブロックであることを示し、前記データユニットは、タイプ指示および符号ブロックコンテンツを含み、前記符号ブロックコンテンツは、前記2個の符号ストリームブロック群内の前記制御ブロックおよび前記データブロックに基づいて決定されるシーケンスにおいて、前記2個の符号ストリームブロック群内の前記データブロックに対して前記第一の符号化を実行することによって取得され、前記タイプ指示は、前記2個の符号ストリームブロック群内の前記制御ブロックに基づいて取得され、前記タイプ指示は、各符号ストリームブロック群のタイプを示す、請求項11に記載の装置。
【請求項14】
前記対象符号ブロックは、誤り符号ブロックであり、前記誤り符号ブロックは、誤り指示データを含む、請求項13に記載の装置。
【請求項15】
前記対象符号ブロックは、誤り検出結果に基づいて、前記2個の符号ストリームブロック群を処理することによって取得され、前記誤り検出結果は、前記2個の符号ストリームブロック群内の前記制御ブロックおよび前記データブロックに基づいて取得される、請求項11ないし14の何れか一つに記載の装置。
【請求項16】
前記誤り検出結果は、前記2個の符号ストリームブロック群のコンテンツシーケンスエラー、またはコンテンツエラーを含み、前記対象符号ブロックは、前記2個の符号ストリームブロック群における、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックと、エラーブロックとに基づいて、前記第一の符号化を実行することによって取得され、前記エラーブロックは、前記2個の符号ストリームブロック群における、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される、請求項15に記載の装置。
【請求項17】
前記制御ブロックはmビットを含み、前記データブロックは8mビットを含み、mは正の整数である、請求項11ないし14の何れか一つに記載の装置。
【請求項18】
nの値は2であり、mの値は8であり、前記対象符号ブロックは257ビットである、請求項17に記載の装置。
【請求項19】
前記2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIからのものである、請求項11ないし14の何れか一つに記載の装置。
【請求項20】
順方向誤り訂正FEC符号タイプに基づいて、前記対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するように構成される、第二の符号化モジュールと、
前記第一のデータを送信するように構成される送信モジュールと
をさらに備える、請求項11ないし14の何れか一つに記載の装置。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、通信技術の分野に関し、特に、符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体に関する。
【背景技術】
【0002】
通信技術の発展にともない、イーサネット上におけるパケット伝送方式は、ますます緻密化されている。パケット伝送中、メディアアクセス制御(media access control,MAC)層からのパケットは、固定長に基づいてブロックに分割され、次いで、ブロックは、並列にメディア独立インターフェース(media independent interface,MII)に移行する。例えば、パケットは、ブロックに分割され、次いで、ブロックは、800ギガビット(gigabit,G)MIIに並列に移行する。ここで、800G MIIは、800ギガビット/秒(gigabits per second,Gb/s)のMACレートで動作するMIIを表す。ブロックは、MIIを介して物理符号化副層(physical coding sublayer,PCS)に送信される。MIIからPCSによって受信された符号ストリームブロックには、データブロック(transmit data,TXD)および制御ブロック(transmit control,TXC)がまれる。TXCおよびTXDは、調停副層(reconciliation sublayer,RS)を介して、MAC層からのパケットフローコンテンツを処理することによって取得される。TXCは、制御文字であり、TXD内の対応するバイトのコンテンツが制御信号であるか、またはデータ信号であるかを識別し、制御信号には、パケットの開始、終了、エラー、およびアイドル状態などの情報が含まれる。PCSは、TXC/TXDのコンテンツに基づいて符号化を実行して、オーバーヘッドを削減し、必要な同期機能および保護機能を提供する。
【0003】
関連する技術では、PCSは、MIIからの各符号ストリームブロック群に対して64ビット(bit,B)/66Bの符号化を実行して、66ビット符号ブロックを取得する。ここで、66ビット符号ブロックは、データ符号ブロックまたは制御符号ブロックである。66ビット符号ブロックが制御符号ブロックである場合、66ビット符号ブロックは、4ビットのハミング距離保護付きフィールドを含む。高速物理リンクを使用することによってデータ伝送を実行する場合、4個の66ビット符号ブロック毎に、長さが257ビットである一つの256B/257Bの符号化ブロックにコード変換され、257ビット符号ブロックに対して順方向誤り訂正(Forward Error Correction,FEC)符号化が実行され、FEC符号化を通じて取得されたFEC符号語の伝送が実行される。
【0004】
訂正不可能なFEC符号語が存在する場合、FEC符号語内のエラービットの数量が多くなり、エラービットの位置が固定されていないため、66ビット符号ブロック内のハミング距離保護付きフィールドを使用することによっても、信頼性の高いエラービット識別を確保することができない。また、信頼性の高いエラービット識別は、FEC誤り指示を通じて実装され得るため、66ビット符号ブロック内のハミング距離保護付きフィールドを使用することによってエラービット識別を実装する必要はない。このことから、PCSにおける処理のほとんどが257ビット符号ブロックに基づくため、64B/66Bの符号化処理はもはや不要になる。64B/66Bの符号化処理が残されれば、後続のコード変換処理によって、不要な遅延、電力消費、およびチップ領域占有を引き起こすことになる。
【発明の概要】
【0005】
本出願は、符号化効率および復号化効率を向上させるために、符号化方法、復号化方法、装置、システム、および可読記憶媒体を提供する。
【0006】
第一の態様によれば、符号化方法が提供される。本方法は、以下を含む。すなわち、2個の符号ストリームブロック群を取得するステップであって、任意の符号ストリームブロック群は、制御ブロックおよびデータブロックを含み、nは1を超える整数である、ステップ。および、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップであって、対象符号ブロックは、2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、ステップ。
【0007】
制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群に対して第一の符号化を行うことにより、2個の符号ストリームブロック群の各群に対して64B/66B符号化を実行して、2個の66ビットの符号ブロックを取得したり、2個の66ビットの符号ブロックをコード変換したりすることなく、対象符号ブロックを取得することができ、これにより、符号化効率が向上し、符号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0008】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、データユニットは、2個の符号ストリームブロック群のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得される。
【0009】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示す。そして、データユニットは、タイプ指示および符号ブロックコンテンツを含み、符号ブロックコンテンツは、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得され、タイプ指示は、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、タイプ指示は、符号ストリームブロック群の各群のタイプを示す。
【0010】
可能な実装では、対象符号ブロックは、誤り符号ブロックであり、誤り符号ブロックは、誤り指示データを含む。本願における符号化方法によれば、様々なタイプの符号ストリームブロックに対して第一の符号化を実行して、対象符号ブロックを取得することができる。そのため、本方法は、広く適用される。
【0011】
可能な実装では、対象符号ブロックは、誤り検出結果に基づいて2個の符号ストリームブロック群を処理することによって取得され、誤り検出結果は、2個の符号ストリームブロック群の制御ブロックおよびデータブロックに基づいて取得される。また、エラーが発生した符号ストリームブロックが処理されて、対象符号ブロックを取得し、これにより、後続のデータ伝送において、エラーデータを正しいデータから区別して、データの信頼性を確保することができる。
【0012】
可能な実装では、誤り検出結果は、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含み、対象符号ブロックは、2個の符号ストリームブロック群のうち、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックと、エラーブロックとに基づいて第一の符号化を実行することによって取得され、エラーブロックは、2個の符号ストリームブロック群のうち、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される。
【0013】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0014】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0015】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIからのものである。
【0016】
可能な実装では、対象符号ブロックを取得した後、本方法は、以下をさらに含む。すなわち、FEC符号タイプに基づいて、対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するステップ。および、第一のデータを送信するステップ。第二の符号化は、第一のデータを取得するために、FEC符号タイプに基づいて、対象符号ブロックに対して実行され、これにより、受信側は、受信された第一のデータに対して誤り訂正を実行して、データ伝送精度を確保することができる。
【0017】
第二の態様によれば、復号化方法が提供される。本方法は、以下を含む。すなわち、対象符号ブロックを取得するステップであって、対象符号ブロックは、タイプおよびデータユニットを含む、ステップ。および、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップであって、任意の符号ストリームブロック群は、タイプおよびデータユニットに基づいて取得される、制御ブロックおよびデータブロックを含み、nは1を超える整数である、ステップ。
【0018】
対象符号ブロックをコード変換して、2個の66ビットの符号ブロックを取得したり、2個の66ビットの符号ブロックを復号化したりする必要がなく、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群は、対象符号ブロックに対して第一の復号化を実行することによって取得されるため、これにより、復号化効率が向上し、復号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0019】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、8mの長さを有するコンテンツに対して、第一の復号化を実行することによって取得され、mは正の整数であり、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。
【0020】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示し、データユニットは、タイプ指示および符号ブロックコンテンツを含み、タイプ指示は、2ビットを含み、2ビット内の1ビットは、そのビットに対応する一つの符号ストリームブロック群であって、2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、符号ブロックコンテンツは、2個のビットグ群を含む。
個の符号ストリームブロック内の符号ストリームブロック群iに含まれる制御ブロックは、タイプ、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビット、および符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得される。ここで、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。ならびに、
個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビットに基づき、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して、第一の復号化を実行することによって取得される。
【0021】
可能な実装では、2個のビット群は、第一のビット群と、2-1個の第二のビット群とを含み、第一のビット群に含まれるビットの数量は、第二のビット群に含まれるビットの数量と異なる。
【0022】
可能な実装では、データユニットは、タイプ指示を含み、タイプおよびタイプ指示は、対象符号ブロックが誤り符号ブロックであることを示す。そして、2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、第一の値および第二の値は、符号ストリームブロックが誤り符号ストリームブロックであることを示す。
【0023】
本願における復号化方法によれば、様々なタイプの対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得することができる。そのため、本方法は、広く適用される。
【0024】
可能な実装では、対象符号ブロックを取得するステップは、以下を含む。すなわち、第二のデータを受信するステップであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、ステップ。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得するステップであって、第二の復号化は、誤り訂正処理である、ステップ。
【0025】
可能な実装では、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される、誤り符号ブロックである。また、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される、符号ブロックであり、FEC符号語内の符号ブロックに対する誤り指示であり、これにより、受信側は、対象符号ブロックに基づいて取得されるデータがエラーデータであると判定して、データ精度を確保することができる。
【0026】
可能な実装では、対象符号ブロックを取得するステップは、以下を含む。すなわち、第二のデータを受信するステップであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される、第一のデータに基づいて取得される、ステップ。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得するステップであって、第二の復号化は、誤り訂正がバイパスされた誤り検出処理である、ステップ。
【0027】
可能な実装では、対象符号ブロックは、第二のデータからエラーが検出されるが、誤り訂正がバイパスされる場合に取得される誤り符号ブロックである。
【0028】
本出願にて提供される復号化方法について、第二の復号化操作は、符号語に対して、誤り訂正を実行するステップ、または誤り訂正がバイパスされる誤り検出を実行するステップとし得る。第二の復号化プロセスにおいて、符号語に対して誤り訂正が実行される場合、現行の符号語に対して誤り訂正を実行することができないと判定される(例えば、誤りの数量が誤り訂正能力を超える)場合、符号語内の全ての符号ブロックに対して、誤り指示を実行する必要がある。または、第二の復号化プロセスにおいて、符号語に対して誤り訂正がバイパスされた誤り検出のみを実行する場合、エラーが検出された符号語内の全ての符号ブロックに対して誤り指示を実行する必要がある。
【0029】
可能な実装では、2個の符号ストリームブロック群は、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得され、誤り検出結果は、対象符号ブロックのタイプおよびデータユニットに基づいて取得される。エラーが発生した対象符号ブロックが処理され、これにより、受信側は、エラーデータおよび正しいデータの間を区別して、データの信頼性を確保することができる。
【0030】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行することによって取得され、第二の符号ブロックは、対象符号ブロックを変換することによって取得される符号ブロックであって、対象符号ブロックと同じビット数量を有する符号ブロックである。
【0031】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、2個の最初の符号ストリームブロック群を変換することによって取得され、2個の第一の符号ストリームブロックは、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得される。
【0032】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0033】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0034】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIフォーマット内にある。
【0035】
第三の態様によれば、符号化装置が提供される。本装置は、以下を含む。すなわち、
個の符号ストリームブロック群を取得するように構成される取得モジュールであって、任意の符号ストリームブロック群は、制御ブロックおよびデータブロックを含み、nは1を超える整数である、取得モジュール。および、
個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するように構成される第一の符号化モジュールであって、対象符号ブロックは、2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む、第一の符号化モジュール。
【0036】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、データユニットは、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得される。
【0037】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示す。そして、データユニットは、タイプ指示および符号ブロックコンテンツを含み、符号ブロックコンテンツは、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得され、タイプ指示は、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、タイプ指示は、符号ストリームブロック群の各群のタイプを示す。
【0038】
可能な実装では、対象符号ブロックは誤り符号ブロックであり、誤り符号ブロックは誤り指示データを含む。
【0039】
可能な実装では、対象符号ブロックは、誤り検出結果に基づいて2個の符号ストリームブロック群を処理することによって取得され、誤り検出結果は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて取得される。
【0040】
可能な実装では、誤り検出結果は、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含み、対象符号ブロックは、2個の符号ストリームブロック群内の正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックと、2個の符号ストリームブロック群内のエラーブロックとに基づいて、第一の符号化を実行することによって取得され、エラーブロックは、2個の符号ストリームブロック群内のコンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される。
【0041】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0042】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0043】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIからのものである。
【0044】
可能な実装では、本装置は、以下をさらに含む。すなわち、
順方向誤り訂正FEC符号タイプに基づいて、対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するように構成される、第二の符号化モジュール。および、第一のデータを送信するように構成される、送信モジュール。
【0045】
第四の態様によれば、復号化装置が提供される。本装置は、以下を含む。すなわち、
対象符号ブロックを取得するように構成される取得モジュールであって、対象符号ブロックは、タイプおよびデータユニットを含む、取得モジュール。および、
対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するように構成される復号化モジュールであって、任意の符号ストリームブロック群は、タイプおよびデータユニットに基づいて取得される制御ブロックおよびデータブロックを含み、nは1を超える整数である、復号化モジュール。
【0046】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、8mの長さを有するコンテンツに対して、第一の復号化を実行することによって取得され、mは正の整数であり、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。
【0047】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示し、データユニットは、タイプ指示および符号ブロックコンテンツを含み、タイプ指示は、2ビットを含み、2ビット内の1ビットは、そのビットに対応する一つの符号ストリームブロック群であって、2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、符号ブロックコンテンツは、2個のビット群を含む。2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれる制御ブロックは、タイプ、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビット、および符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得され、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビットに基づいて、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して第一の復号化を実行するることによって取得される。
【0048】
可能な実装では、2個のビット群は、第一のビット群と、2-1個の第二のビット群とを含み、第一のビット群に含まれるビットの数量は、第二のビット群に含まれるビットの数量と異なる。
【0049】
可能な実装では、データユニットは、タイプ指示を含み、タイプおよびタイプ指示は、対象符号ブロックが誤り符号ブロックであることを示す。そして、2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、第一の値および第二の値は、符号ストリームブロックが誤り符号ストリームブロックであることを示す。
【0050】
可能な実装では、取得モジュールは、以下を行うように構成される。すなわち、第二のデータを受信することであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正処理である、こと。
【0051】
可能な実装では、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される符号ブロックである。
【0052】
可能な実装では、取得モジュールは、以下を行うように構成される。すなわち、第二のデータを受信することであって、第二のデータは、順方向誤り訂正FEC符号型を使用することによって符号化される第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正がバイパスされた誤り検出処理である。
【0053】
可能な実装では、対象符号ブロックは、第二のデータからエラーが検出されるが、誤り訂正がバイパスされる場合に取得される誤り符号ブロックである。
【0054】
可能な実装では、2個の符号ストリームブロック群は、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得され、誤り検出結果は、対象符号ブロックのタイプおよびデータユニットに基づいて取得される。
【0055】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行することによって取得され、第二の符号ブロックは、対象符号ブロックを変換することによって取得される符号ブロックであって、対象符号ブロックと同じビット数量を有する符号ブロックである。
【0056】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、2個の最初の符号ストリームブロック群を変換することによって取得され、2個の最初の符号ストリームブロック群は、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得される。
【0057】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0058】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0059】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIフォーマットである。
【0060】
第五の態様によれば、ネットワーク機器が提供される。本ネットワーク機器は、プロセッサを含み、このプロセッサはメモリに結合され、このメモリは少なくとも一つのプログラム命令またはコードを保存し、この少なくとも一つのプログラム命令またはコードは、プロセッサによってロードおよび実行されて、ネットワーク機器が第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実装することを可能にする。
【0061】
第六の態様によれば、コンピュータ可読記憶媒体が提供される。本記憶媒体は、少なくとも一つのプログラム命令またはコードを格納する。プログラム命令またはコードがロードされ、プロセッサによって実行されると、コンピュータは、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実装することが可能になる。
【0062】
第七の態様によれば、通信システムが提供される。本システムは、第一のネットワーク機器および第二のネットワーク機器を含み、第一のネットワーク機器は、第一の態様または第一の態様の可能な実装の何れか一つに従って符号化方法を実行するように構成され、第二のネットワーク機器は、第二の態様または第二の態様の可能な実装の何れか一つに従って復号化方法を実行するように構成される。
【0063】
第八の態様によれば、別の通信装置が提供され、本装置は、トランシーバ、メモリ、およびプロセッサを含む。トランシーバ、メモリ、およびプロセッサは、内部接続経路を介して相互に通信する。メモリは、命令を保存するように構成される。プロセッサは、メモリに保存された命令を実行して、トランシーバを制御して信号を受信し、トランシーバを制御して信号を送信するように構成される。さらに、プロセッサがメモリに保存された命令を実行すると、プロセッサは、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実行することが可能になる。
【0064】
例えば、一つまたは複数のプロセッサが存在し、一つまたは複数のメモリが存在する。
【0065】
例えば、メモリは、プロセッサと一体化されてもよいし、またはメモリおよびプロセッサは、別々に配置される。
【0066】
特定の実装プロセスでは、メモリは、非一過性(non-transitory)メモリ、例えば、読出専用メモリ(read-only memory,ROM)とし得る。メモリおよびプロセッサは、同一チップ上に集積されていてもよいし、または異なるチップ上に別々に配置されていてもよい。メモリの種類、ならびにメモリおよびプロセッサの配置態様は、本願では限定されない。
【0067】
第九の態様によれば、コンピュータプログラム製品が提供される。本コンピュータプログラム製品は、コンピュータプログラムコードを含む。コンピュータプログラムコードがコンピュータ上で実行されると、コンピュータは、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実行することが可能になる。
【0068】
第十の態様によれば、チップが提供される。本チップは、以下を行うように構成されるプロセッサを含む。すなわち、メモリから命令を起動し、メモリに保存された命令を実行して、チップがインストールされた通信機器が、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実行することを可能にすること。
【0069】
第十一の態様によれば、別のチップが提供される。本チップは、入力インターフェース、出力インターフェース、プロセッサ、およびメモリを含む。入力インターフェース、出力インターフェース、プロセッサ、およびメモリは、内部接続経路を介して接続される。プロセッサは、メモリ内のコードを実行するように構成される。コードが実行されると、プロセッサは、第一の態様もしくは第一の態様の可能な実装の何れか一つに従った符号化方法、または第二の態様もしくは第二の態様の可能な実装の何れか一つに従った復号化方法を実行するように構成される。
【図面の簡単な説明】
【0070】
図1】本出願の一実施形態による、符号化方法および復号化方法のための実装環境を示す模式図である。
図2】本出願の一実施形態による、符号化方法を示すフローチャートである。
図3】本出願の一実施形態による、対象符号ブロックを取得するプロセスを示す模式図である。
図4】本出願の一実施形態による、対象符号ブロックの構成を示す模式図である。
図5】本出願の一実施形態による、別の対象符号ブロックの構成を示す模式図である。
図6】本出願の一実施形態による、別の対象符号ブロックの構成を示す模式図である。
図7】本出願の一実施形態による、復号化方法を示すフローチャートである。
図8】本出願の一実施形態による、符号化装置の構成を示す模式図である。
図9】本出願の一実施形態による、復号化装置の構成を示す模式図である。
図10】本出願の一実施形態による、ネットワーク機器の構成を示す模式図である。
図11】本出願の一実施形態による、別のネットワーク機器の構成を示す模式図である。
図12】本出願の一実施形態による、別のネットワーク機器の構成を示す模式図である。
【発明を実施するための形態】
【0071】
本出願の実装にて使用される用語は、本出願の実施形態を説明するためにのみ使用され、本出願を限定することを意図していない。以下に、添付の図面を参照して、本出願の実施形態について説明する。
【0072】
ローカルエリアネットワーク技術として、イーサネットは、ますます広く適用されている。100ギガビットのイーサネット(gigabit ethernet,GE)以降、データ伝送は、単一レーン当たり25Gb/sの伝送レートで実行されている。受信されたデータにおけるエラービットを訂正するためには、物理層にFEC符号化を導入して、符号化を通じて取得されたFEC符号語の伝送を実行する。例えば、100Gレーンを介してデータ伝送が実行される場合、送信側は、リードソロモン(Reed-Solomon,RS)(528、514)を使用することによって、元のデータに対してFEC符号化を実行し得て、符号化を通じて取得される一つのRS符号語ブロックは、5140ビットのペイロードと、140ビットのチェックコードとを含む。チェックコードの存在に起因して、同じ時間内に同じペイロードを伝送するために必要とされる伝送レートについて、FEC符号語の伝送に必要とされ伝送レートは、元のデータの伝送に必要とされる伝送レートよりも高くなる。
【0073】
FEC符号語の伝送に必要とされる伝送レートを低減させるためには、イーサネット規格において、コード変換が使用されて、FEC符号化の前における符号ブロックのオーバーヘッドを低減させ、これにより、FEC符号語の伝送に必要とされる伝送レートを低減させる。例えば、4個の64B/66B符号化ブロック毎に、一つの256B/257Bの符号化ブロックにコード変換される。一つの257ビットの符号ブロックのオーバーヘッドが4個の66ビット符号ブロックのオーバーヘッドよりも低いため、FEC符号語の伝送に必要とされる伝送レートであって、257ビットの符号ブロックに基づいて取得される伝送レートの方が低くなる。100Gレーンを介してデータ伝送が実行される場合、FEC符号語の伝送に必要とされる伝送レートであって、コード変換された符号ブロック伝送に基づいて取得される伝送レートは、103.125Gb/sであり、この伝送レートは、FEC符号化が実行されない66ビットの符号ブロックの伝送に必要とされる伝送レートと同じである。
【0074】
FEC符号語を取得した後、受信側は、FEC符号語に対して誤り訂正を実行し得る。エラービットの識別は、FEC誤り指示を通じて実行されることがあり、PCSにおけるほとんどの処理は、257ビットの符号ブロックに基づいて実行される。そのため、64B/66Bの符号化処理、および対応するコード変換処理は、不要である遅延、電力消費、およびチップ面積占有を引き起こす。
【0075】
したがって、本出願の実施形態は、上述した問題を解決するために、データ伝送方法を提供する。本出願の実施形態では、制御ブロックおよびデータブロックを含む、2個の符号ストリームブロック群(nは1を超える整数である)の各群に対して第一の符号化を実行することにより、2個の符号ストリームブロック群の各群に対して64B/66Bの符号化を実行して、2個の66ビットの符号ブロックを取得したり、2個の66ビットの符号ブロックをコード変換したりすることなく、対象符号ブロックが取得される。そのため、符号化効率が向上し、符号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0076】
本出願の実施形態にて提供される方法によれば、対象符号ブロックに対して第一の復号化が実行される場合、対象符号ブロックに第一の復号化を直接実行することにより、対象符号ブロックをコード変換して、2個の66ビットの符号ブロックを取得したり、2個の66ビットの符号ブロックを復号したりする必要なしに、制御ブロックおよびデータブロックを含む、2個の符号ストリームブロック群が取得され得る。そのため、復号化効率が向上し、符号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0077】
本出願の実施形態にて提供される符号化方法および復号化方法は、現行イーサネットのインターフェースシナリオ、またはデータ伝送が必要とされる別のシナリオに適用可能である。図1に示される実装シナリオを一例として使用する。実装シナリオは、複数のチップを含み、チップ間において情報を交換して、データ伝送を実行することができる。例えば、チップ102が第一のネットワーク機器101に配置され、チップ104が第二のネットワーク機器103に配置され、チップ102およびチップ104の両方がFEC符号化およびFEC復号化をサポートし、第一のネットワーク機器101および第二のネットワーク機器103の間のチャネル105を、FEC符号化データの伝送に使用することができる。この場合、チップ102は、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得し、第一のFEC符号タイプに基づいて対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得し、チャネル105を介してチップ104に第一のデータを送信し得る。例えば、チャネル105を介した第一のデータの送信中にエラービットが発生することがあり、受信されたデータは、第二のデータと呼ばれる。第二のデータを受信した後、チップ104は、第一のFEC符号タイプを使用することによって、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得し、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得し得る。nは1を超える整数であり、第一のFEC符号タイプは、複数のRS符号、ボーズ・ショードゥリ・ホッケンヘム(Bose-Chaudhuri-Hocquenghem,BCH)符号、ハミング符号(Hamming code)、拡張BCH符号(extendedーBCH code)、拡張ハミング符号(extended-Hamming code)、ファイヤ(fire)符号、ターボ(turbo)符号、ターボ積符号(turbo product code,TPC)、階段(staircase)符号、低密度パリティチェック(low-density parity-check,LDPC)符号のうちの何れか一つ、またはそれらのカスケード接続された組み合わせを含むが、これらに限定されない。
【0078】
図1に示される実装シナリオが複数のネットワーク機器を含むことがあり、各ネットワーク機器が少なくとも一つのチップを含むことがあると理解され得る。図1では、二つのネットワーク機器が存在し、各ネットワーク機器が一つのチップを含む例のみを、説明のために使用する。
【0079】
図1に示される実装シナリオを参照すると、本出願の一実施形態にて提供される符号化方法が図2に示される。例えば、本出願の本実施形態にて提供される符号化方法は、図1におけるチップ102によって実行され、本方法は、ステップ201およびステップ202を含むが、これらに限定されない。
【0080】
ステップ201:2個の符号ストリームブロック群を取得する。ここで、任意の符号ストリームブロック群は制御ブロックおよびデータブロックを含み、nは1を超える整数である。
【0081】
可能な実装では、2個の符号ストリームブロック群の全てが、MIIからのものである。MIIに基づいて2個の符号ストリームブロック群を取得する方式は、本出願の本実施形態では限定されない。例えば、MIIは、2個の符号ストリームブロック群を取得するために、米国電気電子学会(the Institute of Electrical and Electronics Engineers,IEEE)802.3規格、例えば、IEEE 802.3-2018、およびIEEE 802.3規格の別のバージョンにおいて規定されるMIIである。例えば、具体的には、nの値は2であり、4個の符号ストリームブロック群が取得される。
【0082】
例えば、2個の符号ストリームブロック群のうちの任意群について、任意の符号ストリームブロック群内の制御ブロックは、mビットを含み、任意の符号ストリームブロック群内のデータブロックは、8mビットを含み、mは正の整数であり、8mはmの8倍を表し、8mは、代替的に、8*mとして表され得る。例えば、具体的には、mの値は8であり、任意の符号ストリームブロック群について、任意の符号ストリームブロック群内の制御ブロックは8ビットを含み、任意の符号ストリームブロック群内のデータブロックは64ビットを含む。可能な実装では、制御ブロックに含まれるmビットは、全て制御ビットであり、換言すると、制御ブロックは、m個の制御ビットを含む。そして、データブロックに含まれる8mビットは、全てデータであり、換言すると、データブロックは、8mビットのデータを含む。
【0083】
例えば、8個の制御ビットを含む制御ブロックは、TXC<7:0>として表され、64ビットデータを含むデータブロックは、TXD<63:0>として表され、制御ブロックおよびデータブロックの全ビットのシーケンスは、最上位ビット(most significant bit,MSB)から最下位ビット(least significant bit,LSB)までである。
【0084】
ステップ202:2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得する。ここで、対象符号ブロックは、2個の符号ストリームブロック群内の制御ブロックに基づいて決定されるタイプと、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されるデータユニットとを含む。
【0085】
例えば、各符号ストリームブロック群において、各制御ブロックは8ビットであり、各データブロックは64ビットである。第一の符号化は、4個の符号ストリームブロック群に対して実行されて、一つの257ビット対象符号ブロックを取得する。本出願の本実施形態では、n=2である場合を例として使用して説明する。nが別の値である場合、第一の符号化は、4個の符号ストリームブロック群毎に対して実行されて、複数の対象符号ブロックを取得し得る。例えば、具体的には、n=3である場合、8個の符号ストリームブロック群が取得される。第一の符号化は、4個の最初の符号ストリームブロック群に対して実行されて、一つの対象符号ブロックを取得してもよく、第一の符号化は、最後の4個の符号ストリームブロック群に対して実行されて、一つの対象符号ブロックを取得してもよい。
【0086】
可能な実装では、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップは、以下の符号化方式1および符号化方式2を含むが、これらに限定されない。
【0087】
符号化方式1において、対象符号ブロックのタイプは、2個の符号ストリームブロック群内の制御ブロックに基づいて、データ符号ブロックとして決定される。2個の符号ストリームブロック群内のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化が実行されて、データユニットを取得する。そして、対象符号ブロックは、タイプおよびデータユニットに基づいて取得される。
【0088】
例えば、符号化方式1において取得される対象符号ブロックについて、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、データユニットは、2個の符号ストリームブロック群のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得される。
【0089】
可能な実装では、2個の符号ストリームブロック群内の制御ブロックの各々が第一の指定値である場合、対象符号ブロックのタイプがデータ符号ブロックであると判定される。第一の指定値は、符号ストリームブロックのタイプがデータ符号ストリームブロックであることを示す。例えば、各符号ストリームブロック群内の制御ブロックは、TXC<7:0>として表され、第一の指定値は0x00である。各符号ストリームブロック群のTXC<7:0>が0x00である場合、各符号ストリームブロック群のタイプは、データ符号ストリームブロックである。
【0090】
可能な実装では、第一の符号化が、2個の符号ストリームブロック群のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して実行されて、データユニットを取得することは、以下を含む。すなわち、2個の符号ストリームブロック群のシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに含まれるビットをデータユニットのビットとして別途使用して、データユニットを取得すること。
【0091】
例えば、jは、4個の符号ストリームブロック群のうちの一つの群のシーケンス番号を表し、j=0、1、2、または3である。TXD_j<63:0>は、符号ストリームブロック群jにおけるデータブロックを表し、tx_coded<256:0>は、対象符号ブロックを表し、tx_coded<0>は、対象符号ブロックのタイプを表し、tx_coded<(64j+64):(64j+1)>は、対象符号ブロックのビット(64j+64)からビット(64j+1)までを表す。この場合、tx_coded<256:0>の各ビットは、以下の式1および式2において表記される。
tx_coded<0>=1(式1)、
tx_coded<(64j+64):(64j+1)>=TXD_j<63:0>、ここで、j=0、1、2、または3である(式2)。
【0092】
式1において、tx_coded<0>=1は、タイプがデータ符号ブロックであることを表す。式2では、tx_coded<(64j+64):(64j+1)>=TXD_j<63:0>は、各符号ストリームブロック群内のデータブロックにおける複数のビットがデータユニットにおける複数のビットとしてそれぞれ使用されることを表す。
【0093】
例えば、j=0である場合、tx_coded<64:1>=TXD_0<63:0>は、符号ストリームブロック群0内のデータブロックのビット63からビット0までが対象符号ブロックのビット64からビット1までとしてそれぞれ使用されることを表す。j=1である場合、tx_coded<128:65>=TXD_1<63:0>は、符号ストリームブロック群1内のデータブロックのビット63からビット0までが対象符号ブロックのビット128からビット65までとしてそれぞれ使用されることを表す。j=2である場合、tx_coded<192:129>=TXD_0<63:0>は、符号ストリームブロック群2内のデータブロックのビット63からビット0までが対象符号ブロックのビット192からビット129までとしてそれぞれ使用されることを表す。j=3である場合、tx_coded<256:193>=TXD_3<63:0>は、符号ストリームブロック群3内のデータブロックのビット63からビット0までが対象符号ブロックのビット256からビット193までとしてそれぞれ使用されることを表す。
【0094】
例えば、図3は、対象符号ブロックを取得するプロセスを示す模式図である。図3に示されるように、取得される4個の符号ストリームブロック群について、各符号ストリームブロック群において、各制御ブロックは、TXC<7:0>として表され、各データブロックは、TXD<63:0>として表される。4個の符号ストリームブロック群の各群内のTXC<7:0>が0x00である場合、対象符号ブロックのタイプは、データ符号ブロックである。例えば、対象符号ブロックのタイプは、対象符号ブロックのビット0に対応し、タイプがデータ符号ブロックであることを示す1にビット0が設定される。本出願の本実施形態は、タイプがデータ符号ブロックであることを示すための値にビット0を設定する方式に関する限定を課さない。4個の符号ストリームブロック群のシーケンスに基づくと、4個の符号ストリームブロック群内のデータブロックの複数のビットを、データユニットの複数のビットとして別々に使用して、データユニットを取得する。そのため、対象ビットは、タイプおよびデータユニットに基づいて取得することができる。
【0095】
例えば、取得される対象符号ブロックの構成を図4に示す。対象符号ブロックのビット0は、対象符号ブロックのタイプを示し、ビット0は、対象符号ブロックのタイプがデータ符号ブロックであることを示すために1に設定される。対象符号ブロックのビット1からビット256までは、対象符号ブロックのデータユニットを示し、D0は、符号ストリームブロック群0内の64ビットのデータブロックを表し、D1は、符号ストリームブロック群1内の64ビットのデータブロックを表し、D2は、符号ストリームブロック群2内の64ビットのデータブロックを表し、D3は、符号ストリームブロック群3内の64ビットのデータブロックを表す。
【0096】
符号化方式2において、対象符号ブロックのタイプは、2個の符号ストリームブロック群内の制御ブロックに基づいて、制御符号ブロックとして決定される。2個の符号ストリームブロック群の識別子値は、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、識別子値は、符号ストリームブロックのタイプを示す。2個の符号ストリームブロック群の識別子値は、タイプ指示として使用される。第一の符号化は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して実行されて、符号ブロックコンテンツを取得する。そして、対象符号ブロックは、タイプおよびデータユニットに基づいて取得され、データユニットは、タイプ指示および符号ブロックコンテンツを含む。
【0097】
例えば、符号化方式2において取得される対象符号ブロックは、タイプおよびデータユニットを含む。タイプは、対象符号ブロックが制御符号ブロックであることを示す。そして、データユニットは、タイプ指示および符号ブロックコンテンツを含み、符号ブロックコンテンツは、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化を実行することによって取得され、タイプ指示は、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、タイプ指示は、各符号ストリームブロック群のタイプを示す。例えば、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスは、2個の符号ストリームブロック群の受信シーケンスである。
【0098】
可能な実装では、2個の符号ストリームブロック群のうちの少なくとも一つの群内の制御ブロックが第二の指定値である場合、第二の指定値を使用することによって、対象符号ブロックのタイプが制御符号ブロックであると決定することができる。第二の指定値は、符号ストリームブロックのタイプが制御符号ストリームブロックであることを示し、第二の指定値は、第一の指定値とは異なる。換言すると、2個の符号ストリームブロック群のうちの少なくとも一つの群のタイプが制御符号ストリームブロックである場合、対象符号ブロックのタイプは、制御符号ブロックである。例えば、各符号ストリームブロック群内の制御ブロックは、TXC<7:0>として表され、第一の指定値は0x00である。符号ストリームブロック群のうちの一つの群のTXC<7:0>が0x00でない場合、対象符号ブロックは、制御符号ブロックである。
【0099】
例えば、2個の符号ストリームブロック群のうちの一つの群について、符号ストリームブロック群のタイプがデータ符号ストリームブロックである場合、符号ストリームブロック群の識別子値は、第三の指定値である。または、符号ストリームブロック群のタイプが制御符号ストリームブロックである場合、符号ストリームブロック群の識別子値は、第四の指定値である。例えば、第三の指定値は1であり、第四の指定値は0である。例えば、2個の符号ストリームブロック群の識別子値がタイプ指示として使用されることは、以下を含む。すなわち、2個の符号ストリームブロック群の識別子値は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、タイプ指示のビットとしてそれぞれ使用されて、タイプ指示を取得すること。
【0100】
例えば、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して第一の符号化が実行されて、符号ブロックコンテンツを取得することは、以下を含む。すなわち、第一の符号化は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内のデータブロックに対して実行されて、符号ストリームブロック群における最初の符号化コンテンツを取得し、符号ストリームブロック群における最初の符号化コンテンツは、符号ブロックコンテンツとして使用されること。
【0101】
可能な実装では、タイプがデータ符号ストリームブロックである(TXC<7:0>=0x00)2個の符号ストリームブロック群内の一つの符号ストリームブロック群について、符号ストリームブロック群における最初の符号化コンテンツは、符号ストリームブロック群のデータブロックのコンテンツである。タイプが制御符号ストリームブロックである2個の符号ストリームブロック群内の一つの符号ストリームブロック群について、符号ストリームブロック群の制御ブロックおよびデータブロックのケースに基づくと、符号ストリームブロック群における最初の符号化コンテンツは、以下のケースA1ないしケースA11を含むが、これらに限定されない。
【0102】
ケースA1:制御ブロックは0x01であり、データブロックのビット7からビット0までは0xFBであり、LSBは最初に送信されるビットである。
【0103】
例えば、ケースA1について、データブロックは、一つの制御バイトおよび7個のデータバイトを含み、データバイトは、オクテット(octet)とも呼ばれる。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットは、タイプフィールド(block type field,BTF)部分であり、BTF部分は0x8である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x78である。上述したケースの何れにおいても、その他の56ビットは、データブロックに含まれる7個のデータバイトのビットである。
【0104】
ケースA2:制御ブロックは0xFFであり、データブロックのビット(k+7)からビットkまでは、0x06、0x07、または0xFEのうちの少なくとも一つであり、k=0、1、2、3、4、5、6、または7であり、LSBは最初に送信されるビットである。
【0105】
例えば、ケースA2について、データブロックは8個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xEである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x1Eである。上述したケースに関わることなく、その他の56ビットは、データブロックに含まれる8個の制御バイトにおけるビット0からビット6までである。
【0106】
ケースA3:制御ブロックは0x01であり、データブロックのビット7からビット0までは0x9Cであり、LSBは最初に送信されるビットである。
【0107】
例えば、ケースA3について、データブロックは、一つの制御バイトおよび7個のデータバイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xBである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x4Bである。上述したケースに関わることなく、BTF部分の後の24ビットは、データブロックのビット31からビット8までである。データバイトの後の4ビットは、Oコード(O code)である。Oコードは、IEEE802.3規格に従って取得することができる。例えば、その他の28ビットは、複数の最初のパディングビットであり、複数の最初のパディングビットは、データブロックのデータバイトに基づいて取得されてもよく、または複数の最初のパディングビットは全て0である。
【0108】
ケースA4:制御ブロックは0xFFであり、データブロックのビット7からビット0までは0xFDであり、LSBは最初に送信されるビットである。
【0109】
例えば、ケースA4について、データブロックは、8個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x7である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x87である。上述したケースに関わることなく、BTF部分の後の7ビットは全て0であり、その他の49ビットは、データブロックに含まれる最後の7個の制御バイトにおけるビット6からビット0である。
【0110】
ケースA5:制御ブロックは0xFEであり、データブロックのビット15からビット8までは0xFDであり、LSBは最初に送信されるビットである。
【0111】
例えば、ケースA5について、データブロックは、一つのデータバイトおよび7個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x9である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0x99である。上述したケースに関わることなく、BTF部分の後の8ビットは、データブロックに含まれるデータバイトのビットであり、データバイトの後の6ビットは全て0であり、その他の42ビットは、データブロックに含まれる最後の6個の制御バイトにおけるビット6からビット0までである。
【0112】
ケースA6:制御ブロックは、0xFCであり、データブロックのビット23からビット16までは、0xFDであり、LSBは、最初に送信されるビットである。
【0113】
例えば、ケースA6について、データブロックは、2個のデータバイトおよび6個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xAである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xAAである。上述したケースに関わることなく、BTF部分の後の16ビットは、データブロックに含まれる2個のデータバイトのビットであり、データバイトの後の5ビットは全て0であり、その他の35ビットは、データブロックに含まれる最後の5個の制御バイトにおけるビット6からビット0までである。
【0114】
ケースA7:制御ブロックは0xF8であり、データブロックのビット31からビット24までは0xFDであり、LSBは最初に送信されるビットである。
【0115】
例えば、ケースA7について、データブロックは、3個のデータバイトおよび5個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x4である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xB4である。上述したケースに関わることなく、BTF部分の後の28ビットは、データブロックに含まれる3個のデータバイトのビットであり、データバイトの後の4ビットは全て0であり、その他の28ビットは、データブロックに含まれる最後の4個の制御バイトにおけるビット6からビット0までである。
【0116】
ケースA8:制御ブロックは0xF0であり、データブロックのビット39からビット32までは0xFDであり、LSBは最初に送信されるビットである。
【0117】
例えば、ケースA8について、データブロックは、4個のデータバイトおよび4個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xCである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xCCである。上述したケースに関わることなく、BTF部分の後の32ビットは、データブロックに含まれる4個のデータバイトのビットであり、データバイトの後の3ビットは全て0であり、その他の21ビットは、データブロックに含まれる最後の3個の制御バイトにおけるビット6からビット0までである。
【0118】
ケースA9:制御ブロックは0xE0であり、データブロックのビット47からビット40までは0xFDであり、LSBは最初に送信されるビットである。
【0119】
例えば、ケースA9について、データブロックは、5個のデータバイトおよび3個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x2である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xD2である。上述したケースに関わることなく、BTF部分の後の32ビットは、データブロックに含まれる5個のデータバイトのビットであり、データバイトの後の2ビットは全て0であり、その他の12ビットは、データブロックに含まれる最後の2個の制御バイトにおけるビット6からビット0までである。
【0120】
ケースA10:制御ブロックは0xC0であり、データブロックのビット55からビット48までは0xFDであり、LSBは最初に送信されるビットである。
【0121】
例えば、ケースA10について、データブロックは、6個のデータバイトおよび2個の制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0x1である。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xE1である。上述したケースに関わることなく、BTF部分の後の48ビットは、データブロックに含まれる6個のデータバイトのビットであり、データバイトの後の1ビットは0であり、その他の7ビットは、データブロックに含まれる最後の制御バイトにおけるビット6からビット0までである。
【0122】
ケースA11:制御ブロックは0x80であり、データブロックのビット63からビット56までは0xFDであり、LSBは最初に送信されるビットである。
【0123】
例えば、ケースA11について、データブロックは、7個のデータバイトおよび一つの制御バイトを含む。符号ストリームブロック群が第一の制御符号ストリームブロック群である場合、符号ストリームブロック群における最初の符号化コンテンツは60ビットであり、最初の4ビットはBTF部分であり、BTF部分は0xFである。符号ストリームブロック群が第一の制御符号ストリームブロック群でない場合、符号ストリームブロック群における最初の符号化コンテンツは64ビットであり、最初の8ビットはBTF部分であり、BTF部分は0xFFである。上述したケースに関わることなく、その他の56ビットは、データブロックに含まれる7個のデータバイトのビットである。
【0124】
したがって、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群における最初の符号化コンテンツは、符号ブロックコンテンツとして使用される。そのため、対象符号ブロックは、タイプ、タイプ指示、および符号ブロックコンテンツに基づいて取得することができる。
【0125】
例えば、jは、4個の符号ストリームブロック群のうちの一つの群のシーケンス番号を表し、j=0、1、2、または3である。TXC_j<7:0>は、符号ストリームブロック群jの制御ブロックを表し、tx_payload<251:0>は、4個の符号ストリームブロック群における最初の符号化コンテンツを表す。tx_coded<256:0>は、対象符号ブロックを表し、tx_coded<0>は、対象符号ブロックのタイプを表し、tx_coded<j+1>は、対象符号ブロックのタイプ指示を表し、tx_coded<256:5>は、対象符号ブロックの符号ブロックコンテンツを表す。この場合、tx_coded<256:0>のビットは、以下の式3ないし式5において示される。
tx_coded<0>=0(式3)
【0126】
【数1】
【0127】
tx_coded<256:5>=tx_payload<251:0>(式5)
【0128】
式3において、tx_coded<0>=0は、タイプが制御ブロックであることを表す。式4において、TXC_j<7:0>が0x00でない場合、jの値に対応する対象符号ブロックのビットは0である。または、TXC_j<7:0>が0x00である場合、jの値に対応する対象符号ブロックのビットは1である。式5において、tx_coded<(256:5)>=tx_payload<251:0>は、4個の符号ストリームブロック群における最初の符号化コンテンツの複数のビットが、複数のビットの符号ブロックコンテンツとして使用されることを表す。
【0129】
例えば、対象符号ブロックの構成を図5に示し、図5における0ないし3は、4個の符号ストリームブロック群のシーケンス番号をそれぞれ表す。図5において、左側は、取得される4個の符号ストリームブロック群のタイプを表し、Cは制御符号ストリームブロックを表し、Dはデータ符号ストリームブロックを表す。図5の右側は、様々なケースにおいて取得される対象符号ブロックの構成を示し、bはビットを表す。例えば、1bは1ビットを表し、4bは4ビットを表す。例えば、図5におけるケース1に対応する4個の符号ストリームブロック群のタイプは全て、制御符号ストリームブロックであり、第一の符号化を通じて取得される対象符号ブロックのビット0は0であり、ビット4からビット1までは全て0である。ビット8からビット5までは、f_0として表され、符号ストリームブロック群0における最初の符号化コンテンツ内のBTF部分に対応し、ビット64からビット9までは、符号ストリームブロック群0における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C0に対応する。ビット72からビット65までは、BTF1として表され、符号ストリームブロック群1における最初の符号化コンテンツ内のBTF部分に対応し、ビット128からビット73までは、符号ストリームブロック群1における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C1に対応する。ビット136からビット129までは、BTF2として表され、符号ストリームブロック群2における最初の符号化コンテンツ内のBTF部分に対応し、ビット192からビット137までは、符号ストリームブロック群2における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C2に対応する。そして、ビット200からビット193までは、BTF3として表され、符号ストリームブロック群3における最初の符号化コンテンツ内のBTF部分に対応し、ビット256からビット201までは、符号ストリームブロック群4における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C3に対応する。図5における他のケースの原理は、上述したケース1と同じである。例えば、ケース2では、対象符号ブロックのビット68からビット5までは、D0として表され、符号ストリームブロック群0の最初の符号化コンテンツに対応し、ビット72からビット69までは、f_1として表され、符号ストリームブロック群1における最初の符号化コンテンツ内のBTF部分に対応し、ビット128からビット73までは、符号ストリームブロック群1における最初の符号化コンテンツ内の他のコンテンツ、すなわち、C1に対応する。図5における他のケースについて、本明細書では改めて説明されない。
【0130】
可能な実装では、対象符号ブロックは、誤り符号ブロックであり、誤り符号ブロックは、誤り指示データを含む。例えば、2個の符号ストリームブロック群のうちの一つの群がデータ符号ストリームブロックに属することなく、かつ、上述したケースA1ないしA11のうちの何れの一つにも属さない場合、対象符号ブロックは誤り符号ブロックであると判定される。そして、2個の符号ストリームブロック群のタイプは、2個の符号ストリームブロック群内の制御ブロックに基づいて取得され、対象符号ストリームブロックのタイプ指示は、2個の符号ストリームブロック群のタイプに基づいて取得され、タイプおよびタイプ指示は、誤り符号ブロック内の誤り指示データとして使用される。例えば、対象符号ブロックのビット0は、タイプに対応し、ビット1からビット4までは、タイプ指示に対応し、ビット0は0に設定され、ビット1からビット4は全て、1に設定される。
【0131】
例えば、対象符号ブロックが誤り符号ブロックである場合、対象符号ブロックの構成を図6に示す。図6の左側は、取得される4個の符号ストリームブロック群のタイプを表し、Eは誤り符号ストリームブロックを表す。図6の右側は、対象符号ブロックの構成である。対象符号ブロックのビット0は0であり、ビット1からビット4までは全て1であり、ビット5からビット64までは、符号ストリームブロック群1に基づいて取得されるパディングコンテンツに対応し、ビット65からビット128までは、符号ストリームブロック群2に基づいて取得されるパディングコンテンツに対応し、ビット129からビット192までは、符号ストリームブロック群3に基づいて取得されるパディングコンテンツに対応し、ビット193からビット256までは、符号ストリームブロック群4に基づいて取得されるパディングコンテンツに対応する。例えば、パディングコンテンツの各ビットは0である。例えば、符号ストリームブロック群1に基づいて取得されるパディングコンテンツは、E0として表され、符号ストリームブロック群2に基づいて取得されるパディングコンテンツは、E1として表され、符号ストリームブロック群3に基づいて取得されるパディングコンテンツは、E2として表され、符号ストリームブロック群4に基づいて取得されるパディングコンテンツは、E3として表される。
【0132】
本出願の実施形態にて提供される符号化方法によれば、第一の符号化は、様々なタイプの符号ストリームブロックに対して実行されて、対象符号ブロックを取得することができる。そのため、本方法は、広く適用される。
【0133】
可能な実装では、2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップは、以下を含む。すなわち、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて、誤り検出結果を取得するステップ。および、誤り検出結果に基づいて2個の符号ストリームブロック群を処理し、処理された2個の符号ストリームブロック群に対して第一の符号化を実行して、対象符号ブロックを取得するステップ。換言すると、対象符号ブロックは、誤り検出結果に基づいて2個の符号ストリームブロック群を処理することによって取得され、誤り検出結果は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて取得される。
【0134】
例えば、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて誤り検出結果を取得するステップは、以下を含む。2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて2個の符号ストリームブロック群のコンテンツおよびコンテンツシーケンスを取得し、2個の符号ストリームブロック群のコンテンツおよびコンテンツシーケンスに基づいて誤り検出結果を取得するステップ。例えば、2個の符号ストリームブロック群のコンテンツシーケンスが第一のエラーケースセット内の少なくとも一つのケースである場合、2個の符号ストリームブロック群のコンテンツシーケンスにおいてエラーが生じる。2個の符号ストリームブロック群のコンテンツシーケンスが第一のエラーケースセット内の何れのケースでもない場合、2個の符号ストリームブロック群のコンテンツシーケンスは正しい。別の例として、2個の符号ストリームブロック群のコンテンツが第二のエラーケースセット内の少なくとも一つのケースである場合、2個の符号ストリームブロック群のコンテンツにおいてエラーが生じる。2個の符号ストリームブロック群のコンテンツが第二のエラーケースセット内の何れのエラーでもない場合、2個の符号ストリームブロック群のコンテンツは正しい。
【0135】
可能な実装では、符号ストリームブロックおいて隣接する二つの群を説明のための一例として使用し、第一のエラーケースセットは、以下の4ケースを含むが、これらに限定されない。
【0136】
(1)前者の符号ストリームブロック群が開始制御文字(/S/)を含む場合、後者の符号ストリームブロック群は、データバイト以外のコンテンツを含む。
【0137】
(2)前者の符号ストリームブロック群がデータバイトのみを含む場合、後者の符号ストリームブロック群は、データバイトまたは終了制御文字(/T/)以外のコンテンツを含む。
【0138】
(3)前者の符号ストリームブロック群が終了制御文字を含む場合、後者の符号ストリームブロック群は、アイドル制御文字(/I/)またはシーケンス順序集合制御文字(/O/)以外のコンテンツを含む。
【0139】
(4)前者の符号ストリームブロック群がアイドル制御文字またはシーケンス順序集合制御文字を含む場合、後者の符号ストリームブロック群は、データバイトまたは終了制御文字を含む。
【0140】
可能な実装では、一つの符号ストリームブロック群を説明のための一例として使用し、第二のエラーケースセットは、以下の4ケースを含むが、これらに限定されない。
【0141】
(1)開始制御文字を含む符号ストリームブロックの場合、開始制御文字の後に、データバイト以外のコンテンツが続く。
【0142】
(2)データバイトを含む符号ストリームブロックの場合、データバイトの後に、データバイトまたは終了制御文字以外のコンテンツが続く。
【0143】
(3)終了制御文字を含む符号ストリームブロックの場合、終了制御文字の後に、アイドル制御文字またはシーケンス順序集合制御文字以外のコンテンツが続く。
【0144】
(4)アイドル制御文字またはシーケンス順序集合制御文字を含む符号ストリームブロックの場合、アイドル制御文字またはシーケンス順序集合制御文字の後に、データバイトまたは終了制御文字が続く。
【0145】
例えば、誤り検出結果は、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含み、エラーブロックは、2個の符号ストリームブロック群内のコンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得され、第一の符号化は、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロック、ならびに2個の符号ストリームブロック群内のエラーブロックに対して実行されて、対象符号ブロックを取得する。換言すると、誤り検出結果が2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含む場合、対象符号ブロックは、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロック、ならびに2個の符号ストリームブロック群内のエラーブロックに基づいて、第一の符号化を実行することによって取得され、エラーブロックは、2個の符号ストリームブロック群内のコンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される。例えば、エラーブロックは、誤り制御文字(error control character)を含む。
【0146】
可能な実装では、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックについて、符号ストリームブロックのコンテンツが、誤り制御文字に変換されて、エラーブロックを取得する。例えば、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックは、第一の符号ストリームブロック群であり、符号ストリームブロックのコンテンツが、第一の誤り制御文字に変換され、第一の誤り制御文字は60ビットであり、最初の4ビットは0xEであり、それ以後において7ビット毎に0x1Eである。別の例として、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックが、第二の符号ストリームブロック群、第三の符号ストリームブロック群、または第四の符号ストリームブロック群のうちの少なくとも一つである場合、符号ストリームブロックのコンテンツは、第二の誤り制御文字に変換され、第二の誤り制御文字は64ビットであり、最初の8ビットは0x1Eであり、それ以後において7ビット毎に0x1Eである。
【0147】
例えば、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロック、ならびに2個の符号ストリームブロック群内のエラーブロックに対して第一の符号化が実行されて、対象符号ブロックを取得することは、以下を含む。すなわち、対象符号ブロックのタイプは、制御符号ブロックとして決定されること。2個の符号ストリームブロック群の識別子値が取得され、識別子値は、符号ストリームブロックのタイプを示し、2個の符号ストリームブロック群の識別子値は、タイプ指示として使用されること。および、第一の符号化が、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、エラーブロック、ならびに2個の符号ストリームブロック群内の正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックのデータブロックに対して実行されて、符号ブロックコンテンツを取得すること。
【0148】
例えば、第一の符号化は、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックに基づいて決定されたシーケンスにおいて、2個の符号ストリームブロック群内の正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックのデータブロックに対して実行されて、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ブロックコンテンツを取得し、対象符号ブロックは、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックにおける最初の符号化コンテンツ、ならびにエラーブロックに基づいて取得される。正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックのデータブロックに対して第一の符号化を実行する方式については、タイプがデータ符号ストリームブロックである符号ストリームブロック、およびタイプが制御符号ストリームブロックである符号ストリームブロックに対して第一の符号化を実行する上述した関連する内容を参照されたい。詳細については、本明細書では改めて説明しない。
【0149】
例えば、2個の符号ストリームブロック群の各群が、コンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックである場合、第一の符号化は、2個の符号ストリームブロック群に基づいて取得された2個のエラーブロックに対して実行されて、対象符号ブロックを取得し、対象符号ブロックは、誤り符号ブロックである。
【0150】
エラーが発生した符号ストリームブロックは、以後のデータ伝送においてエラーデータを正しいデータから区別することができるように処理されて、データ信頼性を確保する。
【0151】
例えば、対象符号ブロックが取得された後、本方法は、以下をさらに含む。すなわち、FEC符号タイプに基づいて対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するステップ。および、第一のデータを送信するステップ。FEC符号タイプに基づいて対象符号ブロックに対して第二の符号化を実行する方式は、本出願の本実施形態では限定されない。第二の符号化が、FEC符号タイプに基づいて対象符号ブロックに対して実行されて、第一のデータを取得し、これにより、受信側は、受信された第一のデータに対して誤り訂正を実行して、データ伝送精度を確保することができる。
【0152】
本出願の実施形態にて提供される符号化方法によれば、対象符号ブロックが、2個の符号ストリームブロック群の各群に対して64B/66B符号化を実行して、2個の66ビット符号ブロックを取得したり、2個の66ビット符号ブロックをコード変換したりする必要なしに、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群に対して第一の符号化を実行することによって取得される。そのため、符号化効率が向上し、符号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0153】
以上、本出願の実施形態にて提供される符号化方法について説明している。以下では、本出願の実施形態にて提供される復号化方法について説明する。図1に示される実装シナリオを参照すると、本出願の一実施形態にて提供される復号化方法は、図7に示されている。例えば、本出願の本実施形態にて提供される復号化方法は、図1におけるチップ104によって実行され、本方法は、ステップ701およびステップ702を含むが、これらに限定されない。
【0154】
ステップ701:対象符号ブロックを取得する。ここで、対象符号ブロックは、タイプおよびデータユニットを含む。
【0155】
例えば、図1における実装シナリオを参照すると、チップ102は、チャネル105を介してチップ104に、FEC符号タイプを使用することによって、符号化された第一のデータを送信する。データ伝送プロセスでは、第一のデータにおいてエラービットが発生する。エラービットが発生するデータは、第二のデータと呼ばれ、チップ104は、チャネル105を介して第二のデータを受信する。
【0156】
可能な実装では、対象符号ブロックを取得するステップは、以下の方式Aおよび方式Bを含むが、これらに限定されない。
【0157】
方式A:第二のデータが受信されることであって、第二のデータは、FEC符号タイプを使用することによって符号化された第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化が実行されて、対象符号ブロックを取得することであって、第二の復号化は誤り訂正処理である、こと。
【0158】
例えば、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される誤り符号ブロックである。例えば、第二の復号化が第二のデータに実行されて、対象符号ブロックを取得することは、以下を含む。すなわち、FEC符号タイプに基づいて第二のデータが処理されて第一の符号語を取得し、第一の符号語に対して誤り訂正処理が実行され、誤り訂正処理の結果に基づいて対象符号ブロックが取得される、こと。
【0159】
例えば、チップ104は、FECデコーダの機能を有する。FECデコーダは、エラービットの数量がFECデコーダの誤り訂正能力を超えていると判定した場合、換言すると、誤り訂正を第一の符号語に対して実行することができないと判定した場合、第一の符号語内の全ての符号ブロックを誤り符号ブロックとしてマークする。そのため、誤り訂正処理の結果が、第一の符号語内の全ての符号ブロックが誤り符号ブロックとしてマークされることである場合、取得される対象符号ブロックは、誤り符号ブロックである。
【0160】
例えば、誤り訂正処理の結果が、第一の符号語に対する誤り訂正が成功することである場合、訂正された第一の符号語に基づいて取得される符号ブロックは、取得される対象符号ブロックとして使用され、訂正された第一の符号語に基づいて取得される符号ブロックは、正常に訂正された符号ブロックである。
【0161】
方式B:第二のデータが受信されることであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化された第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化が実行されて、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正がバイパスされる誤り検出処理である、こと。
【0162】
例えば、対象符号ブロックは、第二のデータに対して誤り訂正がバイパスされる誤り検出処理を通じて取得される、誤り符号ブロックである。例えば、第二の復号化が第二のデータに対して実行されて、対象符号ブロックを取得することは、以下を含む。すなわち、FEC符号タイプに基づいて第二のデータが処理されて第一の符号語を取得し、誤り訂正がバイパスされる(バイパス訂正)誤り検出処理が第一の符号語に対して実行されること。および、誤り訂正がバイパスされる誤り検出処理の結果に基づいて、対象符号ブロックが取得されること。
【0163】
例えば、チップ104は、FECデコーダの機能を有する。第一の符号語内にエラーが存在することを検出する場合、FECデコーダは、第一の符号語内の全ての符号ブロックを誤り符号ブロックとしてマークする。そのため、誤り訂正がバイパスされる誤り検出処理の結果が、第一の符号語内の全ての符号ブロックが誤り符号ブロックとしてマークされることである場合、取得される対象符号ブロックは、誤り符号ブロックである。
【0164】
例えば、誤り訂正がバイパスされる誤り検出処理の結果が、第一の符号語にはエラーが無いことである場合、第一の符号語に基づいて取得される符号ブロックは、取得される対象符号ブロックとして使用され、第一の符号語に基づいて取得される符号ブロックは、エラー無しの符号ブロックである。
【0165】
例えば、対象符号ブロックに基づいて実行されたフレームチェックシーケンス(frame check sequence,FCS)フレームチェックが失敗する。例えば、対象符号ブロックは257ビットであり、最初の5ビットは01111であり、その他の252ビットは、以下の3ケースを含むが、これらに限定されない。すなわち、(1)最初の4ビットは0x1であり、その他のビットにおいて8ビット毎に0x1Eである。(2)最初の248ビットにおいて8ビット毎に0x1Eであり、最後の4ビットは0x1である。(3)各ビットは0である。
【0166】
ステップS702:対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得する。ここで、任意の符号ストリームブロック群は、タイプおよびデータユニットに基づいて取得される制御ブロックおよびデータブロックを含み、nは1を超える整数である。
【0167】
例えば、対象符号ブロックは257ビットであり、各符号ストリームブロック群において、制御ブロックは8ビットであり、データブロックは64ビットである。一つの対象符号ブロックに対して第一の復号化が実行されて、4個の符号ストリームブロック群(n=2)を取得する例を、説明のために使用する。複数の対象符号ブロックが取得される場合、第一の復号化が、各対象符号ブロックに対して実行されて、2個の符号ストリームブロック群を取得し得る。例えば、二つの対象符号ブロックが取得される場合、第一の復号化が、二つの符号ブロックの各々に対して実行されて、4個の符号ストリームブロック群を取得し得る、換言すると、第一の復号化が、二つの対象符号ブロックに対して実行されて、8個の符号ストリームブロック群を取得する。
【0168】
可能な実装では、対象符号ブロックのタイプおよびデータユニットに基づいて対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップは、以下の復号化方式1ないし復号化方式3を含むが、これらに限定されない。
【0169】
復号化方式1では、対象符号ブロックのタイプは、対象符号ブロックのタイプに基づいてデータ符号ブロックとして決定され、対象符号ブロックのデータユニットは、8mの長さをそれぞれ有する2個のコンテンツを含み、mは正の整数である、こと。および、2個の符号ストリームブロック群内の制御ブロックは、対象符号ブロックのタイプに基づいて取得され、第一の復号化は、8mの長さをそれぞれ有し、データユニットに含まれる、2個のコンテンツに対して別々に実行されて、2個の符号ストリームブロック群内のデータブロックを取得する、こと。
【0170】
例えば、対象符号ブロックがデータ符号ブロックであることをタイプが示す場合、第一の復号化は、復号化方式1において対象符号ブロックに対して実行されて、2個の符号ストリームブロック群を取得する。2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、8mの長さを有するコンテンツに対して、第一の復号化を実行することによって取得され、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。
【0171】
可能な実装では、対象符号ブロックのタイプは、対象符号ブロックがデータ符号ブロックであることを示す1であり、対象符号ブロックのデータユニットは、8mの長さをそれぞれ有する4個のコンテンツを含み、8mの長さを有する一つのコンテンツは、一つの符号ストリームブロック群に対応する。例えば、8mの長さは64ビットである。4個の符号ストリームブロック群内の制御ブロックは全て、0x00に設定され、4個の64ビットコンテンツは、4個の符号ストリームブロック群内のデータブロックのコンテンツとしてそれぞれ使用される。
【0172】
例えば、jは4個の符号ストリームブロック群のうちの一つの群のシーケンス番号を表し、j=0、1、2、または3である。RXC_j<7:0>は、符号ストリームブロック群j内の制御ブロックを表し、RXD_j<63:0>は、符号ストリームブロック群j内のデータブロックを表し、rx_coded<256:0>は、対象符号ブロックを表し、rx_coded<0>は、対象符号ブロックのタイプを表し、rx_coded<(64j+64):(64j+1)>は、対象符号ブロックのビット(64j+64)からビット(64j+1)までを表し、RXC_j<7:0>およびRXD_j<63:0>のコンテンツは、以下の式6および式7に表記される。すなわち、
RXC_j<7:0>=0x00、ここで、j=0、1、2、または3であり(式6)、
RXD_j<63:0>=rx_coded<(64j+64):(64j+1)>、ここで、j=0、1、2、または3である(式7)。
【0173】
式6において、RXC_j<7:0>=0x00は、各符号ストリームブロック群内の制御ブロックが0x00であることを示す。式7において、RXD_j<63:0>=rx_coded<(64j+64):(64j+1)>であることは、符号ストリームブロックの一つの群内のデータブロックの64ビットとして使用される。
【0174】
例えば、j=0である場合、RXD_0<63:0>=rx_coded<64:1>は、対象符号ブロックのビット64からビット1までが、符号ストリームブロック群0内のデータブロックのビット63からビット0までとしてそれぞれ使用される。j=1である場合、RXD_1<63:0>=rx_coded<128:65>は、対象符号ブロックのビット128からビット65までが、符号ストリームブロック群1内のデータブロックのビット63からビット0までとしてそれぞれ使用される。j=2である場合、RXD_2<63:0>=rx_coded<192:129>は、対象符号ブロックのビット192からビット129までが、符号ストリームブロック群2内のデータブロックのビット63からビット0までとしてそれぞれ使用される。j=3である場合、RXD_3<63:0>=rx_coded<256:193>は、対象符号ブロックのビット256からビット193までが、符号ストリームブロック群3内のデータブロックのビット63からビット0として使用される。
【0175】
復号化方式2:対象符号ブロックのタイプは、対象符号ブロックのタイプに基づいて制御符号ブロックとして決定され、対象符号ブロックのデータユニットは、タイプ指示および符号ブロックコンテンツを含み、タイプ指示は、2個のビットを含み、2個のビット内の1ビットは、そのビットに対応する一つの符号ストリームブロック群であって、2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、符号ブロックコンテンツは、2個のビット群を含む、こと。2個の符号ストリームブロック群内の制御ブロックは、タイプ、2個の符号ストリームブロック群に対応するビットであって、タイプ指示内にあるビット、および2個の符号ストリームブロック群に対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得される、こと。および、第一の復号化は、2個の符号ストリームブロック群に対応するビットであって、タイプ指示内にあるビット、および2個の符号ストリームブロック群に対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して実行されて、2個の符号ストリームブロック群内のデータブロックを取得する、こと。
【0176】
例えば、対象符号ブロックが制御符号ブロックであることをタイプが示す場合、第一の復号化は、復号化方式2において対象符号ブロックに対して実行されて、2個の符号ストリームブロック群を取得する。2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれる制御ブロックは、タイプ、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビット、および符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得され、iは1以上2以下の整数であるか、またはiは、0以上2-1以下の整数である。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビットに基づいて、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して第一の復号化を実行することによって取得される。例えば、ビット群は、複数のビットのセットである。
【0177】
例えば、タイプ指示内の1ビットが1である場合、そのビットに基づいて取得される符号ストリームブロックのタイプは、データ符号ストリームブロックであるか、またはタイプ指示内の1ビットが0である場合、そのビットに基づいて取得される符号ストリームブロックのタイプは、制御符号ストリームブロックである。
【0178】
可能な実装では、2個のビット群は、第一のビット群および2-1個の第二のビット群を含み、第一のビット群に含まれるビットの数量は、第二のビット群に含まれるビットの数量とは異なる。例えば、タイプ指示の1ビットは、符号ブロックコンテンツにおける一つのビット群に対応する。例えば、図5に示される対象符号ブロックの構成を、説明のための例として使用する。ケース1について、タイプ指示は4ビットを含み、符号ブロックコンテンツは4個のビット群を含む。タイプ指示の最初のビットは、第一のビット群に対応し、第一のビット群は、対象符号ブロックのビット5からビット64までである。タイプ指示の二番目のビットは、一つの第二のビット群に対応し、第二のビット群は、対象符号ブロックのビット65からビット128までに対応する。タイプ指示の三番目のビットは、一つの第二のビット群に対応し、三番目のビットに対応する第二のビット群は、対象符号ブロックのビット129からビット192までである。そして、タイプ指示の四刃番目のビットは、一つの第二のビット群に対応し、四番目のビットに対応する第二のビット群は、対象符号ブロックのビット193からビット256までである。ケース2について、タイプ指示は4ビットを含み、符号ブロックコンテンツは、4個のビット群を含む。タイプ指示の最初のビットは、一つの第二のビット群に対応し、最初のビットに対応する第二のビット群は、対象符号ブロックのビット5からビット67までであり、タイプ指示の二番目のビットは、第一のビット群に対応し、第一のビット群は、対象符号ブロックのビット68からビット128までに対応する。そして、タイプ指示の三番目のビットは、一つの第二のビット群に対応し、三番目のビットに対応する第二のビット群は、対象符号ブロックのビット129からビット192までである。そして、タイプ指示の四番目のビットは、一つの第二のビット群に対応し、四番目のビットに対応する第二のビット群は、対象符号ブロックのビット193からビット256までである。他のケースの原理は、上述したケース1およびケース2と同じである。詳細については、本明細書では改めて説明しない。
【0179】
可能な実装では、タイプ指示の1ビットについて、そのビットが1である場合、タイプ、そのビット、およびそのビットに対応するビット群に基づいて取得される符号ストリームブロックの制御ブロックは0x00であり、そのビットに基づいて、そのビットに対応するビット群に対して第一の復号化を実行することによって取得される符号ストリームブロックのデータブロックのコンテンツは、ビット群のコンテンツである。そのビットが0である場合、そのビットの位置、およびそのビットに対応するビット群のステータスに基づいて、取得される符号ストリームブロックの制御ブロックおよびデータブロックは、以下のケースB1ないしB11を含むが、これらに限定されない。
【0180】
ケースB1:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x8である。または、そのビットは、値が0である最初のビットではなく、このビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x78である。
【0181】
例えば、ケースB1について、そのビットに対応するビット群内のBTF部分の後に、7個のデータバイトが含まれる。符号ストリームブロックの制御ブロックは0x01であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット7からビット0までは0xFBであり、他の56ビットは、そのビットに対応するビット群における7個のデータバイトのビットである。LSBは、最初に送信されるビットである。
【0182】
ケースB2:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xEであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x1Eであること。
【0183】
例えば、ケースB2について、そのビットに対応するビット群におけるBTF部分の後に8個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xFFであり、符号ストリームブロックのデータブロックは64ビットである。データブロックの64ビットは、8個の制御ビット群に基づいて取得され、データブロックの8ビット毎に、一つの制御ビット群に基づいている。各制御ビット群に基づいてデータブロックの各ビットを取得する方式は、本出願の本実施形態では限定されない。例えば、データブロックの各ビットは、IEEE802.3規格に従って各制御ビット群に基づいて取得される。例えば、データブロックのビットk+7からビットkまでは、0x06、0x07、または0xFEのうちの少なくとも一つであり、k=0、1、2、3、4、5、6、または7である。LSBは、最初に送信されるビットである。
【0184】
ケースB3:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xBであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x4Bであること。
【0185】
例えば、ケースB3について、そのビットに対応するビット群におけるBTF部分の後に3個のデータバイト、一つの4ビットOコード、および複数の最初のパディングビットが含まれる。符号ストリームブロックの制御ブロックは0x01であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット7からビット0までは0x9Cであり、データブロックのビット31からビット8までは、3個のデータバイトのビットであり、その他の32ビットは、複数の最初のパディングビットに基づいて取得される。LSBは、最初に送信されるビットである。複数の最初のパディングビットに基づいてその他の32ビットを取得する方式は、本出願の本実施形態では限定されない。
【0186】
ケースB4:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x7であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x87であること。
【0187】
例えば、ケースB4について、そのビットに対応するビット群におけるBTF部分の後に一つの7ビット終了制御文字および7個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xFFであり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット7からビット0までは0xFDであり、その他の56ビットは、7個の制御ビット群に基づいて取得され、その他の56ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0188】
ケースB5:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x9であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0x99であること。
【0189】
例えば、ケースB5について、そのビットに対応するビット群におけるBTF部分の後に、一つのデータバイト、一つの6ビット終了制御文字、および6個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xFEであり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット7からビット0までは、データバイトのビットであり、データブロックのビット15からビット8までは0xFDであり、その他の48ビットは、6個の制御ビット群に基づいて取得され、その他の48ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0190】
ケースB6:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xAであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xAAであること。
【0191】
例えば、ケースB6について、そのビットに対応するビット群におけるBTF部分の後に、2個のデータバイト、一つの5ビット終了制御文字、および5個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xFCであり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット15からビット0までは、2個のデータバイトのビットに基づいて取得され、データブロックのビット23からビット16までは0xFDであり、その他の40ビットは、5個の制御ビット群に基づいて取得され、その他の40ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0192】
ケースB7:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x4であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xB4であること。
【0193】
例えば、ケースB7について、そのビットに対応するビット群におけるBTF部分の後に、3個のデータバイト、一つの4ビット終了制御文字、および4個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xF8であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット23からビット0までは、3個のデータバイトのビットに基づいて取得され、データブロックのビット31からビット24までは0xFDであり、その他の32ビットは、4個の制御ビット群に基づいて取得され、その他の32ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0194】
ケースB8:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xCであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xCCであること。
【0195】
例えば、ケースB8について、そのビットに対応するビット群におけるBTF部分の後に、4個のデータバイト、一つの3ビット終了制御文字、および3個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xF0であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット31からビット0までは、4個のデータバイトのビットに基づいて取得され、データブロックのビット39からビット32までは0xFDであり、その他の24ビットは、3個の制御ビット群に基づいて取得され、その他の24ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0196】
ケースB9:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x2であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xD2であること。
【0197】
例えば、ケースB9について、そのビットに対応するビット群におけるBTF部分の後に、5個のデータバイト、一つの2ビット終了制御文字、および2個の制御ビット群が含まれ、各制御ビット群は、7ビットを含む。符号ストリームブロックの制御ブロックは0xE0であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット39からビット0までは、5個のデータバイトのビットに基づいて取得され、データブロックのビット47からビット40までは0xFDであり、その他の16ビットは、2個の制御ビット群に基づいて取得され、その他の16ビットにおける8ビットが取得される毎に、一つの制御ビット群に基づいている。LSBは、最初に送信されるビットである。
【0198】
ケースB10:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0x1であること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xE1であること。
【0199】
例えば、ケースB10について、そのビットに対応するビット群におけるBTF部分の後に、6個のデータバイト、一つの1ビット終了制御文字、および一つの7ビット制御ビット群が含まれる。符号ストリームブロックの制御ブロックは0xC0であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット47からビット0までは、6個のデータバイトのビットに基づいて取得され、データブロックのビット55からビット48までは0xFDであり、その他の8ビットは、制御ビット群に基づいて取得される。LSBは、最初に送信されるビットである。
【0200】
ケースB11:上述したビットは、値が0である最初のビットであり、そのビットに対応するビット群の最初の4ビットはBTF部分であり、BTF部分は0xFであること。または、そのビットは、値が0である最初のビットではなく、そのビットに対応するビット群の最初の8ビットはBTF部分であり、BTF部分は0xFFであること。
【0201】
例えば、ケースB11について、そのビットに対応するビット群におけるBTF部分の後に7個のデータバイトが含まれる。符号ストリームブロックの制御ブロックは0x80であり、符号ストリームブロックのデータブロックは64ビットである。データブロックのビット55からビット0までは、7個のデータバイトのビットに基づいて取得され、データブロックのビット63からビット56までは0xFDである。LSBは、最初に送信されるビットである。
【0202】
幾つかの実施形態では、2個の符号ストリームブロック群内の制御ブロックは、タイプ、2個の符号ストリームブロック群に対応するビットであって、タイプ指示内にあるビット、および2個の符号ストリームブロック群に対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得され、第一の復号化が、2個の符号ストリームブロック群に対応するビットであって、タイプ指示内にあるビット、および2個の符号ストリームブロック群に対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して実行されて、2個の符号ストリームブロック群内のデータブロックを取得することは、以下を含む。すなわち、2個の64ビットの第三のビット群は、2個のビット群に基づいて取得されること。2個の符号ストリームブロック内の制御ブロックは、タイプ、2個の符号ストリームブロックに対応するビットであって、タイプ指示内にあるビット、および2個の第三のビット群に基づいて取得されること。および、第一の復号化は、2個の符号ストリームブロックに対応するビットであって、タイプ指示内にあるビットに基づいて、2個の第三のビット群に対して実行されて、2個の符号ストリームブロック内のデータブロックを取得すること。
【0203】
例えば、値が0である最初のビットについて、そのビットに対応するビット群は、4ビットBTF部分を含み、4ビットBTF部分に基づいて8ビットBTF部分が取得されて、第三のビット群を取得する。例えば、4ビットBTF部分に基づいてIEEE802.3規格が照会されて、8ビットBTF部分を取得するか、または4ビットBTF部分に基づいて4ビットBTF部分および8ビットBTF部分の対応テーブルが照会されて、8ビットBTF部分を取得する。
【0204】
クエリーが成功した場合、具体的には、IEEE802.3規格は、4ビットBTF部分に対応する8ビットBTF部分を含むか、または対応テーブルは、4ビットBTF部分に対応する8ビットBTF部分を含む場合、8ビットBTF部分は、取得された8ビットBTF部分として使用される。クエリーが失敗した場合、具体的には、IEEE802.3規格は、4ビットBTF部分に対応する8ビットBTF部分を含まないか、または対応テーブルは、4ビットBTF部分に対応する8ビットBTF部分を含まない場合、4ビットBTF部分は、8ビットBTF部分を取得するためにマークされる。4ビットBTF部分をマークする方式は、本出願の本実施形態では限定されない。例えば、4ビットBTF部分は、ビット3からビット0までとして使用され、ビット7からビット4までは全て、0に設定される。例えば、クエリーが失敗した場合、第三のビット群に基づいて取得される符号ストリームブロックの制御ブロックは0xFFであり、データブロックは0xFEFEFEFEである。
【0205】
幾つかの他の実施形態では、値が0である最初のビットについて、タイプ、そのビット、およびそのビットに対応するビット群に基づいて符号ストリームブロックの制御ブロックを取得し、そのビットに基づいて、そのビットに対応するビット群に対して第一の復号化を実行して符号ストリームブロックのデータブロックを取得することは、以下を含む。すなわち、そのビットに対応するビット群に含まれる4ビットBTF部分に基づいて8ビットBTF部分が照会されること。および、クエリーが失敗した場合、符号ストリームブロックの制御ブロックは、0xFFに設定され、符号ストリームブロックのデータブロックは、0xFEFEFEFEに設定される。4ビットBTF部分に基づいて8ビットBTF部分を照会する方式の原理は、上述した関連する内容におけるクエリー方式の原理と同じである。詳細については、本明細書では改めて説明しない。
【0206】
復号化方式3:対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックのタイプは、誤り符号ブロックとして決定されること。および、2個の符号ストリームブロック群内の制御ブロックおよびデータブロックが取得されることであって、2個の符号ストリームブロック群は全て、誤り符号ストリームブロックであること。
【0207】
例えば、データユニットは、タイプ指示を含み、タイプおよびタイプ指示は、対象符号ブロックが誤り符号ブロックであることを示す。そして、2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、第一の値および第二の値は、符号ストリームブロックが誤り符号ストリームブロックであることを示す。例えば、対象符号ブロックのタイプは0であり、タイプ指示は1111であり、対象符号ブロックは、誤り符号ブロックである。この場合、第一の復号化を通じて取得される2個の符号ストリームブロック群の各群に含まれる制御ブロックは0xFFであり、2個の符号ストリームブロック群の各群に含まれるデータブロックは0xFEFEFEFEである。
【0208】
本出願の本実施形態にて提供される復号化方法によれば、第一の復号化は、様々なタイプの対象符号ストリームブロックに対して実行されて、2個の符号ストリームブロック群を取得することができる。したがって、本方法は、広く適用される。
【0209】
可能な実装では、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップは、以下を含む。すなわち、対象符号ブロックのタイプおよびデータユニットに基づいて誤り検出結果を取得するステップ。および、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップ。換言すると、2個の符号ストリームブロック群は、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得され、誤り検出結果は、対象符号ブロックのタイプおよびデータユニットに基づいて取得される。
【0210】
例えば、対象符号ブロックのタイプおよびデータユニットに基づいて誤り検出結果を取得するステップは、以下を含む。すなわち、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックのコンテンツおよびコンテンツシーケンスを取得するステップ。および、対象符号ブロックのコンテンツおよびコンテンツシーケンスに基づいて、誤り検出結果を取得するステップ。例えば、対象符号ブロックのコンテンツシーケンスが第三のエラーケースセットにおける少なくとも一つのケースである場合、対象符号ブロックのコンテンツシーケンスにおいてエラーが発生する。または、対象符号ブロックのコンテンツシーケンスが第三のエラーケースセットにおける何れのケースでもない場合、対象符号ブロックのコンテンツシーケンスは正しい。別の例として、対象符号ブロックのコンテンツが第四のエラーケースセットにおける少なくとも一つのケースである場合、対象符号ブロックのコンテンツにおいてエラーが発生する。または、対象符号ブロックのコンテンツが第四のエラーケースセットにおける何れのケースでもない場合、対象符号ブロックのコンテンツは正しい。
【0211】
可能な実装では、対象符号ブロックが制御符号ブロックであり、対象符号ブロックが4個のビット群を含む例を、説明のために使用する。隣接する二つのビット群について、第のエラーケースセットは、以下の4ケースを含むが、これらに限定されない。
【0212】
(1)前者のビット群が開始制御文字(/S/)を含む場合、後者のビット群は、データバイト以外のコンテンツを含む。
【0213】
(2)前者のビット群がデータバイトのみを含む場合、後者のビット群は、データバイトまたは終了制御文字(/T/)以外のコンテンツを含む。
【0214】
(3)前者のビット群が終了制御文字を含む場合、後者のビット群は、アイドル制御文字(/I/)またはシーケンス順序集合制御文字(/O/)以外のコンテンツを含む。
【0215】
(4)前者のビット群がアイドル制御文字またはシーケンス順序集合制御文字を含む場合、後者のビット群は、データバイトまたは終了制御文字を含む。
【0216】
本出願の実施形態における制御文字の特定の意味および値については、IEEE802.3-2018を参照されたい。詳細について、本出願の実施形態では改めて説明されない。
【0217】
可能な実装では、一つのビット群を、説明のための一例として使用し、第四のエラーケースセットは、以下の4ケースを含むが、これらに限定されない。
【0218】
(1)開始制御文字を含むビット群について、開始制御文字の後に、データバイト以外のコンテンツが続く。
【0219】
(2)データバイトを含むビット群について、データバイトの後に、データバイトまたは終了制御文字以外のコンテンツが続く。
【0220】
(3)終了制御文字を含むビット群について、終了制御文字の後に、アイドル制御文字またはシーケンス順序集合制御文字以外のコンテンツが続く。
【0221】
(4)アイドル制御文字またはシーケンス順序集合制御文字を含むビット群について、アイドル制御文字またはシーケンス順序集合制御文字の後に、データバイトまたは終了制御文字が続く。
【0222】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップは、以下を含む。すなわち、対象符号ブロックを変換して、第二の符号ブロックを取得するステップ。および、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップ。換言すると、2個の符号ストリームブロック群は、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行することによって取得され、第二の符号ブロックは、対象符号ブロックを変換することによって取得される符号ブロックであって、対象符号ブロックと同じ数量のビットを有する符号ブロックである。
【0223】
例えば、対象符号ブロックを変換して、第二の符号ブロックを取得するステップは、以下を含む。すなわち、対象符号ブロック内にあるビット群であって、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群について、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群を誤り制御文字に変換するステップ。および、誤り制御文字と、対象符号ブロック内にあるビット群であって、正しいコンテンツシーケンスエラーおよび正しいコンテンツを有するビット群に基づいて、第二の符号ブロックを取得するステップ。例えば、第一のビット群が、第一の誤り制御文字に変換され、第一のビット群は、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群である。別の例として、第二のビット群が、第二の誤り制御文字に変換され、第二のビット群は、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群である。可能な実装では、変換を通じて取得される第二の符号ブロックは、制御符号ブロックであり、第一の復号化は、復号化方式2において第二の符号ブロックに対して実行される。
【0224】
別の可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するステップは、以下を含む。すなわち、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、第一の2個の符号ストリームブロック群を取得するステップ。および、第一の2個の符号ストリームブロック群を変換して、2個の符号ストリームブロック群を取得するステップ。換言すると、2個の符号ストリームブロック群は、第一の2個の符号ストリームブロック群を変換することによって取得され、第一の2個の符号ストリームブロック群は、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得される。
【0225】
例えば、第一の2個の符号ストリームブロック群を変換して、2個の符号ストリームブロック群を取得するステップは、以下を含む。すなわち、符号ストリームブロックを誤り符号ストリームブロックに変換するステップであって、符号ストリームブロックは、第一の2個の符号ストリームブロック群内にあるビット群であって、コンテンツシーケンスエラーまたはコンテンツエラーを有するビット群に基づいて取得される、ステップ。例えば、誤り符号ストリームブロックにおいて、制御ブロックは0xFFであり、各データブロックは0xFEFEFEFEである。エラーが発生する対象符号ブロックは処理され、これにより、受信側は、エラーデータおよび正しいデータを区別して、データ信頼性を確保することができる。
【0226】
本出願の本実施形態にて提供される復号化方法によれば、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群は、対象符号ブロックをコード変換して2個の66ビット符号ブロックを取得し、2個の66ビット符号ブロックを復号する必要なしに、対象符号ブロックに第一の復号化を実行することによって取得される。したがって、復号化効率が改善され、復号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0227】
上記では、本出願の実施形態にて提供される符号化方法について説明している。上述した方法に対応して、本出願の実施形態は、符号化装置をさらに提供する。図8は、本出願の一実施形態による符号化装置の構成の模式図である。この装置は、第一のネットワーク機器において使用され、第一のネットワーク機器は、図1に示される実施形態における第一のネットワーク機器である。図8に示される以下の複数のモジュールに基づいて、図8に示される符号化装置は、第一のネットワーク機器によって実行される全てまたは幾つかの動作を実行することができる。装置が、図示のモジュールよりも多くの追加のモジュールを含んでもよく、または図示のモジュールの幾つかが省略されることを理解されたい。これは、本出願の本実施形態では限定されない。図8に示されるように、装置は、
個の符号ストリームブロック群を取得するように構成された取得モジュール801であって、符号ストリームブロックのあらゆる群が、制御ブロックおよびデータブロックを含み、nが1を超える整数である、取得モジュール801と、
個の符号ストリームブロック群に対して第一の符号化を実行して対象符号ブロックを取得するように構成された第一の符号化モジュール802であって、対象符号ブロックが、2個の符号ストリームブロック群における制御ブロックに基づいて判定されるタイプと、2個の符号ストリームブロック群における制御ブロックおよびデータブロックに基づいて判定されるデータユニットとを含む、第一の符号化モジュール802とを含む。
【0228】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示し、データユニットが、2個の符号ストリームブロック群のシーケンスにおける2個の符号ストリームブロック群におけるデータブロックに対して第一の符号化を実行することによって取得される。
【0229】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示し、データユニットは、タイプ指示と符号ブロックコンテンツとを含み、符号ブロックコンテンツは、2個の符号ストリームブロック群における制御ブロックおよびデータブロックに基づいて判定されたシーケンスにおける2個の符号ストリームブロック群におけるデータブロックに対して第一の符号化を実行することによって取得され、タイプ指示は、2個の符号ストリームブロック群における制御ブロックに基づいて取得され、タイプ指示は、各符号ストリームブロック群のタイプを示す。
【0230】
可能な実装では、対象符号ブロックは、誤り符号ブロックであり、誤り符号ブロックは、誤り指示データを含む。
【0231】
可能な実装では、対象符号ブロックは、誤り検出結果に基づいて2個の符号ストリームブロック群を処理することによって取得され、誤り検出結果は、2個の符号ストリームブロック群における制御ブロックおよびデータブロックに基づいて取得される。
【0232】
可能な実装では、誤り検出結果は、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを含み、対象符号ブロックは、正しいコンテンツシーケンスおよび正しいコンテンツを有する符号ストリームブロックならびに2個の符号ストリームブロック群におけるエラーブロックに基づいて第一の符号化を実行することによって取得され、エラーブロックは、2個の符号ストリームブロック群のコンテンツシーケンスエラーまたはコンテンツエラーを有する符号ストリームブロックに基づいて取得される。
【0233】
可能な実装では、制御ブロックは、mビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0234】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0235】
可能な実装では、2個の符号ストリームブロック群の全てがメディア独立インターフェースMIIから得られる。
【0236】
可能な実装では、装置は、順方向誤り訂正FEC符号タイプに基づいて対象符号ブロックに対して第二の符号化を実行して、第一のデータを取得するように構成された第二の符号化モジュール803と、第一のデータを送信するように構成された送信モジュール804とをさらに含む。
【0237】
本出願の本実施形態にて提供される符号化装置によれば、対象符号ブロックは、2個の符号ストリームブロック群の各群に対して64B/66B符号化を実行して2個の66ビット符号ブロックを取得し、2個の66ビット符号ブロックをコード変換する必要なしに、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群に対して第一の符号化を実行することによって取得される。したがって、符号化効率が改善され、符号化処理によってもたらされる遅延、電力消費、およびチップ面積占有が低減される。
【0238】
上記では、本出願の実施形態にて提供される復号化方法について説明している。上述した方法に対応して、本出願の実施形態は、復号装置をさらに提供する。図9は、本出願の一実施形態による復号装置の構成の模式図である。この装置は、第二のネットワーク機器において使用されてもよく、第二のネットワーク機器は、図1に示される実施形態における第二のネットワーク機器である。図9に示される以下の複数のモジュールに基づいて、図9に示される復号装置は、第二のネットワーク機器によって実行される全てまたは幾つかの動作を実行することができる。装置が、図示のモジュールよりも多くの追加のモジュールを含んでもよく、または図示のモジュールの幾つかが省略されることを理解されたい。これは、本出願の本実施形態では限定されない。図9に示されるように、本装置は、以下を含む。すなわち、
対象符号ブロックを取得するように構成される取得モジュール901であって、対象符号ブロックは、タイプとデータユニットとを含む、取得モジュール901。および、
対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行して、2個の符号ストリームブロック群を取得するように構成される復号化モジュール902であって、任意の符号ストリームブロック群は、タイプおよびデータユニットに基づいて取得される制御ブロックおよびデータブロックを含み、nは1を超える整数である、復号化モジュール902。
【0239】
可能な実装では、タイプは、対象符号ブロックがデータ符号ブロックであることを示す。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、データユニットにおいて、符号ストリームブロック群iに対応するコンテンツであって、8mの長さを有するコンテンツに対して、第一の復号化を実行することによって取得され、mは正の整数であり、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。
【0240】
可能な実装では、タイプは、対象符号ブロックが制御符号ブロックであることを示し、データユニットは、タイプ指示および符号ブロックコンテンツを含み、タイプ指示は、2ビットを含み、2ビット内の1ビットは、そのビットに対応する一つの符号ストリームブロック群であって、2個の符号ストリームブロック群内にある一つの符号ストリームブロック群のタイプを示し、符号ブロックコンテンツは、2個のビット群を含む。2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれる制御ブロックは、タイプ、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビット、および符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に基づいて取得され、iは1以上2以下の整数であるか、またはiは0以上2-1以下の整数である。そして、2個の符号ストリームブロック群内の符号ストリームブロック群iに含まれるデータブロックは、符号ストリームブロック群iに対応するビットであって、タイプ指示内にあるビットに基づいて、符号ストリームブロック群iに対応するビット群であって、符号ブロックコンテンツ内にあるビット群に対して、第一の復号化を実行することによって取得される。
【0241】
可能な実装では、2個のビット群は、第一のビット群と、2-1個の第二のビット群とを含み、第一のビット群に含まれるビットの数量は、第二のビット群に含まれるビットの数量とは異なる。
【0242】
可能な実装では、データユニットは、タイプ指示を含み、タイプおよびタイプ指示は、対象符号ブロックが誤り符号ブロックであることを示す。そして、2個の符号ストリームブロック群の各群に含まれる制御ブロックは、第一の値であり、2個の符号ストリームブロック群の各群に含まれるデータブロックは、第二の値であり、第一の値および第二の値は、符号ストリームブロックが誤り符号ストリームブロックであることを示す。
【0243】
可能な実装では、取得モジュールは、以下を行うように構成される。すなわち、第二のデータを受信することであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される最初のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正処理である、こと。
【0244】
可能な実装では、対象符号ブロックは、第二のデータに対して誤り訂正が実行されたが、誤り訂正が失敗した場合に取得される符号ブロックである。
【0245】
可能な実装では、取得モジュール901は、以下を行うように構成される。すなわち、第二のデータを受信することであって、第二のデータは、順方向誤り訂正FEC符号タイプを使用することによって符号化される第一のデータに基づいて取得される、こと。および、第二のデータに対して第二の復号化を実行して、対象符号ブロックを取得することであって、第二の復号化は、誤り訂正がバイパスされる誤り検出処理である、こと。
【0246】
可能な実装では、対象符号ブロックは、第二のデータからエラーが検出されたが、誤り訂正がバイパスされた場合に取得される符号ブロックである。
【0247】
可能な実装では、2個の符号ストリームブロック群は、誤り検出結果と、対象符号ブロックのタイプおよびデータユニットとに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得され、誤り検出結果は、対象符号ブロックのタイプおよびデータユニットに基づいて取得される。
【0248】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、第二の符号ブロックのタイプおよびデータユニットに基づいて、第二の符号ブロックに対して第一の復号化を実行することによって取得され、第二の符号ブロックは、対象符号ブロックを変換することによって取得される符号ブロックであって、対象符号ブロックと同じ数量のビットを有する符号ブロックである。
【0249】
可能な実装では、誤り検出結果は、対象符号ブロックのコンテンツシーケンスエラーまたはコンテンツエラーを含み、2個の符号ストリームブロック群は、第一の2個の符号ストリームブロック群を変換することによって取得され、第一の2個の符号ストリームブロック群は、対象符号ブロックのタイプおよびデータユニットに基づいて、対象符号ブロックに対して第一の復号化を実行することによって取得される。
【0250】
可能な実装では、制御ブロックはmビットを含み、データブロックは8mビットを含み、mは正の整数である。
【0251】
可能な実装では、nの値は2であり、mの値は8であり、対象符号ブロックは257ビットである。
【0252】
可能な実装では、2個の符号ストリームブロック群の全てが、メディア独立インターフェースMIIのフォーマットである。
【0253】
本出願の本実施形態にて提供される復号装置によれば、制御ブロックおよびデータブロックを含む2個の符号ストリームブロック群は、対象符号ブロックをコード変換して、2個の66ビット符号ブロックを取得したり、2個の66ビット符号ブロックを復号化したりする必要なしに、対象符号ブロックに第一の復号化を実行することによって取得される。したがって、復号化効率が向上し、復号化処理によって引き起こされる遅延、電力消費、およびチップ面積占有が低減される。
【0254】
図8および図9において提供される装置が本装置の機能を実装する場合、上述した機能モジュールの分割が単に説明のための例として使用されることは、理解されるべきである。実際の用途では、上述した機能は、要件に基づいて、実装のために異なる機能モジュールに割り充てられることがあり、換言すると、機器の内部構成は、上記に説明された機能の全部または一部を実装するために、異なる機能モジュールに分割される。加えて、上述した実施形態にて提供される装置、および本方法の実施形態は、同じ概念に属する。それらの特定の実装処理については、本方法の実施形態を参照されたい。詳細については、本明細書では改めて説明しない。
【0255】
上述した実施形態における機器における特定のハードウェア構成については、図10に示されるネットワーク機器1500を参照されたい。ネットワーク機器1500は、トランシーバ1501、プロセッサ1502、およびメモリ1503を含む。トランシーバ1501、プロセッサ1502、およびメモリ1503は、バス1504を使用することによって、相互に接続される。トランシーバ1501は、パケットを受信し、パケットを送信するように構成される。メモリ1503は、命令またはプログラムコードを保存するように構成される。プロセッサ1502は、メモリ1503内の命令またはプログラムコードを呼び出して、機器が上述した方法の実施形態における第一のネットワーク機器または第二のネットワーク機器の関連する処理手順を実行することを可能にするように構成される。特定の実施形態では、本出願の本実施形態におけるネットワーク機器1500は、上述した方法の実施形態の各々における第一のネットワーク機器または第二のネットワーク機器に対応し得る。ネットワーク機器1500内のプロセッサ1502は、メモリ1503内の命令またはプログラムコードを読み取って、図10に示されるネットワーク機器1500が、第一のネットワーク機器または第二のネットワーク機器によって実行される動作の全てまたは一部を実行することを可能にする。
【0256】
ネットワーク機器1500は、図8および図9に示される装置にさらに対応し得る。例えば、図8および図9における取得モジュール801および取得モジュール901は、トランシーバ1501と同等であり、第一の取得モジュール802および復号化モジュール902は、プロセッサ1502と同等である。
【0257】
図11は、本出願の例示的な実施形態にて提供されるネットワーク機器2000の構成を示す模式図である。図11に示されるネットワーク機器2000は、図2に示される符号化方法に関連する動作と、図7に示される復号化方法に関連する動作とを実行するように構成される。ネットワーク機器2000は、例えば、スイッチまたはルータである。
【0258】
図11に示されるように、ネットワーク機器2000は、少なくとも一つのプロセッサ2001、メモリ2003、および少なくとも一つの通信インターフェース2004を含む。
【0259】
プロセッサ2001は、例えば、汎用中央処理ユニット(central processing unit,CPU)、デジタル信号プロセッサ(digital signal processor,DSP)、ネットワークプロセッサ(network processor,NP)、グラフィックス処理ユニット(Graphics Processing Unit,GPU)、ニューラルネットワーク処理ユニット(neural-network processing unit,NPU)、データ処理ユニット(data processing unit,DPU)、マイクロプロセッサ、または本出願の解決策を実装するように構成される一つもしくは複数の集積回路である。例えば、プロセッサ2001は、特定用途向け集積回路(application-specific integrated circuit,ASIC)、プログラマブル論理デバイス(programmable logic device,PLD)、または別のプログラマブル論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント、もしくはそれらの任意の組合せを含む。PLDは、例えば、複合プログラマブル論理デバイス(complex programmable logic device,CPLD)、フィールドプログラマブルゲートアレイ(field-programmable gate array,FPGA)、汎用アレイ論理(generic array logic,GAL)、またはそれらの任意の組合せである。プロセッサは、本発明の実施形態にて開示される内容を参照して説明される、種々の論理ブロック、モジュール、および回路を実装または実行し得る。あるいは、プロセッサは、コンピューティング機能を実装するプロセッサの組合せ、例えば、一つもしくは複数のマイクロプロセッサの組合せ、またはDSPおよびマイクロプロセッサの組合せとし得る。
【0260】
任意選択で、ネットワーク機器2000は、バスをさらに含む。バスは、ネットワーク機器2000のコンポーネント間において情報を伝送するように構成される。バスは、周辺コンポーネント相互接続(peripheral component interconnect,PCI)バス、拡張業界標準アーキテクチャ(extended industry standard architecture,EISA)バス、および同様のものとし得る。バスは、アドレスバス、データバス、制御バス、および同様のものに分類され得る。表現を容易にするために、1本の太線のみが使用されて、図11におけるバスを表しているが、これは、一つのバスまたは一つのタイプのバスのみが存在することを意味しない。バスを通じて接続されることに加えて、図11におけるネットワーク機器2000のコンポーネントは、別の方式において接続され得る。本発明の本実施形態では、コンポーネントが接続される方式は限定されない。
【0261】
メモリ2003は、例えば、読出専用メモリ(read-only memory,ROM)、もしくは静的な情報および命令を保存することができる別タイプの静的ストレージ機器、別の例として、ランダムアクセスメモリ(random access memory,RAM)、もしくは情報および命令を保存することができる別タイプの動的ストレージ機器、別の例として、電気的消去可能プログラマブル読出専用メモリ(electrically erasable programmable read-only memory,EEPROM)、コンパクトディスク読出専用メモリ(compact disc read-only memory,CD-ROM)もしくは他の光学ディスクストレージ、光学ディスクストレージ(コンパクトディスク、レーザーディスク、光ディスク、デジタル多用途ディスク、ブルーレイディスク、および同様のものを含む)、磁気ディスク記憶媒体もしくは別の磁気記憶機器、または命令もしくはデータ構造の形態において所望のプログラムコードを搬送もしくは格納するために使用することができ、かつ、コンピュータによってアクセスすることができる任意の他の媒体であるが、これらに限定されない。例えば、メモリ2003は、独立して存在し、バスを介してプロセッサ2001に接続される。あるいは、メモリ2003およびプロセッサ2001は、一体化されてもよい。
【0262】
通信インターフェース2004は、トランシーバのような任意の装置を使用し、別の機器または通信ネットワークと通信するように構成される。通信ネットワークは、イーサネット、無線アクセスネットワーク(RAN)、無線ローカルエリアネットワーク(wireless local area network,WLAN)、および同様のものとし得る。通信インターフェース2004は、有線通信インターフェースを含んでもよく、無線通信インターフェースをさらに含み得る。具体的には、通信インターフェース2004は、イーサネット(ethernet)インターフェース、高速イーサネット(fast ethernet,FE)インターフェース、ギガビットイーサネット(gigabit ethernet,GE)インターフェース、非同期転送モード(asynchronous transfer mode,ATM)インターフェース、無線ローカルエリアネットワーク(wireless local area network,WLAN)インターフェース、セルラーネットワーク通信インターフェース、またはそれらの組合せとし得る。イーサネットインターフェースは、光学的インターフェース、電気的インターフェース、またはそれらの組合せとし得る。本出願の本実施形態では、通信インターフェース2004は、ネットワーク機器2000によって使用されて、別の機器と通信し得る。
【0263】
特定の実装時に、一実施形態では、プロセッサ2001は、一つまたは複数のCPU、例えば、図11に示されるCPU0およびCPU1を含み得る。プロセッサの各々は、シングルコア(single-CPU)プロセッサであってもよいし、またはマルチコア(multi-CPU)プロセッサであってもよい。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令など)を処理するように構成される、一つまたは複数の機器、回路、および/または処理コアとし得る。
【0264】
特定の実装時に、一実施形態では、ネットワーク機器2000は、図11におけるプロセッサ2001およびプロセッサ2005などの複数のプロセッサを含み得る。プロセッサの各々は、シングルコア(single-CPU)プロセッサであってもよいし、またはマルチコア(multi-CPU)プロセッサであってもよい。本明細書におけるプロセッサは、データ(例えば、コンピュータプログラム命令など)を処理するように構成される、一つまたは複数の機器、回路、および/または処理コアとし得る。
【0265】
特定の実装時に、一実施形態では、ネットワーク機器2000は、出力機器および入力機器をさらに含み得る。出力機器は、プロセッサ2001と通信し、複数の方式において情報を表示し得る。例えば、出力機器は、液晶ディスプレイ(liquid crystal display,LCD)、発光ダイオード(light emitting diode,LED)ディスプレイ機器、陰極線管(cathode ray tube,CRT)ディスプレイ機器、プロジェクタ(projector)、および同様のものとし得る。入力機器は、プロセッサ2001と通信し、複数の方式においてユーザからの入力を受信し得る。例えば、入力機器は、マウス、キーボード、タッチスクリーン機器、またはセンシング機器とし得る。
【0266】
幾つかの実施形態では、メモリ2003は、本出願の解決策を実行するためのプログラムコード2010を保存するように構成され、プロセッサ2001は、メモリ2003内に保存されたプログラムコード2010を実行し得る。換言すると、ネットワーク機器2000は、プロセッサ2001およびメモリ2003内のプログラムコード2010を使用することによって、本方法の実施形態にて提供される符号化方法または復号化方法を実装し得る。プログラムコード2010は、一つまたは複数のソフトウェアモジュールを含み得る。任意選択で、プロセッサ2001は、本出願の解決策を実行するためのプログラムコードまたは命令を保存し得る。
【0267】
特定の実施形態では、本出願の本実施形態におけるネットワーク機器2000は、上述した方法の実施形態の各々における第一のネットワーク機器または第二のネットワーク機器に対応し得る。ネットワーク機器2000内のプロセッサ2001は、メモリ2003内のプログラムコード2010、またはメモリ2001に保存されたプログラムコードもしくは命令を読み取って、図11に示されるネットワーク機器2000が、第一のネットワーク機器または第二のネットワーク機器によって実行される動作の全てまたは一部を実行することを可能にする。
【0268】
ネットワーク機器2000は、図8および図9に示される装置にさらに対応し得る。図8および図9に示される装置における各機能モジュールは、ネットワーク機器2000のソフトウェアを使用することによって実装される。換言すると、図8および図9に示される装置に含まれる機能モジュールは、ネットワーク機器2000内のプロセッサ2001がメモリ2003に保存されたプログラムコード2010を読み取った後に生成される。例えば、図8および図9における取得モジュール801および取得モジュール901は、通信インターフェース2004と同等であり、第一の取得モジュール802および復号化モジュール902は、プロセッサ2001および/またはプロセッサ2005と同等である。
【0269】
図2および図7に示される方法の手順は、ネットワーク機器2000のプロセッサにおけるハードウェアの集積論理回路またはソフトウェアの形態における命令を使用することによって完了される。本出願の実施形態を参照して開示される方法の手順は、ハードウェアプロセッサによって直接実行されてもよいし、またはプロセッサ内のハードウェアと、ソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読出専用メモリ、プログラマブル読出専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなど、当技術分野において発達した記憶媒体に配置され得る。記憶媒体は、メモリ内に配置される。プロセッサは、メモリ内の情報を読み取り、プロセッサのハードウェアとの組合せにおいて上述した方法の手順を完了する。繰り返しを避けるために、詳細については、本明細書では改めて説明しない。
【0270】
図12は、本出願の別の例示的な実施形態にて提供されるネットワーク機器2100の構成を示す模式図である。図12に示されるネットワーク機器2100は、図2および図7に示される方法における動作の全てまたは一部を実行するように構成される。ネットワーク機器2100は、例えば、スイッチまたはルータである。ネットワーク機器2100は、汎用バスアーキテクチャによって実装され得る。
【0271】
図12に示されるように、ネットワーク機器2100は、メイン制御ボード2110およびインターフェースボード2130を含み得る。
【0272】
メイン制御ボードは、メイン処理ユニット(main processing unit,MPU)またはルートプロセッサカード(route processor card)と呼ばれることもある。メイン制御ボード2110は、以下を行うように構成される。すなわち、経路計算、機器管理、機器保守、およびプロトコル処理の機能を含む、ネットワーク機器2100内の各コンポーネントを制御および管理すること。メイン制御ボード2110は、中央処理ユニット2111およびメモリ2112を含む。
【0273】
インターフェースボード2130は、ラインインターフェースユニットカード(line processing unit,LPU)、ラインカード(line card)、またはサービスボードと呼ばれることもある。インターフェースボード2130は、以下を行うように構成される。すなわち、種々のサービスインターフェースを提供し、データパケット転送を実装すること。サービスインターフェースは、イーサネットインターフェースおよびPOS(packet over SONET/SDH)インターフェースを含むが、これらに限定されない。イーサネットインターフェースは、例えば、フレキシブルイーサネットサービスインターフェース(flexible Ethernet clients,FlexE Clients)である。インターフェースボード2130は、以下を含む。すなわち、中央処理ユニット2131、ネットワークプロセッサ2132、転送エントリーメモリ2134、および物理インターフェースカード(physical interface card,PIC)2133。
【0274】
インターフェースボード2130上の中央処理ユニット2131は、以下を行うように構成される。すなわち、インターフェースボード2130を制御および管理し、メイン制御ボード2110上の中央処理ユニット2111と通信すること。
【0275】
ネットワークプロセッサ2132は、パケット送信処理を実装するように構成される。ネットワークプロセッサ2132の形態は、転送チップとし得る。転送チップは、ネットワークプロセッサ(network processor,NP)とし得る。幾つかの実施形態では、転送チップは、特定用途向け集積回路(application-specific integrated circuit,ASIC)またはフィールドプログラマブルゲートアレイ(field programmable gate array,FPGA)を使用することによって実装され得る。具体的には、ネットワークプロセッサ2132は、転送エントリーメモリ2134に保存された転送テーブルに基づいて、受信されたパケットを転送するように構成される。パケットの宛先アドレスがネットワーク機器2100のアドレスである場合、ネットワークプロセッサ2132は、パケットを処理のためにCPU(例えば、中央処理ユニット2131など)に送信する。パケットの宛先アドレスがネットワーク機器2100のアドレスでない場合、ネットワークプロセッサ2132は、宛先アドレスに基づく転送テーブルから、ネクストホップと、宛先アドレスに対応するエグレスインターフェースを見出し、パケットを宛先アドレスに対応するエグレスインターフェースに転送する。アップリンクパケットを処理することは、以下を含み得る。すなわち、パケットのインバウンドインターフェースを処理し、転送テーブルを探索すること。ダウンリンクパケットを処理することは、以下を含み得る。すなわち、転送テーブルを探索すること、および同様のこと。幾つかの実施形態では、中央処理ユニットは、例えば、汎用CPUに基づいてソフトウェア転送を実装するなど、転送チップの機能も実行し得て、これにより、インターフェースボードに転送チップが不要になる。
【0276】
物理インターフェースカード2133は、物理層相互接続機能を実装するように構成され、これにより、元のトラフィックは、インターフェースボード2130に入り、処理されたパケットは、物理インターフェースカード2133から送信される。物理インターフェースカード2133は、サブカードと呼ばれることもあり、インターフェースボード2130上に設置され得て、光信号/電気信号をパケットに変換し、パケットに対して妥当性チェックを実行し、次いで、パケットを処理のためにネットワークプロセッサ2132に転送することに関与する。幾つかの実施形態では、中央処理ユニット2131は、例えば、汎用CPUに基づいてソフトウェア転送を実装するなど、ネットワークプロセッサ2132の機能も実行し得る。そのため、ネットワークプロセッサ2132は、物理インターフェースカード2133では必要とされない。
【0277】
任意選択で、ネットワーク機器2100は、複数のインターフェースボードを含む。例えば、ネットワーク機器2100は、インターフェースボード2140をさらに含む。インターフェースボード2140は、中央処理ユニット2141、ネットワークプロセッサ2142、転送エントリーメモリ2144、および物理インターフェースカード2143を含む。インターフェースボード2140内のコンポーネントの機能および実装は、インターフェースボード2130の機能および実装と同じであるか、または類似しており、詳細については、本明細書では改めて説明しない。
【0278】
任意選択で、ネットワーク機器2100は、スイッチングボード2120をさらに含む。スイッチングボード2120は、スイッチファブリックユニット(switch fabric unit,SFU)と呼ばれることもある。ネットワーク機器が複数のインターフェースボードを有する場合、スイッチングボード2120は、インターフェースボード間におけるデータ交換を実行するように構成される。例えば、インターフェースボード2130およびインターフェースボード2140は、スイッチングボード2120を使用することによって相互に通信し得る。
【0279】
メイン制御ボード2110は、インターフェースボードに結合される。例えば、メイン制御ボード2110、インターフェースボード2130、インターフェースボード2140、およびスイッチングボード2120は、システムバスを相互作用に使用することによって、システムバックボードに接続される。可能な実装では、メイン制御ボード2110、インターフェースボード2130、およびインターフェースボード2140の間に処理理間通信(inter-process communication,IPC)プロトコルチャネルが確立され、メイン制御ボード2110は、IPCチャネルを介してインターフェースボード2130およびインターフェースボード2140と通信する。
【0280】
論理的には、ネットワーク機器2100は、制御プレーンおよび転送プレーンを含む。制御プレーンは、メイン制御ボード2110および中央処理ユニット2111を含む。転送プレーンは、転送を実行するコンポーネント、例えば、転送エントリーメモリ2134、物理インターフェースカード2133、およびネットワークプロセッサ2132を含む。制御プレーンは、ルータのような機能、すなわち、転送テーブルの生成、シグナリングパケットおよびプロトコルパケットの処理、ネットワーク機器の状態の構成および維持を実行する。制御プレーンは、生成された転送テーブルを転送プレーンに配送する。転送プレーン上で、ネットワークプロセッサ2132は、制御プレーンによって配送された転送テーブルに基づいて、物理インターフェースカード2133によって受信されたパケットを転送するためのテーブルを探索する。制御プレーンによって配送された転送テーブルは、転送エントリーメモリ2134に保存され得る。幾つかの実施形態では、制御プレーンおよび転送プレーンは、完全に分離され得て、同じネットワーク機器上には存在しない。
【0281】
一つまたは複数のメイン制御ボードが存在することがあり、複数のメイン制御ボードが存在する場合、一次メイン制御ボードおよび二次メイン制御ボードが含まれ得ることは、留意されるべきである。一つまたは複数のインターフェースボードが存在し得る。より強力なデータ処理機能を有するネットワーク機器は、より多い数量のインターフェースボードを提供する。インターフェースボード上に、一つまたは複数の物理インターフェースカードが存在し得る。スイッチングボードが存在しなくてよいし、または一つもしくは複数のスイッチングボードが存在してもよい。複数のスイッチングボードが存在する場合、負荷分散および冗長性バックアップは、共に実装され得る。集中型転送アーキテクチャでは、ネットワーク機器は、スイッチングボードを必要としないことがあり、インターフェースボードは、システム全体のサービスデータを処理する機能を実行する。分散型転送アーキテクチャでは、ネットワーク機器は、少なくとも一つのスイッチングボードを有することがあり、スイッチングボードを使用することによって、複数のインターフェースボード間のデータ交換を実装して、大容量のデータ交換および処理能力を提供する。そのため、分散型アーキテクチャのネットワーク機器のデータアクセスおよび処理能力は、集中型アーキテクチャのネットワーク機器のデータアクセスおよび処理能力よりも高度である。任意選択で、ネットワーク機器の形態は、代替的に、シングルボードとし得る。すなわち、スイッチファブリックボードが無く、インターフェースボードおよびメイン制御ボードの機能は、シングルボードに組み込まれる。この場合、インターフェースボード上の中央処理ユニットおよびメイン制御ボード上の中央処理ユニットは、シングルボード上の一つの中央処理ユニットに統合され得る。ボード上の一つの中央処理ユニットは、二つの中央処理ユニットが統合された後に存在する二つの中央処理ユニットの機能を実行する。この形態におけるネットワーク機器は、低いデータ交換および処理能力(例えば、ローエンドのスイッチまたはルータなどのネットワーク機器など)を有する。使用対象である特定のアーキテクチャは、特定のネットワーキング配備シナリオに依存する。これは、本明細書では限定されない。
【0282】
特定の実施形態では、ネットワーク機器2100は、図8および図9に示される装置にさらに対応する。幾つかの実施形態では、図8および図9に示される装置内の取得モジュール801および取得モジュール901は、ネットワーク機器2100内の物理インターフェースカード2133または物理インターフェースカード2143と同等である。図8および図9に示される装置内の第一の符号化モジュール802および復号化モジュール902は、ネットワーク機器2100内の中央処理ユニット2111、ネットワークプロセッサ2132、およびネットワークプロセッサ2142のうちの少なくとも一つと同等である。
【0283】
図10図11、および図12に示されるネットワーク機器に基づいて、本出願の一実施形態は、通信システムをさらに提供する。本システムは、第一のネットワーク機器および第二のネットワーク機器を含む。任意選択で、第一のネットワーク機器は、図10に示されるネットワーク機器1500、図11に示されるネットワーク機器2000、または図12に示されるネットワーク機器2100であり、第二のエッジネットワーク機器は、図10に示されるネットワーク機器1500、図11に示されるネットワーク機器2000、または図12に示されるネットワーク機器2100である。
【0284】
第一のネットワーク機器および第二のネットワーク機器によって実行される方法については、図1図2、および図7に示される実施形態の関連する説明を参照されたい。詳細については、本明細書では改めて説明しない。
【0285】
プロセッサは、中央処理ユニット(central processing unit,CPU)であってもよいし、または別の汎用プロセッサ、デジタル信号プロセッサ(digital signal processor,DSP)、特定用途向け集積回路(application-specific integrated circuit,ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array,FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、ディスクリートハードウェアコンポーネント、または同様のものであってもよいことは、理解されるべきである。汎用プロセッサは、マイクロプロセッサ、任意の従来のプロセッサ、または同様のものとし得る。プロセッサは、高度縮小命令セットコンピューティングマシン(advanced RISC machines,ARM)をサポートするプロセッサとし得ることは、留意されるべきである。
【0286】
さらに、任意選択の実施形態では、メモリは、読出専用メモリおよびランダムアクセスメモリを含んでもよく、プロセッサに命令およびデータを提供してもよい。メモリは、不揮発性ランダムアクセスメモリをさらに含んでもよい。例えば、メモリは、デバイスタイプの情報をさらに保存し得る。
【0287】
メモリは、揮発性メモリもしくは不揮発性メモリであってもよいし、または揮発性メモリおよび不揮発性メモリの両方を含んでもよい。不揮発性メモリは、読出専用メモリ(read-only memory,ROM)、プログラマブル読出専用メモリ(programmable ROM,PROM)、消去可能プログラマブル読出専用メモリ(erasable PROM,EPROM)、電気的消去可能プログラマブル読出専用メモリ(electrically EPROM,EEPROM)、またはフラッシュメモリであってもよい。揮発性メモリは、外部キャッシュとして使用されるランダムアクセスメモリ(random access memory,RAM)であってもよい。制限ではなく、一例として、RAMにおける多数の形態、例えば、静的ランダムアクセスメモリ(static RAM,SRAM)、動的ランダムアクセスメモリ(dynamic random access memory,DRAM)、同期動的ランダムアクセスメモリ(synchronous DRAM,SDRAM)、ダブルデータレート同期動的ランダムアクセスメモリ(double data rate SDRAM,DDR SDRAM)、拡張同期動的ランダムアクセスメモリ(enhanced SDRAM,ESDRAM)、シンクリンク動的ランダムアクセスメモリ(synchlink DRAM,SLDRAM)、およびダイレクトラムバスランダムアクセスメモリ(direct rambus RAM,DR RAM)が利用可能である。
【0288】
コンピュータ可読記憶媒体がさらに提供される。本記憶媒体は、少なくとも一つのプログラム命令またはコードを格納する。プログラム命令またはコードがプロセッサによってロードされて実行された場合、コンピュータは、図2における符号化方法、または図7における復号化方法を実装することが可能になる。
【0289】
本出願は、コンピュータプログラム(製品)を提供する。コンピュータプログラムがコンピュータによって実行された場合、プロセッサまたはコンピュータは、上述した方法の実施形態における対応するステップおよび/または手順を実行することが可能になる。
【0290】
プロセッサを含むチップが提供される。本チップは、メモリに保存された命令をメモリから呼び出して実行するように構成され、これにより、チップが設置された通信機器が、上述した態様における方法を実行する。
【0291】
別のチップが提供される。本チップは、入力インターフェース、出力インターフェース、プロセッサ、およびメモリを含む。入力インターフェース、出力インターフェース、プロセッサ、およびメモリは、内部接続パスを介して接続されている。プロセッサは、メモリ内のコードを実行するように構成される。プロセッサは、コードが実行されると、上述した態様における方法を実行するように構成される。
【0292】
機器がさらに提供される。本機器は、上述したチップを含む。任意選択で、本機器は、ネットワーク機器である。例えば、本機器は、ルータ、スイッチ、またはサーバである。
【0293】
上述した実施形態の全てまたは一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せを使用することによって実装され得る。ソフトウェアが実施形態を実装するために使用される場合、実施形態の全てまたは一部は、コンピュータプログラム製品の形態において実装され得る。コンピュータプログラム製品は、一つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令がコンピュータ上にロードされて実行された場合、本出願による手順または機能は、全てまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラマブル装置とし得る。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてもよいし、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータ命令は、ウエブサイト、コンピュータ、サーバ、またはデータセンターから、別のウエブサイト、コンピュータ、サーバ、またはデータセンターに、有線方式(例えば、同軸ケーブル、光ファイバ、もしくはデジタル加入者線など)において送信されてもよいし、または無線方式(例えば、赤外線、無線、もしくはマイクロ波など)において送信されてもよい。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能媒体であってもよいし、またはデータストレージ機器、例えば、一つもしくは複数の使用可能媒体を統合する、サーバもしくはデータセンターなどであってもよい。使用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、もしくは磁気テープなど)、光学媒体(例えば、DVDなど)、半導体媒体(例えば、ソリッドステートドライブ(solid-state drive,SSD)など)、または同様のものであってもよい。
【0294】
上述した特定の実装では、本出願の目的、技術的解決策、および有益な効果について、さらに詳細に説明する。上述した説明が、単なる本出願における特定の実装であるが、本出願の保護範囲を限定することを意図していないことは、理解されるべきである。本出願の技術的解決策に基づいて行われる、任意の変更、同等置換、改良、または同様のことは、本出願の保護範囲内に入るものとする。
【0295】
当業者は、本明細書にて開示された実施形態において記載された方法の手順およびモジュールを参照すると、ソフトウェア、ハードウェア、ファームウェア、またはそれらの組合せを使用することによって、その方法の手順およびモジュールを実装することができることを認識し得る。ハードウェアおよびソフトウェアの間の互換性を明確に説明するために、実施形態の手順および構成は、上述した説明において、一般的に機能の観点から説明されている。機能がハードウェアによって実行されるのか、またはソフトウェアによって実行されるのかは、技術的解決策における特定の用途および設計制約に依存する。当業者は、異なる方法を使用して、特定の用途毎に説明される機能を実装し得るが、その実装が本出願の範囲を越えると見做されるべきではない。
【0296】
当業者は、本実施形態のステップの全部または一部が、ハードウェアまたは関連するハードウェアに指示するプログラムによって実装され得ることを理解し得る。プログラムはコンピュータ可読記憶媒体に格納され得る。記憶媒体は、読出専用メモリ、磁気ディスク、または光ディスクを含み得る。
【0297】
ソフトウェアが実施形態を実装するために使用される場合、実施形態の全部または一部は、コンピュータプログラム製品の形態において実装され得る。コンピュータプログラム製品は、一つまたは複数のコンピュータプログラム命令を含む。一例では、本出願の実施形態による方法は、マシン実行可能命令のコンテキストにおいて説明され得る。例えば、マシン実行可能命令は、ターゲットの実プロセッサまたは仮想プロセッサ上の実行のためのコンポーネント内にあるプログラムモジュールに含まれる。一般に、プログラムモジュールは、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構成、および同様のものを含み、特定のタスクを実行するか、または特定の抽象データ構成を実装する。種々の実施形態では、プログラムモジュールの機能は、記載されたプログラムモジュール間において組み合わされてもよいし、または分割されてもよい。プログラムモジュール用のマシン実行可能命令は、ローカルに実行されてもよいし、または分散型機器内で実行されてもよい。分散型機器において、プログラムモジュールは、ローカル記憶媒体およびリモート記憶媒体の両方に配置され得る。
【0298】
本出願の実施形態における方法を実装するためのコンピュータプログラムコードは、一つまたは複数のプログラミング言語で記述され得る。コンピュータプログラムコードは、汎用コンピュータ、専用コンピュータ、または別のプログラマブルデータ処理装置のプロセッサに提供され得て、これにより、プログラムコードがコンピュータまたは別のプログラマブルデータ処理装置によって実行されると、フローチャートおよび/またはブロック図に指定された機能/動作が実装される。プログラムコードは、全体的にコンピュータ上で実行されてもよいし、部分的にコンピュータ上で実行されてもよいし、スタンドアロンソフトウェアパッケージとして実行されてもよいし、部分的にコンピュータ上で実行されて部分的にリモートコンピュータ上で実行されてもよいし、または全体的にリモートコンピュータもしくはサーバ上で実行されてもよい。
【0299】
本出願の実施形態のコンテキストにおいて、コンピュータプログラムコードまたは関連するデータは、任意の適切なキャリアにおいて搬送され得て、これにより、機器、装置、またはプロセッサは、上記で説明される種々のタイプの処理および動作を実行することができる。キャリアの例は、信号、コンピュータ可読媒体、および同様のものを含む。
【0300】
信号の例は、電気信号、光信号、無線信号、音声信号、または搬送波および赤外線信号などの他の形態の伝播信号を含み得る。
【0301】
マシン可読媒体は、命令実行システム、装置、もしくは機器のためのプログラム、または命令実行システム、装置、もしくは機器に関するプログラムを含むか、または格納する任意の有形的な媒体とし得る。マシン可読媒体は、マシン可読信号媒体であってもよいし、またはマシン可読記憶媒体であってもよい。マシン可読媒体は、電子、磁気、光、電磁気、赤外線、もしくは半導体のシステム、装置、もしくは機器、またはそれらの任意の適切な組合せを含み得るが、これらに限定されない。マシン可読記憶媒体のより詳細な例は、一つまたは複数の配線に対する電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、消去可能プログラマブル読出専用メモリ(EPROMもしくはフラッシュメモリ)、光学ストレージ機器、磁気ストレージ機器、またはそれらの任意の適切な組合せを含む。
【0302】
便宜的で簡単な説明のために、上述したシステム、機器、およびモジュールの詳細な作業プロセスについて、上述した方法の実施形態における対応するプロセスを参照することが、当業者には明確に理解され得る。詳細については、本明細書では改めて説明しない。
【0303】
本出願に提供される幾つかの実施形態では、開示されるシステム、機器、および方法は、他の方式において実装され得ることは、理解されるべきである。例えば、記載された機器の実施形態は、単なる一例である。例えば、モジュールへの分割は、単に論理機能への分割であり、実際の適用時に他の分割モードが存在し得る。例えば、複数のモジュールまたはコンポーネントは、組み合わされてもよいし、もしくは別のシステムに一体化されてもよいし、または幾つかの特性が無視されてもよいし、もしくは実行されなくてもよい。さらに、表示または説明された相互結合もしくは直接結合、または通信接続は、幾つかのインターフェース、機器、もしくはモジュールを介して実装される間接結合もしくは通信接続であってもよいし、または電気的接続、機械的接続、もしくは他の形態の接続であってもよい。
【0304】
別々のコンポーネントとして説明されたモジュールは、物理的に別個であってもよいし、またはそうでなくてもよく、モジュールとして表示されたコンポーネントは、物理モジュールであってもよいし、またはそうでなくてもよく、具体的には、一つの位置に配置されてもよいし、または複数のネットワークモジュール上に分散されてもよい。モジュールの一部または全部は、本出願の実施形態における解決策の目的を実装するために、実際の要件に基づいて選択され得る。
【0305】
さらに、本出願の実施形態における機能モジュールは、一つの処理モジュールに一体化されてもよいし、またはモジュールの各々は、物理的に単独で存在してもよいし、または二つ以上のモジュールは、一つのモジュールに一体化されてもよい。一体化されたモジュールは、ハードウェアの形態において実装されてもよいし、またはソフトウェア機能モジュールの形態において実装されてもよい。
【0306】
一体化されたモジュールがソフトウェア機能モジュールの形態において実装され、独立の製品として販売または使用される場合、一体化されたモジュールは、コンピュータ可読記憶媒体に格納され得る。この理解に基づくと、本質的に本出願の技術的解決策、または従来技術に寄与する部分、または技術的解決策の全部もしくは一部は、ソフトウェア製品の形態において実装され得る。コンピュータソフトウェア製品は、記憶媒体に格納され、(パーソナルコンピュータ、サーバ、またはネットワーク機器とし得る)コンピュータ機器に、本出願の実施形態において記載された方法の手順の全部または一部を実行するように命令するための幾つかの命令を含む。上述した記憶媒体は、USBフラッシュドライブ、取外し可能ハードディスク、読出専用メモリ(read-only memory,ROM)、ランダムアクセスメモリ(random access memory,RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを格納することができる任意の媒体を含む。
【0307】
本出願では、「第一の」および「第二の」などの用語は、基本的に同じ機能を有する同じ品目、または類似の品目同士を区別するために使用される。「第一の」、「第二の」、および「第nの」が、論理依存関係または時系列依存関係を有することなく、数量および実行シーケンスを限定しないことは、理解されるべきである。以下の説明では、種々の要素について説明するために、「第一の」および「第二の」などの用語が使用されているが、これらの要素は、上述した用語によって限定されるべきでないことも、理解されるべきである。これらの用語は、単に、ある要素を別の要素から区別するために使用されている。例えば、種々の例の範囲から逸脱することなく、第一のネットワーク機器は、第二のネットワーク機器と呼ばれることがあり、同様に、第二のネットワーク機器は、第一のネットワーク機器と呼ばれることがある。第一のネットワーク機器および第二のネットワーク機器の両方は、任意タイプのネットワーク機器とし得て、場合によっては、別個の異なるネットワーク機器とし得る。
【0308】
本出願の実施形態では、上述した処理のシーケンス番号が実行シーケンスを意味しないことは、さらに理解されるべきである。処理の実行シーケンスは、処理の機能および内部論理に基づいて決定されるべきであり、本発明の実施形態の実装処理に対する限定と解釈されるべきではない。
【0309】
本出願では、用語「少なくとも一つの」は、一つまたは複数を意味し、用語「複数の」は、二つ以上を意味する。例えば、複数の第二のパケットは、二つ以上の第二のパケットを意味する。用語「システム」および「ネットワーク」は、しばしば、本明細書では互換的に使用される。
【0310】
本明細書における種々の例の説明において使用される用語は、単に特定の例を説明することを意図しており、限定を課すことを意図していない。種々の例の説明および添付の請求項において使用されるように、単数形「一つの(「a」または「an」)」および「the」は、コンテキストにおいて別段の明示的な指示が無い限り、複数形を含むことも意図している。
【0311】
本明細書において使用される用語「含む(include)」(「includes」、「including」、「comprises」、および/または「comprising」とも呼ばれる)が、記載された特徴、整数、手順、操作、要素、および/またはコンポーネントの存在を特定し、一つまたは複数の他の特徴、整数、手順、操作、要素、コンポーネント、および/もしくはそれらのコンポーネントの存在または追加が除外されないことは、さらに理解されるべきである。
【0312】
用語「もし(if)」は、「いつ」(「when」または「upon」)、「決定することに応じて」、または「検出することに応じて」を意味するものとして解釈され得ることは、さらに理解されるべきである。同様に、コンテキストによれば、「が決定された場合(if it is determined that)」または「(記載された条件もしく事象)が検出された場合」は、「が決定された場合」、または「決定することに応じて」、または「(記載された条件もしくは事象)が検出された場合」または「(記載された条件もしくは事象)を検出することに応じて」を意味するものとして解釈され得る。
【0313】
Aに基づいてBと決定することは、BがAのみに基づいて決定されることを意味するのではなく、Bが代替的にAおよび/または他の情報に基づいて決定され得ることは、理解されるべきである。
【0314】
本明細書全体を通して言及される「一つの実施形態」、「一実施形態」、および「可能な実装」が、実施形態または実装に関連する特定の特徴、構成、または特性が、本出願の少なくとも一つの実施形態に含まれることを意味することは、さらに理解されるべきである。したがって、本明細書全体を通して出現する「一つの実施形態では」、「一実施形態では」、および「可能な実装では」が、必ずしも同じ実施形態を指すとは限らない。さらに、これらの特定の特徴、構成、または特性は、任意の適切な方式を使用することによって、一つまたは複数の実施形態に組み合わされてもよい。
【手続補正書】
【提出日】2024-11-01
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0065
【補正方法】変更
【補正の内容】
【0065】
例えば、メモリは、プロセッサと一体化されてもよいし、またはメモリおよびプロセッサは、別々に配置されてもよい
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0273
【補正方法】変更
【補正の内容】
【0273】
インターフェースボード2130は、ライン処理ユニット(line processing unit,LPU)カード、ラインカード(line card)、またはサービスボードと呼ばれることもある。インターフェースボード2130は、以下を行うように構成される。すなわち、種々のサービスインターフェースを提供し、データパケット転送を実装すること。サービスインターフェースは、イーサネットインターフェースおよびPOS(packet over SONET/SDH)インターフェースを含むが、これらに限定されない。イーサネットインターフェースは、例えば、フレキシブルイーサネットサービスインターフェース(flexible Ethernet clients,FlexE Clients)である。インターフェースボード2130は、以下を含む。すなわち、中央処理ユニット2131、ネットワークプロセッサ2132、転送エントリーメモリ2134、および物理インターフェースカード(physical interface card,PIC)2133。

【国際調査報告】