fbpx
Wikipedia

Ordenación arbitraria de slices

La ordenación arbitraria de slices (ASO) es un algoritmo para la prevención de pérdidas. Se utiliza para reestructurar la representación de las regiones fundamentales (macrobloques) de una imagen. Este tipo de algoritmo evita la necesidad de esperar a un conjunto completo de imágenes para llegar a todas las fuentes. Se trata como un mecanismo de resistencia adicional de error.

Este tipo de algoritmo está incluido como herramienta en el perfil básico (Baseline Profile) del codificador MPEG-4 H.264/AVC junto con Slices I, Slices P, codificación adaptativa según el contexto de longitud variable (CAVLC), agrupación de Slices (SG) y Slices Redundantes.

Aplicaciones

Se utiliza ampliamente en videoconferencias y aplicaciones móviles ejecutadas en dispositivos con potencia computacional limitada. La ASO impone que todos los macrobloques deben ser ordenados en la decodificación, y de esta manera mejorar la flexibilidad para poder disminuir el importante retraso que suele haber en las videoconferencia y en los usos interactivos de internet.

Problemas

Si utilizamos ASO en imágenes con el sistema AVC (Código Avanzado de Vídeo) surge un grave problema: trozos de diferentes imágenes se intercalan. Una posible manera de resolverlo sería limitar la ASO dentro de un cuadro y de esta manera no se entrelazarían trozos de diferentes imágenes. Sin embargo, incluso si limitamos ASO a una imagen, aumentamos la complejidad del descodificador, porque la ordenación flexible de los macrobloques (FMO) amplía el concepto de cortes, permitiendo a macrobloques no consecutivos pertenecer a la misma sección.

Tipos de decodificación ASO

Asociación de macrobloques a Slice

  • Este ejemplo muestra el impacto del sistema ASO en la complejidad del descodificador AVC.

Un ejemplo de cómo macrobloques se pueden asociar a slices se muestra en la Figura 1. Cuando la ASO es compatible, las cuatro slices de este ejemplo pueden ser recibidos por el descodificador en un orden aleatorio. La Figura 2 muestra el siguiente orden de recepción de: slice #4, slice #3, slice #1, y slice #2. En la misma figura se presentan los bloques del descodificador AVC necesarios para apoyar la decodificación ASO.

 

Figura 1: Un ejemplo de asignación de macrobloques a cuatro slices. Cada segmento está representado por una textura diferente.

 

Figura 2: Los bloques del descodificador AVC necesarios para apoyar la decodificación de ASO.


Para cada tramo, la longitud de slice y la dirección del primer macrobloque (es decir, índice con respecto a la orden de escaneo de trama) del primer macrobloque (MB) del slice son extraídos por el slice parser (analizador de slices, en la Figura 2). Esta información, junto con el mismo slice, se almacena en la memoria (que aparece como DRAM). Además, una lista de punteros (en la figura 2, un puntero para cada sector, y cada una apuntando a la ubicación de memoria donde se almacena el slice), debe ser generada. La lista de los punteros, junto con la dirección del primer macrobloque del slice, se utiliza para navegar a través del orden de slices. La longitud del tramo será utilizado para transferir los datos del slice de la DRAM a la memoria interna del descodificador.

Ante la necesidad de descodificar el orden de slices, un descodificador podrá:


  • 1) esperar a que lleguen todos los slices de la misma imagen antes de empezar la decodificación y apertura de la imagen
  • 2) descifrar los slices en el orden en que llegan al descodificador.


El primer método aumenta la latencia, pero permite la realización de decodificación y apertura en paralelo. Sin embargo, la gestión de un gran número de punteros (en el peor de los casos, un puntero para cada macrobloque) y el aumento de la inteligencia de la unidad de acceso de DRAM hacen que haya un aumento de la complejidad del descodificador. El segundo método perjudica significativamente el rendimiento del descodificador. Además, mediante la realización de la apertura en un segundo paso, se aumenta el ancho de banda de memoria DRAM de procesador.

Decodificación de slices en el orden en que se reciben puede provocar un consumo de memoria adicional o imponer requisitos más altos de rendimiento en el descodificador y la memoria local para ejecutar a una velocidad de reloj más altas.

Asociación de macrobloques a slices y de slices a grupos de slices

  • Este ejemplo muestra el impacto del sistema ASO y FMO en la complejidad del descodificador AVC.

Un ejemplo de cómo slices pueden ser asociados a grupos de slices diferentes se muestra en la Figura 3. Cuando la ASO y FMO son compatibles, las cuatro slices de este ejemplo pueden ser recibidos por el descodificador en un orden aleatorio. La Figura 4 muestra el siguiente orden: slice #4, slice #2, slice #1, y slice #3. En la misma figura se presentan los bloques del descodificador AVC necesarios para apoyar la decodificación ASO y FMO.

 

