Escolar Documentos
Profissional Documentos
Cultura Documentos
O objectivo da sessão de laboratório a que este texto se refere é familiarizar os alunos com os
principais aspectos de uma transmissão de telecópia. Para isso usar-se-á a aplicação “Comunicação
de Imagem”1 que inclui, entre outros, um módulo com um sistema de telecópia.
O texto está organizado em três partes correspondentes aos três blocos principais do sistema de
telecópia disponível (ver figura):
• Codificador de imagens de telecópia
• Transmissão e corrupção no canal dos bits de código
• Descodificador dos bits de código
Introdução de erros
Imagem original Codificador Descodificador Imagem descodificad
de transmissão
Visualizar Visualizar
1. CODIFICADOR DE TELECÓPIA
Este primeiro bloco simula o funcionamento de um codificador de telecópia do grupo 3 ou do
grupo 4.
1
A aplicação “Comunicação de Imagem” foi desenvolvida pelo aluno Pedro Fernandes no contexto do seu Trabalho
Final de Curso. Aqui ficam desde já os meus agradecimentos pelas possibilidades que esta aplicação abriu para os
laboratórios da disciplina de “Comunicação de Imagem”.
1
Ao seleccionar uma imagem no directório “FAX”, esta ser-lhe-á apresentada no écran, podendo
então controlar com o rato a dimensão da janela de visualização, fazer “zoom in” e “zoom out” sobre
uma dada zona da imagem utilizando os botões esquerdo e direito do rato e controlar a posição da
zona visualizada usando os cursores laterais na janela de visualização.
1.2 Properties
Este botão permite escolher o modo de codificação para a imagem anteriormente seleccionada ou
para aquela que já estava seleccionada. A imagem seleccionada encontra-se sempre indicada na
janela de diálogo correspondente ao codificador.
Os modos de codificação disponíveis são:
1) GRUPO 3 (modo obrigatório) - Método de Huffman Modificado (MHM) - Este método não
tira proveito da correlação (vertical) entre as linhas, usando apenas codificação unidimensional (ao
longo das linhas). Cada linha termina com um End Of Line (EOL) e o End Of Page (EOP) é
indicado com 6 EOLs.
2) GRUPO 3 com extensões
2.1) Método de READ Modificado - O Método de READ Modificado usa codificação
bidimensional ou seja explora a correlação entre as várias linhas. Para que se possa controlar
a propagação dos erros de transmissão, este método codifica periodicamente linhas em modo
unidimensional ou seja com o Método de Huffman Modificado. Neste caso será pedido ao
utilizador que introduza o valor pretendido para o parâmetro que determina esta
periodicidade (k). Normalmente, na extensão do grupo 3, tem-se k= 2 para baixa resolução
(3.85 linha/mm) e k= 4 para alta resolução (7.7 linha/mm). Cada linha terminará com um
EOL, seguido de um bit de etiqueta: “1” se a próxima linha for codificada
unidimensionalmente, “0” no caso contrário.
2.2.) Método de READ Modificado-Modificado - O Método de READ Modificado-
Modificado é semelhante ao Método de READ Modificado com a excepção de que não se
enviam EOLs, nem bits de etiqueta (a codificação é sempre bidimensional). O EOP consiste
em 6 EOLs com o bit de etiqueta a “1”.
3) GRUPO 4 - Método de READ Modificado-Modificado - O método de codificação do grupo 4
é sempre o Método de READ Modificado-Modificado já que se supõe não haver necessidade de
“pensar nos erros” já que este problema é resolvido noutra parte do sistema (por exemplo nos níveis
inferiores do Modelo OSI). O EOP consiste em 2 EOL (sem bits de etiqueta).
2
1.4 Statistics
Após a codificação, o botão “Statistics” permite obter uma série de dados estatísticos,
nomeadamente:
2. CANAL DE TRANSMISSÃO
Este bloco simula a transmissão através de um canal não ideal, através da possibilidade de
introdução no fluxo de bits de código de erros de dois tipos: erros uniformes e erros em rajada
(burst).
3
2.2 Properties
Este botão permite definir o modo como vão ser introduzidos os erros no ficheiro de bits de código
seleccionado. O ficheiro seleccionado encontra-se sempre indicado na janela de diálogo
correspondente ao canal de transmissão.
• Erros Uniformes - deve introduzir-se a probabilidade de que cada bit (independentemente
dos restantes) esteja errado o que conduz a uma distribuição uniforme no tempo dos erros.
• Erros de Rajada:
◊ Probabilidade de ocorrência do início de uma rajada de erros - probabilidade de que
um dado bit corresponda ao início de uma rajada de erros.
◊ Comprimento mínimo da rajada de erros - comprimento mínimo da sequência de bits
afectados pela rajada de erros.
◊ Comprimento máximo da rajada de erros - comprimento máximo da sequência de bits
afectados pela rajada de erros.
O programa calcula e apresenta a probabilidade de ocorrência de erros de bit devido às
rajadas entendida como a fracção de bits errados (ver nota abaixo).
• Erros Finais no Ficheiro com os Bits de Código:
◊ Erros Uniformes - Indica-se através de um sinal se este tipo de erros deve ou não ser
introduzido na próxima transmissão através do canal.
◊ Erros de Rajada - Indica-se através de um sinal se este tipo de erros deve ou não ser
introduzido na próxima transmissão através do canal
◊ Skip - Indica-se quantas linhas iniciais na imagem deverão ser “saltadas” antes de se
começarem a introduzir os erros indicados.
4
2.3 Transmit Bits
Este botão vai efectuar a introdução de erros, com as características escolhidas, no ficheiro de bits
de código seleccionado, sendo antes necessário introduzir o nome do ficheiro onde vão ser guardados
os bits de código corrompidos pela transmissão no canal. O programa sugere que se dê ao ficheiro o
nome que corresponde ao nome da imagem original escolhida, acrescentando-lhe automaticamente
uma extensão que indica o método de codificação usado e o tipo de erros introduzidos (“b” para
burst, “u” para uniforme e “a” para all - burst + uniforme).
2.4 Statistics
Após a codificação, o botão “Statistics” permite obter uma série de dados estatísticos,
nomeadamente:
i) Número de erros uniformes introduzidos nos bits de código.
ii) Probabilidade de erro de bit correspondente aos erros uniformes (excluem-se os bits
correspondentes às rajadas).
iii) Número de rajadas de erro introduzidas.
iv) Comprimento médio de cada rajada de erro introduzida.
v) Número de erros de rajada introduzidos no fluxo de bits.
vi) Probabilidade de erro de bit correspondente aos erros de rajada (em relação ao total de bits).
3. DESCODIFICADOR DE TELECÓPIA
O último bloco do sistema implementado simula o funcionamento de um descodificador de
telecópia do grupo 3 ou do grupo 4.
3.2 Properties
Atendendo a que a descodificação de ficheiros com bits de código errados conduz inevitavelmente
a perdas de informação, e logo à degradação da imagem, é importante tentar minimizar o impacto
negativo desses erros na imagem descodificada.
A diminuição do impacto subjectivo negativo dos erros depende apenas do descodificador e logo
pode ser feita segundo métodos mais ou menos “inteligentes” sem quaisquer problemas de
interoperabilidade e logo de normalização. Estes métodos, sendo da exclusiva responsabilidade do
receptor, não implicam a transmissão de qualquer informação adicional. Este tipo de processamento
é mais importante para o caso da codificação com o método de READ em virtude da maior
propagação de erros que o caracteriza.
As opções disponíveis no sistema implementado em termos de métodos de diminuição do
impacto subjectivo negativo dos erros na imagem descodificada são quatro:
5
• Print White (PW) - Pôr a branco a linha onde foi detectado o erro, assim como todas as
linhas seguintes, até ser recebida, em boas condições, uma linha codificada unidimensionalmente.
• Print Previous Line (PPL) - Pôr a linha onde foi detectado o erro igual à linha anterior,
assim como todas as linhas seguintes, até ser recebida, em boas condições, uma linha codificada
unidimensionalmente.
• Print Previous Line/White (PLW) - Pôr a linha onde foi detectado o erro igual à linha
anterior e todas as linhas seguintes a branco até ser recebida, em boas condições, uma linha
codificada unidimensionalmente.
• Normal Decode/Previous Line (NDPL) - Descodificar normalmente a linha onde foi
detectado o erro até ao erro e, a partir daí, usar a parte correspondente da linha anterior
descodificada. Esta será a linha de referência para a nova linha, prosseguindo-se com o método
normal de descodificação até à descodificação, em boas condições, de uma linha codificada
unidimensionalmente.
Antes de proceder à descodificação é assim necessário escolher um dos métodos acima descritos
(que obviamente deverá ser o mesmo usado para a codificação). No caso do método de codificação
usado ter sido o método de READ-Modificado é pedido o valor de k usado não porque seja essencial
para a descodificação mas apenas para verificar se a periodicidade da codificação unidimensional
declarada pelo codificador foi respeitada.
Repare-se que qualquer dos métodos acima descritos só permite a recuperação do sincronismo de
descodificação quando se receber correctamente uma linha codificada unidimensionalmente (que
pode ser logo a seguinte ou não). Para isso é necessário que o fluxo de bits de código inclua palavras
de End of Line (EOLs) (telecópia do grupo 3). Assim, não tem sentido o uso destes métodos quando
k é infinito (ou seja não há linhas unidimensionalmente codificadas) já que não existe a possibilidade
de recuperar o sincronismo antes do fim da imagem. Nestas condições deve-se estar a contar com um
outro tipo de método para diminuir o impacto negativo dos erros de transmissão como seja a
retransmissão de informação segundo um qualquer protocolo. Neste caso a degradação da imagem é
diminuída não através de métodos que tentam minimizar os efeitos negativos da informação perdida
devido aos erros mas através da correcção dos próprios erros ficando então a dispor-se da informação
correcta.
6
apenas a informação correspondente à linha descodificada. Poderá vir a saber-se alguma coisa
“olhando” para a linha anteriormente descodificada.
• Aviso - Indica as linhas descodificadas correctamente, indica as linhas onde o bit de etiqueta
tem um valor não esperado em relação à periodicidade indicada através do k (isto não significa que
há erros, pois o descodificador guia-se pelo bit de etiqueta).
No fim da descodificação é visualizada a imagem descodificada. Para além disso é dada a
possibilidade de comparar a imagem descodificada com a imagem original correspondente,
indicando-se a percentagem de amostras diferentes (e logo erradas).
3.4 Statistics
Após a descodificação, o botão “Statistics” permite obter uma série de dados estatísticos,
nomeadamente:
i) Número de linhas correctamente descodificadas.
ii) Número de bits de etiqueta diferentes do esperado.
iii) Número de perdas de sincronismo devido a palavras “impossíveis”.
iv) Número de linhas com “amostras a mais”.
v) Número de amostras incorrectas na imagem final visualizada (descodificação + método de
diminuição do impacto negativo dos erros).
vi) Percentagem da imagem final visualizada incorrecta.
4. SESSÃO DE LABORATÓRIO
Nesta sessão de laboratório pretende-se essencialmente codificar e descodificar imagens,
introduzindo-se também alguns erros de transmissão. Lembre-se que os métodos de codificação
usados na telecópia são métodos sem perdas e, como tal, se não se introduzirem erros de transmissão,
a imagem descodificada é rigorosamente igual à imagem original.
Analise agora os casos de codificação-transmissão indicados de seguida. Para cada caso
descodifique o ficheiro de bits corrompido com os vários métodos de diminuição do impacto
negativo dos erros, analisando a qualidade subjectiva das várias imagens descodificadas (compare,
por exemplo, as imagens descodificadas com o primeiro e o último métodos de diminuição do
impacto negativo dos erros).
Caso 1:
• Imagem 4 do CCITT codificada com o método de codificação obrigatório do grupo 3
• Erros uniformes com probabilidade de erro 10-3
Caso 2:
• Imagem 4 do CCITT codificada com a extensão do grupo 3 correspondente ao Método de
READ Modificado e com k = 4
• Erros uniformes com probabilidade de erro 10-3
7
Caso 3:
• Imagem 4 do CCITT codificada com a extensão do grupo 3 correspondente ao Método de
READ Modificado e com k = 4
• Erros de rajada com probabilidade de ocorrência do início de uma rajada de 10-4, comprimento
mínimo da rajada de 20 bits e comprimento máximo da rajada de 25 bits
Caso 4:
• Imagem 6 do CCITT codificada com a extensão do grupo 3 correspondente ao Método de
READ Modificado e com k = 4
• Erros uniformes com probabilidade de erro 10-3
Caso 5:
• Imagem 6 do CCITT codificada com a extensão do grupo 3 correspondente ao Método de
READ Modificado e com k = 4
• Erros de rajada com probabilidade de ocorrência do início de uma rajada de 10-4, comprimento
mínimo da rajada de 20 bits e comprimento máximo da rajada de 25 bits