BR112016002908B1 - Dispositivo para a decodificação de canais, e, método para a decodificação de canais - Google Patents

Dispositivo para a decodificação de canais, e, método para a decodificação de canais Download PDF

Info

Publication number
BR112016002908B1
BR112016002908B1 BR112016002908-9A BR112016002908A BR112016002908B1 BR 112016002908 B1 BR112016002908 B1 BR 112016002908B1 BR 112016002908 A BR112016002908 A BR 112016002908A BR 112016002908 B1 BR112016002908 B1 BR 112016002908B1
Authority
BR
Brazil
Prior art keywords
decoding
data
unit
common
gauss
Prior art date
Application number
BR112016002908-9A
Other languages
English (en)
Other versions
BR112016002908A2 (pt
Inventor
Yoshihide TONOMURA
Tatsuya Fujii
Takahiro Yamaguchi
Daisuke Shirai
Takayuki Nakachi
Original Assignee
Nippon Telegraph And Telephone Corporation
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 Nippon Telegraph And Telephone Corporation filed Critical Nippon Telegraph And Telephone Corporation
Publication of BR112016002908A2 publication Critical patent/BR112016002908A2/pt
Publication of BR112016002908B1 publication Critical patent/BR112016002908B1/pt

Links

Images

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
    • 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/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

dispositivo para a decodificação de canais, e, método para a decodificação de canais trata-se de um objetivo da presente invenção tornar possível realizar a decodificação de máxima probabilidade de um código de gráfico disperso com baixa complexidade computacional na decodificação de máxima probabilidade do código de gráfico disperso. de acordo com a presente invenção, na decodificação de máxima probabilidade do código de gráfico disperso, são feitos de forma repetida e alternadamente um processo de decodificação de dados perdidos por um método comum de decodificação e um processo de decodificação de dados perdidos por um método de eliminação de gauss.

Description

CAMPO TÉCNICO
[001] A presente invenção se refere a um método e um dispositivo que são capazes de fazer a rápida decodificação de máxima probabilidade com baixa complexidade computacional, por meio da redução dos dados perdidos restaurados por um método de eliminação de Gauss sempre que possível e aumentando os dados perdidos restaurados por um método comum de decodificação baseado em um algoritmo de passagem de mensagem (MPA) sempre que possível na decodificação de máxima probabilidade de um código de gráfico disperso.
TÉCNICA ANTERIOR
[002] Atualmente, a técnica de correção de erros está sendo amplamente utilizada em vários tipos de sistemas de comunicações, como na comunicação na difusão digital por satélites ou na Internet, ou nas comunicações em terminais móveis. Particularmente, é esperado que com o recente desenvolvimento de um ambiente de banda larga, por exemplo, um serviço de aplicação de imagem móvel usando a Internet e a técnica de correção de erros tenham se tornado consequência para a Internet. A descrição a seguir terá a Internet como exemplo.
[003] Se um canal é observado a partir de um lado na provisão de um serviço usando a Internet, a Internet pode ser vista como um canal de rasura (um canal de rasura em pacote (PEC)). Este é um canal em que os canais binários de rasura são agrupados em unidades de pacotes, e uma saída de canal é a saída baseada nas informações corretas com uma probabilidade de 1-p ou saída (perdida) como uma # não identificada com uma probabilidade de p devida a uma certa falha que ocorre em uma linha como ilustrada na FIGURA 1. Neste sistema de comunicações, é usada uma técnica de restauração de pacote perdido como correção de erro para a frente (FEC) ou pedido de repetição automática (ARQ). Em um serviço comum de IP, é usado um protocolo TCP/IP, somente feita a detecção de erro no lado do decodificador, e quando ocorrer um erro, é usado um método de restauração por meio de um controle de retransmissão ou similar (um esquema ARQ). Entretanto, quando for considerado um serviço de larga escala como entrega, é necessário que seja feita a correção de erros com base nos dados recebidos por um lado receptor, sendo usado um método capaz de correção de um erro somente na recepção, sem exigir um canal de feedback (um esquema FEC). No esquema FEC, como não é feito o controle de retransmissão ou similar, o retardo é pequeno, e o esquema FEC é usado, mesmo em um sistema de teleconferência, no qual uma propriedade de tempo real é importante. A descrição a seguir será feita com o esquema FEC.
[004] Como o esquema FEC, é amplamente usado o código Reed Solomon (um código RS) na transmissão digital ou similar. Na transmissão digital japonesa, é definido um comprimento de código de 204 bytes, sendo dada a tolerância para um erro por meio da adição de bytes de paridade com cerca de 10% dos dados originais de 188 bytes. Entretanto, normalmente, sabe-se que o desempenho aumenta quando um código com um grande comprimento de código é utilizado, mas quando um comprimento de código é longo, é também conhecido um efeito adverso no qual a decodificação se complica, e aumenta enormemente a complexidade computacional. Por essa razão, no código RS, é suposto um comprimento de código de 256 bytes ou menos. Além disso, quando o código RS se adapta a um pacote chamado FEC no nível de pacote IP, é necessário supor 256 pacotes como um bloco devido a este motivo.
[005] Por outro lado, é conhecido que uma técnica de decodificação baseada em um algoritmo de passagem de mensagem (MPA) tem excelentes características de decodificação na complexidade computacional prática quando um comprimento de código é longo, e um código de verificação de paridade de baixa densidade (LDPC) (por exemplo, ver Literatura Não Patente 1) servindo como um código linear definido por um gráfico disperso tem atraído a atenção como um método realístico para a correção de erros, abordando uma capacidade de canal definida por Shannon. Aqui, o gráfico disperso é um gráfico em que o número de bordas é muito menor que o número de nodos. Além disso, como são conhecidos um código de correção de rasuras baseado no gráfico disperso, um código LT da Digital Fountain, Inc. (por exemplo, ver Literatura Não Patente 2) e um código Raptor (por exemplo, ver Literatura Não Patente 3), as características de código capazes de decodificação somente recebendo dados arbitrários de código sem deteriorar significativamente a eficiência de codificação são conhecidas como implementadas na totalização da complexidade computacional. Como esta propriedade é adequada para codificação de camadas assíncronas (ALC) (por exemplo, ver Literatura Não Patente 4) servindo como um protocolo Internet multicast, é amplamente utilizada, por exemplo, em comunicações multicast com uma configuração em camadas. LISTA DE CITAÇÕES LITERATURA DE PATENTE Literatura de Patente 1: M. Luby, “Information Additive Code Generator and Decoder for Communication Systems,” U.S. Patent No. 6,307,487, Oct. 23, 2001. Literatura de Patente 2: M. Luby, “Information Additive Code Generator and Decoder for Communication Systems,” U.S. Patent No. 6,373,406, Apr. 16, 2002. Literatura de Patente 3: A. Shokrollahi, S. Lassen, e M. Luby, “Multi-Stage Code Generator and Decoder for Communication Systems,” U.S. Patent Application No. 20030058958, Dec. 2001. Literatura de Patente 4: A. Shokrollahi, S. Lassen and R. Karp, “Systems and Processes for Decoding Chain Reaction Codes Through Inactivation,” U.S. Patent No. 6,856,263, Feb. 15, 2005. Literatura de Patente 5: A. Shokrollahi e M. Luby, “Systematic Encoding and Decoding of Chain Reaction Codes,” U.S. Patent No. 6,909,383, Jun. 21, 2005. LITERATURA NÃO PATENTE Literatura Não Patente 1: R. G. Gallager, “Low density parity check codes,” in Research Monograph series. Cambridge, MIT Press, 1963. Literatura Não Patente 2: M. Luby, “LT Codes,” The 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002. Literatura Não Patente 3: Shokrollahi, A, “Raptor codes,” Information Theory, IEEE Transactions on Volume 52, Issue 6, 2006. Literatura Não Patente 4: “Asynchronous layered coding protocol instantiation,” IETF RFC 3450, Dec. 2002. Literatura Não Patente 5: E. Paolini, G. Liva, B. Matuz, e M. Chiani, “Maximum likelihood erasure decoding of LDPC codes: pivoting algorithms e code design,” IEEE Trans. Commun. vol. 60, no. 11, pp. 3209 to 3220, Nov. 2012. Literatura Não Patente 6: Cunche, M. e V. Roca, “Optimizing the Error Recovery Capabilities of LDPC-Staircase Codes Featuring a Gaussian Elimination Decoding Scheme,” 10th IEEE International Workshop on Signal Processing for Space Communications (SPSC7'08), October 2008.
SUMÁRIO DA INVENÇÃO PROBLEMA TÉCNICO
[006] Como acima descrito, os códigos de correção de erros usando o gráfico disperso e a MPA obtém características de codificação que não foram obtidas no passado. Entretanto, existe uma brecha para melhorar o desempenho da técnica de codificação baseada na MPA e da técnica de decodificação de máxima probabilidade, e assim a decodificação baseada na MPA não extraiu o máximo de desempenho do código de gráfico disperso.
[007] Por esses problemas, existe uma demanda desejada para executar a decodificação de máxima probabilidade, apesar de, de certa forma, aumentar a complexidade computacional. Como um método para a realização da decodificação de máxima probabilidade em um canal de rasura, é conhecido um método de eliminação de Gauss. O método de eliminação de Gauss é uma solução capaz de solucionar um sistema de equações lineares quando algumas variáveis são idênticas ao número de classificações de equações.
[008] Entretanto, quando o método de eliminação de Gauss for simplesmente aplicado, é necessária uma operação de O (N3) para o pré-processamento da restauração dos dados perdidos, é necessária uma operação de O (N2) para a restauração de dados perdidos, e assim existe um problema em que seja reduzida a dimensão dos dados aplicáveis, deteriorando a eficiência da potência de um dispositivo para a correção de erros.
[009] A presente invenção foi feita à luz do supramencionado, sendo um objetivo da presente invenção tornar possível implementar a decodificação de máxima probabilidade de um código de gráfico disperso com baixa complexidade computacional na decodificação de máxima probabilidade do código de gráfico disperso.
SOLUÇÃO DO PROBLEMA
[010] Para se alcançar o objetivo acima, na presente invenção, são feitos um processo de decodificação de dados perdidos por meio de um método comum de decodificação e de um processo de decodificação de dados perdidos por um método de eliminação de Gauss repetida e alternadamente na decodificação de máxima probabilidade do código de gráfico disperso. Aqui, o método comum de decodificação é uma solução capaz de resolver uma variável em uma equação.
[011] Especificamente, um dispositivo para a decodificação de canais de acordo com a presente invenção inclui uma unidade de decodificação de semelhança máxima que corrige um erro de um conjunto de dados no qual tenha ocorrido um erro devido à perda de dados por meio da realização da decodificação dos dados perdidos, usando um método comum de decodificação e decodificando os dados perdidos usando um método de eliminação de Gauss nos dados redundantes codificados com base em uma relação de um gráfico disperso múltiplas vezes, alternada e repetidamente.
[012] A unidade de decodificação de semelhança máxima pode incluir uma unidade de armazenagem que considera dados perdidos independente dos demais dados perdidos entre os dados perdidos como dados restaurados, e retém um resultado da operação utilizado para a decodificação dos dados restaurados, uma unidade comum de decodificação que lê o resultado da operação retido na unidade de armazenagem, decodifica os dados restaurados aplicando o resultado lido da operação ao método comum de decodificação, e armazena o resultado da operação da decodificação na unidade de armazenagem, e uma unidade de decodificação do método de eliminação de Gauss que lê o resultado da operação retido na unidade de armazenagem, decodifica os dados restaurados aplicando o resultado lido da operação ao método de eliminação de Gauss, e armazena o resultado da operação da decodificação na unidade de armazenagem.
[013] A unidade de decodificação do método de eliminação de Gauss pode incluir uma unidade de escolha que escolhe de maneira que seja reduzida uma ocorrência de preenchimento da unidade de seleção/descarga pivô, que é executada posteriormente, e a unidade de seleção/descarga pivô que seleciona um pivô de acordo com uma ordem de escolha de uma unidade de escolha, e descarrega como uma matriz triangular usando a eliminação para a frente.
[014] A unidade de decodificação do método de eliminação de Gauss pode ainda incluir uma unidade comum de seleção de coluna, que seleciona uma coluna correspondente aos dados perdidos que são restaurados pelo método comum de decodificação usando os dados restaurados antecipados que se espera serem restaurados pelo método de eliminação de Gauss como uma coluna comum, e descarrega a coluna comum como uma matriz de identidade, e uma unidade de seleção de coluna de Gauss que seleciona uma coluna de Gauss na ordem de uma coluna, na qual um grau de um código de gráfico disperso seja grande, e aumente a seleção das colunas de Gauss uma a uma até que a soma da coluna de Gauss e a coluna comum alcance o número de dados perdidos.
[015] Especificamente, um método para a decodificação de canais de acordo com a presente invenção inclui um processo de decodificação de probabilidade máxima de correção de um erro de um conjunto de dados no qual um erro tenha ocorrido devido à perda de dados por meio da realização da decodificação dos dados perdidos, usando um método comum de decodificação e decodificando os dados perdidos usando um método de eliminação de Gauss nos dados redundantes codificados com base em uma relação de um gráfico disperso múltiplas vezes, alternada e repetidamente.
[016] O processo de decodificação de probabilidade máxima pode incluir a consideração dos dados perdidos independente dos demais dados perdidos entre os dados perdidos como dados restaurados, um processo comum de decodificação de leitura de um resultado da operação mantido em uma unidade de armazenagem que retém o resultado da operação utilizada para a decodificação dos dados restaurados, decodificando os dados restaurados, aplicando o resultado lido da operação ao método comum de decodificação, e armazenando o resultado da operação da decodificação na unidade de armazenagem, e um processo de decodificação do método de eliminação de Gauss para a leitura do resultado da operação retido na unidade de armazenagem, decodificando os dados restaurados, aplicando o resultado lido da operação ao método de eliminação de Gauss, e armazenando o resultado da operação da decodificação na unidade de armazenagem.
[017] O processo de decodificação do método de eliminação de Gauss pode incluir um processo de escolha para escolher de maneira que seja reduzida uma ocorrência de preenchimento na seleção/descarga do pivô que é executada posteriormente, e o processo de seleção/descarga do pivô para a seleção do pivô de acordo com uma ordem de escolha realizada no processo de escolha e descarregar como uma matriz triangular usando a eliminação para a frente.
[018] O processo de decodificação do método de eliminação de Gauss pode incluir um processo de seleção de coluna comum para a seleção de uma coluna correspondente aos dados perdidos que são restaurados pelo método comum de decodificação usando os dados restaurados antecipados que se espera serem restaurados pelo método de eliminação de Gauss como uma coluna comum e descarregando a coluna comum como uma matriz de identidade, e um processo de seleção de coluna de Gauss para a seleção de uma coluna de Gauss na ordem de uma coluna, na qual um grau de um código de gráfico disperso seja grande e aumente a seleção das colunas de Gauss uma a uma, até que a soma da coluna de Gauss e a coluna comum alcance o número de dados perdidos.
[019] Especificamente, um programa para a decodificação de canais de acordo com a presente invenção é um programa para a decodificação de canais fazendo o computador realizar um processo de decodificação de probabilidade máxima de acordo com a presente invenção.
EFEITOS VANTAJOSOS DA INVENÇÃO
[020] De acordo com a presente invenção, é possível implementar a decodificação de máxima probabilidade do código de gráfico disperso com baixa complexidade computacional na decodificação de máxima probabilidade do código de gráfico disperso.
BREVE DESCRIÇÃO DOS DESENHOS
[021] A FIGURA 1 é um diagrama explicativo que ilustra um canal de rasura em pacote (um canal de rasura em pacote (PEC)).
[022] A FIGURA 2 é um diagrama de configuração de princípios da presente invenção.
[023] A FIGURA 3 é um diagrama de configuração básica que ilustra um dispositivo para a decodificação de canais de acordo com uma primeira realização da presente invenção.
[024] A FIGURA 4 é um fluxograma que ilustra um método exemplar para a decodificação de canais de acordo com a primeira realização.
[025] A FIGURA 5 é um diagrama de configuração básica que ilustra um dispositivo para a decodificação de canais de acordo com uma segunda realização da presente invenção.
[026] A FIGURA 6 é um fluxograma que ilustra um método exemplar para a decodificação de canais de acordo com a segunda realização.
[027] A FIGURA 7 é um diagrama de configuração básica que ilustra um dispositivo para a decodificação de canais de acordo com uma terceira realização da presente invenção.
[028] A FIGURA 8 é um fluxograma que ilustra um método exemplar para a decodificação de canais de acordo com a terceira realização.
[029] A FIGURA 9 é um diagrama de configuração básica que ilustra um dispositivo para a decodificação de canais de acordo com uma quarta realização da presente invenção.
[030] A FIGURA 10 é um fluxograma que ilustra um método exemplar para a decodificação de canais de acordo com a quarta realização.
DESCRIÇÃO DAS REALIZAÇÕES
[031] Doravante, serão descritas as realizações exemplares da presente invenção em detalhes com referência aos desenhos anexos. A presente invenção não se limita às seguintes realizações. As seguintes realizações são meros exemplos, e a presente invenção pode ser realizada em várias formas, alteradas ou melhoradas, baseadas no conhecimento dos técnicos no assunto. Nesta especificação e nos desenhos, os componentes tendo os mesmos números de referência são supostos como idênticos entre si.
[032] A presente invenção pode ser realizada sem depender de um tipo de pacote, mas a descrição será feita com um exemplo de aplicação que usa um protocolo UDP utilizado na entrega multicast. Se for usado o protocolo UDP, não será feito um processo de retransmissão, mesmo quando um pacote UDP seja perdido, diferente de um protocolo, mas pode ser realizado se o pacote recebido estiver correto, como ilustrado na FIGURA 1, e havendo uma característica que é vista como um canal de rasura, no qual é precisamente conhecida uma posição de um pacote perdido.
[033] A FIGURA 2 ilustra uma função de correção de erros para nível de pacote FEC que pode ser implementado por meio da presente invenção. Um método de correção de erros de acordo com a presente invenção inclui um processo para a codificação de canais para a realização de uma função de um dispositivo para a codificação de canais 10, um processo para transmissão em pacotes para a realização de uma função de um dispositivo para transmissão em pacotes 20, um processo para a recepção em pacotes para a realização de uma função de um dispositivo para recepção em pacotes 30, e um processo para a decodificação de canais para a realização de uma função de um dispositivo para a decodificação de canais 40 em ordem. No processo para a decodificação de canais, é usado um método para a decodificação de canais de acordo com a presente invenção.
[034] As informações de entrada como dados de vídeo ou dados de áudio são codificadas pelo dispositivo para a codificação de canais 10. Nessa ocasião, a fragmentação e similares em que são considerados uma dimensão de pacote e similares são feitos comumente no dispositivo para transmissão em pacotes 20 aí conectado. Como um exemplo específico do dispositivo para a codificação de canais 10, quando é usado um código linear como um código LDPC, são gerados dados redundantes por meio do seguinte processo de codificação. MATEMÁTICA 1
Figure img0001
[035] Aqui, S indica uma informação de entrada como os dados de vídeo, que fizeram a fragmentação com um tamanho determinado, e G e T são matrizes esparsas que correspondem ao gráfico disperso. É conhecido um processo de codificação como sendo feito em alta velocidade, empregando uma matriz triangular como T.
[036] O dispositivo para transmissão em pacotes 20 transmite os dados de vídeo ou os dados de áudio e os dados de paridade gerados de acordo com um padrão FLUTE (RFC 3926) ou similar. No lado da recepção, um pacote transmitido é recebido pelo dispositivo para recepção em pacotes 30. O dispositivo para a decodificação de canais 40 executa o processo para a decodificação de canais para decodificar os dados do pacote recebido. Nessa ocasião, a unidade de decodificação de semelhança máxima 42 compara um formato de cabeçalho de FLUTE ou similar, e faz uma tentativa para restaurar um pacote perdido no caso da ocorrência de uma perda de pacote. É previamente sabido que no dispositivo para a decodificação de canais 40 a seguinte equação de restrição é mantida em correspondência com a codificação. MATEMÁTICA 2
Figure img0002
[037] Por essa razão, no dispositivo para a decodificação de canais 40, quando há um pacote perdido, a reconstrução do pacote perdido satisfazendo a restrição com o menor número possível de operações se torna um problema. Aqui, quando εL é um índice estabelecido de um pacote perdido, HεL é uma matriz de verificação de paridade que corresponde a um pacote perdido, e xεL é um conjunto de pacotes perdidos, a Fórmula acima é reescrita como a seguinte Fórmula: MATEMÁTICA 4
Figure img0003
[038] Aqui, εR é um índice estabelecido de um pacote recebido.
[039] Se o número de classificações de HεL for o número |xεL| de pacotes perdidos na Fórmula acima, o pacote perdido pode ser restaurado pela decodificação de máxima probabilidade. Entretanto, quando o método de eliminação de Gauss conhecido como a decodificação de máxima probabilidade método é simplesmente aplicado à Fórmula cima, uma operação de O (N3) é necessária para o pré-processamento da obtenção de uma matriz inversa de HεL, e uma operação de O (N2) é realmente necessária para uma operação de restauração do pacote perdido xεL. Para reduzir essas operações, por exemplo, foram propostas as técnicas reveladas na Literatura Não Patente 5 e 6.
[040] De acordo com a presente invenção, quando a restrição é satisfeita em um dispositivo para a decodificação de canais, é eficientemente implementada com baixa complexidade computacional a decodificação de máxima probabilidade capaz de mostrar um máximo de capacidades de correção de erros adicionada por um dispositivo para a codificação de canais.
PRIMEIRA REALIZAÇÃO
[041] A FIGURA 3 ilustra um diagrama de configuração básica de um sistema para a decodificação de canais que implementa a decodificação de máxima probabilidade usando o método comum de decodificação e o método de eliminação de Gauss repetidamente. 101 indica uma unidade comum de decodificação que restaura os dados perdidos para cada símbolo por meio de um pequeno número de operações; 102 indica uma unidade de processamento do método de eliminação de Gauss que realiza o pré-processamento necessário para a decodificação dos dados perdidos por meio do método de eliminação de Gauss, e 103 indica uma unidade de decodificação do método de eliminação de Gauss que restaura os dados perdidos por meio do método de eliminação de Gauss baseado no processo de matriz de 102. Os respectivos componentes serão descritos abaixo.
[042] O presente sistema é um sistema para a decodificação de canais que realiza de forma eficiente a decodificação de máxima probabilidade na perda que ocorre no canal de rasura por meio de um pequeno número de processos. Para haver simplicidade, como no exemplo preferido em que o presente sistema funciona de forma efetiva, um exemplo no qual a transmissão de pacote IP na Internet que serve como canal representativo de um canal de rasura é suposto, e um código LDPC configurado por um gráfico disperso é suposto como um código serão descritos abaixo com referência à FIGURA 4.
[043] Quando os dados de entrada são enviados ao dispositivo para a decodificação de canais 100, os dados de entrada são transferidos para uma unidade comum de decodificação 101, sendo feita uma tentativa para a restauração dos dados perdidos (S101 a S103). No código linear, é sabido previamente que um produto dos dados recebidos e da matriz de verificação de paridade H de cada bloco é 0 (zero). MATEMÁTICA 5
Figure img0004
[044] Assim, a unidade comum de decodificação 101 restaura exclusivamente uma parte dos dados perdidos, não tendo relação com os demais dados perdidos como dados perdidos restaurados. Isto é equivalente a um processo de restauração sequencial de somente uma parte dos dados perdidos incluídos em cada fileira na Fórmula acima. A unidade comum de decodificação 101 pode restaurar os dados perdidos por meio de um pequeno número de operações por este processamento, e caso um de seus elementos seja rompido em detalhe, pode ser somado aos dois fatores: (1) é desnecessário fazer o pré-processamento para restaurar os dados perdidos; e (2) é possível restaurar os dados perdidos como um pacote por meio de um pequeno número de processos usando características do gráfico disperso.
[045] Quando ainda existirem dados perdidos que não tenham podido ser restaurados pela primeira unidade comum de decodificação 101 (não em S104), a decodificação de máxima probabilidade é tentada aplicando o método de eliminação de Gauss (S105 a S107). Isso produz um efeito da redução do número de operações do método de eliminação de Gauss pela aplicação inicial do método comum de decodificação, de forma similar à da técnica revelada na Literatura Não Patente 6.
[046] No método de eliminação de Gauss, primeiro, é feito o pré-processamento de restauração dos dados perdidos por meio da unidade de processamento do método de eliminação de Gauss 102. O processo da primeira unidade comum de decodificação 101 termina, e quando um conjunto índice de dados perdidos não restaurados for ZL, a matriz de verificação de paridade que corresponde a um pacote perdido não restaurado é HZL, e um conjunto de pacotes perdidos não restaurados é xZL, a Fórmula (5) é reescrita como a seguinte Fórmula: MATEMÁTICA 6
Figure img0005
[047] Aqui, ZR é um conjunto índice de dados recebidos e dados restaurados pela primeira decodificação comum. Um efeito obtido pela aplicação do método comum de decodificação é obtido a partir da magnitude pela qual o método de eliminação de Gauss é aplicado, sendo IZL| * |εL|.
[048] A unidade de processamento do método de eliminação de Gauss 102 realiza a conversão da matriz triangular na Fórmula acima HZL por meio da operação de eliminação para a frente. Aqui, a operação de eliminação para frente é uma operação do estabelecimento dos elementos de coluna abaixo de um pivô em 0 (zero) por meio de uma operação entre fileiras.
[049] Quando uma matriz obtida pela realização da conversão de matriz triangular pela operação de eliminação para frente for indicada por H', a Fórmula (6) é convertida para a seguinte Fórmula: MATEMÁTICA 7
Figure img0006
[050] As informações de matriz geradas pela unidade de processamento do método de eliminação de Gauss 102 são transferidas para a unidade de decodificação do método de eliminação de Gauss 103, e realmente, uma ou mais partes dos dados perdidos xtZR são restauradas como dados perdidos restaurados por substituição para trás. Normalmente, como a decodificação dos dados perdidos pela substituição para trás custa mais que a decodificação dos dados perdidos pelo método comum de decodificação, os pequenos dados perdidos restaurados são desejáveis na unidade de decodificação do método de eliminação de Gauss 103 em termos de complexidade computacional. Assim, neste processo, recomenda-se restaurar uma parte dos dados perdidos que são o menor número de restauração, e os dados são novamente transferidos para a unidade comum de decodificação 101.
[051] Novamente, na unidade comum de decodificação 101, de maneira similar a uma primeira decodificação comum, uma parte dos dados perdidos que não têm relação com os demais dados perdidos é restaurada exclusivamente de forma sequencial como dados perdidos restaurados. Quando todas as perdas puderem ser recuperadas, é expedido um conjunto de dados como dados de saída (sim na S104), mas quando existirem dados não restaurados, este retorna para a unidade de decodificação do método de eliminação de Gauss 103 (não em S104), uma parte dos dados perdidos é restaurada como dados perdidos restaurados, e o processo para a realização da decodificação comum é repetido até que todas as perdas sejam recuperadas, sempre que possível.
[052] Como acima descrito, no método para a decodificação de canais de acordo com a presente realização, a unidade comum de decodificação 101 realiza as etapas S101 a S105, a unidade de processamento do método de eliminação de Gauss 102 realiza a etapa S107, e a unidade de decodificação do método de eliminação de Gauss 103 realiza a etapa S106. Como resultado, na invenção de acordo com a presente realização, o número de dados realmente restaurados pelo método de eliminação de Gauss é reduzido, e o número de dados restaurados pelo método comum de decodificação aumenta, e assim pode ser implementada a decodificação de máxima probabilidade na qual o número de processos de operação é reduzido. Além disso, quando o presente método é aplicado de maneira que o menor número possível de operações seja feito, é formado um estado de conclusão, no qual todos os dados perdidos são decodificados pela unidade comum de decodificação 101.
[053] A FIGURA 5 ilustra um diagrama de configuração básica de um sistema para a decodificação de canais que realiza a decodificação de máxima probabilidade usando o método comum de decodificação e o método de eliminação de Gauss repetidamente. 201 indica uma unidade comum de decodificação que restaura os dados perdidos por meio de um pequeno número de operações, 202 indica a Unidade Cachê Parcial de Decodificação que retém os dados parciais de um processo de operação de restauração como um cachê, quando os dados perdidos são reconstruídos por meio da unidade comum de decodificação 201 e uma unidade de decodificação do método de eliminação de Gauss 204, 203 indica uma unidade de processamento do método de eliminação de Gauss que faz o pré- processamento necessário para a decodificação dos dados perdidos pelo método de eliminação de Gauss, e 204 indica uma unidade de decodificação do método de eliminação de Gauss que restaura os dados perdidos por meio do método de eliminação de Gauss baseado no processo de matriz de 203. Os componentes respectivos serão descritos abaixo.
[054] O presente sistema é um sistema para a decodificação de canais que realiza de forma eficiente a decodificação de máxima probabilidade da perda que ocorre no canal de rasura por meio de um pequeno número de processos. Para haver simplicidade, de maneira similar à primeira realização, como o exemplo de preferência no qual opera efetivamente o presente sistema, é suposto um exemplo no qual a transmissão do pacote IP na Internet que serve como um canal representativo de um canal de rasura, sendo suposto um código LDPC configurado por um gráfico disperso como um código será descrito abaixo em referência à FIGURA 6.
[055] Quando os dados de entrada são enviados ao dispositivo para a decodificação de canais 200, os dados de entrada são transferidos para uma unidade comum de decodificação 201, sendo feita uma tentativa para restaurar os dados perdidos (S201 a S203). No código linear, é previamente conhecido que um produto de dados recebidos e a matriz de verificação de paridade H de cada bloco é 0 (zero). Por essa razão, a unidade comum de decodificação 201 restaura de maneira exclusiva um dos dados perdidos, não tendo relação com os demais dados perdidos como os dados perdidos restaurados.
[056] Se todos os dados perdidos forem restaurados na primeira unidade comum de decodificação 201 (não em S204), o processo de decodificação termina, sendo os dados enviados. Entretanto, quando ainda existirem dados perdidos que não tiverem podido ser restaurados pela primeira unidade comum de decodificação 201, de maneira similar à primeira realização, é tentada a decodificação de máxima probabilidade por meio da aplicação do método de eliminação de Gauss (S205 a S207), mas parte do resultado da operação calculado pela unidade comum de decodificação 201 é retido na unidade cachê de decodificação parcial 202 antes que seja tentada a decodificação de máxima probabilidade. Isso se deve ao fato de a complexidade computacional ser esperada como sendo reduzida usando a parte retida quando os dados perdidos são reconstruídos pelo subsequente método de eliminação de Gauss.
[057] A unidade de processamento do método de eliminação de Gauss 203 faz a conversão da matriz triangular por meio da eliminação para frente, similarmente à primeira realização, mas nessa ocasião, de maneira a usar de forma efetiva o cachê da Unidade Cachê Parcial de Decodificação 202, a Fórmula (6) é alterada para a seguinte Fórmula, usando uma matriz de identidade I e uma memória cachê r. MATEMÁTICA 8
Figure img0007
[058] É obtida uma matriz que passou pela conversão da matriz triangular como a seguinte Fórmula: MATEMÁTICA 9
Figure img0008
[059] Aqui, I' é uma matriz obtida por meio da realização de uma operação correspondente à eliminação para frente em uma matriz de identidade.
[060] A unidade de decodificação do método de eliminação de Gauss 204 restaura uma ou mais partes dos dados perdidos por meio de uma expressão relacional obtida pela unidade de processamento do método de eliminação de Gauss 203, de forma similar à primeira realização (S206), mas nessa ocasião, como uma parte correspondente à [Hz‘]xz‘t no lado direito da Fórmula (9) são dados já retidos pela unidade cachê de decodificação parcial 202, é também possível reduzir a complexidade computacional usando os dados cachê r. Além disso, quando os dados perdidos são restaurados, parte do resultado calculado da operação é retido pela unidade cachê de decodificação parcial 202. Especificamente, a parte são os dados de cálculo correspondentes a [Hç<]xç-t no lado direito da Fórmula (9). Aqui, trata-se de um resultado parcial da operação de uma parte excludente de I' no lado direito, e não um resultado da operação de todo o lado direito utilizado para a reconstrução de dados perdidos, e assim denominado cachê parcial.
[061] Quando uma ou mais partes dos dados perdidos são restauradas como dados perdidos restaurados, retornam novamente para a unidade comum de decodificação 201, sendo exclusivamente restaurado um dos dados perdidos que não tenha relação com os demais dados perdidos como dados perdidos restaurados. Nesse processo, quando todas as perdas puderem ser recuperadas, é enviado um conjunto de dados na forma de dados de saída (sim em S204), mas quando existirem dados não restaurados (não em S204), estes retornam à unidade de decodificação do método de eliminação de Gauss 204, uma parte dos dados perdidos são restaurados como dados perdidos restaurados (S205 a S208), e o processo de realização da decodificação comum é repetido até que todas as perdas sejam recuperadas sempre que possível.
[062] Como acima descrito, no método para a decodificação de canais de acordo com a presente realização, a unidade comum de decodificação 201 executa as etapas S201 a S205, a unidade de processamento do método de eliminação de Gauss 203 executa a etapa S207, e a unidade de decodificação do método de eliminação de Gauss 204 executa a etapa S206. Nesses processos, quando já houver dados correspondentes da unidade cachê de decodificação parcial 202, os dados correspondentes são lidos a partir da unidade cachê e então utilizados, e quando não houver dados correspondentes, parte de um resultado da operação correspondente calculado quando os dados perdidos são restaurados é mantida na unidade cachê de decodificação parcial, e assim o número de processos de operação pode ser reduzido.
[063] A realização acima foi descrita em relação ao exemplo usando a matriz diagonal, mas a presente invenção não se limita a esta. Por exemplo, em vez de usar a matriz diagonal, pode ser usado um exclusivo OU. Nesse caso, um exclusivo OU de um pacote é realizado diretamente nos dados da Unidade Cachê Parcial de Decodificação 202. Em outras palavras, o lado direito utilizado para a reconstrução dos dados perdidos é calculado por meio de um exclusivo OU de um pacote diretamente no [Hz‘]xz‘t no lado direito da Fórmula (8). TERCEIRA REALIZAÇÃO
[064] A FIGURA 7 ilustra a diagrama de configuração básica de um sistema para a decodificação de canais que realiza a decodificação de máxima probabilidade usando o método comum de decodificação e o método de eliminação de Gauss repetidamente. 301 indica uma unidade comum de decodificação que restaura os dados perdidos por meio de um pequeno número de operações, 302 indica a Unidade Cachê Parcial de Decodificação que retém os dados parciais de um processo de operação de restauração como um cachê quando os dados perdidos são reconstruídos na unidade comum de decodificação 301 e uma unidade de decodificação do método de eliminação de Gauss 305, 303 indica a unidade de escolha de grau que escolhe os gráficos dispersos de acordo com um grau, 304 indica a unidade de seleção/descarga pivô que seleciona um pivô e faz a eliminação para frente, e 305 indica uma unidade de decodificação do método de eliminação de Gauss que realmente restaura os dados perdidos. Aqui, o pivô se refere a um eixo usado como referência quando é feita a eliminação para a frente. Os respectivos componentes serão descritos abaixo.
[065] O presente sistema é um sistema para a decodificação de canais que realiza de forma eficiente a decodificação de máxima probabilidade da perda que ocorre no canal de rasura por meio de um pequeno número de processos. Para haver simplicidade, de forma similar à primeira e à segunda realizações, como o exemplo de preferência, no qual o presente sistema funciona efetivamente, é suposto um exemplo no qual a transmissão de um pacote IP na Internet que serve como um canal representativo de um canal de rasura, e um código LDPC configurado suposto por um gráfico disperso como um código será descrito abaixo com referência à FIGURA 8.
[066] Quando os dados de entrada são enviados para o dispositivo para a decodificação de canais 300, os dados de entrada são transferidos para a unidade comum de decodificação 301, e feita uma tentativa para restaurar os dados perdidos (S301 a S303). No código linear, é sabido previamente que um produto dos dados recebidos e a matriz de verificação de paridade H de cada bloco é 0 (zero). Por essa razão, a unidade comum de decodificação 301 restaura de forma exclusiva um dado perdido que não tem relação com os demais dados perdidos como os dados perdidos restaurados.
[067] Se todos os dados perdidos tiverem sido restaurados na primeira unidade comum de decodificação 301 (sim em S304), o processo de decodificação termina, e os dados são enviados. Entretanto, quando ainda existirem dados perdidos que não tenham podido ser restaurados pela primeira unidade comum de decodificação 301 (não em S304), de forma similar à primeira e à segunda realizações, é tentada a decodificação de máxima probabilidade por meio da aplicação do método de eliminação de Gauss (S306), mas os dados restaurados calculados pela unidade comum de decodificação 301 são retidos na unidade cachê de decodificação parcial 302 antes de ser tentada a decodificação de máxima probabilidade. Como se espera que a complexidade computacional seja reduzida usando a parte retida quando os dados perdidos são reconstruídos pelo subsequente método de eliminação de Gauss.
[068] De forma similar à segunda realização, a unidade de escolha de grau 303 muda a Fórmula (8) na qual a matriz de identidade é preparada para a seguinte expressão relacional por meio do rearranjo da matriz Hz no lado esquerdo na ordem ascendente de graus (S309). MATEMÁTICA 10
Figure img0009
[069] Aqui, Hz“ é uma matriz que é escolhida na ordem ascendente de graus. Se a escolha de grau é limitada a somente a escolha de coluna, é desnecessário mudar o lado direito da Fórmula acima, e quando as fileiras são mudadas, é possível a adaptação por meio da troca de fileiras da matriz de identidade no lado direito e mudá-las para I”. Aqui, é descrito um exemplo no qual somente as colunas altamente efetivas são escolhidas, mas no caso de uma classe denominada código LDPC-Staircase, pode ser feita a descarga de um processo subsequente em alta velocidade por meio da escolha preferencial de uma matriz escada. Em geral, é desejável evitar ao máximo que o preenchimento ocorra durante o processo de descarga, já que este está associado a um aumento da complexidade computacional, mas é sabido que fazer o rearranjo no qual o preenchimento seja mínimo é um problema NP completo. Aqui, o preenchimento se refere a qual valor é enviado a um local que tenha sido originalmente um elemento de 0 no processo de descarga. O método de escolha na ordem ascendente de graus pode facilmente reduzir a ocorrência do preenchimento, e assim pode ser feita uma operação de alta velocidade. Como a matriz escada é preferencialmente escolhida, a ocorrência do preenchimento também pode ser suprimida, o que conduz a uma operação de alta velocidade. Mais ainda, como outro método para o aumento de velocidade, é amplamente conhecida uma técnica como a conversão da matriz triangular, e essa técnica pode ser aplicada.
[070] Então, a unidade de seleção/descarga pivô 304 faz a eliminação para frente na matriz rearranjada (S310). Como a unidade de descarga faz o rearranjo onde é suprimida a ocorrência do preenchimento, pode ser feita a rápida descarga.
[071] Quando a conversão da matriz triangular é feita, pode ser obtida uma forma similar à Fórmula (9) e como um processo subsequente (S306) da unidade de decodificação do método de eliminação de Gauss 305, é feito este mesmo processo como na segunda realização.
[072] Como acima descrito, no método para a decodificação de canais de acordo com a presente realização, a unidade comum de decodificação 301 executa a etapas S301 a S305, a unidade de escolha de grau 303 executa a etapa S309, a unidade de seleção/descarga pivô 304 executa a etapa S310, e a unidade de decodificação do método de eliminação de Gauss 305 executa a etapa S306. QUARTA REALIZAÇÃO
[073] A FIGURA 9 ilustra um diagrama de configuração básica de um sistema para a decodificação de canais que implementa a decodificação de máxima probabilidade usando o método comum de decodificação e o método de eliminação de Gauss repetidamente. 401 indica uma unidade comum de decodificação que restaura os dados perdidos por meio de um pequeno número de operações, 402 indica a Unidade Cachê Parcial de Decodificação que retém os dados parciais de um processo de operação de restauração como um cachê quando os dados perdidos são reconstruídos por uma unidade comum de decodificação 401 e uma unidade de decodificação do método de eliminação de Gauss 407, 403 indica uma unidade de seleção de coluna de Gauss que seleciona a matriz de verificação de paridade correspondente aos dados perdidos que são restaurados pelo método de eliminação de Gauss como uma coluna de Gauss, 404 indica uma unidade comum de seleção de coluna que seleciona a matriz de verificação de paridade correspondente aos dados perdidos que são restaurados pelo método comum de decodificação como uma coluna comum, 405 indica a unidade de escolha de grau que escolhe os gráficos dispersos de acordo com um grau, e 406 indica a unidade de seleção/descarga pivô que seleciona um pivô, converte a coluna comum em uma matriz de identidade por meio da eliminação para frente, e converte a coluna de Gauss em uma matriz triangular, e 407 indica uma unidade de decodificação do método de eliminação de Gauss que realmente restaura os dados perdidos. Os respectivos componentes serão descritos abaixo.
[074] O presente sistema é um sistema para a decodificação de canais que realiza de forma eficiente a decodificação de máxima probabilidade na perda que ocorre no canal de rasura por meio de um pequeno número de processos. Para haver simplicidade, de forma similar à primeira, à segunda e à terceira realizações, como um exemplo de preferência no qual o presente sistema funciona efetivamente, é suposto um exemplo no qual a transmissão do pacote IP na Internet que serve como canal representativo de um canal de rasura, sendo suposto um código LDPC configurado por um gráfico disperso como um código que será descrito abaixo com referência à FIGURA 10.
[075] Quando os dados de entrada são enviados ao dispositivo para a decodificação de canais 400, os dados de entrada são transferidos para a unidade comum de decodificação 401, sendo feita uma tentativa para restaurar os dados perdidos (S401 a S403). No código linear, é sabido previamente que um produto dos dados recebidos e de uma matriz de verificação de paridade H de cada bloco é 0 (zero). Por essa razão, a unidade comum de decodificação 401 restaura de forma exclusiva um dado perdido que não tem relação com os demais dados perdidos como os dados perdidos restaurados.
[076] Se todos os dados perdidos tiverem sido restaurados na primeira unidade comum de decodificação (sim em S404), o processo de decodificação termina, e os dados são enviados. Entretanto, quando ainda existirem dados perdidos que não tenham podido ser restaurados pela primeira unidade comum de decodificação (não em S404), de forma similar à primeira, à segunda e à terceira realizações, é tentada a decodificação de máxima probabilidade por meio da aplicação do método de eliminação de Gauss (S405 a S413), mas os dados restaurados calculados pela unidade comum de decodificação 401 são retidos na unidade cachê de decodificação parcial 402 sendo antes tentada a decodificação de máxima probabilidade. Isso se deve porque se espera que a complexidade computacional seja reduzida usando a parte retida quando os dados perdidos são reconstruídos pelo subsequente método de eliminação de Gauss.
[077] Similarmente à segunda realização, na Fórmula (8) na qual a matriz de identidade é preparada, a unidade de seleção de coluna de Gauss 403 seleciona uma coluna, na qual os dados perdidos têm alta probabilidade de serem subsequentemente restaurados pelo método de eliminação de Gauss de Hz (S411) . É sabido que a complexidade computacional de decodificação é mudada por meio deste algoritmo de seleção, mas para haver simplicidade, é feita uma operação da seleção de uma coluna (uma coluna na qual seja grande a soma de todos os elementos na coluna) em que o grau de Hz da Fórmula (8) seja pesado. Depois de uma coluna ser indicada como a coluna de Gauss, se for suposto que os dados perdidos correspondentes à coluna de Gauss tiverem sido restaurados pela unidade comum de seleção de coluna 404, é selecionada uma coluna correspondente aos dados perdidos que possa necessariamente ser restaurada pelo método comum de decodificação como a coluna comum (S412). Os dados perdidos que possam ser necessariamente restaurados pelo método comum de decodificação são dados perdidos que podem ser exclusivamente reconstruídos a partir dos dados restaurados antecipados de um candidato restaurado pelo método de eliminação de Gauss e os dados recebidos sendo dados independentes de outros dados perdidos. As operações de 403 e 404 são repetidas até que todas as colunas de Hz pertençam à coluna de Gauss ou à coluna comum (S413). Por exemplo, essa determinação é feita pela unidade de seleção de coluna de Gauss 403.
[078] Quando todas as colunas pertencerem à coluna de Gauss ou à coluna comum, o processo prossegue para S409. Em S409, a unidade de escolha de grau 405 rearranja a coluna comum e a coluna de Gauss (escolha). Para a escolha, de forma similar à terceira realização, pode ser usada a técnica de rearranjo como a conversão da matriz triangular, mas na presente realização, para haver simplicidade, a coluna comum e a coluna de Gauss são supostas como rearranjadas na ordem ascendente de graus (a ordem em que a soma de todos os elementos na coluna seja pequena). A unidade de seleção/descarga pivô 406 faz a conversão da matriz de identidade na coluna comum pela eliminação para frente, e faz a conversão da matriz triangular na coluna de Gauss. A conversão da matriz de identidade e a conversão da matriz triangular correspondem às etapas do método de eliminação de Gauss. Neste processo, o pivô é selecionado na ordem ascendente de graus, e de forma similar à terceira realização no caso do código LDPC-Stair, sendo selecionado a partir da matriz superior da matriz escalão, podendo assim ser feita a operação de alta velocidade.
[079] Quando a conversão da matriz de identidade e a conversão da matriz triangular são realizadas, de forma similar à Fórmula (9), a forma da matriz triangular superior pode ser obtida e, assim como o processo subsequente da unidade de decodificação do método de eliminação de Gauss 407, é realizado o mesmo processo que na segunda e terceira realizações.
[080] Como acima descrito, no método para a decodificação de canais de acordo com a presente realização, a unidade comum de decodificação 401 executa as etapas S401 a S405, a unidade de seleção de coluna de Gauss 403 executa as etapas S411 e S413, a unidade comum de seleção de coluna 404 executa a etapa S412, a unidade de escolha de grau 405 executa a etapa S409, a unidade de seleção/descarga pivô 406 executa a etapa S410, e a unidade de decodificação do método de eliminação de Gauss 407 executa a etapa S406.
[081] Como acima descrito, na presente invenção, decodificação de máxima probabilidade mais rápida pode ser implementada com baixa complexidade computacional reduzindo os dados perdidos restaurados pelo método de eliminação de Gauss sempre que possível e aumentado os dados perdidos restaurados pelo método comum de decodificação sempre que possível na decodificação de máxima probabilidade do código de gráfico disperso.
[082] Além disso, o dispositivo da presente invenção pode ser implementado por um computador e um programa, e o programa pode ser registrado em uma mídia de gravação ou provido por uma rede.
APLICABILIDADE INDUSTRIAL
[083] A presente invenção pode ser aplicada na indústria de comunicações de informações. Lista dos Sinais de Referência 10: dispositivo para a codificação de canais 11: unidade para a codificação de canais 20: dispositivo para transmissão em pacotes 21: unidade para a transmissão em pacotes 30: dispositivo para recepção em pacotes 31: Unidade de análise dos dados recebidos 40: 100, 200, 300, 400: dispositivo para a decodificação de canais 41: Unidade para a decodificação de canais 42: unidade de decodificação de semelhança máxima 101, 201, 301, 401: unidade comum de decodificação 102, 203, 407: Unidade de processamento do método de eliminação de Gauss. 103, 204, 305: Unidade de decodificação do método de eliminação de Gauss 202, 302, 402: Unidade Cachê Parcial de Decodificação 303, 405: unidade de escolha de grau 304, 406: Unidade de seleção/descarga de pivô 403: Unidade de seleção de coluna de Gauss 404 : Unidade comum de seleção de coluna.

Claims (8)

1. DISPOSITIVO PARA A DECODIFICAÇÃO DE CANAIS, que corrige um erro de um conjunto de dados onde tenha ocorrido um erro devido à perda de dados, nos dados redundantes codificados com base em uma relação de um gráfico disperso, o dispositivo para a decodificação de canais sendo caracterizado por compreender: uma unidade comum de decodificação que restaura dados perdidos, usando um método comum de decodificação baseado em um algoritmo de passagem de mensagem (MPA); uma unidade de processamento de matriz do método de eliminação de Gauss que realiza uma conversão de matriz triangular dos dados perdidos que não foram restaurados pela unidade comum de decodificação, usando uma matriz de verificação de paridade correspondente a um pacote perdido; e uma unidade de decodificação do método de eliminação de Gauss que recebe uma informação de matriz gerada pela unidade de processamento de matriz de método de eliminação de Gauss, restaura os dados perdidos aplicando um método de eliminação de Gauss às informações de matriz recebidas e transfere os dados restaurados para a unidade comum de decodificação, em que a unidade comum de decodificação produz uma sequência de dados como dados de saída quando todas as perdas podem ser recuperadas.
2. DISPOSITIVO PARA A DECODIFICAÇÃO DE CANAIS, de acordo com a reivindicação 1, caracterizado por incluir uma unidade de armazenagem que considera os dados perdidos independente dos demais dados perdidos entre os dados perdidos como dados restaurados, e retém um resultado da operação utilizado para a decodificação dos dados restaurados, a unidade comum de decodificação lê o resultado da operação retido na unidade de armazenagem, decodifica os dados restaurados aplicando o resultado lido da operação ao método comum de decodificação, e armazena o resultado da operação da decodificação na unidade de armazenagem, e a unidade de decodificação do método de eliminação de Gauss que lê o resultado da operação retido na unidade de armazenagem, decodifica os dados restaurados aplicando o resultado lido da operação ao método de eliminação de Gauss, e armazena o resultado da operação da decodificação na unidade de armazenagem.
3. DISPOSITIVO PARA A DECODIFICAÇÃO DE CANAIS, de acordo com a reivindicação 2, caracterizado pela unidade de decodificação do método de eliminação de Gauss incluir uma unidade de escolha que faz a escolha de maneira que seja reduzida uma ocorrência de preenchimento em uma unidade de seleção/descarga articulada que é executada posteriormente, e a unidade de seleção/descarga articulada que seleciona uma articulação de acordo com uma ordem de escolha de uma unidade de escolha, e descarrega como uma matriz triangular usando a eliminação para frente.
4. DISPOSITIVO PARA A DECODIFICAÇÃO DE CANAIS, de acordo com a reivindicação 3, caracterizado pela unidade de decodificação do método de eliminação de Gauss ainda incluir uma unidade comum de seleção de coluna que seleciona uma coluna correspondente aos dados perdidos que são restaurados pelo método comum de decodificação usando os dados restaurados antecipados que se espera serem restaurados pelo método de eliminação de Gauss como uma coluna comum, e descarrega a coluna comum como uma matriz de identidade, e uma unidade de seleção de coluna de Gauss que seleciona uma coluna de Gauss na ordem de uma coluna na qual um grau de um código de gráfico disperso seja grande, e aumente a seleção das colunas de Gauss uma a uma até que a soma da coluna de Gauss e a coluna comum alcance o número de dados perdidos.
5. MÉTODO PARA A DECODIFICAÇÃO DE CANAIS que corrige um erro de um conjunto de dados onde tenha ocorrido um erro devido à perda de dados, nos dados redundantes codificados com base em uma relação de um gráfico disperso, o método para a decodificação de canais sendo caracterizado por compreender: uma unidade comum de decodificação que restaura dados perdidos, usando um método comum de decodificação baseado em um algoritmo de passagem de mensagem (MPA); uma unidade de processamento de matriz do método de eliminação de Gauss que realiza uma conversão de matriz triangular dos dados perdidos que não foram restaurados pela unidade comum de decodificação, usando uma matriz de verificação de paridade correspondente a um pacote perdido; e uma unidade de decodificação do método de eliminação de Gauss que recebe uma informação de matriz gerada pela unidade de processamento de matriz de método de eliminação de Gauss, restaura os dados perdidos aplicando um método de eliminação de Gauss às informações de matriz recebidas e transfere os dados restaurados para a unidade comum de decodificação, em que a unidade comum de decodificação produz uma sequência de dados como dados de saída quando todas as perdas podem ser recuperadas.
6. MÉTODO PARA A DECODIFICAÇÃO DE CANAIS, de acordo com a reivindicação 5, caracterizado por considerar os dados perdidos independentes dos demais dados perdidos entre os dados perdidos, como dados restaurados, a unidade comum de decodificação lê um resultado da operação mantido em uma unidade de armazenagem que retém o resultado da operação utilizada para a decodificação dos dados restaurados, decodifica os dados restaurados, aplicando o resultado lido da operação ao método comum de decodificação, e armazenan o resultado da operação da decodificação na unidade de armazenagem, e a unidade de decodificação do método de eliminação de Gauss lê o resultado da operação retido na unidade de armazenagem, decodifica os dados restaurados aplicando o resultado lido da operação ao método de eliminação de Gauss, e armazena o resultado da operação da decodificação na unidade de armazenagem.
7. MÉTODO PARA A DECODIFICAÇÃO DE CANAIS, de acordo com a reivindicação 6, caracterizado pela unidade de decodificação do método de eliminação de Gauss incluir um processo de escolha para escolher de maneira que uma ocorrência de preenchimento na seleção/descarga da articulação que é executada posteriormente seja reduzida, e o processo de seleção/descarga da articulação para a seleção da articulação esteja de acordo com uma ordem de escolha realizada no processo de escolha e descarga como uma matriz triangular usando a eliminação para frente.
8. MÉTODO PARA A DECODIFICAÇÃO DE CANAIS, de acordo com a reivindicação 7, caracterizado pela unidade de decodificação do método de eliminação de Gauss realizar um processo de seleção de coluna comum para a seleção de uma coluna correspondente aos dados perdidos que são restaurados pelo método comum de decodificação, usando os dados restaurados antecipados que se espera serem restaurados pelo método de eliminação de Gauss como uma coluna comum, e descarregando a coluna comum como uma matriz de identidade, e um processo de seleção de coluna de Gauss para a seleção de uma coluna de Gauss na ordem de uma coluna, na qual um grau de um código de gráfico disperso seja grande e aumente a seleção das colunas de Gauss uma a uma até que a soma da coluna de Gauss e a coluna comum alcance o número de dados perdidos.
BR112016002908-9A 2013-08-16 2014-08-08 Dispositivo para a decodificação de canais, e, método para a decodificação de canais BR112016002908B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013169065 2013-08-16
JP2013-169065 2013-08-16
PCT/JP2014/070982 WO2015022910A1 (ja) 2013-08-16 2014-08-08 通信路復号方法及び通信路復号装置

Publications (2)

Publication Number Publication Date
BR112016002908A2 BR112016002908A2 (pt) 2020-06-23
BR112016002908B1 true BR112016002908B1 (pt) 2021-11-03

Family

ID=52468296

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016002908-9A BR112016002908B1 (pt) 2013-08-16 2014-08-08 Dispositivo para a decodificação de canais, e, método para a decodificação de canais

Country Status (5)

Country Link
US (1) US10511331B2 (pt)
EP (1) EP3035540B1 (pt)
JP (1) JP5952971B2 (pt)
BR (1) BR112016002908B1 (pt)
WO (1) WO2015022910A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110932734B (zh) * 2019-11-14 2021-06-08 浙江大学 一种基于交替方向乘子法的深度学习信道译码方法
US11734117B2 (en) * 2021-04-29 2023-08-22 Vast Data Ltd. Data recovery in a storage system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659032B2 (ja) * 1985-05-10 1994-08-03 三菱電機株式会社 復号化方法
JP3197348B2 (ja) 1992-08-04 2001-08-13 富士通株式会社 自動車衝突防止レーダ
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
EP1506621B1 (en) 2002-06-11 2013-01-02 Digital Fountain, Inc. Decoding of chain reaction codes through inactivation of recovered symbols
EP2348640B1 (en) 2002-10-05 2020-07-15 QUALCOMM Incorporated Systematic encoding of chain reaction codes
US20090183047A1 (en) * 2006-03-06 2009-07-16 Mattias Lampe Method for Generating Ldpc Codes and Apparatus Using Ldpc Codes
JP2008172617A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム
EP2147504A2 (en) * 2007-04-13 2010-01-27 University College Dublin An encoding scheme, and a decoding scheme using a series of ldpc codes based on finite inversive spaces
JP2009049463A (ja) * 2007-08-13 2009-03-05 Sumitomo Electric Ind Ltd 情報伝送システム、受信装置、データ復号方法、コンピュータプログラム及びデータ構造
CN101453297B (zh) * 2007-12-07 2010-12-01 中兴通讯股份有限公司 低密度生成矩阵码的编码方法和装置、及译码方法和装置
CN101272150B (zh) * 2008-05-14 2010-09-29 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
JP2011193434A (ja) * 2009-10-28 2011-09-29 Panasonic Corp パリティパケットを用いた通信方法、通信装置及び中継器

Also Published As

Publication number Publication date
US10511331B2 (en) 2019-12-17
US20160191080A1 (en) 2016-06-30
WO2015022910A1 (ja) 2015-02-19
EP3035540A1 (en) 2016-06-22
EP3035540A4 (en) 2017-06-07
BR112016002908A2 (pt) 2020-06-23
EP3035540B1 (en) 2019-10-09
JPWO2015022910A1 (ja) 2017-03-02
JP5952971B2 (ja) 2016-07-13

Similar Documents

Publication Publication Date Title
ES2399220T3 (es) Procedimiento de recuperación de paquetes perdidos para protocolos de transmisión de paquetes
JP4546246B2 (ja) 連鎖的暗号化反応の系統的記号化および復号化
US9660763B2 (en) Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
KR101355761B1 (ko) 통신 시스템의 다중 필드 기반 코드 발생기 및 디코더
JP5863200B2 (ja) フレキシブルなソースブロックのマッピングを伴う伸縮性符号を使用した符号化および復号
EP1214793B9 (en) Group chain reaction encoder with variable number of associated input data for each output group code
WO2018166423A1 (zh) 极化码编码的方法和装置
JP2004531972A (ja) Ldpc符号を復号する方法と装置
BR112016002908B1 (pt) Dispositivo para a decodificação de canais, e, método para a decodificação de canais
JP5792256B2 (ja) 疎グラフ作成装置及び疎グラフ作成方法
US10191803B2 (en) Rewriting flash memories by message passing
WO2023051424A1 (zh) 一种基于纠删码的编码方法以及相关设备
TWI520528B (zh) 增壓碼
Meng et al. RECIPE: Rateless Erasure Codes Induced by Protocol-Based Encoding
JP5735610B2 (ja) 符号化装置および復号装置
Kim et al. Duality between erasures and defects

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06I Publication of requirement cancelled [chapter 6.9 patent gazette]

Free format text: ANULADA A PUBLICACAO CODIGO 6.21 NA RPI NO 2565 DE 03/03/2020 POR TER SIDO INDEVIDA.

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 08/08/2014, OBSERVADAS AS CONDICOES LEGAIS.