Figura 3: Un ejemplo de asignación de macrobloques a cuatro slices y dos grupos de slices (SG en la figura). Cada segmento está representado por una textura diferente, y cada uno de SG está representado por un color diferente.

 


Figura 4: Los bloques del descodificador AVC necesarios para apoyar la ASO y decodificación de FMO.


Además de la longitud del tramo y la dirección del primer macrobloque de la sección, el analizador de slice (Figura 4) necesita extraer del grupo de slices (SG) cada slice. Estas informaciones, junto con el mismo slice, se almacenan en la memoria DRAM. Como en el caso de ASO, la lista de punteros (Figura 4) debe ser generada.

La lista de indicadores, junto con la dirección del primer macrobloque del slice, el Slice Group (SG), y el mb_allocation_map (almacenada en la memoria local del procesador), se utilizarán para navegar por las secciones. La longitud del tramo será utilizada para transferir los datos de slice de la DRAM al procesador de memoria local.

Al igual que en el caso de ASO, en el caso de ASO y FMO combinados, el descodificador podrá:


  • 1) Esperar a que lleguen todos los slices de la misma imagen antes de empezar la decodificación y apertura de la imagen
  • 2) Descifrar los slices en el orden en quevan llegando al descodificador.


El primer caso es el preferido. A causa de FMO, la decodificación de macrobloques escaneando la trama puede requerir cambiar entre diferentes slices y / o grupos de slices. Para acelerar el acceso de la DRAM, debe utilizarse un buffer para cada Slice Group(SG) (Figura 4). Esta inteligencia adicional de la unidad de acceso DRAM aumenta aún más la complejidad del descodificador. Por otra parte, el cambio entre diferentes slices y / o grupos de slices requiere el cambio de la información del estado del Descodificador Entrópico (ED). En el peor de los casos, el intercambio se produce después de la decodificación de cada macrobloque. Si toda la información del estado es demasiado grande para ser almacenado en la memoria del procesador local, cada estado del Descodificador Entrópico (ED) necesita ser cargado y almacenados desde memorias DRAM, incrementándose con ello el ancho de banda de memoria DRAM del procesador (Figura 4).

Referencias

  • Iole Moccagatta, LSI Logic (2002). Arbitrary Slice Order and Flexible Macroblock Order Impact of AVC Compliance and Implementation Complexity. 

Véase también

  •   Datos: Q3826882

