ES2731755T3 - Reducción de la sobrecarga de señal de conjunto de imágenes de referencia y señalización para mantener o no las imágenes de referencia - Google Patents

Reducción de la sobrecarga de señal de conjunto de imágenes de referencia y señalización para mantener o no las imágenes de referencia Download PDF

Info

Publication number
ES2731755T3
ES2731755T3 ES13738630T ES13738630T ES2731755T3 ES 2731755 T3 ES2731755 T3 ES 2731755T3 ES 13738630 T ES13738630 T ES 13738630T ES 13738630 T ES13738630 T ES 13738630T ES 2731755 T3 ES2731755 T3 ES 2731755T3
Authority
ES
Spain
Prior art keywords
rps
image
electronic device
images
negative
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
ES13738630T
Other languages
English (en)
Inventor
Jie Zhao
Christopher A Segall
Sachin G Deshpande
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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
Priority claimed from US13/354,277 external-priority patent/US8693793B2/en
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2731755T3 publication Critical patent/ES2731755T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • 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/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/423Methods 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 characterised by memory 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • 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/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/176Methods 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 block, e.g. a macroblock
    • 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/184Methods 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 bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un procedimiento para descodificar un flujo de bits de video, que comprende: identificar un conjunto de imágenes de referencia, RPS, desde dicho flujo de bits; y descodificar dicho flujo de bits de video utilizando inter-predicción con dicho conjunto de imágenes de referencia; en el que el procedimiento está caracterizado por recibir una indicación solamente para imágenes de referencia negativas del conjunto de imágenes de referencia de una imagen actual después de que se ha recibido una nueva imagen de acceso aleatorio limpio, CRA, o de actualización instantánea de la descodificación, IDR, en que la indicación se recibe en una cabecera de segmento y comprende un campo de bits para cada imagen de referencia negativa, que indica para la respectiva imagen de referencia negativa si esta se debe o no mantener para la descodificación de imágenes subsiguientes en un orden de descodificación, donde la imagen de referencia negativa tiene un contador ordenado de imágenes menor que el de la imagen actual; y descodificar las imágenes subsiguientes en un orden de descodificación utilizando inter-predicción con las imágenes de referencia mantenidas.

Description

DESCRIPCIÓN
Reducción de la sobrecarga de señal de conjunto de imágenes de referencia y señalización para mantener o no las imágenes de referencia
[Sector técnico]
La presente invención se refiere, en general, a dispositivos electrónicos. Más específicamente, la presente invención se refiere a reducir la sobrecarga de señal de un conjunto de imágenes de referencia en un dispositivo electrónico. La presente invención se refiere a la descodificación de una imagen en base a un conjunto de imágenes de referencia en un dispositivo electrónico.
[Técnica anterior]
Los dispositivos electrónicos se han hecho más pequeños y más potentes para satisfacer las necesidades de los consumidores y mejorar la portabilidad y la comodidad. Los consumidores se han hecho dependientes de los dispositivos electrónicos y esperan una funcionalidad incrementada. Algunos ejemplos de dispositivos electrónicos incluyen ordenadores de sobremesa, ordenadores portátiles, teléfonos celulares, teléfonos inteligentes, reproductores multimedia, circuitos integrados, etc.
Algunos dispositivos electrónicos se utilizan para procesar y visualizar medios digitales. Por ejemplo, los dispositivos electrónicos portátiles permiten ahora consumir medios digitales en casi cualquier ubicación en que se pueda encontrar un consumidor. Además, algunos dispositivos electrónicos pueden proporcionar la descarga o transmisión continua de contenido de medios digitales para uso y disfrute de un consumidor.
TAN T K et al, en el documento "AHG21: inter reference picture set prediction syntax and semantics", encuentro MPEG 98; 28/11/2011 a 2/12/2011; Ginebra; (grupo de expertos de imágenes en movimiento o ISO/IEC JTC1/SC29/WG11), número m21755, 24 de noviembre de 2011 (24/11/2011), XP030050318, da a conocer una sintaxis y una semántica de inter-predicción de conjunto de imágenes de referencia, cuyas referencias predicen los valores APOC utilizando los valores APOC de un conjunto de imágenes de referencia ya presente en el PPS (ver título y resumen). TAN T K et al. dan a conocer asimismo, en la sección de introducción en la página 1, en un típico esquema de codificación de video con múltiples imágenes de referencia, que una imagen de referencia en la memoria tampón de imágenes descodificadas es utilizada probablemente para inter-predicción de cuadros, probablemente por varias imágenes diferentes. En este documento, estas imágenes de referencia se denominan imágenes de referencia recurrentes. En el caso de imágenes de referencia recurrentes, en lugar de señalizar el contador ordenado de imágenes (POC, picture order count) de las imágenes de referencia con respecto a la imagen actual (APOC), lo cual puede consumir muchos bits, la información tiene que ser copiada o predicha a partir de una plantilla de conjunto de imágenes de referencia que ha sido ya descodificada. Esto se denomina inter-predicción de conjunto de imágenes de referencia.
BOYCE J et al., en el documento "BoG report on reference picture buffering and list construction", encuentro MPEG 98; 28/11/2011 a 2/12/2011; Ginebra; (grupo de expertos de imágenes en movimiento o ISO/IEC JTC1/SC29/WG11), número m22756, 25 de noviembre de 2011 (25/11/2011), XP030051319, dan a conocer en la sección 3.1.2 de la página 3 que un conjunto de imágenes de referencia parcial se codifica mediante: un indicador para cada imagen de referencia en el RPS anterior que indica si mantenerlo o eliminarlo. Introducen los elementos de sintaxis num_full_ref_pic_sets y num_partial_ref_pic_sets. Un bucle 'while' obtiene conjuntos de imágenes de referencia parciales a partir de los conjuntos de imágenes de referencia completos. Hendry et al., en "Random Access Detection and Notification", encuentro 7 JCT-VC; encuentro MPEG 98; 21/11/2011 a 30/11/2011; Ginebra; (equipo colaborativo conjunto sobre codificación de video de ISO/IEC JTC1/SC29/WG11 e ITU-T SG.16); URL: http://wftp3.itu.int/av-arch/jctvc-site/, XP030110143, dan a conocer tratar imágenes principales cuando se produce acceso aleatorio.
[Resumen de la invención]
[Problema técnico]
La creciente popularidad de los medios digitales ha planteado varios problemas. Por ejemplo, representar eficientemente medios digitales de alta calidad para almacenamiento, transmisión y reproducción plantea varios desafíos. Como se puede observar a partir de esta explicación, pueden ser beneficiosos sistemas y procedimientos que representen medios digitales de manera más eficiente.
[Solución al problema]
De acuerdo con la presente invención, se dan a conocer procedimientos según las reivindicaciones 1 y 3, y un dispositivo electrónico según la reivindicación 5.
[Resultados ventajosos de la invención]
Los anteriores y otros objetivos, características y ventajas de la invención se comprenderán más fácilmente tras considerar la siguiente descripción detallada de la invención, tomada junto con los dibujos adjuntos.
[Breve descripción de los dibujos]
La figura 1 es un diagrama de bloques que muestra un ejemplo de uno o varios dispositivos electrónicos en los que se pueden implementar sistemas y procedimientos para reducir la sobrecarga de señal de un conjunto de imágenes de referencia (RPS, reference picture set);
la figura 2 es un diagrama de bloques que muestra una configuración de un grupo de imágenes (GOP, group of pictures);
la figura 3 es un diagrama de bloques que muestra una configuración de un codificador en un dispositivo electrónico; la figura 4 es un diagrama de flujo que muestra una configuración de un procedimiento para reducir la sobrecarga de señal RPS en un dispositivo electrónico;
la figura 5 es un diagrama de flujo que muestra una configuración más específica de un procedimiento para reducir la sobrecarga de señal RPS en un dispositivo electrónico;
la figura 6 es un diagrama de flujo que muestra otra configuración más específica de un procedimiento para reducir la sobrecarga de señal RPS en un dispositivo electrónico;
la figura 7 es un diagrama de bloques que muestra una configuración de un descodificador en un dispositivo electrónico;
la figura 8 es un diagrama de flujo que muestra una configuración de un procedimiento para reducir la sobrecarga de señal RPS en un dispositivo electrónico;
la figura 9 es un diagrama de flujo que muestra una configuración de un procedimiento para obtener un RPS parcial en un dispositivo electrónico;
la figura 10 es un diagrama de flujo que muestra una configuración de un procedimiento para obtener una plantilla RPS en un dispositivo electrónico;
la figura 11 es un diagrama de flujo que muestra una configuración de un procedimiento para crear una indicación para eliminar por lo menos una imagen de referencia en un dispositivo electrónico;
la figura 12 es un diagrama de flujo que muestra una configuración de un procedimiento para eliminar por lo menos una imagen de referencia en un dispositivo electrónico;
la figura 13 muestra varios componentes que pueden ser utilizados en un dispositivo electrónico;
la figura 14 es un diagrama de flujo que muestra una configuración de un procedimiento para descodificar una imagen en un dispositivo electrónico;
la figura 15 es un diagrama de flujo que muestra una configuración más específica de un procedimiento para descodificar una imagen en un dispositivo electrónico; y
la figura 16 es un diagrama de flujo que muestra otra configuración más específica de un procedimiento para descodificar una imagen en un dispositivo electrónico.
[Descripción de realizaciones]
Se describe un procedimiento para reducir la sobrecarga de señal en un dispositivo electrónico. El procedimiento incluye la obtención de una imagen. El procedimiento incluye asimismo la codificación de la imagen. El procedimiento incluye además indicar un conjunto de imágenes de referencia (RPS) correspondiente a la imagen, en base a un valor de índice inicializado. Además, el procedimiento incluye enviar un flujo de bits.
El procedimiento puede incluir asimismo enviar una indicación para eliminar por lo menos una imagen de referencia enumerada en un RPS proporcionado anteriormente. La indicación para eliminar por lo menos una entrada de imagen de referencia en un RPS proporcionado anteriormente puede incluir un indicador en un conjunto de parámetros de imagen (PPS, picture parameter set) y un campo de bits en una cabecera de segmento de una imagen. La indicación para eliminar por lo menos una entrada de imagen de referencia en un RPS proporcionado anteriormente puede incluir un campo de bits en una cabecera de segmento de una imagen.
Indicar el RPS puede incluir procesar una serie de imágenes correspondientes, por lo menos, a un valor de índice positivo. El valor de índice puede estar basado en un parámetro de RPS negativo relativo. Procesar el número de imágenes se puede omitir cuando el valor de índice está inicializado.
Se describe asimismo un dispositivo electrónico configurado para reducir la sobrecarga de señal. El dispositivo electrónico incluye un procesador e instrucciones ejecutables almacenadas en memoria que está en comunicación electrónica con el procesador. El dispositivo electrónico obtiene una imagen. El dispositivo electrónico codifica adicionalmente la imagen. El dispositivo electrónico indica además un conjunto de imágenes de referencia (RPS) correspondiente a la imagen, en base a un valor de índice inicializado. El dispositivo electrónico envía asimismo un flujo de bits.
Se describe asimismo un procedimiento para descodificar una imagen en un dispositivo electrónico. El procedimiento incluye obtener un flujo de bits. El procedimiento incluye adicionalmente obtener un grupo de imágenes (GOP) en base al flujo de bits. El procedimiento incluye asimismo obtener un conjunto de imágenes de referencia (RPS) parcial a partir de un RPS completo, en base, por lo menos, a un valor de índice relativo. Además, el procedimiento incluye descodificar una imagen.
Obtener un RPS parcial puede incluir iterar sobre cada imagen en el GOP. Obtener un RPS parcial puede incluir asimismo identificar una imagen actual. Dicho por lo menos un valor de índice relativo puede corresponder a la imagen actual. Obtener un RPS parcial puede incluir además iterar sobre dicho por lo menos un valor de índice relativo dentro del RPS completo de la imagen actual. Obtener un RPS parcial puede incluir adicionalmente determinar si una imagen de referencia está disponible para dicho por lo menos un valor de índice relativo y añadir la imagen al RPS parcial si la imagen de referencia está disponible.
El procedimiento puede incluir asimismo evaluar el RPS parcial e introducir una imagen adicional. El procedimiento puede incluir adicionalmente crear una plantilla RPS. Crear la plantilla RPS se puede basar en un tamaño de GOP, en una estructura de codificación y en reglas obtenidas a partir del flujo de bits. Las reglas pueden establecer capas temporales y la estructura de codificación puede ser una estructura de codificación de acceso aleatorio y/o una estructura de codificación de bajo retardo. Un indicador puede asimismo indicar crear la plantilla RPS.
Se describe asimismo un dispositivo electrónico configurado para descodificar una imagen. El dispositivo electrónico incluye un procesador e instrucciones ejecutables almacenadas en memoria que está en comunicación electrónica con el procesador. El dispositivo electrónico obtiene un flujo de bits. El dispositivo electrónico obtiene adicionalmente un grupo de imágenes (GOP) en base al flujo de bits. El dispositivo electrónico obtiene además un conjunto de imágenes de referencia (RPS) parcial a partir del RPS completo, basándose por lo menos en un valor de índice relativo. El dispositivo electrónico descodifica asimismo una imagen.
Se describe asimismo un procedimiento para eliminar un conjunto de imágenes de referencia (RPS) en un dispositivo electrónico. El procedimiento incluye obtener una indicación para eliminar por lo menos una imagen de referencia enumerada en un RPS obtenido anteriormente. El procedimiento incluye adicionalmente eliminar dicha por lo menos una imagen de referencia en el RPS obtenido anteriormente.
El procedimiento puede incluir asimismo detectar una imagen faltante en el RPS. El procedimiento puede incluir asimismo enviar retroalimentación que indica una imagen faltante. La indicación puede incluir un indicador en un conjunto de parámetros de imagen (PPS) y un campo de bits en una cabecera de segmento de una imagen. La indicación puede incluir un campo de bits en una cabecera de segmento de una imagen.
Se describe asimismo un dispositivo electrónico para eliminar un conjunto de imágenes de referencia (RPS). El dispositivo electrónico incluye un procesador e instrucciones ejecutables almacenadas en memoria que está en comunicación electrónica con el procesador. El dispositivo electrónico obtiene una indicación para eliminar por lo menos una imagen de referencia enumerada en un RPS obtenido anteriormente. El dispositivo electrónico elimina asimismo dicha por lo menos una imagen de referencia en el RPS obtenido anteriormente.
Se describe un procedimiento para descodificar una imagen en un dispositivo electrónico. El procedimiento incluye obtener un flujo de bits. El procedimiento incluye asimismo obtener una imagen actual. El procedimiento incluye además obtener un parámetro de conjunto de imágenes de referencia (RPS) relativo. El procedimiento incluye adicionalmente inicializar un valor de índice. Además, el procedimiento incluye procesar otro parámetro de RPS en base al valor de índice. El procedimiento incluye asimismo descodificar la imagen actual.
El parámetro de RPS relativo puede ser un parámetro de RPS relativo negativo y el otro parámetro de RPS puede ser un parámetro de RPS positivo. Inicializar el valor de índice se puede basar en el parámetro de RPS negativo relativo. El valor de índice se puede inicializar a un valor absoluto de un parámetro de RPS mínimo.
El procedimiento puede incluir asimismo obtener un indicador simétrico. El indicador simétrico puede indicar que el parámetro de RPS negativo relativo corresponde al parámetro de RPS positivo.
Inicializar el valor de índice se puede basar en el parámetro de RPS negativo relativo y el indicador simétrico. El valor de índice se puede inicializar al valor absoluto de un parámetro de RPS mínimo.
Procesar el parámetro de RPS positivo puede incluir omitir el procesamiento de por lo menos un parámetro de RPS positivo cuando el valor de índice puede ser inicializado. Procesar el parámetro de RPS positivo puede incluir generar el parámetro de RPS positivo.
El parámetro de RPS negativo se puede obtener a partir de un conjunto de parámetros de imagen (PPS). El parámetro de RPS relativo puede ser un parámetro de RPS relativo positivo y el otro parámetro de RPS puede ser un parámetro de RPS negativo.
Se describe asimismo un dispositivo electrónico configurado para descodificar una imagen. El dispositivo electrónico incluye un procesador e instrucciones ejecutables almacenadas en memoria que está en comunicación electrónica con el procesador. El dispositivo electrónico obtiene un flujo de bits. El dispositivo electrónico obtiene adicionalmente una imagen actual. El dispositivo electrónico obtiene además un parámetro de conjunto de imágenes de referencia (RPS) relativo. El dispositivo electrónico inicializa asimismo un valor de índice. Además, el dispositivo electrónico procesa otro parámetro de RPS en base al valor de índice. El dispositivo electrónico descodifica asimismo la imagen actual.
Los sistemas y procedimientos dados a conocer en la presente memoria describen varias configuraciones para reducir la sobrecarga de señal de conjunto de imágenes de referencia (RPS) en un dispositivo electrónico. Por ejemplo, los sistemas y procedimientos dados a conocer en la presente memoria describen la codificación y descodificación de un RPS. Por ejemplo, se describen varios enfoques para descodificar un RPS. Adicionalmente, se describen asimismo enfoques para codificar un RPS con el fin de conseguir una sobrecarga de señal reducida. Un RPS es un conjunto de imágenes de referencia asociadas con una imagen. Un RPS puede incluir imágenes de referencia que son anteriores a la imagen asociada en el orden de descodificación que pueden ser utilizadas para inter-predicción de la imagen asociada y/o para cualquier imagen posterior a la imagen asociada en orden de descodificación. Un RPS describe una o varias imágenes de referencia en la memoria tampón de imágenes descodificadas (DPB, decoded picture buffer). Esto se consigue en la cabecera de segmento de cada imagen. Los estándares de codificación de video anteriores, tales como H.264/AVC, hacían referencia a imágenes de referencia de manera relativa. Cualesquiera imágenes en la DPB que no son parte del conjunto de imágenes de referencia se pueden marcar como "no utilizada como referencia".
Una DPB puede ser utilizada para almacenar imágenes reconstruidas (por ejemplo, descodificadas) en un descodificador. Estas imágenes almacenadas pueden ser utilizadas a continuación, por ejemplo, en un mecanismo de inter-predicción. Cuando las imágenes son descodificadas de manera desordenada, las imágenes pueden ser almacenadas en la DPB de manera que se pueden visualizar posteriormente ordenadas. Asimismo, una imagen en la DPB puede estar asociada con un contador ordenado de imágenes (POC). El POC puede ser una variable que está asociada con cada imagen codificada y que tiene un valor que aumenta al aumentar la posición de la imagen en el orden de salida. En otras palabras, el POC puede ser utilizado por el descodificador para entregar las imágenes en orden correcto de visualización. El POC puede ser utilizado asimismo para la identificación de imágenes de referencia durante la construcción de listas de imágenes de referencia y el marcado de imágenes de referencia descodificadas.
En algunas configuraciones, se hace referencia las imágenes de referencia utilizando referencia relativa (por ejemplo, delta) (utilizando un deltaPOC y un currentPOC, por ejemplo) o referencia absoluta (utilizando el POC, por ejemplo). Por ejemplo, la DPB puede contener un conjunto de imágenes recibidas. Un subconjunto de estas imágenes recibidas puede utilizar referencia relativa (por ejemplo, delta) y las presentes imágenes recibidas pueden utilizar referencia absoluta. Se debe observar que una o varias de las configuraciones de descripciones de memoria tampón y sintaxis descritas en la presente memoria se pueden implementar en combinación con uno o varios de los enfoques (por ejemplo, procedimientos) descritos en la presente memoria.
Un RPS puede contener una lista de información de todas las imágenes de referencia que el descodificador puede mantener. Por ejemplo, esta información se puede almacenar como un conjunto de índices denominados deltaPOC. Un deltaPOC puede ser utilizado para calcular el POC de una imagen de referencia. Por ejemplo, POC_referencia = POC_actual deltaPOC. En otras palabras, utilizando el POC actual de la imagen a descodificar y el deltaPOC de una imagen de referencia, la imagen de referencia se puede localizar de manera relativa. Adicionalmente, un RPS puede almacenar un ID temporal para cada imagen de referencia y/o un indicador que indica si la imagen de referencia particular es utilizada por la imagen actual.
Sigue un ejemplo de cómo trabaja un RPS en un dispositivo electrónico. Se supone que se recibe una imagen intracuadro (cuadro I) seguida por dos imágenes predichas bidireccionales (cuadro B), seguidas a continuación por dos imágenes predichas bidireccionales (cuadro b). Un cuadro B es una imagen predicha bidireccional que es utilizada para predicción por otras imágenes. Un cuadro b es una imagen predicha bidireccional que no es utilizada para predicción por otras imágenes.
En otras palabras, el orden de recepción de las imágenes es b-BrB2-brb2. En este ejemplo, el tamaño de GOP es 4.
Se supone además que el cuadro I tiene un POC de 0, el primer cuadro b recibido tiene un POC de 1, el segundo cuadro B recibido tiene un POC de 2, el segundo cuadro b recibido tiene un POC de 3 y el primer cuadro B recibido tiene un POC de 4. En otras palabras, el orden de POC es I0-b1-B2-b2-B1. Adicionalmente, se supone que el cuadro I sirve como una imagen de referencia para B1, B2 y b1; B1 sirve como una imagen de referencia para B2 y d2; y B2 sirve como una imagen de referencia para b1 y b2.
En este ejemplo, la segunda imagen en el orden de descodificación (por ejemplo, imagen Bi/POC 4) incluirá la imagen de pOc 0 (por ejemplo, I0) en su RPS. Para almacenar Io/POC 0, B1 puede escribir deltaPOC = -4 en su valor de índice de RPS. En otras palabras, la diferencia del POC de referencia con respecto al POC actual se almacena en el RPS como un valor de índice.
La tercera imagen en el orden de descodificación (es decir, la imagen B2/POC 2) incluirá imágenes de POC 0 y POC 4 (por ejemplo, Bi) en su RPS. Por lo tanto, los valores de índice de deltaPOC = -2 y 2 se almacenan en su RpS. Siguiendo con el ejemplo, la cuarta imagen en el orden de descodificación (es decir, imagen bi/POC 1) puede incluir ambas imágenes de POC 0 (por ejemplo, I0) y POC 2 (por ejemplo, B2) en su RPS. Además, b2/POC 1 puede incluir asimismo POC 4 (por ejemplo, B1), dado que la imagen será utilizada para referencia en el futuro. En este caso, los deltaPOC -1, 1,3 se almacenan en su RPS. Se debe observar que se pueden almacenar deltaPOC tanto positivos como negativos en un RPS.
Terminando con este ejemplo, la quinta imagen en el orden de descodificación (es decir, la imagen b2/POC 3) puede incluir imágenes de pOc 2 (por ejemplo, B2) y POC 4 (por ejemplo, B1) en su RPS. Por lo tanto, deltaPOC -1 y 1 son los valores relativos almacenados en el RPS de b1 como valores de índice. Se puede comprobar asimismo que b1 no tiene que incluir POC 0 (por ejemplo, I0) en su RPS salvo que Io vaya ser utilizado para referencia en el futuro. Si POC 0 (por ejemplo, I0) no está incluido en el RPS de b1, se puede marcar como "no utilizado como referencia". Una vez que un RPS ha sido numerado y construido, está preparado para ser señalizado. Existen varias maneras de señalizar un RPS. De acuerdo con un enfoque, un conjunto de plantillas asociadas con manipulación de RPS son señalizadas en el conjunto de parámetros de imagen (PPS) y referenciadas desde cada segmento con un índice RPS en una cabecera de segmento. En otro procedimiento, un RPS puede ser señalizado explícitamente en una cabecera de segmento.
El listado (1) siguiente muestra un ejemplo de síntesis para señalizar el RPS en el PPS.
[Listado 1]
Figure imgf000006_0001
'partial_ref_pic_set_flag[i]' indica utilizar RPS[i] completo para generar un RPS parcial. Ref_flag especifica qué índice de referencia del RPS[i] completo se copia en el RPS parcial.
'seq_parameter_set_id' identifica el conjunto de parámetros de secuencia al que hace referencia el conjunto de parámetros de imagen. El valor de seq_parameter_set_id deberá estar en el intervalo de 0 a 31, incluidos.
'pic_parameter_set_id' identifica el conjunto de parámetros de imagen al que se hace referencia en la cabecera de segmento. El valor de pic_parameter_set_id deberá estar en el intervalo de 0 a 255, incluidos. 'entropy_coding_mode_fLag' indica el procedimiento de descodificación de entropía a aplicar para los elementos de sintaxis.
'num_ref_pic_sets' especifica el número de conjuntos de imágenes de referencia que se especifican en el conjunto de parámetros de imagen. 'num_negative_pics' especifica el número de siguientes elementos de sintaxis delta_poc_s0_minus1[i] y used_by_curr_pic_s0_flag[i]. 'num_positive_pics' especifica el número de siguientes elementos de sintaxis delta_poc_s1_minus1[i] y used_by_curr_pic_s1_flag[i]. 'delta_poc_s0_minus1[i]' más 1 especifica la diferencia absoluta entre dos valores de contador ordenado de imágenes.
'used_by_curr_pic_s0_flag[i]' igual a 0 especifica que la i-ésima imagen de referencia que tiene un contador ordenado de imágenes menor que el de la imagen actual no es utilizada como referencia por la imagen actual. 'delta_poc_s1_minus1[i]' más 1 especifica la diferencia absoluta entre dos valores de contador ordenado de imágenes. 'used_by_curr_pic_s1_flag[i]' igual a 0 especifica que la i-ésima imagen de referencia que tiene un contador ordenado de imágenes mayor que el de la imagen actual no es utilizada como referencia por la imagen actual.
Se debe observar que las definiciones proporcionadas para parámetros utilizados en el listado (1) se pueden aplicar a todos los listados proporcionados en la presente memoria. Además, las definiciones de parámetros proporcionadas en listados subsiguientes pueden aplicar asimismo a listados enunciados anteriormente.
El listado (2) muestra un ejemplo de sintaxis para señalizar el RPS en una cabecera de segmento.
[Listado 2]
Figure imgf000007_0001
'ref_pic_set_pps_flag' igual a 1 especifica que el conjunto de imágenes de referencia de la imagen actual se deberá crear utilizando elementos de sintaxis en el conjunto activo de parámetros de imagen. ref_pic_set_pps_flag igual a 0 especifica que el conjunto de imágenes de referencia de la imagen actual se deberá crear utilizando elementos de sintaxis en la estructura de sintaxis ref_pic_set( ) en la cabecera de segmento.
'ref_pic_set_pps_idx' especifica el índice para la lista de conjuntos de imágenes de referencia que se especifica en el conjunto activo de parámetros de imagen que se deberá utilizar para la creación de conjuntos de imágenes de referencia de la imagen actual.
Además, se pueden señalizar plantillas RPS a un descodificador para ayudar a la descodificación de una imagen. Las plantillas pueden ser para una condición de prueba común de acceso aleatorio donde ocho imágenes están agrupadas conjuntamente (por ejemplo, grupo de imágenes (GOP)). La siguiente tabla (1) muestra una plantilla RPS para condición de prueba común de acceso aleatorio (GOP = 8). Algunos términos se han abreviado por conveniencia en las tablas (1) a (4). Estos términos están abreviados como sigue: Temporal_id (TId), ref_buf_size (RBS) y valores de índice de RPS (valores de índice de RPS).
[Tabla 1]
Figure imgf000008_0001
Tabla (1)
En la tabla (1), Tipo significa el tipo de cuadro utilizado. En este caso, todos los cuadros son cuadros B. Obsérvese que el cuadro 0, que no se muestra, es un cuadro I. En la tabla (1), Temporal_id (TId) especifica el ID de capa temporal de este cuadro, ref_buf_size (RBS) es el tamaño de memoria tampón de referencia requerido por la imagen actual, ref_pic indica si el cuadro es una imagen de referencia para otras imágenes, Idx es el número de imágenes de referencia, y valores de índice de RPS (valores Idx de RPS) representa los valores de índice de las imágenes de referencia almacenadas en cada RPS para cada correspondiente cuadro.
Se puede generar un RPS parcial adicional para cuadros que tienen una o varias imágenes de referencia no disponibles, debido a actualización instantánea de la descodificación (IDR, instantaneous decoding refresh) o a acceso aleatorio limpio (CRA, clean random access). La tabla (2) muestra una plantilla para un RPS parcial generado para una condición de prueba común de acceso aleatorio.
[Tabla 2]
Figure imgf000008_0002
Tabla (2)
Un RPS parcial se puede crear a partir de un RPS completo. En la tabla (1), el índice de RPS para el cuadro 1 es -8, -10, -12 y -16. El índice de RPS para el RPS parcial para el cuadro 1 en la tabla (2) es solamente -8. Análogamente, los cuadros 2 y 3 en el RPS parcial tienen un número menor de imágenes de referencia en la tabla 2 que en el RPS completo mostrado en la tabla (1). Por lo tanto, en este ejemplo, un RPS parcial contiene menos valores de índice de RPS por cuadro que un RPS completo.
La tabla (3) muestra la plantilla para una condición de prueba común de bajo retardo, donde GOP es igual a 4.
[Tabla 3]
Figure imgf000009_0002
Tabla (3)
En la tabla (3), cada GOP tiene cuatro imágenes. En la plantilla, existen asimismo cuatro RPS que se corresponden a imágenes en cada posición de POC:
RPS[0], que tiene valores de índice de [-1,-5,-9,-13] para POC 1;
RPS[1], que tiene valores de índice de [-1 -2 -6 -10] para POC 2;
RPS[2], que tiene valores de índice de [-1,-3,-7,-11] para POC 3; y
RPS[3], que tiene valores de índice de [-1,-4,-8,-12] para POC 4;
para una secuencia de 0, 1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, etc.
La tabla (4) muestra una plantilla para un RPS parcial generado por una condición de prueba común de bajo retardo. La tabla (4) es continuación de la tabla (3).
[Tabla 4]
Figure imgf000009_0001
Tabla (4)
En la tabla (4) se generan referencias de índices adicionales para cuadros que tienen imágenes de referencia no disponibles. Una imagen de referencia puede no estar disponible debido a IDR o CRA. Cuando se genera un RPS parcial para el caso de prueba común de bajo retardo, se seleccionan imágenes para unos pocos primeros cuadros en el GOP después de un IDR o CRA. Por ejemplo, los cuadros 1 a 4 al inicio de una secuencia que pertenece al primer GOP, utilizarán los RPS parciales [5] a [8], que se obtienen a partir de los RPS [0] a [3]. Los cuadros 5 a 8 pertenecen al segundo GOP y utilizarán los RPS parciales [9] a [12], que se obtienen asimismo de los RPS [0] a [3]. El cuadro 9 pertenece al tercer GOP y utilizará el RPS parcial [13] que se obtiene del RPS [0].
En algunas configuraciones, el dispositivo electrónico que obtiene el RPS parcial puede utilizar reglas para obtener parcialmente el RPS a partir del RPS completo. Por ejemplo, los números RPS 7, 8, 9, 11, 12 y 13 pueden todos añadir el valor de índice de RPS -2 (indicado en negrita). Se debe observar que este valor de índice de RPS es relativo y depende de la posición del cuadro actual (por ejemplo, POC actual). Además, los números RPS 8, 9 y 10 añaden cada uno el valor de índice de RPS de -3 (indicado en negrita).
De acuerdo con enfoques conocidos, tal como el que se especifica en el modelo de prueba (HM) de codificación de video de alta eficiencia (HEVC, High Efficiency Video Coding) 5.0, se señaliza tanto el RPS completo como el RPS parcial en el flujo de bits. Por ejemplo, plantillas RPS, que incluyen un RPS completo y un RPS parcial, son enviadas en un PPS al inicio de la imagen. Esto conduce al envío de sobrecarga innecesaria en el flujo de bits. Esta sobrecarga de señalización de plantillas RPS en PPS puede ser desde varios cientos hasta varios miles de bits, por ejemplo. Además, en el codificador se realiza asimismo trabajo adicional e innecesario para generar un RPS parcial. Por lo tanto, uno de los beneficios sobre los sistemas y procedimientos dados a conocer en la presente memoria es que se reduce la sobrecarga de señalización RPS generando plantillas RPS parciales en el lado del descodificador en base a un RPS completo recibido.
Asimismo, según enfoques conocidos, tal como el que se especifica en HM5.0, dentro de un RPS, se codifican diferencialmente índices de imagen de referencia entre los índices negativos y entre los índices positivos. Por lo tanto, puede ser beneficioso reducir el número de bits señalizados utilizando los sistemas y procedimientos dados a conocer en la presente memoria para reducir el número de bits para una plantilla RPS. Por ejemplo, esto se puede conseguir reduciendo el número de bits necesarios para codificar una lista de valores de índice de RPS.
Los sistemas y procedimientos dados a conocer en la presente memoria pueden proporcionar uno o varios beneficios adicionales en reducir la sobrecarga de señal RPS. En una configuración, se pueden utilizar características de simetría de índices de referencia negativos y positivos para reducir los bits utilizados para codificar valores de índice de RPS positivo (por ejemplo, índices de referencia). En otra configuración, un RPS parcial se puede obtener en el descodificador en lugar de enviar el RPS parcial en el flujo de bits. Adicional o alternativamente, se pueden definir plantillas RPS frecuentemente utilizadas, en los lados tanto del codificador como del descodificador, permitiendo que la plantilla se señalice mediante un simple índice en el PPS. Adicional o alternativamente, un RPS parcial se puede señalizar haciendo referencia a un RPS completo y eliminando algunas de las imágenes de referencia para obtener RPS parcial.
A continuación se describen varias configuraciones haciendo referencia a las figuras, donde los numerales de referencia similares pueden indicar elementos funcionalmente similares. Los sistemas y procedimientos que se describen y muestran en general en las figuras de la presente memoria, se podrían disponer y diseñar en una amplia variedad de configuraciones diferentes. Por lo tanto, la siguiente descripción más detallada de varias configuraciones, que se representa en las figuras, no está destinada a limitar el alcance reivindicado, sino que es tan sólo representativa de los sistemas y procedimientos.
La figura 1 es un diagrama de bloques que muestra un ejemplo de uno o varios dispositivos electrónicos 102a-b en los que se pueden implementar sistemas y procedimientos para reducir la sobrecarga de señal RPS. En este ejemplo, se muestra el dispositivo electrónico A 102a y el dispositivo electrónico B 102b. Sin embargo, se debe observar que una o varias de las características y de la funcionalidad descritas en relación con el dispositivo electrónico A 102a y el dispositivo electrónico B 102b se pueden combinar en un único dispositivo electrónico en algunas configuraciones.
El dispositivo electrónico A 102a incluye un codificador 104 y módulo inicializador de índice de RPS (módulo inicializador) 108. Cada uno de los elementos incluidos dentro el dispositivo electrónico A 102a (por ejemplo, el codificador 104 y el módulo inicializador 108) se puede implementar en hardware, en software o en una combinación de ambos.
El dispositivo electrónico A 102a puede obtener una imagen de entrada 106. En algunas configuraciones, la imagen de entrada 106 puede ser capturada en el dispositivo electrónico A 102a utilizando un sensor de imagen, recuperada de la memoria y/o recibida de otro dispositivo electrónico.
El codificador 104 puede codificar la imagen de entrada 106 para producir datos codificados. Por ejemplo, el codificador 104 puede codificar una serie de imágenes de entrada 106 (por ejemplo, video). En una configuración, el codificador 104 puede ser un codificador HEVC. Los datos codificados pueden ser datos digitales (por ejemplo, un flujo de bits). El codificador 104 puede generar sobrecarga de señalización en base a la señal de entrada.
El módulo inicializador 108 puede ser utilizado en el procesamiento de valores de índice de RPS. Por ejemplo, el módulo inicializador 108 puede inicializar valores utilizados en el procesamiento de imágenes de referencia positivas. Estos datos pueden ser registrados en un PPS y un índice a este puede ser señalizado en la cabecera de segmento de una imagen.
Se proporcionan a continuación más detalles sobre clases de inicializaciones que pueden ser producidas por el dispositivo electrónico A 102a. Se debe observar que el módulo inicializador 108 puede estar incluido dentro del codificador 104, en algunas configuraciones. El módulo inicializador 108 puede permitir una sobrecarga reducida de señalización de RPS.
El codificador 104 (y el módulo inicializador 108, por ejemplo) puede producir un flujo de bits 114. El flujo de bits 114 puede incluir datos de imágenes codificadas, basados en la imagen de entrada 106. En algunas configuraciones, el flujo de bits 114 puede incluir asimismo datos de sobrecarga, tales como información de cabecera de segmento, información PPS, etc. Se proporcionan a continuación más detalles sobre los datos de sobrecarga. Cuando se codifican imágenes de entrada adicionales 106, el flujo de bits 114 puede incluir una o varias imágenes codificadas. Por ejemplo, el flujo de bits 114 puede incluir una o varias imágenes de referencia codificadas y/u otras imágenes.
El flujo de bits 114 puede ser proporcionado a un descodificador 112. En un ejemplo, el flujo de bits 114 puede ser transmitido al dispositivo electrónico B 102b utilizando una conexión cableada o inalámbrica. En algunos casos, esto se puede realizar sobre una red, tal como internet o una red de área local (LAN, Local Area Network). Tal como se muestra en la figura 1, el descodificador 112 puede estar implementado en el dispositivo electrónico B 102b por separado respecto del codificador 104 en el dispositivo electrónico A 102a. Sin embargo, se debe observar que en algunas configuraciones el codificador 104 y el descodificador 112 se pueden implementar en el mismo dispositivo electrónico. En una implementación donde el codificador 104 y el descodificador 112 se implementan en el mismo dispositivo electrónico, por ejemplo, el flujo de bits 114 se puede proporcionar sobre un bus al descodificador 112 o estar almacenado en memoria para su recuperación por el descodificador 112.
El descodificador 112 se puede implementar en hardware, en software o en una combinación de ambos. En una configuración, el descodificador 112 puede ser un descodificador HEVC. El descodificador 112 puede recibir (por ejemplo, obtener) el flujo de bits 114. El descodificador 112 puede generar una imagen descodificada 118 (por ejemplo, una o varias imágenes descodificadas 118) en base al flujo de bits 114. La imagen descodificada 118 puede ser visualizada, reproducida, almacenada en memoria y/o transmitida a otro dispositivo, etc.
El descodificador 112 puede incluir un módulo de determinación de RPS parcial 120, un módulo de plantilla RPS 122 y/o un módulo de eliminación de RPS 124. El módulo de determinación de RPS parcial 120 puede permitir al descodificador 112 generar un RPS parcial en el descodificador. Por ejemplo, el módulo de determinación de RPS parcial 120 puede generar un RPS parcial en base a un RPS completo recibido en el descodificador 112. El módulo de determinación de RPS parcial 120 se describe a continuación en mayor detalle.
El módulo de plantilla RPS 122 puede crear una plantilla RPS en base a señales recibidas en el flujo de bits 114. Por ejemplo, el módulo de plantilla RPS 122 puede utilizar un tamaño de GOP, una estructura de codificación y reglas obtenidas del flujo de bits, para crear una plantilla. El módulo de plantilla RPS 122 se describe en mayor detalle a continuación.
En algunas configuraciones, el módulo de eliminación de RPS 124 puede identificar imágenes de referencia faltantes y envía de vuelta al codificador 104 señalización de que faltan una o varias imágenes de referencia. El módulo de eliminación de RPS 124 puede obtener instrucciones en el flujo de bits para eliminar una o varias imágenes en un RPS recibido actual o anteriormente. En otras configuraciones, se puede recibir una instrucción de eliminación de RPS sin enviar retroalimentación al codificador. El módulo de eliminación de RPS 124 se describe en mayor detalle a continuación.
En otro ejemplo, tal como un escenario de codificación escalable, un flujo de bits puede contener imágenes de diferentes resoluciones. En este ejemplo, la colección de imágenes de referencia puede incluir (por ejemplo, identificar) versiones de diferente resolución de la misma imagen.
La figura 2 es un diagrama de bloques que muestra una configuración de un grupo de imágenes (GOP) 228. En algunas configuraciones, el GOP 228 puede estar en una estructura de codificación jerárquica, tal como una estructura de jerarquía B con un orden de codificación de retardo de descodificación mínimo. Por ejemplo, el GOP 228 puede estar en una estructura de predicción jerárquica con cuatro etapas de jerarquía diádica. Se debe observar que el número de imágenes en el GOP 228 puede ser de ocho (por ejemplo, tamaño de GOP = 8) en algunas configuraciones, tal como se muestra en la figura 2.
La figura 2 muestra una o varias imágenes 226. En algunos casos, estas imágenes pueden ser imágenes de referencia. Cada imagen 226 puede pertenecer a una etapa jerárquica. Por ejemplo, las imágenes de cuadro I 226 pueden tener una etapa jerárquica de base, tal como la etapa 0. En algunos casos, los cuadros I pueden ser una imagen IDR. Los cuadros B pueden tener las etapas de 1,2 o 3. En algunos casos, las etapas pueden corresponder a escalabilidad temporal. En otras palabras, según aumenta el número de estados, lo hace la capacidad de refinar la imagen actual. De este modo, una imagen 226 con una etapa inferior puede utilizar imágenes correspondientes superiores 226 para añadir calidad y refinamiento
El GOP 228 puede estar ordenado por el orden de visualización o por un POC 229. Sin embargo, el orden de codificación 230 o el orden en el que se obtienen las imágenes desde un flujo de bits pueden ser diferentes del orden POC 229.
En algunas configuraciones, las imágenes 226 en un GOP 228 están ordenadas en un patrón jerárquico simétrico. En este tipo de configuración, la distancia mínima a una imagen de referencia negativa y una imagen de referencia positiva puede ser la misma. Es decir, el valor absoluto de deltaPOC positivo y deltaPOC negativo en RPS es normalmente el mismo.
Por ejemplo, supóngase que POC 2 es el POC actual 231 que indica una imagen actual a descodificar. Para descodificar la imagen indicada por el POC actual 231, se tienen que obtener uno o varios de los valores de índice de RPS 232. En este ejemplo, la imagen indicada por el POC actual 231 utiliza imágenes indicadas mediante POC 0, POC 4 y POC 6 para descodificar. En lugar de utilizar valores absolutos, el POC actual 231 utiliza valores relativos almacenados en un RPS para localizar imágenes de referencia. En algunos casos, el RPS se obtiene directamente de la cabecera de segmento en una imagen 226. En otros casos, el RPS es localizado en el PPS como señalizado a partir de la cabecera de segmento de la correspondiente imagen 226. En este caso, el POC actual 231 obtiene valores de índice de RPS de [-2, 2, 4]. Es decir, el POC actual 231 utiliza deltaPOC 233a, deltaPOC 233b y deltaPOC 233c para descodificar la imagen 226.
En este ejemplo, donde el POC actual es POC 2, la naturaleza de jerarquía simétrica de un GOP 228 puede ser beneficiosa en la reducción de la sobrecarga de señalización de RPS. El POC actual 231 que tiene un deltaPOC negativo 233a (por ejemplo, -2) tendrá probablemente un deltaPOC positivo correspondientemente simétrico 233b (por ejemplo, 2). Utilizando esta simetría, se pueden emplear enfoques para reducir la sobrecarga de señal RPS. Algunos de dichos enfoques (por ejemplo, procedimientos) se describen en mayor detalle a continuación, en relación con las figuras 5 y 6.
En otro ejemplo, suponiendo que el currentPOC es POC 4, un valor de índice de RPS puede ser entonces deltaPOC -4. Adicionalmente, el POC 4 puede tener asimismo un valor de índice de deltaPOC = 4 en su RPS, que se refiere al POC de imagen de referencia 8. Otras imágenes de referencia de RPS para currentPOC = POC 4 pueden ser POC 2 y POC 6. De este modo, los valores de índice de RPS pueden ser [-4, -2, 2, 4].
En otro ejemplo más, suponiendo que el currentPOC es POC 2, el RPS puede entonces incluir imágenes correspondientes a POC 0 y POC 4. Adicionalmente el valor de índice deltaPOC = 6 puede estar almacenado en su RPS. Esto se debe a que el valor de índice de RPS de deltaPOC = 6 se refiere a una imagen de referencia que puede ser necesario mantener en el descodificador, dado que puede ser utilizada como una imagen de referencia por futuras imágenes. En otras palabras, puede ser necesario mantener en el descodificador los valores de índice de RPS con valores deltaPOC positivos que indican una o varias imágenes, para que sirvan como imágenes de referencia para una imagen futura que puede ser necesario descodificar.
La figura 3 es un diagrama de bloques que muestra una configuración de un codificador 304 en un dispositivo electrónico 302. Se debe observar que uno o varios de los elementos que se muestran incluidos dentro del dispositivo electrónico 302 se pueden implementar en hardware, en software o en una combinación de ambos. Por ejemplo, el dispositivo electrónico 302 incluye un codificador 304, que se puede implementar en hardware, en software o en una combinación de ambos. Por ejemplo, el codificador 304 se puede implementar como un circuito, un circuito integrado, un circuito integrado de aplicación específica (ASIC, application-specific integrated circuit), un procesador en comunicación electrónica con memoria con instrucciones ejecutables, software inalterable, una matriz de puertas lógicas programables in situ (FPGA, field-programmable gate array), etc., o una combinación de los mismos. En algunas configuraciones, el codificador 304 puede ser un codificador HEVC.
El dispositivo electrónico 302 puede incluir un suministrador 334. El suministrador 334 puede proporcionar datos de fotografías o imágenes (por ejemplo, video) como una fuente 306 para el codificador 304. Ejemplos del suministrador 334 incluyen sensores de imagen, memoria, interfaces de comunicación, interfaces de red, receptores inalámbricos, puertos, etc.
La fuente 306 puede ser proporcionada a un módulo de predicción intra-cuadro y a una memoria tampón de reconstrucción 340. La fuente 306 se puede proporcionar asimismo a un módulo de estimación de movimiento y de compensación de movimiento 366 y a un módulo de resta 346.
El módulo de predicción intra-cuadro y la memoria tampón de reconstrucción 340 pueden generar información de modo intra 358 y una señal intra 342 en base a la fuente 306 y a los datos reconstruidos 380. El módulo de estimación de movimiento y de compensación del movimiento 366 puede generar información de modo inter 368 y una señal inter 344 en base a la fuente 306 y a una señal 398 de la memoria tampón de imágenes de referencia 396.
La señal 398 de la memoria tampón de imágenes de referencia 396 puede incluir datos de una o varias imágenes de referencia almacenadas en la memoria tampón de imágenes de referencia 396. La memoria tampón de imágenes de referencia 396 puede incluir asimismo un módulo inicializador de índices RPS 308. El módulo inicializador 308 puede procesar una señal 398 correspondiente al almacenamiento en memoria tampón y la construcción de listas de un RPS.
El codificador 304 puede seleccionar entre la señal intra 342 y la señal inter 344, de acuerdo con un modo. La señal intra 342 puede ser utilizada para explotar características espaciales dentro de una imagen en un modo de codificación intra. La señal inter 344 puede ser utilizada para explotar características temporales entre imágenes en un modo de codificación inter. Estando en el modo de codificación intra, la señal intra 342 puede ser proporcionada al módulo de resta 346 y la información de modo intra 358 puede ser proporcionada a un módulo de codificación entrópica 360. Estando en el modo de codificación inter, la señal inter 344 puede ser proporcionada al módulo de resta 346, y la información de modo inter 368 puede ser proporcionada al módulo de codificación entrópica 360. Cualquiera de la señal intra 342 o la señal inter 344 (dependiendo del modo) es restada de la fuente 306 en el módulo de resta 346 para producir un residuo de predicción 348. El residuo de predicción 348 se proporciona a un módulo de transformación 350. El módulo de transformación 350 puede comprimir el residuo de predicción 348 para producir una señal transformada 352 que es proporcionada a un módulo de cuantificación 354. El módulo de cuantificación 354 cuantifica la señal transformada 352 para producir coeficientes transformados y cuantificados (TQC, transformed and quantized coefficients) 356.
Los TQC 356 se proporcionan a un módulo de codificación entrópica 360 y a un módulo de cuantificación inversa 370. El módulo de cuantificación inversa 370 realiza la cuantificación inversa a sobre los TQC 356 para proporcionar una señal cuantificada inversa 372 que es proporcionada a un módulo de transformación inversa 374. El módulo de transformación inversa 374 descomprime la señal cuantificada inversa 372 para producir una señal descomprimida 376 que se proporciona a un módulo de reconstrucción 378.
El módulo de reconstrucción 378 puede producir datos reconstruidos 380 en base a la señal descomprimida 376. Por ejemplo, el módulo de reconstrucción 378 puede reconstruir imágenes reconstruidas (modificadas). Los datos reconstruidos 380 se pueden proporcionar a un filtro anti-bloque 382 y al módulo de predicción intra y la memoria tampón de reconstrucción 340. El filtro anti-bloque 382 puede producir una señal filtrada 384 basada en los datos reconstruidos 380.
La señal filtrada 384 se puede proporcionar a un módulo de compensación adaptable de la muestra (SAO, sample adaptive offset) 386. El módulo SAO 386 puede producir información SAO 388 que es proporcionada al módulo de codificación entrópica 360 y una señal SAO 390 que es proporcionada a un filtro de bucle adaptable (ALF, adaptive loop filter) 392. El ALF 392 produce una señal ALF 394 que es proporcionada a la memoria tampón de imágenes de referencia 396. La señal ALF 394 puede incluir datos de una o varias imágenes que pueden ser utilizadas como imágenes de referencia.
El módulo de codificación entrópica 360 puede codificar los TQC 356 para producir un flujo de bits 314. Asimismo, el módulo de codificación entrópica 360 puede codificar los TQC 356 utilizando codificación de longitud variable adaptable por contexto (CAVLC, Context-Adaptive Variable Length Coding) o codificación aritmética binaria adaptable por contexto (CABAC, Context-Adaptive Binary Arithmetic Coding). En particular, el módulo de codificación entrópica 360 puede codificar los TQC 356 en base a una o varias de información de modo intra 358, información de modo inter 368 e información SAO 388. El flujo de bits 314 puede incluir datos de imagen codificados.
La cuantificación, involucrada en compresión de video tal como HEVC, es una técnica de compresión con pérdidas conseguida comprimiendo un rango de valores en un único valor de cuanto. El parámetro de cuantificación (QP, quantization parameter) es un parámetro de escala predefinido, utilizado para realizar la cuantificación basándose tanto en la calidad del video reconstruido como en la relación de compresión. El tipo de bloque está definido en HEVC para representar las características de un determinado bloque en base al tamaño del bloque y a su información de color. El QP, la información de resolución y el tipo de bloque se pueden terminar antes de la codificación entrópica. Por ejemplo, el dispositivo electrónico 302 (por ejemplo, el codificador 304) puede determinar el QP, la información de resolución y el tipo de bloque, que se pueden proporcionar al módulo de codificación entrópica 360.
El módulo de codificación entrópica 360 puede determinar el tamaño del bloque basándose en un bloque de TQC 356. Por ejemplo, el tamaño del bloque puede ser el número de TQC 356 a lo largo de una dimensión de bloque de TQC. En otras palabras, el número de TQC 356 en el bloque de TQC puede ser igual al cuadrado del tamaño del bloque. Por ejemplo, el tamaño del bloque se puede determinar como la de raíz cuadrada del número de TQC 356 en el bloque de TQC. La resolución se puede definir como la anchura de píxel por la altura de píxel. La información de resolución puede incluir el número de píxeles para la anchura de la imagen, para la altura de una imagen, o ambos. El tamaño del bloque se puede definir como el número de TQC 356 a lo largo de una dimensión de un bloque 2D de TQC.
En algunas configuraciones, el flujo de bits 314 puede ser transmitido a otro dispositivo electrónico. Por ejemplo, el flujo de bits 314 se puede proporcionar a una interfaz de comunicación, una interfaz de red, un transmisor inalámbrico, un puerto, etc. Por ejemplo, el flujo de bits 314 se puede transmitir a otro dispositivo electrónico por medio de una LAN, de internet, de una estación base de telefonía celular, etc. El flujo de bits 314 puede, adicional o alternativamente, almacenarse en una memoria en el dispositivo electrónico 302.
La figura 4 es un diagrama de flujo que muestra una configuración de un procedimiento 400 para reducir la sobrecarga de señal RPS en un dispositivo electrónico 302. El dispositivo electrónico 302 puede obtener 402 una imagen 226. Por ejemplo, la imagen 226 puede ser recibida desde un suministrador 334. En algunos casos, la imagen 226 se puede obtener desde una fuente remota.
La imagen 226 puede ser codificada 404. Esto se puede realizar, por ejemplo, en un codificador 304. El codificador 304 puede ser un codificador de tipo HEVC 304.
Se puede indicar 406 un RPS correspondiente a la imagen 226 en base a un valor de índice inicializado. Por ejemplo, esta indicación se puede realizar en la cabecera de segmento de la imagen 226 y/o en el PPS de la imagen 226. El valor inicializado puede ayudar al dispositivo electrónico 302 a procesar el RPS. En algunos casos, el valor inicializado puede ayudar a reducir la sobrecarga de señal RPS. En algunos casos, utilizar el valor inicializado puede tener como resultado que se envíen valores de índice de RPS menores en el flujo de bits 314, reduciendo por lo tanto la sobrecarga. Por ejemplo, valores de índice de RPS menores pueden representarse con menos bits para reducir la sobrecarga. En otros casos, utilizar el valor de índice inicializado puede tener como resultado que se envíe un valor de índice de RPS menos en el flujo de bits 314, lo que reduce asimismo la sobrecarga de señalización RPS.
El dispositivo electrónico 302 puede enviar 408 un flujo de bits. El flujo de bits 314 puede ser enviado 408 al mismo dispositivo electrónico 302 y/o a un dispositivo remoto. El flujo de bits 314 puede incluir la imagen codificada y un RPS.
La figura 5 es un diagrama de flujo que muestra una configuración más específica de un procedimiento 500 para reducir la sobrecarga de señal RPS en un dispositivo electrónico 302. En una configuración, el dispositivo electrónico 302 puede obtener 502 una imagen 226 y codificar 504 la imagen 226, tal como se ha explicado anteriormente. El dispositivo electrónico 302 puede inicializar 506 un valor de índice en base a un parámetro de RPS negativo relativo. Por ejemplo, el dispositivo electrónico 302 puede procesar una imagen de referencia para obtener valores de índice de RPS tanto negativos como positivos. Las imágenes de referencia positivas y negativas se pueden procesar individualmente. Estos procesos se muestran a continuación en el listado (3).
El listado (3) muestra la sintaxis de un procedimiento conocido para codificar valores de índice de RPS positivo. Específicamente, el listado (3) está diseñado para procesar jerarquía B de acceso aleatorio bajo HM 5.0.
[Listado 3]
Figure imgf000014_0001
'RPS_deltaPOC' se refiere a los valores de índice de RPS. RPS_deltaPOC [0] a RPS_deltaPOC [num_negative_pics - 1] almacena los valores de índice de RPS negativos. RPS_deltaPOC[num_negative_pics] a RPS_deltaPOC[num_negative_pics num_positive_pics-1] almacena los valores de índice de RPS positivo.
El listado (3) muestra pseudocódigo para un enfoque de procesamiento de valores de índice de RPS positivo. Por ejemplo, un RPS con índices de referencia [-2,-4, 2], codifica primero los índices de imagen RPS negativos. A continuación, se codifican diferencialmente los índices de imagen positivos. Esto tiene como resultado cuatro valores de índice de RPS. En el procesamiento de los valores de índice de RPS de referencia tanto positivos como negativos, el anterior valor de índice o "prev" se ajusta a 0. Este es siempre el caso cuando se procesa el valor de índice de RPS positivo. prev se inicializa independientemente del número de imágenes negativas o de cualesquiera parámetros de RPS negativos. En este ejemplo, cuando los valores de índice de RPS son [-2,-4, 2], se requieren 9 bits para enviar los valores de índice de RPS.
En contraste con el listado (3), los sistemas y procedimientos dados a conocer en la presente memoria describen que un valor de índice se puede inicializar 506 en base a un parámetro de RPS negativo relativo. Por lo tanto, en lugar de inicializar prev a 0 cada vez que se procesan los valores de índice de RPS positivo, prev se inicializa en base a un parámetro de RPS negativo. El listado (4) muestra un ejemplo de pseudocódigo que ilustra esta distinción. Las modificaciones en la sintaxis de acuerdo con los sistemas y procedimientos dados a conocer en la presente memoria están destacadas en negrita.
[Listado 4]
Figure imgf000015_0001
Tal como se muestra en el listado (4), prev se puede inicializar al mínimo valor absoluto de RPS_deltaPOC negativo menos 1. Se debe observar que los términos RPS_deltaPoc y valores de índice de RPS se pueden utilizar de manera intercambiable. El mínimo valor absoluto de RPS_deltaPoc negativo es el valor absoluto de la mínima imagen de referencia negativa almacenada en el índice RPS para una imagen actual. Por ejemplo, si una imagen actual contiene los valores de índice de RPS de referencia relativa de [-4, -6, 4], -4 y -6 son los valores de índice de RPS_deltaPoc negativo. Cuando se toman los valores absolutos de cada uno, se obtienen respectivamente 4 y 6. Tomar el valor mínimo tiene como resultado la obtención de 4.
En un enfoque conocido, los valores de RPS_deltaPOC se disponen en orden ascendente por valor absoluto, dentro de los valores de índice de RPS_deltaPOC negativo y dentro de los valores de índice de RPS_deltaPOC positivo, para garantizar que los valores de diferencia codificados no son negativos. Esto permite menos bits en la codificación debido a que se evitan números negativos. En general, codificar un número negativo requiere más bits que un bit positivo que es el valor absoluto del mismo número negativo. Con este enfoque, el mínimo valor absoluto de RPS_deltaPOC negativo puede estar localizado en RPS_deltaPoc (0).
Aplicando este ejemplo, prev = (mínimo valor absoluto de RPS_deltaPoc negativo) - 1, prev = (4) - 1 = 3. En otro ejemplo donde el mínimo valor absoluto de RPS_deltaPoc negativo es 5, prev sería igual a 4. Por lo tanto, el valor de índice prev puede depender de un valor de parámetro de RPS negativo, tal como el mínimo valor absoluto de RPS_deltaPoc negativo.
Utilizando el valor inicializado, el dispositivo electrónico 302 puede procesar 508 un número positivo de imágenes en base al valor de índice. En un ejemplo, se supone que una imagen actual tiene valores de índice de referencia RPS de [-2, -4, 2]. Cuando las imágenes de referencia positivas se procesan y prev se inicializa al mínimo valor absoluto de RPS_deltaPoc negativo, prev es igual a 1 (por ejemplo, (|-2|) -1 = 1). Para procesar el primer valor positivo (por ejemplo, 2), se utiliza RPS_deltaPoc (k) - prev - 1. RPS_deltaPoc (k) es igual al valor del primer valor de índice de RPS positivo a procesar. En este ejemplo, RPS_deltaPoc (k) es igual a 2. prev es igual a 1, tal como se ha mostrado anteriormente. Por lo tanto, RPS_deltaPoc(k) - prev - 1 = 2 - 1 -1 = 0.
Este proceso tiene como resultado una codificación de [-2, -4, 0] en lugar de [-2, -4, 2]. Por lo tanto, se requieren 8 bits en lugar de 9 bits, y se reduce la sobrecarga. Debido a la naturaleza simétrica de la estructura de codificación, inicializar el valor de índice en base al parámetro de RPS negativo relativo tendrá como resultado generalmente que el primer valor de referencia de índice positivo es igual a cero. Por lo tanto, cuando el primer valor de referencia de índice positivo aumenta, aumenta asimismo el número de bits ahorrados.
En algunos casos, el dispositivo electrónico 302 puede procesar solamente el primer valor de índice de RPS positivo en el conjunto de valores de índice de RPS en base al parámetro de RPS negativo relativo. Cada subsiguiente valor de índice positivo puede ser procesado tal como se muestra en el listado (3). En este caso, se reduce la sobrecarga para el primer valor de índice positivo para cada RPS de cada imagen enviada en el flujo de bits 114.
El dispositivo electrónico 302 puede enviar 510 un flujo de bits 114. Aplicando los sistemas y procedimientos descritos en la presente memoria, se puede reducir la sobrecarga de RPS en el flujo de bits 114.
La figura 6 es un diagrama de flujo que muestra otra configuración más específica de un procedimiento 600 para reducir la sobrecarga de señal RPS en un dispositivo electrónico 302. El dispositivo electrónico 302 puede obtener 602 una imagen 226 y codificar 604 la imagen 226, tal como se ha explicado anteriormente.
El dispositivo electrónico puede opcionalmente indicar 606 un indicador simétrico, tal como symmetric_flag, para enviar en el flujo de bits con el fin de indicar si el primer valor de índice de RPS positivo puede ser inicializado con un valor de índice de RPS negativo. Por ejemplo, el indicador simétrico puede indicar que el valor de índice se debe inicializar al mínimo valor absoluto de RPS_deltaPoc negativo. Alternativamente, el indicador de simetría puede indicar no inicializar el valor de índice al mínimo valor absoluto de RPS_deltaPoc negativo. En este caso, el valor de índice se puede inicializar a cero.
El dispositivo electrónico 302 puede procesar 608 un número positivo de imágenes en base al valor de índice. En algunos casos, el procesamiento omite cuando el valor de índice está inicializado. En otras palabras, cuando se inicializa el valor de índice, la primera iteración de procesamiento de los valores de índice de RPS positivo omite la escritura del primer valor de índice de RPS positivo en el RPS. En el caso en que se produce solamente un número positivo, no tiene lugar ningún procesamiento de números positivos. El dispositivo electrónico 302 puede asimismo enviar 610 un flujo de bits 314.
El listado (5) muestra un ejemplo de sintaxis de pseudocódigo, en el que se puede aplicar el presente procedimiento. Las modificaciones en la sintaxis de acuerdo con los sistemas y procedimientos dados a conocer en la presente memoria están destacadas en negrita.
[Listado 5]
Figure imgf000016_0001
Cuando j>0 en el procesamiento del valor de índice de RPS positivo, se omite la condición j==0. En otras palabras, se omite la primera imagen de referencia positiva.
Se vuelve a continuación a la condición donde j>0. En este caso, j se inicializa a 0 en el bucle 'for' cuando se procesan los valores de índice de RPS positivo. Tras la inicialización, el procesamiento de valores de índice de RPS positivo omite el primer valor de índice de RPS positivo. Por ejemplo, en el caso de valores de índice de RPS [-8, -4, 4, 6], en el procesamiento de los valores de índice de RPS positivo, se omitirá 4 y solamente se añadirá 6 al índice RPS para la imagen actual.
En otro ejemplo, para los valores de índice [-2, -4, 2, 6], si symmtetic_flag es verdadero, para los valores de RPS_deltaPOC positivo, el primero tiene que ser igual a 2, tal como se obtiene a partir de los índices de imagen de referencia negativas. De este modo, el procesamiento de los valores de índice de RPS positivo puede comenzar a partir del segundo valor de índice de RPS positivo (por ejemplo, 6). En las estructuras de codificación jerárquica, tales como acceso aleatorio (de jerarquía B), la condición simétrica entre el inicio del índice RPS positivo y negativo es normalmente verdadera. Esto se debe a la naturaleza simétrica de cada imagen actual en relación con imágenes de referencia deltaPOC.
En el caso de solamente un valor de índice de RPS positivo, el dispositivo electrónico 302 puede omitir el procesamiento de los valores positivos. Por ejemplo, para los valores de índice [-4, -8, 4], después del procesamiento, se puede enviar un RPS de [-4, -8] al flujo de bits. A continuación, tras la recepción, el dispositivo electrónico receptor, tal como un descodificador, puede recibir los valores de índice de RPS [-4, -8] y obtener los valores de índice de referencia de [-4, -8, 4] para la imagen actual que está siendo descodificada. De este modo, al omitir la primera imagen de referencia positiva en cada RPS para cada imagen actual, se puede conseguir un ahorro significativo de sobrecarga en la señalización de RPS.
Por ejemplo, el listado (6) muestra sintaxis para procesar valores de índice de RPS en un descodificador.
[Listado 6]
Figure imgf000017_0001
El listado (6) muestra un ejemplo de una sintaxis que puede ser procesada por un descodificador. Esta sintaxis puede ser generada por un dispositivo electrónico 302 utilizando el enfoque explicado en relación con el listado (5). Por ejemplo, el descodificador puede comprobar symmertric_flag para ver si existe una indicación de que el mínimo valor de índice de RPS negativo es simétrico con un correspondiente valor de índice de RPS positivo. Si así lo indica symmertric_flag, el descodificador puede descodificar el RPS y utilizar el valor absoluto del mínimo valor de índice de RPS negativo en el valor de índice de RPS del primer valor de índice de RPS positivo. Se apreciará que pueden ser utilizados otros enfoques para descodificar una imagen como el enumerado en el listado (6), que corresponden al enfoque de codificación explicado anteriormente en relación con el listado (5).
La figura 7 es un diagrama de bloques que muestra una configuración de un descodificador 712 en un dispositivo electrónico 702. El descodificador 712 puede estar incluido en un dispositivo electrónico 702. Por ejemplo, el descodificador 712 puede ser un descodificador HEVC. El descodificador 712 y/o uno o varios de los elementos mostrados como incluidos en el descodificador 712 se pueden implementar en hardware, en software o en una combinación de ambos. El descodificador 712 puede recibir un flujo de bits 714 (por ejemplo, una o varias imágenes codificadas incluidas en el flujo de bits 714) para descodificación. En algunas configuraciones, el flujo de bits recibido 714 puede incluir información de sobrecarga recibida, tal como una cabecera de segmento recibida, PPS recibido, información de descripción de la memoria tampón recibida, etc. Las imágenes codificadas incluidas en el flujo de bits 714 pueden incluir una o varias imágenes de referencia codificadas y/u otra u otras imágenes codificadas.
Los símbolos recibidos (en dichas una o varias imágenes codificadas incluidas en el flujo de bits 714) pueden ser sometidos a descodificación entrópica mediante un módulo de descodificación entrópica 768, produciendo de ese modo una señal de información de movimiento 770 y coeficientes cuantificados, escalados y/o transformados 772. La señal de información de movimiento 770 se puede combinar con una parte de una señal de cuadros de referencia 798 a partir de una memoria de cuadros 778 en un módulo de compensación de movimiento 774, lo que puede producir una señal de predicción inter-cuadros 782. Los coeficientes cuantificados, escalados y/o transformados 772 pueden ser sometidos a cuantificación inversa, a escala inversa y a transformación inversa mediante un módulo inverso 762, produciendo de ese modo una señal de residuo descodificada 784. La señal de residuo descodificada 784 se puede añadir a la señal de predicción 792 para producir una señal combinada 786. La señal de predicción 792 puede ser una señal seleccionada entre la señal de predicción inter-cuadros 782 o una señal de predicción intracuadro 790 producida por un módulo de predicción intra-cuadro 788. En algunas configuraciones, está selección de señal puede estar basada en (por ejemplo, controlada por) el flujo de bits 714.
La señal de predicción intra-cuadro 790 se puede predecir a partir de información descodificada anteriormente procedente de la señal combinada 786 (en el cuadro actual, por ejemplo). La señal combinada 786 puede asimismo ser filtrada por un filtro anti-bloque 794. La señal filtrada resultante 796 se puede escribir en la memoria de cuadros 778. La señal filtrada resultante 796 puede incluir una imagen descodificada.
La memoria de cuadros 778 puede incluir una DPB como la descrita en la presente memoria. La DPB puede incluir una o varias imágenes descodificadas, que se pueden mantener como cuadros de referencia a corto o largo plazo. La memoria de cuadros 778 puede incluir asimismo información de sobrecarga correspondiente a las imágenes descodificadas. Por ejemplo, la memoria de cuadros 778 puede incluir cabeceras de segmento, información de PPS, parámetros de ciclo, información de descripción de la memoria tampón, etc. Uno o varios de estos elementos de información pueden ser señalizados desde un codificador (por ejemplo, el codificador 304). La memoria de cuadros 778 puede proporcionar una imagen descodificada 718.
El descodificador 712 puede incluir un módulo de determinación de RPS parcial 720, un módulo de plantilla RPS 722 y/o un módulo de eliminación de RPS 724. El módulo de determinación de RPS parcial 720 puede generar un RPS parcial en base a señales obtenidas del flujo de bits 714. En algunos casos, se puede determinar un RPS parcial en el descodificador 712 en base a un RPS completo. A continuación se describen más detalles en relación con el módulo de determinación de RPS parcial 720.
El módulo de plantilla RPS 722 puede obtener una plantilla RPS en el descodificador 712. En algunos casos, la plantilla RPS se puede crear en base a señales recibidas por el flujo de bits 714, tal como un tamaño de GOP, una estructura de codificación y reglas.
El módulo de eliminación de RPS 724 puede recibir indicaciones en el descodificador 712 para eliminar un RPS recibido anteriormente. Por ejemplo, el flujo de bits 714 puede incluir un indicador en un PPS y un campo de bits en una cabecera de segmento de una imagen. El módulo de eliminación de RPS 724 puede ayudar a identificar imágenes de referencia faltantes. A continuación se proporcionan más detalles en relación con el módulo de eliminación de RPS 724.
La figura 8 es un diagrama de flujo que muestra una configuración del procedimiento 800 para reducir la sobrecarga de señal RPS en un dispositivo electrónico 702. El dispositivo electrónico 702 puede obtener 802 un flujo de bits 714. Por ejemplo, el flujo de bits 714 se puede obtener a partir del dispositivo electrónico 702 donde está situado un descodificador 712, o alternativamente desde otro dispositivo electrónico.
El dispositivo electrónico 702 puede obtener 804 un GOP en base al flujo de bits 714. En algunos casos, un GOP se puede especificar como un número específico de imágenes secuenciales, tal como cuatro u ocho imágenes. Por ejemplo, el dispositivo electrónico 702 puede obtener 804 un GOP que incluye 8 imágenes.
Pueden existir varios maneras en que el dispositivo electrónico 702 puede obtener un RPS completo. En una configuración, el dispositivo electrónico 702 puede recibir un tamaño de GOP, una estructura de codificación y otra información necesaria, tal como el PPS.
Para obtener el RPS completo, el dispositivo electrónico 702 puede determinar el orden de codificación de acuerdo con la estructura de codificación y el tamaño de GOP. Por ejemplo, con codificación de bajo retardo, el orden de codificación puede ser el orden de visualización. En otro caso, con la jerarquía B, el orden de codificación puede utilizar un retardo de descodificación mínimo. En un ejemplo que es similar al ejemplo mostrado en la figura 2, un GOP, con un tamaño de 8, codificará en el orden de POC 8, 4, 2, 1, 3, 6, 5, 7. Alternativamente, un orden de codificación se puede codificar de menor jerarquía a mayor jerarquía. En este ejemplo, un GOP, con tamaño de 8, codificará en el orden de POC 0, 8, 4, 2, 6, 1, 3, 5, 7. Adicionalmente, se puede utilizar un indicador para denotar que orden de codificación utilizar. En algunos casos, el indicador puede ser un indicador de bit.
Para obtener el RPS completo, el dispositivo electrónico 702 puede asimismo determinar las imágenes de referencia en base a la estructura de codificación, a un id de capa temporal, al número de imágenes de referencia y a reglas adicionales establecidas por el codificador y el descodificador. Por ejemplo, en el caso de codificación de bajo retardo con N cuadros de referencia, una imagen anterior con una capa temporal igual o inferior puede siempre servir como una imagen de referencia. A continuación, para las restantes N - 1 imágenes de referencia, se pueden especificar reglas adicionales para seleccionar imágenes de referencia en función del orden de codificación y/o de la capa de jerarquía. Se puede utilizar un parámetro para especificar qué regla debería utilizarse. Un ejemplo de este parámetro es reference_picture_selection_rule, y se explica a continuación en relación con el listado (9).
Adicionalmente, para obtener el RPS completo, el dispositivo electrónico 702 pueden tratar en bucle (por ejemplo, iterar) el GOP, en el orden de codificación. El dispositivo electrónico 702 puede añadir o mantener imágenes de referencia a las que se hará referencia posteriormente en relación con imágenes subsiguientes. Estas imágenes subsiguientes pueden estar en el mismo o en GOP posteriores a la imagen actual. Si una imagen de referencia tiene que ser utilizada para referencia posterior, se puede marcar para su uso futuro. De lo contrario, se puede marcar como "no para referencia".
El dispositivo electrónico 702 puede obtener 806 un RPS parcial a partir de un RPS completo, en base a por lo menos un valor de índice relativo. Por ejemplo, el dispositivo electrónico 702 puede intentar obtener un RPS completo.
Sin embargo, dado que faltan algunas imágenes de referencia o no se han obtenido, solamente se puede obtener un RPS parcial.
Un RPS parcial puede ser para cuadros que tienen imágenes de referencia no disponibles debido a IDR o CRA, tal como ocurre al inicio de una secuencia de imágenes. Por ejemplo, se supone que una primera imagen está en un POC 8 con valores de índice de RPS de [-8, -10, -12, -16]. Al ser la primera imagen recibida, no tiene aún imágenes de referencia correspondientes a valores de índice de RPS [-10, -12, -16]. En este ejemplo, la primera imagen no puede utilizar el RPS completo con valores de referencia de índice de [-8, -10, -12, -16]. Por el contrario, un RPS parcial contiene el valor de índice [-8], y este valor de índice representa la única imagen de referencia que puede ser utilizada para descodificar la imagen (por ejemplo, POC 8).
El dispositivo electrónico 702 puede descodificar a continuación 808 una imagen en base al RPS parcial. En otras palabras, el dispositivo electrónico 702 puede descodificar 808 una imagen utilizando las imágenes de referencia que tiene a disposición.
En algunas implementaciones, un RPS parcial se puede obtener adicionalmente en el lado del codificador 304 de un dispositivo electrónico 302. Sin embargo, al obtener un RPS parcial en el descodificador 712, se reduce la sobrecarga RPS en el flujo de bits 714 debido a que el RPS parcial no se envía además de enviarse el RPS completo.
El listado (7) muestra un enfoque para obtener un RPS parcial.
[Listado 7]
Figure imgf000020_0001
En el listado (7), 'num_full_ref_pic_sets' especifica el número de conjuntos de imágenes de referencia completos que se especifican en el conjunto de parámetros de imagen. 'num_partial_ref_pic_sets' especifica el número de conjuntos de imágenes de referencia parciales que se especifican en el conjunto de parámetros de imagen. 'ref_flag[j]' especifica si el contenido del conjunto de imágenes de referencia completo se copia al conjunto de imágenes de referencia parcial.
La figura 9 es un diagrama de flujo que muestra una configuración de un procedimiento 900 para obtener un RPS parcial en un dispositivo electrónico 702. Para descodificar una imagen, el dispositivo electrónico 702 puede tener que hacer referencia al RPS de la imagen actual. Sin embargo, puede no estar disponible el RPS completo. En este caso, se puede construir un RPS parcial.
En una configuración, un RPS parcial puede ser construido por el dispositivo electrónico 702. El dispositivo electrónico 702 puede obtener 902 un flujo de bits 714 y obtener 904 un GOP en base al flujo de bits de manera similar, tal como se ha descrito anteriormente.
El dispositivo electrónico 702 puede iterar 906 sobre cada imagen dentro del GOP. Por ejemplo, el dispositivo electrónico 702 puede repetir un bucle a través de cada imagen e identificar los valores de índice de RPS correspondientes a cada imagen. En algunos casos, la iteración puede producirse asimismo sobre múltiples GOP. El dispositivo electrónico 702 puede identificar 908 una imagen actual, donde el valor de índice relativo corresponde a la imagen actual. Por ejemplo, esta puede ser la imagen que el dispositivo electrónico 702 está intentando descodificar. Adicionalmente, en la identificación 908 de una imagen actual, el dispositivo electrónico 702 puede asimismo identificar el POC para la imagen actual. Por ejemplo, el POC puede especificar el POC de la imagen actual en el GOP.
El siguiente listado 8 muestra un ejemplo de síntesis para generar un RPS parcial. En el listado (8), 'current_poc_in_GOP' especifica el POC actual en un GOP. current_poc_in_GOP varía desde 1 hasta el tamaño del GOP.
[Listado 8]
Figure imgf000021_0001
El dispositivo electrónico 702 puede iterar 910 sobre dicho por lo menos un valor de índice relativo dentro del RPS completo de la imagen actual. Por ejemplo, si la imagen actual tiene valores de índice de RPS de [-1 ,-5,-9,-13], entonces el dispositivo electrónico iteraría en bucle a través de imágenes de referencia localizadas en deltaPOC=-1, deltaPOC=-5, deltaPOC=-9 y deltaPOC=-13.
El dispositivo electrónico 702 puede determinar 912 si está disponible una imagen de referencia para cada valor de índice relativo. En el ejemplo anterior, el dispositivo electrónico 702 puede intentar acceder a imágenes de referencia localizadas en los deltaPOCs=-1, -5, -9 y -13. Sin embargo, pueden faltar una o varias imágenes de referencia. Un enfoque para determinar 912 si una imagen de referencia está disponible es cumpliendo la condición currentPOC refDeltaPOC < POC_of_Latest_CRA. POC_of_Latest_CRA indica la posición de la última imagen de acceso aleatorio limpio (CRA). En otras palabras, POC_of_Latest_CRA es el POC de la última imagen IDR o CRA. Si un valor de índice de RPS se refiere a una imagen de referencia localizada antes de la última imagen CRA, entonces la imagen de referencia no estará disponible. Por lo tanto, si se cumple currentPOC refDeltaPOC < POC_of_Latest_CRA, entonces falta la imagen de referencia relativa y esta no se añade al RPS parcial.
A modo de ejemplo, se supone que la imagen actual tiene un POC de 1. (Por ejemplo, POC = 1) y POC_of_Latest_CRA es 0. De nuevo, se supone que la imagen actual tiene valores de índice de RPS de [-1 ,-5,-9,­ 13]. Aplicar la condición currentPOC refDeltaPOC para el primer valor de índice tiene como resultado 0 (por ejemplo, 1 -1 = 0). Dado que la condición no se cumple (por ejemplo, 1 -1 no es menor que 0 o POC_of_Latest_CRA), se añade el primer valor de índice de referencia al RPS parcial. Aplicar currentPOC refDeltaPOC a los otros valores de índice de referencia RPS produce resultados donde currentPOC refDeltaPOC es menor que POC_of_Latest_CRA. Por lo tanto, no se añade ningún otro valor de índice al RPS parcial.
Como otro ejemplo, se supone que la imagen actual tiene un POC de 5. (Por ejemplo, POC = 5). De nuevo, se supone que la imagen actual tiene valores de índice de RPS de [-1,-5,-9,-13]. Aplicar la condición currentPOC refDeltaPOC para los valores de índice de RPS tiene como resultado [4, 0, -4, -8], respectivamente. Dado que en los primeros dos valores no son menores que cero, los correspondientes valores de índice de referencia RPS se añaden al RPS parcial. Por lo tanto, el RPS parcial creado en este ejemplo tiene los valores de índice de [-1, -5].
El dispositivo electrónico 702 puede añadir 914 la imagen de referencia al RPS parcial si la imagen está disponible. El dispositivo electrónico 702 puede asimismo descodificar 916 la imagen actual utilizando el valor de índice de RPS parcial.
En otras configuraciones más, el dispositivo electrónico 702 puede evaluar el RPS parcial y determinar introducir imágenes adicionales. Por ejemplo, un RPS parcial con solamente una referencia a una imagen de referencia se puede modificar para incluir tres imágenes de referencia adicionales que pueden ser útiles en la descodificación de dicha imagen actual.
La figura 10 es un diagrama de flujo que muestra una configuración de un procedimiento 1000 para obtener una plantilla RPS en un dispositivo electrónico 702. Tal como se ha explicado en relación con las tablas (1) a (4), se pueden utilizar plantillas RPS en codificación de video para ayudar al procesamiento de estructuras de codificación utilizadas frecuentemente. Un ejemplo de dicha estructura es una estructura de codificación de jerarquía B de acceso aleatorio con un tamaño de GOP igual a 8 o 16. Otro ejemplo es una estructura de codificación de bajo retardo con el tamaño del GOP igual a 4 o 8.
En una configuración, se puede crear una plantilla RPS. Se debe observar que la creación de una plantilla RPS se puede obtener en los lados tanto del codificador como del descodificador, sin enviar el RPS completo en el PPS. Además, la obtención de la plantilla RPS se puede producir en conexión con, o independientemente de la creación de un RPS parcial, tal como se ha explicado anteriormente.
El dispositivo electrónico 702 puede obtener 1002 un flujo de bits 714. El dispositivo electrónico 702 puede obtener 1004 un indicador que indica la creación de la plantilla RPS. Por ejemplo, el indicador puede estar localizado y ser enviado en el PPS.
Como otro ejemplo, el dispositivo electrónico 702 puede tener y/u obtener un conjunto de reglas utilizadas para obtener plantillas RPS para tamaños de GOP utilizados normalmente, estructuras de codificación, ajustes de capa temporal y patrones de entrelazado temporal.
Utilizando estas reglas, el dispositivo electrónico 702 puede crear 1006 una plantilla RPS en base a una cantidad de información reducida. Por ejemplo, se puede obtener una plantilla RPS utilizando información relativa al tamaño de GOP, a la estructura de codificación y a las reglas. La estructura de codificación, por ejemplo, puede especificar acceso aleatorio (de jerarquía B) o bajo retardo. Las reglas pueden, por ejemplo, especificar los ajustes para las capas temporales. El listado (9) siguiente muestra la sintaxis de un enfoque para obtener un RPS.
[Listado 9]
Figure imgf000022_0001
'derive_rps_with_model_flag' especifica si obtener un RPS en el lado del descodificador. derive_rps_with_model_flag ajustado a 0 indica enviar el RPS en el PPS. derive_rps_with_model_flag ajustado a 1 indica obtener el RPS en el descodificador.
'number_reference_pictures' especifica el número de imágenes de referencia por RPS.
'coding_structure' igual a 0 significa que la estructura de codificación es codificación de jerarquía B. Una estructura de codificación igual a 1 indica que la estructura de codificación es codificación de bajo retardo.
GOP_size_log2' se refiere al log2 del tamaño de GOP. El tamaño de GOP es igual a 2(GOP_size_log2). 'number_of_reference_pictures(i)' especifica el número de imágenes de referencia utilizadas por lista de imágenes de referencia (por ejemplo, RefPicList0 y/o RefPicList1) para la capa jerárquica i-ésima. 'reference_picture_selection_rule' especifica las reglas definidas normalmente para seleccionar una imagen de referencia por un codificador y un descodificador.
'coding_order' puede especificar reglas para determinar el orden de codificación. Un coding_order de 0 puede indicar un primer orden de codificación y un coding_order de 1 puede indicar un segundo orden de codificación. En una configuración, por ejemplo, un coding_order de 0 puede indicar un orden de retardo de descodificación mínimo y un coding_order de 1 puede indicar un orden de prioridad de jerarquía (por ejemplo, codificar desde la capa menos jerárquica a la capa jerárquica superior).
'temporal_layer_exist_flag' especifica si existen capas temporales diferentes. Un indicador igual a 0 significa que todos los cuadros tienen la misma capa temporal y un indicador igual a 1 significa que existen diferentes capas temporales.
'temporal_id_ordering' especifica el orden de las imágenes con el mismo temporal_id en un GOP actual. Por ejemplo, un valor de 1 indica que las imágenes en el GOP actual con el mismo temporal_id temporal son continuas en orden de descodificación. Alternativamente, un valor de 0 indica que las imágenes en el GOP actual con el mismo temporal_id temporal están entrelazadas en el orden de descodificación.
Utilizando la plantilla RPS creada, el dispositivo electrónico 702 puede descodificar 1008 una imagen. En el caso de estructuras de código RPS no comunes, la plantilla RPS puede asimismo señalizarse enviando directamente la plantilla RPS en un PPS y/o en una cabecera de segmento.
La figura 11 es un diagrama de flujo que muestra una configuración de un procedimiento 1100 para crear una indicación para eliminar por lo menos una imagen de referencia en un dispositivo electrónico 302. En algunas implementaciones conocidas, tal como la proporcionada en el documento JCTVC-F803_d5 del equipo colaborativo conjunto sobre codificación de video (JCTVC, Joint Collaborative Team on Video Coding) no está soportado indicar una operación de eliminación en un RPS señalizado anteriormente. En otras palabras, el PPS no soporte enviar una señal para eliminar un RPS enviado anteriormente.
En otra implementación conocida, tal como JCTVC-G637, se ha propuesto recortar los conjuntos de imágenes de referencia. En esta implementación, una serie de imágenes de referencia de corta duración que se omiten respecto de un RPS particular pueden ser señalizadas en el PPS para recorte. Un ejemplo donde algunas de las imágenes señalizadas en RPS no están disponibles, es el primer GOP que sigue a un punto de acceso aleatorio. Sin embargo, JCTVC-G637 solamente permite recortar imágenes negativas consecutivas.
En otra implementación conocida, tal como JCT-G198, se propone un esquema de señalización que envía un valor deltaRPS constante. Asimismo, un valor de campo (por ejemplo, 00) enviado puede señalizar que una imagen de referencia anterior no debe ser utilizada (por ejemplo, debe ser omitida).
En algunas implementaciones conocidas, se señalizan explícitamente de manera individual imágenes de referencia de larga duración (LTRP, long-term reference pictures) en cada cabecera de segmento. De este modo, cuando una LTRP no se señaliza, será eliminada. Por consiguiente, para una LTRP puede no ser necesario enviar una señal de eliminación. Sin embargo, en algunas implementaciones en las que se señaliza LTRP, el mecanismo de eliminación dado a conocer en la presente memoria puede aplicarse adicionalmente a una LTRP.
Los sistemas y procedimientos dados a conocer en la presente memoria pueden proporcionar uno o varios beneficios adicionales al permitir señalizar una operación de eliminación en un RPS señalizado anteriormente. Se pueden obtener beneficios adicionales señalizando asimismo de manera eficiente un nuevo RPS. En una configuración, un dispositivo electrónico 302 recibe opcionalmente 1102 una indicación de retroalimentación de por lo menos una imagen de referencia faltante. La retroalimentación puede proceder del mismo dispositivo electrónico, o de uno diferente. Por ejemplo, un descodificador 712 que descodifica una imagen puede descubrir una imagen de referencia faltante en un RPS y enviar retroalimentación al dispositivo electrónico 302 en relación con la imagen de referencia faltante.
En otra configuración, el 302 no recibe ninguna retroalimentación. En cambio, el dispositivo electrónico 302 puede enviar la indicación de eliminación después de que se ha señalizado una nueva imagen CRA o IDR. Por ejemplo, una imagen CRA o IDR puede desencadenar que el dispositivo electrónico envíe una indicación de eliminación para eliminar una o varias imágenes de referencia innecesarias, enumeradas en un RPS recibido anteriormente.
El dispositivo electrónico 302 puede crear 1104 una indicación para eliminar por lo menos una imagen de referencia enumerada en un RPS proporcionado anteriormente. Esta etapa se puede producir junto con la recepción de retroalimentación que indica una imagen faltante, o independientemente. El dispositivo electrónico 302 puede enviar 1106 la indicación en un flujo de bits.
Como un ejemplo, una indicación de eliminación (por ejemplo, señal de eliminación) puede ser enviada después del primer GOP posterior a un punto de acceso aleatorio. Esto se puede realizar sin la necesidad de recibir retroalimentación desde el descodificador 712. La indicación de eliminación puede ser enviada como un indicador en PPS. Por ejemplo, el valor de indicador de 1 se envía en el PPS para indicar la existencia de un campo de bits de eliminación en la cabecera de segmento. Alternativamente, el valor de indicador de 0 se envía en el PPS para indicar que no se envía un campo de bits de eliminación en la cabecera de segmento.
Adicional y/o alternativamente, la indicación de eliminación se puede enviar como un campo de bits en la cabecera de segmento para cada imagen en un RPS indicado. Por ejemplo, el campo de bits puede enviar el valor de indicación de 0 en la cabecera de segmento para indicar la eliminación de una correspondiente imagen de referencia desde el RPS indicado, o el campo de bits puede enviar el valor de indicación de 1 en la cabecera de segmento para indicar que la imagen de referencia correspondiente se debe mantener. El campo de bits se puede enviar en la cabecera de segmento para cada una de las imágenes de referencia en el RPS indicado. En otra configuración, dicho campo de bits se puede enviar en la cabecera de segmento solamente para las imágenes de referencia negativas en el RPS indicado. En algunas configuraciones, la indicación de eliminación se puede enviar tanto en el PPS como en el campo de bits.
El siguiente listado (10) proporciona un ejemplo de sintaxis que se puede utilizar en el PPS para enviar una indicación de eliminación. Las modificaciones en la sintaxis de acuerdo con los sistemas y procedimientos dados a conocer en la presente memoria están destacadas en negrita.
[Listado 10]
Figure imgf000024_0001
En el listado (10), un delete_pics_info_present_flag igual a 1 especifica que la cabecera de segmento puede señalizar una operación de eliminación respecto del conjunto de imágenes de referencia de corta duración incluido en el conjunto de parámetros de imagen. Un delete_pics_info_present_flag iguala 0 especifica que no se señaliza ninguna operación de eliminación en la cabecera de segmento para el conjunto de imágenes de referencia de corta duración incluido en el conjunto de parámetros de imagen. pic_parameter_set_id y seq_parameter_set_id se definen tal como se ha descrito anteriormente.
El siguiente listado (11) proporciona un ejemplo de sintaxis que se puede utilizar en la cabecera de segmento para enviar una indicación de eliminación. Las modificaciones en la sintaxis de acuerdo con los sistemas y procedimientos dados a conocer en la presente memoria están destacadas en negrita.
[Listado 11]
Figure imgf000025_0001
En el listado (11), ,keep_pic_flag[j]' igual a 1 especifica que la correspondiente imagen de referencia de corta duración j a-ésima del conjunto de imágenes de referencia en el conjunto de parámetros de imagen con índice de short_term_ref_pic_set_idx se debe mantener. keep_pic_flag[j] igual a 0 especifica que la correspondiente imagen de referencia de corta duración j-ésima del conjunto de imágenes de referencia en el conjunto de parámetros de imagen con índice de short_term_ref_pic_set_idx se debe eliminar (por ejemplo, omitir).
'pic_order_cnt_lsb' especifica el contador ordenado de imágenes módulo MaxPicOrderCntLsb para el campo superior de un cuadro codificado o para un campo codificado. La longitud del elemento de sintaxis pic_order_cnt_lsb es log2_max_pic_order_cnt_lsb_minus4 4 bits. El valor del pic_order_cnt_lsb deberá estar en el intervalo de 0 a MaxPicOrderCntLsb - 1, incluidos.
'MaxPicOrderCntLsb' se refiere a un máximo valor posible para ('pic_order_cnt_lsb 1'). 'log2_max_pic_order_cnt_lsb_minus4' especifica el valor del MaxPicOrderCntLsb variable que se utiliza en el proceso de descodificación para el contador ordenado de imágenes, como sigue: MaxPicOrderCntLsb = 2 (log2- max_Pic_order- cnt_isb_minus4 4) . e i valor de log2_max_pic_order_cnt_lsb_minus4 puede estar en el intervalo de 0 a 12, incluidos.
'short_term_ref_pic_set_pps_flag' igual a 1 especifica que el conjunto de imágenes de referencia de corta duración de la imagen actual se deberá crear utilizando elementos de sintaxis en el conjunto activo de parámetros de imagen. short_term_ref_pic_set_pps_flag igual a 0 especifica que el conjunto de imágenes de referencia de corta duración de la imagen actual se deberá crear utilizando elementos de sintaxis en la estructura de sintaxis short_term_ref_pic_set( ) en la cabecera de segmento.
'short_term_ref_pic_set_idx' especifica el índice a la lista de los conjuntos de imágenes de referencia de corta duración especificados en el conjunto activo de parámetros de imagen que se deberá utilizar para la creación del conjunto de imágenes de referencia de la imagen actual. El elemento de sintaxis short_term_ref_pic_set_idx deberá representarse mediante techo(log2(num_short_term_ref_pic_sets)) bits. El valor de short_term_ref_pic_set_idx deberá estar en el intervalo de 0 a num_short_term_ref_pic_sets - 1, incluidos, donde num_short_term_ref_pic_sets es el elemento de sintaxis del conjunto activo de parámetros de imagen.
La variable StRpsIdx se obtiene tal como se muestra en el siguiente listado (12).
[Listado 12]
Figure imgf000026_0001
En el listado (12), 'short_term_ref_pic_set_idx' indica un conjunto de imágenes de referencia de corta duración y 'num_short_term_ref_pic_sets' indica el número total de conjuntos de imágenes de referencia de corta duración. La figura 12 es un diagrama de flujo que muestra una configuración de un procedimiento 1200 para eliminar por lo menos una imagen de referencia en un dispositivo electrónico 702. El dispositivo electrónico 702 puede detectar opcionalmente 1202 por lo menos una imagen de referencia faltante en el RPS. Por ejemplo, el dispositivo electrónico 702 puede realizar etapas similares a las descritas anteriormente en relación con la creación de un RPS parcial, en las que se realiza una determinación sobre si una imagen de referencia está disponible. Adicional o alternativamente, el dispositivo electrónico 702 puede invocar una imagen de referencia y descubrir que esta falta o está corrupta, o puede detectar 1202 de otros modos una imagen de referencia faltante.
El dispositivo electrónico 702 puede opcionalmente enviar 1204 retroalimentación que indica dicha por lo menos una imagen de referencia faltante. Por ejemplo, para indicar una imagen faltante se puede enviar retroalimentación a través de un canal de retorno que indica el pOc faltante, el RPS o algunas otras señales.
El dispositivo electrónico 702 puede obtener 1206 una indicación para eliminar por lo menos una imagen de referencia enumerada en un RPS obtenido anteriormente. En un caso, la señal se puede obtener de un indicador en PPS y un campo de bits en la cabecera de segmento para cada imagen en el RPS. Por ejemplo, se puede señalizar delete_pics_info_present_flag y keep_pic_flag[j].
El dispositivo electrónico 702 puede eliminar 1208 dicha por lo menos una imagen de referencia en el RPS obtenido anteriormente. En algunos casos, la indicación de eliminación se puede recibir con un subsiguiente RPS que debe sustituir el RPS a eliminar. En otro caso, la indicación puede especificar eliminar un RPS recibido anteriormente que ya no se necesita para descodificar más imágenes. En otro caso más, la indicación puede ser para eliminar un RPS recibido anteriormente, de tal modo que se puede transmitir un RPS de sustitución subsiguiente. Se debe observar que las etapas de obtener 1206 una indicación para eliminar por lo menos una imagen de referencia, y de eliminar 1208 dicha por lo menos una imagen de referencia, se pueden realizar junto con las etapas anteriores de detectar 1202 una imagen faltante y de enviar 1204 retroalimentación, o independientemente de estas.
Como un ejemplo de esto, si un RPS obtenido anteriormente tenía los valores de índice de [-2, -1, 1, 3, 5], y el dispositivo electrónico 702 recibe una indicación para eliminar la segunda imagen de referencia, el conjunto de referencia obtenido anteriormente eliminaría entonces el valor de índice de RPS de -1. En otras palabras, el conjunto de referencia obtenido anteriormente pasaría a ser [-2, 1,3, 5].
La figura 13 muestra varios componentes que se pueden utilizar en un dispositivo electrónico 1302. El dispositivo electrónico 1302 se puede implementar como uno o varios de los dispositivos electrónicos (por ejemplo, dispositivos electrónicos 102, 302, 702) descritos en la presente memoria.
El dispositivo electrónico 1302 incluye un procesador 1317 que controla el funcionamiento del dispositivo electrónico 1302. El procesador 1317 se puede denominar asimismo una CPU. Una memoria 1311, que puede incluir memoria de sólo lectura (ROM, read-only memory), memoria de acceso aleatorio (RAM, random access memory) o cualquier tipo de dispositivo que pueda almacenar información, proporciona instrucciones 1313a (por ejemplo, instrucciones ejecutables) y datos 1315a al procesador 1317. Una parte de la memoria 1311 puede incluir asimismo memoria de acceso aleatorio no volátil (NVRAM, non-volatile random access memory). La memoria 1311 puede estar en comunicación electrónica con el procesador 1317.
Las instrucciones 1313b y los datos 1315b pueden residir asimismo en el procesador 1317. Las instrucciones 1313b y/o los datos 1315b cargados en el procesador 1317 pueden asimismo incluir instrucciones 1313a y/o datos 1315a procedentes de la memoria 1311 que fueron cargados para su ejecución o procesamiento por el procesador 1317. Las instrucciones 1313b pueden ser ejecutadas por el procesador 1317 para implementar los sistemas y procedimientos dados a conocer en la presente memoria.
El dispositivo electrónico 1302 puede incluir una o varias interfaces de comunicación 1319 para comunicar con otras dispositivos electrónicos. Las interfaces de comunicación 1319 pueden estar basadas en tecnología de comunicación cableada, tecnología de comunicación inalámbrica o ambas. Ejemplos de la interfaz de comunicación 1319 incluyen un puerto serie, un puerto paralelo, un bus serie universal (USB, Universal Serial Bus), un adaptador Ethernet, una interfaz de bus IEEE 1394, una interfaz de bus de sistemas informáticos pequeños (SCSI, small computer system interface), un puerto de comunicación de infrarrojos (IR), un adaptador de comunicación inalámbrica Bluetooth, un transceptor inalámbrico acorde con especificaciones del proyecto de asociación de tercera generación (3GPP), y similares.
El dispositivo electrónico 1302 puede incluir uno o varios dispositivos de salida 1323 y uno o varios dispositivos de entrada 1321. Ejemplos de dispositivos de salida 1323 incluyen un altavoz, una impresora, etc. Un tipo de dispositivo de salida que puede estar incluido en un dispositivo electrónico 1302 es un dispositivo de visualización 1325. Los dispositivos de visualización 1325 utilizados con configuraciones dadas a conocer en la presente memoria pueden utilizar cualquier tecnología adecuada de proyección de imágenes, tal como un tubo de rayos catódicos (CRT, cathode ray tube), una pantalla de cristal líquido (LCD, liquid crystal display), un diodo emisor de luz (LED, lightemitting diode), plasma, electroluminiscencia o similares. Puede estar dispuesto un controlador de visualización 1327 para convertir datos almacenados en la memoria 1311 en texto, gráficos y/o imágenes en movimiento (según proceda) mostradas en el visualizador 1325. Ejemplos de dispositivos de entrada 1321 incluyen un teclado, un ratón, un micrófono, un dispositivo de control remoto, un botón, una palanca de mando, una bola de seguimiento, un panel táctil, una pantalla táctil, un lápiz óptico, etc.
Los diversos componentes del dispositivo electrónico 1302 están acoplados entre sí mediante un sistema de bus 1329, que puede incluir un bus de alimentación, un bus de señal de control y un bus de señal de estado, además de un bus de datos. Sin embargo, para mayor claridad, los diversos buses se muestran en la figura 13 como el sistema de bus 1329. El dispositivo electrónico 1302 mostrado en la figura 13 es un diagrama de bloques funcional en lugar de un listado de componentes específicos.
La figura 14 es un diagrama de flujo que muestra una configuración de un procedimiento 1400 para descodificar una imagen en un dispositivo electrónico 702. El dispositivo electrónico 702 puede obtener 1402 un flujo de bits 714. Por ejemplo, el flujo de bits 714 se puede obtener desde el dispositivo electrónico 702 (de la memoria, por ejemplo), o puede ser recibido desde otro dispositivo electrónico.
El dispositivo electrónico 702 puede obtener 1404 una imagen actual. Por ejemplo, el dispositivo electrónico 702 puede obtener 1404 una imagen actual incorporada en el flujo de bits 714.
El dispositivo electrónico 702 puede obtener 1406 un parámetro de RPS relativo. Por ejemplo, el RPS relativo se puede señalizar en el PPS. Por consiguiente, el parámetro de RPS relativo se puede obtener del PPS. En algunas configuraciones, el parámetro de RPS relativo puede ser un parámetro de RPS relativo negativo. En otras configuraciones, el parámetro de RPS relativo puede ser un parámetro de RPS relativo positivo. En algunas configuraciones, el parámetro de RPS negativo relativo puede ser un valor de índice de RPS negativo. Por ejemplo, un valor de índice de RPS negativo puede ser relativo a la imagen actual obtenida. En otras palabras, el valor de índice de RPS relativo se puede referir a la localización de una imagen de referencia con respecto a la posición de índice de la imagen actual.
Aunque algunos ejemplos y configuraciones se refieren al parámetro de RPS relativo como un parámetro de RPS negativo, se debe apreciar que puede utilizarse un parámetro positivo de manera respectiva. En otras palabras, aunque en la presente memoria se proporcionan ejemplos relativos a un parámetro de RPS relativo negativo, se pueden utilizar ejemplos similares utilizando un parámetro de RPS relativo positivo. Análogamente, otros ejemplos para connotación positiva o negativa, en muchos casos, se pueden invertir.
El dispositivo electrónico 702 puede inicializar 1408 un valor de índice. En algunas configuraciones, el dispositivo electrónico 702 puede inicializar de valor de índice a 0. En otras configuraciones, el dispositivo electrónico 702 puede inicializar el valor de índice en base a un parámetro obtenido
El dispositivo electrónico 702 puede procesar 1410 otro parámetro de RPS en base al valor de índice. En algunas configuraciones, el otro parámetro de RPS puede ser un parámetro de RPS positivo. En otras configuraciones, el otro parámetro RPS puede ser un parámetro de RPS negativo. En algunas configuraciones, el otro parámetro RPS puede ser un valor de índice de RPS positivo. Por ejemplo, el siguiente listado (13) muestra un enfoque para el procesamiento de un parámetro de RPS positivo en base al valor de índice.
[Listado 13]
Figure imgf000028_0001
En el listado (13), valúe = read() representa lectura de información del flujo de bits. En algunas configuraciones, el valor de índice puede ser "prev" tal como se muestra en el listado (13). En algunas configuraciones, el valor de índice puede ser RPS_deltaPoc. Además, en algunas configuraciones, el valor de índice se puede inicializar a 0. En otras configuraciones, el valor de índice se puede inicializar al mínimo valor absoluto del valor de índice de RPS negativo. En otras configuraciones más, el valor de índice se puede inicializar al negativo del valor mínimo del valor de índice de RPS positivo (por ejemplo, el mínimo valor de índice de RPS positivo veces -1). En algunas configuraciones o casos, el valor de índice se puede inicializar a un valor distinto de cero.
De manera similar al parámetro de RPS relativo, cabe señalar que el otro parámetro de RPS puede ser positivo o negativo. En otras palabras, aunque en la presente memoria se han proporcionado ejemplos relativos a un parámetro de RPS positivo, se pueden utilizar ejemplos similares que utilizan un parámetro de RPS negativo. Por consiguiente, el parámetro de RPS relativo puede ser negativo mientras que el otro parámetro de RPS es positivo, en algunas configuraciones. Alternativamente, el parámetro de RPS relativo puede ser positivo mientras que el otro parámetro de RPS es negativo, en algunas configuraciones. En general, el parámetro de RPS relativo y el otro parámetro de RPS pueden tener signos diferentes (por ejemplo, negativo o positivo).
El dispositivo electrónico 702 puede descodificar 1412 la imagen actual. Esto se puede realizar, por ejemplo, en un descodificador 712. El codificador 712 puede ser un descodificador 712 de tipo HEVC.
La figura 15 es un diagrama de flujo que muestra una configuración más específica de un procedimiento 1500 para descodificar una imagen en un dispositivo electrónico. En una configuración, el dispositivo electrónico 702 puede obtener 1502 un flujo de bits, obtener 1504 una imagen actual y obtener 1506 un parámetro de RPS relativo, tal como se ha explicado anteriormente en relación con la figura 14.
El dispositivo electrónico 702 puede inicializar 1508 un valor de índice en base al parámetro de RPS relativo. Por ejemplo, el listado (14) muestra un ejemplo de sintaxis para inicializar 1508 un valor de índice en base a un parámetro de RPS negativo relativo. Las modificaciones en la sintaxis de acuerdo con los sistemas y procedimientos dados a conocer en la presente memoria están destacadas en negrita. En algunas configuraciones, los enfoques explicados en relación con el listado (14) pueden corresponder a los enfoques en relación con el listado (4) explicados anteriormente.
[Listado 14]
Figure imgf000029_0001
En algunas configuraciones, el valor de índice puede ser "prev" en el listado (14), que puede representar un valor de índice anterior. En este caso, prev se puede inicializar en base al mínimo valor absoluto del RPS_deltaPOC negativo. 'RPS_deltaPOC' se refiere a los valores de índice de RPS.
Por ejemplo, supóngase que un RPS con índice de referencia de [-2,-4, 2] se obtiene mediante el dispositivo electrónico 702. Sin embargo, debido a una codificación tal como en el enfoque explicado en relación con la figura 4, por ejemplo, el primer índice de RPS positivo recibido en el dispositivo electrónico 702 puede tener un valor de 0. Los valores de índice de RPS negativos son procesados para generar uno o varios parámetros de RPS negativo relativo. En este caso, se obtiene -2 como el parámetro de RPS negativo relativo.
Siguiendo con este ejemplo, el valor de índice se inicializa 1508 en base al parámetro de RPS negativo relativo. El listado (14) muestra que prev se puede inicializar en base al parámetro de RPS negativo relativo. En este caso, prev se inicializa basándose en el parámetro de RPS negativo relativo -2. En algunos casos, el parámetro de RPS negativo relativo puede ser el mínimo valor absoluto tomado del conjunto de valores de índice de RPS negativos para una imagen actual. Por lo tanto, prev se inicializa al mínimo valor absoluto tomado del conjunto de valores de índice de RPS negativos menos 1. En otras palabras, prev = 1 (por ejemplo, |-2| - 1).
El dispositivo electrónico 702 puede procesar 1510 otro parámetro de RPS en base al valor de índice. Por ejemplo, volviendo al ejemplo anterior, el dispositivo electrónico 702 puede procesar 1510 otro parámetro de RPS en base a prev = 1. En un caso, procesar el parámetro de RPS positivo puede involucrar utilizar RPS_deltaPoc(k) = valor 1 prev. En este caso, RPS_deltaPoc(k) sería igual a un valor (por ejemplo, valor relativo de 0) más 1 más prev (1). En otras palabras, RPS_deltaPoc(k) = 2. Por tanto, en este ejemplo, el parámetro de RPS positivo generado es 2. Adicionalmente, los valores de índice de RPS generados para la imagen actual son [-2, -4, 2].
Una vez se han obtenido los valores de índice de RPS, el dispositivo electrónico 702 puede descodificar 1512 la imagen actual. Por ejemplo, la imagen actual puede utilizar los valores de índice de RPS generados, para descodificación.
En otro ejemplo, se supone que el RPS tiene valores de índice de [-4, -6, 4]. En este caso, -4 se obtendría como el parámetro de RPS relativo negativo. El valor de índice se puede inicializar a 3, o al mínimo valor absoluto del valor de índice de RPS negativo menos 1. En otras palabras, prev = |-4| - 1 = 3. Procesar un valor de parámetro de RPS positivo tendría como resultado un valor de índice de RPS de 4. Por lo tanto, en este ejemplo, el conjunto de valores de índice de RPS sería [-4, -6, 4].
La figura 16 es un diagrama de flujo que muestra otra configuración más específica de un procedimiento 1600 para descodificar una imagen en un dispositivo electrónico 702. El dispositivo electrónico 702 puede obtener 1602 un flujo de bits, obtener 1604 una imagen actual y obtener 1606 un parámetro de RPS relativo, tal como se ha explicado anteriormente en relación con la figura 14.
El dispositivo electrónico 702 puede obtener 1608 un indicador simétrico. En algunas configuraciones, el indicador simétrico puede ser igual, o similar al indicador simétrico explicado anteriormente. Por ejemplo, el indicador simétrico puede indicar que el parámetro de RPS negativo relativo corresponde al parámetro de RPS positivo. Por ejemplo, dado un conjunto de valores de índice de RPS [-2, -6, 2, 4], el indicador simétrico puede indicar que el valor de índice de -2 corresponde al valor de índice de 2.
Adicionalmente, el symmetric_flag se puede enviar en un flujo de bits 714 para indicar si el primer valor de índice de RPS positivo se puede inicializar con un valor de índice de RPS negativo. Por ejemplo, el indicador simétrico puede indicar que el valor de índice se debe inicializar al mínimo valor absoluto de los valores de RPS_deltaPoc negativos. Alternativamente, el indicador de simetría puede indicar no inicializar el valor de índice al mínimo valor absoluto de los valores de RPS_deltaPoc negativos. En este caso, el valor de índice se puede inicializar a cero.
El dispositivo electrónico 702 puede inicializar 1610 un valor de índice en base al parámetro de RPS negativo relativo y al indicador simétrico. Como un ejemplo, el siguiente listado (15) muestra un enfoque de inicialización 1610 de un valor de índice en base a un parámetro de RPS negativo relativo y al indicador simétrico. Las modificaciones en la sintaxis de acuerdo con los sistemas y procedimientos dados a conocer en la presente memoria están destacadas en negrita.
[Listado 15]
Figure imgf000031_0001
En una configuración del listado (15), RPS_deltaPOC (num_negative_pics - 1) almacena los valores de índice de RPS negativos. RPS_deltaPOC(num_negative_pics) a RPS_deltaPOC(num_negative_pics num_positive_pics - 1) almacenan los valores de índice de RPS positivo. En este caso, el RPS_deltaPoc(num_negative_pics) anterior almacena el primer valor de índice de RPS positivo. En otras palabras, el RPS_deltaPoc(num_negative_pics) se refiere al primer valor de índice de RPS positivo. En primer lugar, el dispositivo electrónico 702 verifica que existe por lo menos un valor de índice de RPS positivo. A continuación, el dispositivo electrónico 702 determina si existe un indicador simétrico y si el indicador está ajustado a verdadero. Si existe un indicador simétrico ajustado a verdadero, el dispositivo electrónico 702 inicializa 1610 un valor de índice en base al parámetro de RPS negativo relativo. Por lo tanto, la inicialización del valor de índice se basa tanto en el parámetro de RPS negativo relativo como en el indicador simétrico. En esta configuración, el valor de índice del RPS_deltaPoc(num_negative_pics) se inicializa al mínimo valor absoluto de RPS_deltaPoc negativo. Por ejemplo, en el caso de valores de índice de RPS [-8, -4, 4, 6], el primer valor de índice de RPS positivo se puede inicializar a 4, o al mínimo valor absoluto de los RPS_deltaPoc negativos.
El dispositivo electrónico 702 puede procesar 1612 otro u otros parámetros de RPS en base al valor de índice. Por ejemplo, con un valor de índice positivo de 4, el dispositivo electrónico 702 puede ser capaz de generar el segundo valor de índice de RPS positivo de 6 en el ejemplo anterior. Además, el dispositivo electrónico 702 puede omitir el procesamiento de por lo menos uno de los otros parámetros de RPS cuando el valor de índice está inicializado. En otras palabras, cuando el primer valor de índice de RPS positivo está inicializado, el procesamiento de los valores de índice de RPS positivo salta al segundo valor de índice de RPS positivo. Por ejemplo, en el ejemplo anterior, cuando el primer valor de índice de RPS positivo está inicializado a 4, el proceso salta al segundo valor de índice de RPS positivo para generar un valor de 6. Por lo tanto, en este ejemplo, se obtiene el conjunto de valores de índice de RPS [-8, -4, 4, 6].
En algunos casos, cuando existe solamente un valor de índice de RPS positivo, se puede omitir el procesamiento del valor de índice de RPS positivo tras la inicialización del valor de índice. Por ejemplo, para valores de índice [-4, -8, 4], el dispositivo electrónico 702 puede recibir los valores de índice de RPS [-4, -8] y derivar los valores de índice de referencia de [-4, -8, 4] para la imagen actual que está siendo descodificada. Por lo tanto, omitiendo el procesamiento de la primera imagen de referencia positiva en cada RPS para cada imagen actual, se puede reducir el tiempo de procesamiento.
Una vez se han obtenido los valores de índice de RPS, el dispositivo electrónico 702 puede descodificar 1614 la imagen actual. Por ejemplo, la imagen actual puede utilizar los valores de índice de RPS procesados, para descodificación.
En otro ejemplo, para los valores de índice de RPS [-2, -4, 2, 6], si el symmetric_flag es verdadero, para los valores de RPS_deltaPOC positivos, el primero tiene que ser igual a 2, tal como se obtiene a partir de los valores de índice de RPS negativos. Se pueden asimismo generar otros valores de índice de RPS positivo a partir del valor de índice inicializado. Por ejemplo, el procesamiento de los valores de índice de RPS positivo puede comenzar a partir del segundo valor de índice de RPS positivo (por ejemplo, 6) y se puede basar en el valor de índice inicializado de 2. La expresión "medio legible por ordenador" se refiere a cualquier medio disponible al que pueda tener acceso un ordenador o procesador. La expresión "medio legible por ordenador", tal como se utiliza en la presente memoria, puede indicar un medio legible por ordenador y/o procesador que es no transitorio y tangible. A modo de ejemplo, y no de limitación, un medio legible por ordenador o legible por procesador puede comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento de disco óptico, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda utilizar para transportar o almacenar código de programa deseado, en forma de instrucciones o de estructuras de datos, y al que se pueda acceder mediante un ordenador o procesador. Disco, tal como se utiliza en la presente memoria, incluye un disco compacto (CD, compact disc), un disco láser, un disco óptico, un disco versátil digital (DVD, digital versatile disc), un disco flexible y un disco Blu-ray (marca registrada), donde los discos reproducen normalmente datos de forma magnética, o reproducen datos de forma óptica con láseres.
Se debe observar que uno o varios de los procedimientos descritos en la presente memoria se pueden implementar en hardware y/o llevarse a cabo utilizando hardware. Por ejemplo, uno o varios de los procedimientos o enfoques descritos en la presente memoria se pueden implementar y/o realizar utilizando un conjunto de chips, un ASIC, circuito integrado a gran escala (LSI, large-scale integrated circuit) o un circuito integrado, etc.
Cada uno de los procedimientos dados a conocer en la presente memoria comprende una o varias etapas o acciones para conseguir el procedimiento descrito. Las etapas y/o acciones del procedimiento se pueden intercambiar entre sí y/o combinarse en una única etapa, sin apartarse del alcance de las reivindicaciones. En otras palabras, salvo que se requiera un orden específico de etapas o acciones para un funcionamiento adecuado del procedimiento que se está describiendo, el orden y/o la utilización de etapas y/o acciones específicas se puede modificar sin apartarse del alcance de las reivindicaciones.
Se debe entender que las reivindicaciones no se limitan a la configuración y los componentes precisos mostrados anteriormente. Se pueden realizar varias modificaciones, cambios y variaciones en la organización, el funcionamiento y los detalles de los procedimientos y aparatos descritos en la presente memoria, sin apartarse del alcance de las reivindicaciones.

Claims (5)

REIVINDICACIONES
1. Un procedimiento para descodificar un flujo de bits de video, que comprende:
identificar un conjunto de imágenes de referencia, RPS, desde dicho flujo de bits; y
descodificar dicho flujo de bits de video utilizando inter-predicción con dicho conjunto de imágenes de referencia; en el que el procedimiento está caracterizado por
recibir una indicación solamente para imágenes de referencia negativas del conjunto de imágenes de referencia de una imagen actual después de que se ha recibido una nueva imagen de acceso aleatorio limpio, CRA, o de actualización instantánea de la descodificación, IDR, en que la indicación se recibe en una cabecera de segmento y comprende un campo de bits para cada imagen de referencia negativa, que indica para la respectiva imagen de referencia negativa si esta se debe o no mantener para la descodificación de imágenes subsiguientes en un orden de descodificación, donde la imagen de referencia negativa tiene un contador ordenado de imágenes menor que el de la imagen actual; y
descodificar las imágenes subsiguientes en un orden de descodificación utilizando inter-predicción con las imágenes de referencia mantenidas.
2. El procedimiento según la reivindicación 1, en el que identificar dicho conjunto de imágenes de referencia se basa en la cabecera de segmento obtenida de dicho flujo de bits.
3. Un procedimiento para codificar un flujo de bits de video, que comprende:
generar un conjunto de imágenes de referencia, RPS;
codificar un bloque de una imagen utilizando inter-predicción con dicho conjunto de imágenes de referencia; enviar dicho conjunto de imágenes de referencia a dicho flujo de bits, en el que el procedimiento está caracterizado por enviar una indicación solamente para imágenes de referencia negativas del conjunto de imágenes de referencia de una imagen actual después de que se ha enviado una nueva imagen de acceso aleatorio limpio, CRA, o de actualización instantánea de la descodificación, IDR, en el que la indicación es enviada en una cabecera de segmento y comprende un campo de bits para cada imagen de referencia negativa que indica para la imagen de referencia negativa si esta debe o no mantenerse para descodificar imágenes subsiguientes en un orden de descodificación, donde la imagen de referencia negativa tiene un contador ordenado de imágenes menor que el de la imagen actual;
codificar un bloque de las imágenes subsiguientes utilizando inter-predicción con dichas imágenes de referencia mantenidas;
y
enviar dichos datos codificados a dicho flujo de bits de video.
4. El procedimiento según la reivindicación 3, en el que se envía dicho conjunto de imágenes de referencia en la cabecera de segmento.
5. Un dispositivo electrónico configurado para realizar cualquiera de los procedimientos según cualquiera de las reivindicaciones anteriores.
ES13738630T 2012-01-19 2013-01-21 Reducción de la sobrecarga de señal de conjunto de imágenes de referencia y señalización para mantener o no las imágenes de referencia Active ES2731755T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/354,277 US8693793B2 (en) 2012-01-19 2012-01-19 Reducing reference picture set signal overhead on an electronic device
US13/355,472 US8867852B2 (en) 2012-01-19 2012-01-20 Decoding a picture based on a reference picture set on an electronic device
PCT/JP2013/000261 WO2013108641A1 (en) 2012-01-19 2013-01-21 Reducing reference picture set signal overhead on an electronic device

Publications (1)

Publication Number Publication Date
ES2731755T3 true ES2731755T3 (es) 2019-11-18

Family

ID=48797261

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13738630T Active ES2731755T3 (es) 2012-01-19 2013-01-21 Reducción de la sobrecarga de señal de conjunto de imágenes de referencia y señalización para mantener o no las imágenes de referencia

Country Status (6)

Country Link
US (5) US8867852B2 (es)
EP (1) EP2805508B1 (es)
JP (1) JP6073892B2 (es)
CN (1) CN104081776B (es)
ES (1) ES2731755T3 (es)
WO (1) WO2013108641A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2732626A1 (en) * 2011-07-15 2014-05-21 Telefonaktiebolaget L M Ericsson (PUBL) An encoder and method thereof for assigning a lowest layer identity to clean random access pictures
US8867852B2 (en) * 2012-01-19 2014-10-21 Sharp Kabushiki Kaisha Decoding a picture based on a reference picture set on an electronic device
JP6030749B2 (ja) 2012-04-16 2016-11-24 サムスン エレクトロニクス カンパニー リミテッド 復号化方法及び復号化装置
US10136144B2 (en) * 2012-05-21 2018-11-20 Mediatek Singapore Pte. Ltd. Method and apparatus of inter-layer filtering for scalable video coding
JP6182719B2 (ja) * 2012-06-29 2017-08-23 ヴェロス メディア インターナショナル リミテッドVelos Media International Limited 符号化装置および符号化方法
WO2014003682A1 (en) * 2012-06-29 2014-01-03 Telefonaktiebolaget L M Ericsson (Publ) Encoding and decoding video sequences comprising reference picture sets
EP2982119A4 (en) * 2013-04-05 2016-09-28 Huawei Tech Co Ltd SIGNALING AND RESTRICTING A SET OF REFERENCE IMAGES ON AN ELECTRONIC DEVICE
GB2531271A (en) * 2014-10-14 2016-04-20 Nokia Technologies Oy An apparatus, a method and a computer program for image sequence coding and decoding
FR3030080A1 (fr) * 2014-12-11 2016-06-17 Orange Procede et dispositif d'utilisation de contenus d'une bibliotheque de contenus
EP3254462A1 (en) * 2015-02-05 2017-12-13 Cisco Technology, Inc. Method and system for processing hevc coded video in broadcast and streaming applications
CN107113422B (zh) 2015-11-06 2020-08-25 微软技术许可有限责任公司 一种用于视频编码和解码的参考图片管理的计算机系统
CN114501018B (zh) 2018-08-17 2024-01-09 华为技术有限公司 参考图像管理的解码方法、设备和系统
US12022059B2 (en) * 2018-12-07 2024-06-25 Beijing Dajia Internet Information Technology Co., Ltd. Video coding using multi-resolution reference picture management
CN113228666B (zh) 2018-12-31 2022-12-30 华为技术有限公司 支持视频编解码中的自适应分辨率改变
WO2024080917A1 (en) * 2022-10-13 2024-04-18 Telefonaktiebolaget Lm Ericsson (Publ) Quantization parameter (qp) coding for video compression

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10191356A (ja) 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd 画像符号化装置
JP3373130B2 (ja) * 1997-03-24 2003-02-04 沖電気工業株式会社 画像復号化装置
JP2000013790A (ja) 1998-06-19 2000-01-14 Sony Corp 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体
JP3606306B2 (ja) 1998-10-08 2005-01-05 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
JP3411234B2 (ja) 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
JP2001169281A (ja) 1999-12-13 2001-06-22 Matsushita Electric Ind Co Ltd 動画像符号化装置、および動画像符号化方法
JP3613514B2 (ja) 2000-06-12 2005-01-26 三菱電機株式会社 ディジタル画像データ出力装置及びディジタル画像データ出力方法
AU2003281133A1 (en) 2002-07-15 2004-02-02 Hitachi, Ltd. Moving picture encoding method and decoding method
JP4002878B2 (ja) * 2003-01-17 2007-11-07 松下電器産業株式会社 画像符号化方法
CN1875637A (zh) 2003-08-26 2006-12-06 汤姆森特许公司 最小化用于相互编码的参考画面数目的方法和装置
EP2184919A3 (en) 2004-04-28 2010-07-28 Panasonic Corporation Stream generation apparatus, stream generation method, coding apparatus, coding method, recording medium and program thereof
US7903737B2 (en) 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
JP2007180981A (ja) 2005-12-28 2007-07-12 Victor Co Of Japan Ltd 画像符号化装置、画像符号化方法、及び画像符号化プログラム
KR100934674B1 (ko) 2006-03-30 2009-12-31 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
US8532178B2 (en) 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
CN101137065A (zh) 2006-09-01 2008-03-05 华为技术有限公司 图像编码方法、解码方法、编码器、解码器、编解码方法及编解码器
CA2666452C (en) * 2006-10-16 2014-12-16 Nokia Corporation System and method for implementing efficient decoded buffer management in multi-view video coding
US20100027615A1 (en) * 2006-10-24 2010-02-04 Purvin Bibhas Pandit Picture identification for multi-view video coding
CA2674710C (en) 2007-01-09 2016-02-23 Vidyo, Inc. Improved systems and methods for error resilience in video communication systems
CN100571401C (zh) * 2007-01-09 2009-12-16 华为技术有限公司 确定参考帧的方法及其装置
JP5023739B2 (ja) 2007-02-28 2012-09-12 ソニー株式会社 画像情報符号化装置及び符号化方法
US8363721B2 (en) 2009-03-26 2013-01-29 Cisco Technology, Inc. Reference picture prediction for video coding
EP2630799A4 (en) * 2010-10-20 2014-07-02 Nokia Corp METHOD AND DEVICE FOR VIDEO CODING AND DECODING
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US8805098B2 (en) 2012-01-19 2014-08-12 Sharp Laboratories Of America, Inc. Inter reference picture set signaling and prediction on an electronic device
US8867852B2 (en) 2012-01-19 2014-10-21 Sharp Kabushiki Kaisha Decoding a picture based on a reference picture set on an electronic device
US9210430B2 (en) * 2012-01-19 2015-12-08 Sharp Kabushiki Kaisha Reference picture set signaling and restriction on an electronic device
US9369710B2 (en) 2012-02-06 2016-06-14 Qualcomm Incorporated Reference picture list modification for video coding
US20130272372A1 (en) 2012-04-16 2013-10-17 Nokia Corporation Method and apparatus for video coding
US9584825B2 (en) 2012-09-27 2017-02-28 Qualcomm Incorporated Long-term reference picture signaling in video coding
US20140218473A1 (en) 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding

Also Published As

Publication number Publication date
EP2805508B1 (en) 2019-04-24
US20170127075A1 (en) 2017-05-04
WO2013108641A1 (en) 2013-07-25
US20150003527A1 (en) 2015-01-01
US10116953B2 (en) 2018-10-30
CN104081776B (zh) 2017-12-05
JP6073892B2 (ja) 2017-02-01
US8867852B2 (en) 2014-10-21
US20150010058A1 (en) 2015-01-08
JP2015507853A (ja) 2015-03-12
CN104081776A (zh) 2014-10-01
US9560360B2 (en) 2017-01-31
US10129555B2 (en) 2018-11-13
US20130188882A1 (en) 2013-07-25
EP2805508A4 (en) 2015-08-05
US20170094270A1 (en) 2017-03-30
US9538186B2 (en) 2017-01-03
EP2805508A1 (en) 2014-11-26

Similar Documents

Publication Publication Date Title
ES2731755T3 (es) Reducción de la sobrecarga de señal de conjunto de imágenes de referencia y señalización para mantener o no las imágenes de referencia
ES2776147T3 (es) Construcción de lista de imágenes de referencia para codificación de video
ES2869854T3 (es) Unificar copia intrabloque e interpredicción
US9210430B2 (en) Reference picture set signaling and restriction on an electronic device
KR101632816B1 (ko) 장기 참조 프레임들을 식별하는 화상 순서 카운트 값들의 코딩
DK2941888T3 (en) SIGNALIZING PICTURE ORDER FOR TIMING INFORMATION RELATIONSHIPS FOR VIDEO TIMING IN VIDEO CODING
US8693793B2 (en) Reducing reference picture set signal overhead on an electronic device
KR20190055109A (ko) 비디오 코딩을 위한 적응적 모션 벡터 정밀도
TWI558179B (zh) 對視訊寫碼發信長期參考圖像
US20130089134A1 (en) Efficient signaling of reference picture sets
US20120230409A1 (en) Decoded picture buffer management
ES2696723T3 (es) Diseño del valor de POC para codificación de vídeo multicapa
US8805098B2 (en) Inter reference picture set signaling and prediction on an electronic device
BR112015025639B1 (pt) Alinhamento poc de camada cruzada para fluxos de bits de várias camadas que podem incluir imagens irap não alinhadas
TW201408076A (zh) 在視訊寫碼中用於量化轉換係數之正負號隱藏技術
BR112021008016A2 (pt) codificador, decodificador e métodos correspondentes para modo de fusão
JP6192734B2 (ja) 電子デバイスにおける参照ピクチャセットのシグナリングおよび制限
BR112014031749B1 (pt) Acesso randômico e sinalização de imagens de referência de longo termo em codificação de vídeo