(57)【要約】【課題】  通常訂正と消失訂正を併用して誤り訂正を行う際に、誤訂正を最小限に抑えつつ効率よく誤り訂正を行い、消費電力の削減を図る。【解決手段】  シンドローム演算部１１と、誤り位置／数値演算部１２と、誤り訂正制御部１３と、誤り訂正部１４とを有する誤り訂正回路１において、誤り訂正制御部１３内にカウンタ１３２を設け、通常訂正では訂正することのできない数の誤りが存在する符号語の数をカウントし、このカウント値が所定値に達した時点で、それ以降の符号語に関しては通常訂正を行わず、最初から消失訂正を行う。【選択図】  図１
2005072975.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、
前記符号語からシンドロームを求めるシンドローム演算部と、
前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置／数値を演算する誤り位置／数値演算部と、
前記誤り位置／数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置／数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、
前記誤り位置／数値演算部が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部と、
を備え、
前記誤り位置／数値演算部は、
消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部と、
前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部と、
前記通常訂正の誤り位置／数値と前記消失訂正の誤り位置／数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置／数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置／数値を前記誤り訂正部に出力する誤り位置／数値セレクタと、
前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、
を有し、
前記誤り訂正制御部は、
前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第２のカウンタと、
前記第２のカウンタの値が所定の値に達するまでは、前記誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第２のカウンタの値が所定の値に達した場合は、前記誤り位置／数値演算部に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、
を有する、
ことを特徴とする誤り訂正回路。
【請求項２】
誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、
前記符号語からシンドロームを求めるシンドローム演算部と、
前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置／数値を演算する誤り位置／数値演算部と、
前記誤り位置／数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置／数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、
前記誤り位置／数値演算部が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部と、
を備え、
前記誤り位置／数値演算部は、
消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部と、
前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部と、
前記通常訂正の誤り位置／数値と前記消失訂正の誤り位置／数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置／数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置／数値を前記誤り訂正部に出力する誤り位置／数値セレクタと、
前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、
を有し、
前記誤り訂正制御部は、
前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタと、
所定の時間を計測するタイマと、
前記タイマの値が所定の時間に達するまでは、前記誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記タイマの値が所定の時間に達した場合は、前記誤り位置／数値演算部に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、
を有する、
ことを特徴とする誤り訂正回路。
【請求項３】
誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、
前記符号語からシンドロームを求めるシンドローム演算部と、
前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置／数値を演算する誤り位置／数値演算部と、
前記誤り位置／数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置／数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、
前記誤り位置／数値演算部が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部と、
を備え、
前記誤り位置／数値演算部は、
消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部と、
前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部と、
前記通常訂正の誤り位置／数値と前記消失訂正の誤り位置／数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置／数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置／数値を前記誤り訂正部に出力する誤り位置／数値セレクタと、
前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、
を有し、
前記誤り訂正制御部は、
前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタと、
前記シンドローム演算部によって求めた前記シンドロームがすべて“０”であった回数をカウントする第２のカウンタと、
前記第２のカウンタの値が所定の値に達するまでは、前記誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第２のカウンタの値が所定の値に達した場合は、前記シンドローム演算部および前記誤り位置／数値演算部に対し残りの符号語に対する誤り訂正を行わない旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、
を有する、
ことを特徴とする誤り訂正回路。
【請求項４】
誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、
前記符号語からシンドロームを求めるシンドローム演算部と、
前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置／数値を演算する誤り位置／数値演算部と、
前記誤り位置／数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置／数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、
前記誤り位置／数値演算部が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部と、
を備え、
前記誤り位置／数値演算部は、
消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、
前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部と、
前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部と、
前記通常訂正の誤り位置／数値と前記消失訂正の誤り位置／数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置／数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置／数値を前記誤り訂正部に出力する誤り位置／数値セレクタと、
前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、
を有し、
前記誤り訂正制御部は、
前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタと、
前記誤り訂正制御信号が消失訂正を示し、かつ前記第１のカウンタの値が消失訂正可能な最大消失フラグ個数を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第２のカウンタと、
前記第２のカウンタの値が所定の値に達するまでは、前記誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第２のカウンタの値が所定の値に達した場合は、前記シンドローム演算部および前記誤り位置／数値演算部に対し残りの符号語に対する誤り訂正を行わない旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、
を有する、
ことを特徴とする誤り訂正回路。
【請求項５】
請求項１ないし４のいずれかに記載の誤り訂正回路において、
前記符号語の誤っている確率が高いシンボルに対応する前記消失フラグの信頼性を高いとし、誤っている確率が低いシンボルに対応する前記消失フラグの信頼性を低いとする、
ことを特徴とする誤り訂正回路。
【請求項６】
請求項１ないし４のいずれかに記載の誤り訂正回路において、
前記消失フラグセレクタは、前記消失フラグの信頼性の高い順に前記消失フラグ有効数が示す数の前記消失フラグを前記有効な消失フラグとする、
ことを特徴とする誤り訂正回路。
【請求項７】
請求項１ないし４のいずれかに記載の誤り訂正回路において、
前記誤り訂正制御信号生成部は、前記消失フラグ有効数が消失訂正可能な最大消失フラグ数に達するまで前記消失訂正を繰り返し行うよう、前記誤り訂正制御信号を設定する、
ことを特徴とする誤り訂正回路。
【請求項８】
誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、
通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、該演算結果が訂正不能であった回数をカウントする第１の工程と、
該第１の工程による前記訂正不能回数が所定の値に達した場合、前記消失訂正アルゴリズムに基づく演算のみにより前記符号語の誤り訂正を行う第２の工程と、
を含む、
ことを特徴とする誤り訂正方法。
【請求項９】
誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、
通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、誤り訂正動作の開始からの経過時間を計測する第１の工程と、
該第１の工程による前記経過時間が所定の時間を経過した場合、前記消失訂正アルゴリズムに基づく演算のみにより前記符号語の誤り訂正を行う第２の工程と、
を含む、
ことを特徴とする誤り訂正方法。
【請求項１０】
誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、
通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、前記符号語から求めたシンドロームがすべて“０”であった回数をカウントする第１の工程と、
該第１の工程によるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する第２の工程と、
を含む、
ことを特徴とする誤り訂正方法。
【請求項１１】
誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、
通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、該誤り訂正が不能であった回数をカウントする第１の工程と、
該第１の工程によるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する第２の工程と、
を含む、
ことを特徴とする誤り訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正に関するものであり、特に消失フラグを用いて誤り訂正を行う消失訂正を併用し、誤訂正を最小限に抑えつつ効率よく誤り訂正を行い、また消費電力の削減を図ることが可能な誤り訂正回路および誤り訂正方法に関する。
【背景技術】
【０００２】
従来の消失訂正を併用した誤り訂正を行う誤り訂正回路として、特許文献１に記載されたものが知られている。図８にこの特許文献１に示された従来の誤り訂正回路の一構成例を示すブロック図を簡略化したものを、また図９にその誤り訂正動作のフローチャート図を示す。
【０００３】
図８において、５０１は誤り訂正回路であり、該誤り訂正回路５０１において、５１１はシンドローム演算部、５１２は誤り位置／数値演算部、５１３は誤り訂正制御部、５１４は誤り訂正部である。
【０００４】
誤り訂正回路５０１は複数ある符号語と消失フラグを順番に入力し、各符号語に対して誤り位置／数値を求めていく。以下、図８および図９を用いて従来の誤り訂正回路の動作についてその概略を説明する。
【０００５】
まずシンドローム演算部５１１で、入力した符号語に対するシンドロームを演算する。ここでシンドロームの値がすべて“０”であった場合は、その符号語には誤りがないことを示すので、次の符号語に対する処理を開始する。もしシンドロームに“０”以外の値が存在すれば、その符号語には誤りが存在することを意味するので、後段の誤り位置／数値演算部５１２にシンドロームを出力し、誤り位置／数値を求めていく。
【０００６】
誤り位置／数値演算部５１２ではシンドローム演算部５１１が出力したシンドロームを入力し、また現在処理している符号語に対する消失フラグも入力する。ここでこの消失フラグとは、符号語の各シンボルに対して誤っている、あるいは誤っているかもしれないシンボルの位置を表すもので、この消失フラグを用いる誤り訂正を消失訂正と呼ぶ。これに対し、消失フラグを用いない誤り訂正を通常訂正と呼ぶ。誤り訂正制御部５１３は誤り位置／数値演算部５１２に対し、最初に通常訂正アルゴリズムに基づいた演算を行うように制御信号を出力する。誤り位置／数値演算部５１２は誤り位置および誤り数値を求める演算を行い、その結果が訂正可能であった場合は誤り訂正制御部５１３に対し訂正可能という誤り訂正結果を出力し、また誤り位置／数値を誤り訂正部５１４に出力することで誤り訂正部５１４は正しい符号語に訂正する。その後、誤り訂正回路５０１は次の符号語に対する誤り訂正を開始する。一方、訂正不能であった場合は誤り位置／数値演算部５１２は訂正不能であったという誤り訂正結果を出力し、誤り訂正制御部５１３はそれを認識し、同じ符号語に対して次は消失フラグを用いた消失訂正アルゴリズムに基づいた演算を行うよう制御信号を誤り位置／数値演算部５１２に対し出力する。
【０００７】
ここで、消失フラグの最も信頼性の高いものだけを有効とし、消失フラグ有効数を“１”とする。消失フラグの信頼性とは、例えば符号語のあるシンボルに対して正しい確率が高いにもかかわらずそのシンボルの位置に消失フラグが立っている場合は、信頼性が低いとする。逆に間違っている可能性が高いシンボルの位置に対して消失フラグが立っている場合は、信頼性が高いとする。
【０００８】
信頼性の低い消失フラグを用いると、実際には誤っていないデータに対して間違ったデータに誤訂正をしてしまう場合がある。このため信頼性に応じて順位をつけ、信頼性の高い順に消失フラグを有効にし、消失訂正を行っていく。
【０００９】
最初は消失フラグ有効数が“１”であり、最も信頼性の高い消失フラグを用いて誤り位置／数値演算部５１２は消失訂正アルゴリズムに基づいた演算を行う。その結果訂正可能であれば前述の通り、誤り位置／数値を出力し、次の符号語に対する演算を行う。一方訂正不能であれば、誤り訂正制御部は次に信頼性の高い消失フラグを有効にするとともに、消失フラグ有効数を“２”にする。こうして２つの消失フラグを用いた消失訂正アルゴリズムに基づいた演算を行う。
【００１０】
以下、消失訂正アルゴリズムに基づいた演算の結果が訂正不能であるたびに、順次信頼性の高い方から有効な消失フラグを追加し、再度消失訂正を行っていく。ただし、最大Ｍ個までの消失訂正しかできない符号語であるとすると、消失フラグ有効数がＭ個になるまで消失訂正を訂正可能になるまで繰り返し行い、消失フラグ有効数がＭ個を超えた時点で、その符号語に対しては訂正できないと判断し、次の符号語の処理を行うことになる。
【００１１】
以上のように、ある符号語に対し最初は通常訂正を行い、訂正不能であれば有効な消失フラグの数を増やしつつ、訂正可能範囲内で信頼性の高い消失フラグを１つずつ有効にしながら消失訂正を繰り返し行っていく。
【特許文献１】特開平７−５０５９４号公報（第１０頁−第１２頁、図１−図７）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、リアルタイム性が要求されている機器において誤り訂正を行う場合、誤り訂正を行える時間というものはシステムの設計段階で決められている。従って、その決められたスペック以上の時間を要してしまった場合にはシステムの破綻を来たすことになる。また誤り訂正が行われる符号語および消失フラグはメモリに格納されていることが多く、符号語の読み込みや誤っているデータの修正時にはメモリアクセスを行う必要がある。このメモリアクセスを行っている最中は電力を消費しており、メモリアクセス回数が多い程、消費電力が大きくなってくる。
【００１３】
一般に消失訂正というものはあらかじめ誤っているかもしれない位置に対して訂正処理を行うため、例えば誤っていない位置に消失フラグが立っていて、誤っている位置に消失フラグが立っていない場合は、誤っていないデータを間違った値に訂正してしまう誤訂正の確率が高くなる。そのため、可能であるならば通常訂正を先に行い、訂正不能である場合に限り消失訂正を行うほうが、誤訂正確率を低くすることができる。
【００１４】
前述した従来の誤り訂正回路であれば、１つの符号語に対し最初通常訂正を行い、訂正不能であれば信頼性の高い順に消失フラグを採用しながら、誤り位置および誤り数値が求まるまで、あるいは訂正可能な範囲内の最大個数の消失フラグを用いるまで、消失訂正を繰り返し行う。つまりデータ品質が良く誤りがほとんどない状態であれば、最初の通常訂正で訂正することができるが、逆にデータ品質が悪く誤りが多数存在するようなデータであれば、１つの符号語に対する誤り訂正を行う時間が多くなり、例えば後半の符号語の誤り訂正を行っている段階で、誤り訂正に許可されている時間を超えてしまうことが考えられる。そうなった場合は、データの再リードなどの処理が行われることになるが、こうした処理は、リアルタイム性が要求される機器に対しては致命的な問題になることもある。
【００１５】
この発明は、上記のような従来のものの問題点を解決するためになされたもので、誤訂正を最小限に抑えつつ効率よく誤り訂正を行い、また消費電力の削減を図ることが可能な誤り訂正回路および誤り訂正方法を提供することを目的としている。
【課題を解決するための手段】
【００１６】
上記問題を解決するために、本発明では、誤り訂正制御部内にカウンタを設ける。このカウンタは例えば最初の通常訂正が訂正不能で、消失訂正モードに移行した数をカウントしていく。つまり通常訂正では訂正することができない数の誤りが存在する符号語の数をカウントすることになり、この数が多いほどデータ品質が良くないことを意味する。データ品質が良くないということは、現在誤り訂正を行っていない残りの符号語も、通常訂正では訂正できない可能性が高いと考えることができる。
【００１７】
そこでこのカウンタの値がある一定値になった時点で、それ以降の符号語に対する誤り訂正に関しては、通常訂正を行わずに最初から消失訂正を行うようにする。
【００１８】
あるいはタイマを設けることで誤り訂正開始時からの時間を計測しておき、一定時間が経ったところで上記のような誤り訂正方式に切り替える。
【００１９】
このことにより、誤り訂正を行って誤りを正常な値に誤り訂正できる確率が低い状態で通常訂正を行うことを省略し、通常訂正よりも誤り訂正できる可能性の高い消失訂正を誤訂正が起こりにくい方法で行うことで、誤り訂正に要する時間の短縮を図る。それにともない、誤り訂正回路の動作時間が短くなることで、消費電力の削減を図ることができる。
【００２０】
即ち、本発明の請求項１に係る誤り訂正回路は、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、前記符号語からシンドロームを求めるシンドローム演算部と、前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置／数値を演算する誤り位置／数値演算部と、前記誤り位置／数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置／数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、前記誤り位置／数値演算部が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部と、を備え、前記誤り位置／数値演算部は、消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部と、前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部と、前記通常訂正の誤り位置／数値と前記消失訂正の誤り位置／数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置／数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置／数値を前記誤り訂正部に出力する誤り位置／数値セレクタと、前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、を有し、前記誤り訂正制御部は、前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタと、前記誤り訂正制御信号が通常訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第２のカウンタと、前記第２のカウンタの値が所定の値に達するまでは、前記誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第２のカウンタの値が所定の値に達した場合は、前記誤り位置／数値演算部に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、を有する、ことを特徴とするものである。
【００２１】
また、本発明の請求項２に係る誤り訂正回路によれば、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、前記符号語からシンドロームを求めるシンドローム演算部と、前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置／数値を演算する誤り位置／数値演算部と、前記誤り位置／数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置／数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、前記誤り位置／数値演算部が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部と、を備え、前記誤り位置／数値演算部は、消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部と、前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部と、前記通常訂正の誤り位置／数値と前記消失訂正の誤り位置／数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置／数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置／数値を前記誤り訂正部に出力する誤り位置／数値セレクタと、前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、を有し、前記誤り訂正制御部は、前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタと、所定の時間を計測するタイマと、前記タイマの値が所定の時間に達するまでは、前記誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記タイマの値が所定の時間に達した場合は、前記誤り位置／数値演算部に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、を有する、ことを特徴とするものである。
【００２２】
また、本発明の請求項３に係る誤り訂正回路によれば、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、前記符号語からシンドロームを求めるシンドローム演算部と、前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置／数値を演算する誤り位置／数値演算部と、前記誤り位置／数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置／数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、前記誤り位置／数値演算部が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部と、を備え、前記誤り位置／数値演算部は、消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部と、前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部と、前記通常訂正の誤り位置／数値と前記消失訂正の誤り位置／数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置／数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置／数値を前記誤り訂正部に出力する誤り位置／数値セレクタと、前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、を有し、前記誤り訂正制御部は、前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタと、前記シンドローム演算部によって求めた前記シンドロームがすべて“０”であった回数をカウントする第２のカウンタと、前記第２のカウンタの値が所定の値に達するまでは、前記誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第２のカウンタの値が所定の値に達した場合は、前記シンドローム演算部および前記誤り位置／数値演算部に対し残りの符号語に対する誤り訂正を行わない旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、を有する、ことを特徴とするものである。
【００２３】
また、本発明の請求項４に係る誤り訂正回路によれば、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する誤り訂正回路において、前記符号語からシンドロームを求めるシンドローム演算部と、前記シンドローム演算部が出力するシンドロームを用いて前記符号語の誤り位置／数値を演算する誤り位置／数値演算部と、前記誤り位置／数値演算部が出力する、訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように該誤り位置／数値演算部を制御する誤り訂正制御信号を出力する誤り訂正制御部と、前記誤り位置／数値演算部が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部と、を備え、前記誤り位置／数値演算部は、消失フラグ有効数に基づいて、前記消失フラグから有効な消失フラグを選択する消失フラグセレクタと、前記誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部と、前記誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部と、前記通常訂正の誤り位置／数値と前記消失訂正の誤り位置／数値とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の誤り位置／数値を前記誤り訂正部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の誤り位置／数値を前記誤り訂正部に出力する誤り位置／数値セレクタと、前記通常訂正の演算結果と前記消失訂正の演算結果とを入力とし、前記誤り訂正制御信号が前記通常訂正を示していれば前記通常訂正の演算結果を前記誤り訂正制御部に出力し、前記誤り訂正制御信号が前記消失訂正を示していれば前記消失訂正の演算結果を前記誤り訂正制御部に出力する演算結果セレクタと、を有し、前記誤り訂正制御部は、前記誤り訂正制御信号が消失訂正を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタと、前記誤り訂正制御信号が消失訂正を示し、かつ前記第１のカウンタの値が消失訂正可能な最大消失フラグ個数を示している場合、前記演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第２のカウンタと、前記第２のカウンタの値が所定の値に達するまでは、前記誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、前記第２のカウンタの値が所定の値に達した場合は、前記シンドローム演算部および前記誤り位置／数値演算部に対し残りの符号語に対する誤り訂正を行わない旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部と、を有する、ことを特徴とするものである。
【００２４】
また、本発明の請求項５に係る誤り訂正回路は、請求項１ないし４のいずれかに記載の誤り訂正回路において、前記符号語の誤っている確率が高いシンボルに対応する前記消失フラグの信頼性を高いとし、誤っている確率が低いシンボルに対応する前記消失フラグの信頼性を低いとする、ことを特徴とするものである。
【００２５】
また、本発明の請求項６に係る誤り訂正回路は、請求項１ないし４のいずれかに記載の誤り訂正回路において、前記消失フラグセレクタは、前記消失フラグの信頼性の高い順に前記消失フラグ有効数が示す数の前記消失フラグを前記有効な消失フラグとする、ことを特徴とするものである。
【００２６】
また、本発明の請求項７に係る誤り訂正回路は、請求項１ないし４のいずれかに記載の誤り訂正回路において、前記誤り訂正制御信号生成部は、前記消失フラグ有効数が消失訂正可能な最大消失フラグ数に達するまで前記消失訂正を繰り返し行うよう、前記誤り訂正制御信号を設定する、ことを特徴とするものである。
【００２７】
また、本発明の請求項８に係る誤り訂正方法は、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、該演算結果が訂正不能であった回数をカウントする第１の工程と、該第１の工程による前記訂正不能回数が所定の値に達した場合、前記消失訂正アルゴリズムに基づく演算のみにより前記符号語の誤り訂正を行う第２の工程と、を含む、ことを特徴とするものである。
【００２８】
また、本発明の請求項９に係る誤り訂正方法は、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、誤り訂正動作の開始からの経過時間を計測する第１の工程と、該第１の工程による前記経過時間が所定の時間を経過した場合、前記消失訂正アルゴリズムに基づく演算のみにより前記符号語の誤り訂正を行う第２の工程と、を含む、ことを特徴とするものである。
【００２９】
また、本発明の請求項１０に係る誤り訂正方法は、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、前記符号語から求めたシンドロームがすべて“０”であった回数をカウントする第１の工程と、該第１の工程によるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する第２の工程と、を含む、ことを特徴とするものである。
【００３０】
また、本発明の請求項１１に係る誤り訂正方法は、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、前記符号語を正しい符号語に訂正する誤り訂正方法において、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により前記符号語の誤り訂正を行うとともに、該誤り訂正が不能であった回数をカウントする第１の工程と、該第１の工程によるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する第２の工程と、を含む、ことを特徴とするものである。
【発明の効果】
【００３１】
本発明によれば、複数ある符号語それぞれに対する誤り訂正結果を考慮することで誤り訂正モードを適切に切り替え、無駄な処理を減らすことで誤り訂正時間を短縮することができ、またそれにともない誤り訂正回路の消費電力を削減することも可能となる。
【００３２】
即ち、本発明の請求項１，請求項５ないし請求項７に係る誤り訂正回路は、品質が全体的に悪いデータに対しある時点より誤り訂正モードを変更することで、誤訂正確率を最小限に抑えつつ誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。
【００３３】
本発明の請求項２，請求項５ないし請求項７に係る誤り訂正回路は、誤り訂正開始時からの時間を計測しておき、一定時間に達した時点で誤り訂正モードを変更することで、システムの破綻を逃れるようにすることが可能となる。
【００３４】
本発明の請求項３，請求項５から請求項７に係る誤り訂正回路は、品質が全体的に良いデータに対しある時点で誤り訂正を中断することで、誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。
【００３５】
本発明の請求項４，請求項５から請求項７に係る誤り訂正回路は、品質が全体的に悪いデータに対しある時点より誤り訂正を行わないことで、無駄な動作を中断し消費電力の削減を図ることが可能となる。
【００３６】
本発明の請求項８に係る誤り訂正方法は、品質が全体的に悪いデータに対しある時点より誤り訂正モードを変更することで、誤訂正確率を最小限に抑えつつ誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。
【００３７】
本発明の請求項９に係る誤り訂正方法は、誤り訂正開始時からの時間を計測しておき、一定時間に達した時点で誤り訂正モードを変更することで、システムの破綻を逃れるようにすることが可能となる。
【００３８】
本発明の請求項１０に係る誤り訂正方法は、品質が全体的に良いデータに対しある時点で誤り訂正を中断することで、誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。
【００３９】
本発明の請求項１１に係る誤り訂正方法は、品質が全体的に悪いデータに対しある時点より誤り訂正を行わないことで、無駄な動作を中断し消費電力の削減を図ることが可能となる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明の実施をするための最良の形態を具体的に示した実施例について、図面とともに記載する。
【００４１】
（実施の形態１）
本発明の実施の形態１による誤り訂正回路（本発明の請求項１，請求項５ないし請求項７に対応）および誤り訂正方法（請求項８に対応）について、図１，図２，図３を用いて説明する。
【００４２】
この実施の形態１は、全体的にデータ品質が悪いデータに対し、通常訂正で訂正できる可能性が低いと判断した時点で消失訂正に切り替えることで、誤訂正確率を最小限に抑えつつ、誤り訂正に必要な時間を短縮できるようにしたものである。
【００４３】
図１において、１は誤り訂正回路であり、誤り訂正符号が付加された複数の符号語と、前記符号語の１シンボルごとの正誤情報を表す消失フラグとを順次入力し、誤っているシンボルの位置およびその誤り位置に付加された誤り数値（以下、誤り位置／数値と称す）を前記符号語単位で求め、前記符号語を正しい符号語に訂正する。
【００４４】
該誤り訂正回路１において、１１は符号語からシンドロームを求めるシンドローム演算部、１２はシンドローム演算部１１が出力するシンドロームを用いて符号語の誤り位置／数値を演算する誤り位置／数値演算部、１３は誤り位置／数値演算部１２が出力する訂正可能か訂正不能かを示す演算結果を用いて通常訂正または消失訂正のいずれかにより誤り訂正を行うように誤り位置／数値演算部１２を制御する誤り訂正制御部、１４は誤り位置／数値演算部１２が出力する誤り位置／数値をもとに符号語の誤り訂正を行う誤り訂正部である。
【００４５】
また、誤り位置／数値演算部１２において、１２１は消失フラグ有効数に基づいて、消失フラグから有効な消失フラグを選択する消失フラグセレクタ、１２２は誤り訂正制御信号が通常訂正を示している場合、前記シンドロームを用いて通常訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する通常訂正部、１２３は誤り訂正制御信号が消失訂正を示している場合、前記シンドロームと前記有効な消失フラグとを用いて消失訂正アルゴリズムに基づいた演算を行い、訂正可能か訂正不能かを表す演算結果を出力するとともに、訂正可能であれば誤り位置／数値を出力する消失訂正部、１２４は通常訂正の誤り位置／数値と消失訂正の誤り位置／数値とを入力とし、誤り訂正制御信号が前記通常訂正を示していれば通常訂正の誤り位置／数値を誤り訂正部１４に出力し、誤り訂正制御信号が消失訂正を示していれば消失訂正の誤り位置／数値を誤り訂正部１４に出力する誤り位置／数値セレクタ、１２５は通常訂正の演算結果と消失訂正の演算結果とを入力とし、誤り訂正制御信号が通常訂正を示していれば通常訂正の演算結果を誤り訂正制御部１３に出力し、誤り訂正制御信号が消失訂正を示していれば消失訂正の演算結果を誤り訂正制御部１３に出力する演算結果セレクタである。
【００４６】
また、誤り訂正制御部１３において、１３１は誤り訂正制御信号が消失訂正を示している場合、演算結果セレクタが出力する演算結果が訂正不能であった回数をカウントし、その値を前記消失フラグ有効数として出力する第１のカウンタ、１３２は誤り訂正制御信号が通常訂正を示している場合、演算結果セレクタが出力する前記演算結果が訂正不能であった回数をカウントする第２のカウンタ、１３３は第２のカウンタ１３２の値が所定の値に達するまでは、誤り位置／数値演算部に対し通常訂正または消失訂正を行う旨を指示する誤り訂正制御信号を出力し、第２のカウンタ１３２の値が所定の値に達した場合は、誤り位置／数値演算部１２に対し消失訂正のみを行う旨を指示する前記誤り訂正制御信号を出力する誤り訂正制御信号生成部である。
【００４７】
図２は１つの符号語に対する誤り訂正のフローチャートである。符号語の数だけ図２に示された処理が繰り返される。
【００４８】
図２において、Ｓ２０１は通常訂正における訂正不能回数ｊを“０”に設定するステップ、Ｓ２０２はシンドロームがすべて“０”かを判定するステップ、Ｓ２０３はｊが所定値か否かを判定するステップ、Ｓ２０４は通常訂正を行うステップ、Ｓ２０５は通常訂正により訂正可能か否かを判定するステップ、Ｓ２０６は消失フラグ有効数ｉを“１”に設定するとともにｊに“１”を加算するステップ、Ｓ２０７は消失訂正を行うステップ、Ｓ２０８は消失訂正による訂正が可能またはｉがＭになったかを判定するステップ、Ｓ２０９はｉに“１”を加算するステップ、Ｓ２１０はｉを“１”に設定するステップ、Ｓ２１１は次の符号語のシンドローム演算を行うステップ、Ｓ２００ａはステップＳ２０３，Ｓ２１０，Ｓ２０７，Ｓ２０８，Ｓ２０９以外の各ステップからなる第１の工程であり、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により符号語の誤り訂正を行うとともに、演算結果が訂正不能であった回数をカウントする。Ｓ２００ｂはステップＳ２０３，Ｓ２１０，Ｓ２０７，Ｓ２０８，Ｓ２０９の各ステップからなる第２の工程であり、第１の工程Ｓ２００ａによる前記訂正不能回数が所定の値に達した場合、消失訂正アルゴリズムに基づく演算のみにより符号語の誤り訂正を行う。
【００４９】
図３は消失フラグについて説明した図である。
次に動作について説明する。図１において、誤り訂正符号が付加された符号語が複数あり、誤り訂正回路１はこの符号語を１つずつ入力し誤り訂正を行う。また各符号語に対する消失フラグも入力する。ここで消失フラグとは図３に示すように、例えば符号語が１Ｂｙｔｅ＝１シンボルで符号長がＮの場合、１シンボル目からＮシンボル目までのそれぞれの位置に対する正誤情報を持っており、誤っている可能性のあるシンボルの位置に対して消失フラグが立っているが、中には誤っていない確率が高い位置に消失フラグが立っていて、逆に誤っている確率が高い位置に消失フラグが立っていない可能性もある。この場合に消失訂正を行うと間違っていないデータを間違ったデータに訂正してしまう誤訂正を引き起こす可能性も生じる。一方、消失フラグを用いないで誤り訂正を行う通常訂正の場合、誤り位置と誤り数値を求める必要があるため、消失訂正のようにあらかじめ誤っている位置がわかっている場合に比べて、誤り訂正できる誤りの数は少なくなる。しかし、通常訂正のほうが消失訂正に比べて誤訂正を引き起こす確率が少ないため最初に通常訂正を行い、訂正不能の場合に消失訂正を行っていくのが理想である。本発明における誤り訂正もこの方法を採用している。
【００５０】
誤り訂正回路１は複数ある符号語のうち１番目の符号語を入力し、最初にシンドローム演算部１１によりシンドロームを求め、誤り位置／数値演算部１２にシンドロームを転送する。ここで誤り訂正回路１３における第２のカウンタ１３２の値ｊを“０”に初期化しておく（図２のステップＳ２０１参照）。また誤り訂正制御信号生成部１３３が出力する誤り訂正制御信号は、消失フラグを用いないで誤り訂正を行う通常訂正と消失フラグを用いて誤り訂正を行う消失訂正との２種類が設定できるものとし、最初通常訂正が設定されているとする。シンドロームがすべて“０”、つまりその符号語に誤りがない場合は誤り位置／数値演算部１２は何も行わない（ステップＳ２０２参照）。シンドローム演算部１１は次の符号語を入力し、同様にシンドローム演算を行う。一方、求まったシンドロームがすべて“０”でない場合はその符号語には誤りが存在するため、誤り位置／数値演算部１２は誤り位置／数値を求める演算を行う。その前に第２のカウンタ１３２の値ｊがある所定値と同一でないかを判断する（ステップＳ２０３参照）。この所定値に関しては後述するが、一致している場合は誤り訂正制御信号生成部１３３は消失フラグ有効数ｉを“１”に設定したうえで誤り訂正制御信号を消失訂正に設定し、一致していない場合は通常訂正を設定する。ここでは一致していないとし、誤り訂正制御信号は通常訂正が設定されているとする（ステップＳ２０４参照）。これにより、誤り位置／数値演算部１２の中にある２つの誤り訂正回路（通常訂正部１２２と消失訂正部１２３）のうち通常訂正部１２２が選択され、その通常訂正部１２２によってシンドローム演算部１１によって求められたシンドロームを用いて通常訂正アルゴリズムに基づいた演算が行われる。
【００５１】
通常訂正部１２２による演算の結果が訂正可能であれば（ステップＳ２０５参照）、求まった誤り位置／数値を誤り位置／数値セレクタ１２４に出力する。誤り位置／数値セレクタ１２４は誤り訂正制御信号が通常訂正に設定されているため、通常訂正部１２２が出力した誤り位置／数値をそのまま誤り訂正部１４に出力する。誤り訂正部１４はそれをもとに正しい符号語に訂正する（実際には、符号語はメモリなどに格納されているため、この誤り訂正部１４は符号語が格納されているメモリアドレスやライトデータなどを生成し出力することになるが、詳しい説明は省略する）。一方、演算の結果が訂正不能であった場合、訂正不能であったことを示す演算結果を演算結果セレクタ１２５に出力する。演算結果セレクタ１２５は誤り訂正制御信号が通常訂正に設定されているため、通常訂正部１２２が出力した演算結果をそのまま第２のカウンタ１３２に出力する。第２のカウンタ１３２はそれをもとにカウンタ値ｊを１つインクリメントする（ステップＳ２０６参照）。つまりこの第２のカウンタ１３２は通常訂正の結果、訂正不能であった符号語の数をカウントすることとなる。通常訂正で訂正不能であった場合、誤り訂正制御信号生成部１３３は誤り訂正制御信号を通常訂正から消失訂正に設定変更し、出力する。これにともない消失訂正部１２３は通常訂正で訂正不能であった符号語に対し、次は消失訂正を行う（ステップＳ２０７参照）。その際に第１のカウンタ１３１の値ｉを“１”に設定しておく（ステップＳ２０６参照）。
【００５２】
消失訂正におけるシンドロームは通常訂正で使用したものを用いる。消失フラグは消失フラグセレクタ１２１が出力する有効な消失フラグを用いる。ここで第１のカウンタ１３１の値ｉは消失フラグ有効数として消失フラグセレクタ１２１に出力され、消失フラグセレクタ１２１はこの消失フラグ有効数が示す数だけ、消失フラグから信頼性の高い順に選択し、これを有効な消失フラグとして消失訂正部１２３に出力する。
【００５３】
ここで消失フラグの信頼性について説明する。前述したように消失フラグとは符号語のシンボル１つ１つに対する正誤情報を持ったもので、符号語がＮであれば消失フラグもＮ個ある。消失フラグが１シンボルに対して１ｂｉｔずつ割り当てられている場合、誤っている確率が高ければ“１”、低ければ“０”というように表すことができるが、各シンボルに対して複数ｂｉｔずつ割り当てることにより、上記の情報以外に誤っている確率の度合いを表すことも可能となる。
【００５４】
例えば図３に示すように消失フラグがｂｉｔ３〜ｂｉｔ０の４ｂｉｔあるとした場合、ｂｉｔ３が“１”の時は必ず誤っているとし、“０”の時はｂｉｔ２〜ｂｉｔ０の３ｂｉｔを使って誤っている度合いを“０００”〜“１１１”の８段階で表すことが可能となる。本発明の実施の形態１に記載の消失フラグを、このように誤っている確率情報を持った消失フラグとし、誤っている確率によってその消失フラグの信頼性を定義するものとする。つまり必ず誤っていることを示している消失フラグ（例えばｂｉｔ３＝“１”）の信頼性を高いとし、逆に誤っている確率が低いことを示している消失フラグ（例えばｂｉｔ３〜ｂｉｔ０＝“０００１”）の信頼性を低いとする。また上記の例でｂｉｔ３〜ｂｉｔ０＝“００００”以外の時、誤っている確率が少しでもあるので、この場合を「消失フラグが立っている」と呼び、逆にｂｉｔ３〜ｂｉｔ０＝“００００”の時は誤っていないことを示しているため「消失フラグは立っていない」と呼ぶことにする。ただし消失フラグに含まれる誤りの確率情報は、本発明の誤り訂正回路に入力される時点で既に前段の回路などによって生成されているものとする。
【００５５】
第１のカウンタ１３１の値ｉは最初“１”であるため、消失フラグセレクタ１２１は消失フラグから最も信頼性の高い消失フラグを１つ選択し（つまり誤っている確率が最も高いシンボルに対応する消失フラグのみが有効になり、他のシンボルに対応する消失フラグはすべて無効とする）、それを有効な消失フラグとして消失訂正部１２３に出力する。これをもとに消失訂正部１２３は消失訂正アルゴリズムに基づいた演算を行う。
【００５６】
演算の結果が訂正可能であれば通常訂正時と同様に、求まった誤り位置／数値を誤り位置／数値セレクタ１２４に出力する（Ｓ２０８参照）。誤り位置／数値セレクタ１２４は誤り訂正制御信号が消失訂正に設定されているため、消失訂正部１２３が出力した誤り位置／数値をそのまま誤り訂正部１４に出力する。誤り訂正部１４はそれをもとに正しい符号語に訂正する。一方、訂正不能であった場合、第１のカウンタ１３１の値ｉを“１”ずつインクリメントすることにより有効な消失フラグを増加させ、消失訂正を繰り返し行っていく（Ｓ２０９参照）。その前にまず第１のカウンタ１３１の値ｉ、つまり消失フラグ有効数が消失訂正可能な最大消失個数Ｍと同一でないか判断する。同一でない場合は第１のカウンタ１３１の値ｉを１つインクリメントし、消失フラグ有効数も１つ増やす。それにともない消失フラグセレクタ１２１はこの時点での有効な消失フラグに加えて、その次に信頼性の高い消失フラグを有効にし、消失フラグ有効数が示す数の消失フラグを有効な消失フラグとして消失訂正部１２３に出力する。つまり消失訂正で訂正不能であるたびに消失フラグ有効数を１つずつ増やし、それにともない有効な消失フラグも１つずつ増やしながら消失訂正を訂正可能になるまで繰り返す。ただし消失訂正の演算結果が訂正不能であってもｉ＝Ｍの場合、それ以上消失訂正を行うことができない（行っても訂正できない）ため、その符号語に対する誤り訂正は中断し、次の符号語に対する処理に移行する（Ｓ２０９参照）。
【００５７】
以上のように、１つの符号語に対して最初通常訂正を行い、訂正不能であれば誤訂正確率が低くなるように最初最も信頼性の高い消失フラグ１つだけを有効にして消失訂正を行い、それで訂正不能であれば訂正能力の範囲内で信頼性の高い順に消失フラグを増やしながら消失訂正を行う。途中訂正可能になるか、あるいは訂正能力の限界まで行っても訂正不能であれば、その符号語に対する処理は終了し、次の符号語の処理を開始する。
【００５８】
ただし次の符号語の処理に移行する際は、通常訂正が訂正不能で消失訂正を行う前に第１のカウンタ１３１の値ｉは“１”に初期化しなければならないが、第２のカウンタ１３２の値ｊは初期化しないで、最初の通常訂正を行う前に毎回第２のカウンタ１３２の値ｊが所定値と一致していないかどうかを確認する。これは前述した通り、通常訂正で訂正不能であった符号語の数を表しており、この数が一定値に達するということは、それだけデータ品質が悪いという判断をする要因の１つにでき、それ以降の未処理の符号語も通常訂正で訂正できる可能性が低いと判断する。そこでこの第２のカウンタ１３２の値ｊが所定値になった時点で、それ以降の符号語に対して通常訂正を行わず最初から消失訂正を行うよう、誤り訂正制御信号生成部１３３は誤り訂正制御信号を消失訂正に固定する。これにより誤り訂正時間の短縮、および回路の動作時間を減らすことによる消費電力削減を行うことができる。
【００５９】
このように、本発明の実施の形態１によれば、品質が全体的に悪いデータに対しある時点より通常訂正から消失訂正に誤り訂正方式を変更することで、誤訂正確率を最小限に抑えつつ誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。
【００６０】
（実施の形態２）
本発明の実施の形態２による誤り訂正回路（本発明の請求項２，請求項５ないし請求項７に対応）および誤り訂正方法（請求項９に対応）について、図４および図５を用いて説明する。
【００６１】
この実施の形態２は、誤り訂正開始から一定時間が経過した時点で、最初から消失訂正を行うことで、誤り訂正に、機器のスペック以上の時間を費やし、システムが破綻するのを防止できるようにしたものである。
【００６２】
図４において、１３４は誤り訂正動作の開始時点からの経過時間を計測するタイマであり、第２のカウンタ１３２（図１）の代わりに、タイマ１３４を設置し、誤り訂正制御信号生成部１３３が、タイマ１３４の値が所定の時間に達するまでは、誤り位置／数値演算部１２に対し通常訂正または消失訂正を行う旨を指示する前記誤り訂正制御信号を出力し、タイマ１３４の値が所定の時間に達した場合は、誤り位置／数値演算部１２に対し消失訂正のみを行う旨を指示する誤り訂正制御信号を出力するものとなっている以外は図１と同様である。また図５は１つの符号語に対する誤り訂正のフローチャートを表した図である。符号語の数だけ図５に示された処理が繰り返される。
【００６３】
図５において、Ｓ５０１はタイマを初期設定するステップ、Ｓ５０２はシンドロームがすべて“０”かを判定するステップ、Ｓ５０３はタイマによる時間計測値が所定値か否かを判定するステップ、Ｓ５０４は通常訂正を行うステップ、Ｓ５０５は通常訂正により訂正可能か否かを判定するステップ、Ｓ５０６は消失フラグ有効数ｉを“１”に設定するステップ、Ｓ５０７は消失訂正を行うステップ、Ｓ５０８は消失訂正による訂正が可能またはｉがＭになったかを判定するステップ、Ｓ５０９はｉに“１”を加算するステップ、Ｓ５１０はｉを“１”に設定するステップ、Ｓ５１１は次の符号語のシンドローム演算を行うステップ、Ｓ５００ａはステップＳ５０３，Ｓ５１０，Ｓ５０７，Ｓ５０８，Ｓ５０９以外の各ステップからなる第１の工程であり、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により符号語の誤り訂正を行うとともに、誤り訂正動作の開始からの経過時間を計測する。Ｓ５００ｂはステップＳ５０３，Ｓ５１０，Ｓ５０７，Ｓ５０８，Ｓ５０９の各ステップからなる第２の工程であり、第１の工程Ｓ５００ａによる経過時間が所定の時間を経過した場合、消失訂正アルゴリズムに基づく演算のみにより符号語の誤り訂正を行う。
【００６４】
この実施の形態２においては、実施の形態１と異なる点を中心に説明する。
前述した実施の形態１と同様、誤り位置／数値演算部１２は１つの符号語に対してシンドローム演算部１１によりシンドロームを求め、すべて“０”であれば（図５のステップＳ５０２参照）その符号語には誤りがないので、次の符号語を入力しシンドロームを演算する。すべて“０”でない場合は誤りが存在するので最初通常訂正を行う（ステップＳ５０４参照）。訂正不能であれば有効な消失フラグの数を増やしつつ消失訂正を繰り返す。途中訂正可能になるか、あるいは誤り訂正能力の限界に達した時点で、その符号語に対する誤り訂正処理を終了し、シンドローム演算部１１は次の符号語に移行しシンドローム演算を行う。
【００６５】
以下同様であるが、シンドローム演算の結果誤りがあることがわかれば、誤り位置／数値の演算を行う前にタイマ１３４が計測している時間Ｔが所定値以上になっていないか、毎回確認する。
【００６６】
タイマ１３４の時間Ｔが所定値に満たない場合は（ステップＳ５０３参照）、今まで通りの誤り訂正処理を継続する。もしタイマ１３４の時間Ｔが所定値以上であれば、それ以降の符号語に対して通常訂正を行わず最初から消失訂正を行うよう、誤り訂正制御信号生成部１３３は誤り訂正制御信号を消失訂正に固定する。一般に誤り訂正に割り当てられる時間には限りがあり、その決められた時間以内に処理が終わらなければ、システムの破綻を来すことになる。そこでタイマ１３４により誤り訂正開始時から時間Ｔを計測しておき（ステップＳ５０１参照）一定時間以上になった時点で、それ以降の符号語に対する誤り訂正を通常訂正を省略し消失訂正処理のみ行うようにする。
【００６７】
このように、本発明の実施の形態２によれば、誤り訂正開始時からの時間を計測しておき、一定時間に達した時点で誤り訂正方法を変更することで、システムの破綻を逃れるようにすることが可能となる。
【００６８】
（実施の形態３）
本発明の実施の形態３による誤り訂正回路（本発明の請求項３，請求項５ないし請求項７に対応）および誤り訂正方法（請求項１０に対応）について、図１および図６を用いて説明する。
【００６９】
この実施の形態３は、データの品質が全体的に良いデータに対し、ある時点より誤り訂正を行わないようにすることで、誤り訂正に要する時間を短縮できるようにしたものである。
【００７０】
この実施の形態３による誤り訂正回路は、実施の形態１による誤り訂正回路（図１）と同様のブロック構成を有する。但し、第２のカウンタ１３２が、シンドローム演算部１１によって求めたシンドロームがすべて“０”であった回数をカウントし、誤り訂正制御信号生成部１３３が、第２のカウンタ１３２の値が所定の値に達するまでは、誤り位置／数値演算部１２に対し通常訂正または消失訂正を行う旨を指示する誤り訂正制御信号を出力し、第２のカウンタ１３２の値が所定の値に達した場合は、シンドローム演算部１１および誤り位置／数値演算部１２に対し残りの符号語に対する誤り訂正を行わない旨を指示する誤り訂正制御信号を出力するものとなっている点で、実施の形態１とは異なる。
【００７１】
図６は１つの符号語に対する誤り訂正のフローチャートを表した図である。符号語の数だけ図６に示された処理が繰り返される。
【００７２】
図６において、Ｓ６０１はシンドロームがすべて“０”の符号語数ｊに“０”を設定するステップ、Ｓ６０２はｊが所定値か否かを判定するステップ、Ｓ６０３はシンドロームがすべて“０”かを判定するステップ、Ｓ６０４は通常訂正を行うステップ、Ｓ６０５は通常訂正により訂正可能か否かを判定するステップ、Ｓ６０６は消失フラグ有効数ｉを“１”に設定するステップ、Ｓ６０７は消失訂正を行うステップ、Ｓ６０８は消失訂正による訂正が可能またはｉがＭになったかを判定するステップ、Ｓ６０９はｉに“１”を加算するステップ、Ｓ６１０はｊに“１”を加えるステップ、Ｓ６１１はｊを“０”に設定するステップ、Ｓ６１２は次の符号語のシンドローム演算を行うステップ、Ｓ６１３は誤り訂正処理を中断するステップ、Ｓ６００ａはステップＳ６０２，Ｓ６１３以外の各ステップからなる第１の工程であり、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により符号語の誤り訂正を行うとともに、符号語から求めたシンドロームがすべて“０”であった回数をカウントする。Ｓ６００ｂはステップＳ６０２，Ｓ６１３の各ステップからなる第２の工程であり、第１の工程Ｓ６００ａによるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する。
【００７３】
前述した実施の形態１では、通常訂正で訂正不能であった符号語の数により誤り訂正を制御していたが、実施の形態３においてはシンドロームがすべて“０”、つまり誤りがない符号語の数により誤り訂正の制御を行う。実施の形態１と異なる点を中心に以下で説明する。
【００７４】
前述した実施の形態１と同様、誤り位置／数値演算部１２は１つの符号語に対してシンドローム演算部１１によりシンドロームを求め、すべて“０”であれば（図６のステップＳ６０３参照）その符号語には誤りがないので、次の符号語を入力しシンドロームを演算する。すべて“０”でない場合は誤りが存在するので最初通常訂正を行う（ステップＳ６０４参照）。訂正不能であれば有効な消失フラグの数を増やしつつ消失訂正を繰り返す（ステップＳ６０５，Ｓ６１１，Ｓ６１２参照）。途中訂正可能になるか、あるいは誤り訂正能力の限界に達した時点で、その符号語に対する誤り訂正処理を終了し、シンドローム演算部１１は次の符号語に移行しシンドローム演算を行う。
【００７５】
以下同様であるが、最初の符号語に対するシンドローム演算を行う前に第２のカウンタ１３２の値ｊを“０”に初期化しておく（ステップＳ６０１参照）。各符号語のシンドローム演算を行いその結果すべて“０”、つまり誤りがない符号語であれば、第２のカウンタ１３２の値ｊを１つずつインクリメントしていく。途中シンドロームがすべて“０”でない符号語があれば再度第２のカウンタ１３２の値ｊを“０”に初期化する。以下同様であるが、シンドローム演算の後に毎回この第２のカウンタ１３２の値ｊが所定値と一致していないか確認し（ステップＳ６０２参照）、一致していなければ、今まで通りの誤り訂正処理を継続する。もし一致していればそれ以降の符号語に対する誤り訂正処理を中断する（ステップＳ６１３参照）。これは前述した通り、誤りがない符号語がどれだけ連続したか、を表しており、この数が一定値に達するということは、それだけデータ品質が良いという判断をする要因の１つにでき、それ以降の未処理の符号語も誤りがない可能性が高いと判断する。そこでこの第２のカウンタ１３２の値ｊが所定値になった時点で、それ以降の符号語に対して誤り訂正を行わない。これにより誤り訂正時間の短縮、および回路の動作時間を減らすことによる消費電力削減を行うことができる。
【００７６】
また第２のカウンタ１３２の値ｊは、シンドロームがすべて“０”でない符号語があった時点で“０”に初期化すると述べたが、それ以降はこの実施の形態３の機能を無効にすることもできるとする。つまり複数ある符号語のうち第２のカウンタ１３２の値ｊが所定値に達するまで、すべて誤りなしの符号語でなければならない、という条件を満たすことができるようにする。１つでも誤りのある符号語があれば、残りの符号語すべてをチェックする必要があるためである。
【００７７】
このように、本発明の実施の形態３によれば、品質が全体的に良いデータに対しある時点より誤り訂正を行わないことで、誤り訂正に必要な時間を短縮でき、またその分消費電力の低下を図ることが可能となる。
【００７８】
（実施の形態４）
本発明の実施の形態４による誤り訂正回路（本発明の請求項４，請求項５ないし請求項７）および誤り訂正方法（請求項１１に対応）について、図１および図７を用いて説明する。
【００７９】
この実施の形態４は、データ品質が全体的に悪いデータに対し、或る時点より誤り訂正を行わないことにより、誤り訂正に要する時間を短縮できるようにしたものである。
【００８０】
この実施の形態４による誤り訂正回路は、実施の形態１による誤り訂正回路（図１）と同様のブロック構成を有する。但し、第２のカウンタ１３２が、誤り訂正制御信号が消失訂正を示し、かつ第１のカウンタ１３１の値が消失訂正可能な最大消失フラグ個数を示している場合、演算結果セレクタ１２５が出力する演算結果が訂正不能であった回数をカウントし、誤り訂正制御信号生成部１３３が、第２のカウンタ１３２の値が所定の値に達するまでは、誤り位置／数値演算部１２に対し通常訂正または消失訂正を行う旨を指示する誤り訂正制御信号を出力し、第２のカウンタ１３２の値が所定の値に達した場合は、シンドローム演算部１１および誤り位置／数値演算部１２に対し残りの符号語に対する誤り訂正を行わない旨を指示する誤り訂正制御信号を出力するものとなっている点で、実施の形態１とは異なる。
【００８１】
図７は１つの符号語に対する誤り訂正のフローチャートを表した図である。符号語の数だけ図７に示された処理が繰り返される。
【００８２】
図７において、Ｓ７０１は訂正不能な符号語数ｊに“０”を設定するステップ、Ｓ７０２はシンドロームがすべて“０”かを判定するステップ、Ｓ７０３はｊが所定値か否かを判定するステップ、Ｓ７０４は通常訂正を行うステップ、Ｓ７０５は通常訂正により訂正可能か否かを判定するステップ、Ｓ７０６は消失フラグ有効数ｉを“１”に設定するステップ、Ｓ７０７は消失訂正を行うステップ、Ｓ７０８は消失訂正による訂正が可能かを判定するステップ、Ｓ７０９はｉがＭになったかを判定するステップ、Ｓ６０９はｉに“１”を加算するステップ、Ｓ７１０はｉに“１”を加えるステップ、Ｓ７１１はｊに“１”を加えるステップ、Ｓ７１２は次の符号語のシンドローム演算を行うステップ、Ｓ７１３は誤り訂正処理を中断するステップ、Ｓ７００ａはステップＳ７０３，Ｓ７１３以外の各ステップからなる第１の工程であり、通常訂正アルゴリズムに基づく演算または消失訂正アルゴリズムに基づく演算により符号語の誤り訂正を行うとともに、誤り訂正が不能であった回数をカウントする。Ｓ７００ｂはステップＳ７０３，Ｓ７１３の各ステップからなる第２の工程であり、第１の工程Ｓ７００ａによるカウント値が所定の値に達した場合、残りの符号語に対する誤り訂正を中断する。
【００８３】
前述した実施の形態１では、通常訂正で訂正不能であった符号語の数により誤り訂正を制御していたが、実施の形態４においては通常訂正でも消失訂正でも訂正不能であった符号語の数により誤り訂正の制御を行う。実施の形態１と異なる点を中心に以下で説明する。
【００８４】
前述した実施の形態１と同様、誤り位置／数値演算部１２は１つの符号語に対してシンドローム演算部１１によりシンドロームを求め、すべて“０”であれば（図７のステップＳ７０２参照）その符号語には誤りがないので、次の符号語を入力しシンドロームを演算する（ステップＳ７１２参照）。すべて“０”でない場合は誤りが存在するので最初通常訂正を行う（ステップＳ７０４参照）。訂正不能であれば有効な消失フラグの数を増やしつつ消失訂正を繰り返す（ステップＳ７０５，Ｓ７０６，Ｓ７０７参照）。途中訂正可能になるか（ステップＳ７０８参照）、あるいは誤り訂正能力の限界に達した時点で、その符号語に対する誤り訂正処理を終了し、シンドローム演算部１１は次の符号語に移行しシンドローム演算を行う。ここで消失訂正で訂正不能が続き、誤り訂正能力の限界に達し（ステップＳ７０７参照）、それ以上消失訂正を行っても訂正できない場合、第２のカウンタ１３２の値ｊを１つインクリメントしておく。
【００８５】
以下同様であるが、最初の符号語に対するシンドローム演算を行う前に第２のカウンタ１３２の値ｊを“０”に初期化しておく（ステップＳ７０１参照）。各符号語のシンドローム演算を行いその結果すべて“０”、つまり誤りがない符号語であれば、次の符号語の処理に移行し、誤りがあれば誤り位置／数値演算部１２により誤り位置／数値を求めていくが、その前に毎回第２のカウンタ１３２の値ｊが所定値と一致していないかどうか確認する（ステップＳ７０３参照）。一致していなければ、今まで通りの誤り訂正処理を継続する。もし一致していればそれ以降の符号語に対する誤り訂正処理を中断する。これは前述した通り、通常訂正でも消失訂正でも訂正できなかった符号語の数を表しており、この数が一定値に達するということは、それだけデータ品質が悪いという判断をする要因の１つにでき、それ以降の未処理の符号語も訂正できないような誤りが存在する可能性が高いと判断する。そこでこの第２のカウンタ１３２の値ｊが所定値になった時点で（ステップＳ７０３参照）、それ以降の符号語に対して誤り訂正を行わない（ステップＳ７１３参照）。これにより誤り訂正時間の短縮、および回路の動作時間を減らすことによる消費電力削減を行うことができる。
【００８６】
このように、本発明の実施の形態４によれば、品質が全体的に悪いデータに対しある時点より誤り訂正を行わないことで、無駄な動作を中断し消費電力の削減を図ることが可能となる。
【００８７】
なお、上記実施の形態１ないし４では、各実施の形態に対応する誤り訂正回路の誤り訂正動作をフローチャートとして示したが、この動作はコンピュータプログラム、あるいはこれを記録した記録媒体により実現してもよい。
【００８８】
また、このコンピュータプログラムは、誤り訂正が必要なシステムの本来の動作を行うコンピュータが実行してもよく、また、このシステムに誤り訂正専用に設けたコンピュータが実行するものであってもよい。
【産業上の利用可能性】
【００８９】
以上のように、本発明の誤り訂正回路および誤り訂正方法は、誤訂正を抑えつつ誤り訂正を効率よく行えるため、リアルタイム性を要求される機器において消費電力を抑えつつ誤り訂正を行う用途に用いて有用である。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態１，３，４の誤り訂正回路の構成を示すブロック図
【図２】本発明の実施の形態１の誤り訂正動作を示すフローチャート図
【図３】消失フラグの設定例を示した図
【図４】本発明の実施の形態２の誤り訂正回路の構成を示すブロック図
【図５】本発明の実施の形態２の誤り訂正動作を示すフローチャート図
【図６】本発明の実施の形態３の誤り訂正動作を示すフローチャート図
【図７】本発明の実施の形態４の誤り訂正動作を示すフローチャート図
【図８】従来の誤り訂正回路の一構成例を示すブロック図
【図９】従来の誤り訂正回路の誤り訂正動作を示すフローチャート図
【符号の説明】
【００９１】
１  誤り訂正回路
１１  シンドローム演算部
１２  誤り位置／数値演算部
１２１  消失フラグセレクタ
１２２  通常訂正部
１２３  消失訂正部
１２４  誤り位置／数値セレクタ
１２５  演算結果セレクタ
１３  誤り訂正制御部
１３１  第１のカウンタ
１３２  第２のカウンタ
１３３  誤り訂正制御信号生成部
１３４  タイマ
１４  誤り訂正部
５０１  誤り訂正回路
５１１  シンドローム演算部
５１２  誤り位置／数値演算部
５１３  誤り訂正制御部
５１４  誤り訂正部
Ｓ２００ａ，Ｓ５００ａ，Ｓ６００ａ，Ｓ７００ａ  第１の工程
Ｓ２００ｂ，Ｓ５００ｂ，Ｓ６００ｂ，Ｓ７００ｂ  第２の工程
【図１】
2005072975.tif 000003
【図２】
2005072975.tif 000004
【図３】
2005072975.tif 000005
【図４】
2005072975.tif 000006
【図５】
2005072975.tif 000007
【図６】
2005072975.tif 000008
【図７】
2005072975.tif 000009
【図８】
2005072975.tif 000010
【図９】
2005072975.tif 000011