• Nenhum resultado encontrado

Alternativa de compress˜ ao lossless

4.2 Codificadores gen´ericos

5.1.2 Alternativa de compress˜ ao lossless

Partindo da estrat´egia base, que consistia em utilizar a diferen¸ca entre imagens DICOM consecutivas (Differential Images) em vez das pr´oprias imagens, foram desenvolvidos e imple- mentados v´arios estratagemas que resultaram no m´etodo que iremos descrever de seguida.

A aproxima¸c˜ao normal seria obter as Differential Images pela ordem natural de aquisi¸c˜ao das imagem e usando a equa¸c˜ao de diferen¸ca directa anteriormente definida (Difi,j(m, n) =

Imagemi(m, n) − Imagemj(m, n)). Diversas experiˆencias foram realizadas com este m´etodo mas as taxas de compress˜ao obtidas n˜ao eram satisfat´orias.

Se analisarmos os histogramas das imagens originais XA e CT (Figuras 5.7 e 5.8) e os com- pararmos com os histogramas das imagens obtidas por diferen¸ca directa (Figuras 5.9 e 5.10), ´e leg´ıtimo assumir que as ´ultimas sejam mais suscept´ıveis de serem comprimidas do que as primeiras pois os seus histogramas s˜ao mais compactos.

No entanto isso n˜ao se verificou, pois, apesar das imagens resultantes da diferen¸ca directa conterem uma menor gama de valores do que as imagens originais, elas possuem uma distri- bui¸c˜ao espacial menos estruturada e portanto menos prop´ıcia `a compress˜ao.

´

E importante referir que as Figuras 5.9 e 5.10 n˜ao apresentam os histogramas das diferen¸cas directas, mas sim, os das diferen¸cas directas mapeadas com a Equa¸c˜ao 4.2 que permite, como iremos ver, incluir diferen¸cas positivas e negativas na mesma imagem.

Figura 5.8: Imagem CT e respectivo histograma.

Figura 5.9: Diferen¸ca directa entre duas imagens XA consecutivas e respectivo histograma.

Figura 5.10: Diferen¸ca directa entre duas imagens CT consecutivas e respectivo histograma.

Foi ent˜ao necess´ario desenvolver um m´etodo que utilizasse a mesma redundˆancia tridimensi- onal das diferen¸cas directas mas que a manipulasse por forma a facilitar a sua codifica¸c˜ao.

A solu¸c˜ao encontrada para XA foi, em vez de usarmos a diferen¸ca entre as imagens separadas na dimens˜ao tempo, utilizarmos a diferen¸ca entre imagens extra´ıdas numa outra dimens˜ao. Para isso, agregamos todas as frames, mantendo a sua ordem normal, e criamos um volume tridimensional (x, y, n) de, por exemplo, 512×512×N onde N ´e o n´umero de frames do exame XA (Figura 5.11). O n´umero de aquisi¸c˜ao (n) de cada frame est´a directamente relacionado com o instante (t) em que foi adquirida. Assim, um n´umero de aquisi¸c˜ao superior implica

um momento de aquisi¸c˜ao posterior. Este processo de constru¸c˜ao do volume foi executado usando a ferramenta de software Matlab. As imagens usadas na diferen¸ca directa s˜ao posteri- ormente extra´ıdas no plano xt e n˜ao no plano xy (este ´ultimo constitui a sequˆencia temporal das imagens) - Figura 5.12. A solu¸c˜ao foi depois extrapolada para CT em que N passa a ser o n´umero de cortes do procedimento e as imagens s˜ao extra´ıdas no plano an´alogo ao xt para XA, i.e., o plano xz.

Figura 5.11: Constru¸c˜ao do volume.

Figura 5.12: Extrac¸c˜ao de imagem xt.

Na Figura 5.13 ´e poss´ıvel observarem-se os dois tipos de imagens, o de uma frame original xy (esquerda) e de uma frame xt (direita). As Differential Images s˜ao obtidas subtraindo-se uma imagem xt da imagem xt precedente. O primeiro plano xt ´e o topo do volume e o ´ultimo plano xt ´e o fundo do mesmo. Estas imagens permitir˜ao, como iremos ver, obter Differential Images mais prop´ıcias `a compress˜ao.

Figura 5.13: Diferen¸ca entre uma imagem xy e uma imagem xt.

O valor dos pixels das Differential Images xt resulta igualmente da aplica¸c˜ao da equa¸c˜ao de diferen¸ca directa anteriormente definida. As Differential Images da modalidade XA necessi- taram de uma aten¸c˜ao especial pois n˜ao era poss´ıvel, com 8 bits de resolu¸c˜ao, guardar toda a gama poss´ıvel de diferen¸cas ([-255, 255]) pelo que os valores de diferen¸ca n˜ao podiam ser directamente atribu´ıdos.

Foi ent˜ao utilizado um esquema de mapeamento similar ao usado pelo JPEG-LS e descrito na Equa¸c˜ao 4.2 aqui repetida.

M (ǫ) = 2|ǫ| − µ(ǫ) (5.1)

onde ǫ representa a diferen¸ca e µ(ǫ) = 1 se ǫ < 0 ou 0 se ǫ ≥ 0

Para este caso espec´ıfico, ǫ n˜ao representa um erro (como para JPEG-LS) mas sim o valor resultante da diferen¸ca directa. A aplica¸c˜ao deste mapeamento resulta que todas as diferen¸cas negativas se transformem em n´umeros inteiros positivos ´ımpares e as positivas em n´umeros inteiros positivos pares. Este esquema pode, no entanto, parecer inadequado pela necessidade da Differential Image resultante necessitar, nalguns casos, de 2 Bytes por pixel (se 2|ǫ| − µ(ǫ) for superior a 255) mas isto nunca ocorreu em todos os procedimentos testados pois os valores das diferen¸cas s˜ao relativamente pequenos. No entanto, se se revelar necess´ario, a Differential Image em causa ´e gravada com 16 bits por pixel, n˜ao afectando a integridade do algoritmo. Depois do mapeamento, as Differential Images s˜ao codificadas com os diversos algoritmos de compress˜ao (de imagem e gen´ericos) descritos anteriormente.

´

E importante real¸car que as Differential Images incluem tanto redundˆancia bidimensional como tridimensional pois as imagens xt (xz para CT) usadas na diferen¸ca directa possuem informa¸c˜ao temporal intr´ınseca (terceira dimens˜ao espacial no caso CT) pois cada imagem xt ou xz contem a informa¸c˜ao do comportamento de uma linha de pixels ao longo de todo o procedimento.

As modalidades XA e CT s˜ao, em termos de estrutura dos ficheiros DICOM, consideravel- mente diferentes pelo que as abordagens de leitura, an´alise e compress˜ao s˜ao tamb´em elas distintas. Iremos de seguida abordar, separadamente, a estrat´egia alternativa espec´ıfica de cada modalidade.

Angiografia coron´aria

Cada exame XA (objecto multi-frame) ´e armazenado em disco sob a forma de um ´unico ficheiro DICOM no qual, no entanto, cada frame do procedimento possui a sua pr´opria in- forma¸c˜ao relativa. Isto resulta num ´unico ficheiro DICOM XA multi-frame de N frames. Por- tanto, para o caso espec´ıfico da modalidade XA, a situa¸c˜ao geral da Figura 5.4 transforma-se no diagrama de blocos da Figura 5.14.

O algoritmo inicia-se com uma procura recursiva dos ficheiros DICOM existentes na pasta seleccionada. Ao encontrar um ficheiro DICOM XA, ´e efectuada uma an´alise ao seu cabe¸calho de modo a identificar os v´arios parˆametros que ser˜ao usados na manipula¸c˜ao do mesmo como por exemplo, a Transfer Syntax (para verificar se o ficheiro j´a sofreu compress˜ao etc.) e o n´umero de frames. As frames que constituem o ficheiro XA s˜ao extra´ıdas individualmente e armazenadas em formato RAW ou Portable Gray Map (PGM) que n˜ao ´e mais do que uma imagem RAW com um pequeno cabe¸calho de trˆes linhas em que est˜ao indicados, al´em de uma palavra reservada de identifica¸c˜ao do formato (palavra “P5”), o n´umero de linhas, n´umero de colunas e o valor m´aximo poss´ıvel que um pixel da imagem pode possuir.

Os ficheiros s˜ao posteriormente analisados por um programa escrito em Matlab (convers˜ao para “C” em curso), no qual os ficheiros s˜ao anexados uns aos outros de modo a construir o volume. Desse volume s˜ao extra´ıdas as frames xt (Figura 5.12) e s˜ao calculadas as Differential Images que ser˜ao posteriormente sujeitas `a compress˜ao. Este ciclo ´e ent˜ao repetido at´e que nenhum ficheiro DICOM XA seja encontrado no direct´orio em an´alise. Na primeira itera¸c˜ao ´e criado um log file onde s˜ao guardados resultados como o nome do ficheiro DICOM, taxa de compress˜ao obtida etc. Este log file ´e actualizado a cada nova itera¸c˜ao. Os m´odulos de soft- ware aplicados em cada passo, para a modalidade XA, est˜ao tamb´em descritos na Figura 5.14.

Figura 5.14: Diagrama de fluxo detalhado para XA.

Encontram-se, na Tabela 5.1, as especifica¸c˜oes da amostra de exames XA usada nesta ex- periˆencia de compress˜ao e sujeita ao algoritmo descrito anteriormente pela Figura 5.14.

Tabela 5.1: Caracteriza¸c˜ao da amostra de exames XA usada. N´umero total de procedimentos 278

N´umero total de frames 23152

N´umero m´ınimo de frames por exame 16 N´umero m´aximo de frames por exame 277

Velocidade de aquisi¸c˜ao 15 frames-per-second Espa¸co de armazenamento total 6.077.106.590 Bytes (6 GB)

Os passos efectuados na compara¸c˜ao entre a utiliza¸c˜ao dos codificadores state-of-the-art nas imagens originais e a utiliza¸c˜ao dos codificadores gen´ericos no m´etodo Differential Images foram:

1. Aplicar os codificadores lossless state-of-the-art nas imagens XA originais previamente exportadas para o formato PGM (formato de entrada para a maioria dos codificadores) pela biblioteca DcmCC.dll.

2. Aplicar o codificador gen´erico referˆencia (PPMd) nas imagens XA originais para verificar o seu comportamento nestas imagens.

3. Ap´os a realiza¸c˜ao dos dois testes anteriores, aplicar o codificador state-of-the-art que melhores resultados obteve nas imagens originais, nas imagens do m´etodo Differential Images.

4. Comprimir as imagens do m´etodo Differential Images com os v´arios codificadores gen´ericos apresentados anteriormente.

Os resultados obtidos com os diferentes codificadores encontram-se nas Tabelas 5.2 e 5.3. As taxas de compress˜ao apresentadas s˜ao calculadas dividindo o espa¸co de armazenamento ocu- pado pela imagem original pelo espa¸co de armazenamento ocupado pela imagem codificada

Tabela 5.2: Resultados de compress˜ao em imagens originais. Codificador Taxa de compress˜ao m´edia Lossless JPEG sv 1 2,67:1 PPMd 2,96:1 JPEG2000 3,37:1 JPEG-LS 3,52:1 PAQ8i 3,78:1 BMF 2.0 3,80:1

O codificador BMF 2.0 foi inclu´ıdo na Tabela 5.3 por ter sido o que melhor resultados teve na Tabela 5.2 servindo desta forma para comprovar o fraco desempenho dos codificadores de imagem state-of-the-art nas imagens do m´etodo Differential Images.

Tabela 5.3: Resultados de compress˜ao em Differential Images. Codificador Taxa de compress˜ao m´edia

BMF 2.0 2,74:1

Zlib 2,89:1

BZ2 2,99:1

PPMd 3,38:1

PAQ8f 3,43:1

Das Tabelas 5.2 e 5.3 ´e poss´ıvel tirar as seguintes conclus˜oes:

• O JPEG-LS ´e o melhor codificador lossless de entre os trˆes codificadores de imagem adoptados pela norma DICOM para estudos angiogr´aficos.

• Dois dos codificadores lossless de imagem (BMF 2.0 e PAQ8i) s˜ao superiores aos adop- tados pelo standard DICOM. No entanto, os seus desempenhos diminuem consideravel- mente nas Differential Images (ver BMF 2.0 na Tabela 5.3).

• O m´etodo alternativo com codificador PPMd consegue, em m´edia, uma compress˜ao 27% mais elevada do que o Lossless JPEG sv1. Tem tamb´em uma taxa de compress˜ao ligeiramente melhor do que o JPEG2000 e perde somente 4% em rela¸c˜ao ao JPEG-LS.

´

E preciso real¸car o facto de que os codificadores da fam´ılia JPEG foram desenvolvidos especialmente para a compress˜ao de imagens.

• Os codificadores gerais da fam´ılia PAQ8 est˜ao entre os melhores em ambas as estrat´egias. No entanto, devem ser exclu´ıdos como solu¸c˜ao pr´atica pois tˆem um consumo elevado tanto em termos de recursos computacionais como em tempo de processamento. Foram usados nestas experiˆencias para servir de compara¸c˜ao com os outros codificadores. De seguida est´a apresentada a estrat´egia de arquivo para a modalidade de imagiologia CT e respectivos resultados.

Tomografia Computorizada

Os ficheiros DICOM da modalidade CT s˜ao originalmente armazenados de forma diferente aos de XA pelo que foi necess´ario aplicar uma abordagem diferente ao m´etodo Differential Images. Cada corte CT ´e armazenado num ficheiro separado dos restantes, o que resulta em N ficheiros DICOM em que cada um corresponde `a imagem de um ´unico corte. Portanto,

para o caso espec´ıfico da modalidade CT, a situa¸c˜ao geral da Figura 5.4 transforma-se no diagrama de fluxo da Figura 5.15.

Figura 5.15: Diagrama de fluxo detalhado para CT.

O algoritmo desenvolvido para a modalidade CT ´e praticamente idˆentico `a abordagem usada em XA mas difere em pontos importantes (com contornos espessos na Figura 5.15). Devido `

a forma como os ficheiros CT s˜ao armazenados, ´e imperativo identificar e agrupar os ficheiros que pertencem ao mesmo procedimento. O bloco interrogat´orio “ID Correcto ?” ´e ent˜ao necess´ario para se identificar a classifica¸c˜ao do ficheiro DICOM analisado em termos de Pa- tient Name, Study ID, Series Number, etc., de acordo com a hierarquia de pesquisa DICOM apresentada no Cap´ıtulo 3.

Alguns procedimentos CT gerados no CHVNG e por n´os usados nas experiˆencias tˆem ori- gem num equipamento CT multidetector (MDCT) de 64 cortes e s˜ao geralmente destinados para diagn´ostico de calcifica¸c˜ao das art´erias coron´arias (CTA). Nestes procedimentos, ´e co-

mum dividir-se o ciclo card´ıaco (intervalo R-R), de forma percentual, em janelas temporais (normalmente 10) denominadas fases nas quais s˜ao adquiridas as imagens. O bloco “Fase card´ıaca completa?” da Figura 5.15 est´a relacionado com a identifica¸c˜ao da fase card´ıaca a que o ficheiro DICOM em causa pertence.

Esta t´ecnica, em que existe um sincronismo entre a aquisi¸c˜ao das imagens CT e o electrocar- diograma (ECG) do paciente ´e chamada de CT com ECG triggering [13, 14]. Na Figura 5.16 encontra-se um exemplo de ECG triggering para um equipamento CT de corte ´unico.

Figura 5.16: CT com ECG triggering [13].

Apesar de reduzirem bastante o tempo de aquisi¸c˜ao do exame, os 64 cortes simultˆaneos n˜ao permitem, em condi¸c˜oes normais, adquirir em simultˆaneo um volume imagiol´ogico que abranja todo o cora¸c˜ao pelo que s˜ao necess´arias v´arias passagens em diferentes posi¸c˜oes relativas. Estas novas aquisi¸c˜oes s˜ao efectuadas nos pr´oximos ciclos card´ıacos com sincroniza¸c˜ao retrospectiva das reconstru¸c˜oes tomogr´aficas. Como resultado da aplica¸c˜ao da t´ecnica de ECG triggering, o procedimento completo ´e composto pelo n´umero normal de cortes CT multiplicado pelo n´umero de fases em que o ciclo card´ıaco foi dividido. Por exemplo, se necessitarmos de 300 cortes para obter imagens de todo o cora¸c˜ao e o ciclo for dividido em 10 fases, o procedimento ser´a, na sua totalidade, constitu´ıdo por 3000 ficheiros DICOM.

Os volumes de imagens criados neste trabalho e usados para se extra´ırem as imagens xz, apenas podem ser constru´ıdos com ficheiros DICOM CT do mesmo procedimento e princi- palmente da mesma fase do ciclo card´ıaco. Mas, como todos os ficheiros de uma mesma fase n˜ao s˜ao adquiridos de forma sequencial, ´e necess´ario orden´a-los antes de os converter para o formato RAW ou PGM. Essa ordena¸c˜ao ´e efectuada com o algoritmo Shell sort e usando como parˆametro de ordena¸c˜ao a etiqueta Instance Number (0020,0013) dos ficheiros DICOM CT que identifica o n´umero da imagem dentro da s´erie. Este algoritmo de ordena¸c˜ao deriva do Insertion sort e foi inventado por Donald Shell em 1959. ´E um dos mais r´apidos algoritmos para classificar pequenos conjuntos com menos de 1000 elementos (como ´e o caso de ficheiros CT da mesma fase card´ıaca). Uma outra vantagem deste algoritmo ´e que requer quantidades relativamente pequenas de mem´oria [15, 16].

Depois de ordenados, os ficheiros s˜ao convertidos, tal como para XA, para o formato RAW ou PGM. O volume ´e ent˜ao criado e s˜ao extra´ıdas as imagens xz CT. As Differential Images s˜ao obtidas mas com uma pequena diferen¸ca em rela¸c˜ao a XA. Cada pixel de uma imagem CT ocupa 2 Bytes, dos quais s´o os 12 bits menos significativos (least significant bits - lsb) tˆem informa¸c˜ao, i.e., os 4 bits mais significativos (most significant bits - msb) est˜ao a zero ou possuem informa¸c˜ao irrelevante. ´E ent˜ao importante aplicar uma m´ascara de modo a n˜ao incluir o conte´udo dos 4 msb no c´alculo da diferen¸ca entre imagens xz consecutivas.

Al´em disso, existe ainda a possibilidade dos dados estarem representados numa de duas formas poss´ıveis: Windows Intel “Litte Endian” (Figura 5.17) ou Motorola “Big Endian” (Figura 5.18). Esta representa¸c˜ao interna especifica de que forma est´a ordenada a informa¸c˜ao em palavras de 2 ou mais Bytes. No caso das m´aquinas Intel e para uma palavra de 16 bits (2 Bytes), o Byte menos significativo vem primeiro, no espa¸co de endere¸camento em mem´oria, do que o Byte mais significativo [17, 18].

Figura 5.17: Armazenamento “Little Endian” em mem´oria [18].

Para esta situa¸c˜ao espec´ıfica, a Transfer Syntax suportada, por defeito, pelo standard DICOM ´e “Implicit VR Little Endian Transfer Syntax”. O trabalho foi efectuado em m´aquinas de arquitectura Intel pelo que foi necess´ario especial cuidado na aplica¸c˜ao da m´ascara.

Figura 5.18: Armazenamento “Big Endian” em mem´oria [18].

As Differential Images s˜ao finalmente comprimidas com um dos codificadores mencionados no cap´ıtulo anterior e o log file ´e actualizado. Os passos efectuados na compara¸c˜ao entre a utiliza¸c˜ao dos codificadores state-of-the-art nas imagens originais e a utiliza¸c˜ao dos codifica- dores gen´ericos no m´etodo Differential Images foram os mesmos do que para a modalidade XA.

Encontram-se, na Tabela 5.4, as especifica¸c˜oes da amostra de procedimentos CT usada nesta experiˆencia e sujeita ao algoritmo descrito anteriormente pela Figura 5.15.

Tabela 5.4: Caracteriza¸c˜ao da amostra de exames CT usada.

N´umero total de procedimentos 5

N´umero total de frames 8334

M´aximo n´umero de files por fase card´ıaca 369 M´ınimo n´umero de files por fase card´ıaca 273

Volume de dados 4.396.540.912 Bytes (4 GB)

Os resultados obtidos com este m´etodo e com os diferentes codificadores encontram-se nas Tabelas 5.5 e 5.6. ´E de notar a ausˆencia do codificador BMF 2.0 que obteve os melhores resultados nas imagens XA. Esta ausˆencia deve-se `a incapacidade deste codificador lidar com imagens grayscale com resolu¸c˜ao superior a 8 bits por pixel (bpp) como ´e o caso das imagens CT (12 bpp).

A norma de compress˜ao JPEG2000 encontra-se na Tabela 5.6 pela mesma raz˜ao que o codifica- dor BMF2.0 se encontrava na Tabela 5.3 para a modalidade XA, i.e., comparar o desempenho do melhor codificador em imagens CT originais com o desempenho dos codificadores ditos gen´ericos quando aplicado em Differential Images.

Tabela 5.5: Resultados de compress˜ao em imagens originais. Codificador Taxa de compress˜ao m´edia

PPMd 2,033:1

Lossless JPEG sv 1 2,148:1

PAQ8i 2,234:1

JPEG-LS 2,639:1

JPEG2000 2,675:1

Tabela 5.6: Resultados de compress˜ao em Differential Images. Codificador Taxa de compress˜ao m´edia

Zlib 1,799:1 JPEG2000 2,276:1 PPMd - Ordem 2 2,414:1 BZ2 2,422:1 PPMd - Ordem 5 2,444:1 PAQ8f 2,545:1

Na Tabela 5.6 est˜ao afixados dois resultados com o codificador PPMd que se referem ao mesmo codificador mas com ordens diferentes. O codificador PPMd de ordem 2 ´e ´optimo para a modalidade XA enquanto que para CT, o codificador ´e ´optimo se o preditor usar as 5 amostras anteriores (ordem 5). Apesar da diferen¸ca nas taxas de compress˜ao entre as duas configura¸c˜oes ser m´ınima, ilustra claramente que a configura¸c˜ao deste codificador afecta os resultados obtidos.

Das Tabelas 5.5 e 5.6 ´e poss´ıvel tirar as seguintes conclus˜oes:

• Ao contr´ario da modalidade XA em que o codificador JPEG-LS foi o melhor, em CT, o JPEG2000 ´e o melhor codificador lossless de entre os trˆes codificadores de imagem adop- tados pela norma DICOM para estudos CT, ultrapassando mesmo o exigente PAQ8i. • O m´etodo Differential Images com codificador PPMd consegue, em m´edia, uma com-

press˜ao 14% mais elevada do que o Lossless JPEG sv1 perdendo, no entanto, cerca de 8% para o JPEG-LS e 9% para o JPEG2000.

• Tal como nos resultados obtidos para a modalidade XA, os codificadores gen´ericos da fam´ılia PAQ8 est˜ao entre os melhores em ambas as estrat´egias. No entanto, foram mais uma vez exclu´ıdos como solu¸c˜ao pr´atica devido ao elevado consumo de recursos computacionais e de tempo de processamento. Foram usados nestas experiˆencias para servir de compara¸c˜ao com os outros codificadores.

O ponto essencial que tem de ser referido ´e que, mediante os resultados apresentados nas tabelas anteriores, o m´etodo Differential Images iguala, de certa forma, os desempenhos dos mais recentes codificadores de imagem mas n˜ao os ultrapassa. Isto torna-o pouco atractivo para a compress˜ao puramente lossless pois n˜ao introduz melhorias significativas nas taxas de compress˜ao. No entanto, como veremos mais a frente nesta disserta¸c˜ao, um dos pontos fortes desta estrat´egia consiste na sua flexibilidade e na possibilidade de integra¸c˜ao de diferentes t´ecnicas de remo¸c˜ao de informa¸c˜ao visual n˜ao relevante, de modo a se obter um m´etodo de compress˜ao visually lossless aliciante. Outro ponto importante resida na facilidade de integra¸c˜ao de novos codificadores lossless no esquema geral do algoritmo.