Capítulo 2: Despliegue Directo de VolúmenesPese a que la técnica de bricking resuelve el problema de las limitacionesde memoria textura, resulta impráctico para aplicaciones en tiempo real,puesto que el ancho de banda entre la memoria principal y la memoriade textura es limitado. El problema de ancho de banda se agudizacuando adicionalmente el volumen no puede ser almacenadocompletamente en la memoria principal. Para reducir el problema delancho de banda, se puede evitar la carga de bricks vacíos. En estecontexto, algunos trabajos han utilizado la representación jerárquica delvolumen basada en octree. Así, el volumen es particionado a distintostamaños por cada nivel del octree [SRI97]. El nivel 0 constituye elvolumen entero, de O(n 3 ). Recursivamente, el volumen es dividido enbricks de particionamiento más fino, hasta alcanzar un criterio hojadeterminado. Utilizando el octree, un nodo que representa muchos bricksde particionamiento más fino puede ser tempranamente descartado pararendering, al recorrer el octree en pre-orden. Posteriormente, la idea fueutilizada para no almacenar regiones vacías en memoria de textura[TON99]. Sin embargo, esto no garantiza que las áreas no vacías puedanajustarse a los requerimientos de memoria de textura o de la memoriaprincipal.2.4.2 Despliegue de un Área de InterésUna alternativa para visualizar volúmenes de gran tamaño consiste endesplegar únicamente un área de interés, cuyas dimensiones nosobrepasen las capacidades de memoria de textura. En la literatura, esteproceso es conocido como volume roaming [BHA02]. Interactivamente, elárea de interés puede seleccionarse, cargarse en memoria y desplegarse.Por lo general, el área de interés se define como un cubo o lens alineadoa los ejes del volumen, o un corte oblicuo del volumen o clipping plane[LAM00]. Hay dos aspectos importantes a considerar en esta técnica:- La latencia generada por cargar en memoria de textura otrosubvolumen, al mover interactivamente el área de interés dentro del granvolumen. Esta latencia puede reducirse utilizando bricking y lacoherencia frame a frame, puesto que al cambiar ligeramente el área deinterés, sólo un subconjunto de nuevos bricks son requeridos pararendering. Sin embargo, no hay garantía de que la cantidad de memoriatransferida por frame no represente un cuello de botella, a menos que selimite el tamaño del lens y la velocidad con que se desplaza el lens o elclipping plane dentro del volumen.- Según el fenómeno que se desea estudiar mediante el despliegue delvolumen, puede ser importante conocer el contexto en el que seencuentra el área de interés. Por ejemplo, si deseamos estudiar un-36-
Capítulo 2: Despliegue Directo de Volúmenesproblema óseo en un dedo (área de interés), nos puede interesar sabercuál dedo es, y a cuál mano le pertenece el mismo.En ambos casos es necesario utilizar una técnica más general, quepermita ajustar el detalle de las distintas áreas que conforman elvolumen, de manera de no limitar el tamaño del área de interés, ni lavelocidad con la cual se navega el volumen.2.4.3 Despliegue de Volúmenes Multi-resoluciónLa solución más común para desplegar volúmenes de gran tamaño entiempo real consiste en utilizar técnicas multi-resolución [LAM99],[LIX02] o un área de interés [LAM00], [GUT02], [PLA02], la técnicaconsiste en desplegar las distintas áreas del volumen o subvolumen condistintos niveles de detalle, acorde a una prioridad, con la garantía de noexceder los requerimientos de memoria.A continuación se estudian los diversos aspectos que acompañan latécnica multi-resolución, como la representación del volumen, el criteriopara seleccionar el nivel de detalle, artefactos entre niveles de detalle,entre otros.(a) (b) (c)bxbybxNivel 0Nivel 0byNivel 1…Nivel 2Figura 2.24: jerarquía multiresolución. (a) Caso bidimensional (quad-tree para unaimagen). Cada nodo representa un brick. Todos los bricks tienen la misma cantidadde píxeles, pero representan un área distinta en la imagen. El nivel 0 consta de unúnico brick de bx*by píxeles que representa la imagen entera en el nivel de detallemás burdo. El nivel 1 consta en este caso de 4 bricks (8 para el caso 3D), cada unorepresentando un cuadrante de la imagen, con bx*by píxeles. El proceso continuarecursivamente para cada nodo hasta llegar a la representación original con elmáximo detalle. (b) El octree y (c) su representación. Se muestra una sola rama delárbol. La raíz del árbol representa el volumen con el nivel de detalle más burdo.a) Representación Multi-resoluciónEn diversos trabajos el volumen es representado jerárquicamente en unaestructura de octree, en donde cada nivel del árbol representa un nivel de-37-