ES2600010T3 - Codificación y descodificación de imágenes - Google Patents

Codificación y descodificación de imágenes Download PDF

Info

Publication number
ES2600010T3
ES2600010T3 ES11809949.8T ES11809949T ES2600010T3 ES 2600010 T3 ES2600010 T3 ES 2600010T3 ES 11809949 T ES11809949 T ES 11809949T ES 2600010 T3 ES2600010 T3 ES 2600010T3
Authority
ES
Spain
Prior art keywords
fragment
image
representation
address
indicator
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES11809949.8T
Other languages
English (en)
Inventor
Rickard Sjöberg
Clinton Priddle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2600010T3 publication Critical patent/ES2600010T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/047Heads iron-type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B60/00Details or accessories of golf clubs, bats, rackets or the like
    • A63B60/02Ballast means for adjusting the centre of mass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/02Colour television systems with bandwidth reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B2053/0491Heads with added weights, e.g. changeable, replaceable
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/0408Heads characterised by specific dimensions, e.g. thickness
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/0433Heads with special sole configurations
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/045Strengthening ribs
    • A63B53/0454Strengthening ribs on the rear surface of the impact face plate
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/0458Heads with non-uniform thickness of the impact face plate
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/047Heads iron-type
    • A63B53/0475Heads iron-type with one or more enclosed cavities
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B60/00Details or accessories of golf clubs, bats, rackets or the like
    • A63B60/54Details or accessories of golf clubs, bats, rackets or the like with means for damping vibrations

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

Un método de descodificar una imagen (1) que comprende N >= 2 fragmentos (2-5), que comprende: generar (S1) para cada fragmento (2-5) de dichos N fragmentos (2-5), una representación codificada del fragmento basándose en los valores de pixel de los píxeles en dicho fragmento (2-5); fijar (S2) un indicador del fragmento asociado al primer fragmento (2) de dicha imagen (1) a un primer valor definido para indicar que dicho primer fragmento (2) tiene su comienzo del fragmento en una posición definida en dicha imagen (1); fijar (S3), para cada fragmento (3-5) de los N - 1 fragmentos restantes (3-5) de dichos N fragmentos (2-5), un indicador del fragmento asociado a dicho fragmento (3-5) a un segundo valor definido; generar (S4), para cada fragmento (3-5) de dichos N - 1 fragmentos restantes (3-5), una dirección del fragmento que permite la identificación de una posición de una primera unidad de codificación (10B, 20B, 30B, 40B) de dicho fragmento (3-5) dentro de dicha imagen (1); y generar (S5) una representación codificada de la imagen (50) de dicha imagen (1) comprendiendo dichas N representaciones codificadas del fragmento, dichas N - 1 direcciones del fragmento y dichos N indicadores del fragmento, caracterizado por: determinar (S11) una longitud de dichas N - 1 direcciones del fragmento con respecto al número de bits como uno de ce//(log2(P)) y ceil(log2(P - 1)), en donde ceil() indica la función techo definida como ceil(x) >= ⌈x⌉ y extrae el menor entero no menor de x y P indica un número total de posibles direcciones del fragmento en dicha imagen (1), en el que la generación (S4) de dicha dirección del fragmento comprende generar (S4), para cada fragmento (3-5) de dichos N - 1 fragmentos restantes (3-5), dichas direcciones del fragmento codificando una palabra código que tiene dicha longitud.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Codificacion y descodificacion de imagenes Campo tecnico
Las presentes realizaciones refieren en general al tratamiento de imagenes o tramas de video, y en particular a la codificacion y descodificacion de tales imagenes o tramas de video.
Antecedentes
H.264, tambien conocido como MPEG-4 (Grupo de Expertos de Imagenes en Movimiento) AVC (Codificacion Avanzada de Video), es el estado normalizado de la tecnica de codificacion de video. Es un codec tnbrido que se basa en la eliminacion de la redundancia entre tramas, denominado inter codificacion, y dentro de las tramas, denominado intra codificacion. Lo que se obtiene tras el proceso de codificacion son los datos VCL (Capa de Codificacion de Video), que se encapsulan ademas dentro de las unidades NAL (Capa de Abstraccion de la Red) antes del transporte o del almacenamiento.
En H.2641MPEG-4 AVC una imagen de una secuencia de video se compone de macrobloques con un tamano fijo de 16*16 pfxeles y la codificacion de la imagen continua macrobloque por macrobloque. Cada imagen de la secuencia de video se divide en uno o mas fragmentos. Un fragmento es una pieza descodificable independientemente de la imagen. Esto quiere decir que si se pierde un fragmento de una imagen, los otros fragmentos de la imagen son aun descodificables. Ademas, los fragmentos se pueden utilizar para la codificacion y descodificacion ya que son independientes de los otros fragmentos de la imagen. En H.264/MPEG-4 AVC el lfmite de un fragmento debe situarse entre los bordes de dos fragmentos contiguos, de acuerdo con el orden de codificacion, macrobloques.
HEVC (Codificacion de Video de Alto Rendimiento) es un sucesor de H.264/MPEG-4 AVC. HEVC pretende mejorar sustancialmente el rendimiento de la codificacion comparado con H.264/MPEG-4 AVC, es decir, reducir los requisitos de velocidad de bits manteniendo la calidad de la imagen. HEVC es el objetivo en la siguiente generacion de pantallas de HDTV (Television de Alta Definicion) y contiene sistemas de captura que caracterizan las velocidades progresivas de tramas escaneadas y resoluciones de pantalla a partir de QVGA (Disposicion Grafica de Cuarto de Pantalla) (320*240) hasta 1080p y Ultra HDTV (7680x4320), asf como calidad mejorada de la imagen.
HEVC permite la utilizacion de las llamadas unidades mayores de codificacion (LCUs) que son bloques de pfxeles que tienen un tamano mayor que los macrobloques de H.264/MPEG-4 AVC para proporcionar un rendimiento mejorado en la codificacion. Con objeto de exagerar tanto las grandes areas homogeneas como las pequenas areas detalladas en la misma imagen se ha propuesto una codificacion jerarquica para HEVC. Las LCUs en una imagen se escanean segun un orden predefinido y cada LCU se puede dividir en menores unidades de codificacion (CUs), que por su parte se pueden dividir jerarquicamente en una estructura de arbol en grado 4 descendente a una unidad de codificacion menor (SCU). Una imagen puede, por consiguiente, codificarse como una mezcla de unidades de codificacion con diferentes tamanos que van desde las LCUs bajando hasta las SCUs.
En correspondencia con H.264/MPEG-4 AVC una imagen de una secuencia de video se puede dividir en uno o mas fragmentos en HEVC. El lfmite del fragmento esta en HEVC alineado con el borde de dos fragmentos adyacentes, de acuerdo con un orden predefinido, LCUs.
Tanto las normas H.264/MPEG-4 AVC como HEVC requieren la determinacion y el uso de direcciones con el fin de identificar el primer macrobloque o unidad de codificacion de un fragmento y de ese modo el comienzo del fragmento en la imagen o trama de video. Tales direcciones, aunque necesarias en el descodificador, sobrecargan los datos codificados de la imagen. Ademas, con la introduccion de la division jerarquica de la LCU en HEVC surgen nuevos retos en relacion con la codificacion y descodificacion de imagenes o tramas de video. Por tanto, existe una necesidad de una codificacion y descodificacion eficientes que puedan manejar que las direcciones del fragmento comiencen de una manera flexible y eficiente.
Wiegand, JVT de ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC 1/SC29/WG11 y ITU-T SG16 Q.6), 12a Reunion: Redmond WA, EE.UU., 17-12 de julio de 2004, Documento: JVT-K051 describe las enmiendas y el informe de las erratas al aumento del margen de fidelidad relativas a la norma ITU-T Rec. H.264 | ISO/IEC 14496-10 de mayo de 2003.
Resumen
Es un objetivo general proporcionar una gestion eficiente de los fragmentos en las Imagenes y tramas de video.
Es un objetivo particular marcar las posiciones de comienzo del fragmento de una manera eficiente.
Estos y otros objetivos los cumplen las realizaciones de la invencion como se define por las reivindicaciones independientes. Aspectos adicionales se describen en el presente documento.
5
10
15
20
25
30
35
40
45
50
55
Un aspecto de las realizaciones define un metodo de codificar una imagen que comprende varios fragmentos. Se genera una representacion codificada del fragmento para cada fragmento en la imagen basandose en los valores de pixel dentro de los pfxeles del fragmento. Un indicador del fragmento correspondiente se asigna y se fija para cada uno de los fragmentos. El primer fragmento en la imagen tiene un indicador del fragmento fijado en un primer valor definido, mientras que los fragmentos restantes tienen su respectivo indicador del fragmento fijado en un segundo valor definido. Las direcciones del fragmento permiten la identificacion de la posicion de una primera unidad de codificacion de un fragmento y con ello se generan los comienzos de los fragmentos dentro de la imagen para el resto de los fragmentos con exclusion del primer fragmento en la imagen. Estas direcciones del fragmento se incluyen junto con las representaciones codificadas del fragmento y los indicadores del fragmento en una representacion codificada de la imagen.
Otro aspecto de las realizaciones se refiere a un dispositivo para codificar una imagen que comprende multiples fragmentos. Un generador de la representacion del dispositivo genera una representacion correspondiente codificada del fragmento para cada fragmento en la imagen. El dispositivo comprende un fijador del indicador configurado para fijar un indicador del fragmento asociado con un primer fragmento en la imagen a un primer valor, mientras que el(los) indicador(es) del(de los) fragmento(s) restante(s) esta(n) fijados a un segundo valor definido. Un generador de la direccion genera una direccion correspondiente del fragmento para cada fragmento del(de los) fragmento(s) restante(s) para permitir la identificacion de una posicion respectiva de una primera unidad de codificacion y el comienzo del fragmento dentro de la imagen. Un gestor de la representacion genera una representacion codificada de la imagen para la imagen que comprende las representaciones codificadas del fragmento, las direcciones del fragmento y los indicadores del fragmento.
Un aspecto adicional de las realizaciones define un metodo de descodificar una representacion codificada de imagen de una imagen que comprende multiples fragmentos. Un indicador del fragmento asociado con un fragmento en la imagen se recupera de la representacion codificada. El valor de este indicador del fragmento se emplea con el fin de determinar si una direccion del fragmento necesita ser recuperada de la representacion codificada del fragmento con el fin de identificar la posicion de comienzo del fragmento dentro de la imagen y la parte del fragmento que pertenece al fragmento. Si el indicador del fragmento tiene un primer valor definido, el fragmento presente es el primer fragmento en la imagen. Los valores de pixel de los pfxeles del fragmento generados al descodificar una representacion codificada del fragmento asociada con el fragmento y recuperados de la representacion codificada de la imagen se asignan entonces a una primera porcion de la imagen empezando con un comienzo del fragmento definido dentro de la imagen, tal como la esquina superior izquierda. Si el indicador del fragmento, en cambio, tiene un segundo valor definido, se emplea la direccion del fragmento para identificar el comienzo del fragmento dentro de la imagen y los valores de pixel generados al descodificar la representacion codificada del fragmento del pixel se asignan a la porcion de la imagen empezando por el comienzo del fragmento identificado.
Otro aspecto mas adicional de las realizaciones se refiere a un dispositivo para descodificar una representacion
codificada de imagen de una imagen que comprende multiples fragmentos. Un recuperador de la direccion del
dispositivo recupera un indicador del fragmento asociado con un fragmento a descodificar de la representacion codificada de la imagen. Un recuperador de la direccion recupera una direccion del fragmento a partir de la representacion codificada de la imagen si el indicador del fragmento tiene un segundo valor definido. Si el indicador del fragmento en cambio tiene un primer valor definido, un generador de la representacion genera una
representacion descodificada de los valores de pixel de los pfxeles en el fragmento basandose en una
representacion codificada del fragmento asociada con el fragmento y recuperada de la presentacion codificada de la imagen. Estos valores de los pfxeles son asignadas a continuacion por un asignador de valores a una primera porcion de la imagen a partir de una posicion de partida definida que se identifica sin la necesidad de ninguna direccion del fragmento marcado, por ejemplo, la esquina superior izquierda: Si el indicador del fragmento en cambio tiene el segundo valor definido, la direccion recuperada del fragmento la emplea el asignador con el fin de identificar el comienzo de una porcion de la imagen que pertenezca al fragmento actual y a continuacion asigna los valores del pixel a partir del generador de la representacion a esta porcion identificada.
Las realizaciones proporcionan una gestion eficiente de los fragmentos dentro de las imagenes o tramas de video en cuanto a que proporcionan una forma eficiente de senalizacion y de identificacion de posiciones de comienzo del fragmento en una imagen o trama de video. Los indicadores del fragmento de las realizaciones proporcionan una mejora significativa en la identificacion de los comienzos del fragmento para los primeros fragmentos en la imagen, pero sin ninguna necesidad de marcary calcular la direccion del fragmento en el descodificador.
Breve descripcion de los dibujos
La invencion, junto con otros objetos y ventajas de la misma, puede entenderse mejor haciendo referencia a la siguiente descripcion considerada junto con los dibujos adjuntos, en los que:
La figura 1 es un diagrama de flujo que ilustra un metodo de codificar una imagen de acuerdo con una realizacion;
La figura 2 ilustra una realizacion de una imagen dividida en multiples fragmentos y que comprende las multiples unidades mayores de codificacion (LCUs);
5
10
15
20
25
30
35
40
45
50
Las figuras 3A y 3B ilustran realizaciones del comienzo de un fragmento que coincide con un borde entre las unidades de codificacion dentro de una LCU;
La figura 4 ilustra esquematicamente una realizacion de un orden de codificacion y descodificacion para el tratamiento de unidades de codificacion;
La figura 5 es un diagrama de secuencia que ilustra etapas adicionales al metodo de codificacion de la figura 1 de acuerdo con una realizacion;
La figura 6 ilustra esquematicamente una realizacion de una representacion codificada de una imagen;
La figura 7 es un diagrama de flujo que ilustra una realizacion de descodificar una representacion codificada de una imagen;
La figura 8 es un diagrama de flujo que ilustra etapas adicionales del metodo de la figura 7 de acuerdo con una realizacion;
La figura 9 es un diagrama de flujo que ilustra etapas adicionales del metodo de la figura 7 de acuerdo con una realizacion;
La figura 10 es un diagrama esquematico de bloques de un dispositivo para codificar una imagen de acuerdo con una realizacion;
La figura 11 es un diagrama esquematico de bloques de un dispositivo para descodificar una representacion codificada de una imagen de acuerdo con una realizacion; y
La figura 12 es un diagrama esquematico de bloques de un terminal de medios de acuerdo con una realizacion. Descripcion detallada
A lo largo de todos los dibujos, se utilizan los mismos numeros de referencia para elementos similares o correspondientes.
Las realizaciones se refieren generalmente a la gestion de los fragmentos dentro de las imagenes o de las tramas de video. Con mayor detalle, las realizaciones proporcionan un modo flexible y mmimamente eficiente de marcar las direcciones de comienzo del fragmento. Las realizaciones se pueden aplicar a cualquier codificacion y descodificacion de imagen o de trama de video en las cuales una imagen o una trama de video, por ejemplo de una secuencia de video, pueda comprender multiples, es decir al menos dos, fragmentos y en donde se le debe marcar al descodificador el comienzo de los fragmentos. La realizacion puede asimismo aplicarse al estado de la tecnica de imagenes o codificacion de video, tal como H.264/MPEG-4 AVC, pero es en particular ampliamente aplicable a la codificacion y descodificacion de imagenes que utilizan division jerarquica de bloques de pfxeles en bloques menores de pfxeles. Las realizaciones son por consiguiente apropiadas para ser usadas en conexion con (HEVC) Codificacion de Video de Alto Rendimiento pero no se limitan a eso.
Una caractenstica de las realizaciones reside en diferenciar el primer fragmento en la imagen o en la trama de video y los fragmentos restantes. En la tecnica anterior, una direccion del fragmento se determina durante la codificacion para cada fragmento en la imagen y se incluye en la representacion codificada de la imagen para ser utilizada por un descodificador con el fin de identificar el comienzo del fragmento dentro del area de la imagen o de la trama de video. Dependiendo del tamano total de la imagen, estas direcciones de los fragmentos pueden ser bastante largas y por consiguiente pueden anadir una magnitud significativa de costos a los datos codificados de la imagen. Por ejemplo, una imagen o trama de video, H.264/MPEG-4 AVC podna constar de 1280x960 pfxeles. Si el comienzo del fragmento se alinea con los bordes del macrobloque y el comienzo de fragmentos se expresa como coordenadas X e Y relativas a un origen fijo, normalmente la esquina superior izquierda de la imagen, la direccion del fragmento necesitana ser log2(ceil(1280/16))+log2(ceil(960/16))=7+6=13 bits en este simple ejemplo. Ceil() indica la funcion techo definida como ceil(x) = Tx! y extrae el entero menor no mayor de x. Esto podnan no ser muchos datos pero con las velocidades de tramas y bits actuales para la descodificacion y presentacion del video, se acceden normalmente a varios cientos de fragmentos por segundo de modo que el tamano total de la magnitud de los datos de la direccion de fragmento que necesita ser generada y enviada en el codificador al descodificador es bastante significativa para un secuencia de video. Adicionalmente, las direcciones del fragmento necesitan ser localizadas, recuperadas y tratadas en el descodificador antes de que los datos reales del pfxeles de un fragmento puedan ser descodificados y asignados a la parte correcta de la imagen.
Los problemas mencionados anteriormente al manejar las direcciones de los fragmentos pueden llegar a ser incluso mas destacables cuando se emplean la codificacion y descodificacion jerarquicas, tal como en HEVC, si los comienzos del fragmento se pueden alinear en unidades de codificacion de un nivel inferior que las mayores unidades de codificacion. La figura 2 ilustra esquematicamente este concepto.
5
10
15
20
25
30
35
40
45
50
55
60
Una imagen 1, tal como una trama de v^deo en un secuencia de video, se puede dividir en un numero de unidades mayores de codificacion (LCUs) 10, tambien denominadas en la tecnica mayores bloques decodificacion en arbol (LCTBs) o mayores bloques de codificacion (LCBs). La LCU 10 es el mayor bloque posible de pfxeles que se puede manejar durante la codificacion y la descodificacion, y se puede gestionar, por ejemplo, de acuerdo con los modos conocidos intra o inter codificacion/descodificacion. La LCU 10 puede por su parte dividirse jerarquicamente en un cierto numero de menores, con respecto al numero de pfxeles, bloques de pixeles, denominados normalmente unidades de codificacion (CUs) 20A, 20B, bloques de codificacion en arbol (CTBs) o bloques de codificacion (CBs). Estas CUs 20A, 20B pueden por su parte dividirse ademas incluso en bloques menores 30A, 30B de pfxeles de una manera jerarquica descendente hasta el menor bloque posible de pfxeles, denominado unidad menor de codificacion (SCU) bloque menor de codificacion en arbol (SCTB) o bloque menor de codificacion (SCB).
En claro contraste con las tecnicas precedentes que limitan el posicionamiento del comienzo del fragmento 2, 3 en una imagen 1 al alinearse con el borde entre dos LCUs 10A, 10b contiguas, algunas realizaciones proporcionan un posicionamiento mucho mas flexible del comienzo del fragmento habilitando potencialmente el comienzo del fragmento 4, 5 al alinearlos con el borde entre cualesquiera CUs 10A, 10B, 20A, 20B, 30A, 30B contiguas en la imagen desde el nivel SCU hasta el nivel LCU. Por lo tanto, es posible entonces que el comienzo del fragmento se pueda posicionar dentro de una LCU con la ultima CU del fragmento precedente y la primera CU del fragmento actual en la misma LCU. La figura 2 ilustra esquematicamente esto. El borde entre un primer fragmento 2 y el segundo fragmento 3 coincide con el borde de dos contiguos, de acuerdo con el orden de tratamiento, LCUs 10A, 10B. El borde entre el segundo fragmento 3 y el tercer fragmento 4 esta en cambio alineado con el borde de dos unidades de codificacion 20A, 20B que son cada una la cuarta parte de tamano comparadas con una LCU 10. Correspondientemente, el borde entre en el tercer fragmento 4 y un cuarto fragmento 5 esta en la figura 2 alineado con el borde de dos CUs 30A, 30B, cada una 1/16 de tamano comparado con una LCU 10.
Sin embargo, la division jerarquica y los comienzos del fragmento alineados con las pequenas CUs, incluso posiblemente con las SCU, pueden dar lugar incluso a mayores direcciones del fragmento comparandolas con MPEG-41AVC. Por ejemplo y en el ejemplo expuesto previamente, una imagen de 1280x960 pfxeles puede tener 19200 posiciones potenciales de comienzo del fragmento si los comienzos del fragmento se pueden alinear con el borde de las SCUs de 8x8 pfxeles. Si las direcciones del fragmento estan entonces en forma de coordenadas X e Y necesitanan ser de 8 + 7 = 15 bits.
De acuerdo con las realizaciones, la palabra “fragmento” se emplea para indicar una porcion codificable y descodificable independientemente de una imagen o trama de video. Una imagen puede por consiguiente estar compuesta de un unico fragmento o multiples fragmentos, es decir, al menos dos fragmentos.
La figura 1 es un diagrama de flujo que ilustra un metodo de codificar una imagen o trama de video que comprende N fragmentos. El parametro N es un entero positivo igual o mayor que dos. El metodo se inicia en la etapa S1, que genera una representacion codificada del fragmento para cada fragmento en la imagen. Esta representacion codificada del fragmento se genera basandose en los valores de pixel de los pfxeles en el fragmento de acuerdo con los esquemas de codificacion conocidos, tales como intra o inter codificacion.
Las siguientes etapas S2 y S3 fijan los llamados indicadores del fragmento para los fragmentos en la imagen. Para mayor detalle, la etapa S2 fija un indicador del fragmento asociado con el primer fragmento de los N fragmentos en la imagen a un primer valor definido, tal como 1 bin o un uno logico o algun otro sfmbolo definido, para indicar que el fragmento presente es el primer fragmento de la imagen y que por consiguiente tiene su comienzo del fragmento en una posicion definida en la imagen, normalmente la esquina superior izquierda de la imagen. La etapa S3 fija correspondientemente el indicador del fragmento asociado con cada fragmento de los N-1 fragmentos restantes de la imagen a un segundo valor definido, tal como 0bin o un cero logico o algun otro sfmbolo definido. Esto quiere decir que los indicadores de los fragmentos se pueden utilizar como informacion adicional con el fin de diferenciar entre el primer fragmento de la imagen y los fragmentos restantes.
Estos fragmentos restantes necesitan tener direcciones del fragmento asociadas con el fin de habilitar al descodificador para identificar donde se inicia el fragmento dentro del area de la imagen. Esto no es necesario para el primer fragmento, el cual en cambio tiene una posicion de comienzo definida dentro de la imagen y comienza preferiblemente en el primer pixel de la imagen en la esquina superior izquierda. Alternativamente, una imagen se puede dividir en regiones en un nivel mayor que los fragmentos; en tal caso, la posicion de comienzo definida podna entonces ser el origen de tal region en la imagen.
La etapa S4 por consiguiente genera una direccion del fragmento para cada fragmento de los N-1 fragmentos restantes, excluyendo asf el primer fragmento para el cual no se necesita direccion de fragmento de acuerdo con las realizaciones. La direccion del fragmento generada en la etapa S4 para un fragmento permite la identificacion de una posicion de una primera unidad de codificacion del fragmento y asf el comienzo del fragmento dentro de la imagen. La primera unidad codificada constituye entonces la primera unidad de codificacion del fragmento y una unidad precedente, de acuerdo con un orden de tratamiento definido, es entonces la ultima unidad codificada del fragmento precedente en la imagen. La primera unidad de codificacion podna ser cualquier bloque de pfxeles y en MPEG- 4/AVC la primera unidad de codificacion es un primer macrobloque del fragmento. En correspondencia, con HEVC la primera unidad de codificacion podna ser una LCU pero con la division jerarquica puede ser ventajosamente
5
10
15
20
25
30
35
40
45
50
55
cualquier unidad de codificacion desde el tamano de la LCU bajando hasta el tamano de una SCU a menos que se impongan algunas limitaciones de donde se pueden encontrar las posiciones de comienzo del fragmento en la imagen, lo cual se describira adicionalmente en este documento.
El orden de tratamiento en el cual se tratan las unidades de codificacion de la imagen, es decir, codificadas y seguidamente descodificadas, podna ser cualquier orden conocido de tratamiento. Un ejemplo de tal orden de tratamiento es el orden de barrido de las tramas o cualquier otro orden de codificacion/descodificacion, tales como el orden Morton o el orden Z, que se explicaran adicionalmente en ese documento.
Las N representaciones codificadas del fragmento, las N-1 direcciones del fragmento y los N indicadores del fragmento se emplean entonces para generar una representacion codificada de la imagen en la etapa S5. La representacion codificada de la imagen tiene normalmente la forma de una secuencia o flujo de bits, aunque se pueden utilizar otros alfabetos de sfmbolos ademas del alfabeto binario y que esten dentro del alcance de las realizaciones, tal como el alfabeto hexadecimal o decimal. La figura 6 es una ilustracion esquematica de una realizacion de tal representacion codificada de una imagen 50. Generalmente la representacion codificada de la imagen 50 comprende dos partes principales para cada fragmento, un encabezamiento 54 del fragmento y los datos codificados 56. El encabezamiento 54 del fragmento comprende normalmente el indicador del fragmento fijado para el fragmento la etapa S2 o en la etapa S3, tal como en forma de palabra codigo first_slice_in_pic_flag. El encabezamiento 54 del fragmento de cada fragmento restante excepto el primer fragmento en la imagen comprende preferiblemente tambien la direccion del fragmento generada en la etapa S4, tal como en forma de palabra codigo first_cu_in_slice o la palabra codigo slice_address. En realizaciones en particular, la informacion adicional se puede incluir en el encabezamiento 54 del fragmento incluyendo, por ejemplo, el tipo de codificacion del fragmento.
Los datos codificados 56 transportan los datos codificados de la imagen de los pfxeles en el fragmento, es decir, las representaciones codificadas del fragmento generadas en la etapa S1.
La representacion codificada 50 puede comprender tambien opcionalmente o de otra manera estar asociada con un parametro fijado de la imagen (PPS) y/o por un segundo parametro fijado de la secuencia (SPS) 52. Los PPS/SPS 52 podnan formar parte de la representacion codificada 50 de la imagen. En tal caso, cada representacion codificada de la imagen 50 de una secuencia de video podna tener un campo 52 respectivo PPS y/o SPS. En un enfoque alternativo, no todas dichas representaciones codificadas 50 de la imagen de la secuencia de video necesitan transportar el campo 52 PPS y/o SPS. Por ejemplo, la primera representacion codificada 50 de la imagen de la secuencia de video podna incluir el campo 52 PPS y/o SPS y entonces tales campos se incluyen solo en otra representacion codificada de la imagen de la secuencia de video si cualquiera de los parametros en el campo 52 PPS y/o SPS se actualiza o se cambia. Una variante adicional es marcar el campo 52 PPS y/o SPS fuera de la banda con respecto a la representacion codificada 50 de la imagen. En tal caso, el campo 52 PPS y/o SPS se podna enviar separadamente de la representacion codificada 50 de la imagen pero en tal caso el descodificador puede identificar a que secuencia de video o representacion codificada de la imagen pertenece el campo 52 PPS y/o SPS. Esto se puede lograr incluyendo una sesion, secuencia y/o identificador de la imagen tanto de la representacion codifica 50 de la imagen como del campo 52 PPS y/o SPS.
Como se ha mencionado anteriormente, los fragmentos son unidades codificables y descodificables independientemente de la imagen. Esto quiere decir, que la generacion de las representaciones codificadas del fragmento en la etapa S1, la fijacion del indicador del fragmento de las etapas S2, S3 y la generacion de la direccion de la etapa S4 se pueden en realizar en serie o al menos parcialmente en paralelo para los diferentes fragmentos en la imagen. Una codificacion en paralelo de los fragmentos reducina normalmente el tiempo total de codificacion de la imagen. El metodo de las etapas S1 a S5 se repite normalmente para cualquiera de las imagenes restantes o tramas de video, tales como una secuencia de video. Adicionalmente, la etapa S2 o las etapas S3/S4 se pueden realizar despues, antes o al menos parcialmente en paralelo con la etapa S1.
A continuacion, se describiran adicionalmente realizaciones de la presente invencion en conexion con HEVC como un ejemplo de unas codificacion y descodificacion de video normalizadas a las cuales se pueden aplicar las realizaciones. Esto debe, sin embargo, simplemente verse como un ejemplo ilustrativo de las codificacion/descodificacion de video normalizadas que se pueden utilizar con las realizaciones y que tales realizaciones no se limitan a ello.
De acuerdo con HEVC, una imagen o trama de video comprende multiples LCU que tienen un tamano seleccionado con respecto al numero de pfxeles. Esto significa que cada LCU de la imagen tiene preferiblemente el mismo numero de pfxeles. Las LCUs podnan ser rectangulares pero son preferiblemente cuadraticas, es decir, comprenden MxM pfxeles, en donde M es un entero positivo definido igual a o preferiblemente mayor de dos y preferiblemente M=2m, en donde m es una entero positivo. Ejemplos no limitativos de valores adecuados de M son 64 o 128. Cada LCU de la imagen puede dividirse potencialmente en multiples CUs menores teniendo tamano respectivos menores que el tamano seleccionado de las LCUs.
En general, la division jerarquica de una LCU implica dividir la LCU en forma de estructura de arbol grado cuatro. Como es bien conocido en la tecnica, una estructura de arbol grado cuatro es una estructura de datos en arbol en la cual cada nodo interno tiene exactamente cuatro descendientes. Jerarquicamente dividir la LCU implica por
5
10
15
20
25
30
35
40
45
50
55
60
consiguiente particionar los dos espacios dimensionales de la imagen ocupados por la LCU sub dividiendola recurrentemente en cuatro cuadrantes o regiones. En una realizacion preferida, la division recurrente implica la division en cuatro CUs de igual tamano. De acuerdo con las realizaciones, si una unidad de codificacion, es decir, bien una LCU o una CU menor, se divide en el llamado indicador de unidad de codificacion dividida asociado con la unidad de codificacion se fija a un valor definido, preferiblemente 1 bin o a un uno logico o a cualquier otro sfmbolo definido, indica que la unidad de codificacion esta dividida jerarquicamente en multiples, preferiblemente cuatro, CU menores. De manera correspondiente, si una unidad de codificacion divisible, es decir, una unidad de codificacion que es mayor que la SCU, no se divide en un indicador de unidad de codificacion dividida asociada a la unidad de codificacion se fija preferiblemente en cambio a 0bin o a un cero logico o a cualquier otro sfmbolo definido. Una unidad de codificacion “divisible” se refiere en este documento a una unidad de codificacion que es capaz de ser dividida jerarquicamente en multiples, preferiblemente cuatro, unidades de codificacion menores. Generalmente cualquier unidad de codificacion excepto las SCU es una unidad de codificacion divisible. Aunque una unidad de
codificacion se puede dividir en unidades de codificacion menores no tienen que ser divididas, por ejemplo, si tal
division no va a mejorar la calidad de codificacion de la imagen.
La division jerarquica de las realizaciones trata preferiblemente LCU por LCU segun un orden de tratamiento definido, tal como el orden de barrido de tramas. El orden de barrido de tramas se hace generalmente de izquierda a derecha y de arriba a abajo. Alternativamente, se podna utilizar un orden de codificacion/descodificacion, tal como el orden Morton o el orden Z. La figura 4 ilustra los principios del orden Morton. Si una LCU se divide en, preferiblemente cuatro CUs de igual tamano, estas CUs se pueden tratar ademas en un orden de tratamiento con el fin de seleccionar si se pueden dividir jerarquicamente en, preferiblemente cuatro de igual tamano, incluso menores CUs. Este orden de tratamiento podna ser el mismo orden que cuando se tratan las LCUs en la imagen. En un
enfoque alternativo, las LCU se tratan en el orden de barrido de tramas estando las CUs tratadas en el orden de
codificacion/descodificacion, tales como el orden Morton. Los ordenes de tratamiento presentados anteriormente son simplemente ejemplos de ordenes que se pueden utilizar y que no limitan por ello las realizaciones.
Por consiguiente, se determina para cada unidad de codificacion dividir la unidad de codificacion adicionalmente en unidades menores de codificacion a menos que la unidad de codificacion sea la SCU, que no se puede dividir mas jerarquicamente. Cada vez que una unidad de codificacion se divide en un indicador de la unidad de codificacion dividida asociado con la unidad de codificacion se fija preferiblemente a uno y si se determina que una unidad de codificacion no se va a dividir mas en unidades de codificacion menores su indicador de unidad de codificacion dividida asociado se fija preferiblemente a cero. Una SCU normalmente no necesita tener ningun indicador de unidad de codificacion dividida asociado ya que no se puede dividir mas.
Esta decision de dividir o no una unidad de codificacion se basa en el tratamiento de la codificacion. Por ejemplo, un area de imagen que represente un fondo perfectamente homogeneo se representa mas eficientemente utilizando grandes tamano de CU, tales como LCUs, comparandolo con dividir la imagen en unidades de codificacion menores. Sin embargo, areas de imagen con pequenos detalles o con numerosos detalles pueden generalmente no estar correctamente representadas si se utilizan grandes unidades de codificacion. En tal caso, es mas eficiente y preferido desde el punto de vista de la calidad de la codificacion utilizar varias CUs menores para el area de la imagen. La seleccion de dividir adicionalmente una CU puede por ello realizarse de acuerdo con las tecnicas descritas en la tecnica y basandose preferiblemente en el rendimiento de la codificacion y en la calidad.
Los indicadores de la unidad de codificacion dividida generados durante la codificacion de los fragmentos en la etapa S1 de la figura 1 se incluyen normalmente en la porcion 56 de los datos codificados de la representacion 50 de la imagen codificada como se ilustra en la figura 6.
La figura 5 es un diagrama de flujo que ilustra etapas adicionales del metodo de codificacion de la figura 1. El metodo comienza en la etapa opcional S10 en la que se determina una granularidad jerarquica para la imagen. La granularidad jerarquica define un nivel jerarquico para los alineamientos de los bordes del fragmento dentro de la imagen. Este nivel jerarquico define y limita el tamano de una unidad de codificacion posible direccionable mas pequena en la cual se puede alinear un comienzo de un fragmento en la imagen. El nivel jerarquico y la granularidad jerarquica determinada definen por tanto el maximo numero de posiciones de comienzo del fragmento que son disponibles potencialmente en la imagen y en las cuales se puede posicionar un comienzo del fragmento. Esto quiere decir que la granularidad jerarquica define el numero de CUs direccionables dentro de la imagen, en las que el comienzo de un fragmento se puede alinear entre el borde de tal CU direccionable y una CU anterior en la imagen, de acuerdo con un orden de tratamiento definido.
Por ejemplo, una LCU que tenga un tamano seleccionado de 64x64 pfxeles tendna una granularidad del fragmento definiendo un nivel de granularidad de 0 a 3 con un tamano de la SCU de 8x8 pfxeles. En tal caso, un nivel de granularidad de cero indica que los comienzos del fragmento pueden ser solo alineados con bordes entre las LCUs. Con una imagen de 1280x960 pfxeles esto implica 20*15=300 posibles posiciones de comienzo del fragmento. Si el nivel de granularidad es por el contrario de uno, la menor unidad de codificacion posible a la cual se puede alinear un comienzo del fragmento es en cambio de 32x32 pfxeles con un total de 40*30=1200 posiciones posibles del comienzo del fragmento. En correspondencia, un nivel de granularidad de dos significa que hay 80*60=4800 posibles posiciones del comienzo del fragmento, ya que los comienzos del fragmento se pueden alinear con CUs de 16*16 pfxeles o mayores. Finalmente, un nivel de granularidad de tres indica que los comienzos del fragmento se
5
10
15
20
25
30
35
40
45
50
55
pueden alinear con los bordes de las SCU dando un total de 160*120=19200 posiciones posibles de comienzo del fragmento.
Una razon por lo cual se deseana tener la posibilidad de seleccionar entre estos casos desde 220 hasta 14400 posibles posiciones de comienzo del fragmento en el presente ejemplo es que cuanto mas se disponga de mas posiciones de comienzo del fragmento en la imagen se necesitan mas direcciones del fragmento mayores, aumentando como consecuencia los costos de los datos de la imagen codificada. Por ello, si no existen demandas espedficas en cuanto a los tamanos de fragmento objetivo, tales como ajustar los datos del fragmento en un unico paquete de datos IP, podna ser ventajoso limitar el numero de posiciones de comienzo del fragmento en un imagen para reducir por lo tanto la magnitud de datos de la direccion que necesitan ser generados y transmitidos al descodificador.
Una etapa siguiente S11 determina la longitud de la direccion del fragmento para los N-1 fragmentos en la imagen, en la que la longitud es con respecto al numero de bits u otros sfmbolos para la direccion del fragmento. La longitud de la direccion del fragmento depende del numero de posiciones de comienzo del fragmento potenciales y del numero de unidades de codificacion direccionables dentro de la imagen. En el caso de MPEG-41AVC este numero de posiciones de comienzo del fragmento depende del tamano de la imagen ya que los comienzos del fragmento solo se pueden alinear en los bordes del macrobloque. Esto quiere decir que dado el tamano total de la imagen, se puede calcular el numero de posibles soluciones de comienzo del fragmento dado el tamano fijo del macrobloque. La longitud de la direccion del fragmento se puede entonces calcular a partir de este numero, tal como log2(P) o log2(P-1), en donde P representa el numero de las posibles posiciones de comienzo del fragmento y por lo tanto el numero total de posibles direcciones del fragmento en la imagen. El tamano de la imagen se incluye normalmente en un campo de encabezamiento o asociado a las representaciones codificadas de la imagen o se podna encontrar en el previamente mencionado campo 52 PPS o SPS de o asociado con la representacion 50 codificada de la imagen, vease figura 6.
En HEVC, la longitud de la direccion del fragmento se determina preferiblemente en la etapa S11 basandose en la granularidad jerarquica determinada en la etapa S10 para la imagen. La granularidad jerarquica se puede utilizar entonces para definir el tamano de las unidades direccionables de codificacion y por ello el tamano de la menor unidad posible de codificacion a la cual se puede alinear un comienzo del fragmento. Esta informacion de la granularidad se emplea preferiblemente junto con la informacion del tamano de la imagen o del numero total de LCUs en la imagen, con el fin de determinar la longitud de la direccion del fragmento en la etapa S11.
En una realizacion, el tamano de las LCU en la imagen podna ser predefinido y por ello conocido para el codificador y el descodificador. Por ejemplo, el tamano de la LCU podna ser 128x128 o 64x64 pfxeles. No se necesita por lo tanto determinar o marcar el tamano de la LCU. En correspondencia, el tamano de las SCUs en la imagen se podna predefinir. Ejemplo de tales tamanos de tales SCUs fijas y predefinida que se pueden utilizar son 16x16 o 8x8 pfxeles.
En realizaciones alternativas, el proceso de codificacion puede determinar adicionalmente el tamano de la LCU y/o el tamano de la SCU a emplear para la(s) imagen(es) actual(es). Esto podna ser beneficioso para adaptar por lo tanto estos tamanos de LCU y/o de SCU a las caractensticas particulares de la imagen presente. Por ejemplo, para algunas imagenes que fueran basicamente una vista uniforme homogenea del fondo, se podna preferir mayores tamanos de LCU y SCU y llevanan a una codificacion mas eficiente si se comparasen con las imagenes con un gran numero de pequenos detalles en las que se podnan preferir tamanos de LCU y SCU menores.
En una realizacion, el tamano de la LCU y/o el tamano de la SCU se determinan por lo tanto durante la codificacion, tal como se basan en los valores de pixel de la imagen. Una notificacion del tamano determinado de la LCU y/o una notificacion del tamano determinado de la SCU se asocian entonces con la representacion codificada de la imagen. La asociacion de la(s) notificacion(es) y la representacion codificada de la imagen se pueden realizar de acuerdo con varias realizaciones. Por ejemplo, se pueden incluir las notificaciones en la representacion codificada de la imagen. Una alternativa es incluir las notificaciones en los PPS o en los SPS.
El tamano de la SCU podna definirse entonces basandose en el parametro log2_min_coding_block_size_minus3 y preferiblemente calculando el parametro Log2MinCUSize como
Log2MinCUSize=log2_min_coding_block_size_minus3 + 3. Este parametro Log2MinCUSize se emplea entonces como representacion del tamano de la SCU y da el tamano de la SCU MinCUSize=(1<<Log2MinCUSize), en la que << indica un operador de desplazamiento a la izquierda. Dependiendo del valor del parametro Log2MinCUSize y por consiguiente del parametro log2_min_coding_block_size_minus3 el tamano de la SCU podna ser entonces de 8 o 16 como ejemplos ilustrativos.
El tamano de la LCU se determina preferiblemente en relacion con el tamano de la SCU definiendo el parametro log2_diff_max_min_coding_block_size. Con mayor detalle, el parametro Log2MaxCUSize se calcula como Log2MaxCUSize= log2_min_coding_block_size_minus3 + 3 + log2_diff_max_min_coding_block_size. Este parametro Log2MaxCUSize se emplea entonces como la representacion del tamano de la LCU y da el tamano de la LCU MaxCUSize=(1<<Log2MaxCUsize). Dependiendo del valor del parametro Log2MaxCUSize y por lo tanto de los
5
10
15
20
25
30
35
40
45
50
55
parametros log2_min_coding_block_size_minus3 y log2_diff_max_min_coding_block_size la longitud de la LCU podna ser entonces de 64 o 128 como ejemplos ilustrativos.
Las notificaciones del tamano de la SCU y del tamano de la LCU podnan por lo tanto ser los parametros log2_min_coding_block_size_minus3 y log2_diff_max_min_coding_block_size.
En una realizacion alternativa, el tamano de la LCU no se determina en relacion con el tamano de la SCU. Esto significa que no se necesita el parametro de la SCU para determinar el tamano de la LCU.
La direccion del fragmento generada para cada fragmento excepto para el primer fragmento en la imagen podna definir la posicion del comienzo del fragmento y la primera CU del fragmento como un simple numero. Las diferentes posiciones posibles del comienzo del fragmento y las unidades de codificacion direccionables se numeran entonces desde cero en adelante. Por ejemplo, una imagen de 1280*960 pfxeles tiene 4800 unicas posiciones posibles de comienzo del fragmento si la granularidad jerarquica define que el tamano de la menor unidad posible de codificacion a la cual se puede alinear un comienzo del fragmento en la imagen es de 16x16 pfxeles. Estas posiciones se podnan entonces numerar desde cero hasta 4799, necesitando por lo tanto direcciones del fragmento de 13 bits
Una alternativa es manejar las coordenadas X e Y separadamente. Con el ejemplo anterior, la coordenada X va desde 0 a 79 y la coordenada Y va desde 0 a 59, necesitando por lo tanto 7 mas 6 bits para las direcciones del fragmento.
Una alternativa adicional es determinar la direccion del fragmento de modo que las coordenadas de la LCU y las coordenadas de la sub-LCU se puedan recuperar de ella. En tal caso, las coordenadas de la posicion de una LCU dentro de la imagen se determinan para un fragmento. El comienzo del fragmento y la primera CU del fragmento se posicionan entonces en la imagen dentro de esta LCU. Las coordenadas se fijan entonces con relacion a un origen global o punto de arranque, normalmente la esquina superior izquierda de la imagen. Las coordenadas de la LCU podnan ser entonces las coordenadas de la lCu con relacion a este origen global, tal como con respecto a un numero de la LCU o con respecto a las coordenadas X e Y como se menciono anteriormente. Tambien se determinan las coordenadas de la posicion de la primera CU y por consiguiente el comienzo del fragmento dentro de la LCU. Estas coordenadas son entonces relativas a un origen local o punto de arranque, normalmente la esquina superior izquierda de la LCU. Estas coordenadas sub LCU podnan tambien ser de la forma de un numero o con respecto a las coordenadas X e Y.
La direccion de fragmento se genera entonces basandose en las coordenadas LCU y en las coordenadas sub-LCU y en la granularidad jerarquica. La granularidad jerarquica se emplea cuando se definen las coordenadas LCU restringiendo y definiendo las posibles posiciones de comienzo para el fragmento y la primera CU del fragmento dentro de la lCu.
En una realizacion, se genera una primera o representacion LCU basandose en las coordenadas determinadas de la LCU y se genera una segunda o representacion de la sub-LCU basandose en las coordenadas de la sub-LCU. La direccion del fragmento podna comprender entonces estas dos representaciones. Alternativamente, la direccion del fragmento se genera de tal modo que las coordenadas de la LCU y las coordenadas de la sub-LCU se puedan determinar o calcular a partir de la direccion del fragmento.
La derivacion de las coordenadas de la LCU o de la sub-LCU se puede realizar de acuerdo con lo que sigue como un ejemplo ilustrativo pero no limitativo.
La granularidad jerarquica determinada en la etapa S10 viene definida por la palabra codigo slice_granularity. Slice_granularity es normalmente un valor de 2-bits en el intervalo desde 00bin=0 hasta un maximo de 11 bin=3. Esto posibilita cuatro niveles jerarquicos diferentes. Si se necesitan simplemente dos niveles jerarquicos slice_granularity podna por el contrario ser un valor de 1-bit. En correspondencia, para mas de cuatro niveles jerarquicos se necesita un parametro slice_granularity de 3 bits o mas. Alternativamente es posible la codificacion de longitud variable para marcar la granularidad jerarquica.
La palabra codigo slice_granularity se define opcionalmente no mayor que la menor de las otras dos palabras codigo determinadas durante la codificacion de la imagen o de la secuencia de video:. Log2MaxCUSize-4 y log2_diff_max_min_coding_block_size. La palabra codigo slice_granularity se emplea entonces, durante la descodificacion, para calcular el parametro Slice_Granularity como SliceGranularity=(slice_granularity<<1).
La direccion del parametro generada durante la codificacion es la palabra codigo slice_address. Esta palabra codigo define la direccion del fragmento en la resolucion de la granularidad del fragmento en la cual comienza el fragmento. La longitud de la direccion del fragmento, es decir, slice_address, se determina como se menciono anteriormente basandose en la granularidad jerarquica. En una realizacion en particular, la longitud de slice_address con respecto al de numero de bits es igual a ceil(log2(NumLCUsInPicture) + SliceGranularity).
El parametro NumLCUsInPicture define el numero total de LCUs en la imagen y se determina basandose en el tamano de la imagen y basandose en el tamano de las LCUs, los cuales son fijos o determinados como se menciono
5
10
15
20
25
30
35
40
45
50
anteriormente. NumLCUsInPicture se puede entonces incluir en la representacion codificada de la imagen o asociarse a ella, tal como en un campo PPS o SPS. Alternativamente, un descodificador puede por sf mismo calcular el parametro NumLCUsInPicture basandose en el tamano de la LCU (log2_min_coding_block_size_minus3 y log2_diff_max_min_coding_block_size) y en el tamano total de la imagen, que se le marca al descodificador en o asociado a la representacion codificada de la imagen.
La parte LCU de la direccion del fragmento de acuerdo con un orden de tratamiento, tal como un orden de barrido de tramas, se define entonces como LCUAddress=(slice_address>>SliceGranularity), en donde >> define un operador de desplazamiento a la derecha. La parte sub-LCU de la direccion del fragmento de acuerdo con un orden de tratamiento, tal como el orden Morton, se calcula como GranularityAddress=slice_address - (LCUAddress<<SliceGranularity).
Y la direccion del fragmento se determina entonces basandose en LCUAddress y la GranularityAddress como SliceAddress=(LCUAddress<<(log2_diff_max_min_coding_block_size<<1)) +
(GranularityAddress<<((log2_diff_max_min_coding_block_size<<1) - SliceGranularity)).
La direccion del fragmento generada para los restantes fragmentos excluyendo el primer fragmento en la imagen podna ser una direccion de longitud fija, en la que la longitud de la direccion queda fijada por la imagen y depende del tamano de una unidad de codificacion lo menor posible en la cual se puede alinear un comienzo de un fragmento y del tamano total de la imagen. Una alternativa sena utilizar una representacion de longitud variable. Como ejemplo de un codigo de longitud variable que se puede utilizar es la codificacion universal de longitud variable (UVLC) como se menciona en Lee y Kuo, Complexity Modeling of H.264/AVC CAVLC/UVLC Entropy Decoders, IEEE International Symposium on Circuits and Systems (ISCAS2008), 2008, pp. 1616-1619. Brevemente, UVLC utiliza el codigo Exp- Golomb (EG). El codigo EG para un valor entero sin signo C es [P ceros][1][info], en donde P=floor(log2(C+1)) e info=C+1-2p.
La direccion del fragmento no solo define la posicion de la primera CU y por lo tanto el comienzo de un fragmento sino que define adicionalmente el tamano de la CU mayor posible que pueda ocupar la posicion en la imagen definida por la direccion del fragmento. Esto quiere decir que este fragmento depende de la posicion determinada por la direccion del fragmento. Aunque, la direccion del fragmento da el tamano de la CU mayor posible que pueda ocupar la posicion, el tamano de la primera CU no necesita ser igual al tamano de la mayor CU posible que pueda ocupar la posicion. Las figuras 3A y 3B ilustran este concepto. En las figuras, los numeros de referencia 2, 3 indican dos diferentes fragmentos en una imagen y la lmea en negrita define el borde entre los dos fragmentos 2, 3. El borde del fragmento cae en estos ejemplos dentro del area de la imagen ocupada por una LCU 10. El numero de referencia 20 indica una CU obtenida para una granularidad de 1 cuando la LCU 10 esta dividida jerarquicamente en cuatro CUs 20. Con una granularidad de 2 esta CU 20 puede dividirse jerarquicamente en cuatro CUs 30 menores. En las figuras 3A y 3B se muestra un caso en el que con una granularidad de 3 una CU 30 se puede dividir en 4 SCUs 40.
En la figura 3A la primera CU del fragmento 3 esta indicada por 30, mientras que en la figura 3B esta indicada por 40B. Los numeros de referencia 40(figura 3A) y 40A (figura 3B) indican una CU que precede a la LCU 10 de acuerdo con el orden de tratamiento definido, que en este ejemplo es el orden Morton. Tanto en la figura 3A como en la figura 3B el comienzo del fragmento y la posicion de las primeras CU 30, 40B son los mismos aunque las primeras CU 30, 40B tengan diferentes tamanos en los dos ejemplos. La direccion del fragmento es, sin embargo, normalmente la misma en estos ambos casos y el tamano de la Cu 30 mayor posible que pueda ocupar la posicion pertinente es la misma. Los dos casos se pueden diferenciar complementando la direccion del fragmento con informacion adicional con respecto a los llamados indicadores de unidades de codificacion divididas.
En un ejemplo, supongase que el tamano de una LCU es 128x128 pfxeles y un tamano correspondiente de una SCU es de 16x16 pfxeles. Supongase ademas que las LCUs 10 de las figuras 3A y 3B constan de dos fragmentos 2, 3; entonces la representacion codificada se podna definir como:
Slice_header_syntax() // fragmento 2 en la figura 3A - incluye la informacion de la direccion split_coding_unit_flag=1 // divide la LCU de 128 x128 en cuatro CUs de 64x64 split_coding_unit_flag=0 // la primera CU de 64x64 no se divide mas
code of first 64x64 CU // la representacion codificada de los valores de pixel de la primera CU de 64*64 split_coding_unit_flag=1 // divide la segunda CU de 64*64 en 4 CUs de 32*32 split_coding_unit_flag=0 // la primera CU de 32x32 no se divide mas
code of first 32x32 CU // la representacion codificada de los valores de pixel de la primera CU de 32*32
split_coding_unit_flag=1 // divide la segunda CU de 32*32 en 4 SCUs, no se necesitan indicadores de unidad de codificacion dividida adicionales
5
10
15
20
25
30
35
40
code of first SCU // la representacion codificada de los valores de p^xel de la primera SCU code of second SCU II la representacion codificada de los valores de pixel de la segunda SCU code of third SCU II la representacion codificada de los valores de pixel de la tercera SCU code of fourth SCU // la representacion codificada de los valores de pixel de la cuarta SCU
split_coding_unit_flag=1 // divide la tercera CU de 32*32 CU en cuatro SCUs, no se necesitan indicadores de unidad de codificacion dividida adicionales
code of first SCU II la representacion codificada de los valores de pixel de la primera SCU code of second SCU // la representacion codificada de los valores de pixel de la segunda SCU code of third SCU II la representacion codificada de los valores de pixel de la tercera SCU code of fourth SCU II la representacion codificada de los valores de pixel de la cuarta SCU
split_coding_unit_flag=1 // divide la cuarta CU de 32*32 CU en cuatro SCUs, no se necesitan indicadores de unidad de codificacion dividida adicionales
code of first SCU II la representacion codificada de los valores de pixel de la primera SCU code of second SCU II la representacion codificada de los valores de pixel de la segunda SCU code of third SCU II la representacion codificada de los valores de pixel de la tercera SCU code of fourth SCU // la representacion codificada de los valores de pixel de la cuarta SCU split_coding_unit_flag=1 // divide la tercera CU de 64*64 CU en cuatro CUs de 32*32
split_coding_unit_flag=1 // divide la primera CU de 32*32 CU en cuatro SCUs, no se necesitan indicadores de unidad de codificacion dividida adicionales
code of first SCU II la representacion codificada de los datos del pixel de la primera SCU code of second SCU II la representacion codificada de los datos del pixel de la segunda SCU code of third SCU II la representacion codificada de los datos del pixel de la tercera SCU
code of fourth SCU II la representacion codificada de los valores de pixel de la precedente CU 40 en la figura. 3A
Slice_header_syntax() // el fragmento 3 en la figura 3A - incluye la direccion de la informacion
split_coding_unitjlag=0 // el indicador de la unidad de codificacion dividida de la primera CU se pone a cero ya que el tamano de la primera CU es igual al tamano de la mayor CU posible CU que puede ocupar la posicion de la imagen definida por la informacion generada de la direccion. - La mayor CU posible en esta direccion es 32 por 32 y no se necesitan dividir los indicadores en sentido descendente hasta 32 por 32. En lugar de ello, el tamano 32 por 32 se deriva de la direccion y de la granularidad.
code of first CU II la representacion codificada de los valores de pixel de la CU 30 en la figura 3A
split_coding_unit_flag=1 // divide la CU de 32*32 en cuatro SCUs, no se necesita dividir adicionalmente los indicadores de la unidad de codificacion
code of first SCU // la representacion codificada de los valores de pixel de la primera SCU code of second SCU II la representacion codificada de los valores de pixel de la segunda SCU code of third SCU II la representacion codificada de los valores de pixel de la tercera SCU code of fourth SCU II la representacion codificada de los valores de pixel de la cuarta SCU
split_coding_unit_flag=1 // divide la CU de 32*32 en cuatro SCUs, no se necesitan adicionalmente los indicadores divididos de la unidad de codificacion
code of first SCU II la representacion codificada de los valores de pixel de la primera SCU code of second SCU II la representacion codificada de los valores de pixel de la segunda SCU code of third SCU II la representacion codificada de los valores de pixel de la tercera SCU
5
10
15
20
25
30
35
40
45
code of fourth SCU II la representacion codificada de los valores de pixel de la cuarta SCU split_coding_unit_flag=0 // no hay division adicional de la CU de 64*64
code of 64x64 CU II la representacion codificada de los valores de pixel de la primera CU de 64x64
En la realizacion ilustrada en la figura 3B el codigo del primer fragmento 2 sena el mismo que anteriormente, mientras que para el segundo fragmento 3 el codigo en cambio vendna dado por:
Slice_header_syntax() // el fragmento 3 en la figura 3B - incluye la informacion de la direccion
split_coding_unit_flag=1 // el indicador de la unidad de codificacion dividida de la primera CU se pone a uno ya que el tamano de la primera CU es menor que el tamano de la mayor CU posible que pueda ocupar la posicion en la imagen definida por la informacion de la direccion generada, no necesitandose indicadores adicionales de la unidad de codificacion dividida.
code of first CU II la representacion codificada de los valores de pixel de la primera CU 40B in Fig. 3B code of second SCU // la representacion codificada de los valores de pixel de la segunda SCU code of third SCU II la representacion codificada de los valores de pixel de la tercera SCU code of fourth SCU II la representacion codificada de los valores de pixel de la cuarta SCU
split_coding_unit_flag=1 // divide la CU de 32*32 en cuatro SCUs, no se necesitan adicionalmente los indicadores divididos de la unidad de codificacion
code of first SCU II la representacion codificada de los valores de pixel de la primera SCU code of second SCU II la representacion codificada de los valores de pixel de la segunda SCU code of third SCU II la representacion codificada de los valores de pixel de la tercera SCU code of fourth SCU II la representacion codificada de los valores de pixel de la cuarta SCU
split_coding_unit_flag=1 // divide la CU de 32*32 en cuatro SCUs, no se necesitan adicionalmente los indicadores divididos de la unidad de codificacion
code of first SCU II la representacion codificada de los valores de pixel de la primera SCU code of second SCU II la representacion codificada de los valores de pixel de la segunda SCU code of third SCU II la representacion codificada de los valores de pixel de la tercera SCU code of fourth SCU II la representacion codificada de los valores de pixel de la cuarta SCU split_coding_unit_flag=0 // no hay division adicional de la CU de 64*64
code of 64*64 CU // la representacion codificada de los valores del pixel de la primera CU de 64*64
La figura 7 es un diagrama de flujo que ilustra un metodo de descodificar una representacion codificada de imagen de una imagen que consta de multiples fragmentos. El metodo comienza en la etapa S20, en la que un indicador del fragmento asociado a un fragmento se recupera a partir de la presentacion codificada de la imagen, preferiblemente de un encabezamiento del fragmento asignado al fragmento actual en la presentacion codificada de la imagen. Una etapa siguiente S21 genera una representacion codificada de los valores de pixel de los pfxeles en el fragmento basandose en una representacion codificada del fragmento asociada al fragmento y recuperada de la representacion codificada de la imagen, normalmente de la porcion de datos codificados de la misma. Las representaciones descodificadas de los valores de pixel se generan de acuerdo con las tecnicas de descodificacion habituales, tales como modos de inter o intra descodificacion.
El valor de pixel como se utiliza en este documento indica cualquier valor de una propiedad del pixel asignada a un pixel. En realizaciones tfpicas para HEVC el valor del pixel es un valor del color. Se conocen diferentes formatos de color en la tecnica y se pueden utilizar de acuerdo con las realizaciones. Por ejemplo, un valor del color podna comprender tanto el componente de luminancia como el componente de crominancia, normalmente un valor para la luminancia y dos componentes para la crominancia. Un valor de pixel podna por lo tanto ser un valor de luminancia de un pixel, un valor de crominancia de un pixel o de hecho ambos valores de luminancia y crominancia. Otro ejemplo de un formato comun del color es el llamado formato RGB, que representa Rojo-Verde-Azul. Un valor de color comprende entonces los valores de rojo, verde y azul. Un valor de pixel podna ser entonces un valor RGB, un valor del rojo, un valor del verde y un valor del rojo. Tambien se conocen variantes del formato RGB, tales como RGBA y se pueden utilizar de acuerdo con las realizaciones.
5
10
15
20
25
30
35
40
45
50
55
En realidad, las realizaciones no tienen que estar necesariamente limitadas al uso de los valores del color como valores de pixel sino que tambien se pueden aplicar a otros valores conocidos de p^xeles incluyendo valores en la escala de grises, valores normales, por ejemplo valores de coordenadas X, Y, Z etcetera.
El indicador del fragmento recuperado en la etapa S20 se emplea entonces en la etapa S22 con el fin de determinar si el fragmento actual es el primer fragmento en la imagen y que por ello no tiene que tener asociada ninguna direccion de fragmento o si el fragmento actual no es el primer fragmento y por lo tanto se necesita una direccion de fragmento para el propio fragmento.
Si la etapa S22 determina que el fragmento actual es en realidad el primer fragmento, es decir, cuando el indicador del fragmento tiene el valor de uno, el metodo continua hasta la etapa S23. La etapa S23 asigna simplemente los valores de pixel generados en la tapa S21 para una primera porcion de la imagen que comienza con el comienzo definido del fragmento en la imagen, normalmente la esquina superior izquierda de la imagen. Los valores de pixel se asignan normalmente a los pfxeles en un orden definido de tratamiento, tal como el previamente mencionado Morton o un orden de barrido de tramas. En una realizacion tfpica aplicada a HEVC, las unidades de codificacion menores que la LCU se tratan segun el orden Morton mientras que las LCUs de la imagen se tratan en el orden de barrido de tramas. Esto implica que la descodificacion comienza con la primera LCU del fragmento y entonces si esta LCU se divide en CUs menores, estas menores CUs se descodifican segun el orden Morton. Una vez que la LCU ha sido descodificada el proceso continua con la siguiente LCU de acuerdo con el orden de barrido de tramas y cualesquiera LCU menores de esta siguiente LCU se descodifican segun el orden Morton.
En una realizacion en particular, la etapa S22 en realidad se realiza antes que la etapa S21 con el fin de determinar que el fragmento presente es verdaderamente el primer fragmento en la imagen. Entonces los datos codificados de la presentacion de la imagen codificada pertenecientes al fragmento actual se descodifican y se asignan a la unidad de codificacion de pfxeles por unidad de codificacion. Esto significa que las etapas S21 y S23 forman entonces un bucle que continua a traves de las diferentes CUs del fragmento y se descodifica cada cU una a una y se asigna el valor de pixel a los pfxeles CU por CU de acuerdo con el orden de tratamiento mencionado anteriormente.
Si la etapa S22 en cambio determina que el fragmento presente no es el primer fragmento de la imagen basandose en el valor del indicador asociado del fragmento, tal como que tiene un valor de cero, el metodo continua hasta la etapa S24. La etapa S24 recupera la direccion del fragmento para el fragmento a partir de la presentacion de la imagen codificada, normalmente del encabezamiento del fragmento de ese fragmento. La direccion del fragmento se emplea con el fin de identificar el comienzo del fragmento dentro de la imagen y por ello la porcion de la imagen que pertenece al fragmento. Una etapa siguiente S25 asigna entonces los valores de pixel a los pfxeles en la porcion identificada de la imagen para generar por ello un fragmento descodificado.
Similarmente a las etapas S21 y S23 anteriores, las etapas S22 y S24 se pueden realizar antes de las etapas S21 y S25 para deducir primero por ello que el fragmento presente no es el primero e identificar entonces y leer la direccion del fragmento a partir de la representacion codificada de la imagen. A partir de ah el comienzo del fragmento se identifica basandose dentro de la imagen y la descodificacion de los datos codificados para la imagen puede comenzar. La descodificacion puede proceder CU por CU y asignar entonces los valores de pixel descodificados a los pfxeles en la CU actual antes de continuar a la siguiente CU de acuerdo con el orden de tratamiento.
En un enfoque alternativo, la etapa S22 se realiza antes de la etapa S21. Asf, la etapa S22 investiga si el indicador del fragmento esta o no fijado y procede entonces a generar la representacion descodificada de los valores de pixel y los asigna como se indico en la tapa S23 o primero los recupera y utiliza la informacion de la direccion en la etapa S24 con el fin de identificar que porcion de la imagen asignar a los valores de pixel en la etapa S25.
Una vez que todos los datos codificados de un fragmento se han descodificado y asignado a la porcion del pixel identificada para el fragmento la etapa S23 o S25, el metodo finaliza o continua ademas hasta un siguiente fragmento de la imagen actual a otro fragmento de otra imagen en una secuencia de video. En tal caso, el metodo de la figura 7 se repite para este u otro fragmento.
Sin embargo, en realizaciones preferidas que reducen el tiempo total de descodificacion de una imagen, se pueden descodificar en paralelo multiple fragmentos. En tal caso, el metodo de la figura 7 se realiza para cada uno de estos fragmentos y se toma por consiguiente una decision en la etapa S22 para cada uno de los fragmentos basandose en el respectivo indicador del fragmento del propio fragmento a descodificar.
La figura 8 es un diagrama de flujo que ilustra etapas adicionales del metodo de la figura 7. El metodo continua desde la etapa S22 de la figura 7, que dedujo que el fragmento presente no es el primer fragmento de la imagen basandose en su indicador del fragmento asociado. Una etapa siguiente S30 recupera la informacion de la granularidad jerarquica para la representacion codificada de la imagen. Como se describio previamente en este documento, la informacion de la gradualidad se puede incluir en la representacion codificada de la imagen y se recupera a continuacion de ella en la etapa S30. Alternativamente, la informacion de la granularidad puede haberse incluido en una representacion codificada de la imagen previamente recibida relativa a una misma secuencia de video. En tal caso, la informacion de la granularidad se recupera de ella y se almacena para un uso posterior cuando
5
10
15
20
25
30
35
40
45
50
55
se descodifiquen las siguientes representaciones de la imagen codificada. La informacion de la granularidad podna tambien haberse enviado separadamente de cualquier representacion de la imagen codificada, tal como un campo separado PPS o SPS. Los identificadores de la sesion, de la imagen o de la secuencia se pueden entonces utilizar para identificar la informacion pertinente de la granularidad para la presente representacion codificada de la imagen.
Una etapa siguiente opcional S31 recupera la informacion del numero de LCUs en la imagen presente. Esta informacion podna simplemente identificar el numero de tales LCUs o podna ser utilizada por el descodificador para calcular el numero de LCUs. Por ejemplo, la palabra codigo NumLCUsInPicture podna recuperarse de la representacion codificada de la imagen o de la informacion del encabezamiento global, tal como los campos PPS o SPS.
Alternativamente, NumLCUsInPicture se calcula basandose en la informacion del tamano total de la imagen, segun se haya recuperado de la representacion codificada de la imagen o del encabezamiento global, y de la informacion del tamano de la LCU, es decir, las palabras codigo mencionadas previamente log2_min_coding_block_size_minus3 y log2_diff_max_min_coding_block_size.
Una etapa siguiente S32 determina la longitud de la direccion del fragmento del fragmento actual basandose en la informacion de la granularidad jerarquica y basandose preferiblemente en el numero de LCUs en la imagen. En una realizacion en particular, la longitud de la direccion del fragmento viene definida como ceil(log2(NumLCUsInPicture) + SliceGranularity). As^ en una realizacion en particular la longitud de la direccion del fragmento se determina basandose en la informacion del numero LCUs en la imagen actual. El parametro SliceGranularity se obtiene preferiblemente directamente a partir de la informacion de la granularidad slice_granularity como SliceGranularity=(slice_granularity<< 1).
El metodo continua seguidamente en la etapa S24 de la figura 7, en la que la direccion del fragmento del fragmento actual se recupera a partir de la presentacion de la imagen codificada basandose en la informacion de la longitud de la direccion del fragmento como se ha determinado en la tapa S32. Asf, esta longitud se emplea con el fin de identificar que bits o sfmbolos de la representacion codificada de la imagen que define la direccion del fragmento definiendo la longitud de la direccion de fragmento, la cual preferiblemente tiene un punto de comienzo fijo en el encabezamiento del fragmento del propio fragmento pero en la cual el punto de finalizacion depende de la longitud de la direccion del fragmento.
En el caso de que las realizaciones presentes se apliquen por encima de H.2641MPEG-4 AVC no esta disponible la informacion de la granularidad y por consiguiente se puede omitir la etapa S30. La etapa S31 recupera la informacion de o permite la determinacion del numero de macrobloques en la imagen y en los que se emplea esta informacion en la etapa S32 con el fin de determinar la longitud de la direccion del fragmento.
La figura 9 es un diagrama de flujo que ilustra una realizacion en particular para identificar la posicion de la primera unidad de codificacion del fragmento y por ello el comienzo del fragmento dentro de la imagen. El metodo continua desde la etapa S24 de la figura 7. Una etapa siguiente S40 determina una direccion de la LCU que representa una posicion de una LCU dentro de la imagen en la cual estan presentes la primera CU y el comienzo del fragmento. La etapa S40 utiliza la direccion del fragmento con el fin de determinar la direccion de la LCU. Por ejemplo, el parametro LCUAddress se puede determinar como slice_address>>SliceGranularity, en el que slice_address representa la direccion del fragmento. Correspondientemente una etapa siguiente S41 determina la direccion de una sub-LCU que representa una posicion de la primera CU dentro de la LCU identificada en la etapa S40. Esta direccion de la sub- LCU se determina tambien basandose en la direccion del fragmento. Por ejemplo, el parametro GranularityAddress se determina como slice_address - (LCUAddress<<SliceGranularity).
Las partes LCU y sub-LCU se pueden emplear entonces para calcular la direccion final del fragmento como (LGUAddress<</og2_diff_max_min_coding_block_size<< 1)) +
(GranularityAddress<<((log2_diff_max_min_coding_block_size<<1) - SliceGranularity que se emplea en la etapa S42 con el fin de identificar la porcion de la imagen que pertenece al fragmento presente. Asf, esta porcion comienza con el inicio del fragmento y la primera CU identificada basandose en la direccion del fragmento y continua a continuacion de acuerdo con el orden de tratamiento a traves de la imagen hasta que todos los datos codificados se hayan descodificado y asignados a las CUs de la imagen.
En realizaciones alternativas, la direccion del fragmento recuperada a partir de la representacion de la imagen codificada se emplea directamente para identificar el comienzo del fragmento y la primera unidad de codificacion. La direccion de fragmento podna entonces corresponder con el numero de posiciones de comienzo del fragmento o las CUs direccionables en las cuales comienza el fragmento. La direccion del fragmento puede entonces ser un mdice en una lista de todas las posibles direcciones en el orden de las codificacion/descodificacion. Una variante adicional es recuperar o calcular a partir de la direccion del fragmento las coordenadas de la LCU y las coordenadas de la sub-LCU como se describio anteriormente en este documento.
La direccion del fragmento no solo define la posicion de la primera CU del fragmento y el comienzo del fragmento sino que define preferiblemente tambien el tamano de la primera CU. Asf, el tamano de la primera CU se determina basandose al menos parcialmente en la direccion del fragmento. Con mas detalle, la direccion del fragmento
5
10
15
20
25
30
35
40
45
50
55
dictamina el mayor tamano posible en terminos de numero de p^xeles que puede tener la primera CU. Esto significa que la primera CU puede tener un tamano igual a este posible mayor tamano o un tamano menor que el mayor tamano posible. En el ultimo caso, se emplea adicionalmente un indicador de la unidad de codificacion dividida anadido a la direccion de fragmento con el fin de definir el tamano correcto de la primera CU, lo cual se describira adicionalmente en este documento.
Por ejemplo, la primera CU puede estar asociada con un indicador de la unidad de codificacion dividida incluido en la representacion codificada de la imagen, normalmente en la porcion de los datos codificados. El valor del indicador de la unidad de codificacion dividida se emplea entonces junto con la direccion del fragmento con el fin de definir el tamano correcto de la primera CU. Asf, si el indicador de la unidad de codificacion dividida se fija a un valor definido, preferiblemente a uno, el tamano de la primera CU es menor que el tamano de la mayor CU posible que pueda ocupar la posicion dentro de la imagen definida basandose en la direccion de fragmento, vease la figura 3B. Sin embargo, si el indicador de la unidad de codificacion dividida se fija a otro valor definido, preferiblemente a cero, el tamano de la primera CU es igual al tamano de la mayor CU posible que pueda ocupar la posicion en la imagen definida por la direccion del fragmento, vease la figura 3A.
Es posible que la primera CU este asociada a multiples indicadores de la unidad de codificacion dividida. Por ejemplo, si el tamano de la mayor CU posible es de 32x32 pfxeles, en la que el tamano de la primera CU es de 8x8 pfxeles con un tamano de una LCU y de una SCU de 64x64 pfxeles y de 8x8 pfxeles, el codigo podna ser:
split_coding_unit_flag=1 // la CU de 32x32 se divide en CUs de 16x16
split_coding_unit_flag=1 // la primera CU de 16x16 se divide en SCUs, no necesitandose un indicador de la unidad de codificacion dividida adicional ya que se ha alcanzado ahora el mayor tamano de la primera CU y esto que es tambien el tamano de la SCU implica que ahora es posible una division adicional.
En algunas realizaciones, el tamano de la primera CU se puede determinar unicamente basandose en la direccion del fragmento sin utilizar ningun indicador de la unidad de codificacion dividida como informacion adicional. Esto es posible cuando el tamano de la mayor CU posible que pueda ocupar la posicion dentro de la imagen definida basandose en la direccion del fragmento es igual al tamano de la SCU. En tal caso, no es posible dividir esta mayor CU posible adicionalmente ya que es en realidad una SCU.
La figura 10 es un diagrama esquematico de bloques de un codificador o dispositivo 100 para codificar una imagen que consta de multiples fragmentos. El dispositivo 100 comprende un generador de la representacion 110 configurado para generar una representacion del fragmento codificado respectivo para cada fragmento en la imagen basandose en los valores de pixel de los pfxeles en el fragmento. El generador de la representacion 110 realiza la codificacion del pixel de acuerdo con los esquemas de codificacion conocidos, tales como inter o intra codificacion. Un generador de indicadores 120 del dispositivo 100 esta configurado para fijar un indicador del fragmento asociado con el propio fragmento. Si el fragmento presente es el primer fragmento en la imagen, el fijador del indicador 120 fija el indicador del fragmento en un primer valor definido, tal como uno, mientras que para el(los) restante(s) fragmento(s) en la imagen el indicador del fragmento respectivo se fija a un segundo valor definido, tal como cero.
Un generador de la direccion 130 genera una direccion del fragmento respectivo para cada fragmento excepto para el primer fragmento en la imagen, es decir, para cada fragmento con un indicador del fragmento puesto a cero. La direccion del fragmento generada por el generador de la direccion 130 permite identificar una posicion de una primera CU del fragmento dentro de la imagen y por ello la posicion de comienzo del fragmento dentro de la imagen.
El dispositivo 100 tambien comprende un gestor de la representacion 140 configurado para incluir las representaciones del fragmento codificado respectivas a partir del generador de la representacion 110, de los indicadores del fragmento del generador de indicadores 120 y de la(s) direccion(es) del fragmento del generador de la direccion 130 de los fragmentos en una representacion codificada de la imagen de la imagen. En una realizacion en particular, el indicador del fragmento se proporciona en la representacion codificada antes de la(s) direccion(es) del fragmento. En tal caso, es posible el barrido ya que el indicador del fragmento decide si hay un campo o no de direccion del fragmento en la representacion codificada del fragmento.
En una realizacion, el generador de la direccion 130 genera la direccion de fragmento basandose en la granularidad jerarquica determinada para la imagen por el dispositivo 100. En tal caso, se puede realizar un determinador de la longitud 150 opcional en el dispositivo 100 para utilizar la granularidad jerarquica con el fin de determinar la longitud de la direccion del fragmento y por ello el numero de bits que la direccion del fragmento debe contener. El determinador de la longitud 150 utiliza tambien adicionalmente con preferencia la informacion del numero total de LCUs en la imagen cuando determina la longitud de la direccion del fragmento, en la que este numero total de LCUs se puede calcular como se describio previamente en este documento. En otra realizacion, el determinador de la longitud 150 se omite y el generador de la direccion 130 determina por sf mismo la longitud de la direccion del fragmento.
En el caso de la codificacion H.264/MPEG-4 AVC, el determinador de la longitud 150 determina preferiblemente la longitud de la direccion del fragmento basandose en el numero de macrobloques en la imagen, que se puede calcular basandose en la informacion del tamano total de la imagen.
5
10
15
20
25
30
35
40
45
50
55
60
El generador de la direccion 130 utiliza entonces esta informacion de la longitud cuando genera la direccion del fragmento. En una realizacion en particular, el generador de la direccion 130 determina las coordenadas de la posicion de una LCU dentro de la imagen y las coordenadas de la posicion de una sub-LCU dentro de la LCU como se ha descrito previamente electrodo. La direccion del fragmento podna entonces comprender representaciones de las representaciones de estas posiciones de la LCU y de la sub-LCU o determinarse a partir de ella.
El dispositivo 100 se emplea ventajosamente con el fin de codificar multiples fragmentos en paralelo con el fin de reducir el tiempo total de codificacion de una imagen o de una secuencia de video.
El dispositivo 100 podna realizarse al menos parcialmente en software. En tal realizacion, el dispositivo 100 se realiza como un producto de programa de ordenador almacenado en la memoria y cargado y ejecutado en un ordenador, un procesador o un micro procesador de uso general o adaptado especialmente tal como una unidad central de proceso (CPU). El software incluye elementos de codigos de programas de ordenador o porciones de codigo de software que realiza la operacion de al menos el generador de representacion 110, el generador de indicadores 120, el generador de la direccion 130, el gestor de la representacion 140 y el determinador opcional de la longitud 150. El programa se puede almacenar total o en parte, en o en uno o mas medios de almacenamiento de datos o medios interpretables por ordenador volatiles adecuados, tales como RAM, o en uno o mas medios de almacenamiento de datos o medios interpretables por ordenador no volatiles, tales como discos magneticos, CD ROMs, discos DVD, disco duro, ROM o memoria flash. Los medios de almacenamiento de datos puede ser medios de almacenamiento de datos locales proporcionados a distancia, tales como un servidor de datos. El software puede por consiguiente ser cargado en la memoria operativa de un ordenador o de un sistema de tratamiento equivalente para la ejecucion por un procesador. El ordenador/procesador no tiene que estar dedicado solo a ejecutar las funciones descritas anteriormente sino que pueden tambien ejecutar otras tareas de software. Un ejemplo no limitativo del codigo de programa utilizado para definir el dispositivo 100 incluye codigo de datos multiples en una unica instruccion (SIMD).
Alternativamente el dispositivo 100 se puede realizar mediante hardware. Existen numerosas variantes de elementos de circuitena que se pueden utilizar y combinar para lograr las funciones de las unidades del dispositivo 100. Tales variantes quedan abarcadas por las realizaciones. Ejemplos particulares de realizar mediante hardware el dispositivo 100 es la realizacion en tecnologfa de circuitos integrados y hardware de procesador digital de la senal (DSP), incluyendo tanto la circuitena electronica de uso general como de la aplicacion espedfica.
La figura 11 es un diagrama esquematico de bloques de una realizacion de un descodificador o dispositivo 200 para descodificar una representacion codificada de una imagen que consta de multiples fragmentos. El dispositivo 200 comprende un recuperador de la representacion 210 configurado para recuperar un indicador del fragmento asociado con un fragmento a ser descodificado a partir de la representacion de la imagen codificada, normalmente a partir de un encabezamiento del fragmento en la representacion de la imagen codificada. Un generador de la representacion 220 se proporciona en el dispositivo 200 para generar una representacion descodificada de los valores de pixel de los pfxeles en el fragmento basandose en la representacion de la imagen codificada. El generador de la representacion 220 genera los valores de pixel de acuerdo con las tecnicas conocidas, tales como los esquemas en modo intra o inter descodificacion.
Un recuperador de la direccion 230 se hace operativo si el indicador del fragmento recuperado para un fragmento actual por el recuperador de la representacion 210 tiene un segundo valor definido, tal como cero, indicando que el fragmento no es el primer fragmento en la imagen. El recuperador de la direccion 230 lee entonces y recupera una direccion del fragmento asociada con el fragmento a partir de la representacion de la imagen codificada, tal como a partir de un encabezamiento del fragmento en la representacion de la imagen codificada. Un asignador de valores 240 asigna entonces los valores del pixel obtenidos del generador de la representacion 220 lo mismo que el fragmento se descodifica en pfxeles en una porcion del fragmento identificado basandose en la direccion del fragmento recuperada por el recuperador de la direccion 230.
Si el indicador del fragmento es recuperado por el de representaciones para un fragmento actual que tiene un primer valor definido, tal como uno, el asignador de valores 240 puede identificar directamente la porcion del fragmento a la cual se le deben asignar los valores de pixel procedentes del generador de la representacion 220. Esto generalmente es la primera parte de la imagen en el orden de codificacion/descodificacion, tal como la porcion superior izquierda. Asf, en tal caso no se necesita direccion del fragmento con el fin de identificar esta porcion de la imagen.
En el caso de una realizacion HEVC y si la informacion de la granularidad jerarquica se le asigna a los datos de la imagen codificada, se puede proporcionar un recuperador opcional 250 de la informacion de la granularidad en el dispositivo 200 para recuperar la informacion de una granularidad jerarquica aplicable al fragmento presente para ser descodificado. El recuperador 250 de la informacion de la granularidad podna recuperar la informacion de la granularidad a partir de la representacion de la imagen codificada o del campo global del encabezamiento, tal como el campo PTS o SPS, asociado con la representacion codificada de la imagen. La informacion de la granularidad recuperada por el recuperador de informacion 250 de la granularidad la emplea un determinador opcional 260 de la longitud para determinar la longitud de la direccion de fragmento y determinar por ello el numero de bits que el recuperador de la direccion 230 debe leer con el fin de recuperar la direccion del fragmento. Alternativamente, este
5
10
15
20
25
30
35
40
45
50
55
determinador de la longitud 260 se puede omitir y el recuperador de la direccion 230 determina por s^ mismo la longitud de la direccion basandose en la informacion de la granularidad.
Un recuperador opcional 270 de la informacion de la unidad de codificacion se ejecuta ventajosamente en el dispositivo 200 con objeto de recuperar la informacion del numero total de LCUs en la imagen a partir de la representacion codificada de la imagen, tal como de un campo global de encabezamientos, campo PPS o SPS. Esa informacion podna ser la mencionada anteriormente log2_min_coding_block_size_minus3 y log2_diff_max_min_coding_block_size, que permite que el recuperador 270 de la informacion de la unidad de codificacion calcule el numero de LCUs en la informacion de la imagen dada del tamano total de la imagen, lo que preferiblemente esta tambien disponible a partir de la representacion de la imagen codificada o a partir de un campo global de encabezamiento, campo PPS o SPS.
El determinador 260 de la longitud determina entonces ventajosamente la longitud de la direccion del fragmento basandose en la informacion del recuperador 250 de la informacion de la granularidad y el numero total de LCUs como el determinado por el recuperador 270 de informacion de la unidad de codificacion.
En una realizacion, el recuperador 230 de la direccion se configura para determinar una primera representacion o direccion de la LCU de las coordenadas de una posicion de una LCU dentro de la imagen basandose en la direccion del fragmento si el fragmento actual no es el primer fragmento en la imagen. El recuperador 230 de la direccion determina tambien preferiblemente una segunda representacion o direccion de la sub-LcU de las coordenadas de una posicion de una primera unidad de codificacion del fragmento y por ello el comienzo del fragmento dentro de la LCU. La direccion de la LCU y de la sub-LCU las utiliza entonces el recuperador 230 de la direccion para identificar la porcion de la imagen que pertenece al fragmento actual basandose en la direccion de la LCU y en la direccion de la sub-LCU como se describio anteriormente.
Por ejemplo, el recuperador 230 de la direccion puede determinar el parametro LCUAddress=slice_address>>SliceGranularity basandose en la direccion del fragmento (slice-address) y basandose en la informacion de la granularidad jerarquica (SliceGranularity). La direccion de la sub-LCU se determina preferiblemente como GranularityAddress=slice_address - (LCUAddress<<SliceGranularity) basandose en la direccion del fragmento (slice_address), en la informacion de la granularidad jerarquica (SliceGranularity) y en la direccion de la LCU.
El generador de la representacion 220 determina preferiblemente el tamano de la primera CU en el fragmento de acuerdo con el numero de pfxeles basandose al menos parcialmente en la direccion del fragmento. La direccion del fragmento define entonces el tamano de la mayor CU posible que pueda ocupar la posicion definida por la direccion del fragmento en la imagen. En una realizacion, el tamano de la primera CU viene determinado por el generador 220 de representaciones basandose unicamente en la direccion del fragmento. Esto es posible cuando el tamano de la primera CU es igual al tamano de la SCU y no es posible dividir mas la CU. En otras realizaciones, el generador 220 de representaciones utiliza adicionalmente uno o mas indicadores de la unidad de codificacion dividida incluidos en la representacion de la imagen codificada junto con la direccion del fragmento para determinar el tamano de la primera CU. Si un unico indicador de la unidad de codificacion dividida es igual a cero o a algun otro valor definido, el tamano de la primera CU es igual al tamano de la mayor CU que pueda ocupar la posicion dentro de la imagen definida por la direccion del fragmento. Si el indicador de la unidad de codificacion dividida es por el contrario igual a uno o a algun otro valor definido, el tamano de la primera CU es menor que, preferiblemente la cuarta parte de la mayor CU posible que pueda ocupar la posicion dentro de la imagen definida por la direccion del fragmento.
Por ejemplo, si el tamano de la mayor CU posible en las coordenadas de comienzo es 32x32 pfxeles (con un tamano de la LCU de 64x64 pfxeles y el tamano de una SCU es de 8x8 pfxeles) el(los) indicador(es) de la unidad de codificacion dividida sena(n):
split_coding_unit flag=0
para un tamano de 32*32 pfxeles de la primera CU
split_coding_unit_flag=1
split_coding_unit_flag=0
para un tamano de 16*16 pfxeles de la primera CU
splif_coding_unit_flag=1
split_coding_unit_flag=1
para un tamano de 8*8 pfxeles de la primera CU
El dispositivo 200 se podna realizar al menos parcialmente mediante software. En tal realizacion, el dispositivo 200 se realiza como un producto de programa de ordenador almacenado en una memoria y cargado y ejecutado en un ordenador, procesador o microprocesador, de uso general o adaptado especialmente, tal como una unidad central de proceso (CPU). El software incluye elementos de codigo de programa de ordenador o porciones de codigo de software que efectuan la operacion de por lo menos el recuperador 210 de la representacion, el generador 220 de representaciones, el recuperador 230 de la direccion, el asignador 240 de valores, el recuperador 250 de la informacion de la granularidad, el determinador opcional 260 de la longitud y el recuperador opcional 270 de la
5
10
15
20
25
30
35
40
45
informacion de la unidad de codificacion. El programa se puede almacenar completo o parcialmente, en uno o en mas medios volatiles apropiados interpretables por ordenador o de almacenamiento de datos, tales como ram, o en uno o en mas medios no volatiles interpretables por ordenador o medios de almacenamiento de datos, tales como discos magneticos, CD-ROMs, discos DVD, discos duros, en rom o en memoria flash. Los medios de almacenamiento de datos puede ser medios locales de almacenamiento de datos o proporcionados a distancia, tales como en un servidor de datos. El software se puede asf cargar en la memoria de trabajo de un ordenador o en un sistema equivalente de tratamiento para su ejecucion por medio de un procesador. El ordenador/procesador no tiene que estar dedicado solo a ejecutar las funciones descritas anteriormente sino que puede tambien ejecutar otras tareas de software. Un ejemplo no limitativo de un codigo de programa utilizado para definir el dispositivo 200 incluye codigos de multiples datos de instruccion unica (SIMD).
Alternativamente, el dispositivo 200 se puede realizar en hardware. Existen numerosas variantes de elementos de circuitena que se pueden utilizar y combinar para conseguir las funciones de las unidades del dispositivo 200. Tales variantes quedan abarcadas en la realizaciones. Ejemplos particulares de realizacion mediante hardware del dispositivo 200 es la realizacion en hardware en un procesador digital de senal (DSP) y tecnologfa de circuitos integrados, incluyendo tanto la circuitena electronica de uso general como la circuitena de aplicaciones espedficas.
La figura 12 es un diagrama esquematico de bloques de un terminal de medios 300 que contiene un dispositivo 200 para descodificar una representacion codificada de una imagen. El terminal de medios 300 puede ser cualquier dispositivo que disponga de funciones de descodificacion de medios que opera sobre una secuencia codificada de bits, tal como un secuencia de video de tramas codificadas de video para descodificar por lo tanto las tramas de video y hacer disponibles los datos de video. Ejemplos no limitativos de tales dispositivos, incluyen telefonos moviles y otros medios de reproduccion portatiles, ordenadores, descodificadores, consolas de videojuegos, etcetera. El terminal de medios 300 consta de una memoria 320 configurada para la representacion codificada de una imagen, tal como tramas de video codificadas. Las representaciones codificadas pueden haber sido generadas por el propio terminal de medios 300. En tal caso, el terminal de medios 300 comprende preferiblemente un motor de medios o registrador junto con un codificador conectado, tal como el dispositivo para codificar una imagen de la figura 10. Alternativamente, las representaciones codificadas se generan por medio de algun otro dispositivo o se trasmiten inalambricamente o mediante cable al terminal de medios 300. El terminal de medios 300 comprende entonces un transceptor 310 (transmisor y receptor) o un puerto de entrada y salida para lograr la transferencia de datos.
La representacion codificada se trae desde la memoria 320 al dispositivo 200 para la descodificacion, tal como el dispositivo ilustrado en la figura 11. El dispositivo 200 descodifica entonces la representacion codificada en una imagen descodificada o como tramas de video descodificadas. Los datos descodificados se proporcionan a un reproductor de medios 330 que esta configurado para interpretar los datos de la imagen descodificada o de las tramas de video en datos que se presentan en una pantalla 340 de o conectada al terminal de medios 300.
En la figura 12, el terminal de medios 300 se ha ilustrado como que comprende tanto el dispositivo 200 para la descodificacion como el reproductor de medios 330. Esto debe, sin embargo, ser visto simplemente como un ejemplo ilustrativo pero no limitativo de una realizacion de la ejecucion para el terminal de medios 300. Tambien son posibles realizaciones distribuidas en las que el dispositivo 200 y el reproductor de medios 330 se proporcionan en dos dispositivos ffsicamente separados y dentro del alcance del terminal de medios 300 como se ha usado en ese documento. La pantalla 340 se podna tambien proporcionar como un dispositivo separado conectado al terminal de medios 300, en el que tiene lugar el tratamiento real de los datos.
Las realizaciones descritas anteriormente tienen que entenderse como unos pocos ejemplos ilustrativos de la presente invencion. Los expertos en la tecnica comprenderan que se pueden hacer diversas modificaciones, combinaciones y cambios a las realizaciones sin apartarse del alcance de la presente invencion. En particular, diferentes soluciones parciales en las diferentes realizaciones se pueden combinar en otras configuraciones que sean tecnicamente posibles. El alcance de la presente invencion esta, sin embargo, definido por las reivindicaciones adjuntas.

Claims (19)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un metodo de descodificar una imagen (1) que comprende N > 2 fragmentos (2-5), que comprende:
    generar (S1) para cada fragmento (2-5) de dichos N fragmentos (2-5), una representacion codificada del fragmento basandose en los valores de pixel de los pfxeles en dicho fragmento (2-5);
    fijar (S2) un indicador del fragmento asociado al primer fragmento (2) de dicha imagen (1) a un primer valor definido para indicar que dicho primer fragmento (2) tiene su comienzo del fragmento en una posicion definida en dicha imagen (1);
    fijar (S3), para cada fragmento (3-5) de los N - 1 fragmentos restantes (3-5) de dichos N fragmentos (2-5), un indicador del fragmento asociado a dicho fragmento (3-5) a un segundo valor definido;
    generar (S4), para cada fragmento (3-5) de dichos N -1 fragmentos restantes (3-5), una direccion del fragmento que permite la identificacion de una posicion de una primera unidad de codificacion (10B, 20B, 30B, 40B) de dicho fragmento (3-5) dentro de dicha imagen (1); y
    generar (S5) una representacion codificada de la imagen (50) de dicha imagen (1) comprendiendo dichas N representaciones codificadas del fragmento, dichas N - 1 direcciones del fragmento y dichos N indicadores del fragmento, caracterizado por:
    determinar (S11) una longitud de dichas N - 1 direcciones del fragmento con respecto al numero de bits como uno de ce//(log2(P)) y ceil(log2(P -1)), en donde ceil() indica la funcion techo definida como ceil(x) = Tx! y extrae el menor entero no menor de x y P indica un numero total de posibles direcciones del fragmento en dicha imagen (1), en el que la generacion (S4) de dicha direccion del fragmento comprende generar (S4), para cada fragmento (3-5) de dichos N -1 fragmentos restantes (3-5), dichas direcciones del fragmento codificando una palabra codigo que tiene dicha longitud.
  2. 2. El metodo de acuerdo con la reivindicacion 1, en el que dicha imagen (1) consta de multiples unidades de codificacion mayores (10), que tienen un tamano seleccionado con respecto al numero de pfxeles y que puede ser dividida jerarquicamente en multiples unidades de codificacion (20, 30, 40) que tienen tamano respectivos que son menores que dicho tamano seleccionado, comprendiendo ademas dicho metodo determinar (S11) una longitud de dichas N - 1 direcciones del fragmento con respecto al numero de bits basandose en una granularidad jerarquica seleccionada para dicha imagen (1), definiendo dicha granularidad jerarquica un nivel jerarquico para el alineamiento del borde del fragmento dentro de dicha imagen (1), en el que dicho nivel jerarquico define un tamano de una unidad de codificacion direccionable lo menor posible (30) en la cual se puede alinear el comienzo de un fragmento (3) en dicha imagen (1).
  3. 3. El metodo de acuerdo con la reivindicacion 2, en el la determinacion (S11) de dicha longitud de dichas N - 1 direcciones del fragmento comprende determinar (S11) dicha longitud de dichas N - 1 direcciones del fragmentos basandose en dicha granularidad jerarquica y basandose en un numero total de las mayores posibles unidades de codificacion (10) en dicha imagen (1).
  4. 4. Un metodo de descodificar la representacion codificada (50) de una imagen (1) que comprende N > 2 fragmentos (2-5), comprendiendo dicho metodo:
    recuperar (S20), de dicha representacion codificada de la imagen (50), un indicador del fragmento asociado a un fragmento (2-5) de dichos N fragmentos (2-5);
    generar (S21) una representacion descodificada de los valores de pixel de los pfxeles en dicho fragmento (2-5) basandose en la representacion codificada de un fragmento asociada a dicho fragmento (2-5) y recuperada de dicha representacion codificada de la imagen (50);
    asignar (S23) dichos valores de pixel a los pfxeles en una primera porcion definida de dicha imagen (1) si un indicador del fragmento asociado a dicho fragmento (2) y recuperado de dicha representacion codificada de la imagen (50) tiene un primer valor definido que indica que es el primer fragmento (2) en la imagen (1);
    recuperar (S24), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene un segundo valor definido, una direccion del fragmento de dicha representacion codificada de la imagen (50), y
    asignar (S25), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, dichos valores de pixel a los pfxeles en una porcion de dicha imagen (1) identificada basandose en dicha direccion del fragmento, caracterizado por
    determinar (S32), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, una longitud de dicha direccion del fragmento con respecto al numero de bits como uno de ceil(log2(P)) y
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    ceil(log2(P - 1)), en el que ceil() indica la funcion techo definida como ceil(x) = Tx! y extrae el menor entero no menor de x y P indica un numero total de posibles direcciones del fragmento en dicha imagen (1), en el que la recuperacion (S24) de dicha imagen del fragmento comprende recuperar (S24) si dicho indicador del fragmento tiene dicho segundo valor definido, dicha direccion del fragmento como una palabra codigo codificada que tiene dicha longitud de dicha representacion codificada de la imagen (50).
  5. 5. El metodo de acuerdo con la reivindicacion 4, en el que dicha imagen (1) consta de multiples unidades de codificacion mayores (10), que tienen un tamano seleccionado con respecto al numero de pfxeles y que se pueden dividir jerarquicamente en multiples unidades de codificacion (20, 30, 40) que tienen tamanos respectivos que son menores que dicho tamano seleccionado, comprendiendo ademas dicho metodo:
    recuperar (S30), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, informacion de una granularidad jerarquica asociada a dicha presentacion codificada de la imagen (50), definiendo dicha granularidad jerarquica un nivel jerarquico para el alineamiento del borde del fragmento dentro se dicha imagen (1), definiendo dicha nivel jerarquico un tamano de una unidad de codificacion direccionable lo mas pequena posible (30) en la cual se puede alinear un comienzo de un fragmento (3) en dicha imagen (1), y
    determinar (S32) la longitud de una direccion de dicho fragmento con respecto al numero de bits basandose en dicha informacion de dicha granularidad jerarquica.
  6. 6. El metodo de acuerdo con la reivindicacion 5, que comprende ademas recuperar (S31) la informacion de un numero total de las mayores unidades de codificacion (10) en dicha imagen (1) de dicha representacion codificada de la imagen (50), en el que la determinacion (S32) de dicha longitud de dicha direccion del fragmento comprende determinar (S32) dicha longitud de dicha direccion del fragmento basandose en dicha informacion de dicha granularidad jerarquica y basandose en dicho numero total de las mayores unidades posibles de codificacion (10).
  7. 7. El metodo de acuerdo con cualquiera de las reivindicaciones 4 a 6, que comprende ademas:
    determinar (S40), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, una primera representacion de las coordenadas de una posicion de la unidad mayor de codificacion (10) dentro de dicha imagen (1) basandose en dicha direccion del fragmento;
    determinar (S41), si dicho fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, una segunda representacion de las coordenadas de una posicion de una primera unidad de codificacion (30) de dicho fragmento (3) dentro de dicha mayor unidad posible de codificacion (10), e
    identificar (S42) dicha porcion de dicha imagen (1) basandose en dicha primera representacion y en dicha segunda representacion.
  8. 8. El metodo de acuerdo con la reivindicacion 7, en el que dicha imagen (1) comprende multiples unidades mayores de codificacion (10), que tienen un tamano seleccionado con respecto al numero de pfxeles y que se puede dividir jerarquicamente en multiples unidades de codificacion (20, 30, 40) teniendo tamano respectivos que son menores que dicho tamano seleccionado, comprendiendo ademas dicho metodo:
    recuperar (S30), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, la informacion de una granularidad jerarquica asociada a dicha presentacion codificada de la imagen (50), definiendo dicha granularidad jerarquica un nivel jerarquico para el alineamiento del borde del fragmento dentro de dicha imagen (1), definiendo dicho nivel jerarquico un tamano de una unidad de codificacion direccionable lo menor posible (30) en la cual se puede alinear un comienzo de un fragmento (3) en dicha imagen (1); y
    determinar (S32) una longitud de dicha direccion del fragmento con respecto al numero de bits basandose en dicha informacion de dicha granularidad jerarquica, en el que la determinacion (S40) de dicha primera representacion comprende determinar (S40), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, basandose en dicha primera representacion en dicha direccion del fragmento y en dicha informacion de dicha granularidad jerarquica.
  9. 9. El metodo de acuerdo con la reivindicacion 7 o con la reivindicacion 8, en el que dicha imagen (1) comprende las multiples mayores unidades de codificacion (10), que tienen un tamano seleccionado con respecto al numero de pfxeles y que se pueden dividir jerarquicamente en multiples unidades de codificacion (20, 30, 40) que tienen respectivos tamanos que son menores que dicho tamano seleccionado, comprendiendo dicho metodo ademas:
    recuperar (S30), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, la informacion de una granularidad jerarquica asociada a dicha presentacion codificada de la imagen (50), definiendo dicha granularidad jerarquica un nivel jerarquico para el alineamiento del borde del fragmento dentro de dicha imagen (1), definiendo dicho nivel jerarquico un tamano de una unidad de codificacion direccionable lo menor posible (30) en la cual se puede alinear un comienzo de un fragmento (3) en dicha imagen (1); y
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    determinar (S32) una longitud de dicha direccion del fragmento con respecto al numero de bits basandose en dicha informacion de dicha granularidad jerarquica, en el que la determinacion (S41) dicha segunda representacion comprende determinar (S41), si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, dicha segunda representacion basada en dicha direccion del fragmento, dicha informacion de dicha granularidad jerarquica y dicha primera representacion.
  10. 10. Un dispositivo (100) para codificar una imagen (1) que comprende N > 2 fragmentos (2-5), comprendiendo dicho dispositivo (100):
    un generador de la representacion (110) configurado para generar, para cada fragmento (2-5) de dichos N fragmentos (2-5), una representacion codificada del fragmento basandose en los valores de pixel de los pfxeles en dicho fragmento (2-5);
    un fijador del indicador (120) configurado para fijar un indicador del fragmento asociado a dicho fragmento (2) de dicha imagen (1) a un primer valor definido y fijar, para cada fragmento (3-5) de los N -1 fragmentos restantes (3-5) de dichos N fragmentos (2-5), un indicador del fragmento asociado a dicho fragmento (3-5) a un segundo valor definido;
    un generador de la direccion (130) configurado para generar, para cada fragmento (3-5) de dichos N - 1 restantes fragmentos (3-5), una direccion del fragmento que permite identificar una posicion de una primera unidad de codificacion (10B, 20B, 30B, 40B) de dicho fragmento (3-5) dentro de dicha imagen (1); y
    un gestor de la representacion (140) configurado para generar una representacion codificada de la imagen (50) de dicha imagen (1) comprendiendo dichas N representaciones codificadas del fragmento, dichas N - 1 direcciones del fragmento y dichos N indicadores del fragmento, caracterizado por:
    un determinador de la longitud (150) configurado para determinar una longitud de dichas N - 1 direcciones del fragmento con respecto al numero de bits como uno de ceil(log2(P)) y ce//(log2(P - 1)), en el que ceil() indica la funcion techo definida como ceil(x) = M y extrae el menor entero no menor que x y P indica un numero total de las posibles direcciones del fragmento en dicha imagen (1), en el que dicho generador de la direccion (130) esta configurado para generar, para cada fragmento (3-5) de dichos N -1 fragmentos restantes (3-5), dicha direccion del fragmento para codificar una palabra codigo que tiene dicha longitud.
  11. 11. El dispositivo de acuerdo con la reivindicacion 10, en el que dicha imagen (1) comprende las multiples mayores unidades de codificacion (10), que tienen un tamano seleccionado con respecto al numero de pfxeles y que se pueden dividir jerarquicamente en multiples unidades de codificacion (20, 30, 40) que tienen tamanos respectivos que son menores que dicho tamano seleccionado, comprendiendo ademas dicho dispositivo (100) un determinador de la longitud (150) configurado para determinar una longitud de dichas N -1 direcciones del fragmento con respecto al numero de bits basandose en una granularidad jerarquica seleccionada para dicha imagen (1), definiendo dicha granularidad jerarquica un nivel jerarquico para el alineamiento del borde del fragmento dentro de dicha imagen (1), en el que dicho nivel jerarquico define un tamano de una unidad de codificacion direccionable lo menor posible (30) en la cual se puede alinear un comienzo de un fragmento (3) en dicha imagen (1).
  12. 12. El dispositivo de acuerdo con la reivindicacion 11 en el que dicho determinador de la longitud (150) esta configurado para determinar dicha longitud de dichas N - 1 direcciones del fragmento basandose en dicha granularidad jerarquica y basandose en un numero total de las mayores unidades de codificacion (10) en dicha imagen (1).
  13. 13. Un dispositivo (200) para descodificar la representacion codificada (50) de una imagen (1) que comprende N > 2 fragmentos (2-5), comprendiendo dicho dispositivo (200):
    un recuperador de la representacion (210) configurado para recuperar, de dicha representacion codificada de la imagen (50), un indicador del fragmento asociado con un fragmento (2-5) de dichos N fragmentos (2-5);
    un generador de la representacion (220) configurado para generar una representacion descodificada de los valores de pixel de los pfxeles en dicho fragmento (2-5) basandose en una representacion codificada del fragmento asociada a dicho fragmento (2-5) y recuperada de dicha representacion codificada de la imagen 50();
    un recuperador de la direccion (230) configurado para recuperar, si un indicador del fragmento asociado a dicho fragmento (3-5) y recuperado de dicha representacion codificada de la imagen (50) tiene un segundo valor definido, una direccion del fragmento asociada a dicho fragmento (3-5) de dicha representacion codificada de la imagen (50); y
    un asignador de valores (240) configurado para asignar dichos valores de pixel a los pfxeles en una primera porcion definida de dicha imagen (1) si dicho indicador del fragmento asociado a dicho fragmento (2) tiene un primer valor definido que indica el primer fragmento (2) en la imagen (1) y para asignar, si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, dichos valores de pixel a los pfxeles en una porcion de dicha imagen (1) identificada basandose en dicha direccion del fragmento, caracterizado por:
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    un determinador de la longitud (260) configurado para determinar, si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, una longitud de dichas N - 1 direcciones del fragmento con respecto al numero de bits como uno de ceil(log2(P)) y ceil(log2(P - 1)) en el que ceil() indica la funcion techo definida como ceil(x) = Tx! y extrae el menor entero no menor que X y P indica un numero total de posibles direcciones del fragmento en dicha imagen (1), en el que dicho recuperador de la direccion (230) esta configurado para recuperar, si dicho indicador del fragmento tiene dicho segundo valor, dicha direccion del fragmento como una palabra de codigo codificada que tiene dicha longitud de dicha representacion codificada de la imagen (50).
  14. 14. El dispositivo de acuerdo con la reivindicacion 13, en el que dicha imagen (1) comprende las multiples mayores unidades de codificacion (10), que tienen un tamano seleccionado con respecto al numero de pfxeles y que se pueden dividir jerarquicamente en multiples unidades de codificacion (20, 30, 40) que tienen tamano respectivos que son menores que dicho tamano seleccionado, comprendiendo ademas dicho dispositivo (200):
    un recuperador de informacion de la granularidad (250) configurado para recuperar, si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, la informacion de una granularidad jerarquica asociada a dicha presentacion codificada de la imagen (50), definiendo dicha granularidad jerarquica un nivel jerarquico para el alineamiento del borde del fragmento dentro de dicha imagen (1), definiendo dicho nivel jerarquico un tamano de una unidad de codificacion direccionable lo menor posible (30) en la cual se puede alinear un comienzo de un fragmento (3) en dicha imagen (1); y
    un determinador de la longitud (260) configurado para determinar una longitud de dicha direccion del fragmento con respecto al numero de bits basandose en dicha informacion de dicha granularidad jerarquica.
  15. 15. El dispositivo de acuerdo con la reivindicacion 14, que comprende ademas un recuperador de informacion de la unidad de codificacion (270) configurado para recuperar la informacion de un numero total de las mayores unidades de codificacion (10) en dicha imagen (1) de dicha representacion codificada de la imagen (50), en el que dicho determinador de la longitud (260) esta configurado para determinar dicha longitud de dicha direccion del fragmento basandose en dicha informacion de dicha granularidad jerarquica y basandose en dicho numero total de las mayores unidades de codificacion (10).
  16. 16. El dispositivo de acuerdo con cualquiera de las reivindicaciones 13 a 15, en el que dicho recuperador de la direccion (230) esta configurado para i) determinar, si dicho indicador del fragmento asociado a dicho fragmento (35) tiene dicho segundo valor definido, una primera representacion de las coordenadas de una posicion de la mayor unidad de codificacion (10) dentro de dicha imagen (1) basandose en dicha direccion del fragmento, ii) determinar, si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, una segunda representacion de las coordenadas de una posicion de una primera unidad de codificacion (30) de dicho fragmento (3) dentro de dicha mayor unidad de codificacion (10) y iii) identificar, dicha porcion de dicha imagen (1) basandose en dicha primera representacion y en dicha segunda representacion.
  17. 17. El dispositivo de acuerdo con la reivindicacion 16, en el que dicha imagen (1) comprende las multiples mayores unidades de codificacion (10), que tienen un valor seleccionado con respecto al numero de pfxeles y que pueden dividirse jerarquicamente en multiples unidades de codificacion (20, 30, 40) que tienen respectivos tamanos que son menores que dicho valor seleccionado, comprendiendo ademas dicho dispositivo (200):
    un recuperador de la informacion de la granularidad (250) configurado para recuperar, si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, la informacion de una granularidad jerarquica asociada a dicha presentacion codificada de la imagen (50), definiendo dicha granularidad jerarquica un nivel jerarquico para el alineamiento del borde del fragmento dentro de dicha imagen (1), definiendo dicho nivel jerarquico un tamano de una unidad de codificacion direccionable lo menor posible (30) en la cual se puede alinear un comienzo de un fragmento (3) en dicha imagen (1); y
    un determinador de la longitud (260) configurado para determinar una longitud de dicha direccion del fragmento con respecto al numero de bits basandose en dicha informacion de dicha granularidad jerarquica, en el que dicho recuperador de la longitud (230) esta configurado para determinar, si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, dicha primera representacion basada en dicha direccion del fragmento y dicha informacion de dicha granularidad jerarquica.
  18. 18. El dispositivo al acuerdo con la reivindicacion 16 o con la reivindicacion 17, en el que dicha imagen (1) comprende las multiples mayores unidades de codificacion (10), que tienen un tamano seleccionado con respecto al numero de pfxeles y que se pueden dividir jerarquicamente en multiples unidades de codificacion (20, 30, 40) teniendo respectivos tamanos que son menores que dicho valor seleccionado, comprendiendo ademas dicho dispositivo (200):
    un recuperador de la informacion de la granularidad (250) configurado para recuperar, si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, la informacion de una granularidad jerarquica asociada a dicha presentacion codificada de la imagen (50), definiendo dicha granularidad jerarquica un nivel jerarquico para el alineamiento del borde del fragmento dentro de dicha imagen (1), definiendo dicho nivel
    jerarquico un tamano de una unidad de codificacion direccionable lo menor posible (30) en la cual se puede alinear un comienzo de un fragmento (3) en dicha imagen(1), y
    un determinador de la longitud (260) configurado para determinar una longitud de dicha direccion del fragmento con respecto al numero de bits basandose en dicha informacion de dicha granularidad jerarquica, en el que dicho 5 recuperador de la longitud (230) esta configurado para determinar, si dicho indicador del fragmento asociado a dicho fragmento (3-5) tiene dicho segundo valor definido, dicha segunda representacion basada en dicha longitud del fragmento, dicha informacion de dicha granularidad jerarquica y dicha primera representacion.
  19. 19. Un terminal de medios (300) que comprende:
    una memoria (320) configurada para almacenar una representacion codificada (50) de una imagen (1) que 10 comprende multiples fragmentos (2-5) y que se compone de las multiples mayores unidades de codificacion (10) que tienen un tamano seleccionado con respecto al numero de pfxeles, y
    un dispositivo (200) para descodificar dicha representacion codificada (50) de acuerdo con cualquiera de las reivindicaciones 13 a 18.
ES11809949.8T 2010-07-21 2011-06-29 Codificación y descodificación de imágenes Active ES2600010T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US36621510P 2010-07-21 2010-07-21
US366215P 2010-07-21
PCT/SE2011/050876 WO2012011860A1 (en) 2010-07-21 2011-06-29 Picture coding and decoding

Publications (1)

Publication Number Publication Date
ES2600010T3 true ES2600010T3 (es) 2017-02-06

Family

ID=45497074

Family Applications (3)

Application Number Title Priority Date Filing Date
ES11809949.8T Active ES2600010T3 (es) 2010-07-21 2011-06-29 Codificación y descodificación de imágenes
ES18152959T Active ES2761891T3 (es) 2010-07-21 2011-06-29 Codificación y decodificación de imagen
ES19195406T Active ES2939484T3 (es) 2010-07-21 2011-06-29 Codificación y descodificación de imágenes

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES18152959T Active ES2761891T3 (es) 2010-07-21 2011-06-29 Codificación y decodificación de imagen
ES19195406T Active ES2939484T3 (es) 2010-07-21 2011-06-29 Codificación y descodificación de imágenes

Country Status (12)

Country Link
US (7) US8861587B2 (es)
EP (6) EP2596638A4 (es)
KR (2) KR101550112B1 (es)
CN (2) CN103119938B (es)
BR (1) BR112013001354B1 (es)
DK (1) DK2596640T3 (es)
ES (3) ES2600010T3 (es)
HK (1) HK1256921B (es)
PL (1) PL3618431T3 (es)
PT (1) PT2596640T (es)
RU (1) RU2580021C2 (es)
WO (3) WO2012011858A1 (es)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101495724B1 (ko) * 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
US8654860B2 (en) * 2010-11-01 2014-02-18 Mediatek Inc. Apparatus and method for high efficiency video coding using flexible slice structure
JP2012147127A (ja) * 2011-01-07 2012-08-02 Sony Corp 画像処理装置および方法
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US10440373B2 (en) 2011-07-12 2019-10-08 Texas Instruments Incorporated Method and apparatus for coding unit partitioning
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
KR20130050403A (ko) 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
KR102111768B1 (ko) * 2012-01-19 2020-05-15 삼성전자주식회사 계층적 부호화 단위에 따라 스캔 순서를 변경하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US10244246B2 (en) * 2012-02-02 2019-03-26 Texas Instruments Incorporated Sub-pictures for pixel rate balancing on multi-core platforms
KR20240038130A (ko) * 2012-02-04 2024-03-22 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
US9282328B2 (en) * 2012-02-10 2016-03-08 Broadcom Corporation Sample adaptive offset (SAO) in accordance with video coding
US9445088B2 (en) 2012-04-09 2016-09-13 Qualcomm Incorporated LCU-based adaptive loop filtering for video coding
US9838684B2 (en) * 2012-04-11 2017-12-05 Qualcomm Incorporated Wavefront parallel processing for video coding
US9979959B2 (en) 2012-04-20 2018-05-22 Qualcomm Incorporated Video coding with enhanced support for stream adaptation and splicing
US20130294524A1 (en) * 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
TWI535222B (zh) * 2012-06-29 2016-05-21 Sony Corp Image processing apparatus and method
US10331518B2 (en) * 2012-08-31 2019-06-25 International Business Machines Corporation Encoding data in a dispersed storage network
US11178407B2 (en) * 2012-11-19 2021-11-16 Texas Instruments Incorporated Adaptive coding unit (CU) partitioning based on image statistics
RU2651183C2 (ru) * 2012-11-30 2018-04-18 Сони Корпорейшн Устройство и способ обработки изображения
RU2608353C1 (ru) * 2013-01-04 2017-01-18 Самсунг Электроникс Ко., Лтд. Способ энтропийного кодирования сегмента слайса и устройство для него, и способ энтропийного декодирования сегмента слайса и устройство для него
US10129550B2 (en) * 2013-02-01 2018-11-13 Qualcomm Incorporated Inter-layer syntax prediction control
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
EP2984836B1 (en) 2013-04-08 2024-06-12 Dolby International AB Method for encoding and method for decoding a lut and corresponding devices
US10116933B2 (en) * 2013-10-14 2018-10-30 Mediatek Inc. Method of lossless mode signaling for video system with lossless and lossy coding
CN103813169B (zh) * 2014-02-19 2017-07-21 北京大学 视频编解码器中可伸缩的对象表示方法和装置
KR20150128151A (ko) * 2014-05-08 2015-11-18 삼성전자주식회사 비디오 스트리밍 방법 및 이를 지원하는 전자 장치
US9690520B2 (en) * 2014-06-30 2017-06-27 International Business Machines Corporation Recovering an encoded data slice in a dispersed storage network
US9706210B2 (en) 2014-11-07 2017-07-11 Qualcomm Incorporated Low complexity coding based on dynamic mode decision branching for largest coding units
US9654782B2 (en) 2014-11-07 2017-05-16 Qualcomm Incorporated Low complexity coding based on dynamic mode decision branching
US9772849B2 (en) 2014-11-14 2017-09-26 Intel Corporation Four-dimensional morton coordinate conversion processors, methods, systems, and instructions
US9772848B2 (en) 2014-11-14 2017-09-26 Intel Corporation Three-dimensional morton coordinate conversion processors, methods, systems, and instructions
US9772850B2 (en) * 2014-11-14 2017-09-26 Intel Corporation Morton coordinate adjustment processors, methods, systems, and instructions
CN105992000B (zh) * 2015-03-06 2019-03-22 扬智科技股份有限公司 影像流的处理方法及其影像处理装置
WO2016153251A1 (ko) * 2015-03-23 2016-09-29 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
CN105141957B (zh) * 2015-07-31 2019-03-15 广东中星电子有限公司 图像和视频数据编解码的方法和设备
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
JP7052732B2 (ja) * 2016-12-27 2022-04-12 ソニーグループ株式会社 画像処理装置および方法
JP6854716B2 (ja) * 2017-07-05 2021-04-07 キヤノン株式会社 画像処理装置、画像処理方法
JP6936641B2 (ja) 2017-07-05 2021-09-22 キヤノン株式会社 画像処理装置、画像処理方法
US10740824B2 (en) * 2018-03-15 2020-08-11 Amadeus S.A.S. Product delivery system and method
KR20240042149A (ko) * 2018-12-31 2024-04-01 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 인코더, 비디오 디코더 및 상응하는 방법들
US11725412B2 (en) 2021-06-10 2023-08-15 Mohamad Dawas Chemical storage tank assembly

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10218631A (ja) * 1997-01-31 1998-08-18 Asahi Glass Co Ltd ガラス物品の徐冷方法及びその装置
US6078328A (en) * 1998-06-08 2000-06-20 Digital Video Express, Lp Compressed video graphics system and methodology
US6651252B1 (en) * 1999-10-27 2003-11-18 Diva Systems Corporation Method and apparatus for transmitting video and graphics in a compressed form
US6931660B1 (en) * 2000-01-28 2005-08-16 Opentv, Inc. Interactive television system and method for simultaneous transmission and rendering of multiple MPEG-encoded video streams
PT1262068E (pt) * 2000-01-28 2015-12-28 Opentv Inc Sistema de televisão interativa e método para a transmissão e processamento em simultâneo de múltiplos fluxos de vídeo codificados
JP2002223449A (ja) * 2001-01-29 2002-08-09 Mitsubishi Electric Corp 画像圧縮符号化装置及び画像圧縮符号化方法
KR100763178B1 (ko) * 2005-03-04 2007-10-04 삼성전자주식회사 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치
BRPI0608004B1 (pt) 2006-03-22 2019-08-27 Fraunhofer Ges Forschung esquema de codificação permitindo escalabilidade de precisão
WO2008027192A2 (en) * 2006-08-25 2008-03-06 Thomson Licensing Methods and apparatus for reduced resolution partitioning
US8121197B2 (en) * 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
CN101939994B (zh) * 2008-12-08 2013-07-17 松下电器产业株式会社 图像解码装置及图像解码方法
JP5233897B2 (ja) * 2009-07-31 2013-07-10 ソニー株式会社 画像処理装置および方法
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
US8879619B2 (en) * 2010-07-15 2014-11-04 Sharp Laboratories Of America, Inc. Method of parallel video coding based on scan order
US20120014441A1 (en) * 2010-07-15 2012-01-19 Sharp Laboratories Of America, Inc. Parallel video coding based on boundaries
US9313514B2 (en) * 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US8654860B2 (en) * 2010-11-01 2014-02-18 Mediatek Inc. Apparatus and method for high efficiency video coding using flexible slice structure

Also Published As

Publication number Publication date
EP3104602A1 (en) 2016-12-14
KR20130095252A (ko) 2013-08-27
US20130003868A1 (en) 2013-01-03
US9937393B2 (en) 2018-04-10
HK1256921B (zh) 2020-06-12
EP2596638A1 (en) 2013-05-29
EP2596639A4 (en) 2014-10-15
EP3618431B1 (en) 2023-01-18
US8861615B2 (en) 2014-10-14
WO2012011860A1 (en) 2012-01-26
ES2939484T3 (es) 2023-04-24
WO2012011859A1 (en) 2012-01-26
BR112013001354B1 (pt) 2022-03-29
EP3334155A1 (en) 2018-06-13
CN103119938B (zh) 2016-09-14
BR112013001354A2 (pt) 2016-05-17
CN107105299A (zh) 2017-08-29
US8861587B2 (en) 2014-10-14
EP2596640A4 (en) 2014-10-15
DK2596640T3 (en) 2016-12-05
RU2580021C2 (ru) 2016-04-10
US20200009428A1 (en) 2020-01-09
KR101690400B1 (ko) 2016-12-27
EP3334155B1 (en) 2019-09-18
US20120140832A1 (en) 2012-06-07
WO2012011858A1 (en) 2012-01-26
CN103119938A (zh) 2013-05-22
EP3618431A1 (en) 2020-03-04
PL3618431T3 (pl) 2023-05-29
EP2596640A1 (en) 2013-05-29
US10974107B2 (en) 2021-04-13
RU2013107605A (ru) 2014-10-20
PT2596640T (pt) 2016-11-15
KR101550112B1 (ko) 2015-09-11
KR20140126416A (ko) 2014-10-30
EP2596640B1 (en) 2016-08-10
ES2761891T3 (es) 2020-05-21
US20180056149A1 (en) 2018-03-01
US20140362912A1 (en) 2014-12-11
US20210197035A1 (en) 2021-07-01
EP2596638A4 (en) 2014-10-15
CN107105299B (zh) 2020-05-22
EP3104602B1 (en) 2018-05-09
US20120287993A1 (en) 2012-11-15
EP2596639A1 (en) 2013-05-29
EP2596639B1 (en) 2016-06-22
US10456635B2 (en) 2019-10-29
US11524214B2 (en) 2022-12-13
US8923394B2 (en) 2014-12-30

Similar Documents

Publication Publication Date Title
ES2600010T3 (es) Codificación y descodificación de imágenes
ES2811234T3 (es) Método para segmentación de imágenes usando columnas
ES2337612T3 (es) Codificacion y descodificacion de patrones de bloques codificados con prediccion espacial.
US9167253B2 (en) Derivation of the position in scan order of the last significant transform coefficient in video coding
ES2633947T3 (es) Predicción de paletas en la codificación de vídeo basada en paleta
ES2714756T3 (es) Señalización de imágenes de referencia
ES2884723T3 (es) Señalización de regiones de interés y actualización de decodificación gradual en la codificación de video
ES2914871T3 (es) Rastreo de una imagen de referencia en base a una imagen designada en un dispositivo electrónico