ordenación, arbitraria, slices, ordenación, arbitraria, slices, algoritmo, para, prevención, pérdidas, utiliza, para, reestructurar, representación, regiones, fundamentales, macrobloques, imagen, este, tipo, algoritmo, evita, necesidad, esperar, conjunto, comp. La ordenacion arbitraria de slices ASO es un algoritmo para la prevencion de perdidas Se utiliza para reestructurar la representacion de las regiones fundamentales macrobloques de una imagen Este tipo de algoritmo evita la necesidad de esperar a un conjunto completo de imagenes para llegar a todas las fuentes Se trata como un mecanismo de resistencia adicional de error Este tipo de algoritmo esta incluido como herramienta en el perfil basico Baseline Profile del codificador MPEG 4 H 264 AVC junto con Slices I Slices P codificacion adaptativa segun el contexto de longitud variable CAVLC agrupacion de Slices SG y Slices Redundantes Indice 1 Aplicaciones 2 Problemas 3 Tipos de decodificacion ASO 3 1 Asociacion de macrobloques a Slice 3 2 Asociacion de macrobloques a slices y de slices a grupos de slices 4 Referencias 5 Vease tambienAplicaciones EditarSe utiliza ampliamente en videoconferencias y aplicaciones moviles ejecutadas en dispositivos con potencia computacional limitada La ASO impone que todos los macrobloques deben ser ordenados en la decodificacion y de esta manera mejorar la flexibilidad para poder disminuir el importante retraso que suele haber en las videoconferencia y en los usos interactivos de internet Problemas EditarSi utilizamos ASO en imagenes con el sistema AVC Codigo Avanzado de Video surge un grave problema trozos de diferentes imagenes se intercalan Una posible manera de resolverlo seria limitar la ASO dentro de un cuadro y de esta manera no se entrelazarian trozos de diferentes imagenes Sin embargo incluso si limitamos ASO a una imagen aumentamos la complejidad del descodificador porque la ordenacion flexible de los macrobloques FMO amplia el concepto de cortes permitiendo a macrobloques no consecutivos pertenecer a la misma seccion Tipos de decodificacion ASO EditarAsociacion de macrobloques a Slice Editar Este ejemplo muestra el impacto del sistema ASO en la complejidad del descodificador AVC Un ejemplo de como macrobloques se pueden asociar a slices se muestra en la Figura 1 Cuando la ASO es compatible las cuatro slices de este ejemplo pueden ser recibidos por el descodificador en un orden aleatorio La Figura 2 muestra el siguiente orden de recepcion de slice 4 slice 3 slice 1 y slice 2 En la misma figura se presentan los bloques del descodificador AVC necesarios para apoyar la decodificacion ASO Figura 1 Un ejemplo de asignacion de macrobloques a cuatro slices Cada segmento esta representado por una textura diferente Figura 2 Los bloques del descodificador AVC necesarios para apoyar la decodificacion de ASO Para cada tramo la longitud de slice y la direccion del primer macrobloque es decir indice con respecto a la orden de escaneo de trama del primer macrobloque MB del slice son extraidos por el slice parser analizador de slices en la Figura 2 Esta informacion junto con el mismo slice se almacena en la memoria que aparece como DRAM Ademas una lista de punteros en la figura 2 un puntero para cada sector y cada una apuntando a la ubicacion de memoria donde se almacena el slice debe ser generada La lista de los punteros junto con la direccion del primer macrobloque del slice se utiliza para navegar a traves del orden de slices La longitud del tramo sera utilizado para transferir los datos del slice de la DRAM a la memoria interna del descodificador Ante la necesidad de descodificar el orden de slices un descodificador podra 1 esperar a que lleguen todos los slices de la misma imagen antes de empezar la decodificacion y apertura de la imagen2 descifrar los slices en el orden en que llegan al descodificador El primer metodo aumenta la latencia pero permite la realizacion de decodificacion y apertura en paralelo Sin embargo la gestion de un gran numero de punteros en el peor de los casos un puntero para cada macrobloque y el aumento de la inteligencia de la unidad de acceso de DRAM hacen que haya un aumento de la complejidad del descodificador El segundo metodo perjudica significativamente el rendimiento del descodificador Ademas mediante la realizacion de la apertura en un segundo paso se aumenta el ancho de banda de memoria DRAM de procesador Decodificacion de slices en el orden en que se reciben puede provocar un consumo de memoria adicional o imponer requisitos mas altos de rendimiento en el descodificador y la memoria local para ejecutar a una velocidad de reloj mas altas Asociacion de macrobloques a slices y de slices a grupos de slices Editar Este ejemplo muestra el impacto del sistema ASO y FMO en la complejidad del descodificador AVC Un ejemplo de como slices pueden ser asociados a grupos de slices diferentes se muestra en la Figura 3 Cuando la ASO y FMO son compatibles las cuatro slices de este ejemplo pueden ser recibidos por el descodificador en un orden aleatorio La Figura 4 muestra el siguiente orden slice 4 slice 2 slice 1 y slice 3 En la misma figura se presentan los bloques del descodificador AVC necesarios para apoyar la decodificacion ASO y FMO Figura 3 Un ejemplo de asignacion de macrobloques a cuatro slices y dos grupos de slices SG en la figura Cada segmento esta representado por una textura diferente y cada uno de SG esta representado por un color diferente Figura 4 Los bloques del descodificador AVC necesarios para apoyar la ASO y decodificacion de FMO Ademas de la longitud del tramo y la direccion del primer macrobloque de la seccion el analizador de slice Figura 4 necesita extraer del grupo de slices SG cada slice Estas informaciones junto con el mismo slice se almacenan en la memoria DRAM Como en el caso de ASO la lista de punteros Figura 4 debe ser generada La lista de indicadores junto con la direccion del primer macrobloque del slice el Slice Group SG y el mb allocation map almacenada en la memoria local del procesador se utilizaran para navegar por las secciones La longitud del tramo sera utilizada para transferir los datos de slice de la DRAM al procesador de memoria local Al igual que en el caso de ASO en el caso de ASO y FMO combinados el descodificador podra 1 Esperar a que lleguen todos los slices de la misma imagen antes de empezar la decodificacion y apertura de la imagen2 Descifrar los slices en el orden en quevan llegando al descodificador El primer caso es el preferido A causa de FMO la decodificacion de macrobloques escaneando la trama puede requerir cambiar entre diferentes slices y o grupos de slices Para acelerar el acceso de la DRAM debe utilizarse un buffer para cada Slice Group SG Figura 4 Esta inteligencia adicional de la unidad de acceso DRAM aumenta aun mas la complejidad del descodificador Por otra parte el cambio entre diferentes slices y o grupos de slices requiere el cambio de la informacion del estado del Descodificador Entropico ED En el peor de los casos el intercambio se produce despues de la decodificacion de cada macrobloque Si toda la informacion del estado es demasiado grande para ser almacenado en la memoria del procesador local cada estado del Descodificador Entropico ED necesita ser cargado y almacenados desde memorias DRAM incrementandose con ello el ancho de banda de memoria DRAM del procesador Figura 4 Referencias EditarIole Moccagatta LSI Logic 2002 Arbitrary Slice Order and Flexible Macroblock Order Impact of AVC Compliance and Implementation Complexity Vease tambien EditarCodec de video AVCHD Datos Q3826882Obtenido de https es wikipedia org w index php title Ordenacion arbitraria de slices amp oldid 123581924, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos