"幅優先探索計算方法によってハフマン木の各々のノードの索引値を順番に作成するステップと、第一ノードから始めて索引値の前記ハフマン木の各々のノードを順番に読み取るステップと、各々のノードの情報を第一部分情報及び第二部分情報に分割してアレイに記憶するステップと、を備え、前記ハフマン木の各々のノードは戻り値を含むことを特徴とするハフマン木の記憶方法。各々のノードの情報を第一部分情報及び第二部分情報に分割してアレイに記憶するステップは、各々のノードの第一部分情報の2進法の数値及び第二部分情報の2進法の数値を合計するステップと、前記合計された2進法の数値に対応する10進法の数値をアレイに記憶するステップと、を備えることを特徴とする請求項1に記載のハフマン木の記憶方法。各々のノードの情報を第一部分情報及び第二部分情報に分割してアレイに記憶するステップは、現在のノードが内部ノードである場合、前記現在のノードの第一部分情報の値が前記現在のノードの左の子ノードの索引値と前記現在のノードの索引値の差値であり、前記現在のノードの第二部分情報の値が1であるステップと、現在のノードが外部ノードである場合、前記現在のノードの第一部分情報の値が前記現在のノードの戻り値であり、前記現在のノードの第二部分情報の値が0であるステップと、を備えることを特徴とする請求項2に記載のハフマン木の記憶方法。前記第一部分情報の記憶長さが7bitsであり、前記第二部分情報の記憶長さが1bitであることを特徴とする請求項4に記載のハフマン木の記憶方法。アレイ第一部分情報及び第二部分情報を含むハフマン木の各々のノードの情報を記憶するアレイでデータデコーディングする方法において、aデコーディングされるビットストリームを獲得するステップと、bハフマン木から第一ノードを読み取るステップと、c前記ノードは葉ノードであるかどうかを判断するステップと、d前記ノードが葉ノードではない場合、前記ビットストリームから1つのビットを順番に読み取り、読み取られたビットの値に基づいて次の捜そうとするノードを確定し、次いで、ステップcに戻り、次の捜そうとするノードが葉ノードであるかどうかを判断するステップと、e前記ノードが葉ノードである場合、前記ノードの索引値に基づいて、ハフマンアレイから前記ノードの記憶値を捜し、前記ノードの記憶値から前記ノードの第一部分情報の値を獲得して前記ノードの戻り値とするステップと、f前記ビットストリームの読取を完成したかどうかを判断するステップと、g前記ビットストリームの読取を完成しなかった場合、ステップbに戻るステップと、h前記ビットストリームの読取を完成した場合、ステップeで獲得した各々のノードの戻り値を出力して、前記ビットストリームのデコーディング過程を完成するステップと、を備えることを特徴とするアレイでデータデコーディングする方法。各々のノードの情報を第一部分情報及び第二部分情報に分割してアレイに記憶するステップは、各々のノードの第一部分情報の2進法の数値及び第二部分情報の2進法の数値を合計するステップと、前記合計された2進法の数値に対応する10進法の数値をアレイに記憶するステップと、を備えることを特徴とする請求項5に記載のアレイでデータデコーディングする方法。各々のノードの情報を第一部分情報及び第二部分情報に分割してアレイに記憶するステップは、現在のノードが内部ノードである場合、前記現在のノードの第一部分情報の値が前記現在のノードの左の子ノードの索引値と前記現在のノードの索引値の差値であり、前記現在のノードの第二部分情報の値が1であるステップと、現在のノードが外部ノードである場合、前記現在のノードの第一部分情報の値が前記現在のノードの戻り値であり、前記現在のノードの第二部分情報の値が0であるステップと、を備えることを特徴とする請求項6に記載のアレイでデータデコーディングする方法。前記ノードは葉ノードであるかどうかを判断するステップは、前記ノードの第二部分情報の値が1である場合、前記ノードは、内部ノードであると判断するステップと、前記ノードの第二部分情報の値が0である場合、前記ノードは、葉ノードであると判断するステップと、を備えることを特徴とする請求項7に記載のアレイでデータデコーディングする方法。ビットの値に基づいて次の捜そうとするノードを確定するステップは、前記ビットの値が0である場合、次の捜そうとするノードの索引値は、現在のノードの索引値現在のノードの第一部分情報の値であるステップと、前記ビットの値が1である場合、次の捜そうとするノードの索引値は、現在のノードの索引値現在のノードの第一部分情報の値1であるステップと、を備えることを特徴とする請求項7に記載のアレイでデータデコーディングする方法。現在のノードの第一部分情報の値を獲得するステップは、現在のノードの記憶値に対応する2進法の数値を右へ1位移動してから2進法の数値を得るステップと、右へ移動された2進法の数値を10進法の数値に変換してから現在のノードの第一部分情報の値を獲得するステップと、を備えることを特徴とする請求項9に記載のアレイでデータデコーディングする方法。本発明の第一の目的は、前記問題を解決し、記憶容量を節約することができ、ハフマンエンコーディング効率を向上させるハフマン木の記憶方法を提供することである。本発明の第二の目的は、前記問題を解決し、記憶容量を節約することができ、ハフマンエンコーディング効率を向上させるアレイでデータデコーディングする方法を提供することである。前記第一の目的を達成するため、本発明に係るハフマン木の記憶方法は、幅優先探索計算方法によってハフマン木の各々のノードの索引値を順番に作成するステップと、第一ノードから始めて索引値の前記ハフマン木の各々のノードを順番に読み取るステップと、各々のノードの情報を第一部分情報及び第二部分情報に分割してアレイに記憶するステップと、を備え、前記各々のノードは戻り値を含む。前記第二の目的を達成するため、本発明に係るアレイでデータデコーディングする方法は、そのアレイには、第一部分情報及び第二部分情報を含むハフマン木の各々のノードの情報を記憶する。aデコーディングされるビットストリームを獲得するステップと、bハフマン木から第一ノードを読み取るステップと、c前記ノードは葉ノードであるかどうかを判断するステップと、d前記ノードが葉ノードではない場合、前記ビットストリームから1つのビットを順番に読み取り、読み取られたビートの値に基づいて次の捜そうとするノードを確定し、次いで、ステップcに戻り、次の捜そうとするノードが葉ノードであるかどうかを判断するステップと、e前記ノードが葉ノードである場合、前記ノードの索引値に基づいて、ハフマンアレイから前記ノードの記憶値を捜し、前記ノードの記憶値から前記ノードの第一部分情報の値を獲得して前記ノードの戻り値とするステップと、f前記ビットストリームの読取を完成したかどうかを判断するステップと、g前記ビットストリームの読取を完成しなかった場合、ステップbに戻るステップと、h前記ビットストリームの読取を完成した場合、ステップeで獲得した各々のノードの戻り値を出力して、前記ビットストリームのデコーディング過程を完成するステップと、を備える。本発明に係るハフマン木の記憶方法及びアレイでデータデコーディングする方法は、アレイでハフマン木のノード情報を記憶することができる。デコーディング中に、再び前記アレイを利用してハフマン木のノードの戻り値を捜す。従って、記憶容量を節約し、ハフマンエンコーディング効率を向上させる。図1は、本発明の実施形態に係る記憶モジュール及びデコーディングモジュールの応用環境を示す図である。前記記憶モジュール22及び前記デコーディングモジュール23は、表示装置1及び入力装置4に接続しているコンピューター2で実行される。前記コンピューター2は、記憶装置20及び中央演算処理装置CentralProcessingUnit24をさらに備える。本実施形態において、前記記憶モジュール22は、アレイでハフマン木のノード情報を記憶する。前記デコーディングモジュール23は、前記アレイに基づいてデータビットストリームをデコーディングする。本実施形態において、前記アレイは、1次元のアレイである。前記記憶装置20は、前記コンピューター2のハードディスク又はデータベース等であってもよく、情報21を記憶することに用いられる。本実施形態において、前記情報21は、デコーディングされるデータビットストリーム等を含む。前記中央演算処理装置24は、前記記憶モジュール22及び前記デコーディングモジュール23の実行状態を制御することに用いられる。前記表示装置1は、前記デコーディングモジュール23によってデコーディングされたデータ等を表示することに用いられる。前記入力装置4は、キーボード又はマウス等であってもよく、データを入力することに用いられる。図2は、本発明の実施形態に係るハフマン木の記憶方法のフローチャートである。ステップS10:前記記憶モジュール22は、幅優先探索BreadthFirstSearch、BFS計算方法によって、ハフマン木の各々のノードの索引値を順番に作成する。例えば、図3に示したハフマンフォームに基づいて図4に示したハフマン木を作成した場合、幅優先探索計算方法によって、左上から右下に至る順序で前記ハフマン木の各々のノードに対して番号を付ける0から始めることによって、各々のノードの索引値を作成して、図5に示した索引値を有するハフマン木を得る。図中、各々のノードの索引値は、前記ノードの上方に下線付きの太字で表示する。ステップS12:前記記憶モジュール22は、第一ノードから始めて索引値の前記ハフマン木の各々のノードを順番に読み取る。本実施形態において、前記記憶モジュール22は、索引値の昇順にしたがって前記ハフマン木の各々のノードを読み取る。ステップS14:前記記憶モジュール22は、各々のノードの情報を第一部分情報Value2及び第二部分情報LeafBit図6のA部分を参照するに分割し、且つ各々のノードの第一部分情報Value2の2進法の数値及び第二部分情報LeafBitの2進法の数値を合計してから、合計された2進法の数値に対応する10進法の数値をアレイに記憶する。以下、合計された2進法の数値に対応する10進法の数値を記憶値と呼び、前記アレイをハフマンアレイと呼ぶ。具体的に説明すると、現在のノードが内部ノードである場合、第一部分情報Value2の値が前記ノードの左の子ノードの索引値と現在のノードの索引値との差値であり、第二部分情報LeafBitの値が1である。現在のノードが外部ノード葉ノードである場合、第一部分情報Value2の値が現在のノードの戻り値であり、第二部分情報LeafBitの値が0である。図5に示したハフマン木を例として説明すると、前記ハフマン木のノードの戻り値は、-3~3の範囲にある。全ての内部ノードに対して、各々のノードの左の子ノードの索引値とこのノードの索引値との差値の最大値は3である。従って、前記ハフマン木の1つのノードを記憶する際、占用する位数は、少なくとも3BitValue21BitLeafBit=4Bitである。ソフトでハフマン木のアレイを記憶する場合、アレイは少なくとも1byteであるため、C言語で以下のようなハフマンアレイを作成することができる。charHuffman_Array13={3,5,7,-2,2,5,0,4,3,5,-4,-6,6}。索引値が5であるノードを例として説明すると、これが内部ノードであるので、前記ノードの第一部分情報Value2の値が左の子ノードの索引値と前記ノードの索引値との差値であり、前記差値が2である。前記ノードの第二部分情報LeafBitの値が1である。図6のB部分に示したように、もし各々のノードを8Bitsで記憶する際、その中の第一部分情報Value2の値は7Bitsで記憶し、即ち00000102であり、第二部分情報LeafBitの値は1Bitで記憶すると、アレイHuffman_Arrayにおける前記ノードの記憶値Huffman_Array5が5であり、即ち000001012である。索引値が10であるノードを例として説明すると、これが外部ノードであるので、図6のC部分に示したように、前記ノードの第一部分情報Value2の値が戻り値であり、前記戻り値が-2であり、即ち11111102であり、第二部分情報LeafBitの値が0である。アレイHuffman_Arrayにおける前記ノードの記憶値Huffman_Array10が-4であり、即ち、111111002である。図7は、本発明の実施形態に係るアレイでデータデコーディングする方法のフローチャートである。ステップS20:デコーディングモジュール23は記憶装置20からデコーディングされるビットストリームを獲得する。ステップS21:前記デコーディングモジュール23はハフマン木から第一ノードを読み取ってデコーディングする。ステップS22:前記デコーディングモジュール23は、前記ノードが葉ノードであるかどうかを判断する。前記ノードが葉ノードではない場合、ステップS23を行う。前記ノードが葉ノードである場合、ステップS24を行う。具体的に説明すると、前記ノードの第二部分情報LeafBitの値が1である場合即ち、ハフマンアレイにおける前記ノードの記憶値に対応する2進法の数値の最後の位が1である場合、前記デコーディングモジュール23は前記ノードが内部ノードだと判定する。前記ノードの第二部分情報LeafBitの値が0である場合即ち、ハフマンアレイにおける前記ノードの記憶値に対応する2進法の数値の最後の位が0である場合、前記デコーディングモジュール23は前記ノードが葉ノードだと判定する。ステップS23:前記デコーディングモジュール23は、前記ビットストリームから1つのビットを順番に読み取り、読み取られたビートの値に基づいて次の捜そうとするノードを確定し、次いで、ステップS22に戻り、次の捜そうとするノードが葉ノードであるかどうかを判断する。具体的に説明すると、前記ビットの値が0である場合、次の捜そうとするノードの索引値は、現在のノードの索引値現在のノードの第一部分情報Value2の値である。前記ビットの値が1である場合、次の捜そうとするノードの索引値は、現在のノードの索引値現在のノードの第一部分情報Value2の値1である。現在のノードの第一部分情報Value2の値は、以下の方法を採用して獲得することができる。現在のノードの索引値に基づいて、ハフマンアレイから現在のノードの記憶値を捜し、現在のノードの記憶値から現在のノードの第一部分情報Value2の値を獲得する。具体的に説明すると、前記デコーディングモジュール23は、現在のノードの記憶値に対応する2進法の数値を右へ1位移動してから2進法の数値を得る。右へ移動された2進法の数値を10進法の数値に変換してから現在のノードの第一部分情報Value2の値を獲得する。ステップS24:前記デコーディングモジュール23は、前記ノードの索引値に基づいて、ハフマンアレイから現在のノードの記憶値を捜し、現在のノードの記憶値から現在のノードの第一部分情報Value2の値を獲得して前記ノードの戻り値とする。ステップS25:前記デコーディングモジュール23は、前記ビットストリームの読取を完成したかどうかを判断する。前記ビットストリームの読取を完成した場合、ステップS26を行う。前記ビットストリームの読取を完成しなかった場合、ステップS21に戻す。ステップS26:前記デコーディングモジュール23は、ステップS24で獲得した各々のノードの戻り値を出力して、前記ビットストリームのデコーディング過程を完成する。本実施形態において、前記デコーディングモジュール23は、獲得した各々のノードの戻り値を前記表示装置1に出力する。以下、例を挙げてデコーディング過程に対して具体的に説明する。デコーディングされるビットストリームが0101000110110111である場合、図5に示したハフマン木を使用して前記ビットストリームに対してデコーディングする。図6を参照すると、前記ハフマン木を記憶するアレイは、Huffman_Array13={3,5,7,-2,2,5,0,4,3,5,-4,-6,6}に定義される。デコーディング過程が以下のステップを含む。1ルートノードrootnodeから始め、索引値Index=0である。2前記ノードが葉ノードであるかどうかを判断し、Huffman_Array0の最小位が1であるため、前記ノードは葉ノードではない。3ビットストリームから1つのビットを順番に読み取る。具体的には、最初に第一個目のビットを読み取り、次に第二個目のビットを読み取り、第n番目に第n個目のビットを読み取る。第一個目のビットが0であるため、索引値Index=0Huffman_Array0>>1=01=1である。次の捜そうとするノードの索引値が1である。その中、Huffman_Array0>>1は、索引値がIndexであるノードの第一部分情報Value2を表示する。4Index=1であるノードが葉ノードであるかどうかを判断し、Huffman_Array1の最小位が1であるため、前記ノードは葉ノードではない。5ビットストリームから次のビットを読み取り、次のビットが1であるため、索引値Index=1Huffman_Array1>>11=121=4であり、次の捜そうとするノードの索引値が4である。6Index=4であるノードが葉ノードであるかどうかを判断し、Huffman_Array4の最小位が0であるため、前記ノードは葉ノードであり、戻り値=Huffman_Array4>>1=1である。7上記の1~6のステップによって、前記ビットストリームの読取を完成するまでに、ビットストリーム0101000110110111の中の他のデータ、下線の部分であるに対してデコーディングし、獲得したデコーディング値は、{1,1,-1,1,-2,0}である。以上、本発明を実施形態に基づいて具体的に説明したが、本発明は、上述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲において、種々の変更が可能であることは勿論であって、本発明の保護範囲は、添付の特許請求の範囲によって決まる。"