WO2004095712A1 - 符号化装置、復号化装置、符号化プログラム及び復号化プログラム - Google Patents

符号化装置、復号化装置、符号化プログラム及び復号化プログラム Download PDF

Info

Publication number
WO2004095712A1
WO2004095712A1 PCT/JP2004/004553 JP2004004553W WO2004095712A1 WO 2004095712 A1 WO2004095712 A1 WO 2004095712A1 JP 2004004553 W JP2004004553 W JP 2004004553W WO 2004095712 A1 WO2004095712 A1 WO 2004095712A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
block
memory buffer
external storage
storage device
Prior art date
Application number
PCT/JP2004/004553
Other languages
English (en)
French (fr)
Inventor
Shuji Tateno
Masaya Teraoka
Original Assignee
Nomura Research Institute Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Co., Ltd. filed Critical Nomura Research Institute Co., Ltd.
Publication of WO2004095712A1 publication Critical patent/WO2004095712A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Definitions

  • the present invention relates to an encoding technique and a decoding technique, and particularly to an encoding technique for performing error correction encoding by block encoding and convolutional encoding when transmitting digital data, and a transmission technique encoded in this way.
  • the present invention relates to a technique for performing convolutional decoding and block decoding on data to restore the data. Background technology
  • FEC forward error correction
  • This is generally realized by a combination of a block code for dividing input digital data into a predetermined size and performing error correction encoding and a convolutional code for multiplexing each block encoded data.
  • Convolutional coding is a coding method in which the coded symbol at time t is multiplexed using k pieces of information from time t-1 k + 1 to time t, where k is the constraint length, the number of output codes Kn where n is the code rate is called.
  • a memory buffer of (k * b) is required if the size of each coding block is b.
  • the present invention has been devised in order to solve such a conventional problem. Even in an environment where the memory size is limited, convolutional coding of a coded symbol of an arbitrary block size can be performed. It aims to provide a technology that can perform block decoding. Disclosure of the invention
  • an encoding device described in claim 1 encodes input data for each block, stores the generated encoded symbols in an external storage device, and performs convolutional encoding. It is characterized by comprising means for transferring necessary encoding symbols from the external storage device to the memory buffer, and means for convolutionally encoding the encoded symbols arranged in the memory buffer.
  • the encoding program described in claim 5 is a computer that encodes input data for each block and externally writes the generated encoded symbols. Function as means for storing in a storage device, means for transferring an encoding symbol required for convolutional encoding from the external storage device to a memory buffer, and means for convolutionally encoding an encoding symbol arranged in the memory buffer. It is characterized by
  • the present invention is not limited to a specific convolutional coding method, and any convolutional coding method can be adopted (the same applies hereinafter).
  • the “convolutional coding” in the present invention is a concept including a case where block codes are simply joined without adding redundancy (simple sequential output method) (the same applies hereinafter).
  • the encoding device encodes input data for each block, stores the generated encoded symbols in an external storage device, and encodes the encoded symbols necessary for convolutional encoding as described above.
  • the encoding program described in claim 6 is a computer which encodes input data for each block, stores the generated encoding symbol in an external storage device, and encodes data necessary for convolutional encoding.
  • the function is to function as a means for shifting the coded symbols arranged in the memory buffer to the next-stage memory buffer and a means for convolutionally encoding the coded symbols arranged in the last-stage memory buffer.
  • first-stage memory buffer means a memory buffer to which the encoding symbol is transferred from the external storage device, and “the last-stage memory buffer j supplies the encoding symbol to the convolution encoding means.
  • the encoded symbols transferred from the external storage device to the first memory buffer pass through the memory buffer interposed in the middle, and Shifted to memory buffer.
  • the encoding symbol necessary for the next convolutional encoding is transferred from the external storage device to the memory buffer at the first stage.
  • the first memory buffer and buffer correspond to the “first-stage memory buffer”
  • the second memory buffer corresponds to ⁇ the last-stage memory buffer J.
  • the encoding symbol in the first memory buffer is shifted to the second memory buffer.
  • a plurality of memory buffers are provided between the external storage device and the convolutional coding means, and the encoding symbols in the external storage device are once transferred to one memory buffer and then sequentially shifted to another memory buffer.
  • a decoding device wherein the decoding unit performs convolution decoding of the input data to generate an encoding symbol in units of blocks, and a unit that outputs each encoding symbol to a different channel of the external storage device for each block. And the outside Means for decoding a coded symbol in the storage device on a block-by-block basis.
  • the decoding program described in Claim 7 is a computer that convolves and decodes input data to generate encoded symbols in units of blocks, and that each encoded symbol is stored in a different external storage device for each block. It is characterized in that it functions as a means for outputting to a channel and a means for decoding a coded symbol in the external storage device in block units.
  • the data is temporarily output to an external storage device such as a disk, and then the block decoding processing is sequentially performed, so that the coded block ( (Including chain reaction coded data) can be decoded.
  • a decoding apparatus comprising means for convolutionally decoding input data to generate encoded symbols in block units, means for outputting each encoded symbol to a memory buffer for each block, Means for outputting each coded symbol to one channel of the external storage device when a predetermined number of coded symbols are stored in the memory buffer every time, and a coded symbol stored in the external storage device. And decoding means for each block.
  • the decoding program described in claim 8 is a computer which convolves and decodes input data to generate encoded symbols in block units, and outputs each encoded symbol to a memory buffer for each block. Means for outputting each encoded symbol to one channel of an external storage device when a predetermined number of encoded symbols are accumulated in the memory buffer for each block; It is characterized by functioning as means for decoding in block units.
  • the convolutionally decoded encoded symbols are stored on an external device such as a disk.
  • an external device such as a disk.
  • FIG. 1 is a block diagram showing an encoding device according to the present invention.
  • FIG. 2 is a block diagram showing a modification of the encoding device.
  • FIG. 3 is a block diagram showing another modification of the encoding device.
  • FIG. 4 is a block diagram showing a first decoding device according to the present invention.
  • FIG. 5 is a block diagram showing a second decoding device according to the present invention.
  • FIG. 6 is a conceptual diagram showing a data structure in a memory buffer and an external storage device in the second decoding device.
  • FIG. 1 is a block diagram showing an encoding device 10 according to the present invention.
  • the encoding device 10 includes a plurality of block encoding means 12, an external storage device 14 such as a hard disk, a memory transfer means 16, a memory buffer 18, and a convolutional encoding means 20.
  • Each block encoding means 12 writes the output symbol to the external storage device 14.
  • the memory transfer means 16 is provided for each block stored in the external storage device 14.
  • the encoding symbol is extracted by b and transferred to the memory buffer 18.
  • the convolution encoding means 20 sequentially convolutionally encodes each encoded symbol in the memory buffer 18 based on the transmission rate (r) input from the transmission circuit 22 and outputs the encoded symbol to the transmission circuit 22.
  • the encoding device 10 of FIG. 1 can convolutionally encode a symbol encoded with an arbitrary block length with a predetermined memory buffer amount.
  • the requirement required for the memory transfer means 16 can be indicated by the number of output symbols b per block.
  • each block encoding unit 12 can operate simultaneously.
  • the number can be denoted by mZc.
  • the maximum value max (b) of b is (MZs) v.
  • the supply of the symbol to the convolutional encoder 20 may be delayed.
  • FIG. 2 shows an example of this, and includes a first memory buffer 18a, a second memory buffer 18b, and a buffer shift means 24.
  • the memory transfer means 16 first transfers b symbols to the first memory buffer 18a by V blocks.
  • the memory transfer means 16 shifts the symbols in the first memory buffer 18a using the buffer shift means 24, and shifts the symbols in the second memory buffer 18a. It is placed in the buffer 18b, and the b symbols are transferred to the first memory buffer 18a again for V blocks.
  • the convolutional encoding unit 20 sequentially convolutionally encodes each of the encoded symbols in the second memory buffer 18b, and when all the symbols have been encoded, sends a symbol request to the memory transfer unit 16.
  • the supply efficiency of the encoding symbol can be further improved.
  • q (q ⁇ 3) memory buffers are provided between the external storage device 14 and the convolution encoding means 20.
  • the memory transfer means 16 transfers b symbols for V blocks to the first memory buffer 18a located at the forefront. Further, in response to the symbol request from the convolutional encoding means 20, the encoded symbols are sequentially shifted to the next-stage memory buffer through the buffer shift means 24.
  • the convolution encoding means 20 performs the convolution encoding process on the encoding symbol in the q-th memory buffer 18 q located at the last stage.
  • FIG. 4 is a block diagram showing a first decoding device 30 according to the present invention.
  • the first decoding device 30 includes a convolution decoding means 32, an external storage device 34, and a plurality of block decoding means 36.
  • the error correction encoded digital data input from the transmission circuit 38 is decoded by the convolution decoding means 32, and an encoded symbol for each block is generated. These encoded symbols are output to the external storage device 34.
  • the block decoding means 36 executes a decoding process.
  • the convolution decoding means 32 creates an output channel for each block in the external storage device 34.
  • Disk files are an example of an output channel embodiment.
  • the convolutional decoding means 32 simultaneously creates disk files corresponding to the number of input blocks V in FIG. Outputs a symbol.
  • the number of symbols output to each disk file is k / V.
  • the block decoding means 36 performs a decoding process in response to the notification from the convolution decoding means 32 or self-detection that the necessary amount of encoded symbols has been accumulated in the disk file.
  • the number of blocks that can be operated simultaneously by each block decoding means 36 is mZc. Can be shown. Therefore, if the decoding device 30 satisfies m ⁇ c, it is possible to process an arbitrary constraint length k and the number of blocks.
  • the external storage device 34 such as a disk file is generally subject to the following restrictions in performance and function.
  • a second decoding device 40 comprises a memory buffer 42 and an external storage output device between a convolutional decoding device 32 and an external storage device 34. 44 are provided.
  • the encoded symbols of each block decoded by the convolution decoding means 32 are output to the memory buffer 42 and then output to the external storage device 34 by the external storage output means 44 at appropriate timing.
  • the block decoding means 36 executes a decoding process after a predetermined number of encoded symbols have been stored in the external storage device 34.
  • V symbol sets 48 in which P encoding symbol 46 are arranged are formed corresponding to the number of input turns. .
  • the number p of the symbol array is given by (V * symbol size s).
  • the external storage output means 44 sequentially writes this data structure to one output channel of the external storage device 34 in response to the p symbols being arranged in each symbol set 48.
  • the external storage output means 44 creates one file 50 in the external storage device 34 and the array of the symbol set 48 is Each time it is completed, the data structure in the memory buffer 42 is sequentially written to the file 50.
  • Each block decoding means 36 (# 1 to #v) sequentially reads the corresponding symbol set in the file 50 and executes block decoding processing.
  • the external storage As described above, once a data structure composed of a predetermined number of encoded symbols is formed in the memory buffer 42, and the data structure is collectively written to the external storage device 34 via the external storage output means 44, the external storage The number of times of writing to the device 34 can be reduced, and the overall processing time can be shortened. Incidentally, according to the example of the data structure shown in FIG. 6, the number of times of writing is 1 (p) compared to the case where the convolutional decoding means 32 writes data directly to the external storage device 34 as in the embodiment of FIG. * V) times.
  • the block encoding means 12, memory transfer means 16, convolutional encoding means 20, buffer shift means 24, convolutional decoding means 32, block decoding means 36, and external storage output means 44 are dedicated to the computer CPU. This is achieved by executing an ablation program.
  • the encoding device according to claim 1 and the encoding device according to claim 5 According to the encoding program, it is possible to convolutionally encode digital data of an arbitrary size even with an encoding device having a small amount of memory.
  • convolutional encoding of block encoded data exceeding the memory buffer amount can be performed, and an external storage device is interposed. This makes it possible to compensate for the decrease in data transfer speed caused by this.
  • the decoding process can be performed using a relatively small amount of memory.
  • the effect of improving the performance by reducing the number of accesses to the external storage device can be expected, and the file generated in the external storage device can be expected.
  • the number of files can be reduced to one, and the restriction on the number of files in the processing unit can be avoided.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

入力データをブロック毎に符号化し、生成された符号化シンボルを外部記憶装置14に蓄積する手段12と、畳み込み符号化に必要な符号化シンボルを、外部記憶装置14からメモリバッファ18に転送する手段16と、メモリバッファ18内に配置された符号化シンボルを畳み込み符号化する手段20とを備えた符号化装置10。

Description

明 細 書 符号化装置、 復号化装置、 符号化プログラム及び復号化プログラム 技 術 分 野
この発明は符号化技術及び復号化技術に係り、 特に、 デジタルデータを 伝送するに際し、 プロック符号化及び畳み込み符号化による誤り訂正符号 化を施す符号化技術と、 このようにして符号化された伝送データに対して 畳み込み復号化及びプロック複号化を施してデータを復元する技術に関す る。 背 景 技 術
デジタル通信における誤り訂正符号技術の 1 つとして、 フォーワードェ ラーコ レクション (FEC) がある。
これは、 入力デジタルデータを所定のサイズに分割し、 誤り訂正符号化 をするブロック符号と、 各プロック符号化データを多重化する畳み込み符 号との組み合わせで実現されるのが一般的である。
畳み込み符号化は、 時刻 t における符号化シンボルを時刻 t一 k + 1 か ら時刻 t までの k個の情報を使って多重化する符号化方式であり、 ここで kを拘束長、 出力符号数を nとしたときの k nを符号化率と呼ぶ。
畳み込み符号化において、 入力となるそれぞれの符号化シンボルを別々 の符号化ブロックに割り当てることにより、 伝送バケツ 卜のバース ト (局 所集中的な) 誤りに対応することができる。
このようなプロック符号や畳み込み符号の方式としては種々の方法が知 られ.ておリ、 リ一ドソ口モン符号ゃビタ ビ符号はその代表例である。
また、 米国特許 6 3 7 3 4 0 6に代表されるようなチェーンリアクショ ン符号と呼ばれる方式では、 少ない計算量で符号化範囲を広げることが可 能であり、 大きなブロックサイズを実現できる方式と して知られている。
しかしながら、 従来の技術はいずれも、 複数の符号化ブロックがプロセ ッサのレジスタ内またはメモリバッファ内に配置されていることを前提と しておリ、 メモリバッファ量を超える符号化ブロックの符号化および復号 化をすることができない、 という問題点がある。
例えば、 畳み込み符号において拘束長 kを別々の符号化プロックから取 得する場合、 各符号化ブロックのサイズを bとすれば、 ( k * b ) のメモ リバッファが必要になる。
すなわち kを小さく設定しても、 ブロック符号のブロックサイズが増大 するにつれて、 少ないメモリ実装の処理装置では畳み込み符号を処理する ことができない。
この発明は、 このような従来の問題点を解決するために案出されたもの であり、 メモリサイズに制約のある環境下においても、 任意のブロックサ ィズの符号化シンボルを畳み込み符号化したり、 ブロック復号化すること が可能な技術を提供することを目的としている。 発 明 の 開 示
上記の目的を達成するため、 請求の範囲 1 に記載した符号化装置は、 入 力データをブロック毎に符号化し、 生成された符号化シンボルを外部記憶 装置に蓄積する手段と、 畳み込み符号化に必要な符号化シンポルを、 上記 外部記憶装置からメモリバッファに転送する手段と、 メモリバッファ内に 配置された符号化シンボルを、 畳み込み符号化する手段とを備えたことを 特徴としている。
また、 請求の範囲 5に記載した符号化プログラムは、 コンピュータを、 入力データをプロック毎に符号化し、 生成された符号化シンボルを外部記 憶装置に蓄積する手段、 畳み込み符号化に必要な符号化シンポルを、 上記 外部記憶装置からメモリバッファに転送する手段、 メモリバッファ内に配 置された符号化シンポルを、 畳み込み符号化する手段として機能させるこ とを特徴としている。
このように、 ブロック符号化されたデータ (チェーンリアクション符号 化データを含む) を一時的に外部記憶装置内に蓄積した後、 これらの中か ら伝送データを作成するために畳み込み演算が必要な入力シンボル部分の みを順次メモリに配置し、 演算済み入力シンポルはメモリから削除するこ とにより、 メモリバッファ量を超えるブロック符号化データの畳み込み符 号化が可能となる。
なお、 この発明は特定の畳み込み符号化方式に限定されるものではく、 あらゆる畳み込み符号化方式を採用可能である (以下同様)。
また、 この発明における 「畳み込み符号化」 は、 冗長度を付加すること なく単にブロック符号を接合させる場合 (単純な順次出力方式) をも含む 概念である (以下同様)。
請求の範囲 2に記載した符号化装置は、 入力データをブロック毎に符号 化し、 生成された符号化シンボルを外部記憶装置に蓄積する手段と、 畳み 込み符号化に必要な符号化シンボルを、 上記外部記憶装置から最前段のメ モリバッファに転送する手段と、 各メモリバッファ内に配置された符号化 シンポルを、 次段のメモリバッファにシフ トする手段と、 最後段のメモリ バッファ内に配置された符号化シンボルを、 畳み込み符号化する手段とを 備えたことを特徴としている。
また、 請求の範囲 6に記載した符号化プログラムは、 コンピュータを、 入力データをプロック毎に符号化し、 生成された符号化シンポルを外部記 憶装置に蓄積する手段、 畳み込み符号化に必要な符号化シンポルを、 上記 外部記憶装置から最前段のメモリバッファに転送する手段、 各メモリバッ ファ内に配置された符号化シンボルを、 次段のメモリバッファにシフ トす る手段、 最後段のメモリバッファ内に配置された符号化シンボルを、 畳み 込み符号化する手段として機能させることを特徴としている。
上記 「最前段のメモリバッファ」 とは、 外部記憶装置から符号化シンポ ルが転送されるメモ リバッファを意味し、 「最後段のメモ リバッファ j と は、 畳み込み符号化手段に符号化シンボルを供給するためのメモリバッフ ァを意味する。
ここで、 メモリバッファが 3つ以上設けられている場合には、 外部記憶 装置から最前段のメモリバッファに転送された符号化シンボルは、 途中に 介装されたメモリバッファを経由し、 最後段のメモリバッファにシフ トさ れる。 その間に、 最前段のメモリバッファには、 次の畳み込み符号化に必 要な符号化シンポルが外部記憶装置から転送される。
これに対し、 メモリバッファの数が 2つの場合には、 第 1 のメモリパ、ッ ファが 「最前段のメモリバッファ」 に、 また第 2のメモリバッファが Γ最 後段のメモリバッファ J に該当し、 第 1 のメモリバッファ内の符号化シン ボルが第 2のメモリバッファにシフ 卜されることとなる。
このように、 外部記憶装置と畳み込み符号化手段との間に複数のメモリ バッファを設け、 外部記憶装置内の符号化シンポルを一のメモリバッファ に一旦転送した後、 他のメモリバッファに順次シフ 卜させ、 最後段のメモ リバッファから畳み込み符号化手段に符号化シンボルを供給することによ リ、 メモリバッファ量を超えるプロック符号化データの畳み込み符号化が 可能となると共に、 外部記憶装置を介装させたことによるデータ転送速度 の低下を補うことが可能となる。
請求の範囲 3に記載した復号化装置は、入力データを畳み込み復号化し、 ブロック単位の符号化シンポルを生成する手段と、 各符号化シンポルを、 プロック毎に外部記憶装置の異なるチャネルに出力する手段と、 上記外部 記憶装置内の符号化シンボルを、 ブロック単位で復号化する手段とを備え たことを特徴としている。
また、 請求の範囲 7に記載した復号化プログラムは、 コンピュータを、 入力データを畳み込み復号化し、 プロック単位の符号化シンボルを生成す る手段、 各符号化シンボルを、 ブロック毎に外部記憶装置の異なるチヤネ ルに出力する手段、 上記外部記憶装置内の符号化シンボルを、 ブロック単 位で復号化する手段として機能させることを特徴としている。
このように、 畳み込み符号化された伝送データを畳み込み復号化する際 に、 ディスク等の外部記憶装置に一旦出力した上で、 ブロック復号化処理 を順次行うことにより、 メモリ量を超える符号化ブロック (チェーンリア クシヨン符号化データを含む) の集合の復号化処理が可能となる。
請求の範囲 4に記載した復号化装置は、入力データを畳み込み複号化し、 ブロック単位の符号化シンボルを生成する手段と、 各符号化シンボルを、 ブロック毎にメモリバッファに出力する手段と、 ブロック毎に所定数の符 号化シンポルが上記メモリバッファ内に蓄積された時点で、 各符号化シン ポルを外部記憶装置の一つのチャネルに出力する手段と、 上記外部記憶装 置内の符号化シンポルを、 プロック単位で復号化する手段とを備えたこと を特徴としている。
また、 請求の範囲 8に記載した復号化プログラムは、 コンピュータを、 入力データを畳み込み復号化し、 ブロック単位の符号化シンボルを生成す る手段、各符号化シンポルをプロック毎にメモリバッファに出力する手段、 プロック毎に所定数の符号化シンポルが上記メモリバッファ内に蓄積され た時点で、 各符号化シンポルを外部記憶装置の一つのチャネルに出力する 手段、 上記外部記憶装置内の符号化シンポルを、 ブロック単位で復号化す る手段として機能させることを特徴としている。
このように、 畳み込み復号化された符号化シンボルをディスク等の外部 記憶装置に蓄積するに際し、 所定の出力メモリバッファを利用することに よリ、 外部記憶装置へのアクセス回数および出力チャネル数を削減するこ とが可能となリ、 復号化処理の高速化と外部記憶装置のチャネル数制約の 回避が可能となる。 図 面 の 簡 単 な 説 明
第 1 図は、 この発明に係る符号化装置を示すプロック図である。
第 2図は、 上記符号化装置の変形例を示すプロック図である。
第 3図は、 上記符号化装置の他の変形例を示すプロック図である。
第 4図は、 この発明に係る第 1 の復号化装置を示すブロック図である。 第 5図は、 この発明に係る第 2の復号化装置を示すブロック図である。 第 6図は、 第 2の復号化装置におけるメモリバッファ及び外部記憶装置 内のデータ構造を示す概念図である。 発明を実施するための最良の形態
第 1 図は、 この発明に係る符号化装置 10 を示すブロック図である。 こ の符号化装置 10 は、 複数のプロック符号化手段 12 と、 ハードディスク 等の外部記憶装置 14 と、 メモリ転送手段 16と、 メモリバッファ 18 と、 畳み込み符号化手段 20とを備えている。
この場合、 入力データは任意の V個のブロックに分割され、 ブロック符 号化手段 12 に入力される。 畳み込み符号拘束長 kのそれぞれのシンボル を、 別々のブロック符号化シンボルに割り当てた場合を想定すれば、 v = kとなる。
各ブロック符号化手段 12 は、 出力シンポルを外部記憶装置 14 に書き 出す。
メモリ転送手段 16 は、 外部記憶装置 14 内に蓄積された各ブロックの 符号化シンポルを bづっ取り出し、 メモリバッファ 18に転送する。
畳み込み符号化手段 20は、 伝送回路 22から入力される伝送速度 ( r ) に基づき、 メモリバッファ 18 内の各符号化シンボルを順次畳み込み符号 化し、 伝送回路 22へ出力する。
メモリ転送手段 16 が以下で述べる要件を満たすことにより、 第 1 図の 符号化装置 10 は、 所定のメモリバッファ量で任意のブロック長で符号化 されたシンボルを畳み込み符号化できる。
メモリ転送手段 16 に要求される要件は、 プロック毎の出力シンボル数 bで示すことができる。
ここで、 1 つのブロック符号化手段 12に要求されるメモリ消費量を c、 符号化装置 10 がブロック符号化に割り当てられるメモリサイズを mとす ると、 各ブロック符号化手段 12 が同時に動作できる数は m Z c で示す ことができる。
メモリバッファ 18 の大きさを Mとすれば、 シンボルサイズ sのとき、 bの最大値 m a x ( b ) は (M Z s ) vとなる。
一方で、 一回の畳み込み符号化に必要なシンボルはメモリバッファ 18 内に配置されている必要があるため、 bの最低必要量 m i n ( b ) は vである。 従って bは、
k / v≤ b≤ ( M / s ) Z v
を満たすことが要件となる。
一般に、 外部記憶装置 14 の入出力速度はメモリよりも遅いため、 畳み 込み符号手段 20へのシンポル供給が遅延する可能性が考えられる。
この問題を回避するためには、 外部記憶装置 14 と畳み込み符号化手段 20 との間に複数のメモリバッファを設けると共に、 一のメモリバッファ 内のデータを他のメモリバッファにシフ 卜する手段を設けることが有効で ある。 第 2図はその一例を示すものであり、 第 1 のメモリバッファ 18 a と、 第 2のメモリバッファ 18 bと、 ノ ッファシフ ト手段 24とを備えている。
この場合、 メモリ転送手段 16 は、 まずシンボル b個を Vブロック分だ け第 1 のメモリバッファ 18 aに転送する。
つぎにメモリ転送手段 16 は、 畳み込み符号化手段 20 からシンボル要 求を受けた時点で、 バッファシフ ト手段 24 を使用して第 1 のメモリバッ ファ 18 a内のシンボルをシフ トして第 2のメモリバッファ 18 b内に配置 し、 第 1 のメモリバッファ 18 aに再びシンボル b個を Vブロック分転送 する。
畳み込み符号化手段 20は、 第 2のメモリバッファ 18 b内の各符号化シ ンボルを順次畳み込み符号化し、 全てのシンボルを符号化し終わると、 メ モリ転送手段 16にシンボル要求を行う。
このとき、 m a x ( b ) は { ( MX 2 ) / s } Z v、 m i n ( b ) は k vとなり、 bは、
k / v ≤ b ≤ { ( MZ 2 ) / s } / v
を満たすことが要件となる。
3つ以上のメモリバッファを用いることにより、 符号化シンポルの供給 効率をさらに向上させることができる。
第 3図の実施形態にあっては、 q個 ( q ≥ 3 ) のメモリバッファを外部 記憶装置 14と畳み込み符号化手段 20との間に設けている。
この場合、 メモリ転送手段 16 は、 最前段に位置する第 1 のメモリバッ ファ 18 aにシンボル b個を Vブロック分転送する。 また、 畳み込み符号 化手段 20 からのシンボル要求に呼応し、 バッファシフ ト手段 24 を通じ て符号化シンボルを次段のメモリバッファに順次シフ トさせる。
そして、 畳み込み符号化手段 20 は、 最後段に位置する第 qのメモリバ ッファ 18 q内の符号化シンポルに対して畳み込み符号化処理を施す。 畳み込み符号化手段 20 がメモリからシンポルを入力する速度 Rは、 伝 送速度 r と符号化率 k Z nから R = r * k Z nとなる。
第 4図は、 この発明に係る第 1 の復号化装置 30 を示すブロック図であ る。 この第 1の複号化装置 30 は、 畳み込み復号化手段 32 と、 外部記憶 装置 34と、 複数のブロック復号化手段 36とを備えている。
この場合、 伝送回路 38 から入力された誤り訂正符号化済みのデジタル データは、 畳み込み復号化手段 32 において復号化され、 各ブロック毎の 符号化シンポルが生成される。 これらの符号化シンボルは、 外部記憶装置 34に出力される。
そして、 外部記憶装置 34内に所定数の符号化シンポルが蓄積された後、 プロック復号化手段 36によって復号化処理が実行される。
この際、 畳み込み復号化手段 32 は、 外部記憶装置 34 にブロック毎の 出力チャネルを作成する。 ディスクファイルは、 出力チャネルの実施形態 の一例である。
ディスクファイルの例で説明すると、 畳み込み復号化手段 32 は、 第 1 図の入力ブロック数 Vに相当するディスクファイルを同時に作成し、 拘束 長 kのシンボルを復号化する毎に、 各ディスクファイルに該当シンポルを 出力する。
各ディスクファイルに出力するシンボル数は、 それぞれ k / Vである。 プロック復号化手段 36 は、 畳み込み復号化手段 32 からの通知または 自己検出により、 必要量の符号化シンポルがディスクファイルに蓄積され たことを受けて、 復号処理を行う。
1 つのプロック復号化手段 36 に要求されるメモリ消費量を c、 復号化 装置 30 がブロック復号に割り当てられるメモリサイズを mとすると、 各 ブロック復号化手段 36 が同時に動作できる数は m Z c で示すことがで きる。 したがって、 当該復号化装置 30 が m≥ cを満たしていれば、 任意の拘 束長 kとプロック数を処理することが可能となる。
ここで、 ディスクファイル等の外部記憶装置 34 は、 一般に性能面およ び機能面で下記の制約をうけることが多い。
①同時にオープンできるファイル数に上限がある。
②書き込み回数が多くなるほどシーク時間が増大し、性能が劣化する。 これに対処するため、 第 5図に示すように、 この発明に係る第 2の復号 化装置 40は、 畳み込み復号化手段 32 と外部記憶装置 34との間に、 メモ リバッファ 42と外部記憶出力手段 44を設けている。
この結果、 畳み込み復号化手段 32 で復号された各ブロックの符号化シ ンポルは、 メモリバッファ 42 に出力された後、 外部記憶出力手段 44 に よって適切なタイミングで外部記憶装置 34に出力される。
ブロック復号化手段 36 は、 外部記憶装置 34 に所定数の符号化シンポ ルが蓄積された後、 復号化処理を実行する。
つぎに、 この場合におけるメモリバッファ 42 及び外部記憶装置 34 内 のデータ構造の一例を説明する。
すなわち、 第 6図に示すように、 メモリバッファ 42 内には、 それぞれ P個の符号化シンポル 46 が配列されたシンポルセッ ト 48 が、 入カブ口 ック数に対応した V個分形成されている。
ここで、 メモリバッファ 42 の許容量を Mとすると、 シンポルの配列数 pは ( V *シンボルサイズ s ) で与えられる。
外部記憶出力手段 44 は、 各シンポルセッ ト 48 に p個のシンポルが配 置されたことを受けて、 このデータ構造を外部記憶装置 34 の 1 つの出力 チャネルに順次書き出す。
出力チャネルがディスクファイルの場合、 外部記憶出力手段 44 は 1 つ のファイル 50を外部記憶装置 34に作成し、 シンポルセッ 卜 48の配列が 完成する度にメモリバッファ 42 内のデータ構造を当該ファイル 50 に順 次書き出す。
この結果、 外部記憶装置 34 には、 メモリバッファ 42 内に形成された データ構造全体の配列が形成される。
各ブロック復号化手段 36 ( # 1 〜 # v ) は、 ファイル 50内の該当する シンポルセッ 卜を順次読み込み、 プロック復号化処理を実行する。
このように、 一旦メモリバッファ 42 内に所定数の符号化シンポルから なるデータ構造を形成した後、 外部記憶出力手段 44 を介してまとめて外 部記憶装置 34 に書き出すようにすることで、 外部記憶装置 34 に対する 書き込み回数を減らすことができ、 全体の処理時間を短縮化することが可 能となる。 因みに、 第 6図に示したデータ構造の例によれば、 第 4図の実 施形態のように畳み込み復号化手段 32 から外部記憶装置 34 に直接書き 出す場合に比べ、 書き込み回数は 1 ( p * V ) 回に減少する。
また、 外部記憶装置 34 内に作成される出力ファイル数は、 上記のよう に入カブ口ック数にかかわらず 1 つで済むため、 外部記憶装置 34 のファ ィル数制約を考慮する必要がなくなる。
上記のブロック符号化手段 12、 メモリ転送手段 16、 畳み込み符号化手 段 20、 バッファシフ ト手段 24、 畳み込み復号化手段 32、 プロック復号 化手段 36、 外部記憶出力手段 44は、 コンピュータの C P Uが専用のアブ リケーションプログラムを実行することによって実現される。
ただし、 上記の各手段の機能を備えた ICを用意し、 符号化装 ¾ 10、 第 1の復号化装置 30 及び第 2の復号化装置 40 をハードウ:!:ァ的に実現す ることも当然に可能である。 産業上の利用可能性
以上説明したように、 請求の範囲 1 の符号化装置及び請求の範囲 5の符 号化プログラムによれば、 少ないメモリ実装量の符号化装置であっても、 任意のサイズのデジタルデータを畳み込み符号化することが可能となる。
また、 請求の範囲 2の符号化装置及び請求の範囲 6の符号化プログラム. によれば、 メモリバッファ量を超えるプロック符号化データの畳み込み符 号化が可能となると共に、 外部記憶装置を介装させたことによるデータ転 送速度の低下を補うことが可能となる。
また、 請求の範囲 3の復号化装置及び請求の範囲 7の復号化プログラム によれば、 比較的少量のメモリ使用にて復号化処理が可能となる。
さらに、 請求の範囲 4の復号化装置及び請求の範囲 8の復号化プロダラ ムによれば、 外部記憶装置へのアクセス回数を減らして性能向上の効果が 期待できると共に、 外部記憶装置に生成するファイル数を 1 つに減らすこ とが可能になリ、 処理装置のファイル数制約を回避することができる。

Claims

請 求 の 範 囲
1 . 入力データをブロック毎に符号化し、 生成された符号化シンポルを 外部記憶装置に蓄積する手段と、
畳み込み符号化に必要な符号化シンボルを、 上記外部記憶装置からメモ リバッファに転送する手段と、
メモリバッファ内に配置された符号化シンポルを、 畳み込み符号化する 手段と、
を備えたことを特徴とする符号化装置。
2 . 入力データをブロック毎に符号化し、 生成された符号化シンボルを外 部記憶装置に蓄積する手段と、
畳み込み符号化に必要な符号化シンボルを、 上記外部記憶装置から最前 段のメモリバッファに転送する手段と、
各メモリバッファ内に配置された符号化シンボルを、 次段のメモリバッ ファにシフ トする手段と、
最後段のメモリバッファ内に配置された符号化シンボルを、 畳み込み符 号化する手段と、
を備えたことを特徴とする符号化装置。
3 . 入力データを畳み込み復号化し、 ブロック単位の符号化シンボルを生 成する手段と、
各符号化シンボルを、 ブロック毎に外部記憶装置の異なるチャネルに出 力する手段と、
上記外部記憶装置内の符号化シンボルを、 プロック単位で復号化する手 段と、
を備えたことを特徴とする復号化装置。
4 . 入力データを畳み込み複号化し、 ブロック単位の符号化シンボルを生 成する手段と、 各符号化シンボルを、 ブロック毎にメモリバッファに出力する手段と、 プロック毎に所定数の符号化シンポルが上記メモリバッファ内に蓄積さ れた時点で、 各符号化シンポルを外部記憶装置の一つのチャネルに出力す る手段と、
上記外部記憶装置内の符号化シンボルを、 ブロック単位で復号化する手 段と、
を備えたことを特徴とする復号化装置。
5 . コンピュータを、
入力データをプロック毎に符号化し、 生成された符号化シンポルを外部 記憶装置に蓄積する手段、
畳み込み符号化に必要な符号化シンボルを、 上記外部記憶装置からメモ リバッファに転送する手段、
メモリバッファ内に配置された符号化シンポルを、 畳み込み符号化する 手段、
として機能させることを特徴とする符号化プログラム。
6 . コンピュータを、
入力データをプロック毎に符号化し、 生成された符号化シンボルを外部 記憶装置に蓄積する手段、
畳み込み符号化に必要な符号化シンボルを、 上記外部記憶装置から最前 段のメモリバッファに転送する手段、
各メモリバッファ内に配置された符号化シンボルを、 次段のメモリバッ ファにシフ 卜する手段、
最後段のメモリバッファ内に配置された符号化シンポルを、 畳み込み符 号化する手段、
として機能させることを特徴とする符号化プログラム。
7 . コンピュータを、 入力データを畳み込み復号化し、 プロック単位の符号化シンポルを生成 する手段、
各符号化シンポルを、 プロック毎に外部記憶装置の異なるチャネルに出 力する手段、
上記外部記憶装置内の符号化シンボルを、 ブロック単位で復号化する手 段、
として機能させることを特徴とする復号化プログラム。
8 . コンピュータを、
入力データを畳み込み復号化し、 プロック単位の符号化シンボルを生成 する手段、
各符号化シンボルをブロック毎にメモリバッファに出力する手段、 ブ口ック毎に所定数の符号化シンポルが上記メモリバッファ内に蓄積さ れた時点で、 各符号化シンボルを外部記憶装置の一つのチャネルに出力す る手段、
上記外部記憶装置内の符号化シンボルを、 ブロック単位で復号化する手 段、
として機能させることを特徴とする復号化プログラム。
PCT/JP2004/004553 2003-04-18 2004-03-30 符号化装置、復号化装置、符号化プログラム及び復号化プログラム WO2004095712A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-114797 2003-04-18
JP2003114797A JP4317589B2 (ja) 2003-04-18 2003-04-18 符号化装置、復号化装置、符号化プログラム及び復号化プログラム

Publications (1)

Publication Number Publication Date
WO2004095712A1 true WO2004095712A1 (ja) 2004-11-04

Family

ID=33307939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/004553 WO2004095712A1 (ja) 2003-04-18 2004-03-30 符号化装置、復号化装置、符号化プログラム及び復号化プログラム

Country Status (2)

Country Link
JP (1) JP4317589B2 (ja)
WO (1) WO2004095712A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000196469A (ja) * 1998-12-28 2000-07-14 Nec Corp デ―タ誤り訂正システム
JP2002501707A (ja) * 1997-05-30 2002-01-15 クゥアルコム・インコーポレイテッド 無線によるファイル転送のエラー保護を行う方法および装置
JP2002204274A (ja) * 2000-12-28 2002-07-19 Sanyo Electric Co Ltd データ受信装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002501707A (ja) * 1997-05-30 2002-01-15 クゥアルコム・インコーポレイテッド 無線によるファイル転送のエラー保護を行う方法および装置
JP2000196469A (ja) * 1998-12-28 2000-07-14 Nec Corp デ―タ誤り訂正システム
JP2002204274A (ja) * 2000-12-28 2002-07-19 Sanyo Electric Co Ltd データ受信装置

Also Published As

Publication number Publication date
JP4317589B2 (ja) 2009-08-19
JP2004320650A (ja) 2004-11-11

Similar Documents

Publication Publication Date Title
JP5424596B2 (ja) 面積効率が高いエラー訂正デコーダ構造を含むマルチチャンネルメモリシステム
JP3256517B2 (ja) 符号化回路、回路、パリティ生成方法及び記憶媒体
CN102096609B (zh) 可编程循环冗余校验(crc)计算的指令集架构
WO2008003094A2 (en) Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
JP4292298B2 (ja) 並列畳み込み符号器
JP2000068862A (ja) 誤り訂正符号化装置
JP2007087529A (ja) 信号復号装置、信号復号方法、および記憶システム
US6865710B2 (en) Butterfly processor for telecommunications
JP3274668B2 (ja) 演算処理装置及び演算処理方法
JP4420924B2 (ja) 情報ビット系列を符号化する方法および符号化器
US7020214B2 (en) Method and apparatus for path metric processing in telecommunications systems
US20100198892A1 (en) Parallel residue arithmetic operation unit and parallel residue arithmetic operating method
JP4064928B2 (ja) 繰り返し硬判定順方向誤り訂正復号化用の装置
JP4852061B2 (ja) 低密度パリティ検査(ldpc)デコーダに応用する演算回路
JP2009512353A (ja) 低フレーム誤り率のために改善されたターボ符号インターリーバ
JPH1032498A (ja) 可変レートビタビ復号器
CN115485976A (zh) 编码电路、解码电路、控制电路、存储介质以及解码方法
WO2004095712A1 (ja) 符号化装置、復号化装置、符号化プログラム及び復号化プログラム
KR101436973B1 (ko) 슈퍼차지드 코드들
JP4045521B2 (ja) 符号化装置および方法
WO2019030860A1 (ja) 誤り検出用冗長ビットの生成方法および装置
JP2004282787A (ja) 信号送信装置および符号化装置
JP2003188737A (ja) インターリーブ処理方法及びインターリーブ処理装置
KR100600310B1 (ko) 2차원 페이지의 인코딩 및 디코딩 방법

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase